From 1409bad40b0655b4d6dfd4224eb6c5b4b73e6b86 Mon Sep 17 00:00:00 2001 From: Pima Date: Sat, 3 Oct 2026 17:42:33 +0200 Subject: [PATCH] Fixed DMA and INT bugs - Fixed indexed task notifications for INT and DMAf for both sensors - Fixed the INT debugger startup freeze (added != NULL check in callbacks) - Fixed DMA notifications not being read properly/too early - Changed IMU INT configure/enable function as one - Added proper DMA checking in IMU calibration --- Core/Inc/FreeRTOSConfig.h | 5 + Core/Src/app_freertos.c | 14 + Core/Src/main.c | 120 +- Core/Src/sensors.c | 216 +- Core/Src/sensors.h | 16 +- Core/Src/stm32wbxx_hal_msp.c | 6 +- Debug/Core/Src/app_debug.o | Bin 1300060 -> 1300208 bytes Debug/Core/Src/app_entry.o | Bin 1379844 -> 1379988 bytes Debug/Core/Src/app_freertos.cyclo | 1 + Debug/Core/Src/app_freertos.d | 2 + Debug/Core/Src/app_freertos.o | Bin 1300656 -> 1302596 bytes Debug/Core/Src/app_freertos.su | 1 + Debug/Core/Src/freertos_port.d | 2 + Debug/Core/Src/freertos_port.o | Bin 1303468 -> 1304432 bytes Debug/Core/Src/hw_timerserver.o | Bin 1295840 -> 1295988 bytes Debug/Core/Src/main.cyclo | 36 +- Debug/Core/Src/main.d | 2 + Debug/Core/Src/main.o | Bin 1375480 -> 1376700 bytes Debug/Core/Src/main.su | 36 +- Debug/Core/Src/sensors.cyclo | 35 +- Debug/Core/Src/sensors.d | 2 + Debug/Core/Src/sensors.o | Bin 1347580 -> 1347924 bytes Debug/Core/Src/sensors.su | 33 +- Debug/Core/Src/stm32_lpm_if.o | Bin 1257876 -> 1258024 bytes Debug/Core/Src/stm32wbxx_hal_msp.cyclo | 21 +- Debug/Core/Src/stm32wbxx_hal_msp.o | Bin 1302132 -> 1303200 bytes Debug/Core/Src/stm32wbxx_hal_msp.su | 21 +- Debug/Core/Src/stm32wbxx_it.o | Bin 1291316 -> 1291460 bytes .../ST/STM32_WPAN/ble/svc/Src/svc_ctl.o | Bin 1339528 -> 1339672 bytes .../interface/patterns/ble_thread/tl/hci_tl.o | Bin 1316912 -> 1317060 bytes .../patterns/ble_thread/tl/tl_mbox.o | Bin 1296788 -> 1296932 bytes .../ST/STM32_WPAN/utilities/dbg_trace.o | Bin 1275948 -> 1276096 bytes .../Middlewares/ST/STM32_WPAN/utilities/otp.o | Bin 1273440 -> 1273584 bytes .../ST/STM32_WPAN/utilities/stm_list.o | Bin 1281956 -> 1282104 bytes .../ST/STM32_WPAN/utilities/stm_queue.o | Bin 1281576 -> 1281724 bytes .../Source/CMSIS_RTOS_V2/cmsis_os2.cyclo | 1 + .../FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.d | 2 + .../FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o | Bin 1343712 -> 1348456 bytes .../Source/CMSIS_RTOS_V2/cmsis_os2.su | 1 + .../Third_Party/FreeRTOS/Source/croutine.d | 2 + .../Third_Party/FreeRTOS/Source/croutine.o | Bin 63016 -> 84612 bytes .../FreeRTOS/Source/event_groups.d | 2 + .../FreeRTOS/Source/event_groups.o | Bin 101760 -> 103080 bytes .../Third_Party/FreeRTOS/Source/list.d | 2 + .../Third_Party/FreeRTOS/Source/list.o | Bin 80716 -> 82036 bytes .../Source/portable/GCC/ARM_CM4F/port.d | 2 + .../Source/portable/GCC/ARM_CM4F/port.o | Bin 73224 -> 94824 bytes .../FreeRTOS/Source/portable/MemMang/heap_4.d | 2 + .../FreeRTOS/Source/portable/MemMang/heap_4.o | Bin 94744 -> 95708 bytes .../Third_Party/FreeRTOS/Source/queue.d | 2 + .../Third_Party/FreeRTOS/Source/queue.o | Bin 127764 -> 128732 bytes .../FreeRTOS/Source/stream_buffer.d | 2 + .../FreeRTOS/Source/stream_buffer.o | Bin 111172 -> 112136 bytes .../Third_Party/FreeRTOS/Source/tasks.cyclo | 2 +- .../Third_Party/FreeRTOS/Source/tasks.d | 2 + .../Third_Party/FreeRTOS/Source/tasks.o | Bin 152312 -> 157684 bytes .../Third_Party/FreeRTOS/Source/tasks.su | 2 +- .../Third_Party/FreeRTOS/Source/timers.d | 2 + .../Third_Party/FreeRTOS/Source/timers.o | Bin 115848 -> 120432 bytes Debug/STM32_WPAN/Target/hw_ipcc.o | Bin 1300604 -> 1300748 bytes Debug/Trinity_Devboard_V2.elf | Bin 2129720 -> 2146144 bytes Debug/Trinity_Devboard_V2.list | 98658 ++++++++-------- Debug/Trinity_Devboard_V2.map | 5004 +- Debug/USB_Device/Target/usbd_conf.o | Bin 1314572 -> 1314720 bytes Debug/Utilities/lpm/tiny_lpm/stm32_lpm.o | Bin 1271580 -> 1271724 bytes Trinity_Devboard_V2.ioc | 29 +- USB_Device/Target/usbd_conf.c | 2 +- 67 files changed, 52921 insertions(+), 51367 deletions(-) diff --git a/Core/Inc/FreeRTOSConfig.h b/Core/Inc/FreeRTOSConfig.h index feb395c..2a00937 100644 --- a/Core/Inc/FreeRTOSConfig.h +++ b/Core/Inc/FreeRTOSConfig.h @@ -76,6 +76,7 @@ extern uint32_t SystemCoreClock; #define configUSE_16_BIT_TICKS 0 #define configUSE_MUTEXES 1 #define configQUEUE_REGISTRY_SIZE 8 +#define configCHECK_FOR_STACK_OVERFLOW 2 #define configUSE_RECURSIVE_MUTEXES 1 #define configUSE_COUNTING_SEMAPHORES 1 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 @@ -95,6 +96,9 @@ extern uint32_t SystemCoreClock; #define configTIMER_QUEUE_LENGTH 10 #define configTIMER_TASK_STACK_DEPTH 1024 +/* The following flag must be enabled only when using newlib */ +#define configUSE_NEWLIB_REENTRANT 1 + /* CMSIS-RTOS V2 flags */ #define configUSE_OS2_THREAD_SUSPEND_RESUME 1 #define configUSE_OS2_THREAD_ENUMERATE 1 @@ -166,6 +170,7 @@ standard names. */ /* USER CODE BEGIN Defines */ /* Section where parameter definitions can be added (for instance, to override default ones in FreeRTOS.h) */ +#define configTASK_NOTIFICATION_ARRAY_ENTRIES 2 /* USER CODE END Defines */ #endif /* FREERTOS_CONFIG_H */ diff --git a/Core/Src/app_freertos.c b/Core/Src/app_freertos.c index 2518f04..df73b24 100644 --- a/Core/Src/app_freertos.c +++ b/Core/Src/app_freertos.c @@ -52,6 +52,20 @@ /* USER CODE END FunctionPrototypes */ +/* Hook prototypes */ +void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName); + +/* USER CODE BEGIN 4 */ +void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName) +{ + /* Run time stack overflow checking is performed if + configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook function is + called if a stack overflow is detected. */ + __disable_irq(); + for (;;) { } // breakpoint here +} +/* USER CODE END 4 */ + /* Private application code --------------------------------------------------*/ /* USER CODE BEGIN Application */ diff --git a/Core/Src/main.c b/Core/Src/main.c index 3ab445c..2b7f875 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -44,6 +44,12 @@ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ +//#define ICM_NOTIFY_INT_DRDY 0 +//#define ICM_NOTIFY_DMA 1 +//#define BMM_NOTIFY_INT_DRDY 0 +//#define BMM_NOTIFY_DMA 1 +//configASSERT(BMM_NOTIFY_DMA < configTASK_NOTIFICATION_ARRAY_ENTRIES); +//configASSERT(BMM_NOTIFY_INT_DRDY < configTASK_NOTIFICATION_ARRAY_ENTRIES); /* USER CODE END PD */ @@ -359,7 +365,7 @@ static void MX_I2C1_Init(void) /* USER CODE END I2C1_Init 1 */ hi2c1.Instance = I2C1; - hi2c1.Init.Timing = 0x10B17DB5; + hi2c1.Init.Timing = 0x00C12166; hi2c1.Init.OwnAddress1 = 0; hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; @@ -504,7 +510,7 @@ static void MX_SPI1_Init(void) hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi1.Init.CLKPhase = SPI_PHASE_2EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; - hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_64; + hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; @@ -726,7 +732,7 @@ void Start_DataAnalysis(void *argument) // TODO: Einstellungen setzbar durch trinity control für IMU, Magnetometer, etc. // HAL_StatusTypeDef status; - char output_buffer[128]; +// char output_buffer[128]; ICM45686_Data imu_data; struct bmm350_mag_temp_data magn_data; // struct bmm350_raw_mag_data magn_data; @@ -735,7 +741,7 @@ void Start_DataAnalysis(void *argument) Quat_Dat.SensorAddress = BMM350_I2C_ADSEL_SET_LOW; Quat_Dat.EndByte = PACKET_END_BYTE; - MadgwickAHRS_init(&IMUQuat, 6400.0f, 0.15f); + MadgwickAHRS_init(&IMUQuat, 6400.0f, 0.00001f); /* Infinite loop */ for(;;) @@ -747,7 +753,7 @@ void Start_DataAnalysis(void *argument) MadgwickAHRS_update(&IMUQuat, imu_data.processed_imu_data[3], imu_data.processed_imu_data[4], imu_data.processed_imu_data[5], //gx, gy, gz imu_data.processed_imu_data[0], imu_data.processed_imu_data[1], imu_data.processed_imu_data[2], // ax, ay, yz magn_data.x, magn_data.y, magn_data.z); // mx, my, mz -// + // MadgwickAHRS_update_IMU(&IMUQuat, imu_data.processed_imu_data[3], imu_data.processed_imu_data[4], imu_data.processed_imu_data[5], //gx, gy, gz // imu_data.processed_imu_data[0], imu_data.processed_imu_data[1], imu_data.processed_imu_data[2]); // ax, ay, yz) @@ -805,8 +811,6 @@ void Start_ICM45686(void *argument) HAL_StatusTypeDef status; // char output_buffer[128]; xIMU_Task = osThreadGetId(); - // ICM - //uint8_t usb_response; uint8_t raw_imu_data[15]; int16_t imu_sensor_data[7]; ICM45686_Data processed_data; @@ -815,58 +819,62 @@ void Start_ICM45686(void *argument) imu.hspi = &hspi1; imu.GPIO_Port = GPIO_SPI1_IMU_CS_GPIO_Port; imu.GPIO_Pin = GPIO_SPI1_IMU_CS_Pin; - imu.acc_fs = ICM45686_ACC_FS_4G; - imu.acc_ssf = ICM45686_ACC_SSF[ICM45686_ACC_FS_4G >> 4]; - imu.gyro_fs = ICM45686_GYRO_FS_250DPS; - imu.gyro_ssf = ICM45686_GYRO_SSF[ICM45686_GYRO_FS_250DPS >> 4]; + imu.acc_fs = ICM45686_ACC_FS_16G; + imu.acc_ssf = ICM45686_ACC_SSF[ICM45686_ACC_FS_16G >> 4]; + imu.gyro_fs = ICM45686_GYRO_FS_2000DPS; + imu.gyro_ssf = ICM45686_GYRO_SSF[ICM45686_GYRO_FS_2000DPS >> 4]; imu.odr = ICM45686_ODR_6_4kHz_LN ; uint8_t tx[15] = {0x00}; tx[0] = 0x00 | 0x80; + uint16_t tx_len = sizeof(tx); + init_icm(&imu); - osDelay(50); - configure_interrupt_icm(&imu); - enable_interrupt_icm(&imu); -// osDelay(500); -// calibrate_icm(&imu, 1000); + configure_and_enable_int_icm(&imu); + ulTaskNotifyTakeIndexed(ICM_NOTIFY_INT_DRDY, pdTRUE, 0); + ulTaskNotifyTakeIndexed(ICM_NOTIFY_DMA, pdTRUE, 0); + calibrate_icm(&imu, 25000); /* Infinite loop */ for(;;) { - ulTaskNotifyTake(pdFALSE, osWaitForever); - status = read_icm_dma(&imu, tx, raw_imu_data, sizeof(tx)); + ulTaskNotifyTakeIndexed(ICM_NOTIFY_INT_DRDY, pdTRUE, portMAX_DELAY); + status = read_icm_dma(&imu, tx, raw_imu_data, tx_len); if (status != HAL_OK) { printf("Reading IMU sensordata failed: %d\n", status); } + if (ulTaskNotifyTakeIndexed(ICM_NOTIFY_DMA, pdTRUE, pdMS_TO_TICKS(10)) > 0) { + imu_sensor_data[0] = (int16_t)(raw_imu_data[1] << 8 | raw_imu_data[2]); // a_x + imu_sensor_data[1] = (int16_t)(raw_imu_data[3] << 8 | raw_imu_data[4]); // a_y + imu_sensor_data[2] = (int16_t)(raw_imu_data[5] << 8 | raw_imu_data[6]); // a_z + imu_sensor_data[3] = (int16_t)(raw_imu_data[7] << 8 | raw_imu_data[8]); // g_x + imu_sensor_data[4] = (int16_t)(raw_imu_data[9] << 8 | raw_imu_data[10]); // g_y + imu_sensor_data[5] = (int16_t)(raw_imu_data[11] << 8 | raw_imu_data[12]); // g_z + imu_sensor_data[6] = (int16_t)(raw_imu_data[13] << 8 | raw_imu_data[14]); // t - imu_sensor_data[0] = (int16_t)(raw_imu_data[1] << 8 | raw_imu_data[2]); // a_x - imu_sensor_data[1] = (int16_t)(raw_imu_data[3] << 8 | raw_imu_data[4]); // a_y - imu_sensor_data[2] = (int16_t)(raw_imu_data[5] << 8 | raw_imu_data[6]); // a_z - imu_sensor_data[3] = (int16_t)(raw_imu_data[7] << 8 | raw_imu_data[8]); // g_x - imu_sensor_data[4] = (int16_t)(raw_imu_data[9] << 8 | raw_imu_data[10]); // g_y - imu_sensor_data[5] = (int16_t)(raw_imu_data[11] << 8 | raw_imu_data[12]); // g_z - imu_sensor_data[6] = (int16_t)(raw_imu_data[13] << 8 | raw_imu_data[14]); // t - - processed_data.processed_imu_data[0] = (float)imu_sensor_data[0] / (float)imu.acc_fs; - processed_data.processed_imu_data[1] = (float)imu_sensor_data[1] / (float)imu.acc_fs; - processed_data.processed_imu_data[2] = (float)imu_sensor_data[2] / (float)imu.acc_fs; - processed_data.processed_imu_data[3] = (float)imu_sensor_data[3] / (float)imu.gyro_ssf; - processed_data.processed_imu_data[4] = (float)imu_sensor_data[4] / (float)imu.gyro_ssf; - processed_data.processed_imu_data[5] = (float)imu_sensor_data[5] / (float)imu.gyro_ssf; - processed_data.processed_imu_data[6] = (float)(imu_sensor_data[6] / 128.0 + 25.0); - - if (imu.calibated) { - processed_data.processed_imu_data[0] -= imu.imu_bias[0]; - processed_data.processed_imu_data[1] -= imu.imu_bias[1]; - processed_data.processed_imu_data[2] -= imu.imu_bias[2]; - processed_data.processed_imu_data[3] -= imu.imu_bias[3]; - processed_data.processed_imu_data[4] -= imu.imu_bias[4]; - processed_data.processed_imu_data[5] -= imu.imu_bias[5]; - processed_data.processed_imu_data[6] -= imu.imu_bias[7]; + processed_data.processed_imu_data[0] = (float)imu_sensor_data[0] / (float)imu.acc_fs; + processed_data.processed_imu_data[1] = (float)imu_sensor_data[1] / (float)imu.acc_fs; + processed_data.processed_imu_data[2] = (float)imu_sensor_data[2] / (float)imu.acc_fs; + processed_data.processed_imu_data[3] = (float)imu_sensor_data[3] / (float)imu.gyro_ssf; + processed_data.processed_imu_data[4] = (float)imu_sensor_data[4] / (float)imu.gyro_ssf; + processed_data.processed_imu_data[5] = (float)imu_sensor_data[5] / (float)imu.gyro_ssf; + processed_data.processed_imu_data[6] = (float)(imu_sensor_data[6] / 128.0 + 25.0); + if (imu.calibated) { + processed_data.processed_imu_data[0] -= imu.imu_bias[0]; + processed_data.processed_imu_data[1] -= imu.imu_bias[1]; + processed_data.processed_imu_data[2] -= imu.imu_bias[2]; + processed_data.processed_imu_data[3] -= imu.imu_bias[3]; + processed_data.processed_imu_data[4] -= imu.imu_bias[4]; + processed_data.processed_imu_data[5] -= imu.imu_bias[5]; + processed_data.processed_imu_data[6] -= imu.imu_bias[6]; + } + osMessageQueuePut(Q_ICMHandle, &processed_data, 0, 5); + } else { + HAL_SPI_Abort(imu.hspi); + HAL_GPIO_WritePin(imu.GPIO_Port, imu.GPIO_Pin, GPIO_PIN_SET); + printf("IMU DMA data transaction timed out"); } - - osMessageQueuePut(Q_ICMHandle, &processed_data, 0, 5); } /* USER CODE END Start_ICM45686 */ } @@ -881,44 +889,38 @@ void Start_ICM45686(void *argument) void Start_BMM350(void *argument) { /* USER CODE BEGIN Start_BMM350 */ -// HAL_StatusTypeDef status; -// char output_buffer[128]; xMagn_Task = osThreadGetId(); - // BMM struct bmm350_dev dev = {0x00}; int8_t rslt; struct bmm350_mag_temp_data mag_data; - osDelay(500); -// struct bmm350_raw_mag_data mag_data; // ODR: 200HZ, AVG: rslt = init_bmm(&dev); if (rslt != BMM350_OK) { printf("BMM350 initialization failed: %d\n", rslt); - printf("Chip id: 0x%02X\n", dev.chip_id); } - +// rslt = bmm_configure_interrupt(&dev); if (rslt != BMM350_OK) { printf("Configuring interrupt failed: %d\n", rslt); } -// osDelay(200); + ulTaskNotifyTakeIndexed(BMM_NOTIFY_INT_DRDY, pdTRUE, 0); + ulTaskNotifyTakeIndexed(BMM_NOTIFY_DMA, pdTRUE, 0); + // osDelay(50); /* Infinite loop */ for(;;) { // wait for the interrupt - ulTaskNotifyTake(pdFALSE, osWaitForever); - // magnetometer +// ulTaskNotifyTake(pdFALSE, osWaitForever); +// ulTaskNotifyTakeIndexed(pdFALSE, BMM_NOTIFY_INT_DRDY, osWaitForever); +// ulTaskNotifyTakeIndexed(BMM_NOTIFY_INT_DRDY, pdTRUE, osWaitForever); rslt = bmm350_get_compensated_mag_xyz_temp_data(&mag_data, &dev); -// rslt = bmm350_read_uncomp_mag_temp_data(&mag_data, &dev); +// ulTaskNotifyTake(pdFALSE, osWaitForever); +// ulTaskNotifyTakeIndexed(BMM_NOTIFY_DMA, pdTRUE, osWaitForever); if (rslt == BMM350_OK) { -// sprintf(output_buffer, "X: %.2f uT, Y: %.2f uT, Z: %.2f uT, Temp: %.2f C\n", -// mag_data.x, mag_data.y, mag_data.z, mag_data.temperature); -// CDC_Transmit_FS((uint8_t*)output_buffer, (uint16_t)strlen(output_buffer)); osMessageQueuePut(Q_BMMHandle, &mag_data, 0, 5); } -// osDelay(100); } /* USER CODE END Start_BMM350 */ } diff --git a/Core/Src/sensors.c b/Core/Src/sensors.c index ad016dd..9e3e9a3 100644 --- a/Core/Src/sensors.c +++ b/Core/Src/sensors.c @@ -10,65 +10,60 @@ //extern osThreadId_t defaultTaskHandle; //TaskHandle_t xStartDefaultTask = NULL; //extern osThreadId_t defaultTaskHandle -osThreadId_t xIMU_Task = NULL; -osThreadId_t xMagn_Task = NULL; +volatile osThreadId_t xIMU_Task = NULL; +volatile osThreadId_t xMagn_Task = NULL; //osThreadId_t xData_Task = NULL; void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi) { - if (hspi->Instance == SPI1) { + if (hspi->Instance == SPI1 && xIMU_Task != NULL) { HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); - - // notify the task that the data is ready BaseType_t xHigherPriorityTaskWoken = pdFALSE; - vTaskNotifyGiveFromISR(xIMU_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xIMU_Task, ICM_NOTIFY_DMA, &xHigherPriorityTaskWoken); portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } } void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *I2C_address) { -// printf("HAL_I2C_MemRxCpltCallback"); - if (I2C_address->Instance == I2C1) { + if (I2C_address->Instance == I2C1 && xMagn_Task != NULL) { BaseType_t xHigherPriorityTaskWoken = pdFALSE; - vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); +// vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xMagn_Task, BMM_NOTIFY_DMA, &xHigherPriorityTaskWoken); portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } - } + void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *I2C_address) { -// printf("HAL_I2C_MemTxCpltCallback"); - if (I2C_address->Instance == I2C1) { + if (I2C_address->Instance == I2C1 && xMagn_Task != NULL) { BaseType_t xHigherPriorityTaskWoken = pdFALSE; - vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); +// vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xMagn_Task, BMM_NOTIFY_DMA, &xHigherPriorityTaskWoken); portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } } void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) { - if (hi2c->Instance == I2C1) { + if (hi2c->Instance == I2C1 && xMagn_Task != NULL) { BaseType_t xHigherPriorityTaskWoken = pdFALSE; printf("ErrorCallback: %ld\n", HAL_I2C_GetError(hi2c)); - vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); +// vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xMagn_Task, BMM_NOTIFY_DMA, &xHigherPriorityTaskWoken); portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } } void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { - // was macht das? BaseType_t xHigherPriorityTaskWoken = pdFALSE; - - if (GPIO_Pin == GPIO_IMU_INT_Pin) { - vTaskNotifyGiveFromISR(xIMU_Task, &xHigherPriorityTaskWoken); + if (GPIO_Pin == GPIO_IMU_INT_Pin && xIMU_Task != NULL) { +// vTaskNotifyGiveFromISR(xIMU_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xIMU_Task, ICM_NOTIFY_INT_DRDY, &xHigherPriorityTaskWoken); // printf("Triggered ICM45686 EXTI\n"); } - - if (GPIO_Pin == GPIO_MAGN_INT_Pin) { - vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); -// printf("Triggered BMM350 EXTI\n"); + if (GPIO_Pin == GPIO_MAGN_INT_Pin && xMagn_Task != NULL) { +// vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xMagn_Task, BMM_NOTIFY_INT_DRDY, &xHigherPriorityTaskWoken); } - // was macht das? portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - } // ICM 45686 @@ -93,33 +88,10 @@ HAL_StatusTypeDef write_icm (ICM45686_HandleTypeDef *imu, uint8_t tx[], uint16_t } void init_icm(ICM45686_HandleTypeDef *imu) { - // TODO: Add settings as enum to choose from - // FIFO - // Interrupt - /* Interrupt functionality is configured via the Interrupt Configuration register. Items that are configurable include the - interrupt pins configuration, the interrupt latching and clearing method, and triggers for the interrupt. Items that - can trigger an interrupt are (1) Clock generator locked to new reference oscillator (used when switching clock - sources); (2) new data is available to be read (from the FIFO and Data registers); (3) accelerometer event - interrupts; (4) FIFO watermark; (5) FIFO overflow. The interrupt status can be read from the Interrupt Status - register. - - Configure interrupt pin on icm - - configure interrupt pin on bmm - - -> push/pull or open drain, latch, polarity - - everything stays as is only that a interrupt callback gets added, that when called wakes up the - corresponding task for the sensor - */ - // APEX??? - // EDMP??? - uint8_t tx[2], rx[2]; HAL_StatusTypeDef status; - - printf("Initializing ICM45686\n"); - // WHO AM +// // WHO AM tx[0] = ICM45686_WHO_AM_I | 0x80; -// HAL_GPIO_WritePin(imu->GPIO_Port, imu->GPIO_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); status = read_icm(imu, tx, rx, sizeof(tx)); if (status != HAL_OK) { printf("Error in reading WHO AM I:%d\n", status); @@ -127,12 +99,9 @@ void init_icm(ICM45686_HandleTypeDef *imu) { printf("WHO AM I (0xE9): 0x%02X \n", rx[1]); } - // acc + // acc config tx[0] = ICM45686_ACCEL_CONFIG0; tx[1] = imu->acc_fs | imu->odr; -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_Transmit(imu->hspi, tx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); status = write_icm(imu, tx, sizeof(tx)); if (status != HAL_OK) { printf("Error in setting ACCEL_CONFIG0:%d\n", status); @@ -142,9 +111,6 @@ void init_icm(ICM45686_HandleTypeDef *imu) { tx[0] = ICM45686_ACCEL_CONFIG0 | 0x80; tx[1] = 0x00; -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); status = read_icm(imu, tx, rx, sizeof(tx)); if (status != HAL_OK) { printf("Error reading ACCEL_CONFIG0:%d\n", status); @@ -152,12 +118,9 @@ void init_icm(ICM45686_HandleTypeDef *imu) { printf("ACCEL_CONFIG0 read: 0x%02X \n", rx[1]); } - // gyro + // gyro config tx[0] = ICM45686_GYRO_CONFIG0; tx[1] = imu->gyro_fs | imu->odr; -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_Transmit(imu->hspi, tx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); status = write_icm(imu, tx, sizeof(tx)); if (status != HAL_OK) { printf("Error in setting GYRO_CONFIG0:%d\n", status); @@ -167,9 +130,6 @@ void init_icm(ICM45686_HandleTypeDef *imu) { tx[0] = ICM45686_GYRO_CONFIG0 | 0x80; tx[1] = 0x00; -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); status = read_icm(imu, tx, rx, sizeof(tx)); if (status != HAL_OK) { printf("Error reading GYRO_CONFIG0:%d\n", status); @@ -180,9 +140,6 @@ void init_icm(ICM45686_HandleTypeDef *imu) { // power settings tx[0] = ICM45686_PWR_MGMT0; tx[1] = 0x0F; //0x10 | 0x03; -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_Transmit(imu->hspi, tx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); status = write_icm(imu, tx, sizeof(tx)); if (status != HAL_OK) { printf("Error in setting PWR_MGMT0:%d\n", status); @@ -192,17 +149,12 @@ void init_icm(ICM45686_HandleTypeDef *imu) { tx[0] = ICM45686_PWR_MGMT0 | 0x80; tx[1] = 0x00; -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); status = read_icm(imu, tx, rx, sizeof(tx)); if (status != HAL_OK) { printf("Error reading PWR_MGMT0:%d\n", status); } else { printf("PWR_MGMT0 read: 0x%02X \n", rx[1]); } - - osDelay(250); } void calibrate_icm(ICM45686_HandleTypeDef *imu, int samples) { @@ -213,10 +165,17 @@ void calibrate_icm(ICM45686_HandleTypeDef *imu, int samples) { tx[0] = 0x00 | 0x80; for (int i = 1; i <= samples; i++) { - status = read_icm_dma(imu, tx, raw_data, sizeof(tx)); - if (status != HAL_OK) { - printf("Calibration read ICM failed: %d\n", status); - } +// status = read_icm_dma(imu, tx, raw_data, sizeof(tx)); +// osDelay(1); +// if (status != HAL_OK) { +// printf("Calibration read ICM failed: %d\n", status); +// } + ulTaskNotifyTakeIndexed(ICM_NOTIFY_INT_DRDY, pdTRUE, portMAX_DELAY); + status = read_icm_dma(imu, tx, raw_data, sizeof(tx)); + if (status != HAL_OK) { + printf("Calibration read ICM failed: %d\n", status); + } + if (ulTaskNotifyTakeIndexed(ICM_NOTIFY_DMA, pdTRUE, pdMS_TO_TICKS(10)) > 0) { sensor_data[0] += (int16_t)(raw_data[1] << 8 | raw_data[2]); // a_x sensor_data[1] += (int16_t)(raw_data[3] << 8 | raw_data[4]); // a_y sensor_data[2] += (int16_t)(raw_data[5] << 8 | raw_data[6]); // a_z @@ -224,6 +183,7 @@ void calibrate_icm(ICM45686_HandleTypeDef *imu, int samples) { sensor_data[4] += (int16_t)(raw_data[9] << 8 | raw_data[10]); // g_y sensor_data[5] += (int16_t)(raw_data[11] << 8 | raw_data[12]); // g_z sensor_data[6] += (int16_t)(raw_data[13] << 8 | raw_data[14]); // t + } } imu->imu_bias[0] = (float)sensor_data[0] / (float)samples; @@ -239,20 +199,38 @@ void calibrate_icm(ICM45686_HandleTypeDef *imu, int samples) { imu->calibated = true; - printf("Calibration finished of ICM45686\n"); - printf("a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", imu->imu_bias[0], imu->imu_bias[1], imu->imu_bias[2], imu->imu_bias[3], imu->imu_bias[4], imu->imu_bias[5], imu->imu_bias[6]); - } -void enable_interrupt_icm(ICM45686_HandleTypeDef *imu) { - uint8_t tx[2], rx[2] = {0x00, 0x00}; - tx[0] = ICM45686_INT1_CONFIG0; - tx[1] = 0x04; - printf("Enabling IMU INT pin\n"); +//void enable_interrupt_icm(ICM45686_HandleTypeDef *imu) { +// uint8_t tx[2], rx[2] = {0x00, 0x00}; +// +// tx[0] = ICM45686_INT1_CONFIG0; +// tx[1] = 0x04; +// HAL_StatusTypeDef status = write_icm(imu, tx, sizeof(tx)); +// if (status != HAL_OK) { +// printf("Enabling of IMU INT failed: %d\n", status); +// } +// +// tx[0] = ICM45686_INT1_CONFIG0 | 0x80; +// tx[1] = 0x00; +// status = read_icm(imu, tx, rx, sizeof(tx)); +// if (status != HAL_OK) { +// printf("Reading IMU INT1_CONFIG0 failed: %d\n", status); +// } else { +// printf("INT1_CONFIG0 read: 0x%02X\n", rx[1]); +// } +//} +void configure_and_enable_int_icm (ICM45686_HandleTypeDef *imu) { + uint8_t tx[2], rx[2] = {0x00, 0x00}; + + // turn off int + tx[0] = ICM45686_INT1_CONFIG0; + tx[1] = 0x00; HAL_StatusTypeDef status = write_icm(imu, tx, sizeof(tx)); if (status != HAL_OK) { printf("Enabling of IMU INT failed: %d\n", status); @@ -262,19 +240,15 @@ void enable_interrupt_icm(ICM45686_HandleTypeDef *imu) { tx[1] = 0x00; status = read_icm(imu, tx, rx, sizeof(tx)); if (status != HAL_OK) { - printf("Reading IMU INT configuration0 failed: %d\n", status); + printf("Reading IMU INT1_CONFIG0 failed: %d\n", status); } else { printf("INT1_CONFIG0 read: 0x%02X\n", rx[1]); } -} - -void configure_interrupt_icm (ICM45686_HandleTypeDef *imu) { - uint8_t tx[2], rx[2] = {0x00, 0x00}; + // configure int1 to push-pull, pulse, active high tx[0] = ICM45686_INT1_CONFIG2; tx[1] = 0x01; - printf("Configuring IMU INT\n"); - HAL_StatusTypeDef status = write_icm(imu, tx, sizeof(tx)); + status = write_icm(imu, tx, sizeof(tx)); if (status != HAL_OK) { printf("Configuration of IMU INT failed: %d\n", status); } @@ -283,10 +257,27 @@ void configure_interrupt_icm (ICM45686_HandleTypeDef *imu) { tx[1] = 0x00; status = read_icm(imu, tx, rx, sizeof(tx)); if (status != HAL_OK) { - printf("Reading IMU INT configuration2 failed: %d\n", status); + printf("Reading IMU INT1_CONFIG2 failed: %d\n", status); } else { printf("INT1_CONFIG2 read: 0x%02X\n", rx[1]); } + + // enable int + tx[0] = ICM45686_INT1_CONFIG0; + tx[1] = 0x04; + status = write_icm(imu, tx, sizeof(tx)); + if (status != HAL_OK) { + printf("Enabling of IMU INT failed: %d\n", status); + } + + tx[0] = ICM45686_INT1_CONFIG0 | 0x80; + tx[1] = 0x00; + status = read_icm(imu, tx, rx, sizeof(tx)); + if (status != HAL_OK) { + printf("Reading IMU INT1_CONFIG0 failed: %d\n", status); + } else { + printf("INT1_CONFIG0 read: 0x%02X\n", rx[1]); + } } // BMM350 @@ -309,7 +300,9 @@ BMM350_INTF_RET_TYPE bmm350_i2c_read(uint8_t reg_addr, uint8_t *reg_data, uint32 // Device address is left-shifted by 1 for STM32 HAL // if (HAL_I2C_Mem_Read(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, reg_data, length, HAL_I2C_TIMEOUT ) == HAL_OK) { if (HAL_I2C_Mem_Read_DMA(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, reg_data, length) == HAL_OK) { - if (ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { +// if (ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { + if (ulTaskNotifyTakeIndexed(BMM_NOTIFY_DMA, pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { +// if (ulTaskNotifyTakeIndexed(pdTRUE, BMM_NOTIFY_DMA, pdMS_TO_TICKS(10)) == pdTRUE) { return BMM350_INTF_RET_SUCCESS; // 0 } } @@ -317,6 +310,20 @@ BMM350_INTF_RET_TYPE bmm350_i2c_read(uint8_t reg_addr, uint8_t *reg_data, uint32 } +//BMM350_INTF_RET_TYPE bmm350_i2c_read(uint8_t reg_addr, uint8_t *reg_data, uint32_t length, void *intf_ptr) { +// // Extract I2C device address from intf_ptr +// uint8_t device_addr = *(uint8_t*)intf_ptr; +// +// // STM32 HAL: Write register address, then read data +// // Device address is left-shifted by 1 for STM32 HAL +// if (HAL_I2C_Mem_Read(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, reg_data, length, HAL_I2C_TIMEOUT ) == HAL_OK) +// { +// return BMM350_INTF_RET_SUCCESS; // 0 +// } +// +// return -1; // Communication failure +//} + BMM350_INTF_RET_TYPE bmm350_i2c_write(uint8_t reg_addr, const uint8_t *reg_data, uint32_t length, void *intf_ptr){ uint8_t device_addr = *(uint8_t*)intf_ptr; // uint8_t rslt = HAL_I2C_Mem_Write_DMA(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, (uint8_t*)reg_data, length); @@ -325,13 +332,26 @@ BMM350_INTF_RET_TYPE bmm350_i2c_write(uint8_t reg_addr, const uint8_t *reg_data, if (HAL_I2C_Mem_Write_DMA(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, (uint8_t*)reg_data, length) == HAL_OK) { // if (HAL_I2C_Mem_Write(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, (uint8_t*)reg_data, length, HAL_I2C_TIMEOUT ) == HAL_OK) { // if (rslt == HAL_OK) { - if (ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { +// if (ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { + if (ulTaskNotifyTakeIndexed(BMM_NOTIFY_DMA, pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { +// if (ulTaskNotifyTakeIndexed(pdTRUE, BMM_NOTIFY_DMA, pdMS_TO_TICKS(10)) == pdTRUE) { return BMM350_INTF_RET_SUCCESS; // 0 } } return -1; } +//BMM350_INTF_RET_TYPE bmm350_i2c_write(uint8_t reg_addr, const uint8_t *reg_data, uint32_t length, void *intf_ptr){ +// uint8_t device_addr = *(uint8_t*)intf_ptr; +// +// // STM32 HAL: Write register address + data +// if (HAL_I2C_Mem_Write(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, (uint8_t*)reg_data, length, HAL_I2C_TIMEOUT ) == HAL_OK) { +// return BMM350_INTF_RET_SUCCESS; +// } +// +// return -1; +//} + void bmm350_delay(uint32_t period_us, void *intf_ptr){ (void)intf_ptr; // Unused @@ -355,7 +375,7 @@ int8_t init_bmm(struct bmm350_dev *dev) { dev->delay_us = bmm350_delay; dev->intf_ptr = &dev_addr; - printf("Starting up and configuring BMM350\n"); +// printf("Starting up and configuring BMM350\n"); // Initialize BMM350 driver rslt = bmm350_init(dev); @@ -370,8 +390,8 @@ int8_t init_bmm(struct bmm350_dev *dev) { // Set powermode, odr and avg rslt = bmm350_set_powermode(BMM350_NORMAL_MODE, dev); printf("Powermode (%d): %d\n", BMM350_NORMAL_MODE, rslt); - rslt = bmm350_set_odr_performance(BMM350_DATA_RATE_200HZ, BMM350_AVERAGING_2, dev); - printf("ODR(%d) and AVG(%d): %d\n", BMM350_DATA_RATE_200HZ, BMM350_AVERAGING_2, rslt); + rslt = bmm350_set_odr_performance(BMM350_DATA_RATE_400HZ, BMM350_NO_AVERAGING, dev); + printf("ODR(%d) and AVG(%d): %d\n", BMM350_DATA_RATE_400HZ, BMM350_NO_AVERAGING, rslt); // // configure interrupt // rslt = bmm350_enable_interrupt(BMM350_ENABLE_INTERRUPT, dev); @@ -385,9 +405,9 @@ int8_t init_bmm(struct bmm350_dev *dev) { int8_t bmm_configure_interrupt (struct bmm350_dev *dev) { int8_t rslt; rslt = bmm350_enable_interrupt(BMM350_ENABLE_INTERRUPT, dev); - printf("Interrupt enable: %d\n", rslt); + printf("Interrupt enable: %d \n", rslt); rslt = bmm350_configure_interrupt(BMM350_PULSED, BMM350_ACTIVE_HIGH, BMM350_INTR_PUSH_PULL, BMM350_MAP_TO_PIN, dev); - printf("Configure interrupt: %d\n", rslt); + printf("Configure interrupt: %d \n", rslt); return BMM350_OK; } diff --git a/Core/Src/sensors.h b/Core/Src/sensors.h index 967f4e7..b3df7e2 100644 --- a/Core/Src/sensors.h +++ b/Core/Src/sensors.h @@ -10,10 +10,17 @@ // I2C Handle extern I2C_HandleTypeDef hi2c1; extern osThreadId_t defaultTaskHandle; -extern osThreadId_t xIMU_Task; -extern osThreadId_t xMagn_Task; +extern volatile osThreadId_t xIMU_Task; +extern volatile osThreadId_t xMagn_Task; //extern osThreadId_t xData_Task; +typedef enum { + ICM_NOTIFY_INT_DRDY = 0, + ICM_NOTIFY_DMA = 1, + BMM_NOTIFY_INT_DRDY = 0, + BMM_NOTIFY_DMA = 1 +} SENSOR_NOTIFY_INDEX; + // ICM45686 typedef struct { SPI_HandleTypeDef *hspi; @@ -66,7 +73,8 @@ typedef enum { ICM45686_FIFO_COUNT = 0x12, ICM45686_FIFO_DATA = 0x14, ICM45686_INT1_CONFIG2 = 0x18, - ICM45686_INT1_CONFIG0 = 0x16 + ICM45686_INT1_CONFIG0 = 0x16, + ICM45686_INT1_STATUS0 = 0x19 } ICM45686_registers; typedef enum { @@ -149,7 +157,7 @@ HAL_StatusTypeDef read_icm_dma (ICM45686_HandleTypeDef *imu, uint8_t tx[], uint8 HAL_StatusTypeDef write_icm (ICM45686_HandleTypeDef *imu, uint8_t tx[], uint16_t len_tx); void calibrate_icm (ICM45686_HandleTypeDef * imu, int samples); void enable_interrupt_icm(ICM45686_HandleTypeDef *imu); -void configure_interrupt_icm (ICM45686_HandleTypeDef *imu); +void configure_and_enable_int_icm (ICM45686_HandleTypeDef *imu); // BMM350 - Declarations of read/write/delay functions for the BMM350 API void bmm_init_DWT(void); diff --git a/Core/Src/stm32wbxx_hal_msp.c b/Core/Src/stm32wbxx_hal_msp.c index 76d2709..ad1dcb6 100644 --- a/Core/Src/stm32wbxx_hal_msp.c +++ b/Core/Src/stm32wbxx_hal_msp.c @@ -125,10 +125,14 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + __HAL_SYSCFG_FASTMODEPLUS_ENABLE(SYSCFG_FASTMODEPLUS_PB8); + + __HAL_SYSCFG_FASTMODEPLUS_ENABLE(SYSCFG_FASTMODEPLUS_PB9); + /* Peripheral clock enable */ __HAL_RCC_I2C1_CLK_ENABLE(); diff --git a/Debug/Core/Src/app_debug.o b/Debug/Core/Src/app_debug.o index bff22a2d11e93e65ec1f63e59aa7775c9080b6a9..6068f14d77e56128a122e30f4eebe78a18f0ef60 100644 GIT binary patch delta 146040 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 MgY>FI>XH8c0lW*xn*aa+ delta 144929 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 u`d?O}exZy>qF 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 PGt|NY{Qvv+fB*bH6Cv`Q diff --git a/Debug/Core/Src/app_entry.o b/Debug/Core/Src/app_entry.o index f14fe1970daba6e7eb5c86af478571c2067f39ca..428adae7a219a4c5bb82d6454dd6bfe67fda0dce 100644 GIT binary patch delta 156900 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

d&$4;rM*j!_EmD*XGgzDi^foAv$~~O1se$ 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 P*J^nRlpmnhc5nO-z=V1# delta 156802 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 LirxyfH#htbHtnlC diff --git a/Debug/Core/Src/app_freertos.cyclo b/Debug/Core/Src/app_freertos.cyclo index e69de29..bb2ed06 100644 --- a/Debug/Core/Src/app_freertos.cyclo +++ b/Debug/Core/Src/app_freertos.cyclo @@ -0,0 +1 @@ +../Core/Src/app_freertos.c:59:6:vApplicationStackOverflowHook 1 diff --git a/Debug/Core/Src/app_freertos.d b/Debug/Core/Src/app_freertos.d index 48caf55..e1f7f13 100644 --- a/Debug/Core/Src/app_freertos.d +++ b/Debug/Core/Src/app_freertos.d @@ -6,6 +6,7 @@ Core/Src/app_freertos.o: ../Core/Src/app_freertos.c \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Core/Inc/main.h ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_hal.h \ @@ -76,6 +77,7 @@ Core/Src/app_freertos.o: ../Core/Src/app_freertos.c \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Core/Inc/main.h: diff --git a/Debug/Core/Src/app_freertos.o b/Debug/Core/Src/app_freertos.o index 9707f2986559e3fcc2e87ed49669cd8086c3e206..82347147b7d571f31559dc5b80c7de1180059e39 100644 GIT binary patch delta 344485 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 O1=ZiZ4Q1qofByr5_BxIL delta 341675 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 diff --git a/Debug/Core/Src/app_freertos.su b/Debug/Core/Src/app_freertos.su index e69de29..70c7c98 100644 --- a/Debug/Core/Src/app_freertos.su +++ b/Debug/Core/Src/app_freertos.su @@ -0,0 +1 @@ +../Core/Src/app_freertos.c:59:6:vApplicationStackOverflowHook 16 static,ignoring_inline_asm diff --git a/Debug/Core/Src/freertos_port.d b/Debug/Core/Src/freertos_port.d index 6b85bdb..60c8784 100644 --- a/Debug/Core/Src/freertos_port.d +++ b/Debug/Core/Src/freertos_port.d @@ -66,6 +66,7 @@ Core/Src/freertos_port.o: ../Core/Src/freertos_port.c \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Utilities/lpm/tiny_lpm/stm32_lpm.h @@ -139,6 +140,7 @@ Core/Src/freertos_port.o: ../Core/Src/freertos_port.c \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Utilities/lpm/tiny_lpm/stm32_lpm.h: diff --git a/Debug/Core/Src/freertos_port.o b/Debug/Core/Src/freertos_port.o index d505c971db9bd6035b4d350603530c6fd2d9a853..ad321c4f90e6e18cbc645a618197920b967adc4e 100644 GIT binary patch delta 148749 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

3dPE6Ni)r$sTcr0fiw@w4<ii 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 StIT<-uPW^TXLjL)=>Gta)N+FW delta 147031 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 diff --git a/Debug/Core/Src/hw_timerserver.o b/Debug/Core/Src/hw_timerserver.o index 63753303e733ba22e9358847f374ed348466a7a0..3381edb3c2bfcf9e5c8a9b9e9c57a3afe58f09f6 100644 GIT binary patch delta 144142 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 delta 144382 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

yqEmY_%@j3Dh>LkPO^z z{i6*`JFEs;dUaYkQP85xx|oWCE?e85g)-gNKSv>{$NF0=P_9^ODCMNj>PJTo_FF^g zJ|3{TtOx5s>%x<04Ox{lXkE1~{s@AGt=U2dx@NWatDxx(YfKZsP3uf2MBK6_llN)N zdj1-~xYdi^#1mG(Nr;%VZX{3Ml=XLVFyFRDwxe~&s{IU@)7Co59=Kys_;Xd0kazZ)UezTJo*vU3XX`s$F5fQrBu5SZxSKHRN(Q>n` z>ccJIZrghTC?2+R^uhGBUAPVU1GX_A7~!C8)E9F)WDBF*UoTq_oyFs8`_&P*te@>M z0VMd_Y%Y*{*!FukFavD4-(yOFw#7<2dV_4se9#+g^CCa<5!(@e(1+Th-v+lZ8-E?> z!)-z2nToLe@B|2>Z0yw-i?(f~t;@~Yov}8K3kc$D^;A!D%+|jc8phjt z#~~rXHg3So5^Ww;;F4lntt9_vs%=vl zcnWfhZE>{KDzUv-L(ktSn`}O~mD=LTF;HgnAUFA0+kMI}EVpqf_;b#-`dy%$w~d?w zw+h?)lr2$d^Px>;mFTOHXpkagU z&MI^^+CC*0slCY-NXINR+g=?8PK#|P`5{|v2Q6TF(H2R|!8Y4F`yjsE_CN`N9kw6U zuv4c^(SlZ&&6OOrmu**`1-N2cPLAGQTLpbn`)ohALZ^P)mkQ`RVB1D7%|Y9_dB7a9 zt$PpPs@=AiDtLx%iS)g{W?T3TbQ`ffG63~QZMl3H@w%-*3X~hR)qJqIX=77%$SvC- z<#UbMgygvxw-w=CHhaSM`A5KsSsWc^A@1x?NB!g6dwoo9L(3(A%?cQehvlMn5VzP zg8%%Vfet$;Z!XAT{ZW`L*g;5v>=1{;Wc4Esjpsoh>JUOXX5kKhmt(#W4hnM5MLInF z2Xu;Z@S6a6w8Q&UKzG#Po3}v_>rnX`2;v+(cESk99JZ~1z~c^1TQQ}0ha(x#Fu}nZ zV@Ge2gSirf$qtT`r(I@1%0~1W%9J1a9B|ZNtq5K&!KhFK}BW9 zSq?wZiYD8kAry2u4hk>G&2wm{n$vuT&*uWOz~NC^$rL&?RDit5LHjdW#SVKPr~H>w z4#~7`E_GqreQ_E5le~yL@=zVLT19Cos;Jhe)hf-~dyfPy)v7A(%U-gFL?VJj z5QHR>h$LhYD`ZKGAUk9yWUv4C^z-q_b?-grd(OGPb?-Un-uI9~s`u@qyD=o?_AT@@ zJ+e=uT|pK0d>Z^p`=Mq)Keqpdo|q^0=is_Cj<2%cN-mS<_P6Gu^M(EAhhfD_`_yKD zR@d#?DHvb_sU*x1r1-@ z=LkX4Y#(+S;#=%br~%z-pHHvCHv1y-avR(26B2>eVPBPi&QAN!ETBx6{kt>=>9)7J zipDqgQ^~#l*1n6T&pr0roWam*@8AJ}efHbxQR}zYP!wdq{^4X$4%+84Q4HC)yaSYB zd;TO~j@c&_qUOY&aS?pZ>|euBxER@sXs44aduI>$-Pj*YL#sP`U>rusgYB3FMo+dM zt*pJ+R`=28&HiK<7W%Niq-awB`ws1f4`g#`0vN>pnr02bY>V$8K7?IQ5$I6%-Z3y7 zWv`fs5shTen2*LNcCr;1j*a}dw| zY9DH6*b6Be`vSX?R>lir6dYNRS8YV2T|*WS1z=Sj@J2 z4GkZ$pM4L?3N~jo#UCo!=Ar0(%>H*iYR}m~-7?1UVc zUC-W32S_xq?{Q&8BYXQ=T-YXdFI|II?AdI(_1L%R)7s3w`(JE|r<4l%SWLNr#r#m%elS?41SzbF(~{w;zEE0aVlN{I+%0% z4SoMYI0cm89?H3O26DqVH^~`vgk$Omox(Yhcpk<_aHfw#<5A8@%BhRwtfwtbQJnL% zi}4sIybiUKob@yor#SCzf{0j7e>WQAI43$WPUkq>9T$_mQ#@XNl^)or~;eML*PRWn=*QfIp^uSTf+Ik3?fQ7NtD%D#@UgJqMV~#49Z6w zOFE#Vg0njZ;ww2Bv^aar>7dx{GtPtm5->TIl=1nTQ!9bo7o4-pfccVR{Cp1ht2u&W zsMc_96hZG=&R3f-vUMC+DNL*9WYemZjR3bT)a0N zdr!c;&uJ*fIDM3=;>6ueNr%o{A9})FxPQN4Y0Q zF$j^|3VJA`xbM(c?HD(n!mZI4EOcT=`)JoisWh(E&>pQioqXSs3Y$vemWhxXM@t|+nOjY2r*PdUZRZO21Byqda%<{g zeHwQe1#i;1-y1M8SGkEMurq`E$84Y&uW@HlicU7yflhU~&J{X<;|BM)7|`T#OTWO# z=5swL6jZ>yM|by4?))4y-r`PUfT579DMH_E?yl{y{tmbGOGvuQb*FgeJ+6#AF88_X z-65ffdz=n1dcX~*z|KSNDCHs)8@aXrfWL%$)0z(yd;2#Y4b8aUksK4OOp@iU< z+*;ZyRLwQr3-%iBlF!gr%Qc=a08AY>k!BtB+_4IvHE?%RtgVqNqZ7HBxM4Fe_^-Hr zXTblO`%f*3X0ARFineh7Iso=ou9Gc_Hm+kIu-m!j^g`|6T2}$AlWU;cxr=+55<$AT zjg*V^IL9{k%9z0+@&)iqL({Dan?R=68-vjKX=bQ^bK$&M=*$k+-2mJAL5$O zt6`YCp$upv+^@v2Vw8KEmY8E)$!{1^CmwGuL^$)DAA!V$x1<7muDo>eYPj)UQ;^G@ zC$tBO2hWd5*+ZVZPbtsVi&yd*G~T@6mk{W~Gj4~9hj{`@SMuc@-V72yp4B0c`15L# zG28(>2_20Q$oqU9Bn9y<)Au@<#|}mj!rMc^{7{}V-OgdWc=DYc;YB3@ESz`A9y&$v zj!J0#ca-N^3(!bjZXal(c#kLoeT>)H0@7&SUdnbl&f7)4{utg>dNZBi4cDVM$!pyY zm^fbhC$RoBZ_$SswRqlrdi>AuWFtU1%iGVwWje>JCI3kRZ-fp-JkN8XB#{feJ#qA# zh!=S)$lsgDyI_OXOT3S^K+cjq>AV7(#a`w8)&RZ?-b(r=U*nZXp;IPr7X{w4c>|+jnD-84gFfRiX}fb3k3*5h=e%DiC+;OrKL?=IyjoiE z)$lfvg|)oL@1R!4JB$sMhxwPF{p7Bz5sN(ju#ymv|7x8{X({ zki6v?FFDw;`;RQ_MQSsKd+F|U

KhC|*UugbUv*IOWkUENOehn|56*%XVf;@$0ds^uHx7N_{EK5KBKSwPV-Sw= zf99YT$?uvDwWIhS&j7K^ z(hNP8FCY(K96z)WeW&>^Hi9yqKUoF-GkhUMWY6*st$~Ph{Pn+p^J7X~KtSvmYq zA7X%V`Kl7=l*eCr3by3)73sh%;J-?PSmRCp!2ncm@msCIQOK{;Lbuy|=DV=z4*y9b zK=1Oce?xJP|C9ms@AEUr+g8N4qwoC#{uLX*Jml}7aCkA_pT1Zne0Q4sm-5$9%2yfR zQ4i>H{@?$A@)7?oeFiJ|iTxOoN+bUi<%~S$t0=$l3EzWGczeos+zJuT_-8X9qKf}a zg2w0kg73lqf`4Wa8ej4w$@5Xo51^lCuHi?KQ>T_MrR`~T{QAuhU(Ywi#Atj2Uq%bJ zMt&fLvzz!I-GRJj{sY?c*}^w=>e1TDKeQ5>w(%P&KHSc?p!}u|{`T!)?Bp*dxm|p# z5KwmWy(m5Z4SzEe*l+nJl$z7S|A`_qBmB9uz&FbOmttjO{10f`hLd0;g^-*DKR*D2 zi@?$za$N;m+EH^8956~i>Mr=5(wsa5lZB{x3f3%w`d)&2Z9wxD$Z1!Dk3j5#+F`+V z6X@h8VBP?zzaYIAFaZJ&dIbjxdQ34SK?30l)ItR7YoS`Gpo2acVS*Bhg@y}^DxgFN z{3+geRPcU0t^XngwKRxPf)pC(XaVy&V2%r>A}laIM$i|4#!~|EUU0+;KKmP#ae@t9 zXgnXqv!;f0=W(taaMPrtLkqW+S!5P|kdtKl~o6K(rTz^4dj(|;Z;aou+O;hp&(;>(> zK3{NmC8`C2U9^AVreO2?82np;zpBt!C^&To>faVjae{_-1of*hTz3VzZ7A*us^5d6 z_XQu{Ltl|Vqe0^X!ACw|e<*PL9|RT)&d>v2Du_r2N||8w9@NSOb{o<6NYH&4iW(~f zcF`y+1^2!O&11n6UvxebSZx7zmEb&WxOgte+y;^tf^);TOI`||(A2nE@NXl`t`U4Q zACz^1KPU`XFZg^iL^KG#c?T#>f(<6n>6PHl5)Aii!E853Xcml10%nU~34I1zjRNIv zFt!P<(|OeGf@GStbP7(9bF@qF{Y4brf)DH<>8+ru8Q497JL#zP3Ud4)qEC=S`>px~ zYdtZt1A_JBEEp8jEQ5$)!R6}!8xb6v0+LaI<$d&x2@?N=PENvkBS3Kx8pp>0##MN} z8j{?EA&)@gE__Itsvg36I$_*X7*mBlAK{1-7!M2Q?SmD*Li3x@*H8FC5@7s=WeE@w zARJHMgFxXTnxX~?kJBqDSor1%lnD|3LaK!d%ZAYxCj5cCibsU=jTBD{7k2!O)(BzC zQP3O}_R*9vQmCMLMzKOwBNMB_=}3v!>H z61oIIwOFBW7d=d6NG6$gY>*G ziK2-Ygm-8*dr>I)Z_kZTN4dk7gnKCBep&eMWr#=;eneZkl7+3bXh;!?*P?bs_-hz! zNfmzjGuYFF|I)f5L#X!w`!(UP5k;o(!XZ#*3Ae}7`Y&6!Vi=&;g;5kkx*@EgdnZR2 zMT3|t^xTHA$P;#721&lKK?F$!!pj=K+!W4T3kz=vU(!~ELg6|JHs2PeQ1OjQcss{q<#p;QmPCÐ7@i96$)WZ$;g`qIS0zk8 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 diff --git a/Debug/Core/Src/main.cyclo b/Debug/Core/Src/main.cyclo index 85d3c17..9dd0c07 100644 --- a/Debug/Core/Src/main.cyclo +++ b/Debug/Core/Src/main.cyclo @@ -3,21 +3,21 @@ ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:364:22:LL_AHB1_GRP1_EnableClock 1 ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:539:22:LL_AHB2_GRP1_EnableClock 1 ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_hsem.h:233:26:LL_HSEM_1StepLock 2 -../Core/Src/main.c:132:5:_write 2 -../Core/Src/main.c:145:5:main 2 -../Core/Src/main.c:260:6:SystemClock_Config 3 -../Core/Src/main.c:326:6:PeriphCommonClock_Config 2 -../Core/Src/main.c:351:13:MX_I2C1_Init 4 -../Core/Src/main.c:399:13:MX_IPCC_Init 2 -../Core/Src/main.c:425:13:MX_RF_Init 1 -../Core/Src/main.c:446:13:MX_RTC_Init 3 -../Core/Src/main.c:489:13:MX_SPI1_Init 2 -../Core/Src/main.c:529:13:MX_SPI2_Init 2 -../Core/Src/main.c:569:13:MX_TIM2_Init 6 -../Core/Src/main.c:624:13:MX_DMA_Init 1 -../Core/Src/main.c:652:13:MX_GPIO_Init 1 -../Core/Src/main.c:719:6:Start_DataAnalysis 1 -../Core/Src/main.c:802:6:Start_ICM45686 3 -../Core/Src/main.c:881:6:Start_BMM350 4 -../Core/Src/main.c:934:6:HAL_TIM_PeriodElapsedCallback 2 -../Core/Src/main.c:952:6:Error_Handler 1 +../Core/Src/main.c:138:5:_write 2 +../Core/Src/main.c:151:5:main 2 +../Core/Src/main.c:266:6:SystemClock_Config 3 +../Core/Src/main.c:332:6:PeriphCommonClock_Config 2 +../Core/Src/main.c:357:13:MX_I2C1_Init 4 +../Core/Src/main.c:405:13:MX_IPCC_Init 2 +../Core/Src/main.c:431:13:MX_RF_Init 1 +../Core/Src/main.c:452:13:MX_RTC_Init 3 +../Core/Src/main.c:495:13:MX_SPI1_Init 2 +../Core/Src/main.c:535:13:MX_SPI2_Init 2 +../Core/Src/main.c:575:13:MX_TIM2_Init 6 +../Core/Src/main.c:630:13:MX_DMA_Init 1 +../Core/Src/main.c:658:13:MX_GPIO_Init 1 +../Core/Src/main.c:725:6:Start_DataAnalysis 1 +../Core/Src/main.c:808:6:Start_ICM45686 4 +../Core/Src/main.c:896:6:Start_BMM350 4 +../Core/Src/main.c:943:6:HAL_TIM_PeriodElapsedCallback 2 +../Core/Src/main.c:961:6:Error_Handler 1 diff --git a/Debug/Core/Src/main.d b/Debug/Core/Src/main.d index babf557..d45d13d 100644 --- a/Debug/Core/Src/main.d +++ b/Debug/Core/Src/main.d @@ -68,6 +68,7 @@ Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../USB_Device/App/usb_device.h \ ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \ ../USB_Device/Target/usbd_conf.h ../Core/Src/MadgwickAHRS.h \ @@ -155,6 +156,7 @@ Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../USB_Device/App/usb_device.h: ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h: ../USB_Device/Target/usbd_conf.h: diff --git a/Debug/Core/Src/main.o b/Debug/Core/Src/main.o index aeb90a8f910392a9434c44f5d0487d00c8df3113..fedc93b6ae31f26b00e7f3e88d80879c1c3fa9d2 100644 GIT binary patch delta 173224 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%0D5xSkyv(;!7fXHvZwU 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 delta 172146 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ⅇ#%y6>X!u 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

aGGfNcj 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 LJ08#Up7wtL>tmA@ diff --git a/Debug/Core/Src/main.su b/Debug/Core/Src/main.su index 1f08f71..576284a 100644 --- a/Debug/Core/Src/main.su +++ b/Debug/Core/Src/main.su @@ -3,21 +3,21 @@ ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:364:22:LL_AHB1_GRP1_EnableClock 24 static ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:539:22:LL_AHB2_GRP1_EnableClock 24 static ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_hsem.h:233:26:LL_HSEM_1StepLock 16 static -../Core/Src/main.c:132:5:_write 32 static -../Core/Src/main.c:145:5:main 8 static -../Core/Src/main.c:260:6:SystemClock_Config 112 static -../Core/Src/main.c:326:6:PeriphCommonClock_Config 88 static -../Core/Src/main.c:351:13:MX_I2C1_Init 8 static -../Core/Src/main.c:399:13:MX_IPCC_Init 8 static -../Core/Src/main.c:425:13:MX_RF_Init 4 static -../Core/Src/main.c:446:13:MX_RTC_Init 8 static -../Core/Src/main.c:489:13:MX_SPI1_Init 8 static -../Core/Src/main.c:529:13:MX_SPI2_Init 8 static -../Core/Src/main.c:569:13:MX_TIM2_Init 48 static -../Core/Src/main.c:624:13:MX_DMA_Init 8 static -../Core/Src/main.c:652:13:MX_GPIO_Init 32 static -../Core/Src/main.c:719:6:Start_DataAnalysis 208 static -../Core/Src/main.c:802:6:Start_ICM45686 152 static -../Core/Src/main.c:881:6:Start_BMM350 216 static -../Core/Src/main.c:934:6:HAL_TIM_PeriodElapsedCallback 16 static -../Core/Src/main.c:952:6:Error_Handler 4 static,ignoring_inline_asm +../Core/Src/main.c:138:5:_write 32 static +../Core/Src/main.c:151:5:main 8 static +../Core/Src/main.c:266:6:SystemClock_Config 112 static +../Core/Src/main.c:332:6:PeriphCommonClock_Config 88 static +../Core/Src/main.c:357:13:MX_I2C1_Init 8 static +../Core/Src/main.c:405:13:MX_IPCC_Init 8 static +../Core/Src/main.c:431:13:MX_RF_Init 4 static +../Core/Src/main.c:452:13:MX_RTC_Init 8 static +../Core/Src/main.c:495:13:MX_SPI1_Init 8 static +../Core/Src/main.c:535:13:MX_SPI2_Init 8 static +../Core/Src/main.c:575:13:MX_TIM2_Init 48 static +../Core/Src/main.c:630:13:MX_DMA_Init 8 static +../Core/Src/main.c:658:13:MX_GPIO_Init 32 static +../Core/Src/main.c:725:6:Start_DataAnalysis 80 static +../Core/Src/main.c:808:6:Start_ICM45686 152 static +../Core/Src/main.c:896:6:Start_BMM350 216 static +../Core/Src/main.c:943:6:HAL_TIM_PeriodElapsedCallback 16 static +../Core/Src/main.c:961:6:Error_Handler 4 static,ignoring_inline_asm diff --git a/Debug/Core/Src/sensors.cyclo b/Debug/Core/Src/sensors.cyclo index 44bbdce..795ec75 100644 --- a/Debug/Core/Src/sensors.cyclo +++ b/Debug/Core/Src/sensors.cyclo @@ -1,18 +1,17 @@ -../Core/Src/sensors.c:18:6:HAL_SPI_TxRxCpltCallback 3 -../Core/Src/sensors.c:29:6:HAL_I2C_MemRxCpltCallback 3 -../Core/Src/sensors.c:38:6:HAL_I2C_MemTxCpltCallback 3 -../Core/Src/sensors.c:47:6:HAL_I2C_ErrorCallback 3 -../Core/Src/sensors.c:56:6:HAL_GPIO_EXTI_Callback 4 -../Core/Src/sensors.c:75:19:read_icm 1 -../Core/Src/sensors.c:82:19:read_icm_dma 1 -../Core/Src/sensors.c:88:19:write_icm 1 -../Core/Src/sensors.c:95:6:init_icm 8 -../Core/Src/sensors.c:208:6:calibrate_icm 3 -../Core/Src/sensors.c:250:6:enable_interrupt_icm 3 -../Core/Src/sensors.c:271:6:configure_interrupt_icm 3 -../Core/Src/sensors.c:293:6:bmm_init_DWT 1 -../Core/Src/sensors.c:304:22:bmm350_i2c_read 3 -../Core/Src/sensors.c:320:22:bmm350_i2c_write 3 -../Core/Src/sensors.c:335:6:bmm350_delay 2 -../Core/Src/sensors.c:346:8:init_bmm 2 -../Core/Src/sensors.c:385:8:bmm_configure_interrupt 1 +../Core/Src/sensors.c:18:6:HAL_SPI_TxRxCpltCallback 4 +../Core/Src/sensors.c:27:6:HAL_I2C_MemRxCpltCallback 4 +../Core/Src/sensors.c:36:6:HAL_I2C_MemTxCpltCallback 4 +../Core/Src/sensors.c:45:6:HAL_I2C_ErrorCallback 4 +../Core/Src/sensors.c:55:6:HAL_GPIO_EXTI_Callback 6 +../Core/Src/sensors.c:70:19:read_icm 1 +../Core/Src/sensors.c:77:19:read_icm_dma 1 +../Core/Src/sensors.c:83:19:write_icm 1 +../Core/Src/sensors.c:90:6:init_icm 8 +../Core/Src/sensors.c:160:6:calibrate_icm 4 +../Core/Src/sensors.c:228:6:configure_and_enable_int_icm 7 +../Core/Src/sensors.c:284:6:bmm_init_DWT 1 +../Core/Src/sensors.c:295:22:bmm350_i2c_read 3 +../Core/Src/sensors.c:327:22:bmm350_i2c_write 3 +../Core/Src/sensors.c:355:6:bmm350_delay 2 +../Core/Src/sensors.c:366:8:init_bmm 2 +../Core/Src/sensors.c:405:8:bmm_configure_interrupt 1 diff --git a/Debug/Core/Src/sensors.d b/Debug/Core/Src/sensors.d index 09c2a8f..daee9a1 100644 --- a/Debug/Core/Src/sensors.d +++ b/Debug/Core/Src/sensors.d @@ -68,6 +68,7 @@ Core/Src/sensors.o: ../Core/Src/sensors.c ../Core/Inc/main.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Drivers/CMSIS/RTOS2/Include/cmsis_os2.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h @@ -147,6 +148,7 @@ Core/Src/sensors.o: ../Core/Src/sensors.c ../Core/Inc/main.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Drivers/CMSIS/RTOS2/Include/cmsis_os2.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: diff --git a/Debug/Core/Src/sensors.o b/Debug/Core/Src/sensors.o index 1db5d63e5c7b9f05c46e96f1b386176bb00dab7f..8a220648db7dea31c0dae0b353cc89bcce255d7a 100644 GIT binary patch delta 340117 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

  • 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 delta 140381 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�V7 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

    togdO zYUcB@_oLz!v% zytdxR{+BxI9sGo-w|44+T7%B|aeJt5wB9}oMU(ZrZ=vFiwRbu?o2?Jpp!U{!9_K~9 zv$p1Qbl+RY^5X1+_4I$x*kXMm3^qAx@1FsB)eSzA%l@Jr8UB%DGL)vi}APLs4u?CpKT0dT3hiF#~Mq{XUu{YEo z(fS-g-%;%nUO9zn<8}N<4A-WxlOsa=lB3&^TDO%@7^U?v2mE8&QeM?XYb_06T8vgX z3Td(0Fg@6GT>By!hMv#{w*v1;ZRl~}T zPMWx&J)}Z$QTx?e6qmI7jlqzioyd9Lm$l~)pt!2_>kbr|T9ffml%@Tp3Y6EhO~Dw1 zY;EpNUjOB2=W(XMP3`JBXu72}<&aLUcI~%7k*A%=&$)cPdx8t-T?^C1s~ z+K!x?U93H^3PSH{YdCaVq8+y!efPB2dC7HOyJ-ss?}7Fp&kP=F2f6`$skZeN2E9xh zid-I@Qm)nTgzS+vgL6wCYj5yu>4~;0yV)wVz8q1i)cSJ%%Tuk51S_6tWE%}5R$p0nw&5SWr}>J4E1HJf=O!JlpOp9cp2 zhRqNe3^#2i-T}~CHc$ASoNM!*!w`8kJ=l?c)OJY}8pCYU{(<^%+ZjByjj+|Fuoo%P zcAh6Xqij#`#f!E*$|_=Pmnsl?+*Z95jc05}YhiYh?TsN2de(NxKPb-GjyeU(WZOf$ zK2Nco=mkxww#z19MAK}?4uPhtwq_hE&$M+kL@mp9Eu7v;o^5yjor`?i1G+^JT3}nU z6*PBjv%ZGHBHOSIkbT$onGH-UvAx0%xC-0JyoLno$7i9h+V%lk z|J-)Y0vPe$Hfu73wb*X0goUlPr|r=9(e@l4;PA;dr3duwvb)MbBL};ci+KIF+pa5T zKsws_`=E2LT?&8io$P)*i@tq!H?{!qemj}70G#bQa?r`e?q5!0bG7@Cb1&TOO8G_Y zVHcGODV}ySI5FPKZpI&|dD~U^2e_ui1t3g7dmv`-f=Eu{#|EDL3uxc=B-DZWXT-bL~1t@cc8+&fgiN`F1Vr z(kies;=>2-*wykEuh8x?dmxJJ9)1IoV!IC6kapLOhN393^SX$>dv+gqYyJbfr<^cT zYS+0fRFv6;at=|I-GfJHthVcE3z^UD_J;w*3%h=tLG{w^_9n3FYV3N|K<_KNGkwwe z+HTh=wAR@zE=R52Zp0Swzqe~Fg}oo_+(yIt-JMG~dBU;t4kR-udpcLF0JOcG<66<@ z)VW0sz56=P*^R#aoh>+G;M_T!-Rdr#Cr4tOTsv>zVAkkUBk(uaa0fz6kWaxRk}c^?J2KYhop z;Q;!cpZ0;|#wP#<(RM3Xc!)yI$Zb?7Xi7P*_BC4X0;JhGYD|W->-0TO!E$If`$}(6 zS582?Nu?K|{T9t)&&zG{|C~Bag@>Uck1BtMZTS>76y_Ju7rZU#4wluvmEkq=&_pWvGP+ zJ2O}qD&9}QKphd+zeM9v5yC?oCYl>S87=~*!-xp6goC${!jVtpiW07zGkHvm;|*%j zVsBe@8>_cCmwdMSQE;81l~iqv7el`yFX+%l?YX^gwlMs-qpo(I`+QZ@Ti5~bQx z1~3?ZgF{XN$j}QCkpE=c0^GyuK7sP*`EBw4ly4&eW#+tQXj?kH2_U!b;QRDH7tRK9 zrpkvPb)!+e0r4EIwt}e3bVrAo)o0;t!+Gl8`)~GO^?k${tUp`u-mYK1eGSfJu% z>!NArVcX)-@_LZ3TTorHW3y3AW4z33C)|K4Q73*>_|$dsRYq#q3pe)MiM`26X}RZs@$ zXlyRPA0kUD=nbLZbjUtJUH$;$QF4C+(lB~)2bP7?6i(cZpg|?5MbhV^OQLA|EucR} zHoL$cO}}!2Yz+Ow520B4^csD~>E16WPSCJsC_G6`xuA@r?{-6NJn7yv0rx5T;s&ax z=_Vg)afbSEs6L50#6VLzEwBZc3*?yrFc-;VF=St&vFtv|pp3)7beTE~hJ{y1%UL*? zbiEBovgl1Y?7c=W_=%QH1}$j3PSd`D`W))RFU1?QO2@kq3n`QRpGDO39%{uTFM-~> zw2uQ)EBFpQdrN_!W6RfoZkm@(m!qCM{>w*U^9M7^|n)HBjF` zz2?HS4|LTK3R`G9KZ9E749~?sl63?c_lnn?@!}+gG=P1d_z(`h{bJ}V)Vzf6b`;)X zB_CFDKtyxA@}Srr&F8=Ph^QP`?<=+^0)?OWk`HY27v7#A4GZ%8 zR}a{6lJ2=fUK|-7L0>#cS1=k0q@Ds{r|9%KNIp&5*in{9qd5=!42{^0i;+ZwKCu3? zG=O);o}-Yv(3?yfLr|p9XnPc?6n6(G(&%jq_|H=b=X|EqG*jrkK=1Bih%Zur8K7Mv zaS62yO5$9M95PQq?FP-`c*IS*%U_RM)Rr^9Z`1rQ0W_CP%Q*i$k1Y84lur-%*-$_m z`Sg)HWMBd@g*3Mk3X8~yXM)8vVme6fQZ8O(N(r^vqIQqkJw)w3^=I$S1M0;t#E0}V zKaxr*qa0GoXm&C5mXq;Qpm;>1-eC|P(_`LiqGx*T>ZrX1G`*wy)hOQ6+e{Q6sEkv6TIh@YP}oYISE2ADb>bwZPo&{DpR>5i zULhCJlmyYPVj3@a4~h6Gi2A~w$G8&C(G>0=6(pPLUAB_8sL=V8 zHqD2MXS8Y=q*c+_bs(*#!oDb8&@Wpc?Ira*3(8m2YbmU+rBx>&rk?)fbx;H8ABV6v z6v8{4nrSC{Lq1U--kxGFhD}4UOW0>Y^nMZEAC%5Iai=SgdW)!2u=jxYVhq#=iJ50W zb4biD`h0I(@JA6LBKY{wND;v2#YBk>yef(lw})a#WD2&>Iu}I`|T5z#g#L?Efq8F!zmWb}WX1^!=I)d`PIIt0X55z@|v_BNr zSEE)chId0>nW(=6edXd`of={uiIxQr^H^Ym4qh%|{!G*=gz9_LD#gqn`ND|2^#Jos zc<>pHRifj3j9#^v;0U}Qgo}U_2kADuZT3r#{)Gx3X+<6y6Q!o-U@wp~_xLhNWBA4H zFK_>x2`|UD;q_OlJcZ}}S@Pz;Q547_ZUB5w-h*Y_|E6X>Igq<(lovEF{$@UeFFE-; zpe1Ms-f z-ZsGFPA@no(SyD(K%XbIk3r#unGV>!>F4VpIY3>EK3{+UZr&^Y#n}a?ISQ~cl-JCwES}>3E%9&A zz4ZbARMWPBrBMHG9Ivz-=o%mSwVOWh8pVYca-7qZdUHm?K|0JXN*@X+Mq@Dj#c7m> zDQXq^B55Hwd4s%`qVXmzr?w5f5qkV&E;MBHsN}Mlo-JshmuXqVW-Rp8=9; zdh?2%Ue76!Uw$vBq#pLZB-6!EQ9~^g0Pz)#;fM?#v%H!9HRW(TI8{t2VY9`JVvt-G zMI1@GDhz*tiY#$64t+VouRoyO63_Ww$`h7+?Ajd>)d?57SgdMA?Vj*3;Qa@s!kM3J zm10gRNM8v}D#W-*yF>o}*Z(h$Z%=jLT(f_^;*7#+U!(!{bmPasGQ+D6jGoyNhn87? z7olbLT;BFP$BDO8&27&YZC=70m^*)eD0mmxvEyrDT@hq1I?}+;pT)^-AYzF%=e;a- z*aZ>G+}VM>yww3ME0^DepmirR@ww^n0Epfa$7`hj-mU=6jz`;YJMAKa`LM`={^Zw> zBmKz!;C(b+4?O$nH;zKPkUxjCJqWikKO(+~1{g2WjmQNfR!V%(&H?&!Ef^2dPCnnl zhkE&g(U&$32dN(o?hj4=WU&V%0hG1@3_)~%3_yfXS`jP=rT$Z3?NOouupyHE<5^b} zb?X4Vag;D0eDTzKF@zi_=BXuGmUZsW*FlN#=UUp$M zQ;EK88qSS5bnG_3+@R8H&|68F7oq7X_2U$pXB6`}pOyB;0!1~}L?C%i+5AeYrK)eB z_cfi@K}sDhh|r<+4OR2G9L=#Ron}ZEIxtc1U&j3lK6oKMAz2;3^mudBIFkGR=4i)jqR)sV}gQAFP9-}Cxbk1?P zOAY}LQ%=$Bman2j4#!oKdl*csr-8g|ZJ=o8Youa~vC>3?3c&YO(~bc6J;Q4wg`HR19KAdYGt90bjVdcod=|gfb9~ks^avgE6A9 z3#6PDjhLS6@Dy`#1Wkq*$=Sk}#rF#!`-*rt4brZPGrLh_iZkKh$Px$7qqrtK*}ae} z9&*Z8o|w)axO_2@pELy`hrNq;#3EjUKM*%op!QHK=YUeBh^~YBr^34%V80TEo*>cH ziWYW`HVYqKOTHDBt0B~0GU12IE@|yB)b>m3IWXib>Hh@|Z%NCS@_;1xI}jwzsetT5 zQWeke!zHJ;Ac>HI>_Kuus^ydWPD+t{L~oLmo`=4(QbHR5y&(O`&-{xz$-xEHGO31_ zI^|LhPe-ey8T>eXE`1XQzzx#D-cZpf4bDPei*)u8gtkhnN@2x*In)w`v;5sa6fW|O zN{of8Z2K3~yUC+$pwL~OI0e_oLkC zz7Tn&g2qrehr?n=WZi6ByQ6Y2zlOu)-BZyQE-%*cgEKWtLzy29|Ps>wn(U&NXVrS?XIfL^nl4LX9{(DaDwh3dIEE_xl&=h$s=dz~CUi^el zlfSzG1JBFL-{MN9%Re81unY3HYoXzyyf%c>04~XM*>|2H8>d6)WqH;+*mOni>IzL) z<={-zGUb{FfS)B#$%O1{as}s_WXl$lAoRLC%LdYNLI023E@}CYo#rJEWxkF@+d^^}}z_ z7pQ*B$=Qe04g7rwQ7^m&lB4RDz5p7b9-EEEXm#vM490QwvvtsLUcGiW8Z*=%5O+~B z)sDjVM4u_Z<>Vq85%TuTFV)2gJ{Xf7jRY3tf3}wAh1P#v21mLApuidBf&yKSIP7S6h5;9m;8z+uS(x{qOSg zp#RUH1(e&{DNwc}xE}xST*_NMbWH*1-A_Mo;;J)Y4+6h=JF$Pml?;ne_~>ZLEr9l= zn?qo*AMHDcQHZ5v_Ew&zmI3HXrJg)lxlHZGLVgZ?!`pfbDf;u)OfuqoznJ>$0?A#f zDa8FFTb4qnv)WMC&8UW2S(5xRdKXAUjDOkyX& zh@4pTj$9lFp`%uk&F;qsKrJY|z~}!iTw@2KWiERlX!+M~(Xm?LmF}8) zKJRO79~r&te(nyd*GF-%WW)JMfU+@23pJa(Il8*}AWo36h+th3CZ{G>#7__oVT&p~{EG^JG1c%Gp;CMCrU>4JFrIpp2k#Yk?z@ z0ywEHiq`9a?>L>@3$?lgy4e*9PtiGc=$|I_4QNWFxpUE&LKR)WkwzzG;et9TYw!Nw z^Qi6gGKlEYSc2w(&irB+7JL|dV>_DR^H1+D0cHB^eDEHjoR!cWMmCoLJ%X}1ToFZO zh)sWfvgz7xsR3CSS+xgQIBnq!`3SnmZm39F8G#~-nmO<882$7NJkj)ME2PKJoJpv~ zQo#ZgakOD9K*R|Z@3@E;DgUCDAim^i(kT(!0~$_?jXwiHqS(x!lSK$G5>tfE=ma=2 zL?hn=m&GZzD@Pp3gBdr(6*s8ABS!Kxt59723FBNOu1tW?V$tOuio0UX6UZ(R^Jk&& zo=D=1sQaP~@78`Ie0geJA+}#a<4e(*Gfr#7R9g&eljt`JByU89?hraZiku*{eiBI> zsd19}ZUgB)=};Ba!=0o>%}a_tiNaf&&o|-$X)8}H4oVID>0C`^zh6N*#P z2tzcUmZoylDpC5n2l&rOwfx0NlH7Pt$XRJCzZK6(o%scrEZy48_l$Jm00u8rn&b^I zX;OVQM!iUy{Sh*sN!@y&uUTqfm${RiAHdJwBXZi8nOX={wf3B_YkO(dFxq_ii$91 zhg3z5s2x_FjCB0|;A55)-;_IKdws5U<3#}5A5{+f)=cRSt;ZTSJnR{ z4Pq2~XsB)i^zNmeDQI`1f$Y`XM^^le_M{tAfx?T1at@w1-Ft?{1N55rg&m}<2@rUQ z^jl!)QJT0A>|yjF14ShDyaa}5YUYW^aeB0eJtz1Jri7Z$VA=@akEEY@>8Fb#8-l1y zl=BqYGN=@nA1k_>ob7UrRxiRR<ETtM

    b-eBpOi6`CA&gce?=<@W<+m+4(Rnhi>r>8Zxxk2gI&4@s73+v`YPnFbAqz(Ui` z?IFU|tVa!Sc$-z{=a`?FO#pP-W0t~C_)xRiRbj&;W^Sh;@TA%LHprbf%Vw`fidnk> z5T9vw_c)SgW@~s{`rT}y7ImA<(?cQ15M;jQ7!*Ef9>M#|)65smf@yNhKMzE%(ER#$ zTpn935MYQ~n#E#vX&{bSCa}j^){|ki^Oi5?@r}Z=<`hs~ zveeuM=2gqc8@T4KTblO;N`~cGXE0=08qQt@X|82ZBr0E7x>kX1`Ib)_K>hcY;XPpW zkCw~+pzfRHUARk>Ld(pW;4iXlG!US_EnTJ~=T@eAGc>}ZOk)Y%>{aFkJDxU{sdEDi zzGZek1g2k^r1?PEQ6}sS+`P3iH{#2$# zI3#(LU9thto@IX+pwou3&N*P;Sk_(x%q?Y4uiztOwv}D41={Yis{}*@mW|m2ngeC4 zt%CZ8${v~nn3%FfeD^w6b}k2#T`udxyZWz|UET({TV;D-ztF$ot?wuBjQKJZHXYl4 z8$QQ>Ifar5h;4xTZ77F?OwIj>&*_uTfpx}5!(XU8vmx)go&A?bMDyN{hA#7?|Dr_; zr^JDI$!!i^To%m{swCk*ZZ-tCk=<};?M}1!;qO7!R)T#!jm$%#HzjaK zZlpFmGTuZhGtk=2w8j^dJ83U3>KS%XcxzZDkj8|9F_^}1F(t^$%7!e$I&F9_Eh(Q z4Ts0`9Dl@%X;5%vhT#vSj^3~x6_aPhLCTcyiugYDJqJlm>&3rfC+lR;%y`VM$ORU> z4P)VqJ1ALXb_fuQjZ-0D$*0)>U24wL-!(;iq~_WWxhP-PzbF65n=e7F3#Id9$d$}^ zAC4Qvjt7Ckoq|3C#)De$u7dS6m~U;KH10JpyeN?4C^t|wex7;LV4ikuq`kayy@}TI z6KFf7-Us_msx<|PKXqLIlmI%wSMUL{`U<`<@<~GyP8PvP4$@-|q==wOymKbfK*wvq zG>51K-@^~nDSi+|(ZEO)9-%|lQ1K{b%TV|j{n-lsX!^oyQOD^aKXGFy)Ek8-==L^{ zoTNrP%RNOt9HMfXUM~XX8EVG^xwDjE4u)7-WQ&%aqnwg$Kx7zW37ecJnb%h1shkt| zFVL_&a9pI_yh$K|>|diWk*4hc<0ZQD0Srl0;V@c{brl{TU7?Nqut}k5yt^iqrXNM_ zD!nvb;XYmO3k@I8tSP8_NN+ec`VoC95A4U3z6r`?(IGc)Qr% z1LAiG#|a?WDe_)|-6$5$LfsxQa~Z6*S2#345-5JMcQ{CVRe>^CT;ss>5K;XHC_{xc zesug6%h{*Codyk2Ryxl!o^yA;iaWR{Bx5S9I@xVMG1iN=mib~IsJ0-rcOW$x-jO3t* zSaFNpQ|H9g8_2~8^T{yOd0`2Mp%O2$_yw#N#QCQ%P@-rz7V0O7B|Je$7FUZbVM3IWS)q3e^8if5FZ+Y^r@)ef)08n z6!ua*7dw3b^HSLJj>r zzk*|RhgtJo+QF5lIK#`a6Jx}dttc6};yr37)iLnyZpXVpkT7{HZ%~>NxChl!ueF7( zrfuh75~qB2Y)o(Q1h$-Ul0(UzvkpPn%%PK^`YgW`0L`wG3*I?{Eg)d7_6vSo^TvDO zbG~!{ybEmOQNFOZD`YJ);XQMU{}cduNsNZq-7RLFNsZ|czmg`21hA1j6z z?>qse4~?D;5??yc57;eq`6cw*Y9MEx`}$Eqca(0U%4?w4cKXIIecD0!=b-COyz&Nx zyGUlwwvp5opvi6;#Vh6hH2*O4-9rdb=llMOjR4zAeti7!KDuxatq7!_^-vc?XZZ~y z!8E8UP(o<$S|}4rhSBX&xu2HuIQamDhJYiCR)?W5oZfgq?r{n=1!xSdwLxJVonHgJ z&r|(M&?1Fen?Q?HDy|LoJGAErL}by>mJolJY*k>thch)H@G13Og~I3bCKMXopNyO?_(G+x5=BDB~bhC8Efvp6*rpgv+>IWYQ(Gbo0!}Vb-RQo z&pM5GKP8d?@oOwV_u@=WbWgD8bq;EW2>1V>MVPq5yKTcoZXJ*u5(E1ncUU}G!MD?6 zq9YILq6IE%zCSFu475|CE3bwmh}&yWmnd3y17))4-x!Ks5d+gea#eIXfh1j6Jc7PA zMMzmBw?v=OK)EA^MMBXmF_q)cABfz_pnND2?Lm?wd|m?ViTD-5^PlIUzaA>S5Y;=Q zp|3^Lqu_WWW}Sxk_u|7%nB;?)ZHv0UqI?0&?JfmuLC#BB&R)IEl4~!J?2#e@p<0M^ zYZ)YkN*TNZKT4{x6p~I!?XRN|=cJp}q1r|1>^4v)OU6%p|Gg>sa`0M~bg2T8$I>)5 z_cQ7IUP#K9iuktnQHo@r@;7PDf584FxfTO^oBS{il>6lHK0phUKa2o-sBFkX5{63^ zg%R>Qw&-EGZx8Stm#h5&-xYaZA_vvuuYBLlZ2$H{yP~NbeEEjhF@~McHZiB6ZznCg z8#}k>jgnnf@FhUB@TMAFYX2MVdKl;;+;^2 z`*NcBJJ3vW=YuR9`~5(z^KT0P&#cl0ip)Bii1OJ7c_K1rABQr}^}Y(F<~g;8!1*CN@whd8;FunNa$x_|9(w;ClmV1r zjbty4s|pM3qn{(d7f9Xtq6w$#UeM_vMQ#B}1l37H8zN~KhqWH38F0npW-@mLv^YnV z46T73M*$qeokW8>Ah}HICWHSPo&F8b>r`hkw+(-_s}6$(UCyzS#nx^N1ovG~6W<4o z;T4N8I>r&zIH2_rAdgZ#4tYFA4m{_Grg!rh0e|H?%td*Jsy>j^ac@<2&Du<@iFS6f z3C3riI!966H=_{c{h~X7w|{04&Y(YEFI26`}mcze(N6CntTr%=}KhTV-oq&?jHz#xa!5F(afEas(05|SQ zC+Ildp5u%rq(4N-#F3ULne>ORAIBTKs504_Jq=SVcxUufZ}xUftEokaQ=@TEZu(FM ze6D-R{#{RU82i6w_j?VnC2wa!)Y9=fkpI_aB-(3Oc1%HLxsHebE3$r}dgU7q%v`nB z9Sp0z3sJr%`5=BqYg^5O((B?gKyT=70ZJG8@)NCbr7WIsy3sdYg>$D(F5uis4IiK% z{Ae3recPxk_sVwq#a{CO3cL!+z0`Jt0hI?Ro8$k&XpjP$aJqjD@()tist|XKdNl$` zH2Lwd8^@_J513==Q4pGUjz)Y%E{=wEhKbJ82_B5c)2}Ts(go^N2!@L^ZzT#7XpA*b z5-FX3NtYojrjCI!sZ@Ov4Dggp`9AoDy1?}R zE~B~Z`f5?KUfi-|xwy@vD=V=MiEdZSd8Q;eu$V? z4Gf{e;y3E{3q3o44vR09p<0xf$~VFz!YTpcj|$%=z&s}Ge4tviK_v0w%yBWCo$oP- z4nspvh^Gx<-IL;-6R=M~1XMdM`qe}WFNil!kh>_h4ghwFDC9VsR8gLfqD~Xzt^n++ z2=0O0ZQ;@#I^7ZDC!vAaqT*^4=7=AAfbvQNvxhlP7~(i2r$C(Ug3^!TO*Tk>h~%Y! z`6*iS&Y>bvCywnbR`9vR#lrbERQoOZe@8>tON%+&##5TZTXuYh$QnIDo} z7)X9f>&v6{MUveb^x-e*H+xKqrNl8H`7I6l4iZoKz%vwXkmoysWTQNRR~NR+WB8W2 zLw4c)3p?e6isKnan@#>2p&aw{*ie!pz<0x$>U zRvbMMChxtAx^Q{*acFo@KE%(E2sykHY#1po;?p+{$-6mP`mk)^sbZ9Tg1~-6u6z~j zN9BVu9!1CGQz!ZT>(O%XM3f$vdvW-1j9l~=xfAlAzie*#-DEJHmt&%kiDV49t>YehyS}I?| zn4f?9sBu0DkJIg2@;_>batd(Wog5XkSgW-6M|eHuG}dU#Gox$SMXYtNl4@V$4(IvVuWFtp&gFmms|5oLMo@L4qDIAIUz;6hl#S90XL_EyP~ z*XMUjR(yZ=mzt=-7a}!1h6YAScl#iBM6xsRQq^f`-7koblcE-)G)r>62T3`Svj<3@ zNVS$gM6UES9wbkt_8gGDL2k<-vfgrRUy$sR7oR|~UtY>?zX(~+&*&p^7&jtD*7NR? z6xnA!P*P=iy`oazmP2uKP-n_Vg8BY)r=%3eeU;EWlD!CpPvu7eQ2&`6jsXx>^i6%y ziUQeX5t~#lyo|z6@_HV5f0nQF(MezAojhv&DtEgClJD{{_Ry8J7L33N~a#M?`EYj50Ju?nyXQFP>I0i zsFGiG{aAwsbZ%<@6Zv-8<^br>e9s~*A= z!x~H30yT~NDxz8mEi>g#uQ*0 zR$RnHM!o9EG-Ot9PlDEK&mDrM>ox>IQx__01v9(SQ3S%M-6>%_avqea1DH1r;C)RS zsS5_f>Ma!T1j$zF(h*lt5IOUVB$&dTOE0xrLwUKecKLktOr6&JysvwC7SI3dtr&nl zt6zbgd<{~Af!OdRN31qdO$0;ZH~sLviQ7r^WYf9Lz}9Ty1PEw8k0U8s$h;)j^3-ClOZvFk>DDlBi;_NWIS)?&b?cHoZgZO771D`&PU*s3rVQdvQ3i8&;LT9z2+Y~h z16ZfW*i;Lx2l7%ihI_B zu#!nAT3C5B-?OV-=RtV&2)+^3FuRD7n*BL?rp~-Rps!nqEi{0znPI{0?Y|H- zok!(COqU+)+v{q{bCqu1mjPj0?>FFjYJySH%ku$ndb@K(exHGP_}+I7PwD&p=DSLN zr|F;{@Omn~53Isrx`PY{%0n-^?Wfp?>p6sc$nF6UFtq1esAAvZDD)ln=R0a0B6wkZ z`0Ty_9WnS5zK@(^hVoIzasb!FrW}7V zsq=D_JJz?t=j2reeqv1t;tA>07{32b8#E09oNhJ3=k#g<Qs zvBSX)@8(3#ol<@Tubp|=jkJ9-_;ynkuXy^?&p}A`kVQopBYdu{Z zhg^7!e2?NeSo1#hY6bQOWT>ziDn2CtNod6*3UC7HW0Hbk#B92L2{5@dgYTA4>A(?a z_=4*3aS-raj{^TIdbk(1$fLJ)0s5K@-eAwCJRX6+qY)pGdr$A#wfKPwszJj7TDbyE z`b=ebU&j~PV`v3Q-)RbS6jDxO!2F;Q>;m{jFTNnban4P^@t2P9+Z$X2@kSbV;n5j6 z4-p!Q+y;@N0;RWDyBh2p#rcC!bd%71M3Xj)C9|N#R*}qGl>9^#uRU)Q8En|?qN@eR zZtf7>c|@^Oq*$O$yF^4a=w=jqPs7~1@oswL{KcBl$n6m+JTwRpiGC2cSB&Pt!9H=G zS4#rL(;P?&67zY`94y`*1$2m*&w(AGqWC6q`$bL$NDhczR<50k}Oo;_a?hxo~rBJS^i5mJRS-zw9@Aq4`jigh*7 zKj~tB5|V3T=vshX7Z*74;)bZc6h^oye(XnLxFzcDK$;=^Is@jmsK<*fnWA?TusNER@j@m@QJ4fFVcp zYXY5~h=tRjVXo*j1q@Gxe*x;A8AKa?ZafzWPr#TbDz-;^UyF_hfc8cdJcse$3N6Qj z=8HajFMTKauvhuLuy}#o2fQ}~lm)^k79u{1zKc=#NyPDs53_t7w@~=6h&6+F7im;k6~OVQ z3kU^Z)f0Rdt@Y~%;Od?K0vk5!*BT|wlXxYJ_x|BX4uu_hB7%R=TfqXDvJ^{5P07mjTYxTV2vC|NOvXQyipjR%lBy~qR7 z2C{NO;!D3-_BQ&)ZW@1T!!F4^G^8QW0_c7=nD^4O=4i-1nidFq1X61bBn+amI`02q zy1oZ(3Zb4sAPuEqyiqxVOxZ;kNqGaH=OKz(2GGOwnU@-)s7@4`5KWlz@U7O+5C%9! zsqD`>O|I;rI7ew585c)ut|K{5PuVAk*F3U&-~wG%qgfZJ`EO{EU?BHtXhkAD9gNas zx|agdE0k-7!W6RPL0&3(q(bfu+Q=8|O*(%F8r~v{2EfjsQ3^h91% z0cEnttTp=h0ae~eAcUbIuzkdRS77^!mY<>NcH!@b?%E*=XQ0ksEUE_8 z_J~z{G*OV)wG@THqHSF?Eku}iMqQ|Iy9oA!q6vFJB19k$mLrAvO71%`^8<2+#U_qG ziW0L^pzjf}&<$Wm#roHL13zA$>WQ8NaE3ntVvM!lCNf#NBpGrN}*yA5h@kOu4orMDEAiMIGiQyw8_@ReTjs?s*8 zQxrhAOCKu2G)8HJH?Vh0pKAlnU+RX{BdoCQ;9YZpQWZ4{gQO@%3zpj3Aa_7IwHis7 z^qaT3hfDwYBNrtteE=>9>`ZA2FK^wEUYj`XI@nNCQaLo+;_?20_qB-6mN+5A!S}b-A}2LIX^7$ zr~7;vMy-6W3&3m6TZ`t`IU9ifso!}W`yU&H*@3(1T6X=n7%&ikt>?GI_jVsH0Zjr9(7=$npc#CuC+O{W1*3d;$9za1^^@bX$9hMhSrfb- zqTF#TkI$#R^hcYf_vV1ynaNl#G$?aEUx!BXUp)f!BI5h*Qcp7oTRzhV-&c+A12JoB z-vyit)!?D8J7uzW!IQf4oY$MW-9TxBX&{C2 zP%eb_L;(H(m1VcL;UKy4df6cwbsHQ<=<{dUPUtZYITJ{*Jf5vKwGto6J(*PR)h^D6LbGZ-w<2^DUu~ zA#4$fntE{IdKIB|Kq~Kl7>zAJt{3P>$2Wo@ z#g^*1S+IxU3dGdUaew)CUho~Iy;5tGH7~hq2hxN`4Kxla#r{9$1 zD{N(dWyi%?rNI^z`tht~K?M8em(1XZ&*g?w{B&JiSeCEF7lmMVrx^BZdXc&TYBrJc zaWr5HZRK0xcIwK$RwJD_0OkNH;+uUC?OOnb{j~LJY0z(lf$Rgb&tC=FVcInGh{HvW z7aA_{zVH#nScm+lU&>AczSR=1{?~xM8fZ}I_-{zAy#5NlR~c*$YgCQ?4~*4Dbw)|` zwz*KKhHEiOYFhJ%tk(NFps%gHfs#7a_=JGEK~KO{Z%}Wb*Po)Gwn3e%sBPR3?nkA` zg_%&PxxogMh8DGZLd({Jc%in<7dRf3_Vp?Nw8Km8;!Z_R0MYqyU6gm3!lUZ0TY2wN zk3b&F+t%dMxq6=ES4{QkvII1J8~8);fP1`SW#H1gz#K$BP;1wVH<1tV=UK(D>W3lG zp%yRG3^zpSQ88jEFEx(r&d%X6m)RvV){HOkaZ&sj9N&;#8Wa9-z~RKLJRzDilkd=u zuToGx`8{t#nle8Z-<|Ss&sC=1;g#hX6|#Wre2EWLm^qa%|2ey-;&bk_BfyzA?iwiP zzcTP|YSH=%=&!}YdB6LAOWFW>Sr)rLmfN2~YgVY6f@XE5E5xk%#%`vyzOSL&x`B%T zWLU_*4;Q+}8z0=M`5LI_L7{smqr!yqL&sxIZa{1k({AV z-5~HRJ=}p@ELFJ#hI5p{C~@?b@6YF{kKrgR6i*ZVq0I$aS_jERTC)I+NuaOyfSpLs zO2!-1ekAyl=sCwzT&88b2A52eu7KeRHJ*jKG#bzErMXHKlE9Zvg~7<(ph|;ai<^|Q zAIjXKV_nd|40`$!;%`%}(*}@cQnjAozeC%&O<7df6(+e$4|&{h4?Y!;-lt>#@RxbNV9LvwkD;#(Td!4CPfg0J;=q}G7sJ&omO z(nqpbjJi)Wb{LY+w1d4b-^hC=wD?W~c_dLtHte=8qDEM2M2v<>1LXeDpbdoQ|6iKz z3?sORsysb&7mtTPVGmJ>55!w9lGxeqDOz&Syq73(S8otbJR$NHIbPt~EW9|{z(>UT z!z8{UZU(g2A}nq}#8%OjBme!xs0=8&O+1Q&4Y!K|z7_2fGeW>;*dumvh)IC3=IGnK zBDx`R`^4($;0PAGW%IKstB4zoKba%Mt{ND;_Bkwc;(d)K1GW?ue2 zBF1L$B`ch4kVK0QY0&AosLxkdjF{a4U?)XAKKJRAK_v1jI(FH2N9$w7L%!zDi7}VJ z5hrT0_xplq$|H@7BAyRYND#I^AtDj3AgFd(w2Xj(l7;7F6kZXHd;p3l>}RE`9@b;$ zpuAx%UK46`a|u*z`m-nQ{;%OnkW_e9pQ$%M*srfSZNdB*vz&YN@6&6LW8a|;j>AXT z;@i+seH{AQ4IN#xwb#-c;>^+;QcHiMMUGtM%z0;d*fOodh+d982idnaF4|G1`k5g) za?!8~BZu2MjBp$<+`-Xd%#c2g_6wHOY}jsOqcf{pDuwrqcORKq8Am)fsqD2_t3I<> ztBG$^^`GpK!}~Z6=`-4HKu<@9K7EFaaIhURqGl_vzO6N9`nJ}d?QU$*T2s;M&m!%a zKZ{IyFH$=?juJe30Xip(6(L z9ni~m#DJkg9BmyOY{xpXi~)UybK6`j@ZS>u%bZ#2Qa0wW6G2c?WVVO znm*lT%JeqVS~|^W*Jj#`wyoMsZ_~2PbekDx+IW?l*Tc9qyqwmUd%oNluh%K%@Zajp z>l9t8s~EG#7&AaWL@eB66a$f}0*np=^~;1dz<8DO6$6Zw2O)1CXxugk`LaRAXGkg4 z*vd{nRLl%By4fLn-+17Y*j@DdQz%Ma$Dht05>pYn(DfKa_Hf$B`I= zhw5b${PI+5F(QaC`q=5K7#j}NHzXJ1u%RGJHHIJ&+H=OwL&1E@Xlq|m>c>g0@hK9E zmI>ul9ZMlj|AQDaOy5wZdZ0tF* zq@{i%L4C{kl#|!SR-+)W;uWLYD1BqGg^ZKz^tCNkTtT$7_y_W^1Vr5mcYJqMX?1Ej zRdA_{$N#ENqPn@t*nE<{jz!x4wLC{<>^56pMdn)LJbQgz^Z%zZw}e$Gizjwf<8Qlv zl{HIopZ%+Biptu?ct?F*vKLxnKa+Z_1VZrf4f9&B{J1)uYB_Y%x|}+ZZxd-#{4win;$ZZL3qQ zC{^aeKV=e7ImFm(ER?Yw2ica3NoCf~_-7az-Cn1r`h;g$rN~K|{`vYPDiqHxteD)Tw%4sg;GxWc0PuS5{7(r~h>>j=}ri zHLo@vnWnFbF@j1(#y@t@8Dgl2)Ib9>tqZZje-y^n3)K@ z{y{Z>Rq<9ItT9ak);=lpCjv>F=ZZpSU{4R+B+rJDF5V{&k_nE}hDyl)hpq{Z3RjE45<=)ANgSUH^5Hg+H1r z|7&j5Qu<$`-~N#oaOmaEb80{*{fs=yi)=ohkuy zR<>U4Qu>73q*|&q{=sj-B3!3JWOPY&-G9|eTliGR8Yhm&6?S|o(0sBJWRa&+A%d}_o$X<&q2RU_05pD>f@Zl+hp?3xxs6sz;lAlqElYLp zR0?+st4D2Q<9vIV?UzpVqqLK{lvYbPY1FN>&sBO=L}{OQE3ICS>WGrtBsysZ#5JoU zRDDXW(K^O*&L~)nf^WF*aj!{wRgcof_AUi*t}9f7|J`RTU1a_Le--pCtv^{$sGMbE z^Pyl@>s9c2m$bHjX?2yxLN%}SMr#J{QuPLwR&PM{RLOW_1pkC)qLbe?6ZmzO+(18Z zzG8EsdS-m@!1u6O`UX-_b79OMt*>wNLk@9+LeSLHr$gH{Z&Ezxdm!#mex9zqDi(wwYjuER-hhp!xB|ylyYzBiR;Vweg=Le4bdH? z+%t{yChDuoC3Phh_fev5(f^5BSPC};)mM~%H!oDbF1@T5msabs)>HMLG*Ppq@!5QReQIemS)gwqdbBjQ zUZAh9t~ySrx|Y(>>kO-IIek=e*{uYtA{WIjnKbx@%r{Kn#chksL&ffD%MeFk?hf z5Kw}Epoj@n6fuLo@3Q{>Z{IoZ{P(O~Q&snV_q(@K)vaoL@<%y89<{r+(z#t!-Fv*4 z`b?{+Vg6O2XypEbx7kk{bqZDFP*$OAR=K-Ep-?iy5eG@3RC1$xvISaNI65!Av&Wq4*w)a925#($(BAr$(lkn3ihK!-3qqkwOYY` zl8)myqfn*Ra8D9y*>|>9D%f%}NihFPd^eMXQlYwg7F|D7#i-d-tjK7FGYW;An#3w( z#siHCnGm(izv7kZwUiXBj!`v(l$IjVY7KsIU1za4Mm=K`3^%rY1@MZ`Xlct$Mt6e> z$qxP`+2Ij~<6MCwdV?Y*1=pF|gbvjZcQ;KVyJ?A9!BnqYh!zDKcvn;~H8n)Lx;sw8dhikaxL6u8mZLi(f9tQP_!d;P6arHUOk0V zv?rZ^>s5*bQNcOcYZA$6Xx0UjSk>{7fOuYyTIs(K{9^(V(XZ*jXcf=9l9bYIwtBKC zD_)wZL+Q3mod!dNmeh*cBK697T18P6ij&f9wfdiMh2m9(8Kv7Qb&V88@w(#FDcx2o z1ozWoO?#zyPLbV-+*P{$r7-x;6cq_%yj_Ly8sM*K6sAxl{2vix7sN3@OEM!XWQ-%{ zbBgV1YN%b&!2GjGR&1iW?%(>zNrJ-RKlOf5vf}T5>*L8q=3IZJV$FX9)(jODfBmPP zl&4cH`%iuGRfS^Ff9k`=F^c*BsULR_m1@~*%-1QV{HJy1X+|;OKlLdoYQ@<9)CCP+ z;nM$TznQF74E<04-a<|>@IUnd)m4hV|EbRrl!~7JZ~f!|xs|H%fUCG=Yx10}w-rCC z3o4C<6N?g63YDzn)DLG!3Y8#owwdmM`Zkj~HDDF2s)m*m{(6nuMbvRZ-{nvf^*rIS zD#^epHx8B+D%SXK%YTn5$;3%ly5r%Y)v+p_`KONF!Zq`AZ)&K=jB+1t_*MSANCr~n zs$9*hN$!4zI!uuJc|(KhOVhzgG_n<1D#QP@EwwpiP4{v`oe>c}xQVLN<0@5^=|_Fe zb|{+xQq=}rCG8KetkUrR!=_pzu2Sv<_*b*>znBx6{9F1kO}X0B+!q@wDbv=tZ!y-C zmwW2~_5W`TR5xuF<}A8KWZGf{S1J0OfTosza+TtHk#wuSxJp&FISS8QRqIt;CEvy>{A#nB ztJK6yAZ^!hmHzlk#IJU1xk|muNUr_5pTHf~bCv#Su0>PFzkfD$+Q2K^XIM4%^KGsZLfI-Z(4++! z_MA)9?=GX`pLM9^#5U3jh#(nFC9T5FDPr$ZcWeMbH}fMZyL;2|{TVtwZcLGgNhY=I zc=8~-KOL9nQSXV~1oXZlLh+MHa(fpd@oF{6?_N%%yZDmfQM1V7`dJm^qRA!w0m$1G zwM$9#n@k?0eV~rDbxHI+OJ>@4qvOo`HUHH4htpo7o6$X`%jY0sR;YT=7iG{ zuPwM_KSgF1Xee|CDt>RiS8>iNF2MOy2(-5YMd;FHG85LEfP^n3vmfsqcxEPqs~5;{ zO+4c`#jh*LrPmerQMXw7UAGD8ehi@BVP{El&3ZzZv(`=!7blVVX$*DW8%un%L#TUP zRXQ%&MBe1zCXZjOrsK`JB;(^xx~DO8;uQTn=xB>3^A8u0j1WgA?`M#)>q?5Qr6v8o z`;DBb-jrmve^k=-U;PuQbttFfyVGPWMn_b-^&rp%gQz9p1bJzxxOzW#q!ZM%Cbidc zC!m^R$v|!mf}Z3|y(cQs@6}%j(-uQA+;?gp6k5?z5zAdyDz5*r|4_$+->9SNQ1VG# z0aqoI)Vh8n=mmvj>{ve{^zjr$E5|_Iv^+%-dVxU_?i6Pt-S-6bPKYARlz95hb)z%Q zd?4gy^Qb*?HO0o3gri-dE+^&FBS`ei4KnHHP2IEc-scom>}2@rCQ?(sBZ#9B)c%(n z#iLaMwbWWq$ANW7x5sEY*773xI;+X>04w$G#&8-GF?NEhztZnT93j}}JS5f|c93UH z{3&Ruo5`nxaisPLLvoNCO2>pVL~D?Zprb02e7#B3GVdlyZq6iHSrsH!Ri&2v)@0`U zEs~7&Bdw&}B=fE@86L2Qe!JU?$?yJ?sL5*~@pV&@vZ*`$zJ7_Qe8HRn4^%rr+^kRX zV;|7(29=4{GH;T+*qkIi8j>^pZW7w3Op+PDn_SvjpD=SP-co}a5Q2Rg9gEC%;@Gf+ zf;KCYAgUM%v`GfF)Vxd(ObIEwyd$7A7y8|H5ScvYLh>7qk{|KM=*TT4Ul(9@#wm13 zBsumQwJ&c-y1|u6{#+_qJXJ#N)5ca@|J`~K>%BWj&8#K!FUM10<15|^nTP22r7A>a zRw?~%){*4zrxVbX&SdiOXZjuf4;ip_uW+dgne3KGM7c2(kHL+JQ1n>R%?>B6$qF?+ z|EF~!P*X^SXMIVbLm3^by3w(EDbYI8j^OTJp{R7&K$0;}$%Ef&5M7%K^^WLIl8(6~ z)1@uxhGY=(tcqCPJ5BQSnh-?~70LIX4JvlUgX+}b7D%AiN0P$l+vLHciic?Hb_8TF zkeQa_sC{O|Gww+hI)7e8q;>8X$<(QMXO4P6B--aw@2Z7_yflGy+czd!>x#*6QVMC^ zs7to&jup?l-5JYGp^+?8YhS1#Yv&aliACBuL>TpKfK5KC-wbJoK zFp1{(QQ&t!HJ$*9a|c8m`!rJG_%eX#s^+rz{dA^`qj-#D3SLpmw;pO7|5`#gOW>qh z;o?Vex|BiZes&MCHN3py`9H>s*p)q`?x{Oe=;-|yd1fys4?H{x;#|cmr%lC!+4`Og zuSy}U{w@^c)}u&wZK43lrLD;09s$&T7sE`vQ!pV^D>^+Vt@pbLf0CrZ@p?@b&p*W) zPXtO{b8K zX-+a@E|CK=MnP)D>mx+e4{r^%A`TaoKVMOiJ89wqOH$g&Z`3Hz=z6!#>5_Q_recpK6 zRQSJ#c@%<6#GM(_9lm=rB`wkAV`naR$GP!k78s%8$K1$*C*e%*K%hl1zfOXTtJ2s9 z=fP7saRdC=tDN&EBo8ZdR^mJ!S4Nhh7Oiam5Vf<)0W@5?qwH}3k;qYIc|q@uGL{DY zL|EVbI@+twIR}^OJbVf4R`#kP=;)sG9_MV#-a`o8;x8|7+`%lG4hlyYJ{H2~8HY6h zPGWQy5yVm^Ycz5Igeabg0-_-wH;%g55+$PAJPp%6bqmTPsaxipL@ufo<)GBRY?*}i z)~(M$vdxol1g>p^780I6?KbE@y?w|$z;y^41v4FIYzCW7b8)3`ohQ=6yo)*u?S001 z!k@v8_0clAwmW!D_0NXP{HcEdVR`$y=w0(>FmN0hTQkJUnOWThvhGY&GER#(^UrtS z9$-R0q6lY37NF67n(2#df;yI|V1I_GpnsOB;D3&(aNs;s;lTxlXsfR<6`ovW$d!MC zFzz3O(z<;Fj#Y{$;8?Be9AMW89|Y?SQobRcjfR-e-eSN3ux@=a28wNOREAIX&R2`k z)V(*I#-8fAXzJVR7q~OXi-wiMUz_oJ%#zrj@vfvjg4P=C0s&v|OFrP6w8O*>;X^u$ z>pAozPzD9kV0}y^%@`b*g06sfWJccy&PFDu64ZT|zw!|QU*?jU<{y5{+X1*U4=|@K zKsv}2)Pmw6=F%5LFoIb^ijhpu-LQ3>+0Yw(vCPg}&_BbxK>mn3%M>?*gV&hSdQiB| zL{5d|4Q5>gT)EHeL-vbHW5QZOB%L`n9*xhKR>(|o&l$JbGS2@CMm-Om9~qq^^gl5N zdcojlrhEZ7ZBZVp4biR28_!|TS?O8|hF;2iBr-W~Wx+>~@llr3YyF6FSWDOqR$g8J z6Cui#^PzWIIeH;bVw96Mfkmt`U==LfQ06~|g?ME+oi+PiWhl*AGn9vDj`&dNNark9 z*=!hO@|8n60{fYA6S9z8k+S4ZBC4$a1|}R-2U#d=RvB{9xI^`>D>&^`^{3&mk81i@ zVEU?TGoW`!wao&_!>ZjU02ZY>91l(>RPlB&ylhvc--hB9)w`shr%7@nlAKfwmW8u7^f%W-(1ve3)++q3g?(PJ@CUv*<98{h1@<5w-y48^(Be zu+DvmzMD)IT`aelceU(@TLSZ|8pUl!brGU>nDyP!naF%ghxH_8&~EhIWqK5$FPV9A z2qsdP<_8g|ROZTgxPFf@y}|jt&s6COy)>rlN7zkg=0~70gW32OBr}=hH1N%1HX`?- zE@MJZ0@_dcy{C-(&tK`*0-yoP4nrWbSD8cekw9hbGQjLp7B_*1LCR4X@NmDYZ$MnBUIa(0VYy4Fbkm3stE%sh9-Du6;=VsHW~DA zXj^>&eCwd}2dB2J!q}hEN%XFK-x+Xg(yQS2TKjXfuRGWh z5E~xsf!0Q5Ya7_y#EhpI{AQ-ZNvLmS^74V@!nD#L7TcMp*Fa(iQ?nb?b}<7LxO!cg z+4M?rvom$q0@$5#!jJ$@y>65_ILz$W0hl99<>BZHWfg04kn6}KCdBJqFm7#BA=DNXo2=!nMd=+ zAIj^q5ri$Oy`dnwRTX1I-!4@@dZKu!zImbVu&RXa?Gvg8G{L^Fx<)V8G}RaTAjssX zsvk%3P*p-x^hc^_B_dv^Dmn*FMXIKB1AkD(jsnbfcH$K{x|7}59b{bD^CJ+%-E5V! zkle#gjt6!Cd$lL}g4laB2R_6G-2tayc8v-KkFhhCqA#2sv7=Vq&jH4%&q8+;yO1)1KR1_x?doY!9Daq5Hh*u zUZ~}8_s^jAkgIeLzT|T)Qep5Jw`nm2mTNEzPQ2m#5GOlV%$*dW@s?}$Tt+kgx3o&f z(dI;nj7lL}usnm-pU6zU0#0WkOa|jHWv!98z`~U!xloT#+K&Sy(V3(? zHyhP3)uCDdy`dTr{qGQ7E&V~6WkdTOpi|ZH9jLZgIrryl>aJ?)6cBo#`rZXazUpgD zAU#uU^T3HKQq}kyNFPw?}Fl|BcJKU4v9OK)Ts&>3)M`z)}-R~Pm-7s%{qvui=- z5c^Jn#$Yz|I9v!}Z_Ppx$`0~?>7(qe;oxzMeHR5%VeHv5=!LVtHG%mEw#{aW2RnEv z#e?;u6l@fmDIoYK*e)~(ILSKB2Us+l(h^{&*mXTMxc*PGZaUbFVc8Jajb(?@Xypuh zY&IItvJ=BmJI6NSaEqL06>DKBj=kLv*e>dSFcados|!eShx!A9zMblQTcEH@{dZ+p za#fd>pl`R@L~m9%wbKJI+@rog4^nq^@-n*qJ=ASKAsAljiI~)K`_-$Hpb@O@F&Ws= z>J5}wk5Ts~x6i2G&?)odnUg<p#IQ~J_a*iJdyo9z?+Saxi>~6fi(-lzgI+Xq zaxDTF!?0Ii`Yclm`MHYzYL{lhrCR!Eu&q;JxbFWkT=yszPq;?CrvAJ#T6K;B;Xb#= zf$y-mavVqJA<miAi~Q4<-wgZFKjDvTxIZy|29A^3twt!PJP5^c z>Lv?7ruCy3Pw!4k0y9RP0+E?#Hskm2>zCvAEFP=;-0bO50G?AP5?X)w(9nF*G-r@m z{InyEYX)CJ@7fn`XkWLw7mYvuX8(dQM`n>0ZCjb0_u%DDMz{n^?#$H_Q1WK3(zD#3 zxlEJXKqk=_T=p}=enIUJGp;h+Il|=4fjZWb=`|C=czEIzA7vUjg3&Ri1}%MrF-e#) zA-3F3se^)SEJuAu~i;Sa1mRmgTK zw`YJvw_FZT-Nj_U_jHZ{$v#OYNQ5wxQ-7YcT65e$q4w!@7%KgHvfC^i57lmVS1z0?avdi^pVkiCOy0=`dI8XEUqR~=mYeRz%D{=LTlZotqU z=p8s;!g0_vU&s%xbRRfF20ud}hW=tg`>@Xw&_29s7TQNFq*V7v`(Z!8jT*cRm2p0S zFh6l&CJ0T6p&7;0x+Cy=S|brM)8Aqf12^L!4GLyG+J$J${ty9*bEZ-XU@q4lGV`+g zpk=;85xid5lg`hg6TiazVzoQyF0qb)@$8o=19Ze757wNG2n+8}YbhBh(b4VjsWv!md!;V0vN|^ z^zCOl(%o=?dH5J2hnZ?wpS9jvcE4wC{bp2%(`*X+krutUjzw_(*GJlWR>Q z$1@dRG4nw*WM;pnHI&8K_d)(I{cE)RjlB>wtgK4o1z%<{-IV(n|6S-h#C%)<#KX+~ zVu%Mbo2o)2gqhjm=M~Vf56xoQ^{Ox6{_CGcb_cAWb+Ccc6X4~bH$#9mc>lPcQ^NY( zb~ydZ6<@@vwPqhA+Q_?bdfGbmfn2+o7x1wCy~K)DDqN)gyMR~EN~x#%JFxD~H5hLC zc^UUko&&u;TL*z%-z!*4vU3C0$D?W9-<^Km6IDMSg9lAUJVY#;Ygd4OD~%_9w;9(2 z#@c5kK)TagtXy+l%N)_tV=2v4d&zWv^zHu&zlYvLs)rk^I}e;GYfiw_Y;g@}Eb?=v z^Z&pXfn3pnPSVOw_DBdFVJfNM)KSKUbTo1fH*AnT!4z2_ewtbF1hwz#!^2_hhdPW# zMGn0G6`Yx^djC>Ve9p1Hmgu+3GGD z_uG}?Gf+6Fthxglhm`%B!~7{_aa&kAtqirJF-6&i-p{GZ=g6#a_mvHOKrKzVjsseT za&RT|Wh(ba04+;-_b-TKE63B&;i2*ez58>O18C0sNO|ER6do)4(>m}IWsMX-7bxw@ z&+y`za&tpepDPohp#M@i_6ZaVl{3nK{Yq)Og2va%!8A^CP<5bN*->?G9YCE_mudrT zld1>JhqtJv%tWzOb%iETA*!V-aq2@=qbbIzs7FWl0z#6e>V^Cum#$i7uY%T0 z)g)Thd7x@XD}mXnCNvq!QO$UdB3D&;1N8G$*T163R~7F@oS&%H-$m`IiltS_XDYvk zaN>o^bstb(s<_MGTco-ihvJoLIhlW>I@KSvi&eF0sPs;Cs~J#ARPCDBak@%XU1)*k zgX*6!6rWV{g5cU`m6|e-UsZ``p#M#^jxLCDRS7L!d{;F-4-XyLR?aZEk(K^N<7T!S zt=Dg1)pwxa%no<}=xwZz3U;@%ZbdM-gN?(Dhy;t0GQqCw7)Fiz-;M1>@8>=21{%$I zuv7b?=E)Xz1E@FKr6mdgKRp5JoO~SRz z9cD{tjr|Cl-T*NSVZYKUekfa#2HMBiVKm(eV_&ahaQ{cJ;ca0zlC8WBpi%5*SIC@T zW$azTNYQ6544z`ex6p`Xk1Ry(3|qPs*yq>*DwsddW+`!%Tx84ZL*x?6&4GuP*~J(u za#z?N*fzyoW9N56)UUG-=b(sZ&woMVO?IO*Q0xh8Sq)IU&6c=>Vj|nZ2{K9Sj_Z&~ zX3bkcCWTedYxEvF47-;wTdZ~p*y(J+XcQT2qw_HMfc}&^`*FI<0u7Qb{Y!i3HqL8inCuCl;BcG%3 z4g1~&Oy9C^yP@$N+kFR2yk~1&fZbA7(u3hg_D&`AePUhaA%Vi zxWSZJ+sSos1z%ULOFZ;B8fVwYthDMQoT=%9p zO#xi{#gN>~J)#SLAD3=7!?hr;@G7tmaEoXm?;w{$0Y1##UkkfOINx4$?Qkr;@{e-f zw5}7zMO=bpIM>?&eUW&N0_8ZKDrh{(S>FLWnyXAXw$t2*0@#h=o-{*X&u|CR(07)5 zNkh2vT%9JA|GB`ObA$dR&i4fLf5FALfvAHzd=m;sb@5Qxb5aKe z)BJyvx~V_dY*EkY0JN=YCwgyeQ!lgt#zoyB6}6q}g|r^MOPx{)g`2t>z4-R1W2YiO zp6V4(0qUjpqXl&zb@x#q>Z`u~4kG^Q7iVxL1JrNq5J^Q7%_=(YMWEwkF+sCBo{ z`c{3gBShb+ca}l%z535h&?r@lEQ)>n1ZoW8$2NiY2l(#MP&~*-jD)4beD5?w?FfJ8 z50DArmETbdm)4w5 z@$+coNeu5-h{jlcGVKdE%h$XK!sqyTw14XYUx!v^FY<#Zu^PwMpmT7Uzm^1%tNfSk zK)J?`pq0)WeEAv_@w|@*%-`arZ>S~k=UhPT4u6G4?1{WRkT%QQ)Eo8T|E|fXU*oE`)wIKO+^5xqN#XAm{PB8$vywulpJ-p73XA z#`cUqLkl9$`MG@|QpmU5g)kTKmEOYc8$OEe>0Z(Z4Gf0hTMXqPQsm4 zu)9e}rJVZ~A!;Z>xmCy-g5sobHvy8-!ly(#${0bp8;-^bp$)+8oY3eJOq>_4Vph#v z6ilPx(edjsB3u}U#%lsk>xtKebWapFg^{!k?3QqdQpC4~fgb>UN2qFs z`MW|rdfX)owdtn3C$ziB8oAu#_RhE=A`9p-UUovIM72P|OkHJb?C4 z_^l&&=Lvi1Y5PbR(i!ISg@5QAJ`v7S66LAT<|=B>1ow&PdnwEarKk%+0iyOw7)+1n z*TU2JP=6~FoJH|YScwb5&b=2BXc3`Q7;S}z9|ac*{wLv34$kNoA!HcN&sX8)EwCsP zHYLDBxzM}_M1Kf@r(wxKvoRcK8#Tefs5xm;mjGppW@r)`w`!J~A-PTSgf@q{Xx1-9 z-%iax*elEJ(u{lo5xbk_Bi5a{JsN#0$arWJ-(c5M6Gg)fZ_Ozq^nEn<3LxsISwyQO z{+iMhII~x?oyMktnoV<11ZfUpiICf``JMo8&2RLM%hu$5N0F=Hmq8>?Gjcmb@-=@_^5==>08P@KYAl&Rd8SF8hrSn@ zu4?%CQe%Hl!;M#(t1)POtvN2ji(-xIAfUa~{Gb(q63x`#(f3}H+yk`_np|3+_^3$_ zL-AQNlZW?TG^1uh@0+G4<%7#K=L6x(cTF5^UHPFIOJhVw@hS^48^s3S;ov6mI=wJA zi)nV+dAC)pLn{Q%B0mUB4~f6f3c+D9fu2{vqI3uG3K6qt+5M<^`Z7E`CZ?3aZn)@k z6$%kz1npTmF8(Ked|Mgg$X;`EhJh!H>7(0E349f9Jk7&eM>ALqqK zv|fKfJP?Ff#EJbWF>qPjO#3gdiTlXlb#W=>CF8|EJYnLd$i0Ssf~eKw9NZRbJcL4` zxQK(LByn6nV5W#(*ul=FiitGSyf02I2GKNe@*SvWh_h&Xk|{PVq5NN#Xxj{!Y%!xF z^dE|vdti|(p2S8F?vZ%>5#szo{J-~e}gL&16)xn z5*yR9_G@wK1}MA{J(|Obw_<)f*nKB9j)(et(PJR2o7nI7g+4E-1pJ^)nIYaH$%N ziy|fGCD1r79c=`ICnSRkj-HefuwjHdE$L{jCq`O57qv6e*5yz*D@~mQ*Dgr5UT$8d@2-gj}^msSe#7o0$(>jlCIQU+ZKccg2r zpr0u1pwZ}E>3bd2lBL5F0Fx@|DC>GpdgFzVrb%!1K`&jZEx}TzlyeEOcp!b!0y3zEugSdjvowzyX1?B=yR2SOo!fX*_qZ{_Q=jjPRDI=)JebKJyzd7(v*nBXftDwS27=5ZdBb-!K9=jz#g;E$t&heh@_urrKprd! zuz~+;&j|&5UDsBKMm^(lxL?0y6j~b0qQqUp*dnwvl3mf;cnp?OxF(7nfNMIQ)-jvi zY{}#PYu=ucA1#FQ@UP_qN}#mbCBeI2ybOp@>uWnyGt-BE9@K*9yxgrgt}mdKz0J(rSQNXNmmAQwm)Sc4DhC)> z%JBv>VIN>Ij0vGr7{x3|{ki_{#n*lS2fX>sv`gEEA4|mc^6#6$pFp0s$3S@>zjiF_ z2Jy3KXTSme9R>Fwzx)O+qeJ|$T@VfCUmDchT}?IPdNQ|0DQf z+DR12i|0^8@j)?AKfzxufaFR3yBq9A^RMSYA%^ey10u2f5^q|6Ji|9whzOnKy=cU9 zj-TU<&hxzgX4Ee5=NG`|IKE*$G+yTK4nXY+U)KwvzRG{5*W@++<_1u^&fD<$4Mv?! zXt_6@kFSd2CV!(g`fl+-N8nikzhWGS-sU}jhuJ&)69bKZ68Ti}Fqw~{1WO99Y7Y~s z{Qfnde~(`>2Kx8;S+NjF6k&-fpsAo`q7q#eF5 zc!8!GFZnvOwpqvzp>1NXc=-kFzUCJvA!={74-cjrSwB%lK2xQ7h+t zDcAL#-$rSKAN-!hkaQ4k(2hh$LCGO9PC~UssBIE{KLOCqf-mjl-y)R7LETyC^9csG z303Q&wnGRxgW&BHrqII4F1wI_7M-rbpZ8&Kw{SNQmfVB~8&K>KMjt^eJ%lxs^Y#>W z(k<;RoK8fz{Diu+=I1XAdjY!v!fi@R?iDK2P$f|4LeqhLLQzlDf`ptrpzIe82BA10 z)awg{!-AgPouPt#M+3+l6^iBpEnJAfw|-oN(5^4^BZbck!SuM$_ZURa2_w%zAPRi3H3Tx@hnj~RtWiY%eOrud;vhX$>XemM| zrT9_>BfSOg33G42?tS4m8a|~7Pw8$-7xvMR1r2RnEft2*1NVb);TtS{6pj`{|C2C11|pw@K-$0eMVLaX%in~T9ne=Me4@Se zn zeCh`;wrl#hfZ`6#MOSF-(rl)U*RGlqEU?`)x$bbyLvyt?6g)L9v?tF?Gmg^z-kPX; z;OnDl>j(v3O|lFVewu5&aAN#5`JDk4p!rUlKK5!lJ%W0mCK;dRarS*04?mO#H0&ub zJ*4SRDb3@WMZFP=>zdR1QM;*GM+w%ML*bt0NPEz}uQ`1d3K)MocL39L&77xD%+PG4 zsbr=mqc-#(Xii^5ALbY|iObfM&|@b@qoswMhnnP3sO4%-(!?@P<5CHHA8E`)^s#0; zotS)$fUhMn|1i>pvbO!JN&E#;aowITCe^Nse5|IjR* z0lN<3NCU_?icgoqnT_JCzVO#cEIkg%O=3DF6E}bgR5uQ;{|Bm>3% zlsDfe`p_#qNc5m*(SC8zKa~GIATIp{)q`SKHWUwu2cMugEXL9vnR>@ZLZ z5$n^;Ayh2&g~Cy>L}%WQ@l($!CPWT2|P;>4Nefb zEl&Q7K6|1#>?ZV+#0fRfdRKH?4}X)zQd;>;5jTHFkt%9m!O}gEqx9~5k;wpBnmCPa zl?-t|<+C!y{Z-NTKwRAsMYh=PGQe`g>9h*}P#oZgAmobbMJV#bsR{7&k$8(f&&;=r zSt^uI#1k|kE)dtI1N*6XraBa#iQ0|OcrFfX1+*7p!FCic#ohE;DHLnAH}u;7D$c(Jv~OY?$}pCRYiU#6cQJ}4EI-6>1;XVZH4TM=lVr}s z+1ex>p;_Bz$)Rc#Z-clVK^n9d|c~J0^YSf28 zf9ck1hy+N>LeUr~y`)UgKFN_*)`Fy{X}DMpN`2I{z;{Tx?TJ%zSW=Az%n@ljEyxB- zP0P?2BHg9kokykOLTDV5`qPfaFv)8-{0)~r_@Ic8=F=A9NXeguFj3N|>Tvsn^f>{w zlTub46wy*LMeUU2{R9e_y0QpRtdug3-hXE#^JHM3l^iKIe@+^{9vbJR=&xXULFz<# zuuD=ntzX4SHEzKCW$A_!Ok9z=)3o@i}k zTAH+dD{AS|?=Eqs*x z{bBF36c`AFFLr4peIof)8cy5oze$1DQ7e;9&IHqPX^bx%{UK%3V9P;1wGbkXauB7u zH_GN4fN_$))CBEKvI}KDw#Z8;H@;Oaqd$q^EZ?EEnr-qV+PL8&3k4v$U3S73=9s_t zZ-j{MlI_!Wq3S9x^M&GWxyLOqb(0-w1L7XJBPCWn$O|>lJ1D!@ zA4BnweDrUi9hTS9zS$$Pb``G2VEN-vG#-^#{0Wg`vMvh@!(^WmfC-mN43LbF7e51; zNcrp~)Q-!^UhptV4xzW`3Hc(u#81i}en2EzZaElWr{pb^>N+hyqR-A_-epzn#1?pF1e-jk0 z%IoRPb4~Uwg^BBOW!gw^L%t9R^YQZL6==LEM{k0K+j9LsQQVQ;Qfd7uQGRw0aZZxW z{_x_i?DQ)-ljU&A#-+%$X=I-&SFesB+>>Vw2F!g~Oa*9~Jg6-cGUQft&1K4s=qs)V z@)8<_qOpbjK9QFK9CRN}fzRkzdQz8p7@y zxvV-)#ap?33NEB~@;w?&mdH=(8h*=6f?FxS#wb_wS->B8nE(0g6!*VEW z)`q_a*cR>HL+IP8^|9hKIcuZ0f&Dh^hG3w$*tNCobX#b{X!HIKZATqIcWJ$cLElwd z{1Mo@wO=W@?WT36C*mIM<#s@G*N&|Wh925_cc9>@m3TaMytQYJ0Mtj@nD$@zYD*4- zub=iw4fyM?o%aH@0PO>Mm+#f?tPU1|TKmm)01eWnt_93~?I7BEctE>=PUS&uGZ)kj zX&0qJjb4}hN6{`Cd=7qkujMu0AAS(-dw(sqqU5vRTJ7@(K6ZySQe6>YEs6s~F=DJOqj zTe%G|Z)is?LlEM%qBjiP)V4{b{M#+>C)yv&VYfg#kVfB6 zwL3N7{Y)Ew5coiN*mq+lCQNsyFu-Z_H28g6l*(Q zM&Da)m%kzTPK&jE+<))2m6bTZrP_Kl7yh6f_6o&E?Y4bz=95;YN784l6J=w*XfwS* z|Eu=Ea=2Zly+iAR<=Qc{YyP`7ml9k*w8fNkbcf88er zwE*4nb5Pi8*Oj*c;XvIR+7-1=S3?JxAl>HQUZ@?_y_tgAG2Q0B03D%wL53oADm@gA>l_-v zLX^&4^Au!G=o-7iM6}L*J?Nj(O{YuXv~EvJL?}i#egX)`>Kba`CUZEOsM>$w@aRi#xhal$J=;HKP<>lCC*@_jp%VatG9sb@>d) zr05E1JeR6FMNjGbx`X}zOVc%ug?hR!cnu^obPKTAfXmd~@&U>NUF2a9&C+F5qWu@y zx-OJhd#Gzf1C(4{hAWCZ-3ZG0J<^%Jp?Iu28wBbYMSGr&6>UynvMjsBn(RubktyrfKB;0>*b>~LI zi+8&DYrvvJH@*#u_d1T!R;9X+%OLte7fRFZPr4`c;o)c9s1GplMc1w~OnlY-M)~@0 zy0X8~Sf<8`gQKuA3GW_mYz=`(3A>#g^s^JHeY;4wbX5P!6SZUd{NAt-roTXIY2o^F>5z=D>od2ZjMRH*ab}L|ldvYh zMd^RXA7|rE>al?ZcZL38fB1V!-zpi@PV3#1pb(=EyMZEB-=QZI&gl2y8#3;!{x%J- z&g&2Df~5=k2m8=?QGbY5d@t+o(2MJe{$vIsb5%cu25Hyy_LH>UeO-?~vxfUYA5GVK zygr~08gJ^KH$m-|erPu6C+Hd4t8iQYy*4i0JNk*0VJT7n@F+MX=~uLc$X$J3%Jih@ zLvF!Rs=i@&cz;jdogUBk_0vu8B~8EV4HVM#%V`>yp;y^yAeX7H9SBlc`bIBdH(T#| zAEG&WU;5ZJPrqpqKp*MV00=&73?eV|4d(;;rM?wyV=C0op9_T|{l^tB`$|81Hf?x)t*?9nmfq+W?*X@BeY3id zd81{XQwTrvLuMqpyAm@klAM#xDR%N4Dr6u+iytx9hMFl7CnLagNDX*bssW} zq1`rz4Y94De#8)ieg9mrVeuG9h8Qjn0+>D2u&6O)jvBVn^!1qG+&j1yW_V9uEQT9g zBv^_tj5>x|q+#g{XdE}_>9umw(CsW3MjP%I0PU3F3w@e=+E9BWOvD&2HiW@g!%IqR zoiWt71?aPeKj_oDbA~Q-A)PlIehYczDt9nAQ<485Yu~?{S80(U7@p*t7&P zR}Af4(0A1^=`$Ly8M@P2>2-q-t)<^E6mA5kc*9!CbKNxborJ#IhHpopaL3S^K8;K? zTo{DLBttpn>hBtQ(<~*~;87J$q!{e^4H2(YL&-r{x@WNe2Ez9Z)4X6Q&Crl0e(8qD z$I!?yoNNN0G7T{&A^E^yPX^H}!!SR(V+^a0KrhEo`W1E`8gyBx+pPD4{QmpBk3iPXp$eVf+w?J~uRbgCM>zRMLX*OGDe15G^zu+6$2) zLk~4-uMEStL-Dm?csxMg80=r5P;97S0>ih4rkUt_XYhW8qQnp)gUoxwRZ1z98pc*f z?SrA_JJdcJI#WnK85V2pAobbcNqLlShW6jkS!U=!*Ic<_NCWhJH>A+s;va?qv~cWT zH1varqj4ela~qAXe+4xse0 zOWAIeenotD7{7O?zyGq+=usOoyNq6k(dlYj`x{KS8)wu8nul=)ZEy87{_+AMUdGFb z=<_x{Er$0##yzyI>}%AO0nN|Y`8vo17`G9_y~b{|hd$8Qu|1sFXIzX_3m0VE+#9w1 z#+e0xK43IsI%Ve$8K+f(_lJ!WX*uDD@$Ros3^A710$QkXC{4$X8c+3s;xXfbaxe@t z4mF`K!dM&vy-4Hq`luZ@W{iM|C}So1dmtx_4QcKXZCpA8eW#4M?_uz?@qj1PV~kN8 z`eKc>AHfOx8DpFmyf|y@OYe;H#$z9Ag$GrXL#D z(l9pHDD;JiJmY%GhCVWKUjg>mIN})`%{O+Z{ku<$JC$fGF#eqkg{Q`94R9u(8GGjf z?77k2{5cd~80*r~*-K-6%4ZZB<@VrKWaO8k@s;sw0~ma5%%{ow8)G6RpNoxEJD~Bc zu?p=zd1s6uOC?6nDrkIfymt!frN*scQ21b6z6dUTH0GT}<0s=NdP9FUmeY#t7vosF z6WDw;j%WmK-;7q;m|A9Zr#0(xWAqAm@!j~8Mms-@)#>r>V49H(5l7SgrKoK*?WssY znfmNQZIfw+4=imq{Z8A%x0v)Vz-g-~h(3yRHjS$Zu-&F0_WElYSp+ z`%N)-A#%W!JOOqOni|l1=#XjUMNm6zs&ND1K4MzRp)uHWo?cENrdOFX{|hzwe?)7T z>0@Wegq!+Z#_5VMy%ynilqvWVKu?(F4MpQg)24w4={b|%2iQGta-yu&1=DiMCtfs# z(}w*^rpFl&i8HnLLG7|>eLuwais^J!pjqt&%E(>2Omq?>;K4GI~ix;%vrY49TT+hcFg+(9 znjS|$Ki9-sQOh&+r6rw5rrUJ79-Eq9LlE*!ELa&11cT@3u zNd7Ptjzpt_`FHwzFOKFd2{6CW+@9X$o6WswR<^}#ccxV7R&&}0$hepv%?9>%bHnX$ zZHM^<{e1;j^YSz3+ihM>V{te0k8R-XVXi`Z>^;r*x}fG|UOW$Wea%xS|LJFLpoS%X z^9!;RXzota^nK<5P0$!*R?%|JL30n*J>Qaxe5MoXe6&2MQPA==#OBFMy;FX5wQF4o-fEnGTd4w#GL zyxDgI8ZVefY({a>T*DhqTsEiDuD&bg{W^O8T{RaRr3=!W^fy}L&GqR#-82``R{PuL zzyE>89rJODOrp7DCmNH@SJaS9G3$1LQ>r=TB-GQ)KWN<|-5gDys$`fe(?d7QoJ`-5 zWt%_H2A>?Wei_*3nb+yy(j)VN&9wjJu{n|wi3Mi4FGQc3vtv*^Gasinz)SN96^cT0 zZ5m7$nOmHO!8hj2iC|c4K0F3`Z_Qhbu=~aAK>5V4=06`p{hN7mcbF(M2T@p*Se{rRX?M5W{SJyAmT4ALJuPkN1bJD$pM@oFiyKXCeJport-#k(xfn2h zmZoh{_*<5hKrg@&ln)boEoC8KA87eRQ^b9iwlt>3o3N!RRA%j%KPIA&>^1505RTP#Gv zE#p$55MlYW7j8#d63QWR+;WNXc~O>M&LAWwEH^0mb<*-Ho0`a<~Qwm+&mhMkci?_5a0_IK2Ey|1E zvV5|Cgxv&-`+9)hwlrM_v^$m)bm!c)B+%ED$(Fvsa4p61mA=PKwZv@)nR^zmE$F*% z`Pvb+G)v}0=%ric{S6ZtmbG8uTBc?4@aImL-%zl5JT?)9f5eIDHZL(6YL% z9g4XY`y6!US=JfQ`N$$wgKLj1bGw66zGYoiFnnTZOg)8WKx%hdI-`^FMLyPS$Gl>%x1;akgx zK(KgcSy&Y@DY3LL0`0wJ9j(KaT4p~*@xe0M4aG-G4(;OkWC>~q?9Z0fSJC*z@?S7SyYVAUMdYr8S&0DuwPxeMgT&%|_0lD4!I1;rT*3Fb- z*=bF<1WUWD`{)_wYCS+Zes^0PYN651x{vm%@3GdTTgBa)(F_W959?HVt$13iOhw^k z?XnJm^0sQb0My4inKJmk)_B_R=x5z=4~qWQu9UkAu-2pz++J&B#hldYz8ggMS$nub zJ;?foMD|+)pW)meu>P|E>WYqz&3f~~1zff-`A4x+q7sCE8&h#s{bqP4|i z*6GuL7G|B&5C+4oE63q#e>kkCzxV6{~3Q^V@^n5&Fok=SlC#}Dp1ZcFi zeZ*ZEuDPrzsV zXhx7=-AR^iTeE4)$Q`SN{xn{qb@BoO54`n@qg^Q?QXL+_DwP;W>+1~rJhw0hH54~5nX zw40^Kxd$1!x~0As2prNo&(I$Hp@i$&yBXoMbLM$9WbGDlTD(`^k!RxFL-aU)p?BC zR@=_w0Cl!ybp_})Tlx*uTx^wSE7Eq`oUdTG!xrX^VyEpr{h85SwyBhRbG0QNq)XnW z$VScGR>Kp9JZ$4>y6kBymuUXyWvfTeUT<4GIpbriw;n<8wXM}d#?KZ(gJFN0cnTp2 zu=S;6&|X{YemELvQ%;4*K3m&S=nJxaT8U!6tp#oLIbb`q3X%tHbLk6?LpBp_sXJ`* z2!-26Y*iY;La;57HVW87YyrQ5cc^Xt7KHSu%|tKUW46)l;Aoib*jjiWZu6tLON32D zo9QBL{b^6!aofpsphek?%>i@5He7(EleS}Yc|_a(p(NueTPxc9ciQHZ356Kj*hv73 zwYj)}=owo#%9xzB+osk*dCpdEB*J~s)|f_>muxrbj*GL^rTNrl+uOY;uGmK7dBt6| zxzdW?HQS(Pfcbwoy6(6vt1qsV+0=&d?!EUkSE)_QEH!OgmcOzrEzQh^^)f|}Au<#Y z87d$S1Z2xz3L+b1?;(hSpltblPyBN~_ug~9=bZaK&vWlR=iEzy-5vTV3+*=ShW15v z^PSLm)owMdJ$n`^Y2p-k{5yEK~8o9()28QNm^tuq>1?VhHyOKo;0+ck)2x4Zfp&^qi!C^ph* zH{d`F$CzFG z5{MYLyGviD2|Fj6Vkhlt2LLl==SOJ^({}sgfi`33PoIW|cK+m~pS267ue3cwM%zaR z#v{Xkc4UO?0lO2UlN|WY4A!q;aAmlA!oWj}nDw}ScAgt!4;`s>XFR0=&0&Uu+-x3< z>P}eU$OO1#xjz=gieRq+hN z6X;7|r1b#oG9#DL91ju!=U~uU; zXBi`%q8a6k8+4Mff)Pmj>`KOp-4Id5m}>-RHN!@iqSi2;pmS@rj6<~Du48-<36z_R z#JNzdp3xYEqJdHQHb@#7HuinUZDO2?09rHSJ94VFF#fm-fvt>e9njhsPkj&4cE)GK z*unU14)pD0=qQZe#n@B~MY|a~79{mBE;m4nUPc97T+qkZ`ZoG*F;>q4x}Ra+0EPiZ z(>lnz&4>sE^dRGmEequxMlofx-DO-^0{$V!33qUeFoI|;G0NES-?=x&qUWK-1ID}# z*gM8Jyc}rb4B_|Sn_#SQ1m7g%Im)1#V!SqvzG=qJ6{yWHetjDx4;jBvpmCPr-vROV z%uN)ec3|#(pVsS+%rz%~?Zn(f5ol-T!DfheVaB|IzJtu@CoreGG9Pt?O^2BC$g}0f zeB}!G-I@Q;xtYUE7dmI_!E9LtTRfS|N>KA+&hVjyH}hx)2H^}S=nJc3C&yTr}cDVk`|9L=s0COuPC>>+IF$>1y%tvY74P^HDpcce@mu81x=I1mU zo?u!oK*JE`EE#i>`Pgz$hBCjTO;Q;12Re%r&b(3u$_VB=5g4FT%-=SnIL%y1!JjkC zlm0aSMKY&$13QZO2l{R9e#pu(Rn=vWR%V6F~#vo=gH_{ZF#Vo?LL-Vqk7FQHG%pV*uK)KAwZt&+Z z7Xo!&K659{$puWW_W@SO6g5F$5%U!~`E!-IZ3cbUn7*#46*HePLi-Y?kv<~VZOoAp zR7;ulo;A>&ploYaSW&T2* zlQ!o3E2yb3cLhG9azhK!S2XH{t2p1tamB-!I_m#At+at4_(c2 zh!sUUayM2#eUjW+RjWXGnB|m>ng{DXr7U~0TDJqnizjY$wIAsL{- ztR%Vsl0ddUT3{n4U$qDE3*fTH&}aLgcTL6)MgA+C2N$<;Z?EvVj;Jhm05wl z8WxL|GPSH}icZ(Dtl21TvKaIN)U)OvhlmE&SD!M&CsnZm#ye)V{QBd zBh$`WkOh(s);koV>txx^QwmiV%iaM+H|wciA-9J$M)vly!WRR(kG1xBaNJ^jTLydk zSvPLOib2->)4;yNx|0j+yDZ-^G!C)k3>3qxV{|XgJyz>}kc_Z?c?*rBtoYYZyU$_^ zP~-tF@6Z08 zvZ4dnqyIwSF}C1Gh&awZLZ>hT+0%o-3}VN+fiIX{p#{SU_8q#tA%uOI^4?Ce!|0TL zDEp;Vbp9cX{rpvQhO@W*gd&2iS_|w`?8P*=8I z>$tG+EIXEb6*25B6uv*lzP|zt=hP*vg2%vcksVGRDJy_j;2OWB?j zw7tR3f-`qs8N2&O2rOqWBOh`F`#1UoSF$gZp|6VFPoL0gw)nrdiTx&RnQCq9{1)h4 z$8I5~>`gZ7Y3NqZev1SzYq$!!)#3r`0ufga3NxZEf;}dl>ONlu_h-^YWTKli{;S5Dtw7=%L{ zZ+a}ug@XaAQrXyeUs{{;e%a4OzF&4&X& z23|bQg&zRp%gM+=&5v`F?ws`J^f^J%0L~|rH*<`$I|2fabH2(&Es(QtI~amEymgQp z%=xnseJ40FNh`ZJLuV1Pe~Bbfz9GG~$j&=k&-yTF*r zIsOB5O5#5=O+`;Dmnjt2!<-o_-=@(=A^s==o-#7 z+Q!}FsA(>*=dgpp(7@?9kG@75CzIUsO&mTYNHlZW{4hc-oV9!KqqlNidKm)SIP=eg zqmvU73)Q+fyHY{Y%~^X1Bt4wf^yK$){-tnSAE!eE>u+&z10P;4&KNmG2RO<AKyi<=gErA4oVfosV4RpHaNOtYZUgoM z&eJPEGR84fK;LoB-$5uQIQJ5PGRb+{3x-Z{@|S~TnsezZ6f>NoY>+(Uyz&H4W;q%3 z`r31UP+)u=xGQY?VUr`*g-#keaj((x*O|NNQRwEv{o-{n9^^*v1BWZuxnY91`{)*wV6Iad z)IY&>Uy8mEu5B@jlia|^0T#-AI<7kZMK6f70CvXSvLbc1>w>+UmB6k~oS(3O5D0Y<0%{xc) zUkX?A8q7}R9-+LQH11y%HA?5Qm=JM=+x`+f;xRSfAuBVGYxHP@vb_SSGW(=qy5 zZajIy>$sg1Ho3`NvK^H5+;Tbr*T6mf1_U;8f2MU&6ZgfBp=dMrxiIjx*ti32CALAl`QPwzIGoXI=McyE$ZT~N`NxmTpQ&C^l(>`>#mpkCgni%aZ70D zb&Fd{mlpJMAAK8I3~=A3Z_#aTC!Mw)+Y zJ?=DpW=FW%XVEyy&7#HHeeTEqgBB0C>R|MZaW}T1ah#i32eb+9m7h?Xc(jh8`NuaC2V==0mQ>Ua-${+xFq-wdZ}H1BwGLp%;ZC@1%_)2Tr^XnxN@HUMG1j zU3qbI6!Q?T^;Iys@iyK<;m(_)o!em^lb&D?o+}*!@#L+hDaVUfN9o_*ydDY^N1@m6t55^O`m+zx7gtz=6ijzDa%Fztv`Ov33jCX<-_~E?!bmTmO_j@ZEPx0C* z0qiud<`tlv;qk*EFp~Fv1@w*L6^6lxXx`SZ>HN`I-l7c{wisS$1Uk?0uG2#7Ja5gX zC@%2+pq2eaUKd^C70avn5_02t*)+!`@ZO|zgO_=swUCs^EBy_9NxTCTpH1e?twxc; z+ezQfRNl28P)p-2r8@-jc+GSKJD>MkJ^ugFyaHZ&5Ns;sd2NODMZBn1z+C02=xx5n z(*;4(VqR7{8cTR_zOdptuRQ`5mhvV}pmu|o*$VMxykTUc&MW6-Z-k@@-jaC`QOO&v zMp4DvK|#=J-Z%84)$ruQ;H%{Y(%pr&I^N5avvrgAuNjQ>yyiU6H1J-eWRYgx^NXQH z3$KIRzOB6FKLM?cC!7O;?Y!c*0Mo&{NZ+zfUgihTzKd5}4Tf%>_(Rlscy0$!>*c9@ zAfb=<*%#m&;QdHX=WX8bYaki4@nYzp@*SQpO%``~eAW4%_e!DQv_><*Yy-sv*#DlbLGGfxdjwQz9=4zPW;CNXmsX( z9SuwuzJYRZ5Ao}shk#><=k*W=(g!rw#2`0$tN zApR(S*KuI`@_(H`&5tj52Yvqh1GE_p;QKeih-3VJzXfIx-%LksgZVi&^qt@@W`ZGv zuUUm5ImsWROR_`xmuwd37RG;!Uc+#{S0H|a)BLS*06oL+dI-`;ej7!rqWHJS85GSg z^+n@Z{tC*?j^Y1$5eygj-?akm6929N0^|4&PS7x(pWX*$68Qc&&^_-m|J@&8St9=y zC737i_q0NpWPZng@s<>RR5Gwr`7W_2()i8_6dC+yX#JVVx6t90EdDlnsk8Y9D9t{H z|9ca}=kqs{54!;44DAc~KiffW5&zFEAi2t4@&@{@@t4p+jbeVLGuTV`*?N#%=U=6( zT1xp*&(iyMgTIoN6lMGhCX6ZP&xXSKD*m&y&8X$4PC)%S{s6tAH~H_-f1#=8b5Dbz zfj{p%^fmG)DP^mPfBP8}t^CvXA*q9}q)VYY`5hF}?BW;FcB-4t2nTx~|92YL0e&}j zBDQ(A`5v?u8RT!>1-*y(Tw3{!@LQh52#xaf}LZxAXN zrCUED1Y0Q_a7Iv1+s8=3U*DiFO7Q3rh=>;CS3~YO!5jCW(?vladDmkFfB8V{C7U3c zPSC{(o;!%@Wr0&ZIIai|(&^(2!3&i8lqrbc0FEp{?MD!wEy$&BXpZ0vO;x#qXI6kc zPq054B>93m3VRj^Qnz3%3I((OQk9HS^90bU1h!U?R12g|crI!L4=12n zt-yuyBW?=5Y6WGz;2s~14T2XaXQNSYq!xl&1o|bYwF+)h>TsJN%|`3jc7f+4KsyAR z$y?qj`1&1ScM1NcJz}>Yhf?x-1k2~b!d}5X+BWwI!YQ10OE69chx!FWzoT(Lu!90L zw*`G`Q49(;>w$7daPBa)xGPvJ0oagWC7moD7Tnv2+C9P48XHJQ1RE$XYgF*aI3(Q{ zEWv4zc@G5cYe6$6Xmo^5+mE@3ReFO$|=EQ9<-Pid`h|ZGlCU!fbvi< zPX9Y^R>157yS;G#ix@)(VI>DBj>6JdDC#8qi`+)e!UY>B|ITgHiZk_CShTO@Ut54Ge0D&38j#VJZ6b8~GkYy82M?rkHu$$85bA)p#T_RVwEf1UXMR7y;<xA3sOL0@^ zA_Gjlu<#d*Y=f{DLD+eXLiJC8X%g=G01VB-G79yz2pcI)qE%@A1{$^rr(Op`yU@uF zwsZ(vo`#*B!p*dF>Jl#40?cmVr#8CSw?|k(>+N1){Qp>O8>SO$>KobAo_GEY;qJe_oC57wCF#dkjP3;zN@JBPk_0L+{e*(So97p z5IjW9>+w@~ijrT#|NorlCF-WcC~r{+B^DkPeW`;$Ur}TotoIY?{ZROeK6L?1fark- ztT-lWr&Nj{(Z7^RA1u<(Mc)aLh7N6ph@PZ9_(_q<5sjguRUH6}5NTdOaY|JGGR!?K zDm{i;lqeRjk!@bIXz3zob5>;fA6n0gE^?vF1raM9Lvm5{8F_f)M7{(XFN#p2NDvi$ z1Vt~4^64Q@6iFy8BuO-|7N#YO;wi&CMf3v2fKo-dl$>%!w1JObD+6PJ!Os*ep`CoT z=!JX~wj7b71vI&$HA4Jcd7>k)E1Cj6a8yMW3i}{ za(YTc-}yuP>mp|gf|iPKp&6ch(N2U`=9P)U1sH@%k^ie;uM%X4m6;zThvM$>mJc54H|nzhiEI^Cwhy{MBNhEQMy6D$TsmN zum?mJW5Iu0bc#}R21Pe0m*I}6jeO%N@*FjE*+IFKhDXPo{`;^Eo9hlRipKavMoDu!C z3*+@r#QFfmtf-&Xz4qcfFTgm67u`hRC_eiyM#f1j+KQU9cro4Cd6v&+cNwbD%sdPWu*=9%7$kkn1Uq{Sh@U@kd+myLyWU=nkDD;=pm*|M`fQlcq<- zU(3E3l}f1L@h%6j31rU{=d*`C@vUnXW`4YuR zQeY>E-y1+JS-hWCU@77ao_N?&#Y@_uZ<@IBI{MPZGf&a}?}|9*69~)@7fr#mO!4CF8--5UVnGQwa>S2Ol2)#GBn*ss;*6ismoNTlIVcOnKb!`8q4-}4$rOpB>He3i z;*~k5T@zd1279sC@plYKiTJh$47@Hrz=tiR;;Efb&2~e)=WD26CO%2)*K+Z9Ex@i2 ze@_dAO7YK2@xxY$H`D>GT0E76T8-F`X8&4o9JvhZ#J`iGH^skI1EpSED}_!CV$;tM z(J1brNMV!slMpa8i*MWnN{hIv7bLCX$CJ?4W)mO04mH}v3K>l65RZ^|q*Ls74A@;_ zZ%PmD7DvAfxjo{9X>jz457GU;ed0CrExRQSrir9q{6D(4VnFzH zw74T4eF1XsihEg*J0w0!^YyUU`WqPTiES5VQI3d<%Av)mSWC->`{IW=AblYArAx}j z#3o8j9T$I1Z|a2jjZ!d7ihmje=!|%>2epUdU;Ybni$iD)Z!dY~JAgSzhTcZaQF0zP zPt0?Y2wsCu&XSY~6fP2DH%Jaj25kN4bd@Zp^J#}9>#Jaso22|-jF-Elfr-Au5^ex= z@{nwlKyOdU@fy^;B<>WO_m=!sh}sc}{VGuUNRF)p$x#XCdw}^$+!ImwNw(67Xn)Dq zbbD=pANc00!Ah>572%#ge_W<13N;T!)|Hy5!a$5LhZ1rK5>AByZ8ipiCkp zZ*{q36$OoK6_U_Pz^;_A=;Tn9Sf7lpvCm8^LU0_!9~THoB1yiPaT z*Gp~}gQP*?^bzw6`qXd3O4oFY%$ElK64=B}913T|a zY>&|msShN7#$ZgwBw`A*j7xl;M=>EWM8MujNf0fxrzH0%@IEcsO($4qByw6IKa_k* z!D0vL>vRIgQ5s0jASbCe-P7SL9k>ci7pan>atEbLdqL?cm5ZU;A?dE$(B4h@m~A&y zbeDS3V&JfJL=6rP>9i|`)Ke<>2qWVqeTqI%-qL28@s3D^G0Y zAJF`yU#$VQzw`^b!Y)9neGKf!q(4zw$8qT#HTnXjKCx&FlE!6%Jy<%VpnTU8(myt$ z8X}!bA%l}r&p#k3RQeOS;KHPGx>`D1TK_IYL`ctWhV`eU+q3{ZEuBM|wP&P@@=%ME zeme|Bqok`iuq9d=z6`aq(x`XQ7b9J940fKA{*?>~=cTyG1yh{#sn_WKvy0O6-#}oj zwC5u*UXmKCZdy{-sER z+fhrEhSEAcP5MJTR7;nh-wCiQ(oQjI8PeK5=#(j4L&2&nX(8^;vdznuF8%LcSV%vo zL)*F11)o9FJZTGF&UyLLo{yngfpl#uR4bHjeID3FQmqJmSEVbT0n9b&pU*?5V(D`7 z?w3egT+w)4I&vOGsWgES8E;58(6nDB-O-Q6a_I}-1FTAVjy9^cYUwzwSZky%FG15< z>3b94sFSYx?^Tm(DBrGL>P+))gY+Bn&^AgLZ^D=+>Ay>X)-3((3G}r{6DX^tRVwL+ zhHcUl%OS8`nn8>A4yh^xMW?iwmakpXZrX8mOY`Xnb&pNDelIwBrTNXk?vs8+Uzl6c z1zRu{{nBpQ)eT5@tpWCJ>2g;nJSbiN9I)?5ueL$oyHeLk{4hh($LZ|KuypS%MBI}u z%|+t~ehP>fm43YowfoY>Y4AOe-d1C{#-vYgM=>t7iE|)+Li!9%e3Q~JCP1g8ZSG*4 zmex^T{){xZ1j;;=>V>GyN*6}}&0bbn1S=e5rv?G)D4SCR1{axk28QIIY#oJpU1i?} zpg1I}X2S?Knf*>^=q?-g0N7#K#e5VVvcGL!FwIl;G$ogL$@2HZLT_0$Ilqp`cJm;~ zNA^7BM;w*y{R9GiWebXc<|n(63qF4t+YurHWE@KLIVSVi1is_4FX^OHplmOFM1o{* zklDeq-@2jU3E2=GnG2Dz&p_Tu+0I1DUI>--QKTdcca{S!T-Hr*Y=rFjZ=vuhSxhKM zPRl-h7sVObFSOQ+l$GB?5hdG09^Po#)AX#Km0hL8-WZuHIT_E%o~QF{=VcGZVCV(e zk%bU{Q5N+4dhHFhQ2^FO<0~T;*29K~Y*__wVIZ`ow-6iM!v>DR&R0a^ZY5O`bmH3b|8Wy$2Rxg!gpWzJpMNq-bWvgR1{4a*MZ zLEt@^mI7KMve`n&9hK#F1N6RZ*DpYMAhYiQ<(Mp#5?97$r~S}3A)B`t43n~N$SpA? zvl%J9V_G&rSJ}K!J%FN2T*FvDZyp2voJIDodVTGeSgpNBq$zL)6##wHa z0>(vNOG}`G@)tY7=PGxlkmwvp%y29xdhKey!>oE*c0S`^;7)evOJxhq(pfb zEh3WSEB=ApWcfG0Ltu*h{VS-Y%Gc3{B28Ys2aM@*7rN8tihMrBg)`)XS+FouUeN~1 zEcrtNBxTEgqYGGah0&p++9r56oKmZ6==1I(c*&*l)`1$XQS?ujoNxYmhGpgZhnf7Wv1UD{QZ!=Ag)?Q$daj zrV%6LqzIrX%ULn{BLuoA>gd@2A;ojop{Sc;{p(Q1U16m?^kK!VC1~_eB>jP!r((}G zjHs95f-6Y86>%<*dqnXVc|&~^x(=vzRKc-zLWHkkDJ2Z}DOO3)>aR%L2x9^iPs$@$Wt1t7@_p2ONtkB0T!ot`ZpBu3ehPjnxKf^ z0<|wIoSsCHs93oS>`994Wef2BB`YGy3zVX$ZbXr)`1wbmr78ZQ{ET!(UIvu8qNt|F zGDC6Eg1$^e)H6^fOR*+mLH{fE4( ziqGjwd`;1r1+ZepZd~_fn^&SZw-FrI70>hov{bQu7M(W~Up@!D%M@9ZW>~I}y#|FV z6#b{6ex+hdHB75gl#<7@S|NH3X4fcOXiHqH*iP3Y)G1hfAi1firu&oX6|2Yz)u34H zhN4kXyA&i%isxDYZEIGT)X=R(v4CFOR>gbQP-|19(9hMb`1=WH(V;NC1&&TdFb74K z;_DQUbSu924n>dR7`aG$70Vo;cAp~E9SpY=i|t`jzasn%^bIK9&WED66<^T8b5QZI zH%RU%-lasyyEet!0iYRD99RiWhZSemgJwdJQH$E7;$O--no>kXqH$XB1bLlj6rcNo z|Dj^fY7FDgffvzA*CBdDI00O z8m;`{15ln-R*6uHQEsOMp>xU`)xbQjl+iU37nCCjfWD}Fj19h6<*#-Sdr8R`*+3en zWYAc~E6WC;X@b&=lK3tw?daW3RQ^wlT9R@v3xl7m++U2w6y@t%phc?kOY%{sDWfO@ zD_wa@0hB9B#UJ=ZGL)a5gZND4LrOl%QnLKfm#wUzPj`+|x*CFVmH8cX{yk4Ae-+sI z%BBn8C{X_1gQ8H`{0#IiQm$-6?W%Guow2>9wBA5tv9guIk0r`%6Rfzd>>~GRsq!#I zlx`>&zXU_elpoKav0OPqEAtBFa&L&QR6bh@zA7byeEikQ6i-@z)+k3QORH9yOkdkN zWvmNSys51E8dlURAG;6r80umj(O@(Cx5%%oDtN8^-DsY(awv@*LJ#>^=53ZUCV<!^Az5PeRnm0Z-ERfj1<+(mVO4eaQX6`KgxD4%J`v*Ba;>pc2ynA5*c&UvylRnuNYURirC)3R1oP-~T65 zr3b^L6RJOG7aF4SAZO4?)yL_84pptO{S25e)fNwoWw`1#MI|Csi_I9CQ>ycCL$%W? zF?rz6sQhQp7^zyd9Rj0NMlB>otAa~_eO9%Xe)|~J9D3N!slv!ZbYArhd8RI?YG}uI zQT6Fu_{C#YOD4c~NhP5`Wt{4#YDW>Li}abuarrgsM`54V3Jhs0`arfS_sAjwkgmZL9Q#d-vG z=BPR!g@jy{lEUG6s)d^<{*bTQ8xQphRLL)(vrzR*G!!mUDJiGmsw%_}gK$mteH=)N zRRycSSfU!v0`_%PnH_4SDsDdXy`gHLsCt=dVJ8~PRcZTxQl(m>u1kG>X_&q|1B zRXs(aq&C&^7okPF>ZN7~>`-lc30icj{%`|jmnta$`gW__s{q!cx?%xkuWF|&iau2% z?euP`-v0n3wtm%Nict)xQpojiTlMo8Xa-gDBp8c3suh%Ucvp3d4Y@$b zwtX)cz17Re^?pRnO9PsZ+G`Hv9#xlwf!|kso1!;<>LJ>@_^UV4AO@({(s|=!>Mv=p zbzJ>&5l{lvt@EK_kosc_1O}`BrL)K<)LIQ1L)1+oFq~9xrkOHSy@5OsVd_V1mmx4* z9c@Ktg!)1z#^jXxm;jPat5?4VL(i!3Z<+Dpso$)GhEeJt>11=XdN-ZBKdW}6SZIuT zG6oFi)P)qxKd+uc)5!%jyA9f3R4;Ks5v%srptz*|tO4TV)DCpMIbN+iMt7zps=ubw z_(|$1a$6;_g5ipq9f~4Dy?-y%&Q$*%2EHtH zp%e_+>M}b2kb?mNX0H0>Xy}`#&VCNs=c{kEV<-#M!Lt~kLUlzU#ovq6?er*IRh#Gr zhHL5{BEVRz&ix&7OVl1x@LyN^(h-FJsfX$Q!glrFaugkEZZi5h)lbm6s!RRKtEhFW zcLxKdM_o@TGQDckdZ6^FIUAt%Ep>}GwCGollRVpi`nUN||F(KrFggd-P2XTh@2F>K z8oaCCO-X!1>V<97V z>KHAG3H1x)jGa{Px{OC)NcmSxd#J8%#hA>hzsmxty(acN#5-st zbZXjBQydOSPMW^W_*T< zVa*;|b9rct4XAl)4wK`=OXJCfJa3Jy=Pas6G;C*x@X`F)0-B?mzt2Ftucn)l_Wd;8 za{ziwGyXdCKCa28)oh^VZOUQ|(nL~nbg<@3IE*===@`WzglMh?Lz$DB#I>Ld)hzLV zq%e)`IykI5Ll63t!8@VTzJPb-U3&B;_4dPDOP zor@{ctegZ|xn@fp`YJU2bhUn^=AUfXRHdn)fJL^99k3OcoG z)>NsDK#Nfg zLyN}ynhDw@JB2t26W{RSvqwJbeI4r!mB3uD~0 zA9aJ$T{}w=rNi1q%OT!FTiOI8JhhiA!QiE}tVGRQ+e7=ABie(BVDQlz$s2l9YYTA) zjjxvb6IArmiuCwl{k4Z_(G;LPxD}wsw8vTCKd$wrQ$>N=#=Q^`q-v1?b3#AM$xT(<1a|+(FVi;tykMa*VgoDg_OH= zOY2Wp+VpGfBVqP{_QNPZ-_~w=2tk9|hjeP|j+RN@Oxs=U+$M+^(nhwRb66Ws_YL3E zW}iprh_-kXjHB8wW`TBJ8%6&s=z;bl5q`rl?Ew9Qn{n-#ZBT7Ot5Sh|QoC#?1Wsuy ze9Rr@kwUcyJi@k2l1AGoP-F&(c$WeEhLNiXfyXzp=S?BX7 zI9znUe+1PI>e?x!$xY zc^}1bol6e%4%EH$I`j_Gh0rt@tn=~!-wB=V9rT6h0>46WQuk#X8bft$^$-!Jt2qJj z;W{Tur;O0~(H{DgZr6WFBD(h|E_FutqirqZM(R3}QAFvsJqFTfT^HGORyWTX#>D76 z$rFA~cX%6W=XF~IfVrUCdK;7%b$wb$iq*v|fTT;hn9tD|r)!{Ke!T8Foo`9d_0nGJ zvTp8+U{BP2L|>mI-TOy?lB~(ay5MWjB2#zxf8fv3 zeHD+f$kypuz|PSvkAl6qI>`bINuF+R9nkW1Uaz1i(0xSN5{0^y-@#X;yL) zg7TVfJ`d2vI>n1t`;y>=>D|> zW2NrtxiGX!cVi!lYTZdX_EDotn**C_bsaR**6DiO!EjUON;m)2>wee-lm^}8cd)Ec z*O3d7CY|9d7VIKyYA?J|0GOTPIql~>cZ+_Z6E#2xW$nDoPdPDAjE{$fT+q&;5elVyDq-&J! z=sw>IJMZc|X)A6U(rt4C%&=}?8*I9#dvXT^j_CAJuy<59`2%3?>w>?5+y}bBIT*Gv zT_J7k$8|SshVy2-BrI;ATZ1n9KRQ3FF~bkVdix(FU%ioh zg?@V54!Xa>U;p|8Xc3@~r%2W@eRTlj9@kg@fzb=pukr#%kiMHdp27N!6CgREPp?5O zRPQn$lEU;~k>@^KpF-y~BJ_7If#j6lIT_HW^zPEM+Rog*64^mP=6 zOV=;fLfo+`#)&l*JQq&6d@ohjW(*L9Z%~kz*iXUFnJG!AL)_WwQDA6yqLjCLdOxgyP>fIK? zv>W<93gMRN`+|T{t`DF~>nijCj?k%6&v^-aRrof+T zPS3lE)|>kI43O6AzYst~gTCNhJP?g~Io-9=q@R8gB+dFDa*Va;Pm&*{RUb_s-8Q|2 z(tg_Y<+bSR(0~087&`TJAt<`^&(dD0Tfc#Pqdoc%^40h1k7NC4o7bmb77Y=%^hrn2 z+OJ$m2j@1CATZi)N) z&n!TBpyw!1jOoi905-0dd<5|m`V4xhCiMo2L`~^;z6oV))B2CTM(d3J7|p^D^-B79 z&gxq!;mzK#>T~ot7;bt3+tG0FXTUfaHoXo?XM;x=3Kv5r?dT609`Qk+tHGIqY=;cL z(BtK1c;h!%=5B}#LUGt|r5Ge01}nwSJq;SlqhBltKFq#Gf|UjugP&GluUU(A!~noc>8elws_9Xc2AD zt$=E04ZA*tp)rO#YBZiRtfr07c|*#2@Le#pJOY@DhF9qRh*-mp4M4eMU_XS2IKvXk zUx_ye$j_W$*ys$(%ZB{{P$tpvaRM-t3}4yE!eqn3ec(tj{3XM%r5gMffHBRW-3HKf z!?98@UNOkYkC|ckI0IT_8lIzrM_GnH>ED}Y8+Z#qnPd3mGEnjjOIJbd0)ro&z$r9v z$U$6W_>Dg6R}CSrL*6yR@mSSJUxgK-6&2XHhVq*acS z(Z3hUI2+GXFvR9!JWFT?jh=Ktva2z475EPsmsJDJ&Dhh4!ri!wV$O$+ZfUUB!^q_W z)YEvP0hC_GmR}*s+jyAnwm4$Up`D_Sap+l$=uu-jE#7^NX-e4QXIxJijQ&Pnx_&Ld z_yM^Sk5T>!I*%J$e?@DsQE>!}Cybwx-zdarrBLBXx@!k7)6wB7$+Y^V}e-vvW!j5|nft?>e7 zRo5G11Q?43qYquM(`ejE7Pc5W=R&7e<5T1lYBTnbv%B5s*@~jWxHN^{zfR*5Qy}d! zF1&)G+t@_Q!5-tGa-iKZzB>ZOe&enz6a&Ty4M;|eAJ;?t17qY>JUU~>fKw1SZj5V$ z78AzU5HwC2y9+=$Wvrwy(Twp1Z8#qq-`Ie@S!3F16b`0qo9X@+N7KhHz;-enoQ9?@ zCdLDpebDqiUAf|FnxuR?H`64|>F%Z%R)XZPNy>wU9;W9@Pc&bT10?IT~&NjSU=_b#W=(}RtMgf2f zQ_s@?%QShML6K$pgHn-lOrd?~%Qc<0&=Y7g9igP*0@FFllPEMX@1s^^n#qLv*Gym0 zr@z>gcm#%)nD)^EqttYhB;7D+Dg0k%%1HrsxoHU{iBy=DZhfJxz{{rbP<@+GN_>0-9FS=>uqNGpVjY z({|HJIziWAY9KE|rz!GjSkYw?c|&fu=>UZodrbd2V`O_xVRWjl&$PV@jkipH|AfYV z(}$E1KVXV>0@!WS$CS=BXgX%2IO`o#E`2BOnzUkI51DFSgZ1}JjAfu1F`4Pu$EfLV zqP%ZPplRiSseeDldCbK6&%tcs975lu>3S{XPMOA~KzV3duoU8FO?T+)VQ+S%(~l13 zc{Bq!nx`nE$jR(BMVTkg=FUd&yO=+vmHk0;IW3=E&0JS79x`8|n3fZr{~JsTonWoAM=xx8gSJ7%35geYkriz9{%PJX?qf2 z*3qi_m^tqey8k86eEIC)cca0KPo) zP5PGD^3B-+(7V7K6N}bD^JYptzH0u1-kfXZ2J){Jo3)>Uq{RF;1!1n6FZ*MhO3hk| z1Kcp*qQjSEX5Ay`D>p}$Lf= z<{CQ9+hAUN9~_P5r)clrWZrWZRy3O*jle*)n3EreGOgx)(U8<;9)AIS?dBKR0PQe8 z{T}){&BAhkcA3|bqqoP*qBphI{CzDb`^-0o(bsQ&PYCD%b0sCd+%`AOM{&n&dyjI5 z@0!ObcX7zvOqoT)X6HXp+%r#n3z!k}3Q7;YZ#G0=oFABzc0h|UGlTYqo4{+5NqU^r%RrzEZ8mJ`2$A<**6ueAR=VJV<&;SkII zQ4}XFJ|ZX+YMFNuG+~xTa@dAjyf#^QGtg3ehw>A2Q;%PaIiT(Ib>DF5@KWv>G|V=eBK$#}`) zGap5qWhNH(##^K`H78g`lo<8PmSj4vm1x;aX(36L-)QTTY*|dlwNfnm=_-O$OT))t zNV6<`9k!%f3TTqKVtJYNyBU@MJ1CQBS>FVbEK4+YKsf(kxleb1f+;`|Jw46Q#5k-~{GN8p(OGzZ;mRJ~G=(}!tkNn%EmW))GcEfV; zRrHlvUZ%ON+%jGPk_yX@w3@863{v#7%91|_t8LYm$rWI%v82;BrPlHn6Et;}s|sj( z)AA8Li1n5e^f76$^tOVr(ekPUj7^p|c0rkD%M|&iTP&lU=xep4dO+mjJy@;3ciJvPfErTz3;oZ|r6XW>7B1=TIfOftmxTQ0DH zJz#mn0<_zf)z?8eXld!i4|B(2w;Bw0ElVi~I%GLFi`uYd_YlP2vut}6BqJ8tM_?GW zd>9OpG0WCpQH)zYn}pm6%Rd>YOyb3p=Cc!inEr_ zP66BA+DJ)<4%Rbt(BILTM>%Fr)`^QKoUPB356i_GM4q^V)+~DCT&=Mbt~q4=fOhh3 z)~IoyxLd0-Q9Eo^EQ6vRR<$hvjGk5*oelP~+JAt7^0xYZg3cq>Xa+cZtZ&oC{HS%y zeJJc}omT@;KdYWjPx@N}XuTa^_0VEuk6Aa~0`_rh{}_rutDgm6LDt0Ipkc7JrvMuO@6**dMb>ZVZj7te`Ul{@W-T5^t=Jkvf#?#e_y0M%?zpV0 zE?yQ5wam5+v(hX}E92RF^Xx@hW|ox=TUM5t*#pRyDL4?>Ac7zug2<2!f(Qr*vSrCu z94tY2zvunye(t?ze9!%@d(S!d{?c(_tL*R6I{T8nD+PwC?c*7cR%5@EqFlB1JbK11 z+pi=)bDjO2Wsq5KKS@7TX|P|o1GOvmeg`njSM7zZptLpHUw#n-)neZ|1=+3k-t;bN zvwxr%wRZd2mm##n{@SZR(P=MSg4#9vX+5BI+25dC^ltl~?gC7Y{ZrpVXs^9uHHtp_ zN!t8%-Cji7to!YI=?)yQFV{o#pnXsriXriZOe|Cy;i_Uho#w-?l&40BLvZOX+F8Yk#j1(#GwF4uNFC{>px^PufS2 z*Lcdln9enrwwFXh^ga7zTH?*vZ(EIG);^n_gZuWjo*kf>vsX0%#k~EAScq|AxRE!; znK4DFJuZwbL+IPbxJ3_#Dl?>7_7Z50GjhH`V>~1J2N-&S z@hBx-Brse{fiRI#nGBMXjA}|QOJb~|J0Y2Il_m(M7&lpvlET>np0;nj&YD==Q1Ar5;o;w zoY8om;iN!gJ`!V56fl<1rs+b)+h0O`5rcUenu-}8kZC21a%bQzWqhE(Sd=k7(?Vf6 zIKSX#)lgK zt%dQ?F96fZc!jor+S(Xz&{l_b2IG5hbTA@>z}?Acmcrg^jN25S?ZT}G#%@M`9c1?~ z{^>?vFT*(nvilgx-vZ%v#>bSN-_OXVl#>C*pEO+ai8)~?lAtKY295$17%{2GaA;SHo?e}0L3Jujhr%5 zjGyR*KFwJE1*F|$tgy$(&M>NI59KUFNeQF(8KM@5o@3P0v}&Hg^#y|y^CXRvGjj#O zc46AAw5@I*^BYQzab@oR03++h^w5IQow%=~Br_)jsTY2!l*vxEH9smv@caHlczPos94`DiQn(wPGrA?*y)ZaXw( zFjvrBlF9s(X69#^u@;bIF@tESc8>WUCDG+FdGF&=^+?exBhh92=KA(B)0u&Z7 zcaU?Ykm-^SF-6R9I;^3XnTbt8b|p;7qtH~&e3d@*7nsfzAgy3N91Lld%ro_1xX7%0 z8KYjs^q{5QCFZ;wjn&K@r!YV@O!>c1U&o9{hK73Pd7AV$FkP_nLH;!}O@+=zW=#by zMHBOFI{BfQS#%Xvv@mrs;Amw&-v$)z%r7}0>0sXZ7k!<~cFM-?Vs4-pMK^O~A1Hg6 zk-2E>W8QbhI9+G{LwP9u%wU=*4>1KAfEi|{*Mek(`6lHB+eVp95&*uz^h^e*o6NQ_ zw2m=9Cui&}X7JCj;x;pn-sE?fe)J)@%iK(97URqiHDFILFHoxWBs0+mlv7M63Hqj) zOI0ZDF+&zX$_%shLFm2D%sdA6Ip(9=QJZI;IE9*%jU}Tz7H8HQ2f**bidzZwt}OFf z2z6r(Q`p6wRY$K&PnMMOIK5a2lpW&D8le!qFKd`Kjrp-wJq!ka*6Rz<7{Kyc1}TB8 zR@y^(fYtL78iQDt9!Lph$z?G2AnOfMf0$)^ogRxLtl%RM6T%XcYxgLtH4P&a%5r@a zwPUP*=ofw?2u?y=mqq}vI>&{CXUs@L~)$; zIVE+TV5RQ@>;%@AbKpy4xzN1xB+}eKX0vvaBO-@&g_1pTS#y*bo5xa;Yxg|sK6!!iS!Ye?D`3q$40{V% zpDhEzBG%za=qqNG(bv0#RVyd|ODRkLEBMP;0ko7aXLXW0@&b!X^P&pYv#DULWaa-0 z6c<@#d32Mr_Su2q66+dGyQ^8hQwl~6i~AgkT2_-QR9t4Id<;YDSoL&9OFip}hoPu} zwV2+BS6D0jK-tLB+tK&0i4_XFjl^jrDgpigwlm zA`~60>(8LCi%$C48Db^Y(*D0;Ru6fdM_B*tLhDUdJe{>N#)@1Aq_s#_LO|hJJ!iZ_s@YmqG$4a>dy)&#QX|grTnx@6sebzbh zqRz1%qg_z8c~;?Du)>M0q{)Xfd-yI|UD)3;(YTKt^E+zpY`r^#da(bd?Ixb=F>+pe zvF!p-^JcG40<`^X9=&^g*cm&~=*wP7Q*u9cxEc2PvpdPj9>CrtM=g+jhz_j_X213c zpdGZaE1e+i5PMrGiV(JKF&K}s)4#_6hq4(zg7Fyp%c~fmFm`npNW$66Xh9Oej(ZLK zk?heR0F7ctKLpBX_PgJ}h!}P?c>rVC$LT!1ICjS0pghi=m*T?2vx~lf`V;I}+J>9J zw!K6Nf{AQKJ!np{O_VsA#MbGdBAMMrZi!RuU7i@{6!tdSeU-}YZif|V?4W%BbDHhh z4Qc6YUKdEtuwVQaBpK|N%&29u9rX})mc6qPwJi4M593>Yjy-f1?AdJl0`%puAGDG0 zAeTMJ0`5F^F)jSgv){T6>+{)T^f(o;Uu%FBh3tGv<1S*?(6R2t>?h{|t%NOH427la zBc+g1#vVHdP37#4F|b#%-=@r-i)_($j71e&L8lzlu#eF+w3aS+pZ3DZT zTrF4Fb}mrZ$nK_mg=Y525y);~f0zN1R`!oH>+fK%ps#Qzd!F*DuCd>d!1^Bcm=R!l z*)xu~g|NG9w__;A*_UbW%LF^GfZ~6X>=Pg1%1p7t zXh}Z9zH|YMv+QpR0r)<9W+93>_68ng&$B;ohM`WJaU;gUnRD_Lh;iWrP+rtN&h8ZS zxpUfRspr9|eixWLIWG=k5WG08-N5V3$t5r9eoh&sqxf(>GgAD|m(%zy#Q1R>2B5;9 zlSn6g2XNjUhuMLgbn>Jh;GCm>MF(;ITa3nFjy=sf4sm{ALH1$J{TCqZ2*-osvmu-e z%8x(FQPo0WC`Vobna4P*uYw_r)1M6k!#Nt-zYxJWd>A8Ri{$vM0jMa>7om_A%~?#J zhZxRFm(du@d5!=d=d{;>G@i5ZU08U6^I94dCUAZ`12Bo4X$m2o; zDW^bkiW5%(niNij9iXLh;^QGDjdO!soavn7v@AMf<9tW)@C?qIp95Par=lDjXE{7_ zh-Yy=A|Gcq=T!gkA;xw&5gbc zzWvoE(Loy_dCi8i{P>;LK4aShuo1d+^6gTCYD<}483vO zh0B2A1lMg0moS0*CSpJ~yF~8qWssK4z3B_tr?^QELT?Ip4S5nya}#NR(z#0m(07KL z^8xrXxKC2@Q6_hc-U(;9PLyq!#m%Gyqa1GH7m%IHUGq8`^SDdMt$v<+hZY_A+$BU( zz~zyvv6%Y?3sP()+{39*Sjzoz4Iq|roi;#kIX9#UG!@*`tzfL=eoWhVFLIYY363i6 zHi~Ip;<}SVyqcRz`<`mKPsX9~GM5nrTk5!d6kV(5>L^6fzzulEw{su)0!0V+WlA#X6n@UiO zaBZ7uH9E@OPVb}}+_}GC=uPg;6!72T%4qZRZSEb)t+~T}g#vJQxt|;a<2aZ9Jv2>l zi@riJ$^Dy_wo}|A|A2CuyXhI2Hp^W|QJ?$VO*EUF;~vRox~Dah@{dy;;*>%j|lgHTT%TLQgaJZ%9kx;Jk*eSY`zieAL1 z`|#!{RmGPljz^;(Pca2{f8HnLOA6rmF#slz_Zp>j1o5K0(HP9@qqW09Ueyg77!UET z{0U8md2eaZdW81|Iom^c+f}gsDDMWnT0(gnXzy7VFW?$fg!9q|&=pyke{_<^r$9{- z?@bDgCiC_z1mh{*7azdv6y5^bz@EzUAxBdhFQ5y9c$(+;BBZ7B7Smez3@?GA85z9A zf{V`8Z1@9|58ZnFa{tAdb$J74`%52_~bc$0B@3X@gwOpP6o9S(KdAul^)Sl;g z{R_r?UgrW71-$nt6S0sN<^@BGcst6#Sj>B&47Czo=ph(d%1g1Lv4UsIhqOxG`!prE z$a|Z%FIDlPeuEL0cs(32RP&a*qp0C+_z{$~ym|_WUgmLW)1|GBx9K{>)bsi|Xl>v{ zeGH^mcsp(bcO&o1-_h8_dub5TuJSqyVN)~j(sGcr@QOkqt(B+fM$yI_qKQpA?}M|T z?BG>>2K1f0hn@tcYrL}EP~XMNm7&(nyT28+9-i$tF!b7Zmfs&Q0)&C|7cl7e>cxP4R5ftuSVqH>v{Qdpt+FF=luV)1qUR zm;5I9@AJI=0>>Qht5x8b=Xucz$cg_p9rfwV&!ab!3%`zhZ~ORrx-pcl{NeY3$&Fuo z1&!`}1$pj0_##SY_Td$Ay0%-sr?_4}N z{QqbW4)Fh_?HfUSPjb8*r{B3H8KE}Tx zg6J@QC$G@JjC5=9PQxdt4${GD4s zlE?pz=8@<5?{;7;^7$=F04?Buei6nL@_!6MUlBiY8hVTQdy7F*!hiM})R*!D-viJx zK7+Df%lX$_(RYFGgyTB2b`|^zdSWa2kJ7C45`T&!S=IcXHiNN-@1aLuE&neaR9xo2 zmxNj!|JrE`Nj;xIua*XW!>53Dh2QyXP$>SVWlwRb7Jha(q_pzO8o<}a@1=d{?fe59 z!O+1EH9&MH-;{RsMc`Kj-KuaE!ptI%+r?@!*Yetza=NEzTS-vZc! z{NEpkfkXT>n&k}hyXc)c!vCJ!W25{U8-1K^@J~}1;U-`81_o%1|32kP-r~=YL+&;| zgI?=*_;r*qeV6~T8YJWV6xz8n!GD)B%_jNN7Ra9BKlMBiPV+s;;c|~3M3-QO|5O6_ z=J-Fn2VwL4E_w`{1Z#i59pEf5i^yN=BCw5uW1k?0k{{d!cWy$qhajBNKs^N;Xfo_2 zIQ%;>c?*7JfMLJjZ71OM5$s-w@%0siJOg$=L4GfQ`U{$017Cn3VIzbE3KBY?{(zv9 z-gZHPGeR%~3wqZ<*g=8yCE8DONT8!hL}P1D#)kE%rQYRg~cKSTj&_w zNP#Q^_C^T~66|O});U0n5nNgdO|gRIub_w%yz(a09~ZPxYInRKj9iT;1n<)R*#v>6 z9U2k^>EqCMQjq&R&8LzCB`tuMEckpc^ri|T>Oqqx7%-yowBYJ@AWauM?TfxM0;h|> zlp$Cpg8EEBUM0rqtl-pg)UpJp{h{!jU?qijvjxZB0cDQh@gu;SD>!)q>hlBxO7xu< zv{TqIUr12mfTK(xt$~o8a^fv|bUEctLifz)VLkGzng%9g0^4f%IqlX2GEc!Ow*Yc0QCzzHvs*B z!1hBb#0(0`Sty1CJ>5`0EI3H-^AW)VZr~Udblico8v;ouIBp8U=zbg%d`zyPTY?pO zSbtmaXaH2)5uA7e#a+RRZvoS|Kx%=o3BkG7VCbZvClg~hB@nC7H!b-4420bi#M=6S zW=60>1kzbS;rnR4FWCGHNaqAhDKt3?H;cjHBHUtun0>;Z3ZU0j$fAToH=&CGeeS|6 zN>}g__ES!cx9}Lnb@vN@IEg+V;l&DI@)cImzCS-JxB-~7!F%Anwlvj8}xL^s)4iQdNgXF02m)AiO zCR8K=TDY+GE%ZeQ|2+j;B8AB{&=e)yPapVb;odk{79$*X!)V6}^M9j!jyT~EtuKxX z8|EPh&d^2Ujg+=LdJI(nPlOwGzUK=bf&zsG~sM8 zNKOlTX#SWkjH1(l&IlL13Ij8Que=75Orb*pWS$kiOv|Y(q2r@8pE@UWJqa<{LZ3T; zpCg>U4T!nINIKInPk8l?)xaKh3hQPTO%~R zkD^xCMz`K&Vb(^F)(QXefKBy6&yPXbAZ%g7m@C4=7cpv$LY)UJY!bdh8@aCvJto1| zEPOr#Qd)$+E=18PTu=zTZNkP6VRom``VB~~3HOtCuFEETPYy%7g^vz{v`6?FP2hTk zZF>N?Pq=3sLaz%|w^8&9P2@Wp5Wdm|hCyNZ&!8L*RTj?Z`QDO1_ z7uLd9N*cT=e2&sM$AsA&!rhdlaYty=1fcb<@WDqgP~*b+L$GN===3%? zCWW4qU^gY~UjmM4VJf}z?+H2IK+}xyP9!L2g~5~#IWJt;1u#ycsm~$BS+pe&g^Q@I z34QxS{qA6Q6|H^-usuX;u7c82R9}t4OQf>V7sOkXP5UPHi=IgaC?8QWIS_qC=MQ2? z{6tHhfuZK~W&ZIS+|$wnNHc zQHwX&kBFKnR2?ev8b#kRQ6KF}4FjbO3d2Rr8_*OXDl5WRM2QZ54bo_lJsqMEBXT$k zl33A7N;{1ct)}>Dyy$bfXHJMNUqfSpX!};EPZTv$vc^eK679@L7I|L;!c!tgGATv$ z4($&~741oY`ZUq^3&58yG8*XncSf{r3JNnsO_WTNDXRV(SM99mHeHc(qUUo!nk~9V z8&Pvaju(JCS9G0n9rHxdbT(nWNb~??7l`hD2ZlmXE+xGeiS)lhQ?V$YPUI*RX?#FZ zCfYy_+Hz4hy#p_Ze!4>W#1*3OeCWL>8lo_Im1qyG&o7BKQz~DzXvY$e)`&**kbPMs zHbH2eC@UW->O}|0joBbNJ`MIOBK2uBUKQP?_f)e;LOB~PqGhzOZWS$j5O~`}gWG|k zU9{s67&=6Klc?D`MW2z&;+p7Nia2zO2A6}QM-)M?q+U__Wieqwhx@d1SY6GGf zx>*KA$7sPgB&wr?ieb@miUy2`ej;D)sOT*|8gGiC$qzUt`kHFDM7tdbi7wLtaWkS=3X*+EB554S*gK`@Dz7FmbAF z2WY~@WAu@U5O3)QO{ADhJKm$jGvxV?7O!tcEk?ZQ7f{BEYevBzCtgSUmX3>`AU|)s z_}inf@Pzn71t=55ZB3A!D86zWm`;i#Ehv)2ufBwFN){iZ#F10t7+=&<#O?F+{Yw=G z(m^O`;=igO=CpWHfg)Y}>_ZsfGvfT$K$0Q87>xnS6t8*-jc3Ir^cKh#zwji~=ZLf3 z0+?L!Cv;d>p4dMVu+NJVV?mNHPN20zfw+Ml*g~-nO+|{t`BrEs7W+I!{=5?La4}3P z6%Y8JC=&Y#VkLPxE5xakKv^mN+yXHd#eExLVYPT>3G~*8U)_YhTCsv| z@;Y(d!@yK8o+b7Mu`k6N8^!<8`5sMTdmf6bV%2rapDg^(<)w-3^8qD zr5aYWi`8?`)FJ-*7Zjc1%G(fgO}v7ET9^2HN>l0)*Iz)bSDZwii$1YSHAt?DOKB<4 zFOGQuwE^)4$~YMmXGu{T5|2>g$gsF53&n`IeGl~6M#az4viFAg)mK1sQ~djGz#kJI z--AK8CElE(Gx-1HxC-xa@*2883{X?nIN#2K_ja8fKGfA~G|^L$Xwh{ff= zG%I$XoT>X_*F~t!i3bj#Z(h8J&VO){Y+L~&Tx=3$4pi)uG(UIJisIkCl6W>S`AN3Mfzn@cY8ZM0BsH{t z3zWp{0p$V7qgT*)P~uMcHismIufxv665C83IF3j>=|&8ZxJS6$|4Pyy!r_YjgTy&G{Hzo`q#h|C0SSj+0l|&dVFIf!cH{CN|>9_7$+I0 z4B+FEj2B@`g5)esjT0qdMy&6TnM1KYx1(N=9SWzr_nLHOIlJ*!dmP%gf zL}Qucz0)YlCHE+;@q$G0DWp|Mp2z|0N=Y20qFUIW4^$xlkKUy_v2K^4`K%v=Di zk!+-+R%#`uX(n@7vTZy06Y3;8%jl7jl+zovLE>;9{7sSzRT%E8l27x|*DQ&o#aW9) zdkVwWDmhDAq1z<27a_Y{@^cZ;cS!#9z&LeE-XgE@HOX_dv7}4#J}o-BCC?|JuSYV} z0=&JFZrYgKCwU}z0iM6>k}=v(+Am3>4bB6Sa$0K*N}7KH&5$It0+(V~;ywZX5lJyY z8LdPU|lxlKIvWpUC?n=ybMA^86w*-9?lH3qjKPj>A1>cn9 z6wS=1C86Yevdv1WXy?Fv$v5=m%t>P1&^a&JP3r_F=^+ssou$h^1gVSk2Can z*H!96QxP}m`2W8((ucc2=^+&rq0v*ik9N6uNq3TW&Rg1e24MC}7f|Yik90XLu6(6i zInWSblU7rTcAzx86G#t8*FOyYAnEZ~U<#H_hC}Ev5rQiTjf zsPt)ir5%&ruLgUV)IeF0;nHs?eI`PBmo8JJR8F(WDCrsvFhxr(9ncpeHBjg`R%&yj z&~cpf->1QGTpGC>{P9w|K|nkqJ!*ma1gTFUYDv-!jo?U@x+da^o|2Zn4ayX$(0Y6WAbSVryFLl;KOun@GL*Olts-6XZp>(qi3`Np!X?hYRZA^T4`A}FkP0e%R*5neKHM2z4R)%{2HVWQYLSc)N~IFSEZ9Q_i2`14hCO~ z)Vd2rt2EXRqT8hJ(Wk0i`Xq%0JEVCz0MjWA-V1%#q~EwB89;AJFJP)^HzsZF#!%jpen?K0yVB3D(0=Z5sn{M!C!`I(fo4(~NI|D5 z>4)^cr)lY)QGl71{`VJZ_oZF|V4Rb_zZN9((%L4VaFT7=jGD7-PY{5*$m-Ss(>~dK zI%UgMrlO1HCi9+#_3pBrwDR(hsVI2jDa#?3l+8=#G6fahvd&Z#`(@*M0ntacnSA`d zvOSH!6d>b11QmfYA38w#fXo^NO+m8Z)#wYBMc;(NgR)F=pN7e*D0?nkw&PEzkC4Uq zL1v`vt^c4YN)|-hN~2{Fs~|c?#%7~0)+Sp?&XqVBi_(Kn$o9Vr6$!Ge3Ls6Cy-P?> z$_BTiFG;rg07f=h7E24&Q!-68G^NN2kDxJCc8Q$qX|i`_!Ejo3-5s@b**CF}az^$m zt$;FQ2lGIgDVur_&i4= zDaoo{)(d{8)X7IHK0lMGOd8F%Jy7>-ey@B#T{E@TPP`}RrV-3 zSK4GRle4^CR$+xP9kM8ze00j(Qenh3*}%h)(j{Bo1BKnPLJE-d$bRg{IQ7a_eUHXI z*;XfzT$gQn0;2n6&F5{X4#=c(&ubp<-O7O9K0ZY|j!{HYt1FAJC>`{|}r^%l@V` z*?Y2=zXIQk%<&AJXE`fVPGF$!%RcIaO>?rJY56)YE2k70CwYJp7COuS$j3!@k#Bnp z{QKk+A49#XJeUo=Zt|#J)ZFEdN1)F`K2FO7Px(gLRqiGKjm-9zPm_mszr2S66+UwB zGr;64zl2wV&CX9A?uM$r{Ps#18X)(}1^hsH@D!vSkpKKB1}I4GO)isQd6^R^56Uk_ zg7T33oE@MYmY3~>iX(FQ6W|Mx4-|pns9bmim_p_ClvjUDzLr)5Ve(z`uq;w;N2`S> z`LFZ9WQ&&9P-bn6{1zo5$I2&Yr(m4?z)dJTE@$R~KVHsdg7Jhr{wClj$amgGEm6LK z_F|lr$FRVcB>$FD50m8)wC(VeTuTSdq{y=ZfFf0X|16-T$*YRsr~kq^+PJy$+NVgEdN zAMH3eFTY}dlze$26DkVi{^VsZl=CRMRU}^-1S!Sxp>x1gB40vzAf@u93KV5>+j?@G zmdm#AikYK1frqD!ELGzDx20Nhqr2>nIRhBiHwUuU4)i zU;kzKb~?+ZPCmL52vCZR8vErr&ai$!-Yfy%pnN%n$cN-_JdM6#xtziuBl1nJP(IbDeC>T)*cn%73Jkx^Z~|?Y^IoA4&$_r2L)< zBvbNun(|G{bBw6nlUvE>HzWV~C{WDGf2YXTeR-ZeOq!Fw_!^yOIWK>Y)&fq7?+J{v zBA^LKT@MGHJ(;hr*X~_&gQg(c|Ey$fJp}x8n67 zH11af--0k7#o{zD_$mVEL=Hd2M>NCrSFGKMB0%x09qnfeR4mScv;&HjlVA)|6w?GH zSkXgY_=AccXu^9)v6!~U99E3pfH6lDv6Ph=qHv$UH8`s9T?zJ3#gT)sDO};=0}CS* zkI?fMsaUlQMnoxAh|w6W=%FOm7=<$vjmH%`(!ghnR~#qL;|WFfcF>$uJn}qHBq`L+ zs3j}HC@1HXVi#S56or{W9I1+36dq1f1U?G>(~5)+P^K%S20%Nbc-jfI48`U;kYp-e zpvcNu#rASEW+_H#HF!>OeK{^nwqm0J!g6ei1+-}_SMlyg80S1iQU`>dSHQuI$4T)p zJx2wK#jk>+P*FOLT9HC^1k#EX2XZh7C5pG{7XqbQQ|4KKgnUg*2t_ zQ(X53$#q5c$B^BxI1vV*1B%ZmDQ!^k;|mzsA;m*+05h!EMQPL{ieUyAMit-FqkTi6 z-jBXpiUsuQzpb!;8dB~k9Cy+B@2+BH0Hlp8#N;rVP`pCtP){nZZAasj;wBvgJ*{|m z4A*K8a_9$e!D4)(i zu}`_>ETFk6jsHQko3iA_B0PWYN_S@n^-%hPCBaWs6i2`{Dcm7IHvSH37f){b+qIPSH>b@ zXcwV;T?V0%$_?bCk5VRmfg)P@-b#RpQTimq`dDSoPf!@AeB*629#>{=z~IL#&p(dF z6Uyg)Krd;JU`X6haa=$C|o>%_f z28KfAuT7{G*_7MX;=&dy=U#x&5~c7KK$R+YpM&f&WeXirRH1y8Zq`cW62f#*X-^*M zDrFz-0lB1HMt4xPvgu)Hs!{&vi=tM!lr}?LR=UwkvrhR4eW>e|pZ$t4Y*2=V!Oknn zst~AeRN73GDBh&J<^tJQl^e*#+N`Wz3%xB$$uy9*D*vTmN}ICfITY>6gY^7%DCa2h z-Kktp-}GzBJwHKOm-2y7faz8mDYLal`Q!6w>{Xtp+=o8p;fK+9UAbxiMZfYJdRY%B zhi$ZrVo)igjeA4NF!OuzB2;RQ_3mwu1_n=X$gN%`CSeAW|YThayP3ysG|78 zePw|+s&mRWX;a|5a^W$Ig_CM1b2@^8DUmYxNJo2vUaP`axI zC^y?fRlX3KJXLm-6Y8bv_zhsZRkvS8ZNI9UoQpoHU&|rWSLH;`0zVb6iN1gSDrP!_ z9#Cx}hf$E~1f3HXta^-6pbo2q^xz&*4bxOJMAb`&9o^YS~W@W_ZU?OWjx2Kw!%?svx`$zQmXZFm7460 zSG~yw?h~qmy)Y(0wf1K;CaU_Kpy{Mam4v=is&{CfpQ36%3!73^!vaW4Q~g3QoYN|& z3KZ$85ej&mQC*-Di8EBfeJCj!!vB>R9ne;maQ7thSnU_dGa#k zs&st)2SRhelu zSEd>!$5^?_D#NwApbDp#L51q65Hwb*Hk`naT(qf#jcBb>edG+;msE(T~R&TjasAXN(4Pks@p{vwX3TA zZ$eYEY83?lT2!$V(ri`LTfxw#dcX}PwX1B~$i>s4;*tBOQ?SsXHfGVFNql2pYTWB0o1*`$yVbv66 z5{{@m=rJ5s?WNz%+)!X z5!Yu@wOa|wDb@H{6w|8r#vtvUic8+=8PzN;7-v=1uOa2W>Pt%bpHuyn4a#}ddlnQf z4(Hk-bDzUdEsSt=I6=M!H-{y^(DUc+P@D-(9uCJS{^04Lco)WaIXuonqqjp5x%~G# z^l!p=`8f;~0HMFbMhd(KIDE1f;~ePl+agdNa2UY;6uTgYbrdK$A%t8JZoo5;8u#D1_q8wJZqKJ0r{l7=d!I}V}#~r3rP#Ev9 zn4-Oj4u5|Il9LX<(y^FH4!4fNrWA+qA@rp>Y~@04n!}>cP&?yrf$r4|hk84hlAuQ$7;VI`6*!oyQ7d*}Jq6q)4p(wPTIw+H zHyAHC^u7++6%Ou?VoFfykhBjfE;;;3p^<8bw`nYD97b9}Qs?l`r>NCC{QfcSga(H& za(Xv8gsFhys>AteC~9_iD+LDH+8jd2{o3yEPz*Xd9Ih@z(dFQN5_-EGT4pG%~vpIw|V}OSp-X@2_h(mcj_(mNv=n(HQ2XDHaZ#iT>257e({*DC0 zxWjqcQ!(M-|0Rk^hZ))$anI)Pb1#Its5jE;Y@d2gidI)OYZ)5d)E|9~Mt8N#CKMiO zwHlZ_)ytCs#!LN%6g6-4bCfRRqyCjXPQGe2x%d3k+a3bDzqd(oc5UJjliK`u@-m?m|Xm#UF6ftTz%kZ{UTW*6dPVF?0 z+Hv(8l+O{be%F=&p(oTriW4QMCtiT2MD?vFAp4{`m=ENV3s5_y=1>GW zMSU?G45{i0+DVqK-uV}X^o;to|DYm6?UIcmQ(fB&XlK>Fl+~4`9&v=(=hPc{UK&G*T)FB%3ZmwzV`%<)Uj17SihT874*+6;I@gR^q1vAsi_}p@2rX8BC&0*- zsJ}Z0F{SDV3e%RU75%7{t8>0W?Sgvr6BHF{Z&xr>s{LL8ii_%>j-seiuOp}CCAEJM z<-b&`<(pwljk^Ccj76>b3p#b+vif&1#-dK$u^vUedf*9=G^nMS(0fIFFd1MP)h!fe zYErizfDu>KrM)0&R>u^eu|;j8*>}4-I1vmT>a$kp?NonDhjLz1%g%zNOa0Ug<)3w{ z?J2vmN3Ej(Pp`Tp3ex)2-n4`Jx;om7QSVo;r-{jcx|0&X2Gw6u_UVxNcMnJ#R=@l< z_(s&L8DJPyZ;D3W4Rz&yD7>lu<|f$3)Zdh05N@eIrHSrs_49|ocSrqBFJ#*8s(+ya z!pGIFv{7S1y^22AlWM&O8mH7R(Z_sR-C;uQp1O(7Sea4h(>rudz4lEM^Xiiq!RMs; z!5fr7Upr*RXgtrMFIJO9`37+sMhFH!UUMo6YENivLYj~zXuhR1sYFf8 zLO?vJxu64Sl19A{vQKIDtAQy+Q~V83q-q4~K$52EqM+?*P33MB>6)!{lV)h9=v$Gg zX?FtUS&avM(z7&nU0^?_d7skbvo+I6fR?NA@W;KHr?J|up!K|FA+7!MH8VoA7HHo3 z3$;Q`1uZy>G&jh1UaXmV5{)IArS~uhrJBk&ptoEzt`WRo) zMBw(cyQ+ybKw7iLbs+|*Mf1Ur7?M^^|6XWn(?roD-mdWq#gJUn2q_J%OEc$+TDPWc z3P5`_cW4^gt6BFag!O4&_!gK3G#hCZI;aV`MgGqr&7FtQI;`1e2GSADcl4Sa)l7ba zkr~tI=Ar(U<|sJ}Z)@@>Kk$yGFas*?YPMJ4+Kp?L8USWOGxil2CN(8Ns7-0IUxMCg z&8nv$^PVPeE1=D2svE&Ds}Y|^abNSN*$&U&oMwH4O&o)A@tM)-P#JFk0$c5*wRpz4b&|X;#g`V04bo`l@_ODFf_12EB0^fe^WADLG zAMMf)VUn+wHwsLC+Mcbb`D@d&z-J54wxxkFP-}FYflTIaINP$ z=#9{3nNW+=ZlolFDDCqVs72ef^|XMC(cZIz>{#vJh>6<8Y11gB@3=PF04w6PYkvpF z3GMU^6baf>-$HMq*54WMPilGLP@kkd=mGX*?UD|9VzeCcXr*Ysrr>z0_Q4@ErfFTs z7j;_8>H~YacFkD~k*TfqMsZfVE(Yqew2iMp%sFi`9g&u;J$V}H zbF|#ofiPG5=6y8gX`f34`t#b0>memyd-Y|I6lmk>$KB#&{VG-tp@? z_ecDH9C2?IF^AC!Ct=r?cJ_Fk5Oz;hAEh3N%Y0GEPIIOkNl4(S1 z?sy!}->9~UGBR#xmz6;MO>Ns(pc&I%Bmdkj?T&}hcw76k0$1dY_VFKK_FZlC0pK0i zuA70-32ppIG)`*s=%P<)eSbtTt(~J#-97D5x~pfjI(i&twby5%_r5ly4eWE;@CP2i z^Ea;@eg*2CbUn+_>a62D3l10EJCy#tPZxX$>Rokv+#u9V_Xpi`?mAyud3op#2q4r` zH$zzqUb+)>dwJ`6Uj~@{x?Q_L;-i~-3?#m~SNkB$Pq(xfjsCh7DBxi_T@t;sV|7bqkP>Ip9kN2j zaow#+sEF6iE=6%dcj0x2NzhsDfg@4(2)UL{>fXEzg-N;ra_cAS?)5>;Dczr^Av;BP z_Ae+*)mh#LNt%wg9DJvBi%j54*KHPoQ&&Y!(X%?+#b04>mhPK$ zpg5;v(YAtYT_^=Jb9C7?sO9R)D8`Vdd#(W-=XDK-!H}=}%mUd3x<4q!SE&1vHl!5k ze)$=Ci**6C6fe=aEQ6F%-9IZ)E7SeE27KkZNjhKPg6>`&7%FsjHUl^+bwi&3;ziwZ zn#fh@wtonPmvme@N~c=)=5H{qMi=4@##-GLI!*AhPDrlZI$gy+sIS+hSuhq2I?lTg zc12eo0lr4v1Rs4(x-^PTU)6;^1cqi^NC8M%bgLf*L#r-smg4tqI#Z5cs=vffWAe*3CqKzegv!1ioHfh7f&yx`XF1q}O$?b))FlUCIK< zfUda!G6!{9n%WNO9?F2|Vcj7L6^!T%KSRT)?o1l(=f0uS)2(|`xBpc@ysf+QI5_U; zRxu#$uI|mRAZ=V%Qw=Z^x3UuT!@SN$=RY{<3w)r@S)X4*=Lxy!z36?jPyd_+Ho5AD{(wR^eK@6D zy6aa^UZaP;fhM({`q>MR?WH$G0lv3BFArk&>%TjNd(KC{GYpNs`nUf83P1g?^ji1V zi|B7e0s6ma=@Y1bpPX(7^oPj59Hh^t^L}l?`hVz^c2FOj5A}!i@}+=ySihnNxR2uEPaxm-QGI*{8bkFp6x%qaf5!_5!}M>2p%$)xn6fe>^nNao5~;8G48s+rFDBP} zwEp`NG{)#3e-OfA_5V<8FHYat0WimH`U?8i#Oq5br|yK_SPW1Jdf7Ng6ZLE!6rR*y z7Jwv4?{Wbo$@-xMkbO#jWD^vo=;a%MH&yTVJXECV&+}0`t^aa8DAVUXB2$kN-~s!*QO`~41@Z2fQJsO9L3DDao7FQqj=p5BSF(a!5b zkDxJMKTer41^Sf5P+zEj^m|xQr03F!55@ZHx6oIj|C@upQoYOsnHTgv4}hdXpD6~I zO8s&_AiSve9D`+5`ZAjWq?h#C-5A7b{p=!e)aYLqp|e)M&VtIuMBvQJ-6lb-AP zGfv>|*E1;?GNAYR8VCpVKYxL~A^qBIkTQ&G0E8p@xhd2}^*^oz@m1N*6=V7BucN zbYnxPovUFvMWEdc5()=+7^-Nc>1p_a(geK>(R7HSw;{m=c=sEk$P?~s*hkI+Kf@{H zQ`zkN4OWWy1sJl)0TO7qQHahUL){o;2OBK6Q9Edm(oq7341cD=(8C5}CPwCn;U+CC zLJiMuf{J5?Q?#if%;2>NeBp*s4Kzg<7MuiMq#px z@OlC8j~jN-?GhgzoL^~F$l)^K40d|8G)bUseD&G7C| zsOA{7^kU65aB2FSXNcQ}#`A`R55SRcxJb^;LPI4bAuN#`}VSTA# z>n_+-Zm6WY`+{M+41E=b?`I*b(h!1iw!3IJLqA5WGH|i$#IDAW-;cgpgRN{40ADs- z*b6juhBrhQ;CjQtPINXHOypv{0)&v(Xc(boWRt<&5sg<3yD93^YzUG+r~@r)$?^h(Cf6?KM1Odj!Vx83yT{bltH2 zQ^@W&Y|Mx30mD7Iu)~H4BS=RKI~QVrMh(6n0^ztpOQ~@ahBNc%n>1{sSof6SMOu(d z8$52Km@(X&#aPT5ex&E`zG3A(6my0JlDdtKZrr>Wjh@C+lsn~Re40Gr-o|I?gSp=rISwm)jGxjn(9gKU4nqBna`H+B7-x2a zA<(Gzhh+zh`+tC@AmjBYP#!ccsYKr);|exvhm9Wobe_-=I-l;eu}T1rbYtX4KzPPD$3!i|I68=0rm=zMMQ4p%nr~+r8z?Y)&RF;w8ncZj zT%a)5xQa5r@{BBUe4aN(9>-NKFedZ>sIAcGPV=%NV+Og6OO3l|c2{QfYs5g68*~4H z*%yqRv>~R#xQ8~vRT`r{gH2V&#Ep=4$(Taf$<@Ynl=@L)4E`6gYmI-T!idYp^^|yB zXOw*ohI-={tI*eAY$*rd6{G#Tz|?3neqMlTlQBF1C|ZnNG{CLKH|Q>FGw#>{h3&>4 zUIB^@qwWw8b{em}0WjB$7r#NR%a}li?{^y?Bp+6NEC#0!`PA&c`9T-?;t- z)CP>t7%-HB#!Xr%8Z!PMfTCfe?f6fCc+;3QhhoggB^TT+qYHVTZX2_ohtNC59rPx? zYt+zDW8=ov^nRT%`jLZq(s=c4)TWHD?ghiN@%tTsJ!AB*fb3agK1B-e8+~3wF=tF6 z@A|yagItDArg;r&&ZbHmd4XL_Hz^HtpQ(%(T}?3|knL`I?j6)TOsy1;_B169K)siV zql7Wurjn(wV!x?<9yK3R`)SmCO(*|^^?s(7LYN(B@~5B19Wd>ojhR6vP7yQ&n>^2h z@}TKpCrmnIGTCfsJ#1Q>hSnpdHRNYLYSNI~D%A84Evb*0mi-L=Fq4WrQ{g7 z9ri}AUoBxh6$Q9(@k=0pEj+03H<4%H4lR1j49_S6d9&lOE7ww zrtgXY^sFfk8yD@eOb=1Y@;Os1x%IP6YiN6Dj!EB-3zKWwN73m#(?%Zjo;Uf@QY+u& zp0JzY!hywQ|CI&5iN=+Y9@P!K&cGI#4(AQy7 z(j=|Zq*{-@Zqpc@V%TGP`9(1FnhLFu*=KsW7{ztdHhO9Ho7ONuIbgbAK{04Etv&#S zLniqxz#lfL5EHcyugP1YXXOtas%XBdtnr@rQDaw4u z^aI{yc6UvVbWH2GDY5{36Q+hc;@)mRU)2klW_f z*U@;#{Kj{Xeb@XKrJs(QeQ268VeX*++f15&ypP(H`CE#DOq<)@fx>&{Z~n$0%$Qp! z6@J$2M7uEN&4>IT%*pc56!@GiAJH7o#b%ixciBG6*a~#ITHe@%RyPa(1KhLjmZc?N z^svO00kEg#rx!5@UKa7E5bAAtfuc?RmN#agFu<~vCV+t!3(Xo1SpG|Z`XI|4ia-Zj zVkkj9#PZ2!U_WXpUxUU_%XSLa9JAQW)37Pb@)f<{!Yz(BVN8r=Q#5L^mWfLM6K9dr zb8y`9aUN>%mai$anPlNFfV5=G9~2%wWw~(+U{Wj(JD@MsqUr#OG>Zo*vKmn^5rWms*QH9>TZ<$W6b zTFaYCjKvkp;!-d)TDr36)81qWDM05{i+vnw?H11)C^{_9{Da0$OCKSAjj;E+<()_f?YBIV0fqs~MS3^}EsQ)2$&lp)c}#{axfF>Sv5c+< z$*3isCQCOgyUY}Szhen~4V`x_bM(3#w}@IWq!Si11&wDcV-)q7wM2amlKYmyUqCWv zsi2SXK5LE?(p;^d(5u1CT1v9rt@VGPw%@9}2nHYPq9oYjYrXO^`24JnLl72dee*>? zJ7A6ejlO?D*4t)q1Y1XFTi!uyCpm)-S-&lYg@>&vJ8&tESgr4(F~s^z7>qe;4HyQr zQ0t%-e8;SJUxu_O>svGy(bh_eK*v}Y)9fzRxqm5)QIhpE zO;c=XR!_?3I&IxTNqFg2GrgM5SjQeman3sFh$7qS{s`dbSX(J=HrM*lIK<>zS@c;b zus%#N=R#}yRSZdy)sN=H#nuA4pe5EVlrK`W$O(yIO?o(jW)L$E+v6gp^y>R9g!yylvgs zh>Lf}+C-7ryH*!h6yw&6zoBBnx?2D-lh*48!7*jsOAE(oYy3_y+_S0}KtE%>K~Bb5 z>o>H%xNrT9w!q9;pL__E^VXA;s^a9>dH_Z^JHAa%xQpXcv;%dYF$_x0vsNWT8g)LI=(`i&b%C(=@aSgSV{2rJL^IsfO^FVsov79C- zM;tW^z!Bn@Oy>n0b@c2*U#R16^i@0N_~bt*!W_-^P#^BNHWnlij>qYclt{<<^{7QT zvOa>QXvaqjForRXcPMrn>sa_FfW|onQMT=I$Gw42AMZGdu(HkWgySfA@)8_Br@i@! zjy2>~Jn8t-FW^sdTus@&$&T5y<=_-fn}X~V$4_ZzbE@MvG)qczOxuR5ecJIof}Q?9 zmaYRTs^jYmC;=9c)h(nMlNei!nyN9yB$^mw*X_M87>)l}Vv1&wrbrR#RYk#qiqZt6 zD_D>sMUWzhR1uVp0>byZIo~-sPG;uz_x8=qEd%f5ISeNA8r}tZ3NQV8u)oSHEdxj@ zZ?*?4lg4Xa2tCtzWin7PUE^6#0sAao^)_H+^J1=pOb$<11eoi*hf84D8@zG~1?BTR z>FqAyCEvo}P2OG>5N`3RC}4P-_a6O$wmZDNI&doF^-;X@E^h~UT#9&&?Eop}eK!*b zB|QE{%$4%OC>PY+e70>KG_*U~; zlz@D|JADZZYk2OiK(FPM)9PQx<4r-Yp0}n82oHIChk@R}3!sGHM&8610C~h4pw#dt zUNm{j9`j5Cbelyp@9#7)Y~k(t6qBvI#V3H@#+y=wXW!2IEfB`<;O%OIy`JzGAAn3J zFO0Gmp7L%|=5iO$oo;;T=3Na&^NjZieNdnCmM;Ub9$q`W&b>TKcZk-$DAAgcdBN0=gSf>=fSU4 zlKH{=7vhhOIf5MMrf9O574^X!4{ z$3GJR)sFG^(0c99*CwF};Lo$iU?AUy!X`odnJXb-FyD>#2_gJzJjfKvx7tSMzc7Bt z5Qv8JgXX}b5&WO&g^J`SECON_|Mo@nj`OR@*MEXPKwqYleEXMZqWSaogG>y+h5{|I zeE*ZM+8O>1`uU&b`$~X!j=zD5N6zytzlHR1{Ekt`bb)`9l0+`@#jlb7^Ai8)A&kcJ z6J}%dGGFiqI9=iUT}G3@|9%-bCGuyk1*atbykI<^WPUj1Fs1Nw^MH4iA9^1kseCuu z#isFdSYVjWXVRK{jsI06WXj;5q`-S7{}g=;viRb^Az?QEv>awOu9|P@M{BJ+S;BEeaKH%Nqe@!MWnL?9g{6GE%>2m&q*DzRN;=f@4XeEEd9AxhE-D#z+ z;)ms7vYLOBg}Dd(3d#|yrhe?l5Q=7&=9 zLo=U)0?R2a{H5jMF-zB?Etz@_|xeP?&Mnrg6~tlr5!-K z`2BGZrkg*~i{3N-rFuy5od4*3sNKUq(Eu%a`P-L+b|2pmfu^6Yr-Y~h{(&U0ALQ40 z0CI@mK}p%ee9s#IdBLw*4Sp~AWAWfO!vD~;3ZSF>&rU*`G5(Zo;Pi^WED3za`5v@+ zncy#{LM>;(r+%=-LBVl~+_?x&g#*%65J|>&6L|cD#$E6Y-Jk0rFt`BkkRXvFs)q%0 z+Q8RS@WB$$JR+Dw?l~_(%tvUv1>Sj-|LG%$r377H!50UCaa3@J{_dckVC*SuaZJFT z1A+YoCl`QdfS{NMVFCp+-hmWBg6qdYCRlLi1?(Im_(2GeP(ef?j1VT+9*e)QTr^Pryw8WSO9kJmKX6H%j@c5PZ8Aq$>rl zy8!aOU^^{?RRRmjZ>Tm2gl~bx1HlE#FRT%~aTmQ>f!+x$>I9#ZgGIf-j+`Eb%XM)3&-}GECD+q`^f@I2k?iCyw1Z1DU zd>=&X7hF05+5>{2-$89qP)+aSE5YfVz#A8QPqDHIK`&(_ISXwlgmh4tu?B*=2=^Mn z*Hzd{c|vZ&XcOHW?Jks2nv;jndoOy2gu5tZ<*@MARiN!DjHZhTjtE=nW8x*eNd7S& zVb!~!?JKO?12RX2RrCq=6G}g#UyN||kLU#mr>y{$K;eh(=miPmDHa+cv`Pk*P~lmM zH--s!%%V+VxNwk+7$Iy+0mCTaS6v`;T(~?A_$P$hx-fW3xcd)aoEFZcO?-@SbUo%` zg&#CSnKQyXIvAW4uF!zfIpMwz^v(-U?f^)faI^v{T@)@^2gpmpMj7Vfg(v;dyDSXp zr~I=k!ZVa_kRW`MkI5uq{}*VIg>lZ%FhzKg{s`h#;am#-qzY%d;W4ENkA4ja(}isc zfLs&C(~FoPv^b8zOySP?P&7+;#}QPrh2Niryg5RzNX+F5Kc={Fp704mD^sou>%qu0 z<%X~#43g#x3y%V$K)6)^n47{9x_sc4Fue=n-xlt2gM@d4yD0OkQ0PPt@2+qLB_9dxb;LC;Y)PPEbP)fxvmBOEQWA482>x9RAfmkoxO9dAXg-6l>+8`XAi@8Q&BW;Zz2_q(;c9XE?H$XNE zJ17j;B8>S3ELw$!R{^qJxR%Zb9m1-MApJyW8H1)%_%2mpJQZ?j8SF9%9q7*|bqlql zFv2t8HrloH2q(xn+AGvnq3IL;u>hO~gi#-X)1dHolxM5ABNtCrTCII;NL|@aHKO;DfKV$+h=BHWq6Es;try+Pg+(8V zzMKgq8bqBTVBaX(`z?q)5}l`=s;NoTN3P+=B1dwuHj7>(w@8apkirOB5Q=4dy zJwVz;Z!vNw z{6jGykBE6w!QM-38m8a9x7gVNFh1fy+R^xmCz_y|pLi;{w2p~4w1SMkc=JXG8X!Jz z0WyK&IcEV9Bv$_kgb?v!E5zDD#k^mE5GKy+f`;K@wlfeS#LwuM9w{~+!(5d34uzmj zh`oM=geS#J6S)VY#qSgY=CruS1llp;<*$GkE3T%5sx#tm>6>y^d|?E=^WyomA&L{f zbpa;1AfDTSCwfsF^bTlW5{Ilr6EFVh0jzdK%q;|`1o74$fFz2aQ-mZ*eAEo`CX4Sr zM3W-^ah$H5x+>mJNdal%N8QjVUA#~PlUx(K#Q`QuT(=+Wv&F}0HOvvecOGWT6?@yG zmnU99w_M&3&z%IweDQ%?^a{kElFR<4xQrs4x5Vpzgi5!?asOqAi~pj0kh|iUw2vzi zH~&NX&tmcAg}^TnC)09PD!#)7?K1KFtH3W8htQF$Lj0VREcfp zKNC`j>0{N^5*xk>!x7R)^so54?P zn$j$OV+CMZ#K!4>X%(+t0NU;1CW7e@rwxJj6LARx!gPw+7hu_^;&YS?&?S!l7<1iX zb2`yK7f(ut*gfKi-!RxK{)yI+e(^T?=njbabOFSm_|!1)hQy3y%BS!mtyl^ z;E#yIC^LRkytok0a7_H?HyC^+zIGm>jf-_V&~ui!^n><6iSHcrTqHj}0Si~jw^S?O zCONenV!KOXtU<*?^4Dbub6B#P&Ly6by@lX(MB?HD1Ru%NQP|K|l1I*wqb5lv9isgt zYbeX{nB+hQU;-rHQQ1eJ#C{%nL6Svu7!8*EV*<4hi50?DQ$i(A4uDgb#PtM}iI7aE zg5OBV6Y}6iNv^z(=C~w}3z<$x?$U20TJq@xAWum)ErlshODxwzi5Q7#b~8p}B`LIg zpON&@RZV9ldnou5Cs9-0%>{}0D>N4+Mf8W#E=ii{rulfugLZ&imJCtsH$jp|L9#@N z4c)PuB#}}QY_g=DQchANdn&-`s-)#K5K<++EtpG}d`oVhYm!a>-M^b5*$@aaS&}a$ zkThGO_y8u!kt9$mQm$kl?ZEORv+E(+b;TkgW8DNoypIR8Ctf5%cj3>LgyY0M$zlQrf^nNv{|P z4HB0Jkhf8?oqnm0B>SS#G)W2yV2j5Rvt_VFv&1fv{+?@#q+0-nt&*SpK&?$u-3ick ziT)Cr4#}QIPDTM=B;BPGk0FeQ^yg|==8$w5{Txh(rCry-*Hii_eK5SGG9wUuq~GTN)K}U^ z%l=X67TVPMNg0$lb4;2R3r>O30Ll~%l6L)9 z&M#i-McanU(x2m@Orq5OF%XiZAJ8!}S-O1_L`#*1P&Ip+blPqpq)WF@fz~zYoH}sI zknS6Y)ib42*MmxybO({nmYSmOgHw)lnFGk=N(U`KJ5Rcva>}nu_mS_eK)N#yy_?e6 zT0EFr(pB`96-r&JA?RJ{-`9X%B(>**MX@xj8^$YEk}pCayU(n89I zY?n@c14?w@!O$n|iS%P~Wp_$5S3ruV(%M+C?~*1{RIgk5!4`0OF73R9rbqf`2UP2o zUW~+CpR|X(n*GvAbhXBS^fXoR4oQ1$FgGmygMzj%q~Vm7{8HMLf@VZIL^)TZ(z%sr zUP-+^q5B8NrM{G`H6fMSLKtV+K1wt=C{t6WoQq764i;`Q$NdoBUB;oTB@bDq8N@#% z+e8_Zhh_69_0d!IsSqIEvNcK|_{g47J)E!X=f&t9m1S^&=O<%Zg6}bzi~>XcvJ@uO zzX!->{|dw)+4FlK8Z3*XWUCO_PdkATDl1)shZiPuia`@Db0qI?gsex8UZku(7t~J3 zc9G-cq-+Q6+M{LLCxLd1EQ%6!Vr7N*LHdkr`R|bMtW2{NAm?Pslp20sW_|^XOmVVj zi5R^gQ-6SNylfE_EMArcQ|8wd*Mr$CEDI($#y%Vmo3}z8Xj+sY%_h3ubX7oX~%j) zHaQfW@@3m1(JPR}(b92Kc4-GN?#MRK4!KbFC)whz%-jmpiew+G#9XoL52}YNk!fe4 zDU}%xg33Kv0qtAMWZ_SscDXE>yaW}p{RYfc$`1bl_V;B|>A+VdGd0BH*;mUv$Y=OK zCOrf)HL_5;>!DV5o*352o;m}+UKTY6GChX4;+0O6@@!WYE4WSdRjfK#_@^WWh6Om>Wx zy63Xjy+FH1w);8edSy}Hlsvz$R znH%LWyp(G53}i<>OZ%mc#|xfK=MUzG z?`VR8=FhZC7Ju24emb1D6`b_S*0op&8 zA3Ov0ee$iLnCq7-=1QD*D7T;L4$6Y^&!4JMrx%~LVzqR^d%zOIVEHIT_o5gLr1yCQQrIC&_Vg3vpx zxItMwo{Goi(D#U98LbXpig#$w0T(TYGSFgc|-_Ab;uttdSU7BLE!eV`eusGI~lol!j64q|5& z+iCxKPSK9PzkroMVM)~qaf%drJufH(qo8(CA@KqJB}FE^5LXl&DppNU9H)BLM8(_j zfJ{>Co&)yDirsXeNl_d<2KHAKBjnLaReX06(x)jBeF2%S2%^yOHO0rh;G3aXZwHV} zMIJU{_MLy-B+*bTf=heFk znF^v6DHia6SFG?j3Ul96wDX~8nSx1`XyuA$Uf^4y*tZ`qM5UtreLy}`%>52BH7L#| z1Krf9VAG-Fk>V2@h~K2JrZoGrm(@0s4tzE`97f z6{qNo_EgbBg^FE@Z3V#VRv7o9_e}8(osOO>zMKTe9)*C)mwFY;Ddo6N;YTZ7ze%ym z64VA1QGY`GLB$(&Kpav`)q>0mMaBktkrgJ2@r@|7IgSn$9%=JOgi~%^!gAQMTWJ_`XU_0GgvpCM7BRDZiTvVU8(hZH9#YN?SSD z2Pmx+7z|WKO+qh7=~9BZVC4r%7z|O)NP-lh$~*K04^y5n1HW*k+EfTm5z0lBj}oa| zz6ni~QsN4j6UuG0Nj#}^r^`R0m78d(JEiQTH{rCho3@%UO6UJ_{*`w=$J`mE0|W2O zS>=snh<#4kL5V)+l@}=iGfr7d;eZRurSyThsLaa3;3eh2UW&iRD^+x{`DLZ~Ajn)% z&iW9DNy>$ksF1Aep%ji3<*p#;bXA$A#aycLh6BCb%3O0a>BVdo&N^K9Q zWGZVn0xwG$N^5eqa#Ac9<|y6BVUw%$a|B+VQuZ^|-(FX4rCr($X*{YRJxMbEe<$==t3^>&&{T(q`t5ne8uukbl&#+$k z9XUrHD((NqThgG6q+nH}GIAxFN6L`fXdWwP#6aI>@&N^So+()}AU;>_Bll5{ zvU)W{>s2l<28%vrHl;)ND`jp#7*e`Y zg_JEAs~Xu4qxWlFicuHycL!5bmcX@ zRhSTbYg7fFgJG>|_7$Mlsg67VLcJ=BTr>|=Uy{4|kxEQuk4>umO33?IRYD0-%_^~$ z;(slwUaFyPRhiT4*`_*3iIDB83A!ktL$%;87(P)gqGi8RwUolkPgTi@Aljvh+YI*I zsvDHq@J!Wo3kc6uzuv_2=}~=85t3fjUNzM2R}IpSc|av~MQ>1rur7W$s(uqdOv9?p zlVFnp6m;RKLZs%O|ROc__j(UxLDHLU?4&gxB6 z26#}tn999e)C>XUT-6~NP{K|9zjwj#koq3wgdbL?q+$+X#%s{!h&t<6%z2sAA8rSz zxBA^2DC47kOy>k&_2CsDdQ@FQ=?;GCFvR$$98;&;qVZRsr-(yU@f0hp5xy&S zXwIn@H-qSTbpyGgbIRRcuD<{JLHa6FLj03m(`Ofw0T8+=`jWq z)T=4qE>SJGh$czBNl~u~fJ|4_-jsWhs;(jrZJK(c=^PN#)dwv=?V9?{ zK=d-y-Bb>gsdm`|#4L3km0e}4=g)=~IqJ{o+QwY<2XyH{p88YDqrR@bQ3L63s9BUf zp08#qfLEa2Nax*~>Z??}cuPGQ}$*EJU z-bMbZ67^r<7%Wx)O5U7%>Z^{JD^veUTl#Xf-ELT~Lj7bWAS=}l(U`lhc51?0mHJOw zN2=A5&w>6xJ)2hO8ue?Bz_(T%>yIZ=r~ZIG*7fS31r&dHsJ?m>)Ed-kx-YI#Z6Y_! zBenh;*rG{ozaEH>)$^zpvRU0tVZ;{ojYr_ys=i0X?QQCX6v1j&m)^ni=}@m22JI*6 zo713nr}{80;!oB8(k87-y+I6wZuLj^F!)TpV?O=Gptfv;goA3w1)x2ozD6OAVfAWS)n2H3D3JY9{ST#_jHsh;0%26`=L{vr z)tR=SGNBHkbU$ZJP8}c*YK~CBgo|c!6EriqY8)xk%}tX%2-@zNmNYaT8bA7pAJW89 z+TCGI(2p4O)V#kMw2x?Pegh{jjoH7D$y>9Ue(*jTemEd~HLRV`@Tewx7v}sl4$}a6 zOmm97gZ>%@l}QI^rjRo>P?M?$NRUah{}?z0Yy7D6G(@vu3qV6PDUSgYrt!KCfx|VM z=|+$UO_&NGk(&0)P&-PaUW38onoIF$PH0RPQ0An@gRa1f)-c2n^pxf_oexfH{-Tgf zjOHR0{>5rWzW|3bnpt##%2|y`@EkS^iz|o`N9u~c^c7YAah-_ z^>t`*L-V5!y?o6Yx}Bjw^E0iKH#L0nZrsw`I{+59H9`TUUFRi+tzf?m1iwUw|;g~mG>h?SbI4Cs4b z^I|TVDoqM)c&jxJ&I9s+ra}Xg)M#RcAxy32;QbokIwb=%Xs*x^ zq*0SuNB8eO(oCW+YLn*jPXK+aDOd)WX3eEuNYSF%*o9uJCi*xywQ0n^fM~lWKM$Nb zG}pBle4=@8BL+J)vnb&BRP*LtG+mln`et`)>YHJwXPTXt(R;2L{Rjv>nvzKnrdJb` zOuxTAP269=@7JvT&$Fc&q(q-VjXBk^4{7W_LT^~p=ns$=8lDC+z0|1Q0RD*Pas~`M zs_`HV$233ETJcJgJPGW_HTw^snb62f@pzrJWhH11YVG?0>7so?$!xCL-?pM>a?@H* z0jRsyj8XzUwBk^xc1SC6LGQ5ki)BFc)c%_f&?DMWXR!Cu?$rR_TU+}Fbn?-9euBnV zdy=9yN443M;_avHr(MG_?XNNr^VbGZ27iz?U=dUb);=OSOF9vg2+Mju_ zTDEor#bPyTGl^kinT1tK`PPKd!bjV?V-Z3d)f|H z&@R&kP_jn3wo{D33hl>g3|4A)R6zRs+Ntj7RcYt1H(|0`yZ#{fKG3qrQ&gjMDhH=p z?P*U)QKz-@!Yfd(jUx~3L#@|LAU0@Mt-xTT)|vvskF+kYgG!V3hex3OSereFUb8lc z@=jZ{8Fc_@)%MZmuuc1I8W^=}pVxwPhjzTf7QeqI+WQpf?9^_ufJg4BcC8FjbZNzO zKSH_q;-L>}Yd2wV zNIUr)dI> z>Z$8K2*@M4v|FI!rJGNiLvP(}d-O~`y7@)u`sxO78~&7|x(=#@@za^rV)B^oel6Jh z>*iC{SAZ^_?xhUYrAI=U5Zy;~?hMr>(jpP23;PsOgzNsk4Neidlp;Vz>N4q%Hb&`| zQrP6Uu6HktcS5(6!gwcj)wJG5n{@mC#po&BJI~Ra*8TY|@MCoB<>=XHmlgGHQfrzK2sLHDEta~E|^O~AXP)6kYLUT3=%AeVJqN(;H7 zt2_;c3Azo%07=xPlW!(TXBy@LFF=~$q7)qsuPkHiCV+E>{G^ zYr2O<7&t@MX9Vp`-SVrjMV3yP0xH=${tXP~=-enXC|Bo1wV!#qe<;9mUDx?D#4gb3 z$j5P0_n{0NZt4CseF%LEbrsIQxT`yL0j4R^9iwP`sZK^Fxu>)B2S%CBlU|5&U8_An zDs+_>08*)IBA>&3oiqL2!H2p55t;^_jINJq)Tzj`^hhVOM$@E=qVwuw-E-PoHtQ~@ z0=-4|?Mym@wCdJ+LW(xsybr;tUH6>`_#L{c8({xb_ah%B>C!#dV6Iyi@g;hLy2H=V z8`51-K&D}xiB_c-x^nU_5oy6cV#c;#&n%;fYB@69r_ZF>jvpNSO6rdl!8pg$mvE%uj&mq3so(trs2$O#IYM49{e|B^ z##`T64cb2XvMm7d)sNQ$-A~^^#oovCCmk^7uOARX>;U}?N(>CtFQ%n6NZ*T3w`od< z{^2pO2-OE|fxcn-=Qm-mNc~>=&_wAY-v^81`mcI{ct+17&+=LQqPHRFIej06Ezj#u z9Rf(4zKsQ$F6ddmL&A7{S_Rl&)~|mC$SZo=@9 zZBq1G=#{^!*VsXrRQ)x|>`T*Mqt8dW{v%3Bzo!4o5_1{)|Gf@|nR-2W{&VzCs0<=k zFIx=l^Yr)DL5k~o)p5vsL(d3;y!rY$+0eH@|1Yf$H}!{Ez`LcdasaX0CjD*tXy4JV zBX4)1euFuv-PKR0T7@EgR2h23`h6W}O7yK0AXBQBi~#bUUbhxanLeNL*2?u^wdhso z-x`O!Rr+7+p;EPeDHU2h(C_~dgEjgolmJ$%-xLec>h$}w!M0v+`sM+MKGY9Ul&nFY z5DI%W>Yd5o^hobI9WYIL4;55e~Jio z>fc-pkf-`BD?zhMzbh6}JlD_o3FtlgrR#yvt3OH?R}bjlF|7f{pngC3ZHM&ZlvXmV z*HO^;gF_e6U z#?_E}19)x*BPB<>8_vgpn1>;V>Ie=QV($ap*YM1jet$;|xocqHV}?HRPWl_(dI=E& z3{B({3N#$w2E-tPIYsq?4Gj9&hZw&67YxG68rK8k zydn4-V8j`|prh>tg9{~DUNr2c&-*1qR}vuO4X5a~tSg2>Tl5kPiFA}sGxY-E)-aj!g6j;QWTL4zH1Z(tLxTmS z5;YjgCm?8}VTjz@O$GtgkUTaSBFIbMY&b80G%bcVX{~8BOr^a*n?b1rOuOOUZp?KU z-X;&x6GL7#Bct#m_ zlUw4ramjVCIAMIyfWec-KleeyXk!xXI8PZRbceucW93#T7-PJ#79g?4WfVd>V~iTc z>v7iTI+fyo=Zs%vfXoHs)>Xi`Xgm-GTU;`>-^F0Ov7Zu=FB>^N=v^^BppSK;aUT~T zNyd_4&`vhKng&5rjBmHWTvv@5s{om5G^z2J(v9cJ!ReZD%VIPc#;6~Fo@vxmv1pd@ z(FOYZe>uisdb@Lt%`-tJ&-ktgy?kTuW_pp0ht2@;rm<%^40Ov_NhkW-#y#})xnum0 zJUxX*-fViGjnipYSY*6I0f1s-+&363G5+`Wg-eY;ehSEY#((C)+GR$w86aJ5Jbi)g zpQtddTm+#ijpb25yl?#JB6?NEcj<9e8@=ef`@mRBnL#zi7h54kt+9SL@av3@lzmWd z+(kQ~heka)ts9JiC^w;GGd_0VQ4&jS@xyRnXk z$qu9M64?2P@gl|cJB@8$K+&g0O$ji%jH~E!qygit6cQ_9Q)a@MWEx=XJ8oO7`YWqgky#t9FChD|2+?wXvgqJ z7(MM6{5LqAaa1;d=y}Ia$vbh;(V5CTFFStN0gOb)+JC?|#qr!82vgu_)(^;Aj zyh1P9={E{B#5ld4i{4qMl^i^-IHwQ428+v16Fp##0s(9f$N;PTi9Lndh{^ z9()U&ET==lJ5C>d0K6inpJOps>ZJ04Da)NMQ}ptIllPCnYj9$f((kXu>C1<}=ybB= z1Jrq&a|wj;*>)-%mJQg(sR3xnw$bC5i`dpipRE(yOe_dB;FBSVwx>G3EEQx*~;QI#5 zQDzp2Sm%GtxbG*x6tn*##`Cp1@b7}S4wZ8lr*AOEJO< z{LS=E2)O?Pyik-1I-*6l@UQqR1x=b+4Nm#lFbtKU@*nZ zlHQ~OvzKfB|KV|#bYS}Zlxh&4T{9ijOdqJ?A?=(^bj+V?n+wBz-gN=fUpUdyztow2 zSj)T_82K{vO~5R#n+)z>b<%mFL|zgaU1CB8k^4t-a2?*)VJhEf3Y{eG$y_@Rn! z@>uy+0N_`Z(E9k}GSqp{+>WxQ={cm$YD8$N@eo44ZwK4pv9CfI0e7M=Zg6-O}6KT`z?f)^#g5@y~2yy%Dn zX2oZMK~1vhEvO{D?*)NmlT3%uDEguxwX&8Hb5;8{14td6h7rxtN)Xa6m;(~J4B9^Y zGoQlYZf1@27f9UA-fai0huP~nkmHb<86`j;Hmmp%WIWAokz@LZS$-KL@-kb03c`4s ztsR9)j+rff0FYL*!C91lHelv=5->w%Z_qyFpn1zOuy8TI{VDA4ZQhs*7Cz=LDf__J ze3uzm95p{gtEr!P5N#fgnLC^Wp1--b3XlQjymv4cXdZeEy=3!&m3R^<=C|#j&QS&O z>?ySP*A+&%Yw<1RY?z8HMjAl7*rM=P7@@>s@p?#FYH^UE5XB7$!K4i^Y}?z`oUj*NM3{i!{3A zq21!ZJkaj2h*6?>VxbxY?M{pFO3XdANErmtE{hruQ0cZ{81R^%S!{5_+;fX#dqAbf zVhUY#)N7I83eoy3Oigb=ntqG3wAUN3xONG>K?`%riXO63kqaKq}4`KAsodJ3KjO2<$y4j}@VJWU`R~5UfawuUPs@shRHLiCb@BP5fzX1Ovx&Ty?SvT1mepnBC3}hnG#9W zlaZFaloT3e8Az!V$1UBm!0?o1_GM^)+A{kV#E!8%yAD)hE&nV-lVaIU546W}!GFfL zY?=)8KFjS7sQ$L!GJ_IH1}ra+Vsy~5X$puASu)AXK5V&OCfD|onLdisu;Z&M1ehb%3%sFdfc0H+@&{VaTn3^+)~A0$ zFW7qK-(VkVJ&z0YFl$e$&=0rXxerZ*wW1WHqpUfvlYOoGDHwUu`WCH9(bmCqCOvI! z`oRICG1daA`95PET#M$Mb(0KIoVN}+3q!?Om(s5)+xp%W*s{{vhe8GStqq@oeU)`B zRlZhRkIB(IuwFsi^&0EPly6>Zy~_iTb=I5c7Sej_bn>k-c&!9oD_Ifb6wyy9pM3)?cY0(|~m^TnJMJ zt<~L-cgT9(JoJXG<>z6%m)7aDj*eK*qeRtF>%}@S9J5|WDW0#azX=4wgf;Usia$8p zZ2A=fAGEpg95!*W(MmAsX0x#y!noV;Zi9@6O~5h`J#3Q_0G&K-tXwg7#OCo;$P{gJ z$N_VwYy!y{birm%G3GAX1YZT@C7aFknT@v@r$|(~P5fsdea$AH+&-B$dA^i?mSt0S z7&>L!OlE<7j?JzPGic1nqJg=N=HNu=#x^AS-QNMgsl5O^G!Ss%#8vK)TwdFaV?<*z9Vj_3x2Qu9TjI zjqlr-Y_@4FfMr{3yx#?Wo6Q&n-rH>oegcaLn~ZWa&J5>4P;+7Y;*B|1#vT<6VSa#vUp+ImGz=EI9Y+|vAUqK-M$`pxFnKfP^Fh>yQ89wX zm(ei=!W?C+q!@)CgSiNU#~4Cd&iom%9iSG#a3(1N8Qz-#8N}#o!dx&Tl1`{0jFmj_ z4Q1@3%%CtvlRx-|Gs|3t*a4 zjBf=1J=?65ar@ zOAO|hU?0y|_Zt+w%((0Vv9B;Bv@=Lxd^rP6BEz(71niR-Q?~*!nbErwL{k{n_n_KU z#vk8;Q!3-@d5|fM;Y$I_bcPEZNSYYqT@dXtjI~l?Ef$)^^TMYPiF*eaxpqml= z40F#JGnRvW55tc#dHWb|kxBX)J{v)0fbpA&3(!GEb^%6*84C#i1w&Yc<|RY55G+O* zU(`a1F@`-QevUI@d(liV#>l~Z#5PC?bT8X@9mMvros|h)d~FZ^7bdc`SOmNiw#h$% z^hw(RQYqS&O%AzJwws^BYNu^S3rye?W83^Th{oE!qBro2?fZ1xIcvLq5nhvXwi`OZ zBGGoo9L&MrNZA(2wofQRnPNM%0nJt0m!wRp?ZH36Db04o8hGip?=6KzGi*haGMQC?M|sya?^pDSZ4+KWic;H3DibTSoq80c%WZck zpmv4rl?>qBx7|s>-fG*NKNEqO6}@sVB=x_Jf84LsL_EC;Ypxqr0^g`@%==T?D_s%Y8A7Ph9&dDgd@5u*t-0odhfLyT~ z*#Zs;c3&n#v_!kAm6%JiGkxVtKRmm?;~;*D-3NDJldE>W901=OJHMxZ$+au*z+j$T z5Zz{Y-Og(tntZ#r=#zHWt}YM^i|k%f47J$q2&KW4*jdspxWeu?)R#@Ew6mac%lmeJ zkiV(Qu6-+%=(YPj9K!V3MVY+N_S^jwjb^~k&k8Vuc3bvA#38$BRK7oKw`>3yFYMl; zb?BvC3m3|a*mZ7#Xrp$I9Dp}wXYn!K?pJoVsJeXIuJFIy3%i?2Ksrx5TL$(n(`-%y z!F8HuDFk(!_V%a1bD!q-Hm!di(+>9o^w2aOZL|+hJ5Cu%N2WDU_`_>j&PNc&d)lOX zXndym*FoQ-(-bY3^P4tGvH4@uQmsJ6f7*50?gvbp{t4y+r>*aVErO;sQ*mDKw23w7 zg-kOeFL&s)d$c78pSF-k_kSL?H_E`!)Bb!kK#$nV?f~E4{>_)rDcru69O4o7g_OD+ zY5&3(f=1bI$_Gfiz2tAqUA5m%*(Is=&bKj_W-sjri*)-rlR>k{{(L%m#rC2Eh*o0% z>ARp=Wgq?rnreF~asrTlZQrkhO=|4l_6Pe~dp#wL*V#wV8(eR{a5Jp_(0=|sJcGu*&hgoXpikBf#@~cmr-!M)!vi^_HFjuZe{eqrJM7=J z1;`WoDJ1rY{l}%iGmYB2>tUKPdtW=yer3Ow!o=hDwJGRL*!$3K$CAA=Fh5<1;PF=Hsf^*D2kN{mi0<5vLWB=Zwm zK%$u@gBW~IG1Kn><}}j~0)be^ zHvw9wMDP{K1Cg2`(+c}E7 zl`%hA2*g^Z$Q7@39rFTt_v@MK#$mmO%=H{FY+&MxhgXm3N!JuSV$S~ogH24;PC!0p zt}6$%X6D;Wptmq*HUgxTnV*WmHfHiP;I%WSZv?RpX7DZao-jr2km)JY_EXBg?qa@q z8yMY8XE*5djJZ7kh|ig`??8(l=DRsy(aU^C2mC%}7kyFtnGd%BVSuSC1j9k5(>N3z zVsgCD8)lAvhTaRN%WI%A${Y@bpkvJ351`;HW)9T>jWZ9?1rQU=oDb;!LFeh`XqRAMqhfMv zI=ZWk~K&dsN84$uoQSztT8GHsb;xXVekQK)Km$?8kUas^0h3xzW`Im z%AucsJuAT#hH7KA#K9KrthuCi2kY+xKzPD>-3q-<*4>lnJ!O4X4fHNnegyEkS-WUS zf5vin2)yU4!PhX@!wS5MUN1{%3A{d*-M3)h&)ODGzrO+2b~)@k$ZCEcIt{T_SHeOs zSsD(AjF*!(3J3}>clb;T87xa{!sZZf}P4iR=vvQGYlkiGB7EFp}BV>5sysuy?%+n5*oc$(E_? zY2TqqV`sbK6-Z~lMTHvI*niMjDTCcN0nswqrHjESi|xsTFxhPRIOcNL?JLpbvKLSy zM;_an@^!AWXSJbsgWYL|CZ9bd08LW?JLn|Lc9Xq^BCEI9_Gci>ZT6pIXzsAx9ss70 zT~-2&yXNHlrzKS5pAJgk3%h=%wuM`@sGlJKGMzl(BVlAa*%>UIHFr1=|z^ z$V&DvJ1}>j-GS#crHcL6uaK$Q#LhkgY7f|s^fRnspMM9vTJ|p~c(8TsruTtS&#w3k z7|ras6kxQlYqCJCmA&c_L~CQm(^X~dYy};XI@s+;p~Mrmfx_9H?1mLUf66|y0K~f3 zoM=$#X76qX`ZM-$B0!$AO>N$gyN4az0DXJej&)F`kL^MGn|}5%Io=1@x#XQ6WM|Qu zJj5Pr1*c)Q`3mrT!Tx?Dp217@m8ak|!aiOEkWu!E2@o4&r_i&1#U3O#**H6&9C8!v zvr8a_Gsncj;6YBXiM*OFoX7hy>B>3%9WdNDaVKB|cg~qw7}0|hOUcoPI5#L8?J&oJ zlF&UlGj{^-2q%pSXT3O^C=TMyc|t!tAI>n{%jL`Yk#5g8%1Q5rf_|LSk!X%_&XZ5a zpW|~I(g$z`qA30o$hkz-WCp%SLf}mSFBUC*Z$2bWZGIAe`g~PJmc6XWep$c8W7)8$eETW>Huxh7+?I zc(EMIP|80$!}C@-<%KETYd< zJSUB^4=!^gf1tU-d2bpJ@RtD>06mejonkOaoE|E4Oy*po;AskHg5IvHoR8`;m&z$b z$}#d^I43EGH=Xm^GO)kKDU?FC49V+qA*<+=f)ijW^?9k0qq>l7jr=^m$SeC zzImKibfd_1j^Py$Zg5_w!&yG3DFT8Pa8&+4xXE#)IQA`0@(>1ZbN-<~^c~J?O?X*M zg`6KpfpM3!ihhPg9Gg5~6mwqoL&OqJ#SiF}a%#hYc#o4g3@OSuTsqa2b5@IC%L>jm zCO|4VgS776=kOx|S;evX6AY_4anJB59&jXG=+$s?DMV4r`N;^pI?kyD5WC*Q@u9=r zL(X?}Q(^;$OG!kHoS&#J<`HLK51J-UBss(%bAE3CVl(Fo6?nC9%<1dX%IWll@!B}q zC&9O!vtbF)J2-z+Z2k%73rc?P)bd&;>|1BP9kKb!#4&9R}6<}>^boT2D*&Y@@! z?cum@#b__5mE4hioHwYrsGl=Te@JM6vnn2B206PaJ93DVOispOPKzU&7n}|Xj=tnv z`w5mA;lQhlpCQMcPU~ZwowVzJ#jzl7$~foJIA~6A_RG+7=6+zJNBG(Ox6x=+ZLn^*zJquizyAnnIpO|R84ZZv%p{JAIMX@?%bWtlJ<$mKOb?I3QM z76J!z*OKoog!@@0sD*NKxR?v$y3to8oGT^oL8^)DuA2&jcez)lLi!@^55r(&D(3#s1N;)M*CS9Xo$(DQM4v3`332$2N|iz#`VIm#%;74%AK?yvSwQ><2j`3E{U1%= z0an%Vyq(!|&b{=sbwnUBH#28~Ywy3ciyRr9j1r-Zb6lo%$R8avzI(88i z6#)fN0TB>HMFGWze(&V>|DMN(b$6${v#0IO%$0ce=!m+N2;*XS>xF+%ej=dDF*{<_5ZXHlBXpU@hu zsp73DM>Q*JFtRb4dt(6Rn5KOz4EJ%(5`K4|(5zx-Y^>%KJ5}Q}$;&XL@tTrpu>Pb* z$NBXM8lP{_m#9e#gs@YZ1PQL;28(XjWjM#Ev3Y|S!`GF{Q+a-zmn&0Ih9UDFuKF>1yfjfX!JUe`=-kK%@= z;0E|_YL@;toz#rxeT%m=llZpI(-;?mKVQ?CKN1BR+biI|tvPxW==T<~hG@ zi!_$JIpMD61%C~THR&5ca!-?-joN*UOFV3Opt;Mz$P%OGS^^9$)mZWIHDwwrKIGw{ z=5P>b$~6~*AnlQ6+IVQH&~*CmG1Scc3biWD7zgk_))?-By;_s^8GzPkTGqm}Cz_Mz za1ClTA3V_bRAc)F>Yr&UHlp#lX6;jUHnk{^o+9yrz1)$ifwLAw*PTHLFXmr;8YUGr@ZQ2q1RBqQ!u!q7O+Vsg_bkPnk zLf=m9<4&mU(iU)lb+f*fp8J+7UxR znWAl1iM~|r!aP7r(~k85>~!tqdHns$&|Y~9vop1;-+}bBb{%iFIio$xe$2Dl1+#Hs z&S~4S}S5Djqd@4S=wRFFygXy880ZZwWaI`yrR8Z3(Bk7 zcYGj1j<%6Qi`TVu9(*^nevN0(Q)mYjy2F`bhglB={?|r+Bwor8dA6daJa5aq7oo zZGjWUsao556cE;Ecg#cWiFOU|Rjt)-ECc0J?L&UqKhyRM2g!5oSG@J6PMezopf9w< zv%;5J%_kJ~+BUT)8jRY592#xZ_TjySue8IX!SPxv@%H^D?U#HU#2al!HB`LSPT;BL zJ8ci%&i7vX^H->S(9Z3|_qx_hh2o<&m@_~=X(M@!wpI7VcGR47(~2R}Sr?+f>}@)$ z8uV?~we1IlJ9I|#X=ruP_05H*ow}?6Xx*i==1=TyUEFf$-J^TRDqMBxKR}wB&eZ~X z-F43ynuo4v7>3JJ_t|9#_0rAd46MDnUOr&()^!?zQQxOKGyn|ybzdID$oS}%WuQ2q zEAoIaUtKF>2}u2PZ-ODsUpItt2k6>N#NY?&lIBAFLEUW`VuExp&!ae`>$DXl!Mbg^ z&>Nx~;Q+o+T^jo{4(pmZZg@m@Z5l>2Om~j=#f0nj^XfH1m(dJGkvjc1Kp3UNA#(WQ z=rUvZz~7^~tZ|SQqbsgQ?U=4RhqsRFqV1sRgzl?-XpGf;#}8MWZWL|qM^j(JMAyd6lAbh|h`Fj;q=Ct@kOp8Rc0)tRy5GEEng1oi2N> z=?q=dM|5WDy7Aq8T6gm`7|-aAO@!>Tx=;I1oYTE}29oo-L%fgnf^H6PsJW;+odq$M zbUhBBFH4u#4B3};gV`09t*f#^-xb|Ro^f8)J)Q_#uIW}-f;~q!WeG^G>&lxs{&z$7 z^$;-L)a6e=XRhu>HExJox^7IGr*pPOEnl~j6RHYy_QPQ4ZQb9u(RfGq)EcH0>ek)^ zWs&Yp6#DM!?h+Ih>qc@S)ji!mhcW8+br!s5`++XN3@A!;PuJkWJk%Zh1(q4hb;%PU ztwJ{^3)M>9@M*wSrF)$Wj>o$GJj<%q)pkc?jqWnvmQQqR+k&B1cWD$Z`cqwSIy61g zHFEUixo+Q6@YU(u1Hte@7r^1Em%45XKv}N~u>iCNUAr_iHtO8h0PicK&U7tId#wv= zhia4V9tVHk>UO+`w0F8~oZ9$a*DDkxA9S1dg1=c;oB$Ocb&GcZ%qQKN^&r`*?~i@u zij)2)K8)L0-r z)dHyZ(Lekd>JRAS9-`)}e{>M){qzx4km9coIt=yz{b#(BEKon!cp7L9>MwArc96cK z157)lmv~kftRLPBwGe%8UiOCS+xvn4u)g~o)Q;$h=MrK1M1CcO>s`*G7NP&~Df%My zBXxilr5CMXZ?rzZ4vk0k_hLa3qgV49>zMwJ2jDxdcih98PUvF}17fT`Y&U9gdL27l zWBlsR(8m;^mZ{&Bj^ec5vK!Q&(HETN=kKh(^%hjm=|7By`ty1ur{EdWhqF86 zqQ3KQ(0fTgor6|c`aL|+zO3)ho1wDxCq9SzEBf7yAi1i~=mmyr`pOK{a`Zpzz;Io^ zelpbG&?hbd-%WjaEi~ln$NYlYEq&cHjz8q-$8tC#U;l*n>=fvKV87sPeJf6vzoR#4 zLSv!63R6|3NMFlw;k)|VCs7pZ|H#5v-qRoCt^N1)Cx3zZ2l|uj2`JH@;k?39{oXFP z%w_tK?8jE)V`mMZVd#q0!0i@OXYb_wO zMqkGd{1biq5fECd-ya3Wr~2_bf$5q4o2MXou77y|LhJNjDX{m2zE1?$U+OE^;Zv^< z$b-xVJ$(m~Mtw1FbAF|dwE+8Tqh8O4OEl?s_X3JH`fo0v^{svwfAQYwx3b^%z5a(O zQ2#-{oiA*&{uf^Me$?;hN&F{$tL~7!)vhl`Se)z@At<6;v8%oZhO2h1?}IYOF5wVf zA~)YPRknxbL|{90NO1(V~+tCp**|GJAkdg?gP6V@7TQvhL}RTf&Bd4wfn^R z=f!sCdFgY{ZVV@f-M7o(Gjbo;O$|a(VmD_TRFvAq*nzUlu7sT&5A9B}7xj_d+z2SF zuyeQp_DVZT_EkK#Tb0c(HoHP&YaU>`m7L7;#4eL_0Bi03v_b8u-INm`eP%a#GQd2y z3+5?b9l)S?VYiyIq+Z(TKZnqIJNGV-(qK1;LnDoL%Xgu8W!EnUQeNBbDnMV8opUB? zZ|od6FY2vbn`(%DXLmBs2yE}|Ox0-pU}xG9#%wn{nvKEVZCJ`VE_)20ufAc}KCpKL${Km;gmkh>Vfg;P$_YgE) zHf+{`B-`*Ee@3qulKDK8Ylgiy(Rkg^F&Ydv3=&6lat&ASg5;K=fkRh$hLgn!)=2~4~{~^VSlJEGW^*Rop%ixoc~g6aN{M{J%js3jNW}i7S9YG7)k}i zlo;~(==4&9%*i}uhS~PGXb%maf}ywE@Dop#9vNOWfxW`;OAqu_8q7HVrOI&L7E&G? zjPq_mQ?()LD8xK5?D0aa*6{(xG&p*3IT2E!5! zibjK`8I28Jb(#ZqC;M5ppxkDk_YCaY?f2|O-(GvI7x3=4|JDyEeC_S0Lw$gKq;VK5 z46^@l6dV!ur3t7-+b=tX&ZG98f54^~dmGM)J7(W+I*Q}=-`b(?gni@!$d0vto{jq| z&c2ZyC-L^%ICtWtecV_S3HI%xz>sKPz#g7c_RG`xF0ntRhV?1-QAdF()xOPKBUEJD zcbx(LEB0CJ>ddiUVhxV#_CCwdcf-Dxzsb4wD|&(Cmc5@N#2j|`+8&KZ9Bw~>`Y;D? zp4)~yl=3Sr!l8_p0+9|5VQh;-{y%6u>fmPsna3O!hobS6!#>{no#gQ2ME?FIJ9JtN z*(namS`1C9gO(TQX%5#p6*t{s{5t^7a2U!PVJiJyW_B}D?}GL6#Nd$?mC40hU-(|(7qJ4N{3vmUX4nXL*jUd zdF;^B0-ZGuR*dwCgT4@8-Z>m_hqMn4Yk50*vxCPE==a5Q7)sIOaYm1054N8hFrg3+L1XIj-9Z6o(vxQz1IU=&0rOeW+uH zHhe`LHLoBo%<<77D7@@gy%_NHdXp9C)uH(ds zzfw<$?rV5mWj$bYVdy%8joln@f>$vg%Zbir$JNd7|%&W)sExVp|QrXjR&MXacsH;6t#{U$D;PsF~b|| z&m8M*Vf}N*6<)CLg=0+~8ecjl4FyTP<0BKWzjF+o4|Cr;Hu=N)ZLLok^C5eC>wjLr z`W>xj`SDe2-Fp)Fced7qfn!%|PX!#iTl;SZ$DY=&*st!|dQuw3$*r}^Q5fUiI(<1` zyVldEfzq?}3Vxq^wYHzm=iK4n&*e7&q|Zw$u=JDHgS5X7htmd{ZR7l}35z*3`|lIS zA!@#}7j&*Oy@$VhD7Ocw-06WEiWC~i`J@-9(nI`DY|F_!!|Zf~{Ulw-B|!MVHIp$Y zzxZ*??bqk$KsM+jpCj~JYz$fk2XGqw?>pJA`A5w!fI9RCbN>DgJF*#-;X0N-VmqG! zHS&@M7jRTlZ~T9ZG82OSEayeqSc_Gl8TSLb<)*gV1Da``tueaOqn`ufjK-fJXXcwf z0bRTrbFU4<|L5&-0EqcBIiGq#P&ZvP2{n4rB*zzaidpx39s+$))X)aCXe0S^BIZ%*dkp}01b~*)1-?FyXs#1#733WT^_7(PB{WpgU&b*| z_?X(W@4K4DxuUg(>~^E}gm(OcqLzN`fI)al=E2~9MlE)L;W;hd0HJl1Q3Tj8Xb8LB zUy?KXU+O960@OE9;Wcs@`4BQ@D!m|cX+OqtxZU zL%8Uo6Z($P`45nDoI2fx@Dt?S6-6xdyJ15z3LIx4fV>8K_GYe1CPpP0h zL*bkodzMbQL*F@ipyl%y&(oSI0DO&h@B}!AZWhAu>vXIwIBrnWJ`DIx>N^ZTbE)f2 zG~S}pRuGy;6FHkGp9(mqzJRU-z{1;frYqFnp?>@sFQndUK~hBDHGt$Ug>n?9m>liE zevf{F55cJ1r_1cBdO&%iYXPQ|v||9VjFx&p;X~>oL0UO^C8PF;uEn5MLH?XK zTS;%Lac5M~)eO|?D1QS`ydbR&G`*xzgQ52=rFVeBcl3vh;yu0Ogpv=`DGxPcGmV}M zg&)b8lVv{9aXtuUk2qP4(Q_5u)}U|`>HT2+e$oCQD1F3zKEE+YeBzbdAz{Wl;v&Sz zvrr!?2JzfJR+w>sD^4Wd#I=hTk%6eCiavkAq%`s6dQhf|@E;-Uf>BHvhVr5)w}jqH z;v6r7v&1U?@Rx}8<6v)<@Y{>NM$w5s2ToFKIuyoBgQ8UbyA{J}_8Lfxps23kjig}& zrYQQF*Ratfa}N1Y`kt>*44wKCl&9#1J)kF3?@XTmrBF$0NKB;qC5MHJU5jZ^V* z>CkI{xkaOQ{&$Nk{|YzS9h!{95hHGgzxXWF2h?jfT1zN?A&{0*MJ!O1QI9ha^N>FB z!mFH)@gn6B-Qc9mO43b0Ull!&q2e)p^#DUwO>a36Ttiz{qo}2XcnEt+m#rcCIi>Q* z*U`TNA*G%U@@(7KKxexG)N4x4MQ0POJ^{U-s4^O6ZxtS&qi_BK`VNYX1Arn(JZlC?xNze|S%i4Qr>#bcBA$H5ishWn5huQ2 zk`$vzT8Y+F@n8z9NE282&7Uqj?ZJ3aWQ~WkOX91EfR-f=Pe*Y>oHL;Brm*V?y}9C2 zcd*|Qd5^%JC;IYqBVPpcK&?RZUII+Fg^45h?ud2^A*@ieJ%n13sNm@CU17Y$eyU>8 zWhXlC2|s@K-4`u5L*RjMvq7yy-1r=tN<}vBNh%XVIlA>w%vcRE<>J#DkUSCtm!MW5 zTuV@^6kR!AyGoS*=jsrbW}>fJoOlEo%zzrWl&fzdGMFrPrmhE!nJ&rpTTtbbDm;emQN%yrTp+OJPO6~I4l z=L)O-c^3xFb8Bux=)4ln*qR^L9|Q{yIbj4Bc8CKY<040%_b>kDF$Qi)&3LH#H`Nn2 z#L}Ik&dA7Q4*>>DiPW0Ly zdYtLYoq(~8CTsxXc3RXDJnmGz2zWfGcQxoejU?|xrx$Jd8^vBKTMB+}%KQ~-_tDm6 z;NMU2#VC9ziWf)+=ywL-ON-}&-;aLe8NWY$X9D~Iw59-n0x6xda}LsvoSYCuPkf>9 z5Dn47xL}evIWL5o;(;)ljLUk0@hE*>0mc~e;YrakdT2yv3AGFam@GDVP)zD*J#y_Q0&MAIQ8eYD?pznMA-v#hjg8ATuAf?R(^am@)>TsP7E5V(>6rso} z=!{ZUShN4-nDUk#k#WjBK6NKSY4w1h0RLLv=L5H<6!ZSnsjE0%G~J1R4}GT33;dm( z!_MZ#xx6x4@^lk=*S1SX`?|_^;9c)(1A8_&@ZJPx`aBzzZM20a+phF|4OrahAjiG; z8!5aRG(NP$6~hul%|Bz14$-OQ=!~FmIKUD~fxOg;B`0Sz#?jqAAc>~|n;i%j_L%_Eu5fXkkO?0bGn*2h8lj6UR`@i~om#30ns65g`? zf*k%kG){c+kj)kYW|cV>o4&3>v5%JWFS6{XMNd%p(8M6{9iUU3mFr7~%7E36W)4K3Kh=AIA&`Cx1c+d| zVgg(tWE@!y*@wviXT0Es@6NNXNOEOwUMv+PpfQg2t%bCB>cVTWRGKpYjcIg`9Tn-c zqYD&f(7fJ|a)|;J;LV~fyzIJ6H=m>L3Z?Uc=Nfg~2D5W$`8$kUC3W~2imC`dxQg;I zweAe0)#TU&*)`N62sBUVa0MFch}g68f(DjD=u6thj*izfjMIRd=;Adrz9HQmsCY|5 z2V<1q(Khy$exkJ-!M9y>><5zF;tT%5>=W%<15QDkm}`e5NKKocrn?nP^u zIJE<&ofJ=S$Nukjn!N-9T`8Uu65WXSbLdHv#-Qd!i*sSQKmG6sjRExPUl>J&>Nc0iSK^`$$1gj3Ysp6R$l@3 zMe({8crS^hmM}C+SjT|jvUqwCMYfpF-i2JD=as`PvFH`p^F$(EG&uiEM5ds#K*+oX zzc2pa->-fkrgPw;QWOQCuS$po(ED7RJpz(CA$dYflUUAc$u}Y-7Z+x$G@ED2PSWfk z)OJhnIsULm>MFIA6ptI6a-X>itz2>D(nIv-_O0~59S2RA6j`D_!2I(zl za5PFsdBOETD(DTF&C=#?fpE9%IUbFBJs`)7K%=ib;Q$Ihxq;VB z{_+_k-wCqj7#aiRu^de}D1Vv)gh8^=g%jQm$tHX(V6dFo5v?Jz@(ZMe%HcC{@ea$b z{24wXM>wM|OkT+^&T!d;UCI&ic+M(|l#M138YP>RqA^+)KG2&W4;q5LMEUcMP=88R zG(4j68s21@A_vvLvQ)XsxE`R=^(LaxrH#T#;YK z;Zj_c-8iG~n(VrXr$jmOyz5YZU7pQ}dN<^0wNPff@K@FY$8f-i{mSpNPy{GZ?8*vJM)2Av zQu#ZW_aDV6>t2EMvSJs7%Y0k;#NUz^io6hF_NXRw;<+IHwVcSy_8)F=h13s#gD4PaTqBlbw2Om-mY$U3w=A)MJu3qkGkj; z%y3uV{tj2oQ~i}2r0i9H`8`HqpZby=gdI?ajYiE+U3(0D0qW@MpggFy=>xuCwTy$N zjLKp47bAf*T>VvRv_`8t*+bzmb<_7yk*S`w4=B#7d-IR}WT^*nXy=MLq7FiH)c?!? z-z~L0?*}SSd%u9fLbWu<97yr6<$9jskIUr<)A+i7fqOzIhbSiw>IA~SCa{NL(g!2o zc$0rf1<@3L3;g}NfM=pp*Yo)o(@OsWi0QY?!93&fDfG_Fc?cl0#+-wo*^@b8eNH`x zA?J?Z%e*Sn1(d6^IYhR`e>fzpo%cQdu1k_Yzn<8?wBf>YTpnrW`@OSBu{s6tKb}4$7?@0#G6_Elo zE4$?b%Bq$fp=I?Fj^VA*cZR)d-#4;%b=~Bt7}52$oM^YCu(hgaA#WR2eNInl0QV-$*e0#cF>;hP;()*6NK)eZw`Ud zliv1&ZZE98(C9;-W3q0-_h6sn#Hb_G>Kw)> zj27O2;BeBhJ0XI;9*V|D`jOMSqNvpiutZb%JzTV-6DU$>F4v;I=kao@U(^*KfdpJ0kxm*bBwtT@Y3zo`wVcU9pk3^A!u@8W*6sC!T$T{f|U< zo?BN4F6(L^p;}yM%*Wv@LPJnWX*e4gC(nRz!W0&F>>4`RC-PTbyy1Q4B1DdDF-kX zVNw-mRE0~A+Cjx}snb1}eL^yF=31;&I}r?V(!MCL$4mbPLDNY|InSdejlBYBiBhi~ zU_T{UUPfb*6wX@@k|ittDyB#;c$;Xd)Gm~#CTUU~XKkcQXMY80hBW9;0KOx|Mnd*u zDRn0Lnxya8>$g)jXT72FGgHPZkKjbVBzX`4_G!6G6eussEzQt)RklN(;Q#KI#a{zR zr;%Cs+xb%=6!-i_fv}&?ICK7WuUOu1(feQCQqkwk=iu!-_6$JwKY1PET&M@X{dd!? zA5e3pBCI9cnv{`l-fpdVPQ@mlF&ERT-l|b5K>tM-UuRP2%j+ zVAaI7U!oGj?AD?ZXnw32 z2;+VV$izkMF1s0ltj7zUMQx++^eDWjry5GbDSs2}N~8JkRsB!Y&x~RRb>Vap7g}-- z%{wWFy_&m-_=)x+J%6?KQZG*R@}`#jW!y)j;-PjwCHxI}2Wd+m^c^N|eh81yTq9?p zM$l{i&8uii^Zx^*u)8#Zo^UWHlAf{;=NxV2kIi}NIS#dpbg2{& zvZ+0vJ9&-Poy7p=(6bD%zZ5k!sJ$1yWgz(=JPKh*v#8t-+l?PZ^AvQtNL%Ma_D(5_ z^TKyYzjMT7w-n9k!+WG(3qj&4bq@iDo8<8W404wS@qObXY1Tl+0clb&u79{>;2hZq zDTyc9(b6}3KFe|GH80bWrL?{nkMmM1jzC_M+Uy3HGNW|595ipG6n5(ElZ!afBU#So z+^7^ew;N15D<|;@L+9ife}LqQ9Il4mtMa~s;LDSbhoHD8_ZSIjPvi}U0IgOo=C^)> zylx*9Hp*Lh;{QQTx(0+hl#B!v`;~XgfFejS7JiR1M)BwL(qtuK5RhI~*6>I3u97|p zR@_s%o=0D)GH5OOYL&a}oOq>_ae!!tYSjivb5V6T28EugI9I6mSIL}sdqlOPfMu#S ze1U71t@?P4@v25-g0ft-=rt%Gsh$}*vh-B-wKlHa?IwdBrzZAoQP*JV==L57W$lJ_$4nrUavXMN=+ht}@Pr%r)LGt~hH)gCwu~8r%2x94gNieKvmBRgJFWW>g$sRs7b17kkY}jvp?sb_ zcu=1PNcE&{pP|u<+(tv<4IJR}_AvK7dAl3Sd88AdS&tybhA{O(&`#63TY#2D4H;;>j2I`1o8-0`47t?IuEo0)&X4guYIyt^-oKBi>K_2E zpne}vR8sYHa8%J)6Vx7)NhI`E)1Ka7tf2`#QF}ro%Alg2`u_ujjWmN$Ya(Aho#QQy zuZHaRWbX^g?V@osZowTQf*0WK!ZHWwJw!K#?J0UTfYRtCHie^guV^z8Rd2D4moGtL z{sW*mB);JVe6T3w@N0;uwL&da%zuKu!y=#e@E#GfcqJPq%=bb{xbPZ)F^muwdE0oT z7{3jCQKG*K)JKcHWX%ReXBE%83SHkGd8^~UZ-+12BB=Xpe@J2l6gx0s>7asL@Vi4y&z8CQv z`1&Bq69A@J+~K^%k0Npv*nOp_4!FLDq$|7s{~T>jELbNU7!S>py_VwwP1(htB;X3hAE#m-D~0K=?3oK7(NU(O_*<9`{X{|xR9KywEeFmm&D z?E(G#LG0&QkUjzJ3&Yq$x~Q4$TU`{ttC(7voZ96Dt8pMXtgz?Z9PNO~tkO<0DgDa9&OX!QD+;J$P zDXba8aFo6bUtqzPM43#UIhdn|(TvoKnbWW(F4qiFL+^wm*!Ufx6q z-!ssgB#L;QmLXi&A%8(MbO59)V)#N71;Un{=J&<=w*31)xOYon!85UqGk+V!zb_%? zqqw{Tq`M@`&w$xOx>|(B{Zd<=%7#e&Qc#3T{SzVPm^42TwKz$;4A2s!%VYold?hRw z4U>TZ_flOsX#Uxfiof#{W}0!MZCCPS6qa@ zMpMpIa3X^Nmux$=;!F}3@;Hwn*hR)-44?OLTpHcMO*d6eqX#y`Fj?(1_48ciSVvoiIs^@1igH|kurc9c88zfig zYj<3vt2A;iiaff;k=1;P;syRa>ca;B+@}=YV)lT1*gI50(|&=>Qo6qrR+rKKo2Wgc ziD~F7rlq@{%)DxH$rEjL7BFc#es8e0tDv zk#YeDPl(cE zEC#SKDWaC&kE!Cz)hMos{X>E2y7=WHid=EH6-e@gieJ(NLiIOP+`)Ydg?B|X`>pSZ zx7*QpU!38Y@B=Z+6Ge$=!N1~ID!vRytxPmcfj(n}c(DbHm14gP+0|k)k5`QtItj&7 zG43>^Jr~_M;qawcm;oyqge@m8z7`ogyK53598Y;GUM@rNPPFG``v>twN7R}{oAzM; zC~7%L)kR9-pSRs9wONm1m-Jyj^zAlEH~9mySK8SMfW4*l{KYyV34VyfrPXUt#7b>A z`6*6nc?)L8OZ^6;c2deL1*Qb)KrL$N(g;2PHA9MM1j0-yCI_|CQqfN!IU}X=cI30t z01mF^OACjCKu6LDUP?z%n{gPuXmW6ehNCDT`WOx2AZRQlh4b?tPpO;kTTUiCMPnO*Fp2bPG$vEz2&hP*+bNKiN{$?_JWmVi(075B#6##sn#{@KmnehN zQL^Y&C}3Zvztd1;Q-@FpyGoq~p}0<+%lZ7Dn{7OF1*GnVNZ0 zutO-nqtQj!vLDw&7&xugQyk?zalWE(Dr$aWbSfzQg&!|C0>oo}91jcg|DJ8}Y8&u| z38f9Bgd4>+c9tF&bDjh639*>du#!alJd9Vem_8n3ks{oufizY0cnD}|B8B}r>Eb*G zG&98AJ*Z`he|%6oEq;Cipl8I&&X9Rl81qq_6ZxqSeO`pE!PUAT(#}D{HF5b3G~@`Q z)&#h(3n%s$-ViNk0ryR@+X`X|MG1Rgip1{mu<5S&mqWJ2Vpsqg?+Nn&)E*XniA2us33>^ds*Da*{rN4t{6pZ}tytlV0;$X}dIlH}<+q%XOgikdlL;*HilK zAT0EirUk$>KWR3fUgR$Y&IXDAX%VN79G28qz;{HN#`_Gyq^6-9{|%RJqyby1ber#p zG-(!l57VW04iJ+e?PIUcCFue@$@pE1Q5=50EZyNbOt$n@0vK*dQ$K(tPa69aM&wK5 zhr)>4(yua#JJP&WP*^A}$_JP-DJ%+<52Xq|46|IS4*d+z-y`XQ4_YfE_o0woDSa^l z>Z_!3PRf5Q8J}W+UP!k5;eII@uYs{%YB?Ix8l)xTP-~WAd9Jio-p#)*pz5Xo{BG zSDw=ahu{B3%thdN`F%T-ho4GAlpT8J`GY&#U%xLy_An? zjQV~hm)CfQly`i~2P?k>fFwleGYXBNN~^^niB`Vm`0r8WEQi}-l%4N@_m~pLj@09d z#vgi5C@^sWW6%bmeWW9v6 zBBebiN8DB3>;h%6((?%T?kR2g$71d)GsmKMp!Avvh7#o`4z!dioq2b1nIiMyNe`8V zcFXPs)-g$lj_7@W&uHsdj$@5@*$y8-aI^N;Lp|uBzMZQMjq}OHsJ1 zIRdoSs2UKlW zg2q?X_L^~Du@YEMLobE98%TIMiH#S58v@O z-P;j;p(=NNvm91A#sTjU)y$cY5(YjL;i~%H{Dz27y=o8ANR?+9_@h)hSBz7fDwYq~ ziC6U<1(K7h)qLDbg6a`xP$#NRaQ4qBmBb2@RI()~Z>lUg_IO9No|7Hls8+m(ieqYr zD&T#n4(1r+NA*9)aD5U?sto{>Yx49bKB4xRNjy8$TuehbfEHw`v4EIF)9_zm;RVwI zHv5)o;Z`tKnU2U|XFUFWUChR*wS@Agu2l148Vo|n&;`eX=?@q zx{_B9P`go*gu;Vb^#!Guk!UeGy=m|#u=~(Ayc+bQ@BGJhtk8LqLA`Ai>inm_)S<$qx^BvDyVe;7%S=XB9LHH3umBL(;W6GJfUu! zYFJA(_aN;VrL@7=ydb{|sJ){htuSiuX^9PLA7~JtMAl4pR;YcXIB)cQB3GjeWN#In zr$F{@VY?GGSCM-Yo$lfcpY7@?JUU`5_lkaF0A`;UIUoG{MT@P_p>DHmUe`ccyVe7)F%ktVhBqT?=@&l6)9KPLvcZP^RnoYn1rOJ z|L(3I*72LJQ+sc~>D-c|16_g-fWMpXY>4imF2mnJ=LUf3x7r8{)!-UF{_l6^-4H%x z3umeRk9hE*#Nl5LY-P+91)CJ}27DR0FHUZy%r#-<-&#Wu-}pDkCZix!5vNuRN^#$5`10Tn*d&Tc?@ zK=S7)ho97k(;q{m-aCOQRB~fSaI{o<0n(02!xKn8`2DZE!~uoIp~%v zIrFF&Nl!mP=v`^jPcW@mDlG@YJ*oOMYWJlryk+8nr1OTb5@{E2MlO|R^+i!8CEG#R zLuox9l2k6WIBP`tNJ<`!)(T1Y4{DWCVlNa`(iuLu;<4oQ6pYo<+Vd!CByV37Pox@7 zrmL0y_!%gkN-f@euF+wIin3~UUHkM5VludbsY-5sF-Y!E0giCFJ#Pq)kZ=}70U#7G256?hyPVUze4Cm#;<}m4kyp^R~l)vI^woCGto1rL6J`fBN<7L@|T{78n z^N$$BD{|}#h`B2N!4sG~xos&_krCwbojXxgf*`UWVR zl-jqj&{+}vK)FY$>JKTd%D$DTxhX9!p>S9B_Q!Sgz%OL+xg7_T+ww9>OR_|7Rm8nZxiL0Q1BVHIf1Q#?2sK3~~V1uz9lP+Lg5t<;=BaYu3AfFUVT3@ae4SlP>23y+jR z$H88qjM;!|SE+o<`72e*29AY2R;DdCLRy`2o@Y}plpUNc^j4vI49Pns;uQGbD=o@F z`av173bLD(fvsT7M`er!RD4oebC&s5)rwhY+^x#ynAjfGCeG(@RdwZ0shg_!0ie07 z;yFjuLsf|R3#NoV{Jif~^_j%a-#*o;JJ7UWRmcmM1FDL%AdOOWJpiFlP~OF%n`%sSLgss3_7ElGulFy8B`zuAwLq6(OXF-%q2b%&HR zl^d@|(^bBk0WCu{5|5!#$y9AmfZlVeXTv~qRrQ`vrMRXl=Ig53seI?F z+HZxlJF2x#F#DOx<{U89sSb7l7dNR|asd9V>JEF=-mBUi z1^WlpjC4?bRNY}OvC&O!(HAuCYMUh3>!A*0*Rz+p3oih?)uFE-ZJ*k9Ec$%Zqd1)D zr~a)QWCy74oC1nK^>@7e@1WY@2~-?XhfD-zi27(cq=c$laPH9&br1eM%Luic49X<6 zya^_ys5`PVG1aJk+!pH7)Ze$|p;52kT84V*ZphA5Z{sz_S#|6S)Xu9vTm|C=^@>X< zE~;DcKH5v_No~N8r5>P$rpxNDc$@ZZ_1gug-BIu4U3!J;mh3*bt3EOU(C({iIdD*- zKB5A9nc67v)`Casp6s`%Qh(77wQ98qXZqEs4F|wjtFClF@m#&1m*aKn+Dz15stdn@ zm`3&1wSe|oZP^Rg;EnqCX5f9VUK$FLkLpHts&6&QCpZ7g7pxVVUo`=n$sr1O;1c_4Faa8Ca0GG;WLxTDUecU($WbC>rJM= zWeVfp@&m|rGmU2_h==J3 zC+PJw?ZMv@FVn(ZDE698<^8tarWc(-vd?tGPbfl76LQdZ*!0hhKyk#>lP_qvXJ1kdNHP5YJu+7r_Tb{)So?aV8Wdeg1_ zaJ3pt|KK@Sqp2|&LSLDFKN}29rn(tW?_yTVZ-`xH)-`C{V-~Ox7u(e=bT9O|8O=`r z1oa+f2RN;9ubCJHntf(rPN4BID`Yq60kf$0;P*A_b{#c;Go<(8o--@FgT`pH-1}fZ zYPQrJe8|P0o4~uy63v$J0wUS$7v89uV%C=jJ=M(kNe|L= zv$dxoG}A092+~fQeaB15vu6Ih#=l_piq}?oW;fZ5o^RImbEqgV3;q*gZkwIDi`pHt zt1|$m(9H8B8t<`RlJOyQm*(2Wb_|)vWkG@7++1jlQ$v6F%Oty%I64E_hRnO|T?Kbl=xgkr1tI6hX> z*}T^$Fzhg2^&JWq^B2v4z016s6M9_D2i=8eck^UhDDpH9IS66i<{LQ@?_(ZP#2MTf=WLok8n(>-DDar41psGTrRngC;B%^TcNi!*Pm0%N@Sj=o?>Fn9NY>{Rpq zyuL^?Uv&xAr<=Ftpm2uymhK?QH2=vP3eT9|?Et(t%%ck+I@f%=3Y7Wg3%=(aBDc+5 zJ^@>W`DWe@R%PC*3H;UOp$kA$V?KmmElKvm=1+vFOdAYB!57@?|`K?iRB+ z4(n+VlLRr|7RSTE?_&{PkK%yE(j?qhz7}rZpzyb-X1{Ep#a>$oJ!oN;0-=X2UfzY? zPzz_?=n-dO5sO;9#eI$ioV4&#z>r|!lP;lpfA^=oii-VvzWwzpaP2r zv(Q&)v6Dkh#TGaCqj=vUgkPa07OOg-vCN`ZB!=>l#SdqozQW=JI}xjl77rDeR%5Y$ z1&pb+C_Dqe&nyOa0pkk`Eho7*ScES?-z$q@yi#nks5%V2Z!K9>* zon`qb8kE_VF}Gk+j-`V&5MH<3d>f)~T8?i4Xtyk#{sdp1<+T#vEwH>|$lkNUO9A;nbbSmcJhYf3;;P(n0b2c4Ijq{F!Aozjj_&);$KM zmzFs#VN1Pbml&`&SpGf$#VgB9TTnJx4&w*!jb$aL=e)B#KLYxiE!Vd(qTFTGp557d ztj>i&lbhA&920Z5s^L5m539=WFeIKLsTdjQ! zg~zNOb%(+eR-bq=8)vnWr6pL!@e$5RR*x#cm}2$l8StiA4ZQ?~8CEsLAUSQdU<3x? ztX1|MAiQKXd(J zOre#<86drDb&L-xxMy{cL(LDYdJX_-sZ~DbP1ai7XRmaf)w_8->Q<}QLiS6m`yWx% zTQ#uLsliIcaokr{FFA+gjg>QdQa@O2RzT8hRoNYVAFa~9$7T9t_1RX4Hg2_kbrHrm zTi0+<%FWu7Kl|?1DeRE-w4Q$in7piq@KW!Pb*p_SLag=dB{*!okKc$#tc%uwFUXzQz-8XjZal@}|=t*13Z{R!)TXMi%+y6xA17H{3r4kU?2>kH8+ldPY1 zK#^jdpaVy$b=QtO&ek`1Z*qopI!3CS<^I_{n~m! zEJ&KHd+^S^x7Ky-(f8guoHwR@upYDqU_M&!PXxP@O_CM*w%b@5yTR-oHeXzY*)BE? z?8n|^b89v~4mRIR1F5Uc`PFE2w@KvXjhD^ISlAn4bC$h&hi#k!q4$W*iX2D@v$^O8 z_2D)<6f{QIc)oy&Xq#ot5Ef(eyAGI+*{s$;=5d>r9H}~CGo+YzNW|K#sscy6&EvZe zbJFJYb%05*S?vmrM4K&^fPcy+pcP1xZ4L!MT8hm?Ur?sn_%@(1%_i|DG^X1;{~pB^ z8~??Sea$ACa|Ey3Ok#)64V!j90e!B`e!g~jHa9pAufQgzAD_@zXw%HOuf;Ye-onuP zHZIcvvBV~07o?ThOh*_Qzdu+w64$4~#*4FGs%$Rv6zH+d;A{x3u`!*BzFHeNC~$pj zZk|B#!Y1VpKx?p>)(gU3+05$*h9;Y}D%9TE_-uw{?`40CU1vMw{6luQ-itG-ZS^!-4z9Ocd;A0 zyC1s)1G})hyO&Y~5ye_C05Jds6j3oj1Qk%hKv57R>;el=6u$pa-uL~UpAWM$r_bD- zJ9FmDEXW;nM$<-=j=GvW%i5yr-Wzha>FQ;o(N*Wr8cf}EMZX|ohi+jI^mf-Z<;xy+ z>Duxsj6J&0nUIOXuqVo(FaAJbew+O?3h6q^^fM#Glex zO@_OIb!&`#P1tE&JZBl5(fyeMNoRF?IXrk?=dS|Oi#pe#AiSiD9g2>7Mbd@Q&{MZpgi-Te%1l z5_HF6`1^NXw@J%AqZ<_krcZP};ZQ$W7h3_EKGmHufIda%vjl|Cbq`qYG+p&m(CLM4 zZ9VQ0U7xuS|5evyF;x4mi;00te&}9IgrD+s?fLX!zOKL#MS-r)bu?%)OP6S9s~J7ebWzs9oEN;1k6Wou@#E?>h;_B7c%_x z^-6==F})Y>jGWLn)x!Ef{hs5nDM@n!i>1*(W>Vp0< zPrWYcZ*WTaC4G+t@Y)sqjwv9xreA9dE|L1Se8B34zWZS?yQvSn%>AQZxE9J7Sm`PhUJ0zDU$JngiN>-&9#hVS&rV}SWV|K%8JpY-WPfaU79?E}GAeO?c^^eTF$E)b<+^#z8}qA!Yg>_;47t6Nc(>fCU+hi>%QaYzTf1 z!Vp7UPTV?U_{}{MYN*0FxnYJ|oPK-BaEJTwvSIHKNV;Ok{S5Kf3{|&7rwD^3Cth7Q z4Eh1gL_;1Yiaanl3_y`&81)Gfo*1g7qW03@q6g+{!`k7n`kf)&7z0Tk48wND)cg?afk14k;Pi+9R zSj$iQQKVXaJ_1{wTQ1E9-CN5d-V)zZp)F?>c~+SG6OYc33S;AW|I4pJSDwS1tWeVy zY)(~p!DIKi3iYmmFuua{Za_(?FkXd;c4~!q{-vfb6)NhXlUv1gZ6RVuMb|qZI8d?f z8u%ipV)c&j%!P_uLO_>T(Ip97o>siT+dWwok3>U4c0~uC*Lm|m%MW2pbWQrTOmeXq1W1cg)OK^)9=uUvr-5eHWO zd>ve(E4%DR|0Y*H-Va!jDo#tl#jncVkt!&Kf0nO}wqVizTN9Ym zVUHQ09TDrrDUL<$0PdW)5jJ$Wd>A~sj{c3$eFZzU-{>m%+`n8O_;SD`7jPK9ZW!7} zbgF^BBj-dx9~-+cd>&QF8&-^d&JWU<=X{uN>?9tQZ3jl5|pPYvYv=?H#@QdaXBJuU;FphC)w! znlT#{XPW&Q@SQZo7c{4+=QpTyiDLLli90lX2v8nSF6)_0k(E)rAWuGpnMrXq!6ln| z^4jqg`80vBx8%P9Vm{D?%V^A@8Jylx7V{G!kpCT%|sx^t4uft{;TF6V_rNN+i(_PX>s1mriQ8V+z;jP&>e zikp(zB*?ujxgP;6PO5oNjq&%6G*cL;{@6za0 z2>Ky)oeNlzbe=cTjm1*SLICaL{$(K0RrU@7o9%MNPN=!bHOB*Ihun^D{@O41b3$Q~ zH?xMGa?>rq^pfvhN8=Is${qBNpFE7?21n&GoN9JVPHTzAAh~02pajbgwm?vb9KySs zXJlV~hR+)1b^N6dlVe5z=bZeShuUlMy=D**DJSy{TT!z2FR-~G7x6a5UHN4YR7;R; zd6NE6UcCh_c_eQr1YMdu?g5H)c_rKXR!&Jp@lGzY1y1-Rhw}byfgFAw-TPDi#v3WW zWaAVLO*$wYW`die;*kX$CndrGa@~~oypy>@8OCzmmDzov_fBOmU-;mqoaUPdk11A8 zU~^nC@#^V>;=6&L5~U{pRzQGKxi&v6%1ge!;iNL-Fj${e94>+&Op$_7oKu30wZZMG zvXd|UzNR$WgVqR4t3Vj3eC2oObtPK{N|bVX4PZBv)XA_ZT6t>^Ki^So8lmy7(w~_o zDNp>tB~5v}3b0rBRRuKWC{H;JAy=t(7Da&)(+g_*&gyfV;Q)@JaaCt>_67Esd?3P2y^?1oJJgO};ioI= zA3dOUqIzRKB)w2~<)8P>QQzV@N|E~g1lY1wW6l{|J2cm~^ZMhU28r%)l;%PVn4Z(P zPXI-4%p8q*BIxrq^Q<7yNxLl@p538+#yjf=wDmdL z;FBa%=y;) zBc(=j%2`mUnf$O`DphGGis(|kYeI`hr5^KYB)wEjdvJSKYWWPnzLW|#qWD>AzzIm& zYBpgujM#3L&1ZLZnKkVKU+gn0;!Vy2W?lHu$q_SKJzz$Evo-vD1e+y4fWR;_3xC*j z$;^fW=aFVD_$QuknziTG>>aa@$3XGGtj0UANj96>6I!I1%?X0nvdubir@b?)#JP{( z%xd%Dj6Y@`W8e$N(z^}7bSdre295hmALx(%@hcs>7Ip?3OaGKmy<9rwZ#1uTJzj=n zm9{(s5rw7Q^uVz%({DLYwv};P1xfB@9yUgCpiKKlGJyDJS%){f^60u7w9BV5JjpAj z?mV%u6W)87gYe;;AqOPx!*W;A)&&IHg)OoF_lRyafVx*C@W%Tg(P#@$y+tn@sO~Rz zjeLJOLhQeFg9|94+(vY<%{G`|yV0}!YL%=*C zog5GC107WwlwlFn8r!!b!d#2DtkkVJJJ>ftnW%=Qo#D2WX{Qf36k0ejfv6| zV>h(km#jHH@IaCpfXzc`;3)Xwk>tmLu_S2~_u*sdW=C+#k&^vDm@k#BikiLLraK(u zDyKz(&O^R@3%ot$WZrS`kq-`l7ANGJyssN7e_R9DRrxwwc3U2~8Df*N8q;{@e=*xpp4{n>1~Sn9hmK|lxhp!dzG}O=!yfFL4u2~ z63X+3KxOxSpqy0#`lGn0I2}c&M<^*X_^X0{mOCTCc5)I22B+wD7$MR2BVSTERn5N? zI8ElA^63Z9f#VF-S}>g1@+&^iy2TU8+2z{lCD{l7&6E_;}3JiDh zYXKA!6*d7MA6h>T#7D@E`{XG7=5&JNG@T#b5E@|x^3!C&@xe3HF&)Z8X z@iJX$g~l6{$j3~gslh(Ty+d#9q1HVd72q3+6Y279=>34!Yy!7Olrj|E_nhvYfimgj zG8(F7kl_lrWl9D}+e(4yTYCKqu=kXp1(%N`as2iNS-nJ&Px~7IGizmGQ5-8rZhD%Nf+;4|hnuy{}&2SM~8@1~q zg`e^$@o_QKHpU6d9uN^PQr5wymtwUKfFHy`OFV8r#7Is-DHen7fVYeE<^me`NQJN9 z5^rgsKpzB13BSQKM7qcM7U!gKVKDo$wDL4iu1kYoK;K)^2%c8lmEJZ$<3s5wr_(%@ zY|=rOZj?$*hxoVB<4aKSi}WB1lJcb(K8yNCYLfvA-Q@}60NW>L_yE&K?$QI?0_6@I z%np++5`l6}o-zw`vGQwPhCGs2JOn|Cypx0HnQ}Pi9et3kv)Lqhy)961cM6|vNB+-C z2{`+e+A{$>th}lT>yIn-JAoodnQ;+XTvg^J0Obx|mGD=JVi6ABZ{svU2J%Dd=t)5FQ)_wM9H6evZ>bRVvk&Odb82_vJ+O&T zxARAFTixpt*xXZ39SDJs)X6JBpRMl5cNe@@d%lLkU(|{jPzu!E9HDm5jNvcNN6og~ z;Py$gh%aU=(9{?Q%-@>GS@HmiP(S~sb@HOqaMjW4v)RyBj zrcv6$J3x)rF6j$4vD(~k(DaUWIse>Vf;N#89v*4ueSm7I+7B(!_)=^A4w&z>1)S;k zQM<7REX>gseg*G5t;=CnMyukzsNY)mVt$ac@8VIjFV)~FP@GD+I&%K!)=~p-k;mV` z$y?kdm2Q1R6oB3rk~X@`Jl^F>-bes zpf1%EFgs049-SREdpI<+MYHGtP@FaG_oC57v#=D;IaT=nTLuv{iKF&>)F7T}=YjSP zWt{}kT}rZo2KPvWL1qGV;;>F4_2s?7`!xLmIHgh_&Qp9&=Iem@lImB7b+70*U*Gwf zlJCNQpK0>nEeo=$0Fk-WasmjxkY8;SUyYRY2QK@DTQvdvPBYI!?hh*07xa1bhi6v# z)Qk803dn+gZ15-99s=Pn>QW1eI*34CWH^fH0|47D`f&HTiKvC>qP?OzXLRfn^?7Bt zU!2yU@D_PP!P7_dPXZTzVN4&6)&LQ~2{D19OCE}oV)`HePl<(`@e?HK=fJdJv6H`C zA>t0tJ}-z03jhlj&Y$7DND<6Ixa(pFzfNMsvL;X_PAuok86FG$a%lKOEV>Lklf~c% zfV~uRZ?K=l2IEUqUyBPx5cpZ#;BDU=A(CK4uJ|+r$`puo{7ck7g+m5J{1P+x1zaf3 z{Rd@!iyTL&_D5v!inK^H%SWwPnDckjPRi#o+g_^W2t{3`8$5Vzms)ac!A(lw$>I*F zr47eF_DeN5wrr9fe}TfD(i3ke<0aYWg6TQwIfnzHq{&WbyeIAZfW~Li*x{i2C@r>z zq;JyXXuy6+#`!3mWs@_Q?UjS7!w6q_2bYB!LczpiTMxmm+_R zLiM%Wb{{nTEH^C=-g$D^d-%CXZZiyQoRIejW84(Y7{Gj#rjBUzSDydfrdH%taLGkw zy$%G|73*){lAy!{g69*Z6Q9pYSDcd2_*yB;OXnOVn!{%K$~O#pkPpU|tCqm>+ftdS zur*eC$_Mk~q;vDYH(si~6xa`?dKX~%BkA*hkdh>M;dC)3WploO;EA-Cw{DW91P&TJ zl?*(!d?wvV17?bJj@Rj_Qu!_5@?5eW3vp>uJ8RgHE@j^1_2&!8o^!b~q>b-Em?{16 zM3E&`3jlq#bd1l(zLbvJ!H`$dOfP8hTAJw&Zf_*(<7j*;f@(YD-0M)yUB0#&*6){le*nxR+ucOrDW~&^Lod0b5#o=? zJ4_(=lUK*0I4b|g8SuyC8amJ&m$!Z3{HtKOF6WPg$k)@s^n%=k6A;7Y%UghRQEs~# z3SXDku0dmzJoF-Jaq|3OsKv{(AE48a9NZXkljNpa5ImO?ETMLqyr~@?v{!PYG)H9)mj%A5ebi}I}nJmjkMyabBv%CMg( z_9!iL`N>ww^ET%prHJG2hm{%p%y=uVX(&!8H-3ZMU#Vh?T7XiPS1f_b*==AQstn@! z$5}<}LU9>GAIPs5mE6*B)K&Zv9v*=h#g6AaHDrK%f?r&w=AJqOR^&SFNq`cxspjher2U^&vQ%{4=UOizC1Uaai z8xMo2tJ;>62ezyCaq_pD+Oipn9qRr8fVrz>KFPOJ9aIUmUFzk0(SoPizA`lQQgQ&m?uu5EPHqS4?<-)6|VWfi7JwUoMUB-z#;e zCqR9zZhRNT8+B6-qPO8&z`HOlhC#d~Y_lZL7mwI3%lyT5}=kJlDX2c_i z->$*+7jT|t&O{ixS2KYRF7DGT_lDfVnhAkm?X79a!{7gR`TwUigW7=i z8I9{J_$yRX`94IP)%0ou)XSP>z(HEBmV5iErt~~8y{0+FPf~l?6=0T@Bnx`)C+Fi{U4kF*vG;ap+37Y;2DW|HIwcE z^?}CU8Ja%SbUwk4wdQCS6iJ#7i{OjLnlCYM+Y?PjG8&UL&YUFpRMT$=2r@Lj9U(qb zGrAbe-f6a;MeV)jek0UAX#9#$eAGNX1D!r;P7$>DtjReG?emNp?`$ZXuQBH|p90OM zqX7QYoWF(Qm*yk;qEHiX$#QC@xkLjZMqI} zPiohE2j*GrlkOu|c`6B~CJo z(pKg4lN;JX9{i%U)%>7-jJDrc5Z=_*OhoOL_Gty6+}0LlL(y1m#|kLov@6G_FqSQiu8Ku9#BIM}hT|QgiB}@lB~6R2JXA{8Ec}6Uy1_G$-WlH@n8~=Hq6j#-P7u zwr3HF$7U7op?Gc9$p!-R&8oDA2>a5aCJ0BwTN281BJ!qsldEp@i`eh!WwT7g8i+!~~{>!54ATa%7(Q6iJ4rMcV z@Ny~}Bd~SqT=o_Ro?Od*!mg9zUbaOFczTpI?pO>qd&|yw2f3bQNAj}xVA*88JnC@S zb_b#NiLz!3!SrI;c^A-lrEK?0;C-WP^Gwjil|}k0hO4r7-$J$2vO`WnU}o9Q-+=O_ zY=^d>`&hOh8-Ds+cKZOB{iW;|p0XkFY8zN@Etg_6LaA-#2Bw4FwOkbqnC>h$d@WFS zm+P+uH_vhg0TJHiytV`7Sh+Xrp#I5n3m1UR*>YET@VZ>Cd2Q5U%B|#M{PE>FwL$HE zIZ>#EG5BXWj_38`5~stbjzG3_aIB0VYzat#z^+;&# zNKN>vODB4<7UWwfhqsnp$e%mXm2{XH8*ye*{{ZH?Q8#y>?xWeftGA!FwT5H7sS0QO z`cik!ygf=^S^+bNMjn8mV2XPPsprZ21{yEW>*pvEY5YVe^pfT`MDd>X^Ff1r`oST@ zLTYlXzHqU^DqxW#8#MnW5&^~qe6-b#jw-P>2 zf5|ygGZg+7&wLsKoY@yS6uBf>px>4@OhU`Du)>S!K)#AdW^(+IL>n-FdV59XTdm8+)`-1h00zA>#fxDEqFLn z#}07)HY(;&n+v_+0HrH!2#2ig)c+%t+e6czf_xucnTo=Tk{5%^LF&d&@G<)S4Rpt8 zNgOM2f^sD zB&@$li4l-{i|TrS{5JjZgoIcs=1j48DlmcI4lU(3-d!@z=cB&&NEr(Y6G+95N~D>8 z&ze$pEMO04L@J0#KjR7iSEN9sV*6Vh@JGMQY4;AwbDr#V6O8MT=P zSPGru+~`!=ZVA@UY1VcqlSa#LLW^{|W^91+17e&kv49hy+{Lv# z6uZPYj+T0e=o}Qgg)0Yw_lVIwAbzi?JqalLg#9a!o5a|8fE^I6SHo+EM70Jeyu}qh zKI`l zQKH&-Xdf-id4X_K1pWf-mgu4f?6#h!JR=J^6)$f4%2V z1fxE)FGGR8mv}%=7e0St^N9BaM=jokrqN?R0X*eeF~r-x z^MQn^UHE*`v`q&9ogUT}u9|UzlSyWN;K0VLFX`~*?1P+2K4-~E2%G!P7PRx0@`lHJ zB?Ghz%9?}!!uYTFZY`?kjK7PsIIVn%bj=L?zck$r+ATX;6=ciH=YsW$l^QTwIk7f8 zy6VYU_-=LLO%SZneT716ck_i*>q2;izW&P=;B0ue76LYI_yo*N@0PQZX~IHCcBbPT z0N6%Pc*Jy}I!(~HodWqM^4#bdCzTj?P&W>{xYK5S!|tT5eEMw{5ig27D6~5ocT?U5 zsI`Z7j(}c!X$xoX?4w!t(72y&6+yU(Vk#av?HpTjZ%}YAs05-UzkSE9v!g3uvZc72`43 zdqSM#Q=}(FtG=k65>ac>Pp3r{p46QYx1R!bPFTl)+j)_k1N!UY(ni3dgrOTSZ;Gr& zQ1q5)#H*5cQ8^679q~N{`X-8Vx zORn`m?j}v`4U_{?FK?)JL^{11f^Y>qpTG~2Xe9)lm#W|6`Ojs^s|Iw7lt%6b>P>0< z7pRyh4d>*w$C6V;6wjqU{FG!#V-7*m2Wc-4Yq?TyUlc#2L94*KP#XLjym!khd8hKQ z+@mj;dCO-;f!t5-`3A*t*^3AI06F9tC|pUjy)W$nT-xKeQrm-B}mC08itv6G3R2>pCAymp*u1qC!3M%V5@TQ9pD+ z|J%Hj8>ZTczr%m`2KI>R49Mg*`34j+z5q;TfkRB|k+cIMG}cYFj9b_YAhu z?MGneOtZ{^xs485qS3`jbvMBZSNgFJYHcSkd$hXIj%SdzgQ9st;7-1rq_C5YZUf;i z+KN~_hNd%|)8j>kMj$^xcRvC1AYHG3;tj!;e;V*l(EL=e3?X?Ez7?nG<9(=fh7uNI z;`HyCtFRD&4*DGs)$w#S(0A%n3wCy{>Wja9MF^n%F6N`X|DX<_9kA#ZxDPB|548ua z;W)rx2R_6(8XW;HJ@@ z{ed**VB1 zc?g^KowshMTXD30MjI_!W=4;Pa(F?es#Gw7O%%=IuhI=#)CNT~{YV303~6k^<|cWt?{Cq7 zXuxh$-EmMRmM*%&0hx4+=f>~I3PGNKPm!8uIxYV07q|SoUEJp3EjXd=OK1FTxBLx= zJKpDP&`#Y{=#b9mjH#gP@{+lB)$-f+6L~&^6F!r~IRLqo*c+5z$?^^)eJ4W;Am&j| z0xX{_8lYA{*ByZJlkC$#{);Agz`{bR)eKyI)02Im`$He6gP@4krNHcBI#&b~I}vt~ ze<8+RL{tLMRan}<-tEGkQ(oPKsV)@TAyylq=1x(MGaNm{`8QB~kLb@CKKq1cBwTt} z=y!mrw-~{^eMGGQDB~--@)G}u(C{XppUB~y?xP}?W74ODx++u)5>0s^GzN<#4rYgl z;Z4Bwv}m#ex}6a_cylIHSf&GZR-`n8pGEwz@Q_+_0_<+dc$HHp_DC%`*Y%*(Vw|EZoedpjp)Kc=_N-@eoKxV68|GL z&I8I;d3zQbx5+JSf#NFXwFbc+`Rf(V|JW;6;R6i&R=~Hq~UMdF3Ly6Dd2Fnx=`VhG%pJhHR598dkGqUq!G=|FczJlpl`FSyF zVX|j2RJ$T?oeH^EpJ4MebJ(CKbzHoAdf}tMYXoR6L|Kz6lkNDm!_ad_fuE!@QN%fpFVhCAJTDrIOJc z+)@-5Y|s52Z}bNTLrUe-{6yBM{04;enpDN#COH=&uXR{Uw0F3qgL<8Rb;MKfUuizO z)1$_0s4?KaITSUH=y4cGi^s%*z?gIkeBEdrhnWu3$Mou>m!E^%Z?fb3 zfTLnpALxHpyy89hbHa(^K^Md?evw}kQ9l8T6p5Tt3h}~x)lNogCyU+s0B+F zHlVm5^(ch+E7IzvXnZU+N`|C#iJXA>LQ<`Ohz#i{--eSZ-A_PgZIct8qHvLI`0USN zxeVWHbX0E7VZQ*mkW)^BtOq*#>gI%BJ^F`2Br3u{tHvL zt6~eMwl7Amr@EteO?>WTi&>Sr%U)h>b{(8pMy2kVv>NTb?%LvWpA$R5yl;04txDbB zxXK1d1J;xxm3rtf4nA3LyCkX9!{2aRV#N2wW-2jeXwPw&mhZ*}s2D$Vpf!dZmuaO{ z>PeAx;ETyS!ey1(_SItum^x=B1W)&mgr{cs)e$Q7thLkNquD>2o2%4w=kTg*;jM;d zD)o||=J>oc)aU~(R?3_}y($=C2lbkl)4+7C3l=i!^>{g zlUCcvq2aIj+`WPHK z1RMFq)+uu@oY#5XIe@#=^+LD)mzV{lZnh3QfWoCs|MqdS3$5|F#os<|*#U0=b?d)< z+-B`kDBGDkPU*^BrVQpzQHFAND8slTlo8wo${2ROGCmYuSEjJPjmlJZwKAQZtjuKh zDzn+G%3OA*vWVUI?_FDw*XI@AOb3HX>$U)|^3fx(u*#R-P`i2{Pr_@==Ygo^@d&ik zYOI6JRxSDhzi!4ewAY)&M}+H7UaBs1VQxnrygvCZBjf}q8g4^X7d-Sg11?Y2Nj zZTDsb1hn74q1_I3TY;eC7d2RPYRIqd&I6VLr%T5-5Yx3L$M*iS;I&FOs~B+T`Q|sc z^?L1tmfp3Vflr^l{Xy0DkzqXMZpFwdU`!#5FrQlNNxb5V~z2!#bhXb~Q@_1{AH%qzhg2g%a|g*Pp001-a){RQOuQV!2Kj?mO)P|c6}@v9iW*~v#k@ly~9K=CIV z?#low=7U40$iQ=zAgUDx5y7;ZH_}3AC{Oi5$-@c+XDRtAB%G&}JexFLpz%AQX*i{D zRQw{<2?PBVO5X+4t5i@O>PJ%Q6}bF50zu#wMHL!=TMV^x0{u-I%nPVnw2ae_;wU%^ znDMla<7fA%v>&)6&_R}vNN;(M?;&0N011zXIME@=NPBpaoJ_|!Tk|QUwFLb$dbS-Z zrqIMGup*Tv&jjjoy2pnU(`XLwH)l{^9xO9ydoVP7NpJYFg;%tH49H*8gG2De8~Rfh zJl|4J7m$CT=uT+-NELEX`$TaZTKr5#m+DY4hxBV<(^q=13v9m8%vO+;NB=QJK7DBn zHU;!K9&!t5^EVW~DZeoYipi}5w6GJ=ZqV0J%;4vV9_TjDK_@(zuUXvvdiUy&IC)<;B3 zPVDd#-x7KLbyWC10M0S-vnp!GMLGUboe&ES0OzDg9SyxtiLSHYk|5z@2b5s(kTWVn zM8QF5aaL?U1I#e-B^sFL#0<_tIxo8W1M`BYbq5B9i%NFjc~QLOpT@f+Mpp*xvPj*; z`Nvm80>8DcicTH?UK2iNp?-wun+b|Y@s6)Bxh|}EbrB`(c>#7qs5p=ljV(&h#Rz-e z61XWg@#6WG=)<{Cx5e_k;1Vk+1axu2MS;M0F}W7{=Zkol7YQO` z1)Pv5E+0j4U%cLf;(=(=1#BLQ$WjpTNThT8E=k09MdM?k%|!7;-0F!US*+kK%BP|Z z&*z?rm197VA}ZTK!&K492@;-*M2z0Kd?!$uQY zqow&(KCRGZ1qVhu%n8Ehu9~mFH}>Ap3#tz4${7R0bgZwPdR(rCO*_c>cOmS)F7ZUPPA z=QWYWoP>t=>0^EHen6EJpgg3HDX2Z7(K`W4!f&KOna6az6}tEtl{*Y0QjD~?9N46i z>nNZ;Cm-Gk%b+_0p;IO~a&lJ|HRPSYY|8Bll=rlR_e(#}&;?NRBUy8#?-Nxjf`*@I z0ME$2k)t`pf2aDfp!-SZKEjp1D1_4k3+d2PVA_eNJ5aM1Mi&mfI*0_`{C5_&ssnYK zIMe{VaRI(Pc)N?<{F5AeL>s<@dav-94VahcQXQ%t5IfpI1V*=&X!I2cRxs^|c*3a* zeqvrE$o+*mM?nHaN1iMPinnXI?}Xsn-%p9e3%w16gN365xP^$wEEK23I(`S9 z5&ta$MW{$@0S(WJL7adQCVV*1d`=Ye-6WU9+%Sl^ET-^|*%dLEw<)fQhzQVK6AcPc zyCEVuSQ{;jhaoRk{Hg~HS=)bRLl;9 zzn+Pj6(BH0#Lt8>sUr0(T=HC46abbcrtt8PDLU~QBTIyD1M6&Y^#lt1=JiH6_LZo^ z@6Ola5f2@2L}qo)|9C6nIj8NNAdX>t63Z)r{_?LG7!U z%DWTa#6|Y(cM;GXwI5=G3QT{BhAp_aMOq}fqDb6W4V{X`6FzRUMY_i)9k)v9Oztdg z*vo6 z_ybaNJ~ZborSUd}kJN7;$bF@Pj;I}z)@(p=TzbYw-A_mzyig00Y@R`jVCkGIBp5@a z^Spz8TKcsClFmrsyy+Y&_2oI;d8zStaJwKC)&pv|G;|;^Bc!IUpnjzEoM$E1rO!j) zwJ7NZ!){0^J|Kvewyi`hMw)2_NjIhP95TBlg>lT}w)7Ok4i33o=98>(M(G*fg&i-s zyan)qWWzfe52ZfY;QdIl+JGWSx_usoK9*v_!25}Gfp2q8mRxyuo+hoj14-%9*^fYZ zA?f{~OosGjCNMLlGVHZ1Y0wTx$d>j$huoJ^a{~D*T%?cMYsvVEFRpka?c-24!j5&o z?VXg62f3f5&WE7)XDPA?tjLi@b_Xn1x|Isp7pX;M)V@mnJs|L#G?VAd-zB#=$o(PJ z^F%FAvW@^OUy5*ngaT<%1Ykd_5pQx{F26>|; z?ANA~IP~8_KL{dPB9}U<} z>dxWP-6UOt9sB5Z26!K&2yBoV@#2}ubGaiF902~uD4!Sd{?wcI%T7|IhoA_ibJ-}) z&`D0Z2&0pnQGS6Yv)~Xu98bCU^gg43rRPrefj@!vquYn$4=zP&6I0czbmtf zI8SuZkB1!F;rxeMnuGXjReS@2>$j}|rj3p-Lrc@zXMotU0RlaWtvUb}&$!lI1_1x` z`&vVXO2J0}t31#ZeydWcxFp|If3GrNl|K!FSyig?L4s;ya)41i#~YM22l6q_S|?^g zPVG=*1pH(5ehYN0H_!!t8$9AHqNY_iE4lf4J{8mIS32C)CbAZw?OZ>@NgZ%B01M{b zeEwnZs660U=lwwY2r&f0My+=S{#fTmaKwZ=b0K)9Z4OBy!=GI^^TIaen8Rg(JP;=*d~H;yWzY;w1!tpN2pRd>^(-gRnh2Ak)`0v zlT@$^{TNLCnBV>FstUH-z@g=wttEk!ij6s5*|F_o&b8qFuUMa#ElXTEIKM&_#a=M- z+jT>FIkXs0+^J`J>{AeW0lQ^40$sP>$2G zD{uG%$yNH_!sn_@%fK7emahU`^;%ufQX_#qTC?|WwA3nC0DsgD=ZhTc#NR`U)r)$N zQ}^r(P}LjU2i)uTRse1A$`}W5V-3QON|SMOp;Pmooq*b+T`y?ax-oCmwmFZ$qtaee z5llN6_rrIcpS=K!E{ph9kFJG0oByxzR?zn7$W!^Af^X;Q<**WJ^)2G-5&G5eg5ZJ6 z_{7Q}n(xFS{#euh zJgiyk+XOfp7IA|2#$*mNZCdme%58qR6nu=ecIf`&oVwmgbpTEKy~5SlU+P70;X$Kao{ z^qY6z!sudm=!?ATKr~_z!1+iQXbIma6HeQ^LEc3=v=_BYWc(EcipvzjY_8CI9-yz1 zCIlY3M){slCW0)iP()Ia-LA_CKd2W&|6fB zlQZJz2hWY;Df0&C?vRHsY6%oJ2);<9wZ@~+<~}X!3JV|5^;Z!8kUsF~gh%wdC+L%C zS!EQD$*db(@`P6MydjyU@FVz?Z24r#Gy1q6TvDj$1~g2i#@QfvPCNOwn>2dS23?p= z`vfGsprQ(>WzZ#7Et8tp5sNEhscZdyMaEZGx&4v~`MPec(>=HFO^WQ_{-skuK zZn5eLoVZ7X#sd}Kg(Dz5Af|GP$w5)j7O02BdcI2du(0GS9el<9c~Jj|aB@N8aq*}D z2u_GD2f^E4tmPM8pyTbphHNW}}}=VMk*HbZiP!>?zT(HwTpu`|d27Wltxc#d7U(5!Ip z8Rb7&)oR;mW~Ui#r*&*Oz4ff=ZCcNm)@FLEHtlA$pFO)%>rS&ebP7M^Tz*jx)6y&D z2RN^dEsy_o;cH{{vGyXv%hYR-!CDk}nRauz?SLt3kYTmhb-*-XFzUVsOeY7U{`9b^ z&Jff+y-mwe(r{DM5W_I@++*cc7+zJI@JjVG-5X-4YU()D(2%B@rVRynTUdFOuj(K8 z&_D1~1~)X3HG|KUS0TCKFSYMK@LFp_LviuE$dYHZdjpmwq4l@iBPcNEw4@0Zg zl!>Zo*D!-@YCGI8#A4T_@~YSpHX$lg!YpVJINZ>H#+e=r2mNqU?Gb<3EJGnKMw)Jn zFj$-CMwVA`sEAd+Sfct!=%zAF8wu>Crcf@*naBo3OVbDx<{3BskLHFcZM319DbB{w zK;+&qeYJsVEloW~0eiT~gNvo6OfKw9tww{^H@dtEarM9Q68^~x7|q5;n;wq-Yi#W? zz#eB>#>G-o6bcL9o8?tgONgGTOwD1Mf}vsqnHG;XSef4{uX$ zIy}Zux6JMT^ZoO`@)TbHo14-`0vKCf)v<(c`d^?rfq^QMg{{Hr|A%J$g^J&;O=hDF z4a`ATtAs8K66Zl8Uc_}wX=4oyOy9>D>Z&`VUZ^s4n`E#u^&D?#pl*kqm-6LI-G&{y0={|B82=nu(cJqygDCW6^;Z2fE%rVv(jjb4=@{-GEAMOU5#lgiw5 zcp|*J9(rMDVP3yX%|<}4Go;!~rjW&86*|e#0DD=a>TNna705=tYCwtLqJM&q0oY#r zvtq<#2u?XiszKtfkIWtPs*5Fp1(_0t7^&sF-L zo;BaD|KEOBlPP^To+m(6@c(EK16m6;Cf1ffuaW99K8}UrnNy&Ob0n$mk!dqrW@=>% zOGaV7Fv#@ZP=l4lQV+dqT!|?bCBnS{Zd#%`zzBBzWnZoY9FNHN=#rl0}V=J>|fqDnGc6A9_Y~{|LE~;_}lBh0DYtUdm10=Rk0<#-qdt>3Ldy( zQZleV=fG;9wpZHDPeC@SEz=P$s2=+xn%g?r=VX6 z*tZ_;O+=@U1XwYs5Uu{J+<+44n#Mx4=LC!j`}a*9u@I{GprP$Qztn@z zOZ+nZAG-1g&}#o4bwF#CK$$-ea5;dwp-09*7Qp}W&YN8V-p~urm+IfwwgGyignBMU zHEX<}82Zl#{~vIEiQt2P&iOkKn*;hkZ3P|;hc8vgUY{bKmPG3t=?_bc7-|0FFf zQKU1#x0HWA0r+jnW4*kDn+n@B)&35ZVpj{(@+F4)RL$hI1QUoeElf91Rcmn_>@%(D z^AbZHkvZL@TMCqhrcO&SnVD;vhC(FGGP!cA))dNBPdifzs+FF$GN^DM)z0&zR$yb9T)+u3^`-y5=>ku6fO2cgLJS5kWGDh>9Y?1c;)j zAgHLQAR?$Jh$yJ2h#2{v%lf|O`_K8$e|`^kb=|t*xwkr0-Kw6*$X^nU{j#eLQ*^BE zRMD~Ym|jz}$kHT~*Ss!>Y_7632IoP&DkE@gV(N^`8oo(9W0D=tO?(Jz1l3h(h8i zNmG^M|6H&X{DQ|@uvSghYqV9YZNP5{#DSe$!fCYiZA0jMc$8M7ZEl@R=OH<=M%&u< z7tVDeH{%tfsm5`+s8t8fjQ6~TD@LUT7l@-Ea=oiE8VwV5Ue$1Y^>nUrFs45Y8m?bO zjni;fKx5A@Q8ZkCZ7B(H-0<-vG+zs4zvu%&(=f4f!8)R%!Z7|f&@xhg3=OP?&1#|5 zaHF(MAtUhII1iGoU?2Zowt{^^1v|r>a{DIL9C1B`)o_!ve~=8v&3!^L=a<36{O>Z_ zreIj`-QKCIdJVTwPnu!R_zKn+X^)dE&n-5ykR9PRPp;TEs*n=()AMsHJVX zPQ$IQR0}i>)44l5-%yD}L=C$(9yT^=YoeyI%=W*Dy#lMVfn3ut6(Dw0fMA&l5Ign6 zrPWvi(e8{>n>S9rY1n%1dQEfAMLU#~X&Kiuq-?|{NyEAQ=aDjf{tON0t|uWz!_IYU zqgcmQfb;$iuAn3Q_o+mZ04J2drBc(6SHB9vwM#JSO4{^>h z?}xzi$LbqYL}sj;ukwR_Uo_ftwWUyCpXGK{Y3P{oT&LmZs=F&Btl_eTpQmP5NPO<5 zX!!XREh;mAIH%zkRJ53wW~Go>SkYqB*c&CY8c|oP@>4=X7nQDdRXW#HTvNI_6%}|9 z2O4|x8g81pS~@q-edM-K6&&4Mfk$eYDpC;UOx0?H`r6X};Sd_(2Gd9jljvA?a|O@P z_JT%es;vf+P(x@Fgp$cz2UJni@MVDxpJ8qx#H3!A# zLuizC5t=I^!qiH_sZ@6*R7(C{9L1z{Oh+c0H2tsw?e^kp=Z$Rnz=0u=_hWh~2m5WnEO$)j&HFfZx@%t4`rVDt` zv|yT5Je6FRYAR>Cr5Nio1Ki#iD>0tGcw1b&75*v(3F#WuL}7@$csteI8AwL zx{g@a6&myY)}p3_ScX=xa3WZq6zer5wJM%ouFFNb$xB)WqM3DFCRVSGwl3s3>$*r| zo^U{~$wWmn75^JBejP}jdN#A60?%338GOlNPLpLHRDo%>rfvtfP*c?zvl`9-_+8vlxG zj0}~g^O^wVKP?M+MsaIwt}&}ksb0fu2NXQ>@t^Ulce%Gt!~9Y~@vETNB=mpT483OL zcU4RIu)2a~RAsuVS=V`*`cCs$4b!heq*H~6IH;Ol)2~wN3WlZPuw5rY&Godk>q~ei z)sVH4!po@_@lH}%UYFfT(P%}Luk^+3rLFDwAFAU1*VYtyF*=XcXk{ZW&Yli2*+dUoM9ZO@8J_q&8Ph-txByE{eD zXgjw2Pse|%wEK;%1dWwc^J`5nrs9R8^=4Z0wX@yIE7@yk9k5Ze?SHycn0CB z8twT?scx++*JiG`{ZiStVVgn;#D4!N*19qMdHXd+_+PZ{>;T>_`MH^^G-U?4b*oZ` z$#I)hWgJt>Evm|TW|>>(stuW4Zd0pPb6ng(URR&?pQi8ns_1z8`!RSoX{&MwiNIG{ z)eSYi@gFI8>1gNyqUkTFIA#wq;JA9Nh+|G47ROh3_wyRdRXPv%*W;LqdzjZq9VHx- zYv6UEIfmGQ^P8%1@S1bkROvw%p{CCsQdirZjz6`cZ4@%*ah;&F{(;QYE!N_=_%I#!4I+AnfpnhthByaZga(IZ1P*O2z1Q|HpgbcUnN6@9=bgYiS46iY)CaGOpi6unhgRO3rHj{)7n;;A4KY!y(S)? zP2};H5p?WQ5d%XA@$}6n9`A}sw8J0(pl=f;w*>+HyFd9Fxs5o7ccU(g^e1h10tv*n za|Q>Bwv!0&;EGGk38N2Q(|bOth^+7?Yz`@H^p*V6-6yg5Pt@AFA#qlJMD*wl@c0Iz=ZF^2O1VJBbT zrjZ}JnTpnDg#G#%GF(_hhPRF*pGK6EQpShQ`_!%ouY=B`Vu;gk9BG*J7ioCcm~8ny zCC$xR0j@(+4P#JXEF*z!i%6*wM;;gaNynz&sI`1I33onB{<$rnW2z6Ss5*&wKA$9$ z8R=wfN;b7NZAs^*7vzkt7V$*BBn{OoZuO;)N!GfbY&o8UP;gdPC9!cGiS*M(@@CO0 z60V}9o@=WT{g;iTNYk8R5MiL!J0qxd;Bw+``jC`13L&23iA2}#B8pTI%ZMH1_t$|$ z59&$ut{D5lNk=nMx5kIW7W_!0JD3lEwGIJlzK+D|naP_bt`v!nN9f!-kD|5uA8PHp znv}l4o0!*xb|Po`6_K9xZHOK`k76_C5*>$qBH65(#Mv;0Ebex8P{YzPGTDAE9g~KW z*x&+EF=G!Q-7$mwTYZ5jm6y=5t(}Cc^{1oP6yk5bm<+21YV9SEOII(Dv2j)Dyy|^A zzV@cp>a)nPE>09b?R1H*|MM}_FgTOUujoui&v1hEEr*bfDj~m1h7+X@Qzqd?4$E0I)W9nn>aVf#A#Hh3-sQ^(_}J5;`mzf>23`Ibftvgt}LO} zWzETO|Ca>rd@gZjogfW$%fau^OiU({W;>bb_nd@}Jt9Rh>*>5#e=?apiv)gjB|p~f zrsJZ)q;AEp1h+>bah`lc^sSXi_FXA~lS0V*M;Sy9#=H-YqXtB;??h77KNF{;a0nqi zR`Fs;_onk2PYLg)0y_V@Itl!6loV;~WOBoGI)6BU043V#e0Vcb)HI2J)^0=|d)Faj zrp_drzlEecFeSzX*qU_i+DonNdJ+FGj`vgyb*5tg1{%EPWdmYOKS5Dxxr|ut*T{p7 z7|)_>Dqbq9`xB@CP2!1eMY35K81S0FB?N1SKk*mn=zRQp;+b9X@;%EF{lgy8nbe>7 z*X*l!{?Dj*h=#W&MOD6$c~cAWtmR8GdGtB?l=+0j90!S~Ma4U_dj^3R8%ELc8A+;p zMG=4P8f0?c1JWa1A*uOQ$yjDfibR7&Bvrc|f$Mu;N7sKi@;SUFWdb#1ttNq9eMwQ| zJTiO<^Hba^v2@-zhm^*@B+Ar@BsF#<85@6@=*>7fZ&*Z79t4oKjJG6J=KyI-Y(ZC8 z737o9TF-za(XdN;jYFr2e2RINX3!E+*P$=6Hkwk*esr44e?6k5@P7yxDOQoADP>0*8|D_;3-N&FYcIW$THa ziewqR3CRKTC6X%K1Ou8U&xtd_LO_q~VsQL?kQ}HNA>inkTZ8=W@jH3&x{w6anZ$ZM zmGJJUxPxz1yf!A(rqKO}r=Cu8Z3u-ls6O%hx{Dm}!zc)eoNWX&mL-qx;)2y_#=8)` z4Q3cRO}ohi#pe&Q!Ve;CQymo-PAkkNaZev2&wTvo(z8vX-gLzrz8gdZg-Df>TmyN3K zhse#JnZx4xcV_1P2nYw6<;a-vXPNiCq4)+o&okpQ?U@*vOGPfosx@RPfAxIvmdb)x?U{ zmF!PYw2oO|M69+lmkf}0WA6B(TRfS5n8NWvOrHW2Va(zP5Tls-bAdXBsQ`bPsX*_D zWh(HWVJaLr%T#y}#}I7YMW(`&OANX4Ul3Z(L@4cBf5fqBOfMX(o7+Km-6SMS_y(nK z5!ObNJ|j>qTKNNYo48XDY_}>GJe}_qfYRNUda-Af*6^}lW(x<3!EZ9*+VGRF5uH&k z8@|W8vep;Wn&am{wBCmkP~T+5XB<1o6QI6lUL3q0{O5TDVw5k<7}he|Y4ov<*%yWo zt!G9VAnwI9MRtq#X7auQnGf^1K5PUri}RppKa-@V=U*`M_#SkHGjSvs!Hk=Z#z-c( z6_my>v9XXp&D4*Ep;)E|-Ej$wiwJ>4=2;tXUS?*lfD>s<|6yQBXF4_l%Ux#Lc!=jS zy+YybGbXeXI189QQ_xn*beRG14@^l78SnoxX3QXf+RQ$w1J*6~A^H=EWA!YyBXbz(U(0_DXx$4PjT$f?O1PgtSDnQA>d$hK>0RCN8s$&%mW5 zb~E+bO*UyZiVU_FO%WfkzSL!ohwS3U;CaGsZVJ2ktc`~3h3w?w0UdyPk>yo_D&gU2eb+Mq3oFU=zd^2t_}Sc2rp>M zJRo;bYxViw!$P0VH2$hC7;%+1)w@8X?O>$d`3~1<1oDFYeHAJ%Ss%K3-?6`Quu#f6 z+ramc{eh;K-`J2UDAsACuOdD^+RujpFj&juRa0@f4l~pNoC$|%rZnwsEi_K|iGMWgRGN9`VCfUr)kH{w!v-B0MM2KwQkG~4tHl>XaciXS}XGD7mxrm@=p z%sLtsbq1la`5!Pg?eZK#Zp@iAK?otaClE__Lb^(fl)jJ)aIWd)Xd8 zz{5Z`?>OAv$Bv%{Vh}s}FDTv5j#vlt!K`Zp;2&V;(CGRg+W^ZVxDS>b0NxO`lPgRd zW*;oZ!#9fM9q7#>R%nkRK)bjzlDM|IBo?nbuM@TEnWKlh$wZdjsz6nz4>{x_IOka?)1D<9cua% zoddn^vMb=}clZlhCx1u+^eKu5D07|t0d-y%O8+dHOoL0uU-Ndt*phdTz`CqmEgV%qDzKM(ZP&9HLD|6|+$vGq*49`-jfnKXsp#2h&S`7O-MWGLItG}R#%PR!NQ0O8C` zsS2^3Oy5+5#D%#;uM}6N7Ba`Ux=vw4fQQ})N*o+;Fbg+A%|WK57a9*S+Y4bLgbAma z_7TQ|<_4k6z@HF_qfD(M(3Z&@9u3|3%qSLe&lsNo6a~!RzrgNurX_OpxOr-}KvBp{ z$cJ1JbHIq=HPd%JoG4~K)1QbPYkmT{{kTG8fcZe~9L<4)xq3msbcpl+1eZcNW-8jkxas}iQY!aA zMc1ZrEqg)rJ#Kkp2xN25V(I;t!(Bx_ozLS6d%(j2?xGHWi@5BkAim@Le*=mVZd3#u zeb0?SVwW%FT-{*e0~h3rnlrz48;Tvg7E5gWUOqsAzyUtC1!^I@#RY9gc*6yF7S7kY z3VV_K=qYGB$vZd2{Ev_3Z8XC;&8H@UCyxL17kF`=zfcU~1^$T%tcm=br%-yA|Ii#P z8GQB{1mPY(*%h^HemaHZ0l(81x}WgxgCLjBw;ln1U+`_G!HHM=MT*mFK3sr6G0(o@{_e4YFUs*+$70#Hi`{DPU+m%n1={*{&%%w)Iy^l(rqz0O#%fwt=T(uP)&4 zG)Dxz>*qvtZ1;heX+;Wu!y_lCi2v_r8zQ#585QYZK9r696^M_rIo)u9g|S`<5D#aU zY=_1O_EuM@jAS1VK{SuC4cfzS9J~K_u$*HveuT>NY#%qEyvnwzg3IL^TeUWd6gIH| zitB9UNVMHxKm3Z?QLXMX%sMV>Z5~)np|C6OD6?!DQ62PZ`=0`9i-i-uzo%|$4-W#M zOzqCbD4uA)uuzq+WhbNK3bpfp1-w%2$j>M~Y8M29Sgt)pxAb~0lX_q)H>n4_+s^I% z9UkoCIu!zXFgGKe?&3q-bWgYt!l^@09Oim&gXtrj+#EPUx#9Z&>L}OZ7C6JW;z}?d z&Z$!=9$d%(iU(JVQn1IkE0iQW&V|z;-~@NzXDB<#y{Qjnr#O!qP!`2C&xGA*Zs#h1 ziQzoT1jPR|7uOPiW4T2x@aYVfmV(+@uE|VTisvqLgzoLS9heF6PP$U!bk=n)262b( z*q;#Cshf?32i`@O6pOZ9x_wh?nCxxfzP_ zzl=vHCl)*5IOz`&N+xf6jgU>LyArHZk4FH=@BSNcK5g?noKHXe21aKzKM2J$C09uO z`K%sb&2yOv`uw4G99MRyyzHvjZJ@6{Y)6m(9f<7>m?5;$fwYAgbDG}&I~ZFidK#my zoe=V5!s%J=%SaOunE>YNc3|1Zd=*g(X6hC|%R#2gWXK<4y3rUigvpu(;t}Tg1cWq{ z*-hipqf8=ZObGBfitlS~7v%i+^YbYG zbCP9|>&L{~X@49rbaO#!h3|fz9t1rdZj^uTYsXp~+%TQ^-f6Wj`~$!0c+SIE>A%iy z+r9^6+mC7jXF7cKLYH>3yali>MoL@H_oJ>~6iF}ZOPuGT6N#namxq+d_sAdj;?Ac-=RQ9@xg+;!%Zy%`aGpIV$_q|L*<9>f*w+G+9 z_8qhis88wYf%m$gbKZZrZhw3!j~VZXEkeYo>2(0^{d1jc@G z?uYXcpO-`D$ceLY{;SzvgZqE{ZOUFv*hlk<$q#$td`d(COirC)2h;CuX=pHG91ZAZ zbz6hT%x<X*7jh z>a`ZF%YN<&%JLOADgG-&N*AsaMg#9EC+xN1R~L7L2Wu9!1L}2*FD(vjWky{B*G}dI zEn&Gc)n`Gm7qhxCwD~f%dmt)-3?GfQ1575}8V8xa7r}Cv`N<7t!3#glJ;1m*YZJArJ5z7Cw5A9#SAxN#Yj zzi-lT*_oNz6s+FN2)a@CGKN3V6wEB>1&s$7T|C$iF`E^zgfOL8(5bj88m_0AP5W%j zq8373@RAdnOz8@+BUB9ukzT_Af5<@-P zy2JPTq?&d!JZLiDI6~UI(E#9Y)pH)s+cs|k{T;Mt!QIJ*bQ<3^XDui_YSZks_iVan z`mMZx^Px#d|L~((59pZ~PHQAH6fA@D^ENF7&qBYQ2;}0}C`4dc^KCS7JIEwo2iFm1 z@j}EPoViyHzT->=iz13Cqw)PW-SJ^CR<3I>67H`R{9|#QY!RGkV!cD~UjUXpLi_-r z@)H`a185h~yFNJ6r05CY%#$9U0?QWTfP4t-G&XDign6d;8Fc+WGi~4WeMAz@jHI+m z7Sn{D*bkTq*w)8CWEM^V*vE{S2Io(hgo8kt%RGxj;m#(Hfc`z~o+LQp$v*M{rx#na z0nmNeYU$FWFAT46O zJwbfQmPY{ETCH_Cignsi^s?TdokiL?{Veq+js|WBFY6l(%m?G^MGXF|jy%}J? z)}E%}(;ICw0b1T_Kk6v|QlcF}i#G4Iq92M6+9iA7TAB8S7chO&W<*2&v(}X^h_Bih zTF&^U^^Agt>$u8eU~oM*YaZk_aRL5l+su8v0)egE`IER3wsH0XIN`+ok_dy&T-y(* z?c~b*pv;By#2enhyK;-^oxPhYP6cjvZuSqT?cppm>+A;25NmE&6G4{%>--Tfe!Vt~OAu1Oi%4s&O30(L0pL^H^v z+~Z}aIl{R~D(psZ-Nr)cG42sPdyaGZlTdS#JO3*Tp5kuMUWgcO6+PNdb7>2}a)#^u z1@dP(C%SjfaZ@y4InR9^gg9T|{tbipMNUhZlmxD<38J3J4IPOhiOYQkVlwx~7HGNZ z;2!A!@fznd6>6??gBF7426yfxcv88}>tW&+w}M`+ceq)-;6)nO{2+AS<>LFJ$l!AQ zVK9>$vI6Gsb6hCovbjHLZS4WqoE9e^ahV11EQkC3K2+y&9vz@1kBg)g)_l(KC(U)A zaUbWy#B=U1Y;NOUa2*GN=Oq`K1>!4i^)?_a=DL|de8YMF4c+g!tN_?8;dCkxmU6!p zLGAm5>Tw;w^oAO2EM<8Uh5nAQpzxF z=BLoWcnfbo55aBx%+-+C&gc9AqBB36vTZx~!}Nl2;m6Q?b{D_W9df(*HKRau<2(Nf zyB>UcCm{6XJB@(2H=j-;OCR3vJ>u)f2Mz?MKX0A{pnLh6HV0e_ZPV*g)p)HoLz6a>f@=8q(_g@^}XBXtp^QAP?iRZtSfi;77 z-;3HkOfR4&i;p}GyV-mSEjd2qFZV&)BmQ@16p#6|U=W}1{b*ND9v|HU9zMmM9awtC zZ^RZtzJQ-H8EtEIH%FjYr~5Jl_BQCI1=0HRM%_dYpxLZ*YXogubeHM9u}#;u81mb7 zVLqts(0!ma>Ych28wyulIYn)^j{6k>+M`<-38fyofwai(rR&leK)rPlmv?K=q0Te?VE#Bki!ZMh2%({zgmLLyz4(*`^lx|o{4eNWer7KiTZ zlExwUS-M``;o1Y;rv|7!)LFKo$kB=a!r)__-%8-k)g^a;r954edZ^{=K4Moe|4esp z4dkBdf>OcxLO1OL487FN*ay|G9J)bRhvSQNiP)sgztOF~2f=r`4pSgeqAP!d+FoH8 z5d($12Jk*eFl>k5e&G(KqYengm*B-gp~kNO6C$)PLhZ0{^eB{t3PKMA@2F5u1~FXt zjdpcK2>;M?`Iyj_26D#*$23|9IVntj58bDPgBwAO7W|Kc7$dmRW`S5ixD3E&gb#Hg z7$=;~g57h%VoJ8g3)9D-4=xA^DPXxI+};c=3Bo$Mye7U)rbhMmSyo>RTZz5k8d&ulu6$y>NFaz;QtNtj#=OP_@# zN(p`y3|$eYZvyX$Vy$@H9VXU^6E4Bg4dT36u)9%Aqdfd(@md{(a*J3}8^sAxItI>@ zV(*hQ|Bn_;^WkWWc#jra&xncc@cyj$J7(JaIkEN#_;g-Odj*3R#4HVfUKFp61~Ea* zjRf9A(Xt*zviSE1Xt^S8p|tTeaq)eaND%`in7=80ume-77#s_hJECa^@TQ6D|G@e; ze^>0FhrtZdGz^WI;tSeKa$k&W3BhdfDowT@h$#x7Jrcd>X`3T<=nV5u#6ar9Tyfqg zv^^C^?L;kK3>=5H=ORa`oEPHKEQlA08HLdKQXDk{;>F^qQz+huE_6XS-icKy+f^dA zm*8Qk7)rtaAig*S?>~xl+oFFyiLs~P(--mJ9+>zl@<{+%E{2?hrL|HI+Q774x_1Dz z4O013XxS{)N(OO@^!N?Lw@D9Z!`OBy20;%;Apm;7da5%xWA}K8d)R$7|eV}+P-N6QKzF4v} zgT!0u$Y`{^lkC`!%fFYhuxP=TO1s=plu6uU>L#gCE8zVs^`ac{7wOm{X!$1fd5c(- zOaIUqah*JhrjhIApWeg4jdDYpZEliNGim*2i>#wngRS!X7C;&-H=|X91M*UOULBI( zd0*|i^vSh;90t-qg@i)al$PTuYdHSzLpTJ66e*K>hHf*eW)6Xjc< zfFeou*$flO^3=zWzbZGugpa=_?~6g(b$M1gEZvZocZY|!<-~`4GRF7Mc+60yis-add_mLi-7v~1`Qa^>kyt7*P1;ia{OJZvz zensWoQM;;olH4`bb^$0-RJH`luB#k5aYKzd49*O-pp4cZ?x{m*g)&QBxfR+Tsj)i& zCP!_08N|n`7hP;m)Mz`1xoQ+Slc&18{+>{&(>?&|f9Of+(R$7L!~Oat13+o8fRcF) zyPgH5(da+W+PL~&oHtoD2I`u| znh%1W?m=`X_Dp|?xcADVE3r3*RJi~8)E*DvzGc3s^m`c#Ttm#a&^+#N8CYjEoC2{m zr)afr6Z2|2u&`NE(&V0|Vmq+P!Sf)`CSo(s*#BZx1AJZ!Asi-hY2u)Gw;9s$cM zVIz(1UkiLSv=s}{9NOLp)z+eTD@4=fTp|pL1m}AphUQtNg6oNL8M+NHQoZ1e^GZV;CY zMs1_me=C%35^L>4xHgMl@c|&eReX|)AZ!!4N~k%DH@72rJH%eJn6guJ+@-6dz5?Jf$G0pBBf(Jk#Mwx0k_AMto2fbkU@Ccv(r*pJeZ{^Cp; zssxCBG#%J0wrq!5pg1T4TK0(&t+ED*E$c$yfY_PdorlHc4tx#89}&log0?X6_$|7S z#m%)LA0b*O-w`Q(a|P=eapEDcoE4)y5!pELY$c#LCob!P+Ii82l{7wHoa6+bE{G>+ zDfXf`b0Op|i6hcrH$g0?4f~1WEjP4X7ONjckt8N|qVdmF@yr0IxhDG3rsfp!%LrJy zE;gifz#C!}6$o#Ni)a*=DlQ8`WN(SmGX&_iIO_+5`;Pc?0_>)VaWs5N7rRqe+!edt zq{~t~OQZVx;(|nQW{K5kpL4c2gBB+qi2B8pe|snv9|P+n(FJ=cF}jbUVc!#REVi>^ zbni_l^2Ay)il^dZ$|>fH(Hj8!nYb?*+6u%00}zYnVx3*ER49f}!oNstI~Y#96rE#$ z_mxLi^V1&Gelt}STXDWx<3(M8JmjGC*| z;19UwE-j%M(jI9)?bGv+T2i{-Q@RrXyk3&aUl8z?I=_J>AL*yw=onwAVOxm%Nu{(A z#9vCI&v^o*Ff&;8IwZGsD1)RjTIC3qT2e|gQi|w+SR_ho=cAS^wf6wa73nuxp1vxD zEd}wKv{r?s6e*b2d9O=fXrJ&6snUJaZc1BdKAS4V&qM8&bg?$%Zc9x@LEw(mTL$bj zDa-=`>5?N8--+^fCC^xZ%8<^jL!9qP?Ta9vDJ>2}+kNR0P2#eodv_t9Ew!Ls3J)Y_ zN&!8TCQu&jku+QZ-W=)r9$0!Tg*AtxPoy7e!BVc|-xZefq*MJN@KoACL+5 zi&TX+M17S4D}(2ol+Qs;xs=oecGt><_rbDGF7FFx*2~j-!QTz?fdk;&C~IYeYm=Nq zo0T`qJ!rPLMaE_Tn#}a0@y0fJJ#8i0F28yW0Vlcn4uIJyub2xK7dg2Rt$*y2!)Pw& zD&L@d<8ImMA;7rFjg|m~yZnm@f_vnlw94Zlhs^{gPx%n78hFVI=>GGT+dl@UkKA=C zl={joMgpOqJhT!x{pGpUz!@N`lsDfi52jaopgf!g8~fxLbFlxL50bg6sP30*q(d-R zj-`+J4#MX_-Dm=g-I= za?yBJ*8GVgPL8{a$ex$mbU|CZ9GeHXFUY^s7aAAkNsZytC3(a~5EJAW%AzOAmuWyCa2OK zyaL(&CyM9t4SKD-kf$_)e4%WAf}%*CLX)AFavCLOUdbu+PJS)-TL$yR@@or-Z{&0F zDBj9XY3=@<9GU`__wuxg`A4ZN(%b)o+_>T~D`&@n=c8=a0@EjX*g1IkSzbQ|{(g~v zqK$Unm&fl?>b{2g-AZd35VDvJfXvMJq$jOWAY}0zOI?7UI6j(HOA!DeZ$n3{ZZ13ru^Jm$b4Ls6=*z z+gGTC^vsbIWiX#XO+x1KpLl1qCD7nWge|x#VeiSVg7=0br>RhQSp8YOP3T+ zdJ!Zj4{xBiFDt$K!OK{Xyr-bbU z^{L|d9z6Mq-*QMiQ+oXf6fcx%*o4FvDsHr+ph)S_2(fsnY@l58D`hRzvAc|gquHCq7ejcPs0er#4H`jTmj zItxG3!f#bK(^}0o^@a^W*slI?4nUpML9|}BLw!UGzL>u|{zBD7jhhCfyVMDk<91ay z(x$}SYSBoTa94ln0+u~$y8@u_Q0Hbq&{G|^5b(X!*7OYYR_`XG%~xG=4=DW9ne+ve zzd9liU;|sg&?(?26Fq=^Y^h!nGaTP&>qhN>W2UzJ*dtdhU@W= z$}|P>i2Bb0u!O4fX%FvFb)+}cgsHI-IKx%uHo!!vatvybYAxFRdQAP9-lE4ch#9h*g{Q1oezs|1`{>Rg1sE`#9A| zBZG6QMDzUf>UAf07_W|@2l@r|V?0b;R9hFp?j>~ry?GMUc-qL3sCr^>i3~+!KbTKa z8%zf=S$+CDEL>B6`2|IaIt7_F%>UHzU|71LuHFqVZmN50qA^uHP1(3x>Q(w6{ z1wpu@*6s>5Y3iFeC{0(-H-kWidV;RGd+MQ;FqopXIPpkbP78yM9CiOS7<{b8Wk5}ydiN!CKUEW~FrTl^rY!L@bs0^a3e?t> zA^%*>dkfAN>IS-F3RQU^Sc=rOH6id)bmdP{(TkxJ>OxnShUKE&3IKPinnv$bVH2B|`T%^;Hbi zl%ty-7xnGT5LGru`|K^p*rD+pNDdA8lLoPOs2STlIUF!NF~M zcluInyWX+rH@YqKWwfE+S%07i)SY@~+6?ZZzmH!=;dkkuQgYi>A4X5a-TE`-K;fqU znN~F1_4*K?*rSiR0TZ73)U6Qr(m$c`vbTQgU*Po7Yihw?U%hk!H9viO8h`rhV`=0T zppSPfhSETN>90_;Pk)HE9tY`PP*?8PFQL7n!TPmHkT{?(puGJ-efCvoJEZ@01`Hn2 zccJSdR9_WOa{j2^MsuDp{j_VSh3kKP2PY!*y93}^q<#_YqdcZ>(E&P7=sjr1^GW@& zTa??79Ec)b|L{1JUeIr&N6SV1o#_y`q+d@t`9%Gmme6@wf2BKukfiUn1%{IKqy6=` z|E}nh7s1k1z3*>;cuimZG9*&;Z)mf^4ZYzVSa0gb(4;U`pGuGSTlz84FnC*UY6wer z^j|lEn5NHo3W0QejcPD)Pk)(Kd^7b&-$U-cesmKEWa*_?->lvH+n4i;Qo83?@mLC z68-3j2*P`P!(nW@k!53hTC8CBbPzjSG@;qrT?ZM zO9`%WeHtZQ*Bajc2`APW?zuqAdPAF|u&}}KFb6<48{`0J*LfytAQWTbS5kxONO}E`}j0aPKmVZ3cN)!!c*nb{pQ)Pk*=>2HyhF z-4IS|_j?RyXz{_rFm@B#yzxUx@ZQI;mOk6?H6*-1o1bCLX$bfm9A%9GIKYrZ`To6z zTh9P0(2(v1-TMr2v@s^gP=<}O{C>loEPx3%BwUBm1BQpRC+nc0dI@TW3={ta!Vm*T z9dp>QdNXQA4DD%cIMh&=rg-6oTrw14`0FJEA`KCx@bj2qw}V1++^~^0Hl8%x{2A0! zhT4=XjWU!-026Jf-3#zz42{A-JZ%{85A4Pos$`%zYjB;30LK{~bc8eK3@#E_&Kn#? z=!`dvb%NcC2A6o~ykw~D4JQ%|7Ft73H1sThz-2>|O|<@-WN3XB=93MMP)J-cq<#a> zHG{hiUZfa$)q~sD4RtAncf&AwC)#crybc0dsv$iG;m>NIWoP(*Wh6;g{cl;*nt% zedCa0So{dZV?#m|06#G-r@?Tp!Q~mW*K}!0@IkIG-E39*6fY4B4e1 z78-gHrXoW}y1HH({vHm2SBALusJ%8E#p0cVFE)H>g;>5ZxXu8Iw}$-MDBc-fTtIh~ z7(8g>_RjX1@VjFejOBF4debs@y!tP zFXYx5GjhSX&ZsGZ6YGtg2Ef5h#&{Y=IyM{KJEOYAc#qbBwiCx|OEWd%^?=Y%#vF$Vty^l5*V_WLcT}JjPbh{c;20?DOF`I`@H)H2*2+1B} zCwez}7%$OW*3;-j>%U&cz*!LRb{N}Tg}jgPOg~h8js8tx$Y;~yaP*!(Y6xBVdJ^AaOsHg(_+*@ zjU8yW=uzX$sSpS=dPm^82sb*8&p;Vr{7MO@nInlAif7#`&}=d)jEGF?Fo5(Q=1aBD2O<=icyh)j!TSnI;Sh{UoY=-xDjAQ8WoMs%NfiLOC z6Hg&<*XU7(BEzWZT(SSq*mf2`-8aV5F9Ky5m&b!O+Zf*p#Uo=jr89Gk5yPS8vGHa& zF6$@8bIU-?HNK&~%QI$CcK)eRNBhI`jsJcH&}YWuG_ENyPN0Fb3C>{d!NaaSQG3e`B;-AYWp3( zT2t6VT7Ot)G8!SV-n1wi5*tiWv_EH~DU?>BH<=dF3}~~dJKcucOix$9(solXy7Zh( zS|j4@Y+6Ez_#LKs%|P5~GSei<#Z;40!n;fp8iD9)%1H-`-6lB!cHKC=40CA18u&h;BUYbVCu63VD_4}tbyG? z(?@s6?K5@z8QOwO|6GFk{U#k<-NB~nXW-cZ(~VXTKWJ)CV~|6pX1%}}VyaBJ>%$I{ z?+2JaV%kX4*HF{byXcvtrj+y09cKFBEBp;NP1}N6glR!1NJN^(j7A@vFb&%PgeOh2 zQ=#pYX+M3g9A$DD0u#}uJq=+n#`JGhC_8O>O5e4|nw;o!yfdcdbRnHJ#TJ1x&g6JQ zD`DqMv9ykG-jul<2IEcAX7F4vMf?e#i>5zjq3x2%DH+5BQ}A_opJ@7r*3vJV{umET zNv66r0Vdg${1e))nYz&ObBf79pG#ght?B~e4bv!EvAt>PK(mxoQ@#aG+%ipaD2Uf> zQ+fa_-7yX73BYNlO|xMs-L#&5K;*6|;4UOGOxv5lr+cO<;o!_PWn2Kz`=)J6VIs@a zW(VZ5O%LzF?gP`w^Qb*E&5r=4N2b<(u#{u+pAWfQQzyDd@=W-A40nua{UO@No^LW% z0_!uA;WUC+VA}Z&#OJ159avwO(srU&Xu9_ZmWoX2+aUPTR8EP+SEjBB5O{6cF9Kn) zsl{Eiy)iYWQTtm{>q4M^XL?F0r4rM>pHO>mTAz(tscGbDh<`B6mKofCWhMjVQ9heC z=b`b7NuX=)tLa@`0RCp`l!EA$n;O%?@mlkbZNak6e2U(2>&>m(1KI}jl}13n(Y%Ys z@SDw1PP;G@o67 zMi+CVevo%FyMBW~cXN#Z6no59E!)f=F7Vvc){%93fvdXT|R;3lKFEh2qc(?XwgkcX1BT^CY!r< zhujtOlQpPaHD7)QXxGfOrbA1L`C2S|Ni%P!?T_hZ$FBCM-Ze8pP?}+G-w!74nak)a z(@b+-Pw2jH{$(aEh%EENt|+q2KT%@(fq4K8V;`EEbc2aU<};KH%`rE72W5}VBg5h7 z6LS)MWtVG?EQe=#=4DZc%v19}v`;$UJm?OTJu`QABtfviyp@*Do||K6<^6^EtRC13 z%_k_2S!8bV9%^2iYtoLxSLWPVV0mr+nFoquvzd0EyfJs8%>7&QMw&9cGY30Cyu^HO zKLp;J1L((*O3nZ50`Y@6j1nMa=3SA9#Yc0c$u$4_WbTjOUgSTUrym5*7xNZcv;Jyc z*$rNNGxw&^PPzGLQ`lW=IduRm>nt57qPE^Lp5_i4EDk5sHd=OVgQZQDKD0f2vn3xN zx$;{qK`an%wH$vAyt^!wI1pVe{f2^bwpEJIGA z=4%;FSErw)ED3h~EzN2`TY%-|Z)n?ViM|NfftC)m?|+{~C1^nw5er28ev8uua0Xk} z9Raih7WNFneb7=w1LZ@O1N3qVvAo9f!oeT5wss|3vhRU<)v|^@gS%#_O?OU;Wr7dd zu3HA0QM+N$J_gX6mc#UOXtykuyMT7v;=BQEcPuw)2{_HtoL1M;EfMq#ylW|L5Ah7k zv!{@|X9;ZsxlGF}{PqHW-}2`w5VIVXvO1tu``-7oOsjivP*P~Td1XTbbB%TWd9ODtjZrv6}QnhP(= zEZJwF`=e#D4#ZEEQ}ngOXUqA9i1QcAh~+@>)sheggx@TG(GOXbTWU53ajo_9GvHlk zbq|I4_0|FOF5hH5NVBrd)_0EgVBKOBeGrrF)}LwR+sP_zfNRdykMx@hF4px&Aiv9+ zGYoC6)|&KybGI64kNqC&pR~;DVa=KbyWZCK8Q}D>2E72$*ZPqx1z0aF1#z!+uO8+D zt#4^UvftX6HW~+8-S5%-?|`)vZD9?u_MzS4hpo40_2!7Rss?JptZF|H!>z04z?lf^ zJQ}GUx3 zR+rZx-muTbrLo+g)q<1whNNzJ3dq`_?4-jx5W{(uUz|tF8;sKe9gO z;8Kp&85{8&{A25%lt|38POAadr`Dr8P~=<7t3%Cm>rwj1#Ro>+XWVSJw7D zfbg|-0ZllIt$*>b`_bx2`NU6FV-&+E&)PUn-k5WcH16W z!0G0&?I{LCciV4fRQK2xQU`h18aTs}r!9!4wq7;^jdZlO_Y{x+)<&IWctqGn5|1RLUP>JlagO2Z0#uTdeW9u3YJs0N1hOfvc(vnI@%WDpqRwi zyv#6o+P35`fQhw@4~1)IY{pmw>a6WCeIFWUJ4e~YbGG$$fa1LEgch9fwvn`9@q$g5 z4ucnMbDP1^CEEuP-Y3{PrJ_i*jrRkl%eK)EQA@J@^#nSTZA@DzyJCBM+X1^*ZEr?G z={4Jth0vB_n@xAlOrC{k^bClKDUB`k!R+qQ@FDdrv9>P=`%vkj+J=5*WP;gGv) zo3H{VGHkw-=Duf}xB#_G+r&S>a^H4>LXu@mqiJ@wZPzBCcwk%HM2q|Hp{>IVG(NHw zm7p=lHaj1d9@{Ea0;VUn%Vp4(YpX{-<=LiF0_CYKq&fuhZHMisJ+tk5f?9zsz7XQi zZBFYDycafmCA1aVn$qTlBHO@3IPuaphJHTsmFfPCt8n8o~M7|Eidi+GlPB(7kpa2gC#I^C`Wz z&;I2adL+p1ML+#;z`m8X?;o_=>GP;V_LI$_GsN!bpaHhS_CKeA^@zQY))qtUq4Z_Z zQG13AgJE{d2y|DteJTBZQiQ$ILih9<5qBpRevq#f>`MkX^ zeKiqpAMpkTFW4*XL)%6B-x&x=g1wMln2GlHUO;i#evej9lI&fQp)}df(~RJ%{SsNa zW?%IOV5iuRcZA$^yLCUb+_1Z`kW01S8BX!KWiRgw!Q1vv)ewtx`-H#$4@cJ>mu2Xl_@AKSy&pG!3xm9+GuV8((ov#vTHFgi_C}6GKr?d{dXZP&{ zfY#gDyujCB=c)i@qusqJAnCB1`#CT>?Uo;aPF;3y-vL9n-9*~>J+x~M1Xz#VPD;Lh zWcNTp{?A^!>GVPGvs>T_w0=83T5&$MduI?d19oX*NE)_;m$S&Im{$acQVd#5e zmralIsofG9;AeJabD+g@yAR0sHexsQ9DFbA;ts>mQMW}}j3;#fb6`B_ zBLAl&qvl8OA7os34p1k?Jn~FCGfwYBaftC=9ER;M!`TC%E)2Ifp{Oh4bU12mjJ4kY z)SWS*0+Ku!wG{pIWGtlIelLb6?UlS41;^V@l4Pb_9oAI`Y77L=zMo|M-V!RR^+lt@Nv7|f1h{7z{D(Tq1KQ6R>~=;1=| zSjOJpVEq}!WSVf#GRD&mD2_3Su11b$%%#1{ImY4zpiE$RQcheV6}_mfDThtBiML z7>o=?5Unb&F}Bbfcb(DGj>b#|gVv^5j8n8Hy}{T|5x;Ck3FWirFutxwV=g0!_CtA$ zE(bK`GiJ~_?j|FY@&gMPvnkwK$k<+jS`mXW86?FFS9-i9j9+c!BQ0etpxx*##uAz= zZZp21UvL@YpH^^`Gd?FrVg+L{3nD5R|59E@6=ON2-BmNT&O_rJh99{F?=rl<1ZWN8 zHQLS9GK@M{c#kneQ~G_z4vH4lF}8h-#(IX`1!&R0U}Vtj-^k$bf!4&>+=H=fW<1G9 zXA7gf1Cm-9vCo0s##kGSA$hUv(T<>-5lYL2hYV2&YCVkQ@1c0a z2&P44FGJo7=sw2kHjwl)l=QiJ%y@M+#11ePKd19&gN!wwqdLU+oH99v8D--k;t4}Q z@4-_>wGfh?F!Z>cd>q1InY!;)$U2XY$A=dyF}H3|a&*7kmTC{9|Ii23<3^aV3dZbe}`$!w%UZ6Qp{OjJXe|15#PFlHj<`@}MnnNau) zbNOWOpJmRc-%cF!8J%s5X9^F3?;P_(3ezSq*O0#{k=aCUiSx`0kx(XyInahdNM?3l z1=s~<8l^d;FdHb-^CI)BB{27rjrrOz7%wvi7J}mnGwm#Dsmuv9;a+84zKzB-=7oKz zr8DKUK+j;V+=J(Hjk)m!_^&fvC~Gg1IXVxuEatvF5O{;RlU~tm=2Ay!pTqpc0+d|l z`$9D4F*CW)FrOKk1!ZnBZSyHXuz4pP#75wmeQ3@v7UCkIUl^J9OAC}l2l zfEKry?IIMnnGfjoFJo@|4kF5#K74>yFh^Izv`S_tMK7zEm-a%@YUa`)pxj}mzKY^5 zv!CMrHB6NdB(=OVP`ip zem|feG6Mt2|I)*(rEIoG%vF?a-^;W)g5xoBh~~xt<~aq>2ATPtpd4aeErD87D;T1#{&rkc={eC=@%!+?@gO_N)aIq;_EC za4G)o$eRD(?T#!bia@ouLCuR5VFwZ3tl+B{gd?o2si5>>t+)WbqpaDxV3{v#<1?E7 z{8)d`4%eUMw;ke-v1F8>6u@#D0poGj=QQsIvVNu$;wM-OXm$usf3 zj%JCzMm2^NPI<+#tUI)kI>VaB1@>9i$84a*v2O1Ie>`hb1PndLTK5cn39R|F;Y?(G zya2WHtY8W%Cb90;fgzdodkRo4u+k{plfr^y7cU;GYZJs@V%?HJ(aScLiQ)lQSeqyi zoyuBGlX5!inV4Oadv=#^iGaDqx*8ADZnJU_BCo9EDl{a-^p6|2y(kv z`l%T1Zq}9?(CHzILw?8});nASW76zX3u^`X|@jR6~DkFNA|%N^!^=WODOrliG7hmP>0!nQg)XMd+Q#^b!C^* zC&`UH@(vi?+51vZ^I)f6flZ$5Kb8Wg&!M?B zf&K3oj7el$9|Gn)+u>7)PhvaV2YWJm5@lOlVCyM&DTVz-1Q;%|WlI2diS0}$l`gXf zG^kx+Gbm{ym7RDU`d+oMKMO)<8hbf?Ow!p76fMqRH&Q<2HMXA_G}qa_gCVzqy(b9@SF&HGrA!sO`8pb_ z*^A;(++o+w1KM5o?B5`wh8^)K#MiPts?c|jeVu0LdiMRd(bvGPqrCh^_Qp$SY-0CN zjINnI-$p4^E$pD5P_(j(=@e@ldyMRTz|I^8>~{9+Q^C=}K7>rRiJk1S8d&j=-AS1k zJ?wMAz<$I|ZAD`*oA(NeKK5g}m!_Y+=_d@{WA>KWXdGa#n}gaQdm0^N9AZC90{bxg zB^#}&pRk2Pko%myfR-C0Y(WZ!D3?+Ox_H?xHD95D$qwUKXq4XI)&O{p%{QjI}lm~r`Bc~}cfRnfwB93#c>!D~M zr~WcPPjDJ{fiZ|vIE-2_C*1>}Cpm400TaRrD+G2Z=UW}L594HAL*FS*$oDA1IZZ9V zJk4pM^QIA;!*miplCyXjYEhg!!wVrPnv*~?R}AOhH(+5brpN_)~c z&fL8aAJ4f;``vS#F!CWMaICNRIyk;zTM_~B$(%P@(|uBeKmEvAK3HD@Mezuw_&#M#}6cR9X4L(>`#i#)@%oL`9J9!E$X zp8K3v{sKuIr;nzpdQST)JkSPCJH-zgIkzWc@R~Tc=u+xt&Mk6ww{X&a#=y36rcnU8 zozp{W$_`HA9yE4xR_~-k#$BAyM(EbfF>XZhkYl$A;(IvrL$(yQQm z&RJ3buo2EC99OhWe8H*Sh!Gm)5rr)6}*O5{u+_>0T;!We`20?8P?!jqL&6E3f zBG|pSrE{Q+&70e_3Ys3_N`A7rvh4>=1$3miV@ruG@C_or4$~H;)bUJG@5HdzT(6f?glzK6U$Zo z0fBMcMUjvc&pkzs^mE*9%0o`zHc}c&B6rndG@j=^-vPcPu5u;7lDV(a5xooCyX!!i z!nOVQ9J*cPe*O>~m$<*q1n6b%-sNDt!kzj)bV}v=#e(E2_pd=Prg5hgqe$nnS3-*n z?ld~sb&cEH1Ip{%60dlq*Q3w$@Yi-#a7o9jOV5^}hGls}ToeM-3=dE7NN z{0ESU`P^F+m%7PKH^KS>t_KsKh1{i-@KVJ6y%ikA+)pU|tb`jwF}hN2BSpS$aX+G! z$ZhUcCD6*a2j+pHoclU0uq(JelL1}H?Vz379d02_*LS(=eg{Jhch)}i)p8qxDL!O#08@R92rGw4f_x?MD#N8hWl2-1Y=RnfNjiq1y1MXgm zxV3ZN7zgV+xKZBV>*P97hIbeDDo4;a#@(3>N_$>2t;!sD@Bc$Hg!m&okBcaLc#SSVIm(+&s|868_ zCV)3k3Yz1*PG|fe0(sHoX*t20OBbC4@m2&w{b1gLx6pTzXSJXR;d#-mEup;6=q(Q8 z>7S$V6mMn}hBBP@#|EfE;cqY1^EQRMtUzUqJ#{dYr#4C$M?K01{`+qR|3Qsr;np7U20z+4Mn@0eX z#>?CRnsnYQO0vq}&9$I*jh8$L*jc=*r=Z~t-gZwE*}S(XRV#=0nG5=Ic|}90HE-Q^D07Fm=SxuD<$dri8f$n7 zA_%PIJ#Pi&J)Yf4sCJ*XXCG>HybtzM(6*jun}LVkzF~8{`eIg%(3R z=O58G%sUu^#wWb#^a+2;i+c;TXS|4fpgrdu9)pMxUbz7pzTl;j*J+fe`vL4@ysI1V zK<)VlM_`!)|MMh(Ir8fe8?a40$S)%Y(;F&*KlUCP{rDB0 zfcEE?(NVi&dAD}h-DgIY7SQyUtp*7cO{$tAVir{aiyXhkN2WYDm#owF@eWUpk zDNQ|wpHBO}SQ~#xiLpGx4-P=*Sw2^eVTg+KHy`Y!UzCgjB$e~;?Zg08@YmBrtK{G90bdorg~HL* z{0%lr%euoiOatRx{xuK4)bPc$p1aRqNC_l$d?_ud>-qot7HAE8RR@%5nsjz+dkH3GIBzdr-8CZ%@C@ZoZTOl85|Jkqxaq zd{>$*9`So9@ZQV6Tn>&t{!%rR>E};sz(76bPfmn}L;Mn2$UWsVx>0+^f9Y5Bz2K+3 z1l8;X-&3&HL9j0eD2{?2N)kRO;0n>`B#@m3rn6x84K%t4J{W>nSHZf!Dah<5Sjm7* z?gIH~w0a1#8o=)@IQcR-jtJbz7$3o5`du6q^z22SuOOfoH9x@`9{T(RF0|h~CWwoI zY5{^jzk-Mpg5?jv9wfN86Meygzh48xNx@nZh9pGr78_3_RN!JAhxac`u#{qSrvwLo zflU#DdPjgp3K+B?iV|#{0<>ts0XaBg1Wym5F;?&$IT_9f9O+zjyx{C*^d$;*=^*gD zAn99Zm?Zdyj#MQJcHqqR#0!F-R>QIsK_umnUldHH^ukL5HEr>1mj!#{AmWN(b_9x4 zK|CKtx?mEmKQjajI-hb)AdrCZy1>N}Cc)eJ zP^MXsO;O7h!5P|4wF>SX0eib3rW-|6rwe`S$E*SnE){h8!>Gbdm!Ka&1vlj-_DW-!$yAxn{61K#`dS{`b z6FRvFpQJ%UcVWhO80aC~O?T&d3jHX8Iwve72YP}~LPx+7g`co&Fzvk1vKG|~!jxoiqzOOj1!%fZPw7n=!rB$! zxF-Bpgt5FXtfFsdrtl}4s@4xx(%e4WDf-DvC*KBgaHw{Sc~>K+PPG+^iv%09=aJrb&?1FToLxB`RF zCw%laYW+ezeLZZCg>O;n)qpUc_N{}$g)dZpT- z;UZfvNKT9TLSbQq=-v~MM2b4*L#HUwURn%C!$2q+BU(tgv$3M96ihfHdLXGKx} z1)1YS`QJdrcv0d9pgAYnk_ylS(ZtD+noZ{~T?KJsBDiMCi#B#TBSLyL=|l{A@O z5-o~@X_rO)v>d!5iuvzLDq36yzN?~S$^l9fX(drj7+Yme;riI6V0S^BKe{sT94fnWmZF{ z0#Q5V{uPUS9Z-~rKAH=XQc<%RTHF#%rR%Y8i(FTsuS~RruB0g!{jiVTzY5XU`@ETHO=asi29cf#hDOo8N3gz0baMd+srBjP&jRLB*iekQ`OHSHEyJ)@rK$Jvh z&)P-bECFeUsEIz|ouc3UAh1icj56f9MaLqb(?d}i$?Xw|(!uaZw4)!Oy`q;X5Zotn zqR4Z<=sgn#_Oa-v>tG)c^?r%IK@k%f1`~%wP6kLA7Hy`(0k$V1)(-%EDyq4U)@LGb z5!8P!%2)}rM??qcfaD9&HgdC#ie#A>wlUFE%4o0`um2k)4&qm4LA;~**K#yEi(mfF zCnR1+zx>1E+PwgC6OT2b&t1HU76=~VK*ZK3dWr+-{s%9cI3pLJ-r`uw9Xu-j;t6Pc z#p~%Hx1YFb9}0i*zxIGRCieRgRs@LOq;Tm8al<&&g2Zb^F&4q%E;^cfQvA|E^o5A| z|9~M>yz~sT4;MGk)d#1=A5Vk55#skZqcK`M{WP?Q5!*hRh%#3Ey&kP`;yZK}BwoBW z8AEbT?6w}Nofo?kXp%TffFfD^Q50Ym%5 z=F9?En)pXLfSRw2Gf8<|RR;&qTziB|;B{8ugBLp!%S;x&|ncUP=m1eh9eHhDa2#oOLS zaZfyx4*cC0A0`iNgE(;m)Nd5uoeTCR@z-V0qFKC{z*@w$;pl4>OK88^Cbp{3_&~gk zw$kn58gfZ>h`knKxH`p~)O5*Smv~wz_`Ah-C=2JIc>6NY^oTntLFkeAYdbuHUhzwm z!`CPNg)VjJ7tf(+!eeo>9?A@ey&8Z$D7Mi_p&{`XcVWx0cmuhAo`^U2q3@}<;0u5~ z6PKTdPS3?N0)ROp4lSki=L@lX8GbvX;?)WiW8xVTps>Bf{}5mtB;QfazN2L0r$9R> z`RNPPoFuK3f9WilDS=LhByUsJkE=van`bx4!xr?pOYFV@rHACmzmV%G>G}>eFNtCe zwD*>%e?j9B$@MlEVe^qJp&i9hi7OACzLH~1fyDDy3`wD6>RuRFBw00#zG6wxH&Cra z5^q}t^-CqQ$ia0>@=pS=Z%b=H19xWRNC8?)@HYE9SA|wqPAP z4gC_eVCgg`@Sl|C(-R4i+WiQQP-)dhj76BVklax?LA+jEdaOQREDON?~kYmg8tU5)=HHSvt}eafgiYm+{{h1NLf{aTovAia?S zv_z?Z=D+jO3IAQ#Bt5YcB+1gfbd%2o=_1-Er$~QZgW5&uZb~V*Bz2~I;LFmuk1&Q; zq?hTeO{#Pp{w7|PE_s5+H0j|_0G%%Vnc{F6(xw&+*EOkaDIL_fE?q;(zM0a-Mm(7; z>FK{9@P_ob7Jb=LH(Gq;NXK@ABv)#dqn0PFybgi+($(~1xhX9=3GEA{<7mfMC_PmK z>>_FBCI~E+PN5+wk!})zy;OSj6%@CmYba=RTRPQt5(8W&4P6XP%cU#!qE;bYW)GN3 z>GTP}u9E&tOSfvNBmFOvJJO{e0{gD?=P;1eNRNC5zFO&P_t1Dx`r3yOcwc%Y7sFjA z{pY{Uj#QC_T7y(e8_q`QbK1ByN#|5Ur)KHrwd8+kk=~$`)>f(0LlkY&C|W5$kbXha zXuCA^K1}P7p8g1ZozjZ|(7Q{zmQoqIrK@J5_E38KZ;EukC1m(OopX(EhwHyH#VYpDxLQ?#6QEo zLWkbZr9%{3ACXp2uJQ|MEUl17r77eUaghD_FKlv@Eh1;oL799yYEH6bO51jpE&T@K z56M)Spgb%qW-c|PMPKrOc$^NCqfV*r5#dkeq4TmtKp0f7&7#S~_@+#zd z%jVHNIY(q`XzK8hU7#rZQCS-;YJFw3zXHuq7Cs*}f7yJxrS6#QX*U!NknJo1!*Q8N zguX!8%45JhA-muW_8?gs<)YexWk=`!)n7$QGC|2#K;uYH*yFO`zF7Nfvk?eaW)MXmDJRo!$b4 zQ)JUBz<5!%GY^t3$u`c$$Xu4~O-JpD?C~Jvrpkg(L$#|i54uY+O;*f6EnSvYg}w~g zyA-UtCTnkpW!GgkC%TCwQx@n5{w!G#{e*7F#!-52wk+QO@j0>uzECY!_Tv~B^JL{r z^ySN{==}Ljnfo&gNr5bny!(Z+d4GbWNcIo?x1wU%LNmZhWFfa8p;Wf|4jOOC{-Ky; zx$Fbls8+~+x6z8VQdVRKO{-+T_JgBZcIv-ZO(vq0y1TL?H1F2P0?9*LE0fQG+cRf44xl5!rb1h`o@7M+0V5Rz-{HG1=HpK(m)$N`n;+^0pR$ zI?AKMz~C&;jKh!|lJ8mxlMc(n98tK)t7zVJm7iDy%iQGZ9RPEeXM6yYJmdpk(ER5q z@7@XVUUCWj^1bDQivW5=Ufm52AGzoZbUG^keH8@y%8$liNc`l9l+ffae~WTEkI5HN zE>D2GXeEl{^1XFXG*G^XJ|ZXN+a9AaNbYqF8V1X+(5bkS@;{D2UWh#09=6y*Nvyn< zPD`GVukyhloRv?Xg}yj>Lpkh?m;cd);+*`o*MX8C|Amg~B+CDyYgEqLBnhoigQCN-WBf-&={=4f!usAjy{hLHp|*xvh<6%v^abt=aPA zQz>wmFQ2m;;%~~`$;VkBFCGR*p?s4&%r25Ipszr&d<$K{QzGwgf-}K%k_&PsZL(zjat1tc^gDD$fIZw8s)BM(by#4Pnk^3@*{fy z)*`=63++~UtT(i1leg(ndmuj}L(wj`qgk{=9&WHKcUhx#Vb<4k?fa62? za`M>p$m_nr$UKr)>_X8ipH7L>eRAhe2<(@?M**$Ja`Q#V9gy>D06HlDVja{Tk{_ge z;9>b!%#O%E*FlRH@_XF3*bAfkX{C#i-PwQeXfd) zCe+*%b9dkox+{K}1qmLCa3*S=icg0r|HVt;M!o}Y#g?C8?-4~;IL6CI(Gw1uql%-H zbm6P$+k)ZtQ>X&a=dbvp5`D)My^o+wpdyG2J)zjFgZLoDvh^SdR=h=?kCO^P8Hy0a zhyv`PiY^8QAxyFAU8r_SF*z3Ows6H~DJV}X_D~o!j}@;;}n(Gz#gv{p)}ibim(x=ouD{D(cVNw6rFoN zulVv9P?8iIQ-PAK@NR}`7i@|k`X!|(s%Q~$QL%120KPzBEN0ZS~R>Lh==6D7F-V@|wbB0wi5me3}5AG8GH-Ajwjs(rk7^F^}xb zR_vr~y&MJS97u8%Hgz1Z^Ax2YfHYq*lNRwe6`{0fDp17H35!C-yOhFFqWJ1_FqSG> z=^ln#iV1DtzpdDria{t-1W__ix#9vPAyg=IbHGrkkhcS~O3_1c)@sEZ$``n!IA4#( zyNbCjC~6c^TM*Q*RlH07@q3Cd!yxy*;xYx->lB}om!V!!k_|}>icPd?X;i%QGXyp% z&XSX{S@9X=v9u_b(kix9(Nh7iHbpTVgn6J?M~T4gii24|=}>f0P@+@uEE0WP3jZ`P zbSol$vBCO>ii|}tv`4Xzj#fNU$S6mqSCK;JI{Oqa{f0-`ugIeZ`&dz6M&E!Uga&a? zv1toPh7Vf%~P528AjAgdH6e!cq?b@gWMy^;U3g{lvNx^II6tZFb?mZ zuhNYY2K9Uim&ni_R(6k*734 zxt-FZ5|z`h1MIxAgfeB4lnKW{lC11BLG24lQyqpmMY+=m_KV7z|MF05%JIK|=Cbmg z0u)!2)8_&$RoOuK8CR8`MnIV~rYoDrqc210)eh6HDN~n%Bum-45E|Z4mQapa zwsI?-q0CXfRSU3OWyC_Lou^zF0g`;>oAf2VsSG^@umYvL4q$~!TekrmMaswk zNdfp9l_3+MMU!%=9vsceKPI4PQT|F_%~oZ=7bx14;{DL+fpQC-duUf4bp}I+a_ct$ z>r|GL2fj=Bqc;@oR@(1_5f7C{H<0uwy;EV?Bjr!qY@q2?Mo_XxpE7zWXr3x}=AiaW zDZ2)N&y^>G&^V%ehtBA|PKjt_7uoAyIs%6%GiI;Q$E6XF9@&6_}ST&2xM5vUqRpN12v z9`f4+sZ=ZQ0tBmSnov8bnj!*9i0WkFbi99|svRyM4O2~_>#9zv-k>CeaMiPkC{C+Z z2f~U7RWL1&B2|w5P$o(>p8VUq2}CVjdyRX@leAxrgPKF0TkO=V{VcDCwx3^;OBo)m@5RppO^-g&A$bbL2o)lm)+ zH&x$ULt}wz-UpCWsMu^tG*49sLI!cT{`-OO{m4E`a(qs^1GBzE<_s zevsT#Ej|p!`>MWMP^L~5G8-D!tES9@*$t|#HzA@?B^VEsCe`%|D4JE~|Iv%1N}xL$ zT2+@1LBlrHI=Z#yfhym&0%+~3`CN2%sQBdb>r}PUvEeRN&mc&7c5aJj+9>edOC5R_&($*YZTwFdckPRb}fi zGS5_fG!H#j@%`z;I-=S~?wA*<(DM*Ds+vn5$T3woom;Y3AN?MMgIY}~jE?GZPxKvB zrw?PeozxpBL)=-ttP`Mz)Ke3n;bC=34JcjIM#`dbRo|mEh?{!-Vhn=2I%Nc49%^4o zit$vxe1`llUh0)T;P+Oy(q`$1`iu;WKI)$=pgF4kP6;$$b@~JJ`Kk4^L-kj?%!9ti z)W6XH2dKX$f6;OE+m!qlsJ`+ybULBl{s0yRsfQ_S60Gi}UFb=53*DL#qW<;@phMMr zv9v}0i@K76T~M!oA2 zuw&ImdiH13a@q!-RZqB&#yGWtJX7)N5ZdvbQ{(1Pym;zuH^G;v)>EMJy!wX>6t*Pw z=wc|9tS<9`_zUW{AE8K5bKV2YMfDft%eth#K})a8>Oy+JCr9 zq^ULJBurPIpsQ3f)J|$hx~5)E>)z|?2}5YiR9~R4PnKFj;qV*kB?b&^woQHO6c}^V z@;-Fts@2|*l&2O^PC>r9oZjD?>g+I(6sXtJKNl)g4;%q@k=nftMX@@IvH(idf?kl6 zs?Fy>a!c*M0Vw6_LOGsfg}OEpD3$7&lzmX8em@V;)$0D)c!YPbwV_Y*Yu`1X`0?-G@!Dj6N?E%P z)smNh)}wAb1N9%NQ(uAHUiI>76n$#W3yfvII?Nq%AFIFr1ZV^5*C^;as1AG+jYH}g z@n{@Y&!BJq6Sa{hzNc!97f7C|XY7NZ=jy3*A$CN)Wwi~GUZ~fvLoupm(>H%i?VSup zdrf>U&>S?gDQDSH6JigTgBtHN*yN;nqZN(Ln*ARG?U3esx;N&qW=aD1Tr{sf1c|Gr zo%}X#n)Ux;xZE|XqVae=H04qho|^iPQFv)4{XqHG-kL4sdOxC3UIve3fqD0kmns-*C zNYJ2Q(d@W@>O~EY{z>U2jU^v8UDjx1D6VLJGD4YD z%{2OGU)6+{gCkAz59PR|Yqsu$+8LVdyTEr%qZ$W>>l!f^wM@-P3IJqjo(DkR8ydqS z$j#OWD8!JXx!a5Z%GHcsg1LD%%_DN?Bq^pc(xTatk%~cHl44te_(> z#hRCCZY|N|(A^TH8h<8WZfU%BpzpS(nQp2s(=6Bw5#^d2w1uzGTnxupRBEjEL0P4# z%7%n$O#@{j-qAeqK;K=BO-0EQH5%zg6t$Yoo)B?Q6RyN?-`BXCU`(B6PBToa*G!uO zjs{J^b@VlAwogFOqmm1nW*vo&+cm>Wpmv95 z-rvxoQ!{ZBo=BaHa$BCErEjHwN zYhSq2`tyi({usV2JnC>dEipryXC3B0#%`#^Shk4#fxpwHqjl^@P@g zlB0vP<9(q;uy$)52H~XE(GkjoXiF*F6RLfU?)M1Os{LWhDQ!HR?F-jBk$2&=w)$_% zKa0>x7K1cW>%~P8rJY6_)@ZGB1xRDG3&@KbtG$&5jx*Zxn?Q0_%bN@>;;daDwH32LlBHdD5q&qbi(Y|UUkp9m_ zx%OWQSX5{&69HDK-7E!kmDZ8`C)L__$^dppyXgV=?rKBmet;USZF4_bYqg(+L+(AT z`F$9AU+Y32p*k&-?!>6q7SMXTLHql0U^i;>NMMupTMEfEYtzVW+oDY>K+&oVqs>{H zHbekJA85C~4!(Bnk2#Rkq4j$gjh))3bQxNgc3B(*b!&InXe0GdyMearJ=(J(U_a6> zqi;g5HpB}>pSF7yVEVOvW@z|WJ83zz7|?E&p>a^Vlg`EtX)EG^_Ef76hWKaN4=MEg zT>G*ajU(DCZ=v==yJ05;jcP6AG#k@?+6q2<-HmA!|8vlpk|Ewv$16o~Pq-*gO5%{-q54EtH07EC%(E}UqD4a-8LZ}tiSF%S~MNg{jCRR zfNl{3{Ks|jDX0bN#y4tCbbW)c$3wE>cA&gwdjfFw>gNGUe)x|j_p>yQyO^NU(T5^Y=P3Z+dEKo_*pj3ZRiQ}M z)jUMw1zprq$W75L_y_VX>V$eQ*e>Zd%?8Y6-H;2gujqD?=Q33nQw{a6>W1hemZtmb zDnz8~7MucOhVFeE(5~qQDKGK5jx`AyX6iysdu9> zR~Jv2_<6dQi&4why|ESYZrXG^41g)n4bBBjq3#$h8H;p-ose6s8~;93E748qL1U>- zEkf;)xZB{SMtLbRlG?F6w6(+NGQB1?Xb&bCVs(W{eIp|el7I|SnUbxzUfe5@O|3&sK6Gy0FHgSz-%(Kn=<`zoH{ zux>{>YEN`Yo1xlM-JfExKhvox7W!PbpR)EwbYEverx&_SK4=`(J;se56UTIJ0Fpg zU;UnbI)Ce@7Y+i(U*8{%)?@lp(*YBp|62n|$MwG+g%yGN`E=yqgq}syV325CSwccne_Y5nT|l0@_(ic3Z6YYlY% zC`unq_bEi{onHcJjDANhl!?`Eo&+t<=v&DXepX*i3zIm#?g<7lUca{$l;`wK!w{ID z&mDu>iTXL~(0E>7K*9VZJ@aGqCF{reqPU>HISuS7`mOZ!xv2N2^zTdh$f@A7UDoIO zLc|sQx){);>Mz`dZt42U1Za_=-%Q!F*YxYWFc#PKw2rRsz&x`|F zwtfLEy>j%sC|e>||He}A<>^DtfFWPcd;!XvdKn+k1$uwl=@shF(!RdPrVmH}N3s40 z`L|2-5p+(oRDbtljPotMeE~-Owmygf#xnhFI-Fjv-@O%R75WxB_ED+dSqMp0`fQqM ztM#|{f#Ht6brG=d>UXRFN{#+=+BMheo0CCuPcQowwfp+VN?_LMZSyEyzFxob3eXz# zgTCl&)O)`PWt#K_qv&haA3g(nTlACZfJv)fK-;-C{p@f^dZ5pE1AOiJ5(;>9=m(P_ zw^Lv41i4-MAexoB^@<$yJ=9D80AG*(>#qU*NS{G3Y_I+!+wXws(|gbcxU_aCQuK?(C{fZ2Lj_7v@ zVdx8e0<9B9^>^jK9Mdm<1Gd;3z8waigW-=)faz$M^fSfZ4;ms~pz37k`x2ebhSQXZ zamZk%eaT_NBRZ$)VyK@FY*)h~XTZ1_eCVoMcY|*`l<_cpK*3^9LkLacUIqu+8G9Sf zQ$ocN!!r$PJ_bkHFdjAhLq_--0(!yVXVAYx|76SGkXsKejv36KfFr>0kw4@fH}tLt zX`tbkod7*yc;^okL5AKkkOUh(K95?c!Ez7SVTPtRtr}G-&h9)6E^6*$_xMIadt-5J{>*OmVoYhLx0#l4fwFU1++YzzvichO2a&(ltYj0k!Lf z%n~S?X>g|Vs9A)

      ~)EYjd;LkmS zQ#*9JZ%8G_Se>DS{3!K?VwzSO3~y4}Potrnd@N0d%|C#l+2G@ZqQ!7}29#+v%qQPy zo8cz;>K_Ai*AEB1ZWQp`zis`V@MbWV;&i5 zCqu(t!=Hy>eV-ve27Ud8mE@KfG&Irir6I$yX()ybdHVtO#PFpQ;-4CN=%spQaQ_`B z&keq2C^KUC&PMyd7Y1*dg+~ob=;JwNcrXMSd*iCF(C1(jZ2`8Uar7O)95k++2TCVn zKjncr8~4zT{*dv^H|RTTte_y9i}5i1yj+dTw!<8JzX|z%< zkC*Z36&pl&8&A?9pCiU<7FvCb8^_Ri)VPFxJHE!lktqC(Kdr*^^*6R=LBw&Rd=Ca8 z(74rr;)L#HJV-qUzjoe9E#J%ppRgEgmHH0 zRJ?zY#(A_lj55xm|HBY%6nqISVvNjpphc`Pneubb7$@@3c-H7b8=*L3mj;sJjS@Pl ze$M#UMo3C9&Z4V>5{;f^5OLlZ(v8L>qi#7cla0H6fxrvKpWUHMim~7fFfSTCV4!W{ zC71?|%f`fWF!YM?NF5kcjX%sran-nu{;ffp@wFXbOgFkvicN+wOpV5CMyEfZ#dYH_ zofpnDs@zay8)qzp+BwDzAz;rnc2mZ6p0Sob>-ok8N=d(Iys-^B6&Qn#p|BMimrTOr zDl&E+2Tif@1SPPP82>CsW2tc~`7>@A$LNi{ZJf3VBxS~>HaMfN+qm!z zfIc)@D2(1?oJ^^JkBnjDJL@%`rsIcw#^1UjzTenyfufI%w#Xi!4H%UQR0oZjKHwiR zZlL79VPi%MK%W>FP!RR0@mV59_L*^AAF!Vr&z}Iyh>=N~!WYI@DZzczn4SlQG2
    1. & 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 E55j>t5dZ)H diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.cyclo b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.cyclo index 623933e..ab20418 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.cyclo +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.cyclo @@ -80,5 +80,6 @@ ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2833:14:CreateBlock 2 ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2850:14:AllocBlock 2 ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2867:13:FreeBlock 1 +../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2919:13:vApplicationStackOverflowHook 1 ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2934:13:vApplicationGetIdleTaskMemory 1 ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2948:13:vApplicationGetTimerTaskMemory 1 diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.d index b68de78..0ec4a68 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h \ @@ -71,6 +72,7 @@ Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o index 51cbee4ccc076574a588cdc9321c1bc00469878d..bc8f6f34a53d60a70cd6019ccceddf7ff3031828 100644 GIT binary patch delta 357109 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

      %(oe4lU#Nnd3u*R`e>>hn*9J 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�=_Nk%ZI?CRbBcRgKg@d zXi#fcPh~>UJ8B*|aqp_oK>Y`O4+hn@=>nxk>MK;1`dBTY1nMF66pFt; zQEPN)hSkZ>0Xd=`7Qr&3>T>!HJyl=Y2*@#YB6(w;sRMn%@VQz=>*KguwH5|CpxHGK zjm<$biBcFHHCz71q?4wy4CZ#$T$_)ci{^{-AnK~gr_A(&nqOl9>89C8X*BMdI@*JH zXy9GNtESP{f!ZO>L3#naGza$q;jm`+DxiC7Lg}n@MB~W=o{wgw1t3Q?3r4`m*QUAK zg3)7|`E*3}(|F1uu)k&r88|?*fgDDGnyX}y8xpi8Qz&_-LYG|eq~_UW2% ziZW+t-luZ0OwGUK`OnfkB+o~-CXnt~&Cz@~2#{ROBHH)nX^gEHyrkJct53dW%S!xM zE^89T!Kpwqi^AE3nxz$(E7JV78;puIzUx4`L{mktZ>eU-6&nmyra5&3;+JbU^tdWC z6DT%PsX0Sg09Q0G)qu=ZP2e8TuG0KQ>3-Fkcs?H54NcjvAXB6HqXNRzYW&kdyH4Xm zevEpJ!%jfn)O0RIuR-(X5kNL-6!bSNO`2u&-rmv-e@ypZ-`3bqgH4(>Lv*}p(fpDG z&{oaxb}($y?4ld%+cldufy^DvH#;EAUCsBu1EfPUqZ&=8=1nRPxud?T6-{{zUVrgRTDJ=MG>1>Z4EtqNj4 z)9f*#d9K;t48G%?T*hu%~dO= zOJxpfC;9-@VvFP$wun5)GOo!NE+B034JFcBbU&<3&C-OjqYj?$gVT9IKg1M90DgSK_ zwO^!w!zpbT9Y3SAlYRi{Xsu1{3=w0rTPP(kRvSTe_oua&C>DA~`}$mn7N>2XXnwpl zkG>}fTG1wmpQ!!#bu?$S$0-H>oc23^us^TOBFFXxt>8V_>7urR(gsqrx-S8es+IVI zZ<_XpA@EDr3Pu2uq4l$E0qsn!?F716T5rm6$=0^5f!sM-ffjYX|5(DAD?@1cy@XJHfy!(`Jle zuw45CH5J-rhiLy)O$kU{S3#J3)#Y z+E2V;iyCbl?Wt?E7o&hsr@ccb>w2x%Uzoe8eNK6l4cg6AXVR$s_gBcv*RGAn;2rIQJFwne?bSUX)1f_2 zDKec}K|9FY)6OzL?EBieKSGKw?We23uvGyX)tq&^oWa*cS5MAoSKSLOAahVR=>oKH)6FF(u)FSEy41o$x0@~)@YJoK z3xy8p0;v|+OZN{sP7do_rh%ciZU%*0kLW@e0P)e~c?0CAZuSwd_tkx=1F>Ve=5RCt zHr?A~j6mH63K9hA{%3%q!Mcr<9UY=u_%Eag)xDn!BZTQ3H-N=)-F*u8oY3k12B&b{ zF8U{f2wh7EAW!PHkb5Cg_wX}-oYI{l-)NLB^e%eQx@0=9#^|!M02!;BLr&b&I@|p# zko1i1HkB&H>E_Vopz*rxzkzmwZd3?riMnR^sqN0{>L^R&obK0ph<0B03uVt<(7910 zIZ4+}>r}EXdnPozsB3*4gDJXNE{LV-Dj49DrVDX~py|4;6yeX%O(kJ6b>G>@7oDZs zNCwWBV@{>w*Mg|y`>Ry@yDrLI6`(eCtT{x4Dlm6l_v0DpRIQWH5%Y#_IVFkI=(5_uqE@$>N?_`A?a@G}*R8t< z)o$t{9%8OR7gLDAM%@g`{cX|>%c18j-9B1`ZtG?)gMpfLYZue~*Dbmyn?STxr&WSs zn{M?uK-+a6lHc}@Zk{iiySjQhoOS4UchKw9O`Z&y?&(4u!2Z6j>;*9F(*02nJ9X=r zGO*~;y-(+;UY+twNYSUuq~xQ19q(i4`9LS4tJNOrLQoNHvm4Nr&47r5x*ZHi@ksX~ z2ecpSR@Gu~NXMY~?uhQb3)qk9A}RFzRQHIo1;=z>aM63F`_n!x$6J>3xb3CTKZoEH~sP;Xy~q= zO;z|F`VW4C7M}X6EU-VMpHB{EFa5WHU~yQ#*^HjIzJm@lNA$gP*MpBf`*-{yt{+Q+Femh$v(bd>2ebf*(98Y?-;?@dl#3Use}OU}PwC$qg@#f3 z(P0pa)=wgH$LNo&2g6wXNlI=$tv^UPhdb1~B;`QT{Vw0f1{RNsty@9-o zXZ2Ge(45o1OYh%#{i#eSb3s2$O_F}rO$;XMQ`O*mQGe@mNRgsnF@`2p|AiJ*()4$n zKssF?K#t1{{kmXCpQ#sp0MWAaoi_TOWb2iCfRUpY>;Sb~{ZB|tw9C`y+<_4<=|3bV zR=)o4SD@%+eNr6kRG^=C5$p@~5dy^=beVn^r8$-B z_tB2ALjV0MAYG|{I0vF#(aYQD{ky8Kn}KeXKA0kg*YvN&pm$yW;Z_J!t>5$($lTDs zNRf^jedd4hH2r4@U|*-N+y#(&{oG&BYt%oWvuu-IoelQ4^s^}7aa*634JDfO4ID_( zqR*o;_*VUi|AAPWzPOR@UuxHP(B|}xK83ChyQ?>-&~)hEq%8kVeH88N@9D=!LG-@f zm+rLb(jPZK(QdtzZdmNmo9=;AuRf8gw)*r{Y&8A)#a>|XKyNO=+(UiVpI|?rUl)S8 zLH*C^zkmk4nm73`ldkihV`5^U^t>zGJrp-A9xJ2J=MQTZjCYh zOCFHvnLcV6qn}{iPvC%Ix-0M;44wVp%J(!Nsuf zRfy(lctQ~!+d;$Ro6yP4@CWUU-3=vjF!V6I6b%tQ4O=PDdB~7S8hRP>eu4E48^-^E zpx%b!b1={mL-qoI_!y$d198;gNg%$4REi59GfcSwDt-nnRa^TTTqb}@fFbimun#o& zuLekv&F~AA90VI0)u0w)h!TKIs3D0mn8OS%V`z>WZw3rB%>#;~6};c*6= zVHt#qH@sC0BP1Ah-^661;R#ijpEVddA@@1Mx0D%s-tZnp`Y#w(O~+i4;k$3pBpVXO zF?Z3BMXOJWA^j}~lWLgz7`mhx+;)L|y1^j?95M`VU56CehG*X3n`4L>g7&$FaN8yr zBhSDrL37FQ@FR@o8~R(I;bp_Zzd)_PFrT(wg@!Onmnbp_Uk2Y|LnU3kP-19o1!SpV zJs-5o3;}f1D>t~&!M?)q8x?|A8ZME0`-&l+$~3PUmVF4(sth_R2fAkXoJse;TsOGh z#ALN$#ZpkaVaTPjj~c_J!{AhFFb@Kw&Y+=d%6sVe*xcaLz5eNJqCs^=6Vgw=fP@yhB@y+ z(SF0{N6~v=i24>(9vUL%LZt!2vQywNXox-z(HY-M-9`oAo|pB(G^6;4BMwb(PxG%+9y0W%%f!Eal`DJm^)xx-3B}d z<8KQ=#nHHiVqQ*0kB8_v8|9y3&c*0XnHa7{Upki@G~S>xO`Dr>{bb;~8^acZnun1~ zUoKDM{RY_Ukntu(i@l6n=qrBMsHc;$w~;>)Y9BEwM$z~fz3ISs)Hs#_C47ySQh{*H zcz+bc{ET6Fkiy@1Q3}Wa<1ugW4K#i?2arL=S@S_N*k-i*0&R$~EgUeR#?1%OJ7KJe z0jF?dm>#qvjDIf!nUluIX=F#(0Xn zZE?o4&oLNpEczS5BpWZi4TOtE8J$;Cj2krQr5bHtQTk4raW;Lq(v36T!DxnY62;*% zjq`L6ILnwqr_gNUlD(joW1MjeAi2i3IOydW@6*TWl5yWHST^7Ia6V{XHWn?!T!GOv z4D>={SPXha#_5#UP;C63Zb>LH9;WbNsWIO62ih{@`6x8y#;E5|w8A)(f&`VuTcMEq zijhxu|6DZ&(MhJtxW<6NYsN?4L8j}*z$w71HtH`!rW?jI`mEF#EtSx|*0_wkUUkNk zv<0d+I==$Qo5p?j!J)yJVS?6;#x=93{(eZv`z&J)980B9>--kw~J6H@DUCAx+*f{$! zdP7FjeKb#utv`d>urc=@*pC?Jp8(#d(MXY~r^ZqSG#oQV(=qUwv2qI_pBrl_O=8@b zNXhmGOmQnQ=U`eell-5KrdbnUQYX_wN|$gpNj%ZGm~!Yu?`le-`iX<4k15FJW{UkD z?A=ZJ@1UB8=~wz=4^PuO6ns5ol2H8I%hb{i7Kcr`kDbP{7iB5pW1<@J)7~If=qYhXo5}V#b`oINpC~^P*dwa=!Kb@ z{sO{rQyi^DCrmT0V=mmZiCm6_SKZIzprjFT= z;BA;yc+Qk~94yY8Vv{g< z!L)_^%t@w#6=0Zbn)D}xxoCPE2BIk@4!seT?-2b5|Ff~%nN1&aSj2b(lqf8aJXW6Ckgznnxx+Vq{`G} z`xt6pGkx?GV6L0~c>@?VrkGFAt2KQ=(ZD*G6d?7cOY4Dn(=<+wmj+YxAvBGq|51pr z$+UnD{kKd`MC0shzyWPfXK_Ky%o%t(p9vBc|`qz_O#J z<5Xt$)U=XvtjA12bSQjg%3BG<=cdqDV2qp2F2mdbbKWG-b};AChRD%eL3c_ynQ!cc zFwW*x6j*XGHxV&cb1mJEe9$a?6Xucdo#ozxgD+ zjREGb%P|*d{){|nA!eN(<_a~N$!!#7R#T+#xY@#hwQVQNA5#KKxcO8YCL_$E=U{Qt z+;SBSS~aH!_&fl6D$r{-b+X0WqFy7rrws#6a_hA znM1omAB(jNERI=TUW>-hGU+2g`dcF1VW&XLPFmoCEOXajF4$s6hu9Fy4cZrlTFR&{ zG|b}vH{?BGF;fa~xFxxh>fa+QJNzNVNz3qSP%YBZwF|vdmT$;I6=m5^Udd=nY(1#O zSXfIy=CoxwCC#6)#JGWdoW)8x$B7osUErOy+@b`9bC$II06A~@QHr?>mJzxLCCRc+ z4pSyu&XI5QqUG)}s((+hydI4oO{yh$3rw13iKZny-6Gou&C0gF1zsgEFby@f%4D&1gtdJPDTmczZ6YqI>Ci>BGKK??L1 zOZWu{+G?}h)B>i>a+o%9?G{-)nmd*mVi3J+S@{qc9hQvMcrcxo0?L@VXNjXr9`0Md z{TPE?md%tA-)*Vd32Hr-iU{EKS{|JQ%|1&UEtCD04%+lQu&8Mb8?Y1=0%XuKm8w1- zS#0$L`q<)W1GOQ`TmzoL6AQNvQjAy*P>Ri{#cMbCKDAt^K<~Nbjkm#m+)_!)#{ugu zHt-y*`Sb;Fw62{8JSS@%y?D;nNmM%HVy&f(y{mN&?Vb->FUf%CW?e!dGk5Dv8%04q ztd?}Zcv?46vd1ComZ`w^vgTX{%wg*e`dxWj4@zNKAM0|;Wj|^iC!d|K_2w$|3FXF6c z$3Z3D8omn%iPj(r9Gta!(I2v&vrfGR^dxJ87x0p;KaPUKMQhvy@_(jS-`fDtRO?O! zXs1~#76LTGdSMY@GOe2ufS+Y`#$6G1+1AoZ;OAH)?a|~~Ybew7l651M<>Xu62>{+@ z>zZ3=3amF=Aw{8e%?k92tbVkCE3u|T0YOM}0{GX%i46m|iqKXtn zLB)b#7e!HQxxM$^5d{@cL`AV8iipAur1u61350}@N_r=iKoUv{sXz+p1yTu+LPCJ= z%=c@a-JLlzyKmc_ncWwft~fkJZkQ&Ah(HWNv%^)|%-iCSF$jTHhrjDUt~#uXL_gac zj+0lv-C=nIQ0yHJ4MqrdI{ZM3_b!KW`qXthyxD=q9)~VEVy)L6x{Y; z++B;3C&T{nAke%S+ipXJ4`Y_{6?_>EHjGmQfJHQxO z1ki(wTsoXHgi%2;%|na@Uqc|2kxK6MBaGmi=x;b*9Oavp$9W0TI>*TLJ z#(2+8OPDA|`J<>k&e)Vlw>%@A<~}iuPj;dd%h-^Kwm3!*?Q)A}?41WI5*UBTFlr|l z8P3p@$jAu66-i>;pc^8YvG6oBr7+w#qAiuNj0w}y7=IrGSUO`KZG+EX{6TMsOh!p9 z<-cSxAstCmBmuVSw@&%RYcaKEqpr&J-}d`wgU!A))nd z5ra2?wqnM-bdXbwjkKGggmHq-06EQgtP7ZD7_RZ?L@A?`T#aQ6aW_mWXRQ2?)_-Ri zH#AUjj`1%Y^>UuEkS5HPj4wY!f2$bl$-iCA_;d>ly~xP_5N$OK5Bj*(GO9zsQpc#N z0(L#)cZz;CFnrGfyOH5>9{s(|vC@1Wmn+ z2->dP$B3e<)z65dw4ZAXkvA}}GcHq>#sFi!E5>4w;n4uFAx2FLx?~?_WYR-D!no~- zD>KU2{4ykNFuW)TI>uPpgwjohlny<=#h63Wl-rDJRtStUz9h%V6l0bm{dX8E=w6*> zETbf^8Ad$06Ynw%`=D@^@xBF}xW~x&8XE31l(b-cz!=&KXh%CUxDXQinC`UEe?Rm5 zNsN~hb6YrwGjlCDv0RwP$P?$vWb-iUZp_2<>UU=f>8s|!{J0Jo?h4+ z!BkP)Ba-R23vI`kjOU;}idk?0EXSE2{D8J-W{sT-Gh&z#Y+%PSHT305VA>jB#R=wI zn&Kuh{b@0q#Jv3rY)WSCiGyGYQ-2TYQ<)E*21^?AQ65;*nfO^X9xkTG37DP9{Hp^f zSxoanuw*lhG*!%D?pq0x%REER$Vuj8s~zg|nA~E>=QBqVQ7T}{X^mLOy!8_dE@JZk zzk!zdUmk|^6tf^1*d@%SVt}4zI#MRp8Rh{>7A|F88$qdz`Qv+FDQC{-pmdh0UIegn z%v}^1I?wENhJ_cH0kmzuf*HG$@~Mb3UQfFjW-gs%1vf zGgim+B0qCI(|8904a^Z6deO-I#0V9am^v}WxrsSZ2F_-tjuKy5n6EW~vy~Y^@1m>B zebFejF~^?-W;;_jM)@xt%mO+*vXi-_8+LawzhgjeH}k)PFs6t3_Ok%(W$vIOX8M@> z4gs{EdC7{Ay~aFBci?qqC*{cwFyGn-GRS<1P8}Fx*3yZe!^|6$ZZyK&u@Z8l%VKZ@cmarjXnC z4l{vNOf%>C0DFe%x*eQ%ndW&Qv&>WU9Nc48uLR3|=KLV^RrSz+{aIJ34>$j*gzy$*J}vbMEA-i^iC0Z>oYs)tbN#oF~EB)nNKl1s{m z#iWUxFRRc9>-|{Y(rVwI<-`I@0P7lgHv(C){*Vh|IdgHf53t^%($S?j%<3fv*Ado}bYgZmE2a*V~M;As@A#flytXQk0)ie?>t9C~9|vA3WwmR0=~D&tr+?D@B3)so5e3~JousR+COe(8^vf$EKRgVKEo#jtS7a1(R6?!vS zSLyWNEY{#JC}p$O9l-$QuzoKFXD(}EHM(??)$%7W^H?baUC1h(4@E_+(Mn34EM|q0 z3;h(!?HEW2>o{$;In7%51k|5lwb4KCN?Bs+S{ZAj9`=^An%EeNv#hBnpzs{)>^+!v zp7l-x$OYD{2`Ck;momXp$x{D{-dC}H(W6w&YN3_lMOHWMF|T2T^^^almbL8+G}W;( zuffuK*2|QD(!l!fWmwV3njZ)YFR`{YLH;spJ0-eaVQr)+WD_fBInbI}QC%P{tk*w+ zF|DjQ;Xt{{N}vE~8|$gH5NK!BlNYFi#q0uDCoBCekS^Br|G$6Ttg;ed_ps*u2fe*4 zvnLGhW3{khVn6EzilSU&NhsyyI_sHQ7&^pyCLX0>)+~M8Mp&PE0(+FTa2-Hzuujs6 zJYy{HlW4oiGSKwq7VF37fpVMGPqVslRt{xiOt8F{!!-LO>)VTHoMI)>(&rBA4SJzZ zvpVMiZHD#Ni@30NS*9=0Hp{Y5VCf!9p9SpuEGx}zAFw92K){i0CI|68wu#K%&#s{D zF;46%FUUEwgWEw|*b(nQ&XwIxyEoj}YVw4;+u3UaKt0$j@|JtDb6y6k7kfMlc6+lO z3t@#1`_)g-=F6TA1My>v>6jmXHjjR`9KbH2^wU80jz`d^Aa>6*}tpf`!l zqhpwo*+pu!rLf8Mu{HK{kWXhnLKB4y_HW)WDwBQXKIF65ZSTSSZ1y{} z%VQP5P(zE=ivihVH$3QO1@k#FWS zJ5_}NI>UaQX0fI0#J$i^#@?So^UrhakLg2yp8b9-8ZWTxy@6K2wtWtXN_Oi4XsTkD z(NeFP{dXOVxyTlIpcgf4K7|_U*_V8wqJh1bE=42TgO)y**vBa~=Q2BV3!tyCe+&gm zGkYIg9`jn*HWvuAvNXm{CToiOblJK;-+-)H-(VZ{S>?9V7Ua$-Ya{XWiP%OSp>lQ#)WXU^}fxOOfa zpKMs+%Gv!ZIPLD7U6jY^!Fg^AE|(|gJ-U&7I2p8S%$Jjx1qnaSJN_v7bCkn?3E*5+ zp)!zjI3ATjoW!GmIlu`YguMqj7E&L=*-n?@5GVc}u!M3rjmJcsixZI;R9jD*6plN|e& z6>E8&}8cyt0^rDt?RtXh#oV}DhQO{W&g;E3Okv1r7;HJcZH6IH6C#(3_l}*2DT+oLj4D{&|}-M&Xlj&fgCM zbb^yfIY^V7t8$d4IIog_`VMFDd{{Bf`J67^4Cm5m=)KE%hbCLIoGx0N-Q&C!0?zxK zCA16b0p}iVGjrrxY4Wj;TR=Pe_jAK(BIU$=l8KTlH*YCDe{S4T4q)85?c}`n;BKcJ z3Qz6;{bb0CoAoI4dUJPEB+G|uqba#BcLyD8;KxlPFS|cCyBnnd?(>wcet;V+f@uf2 z#Tx(?%>6L}B$Ru)271G|Su_zl%zaIQ(h;uwEC$FP&Mhne&r$AtT9HI>^Ax_$*?GPr(TK+ELD zRDdUo+dxOfWOLVwP|D$MXa-s?cR>kCC%MnLW1RB1->!jpK6kSkr2_62avc2cUr#tpp;)^hH3nnIoB z&WVPmbKF;H|3d}$a2_;Oa({RVqh7^rISc+M2_+RxkA41=9`O|%quY>4pr=_TX zKX17&x*fnXl!G&nSNZ9qc>aQTcgg8}fY(pCQ^CC2D)5Bx`p&}cL%b^#pAF?@Qht0G zua~wq9_AG!1M~b*djT(jmZ*ii+kwzj#GCyO{VnF*UIEZkyv=JNQOZl8lSs;V%jnRAa$XmC zn9lNS1%NrnlZ-*(dERT6pyC4W$5SX(@Fr^@P|5p%_WD%uf@pnE&09c$p<3Ren~6Y?pX@Y1VO>x9A59_Z8lzn;7RNUOerfYv$cg1ZWFy zdI~*k<9+cn+S++5Xe!ddySE&qllS5i!0zImB9C%6FK`a*?cqK80Ht2u)E>z7@g^u= zyq{-ZNc)ej@ea_Td4s&PpU^nOI~ReD4)f;H;R7SQQrgWs%5$VF{~J87B_Lxw{$gml z$$RY!78}eX}2>XYJD^ke-_i#@l^@{@y&3#Y35?0)m;FKeZ?pLB zO_0y#U!nx19R7{B!J5mTOTqP%eEnglFW|p^843&e=V=E(5&wZ3%r53T%mvFS{&5Oj zmGIwKfN?72?;8bn8UG=An#%b>koOb(NX{gGK^gJ-H3cg$q z`D22XK4^*(lu+pTxS*L5^r8hDGSIacLEWdoju%9~1%U)X@qU1v5Nx3h6N!S3^8iZ{ z7$`EDEXXLskfaE{Sb=V*3jSIPmNdbxZhHRG1>$ftW(W$$U`3|jM_LPK2{wem(riII zoyC|Vunf>sAsA4C<)omt1lW0kO%ibC3vSZ!qXmNNl!H_#XgLpoBEemn(-sRFw?gie z;M5K1EfKWSks7B3k9`R7GlI0WbpBwep#Mh{%LHFieqy=6KngDi790awg}_9q)|G-! zcc7zH0wX!ws|9nr0drB{Njqt31Ws0P)(V0t@1{<`dKG=C7lhKzfd;`(b5YqS*tZgf zUJ~s00`z5pQGm)Tf`L#v|D{Rr%n|gdS+I)U@-2erD7Mim_^A}+s^IOrkZ2RUz72ZY z1_1_b$+75yHcEMMaE%iWLN5*rLn+RB zL^$#uD#L|O(CqA}@QHUJ5Fxxna#6yy)v)5Yu%9Mk(Lx<9Yhr}4FG69gFd`VGIAKgC zP~wI4c5-(m2oq?V%L!rF1&mjsa1KpZl7w;bkWUu+nb4LZ?DNFvr3#mPhEkgFS8_0C z3RjX>B}=F~4`Z^04Mu?F2zg={nkyWM0y!!CmBLzi!c}oD$xq%##w~TKbXRX(9VXw4D*YO-t%h;Y;~oDHEy!puSw#`YH@P zD-^bYoD;V1Mca9y+qY17K^Q|1Y=tm85N1~kcTgbfqR{Ud$khlVD1ob1xYFT~H}J>^ z`a zx*G!R!oIn{?hras5>Kb_z{k+rB@DsA+w*#bp$j0_C){0xQSTQvI0E{ba8?GC>%!kY zhuH(d1=SesL7{|ZIYUCvHvl~>TuSb-5#bd(eVj&xMHEN4A#6GcL&tAT)`YO)E>uhkmr$zNlrV=Tm3M?b3t{23@HXwonGueCfXchV za|#ID7k)7cum{3(^cXmb&eFk-`$P@>v`pVG3TlCbljtGx?YN4H&ZAFmA{(WFx{HQt z0OKJNyb4ZFk+2QKOEmQl?DZBsHw8H#(esaj_=3Cn1kO0ehxr4WaR=4?i7nCLAEb{!UtP-Nza=o1QyMTj0U zKrm8NN}l0kqP65_juKsQL@$nu_Rzs)(IUSLkQmX&Wn&^8M@T7~1MxY`?G-o|nGeuiy%Uzae z@n7hDwkVDg19L=Rfs13fQm{{ej)l>CE{^WiQJtlPG}?c&a*%UMcZb7V$42F)2o?8N&CPX!>05&Q5nes2EL?3+tfjc4z18viyn5_Vt z5j}0s1lnEE#-(7L745x-F}Wwo$cOs-qR*e8heZ74YDnxC+nz<6llZ_F=##T}{eG~x zh{O13a}}SabOjG_!dVD-iq}zG*Gt@Y5N+P#WD8955vS6=KVNYGEpYwBanE9a{KbCV zcCZGBw@}z7Q0zeA@F4NWG|xC7{_lIR9ux<>jkaKMPZKIb#AAO#;E;IP5J;#v^dwlq z#7VbdeYp4;4Ootf;}&B`BE-e?G)0P&ilFJ3m`NY_DDh%F2I084)sE4Q7Be=}F?BIw z>{P@fBi>p8O>yFnIS`B&`_Y>`L41&MT2F}2>;Xv>_umJ0l6d$dbTnD)O_T5x@keJN zo-TgM1uPljd6brwDYnq-IZK>FE{ANfTM}4u#AQLi%oT6`3&V9%oEbsCiOUmrYywQa z_*ZY3Um$+$08A_tM=-%!Bwn)#pvB_lv1hdfbPF763}-m~JTDPD3;d^ZsS=f%PFuCEk_(}c51%-ab}d$ss-H0VXKU>c-G z{PGo$T5%8EdUfJQDc`4F{5_p;+8{POjJ8Ix2PN8F5)XY2a#{S|CJg=+@hcjzG>MkN;BffKW^X2l07AM$}XhXO2)lHR*O*(dR!gCq7! zwnd}ONn&I`p|hlcHk7$Z2ExJVE{Q(?;vwm=PomaSvhp)vdr2N~hf&^=eDWarNHY0A z^OfAAHIJXfMln=>$-5kI21tIRjL$#`m-23cBr|`39FXX~fx?55-zm-+EcxdgP(mb3 z3G6*2S^5VQ9hUTyJN}3y(+eo!l7%nRC>)i1;0H|+k|a8`;F#n(WfVq9ZctF-xFjF| zEYXr>ly@2Vvf8ZOkQOP(KwX_=B`2KxSGNn-n;FkA8qWz*zHUZTy6xe__;RLYYaJ^~f_lB4^; zQXsiaq31%$)^$)(B#EQ52~SCU8h~9Q37Cg&pO$pRgY%5!F6})jm3%|tv~r0L{VnIL zB%2=QbCNE42cDNCV6tPMcR}*6EA&=MW+{$dC2^WUzKNfIB4$|lLD&0uMk%!)8TEfPL0tXn1dv_8Ko8RWx? zHc9Lz2((Miok7XoAqgO#MW%;%cbxk#v#EqgV2MEV|Yw$ry)3zr>ezT3nZ0 zS_bn6BwBZH4oX_mAU7mg@g_74OOgu!IwI+!SMUvqM+8b^l2_=@7B?kR6ra5%8D0hp zZ%c-8NG8$*C8u_yc2c5U1r<{g7Uk4UOTHqv#EhhvW}J5=?^2NLp5$QxO7|u04^Vm_ ziCK%1qx4_edACp6LR(h%OaD3zD_o=#q}NrNMqWub=}y|1;x66W0Ra!`2U4_oN~dVi z?j^N9%0@@MrCqcH@sUnaaL!kHnxgrBQtwQd=r0|1Kz{?I4x!K+C^fwSmLTa*>3}&P z{musK4@$$PPzsjr`Wt44NC)SjbV$00P(q~#tw0HrhESOHu(Xc;Wq3py-3z&J=_dOe z@Enz<(nlsj+EN3aNNGYl6dsedk>@{3T26-nA4h~7oYB%n&w|8AM<~}hR{H9vfQgej z(pKhp>57lRnILtijbSIGF~4F&6Qz&71d=4(u?*vsEWJ;eBPr5iSCmqv?=?_%a+)-d z4nj$nO1}q8hLqC_>`duQ7ltHDx@`)>mMvXDk<}dOUP=(kmFCb}AYZDj16qMJ>>>;; zl$O#ti$&76zecH8YB~azQ_?tEJCsO2jzQ&VX#`D0&PX$ELPM$a#a2p_FOw?iyti^` z3vJOoD}9x=-kg&P=%ssJ`YgFRFGyEX0%e8t?tOHvQku0GM*mFCiJ z%X;Yn3LG>@t(1|}D9xmJ<7Me9KcSyjq)VOwX_98SL4C8d@f|v*u0^U@fNr-+v*=*R zt5OvUy=arhlELlL-OE8bq?_vj(9tspVd+a0A+(Q3)4u>6mFnh#=Z18OhhB_H zRg2K4n^NWjVBeBn*ba%?(%?5?_qa5N_We#sms1w_q_ndXHcd$lC=ONzAv5KkG2QWc z%AEaCa+AH!hM>Fb^*12sDXXF#9$vCNlp)|PbEg2fkL(`BQha5n$kFO2`(QWp`pdd# z{T3h#T?5WQ*&qdm4$9770(7wKYdQlUL}uTc1c^hkj?cgoDq|f*pTcC1lk4EH>|!8T zkI3eJi^_1BhO$VH%7*FMN67xBsCJ}m+R=rk7ZTtmhkO%9M3FKvR~Cy9ed47f~?UU*Pudnk#f;1WzoOE!YbJw+PPCLE2onxF3LJ+ zD@cv(t*4=(RyIZl>(t4<=hO37FS9wJqYbhSdZRYVc6venitHqv|I#GeLQ&UdSvW1u zT4bN-Fr=-rowRT1s%%*(u-jz4X|TRs_BcHi9kMh!^r}-fFb=sc*-NzO=$6&(KwFP& z9i^-H%IxzY-Y2_^1F`J$`ei#kVbnDli#9l4mwicVtpV9z3&AreOE`*4F(kW3r~VJi z2FSD#nRW>TMr9!s?ztgreF~ssvQw05a#JRxgqd;K5;~)7LiW*C%SCRfn$pHcF-Ezoyd{+J5J zM9b|KiXF$uBL~r$SozSmkdKpR(tgKyxk>@`3Gz38LMch!bQluJ@+cQ@rpV7c3(i#e z{mUR}@*H{^)8*wz{G68|uckb(Ot~A)Rv3y!;yq$6b)Gp#x4Um>bF_85M!szm1Z(9!^i&{dK6nCcpm=u&>Ks-T{FDdGXKa{h<7t-_bTC|AwY8 z!}3m=N{q;N)8DE_Qkwjo} z66CBR>lvuOpb(Jnu0nB_R-u)OWfuWcrO@8N!%?l!(xTy_;-wyxY81A&F+jBnQ4s{{ z6kX&cs8_s3NmdOC4egL>RMdQk-d|EYVc!gemlX~l!r&{4bTj0e6z+7eL9-%^oP8|{ z1|`L`D!!);OIH;swEwnE;Ywblc10CUJ~|YuIp|EMB6t)EyA+lKsO(m#C_>VsSXF>= z>QyX%1(kh@wk=T9uV@?sxu)10N!!G(D?X&WssTlR8Sa)rMf42_4k=7Fl!g^;v9Mx9 z(QCpWj4E8nae7118jc>0DHH)&H&E!I{FA!vsoY5(S}*0F zI<$E!>nY8_M|lJ@8T&k6`}^D%B(%EoYRbAwDOBfP#B~9Hw$R7%9sGi$0?6gLLy!nLB|;- zD03VEb3!S26viYfKY15&Ny^8%B5Y9OI4Q8MvXM3g8WVC%CAlXIzzdY z&V9*LuBSUN%dQOk0fO1eXK7WKqm23wcWJJ&tPU_Il`geVn5QgA1x&v3b_rMtlnL}{ zFI3Kt(1ouN+W7?**kZWf@l}*V22vQn}Crq)K`74$!KVjbDM~qVjd} ziqt5Rn;}=Lj3!@yoids7`|6c{P`IW+X-z|0qteG67G6?z{|vdyN}nuPctx517BHKX zf7mIC*{p0l2NPSA+|5)5-|}N;AscwI+SzVgX?lqT^&SxK)g zM^)r2ux+0z-4T}VS2a_blap#e2#B+aM==o>RUgHyTvguBL7|&!KIKols}|7X;Guey zCd!_wuXmx+OBG9-7`;`Q^k(u=eMCoc_^J#v!}U}BVg>P6#WvA4l>pV6T|f&|SzI6( zq>7;l$^q2@N@qE!+D;SRVAT!*U_w+6Q^w{Y)xj*Zg{oeN180~jtsmAOR^@z)J{?uf zqde#c)meJ}B2}$ISbt3Q_Ci!fsoE)t^|~<+T&FH_`Nsp9E9m#zBu zFR%9E;J$#syYnp}trldlSS6<`H+RSj*WE>ww@<7yYF!oy%xv1-x< z{XM06jGm(s)g9Wzcv@9YKQBF_`toa_m8!Z9Vi3wyZ(oL{a@8&&$XV5&eP}zUTD%B) z&#Ow-V1O>D*wnKM)pMUfyi(Qj2*9dT$DB~AR@raU{;-Rx#k0^`qpG54My=|`JE*Kv z&G`_dUNuz?OB+;9pMf;0ey8`vCDmve6kb++L4$Zj<(dXfO)66qNV95vKS+xzi{>D$ zss+_xxvJ9r2AkScArxn6SADYx!_}d>WUm5Grz)R*fZ3&b_IZ@LRmWR!fqGQ)YEbG` z71ETxPxUhW7r9@xhkVf2R4d$J=yg>)Er|zIr|4kgL6!R!Xc|)OqBQDZ)oY~~yb;wr ziYAPzem0=(rYeE9x7$FjCPf-b4Fw+|`d=2akvPlVfR*)i&1|@|KN^QySxAmaq2DU zurOY|=S#38s3+&bLi-8zYI5Bts&(W#Oj2((WAu{MeL2vZqJEn4<5Sh^zlD67ns0*M zbhU^Qbu!dRMy+{ zSE-j6L8{gN{tAT`)kT5etWg(IoU~S5OWV`x)E0Va)~g?(4|Rk3j~CIwM)gB-jLao< z=VqwCthO_CsJ)`DeHGYE>KDny+N`cEMX5#29)+c?>I)Q1xvFk21ZSIi{#@KU?dm>? ze0QkJOHk@mXR?6SrCv zjH^GP6p9ITZUZ@_*h_ zr~ZZFeRb*2C_PX=OJ{UCYTls_?mkVB2nzRWCe={rq;VntwzKA96$aQvv-?SKx@r9*#0$+_Hoz{PTn%%TX zCs30~xuHRtfGN4cXbab* z)7<5#rZWa@5t=RJvy0TcOOdx@nr~@WLX<{K=LH|vOy0zBMQf(NqGKXsG+$kS`LP=J z4*(OVd6Nyh<2A+;s7%nLDN%Vs^Vbqsk*IMyj<&FkNRwMrvj2<&Q2QYK0l zHPx?y)M!3A1+-etkCee*r+Jj7SM{1A%BpP8d_;FiqlP0v+a-CO><=d#II|9rO4=jriZo`4r+GL ze0fNd=mLRZ4UZnf5slYBAfuY~OCWwjv)jH4){JTD)4_UE^YS4Wb4zoT(i?AUDt`s* zq{fYQhfisCE5Lb2Bc^LOt?3AX{EX%ld8_Yg9*c+Bvzp)N?8$o?8>Rf;*PKcR=L60A z)ZhKu#pHH!(k5;Li?jCfXTWsPuGiBF*;VT}0=;h9@4rW*yLQe!44a4c2g-N#)PDT{ zR(NUet-yHsYQIYbr=NBv7k%>A3f6)%KpS5U&Oq(<-LNT0d-VZOg0)NKfDX~l-42#R z+IKg?io@ESbbQ(oZ6yU(!?o+L(=i2++JkhL9n-%58%UHk<^LWrZO{hjjnz8xpfFCW zq-gI6?Q%0%614>{K|VwlwXVHPD-`ef>?8vb2?SuV!mkP+T`h>mCh( zJnilqFeYC+m(HCi&>qBU!9K58`xf0-r?g3d=tYV4!3GR|sW$&Q%rDda@;z9~wQuWi zea~xu$Oh*H?dx8^uFxKR0;F2IghC@1wU5(S)M&k)0870#?<15NwC;3ZZ=<&ELv-Sb z_NWq8G-(Tpb+QGwgvuR^9(Ke(Fnnr0@`%MMpMzpdKs2|fVB5&qR?T%oWc1xQ@)7J@Y5bdd$ z)W-Zj(x+{ptr0VJZGAOB_v>Dv)tQqnmWf(t-H#MmbRQ;h+|PgnE_Q2cdocVjF9bl*3l+d;aOME4sDLwZOTHG;}eowNyPVYAyW5{4ZT06V=O}{O4mlKh2uJ$Fo?IUu9ecUm?Fy(*(uGlsFIlIjn01P-i6YRcx;uY@GfgMj zgi@w%Ep0r?(rx|%DzbIu2S9RkdwpP9uCC^570BuRtXvoS zEfk*B%_gCAPWOofrSrOP*&r8mDI{K@Ghad{Ds|pwh*#-s3Nu~Nt>mH;O}Zs{ zKxx)JWkF?&&i4#Ro9?ND5NOvuybyXjbpE?A>YchvDztU!p2h(T_Icg9JX)^z=oV0b zr&sr$8fbmGMb}X3*9kee2G?{u$@_a<_W>P5G@yI70ic7rlAS;s(#@R@&SBjXi-0ns zd&LKBqq;YxPK9LQn)BKpQ1(I09AOSpbZI!rsNpP-c32z@Yl*(3EQXm8OmeZv}v zN9iwz0`s^&ISy^n`e!KLAV%-73Z}*B72Z%AueW!d1WnKf7J=u4zJ-#>6ZNmY0@fsb zRX1Q#^tZ+^da3#`I_ow~Khp=6bp2k6VrJ-9E(OWdyV3U`TOUl{iX8pt--0t&A55S0 zllu1kus2Wt3+2b>>j&I`S*WjEhkLb1|CW6h8jJPM(c1r%{)5L*TcY{Lem9(0A>GF=>O!x!b*MCC(u-- zk5U7(TK{4?OsmnqOw+kq{U-9R*XgA~ia*rrizx5ALBHx0cpCMp41iwJ@1yfUn)HdZ z>$zDkcmTaE`b7#1cdP#NW@x&qx6mWrrVpe8V>^Deh5SW2MHn?dLt`imwfh_LDEU3WP(Vi+1R6SP(HLZ?%Y(!LL-wQS(?P>i^uz@lw$1=F z#4tdwk3)uAw6YF0h@xOcm?3f}$YFz&A_hkcYbdEK-0!De=gQg@E#P#8I-S}E#8n643c0lO#}3V z;c@ycbE0A5JLpX^Jp4WkO*WKgV4PA6cJgSY8WvG-Jk4;5wyC5WxFV1Y!_FOm&NMJw zFqByad+O^D%r$uW3zqm*Ze9Rpgv;n@vPUtn0f2o@F^{!Koo=o1rBQsODNh@XXt(d zZS{sp`lvP-*6%`Fqv1KapDr2x^Maw54Zrfx!7GLff1uQ4SV2pHX2W;iK(5808n=VB z)$kX6I<6XCdH~zn3~eoFY&T5M_O=c~^yjdm)9_*h+PVye#~{#cuttNW$B;rVv0lT+ zH7NBN2EWC~_8a6+fLt>K-9p=SL!vX}1`H2Pf@RP!(~65WWN@G*)3D)?-(z_GMht&G z3eZtQ8Es0sVR($@Fk^;CUW4FG!#qm=zGdjE1L$qT z@-#|bgt(XSADXaw8*{Ir&Bs_t?VN{UO z_bRM7VD$Bb`h&(Ns!$3xUaSF2h%t}i{)ddN^o9vFo}%omBgQ{yn`XGtTY^p;HS+1a z#0X>M9P~cY7_cAKA2W)LP#9(WgU(DiZZy$5JKAWW!vkXMM&8Fz5o??rhKe|275T^G zjoauJNHBh~7ZN9o|B!1b(U?T*izMU6w5~}uK1sJuiZPE|7OBS7-$P-VaXTf}ryI}H zlsv;&*#nkLW5-iq$ucg?fWmC!`imer#_z}}nrpOMHR$$9<6QdS<{8(}wt{?PG6gdW zjFSndEHu7NbG9O5Srb$g8`n}w`zhm8AFxY|Z%~Zyv~k69pq();pMu^}qdP6d%Zx{^ zqO#n`q|N1LjbF@x+&QB)3ee|`M-QRxf^m_(1rim;gjF!H()bol;KJpgh-_c-cHSX)D*WFd)emfMl8IO}Qx82xA_hW~#ftCWD#-o>E zcbBo2yfNLz-`<9NkFlE)1$vEK8reRhe;7us->51Dxn^7?0n2rxdoC~sjJ3GS=M5V7 z{sHJABb!16!^Xjd7`zeVCr9X*$Wh}X^k%$aTyq&bw~SbA<54s2ehFyfMn~FGIbpn8 z2xBIV4!x+HGG-THNbeZ8(n)L6#^pVbn=wXvV@U5BefEK6*63G?wtL2<>p|`t|1F2W z1LK+Xu-DP_?-uCWXG+>c`PchR?@`Fk$+SX@J~^AV-Gf3G(;iB>bTzG@yhb;Zj3%}2 zrrUIWu7_z{0P{UftAhaJWx7IvU2oG~E-HOYHwBRMHGS{~#?a5?LGxaJlOJVS1ekV{ z(=E_cLH^|+(;+(V*M7kCJiXEmnocA@eXwb|2el!l#YM3DkjZZjDnm`3^mn~5({f4& zJ8aqzfB`yUx~GNN;ie4-Q95cGyASLLQ|vDgh&0KJ7_MU`7P;P|OdZLnJZ`!%2oh~N zO0m5d)3f^^5NkIz(6=Vew8jRz<4vLDIY}@L(njGErrR$-VWLS{f!-&XdVRr?Y`QQ7 zg()V-JCIK`J@O8^mS$Q;QH6Aq>td8LOl`9unI_xskjpY{6+uI`>C4j)&oO=cGHl8< zwfqip(qxaLKR)D{7SDn;-z1|A&IP7u@{Samw6q2&GVP&kv|`hM0+pvsY)btvF|AI9 z`qL)!VvsYYm(HTUrKaWOu)fUna}z4dP0OwV^So&w4ssVv`z~RaD@>a=!n8`$8uIg2 zndaMj!CGxPvjcs)XtIVvqQ(^V5*lkwyXIq{>P$i8P^dR$(Ym$4^zR)Q(`Z_%gThOu zbK@AN%ciwQ(RRh;^fWXznVLI6noXZk)=`VeiQL7lCg0aUuA2UIgN8QK-`gS3ZaQqF z_K-6)Ni{OZw{QPU&2AU90kyoq5RGrby3@xPlU z)k$EFn?Bis#tG9uMu1M5PCf-q4@|zlfjFAqrHSi4a}&*b_nY4!O-^R}1rTR*-zsQw zHE*PFfScKyR+{eS51vHH!z_6R#M7)J2c(zTl|11-W;b#c_?i!YMbDp~nMDylf3wG7 zT!R4f?Qg*vWPX-r<_FB*1fg`$>_(n|VDrnn(9saHj~7PfkU7i=ZHLW0PeJ^MdHgTv z4L2_sg-u7zw=P3G!o1ZRa*^gG6sbREPIw%hh%%Sm0n2golhr8MW6blPfcdfJV!FNJ z%&Atu#GAvU;7KssD3{@cdHt8rlw@9T8YJ2L(l@w;Qp|soV=dMExfYyh=6~|gmTo?O z8^fJxE_DT1mN{l4-TCIv-$N=Ik9% zSY$rF2bIO<%*8PAl=&4pKHWdz+mW1dU-uBGN5`6!i{Hw{Ce+}uLPshl(acOUA{ zo7cUFwhQKp9JE!KT`|t{D$PfxVPTayGy^8@-0)tc>bgfN3&sr>IY}*_Mg67V|JIo?Fcu_dxEdd0QPy zZRQ_CA>M8dFaWy497T@6PP4!pq{sY(2q?YgdON+)`^<~z_Utz=rK1g z5|APDBU6wcHs1^Z_K0~Qy;>&BlX4g{X`UMifhqHE6zjfY{+<>j)8fX@1QU~Z+g-F^$}H;Vr`S$4gE;dZv%+7B2POZ7&8x?0vefl7Ca zgmR}mEWYH(@U-Z+fp}RO&!ZRK76v^IzLrr6t@v5|$t&q^>01eb0E_e|T&6$^i$aq@ zmY1BtdC(HR18u<;;j1WxSYnsbF+GPY+sH!|YFVv;-C-8~1=w`NQg9dMhg;^3q3x*U zT}q>gus%40htnfD8Egq?`H^;J%BFMQGEzP%2S}YWp&9k%(fHU9Hza0t-E#Fh-SCQp? za(otB*2y4VVp;0~L+z(6rRgyLjAhG1Fu&YVLP;BEEvd9I^PFYjL+JK-%kU0>Ua;)% z1X_iq(*b>|vi!3QXw??Yx8S^J*-oh+HI}B^u(#GC^+G4=EH?)LU2nOurRKGj9Gg7pyH;*gS=0-EO$piZd>ltn|R!^X%Z?XEY~P2deTx& z4(2J#^ACW1$HMv?oYR)IJi7BOAC#aIvzCu2Qh3jD)fc2?Ja2~X7`W0OYw)Si6 zs133H9EjRO)=csmg$(!W2V ztkVZEmdCAouc9*ATI&RX7;8)$h9uVd*>|ua-Wo6o4GGpH3wn0Ks%Zd9vh`yb`9D*v zDQBTK)q0D(`)SrEDLo|JnnU|wGpujt12ogRt`U`4*57G%mTe8E4|R^!<_Mc|t?#vg z<)pPT2}6=+?I*W>zBQx{rWIIUISnfct$QgtU1aS)2ffACpJ}Oe%G!W*X8XJnC9+D8 z189%+5Peg7t)F%Pv(Kv2!QOsrD7`eVS$}y3oY$>RAA$_nts%67XVB_O-}@nJ2V$c0 zhOHTcFn`4QCJ%!+Y7L~-?+xo5DPYE|J1INlrgiHt&~(e1MxKk?)-1fs=8ap!Sm2zn zT4?PtY0aghm#3|tOVKuCbqa&rU28!A$bDhjUw0NZ(5?grX!=A)lMwuk@k{|vVEy#de=Tir1X+aX(1BL+Xz zmPH?@FxwnDp5(A?2j!TB+lngC-=nre7!A$-1i_5ZOeNd z0x`A~lr2)b8f^jeG+nZNmj;2$ zwg?*hE4J|wKsVXmpeLr;#`&K1A6>O=C6`H?E$uxtw%fQA&F`>vjRLgORwRRbm+i?q z7}ITQDh5lB?cgLxudV+sy4`1+rUgyEZP9X&Yc?|l?ylSZej3IM*q*0M??KzM35{bmfZ^`8eNA(aTecVSQF+_;=PF>2+rFgq z(+S(xP7s*1g?gcK%BH!7(jA+Hq9D_@pyx4MGd8#9K(oM zdEp^|dak)h(I&q&uUtnD{nyN=#ZJH)f0{J}uK6EF*8vvg(S$=YG?7#85)+Nlm|~1E zYD`gM>>87p$o1auKx2y0B!Ak`oAe?b5flX#K>f_78JWJ7@pmGxVj}2WCN; z^Y&)j(U)eQn*uG;?U&N>B*Q-NHZ04uPo}GtW&h_7s9mymr7cRA?Sl+oq0F{lM-zoB z_9F+NRF1uN6ll5j%gNi8XP>klXjko*97iqR{$Cdq#rBotjx4cXcoH_1+K=!shGq7j zeu>6%dsEsGU19%z4H_%$Ln(H2+x`t2{3?58A8wC2`z>tr)!YBNliqp__Dx~vY_#|K z7_|rX?SG?qXwTh?#z*$qq-nFg#kYWYY#&q#v)k+sH9>B>y^algJM81OVSqdBPt!H% zvUi||M$KIJDQN8v(mLTb~@21I8zx}`S=$N`;duKY-e#E|oUYDcx zuask;#_atlX#B!{;coCx+N({$KV=_AG1zJQmr9_8EBo|oKyzb{lS9v)eT}d^*qi9p zaD>hL2@JmMp><&JWBVne@Mj;o0k9zUcddX9W-oa`-@g!c*#JmG*$fI(g|Yu6XV6i0 z#}Cjcoc;D{NQz*uGC^Y`JMj+;LKOQo+Ts+=ZlYa`F>Koo)Q+=lX)F@h&&Ye5$o_Z~ zjVIWTM=(yw?1>*S7AfpEet~Ld*aiOs$ys&;O;Zf%>`&;kP{2O+J!*w)6*)|c*zePv_!`^fD8P!@ zfA)Z(ggrvfRw+A)((B9E3BN$@4ffJ06gLg*UuJ{m7Tbez(ks{>q`>S-_6gd4c$@tb zW%O3D^LB#2n*EtMMAWcfW}~>n_ANnC%l>OUDC^jF=s4SYc3LsSH?XH^an{H#rP%F# zcJY4+nCyoxAbG%kTM4-j*}r@a%tvg)XCHyTnQau0Y74vnHuP>~U#2MJWA=3=OlxDy zY1Q4%9`6BY2m1$_d~~vh=nR4`_CJ&8d%|A26xw&QLv=vuVP6^tN-x`U2?n;0y?hT) z`q?At=o?@^rlsj1dw&naK4t3-#jtRQU3?1{Z#(0M*9XJAVSh1p5H3AzrY5rTF_fUY-iL-^0 z4xKsW^n|-`{-GVHt{nLU#oygHGj#8`b6As5(S!492sk`B8Dj8zaekt?qBrOD+u--% zTq5<4a9UrW=F4%hLZ2UJ$850sbJ%o41aSP%LEk`5CHXpnI6G+d8_da|WSS7p%QVdo ze+HTq&eT`nKf|e&g8wXME@k_k<4iiCFO~CNA^Og9meJ#s z#`%Y4N$H%2Ya#vur;^mZ$XQHjI~klzCfGAME1$snEKXJ&NG@^yam2`6=9HPj&TP&Q zrMVlfaD*ozK9AE!r@CC_Y@p{ppR@ZoXo@&KD>1UyIQ#aYv6y3B0*(?6`zjhsIYZ`P zDB~nnqpzHEaWAaD&Kdm}l5TL~DBgLKGeI7gTbysaA)$h^U@jOcIe$=K=QigW@9G;uz6$7OoJc}NNB4>?Yh5d4S}`W)Ifa|RECy@iuU-m+GX;onlg zJmy@cSw|b^%lklU=X_4Fwhm4L9mv(mdFgEoeivsMeQ=*}KI}x%&6$-3MSD1re}TQ1 z<1!aTA17)8*!`TB>4iGL5tAQski(|i`6*}1D%6H>U2*M)IXt?ZM>y36N+cQOI8#!< z7-u`hS)Xyd=*PdGbAo>U<+hPm!;QP(8T#D0%{1B`+!~ev{GQxk%Cq(2uId4e zH+N+#1p08_=0L?G+`45be7Q09Ao1hg{u3nr+=$B6Ckkc4qp#Z*_7EuJxqCZM9Or)Z8(>aw8!6Cok{e2C5=mSQJ^rV- z-y4DNH1`Y(mnoUsPX3b=?soF|o#DzUN#ray`4s(3>N)NR9T1YrO|?bqdG7shAt{Z! z-W^3c_bKh}xxk&b3z9B!53B-A1~-<%t(jcGe(+^+4_^bxCGI1d#a`yFq@Rq<=3bz0 z@)hoP8eGX7ZXX5SbGa7uGRWhG(s8L*xen`aDGd4CDhdk}aGTAbX(4yrGjtYlw~-I} z8uz`QFo?xm6N)64aF_fFn@YI}D}Y_b&0wIhoO_i{AHL3=CU58s?mzWlzsYT*9e=mD z_h_PA!A;);ovOHrl#)=*RlE!68t$QHu-`FoR}SLB)^gvcFjF0u`x8dJp4&v<&j#*> z1oSm>-QGlTpL;n1lA5@M6lr|GT~9f2kGOBp$zjdhWtUO3aBm7g*~%TBkJ@8ykq5MI z<9_`zbZX~5{|xLM+y;t!baE$GfU=8gsH8y66YdhagS)v&`yjW6Thol9m;2}-lhh^iOw?^4M1<^|He zLm%F8PslyOle~t)msb!?`JaBg9g9);^G5yzM*wdV?Y;`+HRfXwf_S$pfELWlZ-g=- zyhIk13FYPGLyIup=iY!h%3~#?FPvv)0?G&;ONc>;jKyCtWEqUS+dDmxvc7k{PCi+hD3c^5{ z#2cVE=_%eTv}Nuz@4!xoNakHT2$HirUN_j!@!FJNPvyP&KQx}_eR2eyc)gWM~; zd$g-Ihu1>ixLjU3MP&1MQLZ4l%9}q1N%_1t)6rMJd$Sq?RLJ|`4ls*&8|W0MYrIdg zfmzIxXF{x@gf~AJ)ly!LB{<4>Z|R|1Iq!dqVbgV<8O^zF@b>+N;wEo_4b;EITS_mu z3ZC~OU{~_)*Z}4>FXdloU&RyB7pt20HckF(c#jGJeTSDqKj~D1FwT}MjCl9AB1jqd8ZGd^&T&H4@BJOwd6oV6EBIJG7osWD1G%I&v6YJAMq|K zU{f>iNBVW<7T#uZ>a_AwXomfmmrlvmZ9MB$z-;Gv(88^Qr+FE-Kqrr10eRiLADV&E z!!z{5`EAzATS+IN^zjBMKHSesr~IY?-Wm=V2YH#4`TUd@eiW2LydFx=ALbRm4s5Ku z-hgVOygv%iH^uXP8+_BezbRHW!#hgbHk|mcQ3%PI-&_X<7ykEb$aUqXP@a$*zsVp4 zsXPA=r8#-<57VK`p8S)Pvf{;m_7rH|{DeCY@52xBMC}Ow&@AZW$KOEtXa4+;DXlAj zf016nf&4GcFeE|z0ZRQ3;RkgFmse`%a!`L7fJCXOGr2O^H~UkycL0)O5w;7H`ZM3eXv{LewBx=e0>+`^#!v8E2CY|NKL0-jkd}BNGrSfwqWPP5$JDT#(()h=Hkmew6w$|2I2mn9Z-5gorErdb$yF_#aV9 zY%bqEAAEWITeR`^DqsE~^v&mAK8U^oekuiT3i)+3O)289haiL5HU4KCQ7z`*+zO5o ze&QnBJEeTiBQ%!rb8kWYa{kZ%Lc{BPQ_Qr@Zt$1T#kj29?@wTM3%~3mP(J1lQW&s}ueXDU zcK%`7P~FKdwuDYy{JC^k>=Qndj(qOs?>i679=;KM273+sR62dJkN=Fe{rB^0Y1T5x zFC*vZQ~v%m6hr*4SdcWr_a6ZEDF01t+cF#DM+HE{GyckV(fFKS=Z%pa=YKnc#tHr( zYawEiUsD9IDgJ#XNT&JL^$;|}_o1o0lb~n@C@unn5v7H>3i=;IlAGY@Bha`DE>Nbb zhoGD?usj9fkI?5M81Mn(5rOV^Sm7&ZD}%m%f^8Q8<1g5C9wGt+uh91(P|(tWT9Du& zy^?|jr|C%W5W#WsV}uIIjQ|}c_=&uVM+L7MD4rHBh#19?MhG}3KocpjdKX2M;7{5! z7cDqJJAGpW-8vMpg4leBj}!FMX2fHHVpnJ%FL=cojmHJwCjccuFeePEB?^*$rAI{& zehLy!3QWl#m?YTXjpCHxRdSu57A(&t|7Wt`eTtQ*2&U{odPeXXEuGE^KKL2MIf0gL zfmFe+afm-JD5r>fn&8ewh)5TF_&RDA1lMTMa8b~@9kmR>13J$#Q*d|>*s}z)Xr`Mj z@CX3=6#?HJMUG(136!~l1&$Q|%M&;f=v4uSVo3RduNR^y5PU=P{6awp?T0H86w|`u zn!s2BNyUOv2f&mF=I?@qrGh0-U`(07lY-6Vg6VV&-gUua@&MitC<;J%Q^0q?0NoO7 z3rAyxpoXSgl>&JbegAF?w$Y@gN>D@ro@&8aS{&90wDeHk5p+Jqkkks+g}|6PL6!=P z^@7!uGu0qi)C{ynff;SAzANzIf#IHDzZz=a7aXH(-6p|>6tF)KY@^-X4+W-c(D+D@ z{1L#K1@md9YG@HmQjoh<5M2dL9}Bp&5w%T_L3dfZ;6Ns5It2awsC5diPl2&ZFtHv2 zdj)S^0%e~dl;%wR0!-8K$q@W)i(*iaO9A_*0ypw14hhcKfqhsol?2KWLDmAWj|u{4 zE6JEaAWuZ+Gr=`-*gh9*Sp>#$!99u{PY5!}pZ`Lj?uCYvg4Ojvn-Xl=2@%tR2Fi1o z5g6#AI|+yA#po>DHvtA0VbMAaf~)XjI;F%-DE|}C?!v*2uGaIct*Iv8CUeIu;2|~ zpA%l*gd$bAOb-!h!nf&%-O`0`dV}PGFp(l87ll8Lfh0q?=_b_96oypO{=Y2Y6-wy1 zEG#$;o3e$k&p?YS!fzr$lP4^oDN&cev{3eQ@guTMB8f!qP110Na=3g6s;#;3wG z`i=|>H_}UYL>PSt13M}_{}=eigtvF0_Ds074-AHJ;e86mOb8W}8UI39S%9&e6u$C0 z8mELV5s*7AJnBKbXxp}*+;)6g)$AbLQH=s;1P0+ND6%Lz0@bng?;go-xS zgC0>^EH`<6~qmi1Kv%@cL*hNf3V%a&qD@x8z9ZjviRd)#zA6>XZlZf#lyVIs%0;oXM7%DNN1*YB=(-8OZi!?G zP^Lok8s#xpiq_IDwQAAhIh21^BjVLS#2rz|HgMF6LX@c0iB9WbQ@v>VFi09iHnHey z6nXM+neU38twG;C(P$T7?u(vw!NMky5v2`05PkY37#@mjPeR{Eq6PG%HjA=@f!QLu zcnp-SqHFC?`?08gIsHsPn<#oGI@?9#w9M}iy+Y?Pbc(`hn^~7AssLzDM5}*B(JlHp z5RE;eoqkZJR}?@F^*&LS3()#SAv6ge5Pil1%AiO}>(!^CO4?sCBr^U0gD@<*NoS9Y zh)gWOJ}MfzMnBUrCR$wr#%H3fFN5Q`=$|}TF)lJC-`j-fPzX3)i0;zX)k%@jkD#0q zG2}p-7M0PKyBSf)S*YeDo2WZ4iIs;T*ITTn7lyC+@m4VUiFc?#>M!1&g}wlB22E-M#YL2q79{>C7Lr26 zyV}4ICjOIFY)8er+fj=YvuA)ECEi_tB3f+h1l8iiBeViKCSFQjpm^~TUoa$!w~{0M zghA{@C*qwHKl=e3r^UM|;+`y?egy(k#5=!$`sc(OY37$Ij;CqEdGX;NV9W(^&^a(% z6l)iu$PjPt2ihg^U$mS3vN+Eal-Xj{MHE-W=hlHCN6hZRsOO5AchQ(99-|lXRk2}F zG$iGVhiTPbAih+FTA|pNa>|RuC&_nLB6j^89HruW>p)T_F8&F{4e=nQe%usCI)mYs z_#IlzR*2Q57`#exPz5C27HblqT9vqSJy5E}pO7=CM%;NCV0Xj|DV48Qe8~_G#(HrF ztu`9O*_5lo>9GKK0*1rcWI>oDp(AXuO$}>R4C*o9cWp|6W zJOqD_*dJ+6X1(HN+fnNi`@IfH1LAM!78n$7s)1=w#f;798xpsYS94fg_#?1K#J3!Q zJtjVS0qoDjL-h52EU;Aic(F8PyZJ$5s&`{_9?O0l+GWV7N=0M){OZ5M;KWr zNnIXna+VBIrksl;ED<8yBrn@w*xV(z*TE(a$*1?AzNh2_?GEsgET_~*Z^`X$i13y4 z>;{9MB#-vP`AfJ9Pz#WZoPcV9l5fvJwIIm?3Je8H7U6@3_@6{e$9siITu(y$Q3;2V zt->X1_CZpFINj%dSDMqGOnQSspP9l z7&9a(bOy(;w$x$UVoRKW`g#;(5(`MTE;4Ga_v2GXXxE}nj(w_pMqMOv1*0k=@GTOcDAzemu zOi!tS=B8fKabqasExp|gNj}n=Z$NoOx`Fm|_)1@)K$xGDy$6{7(vlB=86f?;AANz+ zv-BKhzb6h8^*(Rfo@ zbr-7Ll17q;sX|&?4@s3$sU1LXOTB1~RwezQ7WP(4ZLYz<8tH%tjd!GMa;nrypU{%2 z&L9n@l<9iuR@!jUAkC(gW~20@r%>j;v?d4wo20{Z5W@p$Ddjvql+M=x=8^PqJhW(* z&Zn?Ti?lcpqt+_5Jce<8ES<0eWt&ue7?|zSmQH}-H%Dnk(kYcMfGu58d-{k!ks3sc zpm4V|a2lHSNZ)q_X|FUP561LK%jo>GeyM#gv>1>&dO@`zsoOVz8J6zwL~TS`--5m| zsR^B#_e^@8f^5&F@>jt=F3qOg!wIRF_O47yzkeTmQ_?z0E1s6V{U^lF;QT#Gcyp4y z(}-3VS<%-(bCu1122wYf-+I*CW$qN>@Q~H7L(NO}WG?!=Wd;F8&qwwXeI1U-9^_&y zd}S8f(C8=gpf^*1j7d3!OKgtSp8yNaAD{+)+CwdyjIL;$=SNu=lv^Q`%sX zAPboRNuuoeKhWuftco&-Ps)}ahxSRb3QD#=CHt@g@=nXJKLpQTvMl~xbf(Cbc%V2V zOFe_mv$C%=;6Eq(WB_PsvQHyXq|44_)59TqL37iKvI5GY%aEP=Z=Nr^BZT-Y*+=^@ zB$s41fzbZ4?2V5>nJxQ>@*A$m+9F_Cj%<7aeYvuqFcCAD<;mt+L*P}}%J(6#P!{k2 zl8R(S8Nj|KizV-Gsm$O7k}_Ee<)M_za%jDJQ?~dE4B{=BJEi+o$Xe-evMSlVVF;|2 z<&A-|M)oyre7GY!w*doGE4%yx3=d?EbU(~Ov!Fv2E(+>iGsy5vW1c0bCSPKD`RIlYYr$~ zc?dik3%vLPU&wCvA0zmAlZczGL!3G)at?SABxM z<8ll7)FsG|(w&ef|K5Pc6Y``Zu=k|AXASz2!X(<}B z#$0(P1;X;=zXpThs{GQI5STA7 zBZp0a{E7hVh4O!sBuRxo$uJDA|Bm2ainqfV|o4~BZV zl%{MA@{mMY|24`LVF0}=UpWgZ-jna9#o>MVD|8K;D#4X(ldGyAsa+mc3z81`W!mr2DgWRDNa&LPLbt#Zx$h=O z=$8NNgTl}wzrPe5z4B5@>*|wVp#V?6e6cwg2joA{)~Z4ID;<#ZRK6<}B8KGWC>?rO z{?_MU7?c0{8(^NvADct_=kl`@TO5~<(m|&aa+g`K{)N2uH^`loOX(9gC3hwN*0emH z-X1ds`FV2kJ1GX}z2U5gmjlg3u`m}pxhg(*8Is%-&P$+$yJF`i6dsC>-LThFVeSk? zy%h!Y3xz(4OcyjBQ6z3g%~#P!AqqdmN?IWMD<+Kr9iYgj6tzIbzcxS#Qarc4IYL zSD;-~Z1@2>Whh>v2ur5I?;@~iXdAs zURCU#1G)K%t1jR#P&iS1xKJUcl*=N;NB3aGHO1ScZ?VG61v-@|91EdgsiHRn>}84_ zlzCFFu%MaSb;W@@Q1pi4`By->rTC3P^c9M9XV_V(=%zuxtxyKj`Day%N>f--t;pwq zqehWH!J|70bw99c6^$dP)hU|xKyJO_GzA446sF`nYg9CT2)TC^6GhPQp5hjzmfu%A zqwVBP3TJZBJW!O=j)!K&QBM>tivI6_*{aB)gs8`gg88)mYg5G29_n_*U@kyA6lb$R z)2WDm6SXeI2)PcQDE822zgzMAXViKW;?H4WuY$b{;`Q%rHi5+OOp$sDraf28xPX6LQBJ8N6AA^r z`d=u1H-~DIiht%{yrvW@euEX$isv+?m{C0b9VAZ5y_ERktXx9dy~?gL4>E$jdH@hl;18yqqlN83byzty%$57BL?MW+TY@<)P%wqKjj@-C-^HzHvlw1 zS@;e31C{-Bc2|&cb`-FKm8O*K6rv1p14F2C5oM@`DZ}W1xueP^ierZ>J+`A3q5Nq( z_@b4s8o~NR<^S5icS1Q!3GpYDYfnK!lG3n_{CcO98*igHt<0kHMUs^k6gW&#x@Umn zjFMdej-nW&vp*3)YzReAUz)IP7=;D^36<--s(rYmbH-|m9)kSDabsQk4B3>iur zayDctcddj@S;~baAi1P8rElA1WtBk;#%v|V6iLQ996?Cs(=iH8AEW2WZ>X zRpl3BP%U4X6$5(m=_8;!S>bDUskmGS@` zd|j5M6Uy^{K++2(o0g{2%0qNE%#8ANF8G{O&2FG{R=H!3 zgPDu!#~bJ~xT@w+rkk7UoImt-SG_}_b`RC3^oV<^>?rNdOI7z6{NAcllrrt3+VUwR z9Z@a$13LMt7SIFlr>Z08v%e~5H9!MY61qNts#AB-7o_@=;(x)aW6Qx8qDmlVY^dtG z0wiGum3lrT9aSY%Vraru;&G@Lp|YWB1zSM1maJr z3~zaX=CsPI2;!4fD`*#0imDVR6PTS*+1!BoXH_PzqIOO-SOor5RUa+$&#MY4SvXDg z7u~?=s;yiIyrA0g8EmJEs+I0&EKnuT)VNSpLVG`pRK4Vtyr#Ol0%KXMO6mnk zi7Jr3l%*=c5XPcR_4Id`R<5#dMBjDQiUM4b8>&G!^xagMCBVR2s#UZfyh3%olD>bH zs<&w4!)?`qFJVQM>K-|Bt5r9mP^(d?Orh`{)$(J2sa3gY(O0K>hwkTk)i6zX8&uCE zs5Pp*$w7Qq)!qhW?y0WQ7yiDggQojUDkTRJ9;miZGQdNX7cD^^sW$&h`;VGcVv6Cm zs0!W!X{%}(1-T!q^5_u9Hr1MaFuPs#*N15AP#t;+pq(m%3f6b2yu(5AMD>Fi8oO09 zYk}RPx=QnmUe!vSRYk}JGMEji+CBvTuUS(rc&lCFKQ;K+_^X?bK(zq%1f_Tf zs<&65F-YCN24KNzE@kkCsl$rVcvPK6&eTY?uMj9v2K9k3j8L@t!&@MYQHzZM6RTcB zj{G?F&^1_pTpbgST7r647c@*%uOlDY33VjRiBGC$ZGiSkYA5nfC#zRd5GF-^auw7* zqvoH*h@Mr~)2#5E+Uo*PQq{XnP&=>QKySM=wPBcCj_K-mUPf_2y^L~@E~?+^MJ+?E zq%d)&+MPhN)a#E!#3l8o3NT(#uM7fZj+#x2_FVOkOxTpC{(wH1SJlTTKAW#L-wTog zbzLFME>t^R!5|c=b2kF|np*H1NQ%|N20w6=s2@>EZK;|y1DZ1Rr@>$>S4&d>dR;w` zk5Rv&meMlvrrN^@THI1!B+o~MdXQo&mFnRIsNGfJESuDe z4`UD>s9!w`l85RtTQojWe?bA^X0@joP+HXeCxP9nHhYBHV|5SZowlj5J!+o;j76_HD-l}ssS`5L*RQ^Q6&wTV zlvp$lst?jP`Kekchln9{N-YEqt0kX6{D?Y{HX)Cy?Y=r;YD@BnIca(+cI>SA=3Nvn znw>kq@2a^?UJ*A<*GIs1*DPjWfIKwa<`ChjVbSE@OS6OWA-y#-KY-Flv!8aJAJOcg z$)T@iX)Od9{4{@ELDgTg{4N*+G+c^n1!|0FGk%aJ=^uy>)+kC*3(>@sp*X5>{s02Q zHIuaNjL>YSk3^)V|260vrFohTNzt02e_?ivCVd4OV>QbuY!as#S%Sekruk+N?D3jX z`raNlXkJ;4)&xxr9d4GW37!r96B@rx@SoJIBIdO^=#}nTNi!8Xq5^oYQjS!fwY5EN$7c{Blo4Kel z9HO1V8Jhj4QO(q3>oF!-n)K@cy`-uA0UVb#2N)2at#LF3;}wnhml&rUP3J;j=W1Fg zYave)n+TMvni~{K&DV5ffuTTCeIC{qYQClbOOeL-9jINRY3W9-RKw~6Wtm1}cop{E z&@|Cn;HKus)wlz1Y0i=N_qJwEI0RN{p89~JS`$k*M2$ut2Z47q2|J)#t!B|Ml&RCC z{0{LCGznj!c&Mpc07;KDJIJ%tteH;^wHD1?TCcWh4$<85v1XY)*xNJ{%?8-pt`Qu9 z79E;3??Y0j=F(d5cWE>SAihTvMicyAjar7jKFuOps*P&u9-}sg39%`IBB_VwEw|bYeznN7wr=Y z6}oG!SAo$(JM$?9!BgAkfx=50KzU%^+QpOw=c5hbpms#NaU(4B)h36a(NDYoGl2SQ z%jhi-s9ivbD?!>T_fZShZd;5ZM9ZVZz)2@@T?r8p+BGxKG*Y{e z4(^T78q34vV zs{Q^n#GluGK}XT0X&+FAO*#(jLvcZ?p-XX5``SX-X~@tnq_9n<_6FVZS=tX<(0NH) zO__a{wMGGG%+^|NLE{x|8a<*p+UvAMB3E1R8u;_I>*qpzfwqB##zJk^XV9WZ%a%gl zYuZ@axl^p&q=ddDTFoZ(m1@t}fv-#()B~_`gEod<+Sj#tG0^RXR^0-ao7!cc!L(c2 zyJvu1q1{E3!%FR1I_%`OR@Dj0D(yM?@KtMHP~KXNb|Y=tyrVso3VrLfb_p=4LHoKX zL^Nt|ynr%ywX^9yzNf9DA4#~cJ$)Kto3w_le*yG?_AQ!jJk;L&FGEjT(2mAt?aCQ| zwrJzFL#I}4z#0^fwO7y6t*gD1i@tX4S9FqBhc<~4BRaKLC?eFYU08y~9_@KMVD@T% z{0mwPXvJ4i3~KlH0Q#xcj&cGlTc{>||ZoGH|5mQYdPBM%T>) z%voI;z2473eNd+APAx@Wnr0(ZsP#x5EpK<+==-$KBA0h9Tjm zE-(U^hFiLWw6Uc^7rzHK-PYNxL1&fj)pXcYtqc4D0&8@qX~V`H-QE@8uhRv7hoWA$ zbp=Qob&qK*@9KV)<7T_3bD+H7`?`ZZD4KLNbXL&=-C7FQJk)WoLD5ILPI7Oz=(cKs z(rVBJk(d6l&V2{8Y11vCZ%w=IB+UgnbW1mYrc<|Gj=nCPp9^YFbSHGsuv-^N>x(|! zuh!6FKzEKp-h(=qe}Vl}_sMyn4CxM>h1_9X)Fx;@qEk|u(U|TBa=1L#y(2*}t~2C( z3(^VQF8Ut5&^c2Q-=ywy^2bl<{@#m`nbvKm&%TqML!MS=eXkArT=cw$0Cm-`a6rvX z?@!BCcm22Iob=GIS%$(}|3M@8g7jXrk8;3eFE)GI;DTuK=HrR`i295IipWw zqIOo_xDCdf(~tgx##FuFOIUbb|K4WQ()54R%ld*|UW(d9{a+V=ouU7og0`9Zm-b`0 zvh)`8y1S&09)YB6{Z`r?a7F+9hbVIN1=e8C)sO9khI#tS&SrT2^7WiVR15U?CIM5Z zUqo4O#rl{nbR+9$C{A0de>jQJE7LE|18BK^fZjgW_2p)$-O$&k)BUWEq;t7$=_jfn zqC&s$1{y2%D~wUx*2mPqh$_ACC7@L6|E0x7jXvO4iof5{r#^?-wfYhXK{JJ-LtABP7FeCcseJGykpOORRg+6sVNT&7Q@=$YeFs9j=yThK>ptiTeZMuPd9X1_B zEzrR+5rYuwaN|A%hCA$}ESzYE-=Bj$&fvf^fabUZs}ik=4%M_bG0EZkD1atA{6gM| zvkpJrK<&K4K61ZaaM(N_jF}Ey-^0QZhiY0)mN~rt6(}nlRwiLA>Kv*>KxuTCPbW*= zcNiGQ1%2euxDE4u1Q<-|vw2Girkl@1{cF zQ-{5ji$3g7KLP#`hXhA7jyb$I1??i^YMf~J_@&4= ze93It_YU~`{#`n3bot0`NdHJ|0uw)GPUG)q3$MVW&!zw3{~I@d1U0^#OPho@71Eh< znHws*mZjXzgoOupPf+eJ4ma)c3^pVP+oEvsrlv(?ug^xLk} z_i_6ix`TFyAtU@hOdgV@c-S#uL0s~7Nt{sW7iJjzHO$wi9P!%O6l<1%NcqM|u&EBJ0i-s18~@kD()8i4Hkz=y8SSOy zC3ho#${zPH8gqvpo<O&yVKV+ z(Ab$=??J{=7w`oeo6$2EVl1bY~y8=z4lUeAyY8+t&j(p<*O7bc&4yPG*p|O~z zq1TK**awng<1_)-ON{5*fuz*r{k5>S%*2?|#>-7=nE<BsW`?No*WAs!ej}5w9_c_#TXROmsB=tTpkbovU>w zu1OGBZ?gDZ^fj2wr3rqc$@y~h-8IRjq|kdN(-Rnr`z8mk0j0_0;I|l{2PXAP(fG(< z^592Y$`+F+zrl)DlSl7D?qib-I^wX+r1k-@+fB3$=<6`aq(dG$P2MEzE|b716i-Zy zuRuh%$+@fO>oKvVyzgEUt5<>2XEMWpz{BMK;b53H@eD@aj7juXsODt4iWcV1re%jf;$qrWhnlNtX8=&#OqqsqjHSD2 z(Q&kTn4Y5aQ%}=X7hsx~>A^T?;cc3y!-erNokd$ z=pzwg8c$)SP}4V@Ah*GEgA{|%Xu5{-+wYq0qvgpx)5KX|xNkZ}iAhbSXTuDDd0_g4 z-eC_-Uy$eWk?F7WfDW2P6+qxqoT`u7xLM*1`XR7@YOwzrmlyXhdyjmY*}N|AuGzP$J35 zEc;SeF*<8o96gP*DkyaQY*y_c#6O?KFo6{lvtCQbaKD(f;zOuCIZN^>im6#OYVb|Z zdYzoAGqZ-uLFx3e**+A`FE3aD=ty&CI$bu(yq>--(dHZ9MJ>iW5209tS*-bTdT`^+ zH`5#GnE7xe#K)Vzwh4^s<~3h|^n&>|D-=2A=RyFQYo0}B=b1m?fbXjL1cl?u%qy~B zZ@GB~y}YlR*V78oQ@+ker&0z7Q1TgLv+m@p6 zuvnFbPEQN%DZqGJ9HH5nkHrBo3=Oe(vK-<=Ej}>@XqZKB4M2}t=I7H_dN6qv^?%4toSXkqxV6|E;MRu_OK$zscS z6sIj#3!p`^#WrsYREkAh1XR0fvGN$kveqJqLIrgehYKLL-r_#(d~L8;wG~C9MFSan z*WyiIpxm<{Gc7Ihk^)?~4Zd@GMER=)srvqcXjiL_Wu8!Vt{tHn+_Po>S`!=q59 z-Gb?fT8BlU4n?QMu?Q4h7MJ5e`PAaj&#-C8V$CbiX~d!#E(Ehti_}(tj#+%s4U%UT zf4O1s#w~j2J33)uONpv4EVlKdHfiyM@@MV3$B!l)NpR#70W#Ik7*7%MFc4?vmQmZxa~R%O{~j=pNkKOOjv{$)`5Shdi4=7`k|N7!QUwVI(3^0WG_1ckpmpoLiJNsCac$OoVdvkIrA`=eG%XoVVX^{5lI2&*j042rah z*$BB&R+$cTc-d->2x!?>>*!n4VpU!O{#L7do6y*8wT5z0+_>AX>S5$#Hzs1f^yXAo1f76%xaQCB+sp0r8K8;t0R^WF=5qr z4IGnJxt>6qw$dh`n6bJ~4rU+gGxS5fN32)T^vKWJk%CVC*1!E1CbG_X4SdI}KOX@@ zymb%{8XmWvPY$^RYi$!oEz!D5Zh)i{)?1bU?WA=W-GNEg^UVNr%DSA1+vK!$H*JHs zVEtVs`Yu}6g+Sj7>(?mXC)0WpMZUAF7c55OCF}ifgXFTc`7q>WTf315A;)t^W#n#(%fn8#K zjgCMlv);*rYUS2_6pOiTeV&5jH>{s$PL)IL&SETW?*3fqG!Q><@4}vR*+ch^^LP z3xM|6`g58+v{?t!wt`OUT`HhGu?|^>TDSG;4Y07sx@Q5vdacvRFVJUgnFu5Ltp{k@ zJ!rk*BiJ%-Z9xHm32Tdu=rg>qzE0lbN$ccaz%gwti3H4y^*33-cA9^&A z*QO zFnrF;cF2pE!==LmqUIR0DF52awz~tyc-wxv0U~^CuLb}+*mgP+j8V2Nmt` zVr=JmLD5*-7c{R*wJoI}PL^$EGz4CUOVl3QMpAIR-S#XUsn}ur!78wK+P-On#x7eE z%GrNn>qBZ!*p|@x-0;Ho&)3m9X}jYYG@Y_lzYR&#wl9uC(v0ovG~01v{6={@&Wug8 zd&Grthc^1VGG2KDBHS2CxD(9W8DEP5>cLpC6E!b}n7(-4jOcH`=fjwD0R|pn{6;Pk zU&c$60OrRK?SO&)2F3(E+X0LR*&q#MY@Wo(1~G;xI1$WHQ?6zRW0QieDC4y)sD&{? z`oMUUVY7m+DC3b88Y39TzJT~h#>+pWh+=HRa=|Q`Q6vUREW?QQ8pJV9PeY4ijOQ2_?sEWo}jUX z@xdxkwlZdtfcBVi_CDmcF`{mPq@7{xhsF+uc`OF6ld+u6MC@WjQgHhTS4Gr zDF3>b@og43`WQPYv$mgcCIuD_Fb>dMe2}sHZ-{uxNZJJcA%>iy3d0PqtzZ~olmwx^VU%cRnENXVQ}QlllNj|^XIWGKzVIm zVI8nr=ILmm+BYxT9}NBTG!!l!n74{jAqMB2j|KbFc}o|gacG|ZNkC7|`eCn=CgK7^TD5Lr|w6QZP#RlalT^bN*M;lcAMWpQDUcc1zM@yNFErf?0&wD zqS`Jx9opB}t$Gc7ckI$>u2ySz?;8|#cCt6XS8u0!8Fn_dY_$!KI#2-%uC=KuxqF7&VzQxPonnJ?o<-^hU`{&fMnS2OaMK9BX%Erg>fFW zi@gc{F}o3pR*l;=Qq*X|ZjBIHys-12a{?yq*oPr-%I+6(iBH=-eivvncCmD_juZ2! zIjnbP-lS!M8}ryQuzNBy_kh8RDWiwVo4JBcTlHb?7DDV1<|1>-zxHLu(2*W~OiMXB z{h2IRpoKFf&mk~^>AxD{Bbkbaup)|CPurEFnfs>Dn8bX14cMocs65CFz-^9VlGonan?L$F`WW+mDzC=;`5nX zT0v64+((HVh0HcO^sb1xmS+3cn19kPsA6WxY+xEnnA`{qTPd?I9N1+{%~~i^&dj7E zAFeYkd_Z%98SDVYo6JF4R^4I_|BYG&vzWe7mCUI{V86{gTmpTom_C#~Q_T#fm{$$+ z_NTZn?l1+vfU=hP)fZ5-j#(zh9beCUn-85D49vr{WvG#vOYh0M%-wX5-#uoy0L6Xg z=qS*dm`BH;+GFPH@!)7L8kBk#6M-$Rl}Ge=Bgur8D>_J<9&q5 zA@BSsGffA^F=jFClz7HW8wJ{PW-kSo#+mCbLDB^COcF?5FtvUFn`DmDwVz@Nx#*i_ zrjtW%hUqbcMkm%l2gEwF)*8sG>B2IhlxbI1iX}STSQ+auB<`#-x)D8C4ARJ+3@F2pMb)OzQKbCC^*!@|*?uLc|tfPgH6v(PNh$4t} zn0z|Htmr?%7s4|3r}$4O>k92Q3u76`b$FDOP64=Z*12!c7{NOCHY7!|w3K=k#rmoo zFwrbw7-})BuxyaTvd)&G7ROrt-#&EKg#}=UXB`R$*m2edYp9mM`e70ziL6xmj+|h% z_Mv1Onw9f9R7_^|K7gSqtnX>#?HShROEEHMSw)|rILBH~ zud7tn3QG4o&#GRIB8_!{ZtHZ`WDiI#u)d=h%thAg0zhZ54!lLr7Av0at}K@Ae)L^p zP2Z&RmoBqj&_1GU)+L&nUt#%D267JTgKQ|1%gUlKT^=j=02;5d(#dO`&ze04Xa%fA z3m~_Um6;5*BG%p^^j%~5Q)IN56|IIAC9JBwu%(n$NO9~k*76)Qmb2b``~Nh32Yij! z|9?N{d7gVSX_efSD~YzMTC=4_wG_2$R_(oKsl9FxlE@-NWC)Qhh)86JO%f|aL>7{e zAOo2~V*THret-Yh%PYq@=d+)6&S#tpnXcQsW*4^UhRyl{P`ha(^J93+rg}3lGHlvx z1JT)fQ_iQUJ+bk224abg@eTwnwJEOz-cy_WxlrwyO%$IK{@kYF4j{{H&TwqL+~!Fn z1}ki0J<+SQ`Dr?TBy7G^L;IIDNbkdAXk$9^1;nVb8SjT~wavO3;MdqJV0UD#&3N8V z)!BHv0|}gnvv?qyw>A+R9Bs7u^#kylZ07!i3-iuqA@A1T z+qCCZ{|B3n>`nP-Q_SVnpKLsOqUWe_G;#j+R!vegB;BToI|M1VYl`1s&`C4j9m4F; zJii0AcWUPFhrn4=&KV#snlS!0x@wG^(!NWxVFemD%}^s~yK7FIg%lndg%i&_HC|k! z=cW0x4@mFUG$f(fqfz*s;H_EW%JGN2nv!)G-KP-;f#{>z(i{x;Ypg#5jIXAQeHI5a zbp?>nPqTvGBL14nwZIF|+}s9)K#j5i7xtjWx*SpjX+Cm}<{`}=t}a+=`@4Xpr+7|mdIAfD7Dv$G*q(=!Qkr!;+dD;=k4cn^?x&7mt8 zOw<9|*!+)kMw*!&J>tjt!=1&JDpuOV>2=nZDOFPV7y&u1V%_=?%?&-jUzb zw0{9TZ)uitd5bAS^C%zqw>2$JgW4TUCU00XHS5^ba#xd{2AC{Oz*`W#r>PhOkZjEd zE)2V`8N$~-NAqwjKyo#s*bkYf=~V!R`5L?Fkg!1Wcng{bn!AON{-Ngg1(4#Aradpv z3pH&AVz9`h2`>e;VvUXqrXFi{v(xQ~roIg%Ez$VR0!FE(O)@O=R5SZN*gw-;J`IM? zHF=LQSf=To1Zw4)9NukIXwLI4rBc(i79cM);e4;Z)STwpz*ib)-jh~oMsXCeTC=bg z^44ff^AfTTM?cOcVt z?P8M?5S_Hg9Kmph_RI)i?9>{0FYT=L;rbRAt@bW%8dt3gmnQDgesK?jZrW9O5XN0w zsG#xCZdnTHJ+<=pfb`P#odue^wf(tbeUElnE*fv`=Jgodt37raqV3ami$TvvYrMr} z^!v5Nyuk3)rjJH*K(&<^U2UZ9rtL5hRgx=xTVNc+tdpdZp| zDq)ht+AKclH(1;891xCZznqRHMC-r-k5Fy(WT1y>ck>r3Tw5Cp^ayRDKj)uCYVA&9 zG)j9=0RO1Aco&F9Ys>rKIvvyg`w7i)?Gk=>pU{5J*>^EoCw8iy)L!e0s}-y5Gzr?D z(l+*iW#Y6y^6M&Id(92RPHRta_&!0q_%516?eFaBNYbteLzAqXfnz94${DTABIuN& z?a5x)v)a~M!Reefc{qrk*Y=o`K=LaM<&jHiV;0*R{7eQR9YoLp#jf)LL@Auj!VypA#5nXs5J9 zb6dM&9PD*R8}i?BQoEe%yzXlI@@<`^oi_>i_q1Q}MI|TUmwaxiR#~f`+1UTht zZ}QtVPg}>X_k8V9{u&l&lcodYfmX+kt%ur<%VGRST0ag(7Mip_M?=vf?PyLVDb_w7 z1jNT$pDBQOqRryyO^KF%1gBE%sQ(^A?Nm+^e5Rdg1^nmQUHmmH)2`z5;BxJX^-!%s zn>Ys&R%)Ai;ZnTNj?V?cOKnv(24894a-m_B*4YWdRBKI3c)iRNbkcSG5)60f5_o~J zQ}_2N2;;0vs{t7oonthlaMfM@8B*-h9SsH0lE>h!0@Cl;Q*Rg-Ns{(;*_rJcc91Vx^ksOyzbCY2zpu<6AsN1 zb@K`VnWQu0pHWHHX*?m?8QmXCz$iucM&|F|S>0XE)HM@E`=R|*L4qX z0`i6~iVsr1rJKo*c82afJK1mRzWSYi|LBe`J_`&pb@TcBw7a_Zmmo!!&NCNe?&+-A z-84l!Az$}7hb;?qD>kF|K=*BLpg+|8Fb{)| zbf2=ouuzwf04a)enS4e>vF-tX2uzQ4!R(lOqRYMoTbAe+bO(N^?gm$@J=KLIgYPq) zH>Z9)*O_yOqD?_==znKY|+w{4d zbg^BZlZ81ay)S#xcIZtDI>Hz`^>5vP@2p>$fl(LzZvMo&>IXLm-(C73X5prH$$@I_ z`c6;5*F*2fCslarYl;BkrC)mzM0e}^Ux8?Q^tD4^HE(^b4Q`0NdN(cj?$Zz9Sd5R} zY#ylW*AMs!qWS8lnYh5@fIfE`sQKxSb6%gn-v1YvBtSn_2JJxoqC1fAp#CooT?gss z@?mU;^j)Sy!o&I(PrxErAHx2OBl`0kHw@A5=3rN-{@QFbVfuEwdkxpO?Hj_b5KdfAVALOYuLk@ zqW?j~zyE$#KQ0`T=ky2oM9TB}hZ}%+LBHcQdKdLqIpBXuAL#>-%la?6WA2K63m4Q} z)dy?`nN)pfKg^}+^D96*UB8cAVb}EbS&-?v{w}XLZ|I-)hb}kuY5oxVmcEdW1jx{@ z31a`}ZT*R!K)j=W`WTa$`rh#{_g%d+gJ$XfT7E7|%doHc)6-yOL=N{;?< zbEuZ9e>Vd%<>^2CgSmWtk5n`T`d6Wtd!QdZ9#(&-|LraWeWc&<28;^z@>m$?vHndl zlrTNfuW1KrrTWqA27Rg*-NEpg{y8TiKi8M?DyvMN*$ji_`oRg1qC)S+Cm~eocXY!= zf1xis1x_#ZZ#jDMO27Uf@T&ALRsf`0|3rq`HToHU0BW!)`MmxEM@5 zd86!V`1}S;v&*1=jKjGo z_Zo~GBHU*P4F-E3!^Gzhd%vLzpHS*+@ckO>4;a>71TjCuCSE1^8}_n0Bf#*FX(OZw zG;HBi?SqCau9yfiG#M~?$S|-5y~BnnyzLD(dxBx8A%tH^VTRex z=!F}e?8RJ!;g4nzEzk?&|j6z{Q)89v1V@3_IeEqmln7*2l& z5n~L^+oE^U&|?QU#Tt%ruIwp;Z6!2}GrZ0Re!SuF10bF@d>;T{I|vp?k@2 z_Z4o)%LZ3Ye!gP(i%)mBYIv)H5mF5|uwPfw4DEQKoo;x{tDS3x*6hT(ZkQMYkQ;`v z9e{AtP_-VtTLwcU5Hbw0UqS5KhTsLjyJN_5f`XZbu;0+TYbe^u{?9DKw;YbRXK2r7 za%39{Seg5VY<}tH7-nC>V6MR%OI0P$&|wlRlW#cSfu_LFI|8I4dc!1DhB$s% zR~zd3f^UssGCO=~4ORS6tTR}B55DyVZ!U9wZD`X7yatou$3fux#xTDHq?@059S{8LCUrINCaMgk`Jk>XvA(+pdWO z!VTNoTzh@XcG>UXd)s!70Sxch`g6fxrtN3_A=+JAlg)i_%Cb!~0Vdnl=mbe~Y#R|< zQF3kP^7EH(yK?}W+qMgDeID4J-iZtI(AKOAARpQG8;qvVcEdX~MYd^8(52YcgMDX@ zZKtvqwZzt`0~nUt#`A0Ascq$YDDm93Kc_sF*`6@juz_vA}rLtL-;F{|=)08qaab+yUdFj~xH=Gxq1B8~lywt{@X&T*NQPKw~#9Q#)wv zJr!~X8MAqVeaJ}DF?iV6Cjjh&jblnNcf|PNOY}mF8uO|CzRHWqP|`k1l$Arw7s%;q1JIANT13v$O8Gamr| zq_G=smST+_6G1f2XgvUf@y4J0fOpy`ar#?=aSn%>5{g-Z(E4gLSRjy#ej5c6I#xY_}Vg3v?&DNeeKy$4);0YVWh_ z^EbrywJRzIBY(RKrgqTqpk2q2&@kN2#GcwHyWHNe-ch@aUqaw$yZbFMcg*fH6`JFA zCG71!VYlxu(2lX&v=W?7+BsiDFV-&L8=#-E8_Nfa#Mx~h4up8SGWPJCwu^P;yTtB& z1O}7r933H3vRy$Zu0OhFmpu&l*X=e0!T7iADkNZJ*lq2Jx!ZOg`4BkMZbe&w+_lT8 z1L6_;+qoDFvES|u_M!F_$Dvx7{RMudh1-w2gt-X&Q+(~B><4$k;8FWl3TPg)x7v)s z)Am6|SS`W6Yk&U!CEEMX0PQ6EyAJ`HY#+rh<}>!|W56lJzU5w+^sIdz7s904KVj9< z?1TEFmu~+jJH7APn?}N1S@zFogXlf`o@~Qx`$OM>N{)TB9Z2WdU+)0T^6iuP{Z?wf z@*;Xq?ahw!`Jd11Wjm00ZoeiJljZhqG7u~53pfp?$=-D#sJ*xMG=Sj;`?C(1`)L27 z8rR^HeOP-i-0JX_gGSpNzUGMRc8438pyK4vdN1a7I*j1w-r3>nCd|1w{LLx6t_~}I z0qI>1tJeU;2ROF)Lsq=pMk}02isSC?>O}3prW^fIEBHz4x<-< z+CGQhcR_6*hglJj$=6{97jhqPXu}y}ehxR;ndz;#X0~Xm1og2aMzQau;B+PM`wF)4) z4kxUEp66hiwizPkJ3P37$pVM2t)Trwhg8m(DRk&Q5ims#4V}@HIW!spS?*9Y0t_o0 zeu{$>l@3{)Wck9ueKVSu4kI~P|CK|+1Td_2IB*t&H4bB}fKco3^-0ida!6{4=AFa2 z1rTj}n>8j*o^WdOO)!kGqs`lR$hNbMTN~gzw^=h73|-o^O2C|J8!OJX-_^#K{pxOQ zwnV~C?rr?p&F0Z&-nRhpY}3yIw7uGl908iU+mNLNl)=BAJCY#CFU$C``t{e20R1hR z!)g7#?9cgMDTx&CM^B)-b;}K`84f5%Oks+(AA;!?? z112yX_G^2{J=~hL3tb-p&aTv&ZRC!QfH+fMSSKRHP*ZfiS zCU4${?V}G9`Qf5Ar@+FO+#P{96+*%Yn)DG?jU;gukWnTY$cdOoX$jx!(d69*ERNAM4(S}H zah<^T1YK-}xft>}48A962A>Fdiq=-37e`&c1<})VW+kX3(4%AEbey zZ<63NrCU^e3bgOj-|S|~p?-WSSuWMh2j4t8TLXk*^5W(CV~RcqL7&hgzCI=N^+xnc zNyEoqJf+_xaCk;S z^#s1+8*@M&5Id4F=O@CSgN45+aK>PO7`p{31&SeDRd7&r;;h*qF>3=r4vA_ze*O=O z;1K8(ES_28k{l6b2|x@H<$M@Ms8D_Y##xcX=|)$DJ-mbeJ^Vdx{0#{PkLiwX1TEq! zlt{cGFcw9@SwJ~TE4!nKroMAAcZ}>p(K}An%b?o{YPt(@F%*81^M6i~Tn}@^(ur}P zc8YosLNAfVbNyu!7nZAjHj%TRY8BGdJ<|V>e z>cs2VbEM|{pYybKEFdpXix05yMM~$x1TIly3FrS@rXC#fzezTaFnNpa$3pQ8O5x|@ zHgz2f(e6;!E)X=6a=!wZyJXF;rz~p5*+lm!F9^MC>dVXcnJ{{&LP60KspZfv%!iQi|9ul#u>Jg3McTyo0adK=C&F1KFF>P!QhL7pq!Pfx-zX!<}c2n;`x!pSn9sGvWZU82uYSkFxaeS-GxVjOR*_6d)^fbofLi2Aa<}`&J2Lmi+21u*eZ1x3Wl+g%NiAk<6ju% z%>~793bz1m1O)^GDUv$z9yW@c&% zWJq*|Dn?-PEQN7~+<9u`jLi#l{&(~)k?kr#UM4R`^irt>=kur0$TJwcMx%G3xlY-f zw|R>y`6ZA+v7CyRNu47g%w0PD8p!sDO#GTGq}IG=DWdKE zXo{(;2S6WFum4Vuq5)TcUqU{dl=+mJ+G6e*bqIsL&#Ac|tW!omd%_6iBymD*B`x9K zxp+b23jq0w3=5%s6@7I9khL_5SKB!MF0L5V8fX&-u;0*K-gJMWtj9-xnaC_5<>fCLl)3o%&%gMgE(YnCbF&n;25I z3xvD{@*r#${(B@^-S`qVo;zV5IM3U^2ejw!<&3QbM$ST6*qXQTix$s@K&HiedELLH zDig9Uz0P;kvc%p{boo4IApdjZM*yu@+z9$BTMve;|CVz;*{VWb^{-yM9x|=b?859? zXHL9WcYQwozm*&~DR3LrH-{M8={46#I#HQ9a6Bls0~mTzB*&|~Ow^sTA9qtq73AAP z)_(!tn01O5Rz#y@E0M=$F^+n;<-K%f9> zxeC2N>dMIp2kHHI5DOxS(}oYxcbuGem}W;o!YDG$hRKy@Bh=mh9l2+0y7Xm|eTIAI8@eQ~`ZG>bp4Emc4*nfh}v;2CP}#|L&a1 z!}!nNhw>rn1oN(dnRtQAswWkF1|23Z{S~C9_*7zKs;T2^h&QbRSJzJe;twb_BdHb> zGe2wv=&W8LK*ou!;5O&0`ye{EfS0QCPFjP+{Ohx!#e!!+ps;WayGa*q;yk(~%ei=a zMS26Mtxg>Z%4`4OHTcHCoQ$%$)kRR)N=aNLwarBD`19jLt9ZHQLJ8e~MphP%1@~SI>26Aa$46SE}>`5}?%|$Fl z#sWW?Msqm#4B3`oFon8y2E(&d#MO7H)cHE_(r6!VyV7x*4Cb!W=4m-OB2oIQq50vc^>eb#8fkYxQhBHfb11@_K?Y6*tNslLD4+T zgwaDnlL4Cqi>sS38Y;e84b@JGp?RMH7XMnge+g!8)SvGjcl!Gb$a~TJKcUZVdc7V! zKgxFkh(B%k0}2GtI9CW6NEcHu7fRPT_8UgCIW84W8#xO+f)+H#eGy5f@6^yW3Y$_) z9;K_ib%-WyGl+GJ_I?hS<5bV5Xq+JDEs!OKx{mzsqTJ?HS}g6Zz}zX?z`Ol8%4Dm= zQwukUmOw3Y0Fpvm)M(C8GM5TnA;UZ%T&3}Q(WFwHiPxlQH2Dge+Z0dG{0=2~V=|LQ zaH!!fjqVJYvMA{k2JeygR4dr^y}BQsT>$AJepn7XPmx{!?FiNdyb0xiKiUu^A{udRS+Z|v7_aXxXLMn zhs6nw7zB$}!}>bm5kQ=9&m)??R@q;hn=>v1U7j$r3eq z(ct_uQO>)XY~jdz@Q30|EP9VbA_p#>iu>KrdnStdg6}KQdM`k#MBtww^G0-Cj=8sD z^?pda<>7d=<$m_1nRl6H*+g16L?ujF1Sho6A}NyG8vK*@U$6f}iO&ABcv zOfut8;c@9_Yv7-dp1EN%L3(f>bBR)859oA3>cubpi;|klq>H4lIgC*(#qe^pOvh%FixXQPGK(k9eGa8MXNj7mb(OrJdUMmmT z&JGMcqUGg$U{eAFhF)(3o3!~zAvp8omMgE4}M`z_3EurB#`Q0~w zIWN~;0ksSAGLDL0l)ufy;3fGt_RwCIn{I>X6**l8kgM{Vec+TT&wC0D)8ttXAbq;r zJ`^0T$zGh%a9!TG4wvGF-04RUyD29r9RIr|zvi-p3^|e$^=``p0wK&Dc`YxhGG$*6 z%-xmCNB!|uEc#x zXV%4ES<9}h!;0e*;6p(i5;mBjBkRCSr8N^&Z3672bpz~F?vH|!&)qOT#id5Y)G5uK8 zjq7=ys8-nks!X+WC!c>&u8QMq$rmbXPHL@JwW)`UuT`7brXN+y`9avKzPlM1PU>fi zpsBNZ!g~!#$)Q4wb@Ur?EfA!MTNu1?% zUET8vh~84GhXe1f+RYadW~*mKV=h;{)4~$c;9sk!k@!1q-eB!+38r@5wF9uA0T}q1CSr0%pzJKA^DH#~y#zJ>%BR^y1|2Q*^MnY zL10t84X^(;=X6JBi^nP&Z$ls*D`=Yr|F0Da2hYHz`noFfF0Le2^!57dj zpZZP3XaSAdhTa1ztpS;bWXUyjkLU`gixkqWv1p3u-_HP2OyOSx;W2e!*ZvbSa74O< z&avB|lzQC3+*9&C5A!{vyxEYqir%#adJVn!7gE%dbvl~2WctMbqwEmYhtcd3!AOe# z-_@JML6_d6SAyOzNuwc6pD(#A{?|H=75sK$64>>nBCzQ<^b4T;zL9+d{YwV|Wti`loHK+ZYMM*?Qy=EaB@Nr1|6R`@UN3hp z)rifM3=4uMjPr*HkmIT8jM``jX^rGoo-hjrC^LPjm zV-ot_5cs5MazQs%eEAfhr$npBF|Ahqc!i&Ae$>QBbG-t%BTF|~M_VGP%MKrKp zH^uBS$bU}xe+bQ73NFScC)uf^QfgUT}W2e+9Y2_%knskGM zR`C*XJ>6+(1RoZbAo+9YL83H{zlurH*~g%gES+&P@l7Lre-zrMNQ3e~?W}Z@&x*;B z=KYS|b7}Oin0q7T)}wKjjm$S#Uc{;1N90sK;3q*Iz#fzH^2qG~xhlWmoaGzxv)NV{ z#lKcoob%c#C?0=1dvF4Gj}N>q>)97OGLzEF)(yh?ltA^^0L z;-fL)N;j;~b0a70CI6%P6ldeZ^kvHAa?q_*a{qxQ^~xT0wY*VM2Epb{%KEub;e+y9 zCYr4(Pu>siR1J)R2%f5!>%nS|N%b}RllH4Nx&ZNjY7wW``>R?H0DgcH!}? z5Tvqgg$r>=)#fW81gn~k!-OHKX?(6on95WHgB(}E-;S%JioxgZf4cX!hV)%ydjj*v zZ?`~Lo*9idQu z2tyEmyNEWNQj0JeMTZW9+A%ta+T8!dKS+(OF%m}2*j*Y<%Q=`6K_Q=k)FoQVADhcm zg3FH`UFAh^yGB)g9VZp_( zJEf_8LEBmCc@v{9(l>;jtMtQF@ZBZN;rOeY^m%8@xl3Jc1K&f67v)bJ`@SUaxDWQ%A#u zgG?c+uDhA0%CZQ(YpOwhEU)V6JU~8Cwf6#KiE5{bBTFw-Kh=XwjjD)^_)&F)Gdy;w zf7lPT-PBR{AjN)lZ?2t>P>0392W!QUBJeV3b#VW0NPxF zCXj46EASA-_yO-Q4gG`Tzri#q0i#E#9Y3fc^vE2&P+IsGL=K}Lc|mxBPP2z7hTi-H zsgvjqN8*y{M~*_L(B1>UJ4Z2}L$vesZ3;w7qv^aVPp9epKDctM>d}_~+ z@dH}@=rg>3OXyt{1TH0eM_BnO9sdOw&!{tkV{nY+EyHy#qv#SKmeVqU9voxW!J?K% z&wzyW)b|zmz9ADYh8pS1v!MNs{^CSQC-JTYsO%7L74$qrz-mzO6glMp@e)hY(3p0M z&Lc6pN8I`bU2id8L32>dO@tId!pI+rLn490uZP7lj;sd@^DAhMh@ZKJH$)uaoouM6 z0sxg28C9fOFiBA^w#M#B>py2gGY) zq$hegqU|aW%@w;l0Ewyn#f!!g@nR?BEfsnl5T1$)Y{O?_ zP$(p<7G-=)Z;fd1gnes8e|!*?I?7!3BCFQrL~~R(LJ} z(MB><>ud<2>1mb=Ya9TrVbci6v7_T#p$fyl7;V~$g*w|0JB1D#K^x_ zV(|afrCd3=_9)*n>)+Oc@}?3lYc*}@z^_bGaVVy@(oAeg@r|3wMHrz}JrMlDsP%i0 z52sDffE7VKAHqbD)SSIIQFMb{jYlbQH(yiA@&x2@+Es`qhAR4D?j-f*)RqP}ixAiCsHeMbkgHZZ4wO>;KlcL&iLTphK(6V3c9MWP|bW46J{Z5&J4Z z?9X1`18d}cf0$;}c6O^ya`plBDS}IMr*0|3-)Woq{H}$w-U4Qk9lM~H7}!5G zEf3;A_}YVKIsatcd{)Vk;`n>Ll{)VNQ&;*T0~B{r0e_MM==fjgg^@dFkA>4n573LC zZCq9zN&k+)Tovu-?M=7{oCUrK;@|H<<*c~K4*4shYa&FtE{yePvc-8`WOb8UDdx}bqKdyB%^DZM1s#OJy!|DH=k zRy5<4%_{$e;J8Lv47;uK+lRlVoCg5iN@qCj%84d&Cdp13h%yN*d}b|#n4VPC7f4<- zJq%a%0GTBM&7V%PulEQ!^63eolokal*v*VUFPs{94--i~rmrAg6y@`qKXjuS#}P_w0IvXFQK_V=h0Z}1;b9(!&d(kTAKJ|b(* zg)F2%UhfrA`?b)znBJd6?=i*o1^Xvd*oh+zB^1>aEJ|si3lNc4FcD;)(GE_acuw8Unggv4?fswb!Kh3|t=r1O;focKb$B~!}6wl+p@Sw<%K`ltcTc9~4=1&H-!(tb2 zIfF%HCF~q6#(s|Gm^d>8ERKsW#z2Y_;*JFdV?;&-lsG9I{)D+>#ob@Q{*>rB6N7PL z1}C}2iv4lF*1rshEZC@!@E`cCQ3QMk&^lJq+o7ino<=;CUUb~^)fkK}fq zFNu`MU#t*G%@1*y)QfYGVk9jmKb@3LvCAY@`tb+!PDy#YA#a?Na1*^0sbUi5&PrcZ zK*DoUz!>z-OFzE^-wRT8Dw>N@-63$eC;c=8Ao)__8E9Q3nUceR|5Wnk@JOXpvJ?z! zq^}IXcq2^+#^47j{lEG#xnTu}ddR)@1H?x@*c$jj^7MO*t*JsJ=Ghm=RIl&wVh4M+$_n=lPw|NXs74kApoUfL@WeYXP zw-+EdKzAyCaS+l|Q6~YxSDE=cBs{46V1(5pl&E2ti&d&Qvn5fPa|A5TDcvN1 zWGb{A_AOGXzJ(Oem9DpO(Q5J11ITt&k^aB@Kh^7p;On7^ngPB(s#Edk`KgLugXlrk zgkpdmRxR}ewNTZse!!1VP5uaK2`Y!#Xp&Vk%`kUawPO*`@2T$o3YqS!MxbKye=kB) zDJ1Bqfg@Sjbd?j0J!owtD?=fU%-@R|IQMHeRddeT9`fh#j5j%V0L)$**$h_jp|R{W zJwSgCN6()+uxloOR{xB_P#WL>fy3zAGB6CMstTY-&^q2qN7At*2pmPTr+~vzYQb0S z7j~yEC=ttE z)L)ZB7%*~a?F^8~BMVM?&ZkkHfGHsLAGoAXXg{BAQbObT6HrR0*c0=Vda%Oc8YlR<9Z6!MBsUerCbx|D?ah7 z?SSw*2}nP&k>iT~B1HksBVx#Z&$d`F7V?IQ3pe#`*l)82|uxCMaFvc&WTCA0CHYD=Z*FS@wXXhUKE;0 zG?&C^&KtTcnsX}T6>*c@b~nW;E{M7%OnJPj$`Gk02z6V`K1VA2j!h{=#-mp(Mg0TF$CCax zNccob^!p6YUy0Pnk435U14lcaN&{O%(r41<_K^FzwAKR#s+L^%!(AfZJZQ=zWkLav;J{e$@>K+vMIwxW3!v=zk!gyL^&!zP#igCW6Br`2a@{yyf4XgQmZn zbA$6A1LZR@m^>_BO@jEr@`O}yijrS1fNDqOLq|Y6T0WM8xp>*gYv6P8ns2}&O;-9s zigbBm0TAxUg-1XoQ?~j5CGzEoYryx3oZgQgL-__*=+w$G-%m|)9Y%xihKdxol5H!u$Px|Yc=@pRxWT_**@j-F!X{HLoq-ODYN*O>JBUYIXNX*xx(kz zMJc8V%pFxiINTPkxNHH#V@jX(knp&2okL0|6t8m-Ek?2Oh7nFG{_HtPGAS=OUpQH@ z;ZumtDD86j+AF=2(L1Xge2M0qGUaQieO~FsrB`Xn=?550S6=a({F>5--&)rdKOYEl zLpjc6<2RLQ9G}0X+_Z;G8Om?`n!K(2x&a2dqZqG&N~W@%eFk?GlZw*>vXm~9(cDuW zPlSlsN@gYmzOURn4ca-%YxeQwD(l%}k*EC0$r1TV*)~8HDDORh_duyBz}!P+SreK^ zI5G$bh04M}P$^QH_W($-;yMVLJysG^!S{)h!?$dSVrw*q_N7YADA?YPu0a8T_4q%wdn0vE&2&CzN)qVfZ74onCa;GsUH3Wnfz4?IHx2) z^@`7%4^(-40Nz1WSKj0VsT@b5IixCs>lq*Q&g{$zRxRRJ%MsNsz9B)K&W-?_+gK&Z7RP{&5f>(P8LGw&@*TtKQR?zT@xm7m|-Zg(`1mZLELudZaVchna4$OvD za#h~&i`Dr1XW2z)IO;Tq0!Dwq)iYx*w}s`#ea*>-QzcFno8BiGWM=#&f%Ht5B>dkr zJEjfvo4cSbEI%)&FVGhJ$m`q1O~>*7Rj2s{x#l4IU)DKRU}XJ25@t8djR4V&|K0_I zP0RRU+dSbG7;K5;WRRV-c03wq>cIKrcDgkw}Mj zf=V*wWP;{d()IwA3-sx4=x~j`;xFBGTEQ7SS@bu*S+dDADjh6xsChT&lS^-KV`G`J zozp)GD19psOKHOrA-v2+NU`|0VqjYvER8YlnfK<}qR8V_KuJ6FUnr5)+ny51; zm%bz22MGF}q*74%K-Zf1Mxe!f@W&@gH!Z}dquBil8oG)R`~zfeV&ZyCdWe`r;CqQK zHz3R&QQi-Td&PI-KzpB9_&2VCk4W4KDSX8Y-p2(C*$E&aqM9#njCha=kdwkQ4^(1B z2A7YnN)RRK7)%yFOyGUh6|tN5MX6#B@)-VG)plISuewgBS3#W4tvNibKkIoc76x8to4E`>U3<9~8jqJNy-R>Cq2HXWsK{evf+I|`6}v@8tz1e1j~nn+sJ69zd>?G?<$ zkqbw^6HR2(0yNLjkT;l2BW)g}ct~ps!1@st@>aT-hRuYPp3@=DYJNcVuL8YJ?B889 zpnX%C-x{O0Bp<%+8Pd@p%-xnMIIw?53gD<)rt~}m_<2$bc6;VaW7JTsKst8?2oIzZ zck~`gw>c^3kyODRpF(MdBbp*NZq+A(?N4onA_g9IkyOEt!W4 zTP4lrmtVEye+a_VNQZt0Uad5w0)o~__xWnoOSM&e|Gk#tIp?fFx^)oEN2&WZfPRu1 zdH~T;9>6I~rK`PMXe@zi)tnisbKjF<30yak$~JtYHV>6ZtmB)+*$0R-#uaPvsP# z7xE|e2EUY>^HS%vNzUNleuF%oy-sgr1Mdgk%KKUZqftK2@ysT9djbaE$qqNryq6sv zfcQZUeFyd*`R>X&J~+ce z+5J7l_Eb#28-Tc9*)tQ=e3c`-w>qFWEP+Y=lx3VH7Nz`{1htPUV^3o+TKT}sYtU&3`X$vLFiMEiwRB_{#-BZP)9>P3RUh+Eixl%IN1Zq`E zH{P{YE9RUo)To#h!6Z#e-2||Iho61M|XSzDi!2@9cxqw1&c zLDW@c-4%Rysmeb9#7(t^Kc()fgG<24Lse`Kc|BF%rGT`TY63s+dsNq6@bkA<<-8u$ z_Ngp6y=1@Y#%6#s_|f;+A1 z&RIeUs(zjTNmPwyM_Q6os#!u1lcyOI5lvh*qiMwScTqogEEf zYE^UEgG#;XIVZBeQQhHO_eRw-cB{Qp<&FjVdsX2OKz>wp<%$xMyLy@$Fdpjn?C0@R zPiEiqZnXpN0KC;JPJ-HA_1XTgg^&7gj%OZF_vef;fAyflkRm{B$Mt`KY7aNC2vYw! z7?6k6jXt0ftRBLZN+IejK1?87J#-Zy6V&Cypi+`Lq8uEOO=<_Oi9Vx#eiQ6d)W=@2 zY1Ermf%Z9dB5yJ-ss|UKcUe8~0Oqc!2kk|3Ro#WJcB*>sOZ3vzZG9kGy88ZmAlz5q zs6#JDJ;fVyx$1a6B`IIM{8xzfQ2mr62ZidoaL8M%HhFSwL5X?@J1(B7_n!h{ncA%l zdgbb|(_ooOHSw$AmAZE?Kvt<+@4#S<+LX(7R#&p$qd}cxk8AK&J>D81@6?kP0_3Cm zr>CIeX!d{u!`saEBYi`0GW(5>&DwAFT@iY|W<5*DU29faaME z-GnQWZ}t^?NFSJ;P$0!4vy4Uz7MhLhfWcz31?6B^Vph-Tsn5*5zX*`$W^NLCWoGSm zgHwgs;r0M|VYY56Bz$Q$Y%xHp%tBf~iCVL9uh>Pg&3rsRoKEI5c0=wR=FgG2hTX_g zU-X>K=d=bV7xTg0(YTuD?F4Oi^Xu#d@iZU&E#&nwPv!5)ZgX=znmy*8cY*G0o;VF4 zd(F>%i6+>5=48wrF^^vaDMHMnE1+(e`D`5NW5N&exv^*GsQF^{@f|boGz22Xn4evP z!Bgg$kAV?yzGEtS3FbX^10>13Eq`fK%-eCa@2vR`!=UIn^AiGt7tAm76LZKzRx&!~2 z`KFlweQw^8*K=j&%l1OF3iEXhXll%x^UkBz{HtGZwd%~<@tUjN{MIB8eQkb;--vI_ z$Jc?_P78_mYAzNvff(FnVdCe{&0^qI@N+j=gjj>Ur^T!;kb93ssunPNE#{8~jE}_~ z_LJ_ncvt{@UyI6r(DSqC%14MrTD(ZaV3fs9KJ4tMMciM&J7zIF2PQdT@z4@{V=T&s zf@ZA6AC@2%Z(-o$0TV6sKVUG)qIw6UPqr{wodwYp3&n)Va~Aji1-0`Q-FPc`(PAd= z@vm5icT14DZ*egW409}=48&lr#n1m>FyG=49|loi;cmcV z^uXftlc4#~;#n5ZA6d-41;|2+kBw+vSS&Ry#^g(j*X;DIvIr`GFtrx5Ct$MP;u|0I z8Z2lSL~FG8m;D~^Eh3|#+DD56AJ8~jHp>9fZIc7%Mly~cd@i)x0ah_ z7KaTzENjalsF&plcM$WooWr4bA4|JwoTBb)sp3O5{49xoLny$q&j#pw+;YzM=$)`U zJO;|dSPrm3@1$kwMIgpne)ABb#aWh52km6b*gXI_V>x^qv`?|jWGC}k%gy%za?UcJ zFY^Vl~)Lw{ZLWm*N#g@##Hx!lXPTKya5a;+jC1EIj`5`PpQT3zH(-Y>uwwvKWIJF6P%7)uiOb?Vysu6gh@|XcZdgm zytT;^L@!#eYK!KQb$mBk_SAYvTQtwD zxAJ$a%-Xp--;dVB8R0Ljt;T~zwY9}H$W&v!ybO@F)=$TQcAfRTm!R_6x|a%&Z>%Ts zgZI`ti}Q1utgU3seXv$PG(m2cW>eXpy{p-|4ZwGAR$&cl9?fRFM&sGc1V>euX24jTVvJ07A5Xx6SH z%oW(|%sxPdHS>K4`Dgaq|` zdQZj>Oqt^S)}$41j+|>cw6$ix*Oe@^hw=gyfgr=RNcp?D(Y>X@rQsZekE1vmdvf1L`}MmtUZ3`p9pc|yBV zcoiOf?eEg$Qb5*2)7cN+^VE!`rQRXUv2`epXsS?@AW&0a3rR;c(>sIim?lC7w-cJ1 zUqOCSQ;kwAPiZV^u@a{Fd=MI**37O4%rlx>jpH9ci8N|h0Lmy$NfQ(oHJ3kw z%_Yt3e4s{au75%itNDvU&heTuDiSqoy2A-qHMP>fG)WT^0fJ=B_hi_6UDLV<0`F_S zcLU}FO}*RD_n~GDZNNU(BoBcTax@tiL6@ts%m9~X8e>d8%IBK-5omp(VRSw2OARkX z<15Vsdc)2e&ARn~z10NK-07WW;y~0sXzmRKx6hjPwAlHk>GKI@7i+f90ZNHx=_4pp zs;Tw`urkdYI+^xU({d`5snF#819E$9(gVPDXkQv>6VXvy?=Wzjv?0mp2|Kk7#?!|^ z`%+A%m_?=Uu zeL-7-`Pw6I(O94@Ck;s#;b#C#{ey{Fj5V)9h9cDqN{W|@h(85o5 zo&$DJH+&n&kLbG0LhY#THl+y}kLxlE!8=IT*$b^Fb@QL&8Aj^{QJQ~@u0Ca!#_Cr7 z2T7N8rY+zWr>jEQHwn6_?}3@DbD_~TMHluKMqJlLn;*x>q0^NK|G=A2V(2mAeT>wq3i*-uc;wsTKzYEOox-5#~{LophK&@Oifp$WE z=`vb^++Oc+9^~8gMxR+I9rPA7%W~A;y$^0X^~0{9(N({-A(*=BFMFeLm%i~@czw6t zHWG!WKAMhUcc|YkEU$#dc$7mo2U=Fk6MzxA-$70McsnQ{fw^y^kY?oGXx zCg`{H?N-p|@3ubf42n#Br&C~hPv4g2RrmEvDUmLB!H~qH;(4tshi;f?b=;OQ46Vd;2LSvae=nPQG z^|hlZMY%$M#STn=>07Izl%3(;Ur@&0V5D4e15^f?uHfquw|E_)<}^189Y`(--Cu0wIKemp@MeZju`5! z;rRRo8m>{G>X>0*84NvPa61AmP8v2l!=_Nf#p>XF+R&gTU}p{OX~#Iia6Jw5k%kpC zp^7rZTm#dKh7DsO@RFf#cZiQM{2B?&%LdN@;1X{LSE6>s&~6%-T{C?64@HV$cwf*N zQw<9rpqggT_=5hXA*m;PkztVg!b5iq2fw2+%b=ip5bqgI_XM{G2G4%b_pu>FLM_)& zo(SI03`75gFPsCSx!fPuRR&2Iqy^7~9Z- zGt8zfy$t8Hjg~UE&f55&15UWj!$RnE&SoL)bX>A&MLS;6HUrwBF~(++JuolZtm_Tl zaW;!@LSTZ8TRt!|Z0_n&+_ABw=x>%y&j?7kXXAApwE~+&T0Xw8nRJyLWD{mw1T~6m z3{BvSGMg)3#xP#df+jVb2_saIK6QFafy3-#7`>NL31IGqbEn7xCF|g|W zPHE8oMK_u80KeM%BKVKz&rTJ6);wxaxS?y#G`+I0u;S)#lZOh+Wkt zuLQw?YHM4-7opW^YVlyAstxZ6Ng34|P+xseErPat@~f@)0^Rd!n`vJ2salKiwEnB8 zmX{AULDiEf_8nLK0HuxHs%}kF&D+(-9Ry)+_4hic|EBs1Kh(ZfZ%B)*9W|O#Fn4#2 z=QJfaS>tvHxLmDK+!xR8evQHc=u}jrmlBP3H6I;;N1bbij|Z2)n)U0epcH;=D~xra zNv9dbP^)tQrO7)og=`Gj8Mn+=IEdK?I4w!&nvLR`FysSZDS|aczEXun2V{)DX~JM!gM#foYudKEC3J2F-Wh@iE!%Dj zN6MkoU7;`-9ptf4LTRZ_gs=>#mLse>ipE^Q^#llB3Vs8j=qq7v1ax{WG<*P*H^Kyt z+81GbW5B)&*0f9hO>j^{P=!$83v%NxVYv%{c4CDB0$s)3&JgG(rZh**UCeC?oL!>D z2I%c87S};x5-+!fzn9XDW$$(1<|4PFsEwMbYxvdvaGnDm~LGEMajbQM8u3WJhm>-le)1h{WvOevZ>`<-041IU0 zKGDwl0o9U!pwm%R&@R-@super<|UO+E(BgvsjGt7E!AO4-F&XnKc-hSl&Q`f0II8n zJ_@|OEnHur2(YlBoU>4iPqY<($s%nPimMjy;-N*R#dTVZVD{G0vq7=by08LT?6%fjL~+2nwo(KTKenrAv#Xe$`48Ha zuwPT5!7rw!iG>|sM&}Lfc{b$?ZRh*iZ<-QwXHw zls!VgQfTNSyr#DW`3fdF1h`KK=ns?wLV*Wr{=&}vC=Ll09f5L0I6!ym1PWdhu{}E4xg0YEdu7KxZc2omK0nC@4$x#+h=>*4_2X)@lY~3A@pJB6eL2#Dk9R-(gW>pT% zOU##oj?t{kPdtn(ti@5Ne3iZY7jo0sqRCL}ChI?6iSa*!-P#Vl?=XEc5N0x~+MsyC zx&%X+TsE^Bct2yUW`J8h`|bkz0#>CbFki3+#h`n|Hu(YehJ{gb^jqdR23mY$k4~Z} zVT)}c7YApffLX>2qfskoKdB2l@g7KEGvb2kehUHI$>a5)_vE=xQF!ss`H-}S5Bvl6 z9^mo~H2U#7OQD)SAJ8ALgFM`PjCR3Pa68Ov*nxKtw|7MCBtP~BYM^TK}lZA^ktw5x<+9MJ(-F4T>Nrn|-V#n5!G7~L8I4~zXQ z!RDmcG6X2+#GxmFa#{R9p1m&C>473s?63^X9*K`Ac%CQf??Ygb*dhrUeiLgA1B$cs z>DQ{>5fthmud7ytTcc9A)-pELFfrI1$6yN_Y&!PzRcI8I;;Jj5% zbOX0{%IbYU@LieH1eiaSGG!C^s_s%|MwANM-xv;5N&lc0qjI1W(aWk@sYc+$tK_jz zI8jwJ2E4DTs&xh%WFyeAuQXM&p&-1aT3ZL0nJUX9sPPV{O)2P{7oTrOIc35nxL-{{W7W(;gd>KE7 zP*NEk~@C{ELgsg3)v^-oVG9_TyB((;+(9t2jfKfW_w6Wk~`5= zX{mDYLnxFk*XW5ybz3g10-pEev6LKtU*41no)6^}6;R=kY>fB}jULOJXsCN4FH8Z` zTzPR9aLbd+-UC)BccHhdypks;LW?(Y7A^LRoz3uEvD|{bD!$9f z6!EuHUQL7p9hAe0Q8+5=)&q*OQl=5#McMs{c|0~swvE!kDV2rHgv=XkO9E~ES4 zq_b)?ak$BrOoYr^Y~x@knZaymukbd@JOWOS+1@UwJz;yg(i34P(qLU7OS%o%3uZ&T z>pi6hO7U88N`h)w0I5X_b4IeB#*s?B810(f^Mg{fiiwVxf}u!VSE>TxK8sT zntev`mtXOuF7SWP!9nrd^$NHo@R!X&cb#u(21%(rif(7f=4Ttj3HSID3UJ@&FH!(2 z;EH9yEaVBsN2tEwGVP(g=Qp1M^#i}U9O{4MU7A6e?|gF-YNfp5CPe(;tLO{3jGt=? zWq$H03WzA@wQ0>)p9cHu>_RyGZFX*jdgsb3BgO{7&L9qpQVdL*4L?N>c z#Xo$77&Qn@Le z>I>24PiXpHbol@W7mJxUP*jLNY2#&w6hPh8UD`%h`yG~Q(Ly{(s^JW#XQa)|pv6UL zNEuv`Aoc$bTy9AlDA( zJ`hUj>*Ar19S6)uf|6F&kA=Vf1(zp6mvIo6BaEa@m@9;gqx_GjLXADZc_w%{z^pt$ zL!aV&A=L%+&xJ{Jn7lw}+!BTq3I!{n#S5X|?-#8JoNl*xCA8av;mo3Nk-YQ@5hL(s59=u<_2{ojR?2LLP;`u`23eh3vuL0=|> zDZtG^ETrLThqyHvIys7O2BO#{ZU}^GyTyaOVZE<-n1Y}tF=`x&ePZ)V&~U%FVhO|t zh!%8|AW#%3MdYaXr3+xk#51&wbzI#4fby@x#0UbO7H`CZX_Q#B3|d?eM~?*Wi{gY0 zP&h&K9EZk4(U*dAsiH#*)NY7V4uMUk=$8PUvcwB_QF|f|I0`Lt#6C2QEEJzocG3$` zPY2`Qi&gi)mJj09>EKc#TGj`F@w+(g4*>0?^H0IlUTQ`+c)3Ukba98P)NUCl+$8^# zD7+=bDeBo$KicN>m-I5|4oVxT&m5B4)8y}jbj%LqK~jB6k`I;^(Te4y4RH#LfB)uqy+pbC0G`~!i0*oL`ks>LB>AK`aHl<3R zX!U+WTEXxP)1;#VK$j`)ngO~jX(^`JII4A);u1Mh93Aq=mDc*eK~JT9X+U`P>ZC@uJGO$smu$&uhOtLfPIs6G>a;h(t`jik*?W;&3CE! zNw6uE&e4eVLpn+cMPy$SZztEHm9@S6mL@FQ z<$NPu&fqFH4g*s+*}gmI-DSHH2;3#lZw=UPxidv4J>)tkK;bEeoCLRha!bm%+AlB3 zL2*FtdLLT&$xrCU0)M$Y3AKZAKZ?T~lK1QY-C=pmTogxSZ^{J?kgvaj^G?c7C)2lK zh>80G2f@rVg+jQdcqx|v>*nEC|?Ibyqgkx zcyOLFOl#S@JC1ZxNY8xnZTd7Y%^^S6Q z0|4(TH}0iwt<<(6?X`vi*Zs&jAQ z83)xy3&?d-&0h>UchyT9z;>xBDC23j%4PxRJXFRp(WrW=<}?I_mnzc&dhbzbrb9(< z)r>h1;is~t#1DU!2b~K!sCu#on1@uMGx5+4t9pG$W030mRrn%Ul}9I!PpZZr0bPiy z#wB1zsB$b&oKx+Og`gPK6df>QRV`_!`LfE(NPQ@S5tgD{9HAU)xcnsHUuj!0RecI$MycYCtD-Zm2f9qL!vo z)`5g{RX8~|OO@9GjoGR&ng!ic#n+?!tNSW}&Zj?6z4Zm*L)D%xKz*c|Lf?(~s*mpg zd#>tDsnG>0RW48pRlW(Jf2aCLp}6;|o0JduLA9O+>yN5`XzdnYky;M~Q5J7-X)dyJ z4_|}aB#Yy}kB(Tpegd&CEe1NO@%byUaHLHrXUiY7E#YfURd7Dg}@R^O;d=lw|Y!*1s5wdzQ-gltFhkD>423FeZvP@E&Bl@!mM0PC?c(9 z(56$YRi~$Tt|?a4e?eZR)uVZse<0Y{jV7kWRw-$4zMFO221q(=okQDqk=7eFL;Y0i zp|+5eYh9s0t;9Oy8Q6GMS+fo{9jTH)A?>g#sqN7r;;O`agfi(>QtE;HQI#QU!TL#+ z)^xk@iz+ihVOdd?J_kUzLw$1%8jVisKNf)AT^&yuNFM4JbR&$n`oTXaeAO9`Q0!L^ z`4?9Bt5spp`>?v?HRuD?>&`*aadiSkqJq^UX?PA*H%BZR$!nW?!-(_hDV?GACG~MH zz+%<)CqwN7^*u^TzM>W`f#(gQx{nX&Z>nc1!TXNd%K(aOb)(ZjeWo6<3a}UICNWU0 zNPR|v`tQ_NUIOK#IwldYZ|bWQEh$lVc#hf+b=x*zTCNUj3})Lk-)ZpLq1obuj^wPd z*bALpHJ$uGuv-(p23mM&jEx?m>Z7ss0@Hn(E6?CBKaCq*aCK1gnwCr_G@ZwQ=|xS{ zWHiQT9M^;C70sg)5SXgbH3gfynjG2`d92wu9q!80Se^#TON~2CEZ%DR+<~9oYmPku z<|oZ@nzHTC?xvj`Cv98fKTv9?b|77(;i^4;2g-P8Qz?SAM;mhmZ1!pA1w!s2t@}ct z9Mh%`0ZNG0p&HmkXl)MzC0e_HlF5>^MRbn;hPFi>YPYp6I4@+L-R_SC&7@T$q2pxz zR{Wis=YW=JBQX9W{8mgyKISZ;kl6g_x!}7X>Mc}W^r}1lUvhyaM9a6S!E;46ee3@F zc_)b1WJW^C^<@;L+K}dl_Rag0Jilr_^k-yqVb}_22b?fqgFHigbn4 z&r^mI#~EpnKfVcrgb78bA@!eeZO}4HJP0YXw?D??o)bVhQgeq<>~h|>^}t!+L!ro( z%WgvFe?K^)Wz{tLs$HEr76R7f&IgCJf6(%G3vUHJTZi02`?hK|VVp62xdQgvu^)8% zuRUu_=Ww<&%i+LqV8h(NW(WI^Lvu%ViiS2PHjVOJotZibjXPNgh1y)0mX=+vEa^04 zxv|DUP|ll`t^)a9T(1k*e&(nEfgf|D9(;^7Ndet)w)GGxae~#NM64k8y*ESzvmJDF z<|Okdholhp*ad7(vGUny3}vHs;3>fGR?zS?>yZJY&#eD98pEQeVI7(1`$c8k7^^aJ1UD)!N-3>~gxW4e97{K>v- zM`JnL{>un%6|B)32>iu1`oJf4eDHAy#7il%-~>l5gg}H7??#DGyZI6dF?jL=MDgz< z{CNma1Gp>YwgmFQbZq!2Ur(oSkMZS~P&>}mm!Rkg-m)7s4B}lRGzRlc$*}1pUr2|Z zL+}PNG@jyK8K{Nw50vZ_#+?^I;2C~{0_JD=O8Sh1^ODhE9l zM4ac3DW-psOSJ01MICoRAI(c>avH-s)7mMPubv09FY~q{2;z9{f8nk~?%fI6U*)-* zVaqih{t~cceuSKt!VgjMcq;F;23#`vT>~U!b1g0BjQ6;uBM9$v3;LFM%G;8?&v+?q z2<7pnwAYo-J^Fy#b8bf&&xL$HoiKdK_dkJ6ANY1B6d!qTchG&}PRUT_GY?mT;48PJ zOr&D|unRuOxZ%rWLp>jnH3a8+wzs(CMGQe&+paY$r zP7ogMV;gqX8W+9EzV}m==D@w*WQ;y#F^)6_du=EkYGoI6Hyk@rA4hggB(D|g< zANBw`r=A^*oNJj4t>*2fz{Y%Q$_QEDF%2$Ucw;1lEow;9i^Ud+_`4*APA)9H5euAU z%Pzp(%VS32?}~6g(601bK(8qI_Z`jBSJ}{^xz(W$!FtX4(@<#b51LY}t4Tq;^($gQ z@Zaq_P-w#sTKjE$Ou?2-&uFuDb7n)}Z^1E74Dj|^@Nr_|07!Ob6%+v2$;Q!$>B1BO z8r|4zx=GBPg;7$8aTmKb2+HqfBj_8}gY`TGsh+Ght$n@N%wq80!}>0SNN?u<9ddk_ zFa+M&i;D=+=*#L;WZT4YXybYxYfbx!`|(SdAZ2LO+Eg~|MSJWy_M z#}E{0yjLvr&EO8DkaU~RtOG7t{6cNeW%HZeV8lb-y(XpRJmM?pMYXxylR{@t`G6g$ zJ?A$SAS~byDTDkKZ!;Sdueo~?n7~0ta=KK!Q#5Z@Wm<7t|!fZ!o|MVL6|I7-Khj0{MbI91NAyhONFe?nG{Rv zq8|#1uKAvDUbhPB;@zvzmST@HR`}a?@qL7-lq$NZu=Hzg3r*xk@$bu z8ahQgJb5Vij~IRx97YBm2T$XumdDVv=o1~W`gdn&r3wv4`+()3neFfh{?4bR+^8>0 z&@%eZzQ7*iOebBZEm;WFraRDRG~>G;{4=xpJ3tp&(%Fhdf8K?yi&YfbUSeMe%%yge z%Dl|q1nBZvX^^+#uL(vlU4L;E0RI(b18GA5Wj}AUr)lq|KrIAs9=#S;Z0SNtI$IaF z19aO{8N|lYMXe%*Dv2^n_SfW|$AP+}Ny6Ky_zzu0q-_R!$Rw-At?n5gshN21IzW8TQb}i#2%- zOuT!x2wptEYS8UDSe7=+PmKTWP;SX;{BzRGUbN0G!H$)HbXrIgunlRa2Qw&ABZrMvBb=T5WrG`l{-4$zY0EE_in0akOLYcUOg z&U^zzb&(|S>iU89V!I8d+3`RZe?SM7-$VP~q3O_kF!KZVAzj-*?V6g%Ux*t zX9S%zoz!W z`IJjFx5p>&oaac}ZS#xit7DsYH<<0j)*yA;Z1n>peK6O2nFLvDd;SFey76@P@%j-T z@c)0CX!^h5>?=SwwrG#`O>!6DZ@$$AdT!a;3Xg7U?IPf8%Zq??V>Sb(9lQM;#P)0) zEjaOlO3HzEU^X2=>B+3NLlG|)NGTtC@QOAERK3}M_F(15wwwa0Kik{`sK;2V(cpHR zd7nq^1Uo_zm>_oSJ&H4|LmueQvNd$=MmTFqN69X+QMAVu&0Nz_i(!^sVPq_Grpfqa z){>&`acoKf2;$i#8sQVzhzyE9C9=VbL3o8(roxn~$O-{r5=*C1(EG%P*bQbw1`@0e7%9&krFson<>DhxJy7NdZ%9l00B%E@fPuW{ZNQH5)fAIH#oGx`EtIdLfzTMn!zq}3 znj4>k+ZkSa3v@fno7V?0oW~snEP|IlhQM?D=Xn?t$*1%M@ALf5EjTTTucM_*9CxRi zV&eI}*5IAOFRTK}bsmudfvLRI8_aI-%@okT%a7y$GmD4PQK1|o?@d>!<#LZ^;QfNT z9R}e`ews3JK5zr26@BCdnLz!{y(q`Llux8#^apQzlKjjS!9e-R57E)>ay}y!hB^uk zly2iB+|aookPrX~Ucx&{fZZb)UERRjTL>Hp3O^xmDGGld^qQt_}!i1XOc0q_0z~++R*bhu&gjMfQTobla7F&wYn=%Pgg(zAa zW(t4CL+xxKyAKS!FO-pko(Xw30m~Cyj4Q!AUl3@9_gv^b7|Ik0t>e-7R@gNR%DfXw zV^Di9sA=g|EX<@UVoHRx6;S58;Nk<6Qekf(c>fTZwZ&s96ZTQW1v72UR?<|`VplY#xjEiX{pCw2=4{Sncf z^0orRkUh{MP^>){)*ls*&^?mJ#5R;Xaa?RhX)hy+4-mWrX`cn>;%8zweC2Kv)tsWZ5p5v%rxZfC{ebkZqYoO}&TBgB6mpmt7t zMf>zI;vl-HJyzT{8nw&f9NL<_CPrBTC0Q(|Q))=h?hcd;aUNyO+!h;B_~^CRmZI&S z#9p-5_e-o(kJg_~(sD|D^p{d&pyE-R(?_7`wg}U`t4)8hU6dbil;0|X zzzE*&7>Y=KkK#d5{ALa4b&;<-04?Hq(go0`@fR;Zkj0-;H_zd5bz#7BzJi|qYcA2; z;WM9H0P#BnRXY&u79P^5?J4xU2-WrpIrRYBFBk_rL^VLTMZvL9p-wfh2@{wtD58Yw z@em&)IQKzgwlLHVI^_x{Xj$`ASUU$Io(cDM03}b@MhWRV#qfnFTtsg=`*ToK(?P(a z;#~^+1&apyjt&zu$%qK?d^wn<;QoghU~^q8L=K^RSDc2?LCzFoDPWrQyAjuYDG24U zcp?}Sd19^AV45#xJ%gn8qUa1OK8U^O2*^h!n zaFYfx5V%XhBRIyN<5D@L_#%ap3n04hI+UK98>kF0?-m4sUs(yV5 z;SD1wd#}-Pisv@&(aj1vK;e$RmG3kHXOiSDzm@Nreh2N{e=Fa^da<=a?)$kuDG3vd z3V8sht;~UBiTwAXPhdHi?2$*zrC88NvPvF3WC{KsL$>jWBl=FlEP2&zm4Z(mF=Qmv zj>9Kio|Z)?f~S+U^2|ruAYc~REYEpE8OL+Ua(TYbS17xH?3WiU$0ErnEhDSsm6~lJ z{?~H`2-Y6m3*vR;7x}-RgV4T#yd!U_Jp})6CLhUL>rp1mHu98g$7*hc1bapvlO5RB zKdCz~@|^6#ruo7;S4JL`Jy^wZ6rOBBRrvNWn|px<-y`hB@X85fIeWSueYk=pHUs-# zET2OBcKpm>c*UNtI0&lk{3}I29e8LcT(X0&q}(k>KB5CKop|^R^bKb|n-UXTd5i_< z-1y7sP{Ey_Zir$R&rU_Lo7*Npw1<)3c>+{V{s&Drz4+m4sO{k$X=@P^y>lphcvEXM z?&bPDkmSp4=T)vAs*TQr2K5`z`He=827$iGaN^RcwGFyL>!#^|wi$aAEIPf+M0;nu z*7)1y3>{VK+TkwRyY-Nl!`0n=FC6H@C)(ASyK=>X#S8ln9@u}_%t52Z&Kx(sFa8@f zap2fN!$-oKWaY{IyKGe-{mXZVnQGsg}bICA{hz9Yxi zY3r;Kl^0Z^YIGOVCqY@=c~TD*el758iC?P=lX_UMf8N;4VSL|l!)A^gHGasTA^rP~ zA2Mp>%)VpC_MJSFm<<^?4)Sl-u7Y1Rel-_v*4FloyP(b09&J)*!R*oqPHq|Y1o;O^FU;Tx7!wr4r zvjWrcaKk8WQ_WNyZWzf2R5J~VKsm3P$rmMaHx))0Mll~#$8#wBO^#HAnzE^gH8qSh z9A@dJYmumBnQYIaC@{^Z;;ZTWdBb5YRyR$I0=ov)O(&@AQQcHb<$&s@K^F|``S|Ll zIF#(IspCb`qJhcjBETIQn(m=wTTBfvf!SNrIuzWdiz)dMS|d%i(NyhfS`baVx|yO- zLJu5%Cdm^}@OeE=Ct}d*WBNv|PfP=2(ORpQ$u}0Q1*Sq&(c1CyZxTloe82$Hy~_YX zY8+bKP3x%mX}U&*zsWWpMXYH)3cl=bQ&jwKR4L(i>jWyEn2uBN)AS7mw;pU7lnDJ= z3^w^vIbg8q1xo1I@d~gCOpa9iG-adUEryyJT{Sdg9;Uw0hWb_9>E)w1K!~A7QE1A$ zX!t{t`Y99+rZJZYI$WnXqA){WnxQ)ZZDq7T?p@H=Xo#KCi zMP^_DfVE5km(0LAm6Y$yKt+FrqMm7Xx*6D{68OOktOsD3S)Bs#Z39I~*-yWr>`&9y zYlg;EY)0u6lk{fD7c*Ted>hp^^}PkAvvrDpE6Ki@!V?U&On)YW=*b+NV&??*n_Y>S zsEHj@EHnMK;i6u#p;D7lGtdXXk)}J>z!5-9*?&`(nH9-5RY?KQ9npHlgC1r`xtZ)8 z7D^LM;rBpRqE}G3iuC_w2KL8>!8g;G>xKrVY|yhVrgCDl_NQL)jGHk9Q(g)lOB}+X zRZNMocr4?8K{t%1#78ni(-N3sn<+67LbyS3y;3)&88`%)yZudd2`CyASpWQ{v@iqR z0qkV*N;LyLD}`E_fmf24VyKB-htOq8gW_T(w90QNw@xwTrWzVmX<%tkVE*)*tHw;| zjDfM0*^yeq|8)kPY0PayEfFvUb-xDIfYqtg)nJAp1322;HDh%KMfFO7wq~v?GnnG0 z8JcB)%t~lAGqeYi5Qdt@#DQ;BgJM#pnKjHnCjeViS^_9yV87MF+Y3&?J6njn}Lh7nWClH z^#J~_N)63G-}?x2R6g%N;U+9l=y^9bL#rV-x2LIZCWO{CD0Wu*u&Eh1{s~j`HM{9& zJxHyDHvbJ}driA;p^I&4U{GM{^qXl*GsMS~Ly#WL42odPf=FCzGe;GoDU->24XoRv zdsRBGt(k1LX=?_^LOX$BZ8KSWGnpP&9o#m}z5=p|28F6pkB+9ibo2tiFs7uUYpwkU zJS+Q8XESB0hAWzwt?x0zpunM+-|BQVLqF-c!rK&Z7kpz!BSXx<$v7ntY-*bYYaFpRRq6R*W*|dEb)dQHIYZw{$`NMZAOOFa zbmV*h`&6ns$_(s|UC$9_V|;f0e+L?4hVJah6${P!)^ddpD;+$}4E@lRE0)t&Km%(J zkXA~aUUWO$!9@b9sx%e8`8|mB1;&xLrv)*$kY4)4;VVzj%Dm<13+4 z&CpGNb~9@n3h4iK>gi@^WN)qrHS6SyZdge=)8usr&j#bfSd)DWjj{JI#zvURQSk95 zQ=|KaMsn#Gt{CQS8hhVRj}OQ-tw$T%X*zfxC~Nnbl2PSdo}1oNx$L>A>H~n?O+6nN O8cUG};B>kO-IK?hF)QYrb6n$^*Bo}uIj0>kA&QD35=2l0MN~|f5wj>D zCJ+@=6a)oD6aym4_uO&!{oeOK|2hB9S-ZM!-SFJ1>guXn)w3SQ`xhPU?^&5!5OmDx zfNVdwK+jZol_W4B-9$!Z{`XJIYVQZ?87(WNR96@+Cxn;hk%$X|WJb#in^!1I$!d*t zjM%@-2uNyqarkDA(Mm#cC>SJh@kSlv#0yhrEugZ%>pG^S6d^NGLt9_4n^!Q59c=uV zmn>7t50t8~wB(7vR1?@b$m+VX<2Z(qZYQhEJSptCj+rkFYN}%vNRdkzW})oIzQI^qjZMJZXfeRSR zFhG8XQS{d&gA4IM8rHjYhHm=fHk6$Yjx7aYhirMMI6GEtr_%h5BHxkE!arV1Cc zm1Uf`Z*3%|DtCI0#8l(nF4QsAxul~4Q-gD#Cona+i%u$2i?g>;nc5uxM8nkK`pO(r zmz!Qo!#H!=XAD!1OHetcK3C<7!ZhFx*42z)8gh?&@k}GGMlF$P%;hDDOcO5pzMg5y zt=Yvg&A6=g9MhZ|2XHO8vf+BBC3mHV!nER6mS>pO+`9c5rVZ!XU1r*H2YPZ$J8tm@ zk!jDAZ0S{5f7`zOqn_E$u18x|X6IE_8E?mZHI_Z4V|F<1Yq3i}_i@}ivytHUb=)^( z{|4R9ao?0Z2fDxGz9qW`^qr3Tw(Ml+32@wZWH*4m%W>b8EfuC`0@*$N(R+HbrStVn zkfUHYdlO8%9rvTyDqz~fZUxUcHl(-21Uu+1>=-A3+3UDp!&a0yCd6^Sp0UmLI&Y}l zXmlTmx$GeEtV@ith2MsTy@;5?AA!0x#qYxv8B9JV*`8kNrt)Qpj2aj?ogOm z$9*mK=1!K0bKE<#_t2r@9rq0#;BK>cLYSs(&@+xnaL`+_2XKGKao?7$+Ct0Rb=-Gk zrxwc0J;!}l_GcxQx$n5|$?ETDmA#Bgg$Xc9XxvJa+I;V%G&}nI{hV6t-ShJ(J?NpTQn$Corjw`#Ee3 z_@6rX7qBU7dN9m0N5K*{a}C2hcigXF&zw`3G{?OQTMU604uLhS=NO)O>7cJ?4*_Vp zgYLl!UM{9m_FHKhCeu;s%Qno>FjA&O|2g)^UjeOz-nS4lj|@$nAJR}t6| z*(~$rpNi64n8`6;9VJTu0ht0vW(BM1(_Lh~IWoKps~O_uXRg3XUZ>49C$uUSn2H*D z$QU;BoXk{m-1BVjnHWAC_Y&LOCNNbT_bR(zCo@itdlMUePGzb(?rm)UdOTCjabKGC z>WIO`abKRXRq*O)DOEN#fMJ?BNDOOgq-UBt?s+y-^_pubX{V>DmBu16jEPcj=tF5A=}W=&pK#UpshMO`cOy5{Wx~( zHyzW-!SBM3ex_$SJMPywx=k0&<&h9r&+Y(IS4V*-I{{4H9QWH<>Hys}7bFIw%a86n z)5Af(#9nP8F+Cmk*H~)sUYg6$bCczJ@Jw$9{Vp5Z#B02@vfZx%&-BrF!oN~3xRg8R zsb!pu+fnI)hN`|s&`Fk&jjZ+ytkk6U7GqI=(=j=8#~ARB4JiLRcwagQr5%J4bALB5 zj~#@j4#FC|v&0hKJj14N8hZM%rYJRi%`CtJIge85PrcZ6E{d;>N*H59hz+l!SGsH zVrWTUNyAie6t#5}x%?`6Q(`Dv#;apV+b^_bS+B9S5?*skwrPK=jLKO5%bI1m*}z!- zi%_P~296Q`%i1!`JASFr{ZjL@WSbH$R}|(4Iq}QvD+iBPzfwb67`mzq`$A`qc`vl9W(zQI%fV~9ZL2RD8;)Ue-#~KfBq|G2f58{bhH21 z9?JdpuWcpXNn!-NwDDKoAs6tk9H{O7N31>9_djA87M>CQa|g|f<2!|wlbC|MhMhW~FY%-le2|4R(&hm0{Wnlg?7u^oz~wLs_Tx%tw{cK4;5mXaH!~ zV!MuVjY*biGro5`r=>_>w zgoe?mqM&UhDvU-l2qpV_m95gaTNw?iMpMBoNcSFsTeb+&#J)Uktmwu-tx;?OH{dm7 z_!7S;|9#acB?aZqEw8OrY-~@jeO0Qmv%O-gbX4lgDnv_H6e=oSC7hhtdR{G^sg3F7_&Lsx&&Mq5)EVY(t^a@MUO@{{p3X#5NL2Ug-nK6&n8%k7t_*C7QoMZIy2- zl>D6Q?c1EF-@gX|0vK@XfBkPuKh%QmT~CneN}i;lp-lI`*CEXvY7@jDg>+8xq0+&930CBE&W^-2 zi&(FZB^7N4le)H@346EO#CoVUf%t}(sldE0Ce8!viCzyY6jazps*jp?h|)tKsXjhL zNgqP|p>AaI`61Gf^P1dSvxZ6!deZ$BPGI1_k4Q|VjbuIuuRwl7Nc-2JO8dEy>N@QS*6ue{x_=bidqfjY^-z*p(wFMvCRR^q z8dsEJ+KrdAz&O{T>+W1)y@!5=3hYk;6FZR~TD*=0#+#v1aW$!4aF8mn5oTEeQ$L0{ zw|yq_jdF-S2(LzgnZJ!n$K0gr_y}^+AFCvRxzmocwZY69{*U^LjNNZS*BArU!JbKk zvC0!-Dt6R_nJ3};N(|aSvUS`_t91mLR@#bik@ua^k63NZ@MhB`c3H#0yNR1H>bLwv&qV<5Zjz zNro3DQ1LB#XEE-M2dV2qy1!#0;e#XTKJgfF4sA#(woD=e58sjDz1OG~hcg7R;wUQ3 zzfb&o2a(Q%Q1Uo^5M3kgQfZxaj{eUsB>}GvbnSyNT3{5+F7Y()A(NF8$k@dLR9d|r z-G5D>n#gc;+oow`eu(2)cfCZiQ5g5p=>o{HMLA^VXj!6^>`M?2j3wDA*Qg)#%yabr z=vibe0n0;F<7c{GXrlHrbRdCA7f5OQtweWqCHmJnL|GY3;D!$%MLAlc=Ts*8qZS0{ zltWv|H6%54C)MsLOmhS#~$ z1M8DF{jsve@bZBuy+)Dw(MRZd>I2EPO((d|c9Ti%GNPY+OeO>S(RHexwEg{rG}K>2 zKrQu%-#+aGk$U|_*V@G-_NYFo@T))q3o+k8+p|>qHHm6y>^U;_Ig9RxhLUHc{Rs4w zmPDB_m#Vj2YjSB)I7vC5CG&SG&^5%L^pDs}4vdT;o}Ts&M7nT{ShazK>%0R*S1nO` zJtn37=F?T{M1T^96Hon{Wcb=|M4!Eq)ZP3_l#L?^?tu4nt=@pHMRUna^;ZPCr$ic# zU_mD^^DwOtnBZ*3_+Q_RSba0dk7=*TK>T=OD%X>0f|*P{O*9dp@6QQt!}C-+`~zLv zeNNqBf8&Ol8SmxW;(Pbpv4KKEodFx zPY5Ua;|FxVs(@rWE>&p!FUlm;WBjNB2Q;DkiI^(_ikSpvo+qRW@~E_ijg0jvNye%= z#{Z2|h@!1RN;hny`*Y2R-~5KIyIknH1XBuhJ(aX&1&|xv98wJr0)(CMe@_Jm$I*2_ z7h)ZDhM2xpC*goIq`G@LRkG=CLT!6N<{PIHPlV&;dpeUkSJrwm-@ZBV_nu8~e>ld_ zyc(n@?!|~GGb%#LsVofA4bDEOLWjQ0^|saxwv-Gq0Qc*>~*4a zG+_$OL=}^w{9;V5nZ+BZo`PMd8t2B68C@26R&xk7%78d3Rc32IuVf~O`|pwiLDh*f z*73@zevjNZxtHwbdq~v(MJxmH+;<}3(e4shd+5pga}$YmIKny@!~Z4^ZuyYd+WBN) z&~@V6Sw#2K*Rr_Io=rgYTQJLK;$M*YlHJIGTFJyC_9vGm${*np~3zmkM&kD#j-vmhfq9sK9&Lr@)BzmIh>TXl<}a4Zee-8yJr{ zHL+CjIfb%XPtc9D+t_X!&=tJcH~BE=!&dqRw7%^3Y&4A@+u96ve|8rltJ=eCr_N9o z!L~-!U)aJuDvNgT<_5Nd8@o8oEO3T$dz@tWf0P?b?~h2X^g6WaIc^Tkm*P36jnJLS z4W0?XT&`KSf8ZDsw}D=E>H+vvrOgp2Z}4{z#M@PfN0SYzf#|<5bN78*J=mK9Anaq6 zec+8^r?41t6WF9K21fgdHD#)h!uEzBU$jG`X+EADZC&TDaMO7VRyW#uw9lcfFOHTO zu7P8Nq~S{jJ+#r5nc!^vTTfI|lU|9y+_dllx<#{d6QHsApr?S}qWgHDX<0B2wbd$( z#`4zH#=?A;JJaD#?>g52?04&G;IfZ?6a}U!Pbx#v+;iU`wj{j=6uGju-om@}tne7j zUhKCq(CfoKcnFSQmcN7KFx!0|h^N>_lY#mS>i~b2b)Y}TI^dsY9r&YIhXWT_Lan{R zIvlym!V}DYsg-39>g6R&WpFLSI^kMw>sP?8vOEjct1o+n3auHKii)cD0FR5%C?x_? zO%g+K-|9dr9BIc>D|R@Eh>Os55seAG;%HXc@5vQZ&LIEpj)#m9N+r61TH&=3{#MOg zZikWDm)qgmYenypdI8h*$A31WwA*tl)h#!{f@FP z?Bk9w_?6Aeg~tW#DOy6V;~rK5ryDo-G7PTgnyy04?BIeoBJtta%hdOLxw43t3;VbY zw_$fb=Zw&q5XQMpgy1PItunNo=H`q9iZk4|<}h)CyS@QF#c-8+0Ph`+r6p@J*PWJ# zPr3foWY4&)A29fmn^^)$CU>M)0EJC=ZQ(mX(O(bT*tV*FdHSsDYXho&DbG&gDH zQ&`JaGq(bi`e`N)fMAGbNiuSwn#P-;?U-iaQeZlc1PCu{u8jcRE1FiL|7l_|z=Gm( z(NCeLPR*r|X#8h27;F|vGmvcVbaQ0haf_()+Vi=h@6hsv+wc>0@Qw4PCFW0V>tiIY znra78KmHnw83ZEs?LQX!Zf5~!WHkibgb8*F3Mb|*0r-u4e{7%#n|bxKW8KXNX>9gj z43wFy6Lsfowgb((3fMFr>Wf%=M?30jHCL($sP0_vSmbtag@d6ym@6(u0FNGyO6_~2 z4l4JW3V*63wFb=UN*7S-_BshlH#=+zz3T78wYN_XM2bkJW_K&{wOY>wU!Bc~knv)# z%>vNvY=wa+@n-ceA-u!RzBhpC!zzf#qgxOD3}HW3>Iw;e_GLft>|`(2L%jvCz2h7s z>)vRT-DFE80PHPxUk1R&vd=O=jAQ$Ffis>xnS!$0Y}7SaPhiW^@|N%>Xf(o!b?xkJz?LQ1+aSMeIXc z#AfY*Zhx-gGZ1%j!Ol<`z}5Q*xn10RZ0`zzT!+2L1#x>yz`@f z!O*#vn_zDb)(|dmC*X&2bw~)0Lg^g@RD1<%O#~&fLnYH<%O17}8=$*2a zEi(iVyx2vU5n$A7K-0TW_K(HTvX3>@McIC~=UI3X#^%#PJDlxJYlDMq+4@?%{|>QJ z=0V$Ic8fDmWU@~`Lq3Z=gKbxgYb|gpup=+r=du)tXK=w|pe&mkKLi$Xxc-;H`H@@1f~A0S$Ht&w|H&=f1Hodh zp9v7xX}0wRL^n^l%^7gwP5*Q8N_NFd<2kOB0?{&Bpym zo@zApk)&x_-hj?*&G%JEax|xV0mWwx`x6ds=P_oX+W1S|QFfSLu7^)|`Igy`OXQcDf$$MO@HLdB z@_QFSE{!+RqA-I$&w==w&n|%YTR!?J5a#p48Ue*8-oD8fRr;Bqi&(7ig}<~8JYV_t zlaTWen*EMslTa`e@(pOa8>Xm3lXE>%p;-FI^7g~oSXDRW!CTY9Tn8@%XEk~wtU5X)AK`7kr)L?HGVVRAAmUj8ZrmDz~8`mh~ulEe;wvVhd?@l3m;*Jy(63?L*-F!QDfBR zF)p+K5*N6x2x|+`TtPFayvSXf1#PihEe_o!j{7PhiRb<>A-T;x$FUh9fveI9xkH-3 z+dz3k<1zQw>r1PYbAeh@+$S)Vt#}Vm>$(2+&ui+AU9-X&h#qU!t4LmImb`$`OpT^I zS}sSktQO#X(WtRVzG>=>2eDZ5o}TGd{48pL_53msU^noi8^D7-d>S_O@xY|)Ms7d< zc`=lQ@vJkF1N_NFFdfb(@ql-b_izKKL%jWU09X(6*9(!2;2Sog`rr>>ds8^dKkG;J z!FQq&={SET0BvxBFKh&Dk$l~f&~}o~{tT~9@%Ejtdzv588DP%vZD_J`mj8ny?dSNO z)4_6{U%DRXqjy;`?w|5^ov+q7Fw0HK$*K~E63YX@Zj;SOyxENX>4+K53A*st9(6sjY&Q^x}6 zX>C7p`>ZyaTFhVU+{%DL{AV{h9uiZ|@n3JL|JR4)|L0R79Ao1j!b&9jk)HL_>~spa zo@4J|X6`Un&ZiD4rc&QvpsnJt>tz3rVW+8$fxhNn*r|0eH)uBry1Mjj0>FJs(6ZzA zIfyhn%D7JTP+$7S!=S$e=l9R7Y*;h}2ZpUJzDmH@O4o z8m+M_z5h38%hQZ*n>O$_Y<^Ow&^y}3&|)Y682@b`LCR1tdg`+&f?(=W?VnMs<=?x2 zp{+M!D?&TBjZojA%`^b$5@>;@FgAA6zq8ms$HA@2hlgUS^sB8KudGD#|E8r2;9;|> zqfmz})l493tx(*0W@l>pIXHvE2#d9xEoD7`~3K+$jC{zgUg@zA2Q??fK-en+o@-hV<%TnD)IgSvqmN8*0Su^o^d z@qxlte+2ym@X?_)a6hK=1=9vLg*L4`?d-WO(7T;gXnVzn9jL-q0DI5_ zg?rc+^fUyseRqK+l+}&;=S^0pM@i6IY@+#W*Cpq0->04c-9x-e!`kq}v}HE(NHcQW z=N%~HopG#3nB;GUPcxg(0`>*=?Vzj(RcQV1!TvCT*N?qQPh}80vNg&=*!HwW3T37B z;NQK)OEi0BfIWEUts6{0aJ~$Fv_Z=}t*cfqIMNp8=(by7+!z&CuDs!Qy5t`3wS^jWPMK zn_((H9=R-2!R&t~9}(<2U({s^TZsner|cx03l^TSG0lPX1$$#K^uA=nJ%B5ny}yIT zpY7b(ZqV<|b@zrwAFey*RESBm{0lDlbH{E0&`z#^mJ_=;xd_$*xl)P1wVOM32E;ww z;}j70a+O9xAcXt&4k%A@Y4>3l%eDR>-s39M`}scSM8jqxH=4GGlDL+I6n{(R8ib(m z5tr%G5(DGttLavchg zWO1(tL;MZr8xLjKT&f*){gyj93B-5Y@}BU_MKgt-WLM3*G0#0&(%m0aKG1Vrm4~gP55It^HEcswj(}i;waklS<`S8%D!qgu7Ya? znoSgWEYy5H3i0n6H|h{SG@i6`@l&%S91gnj_V1-(a222OI|SGAt=v$!jvsyn66^WR z8(_knFCPOhHu9_&aC`9Scn}d`+3XH&Tlhcdb-tBfPp{`~{6U(`ZRclx2PSX+AdWN& zK74_I#FyVg8+|)@w=&2D@DJxfAdv5AcLFtt?@P|?;iIeo9L&$00~DcryF);+k57D$ z3J&8#X&e6lA8{495AqLbwRniHKMlDE-j;&g5#H7ST8{C<{|50mZ`lPck-Qg;7Q5%a2;Z^R_;Onzn97T3NS^ZhYJ>GTKRXK0(s32i_4ffRFc5yrlQ zysL0p54qLC4SIvG5k4cDAgmMKQZ&v@&>n=GyWrdfavKEWA0T=NTPU!$N%%tVmo36n zTDsaj1?wURZWC@)2h~gXh6A6%4&h)WnD7y7Wg+h;FfBp!7fPN+1qTR*GT_`LOl=CF zK|-<>uI(0vZGi4zfgKOIy+VCY)LN+UlMV;$6K*6y%K<@0ul#VqItiSIgt+bCJZu-H znW6NE5FHCOM}>(g5IiCH?1An`VaRRxdrF9(f>GqOAU=TIvx33~4-e@6k zL9lOt_(h@VdMLdl7%9M?Eaa_4?ve2HE^;Ztm~F6|DjcNU#b?5%+9-Q2*u5SB;tQek zW>8-WW!nO2hQLwpekF|XgrzK@-F|rgT1c+~pf1`IC6Ksk&-Q}B)!GR=fMSid)J7!h zwABny>ZXmM*M_@x_*IB+(9RqN^qaJQ(|+`3Z9NsqR_&Q(5Z|U9X72^_-rC>hLt=+^ z4Q;6VYJJNBsh{@uEb#2qUZGv{0BuRCr`y`5smLX0)dk?Zr=45~*!Q*Wfq6SKGC+u(Rm?7JJ$fuo@&d>$UW1}n?@6_G%Y(8tS_{+1^{rn zwr(L+f_737+|JYg=J($eCPSo;GUjSyQ6L|q;cXXm5rm{^sjaL2`B+VhAME4_j4lVbQt5KoI2 zXMyvK_>@9G=fr?$;5{#X6ky?k*bblU2+?9o#8vIWB{8Ze+TgP2OfQ71V*E0wxhA%y zoz5F#V;n>mVnhq=8{HB!vyh7wr_O}=cu}Sq`)%<%ot3#G2H}ey;jZ|l5M}qpwj*Kp zfw+UFr4Plih^Y$6VmxhjJQ42<085IPOA8eHGw}?~ke`b#iC}#x_In8w>0%fy*)qjw z+7QVS>y-yfw%BwiayerDO4!X6KaPO>dr__e&JUtTIEWv`75m`fC()w?%07!uV^M2g zMQ$;Y0&$cb#6q!AG=P2=o4o~!A9it4Aq0PlH)+xAB3)Yu6Ry(0({OaPRF?t(YouCj zz`9PdXTv8qDeMiB6H-1-dJB=#b1x*PrR!aQ{*2^F8>{D~8{@$eB~?EGOVN_GKU}&f zZAt=)%hK%|V7Vgg9|+<#$sS1iiPxo5laSn$-07s;Eh&Uz#BtK0v(Ozc-TV&RccdCL z+})LaYyryy=}Rx*O_ZW*1N}qkExmw}rHR#1_E_3O$3~t=e^&zRRB0KltDj1FNx<}6 z`bL9on$)KS%)gXw*hfM>U0PNipk7HubetzsDjtl&H}fQMdde^`y%GD!Hu%if@u=MEevJVmhGbfNK(ch?2e;jj(5y}zMslWs*G zv~AXnP6BbO?#BZF-KP6q4tBTeDh0!?w=SBd8$P-uTFU$C3h#l_UuPq`J9YgjmbgoI zsXEplLZI$X1+MMZ-N7EAut(>04Jbl%!z#l>sBU>%=-#jUMlzpQo=cP_Z!Jl;9psuj=O6N^$?Mz+st|)u08-Q<{ zgg3fHG>3Sr%h?LzJ6%r%GlloMi4CAEPj{CNgnrZ|wntgM?z)8BXPrWemM^+N3y`xH z=q5!_JL$wv5d5xNM)BYx-MCiB{nVAuMqL!^I?~ZKSGfx@Il!O}5#!d%FoklP4Q8Y!DkAa_cRrkVL^xl%FApOx!3L)kgmuN`tx@-^D7 zzaTq#Ldzw&B*g_T%dP1AQ?EU5J;AX)BNO-d?*-YPvrNsJDMVg$3y(7 zeEkwoJd?-cAc&AASKNnsej%TywP(7#f(E|~c>%qlGv&?pNEBwtU2uRy$d-eLA(tcT zX{Y(g>L^6nRuN_Ul*T2YZNIXD7PkkK6|{j9u8gUHH zz)|ITBm|Bt2{_*%oKO;RU_>~j#I2_DFQ=6UwU9ll^qGOebIJ-je|kX~@ds))T3M_| z*(D{A-XNEi@$>?_s#I}@iEBz@I>>ZGai)n$jItyGKyNAGuTd7O45OY9uXxZ(`L^Ok zv(Y=sSlX<-tJJ6sx%Rl{PWThuSKuJ zp*|xpK57RJa=xlm4>><|awM8CKy{A>>|JUQ4PLudS2|C;M}1ANx~uBpk6^i`Zl}Ta zy87EnAiQB$Po6=Y#HjAApys9;MjJ7=)ViCIi&cep5R6lW!${)Q=#y~twknbr3F%`d{lBefiDMy9CKr$X6t_2>dvN>jhldC?bY5uJQ_sm>|_v~+bV`I4bdO>o3h z(EgQU=}?c;mxpktY8M04Rh!-dlb(HnX_V{!8;& zD?nfXcl@vQ}orjY;LYrlDwxR71It0;9OQ&r*gq_E=<8$hXo%Z^pwDTb+ zNOf7h0{2}NIz{~3p`$1r?ivHm$r;W7v^=;wG^}Mi&|vM!cCHHAF4n1x9WudeG{t!L zvxAnx;vsepwc#<=wC0~P1UtkRHz4IB+UbOuJT05T?czDwzdS7VXaXN1#2L|m zc|@Ev2}+NNse2%QTx=T-))S(=4D3dV#SIP=fnbRBVeBC z(G*FPxTg-hydc_JqcSdu>OHVr7NbfdcSS71nK;Zg?b05k*Tl7h(POTQRc|48L-cnA z(ipLrcC2rTzZD>NON{o0Yq4VSM<|UGJ64C?c=0+N^|&ogA`kD1^(p>*Pu#49iTh&C zM4*2l?yUpWiQ+^*uq265bY$|OSjP+QCX1Q&KT!BctYiZ9u~?!U%s&zR2177KT>K~O zJ`-E^gfq{@i1(046F=aCY~h8tik9jx#qBgd%@C{9M$Nnu<4&PwGR0=Ez?mg3rW3xe z#dA7Jg6aS8d{0FgH7l8RF zmf8$|KZ#Y>f%CICpB7qQ#H$o^{VKkD0)YZicNn>E;?oW=Q7A4b3F3G04!K<V3$t9S0bq(nkLKWXk&+J3`CC_MOD_CfE$yiSHEX1eLtt>N6uAlYwN5hbg#3Ex zOdu-3UHV=OqKC9*5D;#XTG8xnv(%P4%NFTX7z}z!ew%@Ct5kL-l5JA1Csc2j)>F*e zTN+AFw2$cP)InEZzDJ`76?*0T8?@wYvek*QDjkk-ILn zmOdV%Mm)G3_0rDUuDFi)fePc%%5v@HPwsnTNF zhO#zLrv)(Rgnp=gH8PBTYu6A5(sz9=v!bi8Qs#l}b~b^1Wof3i&*#4~2O?NMC$l z;-mDQj$-6XFH}_NC#fKMAJUh$$o-W5_>7#3?k@p6uDYcZj99H(MaOv7=)6mU=%(v25_WN-=R35y>tbGk zWrOZ2ZK`h6*(~taL)VNd7Hb3*#4WlG)W^5#+BJY@+jVtlh2*WPITzZnV&B44lMcWN_RlR?8I6D@&P(eI`pwicgPjq2kOp!gik@bKPG@PST}}t zIYM-nGSG5V=hOyr*LC+BB6m}lK>^uYI(rC+u{xn8h;h0J`4oSP*Bzie-P^jWbSOAM zw_`tYcXZ=vL3>yCz8!M+bUo?7*?nE<)`0dv_h%x^C+ciC35r$4^RFm-sGG44#AMwB zT1h_A86zP6Shs39>gkDYC#~U9bQ_`|o~qN(uEmAu!W6s=RW{uv%F?9ShmPTHIR79ow1e^w#wcVZ`>wdzW^{^viE5C zvR!^nu~%=KpWNXlSp8)?o&4A-*Xsd@0dmjRsJ&gX zip^gkP|l#xV33?k@ATbrER98bfv<<;Im zaY7zU8+|9`N>pp7$iU3pqPaNd)D%RzEqeoyGNSCRc=qa@K0s$Dlq>{9`PC8KbH^B zhofoow9(M^QXWJ56X|juO^7q(3po*b%v(@^MXO&9z1uO3Svj%6Iw-%1ue00o?1A8MMRZu6WSq_eRCN7YuqRiH9J* zNr~oxVzV-x&iidqZqX-ro=UlNRLM4_0!@g#l%Xvkuw6Ny195NV(KHC`uq(FxaN9>& z{0VA&m4oq+@K^fayIQPEFD(a8fKtjA#6YD2KGhb2lH59O;K#rlqWtWL z7710>HiG$m${gB|-LLeb1E68b9Xi|@uH4!PfrCma9cVnHtaL|mSh0`aiZntQIs%rC zD0+&-9#i%nK<>Db7KGdhWh|YFk5oQWwVhOwA4A}jvW*)3jIypaFr8Iqv(SA`c~6tH z^GZe9%!*P*X8`C0r5weD8aNwx}!{63Aww<`gnl3 zr=(E${k~FxrW=XM3pzNEq%59?+(RYq2LzH8&;GPO`AB(!Pq(qyji%{jit=I|h^fl- z>ag@w8BS;KpDDemVV*04CIC#Dl1fKhUn;X~P?N4KTZ$w@Svwm7uaviRBtBDlLtA56 zN*5DQWGiRr_)Ctmi%t@}RbCc=_)b~5jLzTWD!w$?datC-hnf#cgT|=6k4lmV)_kQZ zoqPGDOrWOttn{a-+83omb8r?YQ-6otHznXU>Y`BbIRSz1N_m<{6)EA}0rZEGT?+!m zN&-!`T-1*Bz~ZV(6zN{2`j4gc-)c4aHJn+ao}uW+I&}jD$KBMI@4&NO?Ma(8?rL>9 zxv@cA;(<2YsBWbFvQ26l?f7n1Q~M&fMUAcupq^@tKoGa8x8otcO}$wTK)0(NrNH8? znp1&dhuZHn?D?o2X+>!FRo6TKQa{yr0fjr&wU>Y*KW8f$?o(%!Lxb*DISq*6>V*klIjB0*aos~| z#!_fGtgie4VuW1{I0iIF)FTHVcvLO!1P_m?hv+qWT;=F3enRaX3zkTn41uex{* ze@dNeMDDa&f``&GYFM%NbctIUNGlOU~h?e;m)q0EI;3f40 z?eSbz?U(WUSHcxF_blvQRSiMlxu))?lN{I8IGSAEP_M3p`4}~$7l=32cCBC{PF-CK zNxa(k61=#rcA5!G32NwCIB`eK{{p$YstZNq?x|~OVt-%FH-htlDmg(*qIx0_I+N4^ z_R5e*R(n#Pd!&A+ug@Q=H))>nL=C1dO;c3mJDf>XlM*5SR1H1{foJMu+ID-c?xFK# zY3jV)0P{kfeF0iB)Nyy9`;{s_hWSjj3I&O?)ENu}UaJRXh`&+8lfjv-j+{;F{~Xne z7PD{F7cU|4PAyNL(dVkBa*)VVkHnxSeNYEgM((3ppS~%{SDW4h@srxG7{t%&H#(X7 zMfIhR9KNcR}i(WSm{<`X4 zH-r2ty^c;9tkwt70hP7-+8)5PPCukB%G~s0qR>q1^=F5J#a*xb1vMM=E9=rzp;syX z?V*1g1L9_VSRIIO(bss8A4s<98_|fkO+W22P1z7pVkzt{`%bV@OP)a<09k&^ylNDZI}Kn%|Qb7AOD2X-TH+3(6UFr zo{k;{>)Q{3mc9B$bSyMPzy1USLiGzMY`;(cAsc1;^~30cT6?&DDs_y5`u^YH(;j=wCgC7f1BfX&!h~Uy%+?9@B5oK!Tn>>fM6i{Ym}GKG1SXf1@NY zoz~B!U6M2U8Lyz_to{d`wmqkRTnD)*{T2Gs^n$+paHx*9>&MV)@}hp@93+?Y0-fx- ztlvOG%N6}R`k?2kK8j-U*YzK9=1#bw_hV5BG5R(1W!g>sGJFmp+|u{&3D;uvg%sO~ z(?5%VK)gQvDg+YriPYKd=&iIUysKYGYtnoAkMyZfgnc$U7uoj#*|t?#)Eh1vR4+KtN5cT7Wb zz12^rgB$PkjY|VsuKq$XfWFuFp?E}|e!d=@AM`ajfXUZCr76WH{SEqh_p|@ zTA-a=4Ss8&W|g5$5KOE#+&&F~b%t;ssBtrd;GgY2!VzkH;@Z5Y@v^Wb{k^p z(Ec9713DNJYzPg9z+S`2D*zK>hz*0zP(yP}qV2*y!?grt_Zx0a0>m&wZEBeVhMO~x z3pb3SG5??;h<2eP43Eju5yP3A5IAa>d;!iJGXzl095-|y0~3*k?WI9HX;@8N;FMv0 zD#TA4rc^-}IAd744Cv1q?hgj>oT1%8B=#tS^B<_-3x-N`&OF-C{SgE&8rEx|^pc@n zPqfGt!&W*2c-7F2Hk_{+?w5nWb%QYt0yhjRsDfe))#)(SO@m5DC2koOeFRIK;kWPb zH{LKxkL0$2rwCqxq0(xU-7$1t1VeZ2hLTZ`zh{_r6Ay497SojCvEfNCIP=6{q}Wc1;Tj#!d1`1u^OI)=&r(3~+|Zkj2c#Je z(HHD53@?uW?@Pl(nhd8K7R5t#hQVI3HOyxj8rFce*M`;=!1~6}Jp|ro8!FPzc;pyb z5T>^VmAcnEgNri+at))(A@|;(9s#sGLyUyF{9u^c6DU3!UTcu#8&W82|H&|f&WL|D zWYTi`tKsclC@V0Wq8|UvaK)Ys6NQE`6tMqpQ0UX4BEw|*&i#jB{A?sY4dF8&=wd8; z5V&29OVi=SDq{@+9` zu|55CL5T6iV_N@(8mrL+WuLKC8=%;4OuPY}Fyn4|SsXAv>;=|v<6pgzJ80B&go#7O zH?)~{*ceEsw{(_(MFked@ma-Tm|upF?$p$ z|Eh6#UqHKNyifbx*NvCoK=%!!2le$BV|E_!-ZUN&k-KGFL?=aKjq`iJP@FO1CIsS* zM6>+XRssm3$(vFmfA>;#=@#;K*C<%O}z3g~=k?A;f{ zbi46+G%6~?_?p7=uZ(eDA)je7fUKajh}sJHeN=rg^jiT4yTi0if=t(Gy^3gUR(VST>rDVf}^2 z!sJW84Y0}dml4#>rgF4O+G09RD;ZDIN`%RUt)^jnfMT1;aujyGOzrBzi|wX_ekk)c zO`<5l4%0^3A@MPp>7nv9T{NOa{7h;`mb^H*lmiW zvt)Zr#wO4fY;p^P`Msv+e}gr|)ZlMaRH*4xeaP=KZKXNLe$!hzbRK59k_VOprfX>s z2sa(t0Tc&Kl}@2y4w=?$hw8(oIvMac!qjmLaz{*YS~zjk6x##nPna5aG~oG*G-+tJ z?4&7h6)c@Hg?EIB(-d{JZz*f3lxM8YR3!q|5 zn8x6dF^z77!Z=fV+J25VWj;r8+tj}bhzX`o6jHupN}~AKUDE_DytrpN^BVr%H#P8r zr3a?1m61y{wQB@RNv7zMsF{bR$SV*?HbvKhOOH&S>C@H6CjW2%wLdXU>jtGMCfzIu zrkXVLR(xvm2}16f>CAMr;d4{JEwGekdNm$`>82m_jAWP)PQnvo@}r}MnWoPVfj-OR zv;xU%(}GtZzA^bHfiv5by9Bu$Q_I81y)^~XS7xh_b82m%*ksfW$sJoR4$lr7*Q5& zP8|qL7tIB9p!AY?8XfJpY+f`Nu&>f+XJn#ft`qOXg?X`FZpk_iWjXeM@)RIff zqJ5SdG*RAfX?+1o!z?Z7$AS)6WQy(|vIJHJ%VA5<5j0_hWm7s39kV?y}|JN3dM66kSF= zU$eAsjDB(5;+}_^xnc3A-?)geJci4392zE{T2|AH@tLI`ofv#>@g9W=O0!gH0ShlI zBafpJURsvWS*{F=A(fuLSC+y*;9907jkd?KERSi!@wH_$MNG3TpPIr%j^%+F$y-aW zNl0=ndqg<;-twsu1oA8aF~Ix5GNT@dA1$6iFrRO^@*d_tS!PuOrmvPPIx1LTxqK3; zzgd#AQC4V~gRdp*!gtF6J+eg>Gadi`VR>{65Pw>Jdjr;DOA|WV?_#}>0Kl%+L+fCE zm9-kZ%-34OXjQh(I*THuZq_d&z_P*W)C>kUT0bpB6M9&m(a$Svv3hx-%+vauzHQlR ztxx0IcIzve6WhJ5WoVmshjq~~*!8oDm%!?8U2zMb6R7epSeb4}qODKRH!#2D*zYNngk%rk%;XJu)U7H|F76v=JtwW%Q9wU)Vu z+&!y3p%p;gw>It!`6R0pjKYW3%8|g9Y;BeZo+sA5)JapUr|E=Gs&&*ia6Y%1zk(&r zI;SLZFRYy?^qyhO$cD04)+@9_nQ8T)H^3X~+&m!6wwh@!onv(y3zl5#)N;tZx1P3_ zhhU!d3hkGEv$mvoVxjfSD#(Ag7FGqZ$eK!JKdhx_g7MQjj^gUY)_@e`Tx?P9sC8Fc zbYlptvUQ;$c(v^WjfiV(cj91otu5v#nqr+z-U0zPTaPvnSZ{NoF~Qw7_r4tvH`wB7 zGiIahk7W4kVf#WqN4Lo~K!D(8+eZ2}Zi{UWP2xRmuO6Y9w%Xp%LTa0>gA7hDTeW1s z-flZ5A?Iz&qxRWhdomc7d~Ck7vh}t3(^i3>t!N(F-rx4%B9!g4J&2|K_W;|g)j+e$ zHf%EB2ik^GWI4!Yrgh0~TciYuJ+^ITpa`~osgGo@t;Aj^4Y7IA&=P8EK--7=Y@zR< zbid6w3FgCWwdNnh0SQ7#VZNL8wLx*fHXrMT3^B9Kz3xyD2oBt7(X{R3JR_WWmoR%x&K2;8gecRE0$ zoAx&;lcC!F!E4}JW1sLXNY>itkz2dYK4u$wx9rF0oLX;RK_+Oh|AEfcjrRNh0M{n_ zuSwe5_P$?XuG#*#D$KRme~|!2t@huZhh5w3*|sWBYq!st1I!)!-Q+Oou|J(&@1XrIN^81n?@!O_ zo;}AAQViKYmI4Kl85*W*)P@r$;kxf5;c3_w5zqK%B6jrOcX1 z`?C~wpR#8wFgI=Qx(H8V#y&F%L?77iq!9V6{YUha=IjNN0C8Xxnlb0dC|U|(oETvg zVsmDcUk2m>#y&by9%Q&tS<@j#_$RcexG*|C11DDom(Hnf4A~@%;Lb>U4~Ft!bZo;j z^JFY)2Z$HL#S3QhW^~d=%ZKqLW%wRuI8X_KFXQApK=)%Tr92LQ#=*-#IKntc%SZs@ z8{Eleca-t*2Y@`rD7pu{K*n2e*xT%a7-GtB3}#GwV>E=}-VD%C#sb>0g)wyh9YPsv z_Ct#Z#sVs1j%2*r0+1*MD+zWw&bY7uoMIW9DPKR1kwfv7c!tw7G)!PzyaR+2jK^04 zGLiAiB<4;sX5Rv_B!-m^W42_*;2J!xQ;a=yH_~aw%C)di3S*3tO3pA2(g*P@qsap- z&M{WebsFax&%2|!z_4dxE|qbq3{4s%^g|4$Gwys1h8c|8^zq1K{CW|1Sqv7PNG~#0 zbHO2p5kbe}ON@+ zM2i?R4*{Ws@zfr0DrFSD2t}_k7}H=;#&~)a2Fn=%ROoqwkwRo+0<2xju({Dy?e&aNs{LzVl=xw?k!wlaQy2p~NS z)hi&=%TTNa!#>7u(Lm^D#30YWZh-NxGl&f`#>&vU%V>HEy?czVV*nXq$mo90Va6Id z|BNskYXCCJIAa?Dr!mGO3-CzB8D=gp?lbJ2Fgd~4O9zoj#@A%vDaK+3q?l$@ldo-t zkwW);JYYn84Fkrbl7WlX-C!8ZTyd1*Gt1#{Y#m zA7<7;dgYn5xJS^=pShGW^N%nep&Fb3W_2`J9AyU5xAqwGEz%{BIYW;kh^d+YNHFuU z6bfpGFgGQ^CZWvgC4dQIZutrr;Y`&k(2ig}w*hmJ%-?=Q6U9t!0H@>3CLJK7nQv3c zMhvrKKlsKn?@}UQ9Ft3F0`bgvN(@L~_6`8@1k-yHv`=LIMhomoW<~>aNn++857B0q z%-ld{l~c^0mtgcXQ}_g)Zwgb93udo<0%s;lNms%Wm!zW0pR5@KgKT7?h^C$wU9TLdGa(6Y?qlI z(q=S|X{7Jf6{a^u`0|--^6wTf1L#o}GG!~l{wnj%-xw@na%tmM%=|-$ri5uv;nh;6 zHWR&T%znyuDPz7#&$pbpm0Y6NnQ}UO-e5M+T2aAVOD}LGbK(XNs%%V0+U(q94o+jV zn)y~Fni}RilxA1U3>1QI9rIW61KwitB_LYQWYh7jfjLT<-;K;*TEm-|skH69&3v8i z4sK?CoD3;imLqir22yUOldywCYUw!JD6mCVWTB>ikaex$!Vr>5<<-|kADWD z5157YX_#d$UIzR*=BN}P4lE0u7adtgPC^+c*4xX0?#%L}VC@0cvJF6RVI4RG4P99V z+Q_)EEVPw&XFbjahzHAo+-jbzX-YfuVy!=C18r}X)4KrmVM%FSILun|E{OWFUbz5J zKi1cjgcHE(p9i^*vbaZ?kD9iO#G-0e& zkAPD+OVbU~5v&)V1;0qvC#3EPR^mgnsY_%P-U8@J*3%2XDTyU@0GVW#@^>JfVr`{w z=xNq_!$3@7eMix>Gc4{N2y>RTGY>@1u`auS+IdzvWWMy^xhnA<(O=v^g|ItoTz9rkK?<54{rBJ#y-o zvi?2}D%V&;YoKQtE0hTkTRCeXm2X~WeL?p)++c-L?q3CK5uK|mS=-+Miz?RUhoJUN z)@t%nSF?O6Tv@{!v_Q~W7Q+=}>R2CA=He~Z9*XnVvl0gY(!lbJ1>Z*2S}zc5V!Z_? zs@-jtTPpZ9v!WU>*J5M!Az8$(mDNSD{5Do`9T>K=mRtkq9aeKLB<)~z#KC%TOR|pG1j4UfR3}uvcUd6>sbk?O|Y)t1K&y3wGV(e#Y+Dh5>B&r z)?#jk^~VhG9C{O;^YC-gknnY&>xPqv=EarV3)VW4RC2ssd9*bh^%CzgFe0rWU_?zbQv&wfORUIKd$@`&wDuor27m&kT` z;$i&$PO`__V4)=T%kKj}nZ58=$bE{vumgNgvpeX3nZmwpMDGmSi-L$}*}LM+FXqM0SJy|g)O z#ABCrLi$E_SUU!r*k$B(z0EGNhcL}-E;&kC*gL;Rua&)k_G4}Am%attb{qS-uQ7Uu zUHd&oJJ>T%fOaRl{6*k*u_LMAxto3TJ@k6mE#y4vWzVKyu#f#P#T5G4TDl@=fF0R_ zW{|zS5p#Fh1GIg;$6mPz#D>_7|3La-wzC`vBkW^z)=@T>D`(wmuyx~<+vuC*&T+N?(Sy?)g`Owp zvmhwr#W~6c8E=joofCXG-L%I%%sICMe0@0!Xrt`M38A=-Kgaq$(2sC#(UndCoS(=D zM>$#jm^;RKk$j7Rocv2b2;xXx&|R0t#@R<^&8u;1tduxnOaIv-vq7 zp5^4FgXlR<|2kOjJf~#pK#KTPb7e4#$obkPgnJ z@4&Z{!yt!p7w5-3knXl|swug$hm-ULy1kr(xtJW_Ts#Ep4RXxif%aWaR0#&}ain)) z;33Zc=pLG3&R3rUWQ6lF6|#(Sx>e|naU#Y6GR}D-6wQ6k>omuR?S|b9 zr-6z&A8-~HLBd&%?VcW!a~uwN5*)Zqw75BPx9`WK6L;Y%$nDIXrLgV+u8I;i4|0Rg z;AK0+y}cWdZrq*pd3NVk(iYc)`z@u0d2(NmflOZ9iXj-^n;Vb^VSKor8e59_;cGRd*%rDS}iyQaMx2B^il3HS}~7t+m?VuAoscq)PlGp`vDTn zjd%+WErk1526~~~Fj~gKxQi(Y5YBy`s`4YapDu;;k=)&9Fc-xg_!!M`ZbUk0Msv^5 z(i+1J_q9Q`SnlhTnHtAkdtX-wc6MBKJ9p*PrD2aDb4+^?DzJ z$=nG#{hs31{Q{z=xl@!1kizYxqQ^7bY%1zG%l$eG%{gwYJ=8wW4W#YO1+L2q*dmqt z)_Pk1(zs1l=$p>nP2s-`?mkL-$mC|;17a5UZCa}?aur9QS~j;S5Rf_C%e2G3#7)@_ zv2(c}jAHOIcZjmN^0;r)iR}tEAR2i2Ts>706>wkVK>I@OiM7z|DtFC33>I!~KbJqdT}C zQ8c=nn-K@KEgjt>yszn!$pGFaT7Zu7 zTOZhvJntU4nG<+VnlX8T zw{<5NChZQf6uvuPqm}FY-ER2bRqXeg;zH z@RU^Lb&0ny58~(Y=3CKR=1o!ZY96nS{#4=$?;hRtl+XKp6gDj2#k~i-LS9e=I9=r( zEWun6FOgzY#k@Hsv@hYsjG|Y{`}YFn0%SGMj)l28Ugk1rc#F4jEfDH?&pr#2H1Hm!l;1|4 z`yWuLiI=+_^4{hxp>?R4*G%h(t%di`CSbJl8p0sk9p3mMz;y63;sMjilhd2u#ak}| z?QY)Mdf1|em+l0_UfwUBkfM*bluGvdc^}d0Kfs%zOol;T33*fQ@|K=KbC35`3LuAg zOH$Dc^K$77J;M9zzXOq_G2V7xSazKE^>x79=XF!ydxH1ZYiK5Uk9&a36tC__ z(4OW=2xNxmMytyM-WL?>o#oYcVs4ISN(7_>|Fs_2$&v4~3o1GBd&nd0%vb$@<^cbT z8h{++f7=7RLwwr;ay_{4`Hw;iSN@~)DRkp+kU>LtzF#i1_u%iV!k{N#<_}wX@uO)Q z>doi*fV~f2wg+Sm^EH$r?aMD*11f&}DcVZ-^M9l~?IZj@C@vGgpPLJW^w#QMHr0dKT4nO1pde@@J{gEf+1QW zf5$%B5uN0p2?zTm{@dT6m&|XV6VNICGA9h4=D$d_qAC1$$dhn}FT9Asv;05SLc(+W zDymXB&tLyJq`1KUggz~){52mz-!y*9arDypn16VkP>?8#zoY?FF7nHF z;Xm8$viURQs>$JtExpBEDtffF^FOC^ z(H;KoA3>&re}j?$I{C|1px4EhTA)lf|1tU#uO2>&&K|w|XGbvD$6pfyPW}9pWtbb_ z*W^O9L4Nc&h~DMfC}Hd#-$)ypA-urA8|K&1S9XN|TQUYm`G;t)HfG~@Ql0QP|FRa7 z_xVY;Ky-rtP#&b1|6+|+C=O(cATtw?Gcqsyt9)fxF z273z3RQ2H{c!!o8Z^7hqVCW;*N%7#rf-1_*^c5`F2RuK)&lGC*7X%wHctnu22ebnO zpVkB6s6bCytH%V7=>Zuic+L^%L4qvGL=P6k&?QeHf|qO?0TU`{pnSqGLC7m;!Ubwd z%8U?%)3-ZPu#z_TQG$h!Lc`+%`3{&ZTEL=off&K#CXk60TnhxlIKiH?kT+i7`w^5# z5IEAI@Pr_19O#LH^9L|@QedNvSdu`#8cnj`Pzjy?P6?LHpnF;{Y5>u*0v)Y!=LC^- zsyi=e4*}l`g7VdvOBMVJz$ss_jJ zv0#5)kiH6oHw3#Uz`jC|PfqJf!O~Q4suC=sAm~lOaq)BiCkp?7n3Bt(j+bmf7KB%<__LV@GRzWFcXtxPg(zmQ# zAnAwrcLcA{?yN)Ldl$VZRbqSIjz@l4Vkwefv!G3x>`vslN02vS*pt|Hi!FRM) z+!bv42@mF;;M!Fn3<*B#frPeU!BbaZj1j>LR8ToC(8ObOQlLx&{*=J*8Ri}cDn>Bp zAnc>}%28+x1{o*eeo7g37A~Rx#5y2ca12Bb3V%C|L091v)xo$4w|;}3yHGp@K|O?V z&KUF*GA;n!N4RVnc!zDm7E;Dnc%5DhKjByJVA5a6qZIff!cWFvivZzE-e`^rpZ*4- z9TU301){;i*IU6bM7Z`n%!LX+e*_3&!eOc@3Kv@XKqW%B(+U=m!qxOMj1qdi3Pv%) z`)|V*vBD>4Llh^pc~1i|UbyByFcO68zQO1T;iu$*NEG&d0E}eeo340xDZ*kY7@iS6 zz6_9Og-3paFz1BJ=#+C_m`69=Ul3lVjPg|Bog&ao6E3F{U%D`!ZYRtT#vVqKDO|n; zO}3Ct`_CNVQ#LB7yd+%y1Q2tDF_cz+Sy-5W!F=KCbT%vydi((K3x(USqq!<9q2j3` z;YS+G6$@R+zg8lQ`3mTz!WEqWxhDLR2hqxeuhM3?To^*zh3mr5OMtu~{C7EeRl;ZJ zlu;w}8l{$ca)57cPp#6-{aT2`;LhTy#97NK2Ky(&;vJZR@h~7F1?GK7xy8xM7 zMRNxrp@-<5YCITEk>P*nd5QK@e92pMdkJ*$6%~F8Dn~@;-vvm3NKc7%M@7X~DXB6@ z^miF(hl;po02(IRiz9_yxaiZbK_)`fz8e_FMHRWgh!xe-`7us3ISan=qGZ~^C5ZO_ z1LK_(wNyZ+Q=(LIub&phNkA+`WLpBw&WM;S^v;XogMe^R^b1uRXN!)#3u3k$QRyqd zxFl+A0ZgvwHhn`ciyUdK$`d(JW&RaWo*zK+MN9QSED(h%Aa9{)FI|UtRpf9VM2kcf z^zkYd<#qs}L?rbDNU7+BW)Qn38h;!TmWi6_2U{+(r+Wdei(WVYyc;%A65SkJAzGLN zeJe#hS3tB%R8J+$H$_`1-Md;8^ba0$jp!KVN7RWfQwhi|(FjEx>P0dC-LxY5Jq1>~ zEegC1PR*j*lq%dJ%AoCQt7teMG}}Z?xTMLhU38U}!8@YS6Ogb&WXp^I-%iow07kn+ zs=uLVw`dK8^Lj*1lm*%=TD}c~eWFDapy?N-QUUgW=zkI*42u4K2BO^+Sq1=kPvm|L zMi>(D>6kDqs-{|(5z)G}5Oh>jN5|GNQBy0_9v3aK2grTV4jT%)>?TB9`gKf-wmym1 zYfAJdRn<(3*6+pOjEF~T;{(xn52TnCEqDV&=S05brE?Jb^+9b%@kf;I?IeCX7$DB# zjpQ~uAYSq=ggGb%W4e-r^%v z!|x;B^$y4!7Ee5bIbZP*op=4j`@RAhe{sexkU1h=K*>e{;!B&*92NWShAobXeQ!d; zK=G4Q#1tf6N!RiRi$ikJ3laag7<@y;*&(13CVpZq#oxol^XNj42=O9%+L7W)SKvp9 zWmJlFT>R%92oo)SXg@TJ5f9LYDpp*ngiLYbQ&|9s7q6ib*97t7bdTE!aRG%I62%$x z%|0nEq6l=7_*?opB#UoL0CGy~Mc(<-V#DNo{QgqJS>) zsp3jn%+ti}RI8RQPNMB#hM47x!A!9w0C-tq?PGXM7sW&Kz%X0hw2H^e8{uv&#UfeKeE#S5c>S0xVK0n#_c zYYSkKYBApx9BRaO>5Z=yKSv*mI+i% zh^y$6-7Ef%3gi34o%Im6U+i!ULJWv~=z5w#@#r5wxGV0=2Kqg*la0c{L*gGO4m~XP z=fadD;`bwgKPrBpg%o4r)A)}8yK(V{BCxnGb~^&d3GwdDAUY}jvlxR@;(y71KP`@@ z5Alq6@&TF$;=jqQHY;un0Eap8e#-B5kQ`cpIY-GeEgqHogml)k3MS^5wKkRfuGLKRmlO*P9KqgDXu`tOg$&3{& z&PWt=1>0H4drQ%rlk8DK(DRZzv_H5YnWIe9R7v=4x^N*)vXC4n>5_Une`QGa4Wf5Z z@|gf4W=q^C2|7noPLDZPQcru!%aZyaFwB#f=-hWjQo0^ZzN9h-O@Soubv&P|5^WP0 z7D<>dLC|7J?sX_pBFVgfUa6${TPSf&64e3(TNxe+sFh1@r@~OzC7)9?u2SN@0DP+? ziyP3pDep+cWV$)|fD zMU&)9T2fmi>0C(PDzO=X-X__d4k_Agl5c)N_l_i(Ze!?>ETjW!r=(4Y!7jm7fj$j~8 zOMcyp2RkF_rYO?`$*a#m?ODk^@=MQ25@@6AAa(c?R2-#;D6zmvx||30&eG%S(K{e@ z>Hy?H>5?uC9+GaL6d*UL%0|a!cj*?o0LVkCeIKBnQnxR`*Gp<3cfPmuuh${Ik97G5 z7(6VEFNNB^QXdl3Ps&`3Ie+QmpP}y&>7q~21V~q$0*j;4>eH~{G3i7o6bzL9`5l@d zsXtXt220avix?uE{E=cuq0)a30W?gyCkG;iOI`F(CPLa8j3!dL>k6cZlAb58?Q!X+ zD*zHLT|(Jem30Eakt5!Bf%=bdWeLJ?D&GiuA=tAm|xs=sXB|R$3GV z3C~I2IgG*c(lf5KH@qNql!11tbbTpc(xj5z&@f&4GG&5iNar#kaHcdN8FN|EkRCJ_ zrQvUYMYi+}lndJBNI(7>L@!C>$XAyuT|}4jUY5Q>Sy_2fmNO8pNJpsrCSRI24S5Ts zL*76yl>QGP7@OTy>C_>RDUt?$1BS&?xeWLv(wdzxNvV{z2^iO;tU}C{Nk3T)(aNPs zW{7`XdW`m~H>6d+gLZ}Vw;&L$l={%CS0#Pc0SGsxr}p46S4&@})xJiWl?=REX*&s8 zCtXTWINL30Rwu~ROUvkmYLI?On~p~5YA;|kNzXWf%x!5k)$}w=-}nb}Ez-47kfK%E z^aNCElNOUVq+Pm71%2;G?Y3jELs~olgih(Zxj^WWZm~eLZfOe@a`Z^kX&vd6vWo!H zXOsT&47&Z&*eM7#APwUIW>DIC8FJs1UTFmWJ*fvR&_mL_l+iFOeTp(DMx@Wjg72tQ zM%#ojY23e{HZJX$fY|q?Rc`=qLfUJG!Aa>V8xW?X4M(8M1F6R`^k${~+rf5DYCBH5 zb_ZD~C9FBhtZek0WCv3*=`4Gv8ZsS_`M98WP^QZO$RXL%AMmtXWX~)Eq^m6PJAk;! zp86hq-DQ3hq41F1{0TC7%GNA`*j_T*Y4p5hITVcdk*$kF@372^ZvXR@EwL#8<0pIk zMNspX{pgJ5h-~3ih!`MS?FR9W%6{qx=rP&f(^~#||kZi0DbHTE6lpG%-Yk3~M zP}$~PKo663&=U!lt^O1U5whP`!WNOTQu0ql$x3yQ;<)VjFEAJ_TfBI z7us0F$&v~I6EAcA8GI9DmR<~=kS(OpQKHPX7|lu9)JIS|N%k0o?8R`@b{sj`nKzaUN4(nWtbl`h-$Ujm8j&`SIa zGx1wQlO?+u4i*<>IabilmKkVu$dP?<1LnFU^QGTru52MC*j<(t6++)Undw6?ydpbA z8T0uv9p&a1$WFZokV07=WpiDXHHSdLBH7FIvJ}fcL$aUEu0*z!j(DZAZRwzWP3G}B z7?#N{M?lhY*)wz!xGsB&+|xH?4xht_6|&fWVdqNO-W3qEO15n?dN*YcZ2(BM>`hAi zs*x?`fMKodA==*5$pV*y^ex#Y%KxaBt)aW-8)T=iV$jwolj*>)Np{x_X1gtW?!VKG z?Dd1_waA{P6K1Py2}Ot7WN%%9OzkqCOd#Bm^-;-5hb+4eWIAOhXlL9dV^Bsyx2%L* zZ#}a6uVSuOmhTS8KG~O)*U&FpG9SGGS^AFv8MMh3zlHX$Y$yPr_hj=vLvKiCqdJLU z**e`;yNsQoejOXhz9X=g>PYS1W)JE#IpH z%@}!+9T>&RkJHU@aq^$@$u}78r_!%6 zS-yTgh@O&j9s|SE@^2r45mMyK)j&8SzxxLu&&q2OFn3PA?pq+7m%l;@xfkS{P6IDh zzC09+(&U%P=bSG0_9Ne9hWrR^)HCIedqK7=dC+c9yC~0}hhDb)d-5IU$e*F;)Ft^V zH=$aty!K6Sx-1Xd0&02k5PE~I$oJE4GhgoV05TQGW456wln+wO^{Sk)5OYQHi&TAH zEWg$Ola$Dxg*V@3S1LcY6)@N2u})~pHA@8FgWR?6&I+@;- zzegL^YIzs~g4W2t?F2%tT>RfpP3}Xh!!3D&6ByRZyJmpUAU`Gn-$wbSr6ATMf1Pr0 zZp&BPh7oMd@*gfhnilzAN{qJ3{b={zCcpg|ns#|G?O*T6S5la?L;ey)bUNj)y#a(S zxs}%4Zu$IWXnN!$bc*Yhe{>FbeezGMK)YYQQV;e6^7$TTjm83n`p@&hKQJt1$VQ}3kwVOsd6 zjV|pUld8XfHh{-)sSC2SqBSVL2-1)q!OhCMB}PB&;(9yiqwUW!d-EV(i%M!UcaI7RP18nSLLOc|1sEmD`fQM z`zX$mx9hNC|2ZJ|DvZ&P$xl)I3K;q;lAU3aBZ{MM0xv)jL3uhy727GX=a}Ms+X}RS ziUXC9G)R$6Uy)$NYzGEI6n79uw+mIw7eJUWg@*$ehAYb6fHDz^42q0IDx97MwJ61x zv?o5U*z^$4qZL9EKw=b&n$U|?=xMJPr{L35j#oI4M>j!{Ka2 z#a^mdOHxQEjGnBxn1kk&qKhOvtvJ>Ij1)!JF3>)s2q$mXSw$F?#hgIT{AtXUD;kQ?Tvs@?Qf%&qB2x>*3dM>caH>>H)6TI< zkyHYrHx)Z*n^di6xDGNkiVt7FGpto?&IUrA;`n^b-BN7t2DN&{3#&2Lpcr@_oEjAs zK>%q|yrsk3ZN=?f=rt>HcYs5SqKk~ss`$$hgSIxsQp#j%S9HGsYIhWQw9)QRETOu{ zPQ`g4dR>Y;3^d(}J+zGWD3;1#?q0J{Xih;T+FV_ObP1#M^-|k9>t$2nWN|PN} zcq%Ivqvxd@p^c5Van zLbUVB1bUM$C?8sdxm0B?c`?(JZ_S~Xu6)lOy$t2Al-87~eDYb~WhwtRjNV0MC7txL zmFrG{N{-S#i7p(vq+ChviCpDo8-%*7e3p)%dCKR>*M3E5B1Q9+U4KEs0%bb+;R}`D z`~YfKl_~20S)|O71F~2-MSG?a<@s~yl`2!_!NBE80bR0sT^Vfzl^e>Ub3m_9E=__F zDwU^^yn{cyQ2JBW!A+&pIEYp&$C^R3Mmb7>)mmk`Bk=2#o9ZxlOKGKwoqA=K55#X! z&Le+#qw;HVn>H!uD42d*`3ZR$nw7DB;MAhD(x##WHq7-Y-RV-Ve&r0sZU&SaEKqb% z`TXZ#aaSp!oS1vc_veAwkaE!q;0-G?>A8+5@6X5FsFJ%My)os~7J!T^PxXSzeVbDM zJUC4#zxfdulgiQ;!G21)yBernZbW?><8l}5xBb}i=R5qs?knvQd z(N$eus_xgo$y;^vSqSW-a{nBn9afc4wXd&AM(15W)u-gR@mGCK2?9q{+d9A^K=pYO zlsT$ea1T_Dspe0DQ=qE!KbME9X%l+Esx103hp5gz0`yRoCl!E(sn*-bD<7^}Uxm>K zmFN2)8mU^^jKL_?i&Q^*Ton_9UbMVIqs$G;$ zbwahJ9UzG+{(BJnq)JZN=1Hpi_K-eVwT!|;r&KG*Q+ir8CA48OMHNLEYG+g@C^hD+ zD*Io+oKtD(Cv#r4_XG@dLG_Xt_^GO}{}NABwI2f{UG-@SnhezsGvJ%4@}zu>ELHje z2y;;tNv~zLs-p;VIV$-@Xm&|e`7}WCR1aw(;T6?CYPxVJUuF6elLe}7IxZBd?k;ko7mB-(pR-$rMYasfbYt7P=MZB~60jb4lDB&Bn-s$QZ}sy0>gVj#4u z{_MabyrXiZht{FG{5qOWRX4dvyHt-*3XrW^1ycl9&0L-tVbry@5`^@n5V`KSx&3vpQeS~ZCJs#OVq^iwC&QO#eyDheh! zqVD@IFsk120CPvx+d_eNOl^z*2rz+aNjjP!bqIYMg4Iuxi#0?&t%LPK)o9q2BQ~AS2Z=rvVbB{_96bcw8-M0c5m#-{%l5Mtz<@SKv>la8Q$O6@?|3a8aesFpZI z{gxPzXVh}C=AFP8E8R}K! zqs&xSQpQ!5`jHDZkh!S-_PMX_3(09{Jd>?gsfRGmk6wp~;I zOzzV%wJw^@f8}ah7v6~L>ev9-;)Ys8)$A2&1znn0sowM%5UbQOa`N9)zd)BOSF69L ztgIUK4*J^GszZJRLY;d1f60;RQvsk|uT}zoBEG9P-|CTV?fb6>I-y5Lx=hia^!cae|iNVU24B-fOM;G zQF>vII+1*Sz3QFE(d$z`N0(Ogt7|DNJfLo*Rb^29BdrcY>R2(v9#(Ir^h_(m#eMa|Iy4h%|5<=es{KT;%#=Eo)}d*&^A14Hs9nh$^FaNn zKN!xcAEoc(oVw>r7|20mS&7C`Q%FhnPMUT5G3TuDDZx8;K$Efxy@Q$_O4vMP(|k_R zH5bkE2>^A~yg_+0Zkk%!gScyAq%eYqW{}dkJT)%#1Mt#Feg}fL=J8K~@1xmIN5sRL zZ+O7-)oh~lK0nQ)li=j9$#22n5lticzydVi$RY1hjh5_tOrs!wQJ}^)_&z3sG?%}D zP{Eq_=^D%s&E{{QQ>dnuPN89%6|}Jl*ZfP@n?`7UpuKIR#$XRyMrqblz0+~claB*0 zT62K%kYhAU$O9j%$-aTXIL+w~(2LjXErr+#nz%raKB2LbU@lSfrj5>lCpFRJB1+Qq zJcM4dri%}Tr! zH0x;Jo2z-U6@!;G3i|rwY35V>`-0_z|40YJUD7XcuX| zc?ndCHS5Y@rxML;Hz9qg=G+!E*EGS&Xv#F-QPjU&(|VI?gRX0=KY{iQ%?p&@SEcdb zpUfzfI(2Bq_W`C; zlU#|WOLLMcLb^3F3VroxZYTiKtJyCDLZ8M=u7`fjRm##G&}?deEe17zhC}+h8v6l2 z-qUE)zxGoa?HeTi~Q{Ipk8FuuQb_Qhe)j@90#eQTVy*BKJVYgf@_0}0yg zRA+xe>rAoGL~X)L5bdNk)JD<#By9w(C&}6jO1wO!ZK4YM)7oX}fJxEvj)MIe?L~5I zpVg+l3_D%Wo}{#aRBZuyt{ z{sjUyYNO{t_$KYQV?evDolb!bnzdoH?`+XJQPx4L_V8^mYSTXaDU@&5N@*W;N9%qE zkR93+KY>c8_7}>5>C&cAthihIi~(}?XlJ&9Yp?dL&!AYJwv?{L>DLzjhPeUl7q)j{ z!$Ix0lMv~y){CJEED={z7Hk)7l{_cbL&`dj&KfXhq+H*sRt>`-(ZO(-Hb+I_P@o zEvqw-06DtpFmSr0JF^!cxw<)W2VT}$>;RId8#<1;D>{#1H2Jy- zA@~;PcpD*Tp)REy#=ENfn68p8(iPEaU#yEFUw4U37ymD;SE|dPl%8w4LyN$vOm{pU zik9o@zs2Bn-8*HVc0*U(pInN3ToQLEg1)-3yLj-=o{{5E%CA zme;{feY!d+IP~jkX|q3|>!#EBpf1=(*+zGDyf>ieJ>4vAC5Ciggacz(=lKjo9MLUc zK#Eaa8ymF8bbRuCjq7S%A2^}6d0LlB>3}o3r?}`n&<#?R)vPYH8F+KL zEmWQCpfBymoTFap2KG++_GtQMI_n*%TKIrIC@lkDh}t5qiZkG?98wEkL65*?)oWas9`XY!|J+@;VS=^t>r3 z7^}ZH0b+6bc39hH7q9AZ;(f^x;m-MW@lA3e+XQ(dYy#7x$_+HRQyaOpx^#jvr()30x zsHE$!ID@n;LvJBZWu|^Q2;yhyTj?WqQSaysEwc696j{m9&wK}Jm-O@203=uMa0f=b ztiMH0t2{kp5fr_m_d5wY?5=oLXvFf7)u9|7qSy@k@6 zN^Sa&X^VJGKmIsqm+5c31lh{<54U0Px<2(8^ls>%dkmZ^^!>Ekuha|oK$t51+;bpv zQ(r*-`)YmGfAKTDJQ?h3^+`Vfq)u=DGkOjB>vVW+)Gx>e`zHM}6yUh6|0^3xH0y1l z9Ej1P53Yy!t@{6M2DLVQTmwMc^$v%@_m2L3GFylKt`beB{+=JGb?H~oPQF`zdkT;} z`b~6cO|O2L0gCqN@6eXEU%$8;oCfq>RF*ZUKg~vSSN}K_x7^b&DZ<>4{$JalU_Y#1 z8G^|Xy)grbqx!$%Ky6H~*nqil{iYFUabF)Eh~9*rvlR>{^>z&4Pw71=_&KdF{}6LC z`Y5_G@qvED21qfhf3geG&*^`ik5|CKFmw=jj)ua!VB}=@mm)FFhTvBzpZ0*^oB6;v zXjt$BWIJT2p%9LXA+ioqxEhwzUf9hLF9$<+LotGp#;bX!z|U=Mj9IFX-65j z^hG;v@TWs_wBfl`n2RwCQrSVQp=c3wi8J)lZ3^)Q@g)8J5)2>4L7Ec=`4kWn4J-T6 zJ85`g17u1v+%JR?k`3?O!rUo?Zw45iHZ16ZGAV`^DfRV?VV0uzXAPrIVeXt^gw9sy z4W4tDyI}a3zCNjjjn6}vGy`W0x}+P{{{Z$GhOa`v!Io*TuY_#bhD$!+n`3x=9NJ$p zY}*N22chT;}zc*W5CC#dBc8tL}20>j^w9#LpWUjV*W4L)?YLXqJ@ zD=u$Y@|x>GJ`Yuv&(G;4=TjGZZNEXY&Q%8iLiQw;T^iy zx6<&{EzDIJ4DW*4O@kxVbyOQZ^9H9H!;%po)EfG>0HMyXS_s;=3^~g%Sa0}-j>!#% zu~48l8b02EUXwwk0?pfo{d{Zz#^Y%thjz+%L3FdVX>oN5Eej2X%(fq2}&$^y0fhL7CP zn=nLvhPg=tvkB~{43!!Xoi@C82t;QL>lZ@N2Zp1xPnb2-cR-0bLuDQ29E{7`fahr3 zxCT_5jADv$IUDy3p?ARe@LM)a9yESUsTYTgKhr_P#dvBB$haD3?11lPeDO_Cb2m1A z2!;1VK`+Ve^dVR)O>tW9%Btkx>t?D0njco?xlEPvC-oXG$qEvv1m$-yJw;3HDei_`^t>JQx<5s zF|`-H>&8FmBy+A7acnMFmRZ z#-VOB_l>#Vf!Ks`OE=h08YL0Hn=(E|C-`Zj2LlSu7~|*|_`sO-H6Uk=fj0Vh&KX@P z5bR(&xe1ewrrTD~b~2UEfsC_BPU#T`O!GX@95gx53I34jT`G`pF*Q+8&DHb`y;p_|yul*S^!{!1G&crkW;5!8FtNTp*;IdXGJV-(QAF5C_Ce)5$rEW|@u$ z1M#BieLhT@ZHl0jnjBN`lNh{Y61@rbxu$ie0D0N8Wiy(5Q^P9|yTEjJ7pN4PR+2~f zs_Ak1tQVOC^z$z^S-yZwC8m!((3F~9?EFlx1#X2~hpW?J?;K-*37c^K_9g>C|iE)$oY zTDNK0t03BAQpRDf*A!I&{63SOTtfY(tVcm~z|=-@^FdQD&D}K>lC$idDYz374w=lE zU_Wf~q7teR)7EM*8a35YQNWnV)_(x_KW6sbSQjair56aS<}`8Ak3M5+JHF+bHpRSb2M+E{C_92H*IsA&EM~XFbB+| z6#O`7&LU!m%okEX+QodwwiNiT=BwGD=4RH?7s}n7)quvs?3Dn0J(%JDMy#{tsY zyjlcKKIYfx@`}Ue@Rfk{HFN2O@H3yK&AY!jW*Cr1%%OCk4=}&G5rap~uTbj4F*CCi zbAe_Jxz0k&1v(q-6>1))&3Kr30fh#`&5IZ?cZAuFGEO4RyV@`pWzKj27RSxUuS2J3 zv-K{>#F$5DdlYN#zJXqxxr+z9c=ML$&?J~Ak&$3`!W^3lK@-h$b7)SQA2xtPk~!{2 z^pee6t^eI;Wxh!1y{FAwG03Et-+2`>oiR_kgVR}a6Q#MIGe0pO)XtlC(JuOe`CrO% zPd5kB89c)rnujLSe2v@-+2$c~UgempDJSNVIfgtCdFBQ59$zu%QW!elJW8b)*UT%h z&9K>(nN1WzDmPC(jL{0SKlvjn%`0w$OqKa>`s~~^ui(Iz)#fbXTVsyt2bo)Dd&--x zH!t==(_m)JgW9*vWl<2c*?fb36)ol(@@}`9T`5-8W`2cU;CAykZBy=;Kk-Fl>o8B! zez4QL+6hMJF(;=1vDf^>AvAsFGY4KVbH z{Pi4Ux@0MT8JsR#HaKE1&*CbkH_)p(Xq#?LV(tLJxv(v1Jc^`b#V> z-$CF~%XhTFD6`0jQ@O>D;{Dex18YJ1hQ(_FL@O+tsQjVQa)Qznsw_|c1<0EggAb@w zTWpjvRbvTw5gckQuhH!hb(Y#?n5(x0(AwBw**ie@Sv6WdzXX_O%L57UTP(J-khIkj zq6JKwMNJ#Ic1!k2GUljmm#B%KtY%yvHCeSg< zPI3^BTW0il2KO!JDZysavg$d^O<7bwg738D*K6p_T9&*3_H&lq^!0GCzD4DYj@ART z0ytTxRshf0dWJIK4_FHi0O6qZN7~ri4q2zSpzC7&j3O(pRxK?@Zq^Wrdb(Rn(*fgQ zT}{{Gds^6X=Sszn?cDi-f z8bD@Re_aQVEbEG7;9s<^rMn=qt=r3ho@0HLwrrQI$0)P(vUPR}y*z8hQQ%#%PSCd` z-+Jy4q$sdXe28A5b+e6ja7EVl>6cS%UH?A#mRK`rcUNki@Bo=>){RuaR%T5lk65`i zrUeMsts4qpryEvpe>7FrRg^Dt(|Y_9fK*%kg8))v{pul5skJ7O%c9QuFS(6wS;MJX zx8Ca83xo#i#}$;b+i2xP{-2}kj_b1O;$>P|TCS{Yo0cszetYk|P1~9+Ez3Q!p+7{H z2m&H9l#K$)20@Xjpa>`;paO!jLAD?uh`itP{&hb0-m{-|?>Xn*2Zq)=I8j)?!67{q zZ0`g#acU zKK%=xab!eOOm-h5bvIZ$Gcw;r%Y_j}34T|G=6yQP%8k*$hc@nv3QA`mVEC^@%Y#wc z32vT@PX-~vi*Yj#^oJN_6jJtP6tw`;hp~nx)4q(hbfEY#_Pmd=Ba9@98v8SRsVq2v z@e2_IGTMFsK@j5*Mc0orb`HSY5JqJufIXCvRC8Af_Vq%pp|4vKWfolU?w!`Mo7 zAQ=ocEqyW>yEcN&Sw_lIIOrT>@KX?EF+3$O<~&2W86cbSG_7}Y81p(Ymdm(Hm2G(p zP76Rj;}jk8QNSp@2c8!g_FrRR#YKh-#TpA4uQoxqB1XqD*mQ|;Km!q%880iKMKPn( zA970>Z+?lfGR6a1!dzv%@-q~@#t8ZhW95wB=;L;s;T-^!3PxfXSl?hcTtusq@!KV^ zu424b40Ed)&9q9n$%wE|1>>lkl64Z=H&XQ=|J zp7DwpE^T1&<1luY@v{+X-($=^h_OaS%OF4#Vdl+8yqpV(r^i5FoF-(*M z?Pol78?6Dx6gt)X0poZbboWT4(26Tzc4<{f#i5WBpD9OxrE>KdKVU>`Z%6#t>)J|h^?t)7?vxDX}XY9<6 zWuVAlu6-XMlX;vTlC#WeS^=G7&dmjV7PE|s16rY1j z^O&os7$%>&Ef-7+nDVtixxm~`zaPHHjO#(GkonBVKq+Dtv(dW5TrvyHE;H?XI{c!T zxz`ygUSWQ55v>xYlqPwl%z`7hB4x}vT4!Hnx>9238nd_?pq#mwvRv1hc6!Dtm`fhR@Wr1)!oQ5(PI7vwrgdGe4FZlVSX%o;CRZIR30*y4jAh`YPeQ z0M;*bvj(y%pMWBWwTtqk!K`Mw6vtQ>DZq7{6}JR7g|POu0VR~xcLuF6R(}>y!dZtX z91_7AZGqfK)($HSjAD7yWr}94egSHqU^$Xl`$^W-AJ7}aN~G9#ENjZ!0CB8=gHZ7l z>%aYAbDH%Xy;$Q}x2d!xf%V_>&@hn|F#~LpSgBO?mdq-90bEj8AMqh6mGzivf6`dz z=`KrW#cxFG3~S&R9F)Pb7Vx5}_ftOh)CZJj|>$ysR zE3Bg?a4BJprvjyvwPX{lFJsw_dNi-HcFAbC9PI_r}QkW|6i*$z!_ zurevATFLtIO=wZY3ipME)hyj@kl$oksj&4HYc*vdZ?isK2xc`bVIx2-tNAl1Q^zW# z0+Ktd{gfcBXZ2B3q=9wBJ{@}BWnH@mZueLQx}uFNKl=VPv7%_c(98<^7jj!zpL#&2 zR@QMgG;Cv~{t1+J*3*=&?O-L8L(wi)bqreFtUCI*^{`&?0P9{>^q1h-$NHxVTJ*El zoyFJytCglV4_MDEpqkx5RuN6>hFDgr#CXX1V->2z>z(h78Lu~FOk|#>^Ry+ zx1W88YGa()UpG+wiwk@2QV_bb!*jsKjXj+r;qL4Oz5oZ<^C?>H!QTBQC=Rj@r9*E| z_QGsv;l+MJQI$jN+ra?d>{sa=A0PIs^$_99c3K3vhuO29fk}SsJ&!R|KsB zJ6lI*kX~RnuY~#+*&FvlL?K(52ymHQS^&2dv-@Zwc7>hd32r6quCGB*%Fd!v$1?UB zTIyY8bi*Vu0yfDz^F`IKt7!A?H}5tZ!gH0!To8))fM&E7-1Z*Q_0KZErxwp|+p zHZ^Pog*U3QBD2picm=ta@QUc4Td&Fo@|=eM$* zZ17VXJCQaFwX?sZiSm6m^8>WH*q>eoN;fKghhT`UrZS6%?2oC+cbL6E3i=VYKNS&;vcvCU>=C=G1z?Pw zQ4MC}?DBh1ZG!#BcOZYl-l&EalkDIAM9YyQ4TARjI8m>G+==t=FohSKISzHWcrF~v z8EE0k5pDviJBLqon+G^UR2|~MDWVj;7sp7u#13&brh~wnbHN)eAI`Jg;Nr^(RiX1R zhZT!XKhDNba5=)^+=ssYoH-;ufWx4tB9J3r3X~uYelLaRFPQUw96WT4vxv^bJIC5cbA$ zo}<8J9Os`zbe`f!XySRAqo<`>Jm){!!;!!lKx*GU?F?s2D(Evf-Rq!RCdZBHP|k9e zM4|H>r|ciJvN$#hM4acWplz(#ocK*><#67l&~7g0CPjhrI8RMrET8l6H0TOAqf`QW zf%7b7PcCwf&IV>7C*TcW7ID5=3Gz!E1FhukmpL3W@a588eR>E=}d^f!Rd`atCCZH2Lh`&19YZl zHD{q42ySw&9)>NqI1@V|{x+wKKGZdK&UCDTr`2+5sd%-HqoyO4?r`4H0n~H&-C)|l zS>6V{8#w{lz-;17pNm#A=iWtdYvFu92Pmzau`(#r#^HR9v3AZqdbMa6CVO^@E&pN}mjIY)^yf zL(XBUK^o>{$k7_%JgUdoC?|Frw0OjMo%WcHancJQcbs!!Eu8a# z4TT4HzXMb|$Ticu*ONP+-mhNVc{C+I#GTcLmN!>Fh%q0or3o!x?(IKe;1TXlIzGam z8}dDv9p!4n0D`#t%k7XG%-uy{$z$9mF)W?mC*S#Bx6z0bLyTQWH>4 zac${9In7;_FbmILJa>T}A`-Zs6qiWk{=6N2PU0$Bp;I!~`WJ4K6z;D-K$%po?I5_N zah*$mlFs#4g6SD9LxffacbG!ancTKKw9ayq+~B8k+$T1WXK}~rC4ZhPr_ez*H~%H5 zox@#;b)S7&F84!<>*aAT)8mxSJ^mBe6mT{3pyCCtQvj^E$n775YK7eIZUVE2dpQkk zE^!;9An7uK z+|IojiNVL*7x$ufg1eB`Cr`M{4}dz!oqrjII`WQC8e<=C4duL?cq3F7wV#(sOL14; z9$MS3PODlqlq`NzWvM|edv>p05WPzIC$Ud$!v9mor!{A>`|i#N*wQ`8RAdzKBg${X`VYR?&5j%$q<;pYosqg zBJVaOXp(sEP&zJ|m#`Bcg~zAzrZiqFEsN55Hz*x`hSxU_s%7wM&rtnYChsl!-k;^g zPBONpK7(>Vr}z=+V3xoS*#g#ye7l0a@Jal=&XAkRkCZ@}G=3D7aHR7W(UX3L zA3()N8T@PXPRQhkQnle(ehcNL&hy7fzo{2JemjZV|9^Q$SPTERc#L-#5_p0aC|{F^i_tKu6^095nu(SD_y{M+=v-s1m3 zbCBD7cX~!@_>XpiOC4WaYKMqBe1EDRt>@pPOVPkzR1H7hy7R+q|VT$0X5R9b?j`l-~G{MKT7ETwu6%0ks2;>w($Pg^+ zq^CkqtOUwg!G?VBJ|}pG4k*nM9NYk9&I>O84XVPR|-Cziq0y5!u~!qtrom- z5WH^+UZhgdTY}R;;C5T^fcDPR2)g{^ zrf&ts6M>kjr6vVO=>6y@ynGX5`-H2hmcdClj|WNng$-NK=`8%<73kz5eC|7Rx(bC9 zxpx!(Oy$h(!dGdgdq8;G8@6}|`~QZb2ZhZmf#NCL)k)t!Z{ep}c*sZSL-jAd!Vj{* z^sw+h+P>i@+(dyFe__iu+$Bea46;5z81Nq?1qwqRgH4cdf=Y^x2^m!Geq31gF*-wp zUB^KXD(s?7RAItfL>DPsb`@Gg31eS_YSF^?Xjx-FA(XxjfhUE3A4M}pC`kjGSYbTn zFXDuM9DsvQ3BSJrf1MUK(x)R{_iV;Ve#?N9BdlBp zHo3wds^E(}p;s-umoH?{pYjTX*B4^!g0M3UaxV(U|34EFKIaSZMZ&DNq39*y>-7Ma zg*kgcUMyVq3j|&fI@1GNBK(VLq^}D3Cdy=86WVA(RxaF26%I$_fp(A^Q1--W&PLNP6N8iX-Z z!TPT7hdIE!C;akr$ZZsUj+3>gwFq}V2f9|_{2VyFP3TY2u6ALa3|u;do4$f6~)r5GC)+g7QMluJW6&Q6D3h*=D5g#(qdtvyLu3Yiy|p9 z93kpm40lJ0f*fH*l<1W>h=>+_m?XXoYSJRC@SBM7tNsneu8L-A|}bAr7plp5q;GI5viiauYj5+nxJS|y6E~2Sbs(& zYXis-#YIDzOp%UuSezAIUju>XM1N2~J4@tt3*fxy=S{di*`k-iAwEa6Yy!&Uidrb` zm?s*h#fCj!^i&Y6C=iX&r|yENh#t|4qTEq%D-`J|$z3G6eGC+rM5l_t=CUY~vT`M& z%xw@+DhkSmy=9_Tx#+wqYP$)6*F=GM`%EhrWl-7oby1!NIx9qPTm_dKqWKgftQ75` zP*#;)B%~={wa84Hscwo~KLYA4(e91tye;~HLP|9v4n^r|MVh1NtP^FoL(&~lQw7HA zMO!Fw&>(XD3=V1(Euq4qCQ;{SKxr1K-vL33sOlGtwTk%bpi`UZt;Nu(UG&;4Xx|~S z-=^!^DJo_G+!rY`A-+rGNI|4-Q5(HGdqiE4KiT~5bdBa_Y=|UbbjMLGCS)0S+ zGB2p_Coa7V5l6(|tplpR_zOBm;i!1eZFB~R%XfevP&{}aAV|FXEKq{Qn+BnMh&VwF zlu)tji*QMp*zreL7%o1T14$9$;b)<5q&QXwCq#*}C~Fxlp8Nmu?Gxflw7xhg{;&j+ zV#I^AT8I^IS^(a0;vH1ddP*Fz2jH~0=m~hoixZc_&;+rWCY*`l5~@2(5%)O*B~?6) z%CgeLbLjP)F7~02!x{0r@j%HCNBMzgruaQtPMsB-!sy8JbK;0KV3Q@D?g{nJ0|zQ* zi}x~tnj`*v4VdPN@6b_SdE#s)#OI3_z6^o_@sT6Y_kwupE}&c#&!Tvliu~E;vZAl z3USFhK)oSW(TS#&;#ssmrAquB*;_4k`3B&oc-k5`|CabI4Nz{2yUIaVBcAvQa%;sm zQ$SEB{yqtE?}+~z1hc#1b5fw(6MsR`xkkHqf=(i65;sx>NVE7VA2==ItmRO+ReXyw zQElR=c7S&AYZN={5T_P_pi^AH2IhV7-fWC@iLEq$>=qAifP;F(Jrr!~6{pjJu}_>5 z4wv+czmI{}2gJ828uCDVpNcdF#rFRw(K#gUIsx$y#R>0&Vp!Zu)hr|8Q*gY zgk%FfsWFoO=$?s{+$=z6oMem++c_nXF#t|W25DW7!!D?nCV9<3-@kN;ODhDPk$h$WMTR8fX}l>iC3j9jr*o2jjzdJ2WY0dJoR{37 z)N{7v!>=GBN8(DmrSl}~E5SQo^6@m7T_DM)qW23D|ED17qC`gNv?7V+JE(n0a)ch{ z%aVM02Np}*@i!~`v?~&kE990+9#a~-- z5Hv^*TtLfySMmjgEbd9z6pwF`JarY~nKD~nbB!)1w`Xv+88jzf$^y~wP>ub<(P?AXX z91rc1egB|$Sn@pWhZ~X1r<%G)5;27(#v~y$;~bY1Qj%;!a*vPJ6UpvLv?e9aE75Y4 zej5scebODYWz|W_DS#F((oB-;D)mmqwR4lsehLEJrC;9#!2xMMEiFBy6|`nQD78nj zV5p}wpOzqA(zBGDJ0$&%lKI|Ja~f3ik(N5ZUSDY$l_?#TzO)D^e$r1ADusg-A#3PXi}Z zx|KdMVbXKuzzLVSH$Y&7G>jtukas;7-%r=;sQ!K0_8C9ea-OSiuUKP5=>sd6My8sdspl5|=nr4N&(D=BxB zBCY)uY*M8a&ETCTt!acy(xu7~xb2K|3ME!Eq^qewC{vn2Z-Ff7^HkJwUdp@%MYE-m zbg*KMwDSkFa;2Xf2TGpQmDUdV(m{G)3#7bXVf_WEaR3r7O6zNB`B*4zu)(Gx=?>bW zdr5kZw%%NpE~J-kv2@T2;EFV#3MfmYIZt3(DXNDoLETheaIeBG9s-5|b3dUPq3kJd^XpM}|VQZv<4-jOb5 z!HRn6ZzsUJK`LAba91k50XFxf)lHDwD9yA&M6>k0Z5V5j&ZSL(tUe`qRGOhtfL~G#i#iUW85~(pmEX#-u+j1LnANNd)K~ zOEq+}Oi24X!TO1`&Ix0aQu%W**HOm04@I5qGH)NKxL+3V7=Ct^rO<1~MfQMdJY8i! z`=I3}o5=>DyX^eCAoP$O%7pa?WnWQ+fTv7P`EM`T9m=H~l7$`trnjv4Z^-qL{Y&dN zU)lB*z&tE-{uwQQSxhxpAC)a?0ha)oeRVu20%hmu48Q~?$DO>ms#-e2LwC0JHnR@_E$PNy| zqbFrO!*D{Jtc0e{gmAl71|cE_-D+6g?w*^c8q#$fh~t`ee#}-T)D2Wl#Nv&U3OE1!!f- z-kOE6^Rf+Un3OGhK-+3^WNQ;BeUU2*S_qIQv-^W0U&h%AdoRk~rP+6(teR?Qi)52- z=)5HR>N|kTvb$__7RxGDg4-3@QFmN}5}6N`qL<3Vo1tNu?0XV%RputZ*fm-1Nhn$_ zn>q&)uFJ~lV4VutQa(L@H)Qkn!_Z1uF1=B!WU~)~{+4V7o&R!MwuH`_tdVh^MXOfU zqlHWBWV31C(j8e{Ab8iyE+#|!2H92meBPC9qp0yc+36wBHOj_+1ZxkL7l)>@sim!1dCecAp{T#7DPUKZ%PW&26B z9@z(TLC`DvhO#|(moPRgGgB~iMD|?;B#g>Z zX=eUN_Jo2@_Q$eSlsTJ_CDW7hMD`LNgOjp%Xr16FSAUMqeexZbfZ`;tqm}V~`K~db zILlvq1E#sieQ9>*D*u6A-EQ*7-e|eYlhnXGAYVksNO;Is(E9J7d_L7qc*t_D zW(g$t*yV#%qU|ex>LxTjEEnDas-Jv741q`F1&6@YU;fpP=nRyv{Q;dpa@`4dHdy}C zRDfgh5_+W_m;Xvj(-3(el|_cinO~qYOm3pf6fRGt*<^&gz81<0r7G2whd^-%Y%=BB0;{-1(=EQi21-wlGon^ zNS6E4)0iT6qey3}d_9$crODrIfxvWm1O?g8$p54qS%!QsCD$_LZ_sZ=&&osWW$@QI zd42#umRy_xZs+Bmw5ZIM|K5O0nIk_-VVGR`Ct|S4lV4d5ee>n!^Pn$~Z`}Zb3-XdM zbY7GTDXx7qh~}eTL8K%^3UsmQX-$N1?y6I8EthflYi$$9uZXZ zRP3f8zn5ZjCUo*qFi(NrS1~mm;IQK9AV~64M7)HtBZ@a_Akbgo@g?X&6n?aADpc|5 zT$mK5_*M=s;ffr3c||DpJb-5+72cKTj8c5l2ZCt3qKInXPbfMlh#RY@xd9Pzih?L; zdP)&KgwE57`*fslyyAl&L7$*7JOWCh;%p=&B`I|4(V491pdfpS;sk96NL4&d%fK{6 zHLY&a6$fbrbVl*_L11PmnyC0ZU-3H?R1_%e5gib5L2=0m;G*IxC94V*C6pK{QrMLM zmlWoC5PwCnkYaZwiX2*nmMYRHm{g{CeiRSKRmJnPXt<_mpioP>!uA0ibY1aA4hSj~ zQ4}S(p=kONbd`!3v_Yy$;rkh^uU4G2uZ6&yiaDP_;aiIBX3*bOtdD`*8pYof?5kB= z?S-T|#Zua^bVsp;g5~uJEk%(U6o+W?aaVDP4P)*pc2bp7qhihxbT%oTn+k$v#WUyO zrxwK>s=sViWd967ZHlxmfOds6oYEH^iWyW_)u|{d#NBdVv91q9OO<8r0A=FX{2;brSh|6j8!TBbccr3%IH5qcT@RiIyAhc+`a@nZ!2wf z%3{_iH&Mv3R{6>VDC(46RB3ugIg<@G^-9JoXf-H5qD>8Vm8reJyr;ac2e(FL7$xVL zl&(3@w^`X)gt0c|fp~PbD_!Z-jt*t`YoO~?>b{1+`^pD%FxI8?qVz|%^66|l9NeS) zE(D-g>0bk%^eI;?0q9q5y$hxTO6yrLeV|-)7>W)mv$vu(q+CZObq|%APtY1xx={7p zh;km4k&P;+P$c}3vPyu~nDQHn`Hd?tZ-Ew%mG@%6dP1qCiiRi3-v5`6PAa{c(d(!R ze+#Npd33d(*{N3PoSk*~8X#7;` zX@YV@wVkS2{8caLz~-oGmH=!5RQKv&OrUCWI>v%jwI_iYtlHKF?T@K;{{ovrRhL(y z6{b2t&tJIej1byKs5)n$Gg1})D^Q|T(ihQrQdLV;y7m~AqbKx^Ri!h4b6V9N4}tNj z2pw7ps%)ysNmTi40!UJArW8lAD&s8>q^LTmG$&OxKN=uS)kD*xbkzoW&z(`dyb~xH zD#ms&%T&dBq4TV2`g|C8PF4LpE=-o{o43L2yj}G>Z5qo~y|EBiJ4f|HFqFzw`MAK| zJXI7WZSz&PXcJ?B>d(K?c|rB&T5!9l%J+v83RMNwkW{3aD+IWtVz*-KvMP2aR`Xf}&J)?inyEQwjE?bya0QL;J(7sjiPhZn^3-Wizg;Qm`_gR-r0f z25>`lt_Ye|s#ISBRH+>3eNnA)Plmvosy8-+?v_fM3`w_DFHxqVMzydFpjKt3IY^!A zN*Pe@sG2uHr+U>c%Cj`6WV7I|yQ3@c#E)}23sJm5J7vQ`eRTw?m zy{csfj18z1w7unlN?HJvK~?NJTK^5HZvF#q4^^*Fz-U~^`sbh`+99J`gVN;0u^>I*ys?(#O zMVMMTA0oolObXIRsMitGNHs4D1X1cg-pB0`t=>Bq%ucBLbI^HGt$7s^V$@409T2OQ zd`b@fzeXg{UyrHuP&^$Qd_j90HW!+Qzp!VJhwRG+5ITatR=FQ89WKQ=;ciux5Q z)JauuqWw5&>QjCoNLPR7g|STaR!S_LRp0m?a?h!Ksmvi;z55lA=ct>FkejQ{rFzB! z^$coVu&eXthL@|qd>I0-s}K7@V1@cadTHKJhtP+*Qq6oF23DzqW$;Y3I`T(| zzp1tlYteg4z2R-}zO5dk5NnNk!$q`e)i3u#(>nFfUxVU~I-LIeQLk>L=eI$f_cEMt zR~?;?);;x37PvL4dpw{_liDi;pjjP3$8w{jH&}Dy8cN0COw8@>Q2hojjLNr03NGvv{3wWLVai_ znorarf1)+1PGkesQ8R@;xcfBQXbIz_sa8YaevO9W+s+yvdZ)N(=D!3?SItJM&34nY zRAJ0r^XpG=_W_OHpHRj_Gw}>8JE(bqiB3;V;&Jfw($rC~;E-lf3a$UVHA33WdsuUr zYD4`rTfPH0qNx+3Ge8qY4{o65+H4R8X^QGW7_8|l1vsV=)4JriW{VfbLNwcH?h>lW zJAtt&l(~|<;xT2|=&OZUt zGy|0INY`BZ2(2@k-Ae&7G-qiZm#NuGXDOc5RMIX_`#H_4U&G!k&DdJ>p4Ut{4!PMH z4F%S6G+!MB$ko(Ep)*f2!vul(8h0w4D$sNvhlmTBkp;LE7d6#XomHrbC%Pid6x!^0 zNz-!xD3>*r@8H@MYjnAwyP^rC6MxBP%HO=~W0LnEE zdEjdUZo%r}EhgYMcwD)v91{fO#aJ+zA^p~XRM-h1%Z zA+0hAnBLl&OxWb3eR(A?eYG2kfO%NU_y;=qX?IbgHEsklq zn}Kp%TS|%55beSa+CCqy-9dL*gm&g;fJklP|081BRo_GIN$n3j2#nD_OWEF2+D9g! zoYtOy1N8A)$s*X4q-D{ICRv+%4RTYo&7^3$_E)-B&uDWfubZJ=9}R+YT45iQ$?Q>q4u+NKrPaCYH@vwwNt2;{EGIx z2Y8ogxibN-YU3$2a!uPxF~4%{5}JD5(E2S$t5Un@G03a5$)CZ9TiQ@1w79L^MF&&W zXg~T12HNjvKd10(y*4EngAH1wa&YTuAFl*qlXfrdhilfpP2uJ??ewo2B-*X0lGS2CX#R0twx7 zI_b9%aYh$?1Rz5v^@3`dI$x^lI;%TAj@CKd4vJM|=^QAYa9%g8ruAR8?qMi;b9DdE z{4-a#ek(wpPVx|)`MR*>AS}?iQ0E2ReVT|})Tus%GKD&=BiIz_TqsR@NtYXs)@7Z8 z1g&D7f(>v*w}r?{bhE2rM5)ef26>szMnTQ1y4GYmzVMnZf)e-Tx~Xjtab4$T1Yw2F zcMdN44c(Th0F^pb8#=3Whr=PaS~n~J=1tuYrI~K&@@bpbZC&?SaH-LqGNZFrx0Ghz z^}4-Th)I$w-J&Z}fm^GtodmY& zUgzK%wClJuG3n6FnnbHpH+Ta~@9V;Lfm@fZnGOi(*0s$9mmb{&9UjoDYm-1=pU!vz z*7xhu>9sSUyFw9!2f7)qpc~YEodlltA)S{6^bd8<&_<169g{xTBRa;<=p5C(MIZA= zx>b~~8Pm&isA%?(UC(|RO>g~I(=ZsIpRPx5puXe~D1!8Um%%hxzlC;D z9MgAGVc~JT166*7=;bL;EmU7lC9z@pofKsc*Z+A5+DGV9SAaZH9~cClQF_l9j796K z3t;aFec4i|7NcK8eu~xG^JzjBr{9_boKyPaR7-wZ-}oj_C1Hx zpRCVr1xkwk)#u=ZRDJ#efHeI&`W~Foe@)+t3_bT3U}ox^gXA4j>_Y+ z^u<)-lCAgp3ioP`KF|Ia26OdEwD!-__fJP}zW#lRb{FWc(Sq}WeuQG@7xj)OA*oQ` zN^{~OeIPmivYt&T(PI5Lg$J(aw@?tcM9=0z!&1H97m!q@|3wX+SM~L@LM_*4(sb^+ zesl^zg}zom`G*_&uZ{s!>br7*Q>DL4ALDBM>l91At=~wyo@?|ACn2|1-!6x{>-6D2 zLed@m9D2m-^($$DaZfKE#8{*LcOF_z`U^cEXx7KlG_*zk?h{C8)$fr*rw;vUT7`D% zUksx7=Y73zGq`o>8x}&-Zha!XW_$GWUx0=E`d#NBen7vLf`t$CZ&7{Vpg#ULpbY8r zQ{nZ8`eX*khxLLPAQ;gv--Xtw{^f;``$)g57Cs!)e@v72alJGj1dsKGSbz!r=u(Qm zJkf7=gT0gbEHQL*G&og4;66kAN{DbWyiHErZwNjGxy}a7La=c$)KUn~)$rwh05`** z55djdAbSs74jA@Q3fRMt^9<+?8dA=}Y)?Z&13JA7>zkm{A;ZR5@S3+FEeML*eGFe1 zLFj8(wE(Dx4gXxnpr66-94L+$EYo3=zu^?ENsk(2V_+I!*iWyIK!YdkfD1BAMnH>T z!%w>aju~nxV{qK?`EuwKVpuQ*bfJczPa!wVAg6<3!VNQ(X{QGhr@`zV;6GTf(|{IntSSICVw9Qy={ zCK$p};ip7{j3Qb|h8RkYCmVvWO=Vh&VJ__(Of}5j4%TUght658wRL=tilkz2xB)4)$~!VG%VbWu_{B7 zD=@1K-yMXaHx1J%D|gEfyA7?|hAFfZs4;x-6XTuDz3}r1~-EH{x|G#hPF}z4jdkwC1-bSCHLj#9y6B^ZS3d=KWZ35jAC4Kq z>8>6(d`geQW5axk^G+B(Oab{513vnA{w58F=`ajO<8QRdb)V5rxeX`dYgGQd-{?uT zV$Q}-RAB02yhit&tMQ8v=!DNSZ3}ldetHz02aMjiXn7bVuY>%cQJ@2gr}1bz#=MMP z^qx9o45dh#xA93QfRB+o37&ReV=Em%ec1StE0ppx{&oji95GrwAl~2DMw@bv8WYNa z5?~CZynmqaS9-$)8TV0j)^X#^emF10_`U>2gc={y*CEV!Y6`3mH-6y+?IVm&QQRid zIFmL!L>b%P0YS8J8SU&iVK=_|IYgW^R(C^0jIoU3x4Xry75421=SSVm46Hjh!hF zc*e-N29RO=fWp0*M*Bw^n0?mR>;)~(89%3O1zE<;l*~MDtd2uxw((h-v*j40C_$5J zTt+4Bc}Cw>@Xj|rO*y^-V=L`QxnN8mhTMzBMYI$zG_JXW&LZP*Db&7XWKIFyW#imP zur4;PrDOH37-Q@;peQl^@gY8#77) zDvUEIw0pyNo%VoL8sF&$W|eU+y=|+FO?1lnO=HzkjNLN+PTA?(#(FCLt1+%s!=tsv zInh9=Gp=o;*WDfCk9G*GH~vb&+y>)cbU)rTrqWX2o^dx-)HfPWQ8cE>IO7A*HyaD6 zP@u&)_7Zrv8aLCiPi@A<7XjLh7sWv7Fs{!8&rV|!O>OTRrQ5)|%lI;7&bp1x&%=2= zMu+3HeYe+GPf_|lWC1$heS>%6(|8&4x0=#yKtM95Mct1DB2( z)l|d#$atp-bYsSKo^a{7@y~rgd2IasBE}|+!}Jb(VieJ~>`9|Do&VryTJvwmQ6 z&=f>_r#(%ta?$B!N)v$Ykg1qn>)s~A^SDetCL2{*_?qTZ(Cx4(n&QiTrfqcIulg~hG;NxK&LGo26#EV~J)$hiF_XX-4mxhi(?abKlfWOX zP?N_K@D4M%Yy?5L=^Z276=52oFj=H2Hvyedrfc^BqD^Zlw|Byn=m>(7cGJd>z&pk? z-v+&7P1`AQ5@)(X8--7qZoCSCr%er4V12yl87VCPIbogW&y}EOoMMgr%coFEdXat_TSwB&zWM!ftqD{ zhBi2#H?5=SNVaKFJH+RhzNhUBxu(+!bmp06ccC-ibSWO<3rrnU)^))&UIcqDnuh3W zR%m*bLgz)Mv^wxCHl2&v@^xkTyR%-f$;=E<1a68pnUNuE*hfUW^_X9yu zZuZSMkEt6^vB;7V` zzXwobT256*wWgmaTwG_`_zu7w(~EA9P;Z*E6$A~Ye~grWziZm_37Fn96+8yhM$>oy z-$Y_6q9?A|R5}yfT1;tg0<+b$fhIj|rp_gxZ#SKP3S%9nyB|ZtP7~_^EWB?Dv4UBb ziN6HQx=k@nX!V$EH(*PzsVD=W&$M_k+}v+^5=F;9+k50Qw#@zcU?of|prG!Gc3(7V4?6eb79T1sosqZ^v*Ae9d0J0M*Z&NCnVG z%#SIQ=5Jm{k$|J-yMMvZ0Q35T@JyhYxgTT4%qM1p{J1$|C*+2hBdF*w)a-c^15{rWVRnB3Mnsy|&;%~Z+*yW}{e-!dc3+(|JJRhHW8P{7n^-eb3Y<9eJgQ|l zWq$B2B*mK}@&OXe4OEAcX#R@=Yf0uo4KS0<^Uh%`#T+vTcc+9hh0ZLy`PKDcbKY!xAE?>pzqUhQj@fAsI&;m3UxbQz=CgEw zSb4rTJ4ExK){lD8yQAPEvr|O>;jj zBX61KJph~AW(H+_YRn&}VXW4Ci5Aaw=8^wEcgL)(K&#&TOc2N$%wHJ5`mXuEt?0aG ze%TYC*?f}nl`ZBJJH60b&E@n?YBQ${qqp6BXe(MB=B7CSUFMKs(07{;27q^uxojNH ze`v0jLz!W7Xc!1a%x21UkD8a#g5;68D+6HM{N-g}J~sbBsf`J3I(_FHzp3U@nODxAQ^#j<`in7Ue4%tWWV<>?5BKVaGDk1-F+hZ_J6S`v$4 zg{NgMJr0K~S1GmPZSkR~q>m-$eGvFs-u?rZ>9D1oa&&%{@%_N`xBRdjV@EBozl~Oa zMfwW;ay-zofg)5vmR?$^23uac0-cUq_K=|=mgYW;g<1+1K;baUu0PNUx43@{Uqo71 zze1TP%X3C>i?)<`p!0;qB^279v@llzGsg1hKPVb&Ngc!0j{rBwNqW9g&KxVe@AdbaW{y;QAhFR({ux_`MXQ0(#d7HM;c3PHw4ng-VbI8Chi@it-P5UgfZUOXL z_O?RAfaN!eK0UBh_W}%B0_jaWWO-*8A|6`es49Bc5<>yz5lb?C_D3!AzX9eW%K{$V z`IcGvFygW0rKwPK!t(D608cE(D7rpr`Hez`j@BGDTKlZ~>=XrdvZ}Abd;6_QB6PM+ zYzA*v>pM%)a9pH$yFASLe*3peH>8LeUL&rA-SPh5K8))50apqv_L?Gyo zS!d9a`nWaqduSM9l@_8i)Vlp85QbYr7#NGN{z^-iNb7m}<7<@l)jQ~nwkGWd!3nFq z9xgd)?WfI`vDPiakPv5ewZO7d)<)W^onW0Uqxff{b;~8lO|p7YbU)eJISV)`*4?xZ zHq}}{@AWk6=T+!Tx9VwjcEU%s`MY9R`&9osNiXbq|X(<198Dt@?R{e+S~ zm#t?%07|j-ZHi%Eu`Z`-i4yB7T2z)=|Dc3_nbouhk<~2Ral3Tq2Udy@e_1bS|ce$YOk_}(kTno);B^xf77~@;*htjtE^yp+iIifV6F8k z?VGBz_G%#Tj&+|NeyX=_qK)Sb)+h?p-nA~D4bWtLJRMA%apn~WTC9By;Mrvno+wp)$!fZ1XF=`(;%yY-v@|HsJs4n^X+tP!+%rQ5pWKGg5AF6P0Bz1Eeq`t7qG zmw-*b)k@VN1J(~WLec~4Hi}#fTFrQuO&hX)&jRK{>oQt<3|nn<^ztL?paf%M*44qF z8@KvXN!=5x;y<`#(rW+cAFy$>S-L>sWOJnq+J0NFBRZXJZ=VD=7hBBxaGR?w?K@Do z+Z6Ov9kA`V4mKXP`n3QDZ3{x-Lr>dAHY9o3Txq>}$hL&`(|Fqgdx7F(JDml4eQhzc z+&yed%YvPLwqyT~e;&0JE&|g4TXF>47HA8mM0SwPk3LSpwmT)DKW1A&HD)0;J5?Qp z+PPXgs>)2WIm|&T z-S!(5cb>5Y(Tpa;<`M$BOxsqR12OHK?O;5}vuwu+^So^v%}ujyr-(eq*0Tjp$hEaT zNA)lHw$(ImF0g$j1Gr#YUksd!wnZ;M(?XlX6NE)JcUt>jwq``uOat}E$|oU zTVk7%2uY>3O4`p;X8Y|STvBEGn8Iw;Hf1shZrc7P=ijnb_JH+mTZyM z*=I|Q$6&t=%y4(x#=eIY4{Q%8Fg9poe+b?~wudx*erS{I2f?uIyMyQ)vAy4p)~IdS zvk>vf_9?~V$87Ju3@~ovy$LRlZ988A&q>=4zk-?LifyT&+qa@37{JNC;xpRmw136U zQP4ZDNP8WxZUR-{hCLXQpGfP4Q}!kF9Gtda z^e1{}?29P0dC~rOHhP!r?^Cj4qP;yW`I79Xe}lQp_Wz!T6j$u8--Hw?_D&VhEY;qN zu2!18a5sAC_Vei=lWX?x8YsUo!+tI;6f*70_duvD`(?wRmThlA-nJZjhtEOny1mf} z^m6T`u4oGFgW@n)WZ#+qor>)Pc(7rK{V1i3+_Z0@%B(W`LUI|F+y6|lqYC>G4F)Ui zU-iLwwf0T+n5(m&wT0e#_4a8;Fxg9@w*s zp?0VJCv<>Bm%WY+eY@?~Ziaz->|JTY`Ow~2NVlH-3U?^+*#28uVE5X;ZVQk;`yvZ~ z^xI#g#nKb|jdRTK{0-V~DuGZ#_J7gqa@hU_EeT%O@1&sdEBov40QlZ!caNjFV_<(Y z3oxZ@E#;(_v7elS+U4vGv%s)|y@N7(E7>vh-K}De%>;{T_APS#)v$LIp}EUuQ7E>S zy@w9ysAC^21p9h+9&OGV*j^O7ZDf0vfm0LvcUOQkvwIZiwXk=62AZvGL-i`)x3Sye z&~0bmtbp7dYG#iD!uGKMnR>Ity>Jk_OpwA0F@`~8ag5EDLaR@rUUHhyjmL*A4^EjWaq*@ppI56x}->oPk#m z(UbEs1Q>@ozf!!#i(^hjXWpD<`b7G0f=PT|PQokn{5Wq=sKK9uVl&*`oDb=S2;}U! z1bKrv4)n4P=9tm$H-z&mCDVj*+Uvj}jI-zvnj@T#H2b7m|A!U;~=V{kgj zQ6|EM@th%w-6nAIX8`gPr?M1OPIKPa1NLV)RR}BN=W{vx$dh-D^W9p&oaf|j1O5e0 zvK06iId|z?*h`$FRC18Wd7Ov2Bu?)h3|{7Z=>kEoaE^Zr_E$MUBz7|Aff!8+CyaiR zC6#lF4r@;1{7%7}bdJOkmbu0`VG2DnI4P9oZph>eCV+hor&I)t>zv7-fRW2tasn_n zI6kXj*#gdcP8clYl+)c^#QE?#28%gWRMSzy`JxJQH#s3cLi<~s^flmgo1>t3=N-;H z^0<_8y1l@mjPr^KgmTWhg_x`0oTOZYN(1MK3-GHrb!@;?bJnC{vWBClUvRz4DJG9t zEvIt=b9J1*?tpJSXCt}g8#pcDV0e%7(<-3f=cwnwGL4*=R3J2QYTR*|nmNbMpx452 zri9>D4v$KO+BiPH0KJ`KAa7X*#~>{RnFpK@T6J`C?ok}Ci&I0TEZv;-bRbs`Cu#|d z|B%yr0r-zN1KnsIb8b@hLNDj{zkuGyQO-uw&sj4D+D|wqsAA|TXSfx_1~?yvV(uBo z^aJ#sr!Y3p_V&0eLmt zxi2Wl<-z@v11g@}FgpYA4|Ct6JX)ySg0>IoYIy2xS!A$)1RC8 zCqM$YqH8dBAlLLZnjmi2x8M}atxy9mgnNWGqoG_*E=Y%Q$LMxG!hQNaBs|J}m_iqZf zrgG=eqmstu6aXZh+e)k0Yh3dl;AL>Xr*Cp5_YoDFW^qd?@Se?$Ckb=7Kg%HDb?%mR zxDo8 z-sC#x0Phxeawk~a=1S^-euw)nr978%Giae)#`WC@nJT&Ql#)=zUAzpWtGPScfL>$Z z-g=4)dzWiUVWwK{Yx`jJI&KpAzz zKWGNI21F}!)?fIP;#?gf6ayexal|BU1PZV95tdFMlbae^nH z6q}R0kI54k&r_2JFoEZL2Xm)*u15fQnpaM7(lfjl6p=m4o4Exn&hb1B0^}lZ^<$u4 z;&m#4p2+L?9fL`{5g&+lnfGNI410xlwh#(l<*9K9hhcg$?=LC{NZ~Q4h$NMlO<}n- zUbq09(s@23Fxxd=))A1&-~~E?ZzeB;YJIYJdGw9T=KV|&*&Lq44ItNf$;053%bTK_ z{5;-NB@C3$`?dx&Z}95qdtJaAxdxhrybY;fYbfG12BTZdi?RSl3C~y$*>3XYEP_tA zcqNZP^fvFkU(wv*wakL}r92aQ!IkkG7Jzm+uf_^wDtMbI9A3$LT?5D}UJrS~t9d8# zLAr+LtpVw~ytKanS<72C8@)Q7J*B4B8+d1L1EYa=;s9j3$8$P_(fhmuJHVommzM<= zO*{v3$~5z~Qu=BOZ|g@GY~}fr=cA2h_5lQK=Pe|sP6u!E0Z8$H_cJ9|ck)it8A)Bd zt+a9L=1tOfvxhgg4E!GRzH0-OUY@}V&hP1cyl1q@>gQEZeE13PX9vJM5=MVB^uY>jwuVOw#8|KZX$jk(9$J@Z0_WgE`?6bd1^ z@c*m@f-8R&8+_gPn}^YJ=VuwD0QKOrDb2}~&k><_nExfEta$M=o`IS--=zlZefaFd z==t(LnE{#n`E~gK3E-DgusDz(La*Q;{@m#>Nie^hQvXBw?{-79Fus~T8Atd`I_)5w z|567k5&VgtK{Jwn@DlC+qWEGmVl;mv+4&g%89jKh{8c-^B94Eb4j(_sf4(0W@%$(k zKqm03hcI}G?^p_DPV>uXV{nFlfRbR(^35XAJI7a3?%{dL6$`F)h-pTiHJ!rSZoQ7SUe<%dwgd>(&4#f9_v`)HYR zgFn$v$JZC|tG__Ekng_<7)5;T0^B>r{3k6KEa69&Lj0Tjo&Q3@Tm0B>V6NNzY)bOF z!|z`NK}-2x+`?QLKWsM!%lUx;K(FApnS)^^-<2NtYW|!|P^sZJ9769d|IBvG)$*r> zLQq2;|MfFy>-o;~lM4-e{{T!j@~wA(b`w903ND)YIyOLB_{meaOIrE%GT5Sx&wB*5 z+xgzB0r`OMvlSqn{N=V_(Z%2S2B`G#WfqX>A^({_NI&8a(Gfn6`P-5}vzK2$VWK_* zf9oM2_Va`3*o`OrqqJ%n;GZVv=rjKI%V?hS-?0OyA^t9^%O2)WWuW(he<%%{ZUu~o;Lsp+@)Y<`2G(K0fmY1<2)rr2_^EOu3<|5e_Zf_fx#1k zRVP8^q~Kf_M2i<}{FxpV!LMh);glejyz8e0b(CU#M)1-YDxDSdXBnX3Ie|IF%Fhd$ z>;ZZ~FnS5Sivq@eG?xUM|EswXSd4;wlE8-|?w197lELDNU|=44R|OulX-F0%e1l$! zAdb$nOcii;06k4`oc0wNf~|o-&lJq{K$9i7MkTh{f;0z;|K$kYC8E~_?^6sZSMc_H zGEETUlZO+myJ81I(g zAMya+7A&S6+a19t4lq!upyenA%LKazV1#nPhA8^}RS4dsMNg%`Jq5I@1irL6tQJhs zLs=szeg>1=70eBVGPQzTDj?PgEGcKIUXVdIOM{@~Cx~`Wu!IMM`+}8fh}|gojIwo` z1i|Nl-YnQm)!i+E*bgz-D)3qjVr_!KZcs6_3mPfN-64>Yi}iuvHFAq|3PR~F>k@29 z1x&Y~>?Z;&)A7j={B46~K)@qk{WF1@yo%2S zKDIy~6y%-;l(>6UuxWfl? z$Ar%*1QjRrSOW=<3zG~F0CPh4Chf!Gg=;7>lpy@R34^DEo5}5aT9`A5Yj8&R&2{w7 z33;?2Ixj4D#^42EoincJMPc5XpnXYrZ6lgQVSx@TE(>$%;Lj_$%EI0q4YJ(6?#!h zY@Tp39U%EaWhg9DARM6mP@ym=3cVtsfL!*)!a#~}mI(iO4$W=~FZ`DwE)1i5kUPQw zM?jVe6`N`OSte{)08Zt?b@Vx_5c+c=ewFZ#d2)l^7tZ?02rOZpQ$FfOZWkKE_;OIRG0QpSbPg)9tpo6LGQ7!;4_HUD-5M%fIguo zedGFtwG!}sDm11eHwT1cL1Dx1kbX!gJp{uJ3%C6Rycfb?N*sGBZ0-Ys zVN{rT0Qh6VF?!p+5?;!KEysl~=3#I`sEh#LNuk>|^qfUO#h~pX;+dl7DoPE4PHrOi z`Hs$<3+1i03<8T4vgm#nXr_o}k)o-hLzloQO(gmO2B6@9ITPIaQ@UjR}s>W{%(gJ>HMm-(J3n9l0EFA97JGL51;^Z{xTHSUA)nniYB z0-;4zod9`TMJ@ECwuvG_K(k#G5(mf*kw+KAejwWaF8zE`r|8cunCudT(l)85C(fiOZ_2CpJ*>R)cZxhyMo#i(Lq{-KNVH8KxII* zfcC4;L=L|L;kn58Js4q79mR-5%F`N#i%Hj zP6ZqjeG&?cSE8S3Q9CYb+XKi65mOFolcLj9ayKP9coCvGi>+yQsyST5@+lN##!-pinyN>=e-7o=f&;oA^s(C zgEvf?C|*a)h9vQ)yP?cgG5Zn_lEupwph*!o_Jdlw_=|0zeND_a1!RVJ{3@DE@xFCH z$P$0}5LV9?CpBO&M;t_?uZs=sls%LyPNiLYp7@Uv^zy|^DX08~Sic>JMdJDN)+-jL ztOH1iIF|0R+u{mJ{kS6*y8xk7oc9WR%fw%h1EgHMzYLrz#7j>?v`X>0&q1Y1JVN;# z)nb>kAXXzzrw!v>@gIicK&%rxx1w7wj-Xu4265+V4BitLlz`fOv6jlVn#5HBVAw34 zO`gjZF>e?6wu%eM-PI;`r7d;4_``oO*CBRtM(=_6e?J1DQ@mXbDqZ3~DB|8NUj7cG z=n-2!$KXS8ZjJ#WJ`($rEBmpyiC!kX;$1tzzE51R8NGh-&ey@|so08cfdTP?YN+;1 zd|@Nzo{RJ8?BqeQcrR!Vi31!#`-NC=73eR;DfIOo5pSTh?A`bl( z=o8}krgZ+`qCnD-(6 zVadOxXuKpv*Feo%;`kUW{3N%x1HoSsL-lY0k~MFj7br=iIBAf?`VvG7mb@aTS%{=P zkIr8Tl}u3?{Sk?jb|Ob5PbgFvF8Rm_oFXK_l-Cg{xlHvUQIgNe`x`Bp{|{`jC2cS|XF&OQK-1U;( z{}F=(R~i-mv8Z zNx{2Nty8jF3cg*E{Ohn`x5VWiG(D2NWT%G`>zzR8l>{FEu|7$offC01C1(zS?-R)~ z`qVv@^imjcK=NxQ=AKC<G#2lH)GG7?kMKAn1_9kskPAiGl9N7m_+PDWWuF_CF@ZF>z z1VKc1X<;H759tZ2UiOrl4FmG9bnX=RdPy6MA&j>)xDA|qq+#C!(pNeej>b=V?+RG> zOIbTWGe9bT4>SX%8=hb;NV=DvgHY*pDJ&W$tsAz)^LIq5-2&N;N-t_L87^%k=UIfb zRSLBurHW8+ijtnBJkDt86{@q0k-j+>%`vGbUF}%uOF9K3PU=kQ8ONp82SDY7^gQkV zPD&rsDZcU26p9@sNJ9f*r%TeM;m|%&8dOjDFGeodwQ8PaWh3}#A`DZMI7daw*lwzQ@K zG;^ebl(BMMdVtnc77neXA8(q>DRx2W|uU+2gJIi zH|jy9M>_gCba^QKfIi}nq=q*ZK;XyHeUp&1SK8+a&_1aq2g>wIy_aC_iL{RnAAc&{ z>IKoBOTYadWCo>gA4YFTy1yNBFQmt6K=h?FfP!oz(nbFR`lvKCAMD4Z!&JL6E}gvs zcoWiaN-Lg}n*Is)Q_=*(Fc6((59=}NDwEJ@7H+b}7XWpaEu$5JhfG6nYfst!b?AA? zF3iT9w`?wDVEM>)(AU9NmYxk;_{riaj_og7NN=VlA z9r8dgPIiOh@5g1|--Ny=WTSZ)JSjUk1(0}I^*@j)LFP0KG*8K{ABXg(Wo49Xe?~Sy z>(8^YCgh*sOCVdf43p<&*>rneknO*K$&0eLC}HQ4jP(@MF3ap9(Oi*j$)JZrc7)cZ z$udzk6itzN{CP|m|)1!7xcI_iTX2`55zadk0Is%$y$r{Emmo59i zkIsL|k=-S~>vfs=3NXxXcx%jVZbPsedPs^64_?TL%Au7qW$U}*|aZU z#8R1@(*4S02{M?nQg&z%469`P7l5pmt)L?cYh?S@!$5asA(Y?HEZfurnk}-WR83@P zm7SzbN1JRXWxTY@7E+phhwPd;%+@6WmehHsYf=`4ZVjlEhRudk}2qA|5)Zm zd$eBJLn>74lYRId@cLyBzCiDZ?6)Qe^HiqJ1p5J5Eirs1dsPg6&t>Q6OE+kcbv{RT zNES;cYz)idj|1_Atcj|=Mr7_bbR)}rD8@G?%b|M5S2E*l^u}ce{{_N?EchA_CS_l9 z&`inFBY@{DA2x$YT;z7vfOM6+DbaJ2Z`}{E-Q~?LkitX0kG_qba>F}12z*#xxCWAX z$y12?oREiC&N*LjE14qeRNDpT%I5{8PgPaEg|Hd>AZZk$)TlgzNGjzXZcv`Dt?4_X z-ewEDyYlIDd(_HbB?6&N{^?;r*2@pZ)BdkP{^b!6y(hml9U|VBFSh`-M)^IuhE4Jj za*j019~t8=X^~I=3HYt@z{gOnO+IZmdL8ooXz2SuZYRN&?36F51g9?fD*Cu}%m4ft zO^=-M9ymOde@C~#Bl%Ao!Qrudrwu_J&`|{3B;%J@2IqD zKz^kQoSw;-C4$9s`94aA9+Y>j1;Put{jVVNQvQz_q#u#*&4AdW@<2N1bWHvRrTx5; zC;ke)su23w7 z6dsDD8_{?wy0=5$!-|v65Y$^CdK-Lw6k)Cy^i_QE6?%S(Qk*O|-Ctov8{`1RQOf@e zRIn*UEl44?0+nDz92I?qC=3=Im<(0q*<&`Fl| zL197Jf~OP>AArhf#SaEbxH+RJO9uW~#l1Jc@SNf*i=8#1LRq9~}Bs@RdkzfC6yH(uL%G78 zj9#JG7((ZtRVsqWcUPrw;Q*sragu^ZHHxpFfc9NQI{8*>6|p;@#fuLz*j@twi7fv6j_uI^+4e| zm-c_13Io+pcPVaD$!oX5Hv=#|3d2J59x4JfVE9O}l0N&76(N+s*{c{{3k~}eE0=?P zzhZzg8=feNPXOVm!Z-}Q0mW(u2=h!a_!`t6RBXS4!68NGr|1nU)>(l43q>#e?uy~1 zV*eSaHlk>81^%ewCZ&#yDaPp4|4P9#gJ|Q5*Q{Z$2}Q{-&|*>%LQ9G%#Xr9R#98?x zCBC>Qji}tqRcY4_5I1G?IVj<-yi2tlhn3$_PPmuyz4;jQRyIdL7a!$!iy(}zLAj9X zTl|z8!k~=5@(Aq{0+hq+K{Qb5_C4@}lwOp@6RbQF3ECmbVv0C~DjnT{5TGi zRo_9FqslCbV}~mjeuG|w(wxq?j#l2E2JPdOb2@>SpzKnB{VApG8E`nQG|W8)4bLd& zSD-no45ITz&MEJZEBd^0OA0V9C_gL%#zo}|T3TOHMtp|3L?!1S#7NI}6g9o4+;t0l?<<$m5eSXSY$jxCQW}QH|I(~<^#ZjPWlJs)Tb1vS z8>UV9iej+s%9)=5u|sLYgqafRNUUJ3_S@>J<0|2t$C=7pd&&b zDc>TW>|>?lIf&h>l+z-uPnqxu2K$wapMm~FDQlpv{)Gf@tQ2tIKj+e^1chQU}W0ryMsM42GPR5i6DBE~+h5FyX5D;Wp+BZmNE|k=<2W0wA}CD$gE`r>cq`@x!Vo zA(-=0?Rx-xZdu(Lj}iu1}E4@gC-a zRYHpYg{YKNCLOBMkTW(+bxQ$|BL>yP|G?>}>hE%xCR{Z<0udurl@x%BRCQ5?U6g9; z7T`y#7ED5l7}eXcQ2UtbV>+@uR#g^=CQh|s0E5R>Reu2Cget}wMmVYRq5VO;s)0f> z393ISpZ}C9;1X_#)2cFGus@?R^1Z* zsczo@exfRgw)sh_Xi65otonj(;47->Trj+&vC{12J=+wDbX%pb$AlO z+)#ObgI<9udL?XGsM<*D^di+h`cf9FK79^bl&C6ygK9Tbef5~TrLxS!6}hddaL3#o zRVTfrOI3Gh$5o~}TTb7fwd zr7rL0C@*g`Ajf+ zrgGQQ_wTvt^!vacROO^XiXqjZ1F+t(>fg=a`$F|P1ukByKBRT?h$@bbLmE}Bpt#4F z%9jgjuT*kMx)@ijpl`*5Ds(G|O{#vSxbBonN@sLBt1GEI)I}}7gT__;=TU&TsRvf0 zXK+{FdhG6;ldpR4f57)s-U)&p9i(n8#bB`d=0_kFqF%EEgGbb>3Nd(8eUO}~k?I|Eu1}Of zz3K=o6s-3W zctt&ZCYr12-mgJBS#8{hUW$4nrTe9-J&0(Uy7o9&q^n2eK+IG>3j$=8dL?bzv(>9v z&?!g#BpD2^t3RXoY_9tDE`a2z_vJ(Fe6>6iM!2Dl-T=}C>gT@zq)?q|@CQbb`VUH} zEmjXt0;WVg8Vtmn>ILUP^p?6j7goQmUO?N(JL-i-kfK!mgC&|Wbp^##%GLgFpjV-e zCpTNA`VgHPQCCm119U$UrC{8gZg#y z6x~xh{{>F>)wy3libnMu5p3C{p7slj(5${nDU2;@ZyOA@s$ZjkaGP2;9aP%YmrsFq zhq|)`y$9;sly};x{^~M7y3~@r(4||g3jw1Z^;|!YeyG0WLjKQ3>X|=c^0E4)Cxq%% zFL?@E^r?TRT#8t7hr9z<1Lml2^oCMVPLx2>Mm17XHV^VfX)3RPQ?w@KU#K0U z30jH4V;Tzzo5X6;7Q=XPnr=$CKCV&F_x6NAb8iJkPin%BqKVfWm<9X<&CVX+pVHhS z?N4iz--7QMO*d8NoYjO>Li=-?)yDyHUQ=92kD6vE8*>*m-&3CLB~3Xk`4Tn%GY3eL zX6;4@dRen^0~lV>#QqA9tC~de%_M6KZ1NrqTx( zRhqx)hN#vU#e!jtX8pGi?XISsd=9l5@87__S>v(|O^YUlj*n^8v}r-CO_O{S2<@6= z+OKwKtjKTkKvVD|&^tBRZB+l>rTO#_r0CXsv;v%ZG)F%M{zJ{uJz(Ff;Zq4(pGGai zT)(E>1ifKR$^-OXXbLw$rk5ID`YMfRo{>*!R1-i38q@F(0_2tE5xITGHK&__H=%K$ zH}RyVZVHXFc8xpLKe%Y01OdZU>qenM53S_~K=jn+e+nZU)+TwP@zU<4JTPzVgAv%t zM|+Tip0Bon4)*cW{uGKqf9>|QAR3_crnf+l_Qg%m4A%bLh+c?x#v(MK+W%2vV3_tE zxz&$o=dL%x^B1mdR)9r>c6bt!MrzZ)2hkX9483TMY5y^TEn>B07r^4Q)};;-p3&B3 z1OKeH@)7XPX}#0{Ij`MI=V)Hg<}C%4MD2>RV4tL|r=#dDYqKfC=8Cps3YuNjZlFt% zterqC!dmiFvRD4MO! zn+N<{?Y!AwpQlZ;!(hI)WG$q)p=C)SZ-MsHx1mI#_Pzr07HKza#9XoVf-Ue$wCr9G zyJ^t=MKA4J+L#!Kcw75*JILJ8_LA{Swbw3ycA0iDEe^}I6>%U_q5Y}{kd<0LSZ{ij z_6X&zRcq(pM6X8sNh0K})7G7UO7+@ds+w%j`q6JY+|%}XgYSK9IQ>XMqxSGwux-*B zn*RjRW^ETm$y&79k6^D>t%&?hxPPZWv|anpH;}1AyZ0kB543_LfOKk)(gWY6ePE7W zx7K4XdOg}miU>W{rqhSMS9`z~H2bt$|AG`xwI5$cGoYQ`3)0WDb)P|sA?<`=4KRka zPUN?Jp6Yuk$zAvJOqj$&$ER8jPu;~k=pEMC1_M1nw`~Xg;%%TVeJKna zth1$qdqZ@;1Vj8#T{8KE!gLXIP}~un?g|i(>el4J2;sWQ8Q>eG`*l7zMe8<}gG!9< z5jif8=~Q1qm{?uNIY7qggmnJIaos1hnmnPaqKkb}SLp*{@w#nSDE~S^*P#OFXI8%3M zKR~l|=`~O$TlbiLnlMKvIteMR>pUNUMV>C=9YE&mT9Yt$Lnr+P1}e~h52LPF1=UUw~n??l3tGYILht0>4(bZzq~M-Sm|JY0#bW1>QZ~$8y|k_jM~MFSt>+ z#s^K4ZufJbH|r{p96G&4_gVo2ZPlIYN7Jrb{NFDl8gy*((m&8?zJ)ZMx=xBXbm_jN zwLrJdWIZ_b=;o1A^r3Dyd59kAHc)!wW1X1x7yY`AEg{8I-4+UY59l`k3);_gBZ;8$ zTsM=h$e`|zjgWpww~^9}Ug*9fhs%g=x&+Or&hXC<03Fj=^n=i=8@Dq;GeIS}-S{-EK%qznDDdQc13HwFVVLci7nFp>JfZVX20 zl@~D>t>2IaqA~idC1CKlzElSdPw0ba#d%VH*$4>n`rWiN zPS9_qB=l4I9tyjh*1J$`(i#2ndW!#@)ko4<9vAcnS?FEVM{R~Om-OlXU@%etd;|1N z(m&pa-evs;TEAY^FDgbaS^vdV&`#0wC}^9ikD^l9H2s}145sTp9s;Kf{bH&P$kgw8 zA5E6t)e`90`r02MVU9k;Wjda}T>VG!=;rA&#z7`uKe-9LLj7M~(~Ycep*U@^{`feo zSEA3N9sN!H6?*&J(yPeRb6dav3f<58-@n1_QL4|T06>{O{T2qxvC%|Rq5q^BN>u7U zng%LWdMRx-s`WqqO!4;`{eDWRy{kVg0nu800Y<0S>0{|~)$6-7bd&4HC^P7ueg~Zf zb6>wq4g5wurws^A`sK6|YSup{r*(@yjJzW4`t?+?*P;LIH6T3D|3xY3o%&94K6mN= z^aDt@{=LhfV(8I}-Uj=J`eCZ*e5BvM4ZX+u4m#qgS0DHr2K)4N2SH{?U*C`Br9PP) zD6jNe$;mjWx8|Ye>QHC`NDqg1=0R+42gfCl*Uw=dmGK2Rn8d>fVGif$*PFr}mTpE9 z?Z6xXdaS`=wE-|E9EQs<8t-tKY7f7igIhg(mGFKfM{|CfW zhmu{;u*e~lc9SIzrrQ8n=J4zkY*FiwBm$KNhY>pbqtT&!6c@DB;UGOf9S)a|f>D>l z+FxLjhYp4iN(Jt9Nb`rl{SG^wfd9l{`+oEW9P-Ik^UPuOZy+=1uzw8rLk{a5G5EqE z=L{fUI{ZulsWAs}H9#gDrcpG(+0jh|+HQ_7DYWnDI8p;hZ^zOe2MY?d}FhmQy_CMddnm?}2CqPQQu3uf$0| zgX$mdIBi%7{3@qJDiy4Ax=jZ&-*eij0kvkQb;h99<}`>`5+0su)BnC{jK6+Hmv=y{ z0HX==SOpnj3`93g!K$u4R7bK2gcG! z+U74S7eexn&Eqlsi35H5Kb=nx)>^o`VO&lNBwxqO1?14b7WWK!P5j_s83wsU?xV0L|31L1z0N3Ux8?c-p^-cEZzPQy|% z{aad4;OXLl%U_oXctH!@#X_|fe?=aqP)VHm9R!jbHPF^tw(xD3MZO*RAk!7YivXmY zNC2A3k^wBRR5Gg}?Dt%037%UQOj2fyN&6H4QS}M6tGDbT3GLz@w{`i{>(5oqXf=O<2jVRnq}O%7ckkziht4M z7;S zzDXWMC>u@I6o5*T$-y6Bpk|YZB^YcqnEbXEm$KdD=C9DA!{m=;;QPQN;6sStX>zm~ zw7X0;*JG~RB#aJu=rPGG0qut-D<;r9GAX3T`LT)Lbo{x^33G#O(6Z;#IT+YtsFG@rU#=#Cd*HuH*CVCtmqdeH)SH-1ks#L zZD?ceVtV=zKwM2rYSD8uEe-?~chjc^%CYt^J#hk~o~E9ZetOvS&K0QUWx6I7Qh1y4 zb+|A-rd=-~zOU(@dqKv}v?T+0{-%M+5G}wokRGp4({)_ng_-{6RH-+ulfVcKrXNv$ z`#sZbv^}|R`p*m?G@1rcVp5Z-?-2vYG@D+acUX(*{Z>fPYHCjp=)m+p^1$#Jem(%b z(dn*Jm>Zk^yEBN!%*dvs&|@?9QYuC4j6d9==*by3RM0+thSdRxoiO8HDi=95;{$Ro zrp{PQp74PgH~%yKj9&Vc@#iyky3qb_aK;i!BpI4vTMR9RXS5unr*TFgdD&miNFD(D zkr_-AXfZaU=`zgyYKG@| z&0eR|WuwgY)3+tstbuwlW-&!{{>w45etK|Y%}nTx6ldmN4)({*Qs|V0D`va50raX_ ziv^l2Grv#}%{JRbYUh~6QNF-+vup~-m6!#lLEoEZMfCE%Wfnnu!`o&fVX$GT*$T>c zEi+rc9Zk8J|L0Jt((G0iKnzu8Dtl0?Hd{*>pEYK-FF~f>Y>yd~X)v>)(z$zPFDZwj z)l9)gZ@`Qv1;{hATNW66Zg!I*JA-Bw=V8)evq%+8^3v?nGSD6|`_u=bjhfX`3dNY2 z`7rQanJr%k3Ej+NDE-FWV19vaau4$vOVD_l+g!%vVe`#rK*rnLiB@Mm=BudcGSuAd zU9b-`A29;aBj%pfAbQlC&p;DlKEDzSBh5wRJdQGFZbTDp?n}RiaLhcEJUy}In`w1+ z+3VN0nx6TTgAba zcg^3WP(iJ^bsqTEnP*x8q~6?y9Dxny2SzY>&wPyX&F`BBE(T| z^A$+9nS0P$tKB@$U=B$;%+0R>rqg`j2!!b}ulGc++uTiurpH_vf##w4pT`0D%>0x6 z(CNAPupML?GCv6y!t`Nt{|*p+VLtT;ATP~D?l9h{xd(km$IPF4LbO-rE&b??o4X0X zcf$NJZ9%5Y8y8ai!P#QwCJ5|e!KLaRSBnZRCfzNf>6io$3l$HDo)%~AK-9~^mX=oD z7GKz7&c|W_ZMRQYKYExP@HUTd+Np8Glr{Q&0bEe6Gy zYq0Rg5zL0^Z5G%63!hj#EX3pki^AVv*-nf82Y~6e_`D88dn{)D4=koEG;wI08Hr_J z@5=br19NVS18X3KJL4NFWA|XBreMyKA*OPZ!;IQkfOs*sQrN_sF-X}RK8!rt&-gO@ z9HEQBkC9LNKYzyBA~XREhftV1kg%J zVSGSI_eUAov_lPN{LzD61S5ztgCZHS4d5Ha*y#YsXhtU;h!Degl7P8b#_9nOi!(5O z@<)4|u__n%Cm4xCpna0jN+IBQhVh3`CV|1~MstcW{4;Kr(+vJeFs|-HGs9#W4Y%Y(Dt>wV*#=KEw@s} zS%Br*|H4F;QFO*joaHN84j#9BmnsxbSdJV6&6Ad!n_#tgOINu8oDwWe7lYa?-{Jj23ma@O)9mG)n?d{l{RU#!Ex(-x(z%xN{-yKh^DJX4AWgnyQYt2I zSk9oc91AQH2hbE+&ddhwBFmF>1VV}B79K>qX<16Km|K=f@1b|wvN{7-^p0hs4!ttV z$^=MJVfjAggH&0zQSnK&CG&HrU1PcF81QN>@65npz2)S5I)CY&Wdjwo-M4I@wQZwi z^J*BX+0yKHV6<9VQVL>+<-RvS?SbVST0L}H9-y*<9?NCqwtZxIa2)CN1BL z1eqzzchf-Id6upPb2+n$X@5{NYbEU{n`W(?0JY{>%@;teWtI~;xLRlR_5iPK*2+Pc zyM5MM=+1Sxr7r;_<9{`X=`pW^G8olhZ%z;&13andKV@ zm;kFF%6AR43Z+GOkk!qF;2Ui9bs`W$tPFpGVW^cE9lIZ972%9txYbO0{vxadA3@$| zt6FkS9<$m(KCoD;$-e<|+3JUnpzjr{z2vmMYV`)CQzly(O5Q}9Vl}|VRZF#+Mdd_k zRyxX8$hGp{2PyKbzDvYlzSY9%5bcJQ-xf55R>3hqxMOvh4ThywE3zPAnblfKgDJOq zi&nukR#AEA-L>+KN3YhZ^d5FE_%KJEAhOMk^ z(Y&yVqwVUy1 ztJlPUbhiHdP0YDkCoYFBZq{ZiAgH_bl7#^Auoj!s_s`S1^C3VFTmM}RPF~gv<^t5m zdd>S#+t+%$6qnM^TI>j!{H?#C-}Vf&uBWt;AnR$gFbTF^NT+9nSVzwWr%>x3$1xaY zJxu8{N35MQfPU1vX$pAZ)-B(FUxf8*ba+6Nbs>xLuf1&CyP=G?O%H7YeQcZqK|91I zA`*yEHt`gEjkeKxL9`f~=Z7KaF`FD(S0&nbt;1ZJ&2Q0Qm~Jz99dp-g&NYEWhRta@ z(4f>Nid?H@Hf|z_R&Mj)CYm~%Q3}!5+Z64g?_Yz>I0xe2v&o``&3zl=5D;y&X($6s zlZ`_s2Agd*pU0(Wu?cjCfm?0(AA@0=%~mT=Yqxp18=`gCoc$8L2R0v3aJ^d6hcSr~k1QVGi6?FD9|fl= zn`U}1J2P!4Z^wnXQ4bAWnOCXM-;H^N4y1HvZiG8wx(9QX7(_jpmRr#CVh-!cqRfxK z2c8e}$rUK*%d{aEi61lSBIf*=LzGArU|@#PVmy%fTLwUbm?m_dW-zmgf)gRkua%G@ zlxa)>(lF-eSLhvKuB1}iqs+?pAa*$OIvsry!Bl<$_L0n6`_M!&-@Br9tDh3%+jwR>1pP6 z%I`hPJn{}yJICyJ0>tyo`D37cfqB3JgBO`Bf8bqWE~PzBA~Ss}L`!0xehrXUm@8ky z;8kXL3OFP)85A;0Vg7U$2&v3#hC-M$jj8zoqv=drdKF${uAyK1$Y8GP08Az`nl^=5 z%*CGpB%9gx4#-?*8q?jK%bfEMjF-p!mo|6#%*CHWm>bMxbc$L5Gw%Y>3z=DeqA6lt z+yK($%w=!D2o+3cat~B8GqxCjSjC*6EP(sW%iqEHjm(GS-EU%^sDp;h%sDv_zlG^Z znVYT5CI#@@n4eKmL_71zYCv`{@0|v<2h6>V;M>XkqZA-r%qBk!b~8`Lz<51O3px|= zA@d{pIiW|)nRIMMFH^~+{OdmEduhPvXPQ%H?GxrV=b_7JvIXW zIdhcWsDn)XCLjzky@DX`Fmt&d2464@Z1i3-KO`UM2y>(r2(Oqg)`QqMGlmHTCz$E$ zL2QyapALYSV$Lt3@1OJR6|~B7nf>==Fm#>WHXDui>_5rP?K8XYW60z?`_?be*KhXE z9WYnGY;#Io4xIgqJs1YfF5eA?!Lx^YF&Hv?3FX^`&VGLv6b+lbfqo?R$m|FcG)HGo ze;0hiXFJo%FJktiS}-z1&W=<7|H>TJZ(x`_=a&|oiXQb9ze3@ zgbo5DXU?KNST=VK+Z>PubKGh{yM4|y+Nk!=i3k9~lQ~N%T>5klgHj;|=4_)K^|LwM z3o-b7&Yn{sJwB(L)_4~cpY7Fef!A+4NuTs5wolW5_tf@GI)q6s;PyJxEcbG27WfNb$;cYcvMOZCCyR zh7-2C$R$2$`_D2^o3fSD$vV!gqh`?Fg>{~iY1~<#EeHBxR^SdGc(F##0n(dgNvEy) zu$BwK)|b^jlk%_qSfBVpHGkG4872c*4X&UT&U$kM3?o>3J_P$n*5Vdu5ygtIhS{Q7 z+a@r0nw3)k+Gkjy0YE>;dd(Pk=UKyaCtPCfnFq*3)=xrENn$Bxg5hOW9GhVm9qdasjP$ffJtMWqrhxBOGHjltk_2&dY$D=M?B@Sny4-`k7e40CZAP6hu+;_Rs4&&0+wwO1`An- zXMv`nh_xmHW-DeTQ5sAMYjO>Qxyjl|Y3sLGcf0{}oAsUp5bv;jXj@gv^8XvXGFCi& zqsmzmlxR@F+F1m7D_I&!pQ&PT?gFoxaUAPTB_EXMI2isWh_EDd)e5C3peR9j7A=)H8WcBj_`H1CH2U9*~P1t~8FKbpcE=(UQo%r^%-pmL36V{Jm0C~zX{G|qq z0oLGduz$u%se&@kS%b8`8Dy2ejouLJ$r5NW%nH;2@dYcM;z%!92ZupzgmvdjT!T^8 zI0eVYSU#r#@`^P@FXVAn7G3)Z*6Uo%O|q_#LvD(-^*IKe?QV60t&5$lfe!X@wd?p5 zlWumqEimbBw__bl;$i3Q2Dv@$LMb`=u-#hnD|p#?liSzZPA-BJK6a5!FoLh$uM`LI zv-@QMApPymw*fuC?&Ix{Fwky)J~##0oj-^s*zQyE>4exx$)Of%*Y0ls`!Kt|%|QEz zos3+EN9}?r02gkz?|TeJ*!jH;PLXy~wICX0_ts62iMAUILoddTp8=3#cHb7G7i(8! zjV8`6_zfT&w_}Hc*a^Ey21Gk)H)9-g@pk(utd(H*_Y*Xy>x^J))BzlI>Ed&@sjC`?u)XvRju2kTkpVPMAx#Yq&$_FI}^%r8=SvyQ8!; z&$L@=445oCMh1k*w%bKvx*WUr_F(Y3T@ZP#bM5-9KrPR%ofeMyc0133+6}wa&oNhE zw}&F5g?3Ukq$slcKTY2ORn^h8otbmay;P%7xs5BJvBX#syC$*59&7Bq_ZquVFCtO} z1O#a+AYGK+!G?eZ1rbDw6ahg+MJ$M-{?E?${%f(=%*?KH+RQG48)dd;n;fG!c8|s#cHAz1TruR&m1hn!@{3+i&-(iic%A^ zj-V?u`8Np?%5^3_<}mxQNp&R%D@^)P%1WilIf~y`ndrL$RGS=I4DiHcjx7jlOxh@V zS8HRIq*ebH6JzqGd^Nd3<<;Lz zwhTwhQn5%!`P)Yo2QNTVD}~!RXmLyt*n&=L1v>#{jw_B*{+W$p9DN9E6~{85zMaCF zzK!;ZB-$7_C_3!~a8&%H1@9Az9qG`*Ns%LiTxZ2Ls?l>%O#cI{Pb!L%0bCV1{)(US00I=frhzc&hx&)F!6*aU}4O5I62o=K>16$FGP}t=GTu^lIhfa}-s$*zfRLmsr#wA7O z4v2_S7?1-oTH!^`h8V@?B#gx>iaSE5I7M8yv_iXz&P-%;o{!p>ZUoYo+^yNdJ@(BD%u z#)Dg)B8oPw`HK1EYPqjinGKu*#o&)%`ap4m&OIztlpg|pk)npK{X@lGia!)9`ja2> zk)o{x0!tLt%b;PY;`|YSGKG5uv@chb(~|G8;>In|RVW%LL|&;=9H+Q`m7*}` zC#TyJ#k;Q1v_>&-6)0*IZONFKI>jGF5dT!MBmn~J6|vRmY*6GUf!i}hv=hdjD;Cf$ z<%J^m4Nw{t$LU^wshBYpD6bS27q1S1)e9B z60$fXSEX?=fSYp30d%@6Z4#i`DP^Z9v^;}^SWm7r`0+mI}0M0AZ zXwx60bXW}XVCC#R=nPTD$ACOk>FPuIXJN|fDD;La4{^{(C=WV-=>_G@KX9EQmH6*D zc+`|r>D_%vSwPO%C}o$;K#5j5jKtmJfe_&?fly~o8y5p6hj$oFc+(F^{ zL}lOm07*)bzF5i1VZi_?%27CmLMNpvn>NCxG^LWfu<6P#mXMU8O!*5;FDrjojIk?9 zyKKn4s{EJyYuA*y7a{(-GV2(|GL`SC-s*Fn}E89twNjRIa5c z(=Fu%O4PWm?9>Zmca(K$xD>ivrMWc(-c|nA3E-a6kP5onEZ!Ik5EV|Rz}d<_K`AyT<;~yEo&gRRC#(iP|B2L z&S;e@o3>%{A1n7yfxHTx(&PdRtyFfLj~S{`o}UQ9YUTVTzwQibmz&Vi3Gk+LPL^ zlm+*|<+XA$#f+PjIvK5f-YDmjAEa6N&KQGlmE%2t`cCOaGy7g?_8F#qP>!Vid5iKO zEpt998&*TZR%P8#u=%8PX@lI)%J1BvMVqp77RJ6P6KSdWRXM*2622*?215%=)%s1) z>8Q$cCJ3xlemY9&JErPEPo=f0Lq`ZauG()3dK=ZRl=)?=vU>wIcB(}epoP84nljTJ zR9gbT#!(eUJEs$>TOtUYRIdkMN}N@5=Ah-GGNP^CNmbiibh@glwE%9aKh)@SSEZbT z_*1I4W9a$wQ2j}s6HisxTL?U@GN9^XFV#A_p}bX9WdJ^^N=ke6Rn@PAz-ZM>FMt@; zACb@^RuwT88}V2Y~5396;4x^ID?G?lAJ z-@kNK^i!Cfq58`X^p{mTvw?F()$TDAzN&gmbr;uEGbe$~byX8>n=@6DD3{@e%7OgM zS*ji1LtwV*JiRt@R1$3{ZmN995qL|Lb_bZZRd#fcdamj-g%z2C{m@9H|L@1WF$I^RU>I5^hotV z9|R?;2s@0GstgaKRiLb1EU#glYRQ^iUu{|d5wd$iA6m3$O)2i@|YHKk-v+8Unz+0Va1cgT5sdjdU z7VlNg{-F4vYF-ZuTU3tL03TJGk3vMN%8ZtppH%l0ko#G6`90{{RCP~*@u)C zi(Wf*Z~DaAtDm%kTnF_E%G`8RcYO%cPN?!wjzHI+myo2gc=#Mlk>(qmwgrCv7%W7+ED=ir^A-bSvlo9ZX`q0=q3 zJFPfxt8a{hEqBx_e4uu&I+>0HxT|h|mi(Xh)K0@en5WiNV=!O+B@WYlUu{9C1?pau z=<`6ml@h87)j^%Wtw{Yb04NXD)!)OkVztK#==4Z^We3Je)Sqqul&bGi{$827<2=lI zxtiUFqL0;UD21s)T{9aKRIPTcf)TnW>S2_vU#otx9ER4Z%gHnSR2@!<$o1+FT4gn; zBifsj&|O!BNdea=lw=EGcYqOym0ilB_j-Hv{vy zW&l-K*l0c^f{U%Dw;l-WG`i2UwYAs0zJ;lA(6m+oIBI&tWAKC~<2feES>ya3>bq!S zX#sdrvtSLzTs7r%v$<)$QZk*prt%`VoYJhL3*({DP%P9_^EMK#)0$uD0r1kyx(a6A z8WUP2`Dpr5C7G{gfR5bjewxwb8a|^r^$4xAno}AKp3}(RpyjXWLfhT|P4X_#2Wo<8 zb9P?Soz@aTn#1%;3f6SDMJq%TO?j!@@XCQVHneHECraOwhax zhG~hK11kZNG<)YkQnKbf-E1iuBg&;q)wm#0T1wNj(yKpRqrHw+hUR22z-3LH0k~Yz z+zO-T@2aMfe7e^(n_uCEysojQ`*i zdRFQ*y_Fz*su@aKwt9^fm8msodQzpvGtIt0Xz^S#yEmA=(EQaOgpHap|3L0bjiLl7 zuQcCAU`k$V_R!0^N#isca^GmQX|TRo6Z0>4zSS8047u+#eQZJgUc*{J_d%!mfex2w z(Tw>4T71;pqhgy@%_mFHf6|PYgVtxwoS(t8O;hNP))&nu+V+0c$Y>G&O%q!KU}-v; zA}mKuhjs$EWjZVj1h-AYsP;P7blX_Sy=OX31A%#_gQ#FI-}L%esCM5}7hMQR1*V=l z;1rrxlFRX-X&PcHQnBeMdj3jG*ZxVHu4sX*+d>DUfX=9TFYTJpU%{hq2YnoQ?Vmed>5A(X|_Y`XqOaCvK* z-W}rKnV#4T@ZR*~c8K_3`sa0wwU`c}8qANT@-&dQn%<^l@lU4D=Ifx_XH$L-y=|t? zi^0@d+moSXuU$nsE)LpGlyBguJw}zyC$y;_G3KP*NdZG=Z5-{IU9^FlVcJQp=V?fC z(>Z}H~44+?7_xY z+b0PvKWz)0!gfYmv;=ye)yB~V`1`F+B)ed%o(uJ!&6mPKey?@;~G1?>TfQb%fI%VFq6?Y2pn zl1tjQJJ35y8&wASXl*CjEX8QoF9g##Z6jqH#%u4<6-m%$kxap(dN;zIaS-Q3YRHOyP^)A>DseXAt6J%^)>9&UDjTwtcfey^o{^mwSOG}xTbyC z1r*n{&6L=bsl7(YM_JmL{h>v+wqy$=e+IU(SJl0xdK>Z4BYXN4xQfo=cJXPB2YJh6(E(gecqJ6at z0&BF>Pl8#k)|&!Kb=pys|MFBjrW=f?*P{La+#0kqyus$Vw#Xc<7uq`%4|}Ekm;vxw z+qw^InzUj)G<>6tC9h_)b{F}w-fHV89p#;NbUr%YcDeomypNhCBm?u9S^r{?Tbm8q zfH7CI@^LWxl-aj=Q2VsmfoBlpV|G^83l^R+yEz>ehL|lQPi?r_PMW<4vp+gQ;R|Nl zJ7Fx+%tr#aXm*&q-IvUE(XKAaY~(+X6m7QdDq1mS2fKqj)@;D90C8s8zd#UgmO~z% z1hZZCbeEWUhN3gsY>_2&N-^{6PxVJP&Elql{+8LovzYu`vs(fv?wXAoj9mdi3FUkDC3h+)gcP|HOin$%Vm{ZOFj)J5#^Gj}+(sXkl zDul^0zec8Io39v$R*rdla(dr4SJ6MZC@`;I4W47Ogzg0MSy$1jGrx`9t4?}qp4|m(>do5+VepyxCerk|xgVv$d@|oaCJ!J7rN$Zg~%jF`>}uw8f~wFx1O}QO20JMQ{S>d@Od*X$QU*L4~+Jeilb4 zr{;`B{v>E|)}og!ZU}#!#ivpX23Q;@gZT3n!=8X!kcI7V2+XnY>W9vo7TwAq_qN3* z3v}MGcoG3NcP%cWB23D&*hV|Wd<&=lHqRC>?gO*H;_fDhe_(OL0wM}6n(4tSvWOrL z#6yd=T|glC`NpD?5eS+so<@P^ zCyRrf06tsjHbAvwUEAxng12?odVfs9@vd(1(9Ndnw637H?b?141ln~iPQaLb*L#11 z!lCQJWQ;j>T^fdYI?;8|a1c0k?bQ<~&Rqoq@OJ6?jNa!byJn*G9i?&(Uy}?)exF8< z)yVJq0d>^YAHiiz(OAm=nx}aMCQH8m9ltl&4TjA9yAR{H1B;+ccPFMd7a*B+)PPGS z3&aQfKenASX@%MUO*wuKaHBlQF}|Z<|JbDza~pSvA{~Ez+=|ihiV5hMaBeXyn7I27 z^h_Sw1U06N_tHV=)bDyj@4p&pDyR96#K82sO}LF_#5QB*X3e7y+U&_AAmHzL%YidT zLvFdHsVi`im&MjXx#e@>@Oy;|t%X)^PfC+g=+Mvjog+nI#1r?U>^4s{?ZZy7({vQF2V=1iahgrH1fdt>pMdGh?!1Bter(|!$UVn?7r;A! zb=wKLK$cF2#hz!EA7O@q*uY+}Bbc>Pwr>d2R6xT}X8IMg8pixGff=r2m3g3#V6ufU z@B*9D6(S;;`A*uhJiPj?l*5Vv)Q#jAtHxaHNxJT zteT#jTP%4rnBHbh6nwqIs_EUE%VJ}}yNLZtZnlR^pi{|;S;2b9eZ=Nb+@p%kqUCxu zbD+}gCu|?BplX=#FIu&%WECu{V_gJDc*^eUhCr!$cI+PL8(3G$27Si5??>x7bDj(E zg8fLV!bYY?@!6Mb$_5a;Vi(N7^fh})fxjkJMw`kv>@nqSH?!5Q5dW6Vw1Z`zndLAD zY-2`#ApgQPeuWWV*?}T-+VJWPwEwf^?S=x_@%*1aXwRn&K+Ba+rYsLPzJ!jhb>~GC z7CXgzKS0Zamp+5_p1k@sCipbJq6bVbJ~0Jj-rTYtB7FF6TXg#J0Y_kxA2-|&BhK(Q zz92Zu#~cL8IUZ|9&%ZynJP(@!xFsD5709g;L3p0uq{A?Rc+StDNawSUq4Ne$9c&CU z@G~rEJ~Ws#dkFpxWs|82C5*Mxpf8;LRsfO+HfRXI1!lGuW09=-JX#l-!#3D>Kc*` z70{t$ci1CZ0Ozv!7#Mz+&Aoxnd+gn8sFue%{0c?$+0JfYbD!0}21)^YNw0>nTSu4Q*9Z?=vV?8Q7iWy3C@^%^3e zMH35ZL+cG2)eVwb*)G~LeqyS}Xnkgtlu**f(kW|E_k~4%2Z3K%4kgQcV}9cR9C$G~ z9~}7#N*g}G2hzss6z@42m>%3)i_SAV<{*qY%b(IKJcNf`g1}I2L~Hvfet-g8(cCl} zYRB*;6wgcHciX|FR6cbBFw?kEITX#*@wPJ%c!S$jL7OaofVRQe{73rmSMUT%2YAZ8 zRsiK4e@_0Gqe9MP2#gV??3IBzeu7!jT5t?umgLn4WrG7i6vp1nhO}^IL8){RtUX<$ z3#@}7FcVmYAyiLdD}rhLm&{PDK(|rP#n32~-I|8Mbhe&c{g;_LWo%wymK0*ZJ8Ty) zud`W}Xl1d&{s7tR8Ij*)FYEzsF;B|d%w-qpC2*HbRiiVXHHSc%`)uF9|89{P4H$dK zmQAMo=Tf%f4Rm|VmeFgnf_+&E@s(_q4?q=rcLJ!@tkZv|M=@C@=xf;gA>dZW(tBX+ zDa#3hz4h$A7iOn{b#TTcJY$dl0(ilu(*L<=WJ)SMd&NG{%)e%Jmx0;L`qOG#_m=Ic z0=ExrF$J(&STt?Azp*V;1!2k0`eUw-^2IHnu;*#(f$6}L>EB(r@t_u%=FW8#ckt!P zI-vORG&)}L44-`sD8W37Hf15a+!5kK`TWCBCW>d;fps+BNUr*19WSD4+7!N=mZ+(G zK?cO9@lGx1yup_#z%7ekmI{O9rFO3Xz*ukVD`eSU><(h7J#T5dex z10RA}A%99Avm$=E6X+iDE0ld&%sV)v^@xX4bhm`-&eGnnl;=#qU>P4w@4j-r`30ut zF;9#}tAd+RJgbs#q&oj9o?Qlk)%?O5uzA84xPrWfmo7o8mbdOhtB%iHP8Wusq6eg& zx6Hy=10Qt?$~@!keL()1FYbv6vJy;n3!sL*urC54JcN^!{T(m#`ySwdP|z9Tn}rGV zW%m*feFEVH@fJOUX`+gjm^tE$e+g6k>I;2K#U9u!{P#$7UeghCymsg*NM5(V6};E? zr6v3ZEoGr>{I~#@WmDhPP)N6VF0K2w+{=fqTOH|++IHYK7`lDDEr@rl83?4EQ(D3Q zpX7&!_J^&<-$$7RB?VeB=kKA$G3G)wlGZFo zA2d#ES6>KpW@9N9=AvWyqm=-rsCMWzg)h)wC#zWG)9VSix2thB8$w)&`wV*atGao`t`~*fVB21IjeA zz7`Piie2%7z$TWX_}>Namh$F;_KdW43&zh$sT9}=l&bH6Q-~Bqxffy5wgP(pM@pu2 zj9Rp`mNqnT(&pO?0`Sw>iw@jcY)wbqEIml^qUEju(0%34yMe#@cd94bVn*qnTgP|B z=spb{$gn?!3fd0T(vdg^+sFlN#Y_WX+%fh=j&Vm;PSLaztUdyGr*!NuiidfyA*Nt` zhDA}j-dVP33kE}2Hw*9$W!>SZ#n-yaA#_Hw)$M>1!{idUr7($#0aMu{iiW2#6}>&u z+1aJQ%wSQ?Q1LRGO*g|8)=B~7tL*wJw5~C|ThQq`(<$iG?@Ts|4q&*!R@1I3i~ZSv zE0)bn)S%B{)lF#KWSrK?x7d0*WcD^IBEQQWwk!-|xoiS0R_?Mc6j!>(Z2X{h9xf3u z^KqI7ErSZRu z$!uP01ZJ6BaS6|D7N0whoD?~{{2~VL@I`}R(>-oQzM%X3es8cTVk$}fwOR73*;^e_zpHK z{%a&yE$ROPJxg^>@1Wi?BdV@l{$Mh4Y71Gx5A~0RMo0h8U zT#UhDz2jYeoc9^f8vI`aN=7*xbp;%b zveO%3o|TSe(C5dRwIjEq9os(`MD{Fm0Ax9`-5tTXf$1!u z0d!fc`6lSH**w~I<*?5+7`w$rQRf{tp8gX>F7qgX+&X4J_w-ZtOm_pYo~`*WZ<6)D z4c^b#pR_7|&So8k`mb5#AjoZEQK4Y-h82^e;{&_@1ryrBB3;q>k=fHLzLj--30pp~ zZ{#ig#sb!X&YGL)0mYst;;;>Tt>2nMCm;Tm7NTeP{VW}N&+(F6%t-)0e+a!nobQ2Y zvHYh;-vJjtoqKeIFh{H*fpvnZQo-JZ;Wnp>l0+w7d$V2EK=EO7Ccpq+_R0=Q`Z23C zj0G`Aiv0$&u@sjIVSi8-cqp6rJ?@Jzrqh$d)^IkQ9;67ijJ6IJSgA48ie&$^2hK&7 zNT+CAV(X4Tmndd5tLiR^6=P}0~^IY0*c zn@WW;+2ge!xWSa}09hGi@foJ?73}c^*6HhQWMR-wG@4vyK$$C}0O;(fNRF zISTQG>?<9hRK!N~19-@CC`q!I?V?PIM@;PpE>-Lfd4C(&_qPC^u}c-;(#!%^q4k#8 z5#2j>{Sk#--m^eDa`OXo%Z1)8Z2Vm)^O3dDav*X4Z>0Qc|clzd@lsAKr&v1!ws_TBV=kXDNlypF2^+Ab=N7rSm5O zdEPIeKhNEtgD{8>YJl0nTz@J$LpbW6abfs{AHgP$TXY2dHNNIHP_A=V%1O=Sj~L|M z;Oi**nZ*yK17!0)fgs4?o6-Po@{#0S$mfqJvFJW;Pqj7$+z~GtoPWlT&BkCMUru}Q zay};pt;gJx0vC0B`(U)5@|4k#`-*>Y1IlZ@Y&zJq@LbwUe&jQo8#v>a^^wme7YbHSPlF5U_={(y*g z!XnymwFwOpczzMuXsKZ@hV=n(5KqklaMXz^iYA^Ak9tGAllZj@1Uie(%W#2Q#MrUm zc2a!bh%s03vI-P#;xPsScX0uwPMs3RrowCw@q0Z;@)WJ!L5tI3-3W|%iEme6%v&tn zM0bK%I|H4*;v$MB_=!JKG2t0er=eQCv!ZcNh&U&%`2oHDVt+Gm3lKk$=PgiNL!aUE zVg+sFgTxN>;tUoYXuTdHCIq1sDwb1#CrsSGA6&x4C#xYhPE_{8SiG3k8R8SfKR%$9 zD8~N=lw|Q-5T-Ik?5-m}N~-u{2DC^MMRFgdi=SxqnjvO%2hL?NArsuLh|?%4epP%% z`OMcuMjqPhV#z%)%@plbK)E5#Jq1Zw;%Ev>XNzOXpnZ;b<2)qX6n~&ot^2LQt7`rd#(966)oIxi9KM+L^ zNGcSyk&yI8>_C2>HqnPB!AiP8!38_%IDKWErC-UFcuH#i5o-HL9kzj|zqIHH=t5E6 zO7XvF>1!cSb0mYIxMz!`;m;txNqVyeY#d~rdd(ql= z*a!MoCsSY4LCx)^aBTdCT_U?s2*fg3KAi$yDa*^laJ8(3)=*DmyG?-AAe&@E=U+UN z?V)VRMp+(hy5Gst-$KXtvQadrUuDzjK{zUpJ`4(Lx#cEUYAbL445kk94ph(JB!4v( zV=i*dXmD|r7mBdWUA~U$2|VRJd!gkef4v-IKJv>{rtK&HQHHT|^2M#R{tc8Hj)11Y za&;pFhRgAw;N36xPlbpK`Knduye?n$0&=tE2Pw+Bv=7<>n-+bK&!yj{cO@gesPu>7^-lV_4Y<>$JEU+Lh6Qc_c=;+2<^t~mz7AHQ$ z@RBvO5?y+j&c9f8yAVjr8!li%R{VGvI4k?_fLg2Cxd3zZzmAyGHN9zXv@R$Yqr2Pa z#FagERLZpX&p*In-)?jK-hcHW6h1JA{7VP7&@KCK) z49BoN^FBv2%sx>Xts|>_3~+)~lz^EB8!SMsC;Lq2cbsOwo`Go>*w1w4T^yUR5%#39 zZnRd(WWAPv{T()BG(Zts-vz86vWx*}6|+n`pghuHjRosUnE6ulma^wZ(JEshZ@{LU z1yiQ(V|K<6>Q}IkzX2+lG5L$C*zq4hP|b42L+dB(6S*tknIN}8E&Cx4V|8pNRfIof zKC7YcYgW_)6pQ2FPKyE>}+o;i6Yh-Z~|1nRu8M=`DQn^yv9i6dpZEp?_v*0Mfx zFc+(xpFqzw_vr()@t0#@y2*#~+_rsBJKgOY9%E{D9QYNZJ8M@!(SJfISh6eK8mjD` zqlJ_`2PuZPcPD)__wDeb{JZ^$0>};wABDdUT9v@=e|LR{--oO*wnsY>cB>OLJb#YM0YbnnWkd7;BH7kN$c(QCY}@ZeHcbH#e+^a zX$74*G|Q5fgNqhE#ykbE@L0$`&pLfXD;O?w(1bE(`Trm6@5wiLo?TxAtROakrYe|O zkUJrSy{iWZWh)<|GmMR^gDv5#UjU{gf-Rnj)&;BVL4$Zc>kCv&;Tcx}QhB>(@V?IH&45~&yol_&!~bZ2{<-`}KExOD zELvt2@lX3O&ky<0f55Yt$Ndgwk9bfYXkWscJTX?vb>l6eO&K3cNwGD2I<2j1`LQeL zY~-b*(R#^CDD?fF_gD|{ANXt^jD6)>D2wkKZ`%PaY=z;mz_b$r`am^%Vd*@yT!qwU z0B(Y`62M*f)eMTB5)RS3^PFI=g--rLkdERm0fLJQ>ZHkQG4&17h-cvYLQ32LOWsL4$koy!9iE6e|0H!>3lqLbC3yfxWm{{Zjg3qm4i%hb zQ3oK(RVNe3pX4c9WCuboSszNT_mNeN1HG^8rUV>6*%>;5;H<2IvQN*+x^@FWfUNK$ zrtrM%Bc%=o%T$$^kc%?-+i`Vd&dv1N!B6KRBWOQh7o}1Ryhi)UL1w*R+~9Qwq5O~p zQ`!~`b;?86F*Z~HILWqA{zNeAv;}shGQGF|-yQXh7WT(k*?P#eVV{%0-j*#TucjR< zqWp%FY!-dBTv=EkP~6xwO3-m<^;CXziiy*}&yS7jgt0&tL=WM4#NVz0hOl#$=nZEp zDGVOT4xJLvi=Q(rtqXdBSw5ZB7{Vq~F?T4l`VOqFF*$u~uCwd7{Mgamz6xnKSq!BW z++hV9p=>Ujx*g^*Lw!#C-3%3)# zK|Y?OSDBFOAoQU4tD_LnA7dwkJ9k0vBuu6I#zUAz)u*09ls&G0urPyO&>=zwEwaOf zK8v8tMPUzZ(~^V{8eHP*!ZM0L-VwwtP^L;Jyu1jUR$)3h_1wi64J0LrDNjL>EV}f7 zX;;MxihW-b&59uYmKb&kD7VG_n?Y9~Uf2duCO#xz;d8OeaLn}!@e#fC--?Ru5cp2~ zYbF$J6Ne>0!{gG3vjC^0fdin$8A<2x8WvuV^nKAxlH$fd?rrG_eKbp?!e3xTnN)fN zW0g|oPK>?4kqH=kFG*XW?{V4LwcutWJ2w{sU1SNgi}03BjD$|-W$#>wr|d3OzulDS zdy~Gh&~?CkBD>)X%o^ER9YvNJWgXvv%^TTen#8ZNqZiQWAUE`c*^csK51@soyeJD+ zgvv)nVG=Urap_R|mVDtgFug68!!`eZ_dDAItU*7~VSa=2+t4{=``_ppn&St=VZXe? z-@~`jg`csz3fj%m6@CNi-+kO5aqeEKk64i51hPeQTG7Aw7pjI>GKoToORH``<>ii_ zFuLL{g``(4wE)vKwse25{fR#D>sc25-tg}fD8BIS&}|lL2Tn(s2t4h(t_|3+jkfAQ7mN;v`%KOl$epij41^mjrFBG zzzpWx9;#htGAeb+W+Q1;p2J4c`!J97r^E8|Ss}R=OPENHaT%NQ_&dCRYnaDtC|t`@ zX)jjCPW%pvr>vRID5+;Y+i;y5*!UU{K4ZUdw4O81TM*IAX03pR@0i&u$ZcWEXff2v zUZ#QfXQo&VOlzL;1GpULsk8xi;!Eii6K5Vx!E+ZrAsaw93(aE^O?gd~4Hi6ZL(yyiMUAaA7_-t&A7?PP=a#oxgtm`7J&x>K5n7Q>% z3xU7kD*1Uf7WPH|Cab{^uz4ju_|lf2sbpbW%Y5MM^dtZ8uH#YodrwF-@b^W~Epwol z96*N-lZv_{Im3XY3k<^WQPvGxQhein8v?dLEN?vI1+y=o!9Ij7ehR8k){$>d68|b0ElANV=xxYigp6TvT(ZH;#tijkSDRBp-}1;OV^QW z=O{n51J})tA9VTO8h7%qPoU@&hXzc_R1LWY{#uXquQaXS3ox5rNLc|hPWxbLX09T) z>Y|k%;J(CfEk>6r8}NIX!W;M-fBXoXP1Tfhvn7dqY1;&PIc+~of$)7p(<%RC{}?jK zlDX0M`Y3C*hfsU=A{QJTm>+$TeVOfCw1U}m${q`09h|@qnM97zI*d)5jj`8k4{dKk z_>fhQo5%!@$+(f8!izmGWDCC!EnOV-;E2;jpmdEG7f|oqu2*khRb1J~* zD>rTds-4hs4&0mt$82<-5{}TG%3tuJ6>YHKZ~<&01$Vk3qlJ*}P%TbyL{irO-GVEq z{CJUZ2$-+-p{@GbN2~CALlJHEHf)5GqB8gG*6@Hj^X!5LVPTLumYWNyes7e#Pf+|bpIvr z8#_Ut$RBP3VG_Se#w7FY79dRF59nikho`lG;x2dF3cd5WZ4gij_&9n=7xGmcm=F0B zT1uDjD)L*G@ozt&vz+&(@9ks$^E!YEUPKkGmAvsFT2;JLAIQ_ya%FoE*75Rq3^wqg zRH^oi_Z$z<$kWb&+bdrB0FvHtw>Vhwmj6wOLLc~ITHUqql@w2D>WdOuegT_k;V(KuG)DNL4_dK;5B&qgIKhJoT+;;WMHovL_;YBOAq<|4)@7l! z5pu5xu~`6Dg@kjE@IV+e87L*fEb{MF3OcV~(ANolD4XMjaG2IrZ-hEEC|U${06M=2 zD>sANaq%Sif}F%c51@F6L+OyIv*O4H&^Jg-d5r10B!()%J6W7c>-@{&`msQ{A;wNa zXRfIK7sw05j(0IZk3ACm|CC)dA&uE4|h!;12%~vrh5U4hi zq89c#O92!QIW2V?3k}bpECsV3Ds7&Mu^7pLGNO~DuK^H|flC9Fe5q_3=C@LM-4j~W zOGfu_(VC?r94NbUugLt9}Q!^ zY$#Qq2Qe8XK?E}yRl|fZ`{y7JWg}=S9mZ_v?22&KeF-E)ut+V&BH0!Sf<`grNM;V?{!U>JD586vEur+* zOcqIN_#3Q^R@7Ono|31tndb^jO%7YL58x)dz6AQ-W3X0)UiT8&^={dbT)H6^B)KC4Xpni zpgdy>TcP%Iwv1|~UNEa_j5V?tI(6wKn?vr*4{TRH$aO6&SB)9^$o4n@rQw^*?&L6)-%Z9s?AJ>`JEdZSh|BGtkPV;N@YV+dzqk-wo z|E0L14?iq{XCUwO-?PnoQzCf~KYE)knvO@1v-BcgdryBITbhYyK^gj}vmqE*#hZcF~cdwd-wj^uIKWk@RKx5)$Zh*ypPN(rAw zA=^@3wg;VM9RC@cmcKhzfUcHjJpgFrMYKSC$$PY+^@=-fgEFtV>H`RxcoZewz2V>D zA)%QY_@nbJf1slxm3Q2cwuB$}6hriW;Z-AA&cYfO$aN9QY+&JOq2ofB<|Q0)0=c(f@IAEf5q47gNT5(mx4?N}Z)a!` zBs5O^&)F(e9EC9{LOtCPslrC`9;OM4YtWf4C_4jW3BS34cecQeVk}4aNNbpz!t&v` zJMRlESAbF=Y&{6_2f|-Hp>L6(R|D}61^=IDDh1nkw5o*7RHR%jl#hglPXtfz@9_N9 z2x&{vTPqk+w4+XtcY&r)g;C^auNOMdbI>HLrw{iVVYMv?n}ztn;PzIKOwjrwoTasr zr5HUJ1Xf}Z9k_5zbl3q6Plzs*^W`GGqI5M^@gIsHxQQk7uX}w&uiKRW=qDbE!l1vn zEE(zthy!S&8!ozRfN2rp%0TeGAWnFQv3N0wVxAdd`|c2tE!K{L7CGX;QV`^c{(<0< zFTS8ne~CD3FXTQESB{~_P+UV5I?ZAY9nbbj{O4!VP`bVV`s%EuVf4B_E@jgP&_=4- zf%$TgocBQPN$D)5m7S6bXpeVRN}yZ*ob)68r#gR0qU4kSDUi;w3zt+B|BaCTSPexl zNL`OWATqlSK*Nht7=@HBN!v1@T9owE6_XGx9U#w1vJPJ@Om~X({t=p~5-+A}FR4?| zN|z431jvv+bc5NKrNS`q&X!Jo2Q+Ea2wiIign%u=b$33O$WV=2bUCB07ok8!jU2r8sWe&A9my&4LX zDrxmZSXM2~A~((x$?Gb()ZqLT+SArbjx#Y|jndBl5)=g=QZA`kkllh zzyNokbm=cJZI<@ZAuMfD9qmWHNMEP~>Z{b99)NGs=p!Jvl+9RxDLE?JQwd-tyH0u0 z4zjxnj5*4j@MV-v$PP}>0XoSRk*md7_J=3vU1Y=h!|ao?Jo*f}$~xPF-c8nU9xZp- zcnW@!gRWF_&TeN0|}5MIz-fo=~`2{+9Avzsm1Y#*}*K5}am@oB~ zkbBKW|0RXf&ge&x?=D{dMkiR9seg~mzOV101>IBqBdP!M9{0#nLCGl>$6@p@D~iBQ zkGKj0bu;%-U|?3$NHCdg-2+oM=duQdEPXN=vX&PogUZXnzx+9R4ond+dhlBac>X*1KKLJ+Mo-@10lDCR zL^t*mnA)%o^8jpF0WI6@nH80yJF=KpKtI7gQl+Oe+kGD>C)thPFy_X5i$U(eoM~_9 z#mu_k{zX>)3A$!T9S3FzE1+VQFeXsBT{Ig?xeW;{lAeY{mP>(;Bz8n+12!qlD<4eL zSuCBGd4*k@4@r}((}xC$P879DeY8g)znaHJih`m6IimM(7;PsjpJG@tnhY+`sM6_dvC znfj2F$b)mxnZmQ@!=_BWoi<5X{OA1tEphw(Oz*w^r*=b~U#cip@az14Kt8Z!AUF?g zTMLc;Jl6+A<7=ki?+I@WFgnq;JFPz_rJTmV{*Qd<4%seJ5WMXy$ix6ySKvX9obh<851UtG(y4c~JfX-x~oDExfb~*tGI)|Dt6j)M#MEF<~M- zTaLoU7H~Tu3?SEylVJN8B0Pj&u0p)0u#D~>FF{Vpkp6;PiOv8a)e|!nE(qRW79rem zqWdpW@M;E5f^csZ#3u?9ze2Yw!l7OeaaBmB?2v0h7Nths5`27N;ceki7I@zg#&khv zuCSY~`(0tnS&ZEiBI&i1CoG+aR=$vZ7vztGNGFId5jx3XS*hTc34$^q_ypDelnWcE zg5t4og9@c9gb|hil|r}909As=Q&3b3S5p9<2ziubRwMkbhKO2WFr7nRC#*99cq+{O z&tol2xC*)k!S^)4Gof)Sz;j{Q3t09-2%*hqqtI{=^Yl^}yOY*GuLRjTT-et_cY66X z34_Sv^+q@_7KF`0ujkP8t+1Ug*E`|FYk>E{-Yl5*L2y0;@KtDU14& zxh+c^*$%C2vFadDazs0F(A*U7_rxUL5_^0@>$aHu5?U09Z^=peKs-ZLkcFa)5ttQ; z?}tJBL(!5lsEb8|5161zF>^GGs1kK4uRvcdmgqsZC*s8sVESCF--*@>(Toy;8pUhm z8-6L?r!5ARJv{pEv%##IZz#NvL@I#N`vT|e*z`i08Y~OpP{$2 zWT63}r?g`wxSf^`(MHQls@aSw^_I3#%2>Gcp5DU|Qs)G8UXV`HltfCc>tXLj$sitF zE=iB6Tqat2*oFLmF;c@&;KWNG1^^^VwU!W=EbZH9^6W$k962kjkKc&)UTDM^#`bva%mm&RI;VeSiO`n3EW;wEwq|y!hucz ztx`RCj6X?E3n2cpw40u$HfhUDO#T;XZZ%N8N*f|E_DveP5k^?bKG2%VUKaW*oj>Cs zyFlq3jT*jc8R2Hq|*H9hdIvQ^}*cb8dE0QrOO%;A11CxL z3%S*jWg`tR2`RFG76?q0S=073O=da`+|p$m=rPQYRZj!`HJOT%q;Jc%&@1$gY-9k) zb7h8!z`QGS>_m6IY)c<7dnntm1!ljL+1rBWYni(em~UkB$X(j3llABgHt%HDD6PFk z=1Q6Gtujkb$o(wy{u}gdvi($X_f?ilPU91DbGk{Ld5*iYWm5faYIb$urR)nER|18f51H54~H zFW*A{-ZDgPv>T|2@(WX8Q?lIV8APPWYhIz1Di6N{@oDmH)Jm5x-VNRva!=ZET$T4M zMeDj;?uD^TxxPEV4f!2hZ7EAW_a$1{@~fwyT8=zQ*9M9r`5FpLJd}5F!(g#|FL@J6 zp4@VF|!_y*=c# z4bsb}x}IRY1!mAbL@$uSxM6z5m9Q*H&)_iq|D_bYzbW4;P46PrK&0z6Qpo1AUIo(s zrE7Zo52G_vZ}D8rQ|A>h553Q?Jz!OpEn=b^!B{p3xy(krF*l?$R>79hAEA zSZ{qRIxF=0^+jiu-o$6nsYcKFDLS9(y}Y82=dWIG8s#%K=<$<~^juHZ8#s-6^Or)! zmwLvV!REEzA3wl~X1#&0AjwK!NzbOW{wEixeOy000+VN>FF%czt^T+!kYuOda|nRF zzK;!9pU@8@mx#0e6WTPm=r5=NJchmP=1{`;Nzm5O_`kxnJFi_up z6SO$5zm=|Nu>M#&;3rIf6S;XJ^rwu2qLKPv#JdbNE*OIr($n>Fd@l0@L^S--c+m=r>Vrn~lK}dPUe7#QCAq!C(wM ze~tz}9)-XY28WFy-r3;CU!k_EfvplK?gl^20*Z&hMrSbdG)OB2`DugWJJ9krKx_%K zW^gA7o#6&6=;X5qgFSOW7irK#_YiY($zZP`A{;|Q>T%cAM zJZ=SOG?=&)jB8IGgC zyoX^5J?W|bUZFue~=wb}7ltHyP z!wbv7I>qoLZ7)&{+gZ{2GtJPAT+Zo+iXz}-7$(zYzG67<3Pjv99C{hN^9{>x;c`7N zoKgmxiVQCmU=nH#(*l9{)NpJlIvWgsqs#Qnuphlzo*N$j1$2#uHg~|~wP8h1DD%d! zpAVFIYnb#8%zbCLgA&+u?+pzp$+E?8EY-Q#7@0(4(AH>IFL1LnT4N4P9gHd|a(%+6 z(?!rb8P&LB%*9Ar0ZccerUfAPFq(B9z|$!5Fcdv)MZhfZIkS_xUCX)bDvx`ji0tA6WR(sADBSlhGPVd4FpZ@)@?gH)=;a#TFwk+AXvi`B286qwzDU z@Hk<-jB;z8jAL}uLE&sXoZ^fw#=$hfuEu^nVbf`2k8sd?8EY#6yp50Q1NazUTL))B^Q!URJpis5AJ_(zOyk$KFe1zN z4(*4sjXiYaf4gZs_B5_quCZwWz+K~KZ!d9ihs2 zxG~hPHuj_-&lBS>H_)mvF3171I^%9V0P2lbP|9&KN?p}0C;J9k6t@X#?Nw~ z(;MT-4Rro?vvKGg@P2FT@e*v_8>?hMZ808358g-P7|Pc9WPDG+*canlbV`w3yWh#V z?a=Nt1#(ZcyJZY+PVGj$2XJoJH5WR$wA(!rhMsIUYA!Hc+xUOVszyJh2PtCSY8z-QC^Y9oO#e z_FiK_5S0={U0XyY6i^YRB@{`qP)t<97R3M+h3|h@-uL}}KVXMluK%h0`#t^-|YZh zxZ3471V*aw%zzK0)yC^UxvDO(g%je`WmBP{F;VTd94g*W-|h=;$?DNfL71i<9uC5r z>bdkCO}Esmk^sA_e(Mg^?yF;ufK8SL+8s?TI>x63@@nbN&YAbM*_VqI|EO z;RBRU>a}gi>*`Fpc7^I2$I*OIXCDX3SEITYrFFlnTTw~L54AIeQh%#A2I7kRQBSxA zoKkhqGWfYneQzpw+iA9tG21oADMf|v#iQ50n`VIC!(-*Lb(A3KTW~9cs5KXk^MK+pPP0VvN@tO|Z;Dl?M zE2-dlU9&#~1UEF1H(+kErqDa!G>d8K^ilJP~=^EobvpfsV2wi4y}+_cSUM}&uVhBNH-)}ExGo{zR_ zGhC)q+G`2ma#|ZUoc14`(QZEmZG5#~L!m{0cGx>`JEtvvie8|$H@(_}w0~&4PL!g7M?M4vn(B)H|)-K(krQqqJ`$p%gyXpE=fn|Gi0Ti9~)LHa~NnW}o zvCw|MQ5WC`HYQ!hOel3o7gz&Y9MSFL03Oq+w}IYUS7jD@r*unb{dYzeln>s1I$KW+ z2Iv~);=)Gi8c@xDlrEpP$3*Me(8h-tT^ourT-EvcqKVV}T>#7*x?%LNP13o3fDy?$ z<9HL~rs(R>tUpz^dnM@8b$JFfcXgxt0(MX5pNC$iZtw<}c3-!*CFmdMw0qEdsJl%$ zwQQaJD~Ncm%PYi%eW8o50cJ0CMYM3s(G?#7d7iGnB?iCfJO=^uo6e4A)C4gkqpL!hkTRWT3((u^=UfK;cKzB}XdLtwG|SqdUq(9?cIlfY zV9;4VtpS+2>L=0R$!_|$YvFZwebyy39{Me`C&Npx9SXJg>#HsWrb#a|0{g-{vH(u|WMe+CR`q#gpVv_zV z6>%r)b1nfVML&cp2h;T9S3vGf{aH(h$k2Z)FM!h9od@PUz0El=eV|Vp0D)Qh0aRA| zP+y5MzK``u!$9{`zrHJ)XL^S=u=BY-`WblU=tqx$_%HgZixv3%ebfJ;VDNW+Sbb_$Q1gGt|g{FSc9H$buI8tOtDr z>;2Z%x1)E!`gJSNnXFeCFnG|~_d5m;TR%6_H{5tzTT-&`r1e1BS?yz;kOH}x@0|&G93}t$#e-L zt?RYLV3c(ydtk;`cj^V!SFQWqguFQGB{@c*-m<=^M{~#eZ5K3|)@2tV;(_(5Wc2c^ zy=ndU%DU4va**{Pn)kl94r&BnlvqzK2GifxDhmC%+uWnQO?zyb(*1P8Mn#W)f1B!5 zL=s{XOnJU&o5W3^i?JC(kCY^vceSbhG1+EIH!yu-GshL&p4yE60Kzvmf6jn#hizRd zGCF8`#S@-AX79K2UrB`ybS{Hl6WVa(O4?Wu+=qiV)6z;0JkSgw1u1ey{AR6BnbT#VPMh4;b5%c^F~BhOa*TZvJ->Ji>>>CWmN zkk2k(R;gLe2i#GY1py<9f3mQN@*kQ_*^Q^n(*H%$es9`_V!Ks zxf!fyW<}udtaDVNI$KSXx5ZaGV`RyvVEkR1) zN8z|&FpDWT<^P|v!L;xDC37@@O)l$8i^qJn&;r8Vu=wBb*?X2T7|kbUpgmmQ*t#!J zzL>S39l$@?0oq|*!jk?#(?9GM?acEP?p=fkKcO8hn*xL}1EA9-A%`9-p@KWbb)tn8 zRRJ?z70&1(Fix03<@gDLW;wieU8s5=O`?!XdFCX+cK~21Les;z>}f)yPoTdk_|nGy z3_;fxyl)9BXw`OG`0o#Nx-0nk1M`Ux;Q#LsF>_cL4Ndf^s)tcH%Py1Uie$cS4|x z=-UiESJ9hJaC8$-ZG_qfM335NOrog`1RfOiw59lv=uVO2lcE*vMez}hrzmi6O0=~C z@U(cA%FzSG7B3+%NX)W@q+qc+En_Z-l`n!YL_A0z`b%QFPe2J3`%&3YjOaqUR$|33 zH0O>N3r~V~g1Cgz6zSr;BTy|v^c;uguK2PGB-|70=Y#H<_{tcGHe0Mq&$Bn;q$OzH zif^~U2_MBYx&?lS-?rfT{uEzQCgqnn^luPsmlo5M-$9xj4HQRds1@Y8O2aAj;wD9H zf?RjWfj$j;q=B{|I3!JN1f5Pxn}>th8OeuMPrlNYnUsI>lY*Oro4>S`&NvB>no?Tl ztaNu1c!%ICvO#f4vRj8HRPwD1ZqZV+EmoAMXo|)3q^_2g8CbgxYS|O8KT_)gC|WA584R0t%2f-|?2;#}2eaLBI-NS> zET2h%oi1`P)fl+STWMC}Cb#gS?;nYh&$NZYx8y=fUq6?(U4=5Av^mS9+?g|3qVO8@lBGNhA|fnnQQSP%vVBh|nrNw^*KC^Qu03FO$FeFpKg-g& zCbW2F8QvCN%e5R&7wxU3QA?$eUoEf92H_veQ?=j=2dmgGpxABIBnpEEtQbuTe5?ko zg`q)KVYC-4(n`MoD0i)TxC14}s)HwbC01?*!0am>nhkXgilEuHeiS^FiUlryYX-y?CF= z=i-+MZy35zQ!sL5A zn1MW#hr2@Heg5|g&^_QgN$o7Yg^DnrqvRIN3qFA27%%y}SX{mw-rxnATyC66pYl9j z*&l@Y*h~izAGttVi3)fS&Bcp&z7~>-`Sbp`a6fo7Me=^~mzjY5;&HU=qJ&#gsi2cE zj|wYx3I$ZZ>mk@vamrr7ZYea}Cpb`WCzn2a=4v}2`!1{3M^Kck*Ra(-G=6m?D3ET(1 z)1Ojca7GV`-_HDf6aUYOZ~(K}yNfY0=QnNjm|Hv!O3tffhyUlVs0JC>2nFcEDT9Hz z$cZL?i>-b^*(J5^0J?P2Ia>cNdqtKm?}5E{(uz^bAZ%qRh0IsIrF!U1i)~=Rzl&4A z+MeCJhmJD~cn!9$?6dR84S(HKA<;!K@R7 z8P2nM6d%06PMxCjH!iX>zkwRTT2s(5lKm>d#YkXQr=asSc4HOfrm?=0q1H_%QRU7p z7PK8U++mqbKzEPbq}UX*Vm8C_SqRuJ9;*kv z2aln|v?ou`fuz0sd3D%(nCGWp@Cf&!m(fvPuODE?xJwwCo)|3S=~U&iTX=24J?JIao&@XT!n-|C&0h$h^BRJ2R0d$7g3nr7mIEhF z7=I25-w^(zc}2Q#Vq3C{bd@Be%A&OL-93WOY3zSP@lK`N^h#8|nmn@bUX&rJ;%vcI;kHrXzp1%|` zsqW~#XmuSbeiuuI0%fPWMN&{E@!v`m1AKxv^bL_|vy{4tm& zZKOBjW2x>K(pM7u;npjXeiT3_N4Y^gG|uw%{&W#Me&A z2!Ht#CANd*#uOk3mE9;{d{y2w1x=DXWe_lL%99#G;61r6l?>;~8EbK`zmt2Yt6C6-2+YhE!R7uI82v^OZ ziq9z304foUQC&#}O04R|80Z_X+A#*auc?YC#gnY+`3#DtsXhz=U4}|s8<_W0d8j2r zHNuiNxV(9)o)3WeR<&g@$UmqaATwn|alwNa@Geqqa0Bp%%5(rK{#FI~(w(H*6^x#} z#m3V>akQ|e3B8j=;JixEA3w+CVObF4BYV=m2w(Z{nUL)#+kOVjUp}1;*#Yv#Hn8BL z9G8aXl6=<=eB-Gh7+j-^3kn6yY4FJrA-!(n} z(3LkWg&+3uHdNBFpGVWu?f_r@8#u>#K~pe2!7ou(#g8wd#j8KRJOP6N{6GepvwU(P zRKvrIDt-caasWgG@n!v?Q!r1Z+2<8*{|#3vjJKs|a4cV(04{MnpqUYb$$U#wNJ`X zoQ00`^l}kaP;kLj=vH2YD1@|zhy%h_H7qm<52L~DppZ{t`a?J?1x!P+zY`Y53v-)b z@TM><7K4ujP7kjSLf9_|`YPO50N5{~ua?$7JH-}*z-^y6E(W9CqD?Ub`iYYr$X~dT z0J|#YQC>Vz>_>5*$KpWp#Vawm1{5t27kz?*i^PyrG^OGJO1wBqC+Ti=m8Q3Yz9;a# zLvV?obg4W|E%j&$EyAV7C2)x`PI|ThY%-*-RO|LY@>iqDmZBzO@RhXZFqHWuxl!D# zSn4>{0$lN9Gq@KNNfPp?wmDg7od;c0gz2@wH&vK1707pm9xkx_p5Rs=YGn$pPr&HD zkaiga4}_+ay2%ozH>c;{L&2*EIzJLZuLAY4@QN1dPlP`!!RD#Zc^u?D6IwKbA=yIz zaZu~I@Pi_pFN9_eFzcld&<;(G;J+K>xxyFPEt@C2Z4Nu~g{v!}#Ver>zO)4~kLx2b z_(u5ViRP{F4<^(`#5|Izkm9}Ivky351w}Uq{3d8dz?kpCg68NI3G?WFD;8=|ru&Dm z^e|vQg}Q^F(=Q?J6v#`2K?=xq5dG+B3K2c0s-fA6CA z)F@_CQRXv|(>yX?jJQbt5)03RcY*lO6UKZJuhFi=VlkcO0YAjHe*tDE?RgHS_R@7a z&TF?cg~CV9(l^Svx=1qu(0EA+XX(b4#Np^2#oi^*9h15>fuQ5kciOJzD;ay*f!Dcg0n*Z$(Bh(0o8})OQu|S06DcjC1#^_N;s=}%EnU~5xh^HryeCoerM1xw zX|oY@Ns{{oG|AF9GATt$qs4owq++;)Y0~!opt~n6n*q8^X@C*aY;4?GLxG8Bk{wN- zvL*FCc<8ybF%38`q`?Cq_oeibj&RA5I@1c`oiryOnD3?KUEsX0QVjX&o7CVPVBe*C z^r|V67We^HES+vP3wVW_h#2Z5=J+^-wRUFE*C*}_dOYYCXUY)jF}J#yq3 z5O~PT0>JE`T!|{K4#`8Fp*bvpT%<8ens>dueVe;wC zpbMA3Q+hN`4!H#f#mjqWHlHF_?Ves~171pYjK)P5vdn z*@40B%0ZL`a8O?JgLoGua(MXsxhiKyJn~o{Z^~2zC`SHb&USEnt8|_ZZQdyZXk*=bWlb9VpmcYFP9K%4-b3L6rR^K^ zij)z@L0GIDng%vMluLI&!=K7SerSFv7rO#hqO5il&2Od44GjKK=9K}nRQZ8w56YC+ z&p=;0m0fk9*sDxNU$m(8{Q%cEs0_3(%0<xQCi#9_YRV}7kmSd{pdx3dewPGeN+6k572L}CA zk=Ni0f7MGHN^AzG3QmCVtm;WPP(xHFEYMt1wTp(NC{+y|P@`2zCFsSdmeRd*Rpmud zs#w)FD%y!t1;)~Ct!hjWmIRe0Wm&JOVrb|6bydVS&?Txuozc6Yircp zP<*6XP5V0@tG-cvT#m~5BVf6zYE&AXr}Cj9(0tYUIFNr-IfnyQpxP6G!B48r%P9Z# zS=EsiZznBI)dj^Bi@-imKgOa|sCqk7x} zmY3<(e8zGV2YHO;=l*E!TLxePBE7O)m<@r&mIYLBVsCZq2ITIx`iRtvBl<~c5GlGWo<2)t)?bRJa8v8qP%(ju$fX>h(v zrGuLw=|rWCJs>HxQrFEuNvTxH29mNX#VOD$uC)6FxOh~qydEZbSKdw$?V!po?Qla} zHC8_S8QP>*o?RF8k1ID`2i{LBr?f@yRplOmFztQi#}s#TR4-hMK_~Sy`lz_7Cx^iL zJ!*eC9>z<3coLceYR|`L4yhZjf)Pj6sew@Ygxd2h$bHn~FG0{5_4aJ2?XP}AkLN(O z@gu2mK|P@tthlVM(FuA-sC#(=7_H{?w2f1*`U?64bxt^#rmFcq(BD+oQG)j!^*93v z?yE7+#)n$1Sq<1LbwVUmd#`qvp#4YnwAVoStlko93xO$`bB)2}t|pq2B2P5krW@g}mzwk- z;Jnr>rJ2PCO|3g{RDq`FQ=k@V7LI}>M{Q#*cspsWCPAlN+FEp~hO>6z9VoL$JJ$m4 z+N<4~04@i$r6(cxxOVA6pq$pa4*|+q?SLxa5~9tbhgYPw@hynGu1)Pk@4r-S!3%V6 zYlmUOka>DLl_vK8j2;OkCl_wP->Ih@FfwffAc+uHz z_wu3a7qB{w{#DAlI3M=-v*oh!}%w?!f6hEwk*e1_T% ztXn@ampy3#`W@^ztxtEem2@SYS$~=tyRfMkTSdf6I|{& zc2pxZw{i#I&kNfCoCRws6uGkHP3XMp;tqQLtS+Kg?Hd2F5U@6TK3J@~+z0c-`G+I^O--wiJ3n2BCQfvlw?+y%c|Lc?HIngOHF zGv|dMzrfni{+)}=ID)bxA*|Xgj9y|fQ(#jlYfh`&%PeRmL|kE^YA_9BwltFqXOjSW9vSTI)y3dY%z~BRx`vxw_!gm8w{0(0Z zR}(mom{n6)|Cp_<17n`BWr5)Rly#)jnV+%yl=#eMYw1L%=d88?uooDqvr~qW75vGSGcxGbch`5nHp1>M!w~Utd7@gN4wF z<|k`GyTgLO&OUT{8#`) zIPu>Uhj!=9FQW0_?Z;uzlQ-RkW-p&jfnYD5SVa2|_VMh$fwQ0Qa)JmGj~M{qVcu>a z9Cegmq4~;j-ugXIPVkazu-BV!Jqyf}d>+-d_;AayfSuxs=tXf`S~^AZN{AQY zj2x{9f~!1YCEOLy*K~yT$iHo(6+$BScn#nU-t{a{lXz#U9#7$auLYZXe4ha#?(@4v zQ1k(ROP{JN{$@1Y3H)m~lzG8_QbOn@S5dAjhp*@jX1TmNRXpeOO|-%AHE;J6CVk@l zozQ&dOS*xskQ-~?fHq&ahZ+>$`01`trifq4hZUtfDi}Q{;h)c7>Moq6Cya;C&f zgpahL<*4v+7DOBumb^sor0}jCFwY5NI{+n6s6tco%fgGb5O_uSO>=@UVJF>P;li!P zknl)3*oX&P`4hHZa6T02U!C$618V2u|3ROxK&R2oXzny-Aw8wXE}=EfxFHn97(Zb* zMkWk>4Csulw7Yv|sKXko}IB5&^dWV7&-TCCbXL8PH~O-8GGQ$1uLe(g$w76 zr1#IFSlaWn_!LD2mh7jk3rk(2fwZh;7~H*l>nQwP;c*1SE2l4j;8ivE;<*O>z~@;R@pEj8u%N}-+@A#9$f;?zw2p*{-4hPD71Nh1K@8-qK(hS zt$%63$cbfBLUJd2Mgf3btgRKy+RYx*oYIAr>;kPT8?*_SZtV0xDDTcR^oHHT%FaTn z2aBM!uP3X6j}#84sJ##(y;#Q|kh6~+qvD=o819pnd zr)lzOmg)e4Gi;gxgT5@C0$CT?I1>bgux*_%7{!DEP&=AkH`04Di6wf&v}Cs76I_zX z6k~7`+-ItK5dVO^qRB-T>va@zU$O;@(aU8U4uee|`#BWk`RpXkkGJ!?HsIpGBPi3d zlmFvQuH@-dSm4SV7J=N2FV}(2lgD)?Kk>yM=mt5!<7w4t;)BMcIl{B*g6UCipzGt! z@AZN&PV#_Ru;L7FPNk>5-1j43XL+5v=$+#dZJa#M6Y1N5FYv!<9UscmBf;!4UryPO zIDX+Dz~cFR8(=2#S}8E_2KS4l^OsWjyt6<}05lxPe{7W>(mCDOn#si2=DVf zU17x|-mN+?AM+6%ftk&hP~_}6ujhzfE)P_IE|0IJ0`fQf%PbJQiQsnwT#S3g#xvlIV`BAOG{?n0R>1KQ@0!q@5iih_-e2r=0=_sW+Vue8MNvow z;SKTOP9?hdv5A=j?K&1ELsqB#^gQgGNkQl?@g7jO>p@DHck^os6}k_x!rvZ!yJ5WN zVVbfSd)=Onq29l0LSCQSbky`vzmfQVSchr&JN(8_2pI7y0W3x?J_DwsDxJp2BA4Hw zS~V1BfRwAypw&LG9N4ohF2SI9TFH&Ny96Vn|Ly~XF+<|OYg+S#P;L60`@oqIN#|J1 zwERfx?}h1EFlbTO9oV`!bqN4V`sD+4Y2V%Wf7uKZpv!-yLg0!&l=j*19|cD@2HgkF zrnxoo|G)icquYP>S_t0UbRCS?QiY0iwl-@E=(c}l&>FoK!3aBccO+QYv-Km<+s=&s zG~;w&ed#Ua$QCKk+rb$$`;i08Bh1}si}onvufXjX zo6{DA$Jtd%VEVG<&7qSY`%oEd{8@iGzBqs_q`KCNY$-zVc$#z?47x}*l_pnFOnVes zTw~|!p}Ef1$skW>_o%StCVRMyOv6uIKdJ!fE>Vo7Ph%q;&M+{EW(&i9GzP&LR=H=n z^bwA5T`-$49H8^8J*_z|uoeR=URO3&(=guYCDrhB&J)3_OA6&;yVj*$3Ii4$1$5w3 ze2IZHXka=NAAIC6m=7sw1+|B6nt<_PgJ=_{ad_!D42>AN6$B$|h5<0DCcUplzi9~5 z#yq(PvavC=%YEFFIQ$)dh&G!}*g$XEi2-gHnWUkervKEQ3J#M`MZvf!2dOl5>iqps zXj+&Hpwm$*hP&=5WvylwP)=pmp9A1C+xVVxw{uRrVQB7Og>uUT4`udj5Vep3LpYZ=iYnuLV+C!7uf8}-<|1Y@{@Hcz3 zhMrrh&^u~t#5>?@iwl8tV< zd)Z|N^t_mk&JjAork(@lQP!h7Fi*3}qrvP9n{XLDU-lnGVEovE0yO7Y(F>4YU}Ndn zjf+f0JINy0+m=-S63OPJqZ`F6>2R%RHk&5nG3?VwP+VnQ@<0*Gyyy`h$27Mvh(!c_ zloHtKWSDY|eZB{}>+BpoRT9}y^8F2_r{fipSbzY1lUYndV7_G6X>RKo*nG<;_*Y#+t251fxgGM|6K4q&a;U12_rwa7utApk(T%;c`yYX zeR!4I0G{Gw{sHV9*9lN9kawa7VGv*I1TBJjpImS|&r3H$wF~?sj#A6!O`3xDE576e=w5R-s>u1ogKop#&-@zQ5I^`Ts_pp6 zJJ80VUtA6#H}k`OK>5u(Pr?oShj%unz|bAS9GdDn39cI0Y+NOR%TyB1Z)KrD%={cNc^1w9u(PP|gUh$6;uY;6!zW!NMmhgbEXm z2;dSS)S_H%lwd{2<)94hk`aa`36IJvYlP8sD(yYtH|_bpFRbhh3$ujBPOc$>FRwiy+bRH0Xmx zFWSp|UcAs3gBQeRwA1OL*p8})L&P=@(YqvWKSAymU%UfKv{;qCh$BX<-vaUy#r>8* zG2Rek9Uvk@9NrB$x5S1axFWa3*N>qE&RwN&d!hI@CHu<6vO44$NqHaiMPYo*xK6pnGaK@~mlI<1KRA6Kr8w0+sY%PVE zjxqN$fL~;pXGOELhM%acyV**5ShfiE1hD10(I9Izn@$C2eUCmY#x_qY0jcemg|N5X zXG)B9s+jDe+mHg{$Pc_eI}A)`wFy>>R(DRl_ASEK+I6X zbZ{6Re;p%Z773soTR@Y*aq|i>K4D2S$eQ9yF`ud5x`D%V3G;mDf1zTUGEAWUGhM%6?4;6)@LUruosj^Z?NQdxTa_+lKuMsvT^n zADH4xsTV$F5-TT38_iG?Vv4>O+6wizs>%!SdtWRy|m(H+Nks?S%RDqMt z{-sI(JJu~0fcD_pKEg;>|1Hm(g60eFoCooaLTVdOxC=+oDi_KuAH;EAXl=Lle)kz&c~ep1qS z^E5(kbk!1Aji0npDCDLGZ$gb`({R7bEzZ&Msio8qBkjii!T;^s-hux+RHoy@yUsaG z^>5v8RtIt4*Hk(+a8VpA8gkha{|{^V8!|_1Q$yq^PpT;z<6IpYPAnV+oPUnc#Cb~S zG>lKP-UB0NxKWkGEXM~JpFgxEe7MB#LB(^&)}4;ZYB1c0zYTlQX~WE!71qR&5=CAXWcQt-(mhKz*TcKD#n(=K60uu+;$*2*)FZi9eX zWV1ZyIwgMQlI8OJmQ?P!fb5qSDQS_kjI5GZ7HowtR*jtj{B`s9gLXanMc(*iAjUV5 zcjW&{X{W~~D-V0~$U;LQ?;S4<%Puz#s~sgzBn@rVzg!A2Jw<+Vc^VuGr46NMP^4 zT>{|}N8W~Nw|4MG?SbjUjcaG%=Ge)*QDuTNpFoFvxbT4KP{Eb2qGO)ixG4pVJO4)Y zHhcKFr@-{!&p58LC;vAQy}kU_I*9k;hc2Pn$5oXuxSwazBmV&Zg!x|i+owvam(ZZz ztEynv@aRC$H&%C~S!>Hy*1%|`N(Z?02Ose07;q2co%+(2w$ARfSE)+|m27t{T?SWo zYaJHcn@_ac*&v?dSHQ1`Un#6Xyv+KU_I6iQ-Puo6hV>IwqdMPD?O?{J1D4O=B`PB3`T@E#zVB<{_E~7Wi zbcUK`rtj2jF%7t4IKf@3m|k50yTB@@j$vr8S1~zJn_k8AAk46VKdoXK8E)9X)|nE+ zNsD?W+X#T8>zfv!WuobF1emQeNs$EYWSSU>(e9=*<=xJvB6N9r7t_Ef439VMk1Cg( zkA{EfZt56~(Hf>5(HNa)x{rpR?qO;egVANC^)cn6iPUT{*<1xMy`O2pRRAFsU6_uY z&7+v3X#zF%O=qa-Z~Bgge;a5T7*~$EKdyW^NP*9=YBX49QWL;Xtll2EKl6?iHr@=dEF41Y<5 zh|D;c+Qb4lOsDWxn1Qd&z;%5Uik2pO0uI+Hu%aucd}{{!lmlNz80uBd{Qscu%c1;s zUsG_rp;4s~Iz{aYx{qeM51^}SvcGO>LH6BD*2NS=WW(p^6uTy{a`lVN zWY$>kEi;+b57R49Fjo%!Y0{A@0FES=)vG)_T(7`fx*Q1Y;4_wCI+g^c-y-yihuzJP zKW3(nuz;CpI+*}niu4K!Bay4i%)nM*O!3_`CdN>Y?(}3sBdLBAQ#hI8ZvnkTuXw@D z=z?i=GOo;71S>0>`XmEb3jOe?BVLjj7#7DA+sq1f=LSV`g@Q^mv;*pD`aBN;eYQHof&!(P=#6DN?L=Wc7?iz3MguHBhAp}I)kEWg-{za zbm}dpxM>Mvnfd{cTL-|k=34+Ty9&yB zX37conW9C7@2mfxMh(o+?Wl;cH(&7@aFS?ta3eENK0&h0m|#$-D%9v;24+}r z1s*J^xbgBPf@Q@G)X7ws3b$#vqH+0$qjKPMgW_Pt?cT*q`b^IiUZy&?K-zz{L4hb# zxvt&J&{b8q;)`iENnK!2V3Al3>|qAZ!R=IPHstg|T;~eLy-anoAoVY@Xw5F4wh^DB3da4+&@PR*Vv^aM)0+$m#P-T*2biHA2%5ArjkyDz zwiy&ZDz4=qGw@n#uGntAM;ze!ihE>;891N~SNNOkGeGHx)KP`whnayN5n3N$zTek5 zLE#G05oTyxghRiZq1OTJU7_$OGqh2At{7pua}SJn{of5V##9GaRP4YN3(XF8-3=dB zICz|y@(Gro%gyfrcTiRc#fOKUQ-iUAc8>YV)!&1QUSTR+Q~ng|!4=*nMxS0UgW`4t z>0~o-C^qZXFu!~NtX%<|Y6dO1a6BZ& znhNnoFwM_0G-Ah1ZfN-R1EwokhK6$f7_P{7G38_#>hjcQCi$VEA=8>#JOoOf$utpN c9+zXK}&7>5?1%ANH5M8vpH5NH7=v0fYxHo}wcJ@TDRY12JH_>Ix-<2k$2I zyNEFuy59q2Bc!1dJVw9eN64)%&`9URruon6C^<_MoWAQwcdeOA^x_1fT7Y2*h7}mz z!@$dK`d3sAst?@h4_*S*Gg+X5V$v9PAgw8WGJXi@H5hJSusz~6KbFaV;(rzr|39R) z$Fx5GL;91Ij(LJ-HsS>s-fT?I`p*iVEaZR2LT7z)Z0#jbsrD)gqIN0zDDrmvO)6A} zxY9)IpxR57^Y!aBK?lc`my9ym@wvv7J-)o;f~j0+6Vp3&x08t5zdUnKTej=|q_Q*j zRAtTYH^;ZG|VeVT;6Ujo=e}D>jlj9`F&D0>Hea! z zu7f$C>;;sa-J>W$bCe(*Yw@IkJFQKVG%hLUYmI5zC-Syx$7n~x+g_y1BeWz|Qa#!bOEg#b5zEg<{I14&*5cOwqf=K4{`Xgw{q;xZR42PWQal^qois$nZYFY$&$;HK|g~fAo#nY8;<@2%Psg#$e z<;D>Fgc)gr&2QB&x|fLRS73UgTm1^m&!>$CQ^e2&^SHm;SR`OvHcZFw#baDHKF9AF zFzzufaT5QoMspe~<&m&ivac~x#zzd%62tDs3{evO5sq{>(BCa^1Y&u#$#x?gaZ|$* zhPbKS2t~|=2rDx;$8mJ#o&hzaXrl30#NkbFJYp(gd5VN!0bJ-%w}#`I3~;YcQAlW7A;)1&GR7bVw*Y)l2TPT3jWtINa<$71Nf5qk znL11^Jlb7$J&Kq>xc{nJOhram$%S^gAsG75Sy^T;|Q2EuRRQbh<(fK#j-IA zY0^`^NKrRZnwl}$%z5$zHOa&0kDu^+>kuKoO^FvDIDSIgHW3;frt^8_U)Egsp-r4w zZXCDTvQi#3YK~QI6zBHH=rNWa9Dt?qLF&O;#JnyK)}hq0{logO)m&0;{~E`WSxVvt z&}~`WOxyrI66m;lMQmyS{oRI+i}!ywhGmoO#gT;v@HrB#puKoCT0wj9`9cLbyj*xD zeORrP6s(`K(n~>5IJnURH<%T0q~pfM!Tn!da;#F_^DkXo$nITGlI>3 zJBdLrdNnAFVfjIYB!R>OVwFQ-3`QKBPvV2~^y2(_g)s)>IkXW`|?h*V{V}mD}s1lRdl^j+CG|o z*C4#!J|STe@~NaXg&gK0SL|6R@pmeG{&RAe9Cp+RU$ox_y2|1XJt?%V+@5ua!X;sH zc0BwjyqO)ZJy=hT<)+nz;qh~eiMXfoQ1%*twUr~fo>T}a-3>jqv?HpYn}i)r;yk_T z3Cz#Ztxd{@UF}N(V zguy-DfY!qAJt82!($-^*LRe)?0k!b8aY<~x({JOiw@G4y>m5_aSb#yymxPcNtu`t*s4+3!>s7g;-|Gh0U#A_S{z4cSzon`{h!tvof}SUnRX|7fJ^wMIN`SuzOqy zBgc{i?|6lQii_?1`MzEFbnqa$&@MO!ucia-!s;QhG|Vpi^h~HwJ!B}oUoWIQvx&Z0 zU-{EBuR}N$^Q;cbTn79Evj_G*2t`w4gDYH49+gZXV3ES zB=O*QU7~$_wlUo3BU*4)%SBWOqek=|b-57_YasEyc}npdwp!-shbdl|5`~sQPU(fy zq5}JF4^9a(gyc+&{~D(f+2LK_lOI{gc?UJ}whS8yz*3{vQg~6 zh1nx}LAY>mWU9YPe7iAyukc{xG)x)NnDT-!Wz-n6uQ<7}h8}j3XfGm(@n^Dx12E>};?G!@ux)ha zfID_bD2z|eqvB0eO8gTV@<%;TSO@6B$>IJ-;}Jx7l9E3-Ccor+O}D3QF*ylRx*PRStI>I2?p|6?@;73|x?S zt3g;kCOr9pGqoVxgo=g!qAPpwN4@U*%s!0xZv!r+jg{h zM?y~Y(&4z~W1f$H+?Pv*2Z(Q>G7sStI#h752;0@uUZhIQenpqK$eNJeUwpmi!LdA^ znErWzeXIgwN$Gqk@l1##R*j(|G5dLK;%4hxNC`))PsDC^DQ3p#eg{c_c)pr_BE|SR zw$Z`K#=kz%bLP+nY)(6w=UqpYRLnezl>l<#Imc-f zjb-x^%cK!OMAZUjeJMR^cNC4>&8$iDF&fk}YWHSqDP}h}5-J+gr=|TMO7S9wjEsfd7vs7?NMQ~kopSi#+J?Ad?;iI6Ye4JO90wS;2s_c*gd0P| z6e~x(_XX^^Mb@9wnc4QU+`ahbh9g*9@A5F6^DsTe6O24daWcz8C#-?T_+SWZz z{1kdLunx<+kL4C?e58i@xf`15s;g^>LMK$C)DJQ6DdO3Tl$)YV%6y>*)PVSBy%0Dy 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

      1`~ z%9f(qT{WmwE|un^QaQWhF0Y1B_8Fi{vQQ$Wi(Kdzxx_CLnSrL-Ke=zM@D+R;X`eki zz|_f_R!88NQ}NxFJ#O|YP=ch5$gz9zqOsfDglc1i`oA;PcAIs5s^Pl6EYGB#b4bFl zO6+B*rzOk%V*3vd;JeTz_7q(Y=--CASw+@76w?Yye+*r$$g1~?)qFM^o5TmZ`E@9# zTR3t*EaTme5O{|3$*4js-T{qCv5GO89}st+Qe}iJPAOwXehZ)7XH-=3$MQ?z?rSBM zQ2?doo8J59V06iw-l;?No8GP=#01nATE_F(0&w-`6$1R)vN^PXBO}01Etta#XW-e@ zpIQjH`dbTuP3bi&og%y!9+L@5&_%!H=lR#*@fA=7QoBaH-MsTs9k6Om@qNZJ0G5cjGu4BCIejR z{)Fc}e72oK(|G=M8=iyC*~GMWC!V9uha2$x8=n)-NA3O4qS`+D*jL8RH^@<9gYU7)o@UBH84uOcTIZaMb6-q z1D4)5?UPl4xUx@fGZv~65s2E2@*S##qO{dklsiQOL3J+pI#mNv^#cf=rb-Ghnnq4`nJQ(;Cr#@#u(n)7 z&zjb>-{UxAl#<&`Ycfi%(9p}Kbw9|j)X+|_hI$uj*4{9!6l8W0q4ZxbcIKw;1m96a z>cwi2gCe0Q%+O;S!$b)wQZ4cO`p zP#v#m3(bDOPvn{6EzT5!vIWD(N9qfzPsB&ZnD}1axv06 zA-(PrXWU#DWv);q7>@CJ*d}*j1wZc`y#wTu&Z&uSQBuaK)A=JF^*D7-=dEau=v*}o&u5IrbJXcLE8YK6=d{CefW%pB@nTAR&YRdwT3`G%`Xn9(p};Yv%_v-S z9G=yP=bP|6uBmYG1tG7}KXJogG`u<4}J=UoA1@XWBt%s0aXGG>@S#taXFc4f>k zzoncp!vuQF@MoyhV}^;M#|m!;l(E985`sNun7z|uh6(kUVM0A-m`HofF!OrMF#Eg5 z44(+rdaUq5Ks{FY=s%)jj~QNu%pNmLsK*SmWRDpp)MJJT^_XF@CT2MO-IdPK=A9eT zbFOldDY3X=vAAJvaiiMeI*_W2ib8cL9>ZdB!(ws6VsXRT;^x83K7#_jnSC4288b^D zV`T|stSkXo*(#VUm{~#@GfN<2W(kOyjjYa?S@M$yGkYLJ;hR}DFJop2WXvpqjG5&C z%9vU9PsYp=$e7tL0APO7X7+QCi;>oe=|8V_#?97db_j-8!Z)p7AlEakv2XC~+g1U5 z;~HaNIN!R)h651uI%bX2nexo*^{Csw)O41H-b1#NkNqp>>?og&&<;#O=S0aSX1gmf z|D7v6u7L?(CP2ary$A#sWPgU7q!}7D z9Jp5qRA?d?I#Ry?&8%zjfRO8B&`Hip>qsQ!hli$Tt#wLHeiyd>C^G;itqm2byx=jw z$9QnHD$kd>;FOZpXi)i2sHiT@!-*h(_%2}kBbz~wcT?QnZ5E5?gQdHeadsvnK4@)v z=US)0oN;yfpKG1cEEA?(jaBi@DAsUkI(MBjyypKfT_LTBRq?IEY%bu(sfY&8GzJa( z0#gQjN|^A&CFu^-kwtz z0hX$tn7Tny-@)`&C8@?ApnaU)vX((al`_BW^5(bUEP}tUuKR!9-aO8y`imdG%lqDQ z-y6e>F~%4(jBPN6#=bAvLb6v#k|b18spLIMNcM0oLkLN>L`o7u_9)4|XG^jr;iKR4 zoY(sf`hNfUJ${eJ?>=VU=bqQ=obx)b^}g=wdGG6*+H*-JX2ci@X&!uV#x7rlC6Nr$m-H*FHWwkjh;P)3NL z8X@wi5n?x_@~8Mxbbl`lZKj%L@#7Mjsb*Px?laXKi_aZXO|keqWU3h!pU0SLg2m@? zrkY>zd4l=Y#29xooCvG=)&F2Su2vcM#w4q>QNFC3G8q$yed%t!$yU)y52I8zoq-x! zWR{*nb0Az0oisEWCxtYpZ`pj>HsTATc^⪻OrcC{A4S!v=8BWUp?#_72PB*XDWn@ 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�iS+(E|2 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%0AoD96BdRI&9 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 F{{S^G7YhIY delta 507735 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

        yT<}&>#Ju_p7JQrH; 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

        nx_Us~VoA5qRp*LBO@)+j5 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 CM#xlV(@FJN$`=P<8r(O{DXbAnF@FDUmcgFI46x zA@^D7NJmzDQ>>DpXtA=^0UDMn)7nCOx#DyVD8Cd*1~+@vU|J=1Q2El{$?dAVF2LNc zN*s%vk7_L~cpXqR>g+QQXic0xn*8TEiyfJUmX(vfB7)#0?{8KrLf8934E(~ZF`R(+P1{^Hd3 zK}asE|7{51RdqPMG1t|3)Y;!uC($VBwtAEk$P?5h4K5p5)K!nE_z>MLqm1p5a&Z z2Xg3sQ=i=qrr*^Ms7EYOJD4DTr>2y8h+P`#Er8CNKJ@;%X!aLDpsOZp5wv&L%%vDd zFO7O3P`owf;y~c+(@eSuZu>RsyTXV*8u<`%2Q@?J1hG&}x-EcVnz<@qp3rQiLnXpB zsq_Mz)`YY}EzW2rxq)efX7VhcoYzFq1mdD*F>Tw7)_g61_A#2&H{cnoS>Ft0mo?@@ zkYCYEH-AM9<24mD$G@TJ^8u)jH5bXNo}zIY1-Yr3NmIb)iDsAuD4uHGhoFXOn%0p3 zKG*z9OA;?M=Q`juO4k(25dTv1nf9V&XzW{nJX14r5|Vt4>ITRQH1Ej+T&T&Z2DQIv z&c@LA^P9%uGAN2QEDpMrX|7L%@qcR6bav1$&FVU^ti3k-7c_Lxexj3@cWC=j#OY4$ zl;;5M(#BAHkBin+4Bl?q=>s9jL+kzn%=Ty}(8AR|ZTebh=%a1B89WbaztDn=ulDF0 z`u?5Lrco%^X>GSVsLUDd>fez&tK~JpCPF)hgW{a_WdwM~XirICdP)10LS19Ee&lkF z(;8^c>}73>&nUa9wWCd15461+Lc@pJN0z`$(FWT<(I?t2&A}x{+rtuO&egWarZWcL zYagxz&Ij$H5rBTw8hnxDYwZfarcnE_50v?=eM);@ziP8+c=b)Yg(BF#YXiM^N0-+J$wA#>ZvcIDF8M$`tUE9t2KLiAN{}0%Yq}H~p4HjCBm?Q1(K&#T zx}s_zIHx`g4-4Os^>Xt-+ zJX1G<1DK`TPXSQbx}$o~<>)HOrI@Q5Pp*Owy3|HcEl+psH1sXdnWJePyGS>n79QSL zT}~|&e%Gb;1)CCG%v;cx>D=NV!o}kEb;!9|d~Xi|H;WF}VPJQQ*h&CBEE34TUKaWG zNPH|7KLYsyi$@gEa?oNB;_9VC7GI)aJYS1ndyqR~(cvu0PFd*9K@fPx;%Hqc9BHA} z0_VJiekGX3Tj+Knxn@!60+bsTcC`8Xmc_JI(EGNGD$ffebV&VV@tgv`k8_6zxgDe1@^^UZT>#AS2n*48W`bp!!)Ln1-3Z*>s zOD3YCp89dOf$F6{eiBvl);DMa5&QJFUjoHPKZD|^59sZqQPG3?{=Kjb~U7{Xe20RM= z*581ctbf%26@9GF#xzmbB2D@Ca`&>Uyut;^Yr5~ zfm5g-v6ZZ@Uorx`KkFON4EKxPl43=_>Wj!P^?@%B z(yyO@$5g4WbrG!X4UrBIh;c-1AR}E*#^L)*)X9JQO zhLF!-debma2a4MUA3b>AHC*b8s-+paZ$<8zVe#+K>A4|tK7i?l6l&EOhV!pLmuaw2 zBbQ}hb&zBm{GS7uYnbVdD!ntTHP-|5yj(;H9Yj~vwLsIh{)dV$6s ze?V@Ku~BCb95Ys<1OAU2W3S>F1{+6LKt!1F?@1s(X}r}4I)xjLe*xVoqZO@Noi?hY zkvn4?voHqthEb#?n|A%0D(db$VoM>aIfF#Da#Ses+ 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
        Wfy^iG;dww0gb(Zk(>Z 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 diff --git a/Debug/Trinity_Devboard_V2.list b/Debug/Trinity_Devboard_V2.list index af928cf..2e185f5 100644 --- a/Debug/Trinity_Devboard_V2.list +++ b/Debug/Trinity_Devboard_V2.list @@ -5,23 +5,23 @@ Sections: Idx Name Size VMA LMA File off Algn 0 .isr_vector 0000013c 08000000 08000000 00001000 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA - 1 .text 0001d2e8 08000140 08000140 00001140 2**4 + 1 .text 0001dcb8 08000140 08000140 00001140 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .rodata 00000cc8 0801d428 0801d428 0001e428 2**3 + 2 .rodata 00000c58 0801ddf8 0801ddf8 0001edf8 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 3 .ARM 00000008 0801e0f0 0801e0f0 0001f0f0 2**2 + 3 .ARM 00000008 0801ea50 0801ea50 0001fa50 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 4 .init_array 00000004 0801e0f8 0801e0f8 0001f0f8 2**2 + 4 .init_array 00000004 0801ea58 0801ea58 0001fa58 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 5 .fini_array 00000004 0801e0fc 0801e0fc 0001f0fc 2**2 + 5 .fini_array 00000004 0801ea5c 0801ea5c 0001fa5c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 6 .data 000002d0 20000008 0801e100 00020008 2**2 + 6 .data 000002d0 20000008 0801ea60 00020008 2**2 CONTENTS, ALLOC, LOAD, DATA - 7 SYSTEM_DRIVER_CONTEXT 00000011 200002d8 0801e3d0 000202d8 2**2 + 7 SYSTEM_DRIVER_CONTEXT 00000011 200002d8 0801ed30 000202d8 2**2 CONTENTS, ALLOC, LOAD, DATA - 8 .bss 0001395c 200002ec 0801e3e1 000202ec 2**2 + 8 .bss 000139fc 200002ec 0801ed41 000202ec 2**2 ALLOC - 9 ._user_heap_stack 00000600 20013c48 0801e3e1 00020c48 2**0 + 9 ._user_heap_stack 00000600 20013ce8 0801ed41 00020ce8 2**0 ALLOC 10 .ARM.attributes 00000030 00000000 00000000 0002194a 2**0 CONTENTS, READONLY @@ -29,27 +29,27 @@ Idx Name Size VMA LMA File off Algn ALLOC 12 MB_MEM1 000000b0 20030028 20030028 00022000 2**2 ALLOC - 13 .MB_MEM2 00000872 200300d8 0801e3e1 000210d8 2**2 + 13 .MB_MEM2 00000872 200300d8 0801ed41 000210d8 2**2 CONTENTS, ALLOC, LOAD, DATA - 14 .debug_info 0003a3c8 00000000 00000000 0002197a 2**0 + 14 .debug_info 0003ba51 00000000 00000000 0002197a 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 15 .debug_abbrev 00008612 00000000 00000000 0005bd42 2**0 + 15 .debug_abbrev 00008770 00000000 00000000 0005d3cb 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 16 .debug_aranges 00003650 00000000 00000000 00064358 2**3 + 16 .debug_aranges 00003678 00000000 00000000 00065b40 2**3 CONTENTS, READONLY, DEBUGGING, OCTETS - 17 .debug_rnglists 00002962 00000000 00000000 000679a8 2**0 + 17 .debug_rnglists 0000297a 00000000 00000000 000691b8 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 18 .debug_macro 000318d9 00000000 00000000 0006a30a 2**0 + 18 .debug_macro 00032a00 00000000 00000000 0006bb32 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 19 .debug_line 0003b3c3 00000000 00000000 0009bbe3 2**0 + 19 .debug_line 0003c367 00000000 00000000 0009e532 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 20 .debug_str 0011291c 00000000 00000000 000d6fa6 2**0 + 20 .debug_str 00112f33 00000000 00000000 000da899 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 21 .comment 00000043 00000000 00000000 001e98c2 2**0 + 21 .comment 00000043 00000000 00000000 001ed7cc 2**0 CONTENTS, READONLY - 22 .debug_frame 0000ee1c 00000000 00000000 001e9908 2**2 + 22 .debug_frame 0000ee28 00000000 00000000 001ed810 2**2 CONTENTS, READONLY, DEBUGGING, OCTETS - 23 .debug_line_str 00000061 00000000 00000000 001f8724 2**0 + 23 .debug_line_str 00000061 00000000 00000000 001fc638 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS Disassembly of section .text: @@ -68,7 +68,7 @@ Disassembly of section .text: 8000156: bd10 pop {r4, pc} 8000158: 200002ec .word 0x200002ec 800015c: 00000000 .word 0x00000000 - 8000160: 0801d410 .word 0x0801d410 + 8000160: 0801dde0 .word 0x0801dde0 08000164 : 8000164: b508 push {r3, lr} @@ -80,7 +80,7 @@ Disassembly of section .text: 8000172: bd08 pop {r3, pc} 8000174: 00000000 .word 0x00000000 8000178: 200002f0 .word 0x200002f0 - 800017c: 0801d410 .word 0x0801d410 + 800017c: 0801dde0 .word 0x0801dde0 08000180 : 8000180: f001 01ff and.w r1, r1, #255 @ 0xff @@ -1121,16 +1121,16 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float float q[4] = {filter->q[0], filter->q[1], filter->q[2], filter->q[3]}; 8000d18: 6a7b ldr r3, [r7, #36] @ 0x24 8000d1a: 681b ldr r3, [r3, #0] - 8000d1c: 63fb str r3, [r7, #60] @ 0x3c + 8000d1c: 63bb str r3, [r7, #56] @ 0x38 8000d1e: 6a7b ldr r3, [r7, #36] @ 0x24 8000d20: 685b ldr r3, [r3, #4] - 8000d22: 643b str r3, [r7, #64] @ 0x40 + 8000d22: 63fb str r3, [r7, #60] @ 0x3c 8000d24: 6a7b ldr r3, [r7, #36] @ 0x24 8000d26: 689b ldr r3, [r3, #8] - 8000d28: 647b str r3, [r7, #68] @ 0x44 + 8000d28: 643b str r3, [r7, #64] @ 0x40 8000d2a: 6a7b ldr r3, [r7, #36] @ 0x24 8000d2c: 68db ldr r3, [r3, #12] - 8000d2e: 64bb str r3, [r7, #72] @ 0x48 + 8000d2e: 647b str r3, [r7, #68] @ 0x44 float qDot[4]; float hx, hy; float _2q0mx, _2q0my, _2q0mz, _2q1mx, _2bx, _2bz, _4bx, _4bz, _2q0, _2q1, _2q2, _2q3, _2q0q2, _2q2q3, q0q0, q0q1, q0q2, q0q3, q1q1, q1q2, q1q3, q2q2, q2q3, q3q3; @@ -1157,73 +1157,73 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8000d6a: edd7 0a07 vldr s1, [r7, #28] 8000d6e: ed97 0a08 vldr s0, [r7, #32] 8000d72: 6a78 ldr r0, [r7, #36] @ 0x24 - 8000d74: f000 fe6f bl 8001a56 - 8000d78: f000 be6a b.w 8001a50 + 8000d74: f000 feb2 bl 8001adc + 8000d78: f000 bead b.w 8001ad6 return; } // Rate of change of quaternion from gyroscope qDot[0] = 0.5f * (-q[1] * gx - q[2] * gy - q[3] * gz); - 8000d7c: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8000d7c: edd7 7a0f vldr s15, [r7, #60] @ 0x3c 8000d80: eeb1 7a67 vneg.f32 s14, s15 8000d84: edd7 7a08 vldr s15, [r7, #32] 8000d88: ee27 7a27 vmul.f32 s14, s14, s15 - 8000d8c: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 8000d8c: edd7 6a10 vldr s13, [r7, #64] @ 0x40 8000d90: edd7 7a07 vldr s15, [r7, #28] 8000d94: ee66 7aa7 vmul.f32 s15, s13, s15 8000d98: ee37 7a67 vsub.f32 s14, s14, s15 - 8000d9c: edd7 6a12 vldr s13, [r7, #72] @ 0x48 + 8000d9c: edd7 6a11 vldr s13, [r7, #68] @ 0x44 8000da0: edd7 7a06 vldr s15, [r7, #24] 8000da4: ee66 7aa7 vmul.f32 s15, s13, s15 8000da8: ee77 7a67 vsub.f32 s15, s14, s15 8000dac: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 8000db0: ee67 7a87 vmul.f32 s15, s15, s14 - 8000db4: edc7 7a0b vstr s15, [r7, #44] @ 0x2c + 8000db4: edc7 7a0a vstr s15, [r7, #40] @ 0x28 qDot[1] = 0.5f * (q[0] * gx + q[2] * gz - q[3] * gy); - 8000db8: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8000db8: ed97 7a0e vldr s14, [r7, #56] @ 0x38 8000dbc: edd7 7a08 vldr s15, [r7, #32] 8000dc0: ee27 7a27 vmul.f32 s14, s14, s15 - 8000dc4: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 8000dc4: edd7 6a10 vldr s13, [r7, #64] @ 0x40 8000dc8: edd7 7a06 vldr s15, [r7, #24] 8000dcc: ee66 7aa7 vmul.f32 s15, s13, s15 8000dd0: ee37 7a27 vadd.f32 s14, s14, s15 - 8000dd4: edd7 6a12 vldr s13, [r7, #72] @ 0x48 + 8000dd4: edd7 6a11 vldr s13, [r7, #68] @ 0x44 8000dd8: edd7 7a07 vldr s15, [r7, #28] 8000ddc: ee66 7aa7 vmul.f32 s15, s13, s15 8000de0: ee77 7a67 vsub.f32 s15, s14, s15 8000de4: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 8000de8: ee67 7a87 vmul.f32 s15, s15, s14 - 8000dec: edc7 7a0c vstr s15, [r7, #48] @ 0x30 + 8000dec: edc7 7a0b vstr s15, [r7, #44] @ 0x2c qDot[2] = 0.5f * (q[0] * gy - q[1] * gz + q[3] * gx); - 8000df0: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8000df0: ed97 7a0e vldr s14, [r7, #56] @ 0x38 8000df4: edd7 7a07 vldr s15, [r7, #28] 8000df8: ee27 7a27 vmul.f32 s14, s14, s15 - 8000dfc: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8000dfc: edd7 6a0f vldr s13, [r7, #60] @ 0x3c 8000e00: edd7 7a06 vldr s15, [r7, #24] 8000e04: ee66 7aa7 vmul.f32 s15, s13, s15 8000e08: ee37 7a67 vsub.f32 s14, s14, s15 - 8000e0c: edd7 6a12 vldr s13, [r7, #72] @ 0x48 + 8000e0c: edd7 6a11 vldr s13, [r7, #68] @ 0x44 8000e10: edd7 7a08 vldr s15, [r7, #32] 8000e14: ee66 7aa7 vmul.f32 s15, s13, s15 8000e18: ee77 7a27 vadd.f32 s15, s14, s15 8000e1c: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 8000e20: ee67 7a87 vmul.f32 s15, s15, s14 - 8000e24: edc7 7a0d vstr s15, [r7, #52] @ 0x34 + 8000e24: edc7 7a0c vstr s15, [r7, #48] @ 0x30 qDot[3] = 0.5f * (q[0] * gz + q[1] * gy - q[2] * gx); - 8000e28: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8000e28: ed97 7a0e vldr s14, [r7, #56] @ 0x38 8000e2c: edd7 7a06 vldr s15, [r7, #24] 8000e30: ee27 7a27 vmul.f32 s14, s14, s15 - 8000e34: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8000e34: edd7 6a0f vldr s13, [r7, #60] @ 0x3c 8000e38: edd7 7a07 vldr s15, [r7, #28] 8000e3c: ee66 7aa7 vmul.f32 s15, s13, s15 8000e40: ee37 7a27 vadd.f32 s14, s14, s15 - 8000e44: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 8000e44: edd7 6a10 vldr s13, [r7, #64] @ 0x40 8000e48: edd7 7a08 vldr s15, [r7, #32] 8000e4c: ee66 7aa7 vmul.f32 s15, s13, s15 8000e50: ee77 7a67 vsub.f32 s15, s14, s15 8000e54: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 8000e58: ee67 7a87 vmul.f32 s15, s15, s14 - 8000e5c: edc7 7a0e vstr s15, [r7, #56] @ 0x38 + 8000e5c: edc7 7a0d vstr s15, [r7, #52] @ 0x34 // Compute feedback only if accelerometer measurement valid (avoids NaN in accelerometer normalisation) if(!((ax == 0.0f) && (ay == 0.0f) && (az == 0.0f))) { @@ -1251,7 +1251,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8000ea4: ee67 7aa7 vmul.f32 s15, s15, s15 8000ea8: ee77 7a27 vadd.f32 s15, s14, s15 8000eac: eeb0 0a67 vmov.f32 s0, s15 - 8000eb0: f001 f8d4 bl 800205c + 8000eb0: f001 f95a bl 8002168 8000eb4: ed87 0a31 vstr s0, [r7, #196] @ 0xc4 ax *= recipNorm; 8000eb8: ed97 7a05 vldr s14, [r7, #20] @@ -1280,7 +1280,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8000f00: ee67 7aa7 vmul.f32 s15, s15, s15 8000f04: ee77 7a27 vadd.f32 s15, s14, s15 8000f08: eeb0 0a67 vmov.f32 s0, s15 - 8000f0c: f001 f8a6 bl 800205c + 8000f0c: f001 f92c bl 8002168 8000f10: ed87 0a31 vstr s0, [r7, #196] @ 0xc4 mx *= recipNorm; 8000f14: ed97 7a02 vldr s14, [r7, #8] @@ -1300,105 +1300,105 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float // Auxiliary variables to avoid repeated arithmetic _2q0mx = 2.0f * q[0] * mx; - 8000f44: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8000f44: edd7 7a0e vldr s15, [r7, #56] @ 0x38 8000f48: ee77 7aa7 vadd.f32 s15, s15, s15 8000f4c: ed97 7a02 vldr s14, [r7, #8] 8000f50: ee67 7a27 vmul.f32 s15, s14, s15 8000f54: edc7 7a30 vstr s15, [r7, #192] @ 0xc0 _2q0my = 2.0f * q[0] * my; - 8000f58: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8000f58: edd7 7a0e vldr s15, [r7, #56] @ 0x38 8000f5c: ee77 7aa7 vadd.f32 s15, s15, s15 8000f60: ed97 7a01 vldr s14, [r7, #4] 8000f64: ee67 7a27 vmul.f32 s15, s14, s15 8000f68: edc7 7a2f vstr s15, [r7, #188] @ 0xbc _2q0mz = 2.0f * q[0] * mz; - 8000f6c: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8000f6c: edd7 7a0e vldr s15, [r7, #56] @ 0x38 8000f70: ee77 7aa7 vadd.f32 s15, s15, s15 8000f74: ed97 7a00 vldr s14, [r7] 8000f78: ee67 7a27 vmul.f32 s15, s14, s15 8000f7c: edc7 7a2e vstr s15, [r7, #184] @ 0xb8 _2q1mx = 2.0f * q[1] * mx; - 8000f80: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8000f80: edd7 7a0f vldr s15, [r7, #60] @ 0x3c 8000f84: ee77 7aa7 vadd.f32 s15, s15, s15 8000f88: ed97 7a02 vldr s14, [r7, #8] 8000f8c: ee67 7a27 vmul.f32 s15, s14, s15 8000f90: edc7 7a2d vstr s15, [r7, #180] @ 0xb4 _2q0 = 2.0f * q[0]; - 8000f94: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8000f94: edd7 7a0e vldr s15, [r7, #56] @ 0x38 8000f98: ee77 7aa7 vadd.f32 s15, s15, s15 8000f9c: edc7 7a2c vstr s15, [r7, #176] @ 0xb0 _2q1 = 2.0f * q[1]; - 8000fa0: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8000fa0: edd7 7a0f vldr s15, [r7, #60] @ 0x3c 8000fa4: ee77 7aa7 vadd.f32 s15, s15, s15 8000fa8: edc7 7a2b vstr s15, [r7, #172] @ 0xac _2q2 = 2.0f * q[2]; - 8000fac: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 8000fac: edd7 7a10 vldr s15, [r7, #64] @ 0x40 8000fb0: ee77 7aa7 vadd.f32 s15, s15, s15 8000fb4: edc7 7a2a vstr s15, [r7, #168] @ 0xa8 _2q3 = 2.0f * q[3]; - 8000fb8: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 8000fb8: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8000fbc: ee77 7aa7 vadd.f32 s15, s15, s15 8000fc0: edc7 7a29 vstr s15, [r7, #164] @ 0xa4 _2q0q2 = 2.0f * q[0] * q[2]; - 8000fc4: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8000fc4: edd7 7a0e vldr s15, [r7, #56] @ 0x38 8000fc8: ee37 7aa7 vadd.f32 s14, s15, s15 - 8000fcc: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 8000fcc: edd7 7a10 vldr s15, [r7, #64] @ 0x40 8000fd0: ee67 7a27 vmul.f32 s15, s14, s15 8000fd4: edc7 7a28 vstr s15, [r7, #160] @ 0xa0 _2q2q3 = 2.0f * q[2] * q[3]; - 8000fd8: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 8000fd8: edd7 7a10 vldr s15, [r7, #64] @ 0x40 8000fdc: ee37 7aa7 vadd.f32 s14, s15, s15 - 8000fe0: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 8000fe0: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8000fe4: ee67 7a27 vmul.f32 s15, s14, s15 8000fe8: edc7 7a27 vstr s15, [r7, #156] @ 0x9c q0q0 = q[0] * q[0]; - 8000fec: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 8000ff0: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8000fec: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 8000ff0: edd7 7a0e vldr s15, [r7, #56] @ 0x38 8000ff4: ee67 7a27 vmul.f32 s15, s14, s15 8000ff8: edc7 7a26 vstr s15, [r7, #152] @ 0x98 q0q1 = q[0] * q[1]; - 8000ffc: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 8001000: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8000ffc: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 8001000: edd7 7a0f vldr s15, [r7, #60] @ 0x3c 8001004: ee67 7a27 vmul.f32 s15, s14, s15 8001008: edc7 7a25 vstr s15, [r7, #148] @ 0x94 q0q2 = q[0] * q[2]; - 800100c: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 8001010: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 800100c: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 8001010: edd7 7a10 vldr s15, [r7, #64] @ 0x40 8001014: ee67 7a27 vmul.f32 s15, s14, s15 8001018: edc7 7a24 vstr s15, [r7, #144] @ 0x90 q0q3 = q[0] * q[3]; - 800101c: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 8001020: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 800101c: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 8001020: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8001024: ee67 7a27 vmul.f32 s15, s14, s15 8001028: edc7 7a23 vstr s15, [r7, #140] @ 0x8c q1q1 = q[1] * q[1]; - 800102c: ed97 7a10 vldr s14, [r7, #64] @ 0x40 - 8001030: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 800102c: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8001030: edd7 7a0f vldr s15, [r7, #60] @ 0x3c 8001034: ee67 7a27 vmul.f32 s15, s14, s15 8001038: edc7 7a22 vstr s15, [r7, #136] @ 0x88 q1q2 = q[1] * q[2]; - 800103c: ed97 7a10 vldr s14, [r7, #64] @ 0x40 - 8001040: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 800103c: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8001040: edd7 7a10 vldr s15, [r7, #64] @ 0x40 8001044: ee67 7a27 vmul.f32 s15, s14, s15 8001048: edc7 7a21 vstr s15, [r7, #132] @ 0x84 q1q3 = q[1] * q[3]; - 800104c: ed97 7a10 vldr s14, [r7, #64] @ 0x40 - 8001050: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 800104c: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8001050: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8001054: ee67 7a27 vmul.f32 s15, s14, s15 8001058: edc7 7a20 vstr s15, [r7, #128] @ 0x80 q2q2 = q[2] * q[2]; - 800105c: ed97 7a11 vldr s14, [r7, #68] @ 0x44 - 8001060: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 800105c: ed97 7a10 vldr s14, [r7, #64] @ 0x40 + 8001060: edd7 7a10 vldr s15, [r7, #64] @ 0x40 8001064: ee67 7a27 vmul.f32 s15, s14, s15 8001068: edc7 7a1f vstr s15, [r7, #124] @ 0x7c q2q3 = q[2] * q[3]; - 800106c: ed97 7a11 vldr s14, [r7, #68] @ 0x44 - 8001070: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 800106c: ed97 7a10 vldr s14, [r7, #64] @ 0x40 + 8001070: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8001074: ee67 7a27 vmul.f32 s15, s14, s15 8001078: edc7 7a1e vstr s15, [r7, #120] @ 0x78 q3q3 = q[3] * q[3]; - 800107c: ed97 7a12 vldr s14, [r7, #72] @ 0x48 - 8001080: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 800107c: ed97 7a11 vldr s14, [r7, #68] @ 0x44 + 8001080: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8001084: ee67 7a27 vmul.f32 s15, s14, s15 8001088: edc7 7a1d vstr s15, [r7, #116] @ 0x74 @@ -1407,11 +1407,11 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 800108c: ed97 7a02 vldr s14, [r7, #8] 8001090: edd7 7a26 vldr s15, [r7, #152] @ 0x98 8001094: ee27 7a27 vmul.f32 s14, s14, s15 - 8001098: edd7 6a12 vldr s13, [r7, #72] @ 0x48 + 8001098: edd7 6a11 vldr s13, [r7, #68] @ 0x44 800109c: edd7 7a2f vldr s15, [r7, #188] @ 0xbc 80010a0: ee66 7aa7 vmul.f32 s15, s13, s15 80010a4: ee37 7a67 vsub.f32 s14, s14, s15 - 80010a8: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 80010a8: edd7 6a10 vldr s13, [r7, #64] @ 0x40 80010ac: edd7 7a2e vldr s15, [r7, #184] @ 0xb8 80010b0: ee66 7aa7 vmul.f32 s15, s13, s15 80010b4: ee37 7a27 vadd.f32 s14, s14, s15 @@ -1422,13 +1422,13 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 80010c8: edd7 6a2b vldr s13, [r7, #172] @ 0xac 80010cc: edd7 7a01 vldr s15, [r7, #4] 80010d0: ee66 6aa7 vmul.f32 s13, s13, s15 - 80010d4: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 80010d4: edd7 7a10 vldr s15, [r7, #64] @ 0x40 80010d8: ee66 7aa7 vmul.f32 s15, s13, s15 80010dc: ee37 7a27 vadd.f32 s14, s14, s15 80010e0: edd7 6a2b vldr s13, [r7, #172] @ 0xac 80010e4: edd7 7a00 vldr s15, [r7] 80010e8: ee66 6aa7 vmul.f32 s13, s13, s15 - 80010ec: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 80010ec: edd7 7a11 vldr s15, [r7, #68] @ 0x44 80010f0: ee66 7aa7 vmul.f32 s15, s13, s15 80010f4: ee37 7a27 vadd.f32 s14, s14, s15 80010f8: edd7 6a02 vldr s13, [r7, #8] @@ -1441,18 +1441,18 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001114: ee77 7a67 vsub.f32 s15, s14, s15 8001118: edc7 7a1c vstr s15, [r7, #112] @ 0x70 hy = _2q0mx * q[3] + my * q0q0 - _2q0mz * q[1] + _2q1mx * q[2] - my * q1q1 + my * q2q2 + _2q2 * mz * q[3] - my * q3q3; - 800111c: ed97 7a12 vldr s14, [r7, #72] @ 0x48 + 800111c: ed97 7a11 vldr s14, [r7, #68] @ 0x44 8001120: edd7 7a30 vldr s15, [r7, #192] @ 0xc0 8001124: ee27 7a27 vmul.f32 s14, s14, s15 8001128: edd7 6a01 vldr s13, [r7, #4] 800112c: edd7 7a26 vldr s15, [r7, #152] @ 0x98 8001130: ee66 7aa7 vmul.f32 s15, s13, s15 8001134: ee37 7a27 vadd.f32 s14, s14, s15 - 8001138: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8001138: edd7 6a0f vldr s13, [r7, #60] @ 0x3c 800113c: edd7 7a2e vldr s15, [r7, #184] @ 0xb8 8001140: ee66 7aa7 vmul.f32 s15, s13, s15 8001144: ee37 7a67 vsub.f32 s14, s14, s15 - 8001148: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 8001148: edd7 6a10 vldr s13, [r7, #64] @ 0x40 800114c: edd7 7a2d vldr s15, [r7, #180] @ 0xb4 8001150: ee66 7aa7 vmul.f32 s15, s13, s15 8001154: ee37 7a27 vadd.f32 s14, s14, s15 @@ -1467,7 +1467,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001178: edd7 6a2a vldr s13, [r7, #168] @ 0xa8 800117c: edd7 7a00 vldr s15, [r7] 8001180: ee66 6aa7 vmul.f32 s13, s13, s15 - 8001184: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 8001184: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8001188: ee66 7aa7 vmul.f32 s15, s13, s15 800118c: ee37 7a27 vadd.f32 s14, s14, s15 8001190: edd7 6a01 vldr s13, [r7, #4] @@ -1486,7 +1486,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 80011c0: 4602 mov r2, r0 80011c2: 460b mov r3, r1 80011c4: ec43 2b10 vmov d0, r2, r3 - 80011c8: f01b fff6 bl 801d1b8 + 80011c8: f01c fcde bl 801db88 80011cc: ec53 2b10 vmov r2, r3, d0 80011d0: 4610 mov r0, r2 80011d2: 4619 mov r1, r3 @@ -1496,9 +1496,9 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float _2bz = -_2q0mx * q[2] + _2q0my * q[1] + mz * q0q0 + _2q1mx * q[3] - mz * q1q1 + _2q2 * my * q[3] - mz * q2q2 + mz * q3q3; 80011dc: edd7 7a30 vldr s15, [r7, #192] @ 0xc0 80011e0: eeb1 7a67 vneg.f32 s14, s15 - 80011e4: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 80011e4: edd7 7a10 vldr s15, [r7, #64] @ 0x40 80011e8: ee27 7a27 vmul.f32 s14, s14, s15 - 80011ec: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 80011ec: edd7 6a0f vldr s13, [r7, #60] @ 0x3c 80011f0: edd7 7a2f vldr s15, [r7, #188] @ 0xbc 80011f4: ee66 7aa7 vmul.f32 s15, s13, s15 80011f8: ee37 7a27 vadd.f32 s14, s14, s15 @@ -1506,7 +1506,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001200: edd7 7a26 vldr s15, [r7, #152] @ 0x98 8001204: ee66 7aa7 vmul.f32 s15, s13, s15 8001208: ee37 7a27 vadd.f32 s14, s14, s15 - 800120c: edd7 6a12 vldr s13, [r7, #72] @ 0x48 + 800120c: edd7 6a11 vldr s13, [r7, #68] @ 0x44 8001210: edd7 7a2d vldr s15, [r7, #180] @ 0xb4 8001214: ee66 7aa7 vmul.f32 s15, s13, s15 8001218: ee37 7a27 vadd.f32 s14, s14, s15 @@ -1517,7 +1517,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 800122c: edd7 6a2a vldr s13, [r7, #168] @ 0xa8 8001230: edd7 7a01 vldr s15, [r7, #4] 8001234: ee66 6aa7 vmul.f32 s13, s13, s15 - 8001238: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 8001238: edd7 7a11 vldr s15, [r7, #68] @ 0x44 800123c: ee66 7aa7 vmul.f32 s15, s13, s15 8001240: ee37 7a27 vadd.f32 s14, s14, s15 8001244: edd7 6a00 vldr s13, [r7] @@ -1558,7 +1558,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 80012bc: edd7 7a2b vldr s15, [r7, #172] @ 0xac 80012c0: ee66 7aa7 vmul.f32 s15, s13, s15 80012c4: ee37 7a27 vadd.f32 s14, s14, s15 - 80012c8: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 80012c8: edd7 6a10 vldr s13, [r7, #64] @ 0x40 80012cc: edd7 7a19 vldr s15, [r7, #100] @ 0x64 80012d0: ee66 6aa7 vmul.f32 s13, s13, s15 80012d4: eeb6 6a00 vmov.f32 s12, #96 @ 0x3f000000 0.5 @@ -1580,9 +1580,9 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001314: ee37 7a67 vsub.f32 s14, s14, s15 8001318: edd7 7a1a vldr s15, [r7, #104] @ 0x68 800131c: eef1 6a67 vneg.f32 s13, s15 - 8001320: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 8001320: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8001324: ee66 6aa7 vmul.f32 s13, s13, s15 - 8001328: ed97 6a10 vldr s12, [r7, #64] @ 0x40 + 8001328: ed97 6a0f vldr s12, [r7, #60] @ 0x3c 800132c: edd7 7a19 vldr s15, [r7, #100] @ 0x64 8001330: ee66 7a27 vmul.f32 s15, s12, s15 8001334: ee76 6aa7 vadd.f32 s13, s13, s15 @@ -1601,7 +1601,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001368: ee76 7a67 vsub.f32 s15, s12, s15 800136c: ee66 7aa7 vmul.f32 s15, s13, s15 8001370: ee37 7a27 vadd.f32 s14, s14, s15 - 8001374: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 8001374: edd7 6a10 vldr s13, [r7, #64] @ 0x40 8001378: edd7 7a1a vldr s15, [r7, #104] @ 0x68 800137c: ee66 6aa7 vmul.f32 s13, s13, s15 8001380: ed97 6a24 vldr s12, [r7, #144] @ 0x90 @@ -1640,7 +1640,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001400: edd7 7a2c vldr s15, [r7, #176] @ 0xb0 8001404: ee66 7aa7 vmul.f32 s15, s13, s15 8001408: ee37 7a27 vadd.f32 s14, s14, s15 - 800140c: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 800140c: edd7 7a0f vldr s15, [r7, #60] @ 0x3c 8001410: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 8001414: ee67 6aa6 vmul.f32 s13, s15, s13 8001418: edd7 7a22 vldr s15, [r7, #136] @ 0x88 @@ -1654,7 +1654,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001438: ee76 7a67 vsub.f32 s15, s12, s15 800143c: ee66 7aa7 vmul.f32 s15, s13, s15 8001440: ee37 7a67 vsub.f32 s14, s14, s15 - 8001444: edd7 6a12 vldr s13, [r7, #72] @ 0x48 + 8001444: edd7 6a11 vldr s13, [r7, #68] @ 0x44 8001448: edd7 7a19 vldr s15, [r7, #100] @ 0x64 800144c: ee66 6aa7 vmul.f32 s13, s13, s15 8001450: eeb6 6a00 vmov.f32 s12, #96 @ 0x3f000000 0.5 @@ -1674,10 +1674,10 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001488: ee76 7a67 vsub.f32 s15, s12, s15 800148c: ee66 7aa7 vmul.f32 s15, s13, s15 8001490: ee37 7a27 vadd.f32 s14, s14, s15 - 8001494: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 8001494: edd7 6a10 vldr s13, [r7, #64] @ 0x40 8001498: edd7 7a1a vldr s15, [r7, #104] @ 0x68 800149c: ee66 6aa7 vmul.f32 s13, s13, s15 - 80014a0: ed97 6a0f vldr s12, [r7, #60] @ 0x3c + 80014a0: ed97 6a0e vldr s12, [r7, #56] @ 0x38 80014a4: edd7 7a19 vldr s15, [r7, #100] @ 0x64 80014a8: ee66 7a27 vmul.f32 s15, s12, s15 80014ac: ee76 6aa7 vadd.f32 s13, s13, s15 @@ -1696,10 +1696,10 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 80014e0: ee76 7a67 vsub.f32 s15, s12, s15 80014e4: ee66 7aa7 vmul.f32 s15, s13, s15 80014e8: ee37 7a27 vadd.f32 s14, s14, s15 - 80014ec: edd7 6a12 vldr s13, [r7, #72] @ 0x48 + 80014ec: edd7 6a11 vldr s13, [r7, #68] @ 0x44 80014f0: edd7 7a1a vldr s15, [r7, #104] @ 0x68 80014f4: ee66 6aa7 vmul.f32 s13, s13, s15 - 80014f8: ed97 6a10 vldr s12, [r7, #64] @ 0x40 + 80014f8: ed97 6a0f vldr s12, [r7, #60] @ 0x3c 80014fc: edd7 7a17 vldr s15, [r7, #92] @ 0x5c 8001500: ee66 7a27 vmul.f32 s15, s12, s15 8001504: ee76 6ae7 vsub.f32 s13, s13, s15 @@ -1740,7 +1740,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 800158c: edd7 7a29 vldr s15, [r7, #164] @ 0xa4 8001590: ee66 7aa7 vmul.f32 s15, s13, s15 8001594: ee37 7a27 vadd.f32 s14, s14, s15 - 8001598: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 8001598: edd7 7a10 vldr s15, [r7, #64] @ 0x40 800159c: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 80015a0: ee67 6aa6 vmul.f32 s13, s15, s13 80015a4: edd7 7a22 vldr s15, [r7, #136] @ 0x88 @@ -1756,9 +1756,9 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 80015cc: ee37 7a67 vsub.f32 s14, s14, s15 80015d0: edd7 7a18 vldr s15, [r7, #96] @ 0x60 80015d4: eef1 6a67 vneg.f32 s13, s15 - 80015d8: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 80015d8: edd7 7a10 vldr s15, [r7, #64] @ 0x40 80015dc: ee66 6aa7 vmul.f32 s13, s13, s15 - 80015e0: ed97 6a0f vldr s12, [r7, #60] @ 0x3c + 80015e0: ed97 6a0e vldr s12, [r7, #56] @ 0x38 80015e4: edd7 7a19 vldr s15, [r7, #100] @ 0x64 80015e8: ee66 7a27 vmul.f32 s15, s12, s15 80015ec: ee76 6ae7 vsub.f32 s13, s13, s15 @@ -1779,10 +1779,10 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001628: ee76 7a67 vsub.f32 s15, s12, s15 800162c: ee66 7aa7 vmul.f32 s15, s13, s15 8001630: ee37 7a27 vadd.f32 s14, s14, s15 - 8001634: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8001634: edd7 6a0f vldr s13, [r7, #60] @ 0x3c 8001638: edd7 7a1a vldr s15, [r7, #104] @ 0x68 800163c: ee66 6aa7 vmul.f32 s13, s13, s15 - 8001640: ed97 6a12 vldr s12, [r7, #72] @ 0x48 + 8001640: ed97 6a11 vldr s12, [r7, #68] @ 0x44 8001644: edd7 7a19 vldr s15, [r7, #100] @ 0x64 8001648: ee66 7a27 vmul.f32 s15, s12, s15 800164c: ee76 6aa7 vadd.f32 s13, s13, s15 @@ -1801,10 +1801,10 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001680: ee76 7a67 vsub.f32 s15, s12, s15 8001684: ee66 7aa7 vmul.f32 s15, s13, s15 8001688: ee37 7a27 vadd.f32 s14, s14, s15 - 800168c: edd7 6a0f vldr s13, [r7, #60] @ 0x3c + 800168c: edd7 6a0e vldr s13, [r7, #56] @ 0x38 8001690: edd7 7a1a vldr s15, [r7, #104] @ 0x68 8001694: ee66 6aa7 vmul.f32 s13, s13, s15 - 8001698: ed97 6a11 vldr s12, [r7, #68] @ 0x44 + 8001698: ed97 6a10 vldr s12, [r7, #64] @ 0x40 800169c: edd7 7a17 vldr s15, [r7, #92] @ 0x5c 80016a0: ee66 7a27 vmul.f32 s15, s12, s15 80016a4: ee76 6ae7 vsub.f32 s13, s13, s15 @@ -1846,9 +1846,9 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001730: ee37 7a27 vadd.f32 s14, s14, s15 8001734: edd7 7a18 vldr s15, [r7, #96] @ 0x60 8001738: eef1 6a67 vneg.f32 s13, s15 - 800173c: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 800173c: edd7 7a11 vldr s15, [r7, #68] @ 0x44 8001740: ee66 6aa7 vmul.f32 s13, s13, s15 - 8001744: ed97 6a10 vldr s12, [r7, #64] @ 0x40 + 8001744: ed97 6a0f vldr s12, [r7, #60] @ 0x3c 8001748: edd7 7a19 vldr s15, [r7, #100] @ 0x64 800174c: ee66 7a27 vmul.f32 s15, s12, s15 8001750: ee76 6aa7 vadd.f32 s13, s13, s15 @@ -1871,9 +1871,9 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 8001794: ee37 7a27 vadd.f32 s14, s14, s15 8001798: edd7 7a1a vldr s15, [r7, #104] @ 0x68 800179c: eef1 6a67 vneg.f32 s13, s15 - 80017a0: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 80017a0: edd7 7a0e vldr s15, [r7, #56] @ 0x38 80017a4: ee66 6aa7 vmul.f32 s13, s13, s15 - 80017a8: ed97 6a11 vldr s12, [r7, #68] @ 0x44 + 80017a8: ed97 6a10 vldr s12, [r7, #64] @ 0x40 80017ac: edd7 7a19 vldr s15, [r7, #100] @ 0x64 80017b0: ee66 7a27 vmul.f32 s15, s12, s15 80017b4: ee76 6aa7 vadd.f32 s13, s13, s15 @@ -1892,7 +1892,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 80017e8: ee76 7a67 vsub.f32 s15, s12, s15 80017ec: ee66 7aa7 vmul.f32 s15, s13, s15 80017f0: ee37 7a27 vadd.f32 s14, s14, s15 - 80017f4: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 80017f4: edd7 6a0f vldr s13, [r7, #60] @ 0x3c 80017f8: edd7 7a1a vldr s15, [r7, #104] @ 0x68 80017fc: ee66 6aa7 vmul.f32 s13, s13, s15 8001800: ed97 6a24 vldr s12, [r7, #144] @ 0x90 @@ -1926,7 +1926,7 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float 800186c: ee67 7aa7 vmul.f32 s15, s15, s15 8001870: ee77 7a27 vadd.f32 s15, s14, s15 8001874: eeb0 0a67 vmov.f32 s0, s15 - 8001878: f000 fbf0 bl 800205c + 8001878: f000 fc76 bl 8002168 800187c: ed87 0a31 vstr s0, [r7, #196] @ 0xc4 s0 *= recipNorm; 8001880: ed97 7a16 vldr s14, [r7, #88] @ 0x58 @@ -1951,11023 +1951,10696 @@ void MadgwickAHRS_update(MadgwickAHRS_Filter* filter, float gx, float gy, float // Apply feedback step qDot[0] -= filter->beta * s0; - 80018c0: ed97 7a0b vldr s14, [r7, #44] @ 0x2c + 80018c0: ed97 7a0a vldr s14, [r7, #40] @ 0x28 80018c4: 6a7b ldr r3, [r7, #36] @ 0x24 80018c6: edd3 6a04 vldr s13, [r3, #16] 80018ca: edd7 7a16 vldr s15, [r7, #88] @ 0x58 80018ce: ee66 7aa7 vmul.f32 s15, s13, s15 80018d2: ee77 7a67 vsub.f32 s15, s14, s15 - 80018d6: edc7 7a0b vstr s15, [r7, #44] @ 0x2c + 80018d6: edc7 7a0a vstr s15, [r7, #40] @ 0x28 qDot[1] -= filter->beta * s1; - 80018da: ed97 7a0c vldr s14, [r7, #48] @ 0x30 + 80018da: ed97 7a0b vldr s14, [r7, #44] @ 0x2c 80018de: 6a7b ldr r3, [r7, #36] @ 0x24 80018e0: edd3 6a04 vldr s13, [r3, #16] 80018e4: edd7 7a15 vldr s15, [r7, #84] @ 0x54 80018e8: ee66 7aa7 vmul.f32 s15, s13, s15 80018ec: ee77 7a67 vsub.f32 s15, s14, s15 - 80018f0: edc7 7a0c vstr s15, [r7, #48] @ 0x30 + 80018f0: edc7 7a0b vstr s15, [r7, #44] @ 0x2c qDot[2] -= filter->beta * s2; - 80018f4: ed97 7a0d vldr s14, [r7, #52] @ 0x34 + 80018f4: ed97 7a0c vldr s14, [r7, #48] @ 0x30 80018f8: 6a7b ldr r3, [r7, #36] @ 0x24 80018fa: edd3 6a04 vldr s13, [r3, #16] 80018fe: edd7 7a14 vldr s15, [r7, #80] @ 0x50 8001902: ee66 7aa7 vmul.f32 s15, s13, s15 8001906: ee77 7a67 vsub.f32 s15, s14, s15 - 800190a: edc7 7a0d vstr s15, [r7, #52] @ 0x34 + 800190a: edc7 7a0c vstr s15, [r7, #48] @ 0x30 qDot[3] -= filter->beta * s3; - 800190e: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 800190e: ed97 7a0d vldr s14, [r7, #52] @ 0x34 8001912: 6a7b ldr r3, [r7, #36] @ 0x24 8001914: edd3 6a04 vldr s13, [r3, #16] 8001918: edd7 7a13 vldr s15, [r7, #76] @ 0x4c 800191c: ee66 7aa7 vmul.f32 s15, s13, s15 8001920: ee77 7a67 vsub.f32 s15, s14, s15 - 8001924: edc7 7a0e vstr s15, [r7, #56] @ 0x38 + 8001924: edc7 7a0d vstr s15, [r7, #52] @ 0x34 } // Integrate rate of change of quaternion to yield quaternion q[0] += qDot[0] * (1.0f / filter->sample_freq); - 8001928: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 800192c: edd7 6a0b vldr s13, [r7, #44] @ 0x2c + 8001928: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 800192c: edd7 6a0a vldr s13, [r7, #40] @ 0x28 8001930: 6a7b ldr r3, [r7, #36] @ 0x24 8001932: ed93 6a05 vldr s12, [r3, #20] 8001936: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 800193a: eec5 7a86 vdiv.f32 s15, s11, s12 800193e: ee66 7aa7 vmul.f32 s15, s13, s15 8001942: ee77 7a27 vadd.f32 s15, s14, s15 - 8001946: edc7 7a0f vstr s15, [r7, #60] @ 0x3c + 8001946: edc7 7a0e vstr s15, [r7, #56] @ 0x38 q[1] += qDot[1] * (1.0f / filter->sample_freq); - 800194a: ed97 7a10 vldr s14, [r7, #64] @ 0x40 - 800194e: edd7 6a0c vldr s13, [r7, #48] @ 0x30 + 800194a: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 800194e: edd7 6a0b vldr s13, [r7, #44] @ 0x2c 8001952: 6a7b ldr r3, [r7, #36] @ 0x24 8001954: ed93 6a05 vldr s12, [r3, #20] 8001958: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 800195c: eec5 7a86 vdiv.f32 s15, s11, s12 8001960: ee66 7aa7 vmul.f32 s15, s13, s15 8001964: ee77 7a27 vadd.f32 s15, s14, s15 - 8001968: edc7 7a10 vstr s15, [r7, #64] @ 0x40 + 8001968: edc7 7a0f vstr s15, [r7, #60] @ 0x3c q[2] += qDot[2] * (1.0f / filter->sample_freq); - 800196c: ed97 7a11 vldr s14, [r7, #68] @ 0x44 - 8001970: edd7 6a0d vldr s13, [r7, #52] @ 0x34 + 800196c: ed97 7a10 vldr s14, [r7, #64] @ 0x40 + 8001970: edd7 6a0c vldr s13, [r7, #48] @ 0x30 8001974: 6a7b ldr r3, [r7, #36] @ 0x24 8001976: ed93 6a05 vldr s12, [r3, #20] 800197a: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 800197e: eec5 7a86 vdiv.f32 s15, s11, s12 8001982: ee66 7aa7 vmul.f32 s15, s13, s15 8001986: ee77 7a27 vadd.f32 s15, s14, s15 - 800198a: edc7 7a11 vstr s15, [r7, #68] @ 0x44 + 800198a: edc7 7a10 vstr s15, [r7, #64] @ 0x40 q[3] += qDot[3] * (1.0f / filter->sample_freq); - 800198e: ed97 7a12 vldr s14, [r7, #72] @ 0x48 - 8001992: edd7 6a0e vldr s13, [r7, #56] @ 0x38 + 800198e: ed97 7a11 vldr s14, [r7, #68] @ 0x44 + 8001992: edd7 6a0d vldr s13, [r7, #52] @ 0x34 8001996: 6a7b ldr r3, [r7, #36] @ 0x24 8001998: ed93 6a05 vldr s12, [r3, #20] 800199c: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 80019a0: eec5 7a86 vdiv.f32 s15, s11, s12 80019a4: ee66 7aa7 vmul.f32 s15, s13, s15 80019a8: ee77 7a27 vadd.f32 s15, s14, s15 - 80019ac: edc7 7a12 vstr s15, [r7, #72] @ 0x48 + 80019ac: edc7 7a11 vstr s15, [r7, #68] @ 0x44 // Normalise quaternion recipNorm = invSqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3]); - 80019b0: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 80019b4: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 80019b0: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 80019b4: edd7 7a0e vldr s15, [r7, #56] @ 0x38 80019b8: ee27 7a27 vmul.f32 s14, s14, s15 - 80019bc: edd7 6a10 vldr s13, [r7, #64] @ 0x40 - 80019c0: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 80019bc: edd7 6a0f vldr s13, [r7, #60] @ 0x3c + 80019c0: edd7 7a0f vldr s15, [r7, #60] @ 0x3c 80019c4: ee66 7aa7 vmul.f32 s15, s13, s15 80019c8: ee37 7a27 vadd.f32 s14, s14, s15 - 80019cc: edd7 6a11 vldr s13, [r7, #68] @ 0x44 - 80019d0: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 80019cc: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 80019d0: edd7 7a10 vldr s15, [r7, #64] @ 0x40 80019d4: ee66 7aa7 vmul.f32 s15, s13, s15 80019d8: ee37 7a27 vadd.f32 s14, s14, s15 - 80019dc: edd7 6a12 vldr s13, [r7, #72] @ 0x48 - 80019e0: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 80019dc: edd7 6a11 vldr s13, [r7, #68] @ 0x44 + 80019e0: edd7 7a11 vldr s15, [r7, #68] @ 0x44 80019e4: ee66 7aa7 vmul.f32 s15, s13, s15 80019e8: ee77 7a27 vadd.f32 s15, s14, s15 80019ec: eeb0 0a67 vmov.f32 s0, s15 - 80019f0: f000 fb34 bl 800205c + 80019f0: f000 fbba bl 8002168 80019f4: ed87 0a31 vstr s0, [r7, #196] @ 0xc4 q[0] *= recipNorm; - 80019f8: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 80019f8: ed97 7a0e vldr s14, [r7, #56] @ 0x38 80019fc: edd7 7a31 vldr s15, [r7, #196] @ 0xc4 8001a00: ee67 7a27 vmul.f32 s15, s14, s15 - 8001a04: edc7 7a0f vstr s15, [r7, #60] @ 0x3c + 8001a04: edc7 7a0e vstr s15, [r7, #56] @ 0x38 q[1] *= recipNorm; - 8001a08: ed97 7a10 vldr s14, [r7, #64] @ 0x40 + 8001a08: ed97 7a0f vldr s14, [r7, #60] @ 0x3c 8001a0c: edd7 7a31 vldr s15, [r7, #196] @ 0xc4 8001a10: ee67 7a27 vmul.f32 s15, s14, s15 - 8001a14: edc7 7a10 vstr s15, [r7, #64] @ 0x40 + 8001a14: edc7 7a0f vstr s15, [r7, #60] @ 0x3c q[2] *= recipNorm; - 8001a18: ed97 7a11 vldr s14, [r7, #68] @ 0x44 + 8001a18: ed97 7a10 vldr s14, [r7, #64] @ 0x40 8001a1c: edd7 7a31 vldr s15, [r7, #196] @ 0xc4 8001a20: ee67 7a27 vmul.f32 s15, s14, s15 - 8001a24: edc7 7a11 vstr s15, [r7, #68] @ 0x44 + 8001a24: edc7 7a10 vstr s15, [r7, #64] @ 0x40 q[3] *= recipNorm; - 8001a28: ed97 7a12 vldr s14, [r7, #72] @ 0x48 + 8001a28: ed97 7a11 vldr s14, [r7, #68] @ 0x44 8001a2c: edd7 7a31 vldr s15, [r7, #196] @ 0xc4 8001a30: ee67 7a27 vmul.f32 s15, s14, s15 - 8001a34: edc7 7a12 vstr s15, [r7, #72] @ 0x48 + 8001a34: edc7 7a11 vstr s15, [r7, #68] @ 0x44 + // enforce hemisphere continuity (because of the positive and negative doubling of output) + float dot = filter->q[0] * q[0] + filter->q[1] * q[1] + filter->q[2] * q[2] + filter->q[3] * q[3]; + 8001a38: 6a7b ldr r3, [r7, #36] @ 0x24 + 8001a3a: ed93 7a00 vldr s14, [r3] + 8001a3e: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8001a42: ee27 7a27 vmul.f32 s14, s14, s15 + 8001a46: 6a7b ldr r3, [r7, #36] @ 0x24 + 8001a48: edd3 6a01 vldr s13, [r3, #4] + 8001a4c: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8001a50: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001a54: ee37 7a27 vadd.f32 s14, s14, s15 + 8001a58: 6a7b ldr r3, [r7, #36] @ 0x24 + 8001a5a: edd3 6a02 vldr s13, [r3, #8] + 8001a5e: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8001a62: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001a66: ee37 7a27 vadd.f32 s14, s14, s15 + 8001a6a: 6a7b ldr r3, [r7, #36] @ 0x24 + 8001a6c: edd3 6a03 vldr s13, [r3, #12] + 8001a70: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 8001a74: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001a78: ee77 7a27 vadd.f32 s15, s14, s15 + 8001a7c: edc7 7a12 vstr s15, [r7, #72] @ 0x48 + if (dot < 0.0f){ + 8001a80: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 8001a84: eef5 7ac0 vcmpe.f32 s15, #0.0 + 8001a88: eef1 fa10 vmrs APSR_nzcv, fpscr + 8001a8c: d517 bpl.n 8001abe + q[0] = -q[0]; + 8001a8e: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8001a92: eef1 7a67 vneg.f32 s15, s15 + 8001a96: edc7 7a0e vstr s15, [r7, #56] @ 0x38 + q[1] = -q[1]; + 8001a9a: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8001a9e: eef1 7a67 vneg.f32 s15, s15 + 8001aa2: edc7 7a0f vstr s15, [r7, #60] @ 0x3c + q[2] = -q[2]; + 8001aa6: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8001aaa: eef1 7a67 vneg.f32 s15, s15 + 8001aae: edc7 7a10 vstr s15, [r7, #64] @ 0x40 + q[3] = -q[3]; + 8001ab2: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 8001ab6: eef1 7a67 vneg.f32 s15, s15 + 8001aba: edc7 7a11 vstr s15, [r7, #68] @ 0x44 + } // Update filter state filter->q[0] = q[0]; - 8001a38: 6bfa ldr r2, [r7, #60] @ 0x3c - 8001a3a: 6a7b ldr r3, [r7, #36] @ 0x24 - 8001a3c: 601a str r2, [r3, #0] + 8001abe: 6bba ldr r2, [r7, #56] @ 0x38 + 8001ac0: 6a7b ldr r3, [r7, #36] @ 0x24 + 8001ac2: 601a str r2, [r3, #0] filter->q[1] = q[1]; - 8001a3e: 6c3a ldr r2, [r7, #64] @ 0x40 - 8001a40: 6a7b ldr r3, [r7, #36] @ 0x24 - 8001a42: 605a str r2, [r3, #4] + 8001ac4: 6bfa ldr r2, [r7, #60] @ 0x3c + 8001ac6: 6a7b ldr r3, [r7, #36] @ 0x24 + 8001ac8: 605a str r2, [r3, #4] filter->q[2] = q[2]; - 8001a44: 6c7a ldr r2, [r7, #68] @ 0x44 - 8001a46: 6a7b ldr r3, [r7, #36] @ 0x24 - 8001a48: 609a str r2, [r3, #8] + 8001aca: 6c3a ldr r2, [r7, #64] @ 0x40 + 8001acc: 6a7b ldr r3, [r7, #36] @ 0x24 + 8001ace: 609a str r2, [r3, #8] filter->q[3] = q[3]; - 8001a4a: 6cba ldr r2, [r7, #72] @ 0x48 - 8001a4c: 6a7b ldr r3, [r7, #36] @ 0x24 - 8001a4e: 60da str r2, [r3, #12] + 8001ad0: 6c7a ldr r2, [r7, #68] @ 0x44 + 8001ad2: 6a7b ldr r3, [r7, #36] @ 0x24 + 8001ad4: 60da str r2, [r3, #12] } - 8001a50: 37c8 adds r7, #200 @ 0xc8 - 8001a52: 46bd mov sp, r7 - 8001a54: bd80 pop {r7, pc} + 8001ad6: 37c8 adds r7, #200 @ 0xc8 + 8001ad8: 46bd mov sp, r7 + 8001ada: bd80 pop {r7, pc} -08001a56 : +08001adc : //--------------------------------------------------------------------------------------------------- // IMU algorithm update void MadgwickAHRS_update_IMU(MadgwickAHRS_Filter* filter, float gx, float gy, float gz, float ax, float ay, float az) { - 8001a56: b580 push {r7, lr} - 8001a58: b0a2 sub sp, #136 @ 0x88 - 8001a5a: af00 add r7, sp, #0 - 8001a5c: 61f8 str r0, [r7, #28] - 8001a5e: ed87 0a06 vstr s0, [r7, #24] - 8001a62: edc7 0a05 vstr s1, [r7, #20] - 8001a66: ed87 1a04 vstr s2, [r7, #16] - 8001a6a: edc7 1a03 vstr s3, [r7, #12] - 8001a6e: ed87 2a02 vstr s4, [r7, #8] - 8001a72: edc7 2a01 vstr s5, [r7, #4] + 8001adc: b580 push {r7, lr} + 8001ade: b0a4 sub sp, #144 @ 0x90 + 8001ae0: af00 add r7, sp, #0 + 8001ae2: 61f8 str r0, [r7, #28] + 8001ae4: ed87 0a06 vstr s0, [r7, #24] + 8001ae8: edc7 0a05 vstr s1, [r7, #20] + 8001aec: ed87 1a04 vstr s2, [r7, #16] + 8001af0: edc7 1a03 vstr s3, [r7, #12] + 8001af4: ed87 2a02 vstr s4, [r7, #8] + 8001af8: edc7 2a01 vstr s5, [r7, #4] float q[4] = {filter->q[0], filter->q[1], filter->q[2], filter->q[3]}; - 8001a76: 69fb ldr r3, [r7, #28] - 8001a78: 681b ldr r3, [r3, #0] - 8001a7a: 633b str r3, [r7, #48] @ 0x30 - 8001a7c: 69fb ldr r3, [r7, #28] - 8001a7e: 685b ldr r3, [r3, #4] - 8001a80: 637b str r3, [r7, #52] @ 0x34 - 8001a82: 69fb ldr r3, [r7, #28] - 8001a84: 689b ldr r3, [r3, #8] - 8001a86: 63bb str r3, [r7, #56] @ 0x38 - 8001a88: 69fb ldr r3, [r7, #28] - 8001a8a: 68db ldr r3, [r3, #12] - 8001a8c: 63fb str r3, [r7, #60] @ 0x3c + 8001afc: 69fb ldr r3, [r7, #28] + 8001afe: 681b ldr r3, [r3, #0] + 8001b00: 637b str r3, [r7, #52] @ 0x34 + 8001b02: 69fb ldr r3, [r7, #28] + 8001b04: 685b ldr r3, [r3, #4] + 8001b06: 63bb str r3, [r7, #56] @ 0x38 + 8001b08: 69fb ldr r3, [r7, #28] + 8001b0a: 689b ldr r3, [r3, #8] + 8001b0c: 63fb str r3, [r7, #60] @ 0x3c + 8001b0e: 69fb ldr r3, [r7, #28] + 8001b10: 68db ldr r3, [r3, #12] + 8001b12: 643b str r3, [r7, #64] @ 0x40 float s0, s1, s2, s3; float qDot[4]; float _2q0, _2q1, _2q2, _2q3, _4q0, _4q1, _4q2 ,_8q1, _8q2, q0q0, q1q1, q2q2, q3q3; // Rate of change of quaternion from gyroscope qDot[0] = 0.5f * (-q[1] * gx - q[2] * gy - q[3] * gz); - 8001a8e: edd7 7a0d vldr s15, [r7, #52] @ 0x34 - 8001a92: eeb1 7a67 vneg.f32 s14, s15 - 8001a96: edd7 7a06 vldr s15, [r7, #24] - 8001a9a: ee27 7a27 vmul.f32 s14, s14, s15 - 8001a9e: edd7 6a0e vldr s13, [r7, #56] @ 0x38 - 8001aa2: edd7 7a05 vldr s15, [r7, #20] - 8001aa6: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001aaa: ee37 7a67 vsub.f32 s14, s14, s15 - 8001aae: edd7 6a0f vldr s13, [r7, #60] @ 0x3c - 8001ab2: edd7 7a04 vldr s15, [r7, #16] - 8001ab6: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001aba: ee77 7a67 vsub.f32 s15, s14, s15 - 8001abe: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 - 8001ac2: ee67 7a87 vmul.f32 s15, s15, s14 - 8001ac6: edc7 7a08 vstr s15, [r7, #32] + 8001b14: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8001b18: eeb1 7a67 vneg.f32 s14, s15 + 8001b1c: edd7 7a06 vldr s15, [r7, #24] + 8001b20: ee27 7a27 vmul.f32 s14, s14, s15 + 8001b24: edd7 6a0f vldr s13, [r7, #60] @ 0x3c + 8001b28: edd7 7a05 vldr s15, [r7, #20] + 8001b2c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001b30: ee37 7a67 vsub.f32 s14, s14, s15 + 8001b34: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8001b38: edd7 7a04 vldr s15, [r7, #16] + 8001b3c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001b40: ee77 7a67 vsub.f32 s15, s14, s15 + 8001b44: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 + 8001b48: ee67 7a87 vmul.f32 s15, s15, s14 + 8001b4c: edc7 7a09 vstr s15, [r7, #36] @ 0x24 qDot[1] = 0.5f * (q[0] * gx + q[2] * gz - q[3] * gy); - 8001aca: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 8001ace: edd7 7a06 vldr s15, [r7, #24] - 8001ad2: ee27 7a27 vmul.f32 s14, s14, s15 - 8001ad6: edd7 6a0e vldr s13, [r7, #56] @ 0x38 - 8001ada: edd7 7a04 vldr s15, [r7, #16] - 8001ade: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001ae2: ee37 7a27 vadd.f32 s14, s14, s15 - 8001ae6: edd7 6a0f vldr s13, [r7, #60] @ 0x3c - 8001aea: edd7 7a05 vldr s15, [r7, #20] - 8001aee: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001af2: ee77 7a67 vsub.f32 s15, s14, s15 - 8001af6: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 - 8001afa: ee67 7a87 vmul.f32 s15, s15, s14 - 8001afe: edc7 7a09 vstr s15, [r7, #36] @ 0x24 + 8001b50: ed97 7a0d vldr s14, [r7, #52] @ 0x34 + 8001b54: edd7 7a06 vldr s15, [r7, #24] + 8001b58: ee27 7a27 vmul.f32 s14, s14, s15 + 8001b5c: edd7 6a0f vldr s13, [r7, #60] @ 0x3c + 8001b60: edd7 7a04 vldr s15, [r7, #16] + 8001b64: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001b68: ee37 7a27 vadd.f32 s14, s14, s15 + 8001b6c: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8001b70: edd7 7a05 vldr s15, [r7, #20] + 8001b74: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001b78: ee77 7a67 vsub.f32 s15, s14, s15 + 8001b7c: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 + 8001b80: ee67 7a87 vmul.f32 s15, s15, s14 + 8001b84: edc7 7a0a vstr s15, [r7, #40] @ 0x28 qDot[2] = 0.5f * (q[0] * gy - q[1] * gz + q[3] * gx); - 8001b02: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 8001b06: edd7 7a05 vldr s15, [r7, #20] - 8001b0a: ee27 7a27 vmul.f32 s14, s14, s15 - 8001b0e: edd7 6a0d vldr s13, [r7, #52] @ 0x34 - 8001b12: edd7 7a04 vldr s15, [r7, #16] - 8001b16: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001b1a: ee37 7a67 vsub.f32 s14, s14, s15 - 8001b1e: edd7 6a0f vldr s13, [r7, #60] @ 0x3c - 8001b22: edd7 7a06 vldr s15, [r7, #24] - 8001b26: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001b2a: ee77 7a27 vadd.f32 s15, s14, s15 - 8001b2e: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 - 8001b32: ee67 7a87 vmul.f32 s15, s15, s14 - 8001b36: edc7 7a0a vstr s15, [r7, #40] @ 0x28 + 8001b88: ed97 7a0d vldr s14, [r7, #52] @ 0x34 + 8001b8c: edd7 7a05 vldr s15, [r7, #20] + 8001b90: ee27 7a27 vmul.f32 s14, s14, s15 + 8001b94: edd7 6a0e vldr s13, [r7, #56] @ 0x38 + 8001b98: edd7 7a04 vldr s15, [r7, #16] + 8001b9c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001ba0: ee37 7a67 vsub.f32 s14, s14, s15 + 8001ba4: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8001ba8: edd7 7a06 vldr s15, [r7, #24] + 8001bac: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001bb0: ee77 7a27 vadd.f32 s15, s14, s15 + 8001bb4: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 + 8001bb8: ee67 7a87 vmul.f32 s15, s15, s14 + 8001bbc: edc7 7a0b vstr s15, [r7, #44] @ 0x2c qDot[3] = 0.5f * (q[0] * gz + q[1] * gy - q[2] * gx); - 8001b3a: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 8001b3e: edd7 7a04 vldr s15, [r7, #16] - 8001b42: ee27 7a27 vmul.f32 s14, s14, s15 - 8001b46: edd7 6a0d vldr s13, [r7, #52] @ 0x34 - 8001b4a: edd7 7a05 vldr s15, [r7, #20] - 8001b4e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001b52: ee37 7a27 vadd.f32 s14, s14, s15 - 8001b56: edd7 6a0e vldr s13, [r7, #56] @ 0x38 - 8001b5a: edd7 7a06 vldr s15, [r7, #24] - 8001b5e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001b62: ee77 7a67 vsub.f32 s15, s14, s15 - 8001b66: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 - 8001b6a: ee67 7a87 vmul.f32 s15, s15, s14 - 8001b6e: edc7 7a0b vstr s15, [r7, #44] @ 0x2c + 8001bc0: ed97 7a0d vldr s14, [r7, #52] @ 0x34 + 8001bc4: edd7 7a04 vldr s15, [r7, #16] + 8001bc8: ee27 7a27 vmul.f32 s14, s14, s15 + 8001bcc: edd7 6a0e vldr s13, [r7, #56] @ 0x38 + 8001bd0: edd7 7a05 vldr s15, [r7, #20] + 8001bd4: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001bd8: ee37 7a27 vadd.f32 s14, s14, s15 + 8001bdc: edd7 6a0f vldr s13, [r7, #60] @ 0x3c + 8001be0: edd7 7a06 vldr s15, [r7, #24] + 8001be4: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001be8: ee77 7a67 vsub.f32 s15, s14, s15 + 8001bec: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 + 8001bf0: ee67 7a87 vmul.f32 s15, s15, s14 + 8001bf4: edc7 7a0c vstr s15, [r7, #48] @ 0x30 // Compute feedback only if accelerometer measurement valid (avoids NaN in accelerometer normalisation) if(!((ax == 0.0f) && (ay == 0.0f) && (az == 0.0f))) { - 8001b72: edd7 7a03 vldr s15, [r7, #12] - 8001b76: eef5 7a40 vcmp.f32 s15, #0.0 - 8001b7a: eef1 fa10 vmrs APSR_nzcv, fpscr - 8001b7e: d10e bne.n 8001b9e - 8001b80: edd7 7a02 vldr s15, [r7, #8] - 8001b84: eef5 7a40 vcmp.f32 s15, #0.0 - 8001b88: eef1 fa10 vmrs APSR_nzcv, fpscr - 8001b8c: d107 bne.n 8001b9e - 8001b8e: edd7 7a01 vldr s15, [r7, #4] - 8001b92: eef5 7a40 vcmp.f32 s15, #0.0 - 8001b96: eef1 fa10 vmrs APSR_nzcv, fpscr - 8001b9a: f000 81c6 beq.w 8001f2a + 8001bf8: edd7 7a03 vldr s15, [r7, #12] + 8001bfc: eef5 7a40 vcmp.f32 s15, #0.0 + 8001c00: eef1 fa10 vmrs APSR_nzcv, fpscr + 8001c04: d10e bne.n 8001c24 + 8001c06: edd7 7a02 vldr s15, [r7, #8] + 8001c0a: eef5 7a40 vcmp.f32 s15, #0.0 + 8001c0e: eef1 fa10 vmrs APSR_nzcv, fpscr + 8001c12: d107 bne.n 8001c24 + 8001c14: edd7 7a01 vldr s15, [r7, #4] + 8001c18: eef5 7a40 vcmp.f32 s15, #0.0 + 8001c1c: eef1 fa10 vmrs APSR_nzcv, fpscr + 8001c20: f000 81c6 beq.w 8001fb0 // Normalise accelerometer measurement recipNorm = invSqrt(ax * ax + ay * ay + az * az); - 8001b9e: edd7 7a03 vldr s15, [r7, #12] - 8001ba2: ee27 7aa7 vmul.f32 s14, s15, s15 - 8001ba6: edd7 7a02 vldr s15, [r7, #8] - 8001baa: ee67 7aa7 vmul.f32 s15, s15, s15 - 8001bae: ee37 7a27 vadd.f32 s14, s14, s15 - 8001bb2: edd7 7a01 vldr s15, [r7, #4] - 8001bb6: ee67 7aa7 vmul.f32 s15, s15, s15 - 8001bba: ee77 7a27 vadd.f32 s15, s14, s15 - 8001bbe: eeb0 0a67 vmov.f32 s0, s15 - 8001bc2: f000 fa4b bl 800205c - 8001bc6: ed87 0a21 vstr s0, [r7, #132] @ 0x84 + 8001c24: edd7 7a03 vldr s15, [r7, #12] + 8001c28: ee27 7aa7 vmul.f32 s14, s15, s15 + 8001c2c: edd7 7a02 vldr s15, [r7, #8] + 8001c30: ee67 7aa7 vmul.f32 s15, s15, s15 + 8001c34: ee37 7a27 vadd.f32 s14, s14, s15 + 8001c38: edd7 7a01 vldr s15, [r7, #4] + 8001c3c: ee67 7aa7 vmul.f32 s15, s15, s15 + 8001c40: ee77 7a27 vadd.f32 s15, s14, s15 + 8001c44: eeb0 0a67 vmov.f32 s0, s15 + 8001c48: f000 fa8e bl 8002168 + 8001c4c: ed87 0a23 vstr s0, [r7, #140] @ 0x8c ax *= recipNorm; - 8001bca: ed97 7a03 vldr s14, [r7, #12] - 8001bce: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8001bd2: ee67 7a27 vmul.f32 s15, s14, s15 - 8001bd6: edc7 7a03 vstr s15, [r7, #12] + 8001c50: ed97 7a03 vldr s14, [r7, #12] + 8001c54: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8001c58: ee67 7a27 vmul.f32 s15, s14, s15 + 8001c5c: edc7 7a03 vstr s15, [r7, #12] ay *= recipNorm; - 8001bda: ed97 7a02 vldr s14, [r7, #8] - 8001bde: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8001be2: ee67 7a27 vmul.f32 s15, s14, s15 - 8001be6: edc7 7a02 vstr s15, [r7, #8] + 8001c60: ed97 7a02 vldr s14, [r7, #8] + 8001c64: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8001c68: ee67 7a27 vmul.f32 s15, s14, s15 + 8001c6c: edc7 7a02 vstr s15, [r7, #8] az *= recipNorm; - 8001bea: ed97 7a01 vldr s14, [r7, #4] - 8001bee: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8001bf2: ee67 7a27 vmul.f32 s15, s14, s15 - 8001bf6: edc7 7a01 vstr s15, [r7, #4] + 8001c70: ed97 7a01 vldr s14, [r7, #4] + 8001c74: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8001c78: ee67 7a27 vmul.f32 s15, s14, s15 + 8001c7c: edc7 7a01 vstr s15, [r7, #4] // Auxiliary variables to avoid repeated arithmetic _2q0 = 2.0f * q[0]; - 8001bfa: edd7 7a0c vldr s15, [r7, #48] @ 0x30 - 8001bfe: ee77 7aa7 vadd.f32 s15, s15, s15 - 8001c02: edc7 7a20 vstr s15, [r7, #128] @ 0x80 + 8001c80: edd7 7a0d vldr s15, [r7, #52] @ 0x34 + 8001c84: ee77 7aa7 vadd.f32 s15, s15, s15 + 8001c88: edc7 7a22 vstr s15, [r7, #136] @ 0x88 _2q1 = 2.0f * q[1]; - 8001c06: edd7 7a0d vldr s15, [r7, #52] @ 0x34 - 8001c0a: ee77 7aa7 vadd.f32 s15, s15, s15 - 8001c0e: edc7 7a1f vstr s15, [r7, #124] @ 0x7c + 8001c8c: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8001c90: ee77 7aa7 vadd.f32 s15, s15, s15 + 8001c94: edc7 7a21 vstr s15, [r7, #132] @ 0x84 _2q2 = 2.0f * q[2]; - 8001c12: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 8001c16: ee77 7aa7 vadd.f32 s15, s15, s15 - 8001c1a: edc7 7a1e vstr s15, [r7, #120] @ 0x78 + 8001c98: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8001c9c: ee77 7aa7 vadd.f32 s15, s15, s15 + 8001ca0: edc7 7a20 vstr s15, [r7, #128] @ 0x80 _2q3 = 2.0f * q[3]; - 8001c1e: edd7 7a0f vldr s15, [r7, #60] @ 0x3c - 8001c22: ee77 7aa7 vadd.f32 s15, s15, s15 - 8001c26: edc7 7a1d vstr s15, [r7, #116] @ 0x74 + 8001ca4: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8001ca8: ee77 7aa7 vadd.f32 s15, s15, s15 + 8001cac: edc7 7a1f vstr s15, [r7, #124] @ 0x7c _4q0 = 4.0f * q[0]; - 8001c2a: edd7 7a0c vldr s15, [r7, #48] @ 0x30 - 8001c2e: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 - 8001c32: ee67 7a87 vmul.f32 s15, s15, s14 - 8001c36: edc7 7a1c vstr s15, [r7, #112] @ 0x70 + 8001cb0: edd7 7a0d vldr s15, [r7, #52] @ 0x34 + 8001cb4: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 + 8001cb8: ee67 7a87 vmul.f32 s15, s15, s14 + 8001cbc: edc7 7a1e vstr s15, [r7, #120] @ 0x78 _4q1 = 4.0f * q[1]; - 8001c3a: edd7 7a0d vldr s15, [r7, #52] @ 0x34 - 8001c3e: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 - 8001c42: ee67 7a87 vmul.f32 s15, s15, s14 - 8001c46: edc7 7a1b vstr s15, [r7, #108] @ 0x6c + 8001cc0: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8001cc4: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 + 8001cc8: ee67 7a87 vmul.f32 s15, s15, s14 + 8001ccc: edc7 7a1d vstr s15, [r7, #116] @ 0x74 _4q2 = 4.0f * q[2]; - 8001c4a: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 8001c4e: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 - 8001c52: ee67 7a87 vmul.f32 s15, s15, s14 - 8001c56: edc7 7a1a vstr s15, [r7, #104] @ 0x68 + 8001cd0: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8001cd4: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 + 8001cd8: ee67 7a87 vmul.f32 s15, s15, s14 + 8001cdc: edc7 7a1c vstr s15, [r7, #112] @ 0x70 _8q1 = 8.0f * q[1]; - 8001c5a: edd7 7a0d vldr s15, [r7, #52] @ 0x34 - 8001c5e: eeb2 7a00 vmov.f32 s14, #32 @ 0x41000000 8.0 - 8001c62: ee67 7a87 vmul.f32 s15, s15, s14 - 8001c66: edc7 7a19 vstr s15, [r7, #100] @ 0x64 + 8001ce0: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8001ce4: eeb2 7a00 vmov.f32 s14, #32 @ 0x41000000 8.0 + 8001ce8: ee67 7a87 vmul.f32 s15, s15, s14 + 8001cec: edc7 7a1b vstr s15, [r7, #108] @ 0x6c _8q2 = 8.0f * q[2]; - 8001c6a: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 8001c6e: eeb2 7a00 vmov.f32 s14, #32 @ 0x41000000 8.0 - 8001c72: ee67 7a87 vmul.f32 s15, s15, s14 - 8001c76: edc7 7a18 vstr s15, [r7, #96] @ 0x60 + 8001cf0: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8001cf4: eeb2 7a00 vmov.f32 s14, #32 @ 0x41000000 8.0 + 8001cf8: ee67 7a87 vmul.f32 s15, s15, s14 + 8001cfc: edc7 7a1a vstr s15, [r7, #104] @ 0x68 q0q0 = q[0] * q[0]; - 8001c7a: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 8001c7e: edd7 7a0c vldr s15, [r7, #48] @ 0x30 - 8001c82: ee67 7a27 vmul.f32 s15, s14, s15 - 8001c86: edc7 7a17 vstr s15, [r7, #92] @ 0x5c + 8001d00: ed97 7a0d vldr s14, [r7, #52] @ 0x34 + 8001d04: edd7 7a0d vldr s15, [r7, #52] @ 0x34 + 8001d08: ee67 7a27 vmul.f32 s15, s14, s15 + 8001d0c: edc7 7a19 vstr s15, [r7, #100] @ 0x64 q1q1 = q[1] * q[1]; - 8001c8a: ed97 7a0d vldr s14, [r7, #52] @ 0x34 - 8001c8e: edd7 7a0d vldr s15, [r7, #52] @ 0x34 - 8001c92: ee67 7a27 vmul.f32 s15, s14, s15 - 8001c96: edc7 7a16 vstr s15, [r7, #88] @ 0x58 + 8001d10: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 8001d14: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8001d18: ee67 7a27 vmul.f32 s15, s14, s15 + 8001d1c: edc7 7a18 vstr s15, [r7, #96] @ 0x60 q2q2 = q[2] * q[2]; - 8001c9a: ed97 7a0e vldr s14, [r7, #56] @ 0x38 - 8001c9e: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 8001ca2: ee67 7a27 vmul.f32 s15, s14, s15 - 8001ca6: edc7 7a15 vstr s15, [r7, #84] @ 0x54 + 8001d20: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8001d24: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8001d28: ee67 7a27 vmul.f32 s15, s14, s15 + 8001d2c: edc7 7a17 vstr s15, [r7, #92] @ 0x5c q3q3 = q[3] * q[3]; - 8001caa: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 8001cae: edd7 7a0f vldr s15, [r7, #60] @ 0x3c - 8001cb2: ee67 7a27 vmul.f32 s15, s14, s15 - 8001cb6: edc7 7a14 vstr s15, [r7, #80] @ 0x50 + 8001d30: ed97 7a10 vldr s14, [r7, #64] @ 0x40 + 8001d34: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8001d38: ee67 7a27 vmul.f32 s15, s14, s15 + 8001d3c: edc7 7a16 vstr s15, [r7, #88] @ 0x58 // Gradient decent algorithm corrective step s0 = _4q0 * q2q2 + _2q2 * ax + _4q0 * q1q1 - _2q1 * ay; - 8001cba: ed97 7a1c vldr s14, [r7, #112] @ 0x70 - 8001cbe: edd7 7a15 vldr s15, [r7, #84] @ 0x54 - 8001cc2: ee27 7a27 vmul.f32 s14, s14, s15 - 8001cc6: edd7 6a1e vldr s13, [r7, #120] @ 0x78 - 8001cca: edd7 7a03 vldr s15, [r7, #12] - 8001cce: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001cd2: ee37 7a27 vadd.f32 s14, s14, s15 - 8001cd6: edd7 6a1c vldr s13, [r7, #112] @ 0x70 - 8001cda: edd7 7a16 vldr s15, [r7, #88] @ 0x58 - 8001cde: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001ce2: ee37 7a27 vadd.f32 s14, s14, s15 - 8001ce6: edd7 6a1f vldr s13, [r7, #124] @ 0x7c - 8001cea: edd7 7a02 vldr s15, [r7, #8] - 8001cee: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001cf2: ee77 7a67 vsub.f32 s15, s14, s15 - 8001cf6: edc7 7a13 vstr s15, [r7, #76] @ 0x4c + 8001d40: ed97 7a1e vldr s14, [r7, #120] @ 0x78 + 8001d44: edd7 7a17 vldr s15, [r7, #92] @ 0x5c + 8001d48: ee27 7a27 vmul.f32 s14, s14, s15 + 8001d4c: edd7 6a20 vldr s13, [r7, #128] @ 0x80 + 8001d50: edd7 7a03 vldr s15, [r7, #12] + 8001d54: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001d58: ee37 7a27 vadd.f32 s14, s14, s15 + 8001d5c: edd7 6a1e vldr s13, [r7, #120] @ 0x78 + 8001d60: edd7 7a18 vldr s15, [r7, #96] @ 0x60 + 8001d64: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001d68: ee37 7a27 vadd.f32 s14, s14, s15 + 8001d6c: edd7 6a21 vldr s13, [r7, #132] @ 0x84 + 8001d70: edd7 7a02 vldr s15, [r7, #8] + 8001d74: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001d78: ee77 7a67 vsub.f32 s15, s14, s15 + 8001d7c: edc7 7a15 vstr s15, [r7, #84] @ 0x54 s1 = _4q1 * q3q3 - _2q3 * ax + 4.0f * q0q0 * q[1] - _2q0 * ay - _4q1 + _8q1 * q1q1 + _8q1 * q2q2 + _4q1 * az; - 8001cfa: ed97 7a1b vldr s14, [r7, #108] @ 0x6c - 8001cfe: edd7 7a14 vldr s15, [r7, #80] @ 0x50 - 8001d02: ee27 7a27 vmul.f32 s14, s14, s15 - 8001d06: edd7 6a1d vldr s13, [r7, #116] @ 0x74 - 8001d0a: edd7 7a03 vldr s15, [r7, #12] - 8001d0e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001d12: ee37 7a67 vsub.f32 s14, s14, s15 - 8001d16: edd7 7a17 vldr s15, [r7, #92] @ 0x5c - 8001d1a: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 - 8001d1e: ee67 6aa6 vmul.f32 s13, s15, s13 - 8001d22: edd7 7a0d vldr s15, [r7, #52] @ 0x34 - 8001d26: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001d2a: ee37 7a27 vadd.f32 s14, s14, s15 - 8001d2e: edd7 6a20 vldr s13, [r7, #128] @ 0x80 - 8001d32: edd7 7a02 vldr s15, [r7, #8] - 8001d36: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001d3a: ee37 7a67 vsub.f32 s14, s14, s15 - 8001d3e: edd7 7a1b vldr s15, [r7, #108] @ 0x6c - 8001d42: ee37 7a67 vsub.f32 s14, s14, s15 - 8001d46: edd7 6a19 vldr s13, [r7, #100] @ 0x64 - 8001d4a: edd7 7a16 vldr s15, [r7, #88] @ 0x58 - 8001d4e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001d52: ee37 7a27 vadd.f32 s14, s14, s15 - 8001d56: edd7 6a19 vldr s13, [r7, #100] @ 0x64 - 8001d5a: edd7 7a15 vldr s15, [r7, #84] @ 0x54 - 8001d5e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001d62: ee37 7a27 vadd.f32 s14, s14, s15 - 8001d66: edd7 6a1b vldr s13, [r7, #108] @ 0x6c - 8001d6a: edd7 7a01 vldr s15, [r7, #4] - 8001d6e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001d72: ee77 7a27 vadd.f32 s15, s14, s15 - 8001d76: edc7 7a12 vstr s15, [r7, #72] @ 0x48 + 8001d80: ed97 7a1d vldr s14, [r7, #116] @ 0x74 + 8001d84: edd7 7a16 vldr s15, [r7, #88] @ 0x58 + 8001d88: ee27 7a27 vmul.f32 s14, s14, s15 + 8001d8c: edd7 6a1f vldr s13, [r7, #124] @ 0x7c + 8001d90: edd7 7a03 vldr s15, [r7, #12] + 8001d94: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001d98: ee37 7a67 vsub.f32 s14, s14, s15 + 8001d9c: edd7 7a19 vldr s15, [r7, #100] @ 0x64 + 8001da0: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 + 8001da4: ee67 6aa6 vmul.f32 s13, s15, s13 + 8001da8: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8001dac: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001db0: ee37 7a27 vadd.f32 s14, s14, s15 + 8001db4: edd7 6a22 vldr s13, [r7, #136] @ 0x88 + 8001db8: edd7 7a02 vldr s15, [r7, #8] + 8001dbc: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001dc0: ee37 7a67 vsub.f32 s14, s14, s15 + 8001dc4: edd7 7a1d vldr s15, [r7, #116] @ 0x74 + 8001dc8: ee37 7a67 vsub.f32 s14, s14, s15 + 8001dcc: edd7 6a1b vldr s13, [r7, #108] @ 0x6c + 8001dd0: edd7 7a18 vldr s15, [r7, #96] @ 0x60 + 8001dd4: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001dd8: ee37 7a27 vadd.f32 s14, s14, s15 + 8001ddc: edd7 6a1b vldr s13, [r7, #108] @ 0x6c + 8001de0: edd7 7a17 vldr s15, [r7, #92] @ 0x5c + 8001de4: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001de8: ee37 7a27 vadd.f32 s14, s14, s15 + 8001dec: edd7 6a1d vldr s13, [r7, #116] @ 0x74 + 8001df0: edd7 7a01 vldr s15, [r7, #4] + 8001df4: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001df8: ee77 7a27 vadd.f32 s15, s14, s15 + 8001dfc: edc7 7a14 vstr s15, [r7, #80] @ 0x50 s2 = 4.0f * q0q0 * q[2] + _2q0 * ax + _4q2 * q3q3 - _2q3 * ay - _4q2 + _8q2 * q1q1 + _8q2 * q2q2 + _4q2 * az; - 8001d7a: edd7 7a17 vldr s15, [r7, #92] @ 0x5c - 8001d7e: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 - 8001d82: ee27 7a87 vmul.f32 s14, s15, s14 - 8001d86: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 8001d8a: ee27 7a27 vmul.f32 s14, s14, s15 - 8001d8e: edd7 6a20 vldr s13, [r7, #128] @ 0x80 - 8001d92: edd7 7a03 vldr s15, [r7, #12] - 8001d96: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001d9a: ee37 7a27 vadd.f32 s14, s14, s15 - 8001d9e: edd7 6a1a vldr s13, [r7, #104] @ 0x68 - 8001da2: edd7 7a14 vldr s15, [r7, #80] @ 0x50 - 8001da6: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001daa: ee37 7a27 vadd.f32 s14, s14, s15 - 8001dae: edd7 6a1d vldr s13, [r7, #116] @ 0x74 - 8001db2: edd7 7a02 vldr s15, [r7, #8] - 8001db6: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001dba: ee37 7a67 vsub.f32 s14, s14, s15 - 8001dbe: edd7 7a1a vldr s15, [r7, #104] @ 0x68 - 8001dc2: ee37 7a67 vsub.f32 s14, s14, s15 - 8001dc6: edd7 6a18 vldr s13, [r7, #96] @ 0x60 - 8001dca: edd7 7a16 vldr s15, [r7, #88] @ 0x58 - 8001dce: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001dd2: ee37 7a27 vadd.f32 s14, s14, s15 - 8001dd6: edd7 6a18 vldr s13, [r7, #96] @ 0x60 - 8001dda: edd7 7a15 vldr s15, [r7, #84] @ 0x54 - 8001dde: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001de2: ee37 7a27 vadd.f32 s14, s14, s15 - 8001de6: edd7 6a1a vldr s13, [r7, #104] @ 0x68 - 8001dea: edd7 7a01 vldr s15, [r7, #4] - 8001dee: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001df2: ee77 7a27 vadd.f32 s15, s14, s15 - 8001df6: edc7 7a11 vstr s15, [r7, #68] @ 0x44 + 8001e00: edd7 7a19 vldr s15, [r7, #100] @ 0x64 + 8001e04: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 + 8001e08: ee27 7a87 vmul.f32 s14, s15, s14 + 8001e0c: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8001e10: ee27 7a27 vmul.f32 s14, s14, s15 + 8001e14: edd7 6a22 vldr s13, [r7, #136] @ 0x88 + 8001e18: edd7 7a03 vldr s15, [r7, #12] + 8001e1c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001e20: ee37 7a27 vadd.f32 s14, s14, s15 + 8001e24: edd7 6a1c vldr s13, [r7, #112] @ 0x70 + 8001e28: edd7 7a16 vldr s15, [r7, #88] @ 0x58 + 8001e2c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001e30: ee37 7a27 vadd.f32 s14, s14, s15 + 8001e34: edd7 6a1f vldr s13, [r7, #124] @ 0x7c + 8001e38: edd7 7a02 vldr s15, [r7, #8] + 8001e3c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001e40: ee37 7a67 vsub.f32 s14, s14, s15 + 8001e44: edd7 7a1c vldr s15, [r7, #112] @ 0x70 + 8001e48: ee37 7a67 vsub.f32 s14, s14, s15 + 8001e4c: edd7 6a1a vldr s13, [r7, #104] @ 0x68 + 8001e50: edd7 7a18 vldr s15, [r7, #96] @ 0x60 + 8001e54: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001e58: ee37 7a27 vadd.f32 s14, s14, s15 + 8001e5c: edd7 6a1a vldr s13, [r7, #104] @ 0x68 + 8001e60: edd7 7a17 vldr s15, [r7, #92] @ 0x5c + 8001e64: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001e68: ee37 7a27 vadd.f32 s14, s14, s15 + 8001e6c: edd7 6a1c vldr s13, [r7, #112] @ 0x70 + 8001e70: edd7 7a01 vldr s15, [r7, #4] + 8001e74: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001e78: ee77 7a27 vadd.f32 s15, s14, s15 + 8001e7c: edc7 7a13 vstr s15, [r7, #76] @ 0x4c s3 = 4.0f * q1q1 * q[3] - _2q1 * ax + 4.0f * q2q2 * q[3] - _2q2 * ay; - 8001dfa: edd7 7a16 vldr s15, [r7, #88] @ 0x58 - 8001dfe: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 - 8001e02: ee27 7a87 vmul.f32 s14, s15, s14 - 8001e06: edd7 7a0f vldr s15, [r7, #60] @ 0x3c - 8001e0a: ee27 7a27 vmul.f32 s14, s14, s15 - 8001e0e: edd7 6a1f vldr s13, [r7, #124] @ 0x7c - 8001e12: edd7 7a03 vldr s15, [r7, #12] - 8001e16: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001e1a: ee37 7a67 vsub.f32 s14, s14, s15 - 8001e1e: edd7 7a15 vldr s15, [r7, #84] @ 0x54 - 8001e22: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 - 8001e26: ee67 6aa6 vmul.f32 s13, s15, s13 - 8001e2a: edd7 7a0f vldr s15, [r7, #60] @ 0x3c - 8001e2e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001e32: ee37 7a27 vadd.f32 s14, s14, s15 - 8001e36: edd7 6a1e vldr s13, [r7, #120] @ 0x78 - 8001e3a: edd7 7a02 vldr s15, [r7, #8] - 8001e3e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001e42: ee77 7a67 vsub.f32 s15, s14, s15 - 8001e46: edc7 7a10 vstr s15, [r7, #64] @ 0x40 + 8001e80: edd7 7a18 vldr s15, [r7, #96] @ 0x60 + 8001e84: eeb1 7a00 vmov.f32 s14, #16 @ 0x40800000 4.0 + 8001e88: ee27 7a87 vmul.f32 s14, s15, s14 + 8001e8c: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8001e90: ee27 7a27 vmul.f32 s14, s14, s15 + 8001e94: edd7 6a21 vldr s13, [r7, #132] @ 0x84 + 8001e98: edd7 7a03 vldr s15, [r7, #12] + 8001e9c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001ea0: ee37 7a67 vsub.f32 s14, s14, s15 + 8001ea4: edd7 7a17 vldr s15, [r7, #92] @ 0x5c + 8001ea8: eef1 6a00 vmov.f32 s13, #16 @ 0x40800000 4.0 + 8001eac: ee67 6aa6 vmul.f32 s13, s15, s13 + 8001eb0: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 8001eb4: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001eb8: ee37 7a27 vadd.f32 s14, s14, s15 + 8001ebc: edd7 6a20 vldr s13, [r7, #128] @ 0x80 + 8001ec0: edd7 7a02 vldr s15, [r7, #8] + 8001ec4: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001ec8: ee77 7a67 vsub.f32 s15, s14, s15 + 8001ecc: edc7 7a12 vstr s15, [r7, #72] @ 0x48 recipNorm = invSqrt(s0 * s0 + s1 * s1 + s2 * s2 + s3 * s3); // normalise step magnitude - 8001e4a: edd7 7a13 vldr s15, [r7, #76] @ 0x4c - 8001e4e: ee27 7aa7 vmul.f32 s14, s15, s15 - 8001e52: edd7 7a12 vldr s15, [r7, #72] @ 0x48 - 8001e56: ee67 7aa7 vmul.f32 s15, s15, s15 - 8001e5a: ee37 7a27 vadd.f32 s14, s14, s15 - 8001e5e: edd7 7a11 vldr s15, [r7, #68] @ 0x44 - 8001e62: ee67 7aa7 vmul.f32 s15, s15, s15 - 8001e66: ee37 7a27 vadd.f32 s14, s14, s15 - 8001e6a: edd7 7a10 vldr s15, [r7, #64] @ 0x40 - 8001e6e: ee67 7aa7 vmul.f32 s15, s15, s15 - 8001e72: ee77 7a27 vadd.f32 s15, s14, s15 - 8001e76: eeb0 0a67 vmov.f32 s0, s15 - 8001e7a: f000 f8ef bl 800205c - 8001e7e: ed87 0a21 vstr s0, [r7, #132] @ 0x84 + 8001ed0: edd7 7a15 vldr s15, [r7, #84] @ 0x54 + 8001ed4: ee27 7aa7 vmul.f32 s14, s15, s15 + 8001ed8: edd7 7a14 vldr s15, [r7, #80] @ 0x50 + 8001edc: ee67 7aa7 vmul.f32 s15, s15, s15 + 8001ee0: ee37 7a27 vadd.f32 s14, s14, s15 + 8001ee4: edd7 7a13 vldr s15, [r7, #76] @ 0x4c + 8001ee8: ee67 7aa7 vmul.f32 s15, s15, s15 + 8001eec: ee37 7a27 vadd.f32 s14, s14, s15 + 8001ef0: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 8001ef4: ee67 7aa7 vmul.f32 s15, s15, s15 + 8001ef8: ee77 7a27 vadd.f32 s15, s14, s15 + 8001efc: eeb0 0a67 vmov.f32 s0, s15 + 8001f00: f000 f932 bl 8002168 + 8001f04: ed87 0a23 vstr s0, [r7, #140] @ 0x8c s0 *= recipNorm; - 8001e82: ed97 7a13 vldr s14, [r7, #76] @ 0x4c - 8001e86: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8001e8a: ee67 7a27 vmul.f32 s15, s14, s15 - 8001e8e: edc7 7a13 vstr s15, [r7, #76] @ 0x4c + 8001f08: ed97 7a15 vldr s14, [r7, #84] @ 0x54 + 8001f0c: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8001f10: ee67 7a27 vmul.f32 s15, s14, s15 + 8001f14: edc7 7a15 vstr s15, [r7, #84] @ 0x54 s1 *= recipNorm; - 8001e92: ed97 7a12 vldr s14, [r7, #72] @ 0x48 - 8001e96: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8001e9a: ee67 7a27 vmul.f32 s15, s14, s15 - 8001e9e: edc7 7a12 vstr s15, [r7, #72] @ 0x48 + 8001f18: ed97 7a14 vldr s14, [r7, #80] @ 0x50 + 8001f1c: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8001f20: ee67 7a27 vmul.f32 s15, s14, s15 + 8001f24: edc7 7a14 vstr s15, [r7, #80] @ 0x50 s2 *= recipNorm; - 8001ea2: ed97 7a11 vldr s14, [r7, #68] @ 0x44 - 8001ea6: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8001eaa: ee67 7a27 vmul.f32 s15, s14, s15 - 8001eae: edc7 7a11 vstr s15, [r7, #68] @ 0x44 + 8001f28: ed97 7a13 vldr s14, [r7, #76] @ 0x4c + 8001f2c: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8001f30: ee67 7a27 vmul.f32 s15, s14, s15 + 8001f34: edc7 7a13 vstr s15, [r7, #76] @ 0x4c s3 *= recipNorm; - 8001eb2: ed97 7a10 vldr s14, [r7, #64] @ 0x40 - 8001eb6: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8001eba: ee67 7a27 vmul.f32 s15, s14, s15 - 8001ebe: edc7 7a10 vstr s15, [r7, #64] @ 0x40 + 8001f38: ed97 7a12 vldr s14, [r7, #72] @ 0x48 + 8001f3c: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8001f40: ee67 7a27 vmul.f32 s15, s14, s15 + 8001f44: edc7 7a12 vstr s15, [r7, #72] @ 0x48 // Apply feedback step qDot[0] -= filter->beta * s0; - 8001ec2: ed97 7a08 vldr s14, [r7, #32] - 8001ec6: 69fb ldr r3, [r7, #28] - 8001ec8: edd3 6a04 vldr s13, [r3, #16] - 8001ecc: edd7 7a13 vldr s15, [r7, #76] @ 0x4c - 8001ed0: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001ed4: ee77 7a67 vsub.f32 s15, s14, s15 - 8001ed8: edc7 7a08 vstr s15, [r7, #32] + 8001f48: ed97 7a09 vldr s14, [r7, #36] @ 0x24 + 8001f4c: 69fb ldr r3, [r7, #28] + 8001f4e: edd3 6a04 vldr s13, [r3, #16] + 8001f52: edd7 7a15 vldr s15, [r7, #84] @ 0x54 + 8001f56: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001f5a: ee77 7a67 vsub.f32 s15, s14, s15 + 8001f5e: edc7 7a09 vstr s15, [r7, #36] @ 0x24 qDot[1] -= filter->beta * s1; - 8001edc: ed97 7a09 vldr s14, [r7, #36] @ 0x24 - 8001ee0: 69fb ldr r3, [r7, #28] - 8001ee2: edd3 6a04 vldr s13, [r3, #16] - 8001ee6: edd7 7a12 vldr s15, [r7, #72] @ 0x48 - 8001eea: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001eee: ee77 7a67 vsub.f32 s15, s14, s15 - 8001ef2: edc7 7a09 vstr s15, [r7, #36] @ 0x24 + 8001f62: ed97 7a0a vldr s14, [r7, #40] @ 0x28 + 8001f66: 69fb ldr r3, [r7, #28] + 8001f68: edd3 6a04 vldr s13, [r3, #16] + 8001f6c: edd7 7a14 vldr s15, [r7, #80] @ 0x50 + 8001f70: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001f74: ee77 7a67 vsub.f32 s15, s14, s15 + 8001f78: edc7 7a0a vstr s15, [r7, #40] @ 0x28 qDot[2] -= filter->beta * s2; - 8001ef6: ed97 7a0a vldr s14, [r7, #40] @ 0x28 - 8001efa: 69fb ldr r3, [r7, #28] - 8001efc: edd3 6a04 vldr s13, [r3, #16] - 8001f00: edd7 7a11 vldr s15, [r7, #68] @ 0x44 - 8001f04: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001f08: ee77 7a67 vsub.f32 s15, s14, s15 - 8001f0c: edc7 7a0a vstr s15, [r7, #40] @ 0x28 + 8001f7c: ed97 7a0b vldr s14, [r7, #44] @ 0x2c + 8001f80: 69fb ldr r3, [r7, #28] + 8001f82: edd3 6a04 vldr s13, [r3, #16] + 8001f86: edd7 7a13 vldr s15, [r7, #76] @ 0x4c + 8001f8a: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001f8e: ee77 7a67 vsub.f32 s15, s14, s15 + 8001f92: edc7 7a0b vstr s15, [r7, #44] @ 0x2c qDot[3] -= filter->beta * s3; - 8001f10: ed97 7a0b vldr s14, [r7, #44] @ 0x2c - 8001f14: 69fb ldr r3, [r7, #28] - 8001f16: edd3 6a04 vldr s13, [r3, #16] - 8001f1a: edd7 7a10 vldr s15, [r7, #64] @ 0x40 - 8001f1e: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001f22: ee77 7a67 vsub.f32 s15, s14, s15 - 8001f26: edc7 7a0b vstr s15, [r7, #44] @ 0x2c + 8001f96: ed97 7a0c vldr s14, [r7, #48] @ 0x30 + 8001f9a: 69fb ldr r3, [r7, #28] + 8001f9c: edd3 6a04 vldr s13, [r3, #16] + 8001fa0: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 8001fa4: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001fa8: ee77 7a67 vsub.f32 s15, s14, s15 + 8001fac: edc7 7a0c vstr s15, [r7, #48] @ 0x30 } // Integrate rate of change of quaternion to yield quaternion q[0] += qDot[0] * (1.0f / filter->sample_freq); - 8001f2a: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 8001f2e: edd7 6a08 vldr s13, [r7, #32] - 8001f32: 69fb ldr r3, [r7, #28] - 8001f34: ed93 6a05 vldr s12, [r3, #20] - 8001f38: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 - 8001f3c: eec5 7a86 vdiv.f32 s15, s11, s12 - 8001f40: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001f44: ee77 7a27 vadd.f32 s15, s14, s15 - 8001f48: edc7 7a0c vstr s15, [r7, #48] @ 0x30 + 8001fb0: ed97 7a0d vldr s14, [r7, #52] @ 0x34 + 8001fb4: edd7 6a09 vldr s13, [r7, #36] @ 0x24 + 8001fb8: 69fb ldr r3, [r7, #28] + 8001fba: ed93 6a05 vldr s12, [r3, #20] + 8001fbe: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 + 8001fc2: eec5 7a86 vdiv.f32 s15, s11, s12 + 8001fc6: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001fca: ee77 7a27 vadd.f32 s15, s14, s15 + 8001fce: edc7 7a0d vstr s15, [r7, #52] @ 0x34 q[1] += qDot[1] * (1.0f / filter->sample_freq); - 8001f4c: ed97 7a0d vldr s14, [r7, #52] @ 0x34 - 8001f50: edd7 6a09 vldr s13, [r7, #36] @ 0x24 - 8001f54: 69fb ldr r3, [r7, #28] - 8001f56: ed93 6a05 vldr s12, [r3, #20] - 8001f5a: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 - 8001f5e: eec5 7a86 vdiv.f32 s15, s11, s12 - 8001f62: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001f66: ee77 7a27 vadd.f32 s15, s14, s15 - 8001f6a: edc7 7a0d vstr s15, [r7, #52] @ 0x34 + 8001fd2: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 8001fd6: edd7 6a0a vldr s13, [r7, #40] @ 0x28 + 8001fda: 69fb ldr r3, [r7, #28] + 8001fdc: ed93 6a05 vldr s12, [r3, #20] + 8001fe0: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 + 8001fe4: eec5 7a86 vdiv.f32 s15, s11, s12 + 8001fe8: ee66 7aa7 vmul.f32 s15, s13, s15 + 8001fec: ee77 7a27 vadd.f32 s15, s14, s15 + 8001ff0: edc7 7a0e vstr s15, [r7, #56] @ 0x38 q[2] += qDot[2] * (1.0f / filter->sample_freq); - 8001f6e: ed97 7a0e vldr s14, [r7, #56] @ 0x38 - 8001f72: edd7 6a0a vldr s13, [r7, #40] @ 0x28 - 8001f76: 69fb ldr r3, [r7, #28] - 8001f78: ed93 6a05 vldr s12, [r3, #20] - 8001f7c: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 - 8001f80: eec5 7a86 vdiv.f32 s15, s11, s12 - 8001f84: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001f88: ee77 7a27 vadd.f32 s15, s14, s15 - 8001f8c: edc7 7a0e vstr s15, [r7, #56] @ 0x38 + 8001ff4: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8001ff8: edd7 6a0b vldr s13, [r7, #44] @ 0x2c + 8001ffc: 69fb ldr r3, [r7, #28] + 8001ffe: ed93 6a05 vldr s12, [r3, #20] + 8002002: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 + 8002006: eec5 7a86 vdiv.f32 s15, s11, s12 + 800200a: ee66 7aa7 vmul.f32 s15, s13, s15 + 800200e: ee77 7a27 vadd.f32 s15, s14, s15 + 8002012: edc7 7a0f vstr s15, [r7, #60] @ 0x3c q[3] += qDot[3] * (1.0f / filter->sample_freq); - 8001f90: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 8001f94: edd7 6a0b vldr s13, [r7, #44] @ 0x2c - 8001f98: 69fb ldr r3, [r7, #28] - 8001f9a: ed93 6a05 vldr s12, [r3, #20] - 8001f9e: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 - 8001fa2: eec5 7a86 vdiv.f32 s15, s11, s12 - 8001fa6: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001faa: ee77 7a27 vadd.f32 s15, s14, s15 - 8001fae: edc7 7a0f vstr s15, [r7, #60] @ 0x3c + 8002016: ed97 7a10 vldr s14, [r7, #64] @ 0x40 + 800201a: edd7 6a0c vldr s13, [r7, #48] @ 0x30 + 800201e: 69fb ldr r3, [r7, #28] + 8002020: ed93 6a05 vldr s12, [r3, #20] + 8002024: eef7 5a00 vmov.f32 s11, #112 @ 0x3f800000 1.0 + 8002028: eec5 7a86 vdiv.f32 s15, s11, s12 + 800202c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8002030: ee77 7a27 vadd.f32 s15, s14, s15 + 8002034: edc7 7a10 vstr s15, [r7, #64] @ 0x40 // Normalise quaternion recipNorm = invSqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3]); - 8001fb2: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 8001fb6: edd7 7a0c vldr s15, [r7, #48] @ 0x30 - 8001fba: ee27 7a27 vmul.f32 s14, s14, s15 - 8001fbe: edd7 6a0d vldr s13, [r7, #52] @ 0x34 - 8001fc2: edd7 7a0d vldr s15, [r7, #52] @ 0x34 - 8001fc6: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001fca: ee37 7a27 vadd.f32 s14, s14, s15 - 8001fce: edd7 6a0e vldr s13, [r7, #56] @ 0x38 - 8001fd2: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 8001fd6: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001fda: ee37 7a27 vadd.f32 s14, s14, s15 - 8001fde: edd7 6a0f vldr s13, [r7, #60] @ 0x3c - 8001fe2: edd7 7a0f vldr s15, [r7, #60] @ 0x3c - 8001fe6: ee66 7aa7 vmul.f32 s15, s13, s15 - 8001fea: ee77 7a27 vadd.f32 s15, s14, s15 - 8001fee: eeb0 0a67 vmov.f32 s0, s15 - 8001ff2: f000 f833 bl 800205c - 8001ff6: ed87 0a21 vstr s0, [r7, #132] @ 0x84 + 8002038: ed97 7a0d vldr s14, [r7, #52] @ 0x34 + 800203c: edd7 7a0d vldr s15, [r7, #52] @ 0x34 + 8002040: ee27 7a27 vmul.f32 s14, s14, s15 + 8002044: edd7 6a0e vldr s13, [r7, #56] @ 0x38 + 8002048: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 800204c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8002050: ee37 7a27 vadd.f32 s14, s14, s15 + 8002054: edd7 6a0f vldr s13, [r7, #60] @ 0x3c + 8002058: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 800205c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8002060: ee37 7a27 vadd.f32 s14, s14, s15 + 8002064: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8002068: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 800206c: ee66 7aa7 vmul.f32 s15, s13, s15 + 8002070: ee77 7a27 vadd.f32 s15, s14, s15 + 8002074: eeb0 0a67 vmov.f32 s0, s15 + 8002078: f000 f876 bl 8002168 + 800207c: ed87 0a23 vstr s0, [r7, #140] @ 0x8c q[0] *= recipNorm; - 8001ffa: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 8001ffe: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8002002: ee67 7a27 vmul.f32 s15, s14, s15 - 8002006: edc7 7a0c vstr s15, [r7, #48] @ 0x30 + 8002080: ed97 7a0d vldr s14, [r7, #52] @ 0x34 + 8002084: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8002088: ee67 7a27 vmul.f32 s15, s14, s15 + 800208c: edc7 7a0d vstr s15, [r7, #52] @ 0x34 q[1] *= recipNorm; - 800200a: ed97 7a0d vldr s14, [r7, #52] @ 0x34 - 800200e: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8002012: ee67 7a27 vmul.f32 s15, s14, s15 - 8002016: edc7 7a0d vstr s15, [r7, #52] @ 0x34 + 8002090: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 8002094: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 8002098: ee67 7a27 vmul.f32 s15, s14, s15 + 800209c: edc7 7a0e vstr s15, [r7, #56] @ 0x38 q[2] *= recipNorm; - 800201a: ed97 7a0e vldr s14, [r7, #56] @ 0x38 - 800201e: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8002022: ee67 7a27 vmul.f32 s15, s14, s15 - 8002026: edc7 7a0e vstr s15, [r7, #56] @ 0x38 + 80020a0: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 80020a4: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 80020a8: ee67 7a27 vmul.f32 s15, s14, s15 + 80020ac: edc7 7a0f vstr s15, [r7, #60] @ 0x3c q[3] *= recipNorm; - 800202a: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 800202e: edd7 7a21 vldr s15, [r7, #132] @ 0x84 - 8002032: ee67 7a27 vmul.f32 s15, s14, s15 - 8002036: edc7 7a0f vstr s15, [r7, #60] @ 0x3c + 80020b0: ed97 7a10 vldr s14, [r7, #64] @ 0x40 + 80020b4: edd7 7a23 vldr s15, [r7, #140] @ 0x8c + 80020b8: ee67 7a27 vmul.f32 s15, s14, s15 + 80020bc: edc7 7a10 vstr s15, [r7, #64] @ 0x40 + + // enforce hemisphere continuity (because of the positive and negative doubling of output) + float dot = filter->q[0] * q[0] + filter->q[1] * q[1] + filter->q[2] * q[2] + filter->q[3] * q[3]; + 80020c0: 69fb ldr r3, [r7, #28] + 80020c2: ed93 7a00 vldr s14, [r3] + 80020c6: edd7 7a0d vldr s15, [r7, #52] @ 0x34 + 80020ca: ee27 7a27 vmul.f32 s14, s14, s15 + 80020ce: 69fb ldr r3, [r7, #28] + 80020d0: edd3 6a01 vldr s13, [r3, #4] + 80020d4: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 80020d8: ee66 7aa7 vmul.f32 s15, s13, s15 + 80020dc: ee37 7a27 vadd.f32 s14, s14, s15 + 80020e0: 69fb ldr r3, [r7, #28] + 80020e2: edd3 6a02 vldr s13, [r3, #8] + 80020e6: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 80020ea: ee66 7aa7 vmul.f32 s15, s13, s15 + 80020ee: ee37 7a27 vadd.f32 s14, s14, s15 + 80020f2: 69fb ldr r3, [r7, #28] + 80020f4: edd3 6a03 vldr s13, [r3, #12] + 80020f8: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 80020fc: ee66 7aa7 vmul.f32 s15, s13, s15 + 8002100: ee77 7a27 vadd.f32 s15, s14, s15 + 8002104: edc7 7a11 vstr s15, [r7, #68] @ 0x44 + if (dot < 0.0f){ + 8002108: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 800210c: eef5 7ac0 vcmpe.f32 s15, #0.0 + 8002110: eef1 fa10 vmrs APSR_nzcv, fpscr + 8002114: d517 bpl.n 8002146 + q[0] = -q[0]; + 8002116: edd7 7a0d vldr s15, [r7, #52] @ 0x34 + 800211a: eef1 7a67 vneg.f32 s15, s15 + 800211e: edc7 7a0d vstr s15, [r7, #52] @ 0x34 + q[1] = -q[1]; + 8002122: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8002126: eef1 7a67 vneg.f32 s15, s15 + 800212a: edc7 7a0e vstr s15, [r7, #56] @ 0x38 + q[2] = -q[2]; + 800212e: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8002132: eef1 7a67 vneg.f32 s15, s15 + 8002136: edc7 7a0f vstr s15, [r7, #60] @ 0x3c + q[3] = -q[3]; + 800213a: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 800213e: eef1 7a67 vneg.f32 s15, s15 + 8002142: edc7 7a10 vstr s15, [r7, #64] @ 0x40 + } // Update filter state filter->q[0] = q[0]; - 800203a: 6b3a ldr r2, [r7, #48] @ 0x30 - 800203c: 69fb ldr r3, [r7, #28] - 800203e: 601a str r2, [r3, #0] + 8002146: 6b7a ldr r2, [r7, #52] @ 0x34 + 8002148: 69fb ldr r3, [r7, #28] + 800214a: 601a str r2, [r3, #0] filter->q[1] = q[1]; - 8002040: 6b7a ldr r2, [r7, #52] @ 0x34 - 8002042: 69fb ldr r3, [r7, #28] - 8002044: 605a str r2, [r3, #4] + 800214c: 6bba ldr r2, [r7, #56] @ 0x38 + 800214e: 69fb ldr r3, [r7, #28] + 8002150: 605a str r2, [r3, #4] filter->q[2] = q[2]; - 8002046: 6bba ldr r2, [r7, #56] @ 0x38 - 8002048: 69fb ldr r3, [r7, #28] - 800204a: 609a str r2, [r3, #8] + 8002152: 6bfa ldr r2, [r7, #60] @ 0x3c + 8002154: 69fb ldr r3, [r7, #28] + 8002156: 609a str r2, [r3, #8] filter->q[3] = q[3]; - 800204c: 6bfa ldr r2, [r7, #60] @ 0x3c - 800204e: 69fb ldr r3, [r7, #28] - 8002050: 60da str r2, [r3, #12] + 8002158: 6c3a ldr r2, [r7, #64] @ 0x40 + 800215a: 69fb ldr r3, [r7, #28] + 800215c: 60da str r2, [r3, #12] } - 8002052: bf00 nop - 8002054: 3788 adds r7, #136 @ 0x88 - 8002056: 46bd mov sp, r7 - 8002058: bd80 pop {r7, pc} + 800215e: bf00 nop + 8002160: 3790 adds r7, #144 @ 0x90 + 8002162: 46bd mov sp, r7 + 8002164: bd80 pop {r7, pc} ... -0800205c : +08002168 : //--------------------------------------------------------------------------------------------------- // Fast inverse square-root // See: http://en.wikipedia.org/wiki/Fast_inverse_square_root float invSqrt(float x) { - 800205c: b480 push {r7} - 800205e: b087 sub sp, #28 - 8002060: af00 add r7, sp, #0 - 8002062: ed87 0a01 vstr s0, [r7, #4] + 8002168: b480 push {r7} + 800216a: b087 sub sp, #28 + 800216c: af00 add r7, sp, #0 + 800216e: ed87 0a01 vstr s0, [r7, #4] float halfx = 0.5f * x; - 8002066: edd7 7a01 vldr s15, [r7, #4] - 800206a: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 - 800206e: ee67 7a87 vmul.f32 s15, s15, s14 - 8002072: edc7 7a05 vstr s15, [r7, #20] + 8002172: edd7 7a01 vldr s15, [r7, #4] + 8002176: eeb6 7a00 vmov.f32 s14, #96 @ 0x3f000000 0.5 + 800217a: ee67 7a87 vmul.f32 s15, s15, s14 + 800217e: edc7 7a05 vstr s15, [r7, #20] float y = x; - 8002076: 687b ldr r3, [r7, #4] - 8002078: 613b str r3, [r7, #16] + 8002182: 687b ldr r3, [r7, #4] + 8002184: 613b str r3, [r7, #16] long i = *(long*)&y; - 800207a: f107 0310 add.w r3, r7, #16 - 800207e: 681b ldr r3, [r3, #0] - 8002080: 60fb str r3, [r7, #12] + 8002186: f107 0310 add.w r3, r7, #16 + 800218a: 681b ldr r3, [r3, #0] + 800218c: 60fb str r3, [r7, #12] i = 0x5f3759df - (i>>1); - 8002082: 68fb ldr r3, [r7, #12] - 8002084: 105a asrs r2, r3, #1 - 8002086: 4b12 ldr r3, [pc, #72] @ (80020d0 ) - 8002088: 1a9b subs r3, r3, r2 - 800208a: 60fb str r3, [r7, #12] + 800218e: 68fb ldr r3, [r7, #12] + 8002190: 105a asrs r2, r3, #1 + 8002192: 4b12 ldr r3, [pc, #72] @ (80021dc ) + 8002194: 1a9b subs r3, r3, r2 + 8002196: 60fb str r3, [r7, #12] y = *(float*)&i; - 800208c: f107 030c add.w r3, r7, #12 - 8002090: 681b ldr r3, [r3, #0] - 8002092: 613b str r3, [r7, #16] + 8002198: f107 030c add.w r3, r7, #12 + 800219c: 681b ldr r3, [r3, #0] + 800219e: 613b str r3, [r7, #16] y = y * (1.5f - (halfx * y * y)); - 8002094: ed97 7a04 vldr s14, [r7, #16] - 8002098: edd7 7a05 vldr s15, [r7, #20] - 800209c: ee27 7a27 vmul.f32 s14, s14, s15 - 80020a0: edd7 7a04 vldr s15, [r7, #16] - 80020a4: ee67 7a27 vmul.f32 s15, s14, s15 - 80020a8: eeb7 7a08 vmov.f32 s14, #120 @ 0x3fc00000 1.5 - 80020ac: ee37 7a67 vsub.f32 s14, s14, s15 - 80020b0: edd7 7a04 vldr s15, [r7, #16] - 80020b4: ee67 7a27 vmul.f32 s15, s14, s15 - 80020b8: edc7 7a04 vstr s15, [r7, #16] + 80021a0: ed97 7a04 vldr s14, [r7, #16] + 80021a4: edd7 7a05 vldr s15, [r7, #20] + 80021a8: ee27 7a27 vmul.f32 s14, s14, s15 + 80021ac: edd7 7a04 vldr s15, [r7, #16] + 80021b0: ee67 7a27 vmul.f32 s15, s14, s15 + 80021b4: eeb7 7a08 vmov.f32 s14, #120 @ 0x3fc00000 1.5 + 80021b8: ee37 7a67 vsub.f32 s14, s14, s15 + 80021bc: edd7 7a04 vldr s15, [r7, #16] + 80021c0: ee67 7a27 vmul.f32 s15, s14, s15 + 80021c4: edc7 7a04 vstr s15, [r7, #16] return y; - 80020bc: 693b ldr r3, [r7, #16] - 80020be: ee07 3a90 vmov s15, r3 + 80021c8: 693b ldr r3, [r7, #16] + 80021ca: ee07 3a90 vmov s15, r3 } - 80020c2: eeb0 0a67 vmov.f32 s0, s15 - 80020c6: 371c adds r7, #28 - 80020c8: 46bd mov sp, r7 - 80020ca: f85d 7b04 ldr.w r7, [sp], #4 - 80020ce: 4770 bx lr - 80020d0: 5f3759df .word 0x5f3759df + 80021ce: eeb0 0a67 vmov.f32 s0, s15 + 80021d2: 371c adds r7, #28 + 80021d4: 46bd mov sp, r7 + 80021d6: f85d 7b04 ldr.w r7, [sp], #4 + 80021da: 4770 bx lr + 80021dc: 5f3759df .word 0x5f3759df -080020d4 : +080021e0 : /* USER CODE END APPD_Init */ return; } void APPD_EnableCPU2( void ) { - 80020d4: b5b0 push {r4, r5, r7, lr} - 80020d6: b088 sub sp, #32 - 80020d8: af00 add r7, sp, #0 + 80021e0: b5b0 push {r4, r5, r7, lr} + 80021e2: b088 sub sp, #32 + 80021e4: af00 add r7, sp, #0 /* USER CODE BEGIN APPD_EnableCPU2 */ SHCI_C2_DEBUG_Init_Cmd_Packet_t DebugCmdPacket = - 80020da: 4b0b ldr r3, [pc, #44] @ (8002108 ) - 80020dc: 1d3c adds r4, r7, #4 - 80020de: 461d mov r5, r3 - 80020e0: cd0f ldmia r5!, {r0, r1, r2, r3} - 80020e2: c40f stmia r4!, {r0, r1, r2, r3} - 80020e4: e895 0007 ldmia.w r5, {r0, r1, r2} - 80020e8: c403 stmia r4!, {r0, r1} - 80020ea: 8022 strh r2, [r4, #0] - 80020ec: 3402 adds r4, #2 - 80020ee: 0c13 lsrs r3, r2, #16 - 80020f0: 7023 strb r3, [r4, #0] + 80021e6: 4b0b ldr r3, [pc, #44] @ (8002214 ) + 80021e8: 1d3c adds r4, r7, #4 + 80021ea: 461d mov r5, r3 + 80021ec: cd0f ldmia r5!, {r0, r1, r2, r3} + 80021ee: c40f stmia r4!, {r0, r1, r2, r3} + 80021f0: e895 0007 ldmia.w r5, {r0, r1, r2} + 80021f4: c403 stmia r4!, {r0, r1} + 80021f6: 8022 strh r2, [r4, #0] + 80021f8: 3402 adds r4, #2 + 80021fa: 0c13 lsrs r3, r2, #16 + 80021fc: 7023 strb r3, [r4, #0] NBR_OF_TRACES_CONFIG_PARAMETERS, NBR_OF_GENERAL_CONFIG_PARAMETERS} }; /**< Traces channel initialization */ TL_TRACES_Init( ); - 80020f2: f010 fd0d bl 8012b10 + 80021fe: f011 f985 bl 801350c /** GPIO DEBUG Initialization */ SHCI_C2_DEBUG_Init( &DebugCmdPacket ); - 80020f6: 1d3b adds r3, r7, #4 - 80020f8: 4618 mov r0, r3 - 80020fa: f010 f986 bl 801240a + 8002202: 1d3b adds r3, r7, #4 + 8002204: 4618 mov r0, r3 + 8002206: f010 fdfe bl 8012e06 /* USER CODE END APPD_EnableCPU2 */ return; - 80020fe: bf00 nop + 800220a: bf00 nop } - 8002100: 3720 adds r7, #32 - 8002102: 46bd mov sp, r7 - 8002104: bdb0 pop {r4, r5, r7, pc} - 8002106: bf00 nop - 8002108: 0801d428 .word 0x0801d428 + 800220c: 3720 adds r7, #32 + 800220e: 46bd mov sp, r7 + 8002210: bdb0 pop {r4, r5, r7, pc} + 8002212: bf00 nop + 8002214: 0801ddf8 .word 0x0801ddf8 -0800210c : +08002218 : * * (*) Not available on devices STM32WB15xx, STM32WB10xx, STM32WB1Mxx * @retval None */ __STATIC_INLINE void LL_C2_PWR_SetPowerMode(uint32_t LowPowerMode) { - 800210c: b480 push {r7} - 800210e: b083 sub sp, #12 - 8002110: af00 add r7, sp, #0 - 8002112: 6078 str r0, [r7, #4] + 8002218: b480 push {r7} + 800221a: b083 sub sp, #12 + 800221c: af00 add r7, sp, #0 + 800221e: 6078 str r0, [r7, #4] MODIFY_REG(PWR->C2CR1, PWR_C2CR1_LPMS, LowPowerMode); - 8002114: 4b07 ldr r3, [pc, #28] @ (8002134 ) - 8002116: f8d3 3080 ldr.w r3, [r3, #128] @ 0x80 - 800211a: f023 0207 bic.w r2, r3, #7 - 800211e: 4905 ldr r1, [pc, #20] @ (8002134 ) - 8002120: 687b ldr r3, [r7, #4] - 8002122: 4313 orrs r3, r2 - 8002124: f8c1 3080 str.w r3, [r1, #128] @ 0x80 + 8002220: 4b07 ldr r3, [pc, #28] @ (8002240 ) + 8002222: f8d3 3080 ldr.w r3, [r3, #128] @ 0x80 + 8002226: f023 0207 bic.w r2, r3, #7 + 800222a: 4905 ldr r1, [pc, #20] @ (8002240 ) + 800222c: 687b ldr r3, [r7, #4] + 800222e: 4313 orrs r3, r2 + 8002230: f8c1 3080 str.w r3, [r1, #128] @ 0x80 } - 8002128: bf00 nop - 800212a: 370c adds r7, #12 - 800212c: 46bd mov sp, r7 - 800212e: f85d 7b04 ldr.w r7, [sp], #4 - 8002132: 4770 bx lr - 8002134: 58000400 .word 0x58000400 + 8002234: bf00 nop + 8002236: 370c adds r7, #12 + 8002238: 46bd mov sp, r7 + 800223a: f85d 7b04 ldr.w r7, [sp], #4 + 800223e: 4770 bx lr + 8002240: 58000400 .word 0x58000400 -08002138 : +08002244 : * @arg @ref LL_EXTI_LINE_ALL_32_63 * (*) value not defined in all devices * @retval None */ __STATIC_INLINE void LL_EXTI_EnableIT_32_63(uint32_t ExtiLine) { - 8002138: b480 push {r7} - 800213a: b083 sub sp, #12 - 800213c: af00 add r7, sp, #0 - 800213e: 6078 str r0, [r7, #4] + 8002244: b480 push {r7} + 8002246: b083 sub sp, #12 + 8002248: af00 add r7, sp, #0 + 800224a: 6078 str r0, [r7, #4] SET_BIT(EXTI->IMR2, ExtiLine); - 8002140: 4b06 ldr r3, [pc, #24] @ (800215c ) - 8002142: f8d3 2090 ldr.w r2, [r3, #144] @ 0x90 - 8002146: 4905 ldr r1, [pc, #20] @ (800215c ) - 8002148: 687b ldr r3, [r7, #4] - 800214a: 4313 orrs r3, r2 - 800214c: f8c1 3090 str.w r3, [r1, #144] @ 0x90 + 800224c: 4b06 ldr r3, [pc, #24] @ (8002268 ) + 800224e: f8d3 2090 ldr.w r2, [r3, #144] @ 0x90 + 8002252: 4905 ldr r1, [pc, #20] @ (8002268 ) + 8002254: 687b ldr r3, [r7, #4] + 8002256: 4313 orrs r3, r2 + 8002258: f8c1 3090 str.w r3, [r1, #144] @ 0x90 } - 8002150: bf00 nop - 8002152: 370c adds r7, #12 - 8002154: 46bd mov sp, r7 - 8002156: f85d 7b04 ldr.w r7, [sp], #4 - 800215a: 4770 bx lr - 800215c: 58000800 .word 0x58000800 + 800225c: bf00 nop + 800225e: 370c adds r7, #12 + 8002260: 46bd mov sp, r7 + 8002262: f85d 7b04 ldr.w r7, [sp], #4 + 8002266: 4770 bx lr + 8002268: 58000800 .word 0x58000800 -08002160 : +0800226c : * @rmtoll HSECR HSETUNE LL_RCC_HSE_SetCapacitorTuning * @param Value Between Min_Data = 0 and Max_Data = 63 * @retval None */ __STATIC_INLINE void LL_RCC_HSE_SetCapacitorTuning(uint32_t Value) { - 8002160: b480 push {r7} - 8002162: b083 sub sp, #12 - 8002164: af00 add r7, sp, #0 - 8002166: 6078 str r0, [r7, #4] + 800226c: b480 push {r7} + 800226e: b083 sub sp, #12 + 8002270: af00 add r7, sp, #0 + 8002272: 6078 str r0, [r7, #4] WRITE_REG(RCC->HSECR, HSE_CONTROL_UNLOCK_KEY); - 8002168: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800216c: 4a0a ldr r2, [pc, #40] @ (8002198 ) - 800216e: f8c3 209c str.w r2, [r3, #156] @ 0x9c + 8002274: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8002278: 4a0a ldr r2, [pc, #40] @ (80022a4 ) + 800227a: f8c3 209c str.w r2, [r3, #156] @ 0x9c MODIFY_REG(RCC->HSECR, RCC_HSECR_HSETUNE, Value << RCC_HSECR_HSETUNE_Pos); - 8002172: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8002176: f8d3 309c ldr.w r3, [r3, #156] @ 0x9c - 800217a: f423 527c bic.w r2, r3, #16128 @ 0x3f00 - 800217e: 687b ldr r3, [r7, #4] - 8002180: 021b lsls r3, r3, #8 - 8002182: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 8002186: 4313 orrs r3, r2 - 8002188: f8c1 309c str.w r3, [r1, #156] @ 0x9c + 800227e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8002282: f8d3 309c ldr.w r3, [r3, #156] @ 0x9c + 8002286: f423 527c bic.w r2, r3, #16128 @ 0x3f00 + 800228a: 687b ldr r3, [r7, #4] + 800228c: 021b lsls r3, r3, #8 + 800228e: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 8002292: 4313 orrs r3, r2 + 8002294: f8c1 309c str.w r3, [r1, #156] @ 0x9c } - 800218c: bf00 nop - 800218e: 370c adds r7, #12 - 8002190: 46bd mov sp, r7 - 8002192: f85d 7b04 ldr.w r7, [sp], #4 - 8002196: 4770 bx lr - 8002198: cafecafe .word 0xcafecafe + 8002298: bf00 nop + 800229a: 370c adds r7, #12 + 800229c: 46bd mov sp, r7 + 800229e: f85d 7b04 ldr.w r7, [sp], #4 + 80022a2: 4770 bx lr + 80022a4: cafecafe .word 0xcafecafe -0800219c : +080022a8 : * @arg @ref LL_RCC_STOP_WAKEUPCLOCK_MSI * @arg @ref LL_RCC_STOP_WAKEUPCLOCK_HSI * @retval None */ __STATIC_INLINE void LL_RCC_SetClkAfterWakeFromStop(uint32_t Clock) { - 800219c: b480 push {r7} - 800219e: b083 sub sp, #12 - 80021a0: af00 add r7, sp, #0 - 80021a2: 6078 str r0, [r7, #4] + 80022a8: b480 push {r7} + 80022aa: b083 sub sp, #12 + 80022ac: af00 add r7, sp, #0 + 80022ae: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CFGR, RCC_CFGR_STOPWUCK, Clock); - 80021a4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80021a8: 689b ldr r3, [r3, #8] - 80021aa: f423 4200 bic.w r2, r3, #32768 @ 0x8000 - 80021ae: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 80021b2: 687b ldr r3, [r7, #4] - 80021b4: 4313 orrs r3, r2 - 80021b6: 608b str r3, [r1, #8] + 80022b0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80022b4: 689b ldr r3, [r3, #8] + 80022b6: f423 4200 bic.w r2, r3, #32768 @ 0x8000 + 80022ba: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 80022be: 687b ldr r3, [r7, #4] + 80022c0: 4313 orrs r3, r2 + 80022c2: 608b str r3, [r1, #8] } - 80021b8: bf00 nop - 80021ba: 370c adds r7, #12 - 80021bc: 46bd mov sp, r7 - 80021be: f85d 7b04 ldr.w r7, [sp], #4 - 80021c2: 4770 bx lr + 80022c4: bf00 nop + 80022c6: 370c adds r7, #12 + 80022c8: 46bd mov sp, r7 + 80022ca: f85d 7b04 ldr.w r7, [sp], #4 + 80022ce: 4770 bx lr -080021c4 : +080022d0 : * @note For STM32WBxxxx devices, the device ID is 0x495 * @rmtoll DBGMCU_IDCODE DEV_ID LL_DBGMCU_GetDeviceID * @retval Values between Min_Data=0x00 and Max_Data=0xFFF (ex: device ID is 0x495) */ __STATIC_INLINE uint32_t LL_DBGMCU_GetDeviceID(void) { - 80021c4: b480 push {r7} - 80021c6: af00 add r7, sp, #0 + 80022d0: b480 push {r7} + 80022d2: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(DBGMCU->IDCODE, DBGMCU_IDCODE_DEV_ID)); - 80021c8: 4b04 ldr r3, [pc, #16] @ (80021dc ) - 80021ca: 681b ldr r3, [r3, #0] - 80021cc: f3c3 030b ubfx r3, r3, #0, #12 + 80022d4: 4b04 ldr r3, [pc, #16] @ (80022e8 ) + 80022d6: 681b ldr r3, [r3, #0] + 80022d8: f3c3 030b ubfx r3, r3, #0, #12 } - 80021d0: 4618 mov r0, r3 - 80021d2: 46bd mov sp, r7 - 80021d4: f85d 7b04 ldr.w r7, [sp], #4 - 80021d8: 4770 bx lr - 80021da: bf00 nop - 80021dc: e0042000 .word 0xe0042000 + 80022dc: 4618 mov r0, r3 + 80022de: 46bd mov sp, r7 + 80022e0: f85d 7b04 ldr.w r7, [sp], #4 + 80022e4: 4770 bx lr + 80022e6: bf00 nop + 80022e8: e0042000 .word 0xe0042000 -080021e0 : +080022ec : * @note This field indicates the revision of the device. * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF */ __STATIC_INLINE uint32_t LL_DBGMCU_GetRevisionID(void) { - 80021e0: b480 push {r7} - 80021e2: af00 add r7, sp, #0 + 80022ec: b480 push {r7} + 80022ee: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(DBGMCU->IDCODE, DBGMCU_IDCODE_REV_ID) >> DBGMCU_IDCODE_REV_ID_Pos); - 80021e4: 4b04 ldr r3, [pc, #16] @ (80021f8 ) - 80021e6: 681b ldr r3, [r3, #0] - 80021e8: 0c1b lsrs r3, r3, #16 - 80021ea: b29b uxth r3, r3 + 80022f0: 4b04 ldr r3, [pc, #16] @ (8002304 ) + 80022f2: 681b ldr r3, [r3, #0] + 80022f4: 0c1b lsrs r3, r3, #16 + 80022f6: b29b uxth r3, r3 } - 80021ec: 4618 mov r0, r3 - 80021ee: 46bd mov sp, r7 - 80021f0: f85d 7b04 ldr.w r7, [sp], #4 - 80021f4: 4770 bx lr - 80021f6: bf00 nop - 80021f8: e0042000 .word 0xe0042000 + 80022f8: 4618 mov r0, r3 + 80022fa: 46bd mov sp, r7 + 80022fc: f85d 7b04 ldr.w r7, [sp], #4 + 8002300: 4770 bx lr + 8002302: bf00 nop + 8002304: e0042000 .word 0xe0042000 -080021fc : +08002308 : * @rmtoll WPR KEY LL_RTC_EnableWriteProtection * @param RTCx RTC Instance * @retval None */ __STATIC_INLINE void LL_RTC_EnableWriteProtection(RTC_TypeDef *RTCx) { - 80021fc: b480 push {r7} - 80021fe: b083 sub sp, #12 - 8002200: af00 add r7, sp, #0 - 8002202: 6078 str r0, [r7, #4] + 8002308: b480 push {r7} + 800230a: b083 sub sp, #12 + 800230c: af00 add r7, sp, #0 + 800230e: 6078 str r0, [r7, #4] WRITE_REG(RTCx->WPR, RTC_WRITE_PROTECTION_DISABLE); - 8002204: 687b ldr r3, [r7, #4] - 8002206: 22ff movs r2, #255 @ 0xff - 8002208: 625a str r2, [r3, #36] @ 0x24 + 8002310: 687b ldr r3, [r7, #4] + 8002312: 22ff movs r2, #255 @ 0xff + 8002314: 625a str r2, [r3, #36] @ 0x24 } - 800220a: bf00 nop - 800220c: 370c adds r7, #12 - 800220e: 46bd mov sp, r7 - 8002210: f85d 7b04 ldr.w r7, [sp], #4 - 8002214: 4770 bx lr + 8002316: bf00 nop + 8002318: 370c adds r7, #12 + 800231a: 46bd mov sp, r7 + 800231c: f85d 7b04 ldr.w r7, [sp], #4 + 8002320: 4770 bx lr -08002216 : +08002322 : * @rmtoll WPR KEY LL_RTC_DisableWriteProtection * @param RTCx RTC Instance * @retval None */ __STATIC_INLINE void LL_RTC_DisableWriteProtection(RTC_TypeDef *RTCx) { - 8002216: b480 push {r7} - 8002218: b083 sub sp, #12 - 800221a: af00 add r7, sp, #0 - 800221c: 6078 str r0, [r7, #4] + 8002322: b480 push {r7} + 8002324: b083 sub sp, #12 + 8002326: af00 add r7, sp, #0 + 8002328: 6078 str r0, [r7, #4] WRITE_REG(RTCx->WPR, RTC_WRITE_PROTECTION_ENABLE_1); - 800221e: 687b ldr r3, [r7, #4] - 8002220: 22ca movs r2, #202 @ 0xca - 8002222: 625a str r2, [r3, #36] @ 0x24 + 800232a: 687b ldr r3, [r7, #4] + 800232c: 22ca movs r2, #202 @ 0xca + 800232e: 625a str r2, [r3, #36] @ 0x24 WRITE_REG(RTCx->WPR, RTC_WRITE_PROTECTION_ENABLE_2); - 8002224: 687b ldr r3, [r7, #4] - 8002226: 2253 movs r2, #83 @ 0x53 - 8002228: 625a str r2, [r3, #36] @ 0x24 + 8002330: 687b ldr r3, [r7, #4] + 8002332: 2253 movs r2, #83 @ 0x53 + 8002334: 625a str r2, [r3, #36] @ 0x24 } - 800222a: bf00 nop - 800222c: 370c adds r7, #12 - 800222e: 46bd mov sp, r7 - 8002230: f85d 7b04 ldr.w r7, [sp], #4 - 8002234: 4770 bx lr + 8002336: bf00 nop + 8002338: 370c adds r7, #12 + 800233a: 46bd mov sp, r7 + 800233c: f85d 7b04 ldr.w r7, [sp], #4 + 8002340: 4770 bx lr -08002236 : +08002342 : * @arg @ref LL_RTC_WAKEUPCLOCK_CKSPRE * @arg @ref LL_RTC_WAKEUPCLOCK_CKSPRE_WUT * @retval None */ __STATIC_INLINE void LL_RTC_WAKEUP_SetClock(RTC_TypeDef *RTCx, uint32_t WakeupClock) { - 8002236: b480 push {r7} - 8002238: b083 sub sp, #12 - 800223a: af00 add r7, sp, #0 - 800223c: 6078 str r0, [r7, #4] - 800223e: 6039 str r1, [r7, #0] + 8002342: b480 push {r7} + 8002344: b083 sub sp, #12 + 8002346: af00 add r7, sp, #0 + 8002348: 6078 str r0, [r7, #4] + 800234a: 6039 str r1, [r7, #0] MODIFY_REG(RTCx->CR, RTC_CR_WUCKSEL, WakeupClock); - 8002240: 687b ldr r3, [r7, #4] - 8002242: 689b ldr r3, [r3, #8] - 8002244: f023 0207 bic.w r2, r3, #7 - 8002248: 683b ldr r3, [r7, #0] - 800224a: 431a orrs r2, r3 - 800224c: 687b ldr r3, [r7, #4] - 800224e: 609a str r2, [r3, #8] + 800234c: 687b ldr r3, [r7, #4] + 800234e: 689b ldr r3, [r3, #8] + 8002350: f023 0207 bic.w r2, r3, #7 + 8002354: 683b ldr r3, [r7, #0] + 8002356: 431a orrs r2, r3 + 8002358: 687b ldr r3, [r7, #4] + 800235a: 609a str r2, [r3, #8] } - 8002250: bf00 nop - 8002252: 370c adds r7, #12 - 8002254: 46bd mov sp, r7 - 8002256: f85d 7b04 ldr.w r7, [sp], #4 - 800225a: 4770 bx lr + 800235c: bf00 nop + 800235e: 370c adds r7, #12 + 8002360: 46bd mov sp, r7 + 8002362: f85d 7b04 ldr.w r7, [sp], #4 + 8002366: 4770 bx lr -0800225c : +08002368 : /* USER CODE END PFP */ /* Functions Definition ------------------------------------------------------*/ void MX_APPE_Config(void) { - 800225c: b580 push {r7, lr} - 800225e: af00 add r7, sp, #0 + 8002368: b580 push {r7, lr} + 800236a: af00 add r7, sp, #0 /** * The OPTVERR flag is wrongly set at power on * It shall be cleared before using any HAL_FLASH_xxx() api */ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR); - 8002260: 4b04 ldr r3, [pc, #16] @ (8002274 ) - 8002262: f44f 4200 mov.w r2, #32768 @ 0x8000 - 8002266: 611a str r2, [r3, #16] + 800236c: 4b04 ldr r3, [pc, #16] @ (8002380 ) + 800236e: f44f 4200 mov.w r2, #32768 @ 0x8000 + 8002372: 611a str r2, [r3, #16] /** * Reset some configurations so that the system behave in the same way * when either out of nReset or Power On */ Reset_Device(); - 8002268: f000 f824 bl 80022b4 + 8002374: f000 f824 bl 80023c0 /* Configure HSE Tuning */ Config_HSE(); - 800226c: f000 f829 bl 80022c2 + 8002378: f000 f829 bl 80023ce return; - 8002270: bf00 nop + 800237c: bf00 nop } - 8002272: bd80 pop {r7, pc} - 8002274: 58004000 .word 0x58004000 + 800237e: bd80 pop {r7, pc} + 8002380: 58004000 .word 0x58004000 -08002278 : +08002384 : void MX_APPE_Init(void) { - 8002278: b580 push {r7, lr} - 800227a: af00 add r7, sp, #0 + 8002384: b580 push {r7, lr} + 8002386: af00 add r7, sp, #0 System_Init(); /**< System initialization */ - 800227c: f000 f835 bl 80022ea + 8002388: f000 f835 bl 80023f6 SystemPower_Config(); /**< Configure the system Power Mode */ - 8002280: f000 f84e bl 8002320 + 800238c: f000 f84e bl 800242c HW_TS_Init(hw_ts_InitMode_Full, &hrtc); /**< Initialize the TimerServer */ - 8002284: 4903 ldr r1, [pc, #12] @ (8002294 ) - 8002286: 2000 movs r0, #0 - 8002288: f001 ffd0 bl 800422c + 8002390: 4903 ldr r1, [pc, #12] @ (80023a0 ) + 8002392: 2000 movs r0, #0 + 8002394: f001 ffd6 bl 8004344 /* USER CODE BEGIN APPE_Init_1 */ /* USER CODE END APPE_Init_1 */ appe_Tl_Init(); /* Initialize all transport layers */ - 800228c: f000 f856 bl 800233c + 8002398: f000 f856 bl 8002448 */ /* USER CODE BEGIN APPE_Init_2 */ /* USER CODE END APPE_Init_2 */ return; - 8002290: bf00 nop + 800239c: bf00 nop } - 8002292: bd80 pop {r7, pc} - 8002294: 20000504 .word 0x20000504 + 800239e: bd80 pop {r7, pc} + 80023a0: 20000504 .word 0x20000504 -08002298 : +080023a4 : void Init_Smps(void) { - 8002298: b480 push {r7} - 800229a: af00 add r7, sp, #0 + 80023a4: b480 push {r7} + 80023a6: af00 add r7, sp, #0 LL_PWR_SMPS_SetStartupCurrent(LL_PWR_SMPS_STARTUP_CURRENT_80MA); LL_PWR_SMPS_SetOutputVoltageLevel(LL_PWR_SMPS_OUTPUT_VOLTAGE_1V40); LL_PWR_SMPS_Enable(); #endif /* CFG_USE_SMPS != 0 */ return; - 800229c: bf00 nop + 80023a8: bf00 nop } - 800229e: 46bd mov sp, r7 - 80022a0: f85d 7b04 ldr.w r7, [sp], #4 - 80022a4: 4770 bx lr + 80023aa: 46bd mov sp, r7 + 80023ac: f85d 7b04 ldr.w r7, [sp], #4 + 80023b0: 4770 bx lr -080022a6 : +080023b2 : void Init_Exti(void) { - 80022a6: b580 push {r7, lr} - 80022a8: af00 add r7, sp, #0 + 80023b2: b580 push {r7, lr} + 80023b4: af00 add r7, sp, #0 /* Enable IPCC(36), HSEM(38) wakeup interrupts on CPU1 */ LL_EXTI_EnableIT_32_63(LL_EXTI_LINE_36 | LL_EXTI_LINE_38); - 80022aa: 2050 movs r0, #80 @ 0x50 - 80022ac: f7ff ff44 bl 8002138 + 80023b6: 2050 movs r0, #80 @ 0x50 + 80023b8: f7ff ff44 bl 8002244 return; - 80022b0: bf00 nop + 80023bc: bf00 nop } - 80022b2: bd80 pop {r7, pc} + 80023be: bd80 pop {r7, pc} -080022b4 : +080023c0 : * * LOCAL FUNCTIONS * *************************************************************/ static void Reset_Device(void) { - 80022b4: b480 push {r7} - 80022b6: af00 add r7, sp, #0 + 80023c0: b480 push {r7} + 80023c2: af00 add r7, sp, #0 Reset_BackupDomain(); Reset_IPCC(); #endif /* CFG_HW_RESET_BY_FW == 1 */ return; - 80022b8: bf00 nop + 80023c4: bf00 nop } - 80022ba: 46bd mov sp, r7 - 80022bc: f85d 7b04 ldr.w r7, [sp], #4 - 80022c0: 4770 bx lr + 80023c6: 46bd mov sp, r7 + 80023c8: f85d 7b04 ldr.w r7, [sp], #4 + 80023cc: 4770 bx lr -080022c2 : +080023ce : return; } #endif /* CFG_HW_RESET_BY_FW == 1 */ static void Config_HSE(void) { - 80022c2: b580 push {r7, lr} - 80022c4: b082 sub sp, #8 - 80022c6: af00 add r7, sp, #0 + 80023ce: b580 push {r7, lr} + 80023d0: b082 sub sp, #8 + 80023d2: af00 add r7, sp, #0 OTP_ID0_t * p_otp; /** * Read HSE_Tuning from OTP */ p_otp = (OTP_ID0_t *) OTP_Read(0); - 80022c8: 2000 movs r0, #0 - 80022ca: f010 fcb5 bl 8012c38 - 80022ce: 6078 str r0, [r7, #4] + 80023d4: 2000 movs r0, #0 + 80023d6: f011 f92d bl 8013634 + 80023da: 6078 str r0, [r7, #4] if (p_otp) - 80022d0: 687b ldr r3, [r7, #4] - 80022d2: 2b00 cmp r3, #0 - 80022d4: d005 beq.n 80022e2 + 80023dc: 687b ldr r3, [r7, #4] + 80023de: 2b00 cmp r3, #0 + 80023e0: d005 beq.n 80023ee { LL_RCC_HSE_SetCapacitorTuning(p_otp->hse_tuning); - 80022d6: 687b ldr r3, [r7, #4] - 80022d8: 799b ldrb r3, [r3, #6] - 80022da: 4618 mov r0, r3 - 80022dc: f7ff ff40 bl 8002160 + 80023e2: 687b ldr r3, [r7, #4] + 80023e4: 799b ldrb r3, [r3, #6] + 80023e6: 4618 mov r0, r3 + 80023e8: f7ff ff40 bl 800226c } return; - 80022e0: bf00 nop - 80022e2: bf00 nop + 80023ec: bf00 nop + 80023ee: bf00 nop } - 80022e4: 3708 adds r7, #8 - 80022e6: 46bd mov sp, r7 - 80022e8: bd80 pop {r7, pc} + 80023f0: 3708 adds r7, #8 + 80023f2: 46bd mov sp, r7 + 80023f4: bd80 pop {r7, pc} -080022ea : +080023f6 : static void System_Init(void) { - 80022ea: b580 push {r7, lr} - 80022ec: af00 add r7, sp, #0 + 80023f6: b580 push {r7, lr} + 80023f8: af00 add r7, sp, #0 Init_Smps(); - 80022ee: f7ff ffd3 bl 8002298 + 80023fa: f7ff ffd3 bl 80023a4 Init_Exti(); - 80022f2: f7ff ffd8 bl 80022a6 + 80023fe: f7ff ffd8 bl 80023b2 Init_Rtc(); - 80022f6: f000 f803 bl 8002300 + 8002402: f000 f803 bl 800240c return; - 80022fa: bf00 nop + 8002406: bf00 nop } - 80022fc: bd80 pop {r7, pc} + 8002408: bd80 pop {r7, pc} ... -08002300 : +0800240c : static void Init_Rtc(void) { - 8002300: b580 push {r7, lr} - 8002302: af00 add r7, sp, #0 + 800240c: b580 push {r7, lr} + 800240e: af00 add r7, sp, #0 /* Disable RTC registers write protection */ LL_RTC_DisableWriteProtection(RTC); - 8002304: 4805 ldr r0, [pc, #20] @ (800231c ) - 8002306: f7ff ff86 bl 8002216 + 8002410: 4805 ldr r0, [pc, #20] @ (8002428 ) + 8002412: f7ff ff86 bl 8002322 LL_RTC_WAKEUP_SetClock(RTC, CFG_RTC_WUCKSEL_DIVIDER); - 800230a: 2100 movs r1, #0 - 800230c: 4803 ldr r0, [pc, #12] @ (800231c ) - 800230e: f7ff ff92 bl 8002236 + 8002416: 2100 movs r1, #0 + 8002418: 4803 ldr r0, [pc, #12] @ (8002428 ) + 800241a: f7ff ff92 bl 8002342 /* Enable RTC registers write protection */ LL_RTC_EnableWriteProtection(RTC); - 8002312: 4802 ldr r0, [pc, #8] @ (800231c ) - 8002314: f7ff ff72 bl 80021fc + 800241e: 4802 ldr r0, [pc, #8] @ (8002428 ) + 8002420: f7ff ff72 bl 8002308 return; - 8002318: bf00 nop + 8002424: bf00 nop } - 800231a: bd80 pop {r7, pc} - 800231c: 40002800 .word 0x40002800 + 8002426: bd80 pop {r7, pc} + 8002428: 40002800 .word 0x40002800 -08002320 : +0800242c : * * @param None * @retval None */ static void SystemPower_Config(void) { - 8002320: b580 push {r7, lr} - 8002322: af00 add r7, sp, #0 + 800242c: b580 push {r7, lr} + 800242e: af00 add r7, sp, #0 /** * Select HSI as system clock source after Wake Up from Stop mode */ LL_RCC_SetClkAfterWakeFromStop(LL_RCC_STOP_WAKEUPCLOCK_HSI); - 8002324: f44f 4000 mov.w r0, #32768 @ 0x8000 - 8002328: f7ff ff38 bl 800219c + 8002430: f44f 4000 mov.w r0, #32768 @ 0x8000 + 8002434: f7ff ff38 bl 80022a8 /* Initialize low power manager */ UTIL_LPM_Init(); - 800232c: f016 fb1c bl 8018968 + 8002438: f016 ff7e bl 8019338 /* Initialize the CPU2 reset value before starting CPU2 with C2BOOT */ LL_C2_PWR_SetPowerMode(LL_PWR_MODE_SHUTDOWN); - 8002330: 2004 movs r0, #4 - 8002332: f7ff feeb bl 800210c + 800243c: 2004 movs r0, #4 + 800243e: f7ff feeb bl 8002218 * Enable USB power */ HAL_PWREx_EnableVddUSB(); #endif /* CFG_USB_INTERFACE_ENABLE != 0 */ return; - 8002336: bf00 nop + 8002442: bf00 nop } - 8002338: bd80 pop {r7, pc} + 8002444: bd80 pop {r7, pc} ... -0800233c : +08002448 : static void appe_Tl_Init(void) { - 800233c: b580 push {r7, lr} - 800233e: b088 sub sp, #32 - 8002340: af00 add r7, sp, #0 + 8002448: b580 push {r7, lr} + 800244a: b088 sub sp, #32 + 800244c: af00 add r7, sp, #0 TL_MM_Config_t tl_mm_config; SHCI_TL_HciInitConf_t SHci_Tl_Init_Conf; /**< Reference table initialization */ TL_Init(); - 8002342: f010 fa7b bl 801283c + 800244e: f010 fef3 bl 8013238 MtxShciId = osMutexNew(NULL); - 8002346: 2000 movs r0, #0 - 8002348: f010 ffa7 bl 801329a - 800234c: 4603 mov r3, r0 - 800234e: 4a17 ldr r2, [pc, #92] @ (80023ac ) - 8002350: 6013 str r3, [r2, #0] + 8002452: 2000 movs r0, #0 + 8002454: f011 fc05 bl 8013c62 + 8002458: 4603 mov r3, r0 + 800245a: 4a17 ldr r2, [pc, #92] @ (80024b8 ) + 800245c: 6013 str r3, [r2, #0] SemShciId = osSemaphoreNew(1, 0, NULL); /*< Create the semaphore and make it busy at initialization */ - 8002352: 2200 movs r2, #0 - 8002354: 2100 movs r1, #0 - 8002356: 2001 movs r0, #1 - 8002358: f011 f8aa bl 80134b0 - 800235c: 4603 mov r3, r0 - 800235e: 4a14 ldr r2, [pc, #80] @ (80023b0 ) - 8002360: 6013 str r3, [r2, #0] + 800245e: 2200 movs r2, #0 + 8002460: 2100 movs r1, #0 + 8002462: 2001 movs r0, #1 + 8002464: f011 fd08 bl 8013e78 + 8002468: 4603 mov r3, r0 + 800246a: 4a14 ldr r2, [pc, #80] @ (80024bc ) + 800246c: 6013 str r3, [r2, #0] /** FreeRTOS system task creation */ ShciUserEvtProcessId = osThreadNew(ShciUserEvtProcess, NULL, &ShciUserEvtProcess_attr); - 8002362: 4a14 ldr r2, [pc, #80] @ (80023b4 ) - 8002364: 2100 movs r1, #0 - 8002366: 4814 ldr r0, [pc, #80] @ (80023b8 ) - 8002368: f010 fe06 bl 8012f78 - 800236c: 4603 mov r3, r0 - 800236e: 4a13 ldr r2, [pc, #76] @ (80023bc ) - 8002370: 6013 str r3, [r2, #0] + 800246e: 4a14 ldr r2, [pc, #80] @ (80024c0 ) + 8002470: 2100 movs r1, #0 + 8002472: 4814 ldr r0, [pc, #80] @ (80024c4 ) + 8002474: f011 fa7e bl 8013974 + 8002478: 4603 mov r3, r0 + 800247a: 4a13 ldr r2, [pc, #76] @ (80024c8 ) + 800247c: 6013 str r3, [r2, #0] /**< System channel initialization */ SHci_Tl_Init_Conf.p_cmdbuffer = (uint8_t*)&SystemCmdBuffer; - 8002372: 4b13 ldr r3, [pc, #76] @ (80023c0 ) - 8002374: 603b str r3, [r7, #0] + 800247e: 4b13 ldr r3, [pc, #76] @ (80024cc ) + 8002480: 603b str r3, [r7, #0] SHci_Tl_Init_Conf.StatusNotCallBack = APPE_SysStatusNot; - 8002376: 4b13 ldr r3, [pc, #76] @ (80023c4 ) - 8002378: 607b str r3, [r7, #4] + 8002482: 4b13 ldr r3, [pc, #76] @ (80024d0 ) + 8002484: 607b str r3, [r7, #4] shci_init(APPE_SysUserEvtRx, (void*) &SHci_Tl_Init_Conf); - 800237a: 463b mov r3, r7 - 800237c: 4619 mov r1, r3 - 800237e: 4812 ldr r0, [pc, #72] @ (80023c8 ) - 8002380: f010 f91e bl 80125c0 + 8002486: 463b mov r3, r7 + 8002488: 4619 mov r1, r3 + 800248a: 4812 ldr r0, [pc, #72] @ (80024d4 ) + 800248c: f010 fd96 bl 8012fbc /**< Memory Manager channel initialization */ tl_mm_config.p_BleSpareEvtBuffer = BleSpareEvtBuffer; - 8002384: 4b11 ldr r3, [pc, #68] @ (80023cc ) - 8002386: 60bb str r3, [r7, #8] + 8002490: 4b11 ldr r3, [pc, #68] @ (80024d8 ) + 8002492: 60bb str r3, [r7, #8] tl_mm_config.p_SystemSpareEvtBuffer = SystemSpareEvtBuffer; - 8002388: 4b11 ldr r3, [pc, #68] @ (80023d0 ) - 800238a: 60fb str r3, [r7, #12] + 8002494: 4b11 ldr r3, [pc, #68] @ (80024dc ) + 8002496: 60fb str r3, [r7, #12] tl_mm_config.p_AsynchEvtPool = EvtPool; - 800238c: 4b11 ldr r3, [pc, #68] @ (80023d4 ) - 800238e: 613b str r3, [r7, #16] + 8002498: 4b11 ldr r3, [pc, #68] @ (80024e0 ) + 800249a: 613b str r3, [r7, #16] tl_mm_config.AsynchEvtPoolSize = POOL_SIZE; - 8002390: f240 533c movw r3, #1340 @ 0x53c - 8002394: 617b str r3, [r7, #20] + 800249c: f240 533c movw r3, #1340 @ 0x53c + 80024a0: 617b str r3, [r7, #20] TL_MM_Init(&tl_mm_config); - 8002396: f107 0308 add.w r3, r7, #8 - 800239a: 4618 mov r0, r3 - 800239c: f010 fb44 bl 8012a28 + 80024a2: f107 0308 add.w r3, r7, #8 + 80024a6: 4618 mov r0, r3 + 80024a8: f010 ffbc bl 8013424 TL_Enable(); - 80023a0: f010 fa46 bl 8012830 + 80024ac: f010 febe bl 801322c return; - 80023a4: bf00 nop + 80024b0: bf00 nop } - 80023a6: 3720 adds r7, #32 - 80023a8: 46bd mov sp, r7 - 80023aa: bd80 pop {r7, pc} - 80023ac: 20000308 .word 0x20000308 - 80023b0: 2000030c .word 0x2000030c - 80023b4: 0801db4c .word 0x0801db4c - 80023b8: 0800253b .word 0x0800253b - 80023bc: 20000310 .word 0x20000310 - 80023c0: 20030628 .word 0x20030628 - 80023c4: 080023e9 .word 0x080023e9 - 80023c8: 08002429 .word 0x08002429 - 80023cc: 20030840 .word 0x20030840 - 80023d0: 20030734 .word 0x20030734 - 80023d4: 200300ec .word 0x200300ec + 80024b2: 3720 adds r7, #32 + 80024b4: 46bd mov sp, r7 + 80024b6: bd80 pop {r7, pc} + 80024b8: 20000308 .word 0x20000308 + 80024bc: 2000030c .word 0x2000030c + 80024c0: 0801e4ac .word 0x0801e4ac + 80024c4: 08002647 .word 0x08002647 + 80024c8: 20000310 .word 0x20000310 + 80024cc: 20030628 .word 0x20030628 + 80024d0: 080024f5 .word 0x080024f5 + 80024d4: 08002535 .word 0x08002535 + 80024d8: 20030840 .word 0x20030840 + 80024dc: 20030734 .word 0x20030734 + 80024e0: 200300ec .word 0x200300ec -080023d8 : +080024e4 : __WEAK void APP_BLE_Init(void) { - 80023d8: b480 push {r7} - 80023da: af00 add r7, sp, #0 + 80024e4: b480 push {r7} + 80024e6: af00 add r7, sp, #0 } - 80023dc: bf00 nop - 80023de: 46bd mov sp, r7 - 80023e0: f85d 7b04 ldr.w r7, [sp], #4 - 80023e4: 4770 bx lr + 80024e8: bf00 nop + 80024ea: 46bd mov sp, r7 + 80024ec: f85d 7b04 ldr.w r7, [sp], #4 + 80024f0: 4770 bx lr ... -080023e8 : +080024f4 : static void APPE_SysStatusNot(SHCI_TL_CmdStatus_t status) { - 80023e8: b580 push {r7, lr} - 80023ea: b082 sub sp, #8 - 80023ec: af00 add r7, sp, #0 - 80023ee: 4603 mov r3, r0 - 80023f0: 71fb strb r3, [r7, #7] + 80024f4: b580 push {r7, lr} + 80024f6: b082 sub sp, #8 + 80024f8: af00 add r7, sp, #0 + 80024fa: 4603 mov r3, r0 + 80024fc: 71fb strb r3, [r7, #7] switch (status) - 80023f2: 79fb ldrb r3, [r7, #7] - 80023f4: 2b00 cmp r3, #0 - 80023f6: d002 beq.n 80023fe - 80023f8: 2b01 cmp r3, #1 - 80023fa: d008 beq.n 800240e + 80024fe: 79fb ldrb r3, [r7, #7] + 8002500: 2b00 cmp r3, #0 + 8002502: d002 beq.n 800250a + 8002504: 2b01 cmp r3, #1 + 8002506: d008 beq.n 800251a case SHCI_TL_CmdAvailable: osMutexRelease(MtxShciId); break; default: break; - 80023fc: e00d b.n 800241a + 8002508: e00d b.n 8002526 osMutexAcquire(MtxShciId, osWaitForever); - 80023fe: 4b09 ldr r3, [pc, #36] @ (8002424 ) - 8002400: 681b ldr r3, [r3, #0] - 8002402: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff - 8002406: 4618 mov r0, r3 - 8002408: f010 ffcc bl 80133a4 + 800250a: 4b09 ldr r3, [pc, #36] @ (8002530 ) + 800250c: 681b ldr r3, [r3, #0] + 800250e: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff + 8002512: 4618 mov r0, r3 + 8002514: f011 fc2a bl 8013d6c break; - 800240c: e005 b.n 800241a + 8002518: e005 b.n 8002526 osMutexRelease(MtxShciId); - 800240e: 4b05 ldr r3, [pc, #20] @ (8002424 ) - 8002410: 681b ldr r3, [r3, #0] - 8002412: 4618 mov r0, r3 - 8002414: f011 f810 bl 8013438 + 800251a: 4b05 ldr r3, [pc, #20] @ (8002530 ) + 800251c: 681b ldr r3, [r3, #0] + 800251e: 4618 mov r0, r3 + 8002520: f011 fc6e bl 8013e00 break; - 8002418: bf00 nop + 8002524: bf00 nop } return; - 800241a: bf00 nop + 8002526: bf00 nop } - 800241c: 3708 adds r7, #8 - 800241e: 46bd mov sp, r7 - 8002420: bd80 pop {r7, pc} - 8002422: bf00 nop - 8002424: 20000308 .word 0x20000308 + 8002528: 3708 adds r7, #8 + 800252a: 46bd mov sp, r7 + 800252c: bd80 pop {r7, pc} + 800252e: bf00 nop + 8002530: 20000308 .word 0x20000308 -08002428 : +08002534 : * The buffer shall not be released * (eg ((tSHCI_UserEvtRxParam*)pPayload)->status shall be set to SHCI_TL_UserEventFlow_Disable) * When the status is not filled, the buffer is released by default */ static void APPE_SysUserEvtRx(void * pPayload) { - 8002428: b580 push {r7, lr} - 800242a: b088 sub sp, #32 - 800242c: af00 add r7, sp, #0 - 800242e: 6078 str r0, [r7, #4] + 8002534: b580 push {r7, lr} + 8002536: b088 sub sp, #32 + 8002538: af00 add r7, sp, #0 + 800253a: 6078 str r0, [r7, #4] TL_AsynchEvt_t *p_sys_event; WirelessFwInfo_t WirelessInfo; p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload); - 8002430: 687b ldr r3, [r7, #4] - 8002432: 685b ldr r3, [r3, #4] - 8002434: 330b adds r3, #11 - 8002436: 61fb str r3, [r7, #28] + 800253c: 687b ldr r3, [r7, #4] + 800253e: 685b ldr r3, [r3, #4] + 8002540: 330b adds r3, #11 + 8002542: 61fb str r3, [r7, #28] switch(p_sys_event->subevtcode) - 8002438: 69fb ldr r3, [r7, #28] - 800243a: 881b ldrh r3, [r3, #0] - 800243c: b29b uxth r3, r3 - 800243e: f5a3 4312 sub.w r3, r3, #37376 @ 0x9200 - 8002442: 2b07 cmp r3, #7 - 8002444: d81f bhi.n 8002486 - 8002446: a201 add r2, pc, #4 @ (adr r2, 800244c ) - 8002448: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 800244c: 0800246d .word 0x0800246d - 8002450: 0800247f .word 0x0800247f - 8002454: 08002487 .word 0x08002487 - 8002458: 08002487 .word 0x08002487 - 800245c: 08002487 .word 0x08002487 - 8002460: 08002487 .word 0x08002487 - 8002464: 08002487 .word 0x08002487 - 8002468: 08002487 .word 0x08002487 + 8002544: 69fb ldr r3, [r7, #28] + 8002546: 881b ldrh r3, [r3, #0] + 8002548: b29b uxth r3, r3 + 800254a: f5a3 4312 sub.w r3, r3, #37376 @ 0x9200 + 800254e: 2b07 cmp r3, #7 + 8002550: d81f bhi.n 8002592 + 8002552: a201 add r2, pc, #4 @ (adr r2, 8002558 ) + 8002554: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8002558: 08002579 .word 0x08002579 + 800255c: 0800258b .word 0x0800258b + 8002560: 08002593 .word 0x08002593 + 8002564: 08002593 .word 0x08002593 + 8002568: 08002593 .word 0x08002593 + 800256c: 08002593 .word 0x08002593 + 8002570: 08002593 .word 0x08002593 + 8002574: 08002593 .word 0x08002593 { case SHCI_SUB_EVT_CODE_READY: /* Read the firmware version of both the wireless firmware and the FUS */ SHCI_GetWirelessFwInfo(&WirelessInfo); - 800246c: f107 030c add.w r3, r7, #12 - 8002470: 4618 mov r0, r3 - 8002472: f00f fff7 bl 8012464 + 8002578: f107 030c add.w r3, r7, #12 + 800257c: 4618 mov r0, r3 + 800257e: f010 fc6f bl 8012e60 APP_DBG_MSG("Wireless Firmware version %d.%d.%d\n", WirelessInfo.VersionMajor, WirelessInfo.VersionMinor, WirelessInfo.VersionSub); APP_DBG_MSG("Wireless Firmware build %d\n", WirelessInfo.VersionReleaseType); APP_DBG_MSG("FUS version %d.%d.%d\n", WirelessInfo.FusVersionMajor, WirelessInfo.FusVersionMinor, WirelessInfo.FusVersionSub); APP_DBG_MSG(">>== SHCI_SUB_EVT_CODE_READY\n\r"); APPE_SysEvtReadyProcessing(pPayload); - 8002476: 6878 ldr r0, [r7, #4] - 8002478: f000 f81b bl 80024b2 + 8002582: 6878 ldr r0, [r7, #4] + 8002584: f000 f81b bl 80025be break; - 800247c: e004 b.n 8002488 + 8002588: e004 b.n 8002594 case SHCI_SUB_EVT_ERROR_NOTIF: APP_DBG_MSG(">>== SHCI_SUB_EVT_ERROR_NOTIF \n\r"); APPE_SysEvtError(pPayload); - 800247e: 6878 ldr r0, [r7, #4] - 8002480: f000 f806 bl 8002490 + 800258a: 6878 ldr r0, [r7, #4] + 800258c: f000 f806 bl 800259c break; - 8002484: e000 b.n 8002488 + 8002590: e000 b.n 8002594 case SHCI_SUB_EVT_NVM_END_ERASE: APP_DBG_MSG(">>== SHCI_SUB_EVT_NVM_END_ERASE\n\r"); break; default: break; - 8002486: bf00 nop + 8002592: bf00 nop } return; - 8002488: bf00 nop + 8002594: bf00 nop } - 800248a: 3720 adds r7, #32 - 800248c: 46bd mov sp, r7 - 800248e: bd80 pop {r7, pc} + 8002596: 3720 adds r7, #32 + 8002598: 46bd mov sp, r7 + 800259a: bd80 pop {r7, pc} -08002490 : +0800259c : * @param ErrorCode : errorCode detected by the M0 firmware * * @retval None */ static void APPE_SysEvtError(void * pPayload) { - 8002490: b480 push {r7} - 8002492: b085 sub sp, #20 - 8002494: af00 add r7, sp, #0 - 8002496: 6078 str r0, [r7, #4] + 800259c: b480 push {r7} + 800259e: b085 sub sp, #20 + 80025a0: af00 add r7, sp, #0 + 80025a2: 6078 str r0, [r7, #4] TL_AsynchEvt_t *p_sys_event; SCHI_SystemErrCode_t *p_sys_error_code; p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload); - 8002498: 687b ldr r3, [r7, #4] - 800249a: 685b ldr r3, [r3, #4] - 800249c: 330b adds r3, #11 - 800249e: 60fb str r3, [r7, #12] + 80025a4: 687b ldr r3, [r7, #4] + 80025a6: 685b ldr r3, [r3, #4] + 80025a8: 330b adds r3, #11 + 80025aa: 60fb str r3, [r7, #12] p_sys_error_code = (SCHI_SystemErrCode_t*) p_sys_event->payload; - 80024a0: 68fb ldr r3, [r7, #12] - 80024a2: 3302 adds r3, #2 - 80024a4: 60bb str r3, [r7, #8] + 80025ac: 68fb ldr r3, [r7, #12] + 80025ae: 3302 adds r3, #2 + 80025b0: 60bb str r3, [r7, #8] } else { APP_DBG_MSG(">>== SHCI_SUB_EVT_ERROR_NOTIF WITH REASON - BLE ERROR \n"); } return; - 80024a6: bf00 nop + 80025b2: bf00 nop } - 80024a8: 3714 adds r7, #20 - 80024aa: 46bd mov sp, r7 - 80024ac: f85d 7b04 ldr.w r7, [sp], #4 - 80024b0: 4770 bx lr + 80025b4: 3714 adds r7, #20 + 80025b6: 46bd mov sp, r7 + 80025b8: f85d 7b04 ldr.w r7, [sp], #4 + 80025bc: 4770 bx lr -080024b2 : +080025be : static void APPE_SysEvtReadyProcessing(void * pPayload) { - 80024b2: b580 push {r7, lr} - 80024b4: b08a sub sp, #40 @ 0x28 - 80024b6: af00 add r7, sp, #0 - 80024b8: 6078 str r0, [r7, #4] + 80025be: b580 push {r7, lr} + 80025c0: b08a sub sp, #40 @ 0x28 + 80025c2: af00 add r7, sp, #0 + 80025c4: 6078 str r0, [r7, #4] TL_AsynchEvt_t *p_sys_event; SHCI_C2_Ready_Evt_t *p_sys_ready_event; SHCI_C2_CONFIG_Cmd_Param_t config_param = {0}; - 80024ba: f107 0308 add.w r3, r7, #8 - 80024be: 2200 movs r2, #0 - 80024c0: 601a str r2, [r3, #0] - 80024c2: 605a str r2, [r3, #4] - 80024c4: 609a str r2, [r3, #8] - 80024c6: 60da str r2, [r3, #12] + 80025c6: f107 0308 add.w r3, r7, #8 + 80025ca: 2200 movs r2, #0 + 80025cc: 601a str r2, [r3, #0] + 80025ce: 605a str r2, [r3, #4] + 80025d0: 609a str r2, [r3, #8] + 80025d2: 60da str r2, [r3, #12] uint32_t RevisionID=0; - 80024c8: 2300 movs r3, #0 - 80024ca: 627b str r3, [r7, #36] @ 0x24 + 80025d4: 2300 movs r3, #0 + 80025d6: 627b str r3, [r7, #36] @ 0x24 uint32_t DeviceID=0; - 80024cc: 2300 movs r3, #0 - 80024ce: 623b str r3, [r7, #32] + 80025d8: 2300 movs r3, #0 + 80025da: 623b str r3, [r7, #32] p_sys_event = (TL_AsynchEvt_t*)(((tSHCI_UserEvtRxParam*)pPayload)->pckt->evtserial.evt.payload); - 80024d0: 687b ldr r3, [r7, #4] - 80024d2: 685b ldr r3, [r3, #4] - 80024d4: 330b adds r3, #11 - 80024d6: 61fb str r3, [r7, #28] + 80025dc: 687b ldr r3, [r7, #4] + 80025de: 685b ldr r3, [r3, #4] + 80025e0: 330b adds r3, #11 + 80025e2: 61fb str r3, [r7, #28] p_sys_ready_event = (SHCI_C2_Ready_Evt_t*) p_sys_event->payload; - 80024d8: 69fb ldr r3, [r7, #28] - 80024da: 3302 adds r3, #2 - 80024dc: 61bb str r3, [r7, #24] + 80025e4: 69fb ldr r3, [r7, #28] + 80025e6: 3302 adds r3, #2 + 80025e8: 61bb str r3, [r7, #24] if (p_sys_ready_event->sysevt_ready_rsp == WIRELESS_FW_RUNNING) - 80024de: 69bb ldr r3, [r7, #24] - 80024e0: 781b ldrb r3, [r3, #0] - 80024e2: 2b00 cmp r3, #0 - 80024e4: d11d bne.n 8002522 + 80025ea: 69bb ldr r3, [r7, #24] + 80025ec: 781b ldrb r3, [r3, #0] + 80025ee: 2b00 cmp r3, #0 + 80025f0: d11d bne.n 800262e * The wireless firmware is running on the CPU2 */ APP_DBG_MSG(">>== WIRELESS_FW_RUNNING \n"); /* Traces channel initialization */ APPD_EnableCPU2(); - 80024e6: f7ff fdf5 bl 80020d4 + 80025f2: f7ff fdf5 bl 80021e0 /* Enable all events Notification */ config_param.PayloadCmdSize = SHCI_C2_CONFIG_PAYLOAD_CMD_SIZE; - 80024ea: 230f movs r3, #15 - 80024ec: 723b strb r3, [r7, #8] + 80025f6: 230f movs r3, #15 + 80025f8: 723b strb r3, [r7, #8] config_param.EvtMask1 = SHCI_C2_CONFIG_EVTMASK1_BIT0_ERROR_NOTIF_ENABLE - 80024ee: 237f movs r3, #127 @ 0x7f - 80024f0: 72bb strb r3, [r7, #10] + 80025fa: 237f movs r3, #127 @ 0x7f + 80025fc: 72bb strb r3, [r7, #10] * @brief Return the device revision identifier * @note This field indicates the revision of the device. * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF */ RevisionID = LL_DBGMCU_GetRevisionID(); - 80024f2: f7ff fe75 bl 80021e0 - 80024f6: 6278 str r0, [r7, #36] @ 0x24 + 80025fe: f7ff fe75 bl 80022ec + 8002602: 6278 str r0, [r7, #36] @ 0x24 APP_DBG_MSG(">>== DBGMCU_GetRevisionID= %lx \n\r", RevisionID); config_param.RevisionID = (uint16_t)RevisionID; - 80024f8: 6a7b ldr r3, [r7, #36] @ 0x24 - 80024fa: b29b uxth r3, r3 - 80024fc: 82bb strh r3, [r7, #20] + 8002604: 6a7b ldr r3, [r7, #36] @ 0x24 + 8002606: b29b uxth r3, r3 + 8002608: 82bb strh r3, [r7, #20] DeviceID = LL_DBGMCU_GetDeviceID(); - 80024fe: f7ff fe61 bl 80021c4 - 8002502: 6238 str r0, [r7, #32] + 800260a: f7ff fe61 bl 80022d0 + 800260e: 6238 str r0, [r7, #32] APP_DBG_MSG(">>== DBGMCU_GetDeviceID= %lx \n\r", DeviceID); config_param.DeviceID = (uint16_t)DeviceID; - 8002504: 6a3b ldr r3, [r7, #32] - 8002506: b29b uxth r3, r3 - 8002508: 82fb strh r3, [r7, #22] + 8002610: 6a3b ldr r3, [r7, #32] + 8002612: b29b uxth r3, r3 + 8002614: 82fb strh r3, [r7, #22] (void)SHCI_C2_Config(&config_param); - 800250a: f107 0308 add.w r3, r7, #8 - 800250e: 4618 mov r0, r3 - 8002510: f00f ff92 bl 8012438 + 8002616: f107 0308 add.w r3, r7, #8 + 800261a: 4618 mov r0, r3 + 800261c: f010 fc0a bl 8012e34 APP_BLE_Init(); - 8002514: f7ff ff60 bl 80023d8 + 8002620: f7ff ff60 bl 80024e4 UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE); - 8002518: 2100 movs r1, #0 - 800251a: 2001 movs r0, #1 - 800251c: f016 fa36 bl 801898c + 8002624: 2100 movs r1, #0 + 8002626: 2001 movs r0, #1 + 8002628: f016 fe98 bl 801935c else { APP_DBG_MSG(">>== SHCI_SUB_EVT_CODE_READY - UNEXPECTED CASE \n\r"); } return; - 8002520: e007 b.n 8002532 + 800262c: e007 b.n 800263e else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING) - 8002522: 69bb ldr r3, [r7, #24] - 8002524: 781b ldrb r3, [r3, #0] - 8002526: 2b01 cmp r3, #1 - 8002528: d103 bne.n 8002532 + 800262e: 69bb ldr r3, [r7, #24] + 8002630: 781b ldrb r3, [r3, #0] + 8002632: 2b01 cmp r3, #1 + 8002634: d103 bne.n 800263e ((tSHCI_UserEvtRxParam*)pPayload)->status = SHCI_TL_UserEventFlow_Disable; - 800252a: 687b ldr r3, [r7, #4] - 800252c: 2200 movs r2, #0 - 800252e: 701a strb r2, [r3, #0] + 8002636: 687b ldr r3, [r7, #4] + 8002638: 2200 movs r2, #0 + 800263a: 701a strb r2, [r3, #0] return; - 8002530: bf00 nop - 8002532: bf00 nop + 800263c: bf00 nop + 800263e: bf00 nop } - 8002534: 3728 adds r7, #40 @ 0x28 - 8002536: 46bd mov sp, r7 - 8002538: bd80 pop {r7, pc} + 8002640: 3728 adds r7, #40 @ 0x28 + 8002642: 46bd mov sp, r7 + 8002644: bd80 pop {r7, pc} -0800253a : +08002646 : * * FREERTOS WRAPPER FUNCTIONS * *************************************************************/ static void ShciUserEvtProcess(void *argument) { - 800253a: b580 push {r7, lr} - 800253c: b082 sub sp, #8 - 800253e: af00 add r7, sp, #0 - 8002540: 6078 str r0, [r7, #4] + 8002646: b580 push {r7, lr} + 8002648: b082 sub sp, #8 + 800264a: af00 add r7, sp, #0 + 800264c: 6078 str r0, [r7, #4] for(;;) { /* USER CODE BEGIN SHCI_USER_EVT_PROCESS_1 */ /* USER CODE END SHCI_USER_EVT_PROCESS_1 */ osThreadFlagsWait(1, osFlagsWaitAny, osWaitForever); - 8002542: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8002546: 2100 movs r1, #0 - 8002548: 2001 movs r0, #1 - 800254a: f010 fe09 bl 8013160 + 800264e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8002652: 2100 movs r1, #0 + 8002654: 2001 movs r0, #1 + 8002656: f011 fa81 bl 8013b5c shci_user_evt_proc(); - 800254e: f010 f853 bl 80125f8 + 800265a: f010 fccb bl 8012ff4 osThreadFlagsWait(1, osFlagsWaitAny, osWaitForever); - 8002552: bf00 nop - 8002554: e7f5 b.n 8002542 + 800265e: bf00 nop + 8002660: e7f5 b.n 800264e ... -08002558 : +08002664 : __WFI(); } } void shci_notify_asynch_evt(void* pdata) { - 8002558: b580 push {r7, lr} - 800255a: b082 sub sp, #8 - 800255c: af00 add r7, sp, #0 - 800255e: 6078 str r0, [r7, #4] + 8002664: b580 push {r7, lr} + 8002666: b082 sub sp, #8 + 8002668: af00 add r7, sp, #0 + 800266a: 6078 str r0, [r7, #4] UNUSED(pdata); osThreadFlagsSet(ShciUserEvtProcessId, 1); - 8002560: 4b04 ldr r3, [pc, #16] @ (8002574 ) - 8002562: 681b ldr r3, [r3, #0] - 8002564: 2101 movs r1, #1 - 8002566: 4618 mov r0, r3 - 8002568: f010 fda4 bl 80130b4 + 800266c: 4b04 ldr r3, [pc, #16] @ (8002680 ) + 800266e: 681b ldr r3, [r3, #0] + 8002670: 2101 movs r1, #1 + 8002672: 4618 mov r0, r3 + 8002674: f011 fa1c bl 8013ab0 return; - 800256c: bf00 nop + 8002678: bf00 nop } - 800256e: 3708 adds r7, #8 - 8002570: 46bd mov sp, r7 - 8002572: bd80 pop {r7, pc} - 8002574: 20000310 .word 0x20000310 + 800267a: 3708 adds r7, #8 + 800267c: 46bd mov sp, r7 + 800267e: bd80 pop {r7, pc} + 8002680: 20000310 .word 0x20000310 -08002578 : +08002684 : void shci_cmd_resp_release(uint32_t flag) { - 8002578: b580 push {r7, lr} - 800257a: b082 sub sp, #8 - 800257c: af00 add r7, sp, #0 - 800257e: 6078 str r0, [r7, #4] + 8002684: b580 push {r7, lr} + 8002686: b082 sub sp, #8 + 8002688: af00 add r7, sp, #0 + 800268a: 6078 str r0, [r7, #4] UNUSED(flag); osSemaphoreRelease(SemShciId); - 8002580: 4b04 ldr r3, [pc, #16] @ (8002594 ) - 8002582: 681b ldr r3, [r3, #0] - 8002584: 4618 mov r0, r3 - 8002586: f011 f86b bl 8013660 + 800268c: 4b04 ldr r3, [pc, #16] @ (80026a0 ) + 800268e: 681b ldr r3, [r3, #0] + 8002690: 4618 mov r0, r3 + 8002692: f011 fcc9 bl 8014028 return; - 800258a: bf00 nop + 8002696: bf00 nop } - 800258c: 3708 adds r7, #8 - 800258e: 46bd mov sp, r7 - 8002590: bd80 pop {r7, pc} - 8002592: bf00 nop - 8002594: 2000030c .word 0x2000030c + 8002698: 3708 adds r7, #8 + 800269a: 46bd mov sp, r7 + 800269c: bd80 pop {r7, pc} + 800269e: bf00 nop + 80026a0: 2000030c .word 0x2000030c -08002598 : +080026a4 : void shci_cmd_resp_wait(uint32_t timeout) { - 8002598: b580 push {r7, lr} - 800259a: b082 sub sp, #8 - 800259c: af00 add r7, sp, #0 - 800259e: 6078 str r0, [r7, #4] + 80026a4: b580 push {r7, lr} + 80026a6: b082 sub sp, #8 + 80026a8: af00 add r7, sp, #0 + 80026aa: 6078 str r0, [r7, #4] UNUSED(timeout); osSemaphoreAcquire(SemShciId, osWaitForever); - 80025a0: 4b05 ldr r3, [pc, #20] @ (80025b8 ) - 80025a2: 681b ldr r3, [r3, #0] - 80025a4: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff - 80025a8: 4618 mov r0, r3 - 80025aa: f011 f809 bl 80135c0 + 80026ac: 4b05 ldr r3, [pc, #20] @ (80026c4 ) + 80026ae: 681b ldr r3, [r3, #0] + 80026b0: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff + 80026b4: 4618 mov r0, r3 + 80026b6: f011 fc67 bl 8013f88 return; - 80025ae: bf00 nop + 80026ba: bf00 nop } - 80025b0: 3708 adds r7, #8 - 80025b2: 46bd mov sp, r7 - 80025b4: bd80 pop {r7, pc} - 80025b6: bf00 nop - 80025b8: 2000030c .word 0x2000030c + 80026bc: 3708 adds r7, #8 + 80026be: 46bd mov sp, r7 + 80026c0: bd80 pop {r7, pc} + 80026c2: bf00 nop + 80026c4: 2000030c .word 0x2000030c -080025bc : +080026c8 : +/* Hook prototypes */ +void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName); + +/* USER CODE BEGIN 4 */ +void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName) +{ + 80026c8: b480 push {r7} + 80026ca: b083 sub sp, #12 + 80026cc: af00 add r7, sp, #0 + 80026ce: 6078 str r0, [r7, #4] + 80026d0: 6039 str r1, [r7, #0] + \details Disables IRQ interrupts by setting the I-bit in the CPSR. + Can only be executed in Privileged modes. + */ +__STATIC_FORCEINLINE void __disable_irq(void) +{ + __ASM volatile ("cpsid i" : : : "memory"); + 80026d2: b672 cpsid i +} + 80026d4: bf00 nop + /* Run time stack overflow checking is performed if + configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook function is + called if a stack overflow is detected. */ + __disable_irq(); + for (;;) { } // breakpoint here + 80026d6: bf00 nop + 80026d8: e7fd b.n 80026d6 + +080026da : /*! * @brief This API is the entry point. Call this API before using other APIs. */ int8_t bmm350_init(struct bmm350_dev *dev) { - 80025bc: b580 push {r7, lr} - 80025be: b084 sub sp, #16 - 80025c0: af00 add r7, sp, #0 - 80025c2: 6078 str r0, [r7, #4] + 80026da: b580 push {r7, lr} + 80026dc: b084 sub sp, #16 + 80026de: af00 add r7, sp, #0 + 80026e0: 6078 str r0, [r7, #4] /* Variable to store the function result */ int8_t rslt; /* Variable to get chip id */ uint8_t chip_id = BMM350_DISABLE; - 80025c4: 2300 movs r3, #0 - 80025c6: 73bb strb r3, [r7, #14] + 80026e2: 2300 movs r3, #0 + 80026e4: 73bb strb r3, [r7, #14] /* Variable to store the command to power-off the OTP */ uint8_t otp_cmd = BMM350_OTP_CMD_PWR_OFF_OTP; - 80025c8: 2380 movs r3, #128 @ 0x80 - 80025ca: 737b strb r3, [r7, #13] + 80026e6: 2380 movs r3, #128 @ 0x80 + 80026e8: 737b strb r3, [r7, #13] /* Variable to store soft-reset command */ uint8_t soft_reset; /* Check for null pointer in the device structure */ rslt = null_ptr_check(dev); - 80025cc: 6878 ldr r0, [r7, #4] - 80025ce: f000 fd8a bl 80030e6 - 80025d2: 4603 mov r3, r0 - 80025d4: 73fb strb r3, [r7, #15] + 80026ea: 6878 ldr r0, [r7, #4] + 80026ec: f000 fd8a bl 8003204 + 80026f0: 4603 mov r3, r0 + 80026f2: 73fb strb r3, [r7, #15] /* Proceed if null check is fine */ if (rslt == BMM350_OK) - 80025d6: f997 300f ldrsb.w r3, [r7, #15] - 80025da: 2b00 cmp r3, #0 - 80025dc: d173 bne.n 80026c6 + 80026f4: f997 300f ldrsb.w r3, [r7, #15] + 80026f8: 2b00 cmp r3, #0 + 80026fa: d173 bne.n 80027e4 { dev->chip_id = 0; - 80025de: 687b ldr r3, [r7, #4] - 80025e0: 2200 movs r2, #0 - 80025e2: 711a strb r2, [r3, #4] + 80026fc: 687b ldr r3, [r7, #4] + 80026fe: 2200 movs r2, #0 + 8002700: 711a strb r2, [r3, #4] /* Assign axis_en with all axis enabled (BMM350_EN_XYZ_MSK) */ dev->axis_en = BMM350_EN_XYZ_MSK; - 80025e4: 687b ldr r3, [r7, #4] - 80025e6: 2207 movs r2, #7 - 80025e8: 755a strb r2, [r3, #21] + 8002702: 687b ldr r3, [r7, #4] + 8002704: 2207 movs r2, #7 + 8002706: 755a strb r2, [r3, #21] rslt = bmm350_delay_us(BMM350_START_UP_TIME_FROM_POR, dev); - 80025ea: 6879 ldr r1, [r7, #4] - 80025ec: f640 30b8 movw r0, #3000 @ 0xbb8 - 80025f0: f000 f8f8 bl 80027e4 - 80025f4: 4603 mov r3, r0 - 80025f6: 73fb strb r3, [r7, #15] + 8002708: 6879 ldr r1, [r7, #4] + 800270a: f640 30b8 movw r0, #3000 @ 0xbb8 + 800270e: f000 f8f8 bl 8002902 + 8002712: 4603 mov r3, r0 + 8002714: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 80025f8: f997 300f ldrsb.w r3, [r7, #15] - 80025fc: 2b00 cmp r3, #0 - 80025fe: d115 bne.n 800262c + 8002716: f997 300f ldrsb.w r3, [r7, #15] + 800271a: 2b00 cmp r3, #0 + 800271c: d115 bne.n 800274a { /* Soft-reset */ soft_reset = BMM350_CMD_SOFTRESET; - 8002600: 23b6 movs r3, #182 @ 0xb6 - 8002602: 733b strb r3, [r7, #12] + 800271e: 23b6 movs r3, #182 @ 0xb6 + 8002720: 733b strb r3, [r7, #12] /* Set the command in the command register */ rslt = bmm350_set_regs(BMM350_REG_CMD, &soft_reset, 1, dev); - 8002604: f107 010c add.w r1, r7, #12 - 8002608: 687b ldr r3, [r7, #4] - 800260a: 2201 movs r2, #1 - 800260c: 207e movs r0, #126 @ 0x7e - 800260e: f000 f860 bl 80026d2 - 8002612: 4603 mov r3, r0 - 8002614: 73fb strb r3, [r7, #15] + 8002722: f107 010c add.w r1, r7, #12 + 8002726: 687b ldr r3, [r7, #4] + 8002728: 2201 movs r2, #1 + 800272a: 207e movs r0, #126 @ 0x7e + 800272c: f000 f860 bl 80027f0 + 8002730: 4603 mov r3, r0 + 8002732: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8002616: f997 300f ldrsb.w r3, [r7, #15] - 800261a: 2b00 cmp r3, #0 - 800261c: d106 bne.n 800262c + 8002734: f997 300f ldrsb.w r3, [r7, #15] + 8002738: 2b00 cmp r3, #0 + 800273a: d106 bne.n 800274a { rslt = bmm350_delay_us(BMM350_SOFT_RESET_DELAY, dev); - 800261e: 6879 ldr r1, [r7, #4] - 8002620: f645 50c0 movw r0, #24000 @ 0x5dc0 - 8002624: f000 f8de bl 80027e4 - 8002628: 4603 mov r3, r0 - 800262a: 73fb strb r3, [r7, #15] + 800273c: 6879 ldr r1, [r7, #4] + 800273e: f645 50c0 movw r0, #24000 @ 0x5dc0 + 8002742: f000 f8de bl 8002902 + 8002746: 4603 mov r3, r0 + 8002748: 73fb strb r3, [r7, #15] } } if (rslt == BMM350_OK) - 800262c: f997 300f ldrsb.w r3, [r7, #15] - 8002630: 2b00 cmp r3, #0 - 8002632: d10f bne.n 8002654 + 800274a: f997 300f ldrsb.w r3, [r7, #15] + 800274e: 2b00 cmp r3, #0 + 8002750: d10f bne.n 8002772 { /* Chip ID of the sensor is read */ rslt = bmm350_get_regs(BMM350_REG_CHIP_ID, &chip_id, 1, dev); - 8002634: f107 010e add.w r1, r7, #14 - 8002638: 687b ldr r3, [r7, #4] - 800263a: 2201 movs r2, #1 - 800263c: 2000 movs r0, #0 - 800263e: f000 f87c bl 800273a - 8002642: 4603 mov r3, r0 - 8002644: 73fb strb r3, [r7, #15] + 8002752: f107 010e add.w r1, r7, #14 + 8002756: 687b ldr r3, [r7, #4] + 8002758: 2201 movs r2, #1 + 800275a: 2000 movs r0, #0 + 800275c: f000 f87c bl 8002858 + 8002760: 4603 mov r3, r0 + 8002762: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8002646: f997 300f ldrsb.w r3, [r7, #15] - 800264a: 2b00 cmp r3, #0 - 800264c: d102 bne.n 8002654 + 8002764: f997 300f ldrsb.w r3, [r7, #15] + 8002768: 2b00 cmp r3, #0 + 800276a: d102 bne.n 8002772 { /* Assign chip_id to dev->chip_id */ dev->chip_id = chip_id; - 800264e: 7bba ldrb r2, [r7, #14] - 8002650: 687b ldr r3, [r7, #4] - 8002652: 711a strb r2, [r3, #4] + 800276c: 7bba ldrb r2, [r7, #14] + 800276e: 687b ldr r3, [r7, #4] + 8002770: 711a strb r2, [r3, #4] } } /* Check for chip id validity */ if ((rslt == BMM350_OK) && (dev->chip_id == BMM350_CHIP_ID)) - 8002654: f997 300f ldrsb.w r3, [r7, #15] - 8002658: 2b00 cmp r3, #0 - 800265a: d130 bne.n 80026be - 800265c: 687b ldr r3, [r7, #4] - 800265e: 791b ldrb r3, [r3, #4] - 8002660: 2b33 cmp r3, #51 @ 0x33 - 8002662: d12c bne.n 80026be + 8002772: f997 300f ldrsb.w r3, [r7, #15] + 8002776: 2b00 cmp r3, #0 + 8002778: d130 bne.n 80027dc + 800277a: 687b ldr r3, [r7, #4] + 800277c: 791b ldrb r3, [r3, #4] + 800277e: 2b33 cmp r3, #51 @ 0x33 + 8002780: d12c bne.n 80027dc { /* Download OTP memory */ rslt = otp_dump_after_boot(dev); - 8002664: 6878 ldr r0, [r7, #4] - 8002666: f001 f913 bl 8003890 - 800266a: 4603 mov r3, r0 - 800266c: 73fb strb r3, [r7, #15] + 8002782: 6878 ldr r0, [r7, #4] + 8002784: f001 f910 bl 80039a8 + 8002788: 4603 mov r3, r0 + 800278a: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 800266e: f997 300f ldrsb.w r3, [r7, #15] - 8002672: 2b00 cmp r3, #0 - 8002674: d126 bne.n 80026c4 + 800278c: f997 300f ldrsb.w r3, [r7, #15] + 8002790: 2b00 cmp r3, #0 + 8002792: d126 bne.n 80027e2 { /* Power off OTP */ rslt = bmm350_set_regs(BMM350_REG_OTP_CMD_REG, &otp_cmd, 1, dev); - 8002676: f107 010d add.w r1, r7, #13 - 800267a: 687b ldr r3, [r7, #4] - 800267c: 2201 movs r2, #1 - 800267e: 2050 movs r0, #80 @ 0x50 - 8002680: f000 f827 bl 80026d2 - 8002684: 4603 mov r3, r0 - 8002686: 73fb strb r3, [r7, #15] + 8002794: f107 010d add.w r1, r7, #13 + 8002798: 687b ldr r3, [r7, #4] + 800279a: 2201 movs r2, #1 + 800279c: 2050 movs r0, #80 @ 0x50 + 800279e: f000 f827 bl 80027f0 + 80027a2: 4603 mov r3, r0 + 80027a4: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8002688: f997 300f ldrsb.w r3, [r7, #15] - 800268c: 2b00 cmp r3, #0 - 800268e: d119 bne.n 80026c4 + 80027a6: f997 300f ldrsb.w r3, [r7, #15] + 80027aa: 2b00 cmp r3, #0 + 80027ac: d119 bne.n 80027e2 { if (dev->boot_done_status != BMM350_BOOT_NOT_DONE) - 8002690: 687b ldr r3, [r7, #4] - 8002692: f893 30ac ldrb.w r3, [r3, #172] @ 0xac - 8002696: 2b00 cmp r3, #0 - 8002698: d003 beq.n 80026a2 + 80027ae: 687b ldr r3, [r7, #4] + 80027b0: f893 30ac ldrb.w r3, [r3, #172] @ 0xac + 80027b4: 2b00 cmp r3, #0 + 80027b6: d003 beq.n 80027c0 { dev->boot_done_status = BMM350_BOOT_NOT_DONE; - 800269a: 687b ldr r3, [r7, #4] - 800269c: 2200 movs r2, #0 - 800269e: f883 20ac strb.w r2, [r3, #172] @ 0xac + 80027b8: 687b ldr r3, [r7, #4] + 80027ba: 2200 movs r2, #0 + 80027bc: f883 20ac strb.w r2, [r3, #172] @ 0xac } rslt = bmm350_magnetic_reset_and_wait(dev); - 80026a2: 6878 ldr r0, [r7, #4] - 80026a4: f000 fa98 bl 8002bd8 - 80026a8: 4603 mov r3, r0 - 80026aa: 73fb strb r3, [r7, #15] + 80027c0: 6878 ldr r0, [r7, #4] + 80027c2: f000 fa98 bl 8002cf6 + 80027c6: 4603 mov r3, r0 + 80027c8: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 80026ac: f997 300f ldrsb.w r3, [r7, #15] - 80026b0: 2b00 cmp r3, #0 - 80026b2: d107 bne.n 80026c4 + 80027ca: f997 300f ldrsb.w r3, [r7, #15] + 80027ce: 2b00 cmp r3, #0 + 80027d0: d107 bne.n 80027e2 { dev->boot_done_status = BMM350_BOOT_DONE; - 80026b4: 687b ldr r3, [r7, #4] - 80026b6: 2201 movs r2, #1 - 80026b8: f883 20ac strb.w r2, [r3, #172] @ 0xac + 80027d2: 687b ldr r3, [r7, #4] + 80027d4: 2201 movs r2, #1 + 80027d6: f883 20ac strb.w r2, [r3, #172] @ 0xac if (rslt == BMM350_OK) - 80026bc: e002 b.n 80026c4 + 80027da: e002 b.n 80027e2 } } } else { rslt = BMM350_E_DEV_NOT_FOUND; - 80026be: 23fd movs r3, #253 @ 0xfd - 80026c0: 73fb strb r3, [r7, #15] - 80026c2: e000 b.n 80026c6 + 80027dc: 23fd movs r3, #253 @ 0xfd + 80027de: 73fb strb r3, [r7, #15] + 80027e0: e000 b.n 80027e4 if (rslt == BMM350_OK) - 80026c4: bf00 nop + 80027e2: bf00 nop } } return rslt; - 80026c6: f997 300f ldrsb.w r3, [r7, #15] + 80027e4: f997 300f ldrsb.w r3, [r7, #15] } - 80026ca: 4618 mov r0, r3 - 80026cc: 3710 adds r7, #16 - 80026ce: 46bd mov sp, r7 - 80026d0: bd80 pop {r7, pc} + 80027e8: 4618 mov r0, r3 + 80027ea: 3710 adds r7, #16 + 80027ec: 46bd mov sp, r7 + 80027ee: bd80 pop {r7, pc} -080026d2 : +080027f0 : /*! * @brief This API writes the given data to the register address * of the sensor. */ int8_t bmm350_set_regs(uint8_t reg_addr, const uint8_t *reg_data, uint16_t len, struct bmm350_dev *dev) { - 80026d2: b590 push {r4, r7, lr} - 80026d4: b087 sub sp, #28 - 80026d6: af00 add r7, sp, #0 - 80026d8: 60b9 str r1, [r7, #8] - 80026da: 607b str r3, [r7, #4] - 80026dc: 4603 mov r3, r0 - 80026de: 73fb strb r3, [r7, #15] - 80026e0: 4613 mov r3, r2 - 80026e2: 81bb strh r3, [r7, #12] + 80027f0: b590 push {r4, r7, lr} + 80027f2: b087 sub sp, #28 + 80027f4: af00 add r7, sp, #0 + 80027f6: 60b9 str r1, [r7, #8] + 80027f8: 607b str r3, [r7, #4] + 80027fa: 4603 mov r3, r0 + 80027fc: 73fb strb r3, [r7, #15] + 80027fe: 4613 mov r3, r2 + 8002800: 81bb strh r3, [r7, #12] /* Variable to store the function result */ int8_t rslt; /* Check for null pointer in the device structure */ rslt = null_ptr_check(dev); - 80026e4: 6878 ldr r0, [r7, #4] - 80026e6: f000 fcfe bl 80030e6 - 80026ea: 4603 mov r3, r0 - 80026ec: 75fb strb r3, [r7, #23] + 8002802: 6878 ldr r0, [r7, #4] + 8002804: f000 fcfe bl 8003204 + 8002808: 4603 mov r3, r0 + 800280a: 75fb strb r3, [r7, #23] /* Proceed if null check is fine */ if ((rslt == BMM350_OK) && (reg_data != NULL) && (len != 0)) - 80026ee: f997 3017 ldrsb.w r3, [r7, #23] - 80026f2: 2b00 cmp r3, #0 - 80026f4: d119 bne.n 800272a - 80026f6: 68bb ldr r3, [r7, #8] - 80026f8: 2b00 cmp r3, #0 - 80026fa: d016 beq.n 800272a - 80026fc: 89bb ldrh r3, [r7, #12] - 80026fe: 2b00 cmp r3, #0 - 8002700: d013 beq.n 800272a + 800280c: f997 3017 ldrsb.w r3, [r7, #23] + 8002810: 2b00 cmp r3, #0 + 8002812: d119 bne.n 8002848 + 8002814: 68bb ldr r3, [r7, #8] + 8002816: 2b00 cmp r3, #0 + 8002818: d016 beq.n 8002848 + 800281a: 89bb ldrh r3, [r7, #12] + 800281c: 2b00 cmp r3, #0 + 800281e: d013 beq.n 8002848 { /* Write the data to the reg_addr */ dev->intf_rslt = dev->write(reg_addr, reg_data, len, dev->intf_ptr); - 8002702: 687b ldr r3, [r7, #4] - 8002704: 68dc ldr r4, [r3, #12] - 8002706: 89ba ldrh r2, [r7, #12] - 8002708: 687b ldr r3, [r7, #4] - 800270a: 681b ldr r3, [r3, #0] - 800270c: 7bf8 ldrb r0, [r7, #15] - 800270e: 68b9 ldr r1, [r7, #8] - 8002710: 47a0 blx r4 - 8002712: 4603 mov r3, r0 - 8002714: 461a mov r2, r3 - 8002716: 687b ldr r3, [r7, #4] - 8002718: 751a strb r2, [r3, #20] + 8002820: 687b ldr r3, [r7, #4] + 8002822: 68dc ldr r4, [r3, #12] + 8002824: 89ba ldrh r2, [r7, #12] + 8002826: 687b ldr r3, [r7, #4] + 8002828: 681b ldr r3, [r3, #0] + 800282a: 7bf8 ldrb r0, [r7, #15] + 800282c: 68b9 ldr r1, [r7, #8] + 800282e: 47a0 blx r4 + 8002830: 4603 mov r3, r0 + 8002832: 461a mov r2, r3 + 8002834: 687b ldr r3, [r7, #4] + 8002836: 751a strb r2, [r3, #20] if (dev->intf_rslt != BMM350_INTF_RET_SUCCESS) - 800271a: 687b ldr r3, [r7, #4] - 800271c: f993 3014 ldrsb.w r3, [r3, #20] - 8002720: 2b00 cmp r3, #0 - 8002722: d004 beq.n 800272e + 8002838: 687b ldr r3, [r7, #4] + 800283a: f993 3014 ldrsb.w r3, [r3, #20] + 800283e: 2b00 cmp r3, #0 + 8002840: d004 beq.n 800284c { rslt = BMM350_E_COM_FAIL; - 8002724: 23fe movs r3, #254 @ 0xfe - 8002726: 75fb strb r3, [r7, #23] + 8002842: 23fe movs r3, #254 @ 0xfe + 8002844: 75fb strb r3, [r7, #23] if (dev->intf_rslt != BMM350_INTF_RET_SUCCESS) - 8002728: e001 b.n 800272e + 8002846: e001 b.n 800284c } } else { rslt = BMM350_E_NULL_PTR; - 800272a: 23ff movs r3, #255 @ 0xff - 800272c: 75fb strb r3, [r7, #23] + 8002848: 23ff movs r3, #255 @ 0xff + 800284a: 75fb strb r3, [r7, #23] } return rslt; - 800272e: f997 3017 ldrsb.w r3, [r7, #23] + 800284c: f997 3017 ldrsb.w r3, [r7, #23] } - 8002732: 4618 mov r0, r3 - 8002734: 371c adds r7, #28 - 8002736: 46bd mov sp, r7 - 8002738: bd90 pop {r4, r7, pc} + 8002850: 4618 mov r0, r3 + 8002852: 371c adds r7, #28 + 8002854: 46bd mov sp, r7 + 8002856: bd90 pop {r4, r7, pc} -0800273a : +08002858 : /*! * @brief This API reads the data from the given register address of sensor. */ int8_t bmm350_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint16_t len, struct bmm350_dev *dev) { - 800273a: b590 push {r4, r7, lr} - 800273c: b0a7 sub sp, #156 @ 0x9c - 800273e: af00 add r7, sp, #0 - 8002740: 60b9 str r1, [r7, #8] - 8002742: 607b str r3, [r7, #4] - 8002744: 4603 mov r3, r0 - 8002746: 73fb strb r3, [r7, #15] - 8002748: 4613 mov r3, r2 - 800274a: 81bb strh r3, [r7, #12] + 8002858: b590 push {r4, r7, lr} + 800285a: b0a7 sub sp, #156 @ 0x9c + 800285c: af00 add r7, sp, #0 + 800285e: 60b9 str r1, [r7, #8] + 8002860: 607b str r3, [r7, #4] + 8002862: 4603 mov r3, r0 + 8002864: 73fb strb r3, [r7, #15] + 8002866: 4613 mov r3, r2 + 8002868: 81bb strh r3, [r7, #12] /* Variable to store the function result */ int8_t rslt; /* Variable to define temporary length */ uint16_t temp_len = len + BMM350_DUMMY_BYTES; - 800274c: 89bb ldrh r3, [r7, #12] - 800274e: 3302 adds r3, #2 - 8002750: f8a7 3092 strh.w r3, [r7, #146] @ 0x92 + 800286a: 89bb ldrh r3, [r7, #12] + 800286c: 3302 adds r3, #2 + 800286e: f8a7 3092 strh.w r3, [r7, #146] @ 0x92 /* Variable to define temporary buffer */ uint8_t temp_buf[BMM350_READ_BUFFER_LENGTH]; /* Variable to define loop */ uint16_t index = 0; - 8002754: 2300 movs r3, #0 - 8002756: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 + 8002872: 2300 movs r3, #0 + 8002874: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 /* Check for null pointer in the device structure */ rslt = null_ptr_check(dev); - 800275a: 6878 ldr r0, [r7, #4] - 800275c: f000 fcc3 bl 80030e6 - 8002760: 4603 mov r3, r0 - 8002762: f887 3097 strb.w r3, [r7, #151] @ 0x97 + 8002878: 6878 ldr r0, [r7, #4] + 800287a: f000 fcc3 bl 8003204 + 800287e: 4603 mov r3, r0 + 8002880: f887 3097 strb.w r3, [r7, #151] @ 0x97 /* Proceed if null check is fine */ if ((rslt == BMM350_OK) && (reg_data != NULL)) - 8002766: f997 3097 ldrsb.w r3, [r7, #151] @ 0x97 - 800276a: 2b00 cmp r3, #0 - 800276c: d131 bne.n 80027d2 - 800276e: 68bb ldr r3, [r7, #8] - 8002770: 2b00 cmp r3, #0 - 8002772: d02e beq.n 80027d2 + 8002884: f997 3097 ldrsb.w r3, [r7, #151] @ 0x97 + 8002888: 2b00 cmp r3, #0 + 800288a: d131 bne.n 80028f0 + 800288c: 68bb ldr r3, [r7, #8] + 800288e: 2b00 cmp r3, #0 + 8002890: d02e beq.n 80028f0 { /* Read the data from the reg_addr */ dev->intf_rslt = dev->read(reg_addr, temp_buf, temp_len, dev->intf_ptr); - 8002774: 687b ldr r3, [r7, #4] - 8002776: 689c ldr r4, [r3, #8] - 8002778: f8b7 2092 ldrh.w r2, [r7, #146] @ 0x92 - 800277c: 687b ldr r3, [r7, #4] - 800277e: 681b ldr r3, [r3, #0] - 8002780: f107 0110 add.w r1, r7, #16 - 8002784: 7bf8 ldrb r0, [r7, #15] - 8002786: 47a0 blx r4 - 8002788: 4603 mov r3, r0 - 800278a: 461a mov r2, r3 - 800278c: 687b ldr r3, [r7, #4] - 800278e: 751a strb r2, [r3, #20] + 8002892: 687b ldr r3, [r7, #4] + 8002894: 689c ldr r4, [r3, #8] + 8002896: f8b7 2092 ldrh.w r2, [r7, #146] @ 0x92 + 800289a: 687b ldr r3, [r7, #4] + 800289c: 681b ldr r3, [r3, #0] + 800289e: f107 0110 add.w r1, r7, #16 + 80028a2: 7bf8 ldrb r0, [r7, #15] + 80028a4: 47a0 blx r4 + 80028a6: 4603 mov r3, r0 + 80028a8: 461a mov r2, r3 + 80028aa: 687b ldr r3, [r7, #4] + 80028ac: 751a strb r2, [r3, #20] if (dev->intf_rslt == BMM350_INTF_RET_SUCCESS) - 8002790: 687b ldr r3, [r7, #4] - 8002792: f993 3014 ldrsb.w r3, [r3, #20] - 8002796: 2b00 cmp r3, #0 - 8002798: d117 bne.n 80027ca + 80028ae: 687b ldr r3, [r7, #4] + 80028b0: f993 3014 ldrsb.w r3, [r3, #20] + 80028b4: 2b00 cmp r3, #0 + 80028b6: d117 bne.n 80028e8 { /* Copy data after dummy byte indices */ while (index < len) - 800279a: e010 b.n 80027be + 80028b8: e010 b.n 80028dc { reg_data[index] = temp_buf[index + BMM350_DUMMY_BYTES]; - 800279c: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 80027a0: 1c9a adds r2, r3, #2 - 80027a2: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 80027a6: 68b9 ldr r1, [r7, #8] - 80027a8: 440b add r3, r1 - 80027aa: 3298 adds r2, #152 @ 0x98 - 80027ac: 443a add r2, r7 - 80027ae: f812 2c88 ldrb.w r2, [r2, #-136] - 80027b2: 701a strb r2, [r3, #0] + 80028ba: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 80028be: 1c9a adds r2, r3, #2 + 80028c0: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 80028c4: 68b9 ldr r1, [r7, #8] + 80028c6: 440b add r3, r1 + 80028c8: 3298 adds r2, #152 @ 0x98 + 80028ca: 443a add r2, r7 + 80028cc: f812 2c88 ldrb.w r2, [r2, #-136] + 80028d0: 701a strb r2, [r3, #0] index++; - 80027b4: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 80027b8: 3301 adds r3, #1 - 80027ba: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 + 80028d2: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 80028d6: 3301 adds r3, #1 + 80028d8: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 while (index < len) - 80027be: f8b7 2094 ldrh.w r2, [r7, #148] @ 0x94 - 80027c2: 89bb ldrh r3, [r7, #12] - 80027c4: 429a cmp r2, r3 - 80027c6: d3e9 bcc.n 800279c + 80028dc: f8b7 2094 ldrh.w r2, [r7, #148] @ 0x94 + 80028e0: 89bb ldrh r3, [r7, #12] + 80028e2: 429a cmp r2, r3 + 80028e4: d3e9 bcc.n 80028ba if (dev->intf_rslt == BMM350_INTF_RET_SUCCESS) - 80027c8: e006 b.n 80027d8 + 80028e6: e006 b.n 80028f6 } } else { rslt = BMM350_E_COM_FAIL; - 80027ca: 23fe movs r3, #254 @ 0xfe - 80027cc: f887 3097 strb.w r3, [r7, #151] @ 0x97 + 80028e8: 23fe movs r3, #254 @ 0xfe + 80028ea: f887 3097 strb.w r3, [r7, #151] @ 0x97 if (dev->intf_rslt == BMM350_INTF_RET_SUCCESS) - 80027d0: e002 b.n 80027d8 + 80028ee: e002 b.n 80028f6 } } else { rslt = BMM350_E_NULL_PTR; - 80027d2: 23ff movs r3, #255 @ 0xff - 80027d4: f887 3097 strb.w r3, [r7, #151] @ 0x97 + 80028f0: 23ff movs r3, #255 @ 0xff + 80028f2: f887 3097 strb.w r3, [r7, #151] @ 0x97 } return rslt; - 80027d8: f997 3097 ldrsb.w r3, [r7, #151] @ 0x97 + 80028f6: f997 3097 ldrsb.w r3, [r7, #151] @ 0x97 } - 80027dc: 4618 mov r0, r3 - 80027de: 379c adds r7, #156 @ 0x9c - 80027e0: 46bd mov sp, r7 - 80027e2: bd90 pop {r4, r7, pc} + 80028fa: 4618 mov r0, r3 + 80028fc: 379c adds r7, #156 @ 0x9c + 80028fe: 46bd mov sp, r7 + 8002900: bd90 pop {r4, r7, pc} -080027e4 : +08002902 : /*! * @brief This function provides the delay for required time (Microsecond) as per the input provided in some of the * APIs. */ int8_t bmm350_delay_us(uint32_t period_us, const struct bmm350_dev *dev) { - 80027e4: b580 push {r7, lr} - 80027e6: b084 sub sp, #16 - 80027e8: af00 add r7, sp, #0 - 80027ea: 6078 str r0, [r7, #4] - 80027ec: 6039 str r1, [r7, #0] + 8002902: b580 push {r7, lr} + 8002904: b084 sub sp, #16 + 8002906: af00 add r7, sp, #0 + 8002908: 6078 str r0, [r7, #4] + 800290a: 6039 str r1, [r7, #0] /* Variable to store the function result */ int8_t rslt; /* Check for null pointer in the device structure */ rslt = null_ptr_check(dev); - 80027ee: 6838 ldr r0, [r7, #0] - 80027f0: f000 fc79 bl 80030e6 - 80027f4: 4603 mov r3, r0 - 80027f6: 73fb strb r3, [r7, #15] + 800290c: 6838 ldr r0, [r7, #0] + 800290e: f000 fc79 bl 8003204 + 8002912: 4603 mov r3, r0 + 8002914: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 80027f8: f997 300f ldrsb.w r3, [r7, #15] - 80027fc: 2b00 cmp r3, #0 - 80027fe: d106 bne.n 800280e + 8002916: f997 300f ldrsb.w r3, [r7, #15] + 800291a: 2b00 cmp r3, #0 + 800291c: d106 bne.n 800292c { dev->delay_us(period_us, dev->intf_ptr); - 8002800: 683b ldr r3, [r7, #0] - 8002802: 691b ldr r3, [r3, #16] - 8002804: 683a ldr r2, [r7, #0] - 8002806: 6812 ldr r2, [r2, #0] - 8002808: 4611 mov r1, r2 - 800280a: 6878 ldr r0, [r7, #4] - 800280c: 4798 blx r3 + 800291e: 683b ldr r3, [r7, #0] + 8002920: 691b ldr r3, [r3, #16] + 8002922: 683a ldr r2, [r7, #0] + 8002924: 6812 ldr r2, [r2, #0] + 8002926: 4611 mov r1, r2 + 8002928: 6878 ldr r0, [r7, #4] + 800292a: 4798 blx r3 } return rslt; - 800280e: f997 300f ldrsb.w r3, [r7, #15] + 800292c: f997 300f ldrsb.w r3, [r7, #15] } - 8002812: 4618 mov r0, r3 - 8002814: 3710 adds r7, #16 - 8002816: 46bd mov sp, r7 - 8002818: bd80 pop {r7, pc} + 8002930: 4618 mov r0, r3 + 8002932: 3710 adds r7, #16 + 8002934: 46bd mov sp, r7 + 8002936: bd80 pop {r7, pc} -0800281a : +08002938 : /*! * @brief This API is used to set the power mode of the sensor */ int8_t bmm350_set_powermode(enum bmm350_power_modes powermode, struct bmm350_dev *dev) { - 800281a: b580 push {r7, lr} - 800281c: b084 sub sp, #16 - 800281e: af00 add r7, sp, #0 - 8002820: 4603 mov r3, r0 - 8002822: 6039 str r1, [r7, #0] - 8002824: 71fb strb r3, [r7, #7] + 8002938: b580 push {r7, lr} + 800293a: b084 sub sp, #16 + 800293c: af00 add r7, sp, #0 + 800293e: 4603 mov r3, r0 + 8002940: 6039 str r1, [r7, #0] + 8002942: 71fb strb r3, [r7, #7] uint8_t last_pwr_mode; uint8_t reg_data; /* Check for null pointer in the device structure */ rslt = null_ptr_check(dev); - 8002826: 6838 ldr r0, [r7, #0] - 8002828: f000 fc5d bl 80030e6 - 800282c: 4603 mov r3, r0 - 800282e: 73fb strb r3, [r7, #15] + 8002944: 6838 ldr r0, [r7, #0] + 8002946: f000 fc5d bl 8003204 + 800294a: 4603 mov r3, r0 + 800294c: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8002830: f997 300f ldrsb.w r3, [r7, #15] - 8002834: 2b00 cmp r3, #0 - 8002836: d13c bne.n 80028b2 + 800294e: f997 300f ldrsb.w r3, [r7, #15] + 8002952: 2b00 cmp r3, #0 + 8002954: d13c bne.n 80029d0 { rslt = bmm350_get_regs(BMM350_REG_PMU_CMD, &last_pwr_mode, 1, dev); - 8002838: f107 010e add.w r1, r7, #14 - 800283c: 683b ldr r3, [r7, #0] - 800283e: 2201 movs r2, #1 - 8002840: 2006 movs r0, #6 - 8002842: f7ff ff7a bl 800273a - 8002846: 4603 mov r3, r0 - 8002848: 73fb strb r3, [r7, #15] + 8002956: f107 010e add.w r1, r7, #14 + 800295a: 683b ldr r3, [r7, #0] + 800295c: 2201 movs r2, #1 + 800295e: 2006 movs r0, #6 + 8002960: f7ff ff7a bl 8002858 + 8002964: 4603 mov r3, r0 + 8002966: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 800284a: f997 300f ldrsb.w r3, [r7, #15] - 800284e: 2b00 cmp r3, #0 - 8002850: d12f bne.n 80028b2 + 8002968: f997 300f ldrsb.w r3, [r7, #15] + 800296c: 2b00 cmp r3, #0 + 800296e: d12f bne.n 80029d0 { if (last_pwr_mode > BMM350_PMU_CMD_BR_FAST) - 8002852: 7bbb ldrb r3, [r7, #14] - 8002854: 2b08 cmp r3, #8 - 8002856: d901 bls.n 800285c + 8002970: 7bbb ldrb r3, [r7, #14] + 8002972: 2b08 cmp r3, #8 + 8002974: d901 bls.n 800297a { rslt = BMM350_E_INVALID_CONFIG; - 8002858: 23fc movs r3, #252 @ 0xfc - 800285a: 73fb strb r3, [r7, #15] + 8002976: 23fc movs r3, #252 @ 0xfc + 8002978: 73fb strb r3, [r7, #15] } if ((rslt == BMM350_OK) && - 800285c: f997 300f ldrsb.w r3, [r7, #15] - 8002860: 2b00 cmp r3, #0 - 8002862: d11b bne.n 800289c + 800297a: f997 300f ldrsb.w r3, [r7, #15] + 800297e: 2b00 cmp r3, #0 + 8002980: d11b bne.n 80029ba ((last_pwr_mode == BMM350_PMU_CMD_NM) || (last_pwr_mode == BMM350_PMU_CMD_UPD_OAE))) - 8002864: 7bbb ldrb r3, [r7, #14] + 8002982: 7bbb ldrb r3, [r7, #14] if ((rslt == BMM350_OK) && - 8002866: 2b01 cmp r3, #1 - 8002868: d002 beq.n 8002870 + 8002984: 2b01 cmp r3, #1 + 8002986: d002 beq.n 800298e ((last_pwr_mode == BMM350_PMU_CMD_NM) || (last_pwr_mode == BMM350_PMU_CMD_UPD_OAE))) - 800286a: 7bbb ldrb r3, [r7, #14] - 800286c: 2b02 cmp r3, #2 - 800286e: d115 bne.n 800289c + 8002988: 7bbb ldrb r3, [r7, #14] + 800298a: 2b02 cmp r3, #2 + 800298c: d115 bne.n 80029ba { reg_data = BMM350_PMU_CMD_SUS; - 8002870: 2300 movs r3, #0 - 8002872: 737b strb r3, [r7, #13] + 800298e: 2300 movs r3, #0 + 8002990: 737b strb r3, [r7, #13] /* Set PMU command configuration */ rslt = bmm350_set_regs(BMM350_REG_PMU_CMD, ®_data, 1, dev); - 8002874: f107 010d add.w r1, r7, #13 - 8002878: 683b ldr r3, [r7, #0] - 800287a: 2201 movs r2, #1 - 800287c: 2006 movs r0, #6 - 800287e: f7ff ff28 bl 80026d2 - 8002882: 4603 mov r3, r0 - 8002884: 73fb strb r3, [r7, #15] + 8002992: f107 010d add.w r1, r7, #13 + 8002996: 683b ldr r3, [r7, #0] + 8002998: 2201 movs r2, #1 + 800299a: 2006 movs r0, #6 + 800299c: f7ff ff28 bl 80027f0 + 80029a0: 4603 mov r3, r0 + 80029a2: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8002886: f997 300f ldrsb.w r3, [r7, #15] - 800288a: 2b00 cmp r3, #0 - 800288c: d106 bne.n 800289c + 80029a4: f997 300f ldrsb.w r3, [r7, #15] + 80029a8: 2b00 cmp r3, #0 + 80029aa: d106 bne.n 80029ba { rslt = bmm350_delay_us(BMM350_GOTO_SUSPEND_DELAY, dev); - 800288e: 6839 ldr r1, [r7, #0] - 8002890: f241 7070 movw r0, #6000 @ 0x1770 - 8002894: f7ff ffa6 bl 80027e4 - 8002898: 4603 mov r3, r0 - 800289a: 73fb strb r3, [r7, #15] + 80029ac: 6839 ldr r1, [r7, #0] + 80029ae: f241 7070 movw r0, #6000 @ 0x1770 + 80029b2: f7ff ffa6 bl 8002902 + 80029b6: 4603 mov r3, r0 + 80029b8: 73fb strb r3, [r7, #15] } } if (rslt == BMM350_OK) - 800289c: f997 300f ldrsb.w r3, [r7, #15] - 80028a0: 2b00 cmp r3, #0 - 80028a2: d106 bne.n 80028b2 + 80029ba: f997 300f ldrsb.w r3, [r7, #15] + 80029be: 2b00 cmp r3, #0 + 80029c0: d106 bne.n 80029d0 { rslt = set_powermode(powermode, dev); - 80028a4: 79fb ldrb r3, [r7, #7] - 80028a6: 6839 ldr r1, [r7, #0] - 80028a8: 4618 mov r0, r3 - 80028aa: f001 f831 bl 8003910 - 80028ae: 4603 mov r3, r0 - 80028b0: 73fb strb r3, [r7, #15] + 80029c2: 79fb ldrb r3, [r7, #7] + 80029c4: 6839 ldr r1, [r7, #0] + 80029c6: 4618 mov r0, r3 + 80029c8: f001 f82e bl 8003a28 + 80029cc: 4603 mov r3, r0 + 80029ce: 73fb strb r3, [r7, #15] } } } return rslt; - 80028b2: f997 300f ldrsb.w r3, [r7, #15] + 80029d0: f997 300f ldrsb.w r3, [r7, #15] } - 80028b6: 4618 mov r0, r3 - 80028b8: 3710 adds r7, #16 - 80028ba: 46bd mov sp, r7 - 80028bc: bd80 pop {r7, pc} + 80029d4: 4618 mov r0, r3 + 80029d6: 3710 adds r7, #16 + 80029d8: 46bd mov sp, r7 + 80029da: bd80 pop {r7, pc} -080028be : +080029dc : * @brief This API sets the ODR and averaging factor. */ int8_t bmm350_set_odr_performance(enum bmm350_data_rates odr, enum bmm350_performance_parameters performance, struct bmm350_dev *dev) { - 80028be: b580 push {r7, lr} - 80028c0: b084 sub sp, #16 - 80028c2: af00 add r7, sp, #0 - 80028c4: 4603 mov r3, r0 - 80028c6: 603a str r2, [r7, #0] - 80028c8: 71fb strb r3, [r7, #7] - 80028ca: 460b mov r3, r1 - 80028cc: 71bb strb r3, [r7, #6] + 80029dc: b580 push {r7, lr} + 80029de: b084 sub sp, #16 + 80029e0: af00 add r7, sp, #0 + 80029e2: 4603 mov r3, r0 + 80029e4: 603a str r2, [r7, #0] + 80029e6: 71fb strb r3, [r7, #7] + 80029e8: 460b mov r3, r1 + 80029ea: 71bb strb r3, [r7, #6] /* Variable to store the function result */ int8_t rslt; /* Variable to get PMU command */ uint8_t reg_data = 0; - 80028ce: 2300 movs r3, #0 - 80028d0: 737b strb r3, [r7, #13] + 80029ec: 2300 movs r3, #0 + 80029ee: 737b strb r3, [r7, #13] enum bmm350_performance_parameters performance_fix = performance; - 80028d2: 79bb ldrb r3, [r7, #6] - 80028d4: 73bb strb r3, [r7, #14] + 80029f0: 79bb ldrb r3, [r7, #6] + 80029f2: 73bb strb r3, [r7, #14] /* Check for null pointer in the device structure */ rslt = null_ptr_check(dev); - 80028d6: 6838 ldr r0, [r7, #0] - 80028d8: f000 fc05 bl 80030e6 - 80028dc: 4603 mov r3, r0 - 80028de: 73fb strb r3, [r7, #15] + 80029f4: 6838 ldr r0, [r7, #0] + 80029f6: f000 fc05 bl 8003204 + 80029fa: 4603 mov r3, r0 + 80029fc: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 80028e0: f997 300f ldrsb.w r3, [r7, #15] - 80028e4: 2b00 cmp r3, #0 - 80028e6: d151 bne.n 800298c + 80029fe: f997 300f ldrsb.w r3, [r7, #15] + 8002a02: 2b00 cmp r3, #0 + 8002a04: d151 bne.n 8002aaa { /* Reduce the performance setting when too high for the chosen ODR */ if ((odr == BMM350_DATA_RATE_400HZ) && (performance >= BMM350_AVERAGING_2)) - 80028e8: 79fb ldrb r3, [r7, #7] - 80028ea: 2b02 cmp r3, #2 - 80028ec: d105 bne.n 80028fa - 80028ee: 79bb ldrb r3, [r7, #6] - 80028f0: 2b00 cmp r3, #0 - 80028f2: d002 beq.n 80028fa + 8002a06: 79fb ldrb r3, [r7, #7] + 8002a08: 2b02 cmp r3, #2 + 8002a0a: d105 bne.n 8002a18 + 8002a0c: 79bb ldrb r3, [r7, #6] + 8002a0e: 2b00 cmp r3, #0 + 8002a10: d002 beq.n 8002a18 { performance_fix = BMM350_NO_AVERAGING; - 80028f4: 2300 movs r3, #0 - 80028f6: 73bb strb r3, [r7, #14] - 80028f8: e010 b.n 800291c + 8002a12: 2300 movs r3, #0 + 8002a14: 73bb strb r3, [r7, #14] + 8002a16: e010 b.n 8002a3a } else if ((odr == BMM350_DATA_RATE_200HZ) && (performance >= BMM350_AVERAGING_4)) - 80028fa: 79fb ldrb r3, [r7, #7] - 80028fc: 2b03 cmp r3, #3 - 80028fe: d105 bne.n 800290c - 8002900: 79bb ldrb r3, [r7, #6] - 8002902: 2b01 cmp r3, #1 - 8002904: d902 bls.n 800290c + 8002a18: 79fb ldrb r3, [r7, #7] + 8002a1a: 2b03 cmp r3, #3 + 8002a1c: d105 bne.n 8002a2a + 8002a1e: 79bb ldrb r3, [r7, #6] + 8002a20: 2b01 cmp r3, #1 + 8002a22: d902 bls.n 8002a2a { performance_fix = BMM350_AVERAGING_2; - 8002906: 2301 movs r3, #1 - 8002908: 73bb strb r3, [r7, #14] - 800290a: e007 b.n 800291c + 8002a24: 2301 movs r3, #1 + 8002a26: 73bb strb r3, [r7, #14] + 8002a28: e007 b.n 8002a3a } else if ((odr == BMM350_DATA_RATE_100HZ) && (performance >= BMM350_AVERAGING_8)) - 800290c: 79fb ldrb r3, [r7, #7] - 800290e: 2b04 cmp r3, #4 - 8002910: d104 bne.n 800291c - 8002912: 79bb ldrb r3, [r7, #6] - 8002914: 2b02 cmp r3, #2 - 8002916: d901 bls.n 800291c + 8002a2a: 79fb ldrb r3, [r7, #7] + 8002a2c: 2b04 cmp r3, #4 + 8002a2e: d104 bne.n 8002a3a + 8002a30: 79bb ldrb r3, [r7, #6] + 8002a32: 2b02 cmp r3, #2 + 8002a34: d901 bls.n 8002a3a { performance_fix = BMM350_AVERAGING_4; - 8002918: 2302 movs r3, #2 - 800291a: 73bb strb r3, [r7, #14] + 8002a36: 2302 movs r3, #2 + 8002a38: 73bb strb r3, [r7, #14] } /* ODR is an enum taking the generated constants from the register map */ reg_data = ((uint8_t)odr & BMM350_ODR_MSK); - 800291c: 79fb ldrb r3, [r7, #7] - 800291e: f003 030f and.w r3, r3, #15 - 8002922: b2db uxtb r3, r3 - 8002924: 737b strb r3, [r7, #13] + 8002a3a: 79fb ldrb r3, [r7, #7] + 8002a3c: f003 030f and.w r3, r3, #15 + 8002a40: b2db uxtb r3, r3 + 8002a42: 737b strb r3, [r7, #13] /* AVG / performance is an enum taking the generated constants from the register map */ reg_data = BMM350_SET_BITS(reg_data, BMM350_AVG, (uint8_t)performance_fix); - 8002926: 7b7b ldrb r3, [r7, #13] - 8002928: b25b sxtb r3, r3 - 800292a: f023 0330 bic.w r3, r3, #48 @ 0x30 - 800292e: b25a sxtb r2, r3 - 8002930: f997 300e ldrsb.w r3, [r7, #14] - 8002934: 011b lsls r3, r3, #4 - 8002936: b25b sxtb r3, r3 - 8002938: f003 0330 and.w r3, r3, #48 @ 0x30 - 800293c: b25b sxtb r3, r3 - 800293e: 4313 orrs r3, r2 - 8002940: b25b sxtb r3, r3 - 8002942: b2db uxtb r3, r3 - 8002944: 737b strb r3, [r7, #13] + 8002a44: 7b7b ldrb r3, [r7, #13] + 8002a46: b25b sxtb r3, r3 + 8002a48: f023 0330 bic.w r3, r3, #48 @ 0x30 + 8002a4c: b25a sxtb r2, r3 + 8002a4e: f997 300e ldrsb.w r3, [r7, #14] + 8002a52: 011b lsls r3, r3, #4 + 8002a54: b25b sxtb r3, r3 + 8002a56: f003 0330 and.w r3, r3, #48 @ 0x30 + 8002a5a: b25b sxtb r3, r3 + 8002a5c: 4313 orrs r3, r2 + 8002a5e: b25b sxtb r3, r3 + 8002a60: b2db uxtb r3, r3 + 8002a62: 737b strb r3, [r7, #13] /* Set PMU command configurations for ODR and performance */ rslt = bmm350_set_regs(BMM350_REG_PMU_CMD_AGGR_SET, ®_data, 1, dev); - 8002946: f107 010d add.w r1, r7, #13 - 800294a: 683b ldr r3, [r7, #0] - 800294c: 2201 movs r2, #1 - 800294e: 2004 movs r0, #4 - 8002950: f7ff febf bl 80026d2 - 8002954: 4603 mov r3, r0 - 8002956: 73fb strb r3, [r7, #15] + 8002a64: f107 010d add.w r1, r7, #13 + 8002a68: 683b ldr r3, [r7, #0] + 8002a6a: 2201 movs r2, #1 + 8002a6c: 2004 movs r0, #4 + 8002a6e: f7ff febf bl 80027f0 + 8002a72: 4603 mov r3, r0 + 8002a74: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8002958: f997 300f ldrsb.w r3, [r7, #15] - 800295c: 2b00 cmp r3, #0 - 800295e: d115 bne.n 800298c + 8002a76: f997 300f ldrsb.w r3, [r7, #15] + 8002a7a: 2b00 cmp r3, #0 + 8002a7c: d115 bne.n 8002aaa { /* Set PMU command configurations to update odr and average */ reg_data = BMM350_PMU_CMD_UPD_OAE; - 8002960: 2302 movs r3, #2 - 8002962: 737b strb r3, [r7, #13] + 8002a7e: 2302 movs r3, #2 + 8002a80: 737b strb r3, [r7, #13] /* Set PMU command configuration */ rslt = bmm350_set_regs(BMM350_REG_PMU_CMD, ®_data, 1, dev); - 8002964: f107 010d add.w r1, r7, #13 - 8002968: 683b ldr r3, [r7, #0] - 800296a: 2201 movs r2, #1 - 800296c: 2006 movs r0, #6 - 800296e: f7ff feb0 bl 80026d2 - 8002972: 4603 mov r3, r0 - 8002974: 73fb strb r3, [r7, #15] + 8002a82: f107 010d add.w r1, r7, #13 + 8002a86: 683b ldr r3, [r7, #0] + 8002a88: 2201 movs r2, #1 + 8002a8a: 2006 movs r0, #6 + 8002a8c: f7ff feb0 bl 80027f0 + 8002a90: 4603 mov r3, r0 + 8002a92: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8002976: f997 300f ldrsb.w r3, [r7, #15] - 800297a: 2b00 cmp r3, #0 - 800297c: d106 bne.n 800298c + 8002a94: f997 300f ldrsb.w r3, [r7, #15] + 8002a98: 2b00 cmp r3, #0 + 8002a9a: d106 bne.n 8002aaa { rslt = bmm350_delay_us(BMM350_UPD_OAE_DELAY, dev); - 800297e: 6839 ldr r1, [r7, #0] - 8002980: f44f 707a mov.w r0, #1000 @ 0x3e8 - 8002984: f7ff ff2e bl 80027e4 - 8002988: 4603 mov r3, r0 - 800298a: 73fb strb r3, [r7, #15] + 8002a9c: 6839 ldr r1, [r7, #0] + 8002a9e: f44f 707a mov.w r0, #1000 @ 0x3e8 + 8002aa2: f7ff ff2e bl 8002902 + 8002aa6: 4603 mov r3, r0 + 8002aa8: 73fb strb r3, [r7, #15] } } } return rslt; - 800298c: f997 300f ldrsb.w r3, [r7, #15] + 8002aaa: f997 300f ldrsb.w r3, [r7, #15] } - 8002990: 4618 mov r0, r3 - 8002992: 3710 adds r7, #16 - 8002994: 46bd mov sp, r7 - 8002996: bd80 pop {r7, pc} + 8002aae: 4618 mov r0, r3 + 8002ab0: 3710 adds r7, #16 + 8002ab2: 46bd mov sp, r7 + 8002ab4: bd80 pop {r7, pc} -08002998 : +08002ab6 : /*! * @brief This API is used to enable or disable the data ready interrupt */ int8_t bmm350_enable_interrupt(enum bmm350_interrupt_enable_disable enable_disable, struct bmm350_dev *dev) { - 8002998: b580 push {r7, lr} - 800299a: b084 sub sp, #16 - 800299c: af00 add r7, sp, #0 - 800299e: 4603 mov r3, r0 - 80029a0: 6039 str r1, [r7, #0] - 80029a2: 71fb strb r3, [r7, #7] + 8002ab6: b580 push {r7, lr} + 8002ab8: b084 sub sp, #16 + 8002aba: af00 add r7, sp, #0 + 8002abc: 4603 mov r3, r0 + 8002abe: 6039 str r1, [r7, #0] + 8002ac0: 71fb strb r3, [r7, #7] /* Variable to get interrupt control configuration */ uint8_t reg_data = 0; - 80029a4: 2300 movs r3, #0 - 80029a6: 73bb strb r3, [r7, #14] + 8002ac2: 2300 movs r3, #0 + 8002ac4: 73bb strb r3, [r7, #14] /* Variable to store the function result */ int8_t rslt; /* Get interrupt control configuration */ rslt = bmm350_get_regs(BMM350_REG_INT_CTRL, ®_data, 1, dev); - 80029a8: f107 010e add.w r1, r7, #14 - 80029ac: 683b ldr r3, [r7, #0] - 80029ae: 2201 movs r2, #1 - 80029b0: 202e movs r0, #46 @ 0x2e - 80029b2: f7ff fec2 bl 800273a - 80029b6: 4603 mov r3, r0 - 80029b8: 73fb strb r3, [r7, #15] + 8002ac6: f107 010e add.w r1, r7, #14 + 8002aca: 683b ldr r3, [r7, #0] + 8002acc: 2201 movs r2, #1 + 8002ace: 202e movs r0, #46 @ 0x2e + 8002ad0: f7ff fec2 bl 8002858 + 8002ad4: 4603 mov r3, r0 + 8002ad6: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 80029ba: f997 300f ldrsb.w r3, [r7, #15] - 80029be: 2b00 cmp r3, #0 - 80029c0: d115 bne.n 80029ee + 8002ad8: f997 300f ldrsb.w r3, [r7, #15] + 8002adc: 2b00 cmp r3, #0 + 8002ade: d115 bne.n 8002b0c { reg_data = BMM350_SET_BITS(reg_data, BMM350_DRDY_DATA_REG_EN, (uint8_t)enable_disable); - 80029c2: 7bbb ldrb r3, [r7, #14] - 80029c4: b25b sxtb r3, r3 - 80029c6: f003 037f and.w r3, r3, #127 @ 0x7f - 80029ca: b25a sxtb r2, r3 - 80029cc: f997 3007 ldrsb.w r3, [r7, #7] - 80029d0: 01db lsls r3, r3, #7 - 80029d2: b25b sxtb r3, r3 - 80029d4: 4313 orrs r3, r2 - 80029d6: b25b sxtb r3, r3 - 80029d8: b2db uxtb r3, r3 - 80029da: 73bb strb r3, [r7, #14] + 8002ae0: 7bbb ldrb r3, [r7, #14] + 8002ae2: b25b sxtb r3, r3 + 8002ae4: f003 037f and.w r3, r3, #127 @ 0x7f + 8002ae8: b25a sxtb r2, r3 + 8002aea: f997 3007 ldrsb.w r3, [r7, #7] + 8002aee: 01db lsls r3, r3, #7 + 8002af0: b25b sxtb r3, r3 + 8002af2: 4313 orrs r3, r2 + 8002af4: b25b sxtb r3, r3 + 8002af6: b2db uxtb r3, r3 + 8002af8: 73bb strb r3, [r7, #14] /* Finally transfer the interrupt configurations */ rslt = bmm350_set_regs(BMM350_REG_INT_CTRL, ®_data, 1, dev); - 80029dc: f107 010e add.w r1, r7, #14 - 80029e0: 683b ldr r3, [r7, #0] - 80029e2: 2201 movs r2, #1 - 80029e4: 202e movs r0, #46 @ 0x2e - 80029e6: f7ff fe74 bl 80026d2 - 80029ea: 4603 mov r3, r0 - 80029ec: 73fb strb r3, [r7, #15] + 8002afa: f107 010e add.w r1, r7, #14 + 8002afe: 683b ldr r3, [r7, #0] + 8002b00: 2201 movs r2, #1 + 8002b02: 202e movs r0, #46 @ 0x2e + 8002b04: f7ff fe74 bl 80027f0 + 8002b08: 4603 mov r3, r0 + 8002b0a: 73fb strb r3, [r7, #15] } return rslt; - 80029ee: f997 300f ldrsb.w r3, [r7, #15] + 8002b0c: f997 300f ldrsb.w r3, [r7, #15] } - 80029f2: 4618 mov r0, r3 - 80029f4: 3710 adds r7, #16 - 80029f6: 46bd mov sp, r7 - 80029f8: bd80 pop {r7, pc} + 8002b10: 4618 mov r0, r3 + 8002b12: 3710 adds r7, #16 + 8002b14: 46bd mov sp, r7 + 8002b16: bd80 pop {r7, pc} -080029fa : +08002b18 : int8_t bmm350_configure_interrupt(enum bmm350_intr_latch latching, enum bmm350_intr_polarity polarity, enum bmm350_intr_drive drivertype, enum bmm350_intr_map map_nomap, struct bmm350_dev *dev) { - 80029fa: b590 push {r4, r7, lr} - 80029fc: b085 sub sp, #20 - 80029fe: af00 add r7, sp, #0 - 8002a00: 4604 mov r4, r0 - 8002a02: 4608 mov r0, r1 - 8002a04: 4611 mov r1, r2 - 8002a06: 461a mov r2, r3 - 8002a08: 4623 mov r3, r4 - 8002a0a: 71fb strb r3, [r7, #7] - 8002a0c: 4603 mov r3, r0 - 8002a0e: 71bb strb r3, [r7, #6] - 8002a10: 460b mov r3, r1 - 8002a12: 717b strb r3, [r7, #5] - 8002a14: 4613 mov r3, r2 - 8002a16: 713b strb r3, [r7, #4] + 8002b18: b590 push {r4, r7, lr} + 8002b1a: b085 sub sp, #20 + 8002b1c: af00 add r7, sp, #0 + 8002b1e: 4604 mov r4, r0 + 8002b20: 4608 mov r0, r1 + 8002b22: 4611 mov r1, r2 + 8002b24: 461a mov r2, r3 + 8002b26: 4623 mov r3, r4 + 8002b28: 71fb strb r3, [r7, #7] + 8002b2a: 4603 mov r3, r0 + 8002b2c: 71bb strb r3, [r7, #6] + 8002b2e: 460b mov r3, r1 + 8002b30: 717b strb r3, [r7, #5] + 8002b32: 4613 mov r3, r2 + 8002b34: 713b strb r3, [r7, #4] /* Variable to get interrupt control configuration */ uint8_t reg_data = 0; - 8002a18: 2300 movs r3, #0 - 8002a1a: 73bb strb r3, [r7, #14] + 8002b36: 2300 movs r3, #0 + 8002b38: 73bb strb r3, [r7, #14] /* Variable to store the function result */ int8_t rslt; /* Get interrupt control configuration */ rslt = bmm350_get_regs(BMM350_REG_INT_CTRL, ®_data, 1, dev); - 8002a1c: f107 010e add.w r1, r7, #14 - 8002a20: 6a3b ldr r3, [r7, #32] - 8002a22: 2201 movs r2, #1 - 8002a24: 202e movs r0, #46 @ 0x2e - 8002a26: f7ff fe88 bl 800273a - 8002a2a: 4603 mov r3, r0 - 8002a2c: 73fb strb r3, [r7, #15] + 8002b3a: f107 010e add.w r1, r7, #14 + 8002b3e: 6a3b ldr r3, [r7, #32] + 8002b40: 2201 movs r2, #1 + 8002b42: 202e movs r0, #46 @ 0x2e + 8002b44: f7ff fe88 bl 8002858 + 8002b48: 4603 mov r3, r0 + 8002b4a: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8002a2e: f997 300f ldrsb.w r3, [r7, #15] - 8002a32: 2b00 cmp r3, #0 - 8002a34: d146 bne.n 8002ac4 + 8002b4c: f997 300f ldrsb.w r3, [r7, #15] + 8002b50: 2b00 cmp r3, #0 + 8002b52: d146 bne.n 8002be2 { reg_data = BMM350_SET_BITS_POS_0(reg_data, BMM350_INT_MODE, latching); - 8002a36: 7bbb ldrb r3, [r7, #14] - 8002a38: b25b sxtb r3, r3 - 8002a3a: f023 0301 bic.w r3, r3, #1 - 8002a3e: b25a sxtb r2, r3 - 8002a40: f997 3007 ldrsb.w r3, [r7, #7] - 8002a44: f003 0301 and.w r3, r3, #1 - 8002a48: b25b sxtb r3, r3 - 8002a4a: 4313 orrs r3, r2 - 8002a4c: b25b sxtb r3, r3 - 8002a4e: b2db uxtb r3, r3 - 8002a50: 73bb strb r3, [r7, #14] + 8002b54: 7bbb ldrb r3, [r7, #14] + 8002b56: b25b sxtb r3, r3 + 8002b58: f023 0301 bic.w r3, r3, #1 + 8002b5c: b25a sxtb r2, r3 + 8002b5e: f997 3007 ldrsb.w r3, [r7, #7] + 8002b62: f003 0301 and.w r3, r3, #1 + 8002b66: b25b sxtb r3, r3 + 8002b68: 4313 orrs r3, r2 + 8002b6a: b25b sxtb r3, r3 + 8002b6c: b2db uxtb r3, r3 + 8002b6e: 73bb strb r3, [r7, #14] reg_data = BMM350_SET_BITS(reg_data, BMM350_INT_POL, polarity); - 8002a52: 7bbb ldrb r3, [r7, #14] - 8002a54: b25b sxtb r3, r3 - 8002a56: f023 0302 bic.w r3, r3, #2 - 8002a5a: b25a sxtb r2, r3 - 8002a5c: f997 3006 ldrsb.w r3, [r7, #6] - 8002a60: 005b lsls r3, r3, #1 - 8002a62: b25b sxtb r3, r3 - 8002a64: f003 0302 and.w r3, r3, #2 - 8002a68: b25b sxtb r3, r3 - 8002a6a: 4313 orrs r3, r2 - 8002a6c: b25b sxtb r3, r3 - 8002a6e: b2db uxtb r3, r3 - 8002a70: 73bb strb r3, [r7, #14] + 8002b70: 7bbb ldrb r3, [r7, #14] + 8002b72: b25b sxtb r3, r3 + 8002b74: f023 0302 bic.w r3, r3, #2 + 8002b78: b25a sxtb r2, r3 + 8002b7a: f997 3006 ldrsb.w r3, [r7, #6] + 8002b7e: 005b lsls r3, r3, #1 + 8002b80: b25b sxtb r3, r3 + 8002b82: f003 0302 and.w r3, r3, #2 + 8002b86: b25b sxtb r3, r3 + 8002b88: 4313 orrs r3, r2 + 8002b8a: b25b sxtb r3, r3 + 8002b8c: b2db uxtb r3, r3 + 8002b8e: 73bb strb r3, [r7, #14] reg_data = BMM350_SET_BITS(reg_data, BMM350_INT_OD, drivertype); - 8002a72: 7bbb ldrb r3, [r7, #14] - 8002a74: b25b sxtb r3, r3 - 8002a76: f023 0304 bic.w r3, r3, #4 - 8002a7a: b25a sxtb r2, r3 - 8002a7c: f997 3005 ldrsb.w r3, [r7, #5] - 8002a80: 009b lsls r3, r3, #2 - 8002a82: b25b sxtb r3, r3 - 8002a84: f003 0304 and.w r3, r3, #4 - 8002a88: b25b sxtb r3, r3 - 8002a8a: 4313 orrs r3, r2 - 8002a8c: b25b sxtb r3, r3 - 8002a8e: b2db uxtb r3, r3 - 8002a90: 73bb strb r3, [r7, #14] + 8002b90: 7bbb ldrb r3, [r7, #14] + 8002b92: b25b sxtb r3, r3 + 8002b94: f023 0304 bic.w r3, r3, #4 + 8002b98: b25a sxtb r2, r3 + 8002b9a: f997 3005 ldrsb.w r3, [r7, #5] + 8002b9e: 009b lsls r3, r3, #2 + 8002ba0: b25b sxtb r3, r3 + 8002ba2: f003 0304 and.w r3, r3, #4 + 8002ba6: b25b sxtb r3, r3 + 8002ba8: 4313 orrs r3, r2 + 8002baa: b25b sxtb r3, r3 + 8002bac: b2db uxtb r3, r3 + 8002bae: 73bb strb r3, [r7, #14] reg_data = BMM350_SET_BITS(reg_data, BMM350_INT_OUTPUT_EN, map_nomap); - 8002a92: 7bbb ldrb r3, [r7, #14] - 8002a94: b25b sxtb r3, r3 - 8002a96: f023 0308 bic.w r3, r3, #8 - 8002a9a: b25a sxtb r2, r3 - 8002a9c: f997 3004 ldrsb.w r3, [r7, #4] - 8002aa0: 00db lsls r3, r3, #3 - 8002aa2: b25b sxtb r3, r3 - 8002aa4: f003 0308 and.w r3, r3, #8 - 8002aa8: b25b sxtb r3, r3 - 8002aaa: 4313 orrs r3, r2 - 8002aac: b25b sxtb r3, r3 - 8002aae: b2db uxtb r3, r3 - 8002ab0: 73bb strb r3, [r7, #14] + 8002bb0: 7bbb ldrb r3, [r7, #14] + 8002bb2: b25b sxtb r3, r3 + 8002bb4: f023 0308 bic.w r3, r3, #8 + 8002bb8: b25a sxtb r2, r3 + 8002bba: f997 3004 ldrsb.w r3, [r7, #4] + 8002bbe: 00db lsls r3, r3, #3 + 8002bc0: b25b sxtb r3, r3 + 8002bc2: f003 0308 and.w r3, r3, #8 + 8002bc6: b25b sxtb r3, r3 + 8002bc8: 4313 orrs r3, r2 + 8002bca: b25b sxtb r3, r3 + 8002bcc: b2db uxtb r3, r3 + 8002bce: 73bb strb r3, [r7, #14] /* Finally transfer the interrupt configurations */ rslt = bmm350_set_regs(BMM350_REG_INT_CTRL, ®_data, 1, dev); - 8002ab2: f107 010e add.w r1, r7, #14 - 8002ab6: 6a3b ldr r3, [r7, #32] - 8002ab8: 2201 movs r2, #1 - 8002aba: 202e movs r0, #46 @ 0x2e - 8002abc: f7ff fe09 bl 80026d2 - 8002ac0: 4603 mov r3, r0 - 8002ac2: 73fb strb r3, [r7, #15] + 8002bd0: f107 010e add.w r1, r7, #14 + 8002bd4: 6a3b ldr r3, [r7, #32] + 8002bd6: 2201 movs r2, #1 + 8002bd8: 202e movs r0, #46 @ 0x2e + 8002bda: f7ff fe09 bl 80027f0 + 8002bde: 4603 mov r3, r0 + 8002be0: 73fb strb r3, [r7, #15] } return rslt; - 8002ac4: f997 300f ldrsb.w r3, [r7, #15] + 8002be2: f997 300f ldrsb.w r3, [r7, #15] } - 8002ac8: 4618 mov r0, r3 - 8002aca: 3714 adds r7, #20 - 8002acc: 46bd mov sp, r7 - 8002ace: bd90 pop {r4, r7, pc} + 8002be6: 4618 mov r0, r3 + 8002be8: 3714 adds r7, #20 + 8002bea: 46bd mov sp, r7 + 8002bec: bd90 pop {r4, r7, pc} -08002ad0 : +08002bee : /*! * @brief This API is used to read uncompensated mag and temperature data. */ int8_t bmm350_read_uncomp_mag_temp_data(struct bmm350_raw_mag_data *raw_data, struct bmm350_dev *dev) { - 8002ad0: b580 push {r7, lr} - 8002ad2: b08a sub sp, #40 @ 0x28 - 8002ad4: af00 add r7, sp, #0 - 8002ad6: 6078 str r0, [r7, #4] - 8002ad8: 6039 str r1, [r7, #0] + 8002bee: b580 push {r7, lr} + 8002bf0: b08a sub sp, #40 @ 0x28 + 8002bf2: af00 add r7, sp, #0 + 8002bf4: 6078 str r0, [r7, #4] + 8002bf6: 6039 str r1, [r7, #0] /* Variable to store the function result */ int8_t rslt; uint8_t mag_data[12] = { 0 }; - 8002ada: f107 0308 add.w r3, r7, #8 - 8002ade: 2200 movs r2, #0 - 8002ae0: 601a str r2, [r3, #0] - 8002ae2: 605a str r2, [r3, #4] - 8002ae4: 609a str r2, [r3, #8] + 8002bf8: f107 0308 add.w r3, r7, #8 + 8002bfc: 2200 movs r2, #0 + 8002bfe: 601a str r2, [r3, #0] + 8002c00: 605a str r2, [r3, #4] + 8002c02: 609a str r2, [r3, #8] uint32_t raw_mag_x, raw_mag_y, raw_mag_z, raw_temp; if (raw_data != NULL) - 8002ae6: 687b ldr r3, [r7, #4] - 8002ae8: 2b00 cmp r3, #0 - 8002aea: d06c beq.n 8002bc6 + 8002c04: 687b ldr r3, [r7, #4] + 8002c06: 2b00 cmp r3, #0 + 8002c08: d06c beq.n 8002ce4 { /* Get uncompensated mag data */ rslt = bmm350_get_regs(BMM350_REG_MAG_X_XLSB, mag_data, BMM350_MAG_TEMP_DATA_LEN, dev); - 8002aec: f107 0108 add.w r1, r7, #8 - 8002af0: 683b ldr r3, [r7, #0] - 8002af2: 220c movs r2, #12 - 8002af4: 2031 movs r0, #49 @ 0x31 - 8002af6: f7ff fe20 bl 800273a - 8002afa: 4603 mov r3, r0 - 8002afc: f887 3027 strb.w r3, [r7, #39] @ 0x27 + 8002c0a: f107 0108 add.w r1, r7, #8 + 8002c0e: 683b ldr r3, [r7, #0] + 8002c10: 220c movs r2, #12 + 8002c12: 2031 movs r0, #49 @ 0x31 + 8002c14: f7ff fe20 bl 8002858 + 8002c18: 4603 mov r3, r0 + 8002c1a: f887 3027 strb.w r3, [r7, #39] @ 0x27 if (rslt == BMM350_OK) - 8002b00: f997 3027 ldrsb.w r3, [r7, #39] @ 0x27 - 8002b04: 2b00 cmp r3, #0 - 8002b06: d161 bne.n 8002bcc + 8002c1e: f997 3027 ldrsb.w r3, [r7, #39] @ 0x27 + 8002c22: 2b00 cmp r3, #0 + 8002c24: d161 bne.n 8002cea { raw_mag_x = (uint32_t)mag_data[0] + ((uint32_t)mag_data[1] << 8) + ((uint32_t)mag_data[2] << 16); - 8002b08: 7a3b ldrb r3, [r7, #8] - 8002b0a: 461a mov r2, r3 - 8002b0c: 7a7b ldrb r3, [r7, #9] - 8002b0e: 021b lsls r3, r3, #8 - 8002b10: 441a add r2, r3 - 8002b12: 7abb ldrb r3, [r7, #10] - 8002b14: 041b lsls r3, r3, #16 - 8002b16: 4413 add r3, r2 - 8002b18: 623b str r3, [r7, #32] + 8002c26: 7a3b ldrb r3, [r7, #8] + 8002c28: 461a mov r2, r3 + 8002c2a: 7a7b ldrb r3, [r7, #9] + 8002c2c: 021b lsls r3, r3, #8 + 8002c2e: 441a add r2, r3 + 8002c30: 7abb ldrb r3, [r7, #10] + 8002c32: 041b lsls r3, r3, #16 + 8002c34: 4413 add r3, r2 + 8002c36: 623b str r3, [r7, #32] raw_mag_y = (uint32_t)mag_data[3] + ((uint32_t)mag_data[4] << 8) + ((uint32_t)mag_data[5] << 16); - 8002b1a: 7afb ldrb r3, [r7, #11] - 8002b1c: 461a mov r2, r3 - 8002b1e: 7b3b ldrb r3, [r7, #12] - 8002b20: 021b lsls r3, r3, #8 - 8002b22: 441a add r2, r3 - 8002b24: 7b7b ldrb r3, [r7, #13] - 8002b26: 041b lsls r3, r3, #16 - 8002b28: 4413 add r3, r2 - 8002b2a: 61fb str r3, [r7, #28] + 8002c38: 7afb ldrb r3, [r7, #11] + 8002c3a: 461a mov r2, r3 + 8002c3c: 7b3b ldrb r3, [r7, #12] + 8002c3e: 021b lsls r3, r3, #8 + 8002c40: 441a add r2, r3 + 8002c42: 7b7b ldrb r3, [r7, #13] + 8002c44: 041b lsls r3, r3, #16 + 8002c46: 4413 add r3, r2 + 8002c48: 61fb str r3, [r7, #28] raw_mag_z = (uint32_t)mag_data[6] + ((uint32_t)mag_data[7] << 8) + ((uint32_t)mag_data[8] << 16); - 8002b2c: 7bbb ldrb r3, [r7, #14] - 8002b2e: 461a mov r2, r3 - 8002b30: 7bfb ldrb r3, [r7, #15] - 8002b32: 021b lsls r3, r3, #8 - 8002b34: 441a add r2, r3 - 8002b36: 7c3b ldrb r3, [r7, #16] - 8002b38: 041b lsls r3, r3, #16 - 8002b3a: 4413 add r3, r2 - 8002b3c: 61bb str r3, [r7, #24] + 8002c4a: 7bbb ldrb r3, [r7, #14] + 8002c4c: 461a mov r2, r3 + 8002c4e: 7bfb ldrb r3, [r7, #15] + 8002c50: 021b lsls r3, r3, #8 + 8002c52: 441a add r2, r3 + 8002c54: 7c3b ldrb r3, [r7, #16] + 8002c56: 041b lsls r3, r3, #16 + 8002c58: 4413 add r3, r2 + 8002c5a: 61bb str r3, [r7, #24] raw_temp = (uint32_t)mag_data[9] + ((uint32_t)mag_data[10] << 8) + ((uint32_t)mag_data[11] << 16); - 8002b3e: 7c7b ldrb r3, [r7, #17] - 8002b40: 461a mov r2, r3 - 8002b42: 7cbb ldrb r3, [r7, #18] - 8002b44: 021b lsls r3, r3, #8 - 8002b46: 441a add r2, r3 - 8002b48: 7cfb ldrb r3, [r7, #19] - 8002b4a: 041b lsls r3, r3, #16 - 8002b4c: 4413 add r3, r2 - 8002b4e: 617b str r3, [r7, #20] + 8002c5c: 7c7b ldrb r3, [r7, #17] + 8002c5e: 461a mov r2, r3 + 8002c60: 7cbb ldrb r3, [r7, #18] + 8002c62: 021b lsls r3, r3, #8 + 8002c64: 441a add r2, r3 + 8002c66: 7cfb ldrb r3, [r7, #19] + 8002c68: 041b lsls r3, r3, #16 + 8002c6a: 4413 add r3, r2 + 8002c6c: 617b str r3, [r7, #20] if ((dev->axis_en & BMM350_EN_X_MSK) == BMM350_DISABLE) - 8002b50: 683b ldr r3, [r7, #0] - 8002b52: 7d5b ldrb r3, [r3, #21] - 8002b54: f003 0301 and.w r3, r3, #1 - 8002b58: 2b00 cmp r3, #0 - 8002b5a: d103 bne.n 8002b64 + 8002c6e: 683b ldr r3, [r7, #0] + 8002c70: 7d5b ldrb r3, [r3, #21] + 8002c72: f003 0301 and.w r3, r3, #1 + 8002c76: 2b00 cmp r3, #0 + 8002c78: d103 bne.n 8002c82 { raw_data->raw_xdata = BMM350_DISABLE; - 8002b5c: 687b ldr r3, [r7, #4] - 8002b5e: 2200 movs r2, #0 - 8002b60: 601a str r2, [r3, #0] - 8002b62: e006 b.n 8002b72 + 8002c7a: 687b ldr r3, [r7, #4] + 8002c7c: 2200 movs r2, #0 + 8002c7e: 601a str r2, [r3, #0] + 8002c80: e006 b.n 8002c90 } else { raw_data->raw_xdata = fix_sign(raw_mag_x, BMM350_SIGNED_24_BIT); - 8002b64: 2118 movs r1, #24 - 8002b66: 6a38 ldr r0, [r7, #32] - 8002b68: f000 fade bl 8003128 - 8002b6c: 4602 mov r2, r0 - 8002b6e: 687b ldr r3, [r7, #4] - 8002b70: 601a str r2, [r3, #0] + 8002c82: 2118 movs r1, #24 + 8002c84: 6a38 ldr r0, [r7, #32] + 8002c86: f000 fadd bl 8003244 + 8002c8a: 4602 mov r2, r0 + 8002c8c: 687b ldr r3, [r7, #4] + 8002c8e: 601a str r2, [r3, #0] } if ((dev->axis_en & BMM350_EN_Y_MSK) == BMM350_DISABLE) - 8002b72: 683b ldr r3, [r7, #0] - 8002b74: 7d5b ldrb r3, [r3, #21] - 8002b76: f003 0302 and.w r3, r3, #2 - 8002b7a: 2b00 cmp r3, #0 - 8002b7c: d103 bne.n 8002b86 + 8002c90: 683b ldr r3, [r7, #0] + 8002c92: 7d5b ldrb r3, [r3, #21] + 8002c94: f003 0302 and.w r3, r3, #2 + 8002c98: 2b00 cmp r3, #0 + 8002c9a: d103 bne.n 8002ca4 { raw_data->raw_ydata = BMM350_DISABLE; - 8002b7e: 687b ldr r3, [r7, #4] - 8002b80: 2200 movs r2, #0 - 8002b82: 605a str r2, [r3, #4] - 8002b84: e006 b.n 8002b94 + 8002c9c: 687b ldr r3, [r7, #4] + 8002c9e: 2200 movs r2, #0 + 8002ca0: 605a str r2, [r3, #4] + 8002ca2: e006 b.n 8002cb2 } else { raw_data->raw_ydata = fix_sign(raw_mag_y, BMM350_SIGNED_24_BIT); - 8002b86: 2118 movs r1, #24 - 8002b88: 69f8 ldr r0, [r7, #28] - 8002b8a: f000 facd bl 8003128 - 8002b8e: 4602 mov r2, r0 - 8002b90: 687b ldr r3, [r7, #4] - 8002b92: 605a str r2, [r3, #4] + 8002ca4: 2118 movs r1, #24 + 8002ca6: 69f8 ldr r0, [r7, #28] + 8002ca8: f000 facc bl 8003244 + 8002cac: 4602 mov r2, r0 + 8002cae: 687b ldr r3, [r7, #4] + 8002cb0: 605a str r2, [r3, #4] } if ((dev->axis_en & BMM350_EN_Z_MSK) == BMM350_DISABLE) - 8002b94: 683b ldr r3, [r7, #0] - 8002b96: 7d5b ldrb r3, [r3, #21] - 8002b98: f003 0304 and.w r3, r3, #4 - 8002b9c: 2b00 cmp r3, #0 - 8002b9e: d103 bne.n 8002ba8 + 8002cb2: 683b ldr r3, [r7, #0] + 8002cb4: 7d5b ldrb r3, [r3, #21] + 8002cb6: f003 0304 and.w r3, r3, #4 + 8002cba: 2b00 cmp r3, #0 + 8002cbc: d103 bne.n 8002cc6 { raw_data->raw_zdata = BMM350_DISABLE; - 8002ba0: 687b ldr r3, [r7, #4] - 8002ba2: 2200 movs r2, #0 - 8002ba4: 609a str r2, [r3, #8] - 8002ba6: e006 b.n 8002bb6 + 8002cbe: 687b ldr r3, [r7, #4] + 8002cc0: 2200 movs r2, #0 + 8002cc2: 609a str r2, [r3, #8] + 8002cc4: e006 b.n 8002cd4 } else { raw_data->raw_zdata = fix_sign(raw_mag_z, BMM350_SIGNED_24_BIT); - 8002ba8: 2118 movs r1, #24 - 8002baa: 69b8 ldr r0, [r7, #24] - 8002bac: f000 fabc bl 8003128 - 8002bb0: 4602 mov r2, r0 - 8002bb2: 687b ldr r3, [r7, #4] - 8002bb4: 609a str r2, [r3, #8] + 8002cc6: 2118 movs r1, #24 + 8002cc8: 69b8 ldr r0, [r7, #24] + 8002cca: f000 fabb bl 8003244 + 8002cce: 4602 mov r2, r0 + 8002cd0: 687b ldr r3, [r7, #4] + 8002cd2: 609a str r2, [r3, #8] } raw_data->raw_data_t = fix_sign(raw_temp, BMM350_SIGNED_24_BIT); - 8002bb6: 2118 movs r1, #24 - 8002bb8: 6978 ldr r0, [r7, #20] - 8002bba: f000 fab5 bl 8003128 - 8002bbe: 4602 mov r2, r0 - 8002bc0: 687b ldr r3, [r7, #4] - 8002bc2: 60da str r2, [r3, #12] - 8002bc4: e002 b.n 8002bcc + 8002cd4: 2118 movs r1, #24 + 8002cd6: 6978 ldr r0, [r7, #20] + 8002cd8: f000 fab4 bl 8003244 + 8002cdc: 4602 mov r2, r0 + 8002cde: 687b ldr r3, [r7, #4] + 8002ce0: 60da str r2, [r3, #12] + 8002ce2: e002 b.n 8002cea } } else { rslt = BMM350_E_NULL_PTR; - 8002bc6: 23ff movs r3, #255 @ 0xff - 8002bc8: f887 3027 strb.w r3, [r7, #39] @ 0x27 + 8002ce4: 23ff movs r3, #255 @ 0xff + 8002ce6: f887 3027 strb.w r3, [r7, #39] @ 0x27 } return rslt; - 8002bcc: f997 3027 ldrsb.w r3, [r7, #39] @ 0x27 + 8002cea: f997 3027 ldrsb.w r3, [r7, #39] @ 0x27 } - 8002bd0: 4618 mov r0, r3 - 8002bd2: 3728 adds r7, #40 @ 0x28 - 8002bd4: 46bd mov sp, r7 - 8002bd6: bd80 pop {r7, pc} + 8002cee: 4618 mov r0, r3 + 8002cf0: 3728 adds r7, #40 @ 0x28 + 8002cf2: 46bd mov sp, r7 + 8002cf4: bd80 pop {r7, pc} -08002bd8 : +08002cf6 : * @brief This API is used to perform the magnetic reset of the sensor * which is necessary after a field shock (400mT field applied to sensor). * It sends flux guide or bit reset to the device in suspend mode. */ int8_t bmm350_magnetic_reset_and_wait(struct bmm350_dev *dev) { - 8002bd8: b580 push {r7, lr} - 8002bda: b086 sub sp, #24 - 8002bdc: af00 add r7, sp, #0 - 8002bde: 6078 str r0, [r7, #4] + 8002cf6: b580 push {r7, lr} + 8002cf8: b086 sub sp, #24 + 8002cfa: af00 add r7, sp, #0 + 8002cfc: 6078 str r0, [r7, #4] /* Variable to store the function result */ int8_t rslt; uint8_t pmu_cmd = 0; - 8002be0: 2300 movs r3, #0 - 8002be2: 757b strb r3, [r7, #21] + 8002cfe: 2300 movs r3, #0 + 8002d00: 757b strb r3, [r7, #21] struct bmm350_pmu_cmd_status_0 pmu_cmd_stat_0 = { 0 }; - 8002be4: f107 030c add.w r3, r7, #12 - 8002be8: 2200 movs r2, #0 - 8002bea: 601a str r2, [r3, #0] - 8002bec: 809a strh r2, [r3, #4] + 8002d02: f107 030c add.w r3, r7, #12 + 8002d06: 2200 movs r2, #0 + 8002d08: 601a str r2, [r3, #0] + 8002d0a: 809a strh r2, [r3, #4] uint8_t restore_normal = BMM350_DISABLE; - 8002bee: 2300 movs r3, #0 - 8002bf0: 75bb strb r3, [r7, #22] + 8002d0c: 2300 movs r3, #0 + 8002d0e: 75bb strb r3, [r7, #22] rslt = null_ptr_check(dev); - 8002bf2: 6878 ldr r0, [r7, #4] - 8002bf4: f000 fa77 bl 80030e6 - 8002bf8: 4603 mov r3, r0 - 8002bfa: 75fb strb r3, [r7, #23] + 8002d10: 6878 ldr r0, [r7, #4] + 8002d12: f000 fa77 bl 8003204 + 8002d16: 4603 mov r3, r0 + 8002d18: 75fb strb r3, [r7, #23] if ((rslt == BMM350_OK) && (dev->mraw_override)) - 8002bfc: f997 3017 ldrsb.w r3, [r7, #23] - 8002c00: 2b00 cmp r3, #0 - 8002c02: d10c bne.n 8002c1e - 8002c04: 687b ldr r3, [r7, #4] - 8002c06: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 - 8002c0a: 2b00 cmp r3, #0 - 8002c0c: d007 beq.n 8002c1e + 8002d1a: f997 3017 ldrsb.w r3, [r7, #23] + 8002d1e: 2b00 cmp r3, #0 + 8002d20: d10c bne.n 8002d3c + 8002d22: 687b ldr r3, [r7, #4] + 8002d24: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 + 8002d28: 2b00 cmp r3, #0 + 8002d2a: d007 beq.n 8002d3c { rslt = dev->mraw_override(dev); - 8002c0e: 687b ldr r3, [r7, #4] - 8002c10: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 - 8002c14: 6878 ldr r0, [r7, #4] - 8002c16: 4798 blx r3 - 8002c18: 4603 mov r3, r0 - 8002c1a: 75fb strb r3, [r7, #23] - 8002c1c: e081 b.n 8002d22 + 8002d2c: 687b ldr r3, [r7, #4] + 8002d2e: f8d3 30a8 ldr.w r3, [r3, #168] @ 0xa8 + 8002d32: 6878 ldr r0, [r7, #4] + 8002d34: 4798 blx r3 + 8002d36: 4603 mov r3, r0 + 8002d38: 75fb strb r3, [r7, #23] + 8002d3a: e081 b.n 8002e40 } else { /* Read PMU CMD status */ rslt = bmm350_get_pmu_cmd_status_0(&pmu_cmd_stat_0, dev); - 8002c1e: f107 030c add.w r3, r7, #12 - 8002c22: 6879 ldr r1, [r7, #4] - 8002c24: 4618 mov r0, r3 - 8002c26: f000 fa15 bl 8003054 - 8002c2a: 4603 mov r3, r0 - 8002c2c: 75fb strb r3, [r7, #23] + 8002d3c: f107 030c add.w r3, r7, #12 + 8002d40: 6879 ldr r1, [r7, #4] + 8002d42: 4618 mov r0, r3 + 8002d44: f000 fa15 bl 8003172 + 8002d48: 4603 mov r3, r0 + 8002d4a: 75fb strb r3, [r7, #23] /* Check the powermode is normal before performing magnetic reset */ if ((rslt == BMM350_OK) && (pmu_cmd_stat_0.pwr_mode_is_normal == BMM350_ENABLE)) - 8002c2e: f997 3017 ldrsb.w r3, [r7, #23] - 8002c32: 2b00 cmp r3, #0 - 8002c34: d10a bne.n 8002c4c - 8002c36: 7bfb ldrb r3, [r7, #15] - 8002c38: 2b01 cmp r3, #1 - 8002c3a: d107 bne.n 8002c4c + 8002d4c: f997 3017 ldrsb.w r3, [r7, #23] + 8002d50: 2b00 cmp r3, #0 + 8002d52: d10a bne.n 8002d6a + 8002d54: 7bfb ldrb r3, [r7, #15] + 8002d56: 2b01 cmp r3, #1 + 8002d58: d107 bne.n 8002d6a { restore_normal = BMM350_ENABLE; - 8002c3c: 2301 movs r3, #1 - 8002c3e: 75bb strb r3, [r7, #22] + 8002d5a: 2301 movs r3, #1 + 8002d5c: 75bb strb r3, [r7, #22] /* Reset can only be triggered in suspend */ rslt = bmm350_set_powermode(BMM350_SUSPEND_MODE, dev); - 8002c40: 6879 ldr r1, [r7, #4] - 8002c42: 2000 movs r0, #0 - 8002c44: f7ff fde9 bl 800281a - 8002c48: 4603 mov r3, r0 - 8002c4a: 75fb strb r3, [r7, #23] + 8002d5e: 6879 ldr r1, [r7, #4] + 8002d60: 2000 movs r0, #0 + 8002d62: f7ff fde9 bl 8002938 + 8002d66: 4603 mov r3, r0 + 8002d68: 75fb strb r3, [r7, #23] } if (rslt == BMM350_OK) - 8002c4c: f997 3017 ldrsb.w r3, [r7, #23] - 8002c50: 2b00 cmp r3, #0 - 8002c52: d115 bne.n 8002c80 + 8002d6a: f997 3017 ldrsb.w r3, [r7, #23] + 8002d6e: 2b00 cmp r3, #0 + 8002d70: d115 bne.n 8002d9e { /* Set BR to PMU_CMD register */ pmu_cmd = BMM350_PMU_CMD_BR; - 8002c54: 2307 movs r3, #7 - 8002c56: 757b strb r3, [r7, #21] + 8002d72: 2307 movs r3, #7 + 8002d74: 757b strb r3, [r7, #21] rslt = bmm350_set_regs(BMM350_REG_PMU_CMD, &pmu_cmd, 1, dev); - 8002c58: f107 0115 add.w r1, r7, #21 - 8002c5c: 687b ldr r3, [r7, #4] - 8002c5e: 2201 movs r2, #1 - 8002c60: 2006 movs r0, #6 - 8002c62: f7ff fd36 bl 80026d2 - 8002c66: 4603 mov r3, r0 - 8002c68: 75fb strb r3, [r7, #23] + 8002d76: f107 0115 add.w r1, r7, #21 + 8002d7a: 687b ldr r3, [r7, #4] + 8002d7c: 2201 movs r2, #1 + 8002d7e: 2006 movs r0, #6 + 8002d80: f7ff fd36 bl 80027f0 + 8002d84: 4603 mov r3, r0 + 8002d86: 75fb strb r3, [r7, #23] if (rslt == BMM350_OK) - 8002c6a: f997 3017 ldrsb.w r3, [r7, #23] - 8002c6e: 2b00 cmp r3, #0 - 8002c70: d106 bne.n 8002c80 + 8002d88: f997 3017 ldrsb.w r3, [r7, #23] + 8002d8c: 2b00 cmp r3, #0 + 8002d8e: d106 bne.n 8002d9e { rslt = bmm350_delay_us(BMM350_BR_DELAY, dev); - 8002c72: 6879 ldr r1, [r7, #4] - 8002c74: f243 60b0 movw r0, #14000 @ 0x36b0 - 8002c78: f7ff fdb4 bl 80027e4 - 8002c7c: 4603 mov r3, r0 - 8002c7e: 75fb strb r3, [r7, #23] + 8002d90: 6879 ldr r1, [r7, #4] + 8002d92: f243 60b0 movw r0, #14000 @ 0x36b0 + 8002d96: f7ff fdb4 bl 8002902 + 8002d9a: 4603 mov r3, r0 + 8002d9c: 75fb strb r3, [r7, #23] } } if (rslt == BMM350_OK) - 8002c80: f997 3017 ldrsb.w r3, [r7, #23] - 8002c84: 2b00 cmp r3, #0 - 8002c86: d110 bne.n 8002caa + 8002d9e: f997 3017 ldrsb.w r3, [r7, #23] + 8002da2: 2b00 cmp r3, #0 + 8002da4: d110 bne.n 8002dc8 { /* Verify if PMU_CMD_STATUS_0 register has BR set */ rslt = bmm350_get_pmu_cmd_status_0(&pmu_cmd_stat_0, dev); - 8002c88: f107 030c add.w r3, r7, #12 - 8002c8c: 6879 ldr r1, [r7, #4] - 8002c8e: 4618 mov r0, r3 - 8002c90: f000 f9e0 bl 8003054 - 8002c94: 4603 mov r3, r0 - 8002c96: 75fb strb r3, [r7, #23] + 8002da6: f107 030c add.w r3, r7, #12 + 8002daa: 6879 ldr r1, [r7, #4] + 8002dac: 4618 mov r0, r3 + 8002dae: f000 f9e0 bl 8003172 + 8002db2: 4603 mov r3, r0 + 8002db4: 75fb strb r3, [r7, #23] if ((rslt == BMM350_OK) && (pmu_cmd_stat_0.pmu_cmd_value != BMM350_PMU_CMD_STATUS_0_BR)) - 8002c98: f997 3017 ldrsb.w r3, [r7, #23] - 8002c9c: 2b00 cmp r3, #0 - 8002c9e: d104 bne.n 8002caa - 8002ca0: 7c7b ldrb r3, [r7, #17] - 8002ca2: 2b07 cmp r3, #7 - 8002ca4: d001 beq.n 8002caa + 8002db6: f997 3017 ldrsb.w r3, [r7, #23] + 8002dba: 2b00 cmp r3, #0 + 8002dbc: d104 bne.n 8002dc8 + 8002dbe: 7c7b ldrb r3, [r7, #17] + 8002dc0: 2b07 cmp r3, #7 + 8002dc2: d001 beq.n 8002dc8 { rslt = BMM350_E_PMU_CMD_VALUE; - 8002ca6: 23f0 movs r3, #240 @ 0xf0 - 8002ca8: 75fb strb r3, [r7, #23] + 8002dc4: 23f0 movs r3, #240 @ 0xf0 + 8002dc6: 75fb strb r3, [r7, #23] } } if (rslt == BMM350_OK) - 8002caa: f997 3017 ldrsb.w r3, [r7, #23] - 8002cae: 2b00 cmp r3, #0 - 8002cb0: d115 bne.n 8002cde + 8002dc8: f997 3017 ldrsb.w r3, [r7, #23] + 8002dcc: 2b00 cmp r3, #0 + 8002dce: d115 bne.n 8002dfc { /* Set FGR to PMU_CMD register */ pmu_cmd = BMM350_PMU_CMD_FGR; - 8002cb2: 2305 movs r3, #5 - 8002cb4: 757b strb r3, [r7, #21] + 8002dd0: 2305 movs r3, #5 + 8002dd2: 757b strb r3, [r7, #21] rslt = bmm350_set_regs(BMM350_REG_PMU_CMD, &pmu_cmd, 1, dev); - 8002cb6: f107 0115 add.w r1, r7, #21 - 8002cba: 687b ldr r3, [r7, #4] - 8002cbc: 2201 movs r2, #1 - 8002cbe: 2006 movs r0, #6 - 8002cc0: f7ff fd07 bl 80026d2 - 8002cc4: 4603 mov r3, r0 - 8002cc6: 75fb strb r3, [r7, #23] + 8002dd4: f107 0115 add.w r1, r7, #21 + 8002dd8: 687b ldr r3, [r7, #4] + 8002dda: 2201 movs r2, #1 + 8002ddc: 2006 movs r0, #6 + 8002dde: f7ff fd07 bl 80027f0 + 8002de2: 4603 mov r3, r0 + 8002de4: 75fb strb r3, [r7, #23] if (rslt == BMM350_OK) - 8002cc8: f997 3017 ldrsb.w r3, [r7, #23] - 8002ccc: 2b00 cmp r3, #0 - 8002cce: d106 bne.n 8002cde + 8002de6: f997 3017 ldrsb.w r3, [r7, #23] + 8002dea: 2b00 cmp r3, #0 + 8002dec: d106 bne.n 8002dfc { rslt = bmm350_delay_us(BMM350_FGR_DELAY, dev); - 8002cd0: 6879 ldr r1, [r7, #4] - 8002cd2: f244 6050 movw r0, #18000 @ 0x4650 - 8002cd6: f7ff fd85 bl 80027e4 - 8002cda: 4603 mov r3, r0 - 8002cdc: 75fb strb r3, [r7, #23] + 8002dee: 6879 ldr r1, [r7, #4] + 8002df0: f244 6050 movw r0, #18000 @ 0x4650 + 8002df4: f7ff fd85 bl 8002902 + 8002df8: 4603 mov r3, r0 + 8002dfa: 75fb strb r3, [r7, #23] } } if (rslt == BMM350_OK) - 8002cde: f997 3017 ldrsb.w r3, [r7, #23] - 8002ce2: 2b00 cmp r3, #0 - 8002ce4: d110 bne.n 8002d08 + 8002dfc: f997 3017 ldrsb.w r3, [r7, #23] + 8002e00: 2b00 cmp r3, #0 + 8002e02: d110 bne.n 8002e26 { /* Verify if PMU_CMD_STATUS_0 register has FGR set */ rslt = bmm350_get_pmu_cmd_status_0(&pmu_cmd_stat_0, dev); - 8002ce6: f107 030c add.w r3, r7, #12 - 8002cea: 6879 ldr r1, [r7, #4] - 8002cec: 4618 mov r0, r3 - 8002cee: f000 f9b1 bl 8003054 - 8002cf2: 4603 mov r3, r0 - 8002cf4: 75fb strb r3, [r7, #23] + 8002e04: f107 030c add.w r3, r7, #12 + 8002e08: 6879 ldr r1, [r7, #4] + 8002e0a: 4618 mov r0, r3 + 8002e0c: f000 f9b1 bl 8003172 + 8002e10: 4603 mov r3, r0 + 8002e12: 75fb strb r3, [r7, #23] if ((rslt == BMM350_OK) && (pmu_cmd_stat_0.pmu_cmd_value != BMM350_PMU_CMD_STATUS_0_FGR)) - 8002cf6: f997 3017 ldrsb.w r3, [r7, #23] - 8002cfa: 2b00 cmp r3, #0 - 8002cfc: d104 bne.n 8002d08 - 8002cfe: 7c7b ldrb r3, [r7, #17] - 8002d00: 2b05 cmp r3, #5 - 8002d02: d001 beq.n 8002d08 + 8002e14: f997 3017 ldrsb.w r3, [r7, #23] + 8002e18: 2b00 cmp r3, #0 + 8002e1a: d104 bne.n 8002e26 + 8002e1c: 7c7b ldrb r3, [r7, #17] + 8002e1e: 2b05 cmp r3, #5 + 8002e20: d001 beq.n 8002e26 { rslt = BMM350_E_PMU_CMD_VALUE; - 8002d04: 23f0 movs r3, #240 @ 0xf0 - 8002d06: 75fb strb r3, [r7, #23] + 8002e22: 23f0 movs r3, #240 @ 0xf0 + 8002e24: 75fb strb r3, [r7, #23] } } if ((rslt == BMM350_OK) && (restore_normal == BMM350_ENABLE)) - 8002d08: f997 3017 ldrsb.w r3, [r7, #23] - 8002d0c: 2b00 cmp r3, #0 - 8002d0e: d108 bne.n 8002d22 - 8002d10: 7dbb ldrb r3, [r7, #22] - 8002d12: 2b01 cmp r3, #1 - 8002d14: d105 bne.n 8002d22 + 8002e26: f997 3017 ldrsb.w r3, [r7, #23] + 8002e2a: 2b00 cmp r3, #0 + 8002e2c: d108 bne.n 8002e40 + 8002e2e: 7dbb ldrb r3, [r7, #22] + 8002e30: 2b01 cmp r3, #1 + 8002e32: d105 bne.n 8002e40 { rslt = bmm350_set_powermode(BMM350_NORMAL_MODE, dev); - 8002d16: 6879 ldr r1, [r7, #4] - 8002d18: 2001 movs r0, #1 - 8002d1a: f7ff fd7e bl 800281a - 8002d1e: 4603 mov r3, r0 - 8002d20: 75fb strb r3, [r7, #23] + 8002e34: 6879 ldr r1, [r7, #4] + 8002e36: 2001 movs r0, #1 + 8002e38: f7ff fd7e bl 8002938 + 8002e3c: 4603 mov r3, r0 + 8002e3e: 75fb strb r3, [r7, #23] } } return rslt; - 8002d22: f997 3017 ldrsb.w r3, [r7, #23] + 8002e40: f997 3017 ldrsb.w r3, [r7, #23] } - 8002d26: 4618 mov r0, r3 - 8002d28: 3718 adds r7, #24 - 8002d2a: 46bd mov sp, r7 - 8002d2c: bd80 pop {r7, pc} + 8002e44: 4618 mov r0, r3 + 8002e46: 3718 adds r7, #24 + 8002e48: 46bd mov sp, r7 + 8002e4a: bd80 pop {r7, pc} -08002d2e : +08002e4c : /*! * @brief This API is used to perform compensation for raw magnetometer and temperature data. */ int8_t bmm350_get_compensated_mag_xyz_temp_data(struct bmm350_mag_temp_data *mag_temp_data, struct bmm350_dev *dev) { - 8002d2e: b580 push {r7, lr} - 8002d30: b096 sub sp, #88 @ 0x58 - 8002d32: af00 add r7, sp, #0 - 8002d34: 6078 str r0, [r7, #4] - 8002d36: 6039 str r1, [r7, #0] + 8002e4c: b580 push {r7, lr} + 8002e4e: b096 sub sp, #88 @ 0x58 + 8002e50: af00 add r7, sp, #0 + 8002e52: 6078 str r0, [r7, #4] + 8002e54: 6039 str r1, [r7, #0] /* Variable to store the function result */ int8_t rslt; uint8_t indx; float out_data[4] = { 0.0f }; - 8002d38: f107 0338 add.w r3, r7, #56 @ 0x38 - 8002d3c: 2200 movs r2, #0 - 8002d3e: 601a str r2, [r3, #0] - 8002d40: 605a str r2, [r3, #4] - 8002d42: 609a str r2, [r3, #8] - 8002d44: 60da str r2, [r3, #12] + 8002e56: f107 0338 add.w r3, r7, #56 @ 0x38 + 8002e5a: 2200 movs r2, #0 + 8002e5c: 601a str r2, [r3, #0] + 8002e5e: 605a str r2, [r3, #4] + 8002e60: 609a str r2, [r3, #8] + 8002e62: 60da str r2, [r3, #12] float dut_offset_coef[3], dut_sensit_coef[3], dut_tco[3], dut_tcs[3]; float cr_ax_comp_x, cr_ax_comp_y, cr_ax_comp_z; if (mag_temp_data != NULL) - 8002d46: 687b ldr r3, [r7, #4] - 8002d48: 2b00 cmp r3, #0 - 8002d4a: f000 817a beq.w 8003042 + 8002e64: 687b ldr r3, [r7, #4] + 8002e66: 2b00 cmp r3, #0 + 8002e68: f000 817a beq.w 8003160 { /* Reads raw magnetic x,y and z axis along with temperature */ rslt = read_out_raw_data(out_data, dev); - 8002d4e: f107 0338 add.w r3, r7, #56 @ 0x38 - 8002d52: 6839 ldr r1, [r7, #0] - 8002d54: 4618 mov r0, r3 - 8002d56: f000 fc9f bl 8003698 - 8002d5a: 4603 mov r3, r0 - 8002d5c: f887 3057 strb.w r3, [r7, #87] @ 0x57 + 8002e6c: f107 0338 add.w r3, r7, #56 @ 0x38 + 8002e70: 6839 ldr r1, [r7, #0] + 8002e72: 4618 mov r0, r3 + 8002e74: f000 fc9c bl 80037b0 + 8002e78: 4603 mov r3, r0 + 8002e7a: f887 3057 strb.w r3, [r7, #87] @ 0x57 if (rslt == BMM350_OK) - 8002d60: f997 3057 ldrsb.w r3, [r7, #87] @ 0x57 - 8002d64: 2b00 cmp r3, #0 - 8002d66: f040 813a bne.w 8002fde + 8002e7e: f997 3057 ldrsb.w r3, [r7, #87] @ 0x57 + 8002e82: 2b00 cmp r3, #0 + 8002e84: f040 813a bne.w 80030fc { /* Apply compensation to temperature reading */ out_data[3] = (1 + dev->mag_comp.dut_sensit_coef.t_sens) * out_data[3] + - 8002d6a: 683b ldr r3, [r7, #0] - 8002d6c: edd3 7a0a vldr s15, [r3, #40] @ 0x28 - 8002d70: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 - 8002d74: ee37 7a87 vadd.f32 s14, s15, s14 - 8002d78: edd7 7a11 vldr s15, [r7, #68] @ 0x44 - 8002d7c: ee27 7a27 vmul.f32 s14, s14, s15 + 8002e88: 683b ldr r3, [r7, #0] + 8002e8a: edd3 7a0a vldr s15, [r3, #40] @ 0x28 + 8002e8e: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 + 8002e92: ee37 7a87 vadd.f32 s14, s15, s14 + 8002e96: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 8002e9a: ee27 7a27 vmul.f32 s14, s14, s15 dev->mag_comp.dut_offset_coef.t_offs; - 8002d80: 683b ldr r3, [r7, #0] - 8002d82: edd3 7a06 vldr s15, [r3, #24] + 8002e9e: 683b ldr r3, [r7, #0] + 8002ea0: edd3 7a06 vldr s15, [r3, #24] out_data[3] = (1 + dev->mag_comp.dut_sensit_coef.t_sens) * out_data[3] + - 8002d86: ee77 7a27 vadd.f32 s15, s14, s15 - 8002d8a: edc7 7a11 vstr s15, [r7, #68] @ 0x44 + 8002ea4: ee77 7a27 vadd.f32 s15, s14, s15 + 8002ea8: edc7 7a11 vstr s15, [r7, #68] @ 0x44 /* Store magnetic compensation structure to an array */ dut_offset_coef[0] = dev->mag_comp.dut_offset_coef.offset_x; - 8002d8e: 683b ldr r3, [r7, #0] - 8002d90: 69db ldr r3, [r3, #28] - 8002d92: 62fb str r3, [r7, #44] @ 0x2c + 8002eac: 683b ldr r3, [r7, #0] + 8002eae: 69db ldr r3, [r3, #28] + 8002eb0: 62fb str r3, [r7, #44] @ 0x2c dut_offset_coef[1] = dev->mag_comp.dut_offset_coef.offset_y; - 8002d94: 683b ldr r3, [r7, #0] - 8002d96: 6a1b ldr r3, [r3, #32] - 8002d98: 633b str r3, [r7, #48] @ 0x30 + 8002eb2: 683b ldr r3, [r7, #0] + 8002eb4: 6a1b ldr r3, [r3, #32] + 8002eb6: 633b str r3, [r7, #48] @ 0x30 dut_offset_coef[2] = dev->mag_comp.dut_offset_coef.offset_z; - 8002d9a: 683b ldr r3, [r7, #0] - 8002d9c: 6a5b ldr r3, [r3, #36] @ 0x24 - 8002d9e: 637b str r3, [r7, #52] @ 0x34 + 8002eb8: 683b ldr r3, [r7, #0] + 8002eba: 6a5b ldr r3, [r3, #36] @ 0x24 + 8002ebc: 637b str r3, [r7, #52] @ 0x34 dut_sensit_coef[0] = dev->mag_comp.dut_sensit_coef.sens_x; - 8002da0: 683b ldr r3, [r7, #0] - 8002da2: 6adb ldr r3, [r3, #44] @ 0x2c - 8002da4: 623b str r3, [r7, #32] + 8002ebe: 683b ldr r3, [r7, #0] + 8002ec0: 6adb ldr r3, [r3, #44] @ 0x2c + 8002ec2: 623b str r3, [r7, #32] dut_sensit_coef[1] = dev->mag_comp.dut_sensit_coef.sens_y; - 8002da6: 683b ldr r3, [r7, #0] - 8002da8: 6b1b ldr r3, [r3, #48] @ 0x30 - 8002daa: 627b str r3, [r7, #36] @ 0x24 + 8002ec4: 683b ldr r3, [r7, #0] + 8002ec6: 6b1b ldr r3, [r3, #48] @ 0x30 + 8002ec8: 627b str r3, [r7, #36] @ 0x24 dut_sensit_coef[2] = dev->mag_comp.dut_sensit_coef.sens_z; - 8002dac: 683b ldr r3, [r7, #0] - 8002dae: 6b5b ldr r3, [r3, #52] @ 0x34 - 8002db0: 62bb str r3, [r7, #40] @ 0x28 + 8002eca: 683b ldr r3, [r7, #0] + 8002ecc: 6b5b ldr r3, [r3, #52] @ 0x34 + 8002ece: 62bb str r3, [r7, #40] @ 0x28 dut_tco[0] = dev->mag_comp.dut_tco.tco_x; - 8002db2: 683b ldr r3, [r7, #0] - 8002db4: 6b9b ldr r3, [r3, #56] @ 0x38 - 8002db6: 617b str r3, [r7, #20] + 8002ed0: 683b ldr r3, [r7, #0] + 8002ed2: 6b9b ldr r3, [r3, #56] @ 0x38 + 8002ed4: 617b str r3, [r7, #20] dut_tco[1] = dev->mag_comp.dut_tco.tco_y; - 8002db8: 683b ldr r3, [r7, #0] - 8002dba: 6bdb ldr r3, [r3, #60] @ 0x3c - 8002dbc: 61bb str r3, [r7, #24] + 8002ed6: 683b ldr r3, [r7, #0] + 8002ed8: 6bdb ldr r3, [r3, #60] @ 0x3c + 8002eda: 61bb str r3, [r7, #24] dut_tco[2] = dev->mag_comp.dut_tco.tco_z; - 8002dbe: 683b ldr r3, [r7, #0] - 8002dc0: 6c1b ldr r3, [r3, #64] @ 0x40 - 8002dc2: 61fb str r3, [r7, #28] + 8002edc: 683b ldr r3, [r7, #0] + 8002ede: 6c1b ldr r3, [r3, #64] @ 0x40 + 8002ee0: 61fb str r3, [r7, #28] dut_tcs[0] = dev->mag_comp.dut_tcs.tcs_x; - 8002dc4: 683b ldr r3, [r7, #0] - 8002dc6: 6c5b ldr r3, [r3, #68] @ 0x44 - 8002dc8: 60bb str r3, [r7, #8] + 8002ee2: 683b ldr r3, [r7, #0] + 8002ee4: 6c5b ldr r3, [r3, #68] @ 0x44 + 8002ee6: 60bb str r3, [r7, #8] dut_tcs[1] = dev->mag_comp.dut_tcs.tcs_y; - 8002dca: 683b ldr r3, [r7, #0] - 8002dcc: 6c9b ldr r3, [r3, #72] @ 0x48 - 8002dce: 60fb str r3, [r7, #12] + 8002ee8: 683b ldr r3, [r7, #0] + 8002eea: 6c9b ldr r3, [r3, #72] @ 0x48 + 8002eec: 60fb str r3, [r7, #12] dut_tcs[2] = dev->mag_comp.dut_tcs.tcs_z; - 8002dd0: 683b ldr r3, [r7, #0] - 8002dd2: 6cdb ldr r3, [r3, #76] @ 0x4c - 8002dd4: 613b str r3, [r7, #16] + 8002eee: 683b ldr r3, [r7, #0] + 8002ef0: 6cdb ldr r3, [r3, #76] @ 0x4c + 8002ef2: 613b str r3, [r7, #16] /* Compensate raw magnetic data */ for (indx = 0; indx < 3; indx++) - 8002dd6: 2300 movs r3, #0 - 8002dd8: f887 3056 strb.w r3, [r7, #86] @ 0x56 - 8002ddc: e086 b.n 8002eec + 8002ef4: 2300 movs r3, #0 + 8002ef6: f887 3056 strb.w r3, [r7, #86] @ 0x56 + 8002efa: e086 b.n 800300a { out_data[indx] *= 1 + dut_sensit_coef[indx]; - 8002dde: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002de2: 009b lsls r3, r3, #2 - 8002de4: 3358 adds r3, #88 @ 0x58 - 8002de6: 443b add r3, r7 - 8002de8: 3b20 subs r3, #32 - 8002dea: ed93 7a00 vldr s14, [r3] - 8002dee: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002df2: 009b lsls r3, r3, #2 - 8002df4: 3358 adds r3, #88 @ 0x58 - 8002df6: 443b add r3, r7 - 8002df8: 3b38 subs r3, #56 @ 0x38 - 8002dfa: edd3 7a00 vldr s15, [r3] - 8002dfe: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 - 8002e02: ee77 7aa6 vadd.f32 s15, s15, s13 - 8002e06: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002e0a: ee67 7a27 vmul.f32 s15, s14, s15 - 8002e0e: 009b lsls r3, r3, #2 - 8002e10: 3358 adds r3, #88 @ 0x58 - 8002e12: 443b add r3, r7 - 8002e14: 3b20 subs r3, #32 - 8002e16: edc3 7a00 vstr s15, [r3] + 8002efc: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002f00: 009b lsls r3, r3, #2 + 8002f02: 3358 adds r3, #88 @ 0x58 + 8002f04: 443b add r3, r7 + 8002f06: 3b20 subs r3, #32 + 8002f08: ed93 7a00 vldr s14, [r3] + 8002f0c: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002f10: 009b lsls r3, r3, #2 + 8002f12: 3358 adds r3, #88 @ 0x58 + 8002f14: 443b add r3, r7 + 8002f16: 3b38 subs r3, #56 @ 0x38 + 8002f18: edd3 7a00 vldr s15, [r3] + 8002f1c: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 + 8002f20: ee77 7aa6 vadd.f32 s15, s15, s13 + 8002f24: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002f28: ee67 7a27 vmul.f32 s15, s14, s15 + 8002f2c: 009b lsls r3, r3, #2 + 8002f2e: 3358 adds r3, #88 @ 0x58 + 8002f30: 443b add r3, r7 + 8002f32: 3b20 subs r3, #32 + 8002f34: edc3 7a00 vstr s15, [r3] out_data[indx] += dut_offset_coef[indx]; - 8002e1a: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002e1e: 009b lsls r3, r3, #2 - 8002e20: 3358 adds r3, #88 @ 0x58 - 8002e22: 443b add r3, r7 - 8002e24: 3b20 subs r3, #32 - 8002e26: ed93 7a00 vldr s14, [r3] - 8002e2a: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002e2e: 009b lsls r3, r3, #2 - 8002e30: 3358 adds r3, #88 @ 0x58 - 8002e32: 443b add r3, r7 - 8002e34: 3b2c subs r3, #44 @ 0x2c - 8002e36: edd3 7a00 vldr s15, [r3] - 8002e3a: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002e3e: ee77 7a27 vadd.f32 s15, s14, s15 - 8002e42: 009b lsls r3, r3, #2 - 8002e44: 3358 adds r3, #88 @ 0x58 - 8002e46: 443b add r3, r7 - 8002e48: 3b20 subs r3, #32 - 8002e4a: edc3 7a00 vstr s15, [r3] + 8002f38: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002f3c: 009b lsls r3, r3, #2 + 8002f3e: 3358 adds r3, #88 @ 0x58 + 8002f40: 443b add r3, r7 + 8002f42: 3b20 subs r3, #32 + 8002f44: ed93 7a00 vldr s14, [r3] + 8002f48: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002f4c: 009b lsls r3, r3, #2 + 8002f4e: 3358 adds r3, #88 @ 0x58 + 8002f50: 443b add r3, r7 + 8002f52: 3b2c subs r3, #44 @ 0x2c + 8002f54: edd3 7a00 vldr s15, [r3] + 8002f58: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002f5c: ee77 7a27 vadd.f32 s15, s14, s15 + 8002f60: 009b lsls r3, r3, #2 + 8002f62: 3358 adds r3, #88 @ 0x58 + 8002f64: 443b add r3, r7 + 8002f66: 3b20 subs r3, #32 + 8002f68: edc3 7a00 vstr s15, [r3] out_data[indx] += dut_tco[indx] * (out_data[3] - dev->mag_comp.dut_t0); - 8002e4e: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002e52: 009b lsls r3, r3, #2 - 8002e54: 3358 adds r3, #88 @ 0x58 - 8002e56: 443b add r3, r7 - 8002e58: 3b20 subs r3, #32 - 8002e5a: ed93 7a00 vldr s14, [r3] - 8002e5e: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002e62: 009b lsls r3, r3, #2 - 8002e64: 3358 adds r3, #88 @ 0x58 - 8002e66: 443b add r3, r7 - 8002e68: 3b44 subs r3, #68 @ 0x44 - 8002e6a: edd3 6a00 vldr s13, [r3] - 8002e6e: ed97 6a11 vldr s12, [r7, #68] @ 0x44 - 8002e72: 683b ldr r3, [r7, #0] - 8002e74: edd3 7a14 vldr s15, [r3, #80] @ 0x50 - 8002e78: ee76 7a67 vsub.f32 s15, s12, s15 - 8002e7c: ee66 7aa7 vmul.f32 s15, s13, s15 - 8002e80: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002e84: ee77 7a27 vadd.f32 s15, s14, s15 - 8002e88: 009b lsls r3, r3, #2 - 8002e8a: 3358 adds r3, #88 @ 0x58 - 8002e8c: 443b add r3, r7 - 8002e8e: 3b20 subs r3, #32 - 8002e90: edc3 7a00 vstr s15, [r3] + 8002f6c: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002f70: 009b lsls r3, r3, #2 + 8002f72: 3358 adds r3, #88 @ 0x58 + 8002f74: 443b add r3, r7 + 8002f76: 3b20 subs r3, #32 + 8002f78: ed93 7a00 vldr s14, [r3] + 8002f7c: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002f80: 009b lsls r3, r3, #2 + 8002f82: 3358 adds r3, #88 @ 0x58 + 8002f84: 443b add r3, r7 + 8002f86: 3b44 subs r3, #68 @ 0x44 + 8002f88: edd3 6a00 vldr s13, [r3] + 8002f8c: ed97 6a11 vldr s12, [r7, #68] @ 0x44 + 8002f90: 683b ldr r3, [r7, #0] + 8002f92: edd3 7a14 vldr s15, [r3, #80] @ 0x50 + 8002f96: ee76 7a67 vsub.f32 s15, s12, s15 + 8002f9a: ee66 7aa7 vmul.f32 s15, s13, s15 + 8002f9e: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002fa2: ee77 7a27 vadd.f32 s15, s14, s15 + 8002fa6: 009b lsls r3, r3, #2 + 8002fa8: 3358 adds r3, #88 @ 0x58 + 8002faa: 443b add r3, r7 + 8002fac: 3b20 subs r3, #32 + 8002fae: edc3 7a00 vstr s15, [r3] out_data[indx] /= 1 + dut_tcs[indx] * (out_data[3] - dev->mag_comp.dut_t0); - 8002e94: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002e98: 009b lsls r3, r3, #2 - 8002e9a: 3358 adds r3, #88 @ 0x58 - 8002e9c: 443b add r3, r7 - 8002e9e: 3b20 subs r3, #32 - 8002ea0: edd3 6a00 vldr s13, [r3] - 8002ea4: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002ea8: 009b lsls r3, r3, #2 - 8002eaa: 3358 adds r3, #88 @ 0x58 - 8002eac: 443b add r3, r7 - 8002eae: 3b50 subs r3, #80 @ 0x50 - 8002eb0: ed93 7a00 vldr s14, [r3] - 8002eb4: ed97 6a11 vldr s12, [r7, #68] @ 0x44 - 8002eb8: 683b ldr r3, [r7, #0] - 8002eba: edd3 7a14 vldr s15, [r3, #80] @ 0x50 - 8002ebe: ee76 7a67 vsub.f32 s15, s12, s15 - 8002ec2: ee67 7a27 vmul.f32 s15, s14, s15 - 8002ec6: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 - 8002eca: ee37 7a87 vadd.f32 s14, s15, s14 - 8002ece: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002ed2: eec6 7a87 vdiv.f32 s15, s13, s14 - 8002ed6: 009b lsls r3, r3, #2 - 8002ed8: 3358 adds r3, #88 @ 0x58 - 8002eda: 443b add r3, r7 - 8002edc: 3b20 subs r3, #32 - 8002ede: edc3 7a00 vstr s15, [r3] + 8002fb2: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002fb6: 009b lsls r3, r3, #2 + 8002fb8: 3358 adds r3, #88 @ 0x58 + 8002fba: 443b add r3, r7 + 8002fbc: 3b20 subs r3, #32 + 8002fbe: edd3 6a00 vldr s13, [r3] + 8002fc2: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002fc6: 009b lsls r3, r3, #2 + 8002fc8: 3358 adds r3, #88 @ 0x58 + 8002fca: 443b add r3, r7 + 8002fcc: 3b50 subs r3, #80 @ 0x50 + 8002fce: ed93 7a00 vldr s14, [r3] + 8002fd2: ed97 6a11 vldr s12, [r7, #68] @ 0x44 + 8002fd6: 683b ldr r3, [r7, #0] + 8002fd8: edd3 7a14 vldr s15, [r3, #80] @ 0x50 + 8002fdc: ee76 7a67 vsub.f32 s15, s12, s15 + 8002fe0: ee67 7a27 vmul.f32 s15, s14, s15 + 8002fe4: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 + 8002fe8: ee37 7a87 vadd.f32 s14, s15, s14 + 8002fec: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8002ff0: eec6 7a87 vdiv.f32 s15, s13, s14 + 8002ff4: 009b lsls r3, r3, #2 + 8002ff6: 3358 adds r3, #88 @ 0x58 + 8002ff8: 443b add r3, r7 + 8002ffa: 3b20 subs r3, #32 + 8002ffc: edc3 7a00 vstr s15, [r3] for (indx = 0; indx < 3; indx++) - 8002ee2: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002ee6: 3301 adds r3, #1 - 8002ee8: f887 3056 strb.w r3, [r7, #86] @ 0x56 - 8002eec: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 - 8002ef0: 2b02 cmp r3, #2 - 8002ef2: f67f af74 bls.w 8002dde + 8003000: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 8003004: 3301 adds r3, #1 + 8003006: f887 3056 strb.w r3, [r7, #86] @ 0x56 + 800300a: f897 3056 ldrb.w r3, [r7, #86] @ 0x56 + 800300e: 2b02 cmp r3, #2 + 8003010: f67f af74 bls.w 8002efc } cr_ax_comp_x = (out_data[0] - dev->mag_comp.cross_axis.cross_x_y * out_data[1]) / - 8002ef6: ed97 7a0e vldr s14, [r7, #56] @ 0x38 - 8002efa: 683b ldr r3, [r7, #0] - 8002efc: edd3 6a15 vldr s13, [r3, #84] @ 0x54 - 8002f00: edd7 7a0f vldr s15, [r7, #60] @ 0x3c - 8002f04: ee66 7aa7 vmul.f32 s15, s13, s15 - 8002f08: ee77 6a67 vsub.f32 s13, s14, s15 + 8003014: ed97 7a0e vldr s14, [r7, #56] @ 0x38 + 8003018: 683b ldr r3, [r7, #0] + 800301a: edd3 6a15 vldr s13, [r3, #84] @ 0x54 + 800301e: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 8003022: ee66 7aa7 vmul.f32 s15, s13, s15 + 8003026: ee77 6a67 vsub.f32 s13, s14, s15 (1 - dev->mag_comp.cross_axis.cross_y_x * dev->mag_comp.cross_axis.cross_x_y); - 8002f0c: 683b ldr r3, [r7, #0] - 8002f0e: ed93 7a16 vldr s14, [r3, #88] @ 0x58 - 8002f12: 683b ldr r3, [r7, #0] - 8002f14: edd3 7a15 vldr s15, [r3, #84] @ 0x54 - 8002f18: ee67 7a27 vmul.f32 s15, s14, s15 - 8002f1c: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 - 8002f20: ee37 7a67 vsub.f32 s14, s14, s15 + 800302a: 683b ldr r3, [r7, #0] + 800302c: ed93 7a16 vldr s14, [r3, #88] @ 0x58 + 8003030: 683b ldr r3, [r7, #0] + 8003032: edd3 7a15 vldr s15, [r3, #84] @ 0x54 + 8003036: ee67 7a27 vmul.f32 s15, s14, s15 + 800303a: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 + 800303e: ee37 7a67 vsub.f32 s14, s14, s15 cr_ax_comp_x = (out_data[0] - dev->mag_comp.cross_axis.cross_x_y * out_data[1]) / - 8002f24: eec6 7a87 vdiv.f32 s15, s13, s14 - 8002f28: edc7 7a14 vstr s15, [r7, #80] @ 0x50 + 8003042: eec6 7a87 vdiv.f32 s15, s13, s14 + 8003046: edc7 7a14 vstr s15, [r7, #80] @ 0x50 cr_ax_comp_y = (out_data[1] - dev->mag_comp.cross_axis.cross_y_x * out_data[0]) / - 8002f2c: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 8002f30: 683b ldr r3, [r7, #0] - 8002f32: edd3 6a16 vldr s13, [r3, #88] @ 0x58 - 8002f36: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 8002f3a: ee66 7aa7 vmul.f32 s15, s13, s15 - 8002f3e: ee77 6a67 vsub.f32 s13, s14, s15 + 800304a: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 800304e: 683b ldr r3, [r7, #0] + 8003050: edd3 6a16 vldr s13, [r3, #88] @ 0x58 + 8003054: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8003058: ee66 7aa7 vmul.f32 s15, s13, s15 + 800305c: ee77 6a67 vsub.f32 s13, s14, s15 (1 - dev->mag_comp.cross_axis.cross_y_x * dev->mag_comp.cross_axis.cross_x_y); - 8002f42: 683b ldr r3, [r7, #0] - 8002f44: ed93 7a16 vldr s14, [r3, #88] @ 0x58 - 8002f48: 683b ldr r3, [r7, #0] - 8002f4a: edd3 7a15 vldr s15, [r3, #84] @ 0x54 - 8002f4e: ee67 7a27 vmul.f32 s15, s14, s15 - 8002f52: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 - 8002f56: ee37 7a67 vsub.f32 s14, s14, s15 + 8003060: 683b ldr r3, [r7, #0] + 8003062: ed93 7a16 vldr s14, [r3, #88] @ 0x58 + 8003066: 683b ldr r3, [r7, #0] + 8003068: edd3 7a15 vldr s15, [r3, #84] @ 0x54 + 800306c: ee67 7a27 vmul.f32 s15, s14, s15 + 8003070: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 + 8003074: ee37 7a67 vsub.f32 s14, s14, s15 cr_ax_comp_y = (out_data[1] - dev->mag_comp.cross_axis.cross_y_x * out_data[0]) / - 8002f5a: eec6 7a87 vdiv.f32 s15, s13, s14 - 8002f5e: edc7 7a13 vstr s15, [r7, #76] @ 0x4c + 8003078: eec6 7a87 vdiv.f32 s15, s13, s14 + 800307c: edc7 7a13 vstr s15, [r7, #76] @ 0x4c cr_ax_comp_z = (out_data[2] + - 8002f62: ed97 7a10 vldr s14, [r7, #64] @ 0x40 + 8003080: ed97 7a10 vldr s14, [r7, #64] @ 0x40 (out_data[0] * - 8002f66: edd7 6a0e vldr s13, [r7, #56] @ 0x38 + 8003084: edd7 6a0e vldr s13, [r7, #56] @ 0x38 (dev->mag_comp.cross_axis.cross_y_x * dev->mag_comp.cross_axis.cross_z_y - - 8002f6a: 683b ldr r3, [r7, #0] - 8002f6c: ed93 6a16 vldr s12, [r3, #88] @ 0x58 - 8002f70: 683b ldr r3, [r7, #0] - 8002f72: edd3 7a18 vldr s15, [r3, #96] @ 0x60 - 8002f76: ee26 6a27 vmul.f32 s12, s12, s15 + 8003088: 683b ldr r3, [r7, #0] + 800308a: ed93 6a16 vldr s12, [r3, #88] @ 0x58 + 800308e: 683b ldr r3, [r7, #0] + 8003090: edd3 7a18 vldr s15, [r3, #96] @ 0x60 + 8003094: ee26 6a27 vmul.f32 s12, s12, s15 dev->mag_comp.cross_axis.cross_z_x) - out_data[1] * - 8002f7a: 683b ldr r3, [r7, #0] - 8002f7c: edd3 7a17 vldr s15, [r3, #92] @ 0x5c + 8003098: 683b ldr r3, [r7, #0] + 800309a: edd3 7a17 vldr s15, [r3, #92] @ 0x5c (dev->mag_comp.cross_axis.cross_y_x * dev->mag_comp.cross_axis.cross_z_y - - 8002f80: ee76 7a67 vsub.f32 s15, s12, s15 + 800309e: ee76 7a67 vsub.f32 s15, s12, s15 (out_data[0] * - 8002f84: ee66 6aa7 vmul.f32 s13, s13, s15 + 80030a2: ee66 6aa7 vmul.f32 s13, s13, s15 dev->mag_comp.cross_axis.cross_z_x) - out_data[1] * - 8002f88: ed97 6a0f vldr s12, [r7, #60] @ 0x3c + 80030a6: ed97 6a0f vldr s12, [r7, #60] @ 0x3c (dev->mag_comp.cross_axis.cross_z_y - dev->mag_comp.cross_axis.cross_x_y * - 8002f8c: 683b ldr r3, [r7, #0] - 8002f8e: edd3 5a18 vldr s11, [r3, #96] @ 0x60 - 8002f92: 683b ldr r3, [r7, #0] - 8002f94: ed93 5a15 vldr s10, [r3, #84] @ 0x54 + 80030aa: 683b ldr r3, [r7, #0] + 80030ac: edd3 5a18 vldr s11, [r3, #96] @ 0x60 + 80030b0: 683b ldr r3, [r7, #0] + 80030b2: ed93 5a15 vldr s10, [r3, #84] @ 0x54 dev->mag_comp.cross_axis.cross_z_x)) / - 8002f98: 683b ldr r3, [r7, #0] - 8002f9a: edd3 7a17 vldr s15, [r3, #92] @ 0x5c + 80030b6: 683b ldr r3, [r7, #0] + 80030b8: edd3 7a17 vldr s15, [r3, #92] @ 0x5c (dev->mag_comp.cross_axis.cross_z_y - dev->mag_comp.cross_axis.cross_x_y * - 8002f9e: ee65 7a27 vmul.f32 s15, s10, s15 - 8002fa2: ee75 7ae7 vsub.f32 s15, s11, s15 + 80030bc: ee65 7a27 vmul.f32 s15, s10, s15 + 80030c0: ee75 7ae7 vsub.f32 s15, s11, s15 dev->mag_comp.cross_axis.cross_z_x) - out_data[1] * - 8002fa6: ee66 7a27 vmul.f32 s15, s12, s15 - 8002faa: ee36 6ae7 vsub.f32 s12, s13, s15 + 80030c4: ee66 7a27 vmul.f32 s15, s12, s15 + 80030c8: ee36 6ae7 vsub.f32 s12, s13, s15 (1 - dev->mag_comp.cross_axis.cross_y_x * dev->mag_comp.cross_axis.cross_x_y)); - 8002fae: 683b ldr r3, [r7, #0] - 8002fb0: edd3 6a16 vldr s13, [r3, #88] @ 0x58 - 8002fb4: 683b ldr r3, [r7, #0] - 8002fb6: edd3 7a15 vldr s15, [r3, #84] @ 0x54 - 8002fba: ee66 7aa7 vmul.f32 s15, s13, s15 - 8002fbe: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 - 8002fc2: ee76 6ae7 vsub.f32 s13, s13, s15 + 80030cc: 683b ldr r3, [r7, #0] + 80030ce: edd3 6a16 vldr s13, [r3, #88] @ 0x58 + 80030d2: 683b ldr r3, [r7, #0] + 80030d4: edd3 7a15 vldr s15, [r3, #84] @ 0x54 + 80030d8: ee66 7aa7 vmul.f32 s15, s13, s15 + 80030dc: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 + 80030e0: ee76 6ae7 vsub.f32 s13, s13, s15 dev->mag_comp.cross_axis.cross_z_x)) / - 8002fc6: eec6 7a26 vdiv.f32 s15, s12, s13 + 80030e4: eec6 7a26 vdiv.f32 s15, s12, s13 cr_ax_comp_z = - 8002fca: ee77 7a27 vadd.f32 s15, s14, s15 - 8002fce: edc7 7a12 vstr s15, [r7, #72] @ 0x48 + 80030e8: ee77 7a27 vadd.f32 s15, s14, s15 + 80030ec: edc7 7a12 vstr s15, [r7, #72] @ 0x48 out_data[0] = cr_ax_comp_x; - 8002fd2: 6d3b ldr r3, [r7, #80] @ 0x50 - 8002fd4: 63bb str r3, [r7, #56] @ 0x38 + 80030f0: 6d3b ldr r3, [r7, #80] @ 0x50 + 80030f2: 63bb str r3, [r7, #56] @ 0x38 out_data[1] = cr_ax_comp_y; - 8002fd6: 6cfb ldr r3, [r7, #76] @ 0x4c - 8002fd8: 63fb str r3, [r7, #60] @ 0x3c + 80030f4: 6cfb ldr r3, [r7, #76] @ 0x4c + 80030f6: 63fb str r3, [r7, #60] @ 0x3c out_data[2] = cr_ax_comp_z; - 8002fda: 6cbb ldr r3, [r7, #72] @ 0x48 - 8002fdc: 643b str r3, [r7, #64] @ 0x40 + 80030f8: 6cbb ldr r3, [r7, #72] @ 0x48 + 80030fa: 643b str r3, [r7, #64] @ 0x40 } if (rslt == BMM350_OK) - 8002fde: f997 3057 ldrsb.w r3, [r7, #87] @ 0x57 - 8002fe2: 2b00 cmp r3, #0 - 8002fe4: d130 bne.n 8003048 + 80030fc: f997 3057 ldrsb.w r3, [r7, #87] @ 0x57 + 8003100: 2b00 cmp r3, #0 + 8003102: d130 bne.n 8003166 { if ((dev->axis_en & BMM350_EN_X_MSK) == BMM350_DISABLE) - 8002fe6: 683b ldr r3, [r7, #0] - 8002fe8: 7d5b ldrb r3, [r3, #21] - 8002fea: f003 0301 and.w r3, r3, #1 - 8002fee: 2b00 cmp r3, #0 - 8002ff0: d104 bne.n 8002ffc + 8003104: 683b ldr r3, [r7, #0] + 8003106: 7d5b ldrb r3, [r3, #21] + 8003108: f003 0301 and.w r3, r3, #1 + 800310c: 2b00 cmp r3, #0 + 800310e: d104 bne.n 800311a { mag_temp_data->x = BMM350_DISABLE; - 8002ff2: 687b ldr r3, [r7, #4] - 8002ff4: f04f 0200 mov.w r2, #0 - 8002ff8: 601a str r2, [r3, #0] - 8002ffa: e002 b.n 8003002 + 8003110: 687b ldr r3, [r7, #4] + 8003112: f04f 0200 mov.w r2, #0 + 8003116: 601a str r2, [r3, #0] + 8003118: e002 b.n 8003120 } else { mag_temp_data->x = out_data[0]; - 8002ffc: 6bba ldr r2, [r7, #56] @ 0x38 - 8002ffe: 687b ldr r3, [r7, #4] - 8003000: 601a str r2, [r3, #0] + 800311a: 6bba ldr r2, [r7, #56] @ 0x38 + 800311c: 687b ldr r3, [r7, #4] + 800311e: 601a str r2, [r3, #0] } if ((dev->axis_en & BMM350_EN_Y_MSK) == BMM350_DISABLE) - 8003002: 683b ldr r3, [r7, #0] - 8003004: 7d5b ldrb r3, [r3, #21] - 8003006: f003 0302 and.w r3, r3, #2 - 800300a: 2b00 cmp r3, #0 - 800300c: d104 bne.n 8003018 + 8003120: 683b ldr r3, [r7, #0] + 8003122: 7d5b ldrb r3, [r3, #21] + 8003124: f003 0302 and.w r3, r3, #2 + 8003128: 2b00 cmp r3, #0 + 800312a: d104 bne.n 8003136 { mag_temp_data->y = BMM350_DISABLE; - 800300e: 687b ldr r3, [r7, #4] - 8003010: f04f 0200 mov.w r2, #0 - 8003014: 605a str r2, [r3, #4] - 8003016: e002 b.n 800301e + 800312c: 687b ldr r3, [r7, #4] + 800312e: f04f 0200 mov.w r2, #0 + 8003132: 605a str r2, [r3, #4] + 8003134: e002 b.n 800313c } else { mag_temp_data->y = out_data[1]; - 8003018: 6bfa ldr r2, [r7, #60] @ 0x3c - 800301a: 687b ldr r3, [r7, #4] - 800301c: 605a str r2, [r3, #4] + 8003136: 6bfa ldr r2, [r7, #60] @ 0x3c + 8003138: 687b ldr r3, [r7, #4] + 800313a: 605a str r2, [r3, #4] } if ((dev->axis_en & BMM350_EN_Z_MSK) == BMM350_DISABLE) - 800301e: 683b ldr r3, [r7, #0] - 8003020: 7d5b ldrb r3, [r3, #21] - 8003022: f003 0304 and.w r3, r3, #4 - 8003026: 2b00 cmp r3, #0 - 8003028: d104 bne.n 8003034 + 800313c: 683b ldr r3, [r7, #0] + 800313e: 7d5b ldrb r3, [r3, #21] + 8003140: f003 0304 and.w r3, r3, #4 + 8003144: 2b00 cmp r3, #0 + 8003146: d104 bne.n 8003152 { mag_temp_data->z = BMM350_DISABLE; - 800302a: 687b ldr r3, [r7, #4] - 800302c: f04f 0200 mov.w r2, #0 - 8003030: 609a str r2, [r3, #8] - 8003032: e002 b.n 800303a + 8003148: 687b ldr r3, [r7, #4] + 800314a: f04f 0200 mov.w r2, #0 + 800314e: 609a str r2, [r3, #8] + 8003150: e002 b.n 8003158 } else { mag_temp_data->z = out_data[2]; - 8003034: 6c3a ldr r2, [r7, #64] @ 0x40 - 8003036: 687b ldr r3, [r7, #4] - 8003038: 609a str r2, [r3, #8] + 8003152: 6c3a ldr r2, [r7, #64] @ 0x40 + 8003154: 687b ldr r3, [r7, #4] + 8003156: 609a str r2, [r3, #8] } mag_temp_data->temperature = out_data[3]; - 800303a: 6c7a ldr r2, [r7, #68] @ 0x44 - 800303c: 687b ldr r3, [r7, #4] - 800303e: 60da str r2, [r3, #12] - 8003040: e002 b.n 8003048 + 8003158: 6c7a ldr r2, [r7, #68] @ 0x44 + 800315a: 687b ldr r3, [r7, #4] + 800315c: 60da str r2, [r3, #12] + 800315e: e002 b.n 8003166 } } else { rslt = BMM350_E_NULL_PTR; - 8003042: 23ff movs r3, #255 @ 0xff - 8003044: f887 3057 strb.w r3, [r7, #87] @ 0x57 + 8003160: 23ff movs r3, #255 @ 0xff + 8003162: f887 3057 strb.w r3, [r7, #87] @ 0x57 } return rslt; - 8003048: f997 3057 ldrsb.w r3, [r7, #87] @ 0x57 + 8003166: f997 3057 ldrsb.w r3, [r7, #87] @ 0x57 } - 800304c: 4618 mov r0, r3 - 800304e: 3758 adds r7, #88 @ 0x58 - 8003050: 46bd mov sp, r7 - 8003052: bd80 pop {r7, pc} + 800316a: 4618 mov r0, r3 + 800316c: 3758 adds r7, #88 @ 0x58 + 800316e: 46bd mov sp, r7 + 8003170: bd80 pop {r7, pc} -08003054 : +08003172 : /*! * @brief This API gets the PMU command status 0 value */ int8_t bmm350_get_pmu_cmd_status_0(struct bmm350_pmu_cmd_status_0 *pmu_cmd_stat_0, struct bmm350_dev *dev) { - 8003054: b580 push {r7, lr} - 8003056: b084 sub sp, #16 - 8003058: af00 add r7, sp, #0 - 800305a: 6078 str r0, [r7, #4] - 800305c: 6039 str r1, [r7, #0] + 8003172: b580 push {r7, lr} + 8003174: b084 sub sp, #16 + 8003176: af00 add r7, sp, #0 + 8003178: 6078 str r0, [r7, #4] + 800317a: 6039 str r1, [r7, #0] /* Variable to store the function result */ int8_t rslt; uint8_t reg_data; if (pmu_cmd_stat_0 != NULL) - 800305e: 687b ldr r3, [r7, #4] - 8003060: 2b00 cmp r3, #0 - 8003062: d038 beq.n 80030d6 + 800317c: 687b ldr r3, [r7, #4] + 800317e: 2b00 cmp r3, #0 + 8003180: d038 beq.n 80031f4 { /* Get PMU command status 0 data */ rslt = bmm350_get_regs(BMM350_REG_PMU_CMD_STATUS_0, ®_data, 1, dev); - 8003064: f107 010e add.w r1, r7, #14 - 8003068: 683b ldr r3, [r7, #0] - 800306a: 2201 movs r2, #1 - 800306c: 2007 movs r0, #7 - 800306e: f7ff fb64 bl 800273a - 8003072: 4603 mov r3, r0 - 8003074: 73fb strb r3, [r7, #15] + 8003182: f107 010e add.w r1, r7, #14 + 8003186: 683b ldr r3, [r7, #0] + 8003188: 2201 movs r2, #1 + 800318a: 2007 movs r0, #7 + 800318c: f7ff fb64 bl 8002858 + 8003190: 4603 mov r3, r0 + 8003192: 73fb strb r3, [r7, #15] if (rslt == BMM350_OK) - 8003076: f997 300f ldrsb.w r3, [r7, #15] - 800307a: 2b00 cmp r3, #0 - 800307c: d12d bne.n 80030da + 8003194: f997 300f ldrsb.w r3, [r7, #15] + 8003198: 2b00 cmp r3, #0 + 800319a: d12d bne.n 80031f8 { pmu_cmd_stat_0->pmu_cmd_busy = BMM350_GET_BITS_POS_0(reg_data, BMM350_PMU_CMD_BUSY); - 800307e: 7bbb ldrb r3, [r7, #14] - 8003080: f003 0301 and.w r3, r3, #1 - 8003084: b2da uxtb r2, r3 - 8003086: 687b ldr r3, [r7, #4] - 8003088: 701a strb r2, [r3, #0] + 800319c: 7bbb ldrb r3, [r7, #14] + 800319e: f003 0301 and.w r3, r3, #1 + 80031a2: b2da uxtb r2, r3 + 80031a4: 687b ldr r3, [r7, #4] + 80031a6: 701a strb r2, [r3, #0] pmu_cmd_stat_0->odr_ovwr = BMM350_GET_BITS(reg_data, BMM350_ODR_OVWR); - 800308a: 7bbb ldrb r3, [r7, #14] - 800308c: 105b asrs r3, r3, #1 - 800308e: b2db uxtb r3, r3 - 8003090: f003 0301 and.w r3, r3, #1 - 8003094: b2da uxtb r2, r3 - 8003096: 687b ldr r3, [r7, #4] - 8003098: 705a strb r2, [r3, #1] + 80031a8: 7bbb ldrb r3, [r7, #14] + 80031aa: 105b asrs r3, r3, #1 + 80031ac: b2db uxtb r3, r3 + 80031ae: f003 0301 and.w r3, r3, #1 + 80031b2: b2da uxtb r2, r3 + 80031b4: 687b ldr r3, [r7, #4] + 80031b6: 705a strb r2, [r3, #1] pmu_cmd_stat_0->avr_ovwr = BMM350_GET_BITS(reg_data, BMM350_AVG_OVWR); - 800309a: 7bbb ldrb r3, [r7, #14] - 800309c: 109b asrs r3, r3, #2 - 800309e: b2db uxtb r3, r3 - 80030a0: f003 0301 and.w r3, r3, #1 - 80030a4: b2da uxtb r2, r3 - 80030a6: 687b ldr r3, [r7, #4] - 80030a8: 709a strb r2, [r3, #2] + 80031b8: 7bbb ldrb r3, [r7, #14] + 80031ba: 109b asrs r3, r3, #2 + 80031bc: b2db uxtb r3, r3 + 80031be: f003 0301 and.w r3, r3, #1 + 80031c2: b2da uxtb r2, r3 + 80031c4: 687b ldr r3, [r7, #4] + 80031c6: 709a strb r2, [r3, #2] pmu_cmd_stat_0->pwr_mode_is_normal = BMM350_GET_BITS(reg_data, BMM350_PWR_MODE_IS_NORMAL); - 80030aa: 7bbb ldrb r3, [r7, #14] - 80030ac: 10db asrs r3, r3, #3 - 80030ae: b2db uxtb r3, r3 - 80030b0: f003 0301 and.w r3, r3, #1 - 80030b4: b2da uxtb r2, r3 - 80030b6: 687b ldr r3, [r7, #4] - 80030b8: 70da strb r2, [r3, #3] + 80031c8: 7bbb ldrb r3, [r7, #14] + 80031ca: 10db asrs r3, r3, #3 + 80031cc: b2db uxtb r3, r3 + 80031ce: f003 0301 and.w r3, r3, #1 + 80031d2: b2da uxtb r2, r3 + 80031d4: 687b ldr r3, [r7, #4] + 80031d6: 70da strb r2, [r3, #3] pmu_cmd_stat_0->cmd_is_illegal = BMM350_GET_BITS(reg_data, BMM350_CMD_IS_ILLEGAL); - 80030ba: 7bbb ldrb r3, [r7, #14] - 80030bc: 111b asrs r3, r3, #4 - 80030be: b2db uxtb r3, r3 - 80030c0: f003 0301 and.w r3, r3, #1 - 80030c4: b2da uxtb r2, r3 - 80030c6: 687b ldr r3, [r7, #4] - 80030c8: 711a strb r2, [r3, #4] + 80031d8: 7bbb ldrb r3, [r7, #14] + 80031da: 111b asrs r3, r3, #4 + 80031dc: b2db uxtb r3, r3 + 80031de: f003 0301 and.w r3, r3, #1 + 80031e2: b2da uxtb r2, r3 + 80031e4: 687b ldr r3, [r7, #4] + 80031e6: 711a strb r2, [r3, #4] pmu_cmd_stat_0->pmu_cmd_value = BMM350_GET_BITS(reg_data, BMM350_PMU_CMD_VALUE); - 80030ca: 7bbb ldrb r3, [r7, #14] - 80030cc: 095b lsrs r3, r3, #5 - 80030ce: b2da uxtb r2, r3 - 80030d0: 687b ldr r3, [r7, #4] - 80030d2: 715a strb r2, [r3, #5] - 80030d4: e001 b.n 80030da + 80031e8: 7bbb ldrb r3, [r7, #14] + 80031ea: 095b lsrs r3, r3, #5 + 80031ec: b2da uxtb r2, r3 + 80031ee: 687b ldr r3, [r7, #4] + 80031f0: 715a strb r2, [r3, #5] + 80031f2: e001 b.n 80031f8 } } else { rslt = BMM350_E_NULL_PTR; - 80030d6: 23ff movs r3, #255 @ 0xff - 80030d8: 73fb strb r3, [r7, #15] + 80031f4: 23ff movs r3, #255 @ 0xff + 80031f6: 73fb strb r3, [r7, #15] } return rslt; - 80030da: f997 300f ldrsb.w r3, [r7, #15] + 80031f8: f997 300f ldrsb.w r3, [r7, #15] } - 80030de: 4618 mov r0, r3 - 80030e0: 3710 adds r7, #16 - 80030e2: 46bd mov sp, r7 - 80030e4: bd80 pop {r7, pc} + 80031fc: 4618 mov r0, r3 + 80031fe: 3710 adds r7, #16 + 8003200: 46bd mov sp, r7 + 8003202: bd80 pop {r7, pc} -080030e6 : +08003204 : /*! * @brief This internal API is used to validate the device structure pointer for * null conditions. */ static int8_t null_ptr_check(const struct bmm350_dev *dev) { - 80030e6: b480 push {r7} - 80030e8: b085 sub sp, #20 - 80030ea: af00 add r7, sp, #0 - 80030ec: 6078 str r0, [r7, #4] + 8003204: b480 push {r7} + 8003206: b085 sub sp, #20 + 8003208: af00 add r7, sp, #0 + 800320a: 6078 str r0, [r7, #4] /* Variable to store the function result */ int8_t rslt; if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_us == NULL)) - 80030ee: 687b ldr r3, [r7, #4] - 80030f0: 2b00 cmp r3, #0 - 80030f2: d00b beq.n 800310c - 80030f4: 687b ldr r3, [r7, #4] - 80030f6: 689b ldr r3, [r3, #8] - 80030f8: 2b00 cmp r3, #0 - 80030fa: d007 beq.n 800310c - 80030fc: 687b ldr r3, [r7, #4] - 80030fe: 68db ldr r3, [r3, #12] - 8003100: 2b00 cmp r3, #0 - 8003102: d003 beq.n 800310c - 8003104: 687b ldr r3, [r7, #4] - 8003106: 691b ldr r3, [r3, #16] - 8003108: 2b00 cmp r3, #0 - 800310a: d102 bne.n 8003112 + 800320c: 687b ldr r3, [r7, #4] + 800320e: 2b00 cmp r3, #0 + 8003210: d00b beq.n 800322a + 8003212: 687b ldr r3, [r7, #4] + 8003214: 689b ldr r3, [r3, #8] + 8003216: 2b00 cmp r3, #0 + 8003218: d007 beq.n 800322a + 800321a: 687b ldr r3, [r7, #4] + 800321c: 68db ldr r3, [r3, #12] + 800321e: 2b00 cmp r3, #0 + 8003220: d003 beq.n 800322a + 8003222: 687b ldr r3, [r7, #4] + 8003224: 691b ldr r3, [r3, #16] + 8003226: 2b00 cmp r3, #0 + 8003228: d102 bne.n 8003230 { /* Device structure pointer is not valid */ rslt = BMM350_E_NULL_PTR; - 800310c: 23ff movs r3, #255 @ 0xff - 800310e: 73fb strb r3, [r7, #15] - 8003110: e001 b.n 8003116 + 800322a: 23ff movs r3, #255 @ 0xff + 800322c: 73fb strb r3, [r7, #15] + 800322e: e001 b.n 8003234 } else { /* Device structure is fine */ rslt = BMM350_OK; - 8003112: 2300 movs r3, #0 - 8003114: 73fb strb r3, [r7, #15] + 8003230: 2300 movs r3, #0 + 8003232: 73fb strb r3, [r7, #15] } return rslt; - 8003116: f997 300f ldrsb.w r3, [r7, #15] + 8003234: f997 300f ldrsb.w r3, [r7, #15] } - 800311a: 4618 mov r0, r3 - 800311c: 3714 adds r7, #20 - 800311e: 46bd mov sp, r7 - 8003120: f85d 7b04 ldr.w r7, [sp], #4 - 8003124: 4770 bx lr - ... + 8003238: 4618 mov r0, r3 + 800323a: 3714 adds r7, #20 + 800323c: 46bd mov sp, r7 + 800323e: f85d 7b04 ldr.w r7, [sp], #4 + 8003242: 4770 bx lr -08003128 : +08003244 : /*! * @brief This internal API converts the raw data from the IC data registers to signed integer */ static int32_t fix_sign(uint32_t inval, int8_t number_of_bits) { - 8003128: b480 push {r7} - 800312a: b085 sub sp, #20 - 800312c: af00 add r7, sp, #0 - 800312e: 6078 str r0, [r7, #4] - 8003130: 460b mov r3, r1 - 8003132: 70fb strb r3, [r7, #3] + 8003244: b480 push {r7} + 8003246: b085 sub sp, #20 + 8003248: af00 add r7, sp, #0 + 800324a: 6078 str r0, [r7, #4] + 800324c: 460b mov r3, r1 + 800324e: 70fb strb r3, [r7, #3] int32_t power = 0; - 8003134: 2300 movs r3, #0 - 8003136: 60fb str r3, [r7, #12] + 8003250: 2300 movs r3, #0 + 8003252: 60fb str r3, [r7, #12] int32_t retval; switch (number_of_bits) - 8003138: f997 3003 ldrsb.w r3, [r7, #3] - 800313c: 3b08 subs r3, #8 - 800313e: 2b10 cmp r3, #16 - 8003140: d837 bhi.n 80031b2 - 8003142: a201 add r2, pc, #4 @ (adr r2, 8003148 ) - 8003144: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8003148: 0800318d .word 0x0800318d - 800314c: 080031b3 .word 0x080031b3 - 8003150: 080031b3 .word 0x080031b3 - 8003154: 080031b3 .word 0x080031b3 - 8003158: 08003193 .word 0x08003193 - 800315c: 080031b3 .word 0x080031b3 - 8003160: 080031b3 .word 0x080031b3 - 8003164: 080031b3 .word 0x080031b3 - 8003168: 0800319b .word 0x0800319b - 800316c: 080031b3 .word 0x080031b3 - 8003170: 080031b3 .word 0x080031b3 - 8003174: 080031b3 .word 0x080031b3 - 8003178: 080031b3 .word 0x080031b3 - 800317c: 080031a3 .word 0x080031a3 - 8003180: 080031b3 .word 0x080031b3 - 8003184: 080031b3 .word 0x080031b3 - 8003188: 080031ab .word 0x080031ab + 8003254: f997 3003 ldrsb.w r3, [r7, #3] + 8003258: 3b08 subs r3, #8 + 800325a: 2b10 cmp r3, #16 + 800325c: d837 bhi.n 80032ce + 800325e: a201 add r2, pc, #4 @ (adr r2, 8003264 ) + 8003260: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8003264: 080032a9 .word 0x080032a9 + 8003268: 080032cf .word 0x080032cf + 800326c: 080032cf .word 0x080032cf + 8003270: 080032cf .word 0x080032cf + 8003274: 080032af .word 0x080032af + 8003278: 080032cf .word 0x080032cf + 800327c: 080032cf .word 0x080032cf + 8003280: 080032cf .word 0x080032cf + 8003284: 080032b7 .word 0x080032b7 + 8003288: 080032cf .word 0x080032cf + 800328c: 080032cf .word 0x080032cf + 8003290: 080032cf .word 0x080032cf + 8003294: 080032cf .word 0x080032cf + 8003298: 080032bf .word 0x080032bf + 800329c: 080032cf .word 0x080032cf + 80032a0: 080032cf .word 0x080032cf + 80032a4: 080032c7 .word 0x080032c7 { case BMM350_SIGNED_8_BIT: power = 128; /* 2^7 */ - 800318c: 2380 movs r3, #128 @ 0x80 - 800318e: 60fb str r3, [r7, #12] + 80032a8: 2380 movs r3, #128 @ 0x80 + 80032aa: 60fb str r3, [r7, #12] break; - 8003190: e012 b.n 80031b8 + 80032ac: e012 b.n 80032d4 case BMM350_SIGNED_12_BIT: power = 2048; /* 2^11 */ - 8003192: f44f 6300 mov.w r3, #2048 @ 0x800 - 8003196: 60fb str r3, [r7, #12] + 80032ae: f44f 6300 mov.w r3, #2048 @ 0x800 + 80032b2: 60fb str r3, [r7, #12] break; - 8003198: e00e b.n 80031b8 + 80032b4: e00e b.n 80032d4 case BMM350_SIGNED_16_BIT: power = 32768; /* 2^15 */ - 800319a: f44f 4300 mov.w r3, #32768 @ 0x8000 - 800319e: 60fb str r3, [r7, #12] + 80032b6: f44f 4300 mov.w r3, #32768 @ 0x8000 + 80032ba: 60fb str r3, [r7, #12] break; - 80031a0: e00a b.n 80031b8 + 80032bc: e00a b.n 80032d4 case BMM350_SIGNED_21_BIT: power = 1048576; /* 2^20 */ - 80031a2: f44f 1380 mov.w r3, #1048576 @ 0x100000 - 80031a6: 60fb str r3, [r7, #12] + 80032be: f44f 1380 mov.w r3, #1048576 @ 0x100000 + 80032c2: 60fb str r3, [r7, #12] break; - 80031a8: e006 b.n 80031b8 + 80032c4: e006 b.n 80032d4 case BMM350_SIGNED_24_BIT: power = 8388608; /* 2^23 */ - 80031aa: f44f 0300 mov.w r3, #8388608 @ 0x800000 - 80031ae: 60fb str r3, [r7, #12] + 80032c6: f44f 0300 mov.w r3, #8388608 @ 0x800000 + 80032ca: 60fb str r3, [r7, #12] break; - 80031b0: e002 b.n 80031b8 + 80032cc: e002 b.n 80032d4 default: power = 0; - 80031b2: 2300 movs r3, #0 - 80031b4: 60fb str r3, [r7, #12] + 80032ce: 2300 movs r3, #0 + 80032d0: 60fb str r3, [r7, #12] break; - 80031b6: bf00 nop + 80032d2: bf00 nop } retval = (int32_t)inval; - 80031b8: 687b ldr r3, [r7, #4] - 80031ba: 60bb str r3, [r7, #8] + 80032d4: 687b ldr r3, [r7, #4] + 80032d6: 60bb str r3, [r7, #8] if (retval >= power) - 80031bc: 68ba ldr r2, [r7, #8] - 80031be: 68fb ldr r3, [r7, #12] - 80031c0: 429a cmp r2, r3 - 80031c2: db04 blt.n 80031ce + 80032d8: 68ba ldr r2, [r7, #8] + 80032da: 68fb ldr r3, [r7, #12] + 80032dc: 429a cmp r2, r3 + 80032de: db04 blt.n 80032ea { retval = retval - (power * 2); - 80031c4: 68fb ldr r3, [r7, #12] - 80031c6: 005b lsls r3, r3, #1 - 80031c8: 68ba ldr r2, [r7, #8] - 80031ca: 1ad3 subs r3, r2, r3 - 80031cc: 60bb str r3, [r7, #8] + 80032e0: 68fb ldr r3, [r7, #12] + 80032e2: 005b lsls r3, r3, #1 + 80032e4: 68ba ldr r2, [r7, #8] + 80032e6: 1ad3 subs r3, r2, r3 + 80032e8: 60bb str r3, [r7, #8] } return retval; - 80031ce: 68bb ldr r3, [r7, #8] + 80032ea: 68bb ldr r3, [r7, #8] } - 80031d0: 4618 mov r0, r3 - 80031d2: 3714 adds r7, #20 - 80031d4: 46bd mov sp, r7 - 80031d6: f85d 7b04 ldr.w r7, [sp], #4 - 80031da: 4770 bx lr + 80032ec: 4618 mov r0, r3 + 80032ee: 3714 adds r7, #20 + 80032f0: 46bd mov sp, r7 + 80032f2: f85d 7b04 ldr.w r7, [sp], #4 + 80032f6: 4770 bx lr -080031dc : +080032f8 : /*! * @brief This internal API is used to read OTP word */ static int8_t read_otp_word(uint8_t addr, uint16_t *lsb_msb, struct bmm350_dev *dev) { - 80031dc: b580 push {r7, lr} - 80031de: b086 sub sp, #24 - 80031e0: af00 add r7, sp, #0 - 80031e2: 4603 mov r3, r0 - 80031e4: 60b9 str r1, [r7, #8] - 80031e6: 607a str r2, [r7, #4] - 80031e8: 73fb strb r3, [r7, #15] + 80032f8: b580 push {r7, lr} + 80032fa: b086 sub sp, #24 + 80032fc: af00 add r7, sp, #0 + 80032fe: 4603 mov r3, r0 + 8003300: 60b9 str r1, [r7, #8] + 8003302: 607a str r2, [r7, #4] + 8003304: 73fb strb r3, [r7, #15] /* Variable to store the function result */ int8_t rslt; uint8_t otp_cmd, otp_status = 0, otp_err = BMM350_OTP_STATUS_NO_ERROR, lsb = 0, msb = 0; - 80031ea: 2300 movs r3, #0 - 80031ec: 753b strb r3, [r7, #20] - 80031ee: 2300 movs r3, #0 - 80031f0: 75bb strb r3, [r7, #22] - 80031f2: 2300 movs r3, #0 - 80031f4: 74fb strb r3, [r7, #19] - 80031f6: 2300 movs r3, #0 - 80031f8: 74bb strb r3, [r7, #18] + 8003306: 2300 movs r3, #0 + 8003308: 753b strb r3, [r7, #20] + 800330a: 2300 movs r3, #0 + 800330c: 75bb strb r3, [r7, #22] + 800330e: 2300 movs r3, #0 + 8003310: 74fb strb r3, [r7, #19] + 8003312: 2300 movs r3, #0 + 8003314: 74bb strb r3, [r7, #18] if (lsb_msb != NULL) - 80031fa: 68bb ldr r3, [r7, #8] - 80031fc: 2b00 cmp r3, #0 - 80031fe: f000 8087 beq.w 8003310 + 8003316: 68bb ldr r3, [r7, #8] + 8003318: 2b00 cmp r3, #0 + 800331a: f000 8087 beq.w 800342c { /* Set OTP command at specified address */ otp_cmd = BMM350_OTP_CMD_DIR_READ | (addr & BMM350_OTP_WORD_ADDR_MSK); - 8003202: f997 300f ldrsb.w r3, [r7, #15] - 8003206: f003 031f and.w r3, r3, #31 - 800320a: b25b sxtb r3, r3 - 800320c: f043 0320 orr.w r3, r3, #32 - 8003210: b25b sxtb r3, r3 - 8003212: b2db uxtb r3, r3 - 8003214: 757b strb r3, [r7, #21] + 800331e: f997 300f ldrsb.w r3, [r7, #15] + 8003322: f003 031f and.w r3, r3, #31 + 8003326: b25b sxtb r3, r3 + 8003328: f043 0320 orr.w r3, r3, #32 + 800332c: b25b sxtb r3, r3 + 800332e: b2db uxtb r3, r3 + 8003330: 757b strb r3, [r7, #21] rslt = bmm350_set_regs(BMM350_REG_OTP_CMD_REG, &otp_cmd, 1, dev); - 8003216: f107 0115 add.w r1, r7, #21 - 800321a: 687b ldr r3, [r7, #4] - 800321c: 2201 movs r2, #1 - 800321e: 2050 movs r0, #80 @ 0x50 - 8003220: f7ff fa57 bl 80026d2 - 8003224: 4603 mov r3, r0 - 8003226: 75fb strb r3, [r7, #23] + 8003332: f107 0115 add.w r1, r7, #21 + 8003336: 687b ldr r3, [r7, #4] + 8003338: 2201 movs r2, #1 + 800333a: 2050 movs r0, #80 @ 0x50 + 800333c: f7ff fa58 bl 80027f0 + 8003340: 4603 mov r3, r0 + 8003342: 75fb strb r3, [r7, #23] if (rslt == BMM350_OK) - 8003228: f997 3017 ldrsb.w r3, [r7, #23] - 800322c: 2b00 cmp r3, #0 - 800322e: d14c bne.n 80032ca + 8003344: f997 3017 ldrsb.w r3, [r7, #23] + 8003348: 2b00 cmp r3, #0 + 800334a: d14c bne.n 80033e6 { do { rslt = bmm350_delay_us(300, dev); - 8003230: 6879 ldr r1, [r7, #4] - 8003232: f44f 7096 mov.w r0, #300 @ 0x12c - 8003236: f7ff fad5 bl 80027e4 - 800323a: 4603 mov r3, r0 - 800323c: 75fb strb r3, [r7, #23] + 800334c: 6879 ldr r1, [r7, #4] + 800334e: f44f 7096 mov.w r0, #300 @ 0x12c + 8003352: f7ff fad6 bl 8002902 + 8003356: 4603 mov r3, r0 + 8003358: 75fb strb r3, [r7, #23] if (rslt == BMM350_OK) - 800323e: f997 3017 ldrsb.w r3, [r7, #23] - 8003242: 2b00 cmp r3, #0 - 8003244: d10f bne.n 8003266 + 800335a: f997 3017 ldrsb.w r3, [r7, #23] + 800335e: 2b00 cmp r3, #0 + 8003360: d10f bne.n 8003382 { /* Get OTP status */ rslt = bmm350_get_regs(BMM350_REG_OTP_STATUS_REG, &otp_status, 1, dev); - 8003246: f107 0114 add.w r1, r7, #20 - 800324a: 687b ldr r3, [r7, #4] - 800324c: 2201 movs r2, #1 - 800324e: 2055 movs r0, #85 @ 0x55 - 8003250: f7ff fa73 bl 800273a - 8003254: 4603 mov r3, r0 - 8003256: 75fb strb r3, [r7, #23] + 8003362: f107 0114 add.w r1, r7, #20 + 8003366: 687b ldr r3, [r7, #4] + 8003368: 2201 movs r2, #1 + 800336a: 2055 movs r0, #85 @ 0x55 + 800336c: f7ff fa74 bl 8002858 + 8003370: 4603 mov r3, r0 + 8003372: 75fb strb r3, [r7, #23] otp_err = BMM350_OTP_STATUS_ERROR(otp_status); - 8003258: 7d3b ldrb r3, [r7, #20] - 800325a: f023 031f bic.w r3, r3, #31 - 800325e: 75bb strb r3, [r7, #22] + 8003374: 7d3b ldrb r3, [r7, #20] + 8003376: f023 031f bic.w r3, r3, #31 + 800337a: 75bb strb r3, [r7, #22] if (otp_err != BMM350_OTP_STATUS_NO_ERROR) - 8003260: 7dbb ldrb r3, [r7, #22] - 8003262: 2b00 cmp r3, #0 - 8003264: d109 bne.n 800327a + 800337c: 7dbb ldrb r3, [r7, #22] + 800337e: 2b00 cmp r3, #0 + 8003380: d109 bne.n 8003396 { break; } } } while ((!(otp_status & BMM350_OTP_STATUS_CMD_DONE)) && (rslt == BMM350_OK)); - 8003266: 7d3b ldrb r3, [r7, #20] - 8003268: f003 0301 and.w r3, r3, #1 - 800326c: 2b00 cmp r3, #0 - 800326e: d105 bne.n 800327c - 8003270: f997 3017 ldrsb.w r3, [r7, #23] - 8003274: 2b00 cmp r3, #0 - 8003276: d0db beq.n 8003230 - 8003278: e000 b.n 800327c + 8003382: 7d3b ldrb r3, [r7, #20] + 8003384: f003 0301 and.w r3, r3, #1 + 8003388: 2b00 cmp r3, #0 + 800338a: d105 bne.n 8003398 + 800338c: f997 3017 ldrsb.w r3, [r7, #23] + 8003390: 2b00 cmp r3, #0 + 8003392: d0db beq.n 800334c + 8003394: e000 b.n 8003398 break; - 800327a: bf00 nop + 8003396: bf00 nop if (otp_err != BMM350_OTP_STATUS_NO_ERROR) - 800327c: 7dbb ldrb r3, [r7, #22] - 800327e: 2b00 cmp r3, #0 - 8003280: d023 beq.n 80032ca + 8003398: 7dbb ldrb r3, [r7, #22] + 800339a: 2b00 cmp r3, #0 + 800339c: d023 beq.n 80033e6 { switch (otp_err) - 8003282: 7dbb ldrb r3, [r7, #22] - 8003284: 2ba0 cmp r3, #160 @ 0xa0 - 8003286: d01a beq.n 80032be - 8003288: 2ba0 cmp r3, #160 @ 0xa0 - 800328a: dc1b bgt.n 80032c4 - 800328c: 2b80 cmp r3, #128 @ 0x80 - 800328e: d013 beq.n 80032b8 - 8003290: 2b80 cmp r3, #128 @ 0x80 - 8003292: dc17 bgt.n 80032c4 - 8003294: 2b60 cmp r3, #96 @ 0x60 - 8003296: d00c beq.n 80032b2 - 8003298: 2b60 cmp r3, #96 @ 0x60 - 800329a: dc13 bgt.n 80032c4 - 800329c: 2b20 cmp r3, #32 - 800329e: d002 beq.n 80032a6 - 80032a0: 2b40 cmp r3, #64 @ 0x40 - 80032a2: d003 beq.n 80032ac - 80032a4: e00e b.n 80032c4 + 800339e: 7dbb ldrb r3, [r7, #22] + 80033a0: 2ba0 cmp r3, #160 @ 0xa0 + 80033a2: d01a beq.n 80033da + 80033a4: 2ba0 cmp r3, #160 @ 0xa0 + 80033a6: dc1b bgt.n 80033e0 + 80033a8: 2b80 cmp r3, #128 @ 0x80 + 80033aa: d013 beq.n 80033d4 + 80033ac: 2b80 cmp r3, #128 @ 0x80 + 80033ae: dc17 bgt.n 80033e0 + 80033b0: 2b60 cmp r3, #96 @ 0x60 + 80033b2: d00c beq.n 80033ce + 80033b4: 2b60 cmp r3, #96 @ 0x60 + 80033b6: dc13 bgt.n 80033e0 + 80033b8: 2b20 cmp r3, #32 + 80033ba: d002 beq.n 80033c2 + 80033bc: 2b40 cmp r3, #64 @ 0x40 + 80033be: d003 beq.n 80033c8 + 80033c0: e00e b.n 80033e0 { case BMM350_OTP_STATUS_BOOT_ERR: rslt = BMM350_E_OTP_BOOT; - 80032a6: 23f7 movs r3, #247 @ 0xf7 - 80032a8: 75fb strb r3, [r7, #23] + 80033c2: 23f7 movs r3, #247 @ 0xf7 + 80033c4: 75fb strb r3, [r7, #23] break; - 80032aa: e00e b.n 80032ca + 80033c6: e00e b.n 80033e6 case BMM350_OTP_STATUS_PAGE_RD_ERR: rslt = BMM350_E_OTP_PAGE_RD; - 80032ac: 23f6 movs r3, #246 @ 0xf6 - 80032ae: 75fb strb r3, [r7, #23] + 80033c8: 23f6 movs r3, #246 @ 0xf6 + 80033ca: 75fb strb r3, [r7, #23] break; - 80032b0: e00b b.n 80032ca + 80033cc: e00b b.n 80033e6 case BMM350_OTP_STATUS_PAGE_PRG_ERR: rslt = BMM350_E_OTP_PAGE_PRG; - 80032b2: 23f5 movs r3, #245 @ 0xf5 - 80032b4: 75fb strb r3, [r7, #23] + 80033ce: 23f5 movs r3, #245 @ 0xf5 + 80033d0: 75fb strb r3, [r7, #23] break; - 80032b6: e008 b.n 80032ca + 80033d2: e008 b.n 80033e6 case BMM350_OTP_STATUS_SIGN_ERR: rslt = BMM350_E_OTP_SIGN; - 80032b8: 23f4 movs r3, #244 @ 0xf4 - 80032ba: 75fb strb r3, [r7, #23] + 80033d4: 23f4 movs r3, #244 @ 0xf4 + 80033d6: 75fb strb r3, [r7, #23] break; - 80032bc: e005 b.n 80032ca + 80033d8: e005 b.n 80033e6 case BMM350_OTP_STATUS_INV_CMD_ERR: rslt = BMM350_E_OTP_INV_CMD; - 80032be: 23f3 movs r3, #243 @ 0xf3 - 80032c0: 75fb strb r3, [r7, #23] + 80033da: 23f3 movs r3, #243 @ 0xf3 + 80033dc: 75fb strb r3, [r7, #23] break; - 80032c2: e002 b.n 80032ca + 80033de: e002 b.n 80033e6 default: rslt = BMM350_E_OTP_UNDEFINED; - 80032c4: 23f2 movs r3, #242 @ 0xf2 - 80032c6: 75fb strb r3, [r7, #23] + 80033e0: 23f2 movs r3, #242 @ 0xf2 + 80033e2: 75fb strb r3, [r7, #23] break; - 80032c8: bf00 nop + 80033e4: bf00 nop } } } if (rslt == BMM350_OK) - 80032ca: f997 3017 ldrsb.w r3, [r7, #23] - 80032ce: 2b00 cmp r3, #0 - 80032d0: d120 bne.n 8003314 + 80033e6: f997 3017 ldrsb.w r3, [r7, #23] + 80033ea: 2b00 cmp r3, #0 + 80033ec: d120 bne.n 8003430 { /* Get OTP MSB data */ rslt = bmm350_get_regs(BMM350_REG_OTP_DATA_MSB_REG, &msb, 1, dev); - 80032d2: f107 0112 add.w r1, r7, #18 - 80032d6: 687b ldr r3, [r7, #4] - 80032d8: 2201 movs r2, #1 - 80032da: 2052 movs r0, #82 @ 0x52 - 80032dc: f7ff fa2d bl 800273a - 80032e0: 4603 mov r3, r0 - 80032e2: 75fb strb r3, [r7, #23] + 80033ee: f107 0112 add.w r1, r7, #18 + 80033f2: 687b ldr r3, [r7, #4] + 80033f4: 2201 movs r2, #1 + 80033f6: 2052 movs r0, #82 @ 0x52 + 80033f8: f7ff fa2e bl 8002858 + 80033fc: 4603 mov r3, r0 + 80033fe: 75fb strb r3, [r7, #23] if (rslt == BMM350_OK) - 80032e4: f997 3017 ldrsb.w r3, [r7, #23] - 80032e8: 2b00 cmp r3, #0 - 80032ea: d113 bne.n 8003314 + 8003400: f997 3017 ldrsb.w r3, [r7, #23] + 8003404: 2b00 cmp r3, #0 + 8003406: d113 bne.n 8003430 { /* Get OTP LSB data */ rslt = bmm350_get_regs(BMM350_REG_OTP_DATA_LSB_REG, &lsb, 1, dev); - 80032ec: f107 0113 add.w r1, r7, #19 - 80032f0: 687b ldr r3, [r7, #4] - 80032f2: 2201 movs r2, #1 - 80032f4: 2053 movs r0, #83 @ 0x53 - 80032f6: f7ff fa20 bl 800273a - 80032fa: 4603 mov r3, r0 - 80032fc: 75fb strb r3, [r7, #23] + 8003408: f107 0113 add.w r1, r7, #19 + 800340c: 687b ldr r3, [r7, #4] + 800340e: 2201 movs r2, #1 + 8003410: 2053 movs r0, #83 @ 0x53 + 8003412: f7ff fa21 bl 8002858 + 8003416: 4603 mov r3, r0 + 8003418: 75fb strb r3, [r7, #23] *lsb_msb = ((uint16_t)(msb << 8) | lsb) & 0xFFFF; - 80032fe: 7cbb ldrb r3, [r7, #18] - 8003300: 021b lsls r3, r3, #8 - 8003302: b29b uxth r3, r3 - 8003304: 7cfa ldrb r2, [r7, #19] - 8003306: 4313 orrs r3, r2 - 8003308: b29a uxth r2, r3 - 800330a: 68bb ldr r3, [r7, #8] - 800330c: 801a strh r2, [r3, #0] - 800330e: e001 b.n 8003314 + 800341a: 7cbb ldrb r3, [r7, #18] + 800341c: 021b lsls r3, r3, #8 + 800341e: b29b uxth r3, r3 + 8003420: 7cfa ldrb r2, [r7, #19] + 8003422: 4313 orrs r3, r2 + 8003424: b29a uxth r2, r3 + 8003426: 68bb ldr r3, [r7, #8] + 8003428: 801a strh r2, [r3, #0] + 800342a: e001 b.n 8003430 } } } else { rslt = BMM350_E_NULL_PTR; - 8003310: 23ff movs r3, #255 @ 0xff - 8003312: 75fb strb r3, [r7, #23] + 800342c: 23ff movs r3, #255 @ 0xff + 800342e: 75fb strb r3, [r7, #23] } return rslt; - 8003314: f997 3017 ldrsb.w r3, [r7, #23] + 8003430: f997 3017 ldrsb.w r3, [r7, #23] } - 8003318: 4618 mov r0, r3 - 800331a: 3718 adds r7, #24 - 800331c: 46bd mov sp, r7 - 800331e: bd80 pop {r7, pc} + 8003434: 4618 mov r0, r3 + 8003436: 3718 adds r7, #24 + 8003438: 46bd mov sp, r7 + 800343a: bd80 pop {r7, pc} -08003320 : +0800343c : /*! * @brief This internal API is used to update magnetometer offset and sensitivity data. */ static void update_mag_off_sens(struct bmm350_dev *dev) { - 8003320: b580 push {r7, lr} - 8003322: b088 sub sp, #32 - 8003324: af00 add r7, sp, #0 - 8003326: 6078 str r0, [r7, #4] + 800343c: b580 push {r7, lr} + 800343e: b088 sub sp, #32 + 8003440: af00 add r7, sp, #0 + 8003442: 6078 str r0, [r7, #4] uint16_t off_x_lsb_msb, off_y_lsb_msb, off_z_lsb_msb, t_off = 0; - 8003328: 2300 movs r3, #0 - 800332a: 83fb strh r3, [r7, #30] + 8003444: 2300 movs r3, #0 + 8003446: 83fb strh r3, [r7, #30] uint8_t sens_x, sens_y, sens_z, t_sens = 0; - 800332c: 2300 movs r3, #0 - 800332e: 777b strb r3, [r7, #29] + 8003448: 2300 movs r3, #0 + 800344a: 777b strb r3, [r7, #29] uint8_t tco_x, tco_y, tco_z = 0; - 8003330: 2300 movs r3, #0 - 8003332: 773b strb r3, [r7, #28] + 800344c: 2300 movs r3, #0 + 800344e: 773b strb r3, [r7, #28] uint8_t tcs_x, tcs_y, tcs_z = 0; - 8003334: 2300 movs r3, #0 - 8003336: 76fb strb r3, [r7, #27] + 8003450: 2300 movs r3, #0 + 8003452: 76fb strb r3, [r7, #27] uint8_t cross_x_y, cross_y_x, cross_z_x, cross_z_y = 0; - 8003338: 2300 movs r3, #0 - 800333a: 76bb strb r3, [r7, #26] + 8003454: 2300 movs r3, #0 + 8003456: 76bb strb r3, [r7, #26] off_x_lsb_msb = dev->otp_data[BMM350_MAG_OFFSET_X] & 0x0FFF; - 800333c: 687b ldr r3, [r7, #4] - 800333e: f8b3 3080 ldrh.w r3, [r3, #128] @ 0x80 - 8003342: f3c3 030b ubfx r3, r3, #0, #12 - 8003346: 833b strh r3, [r7, #24] + 8003458: 687b ldr r3, [r7, #4] + 800345a: f8b3 3080 ldrh.w r3, [r3, #128] @ 0x80 + 800345e: f3c3 030b ubfx r3, r3, #0, #12 + 8003462: 833b strh r3, [r7, #24] off_y_lsb_msb = ((dev->otp_data[BMM350_MAG_OFFSET_X] & 0xF000) >> 4) + - 8003348: 687b ldr r3, [r7, #4] - 800334a: f8b3 3080 ldrh.w r3, [r3, #128] @ 0x80 - 800334e: 111b asrs r3, r3, #4 - 8003350: b21b sxth r3, r3 - 8003352: f403 6370 and.w r3, r3, #3840 @ 0xf00 - 8003356: b21a sxth r2, r3 + 8003464: 687b ldr r3, [r7, #4] + 8003466: f8b3 3080 ldrh.w r3, [r3, #128] @ 0x80 + 800346a: 111b asrs r3, r3, #4 + 800346c: b21b sxth r3, r3 + 800346e: f403 6370 and.w r3, r3, #3840 @ 0xf00 + 8003472: b21a sxth r2, r3 (dev->otp_data[BMM350_MAG_OFFSET_Y] & BMM350_LSB_MASK); - 8003358: 687b ldr r3, [r7, #4] - 800335a: f8b3 3082 ldrh.w r3, [r3, #130] @ 0x82 - 800335e: b21b sxth r3, r3 - 8003360: b2db uxtb r3, r3 - 8003362: b21b sxth r3, r3 + 8003474: 687b ldr r3, [r7, #4] + 8003476: f8b3 3082 ldrh.w r3, [r3, #130] @ 0x82 + 800347a: b21b sxth r3, r3 + 800347c: b2db uxtb r3, r3 + 800347e: b21b sxth r3, r3 off_y_lsb_msb = ((dev->otp_data[BMM350_MAG_OFFSET_X] & 0xF000) >> 4) + - 8003364: 4313 orrs r3, r2 - 8003366: b21b sxth r3, r3 - 8003368: 82fb strh r3, [r7, #22] + 8003480: 4313 orrs r3, r2 + 8003482: b21b sxth r3, r3 + 8003484: 82fb strh r3, [r7, #22] off_z_lsb_msb = (dev->otp_data[BMM350_MAG_OFFSET_Y] & 0x0F00) + - 800336a: 687b ldr r3, [r7, #4] - 800336c: f8b3 3082 ldrh.w r3, [r3, #130] @ 0x82 - 8003370: b21b sxth r3, r3 - 8003372: f403 6370 and.w r3, r3, #3840 @ 0xf00 - 8003376: b21a sxth r2, r3 + 8003486: 687b ldr r3, [r7, #4] + 8003488: f8b3 3082 ldrh.w r3, [r3, #130] @ 0x82 + 800348c: b21b sxth r3, r3 + 800348e: f403 6370 and.w r3, r3, #3840 @ 0xf00 + 8003492: b21a sxth r2, r3 (dev->otp_data[BMM350_MAG_OFFSET_Z] & BMM350_LSB_MASK); - 8003378: 687b ldr r3, [r7, #4] - 800337a: f8b3 3084 ldrh.w r3, [r3, #132] @ 0x84 - 800337e: b21b sxth r3, r3 - 8003380: b2db uxtb r3, r3 - 8003382: b21b sxth r3, r3 + 8003494: 687b ldr r3, [r7, #4] + 8003496: f8b3 3084 ldrh.w r3, [r3, #132] @ 0x84 + 800349a: b21b sxth r3, r3 + 800349c: b2db uxtb r3, r3 + 800349e: b21b sxth r3, r3 off_z_lsb_msb = (dev->otp_data[BMM350_MAG_OFFSET_Y] & 0x0F00) + - 8003384: 4313 orrs r3, r2 - 8003386: b21b sxth r3, r3 - 8003388: 82bb strh r3, [r7, #20] + 80034a0: 4313 orrs r3, r2 + 80034a2: b21b sxth r3, r3 + 80034a4: 82bb strh r3, [r7, #20] t_off = dev->otp_data[BMM350_TEMP_OFF_SENS] & BMM350_LSB_MASK; - 800338a: 687b ldr r3, [r7, #4] - 800338c: f8b3 307e ldrh.w r3, [r3, #126] @ 0x7e - 8003390: b2db uxtb r3, r3 - 8003392: 83fb strh r3, [r7, #30] + 80034a6: 687b ldr r3, [r7, #4] + 80034a8: f8b3 307e ldrh.w r3, [r3, #126] @ 0x7e + 80034ac: b2db uxtb r3, r3 + 80034ae: 83fb strh r3, [r7, #30] dev->mag_comp.dut_offset_coef.offset_z = f16_from_int(fix_sign(off_z_lsb_msb, BMM350_SIGNED_12_BIT)); dev->mag_comp.dut_offset_coef.t_offs = fixed_mul_A48_16(f16_from_int(fix_sign(t_off, BMM350_SIGNED_8_BIT)), A48_16_0_2); #else dev->mag_comp.dut_offset_coef.offset_x = fix_sign(off_x_lsb_msb, BMM350_SIGNED_12_BIT); - 8003394: 8b3b ldrh r3, [r7, #24] - 8003396: 210c movs r1, #12 - 8003398: 4618 mov r0, r3 - 800339a: f7ff fec5 bl 8003128 - 800339e: ee07 0a90 vmov s15, r0 - 80033a2: eef8 7ae7 vcvt.f32.s32 s15, s15 - 80033a6: 687b ldr r3, [r7, #4] - 80033a8: edc3 7a07 vstr s15, [r3, #28] + 80034b0: 8b3b ldrh r3, [r7, #24] + 80034b2: 210c movs r1, #12 + 80034b4: 4618 mov r0, r3 + 80034b6: f7ff fec5 bl 8003244 + 80034ba: ee07 0a90 vmov s15, r0 + 80034be: eef8 7ae7 vcvt.f32.s32 s15, s15 + 80034c2: 687b ldr r3, [r7, #4] + 80034c4: edc3 7a07 vstr s15, [r3, #28] dev->mag_comp.dut_offset_coef.offset_y = fix_sign(off_y_lsb_msb, BMM350_SIGNED_12_BIT); - 80033ac: 8afb ldrh r3, [r7, #22] - 80033ae: 210c movs r1, #12 - 80033b0: 4618 mov r0, r3 - 80033b2: f7ff feb9 bl 8003128 - 80033b6: ee07 0a90 vmov s15, r0 - 80033ba: eef8 7ae7 vcvt.f32.s32 s15, s15 - 80033be: 687b ldr r3, [r7, #4] - 80033c0: edc3 7a08 vstr s15, [r3, #32] + 80034c8: 8afb ldrh r3, [r7, #22] + 80034ca: 210c movs r1, #12 + 80034cc: 4618 mov r0, r3 + 80034ce: f7ff feb9 bl 8003244 + 80034d2: ee07 0a90 vmov s15, r0 + 80034d6: eef8 7ae7 vcvt.f32.s32 s15, s15 + 80034da: 687b ldr r3, [r7, #4] + 80034dc: edc3 7a08 vstr s15, [r3, #32] dev->mag_comp.dut_offset_coef.offset_z = fix_sign(off_z_lsb_msb, BMM350_SIGNED_12_BIT); - 80033c4: 8abb ldrh r3, [r7, #20] - 80033c6: 210c movs r1, #12 - 80033c8: 4618 mov r0, r3 - 80033ca: f7ff fead bl 8003128 - 80033ce: ee07 0a90 vmov s15, r0 - 80033d2: eef8 7ae7 vcvt.f32.s32 s15, s15 - 80033d6: 687b ldr r3, [r7, #4] - 80033d8: edc3 7a09 vstr s15, [r3, #36] @ 0x24 + 80034e0: 8abb ldrh r3, [r7, #20] + 80034e2: 210c movs r1, #12 + 80034e4: 4618 mov r0, r3 + 80034e6: f7ff fead bl 8003244 + 80034ea: ee07 0a90 vmov s15, r0 + 80034ee: eef8 7ae7 vcvt.f32.s32 s15, s15 + 80034f2: 687b ldr r3, [r7, #4] + 80034f4: edc3 7a09 vstr s15, [r3, #36] @ 0x24 dev->mag_comp.dut_offset_coef.t_offs = fix_sign(t_off, BMM350_SIGNED_8_BIT) / 5.0f; - 80033dc: 8bfb ldrh r3, [r7, #30] - 80033de: 2108 movs r1, #8 - 80033e0: 4618 mov r0, r3 - 80033e2: f7ff fea1 bl 8003128 - 80033e6: ee07 0a90 vmov s15, r0 - 80033ea: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 80033ee: eef1 6a04 vmov.f32 s13, #20 @ 0x40a00000 5.0 - 80033f2: eec7 7a26 vdiv.f32 s15, s14, s13 - 80033f6: 687b ldr r3, [r7, #4] - 80033f8: edc3 7a06 vstr s15, [r3, #24] + 80034f8: 8bfb ldrh r3, [r7, #30] + 80034fa: 2108 movs r1, #8 + 80034fc: 4618 mov r0, r3 + 80034fe: f7ff fea1 bl 8003244 + 8003502: ee07 0a90 vmov s15, r0 + 8003506: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 800350a: eef1 6a04 vmov.f32 s13, #20 @ 0x40a00000 5.0 + 800350e: eec7 7a26 vdiv.f32 s15, s14, s13 + 8003512: 687b ldr r3, [r7, #4] + 8003514: edc3 7a06 vstr s15, [r3, #24] #endif sens_x = (dev->otp_data[BMM350_MAG_SENS_X] & BMM350_MSB_MASK) >> 8; - 80033fc: 687b ldr r3, [r7, #4] - 80033fe: f8b3 3084 ldrh.w r3, [r3, #132] @ 0x84 - 8003402: 0a1b lsrs r3, r3, #8 - 8003404: b29b uxth r3, r3 - 8003406: 74fb strb r3, [r7, #19] + 8003518: 687b ldr r3, [r7, #4] + 800351a: f8b3 3084 ldrh.w r3, [r3, #132] @ 0x84 + 800351e: 0a1b lsrs r3, r3, #8 + 8003520: b29b uxth r3, r3 + 8003522: 74fb strb r3, [r7, #19] sens_y = (dev->otp_data[BMM350_MAG_SENS_Y] & BMM350_LSB_MASK); - 8003408: 687b ldr r3, [r7, #4] - 800340a: f8b3 3086 ldrh.w r3, [r3, #134] @ 0x86 - 800340e: 74bb strb r3, [r7, #18] + 8003524: 687b ldr r3, [r7, #4] + 8003526: f8b3 3086 ldrh.w r3, [r3, #134] @ 0x86 + 800352a: 74bb strb r3, [r7, #18] sens_z = (dev->otp_data[BMM350_MAG_SENS_Z] & BMM350_MSB_MASK) >> 8; - 8003410: 687b ldr r3, [r7, #4] - 8003412: f8b3 3086 ldrh.w r3, [r3, #134] @ 0x86 - 8003416: 0a1b lsrs r3, r3, #8 - 8003418: b29b uxth r3, r3 - 800341a: 747b strb r3, [r7, #17] + 800352c: 687b ldr r3, [r7, #4] + 800352e: f8b3 3086 ldrh.w r3, [r3, #134] @ 0x86 + 8003532: 0a1b lsrs r3, r3, #8 + 8003534: b29b uxth r3, r3 + 8003536: 747b strb r3, [r7, #17] t_sens = (dev->otp_data[BMM350_TEMP_OFF_SENS] & BMM350_MSB_MASK) >> 8; - 800341c: 687b ldr r3, [r7, #4] - 800341e: f8b3 307e ldrh.w r3, [r3, #126] @ 0x7e - 8003422: 0a1b lsrs r3, r3, #8 - 8003424: b29b uxth r3, r3 - 8003426: 777b strb r3, [r7, #29] + 8003538: 687b ldr r3, [r7, #4] + 800353a: f8b3 307e ldrh.w r3, [r3, #126] @ 0x7e + 800353e: 0a1b lsrs r3, r3, #8 + 8003540: b29b uxth r3, r3 + 8003542: 777b strb r3, [r7, #29] A48_16_0_00390625); dev->mag_comp.dut_sensit_coef.t_sens = fixed_mul_A48_16(f16_from_int(fix_sign(t_sens, BMM350_SIGNED_8_BIT)), A48_16_0_001953125); #else dev->mag_comp.dut_sensit_coef.sens_x = fix_sign(sens_x, BMM350_SIGNED_8_BIT) / 256.0f; - 8003428: 7cfb ldrb r3, [r7, #19] - 800342a: 2108 movs r1, #8 - 800342c: 4618 mov r0, r3 - 800342e: f7ff fe7b bl 8003128 - 8003432: ee07 0a90 vmov s15, r0 - 8003436: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 800343a: eddf 6a91 vldr s13, [pc, #580] @ 8003680 - 800343e: eec7 7a26 vdiv.f32 s15, s14, s13 - 8003442: 687b ldr r3, [r7, #4] - 8003444: edc3 7a0b vstr s15, [r3, #44] @ 0x2c + 8003544: 7cfb ldrb r3, [r7, #19] + 8003546: 2108 movs r1, #8 + 8003548: 4618 mov r0, r3 + 800354a: f7ff fe7b bl 8003244 + 800354e: ee07 0a90 vmov s15, r0 + 8003552: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003556: eddf 6a91 vldr s13, [pc, #580] @ 800379c + 800355a: eec7 7a26 vdiv.f32 s15, s14, s13 + 800355e: 687b ldr r3, [r7, #4] + 8003560: edc3 7a0b vstr s15, [r3, #44] @ 0x2c dev->mag_comp.dut_sensit_coef.sens_y = fix_sign(sens_y, BMM350_SIGNED_8_BIT) / 256.0f; - 8003448: 7cbb ldrb r3, [r7, #18] - 800344a: 2108 movs r1, #8 - 800344c: 4618 mov r0, r3 - 800344e: f7ff fe6b bl 8003128 - 8003452: ee07 0a90 vmov s15, r0 - 8003456: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 800345a: eddf 6a89 vldr s13, [pc, #548] @ 8003680 - 800345e: eec7 7a26 vdiv.f32 s15, s14, s13 - 8003462: 687b ldr r3, [r7, #4] - 8003464: edc3 7a0c vstr s15, [r3, #48] @ 0x30 + 8003564: 7cbb ldrb r3, [r7, #18] + 8003566: 2108 movs r1, #8 + 8003568: 4618 mov r0, r3 + 800356a: f7ff fe6b bl 8003244 + 800356e: ee07 0a90 vmov s15, r0 + 8003572: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003576: eddf 6a89 vldr s13, [pc, #548] @ 800379c + 800357a: eec7 7a26 vdiv.f32 s15, s14, s13 + 800357e: 687b ldr r3, [r7, #4] + 8003580: edc3 7a0c vstr s15, [r3, #48] @ 0x30 dev->mag_comp.dut_sensit_coef.sens_z = fix_sign(sens_z, BMM350_SIGNED_8_BIT) / 256.0f; - 8003468: 7c7b ldrb r3, [r7, #17] - 800346a: 2108 movs r1, #8 - 800346c: 4618 mov r0, r3 - 800346e: f7ff fe5b bl 8003128 - 8003472: ee07 0a90 vmov s15, r0 - 8003476: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 800347a: eddf 6a81 vldr s13, [pc, #516] @ 8003680 - 800347e: eec7 7a26 vdiv.f32 s15, s14, s13 - 8003482: 687b ldr r3, [r7, #4] - 8003484: edc3 7a0d vstr s15, [r3, #52] @ 0x34 + 8003584: 7c7b ldrb r3, [r7, #17] + 8003586: 2108 movs r1, #8 + 8003588: 4618 mov r0, r3 + 800358a: f7ff fe5b bl 8003244 + 800358e: ee07 0a90 vmov s15, r0 + 8003592: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003596: eddf 6a81 vldr s13, [pc, #516] @ 800379c + 800359a: eec7 7a26 vdiv.f32 s15, s14, s13 + 800359e: 687b ldr r3, [r7, #4] + 80035a0: edc3 7a0d vstr s15, [r3, #52] @ 0x34 dev->mag_comp.dut_sensit_coef.t_sens = fix_sign(t_sens, BMM350_SIGNED_8_BIT) / 512.0f; - 8003488: 7f7b ldrb r3, [r7, #29] - 800348a: 2108 movs r1, #8 - 800348c: 4618 mov r0, r3 - 800348e: f7ff fe4b bl 8003128 - 8003492: ee07 0a90 vmov s15, r0 - 8003496: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 800349a: eddf 6a7a vldr s13, [pc, #488] @ 8003684 - 800349e: eec7 7a26 vdiv.f32 s15, s14, s13 - 80034a2: 687b ldr r3, [r7, #4] - 80034a4: edc3 7a0a vstr s15, [r3, #40] @ 0x28 + 80035a4: 7f7b ldrb r3, [r7, #29] + 80035a6: 2108 movs r1, #8 + 80035a8: 4618 mov r0, r3 + 80035aa: f7ff fe4b bl 8003244 + 80035ae: ee07 0a90 vmov s15, r0 + 80035b2: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 80035b6: eddf 6a7a vldr s13, [pc, #488] @ 80037a0 + 80035ba: eec7 7a26 vdiv.f32 s15, s14, s13 + 80035be: 687b ldr r3, [r7, #4] + 80035c0: edc3 7a0a vstr s15, [r3, #40] @ 0x28 #endif tco_x = (dev->otp_data[BMM350_MAG_TCO_X] & BMM350_LSB_MASK); - 80034a8: 687b ldr r3, [r7, #4] - 80034aa: f8b3 3088 ldrh.w r3, [r3, #136] @ 0x88 - 80034ae: 743b strb r3, [r7, #16] + 80035c4: 687b ldr r3, [r7, #4] + 80035c6: f8b3 3088 ldrh.w r3, [r3, #136] @ 0x88 + 80035ca: 743b strb r3, [r7, #16] tco_y = (dev->otp_data[BMM350_MAG_TCO_Y] & BMM350_LSB_MASK); - 80034b0: 687b ldr r3, [r7, #4] - 80034b2: f8b3 308a ldrh.w r3, [r3, #138] @ 0x8a - 80034b6: 73fb strb r3, [r7, #15] + 80035cc: 687b ldr r3, [r7, #4] + 80035ce: f8b3 308a ldrh.w r3, [r3, #138] @ 0x8a + 80035d2: 73fb strb r3, [r7, #15] tco_z = (dev->otp_data[BMM350_MAG_TCO_Z] & BMM350_LSB_MASK); - 80034b8: 687b ldr r3, [r7, #4] - 80034ba: f8b3 308c ldrh.w r3, [r3, #140] @ 0x8c - 80034be: 773b strb r3, [r7, #28] + 80035d4: 687b ldr r3, [r7, #4] + 80035d6: f8b3 308c ldrh.w r3, [r3, #140] @ 0x8c + 80035da: 773b strb r3, [r7, #28] dev->mag_comp.dut_tco.tco_x = fixed_mul_A48_16(f16_from_int(fix_sign(tco_x, BMM350_SIGNED_8_BIT)), A48_16_0_03125); dev->mag_comp.dut_tco.tco_y = fixed_mul_A48_16(f16_from_int(fix_sign(tco_y, BMM350_SIGNED_8_BIT)), A48_16_0_03125); dev->mag_comp.dut_tco.tco_z = fixed_mul_A48_16(f16_from_int(fix_sign(tco_z, BMM350_SIGNED_8_BIT)), A48_16_0_03125); #else dev->mag_comp.dut_tco.tco_x = fix_sign(tco_x, BMM350_SIGNED_8_BIT) / 32.0f; - 80034c0: 7c3b ldrb r3, [r7, #16] - 80034c2: 2108 movs r1, #8 - 80034c4: 4618 mov r0, r3 - 80034c6: f7ff fe2f bl 8003128 - 80034ca: ee07 0a90 vmov s15, r0 - 80034ce: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 80034d2: eddf 6a6d vldr s13, [pc, #436] @ 8003688 - 80034d6: eec7 7a26 vdiv.f32 s15, s14, s13 - 80034da: 687b ldr r3, [r7, #4] - 80034dc: edc3 7a0e vstr s15, [r3, #56] @ 0x38 + 80035dc: 7c3b ldrb r3, [r7, #16] + 80035de: 2108 movs r1, #8 + 80035e0: 4618 mov r0, r3 + 80035e2: f7ff fe2f bl 8003244 + 80035e6: ee07 0a90 vmov s15, r0 + 80035ea: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 80035ee: eddf 6a6d vldr s13, [pc, #436] @ 80037a4 + 80035f2: eec7 7a26 vdiv.f32 s15, s14, s13 + 80035f6: 687b ldr r3, [r7, #4] + 80035f8: edc3 7a0e vstr s15, [r3, #56] @ 0x38 dev->mag_comp.dut_tco.tco_y = fix_sign(tco_y, BMM350_SIGNED_8_BIT) / 32.0f; - 80034e0: 7bfb ldrb r3, [r7, #15] - 80034e2: 2108 movs r1, #8 - 80034e4: 4618 mov r0, r3 - 80034e6: f7ff fe1f bl 8003128 - 80034ea: ee07 0a90 vmov s15, r0 - 80034ee: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 80034f2: eddf 6a65 vldr s13, [pc, #404] @ 8003688 - 80034f6: eec7 7a26 vdiv.f32 s15, s14, s13 - 80034fa: 687b ldr r3, [r7, #4] - 80034fc: edc3 7a0f vstr s15, [r3, #60] @ 0x3c + 80035fc: 7bfb ldrb r3, [r7, #15] + 80035fe: 2108 movs r1, #8 + 8003600: 4618 mov r0, r3 + 8003602: f7ff fe1f bl 8003244 + 8003606: ee07 0a90 vmov s15, r0 + 800360a: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 800360e: eddf 6a65 vldr s13, [pc, #404] @ 80037a4 + 8003612: eec7 7a26 vdiv.f32 s15, s14, s13 + 8003616: 687b ldr r3, [r7, #4] + 8003618: edc3 7a0f vstr s15, [r3, #60] @ 0x3c dev->mag_comp.dut_tco.tco_z = fix_sign(tco_z, BMM350_SIGNED_8_BIT) / 32.0f; - 8003500: 7f3b ldrb r3, [r7, #28] - 8003502: 2108 movs r1, #8 - 8003504: 4618 mov r0, r3 - 8003506: f7ff fe0f bl 8003128 - 800350a: ee07 0a90 vmov s15, r0 - 800350e: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 8003512: eddf 6a5d vldr s13, [pc, #372] @ 8003688 - 8003516: eec7 7a26 vdiv.f32 s15, s14, s13 - 800351a: 687b ldr r3, [r7, #4] - 800351c: edc3 7a10 vstr s15, [r3, #64] @ 0x40 + 800361c: 7f3b ldrb r3, [r7, #28] + 800361e: 2108 movs r1, #8 + 8003620: 4618 mov r0, r3 + 8003622: f7ff fe0f bl 8003244 + 8003626: ee07 0a90 vmov s15, r0 + 800362a: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 800362e: eddf 6a5d vldr s13, [pc, #372] @ 80037a4 + 8003632: eec7 7a26 vdiv.f32 s15, s14, s13 + 8003636: 687b ldr r3, [r7, #4] + 8003638: edc3 7a10 vstr s15, [r3, #64] @ 0x40 #endif tcs_x = (dev->otp_data[BMM350_MAG_TCS_X] & BMM350_MSB_MASK) >> 8; - 8003520: 687b ldr r3, [r7, #4] - 8003522: f8b3 3088 ldrh.w r3, [r3, #136] @ 0x88 - 8003526: 0a1b lsrs r3, r3, #8 - 8003528: b29b uxth r3, r3 - 800352a: 73bb strb r3, [r7, #14] + 800363c: 687b ldr r3, [r7, #4] + 800363e: f8b3 3088 ldrh.w r3, [r3, #136] @ 0x88 + 8003642: 0a1b lsrs r3, r3, #8 + 8003644: b29b uxth r3, r3 + 8003646: 73bb strb r3, [r7, #14] tcs_y = (dev->otp_data[BMM350_MAG_TCS_Y] & BMM350_MSB_MASK) >> 8; - 800352c: 687b ldr r3, [r7, #4] - 800352e: f8b3 308a ldrh.w r3, [r3, #138] @ 0x8a - 8003532: 0a1b lsrs r3, r3, #8 - 8003534: b29b uxth r3, r3 - 8003536: 737b strb r3, [r7, #13] + 8003648: 687b ldr r3, [r7, #4] + 800364a: f8b3 308a ldrh.w r3, [r3, #138] @ 0x8a + 800364e: 0a1b lsrs r3, r3, #8 + 8003650: b29b uxth r3, r3 + 8003652: 737b strb r3, [r7, #13] tcs_z = (dev->otp_data[BMM350_MAG_TCS_Z] & BMM350_MSB_MASK) >> 8; - 8003538: 687b ldr r3, [r7, #4] - 800353a: f8b3 308c ldrh.w r3, [r3, #140] @ 0x8c - 800353e: 0a1b lsrs r3, r3, #8 - 8003540: b29b uxth r3, r3 - 8003542: 76fb strb r3, [r7, #27] + 8003654: 687b ldr r3, [r7, #4] + 8003656: f8b3 308c ldrh.w r3, [r3, #140] @ 0x8c + 800365a: 0a1b lsrs r3, r3, #8 + 800365c: b29b uxth r3, r3 + 800365e: 76fb strb r3, [r7, #27] A48_16_0_00006103515625); dev->mag_comp.dut_tcs.tcs_z = fixed_mul_A48_16(f16_from_int(fix_sign(tcs_z, BMM350_SIGNED_8_BIT)), A48_16_0_00006103515625); #else dev->mag_comp.dut_tcs.tcs_x = fix_sign(tcs_x, BMM350_SIGNED_8_BIT) / 16384.0f; - 8003544: 7bbb ldrb r3, [r7, #14] - 8003546: 2108 movs r1, #8 - 8003548: 4618 mov r0, r3 - 800354a: f7ff fded bl 8003128 - 800354e: ee07 0a90 vmov s15, r0 - 8003552: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 8003556: eddf 6a4d vldr s13, [pc, #308] @ 800368c - 800355a: eec7 7a26 vdiv.f32 s15, s14, s13 - 800355e: 687b ldr r3, [r7, #4] - 8003560: edc3 7a11 vstr s15, [r3, #68] @ 0x44 + 8003660: 7bbb ldrb r3, [r7, #14] + 8003662: 2108 movs r1, #8 + 8003664: 4618 mov r0, r3 + 8003666: f7ff fded bl 8003244 + 800366a: ee07 0a90 vmov s15, r0 + 800366e: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003672: eddf 6a4d vldr s13, [pc, #308] @ 80037a8 + 8003676: eec7 7a26 vdiv.f32 s15, s14, s13 + 800367a: 687b ldr r3, [r7, #4] + 800367c: edc3 7a11 vstr s15, [r3, #68] @ 0x44 dev->mag_comp.dut_tcs.tcs_y = fix_sign(tcs_y, BMM350_SIGNED_8_BIT) / 16384.0f; - 8003564: 7b7b ldrb r3, [r7, #13] - 8003566: 2108 movs r1, #8 - 8003568: 4618 mov r0, r3 - 800356a: f7ff fddd bl 8003128 - 800356e: ee07 0a90 vmov s15, r0 - 8003572: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 8003576: eddf 6a45 vldr s13, [pc, #276] @ 800368c - 800357a: eec7 7a26 vdiv.f32 s15, s14, s13 - 800357e: 687b ldr r3, [r7, #4] - 8003580: edc3 7a12 vstr s15, [r3, #72] @ 0x48 + 8003680: 7b7b ldrb r3, [r7, #13] + 8003682: 2108 movs r1, #8 + 8003684: 4618 mov r0, r3 + 8003686: f7ff fddd bl 8003244 + 800368a: ee07 0a90 vmov s15, r0 + 800368e: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003692: eddf 6a45 vldr s13, [pc, #276] @ 80037a8 + 8003696: eec7 7a26 vdiv.f32 s15, s14, s13 + 800369a: 687b ldr r3, [r7, #4] + 800369c: edc3 7a12 vstr s15, [r3, #72] @ 0x48 dev->mag_comp.dut_tcs.tcs_z = fix_sign(tcs_z, BMM350_SIGNED_8_BIT) / 16384.0f; - 8003584: 7efb ldrb r3, [r7, #27] - 8003586: 2108 movs r1, #8 - 8003588: 4618 mov r0, r3 - 800358a: f7ff fdcd bl 8003128 - 800358e: ee07 0a90 vmov s15, r0 - 8003592: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 8003596: eddf 6a3d vldr s13, [pc, #244] @ 800368c - 800359a: eec7 7a26 vdiv.f32 s15, s14, s13 - 800359e: 687b ldr r3, [r7, #4] - 80035a0: edc3 7a13 vstr s15, [r3, #76] @ 0x4c + 80036a0: 7efb ldrb r3, [r7, #27] + 80036a2: 2108 movs r1, #8 + 80036a4: 4618 mov r0, r3 + 80036a6: f7ff fdcd bl 8003244 + 80036aa: ee07 0a90 vmov s15, r0 + 80036ae: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 80036b2: eddf 6a3d vldr s13, [pc, #244] @ 80037a8 + 80036b6: eec7 7a26 vdiv.f32 s15, s14, s13 + 80036ba: 687b ldr r3, [r7, #4] + 80036bc: edc3 7a13 vstr s15, [r3, #76] @ 0x4c dev->mag_comp.dut_t0 = fixed_add(fixed_mul_A48_16(f16_from_int(fix_sign(dev->otp_data[BMM350_MAG_DUT_T_0], BMM350_SIGNED_16_BIT)), A48_16_0_001953125), f16_from_int(23)); #else dev->mag_comp.dut_t0 = (fix_sign(dev->otp_data[BMM350_MAG_DUT_T_0], BMM350_SIGNED_16_BIT) / 512.0f) + 23.0f; - 80035a4: 687b ldr r3, [r7, #4] - 80035a6: f8b3 3094 ldrh.w r3, [r3, #148] @ 0x94 - 80035aa: 2110 movs r1, #16 - 80035ac: 4618 mov r0, r3 - 80035ae: f7ff fdbb bl 8003128 - 80035b2: ee07 0a90 vmov s15, r0 - 80035b6: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 80035ba: eddf 6a32 vldr s13, [pc, #200] @ 8003684 - 80035be: eec7 7a26 vdiv.f32 s15, s14, s13 - 80035c2: eeb3 7a07 vmov.f32 s14, #55 @ 0x41b80000 23.0 - 80035c6: ee77 7a87 vadd.f32 s15, s15, s14 - 80035ca: 687b ldr r3, [r7, #4] - 80035cc: edc3 7a14 vstr s15, [r3, #80] @ 0x50 + 80036c0: 687b ldr r3, [r7, #4] + 80036c2: f8b3 3094 ldrh.w r3, [r3, #148] @ 0x94 + 80036c6: 2110 movs r1, #16 + 80036c8: 4618 mov r0, r3 + 80036ca: f7ff fdbb bl 8003244 + 80036ce: ee07 0a90 vmov s15, r0 + 80036d2: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 80036d6: eddf 6a32 vldr s13, [pc, #200] @ 80037a0 + 80036da: eec7 7a26 vdiv.f32 s15, s14, s13 + 80036de: eeb3 7a07 vmov.f32 s14, #55 @ 0x41b80000 23.0 + 80036e2: ee77 7a87 vadd.f32 s15, s15, s14 + 80036e6: 687b ldr r3, [r7, #4] + 80036e8: edc3 7a14 vstr s15, [r3, #80] @ 0x50 #endif cross_x_y = (dev->otp_data[BMM350_CROSS_X_Y] & BMM350_LSB_MASK); - 80035d0: 687b ldr r3, [r7, #4] - 80035d2: f8b3 308e ldrh.w r3, [r3, #142] @ 0x8e - 80035d6: 733b strb r3, [r7, #12] + 80036ec: 687b ldr r3, [r7, #4] + 80036ee: f8b3 308e ldrh.w r3, [r3, #142] @ 0x8e + 80036f2: 733b strb r3, [r7, #12] cross_y_x = (dev->otp_data[BMM350_CROSS_Y_X] & BMM350_MSB_MASK) >> 8; - 80035d8: 687b ldr r3, [r7, #4] - 80035da: f8b3 308e ldrh.w r3, [r3, #142] @ 0x8e - 80035de: 0a1b lsrs r3, r3, #8 - 80035e0: b29b uxth r3, r3 - 80035e2: 72fb strb r3, [r7, #11] + 80036f4: 687b ldr r3, [r7, #4] + 80036f6: f8b3 308e ldrh.w r3, [r3, #142] @ 0x8e + 80036fa: 0a1b lsrs r3, r3, #8 + 80036fc: b29b uxth r3, r3 + 80036fe: 72fb strb r3, [r7, #11] cross_z_x = (dev->otp_data[BMM350_CROSS_Z_X] & BMM350_LSB_MASK); - 80035e4: 687b ldr r3, [r7, #4] - 80035e6: f8b3 3090 ldrh.w r3, [r3, #144] @ 0x90 - 80035ea: 72bb strb r3, [r7, #10] + 8003700: 687b ldr r3, [r7, #4] + 8003702: f8b3 3090 ldrh.w r3, [r3, #144] @ 0x90 + 8003706: 72bb strb r3, [r7, #10] cross_z_y = (dev->otp_data[BMM350_CROSS_Z_Y] & BMM350_MSB_MASK) >> 8; - 80035ec: 687b ldr r3, [r7, #4] - 80035ee: f8b3 3090 ldrh.w r3, [r3, #144] @ 0x90 - 80035f2: 0a1b lsrs r3, r3, #8 - 80035f4: b29b uxth r3, r3 - 80035f6: 76bb strb r3, [r7, #26] + 8003708: 687b ldr r3, [r7, #4] + 800370a: f8b3 3090 ldrh.w r3, [r3, #144] @ 0x90 + 800370e: 0a1b lsrs r3, r3, #8 + 8003710: b29b uxth r3, r3 + 8003712: 76bb strb r3, [r7, #26] A48_16_0_00125); dev->mag_comp.cross_axis.cross_z_y = fixed_mul_A48_16(f16_from_int(fix_sign(cross_z_y, BMM350_SIGNED_8_BIT)), A48_16_0_00125); #else dev->mag_comp.cross_axis.cross_x_y = fix_sign(cross_x_y, BMM350_SIGNED_8_BIT) / 800.0f; - 80035f8: 7b3b ldrb r3, [r7, #12] - 80035fa: 2108 movs r1, #8 - 80035fc: 4618 mov r0, r3 - 80035fe: f7ff fd93 bl 8003128 - 8003602: ee07 0a90 vmov s15, r0 - 8003606: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 800360a: eddf 6a21 vldr s13, [pc, #132] @ 8003690 - 800360e: eec7 7a26 vdiv.f32 s15, s14, s13 - 8003612: 687b ldr r3, [r7, #4] - 8003614: edc3 7a15 vstr s15, [r3, #84] @ 0x54 + 8003714: 7b3b ldrb r3, [r7, #12] + 8003716: 2108 movs r1, #8 + 8003718: 4618 mov r0, r3 + 800371a: f7ff fd93 bl 8003244 + 800371e: ee07 0a90 vmov s15, r0 + 8003722: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003726: eddf 6a21 vldr s13, [pc, #132] @ 80037ac + 800372a: eec7 7a26 vdiv.f32 s15, s14, s13 + 800372e: 687b ldr r3, [r7, #4] + 8003730: edc3 7a15 vstr s15, [r3, #84] @ 0x54 dev->mag_comp.cross_axis.cross_y_x = fix_sign(cross_y_x, BMM350_SIGNED_8_BIT) / 800.0f; - 8003618: 7afb ldrb r3, [r7, #11] - 800361a: 2108 movs r1, #8 - 800361c: 4618 mov r0, r3 - 800361e: f7ff fd83 bl 8003128 - 8003622: ee07 0a90 vmov s15, r0 - 8003626: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 800362a: eddf 6a19 vldr s13, [pc, #100] @ 8003690 - 800362e: eec7 7a26 vdiv.f32 s15, s14, s13 - 8003632: 687b ldr r3, [r7, #4] - 8003634: edc3 7a16 vstr s15, [r3, #88] @ 0x58 + 8003734: 7afb ldrb r3, [r7, #11] + 8003736: 2108 movs r1, #8 + 8003738: 4618 mov r0, r3 + 800373a: f7ff fd83 bl 8003244 + 800373e: ee07 0a90 vmov s15, r0 + 8003742: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003746: eddf 6a19 vldr s13, [pc, #100] @ 80037ac + 800374a: eec7 7a26 vdiv.f32 s15, s14, s13 + 800374e: 687b ldr r3, [r7, #4] + 8003750: edc3 7a16 vstr s15, [r3, #88] @ 0x58 dev->mag_comp.cross_axis.cross_z_x = fix_sign(cross_z_x, BMM350_SIGNED_8_BIT) / 800.0f; - 8003638: 7abb ldrb r3, [r7, #10] - 800363a: 2108 movs r1, #8 - 800363c: 4618 mov r0, r3 - 800363e: f7ff fd73 bl 8003128 - 8003642: ee07 0a90 vmov s15, r0 - 8003646: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 800364a: eddf 6a11 vldr s13, [pc, #68] @ 8003690 - 800364e: eec7 7a26 vdiv.f32 s15, s14, s13 - 8003652: 687b ldr r3, [r7, #4] - 8003654: edc3 7a17 vstr s15, [r3, #92] @ 0x5c + 8003754: 7abb ldrb r3, [r7, #10] + 8003756: 2108 movs r1, #8 + 8003758: 4618 mov r0, r3 + 800375a: f7ff fd73 bl 8003244 + 800375e: ee07 0a90 vmov s15, r0 + 8003762: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003766: eddf 6a11 vldr s13, [pc, #68] @ 80037ac + 800376a: eec7 7a26 vdiv.f32 s15, s14, s13 + 800376e: 687b ldr r3, [r7, #4] + 8003770: edc3 7a17 vstr s15, [r3, #92] @ 0x5c dev->mag_comp.cross_axis.cross_z_y = fix_sign(cross_z_y, BMM350_SIGNED_8_BIT) / 800.0f; - 8003658: 7ebb ldrb r3, [r7, #26] - 800365a: 2108 movs r1, #8 - 800365c: 4618 mov r0, r3 - 800365e: f7ff fd63 bl 8003128 - 8003662: ee07 0a90 vmov s15, r0 - 8003666: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 800366a: eddf 6a09 vldr s13, [pc, #36] @ 8003690 - 800366e: eec7 7a26 vdiv.f32 s15, s14, s13 - 8003672: 687b ldr r3, [r7, #4] - 8003674: edc3 7a18 vstr s15, [r3, #96] @ 0x60 + 8003774: 7ebb ldrb r3, [r7, #26] + 8003776: 2108 movs r1, #8 + 8003778: 4618 mov r0, r3 + 800377a: f7ff fd63 bl 8003244 + 800377e: ee07 0a90 vmov s15, r0 + 8003782: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003786: eddf 6a09 vldr s13, [pc, #36] @ 80037ac + 800378a: eec7 7a26 vdiv.f32 s15, s14, s13 + 800378e: 687b ldr r3, [r7, #4] + 8003790: edc3 7a18 vstr s15, [r3, #96] @ 0x60 #endif } - 8003678: bf00 nop - 800367a: 3720 adds r7, #32 - 800367c: 46bd mov sp, r7 - 800367e: bd80 pop {r7, pc} - 8003680: 43800000 .word 0x43800000 - 8003684: 44000000 .word 0x44000000 - 8003688: 42000000 .word 0x42000000 - 800368c: 46800000 .word 0x46800000 - 8003690: 44480000 .word 0x44480000 - 8003694: 00000000 .word 0x00000000 + 8003794: bf00 nop + 8003796: 3720 adds r7, #32 + 8003798: 46bd mov sp, r7 + 800379a: bd80 pop {r7, pc} + 800379c: 43800000 .word 0x43800000 + 80037a0: 44000000 .word 0x44000000 + 80037a4: 42000000 .word 0x42000000 + 80037a8: 46800000 .word 0x46800000 + 80037ac: 44480000 .word 0x44480000 -08003698 : +080037b0 : return rslt; } #else static int8_t read_out_raw_data(float *out_data, struct bmm350_dev *dev) { - 8003698: b590 push {r4, r7, lr} - 800369a: b08d sub sp, #52 @ 0x34 - 800369c: af00 add r7, sp, #0 - 800369e: 6078 str r0, [r7, #4] - 80036a0: 6039 str r1, [r7, #0] + 80037b0: b590 push {r4, r7, lr} + 80037b2: b08d sub sp, #52 @ 0x34 + 80037b4: af00 add r7, sp, #0 + 80037b6: 6078 str r0, [r7, #4] + 80037b8: 6039 str r1, [r7, #0] int8_t rslt; /* Float variable to convert mag lsb to uT and temp lsb to degC */ float lsb_to_ut_degc[4]; struct bmm350_raw_mag_data raw_data = { 0 }; - 80036a2: f107 030c add.w r3, r7, #12 - 80036a6: 2200 movs r2, #0 - 80036a8: 601a str r2, [r3, #0] - 80036aa: 605a str r2, [r3, #4] - 80036ac: 609a str r2, [r3, #8] - 80036ae: 60da str r2, [r3, #12] + 80037ba: f107 030c add.w r3, r7, #12 + 80037be: 2200 movs r2, #0 + 80037c0: 601a str r2, [r3, #0] + 80037c2: 605a str r2, [r3, #4] + 80037c4: 609a str r2, [r3, #8] + 80037c6: 60da str r2, [r3, #12] if (out_data != NULL) - 80036b0: 687b ldr r3, [r7, #4] - 80036b2: 2b00 cmp r3, #0 - 80036b4: d05b beq.n 800376e + 80037c8: 687b ldr r3, [r7, #4] + 80037ca: 2b00 cmp r3, #0 + 80037cc: d05b beq.n 8003886 { rslt = bmm350_read_uncomp_mag_temp_data(&raw_data, dev); - 80036b6: f107 030c add.w r3, r7, #12 - 80036ba: 6839 ldr r1, [r7, #0] - 80036bc: 4618 mov r0, r3 - 80036be: f7ff fa07 bl 8002ad0 - 80036c2: 4603 mov r3, r0 - 80036c4: f887 302f strb.w r3, [r7, #47] @ 0x2f + 80037ce: f107 030c add.w r3, r7, #12 + 80037d2: 6839 ldr r1, [r7, #0] + 80037d4: 4618 mov r0, r3 + 80037d6: f7ff fa0a bl 8002bee + 80037da: 4603 mov r3, r0 + 80037dc: f887 302f strb.w r3, [r7, #47] @ 0x2f if (rslt == BMM350_OK) - 80036c8: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f - 80036cc: 2b00 cmp r3, #0 - 80036ce: d151 bne.n 8003774 + 80037e0: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f + 80037e4: 2b00 cmp r3, #0 + 80037e6: d151 bne.n 800388c { /* Convert mag lsb to uT and temp lsb to degC */ update_default_coefiecents(lsb_to_ut_degc); - 80036d0: f107 031c add.w r3, r7, #28 - 80036d4: 4618 mov r0, r3 - 80036d6: f000 f857 bl 8003788 + 80037e8: f107 031c add.w r3, r7, #28 + 80037ec: 4618 mov r0, r3 + 80037ee: f000 f857 bl 80038a0 out_data[0] = (float)raw_data.raw_xdata * lsb_to_ut_degc[0]; - 80036da: 68fb ldr r3, [r7, #12] - 80036dc: ee07 3a90 vmov s15, r3 - 80036e0: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 80036e4: edd7 7a07 vldr s15, [r7, #28] - 80036e8: ee67 7a27 vmul.f32 s15, s14, s15 - 80036ec: 687b ldr r3, [r7, #4] - 80036ee: edc3 7a00 vstr s15, [r3] + 80037f2: 68fb ldr r3, [r7, #12] + 80037f4: ee07 3a90 vmov s15, r3 + 80037f8: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 80037fc: edd7 7a07 vldr s15, [r7, #28] + 8003800: ee67 7a27 vmul.f32 s15, s14, s15 + 8003804: 687b ldr r3, [r7, #4] + 8003806: edc3 7a00 vstr s15, [r3] out_data[1] = (float)raw_data.raw_ydata * lsb_to_ut_degc[1]; - 80036f2: 693b ldr r3, [r7, #16] - 80036f4: ee07 3a90 vmov s15, r3 - 80036f8: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 80036fc: edd7 7a08 vldr s15, [r7, #32] - 8003700: 687b ldr r3, [r7, #4] - 8003702: 3304 adds r3, #4 - 8003704: ee67 7a27 vmul.f32 s15, s14, s15 - 8003708: edc3 7a00 vstr s15, [r3] + 800380a: 693b ldr r3, [r7, #16] + 800380c: ee07 3a90 vmov s15, r3 + 8003810: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003814: edd7 7a08 vldr s15, [r7, #32] + 8003818: 687b ldr r3, [r7, #4] + 800381a: 3304 adds r3, #4 + 800381c: ee67 7a27 vmul.f32 s15, s14, s15 + 8003820: edc3 7a00 vstr s15, [r3] out_data[2] = (float)raw_data.raw_zdata * lsb_to_ut_degc[2]; - 800370c: 697b ldr r3, [r7, #20] - 800370e: ee07 3a90 vmov s15, r3 - 8003712: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 8003716: edd7 7a09 vldr s15, [r7, #36] @ 0x24 - 800371a: 687b ldr r3, [r7, #4] - 800371c: 3308 adds r3, #8 - 800371e: ee67 7a27 vmul.f32 s15, s14, s15 - 8003722: edc3 7a00 vstr s15, [r3] + 8003824: 697b ldr r3, [r7, #20] + 8003826: ee07 3a90 vmov s15, r3 + 800382a: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 800382e: edd7 7a09 vldr s15, [r7, #36] @ 0x24 + 8003832: 687b ldr r3, [r7, #4] + 8003834: 3308 adds r3, #8 + 8003836: ee67 7a27 vmul.f32 s15, s14, s15 + 800383a: edc3 7a00 vstr s15, [r3] out_data[3] = (float)raw_data.raw_data_t * lsb_to_ut_degc[3]; - 8003726: 69bb ldr r3, [r7, #24] - 8003728: ee07 3a90 vmov s15, r3 - 800372c: eeb8 7ae7 vcvt.f32.s32 s14, s15 - 8003730: edd7 7a0a vldr s15, [r7, #40] @ 0x28 - 8003734: 687b ldr r3, [r7, #4] - 8003736: 330c adds r3, #12 - 8003738: ee67 7a27 vmul.f32 s15, s14, s15 - 800373c: edc3 7a00 vstr s15, [r3] + 800383e: 69bb ldr r3, [r7, #24] + 8003840: ee07 3a90 vmov s15, r3 + 8003844: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8003848: edd7 7a0a vldr s15, [r7, #40] @ 0x28 + 800384c: 687b ldr r3, [r7, #4] + 800384e: 330c adds r3, #12 + 8003850: ee67 7a27 vmul.f32 s15, s14, s15 + 8003854: edc3 7a00 vstr s15, [r3] out_data[3] = (float)(out_data[3] - (1 * 25.49)); - 8003740: 687b ldr r3, [r7, #4] - 8003742: 330c adds r3, #12 - 8003744: 681b ldr r3, [r3, #0] - 8003746: 4618 mov r0, r3 - 8003748: f7fc fed6 bl 80004f8 <__aeabi_f2d> - 800374c: a30c add r3, pc, #48 @ (adr r3, 8003780 ) - 800374e: e9d3 2300 ldrd r2, r3, [r3] - 8003752: f7fc fd71 bl 8000238 <__aeabi_dsub> - 8003756: 4602 mov r2, r0 - 8003758: 460b mov r3, r1 - 800375a: 4610 mov r0, r2 - 800375c: 4619 mov r1, r3 - 800375e: 687b ldr r3, [r7, #4] - 8003760: f103 040c add.w r4, r3, #12 - 8003764: f7fd fa18 bl 8000b98 <__aeabi_d2f> - 8003768: 4603 mov r3, r0 - 800376a: 6023 str r3, [r4, #0] - 800376c: e002 b.n 8003774 + 8003858: 687b ldr r3, [r7, #4] + 800385a: 330c adds r3, #12 + 800385c: 681b ldr r3, [r3, #0] + 800385e: 4618 mov r0, r3 + 8003860: f7fc fe4a bl 80004f8 <__aeabi_f2d> + 8003864: a30c add r3, pc, #48 @ (adr r3, 8003898 ) + 8003866: e9d3 2300 ldrd r2, r3, [r3] + 800386a: f7fc fce5 bl 8000238 <__aeabi_dsub> + 800386e: 4602 mov r2, r0 + 8003870: 460b mov r3, r1 + 8003872: 4610 mov r0, r2 + 8003874: 4619 mov r1, r3 + 8003876: 687b ldr r3, [r7, #4] + 8003878: f103 040c add.w r4, r3, #12 + 800387c: f7fd f98c bl 8000b98 <__aeabi_d2f> + 8003880: 4603 mov r3, r0 + 8003882: 6023 str r3, [r4, #0] + 8003884: e002 b.n 800388c } } else { rslt = BMM350_E_NULL_PTR; - 800376e: 23ff movs r3, #255 @ 0xff - 8003770: f887 302f strb.w r3, [r7, #47] @ 0x2f + 8003886: 23ff movs r3, #255 @ 0xff + 8003888: f887 302f strb.w r3, [r7, #47] @ 0x2f } return rslt; - 8003774: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f + 800388c: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f } - 8003778: 4618 mov r0, r3 - 800377a: 3734 adds r7, #52 @ 0x34 - 800377c: 46bd mov sp, r7 - 800377e: bd90 pop {r4, r7, pc} - 8003780: a3d70a3d .word 0xa3d70a3d - 8003784: 40397d70 .word 0x40397d70 + 8003890: 4618 mov r0, r3 + 8003892: 3734 adds r7, #52 @ 0x34 + 8003894: 46bd mov sp, r7 + 8003896: bd90 pop {r4, r7, pc} + 8003898: a3d70a3d .word 0xa3d70a3d + 800389c: 40397d70 .word 0x40397d70 -08003788 : +080038a0 : /*! * @brief This internal API is used to convert lsb to uT and degC. */ static void update_default_coefiecents(float *lsb_to_ut_degc) { - 8003788: b480 push {r7} - 800378a: b08b sub sp, #44 @ 0x2c - 800378c: af00 add r7, sp, #0 - 800378e: 6078 str r0, [r7, #4] + 80038a0: b480 push {r7} + 80038a2: b08b sub sp, #44 @ 0x2c + 80038a4: af00 add r7, sp, #0 + 80038a6: 6078 str r0, [r7, #4] float bxy_sens, bz_sens, temp_sens, ina_xy_gain_trgt, ina_z_gain_trgt, adc_gain, lut_gain; float power; bxy_sens = 14.55f; - 8003790: 4b36 ldr r3, [pc, #216] @ (800386c ) - 8003792: 627b str r3, [r7, #36] @ 0x24 + 80038a8: 4b36 ldr r3, [pc, #216] @ (8003984 ) + 80038aa: 627b str r3, [r7, #36] @ 0x24 bz_sens = 9.0f; - 8003794: 4b36 ldr r3, [pc, #216] @ (8003870 ) - 8003796: 623b str r3, [r7, #32] + 80038ac: 4b36 ldr r3, [pc, #216] @ (8003988 ) + 80038ae: 623b str r3, [r7, #32] temp_sens = 0.00204f; - 8003798: 4b36 ldr r3, [pc, #216] @ (8003874 ) - 800379a: 61fb str r3, [r7, #28] + 80038b0: 4b36 ldr r3, [pc, #216] @ (800398c ) + 80038b2: 61fb str r3, [r7, #28] ina_xy_gain_trgt = 19.46f; - 800379c: 4b36 ldr r3, [pc, #216] @ (8003878 ) - 800379e: 61bb str r3, [r7, #24] + 80038b4: 4b36 ldr r3, [pc, #216] @ (8003990 ) + 80038b6: 61bb str r3, [r7, #24] ina_z_gain_trgt = 31.0; - 80037a0: 4b36 ldr r3, [pc, #216] @ (800387c ) - 80037a2: 617b str r3, [r7, #20] + 80038b8: 4b36 ldr r3, [pc, #216] @ (8003994 ) + 80038ba: 617b str r3, [r7, #20] adc_gain = 1 / 1.5f; - 80037a4: 4b36 ldr r3, [pc, #216] @ (8003880 ) - 80037a6: 613b str r3, [r7, #16] + 80038bc: 4b36 ldr r3, [pc, #216] @ (8003998 ) + 80038be: 613b str r3, [r7, #16] lut_gain = 0.714607238769531f; - 80037a8: 4b36 ldr r3, [pc, #216] @ (8003884 ) - 80037aa: 60fb str r3, [r7, #12] + 80038c0: 4b36 ldr r3, [pc, #216] @ (800399c ) + 80038c2: 60fb str r3, [r7, #12] power = (float)(1000000.0 / 1048576.0); - 80037ac: 4b36 ldr r3, [pc, #216] @ (8003888 ) - 80037ae: 60bb str r3, [r7, #8] + 80038c4: 4b36 ldr r3, [pc, #216] @ (80039a0 ) + 80038c6: 60bb str r3, [r7, #8] lsb_to_ut_degc[0] = (power / (bxy_sens * ina_xy_gain_trgt * adc_gain * lut_gain)); - 80037b0: ed97 7a09 vldr s14, [r7, #36] @ 0x24 - 80037b4: edd7 7a06 vldr s15, [r7, #24] - 80037b8: ee27 7a27 vmul.f32 s14, s14, s15 - 80037bc: edd7 7a04 vldr s15, [r7, #16] - 80037c0: ee27 7a27 vmul.f32 s14, s14, s15 - 80037c4: edd7 7a03 vldr s15, [r7, #12] - 80037c8: ee27 7a27 vmul.f32 s14, s14, s15 - 80037cc: edd7 6a02 vldr s13, [r7, #8] - 80037d0: eec6 7a87 vdiv.f32 s15, s13, s14 - 80037d4: 687b ldr r3, [r7, #4] - 80037d6: edc3 7a00 vstr s15, [r3] + 80038c8: ed97 7a09 vldr s14, [r7, #36] @ 0x24 + 80038cc: edd7 7a06 vldr s15, [r7, #24] + 80038d0: ee27 7a27 vmul.f32 s14, s14, s15 + 80038d4: edd7 7a04 vldr s15, [r7, #16] + 80038d8: ee27 7a27 vmul.f32 s14, s14, s15 + 80038dc: edd7 7a03 vldr s15, [r7, #12] + 80038e0: ee27 7a27 vmul.f32 s14, s14, s15 + 80038e4: edd7 6a02 vldr s13, [r7, #8] + 80038e8: eec6 7a87 vdiv.f32 s15, s13, s14 + 80038ec: 687b ldr r3, [r7, #4] + 80038ee: edc3 7a00 vstr s15, [r3] lsb_to_ut_degc[1] = (power / (bxy_sens * ina_xy_gain_trgt * adc_gain * lut_gain)); - 80037da: ed97 7a09 vldr s14, [r7, #36] @ 0x24 - 80037de: edd7 7a06 vldr s15, [r7, #24] - 80037e2: ee27 7a27 vmul.f32 s14, s14, s15 - 80037e6: edd7 7a04 vldr s15, [r7, #16] - 80037ea: ee27 7a27 vmul.f32 s14, s14, s15 - 80037ee: edd7 7a03 vldr s15, [r7, #12] - 80037f2: ee27 7a27 vmul.f32 s14, s14, s15 - 80037f6: 687b ldr r3, [r7, #4] - 80037f8: 3304 adds r3, #4 - 80037fa: edd7 6a02 vldr s13, [r7, #8] - 80037fe: eec6 7a87 vdiv.f32 s15, s13, s14 - 8003802: edc3 7a00 vstr s15, [r3] + 80038f2: ed97 7a09 vldr s14, [r7, #36] @ 0x24 + 80038f6: edd7 7a06 vldr s15, [r7, #24] + 80038fa: ee27 7a27 vmul.f32 s14, s14, s15 + 80038fe: edd7 7a04 vldr s15, [r7, #16] + 8003902: ee27 7a27 vmul.f32 s14, s14, s15 + 8003906: edd7 7a03 vldr s15, [r7, #12] + 800390a: ee27 7a27 vmul.f32 s14, s14, s15 + 800390e: 687b ldr r3, [r7, #4] + 8003910: 3304 adds r3, #4 + 8003912: edd7 6a02 vldr s13, [r7, #8] + 8003916: eec6 7a87 vdiv.f32 s15, s13, s14 + 800391a: edc3 7a00 vstr s15, [r3] lsb_to_ut_degc[2] = (power / (bz_sens * ina_z_gain_trgt * adc_gain * lut_gain)); - 8003806: ed97 7a08 vldr s14, [r7, #32] - 800380a: edd7 7a05 vldr s15, [r7, #20] - 800380e: ee27 7a27 vmul.f32 s14, s14, s15 - 8003812: edd7 7a04 vldr s15, [r7, #16] - 8003816: ee27 7a27 vmul.f32 s14, s14, s15 - 800381a: edd7 7a03 vldr s15, [r7, #12] - 800381e: ee27 7a27 vmul.f32 s14, s14, s15 - 8003822: 687b ldr r3, [r7, #4] - 8003824: 3308 adds r3, #8 - 8003826: edd7 6a02 vldr s13, [r7, #8] - 800382a: eec6 7a87 vdiv.f32 s15, s13, s14 - 800382e: edc3 7a00 vstr s15, [r3] + 800391e: ed97 7a08 vldr s14, [r7, #32] + 8003922: edd7 7a05 vldr s15, [r7, #20] + 8003926: ee27 7a27 vmul.f32 s14, s14, s15 + 800392a: edd7 7a04 vldr s15, [r7, #16] + 800392e: ee27 7a27 vmul.f32 s14, s14, s15 + 8003932: edd7 7a03 vldr s15, [r7, #12] + 8003936: ee27 7a27 vmul.f32 s14, s14, s15 + 800393a: 687b ldr r3, [r7, #4] + 800393c: 3308 adds r3, #8 + 800393e: edd7 6a02 vldr s13, [r7, #8] + 8003942: eec6 7a87 vdiv.f32 s15, s13, s14 + 8003946: edc3 7a00 vstr s15, [r3] lsb_to_ut_degc[3] = 1 / (temp_sens * adc_gain * lut_gain * 1048576); - 8003832: ed97 7a07 vldr s14, [r7, #28] - 8003836: edd7 7a04 vldr s15, [r7, #16] - 800383a: ee27 7a27 vmul.f32 s14, s14, s15 - 800383e: edd7 7a03 vldr s15, [r7, #12] - 8003842: ee67 7a27 vmul.f32 s15, s14, s15 - 8003846: ed9f 7a11 vldr s14, [pc, #68] @ 800388c - 800384a: ee27 7a87 vmul.f32 s14, s15, s14 - 800384e: 687b ldr r3, [r7, #4] - 8003850: 330c adds r3, #12 - 8003852: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 - 8003856: eec6 7a87 vdiv.f32 s15, s13, s14 - 800385a: edc3 7a00 vstr s15, [r3] + 800394a: ed97 7a07 vldr s14, [r7, #28] + 800394e: edd7 7a04 vldr s15, [r7, #16] + 8003952: ee27 7a27 vmul.f32 s14, s14, s15 + 8003956: edd7 7a03 vldr s15, [r7, #12] + 800395a: ee67 7a27 vmul.f32 s15, s14, s15 + 800395e: ed9f 7a11 vldr s14, [pc, #68] @ 80039a4 + 8003962: ee27 7a87 vmul.f32 s14, s15, s14 + 8003966: 687b ldr r3, [r7, #4] + 8003968: 330c adds r3, #12 + 800396a: eef7 6a00 vmov.f32 s13, #112 @ 0x3f800000 1.0 + 800396e: eec6 7a87 vdiv.f32 s15, s13, s14 + 8003972: edc3 7a00 vstr s15, [r3] } - 800385e: bf00 nop - 8003860: 372c adds r7, #44 @ 0x2c - 8003862: 46bd mov sp, r7 - 8003864: f85d 7b04 ldr.w r7, [sp], #4 - 8003868: 4770 bx lr - 800386a: bf00 nop - 800386c: 4168cccd .word 0x4168cccd - 8003870: 41100000 .word 0x41100000 - 8003874: 3b05b185 .word 0x3b05b185 - 8003878: 419bae14 .word 0x419bae14 - 800387c: 41f80000 .word 0x41f80000 - 8003880: 3f2aaaab .word 0x3f2aaaab - 8003884: 3f36f080 .word 0x3f36f080 - 8003888: 3f742400 .word 0x3f742400 - 800388c: 49800000 .word 0x49800000 + 8003976: bf00 nop + 8003978: 372c adds r7, #44 @ 0x2c + 800397a: 46bd mov sp, r7 + 800397c: f85d 7b04 ldr.w r7, [sp], #4 + 8003980: 4770 bx lr + 8003982: bf00 nop + 8003984: 4168cccd .word 0x4168cccd + 8003988: 41100000 .word 0x41100000 + 800398c: 3b05b185 .word 0x3b05b185 + 8003990: 419bae14 .word 0x419bae14 + 8003994: 41f80000 .word 0x41f80000 + 8003998: 3f2aaaab .word 0x3f2aaaab + 800399c: 3f36f080 .word 0x3f36f080 + 80039a0: 3f742400 .word 0x3f742400 + 80039a4: 49800000 .word 0x49800000 -08003890 : +080039a8 : /*! * @brief This internal API is used to read OTP data after boot in user mode. */ static int8_t otp_dump_after_boot(struct bmm350_dev *dev) { - 8003890: b580 push {r7, lr} - 8003892: b084 sub sp, #16 - 8003894: af00 add r7, sp, #0 - 8003896: 6078 str r0, [r7, #4] + 80039a8: b580 push {r7, lr} + 80039aa: b084 sub sp, #16 + 80039ac: af00 add r7, sp, #0 + 80039ae: 6078 str r0, [r7, #4] /* Variable to store the function result */ int8_t rslt; uint16_t otp_word = 0; - 8003898: 2300 movs r3, #0 - 800389a: 81bb strh r3, [r7, #12] + 80039b0: 2300 movs r3, #0 + 80039b2: 81bb strh r3, [r7, #12] uint8_t indx; for (indx = 0; indx < BMM350_OTP_DATA_LENGTH; indx++) - 800389c: 2300 movs r3, #0 - 800389e: 73bb strb r3, [r7, #14] - 80038a0: e013 b.n 80038ca + 80039b4: 2300 movs r3, #0 + 80039b6: 73bb strb r3, [r7, #14] + 80039b8: e013 b.n 80039e2 { rslt = read_otp_word(indx, &otp_word, dev); - 80038a2: f107 010c add.w r1, r7, #12 - 80038a6: 7bbb ldrb r3, [r7, #14] - 80038a8: 687a ldr r2, [r7, #4] - 80038aa: 4618 mov r0, r3 - 80038ac: f7ff fc96 bl 80031dc - 80038b0: 4603 mov r3, r0 - 80038b2: 73fb strb r3, [r7, #15] + 80039ba: f107 010c add.w r1, r7, #12 + 80039be: 7bbb ldrb r3, [r7, #14] + 80039c0: 687a ldr r2, [r7, #4] + 80039c2: 4618 mov r0, r3 + 80039c4: f7ff fc98 bl 80032f8 + 80039c8: 4603 mov r3, r0 + 80039ca: 73fb strb r3, [r7, #15] dev->otp_data[indx] = otp_word; - 80038b4: 7bbb ldrb r3, [r7, #14] - 80038b6: 89b9 ldrh r1, [r7, #12] - 80038b8: 687a ldr r2, [r7, #4] - 80038ba: 3330 adds r3, #48 @ 0x30 - 80038bc: 005b lsls r3, r3, #1 - 80038be: 4413 add r3, r2 - 80038c0: 460a mov r2, r1 - 80038c2: 809a strh r2, [r3, #4] + 80039cc: 7bbb ldrb r3, [r7, #14] + 80039ce: 89b9 ldrh r1, [r7, #12] + 80039d0: 687a ldr r2, [r7, #4] + 80039d2: 3330 adds r3, #48 @ 0x30 + 80039d4: 005b lsls r3, r3, #1 + 80039d6: 4413 add r3, r2 + 80039d8: 460a mov r2, r1 + 80039da: 809a strh r2, [r3, #4] for (indx = 0; indx < BMM350_OTP_DATA_LENGTH; indx++) - 80038c4: 7bbb ldrb r3, [r7, #14] - 80038c6: 3301 adds r3, #1 - 80038c8: 73bb strb r3, [r7, #14] - 80038ca: 7bbb ldrb r3, [r7, #14] - 80038cc: 2b1f cmp r3, #31 - 80038ce: d9e8 bls.n 80038a2 + 80039dc: 7bbb ldrb r3, [r7, #14] + 80039de: 3301 adds r3, #1 + 80039e0: 73bb strb r3, [r7, #14] + 80039e2: 7bbb ldrb r3, [r7, #14] + 80039e4: 2b1f cmp r3, #31 + 80039e6: d9e8 bls.n 80039ba } dev->var_id = (dev->otp_data[30] & 0x7f00) >> 9; - 80038d0: 687b ldr r3, [r7, #4] - 80038d2: f8b3 30a0 ldrh.w r3, [r3, #160] @ 0xa0 - 80038d6: 125b asrs r3, r3, #9 - 80038d8: b2db uxtb r3, r3 - 80038da: f003 033f and.w r3, r3, #63 @ 0x3f - 80038de: b2da uxtb r2, r3 - 80038e0: 687b ldr r3, [r7, #4] - 80038e2: f883 20a4 strb.w r2, [r3, #164] @ 0xa4 + 80039e8: 687b ldr r3, [r7, #4] + 80039ea: f8b3 30a0 ldrh.w r3, [r3, #160] @ 0xa0 + 80039ee: 125b asrs r3, r3, #9 + 80039f0: b2db uxtb r3, r3 + 80039f2: f003 033f and.w r3, r3, #63 @ 0x3f + 80039f6: b2da uxtb r2, r3 + 80039f8: 687b ldr r3, [r7, #4] + 80039fa: f883 20a4 strb.w r2, [r3, #164] @ 0xa4 /* Set the default auto bit reset configuration */ dev->enable_auto_br = ((dev->var_id > BMM350_CURRENT_SHUTTLE_VARIANT_ID) ? BMM350_DISABLE : BMM350_ENABLE); - 80038e6: 687b ldr r3, [r7, #4] - 80038e8: f893 30a4 ldrb.w r3, [r3, #164] @ 0xa4 - 80038ec: 2b11 cmp r3, #17 - 80038ee: bf94 ite ls - 80038f0: 2301 movls r3, #1 - 80038f2: 2300 movhi r3, #0 - 80038f4: b2db uxtb r3, r3 - 80038f6: 461a mov r2, r3 - 80038f8: 687b ldr r3, [r7, #4] - 80038fa: f883 20ad strb.w r2, [r3, #173] @ 0xad + 80039fe: 687b ldr r3, [r7, #4] + 8003a00: f893 30a4 ldrb.w r3, [r3, #164] @ 0xa4 + 8003a04: 2b11 cmp r3, #17 + 8003a06: bf94 ite ls + 8003a08: 2301 movls r3, #1 + 8003a0a: 2300 movhi r3, #0 + 8003a0c: b2db uxtb r3, r3 + 8003a0e: 461a mov r2, r3 + 8003a10: 687b ldr r3, [r7, #4] + 8003a12: f883 20ad strb.w r2, [r3, #173] @ 0xad /* Update magnetometer offset and sensitivity data. */ update_mag_off_sens(dev); - 80038fe: 6878 ldr r0, [r7, #4] - 8003900: f7ff fd0e bl 8003320 + 8003a16: 6878 ldr r0, [r7, #4] + 8003a18: f7ff fd10 bl 800343c return rslt; - 8003904: f997 300f ldrsb.w r3, [r7, #15] + 8003a1c: f997 300f ldrsb.w r3, [r7, #15] } - 8003908: 4618 mov r0, r3 - 800390a: 3710 adds r7, #16 - 800390c: 46bd mov sp, r7 - 800390e: bd80 pop {r7, pc} + 8003a20: 4618 mov r0, r3 + 8003a22: 3710 adds r7, #16 + 8003a24: 46bd mov sp, r7 + 8003a26: bd80 pop {r7, pc} -08003910 : +08003a28 : /*! * @brief This internal API is used to switch from suspend mode to normal mode or forced mode. */ static int8_t set_powermode(enum bmm350_power_modes powermode, struct bmm350_dev *dev) { - 8003910: b590 push {r4, r7, lr} - 8003912: b08f sub sp, #60 @ 0x3c - 8003914: af00 add r7, sp, #0 - 8003916: 4603 mov r3, r0 - 8003918: 6039 str r1, [r7, #0] - 800391a: 71fb strb r3, [r7, #7] + 8003a28: b590 push {r4, r7, lr} + 8003a2a: b08f sub sp, #60 @ 0x3c + 8003a2c: af00 add r7, sp, #0 + 8003a2e: 4603 mov r3, r0 + 8003a30: 6039 str r1, [r7, #0] + 8003a32: 71fb strb r3, [r7, #7] /* Variable to store the function result */ int8_t rslt; uint8_t reg_data = powermode; - 800391c: 79fb ldrb r3, [r7, #7] - 800391e: f887 302f strb.w r3, [r7, #47] @ 0x2f + 8003a34: 79fb ldrb r3, [r7, #7] + 8003a36: f887 302f strb.w r3, [r7, #47] @ 0x2f uint8_t get_avg; /* Array to store suspend to forced mode delay */ uint32_t sus_to_forced_mode[4] = - 8003922: 4b36 ldr r3, [pc, #216] @ (80039fc ) - 8003924: f107 041c add.w r4, r7, #28 - 8003928: cb0f ldmia r3, {r0, r1, r2, r3} - 800392a: e884 000f stmia.w r4, {r0, r1, r2, r3} + 8003a3a: 4b36 ldr r3, [pc, #216] @ (8003b14 ) + 8003a3c: f107 041c add.w r4, r7, #28 + 8003a40: cb0f ldmia r3, {r0, r1, r2, r3} + 8003a42: e884 000f stmia.w r4, {r0, r1, r2, r3} { BMM350_SUS_TO_FORCEDMODE_NO_AVG_DELAY, BMM350_SUS_TO_FORCEDMODE_AVG_2_DELAY, BMM350_SUS_TO_FORCEDMODE_AVG_4_DELAY, BMM350_SUS_TO_FORCEDMODE_AVG_8_DELAY }; /* Array to store suspend to forced mode fast delay */ uint32_t sus_to_forced_mode_fast[4] = - 800392e: 4b34 ldr r3, [pc, #208] @ (8003a00 ) - 8003930: f107 040c add.w r4, r7, #12 - 8003934: cb0f ldmia r3, {r0, r1, r2, r3} - 8003936: e884 000f stmia.w r4, {r0, r1, r2, r3} + 8003a46: 4b34 ldr r3, [pc, #208] @ (8003b18 ) + 8003a48: f107 040c add.w r4, r7, #12 + 8003a4c: cb0f ldmia r3, {r0, r1, r2, r3} + 8003a4e: e884 000f stmia.w r4, {r0, r1, r2, r3} { BMM350_SUS_TO_FORCEDMODE_FAST_NO_AVG_DELAY, BMM350_SUS_TO_FORCEDMODE_FAST_AVG_2_DELAY, BMM350_SUS_TO_FORCEDMODE_FAST_AVG_4_DELAY, BMM350_SUS_TO_FORCEDMODE_FAST_AVG_8_DELAY }; uint8_t avg = 0; - 800393a: 2300 movs r3, #0 - 800393c: f887 3036 strb.w r3, [r7, #54] @ 0x36 + 8003a52: 2300 movs r3, #0 + 8003a54: f887 3036 strb.w r3, [r7, #54] @ 0x36 uint32_t delay_us = 0; - 8003940: 2300 movs r3, #0 - 8003942: 633b str r3, [r7, #48] @ 0x30 + 8003a58: 2300 movs r3, #0 + 8003a5a: 633b str r3, [r7, #48] @ 0x30 rslt = null_ptr_check(dev); - 8003944: 6838 ldr r0, [r7, #0] - 8003946: f7ff fbce bl 80030e6 - 800394a: 4603 mov r3, r0 - 800394c: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 8003a5c: 6838 ldr r0, [r7, #0] + 8003a5e: f7ff fbd1 bl 8003204 + 8003a62: 4603 mov r3, r0 + 8003a64: f887 3037 strb.w r3, [r7, #55] @ 0x37 if (rslt == BMM350_OK) - 8003950: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 - 8003954: 2b00 cmp r3, #0 - 8003956: d123 bne.n 80039a0 + 8003a68: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 + 8003a6c: 2b00 cmp r3, #0 + 8003a6e: d123 bne.n 8003ab8 { /* Set PMU command configuration to desired power mode */ rslt = bmm350_set_regs(BMM350_REG_PMU_CMD, ®_data, 1, dev); - 8003958: f107 012f add.w r1, r7, #47 @ 0x2f - 800395c: 683b ldr r3, [r7, #0] - 800395e: 2201 movs r2, #1 - 8003960: 2006 movs r0, #6 - 8003962: f7fe feb6 bl 80026d2 - 8003966: 4603 mov r3, r0 - 8003968: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 8003a70: f107 012f add.w r1, r7, #47 @ 0x2f + 8003a74: 683b ldr r3, [r7, #0] + 8003a76: 2201 movs r2, #1 + 8003a78: 2006 movs r0, #6 + 8003a7a: f7fe feb9 bl 80027f0 + 8003a7e: 4603 mov r3, r0 + 8003a80: f887 3037 strb.w r3, [r7, #55] @ 0x37 if (rslt == BMM350_OK) - 800396c: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 - 8003970: 2b00 cmp r3, #0 - 8003972: d115 bne.n 80039a0 + 8003a84: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 + 8003a88: 2b00 cmp r3, #0 + 8003a8a: d115 bne.n 8003ab8 { /* Get average configuration */ rslt = bmm350_get_regs(BMM350_REG_PMU_CMD_AGGR_SET, &get_avg, 1, dev); - 8003974: f107 012e add.w r1, r7, #46 @ 0x2e - 8003978: 683b ldr r3, [r7, #0] - 800397a: 2201 movs r2, #1 - 800397c: 2004 movs r0, #4 - 800397e: f7fe fedc bl 800273a - 8003982: 4603 mov r3, r0 - 8003984: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 8003a8c: f107 012e add.w r1, r7, #46 @ 0x2e + 8003a90: 683b ldr r3, [r7, #0] + 8003a92: 2201 movs r2, #1 + 8003a94: 2004 movs r0, #4 + 8003a96: f7fe fedf bl 8002858 + 8003a9a: 4603 mov r3, r0 + 8003a9c: f887 3037 strb.w r3, [r7, #55] @ 0x37 if (rslt == BMM350_OK) - 8003988: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 - 800398c: 2b00 cmp r3, #0 - 800398e: d107 bne.n 80039a0 + 8003aa0: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 + 8003aa4: 2b00 cmp r3, #0 + 8003aa6: d107 bne.n 8003ab8 { /* Mask the average value */ avg = ((get_avg & BMM350_AVG_MSK) >> BMM350_AVG_POS); - 8003990: f897 302e ldrb.w r3, [r7, #46] @ 0x2e - 8003994: 111b asrs r3, r3, #4 - 8003996: b2db uxtb r3, r3 - 8003998: f003 0303 and.w r3, r3, #3 - 800399c: f887 3036 strb.w r3, [r7, #54] @ 0x36 + 8003aa8: f897 302e ldrb.w r3, [r7, #46] @ 0x2e + 8003aac: 111b asrs r3, r3, #4 + 8003aae: b2db uxtb r3, r3 + 8003ab0: f003 0303 and.w r3, r3, #3 + 8003ab4: f887 3036 strb.w r3, [r7, #54] @ 0x36 } } } if (rslt == BMM350_OK) - 80039a0: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 - 80039a4: 2b00 cmp r3, #0 - 80039a6: d122 bne.n 80039ee + 8003ab8: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 + 8003abc: 2b00 cmp r3, #0 + 8003abe: d122 bne.n 8003b06 { /* Check if desired power mode is normal mode */ if (powermode == BMM350_NORMAL_MODE) - 80039a8: 79fb ldrb r3, [r7, #7] - 80039aa: 2b01 cmp r3, #1 - 80039ac: d102 bne.n 80039b4 + 8003ac0: 79fb ldrb r3, [r7, #7] + 8003ac2: 2b01 cmp r3, #1 + 8003ac4: d102 bne.n 8003acc { delay_us = BMM350_SUSPEND_TO_NORMAL_DELAY; - 80039ae: f249 4370 movw r3, #38000 @ 0x9470 - 80039b2: 633b str r3, [r7, #48] @ 0x30 + 8003ac6: f249 4370 movw r3, #38000 @ 0x9470 + 8003aca: 633b str r3, [r7, #48] @ 0x30 } /* Check if desired power mode is forced mode */ if (powermode == BMM350_FORCED_MODE) - 80039b4: 79fb ldrb r3, [r7, #7] - 80039b6: 2b03 cmp r3, #3 - 80039b8: d107 bne.n 80039ca + 8003acc: 79fb ldrb r3, [r7, #7] + 8003ace: 2b03 cmp r3, #3 + 8003ad0: d107 bne.n 8003ae2 { /* Store delay based on averaging mode */ delay_us = sus_to_forced_mode[avg]; - 80039ba: f897 3036 ldrb.w r3, [r7, #54] @ 0x36 - 80039be: 009b lsls r3, r3, #2 - 80039c0: 3338 adds r3, #56 @ 0x38 - 80039c2: 443b add r3, r7 - 80039c4: f853 3c1c ldr.w r3, [r3, #-28] - 80039c8: 633b str r3, [r7, #48] @ 0x30 + 8003ad2: f897 3036 ldrb.w r3, [r7, #54] @ 0x36 + 8003ad6: 009b lsls r3, r3, #2 + 8003ad8: 3338 adds r3, #56 @ 0x38 + 8003ada: 443b add r3, r7 + 8003adc: f853 3c1c ldr.w r3, [r3, #-28] + 8003ae0: 633b str r3, [r7, #48] @ 0x30 } /* Check if desired power mode is forced mode fast */ if (powermode == BMM350_FORCED_MODE_FAST) - 80039ca: 79fb ldrb r3, [r7, #7] - 80039cc: 2b04 cmp r3, #4 - 80039ce: d107 bne.n 80039e0 + 8003ae2: 79fb ldrb r3, [r7, #7] + 8003ae4: 2b04 cmp r3, #4 + 8003ae6: d107 bne.n 8003af8 { /* Store delay based on averaging mode */ delay_us = sus_to_forced_mode_fast[avg]; - 80039d0: f897 3036 ldrb.w r3, [r7, #54] @ 0x36 - 80039d4: 009b lsls r3, r3, #2 - 80039d6: 3338 adds r3, #56 @ 0x38 - 80039d8: 443b add r3, r7 - 80039da: f853 3c2c ldr.w r3, [r3, #-44] - 80039de: 633b str r3, [r7, #48] @ 0x30 + 8003ae8: f897 3036 ldrb.w r3, [r7, #54] @ 0x36 + 8003aec: 009b lsls r3, r3, #2 + 8003aee: 3338 adds r3, #56 @ 0x38 + 8003af0: 443b add r3, r7 + 8003af2: f853 3c2c ldr.w r3, [r3, #-44] + 8003af6: 633b str r3, [r7, #48] @ 0x30 } /* Perform delay based on power mode */ rslt = bmm350_delay_us(delay_us, dev); - 80039e0: 6839 ldr r1, [r7, #0] - 80039e2: 6b38 ldr r0, [r7, #48] @ 0x30 - 80039e4: f7fe fefe bl 80027e4 - 80039e8: 4603 mov r3, r0 - 80039ea: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 8003af8: 6839 ldr r1, [r7, #0] + 8003afa: 6b38 ldr r0, [r7, #48] @ 0x30 + 8003afc: f7fe ff01 bl 8002902 + 8003b00: 4603 mov r3, r0 + 8003b02: f887 3037 strb.w r3, [r7, #55] @ 0x37 } return rslt; - 80039ee: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 + 8003b06: f997 3037 ldrsb.w r3, [r7, #55] @ 0x37 } - 80039f2: 4618 mov r0, r3 - 80039f4: 373c adds r7, #60 @ 0x3c - 80039f6: 46bd mov sp, r7 - 80039f8: bd90 pop {r4, r7, pc} - 80039fa: bf00 nop - 80039fc: 0801d45c .word 0x0801d45c - 8003a00: 0801d46c .word 0x0801d46c + 8003b0a: 4618 mov r0, r3 + 8003b0c: 373c adds r7, #60 @ 0x3c + 8003b0e: 46bd mov sp, r7 + 8003b10: bd90 pop {r4, r7, pc} + 8003b12: bf00 nop + 8003b14: 0801de2c .word 0x0801de2c + 8003b18: 0801de3c .word 0x0801de3c -08003a04 : +08003b1c : { - 8003a04: b480 push {r7} - 8003a06: b083 sub sp, #12 - 8003a08: af00 add r7, sp, #0 - 8003a0a: 6078 str r0, [r7, #4] + 8003b1c: b480 push {r7} + 8003b1e: b083 sub sp, #12 + 8003b20: af00 add r7, sp, #0 + 8003b22: 6078 str r0, [r7, #4] SET_BIT(EXTI->IMR1, ExtiLine); - 8003a0c: 4b06 ldr r3, [pc, #24] @ (8003a28 ) - 8003a0e: f8d3 2080 ldr.w r2, [r3, #128] @ 0x80 - 8003a12: 4905 ldr r1, [pc, #20] @ (8003a28 ) - 8003a14: 687b ldr r3, [r7, #4] - 8003a16: 4313 orrs r3, r2 - 8003a18: f8c1 3080 str.w r3, [r1, #128] @ 0x80 + 8003b24: 4b06 ldr r3, [pc, #24] @ (8003b40 ) + 8003b26: f8d3 2080 ldr.w r2, [r3, #128] @ 0x80 + 8003b2a: 4905 ldr r1, [pc, #20] @ (8003b40 ) + 8003b2c: 687b ldr r3, [r7, #4] + 8003b2e: 4313 orrs r3, r2 + 8003b30: f8c1 3080 str.w r3, [r1, #128] @ 0x80 } - 8003a1c: bf00 nop - 8003a1e: 370c adds r7, #12 - 8003a20: 46bd mov sp, r7 - 8003a22: f85d 7b04 ldr.w r7, [sp], #4 - 8003a26: 4770 bx lr - 8003a28: 58000800 .word 0x58000800 + 8003b34: bf00 nop + 8003b36: 370c adds r7, #12 + 8003b38: 46bd mov sp, r7 + 8003b3a: f85d 7b04 ldr.w r7, [sp], #4 + 8003b3e: 4770 bx lr + 8003b40: 58000800 .word 0x58000800 -08003a2c : +08003b44 : * @arg @ref LL_EXTI_LINE_31 (*) * (*) value not defined in all devices * @retval None */ __STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine) { - 8003a2c: b480 push {r7} - 8003a2e: b083 sub sp, #12 - 8003a30: af00 add r7, sp, #0 - 8003a32: 6078 str r0, [r7, #4] + 8003b44: b480 push {r7} + 8003b46: b083 sub sp, #12 + 8003b48: af00 add r7, sp, #0 + 8003b4a: 6078 str r0, [r7, #4] SET_BIT(EXTI->RTSR1, ExtiLine); - 8003a34: 4b05 ldr r3, [pc, #20] @ (8003a4c ) - 8003a36: 681a ldr r2, [r3, #0] - 8003a38: 4904 ldr r1, [pc, #16] @ (8003a4c ) - 8003a3a: 687b ldr r3, [r7, #4] - 8003a3c: 4313 orrs r3, r2 - 8003a3e: 600b str r3, [r1, #0] + 8003b4c: 4b05 ldr r3, [pc, #20] @ (8003b64 ) + 8003b4e: 681a ldr r2, [r3, #0] + 8003b50: 4904 ldr r1, [pc, #16] @ (8003b64 ) + 8003b52: 687b ldr r3, [r7, #4] + 8003b54: 4313 orrs r3, r2 + 8003b56: 600b str r3, [r1, #0] } - 8003a40: bf00 nop - 8003a42: 370c adds r7, #12 - 8003a44: 46bd mov sp, r7 - 8003a46: f85d 7b04 ldr.w r7, [sp], #4 - 8003a4a: 4770 bx lr - 8003a4c: 58000800 .word 0x58000800 + 8003b58: bf00 nop + 8003b5a: 370c adds r7, #12 + 8003b5c: 46bd mov sp, r7 + 8003b5e: f85d 7b04 ldr.w r7, [sp], #4 + 8003b62: 4770 bx lr + 8003b64: 58000800 .word 0x58000800 -08003a50 : +08003b68 : * reliability of the value * @param None * @retval SSR value read */ static uint32_t ReadRtcSsrValue(void) { - 8003a50: b480 push {r7} - 8003a52: b083 sub sp, #12 - 8003a54: af00 add r7, sp, #0 + 8003b68: b480 push {r7} + 8003b6a: b083 sub sp, #12 + 8003b6c: af00 add r7, sp, #0 uint32_t first_read; uint32_t second_read; first_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS)); - 8003a56: 4b0d ldr r3, [pc, #52] @ (8003a8c ) - 8003a58: 6a9b ldr r3, [r3, #40] @ 0x28 - 8003a5a: b29b uxth r3, r3 - 8003a5c: 607b str r3, [r7, #4] + 8003b6e: 4b0d ldr r3, [pc, #52] @ (8003ba4 ) + 8003b70: 6a9b ldr r3, [r3, #40] @ 0x28 + 8003b72: b29b uxth r3, r3 + 8003b74: 607b str r3, [r7, #4] second_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS)); - 8003a5e: 4b0b ldr r3, [pc, #44] @ (8003a8c ) - 8003a60: 6a9b ldr r3, [r3, #40] @ 0x28 - 8003a62: b29b uxth r3, r3 - 8003a64: 603b str r3, [r7, #0] + 8003b76: 4b0b ldr r3, [pc, #44] @ (8003ba4 ) + 8003b78: 6a9b ldr r3, [r3, #40] @ 0x28 + 8003b7a: b29b uxth r3, r3 + 8003b7c: 603b str r3, [r7, #0] while(first_read != second_read) - 8003a66: e005 b.n 8003a74 + 8003b7e: e005 b.n 8003b8c { first_read = second_read; - 8003a68: 683b ldr r3, [r7, #0] - 8003a6a: 607b str r3, [r7, #4] + 8003b80: 683b ldr r3, [r7, #0] + 8003b82: 607b str r3, [r7, #4] second_read = (uint32_t)(READ_BIT(RTC->SSR, RTC_SSR_SS)); - 8003a6c: 4b07 ldr r3, [pc, #28] @ (8003a8c ) - 8003a6e: 6a9b ldr r3, [r3, #40] @ 0x28 - 8003a70: b29b uxth r3, r3 - 8003a72: 603b str r3, [r7, #0] + 8003b84: 4b07 ldr r3, [pc, #28] @ (8003ba4 ) + 8003b86: 6a9b ldr r3, [r3, #40] @ 0x28 + 8003b88: b29b uxth r3, r3 + 8003b8a: 603b str r3, [r7, #0] while(first_read != second_read) - 8003a74: 687a ldr r2, [r7, #4] - 8003a76: 683b ldr r3, [r7, #0] - 8003a78: 429a cmp r2, r3 - 8003a7a: d1f5 bne.n 8003a68 + 8003b8c: 687a ldr r2, [r7, #4] + 8003b8e: 683b ldr r3, [r7, #0] + 8003b90: 429a cmp r2, r3 + 8003b92: d1f5 bne.n 8003b80 } return second_read; - 8003a7c: 683b ldr r3, [r7, #0] + 8003b94: 683b ldr r3, [r7, #0] } - 8003a7e: 4618 mov r0, r3 - 8003a80: 370c adds r7, #12 - 8003a82: 46bd mov sp, r7 - 8003a84: f85d 7b04 ldr.w r7, [sp], #4 - 8003a88: 4770 bx lr - 8003a8a: bf00 nop - 8003a8c: 40002800 .word 0x40002800 + 8003b96: 4618 mov r0, r3 + 8003b98: 370c adds r7, #12 + 8003b9a: 46bd mov sp, r7 + 8003b9c: f85d 7b04 ldr.w r7, [sp], #4 + 8003ba0: 4770 bx lr + 8003ba2: bf00 nop + 8003ba4: 40002800 .word 0x40002800 -08003a90 : +08003ba8 : * @param TimerID: The ID of the Timer * @param RefTimerID: The ID of the Timer to be linked after * @retval None */ static void LinkTimerAfter(uint8_t TimerID, uint8_t RefTimerID) { - 8003a90: b480 push {r7} - 8003a92: b085 sub sp, #20 - 8003a94: af00 add r7, sp, #0 - 8003a96: 4603 mov r3, r0 - 8003a98: 460a mov r2, r1 - 8003a9a: 71fb strb r3, [r7, #7] - 8003a9c: 4613 mov r3, r2 - 8003a9e: 71bb strb r3, [r7, #6] + 8003ba8: b480 push {r7} + 8003baa: b085 sub sp, #20 + 8003bac: af00 add r7, sp, #0 + 8003bae: 4603 mov r3, r0 + 8003bb0: 460a mov r2, r1 + 8003bb2: 71fb strb r3, [r7, #7] + 8003bb4: 4613 mov r3, r2 + 8003bb6: 71bb strb r3, [r7, #6] uint8_t next_id; next_id = aTimerContext[RefTimerID].NextID; - 8003aa0: 79ba ldrb r2, [r7, #6] - 8003aa2: 491d ldr r1, [pc, #116] @ (8003b18 ) - 8003aa4: 4613 mov r3, r2 - 8003aa6: 005b lsls r3, r3, #1 - 8003aa8: 4413 add r3, r2 - 8003aaa: 00db lsls r3, r3, #3 - 8003aac: 440b add r3, r1 - 8003aae: 3315 adds r3, #21 - 8003ab0: 781b ldrb r3, [r3, #0] - 8003ab2: 73fb strb r3, [r7, #15] + 8003bb8: 79ba ldrb r2, [r7, #6] + 8003bba: 491d ldr r1, [pc, #116] @ (8003c30 ) + 8003bbc: 4613 mov r3, r2 + 8003bbe: 005b lsls r3, r3, #1 + 8003bc0: 4413 add r3, r2 + 8003bc2: 00db lsls r3, r3, #3 + 8003bc4: 440b add r3, r1 + 8003bc6: 3315 adds r3, #21 + 8003bc8: 781b ldrb r3, [r3, #0] + 8003bca: 73fb strb r3, [r7, #15] if(next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) - 8003ab4: 7bfb ldrb r3, [r7, #15] - 8003ab6: 2b06 cmp r3, #6 - 8003ab8: d009 beq.n 8003ace + 8003bcc: 7bfb ldrb r3, [r7, #15] + 8003bce: 2b06 cmp r3, #6 + 8003bd0: d009 beq.n 8003be6 { aTimerContext[next_id].PreviousID = TimerID; - 8003aba: 7bfa ldrb r2, [r7, #15] - 8003abc: 4916 ldr r1, [pc, #88] @ (8003b18 ) - 8003abe: 4613 mov r3, r2 - 8003ac0: 005b lsls r3, r3, #1 - 8003ac2: 4413 add r3, r2 - 8003ac4: 00db lsls r3, r3, #3 - 8003ac6: 440b add r3, r1 - 8003ac8: 3314 adds r3, #20 - 8003aca: 79fa ldrb r2, [r7, #7] - 8003acc: 701a strb r2, [r3, #0] + 8003bd2: 7bfa ldrb r2, [r7, #15] + 8003bd4: 4916 ldr r1, [pc, #88] @ (8003c30 ) + 8003bd6: 4613 mov r3, r2 + 8003bd8: 005b lsls r3, r3, #1 + 8003bda: 4413 add r3, r2 + 8003bdc: 00db lsls r3, r3, #3 + 8003bde: 440b add r3, r1 + 8003be0: 3314 adds r3, #20 + 8003be2: 79fa ldrb r2, [r7, #7] + 8003be4: 701a strb r2, [r3, #0] } aTimerContext[TimerID].NextID = next_id; - 8003ace: 79fa ldrb r2, [r7, #7] - 8003ad0: 4911 ldr r1, [pc, #68] @ (8003b18 ) - 8003ad2: 4613 mov r3, r2 - 8003ad4: 005b lsls r3, r3, #1 - 8003ad6: 4413 add r3, r2 - 8003ad8: 00db lsls r3, r3, #3 - 8003ada: 440b add r3, r1 - 8003adc: 3315 adds r3, #21 - 8003ade: 7bfa ldrb r2, [r7, #15] - 8003ae0: 701a strb r2, [r3, #0] + 8003be6: 79fa ldrb r2, [r7, #7] + 8003be8: 4911 ldr r1, [pc, #68] @ (8003c30 ) + 8003bea: 4613 mov r3, r2 + 8003bec: 005b lsls r3, r3, #1 + 8003bee: 4413 add r3, r2 + 8003bf0: 00db lsls r3, r3, #3 + 8003bf2: 440b add r3, r1 + 8003bf4: 3315 adds r3, #21 + 8003bf6: 7bfa ldrb r2, [r7, #15] + 8003bf8: 701a strb r2, [r3, #0] aTimerContext[TimerID].PreviousID = RefTimerID ; - 8003ae2: 79fa ldrb r2, [r7, #7] - 8003ae4: 490c ldr r1, [pc, #48] @ (8003b18 ) - 8003ae6: 4613 mov r3, r2 - 8003ae8: 005b lsls r3, r3, #1 - 8003aea: 4413 add r3, r2 - 8003aec: 00db lsls r3, r3, #3 - 8003aee: 440b add r3, r1 - 8003af0: 3314 adds r3, #20 - 8003af2: 79ba ldrb r2, [r7, #6] - 8003af4: 701a strb r2, [r3, #0] + 8003bfa: 79fa ldrb r2, [r7, #7] + 8003bfc: 490c ldr r1, [pc, #48] @ (8003c30 ) + 8003bfe: 4613 mov r3, r2 + 8003c00: 005b lsls r3, r3, #1 + 8003c02: 4413 add r3, r2 + 8003c04: 00db lsls r3, r3, #3 + 8003c06: 440b add r3, r1 + 8003c08: 3314 adds r3, #20 + 8003c0a: 79ba ldrb r2, [r7, #6] + 8003c0c: 701a strb r2, [r3, #0] aTimerContext[RefTimerID].NextID = TimerID; - 8003af6: 79ba ldrb r2, [r7, #6] - 8003af8: 4907 ldr r1, [pc, #28] @ (8003b18 ) - 8003afa: 4613 mov r3, r2 - 8003afc: 005b lsls r3, r3, #1 - 8003afe: 4413 add r3, r2 - 8003b00: 00db lsls r3, r3, #3 - 8003b02: 440b add r3, r1 - 8003b04: 3315 adds r3, #21 - 8003b06: 79fa ldrb r2, [r7, #7] - 8003b08: 701a strb r2, [r3, #0] + 8003c0e: 79ba ldrb r2, [r7, #6] + 8003c10: 4907 ldr r1, [pc, #28] @ (8003c30 ) + 8003c12: 4613 mov r3, r2 + 8003c14: 005b lsls r3, r3, #1 + 8003c16: 4413 add r3, r2 + 8003c18: 00db lsls r3, r3, #3 + 8003c1a: 440b add r3, r1 + 8003c1c: 3315 adds r3, #21 + 8003c1e: 79fa ldrb r2, [r7, #7] + 8003c20: 701a strb r2, [r3, #0] return; - 8003b0a: bf00 nop + 8003c22: bf00 nop } - 8003b0c: 3714 adds r7, #20 - 8003b0e: 46bd mov sp, r7 - 8003b10: f85d 7b04 ldr.w r7, [sp], #4 - 8003b14: 4770 bx lr - 8003b16: bf00 nop - 8003b18: 20000314 .word 0x20000314 + 8003c24: 3714 adds r7, #20 + 8003c26: 46bd mov sp, r7 + 8003c28: f85d 7b04 ldr.w r7, [sp], #4 + 8003c2c: 4770 bx lr + 8003c2e: bf00 nop + 8003c30: 20000314 .word 0x20000314 -08003b1c : +08003c34 : * @param TimerID: The ID of the Timer * @param RefTimerID: The ID of the Timer to be linked before * @retval None */ static void LinkTimerBefore(uint8_t TimerID, uint8_t RefTimerID) { - 8003b1c: b480 push {r7} - 8003b1e: b085 sub sp, #20 - 8003b20: af00 add r7, sp, #0 - 8003b22: 4603 mov r3, r0 - 8003b24: 460a mov r2, r1 - 8003b26: 71fb strb r3, [r7, #7] - 8003b28: 4613 mov r3, r2 - 8003b2a: 71bb strb r3, [r7, #6] + 8003c34: b480 push {r7} + 8003c36: b085 sub sp, #20 + 8003c38: af00 add r7, sp, #0 + 8003c3a: 4603 mov r3, r0 + 8003c3c: 460a mov r2, r1 + 8003c3e: 71fb strb r3, [r7, #7] + 8003c40: 4613 mov r3, r2 + 8003c42: 71bb strb r3, [r7, #6] uint8_t previous_id; if(RefTimerID != CurrentRunningTimerID) - 8003b2c: 4b29 ldr r3, [pc, #164] @ (8003bd4 ) - 8003b2e: 781b ldrb r3, [r3, #0] - 8003b30: b2db uxtb r3, r3 - 8003b32: 79ba ldrb r2, [r7, #6] - 8003b34: 429a cmp r2, r3 - 8003b36: d032 beq.n 8003b9e + 8003c44: 4b29 ldr r3, [pc, #164] @ (8003cec ) + 8003c46: 781b ldrb r3, [r3, #0] + 8003c48: b2db uxtb r3, r3 + 8003c4a: 79ba ldrb r2, [r7, #6] + 8003c4c: 429a cmp r2, r3 + 8003c4e: d032 beq.n 8003cb6 { previous_id = aTimerContext[RefTimerID].PreviousID; - 8003b38: 79ba ldrb r2, [r7, #6] - 8003b3a: 4927 ldr r1, [pc, #156] @ (8003bd8 ) - 8003b3c: 4613 mov r3, r2 - 8003b3e: 005b lsls r3, r3, #1 - 8003b40: 4413 add r3, r2 - 8003b42: 00db lsls r3, r3, #3 - 8003b44: 440b add r3, r1 - 8003b46: 3314 adds r3, #20 - 8003b48: 781b ldrb r3, [r3, #0] - 8003b4a: 73fb strb r3, [r7, #15] + 8003c50: 79ba ldrb r2, [r7, #6] + 8003c52: 4927 ldr r1, [pc, #156] @ (8003cf0 ) + 8003c54: 4613 mov r3, r2 + 8003c56: 005b lsls r3, r3, #1 + 8003c58: 4413 add r3, r2 + 8003c5a: 00db lsls r3, r3, #3 + 8003c5c: 440b add r3, r1 + 8003c5e: 3314 adds r3, #20 + 8003c60: 781b ldrb r3, [r3, #0] + 8003c62: 73fb strb r3, [r7, #15] aTimerContext[previous_id].NextID = TimerID; - 8003b4c: 7bfa ldrb r2, [r7, #15] - 8003b4e: 4922 ldr r1, [pc, #136] @ (8003bd8 ) - 8003b50: 4613 mov r3, r2 - 8003b52: 005b lsls r3, r3, #1 - 8003b54: 4413 add r3, r2 - 8003b56: 00db lsls r3, r3, #3 - 8003b58: 440b add r3, r1 - 8003b5a: 3315 adds r3, #21 - 8003b5c: 79fa ldrb r2, [r7, #7] - 8003b5e: 701a strb r2, [r3, #0] + 8003c64: 7bfa ldrb r2, [r7, #15] + 8003c66: 4922 ldr r1, [pc, #136] @ (8003cf0 ) + 8003c68: 4613 mov r3, r2 + 8003c6a: 005b lsls r3, r3, #1 + 8003c6c: 4413 add r3, r2 + 8003c6e: 00db lsls r3, r3, #3 + 8003c70: 440b add r3, r1 + 8003c72: 3315 adds r3, #21 + 8003c74: 79fa ldrb r2, [r7, #7] + 8003c76: 701a strb r2, [r3, #0] aTimerContext[TimerID].NextID = RefTimerID; - 8003b60: 79fa ldrb r2, [r7, #7] - 8003b62: 491d ldr r1, [pc, #116] @ (8003bd8 ) - 8003b64: 4613 mov r3, r2 - 8003b66: 005b lsls r3, r3, #1 - 8003b68: 4413 add r3, r2 - 8003b6a: 00db lsls r3, r3, #3 - 8003b6c: 440b add r3, r1 - 8003b6e: 3315 adds r3, #21 - 8003b70: 79ba ldrb r2, [r7, #6] - 8003b72: 701a strb r2, [r3, #0] + 8003c78: 79fa ldrb r2, [r7, #7] + 8003c7a: 491d ldr r1, [pc, #116] @ (8003cf0 ) + 8003c7c: 4613 mov r3, r2 + 8003c7e: 005b lsls r3, r3, #1 + 8003c80: 4413 add r3, r2 + 8003c82: 00db lsls r3, r3, #3 + 8003c84: 440b add r3, r1 + 8003c86: 3315 adds r3, #21 + 8003c88: 79ba ldrb r2, [r7, #6] + 8003c8a: 701a strb r2, [r3, #0] aTimerContext[TimerID].PreviousID = previous_id ; - 8003b74: 79fa ldrb r2, [r7, #7] - 8003b76: 4918 ldr r1, [pc, #96] @ (8003bd8 ) - 8003b78: 4613 mov r3, r2 - 8003b7a: 005b lsls r3, r3, #1 - 8003b7c: 4413 add r3, r2 - 8003b7e: 00db lsls r3, r3, #3 - 8003b80: 440b add r3, r1 - 8003b82: 3314 adds r3, #20 - 8003b84: 7bfa ldrb r2, [r7, #15] - 8003b86: 701a strb r2, [r3, #0] + 8003c8c: 79fa ldrb r2, [r7, #7] + 8003c8e: 4918 ldr r1, [pc, #96] @ (8003cf0 ) + 8003c90: 4613 mov r3, r2 + 8003c92: 005b lsls r3, r3, #1 + 8003c94: 4413 add r3, r2 + 8003c96: 00db lsls r3, r3, #3 + 8003c98: 440b add r3, r1 + 8003c9a: 3314 adds r3, #20 + 8003c9c: 7bfa ldrb r2, [r7, #15] + 8003c9e: 701a strb r2, [r3, #0] aTimerContext[RefTimerID].PreviousID = TimerID; - 8003b88: 79ba ldrb r2, [r7, #6] - 8003b8a: 4913 ldr r1, [pc, #76] @ (8003bd8 ) - 8003b8c: 4613 mov r3, r2 - 8003b8e: 005b lsls r3, r3, #1 - 8003b90: 4413 add r3, r2 - 8003b92: 00db lsls r3, r3, #3 - 8003b94: 440b add r3, r1 - 8003b96: 3314 adds r3, #20 - 8003b98: 79fa ldrb r2, [r7, #7] - 8003b9a: 701a strb r2, [r3, #0] + 8003ca0: 79ba ldrb r2, [r7, #6] + 8003ca2: 4913 ldr r1, [pc, #76] @ (8003cf0 ) + 8003ca4: 4613 mov r3, r2 + 8003ca6: 005b lsls r3, r3, #1 + 8003ca8: 4413 add r3, r2 + 8003caa: 00db lsls r3, r3, #3 + 8003cac: 440b add r3, r1 + 8003cae: 3314 adds r3, #20 + 8003cb0: 79fa ldrb r2, [r7, #7] + 8003cb2: 701a strb r2, [r3, #0] { aTimerContext[TimerID].NextID = RefTimerID; aTimerContext[RefTimerID].PreviousID = TimerID; } return; - 8003b9c: e014 b.n 8003bc8 + 8003cb4: e014 b.n 8003ce0 aTimerContext[TimerID].NextID = RefTimerID; - 8003b9e: 79fa ldrb r2, [r7, #7] - 8003ba0: 490d ldr r1, [pc, #52] @ (8003bd8 ) - 8003ba2: 4613 mov r3, r2 - 8003ba4: 005b lsls r3, r3, #1 - 8003ba6: 4413 add r3, r2 - 8003ba8: 00db lsls r3, r3, #3 - 8003baa: 440b add r3, r1 - 8003bac: 3315 adds r3, #21 - 8003bae: 79ba ldrb r2, [r7, #6] - 8003bb0: 701a strb r2, [r3, #0] + 8003cb6: 79fa ldrb r2, [r7, #7] + 8003cb8: 490d ldr r1, [pc, #52] @ (8003cf0 ) + 8003cba: 4613 mov r3, r2 + 8003cbc: 005b lsls r3, r3, #1 + 8003cbe: 4413 add r3, r2 + 8003cc0: 00db lsls r3, r3, #3 + 8003cc2: 440b add r3, r1 + 8003cc4: 3315 adds r3, #21 + 8003cc6: 79ba ldrb r2, [r7, #6] + 8003cc8: 701a strb r2, [r3, #0] aTimerContext[RefTimerID].PreviousID = TimerID; - 8003bb2: 79ba ldrb r2, [r7, #6] - 8003bb4: 4908 ldr r1, [pc, #32] @ (8003bd8 ) - 8003bb6: 4613 mov r3, r2 - 8003bb8: 005b lsls r3, r3, #1 - 8003bba: 4413 add r3, r2 - 8003bbc: 00db lsls r3, r3, #3 - 8003bbe: 440b add r3, r1 - 8003bc0: 3314 adds r3, #20 - 8003bc2: 79fa ldrb r2, [r7, #7] - 8003bc4: 701a strb r2, [r3, #0] + 8003cca: 79ba ldrb r2, [r7, #6] + 8003ccc: 4908 ldr r1, [pc, #32] @ (8003cf0 ) + 8003cce: 4613 mov r3, r2 + 8003cd0: 005b lsls r3, r3, #1 + 8003cd2: 4413 add r3, r2 + 8003cd4: 00db lsls r3, r3, #3 + 8003cd6: 440b add r3, r1 + 8003cd8: 3314 adds r3, #20 + 8003cda: 79fa ldrb r2, [r7, #7] + 8003cdc: 701a strb r2, [r3, #0] return; - 8003bc6: bf00 nop + 8003cde: bf00 nop } - 8003bc8: 3714 adds r7, #20 - 8003bca: 46bd mov sp, r7 - 8003bcc: f85d 7b04 ldr.w r7, [sp], #4 - 8003bd0: 4770 bx lr - 8003bd2: bf00 nop - 8003bd4: 200003a4 .word 0x200003a4 - 8003bd8: 20000314 .word 0x20000314 + 8003ce0: 3714 adds r7, #20 + 8003ce2: 46bd mov sp, r7 + 8003ce4: f85d 7b04 ldr.w r7, [sp], #4 + 8003ce8: 4770 bx lr + 8003cea: bf00 nop + 8003cec: 200003a4 .word 0x200003a4 + 8003cf0: 20000314 .word 0x20000314 -08003bdc : +08003cf4 : * @brief Insert a Timer in the list * @param TimerID: The ID of the Timer * @retval None */ static uint16_t linkTimer(uint8_t TimerID) { - 8003bdc: b580 push {r7, lr} - 8003bde: b084 sub sp, #16 - 8003be0: af00 add r7, sp, #0 - 8003be2: 4603 mov r3, r0 - 8003be4: 71fb strb r3, [r7, #7] + 8003cf4: b580 push {r7, lr} + 8003cf6: b084 sub sp, #16 + 8003cf8: af00 add r7, sp, #0 + 8003cfa: 4603 mov r3, r0 + 8003cfc: 71fb strb r3, [r7, #7] uint32_t time_left; uint16_t time_elapsed; uint8_t timer_id_lookup; uint8_t next_id; if(CurrentRunningTimerID == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) - 8003be6: 4b4e ldr r3, [pc, #312] @ (8003d20 ) - 8003be8: 781b ldrb r3, [r3, #0] - 8003bea: b2db uxtb r3, r3 - 8003bec: 2b06 cmp r3, #6 - 8003bee: d118 bne.n 8003c22 + 8003cfe: 4b4e ldr r3, [pc, #312] @ (8003e38 ) + 8003d00: 781b ldrb r3, [r3, #0] + 8003d02: b2db uxtb r3, r3 + 8003d04: 2b06 cmp r3, #6 + 8003d06: d118 bne.n 8003d3a { /** * No timer in the list */ PreviousRunningTimerID = CurrentRunningTimerID; - 8003bf0: 4b4b ldr r3, [pc, #300] @ (8003d20 ) - 8003bf2: 781b ldrb r3, [r3, #0] - 8003bf4: b2da uxtb r2, r3 - 8003bf6: 4b4b ldr r3, [pc, #300] @ (8003d24 ) - 8003bf8: 701a strb r2, [r3, #0] + 8003d08: 4b4b ldr r3, [pc, #300] @ (8003e38 ) + 8003d0a: 781b ldrb r3, [r3, #0] + 8003d0c: b2da uxtb r2, r3 + 8003d0e: 4b4b ldr r3, [pc, #300] @ (8003e3c ) + 8003d10: 701a strb r2, [r3, #0] CurrentRunningTimerID = TimerID; - 8003bfa: 4a49 ldr r2, [pc, #292] @ (8003d20 ) - 8003bfc: 79fb ldrb r3, [r7, #7] - 8003bfe: 7013 strb r3, [r2, #0] + 8003d12: 4a49 ldr r2, [pc, #292] @ (8003e38 ) + 8003d14: 79fb ldrb r3, [r7, #7] + 8003d16: 7013 strb r3, [r2, #0] aTimerContext[TimerID].NextID = CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER; - 8003c00: 79fa ldrb r2, [r7, #7] - 8003c02: 4949 ldr r1, [pc, #292] @ (8003d28 ) - 8003c04: 4613 mov r3, r2 - 8003c06: 005b lsls r3, r3, #1 - 8003c08: 4413 add r3, r2 - 8003c0a: 00db lsls r3, r3, #3 - 8003c0c: 440b add r3, r1 - 8003c0e: 3315 adds r3, #21 - 8003c10: 2206 movs r2, #6 - 8003c12: 701a strb r2, [r3, #0] + 8003d18: 79fa ldrb r2, [r7, #7] + 8003d1a: 4949 ldr r1, [pc, #292] @ (8003e40 ) + 8003d1c: 4613 mov r3, r2 + 8003d1e: 005b lsls r3, r3, #1 + 8003d20: 4413 add r3, r2 + 8003d22: 00db lsls r3, r3, #3 + 8003d24: 440b add r3, r1 + 8003d26: 3315 adds r3, #21 + 8003d28: 2206 movs r2, #6 + 8003d2a: 701a strb r2, [r3, #0] SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE; - 8003c14: 4b45 ldr r3, [pc, #276] @ (8003d2c ) - 8003c16: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8003c1a: 601a str r2, [r3, #0] + 8003d2c: 4b45 ldr r3, [pc, #276] @ (8003e44 ) + 8003d2e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8003d32: 601a str r2, [r3, #0] time_elapsed = 0; - 8003c1c: 2300 movs r3, #0 - 8003c1e: 81fb strh r3, [r7, #14] - 8003c20: e078 b.n 8003d14 + 8003d34: 2300 movs r3, #0 + 8003d36: 81fb strh r3, [r7, #14] + 8003d38: e078 b.n 8003e2c } else { time_elapsed = ReturnTimeElapsed(); - 8003c22: f000 f909 bl 8003e38 - 8003c26: 4603 mov r3, r0 - 8003c28: 81fb strh r3, [r7, #14] + 8003d3a: f000 f909 bl 8003f50 + 8003d3e: 4603 mov r3, r0 + 8003d40: 81fb strh r3, [r7, #14] /** * update count of the timer to be linked */ aTimerContext[TimerID].CountLeft += time_elapsed; - 8003c2a: 79fa ldrb r2, [r7, #7] - 8003c2c: 493e ldr r1, [pc, #248] @ (8003d28 ) - 8003c2e: 4613 mov r3, r2 - 8003c30: 005b lsls r3, r3, #1 - 8003c32: 4413 add r3, r2 - 8003c34: 00db lsls r3, r3, #3 - 8003c36: 440b add r3, r1 - 8003c38: 3308 adds r3, #8 - 8003c3a: 6819 ldr r1, [r3, #0] - 8003c3c: 89fb ldrh r3, [r7, #14] - 8003c3e: 79fa ldrb r2, [r7, #7] - 8003c40: 4419 add r1, r3 - 8003c42: 4839 ldr r0, [pc, #228] @ (8003d28 ) - 8003c44: 4613 mov r3, r2 - 8003c46: 005b lsls r3, r3, #1 - 8003c48: 4413 add r3, r2 - 8003c4a: 00db lsls r3, r3, #3 - 8003c4c: 4403 add r3, r0 - 8003c4e: 3308 adds r3, #8 - 8003c50: 6019 str r1, [r3, #0] + 8003d42: 79fa ldrb r2, [r7, #7] + 8003d44: 493e ldr r1, [pc, #248] @ (8003e40 ) + 8003d46: 4613 mov r3, r2 + 8003d48: 005b lsls r3, r3, #1 + 8003d4a: 4413 add r3, r2 + 8003d4c: 00db lsls r3, r3, #3 + 8003d4e: 440b add r3, r1 + 8003d50: 3308 adds r3, #8 + 8003d52: 6819 ldr r1, [r3, #0] + 8003d54: 89fb ldrh r3, [r7, #14] + 8003d56: 79fa ldrb r2, [r7, #7] + 8003d58: 4419 add r1, r3 + 8003d5a: 4839 ldr r0, [pc, #228] @ (8003e40 ) + 8003d5c: 4613 mov r3, r2 + 8003d5e: 005b lsls r3, r3, #1 + 8003d60: 4413 add r3, r2 + 8003d62: 00db lsls r3, r3, #3 + 8003d64: 4403 add r3, r0 + 8003d66: 3308 adds r3, #8 + 8003d68: 6019 str r1, [r3, #0] time_left = aTimerContext[TimerID].CountLeft; - 8003c52: 79fa ldrb r2, [r7, #7] - 8003c54: 4934 ldr r1, [pc, #208] @ (8003d28 ) - 8003c56: 4613 mov r3, r2 - 8003c58: 005b lsls r3, r3, #1 - 8003c5a: 4413 add r3, r2 - 8003c5c: 00db lsls r3, r3, #3 - 8003c5e: 440b add r3, r1 - 8003c60: 3308 adds r3, #8 - 8003c62: 681b ldr r3, [r3, #0] - 8003c64: 60bb str r3, [r7, #8] + 8003d6a: 79fa ldrb r2, [r7, #7] + 8003d6c: 4934 ldr r1, [pc, #208] @ (8003e40 ) + 8003d6e: 4613 mov r3, r2 + 8003d70: 005b lsls r3, r3, #1 + 8003d72: 4413 add r3, r2 + 8003d74: 00db lsls r3, r3, #3 + 8003d76: 440b add r3, r1 + 8003d78: 3308 adds r3, #8 + 8003d7a: 681b ldr r3, [r3, #0] + 8003d7c: 60bb str r3, [r7, #8] /** * Search for index where the new timer shall be linked */ if(aTimerContext[CurrentRunningTimerID].CountLeft <= time_left) - 8003c66: 4b2e ldr r3, [pc, #184] @ (8003d20 ) - 8003c68: 781b ldrb r3, [r3, #0] - 8003c6a: b2db uxtb r3, r3 - 8003c6c: 4619 mov r1, r3 - 8003c6e: 4a2e ldr r2, [pc, #184] @ (8003d28 ) - 8003c70: 460b mov r3, r1 - 8003c72: 005b lsls r3, r3, #1 - 8003c74: 440b add r3, r1 - 8003c76: 00db lsls r3, r3, #3 - 8003c78: 4413 add r3, r2 - 8003c7a: 3308 adds r3, #8 - 8003c7c: 681b ldr r3, [r3, #0] - 8003c7e: 68ba ldr r2, [r7, #8] - 8003c80: 429a cmp r2, r3 - 8003c82: d337 bcc.n 8003cf4 + 8003d7e: 4b2e ldr r3, [pc, #184] @ (8003e38 ) + 8003d80: 781b ldrb r3, [r3, #0] + 8003d82: b2db uxtb r3, r3 + 8003d84: 4619 mov r1, r3 + 8003d86: 4a2e ldr r2, [pc, #184] @ (8003e40 ) + 8003d88: 460b mov r3, r1 + 8003d8a: 005b lsls r3, r3, #1 + 8003d8c: 440b add r3, r1 + 8003d8e: 00db lsls r3, r3, #3 + 8003d90: 4413 add r3, r2 + 8003d92: 3308 adds r3, #8 + 8003d94: 681b ldr r3, [r3, #0] + 8003d96: 68ba ldr r2, [r7, #8] + 8003d98: 429a cmp r2, r3 + 8003d9a: d337 bcc.n 8003e0c { /** * Search for the ID after the first one */ timer_id_lookup = CurrentRunningTimerID; - 8003c84: 4b26 ldr r3, [pc, #152] @ (8003d20 ) - 8003c86: 781b ldrb r3, [r3, #0] - 8003c88: 737b strb r3, [r7, #13] + 8003d9c: 4b26 ldr r3, [pc, #152] @ (8003e38 ) + 8003d9e: 781b ldrb r3, [r3, #0] + 8003da0: 737b strb r3, [r7, #13] next_id = aTimerContext[timer_id_lookup].NextID; - 8003c8a: 7b7a ldrb r2, [r7, #13] - 8003c8c: 4926 ldr r1, [pc, #152] @ (8003d28 ) - 8003c8e: 4613 mov r3, r2 - 8003c90: 005b lsls r3, r3, #1 - 8003c92: 4413 add r3, r2 - 8003c94: 00db lsls r3, r3, #3 - 8003c96: 440b add r3, r1 - 8003c98: 3315 adds r3, #21 - 8003c9a: 781b ldrb r3, [r3, #0] - 8003c9c: 733b strb r3, [r7, #12] + 8003da2: 7b7a ldrb r2, [r7, #13] + 8003da4: 4926 ldr r1, [pc, #152] @ (8003e40 ) + 8003da6: 4613 mov r3, r2 + 8003da8: 005b lsls r3, r3, #1 + 8003daa: 4413 add r3, r2 + 8003dac: 00db lsls r3, r3, #3 + 8003dae: 440b add r3, r1 + 8003db0: 3315 adds r3, #21 + 8003db2: 781b ldrb r3, [r3, #0] + 8003db4: 733b strb r3, [r7, #12] while((next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (aTimerContext[next_id].CountLeft <= time_left)) - 8003c9e: e013 b.n 8003cc8 + 8003db6: e013 b.n 8003de0 { timer_id_lookup = aTimerContext[timer_id_lookup].NextID; - 8003ca0: 7b7a ldrb r2, [r7, #13] - 8003ca2: 4921 ldr r1, [pc, #132] @ (8003d28 ) - 8003ca4: 4613 mov r3, r2 - 8003ca6: 005b lsls r3, r3, #1 - 8003ca8: 4413 add r3, r2 - 8003caa: 00db lsls r3, r3, #3 - 8003cac: 440b add r3, r1 - 8003cae: 3315 adds r3, #21 - 8003cb0: 781b ldrb r3, [r3, #0] - 8003cb2: 737b strb r3, [r7, #13] + 8003db8: 7b7a ldrb r2, [r7, #13] + 8003dba: 4921 ldr r1, [pc, #132] @ (8003e40 ) + 8003dbc: 4613 mov r3, r2 + 8003dbe: 005b lsls r3, r3, #1 + 8003dc0: 4413 add r3, r2 + 8003dc2: 00db lsls r3, r3, #3 + 8003dc4: 440b add r3, r1 + 8003dc6: 3315 adds r3, #21 + 8003dc8: 781b ldrb r3, [r3, #0] + 8003dca: 737b strb r3, [r7, #13] next_id = aTimerContext[timer_id_lookup].NextID; - 8003cb4: 7b7a ldrb r2, [r7, #13] - 8003cb6: 491c ldr r1, [pc, #112] @ (8003d28 ) - 8003cb8: 4613 mov r3, r2 - 8003cba: 005b lsls r3, r3, #1 - 8003cbc: 4413 add r3, r2 - 8003cbe: 00db lsls r3, r3, #3 - 8003cc0: 440b add r3, r1 - 8003cc2: 3315 adds r3, #21 - 8003cc4: 781b ldrb r3, [r3, #0] - 8003cc6: 733b strb r3, [r7, #12] + 8003dcc: 7b7a ldrb r2, [r7, #13] + 8003dce: 491c ldr r1, [pc, #112] @ (8003e40 ) + 8003dd0: 4613 mov r3, r2 + 8003dd2: 005b lsls r3, r3, #1 + 8003dd4: 4413 add r3, r2 + 8003dd6: 00db lsls r3, r3, #3 + 8003dd8: 440b add r3, r1 + 8003dda: 3315 adds r3, #21 + 8003ddc: 781b ldrb r3, [r3, #0] + 8003dde: 733b strb r3, [r7, #12] while((next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (aTimerContext[next_id].CountLeft <= time_left)) - 8003cc8: 7b3b ldrb r3, [r7, #12] - 8003cca: 2b06 cmp r3, #6 - 8003ccc: d00b beq.n 8003ce6 - 8003cce: 7b3a ldrb r2, [r7, #12] - 8003cd0: 4915 ldr r1, [pc, #84] @ (8003d28 ) - 8003cd2: 4613 mov r3, r2 - 8003cd4: 005b lsls r3, r3, #1 - 8003cd6: 4413 add r3, r2 - 8003cd8: 00db lsls r3, r3, #3 - 8003cda: 440b add r3, r1 - 8003cdc: 3308 adds r3, #8 - 8003cde: 681b ldr r3, [r3, #0] - 8003ce0: 68ba ldr r2, [r7, #8] - 8003ce2: 429a cmp r2, r3 - 8003ce4: d2dc bcs.n 8003ca0 + 8003de0: 7b3b ldrb r3, [r7, #12] + 8003de2: 2b06 cmp r3, #6 + 8003de4: d00b beq.n 8003dfe + 8003de6: 7b3a ldrb r2, [r7, #12] + 8003de8: 4915 ldr r1, [pc, #84] @ (8003e40 ) + 8003dea: 4613 mov r3, r2 + 8003dec: 005b lsls r3, r3, #1 + 8003dee: 4413 add r3, r2 + 8003df0: 00db lsls r3, r3, #3 + 8003df2: 440b add r3, r1 + 8003df4: 3308 adds r3, #8 + 8003df6: 681b ldr r3, [r3, #0] + 8003df8: 68ba ldr r2, [r7, #8] + 8003dfa: 429a cmp r2, r3 + 8003dfc: d2dc bcs.n 8003db8 } /** * Link after the ID */ LinkTimerAfter(TimerID, timer_id_lookup); - 8003ce6: 7b7a ldrb r2, [r7, #13] - 8003ce8: 79fb ldrb r3, [r7, #7] - 8003cea: 4611 mov r1, r2 - 8003cec: 4618 mov r0, r3 - 8003cee: f7ff fecf bl 8003a90 - 8003cf2: e00f b.n 8003d14 + 8003dfe: 7b7a ldrb r2, [r7, #13] + 8003e00: 79fb ldrb r3, [r7, #7] + 8003e02: 4611 mov r1, r2 + 8003e04: 4618 mov r0, r3 + 8003e06: f7ff fecf bl 8003ba8 + 8003e0a: e00f b.n 8003e2c else { /** * Link before the first ID */ LinkTimerBefore(TimerID, CurrentRunningTimerID); - 8003cf4: 4b0a ldr r3, [pc, #40] @ (8003d20 ) - 8003cf6: 781b ldrb r3, [r3, #0] - 8003cf8: b2da uxtb r2, r3 - 8003cfa: 79fb ldrb r3, [r7, #7] - 8003cfc: 4611 mov r1, r2 - 8003cfe: 4618 mov r0, r3 - 8003d00: f7ff ff0c bl 8003b1c + 8003e0c: 4b0a ldr r3, [pc, #40] @ (8003e38 ) + 8003e0e: 781b ldrb r3, [r3, #0] + 8003e10: b2da uxtb r2, r3 + 8003e12: 79fb ldrb r3, [r7, #7] + 8003e14: 4611 mov r1, r2 + 8003e16: 4618 mov r0, r3 + 8003e18: f7ff ff0c bl 8003c34 PreviousRunningTimerID = CurrentRunningTimerID; - 8003d04: 4b06 ldr r3, [pc, #24] @ (8003d20 ) - 8003d06: 781b ldrb r3, [r3, #0] - 8003d08: b2da uxtb r2, r3 - 8003d0a: 4b06 ldr r3, [pc, #24] @ (8003d24 ) - 8003d0c: 701a strb r2, [r3, #0] + 8003e1c: 4b06 ldr r3, [pc, #24] @ (8003e38 ) + 8003e1e: 781b ldrb r3, [r3, #0] + 8003e20: b2da uxtb r2, r3 + 8003e22: 4b06 ldr r3, [pc, #24] @ (8003e3c ) + 8003e24: 701a strb r2, [r3, #0] CurrentRunningTimerID = TimerID; - 8003d0e: 4a04 ldr r2, [pc, #16] @ (8003d20 ) - 8003d10: 79fb ldrb r3, [r7, #7] - 8003d12: 7013 strb r3, [r2, #0] + 8003e26: 4a04 ldr r2, [pc, #16] @ (8003e38 ) + 8003e28: 79fb ldrb r3, [r7, #7] + 8003e2a: 7013 strb r3, [r2, #0] } } return time_elapsed; - 8003d14: 89fb ldrh r3, [r7, #14] + 8003e2c: 89fb ldrh r3, [r7, #14] } - 8003d16: 4618 mov r0, r3 - 8003d18: 3710 adds r7, #16 - 8003d1a: 46bd mov sp, r7 - 8003d1c: bd80 pop {r7, pc} - 8003d1e: bf00 nop - 8003d20: 200003a4 .word 0x200003a4 - 8003d24: 200003a5 .word 0x200003a5 - 8003d28: 20000314 .word 0x20000314 - 8003d2c: 200003a8 .word 0x200003a8 + 8003e2e: 4618 mov r0, r3 + 8003e30: 3710 adds r7, #16 + 8003e32: 46bd mov sp, r7 + 8003e34: bd80 pop {r7, pc} + 8003e36: bf00 nop + 8003e38: 200003a4 .word 0x200003a4 + 8003e3c: 200003a5 .word 0x200003a5 + 8003e40: 20000314 .word 0x20000314 + 8003e44: 200003a8 .word 0x200003a8 -08003d30 : +08003e48 : * @param TimerID: The ID of the Timer * @param RequestReadSSR: Request to read the SSR register or not * @retval None */ static void UnlinkTimer(uint8_t TimerID, RequestReadSSR_t RequestReadSSR) { - 8003d30: b480 push {r7} - 8003d32: b085 sub sp, #20 - 8003d34: af00 add r7, sp, #0 - 8003d36: 4603 mov r3, r0 - 8003d38: 460a mov r2, r1 - 8003d3a: 71fb strb r3, [r7, #7] - 8003d3c: 4613 mov r3, r2 - 8003d3e: 71bb strb r3, [r7, #6] + 8003e48: b480 push {r7} + 8003e4a: b085 sub sp, #20 + 8003e4c: af00 add r7, sp, #0 + 8003e4e: 4603 mov r3, r0 + 8003e50: 460a mov r2, r1 + 8003e52: 71fb strb r3, [r7, #7] + 8003e54: 4613 mov r3, r2 + 8003e56: 71bb strb r3, [r7, #6] uint8_t previous_id; uint8_t next_id; if(TimerID == CurrentRunningTimerID) - 8003d40: 4b39 ldr r3, [pc, #228] @ (8003e28 ) - 8003d42: 781b ldrb r3, [r3, #0] - 8003d44: b2db uxtb r3, r3 - 8003d46: 79fa ldrb r2, [r7, #7] - 8003d48: 429a cmp r2, r3 - 8003d4a: d111 bne.n 8003d70 + 8003e58: 4b39 ldr r3, [pc, #228] @ (8003f40 ) + 8003e5a: 781b ldrb r3, [r3, #0] + 8003e5c: b2db uxtb r3, r3 + 8003e5e: 79fa ldrb r2, [r7, #7] + 8003e60: 429a cmp r2, r3 + 8003e62: d111 bne.n 8003e88 { PreviousRunningTimerID = CurrentRunningTimerID; - 8003d4c: 4b36 ldr r3, [pc, #216] @ (8003e28 ) - 8003d4e: 781b ldrb r3, [r3, #0] - 8003d50: b2da uxtb r2, r3 - 8003d52: 4b36 ldr r3, [pc, #216] @ (8003e2c ) - 8003d54: 701a strb r2, [r3, #0] + 8003e64: 4b36 ldr r3, [pc, #216] @ (8003f40 ) + 8003e66: 781b ldrb r3, [r3, #0] + 8003e68: b2da uxtb r2, r3 + 8003e6a: 4b36 ldr r3, [pc, #216] @ (8003f44 ) + 8003e6c: 701a strb r2, [r3, #0] CurrentRunningTimerID = aTimerContext[TimerID].NextID; - 8003d56: 79fa ldrb r2, [r7, #7] - 8003d58: 4935 ldr r1, [pc, #212] @ (8003e30 ) - 8003d5a: 4613 mov r3, r2 - 8003d5c: 005b lsls r3, r3, #1 - 8003d5e: 4413 add r3, r2 - 8003d60: 00db lsls r3, r3, #3 - 8003d62: 440b add r3, r1 - 8003d64: 3315 adds r3, #21 - 8003d66: 781b ldrb r3, [r3, #0] - 8003d68: b2da uxtb r2, r3 - 8003d6a: 4b2f ldr r3, [pc, #188] @ (8003e28 ) - 8003d6c: 701a strb r2, [r3, #0] - 8003d6e: e03e b.n 8003dee + 8003e6e: 79fa ldrb r2, [r7, #7] + 8003e70: 4935 ldr r1, [pc, #212] @ (8003f48 ) + 8003e72: 4613 mov r3, r2 + 8003e74: 005b lsls r3, r3, #1 + 8003e76: 4413 add r3, r2 + 8003e78: 00db lsls r3, r3, #3 + 8003e7a: 440b add r3, r1 + 8003e7c: 3315 adds r3, #21 + 8003e7e: 781b ldrb r3, [r3, #0] + 8003e80: b2da uxtb r2, r3 + 8003e82: 4b2f ldr r3, [pc, #188] @ (8003f40 ) + 8003e84: 701a strb r2, [r3, #0] + 8003e86: e03e b.n 8003f06 } else { previous_id = aTimerContext[TimerID].PreviousID; - 8003d70: 79fa ldrb r2, [r7, #7] - 8003d72: 492f ldr r1, [pc, #188] @ (8003e30 ) - 8003d74: 4613 mov r3, r2 - 8003d76: 005b lsls r3, r3, #1 - 8003d78: 4413 add r3, r2 - 8003d7a: 00db lsls r3, r3, #3 - 8003d7c: 440b add r3, r1 - 8003d7e: 3314 adds r3, #20 - 8003d80: 781b ldrb r3, [r3, #0] - 8003d82: 73fb strb r3, [r7, #15] + 8003e88: 79fa ldrb r2, [r7, #7] + 8003e8a: 492f ldr r1, [pc, #188] @ (8003f48 ) + 8003e8c: 4613 mov r3, r2 + 8003e8e: 005b lsls r3, r3, #1 + 8003e90: 4413 add r3, r2 + 8003e92: 00db lsls r3, r3, #3 + 8003e94: 440b add r3, r1 + 8003e96: 3314 adds r3, #20 + 8003e98: 781b ldrb r3, [r3, #0] + 8003e9a: 73fb strb r3, [r7, #15] next_id = aTimerContext[TimerID].NextID; - 8003d84: 79fa ldrb r2, [r7, #7] - 8003d86: 492a ldr r1, [pc, #168] @ (8003e30 ) - 8003d88: 4613 mov r3, r2 - 8003d8a: 005b lsls r3, r3, #1 - 8003d8c: 4413 add r3, r2 - 8003d8e: 00db lsls r3, r3, #3 - 8003d90: 440b add r3, r1 - 8003d92: 3315 adds r3, #21 - 8003d94: 781b ldrb r3, [r3, #0] - 8003d96: 73bb strb r3, [r7, #14] + 8003e9c: 79fa ldrb r2, [r7, #7] + 8003e9e: 492a ldr r1, [pc, #168] @ (8003f48 ) + 8003ea0: 4613 mov r3, r2 + 8003ea2: 005b lsls r3, r3, #1 + 8003ea4: 4413 add r3, r2 + 8003ea6: 00db lsls r3, r3, #3 + 8003ea8: 440b add r3, r1 + 8003eaa: 3315 adds r3, #21 + 8003eac: 781b ldrb r3, [r3, #0] + 8003eae: 73bb strb r3, [r7, #14] aTimerContext[previous_id].NextID = aTimerContext[TimerID].NextID; - 8003d98: 79f9 ldrb r1, [r7, #7] - 8003d9a: 7bfa ldrb r2, [r7, #15] - 8003d9c: 4824 ldr r0, [pc, #144] @ (8003e30 ) - 8003d9e: 460b mov r3, r1 - 8003da0: 005b lsls r3, r3, #1 - 8003da2: 440b add r3, r1 - 8003da4: 00db lsls r3, r3, #3 - 8003da6: 4403 add r3, r0 - 8003da8: 3315 adds r3, #21 - 8003daa: 781b ldrb r3, [r3, #0] - 8003dac: b2d8 uxtb r0, r3 - 8003dae: 4920 ldr r1, [pc, #128] @ (8003e30 ) - 8003db0: 4613 mov r3, r2 - 8003db2: 005b lsls r3, r3, #1 - 8003db4: 4413 add r3, r2 - 8003db6: 00db lsls r3, r3, #3 - 8003db8: 440b add r3, r1 - 8003dba: 3315 adds r3, #21 - 8003dbc: 4602 mov r2, r0 - 8003dbe: 701a strb r2, [r3, #0] + 8003eb0: 79f9 ldrb r1, [r7, #7] + 8003eb2: 7bfa ldrb r2, [r7, #15] + 8003eb4: 4824 ldr r0, [pc, #144] @ (8003f48 ) + 8003eb6: 460b mov r3, r1 + 8003eb8: 005b lsls r3, r3, #1 + 8003eba: 440b add r3, r1 + 8003ebc: 00db lsls r3, r3, #3 + 8003ebe: 4403 add r3, r0 + 8003ec0: 3315 adds r3, #21 + 8003ec2: 781b ldrb r3, [r3, #0] + 8003ec4: b2d8 uxtb r0, r3 + 8003ec6: 4920 ldr r1, [pc, #128] @ (8003f48 ) + 8003ec8: 4613 mov r3, r2 + 8003eca: 005b lsls r3, r3, #1 + 8003ecc: 4413 add r3, r2 + 8003ece: 00db lsls r3, r3, #3 + 8003ed0: 440b add r3, r1 + 8003ed2: 3315 adds r3, #21 + 8003ed4: 4602 mov r2, r0 + 8003ed6: 701a strb r2, [r3, #0] if(next_id != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) - 8003dc0: 7bbb ldrb r3, [r7, #14] - 8003dc2: 2b06 cmp r3, #6 - 8003dc4: d013 beq.n 8003dee + 8003ed8: 7bbb ldrb r3, [r7, #14] + 8003eda: 2b06 cmp r3, #6 + 8003edc: d013 beq.n 8003f06 { aTimerContext[next_id].PreviousID = aTimerContext[TimerID].PreviousID; - 8003dc6: 79f9 ldrb r1, [r7, #7] - 8003dc8: 7bba ldrb r2, [r7, #14] - 8003dca: 4819 ldr r0, [pc, #100] @ (8003e30 ) - 8003dcc: 460b mov r3, r1 - 8003dce: 005b lsls r3, r3, #1 - 8003dd0: 440b add r3, r1 - 8003dd2: 00db lsls r3, r3, #3 - 8003dd4: 4403 add r3, r0 - 8003dd6: 3314 adds r3, #20 - 8003dd8: 781b ldrb r3, [r3, #0] - 8003dda: b2d8 uxtb r0, r3 - 8003ddc: 4914 ldr r1, [pc, #80] @ (8003e30 ) - 8003dde: 4613 mov r3, r2 - 8003de0: 005b lsls r3, r3, #1 - 8003de2: 4413 add r3, r2 - 8003de4: 00db lsls r3, r3, #3 - 8003de6: 440b add r3, r1 - 8003de8: 3314 adds r3, #20 - 8003dea: 4602 mov r2, r0 - 8003dec: 701a strb r2, [r3, #0] + 8003ede: 79f9 ldrb r1, [r7, #7] + 8003ee0: 7bba ldrb r2, [r7, #14] + 8003ee2: 4819 ldr r0, [pc, #100] @ (8003f48 ) + 8003ee4: 460b mov r3, r1 + 8003ee6: 005b lsls r3, r3, #1 + 8003ee8: 440b add r3, r1 + 8003eea: 00db lsls r3, r3, #3 + 8003eec: 4403 add r3, r0 + 8003eee: 3314 adds r3, #20 + 8003ef0: 781b ldrb r3, [r3, #0] + 8003ef2: b2d8 uxtb r0, r3 + 8003ef4: 4914 ldr r1, [pc, #80] @ (8003f48 ) + 8003ef6: 4613 mov r3, r2 + 8003ef8: 005b lsls r3, r3, #1 + 8003efa: 4413 add r3, r2 + 8003efc: 00db lsls r3, r3, #3 + 8003efe: 440b add r3, r1 + 8003f00: 3314 adds r3, #20 + 8003f02: 4602 mov r2, r0 + 8003f04: 701a strb r2, [r3, #0] } /** * Timer is out of the list */ aTimerContext[TimerID].TimerIDStatus = TimerID_Created; - 8003dee: 79fa ldrb r2, [r7, #7] - 8003df0: 490f ldr r1, [pc, #60] @ (8003e30 ) - 8003df2: 4613 mov r3, r2 - 8003df4: 005b lsls r3, r3, #1 - 8003df6: 4413 add r3, r2 - 8003df8: 00db lsls r3, r3, #3 - 8003dfa: 440b add r3, r1 - 8003dfc: 330c adds r3, #12 - 8003dfe: 2201 movs r2, #1 - 8003e00: 701a strb r2, [r3, #0] + 8003f06: 79fa ldrb r2, [r7, #7] + 8003f08: 490f ldr r1, [pc, #60] @ (8003f48 ) + 8003f0a: 4613 mov r3, r2 + 8003f0c: 005b lsls r3, r3, #1 + 8003f0e: 4413 add r3, r2 + 8003f10: 00db lsls r3, r3, #3 + 8003f12: 440b add r3, r1 + 8003f14: 330c adds r3, #12 + 8003f16: 2201 movs r2, #1 + 8003f18: 701a strb r2, [r3, #0] if((CurrentRunningTimerID == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) && (RequestReadSSR == SSR_Read_Requested)) - 8003e02: 4b09 ldr r3, [pc, #36] @ (8003e28 ) - 8003e04: 781b ldrb r3, [r3, #0] - 8003e06: b2db uxtb r3, r3 - 8003e08: 2b06 cmp r3, #6 - 8003e0a: d107 bne.n 8003e1c - 8003e0c: 79bb ldrb r3, [r7, #6] - 8003e0e: 2b00 cmp r3, #0 - 8003e10: d104 bne.n 8003e1c + 8003f1a: 4b09 ldr r3, [pc, #36] @ (8003f40 ) + 8003f1c: 781b ldrb r3, [r3, #0] + 8003f1e: b2db uxtb r3, r3 + 8003f20: 2b06 cmp r3, #6 + 8003f22: d107 bne.n 8003f34 + 8003f24: 79bb ldrb r3, [r7, #6] + 8003f26: 2b00 cmp r3, #0 + 8003f28: d104 bne.n 8003f34 { SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE; - 8003e12: 4b08 ldr r3, [pc, #32] @ (8003e34 ) - 8003e14: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8003e18: 601a str r2, [r3, #0] + 8003f2a: 4b08 ldr r3, [pc, #32] @ (8003f4c ) + 8003f2c: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8003f30: 601a str r2, [r3, #0] } return; - 8003e1a: bf00 nop - 8003e1c: bf00 nop + 8003f32: bf00 nop + 8003f34: bf00 nop } - 8003e1e: 3714 adds r7, #20 - 8003e20: 46bd mov sp, r7 - 8003e22: f85d 7b04 ldr.w r7, [sp], #4 - 8003e26: 4770 bx lr - 8003e28: 200003a4 .word 0x200003a4 - 8003e2c: 200003a5 .word 0x200003a5 - 8003e30: 20000314 .word 0x20000314 - 8003e34: 200003a8 .word 0x200003a8 + 8003f36: 3714 adds r7, #20 + 8003f38: 46bd mov sp, r7 + 8003f3a: f85d 7b04 ldr.w r7, [sp], #4 + 8003f3e: 4770 bx lr + 8003f40: 200003a4 .word 0x200003a4 + 8003f44: 200003a5 .word 0x200003a5 + 8003f48: 20000314 .word 0x20000314 + 8003f4c: 200003a8 .word 0x200003a8 -08003e38 : +08003f50 : * since the time the timer has been started * @param None * @retval Time expired in Ticks */ static uint16_t ReturnTimeElapsed(void) { - 8003e38: b580 push {r7, lr} - 8003e3a: b082 sub sp, #8 - 8003e3c: af00 add r7, sp, #0 + 8003f50: b580 push {r7, lr} + 8003f52: b082 sub sp, #8 + 8003f54: af00 add r7, sp, #0 uint32_t return_value; uint32_t wrap_counter; if(SSRValueOnLastSetup != SSR_FORBIDDEN_VALUE) - 8003e3e: 4b1a ldr r3, [pc, #104] @ (8003ea8 ) - 8003e40: 681b ldr r3, [r3, #0] - 8003e42: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8003e46: d026 beq.n 8003e96 + 8003f56: 4b1a ldr r3, [pc, #104] @ (8003fc0 ) + 8003f58: 681b ldr r3, [r3, #0] + 8003f5a: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8003f5e: d026 beq.n 8003fae { return_value = ReadRtcSsrValue(); /**< Read SSR register first */ - 8003e48: f7ff fe02 bl 8003a50 - 8003e4c: 6078 str r0, [r7, #4] + 8003f60: f7ff fe02 bl 8003b68 + 8003f64: 6078 str r0, [r7, #4] if (SSRValueOnLastSetup >= return_value) - 8003e4e: 4b16 ldr r3, [pc, #88] @ (8003ea8 ) - 8003e50: 681b ldr r3, [r3, #0] - 8003e52: 687a ldr r2, [r7, #4] - 8003e54: 429a cmp r2, r3 - 8003e56: d805 bhi.n 8003e64 + 8003f66: 4b16 ldr r3, [pc, #88] @ (8003fc0 ) + 8003f68: 681b ldr r3, [r3, #0] + 8003f6a: 687a ldr r2, [r7, #4] + 8003f6c: 429a cmp r2, r3 + 8003f6e: d805 bhi.n 8003f7c { return_value = SSRValueOnLastSetup - return_value; - 8003e58: 4b13 ldr r3, [pc, #76] @ (8003ea8 ) - 8003e5a: 681a ldr r2, [r3, #0] - 8003e5c: 687b ldr r3, [r7, #4] - 8003e5e: 1ad3 subs r3, r2, r3 - 8003e60: 607b str r3, [r7, #4] - 8003e62: e00a b.n 8003e7a + 8003f70: 4b13 ldr r3, [pc, #76] @ (8003fc0 ) + 8003f72: 681a ldr r2, [r3, #0] + 8003f74: 687b ldr r3, [r7, #4] + 8003f76: 1ad3 subs r3, r2, r3 + 8003f78: 607b str r3, [r7, #4] + 8003f7a: e00a b.n 8003f92 } else { wrap_counter = SynchPrescalerUserConfig - return_value; - 8003e64: 4b11 ldr r3, [pc, #68] @ (8003eac ) - 8003e66: 881b ldrh r3, [r3, #0] - 8003e68: 461a mov r2, r3 - 8003e6a: 687b ldr r3, [r7, #4] - 8003e6c: 1ad3 subs r3, r2, r3 - 8003e6e: 603b str r3, [r7, #0] + 8003f7c: 4b11 ldr r3, [pc, #68] @ (8003fc4 ) + 8003f7e: 881b ldrh r3, [r3, #0] + 8003f80: 461a mov r2, r3 + 8003f82: 687b ldr r3, [r7, #4] + 8003f84: 1ad3 subs r3, r2, r3 + 8003f86: 603b str r3, [r7, #0] return_value = SSRValueOnLastSetup + wrap_counter; - 8003e70: 4b0d ldr r3, [pc, #52] @ (8003ea8 ) - 8003e72: 681b ldr r3, [r3, #0] - 8003e74: 683a ldr r2, [r7, #0] - 8003e76: 4413 add r3, r2 - 8003e78: 607b str r3, [r7, #4] + 8003f88: 4b0d ldr r3, [pc, #52] @ (8003fc0 ) + 8003f8a: 681b ldr r3, [r3, #0] + 8003f8c: 683a ldr r2, [r7, #0] + 8003f8e: 4413 add r3, r2 + 8003f90: 607b str r3, [r7, #4] /** * At this stage, ReturnValue holds the number of ticks counted by SSR * Need to translate in number of ticks counted by the Wakeuptimer */ return_value = return_value*AsynchPrescalerUserConfig; - 8003e7a: 4b0d ldr r3, [pc, #52] @ (8003eb0 ) - 8003e7c: 781b ldrb r3, [r3, #0] - 8003e7e: 461a mov r2, r3 - 8003e80: 687b ldr r3, [r7, #4] - 8003e82: fb02 f303 mul.w r3, r2, r3 - 8003e86: 607b str r3, [r7, #4] + 8003f92: 4b0d ldr r3, [pc, #52] @ (8003fc8 ) + 8003f94: 781b ldrb r3, [r3, #0] + 8003f96: 461a mov r2, r3 + 8003f98: 687b ldr r3, [r7, #4] + 8003f9a: fb02 f303 mul.w r3, r2, r3 + 8003f9e: 607b str r3, [r7, #4] return_value = return_value >> WakeupTimerDivider; - 8003e88: 4b0a ldr r3, [pc, #40] @ (8003eb4 ) - 8003e8a: 781b ldrb r3, [r3, #0] - 8003e8c: 461a mov r2, r3 - 8003e8e: 687b ldr r3, [r7, #4] - 8003e90: 40d3 lsrs r3, r2 - 8003e92: 607b str r3, [r7, #4] - 8003e94: e001 b.n 8003e9a + 8003fa0: 4b0a ldr r3, [pc, #40] @ (8003fcc ) + 8003fa2: 781b ldrb r3, [r3, #0] + 8003fa4: 461a mov r2, r3 + 8003fa6: 687b ldr r3, [r7, #4] + 8003fa8: 40d3 lsrs r3, r2 + 8003faa: 607b str r3, [r7, #4] + 8003fac: e001 b.n 8003fb2 } else { return_value = 0; - 8003e96: 2300 movs r3, #0 - 8003e98: 607b str r3, [r7, #4] + 8003fae: 2300 movs r3, #0 + 8003fb0: 607b str r3, [r7, #4] } return (uint16_t)return_value; - 8003e9a: 687b ldr r3, [r7, #4] - 8003e9c: b29b uxth r3, r3 + 8003fb2: 687b ldr r3, [r7, #4] + 8003fb4: b29b uxth r3, r3 } - 8003e9e: 4618 mov r0, r3 - 8003ea0: 3708 adds r7, #8 - 8003ea2: 46bd mov sp, r7 - 8003ea4: bd80 pop {r7, pc} - 8003ea6: bf00 nop - 8003ea8: 200003a8 .word 0x200003a8 - 8003eac: 200003b0 .word 0x200003b0 - 8003eb0: 200003ae .word 0x200003ae - 8003eb4: 200003ad .word 0x200003ad + 8003fb6: 4618 mov r0, r3 + 8003fb8: 3708 adds r7, #8 + 8003fba: 46bd mov sp, r7 + 8003fbc: bd80 pop {r7, pc} + 8003fbe: bf00 nop + 8003fc0: 200003a8 .word 0x200003a8 + 8003fc4: 200003b0 .word 0x200003b0 + 8003fc8: 200003ae .word 0x200003ae + 8003fcc: 200003ad .word 0x200003ad -08003eb8 : +08003fd0 : * It assumes all condition are met to be allowed to write the wakeup counter * @param Value: Value to be written in the counter * @retval None */ static void RestartWakeupCounter(uint16_t Value) { - 8003eb8: b580 push {r7, lr} - 8003eba: b082 sub sp, #8 - 8003ebc: af00 add r7, sp, #0 - 8003ebe: 4603 mov r3, r0 - 8003ec0: 80fb strh r3, [r7, #6] + 8003fd0: b580 push {r7, lr} + 8003fd2: b082 sub sp, #8 + 8003fd4: af00 add r7, sp, #0 + 8003fd6: 4603 mov r3, r0 + 8003fd8: 80fb strh r3, [r7, #6] * The wakeuptimer has been disabled in the calling function to reduce the time to poll the WUTWF * FLAG when the new value will have to be written * __HAL_RTC_WAKEUPTIMER_DISABLE(&hrtc); */ if(Value == 0) - 8003ec2: 88fb ldrh r3, [r7, #6] - 8003ec4: 2b00 cmp r3, #0 - 8003ec6: d108 bne.n 8003eda + 8003fda: 88fb ldrh r3, [r7, #6] + 8003fdc: 2b00 cmp r3, #0 + 8003fde: d108 bne.n 8003ff2 { SSRValueOnLastSetup = ReadRtcSsrValue(); - 8003ec8: f7ff fdc2 bl 8003a50 - 8003ecc: 4603 mov r3, r0 - 8003ece: 4a21 ldr r2, [pc, #132] @ (8003f54 ) - 8003ed0: 6013 str r3, [r2, #0] + 8003fe0: f7ff fdc2 bl 8003b68 + 8003fe4: 4603 mov r3, r0 + 8003fe6: 4a21 ldr r2, [pc, #132] @ (800406c ) + 8003fe8: 6013 str r3, [r2, #0] /** * Simulate that the Timer expired */ HAL_NVIC_SetPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); - 8003ed2: 2003 movs r0, #3 - 8003ed4: f002 fc32 bl 800673c + 8003fea: 2003 movs r0, #3 + 8003fec: f002 fe24 bl 8006c38 __HAL_RTC_WAKEUPTIMER_ENABLE(&hrtc); /**< Enable the Wakeup Timer */ HW_TS_RTC_CountUpdated_AppNot(); } return ; - 8003ed8: e039 b.n 8003f4e + 8003ff0: e039 b.n 8004066 if((Value > 1) ||(WakeupTimerDivider != 1)) - 8003eda: 88fb ldrh r3, [r7, #6] - 8003edc: 2b01 cmp r3, #1 - 8003ede: d803 bhi.n 8003ee8 - 8003ee0: 4b1d ldr r3, [pc, #116] @ (8003f58 ) - 8003ee2: 781b ldrb r3, [r3, #0] - 8003ee4: 2b01 cmp r3, #1 - 8003ee6: d002 beq.n 8003eee + 8003ff2: 88fb ldrh r3, [r7, #6] + 8003ff4: 2b01 cmp r3, #1 + 8003ff6: d803 bhi.n 8004000 + 8003ff8: 4b1d ldr r3, [pc, #116] @ (8004070 ) + 8003ffa: 781b ldrb r3, [r3, #0] + 8003ffc: 2b01 cmp r3, #1 + 8003ffe: d002 beq.n 8004006 Value -= 1; - 8003ee8: 88fb ldrh r3, [r7, #6] - 8003eea: 3b01 subs r3, #1 - 8003eec: 80fb strh r3, [r7, #6] + 8004000: 88fb ldrh r3, [r7, #6] + 8004002: 3b01 subs r3, #1 + 8004004: 80fb strh r3, [r7, #6] while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(&hrtc, RTC_FLAG_WUTWF) == RESET); - 8003eee: bf00 nop - 8003ef0: 4b1a ldr r3, [pc, #104] @ (8003f5c ) - 8003ef2: 681b ldr r3, [r3, #0] - 8003ef4: 68db ldr r3, [r3, #12] - 8003ef6: f003 0304 and.w r3, r3, #4 - 8003efa: 2b00 cmp r3, #0 - 8003efc: d0f8 beq.n 8003ef0 + 8004006: bf00 nop + 8004008: 4b1a ldr r3, [pc, #104] @ (8004074 ) + 800400a: 681b ldr r3, [r3, #0] + 800400c: 68db ldr r3, [r3, #12] + 800400e: f003 0304 and.w r3, r3, #4 + 8004012: 2b00 cmp r3, #0 + 8004014: d0f8 beq.n 8004008 __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&hrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */ - 8003efe: 4b17 ldr r3, [pc, #92] @ (8003f5c ) - 8003f00: 681b ldr r3, [r3, #0] - 8003f02: 68db ldr r3, [r3, #12] - 8003f04: b2da uxtb r2, r3 - 8003f06: 4b15 ldr r3, [pc, #84] @ (8003f5c ) - 8003f08: 681b ldr r3, [r3, #0] - 8003f0a: f462 6290 orn r2, r2, #1152 @ 0x480 - 8003f0e: 60da str r2, [r3, #12] + 8004016: 4b17 ldr r3, [pc, #92] @ (8004074 ) + 8004018: 681b ldr r3, [r3, #0] + 800401a: 68db ldr r3, [r3, #12] + 800401c: b2da uxtb r2, r3 + 800401e: 4b15 ldr r3, [pc, #84] @ (8004074 ) + 8004020: 681b ldr r3, [r3, #0] + 8004022: f462 6290 orn r2, r2, #1152 @ 0x480 + 8004026: 60da str r2, [r3, #12] __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */ - 8003f10: 4b13 ldr r3, [pc, #76] @ (8003f60 ) - 8003f12: f44f 2200 mov.w r2, #524288 @ 0x80000 - 8003f16: 60da str r2, [r3, #12] + 8004028: 4b13 ldr r3, [pc, #76] @ (8004078 ) + 800402a: f44f 2200 mov.w r2, #524288 @ 0x80000 + 800402e: 60da str r2, [r3, #12] HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */ - 8003f18: 2003 movs r0, #3 - 8003f1a: f002 fc1d bl 8006758 + 8004030: 2003 movs r0, #3 + 8004032: f002 fe0f bl 8006c54 MODIFY_REG(RTC->WUTR, RTC_WUTR_WUT, Value); - 8003f1e: 4b11 ldr r3, [pc, #68] @ (8003f64 ) - 8003f20: 695b ldr r3, [r3, #20] - 8003f22: 0c1b lsrs r3, r3, #16 - 8003f24: 041b lsls r3, r3, #16 - 8003f26: 88fa ldrh r2, [r7, #6] - 8003f28: 490e ldr r1, [pc, #56] @ (8003f64 ) - 8003f2a: 4313 orrs r3, r2 - 8003f2c: 614b str r3, [r1, #20] + 8004036: 4b11 ldr r3, [pc, #68] @ (800407c ) + 8004038: 695b ldr r3, [r3, #20] + 800403a: 0c1b lsrs r3, r3, #16 + 800403c: 041b lsls r3, r3, #16 + 800403e: 88fa ldrh r2, [r7, #6] + 8004040: 490e ldr r1, [pc, #56] @ (800407c ) + 8004042: 4313 orrs r3, r2 + 8004044: 614b str r3, [r1, #20] SSRValueOnLastSetup = ReadRtcSsrValue(); - 8003f2e: f7ff fd8f bl 8003a50 - 8003f32: 4603 mov r3, r0 - 8003f34: 4a07 ldr r2, [pc, #28] @ (8003f54 ) - 8003f36: 6013 str r3, [r2, #0] + 8004046: f7ff fd8f bl 8003b68 + 800404a: 4603 mov r3, r0 + 800404c: 4a07 ldr r2, [pc, #28] @ (800406c ) + 800404e: 6013 str r3, [r2, #0] __HAL_RTC_WAKEUPTIMER_ENABLE(&hrtc); /**< Enable the Wakeup Timer */ - 8003f38: 4b08 ldr r3, [pc, #32] @ (8003f5c ) - 8003f3a: 681b ldr r3, [r3, #0] - 8003f3c: 689a ldr r2, [r3, #8] - 8003f3e: 4b07 ldr r3, [pc, #28] @ (8003f5c ) - 8003f40: 681b ldr r3, [r3, #0] - 8003f42: f442 6280 orr.w r2, r2, #1024 @ 0x400 - 8003f46: 609a str r2, [r3, #8] + 8004050: 4b08 ldr r3, [pc, #32] @ (8004074 ) + 8004052: 681b ldr r3, [r3, #0] + 8004054: 689a ldr r2, [r3, #8] + 8004056: 4b07 ldr r3, [pc, #28] @ (8004074 ) + 8004058: 681b ldr r3, [r3, #0] + 800405a: f442 6280 orr.w r2, r2, #1024 @ 0x400 + 800405e: 609a str r2, [r3, #8] HW_TS_RTC_CountUpdated_AppNot(); - 8003f48: f3af 8000 nop.w + 8004060: f3af 8000 nop.w return ; - 8003f4c: bf00 nop + 8004064: bf00 nop } - 8003f4e: 3708 adds r7, #8 - 8003f50: 46bd mov sp, r7 - 8003f52: bd80 pop {r7, pc} - 8003f54: 200003a8 .word 0x200003a8 - 8003f58: 200003ad .word 0x200003ad - 8003f5c: 20000504 .word 0x20000504 - 8003f60: 58000800 .word 0x58000800 - 8003f64: 40002800 .word 0x40002800 + 8004066: 3708 adds r7, #8 + 8004068: 46bd mov sp, r7 + 800406a: bd80 pop {r7, pc} + 800406c: 200003a8 .word 0x200003a8 + 8004070: 200003ad .word 0x200003ad + 8004074: 20000504 .word 0x20000504 + 8004078: 58000800 .word 0x58000800 + 800407c: 40002800 .word 0x40002800 -08003f68 : +08004080 : * 2) Setup the wakeuptimer * @param None * @retval None */ static void RescheduleTimerList(void) { - 8003f68: b580 push {r7, lr} - 8003f6a: b084 sub sp, #16 - 8003f6c: af00 add r7, sp, #0 + 8004080: b580 push {r7, lr} + 8004082: b084 sub sp, #16 + 8004084: af00 add r7, sp, #0 /** * The wakeuptimer is disabled now to reduce the time to poll the WUTWF * FLAG when the new value will have to be written */ if((READ_BIT(RTC->CR, RTC_CR_WUTE) == (RTC_CR_WUTE)) == SET) - 8003f6e: 4b45 ldr r3, [pc, #276] @ (8004084 ) - 8003f70: 689b ldr r3, [r3, #8] - 8003f72: f403 6380 and.w r3, r3, #1024 @ 0x400 - 8003f76: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 8003f7a: d107 bne.n 8003f8c + 8004086: 4b45 ldr r3, [pc, #276] @ (800419c ) + 8004088: 689b ldr r3, [r3, #8] + 800408a: f403 6380 and.w r3, r3, #1024 @ 0x400 + 800408e: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 8004092: d107 bne.n 80040a4 { /** * Wait for the flag to be back to 0 when the wakeup timer is enabled */ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(&hrtc, RTC_FLAG_WUTWF) == SET); - 8003f7c: bf00 nop - 8003f7e: 4b42 ldr r3, [pc, #264] @ (8004088 ) - 8003f80: 681b ldr r3, [r3, #0] - 8003f82: 68db ldr r3, [r3, #12] - 8003f84: f003 0304 and.w r3, r3, #4 - 8003f88: 2b00 cmp r3, #0 - 8003f8a: d1f8 bne.n 8003f7e + 8004094: bf00 nop + 8004096: 4b42 ldr r3, [pc, #264] @ (80041a0 ) + 8004098: 681b ldr r3, [r3, #0] + 800409a: 68db ldr r3, [r3, #12] + 800409c: f003 0304 and.w r3, r3, #4 + 80040a0: 2b00 cmp r3, #0 + 80040a2: d1f8 bne.n 8004096 } __HAL_RTC_WAKEUPTIMER_DISABLE(&hrtc); /**< Disable the Wakeup Timer */ - 8003f8c: 4b3e ldr r3, [pc, #248] @ (8004088 ) - 8003f8e: 681b ldr r3, [r3, #0] - 8003f90: 689a ldr r2, [r3, #8] - 8003f92: 4b3d ldr r3, [pc, #244] @ (8004088 ) - 8003f94: 681b ldr r3, [r3, #0] - 8003f96: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 8003f9a: 609a str r2, [r3, #8] + 80040a4: 4b3e ldr r3, [pc, #248] @ (80041a0 ) + 80040a6: 681b ldr r3, [r3, #0] + 80040a8: 689a ldr r2, [r3, #8] + 80040aa: 4b3d ldr r3, [pc, #244] @ (80041a0 ) + 80040ac: 681b ldr r3, [r3, #0] + 80040ae: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 80040b2: 609a str r2, [r3, #8] localTimerID = CurrentRunningTimerID; - 8003f9c: 4b3b ldr r3, [pc, #236] @ (800408c ) - 8003f9e: 781b ldrb r3, [r3, #0] - 8003fa0: 73fb strb r3, [r7, #15] + 80040b4: 4b3b ldr r3, [pc, #236] @ (80041a4 ) + 80040b6: 781b ldrb r3, [r3, #0] + 80040b8: 73fb strb r3, [r7, #15] /** * Calculate what will be the value to write in the wakeuptimer */ timecountleft = aTimerContext[localTimerID].CountLeft; - 8003fa2: 7bfa ldrb r2, [r7, #15] - 8003fa4: 493a ldr r1, [pc, #232] @ (8004090 ) - 8003fa6: 4613 mov r3, r2 - 8003fa8: 005b lsls r3, r3, #1 - 8003faa: 4413 add r3, r2 - 8003fac: 00db lsls r3, r3, #3 - 8003fae: 440b add r3, r1 - 8003fb0: 3308 adds r3, #8 - 8003fb2: 681b ldr r3, [r3, #0] - 8003fb4: 60bb str r3, [r7, #8] + 80040ba: 7bfa ldrb r2, [r7, #15] + 80040bc: 493a ldr r1, [pc, #232] @ (80041a8 ) + 80040be: 4613 mov r3, r2 + 80040c0: 005b lsls r3, r3, #1 + 80040c2: 4413 add r3, r2 + 80040c4: 00db lsls r3, r3, #3 + 80040c6: 440b add r3, r1 + 80040c8: 3308 adds r3, #8 + 80040ca: 681b ldr r3, [r3, #0] + 80040cc: 60bb str r3, [r7, #8] /** * Read how much has been counted */ time_elapsed = ReturnTimeElapsed(); - 8003fb6: f7ff ff3f bl 8003e38 - 8003fba: 4603 mov r3, r0 - 8003fbc: 80fb strh r3, [r7, #6] + 80040ce: f7ff ff3f bl 8003f50 + 80040d2: 4603 mov r3, r0 + 80040d4: 80fb strh r3, [r7, #6] if(timecountleft < time_elapsed ) - 8003fbe: 88fb ldrh r3, [r7, #6] - 8003fc0: 68ba ldr r2, [r7, #8] - 8003fc2: 429a cmp r2, r3 - 8003fc4: d205 bcs.n 8003fd2 + 80040d6: 88fb ldrh r3, [r7, #6] + 80040d8: 68ba ldr r2, [r7, #8] + 80040da: 429a cmp r2, r3 + 80040dc: d205 bcs.n 80040ea { /** * There is no tick left to count */ wakeup_timer_value = 0; - 8003fc6: 2300 movs r3, #0 - 8003fc8: 81bb strh r3, [r7, #12] + 80040de: 2300 movs r3, #0 + 80040e0: 81bb strh r3, [r7, #12] WakeupTimerLimitation = WakeupTimerValue_LargeEnough; - 8003fca: 4b32 ldr r3, [pc, #200] @ (8004094 ) - 8003fcc: 2201 movs r2, #1 - 8003fce: 701a strb r2, [r3, #0] - 8003fd0: e04d b.n 800406e + 80040e2: 4b32 ldr r3, [pc, #200] @ (80041ac ) + 80040e4: 2201 movs r2, #1 + 80040e6: 701a strb r2, [r3, #0] + 80040e8: e04d b.n 8004186 } else { if(timecountleft > (time_elapsed + MaxWakeupTimerSetup)) - 8003fd2: 88fb ldrh r3, [r7, #6] - 8003fd4: 4a30 ldr r2, [pc, #192] @ (8004098 ) - 8003fd6: 8812 ldrh r2, [r2, #0] - 8003fd8: b292 uxth r2, r2 - 8003fda: 4413 add r3, r2 - 8003fdc: 461a mov r2, r3 - 8003fde: 68bb ldr r3, [r7, #8] - 8003fe0: 4293 cmp r3, r2 - 8003fe2: d906 bls.n 8003ff2 + 80040ea: 88fb ldrh r3, [r7, #6] + 80040ec: 4a30 ldr r2, [pc, #192] @ (80041b0 ) + 80040ee: 8812 ldrh r2, [r2, #0] + 80040f0: b292 uxth r2, r2 + 80040f2: 4413 add r3, r2 + 80040f4: 461a mov r2, r3 + 80040f6: 68bb ldr r3, [r7, #8] + 80040f8: 4293 cmp r3, r2 + 80040fa: d906 bls.n 800410a { /** * The number of tick left is greater than the Wakeuptimer maximum value */ wakeup_timer_value = MaxWakeupTimerSetup; - 8003fe4: 4b2c ldr r3, [pc, #176] @ (8004098 ) - 8003fe6: 881b ldrh r3, [r3, #0] - 8003fe8: 81bb strh r3, [r7, #12] + 80040fc: 4b2c ldr r3, [pc, #176] @ (80041b0 ) + 80040fe: 881b ldrh r3, [r3, #0] + 8004100: 81bb strh r3, [r7, #12] WakeupTimerLimitation = WakeupTimerValue_Overpassed; - 8003fea: 4b2a ldr r3, [pc, #168] @ (8004094 ) - 8003fec: 2200 movs r2, #0 - 8003fee: 701a strb r2, [r3, #0] - 8003ff0: e03d b.n 800406e + 8004102: 4b2a ldr r3, [pc, #168] @ (80041ac ) + 8004104: 2200 movs r2, #0 + 8004106: 701a strb r2, [r3, #0] + 8004108: e03d b.n 8004186 } else { wakeup_timer_value = timecountleft - time_elapsed; - 8003ff2: 68bb ldr r3, [r7, #8] - 8003ff4: b29a uxth r2, r3 - 8003ff6: 88fb ldrh r3, [r7, #6] - 8003ff8: 1ad3 subs r3, r2, r3 - 8003ffa: 81bb strh r3, [r7, #12] + 800410a: 68bb ldr r3, [r7, #8] + 800410c: b29a uxth r2, r3 + 800410e: 88fb ldrh r3, [r7, #6] + 8004110: 1ad3 subs r3, r2, r3 + 8004112: 81bb strh r3, [r7, #12] WakeupTimerLimitation = WakeupTimerValue_LargeEnough; - 8003ffc: 4b25 ldr r3, [pc, #148] @ (8004094 ) - 8003ffe: 2201 movs r2, #1 - 8004000: 701a strb r2, [r3, #0] + 8004114: 4b25 ldr r3, [pc, #148] @ (80041ac ) + 8004116: 2201 movs r2, #1 + 8004118: 701a strb r2, [r3, #0] } /** * update ticks left to be counted for each timer */ while(localTimerID != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) - 8004002: e034 b.n 800406e + 800411a: e034 b.n 8004186 { if (aTimerContext[localTimerID].CountLeft < time_elapsed) - 8004004: 7bfa ldrb r2, [r7, #15] - 8004006: 4922 ldr r1, [pc, #136] @ (8004090 ) - 8004008: 4613 mov r3, r2 - 800400a: 005b lsls r3, r3, #1 - 800400c: 4413 add r3, r2 - 800400e: 00db lsls r3, r3, #3 - 8004010: 440b add r3, r1 - 8004012: 3308 adds r3, #8 - 8004014: 681a ldr r2, [r3, #0] - 8004016: 88fb ldrh r3, [r7, #6] - 8004018: 429a cmp r2, r3 - 800401a: d20a bcs.n 8004032 + 800411c: 7bfa ldrb r2, [r7, #15] + 800411e: 4922 ldr r1, [pc, #136] @ (80041a8 ) + 8004120: 4613 mov r3, r2 + 8004122: 005b lsls r3, r3, #1 + 8004124: 4413 add r3, r2 + 8004126: 00db lsls r3, r3, #3 + 8004128: 440b add r3, r1 + 800412a: 3308 adds r3, #8 + 800412c: 681a ldr r2, [r3, #0] + 800412e: 88fb ldrh r3, [r7, #6] + 8004130: 429a cmp r2, r3 + 8004132: d20a bcs.n 800414a { aTimerContext[localTimerID].CountLeft = 0; - 800401c: 7bfa ldrb r2, [r7, #15] - 800401e: 491c ldr r1, [pc, #112] @ (8004090 ) - 8004020: 4613 mov r3, r2 - 8004022: 005b lsls r3, r3, #1 - 8004024: 4413 add r3, r2 - 8004026: 00db lsls r3, r3, #3 - 8004028: 440b add r3, r1 - 800402a: 3308 adds r3, #8 - 800402c: 2200 movs r2, #0 - 800402e: 601a str r2, [r3, #0] - 8004030: e013 b.n 800405a + 8004134: 7bfa ldrb r2, [r7, #15] + 8004136: 491c ldr r1, [pc, #112] @ (80041a8 ) + 8004138: 4613 mov r3, r2 + 800413a: 005b lsls r3, r3, #1 + 800413c: 4413 add r3, r2 + 800413e: 00db lsls r3, r3, #3 + 8004140: 440b add r3, r1 + 8004142: 3308 adds r3, #8 + 8004144: 2200 movs r2, #0 + 8004146: 601a str r2, [r3, #0] + 8004148: e013 b.n 8004172 } else { aTimerContext[localTimerID].CountLeft -= time_elapsed; - 8004032: 7bfa ldrb r2, [r7, #15] - 8004034: 4916 ldr r1, [pc, #88] @ (8004090 ) - 8004036: 4613 mov r3, r2 - 8004038: 005b lsls r3, r3, #1 - 800403a: 4413 add r3, r2 - 800403c: 00db lsls r3, r3, #3 - 800403e: 440b add r3, r1 - 8004040: 3308 adds r3, #8 - 8004042: 6819 ldr r1, [r3, #0] - 8004044: 88fb ldrh r3, [r7, #6] - 8004046: 7bfa ldrb r2, [r7, #15] - 8004048: 1ac9 subs r1, r1, r3 - 800404a: 4811 ldr r0, [pc, #68] @ (8004090 ) - 800404c: 4613 mov r3, r2 - 800404e: 005b lsls r3, r3, #1 - 8004050: 4413 add r3, r2 - 8004052: 00db lsls r3, r3, #3 - 8004054: 4403 add r3, r0 - 8004056: 3308 adds r3, #8 - 8004058: 6019 str r1, [r3, #0] + 800414a: 7bfa ldrb r2, [r7, #15] + 800414c: 4916 ldr r1, [pc, #88] @ (80041a8 ) + 800414e: 4613 mov r3, r2 + 8004150: 005b lsls r3, r3, #1 + 8004152: 4413 add r3, r2 + 8004154: 00db lsls r3, r3, #3 + 8004156: 440b add r3, r1 + 8004158: 3308 adds r3, #8 + 800415a: 6819 ldr r1, [r3, #0] + 800415c: 88fb ldrh r3, [r7, #6] + 800415e: 7bfa ldrb r2, [r7, #15] + 8004160: 1ac9 subs r1, r1, r3 + 8004162: 4811 ldr r0, [pc, #68] @ (80041a8 ) + 8004164: 4613 mov r3, r2 + 8004166: 005b lsls r3, r3, #1 + 8004168: 4413 add r3, r2 + 800416a: 00db lsls r3, r3, #3 + 800416c: 4403 add r3, r0 + 800416e: 3308 adds r3, #8 + 8004170: 6019 str r1, [r3, #0] } localTimerID = aTimerContext[localTimerID].NextID; - 800405a: 7bfa ldrb r2, [r7, #15] - 800405c: 490c ldr r1, [pc, #48] @ (8004090 ) - 800405e: 4613 mov r3, r2 - 8004060: 005b lsls r3, r3, #1 - 8004062: 4413 add r3, r2 - 8004064: 00db lsls r3, r3, #3 - 8004066: 440b add r3, r1 - 8004068: 3315 adds r3, #21 - 800406a: 781b ldrb r3, [r3, #0] - 800406c: 73fb strb r3, [r7, #15] + 8004172: 7bfa ldrb r2, [r7, #15] + 8004174: 490c ldr r1, [pc, #48] @ (80041a8 ) + 8004176: 4613 mov r3, r2 + 8004178: 005b lsls r3, r3, #1 + 800417a: 4413 add r3, r2 + 800417c: 00db lsls r3, r3, #3 + 800417e: 440b add r3, r1 + 8004180: 3315 adds r3, #21 + 8004182: 781b ldrb r3, [r3, #0] + 8004184: 73fb strb r3, [r7, #15] while(localTimerID != CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) - 800406e: 7bfb ldrb r3, [r7, #15] - 8004070: 2b06 cmp r3, #6 - 8004072: d1c7 bne.n 8004004 + 8004186: 7bfb ldrb r3, [r7, #15] + 8004188: 2b06 cmp r3, #6 + 800418a: d1c7 bne.n 800411c } /** * Write next count */ RestartWakeupCounter(wakeup_timer_value); - 8004074: 89bb ldrh r3, [r7, #12] - 8004076: 4618 mov r0, r3 - 8004078: f7ff ff1e bl 8003eb8 + 800418c: 89bb ldrh r3, [r7, #12] + 800418e: 4618 mov r0, r3 + 8004190: f7ff ff1e bl 8003fd0 return ; - 800407c: bf00 nop + 8004194: bf00 nop } - 800407e: 3710 adds r7, #16 - 8004080: 46bd mov sp, r7 - 8004082: bd80 pop {r7, pc} - 8004084: 40002800 .word 0x40002800 - 8004088: 20000504 .word 0x20000504 - 800408c: 200003a4 .word 0x200003a4 - 8004090: 20000314 .word 0x20000314 - 8004094: 200003ac .word 0x200003ac - 8004098: 200003b2 .word 0x200003b2 + 8004196: 3710 adds r7, #16 + 8004198: 46bd mov sp, r7 + 800419a: bd80 pop {r7, pc} + 800419c: 40002800 .word 0x40002800 + 80041a0: 20000504 .word 0x20000504 + 80041a4: 200003a4 .word 0x200003a4 + 80041a8: 20000314 .word 0x20000314 + 80041ac: 200003ac .word 0x200003ac + 80041b0: 200003b2 .word 0x200003b2 -0800409c : +080041b4 : * In order to ease maintainability, the unlock is done at the top and the lock at then end * in case some new implementation is coming in the future */ void HW_TS_RTC_Wakeup_Handler(void) { - 800409c: b580 push {r7, lr} - 800409e: b08a sub sp, #40 @ 0x28 - 80040a0: af00 add r7, sp, #0 + 80041b4: b580 push {r7, lr} + 80041b6: b08a sub sp, #40 @ 0x28 + 80041b8: af00 add r7, sp, #0 */ __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) { uint32_t result; __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 80040a2: f3ef 8310 mrs r3, PRIMASK - 80040a6: 617b str r3, [r7, #20] + 80041ba: f3ef 8310 mrs r3, PRIMASK + 80041be: 617b str r3, [r7, #20] return(result); - 80040a8: 697b ldr r3, [r7, #20] + 80041c0: 697b ldr r3, [r7, #20] #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) uint32_t primask_bit; #endif #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */ - 80040aa: 627b str r3, [r7, #36] @ 0x24 + 80041c2: 627b str r3, [r7, #36] @ 0x24 __ASM volatile ("cpsid i" : : : "memory"); - 80040ac: b672 cpsid i + 80041c4: b672 cpsid i } - 80040ae: bf00 nop + 80041c6: bf00 nop __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/ #endif /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE( &hrtc ); - 80040b0: 4b59 ldr r3, [pc, #356] @ (8004218 ) - 80040b2: 681b ldr r3, [r3, #0] - 80040b4: 22ca movs r2, #202 @ 0xca - 80040b6: 625a str r2, [r3, #36] @ 0x24 - 80040b8: 4b57 ldr r3, [pc, #348] @ (8004218 ) - 80040ba: 681b ldr r3, [r3, #0] - 80040bc: 2253 movs r2, #83 @ 0x53 - 80040be: 625a str r2, [r3, #36] @ 0x24 + 80041c8: 4b59 ldr r3, [pc, #356] @ (8004330 ) + 80041ca: 681b ldr r3, [r3, #0] + 80041cc: 22ca movs r2, #202 @ 0xca + 80041ce: 625a str r2, [r3, #36] @ 0x24 + 80041d0: 4b57 ldr r3, [pc, #348] @ (8004330 ) + 80041d2: 681b ldr r3, [r3, #0] + 80041d4: 2253 movs r2, #83 @ 0x53 + 80041d6: 625a str r2, [r3, #36] @ 0x24 /** * Disable the Wakeup Timer * This may speed up a bit the processing to wait the timer to be disabled * The timer is still counting 2 RTCCLK */ __HAL_RTC_WAKEUPTIMER_DISABLE(&hrtc); - 80040c0: 4b55 ldr r3, [pc, #340] @ (8004218 ) - 80040c2: 681b ldr r3, [r3, #0] - 80040c4: 689a ldr r2, [r3, #8] - 80040c6: 4b54 ldr r3, [pc, #336] @ (8004218 ) - 80040c8: 681b ldr r3, [r3, #0] - 80040ca: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 80040ce: 609a str r2, [r3, #8] + 80041d8: 4b55 ldr r3, [pc, #340] @ (8004330 ) + 80041da: 681b ldr r3, [r3, #0] + 80041dc: 689a ldr r2, [r3, #8] + 80041de: 4b54 ldr r3, [pc, #336] @ (8004330 ) + 80041e0: 681b ldr r3, [r3, #0] + 80041e2: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 80041e6: 609a str r2, [r3, #8] local_current_running_timer_id = CurrentRunningTimerID; - 80040d0: 4b52 ldr r3, [pc, #328] @ (800421c ) - 80040d2: 781b ldrb r3, [r3, #0] - 80040d4: f887 3023 strb.w r3, [r7, #35] @ 0x23 + 80041e8: 4b52 ldr r3, [pc, #328] @ (8004334 ) + 80041ea: 781b ldrb r3, [r3, #0] + 80041ec: f887 3023 strb.w r3, [r7, #35] @ 0x23 if(aTimerContext[local_current_running_timer_id].TimerIDStatus == TimerID_Running) - 80040d8: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 - 80040dc: 4950 ldr r1, [pc, #320] @ (8004220 ) - 80040de: 4613 mov r3, r2 - 80040e0: 005b lsls r3, r3, #1 - 80040e2: 4413 add r3, r2 - 80040e4: 00db lsls r3, r3, #3 - 80040e6: 440b add r3, r1 - 80040e8: 330c adds r3, #12 - 80040ea: 781b ldrb r3, [r3, #0] - 80040ec: b2db uxtb r3, r3 - 80040ee: 2b02 cmp r3, #2 - 80040f0: d16e bne.n 80041d0 + 80041f0: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 + 80041f4: 4950 ldr r1, [pc, #320] @ (8004338 ) + 80041f6: 4613 mov r3, r2 + 80041f8: 005b lsls r3, r3, #1 + 80041fa: 4413 add r3, r2 + 80041fc: 00db lsls r3, r3, #3 + 80041fe: 440b add r3, r1 + 8004200: 330c adds r3, #12 + 8004202: 781b ldrb r3, [r3, #0] + 8004204: b2db uxtb r3, r3 + 8004206: 2b02 cmp r3, #2 + 8004208: d16e bne.n 80042e8 { ptimer_callback = aTimerContext[local_current_running_timer_id].pTimerCallBack; - 80040f2: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 - 80040f6: 494a ldr r1, [pc, #296] @ (8004220 ) - 80040f8: 4613 mov r3, r2 - 80040fa: 005b lsls r3, r3, #1 - 80040fc: 4413 add r3, r2 - 80040fe: 00db lsls r3, r3, #3 - 8004100: 440b add r3, r1 - 8004102: 681b ldr r3, [r3, #0] - 8004104: 61fb str r3, [r7, #28] + 800420a: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 + 800420e: 494a ldr r1, [pc, #296] @ (8004338 ) + 8004210: 4613 mov r3, r2 + 8004212: 005b lsls r3, r3, #1 + 8004214: 4413 add r3, r2 + 8004216: 00db lsls r3, r3, #3 + 8004218: 440b add r3, r1 + 800421a: 681b ldr r3, [r3, #0] + 800421c: 61fb str r3, [r7, #28] timer_process_id = aTimerContext[local_current_running_timer_id].TimerProcessID; - 8004106: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 - 800410a: 4945 ldr r1, [pc, #276] @ (8004220 ) - 800410c: 4613 mov r3, r2 - 800410e: 005b lsls r3, r3, #1 - 8004110: 4413 add r3, r2 - 8004112: 00db lsls r3, r3, #3 - 8004114: 440b add r3, r1 - 8004116: 3310 adds r3, #16 - 8004118: 681b ldr r3, [r3, #0] - 800411a: 61bb str r3, [r7, #24] + 800421e: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 + 8004222: 4945 ldr r1, [pc, #276] @ (8004338 ) + 8004224: 4613 mov r3, r2 + 8004226: 005b lsls r3, r3, #1 + 8004228: 4413 add r3, r2 + 800422a: 00db lsls r3, r3, #3 + 800422c: 440b add r3, r1 + 800422e: 3310 adds r3, #16 + 8004230: 681b ldr r3, [r3, #0] + 8004232: 61bb str r3, [r7, #24] * However, due to the inaccuracy of the reading of the time elapsed, it may return there is 1 tick * to be left whereas the count is over * A more secure implementation has been done with a flag to state whereas the full count has been written * in the wakeuptimer or not */ if(WakeupTimerLimitation != WakeupTimerValue_Overpassed) - 800411c: 4b41 ldr r3, [pc, #260] @ (8004224 ) - 800411e: 781b ldrb r3, [r3, #0] - 8004120: b2db uxtb r3, r3 - 8004122: 2b00 cmp r3, #0 - 8004124: d04c beq.n 80041c0 + 8004234: 4b41 ldr r3, [pc, #260] @ (800433c ) + 8004236: 781b ldrb r3, [r3, #0] + 8004238: b2db uxtb r3, r3 + 800423a: 2b00 cmp r3, #0 + 800423c: d04c beq.n 80042d8 { if(aTimerContext[local_current_running_timer_id].TimerMode == hw_ts_Repeated) - 8004126: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 - 800412a: 493d ldr r1, [pc, #244] @ (8004220 ) - 800412c: 4613 mov r3, r2 - 800412e: 005b lsls r3, r3, #1 - 8004130: 4413 add r3, r2 - 8004132: 00db lsls r3, r3, #3 - 8004134: 440b add r3, r1 - 8004136: 330d adds r3, #13 - 8004138: 781b ldrb r3, [r3, #0] - 800413a: b2db uxtb r3, r3 - 800413c: 2b01 cmp r3, #1 - 800413e: d124 bne.n 800418a + 800423e: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 + 8004242: 493d ldr r1, [pc, #244] @ (8004338 ) + 8004244: 4613 mov r3, r2 + 8004246: 005b lsls r3, r3, #1 + 8004248: 4413 add r3, r2 + 800424a: 00db lsls r3, r3, #3 + 800424c: 440b add r3, r1 + 800424e: 330d adds r3, #13 + 8004250: 781b ldrb r3, [r3, #0] + 8004252: b2db uxtb r3, r3 + 8004254: 2b01 cmp r3, #1 + 8004256: d124 bne.n 80042a2 { UnlinkTimer(local_current_running_timer_id, SSR_Read_Not_Requested); - 8004140: f897 3023 ldrb.w r3, [r7, #35] @ 0x23 - 8004144: 2101 movs r1, #1 - 8004146: 4618 mov r0, r3 - 8004148: f7ff fdf2 bl 8003d30 - 800414c: 6a7b ldr r3, [r7, #36] @ 0x24 - 800414e: 613b str r3, [r7, #16] + 8004258: f897 3023 ldrb.w r3, [r7, #35] @ 0x23 + 800425c: 2101 movs r1, #1 + 800425e: 4618 mov r0, r3 + 8004260: f7ff fdf2 bl 8003e48 + 8004264: 6a7b ldr r3, [r7, #36] @ 0x24 + 8004266: 613b str r3, [r7, #16] \details Assigns the given value to the Priority Mask Register. \param [in] priMask Priority Mask */ __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) { __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8004150: 693b ldr r3, [r7, #16] - 8004152: f383 8810 msr PRIMASK, r3 + 8004268: 693b ldr r3, [r7, #16] + 800426a: f383 8810 msr PRIMASK, r3 } - 8004156: bf00 nop + 800426e: bf00 nop #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ #endif HW_TS_Start(local_current_running_timer_id, aTimerContext[local_current_running_timer_id].CounterInit); - 8004158: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 - 800415c: 4930 ldr r1, [pc, #192] @ (8004220 ) - 800415e: 4613 mov r3, r2 - 8004160: 005b lsls r3, r3, #1 - 8004162: 4413 add r3, r2 - 8004164: 00db lsls r3, r3, #3 - 8004166: 440b add r3, r1 - 8004168: 3304 adds r3, #4 - 800416a: 681a ldr r2, [r3, #0] - 800416c: f897 3023 ldrb.w r3, [r7, #35] @ 0x23 - 8004170: 4611 mov r1, r2 - 8004172: 4618 mov r0, r3 - 8004174: f000 f9b8 bl 80044e8 + 8004270: f897 2023 ldrb.w r2, [r7, #35] @ 0x23 + 8004274: 4930 ldr r1, [pc, #192] @ (8004338 ) + 8004276: 4613 mov r3, r2 + 8004278: 005b lsls r3, r3, #1 + 800427a: 4413 add r3, r2 + 800427c: 00db lsls r3, r3, #3 + 800427e: 440b add r3, r1 + 8004280: 3304 adds r3, #4 + 8004282: 681a ldr r2, [r3, #0] + 8004284: f897 3023 ldrb.w r3, [r7, #35] @ 0x23 + 8004288: 4611 mov r1, r2 + 800428a: 4618 mov r0, r3 + 800428c: f000 f9b8 bl 8004600 /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE( &hrtc ); - 8004178: 4b27 ldr r3, [pc, #156] @ (8004218 ) - 800417a: 681b ldr r3, [r3, #0] - 800417c: 22ca movs r2, #202 @ 0xca - 800417e: 625a str r2, [r3, #36] @ 0x24 - 8004180: 4b25 ldr r3, [pc, #148] @ (8004218 ) - 8004182: 681b ldr r3, [r3, #0] - 8004184: 2253 movs r2, #83 @ 0x53 - 8004186: 625a str r2, [r3, #36] @ 0x24 - 8004188: e012 b.n 80041b0 - 800418a: 6a7b ldr r3, [r7, #36] @ 0x24 - 800418c: 60fb str r3, [r7, #12] + 8004290: 4b27 ldr r3, [pc, #156] @ (8004330 ) + 8004292: 681b ldr r3, [r3, #0] + 8004294: 22ca movs r2, #202 @ 0xca + 8004296: 625a str r2, [r3, #36] @ 0x24 + 8004298: 4b25 ldr r3, [pc, #148] @ (8004330 ) + 800429a: 681b ldr r3, [r3, #0] + 800429c: 2253 movs r2, #83 @ 0x53 + 800429e: 625a str r2, [r3, #36] @ 0x24 + 80042a0: e012 b.n 80042c8 + 80042a2: 6a7b ldr r3, [r7, #36] @ 0x24 + 80042a4: 60fb str r3, [r7, #12] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 800418e: 68fb ldr r3, [r7, #12] - 8004190: f383 8810 msr PRIMASK, r3 + 80042a6: 68fb ldr r3, [r7, #12] + 80042a8: f383 8810 msr PRIMASK, r3 } - 8004194: bf00 nop + 80042ac: bf00 nop else { #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ #endif HW_TS_Stop(local_current_running_timer_id); - 8004196: f897 3023 ldrb.w r3, [r7, #35] @ 0x23 - 800419a: 4618 mov r0, r3 - 800419c: f000 f920 bl 80043e0 + 80042ae: f897 3023 ldrb.w r3, [r7, #35] @ 0x23 + 80042b2: 4618 mov r0, r3 + 80042b4: f000 f920 bl 80044f8 /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE( &hrtc ); - 80041a0: 4b1d ldr r3, [pc, #116] @ (8004218 ) - 80041a2: 681b ldr r3, [r3, #0] - 80041a4: 22ca movs r2, #202 @ 0xca - 80041a6: 625a str r2, [r3, #36] @ 0x24 - 80041a8: 4b1b ldr r3, [pc, #108] @ (8004218 ) - 80041aa: 681b ldr r3, [r3, #0] - 80041ac: 2253 movs r2, #83 @ 0x53 - 80041ae: 625a str r2, [r3, #36] @ 0x24 + 80042b8: 4b1d ldr r3, [pc, #116] @ (8004330 ) + 80042ba: 681b ldr r3, [r3, #0] + 80042bc: 22ca movs r2, #202 @ 0xca + 80042be: 625a str r2, [r3, #36] @ 0x24 + 80042c0: 4b1b ldr r3, [pc, #108] @ (8004330 ) + 80042c2: 681b ldr r3, [r3, #0] + 80042c4: 2253 movs r2, #83 @ 0x53 + 80042c6: 625a str r2, [r3, #36] @ 0x24 } HW_TS_RTC_Int_AppNot(timer_process_id, local_current_running_timer_id, ptimer_callback); - 80041b0: f897 3023 ldrb.w r3, [r7, #35] @ 0x23 - 80041b4: 69fa ldr r2, [r7, #28] - 80041b6: 4619 mov r1, r3 - 80041b8: 69b8 ldr r0, [r7, #24] - 80041ba: f000 fa1b bl 80045f4 - 80041be: e022 b.n 8004206 + 80042c8: f897 3023 ldrb.w r3, [r7, #35] @ 0x23 + 80042cc: 69fa ldr r2, [r7, #28] + 80042ce: 4619 mov r1, r3 + 80042d0: 69b8 ldr r0, [r7, #24] + 80042d2: f000 fa1b bl 800470c + 80042d6: e022 b.n 800431e } else { RescheduleTimerList(); - 80041c0: f7ff fed2 bl 8003f68 - 80041c4: 6a7b ldr r3, [r7, #36] @ 0x24 - 80041c6: 60bb str r3, [r7, #8] + 80042d8: f7ff fed2 bl 8004080 + 80042dc: 6a7b ldr r3, [r7, #36] @ 0x24 + 80042de: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 80041c8: 68bb ldr r3, [r7, #8] - 80041ca: f383 8810 msr PRIMASK, r3 + 80042e0: 68bb ldr r3, [r7, #8] + 80042e2: f383 8810 msr PRIMASK, r3 } - 80041ce: e01a b.n 8004206 + 80042e6: e01a b.n 800431e /** * We should never end up in this case * However, if due to any bug in the timer server this is the case, the mistake may not impact the user. * We could just clean the interrupt flag and get out from this unexpected interrupt */ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(&hrtc, RTC_FLAG_WUTWF) == RESET); - 80041d0: bf00 nop - 80041d2: 4b11 ldr r3, [pc, #68] @ (8004218 ) - 80041d4: 681b ldr r3, [r3, #0] - 80041d6: 68db ldr r3, [r3, #12] - 80041d8: f003 0304 and.w r3, r3, #4 - 80041dc: 2b00 cmp r3, #0 - 80041de: d0f8 beq.n 80041d2 + 80042e8: bf00 nop + 80042ea: 4b11 ldr r3, [pc, #68] @ (8004330 ) + 80042ec: 681b ldr r3, [r3, #0] + 80042ee: 68db ldr r3, [r3, #12] + 80042f0: f003 0304 and.w r3, r3, #4 + 80042f4: 2b00 cmp r3, #0 + 80042f6: d0f8 beq.n 80042ea * It takes 2 RTCCLK between the time the WUTE bit is disabled and the * time the timer is disabled. The WUTWF bit somehow guarantee the system is stable * Otherwise, when the timer is periodic with 1 Tick, it may generate an extra interrupt in between * due to the autoreload feature */ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&hrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */ - 80041e0: 4b0d ldr r3, [pc, #52] @ (8004218 ) - 80041e2: 681b ldr r3, [r3, #0] - 80041e4: 68db ldr r3, [r3, #12] - 80041e6: b2da uxtb r2, r3 - 80041e8: 4b0b ldr r3, [pc, #44] @ (8004218 ) - 80041ea: 681b ldr r3, [r3, #0] - 80041ec: f462 6290 orn r2, r2, #1152 @ 0x480 - 80041f0: 60da str r2, [r3, #12] + 80042f8: 4b0d ldr r3, [pc, #52] @ (8004330 ) + 80042fa: 681b ldr r3, [r3, #0] + 80042fc: 68db ldr r3, [r3, #12] + 80042fe: b2da uxtb r2, r3 + 8004300: 4b0b ldr r3, [pc, #44] @ (8004330 ) + 8004302: 681b ldr r3, [r3, #0] + 8004304: f462 6290 orn r2, r2, #1152 @ 0x480 + 8004308: 60da str r2, [r3, #12] __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */ - 80041f2: 4b0d ldr r3, [pc, #52] @ (8004228 ) - 80041f4: f44f 2200 mov.w r2, #524288 @ 0x80000 - 80041f8: 60da str r2, [r3, #12] - 80041fa: 6a7b ldr r3, [r7, #36] @ 0x24 - 80041fc: 607b str r3, [r7, #4] + 800430a: 4b0d ldr r3, [pc, #52] @ (8004340 ) + 800430c: f44f 2200 mov.w r2, #524288 @ 0x80000 + 8004310: 60da str r2, [r3, #12] + 8004312: 6a7b ldr r3, [r7, #36] @ 0x24 + 8004314: 607b str r3, [r7, #4] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 80041fe: 687b ldr r3, [r7, #4] - 8004200: f383 8810 msr PRIMASK, r3 + 8004316: 687b ldr r3, [r7, #4] + 8004318: f383 8810 msr PRIMASK, r3 } - 8004204: bf00 nop + 800431c: bf00 nop __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ #endif } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE( &hrtc ); - 8004206: 4b04 ldr r3, [pc, #16] @ (8004218 ) - 8004208: 681b ldr r3, [r3, #0] - 800420a: 22ff movs r2, #255 @ 0xff - 800420c: 625a str r2, [r3, #36] @ 0x24 + 800431e: 4b04 ldr r3, [pc, #16] @ (8004330 ) + 8004320: 681b ldr r3, [r3, #0] + 8004322: 22ff movs r2, #255 @ 0xff + 8004324: 625a str r2, [r3, #36] @ 0x24 return; - 800420e: bf00 nop + 8004326: bf00 nop } - 8004210: 3728 adds r7, #40 @ 0x28 - 8004212: 46bd mov sp, r7 - 8004214: bd80 pop {r7, pc} - 8004216: bf00 nop - 8004218: 20000504 .word 0x20000504 - 800421c: 200003a4 .word 0x200003a4 - 8004220: 20000314 .word 0x20000314 - 8004224: 200003ac .word 0x200003ac - 8004228: 58000800 .word 0x58000800 + 8004328: 3728 adds r7, #40 @ 0x28 + 800432a: 46bd mov sp, r7 + 800432c: bd80 pop {r7, pc} + 800432e: bf00 nop + 8004330: 20000504 .word 0x20000504 + 8004334: 200003a4 .word 0x200003a4 + 8004338: 20000314 .word 0x20000314 + 800433c: 200003ac .word 0x200003ac + 8004340: 58000800 .word 0x58000800 -0800422c : +08004344 : void HW_TS_Init(HW_TS_InitMode_t TimerInitMode, RTC_HandleTypeDef *phrtc) { - 800422c: b580 push {r7, lr} - 800422e: b088 sub sp, #32 - 8004230: af00 add r7, sp, #0 - 8004232: 4603 mov r3, r0 - 8004234: 6039 str r1, [r7, #0] - 8004236: 71fb strb r3, [r7, #7] + 8004344: b580 push {r7, lr} + 8004346: b088 sub sp, #32 + 8004348: af00 add r7, sp, #0 + 800434a: 4603 mov r3, r0 + 800434c: 6039 str r1, [r7, #0] + 800434e: 71fb strb r3, [r7, #7] uint8_t loop; uint32_t localmaxwakeuptimersetup; /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE( &hrtc ); - 8004238: 4b5e ldr r3, [pc, #376] @ (80043b4 ) - 800423a: 681b ldr r3, [r3, #0] - 800423c: 22ca movs r2, #202 @ 0xca - 800423e: 625a str r2, [r3, #36] @ 0x24 - 8004240: 4b5c ldr r3, [pc, #368] @ (80043b4 ) - 8004242: 681b ldr r3, [r3, #0] - 8004244: 2253 movs r2, #83 @ 0x53 - 8004246: 625a str r2, [r3, #36] @ 0x24 + 8004350: 4b5e ldr r3, [pc, #376] @ (80044cc ) + 8004352: 681b ldr r3, [r3, #0] + 8004354: 22ca movs r2, #202 @ 0xca + 8004356: 625a str r2, [r3, #36] @ 0x24 + 8004358: 4b5c ldr r3, [pc, #368] @ (80044cc ) + 800435a: 681b ldr r3, [r3, #0] + 800435c: 2253 movs r2, #83 @ 0x53 + 800435e: 625a str r2, [r3, #36] @ 0x24 SET_BIT(RTC->CR, RTC_CR_BYPSHAD); - 8004248: 4b5b ldr r3, [pc, #364] @ (80043b8 ) - 800424a: 689b ldr r3, [r3, #8] - 800424c: 4a5a ldr r2, [pc, #360] @ (80043b8 ) - 800424e: f043 0320 orr.w r3, r3, #32 - 8004252: 6093 str r3, [r2, #8] + 8004360: 4b5b ldr r3, [pc, #364] @ (80044d0 ) + 8004362: 689b ldr r3, [r3, #8] + 8004364: 4a5a ldr r2, [pc, #360] @ (80044d0 ) + 8004366: f043 0320 orr.w r3, r3, #32 + 800436a: 6093 str r3, [r2, #8] /** * Readout the user config */ WakeupTimerDivider = (4 - ((uint32_t)(READ_BIT(RTC->CR, RTC_CR_WUCKSEL)))); - 8004254: 4b58 ldr r3, [pc, #352] @ (80043b8 ) - 8004256: 689b ldr r3, [r3, #8] - 8004258: b2db uxtb r3, r3 - 800425a: f003 0307 and.w r3, r3, #7 - 800425e: b2db uxtb r3, r3 - 8004260: f1c3 0304 rsb r3, r3, #4 - 8004264: b2da uxtb r2, r3 - 8004266: 4b55 ldr r3, [pc, #340] @ (80043bc ) - 8004268: 701a strb r2, [r3, #0] + 800436c: 4b58 ldr r3, [pc, #352] @ (80044d0 ) + 800436e: 689b ldr r3, [r3, #8] + 8004370: b2db uxtb r3, r3 + 8004372: f003 0307 and.w r3, r3, #7 + 8004376: b2db uxtb r3, r3 + 8004378: f1c3 0304 rsb r3, r3, #4 + 800437c: b2da uxtb r2, r3 + 800437e: 4b55 ldr r3, [pc, #340] @ (80044d4 ) + 8004380: 701a strb r2, [r3, #0] AsynchPrescalerUserConfig = (uint8_t)(READ_BIT(RTC->PRER, RTC_PRER_PREDIV_A) >> (uint32_t)POSITION_VAL(RTC_PRER_PREDIV_A)) + 1; - 800426a: 4b53 ldr r3, [pc, #332] @ (80043b8 ) - 800426c: 691b ldr r3, [r3, #16] - 800426e: f403 03fe and.w r3, r3, #8323072 @ 0x7f0000 - 8004272: f44f 02fe mov.w r2, #8323072 @ 0x7f0000 - 8004276: 613a str r2, [r7, #16] + 8004382: 4b53 ldr r3, [pc, #332] @ (80044d0 ) + 8004384: 691b ldr r3, [r3, #16] + 8004386: f403 03fe and.w r3, r3, #8323072 @ 0x7f0000 + 800438a: f44f 02fe mov.w r2, #8323072 @ 0x7f0000 + 800438e: 613a str r2, [r7, #16] uint32_t result; #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) ); - 8004278: 693a ldr r2, [r7, #16] - 800427a: fa92 f2a2 rbit r2, r2 - 800427e: 60fa str r2, [r7, #12] + 8004390: 693a ldr r2, [r7, #16] + 8004392: fa92 f2a2 rbit r2, r2 + 8004396: 60fa str r2, [r7, #12] result |= value & 1U; s--; } result <<= s; /* shift when v's highest bits are zero */ #endif return result; - 8004280: 68fa ldr r2, [r7, #12] - 8004282: 617a str r2, [r7, #20] + 8004398: 68fa ldr r2, [r7, #12] + 800439a: 617a str r2, [r7, #20] optimisations using the logic "value was passed to __builtin_clz, so it is non-zero". ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a single CLZ instruction. */ if (value == 0U) - 8004284: 697a ldr r2, [r7, #20] - 8004286: 2a00 cmp r2, #0 - 8004288: d101 bne.n 800428e + 800439c: 697a ldr r2, [r7, #20] + 800439e: 2a00 cmp r2, #0 + 80043a0: d101 bne.n 80043a6 { return 32U; - 800428a: 2220 movs r2, #32 - 800428c: e003 b.n 8004296 + 80043a2: 2220 movs r2, #32 + 80043a4: e003 b.n 80043ae } return __builtin_clz(value); - 800428e: 697a ldr r2, [r7, #20] - 8004290: fab2 f282 clz r2, r2 - 8004294: b2d2 uxtb r2, r2 - 8004296: 40d3 lsrs r3, r2 - 8004298: b2db uxtb r3, r3 - 800429a: 3301 adds r3, #1 - 800429c: b2da uxtb r2, r3 - 800429e: 4b48 ldr r3, [pc, #288] @ (80043c0 ) - 80042a0: 701a strb r2, [r3, #0] + 80043a6: 697a ldr r2, [r7, #20] + 80043a8: fab2 f282 clz r2, r2 + 80043ac: b2d2 uxtb r2, r2 + 80043ae: 40d3 lsrs r3, r2 + 80043b0: b2db uxtb r3, r3 + 80043b2: 3301 adds r3, #1 + 80043b4: b2da uxtb r2, r3 + 80043b6: 4b48 ldr r3, [pc, #288] @ (80044d8 ) + 80043b8: 701a strb r2, [r3, #0] SynchPrescalerUserConfig = (uint16_t)(READ_BIT(RTC->PRER, RTC_PRER_PREDIV_S)) + 1; - 80042a2: 4b45 ldr r3, [pc, #276] @ (80043b8 ) - 80042a4: 691b ldr r3, [r3, #16] - 80042a6: b29b uxth r3, r3 - 80042a8: f3c3 030e ubfx r3, r3, #0, #15 - 80042ac: b29b uxth r3, r3 - 80042ae: 3301 adds r3, #1 - 80042b0: b29a uxth r2, r3 - 80042b2: 4b44 ldr r3, [pc, #272] @ (80043c4 ) - 80042b4: 801a strh r2, [r3, #0] + 80043ba: 4b45 ldr r3, [pc, #276] @ (80044d0 ) + 80043bc: 691b ldr r3, [r3, #16] + 80043be: b29b uxth r3, r3 + 80043c0: f3c3 030e ubfx r3, r3, #0, #15 + 80043c4: b29b uxth r3, r3 + 80043c6: 3301 adds r3, #1 + 80043c8: b29a uxth r2, r3 + 80043ca: 4b44 ldr r3, [pc, #272] @ (80044dc ) + 80043cc: 801a strh r2, [r3, #0] /** * Margin is taken to avoid wrong calculation when the wrap around is there and some * application interrupts may have delayed the reading */ localmaxwakeuptimersetup = ((((SynchPrescalerUserConfig - 1)*AsynchPrescalerUserConfig) - CFG_HW_TS_RTC_HANDLER_MAX_DELAY) >> WakeupTimerDivider); - 80042b6: 4b43 ldr r3, [pc, #268] @ (80043c4 ) - 80042b8: 881b ldrh r3, [r3, #0] - 80042ba: 3b01 subs r3, #1 - 80042bc: 4a40 ldr r2, [pc, #256] @ (80043c0 ) - 80042be: 7812 ldrb r2, [r2, #0] - 80042c0: fb02 f303 mul.w r3, r2, r3 - 80042c4: f5a3 73a0 sub.w r3, r3, #320 @ 0x140 - 80042c8: 4a3c ldr r2, [pc, #240] @ (80043bc ) - 80042ca: 7812 ldrb r2, [r2, #0] - 80042cc: 40d3 lsrs r3, r2 - 80042ce: 61bb str r3, [r7, #24] + 80043ce: 4b43 ldr r3, [pc, #268] @ (80044dc ) + 80043d0: 881b ldrh r3, [r3, #0] + 80043d2: 3b01 subs r3, #1 + 80043d4: 4a40 ldr r2, [pc, #256] @ (80044d8 ) + 80043d6: 7812 ldrb r2, [r2, #0] + 80043d8: fb02 f303 mul.w r3, r2, r3 + 80043dc: f5a3 73a0 sub.w r3, r3, #320 @ 0x140 + 80043e0: 4a3c ldr r2, [pc, #240] @ (80044d4 ) + 80043e2: 7812 ldrb r2, [r2, #0] + 80043e4: 40d3 lsrs r3, r2 + 80043e6: 61bb str r3, [r7, #24] if(localmaxwakeuptimersetup >= 0xFFFF) - 80042d0: 69bb ldr r3, [r7, #24] - 80042d2: f64f 72fe movw r2, #65534 @ 0xfffe - 80042d6: 4293 cmp r3, r2 - 80042d8: d904 bls.n 80042e4 + 80043e8: 69bb ldr r3, [r7, #24] + 80043ea: f64f 72fe movw r2, #65534 @ 0xfffe + 80043ee: 4293 cmp r3, r2 + 80043f0: d904 bls.n 80043fc { MaxWakeupTimerSetup = 0xFFFF; - 80042da: 4b3b ldr r3, [pc, #236] @ (80043c8 ) - 80042dc: f64f 72ff movw r2, #65535 @ 0xffff - 80042e0: 801a strh r2, [r3, #0] - 80042e2: e003 b.n 80042ec + 80043f2: 4b3b ldr r3, [pc, #236] @ (80044e0 ) + 80043f4: f64f 72ff movw r2, #65535 @ 0xffff + 80043f8: 801a strh r2, [r3, #0] + 80043fa: e003 b.n 8004404 } else { MaxWakeupTimerSetup = (uint16_t)localmaxwakeuptimersetup; - 80042e4: 69bb ldr r3, [r7, #24] - 80042e6: b29a uxth r2, r3 - 80042e8: 4b37 ldr r3, [pc, #220] @ (80043c8 ) - 80042ea: 801a strh r2, [r3, #0] + 80043fc: 69bb ldr r3, [r7, #24] + 80043fe: b29a uxth r2, r3 + 8004400: 4b37 ldr r3, [pc, #220] @ (80044e0 ) + 8004402: 801a strh r2, [r3, #0] } /** * Configure EXTI module */ LL_EXTI_EnableRisingTrig_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT); - 80042ec: f44f 2000 mov.w r0, #524288 @ 0x80000 - 80042f0: f7ff fb9c bl 8003a2c + 8004404: f44f 2000 mov.w r0, #524288 @ 0x80000 + 8004408: f7ff fb9c bl 8003b44 LL_EXTI_EnableIT_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT); - 80042f4: f44f 2000 mov.w r0, #524288 @ 0x80000 - 80042f8: f7ff fb84 bl 8003a04 + 800440c: f44f 2000 mov.w r0, #524288 @ 0x80000 + 8004410: f7ff fb84 bl 8003b1c if(TimerInitMode == hw_ts_InitMode_Full) - 80042fc: 79fb ldrb r3, [r7, #7] - 80042fe: 2b00 cmp r3, #0 - 8004300: d13d bne.n 800437e + 8004414: 79fb ldrb r3, [r7, #7] + 8004416: 2b00 cmp r3, #0 + 8004418: d13d bne.n 8004496 { WakeupTimerLimitation = WakeupTimerValue_LargeEnough; - 8004302: 4b32 ldr r3, [pc, #200] @ (80043cc ) - 8004304: 2201 movs r2, #1 - 8004306: 701a strb r2, [r3, #0] + 800441a: 4b32 ldr r3, [pc, #200] @ (80044e4 ) + 800441c: 2201 movs r2, #1 + 800441e: 701a strb r2, [r3, #0] SSRValueOnLastSetup = SSR_FORBIDDEN_VALUE; - 8004308: 4b31 ldr r3, [pc, #196] @ (80043d0 ) - 800430a: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 800430e: 601a str r2, [r3, #0] + 8004420: 4b31 ldr r3, [pc, #196] @ (80044e8 ) + 8004422: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8004426: 601a str r2, [r3, #0] /** * Initialize the timer server */ for(loop = 0; loop < CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER; loop++) - 8004310: 2300 movs r3, #0 - 8004312: 77fb strb r3, [r7, #31] - 8004314: e00c b.n 8004330 + 8004428: 2300 movs r3, #0 + 800442a: 77fb strb r3, [r7, #31] + 800442c: e00c b.n 8004448 { aTimerContext[loop].TimerIDStatus = TimerID_Free; - 8004316: 7ffa ldrb r2, [r7, #31] - 8004318: 492e ldr r1, [pc, #184] @ (80043d4 ) - 800431a: 4613 mov r3, r2 - 800431c: 005b lsls r3, r3, #1 - 800431e: 4413 add r3, r2 - 8004320: 00db lsls r3, r3, #3 - 8004322: 440b add r3, r1 - 8004324: 330c adds r3, #12 - 8004326: 2200 movs r2, #0 - 8004328: 701a strb r2, [r3, #0] + 800442e: 7ffa ldrb r2, [r7, #31] + 8004430: 492e ldr r1, [pc, #184] @ (80044ec ) + 8004432: 4613 mov r3, r2 + 8004434: 005b lsls r3, r3, #1 + 8004436: 4413 add r3, r2 + 8004438: 00db lsls r3, r3, #3 + 800443a: 440b add r3, r1 + 800443c: 330c adds r3, #12 + 800443e: 2200 movs r2, #0 + 8004440: 701a strb r2, [r3, #0] for(loop = 0; loop < CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER; loop++) - 800432a: 7ffb ldrb r3, [r7, #31] - 800432c: 3301 adds r3, #1 - 800432e: 77fb strb r3, [r7, #31] - 8004330: 7ffb ldrb r3, [r7, #31] - 8004332: 2b05 cmp r3, #5 - 8004334: d9ef bls.n 8004316 + 8004442: 7ffb ldrb r3, [r7, #31] + 8004444: 3301 adds r3, #1 + 8004446: 77fb strb r3, [r7, #31] + 8004448: 7ffb ldrb r3, [r7, #31] + 800444a: 2b05 cmp r3, #5 + 800444c: d9ef bls.n 800442e } CurrentRunningTimerID = CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER; /**< Set ID to non valid value */ - 8004336: 4b28 ldr r3, [pc, #160] @ (80043d8 ) - 8004338: 2206 movs r2, #6 - 800433a: 701a strb r2, [r3, #0] + 800444e: 4b28 ldr r3, [pc, #160] @ (80044f0 ) + 8004450: 2206 movs r2, #6 + 8004452: 701a strb r2, [r3, #0] __HAL_RTC_WAKEUPTIMER_DISABLE(&hrtc); /**< Disable the Wakeup Timer */ - 800433c: 4b1d ldr r3, [pc, #116] @ (80043b4 ) - 800433e: 681b ldr r3, [r3, #0] - 8004340: 689a ldr r2, [r3, #8] - 8004342: 4b1c ldr r3, [pc, #112] @ (80043b4 ) - 8004344: 681b ldr r3, [r3, #0] - 8004346: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 800434a: 609a str r2, [r3, #8] + 8004454: 4b1d ldr r3, [pc, #116] @ (80044cc ) + 8004456: 681b ldr r3, [r3, #0] + 8004458: 689a ldr r2, [r3, #8] + 800445a: 4b1c ldr r3, [pc, #112] @ (80044cc ) + 800445c: 681b ldr r3, [r3, #0] + 800445e: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 8004462: 609a str r2, [r3, #8] __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&hrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */ - 800434c: 4b19 ldr r3, [pc, #100] @ (80043b4 ) - 800434e: 681b ldr r3, [r3, #0] - 8004350: 68db ldr r3, [r3, #12] - 8004352: b2da uxtb r2, r3 - 8004354: 4b17 ldr r3, [pc, #92] @ (80043b4 ) - 8004356: 681b ldr r3, [r3, #0] - 8004358: f462 6290 orn r2, r2, #1152 @ 0x480 - 800435c: 60da str r2, [r3, #12] + 8004464: 4b19 ldr r3, [pc, #100] @ (80044cc ) + 8004466: 681b ldr r3, [r3, #0] + 8004468: 68db ldr r3, [r3, #12] + 800446a: b2da uxtb r2, r3 + 800446c: 4b17 ldr r3, [pc, #92] @ (80044cc ) + 800446e: 681b ldr r3, [r3, #0] + 8004470: f462 6290 orn r2, r2, #1152 @ 0x480 + 8004474: 60da str r2, [r3, #12] __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */ - 800435e: 4b1f ldr r3, [pc, #124] @ (80043dc ) - 8004360: f44f 2200 mov.w r2, #524288 @ 0x80000 - 8004364: 60da str r2, [r3, #12] + 8004476: 4b1f ldr r3, [pc, #124] @ (80044f4 ) + 8004478: f44f 2200 mov.w r2, #524288 @ 0x80000 + 800447c: 60da str r2, [r3, #12] HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */ - 8004366: 2003 movs r0, #3 - 8004368: f002 f9f6 bl 8006758 + 800447e: 2003 movs r0, #3 + 8004480: f002 fbe8 bl 8006c54 __HAL_RTC_WAKEUPTIMER_ENABLE_IT(&hrtc, RTC_IT_WUT); /**< Enable interrupt in RTC module */ - 800436c: 4b11 ldr r3, [pc, #68] @ (80043b4 ) - 800436e: 681b ldr r3, [r3, #0] - 8004370: 689a ldr r2, [r3, #8] - 8004372: 4b10 ldr r3, [pc, #64] @ (80043b4 ) - 8004374: 681b ldr r3, [r3, #0] - 8004376: f442 4280 orr.w r2, r2, #16384 @ 0x4000 - 800437a: 609a str r2, [r3, #8] - 800437c: e009 b.n 8004392 + 8004484: 4b11 ldr r3, [pc, #68] @ (80044cc ) + 8004486: 681b ldr r3, [r3, #0] + 8004488: 689a ldr r2, [r3, #8] + 800448a: 4b10 ldr r3, [pc, #64] @ (80044cc ) + 800448c: 681b ldr r3, [r3, #0] + 800448e: f442 4280 orr.w r2, r2, #16384 @ 0x4000 + 8004492: 609a str r2, [r3, #8] + 8004494: e009 b.n 80044aa } else { if(__HAL_RTC_WAKEUPTIMER_GET_FLAG(&hrtc, RTC_FLAG_WUTF) != RESET) - 800437e: 4b0d ldr r3, [pc, #52] @ (80043b4 ) - 8004380: 681b ldr r3, [r3, #0] - 8004382: 68db ldr r3, [r3, #12] - 8004384: f403 6380 and.w r3, r3, #1024 @ 0x400 - 8004388: 2b00 cmp r3, #0 - 800438a: d002 beq.n 8004392 + 8004496: 4b0d ldr r3, [pc, #52] @ (80044cc ) + 8004498: 681b ldr r3, [r3, #0] + 800449a: 68db ldr r3, [r3, #12] + 800449c: f403 6380 and.w r3, r3, #1024 @ 0x400 + 80044a0: 2b00 cmp r3, #0 + 80044a2: d002 beq.n 80044aa { /** * Simulate that the Timer expired */ HAL_NVIC_SetPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); - 800438c: 2003 movs r0, #3 - 800438e: f002 f9d5 bl 800673c + 80044a4: 2003 movs r0, #3 + 80044a6: f002 fbc7 bl 8006c38 } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE( &hrtc ); - 8004392: 4b08 ldr r3, [pc, #32] @ (80043b4 ) - 8004394: 681b ldr r3, [r3, #0] - 8004396: 22ff movs r2, #255 @ 0xff - 8004398: 625a str r2, [r3, #36] @ 0x24 + 80044aa: 4b08 ldr r3, [pc, #32] @ (80044cc ) + 80044ac: 681b ldr r3, [r3, #0] + 80044ae: 22ff movs r2, #255 @ 0xff + 80044b0: 625a str r2, [r3, #36] @ 0x24 HAL_NVIC_SetPriority(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID, CFG_HW_TS_NVIC_RTC_WAKEUP_IT_PREEMPTPRIO, CFG_HW_TS_NVIC_RTC_WAKEUP_IT_SUBPRIO); /**< Set NVIC priority */ - 800439a: 2200 movs r2, #0 - 800439c: 2106 movs r1, #6 - 800439e: 2003 movs r0, #3 - 80043a0: f002 f996 bl 80066d0 + 80044b2: 2200 movs r2, #0 + 80044b4: 2106 movs r1, #6 + 80044b6: 2003 movs r0, #3 + 80044b8: f002 fb88 bl 8006bcc HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */ - 80043a4: 2003 movs r0, #3 - 80043a6: f002 f9ad bl 8006704 + 80044bc: 2003 movs r0, #3 + 80044be: f002 fb9f bl 8006c00 return; - 80043aa: bf00 nop + 80044c2: bf00 nop } - 80043ac: 3720 adds r7, #32 - 80043ae: 46bd mov sp, r7 - 80043b0: bd80 pop {r7, pc} - 80043b2: bf00 nop - 80043b4: 20000504 .word 0x20000504 - 80043b8: 40002800 .word 0x40002800 - 80043bc: 200003ad .word 0x200003ad - 80043c0: 200003ae .word 0x200003ae - 80043c4: 200003b0 .word 0x200003b0 - 80043c8: 200003b2 .word 0x200003b2 - 80043cc: 200003ac .word 0x200003ac - 80043d0: 200003a8 .word 0x200003a8 - 80043d4: 20000314 .word 0x20000314 - 80043d8: 200003a4 .word 0x200003a4 - 80043dc: 58000800 .word 0x58000800 + 80044c4: 3720 adds r7, #32 + 80044c6: 46bd mov sp, r7 + 80044c8: bd80 pop {r7, pc} + 80044ca: bf00 nop + 80044cc: 20000504 .word 0x20000504 + 80044d0: 40002800 .word 0x40002800 + 80044d4: 200003ad .word 0x200003ad + 80044d8: 200003ae .word 0x200003ae + 80044dc: 200003b0 .word 0x200003b0 + 80044e0: 200003b2 .word 0x200003b2 + 80044e4: 200003ac .word 0x200003ac + 80044e8: 200003a8 .word 0x200003a8 + 80044ec: 20000314 .word 0x20000314 + 80044f0: 200003a4 .word 0x200003a4 + 80044f4: 58000800 .word 0x58000800 -080043e0 : +080044f8 : return; } void HW_TS_Stop(uint8_t timer_id) { - 80043e0: b580 push {r7, lr} - 80043e2: b086 sub sp, #24 - 80043e4: af00 add r7, sp, #0 - 80043e6: 4603 mov r3, r0 - 80043e8: 71fb strb r3, [r7, #7] + 80044f8: b580 push {r7, lr} + 80044fa: b086 sub sp, #24 + 80044fc: af00 add r7, sp, #0 + 80044fe: 4603 mov r3, r0 + 8004500: 71fb strb r3, [r7, #7] __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 80043ea: f3ef 8310 mrs r3, PRIMASK - 80043ee: 60fb str r3, [r7, #12] + 8004502: f3ef 8310 mrs r3, PRIMASK + 8004506: 60fb str r3, [r7, #12] return(result); - 80043f0: 68fb ldr r3, [r7, #12] + 8004508: 68fb ldr r3, [r7, #12] #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) uint32_t primask_bit; #endif #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */ - 80043f2: 617b str r3, [r7, #20] + 800450a: 617b str r3, [r7, #20] __ASM volatile ("cpsid i" : : : "memory"); - 80043f4: b672 cpsid i + 800450c: b672 cpsid i } - 80043f6: bf00 nop + 800450e: bf00 nop __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/ #endif HAL_NVIC_DisableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Disable NVIC */ - 80043f8: 2003 movs r0, #3 - 80043fa: f002 f991 bl 8006720 + 8004510: 2003 movs r0, #3 + 8004512: f002 fb83 bl 8006c1c /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE( &hrtc ); - 80043fe: 4b34 ldr r3, [pc, #208] @ (80044d0 ) - 8004400: 681b ldr r3, [r3, #0] - 8004402: 22ca movs r2, #202 @ 0xca - 8004404: 625a str r2, [r3, #36] @ 0x24 - 8004406: 4b32 ldr r3, [pc, #200] @ (80044d0 ) - 8004408: 681b ldr r3, [r3, #0] - 800440a: 2253 movs r2, #83 @ 0x53 - 800440c: 625a str r2, [r3, #36] @ 0x24 + 8004516: 4b34 ldr r3, [pc, #208] @ (80045e8 ) + 8004518: 681b ldr r3, [r3, #0] + 800451a: 22ca movs r2, #202 @ 0xca + 800451c: 625a str r2, [r3, #36] @ 0x24 + 800451e: 4b32 ldr r3, [pc, #200] @ (80045e8 ) + 8004520: 681b ldr r3, [r3, #0] + 8004522: 2253 movs r2, #83 @ 0x53 + 8004524: 625a str r2, [r3, #36] @ 0x24 if(aTimerContext[timer_id].TimerIDStatus == TimerID_Running) - 800440e: 79fa ldrb r2, [r7, #7] - 8004410: 4930 ldr r1, [pc, #192] @ (80044d4 ) - 8004412: 4613 mov r3, r2 - 8004414: 005b lsls r3, r3, #1 - 8004416: 4413 add r3, r2 - 8004418: 00db lsls r3, r3, #3 - 800441a: 440b add r3, r1 - 800441c: 330c adds r3, #12 - 800441e: 781b ldrb r3, [r3, #0] - 8004420: b2db uxtb r3, r3 - 8004422: 2b02 cmp r3, #2 - 8004424: d142 bne.n 80044ac + 8004526: 79fa ldrb r2, [r7, #7] + 8004528: 4930 ldr r1, [pc, #192] @ (80045ec ) + 800452a: 4613 mov r3, r2 + 800452c: 005b lsls r3, r3, #1 + 800452e: 4413 add r3, r2 + 8004530: 00db lsls r3, r3, #3 + 8004532: 440b add r3, r1 + 8004534: 330c adds r3, #12 + 8004536: 781b ldrb r3, [r3, #0] + 8004538: b2db uxtb r3, r3 + 800453a: 2b02 cmp r3, #2 + 800453c: d142 bne.n 80045c4 { UnlinkTimer(timer_id, SSR_Read_Requested); - 8004426: 79fb ldrb r3, [r7, #7] - 8004428: 2100 movs r1, #0 - 800442a: 4618 mov r0, r3 - 800442c: f7ff fc80 bl 8003d30 + 800453e: 79fb ldrb r3, [r7, #7] + 8004540: 2100 movs r1, #0 + 8004542: 4618 mov r0, r3 + 8004544: f7ff fc80 bl 8003e48 localcurrentrunningtimerid = CurrentRunningTimerID; - 8004430: 4b29 ldr r3, [pc, #164] @ (80044d8 ) - 8004432: 781b ldrb r3, [r3, #0] - 8004434: 74fb strb r3, [r7, #19] + 8004548: 4b29 ldr r3, [pc, #164] @ (80045f0 ) + 800454a: 781b ldrb r3, [r3, #0] + 800454c: 74fb strb r3, [r7, #19] if(localcurrentrunningtimerid == CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER) - 8004436: 7cfb ldrb r3, [r7, #19] - 8004438: 2b06 cmp r3, #6 - 800443a: d12f bne.n 800449c + 800454e: 7cfb ldrb r3, [r7, #19] + 8004550: 2b06 cmp r3, #6 + 8004552: d12f bne.n 80045b4 */ /** * Disable the timer */ if((READ_BIT(RTC->CR, RTC_CR_WUTE) == (RTC_CR_WUTE)) == SET) - 800443c: 4b27 ldr r3, [pc, #156] @ (80044dc ) - 800443e: 689b ldr r3, [r3, #8] - 8004440: f403 6380 and.w r3, r3, #1024 @ 0x400 - 8004444: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 8004448: d107 bne.n 800445a + 8004554: 4b27 ldr r3, [pc, #156] @ (80045f4 ) + 8004556: 689b ldr r3, [r3, #8] + 8004558: f403 6380 and.w r3, r3, #1024 @ 0x400 + 800455c: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 8004560: d107 bne.n 8004572 { /** * Wait for the flag to be back to 0 when the wakeup timer is enabled */ while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(&hrtc, RTC_FLAG_WUTWF) == SET); - 800444a: bf00 nop - 800444c: 4b20 ldr r3, [pc, #128] @ (80044d0 ) - 800444e: 681b ldr r3, [r3, #0] - 8004450: 68db ldr r3, [r3, #12] - 8004452: f003 0304 and.w r3, r3, #4 - 8004456: 2b00 cmp r3, #0 - 8004458: d1f8 bne.n 800444c + 8004562: bf00 nop + 8004564: 4b20 ldr r3, [pc, #128] @ (80045e8 ) + 8004566: 681b ldr r3, [r3, #0] + 8004568: 68db ldr r3, [r3, #12] + 800456a: f003 0304 and.w r3, r3, #4 + 800456e: 2b00 cmp r3, #0 + 8004570: d1f8 bne.n 8004564 } __HAL_RTC_WAKEUPTIMER_DISABLE(&hrtc); /**< Disable the Wakeup Timer */ - 800445a: 4b1d ldr r3, [pc, #116] @ (80044d0 ) - 800445c: 681b ldr r3, [r3, #0] - 800445e: 689a ldr r2, [r3, #8] - 8004460: 4b1b ldr r3, [pc, #108] @ (80044d0 ) - 8004462: 681b ldr r3, [r3, #0] - 8004464: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 8004468: 609a str r2, [r3, #8] + 8004572: 4b1d ldr r3, [pc, #116] @ (80045e8 ) + 8004574: 681b ldr r3, [r3, #0] + 8004576: 689a ldr r2, [r3, #8] + 8004578: 4b1b ldr r3, [pc, #108] @ (80045e8 ) + 800457a: 681b ldr r3, [r3, #0] + 800457c: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 8004580: 609a str r2, [r3, #8] while(__HAL_RTC_WAKEUPTIMER_GET_FLAG(&hrtc, RTC_FLAG_WUTWF) == RESET); - 800446a: bf00 nop - 800446c: 4b18 ldr r3, [pc, #96] @ (80044d0 ) - 800446e: 681b ldr r3, [r3, #0] - 8004470: 68db ldr r3, [r3, #12] - 8004472: f003 0304 and.w r3, r3, #4 - 8004476: 2b00 cmp r3, #0 - 8004478: d0f8 beq.n 800446c + 8004582: bf00 nop + 8004584: 4b18 ldr r3, [pc, #96] @ (80045e8 ) + 8004586: 681b ldr r3, [r3, #0] + 8004588: 68db ldr r3, [r3, #12] + 800458a: f003 0304 and.w r3, r3, #4 + 800458e: 2b00 cmp r3, #0 + 8004590: d0f8 beq.n 8004584 * It takes 2 RTCCLK between the time the WUTE bit is disabled and the * time the timer is disabled. The WUTWF bit somehow guarantee the system is stable * Otherwise, when the timer is periodic with 1 Tick, it may generate an extra interrupt in between * due to the autoreload feature */ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&hrtc, RTC_FLAG_WUTF); /**< Clear flag in RTC module */ - 800447a: 4b15 ldr r3, [pc, #84] @ (80044d0 ) - 800447c: 681b ldr r3, [r3, #0] - 800447e: 68db ldr r3, [r3, #12] - 8004480: b2da uxtb r2, r3 - 8004482: 4b13 ldr r3, [pc, #76] @ (80044d0 ) - 8004484: 681b ldr r3, [r3, #0] - 8004486: f462 6290 orn r2, r2, #1152 @ 0x480 - 800448a: 60da str r2, [r3, #12] + 8004592: 4b15 ldr r3, [pc, #84] @ (80045e8 ) + 8004594: 681b ldr r3, [r3, #0] + 8004596: 68db ldr r3, [r3, #12] + 8004598: b2da uxtb r2, r3 + 800459a: 4b13 ldr r3, [pc, #76] @ (80045e8 ) + 800459c: 681b ldr r3, [r3, #0] + 800459e: f462 6290 orn r2, r2, #1152 @ 0x480 + 80045a2: 60da str r2, [r3, #12] __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); /**< Clear flag in EXTI module */ - 800448c: 4b14 ldr r3, [pc, #80] @ (80044e0 ) - 800448e: f44f 2200 mov.w r2, #524288 @ 0x80000 - 8004492: 60da str r2, [r3, #12] + 80045a4: 4b14 ldr r3, [pc, #80] @ (80045f8 ) + 80045a6: f44f 2200 mov.w r2, #524288 @ 0x80000 + 80045aa: 60da str r2, [r3, #12] HAL_NVIC_ClearPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Clear pending bit in NVIC */ - 8004494: 2003 movs r0, #3 - 8004496: f002 f95f bl 8006758 - 800449a: e007 b.n 80044ac + 80045ac: 2003 movs r0, #3 + 80045ae: f002 fb51 bl 8006c54 + 80045b2: e007 b.n 80045c4 } else if(PreviousRunningTimerID != localcurrentrunningtimerid) - 800449c: 4b11 ldr r3, [pc, #68] @ (80044e4 ) - 800449e: 781b ldrb r3, [r3, #0] - 80044a0: b2db uxtb r3, r3 - 80044a2: 7cfa ldrb r2, [r7, #19] - 80044a4: 429a cmp r2, r3 - 80044a6: d001 beq.n 80044ac + 80045b4: 4b11 ldr r3, [pc, #68] @ (80045fc ) + 80045b6: 781b ldrb r3, [r3, #0] + 80045b8: b2db uxtb r3, r3 + 80045ba: 7cfa ldrb r2, [r7, #19] + 80045bc: 429a cmp r2, r3 + 80045be: d001 beq.n 80045c4 { RescheduleTimerList(); - 80044a8: f7ff fd5e bl 8003f68 + 80045c0: f7ff fd5e bl 8004080 } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE( &hrtc ); - 80044ac: 4b08 ldr r3, [pc, #32] @ (80044d0 ) - 80044ae: 681b ldr r3, [r3, #0] - 80044b0: 22ff movs r2, #255 @ 0xff - 80044b2: 625a str r2, [r3, #36] @ 0x24 + 80045c4: 4b08 ldr r3, [pc, #32] @ (80045e8 ) + 80045c6: 681b ldr r3, [r3, #0] + 80045c8: 22ff movs r2, #255 @ 0xff + 80045ca: 625a str r2, [r3, #36] @ 0x24 HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */ - 80044b4: 2003 movs r0, #3 - 80044b6: f002 f925 bl 8006704 - 80044ba: 697b ldr r3, [r7, #20] - 80044bc: 60bb str r3, [r7, #8] + 80045cc: 2003 movs r0, #3 + 80045ce: f002 fb17 bl 8006c00 + 80045d2: 697b ldr r3, [r7, #20] + 80045d4: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 80044be: 68bb ldr r3, [r7, #8] - 80044c0: f383 8810 msr PRIMASK, r3 + 80045d6: 68bb ldr r3, [r7, #8] + 80045d8: f383 8810 msr PRIMASK, r3 } - 80044c4: bf00 nop + 80045dc: bf00 nop #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ #endif return; - 80044c6: bf00 nop + 80045de: bf00 nop } - 80044c8: 3718 adds r7, #24 - 80044ca: 46bd mov sp, r7 - 80044cc: bd80 pop {r7, pc} - 80044ce: bf00 nop - 80044d0: 20000504 .word 0x20000504 - 80044d4: 20000314 .word 0x20000314 - 80044d8: 200003a4 .word 0x200003a4 - 80044dc: 40002800 .word 0x40002800 - 80044e0: 58000800 .word 0x58000800 - 80044e4: 200003a5 .word 0x200003a5 + 80045e0: 3718 adds r7, #24 + 80045e2: 46bd mov sp, r7 + 80045e4: bd80 pop {r7, pc} + 80045e6: bf00 nop + 80045e8: 20000504 .word 0x20000504 + 80045ec: 20000314 .word 0x20000314 + 80045f0: 200003a4 .word 0x200003a4 + 80045f4: 40002800 .word 0x40002800 + 80045f8: 58000800 .word 0x58000800 + 80045fc: 200003a5 .word 0x200003a5 -080044e8 : +08004600 : void HW_TS_Start(uint8_t timer_id, uint32_t timeout_ticks) { - 80044e8: b580 push {r7, lr} - 80044ea: b086 sub sp, #24 - 80044ec: af00 add r7, sp, #0 - 80044ee: 4603 mov r3, r0 - 80044f0: 6039 str r1, [r7, #0] - 80044f2: 71fb strb r3, [r7, #7] + 8004600: b580 push {r7, lr} + 8004602: b086 sub sp, #24 + 8004604: af00 add r7, sp, #0 + 8004606: 4603 mov r3, r0 + 8004608: 6039 str r1, [r7, #0] + 800460a: 71fb strb r3, [r7, #7] #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) uint32_t primask_bit; #endif if(aTimerContext[timer_id].TimerIDStatus == TimerID_Running) - 80044f4: 79fa ldrb r2, [r7, #7] - 80044f6: 493b ldr r1, [pc, #236] @ (80045e4 ) - 80044f8: 4613 mov r3, r2 - 80044fa: 005b lsls r3, r3, #1 - 80044fc: 4413 add r3, r2 - 80044fe: 00db lsls r3, r3, #3 - 8004500: 440b add r3, r1 - 8004502: 330c adds r3, #12 - 8004504: 781b ldrb r3, [r3, #0] - 8004506: b2db uxtb r3, r3 - 8004508: 2b02 cmp r3, #2 - 800450a: d103 bne.n 8004514 + 800460c: 79fa ldrb r2, [r7, #7] + 800460e: 493b ldr r1, [pc, #236] @ (80046fc ) + 8004610: 4613 mov r3, r2 + 8004612: 005b lsls r3, r3, #1 + 8004614: 4413 add r3, r2 + 8004616: 00db lsls r3, r3, #3 + 8004618: 440b add r3, r1 + 800461a: 330c adds r3, #12 + 800461c: 781b ldrb r3, [r3, #0] + 800461e: b2db uxtb r3, r3 + 8004620: 2b02 cmp r3, #2 + 8004622: d103 bne.n 800462c { HW_TS_Stop( timer_id ); - 800450c: 79fb ldrb r3, [r7, #7] - 800450e: 4618 mov r0, r3 - 8004510: f7ff ff66 bl 80043e0 + 8004624: 79fb ldrb r3, [r7, #7] + 8004626: 4618 mov r0, r3 + 8004628: f7ff ff66 bl 80044f8 __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8004514: f3ef 8310 mrs r3, PRIMASK - 8004518: 60fb str r3, [r7, #12] + 800462c: f3ef 8310 mrs r3, PRIMASK + 8004630: 60fb str r3, [r7, #12] return(result); - 800451a: 68fb ldr r3, [r7, #12] + 8004632: 68fb ldr r3, [r7, #12] } #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */ - 800451c: 617b str r3, [r7, #20] + 8004634: 617b str r3, [r7, #20] __ASM volatile ("cpsid i" : : : "memory"); - 800451e: b672 cpsid i + 8004636: b672 cpsid i } - 8004520: bf00 nop + 8004638: bf00 nop __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/ #endif HAL_NVIC_DisableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Disable NVIC */ - 8004522: 2003 movs r0, #3 - 8004524: f002 f8fc bl 8006720 + 800463a: 2003 movs r0, #3 + 800463c: f002 faee bl 8006c1c /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE( &hrtc ); - 8004528: 4b2f ldr r3, [pc, #188] @ (80045e8 ) - 800452a: 681b ldr r3, [r3, #0] - 800452c: 22ca movs r2, #202 @ 0xca - 800452e: 625a str r2, [r3, #36] @ 0x24 - 8004530: 4b2d ldr r3, [pc, #180] @ (80045e8 ) - 8004532: 681b ldr r3, [r3, #0] - 8004534: 2253 movs r2, #83 @ 0x53 - 8004536: 625a str r2, [r3, #36] @ 0x24 + 8004640: 4b2f ldr r3, [pc, #188] @ (8004700 ) + 8004642: 681b ldr r3, [r3, #0] + 8004644: 22ca movs r2, #202 @ 0xca + 8004646: 625a str r2, [r3, #36] @ 0x24 + 8004648: 4b2d ldr r3, [pc, #180] @ (8004700 ) + 800464a: 681b ldr r3, [r3, #0] + 800464c: 2253 movs r2, #83 @ 0x53 + 800464e: 625a str r2, [r3, #36] @ 0x24 aTimerContext[timer_id].TimerIDStatus = TimerID_Running; - 8004538: 79fa ldrb r2, [r7, #7] - 800453a: 492a ldr r1, [pc, #168] @ (80045e4 ) - 800453c: 4613 mov r3, r2 - 800453e: 005b lsls r3, r3, #1 - 8004540: 4413 add r3, r2 - 8004542: 00db lsls r3, r3, #3 - 8004544: 440b add r3, r1 - 8004546: 330c adds r3, #12 - 8004548: 2202 movs r2, #2 - 800454a: 701a strb r2, [r3, #0] + 8004650: 79fa ldrb r2, [r7, #7] + 8004652: 492a ldr r1, [pc, #168] @ (80046fc ) + 8004654: 4613 mov r3, r2 + 8004656: 005b lsls r3, r3, #1 + 8004658: 4413 add r3, r2 + 800465a: 00db lsls r3, r3, #3 + 800465c: 440b add r3, r1 + 800465e: 330c adds r3, #12 + 8004660: 2202 movs r2, #2 + 8004662: 701a strb r2, [r3, #0] aTimerContext[timer_id].CountLeft = timeout_ticks; - 800454c: 79fa ldrb r2, [r7, #7] - 800454e: 4925 ldr r1, [pc, #148] @ (80045e4 ) - 8004550: 4613 mov r3, r2 - 8004552: 005b lsls r3, r3, #1 - 8004554: 4413 add r3, r2 - 8004556: 00db lsls r3, r3, #3 - 8004558: 440b add r3, r1 - 800455a: 3308 adds r3, #8 - 800455c: 683a ldr r2, [r7, #0] - 800455e: 601a str r2, [r3, #0] + 8004664: 79fa ldrb r2, [r7, #7] + 8004666: 4925 ldr r1, [pc, #148] @ (80046fc ) + 8004668: 4613 mov r3, r2 + 800466a: 005b lsls r3, r3, #1 + 800466c: 4413 add r3, r2 + 800466e: 00db lsls r3, r3, #3 + 8004670: 440b add r3, r1 + 8004672: 3308 adds r3, #8 + 8004674: 683a ldr r2, [r7, #0] + 8004676: 601a str r2, [r3, #0] aTimerContext[timer_id].CounterInit = timeout_ticks; - 8004560: 79fa ldrb r2, [r7, #7] - 8004562: 4920 ldr r1, [pc, #128] @ (80045e4 ) - 8004564: 4613 mov r3, r2 - 8004566: 005b lsls r3, r3, #1 - 8004568: 4413 add r3, r2 - 800456a: 00db lsls r3, r3, #3 - 800456c: 440b add r3, r1 - 800456e: 3304 adds r3, #4 - 8004570: 683a ldr r2, [r7, #0] - 8004572: 601a str r2, [r3, #0] + 8004678: 79fa ldrb r2, [r7, #7] + 800467a: 4920 ldr r1, [pc, #128] @ (80046fc ) + 800467c: 4613 mov r3, r2 + 800467e: 005b lsls r3, r3, #1 + 8004680: 4413 add r3, r2 + 8004682: 00db lsls r3, r3, #3 + 8004684: 440b add r3, r1 + 8004686: 3304 adds r3, #4 + 8004688: 683a ldr r2, [r7, #0] + 800468a: 601a str r2, [r3, #0] time_elapsed = linkTimer(timer_id); - 8004574: 79fb ldrb r3, [r7, #7] - 8004576: 4618 mov r0, r3 - 8004578: f7ff fb30 bl 8003bdc - 800457c: 4603 mov r3, r0 - 800457e: 827b strh r3, [r7, #18] + 800468c: 79fb ldrb r3, [r7, #7] + 800468e: 4618 mov r0, r3 + 8004690: f7ff fb30 bl 8003cf4 + 8004694: 4603 mov r3, r0 + 8004696: 827b strh r3, [r7, #18] localcurrentrunningtimerid = CurrentRunningTimerID; - 8004580: 4b1a ldr r3, [pc, #104] @ (80045ec ) - 8004582: 781b ldrb r3, [r3, #0] - 8004584: 747b strb r3, [r7, #17] + 8004698: 4b1a ldr r3, [pc, #104] @ (8004704 ) + 800469a: 781b ldrb r3, [r3, #0] + 800469c: 747b strb r3, [r7, #17] if(PreviousRunningTimerID != localcurrentrunningtimerid) - 8004586: 4b1a ldr r3, [pc, #104] @ (80045f0 ) - 8004588: 781b ldrb r3, [r3, #0] - 800458a: b2db uxtb r3, r3 - 800458c: 7c7a ldrb r2, [r7, #17] - 800458e: 429a cmp r2, r3 - 8004590: d002 beq.n 8004598 + 800469e: 4b1a ldr r3, [pc, #104] @ (8004708 ) + 80046a0: 781b ldrb r3, [r3, #0] + 80046a2: b2db uxtb r3, r3 + 80046a4: 7c7a ldrb r2, [r7, #17] + 80046a6: 429a cmp r2, r3 + 80046a8: d002 beq.n 80046b0 { RescheduleTimerList(); - 8004592: f7ff fce9 bl 8003f68 - 8004596: e013 b.n 80045c0 + 80046aa: f7ff fce9 bl 8004080 + 80046ae: e013 b.n 80046d8 } else { aTimerContext[timer_id].CountLeft -= time_elapsed; - 8004598: 79fa ldrb r2, [r7, #7] - 800459a: 4912 ldr r1, [pc, #72] @ (80045e4 ) - 800459c: 4613 mov r3, r2 - 800459e: 005b lsls r3, r3, #1 - 80045a0: 4413 add r3, r2 - 80045a2: 00db lsls r3, r3, #3 - 80045a4: 440b add r3, r1 - 80045a6: 3308 adds r3, #8 - 80045a8: 6819 ldr r1, [r3, #0] - 80045aa: 8a7b ldrh r3, [r7, #18] - 80045ac: 79fa ldrb r2, [r7, #7] - 80045ae: 1ac9 subs r1, r1, r3 - 80045b0: 480c ldr r0, [pc, #48] @ (80045e4 ) - 80045b2: 4613 mov r3, r2 - 80045b4: 005b lsls r3, r3, #1 - 80045b6: 4413 add r3, r2 - 80045b8: 00db lsls r3, r3, #3 - 80045ba: 4403 add r3, r0 - 80045bc: 3308 adds r3, #8 - 80045be: 6019 str r1, [r3, #0] + 80046b0: 79fa ldrb r2, [r7, #7] + 80046b2: 4912 ldr r1, [pc, #72] @ (80046fc ) + 80046b4: 4613 mov r3, r2 + 80046b6: 005b lsls r3, r3, #1 + 80046b8: 4413 add r3, r2 + 80046ba: 00db lsls r3, r3, #3 + 80046bc: 440b add r3, r1 + 80046be: 3308 adds r3, #8 + 80046c0: 6819 ldr r1, [r3, #0] + 80046c2: 8a7b ldrh r3, [r7, #18] + 80046c4: 79fa ldrb r2, [r7, #7] + 80046c6: 1ac9 subs r1, r1, r3 + 80046c8: 480c ldr r0, [pc, #48] @ (80046fc ) + 80046ca: 4613 mov r3, r2 + 80046cc: 005b lsls r3, r3, #1 + 80046ce: 4413 add r3, r2 + 80046d0: 00db lsls r3, r3, #3 + 80046d2: 4403 add r3, r0 + 80046d4: 3308 adds r3, #8 + 80046d6: 6019 str r1, [r3, #0] } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE( &hrtc ); - 80045c0: 4b09 ldr r3, [pc, #36] @ (80045e8 ) - 80045c2: 681b ldr r3, [r3, #0] - 80045c4: 22ff movs r2, #255 @ 0xff - 80045c6: 625a str r2, [r3, #36] @ 0x24 + 80046d8: 4b09 ldr r3, [pc, #36] @ (8004700 ) + 80046da: 681b ldr r3, [r3, #0] + 80046dc: 22ff movs r2, #255 @ 0xff + 80046de: 625a str r2, [r3, #36] @ 0x24 HAL_NVIC_EnableIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); /**< Enable NVIC */ - 80045c8: 2003 movs r0, #3 - 80045ca: f002 f89b bl 8006704 - 80045ce: 697b ldr r3, [r7, #20] - 80045d0: 60bb str r3, [r7, #8] + 80046e0: 2003 movs r0, #3 + 80046e2: f002 fa8d bl 8006c00 + 80046e6: 697b ldr r3, [r7, #20] + 80046e8: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 80045d2: 68bb ldr r3, [r7, #8] - 80045d4: f383 8810 msr PRIMASK, r3 + 80046ea: 68bb ldr r3, [r7, #8] + 80046ec: f383 8810 msr PRIMASK, r3 } - 80045d8: bf00 nop + 80046f0: bf00 nop #if (CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION == 1) __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ #endif return; - 80045da: bf00 nop + 80046f2: bf00 nop } - 80045dc: 3718 adds r7, #24 - 80045de: 46bd mov sp, r7 - 80045e0: bd80 pop {r7, pc} - 80045e2: bf00 nop - 80045e4: 20000314 .word 0x20000314 - 80045e8: 20000504 .word 0x20000504 - 80045ec: 200003a4 .word 0x200003a4 - 80045f0: 200003a5 .word 0x200003a5 + 80046f4: 3718 adds r7, #24 + 80046f6: 46bd mov sp, r7 + 80046f8: bd80 pop {r7, pc} + 80046fa: bf00 nop + 80046fc: 20000314 .word 0x20000314 + 8004700: 20000504 .word 0x20000504 + 8004704: 200003a4 .word 0x200003a4 + 8004708: 200003a5 .word 0x200003a5 -080045f4 : +0800470c : return (return_value); } __weak void HW_TS_RTC_Int_AppNot(uint32_t TimerProcessID, uint8_t TimerID, HW_TS_pTimerCb_t pTimerCallBack) { - 80045f4: b580 push {r7, lr} - 80045f6: b084 sub sp, #16 - 80045f8: af00 add r7, sp, #0 - 80045fa: 60f8 str r0, [r7, #12] - 80045fc: 460b mov r3, r1 - 80045fe: 607a str r2, [r7, #4] - 8004600: 72fb strb r3, [r7, #11] + 800470c: b580 push {r7, lr} + 800470e: b084 sub sp, #16 + 8004710: af00 add r7, sp, #0 + 8004712: 60f8 str r0, [r7, #12] + 8004714: 460b mov r3, r1 + 8004716: 607a str r2, [r7, #4] + 8004718: 72fb strb r3, [r7, #11] pTimerCallBack(); - 8004602: 687b ldr r3, [r7, #4] - 8004604: 4798 blx r3 + 800471a: 687b ldr r3, [r7, #4] + 800471c: 4798 blx r3 return; - 8004606: bf00 nop + 800471e: bf00 nop } - 8004608: 3710 adds r7, #16 - 800460a: 46bd mov sp, r7 - 800460c: bd80 pop {r7, pc} + 8004720: 3710 adds r7, #16 + 8004722: 46bd mov sp, r7 + 8004724: bd80 pop {r7, pc} -0800460e : +08004726 : \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. \param [in] ch Character to transmit. \returns Character to transmit. */ __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) { - 800460e: b480 push {r7} - 8004610: b083 sub sp, #12 - 8004612: af00 add r7, sp, #0 - 8004614: 6078 str r0, [r7, #4] + 8004726: b480 push {r7} + 8004728: b083 sub sp, #12 + 800472a: af00 add r7, sp, #0 + 800472c: 6078 str r0, [r7, #4] if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ - 8004616: f04f 4360 mov.w r3, #3758096384 @ 0xe0000000 - 800461a: f8d3 3e80 ldr.w r3, [r3, #3712] @ 0xe80 - 800461e: f003 0301 and.w r3, r3, #1 - 8004622: 2b00 cmp r3, #0 - 8004624: d013 beq.n 800464e + 800472e: f04f 4360 mov.w r3, #3758096384 @ 0xe0000000 + 8004732: f8d3 3e80 ldr.w r3, [r3, #3712] @ 0xe80 + 8004736: f003 0301 and.w r3, r3, #1 + 800473a: 2b00 cmp r3, #0 + 800473c: d013 beq.n 8004766 ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ - 8004626: f04f 4360 mov.w r3, #3758096384 @ 0xe0000000 - 800462a: f8d3 3e00 ldr.w r3, [r3, #3584] @ 0xe00 - 800462e: f003 0301 and.w r3, r3, #1 + 800473e: f04f 4360 mov.w r3, #3758096384 @ 0xe0000000 + 8004742: f8d3 3e00 ldr.w r3, [r3, #3584] @ 0xe00 + 8004746: f003 0301 and.w r3, r3, #1 if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ - 8004632: 2b00 cmp r3, #0 - 8004634: d00b beq.n 800464e + 800474a: 2b00 cmp r3, #0 + 800474c: d00b beq.n 8004766 { while (ITM->PORT[0U].u32 == 0UL) - 8004636: e000 b.n 800463a + 800474e: e000 b.n 8004752 { __NOP(); - 8004638: bf00 nop + 8004750: bf00 nop while (ITM->PORT[0U].u32 == 0UL) - 800463a: f04f 4360 mov.w r3, #3758096384 @ 0xe0000000 - 800463e: 681b ldr r3, [r3, #0] - 8004640: 2b00 cmp r3, #0 - 8004642: d0f9 beq.n 8004638 + 8004752: f04f 4360 mov.w r3, #3758096384 @ 0xe0000000 + 8004756: 681b ldr r3, [r3, #0] + 8004758: 2b00 cmp r3, #0 + 800475a: d0f9 beq.n 8004750 } ITM->PORT[0U].u8 = (uint8_t)ch; - 8004644: f04f 4360 mov.w r3, #3758096384 @ 0xe0000000 - 8004648: 687a ldr r2, [r7, #4] - 800464a: b2d2 uxtb r2, r2 - 800464c: 701a strb r2, [r3, #0] + 800475c: f04f 4360 mov.w r3, #3758096384 @ 0xe0000000 + 8004760: 687a ldr r2, [r7, #4] + 8004762: b2d2 uxtb r2, r2 + 8004764: 701a strb r2, [r3, #0] } return (ch); - 800464e: 687b ldr r3, [r7, #4] + 8004766: 687b ldr r3, [r7, #4] } - 8004650: 4618 mov r0, r3 - 8004652: 370c adds r7, #12 - 8004654: 46bd mov sp, r7 - 8004656: f85d 7b04 ldr.w r7, [sp], #4 - 800465a: 4770 bx lr + 8004768: 4618 mov r0, r3 + 800476a: 370c adds r7, #12 + 800476c: 46bd mov sp, r7 + 800476e: f85d 7b04 ldr.w r7, [sp], #4 + 8004772: 4770 bx lr -0800465c : +08004774 : { - 800465c: b480 push {r7} - 800465e: b083 sub sp, #12 - 8004660: af00 add r7, sp, #0 - 8004662: 6078 str r0, [r7, #4] + 8004774: b480 push {r7} + 8004776: b083 sub sp, #12 + 8004778: af00 add r7, sp, #0 + 800477a: 6078 str r0, [r7, #4] MODIFY_REG(RCC->BDCR, RCC_BDCR_LSEDRV, LSEDrive); - 8004664: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8004668: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800466c: f023 0218 bic.w r2, r3, #24 - 8004670: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 8004674: 687b ldr r3, [r7, #4] - 8004676: 4313 orrs r3, r2 - 8004678: f8c1 3090 str.w r3, [r1, #144] @ 0x90 + 800477c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8004780: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 8004784: f023 0218 bic.w r2, r3, #24 + 8004788: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800478c: 687b ldr r3, [r7, #4] + 800478e: 4313 orrs r3, r2 + 8004790: f8c1 3090 str.w r3, [r1, #144] @ 0x90 } - 800467c: bf00 nop - 800467e: 370c adds r7, #12 - 8004680: 46bd mov sp, r7 - 8004682: f85d 7b04 ldr.w r7, [sp], #4 - 8004686: 4770 bx lr + 8004794: bf00 nop + 8004796: 370c adds r7, #12 + 8004798: 46bd mov sp, r7 + 800479a: f85d 7b04 ldr.w r7, [sp], #4 + 800479e: 4770 bx lr -08004688 : +080047a0 : * @arg @ref LL_AHB1_GRP1_PERIPH_TSC * @note (*) Not supported by all the devices * @retval None */ __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs) { - 8004688: b480 push {r7} - 800468a: b085 sub sp, #20 - 800468c: af00 add r7, sp, #0 - 800468e: 6078 str r0, [r7, #4] + 80047a0: b480 push {r7} + 80047a2: b085 sub sp, #20 + 80047a4: af00 add r7, sp, #0 + 80047a6: 6078 str r0, [r7, #4] __IO uint32_t tmpreg; SET_BIT(RCC->AHB1ENR, Periphs); - 8004690: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8004694: 6c9a ldr r2, [r3, #72] @ 0x48 - 8004696: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800469a: 687b ldr r3, [r7, #4] - 800469c: 4313 orrs r3, r2 - 800469e: 648b str r3, [r1, #72] @ 0x48 + 80047a8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80047ac: 6c9a ldr r2, [r3, #72] @ 0x48 + 80047ae: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 80047b2: 687b ldr r3, [r7, #4] + 80047b4: 4313 orrs r3, r2 + 80047b6: 648b str r3, [r1, #72] @ 0x48 /* Delay after an RCC peripheral clock enabling */ tmpreg = READ_BIT(RCC->AHB1ENR, Periphs); - 80046a0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80046a4: 6c9a ldr r2, [r3, #72] @ 0x48 - 80046a6: 687b ldr r3, [r7, #4] - 80046a8: 4013 ands r3, r2 - 80046aa: 60fb str r3, [r7, #12] + 80047b8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80047bc: 6c9a ldr r2, [r3, #72] @ 0x48 + 80047be: 687b ldr r3, [r7, #4] + 80047c0: 4013 ands r3, r2 + 80047c2: 60fb str r3, [r7, #12] (void)tmpreg; - 80046ac: 68fb ldr r3, [r7, #12] + 80047c4: 68fb ldr r3, [r7, #12] } - 80046ae: bf00 nop - 80046b0: 3714 adds r7, #20 - 80046b2: 46bd mov sp, r7 - 80046b4: f85d 7b04 ldr.w r7, [sp], #4 - 80046b8: 4770 bx lr + 80047c6: bf00 nop + 80047c8: 3714 adds r7, #20 + 80047ca: 46bd mov sp, r7 + 80047cc: f85d 7b04 ldr.w r7, [sp], #4 + 80047d0: 4770 bx lr -080046ba : +080047d2 : * @arg @ref LL_AHB2_GRP1_PERIPH_AES1 (*) * @note (*) Not supported by all the devices * @retval None */ __STATIC_INLINE void LL_AHB2_GRP1_EnableClock(uint32_t Periphs) { - 80046ba: b480 push {r7} - 80046bc: b085 sub sp, #20 - 80046be: af00 add r7, sp, #0 - 80046c0: 6078 str r0, [r7, #4] + 80047d2: b480 push {r7} + 80047d4: b085 sub sp, #20 + 80047d6: af00 add r7, sp, #0 + 80047d8: 6078 str r0, [r7, #4] __IO uint32_t tmpreg; SET_BIT(RCC->AHB2ENR, Periphs); - 80046c2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80046c6: 6cda ldr r2, [r3, #76] @ 0x4c - 80046c8: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 80046cc: 687b ldr r3, [r7, #4] - 80046ce: 4313 orrs r3, r2 - 80046d0: 64cb str r3, [r1, #76] @ 0x4c + 80047da: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80047de: 6cda ldr r2, [r3, #76] @ 0x4c + 80047e0: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 80047e4: 687b ldr r3, [r7, #4] + 80047e6: 4313 orrs r3, r2 + 80047e8: 64cb str r3, [r1, #76] @ 0x4c /* Delay after an RCC peripheral clock enabling */ tmpreg = READ_BIT(RCC->AHB2ENR, Periphs); - 80046d2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80046d6: 6cda ldr r2, [r3, #76] @ 0x4c - 80046d8: 687b ldr r3, [r7, #4] - 80046da: 4013 ands r3, r2 - 80046dc: 60fb str r3, [r7, #12] + 80047ea: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80047ee: 6cda ldr r2, [r3, #76] @ 0x4c + 80047f0: 687b ldr r3, [r7, #4] + 80047f2: 4013 ands r3, r2 + 80047f4: 60fb str r3, [r7, #12] (void)tmpreg; - 80046de: 68fb ldr r3, [r7, #12] + 80047f6: 68fb ldr r3, [r7, #12] } - 80046e0: bf00 nop - 80046e2: 3714 adds r7, #20 - 80046e4: 46bd mov sp, r7 - 80046e6: f85d 7b04 ldr.w r7, [sp], #4 - 80046ea: 4770 bx lr + 80047f8: bf00 nop + 80047fa: 3714 adds r7, #20 + 80047fc: 46bd mov sp, r7 + 80047fe: f85d 7b04 ldr.w r7, [sp], #4 + 8004802: 4770 bx lr -080046ec : +08004804 : * @param HSEMx HSEM Instance. * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31 * @retval 1 lock fail, 0 lock successful or already locked by same core */ __STATIC_INLINE uint32_t LL_HSEM_1StepLock(const HSEM_TypeDef *HSEMx, uint32_t Semaphore) { - 80046ec: b480 push {r7} - 80046ee: b083 sub sp, #12 - 80046f0: af00 add r7, sp, #0 - 80046f2: 6078 str r0, [r7, #4] - 80046f4: 6039 str r1, [r7, #0] + 8004804: b480 push {r7} + 8004806: b083 sub sp, #12 + 8004808: af00 add r7, sp, #0 + 800480a: 6078 str r0, [r7, #4] + 800480c: 6039 str r1, [r7, #0] return ((HSEMx->RLR[Semaphore] != (HSEM_RLR_LOCK | LL_HSEM_COREID)) ? 1UL : 0UL); - 80046f6: 687b ldr r3, [r7, #4] - 80046f8: 683a ldr r2, [r7, #0] - 80046fa: 3220 adds r2, #32 - 80046fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8004700: 4a05 ldr r2, [pc, #20] @ (8004718 ) - 8004702: 4293 cmp r3, r2 - 8004704: d001 beq.n 800470a - 8004706: 2301 movs r3, #1 - 8004708: e000 b.n 800470c - 800470a: 2300 movs r3, #0 + 800480e: 687b ldr r3, [r7, #4] + 8004810: 683a ldr r2, [r7, #0] + 8004812: 3220 adds r2, #32 + 8004814: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8004818: 4a05 ldr r2, [pc, #20] @ (8004830 ) + 800481a: 4293 cmp r3, r2 + 800481c: d001 beq.n 8004822 + 800481e: 2301 movs r3, #1 + 8004820: e000 b.n 8004824 + 8004822: 2300 movs r3, #0 } - 800470c: 4618 mov r0, r3 - 800470e: 370c adds r7, #12 - 8004710: 46bd mov sp, r7 - 8004712: f85d 7b04 ldr.w r7, [sp], #4 - 8004716: 4770 bx lr - 8004718: 80000400 .word 0x80000400 + 8004824: 4618 mov r0, r3 + 8004826: 370c adds r7, #12 + 8004828: 46bd mov sp, r7 + 800482a: f85d 7b04 ldr.w r7, [sp], #4 + 800482e: 4770 bx lr + 8004830: 80000400 .word 0x80000400 -0800471c <_write>: +08004834 <_write>: /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ // implementation of printf() functionality through ITM int _write(int file, char *prt, int len) { - 800471c: b580 push {r7, lr} - 800471e: b086 sub sp, #24 - 8004720: af00 add r7, sp, #0 - 8004722: 60f8 str r0, [r7, #12] - 8004724: 60b9 str r1, [r7, #8] - 8004726: 607a str r2, [r7, #4] + 8004834: b580 push {r7, lr} + 8004836: b086 sub sp, #24 + 8004838: af00 add r7, sp, #0 + 800483a: 60f8 str r0, [r7, #12] + 800483c: 60b9 str r1, [r7, #8] + 800483e: 607a str r2, [r7, #4] for (int i = 0; i < len; i++) { - 8004728: 2300 movs r3, #0 - 800472a: 617b str r3, [r7, #20] - 800472c: e009 b.n 8004742 <_write+0x26> + 8004840: 2300 movs r3, #0 + 8004842: 617b str r3, [r7, #20] + 8004844: e009 b.n 800485a <_write+0x26> ITM_SendChar(*prt++); - 800472e: 68bb ldr r3, [r7, #8] - 8004730: 1c5a adds r2, r3, #1 - 8004732: 60ba str r2, [r7, #8] - 8004734: 781b ldrb r3, [r3, #0] - 8004736: 4618 mov r0, r3 - 8004738: f7ff ff69 bl 800460e + 8004846: 68bb ldr r3, [r7, #8] + 8004848: 1c5a adds r2, r3, #1 + 800484a: 60ba str r2, [r7, #8] + 800484c: 781b ldrb r3, [r3, #0] + 800484e: 4618 mov r0, r3 + 8004850: f7ff ff69 bl 8004726 for (int i = 0; i < len; i++) { - 800473c: 697b ldr r3, [r7, #20] - 800473e: 3301 adds r3, #1 - 8004740: 617b str r3, [r7, #20] - 8004742: 697a ldr r2, [r7, #20] - 8004744: 687b ldr r3, [r7, #4] - 8004746: 429a cmp r2, r3 - 8004748: dbf1 blt.n 800472e <_write+0x12> + 8004854: 697b ldr r3, [r7, #20] + 8004856: 3301 adds r3, #1 + 8004858: 617b str r3, [r7, #20] + 800485a: 697a ldr r2, [r7, #20] + 800485c: 687b ldr r3, [r7, #4] + 800485e: 429a cmp r2, r3 + 8004860: dbf1 blt.n 8004846 <_write+0x12> } return len; - 800474a: 687b ldr r3, [r7, #4] + 8004862: 687b ldr r3, [r7, #4] } - 800474c: 4618 mov r0, r3 - 800474e: 3718 adds r7, #24 - 8004750: 46bd mov sp, r7 - 8004752: bd80 pop {r7, pc} + 8004864: 4618 mov r0, r3 + 8004866: 3718 adds r7, #24 + 8004868: 46bd mov sp, r7 + 800486a: bd80 pop {r7, pc} -08004754

        : +0800486c
        : /** * @brief The application entry point. * @retval int */ int main(void) { - 8004754: b580 push {r7, lr} - 8004756: af00 add r7, sp, #0 + 800486c: b580 push {r7, lr} + 800486e: af00 add r7, sp, #0 /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); - 8004758: f001 fe56 bl 8006408 + 8004870: f002 f848 bl 8006904 /* Config code for STM32_WPAN (HSE Tuning must be done before system clock configuration) */ MX_APPE_Config(); - 800475c: f7fd fd7e bl 800225c + 8004874: f7fd fd78 bl 8002368 /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); - 8004760: f000 f86a bl 8004838 + 8004878: f000 f86a bl 8004950 /* Configure the peripherals common clocks */ PeriphCommonClock_Config(); - 8004764: f000 f8de bl 8004924 + 800487c: f000 f8de bl 8004a3c /* IPCC initialisation */ MX_IPCC_Init(); - 8004768: f000 f93c bl 80049e4 + 8004880: f000 f93c bl 8004afc /* USER CODE BEGIN SysInit */ // Initialize DWT for the BMM350 delay function to work properly bmm_init_DWT(); - 800476c: f001 f82e bl 80057cc + 8004884: f001 fa0c bl 8005ca0 /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); - 8004770: f000 fa9e bl 8004cb0 + 8004888: f000 fa9e bl 8004dc8 MX_DMA_Init(); - 8004774: f000 fa72 bl 8004c5c + 800488c: f000 fa72 bl 8004d74 MX_I2C1_Init(); - 8004778: f000 f8f4 bl 8004964 + 8004890: f000 f8f4 bl 8004a7c MX_SPI1_Init(); - 800477c: f000 f982 bl 8004a84 + 8004894: f000 f982 bl 8004b9c MX_SPI2_Init(); - 8004780: f000 f9be bl 8004b00 + 8004898: f000 f9be bl 8004c18 MX_TIM2_Init(); - 8004784: f000 f9fa bl 8004b7c + 800489c: f000 f9fa bl 8004c94 MX_RTC_Init(); - 8004788: f000 f948 bl 8004a1c + 80048a0: f000 f948 bl 8004b34 MX_RF_Init(); - 800478c: f000 f93e bl 8004a0c + 80048a4: f000 f93e bl 8004b24 /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Init scheduler */ osKernelInitialize(); - 8004790: f00e fba2 bl 8012ed8 + 80048a8: f00f f814 bl 80138d4 /* start timers, add new ones, ... */ /* USER CODE END RTOS_TIMERS */ /* Create the queue(s) */ /* creation of Q_ICM */ Q_ICMHandle = osMessageQueueNew (1, sizeof(ICM45686_Data), &Q_ICM_attributes); - 8004794: 4a1a ldr r2, [pc, #104] @ (8004800 ) - 8004796: 211c movs r1, #28 - 8004798: 2001 movs r0, #1 - 800479a: f00e ffa3 bl 80136e4 - 800479e: 4603 mov r3, r0 - 80047a0: 4a18 ldr r2, [pc, #96] @ (8004804 ) - 80047a2: 6013 str r3, [r2, #0] + 80048ac: 4a1a ldr r2, [pc, #104] @ (8004918 ) + 80048ae: 211c movs r1, #28 + 80048b0: 2001 movs r0, #1 + 80048b2: f00f fbfb bl 80140ac + 80048b6: 4603 mov r3, r0 + 80048b8: 4a18 ldr r2, [pc, #96] @ (800491c ) + 80048ba: 6013 str r3, [r2, #0] /* creation of Q_BMM */ Q_BMMHandle = osMessageQueueNew (1, sizeof(struct bmm350_mag_temp_data), &Q_BMM_attributes); - 80047a4: 4a18 ldr r2, [pc, #96] @ (8004808 ) - 80047a6: 2110 movs r1, #16 - 80047a8: 2001 movs r0, #1 - 80047aa: f00e ff9b bl 80136e4 - 80047ae: 4603 mov r3, r0 - 80047b0: 4a16 ldr r2, [pc, #88] @ (800480c ) - 80047b2: 6013 str r3, [r2, #0] + 80048bc: 4a18 ldr r2, [pc, #96] @ (8004920 ) + 80048be: 2110 movs r1, #16 + 80048c0: 2001 movs r0, #1 + 80048c2: f00f fbf3 bl 80140ac + 80048c6: 4603 mov r3, r0 + 80048c8: 4a16 ldr r2, [pc, #88] @ (8004924 ) + 80048ca: 6013 str r3, [r2, #0] /* add queues, ... */ /* USER CODE END RTOS_QUEUES */ /* Create the thread(s) */ /* creation of Task_DataAnalys */ Task_DataAnalysHandle = osThreadNew(Start_DataAnalysis, NULL, &Task_DataAnalys_attributes); - 80047b4: 4a16 ldr r2, [pc, #88] @ (8004810 ) - 80047b6: 2100 movs r1, #0 - 80047b8: 4816 ldr r0, [pc, #88] @ (8004814 ) - 80047ba: f00e fbdd bl 8012f78 - 80047be: 4603 mov r3, r0 - 80047c0: 4a15 ldr r2, [pc, #84] @ (8004818 ) - 80047c2: 6013 str r3, [r2, #0] + 80048cc: 4a16 ldr r2, [pc, #88] @ (8004928 ) + 80048ce: 2100 movs r1, #0 + 80048d0: 4816 ldr r0, [pc, #88] @ (800492c ) + 80048d2: f00f f84f bl 8013974 + 80048d6: 4603 mov r3, r0 + 80048d8: 4a15 ldr r2, [pc, #84] @ (8004930 ) + 80048da: 6013 str r3, [r2, #0] /* creation of Task_ICM45686 */ Task_ICM45686Handle = osThreadNew(Start_ICM45686, NULL, &Task_ICM45686_attributes); - 80047c4: 4a15 ldr r2, [pc, #84] @ (800481c ) - 80047c6: 2100 movs r1, #0 - 80047c8: 4815 ldr r0, [pc, #84] @ (8004820 ) - 80047ca: f00e fbd5 bl 8012f78 - 80047ce: 4603 mov r3, r0 - 80047d0: 4a14 ldr r2, [pc, #80] @ (8004824 ) - 80047d2: 6013 str r3, [r2, #0] + 80048dc: 4a15 ldr r2, [pc, #84] @ (8004934 ) + 80048de: 2100 movs r1, #0 + 80048e0: 4815 ldr r0, [pc, #84] @ (8004938 ) + 80048e2: f00f f847 bl 8013974 + 80048e6: 4603 mov r3, r0 + 80048e8: 4a14 ldr r2, [pc, #80] @ (800493c ) + 80048ea: 6013 str r3, [r2, #0] /* creation of Task_BMM350 */ Task_BMM350Handle = osThreadNew(Start_BMM350, NULL, &Task_BMM350_attributes); - 80047d4: 4a14 ldr r2, [pc, #80] @ (8004828 ) - 80047d6: 2100 movs r1, #0 - 80047d8: 4814 ldr r0, [pc, #80] @ (800482c ) - 80047da: f00e fbcd bl 8012f78 - 80047de: 4603 mov r3, r0 - 80047e0: 4a13 ldr r2, [pc, #76] @ (8004830 ) - 80047e2: 6013 str r3, [r2, #0] + 80048ec: 4a14 ldr r2, [pc, #80] @ (8004940 ) + 80048ee: 2100 movs r1, #0 + 80048f0: 4814 ldr r0, [pc, #80] @ (8004944 ) + 80048f2: f00f f83f bl 8013974 + 80048f6: 4603 mov r3, r0 + 80048f8: 4a13 ldr r2, [pc, #76] @ (8004948 ) + 80048fa: 6013 str r3, [r2, #0] /* USER CODE BEGIN RTOS_EVENTS */ /* add events, ... */ /* USER CODE END RTOS_EVENTS */ while(LL_HSEM_1StepLock(HSEM, CFG_HW_CLK48_CONFIG_SEMID)); - 80047e4: bf00 nop - 80047e6: 2105 movs r1, #5 - 80047e8: 4812 ldr r0, [pc, #72] @ (8004834 ) - 80047ea: f7ff ff7f bl 80046ec - 80047ee: 4603 mov r3, r0 - 80047f0: 2b00 cmp r3, #0 - 80047f2: d1f8 bne.n 80047e6 + 80048fc: bf00 nop + 80048fe: 2105 movs r1, #5 + 8004900: 4812 ldr r0, [pc, #72] @ (800494c ) + 8004902: f7ff ff7f bl 8004804 + 8004906: 4603 mov r3, r0 + 8004908: 2b00 cmp r3, #0 + 800490a: d1f8 bne.n 80048fe /* Init code for STM32_WPAN */ MX_APPE_Init(); - 80047f4: f7fd fd40 bl 8002278 + 800490c: f7fd fd3a bl 8002384 /* Start scheduler */ osKernelStart(); - 80047f8: f00e fb94 bl 8012f24 + 8004910: f00f f806 bl 8013920 /* We should never get here as control is now taken by the scheduler */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) - 80047fc: bf00 nop - 80047fe: e7fd b.n 80047fc - 8004800: 0801dbdc .word 0x0801dbdc - 8004804: 20000708 .word 0x20000708 - 8004808: 0801dbf4 .word 0x0801dbf4 - 800480c: 2000070c .word 0x2000070c - 8004810: 0801db70 .word 0x0801db70 - 8004814: 08004d85 .word 0x08004d85 - 8004818: 200006fc .word 0x200006fc - 800481c: 0801db94 .word 0x0801db94 - 8004820: 08004e59 .word 0x08004e59 - 8004824: 20000700 .word 0x20000700 - 8004828: 0801dbb8 .word 0x0801dbb8 - 800482c: 08005131 .word 0x08005131 - 8004830: 20000704 .word 0x20000704 - 8004834: 58001400 .word 0x58001400 + 8004914: bf00 nop + 8004916: e7fd b.n 8004914 + 8004918: 0801e53c .word 0x0801e53c + 800491c: 20000708 .word 0x20000708 + 8004920: 0801e554 .word 0x0801e554 + 8004924: 2000070c .word 0x2000070c + 8004928: 0801e4d0 .word 0x0801e4d0 + 800492c: 08004e9d .word 0x08004e9d + 8004930: 200006fc .word 0x200006fc + 8004934: 0801e4f4 .word 0x0801e4f4 + 8004938: 08004f71 .word 0x08004f71 + 800493c: 20000700 .word 0x20000700 + 8004940: 0801e518 .word 0x0801e518 + 8004944: 08005295 .word 0x08005295 + 8004948: 20000704 .word 0x20000704 + 800494c: 58001400 .word 0x58001400 -08004838 : +08004950 : /** * @brief System Clock Configuration * @retval None */ void SystemClock_Config(void) { - 8004838: b580 push {r7, lr} - 800483a: b09a sub sp, #104 @ 0x68 - 800483c: af00 add r7, sp, #0 + 8004950: b580 push {r7, lr} + 8004952: b09a sub sp, #104 @ 0x68 + 8004954: af00 add r7, sp, #0 RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 800483e: f107 0320 add.w r3, r7, #32 - 8004842: 2248 movs r2, #72 @ 0x48 - 8004844: 2100 movs r1, #0 - 8004846: 4618 mov r0, r3 - 8004848: f015 f964 bl 8019b14 + 8004956: f107 0320 add.w r3, r7, #32 + 800495a: 2248 movs r2, #72 @ 0x48 + 800495c: 2100 movs r1, #0 + 800495e: 4618 mov r0, r3 + 8004960: f015 fcd0 bl 801a304 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 800484c: 1d3b adds r3, r7, #4 - 800484e: 2200 movs r2, #0 - 8004850: 601a str r2, [r3, #0] - 8004852: 605a str r2, [r3, #4] - 8004854: 609a str r2, [r3, #8] - 8004856: 60da str r2, [r3, #12] - 8004858: 611a str r2, [r3, #16] - 800485a: 615a str r2, [r3, #20] - 800485c: 619a str r2, [r3, #24] + 8004964: 1d3b adds r3, r7, #4 + 8004966: 2200 movs r2, #0 + 8004968: 601a str r2, [r3, #0] + 800496a: 605a str r2, [r3, #4] + 800496c: 609a str r2, [r3, #8] + 800496e: 60da str r2, [r3, #12] + 8004970: 611a str r2, [r3, #16] + 8004972: 615a str r2, [r3, #20] + 8004974: 619a str r2, [r3, #24] /** Configure LSE Drive Capability */ HAL_PWR_EnableBkUpAccess(); - 800485e: f006 f893 bl 800a988 + 8004976: f006 fae3 bl 800af40 __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH); - 8004862: 2010 movs r0, #16 - 8004864: f7ff fefa bl 800465c + 800497a: 2010 movs r0, #16 + 800497c: f7ff fefa bl 8004774 /** Configure the main internal regulator output voltage */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 8004868: 4b2d ldr r3, [pc, #180] @ (8004920 ) - 800486a: 681b ldr r3, [r3, #0] - 800486c: f423 63c0 bic.w r3, r3, #1536 @ 0x600 - 8004870: 4a2b ldr r2, [pc, #172] @ (8004920 ) - 8004872: f443 7300 orr.w r3, r3, #512 @ 0x200 - 8004876: 6013 str r3, [r2, #0] - 8004878: 4b29 ldr r3, [pc, #164] @ (8004920 ) - 800487a: 681b ldr r3, [r3, #0] - 800487c: f403 63c0 and.w r3, r3, #1536 @ 0x600 - 8004880: 603b str r3, [r7, #0] - 8004882: 683b ldr r3, [r7, #0] + 8004980: 4b2d ldr r3, [pc, #180] @ (8004a38 ) + 8004982: 681b ldr r3, [r3, #0] + 8004984: f423 63c0 bic.w r3, r3, #1536 @ 0x600 + 8004988: 4a2b ldr r2, [pc, #172] @ (8004a38 ) + 800498a: f443 7300 orr.w r3, r3, #512 @ 0x200 + 800498e: 6013 str r3, [r2, #0] + 8004990: 4b29 ldr r3, [pc, #164] @ (8004a38 ) + 8004992: 681b ldr r3, [r3, #0] + 8004994: f403 63c0 and.w r3, r3, #1536 @ 0x600 + 8004998: 603b str r3, [r7, #0] + 800499a: 683b ldr r3, [r7, #0] /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI1 - 8004884: 232f movs r3, #47 @ 0x2f - 8004886: 623b str r3, [r7, #32] + 800499c: 232f movs r3, #47 @ 0x2f + 800499e: 623b str r3, [r7, #32] |RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE |RCC_OSCILLATORTYPE_MSI; RCC_OscInitStruct.HSEState = RCC_HSE_ON; - 8004888: f44f 3380 mov.w r3, #65536 @ 0x10000 - 800488c: 627b str r3, [r7, #36] @ 0x24 + 80049a0: f44f 3380 mov.w r3, #65536 @ 0x10000 + 80049a4: 627b str r3, [r7, #36] @ 0x24 RCC_OscInitStruct.LSEState = RCC_LSE_ON; - 800488e: 2301 movs r3, #1 - 8004890: 62bb str r3, [r7, #40] @ 0x28 + 80049a6: 2301 movs r3, #1 + 80049a8: 62bb str r3, [r7, #40] @ 0x28 RCC_OscInitStruct.HSIState = RCC_HSI_ON; - 8004892: f44f 7380 mov.w r3, #256 @ 0x100 - 8004896: 62fb str r3, [r7, #44] @ 0x2c + 80049aa: f44f 7380 mov.w r3, #256 @ 0x100 + 80049ae: 62fb str r3, [r7, #44] @ 0x2c RCC_OscInitStruct.MSIState = RCC_MSI_ON; - 8004898: 2301 movs r3, #1 - 800489a: 63fb str r3, [r7, #60] @ 0x3c + 80049b0: 2301 movs r3, #1 + 80049b2: 63fb str r3, [r7, #60] @ 0x3c RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; - 800489c: 2340 movs r3, #64 @ 0x40 - 800489e: 633b str r3, [r7, #48] @ 0x30 + 80049b4: 2340 movs r3, #64 @ 0x40 + 80049b6: 633b str r3, [r7, #48] @ 0x30 RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT; - 80048a0: 2300 movs r3, #0 - 80048a2: 643b str r3, [r7, #64] @ 0x40 + 80049b8: 2300 movs r3, #0 + 80049ba: 643b str r3, [r7, #64] @ 0x40 RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6; - 80048a4: 2360 movs r3, #96 @ 0x60 - 80048a6: 647b str r3, [r7, #68] @ 0x44 + 80049bc: 2360 movs r3, #96 @ 0x60 + 80049be: 647b str r3, [r7, #68] @ 0x44 RCC_OscInitStruct.LSIState = RCC_LSI_ON; - 80048a8: 2305 movs r3, #5 - 80048aa: 637b str r3, [r7, #52] @ 0x34 + 80049c0: 2305 movs r3, #5 + 80049c2: 637b str r3, [r7, #52] @ 0x34 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - 80048ac: 2302 movs r3, #2 - 80048ae: 64fb str r3, [r7, #76] @ 0x4c + 80049c4: 2302 movs r3, #2 + 80049c6: 64fb str r3, [r7, #76] @ 0x4c RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI; - 80048b0: 2301 movs r3, #1 - 80048b2: 653b str r3, [r7, #80] @ 0x50 + 80049c8: 2301 movs r3, #1 + 80049ca: 653b str r3, [r7, #80] @ 0x50 RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1; - 80048b4: 2300 movs r3, #0 - 80048b6: 657b str r3, [r7, #84] @ 0x54 + 80049cc: 2300 movs r3, #0 + 80049ce: 657b str r3, [r7, #84] @ 0x54 RCC_OscInitStruct.PLL.PLLN = 32; - 80048b8: 2320 movs r3, #32 - 80048ba: 65bb str r3, [r7, #88] @ 0x58 + 80049d0: 2320 movs r3, #32 + 80049d2: 65bb str r3, [r7, #88] @ 0x58 RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - 80048bc: f44f 3300 mov.w r3, #131072 @ 0x20000 - 80048c0: 65fb str r3, [r7, #92] @ 0x5c + 80049d4: f44f 3300 mov.w r3, #131072 @ 0x20000 + 80049d8: 65fb str r3, [r7, #92] @ 0x5c RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2; - 80048c2: f04f 5300 mov.w r3, #536870912 @ 0x20000000 - 80048c6: 667b str r3, [r7, #100] @ 0x64 + 80049da: f04f 5300 mov.w r3, #536870912 @ 0x20000000 + 80049de: 667b str r3, [r7, #100] @ 0x64 RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2; - 80048c8: f04f 7300 mov.w r3, #33554432 @ 0x2000000 - 80048cc: 663b str r3, [r7, #96] @ 0x60 + 80049e0: f04f 7300 mov.w r3, #33554432 @ 0x2000000 + 80049e4: 663b str r3, [r7, #96] @ 0x60 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 80048ce: f107 0320 add.w r3, r7, #32 - 80048d2: 4618 mov r0, r3 - 80048d4: f006 fc08 bl 800b0e8 - 80048d8: 4603 mov r3, r0 - 80048da: 2b00 cmp r3, #0 - 80048dc: d001 beq.n 80048e2 + 80049e6: f107 0320 add.w r3, r7, #32 + 80049ea: 4618 mov r0, r3 + 80049ec: f006 fe58 bl 800b6a0 + 80049f0: 4603 mov r3, r0 + 80049f2: 2b00 cmp r3, #0 + 80049f4: d001 beq.n 80049fa { Error_Handler(); - 80048de: f000 fc9f bl 8005220 + 80049f6: f000 fcbd bl 8005374 } /** Configure the SYSCLKSource, HCLK, PCLK1 and PCLK2 clocks dividers */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK4|RCC_CLOCKTYPE_HCLK2 - 80048e2: 236f movs r3, #111 @ 0x6f - 80048e4: 607b str r3, [r7, #4] + 80049fa: 236f movs r3, #111 @ 0x6f + 80049fc: 607b str r3, [r7, #4] |RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - 80048e6: 2303 movs r3, #3 - 80048e8: 60bb str r3, [r7, #8] + 80049fe: 2303 movs r3, #3 + 8004a00: 60bb str r3, [r7, #8] RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 80048ea: 2300 movs r3, #0 - 80048ec: 60fb str r3, [r7, #12] + 8004a02: 2300 movs r3, #0 + 8004a04: 60fb str r3, [r7, #12] RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; - 80048ee: 2300 movs r3, #0 - 80048f0: 613b str r3, [r7, #16] + 8004a06: 2300 movs r3, #0 + 8004a08: 613b str r3, [r7, #16] RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - 80048f2: 2300 movs r3, #0 - 80048f4: 617b str r3, [r7, #20] + 8004a0a: 2300 movs r3, #0 + 8004a0c: 617b str r3, [r7, #20] RCC_ClkInitStruct.AHBCLK2Divider = RCC_SYSCLK_DIV2; - 80048f6: 2380 movs r3, #128 @ 0x80 - 80048f8: 61bb str r3, [r7, #24] + 8004a0e: 2380 movs r3, #128 @ 0x80 + 8004a10: 61bb str r3, [r7, #24] RCC_ClkInitStruct.AHBCLK4Divider = RCC_SYSCLK_DIV1; - 80048fa: 2300 movs r3, #0 - 80048fc: 61fb str r3, [r7, #28] + 8004a12: 2300 movs r3, #0 + 8004a14: 61fb str r3, [r7, #28] if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK) - 80048fe: 1d3b adds r3, r7, #4 - 8004900: 2103 movs r1, #3 - 8004902: 4618 mov r0, r3 - 8004904: f006 ff64 bl 800b7d0 - 8004908: 4603 mov r3, r0 - 800490a: 2b00 cmp r3, #0 - 800490c: d001 beq.n 8004912 + 8004a16: 1d3b adds r3, r7, #4 + 8004a18: 2103 movs r1, #3 + 8004a1a: 4618 mov r0, r3 + 8004a1c: f007 f9b4 bl 800bd88 + 8004a20: 4603 mov r3, r0 + 8004a22: 2b00 cmp r3, #0 + 8004a24: d001 beq.n 8004a2a { Error_Handler(); - 800490e: f000 fc87 bl 8005220 + 8004a26: f000 fca5 bl 8005374 } /** Enable MSI Auto calibration */ HAL_RCCEx_EnableMSIPLLMode(); - 8004912: f007 fd3b bl 800c38c + 8004a2a: f007 ff8b bl 800c944 } - 8004916: bf00 nop - 8004918: 3768 adds r7, #104 @ 0x68 - 800491a: 46bd mov sp, r7 - 800491c: bd80 pop {r7, pc} - 800491e: bf00 nop - 8004920: 58000400 .word 0x58000400 + 8004a2e: bf00 nop + 8004a30: 3768 adds r7, #104 @ 0x68 + 8004a32: 46bd mov sp, r7 + 8004a34: bd80 pop {r7, pc} + 8004a36: bf00 nop + 8004a38: 58000400 .word 0x58000400 -08004924 : +08004a3c : /** * @brief Peripherals Common Clock Configuration * @retval None */ void PeriphCommonClock_Config(void) { - 8004924: b580 push {r7, lr} - 8004926: b094 sub sp, #80 @ 0x50 - 8004928: af00 add r7, sp, #0 + 8004a3c: b580 push {r7, lr} + 8004a3e: b094 sub sp, #80 @ 0x50 + 8004a40: af00 add r7, sp, #0 RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; - 800492a: 463b mov r3, r7 - 800492c: 2250 movs r2, #80 @ 0x50 - 800492e: 2100 movs r1, #0 - 8004930: 4618 mov r0, r3 - 8004932: f015 f8ef bl 8019b14 + 8004a42: 463b mov r3, r7 + 8004a44: 2250 movs r2, #80 @ 0x50 + 8004a46: 2100 movs r1, #0 + 8004a48: 4618 mov r0, r3 + 8004a4a: f015 fc5b bl 801a304 /** Initializes the peripherals clock */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP; - 8004936: f44f 5340 mov.w r3, #12288 @ 0x3000 - 800493a: 603b str r3, [r7, #0] + 8004a4e: f44f 5340 mov.w r3, #12288 @ 0x3000 + 8004a52: 603b str r3, [r7, #0] PeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_HSE_DIV1024; - 800493c: f44f 4340 mov.w r3, #49152 @ 0xc000 - 8004940: 647b str r3, [r7, #68] @ 0x44 + 8004a54: f44f 4340 mov.w r3, #49152 @ 0xc000 + 8004a58: 647b str r3, [r7, #68] @ 0x44 PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI; - 8004942: 2300 movs r3, #0 - 8004944: 64bb str r3, [r7, #72] @ 0x48 + 8004a5a: 2300 movs r3, #0 + 8004a5c: 64bb str r3, [r7, #72] @ 0x48 PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE1; - 8004946: 2310 movs r3, #16 - 8004948: 64fb str r3, [r7, #76] @ 0x4c + 8004a5e: 2310 movs r3, #16 + 8004a60: 64fb str r3, [r7, #76] @ 0x4c if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - 800494a: 463b mov r3, r7 - 800494c: 4618 mov r0, r3 - 800494e: f007 fba7 bl 800c0a0 - 8004952: 4603 mov r3, r0 - 8004954: 2b00 cmp r3, #0 - 8004956: d001 beq.n 800495c + 8004a62: 463b mov r3, r7 + 8004a64: 4618 mov r0, r3 + 8004a66: f007 fdf7 bl 800c658 + 8004a6a: 4603 mov r3, r0 + 8004a6c: 2b00 cmp r3, #0 + 8004a6e: d001 beq.n 8004a74 { Error_Handler(); - 8004958: f000 fc62 bl 8005220 + 8004a70: f000 fc80 bl 8005374 } /* USER CODE BEGIN Smps */ /* USER CODE END Smps */ } - 800495c: bf00 nop - 800495e: 3750 adds r7, #80 @ 0x50 - 8004960: 46bd mov sp, r7 - 8004962: bd80 pop {r7, pc} + 8004a74: bf00 nop + 8004a76: 3750 adds r7, #80 @ 0x50 + 8004a78: 46bd mov sp, r7 + 8004a7a: bd80 pop {r7, pc} -08004964 : +08004a7c : * @brief I2C1 Initialization Function * @param None * @retval None */ static void MX_I2C1_Init(void) { - 8004964: b580 push {r7, lr} - 8004966: af00 add r7, sp, #0 + 8004a7c: b580 push {r7, lr} + 8004a7e: af00 add r7, sp, #0 /* USER CODE END I2C1_Init 0 */ /* USER CODE BEGIN I2C1_Init 1 */ /* USER CODE END I2C1_Init 1 */ hi2c1.Instance = I2C1; - 8004968: 4b1b ldr r3, [pc, #108] @ (80049d8 ) - 800496a: 4a1c ldr r2, [pc, #112] @ (80049dc ) - 800496c: 601a str r2, [r3, #0] - hi2c1.Init.Timing = 0x10B17DB5; - 800496e: 4b1a ldr r3, [pc, #104] @ (80049d8 ) - 8004970: 4a1b ldr r2, [pc, #108] @ (80049e0 ) - 8004972: 605a str r2, [r3, #4] + 8004a80: 4b1b ldr r3, [pc, #108] @ (8004af0 ) + 8004a82: 4a1c ldr r2, [pc, #112] @ (8004af4 ) + 8004a84: 601a str r2, [r3, #0] + hi2c1.Init.Timing = 0x00C12166; + 8004a86: 4b1a ldr r3, [pc, #104] @ (8004af0 ) + 8004a88: 4a1b ldr r2, [pc, #108] @ (8004af8 ) + 8004a8a: 605a str r2, [r3, #4] hi2c1.Init.OwnAddress1 = 0; - 8004974: 4b18 ldr r3, [pc, #96] @ (80049d8 ) - 8004976: 2200 movs r2, #0 - 8004978: 609a str r2, [r3, #8] + 8004a8c: 4b18 ldr r3, [pc, #96] @ (8004af0 ) + 8004a8e: 2200 movs r2, #0 + 8004a90: 609a str r2, [r3, #8] hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; - 800497a: 4b17 ldr r3, [pc, #92] @ (80049d8 ) - 800497c: 2201 movs r2, #1 - 800497e: 60da str r2, [r3, #12] + 8004a92: 4b17 ldr r3, [pc, #92] @ (8004af0 ) + 8004a94: 2201 movs r2, #1 + 8004a96: 60da str r2, [r3, #12] hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; - 8004980: 4b15 ldr r3, [pc, #84] @ (80049d8 ) - 8004982: 2200 movs r2, #0 - 8004984: 611a str r2, [r3, #16] + 8004a98: 4b15 ldr r3, [pc, #84] @ (8004af0 ) + 8004a9a: 2200 movs r2, #0 + 8004a9c: 611a str r2, [r3, #16] hi2c1.Init.OwnAddress2 = 0; - 8004986: 4b14 ldr r3, [pc, #80] @ (80049d8 ) - 8004988: 2200 movs r2, #0 - 800498a: 615a str r2, [r3, #20] + 8004a9e: 4b14 ldr r3, [pc, #80] @ (8004af0 ) + 8004aa0: 2200 movs r2, #0 + 8004aa2: 615a str r2, [r3, #20] hi2c1.Init.OwnAddress2Masks = I2C_OA2_NOMASK; - 800498c: 4b12 ldr r3, [pc, #72] @ (80049d8 ) - 800498e: 2200 movs r2, #0 - 8004990: 619a str r2, [r3, #24] + 8004aa4: 4b12 ldr r3, [pc, #72] @ (8004af0 ) + 8004aa6: 2200 movs r2, #0 + 8004aa8: 619a str r2, [r3, #24] hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; - 8004992: 4b11 ldr r3, [pc, #68] @ (80049d8 ) - 8004994: 2200 movs r2, #0 - 8004996: 61da str r2, [r3, #28] + 8004aaa: 4b11 ldr r3, [pc, #68] @ (8004af0 ) + 8004aac: 2200 movs r2, #0 + 8004aae: 61da str r2, [r3, #28] hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; - 8004998: 4b0f ldr r3, [pc, #60] @ (80049d8 ) - 800499a: 2200 movs r2, #0 - 800499c: 621a str r2, [r3, #32] + 8004ab0: 4b0f ldr r3, [pc, #60] @ (8004af0 ) + 8004ab2: 2200 movs r2, #0 + 8004ab4: 621a str r2, [r3, #32] if (HAL_I2C_Init(&hi2c1) != HAL_OK) - 800499e: 480e ldr r0, [pc, #56] @ (80049d8 ) - 80049a0: f002 fb8e bl 80070c0 - 80049a4: 4603 mov r3, r0 - 80049a6: 2b00 cmp r3, #0 - 80049a8: d001 beq.n 80049ae + 8004ab6: 480e ldr r0, [pc, #56] @ (8004af0 ) + 8004ab8: f002 fdde bl 8007678 + 8004abc: 4603 mov r3, r0 + 8004abe: 2b00 cmp r3, #0 + 8004ac0: d001 beq.n 8004ac6 { Error_Handler(); - 80049aa: f000 fc39 bl 8005220 + 8004ac2: f000 fc57 bl 8005374 } /** Configure Analogue filter */ if (HAL_I2CEx_ConfigAnalogFilter(&hi2c1, I2C_ANALOGFILTER_ENABLE) != HAL_OK) - 80049ae: 2100 movs r1, #0 - 80049b0: 4809 ldr r0, [pc, #36] @ (80049d8 ) - 80049b2: f004 f989 bl 8008cc8 - 80049b6: 4603 mov r3, r0 - 80049b8: 2b00 cmp r3, #0 - 80049ba: d001 beq.n 80049c0 + 8004ac6: 2100 movs r1, #0 + 8004ac8: 4809 ldr r0, [pc, #36] @ (8004af0 ) + 8004aca: f004 fbd9 bl 8009280 + 8004ace: 4603 mov r3, r0 + 8004ad0: 2b00 cmp r3, #0 + 8004ad2: d001 beq.n 8004ad8 { Error_Handler(); - 80049bc: f000 fc30 bl 8005220 + 8004ad4: f000 fc4e bl 8005374 } /** Configure Digital filter */ if (HAL_I2CEx_ConfigDigitalFilter(&hi2c1, 0) != HAL_OK) - 80049c0: 2100 movs r1, #0 - 80049c2: 4805 ldr r0, [pc, #20] @ (80049d8 ) - 80049c4: f004 f9cb bl 8008d5e - 80049c8: 4603 mov r3, r0 - 80049ca: 2b00 cmp r3, #0 - 80049cc: d001 beq.n 80049d2 + 8004ad8: 2100 movs r1, #0 + 8004ada: 4805 ldr r0, [pc, #20] @ (8004af0 ) + 8004adc: f004 fc1b bl 8009316 + 8004ae0: 4603 mov r3, r0 + 8004ae2: 2b00 cmp r3, #0 + 8004ae4: d001 beq.n 8004aea { Error_Handler(); - 80049ce: f000 fc27 bl 8005220 + 8004ae6: f000 fc45 bl 8005374 } /* USER CODE BEGIN I2C1_Init 2 */ /* USER CODE END I2C1_Init 2 */ } - 80049d2: bf00 nop - 80049d4: bd80 pop {r7, pc} - 80049d6: bf00 nop - 80049d8: 200003b4 .word 0x200003b4 - 80049dc: 40005400 .word 0x40005400 - 80049e0: 10b17db5 .word 0x10b17db5 + 8004aea: bf00 nop + 8004aec: bd80 pop {r7, pc} + 8004aee: bf00 nop + 8004af0: 200003b4 .word 0x200003b4 + 8004af4: 40005400 .word 0x40005400 + 8004af8: 00c12166 .word 0x00c12166 -080049e4 : +08004afc : * @brief IPCC Initialization Function * @param None * @retval None */ static void MX_IPCC_Init(void) { - 80049e4: b580 push {r7, lr} - 80049e6: af00 add r7, sp, #0 + 8004afc: b580 push {r7, lr} + 8004afe: af00 add r7, sp, #0 /* USER CODE END IPCC_Init 0 */ /* USER CODE BEGIN IPCC_Init 1 */ /* USER CODE END IPCC_Init 1 */ hipcc.Instance = IPCC; - 80049e8: 4b06 ldr r3, [pc, #24] @ (8004a04 ) - 80049ea: 4a07 ldr r2, [pc, #28] @ (8004a08 ) - 80049ec: 601a str r2, [r3, #0] + 8004b00: 4b06 ldr r3, [pc, #24] @ (8004b1c ) + 8004b02: 4a07 ldr r2, [pc, #28] @ (8004b20 ) + 8004b04: 601a str r2, [r3, #0] if (HAL_IPCC_Init(&hipcc) != HAL_OK) - 80049ee: 4805 ldr r0, [pc, #20] @ (8004a04 ) - 80049f0: f004 fa02 bl 8008df8 - 80049f4: 4603 mov r3, r0 - 80049f6: 2b00 cmp r3, #0 - 80049f8: d001 beq.n 80049fe + 8004b06: 4805 ldr r0, [pc, #20] @ (8004b1c ) + 8004b08: f004 fc52 bl 80093b0 + 8004b0c: 4603 mov r3, r0 + 8004b0e: 2b00 cmp r3, #0 + 8004b10: d001 beq.n 8004b16 { Error_Handler(); - 80049fa: f000 fc11 bl 8005220 + 8004b12: f000 fc2f bl 8005374 } /* USER CODE BEGIN IPCC_Init 2 */ /* USER CODE END IPCC_Init 2 */ } - 80049fe: bf00 nop - 8004a00: bd80 pop {r7, pc} - 8004a02: bf00 nop - 8004a04: 200004c8 .word 0x200004c8 - 8004a08: 58000c00 .word 0x58000c00 + 8004b16: bf00 nop + 8004b18: bd80 pop {r7, pc} + 8004b1a: bf00 nop + 8004b1c: 200004c8 .word 0x200004c8 + 8004b20: 58000c00 .word 0x58000c00 -08004a0c : +08004b24 : * @brief RF Initialization Function * @param None * @retval None */ static void MX_RF_Init(void) { - 8004a0c: b480 push {r7} - 8004a0e: af00 add r7, sp, #0 + 8004b24: b480 push {r7} + 8004b26: af00 add r7, sp, #0 /* USER CODE END RF_Init 1 */ /* USER CODE BEGIN RF_Init 2 */ /* USER CODE END RF_Init 2 */ } - 8004a10: bf00 nop - 8004a12: 46bd mov sp, r7 - 8004a14: f85d 7b04 ldr.w r7, [sp], #4 - 8004a18: 4770 bx lr + 8004b28: bf00 nop + 8004b2a: 46bd mov sp, r7 + 8004b2c: f85d 7b04 ldr.w r7, [sp], #4 + 8004b30: 4770 bx lr ... -08004a1c : +08004b34 : * @brief RTC Initialization Function * @param None * @retval None */ static void MX_RTC_Init(void) { - 8004a1c: b580 push {r7, lr} - 8004a1e: af00 add r7, sp, #0 + 8004b34: b580 push {r7, lr} + 8004b36: af00 add r7, sp, #0 /* USER CODE END RTC_Init 1 */ /** Initialize RTC Only */ hrtc.Instance = RTC; - 8004a20: 4b16 ldr r3, [pc, #88] @ (8004a7c ) - 8004a22: 4a17 ldr r2, [pc, #92] @ (8004a80 ) - 8004a24: 601a str r2, [r3, #0] + 8004b38: 4b16 ldr r3, [pc, #88] @ (8004b94 ) + 8004b3a: 4a17 ldr r2, [pc, #92] @ (8004b98 ) + 8004b3c: 601a str r2, [r3, #0] hrtc.Init.HourFormat = RTC_HOURFORMAT_24; - 8004a26: 4b15 ldr r3, [pc, #84] @ (8004a7c ) - 8004a28: 2200 movs r2, #0 - 8004a2a: 605a str r2, [r3, #4] + 8004b3e: 4b15 ldr r3, [pc, #84] @ (8004b94 ) + 8004b40: 2200 movs r2, #0 + 8004b42: 605a str r2, [r3, #4] hrtc.Init.AsynchPrediv = CFG_RTC_ASYNCH_PRESCALER; - 8004a2c: 4b13 ldr r3, [pc, #76] @ (8004a7c ) - 8004a2e: 220f movs r2, #15 - 8004a30: 609a str r2, [r3, #8] + 8004b44: 4b13 ldr r3, [pc, #76] @ (8004b94 ) + 8004b46: 220f movs r2, #15 + 8004b48: 609a str r2, [r3, #8] hrtc.Init.SynchPrediv = CFG_RTC_SYNCH_PRESCALER; - 8004a32: 4b12 ldr r3, [pc, #72] @ (8004a7c ) - 8004a34: f647 72ff movw r2, #32767 @ 0x7fff - 8004a38: 60da str r2, [r3, #12] + 8004b4a: 4b12 ldr r3, [pc, #72] @ (8004b94 ) + 8004b4c: f647 72ff movw r2, #32767 @ 0x7fff + 8004b50: 60da str r2, [r3, #12] hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; - 8004a3a: 4b10 ldr r3, [pc, #64] @ (8004a7c ) - 8004a3c: 2200 movs r2, #0 - 8004a3e: 611a str r2, [r3, #16] + 8004b52: 4b10 ldr r3, [pc, #64] @ (8004b94 ) + 8004b54: 2200 movs r2, #0 + 8004b56: 611a str r2, [r3, #16] hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; - 8004a40: 4b0e ldr r3, [pc, #56] @ (8004a7c ) - 8004a42: 2200 movs r2, #0 - 8004a44: 619a str r2, [r3, #24] + 8004b58: 4b0e ldr r3, [pc, #56] @ (8004b94 ) + 8004b5a: 2200 movs r2, #0 + 8004b5c: 619a str r2, [r3, #24] hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; - 8004a46: 4b0d ldr r3, [pc, #52] @ (8004a7c ) - 8004a48: 2200 movs r2, #0 - 8004a4a: 61da str r2, [r3, #28] + 8004b5e: 4b0d ldr r3, [pc, #52] @ (8004b94 ) + 8004b60: 2200 movs r2, #0 + 8004b62: 61da str r2, [r3, #28] hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE; - 8004a4c: 4b0b ldr r3, [pc, #44] @ (8004a7c ) - 8004a4e: 2200 movs r2, #0 - 8004a50: 615a str r2, [r3, #20] + 8004b64: 4b0b ldr r3, [pc, #44] @ (8004b94 ) + 8004b66: 2200 movs r2, #0 + 8004b68: 615a str r2, [r3, #20] if (HAL_RTC_Init(&hrtc) != HAL_OK) - 8004a52: 480a ldr r0, [pc, #40] @ (8004a7c ) - 8004a54: f007 fdb1 bl 800c5ba - 8004a58: 4603 mov r3, r0 - 8004a5a: 2b00 cmp r3, #0 - 8004a5c: d001 beq.n 8004a62 + 8004b6a: 480a ldr r0, [pc, #40] @ (8004b94 ) + 8004b6c: f008 f801 bl 800cb72 + 8004b70: 4603 mov r3, r0 + 8004b72: 2b00 cmp r3, #0 + 8004b74: d001 beq.n 8004b7a { Error_Handler(); - 8004a5e: f000 fbdf bl 8005220 + 8004b76: f000 fbfd bl 8005374 } /** Enable the WakeUp */ if (HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, 0, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK) - 8004a62: 2200 movs r2, #0 - 8004a64: 2100 movs r1, #0 - 8004a66: 4805 ldr r0, [pc, #20] @ (8004a7c ) - 8004a68: f007 feb4 bl 800c7d4 - 8004a6c: 4603 mov r3, r0 - 8004a6e: 2b00 cmp r3, #0 - 8004a70: d001 beq.n 8004a76 + 8004b7a: 2200 movs r2, #0 + 8004b7c: 2100 movs r1, #0 + 8004b7e: 4805 ldr r0, [pc, #20] @ (8004b94 ) + 8004b80: f008 f904 bl 800cd8c + 8004b84: 4603 mov r3, r0 + 8004b86: 2b00 cmp r3, #0 + 8004b88: d001 beq.n 8004b8e { Error_Handler(); - 8004a72: f000 fbd5 bl 8005220 + 8004b8a: f000 fbf3 bl 8005374 } /* USER CODE BEGIN RTC_Init 2 */ /* USER CODE END RTC_Init 2 */ } - 8004a76: bf00 nop - 8004a78: bd80 pop {r7, pc} - 8004a7a: bf00 nop - 8004a7c: 20000504 .word 0x20000504 - 8004a80: 40002800 .word 0x40002800 + 8004b8e: bf00 nop + 8004b90: bd80 pop {r7, pc} + 8004b92: bf00 nop + 8004b94: 20000504 .word 0x20000504 + 8004b98: 40002800 .word 0x40002800 -08004a84 : +08004b9c : * @brief SPI1 Initialization Function * @param None * @retval None */ static void MX_SPI1_Init(void) { - 8004a84: b580 push {r7, lr} - 8004a86: af00 add r7, sp, #0 + 8004b9c: b580 push {r7, lr} + 8004b9e: af00 add r7, sp, #0 /* USER CODE BEGIN SPI1_Init 1 */ /* USER CODE END SPI1_Init 1 */ /* SPI1 parameter configuration*/ hspi1.Instance = SPI1; - 8004a88: 4b1b ldr r3, [pc, #108] @ (8004af8 ) - 8004a8a: 4a1c ldr r2, [pc, #112] @ (8004afc ) - 8004a8c: 601a str r2, [r3, #0] + 8004ba0: 4b1b ldr r3, [pc, #108] @ (8004c10 ) + 8004ba2: 4a1c ldr r2, [pc, #112] @ (8004c14 ) + 8004ba4: 601a str r2, [r3, #0] hspi1.Init.Mode = SPI_MODE_MASTER; - 8004a8e: 4b1a ldr r3, [pc, #104] @ (8004af8 ) - 8004a90: f44f 7282 mov.w r2, #260 @ 0x104 - 8004a94: 605a str r2, [r3, #4] + 8004ba6: 4b1a ldr r3, [pc, #104] @ (8004c10 ) + 8004ba8: f44f 7282 mov.w r2, #260 @ 0x104 + 8004bac: 605a str r2, [r3, #4] hspi1.Init.Direction = SPI_DIRECTION_2LINES; - 8004a96: 4b18 ldr r3, [pc, #96] @ (8004af8 ) - 8004a98: 2200 movs r2, #0 - 8004a9a: 609a str r2, [r3, #8] + 8004bae: 4b18 ldr r3, [pc, #96] @ (8004c10 ) + 8004bb0: 2200 movs r2, #0 + 8004bb2: 609a str r2, [r3, #8] hspi1.Init.DataSize = SPI_DATASIZE_8BIT; - 8004a9c: 4b16 ldr r3, [pc, #88] @ (8004af8 ) - 8004a9e: f44f 62e0 mov.w r2, #1792 @ 0x700 - 8004aa2: 60da str r2, [r3, #12] + 8004bb4: 4b16 ldr r3, [pc, #88] @ (8004c10 ) + 8004bb6: f44f 62e0 mov.w r2, #1792 @ 0x700 + 8004bba: 60da str r2, [r3, #12] hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; - 8004aa4: 4b14 ldr r3, [pc, #80] @ (8004af8 ) - 8004aa6: 2202 movs r2, #2 - 8004aa8: 611a str r2, [r3, #16] + 8004bbc: 4b14 ldr r3, [pc, #80] @ (8004c10 ) + 8004bbe: 2202 movs r2, #2 + 8004bc0: 611a str r2, [r3, #16] hspi1.Init.CLKPhase = SPI_PHASE_2EDGE; - 8004aaa: 4b13 ldr r3, [pc, #76] @ (8004af8 ) - 8004aac: 2201 movs r2, #1 - 8004aae: 615a str r2, [r3, #20] + 8004bc2: 4b13 ldr r3, [pc, #76] @ (8004c10 ) + 8004bc4: 2201 movs r2, #1 + 8004bc6: 615a str r2, [r3, #20] hspi1.Init.NSS = SPI_NSS_SOFT; - 8004ab0: 4b11 ldr r3, [pc, #68] @ (8004af8 ) - 8004ab2: f44f 7200 mov.w r2, #512 @ 0x200 - 8004ab6: 619a str r2, [r3, #24] - hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_64; - 8004ab8: 4b0f ldr r3, [pc, #60] @ (8004af8 ) - 8004aba: 2228 movs r2, #40 @ 0x28 - 8004abc: 61da str r2, [r3, #28] + 8004bc8: 4b11 ldr r3, [pc, #68] @ (8004c10 ) + 8004bca: f44f 7200 mov.w r2, #512 @ 0x200 + 8004bce: 619a str r2, [r3, #24] + hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; + 8004bd0: 4b0f ldr r3, [pc, #60] @ (8004c10 ) + 8004bd2: 2218 movs r2, #24 + 8004bd4: 61da str r2, [r3, #28] hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; - 8004abe: 4b0e ldr r3, [pc, #56] @ (8004af8 ) - 8004ac0: 2200 movs r2, #0 - 8004ac2: 621a str r2, [r3, #32] + 8004bd6: 4b0e ldr r3, [pc, #56] @ (8004c10 ) + 8004bd8: 2200 movs r2, #0 + 8004bda: 621a str r2, [r3, #32] hspi1.Init.TIMode = SPI_TIMODE_DISABLE; - 8004ac4: 4b0c ldr r3, [pc, #48] @ (8004af8 ) - 8004ac6: 2200 movs r2, #0 - 8004ac8: 625a str r2, [r3, #36] @ 0x24 + 8004bdc: 4b0c ldr r3, [pc, #48] @ (8004c10 ) + 8004bde: 2200 movs r2, #0 + 8004be0: 625a str r2, [r3, #36] @ 0x24 hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - 8004aca: 4b0b ldr r3, [pc, #44] @ (8004af8 ) - 8004acc: 2200 movs r2, #0 - 8004ace: 629a str r2, [r3, #40] @ 0x28 + 8004be2: 4b0b ldr r3, [pc, #44] @ (8004c10 ) + 8004be4: 2200 movs r2, #0 + 8004be6: 629a str r2, [r3, #40] @ 0x28 hspi1.Init.CRCPolynomial = 7; - 8004ad0: 4b09 ldr r3, [pc, #36] @ (8004af8 ) - 8004ad2: 2207 movs r2, #7 - 8004ad4: 62da str r2, [r3, #44] @ 0x2c + 8004be8: 4b09 ldr r3, [pc, #36] @ (8004c10 ) + 8004bea: 2207 movs r2, #7 + 8004bec: 62da str r2, [r3, #44] @ 0x2c hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; - 8004ad6: 4b08 ldr r3, [pc, #32] @ (8004af8 ) - 8004ad8: 2200 movs r2, #0 - 8004ada: 631a str r2, [r3, #48] @ 0x30 + 8004bee: 4b08 ldr r3, [pc, #32] @ (8004c10 ) + 8004bf0: 2200 movs r2, #0 + 8004bf2: 631a str r2, [r3, #48] @ 0x30 hspi1.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; - 8004adc: 4b06 ldr r3, [pc, #24] @ (8004af8 ) - 8004ade: 2200 movs r2, #0 - 8004ae0: 635a str r2, [r3, #52] @ 0x34 + 8004bf4: 4b06 ldr r3, [pc, #24] @ (8004c10 ) + 8004bf6: 2200 movs r2, #0 + 8004bf8: 635a str r2, [r3, #52] @ 0x34 if (HAL_SPI_Init(&hspi1) != HAL_OK) - 8004ae2: 4805 ldr r0, [pc, #20] @ (8004af8 ) - 8004ae4: f007 ff42 bl 800c96c - 8004ae8: 4603 mov r3, r0 - 8004aea: 2b00 cmp r3, #0 - 8004aec: d001 beq.n 8004af2 + 8004bfa: 4805 ldr r0, [pc, #20] @ (8004c10 ) + 8004bfc: f008 f992 bl 800cf24 + 8004c00: 4603 mov r3, r0 + 8004c02: 2b00 cmp r3, #0 + 8004c04: d001 beq.n 8004c0a { Error_Handler(); - 8004aee: f000 fb97 bl 8005220 + 8004c06: f000 fbb5 bl 8005374 } /* USER CODE BEGIN SPI1_Init 2 */ /* USER CODE END SPI1_Init 2 */ } - 8004af2: bf00 nop - 8004af4: bd80 pop {r7, pc} - 8004af6: bf00 nop - 8004af8: 20000528 .word 0x20000528 - 8004afc: 40013000 .word 0x40013000 + 8004c0a: bf00 nop + 8004c0c: bd80 pop {r7, pc} + 8004c0e: bf00 nop + 8004c10: 20000528 .word 0x20000528 + 8004c14: 40013000 .word 0x40013000 -08004b00 : +08004c18 : * @brief SPI2 Initialization Function * @param None * @retval None */ static void MX_SPI2_Init(void) { - 8004b00: b580 push {r7, lr} - 8004b02: af00 add r7, sp, #0 + 8004c18: b580 push {r7, lr} + 8004c1a: af00 add r7, sp, #0 /* USER CODE BEGIN SPI2_Init 1 */ /* USER CODE END SPI2_Init 1 */ /* SPI2 parameter configuration*/ hspi2.Instance = SPI2; - 8004b04: 4b1b ldr r3, [pc, #108] @ (8004b74 ) - 8004b06: 4a1c ldr r2, [pc, #112] @ (8004b78 ) - 8004b08: 601a str r2, [r3, #0] + 8004c1c: 4b1b ldr r3, [pc, #108] @ (8004c8c ) + 8004c1e: 4a1c ldr r2, [pc, #112] @ (8004c90 ) + 8004c20: 601a str r2, [r3, #0] hspi2.Init.Mode = SPI_MODE_MASTER; - 8004b0a: 4b1a ldr r3, [pc, #104] @ (8004b74 ) - 8004b0c: f44f 7282 mov.w r2, #260 @ 0x104 - 8004b10: 605a str r2, [r3, #4] + 8004c22: 4b1a ldr r3, [pc, #104] @ (8004c8c ) + 8004c24: f44f 7282 mov.w r2, #260 @ 0x104 + 8004c28: 605a str r2, [r3, #4] hspi2.Init.Direction = SPI_DIRECTION_2LINES; - 8004b12: 4b18 ldr r3, [pc, #96] @ (8004b74 ) - 8004b14: 2200 movs r2, #0 - 8004b16: 609a str r2, [r3, #8] + 8004c2a: 4b18 ldr r3, [pc, #96] @ (8004c8c ) + 8004c2c: 2200 movs r2, #0 + 8004c2e: 609a str r2, [r3, #8] hspi2.Init.DataSize = SPI_DATASIZE_4BIT; - 8004b18: 4b16 ldr r3, [pc, #88] @ (8004b74 ) - 8004b1a: f44f 7240 mov.w r2, #768 @ 0x300 - 8004b1e: 60da str r2, [r3, #12] + 8004c30: 4b16 ldr r3, [pc, #88] @ (8004c8c ) + 8004c32: f44f 7240 mov.w r2, #768 @ 0x300 + 8004c36: 60da str r2, [r3, #12] hspi2.Init.CLKPolarity = SPI_POLARITY_LOW; - 8004b20: 4b14 ldr r3, [pc, #80] @ (8004b74 ) - 8004b22: 2200 movs r2, #0 - 8004b24: 611a str r2, [r3, #16] + 8004c38: 4b14 ldr r3, [pc, #80] @ (8004c8c ) + 8004c3a: 2200 movs r2, #0 + 8004c3c: 611a str r2, [r3, #16] hspi2.Init.CLKPhase = SPI_PHASE_1EDGE; - 8004b26: 4b13 ldr r3, [pc, #76] @ (8004b74 ) - 8004b28: 2200 movs r2, #0 - 8004b2a: 615a str r2, [r3, #20] + 8004c3e: 4b13 ldr r3, [pc, #76] @ (8004c8c ) + 8004c40: 2200 movs r2, #0 + 8004c42: 615a str r2, [r3, #20] hspi2.Init.NSS = SPI_NSS_SOFT; - 8004b2c: 4b11 ldr r3, [pc, #68] @ (8004b74 ) - 8004b2e: f44f 7200 mov.w r2, #512 @ 0x200 - 8004b32: 619a str r2, [r3, #24] + 8004c44: 4b11 ldr r3, [pc, #68] @ (8004c8c ) + 8004c46: f44f 7200 mov.w r2, #512 @ 0x200 + 8004c4a: 619a str r2, [r3, #24] hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; - 8004b34: 4b0f ldr r3, [pc, #60] @ (8004b74 ) - 8004b36: 2200 movs r2, #0 - 8004b38: 61da str r2, [r3, #28] + 8004c4c: 4b0f ldr r3, [pc, #60] @ (8004c8c ) + 8004c4e: 2200 movs r2, #0 + 8004c50: 61da str r2, [r3, #28] hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB; - 8004b3a: 4b0e ldr r3, [pc, #56] @ (8004b74 ) - 8004b3c: 2200 movs r2, #0 - 8004b3e: 621a str r2, [r3, #32] + 8004c52: 4b0e ldr r3, [pc, #56] @ (8004c8c ) + 8004c54: 2200 movs r2, #0 + 8004c56: 621a str r2, [r3, #32] hspi2.Init.TIMode = SPI_TIMODE_DISABLE; - 8004b40: 4b0c ldr r3, [pc, #48] @ (8004b74 ) - 8004b42: 2200 movs r2, #0 - 8004b44: 625a str r2, [r3, #36] @ 0x24 + 8004c58: 4b0c ldr r3, [pc, #48] @ (8004c8c ) + 8004c5a: 2200 movs r2, #0 + 8004c5c: 625a str r2, [r3, #36] @ 0x24 hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - 8004b46: 4b0b ldr r3, [pc, #44] @ (8004b74 ) - 8004b48: 2200 movs r2, #0 - 8004b4a: 629a str r2, [r3, #40] @ 0x28 + 8004c5e: 4b0b ldr r3, [pc, #44] @ (8004c8c ) + 8004c60: 2200 movs r2, #0 + 8004c62: 629a str r2, [r3, #40] @ 0x28 hspi2.Init.CRCPolynomial = 7; - 8004b4c: 4b09 ldr r3, [pc, #36] @ (8004b74 ) - 8004b4e: 2207 movs r2, #7 - 8004b50: 62da str r2, [r3, #44] @ 0x2c + 8004c64: 4b09 ldr r3, [pc, #36] @ (8004c8c ) + 8004c66: 2207 movs r2, #7 + 8004c68: 62da str r2, [r3, #44] @ 0x2c hspi2.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; - 8004b52: 4b08 ldr r3, [pc, #32] @ (8004b74 ) - 8004b54: 2200 movs r2, #0 - 8004b56: 631a str r2, [r3, #48] @ 0x30 + 8004c6a: 4b08 ldr r3, [pc, #32] @ (8004c8c ) + 8004c6c: 2200 movs r2, #0 + 8004c6e: 631a str r2, [r3, #48] @ 0x30 hspi2.Init.NSSPMode = SPI_NSS_PULSE_ENABLE; - 8004b58: 4b06 ldr r3, [pc, #24] @ (8004b74 ) - 8004b5a: 2208 movs r2, #8 - 8004b5c: 635a str r2, [r3, #52] @ 0x34 + 8004c70: 4b06 ldr r3, [pc, #24] @ (8004c8c ) + 8004c72: 2208 movs r2, #8 + 8004c74: 635a str r2, [r3, #52] @ 0x34 if (HAL_SPI_Init(&hspi2) != HAL_OK) - 8004b5e: 4805 ldr r0, [pc, #20] @ (8004b74 ) - 8004b60: f007 ff04 bl 800c96c - 8004b64: 4603 mov r3, r0 - 8004b66: 2b00 cmp r3, #0 - 8004b68: d001 beq.n 8004b6e + 8004c76: 4805 ldr r0, [pc, #20] @ (8004c8c ) + 8004c78: f008 f954 bl 800cf24 + 8004c7c: 4603 mov r3, r0 + 8004c7e: 2b00 cmp r3, #0 + 8004c80: d001 beq.n 8004c86 { Error_Handler(); - 8004b6a: f000 fb59 bl 8005220 + 8004c82: f000 fb77 bl 8005374 } /* USER CODE BEGIN SPI2_Init 2 */ /* USER CODE END SPI2_Init 2 */ } - 8004b6e: bf00 nop - 8004b70: bd80 pop {r7, pc} - 8004b72: bf00 nop - 8004b74: 2000058c .word 0x2000058c - 8004b78: 40003800 .word 0x40003800 + 8004c86: bf00 nop + 8004c88: bd80 pop {r7, pc} + 8004c8a: bf00 nop + 8004c8c: 2000058c .word 0x2000058c + 8004c90: 40003800 .word 0x40003800 -08004b7c : +08004c94 : * @brief TIM2 Initialization Function * @param None * @retval None */ static void MX_TIM2_Init(void) { - 8004b7c: b580 push {r7, lr} - 8004b7e: b08a sub sp, #40 @ 0x28 - 8004b80: af00 add r7, sp, #0 + 8004c94: b580 push {r7, lr} + 8004c96: b08a sub sp, #40 @ 0x28 + 8004c98: af00 add r7, sp, #0 /* USER CODE BEGIN TIM2_Init 0 */ /* USER CODE END TIM2_Init 0 */ TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8004b82: f107 031c add.w r3, r7, #28 - 8004b86: 2200 movs r2, #0 - 8004b88: 601a str r2, [r3, #0] - 8004b8a: 605a str r2, [r3, #4] - 8004b8c: 609a str r2, [r3, #8] + 8004c9a: f107 031c add.w r3, r7, #28 + 8004c9e: 2200 movs r2, #0 + 8004ca0: 601a str r2, [r3, #0] + 8004ca2: 605a str r2, [r3, #4] + 8004ca4: 609a str r2, [r3, #8] TIM_OC_InitTypeDef sConfigOC = {0}; - 8004b8e: 463b mov r3, r7 - 8004b90: 2200 movs r2, #0 - 8004b92: 601a str r2, [r3, #0] - 8004b94: 605a str r2, [r3, #4] - 8004b96: 609a str r2, [r3, #8] - 8004b98: 60da str r2, [r3, #12] - 8004b9a: 611a str r2, [r3, #16] - 8004b9c: 615a str r2, [r3, #20] - 8004b9e: 619a str r2, [r3, #24] + 8004ca6: 463b mov r3, r7 + 8004ca8: 2200 movs r2, #0 + 8004caa: 601a str r2, [r3, #0] + 8004cac: 605a str r2, [r3, #4] + 8004cae: 609a str r2, [r3, #8] + 8004cb0: 60da str r2, [r3, #12] + 8004cb2: 611a str r2, [r3, #16] + 8004cb4: 615a str r2, [r3, #20] + 8004cb6: 619a str r2, [r3, #24] /* USER CODE BEGIN TIM2_Init 1 */ /* USER CODE END TIM2_Init 1 */ htim2.Instance = TIM2; - 8004ba0: 4b2d ldr r3, [pc, #180] @ (8004c58 ) - 8004ba2: f04f 4280 mov.w r2, #1073741824 @ 0x40000000 - 8004ba6: 601a str r2, [r3, #0] + 8004cb8: 4b2d ldr r3, [pc, #180] @ (8004d70 ) + 8004cba: f04f 4280 mov.w r2, #1073741824 @ 0x40000000 + 8004cbe: 601a str r2, [r3, #0] htim2.Init.Prescaler = 63; - 8004ba8: 4b2b ldr r3, [pc, #172] @ (8004c58 ) - 8004baa: 223f movs r2, #63 @ 0x3f - 8004bac: 605a str r2, [r3, #4] + 8004cc0: 4b2b ldr r3, [pc, #172] @ (8004d70 ) + 8004cc2: 223f movs r2, #63 @ 0x3f + 8004cc4: 605a str r2, [r3, #4] htim2.Init.CounterMode = TIM_COUNTERMODE_UP; - 8004bae: 4b2a ldr r3, [pc, #168] @ (8004c58 ) - 8004bb0: 2200 movs r2, #0 - 8004bb2: 609a str r2, [r3, #8] + 8004cc6: 4b2a ldr r3, [pc, #168] @ (8004d70 ) + 8004cc8: 2200 movs r2, #0 + 8004cca: 609a str r2, [r3, #8] htim2.Init.Period = 999; - 8004bb4: 4b28 ldr r3, [pc, #160] @ (8004c58 ) - 8004bb6: f240 32e7 movw r2, #999 @ 0x3e7 - 8004bba: 60da str r2, [r3, #12] + 8004ccc: 4b28 ldr r3, [pc, #160] @ (8004d70 ) + 8004cce: f240 32e7 movw r2, #999 @ 0x3e7 + 8004cd2: 60da str r2, [r3, #12] htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8004bbc: 4b26 ldr r3, [pc, #152] @ (8004c58 ) - 8004bbe: 2200 movs r2, #0 - 8004bc0: 611a str r2, [r3, #16] + 8004cd4: 4b26 ldr r3, [pc, #152] @ (8004d70 ) + 8004cd6: 2200 movs r2, #0 + 8004cd8: 611a str r2, [r3, #16] htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8004bc2: 4b25 ldr r3, [pc, #148] @ (8004c58 ) - 8004bc4: 2200 movs r2, #0 - 8004bc6: 619a str r2, [r3, #24] + 8004cda: 4b25 ldr r3, [pc, #148] @ (8004d70 ) + 8004cdc: 2200 movs r2, #0 + 8004cde: 619a str r2, [r3, #24] if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) - 8004bc8: 4823 ldr r0, [pc, #140] @ (8004c58 ) - 8004bca: f008 fff9 bl 800dbc0 - 8004bce: 4603 mov r3, r0 - 8004bd0: 2b00 cmp r3, #0 - 8004bd2: d001 beq.n 8004bd8 + 8004ce0: 4823 ldr r0, [pc, #140] @ (8004d70 ) + 8004ce2: f009 fc6b bl 800e5bc + 8004ce6: 4603 mov r3, r0 + 8004ce8: 2b00 cmp r3, #0 + 8004cea: d001 beq.n 8004cf0 { Error_Handler(); - 8004bd4: f000 fb24 bl 8005220 + 8004cec: f000 fb42 bl 8005374 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - 8004bd8: 2300 movs r3, #0 - 8004bda: 61fb str r3, [r7, #28] + 8004cf0: 2300 movs r3, #0 + 8004cf2: 61fb str r3, [r7, #28] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8004bdc: 2300 movs r3, #0 - 8004bde: 627b str r3, [r7, #36] @ 0x24 + 8004cf4: 2300 movs r3, #0 + 8004cf6: 627b str r3, [r7, #36] @ 0x24 if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) - 8004be0: f107 031c add.w r3, r7, #28 - 8004be4: 4619 mov r1, r3 - 8004be6: 481c ldr r0, [pc, #112] @ (8004c58 ) - 8004be8: f009 fd72 bl 800e6d0 - 8004bec: 4603 mov r3, r0 - 8004bee: 2b00 cmp r3, #0 - 8004bf0: d001 beq.n 8004bf6 + 8004cf8: f107 031c add.w r3, r7, #28 + 8004cfc: 4619 mov r1, r3 + 8004cfe: 481c ldr r0, [pc, #112] @ (8004d70 ) + 8004d00: f00a f9e4 bl 800f0cc + 8004d04: 4603 mov r3, r0 + 8004d06: 2b00 cmp r3, #0 + 8004d08: d001 beq.n 8004d0e { Error_Handler(); - 8004bf2: f000 fb15 bl 8005220 + 8004d0a: f000 fb33 bl 8005374 } sConfigOC.OCMode = TIM_OCMODE_PWM1; - 8004bf6: 2360 movs r3, #96 @ 0x60 - 8004bf8: 603b str r3, [r7, #0] + 8004d0e: 2360 movs r3, #96 @ 0x60 + 8004d10: 603b str r3, [r7, #0] sConfigOC.Pulse = 0; - 8004bfa: 2300 movs r3, #0 - 8004bfc: 607b str r3, [r7, #4] + 8004d12: 2300 movs r3, #0 + 8004d14: 607b str r3, [r7, #4] sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - 8004bfe: 2300 movs r3, #0 - 8004c00: 60bb str r3, [r7, #8] + 8004d16: 2300 movs r3, #0 + 8004d18: 60bb str r3, [r7, #8] sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 8004c02: 2300 movs r3, #0 - 8004c04: 613b str r3, [r7, #16] + 8004d1a: 2300 movs r3, #0 + 8004d1c: 613b str r3, [r7, #16] if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) - 8004c06: 463b mov r3, r7 - 8004c08: 2200 movs r2, #0 - 8004c0a: 4619 mov r1, r3 - 8004c0c: 4812 ldr r0, [pc, #72] @ (8004c58 ) - 8004c0e: f009 f935 bl 800de7c - 8004c12: 4603 mov r3, r0 - 8004c14: 2b00 cmp r3, #0 - 8004c16: d001 beq.n 8004c1c + 8004d1e: 463b mov r3, r7 + 8004d20: 2200 movs r2, #0 + 8004d22: 4619 mov r1, r3 + 8004d24: 4812 ldr r0, [pc, #72] @ (8004d70 ) + 8004d26: f009 fda7 bl 800e878 + 8004d2a: 4603 mov r3, r0 + 8004d2c: 2b00 cmp r3, #0 + 8004d2e: d001 beq.n 8004d34 { Error_Handler(); - 8004c18: f000 fb02 bl 8005220 + 8004d30: f000 fb20 bl 8005374 } if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) - 8004c1c: 463b mov r3, r7 - 8004c1e: 2204 movs r2, #4 - 8004c20: 4619 mov r1, r3 - 8004c22: 480d ldr r0, [pc, #52] @ (8004c58 ) - 8004c24: f009 f92a bl 800de7c - 8004c28: 4603 mov r3, r0 - 8004c2a: 2b00 cmp r3, #0 - 8004c2c: d001 beq.n 8004c32 + 8004d34: 463b mov r3, r7 + 8004d36: 2204 movs r2, #4 + 8004d38: 4619 mov r1, r3 + 8004d3a: 480d ldr r0, [pc, #52] @ (8004d70 ) + 8004d3c: f009 fd9c bl 800e878 + 8004d40: 4603 mov r3, r0 + 8004d42: 2b00 cmp r3, #0 + 8004d44: d001 beq.n 8004d4a { Error_Handler(); - 8004c2e: f000 faf7 bl 8005220 + 8004d46: f000 fb15 bl 8005374 } if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) - 8004c32: 463b mov r3, r7 - 8004c34: 2208 movs r2, #8 - 8004c36: 4619 mov r1, r3 - 8004c38: 4807 ldr r0, [pc, #28] @ (8004c58 ) - 8004c3a: f009 f91f bl 800de7c - 8004c3e: 4603 mov r3, r0 - 8004c40: 2b00 cmp r3, #0 - 8004c42: d001 beq.n 8004c48 + 8004d4a: 463b mov r3, r7 + 8004d4c: 2208 movs r2, #8 + 8004d4e: 4619 mov r1, r3 + 8004d50: 4807 ldr r0, [pc, #28] @ (8004d70 ) + 8004d52: f009 fd91 bl 800e878 + 8004d56: 4603 mov r3, r0 + 8004d58: 2b00 cmp r3, #0 + 8004d5a: d001 beq.n 8004d60 { Error_Handler(); - 8004c44: f000 faec bl 8005220 + 8004d5c: f000 fb0a bl 8005374 } /* USER CODE BEGIN TIM2_Init 2 */ /* USER CODE END TIM2_Init 2 */ HAL_TIM_MspPostInit(&htim2); - 8004c48: 4803 ldr r0, [pc, #12] @ (8004c58 ) - 8004c4a: f001 f967 bl 8005f1c + 8004d60: 4803 ldr r0, [pc, #12] @ (8004d70 ) + 8004d62: f001 fb59 bl 8006418 } - 8004c4e: bf00 nop - 8004c50: 3728 adds r7, #40 @ 0x28 - 8004c52: 46bd mov sp, r7 - 8004c54: bd80 pop {r7, pc} - 8004c56: bf00 nop - 8004c58: 200006b0 .word 0x200006b0 + 8004d66: bf00 nop + 8004d68: 3728 adds r7, #40 @ 0x28 + 8004d6a: 46bd mov sp, r7 + 8004d6c: bd80 pop {r7, pc} + 8004d6e: bf00 nop + 8004d70: 200006b0 .word 0x200006b0 -08004c5c : +08004d74 : /** * Enable DMA controller clock */ static void MX_DMA_Init(void) { - 8004c5c: b580 push {r7, lr} - 8004c5e: af00 add r7, sp, #0 + 8004d74: b580 push {r7, lr} + 8004d76: af00 add r7, sp, #0 /* DMA controller clock enable */ __HAL_RCC_DMAMUX1_CLK_ENABLE(); - 8004c60: 2004 movs r0, #4 - 8004c62: f7ff fd11 bl 8004688 + 8004d78: 2004 movs r0, #4 + 8004d7a: f7ff fd11 bl 80047a0 __HAL_RCC_DMA1_CLK_ENABLE(); - 8004c66: 2001 movs r0, #1 - 8004c68: f7ff fd0e bl 8004688 + 8004d7e: 2001 movs r0, #1 + 8004d80: f7ff fd0e bl 80047a0 /* DMA interrupt init */ /* DMA1_Channel1_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 5, 0); - 8004c6c: 2200 movs r2, #0 - 8004c6e: 2105 movs r1, #5 - 8004c70: 200b movs r0, #11 - 8004c72: f001 fd2d bl 80066d0 + 8004d84: 2200 movs r2, #0 + 8004d86: 2105 movs r1, #5 + 8004d88: 200b movs r0, #11 + 8004d8a: f001 ff1f bl 8006bcc HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); - 8004c76: 200b movs r0, #11 - 8004c78: f001 fd44 bl 8006704 + 8004d8e: 200b movs r0, #11 + 8004d90: f001 ff36 bl 8006c00 /* DMA1_Channel2_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Channel2_IRQn, 5, 0); - 8004c7c: 2200 movs r2, #0 - 8004c7e: 2105 movs r1, #5 - 8004c80: 200c movs r0, #12 - 8004c82: f001 fd25 bl 80066d0 + 8004d94: 2200 movs r2, #0 + 8004d96: 2105 movs r1, #5 + 8004d98: 200c movs r0, #12 + 8004d9a: f001 ff17 bl 8006bcc HAL_NVIC_EnableIRQ(DMA1_Channel2_IRQn); - 8004c86: 200c movs r0, #12 - 8004c88: f001 fd3c bl 8006704 + 8004d9e: 200c movs r0, #12 + 8004da0: f001 ff2e bl 8006c00 /* DMA1_Channel3_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Channel3_IRQn, 5, 0); - 8004c8c: 2200 movs r2, #0 - 8004c8e: 2105 movs r1, #5 - 8004c90: 200d movs r0, #13 - 8004c92: f001 fd1d bl 80066d0 + 8004da4: 2200 movs r2, #0 + 8004da6: 2105 movs r1, #5 + 8004da8: 200d movs r0, #13 + 8004daa: f001 ff0f bl 8006bcc HAL_NVIC_EnableIRQ(DMA1_Channel3_IRQn); - 8004c96: 200d movs r0, #13 - 8004c98: f001 fd34 bl 8006704 + 8004dae: 200d movs r0, #13 + 8004db0: f001 ff26 bl 8006c00 /* DMA1_Channel4_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 5, 0); - 8004c9c: 2200 movs r2, #0 - 8004c9e: 2105 movs r1, #5 - 8004ca0: 200e movs r0, #14 - 8004ca2: f001 fd15 bl 80066d0 + 8004db4: 2200 movs r2, #0 + 8004db6: 2105 movs r1, #5 + 8004db8: 200e movs r0, #14 + 8004dba: f001 ff07 bl 8006bcc HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn); - 8004ca6: 200e movs r0, #14 - 8004ca8: f001 fd2c bl 8006704 + 8004dbe: 200e movs r0, #14 + 8004dc0: f001 ff1e bl 8006c00 } - 8004cac: bf00 nop - 8004cae: bd80 pop {r7, pc} + 8004dc4: bf00 nop + 8004dc6: bd80 pop {r7, pc} -08004cb0 : +08004dc8 : * @brief GPIO Initialization Function * @param None * @retval None */ static void MX_GPIO_Init(void) { - 8004cb0: b580 push {r7, lr} - 8004cb2: b086 sub sp, #24 - 8004cb4: af00 add r7, sp, #0 + 8004dc8: b580 push {r7, lr} + 8004dca: b086 sub sp, #24 + 8004dcc: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8004cb6: 1d3b adds r3, r7, #4 - 8004cb8: 2200 movs r2, #0 - 8004cba: 601a str r2, [r3, #0] - 8004cbc: 605a str r2, [r3, #4] - 8004cbe: 609a str r2, [r3, #8] - 8004cc0: 60da str r2, [r3, #12] - 8004cc2: 611a str r2, [r3, #16] + 8004dce: 1d3b adds r3, r7, #4 + 8004dd0: 2200 movs r2, #0 + 8004dd2: 601a str r2, [r3, #0] + 8004dd4: 605a str r2, [r3, #4] + 8004dd6: 609a str r2, [r3, #8] + 8004dd8: 60da str r2, [r3, #12] + 8004dda: 611a str r2, [r3, #16] /* USER CODE BEGIN MX_GPIO_Init_1 */ /* USER CODE END MX_GPIO_Init_1 */ /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); - 8004cc4: 2004 movs r0, #4 - 8004cc6: f7ff fcf8 bl 80046ba + 8004ddc: 2004 movs r0, #4 + 8004dde: f7ff fcf8 bl 80047d2 __HAL_RCC_GPIOB_CLK_ENABLE(); - 8004cca: 2002 movs r0, #2 - 8004ccc: f7ff fcf5 bl 80046ba + 8004de2: 2002 movs r0, #2 + 8004de4: f7ff fcf5 bl 80047d2 __HAL_RCC_GPIOA_CLK_ENABLE(); - 8004cd0: 2001 movs r0, #1 - 8004cd2: f7ff fcf2 bl 80046ba + 8004de8: 2001 movs r0, #1 + 8004dea: f7ff fcf2 bl 80047d2 /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIO_SPI1_IMU_CS_GPIO_Port, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); - 8004cd6: 2201 movs r2, #1 - 8004cd8: 2108 movs r1, #8 - 8004cda: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 - 8004cde: f002 f99b bl 8007018 + 8004dee: 2201 movs r2, #1 + 8004df0: 2108 movs r1, #8 + 8004df2: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 + 8004df6: f002 fbeb bl 80075d0 /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOC, GPIO_SPI2_SD_CD_Pin|GPIO_SPI2_SD_CS_Pin, GPIO_PIN_SET); - 8004ce2: 2201 movs r2, #1 - 8004ce4: 2160 movs r1, #96 @ 0x60 - 8004ce6: 4826 ldr r0, [pc, #152] @ (8004d80 ) - 8004ce8: f002 f996 bl 8007018 + 8004dfa: 2201 movs r2, #1 + 8004dfc: 2160 movs r1, #96 @ 0x60 + 8004dfe: 4826 ldr r0, [pc, #152] @ (8004e98 ) + 8004e00: f002 fbe6 bl 80075d0 /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIO_SD_LDO_EN_GPIO_Port, GPIO_SD_LDO_EN_Pin, GPIO_PIN_RESET); - 8004cec: 2200 movs r2, #0 - 8004cee: f44f 5180 mov.w r1, #4096 @ 0x1000 - 8004cf2: 4823 ldr r0, [pc, #140] @ (8004d80 ) - 8004cf4: f002 f990 bl 8007018 + 8004e04: 2200 movs r2, #0 + 8004e06: f44f 5180 mov.w r1, #4096 @ 0x1000 + 8004e0a: 4823 ldr r0, [pc, #140] @ (8004e98 ) + 8004e0c: f002 fbe0 bl 80075d0 /*Configure GPIO pin : GPIO_SPI1_IMU_CS_Pin */ GPIO_InitStruct.Pin = GPIO_SPI1_IMU_CS_Pin; - 8004cf8: 2308 movs r3, #8 - 8004cfa: 607b str r3, [r7, #4] + 8004e10: 2308 movs r3, #8 + 8004e12: 607b str r3, [r7, #4] GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - 8004cfc: 2301 movs r3, #1 - 8004cfe: 60bb str r3, [r7, #8] + 8004e14: 2301 movs r3, #1 + 8004e16: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004d00: 2300 movs r3, #0 - 8004d02: 60fb str r3, [r7, #12] + 8004e18: 2300 movs r3, #0 + 8004e1a: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - 8004d04: 2303 movs r3, #3 - 8004d06: 613b str r3, [r7, #16] + 8004e1c: 2303 movs r3, #3 + 8004e1e: 613b str r3, [r7, #16] HAL_GPIO_Init(GPIO_SPI1_IMU_CS_GPIO_Port, &GPIO_InitStruct); - 8004d08: 1d3b adds r3, r7, #4 - 8004d0a: 4619 mov r1, r3 - 8004d0c: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 - 8004d10: f002 f812 bl 8006d38 + 8004e20: 1d3b adds r3, r7, #4 + 8004e22: 4619 mov r1, r3 + 8004e24: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 + 8004e28: f002 fa62 bl 80072f0 /*Configure GPIO pins : GPIO_SPI2_SD_CD_Pin GPIO_SPI2_SD_CS_Pin GPIO_SD_LDO_EN_Pin */ GPIO_InitStruct.Pin = GPIO_SPI2_SD_CD_Pin|GPIO_SPI2_SD_CS_Pin|GPIO_SD_LDO_EN_Pin; - 8004d14: f44f 5383 mov.w r3, #4192 @ 0x1060 - 8004d18: 607b str r3, [r7, #4] + 8004e2c: f44f 5383 mov.w r3, #4192 @ 0x1060 + 8004e30: 607b str r3, [r7, #4] GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - 8004d1a: 2301 movs r3, #1 - 8004d1c: 60bb str r3, [r7, #8] + 8004e32: 2301 movs r3, #1 + 8004e34: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004d1e: 2300 movs r3, #0 - 8004d20: 60fb str r3, [r7, #12] + 8004e36: 2300 movs r3, #0 + 8004e38: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - 8004d22: 2303 movs r3, #3 - 8004d24: 613b str r3, [r7, #16] + 8004e3a: 2303 movs r3, #3 + 8004e3c: 613b str r3, [r7, #16] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - 8004d26: 1d3b adds r3, r7, #4 - 8004d28: 4619 mov r1, r3 - 8004d2a: 4815 ldr r0, [pc, #84] @ (8004d80 ) - 8004d2c: f002 f804 bl 8006d38 + 8004e3e: 1d3b adds r3, r7, #4 + 8004e40: 4619 mov r1, r3 + 8004e42: 4815 ldr r0, [pc, #84] @ (8004e98 ) + 8004e44: f002 fa54 bl 80072f0 /*Configure GPIO pin : GPIO_IMU_INT_Pin */ GPIO_InitStruct.Pin = GPIO_IMU_INT_Pin; - 8004d30: f44f 6380 mov.w r3, #1024 @ 0x400 - 8004d34: 607b str r3, [r7, #4] + 8004e48: f44f 6380 mov.w r3, #1024 @ 0x400 + 8004e4c: 607b str r3, [r7, #4] GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; - 8004d36: f44f 1388 mov.w r3, #1114112 @ 0x110000 - 8004d3a: 60bb str r3, [r7, #8] + 8004e4e: f44f 1388 mov.w r3, #1114112 @ 0x110000 + 8004e52: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004d3c: 2300 movs r3, #0 - 8004d3e: 60fb str r3, [r7, #12] + 8004e54: 2300 movs r3, #0 + 8004e56: 60fb str r3, [r7, #12] HAL_GPIO_Init(GPIO_IMU_INT_GPIO_Port, &GPIO_InitStruct); - 8004d40: 1d3b adds r3, r7, #4 - 8004d42: 4619 mov r1, r3 - 8004d44: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 - 8004d48: f001 fff6 bl 8006d38 + 8004e58: 1d3b adds r3, r7, #4 + 8004e5a: 4619 mov r1, r3 + 8004e5c: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 + 8004e60: f002 fa46 bl 80072f0 /*Configure GPIO pin : GPIO_MAGN_INT_Pin */ GPIO_InitStruct.Pin = GPIO_MAGN_INT_Pin; - 8004d4c: f44f 6300 mov.w r3, #2048 @ 0x800 - 8004d50: 607b str r3, [r7, #4] + 8004e64: f44f 6300 mov.w r3, #2048 @ 0x800 + 8004e68: 607b str r3, [r7, #4] GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; - 8004d52: f44f 1388 mov.w r3, #1114112 @ 0x110000 - 8004d56: 60bb str r3, [r7, #8] + 8004e6a: f44f 1388 mov.w r3, #1114112 @ 0x110000 + 8004e6e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8004d58: 2300 movs r3, #0 - 8004d5a: 60fb str r3, [r7, #12] + 8004e70: 2300 movs r3, #0 + 8004e72: 60fb str r3, [r7, #12] HAL_GPIO_Init(GPIO_MAGN_INT_GPIO_Port, &GPIO_InitStruct); - 8004d5c: 1d3b adds r3, r7, #4 - 8004d5e: 4619 mov r1, r3 - 8004d60: 4807 ldr r0, [pc, #28] @ (8004d80 ) - 8004d62: f001 ffe9 bl 8006d38 + 8004e74: 1d3b adds r3, r7, #4 + 8004e76: 4619 mov r1, r3 + 8004e78: 4807 ldr r0, [pc, #28] @ (8004e98 ) + 8004e7a: f002 fa39 bl 80072f0 /* EXTI interrupt init*/ HAL_NVIC_SetPriority(EXTI15_10_IRQn, 5, 0); - 8004d66: 2200 movs r2, #0 - 8004d68: 2105 movs r1, #5 - 8004d6a: 2028 movs r0, #40 @ 0x28 - 8004d6c: f001 fcb0 bl 80066d0 + 8004e7e: 2200 movs r2, #0 + 8004e80: 2105 movs r1, #5 + 8004e82: 2028 movs r0, #40 @ 0x28 + 8004e84: f001 fea2 bl 8006bcc HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); - 8004d70: 2028 movs r0, #40 @ 0x28 - 8004d72: f001 fcc7 bl 8006704 + 8004e88: 2028 movs r0, #40 @ 0x28 + 8004e8a: f001 feb9 bl 8006c00 /* USER CODE BEGIN MX_GPIO_Init_2 */ /* USER CODE END MX_GPIO_Init_2 */ } - 8004d76: bf00 nop - 8004d78: 3718 adds r7, #24 - 8004d7a: 46bd mov sp, r7 - 8004d7c: bd80 pop {r7, pc} - 8004d7e: bf00 nop - 8004d80: 48000800 .word 0x48000800 + 8004e8e: bf00 nop + 8004e90: 3718 adds r7, #24 + 8004e92: 46bd mov sp, r7 + 8004e94: bd80 pop {r7, pc} + 8004e96: bf00 nop + 8004e98: 48000800 .word 0x48000800 -08004d84 : +08004e9c : * @param argument: Not used * @retval None */ /* USER CODE END Header_Start_DataAnalysis */ void Start_DataAnalysis(void *argument) { - 8004d84: b580 push {r7, lr} - 8004d86: b0b2 sub sp, #200 @ 0xc8 - 8004d88: af00 add r7, sp, #0 - 8004d8a: 6078 str r0, [r7, #4] + 8004e9c: b580 push {r7, lr} + 8004e9e: b092 sub sp, #72 @ 0x48 + 8004ea0: af00 add r7, sp, #0 + 8004ea2: 6078 str r0, [r7, #4] /* init code for USB_Device */ MX_USB_Device_Init(); - 8004d8c: f013 f88c bl 8017ea8 - char output_buffer[128]; + 8004ea4: f013 fce8 bl 8018878 +// char output_buffer[128]; ICM45686_Data imu_data; struct bmm350_mag_temp_data magn_data; // struct bmm350_raw_mag_data magn_data; QuaternionData Quat_Dat; Quat_Dat.StartByte = PACKET_START_BYTE; - 8004d90: 23de movs r3, #222 @ 0xde - 8004d92: 723b strb r3, [r7, #8] + 8004ea8: 23de movs r3, #222 @ 0xde + 8004eaa: 723b strb r3, [r7, #8] Quat_Dat.SensorAddress = BMM350_I2C_ADSEL_SET_LOW; - 8004d94: 2314 movs r3, #20 - 8004d96: 727b strb r3, [r7, #9] + 8004eac: 2314 movs r3, #20 + 8004eae: 727b strb r3, [r7, #9] Quat_Dat.EndByte = PACKET_END_BYTE; - 8004d98: 23ad movs r3, #173 @ 0xad - 8004d9a: 76bb strb r3, [r7, #26] + 8004eb0: 23ad movs r3, #173 @ 0xad + 8004eb2: 76bb strb r3, [r7, #26] - MadgwickAHRS_init(&IMUQuat, 6400.0f, 0.15f); - 8004d9c: eddf 0a29 vldr s1, [pc, #164] @ 8004e44 - 8004da0: ed9f 0a29 vldr s0, [pc, #164] @ 8004e48 - 8004da4: 4829 ldr r0, [pc, #164] @ (8004e4c ) - 8004da6: f7fb ff7d bl 8000ca4 + MadgwickAHRS_init(&IMUQuat, 6400.0f, 0.00001f); + 8004eb4: eddf 0a29 vldr s1, [pc, #164] @ 8004f5c + 8004eb8: ed9f 0a29 vldr s0, [pc, #164] @ 8004f60 + 8004ebc: 4829 ldr r0, [pc, #164] @ (8004f64 ) + 8004ebe: f7fb fef1 bl 8000ca4 /* Infinite loop */ for(;;) { osMessageQueueGet(Q_BMMHandle, &magn_data, NULL, osWaitForever); - 8004daa: 4b29 ldr r3, [pc, #164] @ (8004e50 ) - 8004dac: 6818 ldr r0, [r3, #0] - 8004dae: f107 011c add.w r1, r7, #28 - 8004db2: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 8004db6: 2200 movs r2, #0 - 8004db8: f00e fd64 bl 8013884 + 8004ec2: 4b29 ldr r3, [pc, #164] @ (8004f68 ) + 8004ec4: 6818 ldr r0, [r3, #0] + 8004ec6: f107 011c add.w r1, r7, #28 + 8004eca: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8004ece: 2200 movs r2, #0 + 8004ed0: f00f f9bc bl 801424c osMessageQueueGet(Q_ICMHandle, &imu_data, NULL, osWaitForever); - 8004dbc: 4b25 ldr r3, [pc, #148] @ (8004e54 ) - 8004dbe: 6818 ldr r0, [r3, #0] - 8004dc0: f107 012c add.w r1, r7, #44 @ 0x2c - 8004dc4: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 8004dc8: 2200 movs r2, #0 - 8004dca: f00e fd5b bl 8013884 + 8004ed4: 4b25 ldr r3, [pc, #148] @ (8004f6c ) + 8004ed6: 6818 ldr r0, [r3, #0] + 8004ed8: f107 012c add.w r1, r7, #44 @ 0x2c + 8004edc: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8004ee0: 2200 movs r2, #0 + 8004ee2: f00f f9b3 bl 801424c MadgwickAHRS_update(&IMUQuat, imu_data.processed_imu_data[3], imu_data.processed_imu_data[4], imu_data.processed_imu_data[5], //gx, gy, gz - 8004dce: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 8004dd2: ed97 7a0f vldr s14, [r7, #60] @ 0x3c - 8004dd6: edd7 6a10 vldr s13, [r7, #64] @ 0x40 - 8004dda: ed97 6a0b vldr s12, [r7, #44] @ 0x2c - 8004dde: edd7 5a0c vldr s11, [r7, #48] @ 0x30 - 8004de2: ed97 5a0d vldr s10, [r7, #52] @ 0x34 - 8004de6: edd7 4a07 vldr s9, [r7, #28] - 8004dea: edd7 3a08 vldr s7, [r7, #32] - 8004dee: ed97 4a09 vldr s8, [r7, #36] @ 0x24 - 8004df2: eeb0 3a64 vmov.f32 s6, s9 - 8004df6: eef0 2a45 vmov.f32 s5, s10 - 8004dfa: eeb0 2a65 vmov.f32 s4, s11 - 8004dfe: eef0 1a46 vmov.f32 s3, s12 - 8004e02: eeb0 1a66 vmov.f32 s2, s13 - 8004e06: eef0 0a47 vmov.f32 s1, s14 - 8004e0a: eeb0 0a67 vmov.f32 s0, s15 - 8004e0e: 480f ldr r0, [pc, #60] @ (8004e4c ) - 8004e10: f7fb ff6c bl 8000cec -// + 8004ee6: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 8004eea: ed97 7a0f vldr s14, [r7, #60] @ 0x3c + 8004eee: edd7 6a10 vldr s13, [r7, #64] @ 0x40 + 8004ef2: ed97 6a0b vldr s12, [r7, #44] @ 0x2c + 8004ef6: edd7 5a0c vldr s11, [r7, #48] @ 0x30 + 8004efa: ed97 5a0d vldr s10, [r7, #52] @ 0x34 + 8004efe: edd7 4a07 vldr s9, [r7, #28] + 8004f02: edd7 3a08 vldr s7, [r7, #32] + 8004f06: ed97 4a09 vldr s8, [r7, #36] @ 0x24 + 8004f0a: eeb0 3a64 vmov.f32 s6, s9 + 8004f0e: eef0 2a45 vmov.f32 s5, s10 + 8004f12: eeb0 2a65 vmov.f32 s4, s11 + 8004f16: eef0 1a46 vmov.f32 s3, s12 + 8004f1a: eeb0 1a66 vmov.f32 s2, s13 + 8004f1e: eef0 0a47 vmov.f32 s1, s14 + 8004f22: eeb0 0a67 vmov.f32 s0, s15 + 8004f26: 480f ldr r0, [pc, #60] @ (8004f64 ) + 8004f28: f7fb fee0 bl 8000cec + // MadgwickAHRS_update_IMU(&IMUQuat, imu_data.processed_imu_data[3], imu_data.processed_imu_data[4], imu_data.processed_imu_data[5], //gx, gy, gz // imu_data.processed_imu_data[0], imu_data.processed_imu_data[1], imu_data.processed_imu_data[2]); // ax, ay, yz) Quat_Dat.qw = IMUQuat.q[0]; - 8004e14: 4b0d ldr r3, [pc, #52] @ (8004e4c ) - 8004e16: 681b ldr r3, [r3, #0] - 8004e18: f8c7 300a str.w r3, [r7, #10] + 8004f2c: 4b0d ldr r3, [pc, #52] @ (8004f64 ) + 8004f2e: 681b ldr r3, [r3, #0] + 8004f30: f8c7 300a str.w r3, [r7, #10] Quat_Dat.qx = IMUQuat.q[1]; - 8004e1c: 4b0b ldr r3, [pc, #44] @ (8004e4c ) - 8004e1e: 685b ldr r3, [r3, #4] - 8004e20: f8c7 300e str.w r3, [r7, #14] + 8004f34: 4b0b ldr r3, [pc, #44] @ (8004f64 ) + 8004f36: 685b ldr r3, [r3, #4] + 8004f38: f8c7 300e str.w r3, [r7, #14] Quat_Dat.qy = IMUQuat.q[2]; - 8004e24: 4b09 ldr r3, [pc, #36] @ (8004e4c ) - 8004e26: 689b ldr r3, [r3, #8] - 8004e28: f8c7 3012 str.w r3, [r7, #18] + 8004f3c: 4b09 ldr r3, [pc, #36] @ (8004f64 ) + 8004f3e: 689b ldr r3, [r3, #8] + 8004f40: f8c7 3012 str.w r3, [r7, #18] Quat_Dat.qz = IMUQuat.q[3]; - 8004e2c: 4b07 ldr r3, [pc, #28] @ (8004e4c ) - 8004e2e: 68db ldr r3, [r3, #12] - 8004e30: f8c7 3016 str.w r3, [r7, #22] + 8004f44: 4b07 ldr r3, [pc, #28] @ (8004f64 ) + 8004f46: 68db ldr r3, [r3, #12] + 8004f48: f8c7 3016 str.w r3, [r7, #22] CDC_Transmit_FS((uint8_t*)&Quat_Dat, sizeof(Quat_Dat)); - 8004e34: f107 0308 add.w r3, r7, #8 - 8004e38: 2113 movs r1, #19 - 8004e3a: 4618 mov r0, r3 - 8004e3c: f013 f8f2 bl 8018024 + 8004f4c: f107 0308 add.w r3, r7, #8 + 8004f50: 2113 movs r1, #19 + 8004f52: 4618 mov r0, r3 + 8004f54: f013 fd4e bl 80189f4 osMessageQueueGet(Q_BMMHandle, &magn_data, NULL, osWaitForever); - 8004e40: bf00 nop - 8004e42: e7b2 b.n 8004daa - 8004e44: 3e19999a .word 0x3e19999a - 8004e48: 45c80000 .word 0x45c80000 - 8004e4c: 20000710 .word 0x20000710 - 8004e50: 2000070c .word 0x2000070c - 8004e54: 20000708 .word 0x20000708 + 8004f58: bf00 nop + 8004f5a: e7b2 b.n 8004ec2 + 8004f5c: 3727c5ac .word 0x3727c5ac + 8004f60: 45c80000 .word 0x45c80000 + 8004f64: 20000710 .word 0x20000710 + 8004f68: 2000070c .word 0x2000070c + 8004f6c: 20000708 .word 0x20000708 -08004e58 : +08004f70 : * @param argument: Not used * @retval None */ /* USER CODE END Header_Start_ICM45686 */ void Start_ICM45686(void *argument) { - 8004e58: b580 push {r7, lr} - 8004e5a: b0a4 sub sp, #144 @ 0x90 - 8004e5c: af00 add r7, sp, #0 - 8004e5e: 6078 str r0, [r7, #4] + 8004f70: b580 push {r7, lr} + 8004f72: b0a4 sub sp, #144 @ 0x90 + 8004f74: af00 add r7, sp, #0 + 8004f76: 6078 str r0, [r7, #4] /* USER CODE BEGIN Start_ICM45686 */ HAL_StatusTypeDef status; // char output_buffer[128]; xIMU_Task = osThreadGetId(); - 8004e60: f00e f91c bl 801309c - 8004e64: 4603 mov r3, r0 - 8004e66: 4aab ldr r2, [pc, #684] @ (8005114 ) - 8004e68: 6013 str r3, [r2, #0] + 8004f78: f00e fd8e bl 8013a98 + 8004f7c: 4603 mov r3, r0 + 8004f7e: 4abd ldr r2, [pc, #756] @ (8005274 ) + 8004f80: 6013 str r3, [r2, #0] uint8_t raw_imu_data[15]; int16_t imu_sensor_data[7]; ICM45686_Data processed_data; ICM45686_HandleTypeDef imu; imu.hspi = &hspi1; - 8004e6a: 4bab ldr r3, [pc, #684] @ (8005118 ) - 8004e6c: 61fb str r3, [r7, #28] + 8004f82: 4bbd ldr r3, [pc, #756] @ (8005278 ) + 8004f84: 61bb str r3, [r7, #24] imu.GPIO_Port = GPIO_SPI1_IMU_CS_GPIO_Port; - 8004e6e: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8004e72: 623b str r3, [r7, #32] + 8004f86: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 + 8004f8a: 61fb str r3, [r7, #28] imu.GPIO_Pin = GPIO_SPI1_IMU_CS_Pin; - 8004e74: 2308 movs r3, #8 - 8004e76: 84bb strh r3, [r7, #36] @ 0x24 - imu.acc_fs = ICM45686_ACC_FS_4G; - 8004e78: 2330 movs r3, #48 @ 0x30 - 8004e7a: f887 3026 strb.w r3, [r7, #38] @ 0x26 - imu.acc_ssf = ICM45686_ACC_SSF[ICM45686_ACC_FS_4G >> 4]; - 8004e7e: f04f 438c mov.w r3, #1174405120 @ 0x46000000 - 8004e82: 62fb str r3, [r7, #44] @ 0x2c - imu.gyro_fs = ICM45686_GYRO_FS_250DPS; - 8004e84: 2340 movs r3, #64 @ 0x40 - 8004e86: f887 3027 strb.w r3, [r7, #39] @ 0x27 - imu.gyro_ssf = ICM45686_GYRO_SSF[ICM45686_GYRO_FS_250DPS >> 4]; - 8004e8a: 4ba4 ldr r3, [pc, #656] @ (800511c ) - 8004e8c: 633b str r3, [r7, #48] @ 0x30 + 8004f8c: 2308 movs r3, #8 + 8004f8e: 843b strh r3, [r7, #32] + imu.acc_fs = ICM45686_ACC_FS_16G; + 8004f90: 2310 movs r3, #16 + 8004f92: f887 3022 strb.w r3, [r7, #34] @ 0x22 + imu.acc_ssf = ICM45686_ACC_SSF[ICM45686_ACC_FS_16G >> 4]; + 8004f96: f04f 438a mov.w r3, #1157627904 @ 0x45000000 + 8004f9a: 62bb str r3, [r7, #40] @ 0x28 + imu.gyro_fs = ICM45686_GYRO_FS_2000DPS; + 8004f9c: 2310 movs r3, #16 + 8004f9e: f887 3023 strb.w r3, [r7, #35] @ 0x23 + imu.gyro_ssf = ICM45686_GYRO_SSF[ICM45686_GYRO_FS_2000DPS >> 4]; + 8004fa2: 4bb6 ldr r3, [pc, #728] @ (800527c ) + 8004fa4: 62fb str r3, [r7, #44] @ 0x2c imu.odr = ICM45686_ODR_6_4kHz_LN ; - 8004e8e: 2303 movs r3, #3 - 8004e90: f887 3028 strb.w r3, [r7, #40] @ 0x28 + 8004fa6: 2303 movs r3, #3 + 8004fa8: f887 3024 strb.w r3, [r7, #36] @ 0x24 uint8_t tx[15] = {0x00}; - 8004e94: f107 030c add.w r3, r7, #12 - 8004e98: 2200 movs r2, #0 - 8004e9a: 601a str r2, [r3, #0] - 8004e9c: 605a str r2, [r3, #4] - 8004e9e: 609a str r2, [r3, #8] - 8004ea0: f8c3 200b str.w r2, [r3, #11] + 8004fac: f107 0308 add.w r3, r7, #8 + 8004fb0: 2200 movs r2, #0 + 8004fb2: 601a str r2, [r3, #0] + 8004fb4: 605a str r2, [r3, #4] + 8004fb6: 609a str r2, [r3, #8] + 8004fb8: f8c3 200b str.w r2, [r3, #11] tx[0] = 0x00 | 0x80; - 8004ea4: 2380 movs r3, #128 @ 0x80 - 8004ea6: 733b strb r3, [r7, #12] + 8004fbc: 2380 movs r3, #128 @ 0x80 + 8004fbe: 723b strb r3, [r7, #8] + uint16_t tx_len = sizeof(tx); + 8004fc0: 230f movs r3, #15 + 8004fc2: f8a7 308e strh.w r3, [r7, #142] @ 0x8e + init_icm(&imu); - 8004ea8: f107 031c add.w r3, r7, #28 - 8004eac: 4618 mov r0, r3 - 8004eae: f000 fb0b bl 80054c8 - osDelay(50); - 8004eb2: 2032 movs r0, #50 @ 0x32 - 8004eb4: f00e f9d7 bl 8013266 - configure_interrupt_icm(&imu); - 8004eb8: f107 031c add.w r3, r7, #28 - 8004ebc: 4618 mov r0, r3 - 8004ebe: f000 fc3f bl 8005740 - enable_interrupt_icm(&imu); - 8004ec2: f107 031c add.w r3, r7, #28 - 8004ec6: 4618 mov r0, r3 - 8004ec8: f000 fbf4 bl 80056b4 -// osDelay(500); -// calibrate_icm(&imu, 1000); - /* Infinite loop */ - for(;;) - { - ulTaskNotifyTake(pdFALSE, osWaitForever); - 8004ecc: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8004ed0: 2100 movs r1, #0 - 8004ed2: 2000 movs r0, #0 - 8004ed4: f011 f92e bl 8016134 - status = read_icm_dma(&imu, tx, raw_imu_data, sizeof(tx)); - 8004ed8: f107 0280 add.w r2, r7, #128 @ 0x80 - 8004edc: f107 010c add.w r1, r7, #12 - 8004ee0: f107 001c add.w r0, r7, #28 - 8004ee4: 230f movs r3, #15 - 8004ee6: f000 faac bl 8005442 - 8004eea: 4603 mov r3, r0 - 8004eec: f887 308f strb.w r3, [r7, #143] @ 0x8f + 8004fc6: f107 0318 add.w r3, r7, #24 + 8004fca: 4618 mov r0, r3 + 8004fcc: f000 fb3e bl 800564c + configure_and_enable_int_icm(&imu); + 8004fd0: f107 0318 add.w r3, r7, #24 + 8004fd4: 4618 mov r0, r3 + 8004fd6: f000 fdb9 bl 8005b4c + ulTaskNotifyTakeIndexed(ICM_NOTIFY_INT_DRDY, pdTRUE, 0); + 8004fda: 2200 movs r2, #0 + 8004fdc: 2101 movs r1, #1 + 8004fde: 2000 movs r0, #0 + 8004fe0: f011 fda8 bl 8016b34 + ulTaskNotifyTakeIndexed(ICM_NOTIFY_DMA, pdTRUE, 0); + 8004fe4: 2200 movs r2, #0 + 8004fe6: 2101 movs r1, #1 + 8004fe8: 2001 movs r0, #1 + 8004fea: f011 fda3 bl 8016b34 + calibrate_icm(&imu, 25000); + 8004fee: f107 0318 add.w r3, r7, #24 + 8004ff2: f246 11a8 movw r1, #25000 @ 0x61a8 + 8004ff6: 4618 mov r0, r3 + 8004ff8: f000 fc16 bl 8005828 + // if (status != HAL_OK) { + // printf("Reading IMU sensordata failed: %d\n", status); + // } + //// DEBUG //// + + ulTaskNotifyTakeIndexed(ICM_NOTIFY_INT_DRDY, pdTRUE, portMAX_DELAY); + 8004ffc: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8005000: 2101 movs r1, #1 + 8005002: 2000 movs r0, #0 + 8005004: f011 fd96 bl 8016b34 + status = read_icm_dma(&imu, tx, raw_imu_data, tx_len); + 8005008: f8b7 308e ldrh.w r3, [r7, #142] @ 0x8e + 800500c: f107 027c add.w r2, r7, #124 @ 0x7c + 8005010: f107 0108 add.w r1, r7, #8 + 8005014: f107 0018 add.w r0, r7, #24 + 8005018: f000 fad5 bl 80055c6 + 800501c: 4603 mov r3, r0 + 800501e: f887 308d strb.w r3, [r7, #141] @ 0x8d if (status != HAL_OK) { - 8004ef0: f897 308f ldrb.w r3, [r7, #143] @ 0x8f - 8004ef4: 2b00 cmp r3, #0 - 8004ef6: d005 beq.n 8004f04 + 8005022: f897 308d ldrb.w r3, [r7, #141] @ 0x8d + 8005026: 2b00 cmp r3, #0 + 8005028: d005 beq.n 8005036 printf("Reading IMU sensordata failed: %d\n", status); - 8004ef8: f897 308f ldrb.w r3, [r7, #143] @ 0x8f - 8004efc: 4619 mov r1, r3 - 8004efe: 4888 ldr r0, [pc, #544] @ (8005120 ) - 8004f00: f014 fca0 bl 8019844 + 800502a: f897 308d ldrb.w r3, [r7, #141] @ 0x8d + 800502e: 4619 mov r1, r3 + 8005030: 4893 ldr r0, [pc, #588] @ (8005280 ) + 8005032: f015 f8ef bl 801a214 } + if (ulTaskNotifyTakeIndexed(ICM_NOTIFY_DMA, pdTRUE, pdMS_TO_TICKS(10)) > 0) { + 8005036: 220a movs r2, #10 + 8005038: 2101 movs r1, #1 + 800503a: 2001 movs r0, #1 + 800503c: f011 fd7a bl 8016b34 + 8005040: 4603 mov r3, r0 + 8005042: 2b00 cmp r3, #0 + 8005044: f000 8108 beq.w 8005258 + imu_sensor_data[0] = (int16_t)(raw_imu_data[1] << 8 | raw_imu_data[2]); // a_x + 8005048: f897 307d ldrb.w r3, [r7, #125] @ 0x7d + 800504c: b21b sxth r3, r3 + 800504e: 021b lsls r3, r3, #8 + 8005050: b21a sxth r2, r3 + 8005052: f897 307e ldrb.w r3, [r7, #126] @ 0x7e + 8005056: b21b sxth r3, r3 + 8005058: 4313 orrs r3, r2 + 800505a: b21b sxth r3, r3 + 800505c: f8a7 306c strh.w r3, [r7, #108] @ 0x6c + imu_sensor_data[1] = (int16_t)(raw_imu_data[3] << 8 | raw_imu_data[4]); // a_y + 8005060: f897 307f ldrb.w r3, [r7, #127] @ 0x7f + 8005064: b21b sxth r3, r3 + 8005066: 021b lsls r3, r3, #8 + 8005068: b21a sxth r2, r3 + 800506a: f897 3080 ldrb.w r3, [r7, #128] @ 0x80 + 800506e: b21b sxth r3, r3 + 8005070: 4313 orrs r3, r2 + 8005072: b21b sxth r3, r3 + 8005074: f8a7 306e strh.w r3, [r7, #110] @ 0x6e + imu_sensor_data[2] = (int16_t)(raw_imu_data[5] << 8 | raw_imu_data[6]); // a_z + 8005078: f897 3081 ldrb.w r3, [r7, #129] @ 0x81 + 800507c: b21b sxth r3, r3 + 800507e: 021b lsls r3, r3, #8 + 8005080: b21a sxth r2, r3 + 8005082: f897 3082 ldrb.w r3, [r7, #130] @ 0x82 + 8005086: b21b sxth r3, r3 + 8005088: 4313 orrs r3, r2 + 800508a: b21b sxth r3, r3 + 800508c: f8a7 3070 strh.w r3, [r7, #112] @ 0x70 + imu_sensor_data[3] = (int16_t)(raw_imu_data[7] << 8 | raw_imu_data[8]); // g_x + 8005090: f897 3083 ldrb.w r3, [r7, #131] @ 0x83 + 8005094: b21b sxth r3, r3 + 8005096: 021b lsls r3, r3, #8 + 8005098: b21a sxth r2, r3 + 800509a: f897 3084 ldrb.w r3, [r7, #132] @ 0x84 + 800509e: b21b sxth r3, r3 + 80050a0: 4313 orrs r3, r2 + 80050a2: b21b sxth r3, r3 + 80050a4: f8a7 3072 strh.w r3, [r7, #114] @ 0x72 + imu_sensor_data[4] = (int16_t)(raw_imu_data[9] << 8 | raw_imu_data[10]); // g_y + 80050a8: f897 3085 ldrb.w r3, [r7, #133] @ 0x85 + 80050ac: b21b sxth r3, r3 + 80050ae: 021b lsls r3, r3, #8 + 80050b0: b21a sxth r2, r3 + 80050b2: f897 3086 ldrb.w r3, [r7, #134] @ 0x86 + 80050b6: b21b sxth r3, r3 + 80050b8: 4313 orrs r3, r2 + 80050ba: b21b sxth r3, r3 + 80050bc: f8a7 3074 strh.w r3, [r7, #116] @ 0x74 + imu_sensor_data[5] = (int16_t)(raw_imu_data[11] << 8 | raw_imu_data[12]); // g_z + 80050c0: f897 3087 ldrb.w r3, [r7, #135] @ 0x87 + 80050c4: b21b sxth r3, r3 + 80050c6: 021b lsls r3, r3, #8 + 80050c8: b21a sxth r2, r3 + 80050ca: f897 3088 ldrb.w r3, [r7, #136] @ 0x88 + 80050ce: b21b sxth r3, r3 + 80050d0: 4313 orrs r3, r2 + 80050d2: b21b sxth r3, r3 + 80050d4: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 + imu_sensor_data[6] = (int16_t)(raw_imu_data[13] << 8 | raw_imu_data[14]); // t + 80050d8: f897 3089 ldrb.w r3, [r7, #137] @ 0x89 + 80050dc: b21b sxth r3, r3 + 80050de: 021b lsls r3, r3, #8 + 80050e0: b21a sxth r2, r3 + 80050e2: f897 308a ldrb.w r3, [r7, #138] @ 0x8a + 80050e6: b21b sxth r3, r3 + 80050e8: 4313 orrs r3, r2 + 80050ea: b21b sxth r3, r3 + 80050ec: f8a7 3078 strh.w r3, [r7, #120] @ 0x78 - imu_sensor_data[0] = (int16_t)(raw_imu_data[1] << 8 | raw_imu_data[2]); // a_x - 8004f04: f897 3081 ldrb.w r3, [r7, #129] @ 0x81 - 8004f08: b21b sxth r3, r3 - 8004f0a: 021b lsls r3, r3, #8 - 8004f0c: b21a sxth r2, r3 - 8004f0e: f897 3082 ldrb.w r3, [r7, #130] @ 0x82 - 8004f12: b21b sxth r3, r3 - 8004f14: 4313 orrs r3, r2 - 8004f16: b21b sxth r3, r3 - 8004f18: f8a7 3070 strh.w r3, [r7, #112] @ 0x70 - imu_sensor_data[1] = (int16_t)(raw_imu_data[3] << 8 | raw_imu_data[4]); // a_y - 8004f1c: f897 3083 ldrb.w r3, [r7, #131] @ 0x83 - 8004f20: b21b sxth r3, r3 - 8004f22: 021b lsls r3, r3, #8 - 8004f24: b21a sxth r2, r3 - 8004f26: f897 3084 ldrb.w r3, [r7, #132] @ 0x84 - 8004f2a: b21b sxth r3, r3 - 8004f2c: 4313 orrs r3, r2 - 8004f2e: b21b sxth r3, r3 - 8004f30: f8a7 3072 strh.w r3, [r7, #114] @ 0x72 - imu_sensor_data[2] = (int16_t)(raw_imu_data[5] << 8 | raw_imu_data[6]); // a_z - 8004f34: f897 3085 ldrb.w r3, [r7, #133] @ 0x85 - 8004f38: b21b sxth r3, r3 - 8004f3a: 021b lsls r3, r3, #8 - 8004f3c: b21a sxth r2, r3 - 8004f3e: f897 3086 ldrb.w r3, [r7, #134] @ 0x86 - 8004f42: b21b sxth r3, r3 - 8004f44: 4313 orrs r3, r2 - 8004f46: b21b sxth r3, r3 - 8004f48: f8a7 3074 strh.w r3, [r7, #116] @ 0x74 - imu_sensor_data[3] = (int16_t)(raw_imu_data[7] << 8 | raw_imu_data[8]); // g_x - 8004f4c: f897 3087 ldrb.w r3, [r7, #135] @ 0x87 - 8004f50: b21b sxth r3, r3 - 8004f52: 021b lsls r3, r3, #8 - 8004f54: b21a sxth r2, r3 - 8004f56: f897 3088 ldrb.w r3, [r7, #136] @ 0x88 - 8004f5a: b21b sxth r3, r3 - 8004f5c: 4313 orrs r3, r2 - 8004f5e: b21b sxth r3, r3 - 8004f60: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 - imu_sensor_data[4] = (int16_t)(raw_imu_data[9] << 8 | raw_imu_data[10]); // g_y - 8004f64: f897 3089 ldrb.w r3, [r7, #137] @ 0x89 - 8004f68: b21b sxth r3, r3 - 8004f6a: 021b lsls r3, r3, #8 - 8004f6c: b21a sxth r2, r3 - 8004f6e: f897 308a ldrb.w r3, [r7, #138] @ 0x8a - 8004f72: b21b sxth r3, r3 - 8004f74: 4313 orrs r3, r2 - 8004f76: b21b sxth r3, r3 - 8004f78: f8a7 3078 strh.w r3, [r7, #120] @ 0x78 - imu_sensor_data[5] = (int16_t)(raw_imu_data[11] << 8 | raw_imu_data[12]); // g_z - 8004f7c: f897 308b ldrb.w r3, [r7, #139] @ 0x8b - 8004f80: b21b sxth r3, r3 - 8004f82: 021b lsls r3, r3, #8 - 8004f84: b21a sxth r2, r3 - 8004f86: f897 308c ldrb.w r3, [r7, #140] @ 0x8c - 8004f8a: b21b sxth r3, r3 - 8004f8c: 4313 orrs r3, r2 - 8004f8e: b21b sxth r3, r3 - 8004f90: f8a7 307a strh.w r3, [r7, #122] @ 0x7a - imu_sensor_data[6] = (int16_t)(raw_imu_data[13] << 8 | raw_imu_data[14]); // t - 8004f94: f897 308d ldrb.w r3, [r7, #141] @ 0x8d - 8004f98: b21b sxth r3, r3 - 8004f9a: 021b lsls r3, r3, #8 - 8004f9c: b21a sxth r2, r3 - 8004f9e: f897 308e ldrb.w r3, [r7, #142] @ 0x8e - 8004fa2: b21b sxth r3, r3 - 8004fa4: 4313 orrs r3, r2 - 8004fa6: b21b sxth r3, r3 - 8004fa8: f8a7 307c strh.w r3, [r7, #124] @ 0x7c + processed_data.processed_imu_data[0] = (float)imu_sensor_data[0] / (float)imu.acc_fs; + 80050f0: f9b7 306c ldrsh.w r3, [r7, #108] @ 0x6c + 80050f4: ee07 3a90 vmov s15, r3 + 80050f8: eef8 6ae7 vcvt.f32.s32 s13, s15 + 80050fc: f897 3022 ldrb.w r3, [r7, #34] @ 0x22 + 8005100: ee07 3a90 vmov s15, r3 + 8005104: eeb8 7a67 vcvt.f32.u32 s14, s15 + 8005108: eec6 7a87 vdiv.f32 s15, s13, s14 + 800510c: edc7 7a14 vstr s15, [r7, #80] @ 0x50 + processed_data.processed_imu_data[1] = (float)imu_sensor_data[1] / (float)imu.acc_fs; + 8005110: f9b7 306e ldrsh.w r3, [r7, #110] @ 0x6e + 8005114: ee07 3a90 vmov s15, r3 + 8005118: eef8 6ae7 vcvt.f32.s32 s13, s15 + 800511c: f897 3022 ldrb.w r3, [r7, #34] @ 0x22 + 8005120: ee07 3a90 vmov s15, r3 + 8005124: eeb8 7a67 vcvt.f32.u32 s14, s15 + 8005128: eec6 7a87 vdiv.f32 s15, s13, s14 + 800512c: edc7 7a15 vstr s15, [r7, #84] @ 0x54 + processed_data.processed_imu_data[2] = (float)imu_sensor_data[2] / (float)imu.acc_fs; + 8005130: f9b7 3070 ldrsh.w r3, [r7, #112] @ 0x70 + 8005134: ee07 3a90 vmov s15, r3 + 8005138: eef8 6ae7 vcvt.f32.s32 s13, s15 + 800513c: f897 3022 ldrb.w r3, [r7, #34] @ 0x22 + 8005140: ee07 3a90 vmov s15, r3 + 8005144: eeb8 7a67 vcvt.f32.u32 s14, s15 + 8005148: eec6 7a87 vdiv.f32 s15, s13, s14 + 800514c: edc7 7a16 vstr s15, [r7, #88] @ 0x58 + processed_data.processed_imu_data[3] = (float)imu_sensor_data[3] / (float)imu.gyro_ssf; + 8005150: f9b7 3072 ldrsh.w r3, [r7, #114] @ 0x72 + 8005154: ee07 3a90 vmov s15, r3 + 8005158: eef8 6ae7 vcvt.f32.s32 s13, s15 + 800515c: ed97 7a0b vldr s14, [r7, #44] @ 0x2c + 8005160: eec6 7a87 vdiv.f32 s15, s13, s14 + 8005164: edc7 7a17 vstr s15, [r7, #92] @ 0x5c + processed_data.processed_imu_data[4] = (float)imu_sensor_data[4] / (float)imu.gyro_ssf; + 8005168: f9b7 3074 ldrsh.w r3, [r7, #116] @ 0x74 + 800516c: ee07 3a90 vmov s15, r3 + 8005170: eef8 6ae7 vcvt.f32.s32 s13, s15 + 8005174: ed97 7a0b vldr s14, [r7, #44] @ 0x2c + 8005178: eec6 7a87 vdiv.f32 s15, s13, s14 + 800517c: edc7 7a18 vstr s15, [r7, #96] @ 0x60 + processed_data.processed_imu_data[5] = (float)imu_sensor_data[5] / (float)imu.gyro_ssf; + 8005180: f9b7 3076 ldrsh.w r3, [r7, #118] @ 0x76 + 8005184: ee07 3a90 vmov s15, r3 + 8005188: eef8 6ae7 vcvt.f32.s32 s13, s15 + 800518c: ed97 7a0b vldr s14, [r7, #44] @ 0x2c + 8005190: eec6 7a87 vdiv.f32 s15, s13, s14 + 8005194: edc7 7a19 vstr s15, [r7, #100] @ 0x64 + processed_data.processed_imu_data[6] = (float)(imu_sensor_data[6] / 128.0 + 25.0); + 8005198: f9b7 3078 ldrsh.w r3, [r7, #120] @ 0x78 + 800519c: 4618 mov r0, r3 + 800519e: f7fb f999 bl 80004d4 <__aeabi_i2d> + 80051a2: f04f 0200 mov.w r2, #0 + 80051a6: 4b37 ldr r3, [pc, #220] @ (8005284 ) + 80051a8: f7fb fb28 bl 80007fc <__aeabi_ddiv> + 80051ac: 4602 mov r2, r0 + 80051ae: 460b mov r3, r1 + 80051b0: 4610 mov r0, r2 + 80051b2: 4619 mov r1, r3 + 80051b4: f04f 0200 mov.w r2, #0 + 80051b8: 4b33 ldr r3, [pc, #204] @ (8005288 ) + 80051ba: f7fb f83f bl 800023c <__adddf3> + 80051be: 4602 mov r2, r0 + 80051c0: 460b mov r3, r1 + 80051c2: 4610 mov r0, r2 + 80051c4: 4619 mov r1, r3 + 80051c6: f7fb fce7 bl 8000b98 <__aeabi_d2f> + 80051ca: 4603 mov r3, r0 + 80051cc: 66bb str r3, [r7, #104] @ 0x68 - processed_data.processed_imu_data[0] = (float)imu_sensor_data[0] / (float)imu.acc_fs; - 8004fac: f9b7 3070 ldrsh.w r3, [r7, #112] @ 0x70 - 8004fb0: ee07 3a90 vmov s15, r3 - 8004fb4: eef8 6ae7 vcvt.f32.s32 s13, s15 - 8004fb8: f897 3026 ldrb.w r3, [r7, #38] @ 0x26 - 8004fbc: ee07 3a90 vmov s15, r3 - 8004fc0: eeb8 7a67 vcvt.f32.u32 s14, s15 - 8004fc4: eec6 7a87 vdiv.f32 s15, s13, s14 - 8004fc8: edc7 7a15 vstr s15, [r7, #84] @ 0x54 - processed_data.processed_imu_data[1] = (float)imu_sensor_data[1] / (float)imu.acc_fs; - 8004fcc: f9b7 3072 ldrsh.w r3, [r7, #114] @ 0x72 - 8004fd0: ee07 3a90 vmov s15, r3 - 8004fd4: eef8 6ae7 vcvt.f32.s32 s13, s15 - 8004fd8: f897 3026 ldrb.w r3, [r7, #38] @ 0x26 - 8004fdc: ee07 3a90 vmov s15, r3 - 8004fe0: eeb8 7a67 vcvt.f32.u32 s14, s15 - 8004fe4: eec6 7a87 vdiv.f32 s15, s13, s14 - 8004fe8: edc7 7a16 vstr s15, [r7, #88] @ 0x58 - processed_data.processed_imu_data[2] = (float)imu_sensor_data[2] / (float)imu.acc_fs; - 8004fec: f9b7 3074 ldrsh.w r3, [r7, #116] @ 0x74 - 8004ff0: ee07 3a90 vmov s15, r3 - 8004ff4: eef8 6ae7 vcvt.f32.s32 s13, s15 - 8004ff8: f897 3026 ldrb.w r3, [r7, #38] @ 0x26 - 8004ffc: ee07 3a90 vmov s15, r3 - 8005000: eeb8 7a67 vcvt.f32.u32 s14, s15 - 8005004: eec6 7a87 vdiv.f32 s15, s13, s14 - 8005008: edc7 7a17 vstr s15, [r7, #92] @ 0x5c - processed_data.processed_imu_data[3] = (float)imu_sensor_data[3] / (float)imu.gyro_ssf; - 800500c: f9b7 3076 ldrsh.w r3, [r7, #118] @ 0x76 - 8005010: ee07 3a90 vmov s15, r3 - 8005014: eef8 6ae7 vcvt.f32.s32 s13, s15 - 8005018: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 800501c: eec6 7a87 vdiv.f32 s15, s13, s14 - 8005020: edc7 7a18 vstr s15, [r7, #96] @ 0x60 - processed_data.processed_imu_data[4] = (float)imu_sensor_data[4] / (float)imu.gyro_ssf; - 8005024: f9b7 3078 ldrsh.w r3, [r7, #120] @ 0x78 - 8005028: ee07 3a90 vmov s15, r3 - 800502c: eef8 6ae7 vcvt.f32.s32 s13, s15 - 8005030: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 8005034: eec6 7a87 vdiv.f32 s15, s13, s14 - 8005038: edc7 7a19 vstr s15, [r7, #100] @ 0x64 - processed_data.processed_imu_data[5] = (float)imu_sensor_data[5] / (float)imu.gyro_ssf; - 800503c: f9b7 307a ldrsh.w r3, [r7, #122] @ 0x7a - 8005040: ee07 3a90 vmov s15, r3 - 8005044: eef8 6ae7 vcvt.f32.s32 s13, s15 - 8005048: ed97 7a0c vldr s14, [r7, #48] @ 0x30 - 800504c: eec6 7a87 vdiv.f32 s15, s13, s14 - 8005050: edc7 7a1a vstr s15, [r7, #104] @ 0x68 - processed_data.processed_imu_data[6] = (float)(imu_sensor_data[6] / 128.0 + 25.0); - 8005054: f9b7 307c ldrsh.w r3, [r7, #124] @ 0x7c - 8005058: 4618 mov r0, r3 - 800505a: f7fb fa3b bl 80004d4 <__aeabi_i2d> - 800505e: f04f 0200 mov.w r2, #0 - 8005062: 4b30 ldr r3, [pc, #192] @ (8005124 ) - 8005064: f7fb fbca bl 80007fc <__aeabi_ddiv> - 8005068: 4602 mov r2, r0 - 800506a: 460b mov r3, r1 - 800506c: 4610 mov r0, r2 - 800506e: 4619 mov r1, r3 - 8005070: f04f 0200 mov.w r2, #0 - 8005074: 4b2c ldr r3, [pc, #176] @ (8005128 ) - 8005076: f7fb f8e1 bl 800023c <__adddf3> - 800507a: 4602 mov r2, r0 - 800507c: 460b mov r3, r1 - 800507e: 4610 mov r0, r2 - 8005080: 4619 mov r1, r3 - 8005082: f7fb fd89 bl 8000b98 <__aeabi_d2f> - 8005086: 4603 mov r3, r0 - 8005088: 66fb str r3, [r7, #108] @ 0x6c + if (imu.calibated) { + 80051ce: f897 3030 ldrb.w r3, [r7, #48] @ 0x30 + 80051d2: 2b00 cmp r3, #0 + 80051d4: d037 beq.n 8005246 + processed_data.processed_imu_data[0] -= imu.imu_bias[0]; + 80051d6: ed97 7a14 vldr s14, [r7, #80] @ 0x50 + 80051da: edd7 7a0d vldr s15, [r7, #52] @ 0x34 + 80051de: ee77 7a67 vsub.f32 s15, s14, s15 + 80051e2: edc7 7a14 vstr s15, [r7, #80] @ 0x50 + processed_data.processed_imu_data[1] -= imu.imu_bias[1]; + 80051e6: ed97 7a15 vldr s14, [r7, #84] @ 0x54 + 80051ea: edd7 7a0e vldr s15, [r7, #56] @ 0x38 + 80051ee: ee77 7a67 vsub.f32 s15, s14, s15 + 80051f2: edc7 7a15 vstr s15, [r7, #84] @ 0x54 + processed_data.processed_imu_data[2] -= imu.imu_bias[2]; + 80051f6: ed97 7a16 vldr s14, [r7, #88] @ 0x58 + 80051fa: edd7 7a0f vldr s15, [r7, #60] @ 0x3c + 80051fe: ee77 7a67 vsub.f32 s15, s14, s15 + 8005202: edc7 7a16 vstr s15, [r7, #88] @ 0x58 + processed_data.processed_imu_data[3] -= imu.imu_bias[3]; + 8005206: ed97 7a17 vldr s14, [r7, #92] @ 0x5c + 800520a: edd7 7a10 vldr s15, [r7, #64] @ 0x40 + 800520e: ee77 7a67 vsub.f32 s15, s14, s15 + 8005212: edc7 7a17 vstr s15, [r7, #92] @ 0x5c + processed_data.processed_imu_data[4] -= imu.imu_bias[4]; + 8005216: ed97 7a18 vldr s14, [r7, #96] @ 0x60 + 800521a: edd7 7a11 vldr s15, [r7, #68] @ 0x44 + 800521e: ee77 7a67 vsub.f32 s15, s14, s15 + 8005222: edc7 7a18 vstr s15, [r7, #96] @ 0x60 + processed_data.processed_imu_data[5] -= imu.imu_bias[5]; + 8005226: ed97 7a19 vldr s14, [r7, #100] @ 0x64 + 800522a: edd7 7a12 vldr s15, [r7, #72] @ 0x48 + 800522e: ee77 7a67 vsub.f32 s15, s14, s15 + 8005232: edc7 7a19 vstr s15, [r7, #100] @ 0x64 + processed_data.processed_imu_data[6] -= imu.imu_bias[6]; + 8005236: ed97 7a1a vldr s14, [r7, #104] @ 0x68 + 800523a: edd7 7a13 vldr s15, [r7, #76] @ 0x4c + 800523e: ee77 7a67 vsub.f32 s15, s14, s15 + 8005242: edc7 7a1a vstr s15, [r7, #104] @ 0x68 + } + osMessageQueuePut(Q_ICMHandle, &processed_data, 0, 5); + 8005246: 4b11 ldr r3, [pc, #68] @ (800528c ) + 8005248: 6818 ldr r0, [r3, #0] + 800524a: f107 0150 add.w r1, r7, #80 @ 0x50 + 800524e: 2305 movs r3, #5 + 8005250: 2200 movs r2, #0 + 8005252: f00e ff9d bl 8014190 + 8005256: e6d1 b.n 8004ffc + } else { + HAL_SPI_Abort(imu.hspi); + 8005258: 69bb ldr r3, [r7, #24] + 800525a: 4618 mov r0, r3 + 800525c: f008 fc20 bl 800daa0 + HAL_GPIO_WritePin(imu.GPIO_Port, imu.GPIO_Pin, GPIO_PIN_SET); + 8005260: 69fb ldr r3, [r7, #28] + 8005262: 8c39 ldrh r1, [r7, #32] + 8005264: 2201 movs r2, #1 + 8005266: 4618 mov r0, r3 + 8005268: f002 f9b2 bl 80075d0 + printf("IMU DMA data transaction timed out"); + 800526c: 4808 ldr r0, [pc, #32] @ (8005290 ) + 800526e: f014 ffd1 bl 801a214 + ulTaskNotifyTakeIndexed(ICM_NOTIFY_INT_DRDY, pdTRUE, portMAX_DELAY); + 8005272: e6c3 b.n 8004ffc + 8005274: 20000728 .word 0x20000728 + 8005278: 20000528 .word 0x20000528 + 800527c: 41833333 .word 0x41833333 + 8005280: 0801de88 .word 0x0801de88 + 8005284: 40600000 .word 0x40600000 + 8005288: 40390000 .word 0x40390000 + 800528c: 20000708 .word 0x20000708 + 8005290: 0801deac .word 0x0801deac - if (imu.calibated) { - 800508a: f897 3034 ldrb.w r3, [r7, #52] @ 0x34 - 800508e: 2b00 cmp r3, #0 - 8005090: d037 beq.n 8005102 - processed_data.processed_imu_data[0] -= imu.imu_bias[0]; - 8005092: ed97 7a15 vldr s14, [r7, #84] @ 0x54 - 8005096: edd7 7a0e vldr s15, [r7, #56] @ 0x38 - 800509a: ee77 7a67 vsub.f32 s15, s14, s15 - 800509e: edc7 7a15 vstr s15, [r7, #84] @ 0x54 - processed_data.processed_imu_data[1] -= imu.imu_bias[1]; - 80050a2: ed97 7a16 vldr s14, [r7, #88] @ 0x58 - 80050a6: edd7 7a0f vldr s15, [r7, #60] @ 0x3c - 80050aa: ee77 7a67 vsub.f32 s15, s14, s15 - 80050ae: edc7 7a16 vstr s15, [r7, #88] @ 0x58 - processed_data.processed_imu_data[2] -= imu.imu_bias[2]; - 80050b2: ed97 7a17 vldr s14, [r7, #92] @ 0x5c - 80050b6: edd7 7a10 vldr s15, [r7, #64] @ 0x40 - 80050ba: ee77 7a67 vsub.f32 s15, s14, s15 - 80050be: edc7 7a17 vstr s15, [r7, #92] @ 0x5c - processed_data.processed_imu_data[3] -= imu.imu_bias[3]; - 80050c2: ed97 7a18 vldr s14, [r7, #96] @ 0x60 - 80050c6: edd7 7a11 vldr s15, [r7, #68] @ 0x44 - 80050ca: ee77 7a67 vsub.f32 s15, s14, s15 - 80050ce: edc7 7a18 vstr s15, [r7, #96] @ 0x60 - processed_data.processed_imu_data[4] -= imu.imu_bias[4]; - 80050d2: ed97 7a19 vldr s14, [r7, #100] @ 0x64 - 80050d6: edd7 7a12 vldr s15, [r7, #72] @ 0x48 - 80050da: ee77 7a67 vsub.f32 s15, s14, s15 - 80050de: edc7 7a19 vstr s15, [r7, #100] @ 0x64 - processed_data.processed_imu_data[5] -= imu.imu_bias[5]; - 80050e2: ed97 7a1a vldr s14, [r7, #104] @ 0x68 - 80050e6: edd7 7a13 vldr s15, [r7, #76] @ 0x4c - 80050ea: ee77 7a67 vsub.f32 s15, s14, s15 - 80050ee: edc7 7a1a vstr s15, [r7, #104] @ 0x68 - processed_data.processed_imu_data[6] -= imu.imu_bias[7]; - 80050f2: ed97 7a1b vldr s14, [r7, #108] @ 0x6c - 80050f6: edd7 7a15 vldr s15, [r7, #84] @ 0x54 - 80050fa: ee77 7a67 vsub.f32 s15, s14, s15 - 80050fe: edc7 7a1b vstr s15, [r7, #108] @ 0x6c - - } - - osMessageQueuePut(Q_ICMHandle, &processed_data, 0, 5); - 8005102: 4b0a ldr r3, [pc, #40] @ (800512c ) - 8005104: 6818 ldr r0, [r3, #0] - 8005106: f107 0154 add.w r1, r7, #84 @ 0x54 - 800510a: 2305 movs r3, #5 - 800510c: 2200 movs r2, #0 - 800510e: f00e fb5b bl 80137c8 - ulTaskNotifyTake(pdFALSE, osWaitForever); - 8005112: e6db b.n 8004ecc - 8005114: 20000728 .word 0x20000728 - 8005118: 20000528 .word 0x20000528 - 800511c: 43030000 .word 0x43030000 - 8005120: 0801d4b8 .word 0x0801d4b8 - 8005124: 40600000 .word 0x40600000 - 8005128: 40390000 .word 0x40390000 - 800512c: 20000708 .word 0x20000708 - -08005130 : +08005294 : * @param argument: Not used * @retval None */ /* USER CODE END Header_Start_BMM350 */ void Start_BMM350(void *argument) { - 8005130: b580 push {r7, lr} - 8005132: b0b4 sub sp, #208 @ 0xd0 - 8005134: af00 add r7, sp, #0 - 8005136: 6078 str r0, [r7, #4] + 8005294: b580 push {r7, lr} + 8005296: b0b4 sub sp, #208 @ 0xd0 + 8005298: af00 add r7, sp, #0 + 800529a: 6078 str r0, [r7, #4] /* USER CODE BEGIN Start_BMM350 */ -// HAL_StatusTypeDef status; -// char output_buffer[128]; xMagn_Task = osThreadGetId(); - 8005138: f00d ffb0 bl 801309c - 800513c: 4603 mov r3, r0 - 800513e: 4a2a ldr r2, [pc, #168] @ (80051e8 ) - 8005140: 6013 str r3, [r2, #0] - // BMM + 800529c: f00e fbfc bl 8013a98 + 80052a0: 4603 mov r3, r0 + 80052a2: 4a27 ldr r2, [pc, #156] @ (8005340 ) + 80052a4: 6013 str r3, [r2, #0] struct bmm350_dev dev = {0x00}; - 8005142: f107 031c add.w r3, r7, #28 - 8005146: 22b0 movs r2, #176 @ 0xb0 - 8005148: 2100 movs r1, #0 - 800514a: 4618 mov r0, r3 - 800514c: f014 fce2 bl 8019b14 + 80052a6: f107 031c add.w r3, r7, #28 + 80052aa: 22b0 movs r2, #176 @ 0xb0 + 80052ac: 2100 movs r1, #0 + 80052ae: 4618 mov r0, r3 + 80052b0: f015 f828 bl 801a304 int8_t rslt; struct bmm350_mag_temp_data mag_data; - osDelay(500); - 8005150: f44f 70fa mov.w r0, #500 @ 0x1f4 - 8005154: f00e f887 bl 8013266 -// struct bmm350_raw_mag_data mag_data; // ODR: 200HZ, AVG: rslt = init_bmm(&dev); - 8005158: f107 031c add.w r3, r7, #28 - 800515c: 4618 mov r0, r3 - 800515e: f000 fbd7 bl 8005910 - 8005162: 4603 mov r3, r0 - 8005164: f887 30cf strb.w r3, [r7, #207] @ 0xcf + 80052b4: f107 031c add.w r3, r7, #28 + 80052b8: 4618 mov r0, r3 + 80052ba: f000 fd93 bl 8005de4 + 80052be: 4603 mov r3, r0 + 80052c0: f887 30cf strb.w r3, [r7, #207] @ 0xcf if (rslt != BMM350_OK) { - 8005168: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf - 800516c: 2b00 cmp r3, #0 - 800516e: d00b beq.n 8005188 + 80052c4: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf + 80052c8: 2b00 cmp r3, #0 + 80052ca: d005 beq.n 80052d8 printf("BMM350 initialization failed: %d\n", rslt); - 8005170: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf - 8005174: 4619 mov r1, r3 - 8005176: 481d ldr r0, [pc, #116] @ (80051ec ) - 8005178: f014 fb64 bl 8019844 - printf("Chip id: 0x%02X\n", dev.chip_id); - 800517c: f897 3020 ldrb.w r3, [r7, #32] - 8005180: 4619 mov r1, r3 - 8005182: 481b ldr r0, [pc, #108] @ (80051f0 ) - 8005184: f014 fb5e bl 8019844 + 80052cc: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf + 80052d0: 4619 mov r1, r3 + 80052d2: 481c ldr r0, [pc, #112] @ (8005344 ) + 80052d4: f014 ff9e bl 801a214 } - +// rslt = bmm_configure_interrupt(&dev); - 8005188: f107 031c add.w r3, r7, #28 - 800518c: 4618 mov r0, r3 - 800518e: f000 fc1d bl 80059cc - 8005192: 4603 mov r3, r0 - 8005194: f887 30cf strb.w r3, [r7, #207] @ 0xcf + 80052d8: f107 031c add.w r3, r7, #28 + 80052dc: 4618 mov r0, r3 + 80052de: f000 fdd9 bl 8005e94 + 80052e2: 4603 mov r3, r0 + 80052e4: f887 30cf strb.w r3, [r7, #207] @ 0xcf if (rslt != BMM350_OK) { - 8005198: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf - 800519c: 2b00 cmp r3, #0 - 800519e: d005 beq.n 80051ac + 80052e8: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf + 80052ec: 2b00 cmp r3, #0 + 80052ee: d005 beq.n 80052fc printf("Configuring interrupt failed: %d\n", rslt); - 80051a0: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf - 80051a4: 4619 mov r1, r3 - 80051a6: 4813 ldr r0, [pc, #76] @ (80051f4 ) - 80051a8: f014 fb4c bl 8019844 -// osDelay(200); - /* Infinite loop */ - for(;;) + 80052f0: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf + 80052f4: 4619 mov r1, r3 + 80052f6: 4814 ldr r0, [pc, #80] @ (8005348 ) + 80052f8: f014 ff8c bl 801a214 + } + ulTaskNotifyTakeIndexed(BMM_NOTIFY_INT_DRDY, pdTRUE, 0); + 80052fc: 2200 movs r2, #0 + 80052fe: 2101 movs r1, #1 + 8005300: 2000 movs r0, #0 + 8005302: f011 fc17 bl 8016b34 + ulTaskNotifyTakeIndexed(BMM_NOTIFY_DMA, pdTRUE, 0); + 8005306: 2200 movs r2, #0 + 8005308: 2101 movs r1, #1 + 800530a: 2001 movs r0, #1 + 800530c: f011 fc12 bl 8016b34 { // wait for the interrupt - ulTaskNotifyTake(pdFALSE, osWaitForever); - 80051ac: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 80051b0: 2100 movs r1, #0 - 80051b2: 2000 movs r0, #0 - 80051b4: f010 ffbe bl 8016134 - // magnetometer +// ulTaskNotifyTake(pdFALSE, osWaitForever); +// ulTaskNotifyTakeIndexed(pdFALSE, BMM_NOTIFY_INT_DRDY, osWaitForever); +// ulTaskNotifyTakeIndexed(BMM_NOTIFY_INT_DRDY, pdTRUE, osWaitForever); rslt = bmm350_get_compensated_mag_xyz_temp_data(&mag_data, &dev); - 80051b8: f107 021c add.w r2, r7, #28 - 80051bc: f107 030c add.w r3, r7, #12 - 80051c0: 4611 mov r1, r2 - 80051c2: 4618 mov r0, r3 - 80051c4: f7fd fdb3 bl 8002d2e - 80051c8: 4603 mov r3, r0 - 80051ca: f887 30cf strb.w r3, [r7, #207] @ 0xcf -// rslt = bmm350_read_uncomp_mag_temp_data(&mag_data, &dev); + 8005310: f107 021c add.w r2, r7, #28 + 8005314: f107 030c add.w r3, r7, #12 + 8005318: 4611 mov r1, r2 + 800531a: 4618 mov r0, r3 + 800531c: f7fd fd96 bl 8002e4c + 8005320: 4603 mov r3, r0 + 8005322: f887 30cf strb.w r3, [r7, #207] @ 0xcf +// ulTaskNotifyTake(pdFALSE, osWaitForever); +// ulTaskNotifyTakeIndexed(BMM_NOTIFY_DMA, pdTRUE, osWaitForever); if (rslt == BMM350_OK) - 80051ce: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf - 80051d2: 2b00 cmp r3, #0 - 80051d4: d1ea bne.n 80051ac + 8005326: f997 30cf ldrsb.w r3, [r7, #207] @ 0xcf + 800532a: 2b00 cmp r3, #0 + 800532c: d1f0 bne.n 8005310 { -// sprintf(output_buffer, "X: %.2f uT, Y: %.2f uT, Z: %.2f uT, Temp: %.2f C\n", -// mag_data.x, mag_data.y, mag_data.z, mag_data.temperature); -// CDC_Transmit_FS((uint8_t*)output_buffer, (uint16_t)strlen(output_buffer)); osMessageQueuePut(Q_BMMHandle, &mag_data, 0, 5); - 80051d6: 4b08 ldr r3, [pc, #32] @ (80051f8 ) - 80051d8: 6818 ldr r0, [r3, #0] - 80051da: f107 010c add.w r1, r7, #12 - 80051de: 2305 movs r3, #5 - 80051e0: 2200 movs r2, #0 - 80051e2: f00e faf1 bl 80137c8 - ulTaskNotifyTake(pdFALSE, osWaitForever); - 80051e6: e7e1 b.n 80051ac - 80051e8: 2000072c .word 0x2000072c - 80051ec: 0801d4dc .word 0x0801d4dc - 80051f0: 0801d500 .word 0x0801d500 - 80051f4: 0801d514 .word 0x0801d514 - 80051f8: 2000070c .word 0x2000070c + 800532e: 4b07 ldr r3, [pc, #28] @ (800534c ) + 8005330: 6818 ldr r0, [r3, #0] + 8005332: f107 010c add.w r1, r7, #12 + 8005336: 2305 movs r3, #5 + 8005338: 2200 movs r2, #0 + 800533a: f00e ff29 bl 8014190 + rslt = bmm350_get_compensated_mag_xyz_temp_data(&mag_data, &dev); + 800533e: e7e7 b.n 8005310 + 8005340: 2000072c .word 0x2000072c + 8005344: 0801ded0 .word 0x0801ded0 + 8005348: 0801def4 .word 0x0801def4 + 800534c: 2000070c .word 0x2000070c -080051fc : +08005350 : * a global variable "uwTick" used as application time base. * @param htim : TIM handle * @retval None */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { - 80051fc: b580 push {r7, lr} - 80051fe: b082 sub sp, #8 - 8005200: af00 add r7, sp, #0 - 8005202: 6078 str r0, [r7, #4] + 8005350: b580 push {r7, lr} + 8005352: b082 sub sp, #8 + 8005354: af00 add r7, sp, #0 + 8005356: 6078 str r0, [r7, #4] /* USER CODE BEGIN Callback 0 */ /* USER CODE END Callback 0 */ if (htim->Instance == TIM16) - 8005204: 687b ldr r3, [r7, #4] - 8005206: 681b ldr r3, [r3, #0] - 8005208: 4a04 ldr r2, [pc, #16] @ (800521c ) - 800520a: 4293 cmp r3, r2 - 800520c: d101 bne.n 8005212 + 8005358: 687b ldr r3, [r7, #4] + 800535a: 681b ldr r3, [r3, #0] + 800535c: 4a04 ldr r2, [pc, #16] @ (8005370 ) + 800535e: 4293 cmp r3, r2 + 8005360: d101 bne.n 8005366 { HAL_IncTick(); - 800520e: f001 f91b bl 8006448 + 8005362: f001 faef bl 8006944 } /* USER CODE BEGIN Callback 1 */ /* USER CODE END Callback 1 */ } - 8005212: bf00 nop - 8005214: 3708 adds r7, #8 - 8005216: 46bd mov sp, r7 - 8005218: bd80 pop {r7, pc} - 800521a: bf00 nop - 800521c: 40014400 .word 0x40014400 + 8005366: bf00 nop + 8005368: 3708 adds r7, #8 + 800536a: 46bd mov sp, r7 + 800536c: bd80 pop {r7, pc} + 800536e: bf00 nop + 8005370: 40014400 .word 0x40014400 -08005220 : +08005374 : /** * @brief This function is executed in case of error occurrence. * @retval None */ void Error_Handler(void) { - 8005220: b480 push {r7} - 8005222: af00 add r7, sp, #0 + 8005374: b480 push {r7} + 8005376: af00 add r7, sp, #0 __ASM volatile ("cpsid i" : : : "memory"); - 8005224: b672 cpsid i + 8005378: b672 cpsid i } - 8005226: bf00 nop + 800537a: bf00 nop /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ __disable_irq(); while (1) - 8005228: bf00 nop - 800522a: e7fd b.n 8005228 + 800537c: bf00 nop + 800537e: e7fd b.n 800537c -0800522c : -osThreadId_t xIMU_Task = NULL; -osThreadId_t xMagn_Task = NULL; +08005380 : +volatile osThreadId_t xIMU_Task = NULL; +volatile osThreadId_t xMagn_Task = NULL; //osThreadId_t xData_Task = NULL; void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi) { - 800522c: b580 push {r7, lr} - 800522e: b084 sub sp, #16 - 8005230: af00 add r7, sp, #0 - 8005232: 6078 str r0, [r7, #4] - if (hspi->Instance == SPI1) { - 8005234: 687b ldr r3, [r7, #4] - 8005236: 681b ldr r3, [r3, #0] - 8005238: 4a10 ldr r2, [pc, #64] @ (800527c ) - 800523a: 4293 cmp r3, r2 - 800523c: d11a bne.n 8005274 + 8005380: b580 push {r7, lr} + 8005382: b084 sub sp, #16 + 8005384: af00 add r7, sp, #0 + 8005386: 6078 str r0, [r7, #4] + if (hspi->Instance == SPI1 && xIMU_Task != NULL) { + 8005388: 687b ldr r3, [r7, #4] + 800538a: 681b ldr r3, [r3, #0] + 800538c: 4a12 ldr r2, [pc, #72] @ (80053d8 ) + 800538e: 4293 cmp r3, r2 + 8005390: d11e bne.n 80053d0 + 8005392: 4b12 ldr r3, [pc, #72] @ (80053dc ) + 8005394: 681b ldr r3, [r3, #0] + 8005396: 2b00 cmp r3, #0 + 8005398: d01a beq.n 80053d0 HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); - 800523e: 2201 movs r2, #1 - 8005240: 2108 movs r1, #8 - 8005242: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 - 8005246: f001 fee7 bl 8007018 - - // notify the task that the data is ready + 800539a: 2201 movs r2, #1 + 800539c: 2108 movs r1, #8 + 800539e: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 + 80053a2: f002 f915 bl 80075d0 BaseType_t xHigherPriorityTaskWoken = pdFALSE; - 800524a: 2300 movs r3, #0 - 800524c: 60fb str r3, [r7, #12] - vTaskNotifyGiveFromISR(xIMU_Task, &xHigherPriorityTaskWoken); - 800524e: 4b0c ldr r3, [pc, #48] @ (8005280 ) - 8005250: 681b ldr r3, [r3, #0] - 8005252: f107 020c add.w r2, r7, #12 - 8005256: 2100 movs r1, #0 - 8005258: 4618 mov r0, r3 - 800525a: f011 faf3 bl 8016844 + 80053a6: 2300 movs r3, #0 + 80053a8: 60fb str r3, [r7, #12] + vTaskNotifyGiveIndexedFromISR(xIMU_Task, ICM_NOTIFY_DMA, &xHigherPriorityTaskWoken); + 80053aa: 4b0c ldr r3, [pc, #48] @ (80053dc ) + 80053ac: 681b ldr r3, [r3, #0] + 80053ae: f107 020c add.w r2, r7, #12 + 80053b2: 2101 movs r1, #1 + 80053b4: 4618 mov r0, r3 + 80053b6: f011 ff2d bl 8017214 portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - 800525e: 68fb ldr r3, [r7, #12] - 8005260: 2b00 cmp r3, #0 - 8005262: d007 beq.n 8005274 - 8005264: 4b07 ldr r3, [pc, #28] @ (8005284 ) - 8005266: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 800526a: 601a str r2, [r3, #0] - 800526c: f3bf 8f4f dsb sy - 8005270: f3bf 8f6f isb sy + 80053ba: 68fb ldr r3, [r7, #12] + 80053bc: 2b00 cmp r3, #0 + 80053be: d007 beq.n 80053d0 + 80053c0: 4b07 ldr r3, [pc, #28] @ (80053e0 ) + 80053c2: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 80053c6: 601a str r2, [r3, #0] + 80053c8: f3bf 8f4f dsb sy + 80053cc: f3bf 8f6f isb sy } } - 8005274: bf00 nop - 8005276: 3710 adds r7, #16 - 8005278: 46bd mov sp, r7 - 800527a: bd80 pop {r7, pc} - 800527c: 40013000 .word 0x40013000 - 8005280: 20000728 .word 0x20000728 - 8005284: e000ed04 .word 0xe000ed04 + 80053d0: bf00 nop + 80053d2: 3710 adds r7, #16 + 80053d4: 46bd mov sp, r7 + 80053d6: bd80 pop {r7, pc} + 80053d8: 40013000 .word 0x40013000 + 80053dc: 20000728 .word 0x20000728 + 80053e0: e000ed04 .word 0xe000ed04 -08005288 : +080053e4 : void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *I2C_address) { - 8005288: b580 push {r7, lr} - 800528a: b084 sub sp, #16 - 800528c: af00 add r7, sp, #0 - 800528e: 6078 str r0, [r7, #4] -// printf("HAL_I2C_MemRxCpltCallback"); - if (I2C_address->Instance == I2C1) { - 8005290: 687b ldr r3, [r7, #4] - 8005292: 681b ldr r3, [r3, #0] - 8005294: 4a0d ldr r2, [pc, #52] @ (80052cc ) - 8005296: 4293 cmp r3, r2 - 8005298: d114 bne.n 80052c4 + 80053e4: b580 push {r7, lr} + 80053e6: b084 sub sp, #16 + 80053e8: af00 add r7, sp, #0 + 80053ea: 6078 str r0, [r7, #4] + if (I2C_address->Instance == I2C1 && xMagn_Task != NULL) { + 80053ec: 687b ldr r3, [r7, #4] + 80053ee: 681b ldr r3, [r3, #0] + 80053f0: 4a0f ldr r2, [pc, #60] @ (8005430 ) + 80053f2: 4293 cmp r3, r2 + 80053f4: d118 bne.n 8005428 + 80053f6: 4b0f ldr r3, [pc, #60] @ (8005434 ) + 80053f8: 681b ldr r3, [r3, #0] + 80053fa: 2b00 cmp r3, #0 + 80053fc: d014 beq.n 8005428 BaseType_t xHigherPriorityTaskWoken = pdFALSE; - 800529a: 2300 movs r3, #0 - 800529c: 60fb str r3, [r7, #12] - vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); - 800529e: 4b0c ldr r3, [pc, #48] @ (80052d0 ) - 80052a0: 681b ldr r3, [r3, #0] - 80052a2: f107 020c add.w r2, r7, #12 - 80052a6: 2100 movs r1, #0 - 80052a8: 4618 mov r0, r3 - 80052aa: f011 facb bl 8016844 + 80053fe: 2300 movs r3, #0 + 8005400: 60fb str r3, [r7, #12] +// vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xMagn_Task, BMM_NOTIFY_DMA, &xHigherPriorityTaskWoken); + 8005402: 4b0c ldr r3, [pc, #48] @ (8005434 ) + 8005404: 681b ldr r3, [r3, #0] + 8005406: f107 020c add.w r2, r7, #12 + 800540a: 2101 movs r1, #1 + 800540c: 4618 mov r0, r3 + 800540e: f011 ff01 bl 8017214 portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - 80052ae: 68fb ldr r3, [r7, #12] - 80052b0: 2b00 cmp r3, #0 - 80052b2: d007 beq.n 80052c4 - 80052b4: 4b07 ldr r3, [pc, #28] @ (80052d4 ) - 80052b6: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80052ba: 601a str r2, [r3, #0] - 80052bc: f3bf 8f4f dsb sy - 80052c0: f3bf 8f6f isb sy + 8005412: 68fb ldr r3, [r7, #12] + 8005414: 2b00 cmp r3, #0 + 8005416: d007 beq.n 8005428 + 8005418: 4b07 ldr r3, [pc, #28] @ (8005438 ) + 800541a: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 800541e: 601a str r2, [r3, #0] + 8005420: f3bf 8f4f dsb sy + 8005424: f3bf 8f6f isb sy } - } - 80052c4: bf00 nop - 80052c6: 3710 adds r7, #16 - 80052c8: 46bd mov sp, r7 - 80052ca: bd80 pop {r7, pc} - 80052cc: 40005400 .word 0x40005400 - 80052d0: 2000072c .word 0x2000072c - 80052d4: e000ed04 .word 0xe000ed04 + 8005428: bf00 nop + 800542a: 3710 adds r7, #16 + 800542c: 46bd mov sp, r7 + 800542e: bd80 pop {r7, pc} + 8005430: 40005400 .word 0x40005400 + 8005434: 2000072c .word 0x2000072c + 8005438: e000ed04 .word 0xe000ed04 + +0800543c : -080052d8 : void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *I2C_address) { - 80052d8: b580 push {r7, lr} - 80052da: b084 sub sp, #16 - 80052dc: af00 add r7, sp, #0 - 80052de: 6078 str r0, [r7, #4] -// printf("HAL_I2C_MemTxCpltCallback"); - if (I2C_address->Instance == I2C1) { - 80052e0: 687b ldr r3, [r7, #4] - 80052e2: 681b ldr r3, [r3, #0] - 80052e4: 4a0d ldr r2, [pc, #52] @ (800531c ) - 80052e6: 4293 cmp r3, r2 - 80052e8: d114 bne.n 8005314 + 800543c: b580 push {r7, lr} + 800543e: b084 sub sp, #16 + 8005440: af00 add r7, sp, #0 + 8005442: 6078 str r0, [r7, #4] + if (I2C_address->Instance == I2C1 && xMagn_Task != NULL) { + 8005444: 687b ldr r3, [r7, #4] + 8005446: 681b ldr r3, [r3, #0] + 8005448: 4a0f ldr r2, [pc, #60] @ (8005488 ) + 800544a: 4293 cmp r3, r2 + 800544c: d118 bne.n 8005480 + 800544e: 4b0f ldr r3, [pc, #60] @ (800548c ) + 8005450: 681b ldr r3, [r3, #0] + 8005452: 2b00 cmp r3, #0 + 8005454: d014 beq.n 8005480 BaseType_t xHigherPriorityTaskWoken = pdFALSE; - 80052ea: 2300 movs r3, #0 - 80052ec: 60fb str r3, [r7, #12] - vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); - 80052ee: 4b0c ldr r3, [pc, #48] @ (8005320 ) - 80052f0: 681b ldr r3, [r3, #0] - 80052f2: f107 020c add.w r2, r7, #12 - 80052f6: 2100 movs r1, #0 - 80052f8: 4618 mov r0, r3 - 80052fa: f011 faa3 bl 8016844 + 8005456: 2300 movs r3, #0 + 8005458: 60fb str r3, [r7, #12] +// vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xMagn_Task, BMM_NOTIFY_DMA, &xHigherPriorityTaskWoken); + 800545a: 4b0c ldr r3, [pc, #48] @ (800548c ) + 800545c: 681b ldr r3, [r3, #0] + 800545e: f107 020c add.w r2, r7, #12 + 8005462: 2101 movs r1, #1 + 8005464: 4618 mov r0, r3 + 8005466: f011 fed5 bl 8017214 portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - 80052fe: 68fb ldr r3, [r7, #12] - 8005300: 2b00 cmp r3, #0 - 8005302: d007 beq.n 8005314 - 8005304: 4b07 ldr r3, [pc, #28] @ (8005324 ) - 8005306: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 800530a: 601a str r2, [r3, #0] - 800530c: f3bf 8f4f dsb sy - 8005310: f3bf 8f6f isb sy + 800546a: 68fb ldr r3, [r7, #12] + 800546c: 2b00 cmp r3, #0 + 800546e: d007 beq.n 8005480 + 8005470: 4b07 ldr r3, [pc, #28] @ (8005490 ) + 8005472: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8005476: 601a str r2, [r3, #0] + 8005478: f3bf 8f4f dsb sy + 800547c: f3bf 8f6f isb sy } } - 8005314: bf00 nop - 8005316: 3710 adds r7, #16 - 8005318: 46bd mov sp, r7 - 800531a: bd80 pop {r7, pc} - 800531c: 40005400 .word 0x40005400 - 8005320: 2000072c .word 0x2000072c - 8005324: e000ed04 .word 0xe000ed04 + 8005480: bf00 nop + 8005482: 3710 adds r7, #16 + 8005484: 46bd mov sp, r7 + 8005486: bd80 pop {r7, pc} + 8005488: 40005400 .word 0x40005400 + 800548c: 2000072c .word 0x2000072c + 8005490: e000ed04 .word 0xe000ed04 -08005328 : +08005494 : void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) { - 8005328: b580 push {r7, lr} - 800532a: b084 sub sp, #16 - 800532c: af00 add r7, sp, #0 - 800532e: 6078 str r0, [r7, #4] - if (hi2c->Instance == I2C1) { - 8005330: 687b ldr r3, [r7, #4] - 8005332: 681b ldr r3, [r3, #0] - 8005334: 4a11 ldr r2, [pc, #68] @ (800537c ) - 8005336: 4293 cmp r3, r2 - 8005338: d11c bne.n 8005374 + 8005494: b580 push {r7, lr} + 8005496: b084 sub sp, #16 + 8005498: af00 add r7, sp, #0 + 800549a: 6078 str r0, [r7, #4] + if (hi2c->Instance == I2C1 && xMagn_Task != NULL) { + 800549c: 687b ldr r3, [r7, #4] + 800549e: 681b ldr r3, [r3, #0] + 80054a0: 4a13 ldr r2, [pc, #76] @ (80054f0 ) + 80054a2: 4293 cmp r3, r2 + 80054a4: d120 bne.n 80054e8 + 80054a6: 4b13 ldr r3, [pc, #76] @ (80054f4 ) + 80054a8: 681b ldr r3, [r3, #0] + 80054aa: 2b00 cmp r3, #0 + 80054ac: d01c beq.n 80054e8 BaseType_t xHigherPriorityTaskWoken = pdFALSE; - 800533a: 2300 movs r3, #0 - 800533c: 60fb str r3, [r7, #12] + 80054ae: 2300 movs r3, #0 + 80054b0: 60fb str r3, [r7, #12] printf("ErrorCallback: %ld\n", HAL_I2C_GetError(hi2c)); - 800533e: 6878 ldr r0, [r7, #4] - 8005340: f002 f9eb bl 800771a - 8005344: 4603 mov r3, r0 - 8005346: 4619 mov r1, r3 - 8005348: 480d ldr r0, [pc, #52] @ (8005380 ) - 800534a: f014 fa7b bl 8019844 - vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); - 800534e: 4b0d ldr r3, [pc, #52] @ (8005384 ) - 8005350: 681b ldr r3, [r3, #0] - 8005352: f107 020c add.w r2, r7, #12 - 8005356: 2100 movs r1, #0 - 8005358: 4618 mov r0, r3 - 800535a: f011 fa73 bl 8016844 + 80054b2: 6878 ldr r0, [r7, #4] + 80054b4: f002 fc0d bl 8007cd2 + 80054b8: 4603 mov r3, r0 + 80054ba: 4619 mov r1, r3 + 80054bc: 480e ldr r0, [pc, #56] @ (80054f8 ) + 80054be: f014 fea9 bl 801a214 +// vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xMagn_Task, BMM_NOTIFY_DMA, &xHigherPriorityTaskWoken); + 80054c2: 4b0c ldr r3, [pc, #48] @ (80054f4 ) + 80054c4: 681b ldr r3, [r3, #0] + 80054c6: f107 020c add.w r2, r7, #12 + 80054ca: 2101 movs r1, #1 + 80054cc: 4618 mov r0, r3 + 80054ce: f011 fea1 bl 8017214 portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - 800535e: 68fb ldr r3, [r7, #12] - 8005360: 2b00 cmp r3, #0 - 8005362: d007 beq.n 8005374 - 8005364: 4b08 ldr r3, [pc, #32] @ (8005388 ) - 8005366: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 800536a: 601a str r2, [r3, #0] - 800536c: f3bf 8f4f dsb sy - 8005370: f3bf 8f6f isb sy + 80054d2: 68fb ldr r3, [r7, #12] + 80054d4: 2b00 cmp r3, #0 + 80054d6: d007 beq.n 80054e8 + 80054d8: 4b08 ldr r3, [pc, #32] @ (80054fc ) + 80054da: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 80054de: 601a str r2, [r3, #0] + 80054e0: f3bf 8f4f dsb sy + 80054e4: f3bf 8f6f isb sy } } - 8005374: bf00 nop - 8005376: 3710 adds r7, #16 - 8005378: 46bd mov sp, r7 - 800537a: bd80 pop {r7, pc} - 800537c: 40005400 .word 0x40005400 - 8005380: 0801d538 .word 0x0801d538 - 8005384: 2000072c .word 0x2000072c - 8005388: e000ed04 .word 0xe000ed04 + 80054e8: bf00 nop + 80054ea: 3710 adds r7, #16 + 80054ec: 46bd mov sp, r7 + 80054ee: bd80 pop {r7, pc} + 80054f0: 40005400 .word 0x40005400 + 80054f4: 2000072c .word 0x2000072c + 80054f8: 0801df18 .word 0x0801df18 + 80054fc: e000ed04 .word 0xe000ed04 -0800538c : +08005500 : void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { - 800538c: b580 push {r7, lr} - 800538e: b084 sub sp, #16 - 8005390: af00 add r7, sp, #0 - 8005392: 4603 mov r3, r0 - 8005394: 80fb strh r3, [r7, #6] - // was macht das? + 8005500: b580 push {r7, lr} + 8005502: b084 sub sp, #16 + 8005504: af00 add r7, sp, #0 + 8005506: 4603 mov r3, r0 + 8005508: 80fb strh r3, [r7, #6] BaseType_t xHigherPriorityTaskWoken = pdFALSE; - 8005396: 2300 movs r3, #0 - 8005398: 60fb str r3, [r7, #12] - - if (GPIO_Pin == GPIO_IMU_INT_Pin) { - 800539a: 88fb ldrh r3, [r7, #6] - 800539c: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 80053a0: d107 bne.n 80053b2 - vTaskNotifyGiveFromISR(xIMU_Task, &xHigherPriorityTaskWoken); - 80053a2: 4b11 ldr r3, [pc, #68] @ (80053e8 ) - 80053a4: 681b ldr r3, [r3, #0] - 80053a6: f107 020c add.w r2, r7, #12 - 80053aa: 2100 movs r1, #0 - 80053ac: 4618 mov r0, r3 - 80053ae: f011 fa49 bl 8016844 + 800550a: 2300 movs r3, #0 + 800550c: 60fb str r3, [r7, #12] + if (GPIO_Pin == GPIO_IMU_INT_Pin && xIMU_Task != NULL) { + 800550e: 88fb ldrh r3, [r7, #6] + 8005510: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 8005514: d10b bne.n 800552e + 8005516: 4b15 ldr r3, [pc, #84] @ (800556c ) + 8005518: 681b ldr r3, [r3, #0] + 800551a: 2b00 cmp r3, #0 + 800551c: d007 beq.n 800552e +// vTaskNotifyGiveFromISR(xIMU_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xIMU_Task, ICM_NOTIFY_INT_DRDY, &xHigherPriorityTaskWoken); + 800551e: 4b13 ldr r3, [pc, #76] @ (800556c ) + 8005520: 681b ldr r3, [r3, #0] + 8005522: f107 020c add.w r2, r7, #12 + 8005526: 2100 movs r1, #0 + 8005528: 4618 mov r0, r3 + 800552a: f011 fe73 bl 8017214 // printf("Triggered ICM45686 EXTI\n"); } - - if (GPIO_Pin == GPIO_MAGN_INT_Pin) { - 80053b2: 88fb ldrh r3, [r7, #6] - 80053b4: f5b3 6f00 cmp.w r3, #2048 @ 0x800 - 80053b8: d107 bne.n 80053ca - vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); - 80053ba: 4b0c ldr r3, [pc, #48] @ (80053ec ) - 80053bc: 681b ldr r3, [r3, #0] - 80053be: f107 020c add.w r2, r7, #12 - 80053c2: 2100 movs r1, #0 - 80053c4: 4618 mov r0, r3 - 80053c6: f011 fa3d bl 8016844 -// printf("Triggered BMM350 EXTI\n"); + if (GPIO_Pin == GPIO_MAGN_INT_Pin && xMagn_Task != NULL) { + 800552e: 88fb ldrh r3, [r7, #6] + 8005530: f5b3 6f00 cmp.w r3, #2048 @ 0x800 + 8005534: d10b bne.n 800554e + 8005536: 4b0e ldr r3, [pc, #56] @ (8005570 ) + 8005538: 681b ldr r3, [r3, #0] + 800553a: 2b00 cmp r3, #0 + 800553c: d007 beq.n 800554e +// vTaskNotifyGiveFromISR(xMagn_Task, &xHigherPriorityTaskWoken); + vTaskNotifyGiveIndexedFromISR(xMagn_Task, BMM_NOTIFY_INT_DRDY, &xHigherPriorityTaskWoken); + 800553e: 4b0c ldr r3, [pc, #48] @ (8005570 ) + 8005540: 681b ldr r3, [r3, #0] + 8005542: f107 020c add.w r2, r7, #12 + 8005546: 2100 movs r1, #0 + 8005548: 4618 mov r0, r3 + 800554a: f011 fe63 bl 8017214 } - // was macht das? portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - 80053ca: 68fb ldr r3, [r7, #12] - 80053cc: 2b00 cmp r3, #0 - 80053ce: d007 beq.n 80053e0 - 80053d0: 4b07 ldr r3, [pc, #28] @ (80053f0 ) - 80053d2: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80053d6: 601a str r2, [r3, #0] - 80053d8: f3bf 8f4f dsb sy - 80053dc: f3bf 8f6f isb sy - + 800554e: 68fb ldr r3, [r7, #12] + 8005550: 2b00 cmp r3, #0 + 8005552: d007 beq.n 8005564 + 8005554: 4b07 ldr r3, [pc, #28] @ (8005574 ) + 8005556: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 800555a: 601a str r2, [r3, #0] + 800555c: f3bf 8f4f dsb sy + 8005560: f3bf 8f6f isb sy } - 80053e0: bf00 nop - 80053e2: 3710 adds r7, #16 - 80053e4: 46bd mov sp, r7 - 80053e6: bd80 pop {r7, pc} - 80053e8: 20000728 .word 0x20000728 - 80053ec: 2000072c .word 0x2000072c - 80053f0: e000ed04 .word 0xe000ed04 + 8005564: bf00 nop + 8005566: 3710 adds r7, #16 + 8005568: 46bd mov sp, r7 + 800556a: bd80 pop {r7, pc} + 800556c: 20000728 .word 0x20000728 + 8005570: 2000072c .word 0x2000072c + 8005574: e000ed04 .word 0xe000ed04 -080053f4 : +08005578 : // ICM 45686 HAL_StatusTypeDef read_icm (ICM45686_HandleTypeDef *imu, uint8_t tx[], uint8_t rx[], uint16_t len_tx) { - 80053f4: b580 push {r7, lr} - 80053f6: b088 sub sp, #32 - 80053f8: af02 add r7, sp, #8 - 80053fa: 60f8 str r0, [r7, #12] - 80053fc: 60b9 str r1, [r7, #8] - 80053fe: 607a str r2, [r7, #4] - 8005400: 807b strh r3, [r7, #2] + 8005578: b580 push {r7, lr} + 800557a: b088 sub sp, #32 + 800557c: af02 add r7, sp, #8 + 800557e: 60f8 str r0, [r7, #12] + 8005580: 60b9 str r1, [r7, #8] + 8005582: 607a str r2, [r7, #4] + 8005584: 807b strh r3, [r7, #2] HAL_GPIO_WritePin(imu->GPIO_Port, imu->GPIO_Pin, GPIO_PIN_RESET); - 8005402: 68fb ldr r3, [r7, #12] - 8005404: 6858 ldr r0, [r3, #4] - 8005406: 68fb ldr r3, [r7, #12] - 8005408: 891b ldrh r3, [r3, #8] - 800540a: 2200 movs r2, #0 - 800540c: 4619 mov r1, r3 - 800540e: f001 fe03 bl 8007018 + 8005586: 68fb ldr r3, [r7, #12] + 8005588: 6858 ldr r0, [r3, #4] + 800558a: 68fb ldr r3, [r7, #12] + 800558c: 891b ldrh r3, [r3, #8] + 800558e: 2200 movs r2, #0 + 8005590: 4619 mov r1, r3 + 8005592: f002 f81d bl 80075d0 HAL_StatusTypeDef status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, len_tx, 50); - 8005412: 68fb ldr r3, [r7, #12] - 8005414: 6818 ldr r0, [r3, #0] - 8005416: 887b ldrh r3, [r7, #2] - 8005418: 2232 movs r2, #50 @ 0x32 - 800541a: 9200 str r2, [sp, #0] - 800541c: 687a ldr r2, [r7, #4] - 800541e: 68b9 ldr r1, [r7, #8] - 8005420: f007 fcbd bl 800cd9e - 8005424: 4603 mov r3, r0 - 8005426: 75fb strb r3, [r7, #23] + 8005596: 68fb ldr r3, [r7, #12] + 8005598: 6818 ldr r0, [r3, #0] + 800559a: 887b ldrh r3, [r7, #2] + 800559c: 2232 movs r2, #50 @ 0x32 + 800559e: 9200 str r2, [sp, #0] + 80055a0: 687a ldr r2, [r7, #4] + 80055a2: 68b9 ldr r1, [r7, #8] + 80055a4: f007 fed7 bl 800d356 + 80055a8: 4603 mov r3, r0 + 80055aa: 75fb strb r3, [r7, #23] HAL_GPIO_WritePin(imu->GPIO_Port, imu->GPIO_Pin, GPIO_PIN_SET); - 8005428: 68fb ldr r3, [r7, #12] - 800542a: 6858 ldr r0, [r3, #4] - 800542c: 68fb ldr r3, [r7, #12] - 800542e: 891b ldrh r3, [r3, #8] - 8005430: 2201 movs r2, #1 - 8005432: 4619 mov r1, r3 - 8005434: f001 fdf0 bl 8007018 + 80055ac: 68fb ldr r3, [r7, #12] + 80055ae: 6858 ldr r0, [r3, #4] + 80055b0: 68fb ldr r3, [r7, #12] + 80055b2: 891b ldrh r3, [r3, #8] + 80055b4: 2201 movs r2, #1 + 80055b6: 4619 mov r1, r3 + 80055b8: f002 f80a bl 80075d0 return status; - 8005438: 7dfb ldrb r3, [r7, #23] + 80055bc: 7dfb ldrb r3, [r7, #23] } - 800543a: 4618 mov r0, r3 - 800543c: 3718 adds r7, #24 - 800543e: 46bd mov sp, r7 - 8005440: bd80 pop {r7, pc} + 80055be: 4618 mov r0, r3 + 80055c0: 3718 adds r7, #24 + 80055c2: 46bd mov sp, r7 + 80055c4: bd80 pop {r7, pc} -08005442 : +080055c6 : HAL_StatusTypeDef read_icm_dma (ICM45686_HandleTypeDef *imu, uint8_t tx[], uint8_t rx[], uint16_t len_tx) { - 8005442: b580 push {r7, lr} - 8005444: b086 sub sp, #24 - 8005446: af00 add r7, sp, #0 - 8005448: 60f8 str r0, [r7, #12] - 800544a: 60b9 str r1, [r7, #8] - 800544c: 607a str r2, [r7, #4] - 800544e: 807b strh r3, [r7, #2] + 80055c6: b580 push {r7, lr} + 80055c8: b086 sub sp, #24 + 80055ca: af00 add r7, sp, #0 + 80055cc: 60f8 str r0, [r7, #12] + 80055ce: 60b9 str r1, [r7, #8] + 80055d0: 607a str r2, [r7, #4] + 80055d2: 807b strh r3, [r7, #2] HAL_GPIO_WritePin(imu->GPIO_Port, imu->GPIO_Pin, GPIO_PIN_RESET); - 8005450: 68fb ldr r3, [r7, #12] - 8005452: 6858 ldr r0, [r3, #4] - 8005454: 68fb ldr r3, [r7, #12] - 8005456: 891b ldrh r3, [r3, #8] - 8005458: 2200 movs r2, #0 - 800545a: 4619 mov r1, r3 - 800545c: f001 fddc bl 8007018 + 80055d4: 68fb ldr r3, [r7, #12] + 80055d6: 6858 ldr r0, [r3, #4] + 80055d8: 68fb ldr r3, [r7, #12] + 80055da: 891b ldrh r3, [r3, #8] + 80055dc: 2200 movs r2, #0 + 80055de: 4619 mov r1, r3 + 80055e0: f001 fff6 bl 80075d0 HAL_StatusTypeDef status = HAL_SPI_TransmitReceive_DMA(imu->hspi, tx, rx, len_tx); - 8005460: 68fb ldr r3, [r7, #12] - 8005462: 6818 ldr r0, [r3, #0] - 8005464: 887b ldrh r3, [r7, #2] - 8005466: 687a ldr r2, [r7, #4] - 8005468: 68b9 ldr r1, [r7, #8] - 800546a: f007 feb7 bl 800d1dc - 800546e: 4603 mov r3, r0 - 8005470: 75fb strb r3, [r7, #23] + 80055e4: 68fb ldr r3, [r7, #12] + 80055e6: 6818 ldr r0, [r3, #0] + 80055e8: 887b ldrh r3, [r7, #2] + 80055ea: 687a ldr r2, [r7, #4] + 80055ec: 68b9 ldr r1, [r7, #8] + 80055ee: f008 f8d1 bl 800d794 + 80055f2: 4603 mov r3, r0 + 80055f4: 75fb strb r3, [r7, #23] return status; - 8005472: 7dfb ldrb r3, [r7, #23] + 80055f6: 7dfb ldrb r3, [r7, #23] } - 8005474: 4618 mov r0, r3 - 8005476: 3718 adds r7, #24 - 8005478: 46bd mov sp, r7 - 800547a: bd80 pop {r7, pc} + 80055f8: 4618 mov r0, r3 + 80055fa: 3718 adds r7, #24 + 80055fc: 46bd mov sp, r7 + 80055fe: bd80 pop {r7, pc} -0800547c : +08005600 : HAL_StatusTypeDef write_icm (ICM45686_HandleTypeDef *imu, uint8_t tx[], uint16_t len_tx) { - 800547c: b580 push {r7, lr} - 800547e: b086 sub sp, #24 - 8005480: af00 add r7, sp, #0 - 8005482: 60f8 str r0, [r7, #12] - 8005484: 60b9 str r1, [r7, #8] - 8005486: 4613 mov r3, r2 - 8005488: 80fb strh r3, [r7, #6] + 8005600: b580 push {r7, lr} + 8005602: b086 sub sp, #24 + 8005604: af00 add r7, sp, #0 + 8005606: 60f8 str r0, [r7, #12] + 8005608: 60b9 str r1, [r7, #8] + 800560a: 4613 mov r3, r2 + 800560c: 80fb strh r3, [r7, #6] HAL_GPIO_WritePin(imu->GPIO_Port, imu->GPIO_Pin, GPIO_PIN_RESET); - 800548a: 68fb ldr r3, [r7, #12] - 800548c: 6858 ldr r0, [r3, #4] - 800548e: 68fb ldr r3, [r7, #12] - 8005490: 891b ldrh r3, [r3, #8] - 8005492: 2200 movs r2, #0 - 8005494: 4619 mov r1, r3 - 8005496: f001 fdbf bl 8007018 + 800560e: 68fb ldr r3, [r7, #12] + 8005610: 6858 ldr r0, [r3, #4] + 8005612: 68fb ldr r3, [r7, #12] + 8005614: 891b ldrh r3, [r3, #8] + 8005616: 2200 movs r2, #0 + 8005618: 4619 mov r1, r3 + 800561a: f001 ffd9 bl 80075d0 HAL_StatusTypeDef status = HAL_SPI_Transmit(imu->hspi, tx, len_tx, 50); - 800549a: 68fb ldr r3, [r7, #12] - 800549c: 6818 ldr r0, [r3, #0] - 800549e: 88fa ldrh r2, [r7, #6] - 80054a0: 2332 movs r3, #50 @ 0x32 - 80054a2: 68b9 ldr r1, [r7, #8] - 80054a4: f007 fb05 bl 800cab2 - 80054a8: 4603 mov r3, r0 - 80054aa: 75fb strb r3, [r7, #23] + 800561e: 68fb ldr r3, [r7, #12] + 8005620: 6818 ldr r0, [r3, #0] + 8005622: 88fa ldrh r2, [r7, #6] + 8005624: 2332 movs r3, #50 @ 0x32 + 8005626: 68b9 ldr r1, [r7, #8] + 8005628: f007 fd1f bl 800d06a + 800562c: 4603 mov r3, r0 + 800562e: 75fb strb r3, [r7, #23] HAL_GPIO_WritePin(imu->GPIO_Port, imu->GPIO_Pin, GPIO_PIN_SET); - 80054ac: 68fb ldr r3, [r7, #12] - 80054ae: 6858 ldr r0, [r3, #4] - 80054b0: 68fb ldr r3, [r7, #12] - 80054b2: 891b ldrh r3, [r3, #8] - 80054b4: 2201 movs r2, #1 - 80054b6: 4619 mov r1, r3 - 80054b8: f001 fdae bl 8007018 + 8005630: 68fb ldr r3, [r7, #12] + 8005632: 6858 ldr r0, [r3, #4] + 8005634: 68fb ldr r3, [r7, #12] + 8005636: 891b ldrh r3, [r3, #8] + 8005638: 2201 movs r2, #1 + 800563a: 4619 mov r1, r3 + 800563c: f001 ffc8 bl 80075d0 return status; - 80054bc: 7dfb ldrb r3, [r7, #23] + 8005640: 7dfb ldrb r3, [r7, #23] } - 80054be: 4618 mov r0, r3 - 80054c0: 3718 adds r7, #24 - 80054c2: 46bd mov sp, r7 - 80054c4: bd80 pop {r7, pc} + 8005642: 4618 mov r0, r3 + 8005644: 3718 adds r7, #24 + 8005646: 46bd mov sp, r7 + 8005648: bd80 pop {r7, pc} ... -080054c8 : +0800564c : void init_icm(ICM45686_HandleTypeDef *imu) { - 80054c8: b580 push {r7, lr} - 80054ca: b084 sub sp, #16 - 80054cc: af00 add r7, sp, #0 - 80054ce: 6078 str r0, [r7, #4] - // EDMP??? - + 800564c: b580 push {r7, lr} + 800564e: b084 sub sp, #16 + 8005650: af00 add r7, sp, #0 + 8005652: 6078 str r0, [r7, #4] uint8_t tx[2], rx[2]; HAL_StatusTypeDef status; - - printf("Initializing ICM45686\n"); - 80054d0: 4869 ldr r0, [pc, #420] @ (8005678 ) - 80054d2: f014 fa1f bl 8019914 - // WHO AM +// // WHO AM tx[0] = ICM45686_WHO_AM_I | 0x80; - 80054d6: 23f2 movs r3, #242 @ 0xf2 - 80054d8: 733b strb r3, [r7, #12] -// HAL_GPIO_WritePin(imu->GPIO_Port, imu->GPIO_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); + 8005654: 23f2 movs r3, #242 @ 0xf2 + 8005656: 733b strb r3, [r7, #12] status = read_icm(imu, tx, rx, sizeof(tx)); - 80054da: f107 0208 add.w r2, r7, #8 - 80054de: f107 010c add.w r1, r7, #12 - 80054e2: 2302 movs r3, #2 - 80054e4: 6878 ldr r0, [r7, #4] - 80054e6: f7ff ff85 bl 80053f4 - 80054ea: 4603 mov r3, r0 - 80054ec: 73fb strb r3, [r7, #15] + 8005658: f107 0208 add.w r2, r7, #8 + 800565c: f107 010c add.w r1, r7, #12 + 8005660: 2302 movs r3, #2 + 8005662: 6878 ldr r0, [r7, #4] + 8005664: f7ff ff88 bl 8005578 + 8005668: 4603 mov r3, r0 + 800566a: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 80054ee: 7bfb ldrb r3, [r7, #15] - 80054f0: 2b00 cmp r3, #0 - 80054f2: d005 beq.n 8005500 + 800566c: 7bfb ldrb r3, [r7, #15] + 800566e: 2b00 cmp r3, #0 + 8005670: d005 beq.n 800567e printf("Error in reading WHO AM I:%d\n", status); - 80054f4: 7bfb ldrb r3, [r7, #15] - 80054f6: 4619 mov r1, r3 - 80054f8: 4860 ldr r0, [pc, #384] @ (800567c ) - 80054fa: f014 f9a3 bl 8019844 - 80054fe: e004 b.n 800550a + 8005672: 7bfb ldrb r3, [r7, #15] + 8005674: 4619 mov r1, r3 + 8005676: 485e ldr r0, [pc, #376] @ (80057f0 ) + 8005678: f014 fdcc bl 801a214 + 800567c: e004 b.n 8005688 } else { printf("WHO AM I (0xE9): 0x%02X \n", rx[1]); - 8005500: 7a7b ldrb r3, [r7, #9] - 8005502: 4619 mov r1, r3 - 8005504: 485e ldr r0, [pc, #376] @ (8005680 ) - 8005506: f014 f99d bl 8019844 + 800567e: 7a7b ldrb r3, [r7, #9] + 8005680: 4619 mov r1, r3 + 8005682: 485c ldr r0, [pc, #368] @ (80057f4 ) + 8005684: f014 fdc6 bl 801a214 } - // acc + // acc config tx[0] = ICM45686_ACCEL_CONFIG0; - 800550a: 231b movs r3, #27 - 800550c: 733b strb r3, [r7, #12] + 8005688: 231b movs r3, #27 + 800568a: 733b strb r3, [r7, #12] tx[1] = imu->acc_fs | imu->odr; - 800550e: 687b ldr r3, [r7, #4] - 8005510: 7a9a ldrb r2, [r3, #10] - 8005512: 687b ldr r3, [r7, #4] - 8005514: 7b1b ldrb r3, [r3, #12] - 8005516: 4313 orrs r3, r2 - 8005518: b2db uxtb r3, r3 - 800551a: 737b strb r3, [r7, #13] -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_Transmit(imu->hspi, tx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); + 800568c: 687b ldr r3, [r7, #4] + 800568e: 7a9a ldrb r2, [r3, #10] + 8005690: 687b ldr r3, [r7, #4] + 8005692: 7b1b ldrb r3, [r3, #12] + 8005694: 4313 orrs r3, r2 + 8005696: b2db uxtb r3, r3 + 8005698: 737b strb r3, [r7, #13] status = write_icm(imu, tx, sizeof(tx)); - 800551c: f107 030c add.w r3, r7, #12 - 8005520: 2202 movs r2, #2 - 8005522: 4619 mov r1, r3 - 8005524: 6878 ldr r0, [r7, #4] - 8005526: f7ff ffa9 bl 800547c - 800552a: 4603 mov r3, r0 - 800552c: 73fb strb r3, [r7, #15] + 800569a: f107 030c add.w r3, r7, #12 + 800569e: 2202 movs r2, #2 + 80056a0: 4619 mov r1, r3 + 80056a2: 6878 ldr r0, [r7, #4] + 80056a4: f7ff ffac bl 8005600 + 80056a8: 4603 mov r3, r0 + 80056aa: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 800552e: 7bfb ldrb r3, [r7, #15] - 8005530: 2b00 cmp r3, #0 - 8005532: d005 beq.n 8005540 + 80056ac: 7bfb ldrb r3, [r7, #15] + 80056ae: 2b00 cmp r3, #0 + 80056b0: d005 beq.n 80056be printf("Error in setting ACCEL_CONFIG0:%d\n", status); - 8005534: 7bfb ldrb r3, [r7, #15] - 8005536: 4619 mov r1, r3 - 8005538: 4852 ldr r0, [pc, #328] @ (8005684 ) - 800553a: f014 f983 bl 8019844 - 800553e: e004 b.n 800554a + 80056b2: 7bfb ldrb r3, [r7, #15] + 80056b4: 4619 mov r1, r3 + 80056b6: 4850 ldr r0, [pc, #320] @ (80057f8 ) + 80056b8: f014 fdac bl 801a214 + 80056bc: e004 b.n 80056c8 } else { printf("ACCEL_CONFIG0 wrote: 0x%02X \n", tx[1]); - 8005540: 7b7b ldrb r3, [r7, #13] - 8005542: 4619 mov r1, r3 - 8005544: 4850 ldr r0, [pc, #320] @ (8005688 ) - 8005546: f014 f97d bl 8019844 + 80056be: 7b7b ldrb r3, [r7, #13] + 80056c0: 4619 mov r1, r3 + 80056c2: 484e ldr r0, [pc, #312] @ (80057fc ) + 80056c4: f014 fda6 bl 801a214 } tx[0] = ICM45686_ACCEL_CONFIG0 | 0x80; - 800554a: 239b movs r3, #155 @ 0x9b - 800554c: 733b strb r3, [r7, #12] + 80056c8: 239b movs r3, #155 @ 0x9b + 80056ca: 733b strb r3, [r7, #12] tx[1] = 0x00; - 800554e: 2300 movs r3, #0 - 8005550: 737b strb r3, [r7, #13] -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); + 80056cc: 2300 movs r3, #0 + 80056ce: 737b strb r3, [r7, #13] status = read_icm(imu, tx, rx, sizeof(tx)); - 8005552: f107 0208 add.w r2, r7, #8 - 8005556: f107 010c add.w r1, r7, #12 - 800555a: 2302 movs r3, #2 - 800555c: 6878 ldr r0, [r7, #4] - 800555e: f7ff ff49 bl 80053f4 - 8005562: 4603 mov r3, r0 - 8005564: 73fb strb r3, [r7, #15] + 80056d0: f107 0208 add.w r2, r7, #8 + 80056d4: f107 010c add.w r1, r7, #12 + 80056d8: 2302 movs r3, #2 + 80056da: 6878 ldr r0, [r7, #4] + 80056dc: f7ff ff4c bl 8005578 + 80056e0: 4603 mov r3, r0 + 80056e2: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 8005566: 7bfb ldrb r3, [r7, #15] - 8005568: 2b00 cmp r3, #0 - 800556a: d005 beq.n 8005578 + 80056e4: 7bfb ldrb r3, [r7, #15] + 80056e6: 2b00 cmp r3, #0 + 80056e8: d005 beq.n 80056f6 printf("Error reading ACCEL_CONFIG0:%d\n", status); - 800556c: 7bfb ldrb r3, [r7, #15] - 800556e: 4619 mov r1, r3 - 8005570: 4846 ldr r0, [pc, #280] @ (800568c ) - 8005572: f014 f967 bl 8019844 - 8005576: e004 b.n 8005582 + 80056ea: 7bfb ldrb r3, [r7, #15] + 80056ec: 4619 mov r1, r3 + 80056ee: 4844 ldr r0, [pc, #272] @ (8005800 ) + 80056f0: f014 fd90 bl 801a214 + 80056f4: e004 b.n 8005700 } else { printf("ACCEL_CONFIG0 read: 0x%02X \n", rx[1]); - 8005578: 7a7b ldrb r3, [r7, #9] - 800557a: 4619 mov r1, r3 - 800557c: 4844 ldr r0, [pc, #272] @ (8005690 ) - 800557e: f014 f961 bl 8019844 + 80056f6: 7a7b ldrb r3, [r7, #9] + 80056f8: 4619 mov r1, r3 + 80056fa: 4842 ldr r0, [pc, #264] @ (8005804 ) + 80056fc: f014 fd8a bl 801a214 } - // gyro + // gyro config tx[0] = ICM45686_GYRO_CONFIG0; - 8005582: 231c movs r3, #28 - 8005584: 733b strb r3, [r7, #12] + 8005700: 231c movs r3, #28 + 8005702: 733b strb r3, [r7, #12] tx[1] = imu->gyro_fs | imu->odr; - 8005586: 687b ldr r3, [r7, #4] - 8005588: 7ada ldrb r2, [r3, #11] - 800558a: 687b ldr r3, [r7, #4] - 800558c: 7b1b ldrb r3, [r3, #12] - 800558e: 4313 orrs r3, r2 - 8005590: b2db uxtb r3, r3 - 8005592: 737b strb r3, [r7, #13] -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_Transmit(imu->hspi, tx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); + 8005704: 687b ldr r3, [r7, #4] + 8005706: 7ada ldrb r2, [r3, #11] + 8005708: 687b ldr r3, [r7, #4] + 800570a: 7b1b ldrb r3, [r3, #12] + 800570c: 4313 orrs r3, r2 + 800570e: b2db uxtb r3, r3 + 8005710: 737b strb r3, [r7, #13] status = write_icm(imu, tx, sizeof(tx)); - 8005594: f107 030c add.w r3, r7, #12 - 8005598: 2202 movs r2, #2 - 800559a: 4619 mov r1, r3 - 800559c: 6878 ldr r0, [r7, #4] - 800559e: f7ff ff6d bl 800547c - 80055a2: 4603 mov r3, r0 - 80055a4: 73fb strb r3, [r7, #15] + 8005712: f107 030c add.w r3, r7, #12 + 8005716: 2202 movs r2, #2 + 8005718: 4619 mov r1, r3 + 800571a: 6878 ldr r0, [r7, #4] + 800571c: f7ff ff70 bl 8005600 + 8005720: 4603 mov r3, r0 + 8005722: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 80055a6: 7bfb ldrb r3, [r7, #15] - 80055a8: 2b00 cmp r3, #0 - 80055aa: d005 beq.n 80055b8 + 8005724: 7bfb ldrb r3, [r7, #15] + 8005726: 2b00 cmp r3, #0 + 8005728: d005 beq.n 8005736 printf("Error in setting GYRO_CONFIG0:%d\n", status); - 80055ac: 7bfb ldrb r3, [r7, #15] - 80055ae: 4619 mov r1, r3 - 80055b0: 4838 ldr r0, [pc, #224] @ (8005694 ) - 80055b2: f014 f947 bl 8019844 - 80055b6: e004 b.n 80055c2 + 800572a: 7bfb ldrb r3, [r7, #15] + 800572c: 4619 mov r1, r3 + 800572e: 4836 ldr r0, [pc, #216] @ (8005808 ) + 8005730: f014 fd70 bl 801a214 + 8005734: e004 b.n 8005740 } else { printf("GYRO_CONFIG0 wrote: 0x%02X \n", tx[1]); - 80055b8: 7b7b ldrb r3, [r7, #13] - 80055ba: 4619 mov r1, r3 - 80055bc: 4836 ldr r0, [pc, #216] @ (8005698 ) - 80055be: f014 f941 bl 8019844 + 8005736: 7b7b ldrb r3, [r7, #13] + 8005738: 4619 mov r1, r3 + 800573a: 4834 ldr r0, [pc, #208] @ (800580c ) + 800573c: f014 fd6a bl 801a214 } tx[0] = ICM45686_GYRO_CONFIG0 | 0x80; - 80055c2: 239c movs r3, #156 @ 0x9c - 80055c4: 733b strb r3, [r7, #12] + 8005740: 239c movs r3, #156 @ 0x9c + 8005742: 733b strb r3, [r7, #12] tx[1] = 0x00; - 80055c6: 2300 movs r3, #0 - 80055c8: 737b strb r3, [r7, #13] -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); + 8005744: 2300 movs r3, #0 + 8005746: 737b strb r3, [r7, #13] status = read_icm(imu, tx, rx, sizeof(tx)); - 80055ca: f107 0208 add.w r2, r7, #8 - 80055ce: f107 010c add.w r1, r7, #12 - 80055d2: 2302 movs r3, #2 - 80055d4: 6878 ldr r0, [r7, #4] - 80055d6: f7ff ff0d bl 80053f4 - 80055da: 4603 mov r3, r0 - 80055dc: 73fb strb r3, [r7, #15] + 8005748: f107 0208 add.w r2, r7, #8 + 800574c: f107 010c add.w r1, r7, #12 + 8005750: 2302 movs r3, #2 + 8005752: 6878 ldr r0, [r7, #4] + 8005754: f7ff ff10 bl 8005578 + 8005758: 4603 mov r3, r0 + 800575a: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 80055de: 7bfb ldrb r3, [r7, #15] - 80055e0: 2b00 cmp r3, #0 - 80055e2: d005 beq.n 80055f0 + 800575c: 7bfb ldrb r3, [r7, #15] + 800575e: 2b00 cmp r3, #0 + 8005760: d005 beq.n 800576e printf("Error reading GYRO_CONFIG0:%d\n", status); - 80055e4: 7bfb ldrb r3, [r7, #15] - 80055e6: 4619 mov r1, r3 - 80055e8: 482c ldr r0, [pc, #176] @ (800569c ) - 80055ea: f014 f92b bl 8019844 - 80055ee: e004 b.n 80055fa + 8005762: 7bfb ldrb r3, [r7, #15] + 8005764: 4619 mov r1, r3 + 8005766: 482a ldr r0, [pc, #168] @ (8005810 ) + 8005768: f014 fd54 bl 801a214 + 800576c: e004 b.n 8005778 } else { printf("GYRO_CONFIG0 read: 0x%02X \n", rx[1]); - 80055f0: 7a7b ldrb r3, [r7, #9] - 80055f2: 4619 mov r1, r3 - 80055f4: 482a ldr r0, [pc, #168] @ (80056a0 ) - 80055f6: f014 f925 bl 8019844 + 800576e: 7a7b ldrb r3, [r7, #9] + 8005770: 4619 mov r1, r3 + 8005772: 4828 ldr r0, [pc, #160] @ (8005814 ) + 8005774: f014 fd4e bl 801a214 } // power settings tx[0] = ICM45686_PWR_MGMT0; - 80055fa: 2310 movs r3, #16 - 80055fc: 733b strb r3, [r7, #12] + 8005778: 2310 movs r3, #16 + 800577a: 733b strb r3, [r7, #12] tx[1] = 0x0F; //0x10 | 0x03; - 80055fe: 230f movs r3, #15 - 8005600: 737b strb r3, [r7, #13] -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_Transmit(imu->hspi, tx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); + 800577c: 230f movs r3, #15 + 800577e: 737b strb r3, [r7, #13] status = write_icm(imu, tx, sizeof(tx)); - 8005602: f107 030c add.w r3, r7, #12 - 8005606: 2202 movs r2, #2 - 8005608: 4619 mov r1, r3 - 800560a: 6878 ldr r0, [r7, #4] - 800560c: f7ff ff36 bl 800547c - 8005610: 4603 mov r3, r0 - 8005612: 73fb strb r3, [r7, #15] + 8005780: f107 030c add.w r3, r7, #12 + 8005784: 2202 movs r2, #2 + 8005786: 4619 mov r1, r3 + 8005788: 6878 ldr r0, [r7, #4] + 800578a: f7ff ff39 bl 8005600 + 800578e: 4603 mov r3, r0 + 8005790: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 8005614: 7bfb ldrb r3, [r7, #15] - 8005616: 2b00 cmp r3, #0 - 8005618: d005 beq.n 8005626 + 8005792: 7bfb ldrb r3, [r7, #15] + 8005794: 2b00 cmp r3, #0 + 8005796: d005 beq.n 80057a4 printf("Error in setting PWR_MGMT0:%d\n", status); - 800561a: 7bfb ldrb r3, [r7, #15] - 800561c: 4619 mov r1, r3 - 800561e: 4821 ldr r0, [pc, #132] @ (80056a4 ) - 8005620: f014 f910 bl 8019844 - 8005624: e004 b.n 8005630 + 8005798: 7bfb ldrb r3, [r7, #15] + 800579a: 4619 mov r1, r3 + 800579c: 481e ldr r0, [pc, #120] @ (8005818 ) + 800579e: f014 fd39 bl 801a214 + 80057a2: e004 b.n 80057ae } else { printf("PWR_MGMT0 wrote: 0x%02X \n", tx[1]); - 8005626: 7b7b ldrb r3, [r7, #13] - 8005628: 4619 mov r1, r3 - 800562a: 481f ldr r0, [pc, #124] @ (80056a8 ) - 800562c: f014 f90a bl 8019844 + 80057a4: 7b7b ldrb r3, [r7, #13] + 80057a6: 4619 mov r1, r3 + 80057a8: 481c ldr r0, [pc, #112] @ (800581c ) + 80057aa: f014 fd33 bl 801a214 } tx[0] = ICM45686_PWR_MGMT0 | 0x80; - 8005630: 2390 movs r3, #144 @ 0x90 - 8005632: 733b strb r3, [r7, #12] + 80057ae: 2390 movs r3, #144 @ 0x90 + 80057b0: 733b strb r3, [r7, #12] tx[1] = 0x00; - 8005634: 2300 movs r3, #0 - 8005636: 737b strb r3, [r7, #13] -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_RESET); -// status = HAL_SPI_TransmitReceive(imu->hspi, tx, rx, sizeof(tx), 50); -// HAL_GPIO_WritePin(GPIOA, GPIO_SPI1_IMU_CS_Pin, GPIO_PIN_SET); + 80057b2: 2300 movs r3, #0 + 80057b4: 737b strb r3, [r7, #13] status = read_icm(imu, tx, rx, sizeof(tx)); - 8005638: f107 0208 add.w r2, r7, #8 - 800563c: f107 010c add.w r1, r7, #12 - 8005640: 2302 movs r3, #2 - 8005642: 6878 ldr r0, [r7, #4] - 8005644: f7ff fed6 bl 80053f4 - 8005648: 4603 mov r3, r0 - 800564a: 73fb strb r3, [r7, #15] + 80057b6: f107 0208 add.w r2, r7, #8 + 80057ba: f107 010c add.w r1, r7, #12 + 80057be: 2302 movs r3, #2 + 80057c0: 6878 ldr r0, [r7, #4] + 80057c2: f7ff fed9 bl 8005578 + 80057c6: 4603 mov r3, r0 + 80057c8: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 800564c: 7bfb ldrb r3, [r7, #15] - 800564e: 2b00 cmp r3, #0 - 8005650: d005 beq.n 800565e + 80057ca: 7bfb ldrb r3, [r7, #15] + 80057cc: 2b00 cmp r3, #0 + 80057ce: d005 beq.n 80057dc printf("Error reading PWR_MGMT0:%d\n", status); - 8005652: 7bfb ldrb r3, [r7, #15] - 8005654: 4619 mov r1, r3 - 8005656: 4815 ldr r0, [pc, #84] @ (80056ac ) - 8005658: f014 f8f4 bl 8019844 - 800565c: e004 b.n 8005668 + 80057d0: 7bfb ldrb r3, [r7, #15] + 80057d2: 4619 mov r1, r3 + 80057d4: 4812 ldr r0, [pc, #72] @ (8005820 ) + 80057d6: f014 fd1d bl 801a214 } else { printf("PWR_MGMT0 read: 0x%02X \n", rx[1]); - 800565e: 7a7b ldrb r3, [r7, #9] - 8005660: 4619 mov r1, r3 - 8005662: 4813 ldr r0, [pc, #76] @ (80056b0 ) - 8005664: f014 f8ee bl 8019844 + } +} + 80057da: e004 b.n 80057e6 + printf("PWR_MGMT0 read: 0x%02X \n", rx[1]); + 80057dc: 7a7b ldrb r3, [r7, #9] + 80057de: 4619 mov r1, r3 + 80057e0: 4810 ldr r0, [pc, #64] @ (8005824 ) + 80057e2: f014 fd17 bl 801a214 +} + 80057e6: bf00 nop + 80057e8: 3710 adds r7, #16 + 80057ea: 46bd mov sp, r7 + 80057ec: bd80 pop {r7, pc} + 80057ee: bf00 nop + 80057f0: 0801df2c .word 0x0801df2c + 80057f4: 0801df4c .word 0x0801df4c + 80057f8: 0801df68 .word 0x0801df68 + 80057fc: 0801df8c .word 0x0801df8c + 8005800: 0801dfac .word 0x0801dfac + 8005804: 0801dfcc .word 0x0801dfcc + 8005808: 0801dfec .word 0x0801dfec + 800580c: 0801e010 .word 0x0801e010 + 8005810: 0801e030 .word 0x0801e030 + 8005814: 0801e050 .word 0x0801e050 + 8005818: 0801e06c .word 0x0801e06c + 800581c: 0801e08c .word 0x0801e08c + 8005820: 0801e0a8 .word 0x0801e0a8 + 8005824: 0801e0c4 .word 0x0801e0c4 + +08005828 : + +void calibrate_icm(ICM45686_HandleTypeDef *imu, int samples) { + 8005828: e92d 4fb0 stmdb sp!, {r4, r5, r7, r8, r9, sl, fp, lr} + 800582c: b0a2 sub sp, #136 @ 0x88 + 800582e: af0c add r7, sp, #48 @ 0x30 + 8005830: 61f8 str r0, [r7, #28] + 8005832: 61b9 str r1, [r7, #24] + HAL_StatusTypeDef status; + uint8_t raw_data[15]; + int16_t sensor_data[7] = {0}; + 8005834: f107 0334 add.w r3, r7, #52 @ 0x34 + 8005838: 2200 movs r2, #0 + 800583a: 601a str r2, [r3, #0] + 800583c: 605a str r2, [r3, #4] + 800583e: 609a str r2, [r3, #8] + 8005840: 819a strh r2, [r3, #12] + uint8_t tx[15] = {0x00}; + 8005842: f107 0324 add.w r3, r7, #36 @ 0x24 + 8005846: 2200 movs r2, #0 + 8005848: 601a str r2, [r3, #0] + 800584a: 605a str r2, [r3, #4] + 800584c: 609a str r2, [r3, #8] + 800584e: f8c3 200b str.w r2, [r3, #11] + tx[0] = 0x00 | 0x80; + 8005852: 2380 movs r3, #128 @ 0x80 + 8005854: f887 3024 strb.w r3, [r7, #36] @ 0x24 + + for (int i = 1; i <= samples; i++) { + 8005858: 2301 movs r3, #1 + 800585a: 657b str r3, [r7, #84] @ 0x54 + 800585c: e0a4 b.n 80059a8 +// status = read_icm_dma(imu, tx, raw_data, sizeof(tx)); +// osDelay(1); +// if (status != HAL_OK) { +// printf("Calibration read ICM failed: %d\n", status); +// } + ulTaskNotifyTakeIndexed(ICM_NOTIFY_INT_DRDY, pdTRUE, portMAX_DELAY); + 800585e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8005862: 2101 movs r1, #1 + 8005864: 2000 movs r0, #0 + 8005866: f011 f965 bl 8016b34 + status = read_icm_dma(imu, tx, raw_data, sizeof(tx)); + 800586a: f107 0244 add.w r2, r7, #68 @ 0x44 + 800586e: f107 0124 add.w r1, r7, #36 @ 0x24 + 8005872: 230f movs r3, #15 + 8005874: 69f8 ldr r0, [r7, #28] + 8005876: f7ff fea6 bl 80055c6 + 800587a: 4603 mov r3, r0 + 800587c: f887 3053 strb.w r3, [r7, #83] @ 0x53 + if (status != HAL_OK) { + 8005880: f897 3053 ldrb.w r3, [r7, #83] @ 0x53 + 8005884: 2b00 cmp r3, #0 + 8005886: d005 beq.n 8005894 + printf("Calibration read ICM failed: %d\n", status); + 8005888: f897 3053 ldrb.w r3, [r7, #83] @ 0x53 + 800588c: 4619 mov r1, r3 + 800588e: 48ad ldr r0, [pc, #692] @ (8005b44 ) + 8005890: f014 fcc0 bl 801a214 + } + if (ulTaskNotifyTakeIndexed(ICM_NOTIFY_DMA, pdTRUE, pdMS_TO_TICKS(10)) > 0) { + 8005894: 220a movs r2, #10 + 8005896: 2101 movs r1, #1 + 8005898: 2001 movs r0, #1 + 800589a: f011 f94b bl 8016b34 + 800589e: 4603 mov r3, r0 + 80058a0: 2b00 cmp r3, #0 + 80058a2: d07e beq.n 80059a2 + sensor_data[0] += (int16_t)(raw_data[1] << 8 | raw_data[2]); // a_x + 80058a4: f9b7 3034 ldrsh.w r3, [r7, #52] @ 0x34 + 80058a8: b29a uxth r2, r3 + 80058aa: f897 3045 ldrb.w r3, [r7, #69] @ 0x45 + 80058ae: b21b sxth r3, r3 + 80058b0: 021b lsls r3, r3, #8 + 80058b2: b219 sxth r1, r3 + 80058b4: f897 3046 ldrb.w r3, [r7, #70] @ 0x46 + 80058b8: b21b sxth r3, r3 + 80058ba: 430b orrs r3, r1 + 80058bc: b21b sxth r3, r3 + 80058be: b29b uxth r3, r3 + 80058c0: 4413 add r3, r2 + 80058c2: b29b uxth r3, r3 + 80058c4: b21b sxth r3, r3 + 80058c6: 86bb strh r3, [r7, #52] @ 0x34 + sensor_data[1] += (int16_t)(raw_data[3] << 8 | raw_data[4]); // a_y + 80058c8: f9b7 3036 ldrsh.w r3, [r7, #54] @ 0x36 + 80058cc: b29a uxth r2, r3 + 80058ce: f897 3047 ldrb.w r3, [r7, #71] @ 0x47 + 80058d2: b21b sxth r3, r3 + 80058d4: 021b lsls r3, r3, #8 + 80058d6: b219 sxth r1, r3 + 80058d8: f897 3048 ldrb.w r3, [r7, #72] @ 0x48 + 80058dc: b21b sxth r3, r3 + 80058de: 430b orrs r3, r1 + 80058e0: b21b sxth r3, r3 + 80058e2: b29b uxth r3, r3 + 80058e4: 4413 add r3, r2 + 80058e6: b29b uxth r3, r3 + 80058e8: b21b sxth r3, r3 + 80058ea: 86fb strh r3, [r7, #54] @ 0x36 + sensor_data[2] += (int16_t)(raw_data[5] << 8 | raw_data[6]); // a_z + 80058ec: f9b7 3038 ldrsh.w r3, [r7, #56] @ 0x38 + 80058f0: b29a uxth r2, r3 + 80058f2: f897 3049 ldrb.w r3, [r7, #73] @ 0x49 + 80058f6: b21b sxth r3, r3 + 80058f8: 021b lsls r3, r3, #8 + 80058fa: b219 sxth r1, r3 + 80058fc: f897 304a ldrb.w r3, [r7, #74] @ 0x4a + 8005900: b21b sxth r3, r3 + 8005902: 430b orrs r3, r1 + 8005904: b21b sxth r3, r3 + 8005906: b29b uxth r3, r3 + 8005908: 4413 add r3, r2 + 800590a: b29b uxth r3, r3 + 800590c: b21b sxth r3, r3 + 800590e: 873b strh r3, [r7, #56] @ 0x38 + sensor_data[3] += (int16_t)(raw_data[7] << 8 | raw_data[8]); // g_x + 8005910: f9b7 303a ldrsh.w r3, [r7, #58] @ 0x3a + 8005914: b29a uxth r2, r3 + 8005916: f897 304b ldrb.w r3, [r7, #75] @ 0x4b + 800591a: b21b sxth r3, r3 + 800591c: 021b lsls r3, r3, #8 + 800591e: b219 sxth r1, r3 + 8005920: f897 304c ldrb.w r3, [r7, #76] @ 0x4c + 8005924: b21b sxth r3, r3 + 8005926: 430b orrs r3, r1 + 8005928: b21b sxth r3, r3 + 800592a: b29b uxth r3, r3 + 800592c: 4413 add r3, r2 + 800592e: b29b uxth r3, r3 + 8005930: b21b sxth r3, r3 + 8005932: 877b strh r3, [r7, #58] @ 0x3a + sensor_data[4] += (int16_t)(raw_data[9] << 8 | raw_data[10]); // g_y + 8005934: f9b7 303c ldrsh.w r3, [r7, #60] @ 0x3c + 8005938: b29a uxth r2, r3 + 800593a: f897 304d ldrb.w r3, [r7, #77] @ 0x4d + 800593e: b21b sxth r3, r3 + 8005940: 021b lsls r3, r3, #8 + 8005942: b219 sxth r1, r3 + 8005944: f897 304e ldrb.w r3, [r7, #78] @ 0x4e + 8005948: b21b sxth r3, r3 + 800594a: 430b orrs r3, r1 + 800594c: b21b sxth r3, r3 + 800594e: b29b uxth r3, r3 + 8005950: 4413 add r3, r2 + 8005952: b29b uxth r3, r3 + 8005954: b21b sxth r3, r3 + 8005956: 87bb strh r3, [r7, #60] @ 0x3c + sensor_data[5] += (int16_t)(raw_data[11] << 8 | raw_data[12]); // g_z + 8005958: f9b7 303e ldrsh.w r3, [r7, #62] @ 0x3e + 800595c: b29a uxth r2, r3 + 800595e: f897 304f ldrb.w r3, [r7, #79] @ 0x4f + 8005962: b21b sxth r3, r3 + 8005964: 021b lsls r3, r3, #8 + 8005966: b219 sxth r1, r3 + 8005968: f897 3050 ldrb.w r3, [r7, #80] @ 0x50 + 800596c: b21b sxth r3, r3 + 800596e: 430b orrs r3, r1 + 8005970: b21b sxth r3, r3 + 8005972: b29b uxth r3, r3 + 8005974: 4413 add r3, r2 + 8005976: b29b uxth r3, r3 + 8005978: b21b sxth r3, r3 + 800597a: 87fb strh r3, [r7, #62] @ 0x3e + sensor_data[6] += (int16_t)(raw_data[13] << 8 | raw_data[14]); // t + 800597c: f9b7 3040 ldrsh.w r3, [r7, #64] @ 0x40 + 8005980: b29a uxth r2, r3 + 8005982: f897 3051 ldrb.w r3, [r7, #81] @ 0x51 + 8005986: b21b sxth r3, r3 + 8005988: 021b lsls r3, r3, #8 + 800598a: b219 sxth r1, r3 + 800598c: f897 3052 ldrb.w r3, [r7, #82] @ 0x52 + 8005990: b21b sxth r3, r3 + 8005992: 430b orrs r3, r1 + 8005994: b21b sxth r3, r3 + 8005996: b29b uxth r3, r3 + 8005998: 4413 add r3, r2 + 800599a: b29b uxth r3, r3 + 800599c: b21b sxth r3, r3 + 800599e: f8a7 3040 strh.w r3, [r7, #64] @ 0x40 + for (int i = 1; i <= samples; i++) { + 80059a2: 6d7b ldr r3, [r7, #84] @ 0x54 + 80059a4: 3301 adds r3, #1 + 80059a6: 657b str r3, [r7, #84] @ 0x54 + 80059a8: 6d7a ldr r2, [r7, #84] @ 0x54 + 80059aa: 69bb ldr r3, [r7, #24] + 80059ac: 429a cmp r2, r3 + 80059ae: f77f af56 ble.w 800585e + } } - osDelay(250); - 8005668: 20fa movs r0, #250 @ 0xfa - 800566a: f00d fdfc bl 8013266 -} - 800566e: bf00 nop - 8005670: 3710 adds r7, #16 - 8005672: 46bd mov sp, r7 - 8005674: bd80 pop {r7, pc} - 8005676: bf00 nop - 8005678: 0801d54c .word 0x0801d54c - 800567c: 0801d564 .word 0x0801d564 - 8005680: 0801d584 .word 0x0801d584 - 8005684: 0801d5a0 .word 0x0801d5a0 - 8005688: 0801d5c4 .word 0x0801d5c4 - 800568c: 0801d5e4 .word 0x0801d5e4 - 8005690: 0801d604 .word 0x0801d604 - 8005694: 0801d624 .word 0x0801d624 - 8005698: 0801d648 .word 0x0801d648 - 800569c: 0801d668 .word 0x0801d668 - 80056a0: 0801d688 .word 0x0801d688 - 80056a4: 0801d6a4 .word 0x0801d6a4 - 80056a8: 0801d6c4 .word 0x0801d6c4 - 80056ac: 0801d6e0 .word 0x0801d6e0 - 80056b0: 0801d6fc .word 0x0801d6fc + imu->imu_bias[0] = (float)sensor_data[0] / (float)samples; + 80059b2: f9b7 3034 ldrsh.w r3, [r7, #52] @ 0x34 + 80059b6: ee07 3a90 vmov s15, r3 + 80059ba: eef8 6ae7 vcvt.f32.s32 s13, s15 + 80059be: 69bb ldr r3, [r7, #24] + 80059c0: ee07 3a90 vmov s15, r3 + 80059c4: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 80059c8: eec6 7a87 vdiv.f32 s15, s13, s14 + 80059cc: 69fb ldr r3, [r7, #28] + 80059ce: edc3 7a07 vstr s15, [r3, #28] + imu->imu_bias[1] = (float)sensor_data[1] / (float)samples; + 80059d2: f9b7 3036 ldrsh.w r3, [r7, #54] @ 0x36 + 80059d6: ee07 3a90 vmov s15, r3 + 80059da: eef8 6ae7 vcvt.f32.s32 s13, s15 + 80059de: 69bb ldr r3, [r7, #24] + 80059e0: ee07 3a90 vmov s15, r3 + 80059e4: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 80059e8: eec6 7a87 vdiv.f32 s15, s13, s14 + 80059ec: 69fb ldr r3, [r7, #28] + 80059ee: edc3 7a08 vstr s15, [r3, #32] + imu->imu_bias[2] = (float)sensor_data[2] / (float)samples; + 80059f2: f9b7 3038 ldrsh.w r3, [r7, #56] @ 0x38 + 80059f6: ee07 3a90 vmov s15, r3 + 80059fa: eef8 6ae7 vcvt.f32.s32 s13, s15 + 80059fe: 69bb ldr r3, [r7, #24] + 8005a00: ee07 3a90 vmov s15, r3 + 8005a04: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8005a08: eec6 7a87 vdiv.f32 s15, s13, s14 + 8005a0c: 69fb ldr r3, [r7, #28] + 8005a0e: edc3 7a09 vstr s15, [r3, #36] @ 0x24 + imu->imu_bias[3] = (float)sensor_data[3] / (float)samples; + 8005a12: f9b7 303a ldrsh.w r3, [r7, #58] @ 0x3a + 8005a16: ee07 3a90 vmov s15, r3 + 8005a1a: eef8 6ae7 vcvt.f32.s32 s13, s15 + 8005a1e: 69bb ldr r3, [r7, #24] + 8005a20: ee07 3a90 vmov s15, r3 + 8005a24: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8005a28: eec6 7a87 vdiv.f32 s15, s13, s14 + 8005a2c: 69fb ldr r3, [r7, #28] + 8005a2e: edc3 7a0a vstr s15, [r3, #40] @ 0x28 + imu->imu_bias[4] = (float)sensor_data[4] / (float)samples; + 8005a32: f9b7 303c ldrsh.w r3, [r7, #60] @ 0x3c + 8005a36: ee07 3a90 vmov s15, r3 + 8005a3a: eef8 6ae7 vcvt.f32.s32 s13, s15 + 8005a3e: 69bb ldr r3, [r7, #24] + 8005a40: ee07 3a90 vmov s15, r3 + 8005a44: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8005a48: eec6 7a87 vdiv.f32 s15, s13, s14 + 8005a4c: 69fb ldr r3, [r7, #28] + 8005a4e: edc3 7a0b vstr s15, [r3, #44] @ 0x2c + imu->imu_bias[5] = (float)sensor_data[5] / (float)samples; + 8005a52: f9b7 303e ldrsh.w r3, [r7, #62] @ 0x3e + 8005a56: ee07 3a90 vmov s15, r3 + 8005a5a: eef8 6ae7 vcvt.f32.s32 s13, s15 + 8005a5e: 69bb ldr r3, [r7, #24] + 8005a60: ee07 3a90 vmov s15, r3 + 8005a64: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8005a68: eec6 7a87 vdiv.f32 s15, s13, s14 + 8005a6c: 69fb ldr r3, [r7, #28] + 8005a6e: edc3 7a0c vstr s15, [r3, #48] @ 0x30 + imu->imu_bias[6] = (float)sensor_data[6] / (float)samples; + 8005a72: f9b7 3040 ldrsh.w r3, [r7, #64] @ 0x40 + 8005a76: ee07 3a90 vmov s15, r3 + 8005a7a: eef8 6ae7 vcvt.f32.s32 s13, s15 + 8005a7e: 69bb ldr r3, [r7, #24] + 8005a80: ee07 3a90 vmov s15, r3 + 8005a84: eeb8 7ae7 vcvt.f32.s32 s14, s15 + 8005a88: eec6 7a87 vdiv.f32 s15, s13, s14 + 8005a8c: 69fb ldr r3, [r7, #28] + 8005a8e: edc3 7a0d vstr s15, [r3, #52] @ 0x34 -080056b4 : + // remrove gravity + imu->imu_bias[2] -= 1.0f; + 8005a92: 69fb ldr r3, [r7, #28] + 8005a94: edd3 7a09 vldr s15, [r3, #36] @ 0x24 + 8005a98: eeb7 7a00 vmov.f32 s14, #112 @ 0x3f800000 1.0 + 8005a9c: ee77 7ac7 vsub.f32 s15, s15, s14 + 8005aa0: 69fb ldr r3, [r7, #28] + 8005aa2: edc3 7a09 vstr s15, [r3, #36] @ 0x24 + + imu->calibated = true; + 8005aa6: 69fb ldr r3, [r7, #28] + 8005aa8: 2201 movs r2, #1 + 8005aaa: 761a strb r2, [r3, #24] + + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + imu->imu_bias[0], imu->imu_bias[1], imu->imu_bias[2], + 8005aac: 69fb ldr r3, [r7, #28] + 8005aae: 69db ldr r3, [r3, #28] + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + 8005ab0: 4618 mov r0, r3 + 8005ab2: f7fa fd21 bl 80004f8 <__aeabi_f2d> + 8005ab6: e9c7 0104 strd r0, r1, [r7, #16] + imu->imu_bias[0], imu->imu_bias[1], imu->imu_bias[2], + 8005aba: 69fb ldr r3, [r7, #28] + 8005abc: 6a1b ldr r3, [r3, #32] + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + 8005abe: 4618 mov r0, r3 + 8005ac0: f7fa fd1a bl 80004f8 <__aeabi_f2d> + 8005ac4: 4680 mov r8, r0 + 8005ac6: 4689 mov r9, r1 + imu->imu_bias[0], imu->imu_bias[1], imu->imu_bias[2], + 8005ac8: 69fb ldr r3, [r7, #28] + 8005aca: 6a5b ldr r3, [r3, #36] @ 0x24 + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + 8005acc: 4618 mov r0, r3 + 8005ace: f7fa fd13 bl 80004f8 <__aeabi_f2d> + 8005ad2: 4682 mov sl, r0 + 8005ad4: 468b mov fp, r1 imu->imu_bias[3], imu->imu_bias[4], imu->imu_bias[5], + 8005ad6: 69fb ldr r3, [r7, #28] + 8005ad8: 6a9b ldr r3, [r3, #40] @ 0x28 + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + 8005ada: 4618 mov r0, r3 + 8005adc: f7fa fd0c bl 80004f8 <__aeabi_f2d> + 8005ae0: e9c7 0102 strd r0, r1, [r7, #8] + imu->imu_bias[3], imu->imu_bias[4], imu->imu_bias[5], + 8005ae4: 69fb ldr r3, [r7, #28] + 8005ae6: 6adb ldr r3, [r3, #44] @ 0x2c + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + 8005ae8: 4618 mov r0, r3 + 8005aea: f7fa fd05 bl 80004f8 <__aeabi_f2d> + 8005aee: e9c7 0100 strd r0, r1, [r7] + imu->imu_bias[3], imu->imu_bias[4], imu->imu_bias[5], + 8005af2: 69fb ldr r3, [r7, #28] + 8005af4: 6b1b ldr r3, [r3, #48] @ 0x30 + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + 8005af6: 4618 mov r0, r3 + 8005af8: f7fa fcfe bl 80004f8 <__aeabi_f2d> + 8005afc: 4604 mov r4, r0 + 8005afe: 460d mov r5, r1 imu->imu_bias[6]); - + 8005b00: 69fb ldr r3, [r7, #28] + 8005b02: 6b5b ldr r3, [r3, #52] @ 0x34 + printf("ICM calibration bias: a_x: %.2f a_y: %.2f a_z: %.2f g_x: %.2f g_y: %.2f g_z: %.2f t: %.2f\n", + 8005b04: 4618 mov r0, r3 + 8005b06: f7fa fcf7 bl 80004f8 <__aeabi_f2d> + 8005b0a: 4602 mov r2, r0 + 8005b0c: 460b mov r3, r1 + 8005b0e: e9cd 230a strd r2, r3, [sp, #40] @ 0x28 + 8005b12: e9cd 4508 strd r4, r5, [sp, #32] + 8005b16: ed97 7b00 vldr d7, [r7] + 8005b1a: ed8d 7b06 vstr d7, [sp, #24] + 8005b1e: ed97 7b02 vldr d7, [r7, #8] + 8005b22: ed8d 7b04 vstr d7, [sp, #16] + 8005b26: e9cd ab02 strd sl, fp, [sp, #8] + 8005b2a: e9cd 8900 strd r8, r9, [sp] + 8005b2e: e9d7 2304 ldrd r2, r3, [r7, #16] + 8005b32: 4805 ldr r0, [pc, #20] @ (8005b48 ) + 8005b34: f014 fb6e bl 801a214 } + 8005b38: bf00 nop + 8005b3a: 3758 adds r7, #88 @ 0x58 + 8005b3c: 46bd mov sp, r7 + 8005b3e: e8bd 8fb0 ldmia.w sp!, {r4, r5, r7, r8, r9, sl, fp, pc} + 8005b42: bf00 nop + 8005b44: 0801e0e0 .word 0x0801e0e0 + 8005b48: 0801e104 .word 0x0801e104 -void enable_interrupt_icm(ICM45686_HandleTypeDef *imu) { - 80056b4: b580 push {r7, lr} - 80056b6: b084 sub sp, #16 - 80056b8: af00 add r7, sp, #0 - 80056ba: 6078 str r0, [r7, #4] +08005b4c : +// } else { +// printf("INT1_CONFIG0 read: 0x%02X\n", rx[1]); +// } +//} + +void configure_and_enable_int_icm (ICM45686_HandleTypeDef *imu) { + 8005b4c: b580 push {r7, lr} + 8005b4e: b084 sub sp, #16 + 8005b50: af00 add r7, sp, #0 + 8005b52: 6078 str r0, [r7, #4] uint8_t tx[2], rx[2] = {0x00, 0x00}; - 80056bc: 2300 movs r3, #0 - 80056be: 813b strh r3, [r7, #8] - tx[0] = ICM45686_INT1_CONFIG0; - 80056c0: 2316 movs r3, #22 - 80056c2: 733b strb r3, [r7, #12] - tx[1] = 0x04; - 80056c4: 2304 movs r3, #4 - 80056c6: 737b strb r3, [r7, #13] - printf("Enabling IMU INT pin\n"); - 80056c8: 4819 ldr r0, [pc, #100] @ (8005730 ) - 80056ca: f014 f923 bl 8019914 + 8005b54: 2300 movs r3, #0 + 8005b56: 813b strh r3, [r7, #8] + // turn off int + tx[0] = ICM45686_INT1_CONFIG0; + 8005b58: 2316 movs r3, #22 + 8005b5a: 733b strb r3, [r7, #12] + tx[1] = 0x00; + 8005b5c: 2300 movs r3, #0 + 8005b5e: 737b strb r3, [r7, #13] HAL_StatusTypeDef status = write_icm(imu, tx, sizeof(tx)); - 80056ce: f107 030c add.w r3, r7, #12 - 80056d2: 2202 movs r2, #2 - 80056d4: 4619 mov r1, r3 - 80056d6: 6878 ldr r0, [r7, #4] - 80056d8: f7ff fed0 bl 800547c - 80056dc: 4603 mov r3, r0 - 80056de: 73fb strb r3, [r7, #15] + 8005b60: f107 030c add.w r3, r7, #12 + 8005b64: 2202 movs r2, #2 + 8005b66: 4619 mov r1, r3 + 8005b68: 6878 ldr r0, [r7, #4] + 8005b6a: f7ff fd49 bl 8005600 + 8005b6e: 4603 mov r3, r0 + 8005b70: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 80056e0: 7bfb ldrb r3, [r7, #15] - 80056e2: 2b00 cmp r3, #0 - 80056e4: d004 beq.n 80056f0 + 8005b72: 7bfb ldrb r3, [r7, #15] + 8005b74: 2b00 cmp r3, #0 + 8005b76: d004 beq.n 8005b82 printf("Enabling of IMU INT failed: %d\n", status); - 80056e6: 7bfb ldrb r3, [r7, #15] - 80056e8: 4619 mov r1, r3 - 80056ea: 4812 ldr r0, [pc, #72] @ (8005734 ) - 80056ec: f014 f8aa bl 8019844 + 8005b78: 7bfb ldrb r3, [r7, #15] + 8005b7a: 4619 mov r1, r3 + 8005b7c: 4842 ldr r0, [pc, #264] @ (8005c88 ) + 8005b7e: f014 fb49 bl 801a214 } tx[0] = ICM45686_INT1_CONFIG0 | 0x80; - 80056f0: 2396 movs r3, #150 @ 0x96 - 80056f2: 733b strb r3, [r7, #12] + 8005b82: 2396 movs r3, #150 @ 0x96 + 8005b84: 733b strb r3, [r7, #12] tx[1] = 0x00; - 80056f4: 2300 movs r3, #0 - 80056f6: 737b strb r3, [r7, #13] + 8005b86: 2300 movs r3, #0 + 8005b88: 737b strb r3, [r7, #13] status = read_icm(imu, tx, rx, sizeof(tx)); - 80056f8: f107 0208 add.w r2, r7, #8 - 80056fc: f107 010c add.w r1, r7, #12 - 8005700: 2302 movs r3, #2 - 8005702: 6878 ldr r0, [r7, #4] - 8005704: f7ff fe76 bl 80053f4 - 8005708: 4603 mov r3, r0 - 800570a: 73fb strb r3, [r7, #15] + 8005b8a: f107 0208 add.w r2, r7, #8 + 8005b8e: f107 010c add.w r1, r7, #12 + 8005b92: 2302 movs r3, #2 + 8005b94: 6878 ldr r0, [r7, #4] + 8005b96: f7ff fcef bl 8005578 + 8005b9a: 4603 mov r3, r0 + 8005b9c: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 800570c: 7bfb ldrb r3, [r7, #15] - 800570e: 2b00 cmp r3, #0 - 8005710: d005 beq.n 800571e - printf("Reading IMU INT configuration0 failed: %d\n", status); - 8005712: 7bfb ldrb r3, [r7, #15] - 8005714: 4619 mov r1, r3 - 8005716: 4808 ldr r0, [pc, #32] @ (8005738 ) - 8005718: f014 f894 bl 8019844 + 8005b9e: 7bfb ldrb r3, [r7, #15] + 8005ba0: 2b00 cmp r3, #0 + 8005ba2: d005 beq.n 8005bb0 + printf("Reading IMU INT1_CONFIG0 failed: %d\n", status); + 8005ba4: 7bfb ldrb r3, [r7, #15] + 8005ba6: 4619 mov r1, r3 + 8005ba8: 4838 ldr r0, [pc, #224] @ (8005c8c ) + 8005baa: f014 fb33 bl 801a214 + 8005bae: e004 b.n 8005bba } else { printf("INT1_CONFIG0 read: 0x%02X\n", rx[1]); + 8005bb0: 7a7b ldrb r3, [r7, #9] + 8005bb2: 4619 mov r1, r3 + 8005bb4: 4836 ldr r0, [pc, #216] @ (8005c90 ) + 8005bb6: f014 fb2d bl 801a214 } -} - 800571c: e004 b.n 8005728 - printf("INT1_CONFIG0 read: 0x%02X\n", rx[1]); - 800571e: 7a7b ldrb r3, [r7, #9] - 8005720: 4619 mov r1, r3 - 8005722: 4806 ldr r0, [pc, #24] @ (800573c ) - 8005724: f014 f88e bl 8019844 -} - 8005728: bf00 nop - 800572a: 3710 adds r7, #16 - 800572c: 46bd mov sp, r7 - 800572e: bd80 pop {r7, pc} - 8005730: 0801d7a8 .word 0x0801d7a8 - 8005734: 0801d7c0 .word 0x0801d7c0 - 8005738: 0801d7e0 .word 0x0801d7e0 - 800573c: 0801d80c .word 0x0801d80c - -08005740 : - -void configure_interrupt_icm (ICM45686_HandleTypeDef *imu) { - 8005740: b580 push {r7, lr} - 8005742: b084 sub sp, #16 - 8005744: af00 add r7, sp, #0 - 8005746: 6078 str r0, [r7, #4] - uint8_t tx[2], rx[2] = {0x00, 0x00}; - 8005748: 2300 movs r3, #0 - 800574a: 813b strh r3, [r7, #8] + // configure int1 to push-pull, pulse, active high tx[0] = ICM45686_INT1_CONFIG2; - 800574c: 2318 movs r3, #24 - 800574e: 733b strb r3, [r7, #12] + 8005bba: 2318 movs r3, #24 + 8005bbc: 733b strb r3, [r7, #12] tx[1] = 0x01; - 8005750: 2301 movs r3, #1 - 8005752: 737b strb r3, [r7, #13] - printf("Configuring IMU INT\n"); - 8005754: 4819 ldr r0, [pc, #100] @ (80057bc ) - 8005756: f014 f8dd bl 8019914 - HAL_StatusTypeDef status = write_icm(imu, tx, sizeof(tx)); - 800575a: f107 030c add.w r3, r7, #12 - 800575e: 2202 movs r2, #2 - 8005760: 4619 mov r1, r3 - 8005762: 6878 ldr r0, [r7, #4] - 8005764: f7ff fe8a bl 800547c - 8005768: 4603 mov r3, r0 - 800576a: 73fb strb r3, [r7, #15] + 8005bbe: 2301 movs r3, #1 + 8005bc0: 737b strb r3, [r7, #13] + status = write_icm(imu, tx, sizeof(tx)); + 8005bc2: f107 030c add.w r3, r7, #12 + 8005bc6: 2202 movs r2, #2 + 8005bc8: 4619 mov r1, r3 + 8005bca: 6878 ldr r0, [r7, #4] + 8005bcc: f7ff fd18 bl 8005600 + 8005bd0: 4603 mov r3, r0 + 8005bd2: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 800576c: 7bfb ldrb r3, [r7, #15] - 800576e: 2b00 cmp r3, #0 - 8005770: d004 beq.n 800577c + 8005bd4: 7bfb ldrb r3, [r7, #15] + 8005bd6: 2b00 cmp r3, #0 + 8005bd8: d004 beq.n 8005be4 printf("Configuration of IMU INT failed: %d\n", status); - 8005772: 7bfb ldrb r3, [r7, #15] - 8005774: 4619 mov r1, r3 - 8005776: 4812 ldr r0, [pc, #72] @ (80057c0 ) - 8005778: f014 f864 bl 8019844 + 8005bda: 7bfb ldrb r3, [r7, #15] + 8005bdc: 4619 mov r1, r3 + 8005bde: 482d ldr r0, [pc, #180] @ (8005c94 ) + 8005be0: f014 fb18 bl 801a214 } tx[0] = ICM45686_INT1_CONFIG2 | 0x80; - 800577c: 2398 movs r3, #152 @ 0x98 - 800577e: 733b strb r3, [r7, #12] + 8005be4: 2398 movs r3, #152 @ 0x98 + 8005be6: 733b strb r3, [r7, #12] tx[1] = 0x00; - 8005780: 2300 movs r3, #0 - 8005782: 737b strb r3, [r7, #13] + 8005be8: 2300 movs r3, #0 + 8005bea: 737b strb r3, [r7, #13] status = read_icm(imu, tx, rx, sizeof(tx)); - 8005784: f107 0208 add.w r2, r7, #8 - 8005788: f107 010c add.w r1, r7, #12 - 800578c: 2302 movs r3, #2 - 800578e: 6878 ldr r0, [r7, #4] - 8005790: f7ff fe30 bl 80053f4 - 8005794: 4603 mov r3, r0 - 8005796: 73fb strb r3, [r7, #15] + 8005bec: f107 0208 add.w r2, r7, #8 + 8005bf0: f107 010c add.w r1, r7, #12 + 8005bf4: 2302 movs r3, #2 + 8005bf6: 6878 ldr r0, [r7, #4] + 8005bf8: f7ff fcbe bl 8005578 + 8005bfc: 4603 mov r3, r0 + 8005bfe: 73fb strb r3, [r7, #15] if (status != HAL_OK) { - 8005798: 7bfb ldrb r3, [r7, #15] - 800579a: 2b00 cmp r3, #0 - 800579c: d005 beq.n 80057aa - printf("Reading IMU INT configuration2 failed: %d\n", status); - 800579e: 7bfb ldrb r3, [r7, #15] - 80057a0: 4619 mov r1, r3 - 80057a2: 4808 ldr r0, [pc, #32] @ (80057c4 ) - 80057a4: f014 f84e bl 8019844 + 8005c00: 7bfb ldrb r3, [r7, #15] + 8005c02: 2b00 cmp r3, #0 + 8005c04: d005 beq.n 8005c12 + printf("Reading IMU INT1_CONFIG2 failed: %d\n", status); + 8005c06: 7bfb ldrb r3, [r7, #15] + 8005c08: 4619 mov r1, r3 + 8005c0a: 4823 ldr r0, [pc, #140] @ (8005c98 ) + 8005c0c: f014 fb02 bl 801a214 + 8005c10: e004 b.n 8005c1c } else { printf("INT1_CONFIG2 read: 0x%02X\n", rx[1]); + 8005c12: 7a7b ldrb r3, [r7, #9] + 8005c14: 4619 mov r1, r3 + 8005c16: 4821 ldr r0, [pc, #132] @ (8005c9c ) + 8005c18: f014 fafc bl 801a214 + } + + // enable int + tx[0] = ICM45686_INT1_CONFIG0; + 8005c1c: 2316 movs r3, #22 + 8005c1e: 733b strb r3, [r7, #12] + tx[1] = 0x04; + 8005c20: 2304 movs r3, #4 + 8005c22: 737b strb r3, [r7, #13] + status = write_icm(imu, tx, sizeof(tx)); + 8005c24: f107 030c add.w r3, r7, #12 + 8005c28: 2202 movs r2, #2 + 8005c2a: 4619 mov r1, r3 + 8005c2c: 6878 ldr r0, [r7, #4] + 8005c2e: f7ff fce7 bl 8005600 + 8005c32: 4603 mov r3, r0 + 8005c34: 73fb strb r3, [r7, #15] + if (status != HAL_OK) { + 8005c36: 7bfb ldrb r3, [r7, #15] + 8005c38: 2b00 cmp r3, #0 + 8005c3a: d004 beq.n 8005c46 + printf("Enabling of IMU INT failed: %d\n", status); + 8005c3c: 7bfb ldrb r3, [r7, #15] + 8005c3e: 4619 mov r1, r3 + 8005c40: 4811 ldr r0, [pc, #68] @ (8005c88 ) + 8005c42: f014 fae7 bl 801a214 + } + + tx[0] = ICM45686_INT1_CONFIG0 | 0x80; + 8005c46: 2396 movs r3, #150 @ 0x96 + 8005c48: 733b strb r3, [r7, #12] + tx[1] = 0x00; + 8005c4a: 2300 movs r3, #0 + 8005c4c: 737b strb r3, [r7, #13] + status = read_icm(imu, tx, rx, sizeof(tx)); + 8005c4e: f107 0208 add.w r2, r7, #8 + 8005c52: f107 010c add.w r1, r7, #12 + 8005c56: 2302 movs r3, #2 + 8005c58: 6878 ldr r0, [r7, #4] + 8005c5a: f7ff fc8d bl 8005578 + 8005c5e: 4603 mov r3, r0 + 8005c60: 73fb strb r3, [r7, #15] + if (status != HAL_OK) { + 8005c62: 7bfb ldrb r3, [r7, #15] + 8005c64: 2b00 cmp r3, #0 + 8005c66: d005 beq.n 8005c74 + printf("Reading IMU INT1_CONFIG0 failed: %d\n", status); + 8005c68: 7bfb ldrb r3, [r7, #15] + 8005c6a: 4619 mov r1, r3 + 8005c6c: 4807 ldr r0, [pc, #28] @ (8005c8c ) + 8005c6e: f014 fad1 bl 801a214 + } else { + printf("INT1_CONFIG0 read: 0x%02X\n", rx[1]); } } - 80057a8: e004 b.n 80057b4 - printf("INT1_CONFIG2 read: 0x%02X\n", rx[1]); - 80057aa: 7a7b ldrb r3, [r7, #9] - 80057ac: 4619 mov r1, r3 - 80057ae: 4806 ldr r0, [pc, #24] @ (80057c8 ) - 80057b0: f014 f848 bl 8019844 + 8005c72: e004 b.n 8005c7e + printf("INT1_CONFIG0 read: 0x%02X\n", rx[1]); + 8005c74: 7a7b ldrb r3, [r7, #9] + 8005c76: 4619 mov r1, r3 + 8005c78: 4805 ldr r0, [pc, #20] @ (8005c90 ) + 8005c7a: f014 facb bl 801a214 } - 80057b4: bf00 nop - 80057b6: 3710 adds r7, #16 - 80057b8: 46bd mov sp, r7 - 80057ba: bd80 pop {r7, pc} - 80057bc: 0801d828 .word 0x0801d828 - 80057c0: 0801d83c .word 0x0801d83c - 80057c4: 0801d864 .word 0x0801d864 - 80057c8: 0801d890 .word 0x0801d890 + 8005c7e: bf00 nop + 8005c80: 3710 adds r7, #16 + 8005c82: 46bd mov sp, r7 + 8005c84: bd80 pop {r7, pc} + 8005c86: bf00 nop + 8005c88: 0801e160 .word 0x0801e160 + 8005c8c: 0801e180 .word 0x0801e180 + 8005c90: 0801e1a8 .word 0x0801e1a8 + 8005c94: 0801e1c4 .word 0x0801e1c4 + 8005c98: 0801e1ec .word 0x0801e1ec + 8005c9c: 0801e214 .word 0x0801e214 -080057cc : +08005ca0 : // BMM350 void bmm_init_DWT(void){ - 80057cc: b480 push {r7} - 80057ce: af00 add r7, sp, #0 + 8005ca0: b480 push {r7} + 8005ca2: af00 add r7, sp, #0 // Enable trace and debug block (TRCENA) CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; - 80057d0: 4b09 ldr r3, [pc, #36] @ (80057f8 ) - 80057d2: 68db ldr r3, [r3, #12] - 80057d4: 4a08 ldr r2, [pc, #32] @ (80057f8 ) - 80057d6: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 - 80057da: 60d3 str r3, [r2, #12] + 8005ca4: 4b09 ldr r3, [pc, #36] @ (8005ccc ) + 8005ca6: 68db ldr r3, [r3, #12] + 8005ca8: 4a08 ldr r2, [pc, #32] @ (8005ccc ) + 8005caa: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 + 8005cae: 60d3 str r3, [r2, #12] // Reset cycle counter DWT->CYCCNT = 0; - 80057dc: 4b07 ldr r3, [pc, #28] @ (80057fc ) - 80057de: 2200 movs r2, #0 - 80057e0: 605a str r2, [r3, #4] + 8005cb0: 4b07 ldr r3, [pc, #28] @ (8005cd0 ) + 8005cb2: 2200 movs r2, #0 + 8005cb4: 605a str r2, [r3, #4] // Enable the cycle counter DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; - 80057e2: 4b06 ldr r3, [pc, #24] @ (80057fc ) - 80057e4: 681b ldr r3, [r3, #0] - 80057e6: 4a05 ldr r2, [pc, #20] @ (80057fc ) - 80057e8: f043 0301 orr.w r3, r3, #1 - 80057ec: 6013 str r3, [r2, #0] + 8005cb6: 4b06 ldr r3, [pc, #24] @ (8005cd0 ) + 8005cb8: 681b ldr r3, [r3, #0] + 8005cba: 4a05 ldr r2, [pc, #20] @ (8005cd0 ) + 8005cbc: f043 0301 orr.w r3, r3, #1 + 8005cc0: 6013 str r3, [r2, #0] } - 80057ee: bf00 nop - 80057f0: 46bd mov sp, r7 - 80057f2: f85d 7b04 ldr.w r7, [sp], #4 - 80057f6: 4770 bx lr - 80057f8: e000edf0 .word 0xe000edf0 - 80057fc: e0001000 .word 0xe0001000 + 8005cc2: bf00 nop + 8005cc4: 46bd mov sp, r7 + 8005cc6: f85d 7b04 ldr.w r7, [sp], #4 + 8005cca: 4770 bx lr + 8005ccc: e000edf0 .word 0xe000edf0 + 8005cd0: e0001000 .word 0xe0001000 -08005800 : +08005cd4 : BMM350_INTF_RET_TYPE bmm350_i2c_read(uint8_t reg_addr, uint8_t *reg_data, uint32_t length, void *intf_ptr){ - 8005800: b580 push {r7, lr} - 8005802: b088 sub sp, #32 - 8005804: af02 add r7, sp, #8 - 8005806: 60b9 str r1, [r7, #8] - 8005808: 607a str r2, [r7, #4] - 800580a: 603b str r3, [r7, #0] - 800580c: 4603 mov r3, r0 - 800580e: 73fb strb r3, [r7, #15] + 8005cd4: b580 push {r7, lr} + 8005cd6: b088 sub sp, #32 + 8005cd8: af02 add r7, sp, #8 + 8005cda: 60b9 str r1, [r7, #8] + 8005cdc: 607a str r2, [r7, #4] + 8005cde: 603b str r3, [r7, #0] + 8005ce0: 4603 mov r3, r0 + 8005ce2: 73fb strb r3, [r7, #15] // Extract I2C device address from intf_ptr uint8_t device_addr = *(uint8_t*)intf_ptr; - 8005810: 683b ldr r3, [r7, #0] - 8005812: 781b ldrb r3, [r3, #0] - 8005814: 75fb strb r3, [r7, #23] + 8005ce4: 683b ldr r3, [r7, #0] + 8005ce6: 781b ldrb r3, [r3, #0] + 8005ce8: 75fb strb r3, [r7, #23] // STM32 HAL: Write register address, then read data // Device address is left-shifted by 1 for STM32 HAL // if (HAL_I2C_Mem_Read(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, reg_data, length, HAL_I2C_TIMEOUT ) == HAL_OK) { if (HAL_I2C_Mem_Read_DMA(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, reg_data, length) == HAL_OK) { - 8005816: 7dfb ldrb r3, [r7, #23] - 8005818: b29b uxth r3, r3 - 800581a: 005b lsls r3, r3, #1 - 800581c: b299 uxth r1, r3 - 800581e: 7bfb ldrb r3, [r7, #15] - 8005820: b29a uxth r2, r3 - 8005822: 687b ldr r3, [r7, #4] - 8005824: b29b uxth r3, r3 - 8005826: 9301 str r3, [sp, #4] - 8005828: 68bb ldr r3, [r7, #8] - 800582a: 9300 str r3, [sp, #0] - 800582c: 2301 movs r3, #1 - 800582e: 480b ldr r0, [pc, #44] @ (800585c ) - 8005830: f001 fdc8 bl 80073c4 - 8005834: 4603 mov r3, r0 - 8005836: 2b00 cmp r3, #0 - 8005838: d109 bne.n 800584e - if (ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { - 800583a: 220a movs r2, #10 - 800583c: 2101 movs r1, #1 - 800583e: 2000 movs r0, #0 - 8005840: f010 fc78 bl 8016134 - 8005844: 4603 mov r3, r0 - 8005846: 2b01 cmp r3, #1 - 8005848: d101 bne.n 800584e + 8005cea: 7dfb ldrb r3, [r7, #23] + 8005cec: b29b uxth r3, r3 + 8005cee: 005b lsls r3, r3, #1 + 8005cf0: b299 uxth r1, r3 + 8005cf2: 7bfb ldrb r3, [r7, #15] + 8005cf4: b29a uxth r2, r3 + 8005cf6: 687b ldr r3, [r7, #4] + 8005cf8: b29b uxth r3, r3 + 8005cfa: 9301 str r3, [sp, #4] + 8005cfc: 68bb ldr r3, [r7, #8] + 8005cfe: 9300 str r3, [sp, #0] + 8005d00: 2301 movs r3, #1 + 8005d02: 480b ldr r0, [pc, #44] @ (8005d30 ) + 8005d04: f001 fe3a bl 800797c + 8005d08: 4603 mov r3, r0 + 8005d0a: 2b00 cmp r3, #0 + 8005d0c: d109 bne.n 8005d22 +// if (ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { + if (ulTaskNotifyTakeIndexed(BMM_NOTIFY_DMA, pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { + 8005d0e: 220a movs r2, #10 + 8005d10: 2101 movs r1, #1 + 8005d12: 2001 movs r0, #1 + 8005d14: f010 ff0e bl 8016b34 + 8005d18: 4603 mov r3, r0 + 8005d1a: 2b01 cmp r3, #1 + 8005d1c: d101 bne.n 8005d22 +// if (ulTaskNotifyTakeIndexed(pdTRUE, BMM_NOTIFY_DMA, pdMS_TO_TICKS(10)) == pdTRUE) { return BMM350_INTF_RET_SUCCESS; // 0 - 800584a: 2300 movs r3, #0 - 800584c: e001 b.n 8005852 + 8005d1e: 2300 movs r3, #0 + 8005d20: e001 b.n 8005d26 } } return -1; // Communication failure - 800584e: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8005d22: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff } - 8005852: 4618 mov r0, r3 - 8005854: 3718 adds r7, #24 - 8005856: 46bd mov sp, r7 - 8005858: bd80 pop {r7, pc} - 800585a: bf00 nop - 800585c: 200003b4 .word 0x200003b4 + 8005d26: 4618 mov r0, r3 + 8005d28: 3718 adds r7, #24 + 8005d2a: 46bd mov sp, r7 + 8005d2c: bd80 pop {r7, pc} + 8005d2e: bf00 nop + 8005d30: 200003b4 .word 0x200003b4 -08005860 : +08005d34 : +// } +// +// return -1; // Communication failure +//} BMM350_INTF_RET_TYPE bmm350_i2c_write(uint8_t reg_addr, const uint8_t *reg_data, uint32_t length, void *intf_ptr){ - 8005860: b580 push {r7, lr} - 8005862: b088 sub sp, #32 - 8005864: af02 add r7, sp, #8 - 8005866: 60b9 str r1, [r7, #8] - 8005868: 607a str r2, [r7, #4] - 800586a: 603b str r3, [r7, #0] - 800586c: 4603 mov r3, r0 - 800586e: 73fb strb r3, [r7, #15] + 8005d34: b580 push {r7, lr} + 8005d36: b088 sub sp, #32 + 8005d38: af02 add r7, sp, #8 + 8005d3a: 60b9 str r1, [r7, #8] + 8005d3c: 607a str r2, [r7, #4] + 8005d3e: 603b str r3, [r7, #0] + 8005d40: 4603 mov r3, r0 + 8005d42: 73fb strb r3, [r7, #15] uint8_t device_addr = *(uint8_t*)intf_ptr; - 8005870: 683b ldr r3, [r7, #0] - 8005872: 781b ldrb r3, [r3, #0] - 8005874: 75fb strb r3, [r7, #23] + 8005d44: 683b ldr r3, [r7, #0] + 8005d46: 781b ldrb r3, [r3, #0] + 8005d48: 75fb strb r3, [r7, #23] // uint8_t rslt = HAL_I2C_Mem_Write_DMA(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, (uint8_t*)reg_data, length); // printf("rslt write: %d\n", rslt); // // STM32 HAL: Write register address + data if (HAL_I2C_Mem_Write_DMA(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, (uint8_t*)reg_data, length) == HAL_OK) { - 8005876: 7dfb ldrb r3, [r7, #23] - 8005878: b29b uxth r3, r3 - 800587a: 005b lsls r3, r3, #1 - 800587c: b299 uxth r1, r3 - 800587e: 7bfb ldrb r3, [r7, #15] - 8005880: b29a uxth r2, r3 - 8005882: 687b ldr r3, [r7, #4] - 8005884: b29b uxth r3, r3 - 8005886: 9301 str r3, [sp, #4] - 8005888: 68bb ldr r3, [r7, #8] - 800588a: 9300 str r3, [sp, #0] - 800588c: 2301 movs r3, #1 - 800588e: 480b ldr r0, [pc, #44] @ (80058bc ) - 8005890: f001 fcb2 bl 80071f8 - 8005894: 4603 mov r3, r0 - 8005896: 2b00 cmp r3, #0 - 8005898: d109 bne.n 80058ae + 8005d4a: 7dfb ldrb r3, [r7, #23] + 8005d4c: b29b uxth r3, r3 + 8005d4e: 005b lsls r3, r3, #1 + 8005d50: b299 uxth r1, r3 + 8005d52: 7bfb ldrb r3, [r7, #15] + 8005d54: b29a uxth r2, r3 + 8005d56: 687b ldr r3, [r7, #4] + 8005d58: b29b uxth r3, r3 + 8005d5a: 9301 str r3, [sp, #4] + 8005d5c: 68bb ldr r3, [r7, #8] + 8005d5e: 9300 str r3, [sp, #0] + 8005d60: 2301 movs r3, #1 + 8005d62: 480b ldr r0, [pc, #44] @ (8005d90 ) + 8005d64: f001 fd24 bl 80077b0 + 8005d68: 4603 mov r3, r0 + 8005d6a: 2b00 cmp r3, #0 + 8005d6c: d109 bne.n 8005d82 // if (HAL_I2C_Mem_Write(&hi2c1, device_addr << 1, reg_addr, I2C_MEMADD_SIZE_8BIT, (uint8_t*)reg_data, length, HAL_I2C_TIMEOUT ) == HAL_OK) { // if (rslt == HAL_OK) { - if (ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { - 800589a: 220a movs r2, #10 - 800589c: 2101 movs r1, #1 - 800589e: 2000 movs r0, #0 - 80058a0: f010 fc48 bl 8016134 - 80058a4: 4603 mov r3, r0 - 80058a6: 2b01 cmp r3, #1 - 80058a8: d101 bne.n 80058ae +// if (ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { + if (ulTaskNotifyTakeIndexed(BMM_NOTIFY_DMA, pdTRUE, pdMS_TO_TICKS(10)) == pdTRUE) { + 8005d6e: 220a movs r2, #10 + 8005d70: 2101 movs r1, #1 + 8005d72: 2001 movs r0, #1 + 8005d74: f010 fede bl 8016b34 + 8005d78: 4603 mov r3, r0 + 8005d7a: 2b01 cmp r3, #1 + 8005d7c: d101 bne.n 8005d82 +// if (ulTaskNotifyTakeIndexed(pdTRUE, BMM_NOTIFY_DMA, pdMS_TO_TICKS(10)) == pdTRUE) { return BMM350_INTF_RET_SUCCESS; // 0 - 80058aa: 2300 movs r3, #0 - 80058ac: e001 b.n 80058b2 + 8005d7e: 2300 movs r3, #0 + 8005d80: e001 b.n 8005d86 } } return -1; - 80058ae: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8005d82: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff } - 80058b2: 4618 mov r0, r3 - 80058b4: 3718 adds r7, #24 - 80058b6: 46bd mov sp, r7 - 80058b8: bd80 pop {r7, pc} - 80058ba: bf00 nop - 80058bc: 200003b4 .word 0x200003b4 + 8005d86: 4618 mov r0, r3 + 8005d88: 3718 adds r7, #24 + 8005d8a: 46bd mov sp, r7 + 8005d8c: bd80 pop {r7, pc} + 8005d8e: bf00 nop + 8005d90: 200003b4 .word 0x200003b4 -080058c0 : +08005d94 : +// } +// +// return -1; +//} void bmm350_delay(uint32_t period_us, void *intf_ptr){ - 80058c0: b480 push {r7} - 80058c2: b085 sub sp, #20 - 80058c4: af00 add r7, sp, #0 - 80058c6: 6078 str r0, [r7, #4] - 80058c8: 6039 str r1, [r7, #0] + 8005d94: b480 push {r7} + 8005d96: b085 sub sp, #20 + 8005d98: af00 add r7, sp, #0 + 8005d9a: 6078 str r0, [r7, #4] + 8005d9c: 6039 str r1, [r7, #0] (void)intf_ptr; // Unused // For STM32, use DWT cycle counter for accurate microsecond delays uint32_t start = DWT->CYCCNT; - 80058ca: 4b0e ldr r3, [pc, #56] @ (8005904 ) - 80058cc: 685b ldr r3, [r3, #4] - 80058ce: 60fb str r3, [r7, #12] + 8005d9e: 4b0e ldr r3, [pc, #56] @ (8005dd8 ) + 8005da0: 685b ldr r3, [r3, #4] + 8005da2: 60fb str r3, [r7, #12] uint32_t cycles = period_us * (SystemCoreClock / 1000000); - 80058d0: 4b0d ldr r3, [pc, #52] @ (8005908 ) - 80058d2: 681b ldr r3, [r3, #0] - 80058d4: 4a0d ldr r2, [pc, #52] @ (800590c ) - 80058d6: fba2 2303 umull r2, r3, r2, r3 - 80058da: 0c9a lsrs r2, r3, #18 - 80058dc: 687b ldr r3, [r7, #4] - 80058de: fb02 f303 mul.w r3, r2, r3 - 80058e2: 60bb str r3, [r7, #8] + 8005da4: 4b0d ldr r3, [pc, #52] @ (8005ddc ) + 8005da6: 681b ldr r3, [r3, #0] + 8005da8: 4a0d ldr r2, [pc, #52] @ (8005de0 ) + 8005daa: fba2 2303 umull r2, r3, r2, r3 + 8005dae: 0c9a lsrs r2, r3, #18 + 8005db0: 687b ldr r3, [r7, #4] + 8005db2: fb02 f303 mul.w r3, r2, r3 + 8005db6: 60bb str r3, [r7, #8] while ((DWT->CYCCNT - start) < cycles); - 80058e4: bf00 nop - 80058e6: 4b07 ldr r3, [pc, #28] @ (8005904 ) - 80058e8: 685a ldr r2, [r3, #4] - 80058ea: 68fb ldr r3, [r7, #12] - 80058ec: 1ad3 subs r3, r2, r3 - 80058ee: 68ba ldr r2, [r7, #8] - 80058f0: 429a cmp r2, r3 - 80058f2: d8f8 bhi.n 80058e6 + 8005db8: bf00 nop + 8005dba: 4b07 ldr r3, [pc, #28] @ (8005dd8 ) + 8005dbc: 685a ldr r2, [r3, #4] + 8005dbe: 68fb ldr r3, [r7, #12] + 8005dc0: 1ad3 subs r3, r2, r3 + 8005dc2: 68ba ldr r2, [r7, #8] + 8005dc4: 429a cmp r2, r3 + 8005dc6: d8f8 bhi.n 8005dba } - 80058f4: bf00 nop - 80058f6: bf00 nop - 80058f8: 3714 adds r7, #20 - 80058fa: 46bd mov sp, r7 - 80058fc: f85d 7b04 ldr.w r7, [sp], #4 - 8005900: 4770 bx lr - 8005902: bf00 nop - 8005904: e0001000 .word 0xe0001000 - 8005908: 2000000c .word 0x2000000c - 800590c: 431bde83 .word 0x431bde83 + 8005dc8: bf00 nop + 8005dca: bf00 nop + 8005dcc: 3714 adds r7, #20 + 8005dce: 46bd mov sp, r7 + 8005dd0: f85d 7b04 ldr.w r7, [sp], #4 + 8005dd4: 4770 bx lr + 8005dd6: bf00 nop + 8005dd8: e0001000 .word 0xe0001000 + 8005ddc: 2000000c .word 0x2000000c + 8005de0: 431bde83 .word 0x431bde83 -08005910 : +08005de4 : // Initialization function int8_t init_bmm(struct bmm350_dev *dev) { - 8005910: b580 push {r7, lr} - 8005912: b084 sub sp, #16 - 8005914: af00 add r7, sp, #0 - 8005916: 6078 str r0, [r7, #4] + 8005de4: b580 push {r7, lr} + 8005de6: b084 sub sp, #16 + 8005de8: af00 add r7, sp, #0 + 8005dea: 6078 str r0, [r7, #4] // Static variable to hold I2C device address // Must be static or global because dev.intf_ptr will point to it static uint8_t dev_addr = BMM350_I2C_ADSEL_SET_LOW; // Assign function pointers dev->read = bmm350_i2c_read; - 8005918: 687b ldr r3, [r7, #4] - 800591a: 4a23 ldr r2, [pc, #140] @ (80059a8 ) - 800591c: 609a str r2, [r3, #8] + 8005dec: 687b ldr r3, [r7, #4] + 8005dee: 4a21 ldr r2, [pc, #132] @ (8005e74 ) + 8005df0: 609a str r2, [r3, #8] dev->write = bmm350_i2c_write; - 800591e: 687b ldr r3, [r7, #4] - 8005920: 4a22 ldr r2, [pc, #136] @ (80059ac ) - 8005922: 60da str r2, [r3, #12] + 8005df2: 687b ldr r3, [r7, #4] + 8005df4: 4a20 ldr r2, [pc, #128] @ (8005e78 ) + 8005df6: 60da str r2, [r3, #12] dev->delay_us = bmm350_delay; - 8005924: 687b ldr r3, [r7, #4] - 8005926: 4a22 ldr r2, [pc, #136] @ (80059b0 ) - 8005928: 611a str r2, [r3, #16] + 8005df8: 687b ldr r3, [r7, #4] + 8005dfa: 4a20 ldr r2, [pc, #128] @ (8005e7c ) + 8005dfc: 611a str r2, [r3, #16] dev->intf_ptr = &dev_addr; - 800592a: 687b ldr r3, [r7, #4] - 800592c: 4a21 ldr r2, [pc, #132] @ (80059b4 ) - 800592e: 601a str r2, [r3, #0] + 8005dfe: 687b ldr r3, [r7, #4] + 8005e00: 4a1f ldr r2, [pc, #124] @ (8005e80 ) + 8005e02: 601a str r2, [r3, #0] - printf("Starting up and configuring BMM350\n"); - 8005930: 4821 ldr r0, [pc, #132] @ (80059b8 ) - 8005932: f013 ffef bl 8019914 +// printf("Starting up and configuring BMM350\n"); // Initialize BMM350 driver rslt = bmm350_init(dev); - 8005936: 6878 ldr r0, [r7, #4] - 8005938: f7fc fe40 bl 80025bc - 800593c: 4603 mov r3, r0 - 800593e: 73fb strb r3, [r7, #15] + 8005e04: 6878 ldr r0, [r7, #4] + 8005e06: f7fc fc68 bl 80026da + 8005e0a: 4603 mov r3, r0 + 8005e0c: 73fb strb r3, [r7, #15] if (rslt != BMM350_OK) - 8005940: f997 300f ldrsb.w r3, [r7, #15] - 8005944: 2b00 cmp r3, #0 - 8005946: d002 beq.n 800594e + 8005e0e: f997 300f ldrsb.w r3, [r7, #15] + 8005e12: 2b00 cmp r3, #0 + 8005e14: d002 beq.n 8005e1c { // Handle error: chip ID mismatch, communication failure, etc. return rslt; - 8005948: f997 300f ldrsb.w r3, [r7, #15] - 800594c: e027 b.n 800599e + 8005e16: f997 300f ldrsb.w r3, [r7, #15] + 8005e1a: e027 b.n 8005e6c } printf("Initialization: %d\n", rslt); - 800594e: f997 300f ldrsb.w r3, [r7, #15] - 8005952: 4619 mov r1, r3 - 8005954: 4819 ldr r0, [pc, #100] @ (80059bc ) - 8005956: f013 ff75 bl 8019844 + 8005e1c: f997 300f ldrsb.w r3, [r7, #15] + 8005e20: 4619 mov r1, r3 + 8005e22: 4818 ldr r0, [pc, #96] @ (8005e84 ) + 8005e24: f014 f9f6 bl 801a214 printf("CHIP_ID (should be 0x33) - Read Register: 0x00 BMM350 Chip ID: 0x%X\n", dev->chip_id); - 800595a: 687b ldr r3, [r7, #4] - 800595c: 791b ldrb r3, [r3, #4] - 800595e: 4619 mov r1, r3 - 8005960: 4817 ldr r0, [pc, #92] @ (80059c0 ) - 8005962: f013 ff6f bl 8019844 + 8005e28: 687b ldr r3, [r7, #4] + 8005e2a: 791b ldrb r3, [r3, #4] + 8005e2c: 4619 mov r1, r3 + 8005e2e: 4816 ldr r0, [pc, #88] @ (8005e88 ) + 8005e30: f014 f9f0 bl 801a214 // Set powermode, odr and avg rslt = bmm350_set_powermode(BMM350_NORMAL_MODE, dev); - 8005966: 6879 ldr r1, [r7, #4] - 8005968: 2001 movs r0, #1 - 800596a: f7fc ff56 bl 800281a - 800596e: 4603 mov r3, r0 - 8005970: 73fb strb r3, [r7, #15] + 8005e34: 6879 ldr r1, [r7, #4] + 8005e36: 2001 movs r0, #1 + 8005e38: f7fc fd7e bl 8002938 + 8005e3c: 4603 mov r3, r0 + 8005e3e: 73fb strb r3, [r7, #15] printf("Powermode (%d): %d\n", BMM350_NORMAL_MODE, rslt); - 8005972: f997 300f ldrsb.w r3, [r7, #15] - 8005976: 461a mov r2, r3 - 8005978: 2101 movs r1, #1 - 800597a: 4812 ldr r0, [pc, #72] @ (80059c4 ) - 800597c: f013 ff62 bl 8019844 - rslt = bmm350_set_odr_performance(BMM350_DATA_RATE_200HZ, BMM350_AVERAGING_2, dev); - 8005980: 687a ldr r2, [r7, #4] - 8005982: 2101 movs r1, #1 - 8005984: 2003 movs r0, #3 - 8005986: f7fc ff9a bl 80028be - 800598a: 4603 mov r3, r0 - 800598c: 73fb strb r3, [r7, #15] - printf("ODR(%d) and AVG(%d): %d\n", BMM350_DATA_RATE_200HZ, BMM350_AVERAGING_2, rslt); - 800598e: f997 300f ldrsb.w r3, [r7, #15] - 8005992: 2201 movs r2, #1 - 8005994: 2103 movs r1, #3 - 8005996: 480c ldr r0, [pc, #48] @ (80059c8 ) - 8005998: f013 ff54 bl 8019844 + 8005e40: f997 300f ldrsb.w r3, [r7, #15] + 8005e44: 461a mov r2, r3 + 8005e46: 2101 movs r1, #1 + 8005e48: 4810 ldr r0, [pc, #64] @ (8005e8c ) + 8005e4a: f014 f9e3 bl 801a214 + rslt = bmm350_set_odr_performance(BMM350_DATA_RATE_400HZ, BMM350_NO_AVERAGING, dev); + 8005e4e: 687a ldr r2, [r7, #4] + 8005e50: 2100 movs r1, #0 + 8005e52: 2002 movs r0, #2 + 8005e54: f7fc fdc2 bl 80029dc + 8005e58: 4603 mov r3, r0 + 8005e5a: 73fb strb r3, [r7, #15] + printf("ODR(%d) and AVG(%d): %d\n", BMM350_DATA_RATE_400HZ, BMM350_NO_AVERAGING, rslt); + 8005e5c: f997 300f ldrsb.w r3, [r7, #15] + 8005e60: 2200 movs r2, #0 + 8005e62: 2102 movs r1, #2 + 8005e64: 480a ldr r0, [pc, #40] @ (8005e90 ) + 8005e66: f014 f9d5 bl 801a214 // rslt = bmm350_enable_interrupt(BMM350_ENABLE_INTERRUPT, dev); // printf("Interrupt enable: %d", rslt); // rslt = bmm350_configure_interrupt(BMM350_LATCHED, BMM350_ACTIVE_HIGH, BMM350_INTR_OPEN_DRAIN, BMM350_MAP_TO_PIN, dev); // printf("Configure interrupt: %d", rslt); return BMM350_OK; - 800599c: 2300 movs r3, #0 + 8005e6a: 2300 movs r3, #0 } - 800599e: 4618 mov r0, r3 - 80059a0: 3710 adds r7, #16 - 80059a2: 46bd mov sp, r7 - 80059a4: bd80 pop {r7, pc} - 80059a6: bf00 nop - 80059a8: 08005801 .word 0x08005801 - 80059ac: 08005861 .word 0x08005861 - 80059b0: 080058c1 .word 0x080058c1 - 80059b4: 20000008 .word 0x20000008 - 80059b8: 0801d8ac .word 0x0801d8ac - 80059bc: 0801d8d0 .word 0x0801d8d0 - 80059c0: 0801d8e4 .word 0x0801d8e4 - 80059c4: 0801d92c .word 0x0801d92c - 80059c8: 0801d940 .word 0x0801d940 + 8005e6c: 4618 mov r0, r3 + 8005e6e: 3710 adds r7, #16 + 8005e70: 46bd mov sp, r7 + 8005e72: bd80 pop {r7, pc} + 8005e74: 08005cd5 .word 0x08005cd5 + 8005e78: 08005d35 .word 0x08005d35 + 8005e7c: 08005d95 .word 0x08005d95 + 8005e80: 20000008 .word 0x20000008 + 8005e84: 0801e230 .word 0x0801e230 + 8005e88: 0801e244 .word 0x0801e244 + 8005e8c: 0801e28c .word 0x0801e28c + 8005e90: 0801e2a0 .word 0x0801e2a0 -080059cc : +08005e94 : int8_t bmm_configure_interrupt (struct bmm350_dev *dev) { - 80059cc: b580 push {r7, lr} - 80059ce: b086 sub sp, #24 - 80059d0: af02 add r7, sp, #8 - 80059d2: 6078 str r0, [r7, #4] + 8005e94: b580 push {r7, lr} + 8005e96: b086 sub sp, #24 + 8005e98: af02 add r7, sp, #8 + 8005e9a: 6078 str r0, [r7, #4] int8_t rslt; rslt = bmm350_enable_interrupt(BMM350_ENABLE_INTERRUPT, dev); - 80059d4: 6879 ldr r1, [r7, #4] - 80059d6: 2001 movs r0, #1 - 80059d8: f7fc ffde bl 8002998 - 80059dc: 4603 mov r3, r0 - 80059de: 73fb strb r3, [r7, #15] - printf("Interrupt enable: %d\n", rslt); - 80059e0: f997 300f ldrsb.w r3, [r7, #15] - 80059e4: 4619 mov r1, r3 - 80059e6: 480c ldr r0, [pc, #48] @ (8005a18 ) - 80059e8: f013 ff2c bl 8019844 + 8005e9c: 6879 ldr r1, [r7, #4] + 8005e9e: 2001 movs r0, #1 + 8005ea0: f7fc fe09 bl 8002ab6 + 8005ea4: 4603 mov r3, r0 + 8005ea6: 73fb strb r3, [r7, #15] + printf("Interrupt enable: %d \n", rslt); + 8005ea8: f997 300f ldrsb.w r3, [r7, #15] + 8005eac: 4619 mov r1, r3 + 8005eae: 480c ldr r0, [pc, #48] @ (8005ee0 ) + 8005eb0: f014 f9b0 bl 801a214 rslt = bmm350_configure_interrupt(BMM350_PULSED, BMM350_ACTIVE_HIGH, BMM350_INTR_PUSH_PULL, BMM350_MAP_TO_PIN, dev); - 80059ec: 687b ldr r3, [r7, #4] - 80059ee: 9300 str r3, [sp, #0] - 80059f0: 2301 movs r3, #1 - 80059f2: 2201 movs r2, #1 - 80059f4: 2101 movs r1, #1 - 80059f6: 2000 movs r0, #0 - 80059f8: f7fc ffff bl 80029fa - 80059fc: 4603 mov r3, r0 - 80059fe: 73fb strb r3, [r7, #15] - printf("Configure interrupt: %d\n", rslt); - 8005a00: f997 300f ldrsb.w r3, [r7, #15] - 8005a04: 4619 mov r1, r3 - 8005a06: 4805 ldr r0, [pc, #20] @ (8005a1c ) - 8005a08: f013 ff1c bl 8019844 + 8005eb4: 687b ldr r3, [r7, #4] + 8005eb6: 9300 str r3, [sp, #0] + 8005eb8: 2301 movs r3, #1 + 8005eba: 2201 movs r2, #1 + 8005ebc: 2101 movs r1, #1 + 8005ebe: 2000 movs r0, #0 + 8005ec0: f7fc fe2a bl 8002b18 + 8005ec4: 4603 mov r3, r0 + 8005ec6: 73fb strb r3, [r7, #15] + printf("Configure interrupt: %d \n", rslt); + 8005ec8: f997 300f ldrsb.w r3, [r7, #15] + 8005ecc: 4619 mov r1, r3 + 8005ece: 4805 ldr r0, [pc, #20] @ (8005ee4 ) + 8005ed0: f014 f9a0 bl 801a214 return BMM350_OK; - 8005a0c: 2300 movs r3, #0 + 8005ed4: 2300 movs r3, #0 } - 8005a0e: 4618 mov r0, r3 - 8005a10: 3710 adds r7, #16 - 8005a12: 46bd mov sp, r7 - 8005a14: bd80 pop {r7, pc} - 8005a16: bf00 nop - 8005a18: 0801d95c .word 0x0801d95c - 8005a1c: 0801d974 .word 0x0801d974 + 8005ed6: 4618 mov r0, r3 + 8005ed8: 3710 adds r7, #16 + 8005eda: 46bd mov sp, r7 + 8005edc: bd80 pop {r7, pc} + 8005ede: bf00 nop + 8005ee0: 0801e2bc .word 0x0801e2bc + 8005ee4: 0801e2d4 .word 0x0801e2d4 -08005a20 : +08005ee8 : * @brief Enable RTC * @rmtoll BDCR RTCEN LL_RCC_EnableRTC * @retval None */ __STATIC_INLINE void LL_RCC_EnableRTC(void) { - 8005a20: b480 push {r7} - 8005a22: af00 add r7, sp, #0 + 8005ee8: b480 push {r7} + 8005eea: af00 add r7, sp, #0 SET_BIT(RCC->BDCR, RCC_BDCR_RTCEN); - 8005a24: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005a28: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 8005a2c: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 8005a30: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8005a34: f8c2 3090 str.w r3, [r2, #144] @ 0x90 + 8005eec: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8005ef0: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 8005ef4: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 8005ef8: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8005efc: f8c2 3090 str.w r3, [r2, #144] @ 0x90 } - 8005a38: bf00 nop - 8005a3a: 46bd mov sp, r7 - 8005a3c: f85d 7b04 ldr.w r7, [sp], #4 - 8005a40: 4770 bx lr + 8005f00: bf00 nop + 8005f02: 46bd mov sp, r7 + 8005f04: f85d 7b04 ldr.w r7, [sp], #4 + 8005f08: 4770 bx lr -08005a42 : +08005f0a : { - 8005a42: b480 push {r7} - 8005a44: b085 sub sp, #20 - 8005a46: af00 add r7, sp, #0 - 8005a48: 6078 str r0, [r7, #4] + 8005f0a: b480 push {r7} + 8005f0c: b085 sub sp, #20 + 8005f0e: af00 add r7, sp, #0 + 8005f10: 6078 str r0, [r7, #4] SET_BIT(RCC->AHB2ENR, Periphs); - 8005a4a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005a4e: 6cda ldr r2, [r3, #76] @ 0x4c - 8005a50: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 8005a54: 687b ldr r3, [r7, #4] - 8005a56: 4313 orrs r3, r2 - 8005a58: 64cb str r3, [r1, #76] @ 0x4c + 8005f12: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8005f16: 6cda ldr r2, [r3, #76] @ 0x4c + 8005f18: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 8005f1c: 687b ldr r3, [r7, #4] + 8005f1e: 4313 orrs r3, r2 + 8005f20: 64cb str r3, [r1, #76] @ 0x4c tmpreg = READ_BIT(RCC->AHB2ENR, Periphs); - 8005a5a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005a5e: 6cda ldr r2, [r3, #76] @ 0x4c - 8005a60: 687b ldr r3, [r7, #4] - 8005a62: 4013 ands r3, r2 - 8005a64: 60fb str r3, [r7, #12] + 8005f22: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8005f26: 6cda ldr r2, [r3, #76] @ 0x4c + 8005f28: 687b ldr r3, [r7, #4] + 8005f2a: 4013 ands r3, r2 + 8005f2c: 60fb str r3, [r7, #12] (void)tmpreg; - 8005a66: 68fb ldr r3, [r7, #12] + 8005f2e: 68fb ldr r3, [r7, #12] } - 8005a68: bf00 nop - 8005a6a: 3714 adds r7, #20 - 8005a6c: 46bd mov sp, r7 - 8005a6e: f85d 7b04 ldr.w r7, [sp], #4 - 8005a72: 4770 bx lr + 8005f30: bf00 nop + 8005f32: 3714 adds r7, #20 + 8005f34: 46bd mov sp, r7 + 8005f36: f85d 7b04 ldr.w r7, [sp], #4 + 8005f3a: 4770 bx lr -08005a74 : +08005f3c : * @arg @ref LL_AHB3_GRP1_PERIPH_FLASH * @note (*) Not supported by all the devices * @retval None */ __STATIC_INLINE void LL_AHB3_GRP1_EnableClock(uint32_t Periphs) { - 8005a74: b480 push {r7} - 8005a76: b085 sub sp, #20 - 8005a78: af00 add r7, sp, #0 - 8005a7a: 6078 str r0, [r7, #4] + 8005f3c: b480 push {r7} + 8005f3e: b085 sub sp, #20 + 8005f40: af00 add r7, sp, #0 + 8005f42: 6078 str r0, [r7, #4] __IO uint32_t tmpreg; SET_BIT(RCC->AHB3ENR, Periphs); - 8005a7c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005a80: 6d1a ldr r2, [r3, #80] @ 0x50 - 8005a82: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 8005a86: 687b ldr r3, [r7, #4] - 8005a88: 4313 orrs r3, r2 - 8005a8a: 650b str r3, [r1, #80] @ 0x50 + 8005f44: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8005f48: 6d1a ldr r2, [r3, #80] @ 0x50 + 8005f4a: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 8005f4e: 687b ldr r3, [r7, #4] + 8005f50: 4313 orrs r3, r2 + 8005f52: 650b str r3, [r1, #80] @ 0x50 /* Delay after an RCC peripheral clock enabling */ tmpreg = READ_BIT(RCC->AHB3ENR, Periphs); - 8005a8c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005a90: 6d1a ldr r2, [r3, #80] @ 0x50 - 8005a92: 687b ldr r3, [r7, #4] - 8005a94: 4013 ands r3, r2 - 8005a96: 60fb str r3, [r7, #12] + 8005f54: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8005f58: 6d1a ldr r2, [r3, #80] @ 0x50 + 8005f5a: 687b ldr r3, [r7, #4] + 8005f5c: 4013 ands r3, r2 + 8005f5e: 60fb str r3, [r7, #12] (void)tmpreg; - 8005a98: 68fb ldr r3, [r7, #12] + 8005f60: 68fb ldr r3, [r7, #12] } - 8005a9a: bf00 nop - 8005a9c: 3714 adds r7, #20 - 8005a9e: 46bd mov sp, r7 - 8005aa0: f85d 7b04 ldr.w r7, [sp], #4 - 8005aa4: 4770 bx lr + 8005f62: bf00 nop + 8005f64: 3714 adds r7, #20 + 8005f66: 46bd mov sp, r7 + 8005f68: f85d 7b04 ldr.w r7, [sp], #4 + 8005f6c: 4770 bx lr -08005aa6 : +08005f6e : * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 * @note (*) Not supported by all the devices * @retval None */ __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs) -{ - 8005aa6: b480 push {r7} - 8005aa8: b085 sub sp, #20 - 8005aaa: af00 add r7, sp, #0 - 8005aac: 6078 str r0, [r7, #4] - __IO uint32_t tmpreg; - SET_BIT(RCC->APB1ENR1, Periphs); - 8005aae: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005ab2: 6d9a ldr r2, [r3, #88] @ 0x58 - 8005ab4: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 8005ab8: 687b ldr r3, [r7, #4] - 8005aba: 4313 orrs r3, r2 - 8005abc: 658b str r3, [r1, #88] @ 0x58 - /* Delay after an RCC peripheral clock enabling */ - tmpreg = READ_BIT(RCC->APB1ENR1, Periphs); - 8005abe: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005ac2: 6d9a ldr r2, [r3, #88] @ 0x58 - 8005ac4: 687b ldr r3, [r7, #4] - 8005ac6: 4013 ands r3, r2 - 8005ac8: 60fb str r3, [r7, #12] - (void)tmpreg; - 8005aca: 68fb ldr r3, [r7, #12] -} - 8005acc: bf00 nop - 8005ace: 3714 adds r7, #20 - 8005ad0: 46bd mov sp, r7 - 8005ad2: f85d 7b04 ldr.w r7, [sp], #4 - 8005ad6: 4770 bx lr - -08005ad8 : - * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) - * @note (*) Not supported by all the devices - * @retval None - */ -__STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs) -{ - 8005ad8: b480 push {r7} - 8005ada: b085 sub sp, #20 - 8005adc: af00 add r7, sp, #0 - 8005ade: 6078 str r0, [r7, #4] - __IO uint32_t tmpreg; - SET_BIT(RCC->APB2ENR, Periphs); - 8005ae0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005ae4: 6e1a ldr r2, [r3, #96] @ 0x60 - 8005ae6: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 8005aea: 687b ldr r3, [r7, #4] - 8005aec: 4313 orrs r3, r2 - 8005aee: 660b str r3, [r1, #96] @ 0x60 - /* Delay after an RCC peripheral clock enabling */ - tmpreg = READ_BIT(RCC->APB2ENR, Periphs); - 8005af0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005af4: 6e1a ldr r2, [r3, #96] @ 0x60 - 8005af6: 687b ldr r3, [r7, #4] - 8005af8: 4013 ands r3, r2 - 8005afa: 60fb str r3, [r7, #12] - (void)tmpreg; - 8005afc: 68fb ldr r3, [r7, #12] -} - 8005afe: bf00 nop - 8005b00: 3714 adds r7, #20 - 8005b02: 46bd mov sp, r7 - 8005b04: f85d 7b04 ldr.w r7, [sp], #4 - 8005b08: 4770 bx lr - -08005b0a : -void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); - /** - * Initializes the Global MSP. - */ -void HAL_MspInit(void) -{ - 8005b0a: b580 push {r7, lr} - 8005b0c: af00 add r7, sp, #0 - - /* USER CODE BEGIN MspInit 0 */ - - /* USER CODE END MspInit 0 */ - - __HAL_RCC_HSEM_CLK_ENABLE(); - 8005b0e: f44f 2000 mov.w r0, #524288 @ 0x80000 - 8005b12: f7ff ffaf bl 8005a74 - HAL_PWREx_EnableVddUSB(); - 8005b16: f004 ff55 bl 800a9c4 - - /* System interrupt init*/ - /* PendSV_IRQn interrupt configuration */ - HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0); - 8005b1a: 2200 movs r2, #0 - 8005b1c: 210f movs r1, #15 - 8005b1e: f06f 0001 mvn.w r0, #1 - 8005b22: f000 fdd5 bl 80066d0 - - /* Peripheral interrupt init */ - /* HSEM_IRQn interrupt configuration */ - HAL_NVIC_SetPriority(HSEM_IRQn, 5, 0); - 8005b26: 2200 movs r2, #0 - 8005b28: 2105 movs r1, #5 - 8005b2a: 202e movs r0, #46 @ 0x2e - 8005b2c: f000 fdd0 bl 80066d0 - HAL_NVIC_EnableIRQ(HSEM_IRQn); - 8005b30: 202e movs r0, #46 @ 0x2e - 8005b32: f000 fde7 bl 8006704 - - /* USER CODE BEGIN MspInit 1 */ - - /* USER CODE END MspInit 1 */ -} - 8005b36: bf00 nop - 8005b38: bd80 pop {r7, pc} - ... - -08005b3c : - * This function configures the hardware resources used in this example - * @param hi2c: I2C handle pointer - * @retval None - */ -void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) -{ - 8005b3c: b580 push {r7, lr} - 8005b3e: b09c sub sp, #112 @ 0x70 - 8005b40: af00 add r7, sp, #0 - 8005b42: 6078 str r0, [r7, #4] - GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8005b44: f107 035c add.w r3, r7, #92 @ 0x5c - 8005b48: 2200 movs r2, #0 - 8005b4a: 601a str r2, [r3, #0] - 8005b4c: 605a str r2, [r3, #4] - 8005b4e: 609a str r2, [r3, #8] - 8005b50: 60da str r2, [r3, #12] - 8005b52: 611a str r2, [r3, #16] - RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; - 8005b54: f107 030c add.w r3, r7, #12 - 8005b58: 2250 movs r2, #80 @ 0x50 - 8005b5a: 2100 movs r1, #0 - 8005b5c: 4618 mov r0, r3 - 8005b5e: f013 ffd9 bl 8019b14 - if(hi2c->Instance==I2C1) - 8005b62: 687b ldr r3, [r7, #4] - 8005b64: 681b ldr r3, [r3, #0] - 8005b66: 4a49 ldr r2, [pc, #292] @ (8005c8c ) - 8005b68: 4293 cmp r3, r2 - 8005b6a: f040 808b bne.w 8005c84 - - /* USER CODE END I2C1_MspInit 0 */ - - /** Initializes the peripherals clock - */ - PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2C1; - 8005b6e: 2304 movs r3, #4 - 8005b70: 60fb str r3, [r7, #12] - PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1; - 8005b72: f44f 3340 mov.w r3, #196608 @ 0x30000 - 8005b76: 62fb str r3, [r7, #44] @ 0x2c - if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - 8005b78: f107 030c add.w r3, r7, #12 - 8005b7c: 4618 mov r0, r3 - 8005b7e: f006 fa8f bl 800c0a0 - 8005b82: 4603 mov r3, r0 - 8005b84: 2b00 cmp r3, #0 - 8005b86: d001 beq.n 8005b8c - { - Error_Handler(); - 8005b88: f7ff fb4a bl 8005220 - } - - __HAL_RCC_GPIOB_CLK_ENABLE(); - 8005b8c: 2002 movs r0, #2 - 8005b8e: f7ff ff58 bl 8005a42 - /**I2C1 GPIO Configuration - PB8 ------> I2C1_SCL - PB9 ------> I2C1_SDA - */ - GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9; - 8005b92: f44f 7340 mov.w r3, #768 @ 0x300 - 8005b96: 65fb str r3, [r7, #92] @ 0x5c - GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; - 8005b98: 2312 movs r3, #18 - 8005b9a: 663b str r3, [r7, #96] @ 0x60 - GPIO_InitStruct.Pull = GPIO_NOPULL; - 8005b9c: 2300 movs r3, #0 - 8005b9e: 667b str r3, [r7, #100] @ 0x64 - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8005ba0: 2300 movs r3, #0 - 8005ba2: 66bb str r3, [r7, #104] @ 0x68 - GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; - 8005ba4: 2304 movs r3, #4 - 8005ba6: 66fb str r3, [r7, #108] @ 0x6c - HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 8005ba8: f107 035c add.w r3, r7, #92 @ 0x5c - 8005bac: 4619 mov r1, r3 - 8005bae: 4838 ldr r0, [pc, #224] @ (8005c90 ) - 8005bb0: f001 f8c2 bl 8006d38 - - /* Peripheral clock enable */ - __HAL_RCC_I2C1_CLK_ENABLE(); - 8005bb4: f44f 1000 mov.w r0, #2097152 @ 0x200000 - 8005bb8: f7ff ff75 bl 8005aa6 - - /* I2C1 DMA Init */ - /* I2C1_TX Init */ - hdma_i2c1_tx.Instance = DMA1_Channel3; - 8005bbc: 4b35 ldr r3, [pc, #212] @ (8005c94 ) - 8005bbe: 4a36 ldr r2, [pc, #216] @ (8005c98 ) - 8005bc0: 601a str r2, [r3, #0] - hdma_i2c1_tx.Init.Request = DMA_REQUEST_I2C1_TX; - 8005bc2: 4b34 ldr r3, [pc, #208] @ (8005c94 ) - 8005bc4: 220b movs r2, #11 - 8005bc6: 605a str r2, [r3, #4] - hdma_i2c1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; - 8005bc8: 4b32 ldr r3, [pc, #200] @ (8005c94 ) - 8005bca: 2210 movs r2, #16 - 8005bcc: 609a str r2, [r3, #8] - hdma_i2c1_tx.Init.PeriphInc = DMA_PINC_DISABLE; - 8005bce: 4b31 ldr r3, [pc, #196] @ (8005c94 ) - 8005bd0: 2200 movs r2, #0 - 8005bd2: 60da str r2, [r3, #12] - hdma_i2c1_tx.Init.MemInc = DMA_MINC_ENABLE; - 8005bd4: 4b2f ldr r3, [pc, #188] @ (8005c94 ) - 8005bd6: 2280 movs r2, #128 @ 0x80 - 8005bd8: 611a str r2, [r3, #16] - hdma_i2c1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - 8005bda: 4b2e ldr r3, [pc, #184] @ (8005c94 ) - 8005bdc: 2200 movs r2, #0 - 8005bde: 615a str r2, [r3, #20] - hdma_i2c1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - 8005be0: 4b2c ldr r3, [pc, #176] @ (8005c94 ) - 8005be2: 2200 movs r2, #0 - 8005be4: 619a str r2, [r3, #24] - hdma_i2c1_tx.Init.Mode = DMA_NORMAL; - 8005be6: 4b2b ldr r3, [pc, #172] @ (8005c94 ) - 8005be8: 2200 movs r2, #0 - 8005bea: 61da str r2, [r3, #28] - hdma_i2c1_tx.Init.Priority = DMA_PRIORITY_HIGH; - 8005bec: 4b29 ldr r3, [pc, #164] @ (8005c94 ) - 8005bee: f44f 5200 mov.w r2, #8192 @ 0x2000 - 8005bf2: 621a str r2, [r3, #32] - if (HAL_DMA_Init(&hdma_i2c1_tx) != HAL_OK) - 8005bf4: 4827 ldr r0, [pc, #156] @ (8005c94 ) - 8005bf6: f000 fdbd bl 8006774 - 8005bfa: 4603 mov r3, r0 - 8005bfc: 2b00 cmp r3, #0 - 8005bfe: d001 beq.n 8005c04 - { - Error_Handler(); - 8005c00: f7ff fb0e bl 8005220 - } - - __HAL_LINKDMA(hi2c,hdmatx,hdma_i2c1_tx); - 8005c04: 687b ldr r3, [r7, #4] - 8005c06: 4a23 ldr r2, [pc, #140] @ (8005c94 ) - 8005c08: 639a str r2, [r3, #56] @ 0x38 - 8005c0a: 4a22 ldr r2, [pc, #136] @ (8005c94 ) - 8005c0c: 687b ldr r3, [r7, #4] - 8005c0e: 6293 str r3, [r2, #40] @ 0x28 - - /* I2C1_RX Init */ - hdma_i2c1_rx.Instance = DMA1_Channel4; - 8005c10: 4b22 ldr r3, [pc, #136] @ (8005c9c ) - 8005c12: 4a23 ldr r2, [pc, #140] @ (8005ca0 ) - 8005c14: 601a str r2, [r3, #0] - hdma_i2c1_rx.Init.Request = DMA_REQUEST_I2C1_RX; - 8005c16: 4b21 ldr r3, [pc, #132] @ (8005c9c ) - 8005c18: 220a movs r2, #10 - 8005c1a: 605a str r2, [r3, #4] - hdma_i2c1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; - 8005c1c: 4b1f ldr r3, [pc, #124] @ (8005c9c ) - 8005c1e: 2200 movs r2, #0 - 8005c20: 609a str r2, [r3, #8] - hdma_i2c1_rx.Init.PeriphInc = DMA_PINC_DISABLE; - 8005c22: 4b1e ldr r3, [pc, #120] @ (8005c9c ) - 8005c24: 2200 movs r2, #0 - 8005c26: 60da str r2, [r3, #12] - hdma_i2c1_rx.Init.MemInc = DMA_MINC_ENABLE; - 8005c28: 4b1c ldr r3, [pc, #112] @ (8005c9c ) - 8005c2a: 2280 movs r2, #128 @ 0x80 - 8005c2c: 611a str r2, [r3, #16] - hdma_i2c1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - 8005c2e: 4b1b ldr r3, [pc, #108] @ (8005c9c ) - 8005c30: 2200 movs r2, #0 - 8005c32: 615a str r2, [r3, #20] - hdma_i2c1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - 8005c34: 4b19 ldr r3, [pc, #100] @ (8005c9c ) - 8005c36: 2200 movs r2, #0 - 8005c38: 619a str r2, [r3, #24] - hdma_i2c1_rx.Init.Mode = DMA_NORMAL; - 8005c3a: 4b18 ldr r3, [pc, #96] @ (8005c9c ) - 8005c3c: 2200 movs r2, #0 - 8005c3e: 61da str r2, [r3, #28] - hdma_i2c1_rx.Init.Priority = DMA_PRIORITY_HIGH; - 8005c40: 4b16 ldr r3, [pc, #88] @ (8005c9c ) - 8005c42: f44f 5200 mov.w r2, #8192 @ 0x2000 - 8005c46: 621a str r2, [r3, #32] - if (HAL_DMA_Init(&hdma_i2c1_rx) != HAL_OK) - 8005c48: 4814 ldr r0, [pc, #80] @ (8005c9c ) - 8005c4a: f000 fd93 bl 8006774 - 8005c4e: 4603 mov r3, r0 - 8005c50: 2b00 cmp r3, #0 - 8005c52: d001 beq.n 8005c58 - { - Error_Handler(); - 8005c54: f7ff fae4 bl 8005220 - } - - __HAL_LINKDMA(hi2c,hdmarx,hdma_i2c1_rx); - 8005c58: 687b ldr r3, [r7, #4] - 8005c5a: 4a10 ldr r2, [pc, #64] @ (8005c9c ) - 8005c5c: 63da str r2, [r3, #60] @ 0x3c - 8005c5e: 4a0f ldr r2, [pc, #60] @ (8005c9c ) - 8005c60: 687b ldr r3, [r7, #4] - 8005c62: 6293 str r3, [r2, #40] @ 0x28 - - /* I2C1 interrupt Init */ - HAL_NVIC_SetPriority(I2C1_EV_IRQn, 5, 0); - 8005c64: 2200 movs r2, #0 - 8005c66: 2105 movs r1, #5 - 8005c68: 201e movs r0, #30 - 8005c6a: f000 fd31 bl 80066d0 - HAL_NVIC_EnableIRQ(I2C1_EV_IRQn); - 8005c6e: 201e movs r0, #30 - 8005c70: f000 fd48 bl 8006704 - HAL_NVIC_SetPriority(I2C1_ER_IRQn, 5, 0); - 8005c74: 2200 movs r2, #0 - 8005c76: 2105 movs r1, #5 - 8005c78: 201f movs r0, #31 - 8005c7a: f000 fd29 bl 80066d0 - HAL_NVIC_EnableIRQ(I2C1_ER_IRQn); - 8005c7e: 201f movs r0, #31 - 8005c80: f000 fd40 bl 8006704 - - /* USER CODE END I2C1_MspInit 1 */ - - } - -} - 8005c84: bf00 nop - 8005c86: 3770 adds r7, #112 @ 0x70 - 8005c88: 46bd mov sp, r7 - 8005c8a: bd80 pop {r7, pc} - 8005c8c: 40005400 .word 0x40005400 - 8005c90: 48000400 .word 0x48000400 - 8005c94: 20000408 .word 0x20000408 - 8005c98: 40020030 .word 0x40020030 - 8005c9c: 20000468 .word 0x20000468 - 8005ca0: 40020044 .word 0x40020044 - -08005ca4 : - * This function configures the hardware resources used in this example - * @param hipcc: IPCC handle pointer - * @retval None - */ -void HAL_IPCC_MspInit(IPCC_HandleTypeDef* hipcc) -{ - 8005ca4: b580 push {r7, lr} - 8005ca6: b082 sub sp, #8 - 8005ca8: af00 add r7, sp, #0 - 8005caa: 6078 str r0, [r7, #4] - if(hipcc->Instance==IPCC) - 8005cac: 687b ldr r3, [r7, #4] - 8005cae: 681b ldr r3, [r3, #0] - 8005cb0: 4a0d ldr r2, [pc, #52] @ (8005ce8 ) - 8005cb2: 4293 cmp r3, r2 - 8005cb4: d113 bne.n 8005cde - { - /* USER CODE BEGIN IPCC_MspInit 0 */ - - /* USER CODE END IPCC_MspInit 0 */ - /* Peripheral clock enable */ - __HAL_RCC_IPCC_CLK_ENABLE(); - 8005cb6: f44f 1080 mov.w r0, #1048576 @ 0x100000 - 8005cba: f7ff fedb bl 8005a74 - /* IPCC interrupt Init */ - HAL_NVIC_SetPriority(IPCC_C1_RX_IRQn, 5, 0); - 8005cbe: 2200 movs r2, #0 - 8005cc0: 2105 movs r1, #5 - 8005cc2: 202c movs r0, #44 @ 0x2c - 8005cc4: f000 fd04 bl 80066d0 - HAL_NVIC_EnableIRQ(IPCC_C1_RX_IRQn); - 8005cc8: 202c movs r0, #44 @ 0x2c - 8005cca: f000 fd1b bl 8006704 - HAL_NVIC_SetPriority(IPCC_C1_TX_IRQn, 5, 0); - 8005cce: 2200 movs r2, #0 - 8005cd0: 2105 movs r1, #5 - 8005cd2: 202d movs r0, #45 @ 0x2d - 8005cd4: f000 fcfc bl 80066d0 - HAL_NVIC_EnableIRQ(IPCC_C1_TX_IRQn); - 8005cd8: 202d movs r0, #45 @ 0x2d - 8005cda: f000 fd13 bl 8006704 - - /* USER CODE END IPCC_MspInit 1 */ - - } - -} - 8005cde: bf00 nop - 8005ce0: 3708 adds r7, #8 - 8005ce2: 46bd mov sp, r7 - 8005ce4: bd80 pop {r7, pc} - 8005ce6: bf00 nop - 8005ce8: 58000c00 .word 0x58000c00 - -08005cec : - * This function configures the hardware resources used in this example - * @param hrtc: RTC handle pointer - * @retval None - */ -void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc) -{ - 8005cec: b580 push {r7, lr} - 8005cee: b096 sub sp, #88 @ 0x58 - 8005cf0: af00 add r7, sp, #0 - 8005cf2: 6078 str r0, [r7, #4] - RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; - 8005cf4: f107 0308 add.w r3, r7, #8 - 8005cf8: 2250 movs r2, #80 @ 0x50 - 8005cfa: 2100 movs r1, #0 - 8005cfc: 4618 mov r0, r3 - 8005cfe: f013 ff09 bl 8019b14 - if(hrtc->Instance==RTC) - 8005d02: 687b ldr r3, [r7, #4] - 8005d04: 681b ldr r3, [r3, #0] - 8005d06: 4a13 ldr r2, [pc, #76] @ (8005d54 ) - 8005d08: 4293 cmp r3, r2 - 8005d0a: d11f bne.n 8005d4c - - /* USER CODE END RTC_MspInit 0 */ - - /** Enable access to the backup domain - */ - HAL_PWR_EnableBkUpAccess(); - 8005d0c: f004 fe3c bl 800a988 - - /** Initializes the peripherals clock - */ - PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC; - 8005d10: f44f 6300 mov.w r3, #2048 @ 0x800 - 8005d14: 60bb str r3, [r7, #8] - PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI; - 8005d16: f44f 7300 mov.w r3, #512 @ 0x200 - 8005d1a: 64bb str r3, [r7, #72] @ 0x48 - if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - 8005d1c: f107 0308 add.w r3, r7, #8 - 8005d20: 4618 mov r0, r3 - 8005d22: f006 f9bd bl 800c0a0 - 8005d26: 4603 mov r3, r0 - 8005d28: 2b00 cmp r3, #0 - 8005d2a: d001 beq.n 8005d30 - { - Error_Handler(); - 8005d2c: f7ff fa78 bl 8005220 - } - - /* Peripheral clock enable */ - __HAL_RCC_RTC_ENABLE(); - 8005d30: f7ff fe76 bl 8005a20 - __HAL_RCC_RTCAPB_CLK_ENABLE(); - 8005d34: f44f 6080 mov.w r0, #1024 @ 0x400 - 8005d38: f7ff feb5 bl 8005aa6 - /* RTC interrupt Init */ - HAL_NVIC_SetPriority(RTC_WKUP_IRQn, 5, 0); - 8005d3c: 2200 movs r2, #0 - 8005d3e: 2105 movs r1, #5 - 8005d40: 2003 movs r0, #3 - 8005d42: f000 fcc5 bl 80066d0 - HAL_NVIC_EnableIRQ(RTC_WKUP_IRQn); - 8005d46: 2003 movs r0, #3 - 8005d48: f000 fcdc bl 8006704 - - /* USER CODE END RTC_MspInit 1 */ - - } - -} - 8005d4c: bf00 nop - 8005d4e: 3758 adds r7, #88 @ 0x58 - 8005d50: 46bd mov sp, r7 - 8005d52: bd80 pop {r7, pc} - 8005d54: 40002800 .word 0x40002800 - -08005d58 : - * This function configures the hardware resources used in this example - * @param hspi: SPI handle pointer - * @retval None - */ -void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) -{ - 8005d58: b580 push {r7, lr} - 8005d5a: b088 sub sp, #32 - 8005d5c: af00 add r7, sp, #0 - 8005d5e: 6078 str r0, [r7, #4] - GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8005d60: f107 030c add.w r3, r7, #12 - 8005d64: 2200 movs r2, #0 - 8005d66: 601a str r2, [r3, #0] - 8005d68: 605a str r2, [r3, #4] - 8005d6a: 609a str r2, [r3, #8] - 8005d6c: 60da str r2, [r3, #12] - 8005d6e: 611a str r2, [r3, #16] - if(hspi->Instance==SPI1) - 8005d70: 687b ldr r3, [r7, #4] - 8005d72: 681b ldr r3, [r3, #0] - 8005d74: 4a5a ldr r2, [pc, #360] @ (8005ee0 ) - 8005d76: 4293 cmp r3, r2 - 8005d78: d16c bne.n 8005e54 - { - /* USER CODE BEGIN SPI1_MspInit 0 */ - - /* USER CODE END SPI1_MspInit 0 */ - /* Peripheral clock enable */ - __HAL_RCC_SPI1_CLK_ENABLE(); - 8005d7a: f44f 5080 mov.w r0, #4096 @ 0x1000 - 8005d7e: f7ff feab bl 8005ad8 - - __HAL_RCC_GPIOA_CLK_ENABLE(); - 8005d82: 2001 movs r0, #1 - 8005d84: f7ff fe5d bl 8005a42 - /**SPI1 GPIO Configuration - PA5 ------> SPI1_SCK - PA6 ------> SPI1_MISO - PA7 ------> SPI1_MOSI - */ - GPIO_InitStruct.Pin = SPI1_IMU_SCK_Pin|SPI1_IMU_MISO_Pin|SPI1_IMU_MOSI_Pin; - 8005d88: 23e0 movs r3, #224 @ 0xe0 - 8005d8a: 60fb str r3, [r7, #12] - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8005d8c: 2302 movs r3, #2 - 8005d8e: 613b str r3, [r7, #16] - GPIO_InitStruct.Pull = GPIO_NOPULL; - 8005d90: 2300 movs r3, #0 - 8005d92: 617b str r3, [r7, #20] - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - 8005d94: 2302 movs r3, #2 - 8005d96: 61bb str r3, [r7, #24] - GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; - 8005d98: 2305 movs r3, #5 - 8005d9a: 61fb str r3, [r7, #28] - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 8005d9c: f107 030c add.w r3, r7, #12 - 8005da0: 4619 mov r1, r3 - 8005da2: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 - 8005da6: f000 ffc7 bl 8006d38 - - /* SPI1 DMA Init */ - /* SPI1_TX Init */ - hdma_spi1_tx.Instance = DMA1_Channel1; - 8005daa: 4b4e ldr r3, [pc, #312] @ (8005ee4 ) - 8005dac: 4a4e ldr r2, [pc, #312] @ (8005ee8 ) - 8005dae: 601a str r2, [r3, #0] - hdma_spi1_tx.Init.Request = DMA_REQUEST_SPI1_TX; - 8005db0: 4b4c ldr r3, [pc, #304] @ (8005ee4 ) - 8005db2: 2207 movs r2, #7 - 8005db4: 605a str r2, [r3, #4] - hdma_spi1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; - 8005db6: 4b4b ldr r3, [pc, #300] @ (8005ee4 ) - 8005db8: 2210 movs r2, #16 - 8005dba: 609a str r2, [r3, #8] - hdma_spi1_tx.Init.PeriphInc = DMA_PINC_DISABLE; - 8005dbc: 4b49 ldr r3, [pc, #292] @ (8005ee4 ) - 8005dbe: 2200 movs r2, #0 - 8005dc0: 60da str r2, [r3, #12] - hdma_spi1_tx.Init.MemInc = DMA_MINC_ENABLE; - 8005dc2: 4b48 ldr r3, [pc, #288] @ (8005ee4 ) - 8005dc4: 2280 movs r2, #128 @ 0x80 - 8005dc6: 611a str r2, [r3, #16] - hdma_spi1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - 8005dc8: 4b46 ldr r3, [pc, #280] @ (8005ee4 ) - 8005dca: 2200 movs r2, #0 - 8005dcc: 615a str r2, [r3, #20] - hdma_spi1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - 8005dce: 4b45 ldr r3, [pc, #276] @ (8005ee4 ) - 8005dd0: 2200 movs r2, #0 - 8005dd2: 619a str r2, [r3, #24] - hdma_spi1_tx.Init.Mode = DMA_NORMAL; - 8005dd4: 4b43 ldr r3, [pc, #268] @ (8005ee4 ) - 8005dd6: 2200 movs r2, #0 - 8005dd8: 61da str r2, [r3, #28] - hdma_spi1_tx.Init.Priority = DMA_PRIORITY_HIGH; - 8005dda: 4b42 ldr r3, [pc, #264] @ (8005ee4 ) - 8005ddc: f44f 5200 mov.w r2, #8192 @ 0x2000 - 8005de0: 621a str r2, [r3, #32] - if (HAL_DMA_Init(&hdma_spi1_tx) != HAL_OK) - 8005de2: 4840 ldr r0, [pc, #256] @ (8005ee4 ) - 8005de4: f000 fcc6 bl 8006774 - 8005de8: 4603 mov r3, r0 - 8005dea: 2b00 cmp r3, #0 - 8005dec: d001 beq.n 8005df2 - { - Error_Handler(); - 8005dee: f7ff fa17 bl 8005220 - } - - __HAL_LINKDMA(hspi,hdmatx,hdma_spi1_tx); - 8005df2: 687b ldr r3, [r7, #4] - 8005df4: 4a3b ldr r2, [pc, #236] @ (8005ee4 ) - 8005df6: 655a str r2, [r3, #84] @ 0x54 - 8005df8: 4a3a ldr r2, [pc, #232] @ (8005ee4 ) - 8005dfa: 687b ldr r3, [r7, #4] - 8005dfc: 6293 str r3, [r2, #40] @ 0x28 - - /* SPI1_RX Init */ - hdma_spi1_rx.Instance = DMA1_Channel2; - 8005dfe: 4b3b ldr r3, [pc, #236] @ (8005eec ) - 8005e00: 4a3b ldr r2, [pc, #236] @ (8005ef0 ) - 8005e02: 601a str r2, [r3, #0] - hdma_spi1_rx.Init.Request = DMA_REQUEST_SPI1_RX; - 8005e04: 4b39 ldr r3, [pc, #228] @ (8005eec ) - 8005e06: 2206 movs r2, #6 - 8005e08: 605a str r2, [r3, #4] - hdma_spi1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; - 8005e0a: 4b38 ldr r3, [pc, #224] @ (8005eec ) - 8005e0c: 2200 movs r2, #0 - 8005e0e: 609a str r2, [r3, #8] - hdma_spi1_rx.Init.PeriphInc = DMA_PINC_DISABLE; - 8005e10: 4b36 ldr r3, [pc, #216] @ (8005eec ) - 8005e12: 2200 movs r2, #0 - 8005e14: 60da str r2, [r3, #12] - hdma_spi1_rx.Init.MemInc = DMA_MINC_ENABLE; - 8005e16: 4b35 ldr r3, [pc, #212] @ (8005eec ) - 8005e18: 2280 movs r2, #128 @ 0x80 - 8005e1a: 611a str r2, [r3, #16] - hdma_spi1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - 8005e1c: 4b33 ldr r3, [pc, #204] @ (8005eec ) - 8005e1e: 2200 movs r2, #0 - 8005e20: 615a str r2, [r3, #20] - hdma_spi1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - 8005e22: 4b32 ldr r3, [pc, #200] @ (8005eec ) - 8005e24: 2200 movs r2, #0 - 8005e26: 619a str r2, [r3, #24] - hdma_spi1_rx.Init.Mode = DMA_NORMAL; - 8005e28: 4b30 ldr r3, [pc, #192] @ (8005eec ) - 8005e2a: 2200 movs r2, #0 - 8005e2c: 61da str r2, [r3, #28] - hdma_spi1_rx.Init.Priority = DMA_PRIORITY_HIGH; - 8005e2e: 4b2f ldr r3, [pc, #188] @ (8005eec ) - 8005e30: f44f 5200 mov.w r2, #8192 @ 0x2000 - 8005e34: 621a str r2, [r3, #32] - if (HAL_DMA_Init(&hdma_spi1_rx) != HAL_OK) - 8005e36: 482d ldr r0, [pc, #180] @ (8005eec ) - 8005e38: f000 fc9c bl 8006774 - 8005e3c: 4603 mov r3, r0 - 8005e3e: 2b00 cmp r3, #0 - 8005e40: d001 beq.n 8005e46 - { - Error_Handler(); - 8005e42: f7ff f9ed bl 8005220 - } - - __HAL_LINKDMA(hspi,hdmarx,hdma_spi1_rx); - 8005e46: 687b ldr r3, [r7, #4] - 8005e48: 4a28 ldr r2, [pc, #160] @ (8005eec ) - 8005e4a: 659a str r2, [r3, #88] @ 0x58 - 8005e4c: 4a27 ldr r2, [pc, #156] @ (8005eec ) - 8005e4e: 687b ldr r3, [r7, #4] - 8005e50: 6293 str r3, [r2, #40] @ 0x28 - /* USER CODE BEGIN SPI2_MspInit 1 */ - - /* USER CODE END SPI2_MspInit 1 */ - } - -} - 8005e52: e040 b.n 8005ed6 - else if(hspi->Instance==SPI2) - 8005e54: 687b ldr r3, [r7, #4] - 8005e56: 681b ldr r3, [r3, #0] - 8005e58: 4a26 ldr r2, [pc, #152] @ (8005ef4 ) - 8005e5a: 4293 cmp r3, r2 - 8005e5c: d13b bne.n 8005ed6 - __HAL_RCC_SPI2_CLK_ENABLE(); - 8005e5e: f44f 4080 mov.w r0, #16384 @ 0x4000 - 8005e62: f7ff fe20 bl 8005aa6 - __HAL_RCC_GPIOC_CLK_ENABLE(); - 8005e66: 2004 movs r0, #4 - 8005e68: f7ff fdeb bl 8005a42 - __HAL_RCC_GPIOA_CLK_ENABLE(); - 8005e6c: 2001 movs r0, #1 - 8005e6e: f7ff fde8 bl 8005a42 - GPIO_InitStruct.Pin = SPI2_SD_MOSI_Pin; - 8005e72: 2302 movs r3, #2 - 8005e74: 60fb str r3, [r7, #12] - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8005e76: 2302 movs r3, #2 - 8005e78: 613b str r3, [r7, #16] - GPIO_InitStruct.Pull = GPIO_NOPULL; - 8005e7a: 2300 movs r3, #0 - 8005e7c: 617b str r3, [r7, #20] - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - 8005e7e: 2303 movs r3, #3 - 8005e80: 61bb str r3, [r7, #24] - GPIO_InitStruct.Alternate = GPIO_AF3_SPI2; - 8005e82: 2303 movs r3, #3 - 8005e84: 61fb str r3, [r7, #28] - HAL_GPIO_Init(SPI2_SD_MOSI_GPIO_Port, &GPIO_InitStruct); - 8005e86: f107 030c add.w r3, r7, #12 - 8005e8a: 4619 mov r1, r3 - 8005e8c: 481a ldr r0, [pc, #104] @ (8005ef8 ) - 8005e8e: f000 ff53 bl 8006d38 - GPIO_InitStruct.Pin = SPI2_SD_MISO_Pin; - 8005e92: 2304 movs r3, #4 - 8005e94: 60fb str r3, [r7, #12] - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8005e96: 2302 movs r3, #2 - 8005e98: 613b str r3, [r7, #16] - GPIO_InitStruct.Pull = GPIO_NOPULL; - 8005e9a: 2300 movs r3, #0 - 8005e9c: 617b str r3, [r7, #20] - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - 8005e9e: 2303 movs r3, #3 - 8005ea0: 61bb str r3, [r7, #24] - GPIO_InitStruct.Alternate = GPIO_AF5_SPI2; - 8005ea2: 2305 movs r3, #5 - 8005ea4: 61fb str r3, [r7, #28] - HAL_GPIO_Init(SPI2_SD_MISO_GPIO_Port, &GPIO_InitStruct); - 8005ea6: f107 030c add.w r3, r7, #12 - 8005eaa: 4619 mov r1, r3 - 8005eac: 4812 ldr r0, [pc, #72] @ (8005ef8 ) - 8005eae: f000 ff43 bl 8006d38 - GPIO_InitStruct.Pin = SPI2_SD_SCK_Pin; - 8005eb2: f44f 7300 mov.w r3, #512 @ 0x200 - 8005eb6: 60fb str r3, [r7, #12] - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8005eb8: 2302 movs r3, #2 - 8005eba: 613b str r3, [r7, #16] - GPIO_InitStruct.Pull = GPIO_NOPULL; - 8005ebc: 2300 movs r3, #0 - 8005ebe: 617b str r3, [r7, #20] - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - 8005ec0: 2303 movs r3, #3 - 8005ec2: 61bb str r3, [r7, #24] - GPIO_InitStruct.Alternate = GPIO_AF5_SPI2; - 8005ec4: 2305 movs r3, #5 - 8005ec6: 61fb str r3, [r7, #28] - HAL_GPIO_Init(SPI2_SD_SCK_GPIO_Port, &GPIO_InitStruct); - 8005ec8: f107 030c add.w r3, r7, #12 - 8005ecc: 4619 mov r1, r3 - 8005ece: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 - 8005ed2: f000 ff31 bl 8006d38 -} - 8005ed6: bf00 nop - 8005ed8: 3720 adds r7, #32 - 8005eda: 46bd mov sp, r7 - 8005edc: bd80 pop {r7, pc} - 8005ede: bf00 nop - 8005ee0: 40013000 .word 0x40013000 - 8005ee4: 200005f0 .word 0x200005f0 - 8005ee8: 40020008 .word 0x40020008 - 8005eec: 20000650 .word 0x20000650 - 8005ef0: 4002001c .word 0x4002001c - 8005ef4: 40003800 .word 0x40003800 - 8005ef8: 48000800 .word 0x48000800 - -08005efc : - * This function configures the hardware resources used in this example - * @param htim_pwm: TIM_PWM handle pointer - * @retval None - */ -void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm) -{ - 8005efc: b580 push {r7, lr} - 8005efe: b082 sub sp, #8 - 8005f00: af00 add r7, sp, #0 - 8005f02: 6078 str r0, [r7, #4] - if(htim_pwm->Instance==TIM2) - 8005f04: 687b ldr r3, [r7, #4] - 8005f06: 681b ldr r3, [r3, #0] - 8005f08: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 - 8005f0c: d102 bne.n 8005f14 - { - /* USER CODE BEGIN TIM2_MspInit 0 */ - - /* USER CODE END TIM2_MspInit 0 */ - /* Peripheral clock enable */ - __HAL_RCC_TIM2_CLK_ENABLE(); - 8005f0e: 2001 movs r0, #1 - 8005f10: f7ff fdc9 bl 8005aa6 - - /* USER CODE END TIM2_MspInit 1 */ - - } - -} - 8005f14: bf00 nop - 8005f16: 3708 adds r7, #8 - 8005f18: 46bd mov sp, r7 - 8005f1a: bd80 pop {r7, pc} - -08005f1c : - -void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) -{ - 8005f1c: b580 push {r7, lr} - 8005f1e: b088 sub sp, #32 - 8005f20: af00 add r7, sp, #0 - 8005f22: 6078 str r0, [r7, #4] - GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8005f24: f107 030c add.w r3, r7, #12 - 8005f28: 2200 movs r2, #0 - 8005f2a: 601a str r2, [r3, #0] - 8005f2c: 605a str r2, [r3, #4] - 8005f2e: 609a str r2, [r3, #8] - 8005f30: 60da str r2, [r3, #12] - 8005f32: 611a str r2, [r3, #16] - if(htim->Instance==TIM2) - 8005f34: 687b ldr r3, [r7, #4] - 8005f36: 681b ldr r3, [r3, #0] - 8005f38: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 - 8005f3c: d113 bne.n 8005f66 - { - /* USER CODE BEGIN TIM2_MspPostInit 0 */ - - /* USER CODE END TIM2_MspPostInit 0 */ - - __HAL_RCC_GPIOA_CLK_ENABLE(); - 8005f3e: 2001 movs r0, #1 - 8005f40: f7ff fd7f bl 8005a42 - /**TIM2 GPIO Configuration - PA0 ------> TIM2_CH1 - PA1 ------> TIM2_CH2 - PA2 ------> TIM2_CH3 - */ - GPIO_InitStruct.Pin = GPIO_CONNECT_LED_Pin|GPIO_STATUS_LED_Pin|GPIO_DEBUG_LED_Pin; - 8005f44: 2307 movs r3, #7 - 8005f46: 60fb str r3, [r7, #12] - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8005f48: 2302 movs r3, #2 - 8005f4a: 613b str r3, [r7, #16] - GPIO_InitStruct.Pull = GPIO_NOPULL; - 8005f4c: 2300 movs r3, #0 - 8005f4e: 617b str r3, [r7, #20] - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8005f50: 2300 movs r3, #0 - 8005f52: 61bb str r3, [r7, #24] - GPIO_InitStruct.Alternate = GPIO_AF1_TIM2; - 8005f54: 2301 movs r3, #1 - 8005f56: 61fb str r3, [r7, #28] - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 8005f58: f107 030c add.w r3, r7, #12 - 8005f5c: 4619 mov r1, r3 - 8005f5e: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 - 8005f62: f000 fee9 bl 8006d38 - /* USER CODE BEGIN TIM2_MspPostInit 1 */ - - /* USER CODE END TIM2_MspPostInit 1 */ - } - -} - 8005f66: bf00 nop - 8005f68: 3720 adds r7, #32 - 8005f6a: 46bd mov sp, r7 - 8005f6c: bd80 pop {r7, pc} - -08005f6e : { 8005f6e: b480 push {r7} 8005f70: b085 sub sp, #20 8005f72: af00 add r7, sp, #0 8005f74: 6078 str r0, [r7, #4] - SET_BIT(RCC->APB2ENR, Periphs); + __IO uint32_t tmpreg; + SET_BIT(RCC->APB1ENR1, Periphs); 8005f76: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005f7a: 6e1a ldr r2, [r3, #96] @ 0x60 + 8005f7a: 6d9a ldr r2, [r3, #88] @ 0x58 8005f7c: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 8005f80: 687b ldr r3, [r7, #4] 8005f82: 4313 orrs r3, r2 - 8005f84: 660b str r3, [r1, #96] @ 0x60 - tmpreg = READ_BIT(RCC->APB2ENR, Periphs); + 8005f84: 658b str r3, [r1, #88] @ 0x58 + /* Delay after an RCC peripheral clock enabling */ + tmpreg = READ_BIT(RCC->APB1ENR1, Periphs); 8005f86: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8005f8a: 6e1a ldr r2, [r3, #96] @ 0x60 + 8005f8a: 6d9a ldr r2, [r3, #88] @ 0x58 8005f8c: 687b ldr r3, [r7, #4] 8005f8e: 4013 ands r3, r2 8005f90: 60fb str r3, [r7, #12] @@ -12980,59830 +12653,61499 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) 8005f9a: f85d 7b04 ldr.w r7, [sp], #4 8005f9e: 4770 bx lr -08005fa0 : +08005fa0 : + * @arg @ref LL_APB2_GRP1_PERIPH_SAI1 (*) + * @note (*) Not supported by all the devices + * @retval None + */ +__STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs) +{ + 8005fa0: b480 push {r7} + 8005fa2: b085 sub sp, #20 + 8005fa4: af00 add r7, sp, #0 + 8005fa6: 6078 str r0, [r7, #4] + __IO uint32_t tmpreg; + SET_BIT(RCC->APB2ENR, Periphs); + 8005fa8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8005fac: 6e1a ldr r2, [r3, #96] @ 0x60 + 8005fae: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 8005fb2: 687b ldr r3, [r7, #4] + 8005fb4: 4313 orrs r3, r2 + 8005fb6: 660b str r3, [r1, #96] @ 0x60 + /* Delay after an RCC peripheral clock enabling */ + tmpreg = READ_BIT(RCC->APB2ENR, Periphs); + 8005fb8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8005fbc: 6e1a ldr r2, [r3, #96] @ 0x60 + 8005fbe: 687b ldr r3, [r7, #4] + 8005fc0: 4013 ands r3, r2 + 8005fc2: 60fb str r3, [r7, #12] + (void)tmpreg; + 8005fc4: 68fb ldr r3, [r7, #12] +} + 8005fc6: bf00 nop + 8005fc8: 3714 adds r7, #20 + 8005fca: 46bd mov sp, r7 + 8005fcc: f85d 7b04 ldr.w r7, [sp], #4 + 8005fd0: 4770 bx lr + ... + +08005fd4 : +{ + 8005fd4: b480 push {r7} + 8005fd6: b083 sub sp, #12 + 8005fd8: af00 add r7, sp, #0 + 8005fda: 6078 str r0, [r7, #4] + SET_BIT(SYSCFG->CFGR1, ConfigFastModePlus); + 8005fdc: 4b05 ldr r3, [pc, #20] @ (8005ff4 ) + 8005fde: 685a ldr r2, [r3, #4] + 8005fe0: 4904 ldr r1, [pc, #16] @ (8005ff4 ) + 8005fe2: 687b ldr r3, [r7, #4] + 8005fe4: 4313 orrs r3, r2 + 8005fe6: 604b str r3, [r1, #4] +} + 8005fe8: bf00 nop + 8005fea: 370c adds r7, #12 + 8005fec: 46bd mov sp, r7 + 8005fee: f85d 7b04 ldr.w r7, [sp], #4 + 8005ff2: 4770 bx lr + 8005ff4: 40010000 .word 0x40010000 + +08005ff8 : +void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); + /** + * Initializes the Global MSP. + */ +void HAL_MspInit(void) +{ + 8005ff8: b580 push {r7, lr} + 8005ffa: af00 add r7, sp, #0 + + /* USER CODE BEGIN MspInit 0 */ + + /* USER CODE END MspInit 0 */ + + __HAL_RCC_HSEM_CLK_ENABLE(); + 8005ffc: f44f 2000 mov.w r0, #524288 @ 0x80000 + 8006000: f7ff ff9c bl 8005f3c + HAL_PWREx_EnableVddUSB(); + 8006004: f004 ffba bl 800af7c + + /* System interrupt init*/ + /* PendSV_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0); + 8006008: 2200 movs r2, #0 + 800600a: 210f movs r1, #15 + 800600c: f06f 0001 mvn.w r0, #1 + 8006010: f000 fddc bl 8006bcc + + /* Peripheral interrupt init */ + /* HSEM_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(HSEM_IRQn, 5, 0); + 8006014: 2200 movs r2, #0 + 8006016: 2105 movs r1, #5 + 8006018: 202e movs r0, #46 @ 0x2e + 800601a: f000 fdd7 bl 8006bcc + HAL_NVIC_EnableIRQ(HSEM_IRQn); + 800601e: 202e movs r0, #46 @ 0x2e + 8006020: f000 fdee bl 8006c00 + + /* USER CODE BEGIN MspInit 1 */ + + /* USER CODE END MspInit 1 */ +} + 8006024: bf00 nop + 8006026: bd80 pop {r7, pc} + +08006028 : + * This function configures the hardware resources used in this example + * @param hi2c: I2C handle pointer + * @retval None + */ +void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) +{ + 8006028: b580 push {r7, lr} + 800602a: b09c sub sp, #112 @ 0x70 + 800602c: af00 add r7, sp, #0 + 800602e: 6078 str r0, [r7, #4] + GPIO_InitTypeDef GPIO_InitStruct = {0}; + 8006030: f107 035c add.w r3, r7, #92 @ 0x5c + 8006034: 2200 movs r2, #0 + 8006036: 601a str r2, [r3, #0] + 8006038: 605a str r2, [r3, #4] + 800603a: 609a str r2, [r3, #8] + 800603c: 60da str r2, [r3, #12] + 800603e: 611a str r2, [r3, #16] + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + 8006040: f107 030c add.w r3, r7, #12 + 8006044: 2250 movs r2, #80 @ 0x50 + 8006046: 2100 movs r1, #0 + 8006048: 4618 mov r0, r3 + 800604a: f014 f95b bl 801a304 + if(hi2c->Instance==I2C1) + 800604e: 687b ldr r3, [r7, #4] + 8006050: 681b ldr r3, [r3, #0] + 8006052: 4a4d ldr r2, [pc, #308] @ (8006188 ) + 8006054: 4293 cmp r3, r2 + 8006056: f040 8093 bne.w 8006180 + + /* USER CODE END I2C1_MspInit 0 */ + + /** Initializes the peripherals clock + */ + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2C1; + 800605a: 2304 movs r3, #4 + 800605c: 60fb str r3, [r7, #12] + PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1; + 800605e: f44f 3340 mov.w r3, #196608 @ 0x30000 + 8006062: 62fb str r3, [r7, #44] @ 0x2c + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + 8006064: f107 030c add.w r3, r7, #12 + 8006068: 4618 mov r0, r3 + 800606a: f006 faf5 bl 800c658 + 800606e: 4603 mov r3, r0 + 8006070: 2b00 cmp r3, #0 + 8006072: d001 beq.n 8006078 + { + Error_Handler(); + 8006074: f7ff f97e bl 8005374 + } + + __HAL_RCC_GPIOB_CLK_ENABLE(); + 8006078: 2002 movs r0, #2 + 800607a: f7ff ff46 bl 8005f0a + /**I2C1 GPIO Configuration + PB8 ------> I2C1_SCL + PB9 ------> I2C1_SDA + */ + GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9; + 800607e: f44f 7340 mov.w r3, #768 @ 0x300 + 8006082: 65fb str r3, [r7, #92] @ 0x5c + GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; + 8006084: 2312 movs r3, #18 + 8006086: 663b str r3, [r7, #96] @ 0x60 + GPIO_InitStruct.Pull = GPIO_NOPULL; + 8006088: 2300 movs r3, #0 + 800608a: 667b str r3, [r7, #100] @ 0x64 + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + 800608c: 2303 movs r3, #3 + 800608e: 66bb str r3, [r7, #104] @ 0x68 + GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; + 8006090: 2304 movs r3, #4 + 8006092: 66fb str r3, [r7, #108] @ 0x6c + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + 8006094: f107 035c add.w r3, r7, #92 @ 0x5c + 8006098: 4619 mov r1, r3 + 800609a: 483c ldr r0, [pc, #240] @ (800618c ) + 800609c: f001 f928 bl 80072f0 + + __HAL_SYSCFG_FASTMODEPLUS_ENABLE(SYSCFG_FASTMODEPLUS_PB8); + 80060a0: f44f 2080 mov.w r0, #262144 @ 0x40000 + 80060a4: f7ff ff96 bl 8005fd4 + + __HAL_SYSCFG_FASTMODEPLUS_ENABLE(SYSCFG_FASTMODEPLUS_PB9); + 80060a8: f44f 2000 mov.w r0, #524288 @ 0x80000 + 80060ac: f7ff ff92 bl 8005fd4 + + /* Peripheral clock enable */ + __HAL_RCC_I2C1_CLK_ENABLE(); + 80060b0: f44f 1000 mov.w r0, #2097152 @ 0x200000 + 80060b4: f7ff ff5b bl 8005f6e + + /* I2C1 DMA Init */ + /* I2C1_TX Init */ + hdma_i2c1_tx.Instance = DMA1_Channel3; + 80060b8: 4b35 ldr r3, [pc, #212] @ (8006190 ) + 80060ba: 4a36 ldr r2, [pc, #216] @ (8006194 ) + 80060bc: 601a str r2, [r3, #0] + hdma_i2c1_tx.Init.Request = DMA_REQUEST_I2C1_TX; + 80060be: 4b34 ldr r3, [pc, #208] @ (8006190 ) + 80060c0: 220b movs r2, #11 + 80060c2: 605a str r2, [r3, #4] + hdma_i2c1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + 80060c4: 4b32 ldr r3, [pc, #200] @ (8006190 ) + 80060c6: 2210 movs r2, #16 + 80060c8: 609a str r2, [r3, #8] + hdma_i2c1_tx.Init.PeriphInc = DMA_PINC_DISABLE; + 80060ca: 4b31 ldr r3, [pc, #196] @ (8006190 ) + 80060cc: 2200 movs r2, #0 + 80060ce: 60da str r2, [r3, #12] + hdma_i2c1_tx.Init.MemInc = DMA_MINC_ENABLE; + 80060d0: 4b2f ldr r3, [pc, #188] @ (8006190 ) + 80060d2: 2280 movs r2, #128 @ 0x80 + 80060d4: 611a str r2, [r3, #16] + hdma_i2c1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + 80060d6: 4b2e ldr r3, [pc, #184] @ (8006190 ) + 80060d8: 2200 movs r2, #0 + 80060da: 615a str r2, [r3, #20] + hdma_i2c1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + 80060dc: 4b2c ldr r3, [pc, #176] @ (8006190 ) + 80060de: 2200 movs r2, #0 + 80060e0: 619a str r2, [r3, #24] + hdma_i2c1_tx.Init.Mode = DMA_NORMAL; + 80060e2: 4b2b ldr r3, [pc, #172] @ (8006190 ) + 80060e4: 2200 movs r2, #0 + 80060e6: 61da str r2, [r3, #28] + hdma_i2c1_tx.Init.Priority = DMA_PRIORITY_HIGH; + 80060e8: 4b29 ldr r3, [pc, #164] @ (8006190 ) + 80060ea: f44f 5200 mov.w r2, #8192 @ 0x2000 + 80060ee: 621a str r2, [r3, #32] + if (HAL_DMA_Init(&hdma_i2c1_tx) != HAL_OK) + 80060f0: 4827 ldr r0, [pc, #156] @ (8006190 ) + 80060f2: f000 fdbd bl 8006c70 + 80060f6: 4603 mov r3, r0 + 80060f8: 2b00 cmp r3, #0 + 80060fa: d001 beq.n 8006100 + { + Error_Handler(); + 80060fc: f7ff f93a bl 8005374 + } + + __HAL_LINKDMA(hi2c,hdmatx,hdma_i2c1_tx); + 8006100: 687b ldr r3, [r7, #4] + 8006102: 4a23 ldr r2, [pc, #140] @ (8006190 ) + 8006104: 639a str r2, [r3, #56] @ 0x38 + 8006106: 4a22 ldr r2, [pc, #136] @ (8006190 ) + 8006108: 687b ldr r3, [r7, #4] + 800610a: 6293 str r3, [r2, #40] @ 0x28 + + /* I2C1_RX Init */ + hdma_i2c1_rx.Instance = DMA1_Channel4; + 800610c: 4b22 ldr r3, [pc, #136] @ (8006198 ) + 800610e: 4a23 ldr r2, [pc, #140] @ (800619c ) + 8006110: 601a str r2, [r3, #0] + hdma_i2c1_rx.Init.Request = DMA_REQUEST_I2C1_RX; + 8006112: 4b21 ldr r3, [pc, #132] @ (8006198 ) + 8006114: 220a movs r2, #10 + 8006116: 605a str r2, [r3, #4] + hdma_i2c1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + 8006118: 4b1f ldr r3, [pc, #124] @ (8006198 ) + 800611a: 2200 movs r2, #0 + 800611c: 609a str r2, [r3, #8] + hdma_i2c1_rx.Init.PeriphInc = DMA_PINC_DISABLE; + 800611e: 4b1e ldr r3, [pc, #120] @ (8006198 ) + 8006120: 2200 movs r2, #0 + 8006122: 60da str r2, [r3, #12] + hdma_i2c1_rx.Init.MemInc = DMA_MINC_ENABLE; + 8006124: 4b1c ldr r3, [pc, #112] @ (8006198 ) + 8006126: 2280 movs r2, #128 @ 0x80 + 8006128: 611a str r2, [r3, #16] + hdma_i2c1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + 800612a: 4b1b ldr r3, [pc, #108] @ (8006198 ) + 800612c: 2200 movs r2, #0 + 800612e: 615a str r2, [r3, #20] + hdma_i2c1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + 8006130: 4b19 ldr r3, [pc, #100] @ (8006198 ) + 8006132: 2200 movs r2, #0 + 8006134: 619a str r2, [r3, #24] + hdma_i2c1_rx.Init.Mode = DMA_NORMAL; + 8006136: 4b18 ldr r3, [pc, #96] @ (8006198 ) + 8006138: 2200 movs r2, #0 + 800613a: 61da str r2, [r3, #28] + hdma_i2c1_rx.Init.Priority = DMA_PRIORITY_HIGH; + 800613c: 4b16 ldr r3, [pc, #88] @ (8006198 ) + 800613e: f44f 5200 mov.w r2, #8192 @ 0x2000 + 8006142: 621a str r2, [r3, #32] + if (HAL_DMA_Init(&hdma_i2c1_rx) != HAL_OK) + 8006144: 4814 ldr r0, [pc, #80] @ (8006198 ) + 8006146: f000 fd93 bl 8006c70 + 800614a: 4603 mov r3, r0 + 800614c: 2b00 cmp r3, #0 + 800614e: d001 beq.n 8006154 + { + Error_Handler(); + 8006150: f7ff f910 bl 8005374 + } + + __HAL_LINKDMA(hi2c,hdmarx,hdma_i2c1_rx); + 8006154: 687b ldr r3, [r7, #4] + 8006156: 4a10 ldr r2, [pc, #64] @ (8006198 ) + 8006158: 63da str r2, [r3, #60] @ 0x3c + 800615a: 4a0f ldr r2, [pc, #60] @ (8006198 ) + 800615c: 687b ldr r3, [r7, #4] + 800615e: 6293 str r3, [r2, #40] @ 0x28 + + /* I2C1 interrupt Init */ + HAL_NVIC_SetPriority(I2C1_EV_IRQn, 5, 0); + 8006160: 2200 movs r2, #0 + 8006162: 2105 movs r1, #5 + 8006164: 201e movs r0, #30 + 8006166: f000 fd31 bl 8006bcc + HAL_NVIC_EnableIRQ(I2C1_EV_IRQn); + 800616a: 201e movs r0, #30 + 800616c: f000 fd48 bl 8006c00 + HAL_NVIC_SetPriority(I2C1_ER_IRQn, 5, 0); + 8006170: 2200 movs r2, #0 + 8006172: 2105 movs r1, #5 + 8006174: 201f movs r0, #31 + 8006176: f000 fd29 bl 8006bcc + HAL_NVIC_EnableIRQ(I2C1_ER_IRQn); + 800617a: 201f movs r0, #31 + 800617c: f000 fd40 bl 8006c00 + + /* USER CODE END I2C1_MspInit 1 */ + + } + +} + 8006180: bf00 nop + 8006182: 3770 adds r7, #112 @ 0x70 + 8006184: 46bd mov sp, r7 + 8006186: bd80 pop {r7, pc} + 8006188: 40005400 .word 0x40005400 + 800618c: 48000400 .word 0x48000400 + 8006190: 20000408 .word 0x20000408 + 8006194: 40020030 .word 0x40020030 + 8006198: 20000468 .word 0x20000468 + 800619c: 40020044 .word 0x40020044 + +080061a0 : + * This function configures the hardware resources used in this example + * @param hipcc: IPCC handle pointer + * @retval None + */ +void HAL_IPCC_MspInit(IPCC_HandleTypeDef* hipcc) +{ + 80061a0: b580 push {r7, lr} + 80061a2: b082 sub sp, #8 + 80061a4: af00 add r7, sp, #0 + 80061a6: 6078 str r0, [r7, #4] + if(hipcc->Instance==IPCC) + 80061a8: 687b ldr r3, [r7, #4] + 80061aa: 681b ldr r3, [r3, #0] + 80061ac: 4a0d ldr r2, [pc, #52] @ (80061e4 ) + 80061ae: 4293 cmp r3, r2 + 80061b0: d113 bne.n 80061da + { + /* USER CODE BEGIN IPCC_MspInit 0 */ + + /* USER CODE END IPCC_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_IPCC_CLK_ENABLE(); + 80061b2: f44f 1080 mov.w r0, #1048576 @ 0x100000 + 80061b6: f7ff fec1 bl 8005f3c + /* IPCC interrupt Init */ + HAL_NVIC_SetPriority(IPCC_C1_RX_IRQn, 5, 0); + 80061ba: 2200 movs r2, #0 + 80061bc: 2105 movs r1, #5 + 80061be: 202c movs r0, #44 @ 0x2c + 80061c0: f000 fd04 bl 8006bcc + HAL_NVIC_EnableIRQ(IPCC_C1_RX_IRQn); + 80061c4: 202c movs r0, #44 @ 0x2c + 80061c6: f000 fd1b bl 8006c00 + HAL_NVIC_SetPriority(IPCC_C1_TX_IRQn, 5, 0); + 80061ca: 2200 movs r2, #0 + 80061cc: 2105 movs r1, #5 + 80061ce: 202d movs r0, #45 @ 0x2d + 80061d0: f000 fcfc bl 8006bcc + HAL_NVIC_EnableIRQ(IPCC_C1_TX_IRQn); + 80061d4: 202d movs r0, #45 @ 0x2d + 80061d6: f000 fd13 bl 8006c00 + + /* USER CODE END IPCC_MspInit 1 */ + + } + +} + 80061da: bf00 nop + 80061dc: 3708 adds r7, #8 + 80061de: 46bd mov sp, r7 + 80061e0: bd80 pop {r7, pc} + 80061e2: bf00 nop + 80061e4: 58000c00 .word 0x58000c00 + +080061e8 : + * This function configures the hardware resources used in this example + * @param hrtc: RTC handle pointer + * @retval None + */ +void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc) +{ + 80061e8: b580 push {r7, lr} + 80061ea: b096 sub sp, #88 @ 0x58 + 80061ec: af00 add r7, sp, #0 + 80061ee: 6078 str r0, [r7, #4] + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + 80061f0: f107 0308 add.w r3, r7, #8 + 80061f4: 2250 movs r2, #80 @ 0x50 + 80061f6: 2100 movs r1, #0 + 80061f8: 4618 mov r0, r3 + 80061fa: f014 f883 bl 801a304 + if(hrtc->Instance==RTC) + 80061fe: 687b ldr r3, [r7, #4] + 8006200: 681b ldr r3, [r3, #0] + 8006202: 4a13 ldr r2, [pc, #76] @ (8006250 ) + 8006204: 4293 cmp r3, r2 + 8006206: d11f bne.n 8006248 + + /* USER CODE END RTC_MspInit 0 */ + + /** Enable access to the backup domain + */ + HAL_PWR_EnableBkUpAccess(); + 8006208: f004 fe9a bl 800af40 + + /** Initializes the peripherals clock + */ + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC; + 800620c: f44f 6300 mov.w r3, #2048 @ 0x800 + 8006210: 60bb str r3, [r7, #8] + PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI; + 8006212: f44f 7300 mov.w r3, #512 @ 0x200 + 8006216: 64bb str r3, [r7, #72] @ 0x48 + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + 8006218: f107 0308 add.w r3, r7, #8 + 800621c: 4618 mov r0, r3 + 800621e: f006 fa1b bl 800c658 + 8006222: 4603 mov r3, r0 + 8006224: 2b00 cmp r3, #0 + 8006226: d001 beq.n 800622c + { + Error_Handler(); + 8006228: f7ff f8a4 bl 8005374 + } + + /* Peripheral clock enable */ + __HAL_RCC_RTC_ENABLE(); + 800622c: f7ff fe5c bl 8005ee8 + __HAL_RCC_RTCAPB_CLK_ENABLE(); + 8006230: f44f 6080 mov.w r0, #1024 @ 0x400 + 8006234: f7ff fe9b bl 8005f6e + /* RTC interrupt Init */ + HAL_NVIC_SetPriority(RTC_WKUP_IRQn, 5, 0); + 8006238: 2200 movs r2, #0 + 800623a: 2105 movs r1, #5 + 800623c: 2003 movs r0, #3 + 800623e: f000 fcc5 bl 8006bcc + HAL_NVIC_EnableIRQ(RTC_WKUP_IRQn); + 8006242: 2003 movs r0, #3 + 8006244: f000 fcdc bl 8006c00 + + /* USER CODE END RTC_MspInit 1 */ + + } + +} + 8006248: bf00 nop + 800624a: 3758 adds r7, #88 @ 0x58 + 800624c: 46bd mov sp, r7 + 800624e: bd80 pop {r7, pc} + 8006250: 40002800 .word 0x40002800 + +08006254 : + * This function configures the hardware resources used in this example + * @param hspi: SPI handle pointer + * @retval None + */ +void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) +{ + 8006254: b580 push {r7, lr} + 8006256: b088 sub sp, #32 + 8006258: af00 add r7, sp, #0 + 800625a: 6078 str r0, [r7, #4] + GPIO_InitTypeDef GPIO_InitStruct = {0}; + 800625c: f107 030c add.w r3, r7, #12 + 8006260: 2200 movs r2, #0 + 8006262: 601a str r2, [r3, #0] + 8006264: 605a str r2, [r3, #4] + 8006266: 609a str r2, [r3, #8] + 8006268: 60da str r2, [r3, #12] + 800626a: 611a str r2, [r3, #16] + if(hspi->Instance==SPI1) + 800626c: 687b ldr r3, [r7, #4] + 800626e: 681b ldr r3, [r3, #0] + 8006270: 4a5a ldr r2, [pc, #360] @ (80063dc ) + 8006272: 4293 cmp r3, r2 + 8006274: d16c bne.n 8006350 + { + /* USER CODE BEGIN SPI1_MspInit 0 */ + + /* USER CODE END SPI1_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_SPI1_CLK_ENABLE(); + 8006276: f44f 5080 mov.w r0, #4096 @ 0x1000 + 800627a: f7ff fe91 bl 8005fa0 + + __HAL_RCC_GPIOA_CLK_ENABLE(); + 800627e: 2001 movs r0, #1 + 8006280: f7ff fe43 bl 8005f0a + /**SPI1 GPIO Configuration + PA5 ------> SPI1_SCK + PA6 ------> SPI1_MISO + PA7 ------> SPI1_MOSI + */ + GPIO_InitStruct.Pin = SPI1_IMU_SCK_Pin|SPI1_IMU_MISO_Pin|SPI1_IMU_MOSI_Pin; + 8006284: 23e0 movs r3, #224 @ 0xe0 + 8006286: 60fb str r3, [r7, #12] + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + 8006288: 2302 movs r3, #2 + 800628a: 613b str r3, [r7, #16] + GPIO_InitStruct.Pull = GPIO_NOPULL; + 800628c: 2300 movs r3, #0 + 800628e: 617b str r3, [r7, #20] + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + 8006290: 2302 movs r3, #2 + 8006292: 61bb str r3, [r7, #24] + GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; + 8006294: 2305 movs r3, #5 + 8006296: 61fb str r3, [r7, #28] + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 8006298: f107 030c add.w r3, r7, #12 + 800629c: 4619 mov r1, r3 + 800629e: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 + 80062a2: f001 f825 bl 80072f0 + + /* SPI1 DMA Init */ + /* SPI1_TX Init */ + hdma_spi1_tx.Instance = DMA1_Channel1; + 80062a6: 4b4e ldr r3, [pc, #312] @ (80063e0 ) + 80062a8: 4a4e ldr r2, [pc, #312] @ (80063e4 ) + 80062aa: 601a str r2, [r3, #0] + hdma_spi1_tx.Init.Request = DMA_REQUEST_SPI1_TX; + 80062ac: 4b4c ldr r3, [pc, #304] @ (80063e0 ) + 80062ae: 2207 movs r2, #7 + 80062b0: 605a str r2, [r3, #4] + hdma_spi1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + 80062b2: 4b4b ldr r3, [pc, #300] @ (80063e0 ) + 80062b4: 2210 movs r2, #16 + 80062b6: 609a str r2, [r3, #8] + hdma_spi1_tx.Init.PeriphInc = DMA_PINC_DISABLE; + 80062b8: 4b49 ldr r3, [pc, #292] @ (80063e0 ) + 80062ba: 2200 movs r2, #0 + 80062bc: 60da str r2, [r3, #12] + hdma_spi1_tx.Init.MemInc = DMA_MINC_ENABLE; + 80062be: 4b48 ldr r3, [pc, #288] @ (80063e0 ) + 80062c0: 2280 movs r2, #128 @ 0x80 + 80062c2: 611a str r2, [r3, #16] + hdma_spi1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + 80062c4: 4b46 ldr r3, [pc, #280] @ (80063e0 ) + 80062c6: 2200 movs r2, #0 + 80062c8: 615a str r2, [r3, #20] + hdma_spi1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + 80062ca: 4b45 ldr r3, [pc, #276] @ (80063e0 ) + 80062cc: 2200 movs r2, #0 + 80062ce: 619a str r2, [r3, #24] + hdma_spi1_tx.Init.Mode = DMA_NORMAL; + 80062d0: 4b43 ldr r3, [pc, #268] @ (80063e0 ) + 80062d2: 2200 movs r2, #0 + 80062d4: 61da str r2, [r3, #28] + hdma_spi1_tx.Init.Priority = DMA_PRIORITY_HIGH; + 80062d6: 4b42 ldr r3, [pc, #264] @ (80063e0 ) + 80062d8: f44f 5200 mov.w r2, #8192 @ 0x2000 + 80062dc: 621a str r2, [r3, #32] + if (HAL_DMA_Init(&hdma_spi1_tx) != HAL_OK) + 80062de: 4840 ldr r0, [pc, #256] @ (80063e0 ) + 80062e0: f000 fcc6 bl 8006c70 + 80062e4: 4603 mov r3, r0 + 80062e6: 2b00 cmp r3, #0 + 80062e8: d001 beq.n 80062ee + { + Error_Handler(); + 80062ea: f7ff f843 bl 8005374 + } + + __HAL_LINKDMA(hspi,hdmatx,hdma_spi1_tx); + 80062ee: 687b ldr r3, [r7, #4] + 80062f0: 4a3b ldr r2, [pc, #236] @ (80063e0 ) + 80062f2: 655a str r2, [r3, #84] @ 0x54 + 80062f4: 4a3a ldr r2, [pc, #232] @ (80063e0 ) + 80062f6: 687b ldr r3, [r7, #4] + 80062f8: 6293 str r3, [r2, #40] @ 0x28 + + /* SPI1_RX Init */ + hdma_spi1_rx.Instance = DMA1_Channel2; + 80062fa: 4b3b ldr r3, [pc, #236] @ (80063e8 ) + 80062fc: 4a3b ldr r2, [pc, #236] @ (80063ec ) + 80062fe: 601a str r2, [r3, #0] + hdma_spi1_rx.Init.Request = DMA_REQUEST_SPI1_RX; + 8006300: 4b39 ldr r3, [pc, #228] @ (80063e8 ) + 8006302: 2206 movs r2, #6 + 8006304: 605a str r2, [r3, #4] + hdma_spi1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + 8006306: 4b38 ldr r3, [pc, #224] @ (80063e8 ) + 8006308: 2200 movs r2, #0 + 800630a: 609a str r2, [r3, #8] + hdma_spi1_rx.Init.PeriphInc = DMA_PINC_DISABLE; + 800630c: 4b36 ldr r3, [pc, #216] @ (80063e8 ) + 800630e: 2200 movs r2, #0 + 8006310: 60da str r2, [r3, #12] + hdma_spi1_rx.Init.MemInc = DMA_MINC_ENABLE; + 8006312: 4b35 ldr r3, [pc, #212] @ (80063e8 ) + 8006314: 2280 movs r2, #128 @ 0x80 + 8006316: 611a str r2, [r3, #16] + hdma_spi1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + 8006318: 4b33 ldr r3, [pc, #204] @ (80063e8 ) + 800631a: 2200 movs r2, #0 + 800631c: 615a str r2, [r3, #20] + hdma_spi1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + 800631e: 4b32 ldr r3, [pc, #200] @ (80063e8 ) + 8006320: 2200 movs r2, #0 + 8006322: 619a str r2, [r3, #24] + hdma_spi1_rx.Init.Mode = DMA_NORMAL; + 8006324: 4b30 ldr r3, [pc, #192] @ (80063e8 ) + 8006326: 2200 movs r2, #0 + 8006328: 61da str r2, [r3, #28] + hdma_spi1_rx.Init.Priority = DMA_PRIORITY_HIGH; + 800632a: 4b2f ldr r3, [pc, #188] @ (80063e8 ) + 800632c: f44f 5200 mov.w r2, #8192 @ 0x2000 + 8006330: 621a str r2, [r3, #32] + if (HAL_DMA_Init(&hdma_spi1_rx) != HAL_OK) + 8006332: 482d ldr r0, [pc, #180] @ (80063e8 ) + 8006334: f000 fc9c bl 8006c70 + 8006338: 4603 mov r3, r0 + 800633a: 2b00 cmp r3, #0 + 800633c: d001 beq.n 8006342 + { + Error_Handler(); + 800633e: f7ff f819 bl 8005374 + } + + __HAL_LINKDMA(hspi,hdmarx,hdma_spi1_rx); + 8006342: 687b ldr r3, [r7, #4] + 8006344: 4a28 ldr r2, [pc, #160] @ (80063e8 ) + 8006346: 659a str r2, [r3, #88] @ 0x58 + 8006348: 4a27 ldr r2, [pc, #156] @ (80063e8 ) + 800634a: 687b ldr r3, [r7, #4] + 800634c: 6293 str r3, [r2, #40] @ 0x28 + /* USER CODE BEGIN SPI2_MspInit 1 */ + + /* USER CODE END SPI2_MspInit 1 */ + } + +} + 800634e: e040 b.n 80063d2 + else if(hspi->Instance==SPI2) + 8006350: 687b ldr r3, [r7, #4] + 8006352: 681b ldr r3, [r3, #0] + 8006354: 4a26 ldr r2, [pc, #152] @ (80063f0 ) + 8006356: 4293 cmp r3, r2 + 8006358: d13b bne.n 80063d2 + __HAL_RCC_SPI2_CLK_ENABLE(); + 800635a: f44f 4080 mov.w r0, #16384 @ 0x4000 + 800635e: f7ff fe06 bl 8005f6e + __HAL_RCC_GPIOC_CLK_ENABLE(); + 8006362: 2004 movs r0, #4 + 8006364: f7ff fdd1 bl 8005f0a + __HAL_RCC_GPIOA_CLK_ENABLE(); + 8006368: 2001 movs r0, #1 + 800636a: f7ff fdce bl 8005f0a + GPIO_InitStruct.Pin = SPI2_SD_MOSI_Pin; + 800636e: 2302 movs r3, #2 + 8006370: 60fb str r3, [r7, #12] + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + 8006372: 2302 movs r3, #2 + 8006374: 613b str r3, [r7, #16] + GPIO_InitStruct.Pull = GPIO_NOPULL; + 8006376: 2300 movs r3, #0 + 8006378: 617b str r3, [r7, #20] + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + 800637a: 2303 movs r3, #3 + 800637c: 61bb str r3, [r7, #24] + GPIO_InitStruct.Alternate = GPIO_AF3_SPI2; + 800637e: 2303 movs r3, #3 + 8006380: 61fb str r3, [r7, #28] + HAL_GPIO_Init(SPI2_SD_MOSI_GPIO_Port, &GPIO_InitStruct); + 8006382: f107 030c add.w r3, r7, #12 + 8006386: 4619 mov r1, r3 + 8006388: 481a ldr r0, [pc, #104] @ (80063f4 ) + 800638a: f000 ffb1 bl 80072f0 + GPIO_InitStruct.Pin = SPI2_SD_MISO_Pin; + 800638e: 2304 movs r3, #4 + 8006390: 60fb str r3, [r7, #12] + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + 8006392: 2302 movs r3, #2 + 8006394: 613b str r3, [r7, #16] + GPIO_InitStruct.Pull = GPIO_NOPULL; + 8006396: 2300 movs r3, #0 + 8006398: 617b str r3, [r7, #20] + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + 800639a: 2303 movs r3, #3 + 800639c: 61bb str r3, [r7, #24] + GPIO_InitStruct.Alternate = GPIO_AF5_SPI2; + 800639e: 2305 movs r3, #5 + 80063a0: 61fb str r3, [r7, #28] + HAL_GPIO_Init(SPI2_SD_MISO_GPIO_Port, &GPIO_InitStruct); + 80063a2: f107 030c add.w r3, r7, #12 + 80063a6: 4619 mov r1, r3 + 80063a8: 4812 ldr r0, [pc, #72] @ (80063f4 ) + 80063aa: f000 ffa1 bl 80072f0 + GPIO_InitStruct.Pin = SPI2_SD_SCK_Pin; + 80063ae: f44f 7300 mov.w r3, #512 @ 0x200 + 80063b2: 60fb str r3, [r7, #12] + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + 80063b4: 2302 movs r3, #2 + 80063b6: 613b str r3, [r7, #16] + GPIO_InitStruct.Pull = GPIO_NOPULL; + 80063b8: 2300 movs r3, #0 + 80063ba: 617b str r3, [r7, #20] + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + 80063bc: 2303 movs r3, #3 + 80063be: 61bb str r3, [r7, #24] + GPIO_InitStruct.Alternate = GPIO_AF5_SPI2; + 80063c0: 2305 movs r3, #5 + 80063c2: 61fb str r3, [r7, #28] + HAL_GPIO_Init(SPI2_SD_SCK_GPIO_Port, &GPIO_InitStruct); + 80063c4: f107 030c add.w r3, r7, #12 + 80063c8: 4619 mov r1, r3 + 80063ca: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 + 80063ce: f000 ff8f bl 80072f0 +} + 80063d2: bf00 nop + 80063d4: 3720 adds r7, #32 + 80063d6: 46bd mov sp, r7 + 80063d8: bd80 pop {r7, pc} + 80063da: bf00 nop + 80063dc: 40013000 .word 0x40013000 + 80063e0: 200005f0 .word 0x200005f0 + 80063e4: 40020008 .word 0x40020008 + 80063e8: 20000650 .word 0x20000650 + 80063ec: 4002001c .word 0x4002001c + 80063f0: 40003800 .word 0x40003800 + 80063f4: 48000800 .word 0x48000800 + +080063f8 : + * This function configures the hardware resources used in this example + * @param htim_pwm: TIM_PWM handle pointer + * @retval None + */ +void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm) +{ + 80063f8: b580 push {r7, lr} + 80063fa: b082 sub sp, #8 + 80063fc: af00 add r7, sp, #0 + 80063fe: 6078 str r0, [r7, #4] + if(htim_pwm->Instance==TIM2) + 8006400: 687b ldr r3, [r7, #4] + 8006402: 681b ldr r3, [r3, #0] + 8006404: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 + 8006408: d102 bne.n 8006410 + { + /* USER CODE BEGIN TIM2_MspInit 0 */ + + /* USER CODE END TIM2_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM2_CLK_ENABLE(); + 800640a: 2001 movs r0, #1 + 800640c: f7ff fdaf bl 8005f6e + + /* USER CODE END TIM2_MspInit 1 */ + + } + +} + 8006410: bf00 nop + 8006412: 3708 adds r7, #8 + 8006414: 46bd mov sp, r7 + 8006416: bd80 pop {r7, pc} + +08006418 : + +void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) +{ + 8006418: b580 push {r7, lr} + 800641a: b088 sub sp, #32 + 800641c: af00 add r7, sp, #0 + 800641e: 6078 str r0, [r7, #4] + GPIO_InitTypeDef GPIO_InitStruct = {0}; + 8006420: f107 030c add.w r3, r7, #12 + 8006424: 2200 movs r2, #0 + 8006426: 601a str r2, [r3, #0] + 8006428: 605a str r2, [r3, #4] + 800642a: 609a str r2, [r3, #8] + 800642c: 60da str r2, [r3, #12] + 800642e: 611a str r2, [r3, #16] + if(htim->Instance==TIM2) + 8006430: 687b ldr r3, [r7, #4] + 8006432: 681b ldr r3, [r3, #0] + 8006434: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 + 8006438: d113 bne.n 8006462 + { + /* USER CODE BEGIN TIM2_MspPostInit 0 */ + + /* USER CODE END TIM2_MspPostInit 0 */ + + __HAL_RCC_GPIOA_CLK_ENABLE(); + 800643a: 2001 movs r0, #1 + 800643c: f7ff fd65 bl 8005f0a + /**TIM2 GPIO Configuration + PA0 ------> TIM2_CH1 + PA1 ------> TIM2_CH2 + PA2 ------> TIM2_CH3 + */ + GPIO_InitStruct.Pin = GPIO_CONNECT_LED_Pin|GPIO_STATUS_LED_Pin|GPIO_DEBUG_LED_Pin; + 8006440: 2307 movs r3, #7 + 8006442: 60fb str r3, [r7, #12] + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + 8006444: 2302 movs r3, #2 + 8006446: 613b str r3, [r7, #16] + GPIO_InitStruct.Pull = GPIO_NOPULL; + 8006448: 2300 movs r3, #0 + 800644a: 617b str r3, [r7, #20] + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + 800644c: 2300 movs r3, #0 + 800644e: 61bb str r3, [r7, #24] + GPIO_InitStruct.Alternate = GPIO_AF1_TIM2; + 8006450: 2301 movs r3, #1 + 8006452: 61fb str r3, [r7, #28] + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 8006454: f107 030c add.w r3, r7, #12 + 8006458: 4619 mov r1, r3 + 800645a: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 + 800645e: f000 ff47 bl 80072f0 + /* USER CODE BEGIN TIM2_MspPostInit 1 */ + + /* USER CODE END TIM2_MspPostInit 1 */ + } + +} + 8006462: bf00 nop + 8006464: 3720 adds r7, #32 + 8006466: 46bd mov sp, r7 + 8006468: bd80 pop {r7, pc} + +0800646a : +{ + 800646a: b480 push {r7} + 800646c: b085 sub sp, #20 + 800646e: af00 add r7, sp, #0 + 8006470: 6078 str r0, [r7, #4] + SET_BIT(RCC->APB2ENR, Periphs); + 8006472: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8006476: 6e1a ldr r2, [r3, #96] @ 0x60 + 8006478: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800647c: 687b ldr r3, [r7, #4] + 800647e: 4313 orrs r3, r2 + 8006480: 660b str r3, [r1, #96] @ 0x60 + tmpreg = READ_BIT(RCC->APB2ENR, Periphs); + 8006482: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8006486: 6e1a ldr r2, [r3, #96] @ 0x60 + 8006488: 687b ldr r3, [r7, #4] + 800648a: 4013 ands r3, r2 + 800648c: 60fb str r3, [r7, #12] + (void)tmpreg; + 800648e: 68fb ldr r3, [r7, #12] +} + 8006490: bf00 nop + 8006492: 3714 adds r7, #20 + 8006494: 46bd mov sp, r7 + 8006496: f85d 7b04 ldr.w r7, [sp], #4 + 800649a: 4770 bx lr + +0800649c : * reset by HAL_Init() or at any time when clock is configured, by HAL_RCC_ClockConfig(). * @param TickPriority: Tick interrupt priority. * @retval HAL status */ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { - 8005fa0: b580 push {r7, lr} - 8005fa2: b08e sub sp, #56 @ 0x38 - 8005fa4: af00 add r7, sp, #0 - 8005fa6: 6078 str r0, [r7, #4] + 800649c: b580 push {r7, lr} + 800649e: b08e sub sp, #56 @ 0x38 + 80064a0: af00 add r7, sp, #0 + 80064a2: 6078 str r0, [r7, #4] RCC_ClkInitTypeDef clkconfig; uint32_t uwTimclock = 0; - 8005fa8: 2300 movs r3, #0 - 8005faa: 633b str r3, [r7, #48] @ 0x30 + 80064a4: 2300 movs r3, #0 + 80064a6: 633b str r3, [r7, #48] @ 0x30 uint32_t uwPrescalerValue = 0; - 8005fac: 2300 movs r3, #0 - 8005fae: 62fb str r3, [r7, #44] @ 0x2c + 80064a8: 2300 movs r3, #0 + 80064aa: 62fb str r3, [r7, #44] @ 0x2c uint32_t pFLatency; HAL_StatusTypeDef status = HAL_OK; - 8005fb0: 2300 movs r3, #0 - 8005fb2: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 80064ac: 2300 movs r3, #0 + 80064ae: f887 3037 strb.w r3, [r7, #55] @ 0x37 /*Configure the TIM16 IRQ priority */ HAL_NVIC_SetPriority(TIM1_UP_TIM16_IRQn, TickPriority ,0); - 8005fb6: 2200 movs r2, #0 - 8005fb8: 6879 ldr r1, [r7, #4] - 8005fba: 2019 movs r0, #25 - 8005fbc: f000 fb88 bl 80066d0 + 80064b2: 2200 movs r2, #0 + 80064b4: 6879 ldr r1, [r7, #4] + 80064b6: 2019 movs r0, #25 + 80064b8: f000 fb88 bl 8006bcc /* Enable the TIM16 global Interrupt */ HAL_NVIC_EnableIRQ(TIM1_UP_TIM16_IRQn); - 8005fc0: 2019 movs r0, #25 - 8005fc2: f000 fb9f bl 8006704 + 80064bc: 2019 movs r0, #25 + 80064be: f000 fb9f bl 8006c00 /* Enable TIM16 clock */ __HAL_RCC_TIM16_CLK_ENABLE(); - 8005fc6: f44f 3000 mov.w r0, #131072 @ 0x20000 - 8005fca: f7ff ffd0 bl 8005f6e + 80064c2: f44f 3000 mov.w r0, #131072 @ 0x20000 + 80064c6: f7ff ffd0 bl 800646a /* Get clock configuration */ HAL_RCC_GetClockConfig(&clkconfig, &pFLatency); - 8005fce: f107 020c add.w r2, r7, #12 - 8005fd2: f107 0310 add.w r3, r7, #16 - 8005fd6: 4611 mov r1, r2 - 8005fd8: 4618 mov r0, r3 - 8005fda: f005 fdcf bl 800bb7c + 80064ca: f107 020c add.w r2, r7, #12 + 80064ce: f107 0310 add.w r3, r7, #16 + 80064d2: 4611 mov r1, r2 + 80064d4: 4618 mov r0, r3 + 80064d6: f005 fe2d bl 800c134 /* Compute TIM16 clock */ uwTimclock = HAL_RCC_GetPCLK2Freq(); - 8005fde: f005 fdb7 bl 800bb50 - 8005fe2: 6338 str r0, [r7, #48] @ 0x30 + 80064da: f005 fe15 bl 800c108 + 80064de: 6338 str r0, [r7, #48] @ 0x30 /* Compute the prescaler value to have TIM16 counter clock equal to 1MHz */ uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000U) - 1U); - 8005fe4: 6b3b ldr r3, [r7, #48] @ 0x30 - 8005fe6: 4a21 ldr r2, [pc, #132] @ (800606c ) - 8005fe8: fba2 2303 umull r2, r3, r2, r3 - 8005fec: 0c9b lsrs r3, r3, #18 - 8005fee: 3b01 subs r3, #1 - 8005ff0: 62fb str r3, [r7, #44] @ 0x2c + 80064e0: 6b3b ldr r3, [r7, #48] @ 0x30 + 80064e2: 4a21 ldr r2, [pc, #132] @ (8006568 ) + 80064e4: fba2 2303 umull r2, r3, r2, r3 + 80064e8: 0c9b lsrs r3, r3, #18 + 80064ea: 3b01 subs r3, #1 + 80064ec: 62fb str r3, [r7, #44] @ 0x2c /* Initialize TIM16 */ htim16.Instance = TIM16; - 8005ff2: 4b1f ldr r3, [pc, #124] @ (8006070 ) - 8005ff4: 4a1f ldr r2, [pc, #124] @ (8006074 ) - 8005ff6: 601a str r2, [r3, #0] + 80064ee: 4b1f ldr r3, [pc, #124] @ (800656c ) + 80064f0: 4a1f ldr r2, [pc, #124] @ (8006570 ) + 80064f2: 601a str r2, [r3, #0] * Period = [(TIM16CLK/1000) - 1]. to have a (1/1000) s time base. * Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock. * ClockDivision = 0 * Counter direction = Up */ htim16.Init.Period = (1000000U / 1000U) - 1U; - 8005ff8: 4b1d ldr r3, [pc, #116] @ (8006070 ) - 8005ffa: f240 32e7 movw r2, #999 @ 0x3e7 - 8005ffe: 60da str r2, [r3, #12] + 80064f4: 4b1d ldr r3, [pc, #116] @ (800656c ) + 80064f6: f240 32e7 movw r2, #999 @ 0x3e7 + 80064fa: 60da str r2, [r3, #12] htim16.Init.Prescaler = uwPrescalerValue; - 8006000: 4a1b ldr r2, [pc, #108] @ (8006070 ) - 8006002: 6afb ldr r3, [r7, #44] @ 0x2c - 8006004: 6053 str r3, [r2, #4] + 80064fc: 4a1b ldr r2, [pc, #108] @ (800656c ) + 80064fe: 6afb ldr r3, [r7, #44] @ 0x2c + 8006500: 6053 str r3, [r2, #4] htim16.Init.ClockDivision = 0; - 8006006: 4b1a ldr r3, [pc, #104] @ (8006070 ) - 8006008: 2200 movs r2, #0 - 800600a: 611a str r2, [r3, #16] + 8006502: 4b1a ldr r3, [pc, #104] @ (800656c ) + 8006504: 2200 movs r2, #0 + 8006506: 611a str r2, [r3, #16] htim16.Init.CounterMode = TIM_COUNTERMODE_UP; - 800600c: 4b18 ldr r3, [pc, #96] @ (8006070 ) - 800600e: 2200 movs r2, #0 - 8006010: 609a str r2, [r3, #8] + 8006508: 4b18 ldr r3, [pc, #96] @ (800656c ) + 800650a: 2200 movs r2, #0 + 800650c: 609a str r2, [r3, #8] status = HAL_TIM_Base_Init(&htim16); - 8006012: 4817 ldr r0, [pc, #92] @ (8006070 ) - 8006014: f007 fd24 bl 800da60 - 8006018: 4603 mov r3, r0 - 800601a: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 800650e: 4817 ldr r0, [pc, #92] @ (800656c ) + 8006510: f007 ffa4 bl 800e45c + 8006514: 4603 mov r3, r0 + 8006516: f887 3037 strb.w r3, [r7, #55] @ 0x37 if (status == HAL_OK) - 800601e: f897 3037 ldrb.w r3, [r7, #55] @ 0x37 - 8006022: 2b00 cmp r3, #0 - 8006024: d11b bne.n 800605e + 800651a: f897 3037 ldrb.w r3, [r7, #55] @ 0x37 + 800651e: 2b00 cmp r3, #0 + 8006520: d11b bne.n 800655a /* Register callback */ HAL_TIM_RegisterCallback(&htim16, HAL_TIM_PERIOD_ELAPSED_CB_ID, TimeBase_TIM_PeriodElapsedCallback); #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ /* Start the TIM time Base generation in interrupt mode */ status = HAL_TIM_Base_Start_IT(&htim16); - 8006026: 4812 ldr r0, [pc, #72] @ (8006070 ) - 8006028: f007 fd7c bl 800db24 - 800602c: 4603 mov r3, r0 - 800602e: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 8006522: 4812 ldr r0, [pc, #72] @ (800656c ) + 8006524: f007 fffc bl 800e520 + 8006528: 4603 mov r3, r0 + 800652a: f887 3037 strb.w r3, [r7, #55] @ 0x37 if (status == HAL_OK) - 8006032: f897 3037 ldrb.w r3, [r7, #55] @ 0x37 - 8006036: 2b00 cmp r3, #0 - 8006038: d111 bne.n 800605e + 800652e: f897 3037 ldrb.w r3, [r7, #55] @ 0x37 + 8006532: 2b00 cmp r3, #0 + 8006534: d111 bne.n 800655a { /* Enable the TIM16 global Interrupt */ HAL_NVIC_EnableIRQ(TIM1_UP_TIM16_IRQn); - 800603a: 2019 movs r0, #25 - 800603c: f000 fb62 bl 8006704 + 8006536: 2019 movs r0, #25 + 8006538: f000 fb62 bl 8006c00 /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) - 8006040: 687b ldr r3, [r7, #4] - 8006042: 2b0f cmp r3, #15 - 8006044: d808 bhi.n 8006058 + 800653c: 687b ldr r3, [r7, #4] + 800653e: 2b0f cmp r3, #15 + 8006540: d808 bhi.n 8006554 { /* Configure the TIM IRQ priority */ HAL_NVIC_SetPriority(TIM1_UP_TIM16_IRQn, TickPriority, 0U); - 8006046: 2200 movs r2, #0 - 8006048: 6879 ldr r1, [r7, #4] - 800604a: 2019 movs r0, #25 - 800604c: f000 fb40 bl 80066d0 + 8006542: 2200 movs r2, #0 + 8006544: 6879 ldr r1, [r7, #4] + 8006546: 2019 movs r0, #25 + 8006548: f000 fb40 bl 8006bcc uwTickPrio = TickPriority; - 8006050: 4a09 ldr r2, [pc, #36] @ (8006078 ) - 8006052: 687b ldr r3, [r7, #4] - 8006054: 6013 str r3, [r2, #0] - 8006056: e002 b.n 800605e + 800654c: 4a09 ldr r2, [pc, #36] @ (8006574 ) + 800654e: 687b ldr r3, [r7, #4] + 8006550: 6013 str r3, [r2, #0] + 8006552: e002 b.n 800655a } else { status = HAL_ERROR; - 8006058: 2301 movs r3, #1 - 800605a: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 8006554: 2301 movs r3, #1 + 8006556: f887 3037 strb.w r3, [r7, #55] @ 0x37 } } } /* Return function status */ return status; - 800605e: f897 3037 ldrb.w r3, [r7, #55] @ 0x37 + 800655a: f897 3037 ldrb.w r3, [r7, #55] @ 0x37 } - 8006062: 4618 mov r0, r3 - 8006064: 3738 adds r7, #56 @ 0x38 - 8006066: 46bd mov sp, r7 - 8006068: bd80 pop {r7, pc} - 800606a: bf00 nop - 800606c: 431bde83 .word 0x431bde83 - 8006070: 20000730 .word 0x20000730 - 8006074: 40014400 .word 0x40014400 - 8006078: 20000010 .word 0x20000010 + 800655e: 4618 mov r0, r3 + 8006560: 3738 adds r7, #56 @ 0x38 + 8006562: 46bd mov sp, r7 + 8006564: bd80 pop {r7, pc} + 8006566: bf00 nop + 8006568: 431bde83 .word 0x431bde83 + 800656c: 20000730 .word 0x20000730 + 8006570: 40014400 .word 0x40014400 + 8006574: 20000010 .word 0x20000010 -0800607c : +08006578 : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { - 800607c: b480 push {r7} - 800607e: af00 add r7, sp, #0 + 8006578: b480 push {r7} + 800657a: af00 add r7, sp, #0 /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ /* USER CODE END NonMaskableInt_IRQn 0 */ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ while (1) - 8006080: bf00 nop - 8006082: e7fd b.n 8006080 + 800657c: bf00 nop + 800657e: e7fd b.n 800657c -08006084 : +08006580 : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { - 8006084: b480 push {r7} - 8006086: af00 add r7, sp, #0 + 8006580: b480 push {r7} + 8006582: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) - 8006088: bf00 nop - 800608a: e7fd b.n 8006088 + 8006584: bf00 nop + 8006586: e7fd b.n 8006584 -0800608c : +08006588 : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { - 800608c: b480 push {r7} - 800608e: af00 add r7, sp, #0 + 8006588: b480 push {r7} + 800658a: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) - 8006090: bf00 nop - 8006092: e7fd b.n 8006090 + 800658c: bf00 nop + 800658e: e7fd b.n 800658c -08006094 : +08006590 : /** * @brief This function handles Prefetch fault, memory access fault. */ void BusFault_Handler(void) { - 8006094: b480 push {r7} - 8006096: af00 add r7, sp, #0 + 8006590: b480 push {r7} + 8006592: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) - 8006098: bf00 nop - 800609a: e7fd b.n 8006098 + 8006594: bf00 nop + 8006596: e7fd b.n 8006594 -0800609c : +08006598 : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { - 800609c: b480 push {r7} - 800609e: af00 add r7, sp, #0 + 8006598: b480 push {r7} + 800659a: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) - 80060a0: bf00 nop - 80060a2: e7fd b.n 80060a0 + 800659c: bf00 nop + 800659e: e7fd b.n 800659c -080060a4 : +080065a0 : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { - 80060a4: b480 push {r7} - 80060a6: af00 add r7, sp, #0 + 80065a0: b480 push {r7} + 80065a2: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } - 80060a8: bf00 nop - 80060aa: 46bd mov sp, r7 - 80060ac: f85d 7b04 ldr.w r7, [sp], #4 - 80060b0: 4770 bx lr + 80065a4: bf00 nop + 80065a6: 46bd mov sp, r7 + 80065a8: f85d 7b04 ldr.w r7, [sp], #4 + 80065ac: 4770 bx lr -080060b2 : +080065ae : /** * @brief This function handles RTC wake-up interrupt through EXTI line 19. */ void RTC_WKUP_IRQHandler(void) { - 80060b2: b580 push {r7, lr} - 80060b4: af00 add r7, sp, #0 + 80065ae: b580 push {r7, lr} + 80065b0: af00 add r7, sp, #0 /* USER CODE BEGIN RTC_WKUP_IRQn 0 */ /* USER CODE END RTC_WKUP_IRQn 0 */ HAL_RTCEx_WakeUpTimerIRQHandler(&hrtc); - 80060b6: f7fd fff1 bl 800409c + 80065b2: f7fd fdff bl 80041b4 /* USER CODE BEGIN RTC_WKUP_IRQn 1 */ /* USER CODE END RTC_WKUP_IRQn 1 */ } - 80060ba: bf00 nop - 80060bc: bd80 pop {r7, pc} + 80065b6: bf00 nop + 80065b8: bd80 pop {r7, pc} ... -080060c0 : +080065bc : /** * @brief This function handles DMA1 channel1 global interrupt. */ void DMA1_Channel1_IRQHandler(void) { - 80060c0: b580 push {r7, lr} - 80060c2: af00 add r7, sp, #0 + 80065bc: b580 push {r7, lr} + 80065be: af00 add r7, sp, #0 /* USER CODE BEGIN DMA1_Channel1_IRQn 0 */ /* USER CODE END DMA1_Channel1_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_spi1_tx); - 80060c4: 4802 ldr r0, [pc, #8] @ (80060d0 ) - 80060c6: f000 fcd7 bl 8006a78 + 80065c0: 4802 ldr r0, [pc, #8] @ (80065cc ) + 80065c2: f000 fd36 bl 8007032 /* USER CODE BEGIN DMA1_Channel1_IRQn 1 */ /* USER CODE END DMA1_Channel1_IRQn 1 */ } - 80060ca: bf00 nop - 80060cc: bd80 pop {r7, pc} - 80060ce: bf00 nop - 80060d0: 200005f0 .word 0x200005f0 + 80065c6: bf00 nop + 80065c8: bd80 pop {r7, pc} + 80065ca: bf00 nop + 80065cc: 200005f0 .word 0x200005f0 -080060d4 : +080065d0 : /** * @brief This function handles DMA1 channel2 global interrupt. */ void DMA1_Channel2_IRQHandler(void) { - 80060d4: b580 push {r7, lr} - 80060d6: af00 add r7, sp, #0 + 80065d0: b580 push {r7, lr} + 80065d2: af00 add r7, sp, #0 /* USER CODE BEGIN DMA1_Channel2_IRQn 0 */ /* USER CODE END DMA1_Channel2_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_spi1_rx); - 80060d8: 4802 ldr r0, [pc, #8] @ (80060e4 ) - 80060da: f000 fccd bl 8006a78 + 80065d4: 4802 ldr r0, [pc, #8] @ (80065e0 ) + 80065d6: f000 fd2c bl 8007032 /* USER CODE BEGIN DMA1_Channel2_IRQn 1 */ /* USER CODE END DMA1_Channel2_IRQn 1 */ } - 80060de: bf00 nop - 80060e0: bd80 pop {r7, pc} - 80060e2: bf00 nop - 80060e4: 20000650 .word 0x20000650 + 80065da: bf00 nop + 80065dc: bd80 pop {r7, pc} + 80065de: bf00 nop + 80065e0: 20000650 .word 0x20000650 -080060e8 : +080065e4 : /** * @brief This function handles DMA1 channel3 global interrupt. */ void DMA1_Channel3_IRQHandler(void) { - 80060e8: b580 push {r7, lr} - 80060ea: af00 add r7, sp, #0 + 80065e4: b580 push {r7, lr} + 80065e6: af00 add r7, sp, #0 /* USER CODE BEGIN DMA1_Channel3_IRQn 0 */ /* USER CODE END DMA1_Channel3_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_i2c1_tx); - 80060ec: 4802 ldr r0, [pc, #8] @ (80060f8 ) - 80060ee: f000 fcc3 bl 8006a78 + 80065e8: 4802 ldr r0, [pc, #8] @ (80065f4 ) + 80065ea: f000 fd22 bl 8007032 /* USER CODE BEGIN DMA1_Channel3_IRQn 1 */ /* USER CODE END DMA1_Channel3_IRQn 1 */ } - 80060f2: bf00 nop - 80060f4: bd80 pop {r7, pc} - 80060f6: bf00 nop - 80060f8: 20000408 .word 0x20000408 + 80065ee: bf00 nop + 80065f0: bd80 pop {r7, pc} + 80065f2: bf00 nop + 80065f4: 20000408 .word 0x20000408 -080060fc : +080065f8 : /** * @brief This function handles DMA1 channel4 global interrupt. */ void DMA1_Channel4_IRQHandler(void) { - 80060fc: b580 push {r7, lr} - 80060fe: af00 add r7, sp, #0 + 80065f8: b580 push {r7, lr} + 80065fa: af00 add r7, sp, #0 /* USER CODE BEGIN DMA1_Channel4_IRQn 0 */ /* USER CODE END DMA1_Channel4_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_i2c1_rx); - 8006100: 4802 ldr r0, [pc, #8] @ (800610c ) - 8006102: f000 fcb9 bl 8006a78 + 80065fc: 4802 ldr r0, [pc, #8] @ (8006608 ) + 80065fe: f000 fd18 bl 8007032 /* USER CODE BEGIN DMA1_Channel4_IRQn 1 */ /* USER CODE END DMA1_Channel4_IRQn 1 */ } - 8006106: bf00 nop - 8006108: bd80 pop {r7, pc} - 800610a: bf00 nop - 800610c: 20000468 .word 0x20000468 + 8006602: bf00 nop + 8006604: bd80 pop {r7, pc} + 8006606: bf00 nop + 8006608: 20000468 .word 0x20000468 -08006110 : +0800660c : /** * @brief This function handles USB low priority interrupt, USB wake-up interrupt through EXTI line 28. */ void USB_LP_IRQHandler(void) { - 8006110: b580 push {r7, lr} - 8006112: af00 add r7, sp, #0 + 800660c: b580 push {r7, lr} + 800660e: af00 add r7, sp, #0 /* USER CODE BEGIN USB_LP_IRQn 0 */ /* USER CODE END USB_LP_IRQn 0 */ HAL_PCD_IRQHandler(&hpcd_USB_FS); - 8006114: 4802 ldr r0, [pc, #8] @ (8006120 ) - 8006116: f002 ffe5 bl 80090e4 + 8006610: 4802 ldr r0, [pc, #8] @ (800661c ) + 8006612: f003 f843 bl 800969c /* USER CODE BEGIN USB_LP_IRQn 1 */ /* USER CODE END USB_LP_IRQn 1 */ } - 800611a: bf00 nop - 800611c: bd80 pop {r7, pc} - 800611e: bf00 nop - 8006120: 200135f8 .word 0x200135f8 + 8006616: bf00 nop + 8006618: bd80 pop {r7, pc} + 800661a: bf00 nop + 800661c: 20013698 .word 0x20013698 -08006124 : +08006620 : /** * @brief This function handles TIM1 update interrupt and TIM16 global interrupt. */ void TIM1_UP_TIM16_IRQHandler(void) { - 8006124: b580 push {r7, lr} - 8006126: af00 add r7, sp, #0 + 8006620: b580 push {r7, lr} + 8006622: af00 add r7, sp, #0 /* USER CODE BEGIN TIM1_UP_TIM16_IRQn 0 */ /* USER CODE END TIM1_UP_TIM16_IRQn 0 */ HAL_TIM_IRQHandler(&htim16); - 8006128: 4802 ldr r0, [pc, #8] @ (8006134 ) - 800612a: f007 fda0 bl 800dc6e + 8006624: 4802 ldr r0, [pc, #8] @ (8006630 ) + 8006626: f008 f820 bl 800e66a /* USER CODE BEGIN TIM1_UP_TIM16_IRQn 1 */ /* USER CODE END TIM1_UP_TIM16_IRQn 1 */ } - 800612e: bf00 nop - 8006130: bd80 pop {r7, pc} - 8006132: bf00 nop - 8006134: 20000730 .word 0x20000730 + 800662a: bf00 nop + 800662c: bd80 pop {r7, pc} + 800662e: bf00 nop + 8006630: 20000730 .word 0x20000730 -08006138 : +08006634 : /** * @brief This function handles I2C1 event interrupt. */ void I2C1_EV_IRQHandler(void) { - 8006138: b580 push {r7, lr} - 800613a: af00 add r7, sp, #0 + 8006634: b580 push {r7, lr} + 8006636: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_EV_IRQn 0 */ /* USER CODE END I2C1_EV_IRQn 0 */ HAL_I2C_EV_IRQHandler(&hi2c1); - 800613c: 4802 ldr r0, [pc, #8] @ (8006148 ) - 800613e: f001 fa27 bl 8007590 + 8006638: 4802 ldr r0, [pc, #8] @ (8006644 ) + 800663a: f001 fa85 bl 8007b48 /* USER CODE BEGIN I2C1_EV_IRQn 1 */ /* USER CODE END I2C1_EV_IRQn 1 */ } - 8006142: bf00 nop - 8006144: bd80 pop {r7, pc} - 8006146: bf00 nop - 8006148: 200003b4 .word 0x200003b4 + 800663e: bf00 nop + 8006640: bd80 pop {r7, pc} + 8006642: bf00 nop + 8006644: 200003b4 .word 0x200003b4 -0800614c : +08006648 : /** * @brief This function handles I2C1 error interrupt. */ void I2C1_ER_IRQHandler(void) { - 800614c: b580 push {r7, lr} - 800614e: af00 add r7, sp, #0 + 8006648: b580 push {r7, lr} + 800664a: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_ER_IRQn 0 */ /* USER CODE END I2C1_ER_IRQn 0 */ HAL_I2C_ER_IRQHandler(&hi2c1); - 8006150: 4802 ldr r0, [pc, #8] @ (800615c ) - 8006152: f001 fa37 bl 80075c4 + 800664c: 4802 ldr r0, [pc, #8] @ (8006658 ) + 800664e: f001 fa95 bl 8007b7c /* USER CODE BEGIN I2C1_ER_IRQn 1 */ /* USER CODE END I2C1_ER_IRQn 1 */ } - 8006156: bf00 nop - 8006158: bd80 pop {r7, pc} - 800615a: bf00 nop - 800615c: 200003b4 .word 0x200003b4 + 8006652: bf00 nop + 8006654: bd80 pop {r7, pc} + 8006656: bf00 nop + 8006658: 200003b4 .word 0x200003b4 -08006160 : +0800665c : /** * @brief This function handles EXTI line[15:10] interrupts. */ void EXTI15_10_IRQHandler(void) { - 8006160: b580 push {r7, lr} - 8006162: af00 add r7, sp, #0 + 800665c: b580 push {r7, lr} + 800665e: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI15_10_IRQn 0 */ /* USER CODE END EXTI15_10_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_IMU_INT_Pin); - 8006164: f44f 6080 mov.w r0, #1024 @ 0x400 - 8006168: f000 ff6e bl 8007048 + 8006660: f44f 6080 mov.w r0, #1024 @ 0x400 + 8006664: f000 ffcc bl 8007600 HAL_GPIO_EXTI_IRQHandler(GPIO_MAGN_INT_Pin); - 800616c: f44f 6000 mov.w r0, #2048 @ 0x800 - 8006170: f000 ff6a bl 8007048 + 8006668: f44f 6000 mov.w r0, #2048 @ 0x800 + 800666c: f000 ffc8 bl 8007600 /* USER CODE BEGIN EXTI15_10_IRQn 1 */ /* USER CODE END EXTI15_10_IRQn 1 */ } - 8006174: bf00 nop - 8006176: bd80 pop {r7, pc} + 8006670: bf00 nop + 8006672: bd80 pop {r7, pc} -08006178 : +08006674 : /** * @brief This function handles IPCC RX occupied interrupt. */ void IPCC_C1_RX_IRQHandler(void) { - 8006178: b580 push {r7, lr} - 800617a: af00 add r7, sp, #0 + 8006674: b580 push {r7, lr} + 8006676: af00 add r7, sp, #0 /* USER CODE BEGIN IPCC_C1_RX_IRQn 0 */ /* USER CODE END IPCC_C1_RX_IRQn 0 */ HAL_IPCC_RX_IRQHandler(&hipcc); - 800617c: f011 fcfe bl 8017b7c + 8006678: f011 ff68 bl 801854c /* USER CODE BEGIN IPCC_C1_RX_IRQn 1 */ /* USER CODE END IPCC_C1_RX_IRQn 1 */ } - 8006180: bf00 nop - 8006182: bd80 pop {r7, pc} + 800667c: bf00 nop + 800667e: bd80 pop {r7, pc} -08006184 : +08006680 : /** * @brief This function handles IPCC TX free interrupt. */ void IPCC_C1_TX_IRQHandler(void) { - 8006184: b580 push {r7, lr} - 8006186: af00 add r7, sp, #0 + 8006680: b580 push {r7, lr} + 8006682: af00 add r7, sp, #0 /* USER CODE BEGIN IPCC_C1_TX_IRQn 0 */ /* USER CODE END IPCC_C1_TX_IRQn 0 */ HAL_IPCC_TX_IRQHandler(&hipcc); - 8006188: f011 fd2e bl 8017be8 + 8006684: f011 ff98 bl 80185b8 /* USER CODE BEGIN IPCC_C1_TX_IRQn 1 */ /* USER CODE END IPCC_C1_TX_IRQn 1 */ } - 800618c: bf00 nop - 800618e: bd80 pop {r7, pc} + 8006688: bf00 nop + 800668a: bd80 pop {r7, pc} -08006190 : +0800668c : /** * @brief This function handles HSEM global interrupt. */ void HSEM_IRQHandler(void) { - 8006190: b580 push {r7, lr} - 8006192: af00 add r7, sp, #0 + 800668c: b580 push {r7, lr} + 800668e: af00 add r7, sp, #0 /* USER CODE BEGIN HSEM_IRQn 0 */ /* USER CODE END HSEM_IRQn 0 */ HAL_HSEM_IRQHandler(); - 8006194: f000 ff70 bl 8007078 + 8006690: f000 ffce bl 8007630 /* USER CODE BEGIN HSEM_IRQn 1 */ /* USER CODE END HSEM_IRQn 1 */ } - 8006198: bf00 nop - 800619a: bd80 pop {r7, pc} + 8006694: bf00 nop + 8006696: bd80 pop {r7, pc} -0800619c <_getpid>: +08006698 <_getpid>: void initialise_monitor_handles() { } int _getpid(void) { - 800619c: b480 push {r7} - 800619e: af00 add r7, sp, #0 + 8006698: b480 push {r7} + 800669a: af00 add r7, sp, #0 return 1; - 80061a0: 2301 movs r3, #1 + 800669c: 2301 movs r3, #1 } - 80061a2: 4618 mov r0, r3 - 80061a4: 46bd mov sp, r7 - 80061a6: f85d 7b04 ldr.w r7, [sp], #4 - 80061aa: 4770 bx lr + 800669e: 4618 mov r0, r3 + 80066a0: 46bd mov sp, r7 + 80066a2: f85d 7b04 ldr.w r7, [sp], #4 + 80066a6: 4770 bx lr -080061ac <_kill>: +080066a8 <_kill>: int _kill(int pid, int sig) { - 80061ac: b580 push {r7, lr} - 80061ae: b082 sub sp, #8 - 80061b0: af00 add r7, sp, #0 - 80061b2: 6078 str r0, [r7, #4] - 80061b4: 6039 str r1, [r7, #0] + 80066a8: b580 push {r7, lr} + 80066aa: b082 sub sp, #8 + 80066ac: af00 add r7, sp, #0 + 80066ae: 6078 str r0, [r7, #4] + 80066b0: 6039 str r1, [r7, #0] (void)pid; (void)sig; errno = EINVAL; - 80061b6: f013 fcff bl 8019bb8 <__errno> - 80061ba: 4603 mov r3, r0 - 80061bc: 2216 movs r2, #22 - 80061be: 601a str r2, [r3, #0] + 80066b2: f013 fed7 bl 801a464 <__errno> + 80066b6: 4603 mov r3, r0 + 80066b8: 2216 movs r2, #22 + 80066ba: 601a str r2, [r3, #0] return -1; - 80061c0: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 80066bc: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff } - 80061c4: 4618 mov r0, r3 - 80061c6: 3708 adds r7, #8 - 80061c8: 46bd mov sp, r7 - 80061ca: bd80 pop {r7, pc} + 80066c0: 4618 mov r0, r3 + 80066c2: 3708 adds r7, #8 + 80066c4: 46bd mov sp, r7 + 80066c6: bd80 pop {r7, pc} -080061cc <_exit>: +080066c8 <_exit>: void _exit (int status) { - 80061cc: b580 push {r7, lr} - 80061ce: b082 sub sp, #8 - 80061d0: af00 add r7, sp, #0 - 80061d2: 6078 str r0, [r7, #4] + 80066c8: b580 push {r7, lr} + 80066ca: b082 sub sp, #8 + 80066cc: af00 add r7, sp, #0 + 80066ce: 6078 str r0, [r7, #4] _kill(status, -1); - 80061d4: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff - 80061d8: 6878 ldr r0, [r7, #4] - 80061da: f7ff ffe7 bl 80061ac <_kill> + 80066d0: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff + 80066d4: 6878 ldr r0, [r7, #4] + 80066d6: f7ff ffe7 bl 80066a8 <_kill> while (1) {} /* Make sure we hang here */ - 80061de: bf00 nop - 80061e0: e7fd b.n 80061de <_exit+0x12> + 80066da: bf00 nop + 80066dc: e7fd b.n 80066da <_exit+0x12> -080061e2 <_read>: +080066de <_read>: } __attribute__((weak)) int _read(int file, char *ptr, int len) { - 80061e2: b580 push {r7, lr} - 80061e4: b086 sub sp, #24 - 80061e6: af00 add r7, sp, #0 - 80061e8: 60f8 str r0, [r7, #12] - 80061ea: 60b9 str r1, [r7, #8] - 80061ec: 607a str r2, [r7, #4] + 80066de: b580 push {r7, lr} + 80066e0: b086 sub sp, #24 + 80066e2: af00 add r7, sp, #0 + 80066e4: 60f8 str r0, [r7, #12] + 80066e6: 60b9 str r1, [r7, #8] + 80066e8: 607a str r2, [r7, #4] (void)file; int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) - 80061ee: 2300 movs r3, #0 - 80061f0: 617b str r3, [r7, #20] - 80061f2: e00a b.n 800620a <_read+0x28> + 80066ea: 2300 movs r3, #0 + 80066ec: 617b str r3, [r7, #20] + 80066ee: e00a b.n 8006706 <_read+0x28> { *ptr++ = __io_getchar(); - 80061f4: f3af 8000 nop.w - 80061f8: 4601 mov r1, r0 - 80061fa: 68bb ldr r3, [r7, #8] - 80061fc: 1c5a adds r2, r3, #1 - 80061fe: 60ba str r2, [r7, #8] - 8006200: b2ca uxtb r2, r1 - 8006202: 701a strb r2, [r3, #0] + 80066f0: f3af 8000 nop.w + 80066f4: 4601 mov r1, r0 + 80066f6: 68bb ldr r3, [r7, #8] + 80066f8: 1c5a adds r2, r3, #1 + 80066fa: 60ba str r2, [r7, #8] + 80066fc: b2ca uxtb r2, r1 + 80066fe: 701a strb r2, [r3, #0] for (DataIdx = 0; DataIdx < len; DataIdx++) - 8006204: 697b ldr r3, [r7, #20] - 8006206: 3301 adds r3, #1 - 8006208: 617b str r3, [r7, #20] - 800620a: 697a ldr r2, [r7, #20] - 800620c: 687b ldr r3, [r7, #4] - 800620e: 429a cmp r2, r3 - 8006210: dbf0 blt.n 80061f4 <_read+0x12> + 8006700: 697b ldr r3, [r7, #20] + 8006702: 3301 adds r3, #1 + 8006704: 617b str r3, [r7, #20] + 8006706: 697a ldr r2, [r7, #20] + 8006708: 687b ldr r3, [r7, #4] + 800670a: 429a cmp r2, r3 + 800670c: dbf0 blt.n 80066f0 <_read+0x12> } return len; - 8006212: 687b ldr r3, [r7, #4] + 800670e: 687b ldr r3, [r7, #4] } - 8006214: 4618 mov r0, r3 - 8006216: 3718 adds r7, #24 - 8006218: 46bd mov sp, r7 - 800621a: bd80 pop {r7, pc} + 8006710: 4618 mov r0, r3 + 8006712: 3718 adds r7, #24 + 8006714: 46bd mov sp, r7 + 8006716: bd80 pop {r7, pc} -0800621c <_close>: +08006718 <_close>: } return len; } int _close(int file) { - 800621c: b480 push {r7} - 800621e: b083 sub sp, #12 - 8006220: af00 add r7, sp, #0 - 8006222: 6078 str r0, [r7, #4] + 8006718: b480 push {r7} + 800671a: b083 sub sp, #12 + 800671c: af00 add r7, sp, #0 + 800671e: 6078 str r0, [r7, #4] (void)file; return -1; - 8006224: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8006720: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff } - 8006228: 4618 mov r0, r3 - 800622a: 370c adds r7, #12 - 800622c: 46bd mov sp, r7 - 800622e: f85d 7b04 ldr.w r7, [sp], #4 - 8006232: 4770 bx lr + 8006724: 4618 mov r0, r3 + 8006726: 370c adds r7, #12 + 8006728: 46bd mov sp, r7 + 800672a: f85d 7b04 ldr.w r7, [sp], #4 + 800672e: 4770 bx lr -08006234 <_fstat>: +08006730 <_fstat>: int _fstat(int file, struct stat *st) { - 8006234: b480 push {r7} - 8006236: b083 sub sp, #12 - 8006238: af00 add r7, sp, #0 - 800623a: 6078 str r0, [r7, #4] - 800623c: 6039 str r1, [r7, #0] + 8006730: b480 push {r7} + 8006732: b083 sub sp, #12 + 8006734: af00 add r7, sp, #0 + 8006736: 6078 str r0, [r7, #4] + 8006738: 6039 str r1, [r7, #0] (void)file; st->st_mode = S_IFCHR; - 800623e: 683b ldr r3, [r7, #0] - 8006240: f44f 5200 mov.w r2, #8192 @ 0x2000 - 8006244: 605a str r2, [r3, #4] + 800673a: 683b ldr r3, [r7, #0] + 800673c: f44f 5200 mov.w r2, #8192 @ 0x2000 + 8006740: 605a str r2, [r3, #4] return 0; - 8006246: 2300 movs r3, #0 + 8006742: 2300 movs r3, #0 } - 8006248: 4618 mov r0, r3 - 800624a: 370c adds r7, #12 - 800624c: 46bd mov sp, r7 - 800624e: f85d 7b04 ldr.w r7, [sp], #4 - 8006252: 4770 bx lr + 8006744: 4618 mov r0, r3 + 8006746: 370c adds r7, #12 + 8006748: 46bd mov sp, r7 + 800674a: f85d 7b04 ldr.w r7, [sp], #4 + 800674e: 4770 bx lr -08006254 <_isatty>: +08006750 <_isatty>: int _isatty(int file) { - 8006254: b480 push {r7} - 8006256: b083 sub sp, #12 - 8006258: af00 add r7, sp, #0 - 800625a: 6078 str r0, [r7, #4] + 8006750: b480 push {r7} + 8006752: b083 sub sp, #12 + 8006754: af00 add r7, sp, #0 + 8006756: 6078 str r0, [r7, #4] (void)file; return 1; - 800625c: 2301 movs r3, #1 + 8006758: 2301 movs r3, #1 } - 800625e: 4618 mov r0, r3 - 8006260: 370c adds r7, #12 - 8006262: 46bd mov sp, r7 - 8006264: f85d 7b04 ldr.w r7, [sp], #4 - 8006268: 4770 bx lr + 800675a: 4618 mov r0, r3 + 800675c: 370c adds r7, #12 + 800675e: 46bd mov sp, r7 + 8006760: f85d 7b04 ldr.w r7, [sp], #4 + 8006764: 4770 bx lr -0800626a <_lseek>: +08006766 <_lseek>: int _lseek(int file, int ptr, int dir) { - 800626a: b480 push {r7} - 800626c: b085 sub sp, #20 - 800626e: af00 add r7, sp, #0 - 8006270: 60f8 str r0, [r7, #12] - 8006272: 60b9 str r1, [r7, #8] - 8006274: 607a str r2, [r7, #4] + 8006766: b480 push {r7} + 8006768: b085 sub sp, #20 + 800676a: af00 add r7, sp, #0 + 800676c: 60f8 str r0, [r7, #12] + 800676e: 60b9 str r1, [r7, #8] + 8006770: 607a str r2, [r7, #4] (void)file; (void)ptr; (void)dir; return 0; - 8006276: 2300 movs r3, #0 + 8006772: 2300 movs r3, #0 } - 8006278: 4618 mov r0, r3 - 800627a: 3714 adds r7, #20 - 800627c: 46bd mov sp, r7 - 800627e: f85d 7b04 ldr.w r7, [sp], #4 - 8006282: 4770 bx lr + 8006774: 4618 mov r0, r3 + 8006776: 3714 adds r7, #20 + 8006778: 46bd mov sp, r7 + 800677a: f85d 7b04 ldr.w r7, [sp], #4 + 800677e: 4770 bx lr -08006284 <_sbrk>: +08006780 <_sbrk>: * * @param incr Memory size * @return Pointer to allocated memory */ void *_sbrk(ptrdiff_t incr) { - 8006284: b580 push {r7, lr} - 8006286: b086 sub sp, #24 - 8006288: af00 add r7, sp, #0 - 800628a: 6078 str r0, [r7, #4] + 8006780: b580 push {r7, lr} + 8006782: b086 sub sp, #24 + 8006784: af00 add r7, sp, #0 + 8006786: 6078 str r0, [r7, #4] extern uint8_t _end; /* Symbol defined in the linker script */ extern uint8_t _estack; /* Symbol defined in the linker script */ extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */ const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size; - 800628c: 4a14 ldr r2, [pc, #80] @ (80062e0 <_sbrk+0x5c>) - 800628e: 4b15 ldr r3, [pc, #84] @ (80062e4 <_sbrk+0x60>) - 8006290: 1ad3 subs r3, r2, r3 - 8006292: 617b str r3, [r7, #20] + 8006788: 4a14 ldr r2, [pc, #80] @ (80067dc <_sbrk+0x5c>) + 800678a: 4b15 ldr r3, [pc, #84] @ (80067e0 <_sbrk+0x60>) + 800678c: 1ad3 subs r3, r2, r3 + 800678e: 617b str r3, [r7, #20] const uint8_t *max_heap = (uint8_t *)stack_limit; - 8006294: 697b ldr r3, [r7, #20] - 8006296: 613b str r3, [r7, #16] + 8006790: 697b ldr r3, [r7, #20] + 8006792: 613b str r3, [r7, #16] uint8_t *prev_heap_end; /* Initialize heap end at first call */ if (NULL == __sbrk_heap_end) - 8006298: 4b13 ldr r3, [pc, #76] @ (80062e8 <_sbrk+0x64>) - 800629a: 681b ldr r3, [r3, #0] - 800629c: 2b00 cmp r3, #0 - 800629e: d102 bne.n 80062a6 <_sbrk+0x22> + 8006794: 4b13 ldr r3, [pc, #76] @ (80067e4 <_sbrk+0x64>) + 8006796: 681b ldr r3, [r3, #0] + 8006798: 2b00 cmp r3, #0 + 800679a: d102 bne.n 80067a2 <_sbrk+0x22> { __sbrk_heap_end = &_end; - 80062a0: 4b11 ldr r3, [pc, #68] @ (80062e8 <_sbrk+0x64>) - 80062a2: 4a12 ldr r2, [pc, #72] @ (80062ec <_sbrk+0x68>) - 80062a4: 601a str r2, [r3, #0] + 800679c: 4b11 ldr r3, [pc, #68] @ (80067e4 <_sbrk+0x64>) + 800679e: 4a12 ldr r2, [pc, #72] @ (80067e8 <_sbrk+0x68>) + 80067a0: 601a str r2, [r3, #0] } /* Protect heap from growing into the reserved MSP stack */ if (__sbrk_heap_end + incr > max_heap) - 80062a6: 4b10 ldr r3, [pc, #64] @ (80062e8 <_sbrk+0x64>) - 80062a8: 681a ldr r2, [r3, #0] - 80062aa: 687b ldr r3, [r7, #4] - 80062ac: 4413 add r3, r2 - 80062ae: 693a ldr r2, [r7, #16] - 80062b0: 429a cmp r2, r3 - 80062b2: d207 bcs.n 80062c4 <_sbrk+0x40> + 80067a2: 4b10 ldr r3, [pc, #64] @ (80067e4 <_sbrk+0x64>) + 80067a4: 681a ldr r2, [r3, #0] + 80067a6: 687b ldr r3, [r7, #4] + 80067a8: 4413 add r3, r2 + 80067aa: 693a ldr r2, [r7, #16] + 80067ac: 429a cmp r2, r3 + 80067ae: d207 bcs.n 80067c0 <_sbrk+0x40> { errno = ENOMEM; - 80062b4: f013 fc80 bl 8019bb8 <__errno> - 80062b8: 4603 mov r3, r0 - 80062ba: 220c movs r2, #12 - 80062bc: 601a str r2, [r3, #0] + 80067b0: f013 fe58 bl 801a464 <__errno> + 80067b4: 4603 mov r3, r0 + 80067b6: 220c movs r2, #12 + 80067b8: 601a str r2, [r3, #0] return (void *)-1; - 80062be: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 80062c2: e009 b.n 80062d8 <_sbrk+0x54> + 80067ba: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 80067be: e009 b.n 80067d4 <_sbrk+0x54> } prev_heap_end = __sbrk_heap_end; - 80062c4: 4b08 ldr r3, [pc, #32] @ (80062e8 <_sbrk+0x64>) - 80062c6: 681b ldr r3, [r3, #0] - 80062c8: 60fb str r3, [r7, #12] + 80067c0: 4b08 ldr r3, [pc, #32] @ (80067e4 <_sbrk+0x64>) + 80067c2: 681b ldr r3, [r3, #0] + 80067c4: 60fb str r3, [r7, #12] __sbrk_heap_end += incr; - 80062ca: 4b07 ldr r3, [pc, #28] @ (80062e8 <_sbrk+0x64>) - 80062cc: 681a ldr r2, [r3, #0] - 80062ce: 687b ldr r3, [r7, #4] - 80062d0: 4413 add r3, r2 - 80062d2: 4a05 ldr r2, [pc, #20] @ (80062e8 <_sbrk+0x64>) - 80062d4: 6013 str r3, [r2, #0] + 80067c6: 4b07 ldr r3, [pc, #28] @ (80067e4 <_sbrk+0x64>) + 80067c8: 681a ldr r2, [r3, #0] + 80067ca: 687b ldr r3, [r7, #4] + 80067cc: 4413 add r3, r2 + 80067ce: 4a05 ldr r2, [pc, #20] @ (80067e4 <_sbrk+0x64>) + 80067d0: 6013 str r3, [r2, #0] return (void *)prev_heap_end; - 80062d6: 68fb ldr r3, [r7, #12] + 80067d2: 68fb ldr r3, [r7, #12] } - 80062d8: 4618 mov r0, r3 - 80062da: 3718 adds r7, #24 - 80062dc: 46bd mov sp, r7 - 80062de: bd80 pop {r7, pc} - 80062e0: 20030000 .word 0x20030000 - 80062e4: 00000400 .word 0x00000400 - 80062e8: 2000077c .word 0x2000077c - 80062ec: 20013c48 .word 0x20013c48 + 80067d4: 4618 mov r0, r3 + 80067d6: 3718 adds r7, #24 + 80067d8: 46bd mov sp, r7 + 80067da: bd80 pop {r7, pc} + 80067dc: 20030000 .word 0x20030000 + 80067e0: 00000400 .word 0x00000400 + 80067e4: 2000077c .word 0x2000077c + 80067e8: 20013ce8 .word 0x20013ce8 -080062f0 : +080067ec : * @brief Setup the microcontroller system. * @param None * @retval None */ void SystemInit(void) { - 80062f0: b480 push {r7} - 80062f2: af00 add r7, sp, #0 + 80067ec: b480 push {r7} + 80067ee: af00 add r7, sp, #0 SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; #endif /* USER_VECT_TAB_ADDRESS */ /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL << (10UL * 2UL)) | (3UL << (11UL * 2UL))); /* set CP10 and CP11 Full Access */ - 80062f4: 4b24 ldr r3, [pc, #144] @ (8006388 ) - 80062f6: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 - 80062fa: 4a23 ldr r2, [pc, #140] @ (8006388 ) - 80062fc: f443 0370 orr.w r3, r3, #15728640 @ 0xf00000 - 8006300: f8c2 3088 str.w r3, [r2, #136] @ 0x88 + 80067f0: 4b24 ldr r3, [pc, #144] @ (8006884 ) + 80067f2: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 + 80067f6: 4a23 ldr r2, [pc, #140] @ (8006884 ) + 80067f8: f443 0370 orr.w r3, r3, #15728640 @ 0xf00000 + 80067fc: f8c2 3088 str.w r3, [r2, #136] @ 0x88 #endif /* FPU */ /* Reset the RCC clock configuration to the default reset state ------------*/ /* Set MSION bit */ RCC->CR |= RCC_CR_MSION; - 8006304: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8006308: 681b ldr r3, [r3, #0] - 800630a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800630e: f043 0301 orr.w r3, r3, #1 - 8006312: 6013 str r3, [r2, #0] + 8006800: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8006804: 681b ldr r3, [r3, #0] + 8006806: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800680a: f043 0301 orr.w r3, r3, #1 + 800680e: 6013 str r3, [r2, #0] /* Reset CFGR register */ RCC->CFGR = 0x00070000U; - 8006314: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8006318: f44f 22e0 mov.w r2, #458752 @ 0x70000 - 800631c: 609a str r2, [r3, #8] + 8006810: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8006814: f44f 22e0 mov.w r2, #458752 @ 0x70000 + 8006818: 609a str r2, [r3, #8] /* Reset PLLSAI1ON, PLLON, HSECSSON, HSEON, HSION, and MSIPLLON bits */ RCC->CR &= (uint32_t)0xFAF6FEFBU; - 800631e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8006322: 681a ldr r2, [r3, #0] - 8006324: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 8006328: 4b18 ldr r3, [pc, #96] @ (800638c ) - 800632a: 4013 ands r3, r2 - 800632c: 600b str r3, [r1, #0] + 800681a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800681e: 681a ldr r2, [r3, #0] + 8006820: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 8006824: 4b18 ldr r3, [pc, #96] @ (8006888 ) + 8006826: 4013 ands r3, r2 + 8006828: 600b str r3, [r1, #0] /*!< Reset LSI1 and LSI2 bits */ RCC->CSR &= (uint32_t)0xFFFFFFFAU; - 800632e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8006332: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 8006336: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800633a: f023 0305 bic.w r3, r3, #5 - 800633e: f8c2 3094 str.w r3, [r2, #148] @ 0x94 + 800682a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800682e: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 8006832: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 8006836: f023 0305 bic.w r3, r3, #5 + 800683a: f8c2 3094 str.w r3, [r2, #148] @ 0x94 /*!< Reset HSI48ON bit */ RCC->CRRCR &= (uint32_t)0xFFFFFFFEU; - 8006342: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8006346: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 - 800634a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800634e: f023 0301 bic.w r3, r3, #1 - 8006352: f8c2 3098 str.w r3, [r2, #152] @ 0x98 + 800683e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8006842: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 + 8006846: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800684a: f023 0301 bic.w r3, r3, #1 + 800684e: f8c2 3098 str.w r3, [r2, #152] @ 0x98 /* Reset PLLCFGR register */ RCC->PLLCFGR = 0x22041000U; - 8006356: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800635a: 4a0d ldr r2, [pc, #52] @ (8006390 ) - 800635c: 60da str r2, [r3, #12] + 8006852: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8006856: 4a0d ldr r2, [pc, #52] @ (800688c ) + 8006858: 60da str r2, [r3, #12] #if defined(STM32WB55xx) || defined(STM32WB5Mxx) /* Reset PLLSAI1CFGR register */ RCC->PLLSAI1CFGR = 0x22041000U; - 800635e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8006362: 4a0b ldr r2, [pc, #44] @ (8006390 ) - 8006364: 611a str r2, [r3, #16] + 800685a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800685e: 4a0b ldr r2, [pc, #44] @ (800688c ) + 8006860: 611a str r2, [r3, #16] #endif /* STM32WB55xx || STM32WB5Mxx */ /* Reset HSEBYP bit */ RCC->CR &= 0xFFFBFFFFU; - 8006366: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800636a: 681b ldr r3, [r3, #0] - 800636c: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 8006370: f423 2380 bic.w r3, r3, #262144 @ 0x40000 - 8006374: 6013 str r3, [r2, #0] + 8006862: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8006866: 681b ldr r3, [r3, #0] + 8006868: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800686c: f423 2380 bic.w r3, r3, #262144 @ 0x40000 + 8006870: 6013 str r3, [r2, #0] /* Disable all interrupts */ RCC->CIER = 0x00000000; - 8006376: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800637a: 2200 movs r2, #0 - 800637c: 619a str r2, [r3, #24] + 8006872: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8006876: 2200 movs r2, #0 + 8006878: 619a str r2, [r3, #24] } - 800637e: bf00 nop - 8006380: 46bd mov sp, r7 - 8006382: f85d 7b04 ldr.w r7, [sp], #4 - 8006386: 4770 bx lr - 8006388: e000ed00 .word 0xe000ed00 - 800638c: faf6fefb .word 0xfaf6fefb - 8006390: 22041000 .word 0x22041000 + 800687a: bf00 nop + 800687c: 46bd mov sp, r7 + 800687e: f85d 7b04 ldr.w r7, [sp], #4 + 8006882: 4770 bx lr + 8006884: e000ed00 .word 0xe000ed00 + 8006888: faf6fefb .word 0xfaf6fefb + 800688c: 22041000 .word 0x22041000 -08006394 : +08006890 : bl LoopCopyDataInit .endm .section .text.data_initializers CopyDataInit: ldr r4, [r2, r3] - 8006394: 58d4 ldr r4, [r2, r3] + 8006890: 58d4 ldr r4, [r2, r3] str r4, [r0, r3] - 8006396: 50c4 str r4, [r0, r3] + 8006892: 50c4 str r4, [r0, r3] adds r3, r3, #4 - 8006398: 3304 adds r3, #4 + 8006894: 3304 adds r3, #4 -0800639a : +08006896 : LoopCopyDataInit: adds r4, r0, r3 - 800639a: 18c4 adds r4, r0, r3 + 8006896: 18c4 adds r4, r0, r3 cmp r4, r1 - 800639c: 428c cmp r4, r1 + 8006898: 428c cmp r4, r1 bcc CopyDataInit - 800639e: d3f9 bcc.n 8006394 + 800689a: d3f9 bcc.n 8006890 bx lr - 80063a0: 4770 bx lr + 800689c: 4770 bx lr -080063a2 : +0800689e : FillZerobss: str r3, [r0] - 80063a2: 6003 str r3, [r0, #0] + 800689e: 6003 str r3, [r0, #0] adds r0, r0, #4 - 80063a4: 3004 adds r0, #4 + 80068a0: 3004 adds r0, #4 -080063a6 : +080068a2 : LoopFillZerobss: cmp r0, r1 - 80063a6: 4288 cmp r0, r1 + 80068a2: 4288 cmp r0, r1 bcc FillZerobss - 80063a8: d3fb bcc.n 80063a2 + 80068a4: d3fb bcc.n 800689e bx lr - 80063aa: 4770 bx lr + 80068a6: 4770 bx lr -080063ac : +080068a8 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr r0, =_estack - 80063ac: 480c ldr r0, [pc, #48] @ (80063e0 ) + 80068a8: 480c ldr r0, [pc, #48] @ (80068dc ) mov sp, r0 /* set stack pointer */ - 80063ae: 4685 mov sp, r0 + 80068aa: 4685 mov sp, r0 /* Call the clock system initialization function.*/ bl SystemInit - 80063b0: f7ff ff9e bl 80062f0 + 80068ac: f7ff ff9e bl 80067ec /* Copy the data segment initializers from flash to SRAM */ INIT_DATA _sdata, _edata, _sidata - 80063b4: 480b ldr r0, [pc, #44] @ (80063e4 ) - 80063b6: 490c ldr r1, [pc, #48] @ (80063e8 ) - 80063b8: 4a0c ldr r2, [pc, #48] @ (80063ec ) - 80063ba: 2300 movs r3, #0 - 80063bc: f7ff ffed bl 800639a + 80068b0: 480b ldr r0, [pc, #44] @ (80068e0 ) + 80068b2: 490c ldr r1, [pc, #48] @ (80068e4 ) + 80068b4: 4a0c ldr r2, [pc, #48] @ (80068e8 ) + 80068b6: 2300 movs r3, #0 + 80068b8: f7ff ffed bl 8006896 INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 - 80063c0: 480b ldr r0, [pc, #44] @ (80063f0 ) - 80063c2: 490c ldr r1, [pc, #48] @ (80063f4 ) - 80063c4: 4a0c ldr r2, [pc, #48] @ (80063f8 ) - 80063c6: 2300 movs r3, #0 - 80063c8: f7ff ffe7 bl 800639a + 80068bc: 480b ldr r0, [pc, #44] @ (80068ec ) + 80068be: 490c ldr r1, [pc, #48] @ (80068f0 ) + 80068c0: 4a0c ldr r2, [pc, #48] @ (80068f4 ) + 80068c2: 2300 movs r3, #0 + 80068c4: f7ff ffe7 bl 8006896 /* Zero fill the bss segments. */ INIT_BSS _sbss, _ebss - 80063cc: 480b ldr r0, [pc, #44] @ (80063fc ) - 80063ce: 490c ldr r1, [pc, #48] @ (8006400 ) - 80063d0: 2300 movs r3, #0 - 80063d2: f7ff ffe8 bl 80063a6 + 80068c8: 480b ldr r0, [pc, #44] @ (80068f8 ) + 80068ca: 490c ldr r1, [pc, #48] @ (80068fc ) + 80068cc: 2300 movs r3, #0 + 80068ce: f7ff ffe8 bl 80068a2 /* Call static constructors */ bl __libc_init_array - 80063d6: f013 fbf5 bl 8019bc4 <__libc_init_array> + 80068d2: f013 fdcd bl 801a470 <__libc_init_array> /* Call the application s entry point.*/ bl main - 80063da: f7fe f9bb bl 8004754
        + 80068d6: f7fd ffc9 bl 800486c
        -080063de : +080068da : LoopForever: b LoopForever - 80063de: e7fe b.n 80063de + 80068da: e7fe b.n 80068da ldr r0, =_estack - 80063e0: 20030000 .word 0x20030000 + 80068dc: 20030000 .word 0x20030000 INIT_DATA _sdata, _edata, _sidata - 80063e4: 20000008 .word 0x20000008 - 80063e8: 200002d8 .word 0x200002d8 - 80063ec: 0801e100 .word 0x0801e100 + 80068e0: 20000008 .word 0x20000008 + 80068e4: 200002d8 .word 0x200002d8 + 80068e8: 0801ea60 .word 0x0801ea60 INIT_DATA _sMB_MEM2, _eMB_MEM2, _siMB_MEM2 - 80063f0: 200300d8 .word 0x200300d8 - 80063f4: 2003094a .word 0x2003094a - 80063f8: 0801e3e1 .word 0x0801e3e1 + 80068ec: 200300d8 .word 0x200300d8 + 80068f0: 2003094a .word 0x2003094a + 80068f4: 0801ed41 .word 0x0801ed41 INIT_BSS _sbss, _ebss - 80063fc: 200002ec .word 0x200002ec - 8006400: 20013c48 .word 0x20013c48 + 80068f8: 200002ec .word 0x200002ec + 80068fc: 20013ce8 .word 0x20013ce8 -08006404 : +08006900 : * @retval None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop - 8006404: e7fe b.n 8006404 + 8006900: e7fe b.n 8006900 ... -08006408 : +08006904 : * need to ensure that the SysTick time base is always set to 1 millisecond * to have correct HAL operation. * @retval HAL status */ HAL_StatusTypeDef HAL_Init(void) { - 8006408: b580 push {r7, lr} - 800640a: b082 sub sp, #8 - 800640c: af00 add r7, sp, #0 + 8006904: b580 push {r7, lr} + 8006906: b082 sub sp, #8 + 8006908: af00 add r7, sp, #0 HAL_StatusTypeDef status = HAL_OK; - 800640e: 2300 movs r3, #0 - 8006410: 71fb strb r3, [r7, #7] + 800690a: 2300 movs r3, #0 + 800690c: 71fb strb r3, [r7, #7] #if (DATA_CACHE_ENABLE == 0U) __HAL_FLASH_DATA_CACHE_DISABLE(); #endif /* DATA_CACHE_ENABLE */ #if (PREFETCH_ENABLE != 0U) __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); - 8006412: 4b0c ldr r3, [pc, #48] @ (8006444 ) - 8006414: 681b ldr r3, [r3, #0] - 8006416: 4a0b ldr r2, [pc, #44] @ (8006444 ) - 8006418: f443 7380 orr.w r3, r3, #256 @ 0x100 - 800641c: 6013 str r3, [r2, #0] + 800690e: 4b0c ldr r3, [pc, #48] @ (8006940 ) + 8006910: 681b ldr r3, [r3, #0] + 8006912: 4a0b ldr r2, [pc, #44] @ (8006940 ) + 8006914: f443 7380 orr.w r3, r3, #256 @ 0x100 + 8006918: 6013 str r3, [r2, #0] #endif /* PREFETCH_ENABLE */ /* Set Interrupt Group Priority */ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); - 800641e: 2003 movs r0, #3 - 8006420: f000 f94b bl 80066ba + 800691a: 2003 movs r0, #3 + 800691c: f000 f94b bl 8006bb6 /* Use SysTick as time base source and configure 1ms tick (default clock after Reset is MSI) */ if (HAL_InitTick(TICK_INT_PRIORITY) != HAL_OK) - 8006424: 200f movs r0, #15 - 8006426: f7ff fdbb bl 8005fa0 - 800642a: 4603 mov r3, r0 - 800642c: 2b00 cmp r3, #0 - 800642e: d002 beq.n 8006436 + 8006920: 200f movs r0, #15 + 8006922: f7ff fdbb bl 800649c + 8006926: 4603 mov r3, r0 + 8006928: 2b00 cmp r3, #0 + 800692a: d002 beq.n 8006932 { status = HAL_ERROR; - 8006430: 2301 movs r3, #1 - 8006432: 71fb strb r3, [r7, #7] - 8006434: e001 b.n 800643a + 800692c: 2301 movs r3, #1 + 800692e: 71fb strb r3, [r7, #7] + 8006930: e001 b.n 8006936 } else { /* Init the low level hardware */ HAL_MspInit(); - 8006436: f7ff fb68 bl 8005b0a + 8006932: f7ff fb61 bl 8005ff8 } /* Return function status */ return status; - 800643a: 79fb ldrb r3, [r7, #7] + 8006936: 79fb ldrb r3, [r7, #7] } - 800643c: 4618 mov r0, r3 - 800643e: 3708 adds r7, #8 - 8006440: 46bd mov sp, r7 - 8006442: bd80 pop {r7, pc} - 8006444: 58004000 .word 0x58004000 + 8006938: 4618 mov r0, r3 + 800693a: 3708 adds r7, #8 + 800693c: 46bd mov sp, r7 + 800693e: bd80 pop {r7, pc} + 8006940: 58004000 .word 0x58004000 -08006448 : +08006944 : * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval None */ __weak void HAL_IncTick(void) { - 8006448: b480 push {r7} - 800644a: af00 add r7, sp, #0 + 8006944: b480 push {r7} + 8006946: af00 add r7, sp, #0 uwTick += (uint32_t)uwTickFreq; - 800644c: 4b06 ldr r3, [pc, #24] @ (8006468 ) - 800644e: 781b ldrb r3, [r3, #0] - 8006450: 461a mov r2, r3 - 8006452: 4b06 ldr r3, [pc, #24] @ (800646c ) - 8006454: 681b ldr r3, [r3, #0] - 8006456: 4413 add r3, r2 - 8006458: 4a04 ldr r2, [pc, #16] @ (800646c ) - 800645a: 6013 str r3, [r2, #0] + 8006948: 4b06 ldr r3, [pc, #24] @ (8006964 ) + 800694a: 781b ldrb r3, [r3, #0] + 800694c: 461a mov r2, r3 + 800694e: 4b06 ldr r3, [pc, #24] @ (8006968 ) + 8006950: 681b ldr r3, [r3, #0] + 8006952: 4413 add r3, r2 + 8006954: 4a04 ldr r2, [pc, #16] @ (8006968 ) + 8006956: 6013 str r3, [r2, #0] } - 800645c: bf00 nop - 800645e: 46bd mov sp, r7 - 8006460: f85d 7b04 ldr.w r7, [sp], #4 - 8006464: 4770 bx lr - 8006466: bf00 nop - 8006468: 20000014 .word 0x20000014 - 800646c: 20000780 .word 0x20000780 + 8006958: bf00 nop + 800695a: 46bd mov sp, r7 + 800695c: f85d 7b04 ldr.w r7, [sp], #4 + 8006960: 4770 bx lr + 8006962: bf00 nop + 8006964: 20000014 .word 0x20000014 + 8006968: 20000780 .word 0x20000780 -08006470 : +0800696c : * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval tick value */ __weak uint32_t HAL_GetTick(void) { - 8006470: b480 push {r7} - 8006472: af00 add r7, sp, #0 + 800696c: b480 push {r7} + 800696e: af00 add r7, sp, #0 return uwTick; - 8006474: 4b03 ldr r3, [pc, #12] @ (8006484 ) - 8006476: 681b ldr r3, [r3, #0] + 8006970: 4b03 ldr r3, [pc, #12] @ (8006980 ) + 8006972: 681b ldr r3, [r3, #0] } - 8006478: 4618 mov r0, r3 - 800647a: 46bd mov sp, r7 - 800647c: f85d 7b04 ldr.w r7, [sp], #4 - 8006480: 4770 bx lr - 8006482: bf00 nop - 8006484: 20000780 .word 0x20000780 + 8006974: 4618 mov r0, r3 + 8006976: 46bd mov sp, r7 + 8006978: f85d 7b04 ldr.w r7, [sp], #4 + 800697c: 4770 bx lr + 800697e: bf00 nop + 8006980: 20000780 .word 0x20000780 -08006488 : +08006984 : /** * @brief This function returns a tick priority. * @retval tick priority */ uint32_t HAL_GetTickPrio(void) { - 8006488: b480 push {r7} - 800648a: af00 add r7, sp, #0 + 8006984: b480 push {r7} + 8006986: af00 add r7, sp, #0 return uwTickPrio; - 800648c: 4b03 ldr r3, [pc, #12] @ (800649c ) - 800648e: 681b ldr r3, [r3, #0] + 8006988: 4b03 ldr r3, [pc, #12] @ (8006998 ) + 800698a: 681b ldr r3, [r3, #0] } - 8006490: 4618 mov r0, r3 - 8006492: 46bd mov sp, r7 - 8006494: f85d 7b04 ldr.w r7, [sp], #4 - 8006498: 4770 bx lr - 800649a: bf00 nop - 800649c: 20000010 .word 0x20000010 + 800698c: 4618 mov r0, r3 + 800698e: 46bd mov sp, r7 + 8006990: f85d 7b04 ldr.w r7, [sp], #4 + 8006994: 4770 bx lr + 8006996: bf00 nop + 8006998: 20000010 .word 0x20000010 -080064a0 <__NVIC_SetPriorityGrouping>: +0800699c <__NVIC_SetPriorityGrouping>: { - 80064a0: b480 push {r7} - 80064a2: b085 sub sp, #20 - 80064a4: af00 add r7, sp, #0 - 80064a6: 6078 str r0, [r7, #4] + 800699c: b480 push {r7} + 800699e: b085 sub sp, #20 + 80069a0: af00 add r7, sp, #0 + 80069a2: 6078 str r0, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ - 80064a8: 687b ldr r3, [r7, #4] - 80064aa: f003 0307 and.w r3, r3, #7 - 80064ae: 60fb str r3, [r7, #12] + 80069a4: 687b ldr r3, [r7, #4] + 80069a6: f003 0307 and.w r3, r3, #7 + 80069aa: 60fb str r3, [r7, #12] reg_value = SCB->AIRCR; /* read old register configuration */ - 80064b0: 4b0c ldr r3, [pc, #48] @ (80064e4 <__NVIC_SetPriorityGrouping+0x44>) - 80064b2: 68db ldr r3, [r3, #12] - 80064b4: 60bb str r3, [r7, #8] + 80069ac: 4b0c ldr r3, [pc, #48] @ (80069e0 <__NVIC_SetPriorityGrouping+0x44>) + 80069ae: 68db ldr r3, [r3, #12] + 80069b0: 60bb str r3, [r7, #8] reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ - 80064b6: 68ba ldr r2, [r7, #8] - 80064b8: f64f 03ff movw r3, #63743 @ 0xf8ff - 80064bc: 4013 ands r3, r2 - 80064be: 60bb str r3, [r7, #8] + 80069b2: 68ba ldr r2, [r7, #8] + 80069b4: f64f 03ff movw r3, #63743 @ 0xf8ff + 80069b8: 4013 ands r3, r2 + 80069ba: 60bb str r3, [r7, #8] (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ - 80064c0: 68fb ldr r3, [r7, #12] - 80064c2: 021a lsls r2, r3, #8 + 80069bc: 68fb ldr r3, [r7, #12] + 80069be: 021a lsls r2, r3, #8 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | - 80064c4: 68bb ldr r3, [r7, #8] - 80064c6: 4313 orrs r3, r2 + 80069c0: 68bb ldr r3, [r7, #8] + 80069c2: 4313 orrs r3, r2 reg_value = (reg_value | - 80064c8: f043 63bf orr.w r3, r3, #100139008 @ 0x5f80000 - 80064cc: f443 3300 orr.w r3, r3, #131072 @ 0x20000 - 80064d0: 60bb str r3, [r7, #8] + 80069c4: f043 63bf orr.w r3, r3, #100139008 @ 0x5f80000 + 80069c8: f443 3300 orr.w r3, r3, #131072 @ 0x20000 + 80069cc: 60bb str r3, [r7, #8] SCB->AIRCR = reg_value; - 80064d2: 4a04 ldr r2, [pc, #16] @ (80064e4 <__NVIC_SetPriorityGrouping+0x44>) - 80064d4: 68bb ldr r3, [r7, #8] - 80064d6: 60d3 str r3, [r2, #12] + 80069ce: 4a04 ldr r2, [pc, #16] @ (80069e0 <__NVIC_SetPriorityGrouping+0x44>) + 80069d0: 68bb ldr r3, [r7, #8] + 80069d2: 60d3 str r3, [r2, #12] } - 80064d8: bf00 nop - 80064da: 3714 adds r7, #20 - 80064dc: 46bd mov sp, r7 - 80064de: f85d 7b04 ldr.w r7, [sp], #4 - 80064e2: 4770 bx lr - 80064e4: e000ed00 .word 0xe000ed00 + 80069d4: bf00 nop + 80069d6: 3714 adds r7, #20 + 80069d8: 46bd mov sp, r7 + 80069da: f85d 7b04 ldr.w r7, [sp], #4 + 80069de: 4770 bx lr + 80069e0: e000ed00 .word 0xe000ed00 -080064e8 <__NVIC_GetPriorityGrouping>: +080069e4 <__NVIC_GetPriorityGrouping>: { - 80064e8: b480 push {r7} - 80064ea: af00 add r7, sp, #0 + 80069e4: b480 push {r7} + 80069e6: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); - 80064ec: 4b04 ldr r3, [pc, #16] @ (8006500 <__NVIC_GetPriorityGrouping+0x18>) - 80064ee: 68db ldr r3, [r3, #12] - 80064f0: 0a1b lsrs r3, r3, #8 - 80064f2: f003 0307 and.w r3, r3, #7 + 80069e8: 4b04 ldr r3, [pc, #16] @ (80069fc <__NVIC_GetPriorityGrouping+0x18>) + 80069ea: 68db ldr r3, [r3, #12] + 80069ec: 0a1b lsrs r3, r3, #8 + 80069ee: f003 0307 and.w r3, r3, #7 } - 80064f6: 4618 mov r0, r3 - 80064f8: 46bd mov sp, r7 - 80064fa: f85d 7b04 ldr.w r7, [sp], #4 - 80064fe: 4770 bx lr - 8006500: e000ed00 .word 0xe000ed00 + 80069f2: 4618 mov r0, r3 + 80069f4: 46bd mov sp, r7 + 80069f6: f85d 7b04 ldr.w r7, [sp], #4 + 80069fa: 4770 bx lr + 80069fc: e000ed00 .word 0xe000ed00 -08006504 <__NVIC_EnableIRQ>: +08006a00 <__NVIC_EnableIRQ>: { - 8006504: b480 push {r7} - 8006506: b083 sub sp, #12 - 8006508: af00 add r7, sp, #0 - 800650a: 4603 mov r3, r0 - 800650c: 71fb strb r3, [r7, #7] + 8006a00: b480 push {r7} + 8006a02: b083 sub sp, #12 + 8006a04: af00 add r7, sp, #0 + 8006a06: 4603 mov r3, r0 + 8006a08: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 800650e: f997 3007 ldrsb.w r3, [r7, #7] - 8006512: 2b00 cmp r3, #0 - 8006514: db0b blt.n 800652e <__NVIC_EnableIRQ+0x2a> + 8006a0a: f997 3007 ldrsb.w r3, [r7, #7] + 8006a0e: 2b00 cmp r3, #0 + 8006a10: db0b blt.n 8006a2a <__NVIC_EnableIRQ+0x2a> NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 8006516: 79fb ldrb r3, [r7, #7] - 8006518: f003 021f and.w r2, r3, #31 - 800651c: 4907 ldr r1, [pc, #28] @ (800653c <__NVIC_EnableIRQ+0x38>) - 800651e: f997 3007 ldrsb.w r3, [r7, #7] - 8006522: 095b lsrs r3, r3, #5 - 8006524: 2001 movs r0, #1 - 8006526: fa00 f202 lsl.w r2, r0, r2 - 800652a: f841 2023 str.w r2, [r1, r3, lsl #2] + 8006a12: 79fb ldrb r3, [r7, #7] + 8006a14: f003 021f and.w r2, r3, #31 + 8006a18: 4907 ldr r1, [pc, #28] @ (8006a38 <__NVIC_EnableIRQ+0x38>) + 8006a1a: f997 3007 ldrsb.w r3, [r7, #7] + 8006a1e: 095b lsrs r3, r3, #5 + 8006a20: 2001 movs r0, #1 + 8006a22: fa00 f202 lsl.w r2, r0, r2 + 8006a26: f841 2023 str.w r2, [r1, r3, lsl #2] } - 800652e: bf00 nop - 8006530: 370c adds r7, #12 - 8006532: 46bd mov sp, r7 - 8006534: f85d 7b04 ldr.w r7, [sp], #4 - 8006538: 4770 bx lr - 800653a: bf00 nop - 800653c: e000e100 .word 0xe000e100 + 8006a2a: bf00 nop + 8006a2c: 370c adds r7, #12 + 8006a2e: 46bd mov sp, r7 + 8006a30: f85d 7b04 ldr.w r7, [sp], #4 + 8006a34: 4770 bx lr + 8006a36: bf00 nop + 8006a38: e000e100 .word 0xe000e100 -08006540 <__NVIC_DisableIRQ>: +08006a3c <__NVIC_DisableIRQ>: { - 8006540: b480 push {r7} - 8006542: b083 sub sp, #12 - 8006544: af00 add r7, sp, #0 - 8006546: 4603 mov r3, r0 - 8006548: 71fb strb r3, [r7, #7] + 8006a3c: b480 push {r7} + 8006a3e: b083 sub sp, #12 + 8006a40: af00 add r7, sp, #0 + 8006a42: 4603 mov r3, r0 + 8006a44: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 800654a: f997 3007 ldrsb.w r3, [r7, #7] - 800654e: 2b00 cmp r3, #0 - 8006550: db12 blt.n 8006578 <__NVIC_DisableIRQ+0x38> + 8006a46: f997 3007 ldrsb.w r3, [r7, #7] + 8006a4a: 2b00 cmp r3, #0 + 8006a4c: db12 blt.n 8006a74 <__NVIC_DisableIRQ+0x38> NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 8006552: 79fb ldrb r3, [r7, #7] - 8006554: f003 021f and.w r2, r3, #31 - 8006558: 490a ldr r1, [pc, #40] @ (8006584 <__NVIC_DisableIRQ+0x44>) - 800655a: f997 3007 ldrsb.w r3, [r7, #7] - 800655e: 095b lsrs r3, r3, #5 - 8006560: 2001 movs r0, #1 - 8006562: fa00 f202 lsl.w r2, r0, r2 - 8006566: 3320 adds r3, #32 - 8006568: f841 2023 str.w r2, [r1, r3, lsl #2] + 8006a4e: 79fb ldrb r3, [r7, #7] + 8006a50: f003 021f and.w r2, r3, #31 + 8006a54: 490a ldr r1, [pc, #40] @ (8006a80 <__NVIC_DisableIRQ+0x44>) + 8006a56: f997 3007 ldrsb.w r3, [r7, #7] + 8006a5a: 095b lsrs r3, r3, #5 + 8006a5c: 2001 movs r0, #1 + 8006a5e: fa00 f202 lsl.w r2, r0, r2 + 8006a62: 3320 adds r3, #32 + 8006a64: f841 2023 str.w r2, [r1, r3, lsl #2] __ASM volatile ("dsb 0xF":::"memory"); - 800656c: f3bf 8f4f dsb sy + 8006a68: f3bf 8f4f dsb sy } - 8006570: bf00 nop + 8006a6c: bf00 nop __ASM volatile ("isb 0xF":::"memory"); - 8006572: f3bf 8f6f isb sy + 8006a6e: f3bf 8f6f isb sy } - 8006576: bf00 nop + 8006a72: bf00 nop } - 8006578: bf00 nop - 800657a: 370c adds r7, #12 - 800657c: 46bd mov sp, r7 - 800657e: f85d 7b04 ldr.w r7, [sp], #4 - 8006582: 4770 bx lr - 8006584: e000e100 .word 0xe000e100 + 8006a74: bf00 nop + 8006a76: 370c adds r7, #12 + 8006a78: 46bd mov sp, r7 + 8006a7a: f85d 7b04 ldr.w r7, [sp], #4 + 8006a7e: 4770 bx lr + 8006a80: e000e100 .word 0xe000e100 -08006588 <__NVIC_SetPendingIRQ>: +08006a84 <__NVIC_SetPendingIRQ>: { - 8006588: b480 push {r7} - 800658a: b083 sub sp, #12 - 800658c: af00 add r7, sp, #0 - 800658e: 4603 mov r3, r0 - 8006590: 71fb strb r3, [r7, #7] + 8006a84: b480 push {r7} + 8006a86: b083 sub sp, #12 + 8006a88: af00 add r7, sp, #0 + 8006a8a: 4603 mov r3, r0 + 8006a8c: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 8006592: f997 3007 ldrsb.w r3, [r7, #7] - 8006596: 2b00 cmp r3, #0 - 8006598: db0c blt.n 80065b4 <__NVIC_SetPendingIRQ+0x2c> + 8006a8e: f997 3007 ldrsb.w r3, [r7, #7] + 8006a92: 2b00 cmp r3, #0 + 8006a94: db0c blt.n 8006ab0 <__NVIC_SetPendingIRQ+0x2c> NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 800659a: 79fb ldrb r3, [r7, #7] - 800659c: f003 021f and.w r2, r3, #31 - 80065a0: 4907 ldr r1, [pc, #28] @ (80065c0 <__NVIC_SetPendingIRQ+0x38>) - 80065a2: f997 3007 ldrsb.w r3, [r7, #7] - 80065a6: 095b lsrs r3, r3, #5 - 80065a8: 2001 movs r0, #1 - 80065aa: fa00 f202 lsl.w r2, r0, r2 - 80065ae: 3340 adds r3, #64 @ 0x40 - 80065b0: f841 2023 str.w r2, [r1, r3, lsl #2] + 8006a96: 79fb ldrb r3, [r7, #7] + 8006a98: f003 021f and.w r2, r3, #31 + 8006a9c: 4907 ldr r1, [pc, #28] @ (8006abc <__NVIC_SetPendingIRQ+0x38>) + 8006a9e: f997 3007 ldrsb.w r3, [r7, #7] + 8006aa2: 095b lsrs r3, r3, #5 + 8006aa4: 2001 movs r0, #1 + 8006aa6: fa00 f202 lsl.w r2, r0, r2 + 8006aaa: 3340 adds r3, #64 @ 0x40 + 8006aac: f841 2023 str.w r2, [r1, r3, lsl #2] } - 80065b4: bf00 nop - 80065b6: 370c adds r7, #12 - 80065b8: 46bd mov sp, r7 - 80065ba: f85d 7b04 ldr.w r7, [sp], #4 - 80065be: 4770 bx lr - 80065c0: e000e100 .word 0xe000e100 + 8006ab0: bf00 nop + 8006ab2: 370c adds r7, #12 + 8006ab4: 46bd mov sp, r7 + 8006ab6: f85d 7b04 ldr.w r7, [sp], #4 + 8006aba: 4770 bx lr + 8006abc: e000e100 .word 0xe000e100 -080065c4 <__NVIC_ClearPendingIRQ>: +08006ac0 <__NVIC_ClearPendingIRQ>: { - 80065c4: b480 push {r7} - 80065c6: b083 sub sp, #12 - 80065c8: af00 add r7, sp, #0 - 80065ca: 4603 mov r3, r0 - 80065cc: 71fb strb r3, [r7, #7] + 8006ac0: b480 push {r7} + 8006ac2: b083 sub sp, #12 + 8006ac4: af00 add r7, sp, #0 + 8006ac6: 4603 mov r3, r0 + 8006ac8: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 80065ce: f997 3007 ldrsb.w r3, [r7, #7] - 80065d2: 2b00 cmp r3, #0 - 80065d4: db0c blt.n 80065f0 <__NVIC_ClearPendingIRQ+0x2c> + 8006aca: f997 3007 ldrsb.w r3, [r7, #7] + 8006ace: 2b00 cmp r3, #0 + 8006ad0: db0c blt.n 8006aec <__NVIC_ClearPendingIRQ+0x2c> NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 80065d6: 79fb ldrb r3, [r7, #7] - 80065d8: f003 021f and.w r2, r3, #31 - 80065dc: 4907 ldr r1, [pc, #28] @ (80065fc <__NVIC_ClearPendingIRQ+0x38>) - 80065de: f997 3007 ldrsb.w r3, [r7, #7] - 80065e2: 095b lsrs r3, r3, #5 - 80065e4: 2001 movs r0, #1 - 80065e6: fa00 f202 lsl.w r2, r0, r2 - 80065ea: 3360 adds r3, #96 @ 0x60 - 80065ec: f841 2023 str.w r2, [r1, r3, lsl #2] + 8006ad2: 79fb ldrb r3, [r7, #7] + 8006ad4: f003 021f and.w r2, r3, #31 + 8006ad8: 4907 ldr r1, [pc, #28] @ (8006af8 <__NVIC_ClearPendingIRQ+0x38>) + 8006ada: f997 3007 ldrsb.w r3, [r7, #7] + 8006ade: 095b lsrs r3, r3, #5 + 8006ae0: 2001 movs r0, #1 + 8006ae2: fa00 f202 lsl.w r2, r0, r2 + 8006ae6: 3360 adds r3, #96 @ 0x60 + 8006ae8: f841 2023 str.w r2, [r1, r3, lsl #2] } - 80065f0: bf00 nop - 80065f2: 370c adds r7, #12 - 80065f4: 46bd mov sp, r7 - 80065f6: f85d 7b04 ldr.w r7, [sp], #4 - 80065fa: 4770 bx lr - 80065fc: e000e100 .word 0xe000e100 + 8006aec: bf00 nop + 8006aee: 370c adds r7, #12 + 8006af0: 46bd mov sp, r7 + 8006af2: f85d 7b04 ldr.w r7, [sp], #4 + 8006af6: 4770 bx lr + 8006af8: e000e100 .word 0xe000e100 -08006600 <__NVIC_SetPriority>: +08006afc <__NVIC_SetPriority>: { - 8006600: b480 push {r7} - 8006602: b083 sub sp, #12 - 8006604: af00 add r7, sp, #0 - 8006606: 4603 mov r3, r0 - 8006608: 6039 str r1, [r7, #0] - 800660a: 71fb strb r3, [r7, #7] + 8006afc: b480 push {r7} + 8006afe: b083 sub sp, #12 + 8006b00: af00 add r7, sp, #0 + 8006b02: 4603 mov r3, r0 + 8006b04: 6039 str r1, [r7, #0] + 8006b06: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 800660c: f997 3007 ldrsb.w r3, [r7, #7] - 8006610: 2b00 cmp r3, #0 - 8006612: db0a blt.n 800662a <__NVIC_SetPriority+0x2a> + 8006b08: f997 3007 ldrsb.w r3, [r7, #7] + 8006b0c: 2b00 cmp r3, #0 + 8006b0e: db0a blt.n 8006b26 <__NVIC_SetPriority+0x2a> NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8006614: 683b ldr r3, [r7, #0] - 8006616: b2da uxtb r2, r3 - 8006618: 490c ldr r1, [pc, #48] @ (800664c <__NVIC_SetPriority+0x4c>) - 800661a: f997 3007 ldrsb.w r3, [r7, #7] - 800661e: 0112 lsls r2, r2, #4 - 8006620: b2d2 uxtb r2, r2 - 8006622: 440b add r3, r1 - 8006624: f883 2300 strb.w r2, [r3, #768] @ 0x300 + 8006b10: 683b ldr r3, [r7, #0] + 8006b12: b2da uxtb r2, r3 + 8006b14: 490c ldr r1, [pc, #48] @ (8006b48 <__NVIC_SetPriority+0x4c>) + 8006b16: f997 3007 ldrsb.w r3, [r7, #7] + 8006b1a: 0112 lsls r2, r2, #4 + 8006b1c: b2d2 uxtb r2, r2 + 8006b1e: 440b add r3, r1 + 8006b20: f883 2300 strb.w r2, [r3, #768] @ 0x300 } - 8006628: e00a b.n 8006640 <__NVIC_SetPriority+0x40> + 8006b24: e00a b.n 8006b3c <__NVIC_SetPriority+0x40> SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 800662a: 683b ldr r3, [r7, #0] - 800662c: b2da uxtb r2, r3 - 800662e: 4908 ldr r1, [pc, #32] @ (8006650 <__NVIC_SetPriority+0x50>) - 8006630: 79fb ldrb r3, [r7, #7] - 8006632: f003 030f and.w r3, r3, #15 - 8006636: 3b04 subs r3, #4 - 8006638: 0112 lsls r2, r2, #4 - 800663a: b2d2 uxtb r2, r2 - 800663c: 440b add r3, r1 - 800663e: 761a strb r2, [r3, #24] + 8006b26: 683b ldr r3, [r7, #0] + 8006b28: b2da uxtb r2, r3 + 8006b2a: 4908 ldr r1, [pc, #32] @ (8006b4c <__NVIC_SetPriority+0x50>) + 8006b2c: 79fb ldrb r3, [r7, #7] + 8006b2e: f003 030f and.w r3, r3, #15 + 8006b32: 3b04 subs r3, #4 + 8006b34: 0112 lsls r2, r2, #4 + 8006b36: b2d2 uxtb r2, r2 + 8006b38: 440b add r3, r1 + 8006b3a: 761a strb r2, [r3, #24] } - 8006640: bf00 nop - 8006642: 370c adds r7, #12 - 8006644: 46bd mov sp, r7 - 8006646: f85d 7b04 ldr.w r7, [sp], #4 - 800664a: 4770 bx lr - 800664c: e000e100 .word 0xe000e100 - 8006650: e000ed00 .word 0xe000ed00 + 8006b3c: bf00 nop + 8006b3e: 370c adds r7, #12 + 8006b40: 46bd mov sp, r7 + 8006b42: f85d 7b04 ldr.w r7, [sp], #4 + 8006b46: 4770 bx lr + 8006b48: e000e100 .word 0xe000e100 + 8006b4c: e000ed00 .word 0xe000ed00 -08006654 : +08006b50 : { - 8006654: b480 push {r7} - 8006656: b089 sub sp, #36 @ 0x24 - 8006658: af00 add r7, sp, #0 - 800665a: 60f8 str r0, [r7, #12] - 800665c: 60b9 str r1, [r7, #8] - 800665e: 607a str r2, [r7, #4] + 8006b50: b480 push {r7} + 8006b52: b089 sub sp, #36 @ 0x24 + 8006b54: af00 add r7, sp, #0 + 8006b56: 60f8 str r0, [r7, #12] + 8006b58: 60b9 str r1, [r7, #8] + 8006b5a: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ - 8006660: 68fb ldr r3, [r7, #12] - 8006662: f003 0307 and.w r3, r3, #7 - 8006666: 61fb str r3, [r7, #28] + 8006b5c: 68fb ldr r3, [r7, #12] + 8006b5e: f003 0307 and.w r3, r3, #7 + 8006b62: 61fb str r3, [r7, #28] PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); - 8006668: 69fb ldr r3, [r7, #28] - 800666a: f1c3 0307 rsb r3, r3, #7 - 800666e: 2b04 cmp r3, #4 - 8006670: bf28 it cs - 8006672: 2304 movcs r3, #4 - 8006674: 61bb str r3, [r7, #24] + 8006b64: 69fb ldr r3, [r7, #28] + 8006b66: f1c3 0307 rsb r3, r3, #7 + 8006b6a: 2b04 cmp r3, #4 + 8006b6c: bf28 it cs + 8006b6e: 2304 movcs r3, #4 + 8006b70: 61bb str r3, [r7, #24] SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); - 8006676: 69fb ldr r3, [r7, #28] - 8006678: 3304 adds r3, #4 - 800667a: 2b06 cmp r3, #6 - 800667c: d902 bls.n 8006684 - 800667e: 69fb ldr r3, [r7, #28] - 8006680: 3b03 subs r3, #3 - 8006682: e000 b.n 8006686 - 8006684: 2300 movs r3, #0 - 8006686: 617b str r3, [r7, #20] + 8006b72: 69fb ldr r3, [r7, #28] + 8006b74: 3304 adds r3, #4 + 8006b76: 2b06 cmp r3, #6 + 8006b78: d902 bls.n 8006b80 + 8006b7a: 69fb ldr r3, [r7, #28] + 8006b7c: 3b03 subs r3, #3 + 8006b7e: e000 b.n 8006b82 + 8006b80: 2300 movs r3, #0 + 8006b82: 617b str r3, [r7, #20] ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 8006688: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 800668c: 69bb ldr r3, [r7, #24] - 800668e: fa02 f303 lsl.w r3, r2, r3 - 8006692: 43da mvns r2, r3 - 8006694: 68bb ldr r3, [r7, #8] - 8006696: 401a ands r2, r3 - 8006698: 697b ldr r3, [r7, #20] - 800669a: 409a lsls r2, r3 + 8006b84: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8006b88: 69bb ldr r3, [r7, #24] + 8006b8a: fa02 f303 lsl.w r3, r2, r3 + 8006b8e: 43da mvns r2, r3 + 8006b90: 68bb ldr r3, [r7, #8] + 8006b92: 401a ands r2, r3 + 8006b94: 697b ldr r3, [r7, #20] + 8006b96: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) - 800669c: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff - 80066a0: 697b ldr r3, [r7, #20] - 80066a2: fa01 f303 lsl.w r3, r1, r3 - 80066a6: 43d9 mvns r1, r3 - 80066a8: 687b ldr r3, [r7, #4] - 80066aa: 400b ands r3, r1 + 8006b98: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff + 8006b9c: 697b ldr r3, [r7, #20] + 8006b9e: fa01 f303 lsl.w r3, r1, r3 + 8006ba2: 43d9 mvns r1, r3 + 8006ba4: 687b ldr r3, [r7, #4] + 8006ba6: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 80066ac: 4313 orrs r3, r2 + 8006ba8: 4313 orrs r3, r2 } - 80066ae: 4618 mov r0, r3 - 80066b0: 3724 adds r7, #36 @ 0x24 - 80066b2: 46bd mov sp, r7 - 80066b4: f85d 7b04 ldr.w r7, [sp], #4 - 80066b8: 4770 bx lr + 8006baa: 4618 mov r0, r3 + 8006bac: 3724 adds r7, #36 @ 0x24 + 8006bae: 46bd mov sp, r7 + 8006bb0: f85d 7b04 ldr.w r7, [sp], #4 + 8006bb4: 4770 bx lr -080066ba : +08006bb6 : * @note When the NVIC_PriorityGroup_0 is selected, IRQ pre-emption is no more possible. * The pending IRQ priority will be managed only by the subpriority. * @retval None */ void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { - 80066ba: b580 push {r7, lr} - 80066bc: b082 sub sp, #8 - 80066be: af00 add r7, sp, #0 - 80066c0: 6078 str r0, [r7, #4] + 8006bb6: b580 push {r7, lr} + 8006bb8: b082 sub sp, #8 + 8006bba: af00 add r7, sp, #0 + 8006bbc: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup)); /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */ NVIC_SetPriorityGrouping(PriorityGroup); - 80066c2: 6878 ldr r0, [r7, #4] - 80066c4: f7ff feec bl 80064a0 <__NVIC_SetPriorityGrouping> + 8006bbe: 6878 ldr r0, [r7, #4] + 8006bc0: f7ff feec bl 800699c <__NVIC_SetPriorityGrouping> } - 80066c8: bf00 nop - 80066ca: 3708 adds r7, #8 - 80066cc: 46bd mov sp, r7 - 80066ce: bd80 pop {r7, pc} + 8006bc4: bf00 nop + 8006bc6: 3708 adds r7, #8 + 8006bc8: 46bd mov sp, r7 + 8006bca: bd80 pop {r7, pc} -080066d0 : +08006bcc : * This parameter can be a value between 0 and 15 * A lower priority value indicates a higher priority. * @retval None */ void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority) { - 80066d0: b580 push {r7, lr} - 80066d2: b086 sub sp, #24 - 80066d4: af00 add r7, sp, #0 - 80066d6: 4603 mov r3, r0 - 80066d8: 60b9 str r1, [r7, #8] - 80066da: 607a str r2, [r7, #4] - 80066dc: 73fb strb r3, [r7, #15] + 8006bcc: b580 push {r7, lr} + 8006bce: b086 sub sp, #24 + 8006bd0: af00 add r7, sp, #0 + 8006bd2: 4603 mov r3, r0 + 8006bd4: 60b9 str r1, [r7, #8] + 8006bd6: 607a str r2, [r7, #4] + 8006bd8: 73fb strb r3, [r7, #15] /* Check the parameters */ assert_param(IS_NVIC_SUB_PRIORITY(SubPriority)); assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority)); prioritygroup = NVIC_GetPriorityGrouping(); - 80066de: f7ff ff03 bl 80064e8 <__NVIC_GetPriorityGrouping> - 80066e2: 6178 str r0, [r7, #20] + 8006bda: f7ff ff03 bl 80069e4 <__NVIC_GetPriorityGrouping> + 8006bde: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); - 80066e4: 687a ldr r2, [r7, #4] - 80066e6: 68b9 ldr r1, [r7, #8] - 80066e8: 6978 ldr r0, [r7, #20] - 80066ea: f7ff ffb3 bl 8006654 - 80066ee: 4602 mov r2, r0 - 80066f0: f997 300f ldrsb.w r3, [r7, #15] - 80066f4: 4611 mov r1, r2 - 80066f6: 4618 mov r0, r3 - 80066f8: f7ff ff82 bl 8006600 <__NVIC_SetPriority> + 8006be0: 687a ldr r2, [r7, #4] + 8006be2: 68b9 ldr r1, [r7, #8] + 8006be4: 6978 ldr r0, [r7, #20] + 8006be6: f7ff ffb3 bl 8006b50 + 8006bea: 4602 mov r2, r0 + 8006bec: f997 300f ldrsb.w r3, [r7, #15] + 8006bf0: 4611 mov r1, r2 + 8006bf2: 4618 mov r0, r3 + 8006bf4: f7ff ff82 bl 8006afc <__NVIC_SetPriority> } - 80066fc: bf00 nop - 80066fe: 3718 adds r7, #24 - 8006700: 46bd mov sp, r7 - 8006702: bd80 pop {r7, pc} + 8006bf8: bf00 nop + 8006bfa: 3718 adds r7, #24 + 8006bfc: 46bd mov sp, r7 + 8006bfe: bd80 pop {r7, pc} -08006704 : +08006c00 : * This parameter can be an enumerator of IRQn_Type enumeration * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32wbxxxx.h)) * @retval None */ void HAL_NVIC_EnableIRQ(IRQn_Type IRQn) { - 8006704: b580 push {r7, lr} - 8006706: b082 sub sp, #8 - 8006708: af00 add r7, sp, #0 - 800670a: 4603 mov r3, r0 - 800670c: 71fb strb r3, [r7, #7] + 8006c00: b580 push {r7, lr} + 8006c02: b082 sub sp, #8 + 8006c04: af00 add r7, sp, #0 + 8006c06: 4603 mov r3, r0 + 8006c08: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Enable interrupt */ NVIC_EnableIRQ(IRQn); - 800670e: f997 3007 ldrsb.w r3, [r7, #7] - 8006712: 4618 mov r0, r3 - 8006714: f7ff fef6 bl 8006504 <__NVIC_EnableIRQ> + 8006c0a: f997 3007 ldrsb.w r3, [r7, #7] + 8006c0e: 4618 mov r0, r3 + 8006c10: f7ff fef6 bl 8006a00 <__NVIC_EnableIRQ> } - 8006718: bf00 nop - 800671a: 3708 adds r7, #8 - 800671c: 46bd mov sp, r7 - 800671e: bd80 pop {r7, pc} + 8006c14: bf00 nop + 8006c16: 3708 adds r7, #8 + 8006c18: 46bd mov sp, r7 + 8006c1a: bd80 pop {r7, pc} -08006720 : +08006c1c : * This parameter can be an enumerator of IRQn_Type enumeration * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32wbxxxx.h)) * @retval None */ void HAL_NVIC_DisableIRQ(IRQn_Type IRQn) { - 8006720: b580 push {r7, lr} - 8006722: b082 sub sp, #8 - 8006724: af00 add r7, sp, #0 - 8006726: 4603 mov r3, r0 - 8006728: 71fb strb r3, [r7, #7] + 8006c1c: b580 push {r7, lr} + 8006c1e: b082 sub sp, #8 + 8006c20: af00 add r7, sp, #0 + 8006c22: 4603 mov r3, r0 + 8006c24: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Disable interrupt */ NVIC_DisableIRQ(IRQn); - 800672a: f997 3007 ldrsb.w r3, [r7, #7] - 800672e: 4618 mov r0, r3 - 8006730: f7ff ff06 bl 8006540 <__NVIC_DisableIRQ> + 8006c26: f997 3007 ldrsb.w r3, [r7, #7] + 8006c2a: 4618 mov r0, r3 + 8006c2c: f7ff ff06 bl 8006a3c <__NVIC_DisableIRQ> } - 8006734: bf00 nop - 8006736: 3708 adds r7, #8 - 8006738: 46bd mov sp, r7 - 800673a: bd80 pop {r7, pc} + 8006c30: bf00 nop + 8006c32: 3708 adds r7, #8 + 8006c34: 46bd mov sp, r7 + 8006c36: bd80 pop {r7, pc} -0800673c : +08006c38 : * This parameter can be an enumerator of IRQn_Type enumeration * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32wbxxxx.h)) * @retval None */ void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn) { - 800673c: b580 push {r7, lr} - 800673e: b082 sub sp, #8 - 8006740: af00 add r7, sp, #0 - 8006742: 4603 mov r3, r0 - 8006744: 71fb strb r3, [r7, #7] + 8006c38: b580 push {r7, lr} + 8006c3a: b082 sub sp, #8 + 8006c3c: af00 add r7, sp, #0 + 8006c3e: 4603 mov r3, r0 + 8006c40: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Set interrupt pending */ NVIC_SetPendingIRQ(IRQn); - 8006746: f997 3007 ldrsb.w r3, [r7, #7] - 800674a: 4618 mov r0, r3 - 800674c: f7ff ff1c bl 8006588 <__NVIC_SetPendingIRQ> + 8006c42: f997 3007 ldrsb.w r3, [r7, #7] + 8006c46: 4618 mov r0, r3 + 8006c48: f7ff ff1c bl 8006a84 <__NVIC_SetPendingIRQ> } - 8006750: bf00 nop - 8006752: 3708 adds r7, #8 - 8006754: 46bd mov sp, r7 - 8006756: bd80 pop {r7, pc} + 8006c4c: bf00 nop + 8006c4e: 3708 adds r7, #8 + 8006c50: 46bd mov sp, r7 + 8006c52: bd80 pop {r7, pc} -08006758 : +08006c54 : * This parameter can be an enumerator of IRQn_Type enumeration * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32wbxxxx.h)) * @retval None */ void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn) { - 8006758: b580 push {r7, lr} - 800675a: b082 sub sp, #8 - 800675c: af00 add r7, sp, #0 - 800675e: 4603 mov r3, r0 - 8006760: 71fb strb r3, [r7, #7] + 8006c54: b580 push {r7, lr} + 8006c56: b082 sub sp, #8 + 8006c58: af00 add r7, sp, #0 + 8006c5a: 4603 mov r3, r0 + 8006c5c: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Clear pending interrupt */ NVIC_ClearPendingIRQ(IRQn); - 8006762: f997 3007 ldrsb.w r3, [r7, #7] - 8006766: 4618 mov r0, r3 - 8006768: f7ff ff2c bl 80065c4 <__NVIC_ClearPendingIRQ> + 8006c5e: f997 3007 ldrsb.w r3, [r7, #7] + 8006c62: 4618 mov r0, r3 + 8006c64: f7ff ff2c bl 8006ac0 <__NVIC_ClearPendingIRQ> } - 800676c: bf00 nop - 800676e: 3708 adds r7, #8 - 8006770: 46bd mov sp, r7 - 8006772: bd80 pop {r7, pc} + 8006c68: bf00 nop + 8006c6a: 3708 adds r7, #8 + 8006c6c: 46bd mov sp, r7 + 8006c6e: bd80 pop {r7, pc} -08006774 : +08006c70 : * @param hdma Pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Channel. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma) { - 8006774: b580 push {r7, lr} - 8006776: b084 sub sp, #16 - 8006778: af00 add r7, sp, #0 - 800677a: 6078 str r0, [r7, #4] + 8006c70: b580 push {r7, lr} + 8006c72: b084 sub sp, #16 + 8006c74: af00 add r7, sp, #0 + 8006c76: 6078 str r0, [r7, #4] uint32_t tmp; /* Check the DMA handle allocation */ if (hdma == NULL) - 800677c: 687b ldr r3, [r7, #4] - 800677e: 2b00 cmp r3, #0 - 8006780: d101 bne.n 8006786 + 8006c78: 687b ldr r3, [r7, #4] + 8006c7a: 2b00 cmp r3, #0 + 8006c7c: d101 bne.n 8006c82 { return HAL_ERROR; - 8006782: 2301 movs r3, #1 - 8006784: e08e b.n 80068a4 + 8006c7e: 2301 movs r3, #1 + 8006c80: e08e b.n 8006da0 assert_param(IS_DMA_ALL_REQUEST(hdma->Init.Request)); #if defined(DMA2) /* Compute the channel index */ if ((uint32_t)(hdma->Instance) < (uint32_t)(DMA2_Channel1)) - 8006786: 687b ldr r3, [r7, #4] - 8006788: 681b ldr r3, [r3, #0] - 800678a: 461a mov r2, r3 - 800678c: 4b47 ldr r3, [pc, #284] @ (80068ac ) - 800678e: 429a cmp r2, r3 - 8006790: d80f bhi.n 80067b2 + 8006c82: 687b ldr r3, [r7, #4] + 8006c84: 681b ldr r3, [r3, #0] + 8006c86: 461a mov r2, r3 + 8006c88: 4b47 ldr r3, [pc, #284] @ (8006da8 ) + 8006c8a: 429a cmp r2, r3 + 8006c8c: d80f bhi.n 8006cae { /* DMA1 */ hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA1_Channel1) / ((uint32_t)DMA1_Channel2 - (uint32_t)DMA1_Channel1)) << 2U; - 8006792: 687b ldr r3, [r7, #4] - 8006794: 681b ldr r3, [r3, #0] - 8006796: 461a mov r2, r3 - 8006798: 4b45 ldr r3, [pc, #276] @ (80068b0 ) - 800679a: 4413 add r3, r2 - 800679c: 4a45 ldr r2, [pc, #276] @ (80068b4 ) - 800679e: fba2 2303 umull r2, r3, r2, r3 - 80067a2: 091b lsrs r3, r3, #4 - 80067a4: 009a lsls r2, r3, #2 - 80067a6: 687b ldr r3, [r7, #4] - 80067a8: 645a str r2, [r3, #68] @ 0x44 + 8006c8e: 687b ldr r3, [r7, #4] + 8006c90: 681b ldr r3, [r3, #0] + 8006c92: 461a mov r2, r3 + 8006c94: 4b45 ldr r3, [pc, #276] @ (8006dac ) + 8006c96: 4413 add r3, r2 + 8006c98: 4a45 ldr r2, [pc, #276] @ (8006db0 ) + 8006c9a: fba2 2303 umull r2, r3, r2, r3 + 8006c9e: 091b lsrs r3, r3, #4 + 8006ca0: 009a lsls r2, r3, #2 + 8006ca2: 687b ldr r3, [r7, #4] + 8006ca4: 645a str r2, [r3, #68] @ 0x44 hdma->DmaBaseAddress = DMA1; - 80067aa: 687b ldr r3, [r7, #4] - 80067ac: 4a42 ldr r2, [pc, #264] @ (80068b8 ) - 80067ae: 641a str r2, [r3, #64] @ 0x40 - 80067b0: e00e b.n 80067d0 + 8006ca6: 687b ldr r3, [r7, #4] + 8006ca8: 4a42 ldr r2, [pc, #264] @ (8006db4 ) + 8006caa: 641a str r2, [r3, #64] @ 0x40 + 8006cac: e00e b.n 8006ccc } else { /* DMA2 */ hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA2_Channel1) / ((uint32_t)DMA2_Channel2 - (uint32_t)DMA2_Channel1)) << 2U; - 80067b2: 687b ldr r3, [r7, #4] - 80067b4: 681b ldr r3, [r3, #0] - 80067b6: 461a mov r2, r3 - 80067b8: 4b40 ldr r3, [pc, #256] @ (80068bc ) - 80067ba: 4413 add r3, r2 - 80067bc: 4a3d ldr r2, [pc, #244] @ (80068b4 ) - 80067be: fba2 2303 umull r2, r3, r2, r3 - 80067c2: 091b lsrs r3, r3, #4 - 80067c4: 009a lsls r2, r3, #2 - 80067c6: 687b ldr r3, [r7, #4] - 80067c8: 645a str r2, [r3, #68] @ 0x44 + 8006cae: 687b ldr r3, [r7, #4] + 8006cb0: 681b ldr r3, [r3, #0] + 8006cb2: 461a mov r2, r3 + 8006cb4: 4b40 ldr r3, [pc, #256] @ (8006db8 ) + 8006cb6: 4413 add r3, r2 + 8006cb8: 4a3d ldr r2, [pc, #244] @ (8006db0 ) + 8006cba: fba2 2303 umull r2, r3, r2, r3 + 8006cbe: 091b lsrs r3, r3, #4 + 8006cc0: 009a lsls r2, r3, #2 + 8006cc2: 687b ldr r3, [r7, #4] + 8006cc4: 645a str r2, [r3, #68] @ 0x44 hdma->DmaBaseAddress = DMA2; - 80067ca: 687b ldr r3, [r7, #4] - 80067cc: 4a3c ldr r2, [pc, #240] @ (80068c0 ) - 80067ce: 641a str r2, [r3, #64] @ 0x40 + 8006cc6: 687b ldr r3, [r7, #4] + 8006cc8: 4a3c ldr r2, [pc, #240] @ (8006dbc ) + 8006cca: 641a str r2, [r3, #64] @ 0x40 hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA1_Channel1) / ((uint32_t)DMA1_Channel2 - (uint32_t)DMA1_Channel1)) << 2U; hdma->DmaBaseAddress = DMA1; #endif /* DMA2 */ /* Change DMA peripheral state */ hdma->State = HAL_DMA_STATE_BUSY; - 80067d0: 687b ldr r3, [r7, #4] - 80067d2: 2202 movs r2, #2 - 80067d4: f883 2025 strb.w r2, [r3, #37] @ 0x25 + 8006ccc: 687b ldr r3, [r7, #4] + 8006cce: 2202 movs r2, #2 + 8006cd0: f883 2025 strb.w r2, [r3, #37] @ 0x25 /* Get the CR register value */ tmp = hdma->Instance->CCR; - 80067d8: 687b ldr r3, [r7, #4] - 80067da: 681b ldr r3, [r3, #0] - 80067dc: 681b ldr r3, [r3, #0] - 80067de: 60fb str r3, [r7, #12] + 8006cd4: 687b ldr r3, [r7, #4] + 8006cd6: 681b ldr r3, [r3, #0] + 8006cd8: 681b ldr r3, [r3, #0] + 8006cda: 60fb str r3, [r7, #12] /* Clear PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR and MEM2MEM bits */ tmp &= ((uint32_t)~(DMA_CCR_PL | DMA_CCR_MSIZE | DMA_CCR_PSIZE | - 80067e0: 68fb ldr r3, [r7, #12] - 80067e2: f423 43ff bic.w r3, r3, #32640 @ 0x7f80 - 80067e6: f023 0370 bic.w r3, r3, #112 @ 0x70 - 80067ea: 60fb str r3, [r7, #12] + 8006cdc: 68fb ldr r3, [r7, #12] + 8006cde: f423 43ff bic.w r3, r3, #32640 @ 0x7f80 + 8006ce2: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8006ce6: 60fb str r3, [r7, #12] DMA_CCR_MINC | DMA_CCR_PINC | DMA_CCR_CIRC | DMA_CCR_DIR | DMA_CCR_MEM2MEM)); /* Prepare the DMA Channel configuration */ tmp |= hdma->Init.Direction | - 80067ec: 687b ldr r3, [r7, #4] - 80067ee: 689a ldr r2, [r3, #8] + 8006ce8: 687b ldr r3, [r7, #4] + 8006cea: 689a ldr r2, [r3, #8] hdma->Init.PeriphInc | hdma->Init.MemInc | - 80067f0: 687b ldr r3, [r7, #4] - 80067f2: 68db ldr r3, [r3, #12] + 8006cec: 687b ldr r3, [r7, #4] + 8006cee: 68db ldr r3, [r3, #12] tmp |= hdma->Init.Direction | - 80067f4: 431a orrs r2, r3 + 8006cf0: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | - 80067f6: 687b ldr r3, [r7, #4] - 80067f8: 691b ldr r3, [r3, #16] - 80067fa: 431a orrs r2, r3 + 8006cf2: 687b ldr r3, [r7, #4] + 8006cf4: 691b ldr r3, [r3, #16] + 8006cf6: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | - 80067fc: 687b ldr r3, [r7, #4] - 80067fe: 695b ldr r3, [r3, #20] + 8006cf8: 687b ldr r3, [r7, #4] + 8006cfa: 695b ldr r3, [r3, #20] hdma->Init.PeriphInc | hdma->Init.MemInc | - 8006800: 431a orrs r2, r3 + 8006cfc: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | - 8006802: 687b ldr r3, [r7, #4] - 8006804: 699b ldr r3, [r3, #24] - 8006806: 431a orrs r2, r3 + 8006cfe: 687b ldr r3, [r7, #4] + 8006d00: 699b ldr r3, [r3, #24] + 8006d02: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; - 8006808: 687b ldr r3, [r7, #4] - 800680a: 69db ldr r3, [r3, #28] + 8006d04: 687b ldr r3, [r7, #4] + 8006d06: 69db ldr r3, [r3, #28] hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | - 800680c: 431a orrs r2, r3 + 8006d08: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; - 800680e: 687b ldr r3, [r7, #4] - 8006810: 6a1b ldr r3, [r3, #32] - 8006812: 4313 orrs r3, r2 + 8006d0a: 687b ldr r3, [r7, #4] + 8006d0c: 6a1b ldr r3, [r3, #32] + 8006d0e: 4313 orrs r3, r2 tmp |= hdma->Init.Direction | - 8006814: 68fa ldr r2, [r7, #12] - 8006816: 4313 orrs r3, r2 - 8006818: 60fb str r3, [r7, #12] + 8006d10: 68fa ldr r2, [r7, #12] + 8006d12: 4313 orrs r3, r2 + 8006d14: 60fb str r3, [r7, #12] /* Write to DMA Channel CR register */ hdma->Instance->CCR = tmp; - 800681a: 687b ldr r3, [r7, #4] - 800681c: 681b ldr r3, [r3, #0] - 800681e: 68fa ldr r2, [r7, #12] - 8006820: 601a str r2, [r3, #0] + 8006d16: 687b ldr r3, [r7, #4] + 8006d18: 681b ldr r3, [r3, #0] + 8006d1a: 68fa ldr r2, [r7, #12] + 8006d1c: 601a str r2, [r3, #0] /* Initialize parameters for DMAMUX channel : DMAmuxChannel, DMAmuxChannelStatus and DMAmuxChannelStatusMask */ DMA_CalcDMAMUXChannelBaseAndMask(hdma); - 8006822: 6878 ldr r0, [r7, #4] - 8006824: f000 fa24 bl 8006c70 + 8006d1e: 6878 ldr r0, [r7, #4] + 8006d20: f000 fa82 bl 8007228 if (hdma->Init.Direction == DMA_MEMORY_TO_MEMORY) - 8006828: 687b ldr r3, [r7, #4] - 800682a: 689b ldr r3, [r3, #8] - 800682c: f5b3 4f80 cmp.w r3, #16384 @ 0x4000 - 8006830: d102 bne.n 8006838 + 8006d24: 687b ldr r3, [r7, #4] + 8006d26: 689b ldr r3, [r3, #8] + 8006d28: f5b3 4f80 cmp.w r3, #16384 @ 0x4000 + 8006d2c: d102 bne.n 8006d34 { /* if memory to memory force the request to 0*/ hdma->Init.Request = DMA_REQUEST_MEM2MEM; - 8006832: 687b ldr r3, [r7, #4] - 8006834: 2200 movs r2, #0 - 8006836: 605a str r2, [r3, #4] + 8006d2e: 687b ldr r3, [r7, #4] + 8006d30: 2200 movs r2, #0 + 8006d32: 605a str r2, [r3, #4] } /* Set peripheral request to DMAMUX channel */ hdma->DMAmuxChannel->CCR = (hdma->Init.Request & DMAMUX_CxCR_DMAREQ_ID); - 8006838: 687b ldr r3, [r7, #4] - 800683a: 685a ldr r2, [r3, #4] - 800683c: 687b ldr r3, [r7, #4] - 800683e: 6c9b ldr r3, [r3, #72] @ 0x48 - 8006840: f002 023f and.w r2, r2, #63 @ 0x3f - 8006844: 601a str r2, [r3, #0] + 8006d34: 687b ldr r3, [r7, #4] + 8006d36: 685a ldr r2, [r3, #4] + 8006d38: 687b ldr r3, [r7, #4] + 8006d3a: 6c9b ldr r3, [r3, #72] @ 0x48 + 8006d3c: f002 023f and.w r2, r2, #63 @ 0x3f + 8006d40: 601a str r2, [r3, #0] /* Clear the DMAMUX synchro overrun flag */ hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; - 8006846: 687b ldr r3, [r7, #4] - 8006848: 6cdb ldr r3, [r3, #76] @ 0x4c - 800684a: 687a ldr r2, [r7, #4] - 800684c: 6d12 ldr r2, [r2, #80] @ 0x50 - 800684e: 605a str r2, [r3, #4] + 8006d42: 687b ldr r3, [r7, #4] + 8006d44: 6cdb ldr r3, [r3, #76] @ 0x4c + 8006d46: 687a ldr r2, [r7, #4] + 8006d48: 6d12 ldr r2, [r2, #80] @ 0x50 + 8006d4a: 605a str r2, [r3, #4] if (((hdma->Init.Request > 0U) && (hdma->Init.Request <= DMA_REQUEST_GENERATOR3))) - 8006850: 687b ldr r3, [r7, #4] - 8006852: 685b ldr r3, [r3, #4] - 8006854: 2b00 cmp r3, #0 - 8006856: d010 beq.n 800687a - 8006858: 687b ldr r3, [r7, #4] - 800685a: 685b ldr r3, [r3, #4] - 800685c: 2b04 cmp r3, #4 - 800685e: d80c bhi.n 800687a + 8006d4c: 687b ldr r3, [r7, #4] + 8006d4e: 685b ldr r3, [r3, #4] + 8006d50: 2b00 cmp r3, #0 + 8006d52: d010 beq.n 8006d76 + 8006d54: 687b ldr r3, [r7, #4] + 8006d56: 685b ldr r3, [r3, #4] + 8006d58: 2b04 cmp r3, #4 + 8006d5a: d80c bhi.n 8006d76 { /* Initialize parameters for DMAMUX request generator : DMAmuxRequestGen, DMAmuxRequestGenStatus and DMAmuxRequestGenStatusMask */ DMA_CalcDMAMUXRequestGenBaseAndMask(hdma); - 8006860: 6878 ldr r0, [r7, #4] - 8006862: f000 fa43 bl 8006cec + 8006d5c: 6878 ldr r0, [r7, #4] + 8006d5e: f000 faa1 bl 80072a4 /* Reset the DMAMUX request generator register*/ hdma->DMAmuxRequestGen->RGCR = 0U; - 8006866: 687b ldr r3, [r7, #4] - 8006868: 6d5b ldr r3, [r3, #84] @ 0x54 - 800686a: 2200 movs r2, #0 - 800686c: 601a str r2, [r3, #0] + 8006d62: 687b ldr r3, [r7, #4] + 8006d64: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006d66: 2200 movs r2, #0 + 8006d68: 601a str r2, [r3, #0] /* Clear the DMAMUX request generator overrun flag */ hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; - 800686e: 687b ldr r3, [r7, #4] - 8006870: 6d9b ldr r3, [r3, #88] @ 0x58 - 8006872: 687a ldr r2, [r7, #4] - 8006874: 6dd2 ldr r2, [r2, #92] @ 0x5c - 8006876: 605a str r2, [r3, #4] - 8006878: e008 b.n 800688c + 8006d6a: 687b ldr r3, [r7, #4] + 8006d6c: 6d9b ldr r3, [r3, #88] @ 0x58 + 8006d6e: 687a ldr r2, [r7, #4] + 8006d70: 6dd2 ldr r2, [r2, #92] @ 0x5c + 8006d72: 605a str r2, [r3, #4] + 8006d74: e008 b.n 8006d88 } else { hdma->DMAmuxRequestGen = 0U; - 800687a: 687b ldr r3, [r7, #4] - 800687c: 2200 movs r2, #0 - 800687e: 655a str r2, [r3, #84] @ 0x54 + 8006d76: 687b ldr r3, [r7, #4] + 8006d78: 2200 movs r2, #0 + 8006d7a: 655a str r2, [r3, #84] @ 0x54 hdma->DMAmuxRequestGenStatus = 0U; - 8006880: 687b ldr r3, [r7, #4] - 8006882: 2200 movs r2, #0 - 8006884: 659a str r2, [r3, #88] @ 0x58 + 8006d7c: 687b ldr r3, [r7, #4] + 8006d7e: 2200 movs r2, #0 + 8006d80: 659a str r2, [r3, #88] @ 0x58 hdma->DMAmuxRequestGenStatusMask = 0U; - 8006886: 687b ldr r3, [r7, #4] - 8006888: 2200 movs r2, #0 - 800688a: 65da str r2, [r3, #92] @ 0x5c + 8006d82: 687b ldr r3, [r7, #4] + 8006d84: 2200 movs r2, #0 + 8006d86: 65da str r2, [r3, #92] @ 0x5c } /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; - 800688c: 687b ldr r3, [r7, #4] - 800688e: 2200 movs r2, #0 - 8006890: 63da str r2, [r3, #60] @ 0x3c + 8006d88: 687b ldr r3, [r7, #4] + 8006d8a: 2200 movs r2, #0 + 8006d8c: 63da str r2, [r3, #60] @ 0x3c /* Initialize the DMA state*/ hdma->State = HAL_DMA_STATE_READY; - 8006892: 687b ldr r3, [r7, #4] - 8006894: 2201 movs r2, #1 - 8006896: f883 2025 strb.w r2, [r3, #37] @ 0x25 + 8006d8e: 687b ldr r3, [r7, #4] + 8006d90: 2201 movs r2, #1 + 8006d92: f883 2025 strb.w r2, [r3, #37] @ 0x25 /* Allocate lock resource and initialize it */ hdma->Lock = HAL_UNLOCKED; - 800689a: 687b ldr r3, [r7, #4] - 800689c: 2200 movs r2, #0 - 800689e: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 8006d96: 687b ldr r3, [r7, #4] + 8006d98: 2200 movs r2, #0 + 8006d9a: f883 2024 strb.w r2, [r3, #36] @ 0x24 return HAL_OK; - 80068a2: 2300 movs r3, #0 + 8006d9e: 2300 movs r3, #0 } - 80068a4: 4618 mov r0, r3 - 80068a6: 3710 adds r7, #16 - 80068a8: 46bd mov sp, r7 - 80068aa: bd80 pop {r7, pc} - 80068ac: 40020407 .word 0x40020407 - 80068b0: bffdfff8 .word 0xbffdfff8 - 80068b4: cccccccd .word 0xcccccccd - 80068b8: 40020000 .word 0x40020000 - 80068bc: bffdfbf8 .word 0xbffdfbf8 - 80068c0: 40020400 .word 0x40020400 + 8006da0: 4618 mov r0, r3 + 8006da2: 3710 adds r7, #16 + 8006da4: 46bd mov sp, r7 + 8006da6: bd80 pop {r7, pc} + 8006da8: 40020407 .word 0x40020407 + 8006dac: bffdfff8 .word 0xbffdfff8 + 8006db0: cccccccd .word 0xcccccccd + 8006db4: 40020000 .word 0x40020000 + 8006db8: bffdfbf8 .word 0xbffdfbf8 + 8006dbc: 40020400 .word 0x40020400 -080068c4 : +08006dc0 : * @param DataLength The length of data to be transferred from source to destination * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) { - 80068c4: b580 push {r7, lr} - 80068c6: b086 sub sp, #24 - 80068c8: af00 add r7, sp, #0 - 80068ca: 60f8 str r0, [r7, #12] - 80068cc: 60b9 str r1, [r7, #8] - 80068ce: 607a str r2, [r7, #4] - 80068d0: 603b str r3, [r7, #0] + 8006dc0: b580 push {r7, lr} + 8006dc2: b086 sub sp, #24 + 8006dc4: af00 add r7, sp, #0 + 8006dc6: 60f8 str r0, [r7, #12] + 8006dc8: 60b9 str r1, [r7, #8] + 8006dca: 607a str r2, [r7, #4] + 8006dcc: 603b str r3, [r7, #0] HAL_StatusTypeDef status = HAL_OK; - 80068d2: 2300 movs r3, #0 - 80068d4: 75fb strb r3, [r7, #23] + 8006dce: 2300 movs r3, #0 + 8006dd0: 75fb strb r3, [r7, #23] /* Check the parameters */ assert_param(IS_DMA_BUFFER_SIZE(DataLength)); /* Process locked */ __HAL_LOCK(hdma); - 80068d6: 68fb ldr r3, [r7, #12] - 80068d8: f893 3024 ldrb.w r3, [r3, #36] @ 0x24 - 80068dc: 2b01 cmp r3, #1 - 80068de: d101 bne.n 80068e4 - 80068e0: 2302 movs r3, #2 - 80068e2: e066 b.n 80069b2 - 80068e4: 68fb ldr r3, [r7, #12] - 80068e6: 2201 movs r2, #1 - 80068e8: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 8006dd2: 68fb ldr r3, [r7, #12] + 8006dd4: f893 3024 ldrb.w r3, [r3, #36] @ 0x24 + 8006dd8: 2b01 cmp r3, #1 + 8006dda: d101 bne.n 8006de0 + 8006ddc: 2302 movs r3, #2 + 8006dde: e066 b.n 8006eae + 8006de0: 68fb ldr r3, [r7, #12] + 8006de2: 2201 movs r2, #1 + 8006de4: f883 2024 strb.w r2, [r3, #36] @ 0x24 if (HAL_DMA_STATE_READY == hdma->State) - 80068ec: 68fb ldr r3, [r7, #12] - 80068ee: f893 3025 ldrb.w r3, [r3, #37] @ 0x25 - 80068f2: b2db uxtb r3, r3 - 80068f4: 2b01 cmp r3, #1 - 80068f6: d155 bne.n 80069a4 + 8006de8: 68fb ldr r3, [r7, #12] + 8006dea: f893 3025 ldrb.w r3, [r3, #37] @ 0x25 + 8006dee: b2db uxtb r3, r3 + 8006df0: 2b01 cmp r3, #1 + 8006df2: d155 bne.n 8006ea0 { /* Change DMA peripheral state */ hdma->State = HAL_DMA_STATE_BUSY; - 80068f8: 68fb ldr r3, [r7, #12] - 80068fa: 2202 movs r2, #2 - 80068fc: f883 2025 strb.w r2, [r3, #37] @ 0x25 + 8006df4: 68fb ldr r3, [r7, #12] + 8006df6: 2202 movs r2, #2 + 8006df8: f883 2025 strb.w r2, [r3, #37] @ 0x25 hdma->ErrorCode = HAL_DMA_ERROR_NONE; - 8006900: 68fb ldr r3, [r7, #12] - 8006902: 2200 movs r2, #0 - 8006904: 63da str r2, [r3, #60] @ 0x3c + 8006dfc: 68fb ldr r3, [r7, #12] + 8006dfe: 2200 movs r2, #0 + 8006e00: 63da str r2, [r3, #60] @ 0x3c /* Disable the peripheral */ __HAL_DMA_DISABLE(hdma); - 8006906: 68fb ldr r3, [r7, #12] - 8006908: 681b ldr r3, [r3, #0] - 800690a: 681a ldr r2, [r3, #0] - 800690c: 68fb ldr r3, [r7, #12] - 800690e: 681b ldr r3, [r3, #0] - 8006910: f022 0201 bic.w r2, r2, #1 - 8006914: 601a str r2, [r3, #0] + 8006e02: 68fb ldr r3, [r7, #12] + 8006e04: 681b ldr r3, [r3, #0] + 8006e06: 681a ldr r2, [r3, #0] + 8006e08: 68fb ldr r3, [r7, #12] + 8006e0a: 681b ldr r3, [r3, #0] + 8006e0c: f022 0201 bic.w r2, r2, #1 + 8006e10: 601a str r2, [r3, #0] /* Configure the source, destination address and the data length & clear flags*/ DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); - 8006916: 683b ldr r3, [r7, #0] - 8006918: 687a ldr r2, [r7, #4] - 800691a: 68b9 ldr r1, [r7, #8] - 800691c: 68f8 ldr r0, [r7, #12] - 800691e: f000 f968 bl 8006bf2 + 8006e12: 683b ldr r3, [r7, #0] + 8006e14: 687a ldr r2, [r7, #4] + 8006e16: 68b9 ldr r1, [r7, #8] + 8006e18: 68f8 ldr r0, [r7, #12] + 8006e1a: f000 f9c7 bl 80071ac /* Enable the transfer complete interrupt */ /* Enable the transfer Error interrupt */ if (NULL != hdma->XferHalfCpltCallback) - 8006922: 68fb ldr r3, [r7, #12] - 8006924: 6b1b ldr r3, [r3, #48] @ 0x30 - 8006926: 2b00 cmp r3, #0 - 8006928: d008 beq.n 800693c + 8006e1e: 68fb ldr r3, [r7, #12] + 8006e20: 6b1b ldr r3, [r3, #48] @ 0x30 + 8006e22: 2b00 cmp r3, #0 + 8006e24: d008 beq.n 8006e38 { /* Enable the Half transfer complete interrupt as well */ __HAL_DMA_ENABLE_IT(hdma, (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE)); - 800692a: 68fb ldr r3, [r7, #12] - 800692c: 681b ldr r3, [r3, #0] - 800692e: 681a ldr r2, [r3, #0] - 8006930: 68fb ldr r3, [r7, #12] - 8006932: 681b ldr r3, [r3, #0] - 8006934: f042 020e orr.w r2, r2, #14 - 8006938: 601a str r2, [r3, #0] - 800693a: e00f b.n 800695c + 8006e26: 68fb ldr r3, [r7, #12] + 8006e28: 681b ldr r3, [r3, #0] + 8006e2a: 681a ldr r2, [r3, #0] + 8006e2c: 68fb ldr r3, [r7, #12] + 8006e2e: 681b ldr r3, [r3, #0] + 8006e30: f042 020e orr.w r2, r2, #14 + 8006e34: 601a str r2, [r3, #0] + 8006e36: e00f b.n 8006e58 } else { __HAL_DMA_DISABLE_IT(hdma, DMA_IT_HT); - 800693c: 68fb ldr r3, [r7, #12] - 800693e: 681b ldr r3, [r3, #0] - 8006940: 681a ldr r2, [r3, #0] - 8006942: 68fb ldr r3, [r7, #12] - 8006944: 681b ldr r3, [r3, #0] - 8006946: f022 0204 bic.w r2, r2, #4 - 800694a: 601a str r2, [r3, #0] + 8006e38: 68fb ldr r3, [r7, #12] + 8006e3a: 681b ldr r3, [r3, #0] + 8006e3c: 681a ldr r2, [r3, #0] + 8006e3e: 68fb ldr r3, [r7, #12] + 8006e40: 681b ldr r3, [r3, #0] + 8006e42: f022 0204 bic.w r2, r2, #4 + 8006e46: 601a str r2, [r3, #0] __HAL_DMA_ENABLE_IT(hdma, (DMA_IT_TC | DMA_IT_TE)); - 800694c: 68fb ldr r3, [r7, #12] - 800694e: 681b ldr r3, [r3, #0] - 8006950: 681a ldr r2, [r3, #0] - 8006952: 68fb ldr r3, [r7, #12] - 8006954: 681b ldr r3, [r3, #0] - 8006956: f042 020a orr.w r2, r2, #10 - 800695a: 601a str r2, [r3, #0] + 8006e48: 68fb ldr r3, [r7, #12] + 8006e4a: 681b ldr r3, [r3, #0] + 8006e4c: 681a ldr r2, [r3, #0] + 8006e4e: 68fb ldr r3, [r7, #12] + 8006e50: 681b ldr r3, [r3, #0] + 8006e52: f042 020a orr.w r2, r2, #10 + 8006e56: 601a str r2, [r3, #0] } /* Check if DMAMUX Synchronization is enabled*/ if ((hdma->DMAmuxChannel->CCR & DMAMUX_CxCR_SE) != 0U) - 800695c: 68fb ldr r3, [r7, #12] - 800695e: 6c9b ldr r3, [r3, #72] @ 0x48 - 8006960: 681b ldr r3, [r3, #0] - 8006962: f403 3380 and.w r3, r3, #65536 @ 0x10000 - 8006966: 2b00 cmp r3, #0 - 8006968: d007 beq.n 800697a + 8006e58: 68fb ldr r3, [r7, #12] + 8006e5a: 6c9b ldr r3, [r3, #72] @ 0x48 + 8006e5c: 681b ldr r3, [r3, #0] + 8006e5e: f403 3380 and.w r3, r3, #65536 @ 0x10000 + 8006e62: 2b00 cmp r3, #0 + 8006e64: d007 beq.n 8006e76 { /* Enable DMAMUX sync overrun IT*/ hdma->DMAmuxChannel->CCR |= DMAMUX_CxCR_SOIE; - 800696a: 68fb ldr r3, [r7, #12] - 800696c: 6c9b ldr r3, [r3, #72] @ 0x48 - 800696e: 681a ldr r2, [r3, #0] - 8006970: 68fb ldr r3, [r7, #12] - 8006972: 6c9b ldr r3, [r3, #72] @ 0x48 - 8006974: f442 7280 orr.w r2, r2, #256 @ 0x100 - 8006978: 601a str r2, [r3, #0] + 8006e66: 68fb ldr r3, [r7, #12] + 8006e68: 6c9b ldr r3, [r3, #72] @ 0x48 + 8006e6a: 681a ldr r2, [r3, #0] + 8006e6c: 68fb ldr r3, [r7, #12] + 8006e6e: 6c9b ldr r3, [r3, #72] @ 0x48 + 8006e70: f442 7280 orr.w r2, r2, #256 @ 0x100 + 8006e74: 601a str r2, [r3, #0] } if (hdma->DMAmuxRequestGen != 0U) - 800697a: 68fb ldr r3, [r7, #12] - 800697c: 6d5b ldr r3, [r3, #84] @ 0x54 - 800697e: 2b00 cmp r3, #0 - 8006980: d007 beq.n 8006992 + 8006e76: 68fb ldr r3, [r7, #12] + 8006e78: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006e7a: 2b00 cmp r3, #0 + 8006e7c: d007 beq.n 8006e8e { /* if using DMAMUX request generator, enable the DMAMUX request generator overrun IT*/ /* enable the request gen overrun IT*/ hdma->DMAmuxRequestGen->RGCR |= DMAMUX_RGxCR_OIE; - 8006982: 68fb ldr r3, [r7, #12] - 8006984: 6d5b ldr r3, [r3, #84] @ 0x54 - 8006986: 681a ldr r2, [r3, #0] - 8006988: 68fb ldr r3, [r7, #12] - 800698a: 6d5b ldr r3, [r3, #84] @ 0x54 - 800698c: f442 7280 orr.w r2, r2, #256 @ 0x100 - 8006990: 601a str r2, [r3, #0] + 8006e7e: 68fb ldr r3, [r7, #12] + 8006e80: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006e82: 681a ldr r2, [r3, #0] + 8006e84: 68fb ldr r3, [r7, #12] + 8006e86: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006e88: f442 7280 orr.w r2, r2, #256 @ 0x100 + 8006e8c: 601a str r2, [r3, #0] } /* Enable the Peripheral */ __HAL_DMA_ENABLE(hdma); - 8006992: 68fb ldr r3, [r7, #12] - 8006994: 681b ldr r3, [r3, #0] - 8006996: 681a ldr r2, [r3, #0] - 8006998: 68fb ldr r3, [r7, #12] - 800699a: 681b ldr r3, [r3, #0] - 800699c: f042 0201 orr.w r2, r2, #1 - 80069a0: 601a str r2, [r3, #0] - 80069a2: e005 b.n 80069b0 + 8006e8e: 68fb ldr r3, [r7, #12] + 8006e90: 681b ldr r3, [r3, #0] + 8006e92: 681a ldr r2, [r3, #0] + 8006e94: 68fb ldr r3, [r7, #12] + 8006e96: 681b ldr r3, [r3, #0] + 8006e98: f042 0201 orr.w r2, r2, #1 + 8006e9c: 601a str r2, [r3, #0] + 8006e9e: e005 b.n 8006eac } else { /* Process Unlocked */ __HAL_UNLOCK(hdma); - 80069a4: 68fb ldr r3, [r7, #12] - 80069a6: 2200 movs r2, #0 - 80069a8: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 8006ea0: 68fb ldr r3, [r7, #12] + 8006ea2: 2200 movs r2, #0 + 8006ea4: f883 2024 strb.w r2, [r3, #36] @ 0x24 /* Remain BUSY */ status = HAL_BUSY; - 80069ac: 2302 movs r3, #2 - 80069ae: 75fb strb r3, [r7, #23] + 8006ea8: 2302 movs r3, #2 + 8006eaa: 75fb strb r3, [r7, #23] } return status; - 80069b0: 7dfb ldrb r3, [r7, #23] + 8006eac: 7dfb ldrb r3, [r7, #23] } - 80069b2: 4618 mov r0, r3 - 80069b4: 3718 adds r7, #24 - 80069b6: 46bd mov sp, r7 - 80069b8: bd80 pop {r7, pc} + 8006eae: 4618 mov r0, r3 + 8006eb0: 3718 adds r7, #24 + 8006eb2: 46bd mov sp, r7 + 8006eb4: bd80 pop {r7, pc} -080069ba : +08006eb6 : + * @param hdma Pointer to a DMA_HandleTypeDef structure that contains + * the configuration information for the specified DMA Channel. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma) +{ + 8006eb6: b480 push {r7} + 8006eb8: b083 sub sp, #12 + 8006eba: af00 add r7, sp, #0 + 8006ebc: 6078 str r0, [r7, #4] + + /* Check the DMA peripheral handle */ + if (NULL == hdma) + 8006ebe: 687b ldr r3, [r7, #4] + 8006ec0: 2b00 cmp r3, #0 + 8006ec2: d101 bne.n 8006ec8 + { + return HAL_ERROR; + 8006ec4: 2301 movs r3, #1 + 8006ec6: e04f b.n 8006f68 + } + + /* Check the DMA peripheral state */ + if (hdma->State != HAL_DMA_STATE_BUSY) + 8006ec8: 687b ldr r3, [r7, #4] + 8006eca: f893 3025 ldrb.w r3, [r3, #37] @ 0x25 + 8006ece: b2db uxtb r3, r3 + 8006ed0: 2b02 cmp r3, #2 + 8006ed2: d008 beq.n 8006ee6 + { + hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; + 8006ed4: 687b ldr r3, [r7, #4] + 8006ed6: 2204 movs r2, #4 + 8006ed8: 63da str r2, [r3, #60] @ 0x3c + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + 8006eda: 687b ldr r3, [r7, #4] + 8006edc: 2200 movs r2, #0 + 8006ede: f883 2024 strb.w r2, [r3, #36] @ 0x24 + + return HAL_ERROR; + 8006ee2: 2301 movs r3, #1 + 8006ee4: e040 b.n 8006f68 + } + else + { + /* Disable DMA IT */ + __HAL_DMA_DISABLE_IT(hdma, (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE)); + 8006ee6: 687b ldr r3, [r7, #4] + 8006ee8: 681b ldr r3, [r3, #0] + 8006eea: 681a ldr r2, [r3, #0] + 8006eec: 687b ldr r3, [r7, #4] + 8006eee: 681b ldr r3, [r3, #0] + 8006ef0: f022 020e bic.w r2, r2, #14 + 8006ef4: 601a str r2, [r3, #0] + + /* disable the DMAMUX sync overrun IT*/ + hdma->DMAmuxChannel->CCR &= ~DMAMUX_CxCR_SOIE; + 8006ef6: 687b ldr r3, [r7, #4] + 8006ef8: 6c9b ldr r3, [r3, #72] @ 0x48 + 8006efa: 681a ldr r2, [r3, #0] + 8006efc: 687b ldr r3, [r7, #4] + 8006efe: 6c9b ldr r3, [r3, #72] @ 0x48 + 8006f00: f422 7280 bic.w r2, r2, #256 @ 0x100 + 8006f04: 601a str r2, [r3, #0] + + /* Disable the channel */ + __HAL_DMA_DISABLE(hdma); + 8006f06: 687b ldr r3, [r7, #4] + 8006f08: 681b ldr r3, [r3, #0] + 8006f0a: 681a ldr r2, [r3, #0] + 8006f0c: 687b ldr r3, [r7, #4] + 8006f0e: 681b ldr r3, [r3, #0] + 8006f10: f022 0201 bic.w r2, r2, #1 + 8006f14: 601a str r2, [r3, #0] + + /* Clear all flags */ + hdma->DmaBaseAddress->IFCR = (DMA_ISR_GIF1 << (hdma->ChannelIndex & 0x1cU)); + 8006f16: 687b ldr r3, [r7, #4] + 8006f18: 6c5b ldr r3, [r3, #68] @ 0x44 + 8006f1a: f003 021c and.w r2, r3, #28 + 8006f1e: 687b ldr r3, [r7, #4] + 8006f20: 6c1b ldr r3, [r3, #64] @ 0x40 + 8006f22: 2101 movs r1, #1 + 8006f24: fa01 f202 lsl.w r2, r1, r2 + 8006f28: 605a str r2, [r3, #4] + + /* Clear the DMAMUX synchro overrun flag */ + hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; + 8006f2a: 687b ldr r3, [r7, #4] + 8006f2c: 6cdb ldr r3, [r3, #76] @ 0x4c + 8006f2e: 687a ldr r2, [r7, #4] + 8006f30: 6d12 ldr r2, [r2, #80] @ 0x50 + 8006f32: 605a str r2, [r3, #4] + + if (hdma->DMAmuxRequestGen != 0U) + 8006f34: 687b ldr r3, [r7, #4] + 8006f36: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006f38: 2b00 cmp r3, #0 + 8006f3a: d00c beq.n 8006f56 + { + /* if using DMAMUX request generator, disable the DMAMUX request generator overrun IT*/ + /* disable the request gen overrun IT*/ + hdma->DMAmuxRequestGen->RGCR &= ~DMAMUX_RGxCR_OIE; + 8006f3c: 687b ldr r3, [r7, #4] + 8006f3e: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006f40: 681a ldr r2, [r3, #0] + 8006f42: 687b ldr r3, [r7, #4] + 8006f44: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006f46: f422 7280 bic.w r2, r2, #256 @ 0x100 + 8006f4a: 601a str r2, [r3, #0] + + /* Clear the DMAMUX request generator overrun flag */ + hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; + 8006f4c: 687b ldr r3, [r7, #4] + 8006f4e: 6d9b ldr r3, [r3, #88] @ 0x58 + 8006f50: 687a ldr r2, [r7, #4] + 8006f52: 6dd2 ldr r2, [r2, #92] @ 0x5c + 8006f54: 605a str r2, [r3, #4] + } + + /* Change the DMA state */ + hdma->State = HAL_DMA_STATE_READY; + 8006f56: 687b ldr r3, [r7, #4] + 8006f58: 2201 movs r2, #1 + 8006f5a: f883 2025 strb.w r2, [r3, #37] @ 0x25 + + /* Process Unlocked */ + __HAL_UNLOCK(hdma); + 8006f5e: 687b ldr r3, [r7, #4] + 8006f60: 2200 movs r2, #0 + 8006f62: f883 2024 strb.w r2, [r3, #36] @ 0x24 + } + + return HAL_OK; + 8006f66: 2300 movs r3, #0 +} + 8006f68: 4618 mov r0, r3 + 8006f6a: 370c adds r7, #12 + 8006f6c: 46bd mov sp, r7 + 8006f6e: f85d 7b04 ldr.w r7, [sp], #4 + 8006f72: 4770 bx lr + +08006f74 : * @param hdma Pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Channel. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma) { - 80069ba: b580 push {r7, lr} - 80069bc: b084 sub sp, #16 - 80069be: af00 add r7, sp, #0 - 80069c0: 6078 str r0, [r7, #4] + 8006f74: b580 push {r7, lr} + 8006f76: b084 sub sp, #16 + 8006f78: af00 add r7, sp, #0 + 8006f7a: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; - 80069c2: 2300 movs r3, #0 - 80069c4: 73fb strb r3, [r7, #15] + 8006f7c: 2300 movs r3, #0 + 8006f7e: 73fb strb r3, [r7, #15] if (HAL_DMA_STATE_BUSY != hdma->State) - 80069c6: 687b ldr r3, [r7, #4] - 80069c8: f893 3025 ldrb.w r3, [r3, #37] @ 0x25 - 80069cc: b2db uxtb r3, r3 - 80069ce: 2b02 cmp r3, #2 - 80069d0: d005 beq.n 80069de + 8006f80: 687b ldr r3, [r7, #4] + 8006f82: f893 3025 ldrb.w r3, [r3, #37] @ 0x25 + 8006f86: b2db uxtb r3, r3 + 8006f88: 2b02 cmp r3, #2 + 8006f8a: d005 beq.n 8006f98 { /* no transfer ongoing */ hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; - 80069d2: 687b ldr r3, [r7, #4] - 80069d4: 2204 movs r2, #4 - 80069d6: 63da str r2, [r3, #60] @ 0x3c + 8006f8c: 687b ldr r3, [r7, #4] + 8006f8e: 2204 movs r2, #4 + 8006f90: 63da str r2, [r3, #60] @ 0x3c status = HAL_ERROR; - 80069d8: 2301 movs r3, #1 - 80069da: 73fb strb r3, [r7, #15] - 80069dc: e047 b.n 8006a6e + 8006f92: 2301 movs r3, #1 + 8006f94: 73fb strb r3, [r7, #15] + 8006f96: e047 b.n 8007028 } else { /* Disable DMA IT */ __HAL_DMA_DISABLE_IT(hdma, (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE)); - 80069de: 687b ldr r3, [r7, #4] - 80069e0: 681b ldr r3, [r3, #0] - 80069e2: 681a ldr r2, [r3, #0] - 80069e4: 687b ldr r3, [r7, #4] - 80069e6: 681b ldr r3, [r3, #0] - 80069e8: f022 020e bic.w r2, r2, #14 - 80069ec: 601a str r2, [r3, #0] + 8006f98: 687b ldr r3, [r7, #4] + 8006f9a: 681b ldr r3, [r3, #0] + 8006f9c: 681a ldr r2, [r3, #0] + 8006f9e: 687b ldr r3, [r7, #4] + 8006fa0: 681b ldr r3, [r3, #0] + 8006fa2: f022 020e bic.w r2, r2, #14 + 8006fa6: 601a str r2, [r3, #0] /* Disable the channel */ __HAL_DMA_DISABLE(hdma); - 80069ee: 687b ldr r3, [r7, #4] - 80069f0: 681b ldr r3, [r3, #0] - 80069f2: 681a ldr r2, [r3, #0] - 80069f4: 687b ldr r3, [r7, #4] - 80069f6: 681b ldr r3, [r3, #0] - 80069f8: f022 0201 bic.w r2, r2, #1 - 80069fc: 601a str r2, [r3, #0] + 8006fa8: 687b ldr r3, [r7, #4] + 8006faa: 681b ldr r3, [r3, #0] + 8006fac: 681a ldr r2, [r3, #0] + 8006fae: 687b ldr r3, [r7, #4] + 8006fb0: 681b ldr r3, [r3, #0] + 8006fb2: f022 0201 bic.w r2, r2, #1 + 8006fb6: 601a str r2, [r3, #0] /* disable the DMAMUX sync overrun IT*/ hdma->DMAmuxChannel->CCR &= ~DMAMUX_CxCR_SOIE; - 80069fe: 687b ldr r3, [r7, #4] - 8006a00: 6c9b ldr r3, [r3, #72] @ 0x48 - 8006a02: 681a ldr r2, [r3, #0] - 8006a04: 687b ldr r3, [r7, #4] - 8006a06: 6c9b ldr r3, [r3, #72] @ 0x48 - 8006a08: f422 7280 bic.w r2, r2, #256 @ 0x100 - 8006a0c: 601a str r2, [r3, #0] + 8006fb8: 687b ldr r3, [r7, #4] + 8006fba: 6c9b ldr r3, [r3, #72] @ 0x48 + 8006fbc: 681a ldr r2, [r3, #0] + 8006fbe: 687b ldr r3, [r7, #4] + 8006fc0: 6c9b ldr r3, [r3, #72] @ 0x48 + 8006fc2: f422 7280 bic.w r2, r2, #256 @ 0x100 + 8006fc6: 601a str r2, [r3, #0] /* Clear all flags */ hdma->DmaBaseAddress->IFCR = (DMA_ISR_GIF1 << (hdma->ChannelIndex & 0x1cU)); - 8006a0e: 687b ldr r3, [r7, #4] - 8006a10: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006a12: f003 021c and.w r2, r3, #28 - 8006a16: 687b ldr r3, [r7, #4] - 8006a18: 6c1b ldr r3, [r3, #64] @ 0x40 - 8006a1a: 2101 movs r1, #1 - 8006a1c: fa01 f202 lsl.w r2, r1, r2 - 8006a20: 605a str r2, [r3, #4] + 8006fc8: 687b ldr r3, [r7, #4] + 8006fca: 6c5b ldr r3, [r3, #68] @ 0x44 + 8006fcc: f003 021c and.w r2, r3, #28 + 8006fd0: 687b ldr r3, [r7, #4] + 8006fd2: 6c1b ldr r3, [r3, #64] @ 0x40 + 8006fd4: 2101 movs r1, #1 + 8006fd6: fa01 f202 lsl.w r2, r1, r2 + 8006fda: 605a str r2, [r3, #4] /* Clear the DMAMUX synchro overrun flag */ hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; - 8006a22: 687b ldr r3, [r7, #4] - 8006a24: 6cdb ldr r3, [r3, #76] @ 0x4c - 8006a26: 687a ldr r2, [r7, #4] - 8006a28: 6d12 ldr r2, [r2, #80] @ 0x50 - 8006a2a: 605a str r2, [r3, #4] + 8006fdc: 687b ldr r3, [r7, #4] + 8006fde: 6cdb ldr r3, [r3, #76] @ 0x4c + 8006fe0: 687a ldr r2, [r7, #4] + 8006fe2: 6d12 ldr r2, [r2, #80] @ 0x50 + 8006fe4: 605a str r2, [r3, #4] if (hdma->DMAmuxRequestGen != 0U) - 8006a2c: 687b ldr r3, [r7, #4] - 8006a2e: 6d5b ldr r3, [r3, #84] @ 0x54 - 8006a30: 2b00 cmp r3, #0 - 8006a32: d00c beq.n 8006a4e + 8006fe6: 687b ldr r3, [r7, #4] + 8006fe8: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006fea: 2b00 cmp r3, #0 + 8006fec: d00c beq.n 8007008 { /* if using DMAMUX request generator, disable the DMAMUX request generator overrun IT*/ /* disable the request gen overrun IT*/ hdma->DMAmuxRequestGen->RGCR &= ~DMAMUX_RGxCR_OIE; - 8006a34: 687b ldr r3, [r7, #4] - 8006a36: 6d5b ldr r3, [r3, #84] @ 0x54 - 8006a38: 681a ldr r2, [r3, #0] - 8006a3a: 687b ldr r3, [r7, #4] - 8006a3c: 6d5b ldr r3, [r3, #84] @ 0x54 - 8006a3e: f422 7280 bic.w r2, r2, #256 @ 0x100 - 8006a42: 601a str r2, [r3, #0] + 8006fee: 687b ldr r3, [r7, #4] + 8006ff0: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006ff2: 681a ldr r2, [r3, #0] + 8006ff4: 687b ldr r3, [r7, #4] + 8006ff6: 6d5b ldr r3, [r3, #84] @ 0x54 + 8006ff8: f422 7280 bic.w r2, r2, #256 @ 0x100 + 8006ffc: 601a str r2, [r3, #0] /* Clear the DMAMUX request generator overrun flag */ hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; - 8006a44: 687b ldr r3, [r7, #4] - 8006a46: 6d9b ldr r3, [r3, #88] @ 0x58 - 8006a48: 687a ldr r2, [r7, #4] - 8006a4a: 6dd2 ldr r2, [r2, #92] @ 0x5c - 8006a4c: 605a str r2, [r3, #4] + 8006ffe: 687b ldr r3, [r7, #4] + 8007000: 6d9b ldr r3, [r3, #88] @ 0x58 + 8007002: 687a ldr r2, [r7, #4] + 8007004: 6dd2 ldr r2, [r2, #92] @ 0x5c + 8007006: 605a str r2, [r3, #4] } /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; - 8006a4e: 687b ldr r3, [r7, #4] - 8006a50: 2201 movs r2, #1 - 8006a52: f883 2025 strb.w r2, [r3, #37] @ 0x25 + 8007008: 687b ldr r3, [r7, #4] + 800700a: 2201 movs r2, #1 + 800700c: f883 2025 strb.w r2, [r3, #37] @ 0x25 /* Process Unlocked */ __HAL_UNLOCK(hdma); - 8006a56: 687b ldr r3, [r7, #4] - 8006a58: 2200 movs r2, #0 - 8006a5a: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 8007010: 687b ldr r3, [r7, #4] + 8007012: 2200 movs r2, #0 + 8007014: f883 2024 strb.w r2, [r3, #36] @ 0x24 /* Call User Abort callback */ if (hdma->XferAbortCallback != NULL) - 8006a5e: 687b ldr r3, [r7, #4] - 8006a60: 6b9b ldr r3, [r3, #56] @ 0x38 - 8006a62: 2b00 cmp r3, #0 - 8006a64: d003 beq.n 8006a6e + 8007018: 687b ldr r3, [r7, #4] + 800701a: 6b9b ldr r3, [r3, #56] @ 0x38 + 800701c: 2b00 cmp r3, #0 + 800701e: d003 beq.n 8007028 { hdma->XferAbortCallback(hdma); - 8006a66: 687b ldr r3, [r7, #4] - 8006a68: 6b9b ldr r3, [r3, #56] @ 0x38 - 8006a6a: 6878 ldr r0, [r7, #4] - 8006a6c: 4798 blx r3 + 8007020: 687b ldr r3, [r7, #4] + 8007022: 6b9b ldr r3, [r3, #56] @ 0x38 + 8007024: 6878 ldr r0, [r7, #4] + 8007026: 4798 blx r3 } } return status; - 8006a6e: 7bfb ldrb r3, [r7, #15] + 8007028: 7bfb ldrb r3, [r7, #15] } - 8006a70: 4618 mov r0, r3 - 8006a72: 3710 adds r7, #16 - 8006a74: 46bd mov sp, r7 - 8006a76: bd80 pop {r7, pc} + 800702a: 4618 mov r0, r3 + 800702c: 3710 adds r7, #16 + 800702e: 46bd mov sp, r7 + 8007030: bd80 pop {r7, pc} -08006a78 : +08007032 : * @param hdma Pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Channel. * @retval None */ void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma) { - 8006a78: b580 push {r7, lr} - 8006a7a: b084 sub sp, #16 - 8006a7c: af00 add r7, sp, #0 - 8006a7e: 6078 str r0, [r7, #4] + 8007032: b580 push {r7, lr} + 8007034: b084 sub sp, #16 + 8007036: af00 add r7, sp, #0 + 8007038: 6078 str r0, [r7, #4] uint32_t flag_it = hdma->DmaBaseAddress->ISR; - 8006a80: 687b ldr r3, [r7, #4] - 8006a82: 6c1b ldr r3, [r3, #64] @ 0x40 - 8006a84: 681b ldr r3, [r3, #0] - 8006a86: 60fb str r3, [r7, #12] + 800703a: 687b ldr r3, [r7, #4] + 800703c: 6c1b ldr r3, [r3, #64] @ 0x40 + 800703e: 681b ldr r3, [r3, #0] + 8007040: 60fb str r3, [r7, #12] uint32_t source_it = hdma->Instance->CCR; - 8006a88: 687b ldr r3, [r7, #4] - 8006a8a: 681b ldr r3, [r3, #0] - 8006a8c: 681b ldr r3, [r3, #0] - 8006a8e: 60bb str r3, [r7, #8] + 8007042: 687b ldr r3, [r7, #4] + 8007044: 681b ldr r3, [r3, #0] + 8007046: 681b ldr r3, [r3, #0] + 8007048: 60bb str r3, [r7, #8] /* Half Transfer Complete Interrupt management ******************************/ if (((flag_it & (DMA_FLAG_HT1 << (hdma->ChannelIndex & 0x1cU))) != 0U) && ((source_it & DMA_IT_HT) != 0U)) - 8006a90: 687b ldr r3, [r7, #4] - 8006a92: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006a94: f003 031c and.w r3, r3, #28 - 8006a98: 2204 movs r2, #4 - 8006a9a: 409a lsls r2, r3 - 8006a9c: 68fb ldr r3, [r7, #12] - 8006a9e: 4013 ands r3, r2 - 8006aa0: 2b00 cmp r3, #0 - 8006aa2: d026 beq.n 8006af2 - 8006aa4: 68bb ldr r3, [r7, #8] - 8006aa6: f003 0304 and.w r3, r3, #4 - 8006aaa: 2b00 cmp r3, #0 - 8006aac: d021 beq.n 8006af2 + 800704a: 687b ldr r3, [r7, #4] + 800704c: 6c5b ldr r3, [r3, #68] @ 0x44 + 800704e: f003 031c and.w r3, r3, #28 + 8007052: 2204 movs r2, #4 + 8007054: 409a lsls r2, r3 + 8007056: 68fb ldr r3, [r7, #12] + 8007058: 4013 ands r3, r2 + 800705a: 2b00 cmp r3, #0 + 800705c: d026 beq.n 80070ac + 800705e: 68bb ldr r3, [r7, #8] + 8007060: f003 0304 and.w r3, r3, #4 + 8007064: 2b00 cmp r3, #0 + 8007066: d021 beq.n 80070ac { /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ if ((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U) - 8006aae: 687b ldr r3, [r7, #4] - 8006ab0: 681b ldr r3, [r3, #0] - 8006ab2: 681b ldr r3, [r3, #0] - 8006ab4: f003 0320 and.w r3, r3, #32 - 8006ab8: 2b00 cmp r3, #0 - 8006aba: d107 bne.n 8006acc + 8007068: 687b ldr r3, [r7, #4] + 800706a: 681b ldr r3, [r3, #0] + 800706c: 681b ldr r3, [r3, #0] + 800706e: f003 0320 and.w r3, r3, #32 + 8007072: 2b00 cmp r3, #0 + 8007074: d107 bne.n 8007086 { /* Disable the half transfer interrupt */ __HAL_DMA_DISABLE_IT(hdma, DMA_IT_HT); - 8006abc: 687b ldr r3, [r7, #4] - 8006abe: 681b ldr r3, [r3, #0] - 8006ac0: 681a ldr r2, [r3, #0] - 8006ac2: 687b ldr r3, [r7, #4] - 8006ac4: 681b ldr r3, [r3, #0] - 8006ac6: f022 0204 bic.w r2, r2, #4 - 8006aca: 601a str r2, [r3, #0] + 8007076: 687b ldr r3, [r7, #4] + 8007078: 681b ldr r3, [r3, #0] + 800707a: 681a ldr r2, [r3, #0] + 800707c: 687b ldr r3, [r7, #4] + 800707e: 681b ldr r3, [r3, #0] + 8007080: f022 0204 bic.w r2, r2, #4 + 8007084: 601a str r2, [r3, #0] } /* Clear the half transfer complete flag */ hdma->DmaBaseAddress->IFCR = (DMA_ISR_HTIF1 << (hdma->ChannelIndex & 0x1CU)); - 8006acc: 687b ldr r3, [r7, #4] - 8006ace: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006ad0: f003 021c and.w r2, r3, #28 - 8006ad4: 687b ldr r3, [r7, #4] - 8006ad6: 6c1b ldr r3, [r3, #64] @ 0x40 - 8006ad8: 2104 movs r1, #4 - 8006ada: fa01 f202 lsl.w r2, r1, r2 - 8006ade: 605a str r2, [r3, #4] + 8007086: 687b ldr r3, [r7, #4] + 8007088: 6c5b ldr r3, [r3, #68] @ 0x44 + 800708a: f003 021c and.w r2, r3, #28 + 800708e: 687b ldr r3, [r7, #4] + 8007090: 6c1b ldr r3, [r3, #64] @ 0x40 + 8007092: 2104 movs r1, #4 + 8007094: fa01 f202 lsl.w r2, r1, r2 + 8007098: 605a str r2, [r3, #4] /* DMA peripheral state is not updated in Half Transfer */ /* but in Transfer Complete case */ if (hdma->XferHalfCpltCallback != NULL) - 8006ae0: 687b ldr r3, [r7, #4] - 8006ae2: 6b1b ldr r3, [r3, #48] @ 0x30 - 8006ae4: 2b00 cmp r3, #0 - 8006ae6: d071 beq.n 8006bcc + 800709a: 687b ldr r3, [r7, #4] + 800709c: 6b1b ldr r3, [r3, #48] @ 0x30 + 800709e: 2b00 cmp r3, #0 + 80070a0: d071 beq.n 8007186 { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); - 8006ae8: 687b ldr r3, [r7, #4] - 8006aea: 6b1b ldr r3, [r3, #48] @ 0x30 - 8006aec: 6878 ldr r0, [r7, #4] - 8006aee: 4798 blx r3 + 80070a2: 687b ldr r3, [r7, #4] + 80070a4: 6b1b ldr r3, [r3, #48] @ 0x30 + 80070a6: 6878 ldr r0, [r7, #4] + 80070a8: 4798 blx r3 if (hdma->XferHalfCpltCallback != NULL) - 8006af0: e06c b.n 8006bcc + 80070aa: e06c b.n 8007186 } } /* Transfer Complete Interrupt management ***********************************/ else if (((flag_it & (DMA_FLAG_TC1 << (hdma->ChannelIndex & 0x1cU))) != 0U) && ((source_it & DMA_IT_TC) != 0U)) - 8006af2: 687b ldr r3, [r7, #4] - 8006af4: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006af6: f003 031c and.w r3, r3, #28 - 8006afa: 2202 movs r2, #2 - 8006afc: 409a lsls r2, r3 - 8006afe: 68fb ldr r3, [r7, #12] - 8006b00: 4013 ands r3, r2 - 8006b02: 2b00 cmp r3, #0 - 8006b04: d02e beq.n 8006b64 - 8006b06: 68bb ldr r3, [r7, #8] - 8006b08: f003 0302 and.w r3, r3, #2 - 8006b0c: 2b00 cmp r3, #0 - 8006b0e: d029 beq.n 8006b64 + 80070ac: 687b ldr r3, [r7, #4] + 80070ae: 6c5b ldr r3, [r3, #68] @ 0x44 + 80070b0: f003 031c and.w r3, r3, #28 + 80070b4: 2202 movs r2, #2 + 80070b6: 409a lsls r2, r3 + 80070b8: 68fb ldr r3, [r7, #12] + 80070ba: 4013 ands r3, r2 + 80070bc: 2b00 cmp r3, #0 + 80070be: d02e beq.n 800711e + 80070c0: 68bb ldr r3, [r7, #8] + 80070c2: f003 0302 and.w r3, r3, #2 + 80070c6: 2b00 cmp r3, #0 + 80070c8: d029 beq.n 800711e { if ((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U) - 8006b10: 687b ldr r3, [r7, #4] - 8006b12: 681b ldr r3, [r3, #0] - 8006b14: 681b ldr r3, [r3, #0] - 8006b16: f003 0320 and.w r3, r3, #32 - 8006b1a: 2b00 cmp r3, #0 - 8006b1c: d10b bne.n 8006b36 + 80070ca: 687b ldr r3, [r7, #4] + 80070cc: 681b ldr r3, [r3, #0] + 80070ce: 681b ldr r3, [r3, #0] + 80070d0: f003 0320 and.w r3, r3, #32 + 80070d4: 2b00 cmp r3, #0 + 80070d6: d10b bne.n 80070f0 { /* Disable the transfer complete and error interrupt */ __HAL_DMA_DISABLE_IT(hdma, DMA_IT_TE | DMA_IT_TC); - 8006b1e: 687b ldr r3, [r7, #4] - 8006b20: 681b ldr r3, [r3, #0] - 8006b22: 681a ldr r2, [r3, #0] - 8006b24: 687b ldr r3, [r7, #4] - 8006b26: 681b ldr r3, [r3, #0] - 8006b28: f022 020a bic.w r2, r2, #10 - 8006b2c: 601a str r2, [r3, #0] + 80070d8: 687b ldr r3, [r7, #4] + 80070da: 681b ldr r3, [r3, #0] + 80070dc: 681a ldr r2, [r3, #0] + 80070de: 687b ldr r3, [r7, #4] + 80070e0: 681b ldr r3, [r3, #0] + 80070e2: f022 020a bic.w r2, r2, #10 + 80070e6: 601a str r2, [r3, #0] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; - 8006b2e: 687b ldr r3, [r7, #4] - 8006b30: 2201 movs r2, #1 - 8006b32: f883 2025 strb.w r2, [r3, #37] @ 0x25 + 80070e8: 687b ldr r3, [r7, #4] + 80070ea: 2201 movs r2, #1 + 80070ec: f883 2025 strb.w r2, [r3, #37] @ 0x25 } /* Clear the transfer complete flag */ hdma->DmaBaseAddress->IFCR = (DMA_ISR_TCIF1 << (hdma->ChannelIndex & 0x1cU)); - 8006b36: 687b ldr r3, [r7, #4] - 8006b38: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006b3a: f003 021c and.w r2, r3, #28 - 8006b3e: 687b ldr r3, [r7, #4] - 8006b40: 6c1b ldr r3, [r3, #64] @ 0x40 - 8006b42: 2102 movs r1, #2 - 8006b44: fa01 f202 lsl.w r2, r1, r2 - 8006b48: 605a str r2, [r3, #4] + 80070f0: 687b ldr r3, [r7, #4] + 80070f2: 6c5b ldr r3, [r3, #68] @ 0x44 + 80070f4: f003 021c and.w r2, r3, #28 + 80070f8: 687b ldr r3, [r7, #4] + 80070fa: 6c1b ldr r3, [r3, #64] @ 0x40 + 80070fc: 2102 movs r1, #2 + 80070fe: fa01 f202 lsl.w r2, r1, r2 + 8007102: 605a str r2, [r3, #4] /* Process Unlocked */ __HAL_UNLOCK(hdma); - 8006b4a: 687b ldr r3, [r7, #4] - 8006b4c: 2200 movs r2, #0 - 8006b4e: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 8007104: 687b ldr r3, [r7, #4] + 8007106: 2200 movs r2, #0 + 8007108: f883 2024 strb.w r2, [r3, #36] @ 0x24 if (hdma->XferCpltCallback != NULL) - 8006b52: 687b ldr r3, [r7, #4] - 8006b54: 6adb ldr r3, [r3, #44] @ 0x2c - 8006b56: 2b00 cmp r3, #0 - 8006b58: d038 beq.n 8006bcc + 800710c: 687b ldr r3, [r7, #4] + 800710e: 6adb ldr r3, [r3, #44] @ 0x2c + 8007110: 2b00 cmp r3, #0 + 8007112: d038 beq.n 8007186 { /* Transfer complete callback */ hdma->XferCpltCallback(hdma); - 8006b5a: 687b ldr r3, [r7, #4] - 8006b5c: 6adb ldr r3, [r3, #44] @ 0x2c - 8006b5e: 6878 ldr r0, [r7, #4] - 8006b60: 4798 blx r3 + 8007114: 687b ldr r3, [r7, #4] + 8007116: 6adb ldr r3, [r3, #44] @ 0x2c + 8007118: 6878 ldr r0, [r7, #4] + 800711a: 4798 blx r3 if (hdma->XferCpltCallback != NULL) - 8006b62: e033 b.n 8006bcc + 800711c: e033 b.n 8007186 } } /* Transfer Error Interrupt management **************************************/ else if (((flag_it & (DMA_FLAG_TE1 << (hdma->ChannelIndex & 0x1cU))) != 0U) && ((source_it & DMA_IT_TE) != 0U)) - 8006b64: 687b ldr r3, [r7, #4] - 8006b66: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006b68: f003 031c and.w r3, r3, #28 - 8006b6c: 2208 movs r2, #8 - 8006b6e: 409a lsls r2, r3 - 8006b70: 68fb ldr r3, [r7, #12] - 8006b72: 4013 ands r3, r2 - 8006b74: 2b00 cmp r3, #0 - 8006b76: d02a beq.n 8006bce - 8006b78: 68bb ldr r3, [r7, #8] - 8006b7a: f003 0308 and.w r3, r3, #8 - 8006b7e: 2b00 cmp r3, #0 - 8006b80: d025 beq.n 8006bce + 800711e: 687b ldr r3, [r7, #4] + 8007120: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007122: f003 031c and.w r3, r3, #28 + 8007126: 2208 movs r2, #8 + 8007128: 409a lsls r2, r3 + 800712a: 68fb ldr r3, [r7, #12] + 800712c: 4013 ands r3, r2 + 800712e: 2b00 cmp r3, #0 + 8007130: d02a beq.n 8007188 + 8007132: 68bb ldr r3, [r7, #8] + 8007134: f003 0308 and.w r3, r3, #8 + 8007138: 2b00 cmp r3, #0 + 800713a: d025 beq.n 8007188 { /* When a DMA transfer error occurs */ /* A hardware clear of its EN bits is performed */ /* Disable ALL DMA IT */ __HAL_DMA_DISABLE_IT(hdma, (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE)); - 8006b82: 687b ldr r3, [r7, #4] - 8006b84: 681b ldr r3, [r3, #0] - 8006b86: 681a ldr r2, [r3, #0] - 8006b88: 687b ldr r3, [r7, #4] - 8006b8a: 681b ldr r3, [r3, #0] - 8006b8c: f022 020e bic.w r2, r2, #14 - 8006b90: 601a str r2, [r3, #0] + 800713c: 687b ldr r3, [r7, #4] + 800713e: 681b ldr r3, [r3, #0] + 8007140: 681a ldr r2, [r3, #0] + 8007142: 687b ldr r3, [r7, #4] + 8007144: 681b ldr r3, [r3, #0] + 8007146: f022 020e bic.w r2, r2, #14 + 800714a: 601a str r2, [r3, #0] /* Clear all flags */ hdma->DmaBaseAddress->IFCR = (DMA_ISR_GIF1 << (hdma->ChannelIndex & 0x1cU)); - 8006b92: 687b ldr r3, [r7, #4] - 8006b94: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006b96: f003 021c and.w r2, r3, #28 - 8006b9a: 687b ldr r3, [r7, #4] - 8006b9c: 6c1b ldr r3, [r3, #64] @ 0x40 - 8006b9e: 2101 movs r1, #1 - 8006ba0: fa01 f202 lsl.w r2, r1, r2 - 8006ba4: 605a str r2, [r3, #4] + 800714c: 687b ldr r3, [r7, #4] + 800714e: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007150: f003 021c and.w r2, r3, #28 + 8007154: 687b ldr r3, [r7, #4] + 8007156: 6c1b ldr r3, [r3, #64] @ 0x40 + 8007158: 2101 movs r1, #1 + 800715a: fa01 f202 lsl.w r2, r1, r2 + 800715e: 605a str r2, [r3, #4] /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TE; - 8006ba6: 687b ldr r3, [r7, #4] - 8006ba8: 2201 movs r2, #1 - 8006baa: 63da str r2, [r3, #60] @ 0x3c + 8007160: 687b ldr r3, [r7, #4] + 8007162: 2201 movs r2, #1 + 8007164: 63da str r2, [r3, #60] @ 0x3c /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; - 8006bac: 687b ldr r3, [r7, #4] - 8006bae: 2201 movs r2, #1 - 8006bb0: f883 2025 strb.w r2, [r3, #37] @ 0x25 + 8007166: 687b ldr r3, [r7, #4] + 8007168: 2201 movs r2, #1 + 800716a: f883 2025 strb.w r2, [r3, #37] @ 0x25 /* Process Unlocked */ __HAL_UNLOCK(hdma); - 8006bb4: 687b ldr r3, [r7, #4] - 8006bb6: 2200 movs r2, #0 - 8006bb8: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 800716e: 687b ldr r3, [r7, #4] + 8007170: 2200 movs r2, #0 + 8007172: f883 2024 strb.w r2, [r3, #36] @ 0x24 if (hdma->XferErrorCallback != NULL) - 8006bbc: 687b ldr r3, [r7, #4] - 8006bbe: 6b5b ldr r3, [r3, #52] @ 0x34 - 8006bc0: 2b00 cmp r3, #0 - 8006bc2: d004 beq.n 8006bce + 8007176: 687b ldr r3, [r7, #4] + 8007178: 6b5b ldr r3, [r3, #52] @ 0x34 + 800717a: 2b00 cmp r3, #0 + 800717c: d004 beq.n 8007188 { /* Transfer error callback */ hdma->XferErrorCallback(hdma); - 8006bc4: 687b ldr r3, [r7, #4] - 8006bc6: 6b5b ldr r3, [r3, #52] @ 0x34 - 8006bc8: 6878 ldr r0, [r7, #4] - 8006bca: 4798 blx r3 + 800717e: 687b ldr r3, [r7, #4] + 8007180: 6b5b ldr r3, [r3, #52] @ 0x34 + 8007182: 6878 ldr r0, [r7, #4] + 8007184: 4798 blx r3 } else { /* Nothing To Do */ } return; - 8006bcc: bf00 nop - 8006bce: bf00 nop + 8007186: bf00 nop + 8007188: bf00 nop } - 8006bd0: 3710 adds r7, #16 - 8006bd2: 46bd mov sp, r7 - 8006bd4: bd80 pop {r7, pc} + 800718a: 3710 adds r7, #16 + 800718c: 46bd mov sp, r7 + 800718e: bd80 pop {r7, pc} -08006bd6 : +08007190 : * @param hdma Pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Channel. * @retval HAL state */ HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma) { - 8006bd6: b480 push {r7} - 8006bd8: b083 sub sp, #12 - 8006bda: af00 add r7, sp, #0 - 8006bdc: 6078 str r0, [r7, #4] + 8007190: b480 push {r7} + 8007192: b083 sub sp, #12 + 8007194: af00 add r7, sp, #0 + 8007196: 6078 str r0, [r7, #4] /* Return DMA handle state */ return hdma->State; - 8006bde: 687b ldr r3, [r7, #4] - 8006be0: f893 3025 ldrb.w r3, [r3, #37] @ 0x25 - 8006be4: b2db uxtb r3, r3 + 8007198: 687b ldr r3, [r7, #4] + 800719a: f893 3025 ldrb.w r3, [r3, #37] @ 0x25 + 800719e: b2db uxtb r3, r3 } - 8006be6: 4618 mov r0, r3 - 8006be8: 370c adds r7, #12 - 8006bea: 46bd mov sp, r7 - 8006bec: f85d 7b04 ldr.w r7, [sp], #4 - 8006bf0: 4770 bx lr + 80071a0: 4618 mov r0, r3 + 80071a2: 370c adds r7, #12 + 80071a4: 46bd mov sp, r7 + 80071a6: f85d 7b04 ldr.w r7, [sp], #4 + 80071aa: 4770 bx lr -08006bf2 : +080071ac : * @param DstAddress The destination memory Buffer address * @param DataLength The length of data to be transferred from source to destination * @retval HAL status */ static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) { - 8006bf2: b480 push {r7} - 8006bf4: b085 sub sp, #20 - 8006bf6: af00 add r7, sp, #0 - 8006bf8: 60f8 str r0, [r7, #12] - 8006bfa: 60b9 str r1, [r7, #8] - 8006bfc: 607a str r2, [r7, #4] - 8006bfe: 603b str r3, [r7, #0] + 80071ac: b480 push {r7} + 80071ae: b085 sub sp, #20 + 80071b0: af00 add r7, sp, #0 + 80071b2: 60f8 str r0, [r7, #12] + 80071b4: 60b9 str r1, [r7, #8] + 80071b6: 607a str r2, [r7, #4] + 80071b8: 603b str r3, [r7, #0] /* Clear the DMAMUX synchro overrun flag */ hdma->DMAmuxChannelStatus->CFR = hdma->DMAmuxChannelStatusMask; - 8006c00: 68fb ldr r3, [r7, #12] - 8006c02: 6cdb ldr r3, [r3, #76] @ 0x4c - 8006c04: 68fa ldr r2, [r7, #12] - 8006c06: 6d12 ldr r2, [r2, #80] @ 0x50 - 8006c08: 605a str r2, [r3, #4] + 80071ba: 68fb ldr r3, [r7, #12] + 80071bc: 6cdb ldr r3, [r3, #76] @ 0x4c + 80071be: 68fa ldr r2, [r7, #12] + 80071c0: 6d12 ldr r2, [r2, #80] @ 0x50 + 80071c2: 605a str r2, [r3, #4] if (hdma->DMAmuxRequestGen != 0U) - 8006c0a: 68fb ldr r3, [r7, #12] - 8006c0c: 6d5b ldr r3, [r3, #84] @ 0x54 - 8006c0e: 2b00 cmp r3, #0 - 8006c10: d004 beq.n 8006c1c + 80071c4: 68fb ldr r3, [r7, #12] + 80071c6: 6d5b ldr r3, [r3, #84] @ 0x54 + 80071c8: 2b00 cmp r3, #0 + 80071ca: d004 beq.n 80071d6 { /* Clear the DMAMUX request generator overrun flag */ hdma->DMAmuxRequestGenStatus->RGCFR = hdma->DMAmuxRequestGenStatusMask; - 8006c12: 68fb ldr r3, [r7, #12] - 8006c14: 6d9b ldr r3, [r3, #88] @ 0x58 - 8006c16: 68fa ldr r2, [r7, #12] - 8006c18: 6dd2 ldr r2, [r2, #92] @ 0x5c - 8006c1a: 605a str r2, [r3, #4] + 80071cc: 68fb ldr r3, [r7, #12] + 80071ce: 6d9b ldr r3, [r3, #88] @ 0x58 + 80071d0: 68fa ldr r2, [r7, #12] + 80071d2: 6dd2 ldr r2, [r2, #92] @ 0x5c + 80071d4: 605a str r2, [r3, #4] } /* Clear all flags */ hdma->DmaBaseAddress->IFCR = (DMA_ISR_GIF1 << (hdma->ChannelIndex & 0x1cU)); - 8006c1c: 68fb ldr r3, [r7, #12] - 8006c1e: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006c20: f003 021c and.w r2, r3, #28 - 8006c24: 68fb ldr r3, [r7, #12] - 8006c26: 6c1b ldr r3, [r3, #64] @ 0x40 - 8006c28: 2101 movs r1, #1 - 8006c2a: fa01 f202 lsl.w r2, r1, r2 - 8006c2e: 605a str r2, [r3, #4] + 80071d6: 68fb ldr r3, [r7, #12] + 80071d8: 6c5b ldr r3, [r3, #68] @ 0x44 + 80071da: f003 021c and.w r2, r3, #28 + 80071de: 68fb ldr r3, [r7, #12] + 80071e0: 6c1b ldr r3, [r3, #64] @ 0x40 + 80071e2: 2101 movs r1, #1 + 80071e4: fa01 f202 lsl.w r2, r1, r2 + 80071e8: 605a str r2, [r3, #4] /* Configure DMA Channel data length */ hdma->Instance->CNDTR = DataLength; - 8006c30: 68fb ldr r3, [r7, #12] - 8006c32: 681b ldr r3, [r3, #0] - 8006c34: 683a ldr r2, [r7, #0] - 8006c36: 605a str r2, [r3, #4] + 80071ea: 68fb ldr r3, [r7, #12] + 80071ec: 681b ldr r3, [r3, #0] + 80071ee: 683a ldr r2, [r7, #0] + 80071f0: 605a str r2, [r3, #4] /* Memory to Peripheral */ if ((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) - 8006c38: 68fb ldr r3, [r7, #12] - 8006c3a: 689b ldr r3, [r3, #8] - 8006c3c: 2b10 cmp r3, #16 - 8006c3e: d108 bne.n 8006c52 + 80071f2: 68fb ldr r3, [r7, #12] + 80071f4: 689b ldr r3, [r3, #8] + 80071f6: 2b10 cmp r3, #16 + 80071f8: d108 bne.n 800720c { /* Configure DMA Channel destination address */ hdma->Instance->CPAR = DstAddress; - 8006c40: 68fb ldr r3, [r7, #12] - 8006c42: 681b ldr r3, [r3, #0] - 8006c44: 687a ldr r2, [r7, #4] - 8006c46: 609a str r2, [r3, #8] + 80071fa: 68fb ldr r3, [r7, #12] + 80071fc: 681b ldr r3, [r3, #0] + 80071fe: 687a ldr r2, [r7, #4] + 8007200: 609a str r2, [r3, #8] /* Configure DMA Channel source address */ hdma->Instance->CMAR = SrcAddress; - 8006c48: 68fb ldr r3, [r7, #12] - 8006c4a: 681b ldr r3, [r3, #0] - 8006c4c: 68ba ldr r2, [r7, #8] - 8006c4e: 60da str r2, [r3, #12] + 8007202: 68fb ldr r3, [r7, #12] + 8007204: 681b ldr r3, [r3, #0] + 8007206: 68ba ldr r2, [r7, #8] + 8007208: 60da str r2, [r3, #12] hdma->Instance->CPAR = SrcAddress; /* Configure DMA Channel destination address */ hdma->Instance->CMAR = DstAddress; } } - 8006c50: e007 b.n 8006c62 + 800720a: e007 b.n 800721c hdma->Instance->CPAR = SrcAddress; - 8006c52: 68fb ldr r3, [r7, #12] - 8006c54: 681b ldr r3, [r3, #0] - 8006c56: 68ba ldr r2, [r7, #8] - 8006c58: 609a str r2, [r3, #8] + 800720c: 68fb ldr r3, [r7, #12] + 800720e: 681b ldr r3, [r3, #0] + 8007210: 68ba ldr r2, [r7, #8] + 8007212: 609a str r2, [r3, #8] hdma->Instance->CMAR = DstAddress; - 8006c5a: 68fb ldr r3, [r7, #12] - 8006c5c: 681b ldr r3, [r3, #0] - 8006c5e: 687a ldr r2, [r7, #4] - 8006c60: 60da str r2, [r3, #12] + 8007214: 68fb ldr r3, [r7, #12] + 8007216: 681b ldr r3, [r3, #0] + 8007218: 687a ldr r2, [r7, #4] + 800721a: 60da str r2, [r3, #12] } - 8006c62: bf00 nop - 8006c64: 3714 adds r7, #20 - 8006c66: 46bd mov sp, r7 - 8006c68: f85d 7b04 ldr.w r7, [sp], #4 - 8006c6c: 4770 bx lr - ... + 800721c: bf00 nop + 800721e: 3714 adds r7, #20 + 8007220: 46bd mov sp, r7 + 8007222: f85d 7b04 ldr.w r7, [sp], #4 + 8007226: 4770 bx lr -08006c70 : +08007228 : * @param hdma Pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Channel. * @retval None */ static void DMA_CalcDMAMUXChannelBaseAndMask(DMA_HandleTypeDef *hdma) { - 8006c70: b480 push {r7} - 8006c72: b085 sub sp, #20 - 8006c74: af00 add r7, sp, #0 - 8006c76: 6078 str r0, [r7, #4] + 8007228: b480 push {r7} + 800722a: b085 sub sp, #20 + 800722c: af00 add r7, sp, #0 + 800722e: 6078 str r0, [r7, #4] uint32_t channel_number; /* check if instance is not outside the DMA channel range */ #if defined(DMA2) if ((uint32_t)hdma->Instance < (uint32_t)DMA2_Channel1) - 8006c78: 687b ldr r3, [r7, #4] - 8006c7a: 681b ldr r3, [r3, #0] - 8006c7c: 461a mov r2, r3 - 8006c7e: 4b17 ldr r3, [pc, #92] @ (8006cdc ) - 8006c80: 429a cmp r2, r3 - 8006c82: d80a bhi.n 8006c9a + 8007230: 687b ldr r3, [r7, #4] + 8007232: 681b ldr r3, [r3, #0] + 8007234: 461a mov r2, r3 + 8007236: 4b17 ldr r3, [pc, #92] @ (8007294 ) + 8007238: 429a cmp r2, r3 + 800723a: d80a bhi.n 8007252 { /* DMA1 */ hdma->DMAmuxChannel = (DMAMUX1_Channel0 + (hdma->ChannelIndex >> 2U)); - 8006c84: 687b ldr r3, [r7, #4] - 8006c86: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006c88: 089b lsrs r3, r3, #2 - 8006c8a: 009b lsls r3, r3, #2 - 8006c8c: f103 4380 add.w r3, r3, #1073741824 @ 0x40000000 - 8006c90: f503 3302 add.w r3, r3, #133120 @ 0x20800 - 8006c94: 687a ldr r2, [r7, #4] - 8006c96: 6493 str r3, [r2, #72] @ 0x48 - 8006c98: e007 b.n 8006caa + 800723c: 687b ldr r3, [r7, #4] + 800723e: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007240: 089b lsrs r3, r3, #2 + 8007242: 009b lsls r3, r3, #2 + 8007244: f103 4380 add.w r3, r3, #1073741824 @ 0x40000000 + 8007248: f503 3302 add.w r3, r3, #133120 @ 0x20800 + 800724c: 687a ldr r2, [r7, #4] + 800724e: 6493 str r3, [r2, #72] @ 0x48 + 8007250: e007 b.n 8007262 } else { /* DMA2 */ hdma->DMAmuxChannel = (DMAMUX1_Channel7 + (hdma->ChannelIndex >> 2U)); - 8006c9a: 687b ldr r3, [r7, #4] - 8006c9c: 6c5b ldr r3, [r3, #68] @ 0x44 - 8006c9e: 089b lsrs r3, r3, #2 - 8006ca0: 009a lsls r2, r3, #2 - 8006ca2: 4b0f ldr r3, [pc, #60] @ (8006ce0 ) - 8006ca4: 4413 add r3, r2 - 8006ca6: 687a ldr r2, [r7, #4] - 8006ca8: 6493 str r3, [r2, #72] @ 0x48 + 8007252: 687b ldr r3, [r7, #4] + 8007254: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007256: 089b lsrs r3, r3, #2 + 8007258: 009a lsls r2, r3, #2 + 800725a: 4b0f ldr r3, [pc, #60] @ (8007298 ) + 800725c: 4413 add r3, r2 + 800725e: 687a ldr r2, [r7, #4] + 8007260: 6493 str r3, [r2, #72] @ 0x48 } #else /* DMA1 */ hdma->DMAmuxChannel = (DMAMUX1_Channel0 + (hdma->ChannelIndex >> 2U)); #endif /* DMA2 */ channel_number = (((uint32_t)hdma->Instance & 0xFFU) - 8U) / 20U; - 8006caa: 687b ldr r3, [r7, #4] - 8006cac: 681b ldr r3, [r3, #0] - 8006cae: b2db uxtb r3, r3 - 8006cb0: 3b08 subs r3, #8 - 8006cb2: 4a0c ldr r2, [pc, #48] @ (8006ce4 ) - 8006cb4: fba2 2303 umull r2, r3, r2, r3 - 8006cb8: 091b lsrs r3, r3, #4 - 8006cba: 60fb str r3, [r7, #12] + 8007262: 687b ldr r3, [r7, #4] + 8007264: 681b ldr r3, [r3, #0] + 8007266: b2db uxtb r3, r3 + 8007268: 3b08 subs r3, #8 + 800726a: 4a0c ldr r2, [pc, #48] @ (800729c ) + 800726c: fba2 2303 umull r2, r3, r2, r3 + 8007270: 091b lsrs r3, r3, #4 + 8007272: 60fb str r3, [r7, #12] hdma->DMAmuxChannelStatus = DMAMUX1_ChannelStatus; - 8006cbc: 687b ldr r3, [r7, #4] - 8006cbe: 4a0a ldr r2, [pc, #40] @ (8006ce8 ) - 8006cc0: 64da str r2, [r3, #76] @ 0x4c + 8007274: 687b ldr r3, [r7, #4] + 8007276: 4a0a ldr r2, [pc, #40] @ (80072a0 ) + 8007278: 64da str r2, [r3, #76] @ 0x4c /* Initialize the field DMAmuxChannelStatusMask with the corresponding index of the DMAMUX channel selected for the current ChannelIndex */ hdma->DMAmuxChannelStatusMask = 1UL << (channel_number & 0x1FU); - 8006cc2: 68fb ldr r3, [r7, #12] - 8006cc4: f003 031f and.w r3, r3, #31 - 8006cc8: 2201 movs r2, #1 - 8006cca: 409a lsls r2, r3 - 8006ccc: 687b ldr r3, [r7, #4] - 8006cce: 651a str r2, [r3, #80] @ 0x50 + 800727a: 68fb ldr r3, [r7, #12] + 800727c: f003 031f and.w r3, r3, #31 + 8007280: 2201 movs r2, #1 + 8007282: 409a lsls r2, r3 + 8007284: 687b ldr r3, [r7, #4] + 8007286: 651a str r2, [r3, #80] @ 0x50 } - 8006cd0: bf00 nop - 8006cd2: 3714 adds r7, #20 - 8006cd4: 46bd mov sp, r7 - 8006cd6: f85d 7b04 ldr.w r7, [sp], #4 - 8006cda: 4770 bx lr - 8006cdc: 40020407 .word 0x40020407 - 8006ce0: 4002081c .word 0x4002081c - 8006ce4: cccccccd .word 0xcccccccd - 8006ce8: 40020880 .word 0x40020880 + 8007288: bf00 nop + 800728a: 3714 adds r7, #20 + 800728c: 46bd mov sp, r7 + 800728e: f85d 7b04 ldr.w r7, [sp], #4 + 8007292: 4770 bx lr + 8007294: 40020407 .word 0x40020407 + 8007298: 4002081c .word 0x4002081c + 800729c: cccccccd .word 0xcccccccd + 80072a0: 40020880 .word 0x40020880 -08006cec : +080072a4 : * the configuration information for the specified DMA Channel. * @retval None */ static void DMA_CalcDMAMUXRequestGenBaseAndMask(DMA_HandleTypeDef *hdma) { - 8006cec: b480 push {r7} - 8006cee: b085 sub sp, #20 - 8006cf0: af00 add r7, sp, #0 - 8006cf2: 6078 str r0, [r7, #4] + 80072a4: b480 push {r7} + 80072a6: b085 sub sp, #20 + 80072a8: af00 add r7, sp, #0 + 80072aa: 6078 str r0, [r7, #4] uint32_t request = hdma->Init.Request & DMAMUX_CxCR_DMAREQ_ID; - 8006cf4: 687b ldr r3, [r7, #4] - 8006cf6: 685b ldr r3, [r3, #4] - 8006cf8: f003 033f and.w r3, r3, #63 @ 0x3f - 8006cfc: 60fb str r3, [r7, #12] + 80072ac: 687b ldr r3, [r7, #4] + 80072ae: 685b ldr r3, [r3, #4] + 80072b0: f003 033f and.w r3, r3, #63 @ 0x3f + 80072b4: 60fb str r3, [r7, #12] /* DMA Channels are connected to DMAMUX1 request generator blocks*/ hdma->DMAmuxRequestGen = (DMAMUX_RequestGen_TypeDef *)((uint32_t)(((uint32_t)DMAMUX1_RequestGenerator0) + ((request - 1U) * 4U))); - 8006cfe: 68fa ldr r2, [r7, #12] - 8006d00: 4b0b ldr r3, [pc, #44] @ (8006d30 ) - 8006d02: 4413 add r3, r2 - 8006d04: 009b lsls r3, r3, #2 - 8006d06: 461a mov r2, r3 - 8006d08: 687b ldr r3, [r7, #4] - 8006d0a: 655a str r2, [r3, #84] @ 0x54 + 80072b6: 68fa ldr r2, [r7, #12] + 80072b8: 4b0b ldr r3, [pc, #44] @ (80072e8 ) + 80072ba: 4413 add r3, r2 + 80072bc: 009b lsls r3, r3, #2 + 80072be: 461a mov r2, r3 + 80072c0: 687b ldr r3, [r7, #4] + 80072c2: 655a str r2, [r3, #84] @ 0x54 hdma->DMAmuxRequestGenStatus = DMAMUX1_RequestGenStatus; - 8006d0c: 687b ldr r3, [r7, #4] - 8006d0e: 4a09 ldr r2, [pc, #36] @ (8006d34 ) - 8006d10: 659a str r2, [r3, #88] @ 0x58 + 80072c4: 687b ldr r3, [r7, #4] + 80072c6: 4a09 ldr r2, [pc, #36] @ (80072ec ) + 80072c8: 659a str r2, [r3, #88] @ 0x58 /* here "Request" is either DMA_REQUEST_GENERATOR0 to DMA_REQUEST_GENERATOR3, i.e. <= 4*/ hdma->DMAmuxRequestGenStatusMask = 1UL << ((request - 1U) & 0x3U); - 8006d12: 68fb ldr r3, [r7, #12] - 8006d14: 3b01 subs r3, #1 - 8006d16: f003 0303 and.w r3, r3, #3 - 8006d1a: 2201 movs r2, #1 - 8006d1c: 409a lsls r2, r3 - 8006d1e: 687b ldr r3, [r7, #4] - 8006d20: 65da str r2, [r3, #92] @ 0x5c + 80072ca: 68fb ldr r3, [r7, #12] + 80072cc: 3b01 subs r3, #1 + 80072ce: f003 0303 and.w r3, r3, #3 + 80072d2: 2201 movs r2, #1 + 80072d4: 409a lsls r2, r3 + 80072d6: 687b ldr r3, [r7, #4] + 80072d8: 65da str r2, [r3, #92] @ 0x5c } - 8006d22: bf00 nop - 8006d24: 3714 adds r7, #20 - 8006d26: 46bd mov sp, r7 - 8006d28: f85d 7b04 ldr.w r7, [sp], #4 - 8006d2c: 4770 bx lr - 8006d2e: bf00 nop - 8006d30: 1000823f .word 0x1000823f - 8006d34: 40020940 .word 0x40020940 + 80072da: bf00 nop + 80072dc: 3714 adds r7, #20 + 80072de: 46bd mov sp, r7 + 80072e0: f85d 7b04 ldr.w r7, [sp], #4 + 80072e4: 4770 bx lr + 80072e6: bf00 nop + 80072e8: 1000823f .word 0x1000823f + 80072ec: 40020940 .word 0x40020940 -08006d38 : +080072f0 : * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains * the configuration information for the specified GPIO peripheral. * @retval None */ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, const GPIO_InitTypeDef *GPIO_Init) { - 8006d38: b480 push {r7} - 8006d3a: b087 sub sp, #28 - 8006d3c: af00 add r7, sp, #0 - 8006d3e: 6078 str r0, [r7, #4] - 8006d40: 6039 str r1, [r7, #0] + 80072f0: b480 push {r7} + 80072f2: b087 sub sp, #28 + 80072f4: af00 add r7, sp, #0 + 80072f6: 6078 str r0, [r7, #4] + 80072f8: 6039 str r1, [r7, #0] uint32_t position = 0x00UL; - 8006d42: 2300 movs r3, #0 - 8006d44: 617b str r3, [r7, #20] + 80072fa: 2300 movs r3, #0 + 80072fc: 617b str r3, [r7, #20] assert_param(IS_GPIO_PIN(GPIO_Init->Pin)); assert_param(IS_GPIO_MODE(GPIO_Init->Mode)); assert_param(IS_GPIO_PULL(GPIO_Init->Pull)); /* Configure the port pins */ while (((GPIO_Init->Pin) >> position) != 0x00u) - 8006d46: e14c b.n 8006fe2 + 80072fe: e14c b.n 800759a { /* Get current io position */ iocurrent = (GPIO_Init->Pin) & (1uL << position); - 8006d48: 683b ldr r3, [r7, #0] - 8006d4a: 681a ldr r2, [r3, #0] - 8006d4c: 2101 movs r1, #1 - 8006d4e: 697b ldr r3, [r7, #20] - 8006d50: fa01 f303 lsl.w r3, r1, r3 - 8006d54: 4013 ands r3, r2 - 8006d56: 60fb str r3, [r7, #12] + 8007300: 683b ldr r3, [r7, #0] + 8007302: 681a ldr r2, [r3, #0] + 8007304: 2101 movs r1, #1 + 8007306: 697b ldr r3, [r7, #20] + 8007308: fa01 f303 lsl.w r3, r1, r3 + 800730c: 4013 ands r3, r2 + 800730e: 60fb str r3, [r7, #12] if (iocurrent != 0x00u) - 8006d58: 68fb ldr r3, [r7, #12] - 8006d5a: 2b00 cmp r3, #0 - 8006d5c: f000 813e beq.w 8006fdc + 8007310: 68fb ldr r3, [r7, #12] + 8007312: 2b00 cmp r3, #0 + 8007314: f000 813e beq.w 8007594 { /*--------------------- GPIO Mode Configuration ------------------------*/ /* In case of Output or Alternate function mode selection */ if (((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)) - 8006d60: 683b ldr r3, [r7, #0] - 8006d62: 685b ldr r3, [r3, #4] - 8006d64: f003 0303 and.w r3, r3, #3 - 8006d68: 2b01 cmp r3, #1 - 8006d6a: d005 beq.n 8006d78 - 8006d6c: 683b ldr r3, [r7, #0] - 8006d6e: 685b ldr r3, [r3, #4] - 8006d70: f003 0303 and.w r3, r3, #3 - 8006d74: 2b02 cmp r3, #2 - 8006d76: d130 bne.n 8006dda + 8007318: 683b ldr r3, [r7, #0] + 800731a: 685b ldr r3, [r3, #4] + 800731c: f003 0303 and.w r3, r3, #3 + 8007320: 2b01 cmp r3, #1 + 8007322: d005 beq.n 8007330 + 8007324: 683b ldr r3, [r7, #0] + 8007326: 685b ldr r3, [r3, #4] + 8007328: f003 0303 and.w r3, r3, #3 + 800732c: 2b02 cmp r3, #2 + 800732e: d130 bne.n 8007392 { /* Check the Speed parameter */ assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); /* Configure the IO Speed */ temp = GPIOx->OSPEEDR; - 8006d78: 687b ldr r3, [r7, #4] - 8006d7a: 689b ldr r3, [r3, #8] - 8006d7c: 613b str r3, [r7, #16] + 8007330: 687b ldr r3, [r7, #4] + 8007332: 689b ldr r3, [r3, #8] + 8007334: 613b str r3, [r7, #16] temp &= ~(GPIO_OSPEEDR_OSPEED0 << (position * 2u)); - 8006d7e: 697b ldr r3, [r7, #20] - 8006d80: 005b lsls r3, r3, #1 - 8006d82: 2203 movs r2, #3 - 8006d84: fa02 f303 lsl.w r3, r2, r3 - 8006d88: 43db mvns r3, r3 - 8006d8a: 693a ldr r2, [r7, #16] - 8006d8c: 4013 ands r3, r2 - 8006d8e: 613b str r3, [r7, #16] + 8007336: 697b ldr r3, [r7, #20] + 8007338: 005b lsls r3, r3, #1 + 800733a: 2203 movs r2, #3 + 800733c: fa02 f303 lsl.w r3, r2, r3 + 8007340: 43db mvns r3, r3 + 8007342: 693a ldr r2, [r7, #16] + 8007344: 4013 ands r3, r2 + 8007346: 613b str r3, [r7, #16] temp |= (GPIO_Init->Speed << (position * 2u)); - 8006d90: 683b ldr r3, [r7, #0] - 8006d92: 68da ldr r2, [r3, #12] - 8006d94: 697b ldr r3, [r7, #20] - 8006d96: 005b lsls r3, r3, #1 - 8006d98: fa02 f303 lsl.w r3, r2, r3 - 8006d9c: 693a ldr r2, [r7, #16] - 8006d9e: 4313 orrs r3, r2 - 8006da0: 613b str r3, [r7, #16] + 8007348: 683b ldr r3, [r7, #0] + 800734a: 68da ldr r2, [r3, #12] + 800734c: 697b ldr r3, [r7, #20] + 800734e: 005b lsls r3, r3, #1 + 8007350: fa02 f303 lsl.w r3, r2, r3 + 8007354: 693a ldr r2, [r7, #16] + 8007356: 4313 orrs r3, r2 + 8007358: 613b str r3, [r7, #16] GPIOx->OSPEEDR = temp; - 8006da2: 687b ldr r3, [r7, #4] - 8006da4: 693a ldr r2, [r7, #16] - 8006da6: 609a str r2, [r3, #8] + 800735a: 687b ldr r3, [r7, #4] + 800735c: 693a ldr r2, [r7, #16] + 800735e: 609a str r2, [r3, #8] /* Configure the IO Output Type */ temp = GPIOx->OTYPER; - 8006da8: 687b ldr r3, [r7, #4] - 8006daa: 685b ldr r3, [r3, #4] - 8006dac: 613b str r3, [r7, #16] + 8007360: 687b ldr r3, [r7, #4] + 8007362: 685b ldr r3, [r3, #4] + 8007364: 613b str r3, [r7, #16] temp &= ~(GPIO_OTYPER_OT0 << position) ; - 8006dae: 2201 movs r2, #1 - 8006db0: 697b ldr r3, [r7, #20] - 8006db2: fa02 f303 lsl.w r3, r2, r3 - 8006db6: 43db mvns r3, r3 - 8006db8: 693a ldr r2, [r7, #16] - 8006dba: 4013 ands r3, r2 - 8006dbc: 613b str r3, [r7, #16] + 8007366: 2201 movs r2, #1 + 8007368: 697b ldr r3, [r7, #20] + 800736a: fa02 f303 lsl.w r3, r2, r3 + 800736e: 43db mvns r3, r3 + 8007370: 693a ldr r2, [r7, #16] + 8007372: 4013 ands r3, r2 + 8007374: 613b str r3, [r7, #16] temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); - 8006dbe: 683b ldr r3, [r7, #0] - 8006dc0: 685b ldr r3, [r3, #4] - 8006dc2: 091b lsrs r3, r3, #4 - 8006dc4: f003 0201 and.w r2, r3, #1 - 8006dc8: 697b ldr r3, [r7, #20] - 8006dca: fa02 f303 lsl.w r3, r2, r3 - 8006dce: 693a ldr r2, [r7, #16] - 8006dd0: 4313 orrs r3, r2 - 8006dd2: 613b str r3, [r7, #16] + 8007376: 683b ldr r3, [r7, #0] + 8007378: 685b ldr r3, [r3, #4] + 800737a: 091b lsrs r3, r3, #4 + 800737c: f003 0201 and.w r2, r3, #1 + 8007380: 697b ldr r3, [r7, #20] + 8007382: fa02 f303 lsl.w r3, r2, r3 + 8007386: 693a ldr r2, [r7, #16] + 8007388: 4313 orrs r3, r2 + 800738a: 613b str r3, [r7, #16] GPIOx->OTYPER = temp; - 8006dd4: 687b ldr r3, [r7, #4] - 8006dd6: 693a ldr r2, [r7, #16] - 8006dd8: 605a str r2, [r3, #4] + 800738c: 687b ldr r3, [r7, #4] + 800738e: 693a ldr r2, [r7, #16] + 8007390: 605a str r2, [r3, #4] } /* Activate the Pull-up or Pull down resistor for the current IO */ if ((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG) - 8006dda: 683b ldr r3, [r7, #0] - 8006ddc: 685b ldr r3, [r3, #4] - 8006dde: f003 0303 and.w r3, r3, #3 - 8006de2: 2b03 cmp r3, #3 - 8006de4: d017 beq.n 8006e16 + 8007392: 683b ldr r3, [r7, #0] + 8007394: 685b ldr r3, [r3, #4] + 8007396: f003 0303 and.w r3, r3, #3 + 800739a: 2b03 cmp r3, #3 + 800739c: d017 beq.n 80073ce { temp = GPIOx->PUPDR; - 8006de6: 687b ldr r3, [r7, #4] - 8006de8: 68db ldr r3, [r3, #12] - 8006dea: 613b str r3, [r7, #16] + 800739e: 687b ldr r3, [r7, #4] + 80073a0: 68db ldr r3, [r3, #12] + 80073a2: 613b str r3, [r7, #16] temp &= ~(GPIO_PUPDR_PUPD0 << (position * 2U)); - 8006dec: 697b ldr r3, [r7, #20] - 8006dee: 005b lsls r3, r3, #1 - 8006df0: 2203 movs r2, #3 - 8006df2: fa02 f303 lsl.w r3, r2, r3 - 8006df6: 43db mvns r3, r3 - 8006df8: 693a ldr r2, [r7, #16] - 8006dfa: 4013 ands r3, r2 - 8006dfc: 613b str r3, [r7, #16] + 80073a4: 697b ldr r3, [r7, #20] + 80073a6: 005b lsls r3, r3, #1 + 80073a8: 2203 movs r2, #3 + 80073aa: fa02 f303 lsl.w r3, r2, r3 + 80073ae: 43db mvns r3, r3 + 80073b0: 693a ldr r2, [r7, #16] + 80073b2: 4013 ands r3, r2 + 80073b4: 613b str r3, [r7, #16] temp |= ((GPIO_Init->Pull) << (position * 2U)); - 8006dfe: 683b ldr r3, [r7, #0] - 8006e00: 689a ldr r2, [r3, #8] - 8006e02: 697b ldr r3, [r7, #20] - 8006e04: 005b lsls r3, r3, #1 - 8006e06: fa02 f303 lsl.w r3, r2, r3 - 8006e0a: 693a ldr r2, [r7, #16] - 8006e0c: 4313 orrs r3, r2 - 8006e0e: 613b str r3, [r7, #16] + 80073b6: 683b ldr r3, [r7, #0] + 80073b8: 689a ldr r2, [r3, #8] + 80073ba: 697b ldr r3, [r7, #20] + 80073bc: 005b lsls r3, r3, #1 + 80073be: fa02 f303 lsl.w r3, r2, r3 + 80073c2: 693a ldr r2, [r7, #16] + 80073c4: 4313 orrs r3, r2 + 80073c6: 613b str r3, [r7, #16] GPIOx->PUPDR = temp; - 8006e10: 687b ldr r3, [r7, #4] - 8006e12: 693a ldr r2, [r7, #16] - 8006e14: 60da str r2, [r3, #12] + 80073c8: 687b ldr r3, [r7, #4] + 80073ca: 693a ldr r2, [r7, #16] + 80073cc: 60da str r2, [r3, #12] } /* In case of Alternate function mode selection */ if ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF) - 8006e16: 683b ldr r3, [r7, #0] - 8006e18: 685b ldr r3, [r3, #4] - 8006e1a: f003 0303 and.w r3, r3, #3 - 8006e1e: 2b02 cmp r3, #2 - 8006e20: d123 bne.n 8006e6a + 80073ce: 683b ldr r3, [r7, #0] + 80073d0: 685b ldr r3, [r3, #4] + 80073d2: f003 0303 and.w r3, r3, #3 + 80073d6: 2b02 cmp r3, #2 + 80073d8: d123 bne.n 8007422 /* Check the Alternate function parameters */ assert_param(IS_GPIO_AF_INSTANCE(GPIOx)); assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); /* Configure Alternate function mapped with the current IO */ temp = GPIOx->AFR[position >> 3u]; - 8006e22: 697b ldr r3, [r7, #20] - 8006e24: 08da lsrs r2, r3, #3 - 8006e26: 687b ldr r3, [r7, #4] - 8006e28: 3208 adds r2, #8 - 8006e2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8006e2e: 613b str r3, [r7, #16] + 80073da: 697b ldr r3, [r7, #20] + 80073dc: 08da lsrs r2, r3, #3 + 80073de: 687b ldr r3, [r7, #4] + 80073e0: 3208 adds r2, #8 + 80073e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80073e6: 613b str r3, [r7, #16] temp &= ~(0xFUL << ((position & 0x07UL) * 4UL)); - 8006e30: 697b ldr r3, [r7, #20] - 8006e32: f003 0307 and.w r3, r3, #7 - 8006e36: 009b lsls r3, r3, #2 - 8006e38: 220f movs r2, #15 - 8006e3a: fa02 f303 lsl.w r3, r2, r3 - 8006e3e: 43db mvns r3, r3 - 8006e40: 693a ldr r2, [r7, #16] - 8006e42: 4013 ands r3, r2 - 8006e44: 613b str r3, [r7, #16] + 80073e8: 697b ldr r3, [r7, #20] + 80073ea: f003 0307 and.w r3, r3, #7 + 80073ee: 009b lsls r3, r3, #2 + 80073f0: 220f movs r2, #15 + 80073f2: fa02 f303 lsl.w r3, r2, r3 + 80073f6: 43db mvns r3, r3 + 80073f8: 693a ldr r2, [r7, #16] + 80073fa: 4013 ands r3, r2 + 80073fc: 613b str r3, [r7, #16] temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); - 8006e46: 683b ldr r3, [r7, #0] - 8006e48: 691a ldr r2, [r3, #16] - 8006e4a: 697b ldr r3, [r7, #20] - 8006e4c: f003 0307 and.w r3, r3, #7 - 8006e50: 009b lsls r3, r3, #2 - 8006e52: fa02 f303 lsl.w r3, r2, r3 - 8006e56: 693a ldr r2, [r7, #16] - 8006e58: 4313 orrs r3, r2 - 8006e5a: 613b str r3, [r7, #16] + 80073fe: 683b ldr r3, [r7, #0] + 8007400: 691a ldr r2, [r3, #16] + 8007402: 697b ldr r3, [r7, #20] + 8007404: f003 0307 and.w r3, r3, #7 + 8007408: 009b lsls r3, r3, #2 + 800740a: fa02 f303 lsl.w r3, r2, r3 + 800740e: 693a ldr r2, [r7, #16] + 8007410: 4313 orrs r3, r2 + 8007412: 613b str r3, [r7, #16] GPIOx->AFR[position >> 3u] = temp; - 8006e5c: 697b ldr r3, [r7, #20] - 8006e5e: 08da lsrs r2, r3, #3 - 8006e60: 687b ldr r3, [r7, #4] - 8006e62: 3208 adds r2, #8 - 8006e64: 6939 ldr r1, [r7, #16] - 8006e66: f843 1022 str.w r1, [r3, r2, lsl #2] + 8007414: 697b ldr r3, [r7, #20] + 8007416: 08da lsrs r2, r3, #3 + 8007418: 687b ldr r3, [r7, #4] + 800741a: 3208 adds r2, #8 + 800741c: 6939 ldr r1, [r7, #16] + 800741e: f843 1022 str.w r1, [r3, r2, lsl #2] } /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ temp = GPIOx->MODER; - 8006e6a: 687b ldr r3, [r7, #4] - 8006e6c: 681b ldr r3, [r3, #0] - 8006e6e: 613b str r3, [r7, #16] + 8007422: 687b ldr r3, [r7, #4] + 8007424: 681b ldr r3, [r3, #0] + 8007426: 613b str r3, [r7, #16] temp &= ~(GPIO_MODER_MODE0 << (position * 2u)); - 8006e70: 697b ldr r3, [r7, #20] - 8006e72: 005b lsls r3, r3, #1 - 8006e74: 2203 movs r2, #3 - 8006e76: fa02 f303 lsl.w r3, r2, r3 - 8006e7a: 43db mvns r3, r3 - 8006e7c: 693a ldr r2, [r7, #16] - 8006e7e: 4013 ands r3, r2 - 8006e80: 613b str r3, [r7, #16] + 8007428: 697b ldr r3, [r7, #20] + 800742a: 005b lsls r3, r3, #1 + 800742c: 2203 movs r2, #3 + 800742e: fa02 f303 lsl.w r3, r2, r3 + 8007432: 43db mvns r3, r3 + 8007434: 693a ldr r2, [r7, #16] + 8007436: 4013 ands r3, r2 + 8007438: 613b str r3, [r7, #16] temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u)); - 8006e82: 683b ldr r3, [r7, #0] - 8006e84: 685b ldr r3, [r3, #4] - 8006e86: f003 0203 and.w r2, r3, #3 - 8006e8a: 697b ldr r3, [r7, #20] - 8006e8c: 005b lsls r3, r3, #1 - 8006e8e: fa02 f303 lsl.w r3, r2, r3 - 8006e92: 693a ldr r2, [r7, #16] - 8006e94: 4313 orrs r3, r2 - 8006e96: 613b str r3, [r7, #16] + 800743a: 683b ldr r3, [r7, #0] + 800743c: 685b ldr r3, [r3, #4] + 800743e: f003 0203 and.w r2, r3, #3 + 8007442: 697b ldr r3, [r7, #20] + 8007444: 005b lsls r3, r3, #1 + 8007446: fa02 f303 lsl.w r3, r2, r3 + 800744a: 693a ldr r2, [r7, #16] + 800744c: 4313 orrs r3, r2 + 800744e: 613b str r3, [r7, #16] GPIOx->MODER = temp; - 8006e98: 687b ldr r3, [r7, #4] - 8006e9a: 693a ldr r2, [r7, #16] - 8006e9c: 601a str r2, [r3, #0] + 8007450: 687b ldr r3, [r7, #4] + 8007452: 693a ldr r2, [r7, #16] + 8007454: 601a str r2, [r3, #0] /*--------------------- EXTI Mode Configuration ------------------------*/ /* Configure the External Interrupt or event for the current IO */ if ((GPIO_Init->Mode & EXTI_MODE) != 0x00u) - 8006e9e: 683b ldr r3, [r7, #0] - 8006ea0: 685b ldr r3, [r3, #4] - 8006ea2: f403 3340 and.w r3, r3, #196608 @ 0x30000 - 8006ea6: 2b00 cmp r3, #0 - 8006ea8: f000 8098 beq.w 8006fdc + 8007456: 683b ldr r3, [r7, #0] + 8007458: 685b ldr r3, [r3, #4] + 800745a: f403 3340 and.w r3, r3, #196608 @ 0x30000 + 800745e: 2b00 cmp r3, #0 + 8007460: f000 8098 beq.w 8007594 { temp = SYSCFG->EXTICR[position >> 2u]; - 8006eac: 4a54 ldr r2, [pc, #336] @ (8007000 ) - 8006eae: 697b ldr r3, [r7, #20] - 8006eb0: 089b lsrs r3, r3, #2 - 8006eb2: 3302 adds r3, #2 - 8006eb4: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8006eb8: 613b str r3, [r7, #16] + 8007464: 4a54 ldr r2, [pc, #336] @ (80075b8 ) + 8007466: 697b ldr r3, [r7, #20] + 8007468: 089b lsrs r3, r3, #2 + 800746a: 3302 adds r3, #2 + 800746c: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 8007470: 613b str r3, [r7, #16] temp &= ~(0x0FuL << (4u * (position & 0x03u))); - 8006eba: 697b ldr r3, [r7, #20] - 8006ebc: f003 0303 and.w r3, r3, #3 - 8006ec0: 009b lsls r3, r3, #2 - 8006ec2: 220f movs r2, #15 - 8006ec4: fa02 f303 lsl.w r3, r2, r3 - 8006ec8: 43db mvns r3, r3 - 8006eca: 693a ldr r2, [r7, #16] - 8006ecc: 4013 ands r3, r2 - 8006ece: 613b str r3, [r7, #16] + 8007472: 697b ldr r3, [r7, #20] + 8007474: f003 0303 and.w r3, r3, #3 + 8007478: 009b lsls r3, r3, #2 + 800747a: 220f movs r2, #15 + 800747c: fa02 f303 lsl.w r3, r2, r3 + 8007480: 43db mvns r3, r3 + 8007482: 693a ldr r2, [r7, #16] + 8007484: 4013 ands r3, r2 + 8007486: 613b str r3, [r7, #16] temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))); - 8006ed0: 687b ldr r3, [r7, #4] - 8006ed2: f1b3 4f90 cmp.w r3, #1207959552 @ 0x48000000 - 8006ed6: d019 beq.n 8006f0c - 8006ed8: 687b ldr r3, [r7, #4] - 8006eda: 4a4a ldr r2, [pc, #296] @ (8007004 ) - 8006edc: 4293 cmp r3, r2 - 8006ede: d013 beq.n 8006f08 - 8006ee0: 687b ldr r3, [r7, #4] - 8006ee2: 4a49 ldr r2, [pc, #292] @ (8007008 ) - 8006ee4: 4293 cmp r3, r2 - 8006ee6: d00d beq.n 8006f04 - 8006ee8: 687b ldr r3, [r7, #4] - 8006eea: 4a48 ldr r2, [pc, #288] @ (800700c ) - 8006eec: 4293 cmp r3, r2 - 8006eee: d007 beq.n 8006f00 - 8006ef0: 687b ldr r3, [r7, #4] - 8006ef2: 4a47 ldr r2, [pc, #284] @ (8007010 ) - 8006ef4: 4293 cmp r3, r2 - 8006ef6: d101 bne.n 8006efc - 8006ef8: 2304 movs r3, #4 - 8006efa: e008 b.n 8006f0e - 8006efc: 2307 movs r3, #7 - 8006efe: e006 b.n 8006f0e - 8006f00: 2303 movs r3, #3 - 8006f02: e004 b.n 8006f0e - 8006f04: 2302 movs r3, #2 - 8006f06: e002 b.n 8006f0e - 8006f08: 2301 movs r3, #1 - 8006f0a: e000 b.n 8006f0e - 8006f0c: 2300 movs r3, #0 - 8006f0e: 697a ldr r2, [r7, #20] - 8006f10: f002 0203 and.w r2, r2, #3 - 8006f14: 0092 lsls r2, r2, #2 - 8006f16: 4093 lsls r3, r2 - 8006f18: 693a ldr r2, [r7, #16] - 8006f1a: 4313 orrs r3, r2 - 8006f1c: 613b str r3, [r7, #16] + 8007488: 687b ldr r3, [r7, #4] + 800748a: f1b3 4f90 cmp.w r3, #1207959552 @ 0x48000000 + 800748e: d019 beq.n 80074c4 + 8007490: 687b ldr r3, [r7, #4] + 8007492: 4a4a ldr r2, [pc, #296] @ (80075bc ) + 8007494: 4293 cmp r3, r2 + 8007496: d013 beq.n 80074c0 + 8007498: 687b ldr r3, [r7, #4] + 800749a: 4a49 ldr r2, [pc, #292] @ (80075c0 ) + 800749c: 4293 cmp r3, r2 + 800749e: d00d beq.n 80074bc + 80074a0: 687b ldr r3, [r7, #4] + 80074a2: 4a48 ldr r2, [pc, #288] @ (80075c4 ) + 80074a4: 4293 cmp r3, r2 + 80074a6: d007 beq.n 80074b8 + 80074a8: 687b ldr r3, [r7, #4] + 80074aa: 4a47 ldr r2, [pc, #284] @ (80075c8 ) + 80074ac: 4293 cmp r3, r2 + 80074ae: d101 bne.n 80074b4 + 80074b0: 2304 movs r3, #4 + 80074b2: e008 b.n 80074c6 + 80074b4: 2307 movs r3, #7 + 80074b6: e006 b.n 80074c6 + 80074b8: 2303 movs r3, #3 + 80074ba: e004 b.n 80074c6 + 80074bc: 2302 movs r3, #2 + 80074be: e002 b.n 80074c6 + 80074c0: 2301 movs r3, #1 + 80074c2: e000 b.n 80074c6 + 80074c4: 2300 movs r3, #0 + 80074c6: 697a ldr r2, [r7, #20] + 80074c8: f002 0203 and.w r2, r2, #3 + 80074cc: 0092 lsls r2, r2, #2 + 80074ce: 4093 lsls r3, r2 + 80074d0: 693a ldr r2, [r7, #16] + 80074d2: 4313 orrs r3, r2 + 80074d4: 613b str r3, [r7, #16] SYSCFG->EXTICR[position >> 2u] = temp; - 8006f1e: 4938 ldr r1, [pc, #224] @ (8007000 ) - 8006f20: 697b ldr r3, [r7, #20] - 8006f22: 089b lsrs r3, r3, #2 - 8006f24: 3302 adds r3, #2 - 8006f26: 693a ldr r2, [r7, #16] - 8006f28: f841 2023 str.w r2, [r1, r3, lsl #2] + 80074d6: 4938 ldr r1, [pc, #224] @ (80075b8 ) + 80074d8: 697b ldr r3, [r7, #20] + 80074da: 089b lsrs r3, r3, #2 + 80074dc: 3302 adds r3, #2 + 80074de: 693a ldr r2, [r7, #16] + 80074e0: f841 2023 str.w r2, [r1, r3, lsl #2] /* Clear Rising Falling edge configuration */ temp = EXTI->RTSR1; - 8006f2c: 4b39 ldr r3, [pc, #228] @ (8007014 ) - 8006f2e: 681b ldr r3, [r3, #0] - 8006f30: 613b str r3, [r7, #16] + 80074e4: 4b39 ldr r3, [pc, #228] @ (80075cc ) + 80074e6: 681b ldr r3, [r3, #0] + 80074e8: 613b str r3, [r7, #16] temp &= ~(iocurrent); - 8006f32: 68fb ldr r3, [r7, #12] - 8006f34: 43db mvns r3, r3 - 8006f36: 693a ldr r2, [r7, #16] - 8006f38: 4013 ands r3, r2 - 8006f3a: 613b str r3, [r7, #16] + 80074ea: 68fb ldr r3, [r7, #12] + 80074ec: 43db mvns r3, r3 + 80074ee: 693a ldr r2, [r7, #16] + 80074f0: 4013 ands r3, r2 + 80074f2: 613b str r3, [r7, #16] if ((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u) - 8006f3c: 683b ldr r3, [r7, #0] - 8006f3e: 685b ldr r3, [r3, #4] - 8006f40: f403 1380 and.w r3, r3, #1048576 @ 0x100000 - 8006f44: 2b00 cmp r3, #0 - 8006f46: d003 beq.n 8006f50 + 80074f4: 683b ldr r3, [r7, #0] + 80074f6: 685b ldr r3, [r3, #4] + 80074f8: f403 1380 and.w r3, r3, #1048576 @ 0x100000 + 80074fc: 2b00 cmp r3, #0 + 80074fe: d003 beq.n 8007508 { temp |= iocurrent; - 8006f48: 693a ldr r2, [r7, #16] - 8006f4a: 68fb ldr r3, [r7, #12] - 8006f4c: 4313 orrs r3, r2 - 8006f4e: 613b str r3, [r7, #16] + 8007500: 693a ldr r2, [r7, #16] + 8007502: 68fb ldr r3, [r7, #12] + 8007504: 4313 orrs r3, r2 + 8007506: 613b str r3, [r7, #16] } EXTI->RTSR1 = temp; - 8006f50: 4a30 ldr r2, [pc, #192] @ (8007014 ) - 8006f52: 693b ldr r3, [r7, #16] - 8006f54: 6013 str r3, [r2, #0] + 8007508: 4a30 ldr r2, [pc, #192] @ (80075cc ) + 800750a: 693b ldr r3, [r7, #16] + 800750c: 6013 str r3, [r2, #0] temp = EXTI->FTSR1; - 8006f56: 4b2f ldr r3, [pc, #188] @ (8007014 ) - 8006f58: 685b ldr r3, [r3, #4] - 8006f5a: 613b str r3, [r7, #16] + 800750e: 4b2f ldr r3, [pc, #188] @ (80075cc ) + 8007510: 685b ldr r3, [r3, #4] + 8007512: 613b str r3, [r7, #16] temp &= ~(iocurrent); - 8006f5c: 68fb ldr r3, [r7, #12] - 8006f5e: 43db mvns r3, r3 - 8006f60: 693a ldr r2, [r7, #16] - 8006f62: 4013 ands r3, r2 - 8006f64: 613b str r3, [r7, #16] + 8007514: 68fb ldr r3, [r7, #12] + 8007516: 43db mvns r3, r3 + 8007518: 693a ldr r2, [r7, #16] + 800751a: 4013 ands r3, r2 + 800751c: 613b str r3, [r7, #16] if ((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u) - 8006f66: 683b ldr r3, [r7, #0] - 8006f68: 685b ldr r3, [r3, #4] - 8006f6a: f403 1300 and.w r3, r3, #2097152 @ 0x200000 - 8006f6e: 2b00 cmp r3, #0 - 8006f70: d003 beq.n 8006f7a + 800751e: 683b ldr r3, [r7, #0] + 8007520: 685b ldr r3, [r3, #4] + 8007522: f403 1300 and.w r3, r3, #2097152 @ 0x200000 + 8007526: 2b00 cmp r3, #0 + 8007528: d003 beq.n 8007532 { temp |= iocurrent; - 8006f72: 693a ldr r2, [r7, #16] - 8006f74: 68fb ldr r3, [r7, #12] - 8006f76: 4313 orrs r3, r2 - 8006f78: 613b str r3, [r7, #16] + 800752a: 693a ldr r2, [r7, #16] + 800752c: 68fb ldr r3, [r7, #12] + 800752e: 4313 orrs r3, r2 + 8007530: 613b str r3, [r7, #16] } EXTI->FTSR1 = temp; - 8006f7a: 4a26 ldr r2, [pc, #152] @ (8007014 ) - 8006f7c: 693b ldr r3, [r7, #16] - 8006f7e: 6053 str r3, [r2, #4] + 8007532: 4a26 ldr r2, [pc, #152] @ (80075cc ) + 8007534: 693b ldr r3, [r7, #16] + 8007536: 6053 str r3, [r2, #4] /* Clear EXTI line configuration */ temp = EXTI->IMR1; - 8006f80: 4b24 ldr r3, [pc, #144] @ (8007014 ) - 8006f82: f8d3 3080 ldr.w r3, [r3, #128] @ 0x80 - 8006f86: 613b str r3, [r7, #16] + 8007538: 4b24 ldr r3, [pc, #144] @ (80075cc ) + 800753a: f8d3 3080 ldr.w r3, [r3, #128] @ 0x80 + 800753e: 613b str r3, [r7, #16] temp &= ~(iocurrent); - 8006f88: 68fb ldr r3, [r7, #12] - 8006f8a: 43db mvns r3, r3 - 8006f8c: 693a ldr r2, [r7, #16] - 8006f8e: 4013 ands r3, r2 - 8006f90: 613b str r3, [r7, #16] + 8007540: 68fb ldr r3, [r7, #12] + 8007542: 43db mvns r3, r3 + 8007544: 693a ldr r2, [r7, #16] + 8007546: 4013 ands r3, r2 + 8007548: 613b str r3, [r7, #16] if ((GPIO_Init->Mode & EXTI_IT) != 0x00u) - 8006f92: 683b ldr r3, [r7, #0] - 8006f94: 685b ldr r3, [r3, #4] - 8006f96: f403 3380 and.w r3, r3, #65536 @ 0x10000 - 8006f9a: 2b00 cmp r3, #0 - 8006f9c: d003 beq.n 8006fa6 + 800754a: 683b ldr r3, [r7, #0] + 800754c: 685b ldr r3, [r3, #4] + 800754e: f403 3380 and.w r3, r3, #65536 @ 0x10000 + 8007552: 2b00 cmp r3, #0 + 8007554: d003 beq.n 800755e { temp |= iocurrent; - 8006f9e: 693a ldr r2, [r7, #16] - 8006fa0: 68fb ldr r3, [r7, #12] - 8006fa2: 4313 orrs r3, r2 - 8006fa4: 613b str r3, [r7, #16] + 8007556: 693a ldr r2, [r7, #16] + 8007558: 68fb ldr r3, [r7, #12] + 800755a: 4313 orrs r3, r2 + 800755c: 613b str r3, [r7, #16] } EXTI->IMR1 = temp; - 8006fa6: 4a1b ldr r2, [pc, #108] @ (8007014 ) - 8006fa8: 693b ldr r3, [r7, #16] - 8006faa: f8c2 3080 str.w r3, [r2, #128] @ 0x80 + 800755e: 4a1b ldr r2, [pc, #108] @ (80075cc ) + 8007560: 693b ldr r3, [r7, #16] + 8007562: f8c2 3080 str.w r3, [r2, #128] @ 0x80 temp = EXTI->EMR1; - 8006fae: 4b19 ldr r3, [pc, #100] @ (8007014 ) - 8006fb0: f8d3 3084 ldr.w r3, [r3, #132] @ 0x84 - 8006fb4: 613b str r3, [r7, #16] + 8007566: 4b19 ldr r3, [pc, #100] @ (80075cc ) + 8007568: f8d3 3084 ldr.w r3, [r3, #132] @ 0x84 + 800756c: 613b str r3, [r7, #16] temp &= ~(iocurrent); - 8006fb6: 68fb ldr r3, [r7, #12] - 8006fb8: 43db mvns r3, r3 - 8006fba: 693a ldr r2, [r7, #16] - 8006fbc: 4013 ands r3, r2 - 8006fbe: 613b str r3, [r7, #16] + 800756e: 68fb ldr r3, [r7, #12] + 8007570: 43db mvns r3, r3 + 8007572: 693a ldr r2, [r7, #16] + 8007574: 4013 ands r3, r2 + 8007576: 613b str r3, [r7, #16] if ((GPIO_Init->Mode & EXTI_EVT) != 0x00u) - 8006fc0: 683b ldr r3, [r7, #0] - 8006fc2: 685b ldr r3, [r3, #4] - 8006fc4: f403 3300 and.w r3, r3, #131072 @ 0x20000 - 8006fc8: 2b00 cmp r3, #0 - 8006fca: d003 beq.n 8006fd4 + 8007578: 683b ldr r3, [r7, #0] + 800757a: 685b ldr r3, [r3, #4] + 800757c: f403 3300 and.w r3, r3, #131072 @ 0x20000 + 8007580: 2b00 cmp r3, #0 + 8007582: d003 beq.n 800758c { temp |= iocurrent; - 8006fcc: 693a ldr r2, [r7, #16] - 8006fce: 68fb ldr r3, [r7, #12] - 8006fd0: 4313 orrs r3, r2 - 8006fd2: 613b str r3, [r7, #16] + 8007584: 693a ldr r2, [r7, #16] + 8007586: 68fb ldr r3, [r7, #12] + 8007588: 4313 orrs r3, r2 + 800758a: 613b str r3, [r7, #16] } EXTI->EMR1 = temp; - 8006fd4: 4a0f ldr r2, [pc, #60] @ (8007014 ) - 8006fd6: 693b ldr r3, [r7, #16] - 8006fd8: f8c2 3084 str.w r3, [r2, #132] @ 0x84 + 800758c: 4a0f ldr r2, [pc, #60] @ (80075cc ) + 800758e: 693b ldr r3, [r7, #16] + 8007590: f8c2 3084 str.w r3, [r2, #132] @ 0x84 } } position++; - 8006fdc: 697b ldr r3, [r7, #20] - 8006fde: 3301 adds r3, #1 - 8006fe0: 617b str r3, [r7, #20] + 8007594: 697b ldr r3, [r7, #20] + 8007596: 3301 adds r3, #1 + 8007598: 617b str r3, [r7, #20] while (((GPIO_Init->Pin) >> position) != 0x00u) - 8006fe2: 683b ldr r3, [r7, #0] - 8006fe4: 681a ldr r2, [r3, #0] - 8006fe6: 697b ldr r3, [r7, #20] - 8006fe8: fa22 f303 lsr.w r3, r2, r3 - 8006fec: 2b00 cmp r3, #0 - 8006fee: f47f aeab bne.w 8006d48 + 800759a: 683b ldr r3, [r7, #0] + 800759c: 681a ldr r2, [r3, #0] + 800759e: 697b ldr r3, [r7, #20] + 80075a0: fa22 f303 lsr.w r3, r2, r3 + 80075a4: 2b00 cmp r3, #0 + 80075a6: f47f aeab bne.w 8007300 } } - 8006ff2: bf00 nop - 8006ff4: bf00 nop - 8006ff6: 371c adds r7, #28 - 8006ff8: 46bd mov sp, r7 - 8006ffa: f85d 7b04 ldr.w r7, [sp], #4 - 8006ffe: 4770 bx lr - 8007000: 40010000 .word 0x40010000 - 8007004: 48000400 .word 0x48000400 - 8007008: 48000800 .word 0x48000800 - 800700c: 48000c00 .word 0x48000c00 - 8007010: 48001000 .word 0x48001000 - 8007014: 58000800 .word 0x58000800 + 80075aa: bf00 nop + 80075ac: bf00 nop + 80075ae: 371c adds r7, #28 + 80075b0: 46bd mov sp, r7 + 80075b2: f85d 7b04 ldr.w r7, [sp], #4 + 80075b6: 4770 bx lr + 80075b8: 40010000 .word 0x40010000 + 80075bc: 48000400 .word 0x48000400 + 80075c0: 48000800 .word 0x48000800 + 80075c4: 48000c00 .word 0x48000c00 + 80075c8: 48001000 .word 0x48001000 + 80075cc: 58000800 .word 0x58000800 -08007018 : +080075d0 : * @arg GPIO_PIN_RESET: to clear the port pin * @arg GPIO_PIN_SET: to set the port pin * @retval None */ void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) { - 8007018: b480 push {r7} - 800701a: b083 sub sp, #12 - 800701c: af00 add r7, sp, #0 - 800701e: 6078 str r0, [r7, #4] - 8007020: 460b mov r3, r1 - 8007022: 807b strh r3, [r7, #2] - 8007024: 4613 mov r3, r2 - 8007026: 707b strb r3, [r7, #1] + 80075d0: b480 push {r7} + 80075d2: b083 sub sp, #12 + 80075d4: af00 add r7, sp, #0 + 80075d6: 6078 str r0, [r7, #4] + 80075d8: 460b mov r3, r1 + 80075da: 807b strh r3, [r7, #2] + 80075dc: 4613 mov r3, r2 + 80075de: 707b strb r3, [r7, #1] /* Check the parameters */ assert_param(IS_GPIO_PIN(GPIO_Pin)); assert_param(IS_GPIO_PIN_ACTION(PinState)); if (PinState != GPIO_PIN_RESET) - 8007028: 787b ldrb r3, [r7, #1] - 800702a: 2b00 cmp r3, #0 - 800702c: d003 beq.n 8007036 + 80075e0: 787b ldrb r3, [r7, #1] + 80075e2: 2b00 cmp r3, #0 + 80075e4: d003 beq.n 80075ee { GPIOx->BSRR = (uint32_t)GPIO_Pin; - 800702e: 887a ldrh r2, [r7, #2] - 8007030: 687b ldr r3, [r7, #4] - 8007032: 619a str r2, [r3, #24] + 80075e6: 887a ldrh r2, [r7, #2] + 80075e8: 687b ldr r3, [r7, #4] + 80075ea: 619a str r2, [r3, #24] } else { GPIOx->BRR = (uint32_t)GPIO_Pin; } } - 8007034: e002 b.n 800703c + 80075ec: e002 b.n 80075f4 GPIOx->BRR = (uint32_t)GPIO_Pin; - 8007036: 887a ldrh r2, [r7, #2] - 8007038: 687b ldr r3, [r7, #4] - 800703a: 629a str r2, [r3, #40] @ 0x28 + 80075ee: 887a ldrh r2, [r7, #2] + 80075f0: 687b ldr r3, [r7, #4] + 80075f2: 629a str r2, [r3, #40] @ 0x28 } - 800703c: bf00 nop - 800703e: 370c adds r7, #12 - 8007040: 46bd mov sp, r7 - 8007042: f85d 7b04 ldr.w r7, [sp], #4 - 8007046: 4770 bx lr + 80075f4: bf00 nop + 80075f6: 370c adds r7, #12 + 80075f8: 46bd mov sp, r7 + 80075fa: f85d 7b04 ldr.w r7, [sp], #4 + 80075fe: 4770 bx lr -08007048 : +08007600 : * @brief Handle EXTI interrupt request. * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line. * @retval None */ void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin) { - 8007048: b580 push {r7, lr} - 800704a: b082 sub sp, #8 - 800704c: af00 add r7, sp, #0 - 800704e: 4603 mov r3, r0 - 8007050: 80fb strh r3, [r7, #6] + 8007600: b580 push {r7, lr} + 8007602: b082 sub sp, #8 + 8007604: af00 add r7, sp, #0 + 8007606: 4603 mov r3, r0 + 8007608: 80fb strh r3, [r7, #6] /* EXTI line interrupt detected */ if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u) - 8007052: 4b08 ldr r3, [pc, #32] @ (8007074 ) - 8007054: 68da ldr r2, [r3, #12] - 8007056: 88fb ldrh r3, [r7, #6] - 8007058: 4013 ands r3, r2 - 800705a: 2b00 cmp r3, #0 - 800705c: d006 beq.n 800706c + 800760a: 4b08 ldr r3, [pc, #32] @ (800762c ) + 800760c: 68da ldr r2, [r3, #12] + 800760e: 88fb ldrh r3, [r7, #6] + 8007610: 4013 ands r3, r2 + 8007612: 2b00 cmp r3, #0 + 8007614: d006 beq.n 8007624 { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); - 800705e: 4a05 ldr r2, [pc, #20] @ (8007074 ) - 8007060: 88fb ldrh r3, [r7, #6] - 8007062: 60d3 str r3, [r2, #12] + 8007616: 4a05 ldr r2, [pc, #20] @ (800762c ) + 8007618: 88fb ldrh r3, [r7, #6] + 800761a: 60d3 str r3, [r2, #12] HAL_GPIO_EXTI_Callback(GPIO_Pin); - 8007064: 88fb ldrh r3, [r7, #6] - 8007066: 4618 mov r0, r3 - 8007068: f7fe f990 bl 800538c + 800761c: 88fb ldrh r3, [r7, #6] + 800761e: 4618 mov r0, r3 + 8007620: f7fd ff6e bl 8005500 } } - 800706c: bf00 nop - 800706e: 3708 adds r7, #8 - 8007070: 46bd mov sp, r7 - 8007072: bd80 pop {r7, pc} - 8007074: 58000800 .word 0x58000800 + 8007624: bf00 nop + 8007626: 3708 adds r7, #8 + 8007628: 46bd mov sp, r7 + 800762a: bd80 pop {r7, pc} + 800762c: 58000800 .word 0x58000800 -08007078 : +08007630 : /** * @brief This function handles HSEM interrupt request * @retval None */ void HAL_HSEM_IRQHandler(void) { - 8007078: b580 push {r7, lr} - 800707a: b082 sub sp, #8 - 800707c: af00 add r7, sp, #0 + 8007630: b580 push {r7, lr} + 8007632: b082 sub sp, #8 + 8007634: af00 add r7, sp, #0 uint32_t statusreg; /* Get the list of masked freed semaphores*/ statusreg = HSEM_COMMON->MISR; - 800707e: 4b0a ldr r3, [pc, #40] @ (80070a8 ) - 8007080: 68db ldr r3, [r3, #12] - 8007082: 607b str r3, [r7, #4] + 8007636: 4b0a ldr r3, [pc, #40] @ (8007660 ) + 8007638: 68db ldr r3, [r3, #12] + 800763a: 607b str r3, [r7, #4] /*Disable Interrupts*/ HSEM_COMMON->IER &= ~((uint32_t)statusreg); - 8007084: 4b08 ldr r3, [pc, #32] @ (80070a8 ) - 8007086: 681a ldr r2, [r3, #0] - 8007088: 687b ldr r3, [r7, #4] - 800708a: 43db mvns r3, r3 - 800708c: 4906 ldr r1, [pc, #24] @ (80070a8 ) - 800708e: 4013 ands r3, r2 - 8007090: 600b str r3, [r1, #0] + 800763c: 4b08 ldr r3, [pc, #32] @ (8007660 ) + 800763e: 681a ldr r2, [r3, #0] + 8007640: 687b ldr r3, [r7, #4] + 8007642: 43db mvns r3, r3 + 8007644: 4906 ldr r1, [pc, #24] @ (8007660 ) + 8007646: 4013 ands r3, r2 + 8007648: 600b str r3, [r1, #0] /*Clear Flags*/ HSEM_COMMON->ICR = ((uint32_t)statusreg); - 8007092: 4a05 ldr r2, [pc, #20] @ (80070a8 ) - 8007094: 687b ldr r3, [r7, #4] - 8007096: 6053 str r3, [r2, #4] + 800764a: 4a05 ldr r2, [pc, #20] @ (8007660 ) + 800764c: 687b ldr r3, [r7, #4] + 800764e: 6053 str r3, [r2, #4] /* Call FreeCallback */ HAL_HSEM_FreeCallback(statusreg); - 8007098: 6878 ldr r0, [r7, #4] - 800709a: f000 f807 bl 80070ac + 8007650: 6878 ldr r0, [r7, #4] + 8007652: f000 f807 bl 8007664 } - 800709e: bf00 nop - 80070a0: 3708 adds r7, #8 - 80070a2: 46bd mov sp, r7 - 80070a4: bd80 pop {r7, pc} - 80070a6: bf00 nop - 80070a8: 58001500 .word 0x58001500 + 8007656: bf00 nop + 8007658: 3708 adds r7, #8 + 800765a: 46bd mov sp, r7 + 800765c: bd80 pop {r7, pc} + 800765e: bf00 nop + 8007660: 58001500 .word 0x58001500 -080070ac : +08007664 : * @brief Semaphore Released Callback. * @param SemMask: Mask of Released semaphores * @retval None */ __weak void HAL_HSEM_FreeCallback(uint32_t SemMask) { - 80070ac: b480 push {r7} - 80070ae: b083 sub sp, #12 - 80070b0: af00 add r7, sp, #0 - 80070b2: 6078 str r0, [r7, #4] + 8007664: b480 push {r7} + 8007666: b083 sub sp, #12 + 8007668: af00 add r7, sp, #0 + 800766a: 6078 str r0, [r7, #4] UNUSED(SemMask); /* NOTE : This function should not be modified, when the callback is needed, the HAL_HSEM_FreeCallback can be implemented in the user file */ } - 80070b4: bf00 nop - 80070b6: 370c adds r7, #12 - 80070b8: 46bd mov sp, r7 - 80070ba: f85d 7b04 ldr.w r7, [sp], #4 - 80070be: 4770 bx lr + 800766c: bf00 nop + 800766e: 370c adds r7, #12 + 8007670: 46bd mov sp, r7 + 8007672: f85d 7b04 ldr.w r7, [sp], #4 + 8007676: 4770 bx lr -080070c0 : +08007678 : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval HAL status */ HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c) { - 80070c0: b580 push {r7, lr} - 80070c2: b082 sub sp, #8 - 80070c4: af00 add r7, sp, #0 - 80070c6: 6078 str r0, [r7, #4] + 8007678: b580 push {r7, lr} + 800767a: b082 sub sp, #8 + 800767c: af00 add r7, sp, #0 + 800767e: 6078 str r0, [r7, #4] /* Check the I2C handle allocation */ if (hi2c == NULL) - 80070c8: 687b ldr r3, [r7, #4] - 80070ca: 2b00 cmp r3, #0 - 80070cc: d101 bne.n 80070d2 + 8007680: 687b ldr r3, [r7, #4] + 8007682: 2b00 cmp r3, #0 + 8007684: d101 bne.n 800768a { return HAL_ERROR; - 80070ce: 2301 movs r3, #1 - 80070d0: e08d b.n 80071ee + 8007686: 2301 movs r3, #1 + 8007688: e08d b.n 80077a6 assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks)); assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); if (hi2c->State == HAL_I2C_STATE_RESET) - 80070d2: 687b ldr r3, [r7, #4] - 80070d4: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80070d8: b2db uxtb r3, r3 - 80070da: 2b00 cmp r3, #0 - 80070dc: d106 bne.n 80070ec + 800768a: 687b ldr r3, [r7, #4] + 800768c: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8007690: b2db uxtb r3, r3 + 8007692: 2b00 cmp r3, #0 + 8007694: d106 bne.n 80076a4 { /* Allocate lock resource and initialize it */ hi2c->Lock = HAL_UNLOCKED; - 80070de: 687b ldr r3, [r7, #4] - 80070e0: 2200 movs r2, #0 - 80070e2: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007696: 687b ldr r3, [r7, #4] + 8007698: 2200 movs r2, #0 + 800769a: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ hi2c->MspInitCallback(hi2c); #else /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ HAL_I2C_MspInit(hi2c); - 80070e6: 6878 ldr r0, [r7, #4] - 80070e8: f7fe fd28 bl 8005b3c + 800769e: 6878 ldr r0, [r7, #4] + 80076a0: f7fe fcc2 bl 8006028 #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ } hi2c->State = HAL_I2C_STATE_BUSY; - 80070ec: 687b ldr r3, [r7, #4] - 80070ee: 2224 movs r2, #36 @ 0x24 - 80070f0: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 80076a4: 687b ldr r3, [r7, #4] + 80076a6: 2224 movs r2, #36 @ 0x24 + 80076a8: f883 2041 strb.w r2, [r3, #65] @ 0x41 /* Disable the selected I2C peripheral */ __HAL_I2C_DISABLE(hi2c); - 80070f4: 687b ldr r3, [r7, #4] - 80070f6: 681b ldr r3, [r3, #0] - 80070f8: 681a ldr r2, [r3, #0] - 80070fa: 687b ldr r3, [r7, #4] - 80070fc: 681b ldr r3, [r3, #0] - 80070fe: f022 0201 bic.w r2, r2, #1 - 8007102: 601a str r2, [r3, #0] + 80076ac: 687b ldr r3, [r7, #4] + 80076ae: 681b ldr r3, [r3, #0] + 80076b0: 681a ldr r2, [r3, #0] + 80076b2: 687b ldr r3, [r7, #4] + 80076b4: 681b ldr r3, [r3, #0] + 80076b6: f022 0201 bic.w r2, r2, #1 + 80076ba: 601a str r2, [r3, #0] /*---------------------------- I2Cx TIMINGR Configuration ------------------*/ /* Configure I2Cx: Frequency range */ hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK; - 8007104: 687b ldr r3, [r7, #4] - 8007106: 685a ldr r2, [r3, #4] - 8007108: 687b ldr r3, [r7, #4] - 800710a: 681b ldr r3, [r3, #0] - 800710c: f022 6270 bic.w r2, r2, #251658240 @ 0xf000000 - 8007110: 611a str r2, [r3, #16] + 80076bc: 687b ldr r3, [r7, #4] + 80076be: 685a ldr r2, [r3, #4] + 80076c0: 687b ldr r3, [r7, #4] + 80076c2: 681b ldr r3, [r3, #0] + 80076c4: f022 6270 bic.w r2, r2, #251658240 @ 0xf000000 + 80076c8: 611a str r2, [r3, #16] /*---------------------------- I2Cx OAR1 Configuration ---------------------*/ /* Disable Own Address1 before set the Own Address1 configuration */ hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN; - 8007112: 687b ldr r3, [r7, #4] - 8007114: 681b ldr r3, [r3, #0] - 8007116: 689a ldr r2, [r3, #8] - 8007118: 687b ldr r3, [r7, #4] - 800711a: 681b ldr r3, [r3, #0] - 800711c: f422 4200 bic.w r2, r2, #32768 @ 0x8000 - 8007120: 609a str r2, [r3, #8] + 80076ca: 687b ldr r3, [r7, #4] + 80076cc: 681b ldr r3, [r3, #0] + 80076ce: 689a ldr r2, [r3, #8] + 80076d0: 687b ldr r3, [r7, #4] + 80076d2: 681b ldr r3, [r3, #0] + 80076d4: f422 4200 bic.w r2, r2, #32768 @ 0x8000 + 80076d8: 609a str r2, [r3, #8] /* Configure I2Cx: Own Address1 and ack own address1 mode */ if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT) - 8007122: 687b ldr r3, [r7, #4] - 8007124: 68db ldr r3, [r3, #12] - 8007126: 2b01 cmp r3, #1 - 8007128: d107 bne.n 800713a + 80076da: 687b ldr r3, [r7, #4] + 80076dc: 68db ldr r3, [r3, #12] + 80076de: 2b01 cmp r3, #1 + 80076e0: d107 bne.n 80076f2 { hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1); - 800712a: 687b ldr r3, [r7, #4] - 800712c: 689a ldr r2, [r3, #8] - 800712e: 687b ldr r3, [r7, #4] - 8007130: 681b ldr r3, [r3, #0] - 8007132: f442 4200 orr.w r2, r2, #32768 @ 0x8000 - 8007136: 609a str r2, [r3, #8] - 8007138: e006 b.n 8007148 + 80076e2: 687b ldr r3, [r7, #4] + 80076e4: 689a ldr r2, [r3, #8] + 80076e6: 687b ldr r3, [r7, #4] + 80076e8: 681b ldr r3, [r3, #0] + 80076ea: f442 4200 orr.w r2, r2, #32768 @ 0x8000 + 80076ee: 609a str r2, [r3, #8] + 80076f0: e006 b.n 8007700 } else /* I2C_ADDRESSINGMODE_10BIT */ { hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1); - 800713a: 687b ldr r3, [r7, #4] - 800713c: 689a ldr r2, [r3, #8] - 800713e: 687b ldr r3, [r7, #4] - 8007140: 681b ldr r3, [r3, #0] - 8007142: f442 4204 orr.w r2, r2, #33792 @ 0x8400 - 8007146: 609a str r2, [r3, #8] + 80076f2: 687b ldr r3, [r7, #4] + 80076f4: 689a ldr r2, [r3, #8] + 80076f6: 687b ldr r3, [r7, #4] + 80076f8: 681b ldr r3, [r3, #0] + 80076fa: f442 4204 orr.w r2, r2, #33792 @ 0x8400 + 80076fe: 609a str r2, [r3, #8] } /*---------------------------- I2Cx CR2 Configuration ----------------------*/ /* Configure I2Cx: Addressing Master mode */ if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) - 8007148: 687b ldr r3, [r7, #4] - 800714a: 68db ldr r3, [r3, #12] - 800714c: 2b02 cmp r3, #2 - 800714e: d108 bne.n 8007162 + 8007700: 687b ldr r3, [r7, #4] + 8007702: 68db ldr r3, [r3, #12] + 8007704: 2b02 cmp r3, #2 + 8007706: d108 bne.n 800771a { SET_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10); - 8007150: 687b ldr r3, [r7, #4] - 8007152: 681b ldr r3, [r3, #0] - 8007154: 685a ldr r2, [r3, #4] - 8007156: 687b ldr r3, [r7, #4] - 8007158: 681b ldr r3, [r3, #0] - 800715a: f442 6200 orr.w r2, r2, #2048 @ 0x800 - 800715e: 605a str r2, [r3, #4] - 8007160: e007 b.n 8007172 + 8007708: 687b ldr r3, [r7, #4] + 800770a: 681b ldr r3, [r3, #0] + 800770c: 685a ldr r2, [r3, #4] + 800770e: 687b ldr r3, [r7, #4] + 8007710: 681b ldr r3, [r3, #0] + 8007712: f442 6200 orr.w r2, r2, #2048 @ 0x800 + 8007716: 605a str r2, [r3, #4] + 8007718: e007 b.n 800772a } else { /* Clear the I2C ADD10 bit */ CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10); - 8007162: 687b ldr r3, [r7, #4] - 8007164: 681b ldr r3, [r3, #0] - 8007166: 685a ldr r2, [r3, #4] - 8007168: 687b ldr r3, [r7, #4] - 800716a: 681b ldr r3, [r3, #0] - 800716c: f422 6200 bic.w r2, r2, #2048 @ 0x800 - 8007170: 605a str r2, [r3, #4] + 800771a: 687b ldr r3, [r7, #4] + 800771c: 681b ldr r3, [r3, #0] + 800771e: 685a ldr r2, [r3, #4] + 8007720: 687b ldr r3, [r7, #4] + 8007722: 681b ldr r3, [r3, #0] + 8007724: f422 6200 bic.w r2, r2, #2048 @ 0x800 + 8007728: 605a str r2, [r3, #4] } /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */ hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); - 8007172: 687b ldr r3, [r7, #4] - 8007174: 681b ldr r3, [r3, #0] - 8007176: 685b ldr r3, [r3, #4] - 8007178: 687a ldr r2, [r7, #4] - 800717a: 6812 ldr r2, [r2, #0] - 800717c: f043 7300 orr.w r3, r3, #33554432 @ 0x2000000 - 8007180: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8007184: 6053 str r3, [r2, #4] + 800772a: 687b ldr r3, [r7, #4] + 800772c: 681b ldr r3, [r3, #0] + 800772e: 685b ldr r3, [r3, #4] + 8007730: 687a ldr r2, [r7, #4] + 8007732: 6812 ldr r2, [r2, #0] + 8007734: f043 7300 orr.w r3, r3, #33554432 @ 0x2000000 + 8007738: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800773c: 6053 str r3, [r2, #4] /*---------------------------- I2Cx OAR2 Configuration ---------------------*/ /* Disable Own Address2 before set the Own Address2 configuration */ hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE; - 8007186: 687b ldr r3, [r7, #4] - 8007188: 681b ldr r3, [r3, #0] - 800718a: 68da ldr r2, [r3, #12] - 800718c: 687b ldr r3, [r7, #4] - 800718e: 681b ldr r3, [r3, #0] - 8007190: f422 4200 bic.w r2, r2, #32768 @ 0x8000 - 8007194: 60da str r2, [r3, #12] + 800773e: 687b ldr r3, [r7, #4] + 8007740: 681b ldr r3, [r3, #0] + 8007742: 68da ldr r2, [r3, #12] + 8007744: 687b ldr r3, [r7, #4] + 8007746: 681b ldr r3, [r3, #0] + 8007748: f422 4200 bic.w r2, r2, #32768 @ 0x8000 + 800774c: 60da str r2, [r3, #12] /* Configure I2Cx: Dual mode and Own Address2 */ hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \ - 8007196: 687b ldr r3, [r7, #4] - 8007198: 691a ldr r2, [r3, #16] - 800719a: 687b ldr r3, [r7, #4] - 800719c: 695b ldr r3, [r3, #20] - 800719e: ea42 0103 orr.w r1, r2, r3 + 800774e: 687b ldr r3, [r7, #4] + 8007750: 691a ldr r2, [r3, #16] + 8007752: 687b ldr r3, [r7, #4] + 8007754: 695b ldr r3, [r3, #20] + 8007756: ea42 0103 orr.w r1, r2, r3 (hi2c->Init.OwnAddress2Masks << 8)); - 80071a2: 687b ldr r3, [r7, #4] - 80071a4: 699b ldr r3, [r3, #24] - 80071a6: 021a lsls r2, r3, #8 + 800775a: 687b ldr r3, [r7, #4] + 800775c: 699b ldr r3, [r3, #24] + 800775e: 021a lsls r2, r3, #8 hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \ - 80071a8: 687b ldr r3, [r7, #4] - 80071aa: 681b ldr r3, [r3, #0] - 80071ac: 430a orrs r2, r1 - 80071ae: 60da str r2, [r3, #12] + 8007760: 687b ldr r3, [r7, #4] + 8007762: 681b ldr r3, [r3, #0] + 8007764: 430a orrs r2, r1 + 8007766: 60da str r2, [r3, #12] /*---------------------------- I2Cx CR1 Configuration ----------------------*/ /* Configure I2Cx: Generalcall and NoStretch mode */ hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode); - 80071b0: 687b ldr r3, [r7, #4] - 80071b2: 69d9 ldr r1, [r3, #28] - 80071b4: 687b ldr r3, [r7, #4] - 80071b6: 6a1a ldr r2, [r3, #32] - 80071b8: 687b ldr r3, [r7, #4] - 80071ba: 681b ldr r3, [r3, #0] - 80071bc: 430a orrs r2, r1 - 80071be: 601a str r2, [r3, #0] + 8007768: 687b ldr r3, [r7, #4] + 800776a: 69d9 ldr r1, [r3, #28] + 800776c: 687b ldr r3, [r7, #4] + 800776e: 6a1a ldr r2, [r3, #32] + 8007770: 687b ldr r3, [r7, #4] + 8007772: 681b ldr r3, [r3, #0] + 8007774: 430a orrs r2, r1 + 8007776: 601a str r2, [r3, #0] /* Enable the selected I2C peripheral */ __HAL_I2C_ENABLE(hi2c); - 80071c0: 687b ldr r3, [r7, #4] - 80071c2: 681b ldr r3, [r3, #0] - 80071c4: 681a ldr r2, [r3, #0] - 80071c6: 687b ldr r3, [r7, #4] - 80071c8: 681b ldr r3, [r3, #0] - 80071ca: f042 0201 orr.w r2, r2, #1 - 80071ce: 601a str r2, [r3, #0] + 8007778: 687b ldr r3, [r7, #4] + 800777a: 681b ldr r3, [r3, #0] + 800777c: 681a ldr r2, [r3, #0] + 800777e: 687b ldr r3, [r7, #4] + 8007780: 681b ldr r3, [r3, #0] + 8007782: f042 0201 orr.w r2, r2, #1 + 8007786: 601a str r2, [r3, #0] hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 80071d0: 687b ldr r3, [r7, #4] - 80071d2: 2200 movs r2, #0 - 80071d4: 645a str r2, [r3, #68] @ 0x44 + 8007788: 687b ldr r3, [r7, #4] + 800778a: 2200 movs r2, #0 + 800778c: 645a str r2, [r3, #68] @ 0x44 hi2c->State = HAL_I2C_STATE_READY; - 80071d6: 687b ldr r3, [r7, #4] - 80071d8: 2220 movs r2, #32 - 80071da: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800778e: 687b ldr r3, [r7, #4] + 8007790: 2220 movs r2, #32 + 8007792: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; - 80071de: 687b ldr r3, [r7, #4] - 80071e0: 2200 movs r2, #0 - 80071e2: 631a str r2, [r3, #48] @ 0x30 + 8007796: 687b ldr r3, [r7, #4] + 8007798: 2200 movs r2, #0 + 800779a: 631a str r2, [r3, #48] @ 0x30 hi2c->Mode = HAL_I2C_MODE_NONE; - 80071e4: 687b ldr r3, [r7, #4] - 80071e6: 2200 movs r2, #0 - 80071e8: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 800779c: 687b ldr r3, [r7, #4] + 800779e: 2200 movs r2, #0 + 80077a0: f883 2042 strb.w r2, [r3, #66] @ 0x42 return HAL_OK; - 80071ec: 2300 movs r3, #0 + 80077a4: 2300 movs r3, #0 } - 80071ee: 4618 mov r0, r3 - 80071f0: 3708 adds r7, #8 - 80071f2: 46bd mov sp, r7 - 80071f4: bd80 pop {r7, pc} + 80077a6: 4618 mov r0, r3 + 80077a8: 3708 adds r7, #8 + 80077aa: 46bd mov sp, r7 + 80077ac: bd80 pop {r7, pc} ... -080071f8 : +080077b0 : * @param Size Amount of data to be sent * @retval HAL status */ HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size) { - 80071f8: b580 push {r7, lr} - 80071fa: b088 sub sp, #32 - 80071fc: af02 add r7, sp, #8 - 80071fe: 60f8 str r0, [r7, #12] - 8007200: 4608 mov r0, r1 - 8007202: 4611 mov r1, r2 - 8007204: 461a mov r2, r3 - 8007206: 4603 mov r3, r0 - 8007208: 817b strh r3, [r7, #10] - 800720a: 460b mov r3, r1 - 800720c: 813b strh r3, [r7, #8] - 800720e: 4613 mov r3, r2 - 8007210: 80fb strh r3, [r7, #6] + 80077b0: b580 push {r7, lr} + 80077b2: b088 sub sp, #32 + 80077b4: af02 add r7, sp, #8 + 80077b6: 60f8 str r0, [r7, #12] + 80077b8: 4608 mov r0, r1 + 80077ba: 4611 mov r1, r2 + 80077bc: 461a mov r2, r3 + 80077be: 4603 mov r3, r0 + 80077c0: 817b strh r3, [r7, #10] + 80077c2: 460b mov r3, r1 + 80077c4: 813b strh r3, [r7, #8] + 80077c6: 4613 mov r3, r2 + 80077c8: 80fb strh r3, [r7, #6] HAL_StatusTypeDef dmaxferstatus; /* Check the parameters */ assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); if (hi2c->State == HAL_I2C_STATE_READY) - 8007212: 68fb ldr r3, [r7, #12] - 8007214: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007218: b2db uxtb r3, r3 - 800721a: 2b20 cmp r3, #32 - 800721c: f040 80c3 bne.w 80073a6 + 80077ca: 68fb ldr r3, [r7, #12] + 80077cc: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 80077d0: b2db uxtb r3, r3 + 80077d2: 2b20 cmp r3, #32 + 80077d4: f040 80c3 bne.w 800795e { if ((pData == NULL) || (Size == 0U)) - 8007220: 6a3b ldr r3, [r7, #32] - 8007222: 2b00 cmp r3, #0 - 8007224: d002 beq.n 800722c - 8007226: 8cbb ldrh r3, [r7, #36] @ 0x24 - 8007228: 2b00 cmp r3, #0 - 800722a: d105 bne.n 8007238 + 80077d8: 6a3b ldr r3, [r7, #32] + 80077da: 2b00 cmp r3, #0 + 80077dc: d002 beq.n 80077e4 + 80077de: 8cbb ldrh r3, [r7, #36] @ 0x24 + 80077e0: 2b00 cmp r3, #0 + 80077e2: d105 bne.n 80077f0 { hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; - 800722c: 68fb ldr r3, [r7, #12] - 800722e: f44f 7200 mov.w r2, #512 @ 0x200 - 8007232: 645a str r2, [r3, #68] @ 0x44 + 80077e4: 68fb ldr r3, [r7, #12] + 80077e6: f44f 7200 mov.w r2, #512 @ 0x200 + 80077ea: 645a str r2, [r3, #68] @ 0x44 return HAL_ERROR; - 8007234: 2301 movs r3, #1 - 8007236: e0b7 b.n 80073a8 + 80077ec: 2301 movs r3, #1 + 80077ee: e0b7 b.n 8007960 } if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) - 8007238: 68fb ldr r3, [r7, #12] - 800723a: 681b ldr r3, [r3, #0] - 800723c: 699b ldr r3, [r3, #24] - 800723e: f403 4300 and.w r3, r3, #32768 @ 0x8000 - 8007242: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 - 8007246: d101 bne.n 800724c + 80077f0: 68fb ldr r3, [r7, #12] + 80077f2: 681b ldr r3, [r3, #0] + 80077f4: 699b ldr r3, [r3, #24] + 80077f6: f403 4300 and.w r3, r3, #32768 @ 0x8000 + 80077fa: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 + 80077fe: d101 bne.n 8007804 { return HAL_BUSY; - 8007248: 2302 movs r3, #2 - 800724a: e0ad b.n 80073a8 + 8007800: 2302 movs r3, #2 + 8007802: e0ad b.n 8007960 } /* Process Locked */ __HAL_LOCK(hi2c); - 800724c: 68fb ldr r3, [r7, #12] - 800724e: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 - 8007252: 2b01 cmp r3, #1 - 8007254: d101 bne.n 800725a - 8007256: 2302 movs r3, #2 - 8007258: e0a6 b.n 80073a8 - 800725a: 68fb ldr r3, [r7, #12] - 800725c: 2201 movs r2, #1 - 800725e: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007804: 68fb ldr r3, [r7, #12] + 8007806: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 + 800780a: 2b01 cmp r3, #1 + 800780c: d101 bne.n 8007812 + 800780e: 2302 movs r3, #2 + 8007810: e0a6 b.n 8007960 + 8007812: 68fb ldr r3, [r7, #12] + 8007814: 2201 movs r2, #1 + 8007816: f883 2040 strb.w r2, [r3, #64] @ 0x40 hi2c->State = HAL_I2C_STATE_BUSY_TX; - 8007262: 68fb ldr r3, [r7, #12] - 8007264: 2221 movs r2, #33 @ 0x21 - 8007266: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800781a: 68fb ldr r3, [r7, #12] + 800781c: 2221 movs r2, #33 @ 0x21 + 800781e: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_MEM; - 800726a: 68fb ldr r3, [r7, #12] - 800726c: 2240 movs r2, #64 @ 0x40 - 800726e: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 8007822: 68fb ldr r3, [r7, #12] + 8007824: 2240 movs r2, #64 @ 0x40 + 8007826: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 8007272: 68fb ldr r3, [r7, #12] - 8007274: 2200 movs r2, #0 - 8007276: 645a str r2, [r3, #68] @ 0x44 + 800782a: 68fb ldr r3, [r7, #12] + 800782c: 2200 movs r2, #0 + 800782e: 645a str r2, [r3, #68] @ 0x44 /* Prepare transfer parameters */ hi2c->pBuffPtr = pData; - 8007278: 68fb ldr r3, [r7, #12] - 800727a: 6a3a ldr r2, [r7, #32] - 800727c: 625a str r2, [r3, #36] @ 0x24 + 8007830: 68fb ldr r3, [r7, #12] + 8007832: 6a3a ldr r2, [r7, #32] + 8007834: 625a str r2, [r3, #36] @ 0x24 hi2c->XferCount = Size; - 800727e: 68fb ldr r3, [r7, #12] - 8007280: 8cba ldrh r2, [r7, #36] @ 0x24 - 8007282: 855a strh r2, [r3, #42] @ 0x2a + 8007836: 68fb ldr r3, [r7, #12] + 8007838: 8cba ldrh r2, [r7, #36] @ 0x24 + 800783a: 855a strh r2, [r3, #42] @ 0x2a hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 8007284: 68fb ldr r3, [r7, #12] - 8007286: 4a4a ldr r2, [pc, #296] @ (80073b0 ) - 8007288: 62da str r2, [r3, #44] @ 0x2c + 800783c: 68fb ldr r3, [r7, #12] + 800783e: 4a4a ldr r2, [pc, #296] @ (8007968 ) + 8007840: 62da str r2, [r3, #44] @ 0x2c hi2c->XferISR = I2C_Mem_ISR_DMA; - 800728a: 68fb ldr r3, [r7, #12] - 800728c: 4a49 ldr r2, [pc, #292] @ (80073b4 ) - 800728e: 635a str r2, [r3, #52] @ 0x34 + 8007842: 68fb ldr r3, [r7, #12] + 8007844: 4a49 ldr r2, [pc, #292] @ (800796c ) + 8007846: 635a str r2, [r3, #52] @ 0x34 hi2c->Devaddress = DevAddress; - 8007290: 897a ldrh r2, [r7, #10] - 8007292: 68fb ldr r3, [r7, #12] - 8007294: 64da str r2, [r3, #76] @ 0x4c + 8007848: 897a ldrh r2, [r7, #10] + 800784a: 68fb ldr r3, [r7, #12] + 800784c: 64da str r2, [r3, #76] @ 0x4c if (hi2c->XferCount > MAX_NBYTE_SIZE) - 8007296: 68fb ldr r3, [r7, #12] - 8007298: 8d5b ldrh r3, [r3, #42] @ 0x2a - 800729a: b29b uxth r3, r3 - 800729c: 2bff cmp r3, #255 @ 0xff - 800729e: d903 bls.n 80072a8 + 800784e: 68fb ldr r3, [r7, #12] + 8007850: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007852: b29b uxth r3, r3 + 8007854: 2bff cmp r3, #255 @ 0xff + 8007856: d903 bls.n 8007860 { hi2c->XferSize = MAX_NBYTE_SIZE; - 80072a0: 68fb ldr r3, [r7, #12] - 80072a2: 22ff movs r2, #255 @ 0xff - 80072a4: 851a strh r2, [r3, #40] @ 0x28 - 80072a6: e004 b.n 80072b2 + 8007858: 68fb ldr r3, [r7, #12] + 800785a: 22ff movs r2, #255 @ 0xff + 800785c: 851a strh r2, [r3, #40] @ 0x28 + 800785e: e004 b.n 800786a } else { hi2c->XferSize = hi2c->XferCount; - 80072a8: 68fb ldr r3, [r7, #12] - 80072aa: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80072ac: b29a uxth r2, r3 - 80072ae: 68fb ldr r3, [r7, #12] - 80072b0: 851a strh r2, [r3, #40] @ 0x28 + 8007860: 68fb ldr r3, [r7, #12] + 8007862: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007864: b29a uxth r2, r3 + 8007866: 68fb ldr r3, [r7, #12] + 8007868: 851a strh r2, [r3, #40] @ 0x28 } /* If Memory address size is 8Bit */ if (MemAddSize == I2C_MEMADD_SIZE_8BIT) - 80072b2: 88fb ldrh r3, [r7, #6] - 80072b4: 2b01 cmp r3, #1 - 80072b6: d109 bne.n 80072cc + 800786a: 88fb ldrh r3, [r7, #6] + 800786c: 2b01 cmp r3, #1 + 800786e: d109 bne.n 8007884 { /* Prefetch Memory Address */ hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); - 80072b8: 893b ldrh r3, [r7, #8] - 80072ba: b2da uxtb r2, r3 - 80072bc: 68fb ldr r3, [r7, #12] - 80072be: 681b ldr r3, [r3, #0] - 80072c0: 629a str r2, [r3, #40] @ 0x28 + 8007870: 893b ldrh r3, [r7, #8] + 8007872: b2da uxtb r2, r3 + 8007874: 68fb ldr r3, [r7, #12] + 8007876: 681b ldr r3, [r3, #0] + 8007878: 629a str r2, [r3, #40] @ 0x28 /* Reset Memaddress content */ hi2c->Memaddress = 0xFFFFFFFFU; - 80072c2: 68fb ldr r3, [r7, #12] - 80072c4: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 80072c8: 651a str r2, [r3, #80] @ 0x50 - 80072ca: e00b b.n 80072e4 + 800787a: 68fb ldr r3, [r7, #12] + 800787c: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8007880: 651a str r2, [r3, #80] @ 0x50 + 8007882: e00b b.n 800789c } /* If Memory address size is 16Bit */ else { /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); - 80072cc: 893b ldrh r3, [r7, #8] - 80072ce: 0a1b lsrs r3, r3, #8 - 80072d0: b29b uxth r3, r3 - 80072d2: b2da uxtb r2, r3 - 80072d4: 68fb ldr r3, [r7, #12] - 80072d6: 681b ldr r3, [r3, #0] - 80072d8: 629a str r2, [r3, #40] @ 0x28 + 8007884: 893b ldrh r3, [r7, #8] + 8007886: 0a1b lsrs r3, r3, #8 + 8007888: b29b uxth r3, r3 + 800788a: b2da uxtb r2, r3 + 800788c: 68fb ldr r3, [r7, #12] + 800788e: 681b ldr r3, [r3, #0] + 8007890: 629a str r2, [r3, #40] @ 0x28 /* Prepare Memaddress buffer for LSB part */ hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); - 80072da: 893b ldrh r3, [r7, #8] - 80072dc: b2db uxtb r3, r3 - 80072de: 461a mov r2, r3 - 80072e0: 68fb ldr r3, [r7, #12] - 80072e2: 651a str r2, [r3, #80] @ 0x50 + 8007892: 893b ldrh r3, [r7, #8] + 8007894: b2db uxtb r3, r3 + 8007896: 461a mov r2, r3 + 8007898: 68fb ldr r3, [r7, #12] + 800789a: 651a str r2, [r3, #80] @ 0x50 } if (hi2c->hdmatx != NULL) - 80072e4: 68fb ldr r3, [r7, #12] - 80072e6: 6b9b ldr r3, [r3, #56] @ 0x38 - 80072e8: 2b00 cmp r3, #0 - 80072ea: d020 beq.n 800732e + 800789c: 68fb ldr r3, [r7, #12] + 800789e: 6b9b ldr r3, [r3, #56] @ 0x38 + 80078a0: 2b00 cmp r3, #0 + 80078a2: d020 beq.n 80078e6 { /* Set the I2C DMA transfer complete callback */ hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; - 80072ec: 68fb ldr r3, [r7, #12] - 80072ee: 6b9b ldr r3, [r3, #56] @ 0x38 - 80072f0: 4a31 ldr r2, [pc, #196] @ (80073b8 ) - 80072f2: 62da str r2, [r3, #44] @ 0x2c + 80078a4: 68fb ldr r3, [r7, #12] + 80078a6: 6b9b ldr r3, [r3, #56] @ 0x38 + 80078a8: 4a31 ldr r2, [pc, #196] @ (8007970 ) + 80078aa: 62da str r2, [r3, #44] @ 0x2c /* Set the DMA error callback */ hi2c->hdmatx->XferErrorCallback = I2C_DMAError; - 80072f4: 68fb ldr r3, [r7, #12] - 80072f6: 6b9b ldr r3, [r3, #56] @ 0x38 - 80072f8: 4a30 ldr r2, [pc, #192] @ (80073bc ) - 80072fa: 635a str r2, [r3, #52] @ 0x34 + 80078ac: 68fb ldr r3, [r7, #12] + 80078ae: 6b9b ldr r3, [r3, #56] @ 0x38 + 80078b0: 4a30 ldr r2, [pc, #192] @ (8007974 ) + 80078b2: 635a str r2, [r3, #52] @ 0x34 /* Set the unused DMA callbacks to NULL */ hi2c->hdmatx->XferHalfCpltCallback = NULL; - 80072fc: 68fb ldr r3, [r7, #12] - 80072fe: 6b9b ldr r3, [r3, #56] @ 0x38 - 8007300: 2200 movs r2, #0 - 8007302: 631a str r2, [r3, #48] @ 0x30 + 80078b4: 68fb ldr r3, [r7, #12] + 80078b6: 6b9b ldr r3, [r3, #56] @ 0x38 + 80078b8: 2200 movs r2, #0 + 80078ba: 631a str r2, [r3, #48] @ 0x30 hi2c->hdmatx->XferAbortCallback = NULL; - 8007304: 68fb ldr r3, [r7, #12] - 8007306: 6b9b ldr r3, [r3, #56] @ 0x38 - 8007308: 2200 movs r2, #0 - 800730a: 639a str r2, [r3, #56] @ 0x38 + 80078bc: 68fb ldr r3, [r7, #12] + 80078be: 6b9b ldr r3, [r3, #56] @ 0x38 + 80078c0: 2200 movs r2, #0 + 80078c2: 639a str r2, [r3, #56] @ 0x38 /* Enable the DMA channel */ dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TXDR, - 800730c: 68fb ldr r3, [r7, #12] - 800730e: 6b98 ldr r0, [r3, #56] @ 0x38 - 8007310: 6a39 ldr r1, [r7, #32] - 8007312: 68fb ldr r3, [r7, #12] - 8007314: 681b ldr r3, [r3, #0] - 8007316: 3328 adds r3, #40 @ 0x28 - 8007318: 461a mov r2, r3 + 80078c4: 68fb ldr r3, [r7, #12] + 80078c6: 6b98 ldr r0, [r3, #56] @ 0x38 + 80078c8: 6a39 ldr r1, [r7, #32] + 80078ca: 68fb ldr r3, [r7, #12] + 80078cc: 681b ldr r3, [r3, #0] + 80078ce: 3328 adds r3, #40 @ 0x28 + 80078d0: 461a mov r2, r3 hi2c->XferSize); - 800731a: 68fb ldr r3, [r7, #12] - 800731c: 8d1b ldrh r3, [r3, #40] @ 0x28 + 80078d2: 68fb ldr r3, [r7, #12] + 80078d4: 8d1b ldrh r3, [r3, #40] @ 0x28 dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TXDR, - 800731e: f7ff fad1 bl 80068c4 - 8007322: 4603 mov r3, r0 - 8007324: 75fb strb r3, [r7, #23] + 80078d6: f7ff fa73 bl 8006dc0 + 80078da: 4603 mov r3, r0 + 80078dc: 75fb strb r3, [r7, #23] __HAL_UNLOCK(hi2c); return HAL_ERROR; } if (dmaxferstatus == HAL_OK) - 8007326: 7dfb ldrb r3, [r7, #23] - 8007328: 2b00 cmp r3, #0 - 800732a: d128 bne.n 800737e - 800732c: e013 b.n 8007356 + 80078de: 7dfb ldrb r3, [r7, #23] + 80078e0: 2b00 cmp r3, #0 + 80078e2: d128 bne.n 8007936 + 80078e4: e013 b.n 800790e hi2c->State = HAL_I2C_STATE_READY; - 800732e: 68fb ldr r3, [r7, #12] - 8007330: 2220 movs r2, #32 - 8007332: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 80078e6: 68fb ldr r3, [r7, #12] + 80078e8: 2220 movs r2, #32 + 80078ea: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; - 8007336: 68fb ldr r3, [r7, #12] - 8007338: 2200 movs r2, #0 - 800733a: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 80078ee: 68fb ldr r3, [r7, #12] + 80078f0: 2200 movs r2, #0 + 80078f2: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; - 800733e: 68fb ldr r3, [r7, #12] - 8007340: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007342: f043 0280 orr.w r2, r3, #128 @ 0x80 - 8007346: 68fb ldr r3, [r7, #12] - 8007348: 645a str r2, [r3, #68] @ 0x44 + 80078f6: 68fb ldr r3, [r7, #12] + 80078f8: 6c5b ldr r3, [r3, #68] @ 0x44 + 80078fa: f043 0280 orr.w r2, r3, #128 @ 0x80 + 80078fe: 68fb ldr r3, [r7, #12] + 8007900: 645a str r2, [r3, #68] @ 0x44 __HAL_UNLOCK(hi2c); - 800734a: 68fb ldr r3, [r7, #12] - 800734c: 2200 movs r2, #0 - 800734e: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007902: 68fb ldr r3, [r7, #12] + 8007904: 2200 movs r2, #0 + 8007906: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_ERROR; - 8007352: 2301 movs r3, #1 - 8007354: e028 b.n 80073a8 + 800790a: 2301 movs r3, #1 + 800790c: e028 b.n 8007960 { /* Send Slave Address and Memory Address */ I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE); - 8007356: 88fb ldrh r3, [r7, #6] - 8007358: b2da uxtb r2, r3 - 800735a: 8979 ldrh r1, [r7, #10] - 800735c: 4b18 ldr r3, [pc, #96] @ (80073c0 ) - 800735e: 9300 str r3, [sp, #0] - 8007360: f04f 7380 mov.w r3, #16777216 @ 0x1000000 - 8007364: 68f8 ldr r0, [r7, #12] - 8007366: f001 fb9b bl 8008aa0 + 800790e: 88fb ldrh r3, [r7, #6] + 8007910: b2da uxtb r2, r3 + 8007912: 8979 ldrh r1, [r7, #10] + 8007914: 4b18 ldr r3, [pc, #96] @ (8007978 ) + 8007916: 9300 str r3, [sp, #0] + 8007918: f04f 7380 mov.w r3, #16777216 @ 0x1000000 + 800791c: 68f8 ldr r0, [r7, #12] + 800791e: f001 fb9b bl 8009058 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 800736a: 68fb ldr r3, [r7, #12] - 800736c: 2200 movs r2, #0 - 800736e: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007922: 68fb ldr r3, [r7, #12] + 8007924: 2200 movs r2, #0 + 8007926: f883 2040 strb.w r2, [r3, #64] @ 0x40 process unlock */ /* Enable ERR, TC, STOP, NACK, TXI interrupt */ /* possible to enable all of these */ /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); - 8007372: 2101 movs r1, #1 - 8007374: 68f8 ldr r0, [r7, #12] - 8007376: f001 fbc5 bl 8008b04 + 800792a: 2101 movs r1, #1 + 800792c: 68f8 ldr r0, [r7, #12] + 800792e: f001 fbc5 bl 80090bc __HAL_UNLOCK(hi2c); return HAL_ERROR; } return HAL_OK; - 800737a: 2300 movs r3, #0 - 800737c: e014 b.n 80073a8 + 8007932: 2300 movs r3, #0 + 8007934: e014 b.n 8007960 hi2c->State = HAL_I2C_STATE_READY; - 800737e: 68fb ldr r3, [r7, #12] - 8007380: 2220 movs r2, #32 - 8007382: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8007936: 68fb ldr r3, [r7, #12] + 8007938: 2220 movs r2, #32 + 800793a: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; - 8007386: 68fb ldr r3, [r7, #12] - 8007388: 2200 movs r2, #0 - 800738a: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 800793e: 68fb ldr r3, [r7, #12] + 8007940: 2200 movs r2, #0 + 8007942: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; - 800738e: 68fb ldr r3, [r7, #12] - 8007390: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007392: f043 0210 orr.w r2, r3, #16 - 8007396: 68fb ldr r3, [r7, #12] - 8007398: 645a str r2, [r3, #68] @ 0x44 + 8007946: 68fb ldr r3, [r7, #12] + 8007948: 6c5b ldr r3, [r3, #68] @ 0x44 + 800794a: f043 0210 orr.w r2, r3, #16 + 800794e: 68fb ldr r3, [r7, #12] + 8007950: 645a str r2, [r3, #68] @ 0x44 __HAL_UNLOCK(hi2c); - 800739a: 68fb ldr r3, [r7, #12] - 800739c: 2200 movs r2, #0 - 800739e: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007952: 68fb ldr r3, [r7, #12] + 8007954: 2200 movs r2, #0 + 8007956: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_ERROR; - 80073a2: 2301 movs r3, #1 - 80073a4: e000 b.n 80073a8 + 800795a: 2301 movs r3, #1 + 800795c: e000 b.n 8007960 } else { return HAL_BUSY; - 80073a6: 2302 movs r3, #2 + 800795e: 2302 movs r3, #2 } } - 80073a8: 4618 mov r0, r3 - 80073aa: 3718 adds r7, #24 - 80073ac: 46bd mov sp, r7 - 80073ae: bd80 pop {r7, pc} - 80073b0: ffff0000 .word 0xffff0000 - 80073b4: 08007b21 .word 0x08007b21 - 80073b8: 0800890b .word 0x0800890b - 80073bc: 08008a37 .word 0x08008a37 - 80073c0: 80002000 .word 0x80002000 + 8007960: 4618 mov r0, r3 + 8007962: 3718 adds r7, #24 + 8007964: 46bd mov sp, r7 + 8007966: bd80 pop {r7, pc} + 8007968: ffff0000 .word 0xffff0000 + 800796c: 080080d9 .word 0x080080d9 + 8007970: 08008ec3 .word 0x08008ec3 + 8007974: 08008fef .word 0x08008fef + 8007978: 80002000 .word 0x80002000 -080073c4 : +0800797c : * @param Size Amount of data to be read * @retval HAL status */ HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size) { - 80073c4: b580 push {r7, lr} - 80073c6: b088 sub sp, #32 - 80073c8: af02 add r7, sp, #8 - 80073ca: 60f8 str r0, [r7, #12] - 80073cc: 4608 mov r0, r1 - 80073ce: 4611 mov r1, r2 - 80073d0: 461a mov r2, r3 - 80073d2: 4603 mov r3, r0 - 80073d4: 817b strh r3, [r7, #10] - 80073d6: 460b mov r3, r1 - 80073d8: 813b strh r3, [r7, #8] - 80073da: 4613 mov r3, r2 - 80073dc: 80fb strh r3, [r7, #6] + 800797c: b580 push {r7, lr} + 800797e: b088 sub sp, #32 + 8007980: af02 add r7, sp, #8 + 8007982: 60f8 str r0, [r7, #12] + 8007984: 4608 mov r0, r1 + 8007986: 4611 mov r1, r2 + 8007988: 461a mov r2, r3 + 800798a: 4603 mov r3, r0 + 800798c: 817b strh r3, [r7, #10] + 800798e: 460b mov r3, r1 + 8007990: 813b strh r3, [r7, #8] + 8007992: 4613 mov r3, r2 + 8007994: 80fb strh r3, [r7, #6] HAL_StatusTypeDef dmaxferstatus; /* Check the parameters */ assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); if (hi2c->State == HAL_I2C_STATE_READY) - 80073de: 68fb ldr r3, [r7, #12] - 80073e0: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80073e4: b2db uxtb r3, r3 - 80073e6: 2b20 cmp r3, #32 - 80073e8: f040 80c2 bne.w 8007570 + 8007996: 68fb ldr r3, [r7, #12] + 8007998: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 800799c: b2db uxtb r3, r3 + 800799e: 2b20 cmp r3, #32 + 80079a0: f040 80c2 bne.w 8007b28 { if ((pData == NULL) || (Size == 0U)) - 80073ec: 6a3b ldr r3, [r7, #32] - 80073ee: 2b00 cmp r3, #0 - 80073f0: d002 beq.n 80073f8 - 80073f2: 8cbb ldrh r3, [r7, #36] @ 0x24 - 80073f4: 2b00 cmp r3, #0 - 80073f6: d105 bne.n 8007404 + 80079a4: 6a3b ldr r3, [r7, #32] + 80079a6: 2b00 cmp r3, #0 + 80079a8: d002 beq.n 80079b0 + 80079aa: 8cbb ldrh r3, [r7, #36] @ 0x24 + 80079ac: 2b00 cmp r3, #0 + 80079ae: d105 bne.n 80079bc { hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; - 80073f8: 68fb ldr r3, [r7, #12] - 80073fa: f44f 7200 mov.w r2, #512 @ 0x200 - 80073fe: 645a str r2, [r3, #68] @ 0x44 + 80079b0: 68fb ldr r3, [r7, #12] + 80079b2: f44f 7200 mov.w r2, #512 @ 0x200 + 80079b6: 645a str r2, [r3, #68] @ 0x44 return HAL_ERROR; - 8007400: 2301 movs r3, #1 - 8007402: e0b6 b.n 8007572 + 80079b8: 2301 movs r3, #1 + 80079ba: e0b6 b.n 8007b2a } if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) - 8007404: 68fb ldr r3, [r7, #12] - 8007406: 681b ldr r3, [r3, #0] - 8007408: 699b ldr r3, [r3, #24] - 800740a: f403 4300 and.w r3, r3, #32768 @ 0x8000 - 800740e: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 - 8007412: d101 bne.n 8007418 + 80079bc: 68fb ldr r3, [r7, #12] + 80079be: 681b ldr r3, [r3, #0] + 80079c0: 699b ldr r3, [r3, #24] + 80079c2: f403 4300 and.w r3, r3, #32768 @ 0x8000 + 80079c6: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 + 80079ca: d101 bne.n 80079d0 { return HAL_BUSY; - 8007414: 2302 movs r3, #2 - 8007416: e0ac b.n 8007572 + 80079cc: 2302 movs r3, #2 + 80079ce: e0ac b.n 8007b2a } /* Process Locked */ __HAL_LOCK(hi2c); - 8007418: 68fb ldr r3, [r7, #12] - 800741a: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 - 800741e: 2b01 cmp r3, #1 - 8007420: d101 bne.n 8007426 - 8007422: 2302 movs r3, #2 - 8007424: e0a5 b.n 8007572 - 8007426: 68fb ldr r3, [r7, #12] - 8007428: 2201 movs r2, #1 - 800742a: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80079d0: 68fb ldr r3, [r7, #12] + 80079d2: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 + 80079d6: 2b01 cmp r3, #1 + 80079d8: d101 bne.n 80079de + 80079da: 2302 movs r3, #2 + 80079dc: e0a5 b.n 8007b2a + 80079de: 68fb ldr r3, [r7, #12] + 80079e0: 2201 movs r2, #1 + 80079e2: f883 2040 strb.w r2, [r3, #64] @ 0x40 hi2c->State = HAL_I2C_STATE_BUSY_RX; - 800742e: 68fb ldr r3, [r7, #12] - 8007430: 2222 movs r2, #34 @ 0x22 - 8007432: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 80079e6: 68fb ldr r3, [r7, #12] + 80079e8: 2222 movs r2, #34 @ 0x22 + 80079ea: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_MEM; - 8007436: 68fb ldr r3, [r7, #12] - 8007438: 2240 movs r2, #64 @ 0x40 - 800743a: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 80079ee: 68fb ldr r3, [r7, #12] + 80079f0: 2240 movs r2, #64 @ 0x40 + 80079f2: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->ErrorCode = HAL_I2C_ERROR_NONE; - 800743e: 68fb ldr r3, [r7, #12] - 8007440: 2200 movs r2, #0 - 8007442: 645a str r2, [r3, #68] @ 0x44 + 80079f6: 68fb ldr r3, [r7, #12] + 80079f8: 2200 movs r2, #0 + 80079fa: 645a str r2, [r3, #68] @ 0x44 /* Prepare transfer parameters */ hi2c->pBuffPtr = pData; - 8007444: 68fb ldr r3, [r7, #12] - 8007446: 6a3a ldr r2, [r7, #32] - 8007448: 625a str r2, [r3, #36] @ 0x24 + 80079fc: 68fb ldr r3, [r7, #12] + 80079fe: 6a3a ldr r2, [r7, #32] + 8007a00: 625a str r2, [r3, #36] @ 0x24 hi2c->XferCount = Size; - 800744a: 68fb ldr r3, [r7, #12] - 800744c: 8cba ldrh r2, [r7, #36] @ 0x24 - 800744e: 855a strh r2, [r3, #42] @ 0x2a + 8007a02: 68fb ldr r3, [r7, #12] + 8007a04: 8cba ldrh r2, [r7, #36] @ 0x24 + 8007a06: 855a strh r2, [r3, #42] @ 0x2a hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 8007450: 68fb ldr r3, [r7, #12] - 8007452: 4a4a ldr r2, [pc, #296] @ (800757c ) - 8007454: 62da str r2, [r3, #44] @ 0x2c + 8007a08: 68fb ldr r3, [r7, #12] + 8007a0a: 4a4a ldr r2, [pc, #296] @ (8007b34 ) + 8007a0c: 62da str r2, [r3, #44] @ 0x2c hi2c->XferISR = I2C_Mem_ISR_DMA; - 8007456: 68fb ldr r3, [r7, #12] - 8007458: 4a49 ldr r2, [pc, #292] @ (8007580 ) - 800745a: 635a str r2, [r3, #52] @ 0x34 + 8007a0e: 68fb ldr r3, [r7, #12] + 8007a10: 4a49 ldr r2, [pc, #292] @ (8007b38 ) + 8007a12: 635a str r2, [r3, #52] @ 0x34 hi2c->Devaddress = DevAddress; - 800745c: 897a ldrh r2, [r7, #10] - 800745e: 68fb ldr r3, [r7, #12] - 8007460: 64da str r2, [r3, #76] @ 0x4c + 8007a14: 897a ldrh r2, [r7, #10] + 8007a16: 68fb ldr r3, [r7, #12] + 8007a18: 64da str r2, [r3, #76] @ 0x4c if (hi2c->XferCount > MAX_NBYTE_SIZE) - 8007462: 68fb ldr r3, [r7, #12] - 8007464: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007466: b29b uxth r3, r3 - 8007468: 2bff cmp r3, #255 @ 0xff - 800746a: d903 bls.n 8007474 + 8007a1a: 68fb ldr r3, [r7, #12] + 8007a1c: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007a1e: b29b uxth r3, r3 + 8007a20: 2bff cmp r3, #255 @ 0xff + 8007a22: d903 bls.n 8007a2c { hi2c->XferSize = MAX_NBYTE_SIZE; - 800746c: 68fb ldr r3, [r7, #12] - 800746e: 22ff movs r2, #255 @ 0xff - 8007470: 851a strh r2, [r3, #40] @ 0x28 - 8007472: e004 b.n 800747e + 8007a24: 68fb ldr r3, [r7, #12] + 8007a26: 22ff movs r2, #255 @ 0xff + 8007a28: 851a strh r2, [r3, #40] @ 0x28 + 8007a2a: e004 b.n 8007a36 } else { hi2c->XferSize = hi2c->XferCount; - 8007474: 68fb ldr r3, [r7, #12] - 8007476: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007478: b29a uxth r2, r3 - 800747a: 68fb ldr r3, [r7, #12] - 800747c: 851a strh r2, [r3, #40] @ 0x28 + 8007a2c: 68fb ldr r3, [r7, #12] + 8007a2e: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007a30: b29a uxth r2, r3 + 8007a32: 68fb ldr r3, [r7, #12] + 8007a34: 851a strh r2, [r3, #40] @ 0x28 } /* If Memory address size is 8Bit */ if (MemAddSize == I2C_MEMADD_SIZE_8BIT) - 800747e: 88fb ldrh r3, [r7, #6] - 8007480: 2b01 cmp r3, #1 - 8007482: d109 bne.n 8007498 + 8007a36: 88fb ldrh r3, [r7, #6] + 8007a38: 2b01 cmp r3, #1 + 8007a3a: d109 bne.n 8007a50 { /* Prefetch Memory Address */ hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); - 8007484: 893b ldrh r3, [r7, #8] - 8007486: b2da uxtb r2, r3 - 8007488: 68fb ldr r3, [r7, #12] - 800748a: 681b ldr r3, [r3, #0] - 800748c: 629a str r2, [r3, #40] @ 0x28 + 8007a3c: 893b ldrh r3, [r7, #8] + 8007a3e: b2da uxtb r2, r3 + 8007a40: 68fb ldr r3, [r7, #12] + 8007a42: 681b ldr r3, [r3, #0] + 8007a44: 629a str r2, [r3, #40] @ 0x28 /* Reset Memaddress content */ hi2c->Memaddress = 0xFFFFFFFFU; - 800748e: 68fb ldr r3, [r7, #12] - 8007490: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8007494: 651a str r2, [r3, #80] @ 0x50 - 8007496: e00b b.n 80074b0 + 8007a46: 68fb ldr r3, [r7, #12] + 8007a48: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8007a4c: 651a str r2, [r3, #80] @ 0x50 + 8007a4e: e00b b.n 8007a68 } /* If Memory address size is 16Bit */ else { /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); - 8007498: 893b ldrh r3, [r7, #8] - 800749a: 0a1b lsrs r3, r3, #8 - 800749c: b29b uxth r3, r3 - 800749e: b2da uxtb r2, r3 - 80074a0: 68fb ldr r3, [r7, #12] - 80074a2: 681b ldr r3, [r3, #0] - 80074a4: 629a str r2, [r3, #40] @ 0x28 + 8007a50: 893b ldrh r3, [r7, #8] + 8007a52: 0a1b lsrs r3, r3, #8 + 8007a54: b29b uxth r3, r3 + 8007a56: b2da uxtb r2, r3 + 8007a58: 68fb ldr r3, [r7, #12] + 8007a5a: 681b ldr r3, [r3, #0] + 8007a5c: 629a str r2, [r3, #40] @ 0x28 /* Prepare Memaddress buffer for LSB part */ hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); - 80074a6: 893b ldrh r3, [r7, #8] - 80074a8: b2db uxtb r3, r3 - 80074aa: 461a mov r2, r3 - 80074ac: 68fb ldr r3, [r7, #12] - 80074ae: 651a str r2, [r3, #80] @ 0x50 + 8007a5e: 893b ldrh r3, [r7, #8] + 8007a60: b2db uxtb r3, r3 + 8007a62: 461a mov r2, r3 + 8007a64: 68fb ldr r3, [r7, #12] + 8007a66: 651a str r2, [r3, #80] @ 0x50 } if (hi2c->hdmarx != NULL) - 80074b0: 68fb ldr r3, [r7, #12] - 80074b2: 6bdb ldr r3, [r3, #60] @ 0x3c - 80074b4: 2b00 cmp r3, #0 - 80074b6: d020 beq.n 80074fa + 8007a68: 68fb ldr r3, [r7, #12] + 8007a6a: 6bdb ldr r3, [r3, #60] @ 0x3c + 8007a6c: 2b00 cmp r3, #0 + 8007a6e: d020 beq.n 8007ab2 { /* Set the I2C DMA transfer complete callback */ hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; - 80074b8: 68fb ldr r3, [r7, #12] - 80074ba: 6bdb ldr r3, [r3, #60] @ 0x3c - 80074bc: 4a31 ldr r2, [pc, #196] @ (8007584 ) - 80074be: 62da str r2, [r3, #44] @ 0x2c + 8007a70: 68fb ldr r3, [r7, #12] + 8007a72: 6bdb ldr r3, [r3, #60] @ 0x3c + 8007a74: 4a31 ldr r2, [pc, #196] @ (8007b3c ) + 8007a76: 62da str r2, [r3, #44] @ 0x2c /* Set the DMA error callback */ hi2c->hdmarx->XferErrorCallback = I2C_DMAError; - 80074c0: 68fb ldr r3, [r7, #12] - 80074c2: 6bdb ldr r3, [r3, #60] @ 0x3c - 80074c4: 4a30 ldr r2, [pc, #192] @ (8007588 ) - 80074c6: 635a str r2, [r3, #52] @ 0x34 + 8007a78: 68fb ldr r3, [r7, #12] + 8007a7a: 6bdb ldr r3, [r3, #60] @ 0x3c + 8007a7c: 4a30 ldr r2, [pc, #192] @ (8007b40 ) + 8007a7e: 635a str r2, [r3, #52] @ 0x34 /* Set the unused DMA callbacks to NULL */ hi2c->hdmarx->XferHalfCpltCallback = NULL; - 80074c8: 68fb ldr r3, [r7, #12] - 80074ca: 6bdb ldr r3, [r3, #60] @ 0x3c - 80074cc: 2200 movs r2, #0 - 80074ce: 631a str r2, [r3, #48] @ 0x30 + 8007a80: 68fb ldr r3, [r7, #12] + 8007a82: 6bdb ldr r3, [r3, #60] @ 0x3c + 8007a84: 2200 movs r2, #0 + 8007a86: 631a str r2, [r3, #48] @ 0x30 hi2c->hdmarx->XferAbortCallback = NULL; - 80074d0: 68fb ldr r3, [r7, #12] - 80074d2: 6bdb ldr r3, [r3, #60] @ 0x3c - 80074d4: 2200 movs r2, #0 - 80074d6: 639a str r2, [r3, #56] @ 0x38 + 8007a88: 68fb ldr r3, [r7, #12] + 8007a8a: 6bdb ldr r3, [r3, #60] @ 0x3c + 8007a8c: 2200 movs r2, #0 + 8007a8e: 639a str r2, [r3, #56] @ 0x38 /* Enable the DMA channel */ dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pData, - 80074d8: 68fb ldr r3, [r7, #12] - 80074da: 6bd8 ldr r0, [r3, #60] @ 0x3c - 80074dc: 68fb ldr r3, [r7, #12] - 80074de: 681b ldr r3, [r3, #0] - 80074e0: 3324 adds r3, #36 @ 0x24 - 80074e2: 4619 mov r1, r3 - 80074e4: 6a3a ldr r2, [r7, #32] + 8007a90: 68fb ldr r3, [r7, #12] + 8007a92: 6bd8 ldr r0, [r3, #60] @ 0x3c + 8007a94: 68fb ldr r3, [r7, #12] + 8007a96: 681b ldr r3, [r3, #0] + 8007a98: 3324 adds r3, #36 @ 0x24 + 8007a9a: 4619 mov r1, r3 + 8007a9c: 6a3a ldr r2, [r7, #32] hi2c->XferSize); - 80074e6: 68fb ldr r3, [r7, #12] - 80074e8: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8007a9e: 68fb ldr r3, [r7, #12] + 8007aa0: 8d1b ldrh r3, [r3, #40] @ 0x28 dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pData, - 80074ea: f7ff f9eb bl 80068c4 - 80074ee: 4603 mov r3, r0 - 80074f0: 75fb strb r3, [r7, #23] + 8007aa2: f7ff f98d bl 8006dc0 + 8007aa6: 4603 mov r3, r0 + 8007aa8: 75fb strb r3, [r7, #23] __HAL_UNLOCK(hi2c); return HAL_ERROR; } if (dmaxferstatus == HAL_OK) - 80074f2: 7dfb ldrb r3, [r7, #23] - 80074f4: 2b00 cmp r3, #0 - 80074f6: d127 bne.n 8007548 - 80074f8: e013 b.n 8007522 + 8007aaa: 7dfb ldrb r3, [r7, #23] + 8007aac: 2b00 cmp r3, #0 + 8007aae: d127 bne.n 8007b00 + 8007ab0: e013 b.n 8007ada hi2c->State = HAL_I2C_STATE_READY; - 80074fa: 68fb ldr r3, [r7, #12] - 80074fc: 2220 movs r2, #32 - 80074fe: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8007ab2: 68fb ldr r3, [r7, #12] + 8007ab4: 2220 movs r2, #32 + 8007ab6: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; - 8007502: 68fb ldr r3, [r7, #12] - 8007504: 2200 movs r2, #0 - 8007506: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 8007aba: 68fb ldr r3, [r7, #12] + 8007abc: 2200 movs r2, #0 + 8007abe: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; - 800750a: 68fb ldr r3, [r7, #12] - 800750c: 6c5b ldr r3, [r3, #68] @ 0x44 - 800750e: f043 0280 orr.w r2, r3, #128 @ 0x80 - 8007512: 68fb ldr r3, [r7, #12] - 8007514: 645a str r2, [r3, #68] @ 0x44 + 8007ac2: 68fb ldr r3, [r7, #12] + 8007ac4: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007ac6: f043 0280 orr.w r2, r3, #128 @ 0x80 + 8007aca: 68fb ldr r3, [r7, #12] + 8007acc: 645a str r2, [r3, #68] @ 0x44 __HAL_UNLOCK(hi2c); - 8007516: 68fb ldr r3, [r7, #12] - 8007518: 2200 movs r2, #0 - 800751a: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007ace: 68fb ldr r3, [r7, #12] + 8007ad0: 2200 movs r2, #0 + 8007ad2: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_ERROR; - 800751e: 2301 movs r3, #1 - 8007520: e027 b.n 8007572 + 8007ad6: 2301 movs r3, #1 + 8007ad8: e027 b.n 8007b2a { /* Send Slave Address and Memory Address */ I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WRITE); - 8007522: 88fb ldrh r3, [r7, #6] - 8007524: b2da uxtb r2, r3 - 8007526: 8979 ldrh r1, [r7, #10] - 8007528: 4b18 ldr r3, [pc, #96] @ (800758c ) - 800752a: 9300 str r3, [sp, #0] - 800752c: 2300 movs r3, #0 - 800752e: 68f8 ldr r0, [r7, #12] - 8007530: f001 fab6 bl 8008aa0 + 8007ada: 88fb ldrh r3, [r7, #6] + 8007adc: b2da uxtb r2, r3 + 8007ade: 8979 ldrh r1, [r7, #10] + 8007ae0: 4b18 ldr r3, [pc, #96] @ (8007b44 ) + 8007ae2: 9300 str r3, [sp, #0] + 8007ae4: 2300 movs r3, #0 + 8007ae6: 68f8 ldr r0, [r7, #12] + 8007ae8: f001 fab6 bl 8009058 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8007534: 68fb ldr r3, [r7, #12] - 8007536: 2200 movs r2, #0 - 8007538: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007aec: 68fb ldr r3, [r7, #12] + 8007aee: 2200 movs r2, #0 + 8007af0: f883 2040 strb.w r2, [r3, #64] @ 0x40 process unlock */ /* Enable ERR, TC, STOP, NACK, TXI interrupt */ /* possible to enable all of these */ /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); - 800753c: 2101 movs r1, #1 - 800753e: 68f8 ldr r0, [r7, #12] - 8007540: f001 fae0 bl 8008b04 + 8007af4: 2101 movs r1, #1 + 8007af6: 68f8 ldr r0, [r7, #12] + 8007af8: f001 fae0 bl 80090bc __HAL_UNLOCK(hi2c); return HAL_ERROR; } return HAL_OK; - 8007544: 2300 movs r3, #0 - 8007546: e014 b.n 8007572 + 8007afc: 2300 movs r3, #0 + 8007afe: e014 b.n 8007b2a hi2c->State = HAL_I2C_STATE_READY; - 8007548: 68fb ldr r3, [r7, #12] - 800754a: 2220 movs r2, #32 - 800754c: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8007b00: 68fb ldr r3, [r7, #12] + 8007b02: 2220 movs r2, #32 + 8007b04: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; - 8007550: 68fb ldr r3, [r7, #12] - 8007552: 2200 movs r2, #0 - 8007554: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 8007b08: 68fb ldr r3, [r7, #12] + 8007b0a: 2200 movs r2, #0 + 8007b0c: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; - 8007558: 68fb ldr r3, [r7, #12] - 800755a: 6c5b ldr r3, [r3, #68] @ 0x44 - 800755c: f043 0210 orr.w r2, r3, #16 - 8007560: 68fb ldr r3, [r7, #12] - 8007562: 645a str r2, [r3, #68] @ 0x44 + 8007b10: 68fb ldr r3, [r7, #12] + 8007b12: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007b14: f043 0210 orr.w r2, r3, #16 + 8007b18: 68fb ldr r3, [r7, #12] + 8007b1a: 645a str r2, [r3, #68] @ 0x44 __HAL_UNLOCK(hi2c); - 8007564: 68fb ldr r3, [r7, #12] - 8007566: 2200 movs r2, #0 - 8007568: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007b1c: 68fb ldr r3, [r7, #12] + 8007b1e: 2200 movs r2, #0 + 8007b20: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_ERROR; - 800756c: 2301 movs r3, #1 - 800756e: e000 b.n 8007572 + 8007b24: 2301 movs r3, #1 + 8007b26: e000 b.n 8007b2a } else { return HAL_BUSY; - 8007570: 2302 movs r3, #2 + 8007b28: 2302 movs r3, #2 } } - 8007572: 4618 mov r0, r3 - 8007574: 3718 adds r7, #24 - 8007576: 46bd mov sp, r7 - 8007578: bd80 pop {r7, pc} - 800757a: bf00 nop - 800757c: ffff0000 .word 0xffff0000 - 8007580: 08007b21 .word 0x08007b21 - 8007584: 080089a1 .word 0x080089a1 - 8007588: 08008a37 .word 0x08008a37 - 800758c: 80002000 .word 0x80002000 + 8007b2a: 4618 mov r0, r3 + 8007b2c: 3718 adds r7, #24 + 8007b2e: 46bd mov sp, r7 + 8007b30: bd80 pop {r7, pc} + 8007b32: bf00 nop + 8007b34: ffff0000 .word 0xffff0000 + 8007b38: 080080d9 .word 0x080080d9 + 8007b3c: 08008f59 .word 0x08008f59 + 8007b40: 08008fef .word 0x08008fef + 8007b44: 80002000 .word 0x80002000 -08007590 : +08007b48 : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval None */ void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) /* Derogation MISRAC2012-Rule-8.13 */ { - 8007590: b580 push {r7, lr} - 8007592: b084 sub sp, #16 - 8007594: af00 add r7, sp, #0 - 8007596: 6078 str r0, [r7, #4] + 8007b48: b580 push {r7, lr} + 8007b4a: b084 sub sp, #16 + 8007b4c: af00 add r7, sp, #0 + 8007b4e: 6078 str r0, [r7, #4] /* Get current IT Flags and IT sources value */ uint32_t itflags = READ_REG(hi2c->Instance->ISR); - 8007598: 687b ldr r3, [r7, #4] - 800759a: 681b ldr r3, [r3, #0] - 800759c: 699b ldr r3, [r3, #24] - 800759e: 60fb str r3, [r7, #12] + 8007b50: 687b ldr r3, [r7, #4] + 8007b52: 681b ldr r3, [r3, #0] + 8007b54: 699b ldr r3, [r3, #24] + 8007b56: 60fb str r3, [r7, #12] uint32_t itsources = READ_REG(hi2c->Instance->CR1); - 80075a0: 687b ldr r3, [r7, #4] - 80075a2: 681b ldr r3, [r3, #0] - 80075a4: 681b ldr r3, [r3, #0] - 80075a6: 60bb str r3, [r7, #8] + 8007b58: 687b ldr r3, [r7, #4] + 8007b5a: 681b ldr r3, [r3, #0] + 8007b5c: 681b ldr r3, [r3, #0] + 8007b5e: 60bb str r3, [r7, #8] /* I2C events treatment -------------------------------------*/ if (hi2c->XferISR != NULL) - 80075a8: 687b ldr r3, [r7, #4] - 80075aa: 6b5b ldr r3, [r3, #52] @ 0x34 - 80075ac: 2b00 cmp r3, #0 - 80075ae: d005 beq.n 80075bc + 8007b60: 687b ldr r3, [r7, #4] + 8007b62: 6b5b ldr r3, [r3, #52] @ 0x34 + 8007b64: 2b00 cmp r3, #0 + 8007b66: d005 beq.n 8007b74 { hi2c->XferISR(hi2c, itflags, itsources); - 80075b0: 687b ldr r3, [r7, #4] - 80075b2: 6b5b ldr r3, [r3, #52] @ 0x34 - 80075b4: 68ba ldr r2, [r7, #8] - 80075b6: 68f9 ldr r1, [r7, #12] - 80075b8: 6878 ldr r0, [r7, #4] - 80075ba: 4798 blx r3 + 8007b68: 687b ldr r3, [r7, #4] + 8007b6a: 6b5b ldr r3, [r3, #52] @ 0x34 + 8007b6c: 68ba ldr r2, [r7, #8] + 8007b6e: 68f9 ldr r1, [r7, #12] + 8007b70: 6878 ldr r0, [r7, #4] + 8007b72: 4798 blx r3 } } - 80075bc: bf00 nop - 80075be: 3710 adds r7, #16 - 80075c0: 46bd mov sp, r7 - 80075c2: bd80 pop {r7, pc} + 8007b74: bf00 nop + 8007b76: 3710 adds r7, #16 + 8007b78: 46bd mov sp, r7 + 8007b7a: bd80 pop {r7, pc} -080075c4 : +08007b7c : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval None */ void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c) { - 80075c4: b580 push {r7, lr} - 80075c6: b086 sub sp, #24 - 80075c8: af00 add r7, sp, #0 - 80075ca: 6078 str r0, [r7, #4] + 8007b7c: b580 push {r7, lr} + 8007b7e: b086 sub sp, #24 + 8007b80: af00 add r7, sp, #0 + 8007b82: 6078 str r0, [r7, #4] uint32_t itflags = READ_REG(hi2c->Instance->ISR); - 80075cc: 687b ldr r3, [r7, #4] - 80075ce: 681b ldr r3, [r3, #0] - 80075d0: 699b ldr r3, [r3, #24] - 80075d2: 617b str r3, [r7, #20] + 8007b84: 687b ldr r3, [r7, #4] + 8007b86: 681b ldr r3, [r3, #0] + 8007b88: 699b ldr r3, [r3, #24] + 8007b8a: 617b str r3, [r7, #20] uint32_t itsources = READ_REG(hi2c->Instance->CR1); - 80075d4: 687b ldr r3, [r7, #4] - 80075d6: 681b ldr r3, [r3, #0] - 80075d8: 681b ldr r3, [r3, #0] - 80075da: 613b str r3, [r7, #16] + 8007b8c: 687b ldr r3, [r7, #4] + 8007b8e: 681b ldr r3, [r3, #0] + 8007b90: 681b ldr r3, [r3, #0] + 8007b92: 613b str r3, [r7, #16] uint32_t tmperror; /* I2C Bus error interrupt occurred ------------------------------------*/ if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \ - 80075dc: 697b ldr r3, [r7, #20] - 80075de: 0a1b lsrs r3, r3, #8 - 80075e0: f003 0301 and.w r3, r3, #1 - 80075e4: 2b00 cmp r3, #0 - 80075e6: d010 beq.n 800760a + 8007b94: 697b ldr r3, [r7, #20] + 8007b96: 0a1b lsrs r3, r3, #8 + 8007b98: f003 0301 and.w r3, r3, #1 + 8007b9c: 2b00 cmp r3, #0 + 8007b9e: d010 beq.n 8007bc2 (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) - 80075e8: 693b ldr r3, [r7, #16] - 80075ea: 09db lsrs r3, r3, #7 - 80075ec: f003 0301 and.w r3, r3, #1 + 8007ba0: 693b ldr r3, [r7, #16] + 8007ba2: 09db lsrs r3, r3, #7 + 8007ba4: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \ - 80075f0: 2b00 cmp r3, #0 - 80075f2: d00a beq.n 800760a + 8007ba8: 2b00 cmp r3, #0 + 8007baa: d00a beq.n 8007bc2 { hi2c->ErrorCode |= HAL_I2C_ERROR_BERR; - 80075f4: 687b ldr r3, [r7, #4] - 80075f6: 6c5b ldr r3, [r3, #68] @ 0x44 - 80075f8: f043 0201 orr.w r2, r3, #1 - 80075fc: 687b ldr r3, [r7, #4] - 80075fe: 645a str r2, [r3, #68] @ 0x44 + 8007bac: 687b ldr r3, [r7, #4] + 8007bae: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007bb0: f043 0201 orr.w r2, r3, #1 + 8007bb4: 687b ldr r3, [r7, #4] + 8007bb6: 645a str r2, [r3, #68] @ 0x44 /* Clear BERR flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); - 8007600: 687b ldr r3, [r7, #4] - 8007602: 681b ldr r3, [r3, #0] - 8007604: f44f 7280 mov.w r2, #256 @ 0x100 - 8007608: 61da str r2, [r3, #28] + 8007bb8: 687b ldr r3, [r7, #4] + 8007bba: 681b ldr r3, [r3, #0] + 8007bbc: f44f 7280 mov.w r2, #256 @ 0x100 + 8007bc0: 61da str r2, [r3, #28] } /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/ if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \ - 800760a: 697b ldr r3, [r7, #20] - 800760c: 0a9b lsrs r3, r3, #10 - 800760e: f003 0301 and.w r3, r3, #1 - 8007612: 2b00 cmp r3, #0 - 8007614: d010 beq.n 8007638 + 8007bc2: 697b ldr r3, [r7, #20] + 8007bc4: 0a9b lsrs r3, r3, #10 + 8007bc6: f003 0301 and.w r3, r3, #1 + 8007bca: 2b00 cmp r3, #0 + 8007bcc: d010 beq.n 8007bf0 (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) - 8007616: 693b ldr r3, [r7, #16] - 8007618: 09db lsrs r3, r3, #7 - 800761a: f003 0301 and.w r3, r3, #1 + 8007bce: 693b ldr r3, [r7, #16] + 8007bd0: 09db lsrs r3, r3, #7 + 8007bd2: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \ - 800761e: 2b00 cmp r3, #0 - 8007620: d00a beq.n 8007638 + 8007bd6: 2b00 cmp r3, #0 + 8007bd8: d00a beq.n 8007bf0 { hi2c->ErrorCode |= HAL_I2C_ERROR_OVR; - 8007622: 687b ldr r3, [r7, #4] - 8007624: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007626: f043 0208 orr.w r2, r3, #8 - 800762a: 687b ldr r3, [r7, #4] - 800762c: 645a str r2, [r3, #68] @ 0x44 + 8007bda: 687b ldr r3, [r7, #4] + 8007bdc: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007bde: f043 0208 orr.w r2, r3, #8 + 8007be2: 687b ldr r3, [r7, #4] + 8007be4: 645a str r2, [r3, #68] @ 0x44 /* Clear OVR flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); - 800762e: 687b ldr r3, [r7, #4] - 8007630: 681b ldr r3, [r3, #0] - 8007632: f44f 6280 mov.w r2, #1024 @ 0x400 - 8007636: 61da str r2, [r3, #28] + 8007be6: 687b ldr r3, [r7, #4] + 8007be8: 681b ldr r3, [r3, #0] + 8007bea: f44f 6280 mov.w r2, #1024 @ 0x400 + 8007bee: 61da str r2, [r3, #28] } /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/ if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \ - 8007638: 697b ldr r3, [r7, #20] - 800763a: 0a5b lsrs r3, r3, #9 - 800763c: f003 0301 and.w r3, r3, #1 - 8007640: 2b00 cmp r3, #0 - 8007642: d010 beq.n 8007666 + 8007bf0: 697b ldr r3, [r7, #20] + 8007bf2: 0a5b lsrs r3, r3, #9 + 8007bf4: f003 0301 and.w r3, r3, #1 + 8007bf8: 2b00 cmp r3, #0 + 8007bfa: d010 beq.n 8007c1e (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) - 8007644: 693b ldr r3, [r7, #16] - 8007646: 09db lsrs r3, r3, #7 - 8007648: f003 0301 and.w r3, r3, #1 + 8007bfc: 693b ldr r3, [r7, #16] + 8007bfe: 09db lsrs r3, r3, #7 + 8007c00: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \ - 800764c: 2b00 cmp r3, #0 - 800764e: d00a beq.n 8007666 + 8007c04: 2b00 cmp r3, #0 + 8007c06: d00a beq.n 8007c1e { hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO; - 8007650: 687b ldr r3, [r7, #4] - 8007652: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007654: f043 0202 orr.w r2, r3, #2 - 8007658: 687b ldr r3, [r7, #4] - 800765a: 645a str r2, [r3, #68] @ 0x44 + 8007c08: 687b ldr r3, [r7, #4] + 8007c0a: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007c0c: f043 0202 orr.w r2, r3, #2 + 8007c10: 687b ldr r3, [r7, #4] + 8007c12: 645a str r2, [r3, #68] @ 0x44 /* Clear ARLO flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); - 800765c: 687b ldr r3, [r7, #4] - 800765e: 681b ldr r3, [r3, #0] - 8007660: f44f 7200 mov.w r2, #512 @ 0x200 - 8007664: 61da str r2, [r3, #28] + 8007c14: 687b ldr r3, [r7, #4] + 8007c16: 681b ldr r3, [r3, #0] + 8007c18: f44f 7200 mov.w r2, #512 @ 0x200 + 8007c1c: 61da str r2, [r3, #28] } /* Store current volatile hi2c->ErrorCode, misra rule */ tmperror = hi2c->ErrorCode; - 8007666: 687b ldr r3, [r7, #4] - 8007668: 6c5b ldr r3, [r3, #68] @ 0x44 - 800766a: 60fb str r3, [r7, #12] + 8007c1e: 687b ldr r3, [r7, #4] + 8007c20: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007c22: 60fb str r3, [r7, #12] /* Call the Error Callback in case of Error detected */ if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_NONE) - 800766c: 68fb ldr r3, [r7, #12] - 800766e: f003 030b and.w r3, r3, #11 - 8007672: 2b00 cmp r3, #0 - 8007674: d003 beq.n 800767e + 8007c24: 68fb ldr r3, [r7, #12] + 8007c26: f003 030b and.w r3, r3, #11 + 8007c2a: 2b00 cmp r3, #0 + 8007c2c: d003 beq.n 8007c36 { I2C_ITError(hi2c, tmperror); - 8007676: 68f9 ldr r1, [r7, #12] - 8007678: 6878 ldr r0, [r7, #4] - 800767a: f001 f80b bl 8008694 + 8007c2e: 68f9 ldr r1, [r7, #12] + 8007c30: 6878 ldr r0, [r7, #4] + 8007c32: f001 f80b bl 8008c4c } } - 800767e: bf00 nop - 8007680: 3718 adds r7, #24 - 8007682: 46bd mov sp, r7 - 8007684: bd80 pop {r7, pc} + 8007c36: bf00 nop + 8007c38: 3718 adds r7, #24 + 8007c3a: 46bd mov sp, r7 + 8007c3c: bd80 pop {r7, pc} -08007686 : +08007c3e : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval None */ __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c) { - 8007686: b480 push {r7} - 8007688: b083 sub sp, #12 - 800768a: af00 add r7, sp, #0 - 800768c: 6078 str r0, [r7, #4] + 8007c3e: b480 push {r7} + 8007c40: b083 sub sp, #12 + 8007c42: af00 add r7, sp, #0 + 8007c44: 6078 str r0, [r7, #4] UNUSED(hi2c); /* NOTE : This function should not be modified, when the callback is needed, the HAL_I2C_MasterTxCpltCallback could be implemented in the user file */ } - 800768e: bf00 nop - 8007690: 370c adds r7, #12 - 8007692: 46bd mov sp, r7 - 8007694: f85d 7b04 ldr.w r7, [sp], #4 - 8007698: 4770 bx lr + 8007c46: bf00 nop + 8007c48: 370c adds r7, #12 + 8007c4a: 46bd mov sp, r7 + 8007c4c: f85d 7b04 ldr.w r7, [sp], #4 + 8007c50: 4770 bx lr -0800769a : +08007c52 : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval None */ __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c) { - 800769a: b480 push {r7} - 800769c: b083 sub sp, #12 - 800769e: af00 add r7, sp, #0 - 80076a0: 6078 str r0, [r7, #4] + 8007c52: b480 push {r7} + 8007c54: b083 sub sp, #12 + 8007c56: af00 add r7, sp, #0 + 8007c58: 6078 str r0, [r7, #4] UNUSED(hi2c); /* NOTE : This function should not be modified, when the callback is needed, the HAL_I2C_MasterRxCpltCallback could be implemented in the user file */ } - 80076a2: bf00 nop - 80076a4: 370c adds r7, #12 - 80076a6: 46bd mov sp, r7 - 80076a8: f85d 7b04 ldr.w r7, [sp], #4 - 80076ac: 4770 bx lr + 8007c5a: bf00 nop + 8007c5c: 370c adds r7, #12 + 8007c5e: 46bd mov sp, r7 + 8007c60: f85d 7b04 ldr.w r7, [sp], #4 + 8007c64: 4770 bx lr -080076ae : +08007c66 : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval None */ __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c) { - 80076ae: b480 push {r7} - 80076b0: b083 sub sp, #12 - 80076b2: af00 add r7, sp, #0 - 80076b4: 6078 str r0, [r7, #4] + 8007c66: b480 push {r7} + 8007c68: b083 sub sp, #12 + 8007c6a: af00 add r7, sp, #0 + 8007c6c: 6078 str r0, [r7, #4] UNUSED(hi2c); /* NOTE : This function should not be modified, when the callback is needed, the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file */ } - 80076b6: bf00 nop - 80076b8: 370c adds r7, #12 - 80076ba: 46bd mov sp, r7 - 80076bc: f85d 7b04 ldr.w r7, [sp], #4 - 80076c0: 4770 bx lr + 8007c6e: bf00 nop + 8007c70: 370c adds r7, #12 + 8007c72: 46bd mov sp, r7 + 8007c74: f85d 7b04 ldr.w r7, [sp], #4 + 8007c78: 4770 bx lr -080076c2 : +08007c7a : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval None */ __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c) { - 80076c2: b480 push {r7} - 80076c4: b083 sub sp, #12 - 80076c6: af00 add r7, sp, #0 - 80076c8: 6078 str r0, [r7, #4] + 8007c7a: b480 push {r7} + 8007c7c: b083 sub sp, #12 + 8007c7e: af00 add r7, sp, #0 + 8007c80: 6078 str r0, [r7, #4] UNUSED(hi2c); /* NOTE : This function should not be modified, when the callback is needed, the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file */ } - 80076ca: bf00 nop - 80076cc: 370c adds r7, #12 - 80076ce: 46bd mov sp, r7 - 80076d0: f85d 7b04 ldr.w r7, [sp], #4 - 80076d4: 4770 bx lr + 8007c82: bf00 nop + 8007c84: 370c adds r7, #12 + 8007c86: 46bd mov sp, r7 + 8007c88: f85d 7b04 ldr.w r7, [sp], #4 + 8007c8c: 4770 bx lr -080076d6 : +08007c8e : * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFERDIRECTION * @param AddrMatchCode Address Match Code * @retval None */ __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrMatchCode) { - 80076d6: b480 push {r7} - 80076d8: b083 sub sp, #12 - 80076da: af00 add r7, sp, #0 - 80076dc: 6078 str r0, [r7, #4] - 80076de: 460b mov r3, r1 - 80076e0: 70fb strb r3, [r7, #3] - 80076e2: 4613 mov r3, r2 - 80076e4: 803b strh r3, [r7, #0] + 8007c8e: b480 push {r7} + 8007c90: b083 sub sp, #12 + 8007c92: af00 add r7, sp, #0 + 8007c94: 6078 str r0, [r7, #4] + 8007c96: 460b mov r3, r1 + 8007c98: 70fb strb r3, [r7, #3] + 8007c9a: 4613 mov r3, r2 + 8007c9c: 803b strh r3, [r7, #0] UNUSED(AddrMatchCode); /* NOTE : This function should not be modified, when the callback is needed, the HAL_I2C_AddrCallback() could be implemented in the user file */ } - 80076e6: bf00 nop - 80076e8: 370c adds r7, #12 - 80076ea: 46bd mov sp, r7 - 80076ec: f85d 7b04 ldr.w r7, [sp], #4 - 80076f0: 4770 bx lr + 8007c9e: bf00 nop + 8007ca0: 370c adds r7, #12 + 8007ca2: 46bd mov sp, r7 + 8007ca4: f85d 7b04 ldr.w r7, [sp], #4 + 8007ca8: 4770 bx lr -080076f2 : +08007caa : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval None */ __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c) { - 80076f2: b480 push {r7} - 80076f4: b083 sub sp, #12 - 80076f6: af00 add r7, sp, #0 - 80076f8: 6078 str r0, [r7, #4] + 8007caa: b480 push {r7} + 8007cac: b083 sub sp, #12 + 8007cae: af00 add r7, sp, #0 + 8007cb0: 6078 str r0, [r7, #4] UNUSED(hi2c); /* NOTE : This function should not be modified, when the callback is needed, the HAL_I2C_ListenCpltCallback() could be implemented in the user file */ } - 80076fa: bf00 nop - 80076fc: 370c adds r7, #12 - 80076fe: 46bd mov sp, r7 - 8007700: f85d 7b04 ldr.w r7, [sp], #4 - 8007704: 4770 bx lr + 8007cb2: bf00 nop + 8007cb4: 370c adds r7, #12 + 8007cb6: 46bd mov sp, r7 + 8007cb8: f85d 7b04 ldr.w r7, [sp], #4 + 8007cbc: 4770 bx lr -08007706 : +08007cbe : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval None */ __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c) { - 8007706: b480 push {r7} - 8007708: b083 sub sp, #12 - 800770a: af00 add r7, sp, #0 - 800770c: 6078 str r0, [r7, #4] + 8007cbe: b480 push {r7} + 8007cc0: b083 sub sp, #12 + 8007cc2: af00 add r7, sp, #0 + 8007cc4: 6078 str r0, [r7, #4] UNUSED(hi2c); /* NOTE : This function should not be modified, when the callback is needed, the HAL_I2C_AbortCpltCallback could be implemented in the user file */ } - 800770e: bf00 nop - 8007710: 370c adds r7, #12 - 8007712: 46bd mov sp, r7 - 8007714: f85d 7b04 ldr.w r7, [sp], #4 - 8007718: 4770 bx lr + 8007cc6: bf00 nop + 8007cc8: 370c adds r7, #12 + 8007cca: 46bd mov sp, r7 + 8007ccc: f85d 7b04 ldr.w r7, [sp], #4 + 8007cd0: 4770 bx lr -0800771a : +08007cd2 : * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @retval I2C Error Code */ uint32_t HAL_I2C_GetError(const I2C_HandleTypeDef *hi2c) { - 800771a: b480 push {r7} - 800771c: b083 sub sp, #12 - 800771e: af00 add r7, sp, #0 - 8007720: 6078 str r0, [r7, #4] + 8007cd2: b480 push {r7} + 8007cd4: b083 sub sp, #12 + 8007cd6: af00 add r7, sp, #0 + 8007cd8: 6078 str r0, [r7, #4] return hi2c->ErrorCode; - 8007722: 687b ldr r3, [r7, #4] - 8007724: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007cda: 687b ldr r3, [r7, #4] + 8007cdc: 6c5b ldr r3, [r3, #68] @ 0x44 } - 8007726: 4618 mov r0, r3 - 8007728: 370c adds r7, #12 - 800772a: 46bd mov sp, r7 - 800772c: f85d 7b04 ldr.w r7, [sp], #4 - 8007730: 4770 bx lr + 8007cde: 4618 mov r0, r3 + 8007ce0: 370c adds r7, #12 + 8007ce2: 46bd mov sp, r7 + 8007ce4: f85d 7b04 ldr.w r7, [sp], #4 + 8007ce8: 4770 bx lr -08007732 : +08007cea : * @param ITSources Interrupt sources enabled. * @retval HAL status */ static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) { - 8007732: b580 push {r7, lr} - 8007734: b086 sub sp, #24 - 8007736: af00 add r7, sp, #0 - 8007738: 60f8 str r0, [r7, #12] - 800773a: 60b9 str r1, [r7, #8] - 800773c: 607a str r2, [r7, #4] + 8007cea: b580 push {r7, lr} + 8007cec: b086 sub sp, #24 + 8007cee: af00 add r7, sp, #0 + 8007cf0: 60f8 str r0, [r7, #12] + 8007cf2: 60b9 str r1, [r7, #8] + 8007cf4: 607a str r2, [r7, #4] uint32_t tmpoptions = hi2c->XferOptions; - 800773e: 68fb ldr r3, [r7, #12] - 8007740: 6adb ldr r3, [r3, #44] @ 0x2c - 8007742: 617b str r3, [r7, #20] + 8007cf6: 68fb ldr r3, [r7, #12] + 8007cf8: 6adb ldr r3, [r3, #44] @ 0x2c + 8007cfa: 617b str r3, [r7, #20] uint32_t tmpITFlags = ITFlags; - 8007744: 68bb ldr r3, [r7, #8] - 8007746: 613b str r3, [r7, #16] + 8007cfc: 68bb ldr r3, [r7, #8] + 8007cfe: 613b str r3, [r7, #16] /* Process locked */ __HAL_LOCK(hi2c); - 8007748: 68fb ldr r3, [r7, #12] - 800774a: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 - 800774e: 2b01 cmp r3, #1 - 8007750: d101 bne.n 8007756 - 8007752: 2302 movs r3, #2 - 8007754: e0ed b.n 8007932 - 8007756: 68fb ldr r3, [r7, #12] - 8007758: 2201 movs r2, #1 - 800775a: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007d00: 68fb ldr r3, [r7, #12] + 8007d02: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 + 8007d06: 2b01 cmp r3, #1 + 8007d08: d101 bne.n 8007d0e + 8007d0a: 2302 movs r3, #2 + 8007d0c: e0ed b.n 8007eea + 8007d0e: 68fb ldr r3, [r7, #12] + 8007d10: 2201 movs r2, #1 + 8007d12: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Check if STOPF is set */ if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \ - 800775e: 693b ldr r3, [r7, #16] - 8007760: 095b lsrs r3, r3, #5 - 8007762: f003 0301 and.w r3, r3, #1 - 8007766: 2b00 cmp r3, #0 - 8007768: d00a beq.n 8007780 + 8007d16: 693b ldr r3, [r7, #16] + 8007d18: 095b lsrs r3, r3, #5 + 8007d1a: f003 0301 and.w r3, r3, #1 + 8007d1e: 2b00 cmp r3, #0 + 8007d20: d00a beq.n 8007d38 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) - 800776a: 687b ldr r3, [r7, #4] - 800776c: 095b lsrs r3, r3, #5 - 800776e: f003 0301 and.w r3, r3, #1 + 8007d22: 687b ldr r3, [r7, #4] + 8007d24: 095b lsrs r3, r3, #5 + 8007d26: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \ - 8007772: 2b00 cmp r3, #0 - 8007774: d004 beq.n 8007780 + 8007d2a: 2b00 cmp r3, #0 + 8007d2c: d004 beq.n 8007d38 { /* Call I2C Slave complete process */ I2C_ITSlaveCplt(hi2c, tmpITFlags); - 8007776: 6939 ldr r1, [r7, #16] - 8007778: 68f8 ldr r0, [r7, #12] - 800777a: f000 fdcb bl 8008314 - 800777e: e0d3 b.n 8007928 + 8007d2e: 6939 ldr r1, [r7, #16] + 8007d30: 68f8 ldr r0, [r7, #12] + 8007d32: f000 fdcb bl 80088cc + 8007d36: e0d3 b.n 8007ee0 } else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ - 8007780: 693b ldr r3, [r7, #16] - 8007782: 091b lsrs r3, r3, #4 - 8007784: f003 0301 and.w r3, r3, #1 - 8007788: 2b00 cmp r3, #0 - 800778a: d04d beq.n 8007828 + 8007d38: 693b ldr r3, [r7, #16] + 8007d3a: 091b lsrs r3, r3, #4 + 8007d3c: f003 0301 and.w r3, r3, #1 + 8007d40: 2b00 cmp r3, #0 + 8007d42: d04d beq.n 8007de0 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) - 800778c: 687b ldr r3, [r7, #4] - 800778e: 091b lsrs r3, r3, #4 - 8007790: f003 0301 and.w r3, r3, #1 + 8007d44: 687b ldr r3, [r7, #4] + 8007d46: 091b lsrs r3, r3, #4 + 8007d48: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ - 8007794: 2b00 cmp r3, #0 - 8007796: d047 beq.n 8007828 + 8007d4c: 2b00 cmp r3, #0 + 8007d4e: d047 beq.n 8007de0 { /* Check that I2C transfer finished */ /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ /* Mean XferCount == 0*/ /* So clear Flag NACKF only */ if (hi2c->XferCount == 0U) - 8007798: 68fb ldr r3, [r7, #12] - 800779a: 8d5b ldrh r3, [r3, #42] @ 0x2a - 800779c: b29b uxth r3, r3 - 800779e: 2b00 cmp r3, #0 - 80077a0: d128 bne.n 80077f4 + 8007d50: 68fb ldr r3, [r7, #12] + 8007d52: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007d54: b29b uxth r3, r3 + 8007d56: 2b00 cmp r3, #0 + 8007d58: d128 bne.n 8007dac { if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) - 80077a2: 68fb ldr r3, [r7, #12] - 80077a4: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80077a8: b2db uxtb r3, r3 - 80077aa: 2b28 cmp r3, #40 @ 0x28 - 80077ac: d108 bne.n 80077c0 - 80077ae: 697b ldr r3, [r7, #20] - 80077b0: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 - 80077b4: d104 bne.n 80077c0 + 8007d5a: 68fb ldr r3, [r7, #12] + 8007d5c: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8007d60: b2db uxtb r3, r3 + 8007d62: 2b28 cmp r3, #40 @ 0x28 + 8007d64: d108 bne.n 8007d78 + 8007d66: 697b ldr r3, [r7, #20] + 8007d68: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 + 8007d6c: d104 bne.n 8007d78 /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for Warning[Pa134]: left and right operands are identical */ { /* Call I2C Listen complete process */ I2C_ITListenCplt(hi2c, tmpITFlags); - 80077b6: 6939 ldr r1, [r7, #16] - 80077b8: 68f8 ldr r0, [r7, #12] - 80077ba: f000 ff15 bl 80085e8 - 80077be: e032 b.n 8007826 + 8007d6e: 6939 ldr r1, [r7, #16] + 8007d70: 68f8 ldr r0, [r7, #12] + 8007d72: f000 ff15 bl 8008ba0 + 8007d76: e032 b.n 8007dde } else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)) - 80077c0: 68fb ldr r3, [r7, #12] - 80077c2: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80077c6: b2db uxtb r3, r3 - 80077c8: 2b29 cmp r3, #41 @ 0x29 - 80077ca: d10e bne.n 80077ea - 80077cc: 697b ldr r3, [r7, #20] - 80077ce: f513 3f80 cmn.w r3, #65536 @ 0x10000 - 80077d2: d00a beq.n 80077ea + 8007d78: 68fb ldr r3, [r7, #12] + 8007d7a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8007d7e: b2db uxtb r3, r3 + 8007d80: 2b29 cmp r3, #41 @ 0x29 + 8007d82: d10e bne.n 8007da2 + 8007d84: 697b ldr r3, [r7, #20] + 8007d86: f513 3f80 cmn.w r3, #65536 @ 0x10000 + 8007d8a: d00a beq.n 8007da2 { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 80077d4: 68fb ldr r3, [r7, #12] - 80077d6: 681b ldr r3, [r3, #0] - 80077d8: 2210 movs r2, #16 - 80077da: 61da str r2, [r3, #28] + 8007d8c: 68fb ldr r3, [r7, #12] + 8007d8e: 681b ldr r3, [r3, #0] + 8007d90: 2210 movs r2, #16 + 8007d92: 61da str r2, [r3, #28] /* Flush TX register */ I2C_Flush_TXDR(hi2c); - 80077dc: 68f8 ldr r0, [r7, #12] - 80077de: f001 f870 bl 80088c2 + 8007d94: 68f8 ldr r0, [r7, #12] + 8007d96: f001 f870 bl 8008e7a /* Last Byte is Transmitted */ /* Call I2C Slave Sequential complete process */ I2C_ITSlaveSeqCplt(hi2c); - 80077e2: 68f8 ldr r0, [r7, #12] - 80077e4: f000 fc6e bl 80080c4 - 80077e8: e01d b.n 8007826 + 8007d9a: 68f8 ldr r0, [r7, #12] + 8007d9c: f000 fc6e bl 800867c + 8007da0: e01d b.n 8007dde } else { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 80077ea: 68fb ldr r3, [r7, #12] - 80077ec: 681b ldr r3, [r3, #0] - 80077ee: 2210 movs r2, #16 - 80077f0: 61da str r2, [r3, #28] + 8007da2: 68fb ldr r3, [r7, #12] + 8007da4: 681b ldr r3, [r3, #0] + 8007da6: 2210 movs r2, #16 + 8007da8: 61da str r2, [r3, #28] if (hi2c->XferCount == 0U) - 80077f2: e096 b.n 8007922 + 8007daa: e096 b.n 8007eda } else { /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 80077f4: 68fb ldr r3, [r7, #12] - 80077f6: 681b ldr r3, [r3, #0] - 80077f8: 2210 movs r2, #16 - 80077fa: 61da str r2, [r3, #28] + 8007dac: 68fb ldr r3, [r7, #12] + 8007dae: 681b ldr r3, [r3, #0] + 8007db0: 2210 movs r2, #16 + 8007db2: 61da str r2, [r3, #28] /* Set ErrorCode corresponding to a Non-Acknowledge */ hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 80077fc: 68fb ldr r3, [r7, #12] - 80077fe: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007800: f043 0204 orr.w r2, r3, #4 - 8007804: 68fb ldr r3, [r7, #12] - 8007806: 645a str r2, [r3, #68] @ 0x44 + 8007db4: 68fb ldr r3, [r7, #12] + 8007db6: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007db8: f043 0204 orr.w r2, r3, #4 + 8007dbc: 68fb ldr r3, [r7, #12] + 8007dbe: 645a str r2, [r3, #68] @ 0x44 if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) - 8007808: 697b ldr r3, [r7, #20] - 800780a: 2b00 cmp r3, #0 - 800780c: d004 beq.n 8007818 - 800780e: 697b ldr r3, [r7, #20] - 8007810: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 - 8007814: f040 8085 bne.w 8007922 + 8007dc0: 697b ldr r3, [r7, #20] + 8007dc2: 2b00 cmp r3, #0 + 8007dc4: d004 beq.n 8007dd0 + 8007dc6: 697b ldr r3, [r7, #20] + 8007dc8: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 + 8007dcc: f040 8085 bne.w 8007eda { /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, hi2c->ErrorCode); - 8007818: 68fb ldr r3, [r7, #12] - 800781a: 6c5b ldr r3, [r3, #68] @ 0x44 - 800781c: 4619 mov r1, r3 - 800781e: 68f8 ldr r0, [r7, #12] - 8007820: f000 ff38 bl 8008694 + 8007dd0: 68fb ldr r3, [r7, #12] + 8007dd2: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007dd4: 4619 mov r1, r3 + 8007dd6: 68f8 ldr r0, [r7, #12] + 8007dd8: f000 ff38 bl 8008c4c if (hi2c->XferCount == 0U) - 8007824: e07d b.n 8007922 - 8007826: e07c b.n 8007922 + 8007ddc: e07d b.n 8007eda + 8007dde: e07c b.n 8007eda } } } else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \ - 8007828: 693b ldr r3, [r7, #16] - 800782a: 089b lsrs r3, r3, #2 - 800782c: f003 0301 and.w r3, r3, #1 - 8007830: 2b00 cmp r3, #0 - 8007832: d030 beq.n 8007896 + 8007de0: 693b ldr r3, [r7, #16] + 8007de2: 089b lsrs r3, r3, #2 + 8007de4: f003 0301 and.w r3, r3, #1 + 8007de8: 2b00 cmp r3, #0 + 8007dea: d030 beq.n 8007e4e (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) - 8007834: 687b ldr r3, [r7, #4] - 8007836: 089b lsrs r3, r3, #2 - 8007838: f003 0301 and.w r3, r3, #1 + 8007dec: 687b ldr r3, [r7, #4] + 8007dee: 089b lsrs r3, r3, #2 + 8007df0: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \ - 800783c: 2b00 cmp r3, #0 - 800783e: d02a beq.n 8007896 + 8007df4: 2b00 cmp r3, #0 + 8007df6: d02a beq.n 8007e4e { if (hi2c->XferCount > 0U) - 8007840: 68fb ldr r3, [r7, #12] - 8007842: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007844: b29b uxth r3, r3 - 8007846: 2b00 cmp r3, #0 - 8007848: d018 beq.n 800787c + 8007df8: 68fb ldr r3, [r7, #12] + 8007dfa: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007dfc: b29b uxth r3, r3 + 8007dfe: 2b00 cmp r3, #0 + 8007e00: d018 beq.n 8007e34 { /* Read data from RXDR */ *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; - 800784a: 68fb ldr r3, [r7, #12] - 800784c: 681b ldr r3, [r3, #0] - 800784e: 6a5a ldr r2, [r3, #36] @ 0x24 - 8007850: 68fb ldr r3, [r7, #12] - 8007852: 6a5b ldr r3, [r3, #36] @ 0x24 - 8007854: b2d2 uxtb r2, r2 - 8007856: 701a strb r2, [r3, #0] + 8007e02: 68fb ldr r3, [r7, #12] + 8007e04: 681b ldr r3, [r3, #0] + 8007e06: 6a5a ldr r2, [r3, #36] @ 0x24 + 8007e08: 68fb ldr r3, [r7, #12] + 8007e0a: 6a5b ldr r3, [r3, #36] @ 0x24 + 8007e0c: b2d2 uxtb r2, r2 + 8007e0e: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hi2c->pBuffPtr++; - 8007858: 68fb ldr r3, [r7, #12] - 800785a: 6a5b ldr r3, [r3, #36] @ 0x24 - 800785c: 1c5a adds r2, r3, #1 - 800785e: 68fb ldr r3, [r7, #12] - 8007860: 625a str r2, [r3, #36] @ 0x24 + 8007e10: 68fb ldr r3, [r7, #12] + 8007e12: 6a5b ldr r3, [r3, #36] @ 0x24 + 8007e14: 1c5a adds r2, r3, #1 + 8007e16: 68fb ldr r3, [r7, #12] + 8007e18: 625a str r2, [r3, #36] @ 0x24 hi2c->XferSize--; - 8007862: 68fb ldr r3, [r7, #12] - 8007864: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007866: 3b01 subs r3, #1 - 8007868: b29a uxth r2, r3 - 800786a: 68fb ldr r3, [r7, #12] - 800786c: 851a strh r2, [r3, #40] @ 0x28 + 8007e1a: 68fb ldr r3, [r7, #12] + 8007e1c: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8007e1e: 3b01 subs r3, #1 + 8007e20: b29a uxth r2, r3 + 8007e22: 68fb ldr r3, [r7, #12] + 8007e24: 851a strh r2, [r3, #40] @ 0x28 hi2c->XferCount--; - 800786e: 68fb ldr r3, [r7, #12] - 8007870: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007872: b29b uxth r3, r3 - 8007874: 3b01 subs r3, #1 - 8007876: b29a uxth r2, r3 - 8007878: 68fb ldr r3, [r7, #12] - 800787a: 855a strh r2, [r3, #42] @ 0x2a + 8007e26: 68fb ldr r3, [r7, #12] + 8007e28: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007e2a: b29b uxth r3, r3 + 8007e2c: 3b01 subs r3, #1 + 8007e2e: b29a uxth r2, r3 + 8007e30: 68fb ldr r3, [r7, #12] + 8007e32: 855a strh r2, [r3, #42] @ 0x2a } if ((hi2c->XferCount == 0U) && \ - 800787c: 68fb ldr r3, [r7, #12] - 800787e: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007880: b29b uxth r3, r3 - 8007882: 2b00 cmp r3, #0 - 8007884: d14f bne.n 8007926 - 8007886: 697b ldr r3, [r7, #20] - 8007888: f513 3f80 cmn.w r3, #65536 @ 0x10000 - 800788c: d04b beq.n 8007926 + 8007e34: 68fb ldr r3, [r7, #12] + 8007e36: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007e38: b29b uxth r3, r3 + 8007e3a: 2b00 cmp r3, #0 + 8007e3c: d14f bne.n 8007ede + 8007e3e: 697b ldr r3, [r7, #20] + 8007e40: f513 3f80 cmn.w r3, #65536 @ 0x10000 + 8007e44: d04b beq.n 8007ede (tmpoptions != I2C_NO_OPTION_FRAME)) { /* Call I2C Slave Sequential complete process */ I2C_ITSlaveSeqCplt(hi2c); - 800788e: 68f8 ldr r0, [r7, #12] - 8007890: f000 fc18 bl 80080c4 + 8007e46: 68f8 ldr r0, [r7, #12] + 8007e48: f000 fc18 bl 800867c if ((hi2c->XferCount == 0U) && \ - 8007894: e047 b.n 8007926 + 8007e4c: e047 b.n 8007ede } } else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \ - 8007896: 693b ldr r3, [r7, #16] - 8007898: 08db lsrs r3, r3, #3 - 800789a: f003 0301 and.w r3, r3, #1 - 800789e: 2b00 cmp r3, #0 - 80078a0: d00a beq.n 80078b8 + 8007e4e: 693b ldr r3, [r7, #16] + 8007e50: 08db lsrs r3, r3, #3 + 8007e52: f003 0301 and.w r3, r3, #1 + 8007e56: 2b00 cmp r3, #0 + 8007e58: d00a beq.n 8007e70 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) - 80078a2: 687b ldr r3, [r7, #4] - 80078a4: 08db lsrs r3, r3, #3 - 80078a6: f003 0301 and.w r3, r3, #1 + 8007e5a: 687b ldr r3, [r7, #4] + 8007e5c: 08db lsrs r3, r3, #3 + 8007e5e: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \ - 80078aa: 2b00 cmp r3, #0 - 80078ac: d004 beq.n 80078b8 + 8007e62: 2b00 cmp r3, #0 + 8007e64: d004 beq.n 8007e70 { I2C_ITAddrCplt(hi2c, tmpITFlags); - 80078ae: 6939 ldr r1, [r7, #16] - 80078b0: 68f8 ldr r0, [r7, #12] - 80078b2: f000 fb46 bl 8007f42 - 80078b6: e037 b.n 8007928 + 8007e66: 6939 ldr r1, [r7, #16] + 8007e68: 68f8 ldr r0, [r7, #12] + 8007e6a: f000 fb46 bl 80084fa + 8007e6e: e037 b.n 8007ee0 } else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ - 80078b8: 693b ldr r3, [r7, #16] - 80078ba: 085b lsrs r3, r3, #1 - 80078bc: f003 0301 and.w r3, r3, #1 - 80078c0: 2b00 cmp r3, #0 - 80078c2: d031 beq.n 8007928 + 8007e70: 693b ldr r3, [r7, #16] + 8007e72: 085b lsrs r3, r3, #1 + 8007e74: f003 0301 and.w r3, r3, #1 + 8007e78: 2b00 cmp r3, #0 + 8007e7a: d031 beq.n 8007ee0 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) - 80078c4: 687b ldr r3, [r7, #4] - 80078c6: 085b lsrs r3, r3, #1 - 80078c8: f003 0301 and.w r3, r3, #1 + 8007e7c: 687b ldr r3, [r7, #4] + 8007e7e: 085b lsrs r3, r3, #1 + 8007e80: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ - 80078cc: 2b00 cmp r3, #0 - 80078ce: d02b beq.n 8007928 + 8007e84: 2b00 cmp r3, #0 + 8007e86: d02b beq.n 8007ee0 { /* Write data to TXDR only if XferCount not reach "0" */ /* A TXIS flag can be set, during STOP treatment */ /* Check if all Data have already been sent */ /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */ if (hi2c->XferCount > 0U) - 80078d0: 68fb ldr r3, [r7, #12] - 80078d2: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80078d4: b29b uxth r3, r3 - 80078d6: 2b00 cmp r3, #0 - 80078d8: d018 beq.n 800790c + 8007e88: 68fb ldr r3, [r7, #12] + 8007e8a: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007e8c: b29b uxth r3, r3 + 8007e8e: 2b00 cmp r3, #0 + 8007e90: d018 beq.n 8007ec4 { /* Write data to TXDR */ hi2c->Instance->TXDR = *hi2c->pBuffPtr; - 80078da: 68fb ldr r3, [r7, #12] - 80078dc: 6a5b ldr r3, [r3, #36] @ 0x24 - 80078de: 781a ldrb r2, [r3, #0] - 80078e0: 68fb ldr r3, [r7, #12] - 80078e2: 681b ldr r3, [r3, #0] - 80078e4: 629a str r2, [r3, #40] @ 0x28 + 8007e92: 68fb ldr r3, [r7, #12] + 8007e94: 6a5b ldr r3, [r3, #36] @ 0x24 + 8007e96: 781a ldrb r2, [r3, #0] + 8007e98: 68fb ldr r3, [r7, #12] + 8007e9a: 681b ldr r3, [r3, #0] + 8007e9c: 629a str r2, [r3, #40] @ 0x28 /* Increment Buffer pointer */ hi2c->pBuffPtr++; - 80078e6: 68fb ldr r3, [r7, #12] - 80078e8: 6a5b ldr r3, [r3, #36] @ 0x24 - 80078ea: 1c5a adds r2, r3, #1 - 80078ec: 68fb ldr r3, [r7, #12] - 80078ee: 625a str r2, [r3, #36] @ 0x24 + 8007e9e: 68fb ldr r3, [r7, #12] + 8007ea0: 6a5b ldr r3, [r3, #36] @ 0x24 + 8007ea2: 1c5a adds r2, r3, #1 + 8007ea4: 68fb ldr r3, [r7, #12] + 8007ea6: 625a str r2, [r3, #36] @ 0x24 hi2c->XferCount--; - 80078f0: 68fb ldr r3, [r7, #12] - 80078f2: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80078f4: b29b uxth r3, r3 - 80078f6: 3b01 subs r3, #1 - 80078f8: b29a uxth r2, r3 - 80078fa: 68fb ldr r3, [r7, #12] - 80078fc: 855a strh r2, [r3, #42] @ 0x2a + 8007ea8: 68fb ldr r3, [r7, #12] + 8007eaa: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007eac: b29b uxth r3, r3 + 8007eae: 3b01 subs r3, #1 + 8007eb0: b29a uxth r2, r3 + 8007eb2: 68fb ldr r3, [r7, #12] + 8007eb4: 855a strh r2, [r3, #42] @ 0x2a hi2c->XferSize--; - 80078fe: 68fb ldr r3, [r7, #12] - 8007900: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007902: 3b01 subs r3, #1 - 8007904: b29a uxth r2, r3 - 8007906: 68fb ldr r3, [r7, #12] - 8007908: 851a strh r2, [r3, #40] @ 0x28 - 800790a: e00d b.n 8007928 + 8007eb6: 68fb ldr r3, [r7, #12] + 8007eb8: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8007eba: 3b01 subs r3, #1 + 8007ebc: b29a uxth r2, r3 + 8007ebe: 68fb ldr r3, [r7, #12] + 8007ec0: 851a strh r2, [r3, #40] @ 0x28 + 8007ec2: e00d b.n 8007ee0 } else { if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME)) - 800790c: 697b ldr r3, [r7, #20] - 800790e: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 - 8007912: d002 beq.n 800791a - 8007914: 697b ldr r3, [r7, #20] - 8007916: 2b00 cmp r3, #0 - 8007918: d106 bne.n 8007928 + 8007ec4: 697b ldr r3, [r7, #20] + 8007ec6: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 + 8007eca: d002 beq.n 8007ed2 + 8007ecc: 697b ldr r3, [r7, #20] + 8007ece: 2b00 cmp r3, #0 + 8007ed0: d106 bne.n 8007ee0 { /* Last Byte is Transmitted */ /* Call I2C Slave Sequential complete process */ I2C_ITSlaveSeqCplt(hi2c); - 800791a: 68f8 ldr r0, [r7, #12] - 800791c: f000 fbd2 bl 80080c4 - 8007920: e002 b.n 8007928 + 8007ed2: 68f8 ldr r0, [r7, #12] + 8007ed4: f000 fbd2 bl 800867c + 8007ed8: e002 b.n 8007ee0 if (hi2c->XferCount == 0U) - 8007922: bf00 nop - 8007924: e000 b.n 8007928 + 8007eda: bf00 nop + 8007edc: e000 b.n 8007ee0 if ((hi2c->XferCount == 0U) && \ - 8007926: bf00 nop + 8007ede: bf00 nop { /* Nothing to do */ } /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8007928: 68fb ldr r3, [r7, #12] - 800792a: 2200 movs r2, #0 - 800792c: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007ee0: 68fb ldr r3, [r7, #12] + 8007ee2: 2200 movs r2, #0 + 8007ee4: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_OK; - 8007930: 2300 movs r3, #0 + 8007ee8: 2300 movs r3, #0 } - 8007932: 4618 mov r0, r3 - 8007934: 3718 adds r7, #24 - 8007936: 46bd mov sp, r7 - 8007938: bd80 pop {r7, pc} + 8007eea: 4618 mov r0, r3 + 8007eec: 3718 adds r7, #24 + 8007eee: 46bd mov sp, r7 + 8007ef0: bd80 pop {r7, pc} -0800793a : +08007ef2 : * @param ITSources Interrupt sources enabled. * @retval HAL status */ static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) { - 800793a: b580 push {r7, lr} - 800793c: b088 sub sp, #32 - 800793e: af02 add r7, sp, #8 - 8007940: 60f8 str r0, [r7, #12] - 8007942: 60b9 str r1, [r7, #8] - 8007944: 607a str r2, [r7, #4] + 8007ef2: b580 push {r7, lr} + 8007ef4: b088 sub sp, #32 + 8007ef6: af02 add r7, sp, #8 + 8007ef8: 60f8 str r0, [r7, #12] + 8007efa: 60b9 str r1, [r7, #8] + 8007efc: 607a str r2, [r7, #4] uint16_t devaddress; uint32_t xfermode; /* Process Locked */ __HAL_LOCK(hi2c); - 8007946: 68fb ldr r3, [r7, #12] - 8007948: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 - 800794c: 2b01 cmp r3, #1 - 800794e: d101 bne.n 8007954 - 8007950: 2302 movs r3, #2 - 8007952: e0e1 b.n 8007b18 - 8007954: 68fb ldr r3, [r7, #12] - 8007956: 2201 movs r2, #1 - 8007958: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8007efe: 68fb ldr r3, [r7, #12] + 8007f00: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 + 8007f04: 2b01 cmp r3, #1 + 8007f06: d101 bne.n 8007f0c + 8007f08: 2302 movs r3, #2 + 8007f0a: e0e1 b.n 80080d0 + 8007f0c: 68fb ldr r3, [r7, #12] + 8007f0e: 2201 movs r2, #1 + 8007f10: f883 2040 strb.w r2, [r3, #64] @ 0x40 if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ - 800795c: 68bb ldr r3, [r7, #8] - 800795e: 091b lsrs r3, r3, #4 - 8007960: f003 0301 and.w r3, r3, #1 - 8007964: 2b00 cmp r3, #0 - 8007966: d017 beq.n 8007998 + 8007f14: 68bb ldr r3, [r7, #8] + 8007f16: 091b lsrs r3, r3, #4 + 8007f18: f003 0301 and.w r3, r3, #1 + 8007f1c: 2b00 cmp r3, #0 + 8007f1e: d017 beq.n 8007f50 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) - 8007968: 687b ldr r3, [r7, #4] - 800796a: 091b lsrs r3, r3, #4 - 800796c: f003 0301 and.w r3, r3, #1 + 8007f20: 687b ldr r3, [r7, #4] + 8007f22: 091b lsrs r3, r3, #4 + 8007f24: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ - 8007970: 2b00 cmp r3, #0 - 8007972: d011 beq.n 8007998 + 8007f28: 2b00 cmp r3, #0 + 8007f2a: d011 beq.n 8007f50 { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 8007974: 68fb ldr r3, [r7, #12] - 8007976: 681b ldr r3, [r3, #0] - 8007978: 2210 movs r2, #16 - 800797a: 61da str r2, [r3, #28] + 8007f2c: 68fb ldr r3, [r7, #12] + 8007f2e: 681b ldr r3, [r3, #0] + 8007f30: 2210 movs r2, #16 + 8007f32: 61da str r2, [r3, #28] /* Set corresponding Error Code */ hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 800797c: 68fb ldr r3, [r7, #12] - 800797e: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007980: f043 0204 orr.w r2, r3, #4 - 8007984: 68fb ldr r3, [r7, #12] - 8007986: 645a str r2, [r3, #68] @ 0x44 + 8007f34: 68fb ldr r3, [r7, #12] + 8007f36: 6c5b ldr r3, [r3, #68] @ 0x44 + 8007f38: f043 0204 orr.w r2, r3, #4 + 8007f3c: 68fb ldr r3, [r7, #12] + 8007f3e: 645a str r2, [r3, #68] @ 0x44 /* No need to generate STOP, it is automatically done */ /* But enable STOP interrupt, to treat it */ /* Error callback will be send during stop flag treatment */ I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); - 8007988: 2120 movs r1, #32 - 800798a: 68f8 ldr r0, [r7, #12] - 800798c: f001 f8ba bl 8008b04 + 8007f40: 2120 movs r1, #32 + 8007f42: 68f8 ldr r0, [r7, #12] + 8007f44: f001 f8ba bl 80090bc /* Flush TX register */ I2C_Flush_TXDR(hi2c); - 8007990: 68f8 ldr r0, [r7, #12] - 8007992: f000 ff96 bl 80088c2 - 8007996: e0ba b.n 8007b0e + 8007f48: 68f8 ldr r0, [r7, #12] + 8007f4a: f000 ff96 bl 8008e7a + 8007f4e: e0ba b.n 80080c6 } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \ - 8007998: 68bb ldr r3, [r7, #8] - 800799a: 09db lsrs r3, r3, #7 - 800799c: f003 0301 and.w r3, r3, #1 - 80079a0: 2b00 cmp r3, #0 - 80079a2: d072 beq.n 8007a8a + 8007f50: 68bb ldr r3, [r7, #8] + 8007f52: 09db lsrs r3, r3, #7 + 8007f54: f003 0301 and.w r3, r3, #1 + 8007f58: 2b00 cmp r3, #0 + 8007f5a: d072 beq.n 8008042 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) - 80079a4: 687b ldr r3, [r7, #4] - 80079a6: 099b lsrs r3, r3, #6 - 80079a8: f003 0301 and.w r3, r3, #1 + 8007f5c: 687b ldr r3, [r7, #4] + 8007f5e: 099b lsrs r3, r3, #6 + 8007f60: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \ - 80079ac: 2b00 cmp r3, #0 - 80079ae: d06c beq.n 8007a8a + 8007f64: 2b00 cmp r3, #0 + 8007f66: d06c beq.n 8008042 { /* Disable TC interrupt */ __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI); - 80079b0: 68fb ldr r3, [r7, #12] - 80079b2: 681b ldr r3, [r3, #0] - 80079b4: 681a ldr r2, [r3, #0] - 80079b6: 68fb ldr r3, [r7, #12] - 80079b8: 681b ldr r3, [r3, #0] - 80079ba: f022 0240 bic.w r2, r2, #64 @ 0x40 - 80079be: 601a str r2, [r3, #0] + 8007f68: 68fb ldr r3, [r7, #12] + 8007f6a: 681b ldr r3, [r3, #0] + 8007f6c: 681a ldr r2, [r3, #0] + 8007f6e: 68fb ldr r3, [r7, #12] + 8007f70: 681b ldr r3, [r3, #0] + 8007f72: f022 0240 bic.w r2, r2, #64 @ 0x40 + 8007f76: 601a str r2, [r3, #0] if (hi2c->XferCount != 0U) - 80079c0: 68fb ldr r3, [r7, #12] - 80079c2: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80079c4: b29b uxth r3, r3 - 80079c6: 2b00 cmp r3, #0 - 80079c8: d04e beq.n 8007a68 + 8007f78: 68fb ldr r3, [r7, #12] + 8007f7a: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007f7c: b29b uxth r3, r3 + 8007f7e: 2b00 cmp r3, #0 + 8007f80: d04e beq.n 8008020 { /* Recover Slave address */ devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD); - 80079ca: 68fb ldr r3, [r7, #12] - 80079cc: 681b ldr r3, [r3, #0] - 80079ce: 685b ldr r3, [r3, #4] - 80079d0: b29b uxth r3, r3 - 80079d2: f3c3 0309 ubfx r3, r3, #0, #10 - 80079d6: 827b strh r3, [r7, #18] + 8007f82: 68fb ldr r3, [r7, #12] + 8007f84: 681b ldr r3, [r3, #0] + 8007f86: 685b ldr r3, [r3, #4] + 8007f88: b29b uxth r3, r3 + 8007f8a: f3c3 0309 ubfx r3, r3, #0, #10 + 8007f8e: 827b strh r3, [r7, #18] /* Prepare the new XferSize to transfer */ if (hi2c->XferCount > MAX_NBYTE_SIZE) - 80079d8: 68fb ldr r3, [r7, #12] - 80079da: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80079dc: b29b uxth r3, r3 - 80079de: 2bff cmp r3, #255 @ 0xff - 80079e0: d906 bls.n 80079f0 + 8007f90: 68fb ldr r3, [r7, #12] + 8007f92: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007f94: b29b uxth r3, r3 + 8007f96: 2bff cmp r3, #255 @ 0xff + 8007f98: d906 bls.n 8007fa8 { hi2c->XferSize = MAX_NBYTE_SIZE; - 80079e2: 68fb ldr r3, [r7, #12] - 80079e4: 22ff movs r2, #255 @ 0xff - 80079e6: 851a strh r2, [r3, #40] @ 0x28 + 8007f9a: 68fb ldr r3, [r7, #12] + 8007f9c: 22ff movs r2, #255 @ 0xff + 8007f9e: 851a strh r2, [r3, #40] @ 0x28 xfermode = I2C_RELOAD_MODE; - 80079e8: f04f 7380 mov.w r3, #16777216 @ 0x1000000 - 80079ec: 617b str r3, [r7, #20] - 80079ee: e010 b.n 8007a12 + 8007fa0: f04f 7380 mov.w r3, #16777216 @ 0x1000000 + 8007fa4: 617b str r3, [r7, #20] + 8007fa6: e010 b.n 8007fca } else { hi2c->XferSize = hi2c->XferCount; - 80079f0: 68fb ldr r3, [r7, #12] - 80079f2: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80079f4: b29a uxth r2, r3 - 80079f6: 68fb ldr r3, [r7, #12] - 80079f8: 851a strh r2, [r3, #40] @ 0x28 + 8007fa8: 68fb ldr r3, [r7, #12] + 8007faa: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007fac: b29a uxth r2, r3 + 8007fae: 68fb ldr r3, [r7, #12] + 8007fb0: 851a strh r2, [r3, #40] @ 0x28 if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) - 80079fa: 68fb ldr r3, [r7, #12] - 80079fc: 6adb ldr r3, [r3, #44] @ 0x2c - 80079fe: f513 3f80 cmn.w r3, #65536 @ 0x10000 - 8007a02: d003 beq.n 8007a0c + 8007fb2: 68fb ldr r3, [r7, #12] + 8007fb4: 6adb ldr r3, [r3, #44] @ 0x2c + 8007fb6: f513 3f80 cmn.w r3, #65536 @ 0x10000 + 8007fba: d003 beq.n 8007fc4 { xfermode = hi2c->XferOptions; - 8007a04: 68fb ldr r3, [r7, #12] - 8007a06: 6adb ldr r3, [r3, #44] @ 0x2c - 8007a08: 617b str r3, [r7, #20] - 8007a0a: e002 b.n 8007a12 + 8007fbc: 68fb ldr r3, [r7, #12] + 8007fbe: 6adb ldr r3, [r3, #44] @ 0x2c + 8007fc0: 617b str r3, [r7, #20] + 8007fc2: e002 b.n 8007fca } else { xfermode = I2C_AUTOEND_MODE; - 8007a0c: f04f 7300 mov.w r3, #33554432 @ 0x2000000 - 8007a10: 617b str r3, [r7, #20] + 8007fc4: f04f 7300 mov.w r3, #33554432 @ 0x2000000 + 8007fc8: 617b str r3, [r7, #20] } } /* Set the new XferSize in Nbytes register */ I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); - 8007a12: 68fb ldr r3, [r7, #12] - 8007a14: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007a16: b2da uxtb r2, r3 - 8007a18: 8a79 ldrh r1, [r7, #18] - 8007a1a: 2300 movs r3, #0 - 8007a1c: 9300 str r3, [sp, #0] - 8007a1e: 697b ldr r3, [r7, #20] - 8007a20: 68f8 ldr r0, [r7, #12] - 8007a22: f001 f83d bl 8008aa0 + 8007fca: 68fb ldr r3, [r7, #12] + 8007fcc: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8007fce: b2da uxtb r2, r3 + 8007fd0: 8a79 ldrh r1, [r7, #18] + 8007fd2: 2300 movs r3, #0 + 8007fd4: 9300 str r3, [sp, #0] + 8007fd6: 697b ldr r3, [r7, #20] + 8007fd8: 68f8 ldr r0, [r7, #12] + 8007fda: f001 f83d bl 8009058 /* Update XferCount value */ hi2c->XferCount -= hi2c->XferSize; - 8007a26: 68fb ldr r3, [r7, #12] - 8007a28: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007a2a: b29a uxth r2, r3 - 8007a2c: 68fb ldr r3, [r7, #12] - 8007a2e: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007a30: 1ad3 subs r3, r2, r3 - 8007a32: b29a uxth r2, r3 - 8007a34: 68fb ldr r3, [r7, #12] - 8007a36: 855a strh r2, [r3, #42] @ 0x2a + 8007fde: 68fb ldr r3, [r7, #12] + 8007fe0: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8007fe2: b29a uxth r2, r3 + 8007fe4: 68fb ldr r3, [r7, #12] + 8007fe6: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8007fe8: 1ad3 subs r3, r2, r3 + 8007fea: b29a uxth r2, r3 + 8007fec: 68fb ldr r3, [r7, #12] + 8007fee: 855a strh r2, [r3, #42] @ 0x2a /* Enable DMA Request */ if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 8007a38: 68fb ldr r3, [r7, #12] - 8007a3a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007a3e: b2db uxtb r3, r3 - 8007a40: 2b22 cmp r3, #34 @ 0x22 - 8007a42: d108 bne.n 8007a56 + 8007ff0: 68fb ldr r3, [r7, #12] + 8007ff2: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8007ff6: b2db uxtb r3, r3 + 8007ff8: 2b22 cmp r3, #34 @ 0x22 + 8007ffa: d108 bne.n 800800e { hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; - 8007a44: 68fb ldr r3, [r7, #12] - 8007a46: 681b ldr r3, [r3, #0] - 8007a48: 681a ldr r2, [r3, #0] - 8007a4a: 68fb ldr r3, [r7, #12] - 8007a4c: 681b ldr r3, [r3, #0] - 8007a4e: f442 4200 orr.w r2, r2, #32768 @ 0x8000 - 8007a52: 601a str r2, [r3, #0] + 8007ffc: 68fb ldr r3, [r7, #12] + 8007ffe: 681b ldr r3, [r3, #0] + 8008000: 681a ldr r2, [r3, #0] + 8008002: 68fb ldr r3, [r7, #12] + 8008004: 681b ldr r3, [r3, #0] + 8008006: f442 4200 orr.w r2, r2, #32768 @ 0x8000 + 800800a: 601a str r2, [r3, #0] if (hi2c->XferCount != 0U) - 8007a54: e05b b.n 8007b0e + 800800c: e05b b.n 80080c6 } else { hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; - 8007a56: 68fb ldr r3, [r7, #12] - 8007a58: 681b ldr r3, [r3, #0] - 8007a5a: 681a ldr r2, [r3, #0] - 8007a5c: 68fb ldr r3, [r7, #12] - 8007a5e: 681b ldr r3, [r3, #0] - 8007a60: f442 4280 orr.w r2, r2, #16384 @ 0x4000 - 8007a64: 601a str r2, [r3, #0] + 800800e: 68fb ldr r3, [r7, #12] + 8008010: 681b ldr r3, [r3, #0] + 8008012: 681a ldr r2, [r3, #0] + 8008014: 68fb ldr r3, [r7, #12] + 8008016: 681b ldr r3, [r3, #0] + 8008018: f442 4280 orr.w r2, r2, #16384 @ 0x4000 + 800801c: 601a str r2, [r3, #0] if (hi2c->XferCount != 0U) - 8007a66: e052 b.n 8007b0e + 800801e: e052 b.n 80080c6 } } else { /* Call TxCpltCallback() if no stop mode is set */ if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) - 8007a68: 68fb ldr r3, [r7, #12] - 8007a6a: 681b ldr r3, [r3, #0] - 8007a6c: 685b ldr r3, [r3, #4] - 8007a6e: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 - 8007a72: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 - 8007a76: d003 beq.n 8007a80 + 8008020: 68fb ldr r3, [r7, #12] + 8008022: 681b ldr r3, [r3, #0] + 8008024: 685b ldr r3, [r3, #4] + 8008026: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 + 800802a: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 + 800802e: d003 beq.n 8008038 { /* Call I2C Master Sequential complete process */ I2C_ITMasterSeqCplt(hi2c); - 8007a78: 68f8 ldr r0, [r7, #12] - 8007a7a: f000 fae6 bl 800804a + 8008030: 68f8 ldr r0, [r7, #12] + 8008032: f000 fae6 bl 8008602 if (hi2c->XferCount != 0U) - 8007a7e: e046 b.n 8007b0e + 8008036: e046 b.n 80080c6 } else { /* Wrong size Status regarding TCR flag event */ /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); - 8007a80: 2140 movs r1, #64 @ 0x40 - 8007a82: 68f8 ldr r0, [r7, #12] - 8007a84: f000 fe06 bl 8008694 + 8008038: 2140 movs r1, #64 @ 0x40 + 800803a: 68f8 ldr r0, [r7, #12] + 800803c: f000 fe06 bl 8008c4c if (hi2c->XferCount != 0U) - 8007a88: e041 b.n 8007b0e + 8008040: e041 b.n 80080c6 } } } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \ - 8007a8a: 68bb ldr r3, [r7, #8] - 8007a8c: 099b lsrs r3, r3, #6 - 8007a8e: f003 0301 and.w r3, r3, #1 - 8007a92: 2b00 cmp r3, #0 - 8007a94: d029 beq.n 8007aea + 8008042: 68bb ldr r3, [r7, #8] + 8008044: 099b lsrs r3, r3, #6 + 8008046: f003 0301 and.w r3, r3, #1 + 800804a: 2b00 cmp r3, #0 + 800804c: d029 beq.n 80080a2 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) - 8007a96: 687b ldr r3, [r7, #4] - 8007a98: 099b lsrs r3, r3, #6 - 8007a9a: f003 0301 and.w r3, r3, #1 + 800804e: 687b ldr r3, [r7, #4] + 8008050: 099b lsrs r3, r3, #6 + 8008052: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \ - 8007a9e: 2b00 cmp r3, #0 - 8007aa0: d023 beq.n 8007aea + 8008056: 2b00 cmp r3, #0 + 8008058: d023 beq.n 80080a2 { if (hi2c->XferCount == 0U) - 8007aa2: 68fb ldr r3, [r7, #12] - 8007aa4: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007aa6: b29b uxth r3, r3 - 8007aa8: 2b00 cmp r3, #0 - 8007aaa: d119 bne.n 8007ae0 + 800805a: 68fb ldr r3, [r7, #12] + 800805c: 8d5b ldrh r3, [r3, #42] @ 0x2a + 800805e: b29b uxth r3, r3 + 8008060: 2b00 cmp r3, #0 + 8008062: d119 bne.n 8008098 { if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) - 8007aac: 68fb ldr r3, [r7, #12] - 8007aae: 681b ldr r3, [r3, #0] - 8007ab0: 685b ldr r3, [r3, #4] - 8007ab2: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 - 8007ab6: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 - 8007aba: d027 beq.n 8007b0c + 8008064: 68fb ldr r3, [r7, #12] + 8008066: 681b ldr r3, [r3, #0] + 8008068: 685b ldr r3, [r3, #4] + 800806a: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 + 800806e: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 + 8008072: d027 beq.n 80080c4 { /* Generate a stop condition in case of no transfer option */ if (hi2c->XferOptions == I2C_NO_OPTION_FRAME) - 8007abc: 68fb ldr r3, [r7, #12] - 8007abe: 6adb ldr r3, [r3, #44] @ 0x2c - 8007ac0: f513 3f80 cmn.w r3, #65536 @ 0x10000 - 8007ac4: d108 bne.n 8007ad8 + 8008074: 68fb ldr r3, [r7, #12] + 8008076: 6adb ldr r3, [r3, #44] @ 0x2c + 8008078: f513 3f80 cmn.w r3, #65536 @ 0x10000 + 800807c: d108 bne.n 8008090 { /* Generate Stop */ hi2c->Instance->CR2 |= I2C_CR2_STOP; - 8007ac6: 68fb ldr r3, [r7, #12] - 8007ac8: 681b ldr r3, [r3, #0] - 8007aca: 685a ldr r2, [r3, #4] - 8007acc: 68fb ldr r3, [r7, #12] - 8007ace: 681b ldr r3, [r3, #0] - 8007ad0: f442 4280 orr.w r2, r2, #16384 @ 0x4000 - 8007ad4: 605a str r2, [r3, #4] + 800807e: 68fb ldr r3, [r7, #12] + 8008080: 681b ldr r3, [r3, #0] + 8008082: 685a ldr r2, [r3, #4] + 8008084: 68fb ldr r3, [r7, #12] + 8008086: 681b ldr r3, [r3, #0] + 8008088: f442 4280 orr.w r2, r2, #16384 @ 0x4000 + 800808c: 605a str r2, [r3, #4] if (hi2c->XferCount == 0U) - 8007ad6: e019 b.n 8007b0c + 800808e: e019 b.n 80080c4 } else { /* Call I2C Master Sequential complete process */ I2C_ITMasterSeqCplt(hi2c); - 8007ad8: 68f8 ldr r0, [r7, #12] - 8007ada: f000 fab6 bl 800804a + 8008090: 68f8 ldr r0, [r7, #12] + 8008092: f000 fab6 bl 8008602 if (hi2c->XferCount == 0U) - 8007ade: e015 b.n 8007b0c + 8008096: e015 b.n 80080c4 } else { /* Wrong size Status regarding TC flag event */ /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); - 8007ae0: 2140 movs r1, #64 @ 0x40 - 8007ae2: 68f8 ldr r0, [r7, #12] - 8007ae4: f000 fdd6 bl 8008694 + 8008098: 2140 movs r1, #64 @ 0x40 + 800809a: 68f8 ldr r0, [r7, #12] + 800809c: f000 fdd6 bl 8008c4c if (hi2c->XferCount == 0U) - 8007ae8: e010 b.n 8007b0c + 80080a0: e010 b.n 80080c4 } } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ - 8007aea: 68bb ldr r3, [r7, #8] - 8007aec: 095b lsrs r3, r3, #5 - 8007aee: f003 0301 and.w r3, r3, #1 - 8007af2: 2b00 cmp r3, #0 - 8007af4: d00b beq.n 8007b0e + 80080a2: 68bb ldr r3, [r7, #8] + 80080a4: 095b lsrs r3, r3, #5 + 80080a6: f003 0301 and.w r3, r3, #1 + 80080aa: 2b00 cmp r3, #0 + 80080ac: d00b beq.n 80080c6 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) - 8007af6: 687b ldr r3, [r7, #4] - 8007af8: 095b lsrs r3, r3, #5 - 8007afa: f003 0301 and.w r3, r3, #1 + 80080ae: 687b ldr r3, [r7, #4] + 80080b0: 095b lsrs r3, r3, #5 + 80080b2: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ - 8007afe: 2b00 cmp r3, #0 - 8007b00: d005 beq.n 8007b0e + 80080b6: 2b00 cmp r3, #0 + 80080b8: d005 beq.n 80080c6 { /* Call I2C Master complete process */ I2C_ITMasterCplt(hi2c, ITFlags); - 8007b02: 68b9 ldr r1, [r7, #8] - 8007b04: 68f8 ldr r0, [r7, #12] - 8007b06: f000 fb3b bl 8008180 - 8007b0a: e000 b.n 8007b0e + 80080ba: 68b9 ldr r1, [r7, #8] + 80080bc: 68f8 ldr r0, [r7, #12] + 80080be: f000 fb3b bl 8008738 + 80080c2: e000 b.n 80080c6 if (hi2c->XferCount == 0U) - 8007b0c: bf00 nop + 80080c4: bf00 nop { /* Nothing to do */ } /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8007b0e: 68fb ldr r3, [r7, #12] - 8007b10: 2200 movs r2, #0 - 8007b12: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80080c6: 68fb ldr r3, [r7, #12] + 80080c8: 2200 movs r2, #0 + 80080ca: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_OK; - 8007b16: 2300 movs r3, #0 + 80080ce: 2300 movs r3, #0 } - 8007b18: 4618 mov r0, r3 - 8007b1a: 3718 adds r7, #24 - 8007b1c: 46bd mov sp, r7 - 8007b1e: bd80 pop {r7, pc} + 80080d0: 4618 mov r0, r3 + 80080d2: 3718 adds r7, #24 + 80080d4: 46bd mov sp, r7 + 80080d6: bd80 pop {r7, pc} -08007b20 : +080080d8 : * @param ITSources Interrupt sources enabled. * @retval HAL status */ static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) { - 8007b20: b580 push {r7, lr} - 8007b22: b088 sub sp, #32 - 8007b24: af02 add r7, sp, #8 - 8007b26: 60f8 str r0, [r7, #12] - 8007b28: 60b9 str r1, [r7, #8] - 8007b2a: 607a str r2, [r7, #4] + 80080d8: b580 push {r7, lr} + 80080da: b088 sub sp, #32 + 80080dc: af02 add r7, sp, #8 + 80080de: 60f8 str r0, [r7, #12] + 80080e0: 60b9 str r1, [r7, #8] + 80080e2: 607a str r2, [r7, #4] uint32_t direction = I2C_GENERATE_START_WRITE; - 8007b2c: 4b92 ldr r3, [pc, #584] @ (8007d78 ) - 8007b2e: 617b str r3, [r7, #20] + 80080e4: 4b92 ldr r3, [pc, #584] @ (8008330 ) + 80080e6: 617b str r3, [r7, #20] /* Process Locked */ __HAL_LOCK(hi2c); - 8007b30: 68fb ldr r3, [r7, #12] - 8007b32: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 - 8007b36: 2b01 cmp r3, #1 - 8007b38: d101 bne.n 8007b3e - 8007b3a: 2302 movs r3, #2 - 8007b3c: e118 b.n 8007d70 - 8007b3e: 68fb ldr r3, [r7, #12] - 8007b40: 2201 movs r2, #1 - 8007b42: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80080e8: 68fb ldr r3, [r7, #12] + 80080ea: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 + 80080ee: 2b01 cmp r3, #1 + 80080f0: d101 bne.n 80080f6 + 80080f2: 2302 movs r3, #2 + 80080f4: e118 b.n 8008328 + 80080f6: 68fb ldr r3, [r7, #12] + 80080f8: 2201 movs r2, #1 + 80080fa: f883 2040 strb.w r2, [r3, #64] @ 0x40 if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ - 8007b46: 68bb ldr r3, [r7, #8] - 8007b48: 091b lsrs r3, r3, #4 - 8007b4a: f003 0301 and.w r3, r3, #1 - 8007b4e: 2b00 cmp r3, #0 - 8007b50: d017 beq.n 8007b82 + 80080fe: 68bb ldr r3, [r7, #8] + 8008100: 091b lsrs r3, r3, #4 + 8008102: f003 0301 and.w r3, r3, #1 + 8008106: 2b00 cmp r3, #0 + 8008108: d017 beq.n 800813a (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) - 8007b52: 687b ldr r3, [r7, #4] - 8007b54: 091b lsrs r3, r3, #4 - 8007b56: f003 0301 and.w r3, r3, #1 + 800810a: 687b ldr r3, [r7, #4] + 800810c: 091b lsrs r3, r3, #4 + 800810e: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ - 8007b5a: 2b00 cmp r3, #0 - 8007b5c: d011 beq.n 8007b82 + 8008112: 2b00 cmp r3, #0 + 8008114: d011 beq.n 800813a { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 8007b5e: 68fb ldr r3, [r7, #12] - 8007b60: 681b ldr r3, [r3, #0] - 8007b62: 2210 movs r2, #16 - 8007b64: 61da str r2, [r3, #28] + 8008116: 68fb ldr r3, [r7, #12] + 8008118: 681b ldr r3, [r3, #0] + 800811a: 2210 movs r2, #16 + 800811c: 61da str r2, [r3, #28] /* Set corresponding Error Code */ hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 8007b66: 68fb ldr r3, [r7, #12] - 8007b68: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007b6a: f043 0204 orr.w r2, r3, #4 - 8007b6e: 68fb ldr r3, [r7, #12] - 8007b70: 645a str r2, [r3, #68] @ 0x44 + 800811e: 68fb ldr r3, [r7, #12] + 8008120: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008122: f043 0204 orr.w r2, r3, #4 + 8008126: 68fb ldr r3, [r7, #12] + 8008128: 645a str r2, [r3, #68] @ 0x44 /* No need to generate STOP, it is automatically done */ /* But enable STOP interrupt, to treat it */ /* Error callback will be send during stop flag treatment */ I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); - 8007b72: 2120 movs r1, #32 - 8007b74: 68f8 ldr r0, [r7, #12] - 8007b76: f000 ffc5 bl 8008b04 + 800812a: 2120 movs r1, #32 + 800812c: 68f8 ldr r0, [r7, #12] + 800812e: f000 ffc5 bl 80090bc /* Flush TX register */ I2C_Flush_TXDR(hi2c); - 8007b7a: 68f8 ldr r0, [r7, #12] - 8007b7c: f000 fea1 bl 80088c2 - 8007b80: e0f1 b.n 8007d66 + 8008132: 68f8 ldr r0, [r7, #12] + 8008134: f000 fea1 bl 8008e7a + 8008138: e0f1 b.n 800831e } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TXIS) != RESET) && \ - 8007b82: 68bb ldr r3, [r7, #8] - 8007b84: 085b lsrs r3, r3, #1 - 8007b86: f003 0301 and.w r3, r3, #1 - 8007b8a: 2b00 cmp r3, #0 - 8007b8c: d00f beq.n 8007bae + 800813a: 68bb ldr r3, [r7, #8] + 800813c: 085b lsrs r3, r3, #1 + 800813e: f003 0301 and.w r3, r3, #1 + 8008142: 2b00 cmp r3, #0 + 8008144: d00f beq.n 8008166 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) - 8007b8e: 687b ldr r3, [r7, #4] - 8007b90: 085b lsrs r3, r3, #1 - 8007b92: f003 0301 and.w r3, r3, #1 + 8008146: 687b ldr r3, [r7, #4] + 8008148: 085b lsrs r3, r3, #1 + 800814a: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TXIS) != RESET) && \ - 8007b96: 2b00 cmp r3, #0 - 8007b98: d009 beq.n 8007bae + 800814e: 2b00 cmp r3, #0 + 8008150: d009 beq.n 8008166 { /* Write LSB part of Memory Address */ hi2c->Instance->TXDR = hi2c->Memaddress; - 8007b9a: 68fb ldr r3, [r7, #12] - 8007b9c: 681b ldr r3, [r3, #0] - 8007b9e: 68fa ldr r2, [r7, #12] - 8007ba0: 6d12 ldr r2, [r2, #80] @ 0x50 - 8007ba2: 629a str r2, [r3, #40] @ 0x28 + 8008152: 68fb ldr r3, [r7, #12] + 8008154: 681b ldr r3, [r3, #0] + 8008156: 68fa ldr r2, [r7, #12] + 8008158: 6d12 ldr r2, [r2, #80] @ 0x50 + 800815a: 629a str r2, [r3, #40] @ 0x28 /* Reset Memaddress content */ hi2c->Memaddress = 0xFFFFFFFFU; - 8007ba4: 68fb ldr r3, [r7, #12] - 8007ba6: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8007baa: 651a str r2, [r3, #80] @ 0x50 - 8007bac: e0db b.n 8007d66 + 800815c: 68fb ldr r3, [r7, #12] + 800815e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8008162: 651a str r2, [r3, #80] @ 0x50 + 8008164: e0db b.n 800831e } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \ - 8007bae: 68bb ldr r3, [r7, #8] - 8007bb0: 09db lsrs r3, r3, #7 - 8007bb2: f003 0301 and.w r3, r3, #1 - 8007bb6: 2b00 cmp r3, #0 - 8007bb8: d060 beq.n 8007c7c + 8008166: 68bb ldr r3, [r7, #8] + 8008168: 09db lsrs r3, r3, #7 + 800816a: f003 0301 and.w r3, r3, #1 + 800816e: 2b00 cmp r3, #0 + 8008170: d060 beq.n 8008234 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) - 8007bba: 687b ldr r3, [r7, #4] - 8007bbc: 099b lsrs r3, r3, #6 - 8007bbe: f003 0301 and.w r3, r3, #1 + 8008172: 687b ldr r3, [r7, #4] + 8008174: 099b lsrs r3, r3, #6 + 8008176: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \ - 8007bc2: 2b00 cmp r3, #0 - 8007bc4: d05a beq.n 8007c7c + 800817a: 2b00 cmp r3, #0 + 800817c: d05a beq.n 8008234 { /* Disable Interrupt related to address step */ I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); - 8007bc6: 2101 movs r1, #1 - 8007bc8: 68f8 ldr r0, [r7, #12] - 8007bca: f001 f81f bl 8008c0c + 800817e: 2101 movs r1, #1 + 8008180: 68f8 ldr r0, [r7, #12] + 8008182: f001 f81f bl 80091c4 /* Enable only Error interrupt */ I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); - 8007bce: 2110 movs r1, #16 - 8007bd0: 68f8 ldr r0, [r7, #12] - 8007bd2: f000 ff97 bl 8008b04 + 8008186: 2110 movs r1, #16 + 8008188: 68f8 ldr r0, [r7, #12] + 800818a: f000 ff97 bl 80090bc if (hi2c->XferCount != 0U) - 8007bd6: 68fb ldr r3, [r7, #12] - 8007bd8: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007bda: b29b uxth r3, r3 - 8007bdc: 2b00 cmp r3, #0 - 8007bde: d048 beq.n 8007c72 + 800818e: 68fb ldr r3, [r7, #12] + 8008190: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008192: b29b uxth r3, r3 + 8008194: 2b00 cmp r3, #0 + 8008196: d048 beq.n 800822a { /* Prepare the new XferSize to transfer */ if (hi2c->XferCount > MAX_NBYTE_SIZE) - 8007be0: 68fb ldr r3, [r7, #12] - 8007be2: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007be4: b29b uxth r3, r3 - 8007be6: 2bff cmp r3, #255 @ 0xff - 8007be8: d910 bls.n 8007c0c + 8008198: 68fb ldr r3, [r7, #12] + 800819a: 8d5b ldrh r3, [r3, #42] @ 0x2a + 800819c: b29b uxth r3, r3 + 800819e: 2bff cmp r3, #255 @ 0xff + 80081a0: d910 bls.n 80081c4 { hi2c->XferSize = MAX_NBYTE_SIZE; - 8007bea: 68fb ldr r3, [r7, #12] - 8007bec: 22ff movs r2, #255 @ 0xff - 8007bee: 851a strh r2, [r3, #40] @ 0x28 + 80081a2: 68fb ldr r3, [r7, #12] + 80081a4: 22ff movs r2, #255 @ 0xff + 80081a6: 851a strh r2, [r3, #40] @ 0x28 I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, - 8007bf0: 68fb ldr r3, [r7, #12] - 8007bf2: 6cdb ldr r3, [r3, #76] @ 0x4c - 8007bf4: b299 uxth r1, r3 - 8007bf6: 68fb ldr r3, [r7, #12] - 8007bf8: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007bfa: b2da uxtb r2, r3 - 8007bfc: 2300 movs r3, #0 - 8007bfe: 9300 str r3, [sp, #0] - 8007c00: f04f 7380 mov.w r3, #16777216 @ 0x1000000 - 8007c04: 68f8 ldr r0, [r7, #12] - 8007c06: f000 ff4b bl 8008aa0 - 8007c0a: e011 b.n 8007c30 + 80081a8: 68fb ldr r3, [r7, #12] + 80081aa: 6cdb ldr r3, [r3, #76] @ 0x4c + 80081ac: b299 uxth r1, r3 + 80081ae: 68fb ldr r3, [r7, #12] + 80081b0: 8d1b ldrh r3, [r3, #40] @ 0x28 + 80081b2: b2da uxtb r2, r3 + 80081b4: 2300 movs r3, #0 + 80081b6: 9300 str r3, [sp, #0] + 80081b8: f04f 7380 mov.w r3, #16777216 @ 0x1000000 + 80081bc: 68f8 ldr r0, [r7, #12] + 80081be: f000 ff4b bl 8009058 + 80081c2: e011 b.n 80081e8 I2C_RELOAD_MODE, I2C_NO_STARTSTOP); } else { hi2c->XferSize = hi2c->XferCount; - 8007c0c: 68fb ldr r3, [r7, #12] - 8007c0e: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007c10: b29a uxth r2, r3 - 8007c12: 68fb ldr r3, [r7, #12] - 8007c14: 851a strh r2, [r3, #40] @ 0x28 + 80081c4: 68fb ldr r3, [r7, #12] + 80081c6: 8d5b ldrh r3, [r3, #42] @ 0x2a + 80081c8: b29a uxth r2, r3 + 80081ca: 68fb ldr r3, [r7, #12] + 80081cc: 851a strh r2, [r3, #40] @ 0x28 I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, - 8007c16: 68fb ldr r3, [r7, #12] - 8007c18: 6cdb ldr r3, [r3, #76] @ 0x4c - 8007c1a: b299 uxth r1, r3 - 8007c1c: 68fb ldr r3, [r7, #12] - 8007c1e: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007c20: b2da uxtb r2, r3 - 8007c22: 2300 movs r3, #0 - 8007c24: 9300 str r3, [sp, #0] - 8007c26: f04f 7300 mov.w r3, #33554432 @ 0x2000000 - 8007c2a: 68f8 ldr r0, [r7, #12] - 8007c2c: f000 ff38 bl 8008aa0 + 80081ce: 68fb ldr r3, [r7, #12] + 80081d0: 6cdb ldr r3, [r3, #76] @ 0x4c + 80081d2: b299 uxth r1, r3 + 80081d4: 68fb ldr r3, [r7, #12] + 80081d6: 8d1b ldrh r3, [r3, #40] @ 0x28 + 80081d8: b2da uxtb r2, r3 + 80081da: 2300 movs r3, #0 + 80081dc: 9300 str r3, [sp, #0] + 80081de: f04f 7300 mov.w r3, #33554432 @ 0x2000000 + 80081e2: 68f8 ldr r0, [r7, #12] + 80081e4: f000 ff38 bl 8009058 I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); } /* Update XferCount value */ hi2c->XferCount -= hi2c->XferSize; - 8007c30: 68fb ldr r3, [r7, #12] - 8007c32: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007c34: b29a uxth r2, r3 - 8007c36: 68fb ldr r3, [r7, #12] - 8007c38: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007c3a: 1ad3 subs r3, r2, r3 - 8007c3c: b29a uxth r2, r3 - 8007c3e: 68fb ldr r3, [r7, #12] - 8007c40: 855a strh r2, [r3, #42] @ 0x2a + 80081e8: 68fb ldr r3, [r7, #12] + 80081ea: 8d5b ldrh r3, [r3, #42] @ 0x2a + 80081ec: b29a uxth r2, r3 + 80081ee: 68fb ldr r3, [r7, #12] + 80081f0: 8d1b ldrh r3, [r3, #40] @ 0x28 + 80081f2: 1ad3 subs r3, r2, r3 + 80081f4: b29a uxth r2, r3 + 80081f6: 68fb ldr r3, [r7, #12] + 80081f8: 855a strh r2, [r3, #42] @ 0x2a /* Enable DMA Request */ if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 8007c42: 68fb ldr r3, [r7, #12] - 8007c44: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007c48: b2db uxtb r3, r3 - 8007c4a: 2b22 cmp r3, #34 @ 0x22 - 8007c4c: d108 bne.n 8007c60 + 80081fa: 68fb ldr r3, [r7, #12] + 80081fc: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008200: b2db uxtb r3, r3 + 8008202: 2b22 cmp r3, #34 @ 0x22 + 8008204: d108 bne.n 8008218 { hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; - 8007c4e: 68fb ldr r3, [r7, #12] - 8007c50: 681b ldr r3, [r3, #0] - 8007c52: 681a ldr r2, [r3, #0] - 8007c54: 68fb ldr r3, [r7, #12] - 8007c56: 681b ldr r3, [r3, #0] - 8007c58: f442 4200 orr.w r2, r2, #32768 @ 0x8000 - 8007c5c: 601a str r2, [r3, #0] + 8008206: 68fb ldr r3, [r7, #12] + 8008208: 681b ldr r3, [r3, #0] + 800820a: 681a ldr r2, [r3, #0] + 800820c: 68fb ldr r3, [r7, #12] + 800820e: 681b ldr r3, [r3, #0] + 8008210: f442 4200 orr.w r2, r2, #32768 @ 0x8000 + 8008214: 601a str r2, [r3, #0] if (hi2c->XferCount != 0U) - 8007c5e: e082 b.n 8007d66 + 8008216: e082 b.n 800831e } else { hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; - 8007c60: 68fb ldr r3, [r7, #12] - 8007c62: 681b ldr r3, [r3, #0] - 8007c64: 681a ldr r2, [r3, #0] - 8007c66: 68fb ldr r3, [r7, #12] - 8007c68: 681b ldr r3, [r3, #0] - 8007c6a: f442 4280 orr.w r2, r2, #16384 @ 0x4000 - 8007c6e: 601a str r2, [r3, #0] + 8008218: 68fb ldr r3, [r7, #12] + 800821a: 681b ldr r3, [r3, #0] + 800821c: 681a ldr r2, [r3, #0] + 800821e: 68fb ldr r3, [r7, #12] + 8008220: 681b ldr r3, [r3, #0] + 8008222: f442 4280 orr.w r2, r2, #16384 @ 0x4000 + 8008226: 601a str r2, [r3, #0] if (hi2c->XferCount != 0U) - 8007c70: e079 b.n 8007d66 + 8008228: e079 b.n 800831e } else { /* Wrong size Status regarding TCR flag event */ /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); - 8007c72: 2140 movs r1, #64 @ 0x40 - 8007c74: 68f8 ldr r0, [r7, #12] - 8007c76: f000 fd0d bl 8008694 + 800822a: 2140 movs r1, #64 @ 0x40 + 800822c: 68f8 ldr r0, [r7, #12] + 800822e: f000 fd0d bl 8008c4c if (hi2c->XferCount != 0U) - 8007c7a: e074 b.n 8007d66 + 8008232: e074 b.n 800831e } } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \ - 8007c7c: 68bb ldr r3, [r7, #8] - 8007c7e: 099b lsrs r3, r3, #6 - 8007c80: f003 0301 and.w r3, r3, #1 - 8007c84: 2b00 cmp r3, #0 - 8007c86: d05e beq.n 8007d46 + 8008234: 68bb ldr r3, [r7, #8] + 8008236: 099b lsrs r3, r3, #6 + 8008238: f003 0301 and.w r3, r3, #1 + 800823c: 2b00 cmp r3, #0 + 800823e: d05e beq.n 80082fe (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) - 8007c88: 687b ldr r3, [r7, #4] - 8007c8a: 099b lsrs r3, r3, #6 - 8007c8c: f003 0301 and.w r3, r3, #1 + 8008240: 687b ldr r3, [r7, #4] + 8008242: 099b lsrs r3, r3, #6 + 8008244: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \ - 8007c90: 2b00 cmp r3, #0 - 8007c92: d058 beq.n 8007d46 + 8008248: 2b00 cmp r3, #0 + 800824a: d058 beq.n 80082fe { /* Disable Interrupt related to address step */ I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); - 8007c94: 2101 movs r1, #1 - 8007c96: 68f8 ldr r0, [r7, #12] - 8007c98: f000 ffb8 bl 8008c0c + 800824c: 2101 movs r1, #1 + 800824e: 68f8 ldr r0, [r7, #12] + 8008250: f000 ffb8 bl 80091c4 /* Enable only Error and NACK interrupt for data transfer */ I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); - 8007c9c: 2110 movs r1, #16 - 8007c9e: 68f8 ldr r0, [r7, #12] - 8007ca0: f000 ff30 bl 8008b04 + 8008254: 2110 movs r1, #16 + 8008256: 68f8 ldr r0, [r7, #12] + 8008258: f000 ff30 bl 80090bc if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 8007ca4: 68fb ldr r3, [r7, #12] - 8007ca6: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007caa: b2db uxtb r3, r3 - 8007cac: 2b22 cmp r3, #34 @ 0x22 - 8007cae: d101 bne.n 8007cb4 + 800825c: 68fb ldr r3, [r7, #12] + 800825e: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008262: b2db uxtb r3, r3 + 8008264: 2b22 cmp r3, #34 @ 0x22 + 8008266: d101 bne.n 800826c { direction = I2C_GENERATE_START_READ; - 8007cb0: 4b32 ldr r3, [pc, #200] @ (8007d7c ) - 8007cb2: 617b str r3, [r7, #20] + 8008268: 4b32 ldr r3, [pc, #200] @ (8008334 ) + 800826a: 617b str r3, [r7, #20] } if (hi2c->XferCount > MAX_NBYTE_SIZE) - 8007cb4: 68fb ldr r3, [r7, #12] - 8007cb6: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007cb8: b29b uxth r3, r3 - 8007cba: 2bff cmp r3, #255 @ 0xff - 8007cbc: d910 bls.n 8007ce0 + 800826c: 68fb ldr r3, [r7, #12] + 800826e: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008270: b29b uxth r3, r3 + 8008272: 2bff cmp r3, #255 @ 0xff + 8008274: d910 bls.n 8008298 { hi2c->XferSize = MAX_NBYTE_SIZE; - 8007cbe: 68fb ldr r3, [r7, #12] - 8007cc0: 22ff movs r2, #255 @ 0xff - 8007cc2: 851a strh r2, [r3, #40] @ 0x28 + 8008276: 68fb ldr r3, [r7, #12] + 8008278: 22ff movs r2, #255 @ 0xff + 800827a: 851a strh r2, [r3, #40] @ 0x28 /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, - 8007cc4: 68fb ldr r3, [r7, #12] - 8007cc6: 6cdb ldr r3, [r3, #76] @ 0x4c - 8007cc8: b299 uxth r1, r3 - 8007cca: 68fb ldr r3, [r7, #12] - 8007ccc: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007cce: b2da uxtb r2, r3 - 8007cd0: 697b ldr r3, [r7, #20] - 8007cd2: 9300 str r3, [sp, #0] - 8007cd4: f04f 7380 mov.w r3, #16777216 @ 0x1000000 - 8007cd8: 68f8 ldr r0, [r7, #12] - 8007cda: f000 fee1 bl 8008aa0 - 8007cde: e011 b.n 8007d04 + 800827c: 68fb ldr r3, [r7, #12] + 800827e: 6cdb ldr r3, [r3, #76] @ 0x4c + 8008280: b299 uxth r1, r3 + 8008282: 68fb ldr r3, [r7, #12] + 8008284: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8008286: b2da uxtb r2, r3 + 8008288: 697b ldr r3, [r7, #20] + 800828a: 9300 str r3, [sp, #0] + 800828c: f04f 7380 mov.w r3, #16777216 @ 0x1000000 + 8008290: 68f8 ldr r0, [r7, #12] + 8008292: f000 fee1 bl 8009058 + 8008296: e011 b.n 80082bc I2C_RELOAD_MODE, direction); } else { hi2c->XferSize = hi2c->XferCount; - 8007ce0: 68fb ldr r3, [r7, #12] - 8007ce2: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007ce4: b29a uxth r2, r3 - 8007ce6: 68fb ldr r3, [r7, #12] - 8007ce8: 851a strh r2, [r3, #40] @ 0x28 + 8008298: 68fb ldr r3, [r7, #12] + 800829a: 8d5b ldrh r3, [r3, #42] @ 0x2a + 800829c: b29a uxth r2, r3 + 800829e: 68fb ldr r3, [r7, #12] + 80082a0: 851a strh r2, [r3, #40] @ 0x28 /* Set NBYTES to write and generate RESTART */ I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, - 8007cea: 68fb ldr r3, [r7, #12] - 8007cec: 6cdb ldr r3, [r3, #76] @ 0x4c - 8007cee: b299 uxth r1, r3 - 8007cf0: 68fb ldr r3, [r7, #12] - 8007cf2: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007cf4: b2da uxtb r2, r3 - 8007cf6: 697b ldr r3, [r7, #20] - 8007cf8: 9300 str r3, [sp, #0] - 8007cfa: f04f 7300 mov.w r3, #33554432 @ 0x2000000 - 8007cfe: 68f8 ldr r0, [r7, #12] - 8007d00: f000 fece bl 8008aa0 + 80082a2: 68fb ldr r3, [r7, #12] + 80082a4: 6cdb ldr r3, [r3, #76] @ 0x4c + 80082a6: b299 uxth r1, r3 + 80082a8: 68fb ldr r3, [r7, #12] + 80082aa: 8d1b ldrh r3, [r3, #40] @ 0x28 + 80082ac: b2da uxtb r2, r3 + 80082ae: 697b ldr r3, [r7, #20] + 80082b0: 9300 str r3, [sp, #0] + 80082b2: f04f 7300 mov.w r3, #33554432 @ 0x2000000 + 80082b6: 68f8 ldr r0, [r7, #12] + 80082b8: f000 fece bl 8009058 I2C_AUTOEND_MODE, direction); } /* Update XferCount value */ hi2c->XferCount -= hi2c->XferSize; - 8007d04: 68fb ldr r3, [r7, #12] - 8007d06: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8007d08: b29a uxth r2, r3 - 8007d0a: 68fb ldr r3, [r7, #12] - 8007d0c: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8007d0e: 1ad3 subs r3, r2, r3 - 8007d10: b29a uxth r2, r3 - 8007d12: 68fb ldr r3, [r7, #12] - 8007d14: 855a strh r2, [r3, #42] @ 0x2a + 80082bc: 68fb ldr r3, [r7, #12] + 80082be: 8d5b ldrh r3, [r3, #42] @ 0x2a + 80082c0: b29a uxth r2, r3 + 80082c2: 68fb ldr r3, [r7, #12] + 80082c4: 8d1b ldrh r3, [r3, #40] @ 0x28 + 80082c6: 1ad3 subs r3, r2, r3 + 80082c8: b29a uxth r2, r3 + 80082ca: 68fb ldr r3, [r7, #12] + 80082cc: 855a strh r2, [r3, #42] @ 0x2a /* Enable DMA Request */ if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 8007d16: 68fb ldr r3, [r7, #12] - 8007d18: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007d1c: b2db uxtb r3, r3 - 8007d1e: 2b22 cmp r3, #34 @ 0x22 - 8007d20: d108 bne.n 8007d34 + 80082ce: 68fb ldr r3, [r7, #12] + 80082d0: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 80082d4: b2db uxtb r3, r3 + 80082d6: 2b22 cmp r3, #34 @ 0x22 + 80082d8: d108 bne.n 80082ec { hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; - 8007d22: 68fb ldr r3, [r7, #12] - 8007d24: 681b ldr r3, [r3, #0] - 8007d26: 681a ldr r2, [r3, #0] - 8007d28: 68fb ldr r3, [r7, #12] - 8007d2a: 681b ldr r3, [r3, #0] - 8007d2c: f442 4200 orr.w r2, r2, #32768 @ 0x8000 - 8007d30: 601a str r2, [r3, #0] + 80082da: 68fb ldr r3, [r7, #12] + 80082dc: 681b ldr r3, [r3, #0] + 80082de: 681a ldr r2, [r3, #0] + 80082e0: 68fb ldr r3, [r7, #12] + 80082e2: 681b ldr r3, [r3, #0] + 80082e4: f442 4200 orr.w r2, r2, #32768 @ 0x8000 + 80082e8: 601a str r2, [r3, #0] if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 8007d32: e018 b.n 8007d66 + 80082ea: e018 b.n 800831e } else { hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; - 8007d34: 68fb ldr r3, [r7, #12] - 8007d36: 681b ldr r3, [r3, #0] - 8007d38: 681a ldr r2, [r3, #0] - 8007d3a: 68fb ldr r3, [r7, #12] - 8007d3c: 681b ldr r3, [r3, #0] - 8007d3e: f442 4280 orr.w r2, r2, #16384 @ 0x4000 - 8007d42: 601a str r2, [r3, #0] + 80082ec: 68fb ldr r3, [r7, #12] + 80082ee: 681b ldr r3, [r3, #0] + 80082f0: 681a ldr r2, [r3, #0] + 80082f2: 68fb ldr r3, [r7, #12] + 80082f4: 681b ldr r3, [r3, #0] + 80082f6: f442 4280 orr.w r2, r2, #16384 @ 0x4000 + 80082fa: 601a str r2, [r3, #0] if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 8007d44: e00f b.n 8007d66 + 80082fc: e00f b.n 800831e } } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ - 8007d46: 68bb ldr r3, [r7, #8] - 8007d48: 095b lsrs r3, r3, #5 - 8007d4a: f003 0301 and.w r3, r3, #1 - 8007d4e: 2b00 cmp r3, #0 - 8007d50: d009 beq.n 8007d66 + 80082fe: 68bb ldr r3, [r7, #8] + 8008300: 095b lsrs r3, r3, #5 + 8008302: f003 0301 and.w r3, r3, #1 + 8008306: 2b00 cmp r3, #0 + 8008308: d009 beq.n 800831e (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) - 8007d52: 687b ldr r3, [r7, #4] - 8007d54: 095b lsrs r3, r3, #5 - 8007d56: f003 0301 and.w r3, r3, #1 + 800830a: 687b ldr r3, [r7, #4] + 800830c: 095b lsrs r3, r3, #5 + 800830e: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ - 8007d5a: 2b00 cmp r3, #0 - 8007d5c: d003 beq.n 8007d66 + 8008312: 2b00 cmp r3, #0 + 8008314: d003 beq.n 800831e { /* Call I2C Master complete process */ I2C_ITMasterCplt(hi2c, ITFlags); - 8007d5e: 68b9 ldr r1, [r7, #8] - 8007d60: 68f8 ldr r0, [r7, #12] - 8007d62: f000 fa0d bl 8008180 + 8008316: 68b9 ldr r1, [r7, #8] + 8008318: 68f8 ldr r0, [r7, #12] + 800831a: f000 fa0d bl 8008738 { /* Nothing to do */ } /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8007d66: 68fb ldr r3, [r7, #12] - 8007d68: 2200 movs r2, #0 - 8007d6a: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 800831e: 68fb ldr r3, [r7, #12] + 8008320: 2200 movs r2, #0 + 8008322: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_OK; - 8007d6e: 2300 movs r3, #0 + 8008326: 2300 movs r3, #0 } - 8007d70: 4618 mov r0, r3 - 8007d72: 3718 adds r7, #24 - 8007d74: 46bd mov sp, r7 - 8007d76: bd80 pop {r7, pc} - 8007d78: 80002000 .word 0x80002000 - 8007d7c: 80002400 .word 0x80002400 + 8008328: 4618 mov r0, r3 + 800832a: 3718 adds r7, #24 + 800832c: 46bd mov sp, r7 + 800832e: bd80 pop {r7, pc} + 8008330: 80002000 .word 0x80002000 + 8008334: 80002400 .word 0x80002400 -08007d80 : +08008338 : * @param ITSources Interrupt sources enabled. * @retval HAL status */ static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) { - 8007d80: b580 push {r7, lr} - 8007d82: b088 sub sp, #32 - 8007d84: af00 add r7, sp, #0 - 8007d86: 60f8 str r0, [r7, #12] - 8007d88: 60b9 str r1, [r7, #8] - 8007d8a: 607a str r2, [r7, #4] + 8008338: b580 push {r7, lr} + 800833a: b088 sub sp, #32 + 800833c: af00 add r7, sp, #0 + 800833e: 60f8 str r0, [r7, #12] + 8008340: 60b9 str r1, [r7, #8] + 8008342: 607a str r2, [r7, #4] uint32_t tmpoptions = hi2c->XferOptions; - 8007d8c: 68fb ldr r3, [r7, #12] - 8007d8e: 6adb ldr r3, [r3, #44] @ 0x2c - 8007d90: 61bb str r3, [r7, #24] + 8008344: 68fb ldr r3, [r7, #12] + 8008346: 6adb ldr r3, [r3, #44] @ 0x2c + 8008348: 61bb str r3, [r7, #24] uint32_t treatdmanack = 0U; - 8007d92: 2300 movs r3, #0 - 8007d94: 61fb str r3, [r7, #28] + 800834a: 2300 movs r3, #0 + 800834c: 61fb str r3, [r7, #28] HAL_I2C_StateTypeDef tmpstate; /* Process locked */ __HAL_LOCK(hi2c); - 8007d96: 68fb ldr r3, [r7, #12] - 8007d98: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 - 8007d9c: 2b01 cmp r3, #1 - 8007d9e: d101 bne.n 8007da4 - 8007da0: 2302 movs r3, #2 - 8007da2: e0ca b.n 8007f3a - 8007da4: 68fb ldr r3, [r7, #12] - 8007da6: 2201 movs r2, #1 - 8007da8: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 800834e: 68fb ldr r3, [r7, #12] + 8008350: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 + 8008354: 2b01 cmp r3, #1 + 8008356: d101 bne.n 800835c + 8008358: 2302 movs r3, #2 + 800835a: e0ca b.n 80084f2 + 800835c: 68fb ldr r3, [r7, #12] + 800835e: 2201 movs r2, #1 + 8008360: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Check if STOPF is set */ if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ - 8007dac: 68bb ldr r3, [r7, #8] - 8007dae: 095b lsrs r3, r3, #5 - 8007db0: f003 0301 and.w r3, r3, #1 - 8007db4: 2b00 cmp r3, #0 - 8007db6: d00a beq.n 8007dce + 8008364: 68bb ldr r3, [r7, #8] + 8008366: 095b lsrs r3, r3, #5 + 8008368: f003 0301 and.w r3, r3, #1 + 800836c: 2b00 cmp r3, #0 + 800836e: d00a beq.n 8008386 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) - 8007db8: 687b ldr r3, [r7, #4] - 8007dba: 095b lsrs r3, r3, #5 - 8007dbc: f003 0301 and.w r3, r3, #1 + 8008370: 687b ldr r3, [r7, #4] + 8008372: 095b lsrs r3, r3, #5 + 8008374: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ - 8007dc0: 2b00 cmp r3, #0 - 8007dc2: d004 beq.n 8007dce + 8008378: 2b00 cmp r3, #0 + 800837a: d004 beq.n 8008386 { /* Call I2C Slave complete process */ I2C_ITSlaveCplt(hi2c, ITFlags); - 8007dc4: 68b9 ldr r1, [r7, #8] - 8007dc6: 68f8 ldr r0, [r7, #12] - 8007dc8: f000 faa4 bl 8008314 - 8007dcc: e0b0 b.n 8007f30 + 800837c: 68b9 ldr r1, [r7, #8] + 800837e: 68f8 ldr r0, [r7, #12] + 8008380: f000 faa4 bl 80088cc + 8008384: e0b0 b.n 80084e8 } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ - 8007dce: 68bb ldr r3, [r7, #8] - 8007dd0: 091b lsrs r3, r3, #4 - 8007dd2: f003 0301 and.w r3, r3, #1 - 8007dd6: 2b00 cmp r3, #0 - 8007dd8: f000 809a beq.w 8007f10 + 8008386: 68bb ldr r3, [r7, #8] + 8008388: 091b lsrs r3, r3, #4 + 800838a: f003 0301 and.w r3, r3, #1 + 800838e: 2b00 cmp r3, #0 + 8008390: f000 809a beq.w 80084c8 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) - 8007ddc: 687b ldr r3, [r7, #4] - 8007dde: 091b lsrs r3, r3, #4 - 8007de0: f003 0301 and.w r3, r3, #1 + 8008394: 687b ldr r3, [r7, #4] + 8008396: 091b lsrs r3, r3, #4 + 8008398: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ - 8007de4: 2b00 cmp r3, #0 - 8007de6: f000 8093 beq.w 8007f10 + 800839c: 2b00 cmp r3, #0 + 800839e: f000 8093 beq.w 80084c8 { /* Check that I2C transfer finished */ /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ /* Mean XferCount == 0 */ /* So clear Flag NACKF only */ if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) || - 8007dea: 687b ldr r3, [r7, #4] - 8007dec: 0b9b lsrs r3, r3, #14 - 8007dee: f003 0301 and.w r3, r3, #1 - 8007df2: 2b00 cmp r3, #0 - 8007df4: d105 bne.n 8007e02 + 80083a2: 687b ldr r3, [r7, #4] + 80083a4: 0b9b lsrs r3, r3, #14 + 80083a6: f003 0301 and.w r3, r3, #1 + 80083aa: 2b00 cmp r3, #0 + 80083ac: d105 bne.n 80083ba (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) - 8007df6: 687b ldr r3, [r7, #4] - 8007df8: 0bdb lsrs r3, r3, #15 - 8007dfa: f003 0301 and.w r3, r3, #1 + 80083ae: 687b ldr r3, [r7, #4] + 80083b0: 0bdb lsrs r3, r3, #15 + 80083b2: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) || - 8007dfe: 2b00 cmp r3, #0 - 8007e00: d07f beq.n 8007f02 + 80083b6: 2b00 cmp r3, #0 + 80083b8: d07f beq.n 80084ba { /* Split check of hdmarx, for MISRA compliance */ if (hi2c->hdmarx != NULL) - 8007e02: 68fb ldr r3, [r7, #12] - 8007e04: 6bdb ldr r3, [r3, #60] @ 0x3c - 8007e06: 2b00 cmp r3, #0 - 8007e08: d00d beq.n 8007e26 + 80083ba: 68fb ldr r3, [r7, #12] + 80083bc: 6bdb ldr r3, [r3, #60] @ 0x3c + 80083be: 2b00 cmp r3, #0 + 80083c0: d00d beq.n 80083de { if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET) - 8007e0a: 687b ldr r3, [r7, #4] - 8007e0c: 0bdb lsrs r3, r3, #15 - 8007e0e: f003 0301 and.w r3, r3, #1 - 8007e12: 2b00 cmp r3, #0 - 8007e14: d007 beq.n 8007e26 + 80083c2: 687b ldr r3, [r7, #4] + 80083c4: 0bdb lsrs r3, r3, #15 + 80083c6: f003 0301 and.w r3, r3, #1 + 80083ca: 2b00 cmp r3, #0 + 80083cc: d007 beq.n 80083de { if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) - 8007e16: 68fb ldr r3, [r7, #12] - 8007e18: 6bdb ldr r3, [r3, #60] @ 0x3c - 8007e1a: 681b ldr r3, [r3, #0] - 8007e1c: 685b ldr r3, [r3, #4] - 8007e1e: 2b00 cmp r3, #0 - 8007e20: d101 bne.n 8007e26 + 80083ce: 68fb ldr r3, [r7, #12] + 80083d0: 6bdb ldr r3, [r3, #60] @ 0x3c + 80083d2: 681b ldr r3, [r3, #0] + 80083d4: 685b ldr r3, [r3, #4] + 80083d6: 2b00 cmp r3, #0 + 80083d8: d101 bne.n 80083de { treatdmanack = 1U; - 8007e22: 2301 movs r3, #1 - 8007e24: 61fb str r3, [r7, #28] + 80083da: 2301 movs r3, #1 + 80083dc: 61fb str r3, [r7, #28] } } } /* Split check of hdmatx, for MISRA compliance */ if (hi2c->hdmatx != NULL) - 8007e26: 68fb ldr r3, [r7, #12] - 8007e28: 6b9b ldr r3, [r3, #56] @ 0x38 - 8007e2a: 2b00 cmp r3, #0 - 8007e2c: d00d beq.n 8007e4a + 80083de: 68fb ldr r3, [r7, #12] + 80083e0: 6b9b ldr r3, [r3, #56] @ 0x38 + 80083e2: 2b00 cmp r3, #0 + 80083e4: d00d beq.n 8008402 { if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) - 8007e2e: 687b ldr r3, [r7, #4] - 8007e30: 0b9b lsrs r3, r3, #14 - 8007e32: f003 0301 and.w r3, r3, #1 - 8007e36: 2b00 cmp r3, #0 - 8007e38: d007 beq.n 8007e4a + 80083e6: 687b ldr r3, [r7, #4] + 80083e8: 0b9b lsrs r3, r3, #14 + 80083ea: f003 0301 and.w r3, r3, #1 + 80083ee: 2b00 cmp r3, #0 + 80083f0: d007 beq.n 8008402 { if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U) - 8007e3a: 68fb ldr r3, [r7, #12] - 8007e3c: 6b9b ldr r3, [r3, #56] @ 0x38 - 8007e3e: 681b ldr r3, [r3, #0] - 8007e40: 685b ldr r3, [r3, #4] - 8007e42: 2b00 cmp r3, #0 - 8007e44: d101 bne.n 8007e4a + 80083f2: 68fb ldr r3, [r7, #12] + 80083f4: 6b9b ldr r3, [r3, #56] @ 0x38 + 80083f6: 681b ldr r3, [r3, #0] + 80083f8: 685b ldr r3, [r3, #4] + 80083fa: 2b00 cmp r3, #0 + 80083fc: d101 bne.n 8008402 { treatdmanack = 1U; - 8007e46: 2301 movs r3, #1 - 8007e48: 61fb str r3, [r7, #28] + 80083fe: 2301 movs r3, #1 + 8008400: 61fb str r3, [r7, #28] } } } if (treatdmanack == 1U) - 8007e4a: 69fb ldr r3, [r7, #28] - 8007e4c: 2b01 cmp r3, #1 - 8007e4e: d128 bne.n 8007ea2 + 8008402: 69fb ldr r3, [r7, #28] + 8008404: 2b01 cmp r3, #1 + 8008406: d128 bne.n 800845a { if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) - 8007e50: 68fb ldr r3, [r7, #12] - 8007e52: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007e56: b2db uxtb r3, r3 - 8007e58: 2b28 cmp r3, #40 @ 0x28 - 8007e5a: d108 bne.n 8007e6e - 8007e5c: 69bb ldr r3, [r7, #24] - 8007e5e: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 - 8007e62: d104 bne.n 8007e6e + 8008408: 68fb ldr r3, [r7, #12] + 800840a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 800840e: b2db uxtb r3, r3 + 8008410: 2b28 cmp r3, #40 @ 0x28 + 8008412: d108 bne.n 8008426 + 8008414: 69bb ldr r3, [r7, #24] + 8008416: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 + 800841a: d104 bne.n 8008426 /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for Warning[Pa134]: left and right operands are identical */ { /* Call I2C Listen complete process */ I2C_ITListenCplt(hi2c, ITFlags); - 8007e64: 68b9 ldr r1, [r7, #8] - 8007e66: 68f8 ldr r0, [r7, #12] - 8007e68: f000 fbbe bl 80085e8 - 8007e6c: e048 b.n 8007f00 + 800841c: 68b9 ldr r1, [r7, #8] + 800841e: 68f8 ldr r0, [r7, #12] + 8008420: f000 fbbe bl 8008ba0 + 8008424: e048 b.n 80084b8 } else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)) - 8007e6e: 68fb ldr r3, [r7, #12] - 8007e70: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007e74: b2db uxtb r3, r3 - 8007e76: 2b29 cmp r3, #41 @ 0x29 - 8007e78: d10e bne.n 8007e98 - 8007e7a: 69bb ldr r3, [r7, #24] - 8007e7c: f513 3f80 cmn.w r3, #65536 @ 0x10000 - 8007e80: d00a beq.n 8007e98 + 8008426: 68fb ldr r3, [r7, #12] + 8008428: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 800842c: b2db uxtb r3, r3 + 800842e: 2b29 cmp r3, #41 @ 0x29 + 8008430: d10e bne.n 8008450 + 8008432: 69bb ldr r3, [r7, #24] + 8008434: f513 3f80 cmn.w r3, #65536 @ 0x10000 + 8008438: d00a beq.n 8008450 { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 8007e82: 68fb ldr r3, [r7, #12] - 8007e84: 681b ldr r3, [r3, #0] - 8007e86: 2210 movs r2, #16 - 8007e88: 61da str r2, [r3, #28] + 800843a: 68fb ldr r3, [r7, #12] + 800843c: 681b ldr r3, [r3, #0] + 800843e: 2210 movs r2, #16 + 8008440: 61da str r2, [r3, #28] /* Flush TX register */ I2C_Flush_TXDR(hi2c); - 8007e8a: 68f8 ldr r0, [r7, #12] - 8007e8c: f000 fd19 bl 80088c2 + 8008442: 68f8 ldr r0, [r7, #12] + 8008444: f000 fd19 bl 8008e7a /* Last Byte is Transmitted */ /* Call I2C Slave Sequential complete process */ I2C_ITSlaveSeqCplt(hi2c); - 8007e90: 68f8 ldr r0, [r7, #12] - 8007e92: f000 f917 bl 80080c4 - 8007e96: e033 b.n 8007f00 + 8008448: 68f8 ldr r0, [r7, #12] + 800844a: f000 f917 bl 800867c + 800844e: e033 b.n 80084b8 } else { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 8007e98: 68fb ldr r3, [r7, #12] - 8007e9a: 681b ldr r3, [r3, #0] - 8007e9c: 2210 movs r2, #16 - 8007e9e: 61da str r2, [r3, #28] + 8008450: 68fb ldr r3, [r7, #12] + 8008452: 681b ldr r3, [r3, #0] + 8008454: 2210 movs r2, #16 + 8008456: 61da str r2, [r3, #28] if (treatdmanack == 1U) - 8007ea0: e034 b.n 8007f0c + 8008458: e034 b.n 80084c4 } else { /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 8007ea2: 68fb ldr r3, [r7, #12] - 8007ea4: 681b ldr r3, [r3, #0] - 8007ea6: 2210 movs r2, #16 - 8007ea8: 61da str r2, [r3, #28] + 800845a: 68fb ldr r3, [r7, #12] + 800845c: 681b ldr r3, [r3, #0] + 800845e: 2210 movs r2, #16 + 8008460: 61da str r2, [r3, #28] /* Set ErrorCode corresponding to a Non-Acknowledge */ hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 8007eaa: 68fb ldr r3, [r7, #12] - 8007eac: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007eae: f043 0204 orr.w r2, r3, #4 - 8007eb2: 68fb ldr r3, [r7, #12] - 8007eb4: 645a str r2, [r3, #68] @ 0x44 + 8008462: 68fb ldr r3, [r7, #12] + 8008464: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008466: f043 0204 orr.w r2, r3, #4 + 800846a: 68fb ldr r3, [r7, #12] + 800846c: 645a str r2, [r3, #68] @ 0x44 /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */ tmpstate = hi2c->State; - 8007eb6: 68fb ldr r3, [r7, #12] - 8007eb8: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007ebc: 75fb strb r3, [r7, #23] + 800846e: 68fb ldr r3, [r7, #12] + 8008470: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008474: 75fb strb r3, [r7, #23] if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) - 8007ebe: 69bb ldr r3, [r7, #24] - 8007ec0: 2b00 cmp r3, #0 - 8007ec2: d003 beq.n 8007ecc - 8007ec4: 69bb ldr r3, [r7, #24] - 8007ec6: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 - 8007eca: d11f bne.n 8007f0c + 8008476: 69bb ldr r3, [r7, #24] + 8008478: 2b00 cmp r3, #0 + 800847a: d003 beq.n 8008484 + 800847c: 69bb ldr r3, [r7, #24] + 800847e: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 + 8008482: d11f bne.n 80084c4 { if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN)) - 8007ecc: 7dfb ldrb r3, [r7, #23] - 8007ece: 2b21 cmp r3, #33 @ 0x21 - 8007ed0: d002 beq.n 8007ed8 - 8007ed2: 7dfb ldrb r3, [r7, #23] - 8007ed4: 2b29 cmp r3, #41 @ 0x29 - 8007ed6: d103 bne.n 8007ee0 + 8008484: 7dfb ldrb r3, [r7, #23] + 8008486: 2b21 cmp r3, #33 @ 0x21 + 8008488: d002 beq.n 8008490 + 800848a: 7dfb ldrb r3, [r7, #23] + 800848c: 2b29 cmp r3, #41 @ 0x29 + 800848e: d103 bne.n 8008498 { hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; - 8007ed8: 68fb ldr r3, [r7, #12] - 8007eda: 2221 movs r2, #33 @ 0x21 - 8007edc: 631a str r2, [r3, #48] @ 0x30 - 8007ede: e008 b.n 8007ef2 + 8008490: 68fb ldr r3, [r7, #12] + 8008492: 2221 movs r2, #33 @ 0x21 + 8008494: 631a str r2, [r3, #48] @ 0x30 + 8008496: e008 b.n 80084aa } else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) - 8007ee0: 7dfb ldrb r3, [r7, #23] - 8007ee2: 2b22 cmp r3, #34 @ 0x22 - 8007ee4: d002 beq.n 8007eec - 8007ee6: 7dfb ldrb r3, [r7, #23] - 8007ee8: 2b2a cmp r3, #42 @ 0x2a - 8007eea: d102 bne.n 8007ef2 + 8008498: 7dfb ldrb r3, [r7, #23] + 800849a: 2b22 cmp r3, #34 @ 0x22 + 800849c: d002 beq.n 80084a4 + 800849e: 7dfb ldrb r3, [r7, #23] + 80084a0: 2b2a cmp r3, #42 @ 0x2a + 80084a2: d102 bne.n 80084aa { hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; - 8007eec: 68fb ldr r3, [r7, #12] - 8007eee: 2222 movs r2, #34 @ 0x22 - 8007ef0: 631a str r2, [r3, #48] @ 0x30 + 80084a4: 68fb ldr r3, [r7, #12] + 80084a6: 2222 movs r2, #34 @ 0x22 + 80084a8: 631a str r2, [r3, #48] @ 0x30 { /* Do nothing */ } /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, hi2c->ErrorCode); - 8007ef2: 68fb ldr r3, [r7, #12] - 8007ef4: 6c5b ldr r3, [r3, #68] @ 0x44 - 8007ef6: 4619 mov r1, r3 - 8007ef8: 68f8 ldr r0, [r7, #12] - 8007efa: f000 fbcb bl 8008694 + 80084aa: 68fb ldr r3, [r7, #12] + 80084ac: 6c5b ldr r3, [r3, #68] @ 0x44 + 80084ae: 4619 mov r1, r3 + 80084b0: 68f8 ldr r0, [r7, #12] + 80084b2: f000 fbcb bl 8008c4c if (treatdmanack == 1U) - 8007efe: e005 b.n 8007f0c - 8007f00: e004 b.n 8007f0c + 80084b6: e005 b.n 80084c4 + 80084b8: e004 b.n 80084c4 } } else { /* Only Clear NACK Flag, no DMA treatment is pending */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 8007f02: 68fb ldr r3, [r7, #12] - 8007f04: 681b ldr r3, [r3, #0] - 8007f06: 2210 movs r2, #16 - 8007f08: 61da str r2, [r3, #28] + 80084ba: 68fb ldr r3, [r7, #12] + 80084bc: 681b ldr r3, [r3, #0] + 80084be: 2210 movs r2, #16 + 80084c0: 61da str r2, [r3, #28] if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) || - 8007f0a: e011 b.n 8007f30 + 80084c2: e011 b.n 80084e8 if (treatdmanack == 1U) - 8007f0c: bf00 nop + 80084c4: bf00 nop if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) || - 8007f0e: e00f b.n 8007f30 + 80084c6: e00f b.n 80084e8 } } else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \ - 8007f10: 68bb ldr r3, [r7, #8] - 8007f12: 08db lsrs r3, r3, #3 - 8007f14: f003 0301 and.w r3, r3, #1 - 8007f18: 2b00 cmp r3, #0 - 8007f1a: d009 beq.n 8007f30 + 80084c8: 68bb ldr r3, [r7, #8] + 80084ca: 08db lsrs r3, r3, #3 + 80084cc: f003 0301 and.w r3, r3, #1 + 80084d0: 2b00 cmp r3, #0 + 80084d2: d009 beq.n 80084e8 (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) - 8007f1c: 687b ldr r3, [r7, #4] - 8007f1e: 08db lsrs r3, r3, #3 - 8007f20: f003 0301 and.w r3, r3, #1 + 80084d4: 687b ldr r3, [r7, #4] + 80084d6: 08db lsrs r3, r3, #3 + 80084d8: f003 0301 and.w r3, r3, #1 else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \ - 8007f24: 2b00 cmp r3, #0 - 8007f26: d003 beq.n 8007f30 + 80084dc: 2b00 cmp r3, #0 + 80084de: d003 beq.n 80084e8 { I2C_ITAddrCplt(hi2c, ITFlags); - 8007f28: 68b9 ldr r1, [r7, #8] - 8007f2a: 68f8 ldr r0, [r7, #12] - 8007f2c: f000 f809 bl 8007f42 + 80084e0: 68b9 ldr r1, [r7, #8] + 80084e2: 68f8 ldr r0, [r7, #12] + 80084e4: f000 f809 bl 80084fa { /* Nothing to do */ } /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8007f30: 68fb ldr r3, [r7, #12] - 8007f32: 2200 movs r2, #0 - 8007f34: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80084e8: 68fb ldr r3, [r7, #12] + 80084ea: 2200 movs r2, #0 + 80084ec: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_OK; - 8007f38: 2300 movs r3, #0 + 80084f0: 2300 movs r3, #0 } - 8007f3a: 4618 mov r0, r3 - 8007f3c: 3720 adds r7, #32 - 8007f3e: 46bd mov sp, r7 - 8007f40: bd80 pop {r7, pc} + 80084f2: 4618 mov r0, r3 + 80084f4: 3720 adds r7, #32 + 80084f6: 46bd mov sp, r7 + 80084f8: bd80 pop {r7, pc} -08007f42 : +080084fa : * @param hi2c I2C handle. * @param ITFlags Interrupt flags to handle. * @retval None */ static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) { - 8007f42: b580 push {r7, lr} - 8007f44: b084 sub sp, #16 - 8007f46: af00 add r7, sp, #0 - 8007f48: 6078 str r0, [r7, #4] - 8007f4a: 6039 str r1, [r7, #0] + 80084fa: b580 push {r7, lr} + 80084fc: b084 sub sp, #16 + 80084fe: af00 add r7, sp, #0 + 8008500: 6078 str r0, [r7, #4] + 8008502: 6039 str r1, [r7, #0] /* Prevent unused argument(s) compilation warning */ UNUSED(ITFlags); /* In case of Listen state, need to inform upper layer of address match code event */ if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) - 8007f4c: 687b ldr r3, [r7, #4] - 8007f4e: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8007f52: b2db uxtb r3, r3 - 8007f54: f003 0328 and.w r3, r3, #40 @ 0x28 - 8007f58: 2b28 cmp r3, #40 @ 0x28 - 8007f5a: d16a bne.n 8008032 + 8008504: 687b ldr r3, [r7, #4] + 8008506: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 800850a: b2db uxtb r3, r3 + 800850c: f003 0328 and.w r3, r3, #40 @ 0x28 + 8008510: 2b28 cmp r3, #40 @ 0x28 + 8008512: d16a bne.n 80085ea { transferdirection = I2C_GET_DIR(hi2c); - 8007f5c: 687b ldr r3, [r7, #4] - 8007f5e: 681b ldr r3, [r3, #0] - 8007f60: 699b ldr r3, [r3, #24] - 8007f62: 0c1b lsrs r3, r3, #16 - 8007f64: b2db uxtb r3, r3 - 8007f66: f003 0301 and.w r3, r3, #1 - 8007f6a: 73fb strb r3, [r7, #15] + 8008514: 687b ldr r3, [r7, #4] + 8008516: 681b ldr r3, [r3, #0] + 8008518: 699b ldr r3, [r3, #24] + 800851a: 0c1b lsrs r3, r3, #16 + 800851c: b2db uxtb r3, r3 + 800851e: f003 0301 and.w r3, r3, #1 + 8008522: 73fb strb r3, [r7, #15] slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); - 8007f6c: 687b ldr r3, [r7, #4] - 8007f6e: 681b ldr r3, [r3, #0] - 8007f70: 699b ldr r3, [r3, #24] - 8007f72: 0c1b lsrs r3, r3, #16 - 8007f74: b29b uxth r3, r3 - 8007f76: f003 03fe and.w r3, r3, #254 @ 0xfe - 8007f7a: 81bb strh r3, [r7, #12] + 8008524: 687b ldr r3, [r7, #4] + 8008526: 681b ldr r3, [r3, #0] + 8008528: 699b ldr r3, [r3, #24] + 800852a: 0c1b lsrs r3, r3, #16 + 800852c: b29b uxth r3, r3 + 800852e: f003 03fe and.w r3, r3, #254 @ 0xfe + 8008532: 81bb strh r3, [r7, #12] ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); - 8007f7c: 687b ldr r3, [r7, #4] - 8007f7e: 681b ldr r3, [r3, #0] - 8007f80: 689b ldr r3, [r3, #8] - 8007f82: b29b uxth r3, r3 - 8007f84: f3c3 0309 ubfx r3, r3, #0, #10 - 8007f88: 817b strh r3, [r7, #10] + 8008534: 687b ldr r3, [r7, #4] + 8008536: 681b ldr r3, [r3, #0] + 8008538: 689b ldr r3, [r3, #8] + 800853a: b29b uxth r3, r3 + 800853c: f3c3 0309 ubfx r3, r3, #0, #10 + 8008540: 817b strh r3, [r7, #10] ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); - 8007f8a: 687b ldr r3, [r7, #4] - 8007f8c: 681b ldr r3, [r3, #0] - 8007f8e: 68db ldr r3, [r3, #12] - 8007f90: b29b uxth r3, r3 - 8007f92: f003 03fe and.w r3, r3, #254 @ 0xfe - 8007f96: 813b strh r3, [r7, #8] + 8008542: 687b ldr r3, [r7, #4] + 8008544: 681b ldr r3, [r3, #0] + 8008546: 68db ldr r3, [r3, #12] + 8008548: b29b uxth r3, r3 + 800854a: f003 03fe and.w r3, r3, #254 @ 0xfe + 800854e: 813b strh r3, [r7, #8] /* If 10bits addressing mode is selected */ if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) - 8007f98: 687b ldr r3, [r7, #4] - 8007f9a: 68db ldr r3, [r3, #12] - 8007f9c: 2b02 cmp r3, #2 - 8007f9e: d138 bne.n 8008012 + 8008550: 687b ldr r3, [r7, #4] + 8008552: 68db ldr r3, [r3, #12] + 8008554: 2b02 cmp r3, #2 + 8008556: d138 bne.n 80085ca { if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK)) - 8007fa0: 897b ldrh r3, [r7, #10] - 8007fa2: 09db lsrs r3, r3, #7 - 8007fa4: b29a uxth r2, r3 - 8007fa6: 89bb ldrh r3, [r7, #12] - 8007fa8: 4053 eors r3, r2 - 8007faa: b29b uxth r3, r3 - 8007fac: f003 0306 and.w r3, r3, #6 - 8007fb0: 2b00 cmp r3, #0 - 8007fb2: d11c bne.n 8007fee + 8008558: 897b ldrh r3, [r7, #10] + 800855a: 09db lsrs r3, r3, #7 + 800855c: b29a uxth r2, r3 + 800855e: 89bb ldrh r3, [r7, #12] + 8008560: 4053 eors r3, r2 + 8008562: b29b uxth r3, r3 + 8008564: f003 0306 and.w r3, r3, #6 + 8008568: 2b00 cmp r3, #0 + 800856a: d11c bne.n 80085a6 { slaveaddrcode = ownadd1code; - 8007fb4: 897b ldrh r3, [r7, #10] - 8007fb6: 81bb strh r3, [r7, #12] + 800856c: 897b ldrh r3, [r7, #10] + 800856e: 81bb strh r3, [r7, #12] hi2c->AddrEventCount++; - 8007fb8: 687b ldr r3, [r7, #4] - 8007fba: 6c9b ldr r3, [r3, #72] @ 0x48 - 8007fbc: 1c5a adds r2, r3, #1 - 8007fbe: 687b ldr r3, [r7, #4] - 8007fc0: 649a str r2, [r3, #72] @ 0x48 + 8008570: 687b ldr r3, [r7, #4] + 8008572: 6c9b ldr r3, [r3, #72] @ 0x48 + 8008574: 1c5a adds r2, r3, #1 + 8008576: 687b ldr r3, [r7, #4] + 8008578: 649a str r2, [r3, #72] @ 0x48 if (hi2c->AddrEventCount == 2U) - 8007fc2: 687b ldr r3, [r7, #4] - 8007fc4: 6c9b ldr r3, [r3, #72] @ 0x48 - 8007fc6: 2b02 cmp r3, #2 - 8007fc8: d13b bne.n 8008042 + 800857a: 687b ldr r3, [r7, #4] + 800857c: 6c9b ldr r3, [r3, #72] @ 0x48 + 800857e: 2b02 cmp r3, #2 + 8008580: d13b bne.n 80085fa { /* Reset Address Event counter */ hi2c->AddrEventCount = 0U; - 8007fca: 687b ldr r3, [r7, #4] - 8007fcc: 2200 movs r2, #0 - 8007fce: 649a str r2, [r3, #72] @ 0x48 + 8008582: 687b ldr r3, [r7, #4] + 8008584: 2200 movs r2, #0 + 8008586: 649a str r2, [r3, #72] @ 0x48 /* Clear ADDR flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); - 8007fd0: 687b ldr r3, [r7, #4] - 8007fd2: 681b ldr r3, [r3, #0] - 8007fd4: 2208 movs r2, #8 - 8007fd6: 61da str r2, [r3, #28] + 8008588: 687b ldr r3, [r7, #4] + 800858a: 681b ldr r3, [r3, #0] + 800858c: 2208 movs r2, #8 + 800858e: 61da str r2, [r3, #28] /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8007fd8: 687b ldr r3, [r7, #4] - 8007fda: 2200 movs r2, #0 - 8007fdc: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008590: 687b ldr r3, [r7, #4] + 8008592: 2200 movs r2, #0 + 8008594: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Call Slave Addr callback */ #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); #else HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); - 8007fe0: 89ba ldrh r2, [r7, #12] - 8007fe2: 7bfb ldrb r3, [r7, #15] - 8007fe4: 4619 mov r1, r3 - 8007fe6: 6878 ldr r0, [r7, #4] - 8007fe8: f7ff fb75 bl 80076d6 + 8008598: 89ba ldrh r2, [r7, #12] + 800859a: 7bfb ldrb r3, [r7, #15] + 800859c: 4619 mov r1, r3 + 800859e: 6878 ldr r0, [r7, #4] + 80085a0: f7ff fb75 bl 8007c8e __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); /* Process Unlocked */ __HAL_UNLOCK(hi2c); } } - 8007fec: e029 b.n 8008042 + 80085a4: e029 b.n 80085fa slaveaddrcode = ownadd2code; - 8007fee: 893b ldrh r3, [r7, #8] - 8007ff0: 81bb strh r3, [r7, #12] + 80085a6: 893b ldrh r3, [r7, #8] + 80085a8: 81bb strh r3, [r7, #12] I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); - 8007ff2: f44f 4100 mov.w r1, #32768 @ 0x8000 - 8007ff6: 6878 ldr r0, [r7, #4] - 8007ff8: f000 fe08 bl 8008c0c + 80085aa: f44f 4100 mov.w r1, #32768 @ 0x8000 + 80085ae: 6878 ldr r0, [r7, #4] + 80085b0: f000 fe08 bl 80091c4 __HAL_UNLOCK(hi2c); - 8007ffc: 687b ldr r3, [r7, #4] - 8007ffe: 2200 movs r2, #0 - 8008000: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80085b4: 687b ldr r3, [r7, #4] + 80085b6: 2200 movs r2, #0 + 80085b8: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); - 8008004: 89ba ldrh r2, [r7, #12] - 8008006: 7bfb ldrb r3, [r7, #15] - 8008008: 4619 mov r1, r3 - 800800a: 6878 ldr r0, [r7, #4] - 800800c: f7ff fb63 bl 80076d6 + 80085bc: 89ba ldrh r2, [r7, #12] + 80085be: 7bfb ldrb r3, [r7, #15] + 80085c0: 4619 mov r1, r3 + 80085c2: 6878 ldr r0, [r7, #4] + 80085c4: f7ff fb63 bl 8007c8e } - 8008010: e017 b.n 8008042 + 80085c8: e017 b.n 80085fa I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); - 8008012: f44f 4100 mov.w r1, #32768 @ 0x8000 - 8008016: 6878 ldr r0, [r7, #4] - 8008018: f000 fdf8 bl 8008c0c + 80085ca: f44f 4100 mov.w r1, #32768 @ 0x8000 + 80085ce: 6878 ldr r0, [r7, #4] + 80085d0: f000 fdf8 bl 80091c4 __HAL_UNLOCK(hi2c); - 800801c: 687b ldr r3, [r7, #4] - 800801e: 2200 movs r2, #0 - 8008020: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80085d4: 687b ldr r3, [r7, #4] + 80085d6: 2200 movs r2, #0 + 80085d8: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); - 8008024: 89ba ldrh r2, [r7, #12] - 8008026: 7bfb ldrb r3, [r7, #15] - 8008028: 4619 mov r1, r3 - 800802a: 6878 ldr r0, [r7, #4] - 800802c: f7ff fb53 bl 80076d6 + 80085dc: 89ba ldrh r2, [r7, #12] + 80085de: 7bfb ldrb r3, [r7, #15] + 80085e0: 4619 mov r1, r3 + 80085e2: 6878 ldr r0, [r7, #4] + 80085e4: f7ff fb53 bl 8007c8e } - 8008030: e007 b.n 8008042 + 80085e8: e007 b.n 80085fa __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); - 8008032: 687b ldr r3, [r7, #4] - 8008034: 681b ldr r3, [r3, #0] - 8008036: 2208 movs r2, #8 - 8008038: 61da str r2, [r3, #28] + 80085ea: 687b ldr r3, [r7, #4] + 80085ec: 681b ldr r3, [r3, #0] + 80085ee: 2208 movs r2, #8 + 80085f0: 61da str r2, [r3, #28] __HAL_UNLOCK(hi2c); - 800803a: 687b ldr r3, [r7, #4] - 800803c: 2200 movs r2, #0 - 800803e: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80085f2: 687b ldr r3, [r7, #4] + 80085f4: 2200 movs r2, #0 + 80085f6: f883 2040 strb.w r2, [r3, #64] @ 0x40 } - 8008042: bf00 nop - 8008044: 3710 adds r7, #16 - 8008046: 46bd mov sp, r7 - 8008048: bd80 pop {r7, pc} + 80085fa: bf00 nop + 80085fc: 3710 adds r7, #16 + 80085fe: 46bd mov sp, r7 + 8008600: bd80 pop {r7, pc} -0800804a : +08008602 : * @brief I2C Master sequential complete process. * @param hi2c I2C handle. * @retval None */ static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c) { - 800804a: b580 push {r7, lr} - 800804c: b082 sub sp, #8 - 800804e: af00 add r7, sp, #0 - 8008050: 6078 str r0, [r7, #4] + 8008602: b580 push {r7, lr} + 8008604: b082 sub sp, #8 + 8008606: af00 add r7, sp, #0 + 8008608: 6078 str r0, [r7, #4] /* Reset I2C handle mode */ hi2c->Mode = HAL_I2C_MODE_NONE; - 8008052: 687b ldr r3, [r7, #4] - 8008054: 2200 movs r2, #0 - 8008056: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 800860a: 687b ldr r3, [r7, #4] + 800860c: 2200 movs r2, #0 + 800860e: f883 2042 strb.w r2, [r3, #66] @ 0x42 /* No Generate Stop, to permit restart mode */ /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */ if (hi2c->State == HAL_I2C_STATE_BUSY_TX) - 800805a: 687b ldr r3, [r7, #4] - 800805c: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008060: b2db uxtb r3, r3 - 8008062: 2b21 cmp r3, #33 @ 0x21 - 8008064: d115 bne.n 8008092 + 8008612: 687b ldr r3, [r7, #4] + 8008614: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008618: b2db uxtb r3, r3 + 800861a: 2b21 cmp r3, #33 @ 0x21 + 800861c: d115 bne.n 800864a { hi2c->State = HAL_I2C_STATE_READY; - 8008066: 687b ldr r3, [r7, #4] - 8008068: 2220 movs r2, #32 - 800806a: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800861e: 687b ldr r3, [r7, #4] + 8008620: 2220 movs r2, #32 + 8008622: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; - 800806e: 687b ldr r3, [r7, #4] - 8008070: 2211 movs r2, #17 - 8008072: 631a str r2, [r3, #48] @ 0x30 + 8008626: 687b ldr r3, [r7, #4] + 8008628: 2211 movs r2, #17 + 800862a: 631a str r2, [r3, #48] @ 0x30 hi2c->XferISR = NULL; - 8008074: 687b ldr r3, [r7, #4] - 8008076: 2200 movs r2, #0 - 8008078: 635a str r2, [r3, #52] @ 0x34 + 800862c: 687b ldr r3, [r7, #4] + 800862e: 2200 movs r2, #0 + 8008630: 635a str r2, [r3, #52] @ 0x34 /* Disable Interrupts */ I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); - 800807a: 2101 movs r1, #1 - 800807c: 6878 ldr r0, [r7, #4] - 800807e: f000 fdc5 bl 8008c0c + 8008632: 2101 movs r1, #1 + 8008634: 6878 ldr r0, [r7, #4] + 8008636: f000 fdc5 bl 80091c4 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8008082: 687b ldr r3, [r7, #4] - 8008084: 2200 movs r2, #0 - 8008086: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 800863a: 687b ldr r3, [r7, #4] + 800863c: 2200 movs r2, #0 + 800863e: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) hi2c->MasterTxCpltCallback(hi2c); #else HAL_I2C_MasterTxCpltCallback(hi2c); - 800808a: 6878 ldr r0, [r7, #4] - 800808c: f7ff fafb bl 8007686 + 8008642: 6878 ldr r0, [r7, #4] + 8008644: f7ff fafb bl 8007c3e hi2c->MasterRxCpltCallback(hi2c); #else HAL_I2C_MasterRxCpltCallback(hi2c); #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ } } - 8008090: e014 b.n 80080bc + 8008648: e014 b.n 8008674 hi2c->State = HAL_I2C_STATE_READY; - 8008092: 687b ldr r3, [r7, #4] - 8008094: 2220 movs r2, #32 - 8008096: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800864a: 687b ldr r3, [r7, #4] + 800864c: 2220 movs r2, #32 + 800864e: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; - 800809a: 687b ldr r3, [r7, #4] - 800809c: 2212 movs r2, #18 - 800809e: 631a str r2, [r3, #48] @ 0x30 + 8008652: 687b ldr r3, [r7, #4] + 8008654: 2212 movs r2, #18 + 8008656: 631a str r2, [r3, #48] @ 0x30 hi2c->XferISR = NULL; - 80080a0: 687b ldr r3, [r7, #4] - 80080a2: 2200 movs r2, #0 - 80080a4: 635a str r2, [r3, #52] @ 0x34 + 8008658: 687b ldr r3, [r7, #4] + 800865a: 2200 movs r2, #0 + 800865c: 635a str r2, [r3, #52] @ 0x34 I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); - 80080a6: 2102 movs r1, #2 - 80080a8: 6878 ldr r0, [r7, #4] - 80080aa: f000 fdaf bl 8008c0c + 800865e: 2102 movs r1, #2 + 8008660: 6878 ldr r0, [r7, #4] + 8008662: f000 fdaf bl 80091c4 __HAL_UNLOCK(hi2c); - 80080ae: 687b ldr r3, [r7, #4] - 80080b0: 2200 movs r2, #0 - 80080b2: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008666: 687b ldr r3, [r7, #4] + 8008668: 2200 movs r2, #0 + 800866a: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_MasterRxCpltCallback(hi2c); - 80080b6: 6878 ldr r0, [r7, #4] - 80080b8: f7ff faef bl 800769a + 800866e: 6878 ldr r0, [r7, #4] + 8008670: f7ff faef bl 8007c52 } - 80080bc: bf00 nop - 80080be: 3708 adds r7, #8 - 80080c0: 46bd mov sp, r7 - 80080c2: bd80 pop {r7, pc} + 8008674: bf00 nop + 8008676: 3708 adds r7, #8 + 8008678: 46bd mov sp, r7 + 800867a: bd80 pop {r7, pc} -080080c4 : +0800867c : * @brief I2C Slave sequential complete process. * @param hi2c I2C handle. * @retval None */ static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c) { - 80080c4: b580 push {r7, lr} - 80080c6: b084 sub sp, #16 - 80080c8: af00 add r7, sp, #0 - 80080ca: 6078 str r0, [r7, #4] + 800867c: b580 push {r7, lr} + 800867e: b084 sub sp, #16 + 8008680: af00 add r7, sp, #0 + 8008682: 6078 str r0, [r7, #4] uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); - 80080cc: 687b ldr r3, [r7, #4] - 80080ce: 681b ldr r3, [r3, #0] - 80080d0: 681b ldr r3, [r3, #0] - 80080d2: 60fb str r3, [r7, #12] + 8008684: 687b ldr r3, [r7, #4] + 8008686: 681b ldr r3, [r3, #0] + 8008688: 681b ldr r3, [r3, #0] + 800868a: 60fb str r3, [r7, #12] /* Reset I2C handle mode */ hi2c->Mode = HAL_I2C_MODE_NONE; - 80080d4: 687b ldr r3, [r7, #4] - 80080d6: 2200 movs r2, #0 - 80080d8: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 800868c: 687b ldr r3, [r7, #4] + 800868e: 2200 movs r2, #0 + 8008690: f883 2042 strb.w r2, [r3, #66] @ 0x42 #if defined(HAL_DMA_MODULE_ENABLED) /* If a DMA is ongoing, Update handle size context */ if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET) - 80080dc: 68fb ldr r3, [r7, #12] - 80080de: 0b9b lsrs r3, r3, #14 - 80080e0: f003 0301 and.w r3, r3, #1 - 80080e4: 2b00 cmp r3, #0 - 80080e6: d008 beq.n 80080fa + 8008694: 68fb ldr r3, [r7, #12] + 8008696: 0b9b lsrs r3, r3, #14 + 8008698: f003 0301 and.w r3, r3, #1 + 800869c: 2b00 cmp r3, #0 + 800869e: d008 beq.n 80086b2 { /* Disable DMA Request */ hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; - 80080e8: 687b ldr r3, [r7, #4] - 80080ea: 681b ldr r3, [r3, #0] - 80080ec: 681a ldr r2, [r3, #0] - 80080ee: 687b ldr r3, [r7, #4] - 80080f0: 681b ldr r3, [r3, #0] - 80080f2: f422 4280 bic.w r2, r2, #16384 @ 0x4000 - 80080f6: 601a str r2, [r3, #0] - 80080f8: e00d b.n 8008116 + 80086a0: 687b ldr r3, [r7, #4] + 80086a2: 681b ldr r3, [r3, #0] + 80086a4: 681a ldr r2, [r3, #0] + 80086a6: 687b ldr r3, [r7, #4] + 80086a8: 681b ldr r3, [r3, #0] + 80086aa: f422 4280 bic.w r2, r2, #16384 @ 0x4000 + 80086ae: 601a str r2, [r3, #0] + 80086b0: e00d b.n 80086ce } else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET) - 80080fa: 68fb ldr r3, [r7, #12] - 80080fc: 0bdb lsrs r3, r3, #15 - 80080fe: f003 0301 and.w r3, r3, #1 - 8008102: 2b00 cmp r3, #0 - 8008104: d007 beq.n 8008116 + 80086b2: 68fb ldr r3, [r7, #12] + 80086b4: 0bdb lsrs r3, r3, #15 + 80086b6: f003 0301 and.w r3, r3, #1 + 80086ba: 2b00 cmp r3, #0 + 80086bc: d007 beq.n 80086ce { /* Disable DMA Request */ hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; - 8008106: 687b ldr r3, [r7, #4] - 8008108: 681b ldr r3, [r3, #0] - 800810a: 681a ldr r2, [r3, #0] - 800810c: 687b ldr r3, [r7, #4] - 800810e: 681b ldr r3, [r3, #0] - 8008110: f422 4200 bic.w r2, r2, #32768 @ 0x8000 - 8008114: 601a str r2, [r3, #0] + 80086be: 687b ldr r3, [r7, #4] + 80086c0: 681b ldr r3, [r3, #0] + 80086c2: 681a ldr r2, [r3, #0] + 80086c4: 687b ldr r3, [r7, #4] + 80086c6: 681b ldr r3, [r3, #0] + 80086c8: f422 4200 bic.w r2, r2, #32768 @ 0x8000 + 80086cc: 601a str r2, [r3, #0] { /* Do nothing */ } #endif /* HAL_DMA_MODULE_ENABLED */ if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) - 8008116: 687b ldr r3, [r7, #4] - 8008118: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 800811c: b2db uxtb r3, r3 - 800811e: 2b29 cmp r3, #41 @ 0x29 - 8008120: d112 bne.n 8008148 + 80086ce: 687b ldr r3, [r7, #4] + 80086d0: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 80086d4: b2db uxtb r3, r3 + 80086d6: 2b29 cmp r3, #41 @ 0x29 + 80086d8: d112 bne.n 8008700 { /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */ hi2c->State = HAL_I2C_STATE_LISTEN; - 8008122: 687b ldr r3, [r7, #4] - 8008124: 2228 movs r2, #40 @ 0x28 - 8008126: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 80086da: 687b ldr r3, [r7, #4] + 80086dc: 2228 movs r2, #40 @ 0x28 + 80086de: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; - 800812a: 687b ldr r3, [r7, #4] - 800812c: 2221 movs r2, #33 @ 0x21 - 800812e: 631a str r2, [r3, #48] @ 0x30 + 80086e2: 687b ldr r3, [r7, #4] + 80086e4: 2221 movs r2, #33 @ 0x21 + 80086e6: 631a str r2, [r3, #48] @ 0x30 /* Disable Interrupts */ I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); - 8008130: 2101 movs r1, #1 - 8008132: 6878 ldr r0, [r7, #4] - 8008134: f000 fd6a bl 8008c0c + 80086e8: 2101 movs r1, #1 + 80086ea: 6878 ldr r0, [r7, #4] + 80086ec: f000 fd6a bl 80091c4 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8008138: 687b ldr r3, [r7, #4] - 800813a: 2200 movs r2, #0 - 800813c: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80086f0: 687b ldr r3, [r7, #4] + 80086f2: 2200 movs r2, #0 + 80086f4: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) hi2c->SlaveTxCpltCallback(hi2c); #else HAL_I2C_SlaveTxCpltCallback(hi2c); - 8008140: 6878 ldr r0, [r7, #4] - 8008142: f7ff fab4 bl 80076ae + 80086f8: 6878 ldr r0, [r7, #4] + 80086fa: f7ff fab4 bl 8007c66 } else { /* Nothing to do */ } } - 8008146: e017 b.n 8008178 + 80086fe: e017 b.n 8008730 else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) - 8008148: 687b ldr r3, [r7, #4] - 800814a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 800814e: b2db uxtb r3, r3 - 8008150: 2b2a cmp r3, #42 @ 0x2a - 8008152: d111 bne.n 8008178 + 8008700: 687b ldr r3, [r7, #4] + 8008702: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008706: b2db uxtb r3, r3 + 8008708: 2b2a cmp r3, #42 @ 0x2a + 800870a: d111 bne.n 8008730 hi2c->State = HAL_I2C_STATE_LISTEN; - 8008154: 687b ldr r3, [r7, #4] - 8008156: 2228 movs r2, #40 @ 0x28 - 8008158: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800870c: 687b ldr r3, [r7, #4] + 800870e: 2228 movs r2, #40 @ 0x28 + 8008710: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; - 800815c: 687b ldr r3, [r7, #4] - 800815e: 2222 movs r2, #34 @ 0x22 - 8008160: 631a str r2, [r3, #48] @ 0x30 + 8008714: 687b ldr r3, [r7, #4] + 8008716: 2222 movs r2, #34 @ 0x22 + 8008718: 631a str r2, [r3, #48] @ 0x30 I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); - 8008162: 2102 movs r1, #2 - 8008164: 6878 ldr r0, [r7, #4] - 8008166: f000 fd51 bl 8008c0c + 800871a: 2102 movs r1, #2 + 800871c: 6878 ldr r0, [r7, #4] + 800871e: f000 fd51 bl 80091c4 __HAL_UNLOCK(hi2c); - 800816a: 687b ldr r3, [r7, #4] - 800816c: 2200 movs r2, #0 - 800816e: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008722: 687b ldr r3, [r7, #4] + 8008724: 2200 movs r2, #0 + 8008726: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_SlaveRxCpltCallback(hi2c); - 8008172: 6878 ldr r0, [r7, #4] - 8008174: f7ff faa5 bl 80076c2 + 800872a: 6878 ldr r0, [r7, #4] + 800872c: f7ff faa5 bl 8007c7a } - 8008178: bf00 nop - 800817a: 3710 adds r7, #16 - 800817c: 46bd mov sp, r7 - 800817e: bd80 pop {r7, pc} + 8008730: bf00 nop + 8008732: 3710 adds r7, #16 + 8008734: 46bd mov sp, r7 + 8008736: bd80 pop {r7, pc} -08008180 : +08008738 : * @param hi2c I2C handle. * @param ITFlags Interrupt flags to handle. * @retval None */ static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) { - 8008180: b580 push {r7, lr} - 8008182: b086 sub sp, #24 - 8008184: af00 add r7, sp, #0 - 8008186: 6078 str r0, [r7, #4] - 8008188: 6039 str r1, [r7, #0] + 8008738: b580 push {r7, lr} + 800873a: b086 sub sp, #24 + 800873c: af00 add r7, sp, #0 + 800873e: 6078 str r0, [r7, #4] + 8008740: 6039 str r1, [r7, #0] uint32_t tmperror; uint32_t tmpITFlags = ITFlags; - 800818a: 683b ldr r3, [r7, #0] - 800818c: 617b str r3, [r7, #20] + 8008742: 683b ldr r3, [r7, #0] + 8008744: 617b str r3, [r7, #20] __IO uint32_t tmpreg; /* Clear STOP Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); - 800818e: 687b ldr r3, [r7, #4] - 8008190: 681b ldr r3, [r3, #0] - 8008192: 2220 movs r2, #32 - 8008194: 61da str r2, [r3, #28] + 8008746: 687b ldr r3, [r7, #4] + 8008748: 681b ldr r3, [r3, #0] + 800874a: 2220 movs r2, #32 + 800874c: 61da str r2, [r3, #28] /* Disable Interrupts and Store Previous state */ if (hi2c->State == HAL_I2C_STATE_BUSY_TX) - 8008196: 687b ldr r3, [r7, #4] - 8008198: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 800819c: b2db uxtb r3, r3 - 800819e: 2b21 cmp r3, #33 @ 0x21 - 80081a0: d107 bne.n 80081b2 + 800874e: 687b ldr r3, [r7, #4] + 8008750: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008754: b2db uxtb r3, r3 + 8008756: 2b21 cmp r3, #33 @ 0x21 + 8008758: d107 bne.n 800876a { I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); - 80081a2: 2101 movs r1, #1 - 80081a4: 6878 ldr r0, [r7, #4] - 80081a6: f000 fd31 bl 8008c0c + 800875a: 2101 movs r1, #1 + 800875c: 6878 ldr r0, [r7, #4] + 800875e: f000 fd31 bl 80091c4 hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; - 80081aa: 687b ldr r3, [r7, #4] - 80081ac: 2211 movs r2, #17 - 80081ae: 631a str r2, [r3, #48] @ 0x30 - 80081b0: e00c b.n 80081cc + 8008762: 687b ldr r3, [r7, #4] + 8008764: 2211 movs r2, #17 + 8008766: 631a str r2, [r3, #48] @ 0x30 + 8008768: e00c b.n 8008784 } else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 80081b2: 687b ldr r3, [r7, #4] - 80081b4: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80081b8: b2db uxtb r3, r3 - 80081ba: 2b22 cmp r3, #34 @ 0x22 - 80081bc: d106 bne.n 80081cc + 800876a: 687b ldr r3, [r7, #4] + 800876c: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008770: b2db uxtb r3, r3 + 8008772: 2b22 cmp r3, #34 @ 0x22 + 8008774: d106 bne.n 8008784 { I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); - 80081be: 2102 movs r1, #2 - 80081c0: 6878 ldr r0, [r7, #4] - 80081c2: f000 fd23 bl 8008c0c + 8008776: 2102 movs r1, #2 + 8008778: 6878 ldr r0, [r7, #4] + 800877a: f000 fd23 bl 80091c4 hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; - 80081c6: 687b ldr r3, [r7, #4] - 80081c8: 2212 movs r2, #18 - 80081ca: 631a str r2, [r3, #48] @ 0x30 + 800877e: 687b ldr r3, [r7, #4] + 8008780: 2212 movs r2, #18 + 8008782: 631a str r2, [r3, #48] @ 0x30 { /* Do nothing */ } /* Clear Configuration Register 2 */ I2C_RESET_CR2(hi2c); - 80081cc: 687b ldr r3, [r7, #4] - 80081ce: 681b ldr r3, [r3, #0] - 80081d0: 6859 ldr r1, [r3, #4] - 80081d2: 687b ldr r3, [r7, #4] - 80081d4: 681a ldr r2, [r3, #0] - 80081d6: 4b4d ldr r3, [pc, #308] @ (800830c ) - 80081d8: 400b ands r3, r1 - 80081da: 6053 str r3, [r2, #4] + 8008784: 687b ldr r3, [r7, #4] + 8008786: 681b ldr r3, [r3, #0] + 8008788: 6859 ldr r1, [r3, #4] + 800878a: 687b ldr r3, [r7, #4] + 800878c: 681a ldr r2, [r3, #0] + 800878e: 4b4d ldr r3, [pc, #308] @ (80088c4 ) + 8008790: 400b ands r3, r1 + 8008792: 6053 str r3, [r2, #4] /* Reset handle parameters */ hi2c->XferISR = NULL; - 80081dc: 687b ldr r3, [r7, #4] - 80081de: 2200 movs r2, #0 - 80081e0: 635a str r2, [r3, #52] @ 0x34 + 8008794: 687b ldr r3, [r7, #4] + 8008796: 2200 movs r2, #0 + 8008798: 635a str r2, [r3, #52] @ 0x34 hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 80081e2: 687b ldr r3, [r7, #4] - 80081e4: 4a4a ldr r2, [pc, #296] @ (8008310 ) - 80081e6: 62da str r2, [r3, #44] @ 0x2c + 800879a: 687b ldr r3, [r7, #4] + 800879c: 4a4a ldr r2, [pc, #296] @ (80088c8 ) + 800879e: 62da str r2, [r3, #44] @ 0x2c if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) - 80081e8: 697b ldr r3, [r7, #20] - 80081ea: 091b lsrs r3, r3, #4 - 80081ec: f003 0301 and.w r3, r3, #1 - 80081f0: 2b00 cmp r3, #0 - 80081f2: d009 beq.n 8008208 + 80087a0: 697b ldr r3, [r7, #20] + 80087a2: 091b lsrs r3, r3, #4 + 80087a4: f003 0301 and.w r3, r3, #1 + 80087a8: 2b00 cmp r3, #0 + 80087aa: d009 beq.n 80087c0 { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 80081f4: 687b ldr r3, [r7, #4] - 80081f6: 681b ldr r3, [r3, #0] - 80081f8: 2210 movs r2, #16 - 80081fa: 61da str r2, [r3, #28] + 80087ac: 687b ldr r3, [r7, #4] + 80087ae: 681b ldr r3, [r3, #0] + 80087b0: 2210 movs r2, #16 + 80087b2: 61da str r2, [r3, #28] /* Set acknowledge error code */ hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 80081fc: 687b ldr r3, [r7, #4] - 80081fe: 6c5b ldr r3, [r3, #68] @ 0x44 - 8008200: f043 0204 orr.w r2, r3, #4 - 8008204: 687b ldr r3, [r7, #4] - 8008206: 645a str r2, [r3, #68] @ 0x44 + 80087b4: 687b ldr r3, [r7, #4] + 80087b6: 6c5b ldr r3, [r3, #68] @ 0x44 + 80087b8: f043 0204 orr.w r2, r3, #4 + 80087bc: 687b ldr r3, [r7, #4] + 80087be: 645a str r2, [r3, #68] @ 0x44 } /* Fetch Last receive data if any */ if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)) - 8008208: 687b ldr r3, [r7, #4] - 800820a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 800820e: b2db uxtb r3, r3 - 8008210: 2b60 cmp r3, #96 @ 0x60 - 8008212: d10b bne.n 800822c - 8008214: 697b ldr r3, [r7, #20] - 8008216: 089b lsrs r3, r3, #2 - 8008218: f003 0301 and.w r3, r3, #1 - 800821c: 2b00 cmp r3, #0 - 800821e: d005 beq.n 800822c + 80087c0: 687b ldr r3, [r7, #4] + 80087c2: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 80087c6: b2db uxtb r3, r3 + 80087c8: 2b60 cmp r3, #96 @ 0x60 + 80087ca: d10b bne.n 80087e4 + 80087cc: 697b ldr r3, [r7, #20] + 80087ce: 089b lsrs r3, r3, #2 + 80087d0: f003 0301 and.w r3, r3, #1 + 80087d4: 2b00 cmp r3, #0 + 80087d6: d005 beq.n 80087e4 { /* Read data from RXDR */ tmpreg = (uint8_t)hi2c->Instance->RXDR; - 8008220: 687b ldr r3, [r7, #4] - 8008222: 681b ldr r3, [r3, #0] - 8008224: 6a5b ldr r3, [r3, #36] @ 0x24 - 8008226: b2db uxtb r3, r3 - 8008228: 60fb str r3, [r7, #12] + 80087d8: 687b ldr r3, [r7, #4] + 80087da: 681b ldr r3, [r3, #0] + 80087dc: 6a5b ldr r3, [r3, #36] @ 0x24 + 80087de: b2db uxtb r3, r3 + 80087e0: 60fb str r3, [r7, #12] UNUSED(tmpreg); - 800822a: 68fb ldr r3, [r7, #12] + 80087e2: 68fb ldr r3, [r7, #12] } /* Flush TX register */ I2C_Flush_TXDR(hi2c); - 800822c: 6878 ldr r0, [r7, #4] - 800822e: f000 fb48 bl 80088c2 + 80087e4: 6878 ldr r0, [r7, #4] + 80087e6: f000 fb48 bl 8008e7a /* Store current volatile hi2c->ErrorCode, misra rule */ tmperror = hi2c->ErrorCode; - 8008232: 687b ldr r3, [r7, #4] - 8008234: 6c5b ldr r3, [r3, #68] @ 0x44 - 8008236: 613b str r3, [r7, #16] + 80087ea: 687b ldr r3, [r7, #4] + 80087ec: 6c5b ldr r3, [r3, #68] @ 0x44 + 80087ee: 613b str r3, [r7, #16] /* Call the corresponding callback to inform upper layer of End of Transfer */ if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE)) - 8008238: 687b ldr r3, [r7, #4] - 800823a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 800823e: b2db uxtb r3, r3 - 8008240: 2b60 cmp r3, #96 @ 0x60 - 8008242: d002 beq.n 800824a - 8008244: 693b ldr r3, [r7, #16] - 8008246: 2b00 cmp r3, #0 - 8008248: d006 beq.n 8008258 + 80087f0: 687b ldr r3, [r7, #4] + 80087f2: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 80087f6: b2db uxtb r3, r3 + 80087f8: 2b60 cmp r3, #96 @ 0x60 + 80087fa: d002 beq.n 8008802 + 80087fc: 693b ldr r3, [r7, #16] + 80087fe: 2b00 cmp r3, #0 + 8008800: d006 beq.n 8008810 { /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, hi2c->ErrorCode); - 800824a: 687b ldr r3, [r7, #4] - 800824c: 6c5b ldr r3, [r3, #68] @ 0x44 - 800824e: 4619 mov r1, r3 - 8008250: 6878 ldr r0, [r7, #4] - 8008252: f000 fa1f bl 8008694 + 8008802: 687b ldr r3, [r7, #4] + 8008804: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008806: 4619 mov r1, r3 + 8008808: 6878 ldr r0, [r7, #4] + 800880a: f000 fa1f bl 8008c4c } else { /* Nothing to do */ } } - 8008256: e054 b.n 8008302 + 800880e: e054 b.n 80088ba else if (hi2c->State == HAL_I2C_STATE_BUSY_TX) - 8008258: 687b ldr r3, [r7, #4] - 800825a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 800825e: b2db uxtb r3, r3 - 8008260: 2b21 cmp r3, #33 @ 0x21 - 8008262: d124 bne.n 80082ae + 8008810: 687b ldr r3, [r7, #4] + 8008812: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008816: b2db uxtb r3, r3 + 8008818: 2b21 cmp r3, #33 @ 0x21 + 800881a: d124 bne.n 8008866 hi2c->State = HAL_I2C_STATE_READY; - 8008264: 687b ldr r3, [r7, #4] - 8008266: 2220 movs r2, #32 - 8008268: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800881c: 687b ldr r3, [r7, #4] + 800881e: 2220 movs r2, #32 + 8008820: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; - 800826c: 687b ldr r3, [r7, #4] - 800826e: 2200 movs r2, #0 - 8008270: 631a str r2, [r3, #48] @ 0x30 + 8008824: 687b ldr r3, [r7, #4] + 8008826: 2200 movs r2, #0 + 8008828: 631a str r2, [r3, #48] @ 0x30 if (hi2c->Mode == HAL_I2C_MODE_MEM) - 8008272: 687b ldr r3, [r7, #4] - 8008274: f893 3042 ldrb.w r3, [r3, #66] @ 0x42 - 8008278: b2db uxtb r3, r3 - 800827a: 2b40 cmp r3, #64 @ 0x40 - 800827c: d10b bne.n 8008296 + 800882a: 687b ldr r3, [r7, #4] + 800882c: f893 3042 ldrb.w r3, [r3, #66] @ 0x42 + 8008830: b2db uxtb r3, r3 + 8008832: 2b40 cmp r3, #64 @ 0x40 + 8008834: d10b bne.n 800884e hi2c->Mode = HAL_I2C_MODE_NONE; - 800827e: 687b ldr r3, [r7, #4] - 8008280: 2200 movs r2, #0 - 8008282: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 8008836: 687b ldr r3, [r7, #4] + 8008838: 2200 movs r2, #0 + 800883a: f883 2042 strb.w r2, [r3, #66] @ 0x42 __HAL_UNLOCK(hi2c); - 8008286: 687b ldr r3, [r7, #4] - 8008288: 2200 movs r2, #0 - 800828a: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 800883e: 687b ldr r3, [r7, #4] + 8008840: 2200 movs r2, #0 + 8008842: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_MemTxCpltCallback(hi2c); - 800828e: 6878 ldr r0, [r7, #4] - 8008290: f7fd f822 bl 80052d8 + 8008846: 6878 ldr r0, [r7, #4] + 8008848: f7fc fdf8 bl 800543c } - 8008294: e035 b.n 8008302 + 800884c: e035 b.n 80088ba hi2c->Mode = HAL_I2C_MODE_NONE; - 8008296: 687b ldr r3, [r7, #4] - 8008298: 2200 movs r2, #0 - 800829a: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 800884e: 687b ldr r3, [r7, #4] + 8008850: 2200 movs r2, #0 + 8008852: f883 2042 strb.w r2, [r3, #66] @ 0x42 __HAL_UNLOCK(hi2c); - 800829e: 687b ldr r3, [r7, #4] - 80082a0: 2200 movs r2, #0 - 80082a2: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008856: 687b ldr r3, [r7, #4] + 8008858: 2200 movs r2, #0 + 800885a: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_MasterTxCpltCallback(hi2c); - 80082a6: 6878 ldr r0, [r7, #4] - 80082a8: f7ff f9ed bl 8007686 + 800885e: 6878 ldr r0, [r7, #4] + 8008860: f7ff f9ed bl 8007c3e } - 80082ac: e029 b.n 8008302 + 8008864: e029 b.n 80088ba else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 80082ae: 687b ldr r3, [r7, #4] - 80082b0: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80082b4: b2db uxtb r3, r3 - 80082b6: 2b22 cmp r3, #34 @ 0x22 - 80082b8: d123 bne.n 8008302 + 8008866: 687b ldr r3, [r7, #4] + 8008868: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 800886c: b2db uxtb r3, r3 + 800886e: 2b22 cmp r3, #34 @ 0x22 + 8008870: d123 bne.n 80088ba hi2c->State = HAL_I2C_STATE_READY; - 80082ba: 687b ldr r3, [r7, #4] - 80082bc: 2220 movs r2, #32 - 80082be: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8008872: 687b ldr r3, [r7, #4] + 8008874: 2220 movs r2, #32 + 8008876: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; - 80082c2: 687b ldr r3, [r7, #4] - 80082c4: 2200 movs r2, #0 - 80082c6: 631a str r2, [r3, #48] @ 0x30 + 800887a: 687b ldr r3, [r7, #4] + 800887c: 2200 movs r2, #0 + 800887e: 631a str r2, [r3, #48] @ 0x30 if (hi2c->Mode == HAL_I2C_MODE_MEM) - 80082c8: 687b ldr r3, [r7, #4] - 80082ca: f893 3042 ldrb.w r3, [r3, #66] @ 0x42 - 80082ce: b2db uxtb r3, r3 - 80082d0: 2b40 cmp r3, #64 @ 0x40 - 80082d2: d10b bne.n 80082ec + 8008880: 687b ldr r3, [r7, #4] + 8008882: f893 3042 ldrb.w r3, [r3, #66] @ 0x42 + 8008886: b2db uxtb r3, r3 + 8008888: 2b40 cmp r3, #64 @ 0x40 + 800888a: d10b bne.n 80088a4 hi2c->Mode = HAL_I2C_MODE_NONE; - 80082d4: 687b ldr r3, [r7, #4] - 80082d6: 2200 movs r2, #0 - 80082d8: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 800888c: 687b ldr r3, [r7, #4] + 800888e: 2200 movs r2, #0 + 8008890: f883 2042 strb.w r2, [r3, #66] @ 0x42 __HAL_UNLOCK(hi2c); - 80082dc: 687b ldr r3, [r7, #4] - 80082de: 2200 movs r2, #0 - 80082e0: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008894: 687b ldr r3, [r7, #4] + 8008896: 2200 movs r2, #0 + 8008898: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_MemRxCpltCallback(hi2c); - 80082e4: 6878 ldr r0, [r7, #4] - 80082e6: f7fc ffcf bl 8005288 + 800889c: 6878 ldr r0, [r7, #4] + 800889e: f7fc fda1 bl 80053e4 } - 80082ea: e00a b.n 8008302 + 80088a2: e00a b.n 80088ba hi2c->Mode = HAL_I2C_MODE_NONE; - 80082ec: 687b ldr r3, [r7, #4] - 80082ee: 2200 movs r2, #0 - 80082f0: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 80088a4: 687b ldr r3, [r7, #4] + 80088a6: 2200 movs r2, #0 + 80088a8: f883 2042 strb.w r2, [r3, #66] @ 0x42 __HAL_UNLOCK(hi2c); - 80082f4: 687b ldr r3, [r7, #4] - 80082f6: 2200 movs r2, #0 - 80082f8: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80088ac: 687b ldr r3, [r7, #4] + 80088ae: 2200 movs r2, #0 + 80088b0: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_MasterRxCpltCallback(hi2c); - 80082fc: 6878 ldr r0, [r7, #4] - 80082fe: f7ff f9cc bl 800769a + 80088b4: 6878 ldr r0, [r7, #4] + 80088b6: f7ff f9cc bl 8007c52 } - 8008302: bf00 nop - 8008304: 3718 adds r7, #24 - 8008306: 46bd mov sp, r7 - 8008308: bd80 pop {r7, pc} - 800830a: bf00 nop - 800830c: fe00e800 .word 0xfe00e800 - 8008310: ffff0000 .word 0xffff0000 + 80088ba: bf00 nop + 80088bc: 3718 adds r7, #24 + 80088be: 46bd mov sp, r7 + 80088c0: bd80 pop {r7, pc} + 80088c2: bf00 nop + 80088c4: fe00e800 .word 0xfe00e800 + 80088c8: ffff0000 .word 0xffff0000 -08008314 : +080088cc : * @param hi2c I2C handle. * @param ITFlags Interrupt flags to handle. * @retval None */ static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) { - 8008314: b580 push {r7, lr} - 8008316: b086 sub sp, #24 - 8008318: af00 add r7, sp, #0 - 800831a: 6078 str r0, [r7, #4] - 800831c: 6039 str r1, [r7, #0] + 80088cc: b580 push {r7, lr} + 80088ce: b086 sub sp, #24 + 80088d0: af00 add r7, sp, #0 + 80088d2: 6078 str r0, [r7, #4] + 80088d4: 6039 str r1, [r7, #0] uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); - 800831e: 687b ldr r3, [r7, #4] - 8008320: 681b ldr r3, [r3, #0] - 8008322: 681b ldr r3, [r3, #0] - 8008324: 613b str r3, [r7, #16] + 80088d6: 687b ldr r3, [r7, #4] + 80088d8: 681b ldr r3, [r3, #0] + 80088da: 681b ldr r3, [r3, #0] + 80088dc: 613b str r3, [r7, #16] uint32_t tmpITFlags = ITFlags; - 8008326: 683b ldr r3, [r7, #0] - 8008328: 617b str r3, [r7, #20] + 80088de: 683b ldr r3, [r7, #0] + 80088e0: 617b str r3, [r7, #20] uint32_t tmpoptions = hi2c->XferOptions; - 800832a: 687b ldr r3, [r7, #4] - 800832c: 6adb ldr r3, [r3, #44] @ 0x2c - 800832e: 60fb str r3, [r7, #12] + 80088e2: 687b ldr r3, [r7, #4] + 80088e4: 6adb ldr r3, [r3, #44] @ 0x2c + 80088e6: 60fb str r3, [r7, #12] HAL_I2C_StateTypeDef tmpstate = hi2c->State; - 8008330: 687b ldr r3, [r7, #4] - 8008332: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008336: 72fb strb r3, [r7, #11] + 80088e8: 687b ldr r3, [r7, #4] + 80088ea: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 80088ee: 72fb strb r3, [r7, #11] /* Clear STOP Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); - 8008338: 687b ldr r3, [r7, #4] - 800833a: 681b ldr r3, [r3, #0] - 800833c: 2220 movs r2, #32 - 800833e: 61da str r2, [r3, #28] + 80088f0: 687b ldr r3, [r7, #4] + 80088f2: 681b ldr r3, [r3, #0] + 80088f4: 2220 movs r2, #32 + 80088f6: 61da str r2, [r3, #28] /* Disable Interrupts and Store Previous state */ if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN)) - 8008340: 7afb ldrb r3, [r7, #11] - 8008342: 2b21 cmp r3, #33 @ 0x21 - 8008344: d002 beq.n 800834c - 8008346: 7afb ldrb r3, [r7, #11] - 8008348: 2b29 cmp r3, #41 @ 0x29 - 800834a: d108 bne.n 800835e + 80088f8: 7afb ldrb r3, [r7, #11] + 80088fa: 2b21 cmp r3, #33 @ 0x21 + 80088fc: d002 beq.n 8008904 + 80088fe: 7afb ldrb r3, [r7, #11] + 8008900: 2b29 cmp r3, #41 @ 0x29 + 8008902: d108 bne.n 8008916 { I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); - 800834c: f248 0101 movw r1, #32769 @ 0x8001 - 8008350: 6878 ldr r0, [r7, #4] - 8008352: f000 fc5b bl 8008c0c + 8008904: f248 0101 movw r1, #32769 @ 0x8001 + 8008908: 6878 ldr r0, [r7, #4] + 800890a: f000 fc5b bl 80091c4 hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; - 8008356: 687b ldr r3, [r7, #4] - 8008358: 2221 movs r2, #33 @ 0x21 - 800835a: 631a str r2, [r3, #48] @ 0x30 - 800835c: e019 b.n 8008392 + 800890e: 687b ldr r3, [r7, #4] + 8008910: 2221 movs r2, #33 @ 0x21 + 8008912: 631a str r2, [r3, #48] @ 0x30 + 8008914: e019 b.n 800894a } else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) - 800835e: 7afb ldrb r3, [r7, #11] - 8008360: 2b22 cmp r3, #34 @ 0x22 - 8008362: d002 beq.n 800836a - 8008364: 7afb ldrb r3, [r7, #11] - 8008366: 2b2a cmp r3, #42 @ 0x2a - 8008368: d108 bne.n 800837c + 8008916: 7afb ldrb r3, [r7, #11] + 8008918: 2b22 cmp r3, #34 @ 0x22 + 800891a: d002 beq.n 8008922 + 800891c: 7afb ldrb r3, [r7, #11] + 800891e: 2b2a cmp r3, #42 @ 0x2a + 8008920: d108 bne.n 8008934 { I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); - 800836a: f248 0102 movw r1, #32770 @ 0x8002 - 800836e: 6878 ldr r0, [r7, #4] - 8008370: f000 fc4c bl 8008c0c + 8008922: f248 0102 movw r1, #32770 @ 0x8002 + 8008926: 6878 ldr r0, [r7, #4] + 8008928: f000 fc4c bl 80091c4 hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; - 8008374: 687b ldr r3, [r7, #4] - 8008376: 2222 movs r2, #34 @ 0x22 - 8008378: 631a str r2, [r3, #48] @ 0x30 - 800837a: e00a b.n 8008392 + 800892c: 687b ldr r3, [r7, #4] + 800892e: 2222 movs r2, #34 @ 0x22 + 8008930: 631a str r2, [r3, #48] @ 0x30 + 8008932: e00a b.n 800894a } else if (tmpstate == HAL_I2C_STATE_LISTEN) - 800837c: 7afb ldrb r3, [r7, #11] - 800837e: 2b28 cmp r3, #40 @ 0x28 - 8008380: d107 bne.n 8008392 + 8008934: 7afb ldrb r3, [r7, #11] + 8008936: 2b28 cmp r3, #40 @ 0x28 + 8008938: d107 bne.n 800894a { I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT); - 8008382: f248 0103 movw r1, #32771 @ 0x8003 - 8008386: 6878 ldr r0, [r7, #4] - 8008388: f000 fc40 bl 8008c0c + 800893a: f248 0103 movw r1, #32771 @ 0x8003 + 800893e: 6878 ldr r0, [r7, #4] + 8008940: f000 fc40 bl 80091c4 hi2c->PreviousState = I2C_STATE_NONE; - 800838c: 687b ldr r3, [r7, #4] - 800838e: 2200 movs r2, #0 - 8008390: 631a str r2, [r3, #48] @ 0x30 + 8008944: 687b ldr r3, [r7, #4] + 8008946: 2200 movs r2, #0 + 8008948: 631a str r2, [r3, #48] @ 0x30 { /* Do nothing */ } /* Disable Address Acknowledge */ hi2c->Instance->CR2 |= I2C_CR2_NACK; - 8008392: 687b ldr r3, [r7, #4] - 8008394: 681b ldr r3, [r3, #0] - 8008396: 685a ldr r2, [r3, #4] - 8008398: 687b ldr r3, [r7, #4] - 800839a: 681b ldr r3, [r3, #0] - 800839c: f442 4200 orr.w r2, r2, #32768 @ 0x8000 - 80083a0: 605a str r2, [r3, #4] + 800894a: 687b ldr r3, [r7, #4] + 800894c: 681b ldr r3, [r3, #0] + 800894e: 685a ldr r2, [r3, #4] + 8008950: 687b ldr r3, [r7, #4] + 8008952: 681b ldr r3, [r3, #0] + 8008954: f442 4200 orr.w r2, r2, #32768 @ 0x8000 + 8008958: 605a str r2, [r3, #4] /* Clear Configuration Register 2 */ I2C_RESET_CR2(hi2c); - 80083a2: 687b ldr r3, [r7, #4] - 80083a4: 681b ldr r3, [r3, #0] - 80083a6: 6859 ldr r1, [r3, #4] - 80083a8: 687b ldr r3, [r7, #4] - 80083aa: 681a ldr r2, [r3, #0] - 80083ac: 4b8c ldr r3, [pc, #560] @ (80085e0 ) - 80083ae: 400b ands r3, r1 - 80083b0: 6053 str r3, [r2, #4] + 800895a: 687b ldr r3, [r7, #4] + 800895c: 681b ldr r3, [r3, #0] + 800895e: 6859 ldr r1, [r3, #4] + 8008960: 687b ldr r3, [r7, #4] + 8008962: 681a ldr r2, [r3, #0] + 8008964: 4b8c ldr r3, [pc, #560] @ (8008b98 ) + 8008966: 400b ands r3, r1 + 8008968: 6053 str r3, [r2, #4] /* Flush TX register */ I2C_Flush_TXDR(hi2c); - 80083b2: 6878 ldr r0, [r7, #4] - 80083b4: f000 fa85 bl 80088c2 + 800896a: 6878 ldr r0, [r7, #4] + 800896c: f000 fa85 bl 8008e7a #if defined(HAL_DMA_MODULE_ENABLED) /* If a DMA is ongoing, Update handle size context */ if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET) - 80083b8: 693b ldr r3, [r7, #16] - 80083ba: 0b9b lsrs r3, r3, #14 - 80083bc: f003 0301 and.w r3, r3, #1 - 80083c0: 2b00 cmp r3, #0 - 80083c2: d013 beq.n 80083ec + 8008970: 693b ldr r3, [r7, #16] + 8008972: 0b9b lsrs r3, r3, #14 + 8008974: f003 0301 and.w r3, r3, #1 + 8008978: 2b00 cmp r3, #0 + 800897a: d013 beq.n 80089a4 { /* Disable DMA Request */ hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; - 80083c4: 687b ldr r3, [r7, #4] - 80083c6: 681b ldr r3, [r3, #0] - 80083c8: 681a ldr r2, [r3, #0] - 80083ca: 687b ldr r3, [r7, #4] - 80083cc: 681b ldr r3, [r3, #0] - 80083ce: f422 4280 bic.w r2, r2, #16384 @ 0x4000 - 80083d2: 601a str r2, [r3, #0] + 800897c: 687b ldr r3, [r7, #4] + 800897e: 681b ldr r3, [r3, #0] + 8008980: 681a ldr r2, [r3, #0] + 8008982: 687b ldr r3, [r7, #4] + 8008984: 681b ldr r3, [r3, #0] + 8008986: f422 4280 bic.w r2, r2, #16384 @ 0x4000 + 800898a: 601a str r2, [r3, #0] if (hi2c->hdmatx != NULL) - 80083d4: 687b ldr r3, [r7, #4] - 80083d6: 6b9b ldr r3, [r3, #56] @ 0x38 - 80083d8: 2b00 cmp r3, #0 - 80083da: d020 beq.n 800841e + 800898c: 687b ldr r3, [r7, #4] + 800898e: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008990: 2b00 cmp r3, #0 + 8008992: d020 beq.n 80089d6 { hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx); - 80083dc: 687b ldr r3, [r7, #4] - 80083de: 6b9b ldr r3, [r3, #56] @ 0x38 - 80083e0: 681b ldr r3, [r3, #0] - 80083e2: 685b ldr r3, [r3, #4] - 80083e4: b29a uxth r2, r3 - 80083e6: 687b ldr r3, [r7, #4] - 80083e8: 855a strh r2, [r3, #42] @ 0x2a - 80083ea: e018 b.n 800841e + 8008994: 687b ldr r3, [r7, #4] + 8008996: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008998: 681b ldr r3, [r3, #0] + 800899a: 685b ldr r3, [r3, #4] + 800899c: b29a uxth r2, r3 + 800899e: 687b ldr r3, [r7, #4] + 80089a0: 855a strh r2, [r3, #42] @ 0x2a + 80089a2: e018 b.n 80089d6 } } else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET) - 80083ec: 693b ldr r3, [r7, #16] - 80083ee: 0bdb lsrs r3, r3, #15 - 80083f0: f003 0301 and.w r3, r3, #1 - 80083f4: 2b00 cmp r3, #0 - 80083f6: d012 beq.n 800841e + 80089a4: 693b ldr r3, [r7, #16] + 80089a6: 0bdb lsrs r3, r3, #15 + 80089a8: f003 0301 and.w r3, r3, #1 + 80089ac: 2b00 cmp r3, #0 + 80089ae: d012 beq.n 80089d6 { /* Disable DMA Request */ hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; - 80083f8: 687b ldr r3, [r7, #4] - 80083fa: 681b ldr r3, [r3, #0] - 80083fc: 681a ldr r2, [r3, #0] - 80083fe: 687b ldr r3, [r7, #4] - 8008400: 681b ldr r3, [r3, #0] - 8008402: f422 4200 bic.w r2, r2, #32768 @ 0x8000 - 8008406: 601a str r2, [r3, #0] + 80089b0: 687b ldr r3, [r7, #4] + 80089b2: 681b ldr r3, [r3, #0] + 80089b4: 681a ldr r2, [r3, #0] + 80089b6: 687b ldr r3, [r7, #4] + 80089b8: 681b ldr r3, [r3, #0] + 80089ba: f422 4200 bic.w r2, r2, #32768 @ 0x8000 + 80089be: 601a str r2, [r3, #0] if (hi2c->hdmarx != NULL) - 8008408: 687b ldr r3, [r7, #4] - 800840a: 6bdb ldr r3, [r3, #60] @ 0x3c - 800840c: 2b00 cmp r3, #0 - 800840e: d006 beq.n 800841e + 80089c0: 687b ldr r3, [r7, #4] + 80089c2: 6bdb ldr r3, [r3, #60] @ 0x3c + 80089c4: 2b00 cmp r3, #0 + 80089c6: d006 beq.n 80089d6 { hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx); - 8008410: 687b ldr r3, [r7, #4] - 8008412: 6bdb ldr r3, [r3, #60] @ 0x3c - 8008414: 681b ldr r3, [r3, #0] - 8008416: 685b ldr r3, [r3, #4] - 8008418: b29a uxth r2, r3 - 800841a: 687b ldr r3, [r7, #4] - 800841c: 855a strh r2, [r3, #42] @ 0x2a + 80089c8: 687b ldr r3, [r7, #4] + 80089ca: 6bdb ldr r3, [r3, #60] @ 0x3c + 80089cc: 681b ldr r3, [r3, #0] + 80089ce: 685b ldr r3, [r3, #4] + 80089d0: b29a uxth r2, r3 + 80089d2: 687b ldr r3, [r7, #4] + 80089d4: 855a strh r2, [r3, #42] @ 0x2a /* Do nothing */ } #endif /* HAL_DMA_MODULE_ENABLED */ /* Store Last receive data if any */ if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) - 800841e: 697b ldr r3, [r7, #20] - 8008420: 089b lsrs r3, r3, #2 - 8008422: f003 0301 and.w r3, r3, #1 - 8008426: 2b00 cmp r3, #0 - 8008428: d020 beq.n 800846c + 80089d6: 697b ldr r3, [r7, #20] + 80089d8: 089b lsrs r3, r3, #2 + 80089da: f003 0301 and.w r3, r3, #1 + 80089de: 2b00 cmp r3, #0 + 80089e0: d020 beq.n 8008a24 { /* Remove RXNE flag on temporary variable as read done */ tmpITFlags &= ~I2C_FLAG_RXNE; - 800842a: 697b ldr r3, [r7, #20] - 800842c: f023 0304 bic.w r3, r3, #4 - 8008430: 617b str r3, [r7, #20] + 80089e2: 697b ldr r3, [r7, #20] + 80089e4: f023 0304 bic.w r3, r3, #4 + 80089e8: 617b str r3, [r7, #20] /* Read data from RXDR */ *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; - 8008432: 687b ldr r3, [r7, #4] - 8008434: 681b ldr r3, [r3, #0] - 8008436: 6a5a ldr r2, [r3, #36] @ 0x24 - 8008438: 687b ldr r3, [r7, #4] - 800843a: 6a5b ldr r3, [r3, #36] @ 0x24 - 800843c: b2d2 uxtb r2, r2 - 800843e: 701a strb r2, [r3, #0] + 80089ea: 687b ldr r3, [r7, #4] + 80089ec: 681b ldr r3, [r3, #0] + 80089ee: 6a5a ldr r2, [r3, #36] @ 0x24 + 80089f0: 687b ldr r3, [r7, #4] + 80089f2: 6a5b ldr r3, [r3, #36] @ 0x24 + 80089f4: b2d2 uxtb r2, r2 + 80089f6: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hi2c->pBuffPtr++; - 8008440: 687b ldr r3, [r7, #4] - 8008442: 6a5b ldr r3, [r3, #36] @ 0x24 - 8008444: 1c5a adds r2, r3, #1 - 8008446: 687b ldr r3, [r7, #4] - 8008448: 625a str r2, [r3, #36] @ 0x24 + 80089f8: 687b ldr r3, [r7, #4] + 80089fa: 6a5b ldr r3, [r3, #36] @ 0x24 + 80089fc: 1c5a adds r2, r3, #1 + 80089fe: 687b ldr r3, [r7, #4] + 8008a00: 625a str r2, [r3, #36] @ 0x24 if (hi2c->XferSize > 0U) - 800844a: 687b ldr r3, [r7, #4] - 800844c: 8d1b ldrh r3, [r3, #40] @ 0x28 - 800844e: 2b00 cmp r3, #0 - 8008450: d00c beq.n 800846c + 8008a02: 687b ldr r3, [r7, #4] + 8008a04: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8008a06: 2b00 cmp r3, #0 + 8008a08: d00c beq.n 8008a24 { hi2c->XferSize--; - 8008452: 687b ldr r3, [r7, #4] - 8008454: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8008456: 3b01 subs r3, #1 - 8008458: b29a uxth r2, r3 - 800845a: 687b ldr r3, [r7, #4] - 800845c: 851a strh r2, [r3, #40] @ 0x28 + 8008a0a: 687b ldr r3, [r7, #4] + 8008a0c: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8008a0e: 3b01 subs r3, #1 + 8008a10: b29a uxth r2, r3 + 8008a12: 687b ldr r3, [r7, #4] + 8008a14: 851a strh r2, [r3, #40] @ 0x28 hi2c->XferCount--; - 800845e: 687b ldr r3, [r7, #4] - 8008460: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8008462: b29b uxth r3, r3 - 8008464: 3b01 subs r3, #1 - 8008466: b29a uxth r2, r3 - 8008468: 687b ldr r3, [r7, #4] - 800846a: 855a strh r2, [r3, #42] @ 0x2a + 8008a16: 687b ldr r3, [r7, #4] + 8008a18: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008a1a: b29b uxth r3, r3 + 8008a1c: 3b01 subs r3, #1 + 8008a1e: b29a uxth r2, r3 + 8008a20: 687b ldr r3, [r7, #4] + 8008a22: 855a strh r2, [r3, #42] @ 0x2a } } /* All data are not transferred, so set error code accordingly */ if (hi2c->XferCount != 0U) - 800846c: 687b ldr r3, [r7, #4] - 800846e: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8008470: b29b uxth r3, r3 - 8008472: 2b00 cmp r3, #0 - 8008474: d005 beq.n 8008482 + 8008a24: 687b ldr r3, [r7, #4] + 8008a26: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008a28: b29b uxth r3, r3 + 8008a2a: 2b00 cmp r3, #0 + 8008a2c: d005 beq.n 8008a3a { /* Set ErrorCode corresponding to a Non-Acknowledge */ hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 8008476: 687b ldr r3, [r7, #4] - 8008478: 6c5b ldr r3, [r3, #68] @ 0x44 - 800847a: f043 0204 orr.w r2, r3, #4 - 800847e: 687b ldr r3, [r7, #4] - 8008480: 645a str r2, [r3, #68] @ 0x44 + 8008a2e: 687b ldr r3, [r7, #4] + 8008a30: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008a32: f043 0204 orr.w r2, r3, #4 + 8008a36: 687b ldr r3, [r7, #4] + 8008a38: 645a str r2, [r3, #68] @ 0x44 } if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ - 8008482: 697b ldr r3, [r7, #20] - 8008484: 091b lsrs r3, r3, #4 - 8008486: f003 0301 and.w r3, r3, #1 - 800848a: 2b00 cmp r3, #0 - 800848c: d04a beq.n 8008524 + 8008a3a: 697b ldr r3, [r7, #20] + 8008a3c: 091b lsrs r3, r3, #4 + 8008a3e: f003 0301 and.w r3, r3, #1 + 8008a42: 2b00 cmp r3, #0 + 8008a44: d04a beq.n 8008adc (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET)) - 800848e: 693b ldr r3, [r7, #16] - 8008490: 091b lsrs r3, r3, #4 - 8008492: f003 0301 and.w r3, r3, #1 + 8008a46: 693b ldr r3, [r7, #16] + 8008a48: 091b lsrs r3, r3, #4 + 8008a4a: f003 0301 and.w r3, r3, #1 if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ - 8008496: 2b00 cmp r3, #0 - 8008498: d044 beq.n 8008524 + 8008a4e: 2b00 cmp r3, #0 + 8008a50: d044 beq.n 8008adc { /* Check that I2C transfer finished */ /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ /* Mean XferCount == 0*/ /* So clear Flag NACKF only */ if (hi2c->XferCount == 0U) - 800849a: 687b ldr r3, [r7, #4] - 800849c: 8d5b ldrh r3, [r3, #42] @ 0x2a - 800849e: b29b uxth r3, r3 - 80084a0: 2b00 cmp r3, #0 - 80084a2: d128 bne.n 80084f6 + 8008a52: 687b ldr r3, [r7, #4] + 8008a54: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008a56: b29b uxth r3, r3 + 8008a58: 2b00 cmp r3, #0 + 8008a5a: d128 bne.n 8008aae { if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) - 80084a4: 687b ldr r3, [r7, #4] - 80084a6: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80084aa: b2db uxtb r3, r3 - 80084ac: 2b28 cmp r3, #40 @ 0x28 - 80084ae: d108 bne.n 80084c2 - 80084b0: 68fb ldr r3, [r7, #12] - 80084b2: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 - 80084b6: d104 bne.n 80084c2 + 8008a5c: 687b ldr r3, [r7, #4] + 8008a5e: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008a62: b2db uxtb r3, r3 + 8008a64: 2b28 cmp r3, #40 @ 0x28 + 8008a66: d108 bne.n 8008a7a + 8008a68: 68fb ldr r3, [r7, #12] + 8008a6a: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 + 8008a6e: d104 bne.n 8008a7a /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for Warning[Pa134]: left and right operands are identical */ { /* Call I2C Listen complete process */ I2C_ITListenCplt(hi2c, tmpITFlags); - 80084b8: 6979 ldr r1, [r7, #20] - 80084ba: 6878 ldr r0, [r7, #4] - 80084bc: f000 f894 bl 80085e8 - 80084c0: e030 b.n 8008524 + 8008a70: 6979 ldr r1, [r7, #20] + 8008a72: 6878 ldr r0, [r7, #4] + 8008a74: f000 f894 bl 8008ba0 + 8008a78: e030 b.n 8008adc } else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)) - 80084c2: 687b ldr r3, [r7, #4] - 80084c4: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80084c8: b2db uxtb r3, r3 - 80084ca: 2b29 cmp r3, #41 @ 0x29 - 80084cc: d10e bne.n 80084ec - 80084ce: 68fb ldr r3, [r7, #12] - 80084d0: f513 3f80 cmn.w r3, #65536 @ 0x10000 - 80084d4: d00a beq.n 80084ec + 8008a7a: 687b ldr r3, [r7, #4] + 8008a7c: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008a80: b2db uxtb r3, r3 + 8008a82: 2b29 cmp r3, #41 @ 0x29 + 8008a84: d10e bne.n 8008aa4 + 8008a86: 68fb ldr r3, [r7, #12] + 8008a88: f513 3f80 cmn.w r3, #65536 @ 0x10000 + 8008a8c: d00a beq.n 8008aa4 { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 80084d6: 687b ldr r3, [r7, #4] - 80084d8: 681b ldr r3, [r3, #0] - 80084da: 2210 movs r2, #16 - 80084dc: 61da str r2, [r3, #28] + 8008a8e: 687b ldr r3, [r7, #4] + 8008a90: 681b ldr r3, [r3, #0] + 8008a92: 2210 movs r2, #16 + 8008a94: 61da str r2, [r3, #28] /* Flush TX register */ I2C_Flush_TXDR(hi2c); - 80084de: 6878 ldr r0, [r7, #4] - 80084e0: f000 f9ef bl 80088c2 + 8008a96: 6878 ldr r0, [r7, #4] + 8008a98: f000 f9ef bl 8008e7a /* Last Byte is Transmitted */ /* Call I2C Slave Sequential complete process */ I2C_ITSlaveSeqCplt(hi2c); - 80084e4: 6878 ldr r0, [r7, #4] - 80084e6: f7ff fded bl 80080c4 - 80084ea: e01b b.n 8008524 + 8008a9c: 6878 ldr r0, [r7, #4] + 8008a9e: f7ff fded bl 800867c + 8008aa2: e01b b.n 8008adc } else { /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 80084ec: 687b ldr r3, [r7, #4] - 80084ee: 681b ldr r3, [r3, #0] - 80084f0: 2210 movs r2, #16 - 80084f2: 61da str r2, [r3, #28] - 80084f4: e016 b.n 8008524 + 8008aa4: 687b ldr r3, [r7, #4] + 8008aa6: 681b ldr r3, [r3, #0] + 8008aa8: 2210 movs r2, #16 + 8008aaa: 61da str r2, [r3, #28] + 8008aac: e016 b.n 8008adc } else { /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 80084f6: 687b ldr r3, [r7, #4] - 80084f8: 681b ldr r3, [r3, #0] - 80084fa: 2210 movs r2, #16 - 80084fc: 61da str r2, [r3, #28] + 8008aae: 687b ldr r3, [r7, #4] + 8008ab0: 681b ldr r3, [r3, #0] + 8008ab2: 2210 movs r2, #16 + 8008ab4: 61da str r2, [r3, #28] /* Set ErrorCode corresponding to a Non-Acknowledge */ hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 80084fe: 687b ldr r3, [r7, #4] - 8008500: 6c5b ldr r3, [r3, #68] @ 0x44 - 8008502: f043 0204 orr.w r2, r3, #4 - 8008506: 687b ldr r3, [r7, #4] - 8008508: 645a str r2, [r3, #68] @ 0x44 + 8008ab6: 687b ldr r3, [r7, #4] + 8008ab8: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008aba: f043 0204 orr.w r2, r3, #4 + 8008abe: 687b ldr r3, [r7, #4] + 8008ac0: 645a str r2, [r3, #68] @ 0x44 if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) - 800850a: 68fb ldr r3, [r7, #12] - 800850c: 2b00 cmp r3, #0 - 800850e: d003 beq.n 8008518 - 8008510: 68fb ldr r3, [r7, #12] - 8008512: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 - 8008516: d105 bne.n 8008524 + 8008ac2: 68fb ldr r3, [r7, #12] + 8008ac4: 2b00 cmp r3, #0 + 8008ac6: d003 beq.n 8008ad0 + 8008ac8: 68fb ldr r3, [r7, #12] + 8008aca: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 + 8008ace: d105 bne.n 8008adc { /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, hi2c->ErrorCode); - 8008518: 687b ldr r3, [r7, #4] - 800851a: 6c5b ldr r3, [r3, #68] @ 0x44 - 800851c: 4619 mov r1, r3 - 800851e: 6878 ldr r0, [r7, #4] - 8008520: f000 f8b8 bl 8008694 + 8008ad0: 687b ldr r3, [r7, #4] + 8008ad2: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008ad4: 4619 mov r1, r3 + 8008ad6: 6878 ldr r0, [r7, #4] + 8008ad8: f000 f8b8 bl 8008c4c } } } hi2c->Mode = HAL_I2C_MODE_NONE; - 8008524: 687b ldr r3, [r7, #4] - 8008526: 2200 movs r2, #0 - 8008528: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 8008adc: 687b ldr r3, [r7, #4] + 8008ade: 2200 movs r2, #0 + 8008ae0: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->XferISR = NULL; - 800852c: 687b ldr r3, [r7, #4] - 800852e: 2200 movs r2, #0 - 8008530: 635a str r2, [r3, #52] @ 0x34 + 8008ae4: 687b ldr r3, [r7, #4] + 8008ae6: 2200 movs r2, #0 + 8008ae8: 635a str r2, [r3, #52] @ 0x34 if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE) - 8008532: 687b ldr r3, [r7, #4] - 8008534: 6c5b ldr r3, [r3, #68] @ 0x44 - 8008536: 2b00 cmp r3, #0 - 8008538: d010 beq.n 800855c + 8008aea: 687b ldr r3, [r7, #4] + 8008aec: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008aee: 2b00 cmp r3, #0 + 8008af0: d010 beq.n 8008b14 { /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, hi2c->ErrorCode); - 800853a: 687b ldr r3, [r7, #4] - 800853c: 6c5b ldr r3, [r3, #68] @ 0x44 - 800853e: 4619 mov r1, r3 - 8008540: 6878 ldr r0, [r7, #4] - 8008542: f000 f8a7 bl 8008694 + 8008af2: 687b ldr r3, [r7, #4] + 8008af4: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008af6: 4619 mov r1, r3 + 8008af8: 6878 ldr r0, [r7, #4] + 8008afa: f000 f8a7 bl 8008c4c /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ if (hi2c->State == HAL_I2C_STATE_LISTEN) - 8008546: 687b ldr r3, [r7, #4] - 8008548: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 800854c: b2db uxtb r3, r3 - 800854e: 2b28 cmp r3, #40 @ 0x28 - 8008550: d141 bne.n 80085d6 + 8008afe: 687b ldr r3, [r7, #4] + 8008b00: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008b04: b2db uxtb r3, r3 + 8008b06: 2b28 cmp r3, #40 @ 0x28 + 8008b08: d141 bne.n 8008b8e { /* Call I2C Listen complete process */ I2C_ITListenCplt(hi2c, tmpITFlags); - 8008552: 6979 ldr r1, [r7, #20] - 8008554: 6878 ldr r0, [r7, #4] - 8008556: f000 f847 bl 80085e8 + 8008b0a: 6979 ldr r1, [r7, #20] + 8008b0c: 6878 ldr r0, [r7, #4] + 8008b0e: f000 f847 bl 8008ba0 hi2c->SlaveTxCpltCallback(hi2c); #else HAL_I2C_SlaveTxCpltCallback(hi2c); #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ } } - 800855a: e03c b.n 80085d6 + 8008b12: e03c b.n 8008b8e else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) - 800855c: 687b ldr r3, [r7, #4] - 800855e: 6adb ldr r3, [r3, #44] @ 0x2c - 8008560: f513 3f80 cmn.w r3, #65536 @ 0x10000 - 8008564: d014 beq.n 8008590 + 8008b14: 687b ldr r3, [r7, #4] + 8008b16: 6adb ldr r3, [r3, #44] @ 0x2c + 8008b18: f513 3f80 cmn.w r3, #65536 @ 0x10000 + 8008b1c: d014 beq.n 8008b48 I2C_ITSlaveSeqCplt(hi2c); - 8008566: 6878 ldr r0, [r7, #4] - 8008568: f7ff fdac bl 80080c4 + 8008b1e: 6878 ldr r0, [r7, #4] + 8008b20: f7ff fdac bl 800867c hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 800856c: 687b ldr r3, [r7, #4] - 800856e: 4a1d ldr r2, [pc, #116] @ (80085e4 ) - 8008570: 62da str r2, [r3, #44] @ 0x2c + 8008b24: 687b ldr r3, [r7, #4] + 8008b26: 4a1d ldr r2, [pc, #116] @ (8008b9c ) + 8008b28: 62da str r2, [r3, #44] @ 0x2c hi2c->State = HAL_I2C_STATE_READY; - 8008572: 687b ldr r3, [r7, #4] - 8008574: 2220 movs r2, #32 - 8008576: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8008b2a: 687b ldr r3, [r7, #4] + 8008b2c: 2220 movs r2, #32 + 8008b2e: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; - 800857a: 687b ldr r3, [r7, #4] - 800857c: 2200 movs r2, #0 - 800857e: 631a str r2, [r3, #48] @ 0x30 + 8008b32: 687b ldr r3, [r7, #4] + 8008b34: 2200 movs r2, #0 + 8008b36: 631a str r2, [r3, #48] @ 0x30 __HAL_UNLOCK(hi2c); - 8008580: 687b ldr r3, [r7, #4] - 8008582: 2200 movs r2, #0 - 8008584: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008b38: 687b ldr r3, [r7, #4] + 8008b3a: 2200 movs r2, #0 + 8008b3c: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_ListenCpltCallback(hi2c); - 8008588: 6878 ldr r0, [r7, #4] - 800858a: f7ff f8b2 bl 80076f2 + 8008b40: 6878 ldr r0, [r7, #4] + 8008b42: f7ff f8b2 bl 8007caa } - 800858e: e022 b.n 80085d6 + 8008b46: e022 b.n 8008b8e else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) - 8008590: 687b ldr r3, [r7, #4] - 8008592: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008596: b2db uxtb r3, r3 - 8008598: 2b22 cmp r3, #34 @ 0x22 - 800859a: d10e bne.n 80085ba + 8008b48: 687b ldr r3, [r7, #4] + 8008b4a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008b4e: b2db uxtb r3, r3 + 8008b50: 2b22 cmp r3, #34 @ 0x22 + 8008b52: d10e bne.n 8008b72 hi2c->State = HAL_I2C_STATE_READY; - 800859c: 687b ldr r3, [r7, #4] - 800859e: 2220 movs r2, #32 - 80085a0: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8008b54: 687b ldr r3, [r7, #4] + 8008b56: 2220 movs r2, #32 + 8008b58: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; - 80085a4: 687b ldr r3, [r7, #4] - 80085a6: 2200 movs r2, #0 - 80085a8: 631a str r2, [r3, #48] @ 0x30 + 8008b5c: 687b ldr r3, [r7, #4] + 8008b5e: 2200 movs r2, #0 + 8008b60: 631a str r2, [r3, #48] @ 0x30 __HAL_UNLOCK(hi2c); - 80085aa: 687b ldr r3, [r7, #4] - 80085ac: 2200 movs r2, #0 - 80085ae: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008b62: 687b ldr r3, [r7, #4] + 8008b64: 2200 movs r2, #0 + 8008b66: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_SlaveRxCpltCallback(hi2c); - 80085b2: 6878 ldr r0, [r7, #4] - 80085b4: f7ff f885 bl 80076c2 + 8008b6a: 6878 ldr r0, [r7, #4] + 8008b6c: f7ff f885 bl 8007c7a } - 80085b8: e00d b.n 80085d6 + 8008b70: e00d b.n 8008b8e hi2c->State = HAL_I2C_STATE_READY; - 80085ba: 687b ldr r3, [r7, #4] - 80085bc: 2220 movs r2, #32 - 80085be: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8008b72: 687b ldr r3, [r7, #4] + 8008b74: 2220 movs r2, #32 + 8008b76: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; - 80085c2: 687b ldr r3, [r7, #4] - 80085c4: 2200 movs r2, #0 - 80085c6: 631a str r2, [r3, #48] @ 0x30 + 8008b7a: 687b ldr r3, [r7, #4] + 8008b7c: 2200 movs r2, #0 + 8008b7e: 631a str r2, [r3, #48] @ 0x30 __HAL_UNLOCK(hi2c); - 80085c8: 687b ldr r3, [r7, #4] - 80085ca: 2200 movs r2, #0 - 80085cc: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008b80: 687b ldr r3, [r7, #4] + 8008b82: 2200 movs r2, #0 + 8008b84: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_SlaveTxCpltCallback(hi2c); - 80085d0: 6878 ldr r0, [r7, #4] - 80085d2: f7ff f86c bl 80076ae + 8008b88: 6878 ldr r0, [r7, #4] + 8008b8a: f7ff f86c bl 8007c66 } - 80085d6: bf00 nop - 80085d8: 3718 adds r7, #24 - 80085da: 46bd mov sp, r7 - 80085dc: bd80 pop {r7, pc} - 80085de: bf00 nop - 80085e0: fe00e800 .word 0xfe00e800 - 80085e4: ffff0000 .word 0xffff0000 + 8008b8e: bf00 nop + 8008b90: 3718 adds r7, #24 + 8008b92: 46bd mov sp, r7 + 8008b94: bd80 pop {r7, pc} + 8008b96: bf00 nop + 8008b98: fe00e800 .word 0xfe00e800 + 8008b9c: ffff0000 .word 0xffff0000 -080085e8 : +08008ba0 : * @param hi2c I2C handle. * @param ITFlags Interrupt flags to handle. * @retval None */ static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) { - 80085e8: b580 push {r7, lr} - 80085ea: b082 sub sp, #8 - 80085ec: af00 add r7, sp, #0 - 80085ee: 6078 str r0, [r7, #4] - 80085f0: 6039 str r1, [r7, #0] + 8008ba0: b580 push {r7, lr} + 8008ba2: b082 sub sp, #8 + 8008ba4: af00 add r7, sp, #0 + 8008ba6: 6078 str r0, [r7, #4] + 8008ba8: 6039 str r1, [r7, #0] /* Reset handle parameters */ hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 80085f2: 687b ldr r3, [r7, #4] - 80085f4: 4a26 ldr r2, [pc, #152] @ (8008690 ) - 80085f6: 62da str r2, [r3, #44] @ 0x2c + 8008baa: 687b ldr r3, [r7, #4] + 8008bac: 4a26 ldr r2, [pc, #152] @ (8008c48 ) + 8008bae: 62da str r2, [r3, #44] @ 0x2c hi2c->PreviousState = I2C_STATE_NONE; - 80085f8: 687b ldr r3, [r7, #4] - 80085fa: 2200 movs r2, #0 - 80085fc: 631a str r2, [r3, #48] @ 0x30 + 8008bb0: 687b ldr r3, [r7, #4] + 8008bb2: 2200 movs r2, #0 + 8008bb4: 631a str r2, [r3, #48] @ 0x30 hi2c->State = HAL_I2C_STATE_READY; - 80085fe: 687b ldr r3, [r7, #4] - 8008600: 2220 movs r2, #32 - 8008602: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8008bb6: 687b ldr r3, [r7, #4] + 8008bb8: 2220 movs r2, #32 + 8008bba: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->Mode = HAL_I2C_MODE_NONE; - 8008606: 687b ldr r3, [r7, #4] - 8008608: 2200 movs r2, #0 - 800860a: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 8008bbe: 687b ldr r3, [r7, #4] + 8008bc0: 2200 movs r2, #0 + 8008bc2: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->XferISR = NULL; - 800860e: 687b ldr r3, [r7, #4] - 8008610: 2200 movs r2, #0 - 8008612: 635a str r2, [r3, #52] @ 0x34 + 8008bc6: 687b ldr r3, [r7, #4] + 8008bc8: 2200 movs r2, #0 + 8008bca: 635a str r2, [r3, #52] @ 0x34 /* Store Last receive data if any */ if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET) - 8008614: 683b ldr r3, [r7, #0] - 8008616: 089b lsrs r3, r3, #2 - 8008618: f003 0301 and.w r3, r3, #1 - 800861c: 2b00 cmp r3, #0 - 800861e: d022 beq.n 8008666 + 8008bcc: 683b ldr r3, [r7, #0] + 8008bce: 089b lsrs r3, r3, #2 + 8008bd0: f003 0301 and.w r3, r3, #1 + 8008bd4: 2b00 cmp r3, #0 + 8008bd6: d022 beq.n 8008c1e { /* Read data from RXDR */ *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; - 8008620: 687b ldr r3, [r7, #4] - 8008622: 681b ldr r3, [r3, #0] - 8008624: 6a5a ldr r2, [r3, #36] @ 0x24 - 8008626: 687b ldr r3, [r7, #4] - 8008628: 6a5b ldr r3, [r3, #36] @ 0x24 - 800862a: b2d2 uxtb r2, r2 - 800862c: 701a strb r2, [r3, #0] + 8008bd8: 687b ldr r3, [r7, #4] + 8008bda: 681b ldr r3, [r3, #0] + 8008bdc: 6a5a ldr r2, [r3, #36] @ 0x24 + 8008bde: 687b ldr r3, [r7, #4] + 8008be0: 6a5b ldr r3, [r3, #36] @ 0x24 + 8008be2: b2d2 uxtb r2, r2 + 8008be4: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hi2c->pBuffPtr++; - 800862e: 687b ldr r3, [r7, #4] - 8008630: 6a5b ldr r3, [r3, #36] @ 0x24 - 8008632: 1c5a adds r2, r3, #1 - 8008634: 687b ldr r3, [r7, #4] - 8008636: 625a str r2, [r3, #36] @ 0x24 + 8008be6: 687b ldr r3, [r7, #4] + 8008be8: 6a5b ldr r3, [r3, #36] @ 0x24 + 8008bea: 1c5a adds r2, r3, #1 + 8008bec: 687b ldr r3, [r7, #4] + 8008bee: 625a str r2, [r3, #36] @ 0x24 if (hi2c->XferSize > 0U) - 8008638: 687b ldr r3, [r7, #4] - 800863a: 8d1b ldrh r3, [r3, #40] @ 0x28 - 800863c: 2b00 cmp r3, #0 - 800863e: d012 beq.n 8008666 + 8008bf0: 687b ldr r3, [r7, #4] + 8008bf2: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8008bf4: 2b00 cmp r3, #0 + 8008bf6: d012 beq.n 8008c1e { hi2c->XferSize--; - 8008640: 687b ldr r3, [r7, #4] - 8008642: 8d1b ldrh r3, [r3, #40] @ 0x28 - 8008644: 3b01 subs r3, #1 - 8008646: b29a uxth r2, r3 - 8008648: 687b ldr r3, [r7, #4] - 800864a: 851a strh r2, [r3, #40] @ 0x28 + 8008bf8: 687b ldr r3, [r7, #4] + 8008bfa: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8008bfc: 3b01 subs r3, #1 + 8008bfe: b29a uxth r2, r3 + 8008c00: 687b ldr r3, [r7, #4] + 8008c02: 851a strh r2, [r3, #40] @ 0x28 hi2c->XferCount--; - 800864c: 687b ldr r3, [r7, #4] - 800864e: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8008650: b29b uxth r3, r3 - 8008652: 3b01 subs r3, #1 - 8008654: b29a uxth r2, r3 - 8008656: 687b ldr r3, [r7, #4] - 8008658: 855a strh r2, [r3, #42] @ 0x2a + 8008c04: 687b ldr r3, [r7, #4] + 8008c06: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008c08: b29b uxth r3, r3 + 8008c0a: 3b01 subs r3, #1 + 8008c0c: b29a uxth r2, r3 + 8008c0e: 687b ldr r3, [r7, #4] + 8008c10: 855a strh r2, [r3, #42] @ 0x2a /* Set ErrorCode corresponding to a Non-Acknowledge */ hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 800865a: 687b ldr r3, [r7, #4] - 800865c: 6c5b ldr r3, [r3, #68] @ 0x44 - 800865e: f043 0204 orr.w r2, r3, #4 - 8008662: 687b ldr r3, [r7, #4] - 8008664: 645a str r2, [r3, #68] @ 0x44 + 8008c12: 687b ldr r3, [r7, #4] + 8008c14: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008c16: f043 0204 orr.w r2, r3, #4 + 8008c1a: 687b ldr r3, [r7, #4] + 8008c1c: 645a str r2, [r3, #68] @ 0x44 } } /* Disable all Interrupts*/ I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT); - 8008666: f248 0103 movw r1, #32771 @ 0x8003 - 800866a: 6878 ldr r0, [r7, #4] - 800866c: f000 face bl 8008c0c + 8008c1e: f248 0103 movw r1, #32771 @ 0x8003 + 8008c22: 6878 ldr r0, [r7, #4] + 8008c24: f000 face bl 80091c4 /* Clear NACK Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 8008670: 687b ldr r3, [r7, #4] - 8008672: 681b ldr r3, [r3, #0] - 8008674: 2210 movs r2, #16 - 8008676: 61da str r2, [r3, #28] + 8008c28: 687b ldr r3, [r7, #4] + 8008c2a: 681b ldr r3, [r3, #0] + 8008c2c: 2210 movs r2, #16 + 8008c2e: 61da str r2, [r3, #28] /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8008678: 687b ldr r3, [r7, #4] - 800867a: 2200 movs r2, #0 - 800867c: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008c30: 687b ldr r3, [r7, #4] + 8008c32: 2200 movs r2, #0 + 8008c34: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) hi2c->ListenCpltCallback(hi2c); #else HAL_I2C_ListenCpltCallback(hi2c); - 8008680: 6878 ldr r0, [r7, #4] - 8008682: f7ff f836 bl 80076f2 + 8008c38: 6878 ldr r0, [r7, #4] + 8008c3a: f7ff f836 bl 8007caa #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ } - 8008686: bf00 nop - 8008688: 3708 adds r7, #8 - 800868a: 46bd mov sp, r7 - 800868c: bd80 pop {r7, pc} - 800868e: bf00 nop - 8008690: ffff0000 .word 0xffff0000 + 8008c3e: bf00 nop + 8008c40: 3708 adds r7, #8 + 8008c42: 46bd mov sp, r7 + 8008c44: bd80 pop {r7, pc} + 8008c46: bf00 nop + 8008c48: ffff0000 .word 0xffff0000 -08008694 : +08008c4c : * @param hi2c I2C handle. * @param ErrorCode Error code to handle. * @retval None */ static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode) { - 8008694: b580 push {r7, lr} - 8008696: b084 sub sp, #16 - 8008698: af00 add r7, sp, #0 - 800869a: 6078 str r0, [r7, #4] - 800869c: 6039 str r1, [r7, #0] + 8008c4c: b580 push {r7, lr} + 8008c4e: b084 sub sp, #16 + 8008c50: af00 add r7, sp, #0 + 8008c52: 6078 str r0, [r7, #4] + 8008c54: 6039 str r1, [r7, #0] HAL_I2C_StateTypeDef tmpstate = hi2c->State; - 800869e: 687b ldr r3, [r7, #4] - 80086a0: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 80086a4: 73fb strb r3, [r7, #15] + 8008c56: 687b ldr r3, [r7, #4] + 8008c58: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008c5c: 73fb strb r3, [r7, #15] #if defined(HAL_DMA_MODULE_ENABLED) uint32_t tmppreviousstate; #endif /* HAL_DMA_MODULE_ENABLED */ /* Reset handle parameters */ hi2c->Mode = HAL_I2C_MODE_NONE; - 80086a6: 687b ldr r3, [r7, #4] - 80086a8: 2200 movs r2, #0 - 80086aa: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 8008c5e: 687b ldr r3, [r7, #4] + 8008c60: 2200 movs r2, #0 + 8008c62: f883 2042 strb.w r2, [r3, #66] @ 0x42 hi2c->XferOptions = I2C_NO_OPTION_FRAME; - 80086ae: 687b ldr r3, [r7, #4] - 80086b0: 4a6d ldr r2, [pc, #436] @ (8008868 ) - 80086b2: 62da str r2, [r3, #44] @ 0x2c + 8008c66: 687b ldr r3, [r7, #4] + 8008c68: 4a6d ldr r2, [pc, #436] @ (8008e20 ) + 8008c6a: 62da str r2, [r3, #44] @ 0x2c hi2c->XferCount = 0U; - 80086b4: 687b ldr r3, [r7, #4] - 80086b6: 2200 movs r2, #0 - 80086b8: 855a strh r2, [r3, #42] @ 0x2a + 8008c6c: 687b ldr r3, [r7, #4] + 8008c6e: 2200 movs r2, #0 + 8008c70: 855a strh r2, [r3, #42] @ 0x2a /* Set new error code */ hi2c->ErrorCode |= ErrorCode; - 80086ba: 687b ldr r3, [r7, #4] - 80086bc: 6c5a ldr r2, [r3, #68] @ 0x44 - 80086be: 683b ldr r3, [r7, #0] - 80086c0: 431a orrs r2, r3 - 80086c2: 687b ldr r3, [r7, #4] - 80086c4: 645a str r2, [r3, #68] @ 0x44 + 8008c72: 687b ldr r3, [r7, #4] + 8008c74: 6c5a ldr r2, [r3, #68] @ 0x44 + 8008c76: 683b ldr r3, [r7, #0] + 8008c78: 431a orrs r2, r3 + 8008c7a: 687b ldr r3, [r7, #4] + 8008c7c: 645a str r2, [r3, #68] @ 0x44 /* Disable Interrupts */ if ((tmpstate == HAL_I2C_STATE_LISTEN) || - 80086c6: 7bfb ldrb r3, [r7, #15] - 80086c8: 2b28 cmp r3, #40 @ 0x28 - 80086ca: d005 beq.n 80086d8 - 80086cc: 7bfb ldrb r3, [r7, #15] - 80086ce: 2b29 cmp r3, #41 @ 0x29 - 80086d0: d002 beq.n 80086d8 + 8008c7e: 7bfb ldrb r3, [r7, #15] + 8008c80: 2b28 cmp r3, #40 @ 0x28 + 8008c82: d005 beq.n 8008c90 + 8008c84: 7bfb ldrb r3, [r7, #15] + 8008c86: 2b29 cmp r3, #41 @ 0x29 + 8008c88: d002 beq.n 8008c90 (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || - 80086d2: 7bfb ldrb r3, [r7, #15] - 80086d4: 2b2a cmp r3, #42 @ 0x2a - 80086d6: d10b bne.n 80086f0 + 8008c8a: 7bfb ldrb r3, [r7, #15] + 8008c8c: 2b2a cmp r3, #42 @ 0x2a + 8008c8e: d10b bne.n 8008ca8 (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) { /* Disable all interrupts, except interrupts related to LISTEN state */ I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT); - 80086d8: 2103 movs r1, #3 - 80086da: 6878 ldr r0, [r7, #4] - 80086dc: f000 fa96 bl 8008c0c + 8008c90: 2103 movs r1, #3 + 8008c92: 6878 ldr r0, [r7, #4] + 8008c94: f000 fa96 bl 80091c4 /* keep HAL_I2C_STATE_LISTEN if set */ hi2c->State = HAL_I2C_STATE_LISTEN; - 80086e0: 687b ldr r3, [r7, #4] - 80086e2: 2228 movs r2, #40 @ 0x28 - 80086e4: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8008c98: 687b ldr r3, [r7, #4] + 8008c9a: 2228 movs r2, #40 @ 0x28 + 8008c9c: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->XferISR = I2C_Slave_ISR_IT; - 80086e8: 687b ldr r3, [r7, #4] - 80086ea: 4a60 ldr r2, [pc, #384] @ (800886c ) - 80086ec: 635a str r2, [r3, #52] @ 0x34 - 80086ee: e030 b.n 8008752 + 8008ca0: 687b ldr r3, [r7, #4] + 8008ca2: 4a60 ldr r2, [pc, #384] @ (8008e24 ) + 8008ca4: 635a str r2, [r3, #52] @ 0x34 + 8008ca6: e030 b.n 8008d0a } else { /* Disable all interrupts */ I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT); - 80086f0: f248 0103 movw r1, #32771 @ 0x8003 - 80086f4: 6878 ldr r0, [r7, #4] - 80086f6: f000 fa89 bl 8008c0c + 8008ca8: f248 0103 movw r1, #32771 @ 0x8003 + 8008cac: 6878 ldr r0, [r7, #4] + 8008cae: f000 fa89 bl 80091c4 /* Flush TX register */ I2C_Flush_TXDR(hi2c); - 80086fa: 6878 ldr r0, [r7, #4] - 80086fc: f000 f8e1 bl 80088c2 + 8008cb2: 6878 ldr r0, [r7, #4] + 8008cb4: f000 f8e1 bl 8008e7a /* If state is an abort treatment on going, don't change state */ /* This change will be do later */ if (hi2c->State != HAL_I2C_STATE_ABORT) - 8008700: 687b ldr r3, [r7, #4] - 8008702: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008706: b2db uxtb r3, r3 - 8008708: 2b60 cmp r3, #96 @ 0x60 - 800870a: d01f beq.n 800874c + 8008cb8: 687b ldr r3, [r7, #4] + 8008cba: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008cbe: b2db uxtb r3, r3 + 8008cc0: 2b60 cmp r3, #96 @ 0x60 + 8008cc2: d01f beq.n 8008d04 { /* Set HAL_I2C_STATE_READY */ hi2c->State = HAL_I2C_STATE_READY; - 800870c: 687b ldr r3, [r7, #4] - 800870e: 2220 movs r2, #32 - 8008710: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8008cc4: 687b ldr r3, [r7, #4] + 8008cc6: 2220 movs r2, #32 + 8008cc8: f883 2041 strb.w r2, [r3, #65] @ 0x41 /* Check if a STOPF is detected */ if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) - 8008714: 687b ldr r3, [r7, #4] - 8008716: 681b ldr r3, [r3, #0] - 8008718: 699b ldr r3, [r3, #24] - 800871a: f003 0320 and.w r3, r3, #32 - 800871e: 2b20 cmp r3, #32 - 8008720: d114 bne.n 800874c + 8008ccc: 687b ldr r3, [r7, #4] + 8008cce: 681b ldr r3, [r3, #0] + 8008cd0: 699b ldr r3, [r3, #24] + 8008cd2: f003 0320 and.w r3, r3, #32 + 8008cd6: 2b20 cmp r3, #32 + 8008cd8: d114 bne.n 8008d04 { if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET) - 8008722: 687b ldr r3, [r7, #4] - 8008724: 681b ldr r3, [r3, #0] - 8008726: 699b ldr r3, [r3, #24] - 8008728: f003 0310 and.w r3, r3, #16 - 800872c: 2b10 cmp r3, #16 - 800872e: d109 bne.n 8008744 + 8008cda: 687b ldr r3, [r7, #4] + 8008cdc: 681b ldr r3, [r3, #0] + 8008cde: 699b ldr r3, [r3, #24] + 8008ce0: f003 0310 and.w r3, r3, #16 + 8008ce4: 2b10 cmp r3, #16 + 8008ce6: d109 bne.n 8008cfc { __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); - 8008730: 687b ldr r3, [r7, #4] - 8008732: 681b ldr r3, [r3, #0] - 8008734: 2210 movs r2, #16 - 8008736: 61da str r2, [r3, #28] + 8008ce8: 687b ldr r3, [r7, #4] + 8008cea: 681b ldr r3, [r3, #0] + 8008cec: 2210 movs r2, #16 + 8008cee: 61da str r2, [r3, #28] hi2c->ErrorCode |= HAL_I2C_ERROR_AF; - 8008738: 687b ldr r3, [r7, #4] - 800873a: 6c5b ldr r3, [r3, #68] @ 0x44 - 800873c: f043 0204 orr.w r2, r3, #4 - 8008740: 687b ldr r3, [r7, #4] - 8008742: 645a str r2, [r3, #68] @ 0x44 + 8008cf0: 687b ldr r3, [r7, #4] + 8008cf2: 6c5b ldr r3, [r3, #68] @ 0x44 + 8008cf4: f043 0204 orr.w r2, r3, #4 + 8008cf8: 687b ldr r3, [r7, #4] + 8008cfa: 645a str r2, [r3, #68] @ 0x44 } /* Clear STOP Flag */ __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); - 8008744: 687b ldr r3, [r7, #4] - 8008746: 681b ldr r3, [r3, #0] - 8008748: 2220 movs r2, #32 - 800874a: 61da str r2, [r3, #28] + 8008cfc: 687b ldr r3, [r7, #4] + 8008cfe: 681b ldr r3, [r3, #0] + 8008d00: 2220 movs r2, #32 + 8008d02: 61da str r2, [r3, #28] } } hi2c->XferISR = NULL; - 800874c: 687b ldr r3, [r7, #4] - 800874e: 2200 movs r2, #0 - 8008750: 635a str r2, [r3, #52] @ 0x34 + 8008d04: 687b ldr r3, [r7, #4] + 8008d06: 2200 movs r2, #0 + 8008d08: 635a str r2, [r3, #52] @ 0x34 } #if defined(HAL_DMA_MODULE_ENABLED) /* Abort DMA TX transfer if any */ tmppreviousstate = hi2c->PreviousState; - 8008752: 687b ldr r3, [r7, #4] - 8008754: 6b1b ldr r3, [r3, #48] @ 0x30 - 8008756: 60bb str r3, [r7, #8] + 8008d0a: 687b ldr r3, [r7, #4] + 8008d0c: 6b1b ldr r3, [r3, #48] @ 0x30 + 8008d0e: 60bb str r3, [r7, #8] if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \ - 8008758: 687b ldr r3, [r7, #4] - 800875a: 6b9b ldr r3, [r3, #56] @ 0x38 - 800875c: 2b00 cmp r3, #0 - 800875e: d039 beq.n 80087d4 - 8008760: 68bb ldr r3, [r7, #8] - 8008762: 2b11 cmp r3, #17 - 8008764: d002 beq.n 800876c - 8008766: 68bb ldr r3, [r7, #8] - 8008768: 2b21 cmp r3, #33 @ 0x21 - 800876a: d133 bne.n 80087d4 + 8008d10: 687b ldr r3, [r7, #4] + 8008d12: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008d14: 2b00 cmp r3, #0 + 8008d16: d039 beq.n 8008d8c + 8008d18: 68bb ldr r3, [r7, #8] + 8008d1a: 2b11 cmp r3, #17 + 8008d1c: d002 beq.n 8008d24 + 8008d1e: 68bb ldr r3, [r7, #8] + 8008d20: 2b21 cmp r3, #33 @ 0x21 + 8008d22: d133 bne.n 8008d8c (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) { if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) - 800876c: 687b ldr r3, [r7, #4] - 800876e: 681b ldr r3, [r3, #0] - 8008770: 681b ldr r3, [r3, #0] - 8008772: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 8008776: f5b3 4f80 cmp.w r3, #16384 @ 0x4000 - 800877a: d107 bne.n 800878c + 8008d24: 687b ldr r3, [r7, #4] + 8008d26: 681b ldr r3, [r3, #0] + 8008d28: 681b ldr r3, [r3, #0] + 8008d2a: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 8008d2e: f5b3 4f80 cmp.w r3, #16384 @ 0x4000 + 8008d32: d107 bne.n 8008d44 { hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; - 800877c: 687b ldr r3, [r7, #4] - 800877e: 681b ldr r3, [r3, #0] - 8008780: 681a ldr r2, [r3, #0] - 8008782: 687b ldr r3, [r7, #4] - 8008784: 681b ldr r3, [r3, #0] - 8008786: f422 4280 bic.w r2, r2, #16384 @ 0x4000 - 800878a: 601a str r2, [r3, #0] + 8008d34: 687b ldr r3, [r7, #4] + 8008d36: 681b ldr r3, [r3, #0] + 8008d38: 681a ldr r2, [r3, #0] + 8008d3a: 687b ldr r3, [r7, #4] + 8008d3c: 681b ldr r3, [r3, #0] + 8008d3e: f422 4280 bic.w r2, r2, #16384 @ 0x4000 + 8008d42: 601a str r2, [r3, #0] } if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY) - 800878c: 687b ldr r3, [r7, #4] - 800878e: 6b9b ldr r3, [r3, #56] @ 0x38 - 8008790: 4618 mov r0, r3 - 8008792: f7fe fa20 bl 8006bd6 - 8008796: 4603 mov r3, r0 - 8008798: 2b01 cmp r3, #1 - 800879a: d017 beq.n 80087cc + 8008d44: 687b ldr r3, [r7, #4] + 8008d46: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008d48: 4618 mov r0, r3 + 8008d4a: f7fe fa21 bl 8007190 + 8008d4e: 4603 mov r3, r0 + 8008d50: 2b01 cmp r3, #1 + 8008d52: d017 beq.n 8008d84 { /* Set the I2C DMA Abort callback : will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; - 800879c: 687b ldr r3, [r7, #4] - 800879e: 6b9b ldr r3, [r3, #56] @ 0x38 - 80087a0: 4a33 ldr r2, [pc, #204] @ (8008870 ) - 80087a2: 639a str r2, [r3, #56] @ 0x38 + 8008d54: 687b ldr r3, [r7, #4] + 8008d56: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008d58: 4a33 ldr r2, [pc, #204] @ (8008e28 ) + 8008d5a: 639a str r2, [r3, #56] @ 0x38 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 80087a4: 687b ldr r3, [r7, #4] - 80087a6: 2200 movs r2, #0 - 80087a8: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008d5c: 687b ldr r3, [r7, #4] + 8008d5e: 2200 movs r2, #0 + 8008d60: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Abort DMA TX */ if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) - 80087ac: 687b ldr r3, [r7, #4] - 80087ae: 6b9b ldr r3, [r3, #56] @ 0x38 - 80087b0: 4618 mov r0, r3 - 80087b2: f7fe f902 bl 80069ba - 80087b6: 4603 mov r3, r0 - 80087b8: 2b00 cmp r3, #0 - 80087ba: d04d beq.n 8008858 + 8008d64: 687b ldr r3, [r7, #4] + 8008d66: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008d68: 4618 mov r0, r3 + 8008d6a: f7fe f903 bl 8006f74 + 8008d6e: 4603 mov r3, r0 + 8008d70: 2b00 cmp r3, #0 + 8008d72: d04d beq.n 8008e10 { /* Call Directly XferAbortCallback function in case of error */ hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); - 80087bc: 687b ldr r3, [r7, #4] - 80087be: 6b9b ldr r3, [r3, #56] @ 0x38 - 80087c0: 6b9b ldr r3, [r3, #56] @ 0x38 - 80087c2: 687a ldr r2, [r7, #4] - 80087c4: 6b92 ldr r2, [r2, #56] @ 0x38 - 80087c6: 4610 mov r0, r2 - 80087c8: 4798 blx r3 + 8008d74: 687b ldr r3, [r7, #4] + 8008d76: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008d78: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008d7a: 687a ldr r2, [r7, #4] + 8008d7c: 6b92 ldr r2, [r2, #56] @ 0x38 + 8008d7e: 4610 mov r0, r2 + 8008d80: 4798 blx r3 if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY) - 80087ca: e045 b.n 8008858 + 8008d82: e045 b.n 8008e10 } } else { I2C_TreatErrorCallback(hi2c); - 80087cc: 6878 ldr r0, [r7, #4] - 80087ce: f000 f851 bl 8008874 + 8008d84: 6878 ldr r0, [r7, #4] + 8008d86: f000 f851 bl 8008e2c if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY) - 80087d2: e041 b.n 8008858 + 8008d8a: e041 b.n 8008e10 } } /* Abort DMA RX transfer if any */ else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \ - 80087d4: 687b ldr r3, [r7, #4] - 80087d6: 6bdb ldr r3, [r3, #60] @ 0x3c - 80087d8: 2b00 cmp r3, #0 - 80087da: d039 beq.n 8008850 - 80087dc: 68bb ldr r3, [r7, #8] - 80087de: 2b12 cmp r3, #18 - 80087e0: d002 beq.n 80087e8 - 80087e2: 68bb ldr r3, [r7, #8] - 80087e4: 2b22 cmp r3, #34 @ 0x22 - 80087e6: d133 bne.n 8008850 + 8008d8c: 687b ldr r3, [r7, #4] + 8008d8e: 6bdb ldr r3, [r3, #60] @ 0x3c + 8008d90: 2b00 cmp r3, #0 + 8008d92: d039 beq.n 8008e08 + 8008d94: 68bb ldr r3, [r7, #8] + 8008d96: 2b12 cmp r3, #18 + 8008d98: d002 beq.n 8008da0 + 8008d9a: 68bb ldr r3, [r7, #8] + 8008d9c: 2b22 cmp r3, #34 @ 0x22 + 8008d9e: d133 bne.n 8008e08 (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) { if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) - 80087e8: 687b ldr r3, [r7, #4] - 80087ea: 681b ldr r3, [r3, #0] - 80087ec: 681b ldr r3, [r3, #0] - 80087ee: f403 4300 and.w r3, r3, #32768 @ 0x8000 - 80087f2: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 - 80087f6: d107 bne.n 8008808 + 8008da0: 687b ldr r3, [r7, #4] + 8008da2: 681b ldr r3, [r3, #0] + 8008da4: 681b ldr r3, [r3, #0] + 8008da6: f403 4300 and.w r3, r3, #32768 @ 0x8000 + 8008daa: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 + 8008dae: d107 bne.n 8008dc0 { hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; - 80087f8: 687b ldr r3, [r7, #4] - 80087fa: 681b ldr r3, [r3, #0] - 80087fc: 681a ldr r2, [r3, #0] - 80087fe: 687b ldr r3, [r7, #4] - 8008800: 681b ldr r3, [r3, #0] - 8008802: f422 4200 bic.w r2, r2, #32768 @ 0x8000 - 8008806: 601a str r2, [r3, #0] + 8008db0: 687b ldr r3, [r7, #4] + 8008db2: 681b ldr r3, [r3, #0] + 8008db4: 681a ldr r2, [r3, #0] + 8008db6: 687b ldr r3, [r7, #4] + 8008db8: 681b ldr r3, [r3, #0] + 8008dba: f422 4200 bic.w r2, r2, #32768 @ 0x8000 + 8008dbe: 601a str r2, [r3, #0] } if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY) - 8008808: 687b ldr r3, [r7, #4] - 800880a: 6bdb ldr r3, [r3, #60] @ 0x3c - 800880c: 4618 mov r0, r3 - 800880e: f7fe f9e2 bl 8006bd6 - 8008812: 4603 mov r3, r0 - 8008814: 2b01 cmp r3, #1 - 8008816: d017 beq.n 8008848 + 8008dc0: 687b ldr r3, [r7, #4] + 8008dc2: 6bdb ldr r3, [r3, #60] @ 0x3c + 8008dc4: 4618 mov r0, r3 + 8008dc6: f7fe f9e3 bl 8007190 + 8008dca: 4603 mov r3, r0 + 8008dcc: 2b01 cmp r3, #1 + 8008dce: d017 beq.n 8008e00 { /* Set the I2C DMA Abort callback : will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; - 8008818: 687b ldr r3, [r7, #4] - 800881a: 6bdb ldr r3, [r3, #60] @ 0x3c - 800881c: 4a14 ldr r2, [pc, #80] @ (8008870 ) - 800881e: 639a str r2, [r3, #56] @ 0x38 + 8008dd0: 687b ldr r3, [r7, #4] + 8008dd2: 6bdb ldr r3, [r3, #60] @ 0x3c + 8008dd4: 4a14 ldr r2, [pc, #80] @ (8008e28 ) + 8008dd6: 639a str r2, [r3, #56] @ 0x38 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8008820: 687b ldr r3, [r7, #4] - 8008822: 2200 movs r2, #0 - 8008824: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008dd8: 687b ldr r3, [r7, #4] + 8008dda: 2200 movs r2, #0 + 8008ddc: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Abort DMA RX */ if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) - 8008828: 687b ldr r3, [r7, #4] - 800882a: 6bdb ldr r3, [r3, #60] @ 0x3c - 800882c: 4618 mov r0, r3 - 800882e: f7fe f8c4 bl 80069ba - 8008832: 4603 mov r3, r0 - 8008834: 2b00 cmp r3, #0 - 8008836: d011 beq.n 800885c + 8008de0: 687b ldr r3, [r7, #4] + 8008de2: 6bdb ldr r3, [r3, #60] @ 0x3c + 8008de4: 4618 mov r0, r3 + 8008de6: f7fe f8c5 bl 8006f74 + 8008dea: 4603 mov r3, r0 + 8008dec: 2b00 cmp r3, #0 + 8008dee: d011 beq.n 8008e14 { /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */ hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); - 8008838: 687b ldr r3, [r7, #4] - 800883a: 6bdb ldr r3, [r3, #60] @ 0x3c - 800883c: 6b9b ldr r3, [r3, #56] @ 0x38 - 800883e: 687a ldr r2, [r7, #4] - 8008840: 6bd2 ldr r2, [r2, #60] @ 0x3c - 8008842: 4610 mov r0, r2 - 8008844: 4798 blx r3 + 8008df0: 687b ldr r3, [r7, #4] + 8008df2: 6bdb ldr r3, [r3, #60] @ 0x3c + 8008df4: 6b9b ldr r3, [r3, #56] @ 0x38 + 8008df6: 687a ldr r2, [r7, #4] + 8008df8: 6bd2 ldr r2, [r2, #60] @ 0x3c + 8008dfa: 4610 mov r0, r2 + 8008dfc: 4798 blx r3 if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY) - 8008846: e009 b.n 800885c + 8008dfe: e009 b.n 8008e14 } } else { I2C_TreatErrorCallback(hi2c); - 8008848: 6878 ldr r0, [r7, #4] - 800884a: f000 f813 bl 8008874 + 8008e00: 6878 ldr r0, [r7, #4] + 8008e02: f000 f813 bl 8008e2c if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY) - 800884e: e005 b.n 800885c + 8008e06: e005 b.n 8008e14 } } else #endif /* HAL_DMA_MODULE_ENABLED */ { I2C_TreatErrorCallback(hi2c); - 8008850: 6878 ldr r0, [r7, #4] - 8008852: f000 f80f bl 8008874 + 8008e08: 6878 ldr r0, [r7, #4] + 8008e0a: f000 f80f bl 8008e2c } } - 8008856: e002 b.n 800885e + 8008e0e: e002 b.n 8008e16 if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY) - 8008858: bf00 nop - 800885a: e000 b.n 800885e + 8008e10: bf00 nop + 8008e12: e000 b.n 8008e16 if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY) - 800885c: bf00 nop + 8008e14: bf00 nop } - 800885e: bf00 nop - 8008860: 3710 adds r7, #16 - 8008862: 46bd mov sp, r7 - 8008864: bd80 pop {r7, pc} - 8008866: bf00 nop - 8008868: ffff0000 .word 0xffff0000 - 800886c: 08007733 .word 0x08007733 - 8008870: 08008a65 .word 0x08008a65 + 8008e16: bf00 nop + 8008e18: 3710 adds r7, #16 + 8008e1a: 46bd mov sp, r7 + 8008e1c: bd80 pop {r7, pc} + 8008e1e: bf00 nop + 8008e20: ffff0000 .word 0xffff0000 + 8008e24: 08007ceb .word 0x08007ceb + 8008e28: 0800901d .word 0x0800901d -08008874 : +08008e2c : * @brief I2C Error callback treatment. * @param hi2c I2C handle. * @retval None */ static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c) { - 8008874: b580 push {r7, lr} - 8008876: b082 sub sp, #8 - 8008878: af00 add r7, sp, #0 - 800887a: 6078 str r0, [r7, #4] + 8008e2c: b580 push {r7, lr} + 8008e2e: b082 sub sp, #8 + 8008e30: af00 add r7, sp, #0 + 8008e32: 6078 str r0, [r7, #4] if (hi2c->State == HAL_I2C_STATE_ABORT) - 800887c: 687b ldr r3, [r7, #4] - 800887e: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008882: b2db uxtb r3, r3 - 8008884: 2b60 cmp r3, #96 @ 0x60 - 8008886: d10e bne.n 80088a6 + 8008e34: 687b ldr r3, [r7, #4] + 8008e36: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8008e3a: b2db uxtb r3, r3 + 8008e3c: 2b60 cmp r3, #96 @ 0x60 + 8008e3e: d10e bne.n 8008e5e { hi2c->State = HAL_I2C_STATE_READY; - 8008888: 687b ldr r3, [r7, #4] - 800888a: 2220 movs r2, #32 - 800888c: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8008e40: 687b ldr r3, [r7, #4] + 8008e42: 2220 movs r2, #32 + 8008e44: f883 2041 strb.w r2, [r3, #65] @ 0x41 hi2c->PreviousState = I2C_STATE_NONE; - 8008890: 687b ldr r3, [r7, #4] - 8008892: 2200 movs r2, #0 - 8008894: 631a str r2, [r3, #48] @ 0x30 + 8008e48: 687b ldr r3, [r7, #4] + 8008e4a: 2200 movs r2, #0 + 8008e4c: 631a str r2, [r3, #48] @ 0x30 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8008896: 687b ldr r3, [r7, #4] - 8008898: 2200 movs r2, #0 - 800889a: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008e4e: 687b ldr r3, [r7, #4] + 8008e50: 2200 movs r2, #0 + 8008e52: f883 2040 strb.w r2, [r3, #64] @ 0x40 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) hi2c->AbortCpltCallback(hi2c); #else HAL_I2C_AbortCpltCallback(hi2c); - 800889e: 6878 ldr r0, [r7, #4] - 80088a0: f7fe ff31 bl 8007706 + 8008e56: 6878 ldr r0, [r7, #4] + 8008e58: f7fe ff31 bl 8007cbe hi2c->ErrorCallback(hi2c); #else HAL_I2C_ErrorCallback(hi2c); #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ } } - 80088a4: e009 b.n 80088ba + 8008e5c: e009 b.n 8008e72 hi2c->PreviousState = I2C_STATE_NONE; - 80088a6: 687b ldr r3, [r7, #4] - 80088a8: 2200 movs r2, #0 - 80088aa: 631a str r2, [r3, #48] @ 0x30 + 8008e5e: 687b ldr r3, [r7, #4] + 8008e60: 2200 movs r2, #0 + 8008e62: 631a str r2, [r3, #48] @ 0x30 __HAL_UNLOCK(hi2c); - 80088ac: 687b ldr r3, [r7, #4] - 80088ae: 2200 movs r2, #0 - 80088b0: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8008e64: 687b ldr r3, [r7, #4] + 8008e66: 2200 movs r2, #0 + 8008e68: f883 2040 strb.w r2, [r3, #64] @ 0x40 HAL_I2C_ErrorCallback(hi2c); - 80088b4: 6878 ldr r0, [r7, #4] - 80088b6: f7fc fd37 bl 8005328 + 8008e6c: 6878 ldr r0, [r7, #4] + 8008e6e: f7fc fb11 bl 8005494 } - 80088ba: bf00 nop - 80088bc: 3708 adds r7, #8 - 80088be: 46bd mov sp, r7 - 80088c0: bd80 pop {r7, pc} + 8008e72: bf00 nop + 8008e74: 3708 adds r7, #8 + 8008e76: 46bd mov sp, r7 + 8008e78: bd80 pop {r7, pc} -080088c2 : +08008e7a : * @brief I2C Tx data register flush process. * @param hi2c I2C handle. * @retval None */ static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c) { - 80088c2: b480 push {r7} - 80088c4: b083 sub sp, #12 - 80088c6: af00 add r7, sp, #0 - 80088c8: 6078 str r0, [r7, #4] + 8008e7a: b480 push {r7} + 8008e7c: b083 sub sp, #12 + 8008e7e: af00 add r7, sp, #0 + 8008e80: 6078 str r0, [r7, #4] /* If a pending TXIS flag is set */ /* Write a dummy data in TXDR to clear it */ if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET) - 80088ca: 687b ldr r3, [r7, #4] - 80088cc: 681b ldr r3, [r3, #0] - 80088ce: 699b ldr r3, [r3, #24] - 80088d0: f003 0302 and.w r3, r3, #2 - 80088d4: 2b02 cmp r3, #2 - 80088d6: d103 bne.n 80088e0 + 8008e82: 687b ldr r3, [r7, #4] + 8008e84: 681b ldr r3, [r3, #0] + 8008e86: 699b ldr r3, [r3, #24] + 8008e88: f003 0302 and.w r3, r3, #2 + 8008e8c: 2b02 cmp r3, #2 + 8008e8e: d103 bne.n 8008e98 { hi2c->Instance->TXDR = 0x00U; - 80088d8: 687b ldr r3, [r7, #4] - 80088da: 681b ldr r3, [r3, #0] - 80088dc: 2200 movs r2, #0 - 80088de: 629a str r2, [r3, #40] @ 0x28 + 8008e90: 687b ldr r3, [r7, #4] + 8008e92: 681b ldr r3, [r3, #0] + 8008e94: 2200 movs r2, #0 + 8008e96: 629a str r2, [r3, #40] @ 0x28 } /* Flush TX register if not empty */ if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET) - 80088e0: 687b ldr r3, [r7, #4] - 80088e2: 681b ldr r3, [r3, #0] - 80088e4: 699b ldr r3, [r3, #24] - 80088e6: f003 0301 and.w r3, r3, #1 - 80088ea: 2b01 cmp r3, #1 - 80088ec: d007 beq.n 80088fe + 8008e98: 687b ldr r3, [r7, #4] + 8008e9a: 681b ldr r3, [r3, #0] + 8008e9c: 699b ldr r3, [r3, #24] + 8008e9e: f003 0301 and.w r3, r3, #1 + 8008ea2: 2b01 cmp r3, #1 + 8008ea4: d007 beq.n 8008eb6 { __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE); - 80088ee: 687b ldr r3, [r7, #4] - 80088f0: 681b ldr r3, [r3, #0] - 80088f2: 699a ldr r2, [r3, #24] - 80088f4: 687b ldr r3, [r7, #4] - 80088f6: 681b ldr r3, [r3, #0] - 80088f8: f042 0201 orr.w r2, r2, #1 - 80088fc: 619a str r2, [r3, #24] + 8008ea6: 687b ldr r3, [r7, #4] + 8008ea8: 681b ldr r3, [r3, #0] + 8008eaa: 699a ldr r2, [r3, #24] + 8008eac: 687b ldr r3, [r7, #4] + 8008eae: 681b ldr r3, [r3, #0] + 8008eb0: f042 0201 orr.w r2, r2, #1 + 8008eb4: 619a str r2, [r3, #24] } } - 80088fe: bf00 nop - 8008900: 370c adds r7, #12 - 8008902: 46bd mov sp, r7 - 8008904: f85d 7b04 ldr.w r7, [sp], #4 - 8008908: 4770 bx lr + 8008eb6: bf00 nop + 8008eb8: 370c adds r7, #12 + 8008eba: 46bd mov sp, r7 + 8008ebc: f85d 7b04 ldr.w r7, [sp], #4 + 8008ec0: 4770 bx lr -0800890a : +08008ec2 : * @brief DMA I2C master transmit process complete callback. * @param hdma DMA handle * @retval None */ static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma) { - 800890a: b580 push {r7, lr} - 800890c: b084 sub sp, #16 - 800890e: af00 add r7, sp, #0 - 8008910: 6078 str r0, [r7, #4] + 8008ec2: b580 push {r7, lr} + 8008ec4: b084 sub sp, #16 + 8008ec6: af00 add r7, sp, #0 + 8008ec8: 6078 str r0, [r7, #4] /* Derogation MISRAC2012-Rule-11.5 */ I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 8008912: 687b ldr r3, [r7, #4] - 8008914: 6a9b ldr r3, [r3, #40] @ 0x28 - 8008916: 60fb str r3, [r7, #12] + 8008eca: 687b ldr r3, [r7, #4] + 8008ecc: 6a9b ldr r3, [r3, #40] @ 0x28 + 8008ece: 60fb str r3, [r7, #12] /* Disable DMA Request */ hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; - 8008918: 68fb ldr r3, [r7, #12] - 800891a: 681b ldr r3, [r3, #0] - 800891c: 681a ldr r2, [r3, #0] - 800891e: 68fb ldr r3, [r7, #12] - 8008920: 681b ldr r3, [r3, #0] - 8008922: f422 4280 bic.w r2, r2, #16384 @ 0x4000 - 8008926: 601a str r2, [r3, #0] + 8008ed0: 68fb ldr r3, [r7, #12] + 8008ed2: 681b ldr r3, [r3, #0] + 8008ed4: 681a ldr r2, [r3, #0] + 8008ed6: 68fb ldr r3, [r7, #12] + 8008ed8: 681b ldr r3, [r3, #0] + 8008eda: f422 4280 bic.w r2, r2, #16384 @ 0x4000 + 8008ede: 601a str r2, [r3, #0] /* If last transfer, enable STOP interrupt */ if (hi2c->XferCount == 0U) - 8008928: 68fb ldr r3, [r7, #12] - 800892a: 8d5b ldrh r3, [r3, #42] @ 0x2a - 800892c: b29b uxth r3, r3 - 800892e: 2b00 cmp r3, #0 - 8008930: d104 bne.n 800893c + 8008ee0: 68fb ldr r3, [r7, #12] + 8008ee2: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008ee4: b29b uxth r3, r3 + 8008ee6: 2b00 cmp r3, #0 + 8008ee8: d104 bne.n 8008ef4 { /* Enable STOP interrupt */ I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); - 8008932: 2120 movs r1, #32 - 8008934: 68f8 ldr r0, [r7, #12] - 8008936: f000 f8e5 bl 8008b04 + 8008eea: 2120 movs r1, #32 + 8008eec: 68f8 ldr r0, [r7, #12] + 8008eee: f000 f8e5 bl 80090bc { /* Enable TC interrupts */ I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); } } } - 800893a: e02d b.n 8008998 + 8008ef2: e02d b.n 8008f50 hi2c->pBuffPtr += hi2c->XferSize; - 800893c: 68fb ldr r3, [r7, #12] - 800893e: 6a5b ldr r3, [r3, #36] @ 0x24 - 8008940: 68fa ldr r2, [r7, #12] - 8008942: 8d12 ldrh r2, [r2, #40] @ 0x28 - 8008944: 441a add r2, r3 - 8008946: 68fb ldr r3, [r7, #12] - 8008948: 625a str r2, [r3, #36] @ 0x24 + 8008ef4: 68fb ldr r3, [r7, #12] + 8008ef6: 6a5b ldr r3, [r3, #36] @ 0x24 + 8008ef8: 68fa ldr r2, [r7, #12] + 8008efa: 8d12 ldrh r2, [r2, #40] @ 0x28 + 8008efc: 441a add r2, r3 + 8008efe: 68fb ldr r3, [r7, #12] + 8008f00: 625a str r2, [r3, #36] @ 0x24 if (hi2c->XferCount > MAX_NBYTE_SIZE) - 800894a: 68fb ldr r3, [r7, #12] - 800894c: 8d5b ldrh r3, [r3, #42] @ 0x2a - 800894e: b29b uxth r3, r3 - 8008950: 2bff cmp r3, #255 @ 0xff - 8008952: d903 bls.n 800895c + 8008f02: 68fb ldr r3, [r7, #12] + 8008f04: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008f06: b29b uxth r3, r3 + 8008f08: 2bff cmp r3, #255 @ 0xff + 8008f0a: d903 bls.n 8008f14 hi2c->XferSize = MAX_NBYTE_SIZE; - 8008954: 68fb ldr r3, [r7, #12] - 8008956: 22ff movs r2, #255 @ 0xff - 8008958: 851a strh r2, [r3, #40] @ 0x28 - 800895a: e004 b.n 8008966 + 8008f0c: 68fb ldr r3, [r7, #12] + 8008f0e: 22ff movs r2, #255 @ 0xff + 8008f10: 851a strh r2, [r3, #40] @ 0x28 + 8008f12: e004 b.n 8008f1e hi2c->XferSize = hi2c->XferCount; - 800895c: 68fb ldr r3, [r7, #12] - 800895e: 8d5b ldrh r3, [r3, #42] @ 0x2a - 8008960: b29a uxth r2, r3 - 8008962: 68fb ldr r3, [r7, #12] - 8008964: 851a strh r2, [r3, #40] @ 0x28 + 8008f14: 68fb ldr r3, [r7, #12] + 8008f16: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008f18: b29a uxth r2, r3 + 8008f1a: 68fb ldr r3, [r7, #12] + 8008f1c: 851a strh r2, [r3, #40] @ 0x28 if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, - 8008966: 68fb ldr r3, [r7, #12] - 8008968: 6b98 ldr r0, [r3, #56] @ 0x38 - 800896a: 68fb ldr r3, [r7, #12] - 800896c: 6a5b ldr r3, [r3, #36] @ 0x24 - 800896e: 4619 mov r1, r3 - 8008970: 68fb ldr r3, [r7, #12] - 8008972: 681b ldr r3, [r3, #0] - 8008974: 3328 adds r3, #40 @ 0x28 - 8008976: 461a mov r2, r3 + 8008f1e: 68fb ldr r3, [r7, #12] + 8008f20: 6b98 ldr r0, [r3, #56] @ 0x38 + 8008f22: 68fb ldr r3, [r7, #12] + 8008f24: 6a5b ldr r3, [r3, #36] @ 0x24 + 8008f26: 4619 mov r1, r3 + 8008f28: 68fb ldr r3, [r7, #12] + 8008f2a: 681b ldr r3, [r3, #0] + 8008f2c: 3328 adds r3, #40 @ 0x28 + 8008f2e: 461a mov r2, r3 hi2c->XferSize) != HAL_OK) - 8008978: 68fb ldr r3, [r7, #12] - 800897a: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8008f30: 68fb ldr r3, [r7, #12] + 8008f32: 8d1b ldrh r3, [r3, #40] @ 0x28 if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, - 800897c: f7fd ffa2 bl 80068c4 - 8008980: 4603 mov r3, r0 - 8008982: 2b00 cmp r3, #0 - 8008984: d004 beq.n 8008990 + 8008f34: f7fd ff44 bl 8006dc0 + 8008f38: 4603 mov r3, r0 + 8008f3a: 2b00 cmp r3, #0 + 8008f3c: d004 beq.n 8008f48 I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); - 8008986: 2110 movs r1, #16 - 8008988: 68f8 ldr r0, [r7, #12] - 800898a: f7ff fe83 bl 8008694 + 8008f3e: 2110 movs r1, #16 + 8008f40: 68f8 ldr r0, [r7, #12] + 8008f42: f7ff fe83 bl 8008c4c } - 800898e: e003 b.n 8008998 + 8008f46: e003 b.n 8008f50 I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); - 8008990: 2140 movs r1, #64 @ 0x40 - 8008992: 68f8 ldr r0, [r7, #12] - 8008994: f000 f8b6 bl 8008b04 + 8008f48: 2140 movs r1, #64 @ 0x40 + 8008f4a: 68f8 ldr r0, [r7, #12] + 8008f4c: f000 f8b6 bl 80090bc } - 8008998: bf00 nop - 800899a: 3710 adds r7, #16 - 800899c: 46bd mov sp, r7 - 800899e: bd80 pop {r7, pc} + 8008f50: bf00 nop + 8008f52: 3710 adds r7, #16 + 8008f54: 46bd mov sp, r7 + 8008f56: bd80 pop {r7, pc} -080089a0 : +08008f58 : * @brief DMA I2C master receive process complete callback. * @param hdma DMA handle * @retval None */ static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma) { - 80089a0: b580 push {r7, lr} - 80089a2: b084 sub sp, #16 - 80089a4: af00 add r7, sp, #0 - 80089a6: 6078 str r0, [r7, #4] + 8008f58: b580 push {r7, lr} + 8008f5a: b084 sub sp, #16 + 8008f5c: af00 add r7, sp, #0 + 8008f5e: 6078 str r0, [r7, #4] /* Derogation MISRAC2012-Rule-11.5 */ I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 80089a8: 687b ldr r3, [r7, #4] - 80089aa: 6a9b ldr r3, [r3, #40] @ 0x28 - 80089ac: 60fb str r3, [r7, #12] + 8008f60: 687b ldr r3, [r7, #4] + 8008f62: 6a9b ldr r3, [r3, #40] @ 0x28 + 8008f64: 60fb str r3, [r7, #12] /* Disable DMA Request */ hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; - 80089ae: 68fb ldr r3, [r7, #12] - 80089b0: 681b ldr r3, [r3, #0] - 80089b2: 681a ldr r2, [r3, #0] - 80089b4: 68fb ldr r3, [r7, #12] - 80089b6: 681b ldr r3, [r3, #0] - 80089b8: f422 4200 bic.w r2, r2, #32768 @ 0x8000 - 80089bc: 601a str r2, [r3, #0] + 8008f66: 68fb ldr r3, [r7, #12] + 8008f68: 681b ldr r3, [r3, #0] + 8008f6a: 681a ldr r2, [r3, #0] + 8008f6c: 68fb ldr r3, [r7, #12] + 8008f6e: 681b ldr r3, [r3, #0] + 8008f70: f422 4200 bic.w r2, r2, #32768 @ 0x8000 + 8008f74: 601a str r2, [r3, #0] /* If last transfer, enable STOP interrupt */ if (hi2c->XferCount == 0U) - 80089be: 68fb ldr r3, [r7, #12] - 80089c0: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80089c2: b29b uxth r3, r3 - 80089c4: 2b00 cmp r3, #0 - 80089c6: d104 bne.n 80089d2 + 8008f76: 68fb ldr r3, [r7, #12] + 8008f78: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008f7a: b29b uxth r3, r3 + 8008f7c: 2b00 cmp r3, #0 + 8008f7e: d104 bne.n 8008f8a { /* Enable STOP interrupt */ I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); - 80089c8: 2120 movs r1, #32 - 80089ca: 68f8 ldr r0, [r7, #12] - 80089cc: f000 f89a bl 8008b04 + 8008f80: 2120 movs r1, #32 + 8008f82: 68f8 ldr r0, [r7, #12] + 8008f84: f000 f89a bl 80090bc { /* Enable TC interrupts */ I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); } } } - 80089d0: e02d b.n 8008a2e + 8008f88: e02d b.n 8008fe6 hi2c->pBuffPtr += hi2c->XferSize; - 80089d2: 68fb ldr r3, [r7, #12] - 80089d4: 6a5b ldr r3, [r3, #36] @ 0x24 - 80089d6: 68fa ldr r2, [r7, #12] - 80089d8: 8d12 ldrh r2, [r2, #40] @ 0x28 - 80089da: 441a add r2, r3 - 80089dc: 68fb ldr r3, [r7, #12] - 80089de: 625a str r2, [r3, #36] @ 0x24 + 8008f8a: 68fb ldr r3, [r7, #12] + 8008f8c: 6a5b ldr r3, [r3, #36] @ 0x24 + 8008f8e: 68fa ldr r2, [r7, #12] + 8008f90: 8d12 ldrh r2, [r2, #40] @ 0x28 + 8008f92: 441a add r2, r3 + 8008f94: 68fb ldr r3, [r7, #12] + 8008f96: 625a str r2, [r3, #36] @ 0x24 if (hi2c->XferCount > MAX_NBYTE_SIZE) - 80089e0: 68fb ldr r3, [r7, #12] - 80089e2: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80089e4: b29b uxth r3, r3 - 80089e6: 2bff cmp r3, #255 @ 0xff - 80089e8: d903 bls.n 80089f2 + 8008f98: 68fb ldr r3, [r7, #12] + 8008f9a: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008f9c: b29b uxth r3, r3 + 8008f9e: 2bff cmp r3, #255 @ 0xff + 8008fa0: d903 bls.n 8008faa hi2c->XferSize = MAX_NBYTE_SIZE; - 80089ea: 68fb ldr r3, [r7, #12] - 80089ec: 22ff movs r2, #255 @ 0xff - 80089ee: 851a strh r2, [r3, #40] @ 0x28 - 80089f0: e004 b.n 80089fc + 8008fa2: 68fb ldr r3, [r7, #12] + 8008fa4: 22ff movs r2, #255 @ 0xff + 8008fa6: 851a strh r2, [r3, #40] @ 0x28 + 8008fa8: e004 b.n 8008fb4 hi2c->XferSize = hi2c->XferCount; - 80089f2: 68fb ldr r3, [r7, #12] - 80089f4: 8d5b ldrh r3, [r3, #42] @ 0x2a - 80089f6: b29a uxth r2, r3 - 80089f8: 68fb ldr r3, [r7, #12] - 80089fa: 851a strh r2, [r3, #40] @ 0x28 + 8008faa: 68fb ldr r3, [r7, #12] + 8008fac: 8d5b ldrh r3, [r3, #42] @ 0x2a + 8008fae: b29a uxth r2, r3 + 8008fb0: 68fb ldr r3, [r7, #12] + 8008fb2: 851a strh r2, [r3, #40] @ 0x28 if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr, - 80089fc: 68fb ldr r3, [r7, #12] - 80089fe: 6bd8 ldr r0, [r3, #60] @ 0x3c - 8008a00: 68fb ldr r3, [r7, #12] - 8008a02: 681b ldr r3, [r3, #0] - 8008a04: 3324 adds r3, #36 @ 0x24 - 8008a06: 4619 mov r1, r3 - 8008a08: 68fb ldr r3, [r7, #12] - 8008a0a: 6a5b ldr r3, [r3, #36] @ 0x24 - 8008a0c: 461a mov r2, r3 + 8008fb4: 68fb ldr r3, [r7, #12] + 8008fb6: 6bd8 ldr r0, [r3, #60] @ 0x3c + 8008fb8: 68fb ldr r3, [r7, #12] + 8008fba: 681b ldr r3, [r3, #0] + 8008fbc: 3324 adds r3, #36 @ 0x24 + 8008fbe: 4619 mov r1, r3 + 8008fc0: 68fb ldr r3, [r7, #12] + 8008fc2: 6a5b ldr r3, [r3, #36] @ 0x24 + 8008fc4: 461a mov r2, r3 hi2c->XferSize) != HAL_OK) - 8008a0e: 68fb ldr r3, [r7, #12] - 8008a10: 8d1b ldrh r3, [r3, #40] @ 0x28 + 8008fc6: 68fb ldr r3, [r7, #12] + 8008fc8: 8d1b ldrh r3, [r3, #40] @ 0x28 if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr, - 8008a12: f7fd ff57 bl 80068c4 - 8008a16: 4603 mov r3, r0 - 8008a18: 2b00 cmp r3, #0 - 8008a1a: d004 beq.n 8008a26 + 8008fca: f7fd fef9 bl 8006dc0 + 8008fce: 4603 mov r3, r0 + 8008fd0: 2b00 cmp r3, #0 + 8008fd2: d004 beq.n 8008fde I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); - 8008a1c: 2110 movs r1, #16 - 8008a1e: 68f8 ldr r0, [r7, #12] - 8008a20: f7ff fe38 bl 8008694 + 8008fd4: 2110 movs r1, #16 + 8008fd6: 68f8 ldr r0, [r7, #12] + 8008fd8: f7ff fe38 bl 8008c4c } - 8008a24: e003 b.n 8008a2e + 8008fdc: e003 b.n 8008fe6 I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); - 8008a26: 2140 movs r1, #64 @ 0x40 - 8008a28: 68f8 ldr r0, [r7, #12] - 8008a2a: f000 f86b bl 8008b04 + 8008fde: 2140 movs r1, #64 @ 0x40 + 8008fe0: 68f8 ldr r0, [r7, #12] + 8008fe2: f000 f86b bl 80090bc } - 8008a2e: bf00 nop - 8008a30: 3710 adds r7, #16 - 8008a32: 46bd mov sp, r7 - 8008a34: bd80 pop {r7, pc} + 8008fe6: bf00 nop + 8008fe8: 3710 adds r7, #16 + 8008fea: 46bd mov sp, r7 + 8008fec: bd80 pop {r7, pc} -08008a36 : +08008fee : * @brief DMA I2C communication error callback. * @param hdma DMA handle * @retval None */ static void I2C_DMAError(DMA_HandleTypeDef *hdma) { - 8008a36: b580 push {r7, lr} - 8008a38: b084 sub sp, #16 - 8008a3a: af00 add r7, sp, #0 - 8008a3c: 6078 str r0, [r7, #4] + 8008fee: b580 push {r7, lr} + 8008ff0: b084 sub sp, #16 + 8008ff2: af00 add r7, sp, #0 + 8008ff4: 6078 str r0, [r7, #4] /* Derogation MISRAC2012-Rule-11.5 */ I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 8008a3e: 687b ldr r3, [r7, #4] - 8008a40: 6a9b ldr r3, [r3, #40] @ 0x28 - 8008a42: 60fb str r3, [r7, #12] + 8008ff6: 687b ldr r3, [r7, #4] + 8008ff8: 6a9b ldr r3, [r3, #40] @ 0x28 + 8008ffa: 60fb str r3, [r7, #12] /* Disable Acknowledge */ hi2c->Instance->CR2 |= I2C_CR2_NACK; - 8008a44: 68fb ldr r3, [r7, #12] - 8008a46: 681b ldr r3, [r3, #0] - 8008a48: 685a ldr r2, [r3, #4] - 8008a4a: 68fb ldr r3, [r7, #12] - 8008a4c: 681b ldr r3, [r3, #0] - 8008a4e: f442 4200 orr.w r2, r2, #32768 @ 0x8000 - 8008a52: 605a str r2, [r3, #4] + 8008ffc: 68fb ldr r3, [r7, #12] + 8008ffe: 681b ldr r3, [r3, #0] + 8009000: 685a ldr r2, [r3, #4] + 8009002: 68fb ldr r3, [r7, #12] + 8009004: 681b ldr r3, [r3, #0] + 8009006: f442 4200 orr.w r2, r2, #32768 @ 0x8000 + 800900a: 605a str r2, [r3, #4] /* Call the corresponding callback to inform upper layer of End of Transfer */ I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); - 8008a54: 2110 movs r1, #16 - 8008a56: 68f8 ldr r0, [r7, #12] - 8008a58: f7ff fe1c bl 8008694 + 800900c: 2110 movs r1, #16 + 800900e: 68f8 ldr r0, [r7, #12] + 8009010: f7ff fe1c bl 8008c4c } - 8008a5c: bf00 nop - 8008a5e: 3710 adds r7, #16 - 8008a60: 46bd mov sp, r7 - 8008a62: bd80 pop {r7, pc} + 8009014: bf00 nop + 8009016: 3710 adds r7, #16 + 8009018: 46bd mov sp, r7 + 800901a: bd80 pop {r7, pc} -08008a64 : +0800901c : * (To be called at end of DMA Abort procedure). * @param hdma DMA handle. * @retval None */ static void I2C_DMAAbort(DMA_HandleTypeDef *hdma) { - 8008a64: b580 push {r7, lr} - 8008a66: b084 sub sp, #16 - 8008a68: af00 add r7, sp, #0 - 8008a6a: 6078 str r0, [r7, #4] + 800901c: b580 push {r7, lr} + 800901e: b084 sub sp, #16 + 8009020: af00 add r7, sp, #0 + 8009022: 6078 str r0, [r7, #4] /* Derogation MISRAC2012-Rule-11.5 */ I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 8008a6c: 687b ldr r3, [r7, #4] - 8008a6e: 6a9b ldr r3, [r3, #40] @ 0x28 - 8008a70: 60fb str r3, [r7, #12] + 8009024: 687b ldr r3, [r7, #4] + 8009026: 6a9b ldr r3, [r3, #40] @ 0x28 + 8009028: 60fb str r3, [r7, #12] /* Reset AbortCpltCallback */ if (hi2c->hdmatx != NULL) - 8008a72: 68fb ldr r3, [r7, #12] - 8008a74: 6b9b ldr r3, [r3, #56] @ 0x38 - 8008a76: 2b00 cmp r3, #0 - 8008a78: d003 beq.n 8008a82 + 800902a: 68fb ldr r3, [r7, #12] + 800902c: 6b9b ldr r3, [r3, #56] @ 0x38 + 800902e: 2b00 cmp r3, #0 + 8009030: d003 beq.n 800903a { hi2c->hdmatx->XferAbortCallback = NULL; - 8008a7a: 68fb ldr r3, [r7, #12] - 8008a7c: 6b9b ldr r3, [r3, #56] @ 0x38 - 8008a7e: 2200 movs r2, #0 - 8008a80: 639a str r2, [r3, #56] @ 0x38 + 8009032: 68fb ldr r3, [r7, #12] + 8009034: 6b9b ldr r3, [r3, #56] @ 0x38 + 8009036: 2200 movs r2, #0 + 8009038: 639a str r2, [r3, #56] @ 0x38 } if (hi2c->hdmarx != NULL) - 8008a82: 68fb ldr r3, [r7, #12] - 8008a84: 6bdb ldr r3, [r3, #60] @ 0x3c - 8008a86: 2b00 cmp r3, #0 - 8008a88: d003 beq.n 8008a92 + 800903a: 68fb ldr r3, [r7, #12] + 800903c: 6bdb ldr r3, [r3, #60] @ 0x3c + 800903e: 2b00 cmp r3, #0 + 8009040: d003 beq.n 800904a { hi2c->hdmarx->XferAbortCallback = NULL; - 8008a8a: 68fb ldr r3, [r7, #12] - 8008a8c: 6bdb ldr r3, [r3, #60] @ 0x3c - 8008a8e: 2200 movs r2, #0 - 8008a90: 639a str r2, [r3, #56] @ 0x38 + 8009042: 68fb ldr r3, [r7, #12] + 8009044: 6bdb ldr r3, [r3, #60] @ 0x3c + 8009046: 2200 movs r2, #0 + 8009048: 639a str r2, [r3, #56] @ 0x38 } I2C_TreatErrorCallback(hi2c); - 8008a92: 68f8 ldr r0, [r7, #12] - 8008a94: f7ff feee bl 8008874 + 800904a: 68f8 ldr r0, [r7, #12] + 800904c: f7ff feee bl 8008e2c } - 8008a98: bf00 nop - 8008a9a: 3710 adds r7, #16 - 8008a9c: 46bd mov sp, r7 - 8008a9e: bd80 pop {r7, pc} + 8009050: bf00 nop + 8009052: 3710 adds r7, #16 + 8009054: 46bd mov sp, r7 + 8009056: bd80 pop {r7, pc} -08008aa0 : +08009058 : * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request. * @retval None */ static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t Mode, uint32_t Request) { - 8008aa0: b480 push {r7} - 8008aa2: b087 sub sp, #28 - 8008aa4: af00 add r7, sp, #0 - 8008aa6: 60f8 str r0, [r7, #12] - 8008aa8: 607b str r3, [r7, #4] - 8008aaa: 460b mov r3, r1 - 8008aac: 817b strh r3, [r7, #10] - 8008aae: 4613 mov r3, r2 - 8008ab0: 727b strb r3, [r7, #9] + 8009058: b480 push {r7} + 800905a: b087 sub sp, #28 + 800905c: af00 add r7, sp, #0 + 800905e: 60f8 str r0, [r7, #12] + 8009060: 607b str r3, [r7, #4] + 8009062: 460b mov r3, r1 + 8009064: 817b strh r3, [r7, #10] + 8009066: 4613 mov r3, r2 + 8009068: 727b strb r3, [r7, #9] assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); assert_param(IS_TRANSFER_MODE(Mode)); assert_param(IS_TRANSFER_REQUEST(Request)); /* Declaration of tmp to prevent undefined behavior of volatile usage */ tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ - 8008ab2: 897b ldrh r3, [r7, #10] - 8008ab4: f3c3 0209 ubfx r2, r3, #0, #10 + 800906a: 897b ldrh r3, [r7, #10] + 800906c: f3c3 0209 ubfx r2, r3, #0, #10 (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ - 8008ab8: 7a7b ldrb r3, [r7, #9] - 8008aba: 041b lsls r3, r3, #16 - 8008abc: f403 037f and.w r3, r3, #16711680 @ 0xff0000 + 8009070: 7a7b ldrb r3, [r7, #9] + 8009072: 041b lsls r3, r3, #16 + 8009074: f403 037f and.w r3, r3, #16711680 @ 0xff0000 tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ - 8008ac0: 431a orrs r2, r3 + 8009078: 431a orrs r2, r3 (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ - 8008ac2: 687b ldr r3, [r7, #4] - 8008ac4: 431a orrs r2, r3 + 800907a: 687b ldr r3, [r7, #4] + 800907c: 431a orrs r2, r3 tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ - 8008ac6: 6a3b ldr r3, [r7, #32] - 8008ac8: 4313 orrs r3, r2 - 8008aca: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 - 8008ace: 617b str r3, [r7, #20] + 800907e: 6a3b ldr r3, [r7, #32] + 8009080: 4313 orrs r3, r2 + 8009082: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 + 8009086: 617b str r3, [r7, #20] (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U)); /* update CR2 register */ MODIFY_REG(hi2c->Instance->CR2, \ - 8008ad0: 68fb ldr r3, [r7, #12] - 8008ad2: 681b ldr r3, [r3, #0] - 8008ad4: 685a ldr r2, [r3, #4] - 8008ad6: 6a3b ldr r3, [r7, #32] - 8008ad8: 0d5b lsrs r3, r3, #21 - 8008ada: f403 6180 and.w r1, r3, #1024 @ 0x400 - 8008ade: 4b08 ldr r3, [pc, #32] @ (8008b00 ) - 8008ae0: 430b orrs r3, r1 - 8008ae2: 43db mvns r3, r3 - 8008ae4: ea02 0103 and.w r1, r2, r3 - 8008ae8: 68fb ldr r3, [r7, #12] - 8008aea: 681b ldr r3, [r3, #0] - 8008aec: 697a ldr r2, [r7, #20] - 8008aee: 430a orrs r2, r1 - 8008af0: 605a str r2, [r3, #4] + 8009088: 68fb ldr r3, [r7, #12] + 800908a: 681b ldr r3, [r3, #0] + 800908c: 685a ldr r2, [r3, #4] + 800908e: 6a3b ldr r3, [r7, #32] + 8009090: 0d5b lsrs r3, r3, #21 + 8009092: f403 6180 and.w r1, r3, #1024 @ 0x400 + 8009096: 4b08 ldr r3, [pc, #32] @ (80090b8 ) + 8009098: 430b orrs r3, r1 + 800909a: 43db mvns r3, r3 + 800909c: ea02 0103 and.w r1, r2, r3 + 80090a0: 68fb ldr r3, [r7, #12] + 80090a2: 681b ldr r3, [r3, #0] + 80090a4: 697a ldr r2, [r7, #20] + 80090a6: 430a orrs r2, r1 + 80090a8: 605a str r2, [r3, #4] ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \ I2C_CR2_START | I2C_CR2_STOP)), tmp); } - 8008af2: bf00 nop - 8008af4: 371c adds r7, #28 - 8008af6: 46bd mov sp, r7 - 8008af8: f85d 7b04 ldr.w r7, [sp], #4 - 8008afc: 4770 bx lr - 8008afe: bf00 nop - 8008b00: 03ff63ff .word 0x03ff63ff + 80090aa: bf00 nop + 80090ac: 371c adds r7, #28 + 80090ae: 46bd mov sp, r7 + 80090b0: f85d 7b04 ldr.w r7, [sp], #4 + 80090b4: 4770 bx lr + 80090b6: bf00 nop + 80090b8: 03ff63ff .word 0x03ff63ff -08008b04 : +080090bc : * the configuration information for the specified I2C. * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition. * @retval None */ static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) { - 8008b04: b480 push {r7} - 8008b06: b085 sub sp, #20 - 8008b08: af00 add r7, sp, #0 - 8008b0a: 6078 str r0, [r7, #4] - 8008b0c: 460b mov r3, r1 - 8008b0e: 807b strh r3, [r7, #2] + 80090bc: b480 push {r7} + 80090be: b085 sub sp, #20 + 80090c0: af00 add r7, sp, #0 + 80090c2: 6078 str r0, [r7, #4] + 80090c4: 460b mov r3, r1 + 80090c6: 807b strh r3, [r7, #2] uint32_t tmpisr = 0U; - 8008b10: 2300 movs r3, #0 - 8008b12: 60fb str r3, [r7, #12] + 80090c8: 2300 movs r3, #0 + 80090ca: 60fb str r3, [r7, #12] #if defined(HAL_DMA_MODULE_ENABLED) if ((hi2c->XferISR != I2C_Master_ISR_DMA) && \ - 8008b14: 687b ldr r3, [r7, #4] - 8008b16: 6b5b ldr r3, [r3, #52] @ 0x34 - 8008b18: 4a39 ldr r2, [pc, #228] @ (8008c00 ) - 8008b1a: 4293 cmp r3, r2 - 8008b1c: d032 beq.n 8008b84 + 80090cc: 687b ldr r3, [r7, #4] + 80090ce: 6b5b ldr r3, [r3, #52] @ 0x34 + 80090d0: 4a39 ldr r2, [pc, #228] @ (80091b8 ) + 80090d2: 4293 cmp r3, r2 + 80090d4: d032 beq.n 800913c (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ - 8008b1e: 687b ldr r3, [r7, #4] - 8008b20: 6b5b ldr r3, [r3, #52] @ 0x34 + 80090d6: 687b ldr r3, [r7, #4] + 80090d8: 6b5b ldr r3, [r3, #52] @ 0x34 if ((hi2c->XferISR != I2C_Master_ISR_DMA) && \ - 8008b22: 4a38 ldr r2, [pc, #224] @ (8008c04 ) - 8008b24: 4293 cmp r3, r2 - 8008b26: d02d beq.n 8008b84 + 80090da: 4a38 ldr r2, [pc, #224] @ (80091bc ) + 80090dc: 4293 cmp r3, r2 + 80090de: d02d beq.n 800913c (hi2c->XferISR != I2C_Mem_ISR_DMA)) - 8008b28: 687b ldr r3, [r7, #4] - 8008b2a: 6b5b ldr r3, [r3, #52] @ 0x34 + 80090e0: 687b ldr r3, [r7, #4] + 80090e2: 6b5b ldr r3, [r3, #52] @ 0x34 (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ - 8008b2c: 4a36 ldr r2, [pc, #216] @ (8008c08 ) - 8008b2e: 4293 cmp r3, r2 - 8008b30: d028 beq.n 8008b84 + 80090e4: 4a36 ldr r2, [pc, #216] @ (80091c0 ) + 80090e6: 4293 cmp r3, r2 + 80090e8: d028 beq.n 800913c #endif /* HAL_DMA_MODULE_ENABLED */ { if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) - 8008b32: f9b7 3002 ldrsh.w r3, [r7, #2] - 8008b36: 2b00 cmp r3, #0 - 8008b38: da03 bge.n 8008b42 + 80090ea: f9b7 3002 ldrsh.w r3, [r7, #2] + 80090ee: 2b00 cmp r3, #0 + 80090f0: da03 bge.n 80090fa { /* Enable ERR, STOP, NACK and ADDR interrupts */ tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; - 8008b3a: 68fb ldr r3, [r7, #12] - 8008b3c: f043 03b8 orr.w r3, r3, #184 @ 0xb8 - 8008b40: 60fb str r3, [r7, #12] + 80090f2: 68fb ldr r3, [r7, #12] + 80090f4: f043 03b8 orr.w r3, r3, #184 @ 0xb8 + 80090f8: 60fb str r3, [r7, #12] } if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) - 8008b42: 887b ldrh r3, [r7, #2] - 8008b44: f003 0301 and.w r3, r3, #1 - 8008b48: 2b00 cmp r3, #0 - 8008b4a: d003 beq.n 8008b54 + 80090fa: 887b ldrh r3, [r7, #2] + 80090fc: f003 0301 and.w r3, r3, #1 + 8009100: 2b00 cmp r3, #0 + 8009102: d003 beq.n 800910c { /* Enable ERR, TC, STOP, NACK and TXI interrupts */ tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI; - 8008b4c: 68fb ldr r3, [r7, #12] - 8008b4e: f043 03f2 orr.w r3, r3, #242 @ 0xf2 - 8008b52: 60fb str r3, [r7, #12] + 8009104: 68fb ldr r3, [r7, #12] + 8009106: f043 03f2 orr.w r3, r3, #242 @ 0xf2 + 800910a: 60fb str r3, [r7, #12] } if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) - 8008b54: 887b ldrh r3, [r7, #2] - 8008b56: f003 0302 and.w r3, r3, #2 - 8008b5a: 2b00 cmp r3, #0 - 8008b5c: d003 beq.n 8008b66 + 800910c: 887b ldrh r3, [r7, #2] + 800910e: f003 0302 and.w r3, r3, #2 + 8009112: 2b00 cmp r3, #0 + 8009114: d003 beq.n 800911e { /* Enable ERR, TC, STOP, NACK and RXI interrupts */ tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI; - 8008b5e: 68fb ldr r3, [r7, #12] - 8008b60: f043 03f4 orr.w r3, r3, #244 @ 0xf4 - 8008b64: 60fb str r3, [r7, #12] + 8009116: 68fb ldr r3, [r7, #12] + 8009118: f043 03f4 orr.w r3, r3, #244 @ 0xf4 + 800911c: 60fb str r3, [r7, #12] } if (InterruptRequest == I2C_XFER_ERROR_IT) - 8008b66: 887b ldrh r3, [r7, #2] - 8008b68: 2b10 cmp r3, #16 - 8008b6a: d103 bne.n 8008b74 + 800911e: 887b ldrh r3, [r7, #2] + 8009120: 2b10 cmp r3, #16 + 8009122: d103 bne.n 800912c { /* Enable ERR and NACK interrupts */ tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; - 8008b6c: 68fb ldr r3, [r7, #12] - 8008b6e: f043 0390 orr.w r3, r3, #144 @ 0x90 - 8008b72: 60fb str r3, [r7, #12] + 8009124: 68fb ldr r3, [r7, #12] + 8009126: f043 0390 orr.w r3, r3, #144 @ 0x90 + 800912a: 60fb str r3, [r7, #12] } if (InterruptRequest == I2C_XFER_CPLT_IT) - 8008b74: 887b ldrh r3, [r7, #2] - 8008b76: 2b20 cmp r3, #32 - 8008b78: d133 bne.n 8008be2 + 800912c: 887b ldrh r3, [r7, #2] + 800912e: 2b20 cmp r3, #32 + 8009130: d133 bne.n 800919a { /* Enable STOP interrupts */ tmpisr |= I2C_IT_STOPI; - 8008b7a: 68fb ldr r3, [r7, #12] - 8008b7c: f043 0320 orr.w r3, r3, #32 - 8008b80: 60fb str r3, [r7, #12] + 8009132: 68fb ldr r3, [r7, #12] + 8009134: f043 0320 orr.w r3, r3, #32 + 8009138: 60fb str r3, [r7, #12] if (InterruptRequest == I2C_XFER_CPLT_IT) - 8008b82: e02e b.n 8008be2 + 800913a: e02e b.n 800919a } #if defined(HAL_DMA_MODULE_ENABLED) else { if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) - 8008b84: f9b7 3002 ldrsh.w r3, [r7, #2] - 8008b88: 2b00 cmp r3, #0 - 8008b8a: da03 bge.n 8008b94 + 800913c: f9b7 3002 ldrsh.w r3, [r7, #2] + 8009140: 2b00 cmp r3, #0 + 8009142: da03 bge.n 800914c { /* Enable ERR, STOP, NACK and ADDR interrupts */ tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; - 8008b8c: 68fb ldr r3, [r7, #12] - 8008b8e: f043 03b8 orr.w r3, r3, #184 @ 0xb8 - 8008b92: 60fb str r3, [r7, #12] + 8009144: 68fb ldr r3, [r7, #12] + 8009146: f043 03b8 orr.w r3, r3, #184 @ 0xb8 + 800914a: 60fb str r3, [r7, #12] } if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) - 8008b94: 887b ldrh r3, [r7, #2] - 8008b96: f003 0301 and.w r3, r3, #1 - 8008b9a: 2b00 cmp r3, #0 - 8008b9c: d003 beq.n 8008ba6 + 800914c: 887b ldrh r3, [r7, #2] + 800914e: f003 0301 and.w r3, r3, #1 + 8009152: 2b00 cmp r3, #0 + 8009154: d003 beq.n 800915e { /* Enable ERR, TC, STOP, NACK and TXI interrupts */ tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI; - 8008b9e: 68fb ldr r3, [r7, #12] - 8008ba0: f043 03f2 orr.w r3, r3, #242 @ 0xf2 - 8008ba4: 60fb str r3, [r7, #12] + 8009156: 68fb ldr r3, [r7, #12] + 8009158: f043 03f2 orr.w r3, r3, #242 @ 0xf2 + 800915c: 60fb str r3, [r7, #12] } if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) - 8008ba6: 887b ldrh r3, [r7, #2] - 8008ba8: f003 0302 and.w r3, r3, #2 - 8008bac: 2b00 cmp r3, #0 - 8008bae: d003 beq.n 8008bb8 + 800915e: 887b ldrh r3, [r7, #2] + 8009160: f003 0302 and.w r3, r3, #2 + 8009164: 2b00 cmp r3, #0 + 8009166: d003 beq.n 8009170 { /* Enable ERR, TC, STOP, NACK and RXI interrupts */ tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI; - 8008bb0: 68fb ldr r3, [r7, #12] - 8008bb2: f043 03f4 orr.w r3, r3, #244 @ 0xf4 - 8008bb6: 60fb str r3, [r7, #12] + 8009168: 68fb ldr r3, [r7, #12] + 800916a: f043 03f4 orr.w r3, r3, #244 @ 0xf4 + 800916e: 60fb str r3, [r7, #12] } if (InterruptRequest == I2C_XFER_ERROR_IT) - 8008bb8: 887b ldrh r3, [r7, #2] - 8008bba: 2b10 cmp r3, #16 - 8008bbc: d103 bne.n 8008bc6 + 8009170: 887b ldrh r3, [r7, #2] + 8009172: 2b10 cmp r3, #16 + 8009174: d103 bne.n 800917e { /* Enable ERR and NACK interrupts */ tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; - 8008bbe: 68fb ldr r3, [r7, #12] - 8008bc0: f043 0390 orr.w r3, r3, #144 @ 0x90 - 8008bc4: 60fb str r3, [r7, #12] + 8009176: 68fb ldr r3, [r7, #12] + 8009178: f043 0390 orr.w r3, r3, #144 @ 0x90 + 800917c: 60fb str r3, [r7, #12] } if (InterruptRequest == I2C_XFER_CPLT_IT) - 8008bc6: 887b ldrh r3, [r7, #2] - 8008bc8: 2b20 cmp r3, #32 - 8008bca: d103 bne.n 8008bd4 + 800917e: 887b ldrh r3, [r7, #2] + 8009180: 2b20 cmp r3, #32 + 8009182: d103 bne.n 800918c { /* Enable STOP interrupts */ tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI); - 8008bcc: 68fb ldr r3, [r7, #12] - 8008bce: f043 0360 orr.w r3, r3, #96 @ 0x60 - 8008bd2: 60fb str r3, [r7, #12] + 8009184: 68fb ldr r3, [r7, #12] + 8009186: f043 0360 orr.w r3, r3, #96 @ 0x60 + 800918a: 60fb str r3, [r7, #12] } if (InterruptRequest == I2C_XFER_RELOAD_IT) - 8008bd4: 887b ldrh r3, [r7, #2] - 8008bd6: 2b40 cmp r3, #64 @ 0x40 - 8008bd8: d103 bne.n 8008be2 + 800918c: 887b ldrh r3, [r7, #2] + 800918e: 2b40 cmp r3, #64 @ 0x40 + 8009190: d103 bne.n 800919a { /* Enable TC interrupts */ tmpisr |= I2C_IT_TCI; - 8008bda: 68fb ldr r3, [r7, #12] - 8008bdc: f043 0340 orr.w r3, r3, #64 @ 0x40 - 8008be0: 60fb str r3, [r7, #12] + 8009192: 68fb ldr r3, [r7, #12] + 8009194: f043 0340 orr.w r3, r3, #64 @ 0x40 + 8009198: 60fb str r3, [r7, #12] #endif /* HAL_DMA_MODULE_ENABLED */ /* Enable interrupts only at the end */ /* to avoid the risk of I2C interrupt handle execution before */ /* all interrupts requested done */ __HAL_I2C_ENABLE_IT(hi2c, tmpisr); - 8008be2: 687b ldr r3, [r7, #4] - 8008be4: 681b ldr r3, [r3, #0] - 8008be6: 6819 ldr r1, [r3, #0] - 8008be8: 687b ldr r3, [r7, #4] - 8008bea: 681b ldr r3, [r3, #0] - 8008bec: 68fa ldr r2, [r7, #12] - 8008bee: 430a orrs r2, r1 - 8008bf0: 601a str r2, [r3, #0] + 800919a: 687b ldr r3, [r7, #4] + 800919c: 681b ldr r3, [r3, #0] + 800919e: 6819 ldr r1, [r3, #0] + 80091a0: 687b ldr r3, [r7, #4] + 80091a2: 681b ldr r3, [r3, #0] + 80091a4: 68fa ldr r2, [r7, #12] + 80091a6: 430a orrs r2, r1 + 80091a8: 601a str r2, [r3, #0] } - 8008bf2: bf00 nop - 8008bf4: 3714 adds r7, #20 - 8008bf6: 46bd mov sp, r7 - 8008bf8: f85d 7b04 ldr.w r7, [sp], #4 - 8008bfc: 4770 bx lr - 8008bfe: bf00 nop - 8008c00: 0800793b .word 0x0800793b - 8008c04: 08007d81 .word 0x08007d81 - 8008c08: 08007b21 .word 0x08007b21 + 80091aa: bf00 nop + 80091ac: 3714 adds r7, #20 + 80091ae: 46bd mov sp, r7 + 80091b0: f85d 7b04 ldr.w r7, [sp], #4 + 80091b4: 4770 bx lr + 80091b6: bf00 nop + 80091b8: 08007ef3 .word 0x08007ef3 + 80091bc: 08008339 .word 0x08008339 + 80091c0: 080080d9 .word 0x080080d9 -08008c0c : +080091c4 : * the configuration information for the specified I2C. * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition. * @retval None */ static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) { - 8008c0c: b480 push {r7} - 8008c0e: b085 sub sp, #20 - 8008c10: af00 add r7, sp, #0 - 8008c12: 6078 str r0, [r7, #4] - 8008c14: 460b mov r3, r1 - 8008c16: 807b strh r3, [r7, #2] + 80091c4: b480 push {r7} + 80091c6: b085 sub sp, #20 + 80091c8: af00 add r7, sp, #0 + 80091ca: 6078 str r0, [r7, #4] + 80091cc: 460b mov r3, r1 + 80091ce: 807b strh r3, [r7, #2] uint32_t tmpisr = 0U; - 8008c18: 2300 movs r3, #0 - 8008c1a: 60fb str r3, [r7, #12] + 80091d0: 2300 movs r3, #0 + 80091d2: 60fb str r3, [r7, #12] if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) - 8008c1c: 887b ldrh r3, [r7, #2] - 8008c1e: f003 0301 and.w r3, r3, #1 - 8008c22: 2b00 cmp r3, #0 - 8008c24: d00f beq.n 8008c46 + 80091d4: 887b ldrh r3, [r7, #2] + 80091d6: f003 0301 and.w r3, r3, #1 + 80091da: 2b00 cmp r3, #0 + 80091dc: d00f beq.n 80091fe { /* Disable TC and TXI interrupts */ tmpisr |= I2C_IT_TCI | I2C_IT_TXI; - 8008c26: 68fb ldr r3, [r7, #12] - 8008c28: f043 0342 orr.w r3, r3, #66 @ 0x42 - 8008c2c: 60fb str r3, [r7, #12] + 80091de: 68fb ldr r3, [r7, #12] + 80091e0: f043 0342 orr.w r3, r3, #66 @ 0x42 + 80091e4: 60fb str r3, [r7, #12] if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN) - 8008c2e: 687b ldr r3, [r7, #4] - 8008c30: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008c34: b2db uxtb r3, r3 - 8008c36: f003 0328 and.w r3, r3, #40 @ 0x28 - 8008c3a: 2b28 cmp r3, #40 @ 0x28 - 8008c3c: d003 beq.n 8008c46 + 80091e6: 687b ldr r3, [r7, #4] + 80091e8: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 80091ec: b2db uxtb r3, r3 + 80091ee: f003 0328 and.w r3, r3, #40 @ 0x28 + 80091f2: 2b28 cmp r3, #40 @ 0x28 + 80091f4: d003 beq.n 80091fe { /* Disable NACK and STOP interrupts */ tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; - 8008c3e: 68fb ldr r3, [r7, #12] - 8008c40: f043 03b0 orr.w r3, r3, #176 @ 0xb0 - 8008c44: 60fb str r3, [r7, #12] + 80091f6: 68fb ldr r3, [r7, #12] + 80091f8: f043 03b0 orr.w r3, r3, #176 @ 0xb0 + 80091fc: 60fb str r3, [r7, #12] } } if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) - 8008c46: 887b ldrh r3, [r7, #2] - 8008c48: f003 0302 and.w r3, r3, #2 - 8008c4c: 2b00 cmp r3, #0 - 8008c4e: d00f beq.n 8008c70 + 80091fe: 887b ldrh r3, [r7, #2] + 8009200: f003 0302 and.w r3, r3, #2 + 8009204: 2b00 cmp r3, #0 + 8009206: d00f beq.n 8009228 { /* Disable TC and RXI interrupts */ tmpisr |= I2C_IT_TCI | I2C_IT_RXI; - 8008c50: 68fb ldr r3, [r7, #12] - 8008c52: f043 0344 orr.w r3, r3, #68 @ 0x44 - 8008c56: 60fb str r3, [r7, #12] + 8009208: 68fb ldr r3, [r7, #12] + 800920a: f043 0344 orr.w r3, r3, #68 @ 0x44 + 800920e: 60fb str r3, [r7, #12] if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN) - 8008c58: 687b ldr r3, [r7, #4] - 8008c5a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008c5e: b2db uxtb r3, r3 - 8008c60: f003 0328 and.w r3, r3, #40 @ 0x28 - 8008c64: 2b28 cmp r3, #40 @ 0x28 - 8008c66: d003 beq.n 8008c70 + 8009210: 687b ldr r3, [r7, #4] + 8009212: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8009216: b2db uxtb r3, r3 + 8009218: f003 0328 and.w r3, r3, #40 @ 0x28 + 800921c: 2b28 cmp r3, #40 @ 0x28 + 800921e: d003 beq.n 8009228 { /* Disable NACK and STOP interrupts */ tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; - 8008c68: 68fb ldr r3, [r7, #12] - 8008c6a: f043 03b0 orr.w r3, r3, #176 @ 0xb0 - 8008c6e: 60fb str r3, [r7, #12] + 8009220: 68fb ldr r3, [r7, #12] + 8009222: f043 03b0 orr.w r3, r3, #176 @ 0xb0 + 8009226: 60fb str r3, [r7, #12] } } if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) - 8008c70: f9b7 3002 ldrsh.w r3, [r7, #2] - 8008c74: 2b00 cmp r3, #0 - 8008c76: da03 bge.n 8008c80 + 8009228: f9b7 3002 ldrsh.w r3, [r7, #2] + 800922c: 2b00 cmp r3, #0 + 800922e: da03 bge.n 8009238 { /* Disable ADDR, NACK and STOP interrupts */ tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; - 8008c78: 68fb ldr r3, [r7, #12] - 8008c7a: f043 03b8 orr.w r3, r3, #184 @ 0xb8 - 8008c7e: 60fb str r3, [r7, #12] + 8009230: 68fb ldr r3, [r7, #12] + 8009232: f043 03b8 orr.w r3, r3, #184 @ 0xb8 + 8009236: 60fb str r3, [r7, #12] } if (InterruptRequest == I2C_XFER_ERROR_IT) - 8008c80: 887b ldrh r3, [r7, #2] - 8008c82: 2b10 cmp r3, #16 - 8008c84: d103 bne.n 8008c8e + 8009238: 887b ldrh r3, [r7, #2] + 800923a: 2b10 cmp r3, #16 + 800923c: d103 bne.n 8009246 { /* Enable ERR and NACK interrupts */ tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; - 8008c86: 68fb ldr r3, [r7, #12] - 8008c88: f043 0390 orr.w r3, r3, #144 @ 0x90 - 8008c8c: 60fb str r3, [r7, #12] + 800923e: 68fb ldr r3, [r7, #12] + 8009240: f043 0390 orr.w r3, r3, #144 @ 0x90 + 8009244: 60fb str r3, [r7, #12] } if (InterruptRequest == I2C_XFER_CPLT_IT) - 8008c8e: 887b ldrh r3, [r7, #2] - 8008c90: 2b20 cmp r3, #32 - 8008c92: d103 bne.n 8008c9c + 8009246: 887b ldrh r3, [r7, #2] + 8009248: 2b20 cmp r3, #32 + 800924a: d103 bne.n 8009254 { /* Enable STOP interrupts */ tmpisr |= I2C_IT_STOPI; - 8008c94: 68fb ldr r3, [r7, #12] - 8008c96: f043 0320 orr.w r3, r3, #32 - 8008c9a: 60fb str r3, [r7, #12] + 800924c: 68fb ldr r3, [r7, #12] + 800924e: f043 0320 orr.w r3, r3, #32 + 8009252: 60fb str r3, [r7, #12] } if (InterruptRequest == I2C_XFER_RELOAD_IT) - 8008c9c: 887b ldrh r3, [r7, #2] - 8008c9e: 2b40 cmp r3, #64 @ 0x40 - 8008ca0: d103 bne.n 8008caa + 8009254: 887b ldrh r3, [r7, #2] + 8009256: 2b40 cmp r3, #64 @ 0x40 + 8009258: d103 bne.n 8009262 { /* Enable TC interrupts */ tmpisr |= I2C_IT_TCI; - 8008ca2: 68fb ldr r3, [r7, #12] - 8008ca4: f043 0340 orr.w r3, r3, #64 @ 0x40 - 8008ca8: 60fb str r3, [r7, #12] + 800925a: 68fb ldr r3, [r7, #12] + 800925c: f043 0340 orr.w r3, r3, #64 @ 0x40 + 8009260: 60fb str r3, [r7, #12] } /* Disable interrupts only at the end */ /* to avoid a breaking situation like at "t" time */ /* all disable interrupts request are not done */ __HAL_I2C_DISABLE_IT(hi2c, tmpisr); - 8008caa: 687b ldr r3, [r7, #4] - 8008cac: 681b ldr r3, [r3, #0] - 8008cae: 6819 ldr r1, [r3, #0] - 8008cb0: 68fb ldr r3, [r7, #12] - 8008cb2: 43da mvns r2, r3 - 8008cb4: 687b ldr r3, [r7, #4] - 8008cb6: 681b ldr r3, [r3, #0] - 8008cb8: 400a ands r2, r1 - 8008cba: 601a str r2, [r3, #0] + 8009262: 687b ldr r3, [r7, #4] + 8009264: 681b ldr r3, [r3, #0] + 8009266: 6819 ldr r1, [r3, #0] + 8009268: 68fb ldr r3, [r7, #12] + 800926a: 43da mvns r2, r3 + 800926c: 687b ldr r3, [r7, #4] + 800926e: 681b ldr r3, [r3, #0] + 8009270: 400a ands r2, r1 + 8009272: 601a str r2, [r3, #0] } - 8008cbc: bf00 nop - 8008cbe: 3714 adds r7, #20 - 8008cc0: 46bd mov sp, r7 - 8008cc2: f85d 7b04 ldr.w r7, [sp], #4 - 8008cc6: 4770 bx lr + 8009274: bf00 nop + 8009276: 3714 adds r7, #20 + 8009278: 46bd mov sp, r7 + 800927a: f85d 7b04 ldr.w r7, [sp], #4 + 800927e: 4770 bx lr -08008cc8 : +08009280 : * the configuration information for the specified I2Cx peripheral. * @param AnalogFilter New state of the Analog filter. * @retval HAL status */ HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter) { - 8008cc8: b480 push {r7} - 8008cca: b083 sub sp, #12 - 8008ccc: af00 add r7, sp, #0 - 8008cce: 6078 str r0, [r7, #4] - 8008cd0: 6039 str r1, [r7, #0] + 8009280: b480 push {r7} + 8009282: b083 sub sp, #12 + 8009284: af00 add r7, sp, #0 + 8009286: 6078 str r0, [r7, #4] + 8009288: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); if (hi2c->State == HAL_I2C_STATE_READY) - 8008cd2: 687b ldr r3, [r7, #4] - 8008cd4: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008cd8: b2db uxtb r3, r3 - 8008cda: 2b20 cmp r3, #32 - 8008cdc: d138 bne.n 8008d50 + 800928a: 687b ldr r3, [r7, #4] + 800928c: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8009290: b2db uxtb r3, r3 + 8009292: 2b20 cmp r3, #32 + 8009294: d138 bne.n 8009308 { /* Process Locked */ __HAL_LOCK(hi2c); - 8008cde: 687b ldr r3, [r7, #4] - 8008ce0: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 - 8008ce4: 2b01 cmp r3, #1 - 8008ce6: d101 bne.n 8008cec - 8008ce8: 2302 movs r3, #2 - 8008cea: e032 b.n 8008d52 - 8008cec: 687b ldr r3, [r7, #4] - 8008cee: 2201 movs r2, #1 - 8008cf0: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8009296: 687b ldr r3, [r7, #4] + 8009298: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 + 800929c: 2b01 cmp r3, #1 + 800929e: d101 bne.n 80092a4 + 80092a0: 2302 movs r3, #2 + 80092a2: e032 b.n 800930a + 80092a4: 687b ldr r3, [r7, #4] + 80092a6: 2201 movs r2, #1 + 80092a8: f883 2040 strb.w r2, [r3, #64] @ 0x40 hi2c->State = HAL_I2C_STATE_BUSY; - 8008cf4: 687b ldr r3, [r7, #4] - 8008cf6: 2224 movs r2, #36 @ 0x24 - 8008cf8: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 80092ac: 687b ldr r3, [r7, #4] + 80092ae: 2224 movs r2, #36 @ 0x24 + 80092b0: f883 2041 strb.w r2, [r3, #65] @ 0x41 /* Disable the selected I2C peripheral */ __HAL_I2C_DISABLE(hi2c); - 8008cfc: 687b ldr r3, [r7, #4] - 8008cfe: 681b ldr r3, [r3, #0] - 8008d00: 681a ldr r2, [r3, #0] - 8008d02: 687b ldr r3, [r7, #4] - 8008d04: 681b ldr r3, [r3, #0] - 8008d06: f022 0201 bic.w r2, r2, #1 - 8008d0a: 601a str r2, [r3, #0] + 80092b4: 687b ldr r3, [r7, #4] + 80092b6: 681b ldr r3, [r3, #0] + 80092b8: 681a ldr r2, [r3, #0] + 80092ba: 687b ldr r3, [r7, #4] + 80092bc: 681b ldr r3, [r3, #0] + 80092be: f022 0201 bic.w r2, r2, #1 + 80092c2: 601a str r2, [r3, #0] /* Reset I2Cx ANOFF bit */ hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF); - 8008d0c: 687b ldr r3, [r7, #4] - 8008d0e: 681b ldr r3, [r3, #0] - 8008d10: 681a ldr r2, [r3, #0] - 8008d12: 687b ldr r3, [r7, #4] - 8008d14: 681b ldr r3, [r3, #0] - 8008d16: f422 5280 bic.w r2, r2, #4096 @ 0x1000 - 8008d1a: 601a str r2, [r3, #0] + 80092c4: 687b ldr r3, [r7, #4] + 80092c6: 681b ldr r3, [r3, #0] + 80092c8: 681a ldr r2, [r3, #0] + 80092ca: 687b ldr r3, [r7, #4] + 80092cc: 681b ldr r3, [r3, #0] + 80092ce: f422 5280 bic.w r2, r2, #4096 @ 0x1000 + 80092d2: 601a str r2, [r3, #0] /* Set analog filter bit*/ hi2c->Instance->CR1 |= AnalogFilter; - 8008d1c: 687b ldr r3, [r7, #4] - 8008d1e: 681b ldr r3, [r3, #0] - 8008d20: 6819 ldr r1, [r3, #0] - 8008d22: 687b ldr r3, [r7, #4] - 8008d24: 681b ldr r3, [r3, #0] - 8008d26: 683a ldr r2, [r7, #0] - 8008d28: 430a orrs r2, r1 - 8008d2a: 601a str r2, [r3, #0] + 80092d4: 687b ldr r3, [r7, #4] + 80092d6: 681b ldr r3, [r3, #0] + 80092d8: 6819 ldr r1, [r3, #0] + 80092da: 687b ldr r3, [r7, #4] + 80092dc: 681b ldr r3, [r3, #0] + 80092de: 683a ldr r2, [r7, #0] + 80092e0: 430a orrs r2, r1 + 80092e2: 601a str r2, [r3, #0] __HAL_I2C_ENABLE(hi2c); - 8008d2c: 687b ldr r3, [r7, #4] - 8008d2e: 681b ldr r3, [r3, #0] - 8008d30: 681a ldr r2, [r3, #0] - 8008d32: 687b ldr r3, [r7, #4] - 8008d34: 681b ldr r3, [r3, #0] - 8008d36: f042 0201 orr.w r2, r2, #1 - 8008d3a: 601a str r2, [r3, #0] + 80092e4: 687b ldr r3, [r7, #4] + 80092e6: 681b ldr r3, [r3, #0] + 80092e8: 681a ldr r2, [r3, #0] + 80092ea: 687b ldr r3, [r7, #4] + 80092ec: 681b ldr r3, [r3, #0] + 80092ee: f042 0201 orr.w r2, r2, #1 + 80092f2: 601a str r2, [r3, #0] hi2c->State = HAL_I2C_STATE_READY; - 8008d3c: 687b ldr r3, [r7, #4] - 8008d3e: 2220 movs r2, #32 - 8008d40: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 80092f4: 687b ldr r3, [r7, #4] + 80092f6: 2220 movs r2, #32 + 80092f8: f883 2041 strb.w r2, [r3, #65] @ 0x41 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8008d44: 687b ldr r3, [r7, #4] - 8008d46: 2200 movs r2, #0 - 8008d48: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 80092fc: 687b ldr r3, [r7, #4] + 80092fe: 2200 movs r2, #0 + 8009300: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_OK; - 8008d4c: 2300 movs r3, #0 - 8008d4e: e000 b.n 8008d52 + 8009304: 2300 movs r3, #0 + 8009306: e000 b.n 800930a } else { return HAL_BUSY; - 8008d50: 2302 movs r3, #2 + 8009308: 2302 movs r3, #2 } } - 8008d52: 4618 mov r0, r3 - 8008d54: 370c adds r7, #12 - 8008d56: 46bd mov sp, r7 - 8008d58: f85d 7b04 ldr.w r7, [sp], #4 - 8008d5c: 4770 bx lr + 800930a: 4618 mov r0, r3 + 800930c: 370c adds r7, #12 + 800930e: 46bd mov sp, r7 + 8009310: f85d 7b04 ldr.w r7, [sp], #4 + 8009314: 4770 bx lr -08008d5e : +08009316 : * the configuration information for the specified I2Cx peripheral. * @param DigitalFilter Coefficient of digital noise filter between Min_Data=0x00 and Max_Data=0x0F. * @retval HAL status */ HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter) { - 8008d5e: b480 push {r7} - 8008d60: b085 sub sp, #20 - 8008d62: af00 add r7, sp, #0 - 8008d64: 6078 str r0, [r7, #4] - 8008d66: 6039 str r1, [r7, #0] + 8009316: b480 push {r7} + 8009318: b085 sub sp, #20 + 800931a: af00 add r7, sp, #0 + 800931c: 6078 str r0, [r7, #4] + 800931e: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); if (hi2c->State == HAL_I2C_STATE_READY) - 8008d68: 687b ldr r3, [r7, #4] - 8008d6a: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 - 8008d6e: b2db uxtb r3, r3 - 8008d70: 2b20 cmp r3, #32 - 8008d72: d139 bne.n 8008de8 + 8009320: 687b ldr r3, [r7, #4] + 8009322: f893 3041 ldrb.w r3, [r3, #65] @ 0x41 + 8009326: b2db uxtb r3, r3 + 8009328: 2b20 cmp r3, #32 + 800932a: d139 bne.n 80093a0 { /* Process Locked */ __HAL_LOCK(hi2c); - 8008d74: 687b ldr r3, [r7, #4] - 8008d76: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 - 8008d7a: 2b01 cmp r3, #1 - 8008d7c: d101 bne.n 8008d82 - 8008d7e: 2302 movs r3, #2 - 8008d80: e033 b.n 8008dea - 8008d82: 687b ldr r3, [r7, #4] - 8008d84: 2201 movs r2, #1 - 8008d86: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 800932c: 687b ldr r3, [r7, #4] + 800932e: f893 3040 ldrb.w r3, [r3, #64] @ 0x40 + 8009332: 2b01 cmp r3, #1 + 8009334: d101 bne.n 800933a + 8009336: 2302 movs r3, #2 + 8009338: e033 b.n 80093a2 + 800933a: 687b ldr r3, [r7, #4] + 800933c: 2201 movs r2, #1 + 800933e: f883 2040 strb.w r2, [r3, #64] @ 0x40 hi2c->State = HAL_I2C_STATE_BUSY; - 8008d8a: 687b ldr r3, [r7, #4] - 8008d8c: 2224 movs r2, #36 @ 0x24 - 8008d8e: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 8009342: 687b ldr r3, [r7, #4] + 8009344: 2224 movs r2, #36 @ 0x24 + 8009346: f883 2041 strb.w r2, [r3, #65] @ 0x41 /* Disable the selected I2C peripheral */ __HAL_I2C_DISABLE(hi2c); - 8008d92: 687b ldr r3, [r7, #4] - 8008d94: 681b ldr r3, [r3, #0] - 8008d96: 681a ldr r2, [r3, #0] - 8008d98: 687b ldr r3, [r7, #4] - 8008d9a: 681b ldr r3, [r3, #0] - 8008d9c: f022 0201 bic.w r2, r2, #1 - 8008da0: 601a str r2, [r3, #0] + 800934a: 687b ldr r3, [r7, #4] + 800934c: 681b ldr r3, [r3, #0] + 800934e: 681a ldr r2, [r3, #0] + 8009350: 687b ldr r3, [r7, #4] + 8009352: 681b ldr r3, [r3, #0] + 8009354: f022 0201 bic.w r2, r2, #1 + 8009358: 601a str r2, [r3, #0] /* Get the old register value */ tmpreg = hi2c->Instance->CR1; - 8008da2: 687b ldr r3, [r7, #4] - 8008da4: 681b ldr r3, [r3, #0] - 8008da6: 681b ldr r3, [r3, #0] - 8008da8: 60fb str r3, [r7, #12] + 800935a: 687b ldr r3, [r7, #4] + 800935c: 681b ldr r3, [r3, #0] + 800935e: 681b ldr r3, [r3, #0] + 8009360: 60fb str r3, [r7, #12] /* Reset I2Cx DNF bits [11:8] */ tmpreg &= ~(I2C_CR1_DNF); - 8008daa: 68fb ldr r3, [r7, #12] - 8008dac: f423 6370 bic.w r3, r3, #3840 @ 0xf00 - 8008db0: 60fb str r3, [r7, #12] + 8009362: 68fb ldr r3, [r7, #12] + 8009364: f423 6370 bic.w r3, r3, #3840 @ 0xf00 + 8009368: 60fb str r3, [r7, #12] /* Set I2Cx DNF coefficient */ tmpreg |= DigitalFilter << 8U; - 8008db2: 683b ldr r3, [r7, #0] - 8008db4: 021b lsls r3, r3, #8 - 8008db6: 68fa ldr r2, [r7, #12] - 8008db8: 4313 orrs r3, r2 - 8008dba: 60fb str r3, [r7, #12] + 800936a: 683b ldr r3, [r7, #0] + 800936c: 021b lsls r3, r3, #8 + 800936e: 68fa ldr r2, [r7, #12] + 8009370: 4313 orrs r3, r2 + 8009372: 60fb str r3, [r7, #12] /* Store the new register value */ hi2c->Instance->CR1 = tmpreg; - 8008dbc: 687b ldr r3, [r7, #4] - 8008dbe: 681b ldr r3, [r3, #0] - 8008dc0: 68fa ldr r2, [r7, #12] - 8008dc2: 601a str r2, [r3, #0] + 8009374: 687b ldr r3, [r7, #4] + 8009376: 681b ldr r3, [r3, #0] + 8009378: 68fa ldr r2, [r7, #12] + 800937a: 601a str r2, [r3, #0] __HAL_I2C_ENABLE(hi2c); - 8008dc4: 687b ldr r3, [r7, #4] - 8008dc6: 681b ldr r3, [r3, #0] - 8008dc8: 681a ldr r2, [r3, #0] - 8008dca: 687b ldr r3, [r7, #4] - 8008dcc: 681b ldr r3, [r3, #0] - 8008dce: f042 0201 orr.w r2, r2, #1 - 8008dd2: 601a str r2, [r3, #0] + 800937c: 687b ldr r3, [r7, #4] + 800937e: 681b ldr r3, [r3, #0] + 8009380: 681a ldr r2, [r3, #0] + 8009382: 687b ldr r3, [r7, #4] + 8009384: 681b ldr r3, [r3, #0] + 8009386: f042 0201 orr.w r2, r2, #1 + 800938a: 601a str r2, [r3, #0] hi2c->State = HAL_I2C_STATE_READY; - 8008dd4: 687b ldr r3, [r7, #4] - 8008dd6: 2220 movs r2, #32 - 8008dd8: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800938c: 687b ldr r3, [r7, #4] + 800938e: 2220 movs r2, #32 + 8009390: f883 2041 strb.w r2, [r3, #65] @ 0x41 /* Process Unlocked */ __HAL_UNLOCK(hi2c); - 8008ddc: 687b ldr r3, [r7, #4] - 8008dde: 2200 movs r2, #0 - 8008de0: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 8009394: 687b ldr r3, [r7, #4] + 8009396: 2200 movs r2, #0 + 8009398: f883 2040 strb.w r2, [r3, #64] @ 0x40 return HAL_OK; - 8008de4: 2300 movs r3, #0 - 8008de6: e000 b.n 8008dea + 800939c: 2300 movs r3, #0 + 800939e: e000 b.n 80093a2 } else { return HAL_BUSY; - 8008de8: 2302 movs r3, #2 + 80093a0: 2302 movs r3, #2 } } - 8008dea: 4618 mov r0, r3 - 8008dec: 3714 adds r7, #20 - 8008dee: 46bd mov sp, r7 - 8008df0: f85d 7b04 ldr.w r7, [sp], #4 - 8008df4: 4770 bx lr + 80093a2: 4618 mov r0, r3 + 80093a4: 3714 adds r7, #20 + 80093a6: 46bd mov sp, r7 + 80093a8: f85d 7b04 ldr.w r7, [sp], #4 + 80093ac: 4770 bx lr ... -08008df8 : +080093b0 : * @brief Initialize the IPCC peripheral. * @param hipcc IPCC handle * @retval HAL status */ HAL_StatusTypeDef HAL_IPCC_Init(IPCC_HandleTypeDef *hipcc) { - 8008df8: b580 push {r7, lr} - 8008dfa: b084 sub sp, #16 - 8008dfc: af00 add r7, sp, #0 - 8008dfe: 6078 str r0, [r7, #4] + 80093b0: b580 push {r7, lr} + 80093b2: b084 sub sp, #16 + 80093b4: af00 add r7, sp, #0 + 80093b6: 6078 str r0, [r7, #4] HAL_StatusTypeDef err = HAL_OK; - 8008e00: 2300 movs r3, #0 - 8008e02: 73fb strb r3, [r7, #15] + 80093b8: 2300 movs r3, #0 + 80093ba: 73fb strb r3, [r7, #15] /* Check the IPCC handle allocation */ if (hipcc != NULL) - 8008e04: 687b ldr r3, [r7, #4] - 8008e06: 2b00 cmp r3, #0 - 8008e08: d01e beq.n 8008e48 + 80093bc: 687b ldr r3, [r7, #4] + 80093be: 2b00 cmp r3, #0 + 80093c0: d01e beq.n 8009400 { /* Check the parameters */ assert_param(IS_IPCC_ALL_INSTANCE(hipcc->Instance)); IPCC_CommonTypeDef *currentInstance = IPCC_C1; - 8008e0a: 4b13 ldr r3, [pc, #76] @ (8008e58 ) - 8008e0c: 60bb str r3, [r7, #8] + 80093c2: 4b13 ldr r3, [pc, #76] @ (8009410 ) + 80093c4: 60bb str r3, [r7, #8] if (hipcc->State == HAL_IPCC_STATE_RESET) - 8008e0e: 687b ldr r3, [r7, #4] - 8008e10: f893 3038 ldrb.w r3, [r3, #56] @ 0x38 - 8008e14: b2db uxtb r3, r3 - 8008e16: 2b00 cmp r3, #0 - 8008e18: d102 bne.n 8008e20 + 80093c6: 687b ldr r3, [r7, #4] + 80093c8: f893 3038 ldrb.w r3, [r3, #56] @ 0x38 + 80093cc: b2db uxtb r3, r3 + 80093ce: 2b00 cmp r3, #0 + 80093d0: d102 bne.n 80093d8 { /* Init the low level hardware : CLOCK, NVIC */ HAL_IPCC_MspInit(hipcc); - 8008e1a: 6878 ldr r0, [r7, #4] - 8008e1c: f7fc ff42 bl 8005ca4 + 80093d2: 6878 ldr r0, [r7, #4] + 80093d4: f7fc fee4 bl 80061a0 } /* Reset all registers of the current cpu to default state */ IPCC_Reset_Register(currentInstance); - 8008e20: 68b8 ldr r0, [r7, #8] - 8008e22: f000 f85b bl 8008edc + 80093d8: 68b8 ldr r0, [r7, #8] + 80093da: f000 f85b bl 8009494 /* Activate the interrupts */ currentInstance->CR |= (IPCC_CR_RXOIE | IPCC_CR_TXFIE); - 8008e26: 68bb ldr r3, [r7, #8] - 8008e28: 681b ldr r3, [r3, #0] - 8008e2a: f043 1201 orr.w r2, r3, #65537 @ 0x10001 - 8008e2e: 68bb ldr r3, [r7, #8] - 8008e30: 601a str r2, [r3, #0] + 80093de: 68bb ldr r3, [r7, #8] + 80093e0: 681b ldr r3, [r3, #0] + 80093e2: f043 1201 orr.w r2, r3, #65537 @ 0x10001 + 80093e6: 68bb ldr r3, [r7, #8] + 80093e8: 601a str r2, [r3, #0] /* Clear callback pointers */ IPCC_SetDefaultCallbacks(hipcc); - 8008e32: 6878 ldr r0, [r7, #4] - 8008e34: f000 f82c bl 8008e90 + 80093ea: 6878 ldr r0, [r7, #4] + 80093ec: f000 f82c bl 8009448 /* Reset all callback notification request */ hipcc->callbackRequest = 0; - 8008e38: 687b ldr r3, [r7, #4] - 8008e3a: 2200 movs r2, #0 - 8008e3c: 635a str r2, [r3, #52] @ 0x34 + 80093f0: 687b ldr r3, [r7, #4] + 80093f2: 2200 movs r2, #0 + 80093f4: 635a str r2, [r3, #52] @ 0x34 hipcc->State = HAL_IPCC_STATE_READY; - 8008e3e: 687b ldr r3, [r7, #4] - 8008e40: 2201 movs r2, #1 - 8008e42: f883 2038 strb.w r2, [r3, #56] @ 0x38 - 8008e46: e001 b.n 8008e4c + 80093f6: 687b ldr r3, [r7, #4] + 80093f8: 2201 movs r2, #1 + 80093fa: f883 2038 strb.w r2, [r3, #56] @ 0x38 + 80093fe: e001 b.n 8009404 } else { err = HAL_ERROR; - 8008e48: 2301 movs r3, #1 - 8008e4a: 73fb strb r3, [r7, #15] + 8009400: 2301 movs r3, #1 + 8009402: 73fb strb r3, [r7, #15] } return err; - 8008e4c: 7bfb ldrb r3, [r7, #15] + 8009404: 7bfb ldrb r3, [r7, #15] } - 8008e4e: 4618 mov r0, r3 - 8008e50: 3710 adds r7, #16 - 8008e52: 46bd mov sp, r7 - 8008e54: bd80 pop {r7, pc} - 8008e56: bf00 nop - 8008e58: 58000c00 .word 0x58000c00 + 8009406: 4618 mov r0, r3 + 8009408: 3710 adds r7, #16 + 800940a: 46bd mov sp, r7 + 800940c: bd80 pop {r7, pc} + 800940e: bf00 nop + 8009410: 58000c00 .word 0x58000c00 -08008e5c : +08009414 : * @arg IPCC_CHANNEL_5: IPCC Channel 5 * @arg IPCC_CHANNEL_6: IPCC Channel 6 * @param ChannelDir Channel direction */ __weak void HAL_IPCC_RxCallback(IPCC_HandleTypeDef *hipcc, uint32_t ChannelIndex, IPCC_CHANNELDirTypeDef ChannelDir) { - 8008e5c: b480 push {r7} - 8008e5e: b085 sub sp, #20 - 8008e60: af00 add r7, sp, #0 - 8008e62: 60f8 str r0, [r7, #12] - 8008e64: 60b9 str r1, [r7, #8] - 8008e66: 4613 mov r3, r2 - 8008e68: 71fb strb r3, [r7, #7] + 8009414: b480 push {r7} + 8009416: b085 sub sp, #20 + 8009418: af00 add r7, sp, #0 + 800941a: 60f8 str r0, [r7, #12] + 800941c: 60b9 str r1, [r7, #8] + 800941e: 4613 mov r3, r2 + 8009420: 71fb strb r3, [r7, #7] UNUSED(ChannelDir); /* NOTE : This function should not be modified, when the callback is needed, the HAL_IPCC_RxCallback can be implemented in the user file */ } - 8008e6a: bf00 nop - 8008e6c: 3714 adds r7, #20 - 8008e6e: 46bd mov sp, r7 - 8008e70: f85d 7b04 ldr.w r7, [sp], #4 - 8008e74: 4770 bx lr + 8009422: bf00 nop + 8009424: 3714 adds r7, #20 + 8009426: 46bd mov sp, r7 + 8009428: f85d 7b04 ldr.w r7, [sp], #4 + 800942c: 4770 bx lr -08008e76 : +0800942e : * @arg IPCC_CHANNEL_5: IPCC Channel 5 * @arg IPCC_CHANNEL_6: IPCC Channel 6 * @param ChannelDir Channel direction */ __weak void HAL_IPCC_TxCallback(IPCC_HandleTypeDef *hipcc, uint32_t ChannelIndex, IPCC_CHANNELDirTypeDef ChannelDir) { - 8008e76: b480 push {r7} - 8008e78: b085 sub sp, #20 - 8008e7a: af00 add r7, sp, #0 - 8008e7c: 60f8 str r0, [r7, #12] - 8008e7e: 60b9 str r1, [r7, #8] - 8008e80: 4613 mov r3, r2 - 8008e82: 71fb strb r3, [r7, #7] + 800942e: b480 push {r7} + 8009430: b085 sub sp, #20 + 8009432: af00 add r7, sp, #0 + 8009434: 60f8 str r0, [r7, #12] + 8009436: 60b9 str r1, [r7, #8] + 8009438: 4613 mov r3, r2 + 800943a: 71fb strb r3, [r7, #7] UNUSED(ChannelDir); /* NOTE : This function should not be modified, when the callback is needed, the HAL_IPCC_TxCallback can be implemented in the user file */ } - 8008e84: bf00 nop - 8008e86: 3714 adds r7, #20 - 8008e88: 46bd mov sp, r7 - 8008e8a: f85d 7b04 ldr.w r7, [sp], #4 - 8008e8e: 4770 bx lr + 800943c: bf00 nop + 800943e: 3714 adds r7, #20 + 8009440: 46bd mov sp, r7 + 8009442: f85d 7b04 ldr.w r7, [sp], #4 + 8009446: 4770 bx lr -08008e90 : +08009448 : /** * @brief Reset all callbacks of the handle to NULL. * @param hipcc IPCC handle */ void IPCC_SetDefaultCallbacks(IPCC_HandleTypeDef *hipcc) { - 8008e90: b480 push {r7} - 8008e92: b085 sub sp, #20 - 8008e94: af00 add r7, sp, #0 - 8008e96: 6078 str r0, [r7, #4] + 8009448: b480 push {r7} + 800944a: b085 sub sp, #20 + 800944c: af00 add r7, sp, #0 + 800944e: 6078 str r0, [r7, #4] uint32_t i; /* Set all callbacks to default */ for (i = 0; i < IPCC_CHANNEL_NUMBER; i++) - 8008e98: 2300 movs r3, #0 - 8008e9a: 60fb str r3, [r7, #12] - 8008e9c: e00f b.n 8008ebe + 8009450: 2300 movs r3, #0 + 8009452: 60fb str r3, [r7, #12] + 8009454: e00f b.n 8009476 { hipcc->ChannelCallbackRx[i] = HAL_IPCC_RxCallback; - 8008e9e: 687a ldr r2, [r7, #4] - 8008ea0: 68fb ldr r3, [r7, #12] - 8008ea2: 009b lsls r3, r3, #2 - 8008ea4: 4413 add r3, r2 - 8008ea6: 4a0b ldr r2, [pc, #44] @ (8008ed4 ) - 8008ea8: 605a str r2, [r3, #4] + 8009456: 687a ldr r2, [r7, #4] + 8009458: 68fb ldr r3, [r7, #12] + 800945a: 009b lsls r3, r3, #2 + 800945c: 4413 add r3, r2 + 800945e: 4a0b ldr r2, [pc, #44] @ (800948c ) + 8009460: 605a str r2, [r3, #4] hipcc->ChannelCallbackTx[i] = HAL_IPCC_TxCallback; - 8008eaa: 687a ldr r2, [r7, #4] - 8008eac: 68fb ldr r3, [r7, #12] - 8008eae: 3306 adds r3, #6 - 8008eb0: 009b lsls r3, r3, #2 - 8008eb2: 4413 add r3, r2 - 8008eb4: 4a08 ldr r2, [pc, #32] @ (8008ed8 ) - 8008eb6: 605a str r2, [r3, #4] + 8009462: 687a ldr r2, [r7, #4] + 8009464: 68fb ldr r3, [r7, #12] + 8009466: 3306 adds r3, #6 + 8009468: 009b lsls r3, r3, #2 + 800946a: 4413 add r3, r2 + 800946c: 4a08 ldr r2, [pc, #32] @ (8009490 ) + 800946e: 605a str r2, [r3, #4] for (i = 0; i < IPCC_CHANNEL_NUMBER; i++) - 8008eb8: 68fb ldr r3, [r7, #12] - 8008eba: 3301 adds r3, #1 - 8008ebc: 60fb str r3, [r7, #12] - 8008ebe: 68fb ldr r3, [r7, #12] - 8008ec0: 2b05 cmp r3, #5 - 8008ec2: d9ec bls.n 8008e9e + 8009470: 68fb ldr r3, [r7, #12] + 8009472: 3301 adds r3, #1 + 8009474: 60fb str r3, [r7, #12] + 8009476: 68fb ldr r3, [r7, #12] + 8009478: 2b05 cmp r3, #5 + 800947a: d9ec bls.n 8009456 } } - 8008ec4: bf00 nop - 8008ec6: bf00 nop - 8008ec8: 3714 adds r7, #20 - 8008eca: 46bd mov sp, r7 - 8008ecc: f85d 7b04 ldr.w r7, [sp], #4 - 8008ed0: 4770 bx lr - 8008ed2: bf00 nop - 8008ed4: 08008e5d .word 0x08008e5d - 8008ed8: 08008e77 .word 0x08008e77 + 800947c: bf00 nop + 800947e: bf00 nop + 8009480: 3714 adds r7, #20 + 8009482: 46bd mov sp, r7 + 8009484: f85d 7b04 ldr.w r7, [sp], #4 + 8009488: 4770 bx lr + 800948a: bf00 nop + 800948c: 08009415 .word 0x08009415 + 8009490: 0800942f .word 0x0800942f -08008edc : +08009494 : /** * @brief Reset IPCC register to default value for the concerned instance. * @param Instance pointer to register */ void IPCC_Reset_Register(IPCC_CommonTypeDef *Instance) { - 8008edc: b480 push {r7} - 8008ede: b083 sub sp, #12 - 8008ee0: af00 add r7, sp, #0 - 8008ee2: 6078 str r0, [r7, #4] + 8009494: b480 push {r7} + 8009496: b083 sub sp, #12 + 8009498: af00 add r7, sp, #0 + 800949a: 6078 str r0, [r7, #4] /* Disable RX and TX interrupts */ Instance->CR = 0x00000000U; - 8008ee4: 687b ldr r3, [r7, #4] - 8008ee6: 2200 movs r2, #0 - 8008ee8: 601a str r2, [r3, #0] + 800949c: 687b ldr r3, [r7, #4] + 800949e: 2200 movs r2, #0 + 80094a0: 601a str r2, [r3, #0] /* Mask RX and TX interrupts */ Instance->MR = (IPCC_ALL_TX_BUF | IPCC_ALL_RX_BUF); - 8008eea: 687b ldr r3, [r7, #4] - 8008eec: f04f 123f mov.w r2, #4128831 @ 0x3f003f - 8008ef0: 605a str r2, [r3, #4] + 80094a2: 687b ldr r3, [r7, #4] + 80094a4: f04f 123f mov.w r2, #4128831 @ 0x3f003f + 80094a8: 605a str r2, [r3, #4] /* Clear RX status */ Instance->SCR = IPCC_ALL_RX_BUF; - 8008ef2: 687b ldr r3, [r7, #4] - 8008ef4: 223f movs r2, #63 @ 0x3f - 8008ef6: 609a str r2, [r3, #8] + 80094aa: 687b ldr r3, [r7, #4] + 80094ac: 223f movs r2, #63 @ 0x3f + 80094ae: 609a str r2, [r3, #8] } - 8008ef8: bf00 nop - 8008efa: 370c adds r7, #12 - 8008efc: 46bd mov sp, r7 - 8008efe: f85d 7b04 ldr.w r7, [sp], #4 - 8008f02: 4770 bx lr + 80094b0: bf00 nop + 80094b2: 370c adds r7, #12 + 80094b4: 46bd mov sp, r7 + 80094b6: f85d 7b04 ldr.w r7, [sp], #4 + 80094ba: 4770 bx lr -08008f04 : +080094bc : * parameters in the PCD_InitTypeDef and initialize the associated handle. * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd) { - 8008f04: b580 push {r7, lr} - 8008f06: b084 sub sp, #16 - 8008f08: af00 add r7, sp, #0 - 8008f0a: 6078 str r0, [r7, #4] + 80094bc: b580 push {r7, lr} + 80094be: b084 sub sp, #16 + 80094c0: af00 add r7, sp, #0 + 80094c2: 6078 str r0, [r7, #4] uint8_t i; /* Check the PCD handle allocation */ if (hpcd == NULL) - 8008f0c: 687b ldr r3, [r7, #4] - 8008f0e: 2b00 cmp r3, #0 - 8008f10: d101 bne.n 8008f16 + 80094c4: 687b ldr r3, [r7, #4] + 80094c6: 2b00 cmp r3, #0 + 80094c8: d101 bne.n 80094ce { return HAL_ERROR; - 8008f12: 2301 movs r3, #1 - 8008f14: e0c0 b.n 8009098 + 80094ca: 2301 movs r3, #1 + 80094cc: e0c0 b.n 8009650 } /* Check the parameters */ assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); if (hpcd->State == HAL_PCD_STATE_RESET) - 8008f16: 687b ldr r3, [r7, #4] - 8008f18: f893 3291 ldrb.w r3, [r3, #657] @ 0x291 - 8008f1c: b2db uxtb r3, r3 - 8008f1e: 2b00 cmp r3, #0 - 8008f20: d106 bne.n 8008f30 + 80094ce: 687b ldr r3, [r7, #4] + 80094d0: f893 3291 ldrb.w r3, [r3, #657] @ 0x291 + 80094d4: b2db uxtb r3, r3 + 80094d6: 2b00 cmp r3, #0 + 80094d8: d106 bne.n 80094e8 { /* Allocate lock resource and initialize it */ hpcd->Lock = HAL_UNLOCKED; - 8008f22: 687b ldr r3, [r7, #4] - 8008f24: 2200 movs r2, #0 - 8008f26: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 80094da: 687b ldr r3, [r7, #4] + 80094dc: 2200 movs r2, #0 + 80094de: f883 2290 strb.w r2, [r3, #656] @ 0x290 /* Init the low level hardware */ hpcd->MspInitCallback(hpcd); #else /* Init the low level hardware : GPIO, CLOCK, NVIC... */ HAL_PCD_MspInit(hpcd); - 8008f2a: 6878 ldr r0, [r7, #4] - 8008f2c: f00f f9f4 bl 8018318 + 80094e2: 6878 ldr r0, [r7, #4] + 80094e4: f00f fc00 bl 8018ce8 #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ } hpcd->State = HAL_PCD_STATE_BUSY; - 8008f30: 687b ldr r3, [r7, #4] - 8008f32: 2203 movs r2, #3 - 8008f34: f883 2291 strb.w r2, [r3, #657] @ 0x291 + 80094e8: 687b ldr r3, [r7, #4] + 80094ea: 2203 movs r2, #3 + 80094ec: f883 2291 strb.w r2, [r3, #657] @ 0x291 /* Disable the Interrupts */ __HAL_PCD_DISABLE(hpcd); - 8008f38: 687b ldr r3, [r7, #4] - 8008f3a: 681b ldr r3, [r3, #0] - 8008f3c: 4618 mov r0, r3 - 8008f3e: f005 fc5c bl 800e7fa + 80094f0: 687b ldr r3, [r7, #4] + 80094f2: 681b ldr r3, [r3, #0] + 80094f4: 4618 mov r0, r3 + 80094f6: f005 fe7e bl 800f1f6 /* Init endpoints structures */ for (i = 0U; i < hpcd->Init.dev_endpoints; i++) - 8008f42: 2300 movs r3, #0 - 8008f44: 73fb strb r3, [r7, #15] - 8008f46: e03e b.n 8008fc6 + 80094fa: 2300 movs r3, #0 + 80094fc: 73fb strb r3, [r7, #15] + 80094fe: e03e b.n 800957e { /* Init ep structure */ hpcd->IN_ep[i].is_in = 1U; - 8008f48: 7bfa ldrb r2, [r7, #15] - 8008f4a: 6879 ldr r1, [r7, #4] - 8008f4c: 4613 mov r3, r2 - 8008f4e: 009b lsls r3, r3, #2 - 8008f50: 4413 add r3, r2 - 8008f52: 00db lsls r3, r3, #3 - 8008f54: 440b add r3, r1 - 8008f56: 3311 adds r3, #17 - 8008f58: 2201 movs r2, #1 - 8008f5a: 701a strb r2, [r3, #0] + 8009500: 7bfa ldrb r2, [r7, #15] + 8009502: 6879 ldr r1, [r7, #4] + 8009504: 4613 mov r3, r2 + 8009506: 009b lsls r3, r3, #2 + 8009508: 4413 add r3, r2 + 800950a: 00db lsls r3, r3, #3 + 800950c: 440b add r3, r1 + 800950e: 3311 adds r3, #17 + 8009510: 2201 movs r2, #1 + 8009512: 701a strb r2, [r3, #0] hpcd->IN_ep[i].num = i; - 8008f5c: 7bfa ldrb r2, [r7, #15] - 8008f5e: 6879 ldr r1, [r7, #4] - 8008f60: 4613 mov r3, r2 - 8008f62: 009b lsls r3, r3, #2 - 8008f64: 4413 add r3, r2 - 8008f66: 00db lsls r3, r3, #3 - 8008f68: 440b add r3, r1 - 8008f6a: 3310 adds r3, #16 - 8008f6c: 7bfa ldrb r2, [r7, #15] - 8008f6e: 701a strb r2, [r3, #0] + 8009514: 7bfa ldrb r2, [r7, #15] + 8009516: 6879 ldr r1, [r7, #4] + 8009518: 4613 mov r3, r2 + 800951a: 009b lsls r3, r3, #2 + 800951c: 4413 add r3, r2 + 800951e: 00db lsls r3, r3, #3 + 8009520: 440b add r3, r1 + 8009522: 3310 adds r3, #16 + 8009524: 7bfa ldrb r2, [r7, #15] + 8009526: 701a strb r2, [r3, #0] /* Control until ep is activated */ hpcd->IN_ep[i].type = EP_TYPE_CTRL; - 8008f70: 7bfa ldrb r2, [r7, #15] - 8008f72: 6879 ldr r1, [r7, #4] - 8008f74: 4613 mov r3, r2 - 8008f76: 009b lsls r3, r3, #2 - 8008f78: 4413 add r3, r2 - 8008f7a: 00db lsls r3, r3, #3 - 8008f7c: 440b add r3, r1 - 8008f7e: 3313 adds r3, #19 - 8008f80: 2200 movs r2, #0 - 8008f82: 701a strb r2, [r3, #0] + 8009528: 7bfa ldrb r2, [r7, #15] + 800952a: 6879 ldr r1, [r7, #4] + 800952c: 4613 mov r3, r2 + 800952e: 009b lsls r3, r3, #2 + 8009530: 4413 add r3, r2 + 8009532: 00db lsls r3, r3, #3 + 8009534: 440b add r3, r1 + 8009536: 3313 adds r3, #19 + 8009538: 2200 movs r2, #0 + 800953a: 701a strb r2, [r3, #0] hpcd->IN_ep[i].maxpacket = 0U; - 8008f84: 7bfa ldrb r2, [r7, #15] - 8008f86: 6879 ldr r1, [r7, #4] - 8008f88: 4613 mov r3, r2 - 8008f8a: 009b lsls r3, r3, #2 - 8008f8c: 4413 add r3, r2 - 8008f8e: 00db lsls r3, r3, #3 - 8008f90: 440b add r3, r1 - 8008f92: 3320 adds r3, #32 - 8008f94: 2200 movs r2, #0 - 8008f96: 601a str r2, [r3, #0] + 800953c: 7bfa ldrb r2, [r7, #15] + 800953e: 6879 ldr r1, [r7, #4] + 8009540: 4613 mov r3, r2 + 8009542: 009b lsls r3, r3, #2 + 8009544: 4413 add r3, r2 + 8009546: 00db lsls r3, r3, #3 + 8009548: 440b add r3, r1 + 800954a: 3320 adds r3, #32 + 800954c: 2200 movs r2, #0 + 800954e: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_buff = 0U; - 8008f98: 7bfa ldrb r2, [r7, #15] - 8008f9a: 6879 ldr r1, [r7, #4] - 8008f9c: 4613 mov r3, r2 - 8008f9e: 009b lsls r3, r3, #2 - 8008fa0: 4413 add r3, r2 - 8008fa2: 00db lsls r3, r3, #3 - 8008fa4: 440b add r3, r1 - 8008fa6: 3324 adds r3, #36 @ 0x24 - 8008fa8: 2200 movs r2, #0 - 8008faa: 601a str r2, [r3, #0] + 8009550: 7bfa ldrb r2, [r7, #15] + 8009552: 6879 ldr r1, [r7, #4] + 8009554: 4613 mov r3, r2 + 8009556: 009b lsls r3, r3, #2 + 8009558: 4413 add r3, r2 + 800955a: 00db lsls r3, r3, #3 + 800955c: 440b add r3, r1 + 800955e: 3324 adds r3, #36 @ 0x24 + 8009560: 2200 movs r2, #0 + 8009562: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_len = 0U; - 8008fac: 7bfb ldrb r3, [r7, #15] - 8008fae: 6879 ldr r1, [r7, #4] - 8008fb0: 1c5a adds r2, r3, #1 - 8008fb2: 4613 mov r3, r2 - 8008fb4: 009b lsls r3, r3, #2 - 8008fb6: 4413 add r3, r2 - 8008fb8: 00db lsls r3, r3, #3 - 8008fba: 440b add r3, r1 - 8008fbc: 2200 movs r2, #0 - 8008fbe: 601a str r2, [r3, #0] + 8009564: 7bfb ldrb r3, [r7, #15] + 8009566: 6879 ldr r1, [r7, #4] + 8009568: 1c5a adds r2, r3, #1 + 800956a: 4613 mov r3, r2 + 800956c: 009b lsls r3, r3, #2 + 800956e: 4413 add r3, r2 + 8009570: 00db lsls r3, r3, #3 + 8009572: 440b add r3, r1 + 8009574: 2200 movs r2, #0 + 8009576: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) - 8008fc0: 7bfb ldrb r3, [r7, #15] - 8008fc2: 3301 adds r3, #1 - 8008fc4: 73fb strb r3, [r7, #15] - 8008fc6: 687b ldr r3, [r7, #4] - 8008fc8: 791b ldrb r3, [r3, #4] - 8008fca: 7bfa ldrb r2, [r7, #15] - 8008fcc: 429a cmp r2, r3 - 8008fce: d3bb bcc.n 8008f48 + 8009578: 7bfb ldrb r3, [r7, #15] + 800957a: 3301 adds r3, #1 + 800957c: 73fb strb r3, [r7, #15] + 800957e: 687b ldr r3, [r7, #4] + 8009580: 791b ldrb r3, [r3, #4] + 8009582: 7bfa ldrb r2, [r7, #15] + 8009584: 429a cmp r2, r3 + 8009586: d3bb bcc.n 8009500 } for (i = 0U; i < hpcd->Init.dev_endpoints; i++) - 8008fd0: 2300 movs r3, #0 - 8008fd2: 73fb strb r3, [r7, #15] - 8008fd4: e044 b.n 8009060 + 8009588: 2300 movs r3, #0 + 800958a: 73fb strb r3, [r7, #15] + 800958c: e044 b.n 8009618 { hpcd->OUT_ep[i].is_in = 0U; - 8008fd6: 7bfa ldrb r2, [r7, #15] - 8008fd8: 6879 ldr r1, [r7, #4] - 8008fda: 4613 mov r3, r2 - 8008fdc: 009b lsls r3, r3, #2 - 8008fde: 4413 add r3, r2 - 8008fe0: 00db lsls r3, r3, #3 - 8008fe2: 440b add r3, r1 - 8008fe4: f203 1351 addw r3, r3, #337 @ 0x151 - 8008fe8: 2200 movs r2, #0 - 8008fea: 701a strb r2, [r3, #0] + 800958e: 7bfa ldrb r2, [r7, #15] + 8009590: 6879 ldr r1, [r7, #4] + 8009592: 4613 mov r3, r2 + 8009594: 009b lsls r3, r3, #2 + 8009596: 4413 add r3, r2 + 8009598: 00db lsls r3, r3, #3 + 800959a: 440b add r3, r1 + 800959c: f203 1351 addw r3, r3, #337 @ 0x151 + 80095a0: 2200 movs r2, #0 + 80095a2: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].num = i; - 8008fec: 7bfa ldrb r2, [r7, #15] - 8008fee: 6879 ldr r1, [r7, #4] - 8008ff0: 4613 mov r3, r2 - 8008ff2: 009b lsls r3, r3, #2 - 8008ff4: 4413 add r3, r2 - 8008ff6: 00db lsls r3, r3, #3 - 8008ff8: 440b add r3, r1 - 8008ffa: f503 73a8 add.w r3, r3, #336 @ 0x150 - 8008ffe: 7bfa ldrb r2, [r7, #15] - 8009000: 701a strb r2, [r3, #0] + 80095a4: 7bfa ldrb r2, [r7, #15] + 80095a6: 6879 ldr r1, [r7, #4] + 80095a8: 4613 mov r3, r2 + 80095aa: 009b lsls r3, r3, #2 + 80095ac: 4413 add r3, r2 + 80095ae: 00db lsls r3, r3, #3 + 80095b0: 440b add r3, r1 + 80095b2: f503 73a8 add.w r3, r3, #336 @ 0x150 + 80095b6: 7bfa ldrb r2, [r7, #15] + 80095b8: 701a strb r2, [r3, #0] /* Control until ep is activated */ hpcd->OUT_ep[i].type = EP_TYPE_CTRL; - 8009002: 7bfa ldrb r2, [r7, #15] - 8009004: 6879 ldr r1, [r7, #4] - 8009006: 4613 mov r3, r2 - 8009008: 009b lsls r3, r3, #2 - 800900a: 4413 add r3, r2 - 800900c: 00db lsls r3, r3, #3 - 800900e: 440b add r3, r1 - 8009010: f203 1353 addw r3, r3, #339 @ 0x153 - 8009014: 2200 movs r2, #0 - 8009016: 701a strb r2, [r3, #0] + 80095ba: 7bfa ldrb r2, [r7, #15] + 80095bc: 6879 ldr r1, [r7, #4] + 80095be: 4613 mov r3, r2 + 80095c0: 009b lsls r3, r3, #2 + 80095c2: 4413 add r3, r2 + 80095c4: 00db lsls r3, r3, #3 + 80095c6: 440b add r3, r1 + 80095c8: f203 1353 addw r3, r3, #339 @ 0x153 + 80095cc: 2200 movs r2, #0 + 80095ce: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].maxpacket = 0U; - 8009018: 7bfa ldrb r2, [r7, #15] - 800901a: 6879 ldr r1, [r7, #4] - 800901c: 4613 mov r3, r2 - 800901e: 009b lsls r3, r3, #2 - 8009020: 4413 add r3, r2 - 8009022: 00db lsls r3, r3, #3 - 8009024: 440b add r3, r1 - 8009026: f503 73b0 add.w r3, r3, #352 @ 0x160 - 800902a: 2200 movs r2, #0 - 800902c: 601a str r2, [r3, #0] + 80095d0: 7bfa ldrb r2, [r7, #15] + 80095d2: 6879 ldr r1, [r7, #4] + 80095d4: 4613 mov r3, r2 + 80095d6: 009b lsls r3, r3, #2 + 80095d8: 4413 add r3, r2 + 80095da: 00db lsls r3, r3, #3 + 80095dc: 440b add r3, r1 + 80095de: f503 73b0 add.w r3, r3, #352 @ 0x160 + 80095e2: 2200 movs r2, #0 + 80095e4: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_buff = 0U; - 800902e: 7bfa ldrb r2, [r7, #15] - 8009030: 6879 ldr r1, [r7, #4] - 8009032: 4613 mov r3, r2 - 8009034: 009b lsls r3, r3, #2 - 8009036: 4413 add r3, r2 - 8009038: 00db lsls r3, r3, #3 - 800903a: 440b add r3, r1 - 800903c: f503 73b2 add.w r3, r3, #356 @ 0x164 - 8009040: 2200 movs r2, #0 - 8009042: 601a str r2, [r3, #0] + 80095e6: 7bfa ldrb r2, [r7, #15] + 80095e8: 6879 ldr r1, [r7, #4] + 80095ea: 4613 mov r3, r2 + 80095ec: 009b lsls r3, r3, #2 + 80095ee: 4413 add r3, r2 + 80095f0: 00db lsls r3, r3, #3 + 80095f2: 440b add r3, r1 + 80095f4: f503 73b2 add.w r3, r3, #356 @ 0x164 + 80095f8: 2200 movs r2, #0 + 80095fa: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_len = 0U; - 8009044: 7bfa ldrb r2, [r7, #15] - 8009046: 6879 ldr r1, [r7, #4] - 8009048: 4613 mov r3, r2 - 800904a: 009b lsls r3, r3, #2 - 800904c: 4413 add r3, r2 - 800904e: 00db lsls r3, r3, #3 - 8009050: 440b add r3, r1 - 8009052: f503 73b4 add.w r3, r3, #360 @ 0x168 - 8009056: 2200 movs r2, #0 - 8009058: 601a str r2, [r3, #0] + 80095fc: 7bfa ldrb r2, [r7, #15] + 80095fe: 6879 ldr r1, [r7, #4] + 8009600: 4613 mov r3, r2 + 8009602: 009b lsls r3, r3, #2 + 8009604: 4413 add r3, r2 + 8009606: 00db lsls r3, r3, #3 + 8009608: 440b add r3, r1 + 800960a: f503 73b4 add.w r3, r3, #360 @ 0x168 + 800960e: 2200 movs r2, #0 + 8009610: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) - 800905a: 7bfb ldrb r3, [r7, #15] - 800905c: 3301 adds r3, #1 - 800905e: 73fb strb r3, [r7, #15] - 8009060: 687b ldr r3, [r7, #4] - 8009062: 791b ldrb r3, [r3, #4] - 8009064: 7bfa ldrb r2, [r7, #15] - 8009066: 429a cmp r2, r3 - 8009068: d3b5 bcc.n 8008fd6 + 8009612: 7bfb ldrb r3, [r7, #15] + 8009614: 3301 adds r3, #1 + 8009616: 73fb strb r3, [r7, #15] + 8009618: 687b ldr r3, [r7, #4] + 800961a: 791b ldrb r3, [r3, #4] + 800961c: 7bfa ldrb r2, [r7, #15] + 800961e: 429a cmp r2, r3 + 8009620: d3b5 bcc.n 800958e } /* Init Device */ (void)USB_DevInit(hpcd->Instance, hpcd->Init); - 800906a: 687b ldr r3, [r7, #4] - 800906c: 6818 ldr r0, [r3, #0] - 800906e: 687b ldr r3, [r7, #4] - 8009070: 3304 adds r3, #4 - 8009072: e893 0006 ldmia.w r3, {r1, r2} - 8009076: f005 fbdb bl 800e830 + 8009622: 687b ldr r3, [r7, #4] + 8009624: 6818 ldr r0, [r3, #0] + 8009626: 687b ldr r3, [r7, #4] + 8009628: 3304 adds r3, #4 + 800962a: e893 0006 ldmia.w r3, {r1, r2} + 800962e: f005 fdfd bl 800f22c hpcd->USB_Address = 0U; - 800907a: 687b ldr r3, [r7, #4] - 800907c: 2200 movs r2, #0 - 800907e: 731a strb r2, [r3, #12] + 8009632: 687b ldr r3, [r7, #4] + 8009634: 2200 movs r2, #0 + 8009636: 731a strb r2, [r3, #12] hpcd->State = HAL_PCD_STATE_READY; - 8009080: 687b ldr r3, [r7, #4] - 8009082: 2201 movs r2, #1 - 8009084: f883 2291 strb.w r2, [r3, #657] @ 0x291 + 8009638: 687b ldr r3, [r7, #4] + 800963a: 2201 movs r2, #1 + 800963c: f883 2291 strb.w r2, [r3, #657] @ 0x291 /* Activate LPM */ if (hpcd->Init.lpm_enable == 1U) - 8009088: 687b ldr r3, [r7, #4] - 800908a: 7a9b ldrb r3, [r3, #10] - 800908c: 2b01 cmp r3, #1 - 800908e: d102 bne.n 8009096 + 8009640: 687b ldr r3, [r7, #4] + 8009642: 7a9b ldrb r3, [r3, #10] + 8009644: 2b01 cmp r3, #1 + 8009646: d102 bne.n 800964e { (void)HAL_PCDEx_ActivateLPM(hpcd); - 8009090: 6878 ldr r0, [r7, #4] - 8009092: f001 fc4f bl 800a934 + 8009648: 6878 ldr r0, [r7, #4] + 800964a: f001 fc4f bl 800aeec } return HAL_OK; - 8009096: 2300 movs r3, #0 + 800964e: 2300 movs r3, #0 } - 8009098: 4618 mov r0, r3 - 800909a: 3710 adds r7, #16 - 800909c: 46bd mov sp, r7 - 800909e: bd80 pop {r7, pc} + 8009650: 4618 mov r0, r3 + 8009652: 3710 adds r7, #16 + 8009654: 46bd mov sp, r7 + 8009656: bd80 pop {r7, pc} -080090a0 : +08009658 : * @brief Start the USB device * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) { - 80090a0: b580 push {r7, lr} - 80090a2: b082 sub sp, #8 - 80090a4: af00 add r7, sp, #0 - 80090a6: 6078 str r0, [r7, #4] + 8009658: b580 push {r7, lr} + 800965a: b082 sub sp, #8 + 800965c: af00 add r7, sp, #0 + 800965e: 6078 str r0, [r7, #4] __HAL_LOCK(hpcd); - 80090a8: 687b ldr r3, [r7, #4] - 80090aa: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 - 80090ae: 2b01 cmp r3, #1 - 80090b0: d101 bne.n 80090b6 - 80090b2: 2302 movs r3, #2 - 80090b4: e012 b.n 80090dc - 80090b6: 687b ldr r3, [r7, #4] - 80090b8: 2201 movs r2, #1 - 80090ba: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 8009660: 687b ldr r3, [r7, #4] + 8009662: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 + 8009666: 2b01 cmp r3, #1 + 8009668: d101 bne.n 800966e + 800966a: 2302 movs r3, #2 + 800966c: e012 b.n 8009694 + 800966e: 687b ldr r3, [r7, #4] + 8009670: 2201 movs r2, #1 + 8009672: f883 2290 strb.w r2, [r3, #656] @ 0x290 __HAL_PCD_ENABLE(hpcd); - 80090be: 687b ldr r3, [r7, #4] - 80090c0: 681b ldr r3, [r3, #0] - 80090c2: 4618 mov r0, r3 - 80090c4: f005 fb82 bl 800e7cc + 8009676: 687b ldr r3, [r7, #4] + 8009678: 681b ldr r3, [r3, #0] + 800967a: 4618 mov r0, r3 + 800967c: f005 fda4 bl 800f1c8 (void)USB_DevConnect(hpcd->Instance); - 80090c8: 687b ldr r3, [r7, #4] - 80090ca: 681b ldr r3, [r3, #0] - 80090cc: 4618 mov r0, r3 - 80090ce: f007 f95f bl 8010390 + 8009680: 687b ldr r3, [r7, #4] + 8009682: 681b ldr r3, [r3, #0] + 8009684: 4618 mov r0, r3 + 8009686: f007 fb81 bl 8010d8c __HAL_UNLOCK(hpcd); - 80090d2: 687b ldr r3, [r7, #4] - 80090d4: 2200 movs r2, #0 - 80090d6: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 800968a: 687b ldr r3, [r7, #4] + 800968c: 2200 movs r2, #0 + 800968e: f883 2290 strb.w r2, [r3, #656] @ 0x290 return HAL_OK; - 80090da: 2300 movs r3, #0 + 8009692: 2300 movs r3, #0 } - 80090dc: 4618 mov r0, r3 - 80090de: 3708 adds r7, #8 - 80090e0: 46bd mov sp, r7 - 80090e2: bd80 pop {r7, pc} + 8009694: 4618 mov r0, r3 + 8009696: 3708 adds r7, #8 + 8009698: 46bd mov sp, r7 + 800969a: bd80 pop {r7, pc} -080090e4 : +0800969c : * @brief This function handles PCD interrupt request. * @param hpcd PCD handle * @retval HAL status */ void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) { - 80090e4: b580 push {r7, lr} - 80090e6: b084 sub sp, #16 - 80090e8: af00 add r7, sp, #0 - 80090ea: 6078 str r0, [r7, #4] + 800969c: b580 push {r7, lr} + 800969e: b084 sub sp, #16 + 80096a0: af00 add r7, sp, #0 + 80096a2: 6078 str r0, [r7, #4] uint32_t wIstr = USB_ReadInterrupts(hpcd->Instance); - 80090ec: 687b ldr r3, [r7, #4] - 80090ee: 681b ldr r3, [r3, #0] - 80090f0: 4618 mov r0, r3 - 80090f2: f007 f964 bl 80103be - 80090f6: 60f8 str r0, [r7, #12] + 80096a4: 687b ldr r3, [r7, #4] + 80096a6: 681b ldr r3, [r3, #0] + 80096a8: 4618 mov r0, r3 + 80096aa: f007 fb86 bl 8010dba + 80096ae: 60f8 str r0, [r7, #12] if ((wIstr & USB_ISTR_CTR) == USB_ISTR_CTR) - 80090f8: 68fb ldr r3, [r7, #12] - 80090fa: f403 4300 and.w r3, r3, #32768 @ 0x8000 - 80090fe: 2b00 cmp r3, #0 - 8009100: d003 beq.n 800910a + 80096b0: 68fb ldr r3, [r7, #12] + 80096b2: f403 4300 and.w r3, r3, #32768 @ 0x8000 + 80096b6: 2b00 cmp r3, #0 + 80096b8: d003 beq.n 80096c2 { /* servicing of the endpoint correct transfer interrupt */ /* clear of the CTR flag into the sub */ (void)PCD_EP_ISR_Handler(hpcd); - 8009102: 6878 ldr r0, [r7, #4] - 8009104: f000 fb06 bl 8009714 + 80096ba: 6878 ldr r0, [r7, #4] + 80096bc: f000 fb06 bl 8009ccc return; - 8009108: e110 b.n 800932c + 80096c0: e110 b.n 80098e4 } if ((wIstr & USB_ISTR_RESET) == USB_ISTR_RESET) - 800910a: 68fb ldr r3, [r7, #12] - 800910c: f403 6380 and.w r3, r3, #1024 @ 0x400 - 8009110: 2b00 cmp r3, #0 - 8009112: d013 beq.n 800913c + 80096c2: 68fb ldr r3, [r7, #12] + 80096c4: f403 6380 and.w r3, r3, #1024 @ 0x400 + 80096c8: 2b00 cmp r3, #0 + 80096ca: d013 beq.n 80096f4 { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_RESET); - 8009114: 687b ldr r3, [r7, #4] - 8009116: 681b ldr r3, [r3, #0] - 8009118: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 800911c: b29a uxth r2, r3 - 800911e: 687b ldr r3, [r7, #4] - 8009120: 681b ldr r3, [r3, #0] - 8009122: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 8009126: b292 uxth r2, r2 - 8009128: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 80096cc: 687b ldr r3, [r7, #4] + 80096ce: 681b ldr r3, [r3, #0] + 80096d0: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 80096d4: b29a uxth r2, r3 + 80096d6: 687b ldr r3, [r7, #4] + 80096d8: 681b ldr r3, [r3, #0] + 80096da: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 80096de: b292 uxth r2, r2 + 80096e0: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResetCallback(hpcd); #else HAL_PCD_ResetCallback(hpcd); - 800912c: 6878 ldr r0, [r7, #4] - 800912e: f00f f9a6 bl 801847e + 80096e4: 6878 ldr r0, [r7, #4] + 80096e6: f00f fbb2 bl 8018e4e #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ (void)HAL_PCD_SetAddress(hpcd, 0U); - 8009132: 2100 movs r1, #0 - 8009134: 6878 ldr r0, [r7, #4] - 8009136: f000 f8fc bl 8009332 + 80096ea: 2100 movs r1, #0 + 80096ec: 6878 ldr r0, [r7, #4] + 80096ee: f000 f8fc bl 80098ea return; - 800913a: e0f7 b.n 800932c + 80096f2: e0f7 b.n 80098e4 } if ((wIstr & USB_ISTR_PMAOVR) == USB_ISTR_PMAOVR) - 800913c: 68fb ldr r3, [r7, #12] - 800913e: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 8009142: 2b00 cmp r3, #0 - 8009144: d00c beq.n 8009160 + 80096f4: 68fb ldr r3, [r7, #12] + 80096f6: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 80096fa: 2b00 cmp r3, #0 + 80096fc: d00c beq.n 8009718 { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_PMAOVR); - 8009146: 687b ldr r3, [r7, #4] - 8009148: 681b ldr r3, [r3, #0] - 800914a: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 800914e: b29a uxth r2, r3 - 8009150: 687b ldr r3, [r7, #4] - 8009152: 681b ldr r3, [r3, #0] - 8009154: f422 4280 bic.w r2, r2, #16384 @ 0x4000 - 8009158: b292 uxth r2, r2 - 800915a: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 80096fe: 687b ldr r3, [r7, #4] + 8009700: 681b ldr r3, [r3, #0] + 8009702: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 8009706: b29a uxth r2, r3 + 8009708: 687b ldr r3, [r7, #4] + 800970a: 681b ldr r3, [r3, #0] + 800970c: f422 4280 bic.w r2, r2, #16384 @ 0x4000 + 8009710: b292 uxth r2, r2 + 8009712: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 return; - 800915e: e0e5 b.n 800932c + 8009716: e0e5 b.n 80098e4 } if ((wIstr & USB_ISTR_ERR) == USB_ISTR_ERR) - 8009160: 68fb ldr r3, [r7, #12] - 8009162: f403 5300 and.w r3, r3, #8192 @ 0x2000 - 8009166: 2b00 cmp r3, #0 - 8009168: d00c beq.n 8009184 + 8009718: 68fb ldr r3, [r7, #12] + 800971a: f403 5300 and.w r3, r3, #8192 @ 0x2000 + 800971e: 2b00 cmp r3, #0 + 8009720: d00c beq.n 800973c { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ERR); - 800916a: 687b ldr r3, [r7, #4] - 800916c: 681b ldr r3, [r3, #0] - 800916e: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 8009172: b29a uxth r2, r3 - 8009174: 687b ldr r3, [r7, #4] - 8009176: 681b ldr r3, [r3, #0] - 8009178: f422 5200 bic.w r2, r2, #8192 @ 0x2000 - 800917c: b292 uxth r2, r2 - 800917e: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 8009722: 687b ldr r3, [r7, #4] + 8009724: 681b ldr r3, [r3, #0] + 8009726: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 800972a: b29a uxth r2, r3 + 800972c: 687b ldr r3, [r7, #4] + 800972e: 681b ldr r3, [r3, #0] + 8009730: f422 5200 bic.w r2, r2, #8192 @ 0x2000 + 8009734: b292 uxth r2, r2 + 8009736: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 return; - 8009182: e0d3 b.n 800932c + 800973a: e0d3 b.n 80098e4 } if ((wIstr & USB_ISTR_WKUP) == USB_ISTR_WKUP) - 8009184: 68fb ldr r3, [r7, #12] - 8009186: f403 5380 and.w r3, r3, #4096 @ 0x1000 - 800918a: 2b00 cmp r3, #0 - 800918c: d034 beq.n 80091f8 + 800973c: 68fb ldr r3, [r7, #12] + 800973e: f403 5380 and.w r3, r3, #4096 @ 0x1000 + 8009742: 2b00 cmp r3, #0 + 8009744: d034 beq.n 80097b0 { hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_LPMODE); - 800918e: 687b ldr r3, [r7, #4] - 8009190: 681b ldr r3, [r3, #0] - 8009192: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 - 8009196: b29a uxth r2, r3 - 8009198: 687b ldr r3, [r7, #4] - 800919a: 681b ldr r3, [r3, #0] - 800919c: f022 0204 bic.w r2, r2, #4 - 80091a0: b292 uxth r2, r2 - 80091a2: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 8009746: 687b ldr r3, [r7, #4] + 8009748: 681b ldr r3, [r3, #0] + 800974a: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 + 800974e: b29a uxth r2, r3 + 8009750: 687b ldr r3, [r7, #4] + 8009752: 681b ldr r3, [r3, #0] + 8009754: f022 0204 bic.w r2, r2, #4 + 8009758: b292 uxth r2, r2 + 800975a: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_FSUSP); - 80091a6: 687b ldr r3, [r7, #4] - 80091a8: 681b ldr r3, [r3, #0] - 80091aa: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 - 80091ae: b29a uxth r2, r3 - 80091b0: 687b ldr r3, [r7, #4] - 80091b2: 681b ldr r3, [r3, #0] - 80091b4: f022 0208 bic.w r2, r2, #8 - 80091b8: b292 uxth r2, r2 - 80091ba: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 800975e: 687b ldr r3, [r7, #4] + 8009760: 681b ldr r3, [r3, #0] + 8009762: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 + 8009766: b29a uxth r2, r3 + 8009768: 687b ldr r3, [r7, #4] + 800976a: 681b ldr r3, [r3, #0] + 800976c: f022 0208 bic.w r2, r2, #8 + 8009770: b292 uxth r2, r2 + 8009772: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 if (hpcd->LPM_State == LPM_L1) - 80091be: 687b ldr r3, [r7, #4] - 80091c0: f893 32c8 ldrb.w r3, [r3, #712] @ 0x2c8 - 80091c4: 2b01 cmp r3, #1 - 80091c6: d107 bne.n 80091d8 + 8009776: 687b ldr r3, [r7, #4] + 8009778: f893 32c8 ldrb.w r3, [r3, #712] @ 0x2c8 + 800977c: 2b01 cmp r3, #1 + 800977e: d107 bne.n 8009790 { hpcd->LPM_State = LPM_L0; - 80091c8: 687b ldr r3, [r7, #4] - 80091ca: 2200 movs r2, #0 - 80091cc: f883 22c8 strb.w r2, [r3, #712] @ 0x2c8 + 8009780: 687b ldr r3, [r7, #4] + 8009782: 2200 movs r2, #0 + 8009784: f883 22c8 strb.w r2, [r3, #712] @ 0x2c8 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->LPMCallback(hpcd, PCD_LPM_L0_ACTIVE); #else HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L0_ACTIVE); - 80091d0: 2100 movs r1, #0 - 80091d2: 6878 ldr r0, [r7, #4] - 80091d4: f00f fb48 bl 8018868 + 8009788: 2100 movs r1, #0 + 800978a: 6878 ldr r0, [r7, #4] + 800978c: f00f fd54 bl 8019238 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResumeCallback(hpcd); #else HAL_PCD_ResumeCallback(hpcd); - 80091d8: 6878 ldr r0, [r7, #4] - 80091da: f00f f989 bl 80184f0 + 8009790: 6878 ldr r0, [r7, #4] + 8009792: f00f fb95 bl 8018ec0 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_WKUP); - 80091de: 687b ldr r3, [r7, #4] - 80091e0: 681b ldr r3, [r3, #0] - 80091e2: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 80091e6: b29a uxth r2, r3 - 80091e8: 687b ldr r3, [r7, #4] - 80091ea: 681b ldr r3, [r3, #0] - 80091ec: f422 5280 bic.w r2, r2, #4096 @ 0x1000 - 80091f0: b292 uxth r2, r2 - 80091f2: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 8009796: 687b ldr r3, [r7, #4] + 8009798: 681b ldr r3, [r3, #0] + 800979a: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 800979e: b29a uxth r2, r3 + 80097a0: 687b ldr r3, [r7, #4] + 80097a2: 681b ldr r3, [r3, #0] + 80097a4: f422 5280 bic.w r2, r2, #4096 @ 0x1000 + 80097a8: b292 uxth r2, r2 + 80097aa: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 return; - 80091f6: e099 b.n 800932c + 80097ae: e099 b.n 80098e4 } if ((wIstr & USB_ISTR_SUSP) == USB_ISTR_SUSP) - 80091f8: 68fb ldr r3, [r7, #12] - 80091fa: f403 6300 and.w r3, r3, #2048 @ 0x800 - 80091fe: 2b00 cmp r3, #0 - 8009200: d027 beq.n 8009252 + 80097b0: 68fb ldr r3, [r7, #12] + 80097b2: f403 6300 and.w r3, r3, #2048 @ 0x800 + 80097b6: 2b00 cmp r3, #0 + 80097b8: d027 beq.n 800980a { /* Force low-power mode in the macrocell */ hpcd->Instance->CNTR |= (uint16_t)USB_CNTR_FSUSP; - 8009202: 687b ldr r3, [r7, #4] - 8009204: 681b ldr r3, [r3, #0] - 8009206: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 - 800920a: b29a uxth r2, r3 - 800920c: 687b ldr r3, [r7, #4] - 800920e: 681b ldr r3, [r3, #0] - 8009210: f042 0208 orr.w r2, r2, #8 - 8009214: b292 uxth r2, r2 - 8009216: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 80097ba: 687b ldr r3, [r7, #4] + 80097bc: 681b ldr r3, [r3, #0] + 80097be: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 + 80097c2: b29a uxth r2, r3 + 80097c4: 687b ldr r3, [r7, #4] + 80097c6: 681b ldr r3, [r3, #0] + 80097c8: f042 0208 orr.w r2, r2, #8 + 80097cc: b292 uxth r2, r2 + 80097ce: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SUSP); - 800921a: 687b ldr r3, [r7, #4] - 800921c: 681b ldr r3, [r3, #0] - 800921e: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 8009222: b29a uxth r2, r3 - 8009224: 687b ldr r3, [r7, #4] - 8009226: 681b ldr r3, [r3, #0] - 8009228: f422 6200 bic.w r2, r2, #2048 @ 0x800 - 800922c: b292 uxth r2, r2 - 800922e: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 80097d2: 687b ldr r3, [r7, #4] + 80097d4: 681b ldr r3, [r3, #0] + 80097d6: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 80097da: b29a uxth r2, r3 + 80097dc: 687b ldr r3, [r7, #4] + 80097de: 681b ldr r3, [r3, #0] + 80097e0: f422 6200 bic.w r2, r2, #2048 @ 0x800 + 80097e4: b292 uxth r2, r2 + 80097e6: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 hpcd->Instance->CNTR |= (uint16_t)USB_CNTR_LPMODE; - 8009232: 687b ldr r3, [r7, #4] - 8009234: 681b ldr r3, [r3, #0] - 8009236: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 - 800923a: b29a uxth r2, r3 - 800923c: 687b ldr r3, [r7, #4] - 800923e: 681b ldr r3, [r3, #0] - 8009240: f042 0204 orr.w r2, r2, #4 - 8009244: b292 uxth r2, r2 - 8009246: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 80097ea: 687b ldr r3, [r7, #4] + 80097ec: 681b ldr r3, [r3, #0] + 80097ee: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 + 80097f2: b29a uxth r2, r3 + 80097f4: 687b ldr r3, [r7, #4] + 80097f6: 681b ldr r3, [r3, #0] + 80097f8: f042 0204 orr.w r2, r2, #4 + 80097fc: b292 uxth r2, r2 + 80097fe: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); - 800924a: 6878 ldr r0, [r7, #4] - 800924c: f00f f936 bl 80184bc + 8009802: 6878 ldr r0, [r7, #4] + 8009804: f00f fb42 bl 8018e8c #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ return; - 8009250: e06c b.n 800932c + 8009808: e06c b.n 80098e4 } /* Handle LPM Interrupt */ if ((wIstr & USB_ISTR_L1REQ) == USB_ISTR_L1REQ) - 8009252: 68fb ldr r3, [r7, #12] - 8009254: f003 0380 and.w r3, r3, #128 @ 0x80 - 8009258: 2b00 cmp r3, #0 - 800925a: d040 beq.n 80092de + 800980a: 68fb ldr r3, [r7, #12] + 800980c: f003 0380 and.w r3, r3, #128 @ 0x80 + 8009810: 2b00 cmp r3, #0 + 8009812: d040 beq.n 8009896 { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_L1REQ); - 800925c: 687b ldr r3, [r7, #4] - 800925e: 681b ldr r3, [r3, #0] - 8009260: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 8009264: b29a uxth r2, r3 - 8009266: 687b ldr r3, [r7, #4] - 8009268: 681b ldr r3, [r3, #0] - 800926a: f022 0280 bic.w r2, r2, #128 @ 0x80 - 800926e: b292 uxth r2, r2 - 8009270: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 8009814: 687b ldr r3, [r7, #4] + 8009816: 681b ldr r3, [r3, #0] + 8009818: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 800981c: b29a uxth r2, r3 + 800981e: 687b ldr r3, [r7, #4] + 8009820: 681b ldr r3, [r3, #0] + 8009822: f022 0280 bic.w r2, r2, #128 @ 0x80 + 8009826: b292 uxth r2, r2 + 8009828: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 if (hpcd->LPM_State == LPM_L0) - 8009274: 687b ldr r3, [r7, #4] - 8009276: f893 32c8 ldrb.w r3, [r3, #712] @ 0x2c8 - 800927a: 2b00 cmp r3, #0 - 800927c: d12b bne.n 80092d6 + 800982c: 687b ldr r3, [r7, #4] + 800982e: f893 32c8 ldrb.w r3, [r3, #712] @ 0x2c8 + 8009832: 2b00 cmp r3, #0 + 8009834: d12b bne.n 800988e { /* Force suspend and low-power mode before going to L1 state*/ hpcd->Instance->CNTR |= (uint16_t)USB_CNTR_LPMODE; - 800927e: 687b ldr r3, [r7, #4] - 8009280: 681b ldr r3, [r3, #0] - 8009282: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 - 8009286: b29a uxth r2, r3 - 8009288: 687b ldr r3, [r7, #4] - 800928a: 681b ldr r3, [r3, #0] - 800928c: f042 0204 orr.w r2, r2, #4 - 8009290: b292 uxth r2, r2 - 8009292: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 8009836: 687b ldr r3, [r7, #4] + 8009838: 681b ldr r3, [r3, #0] + 800983a: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 + 800983e: b29a uxth r2, r3 + 8009840: 687b ldr r3, [r7, #4] + 8009842: 681b ldr r3, [r3, #0] + 8009844: f042 0204 orr.w r2, r2, #4 + 8009848: b292 uxth r2, r2 + 800984a: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 hpcd->Instance->CNTR |= (uint16_t)USB_CNTR_FSUSP; - 8009296: 687b ldr r3, [r7, #4] - 8009298: 681b ldr r3, [r3, #0] - 800929a: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 - 800929e: b29a uxth r2, r3 - 80092a0: 687b ldr r3, [r7, #4] - 80092a2: 681b ldr r3, [r3, #0] - 80092a4: f042 0208 orr.w r2, r2, #8 - 80092a8: b292 uxth r2, r2 - 80092aa: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 800984e: 687b ldr r3, [r7, #4] + 8009850: 681b ldr r3, [r3, #0] + 8009852: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 + 8009856: b29a uxth r2, r3 + 8009858: 687b ldr r3, [r7, #4] + 800985a: 681b ldr r3, [r3, #0] + 800985c: f042 0208 orr.w r2, r2, #8 + 8009860: b292 uxth r2, r2 + 8009862: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 hpcd->LPM_State = LPM_L1; - 80092ae: 687b ldr r3, [r7, #4] - 80092b0: 2201 movs r2, #1 - 80092b2: f883 22c8 strb.w r2, [r3, #712] @ 0x2c8 + 8009866: 687b ldr r3, [r7, #4] + 8009868: 2201 movs r2, #1 + 800986a: f883 22c8 strb.w r2, [r3, #712] @ 0x2c8 hpcd->BESL = ((uint32_t)hpcd->Instance->LPMCSR & USB_LPMCSR_BESL) >> 2; - 80092b6: 687b ldr r3, [r7, #4] - 80092b8: 681b ldr r3, [r3, #0] - 80092ba: f8b3 3054 ldrh.w r3, [r3, #84] @ 0x54 - 80092be: b29b uxth r3, r3 - 80092c0: 089b lsrs r3, r3, #2 - 80092c2: f003 023c and.w r2, r3, #60 @ 0x3c - 80092c6: 687b ldr r3, [r7, #4] - 80092c8: f8c3 22cc str.w r2, [r3, #716] @ 0x2cc + 800986e: 687b ldr r3, [r7, #4] + 8009870: 681b ldr r3, [r3, #0] + 8009872: f8b3 3054 ldrh.w r3, [r3, #84] @ 0x54 + 8009876: b29b uxth r3, r3 + 8009878: 089b lsrs r3, r3, #2 + 800987a: f003 023c and.w r2, r3, #60 @ 0x3c + 800987e: 687b ldr r3, [r7, #4] + 8009880: f8c3 22cc str.w r2, [r3, #716] @ 0x2cc #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->LPMCallback(hpcd, PCD_LPM_L1_ACTIVE); #else HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE); - 80092cc: 2101 movs r1, #1 - 80092ce: 6878 ldr r0, [r7, #4] - 80092d0: f00f faca bl 8018868 + 8009884: 2101 movs r1, #1 + 8009886: 6878 ldr r0, [r7, #4] + 8009888: f00f fcd6 bl 8019238 #else HAL_PCD_SuspendCallback(hpcd); #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } return; - 80092d4: e02a b.n 800932c + 800988c: e02a b.n 80098e4 HAL_PCD_SuspendCallback(hpcd); - 80092d6: 6878 ldr r0, [r7, #4] - 80092d8: f00f f8f0 bl 80184bc + 800988e: 6878 ldr r0, [r7, #4] + 8009890: f00f fafc bl 8018e8c return; - 80092dc: e026 b.n 800932c + 8009894: e026 b.n 80098e4 } if ((wIstr & USB_ISTR_SOF) == USB_ISTR_SOF) - 80092de: 68fb ldr r3, [r7, #12] - 80092e0: f403 7300 and.w r3, r3, #512 @ 0x200 - 80092e4: 2b00 cmp r3, #0 - 80092e6: d00f beq.n 8009308 + 8009896: 68fb ldr r3, [r7, #12] + 8009898: f403 7300 and.w r3, r3, #512 @ 0x200 + 800989c: 2b00 cmp r3, #0 + 800989e: d00f beq.n 80098c0 { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SOF); - 80092e8: 687b ldr r3, [r7, #4] - 80092ea: 681b ldr r3, [r3, #0] - 80092ec: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 80092f0: b29a uxth r2, r3 - 80092f2: 687b ldr r3, [r7, #4] - 80092f4: 681b ldr r3, [r3, #0] - 80092f6: f422 7200 bic.w r2, r2, #512 @ 0x200 - 80092fa: b292 uxth r2, r2 - 80092fc: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 80098a0: 687b ldr r3, [r7, #4] + 80098a2: 681b ldr r3, [r3, #0] + 80098a4: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 80098a8: b29a uxth r2, r3 + 80098aa: 687b ldr r3, [r7, #4] + 80098ac: 681b ldr r3, [r3, #0] + 80098ae: f422 7200 bic.w r2, r2, #512 @ 0x200 + 80098b2: b292 uxth r2, r2 + 80098b4: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SOFCallback(hpcd); #else HAL_PCD_SOFCallback(hpcd); - 8009300: 6878 ldr r0, [r7, #4] - 8009302: f00f f8ae bl 8018462 + 80098b8: 6878 ldr r0, [r7, #4] + 80098ba: f00f faba bl 8018e32 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ return; - 8009306: e011 b.n 800932c + 80098be: e011 b.n 80098e4 } if ((wIstr & USB_ISTR_ESOF) == USB_ISTR_ESOF) - 8009308: 68fb ldr r3, [r7, #12] - 800930a: f403 7380 and.w r3, r3, #256 @ 0x100 - 800930e: 2b00 cmp r3, #0 - 8009310: d00c beq.n 800932c + 80098c0: 68fb ldr r3, [r7, #12] + 80098c2: f403 7380 and.w r3, r3, #256 @ 0x100 + 80098c6: 2b00 cmp r3, #0 + 80098c8: d00c beq.n 80098e4 { /* clear ESOF flag in ISTR */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ESOF); - 8009312: 687b ldr r3, [r7, #4] - 8009314: 681b ldr r3, [r3, #0] - 8009316: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 800931a: b29a uxth r2, r3 - 800931c: 687b ldr r3, [r7, #4] - 800931e: 681b ldr r3, [r3, #0] - 8009320: f422 7280 bic.w r2, r2, #256 @ 0x100 - 8009324: b292 uxth r2, r2 - 8009326: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 80098ca: 687b ldr r3, [r7, #4] + 80098cc: 681b ldr r3, [r3, #0] + 80098ce: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 80098d2: b29a uxth r2, r3 + 80098d4: 687b ldr r3, [r7, #4] + 80098d6: 681b ldr r3, [r3, #0] + 80098d8: f422 7280 bic.w r2, r2, #256 @ 0x100 + 80098dc: b292 uxth r2, r2 + 80098de: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 return; - 800932a: bf00 nop + 80098e2: bf00 nop } } - 800932c: 3710 adds r7, #16 - 800932e: 46bd mov sp, r7 - 8009330: bd80 pop {r7, pc} + 80098e4: 3710 adds r7, #16 + 80098e6: 46bd mov sp, r7 + 80098e8: bd80 pop {r7, pc} -08009332 : +080098ea : * @param hpcd PCD handle * @param address new device address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) { - 8009332: b580 push {r7, lr} - 8009334: b082 sub sp, #8 - 8009336: af00 add r7, sp, #0 - 8009338: 6078 str r0, [r7, #4] - 800933a: 460b mov r3, r1 - 800933c: 70fb strb r3, [r7, #3] + 80098ea: b580 push {r7, lr} + 80098ec: b082 sub sp, #8 + 80098ee: af00 add r7, sp, #0 + 80098f0: 6078 str r0, [r7, #4] + 80098f2: 460b mov r3, r1 + 80098f4: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); - 800933e: 687b ldr r3, [r7, #4] - 8009340: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 - 8009344: 2b01 cmp r3, #1 - 8009346: d101 bne.n 800934c - 8009348: 2302 movs r3, #2 - 800934a: e012 b.n 8009372 - 800934c: 687b ldr r3, [r7, #4] - 800934e: 2201 movs r2, #1 - 8009350: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 80098f6: 687b ldr r3, [r7, #4] + 80098f8: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 + 80098fc: 2b01 cmp r3, #1 + 80098fe: d101 bne.n 8009904 + 8009900: 2302 movs r3, #2 + 8009902: e012 b.n 800992a + 8009904: 687b ldr r3, [r7, #4] + 8009906: 2201 movs r2, #1 + 8009908: f883 2290 strb.w r2, [r3, #656] @ 0x290 hpcd->USB_Address = address; - 8009354: 687b ldr r3, [r7, #4] - 8009356: 78fa ldrb r2, [r7, #3] - 8009358: 731a strb r2, [r3, #12] + 800990c: 687b ldr r3, [r7, #4] + 800990e: 78fa ldrb r2, [r7, #3] + 8009910: 731a strb r2, [r3, #12] (void)USB_SetDevAddress(hpcd->Instance, address); - 800935a: 687b ldr r3, [r7, #4] - 800935c: 681b ldr r3, [r3, #0] - 800935e: 78fa ldrb r2, [r7, #3] - 8009360: 4611 mov r1, r2 - 8009362: 4618 mov r0, r3 - 8009364: f007 f800 bl 8010368 + 8009912: 687b ldr r3, [r7, #4] + 8009914: 681b ldr r3, [r3, #0] + 8009916: 78fa ldrb r2, [r7, #3] + 8009918: 4611 mov r1, r2 + 800991a: 4618 mov r0, r3 + 800991c: f007 fa22 bl 8010d64 __HAL_UNLOCK(hpcd); - 8009368: 687b ldr r3, [r7, #4] - 800936a: 2200 movs r2, #0 - 800936c: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 8009920: 687b ldr r3, [r7, #4] + 8009922: 2200 movs r2, #0 + 8009924: f883 2290 strb.w r2, [r3, #656] @ 0x290 return HAL_OK; - 8009370: 2300 movs r3, #0 + 8009928: 2300 movs r3, #0 } - 8009372: 4618 mov r0, r3 - 8009374: 3708 adds r7, #8 - 8009376: 46bd mov sp, r7 - 8009378: bd80 pop {r7, pc} + 800992a: 4618 mov r0, r3 + 800992c: 3708 adds r7, #8 + 800992e: 46bd mov sp, r7 + 8009930: bd80 pop {r7, pc} -0800937a : +08009932 : * @param ep_type endpoint type * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint16_t ep_mps, uint8_t ep_type) { - 800937a: b580 push {r7, lr} - 800937c: b084 sub sp, #16 - 800937e: af00 add r7, sp, #0 - 8009380: 6078 str r0, [r7, #4] - 8009382: 4608 mov r0, r1 - 8009384: 4611 mov r1, r2 - 8009386: 461a mov r2, r3 - 8009388: 4603 mov r3, r0 - 800938a: 70fb strb r3, [r7, #3] - 800938c: 460b mov r3, r1 - 800938e: 803b strh r3, [r7, #0] - 8009390: 4613 mov r3, r2 - 8009392: 70bb strb r3, [r7, #2] + 8009932: b580 push {r7, lr} + 8009934: b084 sub sp, #16 + 8009936: af00 add r7, sp, #0 + 8009938: 6078 str r0, [r7, #4] + 800993a: 4608 mov r0, r1 + 800993c: 4611 mov r1, r2 + 800993e: 461a mov r2, r3 + 8009940: 4603 mov r3, r0 + 8009942: 70fb strb r3, [r7, #3] + 8009944: 460b mov r3, r1 + 8009946: 803b strh r3, [r7, #0] + 8009948: 4613 mov r3, r2 + 800994a: 70bb strb r3, [r7, #2] HAL_StatusTypeDef ret = HAL_OK; - 8009394: 2300 movs r3, #0 - 8009396: 72fb strb r3, [r7, #11] + 800994c: 2300 movs r3, #0 + 800994e: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) - 8009398: f997 3003 ldrsb.w r3, [r7, #3] - 800939c: 2b00 cmp r3, #0 - 800939e: da0e bge.n 80093be + 8009950: f997 3003 ldrsb.w r3, [r7, #3] + 8009954: 2b00 cmp r3, #0 + 8009956: da0e bge.n 8009976 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; - 80093a0: 78fb ldrb r3, [r7, #3] - 80093a2: f003 0207 and.w r2, r3, #7 - 80093a6: 4613 mov r3, r2 - 80093a8: 009b lsls r3, r3, #2 - 80093aa: 4413 add r3, r2 - 80093ac: 00db lsls r3, r3, #3 - 80093ae: 3310 adds r3, #16 - 80093b0: 687a ldr r2, [r7, #4] - 80093b2: 4413 add r3, r2 - 80093b4: 60fb str r3, [r7, #12] + 8009958: 78fb ldrb r3, [r7, #3] + 800995a: f003 0207 and.w r2, r3, #7 + 800995e: 4613 mov r3, r2 + 8009960: 009b lsls r3, r3, #2 + 8009962: 4413 add r3, r2 + 8009964: 00db lsls r3, r3, #3 + 8009966: 3310 adds r3, #16 + 8009968: 687a ldr r2, [r7, #4] + 800996a: 4413 add r3, r2 + 800996c: 60fb str r3, [r7, #12] ep->is_in = 1U; - 80093b6: 68fb ldr r3, [r7, #12] - 80093b8: 2201 movs r2, #1 - 80093ba: 705a strb r2, [r3, #1] - 80093bc: e00e b.n 80093dc + 800996e: 68fb ldr r3, [r7, #12] + 8009970: 2201 movs r2, #1 + 8009972: 705a strb r2, [r3, #1] + 8009974: e00e b.n 8009994 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; - 80093be: 78fb ldrb r3, [r7, #3] - 80093c0: f003 0207 and.w r2, r3, #7 - 80093c4: 4613 mov r3, r2 - 80093c6: 009b lsls r3, r3, #2 - 80093c8: 4413 add r3, r2 - 80093ca: 00db lsls r3, r3, #3 - 80093cc: f503 73a8 add.w r3, r3, #336 @ 0x150 - 80093d0: 687a ldr r2, [r7, #4] - 80093d2: 4413 add r3, r2 - 80093d4: 60fb str r3, [r7, #12] + 8009976: 78fb ldrb r3, [r7, #3] + 8009978: f003 0207 and.w r2, r3, #7 + 800997c: 4613 mov r3, r2 + 800997e: 009b lsls r3, r3, #2 + 8009980: 4413 add r3, r2 + 8009982: 00db lsls r3, r3, #3 + 8009984: f503 73a8 add.w r3, r3, #336 @ 0x150 + 8009988: 687a ldr r2, [r7, #4] + 800998a: 4413 add r3, r2 + 800998c: 60fb str r3, [r7, #12] ep->is_in = 0U; - 80093d6: 68fb ldr r3, [r7, #12] - 80093d8: 2200 movs r2, #0 - 80093da: 705a strb r2, [r3, #1] + 800998e: 68fb ldr r3, [r7, #12] + 8009990: 2200 movs r2, #0 + 8009992: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; - 80093dc: 78fb ldrb r3, [r7, #3] - 80093de: f003 0307 and.w r3, r3, #7 - 80093e2: b2da uxtb r2, r3 - 80093e4: 68fb ldr r3, [r7, #12] - 80093e6: 701a strb r2, [r3, #0] + 8009994: 78fb ldrb r3, [r7, #3] + 8009996: f003 0307 and.w r3, r3, #7 + 800999a: b2da uxtb r2, r3 + 800999c: 68fb ldr r3, [r7, #12] + 800999e: 701a strb r2, [r3, #0] ep->maxpacket = (uint32_t)ep_mps & 0x7FFU; - 80093e8: 883b ldrh r3, [r7, #0] - 80093ea: f3c3 020a ubfx r2, r3, #0, #11 - 80093ee: 68fb ldr r3, [r7, #12] - 80093f0: 611a str r2, [r3, #16] + 80099a0: 883b ldrh r3, [r7, #0] + 80099a2: f3c3 020a ubfx r2, r3, #0, #11 + 80099a6: 68fb ldr r3, [r7, #12] + 80099a8: 611a str r2, [r3, #16] ep->type = ep_type; - 80093f2: 68fb ldr r3, [r7, #12] - 80093f4: 78ba ldrb r2, [r7, #2] - 80093f6: 70da strb r2, [r3, #3] + 80099aa: 68fb ldr r3, [r7, #12] + 80099ac: 78ba ldrb r2, [r7, #2] + 80099ae: 70da strb r2, [r3, #3] /* Set initial data PID. */ if (ep_type == EP_TYPE_BULK) - 80093f8: 78bb ldrb r3, [r7, #2] - 80093fa: 2b02 cmp r3, #2 - 80093fc: d102 bne.n 8009404 + 80099b0: 78bb ldrb r3, [r7, #2] + 80099b2: 2b02 cmp r3, #2 + 80099b4: d102 bne.n 80099bc { ep->data_pid_start = 0U; - 80093fe: 68fb ldr r3, [r7, #12] - 8009400: 2200 movs r2, #0 - 8009402: 711a strb r2, [r3, #4] + 80099b6: 68fb ldr r3, [r7, #12] + 80099b8: 2200 movs r2, #0 + 80099ba: 711a strb r2, [r3, #4] } __HAL_LOCK(hpcd); - 8009404: 687b ldr r3, [r7, #4] - 8009406: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 - 800940a: 2b01 cmp r3, #1 - 800940c: d101 bne.n 8009412 - 800940e: 2302 movs r3, #2 - 8009410: e00e b.n 8009430 - 8009412: 687b ldr r3, [r7, #4] - 8009414: 2201 movs r2, #1 - 8009416: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 80099bc: 687b ldr r3, [r7, #4] + 80099be: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 + 80099c2: 2b01 cmp r3, #1 + 80099c4: d101 bne.n 80099ca + 80099c6: 2302 movs r3, #2 + 80099c8: e00e b.n 80099e8 + 80099ca: 687b ldr r3, [r7, #4] + 80099cc: 2201 movs r2, #1 + 80099ce: f883 2290 strb.w r2, [r3, #656] @ 0x290 (void)USB_ActivateEndpoint(hpcd->Instance, ep); - 800941a: 687b ldr r3, [r7, #4] - 800941c: 681b ldr r3, [r3, #0] - 800941e: 68f9 ldr r1, [r7, #12] - 8009420: 4618 mov r0, r3 - 8009422: f005 fa23 bl 800e86c + 80099d2: 687b ldr r3, [r7, #4] + 80099d4: 681b ldr r3, [r3, #0] + 80099d6: 68f9 ldr r1, [r7, #12] + 80099d8: 4618 mov r0, r3 + 80099da: f005 fc45 bl 800f268 __HAL_UNLOCK(hpcd); - 8009426: 687b ldr r3, [r7, #4] - 8009428: 2200 movs r2, #0 - 800942a: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 80099de: 687b ldr r3, [r7, #4] + 80099e0: 2200 movs r2, #0 + 80099e2: f883 2290 strb.w r2, [r3, #656] @ 0x290 return ret; - 800942e: 7afb ldrb r3, [r7, #11] + 80099e6: 7afb ldrb r3, [r7, #11] } - 8009430: 4618 mov r0, r3 - 8009432: 3710 adds r7, #16 - 8009434: 46bd mov sp, r7 - 8009436: bd80 pop {r7, pc} + 80099e8: 4618 mov r0, r3 + 80099ea: 3710 adds r7, #16 + 80099ec: 46bd mov sp, r7 + 80099ee: bd80 pop {r7, pc} -08009438 : +080099f0 : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) { - 8009438: b580 push {r7, lr} - 800943a: b084 sub sp, #16 - 800943c: af00 add r7, sp, #0 - 800943e: 6078 str r0, [r7, #4] - 8009440: 460b mov r3, r1 - 8009442: 70fb strb r3, [r7, #3] + 80099f0: b580 push {r7, lr} + 80099f2: b084 sub sp, #16 + 80099f4: af00 add r7, sp, #0 + 80099f6: 6078 str r0, [r7, #4] + 80099f8: 460b mov r3, r1 + 80099fa: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) - 8009444: f997 3003 ldrsb.w r3, [r7, #3] - 8009448: 2b00 cmp r3, #0 - 800944a: da0e bge.n 800946a + 80099fc: f997 3003 ldrsb.w r3, [r7, #3] + 8009a00: 2b00 cmp r3, #0 + 8009a02: da0e bge.n 8009a22 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; - 800944c: 78fb ldrb r3, [r7, #3] - 800944e: f003 0207 and.w r2, r3, #7 - 8009452: 4613 mov r3, r2 - 8009454: 009b lsls r3, r3, #2 - 8009456: 4413 add r3, r2 - 8009458: 00db lsls r3, r3, #3 - 800945a: 3310 adds r3, #16 - 800945c: 687a ldr r2, [r7, #4] - 800945e: 4413 add r3, r2 - 8009460: 60fb str r3, [r7, #12] + 8009a04: 78fb ldrb r3, [r7, #3] + 8009a06: f003 0207 and.w r2, r3, #7 + 8009a0a: 4613 mov r3, r2 + 8009a0c: 009b lsls r3, r3, #2 + 8009a0e: 4413 add r3, r2 + 8009a10: 00db lsls r3, r3, #3 + 8009a12: 3310 adds r3, #16 + 8009a14: 687a ldr r2, [r7, #4] + 8009a16: 4413 add r3, r2 + 8009a18: 60fb str r3, [r7, #12] ep->is_in = 1U; - 8009462: 68fb ldr r3, [r7, #12] - 8009464: 2201 movs r2, #1 - 8009466: 705a strb r2, [r3, #1] - 8009468: e00e b.n 8009488 + 8009a1a: 68fb ldr r3, [r7, #12] + 8009a1c: 2201 movs r2, #1 + 8009a1e: 705a strb r2, [r3, #1] + 8009a20: e00e b.n 8009a40 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; - 800946a: 78fb ldrb r3, [r7, #3] - 800946c: f003 0207 and.w r2, r3, #7 - 8009470: 4613 mov r3, r2 - 8009472: 009b lsls r3, r3, #2 - 8009474: 4413 add r3, r2 - 8009476: 00db lsls r3, r3, #3 - 8009478: f503 73a8 add.w r3, r3, #336 @ 0x150 - 800947c: 687a ldr r2, [r7, #4] - 800947e: 4413 add r3, r2 - 8009480: 60fb str r3, [r7, #12] + 8009a22: 78fb ldrb r3, [r7, #3] + 8009a24: f003 0207 and.w r2, r3, #7 + 8009a28: 4613 mov r3, r2 + 8009a2a: 009b lsls r3, r3, #2 + 8009a2c: 4413 add r3, r2 + 8009a2e: 00db lsls r3, r3, #3 + 8009a30: f503 73a8 add.w r3, r3, #336 @ 0x150 + 8009a34: 687a ldr r2, [r7, #4] + 8009a36: 4413 add r3, r2 + 8009a38: 60fb str r3, [r7, #12] ep->is_in = 0U; - 8009482: 68fb ldr r3, [r7, #12] - 8009484: 2200 movs r2, #0 - 8009486: 705a strb r2, [r3, #1] + 8009a3a: 68fb ldr r3, [r7, #12] + 8009a3c: 2200 movs r2, #0 + 8009a3e: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; - 8009488: 78fb ldrb r3, [r7, #3] - 800948a: f003 0307 and.w r3, r3, #7 - 800948e: b2da uxtb r2, r3 - 8009490: 68fb ldr r3, [r7, #12] - 8009492: 701a strb r2, [r3, #0] + 8009a40: 78fb ldrb r3, [r7, #3] + 8009a42: f003 0307 and.w r3, r3, #7 + 8009a46: b2da uxtb r2, r3 + 8009a48: 68fb ldr r3, [r7, #12] + 8009a4a: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); - 8009494: 687b ldr r3, [r7, #4] - 8009496: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 - 800949a: 2b01 cmp r3, #1 - 800949c: d101 bne.n 80094a2 - 800949e: 2302 movs r3, #2 - 80094a0: e00e b.n 80094c0 - 80094a2: 687b ldr r3, [r7, #4] - 80094a4: 2201 movs r2, #1 - 80094a6: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 8009a4c: 687b ldr r3, [r7, #4] + 8009a4e: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 + 8009a52: 2b01 cmp r3, #1 + 8009a54: d101 bne.n 8009a5a + 8009a56: 2302 movs r3, #2 + 8009a58: e00e b.n 8009a78 + 8009a5a: 687b ldr r3, [r7, #4] + 8009a5c: 2201 movs r2, #1 + 8009a5e: f883 2290 strb.w r2, [r3, #656] @ 0x290 (void)USB_DeactivateEndpoint(hpcd->Instance, ep); - 80094aa: 687b ldr r3, [r7, #4] - 80094ac: 681b ldr r3, [r3, #0] - 80094ae: 68f9 ldr r1, [r7, #12] - 80094b0: 4618 mov r0, r3 - 80094b2: f005 fec3 bl 800f23c + 8009a62: 687b ldr r3, [r7, #4] + 8009a64: 681b ldr r3, [r3, #0] + 8009a66: 68f9 ldr r1, [r7, #12] + 8009a68: 4618 mov r0, r3 + 8009a6a: f006 f8e5 bl 800fc38 __HAL_UNLOCK(hpcd); - 80094b6: 687b ldr r3, [r7, #4] - 80094b8: 2200 movs r2, #0 - 80094ba: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 8009a6e: 687b ldr r3, [r7, #4] + 8009a70: 2200 movs r2, #0 + 8009a72: f883 2290 strb.w r2, [r3, #656] @ 0x290 return HAL_OK; - 80094be: 2300 movs r3, #0 + 8009a76: 2300 movs r3, #0 } - 80094c0: 4618 mov r0, r3 - 80094c2: 3710 adds r7, #16 - 80094c4: 46bd mov sp, r7 - 80094c6: bd80 pop {r7, pc} + 8009a78: 4618 mov r0, r3 + 8009a7a: 3710 adds r7, #16 + 8009a7c: 46bd mov sp, r7 + 8009a7e: bd80 pop {r7, pc} -080094c8 : +08009a80 : * @param pBuf pointer to the reception buffer * @param len amount of data to be received * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len) { - 80094c8: b580 push {r7, lr} - 80094ca: b086 sub sp, #24 - 80094cc: af00 add r7, sp, #0 - 80094ce: 60f8 str r0, [r7, #12] - 80094d0: 607a str r2, [r7, #4] - 80094d2: 603b str r3, [r7, #0] - 80094d4: 460b mov r3, r1 - 80094d6: 72fb strb r3, [r7, #11] + 8009a80: b580 push {r7, lr} + 8009a82: b086 sub sp, #24 + 8009a84: af00 add r7, sp, #0 + 8009a86: 60f8 str r0, [r7, #12] + 8009a88: 607a str r2, [r7, #4] + 8009a8a: 603b str r3, [r7, #0] + 8009a8c: 460b mov r3, r1 + 8009a8e: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; - 80094d8: 7afb ldrb r3, [r7, #11] - 80094da: f003 0207 and.w r2, r3, #7 - 80094de: 4613 mov r3, r2 - 80094e0: 009b lsls r3, r3, #2 - 80094e2: 4413 add r3, r2 - 80094e4: 00db lsls r3, r3, #3 - 80094e6: f503 73a8 add.w r3, r3, #336 @ 0x150 - 80094ea: 68fa ldr r2, [r7, #12] - 80094ec: 4413 add r3, r2 - 80094ee: 617b str r3, [r7, #20] + 8009a90: 7afb ldrb r3, [r7, #11] + 8009a92: f003 0207 and.w r2, r3, #7 + 8009a96: 4613 mov r3, r2 + 8009a98: 009b lsls r3, r3, #2 + 8009a9a: 4413 add r3, r2 + 8009a9c: 00db lsls r3, r3, #3 + 8009a9e: f503 73a8 add.w r3, r3, #336 @ 0x150 + 8009aa2: 68fa ldr r2, [r7, #12] + 8009aa4: 4413 add r3, r2 + 8009aa6: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; - 80094f0: 697b ldr r3, [r7, #20] - 80094f2: 687a ldr r2, [r7, #4] - 80094f4: 615a str r2, [r3, #20] + 8009aa8: 697b ldr r3, [r7, #20] + 8009aaa: 687a ldr r2, [r7, #4] + 8009aac: 615a str r2, [r3, #20] ep->xfer_len = len; - 80094f6: 697b ldr r3, [r7, #20] - 80094f8: 683a ldr r2, [r7, #0] - 80094fa: 619a str r2, [r3, #24] + 8009aae: 697b ldr r3, [r7, #20] + 8009ab0: 683a ldr r2, [r7, #0] + 8009ab2: 619a str r2, [r3, #24] ep->xfer_count = 0U; - 80094fc: 697b ldr r3, [r7, #20] - 80094fe: 2200 movs r2, #0 - 8009500: 61da str r2, [r3, #28] + 8009ab4: 697b ldr r3, [r7, #20] + 8009ab6: 2200 movs r2, #0 + 8009ab8: 61da str r2, [r3, #28] ep->is_in = 0U; - 8009502: 697b ldr r3, [r7, #20] - 8009504: 2200 movs r2, #0 - 8009506: 705a strb r2, [r3, #1] + 8009aba: 697b ldr r3, [r7, #20] + 8009abc: 2200 movs r2, #0 + 8009abe: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; - 8009508: 7afb ldrb r3, [r7, #11] - 800950a: f003 0307 and.w r3, r3, #7 - 800950e: b2da uxtb r2, r3 - 8009510: 697b ldr r3, [r7, #20] - 8009512: 701a strb r2, [r3, #0] + 8009ac0: 7afb ldrb r3, [r7, #11] + 8009ac2: f003 0307 and.w r3, r3, #7 + 8009ac6: b2da uxtb r2, r3 + 8009ac8: 697b ldr r3, [r7, #20] + 8009aca: 701a strb r2, [r3, #0] (void)USB_EPStartXfer(hpcd->Instance, ep); - 8009514: 68fb ldr r3, [r7, #12] - 8009516: 681b ldr r3, [r3, #0] - 8009518: 6979 ldr r1, [r7, #20] - 800951a: 4618 mov r0, r3 - 800951c: f006 f87b bl 800f616 + 8009acc: 68fb ldr r3, [r7, #12] + 8009ace: 681b ldr r3, [r3, #0] + 8009ad0: 6979 ldr r1, [r7, #20] + 8009ad2: 4618 mov r0, r3 + 8009ad4: f006 fa9d bl 8010012 return HAL_OK; - 8009520: 2300 movs r3, #0 + 8009ad8: 2300 movs r3, #0 } - 8009522: 4618 mov r0, r3 - 8009524: 3718 adds r7, #24 - 8009526: 46bd mov sp, r7 - 8009528: bd80 pop {r7, pc} + 8009ada: 4618 mov r0, r3 + 8009adc: 3718 adds r7, #24 + 8009ade: 46bd mov sp, r7 + 8009ae0: bd80 pop {r7, pc} -0800952a : +08009ae2 : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval Data Size */ uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef const *hpcd, uint8_t ep_addr) { - 800952a: b480 push {r7} - 800952c: b083 sub sp, #12 - 800952e: af00 add r7, sp, #0 - 8009530: 6078 str r0, [r7, #4] - 8009532: 460b mov r3, r1 - 8009534: 70fb strb r3, [r7, #3] + 8009ae2: b480 push {r7} + 8009ae4: b083 sub sp, #12 + 8009ae6: af00 add r7, sp, #0 + 8009ae8: 6078 str r0, [r7, #4] + 8009aea: 460b mov r3, r1 + 8009aec: 70fb strb r3, [r7, #3] return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; - 8009536: 78fb ldrb r3, [r7, #3] - 8009538: f003 0207 and.w r2, r3, #7 - 800953c: 6879 ldr r1, [r7, #4] - 800953e: 4613 mov r3, r2 - 8009540: 009b lsls r3, r3, #2 - 8009542: 4413 add r3, r2 - 8009544: 00db lsls r3, r3, #3 - 8009546: 440b add r3, r1 - 8009548: f503 73b6 add.w r3, r3, #364 @ 0x16c - 800954c: 681b ldr r3, [r3, #0] + 8009aee: 78fb ldrb r3, [r7, #3] + 8009af0: f003 0207 and.w r2, r3, #7 + 8009af4: 6879 ldr r1, [r7, #4] + 8009af6: 4613 mov r3, r2 + 8009af8: 009b lsls r3, r3, #2 + 8009afa: 4413 add r3, r2 + 8009afc: 00db lsls r3, r3, #3 + 8009afe: 440b add r3, r1 + 8009b00: f503 73b6 add.w r3, r3, #364 @ 0x16c + 8009b04: 681b ldr r3, [r3, #0] } - 800954e: 4618 mov r0, r3 - 8009550: 370c adds r7, #12 - 8009552: 46bd mov sp, r7 - 8009554: f85d 7b04 ldr.w r7, [sp], #4 - 8009558: 4770 bx lr + 8009b06: 4618 mov r0, r3 + 8009b08: 370c adds r7, #12 + 8009b0a: 46bd mov sp, r7 + 8009b0c: f85d 7b04 ldr.w r7, [sp], #4 + 8009b10: 4770 bx lr -0800955a : +08009b12 : * @param pBuf pointer to the transmission buffer * @param len amount of data to be sent * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len) { - 800955a: b580 push {r7, lr} - 800955c: b086 sub sp, #24 - 800955e: af00 add r7, sp, #0 - 8009560: 60f8 str r0, [r7, #12] - 8009562: 607a str r2, [r7, #4] - 8009564: 603b str r3, [r7, #0] - 8009566: 460b mov r3, r1 - 8009568: 72fb strb r3, [r7, #11] + 8009b12: b580 push {r7, lr} + 8009b14: b086 sub sp, #24 + 8009b16: af00 add r7, sp, #0 + 8009b18: 60f8 str r0, [r7, #12] + 8009b1a: 607a str r2, [r7, #4] + 8009b1c: 603b str r3, [r7, #0] + 8009b1e: 460b mov r3, r1 + 8009b20: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; - 800956a: 7afb ldrb r3, [r7, #11] - 800956c: f003 0207 and.w r2, r3, #7 - 8009570: 4613 mov r3, r2 - 8009572: 009b lsls r3, r3, #2 - 8009574: 4413 add r3, r2 - 8009576: 00db lsls r3, r3, #3 - 8009578: 3310 adds r3, #16 - 800957a: 68fa ldr r2, [r7, #12] - 800957c: 4413 add r3, r2 - 800957e: 617b str r3, [r7, #20] + 8009b22: 7afb ldrb r3, [r7, #11] + 8009b24: f003 0207 and.w r2, r3, #7 + 8009b28: 4613 mov r3, r2 + 8009b2a: 009b lsls r3, r3, #2 + 8009b2c: 4413 add r3, r2 + 8009b2e: 00db lsls r3, r3, #3 + 8009b30: 3310 adds r3, #16 + 8009b32: 68fa ldr r2, [r7, #12] + 8009b34: 4413 add r3, r2 + 8009b36: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; - 8009580: 697b ldr r3, [r7, #20] - 8009582: 687a ldr r2, [r7, #4] - 8009584: 615a str r2, [r3, #20] + 8009b38: 697b ldr r3, [r7, #20] + 8009b3a: 687a ldr r2, [r7, #4] + 8009b3c: 615a str r2, [r3, #20] ep->xfer_len = len; - 8009586: 697b ldr r3, [r7, #20] - 8009588: 683a ldr r2, [r7, #0] - 800958a: 619a str r2, [r3, #24] + 8009b3e: 697b ldr r3, [r7, #20] + 8009b40: 683a ldr r2, [r7, #0] + 8009b42: 619a str r2, [r3, #24] ep->xfer_fill_db = 1U; - 800958c: 697b ldr r3, [r7, #20] - 800958e: 2201 movs r2, #1 - 8009590: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 8009b44: 697b ldr r3, [r7, #20] + 8009b46: 2201 movs r2, #1 + 8009b48: f883 2024 strb.w r2, [r3, #36] @ 0x24 ep->xfer_len_db = len; - 8009594: 697b ldr r3, [r7, #20] - 8009596: 683a ldr r2, [r7, #0] - 8009598: 621a str r2, [r3, #32] + 8009b4c: 697b ldr r3, [r7, #20] + 8009b4e: 683a ldr r2, [r7, #0] + 8009b50: 621a str r2, [r3, #32] ep->xfer_count = 0U; - 800959a: 697b ldr r3, [r7, #20] - 800959c: 2200 movs r2, #0 - 800959e: 61da str r2, [r3, #28] + 8009b52: 697b ldr r3, [r7, #20] + 8009b54: 2200 movs r2, #0 + 8009b56: 61da str r2, [r3, #28] ep->is_in = 1U; - 80095a0: 697b ldr r3, [r7, #20] - 80095a2: 2201 movs r2, #1 - 80095a4: 705a strb r2, [r3, #1] + 8009b58: 697b ldr r3, [r7, #20] + 8009b5a: 2201 movs r2, #1 + 8009b5c: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; - 80095a6: 7afb ldrb r3, [r7, #11] - 80095a8: f003 0307 and.w r3, r3, #7 - 80095ac: b2da uxtb r2, r3 - 80095ae: 697b ldr r3, [r7, #20] - 80095b0: 701a strb r2, [r3, #0] + 8009b5e: 7afb ldrb r3, [r7, #11] + 8009b60: f003 0307 and.w r3, r3, #7 + 8009b64: b2da uxtb r2, r3 + 8009b66: 697b ldr r3, [r7, #20] + 8009b68: 701a strb r2, [r3, #0] (void)USB_EPStartXfer(hpcd->Instance, ep); - 80095b2: 68fb ldr r3, [r7, #12] - 80095b4: 681b ldr r3, [r3, #0] - 80095b6: 6979 ldr r1, [r7, #20] - 80095b8: 4618 mov r0, r3 - 80095ba: f006 f82c bl 800f616 + 8009b6a: 68fb ldr r3, [r7, #12] + 8009b6c: 681b ldr r3, [r3, #0] + 8009b6e: 6979 ldr r1, [r7, #20] + 8009b70: 4618 mov r0, r3 + 8009b72: f006 fa4e bl 8010012 return HAL_OK; - 80095be: 2300 movs r3, #0 + 8009b76: 2300 movs r3, #0 } - 80095c0: 4618 mov r0, r3 - 80095c2: 3718 adds r7, #24 - 80095c4: 46bd mov sp, r7 - 80095c6: bd80 pop {r7, pc} + 8009b78: 4618 mov r0, r3 + 8009b7a: 3718 adds r7, #24 + 8009b7c: 46bd mov sp, r7 + 8009b7e: bd80 pop {r7, pc} -080095c8 : +08009b80 : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) { - 80095c8: b580 push {r7, lr} - 80095ca: b084 sub sp, #16 - 80095cc: af00 add r7, sp, #0 - 80095ce: 6078 str r0, [r7, #4] - 80095d0: 460b mov r3, r1 - 80095d2: 70fb strb r3, [r7, #3] + 8009b80: b580 push {r7, lr} + 8009b82: b084 sub sp, #16 + 8009b84: af00 add r7, sp, #0 + 8009b86: 6078 str r0, [r7, #4] + 8009b88: 460b mov r3, r1 + 8009b8a: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) - 80095d4: 78fb ldrb r3, [r7, #3] - 80095d6: f003 0307 and.w r3, r3, #7 - 80095da: 687a ldr r2, [r7, #4] - 80095dc: 7912 ldrb r2, [r2, #4] - 80095de: 4293 cmp r3, r2 - 80095e0: d901 bls.n 80095e6 + 8009b8c: 78fb ldrb r3, [r7, #3] + 8009b8e: f003 0307 and.w r3, r3, #7 + 8009b92: 687a ldr r2, [r7, #4] + 8009b94: 7912 ldrb r2, [r2, #4] + 8009b96: 4293 cmp r3, r2 + 8009b98: d901 bls.n 8009b9e { return HAL_ERROR; - 80095e2: 2301 movs r3, #1 - 80095e4: e03e b.n 8009664 + 8009b9a: 2301 movs r3, #1 + 8009b9c: e03e b.n 8009c1c } if ((0x80U & ep_addr) == 0x80U) - 80095e6: f997 3003 ldrsb.w r3, [r7, #3] - 80095ea: 2b00 cmp r3, #0 - 80095ec: da0e bge.n 800960c + 8009b9e: f997 3003 ldrsb.w r3, [r7, #3] + 8009ba2: 2b00 cmp r3, #0 + 8009ba4: da0e bge.n 8009bc4 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; - 80095ee: 78fb ldrb r3, [r7, #3] - 80095f0: f003 0207 and.w r2, r3, #7 - 80095f4: 4613 mov r3, r2 - 80095f6: 009b lsls r3, r3, #2 - 80095f8: 4413 add r3, r2 - 80095fa: 00db lsls r3, r3, #3 - 80095fc: 3310 adds r3, #16 - 80095fe: 687a ldr r2, [r7, #4] - 8009600: 4413 add r3, r2 - 8009602: 60fb str r3, [r7, #12] + 8009ba6: 78fb ldrb r3, [r7, #3] + 8009ba8: f003 0207 and.w r2, r3, #7 + 8009bac: 4613 mov r3, r2 + 8009bae: 009b lsls r3, r3, #2 + 8009bb0: 4413 add r3, r2 + 8009bb2: 00db lsls r3, r3, #3 + 8009bb4: 3310 adds r3, #16 + 8009bb6: 687a ldr r2, [r7, #4] + 8009bb8: 4413 add r3, r2 + 8009bba: 60fb str r3, [r7, #12] ep->is_in = 1U; - 8009604: 68fb ldr r3, [r7, #12] - 8009606: 2201 movs r2, #1 - 8009608: 705a strb r2, [r3, #1] - 800960a: e00c b.n 8009626 + 8009bbc: 68fb ldr r3, [r7, #12] + 8009bbe: 2201 movs r2, #1 + 8009bc0: 705a strb r2, [r3, #1] + 8009bc2: e00c b.n 8009bde } else { ep = &hpcd->OUT_ep[ep_addr]; - 800960c: 78fa ldrb r2, [r7, #3] - 800960e: 4613 mov r3, r2 - 8009610: 009b lsls r3, r3, #2 - 8009612: 4413 add r3, r2 - 8009614: 00db lsls r3, r3, #3 - 8009616: f503 73a8 add.w r3, r3, #336 @ 0x150 - 800961a: 687a ldr r2, [r7, #4] - 800961c: 4413 add r3, r2 - 800961e: 60fb str r3, [r7, #12] + 8009bc4: 78fa ldrb r2, [r7, #3] + 8009bc6: 4613 mov r3, r2 + 8009bc8: 009b lsls r3, r3, #2 + 8009bca: 4413 add r3, r2 + 8009bcc: 00db lsls r3, r3, #3 + 8009bce: f503 73a8 add.w r3, r3, #336 @ 0x150 + 8009bd2: 687a ldr r2, [r7, #4] + 8009bd4: 4413 add r3, r2 + 8009bd6: 60fb str r3, [r7, #12] ep->is_in = 0U; - 8009620: 68fb ldr r3, [r7, #12] - 8009622: 2200 movs r2, #0 - 8009624: 705a strb r2, [r3, #1] + 8009bd8: 68fb ldr r3, [r7, #12] + 8009bda: 2200 movs r2, #0 + 8009bdc: 705a strb r2, [r3, #1] } ep->is_stall = 1U; - 8009626: 68fb ldr r3, [r7, #12] - 8009628: 2201 movs r2, #1 - 800962a: 709a strb r2, [r3, #2] + 8009bde: 68fb ldr r3, [r7, #12] + 8009be0: 2201 movs r2, #1 + 8009be2: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; - 800962c: 78fb ldrb r3, [r7, #3] - 800962e: f003 0307 and.w r3, r3, #7 - 8009632: b2da uxtb r2, r3 - 8009634: 68fb ldr r3, [r7, #12] - 8009636: 701a strb r2, [r3, #0] + 8009be4: 78fb ldrb r3, [r7, #3] + 8009be6: f003 0307 and.w r3, r3, #7 + 8009bea: b2da uxtb r2, r3 + 8009bec: 68fb ldr r3, [r7, #12] + 8009bee: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); - 8009638: 687b ldr r3, [r7, #4] - 800963a: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 - 800963e: 2b01 cmp r3, #1 - 8009640: d101 bne.n 8009646 - 8009642: 2302 movs r3, #2 - 8009644: e00e b.n 8009664 - 8009646: 687b ldr r3, [r7, #4] - 8009648: 2201 movs r2, #1 - 800964a: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 8009bf0: 687b ldr r3, [r7, #4] + 8009bf2: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 + 8009bf6: 2b01 cmp r3, #1 + 8009bf8: d101 bne.n 8009bfe + 8009bfa: 2302 movs r3, #2 + 8009bfc: e00e b.n 8009c1c + 8009bfe: 687b ldr r3, [r7, #4] + 8009c00: 2201 movs r2, #1 + 8009c02: f883 2290 strb.w r2, [r3, #656] @ 0x290 (void)USB_EPSetStall(hpcd->Instance, ep); - 800964e: 687b ldr r3, [r7, #4] - 8009650: 681b ldr r3, [r3, #0] - 8009652: 68f9 ldr r1, [r7, #12] - 8009654: 4618 mov r0, r3 - 8009656: f006 fd8d bl 8010174 + 8009c06: 687b ldr r3, [r7, #4] + 8009c08: 681b ldr r3, [r3, #0] + 8009c0a: 68f9 ldr r1, [r7, #12] + 8009c0c: 4618 mov r0, r3 + 8009c0e: f006 ffaf bl 8010b70 __HAL_UNLOCK(hpcd); - 800965a: 687b ldr r3, [r7, #4] - 800965c: 2200 movs r2, #0 - 800965e: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 8009c12: 687b ldr r3, [r7, #4] + 8009c14: 2200 movs r2, #0 + 8009c16: f883 2290 strb.w r2, [r3, #656] @ 0x290 return HAL_OK; - 8009662: 2300 movs r3, #0 + 8009c1a: 2300 movs r3, #0 } - 8009664: 4618 mov r0, r3 - 8009666: 3710 adds r7, #16 - 8009668: 46bd mov sp, r7 - 800966a: bd80 pop {r7, pc} + 8009c1c: 4618 mov r0, r3 + 8009c1e: 3710 adds r7, #16 + 8009c20: 46bd mov sp, r7 + 8009c22: bd80 pop {r7, pc} -0800966c : +08009c24 : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) { - 800966c: b580 push {r7, lr} - 800966e: b084 sub sp, #16 - 8009670: af00 add r7, sp, #0 - 8009672: 6078 str r0, [r7, #4] - 8009674: 460b mov r3, r1 - 8009676: 70fb strb r3, [r7, #3] + 8009c24: b580 push {r7, lr} + 8009c26: b084 sub sp, #16 + 8009c28: af00 add r7, sp, #0 + 8009c2a: 6078 str r0, [r7, #4] + 8009c2c: 460b mov r3, r1 + 8009c2e: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) - 8009678: 78fb ldrb r3, [r7, #3] - 800967a: f003 030f and.w r3, r3, #15 - 800967e: 687a ldr r2, [r7, #4] - 8009680: 7912 ldrb r2, [r2, #4] - 8009682: 4293 cmp r3, r2 - 8009684: d901 bls.n 800968a + 8009c30: 78fb ldrb r3, [r7, #3] + 8009c32: f003 030f and.w r3, r3, #15 + 8009c36: 687a ldr r2, [r7, #4] + 8009c38: 7912 ldrb r2, [r2, #4] + 8009c3a: 4293 cmp r3, r2 + 8009c3c: d901 bls.n 8009c42 { return HAL_ERROR; - 8009686: 2301 movs r3, #1 - 8009688: e040 b.n 800970c + 8009c3e: 2301 movs r3, #1 + 8009c40: e040 b.n 8009cc4 } if ((0x80U & ep_addr) == 0x80U) - 800968a: f997 3003 ldrsb.w r3, [r7, #3] - 800968e: 2b00 cmp r3, #0 - 8009690: da0e bge.n 80096b0 + 8009c42: f997 3003 ldrsb.w r3, [r7, #3] + 8009c46: 2b00 cmp r3, #0 + 8009c48: da0e bge.n 8009c68 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; - 8009692: 78fb ldrb r3, [r7, #3] - 8009694: f003 0207 and.w r2, r3, #7 - 8009698: 4613 mov r3, r2 - 800969a: 009b lsls r3, r3, #2 - 800969c: 4413 add r3, r2 - 800969e: 00db lsls r3, r3, #3 - 80096a0: 3310 adds r3, #16 - 80096a2: 687a ldr r2, [r7, #4] - 80096a4: 4413 add r3, r2 - 80096a6: 60fb str r3, [r7, #12] + 8009c4a: 78fb ldrb r3, [r7, #3] + 8009c4c: f003 0207 and.w r2, r3, #7 + 8009c50: 4613 mov r3, r2 + 8009c52: 009b lsls r3, r3, #2 + 8009c54: 4413 add r3, r2 + 8009c56: 00db lsls r3, r3, #3 + 8009c58: 3310 adds r3, #16 + 8009c5a: 687a ldr r2, [r7, #4] + 8009c5c: 4413 add r3, r2 + 8009c5e: 60fb str r3, [r7, #12] ep->is_in = 1U; - 80096a8: 68fb ldr r3, [r7, #12] - 80096aa: 2201 movs r2, #1 - 80096ac: 705a strb r2, [r3, #1] - 80096ae: e00e b.n 80096ce + 8009c60: 68fb ldr r3, [r7, #12] + 8009c62: 2201 movs r2, #1 + 8009c64: 705a strb r2, [r3, #1] + 8009c66: e00e b.n 8009c86 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; - 80096b0: 78fb ldrb r3, [r7, #3] - 80096b2: f003 0207 and.w r2, r3, #7 - 80096b6: 4613 mov r3, r2 - 80096b8: 009b lsls r3, r3, #2 - 80096ba: 4413 add r3, r2 - 80096bc: 00db lsls r3, r3, #3 - 80096be: f503 73a8 add.w r3, r3, #336 @ 0x150 - 80096c2: 687a ldr r2, [r7, #4] - 80096c4: 4413 add r3, r2 - 80096c6: 60fb str r3, [r7, #12] + 8009c68: 78fb ldrb r3, [r7, #3] + 8009c6a: f003 0207 and.w r2, r3, #7 + 8009c6e: 4613 mov r3, r2 + 8009c70: 009b lsls r3, r3, #2 + 8009c72: 4413 add r3, r2 + 8009c74: 00db lsls r3, r3, #3 + 8009c76: f503 73a8 add.w r3, r3, #336 @ 0x150 + 8009c7a: 687a ldr r2, [r7, #4] + 8009c7c: 4413 add r3, r2 + 8009c7e: 60fb str r3, [r7, #12] ep->is_in = 0U; - 80096c8: 68fb ldr r3, [r7, #12] - 80096ca: 2200 movs r2, #0 - 80096cc: 705a strb r2, [r3, #1] + 8009c80: 68fb ldr r3, [r7, #12] + 8009c82: 2200 movs r2, #0 + 8009c84: 705a strb r2, [r3, #1] } ep->is_stall = 0U; - 80096ce: 68fb ldr r3, [r7, #12] - 80096d0: 2200 movs r2, #0 - 80096d2: 709a strb r2, [r3, #2] + 8009c86: 68fb ldr r3, [r7, #12] + 8009c88: 2200 movs r2, #0 + 8009c8a: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; - 80096d4: 78fb ldrb r3, [r7, #3] - 80096d6: f003 0307 and.w r3, r3, #7 - 80096da: b2da uxtb r2, r3 - 80096dc: 68fb ldr r3, [r7, #12] - 80096de: 701a strb r2, [r3, #0] + 8009c8c: 78fb ldrb r3, [r7, #3] + 8009c8e: f003 0307 and.w r3, r3, #7 + 8009c92: b2da uxtb r2, r3 + 8009c94: 68fb ldr r3, [r7, #12] + 8009c96: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); - 80096e0: 687b ldr r3, [r7, #4] - 80096e2: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 - 80096e6: 2b01 cmp r3, #1 - 80096e8: d101 bne.n 80096ee - 80096ea: 2302 movs r3, #2 - 80096ec: e00e b.n 800970c - 80096ee: 687b ldr r3, [r7, #4] - 80096f0: 2201 movs r2, #1 - 80096f2: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 8009c98: 687b ldr r3, [r7, #4] + 8009c9a: f893 3290 ldrb.w r3, [r3, #656] @ 0x290 + 8009c9e: 2b01 cmp r3, #1 + 8009ca0: d101 bne.n 8009ca6 + 8009ca2: 2302 movs r3, #2 + 8009ca4: e00e b.n 8009cc4 + 8009ca6: 687b ldr r3, [r7, #4] + 8009ca8: 2201 movs r2, #1 + 8009caa: f883 2290 strb.w r2, [r3, #656] @ 0x290 (void)USB_EPClearStall(hpcd->Instance, ep); - 80096f6: 687b ldr r3, [r7, #4] - 80096f8: 681b ldr r3, [r3, #0] - 80096fa: 68f9 ldr r1, [r7, #12] - 80096fc: 4618 mov r0, r3 - 80096fe: f006 fd8a bl 8010216 + 8009cae: 687b ldr r3, [r7, #4] + 8009cb0: 681b ldr r3, [r3, #0] + 8009cb2: 68f9 ldr r1, [r7, #12] + 8009cb4: 4618 mov r0, r3 + 8009cb6: f006 ffac bl 8010c12 __HAL_UNLOCK(hpcd); - 8009702: 687b ldr r3, [r7, #4] - 8009704: 2200 movs r2, #0 - 8009706: f883 2290 strb.w r2, [r3, #656] @ 0x290 + 8009cba: 687b ldr r3, [r7, #4] + 8009cbc: 2200 movs r2, #0 + 8009cbe: f883 2290 strb.w r2, [r3, #656] @ 0x290 return HAL_OK; - 800970a: 2300 movs r3, #0 + 8009cc2: 2300 movs r3, #0 } - 800970c: 4618 mov r0, r3 - 800970e: 3710 adds r7, #16 - 8009710: 46bd mov sp, r7 - 8009712: bd80 pop {r7, pc} + 8009cc4: 4618 mov r0, r3 + 8009cc6: 3710 adds r7, #16 + 8009cc8: 46bd mov sp, r7 + 8009cca: bd80 pop {r7, pc} -08009714 : +08009ccc : * @brief This function handles PCD Endpoint interrupt request. * @param hpcd PCD handle * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_ISR_Handler(PCD_HandleTypeDef *hpcd) { - 8009714: b580 push {r7, lr} - 8009716: b094 sub sp, #80 @ 0x50 - 8009718: af00 add r7, sp, #0 - 800971a: 6078 str r0, [r7, #4] + 8009ccc: b580 push {r7, lr} + 8009cce: b094 sub sp, #80 @ 0x50 + 8009cd0: af00 add r7, sp, #0 + 8009cd2: 6078 str r0, [r7, #4] #if (USE_USB_DOUBLE_BUFFER != 1U) count = 0U; #endif /* USE_USB_DOUBLE_BUFFER */ /* stay in loop while pending interrupts */ while ((hpcd->Instance->ISTR & USB_ISTR_CTR) != 0U) - 800971c: e374 b.n 8009e08 + 8009cd4: e374 b.n 800a3c0 { wIstr = hpcd->Instance->ISTR; - 800971e: 687b ldr r3, [r7, #4] - 8009720: 681b ldr r3, [r3, #0] - 8009722: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 8009726: f8a7 3042 strh.w r3, [r7, #66] @ 0x42 + 8009cd6: 687b ldr r3, [r7, #4] + 8009cd8: 681b ldr r3, [r3, #0] + 8009cda: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 8009cde: f8a7 3042 strh.w r3, [r7, #66] @ 0x42 /* extract highest priority endpoint number */ epindex = (uint8_t)(wIstr & USB_ISTR_EP_ID); - 800972a: f8b7 3042 ldrh.w r3, [r7, #66] @ 0x42 - 800972e: b2db uxtb r3, r3 - 8009730: f003 030f and.w r3, r3, #15 - 8009734: f887 3041 strb.w r3, [r7, #65] @ 0x41 + 8009ce2: f8b7 3042 ldrh.w r3, [r7, #66] @ 0x42 + 8009ce6: b2db uxtb r3, r3 + 8009ce8: f003 030f and.w r3, r3, #15 + 8009cec: f887 3041 strb.w r3, [r7, #65] @ 0x41 if (epindex == 0U) - 8009738: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 - 800973c: 2b00 cmp r3, #0 - 800973e: f040 8143 bne.w 80099c8 + 8009cf0: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 + 8009cf4: 2b00 cmp r3, #0 + 8009cf6: f040 8143 bne.w 8009f80 { /* Decode and service control endpoint interrupt */ /* DIR bit = origin of the interrupt */ if ((wIstr & USB_ISTR_DIR) == 0U) - 8009742: f8b7 3042 ldrh.w r3, [r7, #66] @ 0x42 - 8009746: f003 0310 and.w r3, r3, #16 - 800974a: 2b00 cmp r3, #0 - 800974c: d14c bne.n 80097e8 + 8009cfa: f8b7 3042 ldrh.w r3, [r7, #66] @ 0x42 + 8009cfe: f003 0310 and.w r3, r3, #16 + 8009d02: 2b00 cmp r3, #0 + 8009d04: d14c bne.n 8009da0 { /* DIR = 0 */ /* DIR = 0 => IN int */ /* DIR = 0 implies that (EP_CTR_TX = 1) always */ PCD_CLEAR_TX_EP_CTR(hpcd->Instance, PCD_ENDP0); - 800974e: 687b ldr r3, [r7, #4] - 8009750: 681b ldr r3, [r3, #0] - 8009752: 881b ldrh r3, [r3, #0] - 8009754: b29b uxth r3, r3 - 8009756: f423 43e1 bic.w r3, r3, #28800 @ 0x7080 - 800975a: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800975e: 817b strh r3, [r7, #10] - 8009760: 687b ldr r3, [r7, #4] - 8009762: 681a ldr r2, [r3, #0] - 8009764: 897b ldrh r3, [r7, #10] - 8009766: ea6f 4343 mvn.w r3, r3, lsl #17 - 800976a: ea6f 4353 mvn.w r3, r3, lsr #17 - 800976e: b29b uxth r3, r3 - 8009770: 8013 strh r3, [r2, #0] + 8009d06: 687b ldr r3, [r7, #4] + 8009d08: 681b ldr r3, [r3, #0] + 8009d0a: 881b ldrh r3, [r3, #0] + 8009d0c: b29b uxth r3, r3 + 8009d0e: f423 43e1 bic.w r3, r3, #28800 @ 0x7080 + 8009d12: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8009d16: 817b strh r3, [r7, #10] + 8009d18: 687b ldr r3, [r7, #4] + 8009d1a: 681a ldr r2, [r3, #0] + 8009d1c: 897b ldrh r3, [r7, #10] + 8009d1e: ea6f 4343 mvn.w r3, r3, lsl #17 + 8009d22: ea6f 4353 mvn.w r3, r3, lsr #17 + 8009d26: b29b uxth r3, r3 + 8009d28: 8013 strh r3, [r2, #0] ep = &hpcd->IN_ep[0]; - 8009772: 687b ldr r3, [r7, #4] - 8009774: 3310 adds r3, #16 - 8009776: 64bb str r3, [r7, #72] @ 0x48 + 8009d2a: 687b ldr r3, [r7, #4] + 8009d2c: 3310 adds r3, #16 + 8009d2e: 64bb str r3, [r7, #72] @ 0x48 ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); - 8009778: 687b ldr r3, [r7, #4] - 800977a: 681b ldr r3, [r3, #0] - 800977c: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009780: b29b uxth r3, r3 - 8009782: 461a mov r2, r3 - 8009784: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009786: 781b ldrb r3, [r3, #0] - 8009788: 00db lsls r3, r3, #3 - 800978a: 4413 add r3, r2 - 800978c: 687a ldr r2, [r7, #4] - 800978e: 6812 ldr r2, [r2, #0] - 8009790: 4413 add r3, r2 - 8009792: f203 4302 addw r3, r3, #1026 @ 0x402 - 8009796: 881b ldrh r3, [r3, #0] - 8009798: f3c3 0209 ubfx r2, r3, #0, #10 - 800979c: 6cbb ldr r3, [r7, #72] @ 0x48 - 800979e: 61da str r2, [r3, #28] + 8009d30: 687b ldr r3, [r7, #4] + 8009d32: 681b ldr r3, [r3, #0] + 8009d34: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8009d38: b29b uxth r3, r3 + 8009d3a: 461a mov r2, r3 + 8009d3c: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009d3e: 781b ldrb r3, [r3, #0] + 8009d40: 00db lsls r3, r3, #3 + 8009d42: 4413 add r3, r2 + 8009d44: 687a ldr r2, [r7, #4] + 8009d46: 6812 ldr r2, [r2, #0] + 8009d48: 4413 add r3, r2 + 8009d4a: f203 4302 addw r3, r3, #1026 @ 0x402 + 8009d4e: 881b ldrh r3, [r3, #0] + 8009d50: f3c3 0209 ubfx r2, r3, #0, #10 + 8009d54: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009d56: 61da str r2, [r3, #28] ep->xfer_buff += ep->xfer_count; - 80097a0: 6cbb ldr r3, [r7, #72] @ 0x48 - 80097a2: 695a ldr r2, [r3, #20] - 80097a4: 6cbb ldr r3, [r7, #72] @ 0x48 - 80097a6: 69db ldr r3, [r3, #28] - 80097a8: 441a add r2, r3 - 80097aa: 6cbb ldr r3, [r7, #72] @ 0x48 - 80097ac: 615a str r2, [r3, #20] + 8009d58: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009d5a: 695a ldr r2, [r3, #20] + 8009d5c: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009d5e: 69db ldr r3, [r3, #28] + 8009d60: 441a add r2, r3 + 8009d62: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009d64: 615a str r2, [r3, #20] /* TX COMPLETE */ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, 0U); #else HAL_PCD_DataInStageCallback(hpcd, 0U); - 80097ae: 2100 movs r1, #0 - 80097b0: 6878 ldr r0, [r7, #4] - 80097b2: f00e fe3c bl 801842e + 8009d66: 2100 movs r1, #0 + 8009d68: 6878 ldr r0, [r7, #4] + 8009d6a: f00f f848 bl 8018dfe #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ if ((hpcd->USB_Address > 0U) && (ep->xfer_len == 0U)) - 80097b6: 687b ldr r3, [r7, #4] - 80097b8: 7b1b ldrb r3, [r3, #12] - 80097ba: b2db uxtb r3, r3 - 80097bc: 2b00 cmp r3, #0 - 80097be: f000 8323 beq.w 8009e08 - 80097c2: 6cbb ldr r3, [r7, #72] @ 0x48 - 80097c4: 699b ldr r3, [r3, #24] - 80097c6: 2b00 cmp r3, #0 - 80097c8: f040 831e bne.w 8009e08 + 8009d6e: 687b ldr r3, [r7, #4] + 8009d70: 7b1b ldrb r3, [r3, #12] + 8009d72: b2db uxtb r3, r3 + 8009d74: 2b00 cmp r3, #0 + 8009d76: f000 8323 beq.w 800a3c0 + 8009d7a: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009d7c: 699b ldr r3, [r3, #24] + 8009d7e: 2b00 cmp r3, #0 + 8009d80: f040 831e bne.w 800a3c0 { hpcd->Instance->DADDR = ((uint16_t)hpcd->USB_Address | USB_DADDR_EF); - 80097cc: 687b ldr r3, [r7, #4] - 80097ce: 7b1b ldrb r3, [r3, #12] - 80097d0: b2db uxtb r3, r3 - 80097d2: f063 037f orn r3, r3, #127 @ 0x7f - 80097d6: b2da uxtb r2, r3 - 80097d8: 687b ldr r3, [r7, #4] - 80097da: 681b ldr r3, [r3, #0] - 80097dc: f8a3 204c strh.w r2, [r3, #76] @ 0x4c + 8009d84: 687b ldr r3, [r7, #4] + 8009d86: 7b1b ldrb r3, [r3, #12] + 8009d88: b2db uxtb r3, r3 + 8009d8a: f063 037f orn r3, r3, #127 @ 0x7f + 8009d8e: b2da uxtb r2, r3 + 8009d90: 687b ldr r3, [r7, #4] + 8009d92: 681b ldr r3, [r3, #0] + 8009d94: f8a3 204c strh.w r2, [r3, #76] @ 0x4c hpcd->USB_Address = 0U; - 80097e0: 687b ldr r3, [r7, #4] - 80097e2: 2200 movs r2, #0 - 80097e4: 731a strb r2, [r3, #12] - 80097e6: e30f b.n 8009e08 + 8009d98: 687b ldr r3, [r7, #4] + 8009d9a: 2200 movs r2, #0 + 8009d9c: 731a strb r2, [r3, #12] + 8009d9e: e30f b.n 800a3c0 { /* DIR = 1 */ /* DIR = 1 & CTR_RX => SETUP or OUT int */ /* DIR = 1 & (CTR_TX | CTR_RX) => 2 int pending */ ep = &hpcd->OUT_ep[0]; - 80097e8: 687b ldr r3, [r7, #4] - 80097ea: f503 73a8 add.w r3, r3, #336 @ 0x150 - 80097ee: 64bb str r3, [r7, #72] @ 0x48 + 8009da0: 687b ldr r3, [r7, #4] + 8009da2: f503 73a8 add.w r3, r3, #336 @ 0x150 + 8009da6: 64bb str r3, [r7, #72] @ 0x48 wEPVal = PCD_GET_ENDPOINT(hpcd->Instance, PCD_ENDP0); - 80097f0: 687b ldr r3, [r7, #4] - 80097f2: 681b ldr r3, [r3, #0] - 80097f4: 881b ldrh r3, [r3, #0] - 80097f6: 87fb strh r3, [r7, #62] @ 0x3e + 8009da8: 687b ldr r3, [r7, #4] + 8009daa: 681b ldr r3, [r3, #0] + 8009dac: 881b ldrh r3, [r3, #0] + 8009dae: 87fb strh r3, [r7, #62] @ 0x3e if ((wEPVal & USB_EP_SETUP) != 0U) - 80097f8: 8ffb ldrh r3, [r7, #62] @ 0x3e - 80097fa: f403 6300 and.w r3, r3, #2048 @ 0x800 - 80097fe: 2b00 cmp r3, #0 - 8009800: d07b beq.n 80098fa + 8009db0: 8ffb ldrh r3, [r7, #62] @ 0x3e + 8009db2: f403 6300 and.w r3, r3, #2048 @ 0x800 + 8009db6: 2b00 cmp r3, #0 + 8009db8: d07b beq.n 8009eb2 { /* Get SETUP Packet */ ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); - 8009802: 687b ldr r3, [r7, #4] - 8009804: 681b ldr r3, [r3, #0] - 8009806: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800980a: b29b uxth r3, r3 - 800980c: 461a mov r2, r3 - 800980e: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009810: 781b ldrb r3, [r3, #0] - 8009812: 00db lsls r3, r3, #3 - 8009814: 4413 add r3, r2 - 8009816: 687a ldr r2, [r7, #4] - 8009818: 6812 ldr r2, [r2, #0] - 800981a: 4413 add r3, r2 - 800981c: f203 4306 addw r3, r3, #1030 @ 0x406 - 8009820: 881b ldrh r3, [r3, #0] - 8009822: f3c3 0209 ubfx r2, r3, #0, #10 - 8009826: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009828: 61da str r2, [r3, #28] + 8009dba: 687b ldr r3, [r7, #4] + 8009dbc: 681b ldr r3, [r3, #0] + 8009dbe: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8009dc2: b29b uxth r3, r3 + 8009dc4: 461a mov r2, r3 + 8009dc6: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009dc8: 781b ldrb r3, [r3, #0] + 8009dca: 00db lsls r3, r3, #3 + 8009dcc: 4413 add r3, r2 + 8009dce: 687a ldr r2, [r7, #4] + 8009dd0: 6812 ldr r2, [r2, #0] + 8009dd2: 4413 add r3, r2 + 8009dd4: f203 4306 addw r3, r3, #1030 @ 0x406 + 8009dd8: 881b ldrh r3, [r3, #0] + 8009dda: f3c3 0209 ubfx r2, r3, #0, #10 + 8009dde: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009de0: 61da str r2, [r3, #28] if (ep->xfer_count != 8U) - 800982a: 6cbb ldr r3, [r7, #72] @ 0x48 - 800982c: 69db ldr r3, [r3, #28] - 800982e: 2b08 cmp r3, #8 - 8009830: d044 beq.n 80098bc + 8009de2: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009de4: 69db ldr r3, [r3, #28] + 8009de6: 2b08 cmp r3, #8 + 8009de8: d044 beq.n 8009e74 { /* Set Stall condition for EP0 IN/OUT */ PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_STALL); - 8009832: 687b ldr r3, [r7, #4] - 8009834: 681b ldr r3, [r3, #0] - 8009836: 881b ldrh r3, [r3, #0] - 8009838: b29b uxth r3, r3 - 800983a: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800983e: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8009842: 823b strh r3, [r7, #16] - 8009844: 8a3b ldrh r3, [r7, #16] - 8009846: f483 5380 eor.w r3, r3, #4096 @ 0x1000 - 800984a: 823b strh r3, [r7, #16] - 800984c: 687b ldr r3, [r7, #4] - 800984e: 681a ldr r2, [r3, #0] - 8009850: 8a3b ldrh r3, [r7, #16] - 8009852: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8009856: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800985a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800985e: f043 0380 orr.w r3, r3, #128 @ 0x80 - 8009862: b29b uxth r3, r3 - 8009864: 8013 strh r3, [r2, #0] + 8009dea: 687b ldr r3, [r7, #4] + 8009dec: 681b ldr r3, [r3, #0] + 8009dee: 881b ldrh r3, [r3, #0] + 8009df0: b29b uxth r3, r3 + 8009df2: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 8009df6: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8009dfa: 823b strh r3, [r7, #16] + 8009dfc: 8a3b ldrh r3, [r7, #16] + 8009dfe: f483 5380 eor.w r3, r3, #4096 @ 0x1000 + 8009e02: 823b strh r3, [r7, #16] + 8009e04: 687b ldr r3, [r7, #4] + 8009e06: 681a ldr r2, [r3, #0] + 8009e08: 8a3b ldrh r3, [r7, #16] + 8009e0a: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8009e0e: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8009e12: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8009e16: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8009e1a: b29b uxth r3, r3 + 8009e1c: 8013 strh r3, [r2, #0] PCD_SET_EP_TX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_TX_STALL); - 8009866: 687b ldr r3, [r7, #4] - 8009868: 681b ldr r3, [r3, #0] - 800986a: 881b ldrh r3, [r3, #0] - 800986c: b29b uxth r3, r3 - 800986e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 8009872: f023 0340 bic.w r3, r3, #64 @ 0x40 - 8009876: 81fb strh r3, [r7, #14] - 8009878: 89fb ldrh r3, [r7, #14] - 800987a: f083 0310 eor.w r3, r3, #16 - 800987e: 81fb strh r3, [r7, #14] - 8009880: 687b ldr r3, [r7, #4] - 8009882: 681a ldr r2, [r3, #0] - 8009884: 89fb ldrh r3, [r7, #14] - 8009886: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800988a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800988e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8009892: f043 0380 orr.w r3, r3, #128 @ 0x80 - 8009896: b29b uxth r3, r3 - 8009898: 8013 strh r3, [r2, #0] + 8009e1e: 687b ldr r3, [r7, #4] + 8009e20: 681b ldr r3, [r3, #0] + 8009e22: 881b ldrh r3, [r3, #0] + 8009e24: b29b uxth r3, r3 + 8009e26: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 8009e2a: f023 0340 bic.w r3, r3, #64 @ 0x40 + 8009e2e: 81fb strh r3, [r7, #14] + 8009e30: 89fb ldrh r3, [r7, #14] + 8009e32: f083 0310 eor.w r3, r3, #16 + 8009e36: 81fb strh r3, [r7, #14] + 8009e38: 687b ldr r3, [r7, #4] + 8009e3a: 681a ldr r2, [r3, #0] + 8009e3c: 89fb ldrh r3, [r7, #14] + 8009e3e: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8009e42: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8009e46: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8009e4a: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8009e4e: b29b uxth r3, r3 + 8009e50: 8013 strh r3, [r2, #0] /* SETUP bit kept frozen while CTR_RX = 1 */ PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0); - 800989a: 687b ldr r3, [r7, #4] - 800989c: 681b ldr r3, [r3, #0] - 800989e: 881b ldrh r3, [r3, #0] - 80098a0: b29a uxth r2, r3 - 80098a2: f640 738f movw r3, #3983 @ 0xf8f - 80098a6: 4013 ands r3, r2 - 80098a8: 81bb strh r3, [r7, #12] - 80098aa: 687b ldr r3, [r7, #4] - 80098ac: 681b ldr r3, [r3, #0] - 80098ae: 89ba ldrh r2, [r7, #12] - 80098b0: f042 0280 orr.w r2, r2, #128 @ 0x80 - 80098b4: b292 uxth r2, r2 - 80098b6: 801a strh r2, [r3, #0] + 8009e52: 687b ldr r3, [r7, #4] + 8009e54: 681b ldr r3, [r3, #0] + 8009e56: 881b ldrh r3, [r3, #0] + 8009e58: b29a uxth r2, r3 + 8009e5a: f640 738f movw r3, #3983 @ 0xf8f + 8009e5e: 4013 ands r3, r2 + 8009e60: 81bb strh r3, [r7, #12] + 8009e62: 687b ldr r3, [r7, #4] + 8009e64: 681b ldr r3, [r3, #0] + 8009e66: 89ba ldrh r2, [r7, #12] + 8009e68: f042 0280 orr.w r2, r2, #128 @ 0x80 + 8009e6c: b292 uxth r2, r2 + 8009e6e: 801a strh r2, [r3, #0] return HAL_OK; - 80098b8: 2300 movs r3, #0 - 80098ba: e2af b.n 8009e1c + 8009e70: 2300 movs r3, #0 + 8009e72: e2af b.n 800a3d4 } USB_ReadPMA(hpcd->Instance, (uint8_t *)hpcd->Setup, - 80098bc: 687b ldr r3, [r7, #4] - 80098be: 6818 ldr r0, [r3, #0] - 80098c0: 687b ldr r3, [r7, #4] - 80098c2: f503 7126 add.w r1, r3, #664 @ 0x298 - 80098c6: 6cbb ldr r3, [r7, #72] @ 0x48 - 80098c8: 88da ldrh r2, [r3, #6] + 8009e74: 687b ldr r3, [r7, #4] + 8009e76: 6818 ldr r0, [r3, #0] + 8009e78: 687b ldr r3, [r7, #4] + 8009e7a: f503 7126 add.w r1, r3, #664 @ 0x298 + 8009e7e: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009e80: 88da ldrh r2, [r3, #6] ep->pmaadress, (uint16_t)ep->xfer_count); - 80098ca: 6cbb ldr r3, [r7, #72] @ 0x48 - 80098cc: 69db ldr r3, [r3, #28] + 8009e82: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009e84: 69db ldr r3, [r3, #28] USB_ReadPMA(hpcd->Instance, (uint8_t *)hpcd->Setup, - 80098ce: b29b uxth r3, r3 - 80098d0: f006 fdc8 bl 8010464 + 8009e86: b29b uxth r3, r3 + 8009e88: f006 ffea bl 8010e60 /* SETUP bit kept frozen while CTR_RX = 1 */ PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0); - 80098d4: 687b ldr r3, [r7, #4] - 80098d6: 681b ldr r3, [r3, #0] - 80098d8: 881b ldrh r3, [r3, #0] - 80098da: b29a uxth r2, r3 - 80098dc: f640 738f movw r3, #3983 @ 0xf8f - 80098e0: 4013 ands r3, r2 - 80098e2: 827b strh r3, [r7, #18] - 80098e4: 687b ldr r3, [r7, #4] - 80098e6: 681b ldr r3, [r3, #0] - 80098e8: 8a7a ldrh r2, [r7, #18] - 80098ea: f042 0280 orr.w r2, r2, #128 @ 0x80 - 80098ee: b292 uxth r2, r2 - 80098f0: 801a strh r2, [r3, #0] + 8009e8c: 687b ldr r3, [r7, #4] + 8009e8e: 681b ldr r3, [r3, #0] + 8009e90: 881b ldrh r3, [r3, #0] + 8009e92: b29a uxth r2, r3 + 8009e94: f640 738f movw r3, #3983 @ 0xf8f + 8009e98: 4013 ands r3, r2 + 8009e9a: 827b strh r3, [r7, #18] + 8009e9c: 687b ldr r3, [r7, #4] + 8009e9e: 681b ldr r3, [r3, #0] + 8009ea0: 8a7a ldrh r2, [r7, #18] + 8009ea2: f042 0280 orr.w r2, r2, #128 @ 0x80 + 8009ea6: b292 uxth r2, r2 + 8009ea8: 801a strh r2, [r3, #0] /* Process SETUP Packet*/ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SetupStageCallback(hpcd); #else HAL_PCD_SetupStageCallback(hpcd); - 80098f2: 6878 ldr r0, [r7, #4] - 80098f4: f00e fd6e bl 80183d4 - 80098f8: e286 b.n 8009e08 + 8009eaa: 6878 ldr r0, [r7, #4] + 8009eac: f00e ff7a bl 8018da4 + 8009eb0: e286 b.n 800a3c0 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } else if ((wEPVal & USB_EP_CTR_RX) != 0U) - 80098fa: f9b7 303e ldrsh.w r3, [r7, #62] @ 0x3e - 80098fe: 2b00 cmp r3, #0 - 8009900: f280 8282 bge.w 8009e08 + 8009eb2: f9b7 303e ldrsh.w r3, [r7, #62] @ 0x3e + 8009eb6: 2b00 cmp r3, #0 + 8009eb8: f280 8282 bge.w 800a3c0 { PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0); - 8009904: 687b ldr r3, [r7, #4] - 8009906: 681b ldr r3, [r3, #0] - 8009908: 881b ldrh r3, [r3, #0] - 800990a: b29a uxth r2, r3 - 800990c: f640 738f movw r3, #3983 @ 0xf8f - 8009910: 4013 ands r3, r2 - 8009912: 82fb strh r3, [r7, #22] - 8009914: 687b ldr r3, [r7, #4] - 8009916: 681b ldr r3, [r3, #0] - 8009918: 8afa ldrh r2, [r7, #22] - 800991a: f042 0280 orr.w r2, r2, #128 @ 0x80 - 800991e: b292 uxth r2, r2 - 8009920: 801a strh r2, [r3, #0] + 8009ebc: 687b ldr r3, [r7, #4] + 8009ebe: 681b ldr r3, [r3, #0] + 8009ec0: 881b ldrh r3, [r3, #0] + 8009ec2: b29a uxth r2, r3 + 8009ec4: f640 738f movw r3, #3983 @ 0xf8f + 8009ec8: 4013 ands r3, r2 + 8009eca: 82fb strh r3, [r7, #22] + 8009ecc: 687b ldr r3, [r7, #4] + 8009ece: 681b ldr r3, [r3, #0] + 8009ed0: 8afa ldrh r2, [r7, #22] + 8009ed2: f042 0280 orr.w r2, r2, #128 @ 0x80 + 8009ed6: b292 uxth r2, r2 + 8009ed8: 801a strh r2, [r3, #0] /* Get Control Data OUT Packet */ ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); - 8009922: 687b ldr r3, [r7, #4] - 8009924: 681b ldr r3, [r3, #0] - 8009926: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800992a: b29b uxth r3, r3 - 800992c: 461a mov r2, r3 - 800992e: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009930: 781b ldrb r3, [r3, #0] - 8009932: 00db lsls r3, r3, #3 - 8009934: 4413 add r3, r2 - 8009936: 687a ldr r2, [r7, #4] - 8009938: 6812 ldr r2, [r2, #0] - 800993a: 4413 add r3, r2 - 800993c: f203 4306 addw r3, r3, #1030 @ 0x406 - 8009940: 881b ldrh r3, [r3, #0] - 8009942: f3c3 0209 ubfx r2, r3, #0, #10 - 8009946: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009948: 61da str r2, [r3, #28] + 8009eda: 687b ldr r3, [r7, #4] + 8009edc: 681b ldr r3, [r3, #0] + 8009ede: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8009ee2: b29b uxth r3, r3 + 8009ee4: 461a mov r2, r3 + 8009ee6: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009ee8: 781b ldrb r3, [r3, #0] + 8009eea: 00db lsls r3, r3, #3 + 8009eec: 4413 add r3, r2 + 8009eee: 687a ldr r2, [r7, #4] + 8009ef0: 6812 ldr r2, [r2, #0] + 8009ef2: 4413 add r3, r2 + 8009ef4: f203 4306 addw r3, r3, #1030 @ 0x406 + 8009ef8: 881b ldrh r3, [r3, #0] + 8009efa: f3c3 0209 ubfx r2, r3, #0, #10 + 8009efe: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f00: 61da str r2, [r3, #28] if (ep->xfer_count == 0U) - 800994a: 6cbb ldr r3, [r7, #72] @ 0x48 - 800994c: 69db ldr r3, [r3, #28] - 800994e: 2b00 cmp r3, #0 - 8009950: d11e bne.n 8009990 + 8009f02: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f04: 69db ldr r3, [r3, #28] + 8009f06: 2b00 cmp r3, #0 + 8009f08: d11e bne.n 8009f48 { /* Status phase re-arm for next setup */ PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); - 8009952: 687b ldr r3, [r7, #4] - 8009954: 681b ldr r3, [r3, #0] - 8009956: 881b ldrh r3, [r3, #0] - 8009958: b29b uxth r3, r3 - 800995a: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800995e: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8009962: 82bb strh r3, [r7, #20] - 8009964: 8abb ldrh r3, [r7, #20] - 8009966: f483 5380 eor.w r3, r3, #4096 @ 0x1000 - 800996a: 82bb strh r3, [r7, #20] - 800996c: 8abb ldrh r3, [r7, #20] - 800996e: f483 5300 eor.w r3, r3, #8192 @ 0x2000 - 8009972: 82bb strh r3, [r7, #20] - 8009974: 687b ldr r3, [r7, #4] - 8009976: 681a ldr r2, [r3, #0] - 8009978: 8abb ldrh r3, [r7, #20] - 800997a: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800997e: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 8009982: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8009986: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800998a: b29b uxth r3, r3 - 800998c: 8013 strh r3, [r2, #0] - 800998e: e23b b.n 8009e08 + 8009f0a: 687b ldr r3, [r7, #4] + 8009f0c: 681b ldr r3, [r3, #0] + 8009f0e: 881b ldrh r3, [r3, #0] + 8009f10: b29b uxth r3, r3 + 8009f12: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 8009f16: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8009f1a: 82bb strh r3, [r7, #20] + 8009f1c: 8abb ldrh r3, [r7, #20] + 8009f1e: f483 5380 eor.w r3, r3, #4096 @ 0x1000 + 8009f22: 82bb strh r3, [r7, #20] + 8009f24: 8abb ldrh r3, [r7, #20] + 8009f26: f483 5300 eor.w r3, r3, #8192 @ 0x2000 + 8009f2a: 82bb strh r3, [r7, #20] + 8009f2c: 687b ldr r3, [r7, #4] + 8009f2e: 681a ldr r2, [r3, #0] + 8009f30: 8abb ldrh r3, [r7, #20] + 8009f32: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8009f36: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8009f3a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8009f3e: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8009f42: b29b uxth r3, r3 + 8009f44: 8013 strh r3, [r2, #0] + 8009f46: e23b b.n 800a3c0 } else { if (ep->xfer_buff != 0U) - 8009990: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009992: 695b ldr r3, [r3, #20] - 8009994: 2b00 cmp r3, #0 - 8009996: f000 8237 beq.w 8009e08 + 8009f48: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f4a: 695b ldr r3, [r3, #20] + 8009f4c: 2b00 cmp r3, #0 + 8009f4e: f000 8237 beq.w 800a3c0 { USB_ReadPMA(hpcd->Instance, ep->xfer_buff, - 800999a: 687b ldr r3, [r7, #4] - 800999c: 6818 ldr r0, [r3, #0] - 800999e: 6cbb ldr r3, [r7, #72] @ 0x48 - 80099a0: 6959 ldr r1, [r3, #20] - 80099a2: 6cbb ldr r3, [r7, #72] @ 0x48 - 80099a4: 88da ldrh r2, [r3, #6] + 8009f52: 687b ldr r3, [r7, #4] + 8009f54: 6818 ldr r0, [r3, #0] + 8009f56: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f58: 6959 ldr r1, [r3, #20] + 8009f5a: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f5c: 88da ldrh r2, [r3, #6] ep->pmaadress, (uint16_t)ep->xfer_count); /* max 64bytes */ - 80099a6: 6cbb ldr r3, [r7, #72] @ 0x48 - 80099a8: 69db ldr r3, [r3, #28] + 8009f5e: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f60: 69db ldr r3, [r3, #28] USB_ReadPMA(hpcd->Instance, ep->xfer_buff, - 80099aa: b29b uxth r3, r3 - 80099ac: f006 fd5a bl 8010464 + 8009f62: b29b uxth r3, r3 + 8009f64: f006 ff7c bl 8010e60 ep->xfer_buff += ep->xfer_count; - 80099b0: 6cbb ldr r3, [r7, #72] @ 0x48 - 80099b2: 695a ldr r2, [r3, #20] - 80099b4: 6cbb ldr r3, [r7, #72] @ 0x48 - 80099b6: 69db ldr r3, [r3, #28] - 80099b8: 441a add r2, r3 - 80099ba: 6cbb ldr r3, [r7, #72] @ 0x48 - 80099bc: 615a str r2, [r3, #20] + 8009f68: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f6a: 695a ldr r2, [r3, #20] + 8009f6c: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f6e: 69db ldr r3, [r3, #28] + 8009f70: 441a add r2, r3 + 8009f72: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009f74: 615a str r2, [r3, #20] /* Process Control Data OUT Packet */ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, 0U); #else HAL_PCD_DataOutStageCallback(hpcd, 0U); - 80099be: 2100 movs r1, #0 - 80099c0: 6878 ldr r0, [r7, #4] - 80099c2: f00e fd19 bl 80183f8 - 80099c6: e21f b.n 8009e08 + 8009f76: 2100 movs r1, #0 + 8009f78: 6878 ldr r0, [r7, #4] + 8009f7a: f00e ff25 bl 8018dc8 + 8009f7e: e21f b.n 800a3c0 } else { /* Decode and service non control endpoints interrupt */ /* process related endpoint register */ wEPVal = PCD_GET_ENDPOINT(hpcd->Instance, epindex); - 80099c8: 687b ldr r3, [r7, #4] - 80099ca: 681b ldr r3, [r3, #0] - 80099cc: 461a mov r2, r3 - 80099ce: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 - 80099d2: 009b lsls r3, r3, #2 - 80099d4: 4413 add r3, r2 - 80099d6: 881b ldrh r3, [r3, #0] - 80099d8: 87fb strh r3, [r7, #62] @ 0x3e + 8009f80: 687b ldr r3, [r7, #4] + 8009f82: 681b ldr r3, [r3, #0] + 8009f84: 461a mov r2, r3 + 8009f86: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 + 8009f8a: 009b lsls r3, r3, #2 + 8009f8c: 4413 add r3, r2 + 8009f8e: 881b ldrh r3, [r3, #0] + 8009f90: 87fb strh r3, [r7, #62] @ 0x3e if ((wEPVal & USB_EP_CTR_RX) != 0U) - 80099da: f9b7 303e ldrsh.w r3, [r7, #62] @ 0x3e - 80099de: 2b00 cmp r3, #0 - 80099e0: f280 80f5 bge.w 8009bce + 8009f92: f9b7 303e ldrsh.w r3, [r7, #62] @ 0x3e + 8009f96: 2b00 cmp r3, #0 + 8009f98: f280 80f5 bge.w 800a186 { /* clear int flag */ PCD_CLEAR_RX_EP_CTR(hpcd->Instance, epindex); - 80099e4: 687b ldr r3, [r7, #4] - 80099e6: 681b ldr r3, [r3, #0] - 80099e8: 461a mov r2, r3 - 80099ea: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 - 80099ee: 009b lsls r3, r3, #2 - 80099f0: 4413 add r3, r2 - 80099f2: 881b ldrh r3, [r3, #0] - 80099f4: b29a uxth r2, r3 - 80099f6: f640 738f movw r3, #3983 @ 0xf8f - 80099fa: 4013 ands r3, r2 - 80099fc: f8a7 3046 strh.w r3, [r7, #70] @ 0x46 - 8009a00: 687b ldr r3, [r7, #4] - 8009a02: 681b ldr r3, [r3, #0] - 8009a04: 461a mov r2, r3 - 8009a06: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 - 8009a0a: 009b lsls r3, r3, #2 - 8009a0c: 4413 add r3, r2 - 8009a0e: f8b7 2046 ldrh.w r2, [r7, #70] @ 0x46 - 8009a12: f042 0280 orr.w r2, r2, #128 @ 0x80 - 8009a16: b292 uxth r2, r2 - 8009a18: 801a strh r2, [r3, #0] + 8009f9c: 687b ldr r3, [r7, #4] + 8009f9e: 681b ldr r3, [r3, #0] + 8009fa0: 461a mov r2, r3 + 8009fa2: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 + 8009fa6: 009b lsls r3, r3, #2 + 8009fa8: 4413 add r3, r2 + 8009faa: 881b ldrh r3, [r3, #0] + 8009fac: b29a uxth r2, r3 + 8009fae: f640 738f movw r3, #3983 @ 0xf8f + 8009fb2: 4013 ands r3, r2 + 8009fb4: f8a7 3046 strh.w r3, [r7, #70] @ 0x46 + 8009fb8: 687b ldr r3, [r7, #4] + 8009fba: 681b ldr r3, [r3, #0] + 8009fbc: 461a mov r2, r3 + 8009fbe: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 + 8009fc2: 009b lsls r3, r3, #2 + 8009fc4: 4413 add r3, r2 + 8009fc6: f8b7 2046 ldrh.w r2, [r7, #70] @ 0x46 + 8009fca: f042 0280 orr.w r2, r2, #128 @ 0x80 + 8009fce: b292 uxth r2, r2 + 8009fd0: 801a strh r2, [r3, #0] ep = &hpcd->OUT_ep[epindex]; - 8009a1a: f897 2041 ldrb.w r2, [r7, #65] @ 0x41 - 8009a1e: 4613 mov r3, r2 - 8009a20: 009b lsls r3, r3, #2 - 8009a22: 4413 add r3, r2 - 8009a24: 00db lsls r3, r3, #3 - 8009a26: f503 73a8 add.w r3, r3, #336 @ 0x150 - 8009a2a: 687a ldr r2, [r7, #4] - 8009a2c: 4413 add r3, r2 - 8009a2e: 64bb str r3, [r7, #72] @ 0x48 + 8009fd2: f897 2041 ldrb.w r2, [r7, #65] @ 0x41 + 8009fd6: 4613 mov r3, r2 + 8009fd8: 009b lsls r3, r3, #2 + 8009fda: 4413 add r3, r2 + 8009fdc: 00db lsls r3, r3, #3 + 8009fde: f503 73a8 add.w r3, r3, #336 @ 0x150 + 8009fe2: 687a ldr r2, [r7, #4] + 8009fe4: 4413 add r3, r2 + 8009fe6: 64bb str r3, [r7, #72] @ 0x48 /* OUT Single Buffering */ if (ep->doublebuffer == 0U) - 8009a30: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009a32: 7b1b ldrb r3, [r3, #12] - 8009a34: 2b00 cmp r3, #0 - 8009a36: d123 bne.n 8009a80 + 8009fe8: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009fea: 7b1b ldrb r3, [r3, #12] + 8009fec: 2b00 cmp r3, #0 + 8009fee: d123 bne.n 800a038 { count = (uint16_t)PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); - 8009a38: 687b ldr r3, [r7, #4] - 8009a3a: 681b ldr r3, [r3, #0] - 8009a3c: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009a40: b29b uxth r3, r3 - 8009a42: 461a mov r2, r3 - 8009a44: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009a46: 781b ldrb r3, [r3, #0] - 8009a48: 00db lsls r3, r3, #3 - 8009a4a: 4413 add r3, r2 - 8009a4c: 687a ldr r2, [r7, #4] - 8009a4e: 6812 ldr r2, [r2, #0] - 8009a50: 4413 add r3, r2 - 8009a52: f203 4306 addw r3, r3, #1030 @ 0x406 - 8009a56: 881b ldrh r3, [r3, #0] - 8009a58: f3c3 0309 ubfx r3, r3, #0, #10 - 8009a5c: f8a7 304e strh.w r3, [r7, #78] @ 0x4e + 8009ff0: 687b ldr r3, [r7, #4] + 8009ff2: 681b ldr r3, [r3, #0] + 8009ff4: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8009ff8: b29b uxth r3, r3 + 8009ffa: 461a mov r2, r3 + 8009ffc: 6cbb ldr r3, [r7, #72] @ 0x48 + 8009ffe: 781b ldrb r3, [r3, #0] + 800a000: 00db lsls r3, r3, #3 + 800a002: 4413 add r3, r2 + 800a004: 687a ldr r2, [r7, #4] + 800a006: 6812 ldr r2, [r2, #0] + 800a008: 4413 add r3, r2 + 800a00a: f203 4306 addw r3, r3, #1030 @ 0x406 + 800a00e: 881b ldrh r3, [r3, #0] + 800a010: f3c3 0309 ubfx r3, r3, #0, #10 + 800a014: f8a7 304e strh.w r3, [r7, #78] @ 0x4e if (count != 0U) - 8009a60: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 8009a64: 2b00 cmp r3, #0 - 8009a66: f000 808d beq.w 8009b84 + 800a018: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a01c: 2b00 cmp r3, #0 + 800a01e: f000 808d beq.w 800a13c { USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, count); - 8009a6a: 687b ldr r3, [r7, #4] - 8009a6c: 6818 ldr r0, [r3, #0] - 8009a6e: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009a70: 6959 ldr r1, [r3, #20] - 8009a72: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009a74: 88da ldrh r2, [r3, #6] - 8009a76: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 8009a7a: f006 fcf3 bl 8010464 - 8009a7e: e081 b.n 8009b84 + 800a022: 687b ldr r3, [r7, #4] + 800a024: 6818 ldr r0, [r3, #0] + 800a026: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a028: 6959 ldr r1, [r3, #20] + 800a02a: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a02c: 88da ldrh r2, [r3, #6] + 800a02e: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a032: f006 ff15 bl 8010e60 + 800a036: e081 b.n 800a13c } #if (USE_USB_DOUBLE_BUFFER == 1U) else { /* manage double buffer bulk out */ if (ep->type == EP_TYPE_BULK) - 8009a80: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009a82: 78db ldrb r3, [r3, #3] - 8009a84: 2b02 cmp r3, #2 - 8009a86: d109 bne.n 8009a9c + 800a038: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a03a: 78db ldrb r3, [r3, #3] + 800a03c: 2b02 cmp r3, #2 + 800a03e: d109 bne.n 800a054 { count = HAL_PCD_EP_DB_Receive(hpcd, ep, wEPVal); - 8009a88: 8ffb ldrh r3, [r7, #62] @ 0x3e - 8009a8a: 461a mov r2, r3 - 8009a8c: 6cb9 ldr r1, [r7, #72] @ 0x48 - 8009a8e: 6878 ldr r0, [r7, #4] - 8009a90: f000 f9c8 bl 8009e24 - 8009a94: 4603 mov r3, r0 - 8009a96: f8a7 304e strh.w r3, [r7, #78] @ 0x4e - 8009a9a: e073 b.n 8009b84 + 800a040: 8ffb ldrh r3, [r7, #62] @ 0x3e + 800a042: 461a mov r2, r3 + 800a044: 6cb9 ldr r1, [r7, #72] @ 0x48 + 800a046: 6878 ldr r0, [r7, #4] + 800a048: f000 f9c8 bl 800a3dc + 800a04c: 4603 mov r3, r0 + 800a04e: f8a7 304e strh.w r3, [r7, #78] @ 0x4e + 800a052: e073 b.n 800a13c } else /* manage double buffer iso out */ { /* free EP OUT Buffer */ PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); - 8009a9c: 687b ldr r3, [r7, #4] - 8009a9e: 681b ldr r3, [r3, #0] - 8009aa0: 461a mov r2, r3 - 8009aa2: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009aa4: 781b ldrb r3, [r3, #0] - 8009aa6: 009b lsls r3, r3, #2 - 8009aa8: 4413 add r3, r2 - 8009aaa: 881b ldrh r3, [r3, #0] - 8009aac: b29b uxth r3, r3 - 8009aae: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 8009ab2: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8009ab6: f8a7 3044 strh.w r3, [r7, #68] @ 0x44 - 8009aba: 687b ldr r3, [r7, #4] - 8009abc: 681b ldr r3, [r3, #0] - 8009abe: 461a mov r2, r3 - 8009ac0: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009ac2: 781b ldrb r3, [r3, #0] - 8009ac4: 009b lsls r3, r3, #2 - 8009ac6: 441a add r2, r3 - 8009ac8: f8b7 3044 ldrh.w r3, [r7, #68] @ 0x44 - 8009acc: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8009ad0: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 8009ad4: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8009ad8: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 8009adc: b29b uxth r3, r3 - 8009ade: 8013 strh r3, [r2, #0] + 800a054: 687b ldr r3, [r7, #4] + 800a056: 681b ldr r3, [r3, #0] + 800a058: 461a mov r2, r3 + 800a05a: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a05c: 781b ldrb r3, [r3, #0] + 800a05e: 009b lsls r3, r3, #2 + 800a060: 4413 add r3, r2 + 800a062: 881b ldrh r3, [r3, #0] + 800a064: b29b uxth r3, r3 + 800a066: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800a06a: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800a06e: f8a7 3044 strh.w r3, [r7, #68] @ 0x44 + 800a072: 687b ldr r3, [r7, #4] + 800a074: 681b ldr r3, [r3, #0] + 800a076: 461a mov r2, r3 + 800a078: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a07a: 781b ldrb r3, [r3, #0] + 800a07c: 009b lsls r3, r3, #2 + 800a07e: 441a add r2, r3 + 800a080: f8b7 3044 ldrh.w r3, [r7, #68] @ 0x44 + 800a084: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800a088: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800a08c: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800a090: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800a094: b29b uxth r3, r3 + 800a096: 8013 strh r3, [r2, #0] if ((PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_RX) != 0U) - 8009ae0: 687b ldr r3, [r7, #4] - 8009ae2: 681b ldr r3, [r3, #0] - 8009ae4: 461a mov r2, r3 - 8009ae6: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009ae8: 781b ldrb r3, [r3, #0] - 8009aea: 009b lsls r3, r3, #2 - 8009aec: 4413 add r3, r2 - 8009aee: 881b ldrh r3, [r3, #0] - 8009af0: b29b uxth r3, r3 - 8009af2: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 8009af6: 2b00 cmp r3, #0 - 8009af8: d022 beq.n 8009b40 + 800a098: 687b ldr r3, [r7, #4] + 800a09a: 681b ldr r3, [r3, #0] + 800a09c: 461a mov r2, r3 + 800a09e: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a0a0: 781b ldrb r3, [r3, #0] + 800a0a2: 009b lsls r3, r3, #2 + 800a0a4: 4413 add r3, r2 + 800a0a6: 881b ldrh r3, [r3, #0] + 800a0a8: b29b uxth r3, r3 + 800a0aa: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800a0ae: 2b00 cmp r3, #0 + 800a0b0: d022 beq.n 800a0f8 { /* read from endpoint BUF0Addr buffer */ count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); - 8009afa: 687b ldr r3, [r7, #4] - 8009afc: 681b ldr r3, [r3, #0] - 8009afe: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009b02: b29b uxth r3, r3 - 8009b04: 461a mov r2, r3 - 8009b06: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b08: 781b ldrb r3, [r3, #0] - 8009b0a: 00db lsls r3, r3, #3 - 8009b0c: 4413 add r3, r2 - 8009b0e: 687a ldr r2, [r7, #4] - 8009b10: 6812 ldr r2, [r2, #0] - 8009b12: 4413 add r3, r2 - 8009b14: f203 4302 addw r3, r3, #1026 @ 0x402 - 8009b18: 881b ldrh r3, [r3, #0] - 8009b1a: f3c3 0309 ubfx r3, r3, #0, #10 - 8009b1e: f8a7 304e strh.w r3, [r7, #78] @ 0x4e + 800a0b2: 687b ldr r3, [r7, #4] + 800a0b4: 681b ldr r3, [r3, #0] + 800a0b6: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a0ba: b29b uxth r3, r3 + 800a0bc: 461a mov r2, r3 + 800a0be: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a0c0: 781b ldrb r3, [r3, #0] + 800a0c2: 00db lsls r3, r3, #3 + 800a0c4: 4413 add r3, r2 + 800a0c6: 687a ldr r2, [r7, #4] + 800a0c8: 6812 ldr r2, [r2, #0] + 800a0ca: 4413 add r3, r2 + 800a0cc: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a0d0: 881b ldrh r3, [r3, #0] + 800a0d2: f3c3 0309 ubfx r3, r3, #0, #10 + 800a0d6: f8a7 304e strh.w r3, [r7, #78] @ 0x4e if (count != 0U) - 8009b22: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 8009b26: 2b00 cmp r3, #0 - 8009b28: d02c beq.n 8009b84 + 800a0da: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a0de: 2b00 cmp r3, #0 + 800a0e0: d02c beq.n 800a13c { USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); - 8009b2a: 687b ldr r3, [r7, #4] - 8009b2c: 6818 ldr r0, [r3, #0] - 8009b2e: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b30: 6959 ldr r1, [r3, #20] - 8009b32: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b34: 891a ldrh r2, [r3, #8] - 8009b36: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 8009b3a: f006 fc93 bl 8010464 - 8009b3e: e021 b.n 8009b84 + 800a0e2: 687b ldr r3, [r7, #4] + 800a0e4: 6818 ldr r0, [r3, #0] + 800a0e6: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a0e8: 6959 ldr r1, [r3, #20] + 800a0ea: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a0ec: 891a ldrh r2, [r3, #8] + 800a0ee: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a0f2: f006 feb5 bl 8010e60 + 800a0f6: e021 b.n 800a13c } } else { /* read from endpoint BUF1Addr buffer */ count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); - 8009b40: 687b ldr r3, [r7, #4] - 8009b42: 681b ldr r3, [r3, #0] - 8009b44: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009b48: b29b uxth r3, r3 - 8009b4a: 461a mov r2, r3 - 8009b4c: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b4e: 781b ldrb r3, [r3, #0] - 8009b50: 00db lsls r3, r3, #3 - 8009b52: 4413 add r3, r2 - 8009b54: 687a ldr r2, [r7, #4] - 8009b56: 6812 ldr r2, [r2, #0] - 8009b58: 4413 add r3, r2 - 8009b5a: f203 4306 addw r3, r3, #1030 @ 0x406 - 8009b5e: 881b ldrh r3, [r3, #0] - 8009b60: f3c3 0309 ubfx r3, r3, #0, #10 - 8009b64: f8a7 304e strh.w r3, [r7, #78] @ 0x4e + 800a0f8: 687b ldr r3, [r7, #4] + 800a0fa: 681b ldr r3, [r3, #0] + 800a0fc: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a100: b29b uxth r3, r3 + 800a102: 461a mov r2, r3 + 800a104: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a106: 781b ldrb r3, [r3, #0] + 800a108: 00db lsls r3, r3, #3 + 800a10a: 4413 add r3, r2 + 800a10c: 687a ldr r2, [r7, #4] + 800a10e: 6812 ldr r2, [r2, #0] + 800a110: 4413 add r3, r2 + 800a112: f203 4306 addw r3, r3, #1030 @ 0x406 + 800a116: 881b ldrh r3, [r3, #0] + 800a118: f3c3 0309 ubfx r3, r3, #0, #10 + 800a11c: f8a7 304e strh.w r3, [r7, #78] @ 0x4e if (count != 0U) - 8009b68: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 8009b6c: 2b00 cmp r3, #0 - 8009b6e: d009 beq.n 8009b84 + 800a120: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a124: 2b00 cmp r3, #0 + 800a126: d009 beq.n 800a13c { USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); - 8009b70: 687b ldr r3, [r7, #4] - 8009b72: 6818 ldr r0, [r3, #0] - 8009b74: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b76: 6959 ldr r1, [r3, #20] - 8009b78: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b7a: 895a ldrh r2, [r3, #10] - 8009b7c: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 8009b80: f006 fc70 bl 8010464 + 800a128: 687b ldr r3, [r7, #4] + 800a12a: 6818 ldr r0, [r3, #0] + 800a12c: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a12e: 6959 ldr r1, [r3, #20] + 800a130: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a132: 895a ldrh r2, [r3, #10] + 800a134: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a138: f006 fe92 bl 8010e60 } } #endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ /* multi-packet on the NON control OUT endpoint */ ep->xfer_count += count; - 8009b84: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b86: 69da ldr r2, [r3, #28] - 8009b88: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 8009b8c: 441a add r2, r3 - 8009b8e: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b90: 61da str r2, [r3, #28] + 800a13c: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a13e: 69da ldr r2, [r3, #28] + 800a140: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a144: 441a add r2, r3 + 800a146: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a148: 61da str r2, [r3, #28] if ((ep->xfer_len == 0U) || (count < ep->maxpacket)) - 8009b92: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009b94: 699b ldr r3, [r3, #24] - 8009b96: 2b00 cmp r3, #0 - 8009b98: d005 beq.n 8009ba6 - 8009b9a: f8b7 204e ldrh.w r2, [r7, #78] @ 0x4e - 8009b9e: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009ba0: 691b ldr r3, [r3, #16] - 8009ba2: 429a cmp r2, r3 - 8009ba4: d206 bcs.n 8009bb4 + 800a14a: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a14c: 699b ldr r3, [r3, #24] + 800a14e: 2b00 cmp r3, #0 + 800a150: d005 beq.n 800a15e + 800a152: f8b7 204e ldrh.w r2, [r7, #78] @ 0x4e + 800a156: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a158: 691b ldr r3, [r3, #16] + 800a15a: 429a cmp r2, r3 + 800a15c: d206 bcs.n 800a16c { /* RX COMPLETE */ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, ep->num); #else HAL_PCD_DataOutStageCallback(hpcd, ep->num); - 8009ba6: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009ba8: 781b ldrb r3, [r3, #0] - 8009baa: 4619 mov r1, r3 - 8009bac: 6878 ldr r0, [r7, #4] - 8009bae: f00e fc23 bl 80183f8 - 8009bb2: e00c b.n 8009bce + 800a15e: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a160: 781b ldrb r3, [r3, #0] + 800a162: 4619 mov r1, r3 + 800a164: 6878 ldr r0, [r7, #4] + 800a166: f00e fe2f bl 8018dc8 + 800a16a: e00c b.n 800a186 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } else { ep->xfer_buff += count; - 8009bb4: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009bb6: 695a ldr r2, [r3, #20] - 8009bb8: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 8009bbc: 441a add r2, r3 - 8009bbe: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009bc0: 615a str r2, [r3, #20] + 800a16c: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a16e: 695a ldr r2, [r3, #20] + 800a170: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a174: 441a add r2, r3 + 800a176: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a178: 615a str r2, [r3, #20] (void)USB_EPStartXfer(hpcd->Instance, ep); - 8009bc2: 687b ldr r3, [r7, #4] - 8009bc4: 681b ldr r3, [r3, #0] - 8009bc6: 6cb9 ldr r1, [r7, #72] @ 0x48 - 8009bc8: 4618 mov r0, r3 - 8009bca: f005 fd24 bl 800f616 + 800a17a: 687b ldr r3, [r7, #4] + 800a17c: 681b ldr r3, [r3, #0] + 800a17e: 6cb9 ldr r1, [r7, #72] @ 0x48 + 800a180: 4618 mov r0, r3 + 800a182: f005 ff46 bl 8010012 } } if ((wEPVal & USB_EP_CTR_TX) != 0U) - 8009bce: 8ffb ldrh r3, [r7, #62] @ 0x3e - 8009bd0: f003 0380 and.w r3, r3, #128 @ 0x80 - 8009bd4: 2b00 cmp r3, #0 - 8009bd6: f000 8117 beq.w 8009e08 + 800a186: 8ffb ldrh r3, [r7, #62] @ 0x3e + 800a188: f003 0380 and.w r3, r3, #128 @ 0x80 + 800a18c: 2b00 cmp r3, #0 + 800a18e: f000 8117 beq.w 800a3c0 { ep = &hpcd->IN_ep[epindex]; - 8009bda: f897 2041 ldrb.w r2, [r7, #65] @ 0x41 - 8009bde: 4613 mov r3, r2 - 8009be0: 009b lsls r3, r3, #2 - 8009be2: 4413 add r3, r2 - 8009be4: 00db lsls r3, r3, #3 - 8009be6: 3310 adds r3, #16 - 8009be8: 687a ldr r2, [r7, #4] - 8009bea: 4413 add r3, r2 - 8009bec: 64bb str r3, [r7, #72] @ 0x48 + 800a192: f897 2041 ldrb.w r2, [r7, #65] @ 0x41 + 800a196: 4613 mov r3, r2 + 800a198: 009b lsls r3, r3, #2 + 800a19a: 4413 add r3, r2 + 800a19c: 00db lsls r3, r3, #3 + 800a19e: 3310 adds r3, #16 + 800a1a0: 687a ldr r2, [r7, #4] + 800a1a2: 4413 add r3, r2 + 800a1a4: 64bb str r3, [r7, #72] @ 0x48 /* clear int flag */ PCD_CLEAR_TX_EP_CTR(hpcd->Instance, epindex); - 8009bee: 687b ldr r3, [r7, #4] - 8009bf0: 681b ldr r3, [r3, #0] - 8009bf2: 461a mov r2, r3 - 8009bf4: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 - 8009bf8: 009b lsls r3, r3, #2 - 8009bfa: 4413 add r3, r2 - 8009bfc: 881b ldrh r3, [r3, #0] - 8009bfe: b29b uxth r3, r3 - 8009c00: f423 43e1 bic.w r3, r3, #28800 @ 0x7080 - 8009c04: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8009c08: 87bb strh r3, [r7, #60] @ 0x3c - 8009c0a: 687b ldr r3, [r7, #4] - 8009c0c: 681b ldr r3, [r3, #0] - 8009c0e: 461a mov r2, r3 - 8009c10: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 - 8009c14: 009b lsls r3, r3, #2 - 8009c16: 441a add r2, r3 - 8009c18: 8fbb ldrh r3, [r7, #60] @ 0x3c - 8009c1a: ea6f 4343 mvn.w r3, r3, lsl #17 - 8009c1e: ea6f 4353 mvn.w r3, r3, lsr #17 - 8009c22: b29b uxth r3, r3 - 8009c24: 8013 strh r3, [r2, #0] + 800a1a6: 687b ldr r3, [r7, #4] + 800a1a8: 681b ldr r3, [r3, #0] + 800a1aa: 461a mov r2, r3 + 800a1ac: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 + 800a1b0: 009b lsls r3, r3, #2 + 800a1b2: 4413 add r3, r2 + 800a1b4: 881b ldrh r3, [r3, #0] + 800a1b6: b29b uxth r3, r3 + 800a1b8: f423 43e1 bic.w r3, r3, #28800 @ 0x7080 + 800a1bc: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800a1c0: 87bb strh r3, [r7, #60] @ 0x3c + 800a1c2: 687b ldr r3, [r7, #4] + 800a1c4: 681b ldr r3, [r3, #0] + 800a1c6: 461a mov r2, r3 + 800a1c8: f897 3041 ldrb.w r3, [r7, #65] @ 0x41 + 800a1cc: 009b lsls r3, r3, #2 + 800a1ce: 441a add r2, r3 + 800a1d0: 8fbb ldrh r3, [r7, #60] @ 0x3c + 800a1d2: ea6f 4343 mvn.w r3, r3, lsl #17 + 800a1d6: ea6f 4353 mvn.w r3, r3, lsr #17 + 800a1da: b29b uxth r3, r3 + 800a1dc: 8013 strh r3, [r2, #0] if (ep->type == EP_TYPE_ISOC) - 8009c26: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009c28: 78db ldrb r3, [r3, #3] - 8009c2a: 2b01 cmp r3, #1 - 8009c2c: f040 80a1 bne.w 8009d72 + 800a1de: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a1e0: 78db ldrb r3, [r3, #3] + 800a1e2: 2b01 cmp r3, #1 + 800a1e4: f040 80a1 bne.w 800a32a { ep->xfer_len = 0U; - 8009c30: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009c32: 2200 movs r2, #0 - 8009c34: 619a str r2, [r3, #24] + 800a1e8: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a1ea: 2200 movs r2, #0 + 800a1ec: 619a str r2, [r3, #24] #if (USE_USB_DOUBLE_BUFFER == 1U) if (ep->doublebuffer != 0U) - 8009c36: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009c38: 7b1b ldrb r3, [r3, #12] - 8009c3a: 2b00 cmp r3, #0 - 8009c3c: f000 8092 beq.w 8009d64 + 800a1ee: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a1f0: 7b1b ldrb r3, [r3, #12] + 800a1f2: 2b00 cmp r3, #0 + 800a1f4: f000 8092 beq.w 800a31c { if ((wEPVal & USB_EP_DTOG_TX) != 0U) - 8009c40: 8ffb ldrh r3, [r7, #62] @ 0x3e - 8009c42: f003 0340 and.w r3, r3, #64 @ 0x40 - 8009c46: 2b00 cmp r3, #0 - 8009c48: d046 beq.n 8009cd8 + 800a1f8: 8ffb ldrh r3, [r7, #62] @ 0x3e + 800a1fa: f003 0340 and.w r3, r3, #64 @ 0x40 + 800a1fe: 2b00 cmp r3, #0 + 800a200: d046 beq.n 800a290 { PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); - 8009c4a: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009c4c: 785b ldrb r3, [r3, #1] - 8009c4e: 2b00 cmp r3, #0 - 8009c50: d126 bne.n 8009ca0 - 8009c52: 687b ldr r3, [r7, #4] - 8009c54: 681b ldr r3, [r3, #0] - 8009c56: 61fb str r3, [r7, #28] - 8009c58: 687b ldr r3, [r7, #4] - 8009c5a: 681b ldr r3, [r3, #0] - 8009c5c: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009c60: b29b uxth r3, r3 - 8009c62: 461a mov r2, r3 - 8009c64: 69fb ldr r3, [r7, #28] - 8009c66: 4413 add r3, r2 - 8009c68: 61fb str r3, [r7, #28] - 8009c6a: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009c6c: 781b ldrb r3, [r3, #0] - 8009c6e: 00da lsls r2, r3, #3 - 8009c70: 69fb ldr r3, [r7, #28] - 8009c72: 4413 add r3, r2 - 8009c74: f203 4302 addw r3, r3, #1026 @ 0x402 - 8009c78: 61bb str r3, [r7, #24] - 8009c7a: 69bb ldr r3, [r7, #24] - 8009c7c: 881b ldrh r3, [r3, #0] - 8009c7e: b29b uxth r3, r3 - 8009c80: f3c3 0309 ubfx r3, r3, #0, #10 - 8009c84: b29a uxth r2, r3 - 8009c86: 69bb ldr r3, [r7, #24] - 8009c88: 801a strh r2, [r3, #0] - 8009c8a: 69bb ldr r3, [r7, #24] - 8009c8c: 881b ldrh r3, [r3, #0] - 8009c8e: b29b uxth r3, r3 - 8009c90: ea6f 4343 mvn.w r3, r3, lsl #17 - 8009c94: ea6f 4353 mvn.w r3, r3, lsr #17 - 8009c98: b29a uxth r2, r3 - 8009c9a: 69bb ldr r3, [r7, #24] - 8009c9c: 801a strh r2, [r3, #0] - 8009c9e: e061 b.n 8009d64 - 8009ca0: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009ca2: 785b ldrb r3, [r3, #1] - 8009ca4: 2b01 cmp r3, #1 - 8009ca6: d15d bne.n 8009d64 - 8009ca8: 687b ldr r3, [r7, #4] - 8009caa: 681b ldr r3, [r3, #0] - 8009cac: 627b str r3, [r7, #36] @ 0x24 - 8009cae: 687b ldr r3, [r7, #4] - 8009cb0: 681b ldr r3, [r3, #0] - 8009cb2: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009cb6: b29b uxth r3, r3 - 8009cb8: 461a mov r2, r3 - 8009cba: 6a7b ldr r3, [r7, #36] @ 0x24 - 8009cbc: 4413 add r3, r2 - 8009cbe: 627b str r3, [r7, #36] @ 0x24 - 8009cc0: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009cc2: 781b ldrb r3, [r3, #0] - 8009cc4: 00da lsls r2, r3, #3 - 8009cc6: 6a7b ldr r3, [r7, #36] @ 0x24 - 8009cc8: 4413 add r3, r2 - 8009cca: f203 4302 addw r3, r3, #1026 @ 0x402 - 8009cce: 623b str r3, [r7, #32] - 8009cd0: 6a3b ldr r3, [r7, #32] - 8009cd2: 2200 movs r2, #0 - 8009cd4: 801a strh r2, [r3, #0] - 8009cd6: e045 b.n 8009d64 + 800a202: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a204: 785b ldrb r3, [r3, #1] + 800a206: 2b00 cmp r3, #0 + 800a208: d126 bne.n 800a258 + 800a20a: 687b ldr r3, [r7, #4] + 800a20c: 681b ldr r3, [r3, #0] + 800a20e: 61fb str r3, [r7, #28] + 800a210: 687b ldr r3, [r7, #4] + 800a212: 681b ldr r3, [r3, #0] + 800a214: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a218: b29b uxth r3, r3 + 800a21a: 461a mov r2, r3 + 800a21c: 69fb ldr r3, [r7, #28] + 800a21e: 4413 add r3, r2 + 800a220: 61fb str r3, [r7, #28] + 800a222: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a224: 781b ldrb r3, [r3, #0] + 800a226: 00da lsls r2, r3, #3 + 800a228: 69fb ldr r3, [r7, #28] + 800a22a: 4413 add r3, r2 + 800a22c: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a230: 61bb str r3, [r7, #24] + 800a232: 69bb ldr r3, [r7, #24] + 800a234: 881b ldrh r3, [r3, #0] + 800a236: b29b uxth r3, r3 + 800a238: f3c3 0309 ubfx r3, r3, #0, #10 + 800a23c: b29a uxth r2, r3 + 800a23e: 69bb ldr r3, [r7, #24] + 800a240: 801a strh r2, [r3, #0] + 800a242: 69bb ldr r3, [r7, #24] + 800a244: 881b ldrh r3, [r3, #0] + 800a246: b29b uxth r3, r3 + 800a248: ea6f 4343 mvn.w r3, r3, lsl #17 + 800a24c: ea6f 4353 mvn.w r3, r3, lsr #17 + 800a250: b29a uxth r2, r3 + 800a252: 69bb ldr r3, [r7, #24] + 800a254: 801a strh r2, [r3, #0] + 800a256: e061 b.n 800a31c + 800a258: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a25a: 785b ldrb r3, [r3, #1] + 800a25c: 2b01 cmp r3, #1 + 800a25e: d15d bne.n 800a31c + 800a260: 687b ldr r3, [r7, #4] + 800a262: 681b ldr r3, [r3, #0] + 800a264: 627b str r3, [r7, #36] @ 0x24 + 800a266: 687b ldr r3, [r7, #4] + 800a268: 681b ldr r3, [r3, #0] + 800a26a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a26e: b29b uxth r3, r3 + 800a270: 461a mov r2, r3 + 800a272: 6a7b ldr r3, [r7, #36] @ 0x24 + 800a274: 4413 add r3, r2 + 800a276: 627b str r3, [r7, #36] @ 0x24 + 800a278: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a27a: 781b ldrb r3, [r3, #0] + 800a27c: 00da lsls r2, r3, #3 + 800a27e: 6a7b ldr r3, [r7, #36] @ 0x24 + 800a280: 4413 add r3, r2 + 800a282: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a286: 623b str r3, [r7, #32] + 800a288: 6a3b ldr r3, [r7, #32] + 800a28a: 2200 movs r2, #0 + 800a28c: 801a strh r2, [r3, #0] + 800a28e: e045 b.n 800a31c } else { PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); - 8009cd8: 687b ldr r3, [r7, #4] - 8009cda: 681b ldr r3, [r3, #0] - 8009cdc: 637b str r3, [r7, #52] @ 0x34 - 8009cde: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009ce0: 785b ldrb r3, [r3, #1] - 8009ce2: 2b00 cmp r3, #0 - 8009ce4: d126 bne.n 8009d34 - 8009ce6: 687b ldr r3, [r7, #4] - 8009ce8: 681b ldr r3, [r3, #0] - 8009cea: 62fb str r3, [r7, #44] @ 0x2c - 8009cec: 687b ldr r3, [r7, #4] - 8009cee: 681b ldr r3, [r3, #0] - 8009cf0: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009cf4: b29b uxth r3, r3 - 8009cf6: 461a mov r2, r3 - 8009cf8: 6afb ldr r3, [r7, #44] @ 0x2c - 8009cfa: 4413 add r3, r2 - 8009cfc: 62fb str r3, [r7, #44] @ 0x2c - 8009cfe: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009d00: 781b ldrb r3, [r3, #0] - 8009d02: 00da lsls r2, r3, #3 - 8009d04: 6afb ldr r3, [r7, #44] @ 0x2c - 8009d06: 4413 add r3, r2 - 8009d08: f203 4306 addw r3, r3, #1030 @ 0x406 - 8009d0c: 62bb str r3, [r7, #40] @ 0x28 - 8009d0e: 6abb ldr r3, [r7, #40] @ 0x28 - 8009d10: 881b ldrh r3, [r3, #0] - 8009d12: b29b uxth r3, r3 - 8009d14: f3c3 0309 ubfx r3, r3, #0, #10 - 8009d18: b29a uxth r2, r3 - 8009d1a: 6abb ldr r3, [r7, #40] @ 0x28 - 8009d1c: 801a strh r2, [r3, #0] - 8009d1e: 6abb ldr r3, [r7, #40] @ 0x28 - 8009d20: 881b ldrh r3, [r3, #0] - 8009d22: b29b uxth r3, r3 - 8009d24: ea6f 4343 mvn.w r3, r3, lsl #17 - 8009d28: ea6f 4353 mvn.w r3, r3, lsr #17 - 8009d2c: b29a uxth r2, r3 - 8009d2e: 6abb ldr r3, [r7, #40] @ 0x28 - 8009d30: 801a strh r2, [r3, #0] - 8009d32: e017 b.n 8009d64 - 8009d34: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009d36: 785b ldrb r3, [r3, #1] - 8009d38: 2b01 cmp r3, #1 - 8009d3a: d113 bne.n 8009d64 - 8009d3c: 687b ldr r3, [r7, #4] - 8009d3e: 681b ldr r3, [r3, #0] - 8009d40: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009d44: b29b uxth r3, r3 - 8009d46: 461a mov r2, r3 - 8009d48: 6b7b ldr r3, [r7, #52] @ 0x34 - 8009d4a: 4413 add r3, r2 - 8009d4c: 637b str r3, [r7, #52] @ 0x34 - 8009d4e: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009d50: 781b ldrb r3, [r3, #0] - 8009d52: 00da lsls r2, r3, #3 - 8009d54: 6b7b ldr r3, [r7, #52] @ 0x34 - 8009d56: 4413 add r3, r2 - 8009d58: f203 4306 addw r3, r3, #1030 @ 0x406 - 8009d5c: 633b str r3, [r7, #48] @ 0x30 - 8009d5e: 6b3b ldr r3, [r7, #48] @ 0x30 - 8009d60: 2200 movs r2, #0 - 8009d62: 801a strh r2, [r3, #0] + 800a290: 687b ldr r3, [r7, #4] + 800a292: 681b ldr r3, [r3, #0] + 800a294: 637b str r3, [r7, #52] @ 0x34 + 800a296: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a298: 785b ldrb r3, [r3, #1] + 800a29a: 2b00 cmp r3, #0 + 800a29c: d126 bne.n 800a2ec + 800a29e: 687b ldr r3, [r7, #4] + 800a2a0: 681b ldr r3, [r3, #0] + 800a2a2: 62fb str r3, [r7, #44] @ 0x2c + 800a2a4: 687b ldr r3, [r7, #4] + 800a2a6: 681b ldr r3, [r3, #0] + 800a2a8: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a2ac: b29b uxth r3, r3 + 800a2ae: 461a mov r2, r3 + 800a2b0: 6afb ldr r3, [r7, #44] @ 0x2c + 800a2b2: 4413 add r3, r2 + 800a2b4: 62fb str r3, [r7, #44] @ 0x2c + 800a2b6: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a2b8: 781b ldrb r3, [r3, #0] + 800a2ba: 00da lsls r2, r3, #3 + 800a2bc: 6afb ldr r3, [r7, #44] @ 0x2c + 800a2be: 4413 add r3, r2 + 800a2c0: f203 4306 addw r3, r3, #1030 @ 0x406 + 800a2c4: 62bb str r3, [r7, #40] @ 0x28 + 800a2c6: 6abb ldr r3, [r7, #40] @ 0x28 + 800a2c8: 881b ldrh r3, [r3, #0] + 800a2ca: b29b uxth r3, r3 + 800a2cc: f3c3 0309 ubfx r3, r3, #0, #10 + 800a2d0: b29a uxth r2, r3 + 800a2d2: 6abb ldr r3, [r7, #40] @ 0x28 + 800a2d4: 801a strh r2, [r3, #0] + 800a2d6: 6abb ldr r3, [r7, #40] @ 0x28 + 800a2d8: 881b ldrh r3, [r3, #0] + 800a2da: b29b uxth r3, r3 + 800a2dc: ea6f 4343 mvn.w r3, r3, lsl #17 + 800a2e0: ea6f 4353 mvn.w r3, r3, lsr #17 + 800a2e4: b29a uxth r2, r3 + 800a2e6: 6abb ldr r3, [r7, #40] @ 0x28 + 800a2e8: 801a strh r2, [r3, #0] + 800a2ea: e017 b.n 800a31c + 800a2ec: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a2ee: 785b ldrb r3, [r3, #1] + 800a2f0: 2b01 cmp r3, #1 + 800a2f2: d113 bne.n 800a31c + 800a2f4: 687b ldr r3, [r7, #4] + 800a2f6: 681b ldr r3, [r3, #0] + 800a2f8: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a2fc: b29b uxth r3, r3 + 800a2fe: 461a mov r2, r3 + 800a300: 6b7b ldr r3, [r7, #52] @ 0x34 + 800a302: 4413 add r3, r2 + 800a304: 637b str r3, [r7, #52] @ 0x34 + 800a306: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a308: 781b ldrb r3, [r3, #0] + 800a30a: 00da lsls r2, r3, #3 + 800a30c: 6b7b ldr r3, [r7, #52] @ 0x34 + 800a30e: 4413 add r3, r2 + 800a310: f203 4306 addw r3, r3, #1030 @ 0x406 + 800a314: 633b str r3, [r7, #48] @ 0x30 + 800a316: 6b3b ldr r3, [r7, #48] @ 0x30 + 800a318: 2200 movs r2, #0 + 800a31a: 801a strh r2, [r3, #0] /* TX COMPLETE */ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, ep->num); #else HAL_PCD_DataInStageCallback(hpcd, ep->num); - 8009d64: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009d66: 781b ldrb r3, [r3, #0] - 8009d68: 4619 mov r1, r3 - 8009d6a: 6878 ldr r0, [r7, #4] - 8009d6c: f00e fb5f bl 801842e - 8009d70: e04a b.n 8009e08 + 800a31c: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a31e: 781b ldrb r3, [r3, #0] + 800a320: 4619 mov r1, r3 + 800a322: 6878 ldr r0, [r7, #4] + 800a324: f00e fd6b bl 8018dfe + 800a328: e04a b.n 800a3c0 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } else { /* Manage Single Buffer Transaction */ if ((wEPVal & USB_EP_KIND) == 0U) - 8009d72: 8ffb ldrh r3, [r7, #62] @ 0x3e - 8009d74: f403 7380 and.w r3, r3, #256 @ 0x100 - 8009d78: 2b00 cmp r3, #0 - 8009d7a: d13f bne.n 8009dfc + 800a32a: 8ffb ldrh r3, [r7, #62] @ 0x3e + 800a32c: f403 7380 and.w r3, r3, #256 @ 0x100 + 800a330: 2b00 cmp r3, #0 + 800a332: d13f bne.n 800a3b4 { /* Multi-packet on the NON control IN endpoint */ TxPctSize = (uint16_t)PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); - 8009d7c: 687b ldr r3, [r7, #4] - 8009d7e: 681b ldr r3, [r3, #0] - 8009d80: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009d84: b29b uxth r3, r3 - 8009d86: 461a mov r2, r3 - 8009d88: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009d8a: 781b ldrb r3, [r3, #0] - 8009d8c: 00db lsls r3, r3, #3 - 8009d8e: 4413 add r3, r2 - 8009d90: 687a ldr r2, [r7, #4] - 8009d92: 6812 ldr r2, [r2, #0] - 8009d94: 4413 add r3, r2 - 8009d96: f203 4302 addw r3, r3, #1026 @ 0x402 - 8009d9a: 881b ldrh r3, [r3, #0] - 8009d9c: f3c3 0309 ubfx r3, r3, #0, #10 - 8009da0: 877b strh r3, [r7, #58] @ 0x3a + 800a334: 687b ldr r3, [r7, #4] + 800a336: 681b ldr r3, [r3, #0] + 800a338: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a33c: b29b uxth r3, r3 + 800a33e: 461a mov r2, r3 + 800a340: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a342: 781b ldrb r3, [r3, #0] + 800a344: 00db lsls r3, r3, #3 + 800a346: 4413 add r3, r2 + 800a348: 687a ldr r2, [r7, #4] + 800a34a: 6812 ldr r2, [r2, #0] + 800a34c: 4413 add r3, r2 + 800a34e: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a352: 881b ldrh r3, [r3, #0] + 800a354: f3c3 0309 ubfx r3, r3, #0, #10 + 800a358: 877b strh r3, [r7, #58] @ 0x3a if (ep->xfer_len > TxPctSize) - 8009da2: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009da4: 699a ldr r2, [r3, #24] - 8009da6: 8f7b ldrh r3, [r7, #58] @ 0x3a - 8009da8: 429a cmp r2, r3 - 8009daa: d906 bls.n 8009dba + 800a35a: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a35c: 699a ldr r2, [r3, #24] + 800a35e: 8f7b ldrh r3, [r7, #58] @ 0x3a + 800a360: 429a cmp r2, r3 + 800a362: d906 bls.n 800a372 { ep->xfer_len -= TxPctSize; - 8009dac: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009dae: 699a ldr r2, [r3, #24] - 8009db0: 8f7b ldrh r3, [r7, #58] @ 0x3a - 8009db2: 1ad2 subs r2, r2, r3 - 8009db4: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009db6: 619a str r2, [r3, #24] - 8009db8: e002 b.n 8009dc0 + 800a364: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a366: 699a ldr r2, [r3, #24] + 800a368: 8f7b ldrh r3, [r7, #58] @ 0x3a + 800a36a: 1ad2 subs r2, r2, r3 + 800a36c: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a36e: 619a str r2, [r3, #24] + 800a370: e002 b.n 800a378 } else { ep->xfer_len = 0U; - 8009dba: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009dbc: 2200 movs r2, #0 - 8009dbe: 619a str r2, [r3, #24] + 800a372: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a374: 2200 movs r2, #0 + 800a376: 619a str r2, [r3, #24] } /* Zero Length Packet? */ if (ep->xfer_len == 0U) - 8009dc0: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009dc2: 699b ldr r3, [r3, #24] - 8009dc4: 2b00 cmp r3, #0 - 8009dc6: d106 bne.n 8009dd6 + 800a378: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a37a: 699b ldr r3, [r3, #24] + 800a37c: 2b00 cmp r3, #0 + 800a37e: d106 bne.n 800a38e { /* TX COMPLETE */ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, ep->num); #else HAL_PCD_DataInStageCallback(hpcd, ep->num); - 8009dc8: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009dca: 781b ldrb r3, [r3, #0] - 8009dcc: 4619 mov r1, r3 - 8009dce: 6878 ldr r0, [r7, #4] - 8009dd0: f00e fb2d bl 801842e - 8009dd4: e018 b.n 8009e08 + 800a380: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a382: 781b ldrb r3, [r3, #0] + 800a384: 4619 mov r1, r3 + 800a386: 6878 ldr r0, [r7, #4] + 800a388: f00e fd39 bl 8018dfe + 800a38c: e018 b.n 800a3c0 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } else { /* Transfer is not yet Done */ ep->xfer_buff += TxPctSize; - 8009dd6: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009dd8: 695a ldr r2, [r3, #20] - 8009dda: 8f7b ldrh r3, [r7, #58] @ 0x3a - 8009ddc: 441a add r2, r3 - 8009dde: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009de0: 615a str r2, [r3, #20] + 800a38e: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a390: 695a ldr r2, [r3, #20] + 800a392: 8f7b ldrh r3, [r7, #58] @ 0x3a + 800a394: 441a add r2, r3 + 800a396: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a398: 615a str r2, [r3, #20] ep->xfer_count += TxPctSize; - 8009de2: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009de4: 69da ldr r2, [r3, #28] - 8009de6: 8f7b ldrh r3, [r7, #58] @ 0x3a - 8009de8: 441a add r2, r3 - 8009dea: 6cbb ldr r3, [r7, #72] @ 0x48 - 8009dec: 61da str r2, [r3, #28] + 800a39a: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a39c: 69da ldr r2, [r3, #28] + 800a39e: 8f7b ldrh r3, [r7, #58] @ 0x3a + 800a3a0: 441a add r2, r3 + 800a3a2: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a3a4: 61da str r2, [r3, #28] (void)USB_EPStartXfer(hpcd->Instance, ep); - 8009dee: 687b ldr r3, [r7, #4] - 8009df0: 681b ldr r3, [r3, #0] - 8009df2: 6cb9 ldr r1, [r7, #72] @ 0x48 - 8009df4: 4618 mov r0, r3 - 8009df6: f005 fc0e bl 800f616 - 8009dfa: e005 b.n 8009e08 + 800a3a6: 687b ldr r3, [r7, #4] + 800a3a8: 681b ldr r3, [r3, #0] + 800a3aa: 6cb9 ldr r1, [r7, #72] @ 0x48 + 800a3ac: 4618 mov r0, r3 + 800a3ae: f005 fe30 bl 8010012 + 800a3b2: e005 b.n 800a3c0 } #if (USE_USB_DOUBLE_BUFFER == 1U) /* Double Buffer bulk IN (bulk transfer Len > Ep_Mps) */ else { (void)HAL_PCD_EP_DB_Transmit(hpcd, ep, wEPVal); - 8009dfc: 8ffb ldrh r3, [r7, #62] @ 0x3e - 8009dfe: 461a mov r2, r3 - 8009e00: 6cb9 ldr r1, [r7, #72] @ 0x48 - 8009e02: 6878 ldr r0, [r7, #4] - 8009e04: f000 f917 bl 800a036 + 800a3b4: 8ffb ldrh r3, [r7, #62] @ 0x3e + 800a3b6: 461a mov r2, r3 + 800a3b8: 6cb9 ldr r1, [r7, #72] @ 0x48 + 800a3ba: 6878 ldr r0, [r7, #4] + 800a3bc: f000 f917 bl 800a5ee while ((hpcd->Instance->ISTR & USB_ISTR_CTR) != 0U) - 8009e08: 687b ldr r3, [r7, #4] - 8009e0a: 681b ldr r3, [r3, #0] - 8009e0c: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 8009e10: b29b uxth r3, r3 - 8009e12: b21b sxth r3, r3 - 8009e14: 2b00 cmp r3, #0 - 8009e16: f6ff ac82 blt.w 800971e + 800a3c0: 687b ldr r3, [r7, #4] + 800a3c2: 681b ldr r3, [r3, #0] + 800a3c4: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 800a3c8: b29b uxth r3, r3 + 800a3ca: b21b sxth r3, r3 + 800a3cc: 2b00 cmp r3, #0 + 800a3ce: f6ff ac82 blt.w 8009cd6 } } } } return HAL_OK; - 8009e1a: 2300 movs r3, #0 + 800a3d2: 2300 movs r3, #0 } - 8009e1c: 4618 mov r0, r3 - 8009e1e: 3750 adds r7, #80 @ 0x50 - 8009e20: 46bd mov sp, r7 - 8009e22: bd80 pop {r7, pc} + 800a3d4: 4618 mov r0, r3 + 800a3d6: 3750 adds r7, #80 @ 0x50 + 800a3d8: 46bd mov sp, r7 + 800a3da: bd80 pop {r7, pc} -08009e24 : +0800a3dc : * @param wEPVal Last snapshot of EPRx register value taken in ISR * @retval HAL status */ static uint16_t HAL_PCD_EP_DB_Receive(PCD_HandleTypeDef *hpcd, PCD_EPTypeDef *ep, uint16_t wEPVal) { - 8009e24: b580 push {r7, lr} - 8009e26: b088 sub sp, #32 - 8009e28: af00 add r7, sp, #0 - 8009e2a: 60f8 str r0, [r7, #12] - 8009e2c: 60b9 str r1, [r7, #8] - 8009e2e: 4613 mov r3, r2 - 8009e30: 80fb strh r3, [r7, #6] + 800a3dc: b580 push {r7, lr} + 800a3de: b088 sub sp, #32 + 800a3e0: af00 add r7, sp, #0 + 800a3e2: 60f8 str r0, [r7, #12] + 800a3e4: 60b9 str r1, [r7, #8] + 800a3e6: 4613 mov r3, r2 + 800a3e8: 80fb strh r3, [r7, #6] uint16_t count; /* Manage Buffer0 OUT */ if ((wEPVal & USB_EP_DTOG_RX) != 0U) - 8009e32: 88fb ldrh r3, [r7, #6] - 8009e34: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 8009e38: 2b00 cmp r3, #0 - 8009e3a: d07c beq.n 8009f36 + 800a3ea: 88fb ldrh r3, [r7, #6] + 800a3ec: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800a3f0: 2b00 cmp r3, #0 + 800a3f2: d07c beq.n 800a4ee { /* Get count of received Data on buffer0 */ count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); - 8009e3c: 68fb ldr r3, [r7, #12] - 8009e3e: 681b ldr r3, [r3, #0] - 8009e40: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009e44: b29b uxth r3, r3 - 8009e46: 461a mov r2, r3 - 8009e48: 68bb ldr r3, [r7, #8] - 8009e4a: 781b ldrb r3, [r3, #0] - 8009e4c: 00db lsls r3, r3, #3 - 8009e4e: 4413 add r3, r2 - 8009e50: 68fa ldr r2, [r7, #12] - 8009e52: 6812 ldr r2, [r2, #0] - 8009e54: 4413 add r3, r2 - 8009e56: f203 4302 addw r3, r3, #1026 @ 0x402 - 8009e5a: 881b ldrh r3, [r3, #0] - 8009e5c: f3c3 0309 ubfx r3, r3, #0, #10 - 8009e60: 837b strh r3, [r7, #26] + 800a3f4: 68fb ldr r3, [r7, #12] + 800a3f6: 681b ldr r3, [r3, #0] + 800a3f8: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a3fc: b29b uxth r3, r3 + 800a3fe: 461a mov r2, r3 + 800a400: 68bb ldr r3, [r7, #8] + 800a402: 781b ldrb r3, [r3, #0] + 800a404: 00db lsls r3, r3, #3 + 800a406: 4413 add r3, r2 + 800a408: 68fa ldr r2, [r7, #12] + 800a40a: 6812 ldr r2, [r2, #0] + 800a40c: 4413 add r3, r2 + 800a40e: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a412: 881b ldrh r3, [r3, #0] + 800a414: f3c3 0309 ubfx r3, r3, #0, #10 + 800a418: 837b strh r3, [r7, #26] if (ep->xfer_len >= count) - 8009e62: 68bb ldr r3, [r7, #8] - 8009e64: 699a ldr r2, [r3, #24] - 8009e66: 8b7b ldrh r3, [r7, #26] - 8009e68: 429a cmp r2, r3 - 8009e6a: d306 bcc.n 8009e7a + 800a41a: 68bb ldr r3, [r7, #8] + 800a41c: 699a ldr r2, [r3, #24] + 800a41e: 8b7b ldrh r3, [r7, #26] + 800a420: 429a cmp r2, r3 + 800a422: d306 bcc.n 800a432 { ep->xfer_len -= count; - 8009e6c: 68bb ldr r3, [r7, #8] - 8009e6e: 699a ldr r2, [r3, #24] - 8009e70: 8b7b ldrh r3, [r7, #26] - 8009e72: 1ad2 subs r2, r2, r3 - 8009e74: 68bb ldr r3, [r7, #8] - 8009e76: 619a str r2, [r3, #24] - 8009e78: e002 b.n 8009e80 + 800a424: 68bb ldr r3, [r7, #8] + 800a426: 699a ldr r2, [r3, #24] + 800a428: 8b7b ldrh r3, [r7, #26] + 800a42a: 1ad2 subs r2, r2, r3 + 800a42c: 68bb ldr r3, [r7, #8] + 800a42e: 619a str r2, [r3, #24] + 800a430: e002 b.n 800a438 } else { ep->xfer_len = 0U; - 8009e7a: 68bb ldr r3, [r7, #8] - 8009e7c: 2200 movs r2, #0 - 8009e7e: 619a str r2, [r3, #24] + 800a432: 68bb ldr r3, [r7, #8] + 800a434: 2200 movs r2, #0 + 800a436: 619a str r2, [r3, #24] } if (ep->xfer_len == 0U) - 8009e80: 68bb ldr r3, [r7, #8] - 8009e82: 699b ldr r3, [r3, #24] - 8009e84: 2b00 cmp r3, #0 - 8009e86: d123 bne.n 8009ed0 + 800a438: 68bb ldr r3, [r7, #8] + 800a43a: 699b ldr r3, [r3, #24] + 800a43c: 2b00 cmp r3, #0 + 800a43e: d123 bne.n 800a488 { /* Set NAK to OUT endpoint since double buffer is enabled */ PCD_SET_EP_RX_STATUS(hpcd->Instance, ep->num, USB_EP_RX_NAK); - 8009e88: 68fb ldr r3, [r7, #12] - 8009e8a: 681b ldr r3, [r3, #0] - 8009e8c: 461a mov r2, r3 - 8009e8e: 68bb ldr r3, [r7, #8] - 8009e90: 781b ldrb r3, [r3, #0] - 8009e92: 009b lsls r3, r3, #2 - 8009e94: 4413 add r3, r2 - 8009e96: 881b ldrh r3, [r3, #0] - 8009e98: b29b uxth r3, r3 - 8009e9a: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 8009e9e: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8009ea2: 833b strh r3, [r7, #24] - 8009ea4: 8b3b ldrh r3, [r7, #24] - 8009ea6: f483 5300 eor.w r3, r3, #8192 @ 0x2000 - 8009eaa: 833b strh r3, [r7, #24] - 8009eac: 68fb ldr r3, [r7, #12] - 8009eae: 681b ldr r3, [r3, #0] - 8009eb0: 461a mov r2, r3 - 8009eb2: 68bb ldr r3, [r7, #8] - 8009eb4: 781b ldrb r3, [r3, #0] - 8009eb6: 009b lsls r3, r3, #2 - 8009eb8: 441a add r2, r3 - 8009eba: 8b3b ldrh r3, [r7, #24] - 8009ebc: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8009ec0: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 8009ec4: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8009ec8: f043 0380 orr.w r3, r3, #128 @ 0x80 - 8009ecc: b29b uxth r3, r3 - 8009ece: 8013 strh r3, [r2, #0] + 800a440: 68fb ldr r3, [r7, #12] + 800a442: 681b ldr r3, [r3, #0] + 800a444: 461a mov r2, r3 + 800a446: 68bb ldr r3, [r7, #8] + 800a448: 781b ldrb r3, [r3, #0] + 800a44a: 009b lsls r3, r3, #2 + 800a44c: 4413 add r3, r2 + 800a44e: 881b ldrh r3, [r3, #0] + 800a450: b29b uxth r3, r3 + 800a452: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800a456: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800a45a: 833b strh r3, [r7, #24] + 800a45c: 8b3b ldrh r3, [r7, #24] + 800a45e: f483 5300 eor.w r3, r3, #8192 @ 0x2000 + 800a462: 833b strh r3, [r7, #24] + 800a464: 68fb ldr r3, [r7, #12] + 800a466: 681b ldr r3, [r3, #0] + 800a468: 461a mov r2, r3 + 800a46a: 68bb ldr r3, [r7, #8] + 800a46c: 781b ldrb r3, [r3, #0] + 800a46e: 009b lsls r3, r3, #2 + 800a470: 441a add r2, r3 + 800a472: 8b3b ldrh r3, [r7, #24] + 800a474: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800a478: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800a47c: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800a480: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800a484: b29b uxth r3, r3 + 800a486: 8013 strh r3, [r2, #0] } /* Check if Buffer1 is in blocked state which requires to toggle */ if ((wEPVal & USB_EP_DTOG_TX) != 0U) - 8009ed0: 88fb ldrh r3, [r7, #6] - 8009ed2: f003 0340 and.w r3, r3, #64 @ 0x40 - 8009ed6: 2b00 cmp r3, #0 - 8009ed8: d01f beq.n 8009f1a + 800a488: 88fb ldrh r3, [r7, #6] + 800a48a: f003 0340 and.w r3, r3, #64 @ 0x40 + 800a48e: 2b00 cmp r3, #0 + 800a490: d01f beq.n 800a4d2 { PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); - 8009eda: 68fb ldr r3, [r7, #12] - 8009edc: 681b ldr r3, [r3, #0] - 8009ede: 461a mov r2, r3 - 8009ee0: 68bb ldr r3, [r7, #8] - 8009ee2: 781b ldrb r3, [r3, #0] - 8009ee4: 009b lsls r3, r3, #2 - 8009ee6: 4413 add r3, r2 - 8009ee8: 881b ldrh r3, [r3, #0] - 8009eea: b29b uxth r3, r3 - 8009eec: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 8009ef0: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8009ef4: 82fb strh r3, [r7, #22] - 8009ef6: 68fb ldr r3, [r7, #12] - 8009ef8: 681b ldr r3, [r3, #0] - 8009efa: 461a mov r2, r3 - 8009efc: 68bb ldr r3, [r7, #8] - 8009efe: 781b ldrb r3, [r3, #0] - 8009f00: 009b lsls r3, r3, #2 - 8009f02: 441a add r2, r3 - 8009f04: 8afb ldrh r3, [r7, #22] - 8009f06: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8009f0a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 8009f0e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8009f12: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 8009f16: b29b uxth r3, r3 - 8009f18: 8013 strh r3, [r2, #0] + 800a492: 68fb ldr r3, [r7, #12] + 800a494: 681b ldr r3, [r3, #0] + 800a496: 461a mov r2, r3 + 800a498: 68bb ldr r3, [r7, #8] + 800a49a: 781b ldrb r3, [r3, #0] + 800a49c: 009b lsls r3, r3, #2 + 800a49e: 4413 add r3, r2 + 800a4a0: 881b ldrh r3, [r3, #0] + 800a4a2: b29b uxth r3, r3 + 800a4a4: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800a4a8: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800a4ac: 82fb strh r3, [r7, #22] + 800a4ae: 68fb ldr r3, [r7, #12] + 800a4b0: 681b ldr r3, [r3, #0] + 800a4b2: 461a mov r2, r3 + 800a4b4: 68bb ldr r3, [r7, #8] + 800a4b6: 781b ldrb r3, [r3, #0] + 800a4b8: 009b lsls r3, r3, #2 + 800a4ba: 441a add r2, r3 + 800a4bc: 8afb ldrh r3, [r7, #22] + 800a4be: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800a4c2: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800a4c6: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800a4ca: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800a4ce: b29b uxth r3, r3 + 800a4d0: 8013 strh r3, [r2, #0] } if (count != 0U) - 8009f1a: 8b7b ldrh r3, [r7, #26] - 8009f1c: 2b00 cmp r3, #0 - 8009f1e: f000 8085 beq.w 800a02c + 800a4d2: 8b7b ldrh r3, [r7, #26] + 800a4d4: 2b00 cmp r3, #0 + 800a4d6: f000 8085 beq.w 800a5e4 { USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); - 8009f22: 68fb ldr r3, [r7, #12] - 8009f24: 6818 ldr r0, [r3, #0] - 8009f26: 68bb ldr r3, [r7, #8] - 8009f28: 6959 ldr r1, [r3, #20] - 8009f2a: 68bb ldr r3, [r7, #8] - 8009f2c: 891a ldrh r2, [r3, #8] - 8009f2e: 8b7b ldrh r3, [r7, #26] - 8009f30: f006 fa98 bl 8010464 - 8009f34: e07a b.n 800a02c + 800a4da: 68fb ldr r3, [r7, #12] + 800a4dc: 6818 ldr r0, [r3, #0] + 800a4de: 68bb ldr r3, [r7, #8] + 800a4e0: 6959 ldr r1, [r3, #20] + 800a4e2: 68bb ldr r3, [r7, #8] + 800a4e4: 891a ldrh r2, [r3, #8] + 800a4e6: 8b7b ldrh r3, [r7, #26] + 800a4e8: f006 fcba bl 8010e60 + 800a4ec: e07a b.n 800a5e4 } /* Manage Buffer 1 DTOG_RX=0 */ else { /* Get count of received data */ count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); - 8009f36: 68fb ldr r3, [r7, #12] - 8009f38: 681b ldr r3, [r3, #0] - 8009f3a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 8009f3e: b29b uxth r3, r3 - 8009f40: 461a mov r2, r3 - 8009f42: 68bb ldr r3, [r7, #8] - 8009f44: 781b ldrb r3, [r3, #0] - 8009f46: 00db lsls r3, r3, #3 - 8009f48: 4413 add r3, r2 - 8009f4a: 68fa ldr r2, [r7, #12] - 8009f4c: 6812 ldr r2, [r2, #0] - 8009f4e: 4413 add r3, r2 - 8009f50: f203 4306 addw r3, r3, #1030 @ 0x406 - 8009f54: 881b ldrh r3, [r3, #0] - 8009f56: f3c3 0309 ubfx r3, r3, #0, #10 - 8009f5a: 837b strh r3, [r7, #26] + 800a4ee: 68fb ldr r3, [r7, #12] + 800a4f0: 681b ldr r3, [r3, #0] + 800a4f2: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a4f6: b29b uxth r3, r3 + 800a4f8: 461a mov r2, r3 + 800a4fa: 68bb ldr r3, [r7, #8] + 800a4fc: 781b ldrb r3, [r3, #0] + 800a4fe: 00db lsls r3, r3, #3 + 800a500: 4413 add r3, r2 + 800a502: 68fa ldr r2, [r7, #12] + 800a504: 6812 ldr r2, [r2, #0] + 800a506: 4413 add r3, r2 + 800a508: f203 4306 addw r3, r3, #1030 @ 0x406 + 800a50c: 881b ldrh r3, [r3, #0] + 800a50e: f3c3 0309 ubfx r3, r3, #0, #10 + 800a512: 837b strh r3, [r7, #26] if (ep->xfer_len >= count) - 8009f5c: 68bb ldr r3, [r7, #8] - 8009f5e: 699a ldr r2, [r3, #24] - 8009f60: 8b7b ldrh r3, [r7, #26] - 8009f62: 429a cmp r2, r3 - 8009f64: d306 bcc.n 8009f74 + 800a514: 68bb ldr r3, [r7, #8] + 800a516: 699a ldr r2, [r3, #24] + 800a518: 8b7b ldrh r3, [r7, #26] + 800a51a: 429a cmp r2, r3 + 800a51c: d306 bcc.n 800a52c { ep->xfer_len -= count; - 8009f66: 68bb ldr r3, [r7, #8] - 8009f68: 699a ldr r2, [r3, #24] - 8009f6a: 8b7b ldrh r3, [r7, #26] - 8009f6c: 1ad2 subs r2, r2, r3 - 8009f6e: 68bb ldr r3, [r7, #8] - 8009f70: 619a str r2, [r3, #24] - 8009f72: e002 b.n 8009f7a + 800a51e: 68bb ldr r3, [r7, #8] + 800a520: 699a ldr r2, [r3, #24] + 800a522: 8b7b ldrh r3, [r7, #26] + 800a524: 1ad2 subs r2, r2, r3 + 800a526: 68bb ldr r3, [r7, #8] + 800a528: 619a str r2, [r3, #24] + 800a52a: e002 b.n 800a532 } else { ep->xfer_len = 0U; - 8009f74: 68bb ldr r3, [r7, #8] - 8009f76: 2200 movs r2, #0 - 8009f78: 619a str r2, [r3, #24] + 800a52c: 68bb ldr r3, [r7, #8] + 800a52e: 2200 movs r2, #0 + 800a530: 619a str r2, [r3, #24] } if (ep->xfer_len == 0U) - 8009f7a: 68bb ldr r3, [r7, #8] - 8009f7c: 699b ldr r3, [r3, #24] - 8009f7e: 2b00 cmp r3, #0 - 8009f80: d123 bne.n 8009fca + 800a532: 68bb ldr r3, [r7, #8] + 800a534: 699b ldr r3, [r3, #24] + 800a536: 2b00 cmp r3, #0 + 800a538: d123 bne.n 800a582 { /* Set NAK on the current endpoint */ PCD_SET_EP_RX_STATUS(hpcd->Instance, ep->num, USB_EP_RX_NAK); - 8009f82: 68fb ldr r3, [r7, #12] - 8009f84: 681b ldr r3, [r3, #0] - 8009f86: 461a mov r2, r3 - 8009f88: 68bb ldr r3, [r7, #8] - 8009f8a: 781b ldrb r3, [r3, #0] - 8009f8c: 009b lsls r3, r3, #2 - 8009f8e: 4413 add r3, r2 - 8009f90: 881b ldrh r3, [r3, #0] - 8009f92: b29b uxth r3, r3 - 8009f94: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 8009f98: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8009f9c: 83fb strh r3, [r7, #30] - 8009f9e: 8bfb ldrh r3, [r7, #30] - 8009fa0: f483 5300 eor.w r3, r3, #8192 @ 0x2000 - 8009fa4: 83fb strh r3, [r7, #30] - 8009fa6: 68fb ldr r3, [r7, #12] - 8009fa8: 681b ldr r3, [r3, #0] - 8009faa: 461a mov r2, r3 - 8009fac: 68bb ldr r3, [r7, #8] - 8009fae: 781b ldrb r3, [r3, #0] - 8009fb0: 009b lsls r3, r3, #2 - 8009fb2: 441a add r2, r3 - 8009fb4: 8bfb ldrh r3, [r7, #30] - 8009fb6: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8009fba: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 8009fbe: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8009fc2: f043 0380 orr.w r3, r3, #128 @ 0x80 - 8009fc6: b29b uxth r3, r3 - 8009fc8: 8013 strh r3, [r2, #0] + 800a53a: 68fb ldr r3, [r7, #12] + 800a53c: 681b ldr r3, [r3, #0] + 800a53e: 461a mov r2, r3 + 800a540: 68bb ldr r3, [r7, #8] + 800a542: 781b ldrb r3, [r3, #0] + 800a544: 009b lsls r3, r3, #2 + 800a546: 4413 add r3, r2 + 800a548: 881b ldrh r3, [r3, #0] + 800a54a: b29b uxth r3, r3 + 800a54c: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800a550: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800a554: 83fb strh r3, [r7, #30] + 800a556: 8bfb ldrh r3, [r7, #30] + 800a558: f483 5300 eor.w r3, r3, #8192 @ 0x2000 + 800a55c: 83fb strh r3, [r7, #30] + 800a55e: 68fb ldr r3, [r7, #12] + 800a560: 681b ldr r3, [r3, #0] + 800a562: 461a mov r2, r3 + 800a564: 68bb ldr r3, [r7, #8] + 800a566: 781b ldrb r3, [r3, #0] + 800a568: 009b lsls r3, r3, #2 + 800a56a: 441a add r2, r3 + 800a56c: 8bfb ldrh r3, [r7, #30] + 800a56e: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800a572: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800a576: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800a57a: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800a57e: b29b uxth r3, r3 + 800a580: 8013 strh r3, [r2, #0] } /* Need to FreeUser Buffer */ if ((wEPVal & USB_EP_DTOG_TX) == 0U) - 8009fca: 88fb ldrh r3, [r7, #6] - 8009fcc: f003 0340 and.w r3, r3, #64 @ 0x40 - 8009fd0: 2b00 cmp r3, #0 - 8009fd2: d11f bne.n 800a014 + 800a582: 88fb ldrh r3, [r7, #6] + 800a584: f003 0340 and.w r3, r3, #64 @ 0x40 + 800a588: 2b00 cmp r3, #0 + 800a58a: d11f bne.n 800a5cc { PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 0U); - 8009fd4: 68fb ldr r3, [r7, #12] - 8009fd6: 681b ldr r3, [r3, #0] - 8009fd8: 461a mov r2, r3 - 8009fda: 68bb ldr r3, [r7, #8] - 8009fdc: 781b ldrb r3, [r3, #0] - 8009fde: 009b lsls r3, r3, #2 - 8009fe0: 4413 add r3, r2 - 8009fe2: 881b ldrh r3, [r3, #0] - 8009fe4: b29b uxth r3, r3 - 8009fe6: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 8009fea: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8009fee: 83bb strh r3, [r7, #28] - 8009ff0: 68fb ldr r3, [r7, #12] - 8009ff2: 681b ldr r3, [r3, #0] - 8009ff4: 461a mov r2, r3 - 8009ff6: 68bb ldr r3, [r7, #8] - 8009ff8: 781b ldrb r3, [r3, #0] - 8009ffa: 009b lsls r3, r3, #2 - 8009ffc: 441a add r2, r3 - 8009ffe: 8bbb ldrh r3, [r7, #28] - 800a000: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800a004: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800a008: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800a00c: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 800a010: b29b uxth r3, r3 - 800a012: 8013 strh r3, [r2, #0] + 800a58c: 68fb ldr r3, [r7, #12] + 800a58e: 681b ldr r3, [r3, #0] + 800a590: 461a mov r2, r3 + 800a592: 68bb ldr r3, [r7, #8] + 800a594: 781b ldrb r3, [r3, #0] + 800a596: 009b lsls r3, r3, #2 + 800a598: 4413 add r3, r2 + 800a59a: 881b ldrh r3, [r3, #0] + 800a59c: b29b uxth r3, r3 + 800a59e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800a5a2: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800a5a6: 83bb strh r3, [r7, #28] + 800a5a8: 68fb ldr r3, [r7, #12] + 800a5aa: 681b ldr r3, [r3, #0] + 800a5ac: 461a mov r2, r3 + 800a5ae: 68bb ldr r3, [r7, #8] + 800a5b0: 781b ldrb r3, [r3, #0] + 800a5b2: 009b lsls r3, r3, #2 + 800a5b4: 441a add r2, r3 + 800a5b6: 8bbb ldrh r3, [r7, #28] + 800a5b8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800a5bc: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800a5c0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800a5c4: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800a5c8: b29b uxth r3, r3 + 800a5ca: 8013 strh r3, [r2, #0] } if (count != 0U) - 800a014: 8b7b ldrh r3, [r7, #26] - 800a016: 2b00 cmp r3, #0 - 800a018: d008 beq.n 800a02c + 800a5cc: 8b7b ldrh r3, [r7, #26] + 800a5ce: 2b00 cmp r3, #0 + 800a5d0: d008 beq.n 800a5e4 { USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); - 800a01a: 68fb ldr r3, [r7, #12] - 800a01c: 6818 ldr r0, [r3, #0] - 800a01e: 68bb ldr r3, [r7, #8] - 800a020: 6959 ldr r1, [r3, #20] - 800a022: 68bb ldr r3, [r7, #8] - 800a024: 895a ldrh r2, [r3, #10] - 800a026: 8b7b ldrh r3, [r7, #26] - 800a028: f006 fa1c bl 8010464 + 800a5d2: 68fb ldr r3, [r7, #12] + 800a5d4: 6818 ldr r0, [r3, #0] + 800a5d6: 68bb ldr r3, [r7, #8] + 800a5d8: 6959 ldr r1, [r3, #20] + 800a5da: 68bb ldr r3, [r7, #8] + 800a5dc: 895a ldrh r2, [r3, #10] + 800a5de: 8b7b ldrh r3, [r7, #26] + 800a5e0: f006 fc3e bl 8010e60 } } return count; - 800a02c: 8b7b ldrh r3, [r7, #26] + 800a5e4: 8b7b ldrh r3, [r7, #26] } - 800a02e: 4618 mov r0, r3 - 800a030: 3720 adds r7, #32 - 800a032: 46bd mov sp, r7 - 800a034: bd80 pop {r7, pc} + 800a5e6: 4618 mov r0, r3 + 800a5e8: 3720 adds r7, #32 + 800a5ea: 46bd mov sp, r7 + 800a5ec: bd80 pop {r7, pc} -0800a036 : +0800a5ee : * @param wEPVal Last snapshot of EPRx register value taken in ISR * @retval HAL status */ static HAL_StatusTypeDef HAL_PCD_EP_DB_Transmit(PCD_HandleTypeDef *hpcd, PCD_EPTypeDef *ep, uint16_t wEPVal) { - 800a036: b580 push {r7, lr} - 800a038: b0a6 sub sp, #152 @ 0x98 - 800a03a: af00 add r7, sp, #0 - 800a03c: 60f8 str r0, [r7, #12] - 800a03e: 60b9 str r1, [r7, #8] - 800a040: 4613 mov r3, r2 - 800a042: 80fb strh r3, [r7, #6] + 800a5ee: b580 push {r7, lr} + 800a5f0: b0a6 sub sp, #152 @ 0x98 + 800a5f2: af00 add r7, sp, #0 + 800a5f4: 60f8 str r0, [r7, #12] + 800a5f6: 60b9 str r1, [r7, #8] + 800a5f8: 4613 mov r3, r2 + 800a5fa: 80fb strh r3, [r7, #6] uint32_t len; uint16_t TxPctSize; /* Data Buffer0 ACK received */ if ((wEPVal & USB_EP_DTOG_TX) != 0U) - 800a044: 88fb ldrh r3, [r7, #6] - 800a046: f003 0340 and.w r3, r3, #64 @ 0x40 - 800a04a: 2b00 cmp r3, #0 - 800a04c: f000 81f7 beq.w 800a43e + 800a5fc: 88fb ldrh r3, [r7, #6] + 800a5fe: f003 0340 and.w r3, r3, #64 @ 0x40 + 800a602: 2b00 cmp r3, #0 + 800a604: f000 81f7 beq.w 800a9f6 { /* multi-packet on the NON control IN endpoint */ TxPctSize = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); - 800a050: 68fb ldr r3, [r7, #12] - 800a052: 681b ldr r3, [r3, #0] - 800a054: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a058: b29b uxth r3, r3 - 800a05a: 461a mov r2, r3 - 800a05c: 68bb ldr r3, [r7, #8] - 800a05e: 781b ldrb r3, [r3, #0] - 800a060: 00db lsls r3, r3, #3 - 800a062: 4413 add r3, r2 - 800a064: 68fa ldr r2, [r7, #12] - 800a066: 6812 ldr r2, [r2, #0] - 800a068: 4413 add r3, r2 - 800a06a: f203 4302 addw r3, r3, #1026 @ 0x402 - 800a06e: 881b ldrh r3, [r3, #0] - 800a070: f3c3 0309 ubfx r3, r3, #0, #10 - 800a074: f8a7 3096 strh.w r3, [r7, #150] @ 0x96 + 800a608: 68fb ldr r3, [r7, #12] + 800a60a: 681b ldr r3, [r3, #0] + 800a60c: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a610: b29b uxth r3, r3 + 800a612: 461a mov r2, r3 + 800a614: 68bb ldr r3, [r7, #8] + 800a616: 781b ldrb r3, [r3, #0] + 800a618: 00db lsls r3, r3, #3 + 800a61a: 4413 add r3, r2 + 800a61c: 68fa ldr r2, [r7, #12] + 800a61e: 6812 ldr r2, [r2, #0] + 800a620: 4413 add r3, r2 + 800a622: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a626: 881b ldrh r3, [r3, #0] + 800a628: f3c3 0309 ubfx r3, r3, #0, #10 + 800a62c: f8a7 3096 strh.w r3, [r7, #150] @ 0x96 if (ep->xfer_len > TxPctSize) - 800a078: 68bb ldr r3, [r7, #8] - 800a07a: 699a ldr r2, [r3, #24] - 800a07c: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a080: 429a cmp r2, r3 - 800a082: d907 bls.n 800a094 + 800a630: 68bb ldr r3, [r7, #8] + 800a632: 699a ldr r2, [r3, #24] + 800a634: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800a638: 429a cmp r2, r3 + 800a63a: d907 bls.n 800a64c { ep->xfer_len -= TxPctSize; - 800a084: 68bb ldr r3, [r7, #8] - 800a086: 699a ldr r2, [r3, #24] - 800a088: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a08c: 1ad2 subs r2, r2, r3 - 800a08e: 68bb ldr r3, [r7, #8] - 800a090: 619a str r2, [r3, #24] - 800a092: e002 b.n 800a09a + 800a63c: 68bb ldr r3, [r7, #8] + 800a63e: 699a ldr r2, [r3, #24] + 800a640: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800a644: 1ad2 subs r2, r2, r3 + 800a646: 68bb ldr r3, [r7, #8] + 800a648: 619a str r2, [r3, #24] + 800a64a: e002 b.n 800a652 } else { ep->xfer_len = 0U; - 800a094: 68bb ldr r3, [r7, #8] - 800a096: 2200 movs r2, #0 - 800a098: 619a str r2, [r3, #24] + 800a64c: 68bb ldr r3, [r7, #8] + 800a64e: 2200 movs r2, #0 + 800a650: 619a str r2, [r3, #24] } /* Transfer is completed */ if (ep->xfer_len == 0U) - 800a09a: 68bb ldr r3, [r7, #8] - 800a09c: 699b ldr r3, [r3, #24] - 800a09e: 2b00 cmp r3, #0 - 800a0a0: f040 80e1 bne.w 800a266 + 800a652: 68bb ldr r3, [r7, #8] + 800a654: 699b ldr r3, [r3, #24] + 800a656: 2b00 cmp r3, #0 + 800a658: f040 80e1 bne.w 800a81e { PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); - 800a0a4: 68bb ldr r3, [r7, #8] - 800a0a6: 785b ldrb r3, [r3, #1] - 800a0a8: 2b00 cmp r3, #0 - 800a0aa: d126 bne.n 800a0fa - 800a0ac: 68fb ldr r3, [r7, #12] - 800a0ae: 681b ldr r3, [r3, #0] - 800a0b0: 633b str r3, [r7, #48] @ 0x30 - 800a0b2: 68fb ldr r3, [r7, #12] - 800a0b4: 681b ldr r3, [r3, #0] - 800a0b6: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a0ba: b29b uxth r3, r3 - 800a0bc: 461a mov r2, r3 - 800a0be: 6b3b ldr r3, [r7, #48] @ 0x30 - 800a0c0: 4413 add r3, r2 - 800a0c2: 633b str r3, [r7, #48] @ 0x30 - 800a0c4: 68bb ldr r3, [r7, #8] - 800a0c6: 781b ldrb r3, [r3, #0] - 800a0c8: 00da lsls r2, r3, #3 - 800a0ca: 6b3b ldr r3, [r7, #48] @ 0x30 - 800a0cc: 4413 add r3, r2 - 800a0ce: f203 4302 addw r3, r3, #1026 @ 0x402 - 800a0d2: 62fb str r3, [r7, #44] @ 0x2c - 800a0d4: 6afb ldr r3, [r7, #44] @ 0x2c - 800a0d6: 881b ldrh r3, [r3, #0] - 800a0d8: b29b uxth r3, r3 - 800a0da: f3c3 0309 ubfx r3, r3, #0, #10 - 800a0de: b29a uxth r2, r3 - 800a0e0: 6afb ldr r3, [r7, #44] @ 0x2c - 800a0e2: 801a strh r2, [r3, #0] - 800a0e4: 6afb ldr r3, [r7, #44] @ 0x2c - 800a0e6: 881b ldrh r3, [r3, #0] - 800a0e8: b29b uxth r3, r3 - 800a0ea: ea6f 4343 mvn.w r3, r3, lsl #17 - 800a0ee: ea6f 4353 mvn.w r3, r3, lsr #17 - 800a0f2: b29a uxth r2, r3 - 800a0f4: 6afb ldr r3, [r7, #44] @ 0x2c - 800a0f6: 801a strh r2, [r3, #0] - 800a0f8: e01a b.n 800a130 - 800a0fa: 68bb ldr r3, [r7, #8] - 800a0fc: 785b ldrb r3, [r3, #1] - 800a0fe: 2b01 cmp r3, #1 - 800a100: d116 bne.n 800a130 - 800a102: 68fb ldr r3, [r7, #12] - 800a104: 681b ldr r3, [r3, #0] - 800a106: 63bb str r3, [r7, #56] @ 0x38 - 800a108: 68fb ldr r3, [r7, #12] - 800a10a: 681b ldr r3, [r3, #0] - 800a10c: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a110: b29b uxth r3, r3 - 800a112: 461a mov r2, r3 - 800a114: 6bbb ldr r3, [r7, #56] @ 0x38 - 800a116: 4413 add r3, r2 - 800a118: 63bb str r3, [r7, #56] @ 0x38 - 800a11a: 68bb ldr r3, [r7, #8] - 800a11c: 781b ldrb r3, [r3, #0] - 800a11e: 00da lsls r2, r3, #3 - 800a120: 6bbb ldr r3, [r7, #56] @ 0x38 - 800a122: 4413 add r3, r2 - 800a124: f203 4302 addw r3, r3, #1026 @ 0x402 - 800a128: 637b str r3, [r7, #52] @ 0x34 - 800a12a: 6b7b ldr r3, [r7, #52] @ 0x34 - 800a12c: 2200 movs r2, #0 - 800a12e: 801a strh r2, [r3, #0] + 800a65c: 68bb ldr r3, [r7, #8] + 800a65e: 785b ldrb r3, [r3, #1] + 800a660: 2b00 cmp r3, #0 + 800a662: d126 bne.n 800a6b2 + 800a664: 68fb ldr r3, [r7, #12] + 800a666: 681b ldr r3, [r3, #0] + 800a668: 633b str r3, [r7, #48] @ 0x30 + 800a66a: 68fb ldr r3, [r7, #12] + 800a66c: 681b ldr r3, [r3, #0] + 800a66e: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a672: b29b uxth r3, r3 + 800a674: 461a mov r2, r3 + 800a676: 6b3b ldr r3, [r7, #48] @ 0x30 + 800a678: 4413 add r3, r2 + 800a67a: 633b str r3, [r7, #48] @ 0x30 + 800a67c: 68bb ldr r3, [r7, #8] + 800a67e: 781b ldrb r3, [r3, #0] + 800a680: 00da lsls r2, r3, #3 + 800a682: 6b3b ldr r3, [r7, #48] @ 0x30 + 800a684: 4413 add r3, r2 + 800a686: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a68a: 62fb str r3, [r7, #44] @ 0x2c + 800a68c: 6afb ldr r3, [r7, #44] @ 0x2c + 800a68e: 881b ldrh r3, [r3, #0] + 800a690: b29b uxth r3, r3 + 800a692: f3c3 0309 ubfx r3, r3, #0, #10 + 800a696: b29a uxth r2, r3 + 800a698: 6afb ldr r3, [r7, #44] @ 0x2c + 800a69a: 801a strh r2, [r3, #0] + 800a69c: 6afb ldr r3, [r7, #44] @ 0x2c + 800a69e: 881b ldrh r3, [r3, #0] + 800a6a0: b29b uxth r3, r3 + 800a6a2: ea6f 4343 mvn.w r3, r3, lsl #17 + 800a6a6: ea6f 4353 mvn.w r3, r3, lsr #17 + 800a6aa: b29a uxth r2, r3 + 800a6ac: 6afb ldr r3, [r7, #44] @ 0x2c + 800a6ae: 801a strh r2, [r3, #0] + 800a6b0: e01a b.n 800a6e8 + 800a6b2: 68bb ldr r3, [r7, #8] + 800a6b4: 785b ldrb r3, [r3, #1] + 800a6b6: 2b01 cmp r3, #1 + 800a6b8: d116 bne.n 800a6e8 + 800a6ba: 68fb ldr r3, [r7, #12] + 800a6bc: 681b ldr r3, [r3, #0] + 800a6be: 63bb str r3, [r7, #56] @ 0x38 + 800a6c0: 68fb ldr r3, [r7, #12] + 800a6c2: 681b ldr r3, [r3, #0] + 800a6c4: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a6c8: b29b uxth r3, r3 + 800a6ca: 461a mov r2, r3 + 800a6cc: 6bbb ldr r3, [r7, #56] @ 0x38 + 800a6ce: 4413 add r3, r2 + 800a6d0: 63bb str r3, [r7, #56] @ 0x38 + 800a6d2: 68bb ldr r3, [r7, #8] + 800a6d4: 781b ldrb r3, [r3, #0] + 800a6d6: 00da lsls r2, r3, #3 + 800a6d8: 6bbb ldr r3, [r7, #56] @ 0x38 + 800a6da: 4413 add r3, r2 + 800a6dc: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a6e0: 637b str r3, [r7, #52] @ 0x34 + 800a6e2: 6b7b ldr r3, [r7, #52] @ 0x34 + 800a6e4: 2200 movs r2, #0 + 800a6e6: 801a strh r2, [r3, #0] PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); - 800a130: 68fb ldr r3, [r7, #12] - 800a132: 681b ldr r3, [r3, #0] - 800a134: 62bb str r3, [r7, #40] @ 0x28 - 800a136: 68bb ldr r3, [r7, #8] - 800a138: 785b ldrb r3, [r3, #1] - 800a13a: 2b00 cmp r3, #0 - 800a13c: d126 bne.n 800a18c - 800a13e: 68fb ldr r3, [r7, #12] - 800a140: 681b ldr r3, [r3, #0] - 800a142: 623b str r3, [r7, #32] - 800a144: 68fb ldr r3, [r7, #12] - 800a146: 681b ldr r3, [r3, #0] - 800a148: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a14c: b29b uxth r3, r3 - 800a14e: 461a mov r2, r3 - 800a150: 6a3b ldr r3, [r7, #32] - 800a152: 4413 add r3, r2 - 800a154: 623b str r3, [r7, #32] - 800a156: 68bb ldr r3, [r7, #8] - 800a158: 781b ldrb r3, [r3, #0] - 800a15a: 00da lsls r2, r3, #3 - 800a15c: 6a3b ldr r3, [r7, #32] - 800a15e: 4413 add r3, r2 - 800a160: f203 4306 addw r3, r3, #1030 @ 0x406 - 800a164: 61fb str r3, [r7, #28] - 800a166: 69fb ldr r3, [r7, #28] - 800a168: 881b ldrh r3, [r3, #0] - 800a16a: b29b uxth r3, r3 - 800a16c: f3c3 0309 ubfx r3, r3, #0, #10 - 800a170: b29a uxth r2, r3 - 800a172: 69fb ldr r3, [r7, #28] - 800a174: 801a strh r2, [r3, #0] - 800a176: 69fb ldr r3, [r7, #28] - 800a178: 881b ldrh r3, [r3, #0] - 800a17a: b29b uxth r3, r3 - 800a17c: ea6f 4343 mvn.w r3, r3, lsl #17 - 800a180: ea6f 4353 mvn.w r3, r3, lsr #17 - 800a184: b29a uxth r2, r3 - 800a186: 69fb ldr r3, [r7, #28] - 800a188: 801a strh r2, [r3, #0] - 800a18a: e017 b.n 800a1bc - 800a18c: 68bb ldr r3, [r7, #8] - 800a18e: 785b ldrb r3, [r3, #1] - 800a190: 2b01 cmp r3, #1 - 800a192: d113 bne.n 800a1bc - 800a194: 68fb ldr r3, [r7, #12] - 800a196: 681b ldr r3, [r3, #0] - 800a198: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a19c: b29b uxth r3, r3 - 800a19e: 461a mov r2, r3 - 800a1a0: 6abb ldr r3, [r7, #40] @ 0x28 - 800a1a2: 4413 add r3, r2 - 800a1a4: 62bb str r3, [r7, #40] @ 0x28 - 800a1a6: 68bb ldr r3, [r7, #8] - 800a1a8: 781b ldrb r3, [r3, #0] - 800a1aa: 00da lsls r2, r3, #3 - 800a1ac: 6abb ldr r3, [r7, #40] @ 0x28 - 800a1ae: 4413 add r3, r2 - 800a1b0: f203 4306 addw r3, r3, #1030 @ 0x406 - 800a1b4: 627b str r3, [r7, #36] @ 0x24 - 800a1b6: 6a7b ldr r3, [r7, #36] @ 0x24 - 800a1b8: 2200 movs r2, #0 - 800a1ba: 801a strh r2, [r3, #0] + 800a6e8: 68fb ldr r3, [r7, #12] + 800a6ea: 681b ldr r3, [r3, #0] + 800a6ec: 62bb str r3, [r7, #40] @ 0x28 + 800a6ee: 68bb ldr r3, [r7, #8] + 800a6f0: 785b ldrb r3, [r3, #1] + 800a6f2: 2b00 cmp r3, #0 + 800a6f4: d126 bne.n 800a744 + 800a6f6: 68fb ldr r3, [r7, #12] + 800a6f8: 681b ldr r3, [r3, #0] + 800a6fa: 623b str r3, [r7, #32] + 800a6fc: 68fb ldr r3, [r7, #12] + 800a6fe: 681b ldr r3, [r3, #0] + 800a700: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a704: b29b uxth r3, r3 + 800a706: 461a mov r2, r3 + 800a708: 6a3b ldr r3, [r7, #32] + 800a70a: 4413 add r3, r2 + 800a70c: 623b str r3, [r7, #32] + 800a70e: 68bb ldr r3, [r7, #8] + 800a710: 781b ldrb r3, [r3, #0] + 800a712: 00da lsls r2, r3, #3 + 800a714: 6a3b ldr r3, [r7, #32] + 800a716: 4413 add r3, r2 + 800a718: f203 4306 addw r3, r3, #1030 @ 0x406 + 800a71c: 61fb str r3, [r7, #28] + 800a71e: 69fb ldr r3, [r7, #28] + 800a720: 881b ldrh r3, [r3, #0] + 800a722: b29b uxth r3, r3 + 800a724: f3c3 0309 ubfx r3, r3, #0, #10 + 800a728: b29a uxth r2, r3 + 800a72a: 69fb ldr r3, [r7, #28] + 800a72c: 801a strh r2, [r3, #0] + 800a72e: 69fb ldr r3, [r7, #28] + 800a730: 881b ldrh r3, [r3, #0] + 800a732: b29b uxth r3, r3 + 800a734: ea6f 4343 mvn.w r3, r3, lsl #17 + 800a738: ea6f 4353 mvn.w r3, r3, lsr #17 + 800a73c: b29a uxth r2, r3 + 800a73e: 69fb ldr r3, [r7, #28] + 800a740: 801a strh r2, [r3, #0] + 800a742: e017 b.n 800a774 + 800a744: 68bb ldr r3, [r7, #8] + 800a746: 785b ldrb r3, [r3, #1] + 800a748: 2b01 cmp r3, #1 + 800a74a: d113 bne.n 800a774 + 800a74c: 68fb ldr r3, [r7, #12] + 800a74e: 681b ldr r3, [r3, #0] + 800a750: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a754: b29b uxth r3, r3 + 800a756: 461a mov r2, r3 + 800a758: 6abb ldr r3, [r7, #40] @ 0x28 + 800a75a: 4413 add r3, r2 + 800a75c: 62bb str r3, [r7, #40] @ 0x28 + 800a75e: 68bb ldr r3, [r7, #8] + 800a760: 781b ldrb r3, [r3, #0] + 800a762: 00da lsls r2, r3, #3 + 800a764: 6abb ldr r3, [r7, #40] @ 0x28 + 800a766: 4413 add r3, r2 + 800a768: f203 4306 addw r3, r3, #1030 @ 0x406 + 800a76c: 627b str r3, [r7, #36] @ 0x24 + 800a76e: 6a7b ldr r3, [r7, #36] @ 0x24 + 800a770: 2200 movs r2, #0 + 800a772: 801a strh r2, [r3, #0] if (ep->type == EP_TYPE_BULK) - 800a1bc: 68bb ldr r3, [r7, #8] - 800a1be: 78db ldrb r3, [r3, #3] - 800a1c0: 2b02 cmp r3, #2 - 800a1c2: d123 bne.n 800a20c + 800a774: 68bb ldr r3, [r7, #8] + 800a776: 78db ldrb r3, [r3, #3] + 800a778: 2b02 cmp r3, #2 + 800a77a: d123 bne.n 800a7c4 { /* Set Bulk endpoint in NAK state */ PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_NAK); - 800a1c4: 68fb ldr r3, [r7, #12] - 800a1c6: 681b ldr r3, [r3, #0] - 800a1c8: 461a mov r2, r3 - 800a1ca: 68bb ldr r3, [r7, #8] - 800a1cc: 781b ldrb r3, [r3, #0] - 800a1ce: 009b lsls r3, r3, #2 - 800a1d0: 4413 add r3, r2 - 800a1d2: 881b ldrh r3, [r3, #0] - 800a1d4: b29b uxth r3, r3 - 800a1d6: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800a1da: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800a1de: 837b strh r3, [r7, #26] - 800a1e0: 8b7b ldrh r3, [r7, #26] - 800a1e2: f083 0320 eor.w r3, r3, #32 - 800a1e6: 837b strh r3, [r7, #26] - 800a1e8: 68fb ldr r3, [r7, #12] - 800a1ea: 681b ldr r3, [r3, #0] - 800a1ec: 461a mov r2, r3 - 800a1ee: 68bb ldr r3, [r7, #8] - 800a1f0: 781b ldrb r3, [r3, #0] - 800a1f2: 009b lsls r3, r3, #2 - 800a1f4: 441a add r2, r3 - 800a1f6: 8b7b ldrh r3, [r7, #26] - 800a1f8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800a1fc: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800a200: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800a204: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800a208: b29b uxth r3, r3 - 800a20a: 8013 strh r3, [r2, #0] + 800a77c: 68fb ldr r3, [r7, #12] + 800a77e: 681b ldr r3, [r3, #0] + 800a780: 461a mov r2, r3 + 800a782: 68bb ldr r3, [r7, #8] + 800a784: 781b ldrb r3, [r3, #0] + 800a786: 009b lsls r3, r3, #2 + 800a788: 4413 add r3, r2 + 800a78a: 881b ldrh r3, [r3, #0] + 800a78c: b29b uxth r3, r3 + 800a78e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800a792: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800a796: 837b strh r3, [r7, #26] + 800a798: 8b7b ldrh r3, [r7, #26] + 800a79a: f083 0320 eor.w r3, r3, #32 + 800a79e: 837b strh r3, [r7, #26] + 800a7a0: 68fb ldr r3, [r7, #12] + 800a7a2: 681b ldr r3, [r3, #0] + 800a7a4: 461a mov r2, r3 + 800a7a6: 68bb ldr r3, [r7, #8] + 800a7a8: 781b ldrb r3, [r3, #0] + 800a7aa: 009b lsls r3, r3, #2 + 800a7ac: 441a add r2, r3 + 800a7ae: 8b7b ldrh r3, [r7, #26] + 800a7b0: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800a7b4: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800a7b8: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800a7bc: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800a7c0: b29b uxth r3, r3 + 800a7c2: 8013 strh r3, [r2, #0] /* TX COMPLETE */ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, ep->num); #else HAL_PCD_DataInStageCallback(hpcd, ep->num); - 800a20c: 68bb ldr r3, [r7, #8] - 800a20e: 781b ldrb r3, [r3, #0] - 800a210: 4619 mov r1, r3 - 800a212: 68f8 ldr r0, [r7, #12] - 800a214: f00e f90b bl 801842e + 800a7c4: 68bb ldr r3, [r7, #8] + 800a7c6: 781b ldrb r3, [r3, #0] + 800a7c8: 4619 mov r1, r3 + 800a7ca: 68f8 ldr r0, [r7, #12] + 800a7cc: f00e fb17 bl 8018dfe #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ if ((wEPVal & USB_EP_DTOG_RX) != 0U) - 800a218: 88fb ldrh r3, [r7, #6] - 800a21a: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800a21e: 2b00 cmp r3, #0 - 800a220: d01f beq.n 800a262 + 800a7d0: 88fb ldrh r3, [r7, #6] + 800a7d2: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800a7d6: 2b00 cmp r3, #0 + 800a7d8: d01f beq.n 800a81a { PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); - 800a222: 68fb ldr r3, [r7, #12] - 800a224: 681b ldr r3, [r3, #0] - 800a226: 461a mov r2, r3 - 800a228: 68bb ldr r3, [r7, #8] - 800a22a: 781b ldrb r3, [r3, #0] - 800a22c: 009b lsls r3, r3, #2 - 800a22e: 4413 add r3, r2 - 800a230: 881b ldrh r3, [r3, #0] - 800a232: b29b uxth r3, r3 - 800a234: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800a238: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800a23c: 833b strh r3, [r7, #24] - 800a23e: 68fb ldr r3, [r7, #12] - 800a240: 681b ldr r3, [r3, #0] - 800a242: 461a mov r2, r3 - 800a244: 68bb ldr r3, [r7, #8] - 800a246: 781b ldrb r3, [r3, #0] - 800a248: 009b lsls r3, r3, #2 - 800a24a: 441a add r2, r3 - 800a24c: 8b3b ldrh r3, [r7, #24] - 800a24e: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800a252: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800a256: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800a25a: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800a25e: b29b uxth r3, r3 - 800a260: 8013 strh r3, [r2, #0] + 800a7da: 68fb ldr r3, [r7, #12] + 800a7dc: 681b ldr r3, [r3, #0] + 800a7de: 461a mov r2, r3 + 800a7e0: 68bb ldr r3, [r7, #8] + 800a7e2: 781b ldrb r3, [r3, #0] + 800a7e4: 009b lsls r3, r3, #2 + 800a7e6: 4413 add r3, r2 + 800a7e8: 881b ldrh r3, [r3, #0] + 800a7ea: b29b uxth r3, r3 + 800a7ec: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800a7f0: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800a7f4: 833b strh r3, [r7, #24] + 800a7f6: 68fb ldr r3, [r7, #12] + 800a7f8: 681b ldr r3, [r3, #0] + 800a7fa: 461a mov r2, r3 + 800a7fc: 68bb ldr r3, [r7, #8] + 800a7fe: 781b ldrb r3, [r3, #0] + 800a800: 009b lsls r3, r3, #2 + 800a802: 441a add r2, r3 + 800a804: 8b3b ldrh r3, [r7, #24] + 800a806: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800a80a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800a80e: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800a812: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800a816: b29b uxth r3, r3 + 800a818: 8013 strh r3, [r2, #0] } return HAL_OK; - 800a262: 2300 movs r3, #0 - 800a264: e31f b.n 800a8a6 + 800a81a: 2300 movs r3, #0 + 800a81c: e31f b.n 800ae5e } else /* Transfer is not yet Done */ { /* Need to Free USB Buffer */ if ((wEPVal & USB_EP_DTOG_RX) != 0U) - 800a266: 88fb ldrh r3, [r7, #6] - 800a268: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800a26c: 2b00 cmp r3, #0 - 800a26e: d021 beq.n 800a2b4 + 800a81e: 88fb ldrh r3, [r7, #6] + 800a820: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800a824: 2b00 cmp r3, #0 + 800a826: d021 beq.n 800a86c { PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); - 800a270: 68fb ldr r3, [r7, #12] - 800a272: 681b ldr r3, [r3, #0] - 800a274: 461a mov r2, r3 - 800a276: 68bb ldr r3, [r7, #8] - 800a278: 781b ldrb r3, [r3, #0] - 800a27a: 009b lsls r3, r3, #2 - 800a27c: 4413 add r3, r2 - 800a27e: 881b ldrh r3, [r3, #0] - 800a280: b29b uxth r3, r3 - 800a282: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800a286: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800a28a: f8a7 304e strh.w r3, [r7, #78] @ 0x4e - 800a28e: 68fb ldr r3, [r7, #12] - 800a290: 681b ldr r3, [r3, #0] - 800a292: 461a mov r2, r3 - 800a294: 68bb ldr r3, [r7, #8] - 800a296: 781b ldrb r3, [r3, #0] - 800a298: 009b lsls r3, r3, #2 - 800a29a: 441a add r2, r3 - 800a29c: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e - 800a2a0: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800a2a4: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800a2a8: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800a2ac: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800a2b0: b29b uxth r3, r3 - 800a2b2: 8013 strh r3, [r2, #0] + 800a828: 68fb ldr r3, [r7, #12] + 800a82a: 681b ldr r3, [r3, #0] + 800a82c: 461a mov r2, r3 + 800a82e: 68bb ldr r3, [r7, #8] + 800a830: 781b ldrb r3, [r3, #0] + 800a832: 009b lsls r3, r3, #2 + 800a834: 4413 add r3, r2 + 800a836: 881b ldrh r3, [r3, #0] + 800a838: b29b uxth r3, r3 + 800a83a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800a83e: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800a842: f8a7 304e strh.w r3, [r7, #78] @ 0x4e + 800a846: 68fb ldr r3, [r7, #12] + 800a848: 681b ldr r3, [r3, #0] + 800a84a: 461a mov r2, r3 + 800a84c: 68bb ldr r3, [r7, #8] + 800a84e: 781b ldrb r3, [r3, #0] + 800a850: 009b lsls r3, r3, #2 + 800a852: 441a add r2, r3 + 800a854: f8b7 304e ldrh.w r3, [r7, #78] @ 0x4e + 800a858: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800a85c: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800a860: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800a864: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800a868: b29b uxth r3, r3 + 800a86a: 8013 strh r3, [r2, #0] } /* Still there is data to Fill in the next Buffer */ if (ep->xfer_fill_db == 1U) - 800a2b4: 68bb ldr r3, [r7, #8] - 800a2b6: f893 3024 ldrb.w r3, [r3, #36] @ 0x24 - 800a2ba: 2b01 cmp r3, #1 - 800a2bc: f040 82ca bne.w 800a854 + 800a86c: 68bb ldr r3, [r7, #8] + 800a86e: f893 3024 ldrb.w r3, [r3, #36] @ 0x24 + 800a872: 2b01 cmp r3, #1 + 800a874: f040 82ca bne.w 800ae0c { ep->xfer_buff += TxPctSize; - 800a2c0: 68bb ldr r3, [r7, #8] - 800a2c2: 695a ldr r2, [r3, #20] - 800a2c4: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a2c8: 441a add r2, r3 - 800a2ca: 68bb ldr r3, [r7, #8] - 800a2cc: 615a str r2, [r3, #20] + 800a878: 68bb ldr r3, [r7, #8] + 800a87a: 695a ldr r2, [r3, #20] + 800a87c: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800a880: 441a add r2, r3 + 800a882: 68bb ldr r3, [r7, #8] + 800a884: 615a str r2, [r3, #20] ep->xfer_count += TxPctSize; - 800a2ce: 68bb ldr r3, [r7, #8] - 800a2d0: 69da ldr r2, [r3, #28] - 800a2d2: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a2d6: 441a add r2, r3 - 800a2d8: 68bb ldr r3, [r7, #8] - 800a2da: 61da str r2, [r3, #28] + 800a886: 68bb ldr r3, [r7, #8] + 800a888: 69da ldr r2, [r3, #28] + 800a88a: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800a88e: 441a add r2, r3 + 800a890: 68bb ldr r3, [r7, #8] + 800a892: 61da str r2, [r3, #28] /* Calculate the len of the new buffer to fill */ if (ep->xfer_len_db >= ep->maxpacket) - 800a2dc: 68bb ldr r3, [r7, #8] - 800a2de: 6a1a ldr r2, [r3, #32] - 800a2e0: 68bb ldr r3, [r7, #8] - 800a2e2: 691b ldr r3, [r3, #16] - 800a2e4: 429a cmp r2, r3 - 800a2e6: d309 bcc.n 800a2fc + 800a894: 68bb ldr r3, [r7, #8] + 800a896: 6a1a ldr r2, [r3, #32] + 800a898: 68bb ldr r3, [r7, #8] + 800a89a: 691b ldr r3, [r3, #16] + 800a89c: 429a cmp r2, r3 + 800a89e: d309 bcc.n 800a8b4 { len = ep->maxpacket; - 800a2e8: 68bb ldr r3, [r7, #8] - 800a2ea: 691b ldr r3, [r3, #16] - 800a2ec: 65bb str r3, [r7, #88] @ 0x58 + 800a8a0: 68bb ldr r3, [r7, #8] + 800a8a2: 691b ldr r3, [r3, #16] + 800a8a4: 65bb str r3, [r7, #88] @ 0x58 ep->xfer_len_db -= len; - 800a2ee: 68bb ldr r3, [r7, #8] - 800a2f0: 6a1a ldr r2, [r3, #32] - 800a2f2: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a2f4: 1ad2 subs r2, r2, r3 - 800a2f6: 68bb ldr r3, [r7, #8] - 800a2f8: 621a str r2, [r3, #32] - 800a2fa: e015 b.n 800a328 + 800a8a6: 68bb ldr r3, [r7, #8] + 800a8a8: 6a1a ldr r2, [r3, #32] + 800a8aa: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a8ac: 1ad2 subs r2, r2, r3 + 800a8ae: 68bb ldr r3, [r7, #8] + 800a8b0: 621a str r2, [r3, #32] + 800a8b2: e015 b.n 800a8e0 } else if (ep->xfer_len_db == 0U) - 800a2fc: 68bb ldr r3, [r7, #8] - 800a2fe: 6a1b ldr r3, [r3, #32] - 800a300: 2b00 cmp r3, #0 - 800a302: d107 bne.n 800a314 + 800a8b4: 68bb ldr r3, [r7, #8] + 800a8b6: 6a1b ldr r3, [r3, #32] + 800a8b8: 2b00 cmp r3, #0 + 800a8ba: d107 bne.n 800a8cc { len = TxPctSize; - 800a304: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a308: 65bb str r3, [r7, #88] @ 0x58 + 800a8bc: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800a8c0: 65bb str r3, [r7, #88] @ 0x58 ep->xfer_fill_db = 0U; - 800a30a: 68bb ldr r3, [r7, #8] - 800a30c: 2200 movs r2, #0 - 800a30e: f883 2024 strb.w r2, [r3, #36] @ 0x24 - 800a312: e009 b.n 800a328 + 800a8c2: 68bb ldr r3, [r7, #8] + 800a8c4: 2200 movs r2, #0 + 800a8c6: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 800a8ca: e009 b.n 800a8e0 } else { ep->xfer_fill_db = 0U; - 800a314: 68bb ldr r3, [r7, #8] - 800a316: 2200 movs r2, #0 - 800a318: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 800a8cc: 68bb ldr r3, [r7, #8] + 800a8ce: 2200 movs r2, #0 + 800a8d0: f883 2024 strb.w r2, [r3, #36] @ 0x24 len = ep->xfer_len_db; - 800a31c: 68bb ldr r3, [r7, #8] - 800a31e: 6a1b ldr r3, [r3, #32] - 800a320: 65bb str r3, [r7, #88] @ 0x58 + 800a8d4: 68bb ldr r3, [r7, #8] + 800a8d6: 6a1b ldr r3, [r3, #32] + 800a8d8: 65bb str r3, [r7, #88] @ 0x58 ep->xfer_len_db = 0U; - 800a322: 68bb ldr r3, [r7, #8] - 800a324: 2200 movs r2, #0 - 800a326: 621a str r2, [r3, #32] + 800a8da: 68bb ldr r3, [r7, #8] + 800a8dc: 2200 movs r2, #0 + 800a8de: 621a str r2, [r3, #32] } /* Write remaining Data to Buffer */ /* Set the Double buffer counter for pma buffer0 */ PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, len); - 800a328: 68bb ldr r3, [r7, #8] - 800a32a: 785b ldrb r3, [r3, #1] - 800a32c: 2b00 cmp r3, #0 - 800a32e: d15f bne.n 800a3f0 - 800a330: 68fb ldr r3, [r7, #12] - 800a332: 681b ldr r3, [r3, #0] - 800a334: 643b str r3, [r7, #64] @ 0x40 - 800a336: 68fb ldr r3, [r7, #12] - 800a338: 681b ldr r3, [r3, #0] - 800a33a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a33e: b29b uxth r3, r3 - 800a340: 461a mov r2, r3 - 800a342: 6c3b ldr r3, [r7, #64] @ 0x40 - 800a344: 4413 add r3, r2 - 800a346: 643b str r3, [r7, #64] @ 0x40 - 800a348: 68bb ldr r3, [r7, #8] - 800a34a: 781b ldrb r3, [r3, #0] - 800a34c: 00da lsls r2, r3, #3 - 800a34e: 6c3b ldr r3, [r7, #64] @ 0x40 - 800a350: 4413 add r3, r2 - 800a352: f203 4302 addw r3, r3, #1026 @ 0x402 - 800a356: 63fb str r3, [r7, #60] @ 0x3c - 800a358: 6bfb ldr r3, [r7, #60] @ 0x3c - 800a35a: 881b ldrh r3, [r3, #0] - 800a35c: b29b uxth r3, r3 - 800a35e: f3c3 0309 ubfx r3, r3, #0, #10 - 800a362: b29a uxth r2, r3 - 800a364: 6bfb ldr r3, [r7, #60] @ 0x3c - 800a366: 801a strh r2, [r3, #0] - 800a368: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a36a: 2b00 cmp r3, #0 - 800a36c: d10a bne.n 800a384 - 800a36e: 6bfb ldr r3, [r7, #60] @ 0x3c - 800a370: 881b ldrh r3, [r3, #0] - 800a372: b29b uxth r3, r3 - 800a374: ea6f 4343 mvn.w r3, r3, lsl #17 - 800a378: ea6f 4353 mvn.w r3, r3, lsr #17 - 800a37c: b29a uxth r2, r3 - 800a37e: 6bfb ldr r3, [r7, #60] @ 0x3c - 800a380: 801a strh r2, [r3, #0] - 800a382: e051 b.n 800a428 - 800a384: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a386: 2b3e cmp r3, #62 @ 0x3e - 800a388: d816 bhi.n 800a3b8 - 800a38a: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a38c: 085b lsrs r3, r3, #1 - 800a38e: 653b str r3, [r7, #80] @ 0x50 - 800a390: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a392: f003 0301 and.w r3, r3, #1 - 800a396: 2b00 cmp r3, #0 - 800a398: d002 beq.n 800a3a0 - 800a39a: 6d3b ldr r3, [r7, #80] @ 0x50 - 800a39c: 3301 adds r3, #1 - 800a39e: 653b str r3, [r7, #80] @ 0x50 - 800a3a0: 6bfb ldr r3, [r7, #60] @ 0x3c - 800a3a2: 881b ldrh r3, [r3, #0] - 800a3a4: b29a uxth r2, r3 - 800a3a6: 6d3b ldr r3, [r7, #80] @ 0x50 - 800a3a8: b29b uxth r3, r3 - 800a3aa: 029b lsls r3, r3, #10 - 800a3ac: b29b uxth r3, r3 - 800a3ae: 4313 orrs r3, r2 - 800a3b0: b29a uxth r2, r3 - 800a3b2: 6bfb ldr r3, [r7, #60] @ 0x3c - 800a3b4: 801a strh r2, [r3, #0] - 800a3b6: e037 b.n 800a428 - 800a3b8: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a3ba: 095b lsrs r3, r3, #5 - 800a3bc: 653b str r3, [r7, #80] @ 0x50 - 800a3be: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a3c0: f003 031f and.w r3, r3, #31 - 800a3c4: 2b00 cmp r3, #0 - 800a3c6: d102 bne.n 800a3ce - 800a3c8: 6d3b ldr r3, [r7, #80] @ 0x50 - 800a3ca: 3b01 subs r3, #1 - 800a3cc: 653b str r3, [r7, #80] @ 0x50 - 800a3ce: 6bfb ldr r3, [r7, #60] @ 0x3c - 800a3d0: 881b ldrh r3, [r3, #0] - 800a3d2: b29a uxth r2, r3 - 800a3d4: 6d3b ldr r3, [r7, #80] @ 0x50 - 800a3d6: b29b uxth r3, r3 - 800a3d8: 029b lsls r3, r3, #10 - 800a3da: b29b uxth r3, r3 - 800a3dc: 4313 orrs r3, r2 - 800a3de: b29b uxth r3, r3 - 800a3e0: ea6f 4343 mvn.w r3, r3, lsl #17 - 800a3e4: ea6f 4353 mvn.w r3, r3, lsr #17 - 800a3e8: b29a uxth r2, r3 - 800a3ea: 6bfb ldr r3, [r7, #60] @ 0x3c - 800a3ec: 801a strh r2, [r3, #0] - 800a3ee: e01b b.n 800a428 - 800a3f0: 68bb ldr r3, [r7, #8] - 800a3f2: 785b ldrb r3, [r3, #1] - 800a3f4: 2b01 cmp r3, #1 - 800a3f6: d117 bne.n 800a428 - 800a3f8: 68fb ldr r3, [r7, #12] - 800a3fa: 681b ldr r3, [r3, #0] - 800a3fc: 64bb str r3, [r7, #72] @ 0x48 - 800a3fe: 68fb ldr r3, [r7, #12] - 800a400: 681b ldr r3, [r3, #0] - 800a402: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a406: b29b uxth r3, r3 - 800a408: 461a mov r2, r3 - 800a40a: 6cbb ldr r3, [r7, #72] @ 0x48 - 800a40c: 4413 add r3, r2 - 800a40e: 64bb str r3, [r7, #72] @ 0x48 - 800a410: 68bb ldr r3, [r7, #8] - 800a412: 781b ldrb r3, [r3, #0] - 800a414: 00da lsls r2, r3, #3 - 800a416: 6cbb ldr r3, [r7, #72] @ 0x48 - 800a418: 4413 add r3, r2 - 800a41a: f203 4302 addw r3, r3, #1026 @ 0x402 - 800a41e: 647b str r3, [r7, #68] @ 0x44 - 800a420: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a422: b29a uxth r2, r3 - 800a424: 6c7b ldr r3, [r7, #68] @ 0x44 - 800a426: 801a strh r2, [r3, #0] + 800a8e0: 68bb ldr r3, [r7, #8] + 800a8e2: 785b ldrb r3, [r3, #1] + 800a8e4: 2b00 cmp r3, #0 + 800a8e6: d15f bne.n 800a9a8 + 800a8e8: 68fb ldr r3, [r7, #12] + 800a8ea: 681b ldr r3, [r3, #0] + 800a8ec: 643b str r3, [r7, #64] @ 0x40 + 800a8ee: 68fb ldr r3, [r7, #12] + 800a8f0: 681b ldr r3, [r3, #0] + 800a8f2: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a8f6: b29b uxth r3, r3 + 800a8f8: 461a mov r2, r3 + 800a8fa: 6c3b ldr r3, [r7, #64] @ 0x40 + 800a8fc: 4413 add r3, r2 + 800a8fe: 643b str r3, [r7, #64] @ 0x40 + 800a900: 68bb ldr r3, [r7, #8] + 800a902: 781b ldrb r3, [r3, #0] + 800a904: 00da lsls r2, r3, #3 + 800a906: 6c3b ldr r3, [r7, #64] @ 0x40 + 800a908: 4413 add r3, r2 + 800a90a: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a90e: 63fb str r3, [r7, #60] @ 0x3c + 800a910: 6bfb ldr r3, [r7, #60] @ 0x3c + 800a912: 881b ldrh r3, [r3, #0] + 800a914: b29b uxth r3, r3 + 800a916: f3c3 0309 ubfx r3, r3, #0, #10 + 800a91a: b29a uxth r2, r3 + 800a91c: 6bfb ldr r3, [r7, #60] @ 0x3c + 800a91e: 801a strh r2, [r3, #0] + 800a920: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a922: 2b00 cmp r3, #0 + 800a924: d10a bne.n 800a93c + 800a926: 6bfb ldr r3, [r7, #60] @ 0x3c + 800a928: 881b ldrh r3, [r3, #0] + 800a92a: b29b uxth r3, r3 + 800a92c: ea6f 4343 mvn.w r3, r3, lsl #17 + 800a930: ea6f 4353 mvn.w r3, r3, lsr #17 + 800a934: b29a uxth r2, r3 + 800a936: 6bfb ldr r3, [r7, #60] @ 0x3c + 800a938: 801a strh r2, [r3, #0] + 800a93a: e051 b.n 800a9e0 + 800a93c: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a93e: 2b3e cmp r3, #62 @ 0x3e + 800a940: d816 bhi.n 800a970 + 800a942: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a944: 085b lsrs r3, r3, #1 + 800a946: 653b str r3, [r7, #80] @ 0x50 + 800a948: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a94a: f003 0301 and.w r3, r3, #1 + 800a94e: 2b00 cmp r3, #0 + 800a950: d002 beq.n 800a958 + 800a952: 6d3b ldr r3, [r7, #80] @ 0x50 + 800a954: 3301 adds r3, #1 + 800a956: 653b str r3, [r7, #80] @ 0x50 + 800a958: 6bfb ldr r3, [r7, #60] @ 0x3c + 800a95a: 881b ldrh r3, [r3, #0] + 800a95c: b29a uxth r2, r3 + 800a95e: 6d3b ldr r3, [r7, #80] @ 0x50 + 800a960: b29b uxth r3, r3 + 800a962: 029b lsls r3, r3, #10 + 800a964: b29b uxth r3, r3 + 800a966: 4313 orrs r3, r2 + 800a968: b29a uxth r2, r3 + 800a96a: 6bfb ldr r3, [r7, #60] @ 0x3c + 800a96c: 801a strh r2, [r3, #0] + 800a96e: e037 b.n 800a9e0 + 800a970: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a972: 095b lsrs r3, r3, #5 + 800a974: 653b str r3, [r7, #80] @ 0x50 + 800a976: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a978: f003 031f and.w r3, r3, #31 + 800a97c: 2b00 cmp r3, #0 + 800a97e: d102 bne.n 800a986 + 800a980: 6d3b ldr r3, [r7, #80] @ 0x50 + 800a982: 3b01 subs r3, #1 + 800a984: 653b str r3, [r7, #80] @ 0x50 + 800a986: 6bfb ldr r3, [r7, #60] @ 0x3c + 800a988: 881b ldrh r3, [r3, #0] + 800a98a: b29a uxth r2, r3 + 800a98c: 6d3b ldr r3, [r7, #80] @ 0x50 + 800a98e: b29b uxth r3, r3 + 800a990: 029b lsls r3, r3, #10 + 800a992: b29b uxth r3, r3 + 800a994: 4313 orrs r3, r2 + 800a996: b29b uxth r3, r3 + 800a998: ea6f 4343 mvn.w r3, r3, lsl #17 + 800a99c: ea6f 4353 mvn.w r3, r3, lsr #17 + 800a9a0: b29a uxth r2, r3 + 800a9a2: 6bfb ldr r3, [r7, #60] @ 0x3c + 800a9a4: 801a strh r2, [r3, #0] + 800a9a6: e01b b.n 800a9e0 + 800a9a8: 68bb ldr r3, [r7, #8] + 800a9aa: 785b ldrb r3, [r3, #1] + 800a9ac: 2b01 cmp r3, #1 + 800a9ae: d117 bne.n 800a9e0 + 800a9b0: 68fb ldr r3, [r7, #12] + 800a9b2: 681b ldr r3, [r3, #0] + 800a9b4: 64bb str r3, [r7, #72] @ 0x48 + 800a9b6: 68fb ldr r3, [r7, #12] + 800a9b8: 681b ldr r3, [r3, #0] + 800a9ba: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a9be: b29b uxth r3, r3 + 800a9c0: 461a mov r2, r3 + 800a9c2: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a9c4: 4413 add r3, r2 + 800a9c6: 64bb str r3, [r7, #72] @ 0x48 + 800a9c8: 68bb ldr r3, [r7, #8] + 800a9ca: 781b ldrb r3, [r3, #0] + 800a9cc: 00da lsls r2, r3, #3 + 800a9ce: 6cbb ldr r3, [r7, #72] @ 0x48 + 800a9d0: 4413 add r3, r2 + 800a9d2: f203 4302 addw r3, r3, #1026 @ 0x402 + 800a9d6: 647b str r3, [r7, #68] @ 0x44 + 800a9d8: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a9da: b29a uxth r2, r3 + 800a9dc: 6c7b ldr r3, [r7, #68] @ 0x44 + 800a9de: 801a strh r2, [r3, #0] /* Copy user buffer to USB PMA */ USB_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, (uint16_t)len); - 800a428: 68fb ldr r3, [r7, #12] - 800a42a: 6818 ldr r0, [r3, #0] - 800a42c: 68bb ldr r3, [r7, #8] - 800a42e: 6959 ldr r1, [r3, #20] - 800a430: 68bb ldr r3, [r7, #8] - 800a432: 891a ldrh r2, [r3, #8] - 800a434: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a436: b29b uxth r3, r3 - 800a438: f005 ffd1 bl 80103de - 800a43c: e20a b.n 800a854 + 800a9e0: 68fb ldr r3, [r7, #12] + 800a9e2: 6818 ldr r0, [r3, #0] + 800a9e4: 68bb ldr r3, [r7, #8] + 800a9e6: 6959 ldr r1, [r3, #20] + 800a9e8: 68bb ldr r3, [r7, #8] + 800a9ea: 891a ldrh r2, [r3, #8] + 800a9ec: 6dbb ldr r3, [r7, #88] @ 0x58 + 800a9ee: b29b uxth r3, r3 + 800a9f0: f006 f9f3 bl 8010dda + 800a9f4: e20a b.n 800ae0c } } else /* Data Buffer1 ACK received */ { /* multi-packet on the NON control IN endpoint */ TxPctSize = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); - 800a43e: 68fb ldr r3, [r7, #12] - 800a440: 681b ldr r3, [r3, #0] - 800a442: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a446: b29b uxth r3, r3 - 800a448: 461a mov r2, r3 - 800a44a: 68bb ldr r3, [r7, #8] - 800a44c: 781b ldrb r3, [r3, #0] - 800a44e: 00db lsls r3, r3, #3 - 800a450: 4413 add r3, r2 - 800a452: 68fa ldr r2, [r7, #12] - 800a454: 6812 ldr r2, [r2, #0] - 800a456: 4413 add r3, r2 - 800a458: f203 4306 addw r3, r3, #1030 @ 0x406 - 800a45c: 881b ldrh r3, [r3, #0] - 800a45e: f3c3 0309 ubfx r3, r3, #0, #10 - 800a462: f8a7 3096 strh.w r3, [r7, #150] @ 0x96 + 800a9f6: 68fb ldr r3, [r7, #12] + 800a9f8: 681b ldr r3, [r3, #0] + 800a9fa: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800a9fe: b29b uxth r3, r3 + 800aa00: 461a mov r2, r3 + 800aa02: 68bb ldr r3, [r7, #8] + 800aa04: 781b ldrb r3, [r3, #0] + 800aa06: 00db lsls r3, r3, #3 + 800aa08: 4413 add r3, r2 + 800aa0a: 68fa ldr r2, [r7, #12] + 800aa0c: 6812 ldr r2, [r2, #0] + 800aa0e: 4413 add r3, r2 + 800aa10: f203 4306 addw r3, r3, #1030 @ 0x406 + 800aa14: 881b ldrh r3, [r3, #0] + 800aa16: f3c3 0309 ubfx r3, r3, #0, #10 + 800aa1a: f8a7 3096 strh.w r3, [r7, #150] @ 0x96 if (ep->xfer_len >= TxPctSize) - 800a466: 68bb ldr r3, [r7, #8] - 800a468: 699a ldr r2, [r3, #24] - 800a46a: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a46e: 429a cmp r2, r3 - 800a470: d307 bcc.n 800a482 + 800aa1e: 68bb ldr r3, [r7, #8] + 800aa20: 699a ldr r2, [r3, #24] + 800aa22: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800aa26: 429a cmp r2, r3 + 800aa28: d307 bcc.n 800aa3a { ep->xfer_len -= TxPctSize; - 800a472: 68bb ldr r3, [r7, #8] - 800a474: 699a ldr r2, [r3, #24] - 800a476: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a47a: 1ad2 subs r2, r2, r3 - 800a47c: 68bb ldr r3, [r7, #8] - 800a47e: 619a str r2, [r3, #24] - 800a480: e002 b.n 800a488 + 800aa2a: 68bb ldr r3, [r7, #8] + 800aa2c: 699a ldr r2, [r3, #24] + 800aa2e: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800aa32: 1ad2 subs r2, r2, r3 + 800aa34: 68bb ldr r3, [r7, #8] + 800aa36: 619a str r2, [r3, #24] + 800aa38: e002 b.n 800aa40 } else { ep->xfer_len = 0U; - 800a482: 68bb ldr r3, [r7, #8] - 800a484: 2200 movs r2, #0 - 800a486: 619a str r2, [r3, #24] + 800aa3a: 68bb ldr r3, [r7, #8] + 800aa3c: 2200 movs r2, #0 + 800aa3e: 619a str r2, [r3, #24] } /* Transfer is completed */ if (ep->xfer_len == 0U) - 800a488: 68bb ldr r3, [r7, #8] - 800a48a: 699b ldr r3, [r3, #24] - 800a48c: 2b00 cmp r3, #0 - 800a48e: f040 80f6 bne.w 800a67e + 800aa40: 68bb ldr r3, [r7, #8] + 800aa42: 699b ldr r3, [r3, #24] + 800aa44: 2b00 cmp r3, #0 + 800aa46: f040 80f6 bne.w 800ac36 { PCD_SET_EP_DBUF0_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); - 800a492: 68bb ldr r3, [r7, #8] - 800a494: 785b ldrb r3, [r3, #1] - 800a496: 2b00 cmp r3, #0 - 800a498: d126 bne.n 800a4e8 - 800a49a: 68fb ldr r3, [r7, #12] - 800a49c: 681b ldr r3, [r3, #0] - 800a49e: 677b str r3, [r7, #116] @ 0x74 - 800a4a0: 68fb ldr r3, [r7, #12] - 800a4a2: 681b ldr r3, [r3, #0] - 800a4a4: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a4a8: b29b uxth r3, r3 - 800a4aa: 461a mov r2, r3 - 800a4ac: 6f7b ldr r3, [r7, #116] @ 0x74 - 800a4ae: 4413 add r3, r2 - 800a4b0: 677b str r3, [r7, #116] @ 0x74 - 800a4b2: 68bb ldr r3, [r7, #8] - 800a4b4: 781b ldrb r3, [r3, #0] - 800a4b6: 00da lsls r2, r3, #3 - 800a4b8: 6f7b ldr r3, [r7, #116] @ 0x74 - 800a4ba: 4413 add r3, r2 - 800a4bc: f203 4302 addw r3, r3, #1026 @ 0x402 - 800a4c0: 673b str r3, [r7, #112] @ 0x70 - 800a4c2: 6f3b ldr r3, [r7, #112] @ 0x70 - 800a4c4: 881b ldrh r3, [r3, #0] - 800a4c6: b29b uxth r3, r3 - 800a4c8: f3c3 0309 ubfx r3, r3, #0, #10 - 800a4cc: b29a uxth r2, r3 - 800a4ce: 6f3b ldr r3, [r7, #112] @ 0x70 - 800a4d0: 801a strh r2, [r3, #0] - 800a4d2: 6f3b ldr r3, [r7, #112] @ 0x70 - 800a4d4: 881b ldrh r3, [r3, #0] - 800a4d6: b29b uxth r3, r3 - 800a4d8: ea6f 4343 mvn.w r3, r3, lsl #17 - 800a4dc: ea6f 4353 mvn.w r3, r3, lsr #17 - 800a4e0: b29a uxth r2, r3 - 800a4e2: 6f3b ldr r3, [r7, #112] @ 0x70 - 800a4e4: 801a strh r2, [r3, #0] - 800a4e6: e01a b.n 800a51e - 800a4e8: 68bb ldr r3, [r7, #8] - 800a4ea: 785b ldrb r3, [r3, #1] - 800a4ec: 2b01 cmp r3, #1 - 800a4ee: d116 bne.n 800a51e - 800a4f0: 68fb ldr r3, [r7, #12] - 800a4f2: 681b ldr r3, [r3, #0] - 800a4f4: 67fb str r3, [r7, #124] @ 0x7c - 800a4f6: 68fb ldr r3, [r7, #12] - 800a4f8: 681b ldr r3, [r3, #0] - 800a4fa: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a4fe: b29b uxth r3, r3 - 800a500: 461a mov r2, r3 - 800a502: 6ffb ldr r3, [r7, #124] @ 0x7c - 800a504: 4413 add r3, r2 - 800a506: 67fb str r3, [r7, #124] @ 0x7c - 800a508: 68bb ldr r3, [r7, #8] - 800a50a: 781b ldrb r3, [r3, #0] - 800a50c: 00da lsls r2, r3, #3 - 800a50e: 6ffb ldr r3, [r7, #124] @ 0x7c - 800a510: 4413 add r3, r2 - 800a512: f203 4302 addw r3, r3, #1026 @ 0x402 - 800a516: 67bb str r3, [r7, #120] @ 0x78 - 800a518: 6fbb ldr r3, [r7, #120] @ 0x78 - 800a51a: 2200 movs r2, #0 - 800a51c: 801a strh r2, [r3, #0] + 800aa4a: 68bb ldr r3, [r7, #8] + 800aa4c: 785b ldrb r3, [r3, #1] + 800aa4e: 2b00 cmp r3, #0 + 800aa50: d126 bne.n 800aaa0 + 800aa52: 68fb ldr r3, [r7, #12] + 800aa54: 681b ldr r3, [r3, #0] + 800aa56: 677b str r3, [r7, #116] @ 0x74 + 800aa58: 68fb ldr r3, [r7, #12] + 800aa5a: 681b ldr r3, [r3, #0] + 800aa5c: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800aa60: b29b uxth r3, r3 + 800aa62: 461a mov r2, r3 + 800aa64: 6f7b ldr r3, [r7, #116] @ 0x74 + 800aa66: 4413 add r3, r2 + 800aa68: 677b str r3, [r7, #116] @ 0x74 + 800aa6a: 68bb ldr r3, [r7, #8] + 800aa6c: 781b ldrb r3, [r3, #0] + 800aa6e: 00da lsls r2, r3, #3 + 800aa70: 6f7b ldr r3, [r7, #116] @ 0x74 + 800aa72: 4413 add r3, r2 + 800aa74: f203 4302 addw r3, r3, #1026 @ 0x402 + 800aa78: 673b str r3, [r7, #112] @ 0x70 + 800aa7a: 6f3b ldr r3, [r7, #112] @ 0x70 + 800aa7c: 881b ldrh r3, [r3, #0] + 800aa7e: b29b uxth r3, r3 + 800aa80: f3c3 0309 ubfx r3, r3, #0, #10 + 800aa84: b29a uxth r2, r3 + 800aa86: 6f3b ldr r3, [r7, #112] @ 0x70 + 800aa88: 801a strh r2, [r3, #0] + 800aa8a: 6f3b ldr r3, [r7, #112] @ 0x70 + 800aa8c: 881b ldrh r3, [r3, #0] + 800aa8e: b29b uxth r3, r3 + 800aa90: ea6f 4343 mvn.w r3, r3, lsl #17 + 800aa94: ea6f 4353 mvn.w r3, r3, lsr #17 + 800aa98: b29a uxth r2, r3 + 800aa9a: 6f3b ldr r3, [r7, #112] @ 0x70 + 800aa9c: 801a strh r2, [r3, #0] + 800aa9e: e01a b.n 800aad6 + 800aaa0: 68bb ldr r3, [r7, #8] + 800aaa2: 785b ldrb r3, [r3, #1] + 800aaa4: 2b01 cmp r3, #1 + 800aaa6: d116 bne.n 800aad6 + 800aaa8: 68fb ldr r3, [r7, #12] + 800aaaa: 681b ldr r3, [r3, #0] + 800aaac: 67fb str r3, [r7, #124] @ 0x7c + 800aaae: 68fb ldr r3, [r7, #12] + 800aab0: 681b ldr r3, [r3, #0] + 800aab2: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800aab6: b29b uxth r3, r3 + 800aab8: 461a mov r2, r3 + 800aaba: 6ffb ldr r3, [r7, #124] @ 0x7c + 800aabc: 4413 add r3, r2 + 800aabe: 67fb str r3, [r7, #124] @ 0x7c + 800aac0: 68bb ldr r3, [r7, #8] + 800aac2: 781b ldrb r3, [r3, #0] + 800aac4: 00da lsls r2, r3, #3 + 800aac6: 6ffb ldr r3, [r7, #124] @ 0x7c + 800aac8: 4413 add r3, r2 + 800aaca: f203 4302 addw r3, r3, #1026 @ 0x402 + 800aace: 67bb str r3, [r7, #120] @ 0x78 + 800aad0: 6fbb ldr r3, [r7, #120] @ 0x78 + 800aad2: 2200 movs r2, #0 + 800aad4: 801a strh r2, [r3, #0] PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, 0U); - 800a51e: 68fb ldr r3, [r7, #12] - 800a520: 681b ldr r3, [r3, #0] - 800a522: f8c7 3084 str.w r3, [r7, #132] @ 0x84 - 800a526: 68bb ldr r3, [r7, #8] - 800a528: 785b ldrb r3, [r3, #1] - 800a52a: 2b00 cmp r3, #0 - 800a52c: d12f bne.n 800a58e - 800a52e: 68fb ldr r3, [r7, #12] - 800a530: 681b ldr r3, [r3, #0] - 800a532: f8c7 308c str.w r3, [r7, #140] @ 0x8c - 800a536: 68fb ldr r3, [r7, #12] - 800a538: 681b ldr r3, [r3, #0] - 800a53a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a53e: b29b uxth r3, r3 - 800a540: 461a mov r2, r3 - 800a542: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c - 800a546: 4413 add r3, r2 - 800a548: f8c7 308c str.w r3, [r7, #140] @ 0x8c - 800a54c: 68bb ldr r3, [r7, #8] - 800a54e: 781b ldrb r3, [r3, #0] - 800a550: 00da lsls r2, r3, #3 - 800a552: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c - 800a556: 4413 add r3, r2 - 800a558: f203 4306 addw r3, r3, #1030 @ 0x406 - 800a55c: f8c7 3088 str.w r3, [r7, #136] @ 0x88 - 800a560: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 - 800a564: 881b ldrh r3, [r3, #0] - 800a566: b29b uxth r3, r3 - 800a568: f3c3 0309 ubfx r3, r3, #0, #10 - 800a56c: b29a uxth r2, r3 - 800a56e: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 - 800a572: 801a strh r2, [r3, #0] - 800a574: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 - 800a578: 881b ldrh r3, [r3, #0] - 800a57a: b29b uxth r3, r3 - 800a57c: ea6f 4343 mvn.w r3, r3, lsl #17 - 800a580: ea6f 4353 mvn.w r3, r3, lsr #17 - 800a584: b29a uxth r2, r3 - 800a586: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 - 800a58a: 801a strh r2, [r3, #0] - 800a58c: e01c b.n 800a5c8 - 800a58e: 68bb ldr r3, [r7, #8] - 800a590: 785b ldrb r3, [r3, #1] - 800a592: 2b01 cmp r3, #1 - 800a594: d118 bne.n 800a5c8 - 800a596: 68fb ldr r3, [r7, #12] - 800a598: 681b ldr r3, [r3, #0] - 800a59a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a59e: b29b uxth r3, r3 - 800a5a0: 461a mov r2, r3 - 800a5a2: f8d7 3084 ldr.w r3, [r7, #132] @ 0x84 - 800a5a6: 4413 add r3, r2 - 800a5a8: f8c7 3084 str.w r3, [r7, #132] @ 0x84 - 800a5ac: 68bb ldr r3, [r7, #8] - 800a5ae: 781b ldrb r3, [r3, #0] - 800a5b0: 00da lsls r2, r3, #3 - 800a5b2: f8d7 3084 ldr.w r3, [r7, #132] @ 0x84 - 800a5b6: 4413 add r3, r2 - 800a5b8: f203 4306 addw r3, r3, #1030 @ 0x406 - 800a5bc: f8c7 3080 str.w r3, [r7, #128] @ 0x80 - 800a5c0: f8d7 3080 ldr.w r3, [r7, #128] @ 0x80 - 800a5c4: 2200 movs r2, #0 - 800a5c6: 801a strh r2, [r3, #0] + 800aad6: 68fb ldr r3, [r7, #12] + 800aad8: 681b ldr r3, [r3, #0] + 800aada: f8c7 3084 str.w r3, [r7, #132] @ 0x84 + 800aade: 68bb ldr r3, [r7, #8] + 800aae0: 785b ldrb r3, [r3, #1] + 800aae2: 2b00 cmp r3, #0 + 800aae4: d12f bne.n 800ab46 + 800aae6: 68fb ldr r3, [r7, #12] + 800aae8: 681b ldr r3, [r3, #0] + 800aaea: f8c7 308c str.w r3, [r7, #140] @ 0x8c + 800aaee: 68fb ldr r3, [r7, #12] + 800aaf0: 681b ldr r3, [r3, #0] + 800aaf2: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800aaf6: b29b uxth r3, r3 + 800aaf8: 461a mov r2, r3 + 800aafa: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c + 800aafe: 4413 add r3, r2 + 800ab00: f8c7 308c str.w r3, [r7, #140] @ 0x8c + 800ab04: 68bb ldr r3, [r7, #8] + 800ab06: 781b ldrb r3, [r3, #0] + 800ab08: 00da lsls r2, r3, #3 + 800ab0a: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c + 800ab0e: 4413 add r3, r2 + 800ab10: f203 4306 addw r3, r3, #1030 @ 0x406 + 800ab14: f8c7 3088 str.w r3, [r7, #136] @ 0x88 + 800ab18: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 + 800ab1c: 881b ldrh r3, [r3, #0] + 800ab1e: b29b uxth r3, r3 + 800ab20: f3c3 0309 ubfx r3, r3, #0, #10 + 800ab24: b29a uxth r2, r3 + 800ab26: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 + 800ab2a: 801a strh r2, [r3, #0] + 800ab2c: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 + 800ab30: 881b ldrh r3, [r3, #0] + 800ab32: b29b uxth r3, r3 + 800ab34: ea6f 4343 mvn.w r3, r3, lsl #17 + 800ab38: ea6f 4353 mvn.w r3, r3, lsr #17 + 800ab3c: b29a uxth r2, r3 + 800ab3e: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 + 800ab42: 801a strh r2, [r3, #0] + 800ab44: e01c b.n 800ab80 + 800ab46: 68bb ldr r3, [r7, #8] + 800ab48: 785b ldrb r3, [r3, #1] + 800ab4a: 2b01 cmp r3, #1 + 800ab4c: d118 bne.n 800ab80 + 800ab4e: 68fb ldr r3, [r7, #12] + 800ab50: 681b ldr r3, [r3, #0] + 800ab52: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800ab56: b29b uxth r3, r3 + 800ab58: 461a mov r2, r3 + 800ab5a: f8d7 3084 ldr.w r3, [r7, #132] @ 0x84 + 800ab5e: 4413 add r3, r2 + 800ab60: f8c7 3084 str.w r3, [r7, #132] @ 0x84 + 800ab64: 68bb ldr r3, [r7, #8] + 800ab66: 781b ldrb r3, [r3, #0] + 800ab68: 00da lsls r2, r3, #3 + 800ab6a: f8d7 3084 ldr.w r3, [r7, #132] @ 0x84 + 800ab6e: 4413 add r3, r2 + 800ab70: f203 4306 addw r3, r3, #1030 @ 0x406 + 800ab74: f8c7 3080 str.w r3, [r7, #128] @ 0x80 + 800ab78: f8d7 3080 ldr.w r3, [r7, #128] @ 0x80 + 800ab7c: 2200 movs r2, #0 + 800ab7e: 801a strh r2, [r3, #0] if (ep->type == EP_TYPE_BULK) - 800a5c8: 68bb ldr r3, [r7, #8] - 800a5ca: 78db ldrb r3, [r3, #3] - 800a5cc: 2b02 cmp r3, #2 - 800a5ce: d127 bne.n 800a620 + 800ab80: 68bb ldr r3, [r7, #8] + 800ab82: 78db ldrb r3, [r3, #3] + 800ab84: 2b02 cmp r3, #2 + 800ab86: d127 bne.n 800abd8 { /* Set Bulk endpoint in NAK state */ PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_NAK); - 800a5d0: 68fb ldr r3, [r7, #12] - 800a5d2: 681b ldr r3, [r3, #0] - 800a5d4: 461a mov r2, r3 - 800a5d6: 68bb ldr r3, [r7, #8] - 800a5d8: 781b ldrb r3, [r3, #0] - 800a5da: 009b lsls r3, r3, #2 - 800a5dc: 4413 add r3, r2 - 800a5de: 881b ldrh r3, [r3, #0] - 800a5e0: b29b uxth r3, r3 - 800a5e2: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800a5e6: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800a5ea: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 - 800a5ee: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 800a5f2: f083 0320 eor.w r3, r3, #32 - 800a5f6: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 - 800a5fa: 68fb ldr r3, [r7, #12] - 800a5fc: 681b ldr r3, [r3, #0] - 800a5fe: 461a mov r2, r3 - 800a600: 68bb ldr r3, [r7, #8] - 800a602: 781b ldrb r3, [r3, #0] - 800a604: 009b lsls r3, r3, #2 - 800a606: 441a add r2, r3 - 800a608: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 800a60c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800a610: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800a614: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800a618: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800a61c: b29b uxth r3, r3 - 800a61e: 8013 strh r3, [r2, #0] + 800ab88: 68fb ldr r3, [r7, #12] + 800ab8a: 681b ldr r3, [r3, #0] + 800ab8c: 461a mov r2, r3 + 800ab8e: 68bb ldr r3, [r7, #8] + 800ab90: 781b ldrb r3, [r3, #0] + 800ab92: 009b lsls r3, r3, #2 + 800ab94: 4413 add r3, r2 + 800ab96: 881b ldrh r3, [r3, #0] + 800ab98: b29b uxth r3, r3 + 800ab9a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800ab9e: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800aba2: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 + 800aba6: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 800abaa: f083 0320 eor.w r3, r3, #32 + 800abae: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 + 800abb2: 68fb ldr r3, [r7, #12] + 800abb4: 681b ldr r3, [r3, #0] + 800abb6: 461a mov r2, r3 + 800abb8: 68bb ldr r3, [r7, #8] + 800abba: 781b ldrb r3, [r3, #0] + 800abbc: 009b lsls r3, r3, #2 + 800abbe: 441a add r2, r3 + 800abc0: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 800abc4: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800abc8: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800abcc: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800abd0: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800abd4: b29b uxth r3, r3 + 800abd6: 8013 strh r3, [r2, #0] /* TX COMPLETE */ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, ep->num); #else HAL_PCD_DataInStageCallback(hpcd, ep->num); - 800a620: 68bb ldr r3, [r7, #8] - 800a622: 781b ldrb r3, [r3, #0] - 800a624: 4619 mov r1, r3 - 800a626: 68f8 ldr r0, [r7, #12] - 800a628: f00d ff01 bl 801842e + 800abd8: 68bb ldr r3, [r7, #8] + 800abda: 781b ldrb r3, [r3, #0] + 800abdc: 4619 mov r1, r3 + 800abde: 68f8 ldr r0, [r7, #12] + 800abe0: f00e f90d bl 8018dfe #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ /* need to Free USB Buff */ if ((wEPVal & USB_EP_DTOG_RX) == 0U) - 800a62c: 88fb ldrh r3, [r7, #6] - 800a62e: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800a632: 2b00 cmp r3, #0 - 800a634: d121 bne.n 800a67a + 800abe4: 88fb ldrh r3, [r7, #6] + 800abe6: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800abea: 2b00 cmp r3, #0 + 800abec: d121 bne.n 800ac32 { PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); - 800a636: 68fb ldr r3, [r7, #12] - 800a638: 681b ldr r3, [r3, #0] - 800a63a: 461a mov r2, r3 - 800a63c: 68bb ldr r3, [r7, #8] - 800a63e: 781b ldrb r3, [r3, #0] - 800a640: 009b lsls r3, r3, #2 - 800a642: 4413 add r3, r2 - 800a644: 881b ldrh r3, [r3, #0] - 800a646: b29b uxth r3, r3 - 800a648: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800a64c: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800a650: f8a7 3092 strh.w r3, [r7, #146] @ 0x92 - 800a654: 68fb ldr r3, [r7, #12] - 800a656: 681b ldr r3, [r3, #0] - 800a658: 461a mov r2, r3 - 800a65a: 68bb ldr r3, [r7, #8] - 800a65c: 781b ldrb r3, [r3, #0] - 800a65e: 009b lsls r3, r3, #2 - 800a660: 441a add r2, r3 - 800a662: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 - 800a666: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800a66a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800a66e: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800a672: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800a676: b29b uxth r3, r3 - 800a678: 8013 strh r3, [r2, #0] + 800abee: 68fb ldr r3, [r7, #12] + 800abf0: 681b ldr r3, [r3, #0] + 800abf2: 461a mov r2, r3 + 800abf4: 68bb ldr r3, [r7, #8] + 800abf6: 781b ldrb r3, [r3, #0] + 800abf8: 009b lsls r3, r3, #2 + 800abfa: 4413 add r3, r2 + 800abfc: 881b ldrh r3, [r3, #0] + 800abfe: b29b uxth r3, r3 + 800ac00: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800ac04: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800ac08: f8a7 3092 strh.w r3, [r7, #146] @ 0x92 + 800ac0c: 68fb ldr r3, [r7, #12] + 800ac0e: 681b ldr r3, [r3, #0] + 800ac10: 461a mov r2, r3 + 800ac12: 68bb ldr r3, [r7, #8] + 800ac14: 781b ldrb r3, [r3, #0] + 800ac16: 009b lsls r3, r3, #2 + 800ac18: 441a add r2, r3 + 800ac1a: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 + 800ac1e: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800ac22: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800ac26: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800ac2a: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800ac2e: b29b uxth r3, r3 + 800ac30: 8013 strh r3, [r2, #0] } return HAL_OK; - 800a67a: 2300 movs r3, #0 - 800a67c: e113 b.n 800a8a6 + 800ac32: 2300 movs r3, #0 + 800ac34: e113 b.n 800ae5e } else /* Transfer is not yet Done */ { /* Need to Free USB Buffer */ if ((wEPVal & USB_EP_DTOG_RX) == 0U) - 800a67e: 88fb ldrh r3, [r7, #6] - 800a680: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800a684: 2b00 cmp r3, #0 - 800a686: d121 bne.n 800a6cc + 800ac36: 88fb ldrh r3, [r7, #6] + 800ac38: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800ac3c: 2b00 cmp r3, #0 + 800ac3e: d121 bne.n 800ac84 { PCD_FREE_USER_BUFFER(hpcd->Instance, ep->num, 1U); - 800a688: 68fb ldr r3, [r7, #12] - 800a68a: 681b ldr r3, [r3, #0] - 800a68c: 461a mov r2, r3 - 800a68e: 68bb ldr r3, [r7, #8] - 800a690: 781b ldrb r3, [r3, #0] - 800a692: 009b lsls r3, r3, #2 - 800a694: 4413 add r3, r2 - 800a696: 881b ldrh r3, [r3, #0] - 800a698: b29b uxth r3, r3 - 800a69a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800a69e: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800a6a2: f8a7 3056 strh.w r3, [r7, #86] @ 0x56 - 800a6a6: 68fb ldr r3, [r7, #12] - 800a6a8: 681b ldr r3, [r3, #0] - 800a6aa: 461a mov r2, r3 - 800a6ac: 68bb ldr r3, [r7, #8] - 800a6ae: 781b ldrb r3, [r3, #0] - 800a6b0: 009b lsls r3, r3, #2 - 800a6b2: 441a add r2, r3 - 800a6b4: f8b7 3056 ldrh.w r3, [r7, #86] @ 0x56 - 800a6b8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800a6bc: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800a6c0: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800a6c4: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800a6c8: b29b uxth r3, r3 - 800a6ca: 8013 strh r3, [r2, #0] + 800ac40: 68fb ldr r3, [r7, #12] + 800ac42: 681b ldr r3, [r3, #0] + 800ac44: 461a mov r2, r3 + 800ac46: 68bb ldr r3, [r7, #8] + 800ac48: 781b ldrb r3, [r3, #0] + 800ac4a: 009b lsls r3, r3, #2 + 800ac4c: 4413 add r3, r2 + 800ac4e: 881b ldrh r3, [r3, #0] + 800ac50: b29b uxth r3, r3 + 800ac52: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800ac56: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800ac5a: f8a7 3056 strh.w r3, [r7, #86] @ 0x56 + 800ac5e: 68fb ldr r3, [r7, #12] + 800ac60: 681b ldr r3, [r3, #0] + 800ac62: 461a mov r2, r3 + 800ac64: 68bb ldr r3, [r7, #8] + 800ac66: 781b ldrb r3, [r3, #0] + 800ac68: 009b lsls r3, r3, #2 + 800ac6a: 441a add r2, r3 + 800ac6c: f8b7 3056 ldrh.w r3, [r7, #86] @ 0x56 + 800ac70: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800ac74: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800ac78: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800ac7c: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800ac80: b29b uxth r3, r3 + 800ac82: 8013 strh r3, [r2, #0] } /* Still there is data to Fill in the next Buffer */ if (ep->xfer_fill_db == 1U) - 800a6cc: 68bb ldr r3, [r7, #8] - 800a6ce: f893 3024 ldrb.w r3, [r3, #36] @ 0x24 - 800a6d2: 2b01 cmp r3, #1 - 800a6d4: f040 80be bne.w 800a854 + 800ac84: 68bb ldr r3, [r7, #8] + 800ac86: f893 3024 ldrb.w r3, [r3, #36] @ 0x24 + 800ac8a: 2b01 cmp r3, #1 + 800ac8c: f040 80be bne.w 800ae0c { ep->xfer_buff += TxPctSize; - 800a6d8: 68bb ldr r3, [r7, #8] - 800a6da: 695a ldr r2, [r3, #20] - 800a6dc: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a6e0: 441a add r2, r3 - 800a6e2: 68bb ldr r3, [r7, #8] - 800a6e4: 615a str r2, [r3, #20] + 800ac90: 68bb ldr r3, [r7, #8] + 800ac92: 695a ldr r2, [r3, #20] + 800ac94: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800ac98: 441a add r2, r3 + 800ac9a: 68bb ldr r3, [r7, #8] + 800ac9c: 615a str r2, [r3, #20] ep->xfer_count += TxPctSize; - 800a6e6: 68bb ldr r3, [r7, #8] - 800a6e8: 69da ldr r2, [r3, #28] - 800a6ea: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a6ee: 441a add r2, r3 - 800a6f0: 68bb ldr r3, [r7, #8] - 800a6f2: 61da str r2, [r3, #28] + 800ac9e: 68bb ldr r3, [r7, #8] + 800aca0: 69da ldr r2, [r3, #28] + 800aca2: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800aca6: 441a add r2, r3 + 800aca8: 68bb ldr r3, [r7, #8] + 800acaa: 61da str r2, [r3, #28] /* Calculate the len of the new buffer to fill */ if (ep->xfer_len_db >= ep->maxpacket) - 800a6f4: 68bb ldr r3, [r7, #8] - 800a6f6: 6a1a ldr r2, [r3, #32] - 800a6f8: 68bb ldr r3, [r7, #8] - 800a6fa: 691b ldr r3, [r3, #16] - 800a6fc: 429a cmp r2, r3 - 800a6fe: d309 bcc.n 800a714 + 800acac: 68bb ldr r3, [r7, #8] + 800acae: 6a1a ldr r2, [r3, #32] + 800acb0: 68bb ldr r3, [r7, #8] + 800acb2: 691b ldr r3, [r3, #16] + 800acb4: 429a cmp r2, r3 + 800acb6: d309 bcc.n 800accc { len = ep->maxpacket; - 800a700: 68bb ldr r3, [r7, #8] - 800a702: 691b ldr r3, [r3, #16] - 800a704: 65bb str r3, [r7, #88] @ 0x58 + 800acb8: 68bb ldr r3, [r7, #8] + 800acba: 691b ldr r3, [r3, #16] + 800acbc: 65bb str r3, [r7, #88] @ 0x58 ep->xfer_len_db -= len; - 800a706: 68bb ldr r3, [r7, #8] - 800a708: 6a1a ldr r2, [r3, #32] - 800a70a: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a70c: 1ad2 subs r2, r2, r3 - 800a70e: 68bb ldr r3, [r7, #8] - 800a710: 621a str r2, [r3, #32] - 800a712: e015 b.n 800a740 + 800acbe: 68bb ldr r3, [r7, #8] + 800acc0: 6a1a ldr r2, [r3, #32] + 800acc2: 6dbb ldr r3, [r7, #88] @ 0x58 + 800acc4: 1ad2 subs r2, r2, r3 + 800acc6: 68bb ldr r3, [r7, #8] + 800acc8: 621a str r2, [r3, #32] + 800acca: e015 b.n 800acf8 } else if (ep->xfer_len_db == 0U) - 800a714: 68bb ldr r3, [r7, #8] - 800a716: 6a1b ldr r3, [r3, #32] - 800a718: 2b00 cmp r3, #0 - 800a71a: d107 bne.n 800a72c + 800accc: 68bb ldr r3, [r7, #8] + 800acce: 6a1b ldr r3, [r3, #32] + 800acd0: 2b00 cmp r3, #0 + 800acd2: d107 bne.n 800ace4 { len = TxPctSize; - 800a71c: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 - 800a720: 65bb str r3, [r7, #88] @ 0x58 + 800acd4: f8b7 3096 ldrh.w r3, [r7, #150] @ 0x96 + 800acd8: 65bb str r3, [r7, #88] @ 0x58 ep->xfer_fill_db = 0U; - 800a722: 68bb ldr r3, [r7, #8] - 800a724: 2200 movs r2, #0 - 800a726: f883 2024 strb.w r2, [r3, #36] @ 0x24 - 800a72a: e009 b.n 800a740 + 800acda: 68bb ldr r3, [r7, #8] + 800acdc: 2200 movs r2, #0 + 800acde: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 800ace2: e009 b.n 800acf8 } else { len = ep->xfer_len_db; - 800a72c: 68bb ldr r3, [r7, #8] - 800a72e: 6a1b ldr r3, [r3, #32] - 800a730: 65bb str r3, [r7, #88] @ 0x58 + 800ace4: 68bb ldr r3, [r7, #8] + 800ace6: 6a1b ldr r3, [r3, #32] + 800ace8: 65bb str r3, [r7, #88] @ 0x58 ep->xfer_len_db = 0U; - 800a732: 68bb ldr r3, [r7, #8] - 800a734: 2200 movs r2, #0 - 800a736: 621a str r2, [r3, #32] + 800acea: 68bb ldr r3, [r7, #8] + 800acec: 2200 movs r2, #0 + 800acee: 621a str r2, [r3, #32] ep->xfer_fill_db = 0; - 800a738: 68bb ldr r3, [r7, #8] - 800a73a: 2200 movs r2, #0 - 800a73c: f883 2024 strb.w r2, [r3, #36] @ 0x24 + 800acf0: 68bb ldr r3, [r7, #8] + 800acf2: 2200 movs r2, #0 + 800acf4: f883 2024 strb.w r2, [r3, #36] @ 0x24 } /* Set the Double buffer counter for pma buffer1 */ PCD_SET_EP_DBUF1_CNT(hpcd->Instance, ep->num, ep->is_in, len); - 800a740: 68fb ldr r3, [r7, #12] - 800a742: 681b ldr r3, [r3, #0] - 800a744: 65fb str r3, [r7, #92] @ 0x5c - 800a746: 68bb ldr r3, [r7, #8] - 800a748: 785b ldrb r3, [r3, #1] - 800a74a: 2b00 cmp r3, #0 - 800a74c: d15f bne.n 800a80e - 800a74e: 68fb ldr r3, [r7, #12] - 800a750: 681b ldr r3, [r3, #0] - 800a752: 66bb str r3, [r7, #104] @ 0x68 - 800a754: 68fb ldr r3, [r7, #12] - 800a756: 681b ldr r3, [r3, #0] - 800a758: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a75c: b29b uxth r3, r3 - 800a75e: 461a mov r2, r3 - 800a760: 6ebb ldr r3, [r7, #104] @ 0x68 - 800a762: 4413 add r3, r2 - 800a764: 66bb str r3, [r7, #104] @ 0x68 - 800a766: 68bb ldr r3, [r7, #8] - 800a768: 781b ldrb r3, [r3, #0] - 800a76a: 00da lsls r2, r3, #3 - 800a76c: 6ebb ldr r3, [r7, #104] @ 0x68 - 800a76e: 4413 add r3, r2 - 800a770: f203 4306 addw r3, r3, #1030 @ 0x406 - 800a774: 667b str r3, [r7, #100] @ 0x64 - 800a776: 6e7b ldr r3, [r7, #100] @ 0x64 - 800a778: 881b ldrh r3, [r3, #0] - 800a77a: b29b uxth r3, r3 - 800a77c: f3c3 0309 ubfx r3, r3, #0, #10 - 800a780: b29a uxth r2, r3 - 800a782: 6e7b ldr r3, [r7, #100] @ 0x64 - 800a784: 801a strh r2, [r3, #0] - 800a786: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a788: 2b00 cmp r3, #0 - 800a78a: d10a bne.n 800a7a2 - 800a78c: 6e7b ldr r3, [r7, #100] @ 0x64 - 800a78e: 881b ldrh r3, [r3, #0] - 800a790: b29b uxth r3, r3 - 800a792: ea6f 4343 mvn.w r3, r3, lsl #17 - 800a796: ea6f 4353 mvn.w r3, r3, lsr #17 - 800a79a: b29a uxth r2, r3 - 800a79c: 6e7b ldr r3, [r7, #100] @ 0x64 - 800a79e: 801a strh r2, [r3, #0] - 800a7a0: e04e b.n 800a840 - 800a7a2: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a7a4: 2b3e cmp r3, #62 @ 0x3e - 800a7a6: d816 bhi.n 800a7d6 - 800a7a8: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a7aa: 085b lsrs r3, r3, #1 - 800a7ac: 663b str r3, [r7, #96] @ 0x60 - 800a7ae: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a7b0: f003 0301 and.w r3, r3, #1 - 800a7b4: 2b00 cmp r3, #0 - 800a7b6: d002 beq.n 800a7be - 800a7b8: 6e3b ldr r3, [r7, #96] @ 0x60 - 800a7ba: 3301 adds r3, #1 - 800a7bc: 663b str r3, [r7, #96] @ 0x60 - 800a7be: 6e7b ldr r3, [r7, #100] @ 0x64 - 800a7c0: 881b ldrh r3, [r3, #0] - 800a7c2: b29a uxth r2, r3 - 800a7c4: 6e3b ldr r3, [r7, #96] @ 0x60 - 800a7c6: b29b uxth r3, r3 - 800a7c8: 029b lsls r3, r3, #10 - 800a7ca: b29b uxth r3, r3 - 800a7cc: 4313 orrs r3, r2 - 800a7ce: b29a uxth r2, r3 - 800a7d0: 6e7b ldr r3, [r7, #100] @ 0x64 - 800a7d2: 801a strh r2, [r3, #0] - 800a7d4: e034 b.n 800a840 - 800a7d6: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a7d8: 095b lsrs r3, r3, #5 - 800a7da: 663b str r3, [r7, #96] @ 0x60 - 800a7dc: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a7de: f003 031f and.w r3, r3, #31 - 800a7e2: 2b00 cmp r3, #0 - 800a7e4: d102 bne.n 800a7ec - 800a7e6: 6e3b ldr r3, [r7, #96] @ 0x60 - 800a7e8: 3b01 subs r3, #1 - 800a7ea: 663b str r3, [r7, #96] @ 0x60 - 800a7ec: 6e7b ldr r3, [r7, #100] @ 0x64 - 800a7ee: 881b ldrh r3, [r3, #0] - 800a7f0: b29a uxth r2, r3 - 800a7f2: 6e3b ldr r3, [r7, #96] @ 0x60 - 800a7f4: b29b uxth r3, r3 - 800a7f6: 029b lsls r3, r3, #10 - 800a7f8: b29b uxth r3, r3 - 800a7fa: 4313 orrs r3, r2 - 800a7fc: b29b uxth r3, r3 - 800a7fe: ea6f 4343 mvn.w r3, r3, lsl #17 - 800a802: ea6f 4353 mvn.w r3, r3, lsr #17 - 800a806: b29a uxth r2, r3 - 800a808: 6e7b ldr r3, [r7, #100] @ 0x64 - 800a80a: 801a strh r2, [r3, #0] - 800a80c: e018 b.n 800a840 - 800a80e: 68bb ldr r3, [r7, #8] - 800a810: 785b ldrb r3, [r3, #1] - 800a812: 2b01 cmp r3, #1 - 800a814: d114 bne.n 800a840 - 800a816: 68fb ldr r3, [r7, #12] - 800a818: 681b ldr r3, [r3, #0] - 800a81a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800a81e: b29b uxth r3, r3 - 800a820: 461a mov r2, r3 - 800a822: 6dfb ldr r3, [r7, #92] @ 0x5c - 800a824: 4413 add r3, r2 - 800a826: 65fb str r3, [r7, #92] @ 0x5c - 800a828: 68bb ldr r3, [r7, #8] - 800a82a: 781b ldrb r3, [r3, #0] - 800a82c: 00da lsls r2, r3, #3 - 800a82e: 6dfb ldr r3, [r7, #92] @ 0x5c - 800a830: 4413 add r3, r2 - 800a832: f203 4306 addw r3, r3, #1030 @ 0x406 - 800a836: 66fb str r3, [r7, #108] @ 0x6c - 800a838: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a83a: b29a uxth r2, r3 - 800a83c: 6efb ldr r3, [r7, #108] @ 0x6c - 800a83e: 801a strh r2, [r3, #0] + 800acf8: 68fb ldr r3, [r7, #12] + 800acfa: 681b ldr r3, [r3, #0] + 800acfc: 65fb str r3, [r7, #92] @ 0x5c + 800acfe: 68bb ldr r3, [r7, #8] + 800ad00: 785b ldrb r3, [r3, #1] + 800ad02: 2b00 cmp r3, #0 + 800ad04: d15f bne.n 800adc6 + 800ad06: 68fb ldr r3, [r7, #12] + 800ad08: 681b ldr r3, [r3, #0] + 800ad0a: 66bb str r3, [r7, #104] @ 0x68 + 800ad0c: 68fb ldr r3, [r7, #12] + 800ad0e: 681b ldr r3, [r3, #0] + 800ad10: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800ad14: b29b uxth r3, r3 + 800ad16: 461a mov r2, r3 + 800ad18: 6ebb ldr r3, [r7, #104] @ 0x68 + 800ad1a: 4413 add r3, r2 + 800ad1c: 66bb str r3, [r7, #104] @ 0x68 + 800ad1e: 68bb ldr r3, [r7, #8] + 800ad20: 781b ldrb r3, [r3, #0] + 800ad22: 00da lsls r2, r3, #3 + 800ad24: 6ebb ldr r3, [r7, #104] @ 0x68 + 800ad26: 4413 add r3, r2 + 800ad28: f203 4306 addw r3, r3, #1030 @ 0x406 + 800ad2c: 667b str r3, [r7, #100] @ 0x64 + 800ad2e: 6e7b ldr r3, [r7, #100] @ 0x64 + 800ad30: 881b ldrh r3, [r3, #0] + 800ad32: b29b uxth r3, r3 + 800ad34: f3c3 0309 ubfx r3, r3, #0, #10 + 800ad38: b29a uxth r2, r3 + 800ad3a: 6e7b ldr r3, [r7, #100] @ 0x64 + 800ad3c: 801a strh r2, [r3, #0] + 800ad3e: 6dbb ldr r3, [r7, #88] @ 0x58 + 800ad40: 2b00 cmp r3, #0 + 800ad42: d10a bne.n 800ad5a + 800ad44: 6e7b ldr r3, [r7, #100] @ 0x64 + 800ad46: 881b ldrh r3, [r3, #0] + 800ad48: b29b uxth r3, r3 + 800ad4a: ea6f 4343 mvn.w r3, r3, lsl #17 + 800ad4e: ea6f 4353 mvn.w r3, r3, lsr #17 + 800ad52: b29a uxth r2, r3 + 800ad54: 6e7b ldr r3, [r7, #100] @ 0x64 + 800ad56: 801a strh r2, [r3, #0] + 800ad58: e04e b.n 800adf8 + 800ad5a: 6dbb ldr r3, [r7, #88] @ 0x58 + 800ad5c: 2b3e cmp r3, #62 @ 0x3e + 800ad5e: d816 bhi.n 800ad8e + 800ad60: 6dbb ldr r3, [r7, #88] @ 0x58 + 800ad62: 085b lsrs r3, r3, #1 + 800ad64: 663b str r3, [r7, #96] @ 0x60 + 800ad66: 6dbb ldr r3, [r7, #88] @ 0x58 + 800ad68: f003 0301 and.w r3, r3, #1 + 800ad6c: 2b00 cmp r3, #0 + 800ad6e: d002 beq.n 800ad76 + 800ad70: 6e3b ldr r3, [r7, #96] @ 0x60 + 800ad72: 3301 adds r3, #1 + 800ad74: 663b str r3, [r7, #96] @ 0x60 + 800ad76: 6e7b ldr r3, [r7, #100] @ 0x64 + 800ad78: 881b ldrh r3, [r3, #0] + 800ad7a: b29a uxth r2, r3 + 800ad7c: 6e3b ldr r3, [r7, #96] @ 0x60 + 800ad7e: b29b uxth r3, r3 + 800ad80: 029b lsls r3, r3, #10 + 800ad82: b29b uxth r3, r3 + 800ad84: 4313 orrs r3, r2 + 800ad86: b29a uxth r2, r3 + 800ad88: 6e7b ldr r3, [r7, #100] @ 0x64 + 800ad8a: 801a strh r2, [r3, #0] + 800ad8c: e034 b.n 800adf8 + 800ad8e: 6dbb ldr r3, [r7, #88] @ 0x58 + 800ad90: 095b lsrs r3, r3, #5 + 800ad92: 663b str r3, [r7, #96] @ 0x60 + 800ad94: 6dbb ldr r3, [r7, #88] @ 0x58 + 800ad96: f003 031f and.w r3, r3, #31 + 800ad9a: 2b00 cmp r3, #0 + 800ad9c: d102 bne.n 800ada4 + 800ad9e: 6e3b ldr r3, [r7, #96] @ 0x60 + 800ada0: 3b01 subs r3, #1 + 800ada2: 663b str r3, [r7, #96] @ 0x60 + 800ada4: 6e7b ldr r3, [r7, #100] @ 0x64 + 800ada6: 881b ldrh r3, [r3, #0] + 800ada8: b29a uxth r2, r3 + 800adaa: 6e3b ldr r3, [r7, #96] @ 0x60 + 800adac: b29b uxth r3, r3 + 800adae: 029b lsls r3, r3, #10 + 800adb0: b29b uxth r3, r3 + 800adb2: 4313 orrs r3, r2 + 800adb4: b29b uxth r3, r3 + 800adb6: ea6f 4343 mvn.w r3, r3, lsl #17 + 800adba: ea6f 4353 mvn.w r3, r3, lsr #17 + 800adbe: b29a uxth r2, r3 + 800adc0: 6e7b ldr r3, [r7, #100] @ 0x64 + 800adc2: 801a strh r2, [r3, #0] + 800adc4: e018 b.n 800adf8 + 800adc6: 68bb ldr r3, [r7, #8] + 800adc8: 785b ldrb r3, [r3, #1] + 800adca: 2b01 cmp r3, #1 + 800adcc: d114 bne.n 800adf8 + 800adce: 68fb ldr r3, [r7, #12] + 800add0: 681b ldr r3, [r3, #0] + 800add2: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800add6: b29b uxth r3, r3 + 800add8: 461a mov r2, r3 + 800adda: 6dfb ldr r3, [r7, #92] @ 0x5c + 800addc: 4413 add r3, r2 + 800adde: 65fb str r3, [r7, #92] @ 0x5c + 800ade0: 68bb ldr r3, [r7, #8] + 800ade2: 781b ldrb r3, [r3, #0] + 800ade4: 00da lsls r2, r3, #3 + 800ade6: 6dfb ldr r3, [r7, #92] @ 0x5c + 800ade8: 4413 add r3, r2 + 800adea: f203 4306 addw r3, r3, #1030 @ 0x406 + 800adee: 66fb str r3, [r7, #108] @ 0x6c + 800adf0: 6dbb ldr r3, [r7, #88] @ 0x58 + 800adf2: b29a uxth r2, r3 + 800adf4: 6efb ldr r3, [r7, #108] @ 0x6c + 800adf6: 801a strh r2, [r3, #0] /* Copy the user buffer to USB PMA */ USB_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, (uint16_t)len); - 800a840: 68fb ldr r3, [r7, #12] - 800a842: 6818 ldr r0, [r3, #0] - 800a844: 68bb ldr r3, [r7, #8] - 800a846: 6959 ldr r1, [r3, #20] - 800a848: 68bb ldr r3, [r7, #8] - 800a84a: 895a ldrh r2, [r3, #10] - 800a84c: 6dbb ldr r3, [r7, #88] @ 0x58 - 800a84e: b29b uxth r3, r3 - 800a850: f005 fdc5 bl 80103de + 800adf8: 68fb ldr r3, [r7, #12] + 800adfa: 6818 ldr r0, [r3, #0] + 800adfc: 68bb ldr r3, [r7, #8] + 800adfe: 6959 ldr r1, [r3, #20] + 800ae00: 68bb ldr r3, [r7, #8] + 800ae02: 895a ldrh r2, [r3, #10] + 800ae04: 6dbb ldr r3, [r7, #88] @ 0x58 + 800ae06: b29b uxth r3, r3 + 800ae08: f005 ffe7 bl 8010dda } } } /* Enable endpoint IN */ PCD_SET_EP_TX_STATUS(hpcd->Instance, ep->num, USB_EP_TX_VALID); - 800a854: 68fb ldr r3, [r7, #12] - 800a856: 681b ldr r3, [r3, #0] - 800a858: 461a mov r2, r3 - 800a85a: 68bb ldr r3, [r7, #8] - 800a85c: 781b ldrb r3, [r3, #0] - 800a85e: 009b lsls r3, r3, #2 - 800a860: 4413 add r3, r2 - 800a862: 881b ldrh r3, [r3, #0] - 800a864: b29b uxth r3, r3 - 800a866: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800a86a: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800a86e: 82fb strh r3, [r7, #22] - 800a870: 8afb ldrh r3, [r7, #22] - 800a872: f083 0310 eor.w r3, r3, #16 - 800a876: 82fb strh r3, [r7, #22] - 800a878: 8afb ldrh r3, [r7, #22] - 800a87a: f083 0320 eor.w r3, r3, #32 - 800a87e: 82fb strh r3, [r7, #22] - 800a880: 68fb ldr r3, [r7, #12] - 800a882: 681b ldr r3, [r3, #0] - 800a884: 461a mov r2, r3 - 800a886: 68bb ldr r3, [r7, #8] - 800a888: 781b ldrb r3, [r3, #0] - 800a88a: 009b lsls r3, r3, #2 - 800a88c: 441a add r2, r3 - 800a88e: 8afb ldrh r3, [r7, #22] - 800a890: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800a894: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800a898: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800a89c: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800a8a0: b29b uxth r3, r3 - 800a8a2: 8013 strh r3, [r2, #0] + 800ae0c: 68fb ldr r3, [r7, #12] + 800ae0e: 681b ldr r3, [r3, #0] + 800ae10: 461a mov r2, r3 + 800ae12: 68bb ldr r3, [r7, #8] + 800ae14: 781b ldrb r3, [r3, #0] + 800ae16: 009b lsls r3, r3, #2 + 800ae18: 4413 add r3, r2 + 800ae1a: 881b ldrh r3, [r3, #0] + 800ae1c: b29b uxth r3, r3 + 800ae1e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800ae22: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800ae26: 82fb strh r3, [r7, #22] + 800ae28: 8afb ldrh r3, [r7, #22] + 800ae2a: f083 0310 eor.w r3, r3, #16 + 800ae2e: 82fb strh r3, [r7, #22] + 800ae30: 8afb ldrh r3, [r7, #22] + 800ae32: f083 0320 eor.w r3, r3, #32 + 800ae36: 82fb strh r3, [r7, #22] + 800ae38: 68fb ldr r3, [r7, #12] + 800ae3a: 681b ldr r3, [r3, #0] + 800ae3c: 461a mov r2, r3 + 800ae3e: 68bb ldr r3, [r7, #8] + 800ae40: 781b ldrb r3, [r3, #0] + 800ae42: 009b lsls r3, r3, #2 + 800ae44: 441a add r2, r3 + 800ae46: 8afb ldrh r3, [r7, #22] + 800ae48: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800ae4c: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800ae50: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800ae54: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800ae58: b29b uxth r3, r3 + 800ae5a: 8013 strh r3, [r2, #0] return HAL_OK; - 800a8a4: 2300 movs r3, #0 + 800ae5c: 2300 movs r3, #0 } - 800a8a6: 4618 mov r0, r3 - 800a8a8: 3798 adds r7, #152 @ 0x98 - 800a8aa: 46bd mov sp, r7 - 800a8ac: bd80 pop {r7, pc} + 800ae5e: 4618 mov r0, r3 + 800ae60: 3798 adds r7, #152 @ 0x98 + 800ae62: 46bd mov sp, r7 + 800ae64: bd80 pop {r7, pc} -0800a8ae : +0800ae66 : * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd, uint16_t ep_addr, uint16_t ep_kind, uint32_t pmaadress) { - 800a8ae: b480 push {r7} - 800a8b0: b087 sub sp, #28 - 800a8b2: af00 add r7, sp, #0 - 800a8b4: 60f8 str r0, [r7, #12] - 800a8b6: 607b str r3, [r7, #4] - 800a8b8: 460b mov r3, r1 - 800a8ba: 817b strh r3, [r7, #10] - 800a8bc: 4613 mov r3, r2 - 800a8be: 813b strh r3, [r7, #8] + 800ae66: b480 push {r7} + 800ae68: b087 sub sp, #28 + 800ae6a: af00 add r7, sp, #0 + 800ae6c: 60f8 str r0, [r7, #12] + 800ae6e: 607b str r3, [r7, #4] + 800ae70: 460b mov r3, r1 + 800ae72: 817b strh r3, [r7, #10] + 800ae74: 4613 mov r3, r2 + 800ae76: 813b strh r3, [r7, #8] PCD_EPTypeDef *ep; /* Initialize ep structure */ if ((0x80U & ep_addr) == 0x80U) - 800a8c0: 897b ldrh r3, [r7, #10] - 800a8c2: f003 0380 and.w r3, r3, #128 @ 0x80 - 800a8c6: b29b uxth r3, r3 - 800a8c8: 2b00 cmp r3, #0 - 800a8ca: d00b beq.n 800a8e4 + 800ae78: 897b ldrh r3, [r7, #10] + 800ae7a: f003 0380 and.w r3, r3, #128 @ 0x80 + 800ae7e: b29b uxth r3, r3 + 800ae80: 2b00 cmp r3, #0 + 800ae82: d00b beq.n 800ae9c { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; - 800a8cc: 897b ldrh r3, [r7, #10] - 800a8ce: f003 0207 and.w r2, r3, #7 - 800a8d2: 4613 mov r3, r2 - 800a8d4: 009b lsls r3, r3, #2 - 800a8d6: 4413 add r3, r2 - 800a8d8: 00db lsls r3, r3, #3 - 800a8da: 3310 adds r3, #16 - 800a8dc: 68fa ldr r2, [r7, #12] - 800a8de: 4413 add r3, r2 - 800a8e0: 617b str r3, [r7, #20] - 800a8e2: e009 b.n 800a8f8 + 800ae84: 897b ldrh r3, [r7, #10] + 800ae86: f003 0207 and.w r2, r3, #7 + 800ae8a: 4613 mov r3, r2 + 800ae8c: 009b lsls r3, r3, #2 + 800ae8e: 4413 add r3, r2 + 800ae90: 00db lsls r3, r3, #3 + 800ae92: 3310 adds r3, #16 + 800ae94: 68fa ldr r2, [r7, #12] + 800ae96: 4413 add r3, r2 + 800ae98: 617b str r3, [r7, #20] + 800ae9a: e009 b.n 800aeb0 } else { ep = &hpcd->OUT_ep[ep_addr]; - 800a8e4: 897a ldrh r2, [r7, #10] - 800a8e6: 4613 mov r3, r2 - 800a8e8: 009b lsls r3, r3, #2 - 800a8ea: 4413 add r3, r2 - 800a8ec: 00db lsls r3, r3, #3 - 800a8ee: f503 73a8 add.w r3, r3, #336 @ 0x150 - 800a8f2: 68fa ldr r2, [r7, #12] - 800a8f4: 4413 add r3, r2 - 800a8f6: 617b str r3, [r7, #20] + 800ae9c: 897a ldrh r2, [r7, #10] + 800ae9e: 4613 mov r3, r2 + 800aea0: 009b lsls r3, r3, #2 + 800aea2: 4413 add r3, r2 + 800aea4: 00db lsls r3, r3, #3 + 800aea6: f503 73a8 add.w r3, r3, #336 @ 0x150 + 800aeaa: 68fa ldr r2, [r7, #12] + 800aeac: 4413 add r3, r2 + 800aeae: 617b str r3, [r7, #20] } /* Here we check if the endpoint is single or double Buffer*/ if (ep_kind == PCD_SNG_BUF) - 800a8f8: 893b ldrh r3, [r7, #8] - 800a8fa: 2b00 cmp r3, #0 - 800a8fc: d107 bne.n 800a90e + 800aeb0: 893b ldrh r3, [r7, #8] + 800aeb2: 2b00 cmp r3, #0 + 800aeb4: d107 bne.n 800aec6 { /* Single Buffer */ ep->doublebuffer = 0U; - 800a8fe: 697b ldr r3, [r7, #20] - 800a900: 2200 movs r2, #0 - 800a902: 731a strb r2, [r3, #12] + 800aeb6: 697b ldr r3, [r7, #20] + 800aeb8: 2200 movs r2, #0 + 800aeba: 731a strb r2, [r3, #12] /* Configure the PMA */ ep->pmaadress = (uint16_t)pmaadress; - 800a904: 687b ldr r3, [r7, #4] - 800a906: b29a uxth r2, r3 - 800a908: 697b ldr r3, [r7, #20] - 800a90a: 80da strh r2, [r3, #6] - 800a90c: e00b b.n 800a926 + 800aebc: 687b ldr r3, [r7, #4] + 800aebe: b29a uxth r2, r3 + 800aec0: 697b ldr r3, [r7, #20] + 800aec2: 80da strh r2, [r3, #6] + 800aec4: e00b b.n 800aede } #if (USE_USB_DOUBLE_BUFFER == 1U) else /* USB_DBL_BUF */ { /* Double Buffer Endpoint */ ep->doublebuffer = 1U; - 800a90e: 697b ldr r3, [r7, #20] - 800a910: 2201 movs r2, #1 - 800a912: 731a strb r2, [r3, #12] + 800aec6: 697b ldr r3, [r7, #20] + 800aec8: 2201 movs r2, #1 + 800aeca: 731a strb r2, [r3, #12] /* Configure the PMA */ ep->pmaaddr0 = (uint16_t)(pmaadress & 0xFFFFU); - 800a914: 687b ldr r3, [r7, #4] - 800a916: b29a uxth r2, r3 - 800a918: 697b ldr r3, [r7, #20] - 800a91a: 811a strh r2, [r3, #8] + 800aecc: 687b ldr r3, [r7, #4] + 800aece: b29a uxth r2, r3 + 800aed0: 697b ldr r3, [r7, #20] + 800aed2: 811a strh r2, [r3, #8] ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16); - 800a91c: 687b ldr r3, [r7, #4] - 800a91e: 0c1b lsrs r3, r3, #16 - 800a920: b29a uxth r2, r3 - 800a922: 697b ldr r3, [r7, #20] - 800a924: 815a strh r2, [r3, #10] + 800aed4: 687b ldr r3, [r7, #4] + 800aed6: 0c1b lsrs r3, r3, #16 + 800aed8: b29a uxth r2, r3 + 800aeda: 697b ldr r3, [r7, #20] + 800aedc: 815a strh r2, [r3, #10] } #endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ return HAL_OK; - 800a926: 2300 movs r3, #0 + 800aede: 2300 movs r3, #0 } - 800a928: 4618 mov r0, r3 - 800a92a: 371c adds r7, #28 - 800a92c: 46bd mov sp, r7 - 800a92e: f85d 7b04 ldr.w r7, [sp], #4 - 800a932: 4770 bx lr + 800aee0: 4618 mov r0, r3 + 800aee2: 371c adds r7, #28 + 800aee4: 46bd mov sp, r7 + 800aee6: f85d 7b04 ldr.w r7, [sp], #4 + 800aeea: 4770 bx lr -0800a934 : +0800aeec : * @brief Activate LPM feature. * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd) { - 800a934: b480 push {r7} - 800a936: b085 sub sp, #20 - 800a938: af00 add r7, sp, #0 - 800a93a: 6078 str r0, [r7, #4] + 800aeec: b480 push {r7} + 800aeee: b085 sub sp, #20 + 800aef0: af00 add r7, sp, #0 + 800aef2: 6078 str r0, [r7, #4] USB_TypeDef *USBx = hpcd->Instance; - 800a93c: 687b ldr r3, [r7, #4] - 800a93e: 681b ldr r3, [r3, #0] - 800a940: 60fb str r3, [r7, #12] + 800aef4: 687b ldr r3, [r7, #4] + 800aef6: 681b ldr r3, [r3, #0] + 800aef8: 60fb str r3, [r7, #12] hpcd->lpm_active = 1U; - 800a942: 687b ldr r3, [r7, #4] - 800a944: 2201 movs r2, #1 - 800a946: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 + 800aefa: 687b ldr r3, [r7, #4] + 800aefc: 2201 movs r2, #1 + 800aefe: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 hpcd->LPM_State = LPM_L0; - 800a94a: 687b ldr r3, [r7, #4] - 800a94c: 2200 movs r2, #0 - 800a94e: f883 22c8 strb.w r2, [r3, #712] @ 0x2c8 + 800af02: 687b ldr r3, [r7, #4] + 800af04: 2200 movs r2, #0 + 800af06: f883 22c8 strb.w r2, [r3, #712] @ 0x2c8 USBx->LPMCSR |= USB_LPMCSR_LMPEN; - 800a952: 68fb ldr r3, [r7, #12] - 800a954: f8b3 3054 ldrh.w r3, [r3, #84] @ 0x54 - 800a958: b29b uxth r3, r3 - 800a95a: f043 0301 orr.w r3, r3, #1 - 800a95e: b29a uxth r2, r3 - 800a960: 68fb ldr r3, [r7, #12] - 800a962: f8a3 2054 strh.w r2, [r3, #84] @ 0x54 + 800af0a: 68fb ldr r3, [r7, #12] + 800af0c: f8b3 3054 ldrh.w r3, [r3, #84] @ 0x54 + 800af10: b29b uxth r3, r3 + 800af12: f043 0301 orr.w r3, r3, #1 + 800af16: b29a uxth r2, r3 + 800af18: 68fb ldr r3, [r7, #12] + 800af1a: f8a3 2054 strh.w r2, [r3, #84] @ 0x54 USBx->LPMCSR |= USB_LPMCSR_LPMACK; - 800a966: 68fb ldr r3, [r7, #12] - 800a968: f8b3 3054 ldrh.w r3, [r3, #84] @ 0x54 - 800a96c: b29b uxth r3, r3 - 800a96e: f043 0302 orr.w r3, r3, #2 - 800a972: b29a uxth r2, r3 - 800a974: 68fb ldr r3, [r7, #12] - 800a976: f8a3 2054 strh.w r2, [r3, #84] @ 0x54 + 800af1e: 68fb ldr r3, [r7, #12] + 800af20: f8b3 3054 ldrh.w r3, [r3, #84] @ 0x54 + 800af24: b29b uxth r3, r3 + 800af26: f043 0302 orr.w r3, r3, #2 + 800af2a: b29a uxth r2, r3 + 800af2c: 68fb ldr r3, [r7, #12] + 800af2e: f8a3 2054 strh.w r2, [r3, #84] @ 0x54 return HAL_OK; - 800a97a: 2300 movs r3, #0 + 800af32: 2300 movs r3, #0 } - 800a97c: 4618 mov r0, r3 - 800a97e: 3714 adds r7, #20 - 800a980: 46bd mov sp, r7 - 800a982: f85d 7b04 ldr.w r7, [sp], #4 - 800a986: 4770 bx lr + 800af34: 4618 mov r0, r3 + 800af36: 3714 adds r7, #20 + 800af38: 46bd mov sp, r7 + 800af3a: f85d 7b04 ldr.w r7, [sp], #4 + 800af3e: 4770 bx lr -0800a988 : +0800af40 : * @note LSEON bit that switches on and off the LSE crystal belongs as well to the * back-up domain. * @retval None */ void HAL_PWR_EnableBkUpAccess(void) { - 800a988: b480 push {r7} - 800a98a: af00 add r7, sp, #0 + 800af40: b480 push {r7} + 800af42: af00 add r7, sp, #0 SET_BIT(PWR->CR1, PWR_CR1_DBP); - 800a98c: 4b05 ldr r3, [pc, #20] @ (800a9a4 ) - 800a98e: 681b ldr r3, [r3, #0] - 800a990: 4a04 ldr r2, [pc, #16] @ (800a9a4 ) - 800a992: f443 7380 orr.w r3, r3, #256 @ 0x100 - 800a996: 6013 str r3, [r2, #0] + 800af44: 4b05 ldr r3, [pc, #20] @ (800af5c ) + 800af46: 681b ldr r3, [r3, #0] + 800af48: 4a04 ldr r2, [pc, #16] @ (800af5c ) + 800af4a: f443 7380 orr.w r3, r3, #256 @ 0x100 + 800af4e: 6013 str r3, [r2, #0] } - 800a998: bf00 nop - 800a99a: 46bd mov sp, r7 - 800a99c: f85d 7b04 ldr.w r7, [sp], #4 - 800a9a0: 4770 bx lr - 800a9a2: bf00 nop - 800a9a4: 58000400 .word 0x58000400 + 800af50: bf00 nop + 800af52: 46bd mov sp, r7 + 800af54: f85d 7b04 ldr.w r7, [sp], #4 + 800af58: 4770 bx lr + 800af5a: bf00 nop + 800af5c: 58000400 .word 0x58000400 -0800a9a8 : +0800af60 : /** * @brief Return Voltage Scaling Range. * @retval VOS bit field (PWR_REGULATOR_VOLTAGE_RANGE1 or PWR_REGULATOR_VOLTAGE_RANGE2) */ uint32_t HAL_PWREx_GetVoltageRange(void) { - 800a9a8: b480 push {r7} - 800a9aa: af00 add r7, sp, #0 + 800af60: b480 push {r7} + 800af62: af00 add r7, sp, #0 return (PWR->CR1 & PWR_CR1_VOS); - 800a9ac: 4b04 ldr r3, [pc, #16] @ (800a9c0 ) - 800a9ae: 681b ldr r3, [r3, #0] - 800a9b0: f403 63c0 and.w r3, r3, #1536 @ 0x600 + 800af64: 4b04 ldr r3, [pc, #16] @ (800af78 ) + 800af66: 681b ldr r3, [r3, #0] + 800af68: f403 63c0 and.w r3, r3, #1536 @ 0x600 } - 800a9b4: 4618 mov r0, r3 - 800a9b6: 46bd mov sp, r7 - 800a9b8: f85d 7b04 ldr.w r7, [sp], #4 - 800a9bc: 4770 bx lr - 800a9be: bf00 nop - 800a9c0: 58000400 .word 0x58000400 + 800af6c: 4618 mov r0, r3 + 800af6e: 46bd mov sp, r7 + 800af70: f85d 7b04 ldr.w r7, [sp], #4 + 800af74: 4770 bx lr + 800af76: bf00 nop + 800af78: 58000400 .word 0x58000400 -0800a9c4 : +0800af7c : * @brief Enable VDDUSB supply. * @note Remove VDDUSB electrical and logical isolation, once VDDUSB supply is present. * @retval None */ void HAL_PWREx_EnableVddUSB(void) { - 800a9c4: b480 push {r7} - 800a9c6: af00 add r7, sp, #0 + 800af7c: b480 push {r7} + 800af7e: af00 add r7, sp, #0 SET_BIT(PWR->CR2, PWR_CR2_USV); - 800a9c8: 4b05 ldr r3, [pc, #20] @ (800a9e0 ) - 800a9ca: 685b ldr r3, [r3, #4] - 800a9cc: 4a04 ldr r2, [pc, #16] @ (800a9e0 ) - 800a9ce: f443 6380 orr.w r3, r3, #1024 @ 0x400 - 800a9d2: 6053 str r3, [r2, #4] + 800af80: 4b05 ldr r3, [pc, #20] @ (800af98 ) + 800af82: 685b ldr r3, [r3, #4] + 800af84: 4a04 ldr r2, [pc, #16] @ (800af98 ) + 800af86: f443 6380 orr.w r3, r3, #1024 @ 0x400 + 800af8a: 6053 str r3, [r2, #4] } - 800a9d4: bf00 nop - 800a9d6: 46bd mov sp, r7 - 800a9d8: f85d 7b04 ldr.w r7, [sp], #4 - 800a9dc: 4770 bx lr - 800a9de: bf00 nop - 800a9e0: 58000400 .word 0x58000400 + 800af8c: bf00 nop + 800af8e: 46bd mov sp, r7 + 800af90: f85d 7b04 ldr.w r7, [sp], #4 + 800af94: 4770 bx lr + 800af96: bf00 nop + 800af98: 58000400 .word 0x58000400 -0800a9e4 : +0800af9c : { - 800a9e4: b480 push {r7} - 800a9e6: af00 add r7, sp, #0 + 800af9c: b480 push {r7} + 800af9e: af00 add r7, sp, #0 return ((READ_BIT(RCC->CR, RCC_CR_HSEPRE) == (RCC_CR_HSEPRE)) ? 1UL : 0UL); - 800a9e8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800a9ec: 681b ldr r3, [r3, #0] - 800a9ee: f403 1380 and.w r3, r3, #1048576 @ 0x100000 - 800a9f2: f5b3 1f80 cmp.w r3, #1048576 @ 0x100000 - 800a9f6: d101 bne.n 800a9fc - 800a9f8: 2301 movs r3, #1 - 800a9fa: e000 b.n 800a9fe - 800a9fc: 2300 movs r3, #0 + 800afa0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800afa4: 681b ldr r3, [r3, #0] + 800afa6: f403 1380 and.w r3, r3, #1048576 @ 0x100000 + 800afaa: f5b3 1f80 cmp.w r3, #1048576 @ 0x100000 + 800afae: d101 bne.n 800afb4 + 800afb0: 2301 movs r3, #1 + 800afb2: e000 b.n 800afb6 + 800afb4: 2300 movs r3, #0 } - 800a9fe: 4618 mov r0, r3 - 800aa00: 46bd mov sp, r7 - 800aa02: f85d 7b04 ldr.w r7, [sp], #4 - 800aa06: 4770 bx lr + 800afb6: 4618 mov r0, r3 + 800afb8: 46bd mov sp, r7 + 800afba: f85d 7b04 ldr.w r7, [sp], #4 + 800afbe: 4770 bx lr -0800aa08 : +0800afc0 : { - 800aa08: b480 push {r7} - 800aa0a: af00 add r7, sp, #0 + 800afc0: b480 push {r7} + 800afc2: af00 add r7, sp, #0 SET_BIT(RCC->CR, RCC_CR_HSEON); - 800aa0c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aa10: 681b ldr r3, [r3, #0] - 800aa12: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800aa16: f443 3380 orr.w r3, r3, #65536 @ 0x10000 - 800aa1a: 6013 str r3, [r2, #0] + 800afc4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800afc8: 681b ldr r3, [r3, #0] + 800afca: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800afce: f443 3380 orr.w r3, r3, #65536 @ 0x10000 + 800afd2: 6013 str r3, [r2, #0] } - 800aa1c: bf00 nop - 800aa1e: 46bd mov sp, r7 - 800aa20: f85d 7b04 ldr.w r7, [sp], #4 - 800aa24: 4770 bx lr + 800afd4: bf00 nop + 800afd6: 46bd mov sp, r7 + 800afd8: f85d 7b04 ldr.w r7, [sp], #4 + 800afdc: 4770 bx lr -0800aa26 : +0800afde : { - 800aa26: b480 push {r7} - 800aa28: af00 add r7, sp, #0 + 800afde: b480 push {r7} + 800afe0: af00 add r7, sp, #0 CLEAR_BIT(RCC->CR, RCC_CR_HSEON); - 800aa2a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aa2e: 681b ldr r3, [r3, #0] - 800aa30: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800aa34: f423 3380 bic.w r3, r3, #65536 @ 0x10000 - 800aa38: 6013 str r3, [r2, #0] + 800afe2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800afe6: 681b ldr r3, [r3, #0] + 800afe8: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800afec: f423 3380 bic.w r3, r3, #65536 @ 0x10000 + 800aff0: 6013 str r3, [r2, #0] } - 800aa3a: bf00 nop - 800aa3c: 46bd mov sp, r7 - 800aa3e: f85d 7b04 ldr.w r7, [sp], #4 - 800aa42: 4770 bx lr + 800aff2: bf00 nop + 800aff4: 46bd mov sp, r7 + 800aff6: f85d 7b04 ldr.w r7, [sp], #4 + 800affa: 4770 bx lr -0800aa44 : +0800affc : { - 800aa44: b480 push {r7} - 800aa46: af00 add r7, sp, #0 + 800affc: b480 push {r7} + 800affe: af00 add r7, sp, #0 return ((READ_BIT(RCC->CR, RCC_CR_HSERDY) == (RCC_CR_HSERDY)) ? 1UL : 0UL); - 800aa48: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aa4c: 681b ldr r3, [r3, #0] - 800aa4e: f403 3300 and.w r3, r3, #131072 @ 0x20000 - 800aa52: f5b3 3f00 cmp.w r3, #131072 @ 0x20000 - 800aa56: d101 bne.n 800aa5c - 800aa58: 2301 movs r3, #1 - 800aa5a: e000 b.n 800aa5e - 800aa5c: 2300 movs r3, #0 + 800b000: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b004: 681b ldr r3, [r3, #0] + 800b006: f403 3300 and.w r3, r3, #131072 @ 0x20000 + 800b00a: f5b3 3f00 cmp.w r3, #131072 @ 0x20000 + 800b00e: d101 bne.n 800b014 + 800b010: 2301 movs r3, #1 + 800b012: e000 b.n 800b016 + 800b014: 2300 movs r3, #0 } - 800aa5e: 4618 mov r0, r3 - 800aa60: 46bd mov sp, r7 - 800aa62: f85d 7b04 ldr.w r7, [sp], #4 - 800aa66: 4770 bx lr + 800b016: 4618 mov r0, r3 + 800b018: 46bd mov sp, r7 + 800b01a: f85d 7b04 ldr.w r7, [sp], #4 + 800b01e: 4770 bx lr -0800aa68 : +0800b020 : { - 800aa68: b480 push {r7} - 800aa6a: af00 add r7, sp, #0 + 800b020: b480 push {r7} + 800b022: af00 add r7, sp, #0 SET_BIT(RCC->CR, RCC_CR_HSION); - 800aa6c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aa70: 681b ldr r3, [r3, #0] - 800aa72: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800aa76: f443 7380 orr.w r3, r3, #256 @ 0x100 - 800aa7a: 6013 str r3, [r2, #0] + 800b024: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b028: 681b ldr r3, [r3, #0] + 800b02a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b02e: f443 7380 orr.w r3, r3, #256 @ 0x100 + 800b032: 6013 str r3, [r2, #0] } - 800aa7c: bf00 nop - 800aa7e: 46bd mov sp, r7 - 800aa80: f85d 7b04 ldr.w r7, [sp], #4 - 800aa84: 4770 bx lr + 800b034: bf00 nop + 800b036: 46bd mov sp, r7 + 800b038: f85d 7b04 ldr.w r7, [sp], #4 + 800b03c: 4770 bx lr -0800aa86 : +0800b03e : { - 800aa86: b480 push {r7} - 800aa88: af00 add r7, sp, #0 + 800b03e: b480 push {r7} + 800b040: af00 add r7, sp, #0 CLEAR_BIT(RCC->CR, RCC_CR_HSION); - 800aa8a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aa8e: 681b ldr r3, [r3, #0] - 800aa90: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800aa94: f423 7380 bic.w r3, r3, #256 @ 0x100 - 800aa98: 6013 str r3, [r2, #0] + 800b042: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b046: 681b ldr r3, [r3, #0] + 800b048: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b04c: f423 7380 bic.w r3, r3, #256 @ 0x100 + 800b050: 6013 str r3, [r2, #0] } - 800aa9a: bf00 nop - 800aa9c: 46bd mov sp, r7 - 800aa9e: f85d 7b04 ldr.w r7, [sp], #4 - 800aaa2: 4770 bx lr + 800b052: bf00 nop + 800b054: 46bd mov sp, r7 + 800b056: f85d 7b04 ldr.w r7, [sp], #4 + 800b05a: 4770 bx lr -0800aaa4 : +0800b05c : { - 800aaa4: b480 push {r7} - 800aaa6: af00 add r7, sp, #0 + 800b05c: b480 push {r7} + 800b05e: af00 add r7, sp, #0 return ((READ_BIT(RCC->CR, RCC_CR_HSIRDY) == (RCC_CR_HSIRDY)) ? 1UL : 0UL); - 800aaa8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aaac: 681b ldr r3, [r3, #0] - 800aaae: f403 6380 and.w r3, r3, #1024 @ 0x400 - 800aab2: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 800aab6: d101 bne.n 800aabc - 800aab8: 2301 movs r3, #1 - 800aaba: e000 b.n 800aabe - 800aabc: 2300 movs r3, #0 + 800b060: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b064: 681b ldr r3, [r3, #0] + 800b066: f403 6380 and.w r3, r3, #1024 @ 0x400 + 800b06a: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 800b06e: d101 bne.n 800b074 + 800b070: 2301 movs r3, #1 + 800b072: e000 b.n 800b076 + 800b074: 2300 movs r3, #0 } - 800aabe: 4618 mov r0, r3 - 800aac0: 46bd mov sp, r7 - 800aac2: f85d 7b04 ldr.w r7, [sp], #4 - 800aac6: 4770 bx lr + 800b076: 4618 mov r0, r3 + 800b078: 46bd mov sp, r7 + 800b07a: f85d 7b04 ldr.w r7, [sp], #4 + 800b07e: 4770 bx lr -0800aac8 : +0800b080 : { - 800aac8: b480 push {r7} - 800aaca: b083 sub sp, #12 - 800aacc: af00 add r7, sp, #0 - 800aace: 6078 str r0, [r7, #4] + 800b080: b480 push {r7} + 800b082: b083 sub sp, #12 + 800b084: af00 add r7, sp, #0 + 800b086: 6078 str r0, [r7, #4] MODIFY_REG(RCC->ICSCR, RCC_ICSCR_HSITRIM, Value << RCC_ICSCR_HSITRIM_Pos); - 800aad0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aad4: 685b ldr r3, [r3, #4] - 800aad6: f023 42fe bic.w r2, r3, #2130706432 @ 0x7f000000 - 800aada: 687b ldr r3, [r7, #4] - 800aadc: 061b lsls r3, r3, #24 - 800aade: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800aae2: 4313 orrs r3, r2 - 800aae4: 604b str r3, [r1, #4] + 800b088: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b08c: 685b ldr r3, [r3, #4] + 800b08e: f023 42fe bic.w r2, r3, #2130706432 @ 0x7f000000 + 800b092: 687b ldr r3, [r7, #4] + 800b094: 061b lsls r3, r3, #24 + 800b096: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b09a: 4313 orrs r3, r2 + 800b09c: 604b str r3, [r1, #4] } - 800aae6: bf00 nop - 800aae8: 370c adds r7, #12 - 800aaea: 46bd mov sp, r7 - 800aaec: f85d 7b04 ldr.w r7, [sp], #4 - 800aaf0: 4770 bx lr + 800b09e: bf00 nop + 800b0a0: 370c adds r7, #12 + 800b0a2: 46bd mov sp, r7 + 800b0a4: f85d 7b04 ldr.w r7, [sp], #4 + 800b0a8: 4770 bx lr -0800aaf2 : +0800b0aa : { - 800aaf2: b480 push {r7} - 800aaf4: af00 add r7, sp, #0 + 800b0aa: b480 push {r7} + 800b0ac: af00 add r7, sp, #0 SET_BIT(RCC->CRRCR, RCC_CRRCR_HSI48ON); - 800aaf6: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aafa: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 - 800aafe: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ab02: f043 0301 orr.w r3, r3, #1 - 800ab06: f8c2 3098 str.w r3, [r2, #152] @ 0x98 + 800b0ae: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b0b2: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 + 800b0b6: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b0ba: f043 0301 orr.w r3, r3, #1 + 800b0be: f8c2 3098 str.w r3, [r2, #152] @ 0x98 } - 800ab0a: bf00 nop - 800ab0c: 46bd mov sp, r7 - 800ab0e: f85d 7b04 ldr.w r7, [sp], #4 - 800ab12: 4770 bx lr + 800b0c2: bf00 nop + 800b0c4: 46bd mov sp, r7 + 800b0c6: f85d 7b04 ldr.w r7, [sp], #4 + 800b0ca: 4770 bx lr -0800ab14 : +0800b0cc : { - 800ab14: b480 push {r7} - 800ab16: af00 add r7, sp, #0 + 800b0cc: b480 push {r7} + 800b0ce: af00 add r7, sp, #0 CLEAR_BIT(RCC->CRRCR, RCC_CRRCR_HSI48ON); - 800ab18: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ab1c: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 - 800ab20: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ab24: f023 0301 bic.w r3, r3, #1 - 800ab28: f8c2 3098 str.w r3, [r2, #152] @ 0x98 + 800b0d0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b0d4: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 + 800b0d8: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b0dc: f023 0301 bic.w r3, r3, #1 + 800b0e0: f8c2 3098 str.w r3, [r2, #152] @ 0x98 } - 800ab2c: bf00 nop - 800ab2e: 46bd mov sp, r7 - 800ab30: f85d 7b04 ldr.w r7, [sp], #4 - 800ab34: 4770 bx lr + 800b0e4: bf00 nop + 800b0e6: 46bd mov sp, r7 + 800b0e8: f85d 7b04 ldr.w r7, [sp], #4 + 800b0ec: 4770 bx lr -0800ab36 : +0800b0ee : { - 800ab36: b480 push {r7} - 800ab38: af00 add r7, sp, #0 + 800b0ee: b480 push {r7} + 800b0f0: af00 add r7, sp, #0 return ((READ_BIT(RCC->CRRCR, RCC_CRRCR_HSI48RDY) == (RCC_CRRCR_HSI48RDY)) ? 1UL : 0UL); - 800ab3a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ab3e: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 - 800ab42: f003 0302 and.w r3, r3, #2 - 800ab46: 2b02 cmp r3, #2 - 800ab48: d101 bne.n 800ab4e - 800ab4a: 2301 movs r3, #1 - 800ab4c: e000 b.n 800ab50 - 800ab4e: 2300 movs r3, #0 + 800b0f2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b0f6: f8d3 3098 ldr.w r3, [r3, #152] @ 0x98 + 800b0fa: f003 0302 and.w r3, r3, #2 + 800b0fe: 2b02 cmp r3, #2 + 800b100: d101 bne.n 800b106 + 800b102: 2301 movs r3, #1 + 800b104: e000 b.n 800b108 + 800b106: 2300 movs r3, #0 } - 800ab50: 4618 mov r0, r3 - 800ab52: 46bd mov sp, r7 - 800ab54: f85d 7b04 ldr.w r7, [sp], #4 - 800ab58: 4770 bx lr + 800b108: 4618 mov r0, r3 + 800b10a: 46bd mov sp, r7 + 800b10c: f85d 7b04 ldr.w r7, [sp], #4 + 800b110: 4770 bx lr -0800ab5a : +0800b112 : { - 800ab5a: b480 push {r7} - 800ab5c: af00 add r7, sp, #0 + 800b112: b480 push {r7} + 800b114: af00 add r7, sp, #0 SET_BIT(RCC->BDCR, RCC_BDCR_LSEON); - 800ab5e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ab62: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800ab66: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ab6a: f043 0301 orr.w r3, r3, #1 - 800ab6e: f8c2 3090 str.w r3, [r2, #144] @ 0x90 + 800b116: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b11a: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800b11e: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b122: f043 0301 orr.w r3, r3, #1 + 800b126: f8c2 3090 str.w r3, [r2, #144] @ 0x90 } - 800ab72: bf00 nop - 800ab74: 46bd mov sp, r7 - 800ab76: f85d 7b04 ldr.w r7, [sp], #4 - 800ab7a: 4770 bx lr + 800b12a: bf00 nop + 800b12c: 46bd mov sp, r7 + 800b12e: f85d 7b04 ldr.w r7, [sp], #4 + 800b132: 4770 bx lr -0800ab7c : +0800b134 : { - 800ab7c: b480 push {r7} - 800ab7e: af00 add r7, sp, #0 + 800b134: b480 push {r7} + 800b136: af00 add r7, sp, #0 CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEON); - 800ab80: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ab84: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800ab88: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ab8c: f023 0301 bic.w r3, r3, #1 - 800ab90: f8c2 3090 str.w r3, [r2, #144] @ 0x90 + 800b138: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b13c: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800b140: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b144: f023 0301 bic.w r3, r3, #1 + 800b148: f8c2 3090 str.w r3, [r2, #144] @ 0x90 } - 800ab94: bf00 nop - 800ab96: 46bd mov sp, r7 - 800ab98: f85d 7b04 ldr.w r7, [sp], #4 - 800ab9c: 4770 bx lr + 800b14c: bf00 nop + 800b14e: 46bd mov sp, r7 + 800b150: f85d 7b04 ldr.w r7, [sp], #4 + 800b154: 4770 bx lr -0800ab9e : +0800b156 : { - 800ab9e: b480 push {r7} - 800aba0: af00 add r7, sp, #0 + 800b156: b480 push {r7} + 800b158: af00 add r7, sp, #0 SET_BIT(RCC->BDCR, RCC_BDCR_LSEBYP); - 800aba2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aba6: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800abaa: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800abae: f043 0304 orr.w r3, r3, #4 - 800abb2: f8c2 3090 str.w r3, [r2, #144] @ 0x90 + 800b15a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b15e: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800b162: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b166: f043 0304 orr.w r3, r3, #4 + 800b16a: f8c2 3090 str.w r3, [r2, #144] @ 0x90 } - 800abb6: bf00 nop - 800abb8: 46bd mov sp, r7 - 800abba: f85d 7b04 ldr.w r7, [sp], #4 - 800abbe: 4770 bx lr + 800b16e: bf00 nop + 800b170: 46bd mov sp, r7 + 800b172: f85d 7b04 ldr.w r7, [sp], #4 + 800b176: 4770 bx lr -0800abc0 : +0800b178 : { - 800abc0: b480 push {r7} - 800abc2: af00 add r7, sp, #0 + 800b178: b480 push {r7} + 800b17a: af00 add r7, sp, #0 CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSEBYP); - 800abc4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800abc8: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800abcc: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800abd0: f023 0304 bic.w r3, r3, #4 - 800abd4: f8c2 3090 str.w r3, [r2, #144] @ 0x90 + 800b17c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b180: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800b184: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b188: f023 0304 bic.w r3, r3, #4 + 800b18c: f8c2 3090 str.w r3, [r2, #144] @ 0x90 } - 800abd8: bf00 nop - 800abda: 46bd mov sp, r7 - 800abdc: f85d 7b04 ldr.w r7, [sp], #4 - 800abe0: 4770 bx lr + 800b190: bf00 nop + 800b192: 46bd mov sp, r7 + 800b194: f85d 7b04 ldr.w r7, [sp], #4 + 800b198: 4770 bx lr -0800abe2 : +0800b19a : { - 800abe2: b480 push {r7} - 800abe4: af00 add r7, sp, #0 + 800b19a: b480 push {r7} + 800b19c: af00 add r7, sp, #0 return ((READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) == (RCC_BDCR_LSERDY)) ? 1UL : 0UL); - 800abe6: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800abea: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800abee: f003 0302 and.w r3, r3, #2 - 800abf2: 2b02 cmp r3, #2 - 800abf4: d101 bne.n 800abfa - 800abf6: 2301 movs r3, #1 - 800abf8: e000 b.n 800abfc - 800abfa: 2300 movs r3, #0 + 800b19e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b1a2: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800b1a6: f003 0302 and.w r3, r3, #2 + 800b1aa: 2b02 cmp r3, #2 + 800b1ac: d101 bne.n 800b1b2 + 800b1ae: 2301 movs r3, #1 + 800b1b0: e000 b.n 800b1b4 + 800b1b2: 2300 movs r3, #0 } - 800abfc: 4618 mov r0, r3 - 800abfe: 46bd mov sp, r7 - 800ac00: f85d 7b04 ldr.w r7, [sp], #4 - 800ac04: 4770 bx lr + 800b1b4: 4618 mov r0, r3 + 800b1b6: 46bd mov sp, r7 + 800b1b8: f85d 7b04 ldr.w r7, [sp], #4 + 800b1bc: 4770 bx lr -0800ac06 : +0800b1be : { - 800ac06: b480 push {r7} - 800ac08: af00 add r7, sp, #0 + 800b1be: b480 push {r7} + 800b1c0: af00 add r7, sp, #0 SET_BIT(RCC->CSR, RCC_CSR_LSI1ON); - 800ac0a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ac0e: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 800ac12: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ac16: f043 0301 orr.w r3, r3, #1 - 800ac1a: f8c2 3094 str.w r3, [r2, #148] @ 0x94 + 800b1c2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b1c6: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 800b1ca: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b1ce: f043 0301 orr.w r3, r3, #1 + 800b1d2: f8c2 3094 str.w r3, [r2, #148] @ 0x94 } - 800ac1e: bf00 nop - 800ac20: 46bd mov sp, r7 - 800ac22: f85d 7b04 ldr.w r7, [sp], #4 - 800ac26: 4770 bx lr + 800b1d6: bf00 nop + 800b1d8: 46bd mov sp, r7 + 800b1da: f85d 7b04 ldr.w r7, [sp], #4 + 800b1de: 4770 bx lr -0800ac28 : +0800b1e0 : { - 800ac28: b480 push {r7} - 800ac2a: af00 add r7, sp, #0 + 800b1e0: b480 push {r7} + 800b1e2: af00 add r7, sp, #0 CLEAR_BIT(RCC->CSR, RCC_CSR_LSI1ON); - 800ac2c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ac30: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 800ac34: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ac38: f023 0301 bic.w r3, r3, #1 - 800ac3c: f8c2 3094 str.w r3, [r2, #148] @ 0x94 + 800b1e4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b1e8: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 800b1ec: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b1f0: f023 0301 bic.w r3, r3, #1 + 800b1f4: f8c2 3094 str.w r3, [r2, #148] @ 0x94 } - 800ac40: bf00 nop - 800ac42: 46bd mov sp, r7 - 800ac44: f85d 7b04 ldr.w r7, [sp], #4 - 800ac48: 4770 bx lr + 800b1f8: bf00 nop + 800b1fa: 46bd mov sp, r7 + 800b1fc: f85d 7b04 ldr.w r7, [sp], #4 + 800b200: 4770 bx lr -0800ac4a : +0800b202 : { - 800ac4a: b480 push {r7} - 800ac4c: af00 add r7, sp, #0 + 800b202: b480 push {r7} + 800b204: af00 add r7, sp, #0 return ((READ_BIT(RCC->CSR, RCC_CSR_LSI1RDY) == (RCC_CSR_LSI1RDY)) ? 1UL : 0UL); - 800ac4e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ac52: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 800ac56: f003 0302 and.w r3, r3, #2 - 800ac5a: 2b02 cmp r3, #2 - 800ac5c: d101 bne.n 800ac62 - 800ac5e: 2301 movs r3, #1 - 800ac60: e000 b.n 800ac64 - 800ac62: 2300 movs r3, #0 + 800b206: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b20a: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 800b20e: f003 0302 and.w r3, r3, #2 + 800b212: 2b02 cmp r3, #2 + 800b214: d101 bne.n 800b21a + 800b216: 2301 movs r3, #1 + 800b218: e000 b.n 800b21c + 800b21a: 2300 movs r3, #0 } - 800ac64: 4618 mov r0, r3 - 800ac66: 46bd mov sp, r7 - 800ac68: f85d 7b04 ldr.w r7, [sp], #4 - 800ac6c: 4770 bx lr + 800b21c: 4618 mov r0, r3 + 800b21e: 46bd mov sp, r7 + 800b220: f85d 7b04 ldr.w r7, [sp], #4 + 800b224: 4770 bx lr -0800ac6e : +0800b226 : { - 800ac6e: b480 push {r7} - 800ac70: af00 add r7, sp, #0 + 800b226: b480 push {r7} + 800b228: af00 add r7, sp, #0 SET_BIT(RCC->CSR, RCC_CSR_LSI2ON); - 800ac72: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ac76: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 800ac7a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ac7e: f043 0304 orr.w r3, r3, #4 - 800ac82: f8c2 3094 str.w r3, [r2, #148] @ 0x94 + 800b22a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b22e: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 800b232: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b236: f043 0304 orr.w r3, r3, #4 + 800b23a: f8c2 3094 str.w r3, [r2, #148] @ 0x94 } - 800ac86: bf00 nop - 800ac88: 46bd mov sp, r7 - 800ac8a: f85d 7b04 ldr.w r7, [sp], #4 - 800ac8e: 4770 bx lr + 800b23e: bf00 nop + 800b240: 46bd mov sp, r7 + 800b242: f85d 7b04 ldr.w r7, [sp], #4 + 800b246: 4770 bx lr -0800ac90 : +0800b248 : { - 800ac90: b480 push {r7} - 800ac92: af00 add r7, sp, #0 + 800b248: b480 push {r7} + 800b24a: af00 add r7, sp, #0 CLEAR_BIT(RCC->CSR, RCC_CSR_LSI2ON); - 800ac94: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ac98: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 800ac9c: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800aca0: f023 0304 bic.w r3, r3, #4 - 800aca4: f8c2 3094 str.w r3, [r2, #148] @ 0x94 + 800b24c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b250: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 800b254: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b258: f023 0304 bic.w r3, r3, #4 + 800b25c: f8c2 3094 str.w r3, [r2, #148] @ 0x94 } - 800aca8: bf00 nop - 800acaa: 46bd mov sp, r7 - 800acac: f85d 7b04 ldr.w r7, [sp], #4 - 800acb0: 4770 bx lr + 800b260: bf00 nop + 800b262: 46bd mov sp, r7 + 800b264: f85d 7b04 ldr.w r7, [sp], #4 + 800b268: 4770 bx lr -0800acb2 : +0800b26a : { - 800acb2: b480 push {r7} - 800acb4: af00 add r7, sp, #0 + 800b26a: b480 push {r7} + 800b26c: af00 add r7, sp, #0 return ((READ_BIT(RCC->CSR, RCC_CSR_LSI2RDY) == (RCC_CSR_LSI2RDY)) ? 1UL : 0UL); - 800acb6: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800acba: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 800acbe: f003 0308 and.w r3, r3, #8 - 800acc2: 2b08 cmp r3, #8 - 800acc4: d101 bne.n 800acca - 800acc6: 2301 movs r3, #1 - 800acc8: e000 b.n 800accc - 800acca: 2300 movs r3, #0 + 800b26e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b272: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 800b276: f003 0308 and.w r3, r3, #8 + 800b27a: 2b08 cmp r3, #8 + 800b27c: d101 bne.n 800b282 + 800b27e: 2301 movs r3, #1 + 800b280: e000 b.n 800b284 + 800b282: 2300 movs r3, #0 } - 800accc: 4618 mov r0, r3 - 800acce: 46bd mov sp, r7 - 800acd0: f85d 7b04 ldr.w r7, [sp], #4 - 800acd4: 4770 bx lr + 800b284: 4618 mov r0, r3 + 800b286: 46bd mov sp, r7 + 800b288: f85d 7b04 ldr.w r7, [sp], #4 + 800b28c: 4770 bx lr -0800acd6 : +0800b28e : { - 800acd6: b480 push {r7} - 800acd8: b083 sub sp, #12 - 800acda: af00 add r7, sp, #0 - 800acdc: 6078 str r0, [r7, #4] + 800b28e: b480 push {r7} + 800b290: b083 sub sp, #12 + 800b292: af00 add r7, sp, #0 + 800b294: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CSR, RCC_CSR_LSI2TRIM, Value << RCC_CSR_LSI2TRIM_Pos); - 800acde: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ace2: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 800ace6: f423 6270 bic.w r2, r3, #3840 @ 0xf00 - 800acea: 687b ldr r3, [r7, #4] - 800acec: 021b lsls r3, r3, #8 - 800acee: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800acf2: 4313 orrs r3, r2 - 800acf4: f8c1 3094 str.w r3, [r1, #148] @ 0x94 + 800b296: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b29a: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 800b29e: f423 6270 bic.w r2, r3, #3840 @ 0xf00 + 800b2a2: 687b ldr r3, [r7, #4] + 800b2a4: 021b lsls r3, r3, #8 + 800b2a6: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b2aa: 4313 orrs r3, r2 + 800b2ac: f8c1 3094 str.w r3, [r1, #148] @ 0x94 } - 800acf8: bf00 nop - 800acfa: 370c adds r7, #12 - 800acfc: 46bd mov sp, r7 - 800acfe: f85d 7b04 ldr.w r7, [sp], #4 - 800ad02: 4770 bx lr + 800b2b0: bf00 nop + 800b2b2: 370c adds r7, #12 + 800b2b4: 46bd mov sp, r7 + 800b2b6: f85d 7b04 ldr.w r7, [sp], #4 + 800b2ba: 4770 bx lr -0800ad04 : +0800b2bc : { - 800ad04: b480 push {r7} - 800ad06: af00 add r7, sp, #0 + 800b2bc: b480 push {r7} + 800b2be: af00 add r7, sp, #0 SET_BIT(RCC->CR, RCC_CR_MSION); - 800ad08: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ad0c: 681b ldr r3, [r3, #0] - 800ad0e: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ad12: f043 0301 orr.w r3, r3, #1 - 800ad16: 6013 str r3, [r2, #0] + 800b2c0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b2c4: 681b ldr r3, [r3, #0] + 800b2c6: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b2ca: f043 0301 orr.w r3, r3, #1 + 800b2ce: 6013 str r3, [r2, #0] } - 800ad18: bf00 nop - 800ad1a: 46bd mov sp, r7 - 800ad1c: f85d 7b04 ldr.w r7, [sp], #4 - 800ad20: 4770 bx lr + 800b2d0: bf00 nop + 800b2d2: 46bd mov sp, r7 + 800b2d4: f85d 7b04 ldr.w r7, [sp], #4 + 800b2d8: 4770 bx lr -0800ad22 : +0800b2da : { - 800ad22: b480 push {r7} - 800ad24: af00 add r7, sp, #0 + 800b2da: b480 push {r7} + 800b2dc: af00 add r7, sp, #0 CLEAR_BIT(RCC->CR, RCC_CR_MSION); - 800ad26: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ad2a: 681b ldr r3, [r3, #0] - 800ad2c: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800ad30: f023 0301 bic.w r3, r3, #1 - 800ad34: 6013 str r3, [r2, #0] + 800b2de: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b2e2: 681b ldr r3, [r3, #0] + 800b2e4: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b2e8: f023 0301 bic.w r3, r3, #1 + 800b2ec: 6013 str r3, [r2, #0] } - 800ad36: bf00 nop - 800ad38: 46bd mov sp, r7 - 800ad3a: f85d 7b04 ldr.w r7, [sp], #4 - 800ad3e: 4770 bx lr + 800b2ee: bf00 nop + 800b2f0: 46bd mov sp, r7 + 800b2f2: f85d 7b04 ldr.w r7, [sp], #4 + 800b2f6: 4770 bx lr -0800ad40 : +0800b2f8 : { - 800ad40: b480 push {r7} - 800ad42: af00 add r7, sp, #0 + 800b2f8: b480 push {r7} + 800b2fa: af00 add r7, sp, #0 return ((READ_BIT(RCC->CR, RCC_CR_MSIRDY) == (RCC_CR_MSIRDY)) ? 1UL : 0UL); - 800ad44: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ad48: 681b ldr r3, [r3, #0] - 800ad4a: f003 0302 and.w r3, r3, #2 - 800ad4e: 2b02 cmp r3, #2 - 800ad50: d101 bne.n 800ad56 - 800ad52: 2301 movs r3, #1 - 800ad54: e000 b.n 800ad58 - 800ad56: 2300 movs r3, #0 + 800b2fc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b300: 681b ldr r3, [r3, #0] + 800b302: f003 0302 and.w r3, r3, #2 + 800b306: 2b02 cmp r3, #2 + 800b308: d101 bne.n 800b30e + 800b30a: 2301 movs r3, #1 + 800b30c: e000 b.n 800b310 + 800b30e: 2300 movs r3, #0 } - 800ad58: 4618 mov r0, r3 - 800ad5a: 46bd mov sp, r7 - 800ad5c: f85d 7b04 ldr.w r7, [sp], #4 - 800ad60: 4770 bx lr + 800b310: 4618 mov r0, r3 + 800b312: 46bd mov sp, r7 + 800b314: f85d 7b04 ldr.w r7, [sp], #4 + 800b318: 4770 bx lr -0800ad62 : +0800b31a : { - 800ad62: b480 push {r7} - 800ad64: b083 sub sp, #12 - 800ad66: af00 add r7, sp, #0 - 800ad68: 6078 str r0, [r7, #4] + 800b31a: b480 push {r7} + 800b31c: b083 sub sp, #12 + 800b31e: af00 add r7, sp, #0 + 800b320: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CR, RCC_CR_MSIRANGE, Range); - 800ad6a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ad6e: 681b ldr r3, [r3, #0] - 800ad70: f023 02f0 bic.w r2, r3, #240 @ 0xf0 - 800ad74: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800ad78: 687b ldr r3, [r7, #4] - 800ad7a: 4313 orrs r3, r2 - 800ad7c: 600b str r3, [r1, #0] + 800b322: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b326: 681b ldr r3, [r3, #0] + 800b328: f023 02f0 bic.w r2, r3, #240 @ 0xf0 + 800b32c: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b330: 687b ldr r3, [r7, #4] + 800b332: 4313 orrs r3, r2 + 800b334: 600b str r3, [r1, #0] } - 800ad7e: bf00 nop - 800ad80: 370c adds r7, #12 - 800ad82: 46bd mov sp, r7 - 800ad84: f85d 7b04 ldr.w r7, [sp], #4 - 800ad88: 4770 bx lr + 800b336: bf00 nop + 800b338: 370c adds r7, #12 + 800b33a: 46bd mov sp, r7 + 800b33c: f85d 7b04 ldr.w r7, [sp], #4 + 800b340: 4770 bx lr -0800ad8a : +0800b342 : { - 800ad8a: b480 push {r7} - 800ad8c: b083 sub sp, #12 - 800ad8e: af00 add r7, sp, #0 + 800b342: b480 push {r7} + 800b344: b083 sub sp, #12 + 800b346: af00 add r7, sp, #0 uint32_t msiRange = READ_BIT(RCC->CR, RCC_CR_MSIRANGE); - 800ad90: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ad94: 681b ldr r3, [r3, #0] - 800ad96: f003 03f0 and.w r3, r3, #240 @ 0xf0 - 800ad9a: 607b str r3, [r7, #4] + 800b348: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b34c: 681b ldr r3, [r3, #0] + 800b34e: f003 03f0 and.w r3, r3, #240 @ 0xf0 + 800b352: 607b str r3, [r7, #4] if (msiRange > LL_RCC_MSIRANGE_11) - 800ad9c: 687b ldr r3, [r7, #4] - 800ad9e: 2bb0 cmp r3, #176 @ 0xb0 - 800ada0: d901 bls.n 800ada6 + 800b354: 687b ldr r3, [r7, #4] + 800b356: 2bb0 cmp r3, #176 @ 0xb0 + 800b358: d901 bls.n 800b35e msiRange = LL_RCC_MSIRANGE_11; - 800ada2: 23b0 movs r3, #176 @ 0xb0 - 800ada4: 607b str r3, [r7, #4] + 800b35a: 23b0 movs r3, #176 @ 0xb0 + 800b35c: 607b str r3, [r7, #4] return msiRange; - 800ada6: 687b ldr r3, [r7, #4] + 800b35e: 687b ldr r3, [r7, #4] } - 800ada8: 4618 mov r0, r3 - 800adaa: 370c adds r7, #12 - 800adac: 46bd mov sp, r7 - 800adae: f85d 7b04 ldr.w r7, [sp], #4 - 800adb2: 4770 bx lr + 800b360: 4618 mov r0, r3 + 800b362: 370c adds r7, #12 + 800b364: 46bd mov sp, r7 + 800b366: f85d 7b04 ldr.w r7, [sp], #4 + 800b36a: 4770 bx lr -0800adb4 : +0800b36c : { - 800adb4: b480 push {r7} - 800adb6: b083 sub sp, #12 - 800adb8: af00 add r7, sp, #0 - 800adba: 6078 str r0, [r7, #4] + 800b36c: b480 push {r7} + 800b36e: b083 sub sp, #12 + 800b370: af00 add r7, sp, #0 + 800b372: 6078 str r0, [r7, #4] MODIFY_REG(RCC->ICSCR, RCC_ICSCR_MSITRIM, Value << RCC_ICSCR_MSITRIM_Pos); - 800adbc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800adc0: 685b ldr r3, [r3, #4] - 800adc2: f423 427f bic.w r2, r3, #65280 @ 0xff00 - 800adc6: 687b ldr r3, [r7, #4] - 800adc8: 021b lsls r3, r3, #8 - 800adca: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800adce: 4313 orrs r3, r2 - 800add0: 604b str r3, [r1, #4] + 800b374: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b378: 685b ldr r3, [r3, #4] + 800b37a: f423 427f bic.w r2, r3, #65280 @ 0xff00 + 800b37e: 687b ldr r3, [r7, #4] + 800b380: 021b lsls r3, r3, #8 + 800b382: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b386: 4313 orrs r3, r2 + 800b388: 604b str r3, [r1, #4] } - 800add2: bf00 nop - 800add4: 370c adds r7, #12 - 800add6: 46bd mov sp, r7 - 800add8: f85d 7b04 ldr.w r7, [sp], #4 - 800addc: 4770 bx lr + 800b38a: bf00 nop + 800b38c: 370c adds r7, #12 + 800b38e: 46bd mov sp, r7 + 800b390: f85d 7b04 ldr.w r7, [sp], #4 + 800b394: 4770 bx lr -0800adde : +0800b396 : { - 800adde: b480 push {r7} - 800ade0: b083 sub sp, #12 - 800ade2: af00 add r7, sp, #0 - 800ade4: 6078 str r0, [r7, #4] + 800b396: b480 push {r7} + 800b398: b083 sub sp, #12 + 800b39a: af00 add r7, sp, #0 + 800b39c: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, Source); - 800ade6: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800adea: 689b ldr r3, [r3, #8] - 800adec: f023 0203 bic.w r2, r3, #3 - 800adf0: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800adf4: 687b ldr r3, [r7, #4] - 800adf6: 4313 orrs r3, r2 - 800adf8: 608b str r3, [r1, #8] + 800b39e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b3a2: 689b ldr r3, [r3, #8] + 800b3a4: f023 0203 bic.w r2, r3, #3 + 800b3a8: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b3ac: 687b ldr r3, [r7, #4] + 800b3ae: 4313 orrs r3, r2 + 800b3b0: 608b str r3, [r1, #8] } - 800adfa: bf00 nop - 800adfc: 370c adds r7, #12 - 800adfe: 46bd mov sp, r7 - 800ae00: f85d 7b04 ldr.w r7, [sp], #4 - 800ae04: 4770 bx lr + 800b3b2: bf00 nop + 800b3b4: 370c adds r7, #12 + 800b3b6: 46bd mov sp, r7 + 800b3b8: f85d 7b04 ldr.w r7, [sp], #4 + 800b3bc: 4770 bx lr -0800ae06 : +0800b3be : { - 800ae06: b480 push {r7} - 800ae08: af00 add r7, sp, #0 + 800b3be: b480 push {r7} + 800b3c0: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_SWS)); - 800ae0a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ae0e: 689b ldr r3, [r3, #8] - 800ae10: f003 030c and.w r3, r3, #12 + 800b3c2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b3c6: 689b ldr r3, [r3, #8] + 800b3c8: f003 030c and.w r3, r3, #12 } - 800ae14: 4618 mov r0, r3 - 800ae16: 46bd mov sp, r7 - 800ae18: f85d 7b04 ldr.w r7, [sp], #4 - 800ae1c: 4770 bx lr + 800b3cc: 4618 mov r0, r3 + 800b3ce: 46bd mov sp, r7 + 800b3d0: f85d 7b04 ldr.w r7, [sp], #4 + 800b3d4: 4770 bx lr -0800ae1e : +0800b3d6 : { - 800ae1e: b480 push {r7} - 800ae20: b083 sub sp, #12 - 800ae22: af00 add r7, sp, #0 - 800ae24: 6078 str r0, [r7, #4] + 800b3d6: b480 push {r7} + 800b3d8: b083 sub sp, #12 + 800b3da: af00 add r7, sp, #0 + 800b3dc: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, Prescaler); - 800ae26: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ae2a: 689b ldr r3, [r3, #8] - 800ae2c: f023 02f0 bic.w r2, r3, #240 @ 0xf0 - 800ae30: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800ae34: 687b ldr r3, [r7, #4] - 800ae36: 4313 orrs r3, r2 - 800ae38: 608b str r3, [r1, #8] + 800b3de: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b3e2: 689b ldr r3, [r3, #8] + 800b3e4: f023 02f0 bic.w r2, r3, #240 @ 0xf0 + 800b3e8: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b3ec: 687b ldr r3, [r7, #4] + 800b3ee: 4313 orrs r3, r2 + 800b3f0: 608b str r3, [r1, #8] } - 800ae3a: bf00 nop - 800ae3c: 370c adds r7, #12 - 800ae3e: 46bd mov sp, r7 - 800ae40: f85d 7b04 ldr.w r7, [sp], #4 - 800ae44: 4770 bx lr + 800b3f2: bf00 nop + 800b3f4: 370c adds r7, #12 + 800b3f6: 46bd mov sp, r7 + 800b3f8: f85d 7b04 ldr.w r7, [sp], #4 + 800b3fc: 4770 bx lr -0800ae46 : +0800b3fe : { - 800ae46: b480 push {r7} - 800ae48: b083 sub sp, #12 - 800ae4a: af00 add r7, sp, #0 - 800ae4c: 6078 str r0, [r7, #4] + 800b3fe: b480 push {r7} + 800b400: b083 sub sp, #12 + 800b402: af00 add r7, sp, #0 + 800b404: 6078 str r0, [r7, #4] MODIFY_REG(RCC->EXTCFGR, RCC_EXTCFGR_C2HPRE, Prescaler); - 800ae4e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ae52: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 - 800ae56: f023 02f0 bic.w r2, r3, #240 @ 0xf0 - 800ae5a: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800ae5e: 687b ldr r3, [r7, #4] - 800ae60: 4313 orrs r3, r2 - 800ae62: f8c1 3108 str.w r3, [r1, #264] @ 0x108 + 800b406: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b40a: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 + 800b40e: f023 02f0 bic.w r2, r3, #240 @ 0xf0 + 800b412: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b416: 687b ldr r3, [r7, #4] + 800b418: 4313 orrs r3, r2 + 800b41a: f8c1 3108 str.w r3, [r1, #264] @ 0x108 } - 800ae66: bf00 nop - 800ae68: 370c adds r7, #12 - 800ae6a: 46bd mov sp, r7 - 800ae6c: f85d 7b04 ldr.w r7, [sp], #4 - 800ae70: 4770 bx lr + 800b41e: bf00 nop + 800b420: 370c adds r7, #12 + 800b422: 46bd mov sp, r7 + 800b424: f85d 7b04 ldr.w r7, [sp], #4 + 800b428: 4770 bx lr -0800ae72 : +0800b42a : { - 800ae72: b480 push {r7} - 800ae74: b083 sub sp, #12 - 800ae76: af00 add r7, sp, #0 - 800ae78: 6078 str r0, [r7, #4] + 800b42a: b480 push {r7} + 800b42c: b083 sub sp, #12 + 800b42e: af00 add r7, sp, #0 + 800b430: 6078 str r0, [r7, #4] MODIFY_REG(RCC->EXTCFGR, RCC_EXTCFGR_SHDHPRE, Prescaler >> 4); - 800ae7a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800ae7e: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 - 800ae82: f023 020f bic.w r2, r3, #15 - 800ae86: 687b ldr r3, [r7, #4] - 800ae88: 091b lsrs r3, r3, #4 - 800ae8a: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800ae8e: 4313 orrs r3, r2 - 800ae90: f8c1 3108 str.w r3, [r1, #264] @ 0x108 + 800b432: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b436: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 + 800b43a: f023 020f bic.w r2, r3, #15 + 800b43e: 687b ldr r3, [r7, #4] + 800b440: 091b lsrs r3, r3, #4 + 800b442: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b446: 4313 orrs r3, r2 + 800b448: f8c1 3108 str.w r3, [r1, #264] @ 0x108 } - 800ae94: bf00 nop - 800ae96: 370c adds r7, #12 - 800ae98: 46bd mov sp, r7 - 800ae9a: f85d 7b04 ldr.w r7, [sp], #4 - 800ae9e: 4770 bx lr + 800b44c: bf00 nop + 800b44e: 370c adds r7, #12 + 800b450: 46bd mov sp, r7 + 800b452: f85d 7b04 ldr.w r7, [sp], #4 + 800b456: 4770 bx lr -0800aea0 : +0800b458 : { - 800aea0: b480 push {r7} - 800aea2: b083 sub sp, #12 - 800aea4: af00 add r7, sp, #0 - 800aea6: 6078 str r0, [r7, #4] + 800b458: b480 push {r7} + 800b45a: b083 sub sp, #12 + 800b45c: af00 add r7, sp, #0 + 800b45e: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, Prescaler); - 800aea8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aeac: 689b ldr r3, [r3, #8] - 800aeae: f423 62e0 bic.w r2, r3, #1792 @ 0x700 - 800aeb2: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800aeb6: 687b ldr r3, [r7, #4] - 800aeb8: 4313 orrs r3, r2 - 800aeba: 608b str r3, [r1, #8] + 800b460: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b464: 689b ldr r3, [r3, #8] + 800b466: f423 62e0 bic.w r2, r3, #1792 @ 0x700 + 800b46a: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b46e: 687b ldr r3, [r7, #4] + 800b470: 4313 orrs r3, r2 + 800b472: 608b str r3, [r1, #8] } - 800aebc: bf00 nop - 800aebe: 370c adds r7, #12 - 800aec0: 46bd mov sp, r7 - 800aec2: f85d 7b04 ldr.w r7, [sp], #4 - 800aec6: 4770 bx lr + 800b474: bf00 nop + 800b476: 370c adds r7, #12 + 800b478: 46bd mov sp, r7 + 800b47a: f85d 7b04 ldr.w r7, [sp], #4 + 800b47e: 4770 bx lr -0800aec8 : +0800b480 : { - 800aec8: b480 push {r7} - 800aeca: b083 sub sp, #12 - 800aecc: af00 add r7, sp, #0 - 800aece: 6078 str r0, [r7, #4] + 800b480: b480 push {r7} + 800b482: b083 sub sp, #12 + 800b484: af00 add r7, sp, #0 + 800b486: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, Prescaler); - 800aed0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aed4: 689b ldr r3, [r3, #8] - 800aed6: f423 5260 bic.w r2, r3, #14336 @ 0x3800 - 800aeda: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800aede: 687b ldr r3, [r7, #4] - 800aee0: 4313 orrs r3, r2 - 800aee2: 608b str r3, [r1, #8] + 800b488: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b48c: 689b ldr r3, [r3, #8] + 800b48e: f423 5260 bic.w r2, r3, #14336 @ 0x3800 + 800b492: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800b496: 687b ldr r3, [r7, #4] + 800b498: 4313 orrs r3, r2 + 800b49a: 608b str r3, [r1, #8] } - 800aee4: bf00 nop - 800aee6: 370c adds r7, #12 - 800aee8: 46bd mov sp, r7 - 800aeea: f85d 7b04 ldr.w r7, [sp], #4 - 800aeee: 4770 bx lr + 800b49c: bf00 nop + 800b49e: 370c adds r7, #12 + 800b4a0: 46bd mov sp, r7 + 800b4a2: f85d 7b04 ldr.w r7, [sp], #4 + 800b4a6: 4770 bx lr -0800aef0 : +0800b4a8 : { - 800aef0: b480 push {r7} - 800aef2: af00 add r7, sp, #0 + 800b4a8: b480 push {r7} + 800b4aa: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_HPRE)); - 800aef4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aef8: 689b ldr r3, [r3, #8] - 800aefa: f003 03f0 and.w r3, r3, #240 @ 0xf0 + 800b4ac: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b4b0: 689b ldr r3, [r3, #8] + 800b4b2: f003 03f0 and.w r3, r3, #240 @ 0xf0 } - 800aefe: 4618 mov r0, r3 - 800af00: 46bd mov sp, r7 - 800af02: f85d 7b04 ldr.w r7, [sp], #4 - 800af06: 4770 bx lr + 800b4b6: 4618 mov r0, r3 + 800b4b8: 46bd mov sp, r7 + 800b4ba: f85d 7b04 ldr.w r7, [sp], #4 + 800b4be: 4770 bx lr -0800af08 : +0800b4c0 : { - 800af08: b480 push {r7} - 800af0a: af00 add r7, sp, #0 + 800b4c0: b480 push {r7} + 800b4c2: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->EXTCFGR, RCC_EXTCFGR_C2HPRE)); - 800af0c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800af10: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 - 800af14: f003 03f0 and.w r3, r3, #240 @ 0xf0 + 800b4c4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b4c8: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 + 800b4cc: f003 03f0 and.w r3, r3, #240 @ 0xf0 } - 800af18: 4618 mov r0, r3 - 800af1a: 46bd mov sp, r7 - 800af1c: f85d 7b04 ldr.w r7, [sp], #4 - 800af20: 4770 bx lr + 800b4d0: 4618 mov r0, r3 + 800b4d2: 46bd mov sp, r7 + 800b4d4: f85d 7b04 ldr.w r7, [sp], #4 + 800b4d8: 4770 bx lr -0800af22 : +0800b4da : { - 800af22: b480 push {r7} - 800af24: af00 add r7, sp, #0 + 800b4da: b480 push {r7} + 800b4dc: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->EXTCFGR, RCC_EXTCFGR_SHDHPRE) << 4); - 800af26: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800af2a: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 - 800af2e: 011b lsls r3, r3, #4 - 800af30: f003 03f0 and.w r3, r3, #240 @ 0xf0 + 800b4de: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b4e2: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 + 800b4e6: 011b lsls r3, r3, #4 + 800b4e8: f003 03f0 and.w r3, r3, #240 @ 0xf0 } - 800af34: 4618 mov r0, r3 - 800af36: 46bd mov sp, r7 - 800af38: f85d 7b04 ldr.w r7, [sp], #4 - 800af3c: 4770 bx lr + 800b4ec: 4618 mov r0, r3 + 800b4ee: 46bd mov sp, r7 + 800b4f0: f85d 7b04 ldr.w r7, [sp], #4 + 800b4f4: 4770 bx lr -0800af3e : +0800b4f6 : { - 800af3e: b480 push {r7} - 800af40: af00 add r7, sp, #0 + 800b4f6: b480 push {r7} + 800b4f8: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_PPRE1)); - 800af42: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800af46: 689b ldr r3, [r3, #8] - 800af48: f403 63e0 and.w r3, r3, #1792 @ 0x700 + 800b4fa: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b4fe: 689b ldr r3, [r3, #8] + 800b500: f403 63e0 and.w r3, r3, #1792 @ 0x700 } - 800af4c: 4618 mov r0, r3 - 800af4e: 46bd mov sp, r7 - 800af50: f85d 7b04 ldr.w r7, [sp], #4 - 800af54: 4770 bx lr + 800b504: 4618 mov r0, r3 + 800b506: 46bd mov sp, r7 + 800b508: f85d 7b04 ldr.w r7, [sp], #4 + 800b50c: 4770 bx lr -0800af56 : +0800b50e : { - 800af56: b480 push {r7} - 800af58: af00 add r7, sp, #0 + 800b50e: b480 push {r7} + 800b510: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_PPRE2)); - 800af5a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800af5e: 689b ldr r3, [r3, #8] - 800af60: f403 5360 and.w r3, r3, #14336 @ 0x3800 + 800b512: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b516: 689b ldr r3, [r3, #8] + 800b518: f403 5360 and.w r3, r3, #14336 @ 0x3800 } - 800af64: 4618 mov r0, r3 - 800af66: 46bd mov sp, r7 - 800af68: f85d 7b04 ldr.w r7, [sp], #4 - 800af6c: 4770 bx lr + 800b51c: 4618 mov r0, r3 + 800b51e: 46bd mov sp, r7 + 800b520: f85d 7b04 ldr.w r7, [sp], #4 + 800b524: 4770 bx lr -0800af6e : +0800b526 : * @brief Enable PLL * @rmtoll CR PLLON LL_RCC_PLL_Enable * @retval None */ __STATIC_INLINE void LL_RCC_PLL_Enable(void) { - 800af6e: b480 push {r7} - 800af70: af00 add r7, sp, #0 + 800b526: b480 push {r7} + 800b528: af00 add r7, sp, #0 SET_BIT(RCC->CR, RCC_CR_PLLON); - 800af72: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800af76: 681b ldr r3, [r3, #0] - 800af78: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800af7c: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 - 800af80: 6013 str r3, [r2, #0] + 800b52a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b52e: 681b ldr r3, [r3, #0] + 800b530: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b534: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 + 800b538: 6013 str r3, [r2, #0] } - 800af82: bf00 nop - 800af84: 46bd mov sp, r7 - 800af86: f85d 7b04 ldr.w r7, [sp], #4 - 800af8a: 4770 bx lr + 800b53a: bf00 nop + 800b53c: 46bd mov sp, r7 + 800b53e: f85d 7b04 ldr.w r7, [sp], #4 + 800b542: 4770 bx lr -0800af8c : +0800b544 : * @note Cannot be disabled if the PLL clock is used as the system clock * @rmtoll CR PLLON LL_RCC_PLL_Disable * @retval None */ __STATIC_INLINE void LL_RCC_PLL_Disable(void) { - 800af8c: b480 push {r7} - 800af8e: af00 add r7, sp, #0 + 800b544: b480 push {r7} + 800b546: af00 add r7, sp, #0 CLEAR_BIT(RCC->CR, RCC_CR_PLLON); - 800af90: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800af94: 681b ldr r3, [r3, #0] - 800af96: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800af9a: f023 7380 bic.w r3, r3, #16777216 @ 0x1000000 - 800af9e: 6013 str r3, [r2, #0] + 800b548: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b54c: 681b ldr r3, [r3, #0] + 800b54e: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800b552: f023 7380 bic.w r3, r3, #16777216 @ 0x1000000 + 800b556: 6013 str r3, [r2, #0] } - 800afa0: bf00 nop - 800afa2: 46bd mov sp, r7 - 800afa4: f85d 7b04 ldr.w r7, [sp], #4 - 800afa8: 4770 bx lr + 800b558: bf00 nop + 800b55a: 46bd mov sp, r7 + 800b55c: f85d 7b04 ldr.w r7, [sp], #4 + 800b560: 4770 bx lr -0800afaa : +0800b562 : * @brief Check if PLL Ready * @rmtoll CR PLLRDY LL_RCC_PLL_IsReady * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_RCC_PLL_IsReady(void) { - 800afaa: b480 push {r7} - 800afac: af00 add r7, sp, #0 + 800b562: b480 push {r7} + 800b564: af00 add r7, sp, #0 return ((READ_BIT(RCC->CR, RCC_CR_PLLRDY) == (RCC_CR_PLLRDY)) ? 1UL : 0UL); - 800afae: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800afb2: 681b ldr r3, [r3, #0] - 800afb4: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 - 800afb8: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 - 800afbc: d101 bne.n 800afc2 - 800afbe: 2301 movs r3, #1 - 800afc0: e000 b.n 800afc4 - 800afc2: 2300 movs r3, #0 + 800b566: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b56a: 681b ldr r3, [r3, #0] + 800b56c: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 + 800b570: f1b3 7f00 cmp.w r3, #33554432 @ 0x2000000 + 800b574: d101 bne.n 800b57a + 800b576: 2301 movs r3, #1 + 800b578: e000 b.n 800b57c + 800b57a: 2300 movs r3, #0 } - 800afc4: 4618 mov r0, r3 - 800afc6: 46bd mov sp, r7 - 800afc8: f85d 7b04 ldr.w r7, [sp], #4 - 800afcc: 4770 bx lr + 800b57c: 4618 mov r0, r3 + 800b57e: 46bd mov sp, r7 + 800b580: f85d 7b04 ldr.w r7, [sp], #4 + 800b584: 4770 bx lr -0800afce : +0800b586 : * @brief Get Main PLL multiplication factor for VCO * @rmtoll PLLCFGR PLLN LL_RCC_PLL_GetN * @retval Between 6 and 127 */ __STATIC_INLINE uint32_t LL_RCC_PLL_GetN(void) { - 800afce: b480 push {r7} - 800afd0: af00 add r7, sp, #0 + 800b586: b480 push {r7} + 800b588: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos); - 800afd2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800afd6: 68db ldr r3, [r3, #12] - 800afd8: 0a1b lsrs r3, r3, #8 - 800afda: f003 037f and.w r3, r3, #127 @ 0x7f + 800b58a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b58e: 68db ldr r3, [r3, #12] + 800b590: 0a1b lsrs r3, r3, #8 + 800b592: f003 037f and.w r3, r3, #127 @ 0x7f } - 800afde: 4618 mov r0, r3 - 800afe0: 46bd mov sp, r7 - 800afe2: f85d 7b04 ldr.w r7, [sp], #4 - 800afe6: 4770 bx lr + 800b596: 4618 mov r0, r3 + 800b598: 46bd mov sp, r7 + 800b59a: f85d 7b04 ldr.w r7, [sp], #4 + 800b59e: 4770 bx lr -0800afe8 : +0800b5a0 : * @arg @ref LL_RCC_PLLR_DIV_6 * @arg @ref LL_RCC_PLLR_DIV_7 * @arg @ref LL_RCC_PLLR_DIV_8 */ __STATIC_INLINE uint32_t LL_RCC_PLL_GetR(void) { - 800afe8: b480 push {r7} - 800afea: af00 add r7, sp, #0 + 800b5a0: b480 push {r7} + 800b5a2: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR)); - 800afec: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800aff0: 68db ldr r3, [r3, #12] - 800aff2: f003 4360 and.w r3, r3, #3758096384 @ 0xe0000000 + 800b5a4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b5a8: 68db ldr r3, [r3, #12] + 800b5aa: f003 4360 and.w r3, r3, #3758096384 @ 0xe0000000 } - 800aff6: 4618 mov r0, r3 - 800aff8: 46bd mov sp, r7 - 800affa: f85d 7b04 ldr.w r7, [sp], #4 - 800affe: 4770 bx lr + 800b5ae: 4618 mov r0, r3 + 800b5b0: 46bd mov sp, r7 + 800b5b2: f85d 7b04 ldr.w r7, [sp], #4 + 800b5b6: 4770 bx lr -0800b000 : +0800b5b8 : * @arg @ref LL_RCC_PLLM_DIV_6 * @arg @ref LL_RCC_PLLM_DIV_7 * @arg @ref LL_RCC_PLLM_DIV_8 */ __STATIC_INLINE uint32_t LL_RCC_PLL_GetDivider(void) { - 800b000: b480 push {r7} - 800b002: af00 add r7, sp, #0 + 800b5b8: b480 push {r7} + 800b5ba: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM)); - 800b004: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b008: 68db ldr r3, [r3, #12] - 800b00a: f003 0370 and.w r3, r3, #112 @ 0x70 + 800b5bc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b5c0: 68db ldr r3, [r3, #12] + 800b5c2: f003 0370 and.w r3, r3, #112 @ 0x70 } - 800b00e: 4618 mov r0, r3 - 800b010: 46bd mov sp, r7 - 800b012: f85d 7b04 ldr.w r7, [sp], #4 - 800b016: 4770 bx lr + 800b5c6: 4618 mov r0, r3 + 800b5c8: 46bd mov sp, r7 + 800b5ca: f85d 7b04 ldr.w r7, [sp], #4 + 800b5ce: 4770 bx lr -0800b018 : +0800b5d0 : * @arg @ref LL_RCC_PLLSOURCE_MSI * @arg @ref LL_RCC_PLLSOURCE_HSI * @arg @ref LL_RCC_PLLSOURCE_HSE */ __STATIC_INLINE uint32_t LL_RCC_PLL_GetMainSource(void) { - 800b018: b480 push {r7} - 800b01a: af00 add r7, sp, #0 + 800b5d0: b480 push {r7} + 800b5d2: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC)); - 800b01c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b020: 68db ldr r3, [r3, #12] - 800b022: f003 0303 and.w r3, r3, #3 + 800b5d4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b5d8: 68db ldr r3, [r3, #12] + 800b5da: f003 0303 and.w r3, r3, #3 } - 800b026: 4618 mov r0, r3 - 800b028: 46bd mov sp, r7 - 800b02a: f85d 7b04 ldr.w r7, [sp], #4 - 800b02e: 4770 bx lr + 800b5de: 4618 mov r0, r3 + 800b5e0: 46bd mov sp, r7 + 800b5e2: f85d 7b04 ldr.w r7, [sp], #4 + 800b5e6: 4770 bx lr -0800b030 : +0800b5e8 : * @brief Check if HCLK1 prescaler flag value has been applied or not * @rmtoll CFGR HPREF LL_RCC_IsActiveFlag_HPRE * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_RCC_IsActiveFlag_HPRE(void) { - 800b030: b480 push {r7} - 800b032: af00 add r7, sp, #0 + 800b5e8: b480 push {r7} + 800b5ea: af00 add r7, sp, #0 return ((READ_BIT(RCC->CFGR, RCC_CFGR_HPREF) == (RCC_CFGR_HPREF)) ? 1UL : 0UL); - 800b034: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b038: 689b ldr r3, [r3, #8] - 800b03a: f403 3380 and.w r3, r3, #65536 @ 0x10000 - 800b03e: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 - 800b042: d101 bne.n 800b048 - 800b044: 2301 movs r3, #1 - 800b046: e000 b.n 800b04a - 800b048: 2300 movs r3, #0 + 800b5ec: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b5f0: 689b ldr r3, [r3, #8] + 800b5f2: f403 3380 and.w r3, r3, #65536 @ 0x10000 + 800b5f6: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 + 800b5fa: d101 bne.n 800b600 + 800b5fc: 2301 movs r3, #1 + 800b5fe: e000 b.n 800b602 + 800b600: 2300 movs r3, #0 } - 800b04a: 4618 mov r0, r3 - 800b04c: 46bd mov sp, r7 - 800b04e: f85d 7b04 ldr.w r7, [sp], #4 - 800b052: 4770 bx lr + 800b602: 4618 mov r0, r3 + 800b604: 46bd mov sp, r7 + 800b606: f85d 7b04 ldr.w r7, [sp], #4 + 800b60a: 4770 bx lr -0800b054 : +0800b60c : * @brief Check if HCLK2 prescaler flag value has been applied or not * @rmtoll EXTCFGR C2HPREF LL_RCC_IsActiveFlag_C2HPRE * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_RCC_IsActiveFlag_C2HPRE(void) { - 800b054: b480 push {r7} - 800b056: af00 add r7, sp, #0 + 800b60c: b480 push {r7} + 800b60e: af00 add r7, sp, #0 return ((READ_BIT(RCC->EXTCFGR, RCC_EXTCFGR_C2HPREF) == (RCC_EXTCFGR_C2HPREF)) ? 1UL : 0UL); - 800b058: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b05c: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 - 800b060: f403 3300 and.w r3, r3, #131072 @ 0x20000 - 800b064: f5b3 3f00 cmp.w r3, #131072 @ 0x20000 - 800b068: d101 bne.n 800b06e - 800b06a: 2301 movs r3, #1 - 800b06c: e000 b.n 800b070 - 800b06e: 2300 movs r3, #0 + 800b610: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b614: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 + 800b618: f403 3300 and.w r3, r3, #131072 @ 0x20000 + 800b61c: f5b3 3f00 cmp.w r3, #131072 @ 0x20000 + 800b620: d101 bne.n 800b626 + 800b622: 2301 movs r3, #1 + 800b624: e000 b.n 800b628 + 800b626: 2300 movs r3, #0 } - 800b070: 4618 mov r0, r3 - 800b072: 46bd mov sp, r7 - 800b074: f85d 7b04 ldr.w r7, [sp], #4 - 800b078: 4770 bx lr + 800b628: 4618 mov r0, r3 + 800b62a: 46bd mov sp, r7 + 800b62c: f85d 7b04 ldr.w r7, [sp], #4 + 800b630: 4770 bx lr -0800b07a : +0800b632 : * @brief Check if HCLK4 prescaler flag value has been applied or not * @rmtoll EXTCFGR SHDHPREF LL_RCC_IsActiveFlag_SHDHPRE * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_RCC_IsActiveFlag_SHDHPRE(void) { - 800b07a: b480 push {r7} - 800b07c: af00 add r7, sp, #0 + 800b632: b480 push {r7} + 800b634: af00 add r7, sp, #0 return ((READ_BIT(RCC->EXTCFGR, RCC_EXTCFGR_SHDHPREF) == (RCC_EXTCFGR_SHDHPREF)) ? 1UL : 0UL); - 800b07e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b082: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 - 800b086: f403 3380 and.w r3, r3, #65536 @ 0x10000 - 800b08a: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 - 800b08e: d101 bne.n 800b094 - 800b090: 2301 movs r3, #1 - 800b092: e000 b.n 800b096 - 800b094: 2300 movs r3, #0 + 800b636: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b63a: f8d3 3108 ldr.w r3, [r3, #264] @ 0x108 + 800b63e: f403 3380 and.w r3, r3, #65536 @ 0x10000 + 800b642: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 + 800b646: d101 bne.n 800b64c + 800b648: 2301 movs r3, #1 + 800b64a: e000 b.n 800b64e + 800b64c: 2300 movs r3, #0 } - 800b096: 4618 mov r0, r3 - 800b098: 46bd mov sp, r7 - 800b09a: f85d 7b04 ldr.w r7, [sp], #4 - 800b09e: 4770 bx lr + 800b64e: 4618 mov r0, r3 + 800b650: 46bd mov sp, r7 + 800b652: f85d 7b04 ldr.w r7, [sp], #4 + 800b656: 4770 bx lr -0800b0a0 : +0800b658 : * @brief Check if PLCK1 prescaler flag value has been applied or not * @rmtoll CFGR PPRE1F LL_RCC_IsActiveFlag_PPRE1 * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_RCC_IsActiveFlag_PPRE1(void) { - 800b0a0: b480 push {r7} - 800b0a2: af00 add r7, sp, #0 + 800b658: b480 push {r7} + 800b65a: af00 add r7, sp, #0 return ((READ_BIT(RCC->CFGR, RCC_CFGR_PPRE1F) == (RCC_CFGR_PPRE1F)) ? 1UL : 0UL); - 800b0a4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b0a8: 689b ldr r3, [r3, #8] - 800b0aa: f403 3300 and.w r3, r3, #131072 @ 0x20000 - 800b0ae: f5b3 3f00 cmp.w r3, #131072 @ 0x20000 - 800b0b2: d101 bne.n 800b0b8 - 800b0b4: 2301 movs r3, #1 - 800b0b6: e000 b.n 800b0ba - 800b0b8: 2300 movs r3, #0 + 800b65c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b660: 689b ldr r3, [r3, #8] + 800b662: f403 3300 and.w r3, r3, #131072 @ 0x20000 + 800b666: f5b3 3f00 cmp.w r3, #131072 @ 0x20000 + 800b66a: d101 bne.n 800b670 + 800b66c: 2301 movs r3, #1 + 800b66e: e000 b.n 800b672 + 800b670: 2300 movs r3, #0 } - 800b0ba: 4618 mov r0, r3 - 800b0bc: 46bd mov sp, r7 - 800b0be: f85d 7b04 ldr.w r7, [sp], #4 - 800b0c2: 4770 bx lr + 800b672: 4618 mov r0, r3 + 800b674: 46bd mov sp, r7 + 800b676: f85d 7b04 ldr.w r7, [sp], #4 + 800b67a: 4770 bx lr -0800b0c4 : +0800b67c : * @brief Check if PLCK2 prescaler flag value has been applied or not * @rmtoll CFGR PPRE2F LL_RCC_IsActiveFlag_PPRE2 * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_RCC_IsActiveFlag_PPRE2(void) { - 800b0c4: b480 push {r7} - 800b0c6: af00 add r7, sp, #0 + 800b67c: b480 push {r7} + 800b67e: af00 add r7, sp, #0 return ((READ_BIT(RCC->CFGR, RCC_CFGR_PPRE2F) == (RCC_CFGR_PPRE2F)) ? 1UL : 0UL); - 800b0c8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b0cc: 689b ldr r3, [r3, #8] - 800b0ce: f403 2380 and.w r3, r3, #262144 @ 0x40000 - 800b0d2: f5b3 2f80 cmp.w r3, #262144 @ 0x40000 - 800b0d6: d101 bne.n 800b0dc - 800b0d8: 2301 movs r3, #1 - 800b0da: e000 b.n 800b0de - 800b0dc: 2300 movs r3, #0 + 800b680: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800b684: 689b ldr r3, [r3, #8] + 800b686: f403 2380 and.w r3, r3, #262144 @ 0x40000 + 800b68a: f5b3 2f80 cmp.w r3, #262144 @ 0x40000 + 800b68e: d101 bne.n 800b694 + 800b690: 2301 movs r3, #1 + 800b692: e000 b.n 800b696 + 800b694: 2300 movs r3, #0 } - 800b0de: 4618 mov r0, r3 - 800b0e0: 46bd mov sp, r7 - 800b0e2: f85d 7b04 ldr.w r7, [sp], #4 - 800b0e6: 4770 bx lr + 800b696: 4618 mov r0, r3 + 800b698: 46bd mov sp, r7 + 800b69a: f85d 7b04 ldr.w r7, [sp], #4 + 800b69e: 4770 bx lr -0800b0e8 : +0800b6a0 : * @note The PLL is not disabled when used as system clock. * @note The PLL source is not updated when used as PLLSAI1 clock source. * @retval HAL status */ HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) { - 800b0e8: b590 push {r4, r7, lr} - 800b0ea: b08d sub sp, #52 @ 0x34 - 800b0ec: af00 add r7, sp, #0 - 800b0ee: 6078 str r0, [r7, #4] + 800b6a0: b590 push {r4, r7, lr} + 800b6a2: b08d sub sp, #52 @ 0x34 + 800b6a4: af00 add r7, sp, #0 + 800b6a6: 6078 str r0, [r7, #4] uint32_t tickstart; /* Check Null pointer */ if (RCC_OscInitStruct == NULL) - 800b0f0: 687b ldr r3, [r7, #4] - 800b0f2: 2b00 cmp r3, #0 - 800b0f4: d101 bne.n 800b0fa + 800b6a8: 687b ldr r3, [r7, #4] + 800b6aa: 2b00 cmp r3, #0 + 800b6ac: d101 bne.n 800b6b2 { return HAL_ERROR; - 800b0f6: 2301 movs r3, #1 - 800b0f8: e363 b.n 800b7c2 + 800b6ae: 2301 movs r3, #1 + 800b6b0: e363 b.n 800bd7a /* Check the parameters */ assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); /*----------------------------- MSI Configuration --------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_MSI) == RCC_OSCILLATORTYPE_MSI) - 800b0fa: 687b ldr r3, [r7, #4] - 800b0fc: 681b ldr r3, [r3, #0] - 800b0fe: f003 0320 and.w r3, r3, #32 - 800b102: 2b00 cmp r3, #0 - 800b104: f000 808d beq.w 800b222 + 800b6b2: 687b ldr r3, [r7, #4] + 800b6b4: 681b ldr r3, [r3, #0] + 800b6b6: f003 0320 and.w r3, r3, #32 + 800b6ba: 2b00 cmp r3, #0 + 800b6bc: f000 808d beq.w 800b7da assert_param(IS_RCC_MSI(RCC_OscInitStruct->MSIState)); assert_param(IS_RCC_MSICALIBRATION_VALUE(RCC_OscInitStruct->MSICalibrationValue)); assert_param(IS_RCC_MSI_CLOCK_RANGE(RCC_OscInitStruct->MSIClockRange)); /* When the MSI is used as system clock it will not be disabled */ const uint32_t temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE(); - 800b108: f7ff fe7d bl 800ae06 - 800b10c: 62f8 str r0, [r7, #44] @ 0x2c + 800b6c0: f7ff fe7d bl 800b3be + 800b6c4: 62f8 str r0, [r7, #44] @ 0x2c const uint32_t temp_plloscsrc = __HAL_RCC_GET_PLL_OSCSOURCE(); - 800b10e: f7ff ff83 bl 800b018 - 800b112: 62b8 str r0, [r7, #40] @ 0x28 + 800b6c6: f7ff ff83 bl 800b5d0 + 800b6ca: 62b8 str r0, [r7, #40] @ 0x28 if ((temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_MSI) || - 800b114: 6afb ldr r3, [r7, #44] @ 0x2c - 800b116: 2b00 cmp r3, #0 - 800b118: d005 beq.n 800b126 - 800b11a: 6afb ldr r3, [r7, #44] @ 0x2c - 800b11c: 2b0c cmp r3, #12 - 800b11e: d147 bne.n 800b1b0 + 800b6cc: 6afb ldr r3, [r7, #44] @ 0x2c + 800b6ce: 2b00 cmp r3, #0 + 800b6d0: d005 beq.n 800b6de + 800b6d2: 6afb ldr r3, [r7, #44] @ 0x2c + 800b6d4: 2b0c cmp r3, #12 + 800b6d6: d147 bne.n 800b768 ((temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (temp_plloscsrc == RCC_PLLSOURCE_MSI))) - 800b120: 6abb ldr r3, [r7, #40] @ 0x28 - 800b122: 2b01 cmp r3, #1 - 800b124: d144 bne.n 800b1b0 + 800b6d8: 6abb ldr r3, [r7, #40] @ 0x28 + 800b6da: 2b01 cmp r3, #1 + 800b6dc: d144 bne.n 800b768 { if (RCC_OscInitStruct->MSIState == RCC_MSI_OFF) - 800b126: 687b ldr r3, [r7, #4] - 800b128: 69db ldr r3, [r3, #28] - 800b12a: 2b00 cmp r3, #0 - 800b12c: d101 bne.n 800b132 + 800b6de: 687b ldr r3, [r7, #4] + 800b6e0: 69db ldr r3, [r3, #28] + 800b6e2: 2b00 cmp r3, #0 + 800b6e4: d101 bne.n 800b6ea { return HAL_ERROR; - 800b12e: 2301 movs r3, #1 - 800b130: e347 b.n 800b7c2 + 800b6e6: 2301 movs r3, #1 + 800b6e8: e347 b.n 800bd7a else { /* To correctly read data from FLASH memory, the number of wait states (LATENCY) must be correctly programmed according to the frequency of the AHB4 clock and the supply voltage of the device. */ if (RCC_OscInitStruct->MSIClockRange > __HAL_RCC_GET_MSI_RANGE()) - 800b132: 687b ldr r3, [r7, #4] - 800b134: 6a5c ldr r4, [r3, #36] @ 0x24 - 800b136: f7ff fe28 bl 800ad8a - 800b13a: 4603 mov r3, r0 - 800b13c: 429c cmp r4, r3 - 800b13e: d914 bls.n 800b16a + 800b6ea: 687b ldr r3, [r7, #4] + 800b6ec: 6a5c ldr r4, [r3, #36] @ 0x24 + 800b6ee: f7ff fe28 bl 800b342 + 800b6f2: 4603 mov r3, r0 + 800b6f4: 429c cmp r4, r3 + 800b6f6: d914 bls.n 800b722 { /* First increase number of wait states update if necessary */ if (RCC_SetFlashLatencyFromMSIRange(RCC_OscInitStruct->MSIClockRange) != HAL_OK) - 800b140: 687b ldr r3, [r7, #4] - 800b142: 6a5b ldr r3, [r3, #36] @ 0x24 - 800b144: 4618 mov r0, r3 - 800b146: f000 fd4b bl 800bbe0 - 800b14a: 4603 mov r3, r0 - 800b14c: 2b00 cmp r3, #0 - 800b14e: d001 beq.n 800b154 + 800b6f8: 687b ldr r3, [r7, #4] + 800b6fa: 6a5b ldr r3, [r3, #36] @ 0x24 + 800b6fc: 4618 mov r0, r3 + 800b6fe: f000 fd4b bl 800c198 + 800b702: 4603 mov r3, r0 + 800b704: 2b00 cmp r3, #0 + 800b706: d001 beq.n 800b70c { return HAL_ERROR; - 800b150: 2301 movs r3, #1 - 800b152: e336 b.n 800b7c2 + 800b708: 2301 movs r3, #1 + 800b70a: e336 b.n 800bd7a } /* Selects the Multiple Speed oscillator (MSI) clock range .*/ __HAL_RCC_MSI_RANGE_CONFIG(RCC_OscInitStruct->MSIClockRange); - 800b154: 687b ldr r3, [r7, #4] - 800b156: 6a5b ldr r3, [r3, #36] @ 0x24 - 800b158: 4618 mov r0, r3 - 800b15a: f7ff fe02 bl 800ad62 + 800b70c: 687b ldr r3, [r7, #4] + 800b70e: 6a5b ldr r3, [r3, #36] @ 0x24 + 800b710: 4618 mov r0, r3 + 800b712: f7ff fe02 bl 800b31a /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ __HAL_RCC_MSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->MSICalibrationValue); - 800b15e: 687b ldr r3, [r7, #4] - 800b160: 6a1b ldr r3, [r3, #32] - 800b162: 4618 mov r0, r3 - 800b164: f7ff fe26 bl 800adb4 - 800b168: e013 b.n 800b192 + 800b716: 687b ldr r3, [r7, #4] + 800b718: 6a1b ldr r3, [r3, #32] + 800b71a: 4618 mov r0, r3 + 800b71c: f7ff fe26 bl 800b36c + 800b720: e013 b.n 800b74a } else { /* Else, keep current flash latency while decreasing applies */ /* Selects the Multiple Speed oscillator (MSI) clock range .*/ __HAL_RCC_MSI_RANGE_CONFIG(RCC_OscInitStruct->MSIClockRange); - 800b16a: 687b ldr r3, [r7, #4] - 800b16c: 6a5b ldr r3, [r3, #36] @ 0x24 - 800b16e: 4618 mov r0, r3 - 800b170: f7ff fdf7 bl 800ad62 + 800b722: 687b ldr r3, [r7, #4] + 800b724: 6a5b ldr r3, [r3, #36] @ 0x24 + 800b726: 4618 mov r0, r3 + 800b728: f7ff fdf7 bl 800b31a /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ __HAL_RCC_MSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->MSICalibrationValue); - 800b174: 687b ldr r3, [r7, #4] - 800b176: 6a1b ldr r3, [r3, #32] - 800b178: 4618 mov r0, r3 - 800b17a: f7ff fe1b bl 800adb4 + 800b72c: 687b ldr r3, [r7, #4] + 800b72e: 6a1b ldr r3, [r3, #32] + 800b730: 4618 mov r0, r3 + 800b732: f7ff fe1b bl 800b36c /* Decrease number of wait states update if necessary */ if (RCC_SetFlashLatencyFromMSIRange(RCC_OscInitStruct->MSIClockRange) != HAL_OK) - 800b17e: 687b ldr r3, [r7, #4] - 800b180: 6a5b ldr r3, [r3, #36] @ 0x24 - 800b182: 4618 mov r0, r3 - 800b184: f000 fd2c bl 800bbe0 - 800b188: 4603 mov r3, r0 - 800b18a: 2b00 cmp r3, #0 - 800b18c: d001 beq.n 800b192 + 800b736: 687b ldr r3, [r7, #4] + 800b738: 6a5b ldr r3, [r3, #36] @ 0x24 + 800b73a: 4618 mov r0, r3 + 800b73c: f000 fd2c bl 800c198 + 800b740: 4603 mov r3, r0 + 800b742: 2b00 cmp r3, #0 + 800b744: d001 beq.n 800b74a { return HAL_ERROR; - 800b18e: 2301 movs r3, #1 - 800b190: e317 b.n 800b7c2 + 800b746: 2301 movs r3, #1 + 800b748: e317 b.n 800bd7a } } /* Update the SystemCoreClock global variable */ SystemCoreClock = HAL_RCC_GetHCLKFreq(); - 800b192: f000 fcc9 bl 800bb28 - 800b196: 4603 mov r3, r0 - 800b198: 4aa4 ldr r2, [pc, #656] @ (800b42c ) - 800b19a: 6013 str r3, [r2, #0] + 800b74a: f000 fcc9 bl 800c0e0 + 800b74e: 4603 mov r3, r0 + 800b750: 4aa4 ldr r2, [pc, #656] @ (800b9e4 ) + 800b752: 6013 str r3, [r2, #0] if (HAL_InitTick(uwTickPrio) != HAL_OK) - 800b19c: 4ba4 ldr r3, [pc, #656] @ (800b430 ) - 800b19e: 681b ldr r3, [r3, #0] - 800b1a0: 4618 mov r0, r3 - 800b1a2: f7fa fefd bl 8005fa0 - 800b1a6: 4603 mov r3, r0 - 800b1a8: 2b00 cmp r3, #0 - 800b1aa: d039 beq.n 800b220 + 800b754: 4ba4 ldr r3, [pc, #656] @ (800b9e8 ) + 800b756: 681b ldr r3, [r3, #0] + 800b758: 4618 mov r0, r3 + 800b75a: f7fa fe9f bl 800649c + 800b75e: 4603 mov r3, r0 + 800b760: 2b00 cmp r3, #0 + 800b762: d039 beq.n 800b7d8 { return HAL_ERROR; - 800b1ac: 2301 movs r3, #1 - 800b1ae: e308 b.n 800b7c2 + 800b764: 2301 movs r3, #1 + 800b766: e308 b.n 800bd7a } } else { /* Check the MSI State */ if (RCC_OscInitStruct->MSIState != RCC_MSI_OFF) - 800b1b0: 687b ldr r3, [r7, #4] - 800b1b2: 69db ldr r3, [r3, #28] - 800b1b4: 2b00 cmp r3, #0 - 800b1b6: d01e beq.n 800b1f6 + 800b768: 687b ldr r3, [r7, #4] + 800b76a: 69db ldr r3, [r3, #28] + 800b76c: 2b00 cmp r3, #0 + 800b76e: d01e beq.n 800b7ae { /* Enable the Internal High Speed oscillator (MSI). */ __HAL_RCC_MSI_ENABLE(); - 800b1b8: f7ff fda4 bl 800ad04 + 800b770: f7ff fda4 bl 800b2bc /* Get timeout */ tickstart = HAL_GetTick(); - 800b1bc: f7fb f958 bl 8006470 - 800b1c0: 6278 str r0, [r7, #36] @ 0x24 + 800b774: f7fb f8fa bl 800696c + 800b778: 6278 str r0, [r7, #36] @ 0x24 /* Wait till MSI is ready */ while (LL_RCC_MSI_IsReady() == 0U) - 800b1c2: e008 b.n 800b1d6 + 800b77a: e008 b.n 800b78e { if ((HAL_GetTick() - tickstart) > MSI_TIMEOUT_VALUE) - 800b1c4: f7fb f954 bl 8006470 - 800b1c8: 4602 mov r2, r0 - 800b1ca: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b1cc: 1ad3 subs r3, r2, r3 - 800b1ce: 2b02 cmp r3, #2 - 800b1d0: d901 bls.n 800b1d6 + 800b77c: f7fb f8f6 bl 800696c + 800b780: 4602 mov r2, r0 + 800b782: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b784: 1ad3 subs r3, r2, r3 + 800b786: 2b02 cmp r3, #2 + 800b788: d901 bls.n 800b78e { return HAL_TIMEOUT; - 800b1d2: 2303 movs r3, #3 - 800b1d4: e2f5 b.n 800b7c2 + 800b78a: 2303 movs r3, #3 + 800b78c: e2f5 b.n 800bd7a while (LL_RCC_MSI_IsReady() == 0U) - 800b1d6: f7ff fdb3 bl 800ad40 - 800b1da: 4603 mov r3, r0 - 800b1dc: 2b00 cmp r3, #0 - 800b1de: d0f1 beq.n 800b1c4 + 800b78e: f7ff fdb3 bl 800b2f8 + 800b792: 4603 mov r3, r0 + 800b794: 2b00 cmp r3, #0 + 800b796: d0f1 beq.n 800b77c } } /* Selects the Multiple Speed oscillator (MSI) clock range .*/ __HAL_RCC_MSI_RANGE_CONFIG(RCC_OscInitStruct->MSIClockRange); - 800b1e0: 687b ldr r3, [r7, #4] - 800b1e2: 6a5b ldr r3, [r3, #36] @ 0x24 - 800b1e4: 4618 mov r0, r3 - 800b1e6: f7ff fdbc bl 800ad62 + 800b798: 687b ldr r3, [r7, #4] + 800b79a: 6a5b ldr r3, [r3, #36] @ 0x24 + 800b79c: 4618 mov r0, r3 + 800b79e: f7ff fdbc bl 800b31a /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ __HAL_RCC_MSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->MSICalibrationValue); - 800b1ea: 687b ldr r3, [r7, #4] - 800b1ec: 6a1b ldr r3, [r3, #32] - 800b1ee: 4618 mov r0, r3 - 800b1f0: f7ff fde0 bl 800adb4 - 800b1f4: e015 b.n 800b222 + 800b7a2: 687b ldr r3, [r7, #4] + 800b7a4: 6a1b ldr r3, [r3, #32] + 800b7a6: 4618 mov r0, r3 + 800b7a8: f7ff fde0 bl 800b36c + 800b7ac: e015 b.n 800b7da } else { /* Disable the Internal High Speed oscillator (MSI). */ __HAL_RCC_MSI_DISABLE(); - 800b1f6: f7ff fd94 bl 800ad22 + 800b7ae: f7ff fd94 bl 800b2da /* Get timeout */ tickstart = HAL_GetTick(); - 800b1fa: f7fb f939 bl 8006470 - 800b1fe: 6278 str r0, [r7, #36] @ 0x24 + 800b7b2: f7fb f8db bl 800696c + 800b7b6: 6278 str r0, [r7, #36] @ 0x24 /* Wait till MSI is disabled */ while (LL_RCC_MSI_IsReady() != 0U) - 800b200: e008 b.n 800b214 + 800b7b8: e008 b.n 800b7cc { if ((HAL_GetTick() - tickstart) > MSI_TIMEOUT_VALUE) - 800b202: f7fb f935 bl 8006470 - 800b206: 4602 mov r2, r0 - 800b208: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b20a: 1ad3 subs r3, r2, r3 - 800b20c: 2b02 cmp r3, #2 - 800b20e: d901 bls.n 800b214 + 800b7ba: f7fb f8d7 bl 800696c + 800b7be: 4602 mov r2, r0 + 800b7c0: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b7c2: 1ad3 subs r3, r2, r3 + 800b7c4: 2b02 cmp r3, #2 + 800b7c6: d901 bls.n 800b7cc { return HAL_TIMEOUT; - 800b210: 2303 movs r3, #3 - 800b212: e2d6 b.n 800b7c2 + 800b7c8: 2303 movs r3, #3 + 800b7ca: e2d6 b.n 800bd7a while (LL_RCC_MSI_IsReady() != 0U) - 800b214: f7ff fd94 bl 800ad40 - 800b218: 4603 mov r3, r0 - 800b21a: 2b00 cmp r3, #0 - 800b21c: d1f1 bne.n 800b202 - 800b21e: e000 b.n 800b222 + 800b7cc: f7ff fd94 bl 800b2f8 + 800b7d0: 4603 mov r3, r0 + 800b7d2: 2b00 cmp r3, #0 + 800b7d4: d1f1 bne.n 800b7ba + 800b7d6: e000 b.n 800b7da if (RCC_OscInitStruct->MSIState == RCC_MSI_OFF) - 800b220: bf00 nop + 800b7d8: bf00 nop } } } /*------------------------------- HSE Configuration ------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) - 800b222: 687b ldr r3, [r7, #4] - 800b224: 681b ldr r3, [r3, #0] - 800b226: f003 0301 and.w r3, r3, #1 - 800b22a: 2b00 cmp r3, #0 - 800b22c: d047 beq.n 800b2be + 800b7da: 687b ldr r3, [r7, #4] + 800b7dc: 681b ldr r3, [r3, #0] + 800b7de: f003 0301 and.w r3, r3, #1 + 800b7e2: 2b00 cmp r3, #0 + 800b7e4: d047 beq.n 800b876 { /* Check the parameters */ assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); /* When the HSE is used as system clock or clock source for PLL in these cases it is not allowed to be disabled */ const uint32_t temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE(); - 800b22e: f7ff fdea bl 800ae06 - 800b232: 6238 str r0, [r7, #32] + 800b7e6: f7ff fdea bl 800b3be + 800b7ea: 6238 str r0, [r7, #32] const uint32_t temp_plloscsrc = __HAL_RCC_GET_PLL_OSCSOURCE(); - 800b234: f7ff fef0 bl 800b018 - 800b238: 61f8 str r0, [r7, #28] + 800b7ec: f7ff fef0 bl 800b5d0 + 800b7f0: 61f8 str r0, [r7, #28] if ((temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_HSE) || - 800b23a: 6a3b ldr r3, [r7, #32] - 800b23c: 2b08 cmp r3, #8 - 800b23e: d005 beq.n 800b24c - 800b240: 6a3b ldr r3, [r7, #32] - 800b242: 2b0c cmp r3, #12 - 800b244: d108 bne.n 800b258 + 800b7f2: 6a3b ldr r3, [r7, #32] + 800b7f4: 2b08 cmp r3, #8 + 800b7f6: d005 beq.n 800b804 + 800b7f8: 6a3b ldr r3, [r7, #32] + 800b7fa: 2b0c cmp r3, #12 + 800b7fc: d108 bne.n 800b810 ((temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (temp_plloscsrc == RCC_PLLSOURCE_HSE))) - 800b246: 69fb ldr r3, [r7, #28] - 800b248: 2b03 cmp r3, #3 - 800b24a: d105 bne.n 800b258 + 800b7fe: 69fb ldr r3, [r7, #28] + 800b800: 2b03 cmp r3, #3 + 800b802: d105 bne.n 800b810 { if (RCC_OscInitStruct->HSEState == RCC_HSE_OFF) - 800b24c: 687b ldr r3, [r7, #4] - 800b24e: 685b ldr r3, [r3, #4] - 800b250: 2b00 cmp r3, #0 - 800b252: d134 bne.n 800b2be + 800b804: 687b ldr r3, [r7, #4] + 800b806: 685b ldr r3, [r3, #4] + 800b808: 2b00 cmp r3, #0 + 800b80a: d134 bne.n 800b876 { return HAL_ERROR; - 800b254: 2301 movs r3, #1 - 800b256: e2b4 b.n 800b7c2 + 800b80c: 2301 movs r3, #1 + 800b80e: e2b4 b.n 800bd7a } } else { /* Set the new HSE configuration ---------------------------------------*/ __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); - 800b258: 687b ldr r3, [r7, #4] - 800b25a: 685b ldr r3, [r3, #4] - 800b25c: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 - 800b260: d102 bne.n 800b268 - 800b262: f7ff fbd1 bl 800aa08 - 800b266: e001 b.n 800b26c - 800b268: f7ff fbdd bl 800aa26 + 800b810: 687b ldr r3, [r7, #4] + 800b812: 685b ldr r3, [r3, #4] + 800b814: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 + 800b818: d102 bne.n 800b820 + 800b81a: f7ff fbd1 bl 800afc0 + 800b81e: e001 b.n 800b824 + 800b820: f7ff fbdd bl 800afde /* Check the HSE State */ if (RCC_OscInitStruct->HSEState != RCC_HSE_OFF) - 800b26c: 687b ldr r3, [r7, #4] - 800b26e: 685b ldr r3, [r3, #4] - 800b270: 2b00 cmp r3, #0 - 800b272: d012 beq.n 800b29a + 800b824: 687b ldr r3, [r7, #4] + 800b826: 685b ldr r3, [r3, #4] + 800b828: 2b00 cmp r3, #0 + 800b82a: d012 beq.n 800b852 { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b274: f7fb f8fc bl 8006470 - 800b278: 6278 str r0, [r7, #36] @ 0x24 + 800b82c: f7fb f89e bl 800696c + 800b830: 6278 str r0, [r7, #36] @ 0x24 /* Wait till HSE is ready */ while (LL_RCC_HSE_IsReady() == 0U) - 800b27a: e008 b.n 800b28e + 800b832: e008 b.n 800b846 { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) - 800b27c: f7fb f8f8 bl 8006470 - 800b280: 4602 mov r2, r0 - 800b282: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b284: 1ad3 subs r3, r2, r3 - 800b286: 2b64 cmp r3, #100 @ 0x64 - 800b288: d901 bls.n 800b28e + 800b834: f7fb f89a bl 800696c + 800b838: 4602 mov r2, r0 + 800b83a: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b83c: 1ad3 subs r3, r2, r3 + 800b83e: 2b64 cmp r3, #100 @ 0x64 + 800b840: d901 bls.n 800b846 { return HAL_TIMEOUT; - 800b28a: 2303 movs r3, #3 - 800b28c: e299 b.n 800b7c2 + 800b842: 2303 movs r3, #3 + 800b844: e299 b.n 800bd7a while (LL_RCC_HSE_IsReady() == 0U) - 800b28e: f7ff fbd9 bl 800aa44 - 800b292: 4603 mov r3, r0 - 800b294: 2b00 cmp r3, #0 - 800b296: d0f1 beq.n 800b27c - 800b298: e011 b.n 800b2be + 800b846: f7ff fbd9 bl 800affc + 800b84a: 4603 mov r3, r0 + 800b84c: 2b00 cmp r3, #0 + 800b84e: d0f1 beq.n 800b834 + 800b850: e011 b.n 800b876 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b29a: f7fb f8e9 bl 8006470 - 800b29e: 6278 str r0, [r7, #36] @ 0x24 + 800b852: f7fb f88b bl 800696c + 800b856: 6278 str r0, [r7, #36] @ 0x24 /* Wait till HSE is disabled */ while (LL_RCC_HSE_IsReady() != 0U) - 800b2a0: e008 b.n 800b2b4 + 800b858: e008 b.n 800b86c { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) - 800b2a2: f7fb f8e5 bl 8006470 - 800b2a6: 4602 mov r2, r0 - 800b2a8: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b2aa: 1ad3 subs r3, r2, r3 - 800b2ac: 2b64 cmp r3, #100 @ 0x64 - 800b2ae: d901 bls.n 800b2b4 + 800b85a: f7fb f887 bl 800696c + 800b85e: 4602 mov r2, r0 + 800b860: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b862: 1ad3 subs r3, r2, r3 + 800b864: 2b64 cmp r3, #100 @ 0x64 + 800b866: d901 bls.n 800b86c { return HAL_TIMEOUT; - 800b2b0: 2303 movs r3, #3 - 800b2b2: e286 b.n 800b7c2 + 800b868: 2303 movs r3, #3 + 800b86a: e286 b.n 800bd7a while (LL_RCC_HSE_IsReady() != 0U) - 800b2b4: f7ff fbc6 bl 800aa44 - 800b2b8: 4603 mov r3, r0 - 800b2ba: 2b00 cmp r3, #0 - 800b2bc: d1f1 bne.n 800b2a2 + 800b86c: f7ff fbc6 bl 800affc + 800b870: 4603 mov r3, r0 + 800b872: 2b00 cmp r3, #0 + 800b874: d1f1 bne.n 800b85a } } } /*----------------------------- HSI Configuration --------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) - 800b2be: 687b ldr r3, [r7, #4] - 800b2c0: 681b ldr r3, [r3, #0] - 800b2c2: f003 0302 and.w r3, r3, #2 - 800b2c6: 2b00 cmp r3, #0 - 800b2c8: d04c beq.n 800b364 + 800b876: 687b ldr r3, [r7, #4] + 800b878: 681b ldr r3, [r3, #0] + 800b87a: f003 0302 and.w r3, r3, #2 + 800b87e: 2b00 cmp r3, #0 + 800b880: d04c beq.n 800b91c /* Check the parameters */ assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); assert_param(IS_RCC_HSI_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock */ const uint32_t temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE(); - 800b2ca: f7ff fd9c bl 800ae06 - 800b2ce: 61b8 str r0, [r7, #24] + 800b882: f7ff fd9c bl 800b3be + 800b886: 61b8 str r0, [r7, #24] const uint32_t temp_plloscsrc = __HAL_RCC_GET_PLL_OSCSOURCE(); - 800b2d0: f7ff fea2 bl 800b018 - 800b2d4: 6178 str r0, [r7, #20] + 800b888: f7ff fea2 bl 800b5d0 + 800b88c: 6178 str r0, [r7, #20] if ((temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_HSI) || - 800b2d6: 69bb ldr r3, [r7, #24] - 800b2d8: 2b04 cmp r3, #4 - 800b2da: d005 beq.n 800b2e8 - 800b2dc: 69bb ldr r3, [r7, #24] - 800b2de: 2b0c cmp r3, #12 - 800b2e0: d10e bne.n 800b300 + 800b88e: 69bb ldr r3, [r7, #24] + 800b890: 2b04 cmp r3, #4 + 800b892: d005 beq.n 800b8a0 + 800b894: 69bb ldr r3, [r7, #24] + 800b896: 2b0c cmp r3, #12 + 800b898: d10e bne.n 800b8b8 ((temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (temp_plloscsrc == RCC_PLLSOURCE_HSI))) - 800b2e2: 697b ldr r3, [r7, #20] - 800b2e4: 2b02 cmp r3, #2 - 800b2e6: d10b bne.n 800b300 + 800b89a: 697b ldr r3, [r7, #20] + 800b89c: 2b02 cmp r3, #2 + 800b89e: d10b bne.n 800b8b8 { /* When HSI is used as system clock it will not be disabled */ if (RCC_OscInitStruct->HSIState == RCC_HSI_OFF) - 800b2e8: 687b ldr r3, [r7, #4] - 800b2ea: 68db ldr r3, [r3, #12] - 800b2ec: 2b00 cmp r3, #0 - 800b2ee: d101 bne.n 800b2f4 + 800b8a0: 687b ldr r3, [r7, #4] + 800b8a2: 68db ldr r3, [r3, #12] + 800b8a4: 2b00 cmp r3, #0 + 800b8a6: d101 bne.n 800b8ac { return HAL_ERROR; - 800b2f0: 2301 movs r3, #1 - 800b2f2: e266 b.n 800b7c2 + 800b8a8: 2301 movs r3, #1 + 800b8aa: e266 b.n 800bd7a } /* Otherwise, just the calibration is allowed */ else { /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); - 800b2f4: 687b ldr r3, [r7, #4] - 800b2f6: 691b ldr r3, [r3, #16] - 800b2f8: 4618 mov r0, r3 - 800b2fa: f7ff fbe5 bl 800aac8 + 800b8ac: 687b ldr r3, [r7, #4] + 800b8ae: 691b ldr r3, [r3, #16] + 800b8b0: 4618 mov r0, r3 + 800b8b2: f7ff fbe5 bl 800b080 if (RCC_OscInitStruct->HSIState == RCC_HSI_OFF) - 800b2fe: e031 b.n 800b364 + 800b8b6: e031 b.n 800b91c } } else { /* Check the HSI State */ if (RCC_OscInitStruct->HSIState != RCC_HSI_OFF) - 800b300: 687b ldr r3, [r7, #4] - 800b302: 68db ldr r3, [r3, #12] - 800b304: 2b00 cmp r3, #0 - 800b306: d019 beq.n 800b33c + 800b8b8: 687b ldr r3, [r7, #4] + 800b8ba: 68db ldr r3, [r3, #12] + 800b8bc: 2b00 cmp r3, #0 + 800b8be: d019 beq.n 800b8f4 { /* Enable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_ENABLE(); - 800b308: f7ff fbae bl 800aa68 + 800b8c0: f7ff fbae bl 800b020 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b30c: f7fb f8b0 bl 8006470 - 800b310: 6278 str r0, [r7, #36] @ 0x24 + 800b8c4: f7fb f852 bl 800696c + 800b8c8: 6278 str r0, [r7, #36] @ 0x24 /* Wait till HSI is ready */ while (LL_RCC_HSI_IsReady() == 0U) - 800b312: e008 b.n 800b326 + 800b8ca: e008 b.n 800b8de { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) - 800b314: f7fb f8ac bl 8006470 - 800b318: 4602 mov r2, r0 - 800b31a: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b31c: 1ad3 subs r3, r2, r3 - 800b31e: 2b02 cmp r3, #2 - 800b320: d901 bls.n 800b326 + 800b8cc: f7fb f84e bl 800696c + 800b8d0: 4602 mov r2, r0 + 800b8d2: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b8d4: 1ad3 subs r3, r2, r3 + 800b8d6: 2b02 cmp r3, #2 + 800b8d8: d901 bls.n 800b8de { return HAL_TIMEOUT; - 800b322: 2303 movs r3, #3 - 800b324: e24d b.n 800b7c2 + 800b8da: 2303 movs r3, #3 + 800b8dc: e24d b.n 800bd7a while (LL_RCC_HSI_IsReady() == 0U) - 800b326: f7ff fbbd bl 800aaa4 - 800b32a: 4603 mov r3, r0 - 800b32c: 2b00 cmp r3, #0 - 800b32e: d0f1 beq.n 800b314 + 800b8de: f7ff fbbd bl 800b05c + 800b8e2: 4603 mov r3, r0 + 800b8e4: 2b00 cmp r3, #0 + 800b8e6: d0f1 beq.n 800b8cc } } /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); - 800b330: 687b ldr r3, [r7, #4] - 800b332: 691b ldr r3, [r3, #16] - 800b334: 4618 mov r0, r3 - 800b336: f7ff fbc7 bl 800aac8 - 800b33a: e013 b.n 800b364 + 800b8e8: 687b ldr r3, [r7, #4] + 800b8ea: 691b ldr r3, [r3, #16] + 800b8ec: 4618 mov r0, r3 + 800b8ee: f7ff fbc7 bl 800b080 + 800b8f2: e013 b.n 800b91c } else { /* Disable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_DISABLE(); - 800b33c: f7ff fba3 bl 800aa86 + 800b8f4: f7ff fba3 bl 800b03e /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b340: f7fb f896 bl 8006470 - 800b344: 6278 str r0, [r7, #36] @ 0x24 + 800b8f8: f7fb f838 bl 800696c + 800b8fc: 6278 str r0, [r7, #36] @ 0x24 /* Wait till HSI is disabled */ while (LL_RCC_HSI_IsReady() != 0U) - 800b346: e008 b.n 800b35a + 800b8fe: e008 b.n 800b912 { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) - 800b348: f7fb f892 bl 8006470 - 800b34c: 4602 mov r2, r0 - 800b34e: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b350: 1ad3 subs r3, r2, r3 - 800b352: 2b02 cmp r3, #2 - 800b354: d901 bls.n 800b35a + 800b900: f7fb f834 bl 800696c + 800b904: 4602 mov r2, r0 + 800b906: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b908: 1ad3 subs r3, r2, r3 + 800b90a: 2b02 cmp r3, #2 + 800b90c: d901 bls.n 800b912 { return HAL_TIMEOUT; - 800b356: 2303 movs r3, #3 - 800b358: e233 b.n 800b7c2 + 800b90e: 2303 movs r3, #3 + 800b910: e233 b.n 800bd7a while (LL_RCC_HSI_IsReady() != 0U) - 800b35a: f7ff fba3 bl 800aaa4 - 800b35e: 4603 mov r3, r0 - 800b360: 2b00 cmp r3, #0 - 800b362: d1f1 bne.n 800b348 + 800b912: f7ff fba3 bl 800b05c + 800b916: 4603 mov r3, r0 + 800b918: 2b00 cmp r3, #0 + 800b91a: d1f1 bne.n 800b900 } } } /*------------------------------ LSI Configuration (LSI1 or LSI2) -------------------------*/ if ((((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI1) == RCC_OSCILLATORTYPE_LSI1) || \ - 800b364: 687b ldr r3, [r7, #4] - 800b366: 681b ldr r3, [r3, #0] - 800b368: f003 0308 and.w r3, r3, #8 - 800b36c: 2b00 cmp r3, #0 - 800b36e: d106 bne.n 800b37e + 800b91c: 687b ldr r3, [r7, #4] + 800b91e: 681b ldr r3, [r3, #0] + 800b920: f003 0308 and.w r3, r3, #8 + 800b924: 2b00 cmp r3, #0 + 800b926: d106 bne.n 800b936 (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI2) == RCC_OSCILLATORTYPE_LSI2)) - 800b370: 687b ldr r3, [r7, #4] - 800b372: 681b ldr r3, [r3, #0] - 800b374: f003 0310 and.w r3, r3, #16 + 800b928: 687b ldr r3, [r7, #4] + 800b92a: 681b ldr r3, [r3, #0] + 800b92c: f003 0310 and.w r3, r3, #16 if ((((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI1) == RCC_OSCILLATORTYPE_LSI1) || \ - 800b378: 2b00 cmp r3, #0 - 800b37a: f000 80a3 beq.w 800b4c4 + 800b930: 2b00 cmp r3, #0 + 800b932: f000 80a3 beq.w 800ba7c { /* Check the parameters */ assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); /* Check the LSI State */ if (RCC_OscInitStruct->LSIState != RCC_LSI_OFF) - 800b37e: 687b ldr r3, [r7, #4] - 800b380: 695b ldr r3, [r3, #20] - 800b382: 2b00 cmp r3, #0 - 800b384: d076 beq.n 800b474 + 800b936: 687b ldr r3, [r7, #4] + 800b938: 695b ldr r3, [r3, #20] + 800b93a: 2b00 cmp r3, #0 + 800b93c: d076 beq.n 800ba2c { /*------------------------------ LSI2 selected by default (when Switch ON) -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI2) == RCC_OSCILLATORTYPE_LSI2) - 800b386: 687b ldr r3, [r7, #4] - 800b388: 681b ldr r3, [r3, #0] - 800b38a: f003 0310 and.w r3, r3, #16 - 800b38e: 2b00 cmp r3, #0 - 800b390: d046 beq.n 800b420 + 800b93e: 687b ldr r3, [r7, #4] + 800b940: 681b ldr r3, [r3, #0] + 800b942: f003 0310 and.w r3, r3, #16 + 800b946: 2b00 cmp r3, #0 + 800b948: d046 beq.n 800b9d8 { assert_param(IS_RCC_LSI2_CALIBRATION_VALUE(RCC_OscInitStruct->LSI2CalibrationValue)); /* 1. Check LSI1 state and enable if required */ if (LL_RCC_LSI1_IsReady() == 0U) - 800b392: f7ff fc5a bl 800ac4a - 800b396: 4603 mov r3, r0 - 800b398: 2b00 cmp r3, #0 - 800b39a: d113 bne.n 800b3c4 + 800b94a: f7ff fc5a bl 800b202 + 800b94e: 4603 mov r3, r0 + 800b950: 2b00 cmp r3, #0 + 800b952: d113 bne.n 800b97c { /* This is required to enable LSI1 before enabling LSI2 */ __HAL_RCC_LSI1_ENABLE(); - 800b39c: f7ff fc33 bl 800ac06 + 800b954: f7ff fc33 bl 800b1be /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b3a0: f7fb f866 bl 8006470 - 800b3a4: 6278 str r0, [r7, #36] @ 0x24 + 800b958: f7fb f808 bl 800696c + 800b95c: 6278 str r0, [r7, #36] @ 0x24 /* Wait till LSI1 is ready */ while (LL_RCC_LSI1_IsReady() == 0U) - 800b3a6: e008 b.n 800b3ba + 800b95e: e008 b.n 800b972 { if ((HAL_GetTick() - tickstart) > LSI1_TIMEOUT_VALUE) - 800b3a8: f7fb f862 bl 8006470 - 800b3ac: 4602 mov r2, r0 - 800b3ae: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b3b0: 1ad3 subs r3, r2, r3 - 800b3b2: 2b02 cmp r3, #2 - 800b3b4: d901 bls.n 800b3ba + 800b960: f7fb f804 bl 800696c + 800b964: 4602 mov r2, r0 + 800b966: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b968: 1ad3 subs r3, r2, r3 + 800b96a: 2b02 cmp r3, #2 + 800b96c: d901 bls.n 800b972 { return HAL_TIMEOUT; - 800b3b6: 2303 movs r3, #3 - 800b3b8: e203 b.n 800b7c2 + 800b96e: 2303 movs r3, #3 + 800b970: e203 b.n 800bd7a while (LL_RCC_LSI1_IsReady() == 0U) - 800b3ba: f7ff fc46 bl 800ac4a - 800b3be: 4603 mov r3, r0 - 800b3c0: 2b00 cmp r3, #0 - 800b3c2: d0f1 beq.n 800b3a8 + 800b972: f7ff fc46 bl 800b202 + 800b976: 4603 mov r3, r0 + 800b978: 2b00 cmp r3, #0 + 800b97a: d0f1 beq.n 800b960 } } } /* 2. Enable the Internal Low Speed oscillator (LSI2) and set trimming value */ __HAL_RCC_LSI2_ENABLE(); - 800b3c4: f7ff fc53 bl 800ac6e + 800b97c: f7ff fc53 bl 800b226 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b3c8: f7fb f852 bl 8006470 - 800b3cc: 6278 str r0, [r7, #36] @ 0x24 + 800b980: f7fa fff4 bl 800696c + 800b984: 6278 str r0, [r7, #36] @ 0x24 /* Wait till LSI2 is ready */ while (LL_RCC_LSI2_IsReady() == 0U) - 800b3ce: e008 b.n 800b3e2 + 800b986: e008 b.n 800b99a { if ((HAL_GetTick() - tickstart) > LSI2_TIMEOUT_VALUE) - 800b3d0: f7fb f84e bl 8006470 - 800b3d4: 4602 mov r2, r0 - 800b3d6: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b3d8: 1ad3 subs r3, r2, r3 - 800b3da: 2b03 cmp r3, #3 - 800b3dc: d901 bls.n 800b3e2 + 800b988: f7fa fff0 bl 800696c + 800b98c: 4602 mov r2, r0 + 800b98e: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b990: 1ad3 subs r3, r2, r3 + 800b992: 2b03 cmp r3, #3 + 800b994: d901 bls.n 800b99a { return HAL_TIMEOUT; - 800b3de: 2303 movs r3, #3 - 800b3e0: e1ef b.n 800b7c2 + 800b996: 2303 movs r3, #3 + 800b998: e1ef b.n 800bd7a while (LL_RCC_LSI2_IsReady() == 0U) - 800b3e2: f7ff fc66 bl 800acb2 - 800b3e6: 4603 mov r3, r0 - 800b3e8: 2b00 cmp r3, #0 - 800b3ea: d0f1 beq.n 800b3d0 + 800b99a: f7ff fc66 bl 800b26a + 800b99e: 4603 mov r3, r0 + 800b9a0: 2b00 cmp r3, #0 + 800b9a2: d0f1 beq.n 800b988 } } /* Adjusts the Internal Low Spee oscillator (LSI2) calibration value */ __HAL_RCC_LSI2_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->LSI2CalibrationValue); - 800b3ec: 687b ldr r3, [r7, #4] - 800b3ee: 699b ldr r3, [r3, #24] - 800b3f0: 4618 mov r0, r3 - 800b3f2: f7ff fc70 bl 800acd6 + 800b9a4: 687b ldr r3, [r7, #4] + 800b9a6: 699b ldr r3, [r3, #24] + 800b9a8: 4618 mov r0, r3 + 800b9aa: f7ff fc70 bl 800b28e /* 3. Disable LSI1 */ /* LSI1 was initially not enable, require to disable it */ __HAL_RCC_LSI1_DISABLE(); - 800b3f6: f7ff fc17 bl 800ac28 + 800b9ae: f7ff fc17 bl 800b1e0 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b3fa: f7fb f839 bl 8006470 - 800b3fe: 6278 str r0, [r7, #36] @ 0x24 + 800b9b2: f7fa ffdb bl 800696c + 800b9b6: 6278 str r0, [r7, #36] @ 0x24 /* Wait till LSI1 is disabled */ while (LL_RCC_LSI1_IsReady() != 0U) - 800b400: e008 b.n 800b414 + 800b9b8: e008 b.n 800b9cc { if ((HAL_GetTick() - tickstart) > LSI1_TIMEOUT_VALUE) - 800b402: f7fb f835 bl 8006470 - 800b406: 4602 mov r2, r0 - 800b408: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b40a: 1ad3 subs r3, r2, r3 - 800b40c: 2b02 cmp r3, #2 - 800b40e: d901 bls.n 800b414 + 800b9ba: f7fa ffd7 bl 800696c + 800b9be: 4602 mov r2, r0 + 800b9c0: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b9c2: 1ad3 subs r3, r2, r3 + 800b9c4: 2b02 cmp r3, #2 + 800b9c6: d901 bls.n 800b9cc { return HAL_TIMEOUT; - 800b410: 2303 movs r3, #3 - 800b412: e1d6 b.n 800b7c2 + 800b9c8: 2303 movs r3, #3 + 800b9ca: e1d6 b.n 800bd7a while (LL_RCC_LSI1_IsReady() != 0U) - 800b414: f7ff fc19 bl 800ac4a - 800b418: 4603 mov r3, r0 - 800b41a: 2b00 cmp r3, #0 - 800b41c: d1f1 bne.n 800b402 - 800b41e: e051 b.n 800b4c4 + 800b9cc: f7ff fc19 bl 800b202 + 800b9d0: 4603 mov r3, r0 + 800b9d2: 2b00 cmp r3, #0 + 800b9d4: d1f1 bne.n 800b9ba + 800b9d6: e051 b.n 800ba7c else { /*------------------------------ LSI1 selected (only if LSI2 OFF)-------------------------*/ /* 1. Enable the Internal Low Speed oscillator (LSI1). */ __HAL_RCC_LSI1_ENABLE(); - 800b420: f7ff fbf1 bl 800ac06 + 800b9d8: f7ff fbf1 bl 800b1be /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b424: f7fb f824 bl 8006470 - 800b428: 6278 str r0, [r7, #36] @ 0x24 + 800b9dc: f7fa ffc6 bl 800696c + 800b9e0: 6278 str r0, [r7, #36] @ 0x24 /* Wait till LSI1 is ready */ while (LL_RCC_LSI1_IsReady() == 0U) - 800b42a: e00c b.n 800b446 - 800b42c: 2000000c .word 0x2000000c - 800b430: 20000010 .word 0x20000010 + 800b9e2: e00c b.n 800b9fe + 800b9e4: 2000000c .word 0x2000000c + 800b9e8: 20000010 .word 0x20000010 { if ((HAL_GetTick() - tickstart) > LSI1_TIMEOUT_VALUE) - 800b434: f7fb f81c bl 8006470 - 800b438: 4602 mov r2, r0 - 800b43a: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b43c: 1ad3 subs r3, r2, r3 - 800b43e: 2b02 cmp r3, #2 - 800b440: d901 bls.n 800b446 + 800b9ec: f7fa ffbe bl 800696c + 800b9f0: 4602 mov r2, r0 + 800b9f2: 6a7b ldr r3, [r7, #36] @ 0x24 + 800b9f4: 1ad3 subs r3, r2, r3 + 800b9f6: 2b02 cmp r3, #2 + 800b9f8: d901 bls.n 800b9fe { return HAL_TIMEOUT; - 800b442: 2303 movs r3, #3 - 800b444: e1bd b.n 800b7c2 + 800b9fa: 2303 movs r3, #3 + 800b9fc: e1bd b.n 800bd7a while (LL_RCC_LSI1_IsReady() == 0U) - 800b446: f7ff fc00 bl 800ac4a - 800b44a: 4603 mov r3, r0 - 800b44c: 2b00 cmp r3, #0 - 800b44e: d0f1 beq.n 800b434 + 800b9fe: f7ff fc00 bl 800b202 + 800ba02: 4603 mov r3, r0 + 800ba04: 2b00 cmp r3, #0 + 800ba06: d0f1 beq.n 800b9ec } } /*2. Switch OFF LSI2*/ /* Disable the Internal Low Speed oscillator (LSI2). */ __HAL_RCC_LSI2_DISABLE(); - 800b450: f7ff fc1e bl 800ac90 + 800ba08: f7ff fc1e bl 800b248 /* Wait till LSI2 is disabled */ while (LL_RCC_LSI2_IsReady() != 0U) - 800b454: e008 b.n 800b468 + 800ba0c: e008 b.n 800ba20 { if ((HAL_GetTick() - tickstart) > LSI2_TIMEOUT_VALUE) - 800b456: f7fb f80b bl 8006470 - 800b45a: 4602 mov r2, r0 - 800b45c: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b45e: 1ad3 subs r3, r2, r3 - 800b460: 2b03 cmp r3, #3 - 800b462: d901 bls.n 800b468 + 800ba0e: f7fa ffad bl 800696c + 800ba12: 4602 mov r2, r0 + 800ba14: 6a7b ldr r3, [r7, #36] @ 0x24 + 800ba16: 1ad3 subs r3, r2, r3 + 800ba18: 2b03 cmp r3, #3 + 800ba1a: d901 bls.n 800ba20 { return HAL_TIMEOUT; - 800b464: 2303 movs r3, #3 - 800b466: e1ac b.n 800b7c2 + 800ba1c: 2303 movs r3, #3 + 800ba1e: e1ac b.n 800bd7a while (LL_RCC_LSI2_IsReady() != 0U) - 800b468: f7ff fc23 bl 800acb2 - 800b46c: 4603 mov r3, r0 - 800b46e: 2b00 cmp r3, #0 - 800b470: d1f1 bne.n 800b456 - 800b472: e027 b.n 800b4c4 + 800ba20: f7ff fc23 bl 800b26a + 800ba24: 4603 mov r3, r0 + 800ba26: 2b00 cmp r3, #0 + 800ba28: d1f1 bne.n 800ba0e + 800ba2a: e027 b.n 800ba7c } else { /* Disable the Internal Low Speed oscillator (LSI2). */ __HAL_RCC_LSI2_DISABLE(); - 800b474: f7ff fc0c bl 800ac90 + 800ba2c: f7ff fc0c bl 800b248 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b478: f7fa fffa bl 8006470 - 800b47c: 6278 str r0, [r7, #36] @ 0x24 + 800ba30: f7fa ff9c bl 800696c + 800ba34: 6278 str r0, [r7, #36] @ 0x24 /* Wait till LSI2 is disabled */ while (LL_RCC_LSI2_IsReady() != 0U) - 800b47e: e008 b.n 800b492 + 800ba36: e008 b.n 800ba4a { if ((HAL_GetTick() - tickstart) > LSI2_TIMEOUT_VALUE) - 800b480: f7fa fff6 bl 8006470 - 800b484: 4602 mov r2, r0 - 800b486: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b488: 1ad3 subs r3, r2, r3 - 800b48a: 2b03 cmp r3, #3 - 800b48c: d901 bls.n 800b492 + 800ba38: f7fa ff98 bl 800696c + 800ba3c: 4602 mov r2, r0 + 800ba3e: 6a7b ldr r3, [r7, #36] @ 0x24 + 800ba40: 1ad3 subs r3, r2, r3 + 800ba42: 2b03 cmp r3, #3 + 800ba44: d901 bls.n 800ba4a { return HAL_TIMEOUT; - 800b48e: 2303 movs r3, #3 - 800b490: e197 b.n 800b7c2 + 800ba46: 2303 movs r3, #3 + 800ba48: e197 b.n 800bd7a while (LL_RCC_LSI2_IsReady() != 0U) - 800b492: f7ff fc0e bl 800acb2 - 800b496: 4603 mov r3, r0 - 800b498: 2b00 cmp r3, #0 - 800b49a: d1f1 bne.n 800b480 + 800ba4a: f7ff fc0e bl 800b26a + 800ba4e: 4603 mov r3, r0 + 800ba50: 2b00 cmp r3, #0 + 800ba52: d1f1 bne.n 800ba38 } } /* Disable the Internal Low Speed oscillator (LSI1). */ __HAL_RCC_LSI1_DISABLE(); - 800b49c: f7ff fbc4 bl 800ac28 + 800ba54: f7ff fbc4 bl 800b1e0 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b4a0: f7fa ffe6 bl 8006470 - 800b4a4: 6278 str r0, [r7, #36] @ 0x24 + 800ba58: f7fa ff88 bl 800696c + 800ba5c: 6278 str r0, [r7, #36] @ 0x24 /* Wait till LSI1 is disabled */ while (LL_RCC_LSI1_IsReady() != 0U) - 800b4a6: e008 b.n 800b4ba + 800ba5e: e008 b.n 800ba72 { if ((HAL_GetTick() - tickstart) > LSI1_TIMEOUT_VALUE) - 800b4a8: f7fa ffe2 bl 8006470 - 800b4ac: 4602 mov r2, r0 - 800b4ae: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b4b0: 1ad3 subs r3, r2, r3 - 800b4b2: 2b02 cmp r3, #2 - 800b4b4: d901 bls.n 800b4ba + 800ba60: f7fa ff84 bl 800696c + 800ba64: 4602 mov r2, r0 + 800ba66: 6a7b ldr r3, [r7, #36] @ 0x24 + 800ba68: 1ad3 subs r3, r2, r3 + 800ba6a: 2b02 cmp r3, #2 + 800ba6c: d901 bls.n 800ba72 { return HAL_TIMEOUT; - 800b4b6: 2303 movs r3, #3 - 800b4b8: e183 b.n 800b7c2 + 800ba6e: 2303 movs r3, #3 + 800ba70: e183 b.n 800bd7a while (LL_RCC_LSI1_IsReady() != 0U) - 800b4ba: f7ff fbc6 bl 800ac4a - 800b4be: 4603 mov r3, r0 - 800b4c0: 2b00 cmp r3, #0 - 800b4c2: d1f1 bne.n 800b4a8 + 800ba72: f7ff fbc6 bl 800b202 + 800ba76: 4603 mov r3, r0 + 800ba78: 2b00 cmp r3, #0 + 800ba7a: d1f1 bne.n 800ba60 } } } /*------------------------------ LSE Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) - 800b4c4: 687b ldr r3, [r7, #4] - 800b4c6: 681b ldr r3, [r3, #0] - 800b4c8: f003 0304 and.w r3, r3, #4 - 800b4cc: 2b00 cmp r3, #0 - 800b4ce: d05b beq.n 800b588 + 800ba7c: 687b ldr r3, [r7, #4] + 800ba7e: 681b ldr r3, [r3, #0] + 800ba80: f003 0304 and.w r3, r3, #4 + 800ba84: 2b00 cmp r3, #0 + 800ba86: d05b beq.n 800bb40 assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); /* Update LSE configuration in Backup Domain control register */ /* Requires to enable write access to Backup Domain of necessary */ if (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) - 800b4d0: 4ba7 ldr r3, [pc, #668] @ (800b770 ) - 800b4d2: 681b ldr r3, [r3, #0] - 800b4d4: f403 7380 and.w r3, r3, #256 @ 0x100 - 800b4d8: 2b00 cmp r3, #0 - 800b4da: d114 bne.n 800b506 + 800ba88: 4ba7 ldr r3, [pc, #668] @ (800bd28 ) + 800ba8a: 681b ldr r3, [r3, #0] + 800ba8c: f403 7380 and.w r3, r3, #256 @ 0x100 + 800ba90: 2b00 cmp r3, #0 + 800ba92: d114 bne.n 800babe { /* Enable write access to Backup domain */ HAL_PWR_EnableBkUpAccess(); - 800b4dc: f7ff fa54 bl 800a988 + 800ba94: f7ff fa54 bl 800af40 /* Wait for Backup domain Write protection disable */ tickstart = HAL_GetTick(); - 800b4e0: f7fa ffc6 bl 8006470 - 800b4e4: 6278 str r0, [r7, #36] @ 0x24 + 800ba98: f7fa ff68 bl 800696c + 800ba9c: 6278 str r0, [r7, #36] @ 0x24 while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) - 800b4e6: e008 b.n 800b4fa + 800ba9e: e008 b.n 800bab2 { if ((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) - 800b4e8: f7fa ffc2 bl 8006470 - 800b4ec: 4602 mov r2, r0 - 800b4ee: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b4f0: 1ad3 subs r3, r2, r3 - 800b4f2: 2b02 cmp r3, #2 - 800b4f4: d901 bls.n 800b4fa + 800baa0: f7fa ff64 bl 800696c + 800baa4: 4602 mov r2, r0 + 800baa6: 6a7b ldr r3, [r7, #36] @ 0x24 + 800baa8: 1ad3 subs r3, r2, r3 + 800baaa: 2b02 cmp r3, #2 + 800baac: d901 bls.n 800bab2 { return HAL_TIMEOUT; - 800b4f6: 2303 movs r3, #3 - 800b4f8: e163 b.n 800b7c2 + 800baae: 2303 movs r3, #3 + 800bab0: e163 b.n 800bd7a while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) - 800b4fa: 4b9d ldr r3, [pc, #628] @ (800b770 ) - 800b4fc: 681b ldr r3, [r3, #0] - 800b4fe: f403 7380 and.w r3, r3, #256 @ 0x100 - 800b502: 2b00 cmp r3, #0 - 800b504: d0f0 beq.n 800b4e8 + 800bab2: 4b9d ldr r3, [pc, #628] @ (800bd28 ) + 800bab4: 681b ldr r3, [r3, #0] + 800bab6: f403 7380 and.w r3, r3, #256 @ 0x100 + 800baba: 2b00 cmp r3, #0 + 800babc: d0f0 beq.n 800baa0 } } } /* Set the new LSE configuration -----------------------------------------*/ __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); - 800b506: 687b ldr r3, [r7, #4] - 800b508: 689b ldr r3, [r3, #8] - 800b50a: 2b01 cmp r3, #1 - 800b50c: d102 bne.n 800b514 - 800b50e: f7ff fb24 bl 800ab5a - 800b512: e00c b.n 800b52e - 800b514: 687b ldr r3, [r7, #4] - 800b516: 689b ldr r3, [r3, #8] - 800b518: 2b05 cmp r3, #5 - 800b51a: d104 bne.n 800b526 - 800b51c: f7ff fb3f bl 800ab9e - 800b520: f7ff fb1b bl 800ab5a - 800b524: e003 b.n 800b52e - 800b526: f7ff fb29 bl 800ab7c - 800b52a: f7ff fb49 bl 800abc0 + 800babe: 687b ldr r3, [r7, #4] + 800bac0: 689b ldr r3, [r3, #8] + 800bac2: 2b01 cmp r3, #1 + 800bac4: d102 bne.n 800bacc + 800bac6: f7ff fb24 bl 800b112 + 800baca: e00c b.n 800bae6 + 800bacc: 687b ldr r3, [r7, #4] + 800bace: 689b ldr r3, [r3, #8] + 800bad0: 2b05 cmp r3, #5 + 800bad2: d104 bne.n 800bade + 800bad4: f7ff fb3f bl 800b156 + 800bad8: f7ff fb1b bl 800b112 + 800badc: e003 b.n 800bae6 + 800bade: f7ff fb29 bl 800b134 + 800bae2: f7ff fb49 bl 800b178 /* Check the LSE State */ if (RCC_OscInitStruct->LSEState != RCC_LSE_OFF) - 800b52e: 687b ldr r3, [r7, #4] - 800b530: 689b ldr r3, [r3, #8] - 800b532: 2b00 cmp r3, #0 - 800b534: d014 beq.n 800b560 + 800bae6: 687b ldr r3, [r7, #4] + 800bae8: 689b ldr r3, [r3, #8] + 800baea: 2b00 cmp r3, #0 + 800baec: d014 beq.n 800bb18 { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b536: f7fa ff9b bl 8006470 - 800b53a: 6278 str r0, [r7, #36] @ 0x24 + 800baee: f7fa ff3d bl 800696c + 800baf2: 6278 str r0, [r7, #36] @ 0x24 /* Wait till LSE is ready */ while (LL_RCC_LSE_IsReady() == 0U) - 800b53c: e00a b.n 800b554 + 800baf4: e00a b.n 800bb0c { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) - 800b53e: f7fa ff97 bl 8006470 - 800b542: 4602 mov r2, r0 - 800b544: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b546: 1ad3 subs r3, r2, r3 - 800b548: f241 3288 movw r2, #5000 @ 0x1388 - 800b54c: 4293 cmp r3, r2 - 800b54e: d901 bls.n 800b554 + 800baf6: f7fa ff39 bl 800696c + 800bafa: 4602 mov r2, r0 + 800bafc: 6a7b ldr r3, [r7, #36] @ 0x24 + 800bafe: 1ad3 subs r3, r2, r3 + 800bb00: f241 3288 movw r2, #5000 @ 0x1388 + 800bb04: 4293 cmp r3, r2 + 800bb06: d901 bls.n 800bb0c { return HAL_TIMEOUT; - 800b550: 2303 movs r3, #3 - 800b552: e136 b.n 800b7c2 + 800bb08: 2303 movs r3, #3 + 800bb0a: e136 b.n 800bd7a while (LL_RCC_LSE_IsReady() == 0U) - 800b554: f7ff fb45 bl 800abe2 - 800b558: 4603 mov r3, r0 - 800b55a: 2b00 cmp r3, #0 - 800b55c: d0ef beq.n 800b53e - 800b55e: e013 b.n 800b588 + 800bb0c: f7ff fb45 bl 800b19a + 800bb10: 4603 mov r3, r0 + 800bb12: 2b00 cmp r3, #0 + 800bb14: d0ef beq.n 800baf6 + 800bb16: e013 b.n 800bb40 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b560: f7fa ff86 bl 8006470 - 800b564: 6278 str r0, [r7, #36] @ 0x24 + 800bb18: f7fa ff28 bl 800696c + 800bb1c: 6278 str r0, [r7, #36] @ 0x24 /* Wait till LSE is disabled */ while (LL_RCC_LSE_IsReady() != 0U) - 800b566: e00a b.n 800b57e + 800bb1e: e00a b.n 800bb36 { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) - 800b568: f7fa ff82 bl 8006470 - 800b56c: 4602 mov r2, r0 - 800b56e: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b570: 1ad3 subs r3, r2, r3 - 800b572: f241 3288 movw r2, #5000 @ 0x1388 - 800b576: 4293 cmp r3, r2 - 800b578: d901 bls.n 800b57e + 800bb20: f7fa ff24 bl 800696c + 800bb24: 4602 mov r2, r0 + 800bb26: 6a7b ldr r3, [r7, #36] @ 0x24 + 800bb28: 1ad3 subs r3, r2, r3 + 800bb2a: f241 3288 movw r2, #5000 @ 0x1388 + 800bb2e: 4293 cmp r3, r2 + 800bb30: d901 bls.n 800bb36 { return HAL_TIMEOUT; - 800b57a: 2303 movs r3, #3 - 800b57c: e121 b.n 800b7c2 + 800bb32: 2303 movs r3, #3 + 800bb34: e121 b.n 800bd7a while (LL_RCC_LSE_IsReady() != 0U) - 800b57e: f7ff fb30 bl 800abe2 - 800b582: 4603 mov r3, r0 - 800b584: 2b00 cmp r3, #0 - 800b586: d1ef bne.n 800b568 + 800bb36: f7ff fb30 bl 800b19a + 800bb3a: 4603 mov r3, r0 + 800bb3c: 2b00 cmp r3, #0 + 800bb3e: d1ef bne.n 800bb20 } } #if defined(RCC_HSI48_SUPPORT) /*------------------------------ HSI48 Configuration -----------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI48) == RCC_OSCILLATORTYPE_HSI48) - 800b588: 687b ldr r3, [r7, #4] - 800b58a: 681b ldr r3, [r3, #0] - 800b58c: f003 0340 and.w r3, r3, #64 @ 0x40 - 800b590: 2b00 cmp r3, #0 - 800b592: d02c beq.n 800b5ee + 800bb40: 687b ldr r3, [r7, #4] + 800bb42: 681b ldr r3, [r3, #0] + 800bb44: f003 0340 and.w r3, r3, #64 @ 0x40 + 800bb48: 2b00 cmp r3, #0 + 800bb4a: d02c beq.n 800bba6 { /* Check the parameters */ assert_param(IS_RCC_HSI48(RCC_OscInitStruct->HSI48State)); /* Check the HSI State */ if (RCC_OscInitStruct->HSI48State != RCC_HSI48_OFF) - 800b594: 687b ldr r3, [r7, #4] - 800b596: 6a9b ldr r3, [r3, #40] @ 0x28 - 800b598: 2b00 cmp r3, #0 - 800b59a: d014 beq.n 800b5c6 + 800bb4c: 687b ldr r3, [r7, #4] + 800bb4e: 6a9b ldr r3, [r3, #40] @ 0x28 + 800bb50: 2b00 cmp r3, #0 + 800bb52: d014 beq.n 800bb7e { /* Enable the Internal Low Speed oscillator (HSI48). */ __HAL_RCC_HSI48_ENABLE(); - 800b59c: f7ff faa9 bl 800aaf2 + 800bb54: f7ff faa9 bl 800b0aa /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b5a0: f7fa ff66 bl 8006470 - 800b5a4: 6278 str r0, [r7, #36] @ 0x24 + 800bb58: f7fa ff08 bl 800696c + 800bb5c: 6278 str r0, [r7, #36] @ 0x24 /* Wait till HSI48 is ready */ while (LL_RCC_HSI48_IsReady() == 0U) - 800b5a6: e008 b.n 800b5ba + 800bb5e: e008 b.n 800bb72 { if ((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE) - 800b5a8: f7fa ff62 bl 8006470 - 800b5ac: 4602 mov r2, r0 - 800b5ae: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b5b0: 1ad3 subs r3, r2, r3 - 800b5b2: 2b02 cmp r3, #2 - 800b5b4: d901 bls.n 800b5ba + 800bb60: f7fa ff04 bl 800696c + 800bb64: 4602 mov r2, r0 + 800bb66: 6a7b ldr r3, [r7, #36] @ 0x24 + 800bb68: 1ad3 subs r3, r2, r3 + 800bb6a: 2b02 cmp r3, #2 + 800bb6c: d901 bls.n 800bb72 { return HAL_TIMEOUT; - 800b5b6: 2303 movs r3, #3 - 800b5b8: e103 b.n 800b7c2 + 800bb6e: 2303 movs r3, #3 + 800bb70: e103 b.n 800bd7a while (LL_RCC_HSI48_IsReady() == 0U) - 800b5ba: f7ff fabc bl 800ab36 - 800b5be: 4603 mov r3, r0 - 800b5c0: 2b00 cmp r3, #0 - 800b5c2: d0f1 beq.n 800b5a8 - 800b5c4: e013 b.n 800b5ee + 800bb72: f7ff fabc bl 800b0ee + 800bb76: 4603 mov r3, r0 + 800bb78: 2b00 cmp r3, #0 + 800bb7a: d0f1 beq.n 800bb60 + 800bb7c: e013 b.n 800bba6 } } else { /* Disable the Internal Low Speed oscillator (HSI48). */ __HAL_RCC_HSI48_DISABLE(); - 800b5c6: f7ff faa5 bl 800ab14 + 800bb7e: f7ff faa5 bl 800b0cc /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b5ca: f7fa ff51 bl 8006470 - 800b5ce: 6278 str r0, [r7, #36] @ 0x24 + 800bb82: f7fa fef3 bl 800696c + 800bb86: 6278 str r0, [r7, #36] @ 0x24 /* Wait till HSI48 is disabled */ while (LL_RCC_HSI48_IsReady() != 0U) - 800b5d0: e008 b.n 800b5e4 + 800bb88: e008 b.n 800bb9c { if ((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE) - 800b5d2: f7fa ff4d bl 8006470 - 800b5d6: 4602 mov r2, r0 - 800b5d8: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b5da: 1ad3 subs r3, r2, r3 - 800b5dc: 2b02 cmp r3, #2 - 800b5de: d901 bls.n 800b5e4 + 800bb8a: f7fa feef bl 800696c + 800bb8e: 4602 mov r2, r0 + 800bb90: 6a7b ldr r3, [r7, #36] @ 0x24 + 800bb92: 1ad3 subs r3, r2, r3 + 800bb94: 2b02 cmp r3, #2 + 800bb96: d901 bls.n 800bb9c { return HAL_TIMEOUT; - 800b5e0: 2303 movs r3, #3 - 800b5e2: e0ee b.n 800b7c2 + 800bb98: 2303 movs r3, #3 + 800bb9a: e0ee b.n 800bd7a while (LL_RCC_HSI48_IsReady() != 0U) - 800b5e4: f7ff faa7 bl 800ab36 - 800b5e8: 4603 mov r3, r0 - 800b5ea: 2b00 cmp r3, #0 - 800b5ec: d1f1 bne.n 800b5d2 + 800bb9c: f7ff faa7 bl 800b0ee + 800bba0: 4603 mov r3, r0 + 800bba2: 2b00 cmp r3, #0 + 800bba4: d1f1 bne.n 800bb8a #endif /* RCC_HSI48_SUPPORT */ /*-------------------------------- PLL Configuration -----------------------*/ /* Check the parameters */ assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); if (RCC_OscInitStruct->PLL.PLLState != RCC_PLL_NONE) - 800b5ee: 687b ldr r3, [r7, #4] - 800b5f0: 6adb ldr r3, [r3, #44] @ 0x2c - 800b5f2: 2b00 cmp r3, #0 - 800b5f4: f000 80e4 beq.w 800b7c0 + 800bba6: 687b ldr r3, [r7, #4] + 800bba8: 6adb ldr r3, [r3, #44] @ 0x2c + 800bbaa: 2b00 cmp r3, #0 + 800bbac: f000 80e4 beq.w 800bd78 { const uint32_t temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE(); - 800b5f8: f7ff fc05 bl 800ae06 - 800b5fc: 6138 str r0, [r7, #16] + 800bbb0: f7ff fc05 bl 800b3be + 800bbb4: 6138 str r0, [r7, #16] const uint32_t temp_pllconfig = RCC->PLLCFGR; - 800b5fe: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b602: 68db ldr r3, [r3, #12] - 800b604: 60fb str r3, [r7, #12] + 800bbb6: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bbba: 68db ldr r3, [r3, #12] + 800bbbc: 60fb str r3, [r7, #12] /* PLL On ? */ if (RCC_OscInitStruct->PLL.PLLState == RCC_PLL_ON) - 800b606: 687b ldr r3, [r7, #4] - 800b608: 6adb ldr r3, [r3, #44] @ 0x2c - 800b60a: 2b02 cmp r3, #2 - 800b60c: f040 80b4 bne.w 800b778 + 800bbbe: 687b ldr r3, [r7, #4] + 800bbc0: 6adb ldr r3, [r3, #44] @ 0x2c + 800bbc2: 2b02 cmp r3, #2 + 800bbc4: f040 80b4 bne.w 800bd30 assert_param(IS_RCC_PLLP_VALUE(RCC_OscInitStruct->PLL.PLLP)); assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLQ)); assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); /* Do nothing if PLL configuration is unchanged */ if ((READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || - 800b610: 68fb ldr r3, [r7, #12] - 800b612: f003 0203 and.w r2, r3, #3 - 800b616: 687b ldr r3, [r7, #4] - 800b618: 6b1b ldr r3, [r3, #48] @ 0x30 - 800b61a: 429a cmp r2, r3 - 800b61c: d123 bne.n 800b666 + 800bbc8: 68fb ldr r3, [r7, #12] + 800bbca: f003 0203 and.w r2, r3, #3 + 800bbce: 687b ldr r3, [r7, #4] + 800bbd0: 6b1b ldr r3, [r3, #48] @ 0x30 + 800bbd2: 429a cmp r2, r3 + 800bbd4: d123 bne.n 800bc1e (READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || - 800b61e: 68fb ldr r3, [r7, #12] - 800b620: f003 0270 and.w r2, r3, #112 @ 0x70 - 800b624: 687b ldr r3, [r7, #4] - 800b626: 6b5b ldr r3, [r3, #52] @ 0x34 + 800bbd6: 68fb ldr r3, [r7, #12] + 800bbd8: f003 0270 and.w r2, r3, #112 @ 0x70 + 800bbdc: 687b ldr r3, [r7, #4] + 800bbde: 6b5b ldr r3, [r3, #52] @ 0x34 if ((READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || - 800b628: 429a cmp r2, r3 - 800b62a: d11c bne.n 800b666 + 800bbe0: 429a cmp r2, r3 + 800bbe2: d11c bne.n 800bc1e ((READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos) != RCC_OscInitStruct->PLL.PLLN) || - 800b62c: 68fb ldr r3, [r7, #12] - 800b62e: 0a1b lsrs r3, r3, #8 - 800b630: f003 027f and.w r2, r3, #127 @ 0x7f - 800b634: 687b ldr r3, [r7, #4] - 800b636: 6b9b ldr r3, [r3, #56] @ 0x38 + 800bbe4: 68fb ldr r3, [r7, #12] + 800bbe6: 0a1b lsrs r3, r3, #8 + 800bbe8: f003 027f and.w r2, r3, #127 @ 0x7f + 800bbec: 687b ldr r3, [r7, #4] + 800bbee: 6b9b ldr r3, [r3, #56] @ 0x38 (READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || - 800b638: 429a cmp r2, r3 - 800b63a: d114 bne.n 800b666 + 800bbf0: 429a cmp r2, r3 + 800bbf2: d114 bne.n 800bc1e (READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLP) != RCC_OscInitStruct->PLL.PLLP) || - 800b63c: 68fb ldr r3, [r7, #12] - 800b63e: f403 1278 and.w r2, r3, #4063232 @ 0x3e0000 - 800b642: 687b ldr r3, [r7, #4] - 800b644: 6bdb ldr r3, [r3, #60] @ 0x3c + 800bbf4: 68fb ldr r3, [r7, #12] + 800bbf6: f403 1278 and.w r2, r3, #4063232 @ 0x3e0000 + 800bbfa: 687b ldr r3, [r7, #4] + 800bbfc: 6bdb ldr r3, [r3, #60] @ 0x3c ((READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos) != RCC_OscInitStruct->PLL.PLLN) || - 800b646: 429a cmp r2, r3 - 800b648: d10d bne.n 800b666 + 800bbfe: 429a cmp r2, r3 + 800bc00: d10d bne.n 800bc1e (READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLQ) != RCC_OscInitStruct->PLL.PLLQ) || - 800b64a: 68fb ldr r3, [r7, #12] - 800b64c: f003 6260 and.w r2, r3, #234881024 @ 0xe000000 - 800b650: 687b ldr r3, [r7, #4] - 800b652: 6c1b ldr r3, [r3, #64] @ 0x40 + 800bc02: 68fb ldr r3, [r7, #12] + 800bc04: f003 6260 and.w r2, r3, #234881024 @ 0xe000000 + 800bc08: 687b ldr r3, [r7, #4] + 800bc0a: 6c1b ldr r3, [r3, #64] @ 0x40 (READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLP) != RCC_OscInitStruct->PLL.PLLP) || - 800b654: 429a cmp r2, r3 - 800b656: d106 bne.n 800b666 + 800bc0c: 429a cmp r2, r3 + 800bc0e: d106 bne.n 800bc1e (READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLR) != RCC_OscInitStruct->PLL.PLLR)) - 800b658: 68fb ldr r3, [r7, #12] - 800b65a: f003 4260 and.w r2, r3, #3758096384 @ 0xe0000000 - 800b65e: 687b ldr r3, [r7, #4] - 800b660: 6c5b ldr r3, [r3, #68] @ 0x44 + 800bc10: 68fb ldr r3, [r7, #12] + 800bc12: f003 4260 and.w r2, r3, #3758096384 @ 0xe0000000 + 800bc16: 687b ldr r3, [r7, #4] + 800bc18: 6c5b ldr r3, [r3, #68] @ 0x44 (READ_BIT(temp_pllconfig, RCC_PLLCFGR_PLLQ) != RCC_OscInitStruct->PLL.PLLQ) || - 800b662: 429a cmp r2, r3 - 800b664: d05d beq.n 800b722 + 800bc1a: 429a cmp r2, r3 + 800bc1c: d05d beq.n 800bcda { /* Check if the PLL is used as system clock or not */ if (temp_sysclksrc != RCC_SYSCLKSOURCE_STATUS_PLLCLK) - 800b666: 693b ldr r3, [r7, #16] - 800b668: 2b0c cmp r3, #12 - 800b66a: d058 beq.n 800b71e + 800bc1e: 693b ldr r3, [r7, #16] + 800bc20: 2b0c cmp r3, #12 + 800bc22: d058 beq.n 800bcd6 { #if defined(SAI1) /* Check if main PLL can be updated */ /* Not possible if the source is shared by other enabled PLLSAIx */ if (READ_BIT(RCC->CR, RCC_CR_PLLSAI1ON) != 0U) - 800b66c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b670: 681b ldr r3, [r3, #0] - 800b672: f003 6380 and.w r3, r3, #67108864 @ 0x4000000 - 800b676: 2b00 cmp r3, #0 - 800b678: d001 beq.n 800b67e + 800bc24: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bc28: 681b ldr r3, [r3, #0] + 800bc2a: f003 6380 and.w r3, r3, #67108864 @ 0x4000000 + 800bc2e: 2b00 cmp r3, #0 + 800bc30: d001 beq.n 800bc36 { return HAL_ERROR; - 800b67a: 2301 movs r3, #1 - 800b67c: e0a1 b.n 800b7c2 + 800bc32: 2301 movs r3, #1 + 800bc34: e0a1 b.n 800bd7a } else #endif /* SAI1 */ { /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); - 800b67e: f7ff fc85 bl 800af8c + 800bc36: f7ff fc85 bl 800b544 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b682: f7fa fef5 bl 8006470 - 800b686: 6278 str r0, [r7, #36] @ 0x24 + 800bc3a: f7fa fe97 bl 800696c + 800bc3e: 6278 str r0, [r7, #36] @ 0x24 /* Wait till PLL is ready */ while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != 0U) - 800b688: e008 b.n 800b69c + 800bc40: e008 b.n 800bc54 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) - 800b68a: f7fa fef1 bl 8006470 - 800b68e: 4602 mov r2, r0 - 800b690: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b692: 1ad3 subs r3, r2, r3 - 800b694: 2b02 cmp r3, #2 - 800b696: d901 bls.n 800b69c + 800bc42: f7fa fe93 bl 800696c + 800bc46: 4602 mov r2, r0 + 800bc48: 6a7b ldr r3, [r7, #36] @ 0x24 + 800bc4a: 1ad3 subs r3, r2, r3 + 800bc4c: 2b02 cmp r3, #2 + 800bc4e: d901 bls.n 800bc54 { return HAL_TIMEOUT; - 800b698: 2303 movs r3, #3 - 800b69a: e092 b.n 800b7c2 + 800bc50: 2303 movs r3, #3 + 800bc52: e092 b.n 800bd7a while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != 0U) - 800b69c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b6a0: 681b ldr r3, [r3, #0] - 800b6a2: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 - 800b6a6: 2b00 cmp r3, #0 - 800b6a8: d1ef bne.n 800b68a + 800bc54: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bc58: 681b ldr r3, [r3, #0] + 800bc5a: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 + 800bc5e: 2b00 cmp r3, #0 + 800bc60: d1ef bne.n 800bc42 } } /* Configure the main PLL clock source, multiplication and division factors. */ __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, - 800b6aa: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b6ae: 68da ldr r2, [r3, #12] - 800b6b0: 4b30 ldr r3, [pc, #192] @ (800b774 ) - 800b6b2: 4013 ands r3, r2 - 800b6b4: 687a ldr r2, [r7, #4] - 800b6b6: 6b11 ldr r1, [r2, #48] @ 0x30 - 800b6b8: 687a ldr r2, [r7, #4] - 800b6ba: 6b52 ldr r2, [r2, #52] @ 0x34 - 800b6bc: 4311 orrs r1, r2 - 800b6be: 687a ldr r2, [r7, #4] - 800b6c0: 6b92 ldr r2, [r2, #56] @ 0x38 - 800b6c2: 0212 lsls r2, r2, #8 - 800b6c4: 4311 orrs r1, r2 - 800b6c6: 687a ldr r2, [r7, #4] - 800b6c8: 6bd2 ldr r2, [r2, #60] @ 0x3c - 800b6ca: 4311 orrs r1, r2 - 800b6cc: 687a ldr r2, [r7, #4] - 800b6ce: 6c12 ldr r2, [r2, #64] @ 0x40 - 800b6d0: 4311 orrs r1, r2 - 800b6d2: 687a ldr r2, [r7, #4] - 800b6d4: 6c52 ldr r2, [r2, #68] @ 0x44 - 800b6d6: 430a orrs r2, r1 - 800b6d8: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800b6dc: 4313 orrs r3, r2 - 800b6de: 60cb str r3, [r1, #12] + 800bc62: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bc66: 68da ldr r2, [r3, #12] + 800bc68: 4b30 ldr r3, [pc, #192] @ (800bd2c ) + 800bc6a: 4013 ands r3, r2 + 800bc6c: 687a ldr r2, [r7, #4] + 800bc6e: 6b11 ldr r1, [r2, #48] @ 0x30 + 800bc70: 687a ldr r2, [r7, #4] + 800bc72: 6b52 ldr r2, [r2, #52] @ 0x34 + 800bc74: 4311 orrs r1, r2 + 800bc76: 687a ldr r2, [r7, #4] + 800bc78: 6b92 ldr r2, [r2, #56] @ 0x38 + 800bc7a: 0212 lsls r2, r2, #8 + 800bc7c: 4311 orrs r1, r2 + 800bc7e: 687a ldr r2, [r7, #4] + 800bc80: 6bd2 ldr r2, [r2, #60] @ 0x3c + 800bc82: 4311 orrs r1, r2 + 800bc84: 687a ldr r2, [r7, #4] + 800bc86: 6c12 ldr r2, [r2, #64] @ 0x40 + 800bc88: 4311 orrs r1, r2 + 800bc8a: 687a ldr r2, [r7, #4] + 800bc8c: 6c52 ldr r2, [r2, #68] @ 0x44 + 800bc8e: 430a orrs r2, r1 + 800bc90: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800bc94: 4313 orrs r3, r2 + 800bc96: 60cb str r3, [r1, #12] RCC_OscInitStruct->PLL.PLLP, RCC_OscInitStruct->PLL.PLLQ, RCC_OscInitStruct->PLL.PLLR); /* Enable the main PLL. */ __HAL_RCC_PLL_ENABLE(); - 800b6e0: f7ff fc45 bl 800af6e + 800bc98: f7ff fc45 bl 800b526 /* Enable PLL System Clock output. */ __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL_SYSCLK); - 800b6e4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b6e8: 68db ldr r3, [r3, #12] - 800b6ea: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800b6ee: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000 - 800b6f2: 60d3 str r3, [r2, #12] + 800bc9c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bca0: 68db ldr r3, [r3, #12] + 800bca2: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800bca6: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000 + 800bcaa: 60d3 str r3, [r2, #12] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b6f4: f7fa febc bl 8006470 - 800b6f8: 6278 str r0, [r7, #36] @ 0x24 + 800bcac: f7fa fe5e bl 800696c + 800bcb0: 6278 str r0, [r7, #36] @ 0x24 /* Wait till PLL is ready */ while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U) - 800b6fa: e008 b.n 800b70e + 800bcb2: e008 b.n 800bcc6 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) - 800b6fc: f7fa feb8 bl 8006470 - 800b700: 4602 mov r2, r0 - 800b702: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b704: 1ad3 subs r3, r2, r3 - 800b706: 2b02 cmp r3, #2 - 800b708: d901 bls.n 800b70e + 800bcb4: f7fa fe5a bl 800696c + 800bcb8: 4602 mov r2, r0 + 800bcba: 6a7b ldr r3, [r7, #36] @ 0x24 + 800bcbc: 1ad3 subs r3, r2, r3 + 800bcbe: 2b02 cmp r3, #2 + 800bcc0: d901 bls.n 800bcc6 { return HAL_TIMEOUT; - 800b70a: 2303 movs r3, #3 - 800b70c: e059 b.n 800b7c2 + 800bcc2: 2303 movs r3, #3 + 800bcc4: e059 b.n 800bd7a while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U) - 800b70e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b712: 681b ldr r3, [r3, #0] - 800b714: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 - 800b718: 2b00 cmp r3, #0 - 800b71a: d0ef beq.n 800b6fc + 800bcc6: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bcca: 681b ldr r3, [r3, #0] + 800bccc: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 + 800bcd0: 2b00 cmp r3, #0 + 800bcd2: d0ef beq.n 800bcb4 if (temp_sysclksrc != RCC_SYSCLKSOURCE_STATUS_PLLCLK) - 800b71c: e050 b.n 800b7c0 + 800bcd4: e050 b.n 800bd78 } } else { /* PLL is already used as System core clock */ return HAL_ERROR; - 800b71e: 2301 movs r3, #1 - 800b720: e04f b.n 800b7c2 + 800bcd6: 2301 movs r3, #1 + 800bcd8: e04f b.n 800bd7a } else { /* PLL configuration is unchanged */ /* Re-enable PLL if it was disabled (ie. low power mode) */ if (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U) - 800b722: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b726: 681b ldr r3, [r3, #0] - 800b728: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 - 800b72c: 2b00 cmp r3, #0 - 800b72e: d147 bne.n 800b7c0 + 800bcda: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bcde: 681b ldr r3, [r3, #0] + 800bce0: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 + 800bce4: 2b00 cmp r3, #0 + 800bce6: d147 bne.n 800bd78 { /* Enable the main PLL. */ __HAL_RCC_PLL_ENABLE(); - 800b730: f7ff fc1d bl 800af6e + 800bce8: f7ff fc1d bl 800b526 /* Enable PLL System Clock output. */ __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL_SYSCLK); - 800b734: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b738: 68db ldr r3, [r3, #12] - 800b73a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800b73e: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000 - 800b742: 60d3 str r3, [r2, #12] + 800bcec: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bcf0: 68db ldr r3, [r3, #12] + 800bcf2: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800bcf6: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000 + 800bcfa: 60d3 str r3, [r2, #12] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b744: f7fa fe94 bl 8006470 - 800b748: 6278 str r0, [r7, #36] @ 0x24 + 800bcfc: f7fa fe36 bl 800696c + 800bd00: 6278 str r0, [r7, #36] @ 0x24 /* Wait till PLL is ready */ while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U) - 800b74a: e008 b.n 800b75e + 800bd02: e008 b.n 800bd16 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) - 800b74c: f7fa fe90 bl 8006470 - 800b750: 4602 mov r2, r0 - 800b752: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b754: 1ad3 subs r3, r2, r3 - 800b756: 2b02 cmp r3, #2 - 800b758: d901 bls.n 800b75e + 800bd04: f7fa fe32 bl 800696c + 800bd08: 4602 mov r2, r0 + 800bd0a: 6a7b ldr r3, [r7, #36] @ 0x24 + 800bd0c: 1ad3 subs r3, r2, r3 + 800bd0e: 2b02 cmp r3, #2 + 800bd10: d901 bls.n 800bd16 { return HAL_TIMEOUT; - 800b75a: 2303 movs r3, #3 - 800b75c: e031 b.n 800b7c2 + 800bd12: 2303 movs r3, #3 + 800bd14: e031 b.n 800bd7a while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U) - 800b75e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b762: 681b ldr r3, [r3, #0] - 800b764: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 - 800b768: 2b00 cmp r3, #0 - 800b76a: d0ef beq.n 800b74c - 800b76c: e028 b.n 800b7c0 - 800b76e: bf00 nop - 800b770: 58000400 .word 0x58000400 - 800b774: 11c1808c .word 0x11c1808c + 800bd16: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bd1a: 681b ldr r3, [r3, #0] + 800bd1c: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 + 800bd20: 2b00 cmp r3, #0 + 800bd22: d0ef beq.n 800bd04 + 800bd24: e028 b.n 800bd78 + 800bd26: bf00 nop + 800bd28: 58000400 .word 0x58000400 + 800bd2c: 11c1808c .word 0x11c1808c } } else { /* Check that PLL is not used as system clock or not */ if (temp_sysclksrc != RCC_SYSCLKSOURCE_STATUS_PLLCLK) - 800b778: 693b ldr r3, [r7, #16] - 800b77a: 2b0c cmp r3, #12 - 800b77c: d01e beq.n 800b7bc + 800bd30: 693b ldr r3, [r7, #16] + 800bd32: 2b0c cmp r3, #12 + 800bd34: d01e beq.n 800bd74 { /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); - 800b77e: f7ff fc05 bl 800af8c + 800bd36: f7ff fc05 bl 800b544 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b782: f7fa fe75 bl 8006470 - 800b786: 6278 str r0, [r7, #36] @ 0x24 + 800bd3a: f7fa fe17 bl 800696c + 800bd3e: 6278 str r0, [r7, #36] @ 0x24 /* Wait till PLL is disabled */ while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != 0U) - 800b788: e008 b.n 800b79c + 800bd40: e008 b.n 800bd54 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) - 800b78a: f7fa fe71 bl 8006470 - 800b78e: 4602 mov r2, r0 - 800b790: 6a7b ldr r3, [r7, #36] @ 0x24 - 800b792: 1ad3 subs r3, r2, r3 - 800b794: 2b02 cmp r3, #2 - 800b796: d901 bls.n 800b79c + 800bd42: f7fa fe13 bl 800696c + 800bd46: 4602 mov r2, r0 + 800bd48: 6a7b ldr r3, [r7, #36] @ 0x24 + 800bd4a: 1ad3 subs r3, r2, r3 + 800bd4c: 2b02 cmp r3, #2 + 800bd4e: d901 bls.n 800bd54 { return HAL_TIMEOUT; - 800b798: 2303 movs r3, #3 - 800b79a: e012 b.n 800b7c2 + 800bd50: 2303 movs r3, #3 + 800bd52: e012 b.n 800bd7a while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != 0U) - 800b79c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b7a0: 681b ldr r3, [r3, #0] - 800b7a2: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 - 800b7a6: 2b00 cmp r3, #0 - 800b7a8: d1ef bne.n 800b78a + 800bd54: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bd58: 681b ldr r3, [r3, #0] + 800bd5a: f003 7300 and.w r3, r3, #33554432 @ 0x2000000 + 800bd5e: 2b00 cmp r3, #0 + 800bd60: d1ef bne.n 800bd42 } } /* Disable the PLL source and outputs to save power when PLL is off */ #if defined(SAI1) && defined(USB) CLEAR_BIT(RCC->PLLCFGR, (RCC_PLLCFGR_PLLSRC | RCC_PLLCFGR_PLLPEN | RCC_PLLCFGR_PLLQEN | RCC_PLLCFGR_PLLREN)); - 800b7aa: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800b7ae: 68da ldr r2, [r3, #12] - 800b7b0: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800b7b4: 4b05 ldr r3, [pc, #20] @ (800b7cc ) - 800b7b6: 4013 ands r3, r2 - 800b7b8: 60cb str r3, [r1, #12] - 800b7ba: e001 b.n 800b7c0 + 800bd62: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800bd66: 68da ldr r2, [r3, #12] + 800bd68: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800bd6c: 4b05 ldr r3, [pc, #20] @ (800bd84 ) + 800bd6e: 4013 ands r3, r2 + 800bd70: 60cb str r3, [r1, #12] + 800bd72: e001 b.n 800bd78 #endif /* SAI1 && USB */ } else { /* PLL is already used as System core clock */ return HAL_ERROR; - 800b7bc: 2301 movs r3, #1 - 800b7be: e000 b.n 800b7c2 + 800bd74: 2301 movs r3, #1 + 800bd76: e000 b.n 800bd7a } } } return HAL_OK; - 800b7c0: 2300 movs r3, #0 + 800bd78: 2300 movs r3, #0 } - 800b7c2: 4618 mov r0, r3 - 800b7c4: 3734 adds r7, #52 @ 0x34 - 800b7c6: 46bd mov sp, r7 - 800b7c8: bd90 pop {r4, r7, pc} - 800b7ca: bf00 nop - 800b7cc: eefefffc .word 0xeefefffc + 800bd7a: 4618 mov r0, r3 + 800bd7c: 3734 adds r7, #52 @ 0x34 + 800bd7e: 46bd mov sp, r7 + 800bd80: bd90 pop {r4, r7, pc} + 800bd82: bf00 nop + 800bd84: eefefffc .word 0xeefefffc -0800b7d0 : +0800bd88 : * HPRE[3:0] bits to ensure that HCLK1 not exceed the maximum allowed frequency * (for more details refer to section above "Initialization/de-initialization functions") * @retval None */ HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) { - 800b7d0: b580 push {r7, lr} - 800b7d2: b084 sub sp, #16 - 800b7d4: af00 add r7, sp, #0 - 800b7d6: 6078 str r0, [r7, #4] - 800b7d8: 6039 str r1, [r7, #0] + 800bd88: b580 push {r7, lr} + 800bd8a: b084 sub sp, #16 + 800bd8c: af00 add r7, sp, #0 + 800bd8e: 6078 str r0, [r7, #4] + 800bd90: 6039 str r1, [r7, #0] uint32_t tickstart; /* Check Null pointer */ if (RCC_ClkInitStruct == NULL) - 800b7da: 687b ldr r3, [r7, #4] - 800b7dc: 2b00 cmp r3, #0 - 800b7de: d101 bne.n 800b7e4 + 800bd92: 687b ldr r3, [r7, #4] + 800bd94: 2b00 cmp r3, #0 + 800bd96: d101 bne.n 800bd9c { return HAL_ERROR; - 800b7e0: 2301 movs r3, #1 - 800b7e2: e12d b.n 800ba40 + 800bd98: 2301 movs r3, #1 + 800bd9a: e12d b.n 800bff8 /* To correctly read data from FLASH memory, the number of wait states (LATENCY) must be correctly programmed according to the frequency of the FLASH clock (HCLK4) and the supply voltage of the device. */ /* Increasing the number of wait states because of higher CPU frequency */ if (FLatency > __HAL_FLASH_GET_LATENCY()) - 800b7e4: 4b98 ldr r3, [pc, #608] @ (800ba48 ) - 800b7e6: 681b ldr r3, [r3, #0] - 800b7e8: f003 0307 and.w r3, r3, #7 - 800b7ec: 683a ldr r2, [r7, #0] - 800b7ee: 429a cmp r2, r3 - 800b7f0: d91b bls.n 800b82a + 800bd9c: 4b98 ldr r3, [pc, #608] @ (800c000 ) + 800bd9e: 681b ldr r3, [r3, #0] + 800bda0: f003 0307 and.w r3, r3, #7 + 800bda4: 683a ldr r2, [r7, #0] + 800bda6: 429a cmp r2, r3 + 800bda8: d91b bls.n 800bde2 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); - 800b7f2: 4b95 ldr r3, [pc, #596] @ (800ba48 ) - 800b7f4: 681b ldr r3, [r3, #0] - 800b7f6: f023 0207 bic.w r2, r3, #7 - 800b7fa: 4993 ldr r1, [pc, #588] @ (800ba48 ) - 800b7fc: 683b ldr r3, [r7, #0] - 800b7fe: 4313 orrs r3, r2 - 800b800: 600b str r3, [r1, #0] + 800bdaa: 4b95 ldr r3, [pc, #596] @ (800c000 ) + 800bdac: 681b ldr r3, [r3, #0] + 800bdae: f023 0207 bic.w r2, r3, #7 + 800bdb2: 4993 ldr r1, [pc, #588] @ (800c000 ) + 800bdb4: 683b ldr r3, [r7, #0] + 800bdb6: 4313 orrs r3, r2 + 800bdb8: 600b str r3, [r1, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b802: f7fa fe35 bl 8006470 - 800b806: 60f8 str r0, [r7, #12] + 800bdba: f7fa fdd7 bl 800696c + 800bdbe: 60f8 str r0, [r7, #12] /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ while (__HAL_FLASH_GET_LATENCY() != FLatency) - 800b808: e008 b.n 800b81c + 800bdc0: e008 b.n 800bdd4 { if ((HAL_GetTick() - tickstart) > LATENCY_TIMEOUT_VALUE) - 800b80a: f7fa fe31 bl 8006470 - 800b80e: 4602 mov r2, r0 - 800b810: 68fb ldr r3, [r7, #12] - 800b812: 1ad3 subs r3, r2, r3 - 800b814: 2b02 cmp r3, #2 - 800b816: d901 bls.n 800b81c + 800bdc2: f7fa fdd3 bl 800696c + 800bdc6: 4602 mov r2, r0 + 800bdc8: 68fb ldr r3, [r7, #12] + 800bdca: 1ad3 subs r3, r2, r3 + 800bdcc: 2b02 cmp r3, #2 + 800bdce: d901 bls.n 800bdd4 { return HAL_TIMEOUT; - 800b818: 2303 movs r3, #3 - 800b81a: e111 b.n 800ba40 + 800bdd0: 2303 movs r3, #3 + 800bdd2: e111 b.n 800bff8 while (__HAL_FLASH_GET_LATENCY() != FLatency) - 800b81c: 4b8a ldr r3, [pc, #552] @ (800ba48 ) - 800b81e: 681b ldr r3, [r3, #0] - 800b820: f003 0307 and.w r3, r3, #7 - 800b824: 683a ldr r2, [r7, #0] - 800b826: 429a cmp r2, r3 - 800b828: d1ef bne.n 800b80a + 800bdd4: 4b8a ldr r3, [pc, #552] @ (800c000 ) + 800bdd6: 681b ldr r3, [r3, #0] + 800bdd8: f003 0307 and.w r3, r3, #7 + 800bddc: 683a ldr r2, [r7, #0] + 800bdde: 429a cmp r2, r3 + 800bde0: d1ef bne.n 800bdc2 } } } /*-------------------------- HCLK1 Configuration --------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) - 800b82a: 687b ldr r3, [r7, #4] - 800b82c: 681b ldr r3, [r3, #0] - 800b82e: f003 0302 and.w r3, r3, #2 - 800b832: 2b00 cmp r3, #0 - 800b834: d016 beq.n 800b864 + 800bde2: 687b ldr r3, [r7, #4] + 800bde4: 681b ldr r3, [r3, #0] + 800bde6: f003 0302 and.w r3, r3, #2 + 800bdea: 2b00 cmp r3, #0 + 800bdec: d016 beq.n 800be1c { assert_param(IS_RCC_HCLKx(RCC_ClkInitStruct->AHBCLKDivider)); LL_RCC_SetAHBPrescaler(RCC_ClkInitStruct->AHBCLKDivider); - 800b836: 687b ldr r3, [r7, #4] - 800b838: 689b ldr r3, [r3, #8] - 800b83a: 4618 mov r0, r3 - 800b83c: f7ff faef bl 800ae1e + 800bdee: 687b ldr r3, [r7, #4] + 800bdf0: 689b ldr r3, [r3, #8] + 800bdf2: 4618 mov r0, r3 + 800bdf4: f7ff faef bl 800b3d6 /* HCLK1 prescaler flag when value applied */ tickstart = HAL_GetTick(); - 800b840: f7fa fe16 bl 8006470 - 800b844: 60f8 str r0, [r7, #12] + 800bdf8: f7fa fdb8 bl 800696c + 800bdfc: 60f8 str r0, [r7, #12] while (LL_RCC_IsActiveFlag_HPRE() == 0U) - 800b846: e008 b.n 800b85a + 800bdfe: e008 b.n 800be12 { if ((HAL_GetTick() - tickstart) > PRESCALER_TIMEOUT_VALUE) - 800b848: f7fa fe12 bl 8006470 - 800b84c: 4602 mov r2, r0 - 800b84e: 68fb ldr r3, [r7, #12] - 800b850: 1ad3 subs r3, r2, r3 - 800b852: 2b02 cmp r3, #2 - 800b854: d901 bls.n 800b85a + 800be00: f7fa fdb4 bl 800696c + 800be04: 4602 mov r2, r0 + 800be06: 68fb ldr r3, [r7, #12] + 800be08: 1ad3 subs r3, r2, r3 + 800be0a: 2b02 cmp r3, #2 + 800be0c: d901 bls.n 800be12 { return HAL_TIMEOUT; - 800b856: 2303 movs r3, #3 - 800b858: e0f2 b.n 800ba40 + 800be0e: 2303 movs r3, #3 + 800be10: e0f2 b.n 800bff8 while (LL_RCC_IsActiveFlag_HPRE() == 0U) - 800b85a: f7ff fbe9 bl 800b030 - 800b85e: 4603 mov r3, r0 - 800b860: 2b00 cmp r3, #0 - 800b862: d0f1 beq.n 800b848 + 800be12: f7ff fbe9 bl 800b5e8 + 800be16: 4603 mov r3, r0 + 800be18: 2b00 cmp r3, #0 + 800be1a: d0f1 beq.n 800be00 } } } /*-------------------------- HCLK2 Configuration --------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK2) == RCC_CLOCKTYPE_HCLK2) - 800b864: 687b ldr r3, [r7, #4] - 800b866: 681b ldr r3, [r3, #0] - 800b868: f003 0320 and.w r3, r3, #32 - 800b86c: 2b00 cmp r3, #0 - 800b86e: d016 beq.n 800b89e + 800be1c: 687b ldr r3, [r7, #4] + 800be1e: 681b ldr r3, [r3, #0] + 800be20: f003 0320 and.w r3, r3, #32 + 800be24: 2b00 cmp r3, #0 + 800be26: d016 beq.n 800be56 { assert_param(IS_RCC_HCLKx(RCC_ClkInitStruct->AHBCLK2Divider)); LL_C2_RCC_SetAHBPrescaler(RCC_ClkInitStruct->AHBCLK2Divider); - 800b870: 687b ldr r3, [r7, #4] - 800b872: 695b ldr r3, [r3, #20] - 800b874: 4618 mov r0, r3 - 800b876: f7ff fae6 bl 800ae46 + 800be28: 687b ldr r3, [r7, #4] + 800be2a: 695b ldr r3, [r3, #20] + 800be2c: 4618 mov r0, r3 + 800be2e: f7ff fae6 bl 800b3fe /* HCLK2 prescaler flag when value applied */ tickstart = HAL_GetTick(); - 800b87a: f7fa fdf9 bl 8006470 - 800b87e: 60f8 str r0, [r7, #12] + 800be32: f7fa fd9b bl 800696c + 800be36: 60f8 str r0, [r7, #12] while (LL_RCC_IsActiveFlag_C2HPRE() == 0U) - 800b880: e008 b.n 800b894 + 800be38: e008 b.n 800be4c { if ((HAL_GetTick() - tickstart) > PRESCALER_TIMEOUT_VALUE) - 800b882: f7fa fdf5 bl 8006470 - 800b886: 4602 mov r2, r0 - 800b888: 68fb ldr r3, [r7, #12] - 800b88a: 1ad3 subs r3, r2, r3 - 800b88c: 2b02 cmp r3, #2 - 800b88e: d901 bls.n 800b894 + 800be3a: f7fa fd97 bl 800696c + 800be3e: 4602 mov r2, r0 + 800be40: 68fb ldr r3, [r7, #12] + 800be42: 1ad3 subs r3, r2, r3 + 800be44: 2b02 cmp r3, #2 + 800be46: d901 bls.n 800be4c { return HAL_TIMEOUT; - 800b890: 2303 movs r3, #3 - 800b892: e0d5 b.n 800ba40 + 800be48: 2303 movs r3, #3 + 800be4a: e0d5 b.n 800bff8 while (LL_RCC_IsActiveFlag_C2HPRE() == 0U) - 800b894: f7ff fbde bl 800b054 - 800b898: 4603 mov r3, r0 - 800b89a: 2b00 cmp r3, #0 - 800b89c: d0f1 beq.n 800b882 + 800be4c: f7ff fbde bl 800b60c + 800be50: 4603 mov r3, r0 + 800be52: 2b00 cmp r3, #0 + 800be54: d0f1 beq.n 800be3a } } } /*-------------------------- HCLK4 Configuration --------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK4) == RCC_CLOCKTYPE_HCLK4) - 800b89e: 687b ldr r3, [r7, #4] - 800b8a0: 681b ldr r3, [r3, #0] - 800b8a2: f003 0340 and.w r3, r3, #64 @ 0x40 - 800b8a6: 2b00 cmp r3, #0 - 800b8a8: d016 beq.n 800b8d8 + 800be56: 687b ldr r3, [r7, #4] + 800be58: 681b ldr r3, [r3, #0] + 800be5a: f003 0340 and.w r3, r3, #64 @ 0x40 + 800be5e: 2b00 cmp r3, #0 + 800be60: d016 beq.n 800be90 { assert_param(IS_RCC_HCLKx(RCC_ClkInitStruct->AHBCLK4Divider)); LL_RCC_SetAHB4Prescaler(RCC_ClkInitStruct->AHBCLK4Divider); - 800b8aa: 687b ldr r3, [r7, #4] - 800b8ac: 699b ldr r3, [r3, #24] - 800b8ae: 4618 mov r0, r3 - 800b8b0: f7ff fadf bl 800ae72 + 800be62: 687b ldr r3, [r7, #4] + 800be64: 699b ldr r3, [r3, #24] + 800be66: 4618 mov r0, r3 + 800be68: f7ff fadf bl 800b42a /* AHB shared prescaler flag when value applied */ tickstart = HAL_GetTick(); - 800b8b4: f7fa fddc bl 8006470 - 800b8b8: 60f8 str r0, [r7, #12] + 800be6c: f7fa fd7e bl 800696c + 800be70: 60f8 str r0, [r7, #12] while (LL_RCC_IsActiveFlag_SHDHPRE() == 0U) - 800b8ba: e008 b.n 800b8ce + 800be72: e008 b.n 800be86 { if ((HAL_GetTick() - tickstart) > PRESCALER_TIMEOUT_VALUE) - 800b8bc: f7fa fdd8 bl 8006470 - 800b8c0: 4602 mov r2, r0 - 800b8c2: 68fb ldr r3, [r7, #12] - 800b8c4: 1ad3 subs r3, r2, r3 - 800b8c6: 2b02 cmp r3, #2 - 800b8c8: d901 bls.n 800b8ce + 800be74: f7fa fd7a bl 800696c + 800be78: 4602 mov r2, r0 + 800be7a: 68fb ldr r3, [r7, #12] + 800be7c: 1ad3 subs r3, r2, r3 + 800be7e: 2b02 cmp r3, #2 + 800be80: d901 bls.n 800be86 { return HAL_TIMEOUT; - 800b8ca: 2303 movs r3, #3 - 800b8cc: e0b8 b.n 800ba40 + 800be82: 2303 movs r3, #3 + 800be84: e0b8 b.n 800bff8 while (LL_RCC_IsActiveFlag_SHDHPRE() == 0U) - 800b8ce: f7ff fbd4 bl 800b07a - 800b8d2: 4603 mov r3, r0 - 800b8d4: 2b00 cmp r3, #0 - 800b8d6: d0f1 beq.n 800b8bc + 800be86: f7ff fbd4 bl 800b632 + 800be8a: 4603 mov r3, r0 + 800be8c: 2b00 cmp r3, #0 + 800be8e: d0f1 beq.n 800be74 } } } /*-------------------------- PCLK1 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) - 800b8d8: 687b ldr r3, [r7, #4] - 800b8da: 681b ldr r3, [r3, #0] - 800b8dc: f003 0304 and.w r3, r3, #4 - 800b8e0: 2b00 cmp r3, #0 - 800b8e2: d016 beq.n 800b912 + 800be90: 687b ldr r3, [r7, #4] + 800be92: 681b ldr r3, [r3, #0] + 800be94: f003 0304 and.w r3, r3, #4 + 800be98: 2b00 cmp r3, #0 + 800be9a: d016 beq.n 800beca { assert_param(IS_RCC_PCLKx(RCC_ClkInitStruct->APB1CLKDivider)); LL_RCC_SetAPB1Prescaler(RCC_ClkInitStruct->APB1CLKDivider); - 800b8e4: 687b ldr r3, [r7, #4] - 800b8e6: 68db ldr r3, [r3, #12] - 800b8e8: 4618 mov r0, r3 - 800b8ea: f7ff fad9 bl 800aea0 + 800be9c: 687b ldr r3, [r7, #4] + 800be9e: 68db ldr r3, [r3, #12] + 800bea0: 4618 mov r0, r3 + 800bea2: f7ff fad9 bl 800b458 /* APB1 prescaler flag when value applied */ tickstart = HAL_GetTick(); - 800b8ee: f7fa fdbf bl 8006470 - 800b8f2: 60f8 str r0, [r7, #12] + 800bea6: f7fa fd61 bl 800696c + 800beaa: 60f8 str r0, [r7, #12] while (LL_RCC_IsActiveFlag_PPRE1() == 0U) - 800b8f4: e008 b.n 800b908 + 800beac: e008 b.n 800bec0 { if ((HAL_GetTick() - tickstart) > PRESCALER_TIMEOUT_VALUE) - 800b8f6: f7fa fdbb bl 8006470 - 800b8fa: 4602 mov r2, r0 - 800b8fc: 68fb ldr r3, [r7, #12] - 800b8fe: 1ad3 subs r3, r2, r3 - 800b900: 2b02 cmp r3, #2 - 800b902: d901 bls.n 800b908 + 800beae: f7fa fd5d bl 800696c + 800beb2: 4602 mov r2, r0 + 800beb4: 68fb ldr r3, [r7, #12] + 800beb6: 1ad3 subs r3, r2, r3 + 800beb8: 2b02 cmp r3, #2 + 800beba: d901 bls.n 800bec0 { return HAL_TIMEOUT; - 800b904: 2303 movs r3, #3 - 800b906: e09b b.n 800ba40 + 800bebc: 2303 movs r3, #3 + 800bebe: e09b b.n 800bff8 while (LL_RCC_IsActiveFlag_PPRE1() == 0U) - 800b908: f7ff fbca bl 800b0a0 - 800b90c: 4603 mov r3, r0 - 800b90e: 2b00 cmp r3, #0 - 800b910: d0f1 beq.n 800b8f6 + 800bec0: f7ff fbca bl 800b658 + 800bec4: 4603 mov r3, r0 + 800bec6: 2b00 cmp r3, #0 + 800bec8: d0f1 beq.n 800beae } } } /*-------------------------- PCLK2 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) - 800b912: 687b ldr r3, [r7, #4] - 800b914: 681b ldr r3, [r3, #0] - 800b916: f003 0308 and.w r3, r3, #8 - 800b91a: 2b00 cmp r3, #0 - 800b91c: d017 beq.n 800b94e + 800beca: 687b ldr r3, [r7, #4] + 800becc: 681b ldr r3, [r3, #0] + 800bece: f003 0308 and.w r3, r3, #8 + 800bed2: 2b00 cmp r3, #0 + 800bed4: d017 beq.n 800bf06 { assert_param(IS_RCC_PCLKx(RCC_ClkInitStruct->APB2CLKDivider)); LL_RCC_SetAPB2Prescaler((RCC_ClkInitStruct->APB2CLKDivider) << 3U); - 800b91e: 687b ldr r3, [r7, #4] - 800b920: 691b ldr r3, [r3, #16] - 800b922: 00db lsls r3, r3, #3 - 800b924: 4618 mov r0, r3 - 800b926: f7ff facf bl 800aec8 + 800bed6: 687b ldr r3, [r7, #4] + 800bed8: 691b ldr r3, [r3, #16] + 800beda: 00db lsls r3, r3, #3 + 800bedc: 4618 mov r0, r3 + 800bede: f7ff facf bl 800b480 /* APB2 prescaler flag when value applied */ tickstart = HAL_GetTick(); - 800b92a: f7fa fda1 bl 8006470 - 800b92e: 60f8 str r0, [r7, #12] + 800bee2: f7fa fd43 bl 800696c + 800bee6: 60f8 str r0, [r7, #12] while (LL_RCC_IsActiveFlag_PPRE2() == 0U) - 800b930: e008 b.n 800b944 + 800bee8: e008 b.n 800befc { if ((HAL_GetTick() - tickstart) > PRESCALER_TIMEOUT_VALUE) - 800b932: f7fa fd9d bl 8006470 - 800b936: 4602 mov r2, r0 - 800b938: 68fb ldr r3, [r7, #12] - 800b93a: 1ad3 subs r3, r2, r3 - 800b93c: 2b02 cmp r3, #2 - 800b93e: d901 bls.n 800b944 + 800beea: f7fa fd3f bl 800696c + 800beee: 4602 mov r2, r0 + 800bef0: 68fb ldr r3, [r7, #12] + 800bef2: 1ad3 subs r3, r2, r3 + 800bef4: 2b02 cmp r3, #2 + 800bef6: d901 bls.n 800befc { return HAL_TIMEOUT; - 800b940: 2303 movs r3, #3 - 800b942: e07d b.n 800ba40 + 800bef8: 2303 movs r3, #3 + 800befa: e07d b.n 800bff8 while (LL_RCC_IsActiveFlag_PPRE2() == 0U) - 800b944: f7ff fbbe bl 800b0c4 - 800b948: 4603 mov r3, r0 - 800b94a: 2b00 cmp r3, #0 - 800b94c: d0f1 beq.n 800b932 + 800befc: f7ff fbbe bl 800b67c + 800bf00: 4603 mov r3, r0 + 800bf02: 2b00 cmp r3, #0 + 800bf04: d0f1 beq.n 800beea } } } /*------------------------- SYSCLK Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) - 800b94e: 687b ldr r3, [r7, #4] - 800b950: 681b ldr r3, [r3, #0] - 800b952: f003 0301 and.w r3, r3, #1 - 800b956: 2b00 cmp r3, #0 - 800b958: d043 beq.n 800b9e2 + 800bf06: 687b ldr r3, [r7, #4] + 800bf08: 681b ldr r3, [r3, #0] + 800bf0a: f003 0301 and.w r3, r3, #1 + 800bf0e: 2b00 cmp r3, #0 + 800bf10: d043 beq.n 800bf9a { assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); /* HSE is selected as System Clock Source */ if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) - 800b95a: 687b ldr r3, [r7, #4] - 800b95c: 685b ldr r3, [r3, #4] - 800b95e: 2b02 cmp r3, #2 - 800b960: d106 bne.n 800b970 + 800bf12: 687b ldr r3, [r7, #4] + 800bf14: 685b ldr r3, [r3, #4] + 800bf16: 2b02 cmp r3, #2 + 800bf18: d106 bne.n 800bf28 { /* Check the HSE ready flag */ if (LL_RCC_HSE_IsReady() == 0U) - 800b962: f7ff f86f bl 800aa44 - 800b966: 4603 mov r3, r0 - 800b968: 2b00 cmp r3, #0 - 800b96a: d11e bne.n 800b9aa + 800bf1a: f7ff f86f bl 800affc + 800bf1e: 4603 mov r3, r0 + 800bf20: 2b00 cmp r3, #0 + 800bf22: d11e bne.n 800bf62 { return HAL_ERROR; - 800b96c: 2301 movs r3, #1 - 800b96e: e067 b.n 800ba40 + 800bf24: 2301 movs r3, #1 + 800bf26: e067 b.n 800bff8 } } /* PLL is selected as System Clock Source */ else if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) - 800b970: 687b ldr r3, [r7, #4] - 800b972: 685b ldr r3, [r3, #4] - 800b974: 2b03 cmp r3, #3 - 800b976: d106 bne.n 800b986 + 800bf28: 687b ldr r3, [r7, #4] + 800bf2a: 685b ldr r3, [r3, #4] + 800bf2c: 2b03 cmp r3, #3 + 800bf2e: d106 bne.n 800bf3e { /* Check the PLL ready flag */ if (LL_RCC_PLL_IsReady() == 0U) - 800b978: f7ff fb17 bl 800afaa - 800b97c: 4603 mov r3, r0 - 800b97e: 2b00 cmp r3, #0 - 800b980: d113 bne.n 800b9aa + 800bf30: f7ff fb17 bl 800b562 + 800bf34: 4603 mov r3, r0 + 800bf36: 2b00 cmp r3, #0 + 800bf38: d113 bne.n 800bf62 { return HAL_ERROR; - 800b982: 2301 movs r3, #1 - 800b984: e05c b.n 800ba40 + 800bf3a: 2301 movs r3, #1 + 800bf3c: e05c b.n 800bff8 } } /* MSI is selected as System Clock Source */ else if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_MSI) - 800b986: 687b ldr r3, [r7, #4] - 800b988: 685b ldr r3, [r3, #4] - 800b98a: 2b00 cmp r3, #0 - 800b98c: d106 bne.n 800b99c + 800bf3e: 687b ldr r3, [r7, #4] + 800bf40: 685b ldr r3, [r3, #4] + 800bf42: 2b00 cmp r3, #0 + 800bf44: d106 bne.n 800bf54 { /* Check the MSI ready flag */ if (LL_RCC_MSI_IsReady() == 0U) - 800b98e: f7ff f9d7 bl 800ad40 - 800b992: 4603 mov r3, r0 - 800b994: 2b00 cmp r3, #0 - 800b996: d108 bne.n 800b9aa + 800bf46: f7ff f9d7 bl 800b2f8 + 800bf4a: 4603 mov r3, r0 + 800bf4c: 2b00 cmp r3, #0 + 800bf4e: d108 bne.n 800bf62 { return HAL_ERROR; - 800b998: 2301 movs r3, #1 - 800b99a: e051 b.n 800ba40 + 800bf50: 2301 movs r3, #1 + 800bf52: e051 b.n 800bff8 } /* HSI is selected as System Clock Source */ else { /* Check the HSI ready flag */ if (LL_RCC_HSI_IsReady() == 0U) - 800b99c: f7ff f882 bl 800aaa4 - 800b9a0: 4603 mov r3, r0 - 800b9a2: 2b00 cmp r3, #0 - 800b9a4: d101 bne.n 800b9aa + 800bf54: f7ff f882 bl 800b05c + 800bf58: 4603 mov r3, r0 + 800bf5a: 2b00 cmp r3, #0 + 800bf5c: d101 bne.n 800bf62 { return HAL_ERROR; - 800b9a6: 2301 movs r3, #1 - 800b9a8: e04a b.n 800ba40 + 800bf5e: 2301 movs r3, #1 + 800bf60: e04a b.n 800bff8 } } /* apply system clock switch */ LL_RCC_SetSysClkSource(RCC_ClkInitStruct->SYSCLKSource); - 800b9aa: 687b ldr r3, [r7, #4] - 800b9ac: 685b ldr r3, [r3, #4] - 800b9ae: 4618 mov r0, r3 - 800b9b0: f7ff fa15 bl 800adde + 800bf62: 687b ldr r3, [r7, #4] + 800bf64: 685b ldr r3, [r3, #4] + 800bf66: 4618 mov r0, r3 + 800bf68: f7ff fa15 bl 800b396 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800b9b4: f7fa fd5c bl 8006470 - 800b9b8: 60f8 str r0, [r7, #12] + 800bf6c: f7fa fcfe bl 800696c + 800bf70: 60f8 str r0, [r7, #12] /* check system clock source switch status */ while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) - 800b9ba: e00a b.n 800b9d2 + 800bf72: e00a b.n 800bf8a { if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) - 800b9bc: f7fa fd58 bl 8006470 - 800b9c0: 4602 mov r2, r0 - 800b9c2: 68fb ldr r3, [r7, #12] - 800b9c4: 1ad3 subs r3, r2, r3 - 800b9c6: f241 3288 movw r2, #5000 @ 0x1388 - 800b9ca: 4293 cmp r3, r2 - 800b9cc: d901 bls.n 800b9d2 + 800bf74: f7fa fcfa bl 800696c + 800bf78: 4602 mov r2, r0 + 800bf7a: 68fb ldr r3, [r7, #12] + 800bf7c: 1ad3 subs r3, r2, r3 + 800bf7e: f241 3288 movw r2, #5000 @ 0x1388 + 800bf82: 4293 cmp r3, r2 + 800bf84: d901 bls.n 800bf8a { return HAL_TIMEOUT; - 800b9ce: 2303 movs r3, #3 - 800b9d0: e036 b.n 800ba40 + 800bf86: 2303 movs r3, #3 + 800bf88: e036 b.n 800bff8 while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) - 800b9d2: f7ff fa18 bl 800ae06 - 800b9d6: 4602 mov r2, r0 - 800b9d8: 687b ldr r3, [r7, #4] - 800b9da: 685b ldr r3, [r3, #4] - 800b9dc: 009b lsls r3, r3, #2 - 800b9de: 429a cmp r2, r3 - 800b9e0: d1ec bne.n 800b9bc + 800bf8a: f7ff fa18 bl 800b3be + 800bf8e: 4602 mov r2, r0 + 800bf90: 687b ldr r3, [r7, #4] + 800bf92: 685b ldr r3, [r3, #4] + 800bf94: 009b lsls r3, r3, #2 + 800bf96: 429a cmp r2, r3 + 800bf98: d1ec bne.n 800bf74 } } } /* Decreasing the number of wait states because of lower CPU frequency */ if (FLatency < __HAL_FLASH_GET_LATENCY()) - 800b9e2: 4b19 ldr r3, [pc, #100] @ (800ba48 ) - 800b9e4: 681b ldr r3, [r3, #0] - 800b9e6: f003 0307 and.w r3, r3, #7 - 800b9ea: 683a ldr r2, [r7, #0] - 800b9ec: 429a cmp r2, r3 - 800b9ee: d21b bcs.n 800ba28 + 800bf9a: 4b19 ldr r3, [pc, #100] @ (800c000 ) + 800bf9c: 681b ldr r3, [r3, #0] + 800bf9e: f003 0307 and.w r3, r3, #7 + 800bfa2: 683a ldr r2, [r7, #0] + 800bfa4: 429a cmp r2, r3 + 800bfa6: d21b bcs.n 800bfe0 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); - 800b9f0: 4b15 ldr r3, [pc, #84] @ (800ba48 ) - 800b9f2: 681b ldr r3, [r3, #0] - 800b9f4: f023 0207 bic.w r2, r3, #7 - 800b9f8: 4913 ldr r1, [pc, #76] @ (800ba48 ) - 800b9fa: 683b ldr r3, [r7, #0] - 800b9fc: 4313 orrs r3, r2 - 800b9fe: 600b str r3, [r1, #0] + 800bfa8: 4b15 ldr r3, [pc, #84] @ (800c000 ) + 800bfaa: 681b ldr r3, [r3, #0] + 800bfac: f023 0207 bic.w r2, r3, #7 + 800bfb0: 4913 ldr r1, [pc, #76] @ (800c000 ) + 800bfb2: 683b ldr r3, [r7, #0] + 800bfb4: 4313 orrs r3, r2 + 800bfb6: 600b str r3, [r1, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800ba00: f7fa fd36 bl 8006470 - 800ba04: 60f8 str r0, [r7, #12] + 800bfb8: f7fa fcd8 bl 800696c + 800bfbc: 60f8 str r0, [r7, #12] /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ while (__HAL_FLASH_GET_LATENCY() != FLatency) - 800ba06: e008 b.n 800ba1a + 800bfbe: e008 b.n 800bfd2 { if ((HAL_GetTick() - tickstart) > LATENCY_TIMEOUT_VALUE) - 800ba08: f7fa fd32 bl 8006470 - 800ba0c: 4602 mov r2, r0 - 800ba0e: 68fb ldr r3, [r7, #12] - 800ba10: 1ad3 subs r3, r2, r3 - 800ba12: 2b02 cmp r3, #2 - 800ba14: d901 bls.n 800ba1a + 800bfc0: f7fa fcd4 bl 800696c + 800bfc4: 4602 mov r2, r0 + 800bfc6: 68fb ldr r3, [r7, #12] + 800bfc8: 1ad3 subs r3, r2, r3 + 800bfca: 2b02 cmp r3, #2 + 800bfcc: d901 bls.n 800bfd2 { return HAL_TIMEOUT; - 800ba16: 2303 movs r3, #3 - 800ba18: e012 b.n 800ba40 + 800bfce: 2303 movs r3, #3 + 800bfd0: e012 b.n 800bff8 while (__HAL_FLASH_GET_LATENCY() != FLatency) - 800ba1a: 4b0b ldr r3, [pc, #44] @ (800ba48 ) - 800ba1c: 681b ldr r3, [r3, #0] - 800ba1e: f003 0307 and.w r3, r3, #7 - 800ba22: 683a ldr r2, [r7, #0] - 800ba24: 429a cmp r2, r3 - 800ba26: d1ef bne.n 800ba08 + 800bfd2: 4b0b ldr r3, [pc, #44] @ (800c000 ) + 800bfd4: 681b ldr r3, [r3, #0] + 800bfd6: f003 0307 and.w r3, r3, #7 + 800bfda: 683a ldr r2, [r7, #0] + 800bfdc: 429a cmp r2, r3 + 800bfde: d1ef bne.n 800bfc0 } /*---------------------------------------------------------------------------*/ /* Update the SystemCoreClock global variable */ SystemCoreClock = HAL_RCC_GetHCLKFreq(); - 800ba28: f000 f87e bl 800bb28 - 800ba2c: 4603 mov r3, r0 - 800ba2e: 4a07 ldr r2, [pc, #28] @ (800ba4c ) - 800ba30: 6013 str r3, [r2, #0] + 800bfe0: f000 f87e bl 800c0e0 + 800bfe4: 4603 mov r3, r0 + 800bfe6: 4a07 ldr r2, [pc, #28] @ (800c004 ) + 800bfe8: 6013 str r3, [r2, #0] /* Configure the source of time base considering new system clocks settings*/ return HAL_InitTick(HAL_GetTickPrio()); - 800ba32: f7fa fd29 bl 8006488 - 800ba36: 4603 mov r3, r0 - 800ba38: 4618 mov r0, r3 - 800ba3a: f7fa fab1 bl 8005fa0 - 800ba3e: 4603 mov r3, r0 + 800bfea: f7fa fccb bl 8006984 + 800bfee: 4603 mov r3, r0 + 800bff0: 4618 mov r0, r3 + 800bff2: f7fa fa53 bl 800649c + 800bff6: 4603 mov r3, r0 } - 800ba40: 4618 mov r0, r3 - 800ba42: 3710 adds r7, #16 - 800ba44: 46bd mov sp, r7 - 800ba46: bd80 pop {r7, pc} - 800ba48: 58004000 .word 0x58004000 - 800ba4c: 2000000c .word 0x2000000c + 800bff8: 4618 mov r0, r3 + 800bffa: 3710 adds r7, #16 + 800bffc: 46bd mov sp, r7 + 800bffe: bd80 pop {r7, pc} + 800c000: 58004000 .word 0x58004000 + 800c004: 2000000c .word 0x2000000c -0800ba50 : +0800c008 : * * * @retval SYSCLK frequency */ uint32_t HAL_RCC_GetSysClockFreq(void) { - 800ba50: b590 push {r4, r7, lr} - 800ba52: b085 sub sp, #20 - 800ba54: af00 add r7, sp, #0 + 800c008: b590 push {r4, r7, lr} + 800c00a: b085 sub sp, #20 + 800c00c: af00 add r7, sp, #0 uint32_t pllsource; uint32_t sysclockfreq; uint32_t pllinputfreq; const uint32_t temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE(); - 800ba56: f7ff f9d6 bl 800ae06 - 800ba5a: 6078 str r0, [r7, #4] + 800c00e: f7ff f9d6 bl 800b3be + 800c012: 6078 str r0, [r7, #4] if (temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_MSI) - 800ba5c: 687b ldr r3, [r7, #4] - 800ba5e: 2b00 cmp r3, #0 - 800ba60: d10a bne.n 800ba78 + 800c014: 687b ldr r3, [r7, #4] + 800c016: 2b00 cmp r3, #0 + 800c018: d10a bne.n 800c030 { /* Retrieve MSI frequency range in HZ*/ /* MSI used as system clock source */ sysclockfreq = __LL_RCC_CALC_MSI_FREQ(LL_RCC_MSI_GetRange()); - 800ba62: f7ff f992 bl 800ad8a - 800ba66: 4603 mov r3, r0 - 800ba68: 091b lsrs r3, r3, #4 - 800ba6a: f003 030f and.w r3, r3, #15 - 800ba6e: 4a2b ldr r2, [pc, #172] @ (800bb1c ) - 800ba70: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 800ba74: 60fb str r3, [r7, #12] - 800ba76: e04b b.n 800bb10 + 800c01a: f7ff f992 bl 800b342 + 800c01e: 4603 mov r3, r0 + 800c020: 091b lsrs r3, r3, #4 + 800c022: f003 030f and.w r3, r3, #15 + 800c026: 4a2b ldr r2, [pc, #172] @ (800c0d4 ) + 800c028: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 800c02c: 60fb str r3, [r7, #12] + 800c02e: e04b b.n 800c0c8 } else if (temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_HSI) - 800ba78: 687b ldr r3, [r7, #4] - 800ba7a: 2b04 cmp r3, #4 - 800ba7c: d102 bne.n 800ba84 + 800c030: 687b ldr r3, [r7, #4] + 800c032: 2b04 cmp r3, #4 + 800c034: d102 bne.n 800c03c { /* HSI used as system clock source */ sysclockfreq = HSI_VALUE; - 800ba7e: 4b28 ldr r3, [pc, #160] @ (800bb20 ) - 800ba80: 60fb str r3, [r7, #12] - 800ba82: e045 b.n 800bb10 + 800c036: 4b28 ldr r3, [pc, #160] @ (800c0d8 ) + 800c038: 60fb str r3, [r7, #12] + 800c03a: e045 b.n 800c0c8 } else if (temp_sysclksrc == RCC_SYSCLKSOURCE_STATUS_HSE) - 800ba84: 687b ldr r3, [r7, #4] - 800ba86: 2b08 cmp r3, #8 - 800ba88: d10a bne.n 800baa0 + 800c03c: 687b ldr r3, [r7, #4] + 800c03e: 2b08 cmp r3, #8 + 800c040: d10a bne.n 800c058 { /* HSE used as system clock source */ if (LL_RCC_HSE_IsEnabledDiv2() == 1U) - 800ba8a: f7fe ffab bl 800a9e4 - 800ba8e: 4603 mov r3, r0 - 800ba90: 2b01 cmp r3, #1 - 800ba92: d102 bne.n 800ba9a + 800c042: f7fe ffab bl 800af9c + 800c046: 4603 mov r3, r0 + 800c048: 2b01 cmp r3, #1 + 800c04a: d102 bne.n 800c052 { sysclockfreq = HSE_VALUE / 2U; - 800ba94: 4b22 ldr r3, [pc, #136] @ (800bb20 ) - 800ba96: 60fb str r3, [r7, #12] - 800ba98: e03a b.n 800bb10 + 800c04c: 4b22 ldr r3, [pc, #136] @ (800c0d8 ) + 800c04e: 60fb str r3, [r7, #12] + 800c050: e03a b.n 800c0c8 } else { sysclockfreq = HSE_VALUE; - 800ba9a: 4b22 ldr r3, [pc, #136] @ (800bb24 ) - 800ba9c: 60fb str r3, [r7, #12] - 800ba9e: e037 b.n 800bb10 + 800c052: 4b22 ldr r3, [pc, #136] @ (800c0dc ) + 800c054: 60fb str r3, [r7, #12] + 800c056: e037 b.n 800c0c8 } } else { /* PLL used as system clock source */ pllsource = LL_RCC_PLL_GetMainSource(); - 800baa0: f7ff faba bl 800b018 - 800baa4: 6038 str r0, [r7, #0] + 800c058: f7ff faba bl 800b5d0 + 800c05c: 6038 str r0, [r7, #0] switch (pllsource) - 800baa6: 683b ldr r3, [r7, #0] - 800baa8: 2b02 cmp r3, #2 - 800baaa: d003 beq.n 800bab4 - 800baac: 683b ldr r3, [r7, #0] - 800baae: 2b03 cmp r3, #3 - 800bab0: d003 beq.n 800baba - 800bab2: e00d b.n 800bad0 + 800c05e: 683b ldr r3, [r7, #0] + 800c060: 2b02 cmp r3, #2 + 800c062: d003 beq.n 800c06c + 800c064: 683b ldr r3, [r7, #0] + 800c066: 2b03 cmp r3, #3 + 800c068: d003 beq.n 800c072 + 800c06a: e00d b.n 800c088 { case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */ pllinputfreq = HSI_VALUE; - 800bab4: 4b1a ldr r3, [pc, #104] @ (800bb20 ) - 800bab6: 60bb str r3, [r7, #8] + 800c06c: 4b1a ldr r3, [pc, #104] @ (800c0d8 ) + 800c06e: 60bb str r3, [r7, #8] break; - 800bab8: e015 b.n 800bae6 + 800c070: e015 b.n 800c09e case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */ if (LL_RCC_HSE_IsEnabledDiv2() == 1U) - 800baba: f7fe ff93 bl 800a9e4 - 800babe: 4603 mov r3, r0 - 800bac0: 2b01 cmp r3, #1 - 800bac2: d102 bne.n 800baca + 800c072: f7fe ff93 bl 800af9c + 800c076: 4603 mov r3, r0 + 800c078: 2b01 cmp r3, #1 + 800c07a: d102 bne.n 800c082 { pllinputfreq = HSE_VALUE / 2U; - 800bac4: 4b16 ldr r3, [pc, #88] @ (800bb20 ) - 800bac6: 60bb str r3, [r7, #8] + 800c07c: 4b16 ldr r3, [pc, #88] @ (800c0d8 ) + 800c07e: 60bb str r3, [r7, #8] } else { pllinputfreq = HSE_VALUE; } break; - 800bac8: e00d b.n 800bae6 + 800c080: e00d b.n 800c09e pllinputfreq = HSE_VALUE; - 800baca: 4b16 ldr r3, [pc, #88] @ (800bb24 ) - 800bacc: 60bb str r3, [r7, #8] + 800c082: 4b16 ldr r3, [pc, #88] @ (800c0dc ) + 800c084: 60bb str r3, [r7, #8] break; - 800bace: e00a b.n 800bae6 + 800c086: e00a b.n 800c09e case RCC_PLLSOURCE_MSI: /* MSI used as PLL clock source */ default: pllinputfreq = __LL_RCC_CALC_MSI_FREQ(LL_RCC_MSI_GetRange()); - 800bad0: f7ff f95b bl 800ad8a - 800bad4: 4603 mov r3, r0 - 800bad6: 091b lsrs r3, r3, #4 - 800bad8: f003 030f and.w r3, r3, #15 - 800badc: 4a0f ldr r2, [pc, #60] @ (800bb1c ) - 800bade: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 800bae2: 60bb str r3, [r7, #8] + 800c088: f7ff f95b bl 800b342 + 800c08c: 4603 mov r3, r0 + 800c08e: 091b lsrs r3, r3, #4 + 800c090: f003 030f and.w r3, r3, #15 + 800c094: 4a0f ldr r2, [pc, #60] @ (800c0d4 ) + 800c096: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 800c09a: 60bb str r3, [r7, #8] break; - 800bae4: bf00 nop + 800c09c: bf00 nop } sysclockfreq = __LL_RCC_CALC_PLLCLK_FREQ(pllinputfreq, LL_RCC_PLL_GetDivider(), LL_RCC_PLL_GetN(), - 800bae6: f7ff fa72 bl 800afce - 800baea: 4602 mov r2, r0 - 800baec: 68bb ldr r3, [r7, #8] - 800baee: fb03 f402 mul.w r4, r3, r2 - 800baf2: f7ff fa85 bl 800b000 - 800baf6: 4603 mov r3, r0 - 800baf8: 091b lsrs r3, r3, #4 - 800bafa: 3301 adds r3, #1 - 800bafc: fbb4 f4f3 udiv r4, r4, r3 - 800bb00: f7ff fa72 bl 800afe8 - 800bb04: 4603 mov r3, r0 - 800bb06: 0f5b lsrs r3, r3, #29 - 800bb08: 3301 adds r3, #1 - 800bb0a: fbb4 f3f3 udiv r3, r4, r3 - 800bb0e: 60fb str r3, [r7, #12] + 800c09e: f7ff fa72 bl 800b586 + 800c0a2: 4602 mov r2, r0 + 800c0a4: 68bb ldr r3, [r7, #8] + 800c0a6: fb03 f402 mul.w r4, r3, r2 + 800c0aa: f7ff fa85 bl 800b5b8 + 800c0ae: 4603 mov r3, r0 + 800c0b0: 091b lsrs r3, r3, #4 + 800c0b2: 3301 adds r3, #1 + 800c0b4: fbb4 f4f3 udiv r4, r4, r3 + 800c0b8: f7ff fa72 bl 800b5a0 + 800c0bc: 4603 mov r3, r0 + 800c0be: 0f5b lsrs r3, r3, #29 + 800c0c0: 3301 adds r3, #1 + 800c0c2: fbb4 f3f3 udiv r3, r4, r3 + 800c0c6: 60fb str r3, [r7, #12] LL_RCC_PLL_GetR()); } return sysclockfreq; - 800bb10: 68fb ldr r3, [r7, #12] + 800c0c8: 68fb ldr r3, [r7, #12] } - 800bb12: 4618 mov r0, r3 - 800bb14: 3714 adds r7, #20 - 800bb16: 46bd mov sp, r7 - 800bb18: bd90 pop {r4, r7, pc} - 800bb1a: bf00 nop - 800bb1c: 0801dc6c .word 0x0801dc6c - 800bb20: 00f42400 .word 0x00f42400 - 800bb24: 01e84800 .word 0x01e84800 + 800c0ca: 4618 mov r0, r3 + 800c0cc: 3714 adds r7, #20 + 800c0ce: 46bd mov sp, r7 + 800c0d0: bd90 pop {r4, r7, pc} + 800c0d2: bf00 nop + 800c0d4: 0801e5cc .word 0x0801e5cc + 800c0d8: 00f42400 .word 0x00f42400 + 800c0dc: 01e84800 .word 0x01e84800 -0800bb28 : +0800c0e0 : /** * @brief Return the HCLK frequency. * @retval HCLK frequency in Hz */ uint32_t HAL_RCC_GetHCLKFreq(void) { - 800bb28: b598 push {r3, r4, r7, lr} - 800bb2a: af00 add r7, sp, #0 + 800c0e0: b598 push {r3, r4, r7, lr} + 800c0e2: af00 add r7, sp, #0 /* Get SysClock and Compute HCLK1 frequency ---------------------------*/ return ((uint32_t)(__LL_RCC_CALC_HCLK1_FREQ(HAL_RCC_GetSysClockFreq(), LL_RCC_GetAHBPrescaler()))); - 800bb2c: f7ff ff90 bl 800ba50 - 800bb30: 4604 mov r4, r0 - 800bb32: f7ff f9dd bl 800aef0 - 800bb36: 4603 mov r3, r0 - 800bb38: 091b lsrs r3, r3, #4 - 800bb3a: f003 030f and.w r3, r3, #15 - 800bb3e: 4a03 ldr r2, [pc, #12] @ (800bb4c ) - 800bb40: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 800bb44: fbb4 f3f3 udiv r3, r4, r3 + 800c0e4: f7ff ff90 bl 800c008 + 800c0e8: 4604 mov r4, r0 + 800c0ea: f7ff f9dd bl 800b4a8 + 800c0ee: 4603 mov r3, r0 + 800c0f0: 091b lsrs r3, r3, #4 + 800c0f2: f003 030f and.w r3, r3, #15 + 800c0f6: 4a03 ldr r2, [pc, #12] @ (800c104 ) + 800c0f8: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 800c0fc: fbb4 f3f3 udiv r3, r4, r3 } - 800bb48: 4618 mov r0, r3 - 800bb4a: bd98 pop {r3, r4, r7, pc} - 800bb4c: 0801dc0c .word 0x0801dc0c + 800c100: 4618 mov r0, r3 + 800c102: bd98 pop {r3, r4, r7, pc} + 800c104: 0801e56c .word 0x0801e56c -0800bb50 : +0800c108 : * @note Each time PCLK2 changes, this function must be called to update the * right PCLK2 value. Otherwise, any configuration based on this function will be incorrect. * @retval PCLK2 frequency in Hz */ uint32_t HAL_RCC_GetPCLK2Freq(void) { - 800bb50: b598 push {r3, r4, r7, lr} - 800bb52: af00 add r7, sp, #0 + 800c108: b598 push {r3, r4, r7, lr} + 800c10a: af00 add r7, sp, #0 /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ return ((uint32_t)(__LL_RCC_CALC_PCLK2_FREQ(HAL_RCC_GetHCLKFreq(), LL_RCC_GetAPB2Prescaler()))); - 800bb54: f7ff ffe8 bl 800bb28 - 800bb58: 4604 mov r4, r0 - 800bb5a: f7ff f9fc bl 800af56 - 800bb5e: 4603 mov r3, r0 - 800bb60: 0adb lsrs r3, r3, #11 - 800bb62: f003 0307 and.w r3, r3, #7 - 800bb66: 4a04 ldr r2, [pc, #16] @ (800bb78 ) - 800bb68: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 800bb6c: f003 031f and.w r3, r3, #31 - 800bb70: fa24 f303 lsr.w r3, r4, r3 + 800c10c: f7ff ffe8 bl 800c0e0 + 800c110: 4604 mov r4, r0 + 800c112: f7ff f9fc bl 800b50e + 800c116: 4603 mov r3, r0 + 800c118: 0adb lsrs r3, r3, #11 + 800c11a: f003 0307 and.w r3, r3, #7 + 800c11e: 4a04 ldr r2, [pc, #16] @ (800c130 ) + 800c120: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 800c124: f003 031f and.w r3, r3, #31 + 800c128: fa24 f303 lsr.w r3, r4, r3 } - 800bb74: 4618 mov r0, r3 - 800bb76: bd98 pop {r3, r4, r7, pc} - 800bb78: 0801dc4c .word 0x0801dc4c + 800c12c: 4618 mov r0, r3 + 800c12e: bd98 pop {r3, r4, r7, pc} + 800c130: 0801e5ac .word 0x0801e5ac -0800bb7c : +0800c134 : * will be configured. * @param pFLatency Pointer on the Flash Latency. * @retval None */ void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency) { - 800bb7c: b580 push {r7, lr} - 800bb7e: b082 sub sp, #8 - 800bb80: af00 add r7, sp, #0 - 800bb82: 6078 str r0, [r7, #4] - 800bb84: 6039 str r1, [r7, #0] + 800c134: b580 push {r7, lr} + 800c136: b082 sub sp, #8 + 800c138: af00 add r7, sp, #0 + 800c13a: 6078 str r0, [r7, #4] + 800c13c: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(RCC_ClkInitStruct != (void *)NULL); assert_param(pFLatency != (void *)NULL); /* Set all possible values for the Clock type parameter --------------------*/ RCC_ClkInitStruct->ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | - 800bb86: 687b ldr r3, [r7, #4] - 800bb88: 226f movs r2, #111 @ 0x6f - 800bb8a: 601a str r2, [r3, #0] + 800c13e: 687b ldr r3, [r7, #4] + 800c140: 226f movs r2, #111 @ 0x6f + 800c142: 601a str r2, [r3, #0] RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_HCLK2 | RCC_CLOCKTYPE_HCLK4); /* Get the SYSCLK configuration --------------------------------------------*/ RCC_ClkInitStruct->SYSCLKSource = LL_RCC_GetSysClkSource(); - 800bb8c: f7ff f93b bl 800ae06 - 800bb90: 4602 mov r2, r0 - 800bb92: 687b ldr r3, [r7, #4] - 800bb94: 605a str r2, [r3, #4] + 800c144: f7ff f93b bl 800b3be + 800c148: 4602 mov r2, r0 + 800c14a: 687b ldr r3, [r7, #4] + 800c14c: 605a str r2, [r3, #4] /* Get the HCLK configuration ----------------------------------------------*/ RCC_ClkInitStruct->AHBCLKDivider = LL_RCC_GetAHBPrescaler(); - 800bb96: f7ff f9ab bl 800aef0 - 800bb9a: 4602 mov r2, r0 - 800bb9c: 687b ldr r3, [r7, #4] - 800bb9e: 609a str r2, [r3, #8] + 800c14e: f7ff f9ab bl 800b4a8 + 800c152: 4602 mov r2, r0 + 800c154: 687b ldr r3, [r7, #4] + 800c156: 609a str r2, [r3, #8] /* Get the APB1 configuration ----------------------------------------------*/ RCC_ClkInitStruct->APB1CLKDivider = LL_RCC_GetAPB1Prescaler(); - 800bba0: f7ff f9cd bl 800af3e - 800bba4: 4602 mov r2, r0 - 800bba6: 687b ldr r3, [r7, #4] - 800bba8: 60da str r2, [r3, #12] + 800c158: f7ff f9cd bl 800b4f6 + 800c15c: 4602 mov r2, r0 + 800c15e: 687b ldr r3, [r7, #4] + 800c160: 60da str r2, [r3, #12] /* Get the APB2 configuration ----------------------------------------------*/ RCC_ClkInitStruct->APB2CLKDivider = LL_RCC_GetAPB2Prescaler(); - 800bbaa: f7ff f9d4 bl 800af56 - 800bbae: 4602 mov r2, r0 - 800bbb0: 687b ldr r3, [r7, #4] - 800bbb2: 611a str r2, [r3, #16] + 800c162: f7ff f9d4 bl 800b50e + 800c166: 4602 mov r2, r0 + 800c168: 687b ldr r3, [r7, #4] + 800c16a: 611a str r2, [r3, #16] /* Get the AHBCLK2Divider configuration ------------------------------------*/ RCC_ClkInitStruct->AHBCLK2Divider = LL_C2_RCC_GetAHBPrescaler(); - 800bbb4: f7ff f9a8 bl 800af08 - 800bbb8: 4602 mov r2, r0 - 800bbba: 687b ldr r3, [r7, #4] - 800bbbc: 615a str r2, [r3, #20] + 800c16c: f7ff f9a8 bl 800b4c0 + 800c170: 4602 mov r2, r0 + 800c172: 687b ldr r3, [r7, #4] + 800c174: 615a str r2, [r3, #20] /* Get the AHBCLK4Divider configuration ------------------------------------*/ RCC_ClkInitStruct->AHBCLK4Divider = LL_RCC_GetAHB4Prescaler(); - 800bbbe: f7ff f9b0 bl 800af22 - 800bbc2: 4602 mov r2, r0 - 800bbc4: 687b ldr r3, [r7, #4] - 800bbc6: 619a str r2, [r3, #24] + 800c176: f7ff f9b0 bl 800b4da + 800c17a: 4602 mov r2, r0 + 800c17c: 687b ldr r3, [r7, #4] + 800c17e: 619a str r2, [r3, #24] /* Get the Flash Wait State (Latency) configuration ------------------------*/ *pFLatency = __HAL_FLASH_GET_LATENCY(); - 800bbc8: 4b04 ldr r3, [pc, #16] @ (800bbdc ) - 800bbca: 681b ldr r3, [r3, #0] - 800bbcc: f003 0207 and.w r2, r3, #7 - 800bbd0: 683b ldr r3, [r7, #0] - 800bbd2: 601a str r2, [r3, #0] + 800c180: 4b04 ldr r3, [pc, #16] @ (800c194 ) + 800c182: 681b ldr r3, [r3, #0] + 800c184: f003 0207 and.w r2, r3, #7 + 800c188: 683b ldr r3, [r7, #0] + 800c18a: 601a str r2, [r3, #0] } - 800bbd4: bf00 nop - 800bbd6: 3708 adds r7, #8 - 800bbd8: 46bd mov sp, r7 - 800bbda: bd80 pop {r7, pc} - 800bbdc: 58004000 .word 0x58004000 + 800c18c: bf00 nop + 800c18e: 3708 adds r7, #8 + 800c190: 46bd mov sp, r7 + 800c192: bd80 pop {r7, pc} + 800c194: 58004000 .word 0x58004000 -0800bbe0 : +0800c198 : voltage range. * @param MSI_Range MSI range value from @ref RCC_MSIRANGE_0 to @ref RCC_MSIRANGE_11 * @retval HAL status */ static HAL_StatusTypeDef RCC_SetFlashLatencyFromMSIRange(uint32_t MSI_Range) { - 800bbe0: b590 push {r4, r7, lr} - 800bbe2: b085 sub sp, #20 - 800bbe4: af00 add r7, sp, #0 - 800bbe6: 6078 str r0, [r7, #4] + 800c198: b590 push {r4, r7, lr} + 800c19a: b085 sub sp, #20 + 800c19c: af00 add r7, sp, #0 + 800c19e: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_RCC_MSI_CLOCK_RANGE(MSI_Range)); /* MSI frequency range in Hz */ if (MSI_Range > RCC_MSIRANGE_11) - 800bbe8: 687b ldr r3, [r7, #4] - 800bbea: 2bb0 cmp r3, #176 @ 0xb0 - 800bbec: d903 bls.n 800bbf6 + 800c1a0: 687b ldr r3, [r7, #4] + 800c1a2: 2bb0 cmp r3, #176 @ 0xb0 + 800c1a4: d903 bls.n 800c1ae { msifreq = __LL_RCC_CALC_MSI_FREQ(RCC_MSIRANGE_11); - 800bbee: 4b15 ldr r3, [pc, #84] @ (800bc44 ) - 800bbf0: 6adb ldr r3, [r3, #44] @ 0x2c - 800bbf2: 60fb str r3, [r7, #12] - 800bbf4: e007 b.n 800bc06 + 800c1a6: 4b15 ldr r3, [pc, #84] @ (800c1fc ) + 800c1a8: 6adb ldr r3, [r3, #44] @ 0x2c + 800c1aa: 60fb str r3, [r7, #12] + 800c1ac: e007 b.n 800c1be } else { msifreq = __LL_RCC_CALC_MSI_FREQ(MSI_Range); - 800bbf6: 687b ldr r3, [r7, #4] - 800bbf8: 091b lsrs r3, r3, #4 - 800bbfa: f003 030f and.w r3, r3, #15 - 800bbfe: 4a11 ldr r2, [pc, #68] @ (800bc44 ) - 800bc00: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 800bc04: 60fb str r3, [r7, #12] + 800c1ae: 687b ldr r3, [r7, #4] + 800c1b0: 091b lsrs r3, r3, #4 + 800c1b2: f003 030f and.w r3, r3, #15 + 800c1b6: 4a11 ldr r2, [pc, #68] @ (800c1fc ) + 800c1b8: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 800c1bc: 60fb str r3, [r7, #12] } flash_clksrcfreq = __LL_RCC_CALC_HCLK4_FREQ(msifreq, LL_RCC_GetAHB4Prescaler()); - 800bc06: f7ff f98c bl 800af22 - 800bc0a: 4603 mov r3, r0 - 800bc0c: 091b lsrs r3, r3, #4 - 800bc0e: f003 030f and.w r3, r3, #15 - 800bc12: 4a0d ldr r2, [pc, #52] @ (800bc48 ) - 800bc14: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 800bc18: 68fa ldr r2, [r7, #12] - 800bc1a: fbb2 f3f3 udiv r3, r2, r3 - 800bc1e: 60bb str r3, [r7, #8] + 800c1be: f7ff f98c bl 800b4da + 800c1c2: 4603 mov r3, r0 + 800c1c4: 091b lsrs r3, r3, #4 + 800c1c6: f003 030f and.w r3, r3, #15 + 800c1ca: 4a0d ldr r2, [pc, #52] @ (800c200 ) + 800c1cc: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 800c1d0: 68fa ldr r2, [r7, #12] + 800c1d2: fbb2 f3f3 udiv r3, r2, r3 + 800c1d6: 60bb str r3, [r7, #8] #if defined(PWR_CR1_VOS) return RCC_SetFlashLatency((flash_clksrcfreq / MEGA_HZ), HAL_PWREx_GetVoltageRange()); - 800bc20: 68bb ldr r3, [r7, #8] - 800bc22: 4a0a ldr r2, [pc, #40] @ (800bc4c ) - 800bc24: fba2 2303 umull r2, r3, r2, r3 - 800bc28: 0c9c lsrs r4, r3, #18 - 800bc2a: f7fe febd bl 800a9a8 - 800bc2e: 4603 mov r3, r0 - 800bc30: 4619 mov r1, r3 - 800bc32: 4620 mov r0, r4 - 800bc34: f000 f80c bl 800bc50 - 800bc38: 4603 mov r3, r0 + 800c1d8: 68bb ldr r3, [r7, #8] + 800c1da: 4a0a ldr r2, [pc, #40] @ (800c204 ) + 800c1dc: fba2 2303 umull r2, r3, r2, r3 + 800c1e0: 0c9c lsrs r4, r3, #18 + 800c1e2: f7fe febd bl 800af60 + 800c1e6: 4603 mov r3, r0 + 800c1e8: 4619 mov r1, r3 + 800c1ea: 4620 mov r0, r4 + 800c1ec: f000 f80c bl 800c208 + 800c1f0: 4603 mov r3, r0 #else return RCC_SetFlashLatency((flash_clksrcfreq / MEGA_HZ), PWR_REGULATOR_VOLTAGE_SCALE1); #endif /* PWR_CR1_VOS */ } - 800bc3a: 4618 mov r0, r3 - 800bc3c: 3714 adds r7, #20 - 800bc3e: 46bd mov sp, r7 - 800bc40: bd90 pop {r4, r7, pc} - 800bc42: bf00 nop - 800bc44: 0801dc6c .word 0x0801dc6c - 800bc48: 0801dc0c .word 0x0801dc0c - 800bc4c: 431bde83 .word 0x431bde83 + 800c1f2: 4618 mov r0, r3 + 800c1f4: 3714 adds r7, #20 + 800c1f6: 46bd mov sp, r7 + 800c1f8: bd90 pop {r4, r7, pc} + 800c1fa: bf00 nop + 800c1fc: 0801e5cc .word 0x0801e5cc + 800c200: 0801e56c .word 0x0801e56c + 800c204: 431bde83 .word 0x431bde83 -0800bc50 : +0800c208 : * @param Flash_ClkSrcFreq Flash Clock Source (in MHz) * @param VCORE_Voltage Current Vcore voltage (PWR_REGULATOR_VOLTAGE_SCALE1 or PWR_REGULATOR_VOLTAGE_SCALE2) * @retval HAL status */ static HAL_StatusTypeDef RCC_SetFlashLatency(uint32_t Flash_ClkSrcFreq, uint32_t VCORE_Voltage) { - 800bc50: b590 push {r4, r7, lr} - 800bc52: b093 sub sp, #76 @ 0x4c - 800bc54: af00 add r7, sp, #0 - 800bc56: 6078 str r0, [r7, #4] - 800bc58: 6039 str r1, [r7, #0] + 800c208: b590 push {r4, r7, lr} + 800c20a: b093 sub sp, #76 @ 0x4c + 800c20c: af00 add r7, sp, #0 + 800c20e: 6078 str r0, [r7, #4] + 800c210: 6039 str r1, [r7, #0] /* Flash Clock source (HCLK4) range in MHz with a VCORE is range1 */ const uint32_t FLASH_CLK_SRC_RANGE_VOS1[] = {18UL, 36UL, 54UL, 64UL}; - 800bc5a: 4b37 ldr r3, [pc, #220] @ (800bd38 ) - 800bc5c: f107 0428 add.w r4, r7, #40 @ 0x28 - 800bc60: cb0f ldmia r3, {r0, r1, r2, r3} - 800bc62: e884 000f stmia.w r4, {r0, r1, r2, r3} + 800c212: 4b37 ldr r3, [pc, #220] @ (800c2f0 ) + 800c214: f107 0428 add.w r4, r7, #40 @ 0x28 + 800c218: cb0f ldmia r3, {r0, r1, r2, r3} + 800c21a: e884 000f stmia.w r4, {r0, r1, r2, r3} #if defined(PWR_CR1_VOS) /* Flash Clock source (HCLK4) range in MHz with a VCORE is range2 */ const uint32_t FLASH_CLK_SRC_RANGE_VOS2[] = {6UL, 12UL, 16UL}; - 800bc66: 4a35 ldr r2, [pc, #212] @ (800bd3c ) - 800bc68: f107 031c add.w r3, r7, #28 - 800bc6c: ca07 ldmia r2, {r0, r1, r2} - 800bc6e: e883 0007 stmia.w r3, {r0, r1, r2} + 800c21e: 4a35 ldr r2, [pc, #212] @ (800c2f4 ) + 800c220: f107 031c add.w r3, r7, #28 + 800c224: ca07 ldmia r2, {r0, r1, r2} + 800c226: e883 0007 stmia.w r3, {r0, r1, r2} #endif /* PWR_CR1_VOS */ /* Flash Latency range */ const uint32_t FLASH_LATENCY_RANGE[] = {FLASH_LATENCY_0, FLASH_LATENCY_1, FLASH_LATENCY_2, FLASH_LATENCY_3}; - 800bc72: 4b33 ldr r3, [pc, #204] @ (800bd40 ) - 800bc74: f107 040c add.w r4, r7, #12 - 800bc78: cb0f ldmia r3, {r0, r1, r2, r3} - 800bc7a: e884 000f stmia.w r4, {r0, r1, r2, r3} + 800c22a: 4b33 ldr r3, [pc, #204] @ (800c2f8 ) + 800c22c: f107 040c add.w r4, r7, #12 + 800c230: cb0f ldmia r3, {r0, r1, r2, r3} + 800c232: e884 000f stmia.w r4, {r0, r1, r2, r3} uint32_t latency = FLASH_LATENCY_0; /* default value 0WS */ - 800bc7e: 2300 movs r3, #0 - 800bc80: 647b str r3, [r7, #68] @ 0x44 + 800c236: 2300 movs r3, #0 + 800c238: 647b str r3, [r7, #68] @ 0x44 uint32_t tickstart; #if defined(PWR_CR1_VOS) if (VCORE_Voltage == PWR_REGULATOR_VOLTAGE_SCALE1) - 800bc82: 683b ldr r3, [r7, #0] - 800bc84: f5b3 7f00 cmp.w r3, #512 @ 0x200 - 800bc88: d11a bne.n 800bcc0 + 800c23a: 683b ldr r3, [r7, #0] + 800c23c: f5b3 7f00 cmp.w r3, #512 @ 0x200 + 800c240: d11a bne.n 800c278 { for (uint32_t index = 0; index < __COUNTOF(FLASH_CLK_SRC_RANGE_VOS1); index++) - 800bc8a: 2300 movs r3, #0 - 800bc8c: 643b str r3, [r7, #64] @ 0x40 - 800bc8e: e013 b.n 800bcb8 + 800c242: 2300 movs r3, #0 + 800c244: 643b str r3, [r7, #64] @ 0x40 + 800c246: e013 b.n 800c270 { if (Flash_ClkSrcFreq <= FLASH_CLK_SRC_RANGE_VOS1[index]) - 800bc90: 6c3b ldr r3, [r7, #64] @ 0x40 - 800bc92: 009b lsls r3, r3, #2 - 800bc94: 3348 adds r3, #72 @ 0x48 - 800bc96: 443b add r3, r7 - 800bc98: f853 3c20 ldr.w r3, [r3, #-32] - 800bc9c: 687a ldr r2, [r7, #4] - 800bc9e: 429a cmp r2, r3 - 800bca0: d807 bhi.n 800bcb2 + 800c248: 6c3b ldr r3, [r7, #64] @ 0x40 + 800c24a: 009b lsls r3, r3, #2 + 800c24c: 3348 adds r3, #72 @ 0x48 + 800c24e: 443b add r3, r7 + 800c250: f853 3c20 ldr.w r3, [r3, #-32] + 800c254: 687a ldr r2, [r7, #4] + 800c256: 429a cmp r2, r3 + 800c258: d807 bhi.n 800c26a { latency = FLASH_LATENCY_RANGE[index]; - 800bca2: 6c3b ldr r3, [r7, #64] @ 0x40 - 800bca4: 009b lsls r3, r3, #2 - 800bca6: 3348 adds r3, #72 @ 0x48 - 800bca8: 443b add r3, r7 - 800bcaa: f853 3c3c ldr.w r3, [r3, #-60] - 800bcae: 647b str r3, [r7, #68] @ 0x44 + 800c25a: 6c3b ldr r3, [r7, #64] @ 0x40 + 800c25c: 009b lsls r3, r3, #2 + 800c25e: 3348 adds r3, #72 @ 0x48 + 800c260: 443b add r3, r7 + 800c262: f853 3c3c ldr.w r3, [r3, #-60] + 800c266: 647b str r3, [r7, #68] @ 0x44 break; - 800bcb0: e020 b.n 800bcf4 + 800c268: e020 b.n 800c2ac for (uint32_t index = 0; index < __COUNTOF(FLASH_CLK_SRC_RANGE_VOS1); index++) - 800bcb2: 6c3b ldr r3, [r7, #64] @ 0x40 - 800bcb4: 3301 adds r3, #1 - 800bcb6: 643b str r3, [r7, #64] @ 0x40 - 800bcb8: 6c3b ldr r3, [r7, #64] @ 0x40 - 800bcba: 2b03 cmp r3, #3 - 800bcbc: d9e8 bls.n 800bc90 - 800bcbe: e019 b.n 800bcf4 + 800c26a: 6c3b ldr r3, [r7, #64] @ 0x40 + 800c26c: 3301 adds r3, #1 + 800c26e: 643b str r3, [r7, #64] @ 0x40 + 800c270: 6c3b ldr r3, [r7, #64] @ 0x40 + 800c272: 2b03 cmp r3, #3 + 800c274: d9e8 bls.n 800c248 + 800c276: e019 b.n 800c2ac } } } else /* PWR_REGULATOR_VOLTAGE_SCALE2 */ { for (uint32_t index = 0; index < __COUNTOF(FLASH_CLK_SRC_RANGE_VOS2); index++) - 800bcc0: 2300 movs r3, #0 - 800bcc2: 63fb str r3, [r7, #60] @ 0x3c - 800bcc4: e013 b.n 800bcee + 800c278: 2300 movs r3, #0 + 800c27a: 63fb str r3, [r7, #60] @ 0x3c + 800c27c: e013 b.n 800c2a6 { if (Flash_ClkSrcFreq <= FLASH_CLK_SRC_RANGE_VOS2[index]) - 800bcc6: 6bfb ldr r3, [r7, #60] @ 0x3c - 800bcc8: 009b lsls r3, r3, #2 - 800bcca: 3348 adds r3, #72 @ 0x48 - 800bccc: 443b add r3, r7 - 800bcce: f853 3c2c ldr.w r3, [r3, #-44] - 800bcd2: 687a ldr r2, [r7, #4] - 800bcd4: 429a cmp r2, r3 - 800bcd6: d807 bhi.n 800bce8 + 800c27e: 6bfb ldr r3, [r7, #60] @ 0x3c + 800c280: 009b lsls r3, r3, #2 + 800c282: 3348 adds r3, #72 @ 0x48 + 800c284: 443b add r3, r7 + 800c286: f853 3c2c ldr.w r3, [r3, #-44] + 800c28a: 687a ldr r2, [r7, #4] + 800c28c: 429a cmp r2, r3 + 800c28e: d807 bhi.n 800c2a0 { latency = FLASH_LATENCY_RANGE[index]; - 800bcd8: 6bfb ldr r3, [r7, #60] @ 0x3c - 800bcda: 009b lsls r3, r3, #2 - 800bcdc: 3348 adds r3, #72 @ 0x48 - 800bcde: 443b add r3, r7 - 800bce0: f853 3c3c ldr.w r3, [r3, #-60] - 800bce4: 647b str r3, [r7, #68] @ 0x44 + 800c290: 6bfb ldr r3, [r7, #60] @ 0x3c + 800c292: 009b lsls r3, r3, #2 + 800c294: 3348 adds r3, #72 @ 0x48 + 800c296: 443b add r3, r7 + 800c298: f853 3c3c ldr.w r3, [r3, #-60] + 800c29c: 647b str r3, [r7, #68] @ 0x44 break; - 800bce6: e005 b.n 800bcf4 + 800c29e: e005 b.n 800c2ac for (uint32_t index = 0; index < __COUNTOF(FLASH_CLK_SRC_RANGE_VOS2); index++) - 800bce8: 6bfb ldr r3, [r7, #60] @ 0x3c - 800bcea: 3301 adds r3, #1 - 800bcec: 63fb str r3, [r7, #60] @ 0x3c - 800bcee: 6bfb ldr r3, [r7, #60] @ 0x3c - 800bcf0: 2b02 cmp r3, #2 - 800bcf2: d9e8 bls.n 800bcc6 + 800c2a0: 6bfb ldr r3, [r7, #60] @ 0x3c + 800c2a2: 3301 adds r3, #1 + 800c2a4: 63fb str r3, [r7, #60] @ 0x3c + 800c2a6: 6bfb ldr r3, [r7, #60] @ 0x3c + 800c2a8: 2b02 cmp r3, #2 + 800c2aa: d9e8 bls.n 800c27e break; } } #endif /* PWR_CR1_VOS */ __HAL_FLASH_SET_LATENCY(latency); - 800bcf4: 4b13 ldr r3, [pc, #76] @ (800bd44 ) - 800bcf6: 681b ldr r3, [r3, #0] - 800bcf8: f023 0207 bic.w r2, r3, #7 - 800bcfc: 4911 ldr r1, [pc, #68] @ (800bd44 ) - 800bcfe: 6c7b ldr r3, [r7, #68] @ 0x44 - 800bd00: 4313 orrs r3, r2 - 800bd02: 600b str r3, [r1, #0] + 800c2ac: 4b13 ldr r3, [pc, #76] @ (800c2fc ) + 800c2ae: 681b ldr r3, [r3, #0] + 800c2b0: f023 0207 bic.w r2, r3, #7 + 800c2b4: 4911 ldr r1, [pc, #68] @ (800c2fc ) + 800c2b6: 6c7b ldr r3, [r7, #68] @ 0x44 + 800c2b8: 4313 orrs r3, r2 + 800c2ba: 600b str r3, [r1, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800bd04: f7fa fbb4 bl 8006470 - 800bd08: 63b8 str r0, [r7, #56] @ 0x38 + 800c2bc: f7fa fb56 bl 800696c + 800c2c0: 63b8 str r0, [r7, #56] @ 0x38 /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ while (__HAL_FLASH_GET_LATENCY() != latency) - 800bd0a: e008 b.n 800bd1e + 800c2c2: e008 b.n 800c2d6 { if ((HAL_GetTick() - tickstart) > LATENCY_TIMEOUT_VALUE) - 800bd0c: f7fa fbb0 bl 8006470 - 800bd10: 4602 mov r2, r0 - 800bd12: 6bbb ldr r3, [r7, #56] @ 0x38 - 800bd14: 1ad3 subs r3, r2, r3 - 800bd16: 2b02 cmp r3, #2 - 800bd18: d901 bls.n 800bd1e + 800c2c4: f7fa fb52 bl 800696c + 800c2c8: 4602 mov r2, r0 + 800c2ca: 6bbb ldr r3, [r7, #56] @ 0x38 + 800c2cc: 1ad3 subs r3, r2, r3 + 800c2ce: 2b02 cmp r3, #2 + 800c2d0: d901 bls.n 800c2d6 { return HAL_TIMEOUT; - 800bd1a: 2303 movs r3, #3 - 800bd1c: e007 b.n 800bd2e + 800c2d2: 2303 movs r3, #3 + 800c2d4: e007 b.n 800c2e6 while (__HAL_FLASH_GET_LATENCY() != latency) - 800bd1e: 4b09 ldr r3, [pc, #36] @ (800bd44 ) - 800bd20: 681b ldr r3, [r3, #0] - 800bd22: f003 0307 and.w r3, r3, #7 - 800bd26: 6c7a ldr r2, [r7, #68] @ 0x44 - 800bd28: 429a cmp r2, r3 - 800bd2a: d1ef bne.n 800bd0c + 800c2d6: 4b09 ldr r3, [pc, #36] @ (800c2fc ) + 800c2d8: 681b ldr r3, [r3, #0] + 800c2da: f003 0307 and.w r3, r3, #7 + 800c2de: 6c7a ldr r2, [r7, #68] @ 0x44 + 800c2e0: 429a cmp r2, r3 + 800c2e2: d1ef bne.n 800c2c4 } } return HAL_OK; - 800bd2c: 2300 movs r3, #0 + 800c2e4: 2300 movs r3, #0 } - 800bd2e: 4618 mov r0, r3 - 800bd30: 374c adds r7, #76 @ 0x4c - 800bd32: 46bd mov sp, r7 - 800bd34: bd90 pop {r4, r7, pc} - 800bd36: bf00 nop - 800bd38: 0801d990 .word 0x0801d990 - 800bd3c: 0801d9a0 .word 0x0801d9a0 - 800bd40: 0801d9ac .word 0x0801d9ac - 800bd44: 58004000 .word 0x58004000 + 800c2e6: 4618 mov r0, r3 + 800c2e8: 374c adds r7, #76 @ 0x4c + 800c2ea: 46bd mov sp, r7 + 800c2ec: bd90 pop {r4, r7, pc} + 800c2ee: bf00 nop + 800c2f0: 0801e2f0 .word 0x0801e2f0 + 800c2f4: 0801e300 .word 0x0801e300 + 800c2f8: 0801e30c .word 0x0801e30c + 800c2fc: 58004000 .word 0x58004000 -0800bd48 : +0800c300 : { - 800bd48: b480 push {r7} - 800bd4a: af00 add r7, sp, #0 + 800c300: b480 push {r7} + 800c302: af00 add r7, sp, #0 return ((READ_BIT(RCC->BDCR, RCC_BDCR_LSEON) == (RCC_BDCR_LSEON)) ? 1UL : 0UL); - 800bd4c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bd50: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800bd54: f003 0301 and.w r3, r3, #1 - 800bd58: 2b01 cmp r3, #1 - 800bd5a: d101 bne.n 800bd60 - 800bd5c: 2301 movs r3, #1 - 800bd5e: e000 b.n 800bd62 - 800bd60: 2300 movs r3, #0 + 800c304: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c308: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800c30c: f003 0301 and.w r3, r3, #1 + 800c310: 2b01 cmp r3, #1 + 800c312: d101 bne.n 800c318 + 800c314: 2301 movs r3, #1 + 800c316: e000 b.n 800c31a + 800c318: 2300 movs r3, #0 } - 800bd62: 4618 mov r0, r3 - 800bd64: 46bd mov sp, r7 - 800bd66: f85d 7b04 ldr.w r7, [sp], #4 - 800bd6a: 4770 bx lr + 800c31a: 4618 mov r0, r3 + 800c31c: 46bd mov sp, r7 + 800c31e: f85d 7b04 ldr.w r7, [sp], #4 + 800c322: 4770 bx lr -0800bd6c : +0800c324 : { - 800bd6c: b480 push {r7} - 800bd6e: af00 add r7, sp, #0 + 800c324: b480 push {r7} + 800c326: af00 add r7, sp, #0 return ((READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) == (RCC_BDCR_LSERDY)) ? 1UL : 0UL); - 800bd70: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bd74: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800bd78: f003 0302 and.w r3, r3, #2 - 800bd7c: 2b02 cmp r3, #2 - 800bd7e: d101 bne.n 800bd84 - 800bd80: 2301 movs r3, #1 - 800bd82: e000 b.n 800bd86 - 800bd84: 2300 movs r3, #0 + 800c328: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c32c: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800c330: f003 0302 and.w r3, r3, #2 + 800c334: 2b02 cmp r3, #2 + 800c336: d101 bne.n 800c33c + 800c338: 2301 movs r3, #1 + 800c33a: e000 b.n 800c33e + 800c33c: 2300 movs r3, #0 } - 800bd86: 4618 mov r0, r3 - 800bd88: 46bd mov sp, r7 - 800bd8a: f85d 7b04 ldr.w r7, [sp], #4 - 800bd8e: 4770 bx lr + 800c33e: 4618 mov r0, r3 + 800c340: 46bd mov sp, r7 + 800c342: f85d 7b04 ldr.w r7, [sp], #4 + 800c346: 4770 bx lr -0800bd90 : +0800c348 : { - 800bd90: b480 push {r7} - 800bd92: af00 add r7, sp, #0 + 800c348: b480 push {r7} + 800c34a: af00 add r7, sp, #0 SET_BIT(RCC->CR, RCC_CR_MSIPLLEN); - 800bd94: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bd98: 681b ldr r3, [r3, #0] - 800bd9a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800bd9e: f043 0304 orr.w r3, r3, #4 - 800bda2: 6013 str r3, [r2, #0] + 800c34c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c350: 681b ldr r3, [r3, #0] + 800c352: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c356: f043 0304 orr.w r3, r3, #4 + 800c35a: 6013 str r3, [r2, #0] } - 800bda4: bf00 nop - 800bda6: 46bd mov sp, r7 - 800bda8: f85d 7b04 ldr.w r7, [sp], #4 - 800bdac: 4770 bx lr + 800c35c: bf00 nop + 800c35e: 46bd mov sp, r7 + 800c360: f85d 7b04 ldr.w r7, [sp], #4 + 800c364: 4770 bx lr -0800bdae : +0800c366 : { - 800bdae: b480 push {r7} - 800bdb0: b083 sub sp, #12 - 800bdb2: af00 add r7, sp, #0 - 800bdb4: 6078 str r0, [r7, #4] + 800c366: b480 push {r7} + 800c368: b083 sub sp, #12 + 800c36a: af00 add r7, sp, #0 + 800c36c: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CSR, RCC_CSR_RFWKPSEL, Source); - 800bdb6: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bdba: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 - 800bdbe: f423 4240 bic.w r2, r3, #49152 @ 0xc000 - 800bdc2: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800bdc6: 687b ldr r3, [r7, #4] - 800bdc8: 4313 orrs r3, r2 - 800bdca: f8c1 3094 str.w r3, [r1, #148] @ 0x94 + 800c36e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c372: f8d3 3094 ldr.w r3, [r3, #148] @ 0x94 + 800c376: f423 4240 bic.w r2, r3, #49152 @ 0xc000 + 800c37a: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c37e: 687b ldr r3, [r7, #4] + 800c380: 4313 orrs r3, r2 + 800c382: f8c1 3094 str.w r3, [r1, #148] @ 0x94 } - 800bdce: bf00 nop - 800bdd0: 370c adds r7, #12 - 800bdd2: 46bd mov sp, r7 - 800bdd4: f85d 7b04 ldr.w r7, [sp], #4 - 800bdd8: 4770 bx lr + 800c386: bf00 nop + 800c388: 370c adds r7, #12 + 800c38a: 46bd mov sp, r7 + 800c38c: f85d 7b04 ldr.w r7, [sp], #4 + 800c390: 4770 bx lr -0800bdda : +0800c392 : { - 800bdda: b480 push {r7} - 800bddc: b083 sub sp, #12 - 800bdde: af00 add r7, sp, #0 - 800bde0: 6078 str r0, [r7, #4] + 800c392: b480 push {r7} + 800c394: b083 sub sp, #12 + 800c396: af00 add r7, sp, #0 + 800c398: 6078 str r0, [r7, #4] MODIFY_REG(RCC->SMPSCR, RCC_SMPSCR_SMPSSEL, SMPSSource); - 800bde2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bde6: 6a5b ldr r3, [r3, #36] @ 0x24 - 800bde8: f023 0203 bic.w r2, r3, #3 - 800bdec: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800bdf0: 687b ldr r3, [r7, #4] - 800bdf2: 4313 orrs r3, r2 - 800bdf4: 624b str r3, [r1, #36] @ 0x24 + 800c39a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c39e: 6a5b ldr r3, [r3, #36] @ 0x24 + 800c3a0: f023 0203 bic.w r2, r3, #3 + 800c3a4: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c3a8: 687b ldr r3, [r7, #4] + 800c3aa: 4313 orrs r3, r2 + 800c3ac: 624b str r3, [r1, #36] @ 0x24 } - 800bdf6: bf00 nop - 800bdf8: 370c adds r7, #12 - 800bdfa: 46bd mov sp, r7 - 800bdfc: f85d 7b04 ldr.w r7, [sp], #4 - 800be00: 4770 bx lr + 800c3ae: bf00 nop + 800c3b0: 370c adds r7, #12 + 800c3b2: 46bd mov sp, r7 + 800c3b4: f85d 7b04 ldr.w r7, [sp], #4 + 800c3b8: 4770 bx lr -0800be02 : +0800c3ba : { - 800be02: b480 push {r7} - 800be04: b083 sub sp, #12 - 800be06: af00 add r7, sp, #0 - 800be08: 6078 str r0, [r7, #4] + 800c3ba: b480 push {r7} + 800c3bc: b083 sub sp, #12 + 800c3be: af00 add r7, sp, #0 + 800c3c0: 6078 str r0, [r7, #4] MODIFY_REG(RCC->SMPSCR, RCC_SMPSCR_SMPSDIV, Prescaler); - 800be0a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800be0e: 6a5b ldr r3, [r3, #36] @ 0x24 - 800be10: f023 0230 bic.w r2, r3, #48 @ 0x30 - 800be14: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800be18: 687b ldr r3, [r7, #4] - 800be1a: 4313 orrs r3, r2 - 800be1c: 624b str r3, [r1, #36] @ 0x24 + 800c3c2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c3c6: 6a5b ldr r3, [r3, #36] @ 0x24 + 800c3c8: f023 0230 bic.w r2, r3, #48 @ 0x30 + 800c3cc: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c3d0: 687b ldr r3, [r7, #4] + 800c3d2: 4313 orrs r3, r2 + 800c3d4: 624b str r3, [r1, #36] @ 0x24 } - 800be1e: bf00 nop - 800be20: 370c adds r7, #12 - 800be22: 46bd mov sp, r7 - 800be24: f85d 7b04 ldr.w r7, [sp], #4 - 800be28: 4770 bx lr + 800c3d6: bf00 nop + 800c3d8: 370c adds r7, #12 + 800c3da: 46bd mov sp, r7 + 800c3dc: f85d 7b04 ldr.w r7, [sp], #4 + 800c3e0: 4770 bx lr -0800be2a : +0800c3e2 : { - 800be2a: b480 push {r7} - 800be2c: b083 sub sp, #12 - 800be2e: af00 add r7, sp, #0 - 800be30: 6078 str r0, [r7, #4] + 800c3e2: b480 push {r7} + 800c3e4: b083 sub sp, #12 + 800c3e6: af00 add r7, sp, #0 + 800c3e8: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CCIPR, RCC_CCIPR_USART1SEL, USARTxSource); - 800be32: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800be36: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 - 800be3a: f023 0203 bic.w r2, r3, #3 - 800be3e: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800be42: 687b ldr r3, [r7, #4] - 800be44: 4313 orrs r3, r2 - 800be46: f8c1 3088 str.w r3, [r1, #136] @ 0x88 + 800c3ea: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c3ee: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 + 800c3f2: f023 0203 bic.w r2, r3, #3 + 800c3f6: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c3fa: 687b ldr r3, [r7, #4] + 800c3fc: 4313 orrs r3, r2 + 800c3fe: f8c1 3088 str.w r3, [r1, #136] @ 0x88 } - 800be4a: bf00 nop - 800be4c: 370c adds r7, #12 - 800be4e: 46bd mov sp, r7 - 800be50: f85d 7b04 ldr.w r7, [sp], #4 - 800be54: 4770 bx lr + 800c402: bf00 nop + 800c404: 370c adds r7, #12 + 800c406: 46bd mov sp, r7 + 800c408: f85d 7b04 ldr.w r7, [sp], #4 + 800c40c: 4770 bx lr -0800be56 : +0800c40e : { - 800be56: b480 push {r7} - 800be58: b083 sub sp, #12 - 800be5a: af00 add r7, sp, #0 - 800be5c: 6078 str r0, [r7, #4] + 800c40e: b480 push {r7} + 800c410: b083 sub sp, #12 + 800c412: af00 add r7, sp, #0 + 800c414: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CCIPR, RCC_CCIPR_LPUART1SEL, LPUARTxSource); - 800be5e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800be62: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 - 800be66: f423 6240 bic.w r2, r3, #3072 @ 0xc00 - 800be6a: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800be6e: 687b ldr r3, [r7, #4] - 800be70: 4313 orrs r3, r2 - 800be72: f8c1 3088 str.w r3, [r1, #136] @ 0x88 + 800c416: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c41a: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 + 800c41e: f423 6240 bic.w r2, r3, #3072 @ 0xc00 + 800c422: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c426: 687b ldr r3, [r7, #4] + 800c428: 4313 orrs r3, r2 + 800c42a: f8c1 3088 str.w r3, [r1, #136] @ 0x88 } - 800be76: bf00 nop - 800be78: 370c adds r7, #12 - 800be7a: 46bd mov sp, r7 - 800be7c: f85d 7b04 ldr.w r7, [sp], #4 - 800be80: 4770 bx lr + 800c42e: bf00 nop + 800c430: 370c adds r7, #12 + 800c432: 46bd mov sp, r7 + 800c434: f85d 7b04 ldr.w r7, [sp], #4 + 800c438: 4770 bx lr -0800be82 : +0800c43a : { - 800be82: b480 push {r7} - 800be84: b083 sub sp, #12 - 800be86: af00 add r7, sp, #0 - 800be88: 6078 str r0, [r7, #4] + 800c43a: b480 push {r7} + 800c43c: b083 sub sp, #12 + 800c43e: af00 add r7, sp, #0 + 800c440: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CCIPR, ((I2CxSource >> 4) & 0x000FF000U), ((I2CxSource << 4) & 0x000FF000U)); - 800be8a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800be8e: f8d3 2088 ldr.w r2, [r3, #136] @ 0x88 - 800be92: 687b ldr r3, [r7, #4] - 800be94: 091b lsrs r3, r3, #4 - 800be96: f403 237f and.w r3, r3, #1044480 @ 0xff000 - 800be9a: 43db mvns r3, r3 - 800be9c: 401a ands r2, r3 - 800be9e: 687b ldr r3, [r7, #4] - 800bea0: 011b lsls r3, r3, #4 - 800bea2: f403 237f and.w r3, r3, #1044480 @ 0xff000 - 800bea6: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800beaa: 4313 orrs r3, r2 - 800beac: f8c1 3088 str.w r3, [r1, #136] @ 0x88 + 800c442: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c446: f8d3 2088 ldr.w r2, [r3, #136] @ 0x88 + 800c44a: 687b ldr r3, [r7, #4] + 800c44c: 091b lsrs r3, r3, #4 + 800c44e: f403 237f and.w r3, r3, #1044480 @ 0xff000 + 800c452: 43db mvns r3, r3 + 800c454: 401a ands r2, r3 + 800c456: 687b ldr r3, [r7, #4] + 800c458: 011b lsls r3, r3, #4 + 800c45a: f403 237f and.w r3, r3, #1044480 @ 0xff000 + 800c45e: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c462: 4313 orrs r3, r2 + 800c464: f8c1 3088 str.w r3, [r1, #136] @ 0x88 } - 800beb0: bf00 nop - 800beb2: 370c adds r7, #12 - 800beb4: 46bd mov sp, r7 - 800beb6: f85d 7b04 ldr.w r7, [sp], #4 - 800beba: 4770 bx lr + 800c468: bf00 nop + 800c46a: 370c adds r7, #12 + 800c46c: 46bd mov sp, r7 + 800c46e: f85d 7b04 ldr.w r7, [sp], #4 + 800c472: 4770 bx lr -0800bebc : +0800c474 : { - 800bebc: b480 push {r7} - 800bebe: b083 sub sp, #12 - 800bec0: af00 add r7, sp, #0 - 800bec2: 6078 str r0, [r7, #4] + 800c474: b480 push {r7} + 800c476: b083 sub sp, #12 + 800c478: af00 add r7, sp, #0 + 800c47a: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CCIPR, (LPTIMxSource & 0xFFFF0000U), (LPTIMxSource << 16)); - 800bec4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bec8: f8d3 2088 ldr.w r2, [r3, #136] @ 0x88 - 800becc: 687b ldr r3, [r7, #4] - 800bece: 0c1b lsrs r3, r3, #16 - 800bed0: 041b lsls r3, r3, #16 - 800bed2: 43db mvns r3, r3 - 800bed4: 401a ands r2, r3 - 800bed6: 687b ldr r3, [r7, #4] - 800bed8: 041b lsls r3, r3, #16 - 800beda: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800bede: 4313 orrs r3, r2 - 800bee0: f8c1 3088 str.w r3, [r1, #136] @ 0x88 + 800c47c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c480: f8d3 2088 ldr.w r2, [r3, #136] @ 0x88 + 800c484: 687b ldr r3, [r7, #4] + 800c486: 0c1b lsrs r3, r3, #16 + 800c488: 041b lsls r3, r3, #16 + 800c48a: 43db mvns r3, r3 + 800c48c: 401a ands r2, r3 + 800c48e: 687b ldr r3, [r7, #4] + 800c490: 041b lsls r3, r3, #16 + 800c492: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c496: 4313 orrs r3, r2 + 800c498: f8c1 3088 str.w r3, [r1, #136] @ 0x88 } - 800bee4: bf00 nop - 800bee6: 370c adds r7, #12 - 800bee8: 46bd mov sp, r7 - 800beea: f85d 7b04 ldr.w r7, [sp], #4 - 800beee: 4770 bx lr + 800c49c: bf00 nop + 800c49e: 370c adds r7, #12 + 800c4a0: 46bd mov sp, r7 + 800c4a2: f85d 7b04 ldr.w r7, [sp], #4 + 800c4a6: 4770 bx lr -0800bef0 : +0800c4a8 : { - 800bef0: b480 push {r7} - 800bef2: b083 sub sp, #12 - 800bef4: af00 add r7, sp, #0 - 800bef6: 6078 str r0, [r7, #4] + 800c4a8: b480 push {r7} + 800c4aa: b083 sub sp, #12 + 800c4ac: af00 add r7, sp, #0 + 800c4ae: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CCIPR, RCC_CCIPR_SAI1SEL, SAIxSource); - 800bef8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800befc: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 - 800bf00: f423 0240 bic.w r2, r3, #12582912 @ 0xc00000 - 800bf04: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800bf08: 687b ldr r3, [r7, #4] - 800bf0a: 4313 orrs r3, r2 - 800bf0c: f8c1 3088 str.w r3, [r1, #136] @ 0x88 + 800c4b0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c4b4: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 + 800c4b8: f423 0240 bic.w r2, r3, #12582912 @ 0xc00000 + 800c4bc: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c4c0: 687b ldr r3, [r7, #4] + 800c4c2: 4313 orrs r3, r2 + 800c4c4: f8c1 3088 str.w r3, [r1, #136] @ 0x88 } - 800bf10: bf00 nop - 800bf12: 370c adds r7, #12 - 800bf14: 46bd mov sp, r7 - 800bf16: f85d 7b04 ldr.w r7, [sp], #4 - 800bf1a: 4770 bx lr + 800c4c8: bf00 nop + 800c4ca: 370c adds r7, #12 + 800c4cc: 46bd mov sp, r7 + 800c4ce: f85d 7b04 ldr.w r7, [sp], #4 + 800c4d2: 4770 bx lr -0800bf1c : +0800c4d4 : { - 800bf1c: b480 push {r7} - 800bf1e: b083 sub sp, #12 - 800bf20: af00 add r7, sp, #0 - 800bf22: 6078 str r0, [r7, #4] + 800c4d4: b480 push {r7} + 800c4d6: b083 sub sp, #12 + 800c4d8: af00 add r7, sp, #0 + 800c4da: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CCIPR, RCC_CCIPR_RNGSEL, RNGxSource); - 800bf24: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bf28: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 - 800bf2c: f023 4240 bic.w r2, r3, #3221225472 @ 0xc0000000 - 800bf30: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800bf34: 687b ldr r3, [r7, #4] - 800bf36: 4313 orrs r3, r2 - 800bf38: f8c1 3088 str.w r3, [r1, #136] @ 0x88 + 800c4dc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c4e0: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 + 800c4e4: f023 4240 bic.w r2, r3, #3221225472 @ 0xc0000000 + 800c4e8: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c4ec: 687b ldr r3, [r7, #4] + 800c4ee: 4313 orrs r3, r2 + 800c4f0: f8c1 3088 str.w r3, [r1, #136] @ 0x88 } - 800bf3c: bf00 nop - 800bf3e: 370c adds r7, #12 - 800bf40: 46bd mov sp, r7 - 800bf42: f85d 7b04 ldr.w r7, [sp], #4 - 800bf46: 4770 bx lr + 800c4f4: bf00 nop + 800c4f6: 370c adds r7, #12 + 800c4f8: 46bd mov sp, r7 + 800c4fa: f85d 7b04 ldr.w r7, [sp], #4 + 800c4fe: 4770 bx lr -0800bf48 : +0800c500 : { - 800bf48: b480 push {r7} - 800bf4a: b083 sub sp, #12 - 800bf4c: af00 add r7, sp, #0 - 800bf4e: 6078 str r0, [r7, #4] + 800c500: b480 push {r7} + 800c502: b083 sub sp, #12 + 800c504: af00 add r7, sp, #0 + 800c506: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CCIPR, RCC_CCIPR_CLK48SEL, CLK48xSource); - 800bf50: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bf54: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 - 800bf58: f023 6240 bic.w r2, r3, #201326592 @ 0xc000000 - 800bf5c: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800bf60: 687b ldr r3, [r7, #4] - 800bf62: 4313 orrs r3, r2 - 800bf64: f8c1 3088 str.w r3, [r1, #136] @ 0x88 + 800c508: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c50c: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 + 800c510: f023 6240 bic.w r2, r3, #201326592 @ 0xc000000 + 800c514: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c518: 687b ldr r3, [r7, #4] + 800c51a: 4313 orrs r3, r2 + 800c51c: f8c1 3088 str.w r3, [r1, #136] @ 0x88 } - 800bf68: bf00 nop - 800bf6a: 370c adds r7, #12 - 800bf6c: 46bd mov sp, r7 - 800bf6e: f85d 7b04 ldr.w r7, [sp], #4 - 800bf72: 4770 bx lr + 800c520: bf00 nop + 800c522: 370c adds r7, #12 + 800c524: 46bd mov sp, r7 + 800c526: f85d 7b04 ldr.w r7, [sp], #4 + 800c52a: 4770 bx lr -0800bf74 : +0800c52c : { - 800bf74: b580 push {r7, lr} - 800bf76: b082 sub sp, #8 - 800bf78: af00 add r7, sp, #0 - 800bf7a: 6078 str r0, [r7, #4] + 800c52c: b580 push {r7, lr} + 800c52e: b082 sub sp, #8 + 800c530: af00 add r7, sp, #0 + 800c532: 6078 str r0, [r7, #4] LL_RCC_SetCLK48ClockSource(USBxSource); - 800bf7c: 6878 ldr r0, [r7, #4] - 800bf7e: f7ff ffe3 bl 800bf48 + 800c534: 6878 ldr r0, [r7, #4] + 800c536: f7ff ffe3 bl 800c500 } - 800bf82: bf00 nop - 800bf84: 3708 adds r7, #8 - 800bf86: 46bd mov sp, r7 - 800bf88: bd80 pop {r7, pc} + 800c53a: bf00 nop + 800c53c: 3708 adds r7, #8 + 800c53e: 46bd mov sp, r7 + 800c540: bd80 pop {r7, pc} -0800bf8a : +0800c542 : { - 800bf8a: b480 push {r7} - 800bf8c: b083 sub sp, #12 - 800bf8e: af00 add r7, sp, #0 - 800bf90: 6078 str r0, [r7, #4] + 800c542: b480 push {r7} + 800c544: b083 sub sp, #12 + 800c546: af00 add r7, sp, #0 + 800c548: 6078 str r0, [r7, #4] MODIFY_REG(RCC->CCIPR, RCC_CCIPR_ADCSEL, ADCxSource); - 800bf92: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bf96: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 - 800bf9a: f023 5240 bic.w r2, r3, #805306368 @ 0x30000000 - 800bf9e: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800bfa2: 687b ldr r3, [r7, #4] - 800bfa4: 4313 orrs r3, r2 - 800bfa6: f8c1 3088 str.w r3, [r1, #136] @ 0x88 + 800c54a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c54e: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88 + 800c552: f023 5240 bic.w r2, r3, #805306368 @ 0x30000000 + 800c556: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c55a: 687b ldr r3, [r7, #4] + 800c55c: 4313 orrs r3, r2 + 800c55e: f8c1 3088 str.w r3, [r1, #136] @ 0x88 } - 800bfaa: bf00 nop - 800bfac: 370c adds r7, #12 - 800bfae: 46bd mov sp, r7 - 800bfb0: f85d 7b04 ldr.w r7, [sp], #4 - 800bfb4: 4770 bx lr + 800c562: bf00 nop + 800c564: 370c adds r7, #12 + 800c566: 46bd mov sp, r7 + 800c568: f85d 7b04 ldr.w r7, [sp], #4 + 800c56c: 4770 bx lr -0800bfb6 : +0800c56e : { - 800bfb6: b480 push {r7} - 800bfb8: b083 sub sp, #12 - 800bfba: af00 add r7, sp, #0 - 800bfbc: 6078 str r0, [r7, #4] + 800c56e: b480 push {r7} + 800c570: b083 sub sp, #12 + 800c572: af00 add r7, sp, #0 + 800c574: 6078 str r0, [r7, #4] MODIFY_REG(RCC->BDCR, RCC_BDCR_RTCSEL, Source); - 800bfbe: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bfc2: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800bfc6: f423 7240 bic.w r2, r3, #768 @ 0x300 - 800bfca: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800bfce: 687b ldr r3, [r7, #4] - 800bfd0: 4313 orrs r3, r2 - 800bfd2: f8c1 3090 str.w r3, [r1, #144] @ 0x90 + 800c576: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c57a: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800c57e: f423 7240 bic.w r2, r3, #768 @ 0x300 + 800c582: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c586: 687b ldr r3, [r7, #4] + 800c588: 4313 orrs r3, r2 + 800c58a: f8c1 3090 str.w r3, [r1, #144] @ 0x90 } - 800bfd6: bf00 nop - 800bfd8: 370c adds r7, #12 - 800bfda: 46bd mov sp, r7 - 800bfdc: f85d 7b04 ldr.w r7, [sp], #4 - 800bfe0: 4770 bx lr + 800c58e: bf00 nop + 800c590: 370c adds r7, #12 + 800c592: 46bd mov sp, r7 + 800c594: f85d 7b04 ldr.w r7, [sp], #4 + 800c598: 4770 bx lr -0800bfe2 : +0800c59a : { - 800bfe2: b480 push {r7} - 800bfe4: af00 add r7, sp, #0 + 800c59a: b480 push {r7} + 800c59c: af00 add r7, sp, #0 return (uint32_t)(READ_BIT(RCC->BDCR, RCC_BDCR_RTCSEL)); - 800bfe6: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800bfea: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800bfee: f403 7340 and.w r3, r3, #768 @ 0x300 + 800c59e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c5a2: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800c5a6: f403 7340 and.w r3, r3, #768 @ 0x300 } - 800bff2: 4618 mov r0, r3 - 800bff4: 46bd mov sp, r7 - 800bff6: f85d 7b04 ldr.w r7, [sp], #4 - 800bffa: 4770 bx lr + 800c5aa: 4618 mov r0, r3 + 800c5ac: 46bd mov sp, r7 + 800c5ae: f85d 7b04 ldr.w r7, [sp], #4 + 800c5b2: 4770 bx lr -0800bffc : +0800c5b4 : { - 800bffc: b480 push {r7} - 800bffe: af00 add r7, sp, #0 + 800c5b4: b480 push {r7} + 800c5b6: af00 add r7, sp, #0 SET_BIT(RCC->BDCR, RCC_BDCR_BDRST); - 800c000: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c004: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800c008: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c00c: f443 3380 orr.w r3, r3, #65536 @ 0x10000 - 800c010: f8c2 3090 str.w r3, [r2, #144] @ 0x90 + 800c5b8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c5bc: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800c5c0: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c5c4: f443 3380 orr.w r3, r3, #65536 @ 0x10000 + 800c5c8: f8c2 3090 str.w r3, [r2, #144] @ 0x90 } - 800c014: bf00 nop - 800c016: 46bd mov sp, r7 - 800c018: f85d 7b04 ldr.w r7, [sp], #4 - 800c01c: 4770 bx lr + 800c5cc: bf00 nop + 800c5ce: 46bd mov sp, r7 + 800c5d0: f85d 7b04 ldr.w r7, [sp], #4 + 800c5d4: 4770 bx lr -0800c01e : +0800c5d6 : { - 800c01e: b480 push {r7} - 800c020: af00 add r7, sp, #0 + 800c5d6: b480 push {r7} + 800c5d8: af00 add r7, sp, #0 CLEAR_BIT(RCC->BDCR, RCC_BDCR_BDRST); - 800c022: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c026: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800c02a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c02e: f423 3380 bic.w r3, r3, #65536 @ 0x10000 - 800c032: f8c2 3090 str.w r3, [r2, #144] @ 0x90 + 800c5da: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c5de: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800c5e2: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c5e6: f423 3380 bic.w r3, r3, #65536 @ 0x10000 + 800c5ea: f8c2 3090 str.w r3, [r2, #144] @ 0x90 } - 800c036: bf00 nop - 800c038: 46bd mov sp, r7 - 800c03a: f85d 7b04 ldr.w r7, [sp], #4 - 800c03e: 4770 bx lr + 800c5ee: bf00 nop + 800c5f0: 46bd mov sp, r7 + 800c5f2: f85d 7b04 ldr.w r7, [sp], #4 + 800c5f6: 4770 bx lr -0800c040 : +0800c5f8 : { - 800c040: b480 push {r7} - 800c042: af00 add r7, sp, #0 + 800c5f8: b480 push {r7} + 800c5fa: af00 add r7, sp, #0 SET_BIT(RCC->CR, RCC_CR_PLLSAI1ON); - 800c044: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c048: 681b ldr r3, [r3, #0] - 800c04a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c04e: f043 6380 orr.w r3, r3, #67108864 @ 0x4000000 - 800c052: 6013 str r3, [r2, #0] + 800c5fc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c600: 681b ldr r3, [r3, #0] + 800c602: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c606: f043 6380 orr.w r3, r3, #67108864 @ 0x4000000 + 800c60a: 6013 str r3, [r2, #0] } - 800c054: bf00 nop - 800c056: 46bd mov sp, r7 - 800c058: f85d 7b04 ldr.w r7, [sp], #4 - 800c05c: 4770 bx lr + 800c60c: bf00 nop + 800c60e: 46bd mov sp, r7 + 800c610: f85d 7b04 ldr.w r7, [sp], #4 + 800c614: 4770 bx lr -0800c05e : +0800c616 : { - 800c05e: b480 push {r7} - 800c060: af00 add r7, sp, #0 + 800c616: b480 push {r7} + 800c618: af00 add r7, sp, #0 CLEAR_BIT(RCC->CR, RCC_CR_PLLSAI1ON); - 800c062: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c066: 681b ldr r3, [r3, #0] - 800c068: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c06c: f023 6380 bic.w r3, r3, #67108864 @ 0x4000000 - 800c070: 6013 str r3, [r2, #0] + 800c61a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c61e: 681b ldr r3, [r3, #0] + 800c620: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c624: f023 6380 bic.w r3, r3, #67108864 @ 0x4000000 + 800c628: 6013 str r3, [r2, #0] } - 800c072: bf00 nop - 800c074: 46bd mov sp, r7 - 800c076: f85d 7b04 ldr.w r7, [sp], #4 - 800c07a: 4770 bx lr + 800c62a: bf00 nop + 800c62c: 46bd mov sp, r7 + 800c62e: f85d 7b04 ldr.w r7, [sp], #4 + 800c632: 4770 bx lr -0800c07c : +0800c634 : { - 800c07c: b480 push {r7} - 800c07e: af00 add r7, sp, #0 + 800c634: b480 push {r7} + 800c636: af00 add r7, sp, #0 return ((READ_BIT(RCC->CR, RCC_CR_PLLSAI1RDY) == (RCC_CR_PLLSAI1RDY)) ? 1UL : 0UL); - 800c080: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c084: 681b ldr r3, [r3, #0] - 800c086: f003 6300 and.w r3, r3, #134217728 @ 0x8000000 - 800c08a: f1b3 6f00 cmp.w r3, #134217728 @ 0x8000000 - 800c08e: d101 bne.n 800c094 - 800c090: 2301 movs r3, #1 - 800c092: e000 b.n 800c096 - 800c094: 2300 movs r3, #0 + 800c638: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c63c: 681b ldr r3, [r3, #0] + 800c63e: f003 6300 and.w r3, r3, #134217728 @ 0x8000000 + 800c642: f1b3 6f00 cmp.w r3, #134217728 @ 0x8000000 + 800c646: d101 bne.n 800c64c + 800c648: 2301 movs r3, #1 + 800c64a: e000 b.n 800c64e + 800c64c: 2300 movs r3, #0 } - 800c096: 4618 mov r0, r3 - 800c098: 46bd mov sp, r7 - 800c09a: f85d 7b04 ldr.w r7, [sp], #4 - 800c09e: 4770 bx lr + 800c64e: 4618 mov r0, r3 + 800c650: 46bd mov sp, r7 + 800c652: f85d 7b04 ldr.w r7, [sp], #4 + 800c656: 4770 bx lr -0800c0a0 : +0800c658 : * the RTC clock source: in this case the access to Backup domain is enabled. * * @retval HAL status */ HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) { - 800c0a0: b580 push {r7, lr} - 800c0a2: b088 sub sp, #32 - 800c0a4: af00 add r7, sp, #0 - 800c0a6: 6078 str r0, [r7, #4] + 800c658: b580 push {r7, lr} + 800c65a: b088 sub sp, #32 + 800c65c: af00 add r7, sp, #0 + 800c65e: 6078 str r0, [r7, #4] uint32_t tickstart; HAL_StatusTypeDef ret = HAL_OK; /* Intermediate status */ - 800c0a8: 2300 movs r3, #0 - 800c0aa: 77fb strb r3, [r7, #31] + 800c660: 2300 movs r3, #0 + 800c662: 77fb strb r3, [r7, #31] HAL_StatusTypeDef status = HAL_OK; /* Final status */ - 800c0ac: 2300 movs r3, #0 - 800c0ae: 77bb strb r3, [r7, #30] + 800c664: 2300 movs r3, #0 + 800c666: 77bb strb r3, [r7, #30] /* Check the parameters */ assert_param(IS_RCC_PERIPHCLOCK(PeriphClkInit->PeriphClockSelection)); #if defined(SAI1) /*-------------------------- SAI1 clock source configuration ---------------------*/ if ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1)) - 800c0b0: 687b ldr r3, [r7, #4] - 800c0b2: 681b ldr r3, [r3, #0] - 800c0b4: f003 0340 and.w r3, r3, #64 @ 0x40 - 800c0b8: 2b00 cmp r3, #0 - 800c0ba: d034 beq.n 800c126 + 800c668: 687b ldr r3, [r7, #4] + 800c66a: 681b ldr r3, [r3, #0] + 800c66c: f003 0340 and.w r3, r3, #64 @ 0x40 + 800c670: 2b00 cmp r3, #0 + 800c672: d034 beq.n 800c6de { /* Check the parameters */ assert_param(IS_RCC_SAI1CLK(PeriphClkInit->Sai1ClockSelection)); switch (PeriphClkInit->Sai1ClockSelection) - 800c0bc: 687b ldr r3, [r7, #4] - 800c0be: 6b1b ldr r3, [r3, #48] @ 0x30 - 800c0c0: f5b3 0f40 cmp.w r3, #12582912 @ 0xc00000 - 800c0c4: d021 beq.n 800c10a - 800c0c6: f5b3 0f40 cmp.w r3, #12582912 @ 0xc00000 - 800c0ca: d81b bhi.n 800c104 - 800c0cc: f5b3 0f00 cmp.w r3, #8388608 @ 0x800000 - 800c0d0: d01d beq.n 800c10e - 800c0d2: f5b3 0f00 cmp.w r3, #8388608 @ 0x800000 - 800c0d6: d815 bhi.n 800c104 - 800c0d8: 2b00 cmp r3, #0 - 800c0da: d00b beq.n 800c0f4 - 800c0dc: f5b3 0f80 cmp.w r3, #4194304 @ 0x400000 - 800c0e0: d110 bne.n 800c104 + 800c674: 687b ldr r3, [r7, #4] + 800c676: 6b1b ldr r3, [r3, #48] @ 0x30 + 800c678: f5b3 0f40 cmp.w r3, #12582912 @ 0xc00000 + 800c67c: d021 beq.n 800c6c2 + 800c67e: f5b3 0f40 cmp.w r3, #12582912 @ 0xc00000 + 800c682: d81b bhi.n 800c6bc + 800c684: f5b3 0f00 cmp.w r3, #8388608 @ 0x800000 + 800c688: d01d beq.n 800c6c6 + 800c68a: f5b3 0f00 cmp.w r3, #8388608 @ 0x800000 + 800c68e: d815 bhi.n 800c6bc + 800c690: 2b00 cmp r3, #0 + 800c692: d00b beq.n 800c6ac + 800c694: f5b3 0f80 cmp.w r3, #4194304 @ 0x400000 + 800c698: d110 bne.n 800c6bc { case RCC_SAI1CLKSOURCE_PLL: /* PLL is used as clock source for SAI1 */ /* Enable SAI1 Clock output generated form System PLL . */ __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL_SAI1CLK); - 800c0e2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c0e6: 68db ldr r3, [r3, #12] - 800c0e8: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c0ec: f443 3380 orr.w r3, r3, #65536 @ 0x10000 - 800c0f0: 60d3 str r3, [r2, #12] + 800c69a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c69e: 68db ldr r3, [r3, #12] + 800c6a0: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c6a4: f443 3380 orr.w r3, r3, #65536 @ 0x10000 + 800c6a8: 60d3 str r3, [r2, #12] /* SAI1 clock source config set later after clock selection check */ break; - 800c0f2: e00d b.n 800c110 + 800c6aa: e00d b.n 800c6c8 case RCC_SAI1CLKSOURCE_PLLSAI1: /* PLLSAI1 is used as clock source for SAI1 */ /* PLLSAI1 parameters N & P configuration and clock output (PLLSAI1ClockOut) */ ret = RCCEx_PLLSAI1_ConfigNP(&(PeriphClkInit->PLLSAI1)); - 800c0f4: 687b ldr r3, [r7, #4] - 800c0f6: 3304 adds r3, #4 - 800c0f8: 4618 mov r0, r3 - 800c0fa: f000 f94d bl 800c398 - 800c0fe: 4603 mov r3, r0 - 800c100: 77fb strb r3, [r7, #31] + 800c6ac: 687b ldr r3, [r7, #4] + 800c6ae: 3304 adds r3, #4 + 800c6b0: 4618 mov r0, r3 + 800c6b2: f000 f94d bl 800c950 + 800c6b6: 4603 mov r3, r0 + 800c6b8: 77fb strb r3, [r7, #31] /* SAI1 clock source config set later after clock selection check */ break; - 800c102: e005 b.n 800c110 + 800c6ba: e005 b.n 800c6c8 case RCC_SAI1CLKSOURCE_HSI: break; default: ret = HAL_ERROR; - 800c104: 2301 movs r3, #1 - 800c106: 77fb strb r3, [r7, #31] + 800c6bc: 2301 movs r3, #1 + 800c6be: 77fb strb r3, [r7, #31] break; - 800c108: e002 b.n 800c110 + 800c6c0: e002 b.n 800c6c8 break; - 800c10a: bf00 nop - 800c10c: e000 b.n 800c110 + 800c6c2: bf00 nop + 800c6c4: e000 b.n 800c6c8 break; - 800c10e: bf00 nop + 800c6c6: bf00 nop } if (ret == HAL_OK) - 800c110: 7ffb ldrb r3, [r7, #31] - 800c112: 2b00 cmp r3, #0 - 800c114: d105 bne.n 800c122 + 800c6c8: 7ffb ldrb r3, [r7, #31] + 800c6ca: 2b00 cmp r3, #0 + 800c6cc: d105 bne.n 800c6da { /* Set the source of SAI1 clock*/ __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection); - 800c116: 687b ldr r3, [r7, #4] - 800c118: 6b1b ldr r3, [r3, #48] @ 0x30 - 800c11a: 4618 mov r0, r3 - 800c11c: f7ff fee8 bl 800bef0 - 800c120: e001 b.n 800c126 + 800c6ce: 687b ldr r3, [r7, #4] + 800c6d0: 6b1b ldr r3, [r3, #48] @ 0x30 + 800c6d2: 4618 mov r0, r3 + 800c6d4: f7ff fee8 bl 800c4a8 + 800c6d8: e001 b.n 800c6de } else { /* set overall return value */ status = ret; - 800c122: 7ffb ldrb r3, [r7, #31] - 800c124: 77bb strb r3, [r7, #30] + 800c6da: 7ffb ldrb r3, [r7, #31] + 800c6dc: 77bb strb r3, [r7, #30] } } #endif /* SAI1 */ /*-------------------------- RTC clock source configuration ----------------------*/ if ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) - 800c126: 687b ldr r3, [r7, #4] - 800c128: 681b ldr r3, [r3, #0] - 800c12a: f403 6300 and.w r3, r3, #2048 @ 0x800 - 800c12e: 2b00 cmp r3, #0 - 800c130: d046 beq.n 800c1c0 + 800c6de: 687b ldr r3, [r7, #4] + 800c6e0: 681b ldr r3, [r3, #0] + 800c6e2: f403 6300 and.w r3, r3, #2048 @ 0x800 + 800c6e6: 2b00 cmp r3, #0 + 800c6e8: d046 beq.n 800c778 { uint32_t rtcclocksource = LL_RCC_GetRTCClockSource(); - 800c132: f7ff ff56 bl 800bfe2 - 800c136: 61b8 str r0, [r7, #24] + 800c6ea: f7ff ff56 bl 800c59a + 800c6ee: 61b8 str r0, [r7, #24] /* Check for RTC Parameters used to output RTCCLK */ assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection)); /* Configure the clock source only if a different source is expected */ if (rtcclocksource != PeriphClkInit->RTCClockSelection) - 800c138: 687b ldr r3, [r7, #4] - 800c13a: 6c1b ldr r3, [r3, #64] @ 0x40 - 800c13c: 69ba ldr r2, [r7, #24] - 800c13e: 429a cmp r2, r3 - 800c140: d03c beq.n 800c1bc + 800c6f0: 687b ldr r3, [r7, #4] + 800c6f2: 6c1b ldr r3, [r3, #64] @ 0x40 + 800c6f4: 69ba ldr r2, [r7, #24] + 800c6f6: 429a cmp r2, r3 + 800c6f8: d03c beq.n 800c774 { /* Enable write access to Backup domain */ HAL_PWR_EnableBkUpAccess(); - 800c142: f7fe fc21 bl 800a988 + 800c6fa: f7fe fc21 bl 800af40 /* If a clock source is not yet selected */ if (rtcclocksource == RCC_RTCCLKSOURCE_NONE) - 800c146: 69bb ldr r3, [r7, #24] - 800c148: 2b00 cmp r3, #0 - 800c14a: d105 bne.n 800c158 + 800c6fe: 69bb ldr r3, [r7, #24] + 800c700: 2b00 cmp r3, #0 + 800c702: d105 bne.n 800c710 { /* Directly set the configuration of the clock source selection */ LL_RCC_SetRTCClockSource(PeriphClkInit->RTCClockSelection); - 800c14c: 687b ldr r3, [r7, #4] - 800c14e: 6c1b ldr r3, [r3, #64] @ 0x40 - 800c150: 4618 mov r0, r3 - 800c152: f7ff ff30 bl 800bfb6 - 800c156: e02e b.n 800c1b6 + 800c704: 687b ldr r3, [r7, #4] + 800c706: 6c1b ldr r3, [r3, #64] @ 0x40 + 800c708: 4618 mov r0, r3 + 800c70a: f7ff ff30 bl 800c56e + 800c70e: e02e b.n 800c76e } else /* A clock source is already selected */ { /* Store the content of BDCR register before the reset of Backup Domain */ uint32_t bdcr = LL_RCC_ReadReg(BDCR); - 800c158: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c15c: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 - 800c160: 617b str r3, [r7, #20] + 800c710: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c714: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90 + 800c718: 617b str r3, [r7, #20] /* RTC Clock selection can be changed only if the Backup Domain is reset */ LL_RCC_ForceBackupDomainReset(); - 800c162: f7ff ff4b bl 800bffc + 800c71a: f7ff ff4b bl 800c5b4 LL_RCC_ReleaseBackupDomainReset(); - 800c166: f7ff ff5a bl 800c01e + 800c71e: f7ff ff5a bl 800c5d6 /* Set the value of the clock source selection */ MODIFY_REG(bdcr, RCC_BDCR_RTCSEL, PeriphClkInit->RTCClockSelection); - 800c16a: 697b ldr r3, [r7, #20] - 800c16c: f423 7240 bic.w r2, r3, #768 @ 0x300 - 800c170: 687b ldr r3, [r7, #4] - 800c172: 6c1b ldr r3, [r3, #64] @ 0x40 - 800c174: 4313 orrs r3, r2 - 800c176: 617b str r3, [r7, #20] + 800c722: 697b ldr r3, [r7, #20] + 800c724: f423 7240 bic.w r2, r3, #768 @ 0x300 + 800c728: 687b ldr r3, [r7, #4] + 800c72a: 6c1b ldr r3, [r3, #64] @ 0x40 + 800c72c: 4313 orrs r3, r2 + 800c72e: 617b str r3, [r7, #20] /* Restore the content of BDCR register */ LL_RCC_WriteReg(BDCR, bdcr); - 800c178: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c17c: 697b ldr r3, [r7, #20] - 800c17e: f8c2 3090 str.w r3, [r2, #144] @ 0x90 + 800c730: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c734: 697b ldr r3, [r7, #20] + 800c736: f8c2 3090 str.w r3, [r2, #144] @ 0x90 /* Wait for LSE reactivation if LSE was enable prior to Backup Domain reset */ if (LL_RCC_LSE_IsEnabled() == 1U) - 800c182: f7ff fde1 bl 800bd48 - 800c186: 4603 mov r3, r0 - 800c188: 2b01 cmp r3, #1 - 800c18a: d114 bne.n 800c1b6 + 800c73a: f7ff fde1 bl 800c300 + 800c73e: 4603 mov r3, r0 + 800c740: 2b01 cmp r3, #1 + 800c742: d114 bne.n 800c76e { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800c18c: f7fa f970 bl 8006470 - 800c190: 6138 str r0, [r7, #16] + 800c744: f7fa f912 bl 800696c + 800c748: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (LL_RCC_LSE_IsReady() != 1U) - 800c192: e00b b.n 800c1ac + 800c74a: e00b b.n 800c764 { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) - 800c194: f7fa f96c bl 8006470 - 800c198: 4602 mov r2, r0 - 800c19a: 693b ldr r3, [r7, #16] - 800c19c: 1ad3 subs r3, r2, r3 - 800c19e: f241 3288 movw r2, #5000 @ 0x1388 - 800c1a2: 4293 cmp r3, r2 - 800c1a4: d902 bls.n 800c1ac + 800c74c: f7fa f90e bl 800696c + 800c750: 4602 mov r2, r0 + 800c752: 693b ldr r3, [r7, #16] + 800c754: 1ad3 subs r3, r2, r3 + 800c756: f241 3288 movw r2, #5000 @ 0x1388 + 800c75a: 4293 cmp r3, r2 + 800c75c: d902 bls.n 800c764 { ret = HAL_TIMEOUT; - 800c1a6: 2303 movs r3, #3 - 800c1a8: 77fb strb r3, [r7, #31] + 800c75e: 2303 movs r3, #3 + 800c760: 77fb strb r3, [r7, #31] break; - 800c1aa: e004 b.n 800c1b6 + 800c762: e004 b.n 800c76e while (LL_RCC_LSE_IsReady() != 1U) - 800c1ac: f7ff fdde bl 800bd6c - 800c1b0: 4603 mov r3, r0 - 800c1b2: 2b01 cmp r3, #1 - 800c1b4: d1ee bne.n 800c194 + 800c764: f7ff fdde bl 800c324 + 800c768: 4603 mov r3, r0 + 800c76a: 2b01 cmp r3, #1 + 800c76c: d1ee bne.n 800c74c } } } /* set overall return value */ status = ret; - 800c1b6: 7ffb ldrb r3, [r7, #31] - 800c1b8: 77bb strb r3, [r7, #30] - 800c1ba: e001 b.n 800c1c0 + 800c76e: 7ffb ldrb r3, [r7, #31] + 800c770: 77bb strb r3, [r7, #30] + 800c772: e001 b.n 800c778 } else { /* set overall return value */ status = ret; - 800c1bc: 7ffb ldrb r3, [r7, #31] - 800c1be: 77bb strb r3, [r7, #30] + 800c774: 7ffb ldrb r3, [r7, #31] + 800c776: 77bb strb r3, [r7, #30] } } /*-------------------------- USART1 clock source configuration -------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) - 800c1c0: 687b ldr r3, [r7, #4] - 800c1c2: 681b ldr r3, [r3, #0] - 800c1c4: f003 0301 and.w r3, r3, #1 - 800c1c8: 2b00 cmp r3, #0 - 800c1ca: d004 beq.n 800c1d6 + 800c778: 687b ldr r3, [r7, #4] + 800c77a: 681b ldr r3, [r3, #0] + 800c77c: f003 0301 and.w r3, r3, #1 + 800c780: 2b00 cmp r3, #0 + 800c782: d004 beq.n 800c78e { /* Check the parameters */ assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection)); /* Configure the USART1 clock source */ __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection); - 800c1cc: 687b ldr r3, [r7, #4] - 800c1ce: 699b ldr r3, [r3, #24] - 800c1d0: 4618 mov r0, r3 - 800c1d2: f7ff fe2a bl 800be2a + 800c784: 687b ldr r3, [r7, #4] + 800c786: 699b ldr r3, [r3, #24] + 800c788: 4618 mov r0, r3 + 800c78a: f7ff fe2a bl 800c3e2 } #if defined(LPUART1) /*-------------------------- LPUART1 clock source configuration ------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPUART1) == RCC_PERIPHCLK_LPUART1) - 800c1d6: 687b ldr r3, [r7, #4] - 800c1d8: 681b ldr r3, [r3, #0] - 800c1da: f003 0302 and.w r3, r3, #2 - 800c1de: 2b00 cmp r3, #0 - 800c1e0: d004 beq.n 800c1ec + 800c78e: 687b ldr r3, [r7, #4] + 800c790: 681b ldr r3, [r3, #0] + 800c792: f003 0302 and.w r3, r3, #2 + 800c796: 2b00 cmp r3, #0 + 800c798: d004 beq.n 800c7a4 { /* Check the parameters */ assert_param(IS_RCC_LPUART1CLKSOURCE(PeriphClkInit->Lpuart1ClockSelection)); /* Configure the LPUAR1 clock source */ __HAL_RCC_LPUART1_CONFIG(PeriphClkInit->Lpuart1ClockSelection); - 800c1e2: 687b ldr r3, [r7, #4] - 800c1e4: 69db ldr r3, [r3, #28] - 800c1e6: 4618 mov r0, r3 - 800c1e8: f7ff fe35 bl 800be56 + 800c79a: 687b ldr r3, [r7, #4] + 800c79c: 69db ldr r3, [r3, #28] + 800c79e: 4618 mov r0, r3 + 800c7a0: f7ff fe35 bl 800c40e } #endif /* LPUART1 */ /*-------------------------- LPTIM1 clock source configuration -------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == (RCC_PERIPHCLK_LPTIM1)) - 800c1ec: 687b ldr r3, [r7, #4] - 800c1ee: 681b ldr r3, [r3, #0] - 800c1f0: f003 0310 and.w r3, r3, #16 - 800c1f4: 2b00 cmp r3, #0 - 800c1f6: d004 beq.n 800c202 + 800c7a4: 687b ldr r3, [r7, #4] + 800c7a6: 681b ldr r3, [r3, #0] + 800c7a8: f003 0310 and.w r3, r3, #16 + 800c7ac: 2b00 cmp r3, #0 + 800c7ae: d004 beq.n 800c7ba { assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection)); __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection); - 800c1f8: 687b ldr r3, [r7, #4] - 800c1fa: 6a9b ldr r3, [r3, #40] @ 0x28 - 800c1fc: 4618 mov r0, r3 - 800c1fe: f7ff fe5d bl 800bebc + 800c7b0: 687b ldr r3, [r7, #4] + 800c7b2: 6a9b ldr r3, [r3, #40] @ 0x28 + 800c7b4: 4618 mov r0, r3 + 800c7b6: f7ff fe5d bl 800c474 } /*-------------------------- LPTIM2 clock source configuration -------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM2) == (RCC_PERIPHCLK_LPTIM2)) - 800c202: 687b ldr r3, [r7, #4] - 800c204: 681b ldr r3, [r3, #0] - 800c206: f003 0320 and.w r3, r3, #32 - 800c20a: 2b00 cmp r3, #0 - 800c20c: d004 beq.n 800c218 + 800c7ba: 687b ldr r3, [r7, #4] + 800c7bc: 681b ldr r3, [r3, #0] + 800c7be: f003 0320 and.w r3, r3, #32 + 800c7c2: 2b00 cmp r3, #0 + 800c7c4: d004 beq.n 800c7d0 { assert_param(IS_RCC_LPTIM2CLK(PeriphClkInit->Lptim2ClockSelection)); __HAL_RCC_LPTIM2_CONFIG(PeriphClkInit->Lptim2ClockSelection); - 800c20e: 687b ldr r3, [r7, #4] - 800c210: 6adb ldr r3, [r3, #44] @ 0x2c - 800c212: 4618 mov r0, r3 - 800c214: f7ff fe52 bl 800bebc + 800c7c6: 687b ldr r3, [r7, #4] + 800c7c8: 6adb ldr r3, [r3, #44] @ 0x2c + 800c7ca: 4618 mov r0, r3 + 800c7cc: f7ff fe52 bl 800c474 } /*-------------------------- I2C1 clock source configuration ---------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1) - 800c218: 687b ldr r3, [r7, #4] - 800c21a: 681b ldr r3, [r3, #0] - 800c21c: f003 0304 and.w r3, r3, #4 - 800c220: 2b00 cmp r3, #0 - 800c222: d004 beq.n 800c22e + 800c7d0: 687b ldr r3, [r7, #4] + 800c7d2: 681b ldr r3, [r3, #0] + 800c7d4: f003 0304 and.w r3, r3, #4 + 800c7d8: 2b00 cmp r3, #0 + 800c7da: d004 beq.n 800c7e6 { /* Check the parameters */ assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection)); /* Configure the I2C1 clock source */ __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection); - 800c224: 687b ldr r3, [r7, #4] - 800c226: 6a1b ldr r3, [r3, #32] - 800c228: 4618 mov r0, r3 - 800c22a: f7ff fe2a bl 800be82 + 800c7dc: 687b ldr r3, [r7, #4] + 800c7de: 6a1b ldr r3, [r3, #32] + 800c7e0: 4618 mov r0, r3 + 800c7e2: f7ff fe2a bl 800c43a } #if defined(I2C3) /*-------------------------- I2C3 clock source configuration ---------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3) - 800c22e: 687b ldr r3, [r7, #4] - 800c230: 681b ldr r3, [r3, #0] - 800c232: f003 0308 and.w r3, r3, #8 - 800c236: 2b00 cmp r3, #0 - 800c238: d004 beq.n 800c244 + 800c7e6: 687b ldr r3, [r7, #4] + 800c7e8: 681b ldr r3, [r3, #0] + 800c7ea: f003 0308 and.w r3, r3, #8 + 800c7ee: 2b00 cmp r3, #0 + 800c7f0: d004 beq.n 800c7fc { /* Check the parameters */ assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection)); /* Configure the I2C3 clock source */ __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection); - 800c23a: 687b ldr r3, [r7, #4] - 800c23c: 6a5b ldr r3, [r3, #36] @ 0x24 - 800c23e: 4618 mov r0, r3 - 800c240: f7ff fe1f bl 800be82 + 800c7f2: 687b ldr r3, [r7, #4] + 800c7f4: 6a5b ldr r3, [r3, #36] @ 0x24 + 800c7f6: 4618 mov r0, r3 + 800c7f8: f7ff fe1f bl 800c43a } #endif /* I2C3 */ #if defined(USB) /*-------------------------- USB clock source configuration ----------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USB) == (RCC_PERIPHCLK_USB)) - 800c244: 687b ldr r3, [r7, #4] - 800c246: 681b ldr r3, [r3, #0] - 800c248: f403 7380 and.w r3, r3, #256 @ 0x100 - 800c24c: 2b00 cmp r3, #0 - 800c24e: d022 beq.n 800c296 + 800c7fc: 687b ldr r3, [r7, #4] + 800c7fe: 681b ldr r3, [r3, #0] + 800c800: f403 7380 and.w r3, r3, #256 @ 0x100 + 800c804: 2b00 cmp r3, #0 + 800c806: d022 beq.n 800c84e { assert_param(IS_RCC_USBCLKSOURCE(PeriphClkInit->UsbClockSelection)); __HAL_RCC_USB_CONFIG(PeriphClkInit->UsbClockSelection); - 800c250: 687b ldr r3, [r7, #4] - 800c252: 6b5b ldr r3, [r3, #52] @ 0x34 - 800c254: 4618 mov r0, r3 - 800c256: f7ff fe8d bl 800bf74 + 800c808: 687b ldr r3, [r7, #4] + 800c80a: 6b5b ldr r3, [r3, #52] @ 0x34 + 800c80c: 4618 mov r0, r3 + 800c80e: f7ff fe8d bl 800c52c if (PeriphClkInit->UsbClockSelection == RCC_USBCLKSOURCE_PLL) - 800c25a: 687b ldr r3, [r7, #4] - 800c25c: 6b5b ldr r3, [r3, #52] @ 0x34 - 800c25e: f1b3 6f00 cmp.w r3, #134217728 @ 0x8000000 - 800c262: d107 bne.n 800c274 + 800c812: 687b ldr r3, [r7, #4] + 800c814: 6b5b ldr r3, [r3, #52] @ 0x34 + 800c816: f1b3 6f00 cmp.w r3, #134217728 @ 0x8000000 + 800c81a: d107 bne.n 800c82c { /* Enable PLLQ output */ __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL_USBCLK); - 800c264: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c268: 68db ldr r3, [r3, #12] - 800c26a: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c26e: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 - 800c272: 60d3 str r3, [r2, #12] + 800c81c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c820: 68db ldr r3, [r3, #12] + 800c822: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c826: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 + 800c82a: 60d3 str r3, [r2, #12] } #if defined(SAI1) if (PeriphClkInit->UsbClockSelection == RCC_USBCLKSOURCE_PLLSAI1) - 800c274: 687b ldr r3, [r7, #4] - 800c276: 6b5b ldr r3, [r3, #52] @ 0x34 - 800c278: f1b3 6f80 cmp.w r3, #67108864 @ 0x4000000 - 800c27c: d10b bne.n 800c296 + 800c82c: 687b ldr r3, [r7, #4] + 800c82e: 6b5b ldr r3, [r3, #52] @ 0x34 + 800c830: f1b3 6f80 cmp.w r3, #67108864 @ 0x4000000 + 800c834: d10b bne.n 800c84e { /* PLLSAI1 parameters N & Q configuration and clock output (PLLSAI1ClockOut) */ ret = RCCEx_PLLSAI1_ConfigNQ(&(PeriphClkInit->PLLSAI1)); - 800c27e: 687b ldr r3, [r7, #4] - 800c280: 3304 adds r3, #4 - 800c282: 4618 mov r0, r3 - 800c284: f000 f8e3 bl 800c44e - 800c288: 4603 mov r3, r0 - 800c28a: 77fb strb r3, [r7, #31] + 800c836: 687b ldr r3, [r7, #4] + 800c838: 3304 adds r3, #4 + 800c83a: 4618 mov r0, r3 + 800c83c: f000 f8e3 bl 800ca06 + 800c840: 4603 mov r3, r0 + 800c842: 77fb strb r3, [r7, #31] if (ret != HAL_OK) - 800c28c: 7ffb ldrb r3, [r7, #31] - 800c28e: 2b00 cmp r3, #0 - 800c290: d001 beq.n 800c296 + 800c844: 7ffb ldrb r3, [r7, #31] + 800c846: 2b00 cmp r3, #0 + 800c848: d001 beq.n 800c84e { /* set overall return value */ status = ret; - 800c292: 7ffb ldrb r3, [r7, #31] - 800c294: 77bb strb r3, [r7, #30] + 800c84a: 7ffb ldrb r3, [r7, #31] + 800c84c: 77bb strb r3, [r7, #30] #endif /* SAI1 */ } #endif /* USB */ /*-------------------------- RNG clock source configuration ----------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RNG) == (RCC_PERIPHCLK_RNG)) - 800c296: 687b ldr r3, [r7, #4] - 800c298: 681b ldr r3, [r3, #0] - 800c29a: f403 7300 and.w r3, r3, #512 @ 0x200 - 800c29e: 2b00 cmp r3, #0 - 800c2a0: d02b beq.n 800c2fa + 800c84e: 687b ldr r3, [r7, #4] + 800c850: 681b ldr r3, [r3, #0] + 800c852: f403 7300 and.w r3, r3, #512 @ 0x200 + 800c856: 2b00 cmp r3, #0 + 800c858: d02b beq.n 800c8b2 { /* Check the parameters */ assert_param(IS_RCC_RNGCLKSOURCE(PeriphClkInit->RngClockSelection)); /* Configure the RNG clock source */ __HAL_RCC_RNG_CONFIG(PeriphClkInit->RngClockSelection); - 800c2a2: 687b ldr r3, [r7, #4] - 800c2a4: 6b9b ldr r3, [r3, #56] @ 0x38 - 800c2a6: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 - 800c2aa: d008 beq.n 800c2be - 800c2ac: 687b ldr r3, [r7, #4] - 800c2ae: 6b9b ldr r3, [r3, #56] @ 0x38 - 800c2b0: f1b3 4f00 cmp.w r3, #2147483648 @ 0x80000000 - 800c2b4: d003 beq.n 800c2be - 800c2b6: 687b ldr r3, [r7, #4] - 800c2b8: 6b9b ldr r3, [r3, #56] @ 0x38 - 800c2ba: 2b00 cmp r3, #0 - 800c2bc: d105 bne.n 800c2ca - 800c2be: 687b ldr r3, [r7, #4] - 800c2c0: 6b9b ldr r3, [r3, #56] @ 0x38 - 800c2c2: 4618 mov r0, r3 - 800c2c4: f7ff fe2a bl 800bf1c - 800c2c8: e00a b.n 800c2e0 - 800c2ca: 687b ldr r3, [r7, #4] - 800c2cc: 6b9b ldr r3, [r3, #56] @ 0x38 - 800c2ce: f023 5380 bic.w r3, r3, #268435456 @ 0x10000000 - 800c2d2: 60fb str r3, [r7, #12] - 800c2d4: 2000 movs r0, #0 - 800c2d6: f7ff fe21 bl 800bf1c - 800c2da: 68f8 ldr r0, [r7, #12] - 800c2dc: f7ff fe34 bl 800bf48 + 800c85a: 687b ldr r3, [r7, #4] + 800c85c: 6b9b ldr r3, [r3, #56] @ 0x38 + 800c85e: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 + 800c862: d008 beq.n 800c876 + 800c864: 687b ldr r3, [r7, #4] + 800c866: 6b9b ldr r3, [r3, #56] @ 0x38 + 800c868: f1b3 4f00 cmp.w r3, #2147483648 @ 0x80000000 + 800c86c: d003 beq.n 800c876 + 800c86e: 687b ldr r3, [r7, #4] + 800c870: 6b9b ldr r3, [r3, #56] @ 0x38 + 800c872: 2b00 cmp r3, #0 + 800c874: d105 bne.n 800c882 + 800c876: 687b ldr r3, [r7, #4] + 800c878: 6b9b ldr r3, [r3, #56] @ 0x38 + 800c87a: 4618 mov r0, r3 + 800c87c: f7ff fe2a bl 800c4d4 + 800c880: e00a b.n 800c898 + 800c882: 687b ldr r3, [r7, #4] + 800c884: 6b9b ldr r3, [r3, #56] @ 0x38 + 800c886: f023 5380 bic.w r3, r3, #268435456 @ 0x10000000 + 800c88a: 60fb str r3, [r7, #12] + 800c88c: 2000 movs r0, #0 + 800c88e: f7ff fe21 bl 800c4d4 + 800c892: 68f8 ldr r0, [r7, #12] + 800c894: f7ff fe34 bl 800c500 if (PeriphClkInit->RngClockSelection == RCC_RNGCLKSOURCE_PLL) - 800c2e0: 687b ldr r3, [r7, #4] - 800c2e2: 6b9b ldr r3, [r3, #56] @ 0x38 - 800c2e4: f1b3 5fc0 cmp.w r3, #402653184 @ 0x18000000 - 800c2e8: d107 bne.n 800c2fa + 800c898: 687b ldr r3, [r7, #4] + 800c89a: 6b9b ldr r3, [r3, #56] @ 0x38 + 800c89c: f1b3 5fc0 cmp.w r3, #402653184 @ 0x18000000 + 800c8a0: d107 bne.n 800c8b2 { /* Enable PLLQ output */ __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL_RNGCLK); - 800c2ea: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c2ee: 68db ldr r3, [r3, #12] - 800c2f0: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c2f4: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 - 800c2f8: 60d3 str r3, [r2, #12] + 800c8a2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c8a6: 68db ldr r3, [r3, #12] + 800c8a8: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c8ac: f043 7380 orr.w r3, r3, #16777216 @ 0x1000000 + 800c8b0: 60d3 str r3, [r2, #12] } } /*-------------------------- ADC clock source configuration ----------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_ADC) == RCC_PERIPHCLK_ADC) - 800c2fa: 687b ldr r3, [r7, #4] - 800c2fc: 681b ldr r3, [r3, #0] - 800c2fe: f403 6380 and.w r3, r3, #1024 @ 0x400 - 800c302: 2b00 cmp r3, #0 - 800c304: d022 beq.n 800c34c + 800c8b2: 687b ldr r3, [r7, #4] + 800c8b4: 681b ldr r3, [r3, #0] + 800c8b6: f403 6380 and.w r3, r3, #1024 @ 0x400 + 800c8ba: 2b00 cmp r3, #0 + 800c8bc: d022 beq.n 800c904 { /* Check the parameters */ assert_param(IS_RCC_ADCCLKSOURCE(PeriphClkInit->AdcClockSelection)); /* Configure the ADC interface clock source */ __HAL_RCC_ADC_CONFIG(PeriphClkInit->AdcClockSelection); - 800c306: 687b ldr r3, [r7, #4] - 800c308: 6bdb ldr r3, [r3, #60] @ 0x3c - 800c30a: 4618 mov r0, r3 - 800c30c: f7ff fe3d bl 800bf8a + 800c8be: 687b ldr r3, [r7, #4] + 800c8c0: 6bdb ldr r3, [r3, #60] @ 0x3c + 800c8c2: 4618 mov r0, r3 + 800c8c4: f7ff fe3d bl 800c542 if (PeriphClkInit->AdcClockSelection == RCC_ADCCLKSOURCE_PLL) - 800c310: 687b ldr r3, [r7, #4] - 800c312: 6bdb ldr r3, [r3, #60] @ 0x3c - 800c314: f1b3 5f00 cmp.w r3, #536870912 @ 0x20000000 - 800c318: d107 bne.n 800c32a + 800c8c8: 687b ldr r3, [r7, #4] + 800c8ca: 6bdb ldr r3, [r3, #60] @ 0x3c + 800c8cc: f1b3 5f00 cmp.w r3, #536870912 @ 0x20000000 + 800c8d0: d107 bne.n 800c8e2 { /* Enable RCC_PLL_RNGCLK output */ __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL_ADCCLK); - 800c31a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c31e: 68db ldr r3, [r3, #12] - 800c320: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 - 800c324: f443 3380 orr.w r3, r3, #65536 @ 0x10000 - 800c328: 60d3 str r3, [r2, #12] + 800c8d2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c8d6: 68db ldr r3, [r3, #12] + 800c8d8: f04f 42b0 mov.w r2, #1476395008 @ 0x58000000 + 800c8dc: f443 3380 orr.w r3, r3, #65536 @ 0x10000 + 800c8e0: 60d3 str r3, [r2, #12] } #if defined(SAI1) if (PeriphClkInit->AdcClockSelection == RCC_ADCCLKSOURCE_PLLSAI1) - 800c32a: 687b ldr r3, [r7, #4] - 800c32c: 6bdb ldr r3, [r3, #60] @ 0x3c - 800c32e: f1b3 5f80 cmp.w r3, #268435456 @ 0x10000000 - 800c332: d10b bne.n 800c34c + 800c8e2: 687b ldr r3, [r7, #4] + 800c8e4: 6bdb ldr r3, [r3, #60] @ 0x3c + 800c8e6: f1b3 5f80 cmp.w r3, #268435456 @ 0x10000000 + 800c8ea: d10b bne.n 800c904 { /* PLLSAI1 parameters N & R configuration and clock output (PLLSAI1ClockOut) */ ret = RCCEx_PLLSAI1_ConfigNR(&(PeriphClkInit->PLLSAI1)); - 800c334: 687b ldr r3, [r7, #4] - 800c336: 3304 adds r3, #4 - 800c338: 4618 mov r0, r3 - 800c33a: f000 f8e3 bl 800c504 - 800c33e: 4603 mov r3, r0 - 800c340: 77fb strb r3, [r7, #31] + 800c8ec: 687b ldr r3, [r7, #4] + 800c8ee: 3304 adds r3, #4 + 800c8f0: 4618 mov r0, r3 + 800c8f2: f000 f8e3 bl 800cabc + 800c8f6: 4603 mov r3, r0 + 800c8f8: 77fb strb r3, [r7, #31] if (ret != HAL_OK) - 800c342: 7ffb ldrb r3, [r7, #31] - 800c344: 2b00 cmp r3, #0 - 800c346: d001 beq.n 800c34c + 800c8fa: 7ffb ldrb r3, [r7, #31] + 800c8fc: 2b00 cmp r3, #0 + 800c8fe: d001 beq.n 800c904 { /* set overall return value */ status = ret; - 800c348: 7ffb ldrb r3, [r7, #31] - 800c34a: 77bb strb r3, [r7, #30] + 800c900: 7ffb ldrb r3, [r7, #31] + 800c902: 77bb strb r3, [r7, #30] } #endif /* SAI1 */ } /*-------------------------- RFWKP clock source configuration ----------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RFWAKEUP) == RCC_PERIPHCLK_RFWAKEUP) - 800c34c: 687b ldr r3, [r7, #4] - 800c34e: 681b ldr r3, [r3, #0] - 800c350: f403 5380 and.w r3, r3, #4096 @ 0x1000 - 800c354: 2b00 cmp r3, #0 - 800c356: d004 beq.n 800c362 + 800c904: 687b ldr r3, [r7, #4] + 800c906: 681b ldr r3, [r3, #0] + 800c908: f403 5380 and.w r3, r3, #4096 @ 0x1000 + 800c90c: 2b00 cmp r3, #0 + 800c90e: d004 beq.n 800c91a { /* Check the parameters */ assert_param(IS_RCC_RFWKPCLKSOURCE(PeriphClkInit->RFWakeUpClockSelection)); /* Configure the RFWKP interface clock source */ __HAL_RCC_RFWAKEUP_CONFIG(PeriphClkInit->RFWakeUpClockSelection); - 800c358: 687b ldr r3, [r7, #4] - 800c35a: 6c5b ldr r3, [r3, #68] @ 0x44 - 800c35c: 4618 mov r0, r3 - 800c35e: f7ff fd26 bl 800bdae + 800c910: 687b ldr r3, [r7, #4] + 800c912: 6c5b ldr r3, [r3, #68] @ 0x44 + 800c914: 4618 mov r0, r3 + 800c916: f7ff fd26 bl 800c366 } #if defined(RCC_SMPS_SUPPORT) /*-------------------------- SMPS clock source configuration ----------------------*/ if (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SMPS) == RCC_PERIPHCLK_SMPS) - 800c362: 687b ldr r3, [r7, #4] - 800c364: 681b ldr r3, [r3, #0] - 800c366: f403 5300 and.w r3, r3, #8192 @ 0x2000 - 800c36a: 2b00 cmp r3, #0 - 800c36c: d009 beq.n 800c382 + 800c91a: 687b ldr r3, [r7, #4] + 800c91c: 681b ldr r3, [r3, #0] + 800c91e: f403 5300 and.w r3, r3, #8192 @ 0x2000 + 800c922: 2b00 cmp r3, #0 + 800c924: d009 beq.n 800c93a /* Check the parameters */ assert_param(IS_RCC_SMPSCLKDIV(PeriphClkInit->SmpsDivSelection)); assert_param(IS_RCC_SMPSCLKSOURCE(PeriphClkInit->SmpsClockSelection)); /* Configure the SMPS interface clock division factor */ __HAL_RCC_SMPS_DIV_CONFIG(PeriphClkInit->SmpsDivSelection); - 800c36e: 687b ldr r3, [r7, #4] - 800c370: 6cdb ldr r3, [r3, #76] @ 0x4c - 800c372: 4618 mov r0, r3 - 800c374: f7ff fd45 bl 800be02 + 800c926: 687b ldr r3, [r7, #4] + 800c928: 6cdb ldr r3, [r3, #76] @ 0x4c + 800c92a: 4618 mov r0, r3 + 800c92c: f7ff fd45 bl 800c3ba /* Configure the SMPS interface clock source */ __HAL_RCC_SMPS_CONFIG(PeriphClkInit->SmpsClockSelection); - 800c378: 687b ldr r3, [r7, #4] - 800c37a: 6c9b ldr r3, [r3, #72] @ 0x48 - 800c37c: 4618 mov r0, r3 - 800c37e: f7ff fd2c bl 800bdda + 800c930: 687b ldr r3, [r7, #4] + 800c932: 6c9b ldr r3, [r3, #72] @ 0x48 + 800c934: 4618 mov r0, r3 + 800c936: f7ff fd2c bl 800c392 } #endif /* RCC_SMPS_SUPPORT */ return status; - 800c382: 7fbb ldrb r3, [r7, #30] + 800c93a: 7fbb ldrb r3, [r7, #30] } - 800c384: 4618 mov r0, r3 - 800c386: 3720 adds r7, #32 - 800c388: 46bd mov sp, r7 - 800c38a: bd80 pop {r7, pc} + 800c93c: 4618 mov r0, r3 + 800c93e: 3720 adds r7, #32 + 800c940: 46bd mov sp, r7 + 800c942: bd80 pop {r7, pc} -0800c38c : +0800c944 : * @note Prior to enable the PLL-mode of the MSI for automatic hardware * calibration LSE oscillator is to be enabled with @ref HAL_RCC_OscConfig(). * @retval None */ void HAL_RCCEx_EnableMSIPLLMode(void) { - 800c38c: b580 push {r7, lr} - 800c38e: af00 add r7, sp, #0 + 800c944: b580 push {r7, lr} + 800c946: af00 add r7, sp, #0 LL_RCC_MSI_EnablePLLMode() ; - 800c390: f7ff fcfe bl 800bd90 + 800c948: f7ff fcfe bl 800c348 } - 800c394: bf00 nop - 800c396: bd80 pop {r7, pc} + 800c94c: bf00 nop + 800c94e: bd80 pop {r7, pc} -0800c398 : +0800c950 : * @note PLLSAI1 is temporary disable to apply new parameters * * @retval HAL status */ static HAL_StatusTypeDef RCCEx_PLLSAI1_ConfigNP(RCC_PLLSAI1InitTypeDef *PLLSAI1) { - 800c398: b580 push {r7, lr} - 800c39a: b084 sub sp, #16 - 800c39c: af00 add r7, sp, #0 - 800c39e: 6078 str r0, [r7, #4] + 800c950: b580 push {r7, lr} + 800c952: b084 sub sp, #16 + 800c954: af00 add r7, sp, #0 + 800c956: 6078 str r0, [r7, #4] uint32_t tickstart; HAL_StatusTypeDef status = HAL_OK; - 800c3a0: 2300 movs r3, #0 - 800c3a2: 73fb strb r3, [r7, #15] + 800c958: 2300 movs r3, #0 + 800c95a: 73fb strb r3, [r7, #15] assert_param(IS_RCC_PLLN_VALUE(PLLSAI1->PLLN)); assert_param(IS_RCC_PLLP_VALUE(PLLSAI1->PLLP)); assert_param(IS_RCC_PLLSAI1CLOCKOUT_VALUE(PLLSAI1->PLLSAI1ClockOut)); /* Disable the PLLSAI1 */ __HAL_RCC_PLLSAI1_DISABLE(); - 800c3a4: f7ff fe5b bl 800c05e + 800c95c: f7ff fe5b bl 800c616 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800c3a8: f7fa f862 bl 8006470 - 800c3ac: 60b8 str r0, [r7, #8] + 800c960: f7fa f804 bl 800696c + 800c964: 60b8 str r0, [r7, #8] /* Wait till PLLSAI1 is ready to be updated */ while (LL_RCC_PLLSAI1_IsReady() != 0U) - 800c3ae: e009 b.n 800c3c4 + 800c966: e009 b.n 800c97c { if ((HAL_GetTick() - tickstart) > PLLSAI1_TIMEOUT_VALUE) - 800c3b0: f7fa f85e bl 8006470 - 800c3b4: 4602 mov r2, r0 - 800c3b6: 68bb ldr r3, [r7, #8] - 800c3b8: 1ad3 subs r3, r2, r3 - 800c3ba: 2b02 cmp r3, #2 - 800c3bc: d902 bls.n 800c3c4 + 800c968: f7fa f800 bl 800696c + 800c96c: 4602 mov r2, r0 + 800c96e: 68bb ldr r3, [r7, #8] + 800c970: 1ad3 subs r3, r2, r3 + 800c972: 2b02 cmp r3, #2 + 800c974: d902 bls.n 800c97c { status = HAL_TIMEOUT; - 800c3be: 2303 movs r3, #3 - 800c3c0: 73fb strb r3, [r7, #15] + 800c976: 2303 movs r3, #3 + 800c978: 73fb strb r3, [r7, #15] break; - 800c3c2: e004 b.n 800c3ce + 800c97a: e004 b.n 800c986 while (LL_RCC_PLLSAI1_IsReady() != 0U) - 800c3c4: f7ff fe5a bl 800c07c - 800c3c8: 4603 mov r3, r0 - 800c3ca: 2b00 cmp r3, #0 - 800c3cc: d1f0 bne.n 800c3b0 + 800c97c: f7ff fe5a bl 800c634 + 800c980: 4603 mov r3, r0 + 800c982: 2b00 cmp r3, #0 + 800c984: d1f0 bne.n 800c968 } } if (status == HAL_OK) - 800c3ce: 7bfb ldrb r3, [r7, #15] - 800c3d0: 2b00 cmp r3, #0 - 800c3d2: d137 bne.n 800c444 + 800c986: 7bfb ldrb r3, [r7, #15] + 800c988: 2b00 cmp r3, #0 + 800c98a: d137 bne.n 800c9fc { /* Configure the PLLSAI1 Multiplication factor N */ __HAL_RCC_PLLSAI1_MULN_CONFIG(PLLSAI1->PLLN); - 800c3d4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c3d8: 691b ldr r3, [r3, #16] - 800c3da: f423 42fe bic.w r2, r3, #32512 @ 0x7f00 - 800c3de: 687b ldr r3, [r7, #4] - 800c3e0: 681b ldr r3, [r3, #0] - 800c3e2: 021b lsls r3, r3, #8 - 800c3e4: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c3e8: 4313 orrs r3, r2 - 800c3ea: 610b str r3, [r1, #16] + 800c98c: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c990: 691b ldr r3, [r3, #16] + 800c992: f423 42fe bic.w r2, r3, #32512 @ 0x7f00 + 800c996: 687b ldr r3, [r7, #4] + 800c998: 681b ldr r3, [r3, #0] + 800c99a: 021b lsls r3, r3, #8 + 800c99c: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c9a0: 4313 orrs r3, r2 + 800c9a2: 610b str r3, [r1, #16] /* Configure the PLLSAI1 Division factor P */ __HAL_RCC_PLLSAI1_DIVP_CONFIG(PLLSAI1->PLLP); - 800c3ec: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c3f0: 691b ldr r3, [r3, #16] - 800c3f2: f423 1278 bic.w r2, r3, #4063232 @ 0x3e0000 - 800c3f6: 687b ldr r3, [r7, #4] - 800c3f8: 685b ldr r3, [r3, #4] - 800c3fa: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c3fe: 4313 orrs r3, r2 - 800c400: 610b str r3, [r1, #16] + 800c9a4: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c9a8: 691b ldr r3, [r3, #16] + 800c9aa: f423 1278 bic.w r2, r3, #4063232 @ 0x3e0000 + 800c9ae: 687b ldr r3, [r7, #4] + 800c9b0: 685b ldr r3, [r3, #4] + 800c9b2: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c9b6: 4313 orrs r3, r2 + 800c9b8: 610b str r3, [r1, #16] /* Enable the PLLSAI1 again by setting PLLSAI1ON to 1*/ __HAL_RCC_PLLSAI1_ENABLE(); - 800c402: f7ff fe1d bl 800c040 + 800c9ba: f7ff fe1d bl 800c5f8 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800c406: f7fa f833 bl 8006470 - 800c40a: 60b8 str r0, [r7, #8] + 800c9be: f7f9 ffd5 bl 800696c + 800c9c2: 60b8 str r0, [r7, #8] /* Wait till PLLSAI1 is ready */ while (LL_RCC_PLLSAI1_IsReady() != 1U) - 800c40c: e009 b.n 800c422 + 800c9c4: e009 b.n 800c9da { if ((HAL_GetTick() - tickstart) > PLLSAI1_TIMEOUT_VALUE) - 800c40e: f7fa f82f bl 8006470 - 800c412: 4602 mov r2, r0 - 800c414: 68bb ldr r3, [r7, #8] - 800c416: 1ad3 subs r3, r2, r3 - 800c418: 2b02 cmp r3, #2 - 800c41a: d902 bls.n 800c422 + 800c9c6: f7f9 ffd1 bl 800696c + 800c9ca: 4602 mov r2, r0 + 800c9cc: 68bb ldr r3, [r7, #8] + 800c9ce: 1ad3 subs r3, r2, r3 + 800c9d0: 2b02 cmp r3, #2 + 800c9d2: d902 bls.n 800c9da { status = HAL_TIMEOUT; - 800c41c: 2303 movs r3, #3 - 800c41e: 73fb strb r3, [r7, #15] + 800c9d4: 2303 movs r3, #3 + 800c9d6: 73fb strb r3, [r7, #15] break; - 800c420: e004 b.n 800c42c + 800c9d8: e004 b.n 800c9e4 while (LL_RCC_PLLSAI1_IsReady() != 1U) - 800c422: f7ff fe2b bl 800c07c - 800c426: 4603 mov r3, r0 - 800c428: 2b01 cmp r3, #1 - 800c42a: d1f0 bne.n 800c40e + 800c9da: f7ff fe2b bl 800c634 + 800c9de: 4603 mov r3, r0 + 800c9e0: 2b01 cmp r3, #1 + 800c9e2: d1f0 bne.n 800c9c6 } } if (status == HAL_OK) - 800c42c: 7bfb ldrb r3, [r7, #15] - 800c42e: 2b00 cmp r3, #0 - 800c430: d108 bne.n 800c444 + 800c9e4: 7bfb ldrb r3, [r7, #15] + 800c9e6: 2b00 cmp r3, #0 + 800c9e8: d108 bne.n 800c9fc { /* Configure the PLLSAI1 Clock output(s) */ __HAL_RCC_PLLSAI1CLKOUT_ENABLE(PLLSAI1->PLLSAI1ClockOut); - 800c432: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c436: 691a ldr r2, [r3, #16] - 800c438: 687b ldr r3, [r7, #4] - 800c43a: 691b ldr r3, [r3, #16] - 800c43c: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c440: 4313 orrs r3, r2 - 800c442: 610b str r3, [r1, #16] + 800c9ea: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800c9ee: 691a ldr r2, [r3, #16] + 800c9f0: 687b ldr r3, [r7, #4] + 800c9f2: 691b ldr r3, [r3, #16] + 800c9f4: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800c9f8: 4313 orrs r3, r2 + 800c9fa: 610b str r3, [r1, #16] } } return status; - 800c444: 7bfb ldrb r3, [r7, #15] + 800c9fc: 7bfb ldrb r3, [r7, #15] } - 800c446: 4618 mov r0, r3 - 800c448: 3710 adds r7, #16 - 800c44a: 46bd mov sp, r7 - 800c44c: bd80 pop {r7, pc} + 800c9fe: 4618 mov r0, r3 + 800ca00: 3710 adds r7, #16 + 800ca02: 46bd mov sp, r7 + 800ca04: bd80 pop {r7, pc} -0800c44e : +0800ca06 : * @note PLLSAI1 is temporary disable to apply new parameters * * @retval HAL status */ static HAL_StatusTypeDef RCCEx_PLLSAI1_ConfigNQ(RCC_PLLSAI1InitTypeDef *PLLSAI1) { - 800c44e: b580 push {r7, lr} - 800c450: b084 sub sp, #16 - 800c452: af00 add r7, sp, #0 - 800c454: 6078 str r0, [r7, #4] + 800ca06: b580 push {r7, lr} + 800ca08: b084 sub sp, #16 + 800ca0a: af00 add r7, sp, #0 + 800ca0c: 6078 str r0, [r7, #4] uint32_t tickstart; HAL_StatusTypeDef status = HAL_OK; - 800c456: 2300 movs r3, #0 - 800c458: 73fb strb r3, [r7, #15] + 800ca0e: 2300 movs r3, #0 + 800ca10: 73fb strb r3, [r7, #15] assert_param(IS_RCC_PLLN_VALUE(PLLSAI1->PLLN)); assert_param(IS_RCC_PLLQ_VALUE(PLLSAI1->PLLQ)); assert_param(IS_RCC_PLLSAI1CLOCKOUT_VALUE(PLLSAI1->PLLSAI1ClockOut)); /* Disable the PLLSAI1 */ __HAL_RCC_PLLSAI1_DISABLE(); - 800c45a: f7ff fe00 bl 800c05e + 800ca12: f7ff fe00 bl 800c616 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800c45e: f7fa f807 bl 8006470 - 800c462: 60b8 str r0, [r7, #8] + 800ca16: f7f9 ffa9 bl 800696c + 800ca1a: 60b8 str r0, [r7, #8] /* Wait till PLLSAI1 is ready to be updated */ while (LL_RCC_PLLSAI1_IsReady() != 0U) - 800c464: e009 b.n 800c47a + 800ca1c: e009 b.n 800ca32 { if ((HAL_GetTick() - tickstart) > PLLSAI1_TIMEOUT_VALUE) - 800c466: f7fa f803 bl 8006470 - 800c46a: 4602 mov r2, r0 - 800c46c: 68bb ldr r3, [r7, #8] - 800c46e: 1ad3 subs r3, r2, r3 - 800c470: 2b02 cmp r3, #2 - 800c472: d902 bls.n 800c47a + 800ca1e: f7f9 ffa5 bl 800696c + 800ca22: 4602 mov r2, r0 + 800ca24: 68bb ldr r3, [r7, #8] + 800ca26: 1ad3 subs r3, r2, r3 + 800ca28: 2b02 cmp r3, #2 + 800ca2a: d902 bls.n 800ca32 { status = HAL_TIMEOUT; - 800c474: 2303 movs r3, #3 - 800c476: 73fb strb r3, [r7, #15] + 800ca2c: 2303 movs r3, #3 + 800ca2e: 73fb strb r3, [r7, #15] break; - 800c478: e004 b.n 800c484 + 800ca30: e004 b.n 800ca3c while (LL_RCC_PLLSAI1_IsReady() != 0U) - 800c47a: f7ff fdff bl 800c07c - 800c47e: 4603 mov r3, r0 - 800c480: 2b00 cmp r3, #0 - 800c482: d1f0 bne.n 800c466 + 800ca32: f7ff fdff bl 800c634 + 800ca36: 4603 mov r3, r0 + 800ca38: 2b00 cmp r3, #0 + 800ca3a: d1f0 bne.n 800ca1e } } if (status == HAL_OK) - 800c484: 7bfb ldrb r3, [r7, #15] - 800c486: 2b00 cmp r3, #0 - 800c488: d137 bne.n 800c4fa + 800ca3c: 7bfb ldrb r3, [r7, #15] + 800ca3e: 2b00 cmp r3, #0 + 800ca40: d137 bne.n 800cab2 { /* Configure the PLLSAI1 Multiplication factor N */ __HAL_RCC_PLLSAI1_MULN_CONFIG(PLLSAI1->PLLN); - 800c48a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c48e: 691b ldr r3, [r3, #16] - 800c490: f423 42fe bic.w r2, r3, #32512 @ 0x7f00 - 800c494: 687b ldr r3, [r7, #4] - 800c496: 681b ldr r3, [r3, #0] - 800c498: 021b lsls r3, r3, #8 - 800c49a: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c49e: 4313 orrs r3, r2 - 800c4a0: 610b str r3, [r1, #16] + 800ca42: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800ca46: 691b ldr r3, [r3, #16] + 800ca48: f423 42fe bic.w r2, r3, #32512 @ 0x7f00 + 800ca4c: 687b ldr r3, [r7, #4] + 800ca4e: 681b ldr r3, [r3, #0] + 800ca50: 021b lsls r3, r3, #8 + 800ca52: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800ca56: 4313 orrs r3, r2 + 800ca58: 610b str r3, [r1, #16] /* Configure the PLLSAI1 Division factor Q */ __HAL_RCC_PLLSAI1_DIVQ_CONFIG(PLLSAI1->PLLQ); - 800c4a2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c4a6: 691b ldr r3, [r3, #16] - 800c4a8: f023 6260 bic.w r2, r3, #234881024 @ 0xe000000 - 800c4ac: 687b ldr r3, [r7, #4] - 800c4ae: 689b ldr r3, [r3, #8] - 800c4b0: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c4b4: 4313 orrs r3, r2 - 800c4b6: 610b str r3, [r1, #16] + 800ca5a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800ca5e: 691b ldr r3, [r3, #16] + 800ca60: f023 6260 bic.w r2, r3, #234881024 @ 0xe000000 + 800ca64: 687b ldr r3, [r7, #4] + 800ca66: 689b ldr r3, [r3, #8] + 800ca68: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800ca6c: 4313 orrs r3, r2 + 800ca6e: 610b str r3, [r1, #16] /* Enable the PLLSAI1 again by setting PLLSAI1ON to 1*/ __HAL_RCC_PLLSAI1_ENABLE(); - 800c4b8: f7ff fdc2 bl 800c040 + 800ca70: f7ff fdc2 bl 800c5f8 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800c4bc: f7f9 ffd8 bl 8006470 - 800c4c0: 60b8 str r0, [r7, #8] + 800ca74: f7f9 ff7a bl 800696c + 800ca78: 60b8 str r0, [r7, #8] /* Wait till PLLSAI1 is ready */ while (LL_RCC_PLLSAI1_IsReady() != 1U) - 800c4c2: e009 b.n 800c4d8 + 800ca7a: e009 b.n 800ca90 { if ((HAL_GetTick() - tickstart) > PLLSAI1_TIMEOUT_VALUE) - 800c4c4: f7f9 ffd4 bl 8006470 - 800c4c8: 4602 mov r2, r0 - 800c4ca: 68bb ldr r3, [r7, #8] - 800c4cc: 1ad3 subs r3, r2, r3 - 800c4ce: 2b02 cmp r3, #2 - 800c4d0: d902 bls.n 800c4d8 + 800ca7c: f7f9 ff76 bl 800696c + 800ca80: 4602 mov r2, r0 + 800ca82: 68bb ldr r3, [r7, #8] + 800ca84: 1ad3 subs r3, r2, r3 + 800ca86: 2b02 cmp r3, #2 + 800ca88: d902 bls.n 800ca90 { status = HAL_TIMEOUT; - 800c4d2: 2303 movs r3, #3 - 800c4d4: 73fb strb r3, [r7, #15] + 800ca8a: 2303 movs r3, #3 + 800ca8c: 73fb strb r3, [r7, #15] break; - 800c4d6: e004 b.n 800c4e2 + 800ca8e: e004 b.n 800ca9a while (LL_RCC_PLLSAI1_IsReady() != 1U) - 800c4d8: f7ff fdd0 bl 800c07c - 800c4dc: 4603 mov r3, r0 - 800c4de: 2b01 cmp r3, #1 - 800c4e0: d1f0 bne.n 800c4c4 + 800ca90: f7ff fdd0 bl 800c634 + 800ca94: 4603 mov r3, r0 + 800ca96: 2b01 cmp r3, #1 + 800ca98: d1f0 bne.n 800ca7c } } if (status == HAL_OK) - 800c4e2: 7bfb ldrb r3, [r7, #15] - 800c4e4: 2b00 cmp r3, #0 - 800c4e6: d108 bne.n 800c4fa + 800ca9a: 7bfb ldrb r3, [r7, #15] + 800ca9c: 2b00 cmp r3, #0 + 800ca9e: d108 bne.n 800cab2 { /* Configure the PLLSAI1 Clock output(s) */ __HAL_RCC_PLLSAI1CLKOUT_ENABLE(PLLSAI1->PLLSAI1ClockOut); - 800c4e8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c4ec: 691a ldr r2, [r3, #16] - 800c4ee: 687b ldr r3, [r7, #4] - 800c4f0: 691b ldr r3, [r3, #16] - 800c4f2: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c4f6: 4313 orrs r3, r2 - 800c4f8: 610b str r3, [r1, #16] + 800caa0: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800caa4: 691a ldr r2, [r3, #16] + 800caa6: 687b ldr r3, [r7, #4] + 800caa8: 691b ldr r3, [r3, #16] + 800caaa: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800caae: 4313 orrs r3, r2 + 800cab0: 610b str r3, [r1, #16] } } return status; - 800c4fa: 7bfb ldrb r3, [r7, #15] + 800cab2: 7bfb ldrb r3, [r7, #15] } - 800c4fc: 4618 mov r0, r3 - 800c4fe: 3710 adds r7, #16 - 800c500: 46bd mov sp, r7 - 800c502: bd80 pop {r7, pc} + 800cab4: 4618 mov r0, r3 + 800cab6: 3710 adds r7, #16 + 800cab8: 46bd mov sp, r7 + 800caba: bd80 pop {r7, pc} -0800c504 : +0800cabc : * @note PLLSAI1 is temporary disable to apply new parameters * * @retval HAL status */ static HAL_StatusTypeDef RCCEx_PLLSAI1_ConfigNR(RCC_PLLSAI1InitTypeDef *PLLSAI1) { - 800c504: b580 push {r7, lr} - 800c506: b084 sub sp, #16 - 800c508: af00 add r7, sp, #0 - 800c50a: 6078 str r0, [r7, #4] + 800cabc: b580 push {r7, lr} + 800cabe: b084 sub sp, #16 + 800cac0: af00 add r7, sp, #0 + 800cac2: 6078 str r0, [r7, #4] uint32_t tickstart; HAL_StatusTypeDef status = HAL_OK; - 800c50c: 2300 movs r3, #0 - 800c50e: 73fb strb r3, [r7, #15] + 800cac4: 2300 movs r3, #0 + 800cac6: 73fb strb r3, [r7, #15] assert_param(IS_RCC_PLLN_VALUE(PLLSAI1->PLLN)); assert_param(IS_RCC_PLLR_VALUE(PLLSAI1->PLLR)); assert_param(IS_RCC_PLLSAI1CLOCKOUT_VALUE(PLLSAI1->PLLSAI1ClockOut)); /* Disable the PLLSAI1 */ __HAL_RCC_PLLSAI1_DISABLE(); - 800c510: f7ff fda5 bl 800c05e + 800cac8: f7ff fda5 bl 800c616 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800c514: f7f9 ffac bl 8006470 - 800c518: 60b8 str r0, [r7, #8] + 800cacc: f7f9 ff4e bl 800696c + 800cad0: 60b8 str r0, [r7, #8] /* Wait till PLLSAI1 is ready to be updated */ while (LL_RCC_PLLSAI1_IsReady() != 0U) - 800c51a: e009 b.n 800c530 + 800cad2: e009 b.n 800cae8 { if ((HAL_GetTick() - tickstart) > PLLSAI1_TIMEOUT_VALUE) - 800c51c: f7f9 ffa8 bl 8006470 - 800c520: 4602 mov r2, r0 - 800c522: 68bb ldr r3, [r7, #8] - 800c524: 1ad3 subs r3, r2, r3 - 800c526: 2b02 cmp r3, #2 - 800c528: d902 bls.n 800c530 + 800cad4: f7f9 ff4a bl 800696c + 800cad8: 4602 mov r2, r0 + 800cada: 68bb ldr r3, [r7, #8] + 800cadc: 1ad3 subs r3, r2, r3 + 800cade: 2b02 cmp r3, #2 + 800cae0: d902 bls.n 800cae8 { status = HAL_TIMEOUT; - 800c52a: 2303 movs r3, #3 - 800c52c: 73fb strb r3, [r7, #15] + 800cae2: 2303 movs r3, #3 + 800cae4: 73fb strb r3, [r7, #15] break; - 800c52e: e004 b.n 800c53a + 800cae6: e004 b.n 800caf2 while (LL_RCC_PLLSAI1_IsReady() != 0U) - 800c530: f7ff fda4 bl 800c07c - 800c534: 4603 mov r3, r0 - 800c536: 2b00 cmp r3, #0 - 800c538: d1f0 bne.n 800c51c + 800cae8: f7ff fda4 bl 800c634 + 800caec: 4603 mov r3, r0 + 800caee: 2b00 cmp r3, #0 + 800caf0: d1f0 bne.n 800cad4 } } if (status == HAL_OK) - 800c53a: 7bfb ldrb r3, [r7, #15] - 800c53c: 2b00 cmp r3, #0 - 800c53e: d137 bne.n 800c5b0 + 800caf2: 7bfb ldrb r3, [r7, #15] + 800caf4: 2b00 cmp r3, #0 + 800caf6: d137 bne.n 800cb68 { /* Configure the PLLSAI1 Multiplication factor N */ __HAL_RCC_PLLSAI1_MULN_CONFIG(PLLSAI1->PLLN); - 800c540: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c544: 691b ldr r3, [r3, #16] - 800c546: f423 42fe bic.w r2, r3, #32512 @ 0x7f00 - 800c54a: 687b ldr r3, [r7, #4] - 800c54c: 681b ldr r3, [r3, #0] - 800c54e: 021b lsls r3, r3, #8 - 800c550: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c554: 4313 orrs r3, r2 - 800c556: 610b str r3, [r1, #16] + 800caf8: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800cafc: 691b ldr r3, [r3, #16] + 800cafe: f423 42fe bic.w r2, r3, #32512 @ 0x7f00 + 800cb02: 687b ldr r3, [r7, #4] + 800cb04: 681b ldr r3, [r3, #0] + 800cb06: 021b lsls r3, r3, #8 + 800cb08: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800cb0c: 4313 orrs r3, r2 + 800cb0e: 610b str r3, [r1, #16] /* Configure the PLLSAI1 Division factor R */ __HAL_RCC_PLLSAI1_DIVR_CONFIG(PLLSAI1->PLLR); - 800c558: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c55c: 691b ldr r3, [r3, #16] - 800c55e: f023 4260 bic.w r2, r3, #3758096384 @ 0xe0000000 - 800c562: 687b ldr r3, [r7, #4] - 800c564: 68db ldr r3, [r3, #12] - 800c566: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c56a: 4313 orrs r3, r2 - 800c56c: 610b str r3, [r1, #16] + 800cb10: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800cb14: 691b ldr r3, [r3, #16] + 800cb16: f023 4260 bic.w r2, r3, #3758096384 @ 0xe0000000 + 800cb1a: 687b ldr r3, [r7, #4] + 800cb1c: 68db ldr r3, [r3, #12] + 800cb1e: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800cb22: 4313 orrs r3, r2 + 800cb24: 610b str r3, [r1, #16] /* Enable the PLLSAI1 again by setting PLLSAI1ON to 1*/ __HAL_RCC_PLLSAI1_ENABLE(); - 800c56e: f7ff fd67 bl 800c040 + 800cb26: f7ff fd67 bl 800c5f8 /* Get Start Tick*/ tickstart = HAL_GetTick(); - 800c572: f7f9 ff7d bl 8006470 - 800c576: 60b8 str r0, [r7, #8] + 800cb2a: f7f9 ff1f bl 800696c + 800cb2e: 60b8 str r0, [r7, #8] /* Wait till PLLSAI1 is ready */ while (LL_RCC_PLLSAI1_IsReady() != 1U) - 800c578: e009 b.n 800c58e + 800cb30: e009 b.n 800cb46 { if ((HAL_GetTick() - tickstart) > PLLSAI1_TIMEOUT_VALUE) - 800c57a: f7f9 ff79 bl 8006470 - 800c57e: 4602 mov r2, r0 - 800c580: 68bb ldr r3, [r7, #8] - 800c582: 1ad3 subs r3, r2, r3 - 800c584: 2b02 cmp r3, #2 - 800c586: d902 bls.n 800c58e + 800cb32: f7f9 ff1b bl 800696c + 800cb36: 4602 mov r2, r0 + 800cb38: 68bb ldr r3, [r7, #8] + 800cb3a: 1ad3 subs r3, r2, r3 + 800cb3c: 2b02 cmp r3, #2 + 800cb3e: d902 bls.n 800cb46 { status = HAL_TIMEOUT; - 800c588: 2303 movs r3, #3 - 800c58a: 73fb strb r3, [r7, #15] + 800cb40: 2303 movs r3, #3 + 800cb42: 73fb strb r3, [r7, #15] break; - 800c58c: e004 b.n 800c598 + 800cb44: e004 b.n 800cb50 while (LL_RCC_PLLSAI1_IsReady() != 1U) - 800c58e: f7ff fd75 bl 800c07c - 800c592: 4603 mov r3, r0 - 800c594: 2b01 cmp r3, #1 - 800c596: d1f0 bne.n 800c57a + 800cb46: f7ff fd75 bl 800c634 + 800cb4a: 4603 mov r3, r0 + 800cb4c: 2b01 cmp r3, #1 + 800cb4e: d1f0 bne.n 800cb32 } } if (status == HAL_OK) - 800c598: 7bfb ldrb r3, [r7, #15] - 800c59a: 2b00 cmp r3, #0 - 800c59c: d108 bne.n 800c5b0 + 800cb50: 7bfb ldrb r3, [r7, #15] + 800cb52: 2b00 cmp r3, #0 + 800cb54: d108 bne.n 800cb68 { /* Configure the PLLSAI1 Clock output(s) */ __HAL_RCC_PLLSAI1CLKOUT_ENABLE(PLLSAI1->PLLSAI1ClockOut); - 800c59e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 800c5a2: 691a ldr r2, [r3, #16] - 800c5a4: 687b ldr r3, [r7, #4] - 800c5a6: 691b ldr r3, [r3, #16] - 800c5a8: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 800c5ac: 4313 orrs r3, r2 - 800c5ae: 610b str r3, [r1, #16] + 800cb56: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 800cb5a: 691a ldr r2, [r3, #16] + 800cb5c: 687b ldr r3, [r7, #4] + 800cb5e: 691b ldr r3, [r3, #16] + 800cb60: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 800cb64: 4313 orrs r3, r2 + 800cb66: 610b str r3, [r1, #16] } } return status; - 800c5b0: 7bfb ldrb r3, [r7, #15] + 800cb68: 7bfb ldrb r3, [r7, #15] } - 800c5b2: 4618 mov r0, r3 - 800c5b4: 3710 adds r7, #16 - 800c5b6: 46bd mov sp, r7 - 800c5b8: bd80 pop {r7, pc} + 800cb6a: 4618 mov r0, r3 + 800cb6c: 3710 adds r7, #16 + 800cb6e: 46bd mov sp, r7 + 800cb70: bd80 pop {r7, pc} -0800c5ba : +0800cb72 : * @param hrtc pointer to a RTC_HandleTypeDef structure that contains * the configuration information for RTC. * @retval HAL status */ HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc) { - 800c5ba: b580 push {r7, lr} - 800c5bc: b084 sub sp, #16 - 800c5be: af00 add r7, sp, #0 - 800c5c0: 6078 str r0, [r7, #4] + 800cb72: b580 push {r7, lr} + 800cb74: b084 sub sp, #16 + 800cb76: af00 add r7, sp, #0 + 800cb78: 6078 str r0, [r7, #4] HAL_StatusTypeDef status; /* Check RTC handler validity */ if (hrtc == NULL) - 800c5c2: 687b ldr r3, [r7, #4] - 800c5c4: 2b00 cmp r3, #0 - 800c5c6: d101 bne.n 800c5cc + 800cb7a: 687b ldr r3, [r7, #4] + 800cb7c: 2b00 cmp r3, #0 + 800cb7e: d101 bne.n 800cb84 { return HAL_ERROR; - 800c5c8: 2301 movs r3, #1 - 800c5ca: e07a b.n 800c6c2 + 800cb80: 2301 movs r3, #1 + 800cb82: e07a b.n 800cc7a { hrtc->MspDeInitCallback = HAL_RTC_MspDeInit; } } #else /* USE_HAL_RTC_REGISTER_CALLBACKS */ if (hrtc->State == HAL_RTC_STATE_RESET) - 800c5cc: 687b ldr r3, [r7, #4] - 800c5ce: f893 3021 ldrb.w r3, [r3, #33] @ 0x21 - 800c5d2: b2db uxtb r3, r3 - 800c5d4: 2b00 cmp r3, #0 - 800c5d6: d106 bne.n 800c5e6 + 800cb84: 687b ldr r3, [r7, #4] + 800cb86: f893 3021 ldrb.w r3, [r3, #33] @ 0x21 + 800cb8a: b2db uxtb r3, r3 + 800cb8c: 2b00 cmp r3, #0 + 800cb8e: d106 bne.n 800cb9e { /* Allocate lock resource and initialize it */ hrtc->Lock = HAL_UNLOCKED; - 800c5d8: 687b ldr r3, [r7, #4] - 800c5da: 2200 movs r2, #0 - 800c5dc: f883 2020 strb.w r2, [r3, #32] + 800cb90: 687b ldr r3, [r7, #4] + 800cb92: 2200 movs r2, #0 + 800cb94: f883 2020 strb.w r2, [r3, #32] /* Initialize RTC MSP */ HAL_RTC_MspInit(hrtc); - 800c5e0: 6878 ldr r0, [r7, #4] - 800c5e2: f7f9 fb83 bl 8005cec + 800cb98: 6878 ldr r0, [r7, #4] + 800cb9a: f7f9 fb25 bl 80061e8 } #endif /* USE_HAL_RTC_REGISTER_CALLBACKS */ /* Set RTC state */ hrtc->State = HAL_RTC_STATE_BUSY; - 800c5e6: 687b ldr r3, [r7, #4] - 800c5e8: 2202 movs r2, #2 - 800c5ea: f883 2021 strb.w r2, [r3, #33] @ 0x21 + 800cb9e: 687b ldr r3, [r7, #4] + 800cba0: 2202 movs r2, #2 + 800cba2: f883 2021 strb.w r2, [r3, #33] @ 0x21 /* Check whether the calendar needs to be initialized */ if (__HAL_RTC_IS_CALENDAR_INITIALIZED(hrtc) == 0U) - 800c5ee: 687b ldr r3, [r7, #4] - 800c5f0: 681b ldr r3, [r3, #0] - 800c5f2: 68db ldr r3, [r3, #12] - 800c5f4: f003 0310 and.w r3, r3, #16 - 800c5f8: 2b10 cmp r3, #16 - 800c5fa: d058 beq.n 800c6ae + 800cba6: 687b ldr r3, [r7, #4] + 800cba8: 681b ldr r3, [r3, #0] + 800cbaa: 68db ldr r3, [r3, #12] + 800cbac: f003 0310 and.w r3, r3, #16 + 800cbb0: 2b10 cmp r3, #16 + 800cbb2: d058 beq.n 800cc66 { /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); - 800c5fc: 687b ldr r3, [r7, #4] - 800c5fe: 681b ldr r3, [r3, #0] - 800c600: 22ca movs r2, #202 @ 0xca - 800c602: 625a str r2, [r3, #36] @ 0x24 - 800c604: 687b ldr r3, [r7, #4] - 800c606: 681b ldr r3, [r3, #0] - 800c608: 2253 movs r2, #83 @ 0x53 - 800c60a: 625a str r2, [r3, #36] @ 0x24 + 800cbb4: 687b ldr r3, [r7, #4] + 800cbb6: 681b ldr r3, [r3, #0] + 800cbb8: 22ca movs r2, #202 @ 0xca + 800cbba: 625a str r2, [r3, #36] @ 0x24 + 800cbbc: 687b ldr r3, [r7, #4] + 800cbbe: 681b ldr r3, [r3, #0] + 800cbc0: 2253 movs r2, #83 @ 0x53 + 800cbc2: 625a str r2, [r3, #36] @ 0x24 /* Enter Initialization mode */ status = RTC_EnterInitMode(hrtc); - 800c60c: 6878 ldr r0, [r7, #4] - 800c60e: f000 f883 bl 800c718 - 800c612: 4603 mov r3, r0 - 800c614: 73fb strb r3, [r7, #15] + 800cbc4: 6878 ldr r0, [r7, #4] + 800cbc6: f000 f883 bl 800ccd0 + 800cbca: 4603 mov r3, r0 + 800cbcc: 73fb strb r3, [r7, #15] if (status == HAL_OK) - 800c616: 7bfb ldrb r3, [r7, #15] - 800c618: 2b00 cmp r3, #0 - 800c61a: d12c bne.n 800c676 + 800cbce: 7bfb ldrb r3, [r7, #15] + 800cbd0: 2b00 cmp r3, #0 + 800cbd2: d12c bne.n 800cc2e { /* Clear RTC_CR FMT, OSEL and POL Bits */ hrtc->Instance->CR &= ((uint32_t)~(RTC_CR_FMT | RTC_CR_OSEL | RTC_CR_POL)); - 800c61c: 687b ldr r3, [r7, #4] - 800c61e: 681b ldr r3, [r3, #0] - 800c620: 689b ldr r3, [r3, #8] - 800c622: 687a ldr r2, [r7, #4] - 800c624: 6812 ldr r2, [r2, #0] - 800c626: f423 03e0 bic.w r3, r3, #7340032 @ 0x700000 - 800c62a: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800c62e: 6093 str r3, [r2, #8] + 800cbd4: 687b ldr r3, [r7, #4] + 800cbd6: 681b ldr r3, [r3, #0] + 800cbd8: 689b ldr r3, [r3, #8] + 800cbda: 687a ldr r2, [r7, #4] + 800cbdc: 6812 ldr r2, [r2, #0] + 800cbde: f423 03e0 bic.w r3, r3, #7340032 @ 0x700000 + 800cbe2: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800cbe6: 6093 str r3, [r2, #8] /* Set RTC_CR register */ hrtc->Instance->CR |= (uint32_t)(hrtc->Init.HourFormat | hrtc->Init.OutPut | hrtc->Init.OutPutPolarity); - 800c630: 687b ldr r3, [r7, #4] - 800c632: 681b ldr r3, [r3, #0] - 800c634: 6899 ldr r1, [r3, #8] - 800c636: 687b ldr r3, [r7, #4] - 800c638: 685a ldr r2, [r3, #4] - 800c63a: 687b ldr r3, [r7, #4] - 800c63c: 691b ldr r3, [r3, #16] - 800c63e: 431a orrs r2, r3 - 800c640: 687b ldr r3, [r7, #4] - 800c642: 699b ldr r3, [r3, #24] - 800c644: 431a orrs r2, r3 - 800c646: 687b ldr r3, [r7, #4] - 800c648: 681b ldr r3, [r3, #0] - 800c64a: 430a orrs r2, r1 - 800c64c: 609a str r2, [r3, #8] + 800cbe8: 687b ldr r3, [r7, #4] + 800cbea: 681b ldr r3, [r3, #0] + 800cbec: 6899 ldr r1, [r3, #8] + 800cbee: 687b ldr r3, [r7, #4] + 800cbf0: 685a ldr r2, [r3, #4] + 800cbf2: 687b ldr r3, [r7, #4] + 800cbf4: 691b ldr r3, [r3, #16] + 800cbf6: 431a orrs r2, r3 + 800cbf8: 687b ldr r3, [r7, #4] + 800cbfa: 699b ldr r3, [r3, #24] + 800cbfc: 431a orrs r2, r3 + 800cbfe: 687b ldr r3, [r7, #4] + 800cc00: 681b ldr r3, [r3, #0] + 800cc02: 430a orrs r2, r1 + 800cc04: 609a str r2, [r3, #8] /* Configure the RTC PRER */ hrtc->Instance->PRER = (uint32_t)(hrtc->Init.SynchPrediv); - 800c64e: 687b ldr r3, [r7, #4] - 800c650: 681b ldr r3, [r3, #0] - 800c652: 687a ldr r2, [r7, #4] - 800c654: 68d2 ldr r2, [r2, #12] - 800c656: 611a str r2, [r3, #16] + 800cc06: 687b ldr r3, [r7, #4] + 800cc08: 681b ldr r3, [r3, #0] + 800cc0a: 687a ldr r2, [r7, #4] + 800cc0c: 68d2 ldr r2, [r2, #12] + 800cc0e: 611a str r2, [r3, #16] hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << RTC_PRER_PREDIV_A_Pos); - 800c658: 687b ldr r3, [r7, #4] - 800c65a: 681b ldr r3, [r3, #0] - 800c65c: 6919 ldr r1, [r3, #16] - 800c65e: 687b ldr r3, [r7, #4] - 800c660: 689b ldr r3, [r3, #8] - 800c662: 041a lsls r2, r3, #16 - 800c664: 687b ldr r3, [r7, #4] - 800c666: 681b ldr r3, [r3, #0] - 800c668: 430a orrs r2, r1 - 800c66a: 611a str r2, [r3, #16] + 800cc10: 687b ldr r3, [r7, #4] + 800cc12: 681b ldr r3, [r3, #0] + 800cc14: 6919 ldr r1, [r3, #16] + 800cc16: 687b ldr r3, [r7, #4] + 800cc18: 689b ldr r3, [r3, #8] + 800cc1a: 041a lsls r2, r3, #16 + 800cc1c: 687b ldr r3, [r7, #4] + 800cc1e: 681b ldr r3, [r3, #0] + 800cc20: 430a orrs r2, r1 + 800cc22: 611a str r2, [r3, #16] /* Exit Initialization mode */ status = RTC_ExitInitMode(hrtc); - 800c66c: 6878 ldr r0, [r7, #4] - 800c66e: f000 f88b bl 800c788 - 800c672: 4603 mov r3, r0 - 800c674: 73fb strb r3, [r7, #15] + 800cc24: 6878 ldr r0, [r7, #4] + 800cc26: f000 f88b bl 800cd40 + 800cc2a: 4603 mov r3, r0 + 800cc2c: 73fb strb r3, [r7, #15] } if (status == HAL_OK) - 800c676: 7bfb ldrb r3, [r7, #15] - 800c678: 2b00 cmp r3, #0 - 800c67a: d113 bne.n 800c6a4 + 800cc2e: 7bfb ldrb r3, [r7, #15] + 800cc30: 2b00 cmp r3, #0 + 800cc32: d113 bne.n 800cc5c { #if defined(RTC_OR_ALARMOUTTYPE) hrtc->Instance->OR &= (uint32_t)~(RTC_OUTPUT_TYPE_PUSHPULL | RTC_OUTPUT_REMAP_POS1); - 800c67c: 687b ldr r3, [r7, #4] - 800c67e: 681b ldr r3, [r3, #0] - 800c680: 6cda ldr r2, [r3, #76] @ 0x4c - 800c682: 687b ldr r3, [r7, #4] - 800c684: 681b ldr r3, [r3, #0] - 800c686: f022 0203 bic.w r2, r2, #3 - 800c68a: 64da str r2, [r3, #76] @ 0x4c + 800cc34: 687b ldr r3, [r7, #4] + 800cc36: 681b ldr r3, [r3, #0] + 800cc38: 6cda ldr r2, [r3, #76] @ 0x4c + 800cc3a: 687b ldr r3, [r7, #4] + 800cc3c: 681b ldr r3, [r3, #0] + 800cc3e: f022 0203 bic.w r2, r2, #3 + 800cc42: 64da str r2, [r3, #76] @ 0x4c hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutType | hrtc->Init.OutPutRemap); - 800c68c: 687b ldr r3, [r7, #4] - 800c68e: 681b ldr r3, [r3, #0] - 800c690: 6cd9 ldr r1, [r3, #76] @ 0x4c - 800c692: 687b ldr r3, [r7, #4] - 800c694: 69da ldr r2, [r3, #28] - 800c696: 687b ldr r3, [r7, #4] - 800c698: 695b ldr r3, [r3, #20] - 800c69a: 431a orrs r2, r3 - 800c69c: 687b ldr r3, [r7, #4] - 800c69e: 681b ldr r3, [r3, #0] - 800c6a0: 430a orrs r2, r1 - 800c6a2: 64da str r2, [r3, #76] @ 0x4c + 800cc44: 687b ldr r3, [r7, #4] + 800cc46: 681b ldr r3, [r3, #0] + 800cc48: 6cd9 ldr r1, [r3, #76] @ 0x4c + 800cc4a: 687b ldr r3, [r7, #4] + 800cc4c: 69da ldr r2, [r3, #28] + 800cc4e: 687b ldr r3, [r7, #4] + 800cc50: 695b ldr r3, [r3, #20] + 800cc52: 431a orrs r2, r3 + 800cc54: 687b ldr r3, [r7, #4] + 800cc56: 681b ldr r3, [r3, #0] + 800cc58: 430a orrs r2, r1 + 800cc5a: 64da str r2, [r3, #76] @ 0x4c hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutRemap); #endif /* RTC_OR_ALARMOUTTYPE */ } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); - 800c6a4: 687b ldr r3, [r7, #4] - 800c6a6: 681b ldr r3, [r3, #0] - 800c6a8: 22ff movs r2, #255 @ 0xff - 800c6aa: 625a str r2, [r3, #36] @ 0x24 - 800c6ac: e001 b.n 800c6b2 + 800cc5c: 687b ldr r3, [r7, #4] + 800cc5e: 681b ldr r3, [r3, #0] + 800cc60: 22ff movs r2, #255 @ 0xff + 800cc62: 625a str r2, [r3, #36] @ 0x24 + 800cc64: e001 b.n 800cc6a } else { /* The calendar is already initialized */ status = HAL_OK; - 800c6ae: 2300 movs r3, #0 - 800c6b0: 73fb strb r3, [r7, #15] + 800cc66: 2300 movs r3, #0 + 800cc68: 73fb strb r3, [r7, #15] } if (status == HAL_OK) - 800c6b2: 7bfb ldrb r3, [r7, #15] - 800c6b4: 2b00 cmp r3, #0 - 800c6b6: d103 bne.n 800c6c0 + 800cc6a: 7bfb ldrb r3, [r7, #15] + 800cc6c: 2b00 cmp r3, #0 + 800cc6e: d103 bne.n 800cc78 { hrtc->State = HAL_RTC_STATE_READY; - 800c6b8: 687b ldr r3, [r7, #4] - 800c6ba: 2201 movs r2, #1 - 800c6bc: f883 2021 strb.w r2, [r3, #33] @ 0x21 + 800cc70: 687b ldr r3, [r7, #4] + 800cc72: 2201 movs r2, #1 + 800cc74: f883 2021 strb.w r2, [r3, #33] @ 0x21 } return status; - 800c6c0: 7bfb ldrb r3, [r7, #15] + 800cc78: 7bfb ldrb r3, [r7, #15] } - 800c6c2: 4618 mov r0, r3 - 800c6c4: 3710 adds r7, #16 - 800c6c6: 46bd mov sp, r7 - 800c6c8: bd80 pop {r7, pc} + 800cc7a: 4618 mov r0, r3 + 800cc7c: 3710 adds r7, #16 + 800cc7e: 46bd mov sp, r7 + 800cc80: bd80 pop {r7, pc} ... -0800c6cc : +0800cc84 : * @param hrtc pointer to a RTC_HandleTypeDef structure that contains * the configuration information for RTC. * @retval HAL status */ HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef *hrtc) { - 800c6cc: b580 push {r7, lr} - 800c6ce: b084 sub sp, #16 - 800c6d0: af00 add r7, sp, #0 - 800c6d2: 6078 str r0, [r7, #4] + 800cc84: b580 push {r7, lr} + 800cc86: b084 sub sp, #16 + 800cc88: af00 add r7, sp, #0 + 800cc8a: 6078 str r0, [r7, #4] uint32_t tickstart = 0U; - 800c6d4: 2300 movs r3, #0 - 800c6d6: 60fb str r3, [r7, #12] + 800cc8c: 2300 movs r3, #0 + 800cc8e: 60fb str r3, [r7, #12] /* Clear RSF flag, keep reserved bits at reset values (setting other flags has no effect) */ hrtc->Instance->ISR = ((uint32_t)(RTC_RSF_MASK & RTC_ISR_RESERVED_MASK)); - 800c6d8: 687b ldr r3, [r7, #4] - 800c6da: 681b ldr r3, [r3, #0] - 800c6dc: 4a0d ldr r2, [pc, #52] @ (800c714 ) - 800c6de: 60da str r2, [r3, #12] + 800cc90: 687b ldr r3, [r7, #4] + 800cc92: 681b ldr r3, [r3, #0] + 800cc94: 4a0d ldr r2, [pc, #52] @ (800cccc ) + 800cc96: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); - 800c6e0: f7f9 fec6 bl 8006470 - 800c6e4: 60f8 str r0, [r7, #12] + 800cc98: f7f9 fe68 bl 800696c + 800cc9c: 60f8 str r0, [r7, #12] /* Wait the registers to be synchronised */ while ((hrtc->Instance->ISR & RTC_ISR_RSF) == 0U) - 800c6e6: e009 b.n 800c6fc + 800cc9e: e009 b.n 800ccb4 { if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE) - 800c6e8: f7f9 fec2 bl 8006470 - 800c6ec: 4602 mov r2, r0 - 800c6ee: 68fb ldr r3, [r7, #12] - 800c6f0: 1ad3 subs r3, r2, r3 - 800c6f2: f5b3 7f7a cmp.w r3, #1000 @ 0x3e8 - 800c6f6: d901 bls.n 800c6fc + 800cca0: f7f9 fe64 bl 800696c + 800cca4: 4602 mov r2, r0 + 800cca6: 68fb ldr r3, [r7, #12] + 800cca8: 1ad3 subs r3, r2, r3 + 800ccaa: f5b3 7f7a cmp.w r3, #1000 @ 0x3e8 + 800ccae: d901 bls.n 800ccb4 { return HAL_TIMEOUT; - 800c6f8: 2303 movs r3, #3 - 800c6fa: e007 b.n 800c70c + 800ccb0: 2303 movs r3, #3 + 800ccb2: e007 b.n 800ccc4 while ((hrtc->Instance->ISR & RTC_ISR_RSF) == 0U) - 800c6fc: 687b ldr r3, [r7, #4] - 800c6fe: 681b ldr r3, [r3, #0] - 800c700: 68db ldr r3, [r3, #12] - 800c702: f003 0320 and.w r3, r3, #32 - 800c706: 2b00 cmp r3, #0 - 800c708: d0ee beq.n 800c6e8 + 800ccb4: 687b ldr r3, [r7, #4] + 800ccb6: 681b ldr r3, [r3, #0] + 800ccb8: 68db ldr r3, [r3, #12] + 800ccba: f003 0320 and.w r3, r3, #32 + 800ccbe: 2b00 cmp r3, #0 + 800ccc0: d0ee beq.n 800cca0 } } return HAL_OK; - 800c70a: 2300 movs r3, #0 + 800ccc2: 2300 movs r3, #0 } - 800c70c: 4618 mov r0, r3 - 800c70e: 3710 adds r7, #16 - 800c710: 46bd mov sp, r7 - 800c712: bd80 pop {r7, pc} - 800c714: 0001ff5f .word 0x0001ff5f + 800ccc4: 4618 mov r0, r3 + 800ccc6: 3710 adds r7, #16 + 800ccc8: 46bd mov sp, r7 + 800ccca: bd80 pop {r7, pc} + 800cccc: 0001ff5f .word 0x0001ff5f -0800c718 : +0800ccd0 : * @param hrtc pointer to a RTC_HandleTypeDef structure that contains * the configuration information for RTC. * @retval HAL status */ HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef *hrtc) { - 800c718: b580 push {r7, lr} - 800c71a: b084 sub sp, #16 - 800c71c: af00 add r7, sp, #0 - 800c71e: 6078 str r0, [r7, #4] + 800ccd0: b580 push {r7, lr} + 800ccd2: b084 sub sp, #16 + 800ccd4: af00 add r7, sp, #0 + 800ccd6: 6078 str r0, [r7, #4] uint32_t tickstart = 0U; - 800c720: 2300 movs r3, #0 - 800c722: 60bb str r3, [r7, #8] + 800ccd8: 2300 movs r3, #0 + 800ccda: 60bb str r3, [r7, #8] HAL_StatusTypeDef status = HAL_OK; - 800c724: 2300 movs r3, #0 - 800c726: 73fb strb r3, [r7, #15] + 800ccdc: 2300 movs r3, #0 + 800ccde: 73fb strb r3, [r7, #15] /* Check that Initialization mode is not already set */ if (READ_BIT(hrtc->Instance->ISR, RTC_ISR_INITF) == 0U) - 800c728: 687b ldr r3, [r7, #4] - 800c72a: 681b ldr r3, [r3, #0] - 800c72c: 68db ldr r3, [r3, #12] - 800c72e: f003 0340 and.w r3, r3, #64 @ 0x40 - 800c732: 2b00 cmp r3, #0 - 800c734: d123 bne.n 800c77e + 800cce0: 687b ldr r3, [r7, #4] + 800cce2: 681b ldr r3, [r3, #0] + 800cce4: 68db ldr r3, [r3, #12] + 800cce6: f003 0340 and.w r3, r3, #64 @ 0x40 + 800ccea: 2b00 cmp r3, #0 + 800ccec: d123 bne.n 800cd36 { /* Set INIT bit to enter Initialization mode */ SET_BIT(hrtc->Instance->ISR, RTC_ISR_INIT); - 800c736: 687b ldr r3, [r7, #4] - 800c738: 681b ldr r3, [r3, #0] - 800c73a: 68da ldr r2, [r3, #12] - 800c73c: 687b ldr r3, [r7, #4] - 800c73e: 681b ldr r3, [r3, #0] - 800c740: f042 0280 orr.w r2, r2, #128 @ 0x80 - 800c744: 60da str r2, [r3, #12] + 800ccee: 687b ldr r3, [r7, #4] + 800ccf0: 681b ldr r3, [r3, #0] + 800ccf2: 68da ldr r2, [r3, #12] + 800ccf4: 687b ldr r3, [r7, #4] + 800ccf6: 681b ldr r3, [r3, #0] + 800ccf8: f042 0280 orr.w r2, r2, #128 @ 0x80 + 800ccfc: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); - 800c746: f7f9 fe93 bl 8006470 - 800c74a: 60b8 str r0, [r7, #8] + 800ccfe: f7f9 fe35 bl 800696c + 800cd02: 60b8 str r0, [r7, #8] /* Wait till RTC is in INIT state and if timeout is reached exit */ while ((READ_BIT(hrtc->Instance->ISR, RTC_ISR_INITF) == 0U) && (status != HAL_ERROR)) - 800c74c: e00d b.n 800c76a + 800cd04: e00d b.n 800cd22 { if ((HAL_GetTick() - tickstart) > RTC_TIMEOUT_VALUE) - 800c74e: f7f9 fe8f bl 8006470 - 800c752: 4602 mov r2, r0 - 800c754: 68bb ldr r3, [r7, #8] - 800c756: 1ad3 subs r3, r2, r3 - 800c758: f5b3 7f7a cmp.w r3, #1000 @ 0x3e8 - 800c75c: d905 bls.n 800c76a + 800cd06: f7f9 fe31 bl 800696c + 800cd0a: 4602 mov r2, r0 + 800cd0c: 68bb ldr r3, [r7, #8] + 800cd0e: 1ad3 subs r3, r2, r3 + 800cd10: f5b3 7f7a cmp.w r3, #1000 @ 0x3e8 + 800cd14: d905 bls.n 800cd22 { /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; - 800c75e: 687b ldr r3, [r7, #4] - 800c760: 2204 movs r2, #4 - 800c762: f883 2021 strb.w r2, [r3, #33] @ 0x21 + 800cd16: 687b ldr r3, [r7, #4] + 800cd18: 2204 movs r2, #4 + 800cd1a: f883 2021 strb.w r2, [r3, #33] @ 0x21 status = HAL_ERROR; - 800c766: 2301 movs r3, #1 - 800c768: 73fb strb r3, [r7, #15] + 800cd1e: 2301 movs r3, #1 + 800cd20: 73fb strb r3, [r7, #15] while ((READ_BIT(hrtc->Instance->ISR, RTC_ISR_INITF) == 0U) && (status != HAL_ERROR)) - 800c76a: 687b ldr r3, [r7, #4] - 800c76c: 681b ldr r3, [r3, #0] - 800c76e: 68db ldr r3, [r3, #12] - 800c770: f003 0340 and.w r3, r3, #64 @ 0x40 - 800c774: 2b00 cmp r3, #0 - 800c776: d102 bne.n 800c77e - 800c778: 7bfb ldrb r3, [r7, #15] - 800c77a: 2b01 cmp r3, #1 - 800c77c: d1e7 bne.n 800c74e + 800cd22: 687b ldr r3, [r7, #4] + 800cd24: 681b ldr r3, [r3, #0] + 800cd26: 68db ldr r3, [r3, #12] + 800cd28: f003 0340 and.w r3, r3, #64 @ 0x40 + 800cd2c: 2b00 cmp r3, #0 + 800cd2e: d102 bne.n 800cd36 + 800cd30: 7bfb ldrb r3, [r7, #15] + 800cd32: 2b01 cmp r3, #1 + 800cd34: d1e7 bne.n 800cd06 } } } return status; - 800c77e: 7bfb ldrb r3, [r7, #15] + 800cd36: 7bfb ldrb r3, [r7, #15] } - 800c780: 4618 mov r0, r3 - 800c782: 3710 adds r7, #16 - 800c784: 46bd mov sp, r7 - 800c786: bd80 pop {r7, pc} + 800cd38: 4618 mov r0, r3 + 800cd3a: 3710 adds r7, #16 + 800cd3c: 46bd mov sp, r7 + 800cd3e: bd80 pop {r7, pc} -0800c788 : +0800cd40 : * @param hrtc pointer to a RTC_HandleTypeDef structure that contains * the configuration information for RTC. * @retval HAL status */ HAL_StatusTypeDef RTC_ExitInitMode(RTC_HandleTypeDef *hrtc) { - 800c788: b580 push {r7, lr} - 800c78a: b084 sub sp, #16 - 800c78c: af00 add r7, sp, #0 - 800c78e: 6078 str r0, [r7, #4] + 800cd40: b580 push {r7, lr} + 800cd42: b084 sub sp, #16 + 800cd44: af00 add r7, sp, #0 + 800cd46: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; - 800c790: 2300 movs r3, #0 - 800c792: 73fb strb r3, [r7, #15] + 800cd48: 2300 movs r3, #0 + 800cd4a: 73fb strb r3, [r7, #15] /* Clear INIT bit to exit Initialization mode */ CLEAR_BIT(hrtc->Instance->ISR, RTC_ISR_INIT); - 800c794: 687b ldr r3, [r7, #4] - 800c796: 681b ldr r3, [r3, #0] - 800c798: 68da ldr r2, [r3, #12] - 800c79a: 687b ldr r3, [r7, #4] - 800c79c: 681b ldr r3, [r3, #0] - 800c79e: f022 0280 bic.w r2, r2, #128 @ 0x80 - 800c7a2: 60da str r2, [r3, #12] + 800cd4c: 687b ldr r3, [r7, #4] + 800cd4e: 681b ldr r3, [r3, #0] + 800cd50: 68da ldr r2, [r3, #12] + 800cd52: 687b ldr r3, [r7, #4] + 800cd54: 681b ldr r3, [r3, #0] + 800cd56: f022 0280 bic.w r2, r2, #128 @ 0x80 + 800cd5a: 60da str r2, [r3, #12] /* If CR_BYPSHAD bit = 0, wait for synchro */ if (READ_BIT(hrtc->Instance->CR, RTC_CR_BYPSHAD) == 0U) - 800c7a4: 687b ldr r3, [r7, #4] - 800c7a6: 681b ldr r3, [r3, #0] - 800c7a8: 689b ldr r3, [r3, #8] - 800c7aa: f003 0320 and.w r3, r3, #32 - 800c7ae: 2b00 cmp r3, #0 - 800c7b0: d10b bne.n 800c7ca + 800cd5c: 687b ldr r3, [r7, #4] + 800cd5e: 681b ldr r3, [r3, #0] + 800cd60: 689b ldr r3, [r3, #8] + 800cd62: f003 0320 and.w r3, r3, #32 + 800cd66: 2b00 cmp r3, #0 + 800cd68: d10b bne.n 800cd82 { if (HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) - 800c7b2: 6878 ldr r0, [r7, #4] - 800c7b4: f7ff ff8a bl 800c6cc - 800c7b8: 4603 mov r3, r0 - 800c7ba: 2b00 cmp r3, #0 - 800c7bc: d005 beq.n 800c7ca + 800cd6a: 6878 ldr r0, [r7, #4] + 800cd6c: f7ff ff8a bl 800cc84 + 800cd70: 4603 mov r3, r0 + 800cd72: 2b00 cmp r3, #0 + 800cd74: d005 beq.n 800cd82 { /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; - 800c7be: 687b ldr r3, [r7, #4] - 800c7c0: 2204 movs r2, #4 - 800c7c2: f883 2021 strb.w r2, [r3, #33] @ 0x21 + 800cd76: 687b ldr r3, [r7, #4] + 800cd78: 2204 movs r2, #4 + 800cd7a: f883 2021 strb.w r2, [r3, #33] @ 0x21 status = HAL_ERROR; - 800c7c6: 2301 movs r3, #1 - 800c7c8: 73fb strb r3, [r7, #15] + 800cd7e: 2301 movs r3, #1 + 800cd80: 73fb strb r3, [r7, #15] } } return status; - 800c7ca: 7bfb ldrb r3, [r7, #15] + 800cd82: 7bfb ldrb r3, [r7, #15] } - 800c7cc: 4618 mov r0, r3 - 800c7ce: 3710 adds r7, #16 - 800c7d0: 46bd mov sp, r7 - 800c7d2: bd80 pop {r7, pc} + 800cd84: 4618 mov r0, r3 + 800cd86: 3710 adds r7, #16 + 800cd88: 46bd mov sp, r7 + 800cd8a: bd80 pop {r7, pc} -0800c7d4 : +0800cd8c : * @param WakeUpCounter Wakeup counter * @param WakeUpClock Wakeup clock * @retval HAL status */ HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock) { - 800c7d4: b480 push {r7} - 800c7d6: b087 sub sp, #28 - 800c7d8: af00 add r7, sp, #0 - 800c7da: 60f8 str r0, [r7, #12] - 800c7dc: 60b9 str r1, [r7, #8] - 800c7de: 607a str r2, [r7, #4] + 800cd8c: b480 push {r7} + 800cd8e: b087 sub sp, #28 + 800cd90: af00 add r7, sp, #0 + 800cd92: 60f8 str r0, [r7, #12] + 800cd94: 60b9 str r1, [r7, #8] + 800cd96: 607a str r2, [r7, #4] __IO uint32_t count = RTC_TIMEOUT_VALUE * (SystemCoreClock / 32U / 1000U); - 800c7e0: 4b5f ldr r3, [pc, #380] @ (800c960 ) - 800c7e2: 681b ldr r3, [r3, #0] - 800c7e4: 4a5f ldr r2, [pc, #380] @ (800c964 ) - 800c7e6: fba2 2303 umull r2, r3, r2, r3 - 800c7ea: 0adb lsrs r3, r3, #11 - 800c7ec: f44f 727a mov.w r2, #1000 @ 0x3e8 - 800c7f0: fb02 f303 mul.w r3, r2, r3 - 800c7f4: 617b str r3, [r7, #20] + 800cd98: 4b5f ldr r3, [pc, #380] @ (800cf18 ) + 800cd9a: 681b ldr r3, [r3, #0] + 800cd9c: 4a5f ldr r2, [pc, #380] @ (800cf1c ) + 800cd9e: fba2 2303 umull r2, r3, r2, r3 + 800cda2: 0adb lsrs r3, r3, #11 + 800cda4: f44f 727a mov.w r2, #1000 @ 0x3e8 + 800cda8: fb02 f303 mul.w r3, r2, r3 + 800cdac: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock)); assert_param(IS_RTC_WAKEUP_COUNTER(WakeUpCounter)); /* Process Locked */ __HAL_LOCK(hrtc); - 800c7f6: 68fb ldr r3, [r7, #12] - 800c7f8: f893 3020 ldrb.w r3, [r3, #32] - 800c7fc: 2b01 cmp r3, #1 - 800c7fe: d101 bne.n 800c804 - 800c800: 2302 movs r3, #2 - 800c802: e0a7 b.n 800c954 - 800c804: 68fb ldr r3, [r7, #12] - 800c806: 2201 movs r2, #1 - 800c808: f883 2020 strb.w r2, [r3, #32] + 800cdae: 68fb ldr r3, [r7, #12] + 800cdb0: f893 3020 ldrb.w r3, [r3, #32] + 800cdb4: 2b01 cmp r3, #1 + 800cdb6: d101 bne.n 800cdbc + 800cdb8: 2302 movs r3, #2 + 800cdba: e0a7 b.n 800cf0c + 800cdbc: 68fb ldr r3, [r7, #12] + 800cdbe: 2201 movs r2, #1 + 800cdc0: f883 2020 strb.w r2, [r3, #32] hrtc->State = HAL_RTC_STATE_BUSY; - 800c80c: 68fb ldr r3, [r7, #12] - 800c80e: 2202 movs r2, #2 - 800c810: f883 2021 strb.w r2, [r3, #33] @ 0x21 + 800cdc4: 68fb ldr r3, [r7, #12] + 800cdc6: 2202 movs r2, #2 + 800cdc8: f883 2021 strb.w r2, [r3, #33] @ 0x21 /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); - 800c814: 68fb ldr r3, [r7, #12] - 800c816: 681b ldr r3, [r3, #0] - 800c818: 22ca movs r2, #202 @ 0xca - 800c81a: 625a str r2, [r3, #36] @ 0x24 - 800c81c: 68fb ldr r3, [r7, #12] - 800c81e: 681b ldr r3, [r3, #0] - 800c820: 2253 movs r2, #83 @ 0x53 - 800c822: 625a str r2, [r3, #36] @ 0x24 + 800cdcc: 68fb ldr r3, [r7, #12] + 800cdce: 681b ldr r3, [r3, #0] + 800cdd0: 22ca movs r2, #202 @ 0xca + 800cdd2: 625a str r2, [r3, #36] @ 0x24 + 800cdd4: 68fb ldr r3, [r7, #12] + 800cdd6: 681b ldr r3, [r3, #0] + 800cdd8: 2253 movs r2, #83 @ 0x53 + 800cdda: 625a str r2, [r3, #36] @ 0x24 /* Check RTC WUTWF flag is reset only when wakeup timer enabled */ if ((hrtc->Instance->CR & RTC_CR_WUTE) != 0U) - 800c824: 68fb ldr r3, [r7, #12] - 800c826: 681b ldr r3, [r3, #0] - 800c828: 689b ldr r3, [r3, #8] - 800c82a: f403 6380 and.w r3, r3, #1024 @ 0x400 - 800c82e: 2b00 cmp r3, #0 - 800c830: d01a beq.n 800c868 + 800cddc: 68fb ldr r3, [r7, #12] + 800cdde: 681b ldr r3, [r3, #0] + 800cde0: 689b ldr r3, [r3, #8] + 800cde2: f403 6380 and.w r3, r3, #1024 @ 0x400 + 800cde6: 2b00 cmp r3, #0 + 800cde8: d01a beq.n 800ce20 { /* Wait till RTC WUTWF flag is reset and if timeout is reached exit */ do { count = count - 1U; - 800c832: 697b ldr r3, [r7, #20] - 800c834: 3b01 subs r3, #1 - 800c836: 617b str r3, [r7, #20] + 800cdea: 697b ldr r3, [r7, #20] + 800cdec: 3b01 subs r3, #1 + 800cdee: 617b str r3, [r7, #20] if (count == 0U) - 800c838: 697b ldr r3, [r7, #20] - 800c83a: 2b00 cmp r3, #0 - 800c83c: d10d bne.n 800c85a + 800cdf0: 697b ldr r3, [r7, #20] + 800cdf2: 2b00 cmp r3, #0 + 800cdf4: d10d bne.n 800ce12 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); - 800c83e: 68fb ldr r3, [r7, #12] - 800c840: 681b ldr r3, [r3, #0] - 800c842: 22ff movs r2, #255 @ 0xff - 800c844: 625a str r2, [r3, #36] @ 0x24 + 800cdf6: 68fb ldr r3, [r7, #12] + 800cdf8: 681b ldr r3, [r3, #0] + 800cdfa: 22ff movs r2, #255 @ 0xff + 800cdfc: 625a str r2, [r3, #36] @ 0x24 hrtc->State = HAL_RTC_STATE_TIMEOUT; - 800c846: 68fb ldr r3, [r7, #12] - 800c848: 2203 movs r2, #3 - 800c84a: f883 2021 strb.w r2, [r3, #33] @ 0x21 + 800cdfe: 68fb ldr r3, [r7, #12] + 800ce00: 2203 movs r2, #3 + 800ce02: f883 2021 strb.w r2, [r3, #33] @ 0x21 /* Process Unlocked */ __HAL_UNLOCK(hrtc); - 800c84e: 68fb ldr r3, [r7, #12] - 800c850: 2200 movs r2, #0 - 800c852: f883 2020 strb.w r2, [r3, #32] + 800ce06: 68fb ldr r3, [r7, #12] + 800ce08: 2200 movs r2, #0 + 800ce0a: f883 2020 strb.w r2, [r3, #32] return HAL_TIMEOUT; - 800c856: 2303 movs r3, #3 - 800c858: e07c b.n 800c954 + 800ce0e: 2303 movs r3, #3 + 800ce10: e07c b.n 800cf0c } } while (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) != 0U); - 800c85a: 68fb ldr r3, [r7, #12] - 800c85c: 681b ldr r3, [r3, #0] - 800c85e: 68db ldr r3, [r3, #12] - 800c860: f003 0304 and.w r3, r3, #4 - 800c864: 2b00 cmp r3, #0 - 800c866: d1e4 bne.n 800c832 + 800ce12: 68fb ldr r3, [r7, #12] + 800ce14: 681b ldr r3, [r3, #0] + 800ce16: 68db ldr r3, [r3, #12] + 800ce18: f003 0304 and.w r3, r3, #4 + 800ce1c: 2b00 cmp r3, #0 + 800ce1e: d1e4 bne.n 800cdea } /* Disable the Wakeup timer */ __HAL_RTC_WAKEUPTIMER_DISABLE(hrtc); - 800c868: 68fb ldr r3, [r7, #12] - 800c86a: 681b ldr r3, [r3, #0] - 800c86c: 689a ldr r2, [r3, #8] - 800c86e: 68fb ldr r3, [r7, #12] - 800c870: 681b ldr r3, [r3, #0] - 800c872: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 800c876: 609a str r2, [r3, #8] + 800ce20: 68fb ldr r3, [r7, #12] + 800ce22: 681b ldr r3, [r3, #0] + 800ce24: 689a ldr r2, [r3, #8] + 800ce26: 68fb ldr r3, [r7, #12] + 800ce28: 681b ldr r3, [r3, #0] + 800ce2a: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 800ce2e: 609a str r2, [r3, #8] /* Clear the Wakeup flag */ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); - 800c878: 68fb ldr r3, [r7, #12] - 800c87a: 681b ldr r3, [r3, #0] - 800c87c: 68db ldr r3, [r3, #12] - 800c87e: b2da uxtb r2, r3 - 800c880: 68fb ldr r3, [r7, #12] - 800c882: 681b ldr r3, [r3, #0] - 800c884: f462 6290 orn r2, r2, #1152 @ 0x480 - 800c888: 60da str r2, [r3, #12] + 800ce30: 68fb ldr r3, [r7, #12] + 800ce32: 681b ldr r3, [r3, #0] + 800ce34: 68db ldr r3, [r3, #12] + 800ce36: b2da uxtb r2, r3 + 800ce38: 68fb ldr r3, [r7, #12] + 800ce3a: 681b ldr r3, [r3, #0] + 800ce3c: f462 6290 orn r2, r2, #1152 @ 0x480 + 800ce40: 60da str r2, [r3, #12] /* Reload the counter */ count = RTC_TIMEOUT_VALUE * (SystemCoreClock / 32U / 1000U); - 800c88a: 4b35 ldr r3, [pc, #212] @ (800c960 ) - 800c88c: 681b ldr r3, [r3, #0] - 800c88e: 4a35 ldr r2, [pc, #212] @ (800c964 ) - 800c890: fba2 2303 umull r2, r3, r2, r3 - 800c894: 0adb lsrs r3, r3, #11 - 800c896: f44f 727a mov.w r2, #1000 @ 0x3e8 - 800c89a: fb02 f303 mul.w r3, r2, r3 - 800c89e: 617b str r3, [r7, #20] + 800ce42: 4b35 ldr r3, [pc, #212] @ (800cf18 ) + 800ce44: 681b ldr r3, [r3, #0] + 800ce46: 4a35 ldr r2, [pc, #212] @ (800cf1c ) + 800ce48: fba2 2303 umull r2, r3, r2, r3 + 800ce4c: 0adb lsrs r3, r3, #11 + 800ce4e: f44f 727a mov.w r2, #1000 @ 0x3e8 + 800ce52: fb02 f303 mul.w r3, r2, r3 + 800ce56: 617b str r3, [r7, #20] /* Wait till RTC WUTWF flag is set and if timeout is reached exit */ do { count = count - 1U; - 800c8a0: 697b ldr r3, [r7, #20] - 800c8a2: 3b01 subs r3, #1 - 800c8a4: 617b str r3, [r7, #20] + 800ce58: 697b ldr r3, [r7, #20] + 800ce5a: 3b01 subs r3, #1 + 800ce5c: 617b str r3, [r7, #20] if (count == 0U) - 800c8a6: 697b ldr r3, [r7, #20] - 800c8a8: 2b00 cmp r3, #0 - 800c8aa: d10d bne.n 800c8c8 + 800ce5e: 697b ldr r3, [r7, #20] + 800ce60: 2b00 cmp r3, #0 + 800ce62: d10d bne.n 800ce80 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); - 800c8ac: 68fb ldr r3, [r7, #12] - 800c8ae: 681b ldr r3, [r3, #0] - 800c8b0: 22ff movs r2, #255 @ 0xff - 800c8b2: 625a str r2, [r3, #36] @ 0x24 + 800ce64: 68fb ldr r3, [r7, #12] + 800ce66: 681b ldr r3, [r3, #0] + 800ce68: 22ff movs r2, #255 @ 0xff + 800ce6a: 625a str r2, [r3, #36] @ 0x24 hrtc->State = HAL_RTC_STATE_TIMEOUT; - 800c8b4: 68fb ldr r3, [r7, #12] - 800c8b6: 2203 movs r2, #3 - 800c8b8: f883 2021 strb.w r2, [r3, #33] @ 0x21 + 800ce6c: 68fb ldr r3, [r7, #12] + 800ce6e: 2203 movs r2, #3 + 800ce70: f883 2021 strb.w r2, [r3, #33] @ 0x21 /* Process Unlocked */ __HAL_UNLOCK(hrtc); - 800c8bc: 68fb ldr r3, [r7, #12] - 800c8be: 2200 movs r2, #0 - 800c8c0: f883 2020 strb.w r2, [r3, #32] + 800ce74: 68fb ldr r3, [r7, #12] + 800ce76: 2200 movs r2, #0 + 800ce78: f883 2020 strb.w r2, [r3, #32] return HAL_TIMEOUT; - 800c8c4: 2303 movs r3, #3 - 800c8c6: e045 b.n 800c954 + 800ce7c: 2303 movs r3, #3 + 800ce7e: e045 b.n 800cf0c } } while (__HAL_RTC_WAKEUPTIMER_GET_FLAG(hrtc, RTC_FLAG_WUTWF) == 0U); - 800c8c8: 68fb ldr r3, [r7, #12] - 800c8ca: 681b ldr r3, [r3, #0] - 800c8cc: 68db ldr r3, [r3, #12] - 800c8ce: f003 0304 and.w r3, r3, #4 - 800c8d2: 2b00 cmp r3, #0 - 800c8d4: d0e4 beq.n 800c8a0 + 800ce80: 68fb ldr r3, [r7, #12] + 800ce82: 681b ldr r3, [r3, #0] + 800ce84: 68db ldr r3, [r3, #12] + 800ce86: f003 0304 and.w r3, r3, #4 + 800ce8a: 2b00 cmp r3, #0 + 800ce8c: d0e4 beq.n 800ce58 /* Clear the Wakeup Timer clock source bits in CR register */ hrtc->Instance->CR &= (uint32_t)~RTC_CR_WUCKSEL; - 800c8d6: 68fb ldr r3, [r7, #12] - 800c8d8: 681b ldr r3, [r3, #0] - 800c8da: 689a ldr r2, [r3, #8] - 800c8dc: 68fb ldr r3, [r7, #12] - 800c8de: 681b ldr r3, [r3, #0] - 800c8e0: f022 0207 bic.w r2, r2, #7 - 800c8e4: 609a str r2, [r3, #8] + 800ce8e: 68fb ldr r3, [r7, #12] + 800ce90: 681b ldr r3, [r3, #0] + 800ce92: 689a ldr r2, [r3, #8] + 800ce94: 68fb ldr r3, [r7, #12] + 800ce96: 681b ldr r3, [r3, #0] + 800ce98: f022 0207 bic.w r2, r2, #7 + 800ce9c: 609a str r2, [r3, #8] /* Configure the clock source */ hrtc->Instance->CR |= (uint32_t)WakeUpClock; - 800c8e6: 68fb ldr r3, [r7, #12] - 800c8e8: 681b ldr r3, [r3, #0] - 800c8ea: 6899 ldr r1, [r3, #8] - 800c8ec: 68fb ldr r3, [r7, #12] - 800c8ee: 681b ldr r3, [r3, #0] - 800c8f0: 687a ldr r2, [r7, #4] - 800c8f2: 430a orrs r2, r1 - 800c8f4: 609a str r2, [r3, #8] + 800ce9e: 68fb ldr r3, [r7, #12] + 800cea0: 681b ldr r3, [r3, #0] + 800cea2: 6899 ldr r1, [r3, #8] + 800cea4: 68fb ldr r3, [r7, #12] + 800cea6: 681b ldr r3, [r3, #0] + 800cea8: 687a ldr r2, [r7, #4] + 800ceaa: 430a orrs r2, r1 + 800ceac: 609a str r2, [r3, #8] /* Configure the Wakeup Timer counter */ hrtc->Instance->WUTR = (uint32_t)WakeUpCounter; - 800c8f6: 68fb ldr r3, [r7, #12] - 800c8f8: 681b ldr r3, [r3, #0] - 800c8fa: 68ba ldr r2, [r7, #8] - 800c8fc: 615a str r2, [r3, #20] + 800ceae: 68fb ldr r3, [r7, #12] + 800ceb0: 681b ldr r3, [r3, #0] + 800ceb2: 68ba ldr r2, [r7, #8] + 800ceb4: 615a str r2, [r3, #20] /* Enable and configure the EXTI line associated to the RTC Wakeup Timer interrupt */ __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT(); - 800c8fe: 4b1a ldr r3, [pc, #104] @ (800c968 ) - 800c900: f8d3 3080 ldr.w r3, [r3, #128] @ 0x80 - 800c904: 4a18 ldr r2, [pc, #96] @ (800c968 ) - 800c906: f443 2300 orr.w r3, r3, #524288 @ 0x80000 - 800c90a: f8c2 3080 str.w r3, [r2, #128] @ 0x80 + 800ceb6: 4b1a ldr r3, [pc, #104] @ (800cf20 ) + 800ceb8: f8d3 3080 ldr.w r3, [r3, #128] @ 0x80 + 800cebc: 4a18 ldr r2, [pc, #96] @ (800cf20 ) + 800cebe: f443 2300 orr.w r3, r3, #524288 @ 0x80000 + 800cec2: f8c2 3080 str.w r3, [r2, #128] @ 0x80 __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE(); - 800c90e: 4b16 ldr r3, [pc, #88] @ (800c968 ) - 800c910: 681b ldr r3, [r3, #0] - 800c912: 4a15 ldr r2, [pc, #84] @ (800c968 ) - 800c914: f443 2300 orr.w r3, r3, #524288 @ 0x80000 - 800c918: 6013 str r3, [r2, #0] + 800cec6: 4b16 ldr r3, [pc, #88] @ (800cf20 ) + 800cec8: 681b ldr r3, [r3, #0] + 800ceca: 4a15 ldr r2, [pc, #84] @ (800cf20 ) + 800cecc: f443 2300 orr.w r3, r3, #524288 @ 0x80000 + 800ced0: 6013 str r3, [r2, #0] /* Configure the interrupt in the RTC_CR register */ __HAL_RTC_WAKEUPTIMER_ENABLE_IT(hrtc, RTC_IT_WUT); - 800c91a: 68fb ldr r3, [r7, #12] - 800c91c: 681b ldr r3, [r3, #0] - 800c91e: 689a ldr r2, [r3, #8] - 800c920: 68fb ldr r3, [r7, #12] - 800c922: 681b ldr r3, [r3, #0] - 800c924: f442 4280 orr.w r2, r2, #16384 @ 0x4000 - 800c928: 609a str r2, [r3, #8] + 800ced2: 68fb ldr r3, [r7, #12] + 800ced4: 681b ldr r3, [r3, #0] + 800ced6: 689a ldr r2, [r3, #8] + 800ced8: 68fb ldr r3, [r7, #12] + 800ceda: 681b ldr r3, [r3, #0] + 800cedc: f442 4280 orr.w r2, r2, #16384 @ 0x4000 + 800cee0: 609a str r2, [r3, #8] /* Enable the Wakeup Timer */ __HAL_RTC_WAKEUPTIMER_ENABLE(hrtc); - 800c92a: 68fb ldr r3, [r7, #12] - 800c92c: 681b ldr r3, [r3, #0] - 800c92e: 689a ldr r2, [r3, #8] - 800c930: 68fb ldr r3, [r7, #12] - 800c932: 681b ldr r3, [r3, #0] - 800c934: f442 6280 orr.w r2, r2, #1024 @ 0x400 - 800c938: 609a str r2, [r3, #8] + 800cee2: 68fb ldr r3, [r7, #12] + 800cee4: 681b ldr r3, [r3, #0] + 800cee6: 689a ldr r2, [r3, #8] + 800cee8: 68fb ldr r3, [r7, #12] + 800ceea: 681b ldr r3, [r3, #0] + 800ceec: f442 6280 orr.w r2, r2, #1024 @ 0x400 + 800cef0: 609a str r2, [r3, #8] /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); - 800c93a: 68fb ldr r3, [r7, #12] - 800c93c: 681b ldr r3, [r3, #0] - 800c93e: 22ff movs r2, #255 @ 0xff - 800c940: 625a str r2, [r3, #36] @ 0x24 + 800cef2: 68fb ldr r3, [r7, #12] + 800cef4: 681b ldr r3, [r3, #0] + 800cef6: 22ff movs r2, #255 @ 0xff + 800cef8: 625a str r2, [r3, #36] @ 0x24 hrtc->State = HAL_RTC_STATE_READY; - 800c942: 68fb ldr r3, [r7, #12] - 800c944: 2201 movs r2, #1 - 800c946: f883 2021 strb.w r2, [r3, #33] @ 0x21 + 800cefa: 68fb ldr r3, [r7, #12] + 800cefc: 2201 movs r2, #1 + 800cefe: f883 2021 strb.w r2, [r3, #33] @ 0x21 /* Process Unlocked */ __HAL_UNLOCK(hrtc); - 800c94a: 68fb ldr r3, [r7, #12] - 800c94c: 2200 movs r2, #0 - 800c94e: f883 2020 strb.w r2, [r3, #32] + 800cf02: 68fb ldr r3, [r7, #12] + 800cf04: 2200 movs r2, #0 + 800cf06: f883 2020 strb.w r2, [r3, #32] return HAL_OK; - 800c952: 2300 movs r3, #0 + 800cf0a: 2300 movs r3, #0 } - 800c954: 4618 mov r0, r3 - 800c956: 371c adds r7, #28 - 800c958: 46bd mov sp, r7 - 800c95a: f85d 7b04 ldr.w r7, [sp], #4 - 800c95e: 4770 bx lr - 800c960: 2000000c .word 0x2000000c - 800c964: 10624dd3 .word 0x10624dd3 - 800c968: 58000800 .word 0x58000800 + 800cf0c: 4618 mov r0, r3 + 800cf0e: 371c adds r7, #28 + 800cf10: 46bd mov sp, r7 + 800cf12: f85d 7b04 ldr.w r7, [sp], #4 + 800cf16: 4770 bx lr + 800cf18: 2000000c .word 0x2000000c + 800cf1c: 10624dd3 .word 0x10624dd3 + 800cf20: 58000800 .word 0x58000800 -0800c96c : +0800cf24 : * @param hspi pointer to a SPI_HandleTypeDef structure that contains * the configuration information for SPI module. * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi) { - 800c96c: b580 push {r7, lr} - 800c96e: b084 sub sp, #16 - 800c970: af00 add r7, sp, #0 - 800c972: 6078 str r0, [r7, #4] + 800cf24: b580 push {r7, lr} + 800cf26: b084 sub sp, #16 + 800cf28: af00 add r7, sp, #0 + 800cf2a: 6078 str r0, [r7, #4] uint32_t frxth; /* Check the SPI handle allocation */ if (hspi == NULL) - 800c974: 687b ldr r3, [r7, #4] - 800c976: 2b00 cmp r3, #0 - 800c978: d101 bne.n 800c97e + 800cf2c: 687b ldr r3, [r7, #4] + 800cf2e: 2b00 cmp r3, #0 + 800cf30: d101 bne.n 800cf36 { return HAL_ERROR; - 800c97a: 2301 movs r3, #1 - 800c97c: e095 b.n 800caaa + 800cf32: 2301 movs r3, #1 + 800cf34: e095 b.n 800d062 assert_param(IS_SPI_NSS(hspi->Init.NSS)); assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode)); assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit)); assert_param(IS_SPI_TIMODE(hspi->Init.TIMode)); if (hspi->Init.TIMode == SPI_TIMODE_DISABLE) - 800c97e: 687b ldr r3, [r7, #4] - 800c980: 6a5b ldr r3, [r3, #36] @ 0x24 - 800c982: 2b00 cmp r3, #0 - 800c984: d108 bne.n 800c998 + 800cf36: 687b ldr r3, [r7, #4] + 800cf38: 6a5b ldr r3, [r3, #36] @ 0x24 + 800cf3a: 2b00 cmp r3, #0 + 800cf3c: d108 bne.n 800cf50 { assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity)); assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); if (hspi->Init.Mode == SPI_MODE_MASTER) - 800c986: 687b ldr r3, [r7, #4] - 800c988: 685b ldr r3, [r3, #4] - 800c98a: f5b3 7f82 cmp.w r3, #260 @ 0x104 - 800c98e: d009 beq.n 800c9a4 + 800cf3e: 687b ldr r3, [r7, #4] + 800cf40: 685b ldr r3, [r3, #4] + 800cf42: f5b3 7f82 cmp.w r3, #260 @ 0x104 + 800cf46: d009 beq.n 800cf5c assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); } else { /* Baudrate prescaler not use in Motoraola Slave mode. force to default value */ hspi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; - 800c990: 687b ldr r3, [r7, #4] - 800c992: 2200 movs r2, #0 - 800c994: 61da str r2, [r3, #28] - 800c996: e005 b.n 800c9a4 + 800cf48: 687b ldr r3, [r7, #4] + 800cf4a: 2200 movs r2, #0 + 800cf4c: 61da str r2, [r3, #28] + 800cf4e: e005 b.n 800cf5c else { assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); /* Force polarity and phase to TI protocaol requirements */ hspi->Init.CLKPolarity = SPI_POLARITY_LOW; - 800c998: 687b ldr r3, [r7, #4] - 800c99a: 2200 movs r2, #0 - 800c99c: 611a str r2, [r3, #16] + 800cf50: 687b ldr r3, [r7, #4] + 800cf52: 2200 movs r2, #0 + 800cf54: 611a str r2, [r3, #16] hspi->Init.CLKPhase = SPI_PHASE_1EDGE; - 800c99e: 687b ldr r3, [r7, #4] - 800c9a0: 2200 movs r2, #0 - 800c9a2: 615a str r2, [r3, #20] + 800cf56: 687b ldr r3, [r7, #4] + 800cf58: 2200 movs r2, #0 + 800cf5a: 615a str r2, [r3, #20] { assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial)); assert_param(IS_SPI_CRC_LENGTH(hspi->Init.CRCLength)); } #else hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - 800c9a4: 687b ldr r3, [r7, #4] - 800c9a6: 2200 movs r2, #0 - 800c9a8: 629a str r2, [r3, #40] @ 0x28 + 800cf5c: 687b ldr r3, [r7, #4] + 800cf5e: 2200 movs r2, #0 + 800cf60: 629a str r2, [r3, #40] @ 0x28 #endif /* USE_SPI_CRC */ if (hspi->State == HAL_SPI_STATE_RESET) - 800c9aa: 687b ldr r3, [r7, #4] - 800c9ac: f893 305d ldrb.w r3, [r3, #93] @ 0x5d - 800c9b0: b2db uxtb r3, r3 - 800c9b2: 2b00 cmp r3, #0 - 800c9b4: d106 bne.n 800c9c4 + 800cf62: 687b ldr r3, [r7, #4] + 800cf64: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800cf68: b2db uxtb r3, r3 + 800cf6a: 2b00 cmp r3, #0 + 800cf6c: d106 bne.n 800cf7c { /* Allocate lock resource and initialize it */ hspi->Lock = HAL_UNLOCKED; - 800c9b6: 687b ldr r3, [r7, #4] - 800c9b8: 2200 movs r2, #0 - 800c9ba: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800cf6e: 687b ldr r3, [r7, #4] + 800cf70: 2200 movs r2, #0 + 800cf72: f883 205c strb.w r2, [r3, #92] @ 0x5c /* Init the low level hardware : GPIO, CLOCK, NVIC... */ hspi->MspInitCallback(hspi); #else /* Init the low level hardware : GPIO, CLOCK, NVIC... */ HAL_SPI_MspInit(hspi); - 800c9be: 6878 ldr r0, [r7, #4] - 800c9c0: f7f9 f9ca bl 8005d58 + 800cf76: 6878 ldr r0, [r7, #4] + 800cf78: f7f9 f96c bl 8006254 #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } hspi->State = HAL_SPI_STATE_BUSY; - 800c9c4: 687b ldr r3, [r7, #4] - 800c9c6: 2202 movs r2, #2 - 800c9c8: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800cf7c: 687b ldr r3, [r7, #4] + 800cf7e: 2202 movs r2, #2 + 800cf80: f883 205d strb.w r2, [r3, #93] @ 0x5d /* Disable the selected SPI peripheral */ __HAL_SPI_DISABLE(hspi); - 800c9cc: 687b ldr r3, [r7, #4] - 800c9ce: 681b ldr r3, [r3, #0] - 800c9d0: 681a ldr r2, [r3, #0] - 800c9d2: 687b ldr r3, [r7, #4] - 800c9d4: 681b ldr r3, [r3, #0] - 800c9d6: f022 0240 bic.w r2, r2, #64 @ 0x40 - 800c9da: 601a str r2, [r3, #0] + 800cf84: 687b ldr r3, [r7, #4] + 800cf86: 681b ldr r3, [r3, #0] + 800cf88: 681a ldr r2, [r3, #0] + 800cf8a: 687b ldr r3, [r7, #4] + 800cf8c: 681b ldr r3, [r3, #0] + 800cf8e: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800cf92: 601a str r2, [r3, #0] /* Align by default the rs fifo threshold on the data size */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) - 800c9dc: 687b ldr r3, [r7, #4] - 800c9de: 68db ldr r3, [r3, #12] - 800c9e0: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 - 800c9e4: d902 bls.n 800c9ec + 800cf94: 687b ldr r3, [r7, #4] + 800cf96: 68db ldr r3, [r3, #12] + 800cf98: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 + 800cf9c: d902 bls.n 800cfa4 { frxth = SPI_RXFIFO_THRESHOLD_HF; - 800c9e6: 2300 movs r3, #0 - 800c9e8: 60fb str r3, [r7, #12] - 800c9ea: e002 b.n 800c9f2 + 800cf9e: 2300 movs r3, #0 + 800cfa0: 60fb str r3, [r7, #12] + 800cfa2: e002 b.n 800cfaa } else { frxth = SPI_RXFIFO_THRESHOLD_QF; - 800c9ec: f44f 5380 mov.w r3, #4096 @ 0x1000 - 800c9f0: 60fb str r3, [r7, #12] + 800cfa4: f44f 5380 mov.w r3, #4096 @ 0x1000 + 800cfa8: 60fb str r3, [r7, #12] } /* CRC calculation is valid only for 16Bit and 8 Bit */ if ((hspi->Init.DataSize != SPI_DATASIZE_16BIT) && (hspi->Init.DataSize != SPI_DATASIZE_8BIT)) - 800c9f2: 687b ldr r3, [r7, #4] - 800c9f4: 68db ldr r3, [r3, #12] - 800c9f6: f5b3 6f70 cmp.w r3, #3840 @ 0xf00 - 800c9fa: d007 beq.n 800ca0c - 800c9fc: 687b ldr r3, [r7, #4] - 800c9fe: 68db ldr r3, [r3, #12] - 800ca00: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 - 800ca04: d002 beq.n 800ca0c + 800cfaa: 687b ldr r3, [r7, #4] + 800cfac: 68db ldr r3, [r3, #12] + 800cfae: f5b3 6f70 cmp.w r3, #3840 @ 0xf00 + 800cfb2: d007 beq.n 800cfc4 + 800cfb4: 687b ldr r3, [r7, #4] + 800cfb6: 68db ldr r3, [r3, #12] + 800cfb8: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 + 800cfbc: d002 beq.n 800cfc4 { /* CRC must be disabled */ hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - 800ca06: 687b ldr r3, [r7, #4] - 800ca08: 2200 movs r2, #0 - 800ca0a: 629a str r2, [r3, #40] @ 0x28 + 800cfbe: 687b ldr r3, [r7, #4] + 800cfc0: 2200 movs r2, #0 + 800cfc2: 629a str r2, [r3, #40] @ 0x28 } /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/ /* Configure : SPI Mode, Communication Mode, Clock polarity and phase, NSS management, Communication speed, First bit and CRC calculation state */ WRITE_REG(hspi->Instance->CR1, ((hspi->Init.Mode & (SPI_CR1_MSTR | SPI_CR1_SSI)) | - 800ca0c: 687b ldr r3, [r7, #4] - 800ca0e: 685b ldr r3, [r3, #4] - 800ca10: f403 7282 and.w r2, r3, #260 @ 0x104 - 800ca14: 687b ldr r3, [r7, #4] - 800ca16: 689b ldr r3, [r3, #8] - 800ca18: f403 4304 and.w r3, r3, #33792 @ 0x8400 - 800ca1c: 431a orrs r2, r3 - 800ca1e: 687b ldr r3, [r7, #4] - 800ca20: 691b ldr r3, [r3, #16] - 800ca22: f003 0302 and.w r3, r3, #2 - 800ca26: 431a orrs r2, r3 - 800ca28: 687b ldr r3, [r7, #4] - 800ca2a: 695b ldr r3, [r3, #20] - 800ca2c: f003 0301 and.w r3, r3, #1 - 800ca30: 431a orrs r2, r3 - 800ca32: 687b ldr r3, [r7, #4] - 800ca34: 699b ldr r3, [r3, #24] - 800ca36: f403 7300 and.w r3, r3, #512 @ 0x200 - 800ca3a: 431a orrs r2, r3 - 800ca3c: 687b ldr r3, [r7, #4] - 800ca3e: 69db ldr r3, [r3, #28] - 800ca40: f003 0338 and.w r3, r3, #56 @ 0x38 - 800ca44: 431a orrs r2, r3 - 800ca46: 687b ldr r3, [r7, #4] - 800ca48: 6a1b ldr r3, [r3, #32] - 800ca4a: f003 0380 and.w r3, r3, #128 @ 0x80 - 800ca4e: ea42 0103 orr.w r1, r2, r3 - 800ca52: 687b ldr r3, [r7, #4] - 800ca54: 6a9b ldr r3, [r3, #40] @ 0x28 - 800ca56: f403 5200 and.w r2, r3, #8192 @ 0x2000 - 800ca5a: 687b ldr r3, [r7, #4] - 800ca5c: 681b ldr r3, [r3, #0] - 800ca5e: 430a orrs r2, r1 - 800ca60: 601a str r2, [r3, #0] + 800cfc4: 687b ldr r3, [r7, #4] + 800cfc6: 685b ldr r3, [r3, #4] + 800cfc8: f403 7282 and.w r2, r3, #260 @ 0x104 + 800cfcc: 687b ldr r3, [r7, #4] + 800cfce: 689b ldr r3, [r3, #8] + 800cfd0: f403 4304 and.w r3, r3, #33792 @ 0x8400 + 800cfd4: 431a orrs r2, r3 + 800cfd6: 687b ldr r3, [r7, #4] + 800cfd8: 691b ldr r3, [r3, #16] + 800cfda: f003 0302 and.w r3, r3, #2 + 800cfde: 431a orrs r2, r3 + 800cfe0: 687b ldr r3, [r7, #4] + 800cfe2: 695b ldr r3, [r3, #20] + 800cfe4: f003 0301 and.w r3, r3, #1 + 800cfe8: 431a orrs r2, r3 + 800cfea: 687b ldr r3, [r7, #4] + 800cfec: 699b ldr r3, [r3, #24] + 800cfee: f403 7300 and.w r3, r3, #512 @ 0x200 + 800cff2: 431a orrs r2, r3 + 800cff4: 687b ldr r3, [r7, #4] + 800cff6: 69db ldr r3, [r3, #28] + 800cff8: f003 0338 and.w r3, r3, #56 @ 0x38 + 800cffc: 431a orrs r2, r3 + 800cffe: 687b ldr r3, [r7, #4] + 800d000: 6a1b ldr r3, [r3, #32] + 800d002: f003 0380 and.w r3, r3, #128 @ 0x80 + 800d006: ea42 0103 orr.w r1, r2, r3 + 800d00a: 687b ldr r3, [r7, #4] + 800d00c: 6a9b ldr r3, [r3, #40] @ 0x28 + 800d00e: f403 5200 and.w r2, r3, #8192 @ 0x2000 + 800d012: 687b ldr r3, [r7, #4] + 800d014: 681b ldr r3, [r3, #0] + 800d016: 430a orrs r2, r1 + 800d018: 601a str r2, [r3, #0] } } #endif /* USE_SPI_CRC */ /* Configure : NSS management, TI Mode, NSS Pulse, Data size and Rx Fifo threshold */ WRITE_REG(hspi->Instance->CR2, (((hspi->Init.NSS >> 16U) & SPI_CR2_SSOE) | - 800ca62: 687b ldr r3, [r7, #4] - 800ca64: 699b ldr r3, [r3, #24] - 800ca66: 0c1b lsrs r3, r3, #16 - 800ca68: f003 0204 and.w r2, r3, #4 - 800ca6c: 687b ldr r3, [r7, #4] - 800ca6e: 6a5b ldr r3, [r3, #36] @ 0x24 - 800ca70: f003 0310 and.w r3, r3, #16 - 800ca74: 431a orrs r2, r3 - 800ca76: 687b ldr r3, [r7, #4] - 800ca78: 6b5b ldr r3, [r3, #52] @ 0x34 - 800ca7a: f003 0308 and.w r3, r3, #8 - 800ca7e: 431a orrs r2, r3 - 800ca80: 687b ldr r3, [r7, #4] - 800ca82: 68db ldr r3, [r3, #12] - 800ca84: f403 6370 and.w r3, r3, #3840 @ 0xf00 - 800ca88: ea42 0103 orr.w r1, r2, r3 - 800ca8c: 68fb ldr r3, [r7, #12] - 800ca8e: f403 5280 and.w r2, r3, #4096 @ 0x1000 - 800ca92: 687b ldr r3, [r7, #4] - 800ca94: 681b ldr r3, [r3, #0] - 800ca96: 430a orrs r2, r1 - 800ca98: 605a str r2, [r3, #4] + 800d01a: 687b ldr r3, [r7, #4] + 800d01c: 699b ldr r3, [r3, #24] + 800d01e: 0c1b lsrs r3, r3, #16 + 800d020: f003 0204 and.w r2, r3, #4 + 800d024: 687b ldr r3, [r7, #4] + 800d026: 6a5b ldr r3, [r3, #36] @ 0x24 + 800d028: f003 0310 and.w r3, r3, #16 + 800d02c: 431a orrs r2, r3 + 800d02e: 687b ldr r3, [r7, #4] + 800d030: 6b5b ldr r3, [r3, #52] @ 0x34 + 800d032: f003 0308 and.w r3, r3, #8 + 800d036: 431a orrs r2, r3 + 800d038: 687b ldr r3, [r7, #4] + 800d03a: 68db ldr r3, [r3, #12] + 800d03c: f403 6370 and.w r3, r3, #3840 @ 0xf00 + 800d040: ea42 0103 orr.w r1, r2, r3 + 800d044: 68fb ldr r3, [r7, #12] + 800d046: f403 5280 and.w r2, r3, #4096 @ 0x1000 + 800d04a: 687b ldr r3, [r7, #4] + 800d04c: 681b ldr r3, [r3, #0] + 800d04e: 430a orrs r2, r1 + 800d050: 605a str r2, [r3, #4] #if defined(SPI_I2SCFGR_I2SMOD) /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */ CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD); #endif /* SPI_I2SCFGR_I2SMOD */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; - 800ca9a: 687b ldr r3, [r7, #4] - 800ca9c: 2200 movs r2, #0 - 800ca9e: 661a str r2, [r3, #96] @ 0x60 + 800d052: 687b ldr r3, [r7, #4] + 800d054: 2200 movs r2, #0 + 800d056: 661a str r2, [r3, #96] @ 0x60 hspi->State = HAL_SPI_STATE_READY; - 800caa0: 687b ldr r3, [r7, #4] - 800caa2: 2201 movs r2, #1 - 800caa4: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d058: 687b ldr r3, [r7, #4] + 800d05a: 2201 movs r2, #1 + 800d05c: f883 205d strb.w r2, [r3, #93] @ 0x5d return HAL_OK; - 800caa8: 2300 movs r3, #0 + 800d060: 2300 movs r3, #0 } - 800caaa: 4618 mov r0, r3 - 800caac: 3710 adds r7, #16 - 800caae: 46bd mov sp, r7 - 800cab0: bd80 pop {r7, pc} + 800d062: 4618 mov r0, r3 + 800d064: 3710 adds r7, #16 + 800d066: 46bd mov sp, r7 + 800d068: bd80 pop {r7, pc} -0800cab2 : +0800d06a : * @param Size amount of data elements (u8 or u16) to be sent * @param Timeout Timeout duration in ms * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size, uint32_t Timeout) { - 800cab2: b580 push {r7, lr} - 800cab4: b088 sub sp, #32 - 800cab6: af00 add r7, sp, #0 - 800cab8: 60f8 str r0, [r7, #12] - 800caba: 60b9 str r1, [r7, #8] - 800cabc: 603b str r3, [r7, #0] - 800cabe: 4613 mov r3, r2 - 800cac0: 80fb strh r3, [r7, #6] + 800d06a: b580 push {r7, lr} + 800d06c: b088 sub sp, #32 + 800d06e: af00 add r7, sp, #0 + 800d070: 60f8 str r0, [r7, #12] + 800d072: 60b9 str r1, [r7, #8] + 800d074: 603b str r3, [r7, #0] + 800d076: 4613 mov r3, r2 + 800d078: 80fb strh r3, [r7, #6] /* Check Direction parameter */ assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction)); /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); - 800cac2: f7f9 fcd5 bl 8006470 - 800cac6: 61f8 str r0, [r7, #28] + 800d07a: f7f9 fc77 bl 800696c + 800d07e: 61f8 str r0, [r7, #28] initial_TxXferCount = Size; - 800cac8: 88fb ldrh r3, [r7, #6] - 800caca: 837b strh r3, [r7, #26] + 800d080: 88fb ldrh r3, [r7, #6] + 800d082: 837b strh r3, [r7, #26] if (hspi->State != HAL_SPI_STATE_READY) - 800cacc: 68fb ldr r3, [r7, #12] - 800cace: f893 305d ldrb.w r3, [r3, #93] @ 0x5d - 800cad2: b2db uxtb r3, r3 - 800cad4: 2b01 cmp r3, #1 - 800cad6: d001 beq.n 800cadc + 800d084: 68fb ldr r3, [r7, #12] + 800d086: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800d08a: b2db uxtb r3, r3 + 800d08c: 2b01 cmp r3, #1 + 800d08e: d001 beq.n 800d094 { return HAL_BUSY; - 800cad8: 2302 movs r3, #2 - 800cada: e15c b.n 800cd96 + 800d090: 2302 movs r3, #2 + 800d092: e15c b.n 800d34e } if ((pData == NULL) || (Size == 0U)) - 800cadc: 68bb ldr r3, [r7, #8] - 800cade: 2b00 cmp r3, #0 - 800cae0: d002 beq.n 800cae8 - 800cae2: 88fb ldrh r3, [r7, #6] - 800cae4: 2b00 cmp r3, #0 - 800cae6: d101 bne.n 800caec + 800d094: 68bb ldr r3, [r7, #8] + 800d096: 2b00 cmp r3, #0 + 800d098: d002 beq.n 800d0a0 + 800d09a: 88fb ldrh r3, [r7, #6] + 800d09c: 2b00 cmp r3, #0 + 800d09e: d101 bne.n 800d0a4 { return HAL_ERROR; - 800cae8: 2301 movs r3, #1 - 800caea: e154 b.n 800cd96 + 800d0a0: 2301 movs r3, #1 + 800d0a2: e154 b.n 800d34e } /* Process Locked */ __HAL_LOCK(hspi); - 800caec: 68fb ldr r3, [r7, #12] - 800caee: f893 305c ldrb.w r3, [r3, #92] @ 0x5c - 800caf2: 2b01 cmp r3, #1 - 800caf4: d101 bne.n 800cafa - 800caf6: 2302 movs r3, #2 - 800caf8: e14d b.n 800cd96 - 800cafa: 68fb ldr r3, [r7, #12] - 800cafc: 2201 movs r2, #1 - 800cafe: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d0a4: 68fb ldr r3, [r7, #12] + 800d0a6: f893 305c ldrb.w r3, [r3, #92] @ 0x5c + 800d0aa: 2b01 cmp r3, #1 + 800d0ac: d101 bne.n 800d0b2 + 800d0ae: 2302 movs r3, #2 + 800d0b0: e14d b.n 800d34e + 800d0b2: 68fb ldr r3, [r7, #12] + 800d0b4: 2201 movs r2, #1 + 800d0b6: f883 205c strb.w r2, [r3, #92] @ 0x5c /* Set the transaction information */ hspi->State = HAL_SPI_STATE_BUSY_TX; - 800cb02: 68fb ldr r3, [r7, #12] - 800cb04: 2203 movs r2, #3 - 800cb06: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d0ba: 68fb ldr r3, [r7, #12] + 800d0bc: 2203 movs r2, #3 + 800d0be: f883 205d strb.w r2, [r3, #93] @ 0x5d hspi->ErrorCode = HAL_SPI_ERROR_NONE; - 800cb0a: 68fb ldr r3, [r7, #12] - 800cb0c: 2200 movs r2, #0 - 800cb0e: 661a str r2, [r3, #96] @ 0x60 + 800d0c2: 68fb ldr r3, [r7, #12] + 800d0c4: 2200 movs r2, #0 + 800d0c6: 661a str r2, [r3, #96] @ 0x60 hspi->pTxBuffPtr = (const uint8_t *)pData; - 800cb10: 68fb ldr r3, [r7, #12] - 800cb12: 68ba ldr r2, [r7, #8] - 800cb14: 639a str r2, [r3, #56] @ 0x38 + 800d0c8: 68fb ldr r3, [r7, #12] + 800d0ca: 68ba ldr r2, [r7, #8] + 800d0cc: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferSize = Size; - 800cb16: 68fb ldr r3, [r7, #12] - 800cb18: 88fa ldrh r2, [r7, #6] - 800cb1a: 879a strh r2, [r3, #60] @ 0x3c + 800d0ce: 68fb ldr r3, [r7, #12] + 800d0d0: 88fa ldrh r2, [r7, #6] + 800d0d2: 879a strh r2, [r3, #60] @ 0x3c hspi->TxXferCount = Size; - 800cb1c: 68fb ldr r3, [r7, #12] - 800cb1e: 88fa ldrh r2, [r7, #6] - 800cb20: 87da strh r2, [r3, #62] @ 0x3e + 800d0d4: 68fb ldr r3, [r7, #12] + 800d0d6: 88fa ldrh r2, [r7, #6] + 800d0d8: 87da strh r2, [r3, #62] @ 0x3e /*Init field not used in handle to zero */ hspi->pRxBuffPtr = (uint8_t *)NULL; - 800cb22: 68fb ldr r3, [r7, #12] - 800cb24: 2200 movs r2, #0 - 800cb26: 641a str r2, [r3, #64] @ 0x40 + 800d0da: 68fb ldr r3, [r7, #12] + 800d0dc: 2200 movs r2, #0 + 800d0de: 641a str r2, [r3, #64] @ 0x40 hspi->RxXferSize = 0U; - 800cb28: 68fb ldr r3, [r7, #12] - 800cb2a: 2200 movs r2, #0 - 800cb2c: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 800d0e0: 68fb ldr r3, [r7, #12] + 800d0e2: 2200 movs r2, #0 + 800d0e4: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 hspi->RxXferCount = 0U; - 800cb30: 68fb ldr r3, [r7, #12] - 800cb32: 2200 movs r2, #0 - 800cb34: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800d0e8: 68fb ldr r3, [r7, #12] + 800d0ea: 2200 movs r2, #0 + 800d0ec: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 hspi->TxISR = NULL; - 800cb38: 68fb ldr r3, [r7, #12] - 800cb3a: 2200 movs r2, #0 - 800cb3c: 651a str r2, [r3, #80] @ 0x50 + 800d0f0: 68fb ldr r3, [r7, #12] + 800d0f2: 2200 movs r2, #0 + 800d0f4: 651a str r2, [r3, #80] @ 0x50 hspi->RxISR = NULL; - 800cb3e: 68fb ldr r3, [r7, #12] - 800cb40: 2200 movs r2, #0 - 800cb42: 64da str r2, [r3, #76] @ 0x4c + 800d0f6: 68fb ldr r3, [r7, #12] + 800d0f8: 2200 movs r2, #0 + 800d0fa: 64da str r2, [r3, #76] @ 0x4c /* Configure communication direction : 1Line */ if (hspi->Init.Direction == SPI_DIRECTION_1LINE) - 800cb44: 68fb ldr r3, [r7, #12] - 800cb46: 689b ldr r3, [r3, #8] - 800cb48: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 - 800cb4c: d10f bne.n 800cb6e + 800d0fc: 68fb ldr r3, [r7, #12] + 800d0fe: 689b ldr r3, [r3, #8] + 800d100: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 + 800d104: d10f bne.n 800d126 { /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */ __HAL_SPI_DISABLE(hspi); - 800cb4e: 68fb ldr r3, [r7, #12] - 800cb50: 681b ldr r3, [r3, #0] - 800cb52: 681a ldr r2, [r3, #0] - 800cb54: 68fb ldr r3, [r7, #12] - 800cb56: 681b ldr r3, [r3, #0] - 800cb58: f022 0240 bic.w r2, r2, #64 @ 0x40 - 800cb5c: 601a str r2, [r3, #0] + 800d106: 68fb ldr r3, [r7, #12] + 800d108: 681b ldr r3, [r3, #0] + 800d10a: 681a ldr r2, [r3, #0] + 800d10c: 68fb ldr r3, [r7, #12] + 800d10e: 681b ldr r3, [r3, #0] + 800d110: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800d114: 601a str r2, [r3, #0] SPI_1LINE_TX(hspi); - 800cb5e: 68fb ldr r3, [r7, #12] - 800cb60: 681b ldr r3, [r3, #0] - 800cb62: 681a ldr r2, [r3, #0] - 800cb64: 68fb ldr r3, [r7, #12] - 800cb66: 681b ldr r3, [r3, #0] - 800cb68: f442 4280 orr.w r2, r2, #16384 @ 0x4000 - 800cb6c: 601a str r2, [r3, #0] + 800d116: 68fb ldr r3, [r7, #12] + 800d118: 681b ldr r3, [r3, #0] + 800d11a: 681a ldr r2, [r3, #0] + 800d11c: 68fb ldr r3, [r7, #12] + 800d11e: 681b ldr r3, [r3, #0] + 800d120: f442 4280 orr.w r2, r2, #16384 @ 0x4000 + 800d124: 601a str r2, [r3, #0] SPI_RESET_CRC(hspi); } #endif /* USE_SPI_CRC */ /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) - 800cb6e: 68fb ldr r3, [r7, #12] - 800cb70: 681b ldr r3, [r3, #0] - 800cb72: 681b ldr r3, [r3, #0] - 800cb74: f003 0340 and.w r3, r3, #64 @ 0x40 - 800cb78: 2b40 cmp r3, #64 @ 0x40 - 800cb7a: d007 beq.n 800cb8c + 800d126: 68fb ldr r3, [r7, #12] + 800d128: 681b ldr r3, [r3, #0] + 800d12a: 681b ldr r3, [r3, #0] + 800d12c: f003 0340 and.w r3, r3, #64 @ 0x40 + 800d130: 2b40 cmp r3, #64 @ 0x40 + 800d132: d007 beq.n 800d144 { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); - 800cb7c: 68fb ldr r3, [r7, #12] - 800cb7e: 681b ldr r3, [r3, #0] - 800cb80: 681a ldr r2, [r3, #0] - 800cb82: 68fb ldr r3, [r7, #12] - 800cb84: 681b ldr r3, [r3, #0] - 800cb86: f042 0240 orr.w r2, r2, #64 @ 0x40 - 800cb8a: 601a str r2, [r3, #0] + 800d134: 68fb ldr r3, [r7, #12] + 800d136: 681b ldr r3, [r3, #0] + 800d138: 681a ldr r2, [r3, #0] + 800d13a: 68fb ldr r3, [r7, #12] + 800d13c: 681b ldr r3, [r3, #0] + 800d13e: f042 0240 orr.w r2, r2, #64 @ 0x40 + 800d142: 601a str r2, [r3, #0] } /* Transmit data in 16 Bit mode */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) - 800cb8c: 68fb ldr r3, [r7, #12] - 800cb8e: 68db ldr r3, [r3, #12] - 800cb90: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 - 800cb94: d952 bls.n 800cc3c + 800d144: 68fb ldr r3, [r7, #12] + 800d146: 68db ldr r3, [r3, #12] + 800d148: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 + 800d14c: d952 bls.n 800d1f4 { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) - 800cb96: 68fb ldr r3, [r7, #12] - 800cb98: 685b ldr r3, [r3, #4] - 800cb9a: 2b00 cmp r3, #0 - 800cb9c: d002 beq.n 800cba4 - 800cb9e: 8b7b ldrh r3, [r7, #26] - 800cba0: 2b01 cmp r3, #1 - 800cba2: d145 bne.n 800cc30 + 800d14e: 68fb ldr r3, [r7, #12] + 800d150: 685b ldr r3, [r3, #4] + 800d152: 2b00 cmp r3, #0 + 800d154: d002 beq.n 800d15c + 800d156: 8b7b ldrh r3, [r7, #26] + 800d158: 2b01 cmp r3, #1 + 800d15a: d145 bne.n 800d1e8 { hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); - 800cba4: 68fb ldr r3, [r7, #12] - 800cba6: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cba8: 881a ldrh r2, [r3, #0] - 800cbaa: 68fb ldr r3, [r7, #12] - 800cbac: 681b ldr r3, [r3, #0] - 800cbae: 60da str r2, [r3, #12] + 800d15c: 68fb ldr r3, [r7, #12] + 800d15e: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d160: 881a ldrh r2, [r3, #0] + 800d162: 68fb ldr r3, [r7, #12] + 800d164: 681b ldr r3, [r3, #0] + 800d166: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 800cbb0: 68fb ldr r3, [r7, #12] - 800cbb2: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cbb4: 1c9a adds r2, r3, #2 - 800cbb6: 68fb ldr r3, [r7, #12] - 800cbb8: 639a str r2, [r3, #56] @ 0x38 + 800d168: 68fb ldr r3, [r7, #12] + 800d16a: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d16c: 1c9a adds r2, r3, #2 + 800d16e: 68fb ldr r3, [r7, #12] + 800d170: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount--; - 800cbba: 68fb ldr r3, [r7, #12] - 800cbbc: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cbbe: b29b uxth r3, r3 - 800cbc0: 3b01 subs r3, #1 - 800cbc2: b29a uxth r2, r3 - 800cbc4: 68fb ldr r3, [r7, #12] - 800cbc6: 87da strh r2, [r3, #62] @ 0x3e + 800d172: 68fb ldr r3, [r7, #12] + 800d174: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d176: b29b uxth r3, r3 + 800d178: 3b01 subs r3, #1 + 800d17a: b29a uxth r2, r3 + 800d17c: 68fb ldr r3, [r7, #12] + 800d17e: 87da strh r2, [r3, #62] @ 0x3e } /* Transmit data in 16 Bit mode */ while (hspi->TxXferCount > 0U) - 800cbc8: e032 b.n 800cc30 + 800d180: e032 b.n 800d1e8 { /* Wait until TXE flag is set to send data */ if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) - 800cbca: 68fb ldr r3, [r7, #12] - 800cbcc: 681b ldr r3, [r3, #0] - 800cbce: 689b ldr r3, [r3, #8] - 800cbd0: f003 0302 and.w r3, r3, #2 - 800cbd4: 2b02 cmp r3, #2 - 800cbd6: d112 bne.n 800cbfe + 800d182: 68fb ldr r3, [r7, #12] + 800d184: 681b ldr r3, [r3, #0] + 800d186: 689b ldr r3, [r3, #8] + 800d188: f003 0302 and.w r3, r3, #2 + 800d18c: 2b02 cmp r3, #2 + 800d18e: d112 bne.n 800d1b6 { hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); - 800cbd8: 68fb ldr r3, [r7, #12] - 800cbda: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cbdc: 881a ldrh r2, [r3, #0] - 800cbde: 68fb ldr r3, [r7, #12] - 800cbe0: 681b ldr r3, [r3, #0] - 800cbe2: 60da str r2, [r3, #12] + 800d190: 68fb ldr r3, [r7, #12] + 800d192: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d194: 881a ldrh r2, [r3, #0] + 800d196: 68fb ldr r3, [r7, #12] + 800d198: 681b ldr r3, [r3, #0] + 800d19a: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 800cbe4: 68fb ldr r3, [r7, #12] - 800cbe6: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cbe8: 1c9a adds r2, r3, #2 - 800cbea: 68fb ldr r3, [r7, #12] - 800cbec: 639a str r2, [r3, #56] @ 0x38 + 800d19c: 68fb ldr r3, [r7, #12] + 800d19e: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d1a0: 1c9a adds r2, r3, #2 + 800d1a2: 68fb ldr r3, [r7, #12] + 800d1a4: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount--; - 800cbee: 68fb ldr r3, [r7, #12] - 800cbf0: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cbf2: b29b uxth r3, r3 - 800cbf4: 3b01 subs r3, #1 - 800cbf6: b29a uxth r2, r3 - 800cbf8: 68fb ldr r3, [r7, #12] - 800cbfa: 87da strh r2, [r3, #62] @ 0x3e - 800cbfc: e018 b.n 800cc30 + 800d1a6: 68fb ldr r3, [r7, #12] + 800d1a8: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d1aa: b29b uxth r3, r3 + 800d1ac: 3b01 subs r3, #1 + 800d1ae: b29a uxth r2, r3 + 800d1b0: 68fb ldr r3, [r7, #12] + 800d1b2: 87da strh r2, [r3, #62] @ 0x3e + 800d1b4: e018 b.n 800d1e8 } else { /* Timeout management */ if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout == 0U)) - 800cbfe: f7f9 fc37 bl 8006470 - 800cc02: 4602 mov r2, r0 - 800cc04: 69fb ldr r3, [r7, #28] - 800cc06: 1ad3 subs r3, r2, r3 - 800cc08: 683a ldr r2, [r7, #0] - 800cc0a: 429a cmp r2, r3 - 800cc0c: d803 bhi.n 800cc16 - 800cc0e: 683b ldr r3, [r7, #0] - 800cc10: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 800cc14: d102 bne.n 800cc1c - 800cc16: 683b ldr r3, [r7, #0] - 800cc18: 2b00 cmp r3, #0 - 800cc1a: d109 bne.n 800cc30 + 800d1b6: f7f9 fbd9 bl 800696c + 800d1ba: 4602 mov r2, r0 + 800d1bc: 69fb ldr r3, [r7, #28] + 800d1be: 1ad3 subs r3, r2, r3 + 800d1c0: 683a ldr r2, [r7, #0] + 800d1c2: 429a cmp r2, r3 + 800d1c4: d803 bhi.n 800d1ce + 800d1c6: 683b ldr r3, [r7, #0] + 800d1c8: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 800d1cc: d102 bne.n 800d1d4 + 800d1ce: 683b ldr r3, [r7, #0] + 800d1d0: 2b00 cmp r3, #0 + 800d1d2: d109 bne.n 800d1e8 { hspi->State = HAL_SPI_STATE_READY; - 800cc1c: 68fb ldr r3, [r7, #12] - 800cc1e: 2201 movs r2, #1 - 800cc20: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d1d4: 68fb ldr r3, [r7, #12] + 800d1d6: 2201 movs r2, #1 + 800d1d8: f883 205d strb.w r2, [r3, #93] @ 0x5d __HAL_UNLOCK(hspi); - 800cc24: 68fb ldr r3, [r7, #12] - 800cc26: 2200 movs r2, #0 - 800cc28: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d1dc: 68fb ldr r3, [r7, #12] + 800d1de: 2200 movs r2, #0 + 800d1e0: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_TIMEOUT; - 800cc2c: 2303 movs r3, #3 - 800cc2e: e0b2 b.n 800cd96 + 800d1e4: 2303 movs r3, #3 + 800d1e6: e0b2 b.n 800d34e while (hspi->TxXferCount > 0U) - 800cc30: 68fb ldr r3, [r7, #12] - 800cc32: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cc34: b29b uxth r3, r3 - 800cc36: 2b00 cmp r3, #0 - 800cc38: d1c7 bne.n 800cbca - 800cc3a: e083 b.n 800cd44 + 800d1e8: 68fb ldr r3, [r7, #12] + 800d1ea: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d1ec: b29b uxth r3, r3 + 800d1ee: 2b00 cmp r3, #0 + 800d1f0: d1c7 bne.n 800d182 + 800d1f2: e083 b.n 800d2fc } } /* Transmit data in 8 Bit mode */ else { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) - 800cc3c: 68fb ldr r3, [r7, #12] - 800cc3e: 685b ldr r3, [r3, #4] - 800cc40: 2b00 cmp r3, #0 - 800cc42: d002 beq.n 800cc4a - 800cc44: 8b7b ldrh r3, [r7, #26] - 800cc46: 2b01 cmp r3, #1 - 800cc48: d177 bne.n 800cd3a + 800d1f4: 68fb ldr r3, [r7, #12] + 800d1f6: 685b ldr r3, [r3, #4] + 800d1f8: 2b00 cmp r3, #0 + 800d1fa: d002 beq.n 800d202 + 800d1fc: 8b7b ldrh r3, [r7, #26] + 800d1fe: 2b01 cmp r3, #1 + 800d200: d177 bne.n 800d2f2 { if (hspi->TxXferCount > 1U) - 800cc4a: 68fb ldr r3, [r7, #12] - 800cc4c: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cc4e: b29b uxth r3, r3 - 800cc50: 2b01 cmp r3, #1 - 800cc52: d912 bls.n 800cc7a + 800d202: 68fb ldr r3, [r7, #12] + 800d204: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d206: b29b uxth r3, r3 + 800d208: 2b01 cmp r3, #1 + 800d20a: d912 bls.n 800d232 { /* write on the data register in packing mode */ hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); - 800cc54: 68fb ldr r3, [r7, #12] - 800cc56: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cc58: 881a ldrh r2, [r3, #0] - 800cc5a: 68fb ldr r3, [r7, #12] - 800cc5c: 681b ldr r3, [r3, #0] - 800cc5e: 60da str r2, [r3, #12] + 800d20c: 68fb ldr r3, [r7, #12] + 800d20e: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d210: 881a ldrh r2, [r3, #0] + 800d212: 68fb ldr r3, [r7, #12] + 800d214: 681b ldr r3, [r3, #0] + 800d216: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 800cc60: 68fb ldr r3, [r7, #12] - 800cc62: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cc64: 1c9a adds r2, r3, #2 - 800cc66: 68fb ldr r3, [r7, #12] - 800cc68: 639a str r2, [r3, #56] @ 0x38 + 800d218: 68fb ldr r3, [r7, #12] + 800d21a: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d21c: 1c9a adds r2, r3, #2 + 800d21e: 68fb ldr r3, [r7, #12] + 800d220: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount -= 2U; - 800cc6a: 68fb ldr r3, [r7, #12] - 800cc6c: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cc6e: b29b uxth r3, r3 - 800cc70: 3b02 subs r3, #2 - 800cc72: b29a uxth r2, r3 - 800cc74: 68fb ldr r3, [r7, #12] - 800cc76: 87da strh r2, [r3, #62] @ 0x3e - 800cc78: e05f b.n 800cd3a + 800d222: 68fb ldr r3, [r7, #12] + 800d224: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d226: b29b uxth r3, r3 + 800d228: 3b02 subs r3, #2 + 800d22a: b29a uxth r2, r3 + 800d22c: 68fb ldr r3, [r7, #12] + 800d22e: 87da strh r2, [r3, #62] @ 0x3e + 800d230: e05f b.n 800d2f2 } else { *((__IO uint8_t *)&hspi->Instance->DR) = *((const uint8_t *)hspi->pTxBuffPtr); - 800cc7a: 68fb ldr r3, [r7, #12] - 800cc7c: 6b9a ldr r2, [r3, #56] @ 0x38 - 800cc7e: 68fb ldr r3, [r7, #12] - 800cc80: 681b ldr r3, [r3, #0] - 800cc82: 330c adds r3, #12 - 800cc84: 7812 ldrb r2, [r2, #0] - 800cc86: 701a strb r2, [r3, #0] + 800d232: 68fb ldr r3, [r7, #12] + 800d234: 6b9a ldr r2, [r3, #56] @ 0x38 + 800d236: 68fb ldr r3, [r7, #12] + 800d238: 681b ldr r3, [r3, #0] + 800d23a: 330c adds r3, #12 + 800d23c: 7812 ldrb r2, [r2, #0] + 800d23e: 701a strb r2, [r3, #0] hspi->pTxBuffPtr ++; - 800cc88: 68fb ldr r3, [r7, #12] - 800cc8a: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cc8c: 1c5a adds r2, r3, #1 - 800cc8e: 68fb ldr r3, [r7, #12] - 800cc90: 639a str r2, [r3, #56] @ 0x38 + 800d240: 68fb ldr r3, [r7, #12] + 800d242: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d244: 1c5a adds r2, r3, #1 + 800d246: 68fb ldr r3, [r7, #12] + 800d248: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount--; - 800cc92: 68fb ldr r3, [r7, #12] - 800cc94: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cc96: b29b uxth r3, r3 - 800cc98: 3b01 subs r3, #1 - 800cc9a: b29a uxth r2, r3 - 800cc9c: 68fb ldr r3, [r7, #12] - 800cc9e: 87da strh r2, [r3, #62] @ 0x3e + 800d24a: 68fb ldr r3, [r7, #12] + 800d24c: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d24e: b29b uxth r3, r3 + 800d250: 3b01 subs r3, #1 + 800d252: b29a uxth r2, r3 + 800d254: 68fb ldr r3, [r7, #12] + 800d256: 87da strh r2, [r3, #62] @ 0x3e } } while (hspi->TxXferCount > 0U) - 800cca0: e04b b.n 800cd3a + 800d258: e04b b.n 800d2f2 { /* Wait until TXE flag is set to send data */ if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) - 800cca2: 68fb ldr r3, [r7, #12] - 800cca4: 681b ldr r3, [r3, #0] - 800cca6: 689b ldr r3, [r3, #8] - 800cca8: f003 0302 and.w r3, r3, #2 - 800ccac: 2b02 cmp r3, #2 - 800ccae: d12b bne.n 800cd08 + 800d25a: 68fb ldr r3, [r7, #12] + 800d25c: 681b ldr r3, [r3, #0] + 800d25e: 689b ldr r3, [r3, #8] + 800d260: f003 0302 and.w r3, r3, #2 + 800d264: 2b02 cmp r3, #2 + 800d266: d12b bne.n 800d2c0 { if (hspi->TxXferCount > 1U) - 800ccb0: 68fb ldr r3, [r7, #12] - 800ccb2: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800ccb4: b29b uxth r3, r3 - 800ccb6: 2b01 cmp r3, #1 - 800ccb8: d912 bls.n 800cce0 + 800d268: 68fb ldr r3, [r7, #12] + 800d26a: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d26c: b29b uxth r3, r3 + 800d26e: 2b01 cmp r3, #1 + 800d270: d912 bls.n 800d298 { /* write on the data register in packing mode */ hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); - 800ccba: 68fb ldr r3, [r7, #12] - 800ccbc: 6b9b ldr r3, [r3, #56] @ 0x38 - 800ccbe: 881a ldrh r2, [r3, #0] - 800ccc0: 68fb ldr r3, [r7, #12] - 800ccc2: 681b ldr r3, [r3, #0] - 800ccc4: 60da str r2, [r3, #12] + 800d272: 68fb ldr r3, [r7, #12] + 800d274: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d276: 881a ldrh r2, [r3, #0] + 800d278: 68fb ldr r3, [r7, #12] + 800d27a: 681b ldr r3, [r3, #0] + 800d27c: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 800ccc6: 68fb ldr r3, [r7, #12] - 800ccc8: 6b9b ldr r3, [r3, #56] @ 0x38 - 800ccca: 1c9a adds r2, r3, #2 - 800cccc: 68fb ldr r3, [r7, #12] - 800ccce: 639a str r2, [r3, #56] @ 0x38 + 800d27e: 68fb ldr r3, [r7, #12] + 800d280: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d282: 1c9a adds r2, r3, #2 + 800d284: 68fb ldr r3, [r7, #12] + 800d286: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount -= 2U; - 800ccd0: 68fb ldr r3, [r7, #12] - 800ccd2: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800ccd4: b29b uxth r3, r3 - 800ccd6: 3b02 subs r3, #2 - 800ccd8: b29a uxth r2, r3 - 800ccda: 68fb ldr r3, [r7, #12] - 800ccdc: 87da strh r2, [r3, #62] @ 0x3e - 800ccde: e02c b.n 800cd3a + 800d288: 68fb ldr r3, [r7, #12] + 800d28a: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d28c: b29b uxth r3, r3 + 800d28e: 3b02 subs r3, #2 + 800d290: b29a uxth r2, r3 + 800d292: 68fb ldr r3, [r7, #12] + 800d294: 87da strh r2, [r3, #62] @ 0x3e + 800d296: e02c b.n 800d2f2 } else { *((__IO uint8_t *)&hspi->Instance->DR) = *((const uint8_t *)hspi->pTxBuffPtr); - 800cce0: 68fb ldr r3, [r7, #12] - 800cce2: 6b9a ldr r2, [r3, #56] @ 0x38 - 800cce4: 68fb ldr r3, [r7, #12] - 800cce6: 681b ldr r3, [r3, #0] - 800cce8: 330c adds r3, #12 - 800ccea: 7812 ldrb r2, [r2, #0] - 800ccec: 701a strb r2, [r3, #0] + 800d298: 68fb ldr r3, [r7, #12] + 800d29a: 6b9a ldr r2, [r3, #56] @ 0x38 + 800d29c: 68fb ldr r3, [r7, #12] + 800d29e: 681b ldr r3, [r3, #0] + 800d2a0: 330c adds r3, #12 + 800d2a2: 7812 ldrb r2, [r2, #0] + 800d2a4: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; - 800ccee: 68fb ldr r3, [r7, #12] - 800ccf0: 6b9b ldr r3, [r3, #56] @ 0x38 - 800ccf2: 1c5a adds r2, r3, #1 - 800ccf4: 68fb ldr r3, [r7, #12] - 800ccf6: 639a str r2, [r3, #56] @ 0x38 + 800d2a6: 68fb ldr r3, [r7, #12] + 800d2a8: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d2aa: 1c5a adds r2, r3, #1 + 800d2ac: 68fb ldr r3, [r7, #12] + 800d2ae: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount--; - 800ccf8: 68fb ldr r3, [r7, #12] - 800ccfa: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800ccfc: b29b uxth r3, r3 - 800ccfe: 3b01 subs r3, #1 - 800cd00: b29a uxth r2, r3 - 800cd02: 68fb ldr r3, [r7, #12] - 800cd04: 87da strh r2, [r3, #62] @ 0x3e - 800cd06: e018 b.n 800cd3a + 800d2b0: 68fb ldr r3, [r7, #12] + 800d2b2: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d2b4: b29b uxth r3, r3 + 800d2b6: 3b01 subs r3, #1 + 800d2b8: b29a uxth r2, r3 + 800d2ba: 68fb ldr r3, [r7, #12] + 800d2bc: 87da strh r2, [r3, #62] @ 0x3e + 800d2be: e018 b.n 800d2f2 } } else { /* Timeout management */ if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout == 0U)) - 800cd08: f7f9 fbb2 bl 8006470 - 800cd0c: 4602 mov r2, r0 - 800cd0e: 69fb ldr r3, [r7, #28] - 800cd10: 1ad3 subs r3, r2, r3 - 800cd12: 683a ldr r2, [r7, #0] - 800cd14: 429a cmp r2, r3 - 800cd16: d803 bhi.n 800cd20 - 800cd18: 683b ldr r3, [r7, #0] - 800cd1a: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 800cd1e: d102 bne.n 800cd26 - 800cd20: 683b ldr r3, [r7, #0] - 800cd22: 2b00 cmp r3, #0 - 800cd24: d109 bne.n 800cd3a + 800d2c0: f7f9 fb54 bl 800696c + 800d2c4: 4602 mov r2, r0 + 800d2c6: 69fb ldr r3, [r7, #28] + 800d2c8: 1ad3 subs r3, r2, r3 + 800d2ca: 683a ldr r2, [r7, #0] + 800d2cc: 429a cmp r2, r3 + 800d2ce: d803 bhi.n 800d2d8 + 800d2d0: 683b ldr r3, [r7, #0] + 800d2d2: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 800d2d6: d102 bne.n 800d2de + 800d2d8: 683b ldr r3, [r7, #0] + 800d2da: 2b00 cmp r3, #0 + 800d2dc: d109 bne.n 800d2f2 { hspi->State = HAL_SPI_STATE_READY; - 800cd26: 68fb ldr r3, [r7, #12] - 800cd28: 2201 movs r2, #1 - 800cd2a: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d2de: 68fb ldr r3, [r7, #12] + 800d2e0: 2201 movs r2, #1 + 800d2e2: f883 205d strb.w r2, [r3, #93] @ 0x5d __HAL_UNLOCK(hspi); - 800cd2e: 68fb ldr r3, [r7, #12] - 800cd30: 2200 movs r2, #0 - 800cd32: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d2e6: 68fb ldr r3, [r7, #12] + 800d2e8: 2200 movs r2, #0 + 800d2ea: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_TIMEOUT; - 800cd36: 2303 movs r3, #3 - 800cd38: e02d b.n 800cd96 + 800d2ee: 2303 movs r3, #3 + 800d2f0: e02d b.n 800d34e while (hspi->TxXferCount > 0U) - 800cd3a: 68fb ldr r3, [r7, #12] - 800cd3c: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cd3e: b29b uxth r3, r3 - 800cd40: 2b00 cmp r3, #0 - 800cd42: d1ae bne.n 800cca2 + 800d2f2: 68fb ldr r3, [r7, #12] + 800d2f4: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d2f6: b29b uxth r3, r3 + 800d2f8: 2b00 cmp r3, #0 + 800d2fa: d1ae bne.n 800d25a SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) - 800cd44: 69fa ldr r2, [r7, #28] - 800cd46: 6839 ldr r1, [r7, #0] - 800cd48: 68f8 ldr r0, [r7, #12] - 800cd4a: f000 fe43 bl 800d9d4 - 800cd4e: 4603 mov r3, r0 - 800cd50: 2b00 cmp r3, #0 - 800cd52: d002 beq.n 800cd5a + 800d2fc: 69fa ldr r2, [r7, #28] + 800d2fe: 6839 ldr r1, [r7, #0] + 800d300: 68f8 ldr r0, [r7, #12] + 800d302: f000 ff63 bl 800e1cc + 800d306: 4603 mov r3, r0 + 800d308: 2b00 cmp r3, #0 + 800d30a: d002 beq.n 800d312 { hspi->ErrorCode = HAL_SPI_ERROR_FLAG; - 800cd54: 68fb ldr r3, [r7, #12] - 800cd56: 2220 movs r2, #32 - 800cd58: 661a str r2, [r3, #96] @ 0x60 + 800d30c: 68fb ldr r3, [r7, #12] + 800d30e: 2220 movs r2, #32 + 800d310: 661a str r2, [r3, #96] @ 0x60 } /* Clear overrun flag in 2 Lines communication mode because received is not read */ if (hspi->Init.Direction == SPI_DIRECTION_2LINES) - 800cd5a: 68fb ldr r3, [r7, #12] - 800cd5c: 689b ldr r3, [r3, #8] - 800cd5e: 2b00 cmp r3, #0 - 800cd60: d10a bne.n 800cd78 + 800d312: 68fb ldr r3, [r7, #12] + 800d314: 689b ldr r3, [r3, #8] + 800d316: 2b00 cmp r3, #0 + 800d318: d10a bne.n 800d330 { __HAL_SPI_CLEAR_OVRFLAG(hspi); - 800cd62: 2300 movs r3, #0 - 800cd64: 617b str r3, [r7, #20] - 800cd66: 68fb ldr r3, [r7, #12] - 800cd68: 681b ldr r3, [r3, #0] - 800cd6a: 68db ldr r3, [r3, #12] - 800cd6c: 617b str r3, [r7, #20] - 800cd6e: 68fb ldr r3, [r7, #12] - 800cd70: 681b ldr r3, [r3, #0] - 800cd72: 689b ldr r3, [r3, #8] - 800cd74: 617b str r3, [r7, #20] - 800cd76: 697b ldr r3, [r7, #20] + 800d31a: 2300 movs r3, #0 + 800d31c: 617b str r3, [r7, #20] + 800d31e: 68fb ldr r3, [r7, #12] + 800d320: 681b ldr r3, [r3, #0] + 800d322: 68db ldr r3, [r3, #12] + 800d324: 617b str r3, [r7, #20] + 800d326: 68fb ldr r3, [r7, #12] + 800d328: 681b ldr r3, [r3, #0] + 800d32a: 689b ldr r3, [r3, #8] + 800d32c: 617b str r3, [r7, #20] + 800d32e: 697b ldr r3, [r7, #20] } hspi->State = HAL_SPI_STATE_READY; - 800cd78: 68fb ldr r3, [r7, #12] - 800cd7a: 2201 movs r2, #1 - 800cd7c: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d330: 68fb ldr r3, [r7, #12] + 800d332: 2201 movs r2, #1 + 800d334: f883 205d strb.w r2, [r3, #93] @ 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); - 800cd80: 68fb ldr r3, [r7, #12] - 800cd82: 2200 movs r2, #0 - 800cd84: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d338: 68fb ldr r3, [r7, #12] + 800d33a: 2200 movs r2, #0 + 800d33c: f883 205c strb.w r2, [r3, #92] @ 0x5c if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) - 800cd88: 68fb ldr r3, [r7, #12] - 800cd8a: 6e1b ldr r3, [r3, #96] @ 0x60 - 800cd8c: 2b00 cmp r3, #0 - 800cd8e: d001 beq.n 800cd94 + 800d340: 68fb ldr r3, [r7, #12] + 800d342: 6e1b ldr r3, [r3, #96] @ 0x60 + 800d344: 2b00 cmp r3, #0 + 800d346: d001 beq.n 800d34c { return HAL_ERROR; - 800cd90: 2301 movs r3, #1 - 800cd92: e000 b.n 800cd96 + 800d348: 2301 movs r3, #1 + 800d34a: e000 b.n 800d34e } else { return HAL_OK; - 800cd94: 2300 movs r3, #0 + 800d34c: 2300 movs r3, #0 } } - 800cd96: 4618 mov r0, r3 - 800cd98: 3720 adds r7, #32 - 800cd9a: 46bd mov sp, r7 - 800cd9c: bd80 pop {r7, pc} + 800d34e: 4618 mov r0, r3 + 800d350: 3720 adds r7, #32 + 800d352: 46bd mov sp, r7 + 800d354: bd80 pop {r7, pc} -0800cd9e : +0800d356 : * @param Timeout Timeout duration in ms * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout) { - 800cd9e: b580 push {r7, lr} - 800cda0: b08a sub sp, #40 @ 0x28 - 800cda2: af00 add r7, sp, #0 - 800cda4: 60f8 str r0, [r7, #12] - 800cda6: 60b9 str r1, [r7, #8] - 800cda8: 607a str r2, [r7, #4] - 800cdaa: 807b strh r3, [r7, #2] + 800d356: b580 push {r7, lr} + 800d358: b08a sub sp, #40 @ 0x28 + 800d35a: af00 add r7, sp, #0 + 800d35c: 60f8 str r0, [r7, #12] + 800d35e: 60b9 str r1, [r7, #8] + 800d360: 607a str r2, [r7, #4] + 800d362: 807b strh r3, [r7, #2] __IO uint8_t *ptmpreg8; __IO uint8_t tmpreg8 = 0; #endif /* USE_SPI_CRC */ /* Variable used to alternate Rx and Tx during transfer */ uint32_t txallowed = 1U; - 800cdac: 2301 movs r3, #1 - 800cdae: 627b str r3, [r7, #36] @ 0x24 + 800d364: 2301 movs r3, #1 + 800d366: 627b str r3, [r7, #36] @ 0x24 /* Check Direction parameter */ assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); - 800cdb0: f7f9 fb5e bl 8006470 - 800cdb4: 6238 str r0, [r7, #32] + 800d368: f7f9 fb00 bl 800696c + 800d36c: 6238 str r0, [r7, #32] /* Init temporary variables */ tmp_state = hspi->State; - 800cdb6: 68fb ldr r3, [r7, #12] - 800cdb8: f893 305d ldrb.w r3, [r3, #93] @ 0x5d - 800cdbc: 77fb strb r3, [r7, #31] + 800d36e: 68fb ldr r3, [r7, #12] + 800d370: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800d374: 77fb strb r3, [r7, #31] tmp_mode = hspi->Init.Mode; - 800cdbe: 68fb ldr r3, [r7, #12] - 800cdc0: 685b ldr r3, [r3, #4] - 800cdc2: 61bb str r3, [r7, #24] + 800d376: 68fb ldr r3, [r7, #12] + 800d378: 685b ldr r3, [r3, #4] + 800d37a: 61bb str r3, [r7, #24] initial_TxXferCount = Size; - 800cdc4: 887b ldrh r3, [r7, #2] - 800cdc6: 82fb strh r3, [r7, #22] + 800d37c: 887b ldrh r3, [r7, #2] + 800d37e: 82fb strh r3, [r7, #22] initial_RxXferCount = Size; - 800cdc8: 887b ldrh r3, [r7, #2] - 800cdca: 82bb strh r3, [r7, #20] + 800d380: 887b ldrh r3, [r7, #2] + 800d382: 82bb strh r3, [r7, #20] #if (USE_SPI_CRC != 0U) spi_cr1 = READ_REG(hspi->Instance->CR1); spi_cr2 = READ_REG(hspi->Instance->CR2); #endif /* USE_SPI_CRC */ if (!((tmp_state == HAL_SPI_STATE_READY) || \ - 800cdcc: 7ffb ldrb r3, [r7, #31] - 800cdce: 2b01 cmp r3, #1 - 800cdd0: d00c beq.n 800cdec - 800cdd2: 69bb ldr r3, [r7, #24] - 800cdd4: f5b3 7f82 cmp.w r3, #260 @ 0x104 - 800cdd8: d106 bne.n 800cde8 + 800d384: 7ffb ldrb r3, [r7, #31] + 800d386: 2b01 cmp r3, #1 + 800d388: d00c beq.n 800d3a4 + 800d38a: 69bb ldr r3, [r7, #24] + 800d38c: f5b3 7f82 cmp.w r3, #260 @ 0x104 + 800d390: d106 bne.n 800d3a0 ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && - 800cdda: 68fb ldr r3, [r7, #12] - 800cddc: 689b ldr r3, [r3, #8] - 800cdde: 2b00 cmp r3, #0 - 800cde0: d102 bne.n 800cde8 - 800cde2: 7ffb ldrb r3, [r7, #31] - 800cde4: 2b04 cmp r3, #4 - 800cde6: d001 beq.n 800cdec + 800d392: 68fb ldr r3, [r7, #12] + 800d394: 689b ldr r3, [r3, #8] + 800d396: 2b00 cmp r3, #0 + 800d398: d102 bne.n 800d3a0 + 800d39a: 7ffb ldrb r3, [r7, #31] + 800d39c: 2b04 cmp r3, #4 + 800d39e: d001 beq.n 800d3a4 (tmp_state == HAL_SPI_STATE_BUSY_RX)))) { return HAL_BUSY; - 800cde8: 2302 movs r3, #2 - 800cdea: e1f3 b.n 800d1d4 + 800d3a0: 2302 movs r3, #2 + 800d3a2: e1f3 b.n 800d78c } if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) - 800cdec: 68bb ldr r3, [r7, #8] - 800cdee: 2b00 cmp r3, #0 - 800cdf0: d005 beq.n 800cdfe - 800cdf2: 687b ldr r3, [r7, #4] - 800cdf4: 2b00 cmp r3, #0 - 800cdf6: d002 beq.n 800cdfe - 800cdf8: 887b ldrh r3, [r7, #2] - 800cdfa: 2b00 cmp r3, #0 - 800cdfc: d101 bne.n 800ce02 + 800d3a4: 68bb ldr r3, [r7, #8] + 800d3a6: 2b00 cmp r3, #0 + 800d3a8: d005 beq.n 800d3b6 + 800d3aa: 687b ldr r3, [r7, #4] + 800d3ac: 2b00 cmp r3, #0 + 800d3ae: d002 beq.n 800d3b6 + 800d3b0: 887b ldrh r3, [r7, #2] + 800d3b2: 2b00 cmp r3, #0 + 800d3b4: d101 bne.n 800d3ba { return HAL_ERROR; - 800cdfe: 2301 movs r3, #1 - 800ce00: e1e8 b.n 800d1d4 + 800d3b6: 2301 movs r3, #1 + 800d3b8: e1e8 b.n 800d78c } /* Process Locked */ __HAL_LOCK(hspi); - 800ce02: 68fb ldr r3, [r7, #12] - 800ce04: f893 305c ldrb.w r3, [r3, #92] @ 0x5c - 800ce08: 2b01 cmp r3, #1 - 800ce0a: d101 bne.n 800ce10 - 800ce0c: 2302 movs r3, #2 - 800ce0e: e1e1 b.n 800d1d4 - 800ce10: 68fb ldr r3, [r7, #12] - 800ce12: 2201 movs r2, #1 - 800ce14: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d3ba: 68fb ldr r3, [r7, #12] + 800d3bc: f893 305c ldrb.w r3, [r3, #92] @ 0x5c + 800d3c0: 2b01 cmp r3, #1 + 800d3c2: d101 bne.n 800d3c8 + 800d3c4: 2302 movs r3, #2 + 800d3c6: e1e1 b.n 800d78c + 800d3c8: 68fb ldr r3, [r7, #12] + 800d3ca: 2201 movs r2, #1 + 800d3cc: f883 205c strb.w r2, [r3, #92] @ 0x5c /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ if (hspi->State != HAL_SPI_STATE_BUSY_RX) - 800ce18: 68fb ldr r3, [r7, #12] - 800ce1a: f893 305d ldrb.w r3, [r3, #93] @ 0x5d - 800ce1e: b2db uxtb r3, r3 - 800ce20: 2b04 cmp r3, #4 - 800ce22: d003 beq.n 800ce2c + 800d3d0: 68fb ldr r3, [r7, #12] + 800d3d2: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800d3d6: b2db uxtb r3, r3 + 800d3d8: 2b04 cmp r3, #4 + 800d3da: d003 beq.n 800d3e4 { hspi->State = HAL_SPI_STATE_BUSY_TX_RX; - 800ce24: 68fb ldr r3, [r7, #12] - 800ce26: 2205 movs r2, #5 - 800ce28: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d3dc: 68fb ldr r3, [r7, #12] + 800d3de: 2205 movs r2, #5 + 800d3e0: f883 205d strb.w r2, [r3, #93] @ 0x5d } /* Set the transaction information */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; - 800ce2c: 68fb ldr r3, [r7, #12] - 800ce2e: 2200 movs r2, #0 - 800ce30: 661a str r2, [r3, #96] @ 0x60 + 800d3e4: 68fb ldr r3, [r7, #12] + 800d3e6: 2200 movs r2, #0 + 800d3e8: 661a str r2, [r3, #96] @ 0x60 hspi->pRxBuffPtr = (uint8_t *)pRxData; - 800ce32: 68fb ldr r3, [r7, #12] - 800ce34: 687a ldr r2, [r7, #4] - 800ce36: 641a str r2, [r3, #64] @ 0x40 + 800d3ea: 68fb ldr r3, [r7, #12] + 800d3ec: 687a ldr r2, [r7, #4] + 800d3ee: 641a str r2, [r3, #64] @ 0x40 hspi->RxXferCount = Size; - 800ce38: 68fb ldr r3, [r7, #12] - 800ce3a: 887a ldrh r2, [r7, #2] - 800ce3c: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800d3f0: 68fb ldr r3, [r7, #12] + 800d3f2: 887a ldrh r2, [r7, #2] + 800d3f4: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 hspi->RxXferSize = Size; - 800ce40: 68fb ldr r3, [r7, #12] - 800ce42: 887a ldrh r2, [r7, #2] - 800ce44: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 800d3f8: 68fb ldr r3, [r7, #12] + 800d3fa: 887a ldrh r2, [r7, #2] + 800d3fc: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 hspi->pTxBuffPtr = (const uint8_t *)pTxData; - 800ce48: 68fb ldr r3, [r7, #12] - 800ce4a: 68ba ldr r2, [r7, #8] - 800ce4c: 639a str r2, [r3, #56] @ 0x38 + 800d400: 68fb ldr r3, [r7, #12] + 800d402: 68ba ldr r2, [r7, #8] + 800d404: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount = Size; - 800ce4e: 68fb ldr r3, [r7, #12] - 800ce50: 887a ldrh r2, [r7, #2] - 800ce52: 87da strh r2, [r3, #62] @ 0x3e + 800d406: 68fb ldr r3, [r7, #12] + 800d408: 887a ldrh r2, [r7, #2] + 800d40a: 87da strh r2, [r3, #62] @ 0x3e hspi->TxXferSize = Size; - 800ce54: 68fb ldr r3, [r7, #12] - 800ce56: 887a ldrh r2, [r7, #2] - 800ce58: 879a strh r2, [r3, #60] @ 0x3c + 800d40c: 68fb ldr r3, [r7, #12] + 800d40e: 887a ldrh r2, [r7, #2] + 800d410: 879a strh r2, [r3, #60] @ 0x3c /*Init field not used in handle to zero */ hspi->RxISR = NULL; - 800ce5a: 68fb ldr r3, [r7, #12] - 800ce5c: 2200 movs r2, #0 - 800ce5e: 64da str r2, [r3, #76] @ 0x4c + 800d412: 68fb ldr r3, [r7, #12] + 800d414: 2200 movs r2, #0 + 800d416: 64da str r2, [r3, #76] @ 0x4c hspi->TxISR = NULL; - 800ce60: 68fb ldr r3, [r7, #12] - 800ce62: 2200 movs r2, #0 - 800ce64: 651a str r2, [r3, #80] @ 0x50 + 800d418: 68fb ldr r3, [r7, #12] + 800d41a: 2200 movs r2, #0 + 800d41c: 651a str r2, [r3, #80] @ 0x50 SPI_RESET_CRC(hspi); } #endif /* USE_SPI_CRC */ /* Set the Rx Fifo threshold */ if ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) || (initial_RxXferCount > 1U)) - 800ce66: 68fb ldr r3, [r7, #12] - 800ce68: 68db ldr r3, [r3, #12] - 800ce6a: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 - 800ce6e: d802 bhi.n 800ce76 - 800ce70: 8abb ldrh r3, [r7, #20] - 800ce72: 2b01 cmp r3, #1 - 800ce74: d908 bls.n 800ce88 + 800d41e: 68fb ldr r3, [r7, #12] + 800d420: 68db ldr r3, [r3, #12] + 800d422: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 + 800d426: d802 bhi.n 800d42e + 800d428: 8abb ldrh r3, [r7, #20] + 800d42a: 2b01 cmp r3, #1 + 800d42c: d908 bls.n 800d440 { /* Set fiforxthreshold according the reception data length: 16bit */ CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); - 800ce76: 68fb ldr r3, [r7, #12] - 800ce78: 681b ldr r3, [r3, #0] - 800ce7a: 685a ldr r2, [r3, #4] - 800ce7c: 68fb ldr r3, [r7, #12] - 800ce7e: 681b ldr r3, [r3, #0] - 800ce80: f422 5280 bic.w r2, r2, #4096 @ 0x1000 - 800ce84: 605a str r2, [r3, #4] - 800ce86: e007 b.n 800ce98 + 800d42e: 68fb ldr r3, [r7, #12] + 800d430: 681b ldr r3, [r3, #0] + 800d432: 685a ldr r2, [r3, #4] + 800d434: 68fb ldr r3, [r7, #12] + 800d436: 681b ldr r3, [r3, #0] + 800d438: f422 5280 bic.w r2, r2, #4096 @ 0x1000 + 800d43c: 605a str r2, [r3, #4] + 800d43e: e007 b.n 800d450 } else { /* Set fiforxthreshold according the reception data length: 8bit */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); - 800ce88: 68fb ldr r3, [r7, #12] - 800ce8a: 681b ldr r3, [r3, #0] - 800ce8c: 685a ldr r2, [r3, #4] - 800ce8e: 68fb ldr r3, [r7, #12] - 800ce90: 681b ldr r3, [r3, #0] - 800ce92: f442 5280 orr.w r2, r2, #4096 @ 0x1000 - 800ce96: 605a str r2, [r3, #4] + 800d440: 68fb ldr r3, [r7, #12] + 800d442: 681b ldr r3, [r3, #0] + 800d444: 685a ldr r2, [r3, #4] + 800d446: 68fb ldr r3, [r7, #12] + 800d448: 681b ldr r3, [r3, #0] + 800d44a: f442 5280 orr.w r2, r2, #4096 @ 0x1000 + 800d44e: 605a str r2, [r3, #4] } /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) - 800ce98: 68fb ldr r3, [r7, #12] - 800ce9a: 681b ldr r3, [r3, #0] - 800ce9c: 681b ldr r3, [r3, #0] - 800ce9e: f003 0340 and.w r3, r3, #64 @ 0x40 - 800cea2: 2b40 cmp r3, #64 @ 0x40 - 800cea4: d007 beq.n 800ceb6 + 800d450: 68fb ldr r3, [r7, #12] + 800d452: 681b ldr r3, [r3, #0] + 800d454: 681b ldr r3, [r3, #0] + 800d456: f003 0340 and.w r3, r3, #64 @ 0x40 + 800d45a: 2b40 cmp r3, #64 @ 0x40 + 800d45c: d007 beq.n 800d46e { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); - 800cea6: 68fb ldr r3, [r7, #12] - 800cea8: 681b ldr r3, [r3, #0] - 800ceaa: 681a ldr r2, [r3, #0] - 800ceac: 68fb ldr r3, [r7, #12] - 800ceae: 681b ldr r3, [r3, #0] - 800ceb0: f042 0240 orr.w r2, r2, #64 @ 0x40 - 800ceb4: 601a str r2, [r3, #0] + 800d45e: 68fb ldr r3, [r7, #12] + 800d460: 681b ldr r3, [r3, #0] + 800d462: 681a ldr r2, [r3, #0] + 800d464: 68fb ldr r3, [r7, #12] + 800d466: 681b ldr r3, [r3, #0] + 800d468: f042 0240 orr.w r2, r2, #64 @ 0x40 + 800d46c: 601a str r2, [r3, #0] } /* Transmit and Receive data in 16 Bit mode */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) - 800ceb6: 68fb ldr r3, [r7, #12] - 800ceb8: 68db ldr r3, [r3, #12] - 800ceba: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 - 800cebe: f240 8083 bls.w 800cfc8 + 800d46e: 68fb ldr r3, [r7, #12] + 800d470: 68db ldr r3, [r3, #12] + 800d472: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 + 800d476: f240 8083 bls.w 800d580 { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) - 800cec2: 68fb ldr r3, [r7, #12] - 800cec4: 685b ldr r3, [r3, #4] - 800cec6: 2b00 cmp r3, #0 - 800cec8: d002 beq.n 800ced0 - 800ceca: 8afb ldrh r3, [r7, #22] - 800cecc: 2b01 cmp r3, #1 - 800cece: d16f bne.n 800cfb0 + 800d47a: 68fb ldr r3, [r7, #12] + 800d47c: 685b ldr r3, [r3, #4] + 800d47e: 2b00 cmp r3, #0 + 800d480: d002 beq.n 800d488 + 800d482: 8afb ldrh r3, [r7, #22] + 800d484: 2b01 cmp r3, #1 + 800d486: d16f bne.n 800d568 { hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); - 800ced0: 68fb ldr r3, [r7, #12] - 800ced2: 6b9b ldr r3, [r3, #56] @ 0x38 - 800ced4: 881a ldrh r2, [r3, #0] - 800ced6: 68fb ldr r3, [r7, #12] - 800ced8: 681b ldr r3, [r3, #0] - 800ceda: 60da str r2, [r3, #12] + 800d488: 68fb ldr r3, [r7, #12] + 800d48a: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d48c: 881a ldrh r2, [r3, #0] + 800d48e: 68fb ldr r3, [r7, #12] + 800d490: 681b ldr r3, [r3, #0] + 800d492: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 800cedc: 68fb ldr r3, [r7, #12] - 800cede: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cee0: 1c9a adds r2, r3, #2 - 800cee2: 68fb ldr r3, [r7, #12] - 800cee4: 639a str r2, [r3, #56] @ 0x38 + 800d494: 68fb ldr r3, [r7, #12] + 800d496: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d498: 1c9a adds r2, r3, #2 + 800d49a: 68fb ldr r3, [r7, #12] + 800d49c: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount--; - 800cee6: 68fb ldr r3, [r7, #12] - 800cee8: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800ceea: b29b uxth r3, r3 - 800ceec: 3b01 subs r3, #1 - 800ceee: b29a uxth r2, r3 - 800cef0: 68fb ldr r3, [r7, #12] - 800cef2: 87da strh r2, [r3, #62] @ 0x3e + 800d49e: 68fb ldr r3, [r7, #12] + 800d4a0: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d4a2: b29b uxth r3, r3 + 800d4a4: 3b01 subs r3, #1 + 800d4a6: b29a uxth r2, r3 + 800d4a8: 68fb ldr r3, [r7, #12] + 800d4aa: 87da strh r2, [r3, #62] @ 0x3e SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); } #endif /* USE_SPI_CRC */ } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) - 800cef4: e05c b.n 800cfb0 + 800d4ac: e05c b.n 800d568 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) - 800cef6: 68fb ldr r3, [r7, #12] - 800cef8: 681b ldr r3, [r3, #0] - 800cefa: 689b ldr r3, [r3, #8] - 800cefc: f003 0302 and.w r3, r3, #2 - 800cf00: 2b02 cmp r3, #2 - 800cf02: d11b bne.n 800cf3c - 800cf04: 68fb ldr r3, [r7, #12] - 800cf06: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cf08: b29b uxth r3, r3 - 800cf0a: 2b00 cmp r3, #0 - 800cf0c: d016 beq.n 800cf3c - 800cf0e: 6a7b ldr r3, [r7, #36] @ 0x24 - 800cf10: 2b01 cmp r3, #1 - 800cf12: d113 bne.n 800cf3c + 800d4ae: 68fb ldr r3, [r7, #12] + 800d4b0: 681b ldr r3, [r3, #0] + 800d4b2: 689b ldr r3, [r3, #8] + 800d4b4: f003 0302 and.w r3, r3, #2 + 800d4b8: 2b02 cmp r3, #2 + 800d4ba: d11b bne.n 800d4f4 + 800d4bc: 68fb ldr r3, [r7, #12] + 800d4be: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d4c0: b29b uxth r3, r3 + 800d4c2: 2b00 cmp r3, #0 + 800d4c4: d016 beq.n 800d4f4 + 800d4c6: 6a7b ldr r3, [r7, #36] @ 0x24 + 800d4c8: 2b01 cmp r3, #1 + 800d4ca: d113 bne.n 800d4f4 { hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); - 800cf14: 68fb ldr r3, [r7, #12] - 800cf16: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cf18: 881a ldrh r2, [r3, #0] - 800cf1a: 68fb ldr r3, [r7, #12] - 800cf1c: 681b ldr r3, [r3, #0] - 800cf1e: 60da str r2, [r3, #12] + 800d4cc: 68fb ldr r3, [r7, #12] + 800d4ce: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d4d0: 881a ldrh r2, [r3, #0] + 800d4d2: 68fb ldr r3, [r7, #12] + 800d4d4: 681b ldr r3, [r3, #0] + 800d4d6: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 800cf20: 68fb ldr r3, [r7, #12] - 800cf22: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cf24: 1c9a adds r2, r3, #2 - 800cf26: 68fb ldr r3, [r7, #12] - 800cf28: 639a str r2, [r3, #56] @ 0x38 + 800d4d8: 68fb ldr r3, [r7, #12] + 800d4da: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d4dc: 1c9a adds r2, r3, #2 + 800d4de: 68fb ldr r3, [r7, #12] + 800d4e0: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount--; - 800cf2a: 68fb ldr r3, [r7, #12] - 800cf2c: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cf2e: b29b uxth r3, r3 - 800cf30: 3b01 subs r3, #1 - 800cf32: b29a uxth r2, r3 - 800cf34: 68fb ldr r3, [r7, #12] - 800cf36: 87da strh r2, [r3, #62] @ 0x3e + 800d4e2: 68fb ldr r3, [r7, #12] + 800d4e4: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d4e6: b29b uxth r3, r3 + 800d4e8: 3b01 subs r3, #1 + 800d4ea: b29a uxth r2, r3 + 800d4ec: 68fb ldr r3, [r7, #12] + 800d4ee: 87da strh r2, [r3, #62] @ 0x3e /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; - 800cf38: 2300 movs r3, #0 - 800cf3a: 627b str r3, [r7, #36] @ 0x24 + 800d4f0: 2300 movs r3, #0 + 800d4f2: 627b str r3, [r7, #36] @ 0x24 } #endif /* USE_SPI_CRC */ } /* Check RXNE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U)) - 800cf3c: 68fb ldr r3, [r7, #12] - 800cf3e: 681b ldr r3, [r3, #0] - 800cf40: 689b ldr r3, [r3, #8] - 800cf42: f003 0301 and.w r3, r3, #1 - 800cf46: 2b01 cmp r3, #1 - 800cf48: d11c bne.n 800cf84 - 800cf4a: 68fb ldr r3, [r7, #12] - 800cf4c: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800cf50: b29b uxth r3, r3 - 800cf52: 2b00 cmp r3, #0 - 800cf54: d016 beq.n 800cf84 + 800d4f4: 68fb ldr r3, [r7, #12] + 800d4f6: 681b ldr r3, [r3, #0] + 800d4f8: 689b ldr r3, [r3, #8] + 800d4fa: f003 0301 and.w r3, r3, #1 + 800d4fe: 2b01 cmp r3, #1 + 800d500: d11c bne.n 800d53c + 800d502: 68fb ldr r3, [r7, #12] + 800d504: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d508: b29b uxth r3, r3 + 800d50a: 2b00 cmp r3, #0 + 800d50c: d016 beq.n 800d53c { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; - 800cf56: 68fb ldr r3, [r7, #12] - 800cf58: 681b ldr r3, [r3, #0] - 800cf5a: 68da ldr r2, [r3, #12] - 800cf5c: 68fb ldr r3, [r7, #12] - 800cf5e: 6c1b ldr r3, [r3, #64] @ 0x40 - 800cf60: b292 uxth r2, r2 - 800cf62: 801a strh r2, [r3, #0] + 800d50e: 68fb ldr r3, [r7, #12] + 800d510: 681b ldr r3, [r3, #0] + 800d512: 68da ldr r2, [r3, #12] + 800d514: 68fb ldr r3, [r7, #12] + 800d516: 6c1b ldr r3, [r3, #64] @ 0x40 + 800d518: b292 uxth r2, r2 + 800d51a: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); - 800cf64: 68fb ldr r3, [r7, #12] - 800cf66: 6c1b ldr r3, [r3, #64] @ 0x40 - 800cf68: 1c9a adds r2, r3, #2 - 800cf6a: 68fb ldr r3, [r7, #12] - 800cf6c: 641a str r2, [r3, #64] @ 0x40 + 800d51c: 68fb ldr r3, [r7, #12] + 800d51e: 6c1b ldr r3, [r3, #64] @ 0x40 + 800d520: 1c9a adds r2, r3, #2 + 800d522: 68fb ldr r3, [r7, #12] + 800d524: 641a str r2, [r3, #64] @ 0x40 hspi->RxXferCount--; - 800cf6e: 68fb ldr r3, [r7, #12] - 800cf70: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800cf74: b29b uxth r3, r3 - 800cf76: 3b01 subs r3, #1 - 800cf78: b29a uxth r2, r3 - 800cf7a: 68fb ldr r3, [r7, #12] - 800cf7c: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800d526: 68fb ldr r3, [r7, #12] + 800d528: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d52c: b29b uxth r3, r3 + 800d52e: 3b01 subs r3, #1 + 800d530: b29a uxth r2, r3 + 800d532: 68fb ldr r3, [r7, #12] + 800d534: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; - 800cf80: 2301 movs r3, #1 - 800cf82: 627b str r3, [r7, #36] @ 0x24 + 800d538: 2301 movs r3, #1 + 800d53a: 627b str r3, [r7, #36] @ 0x24 } if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) - 800cf84: f7f9 fa74 bl 8006470 - 800cf88: 4602 mov r2, r0 - 800cf8a: 6a3b ldr r3, [r7, #32] - 800cf8c: 1ad3 subs r3, r2, r3 - 800cf8e: 6b3a ldr r2, [r7, #48] @ 0x30 - 800cf90: 429a cmp r2, r3 - 800cf92: d80d bhi.n 800cfb0 - 800cf94: 6b3b ldr r3, [r7, #48] @ 0x30 - 800cf96: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 800cf9a: d009 beq.n 800cfb0 + 800d53c: f7f9 fa16 bl 800696c + 800d540: 4602 mov r2, r0 + 800d542: 6a3b ldr r3, [r7, #32] + 800d544: 1ad3 subs r3, r2, r3 + 800d546: 6b3a ldr r2, [r7, #48] @ 0x30 + 800d548: 429a cmp r2, r3 + 800d54a: d80d bhi.n 800d568 + 800d54c: 6b3b ldr r3, [r7, #48] @ 0x30 + 800d54e: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 800d552: d009 beq.n 800d568 { hspi->State = HAL_SPI_STATE_READY; - 800cf9c: 68fb ldr r3, [r7, #12] - 800cf9e: 2201 movs r2, #1 - 800cfa0: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d554: 68fb ldr r3, [r7, #12] + 800d556: 2201 movs r2, #1 + 800d558: f883 205d strb.w r2, [r3, #93] @ 0x5d __HAL_UNLOCK(hspi); - 800cfa4: 68fb ldr r3, [r7, #12] - 800cfa6: 2200 movs r2, #0 - 800cfa8: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d55c: 68fb ldr r3, [r7, #12] + 800d55e: 2200 movs r2, #0 + 800d560: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_TIMEOUT; - 800cfac: 2303 movs r3, #3 - 800cfae: e111 b.n 800d1d4 + 800d564: 2303 movs r3, #3 + 800d566: e111 b.n 800d78c while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) - 800cfb0: 68fb ldr r3, [r7, #12] - 800cfb2: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cfb4: b29b uxth r3, r3 - 800cfb6: 2b00 cmp r3, #0 - 800cfb8: d19d bne.n 800cef6 - 800cfba: 68fb ldr r3, [r7, #12] - 800cfbc: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800cfc0: b29b uxth r3, r3 - 800cfc2: 2b00 cmp r3, #0 - 800cfc4: d197 bne.n 800cef6 - 800cfc6: e0e5 b.n 800d194 + 800d568: 68fb ldr r3, [r7, #12] + 800d56a: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d56c: b29b uxth r3, r3 + 800d56e: 2b00 cmp r3, #0 + 800d570: d19d bne.n 800d4ae + 800d572: 68fb ldr r3, [r7, #12] + 800d574: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d578: b29b uxth r3, r3 + 800d57a: 2b00 cmp r3, #0 + 800d57c: d197 bne.n 800d4ae + 800d57e: e0e5 b.n 800d74c } } /* Transmit and Receive data in 8 Bit mode */ else { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) - 800cfc8: 68fb ldr r3, [r7, #12] - 800cfca: 685b ldr r3, [r3, #4] - 800cfcc: 2b00 cmp r3, #0 - 800cfce: d003 beq.n 800cfd8 - 800cfd0: 8afb ldrh r3, [r7, #22] - 800cfd2: 2b01 cmp r3, #1 - 800cfd4: f040 80d1 bne.w 800d17a + 800d580: 68fb ldr r3, [r7, #12] + 800d582: 685b ldr r3, [r3, #4] + 800d584: 2b00 cmp r3, #0 + 800d586: d003 beq.n 800d590 + 800d588: 8afb ldrh r3, [r7, #22] + 800d58a: 2b01 cmp r3, #1 + 800d58c: f040 80d1 bne.w 800d732 { if (hspi->TxXferCount > 1U) - 800cfd8: 68fb ldr r3, [r7, #12] - 800cfda: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cfdc: b29b uxth r3, r3 - 800cfde: 2b01 cmp r3, #1 - 800cfe0: d912 bls.n 800d008 + 800d590: 68fb ldr r3, [r7, #12] + 800d592: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d594: b29b uxth r3, r3 + 800d596: 2b01 cmp r3, #1 + 800d598: d912 bls.n 800d5c0 { hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); - 800cfe2: 68fb ldr r3, [r7, #12] - 800cfe4: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cfe6: 881a ldrh r2, [r3, #0] - 800cfe8: 68fb ldr r3, [r7, #12] - 800cfea: 681b ldr r3, [r3, #0] - 800cfec: 60da str r2, [r3, #12] + 800d59a: 68fb ldr r3, [r7, #12] + 800d59c: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d59e: 881a ldrh r2, [r3, #0] + 800d5a0: 68fb ldr r3, [r7, #12] + 800d5a2: 681b ldr r3, [r3, #0] + 800d5a4: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 800cfee: 68fb ldr r3, [r7, #12] - 800cff0: 6b9b ldr r3, [r3, #56] @ 0x38 - 800cff2: 1c9a adds r2, r3, #2 - 800cff4: 68fb ldr r3, [r7, #12] - 800cff6: 639a str r2, [r3, #56] @ 0x38 + 800d5a6: 68fb ldr r3, [r7, #12] + 800d5a8: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d5aa: 1c9a adds r2, r3, #2 + 800d5ac: 68fb ldr r3, [r7, #12] + 800d5ae: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount -= 2U; - 800cff8: 68fb ldr r3, [r7, #12] - 800cffa: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800cffc: b29b uxth r3, r3 - 800cffe: 3b02 subs r3, #2 - 800d000: b29a uxth r2, r3 - 800d002: 68fb ldr r3, [r7, #12] - 800d004: 87da strh r2, [r3, #62] @ 0x3e - 800d006: e0b8 b.n 800d17a + 800d5b0: 68fb ldr r3, [r7, #12] + 800d5b2: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d5b4: b29b uxth r3, r3 + 800d5b6: 3b02 subs r3, #2 + 800d5b8: b29a uxth r2, r3 + 800d5ba: 68fb ldr r3, [r7, #12] + 800d5bc: 87da strh r2, [r3, #62] @ 0x3e + 800d5be: e0b8 b.n 800d732 } else { *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); - 800d008: 68fb ldr r3, [r7, #12] - 800d00a: 6b9a ldr r2, [r3, #56] @ 0x38 - 800d00c: 68fb ldr r3, [r7, #12] - 800d00e: 681b ldr r3, [r3, #0] - 800d010: 330c adds r3, #12 - 800d012: 7812 ldrb r2, [r2, #0] - 800d014: 701a strb r2, [r3, #0] + 800d5c0: 68fb ldr r3, [r7, #12] + 800d5c2: 6b9a ldr r2, [r3, #56] @ 0x38 + 800d5c4: 68fb ldr r3, [r7, #12] + 800d5c6: 681b ldr r3, [r3, #0] + 800d5c8: 330c adds r3, #12 + 800d5ca: 7812 ldrb r2, [r2, #0] + 800d5cc: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; - 800d016: 68fb ldr r3, [r7, #12] - 800d018: 6b9b ldr r3, [r3, #56] @ 0x38 - 800d01a: 1c5a adds r2, r3, #1 - 800d01c: 68fb ldr r3, [r7, #12] - 800d01e: 639a str r2, [r3, #56] @ 0x38 + 800d5ce: 68fb ldr r3, [r7, #12] + 800d5d0: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d5d2: 1c5a adds r2, r3, #1 + 800d5d4: 68fb ldr r3, [r7, #12] + 800d5d6: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount--; - 800d020: 68fb ldr r3, [r7, #12] - 800d022: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d024: b29b uxth r3, r3 - 800d026: 3b01 subs r3, #1 - 800d028: b29a uxth r2, r3 - 800d02a: 68fb ldr r3, [r7, #12] - 800d02c: 87da strh r2, [r3, #62] @ 0x3e + 800d5d8: 68fb ldr r3, [r7, #12] + 800d5da: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d5dc: b29b uxth r3, r3 + 800d5de: 3b01 subs r3, #1 + 800d5e0: b29a uxth r2, r3 + 800d5e2: 68fb ldr r3, [r7, #12] + 800d5e4: 87da strh r2, [r3, #62] @ 0x3e SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); } #endif /* USE_SPI_CRC */ } } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) - 800d02e: e0a4 b.n 800d17a + 800d5e6: e0a4 b.n 800d732 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) - 800d030: 68fb ldr r3, [r7, #12] - 800d032: 681b ldr r3, [r3, #0] - 800d034: 689b ldr r3, [r3, #8] - 800d036: f003 0302 and.w r3, r3, #2 - 800d03a: 2b02 cmp r3, #2 - 800d03c: d134 bne.n 800d0a8 - 800d03e: 68fb ldr r3, [r7, #12] - 800d040: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d042: b29b uxth r3, r3 - 800d044: 2b00 cmp r3, #0 - 800d046: d02f beq.n 800d0a8 - 800d048: 6a7b ldr r3, [r7, #36] @ 0x24 - 800d04a: 2b01 cmp r3, #1 - 800d04c: d12c bne.n 800d0a8 + 800d5e8: 68fb ldr r3, [r7, #12] + 800d5ea: 681b ldr r3, [r3, #0] + 800d5ec: 689b ldr r3, [r3, #8] + 800d5ee: f003 0302 and.w r3, r3, #2 + 800d5f2: 2b02 cmp r3, #2 + 800d5f4: d134 bne.n 800d660 + 800d5f6: 68fb ldr r3, [r7, #12] + 800d5f8: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d5fa: b29b uxth r3, r3 + 800d5fc: 2b00 cmp r3, #0 + 800d5fe: d02f beq.n 800d660 + 800d600: 6a7b ldr r3, [r7, #36] @ 0x24 + 800d602: 2b01 cmp r3, #1 + 800d604: d12c bne.n 800d660 { if (hspi->TxXferCount > 1U) - 800d04e: 68fb ldr r3, [r7, #12] - 800d050: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d052: b29b uxth r3, r3 - 800d054: 2b01 cmp r3, #1 - 800d056: d912 bls.n 800d07e + 800d606: 68fb ldr r3, [r7, #12] + 800d608: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d60a: b29b uxth r3, r3 + 800d60c: 2b01 cmp r3, #1 + 800d60e: d912 bls.n 800d636 { hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); - 800d058: 68fb ldr r3, [r7, #12] - 800d05a: 6b9b ldr r3, [r3, #56] @ 0x38 - 800d05c: 881a ldrh r2, [r3, #0] - 800d05e: 68fb ldr r3, [r7, #12] - 800d060: 681b ldr r3, [r3, #0] - 800d062: 60da str r2, [r3, #12] + 800d610: 68fb ldr r3, [r7, #12] + 800d612: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d614: 881a ldrh r2, [r3, #0] + 800d616: 68fb ldr r3, [r7, #12] + 800d618: 681b ldr r3, [r3, #0] + 800d61a: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 800d064: 68fb ldr r3, [r7, #12] - 800d066: 6b9b ldr r3, [r3, #56] @ 0x38 - 800d068: 1c9a adds r2, r3, #2 - 800d06a: 68fb ldr r3, [r7, #12] - 800d06c: 639a str r2, [r3, #56] @ 0x38 + 800d61c: 68fb ldr r3, [r7, #12] + 800d61e: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d620: 1c9a adds r2, r3, #2 + 800d622: 68fb ldr r3, [r7, #12] + 800d624: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount -= 2U; - 800d06e: 68fb ldr r3, [r7, #12] - 800d070: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d072: b29b uxth r3, r3 - 800d074: 3b02 subs r3, #2 - 800d076: b29a uxth r2, r3 - 800d078: 68fb ldr r3, [r7, #12] - 800d07a: 87da strh r2, [r3, #62] @ 0x3e - 800d07c: e012 b.n 800d0a4 + 800d626: 68fb ldr r3, [r7, #12] + 800d628: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d62a: b29b uxth r3, r3 + 800d62c: 3b02 subs r3, #2 + 800d62e: b29a uxth r2, r3 + 800d630: 68fb ldr r3, [r7, #12] + 800d632: 87da strh r2, [r3, #62] @ 0x3e + 800d634: e012 b.n 800d65c } else { *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); - 800d07e: 68fb ldr r3, [r7, #12] - 800d080: 6b9a ldr r2, [r3, #56] @ 0x38 - 800d082: 68fb ldr r3, [r7, #12] - 800d084: 681b ldr r3, [r3, #0] - 800d086: 330c adds r3, #12 - 800d088: 7812 ldrb r2, [r2, #0] - 800d08a: 701a strb r2, [r3, #0] + 800d636: 68fb ldr r3, [r7, #12] + 800d638: 6b9a ldr r2, [r3, #56] @ 0x38 + 800d63a: 68fb ldr r3, [r7, #12] + 800d63c: 681b ldr r3, [r3, #0] + 800d63e: 330c adds r3, #12 + 800d640: 7812 ldrb r2, [r2, #0] + 800d642: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; - 800d08c: 68fb ldr r3, [r7, #12] - 800d08e: 6b9b ldr r3, [r3, #56] @ 0x38 - 800d090: 1c5a adds r2, r3, #1 - 800d092: 68fb ldr r3, [r7, #12] - 800d094: 639a str r2, [r3, #56] @ 0x38 + 800d644: 68fb ldr r3, [r7, #12] + 800d646: 6b9b ldr r3, [r3, #56] @ 0x38 + 800d648: 1c5a adds r2, r3, #1 + 800d64a: 68fb ldr r3, [r7, #12] + 800d64c: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferCount--; - 800d096: 68fb ldr r3, [r7, #12] - 800d098: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d09a: b29b uxth r3, r3 - 800d09c: 3b01 subs r3, #1 - 800d09e: b29a uxth r2, r3 - 800d0a0: 68fb ldr r3, [r7, #12] - 800d0a2: 87da strh r2, [r3, #62] @ 0x3e + 800d64e: 68fb ldr r3, [r7, #12] + 800d650: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d652: b29b uxth r3, r3 + 800d654: 3b01 subs r3, #1 + 800d656: b29a uxth r2, r3 + 800d658: 68fb ldr r3, [r7, #12] + 800d65a: 87da strh r2, [r3, #62] @ 0x3e } /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; - 800d0a4: 2300 movs r3, #0 - 800d0a6: 627b str r3, [r7, #36] @ 0x24 + 800d65c: 2300 movs r3, #0 + 800d65e: 627b str r3, [r7, #36] @ 0x24 } #endif /* USE_SPI_CRC */ } /* Wait until RXNE flag is reset */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U)) - 800d0a8: 68fb ldr r3, [r7, #12] - 800d0aa: 681b ldr r3, [r3, #0] - 800d0ac: 689b ldr r3, [r3, #8] - 800d0ae: f003 0301 and.w r3, r3, #1 - 800d0b2: 2b01 cmp r3, #1 - 800d0b4: d148 bne.n 800d148 - 800d0b6: 68fb ldr r3, [r7, #12] - 800d0b8: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d0bc: b29b uxth r3, r3 - 800d0be: 2b00 cmp r3, #0 - 800d0c0: d042 beq.n 800d148 + 800d660: 68fb ldr r3, [r7, #12] + 800d662: 681b ldr r3, [r3, #0] + 800d664: 689b ldr r3, [r3, #8] + 800d666: f003 0301 and.w r3, r3, #1 + 800d66a: 2b01 cmp r3, #1 + 800d66c: d148 bne.n 800d700 + 800d66e: 68fb ldr r3, [r7, #12] + 800d670: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d674: b29b uxth r3, r3 + 800d676: 2b00 cmp r3, #0 + 800d678: d042 beq.n 800d700 { if (hspi->RxXferCount > 1U) - 800d0c2: 68fb ldr r3, [r7, #12] - 800d0c4: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d0c8: b29b uxth r3, r3 - 800d0ca: 2b01 cmp r3, #1 - 800d0cc: d923 bls.n 800d116 + 800d67a: 68fb ldr r3, [r7, #12] + 800d67c: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d680: b29b uxth r3, r3 + 800d682: 2b01 cmp r3, #1 + 800d684: d923 bls.n 800d6ce { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; - 800d0ce: 68fb ldr r3, [r7, #12] - 800d0d0: 681b ldr r3, [r3, #0] - 800d0d2: 68da ldr r2, [r3, #12] - 800d0d4: 68fb ldr r3, [r7, #12] - 800d0d6: 6c1b ldr r3, [r3, #64] @ 0x40 - 800d0d8: b292 uxth r2, r2 - 800d0da: 801a strh r2, [r3, #0] + 800d686: 68fb ldr r3, [r7, #12] + 800d688: 681b ldr r3, [r3, #0] + 800d68a: 68da ldr r2, [r3, #12] + 800d68c: 68fb ldr r3, [r7, #12] + 800d68e: 6c1b ldr r3, [r3, #64] @ 0x40 + 800d690: b292 uxth r2, r2 + 800d692: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); - 800d0dc: 68fb ldr r3, [r7, #12] - 800d0de: 6c1b ldr r3, [r3, #64] @ 0x40 - 800d0e0: 1c9a adds r2, r3, #2 - 800d0e2: 68fb ldr r3, [r7, #12] - 800d0e4: 641a str r2, [r3, #64] @ 0x40 + 800d694: 68fb ldr r3, [r7, #12] + 800d696: 6c1b ldr r3, [r3, #64] @ 0x40 + 800d698: 1c9a adds r2, r3, #2 + 800d69a: 68fb ldr r3, [r7, #12] + 800d69c: 641a str r2, [r3, #64] @ 0x40 hspi->RxXferCount -= 2U; - 800d0e6: 68fb ldr r3, [r7, #12] - 800d0e8: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d0ec: b29b uxth r3, r3 - 800d0ee: 3b02 subs r3, #2 - 800d0f0: b29a uxth r2, r3 - 800d0f2: 68fb ldr r3, [r7, #12] - 800d0f4: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800d69e: 68fb ldr r3, [r7, #12] + 800d6a0: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d6a4: b29b uxth r3, r3 + 800d6a6: 3b02 subs r3, #2 + 800d6a8: b29a uxth r2, r3 + 800d6aa: 68fb ldr r3, [r7, #12] + 800d6ac: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 if (hspi->RxXferCount <= 1U) - 800d0f8: 68fb ldr r3, [r7, #12] - 800d0fa: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d0fe: b29b uxth r3, r3 - 800d100: 2b01 cmp r3, #1 - 800d102: d81f bhi.n 800d144 + 800d6b0: 68fb ldr r3, [r7, #12] + 800d6b2: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d6b6: b29b uxth r3, r3 + 800d6b8: 2b01 cmp r3, #1 + 800d6ba: d81f bhi.n 800d6fc { /* Set RX Fifo threshold before to switch on 8 bit data size */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); - 800d104: 68fb ldr r3, [r7, #12] - 800d106: 681b ldr r3, [r3, #0] - 800d108: 685a ldr r2, [r3, #4] - 800d10a: 68fb ldr r3, [r7, #12] - 800d10c: 681b ldr r3, [r3, #0] - 800d10e: f442 5280 orr.w r2, r2, #4096 @ 0x1000 - 800d112: 605a str r2, [r3, #4] - 800d114: e016 b.n 800d144 + 800d6bc: 68fb ldr r3, [r7, #12] + 800d6be: 681b ldr r3, [r3, #0] + 800d6c0: 685a ldr r2, [r3, #4] + 800d6c2: 68fb ldr r3, [r7, #12] + 800d6c4: 681b ldr r3, [r3, #0] + 800d6c6: f442 5280 orr.w r2, r2, #4096 @ 0x1000 + 800d6ca: 605a str r2, [r3, #4] + 800d6cc: e016 b.n 800d6fc } } else { (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR; - 800d116: 68fb ldr r3, [r7, #12] - 800d118: 681b ldr r3, [r3, #0] - 800d11a: f103 020c add.w r2, r3, #12 - 800d11e: 68fb ldr r3, [r7, #12] - 800d120: 6c1b ldr r3, [r3, #64] @ 0x40 - 800d122: 7812 ldrb r2, [r2, #0] - 800d124: b2d2 uxtb r2, r2 - 800d126: 701a strb r2, [r3, #0] + 800d6ce: 68fb ldr r3, [r7, #12] + 800d6d0: 681b ldr r3, [r3, #0] + 800d6d2: f103 020c add.w r2, r3, #12 + 800d6d6: 68fb ldr r3, [r7, #12] + 800d6d8: 6c1b ldr r3, [r3, #64] @ 0x40 + 800d6da: 7812 ldrb r2, [r2, #0] + 800d6dc: b2d2 uxtb r2, r2 + 800d6de: 701a strb r2, [r3, #0] hspi->pRxBuffPtr++; - 800d128: 68fb ldr r3, [r7, #12] - 800d12a: 6c1b ldr r3, [r3, #64] @ 0x40 - 800d12c: 1c5a adds r2, r3, #1 - 800d12e: 68fb ldr r3, [r7, #12] - 800d130: 641a str r2, [r3, #64] @ 0x40 + 800d6e0: 68fb ldr r3, [r7, #12] + 800d6e2: 6c1b ldr r3, [r3, #64] @ 0x40 + 800d6e4: 1c5a adds r2, r3, #1 + 800d6e6: 68fb ldr r3, [r7, #12] + 800d6e8: 641a str r2, [r3, #64] @ 0x40 hspi->RxXferCount--; - 800d132: 68fb ldr r3, [r7, #12] - 800d134: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d138: b29b uxth r3, r3 - 800d13a: 3b01 subs r3, #1 - 800d13c: b29a uxth r2, r3 - 800d13e: 68fb ldr r3, [r7, #12] - 800d140: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800d6ea: 68fb ldr r3, [r7, #12] + 800d6ec: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d6f0: b29b uxth r3, r3 + 800d6f2: 3b01 subs r3, #1 + 800d6f4: b29a uxth r2, r3 + 800d6f6: 68fb ldr r3, [r7, #12] + 800d6f8: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 } /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; - 800d144: 2301 movs r3, #1 - 800d146: 627b str r3, [r7, #36] @ 0x24 + 800d6fc: 2301 movs r3, #1 + 800d6fe: 627b str r3, [r7, #36] @ 0x24 } if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout == 0U)) - 800d148: f7f9 f992 bl 8006470 - 800d14c: 4602 mov r2, r0 - 800d14e: 6a3b ldr r3, [r7, #32] - 800d150: 1ad3 subs r3, r2, r3 - 800d152: 6b3a ldr r2, [r7, #48] @ 0x30 - 800d154: 429a cmp r2, r3 - 800d156: d803 bhi.n 800d160 - 800d158: 6b3b ldr r3, [r7, #48] @ 0x30 - 800d15a: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 800d15e: d102 bne.n 800d166 - 800d160: 6b3b ldr r3, [r7, #48] @ 0x30 - 800d162: 2b00 cmp r3, #0 - 800d164: d109 bne.n 800d17a + 800d700: f7f9 f934 bl 800696c + 800d704: 4602 mov r2, r0 + 800d706: 6a3b ldr r3, [r7, #32] + 800d708: 1ad3 subs r3, r2, r3 + 800d70a: 6b3a ldr r2, [r7, #48] @ 0x30 + 800d70c: 429a cmp r2, r3 + 800d70e: d803 bhi.n 800d718 + 800d710: 6b3b ldr r3, [r7, #48] @ 0x30 + 800d712: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 800d716: d102 bne.n 800d71e + 800d718: 6b3b ldr r3, [r7, #48] @ 0x30 + 800d71a: 2b00 cmp r3, #0 + 800d71c: d109 bne.n 800d732 { hspi->State = HAL_SPI_STATE_READY; - 800d166: 68fb ldr r3, [r7, #12] - 800d168: 2201 movs r2, #1 - 800d16a: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d71e: 68fb ldr r3, [r7, #12] + 800d720: 2201 movs r2, #1 + 800d722: f883 205d strb.w r2, [r3, #93] @ 0x5d __HAL_UNLOCK(hspi); - 800d16e: 68fb ldr r3, [r7, #12] - 800d170: 2200 movs r2, #0 - 800d172: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d726: 68fb ldr r3, [r7, #12] + 800d728: 2200 movs r2, #0 + 800d72a: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_TIMEOUT; - 800d176: 2303 movs r3, #3 - 800d178: e02c b.n 800d1d4 + 800d72e: 2303 movs r3, #3 + 800d730: e02c b.n 800d78c while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) - 800d17a: 68fb ldr r3, [r7, #12] - 800d17c: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d17e: b29b uxth r3, r3 - 800d180: 2b00 cmp r3, #0 - 800d182: f47f af55 bne.w 800d030 - 800d186: 68fb ldr r3, [r7, #12] - 800d188: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d18c: b29b uxth r3, r3 - 800d18e: 2b00 cmp r3, #0 - 800d190: f47f af4e bne.w 800d030 + 800d732: 68fb ldr r3, [r7, #12] + 800d734: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d736: b29b uxth r3, r3 + 800d738: 2b00 cmp r3, #0 + 800d73a: f47f af55 bne.w 800d5e8 + 800d73e: 68fb ldr r3, [r7, #12] + 800d740: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d744: b29b uxth r3, r3 + 800d746: 2b00 cmp r3, #0 + 800d748: f47f af4e bne.w 800d5e8 return HAL_ERROR; } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) - 800d194: 6a3a ldr r2, [r7, #32] - 800d196: 6b39 ldr r1, [r7, #48] @ 0x30 - 800d198: 68f8 ldr r0, [r7, #12] - 800d19a: f000 fc1b bl 800d9d4 - 800d19e: 4603 mov r3, r0 - 800d1a0: 2b00 cmp r3, #0 - 800d1a2: d008 beq.n 800d1b6 + 800d74c: 6a3a ldr r2, [r7, #32] + 800d74e: 6b39 ldr r1, [r7, #48] @ 0x30 + 800d750: 68f8 ldr r0, [r7, #12] + 800d752: f000 fd3b bl 800e1cc + 800d756: 4603 mov r3, r0 + 800d758: 2b00 cmp r3, #0 + 800d75a: d008 beq.n 800d76e { hspi->ErrorCode = HAL_SPI_ERROR_FLAG; - 800d1a4: 68fb ldr r3, [r7, #12] - 800d1a6: 2220 movs r2, #32 - 800d1a8: 661a str r2, [r3, #96] @ 0x60 + 800d75c: 68fb ldr r3, [r7, #12] + 800d75e: 2220 movs r2, #32 + 800d760: 661a str r2, [r3, #96] @ 0x60 __HAL_UNLOCK(hspi); - 800d1aa: 68fb ldr r3, [r7, #12] - 800d1ac: 2200 movs r2, #0 - 800d1ae: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d762: 68fb ldr r3, [r7, #12] + 800d764: 2200 movs r2, #0 + 800d766: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_ERROR; - 800d1b2: 2301 movs r3, #1 - 800d1b4: e00e b.n 800d1d4 + 800d76a: 2301 movs r3, #1 + 800d76c: e00e b.n 800d78c } hspi->State = HAL_SPI_STATE_READY; - 800d1b6: 68fb ldr r3, [r7, #12] - 800d1b8: 2201 movs r2, #1 - 800d1ba: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d76e: 68fb ldr r3, [r7, #12] + 800d770: 2201 movs r2, #1 + 800d772: f883 205d strb.w r2, [r3, #93] @ 0x5d /* Unlock the process */ __HAL_UNLOCK(hspi); - 800d1be: 68fb ldr r3, [r7, #12] - 800d1c0: 2200 movs r2, #0 - 800d1c2: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d776: 68fb ldr r3, [r7, #12] + 800d778: 2200 movs r2, #0 + 800d77a: f883 205c strb.w r2, [r3, #92] @ 0x5c if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) - 800d1c6: 68fb ldr r3, [r7, #12] - 800d1c8: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d1ca: 2b00 cmp r3, #0 - 800d1cc: d001 beq.n 800d1d2 + 800d77e: 68fb ldr r3, [r7, #12] + 800d780: 6e1b ldr r3, [r3, #96] @ 0x60 + 800d782: 2b00 cmp r3, #0 + 800d784: d001 beq.n 800d78a { return HAL_ERROR; - 800d1ce: 2301 movs r3, #1 - 800d1d0: e000 b.n 800d1d4 + 800d786: 2301 movs r3, #1 + 800d788: e000 b.n 800d78c } else { return HAL_OK; - 800d1d2: 2300 movs r3, #0 + 800d78a: 2300 movs r3, #0 } } - 800d1d4: 4618 mov r0, r3 - 800d1d6: 3728 adds r7, #40 @ 0x28 - 800d1d8: 46bd mov sp, r7 - 800d1da: bd80 pop {r7, pc} + 800d78c: 4618 mov r0, r3 + 800d78e: 3728 adds r7, #40 @ 0x28 + 800d790: 46bd mov sp, r7 + 800d792: bd80 pop {r7, pc} -0800d1dc : +0800d794 : * @param Size amount of data elements (u8 or u16) to be sent and received * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) { - 800d1dc: b580 push {r7, lr} - 800d1de: b086 sub sp, #24 - 800d1e0: af00 add r7, sp, #0 - 800d1e2: 60f8 str r0, [r7, #12] - 800d1e4: 60b9 str r1, [r7, #8] - 800d1e6: 607a str r2, [r7, #4] - 800d1e8: 807b strh r3, [r7, #2] + 800d794: b580 push {r7, lr} + 800d796: b086 sub sp, #24 + 800d798: af00 add r7, sp, #0 + 800d79a: 60f8 str r0, [r7, #12] + 800d79c: 60b9 str r1, [r7, #8] + 800d79e: 607a str r2, [r7, #4] + 800d7a0: 807b strh r3, [r7, #2] /* Check Direction parameter */ assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); /* Init temporary variables */ tmp_state = hspi->State; - 800d1ea: 68fb ldr r3, [r7, #12] - 800d1ec: f893 305d ldrb.w r3, [r3, #93] @ 0x5d - 800d1f0: 75fb strb r3, [r7, #23] + 800d7a2: 68fb ldr r3, [r7, #12] + 800d7a4: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800d7a8: 75fb strb r3, [r7, #23] tmp_mode = hspi->Init.Mode; - 800d1f2: 68fb ldr r3, [r7, #12] - 800d1f4: 685b ldr r3, [r3, #4] - 800d1f6: 613b str r3, [r7, #16] + 800d7aa: 68fb ldr r3, [r7, #12] + 800d7ac: 685b ldr r3, [r3, #4] + 800d7ae: 613b str r3, [r7, #16] if (!((tmp_state == HAL_SPI_STATE_READY) || - 800d1f8: 7dfb ldrb r3, [r7, #23] - 800d1fa: 2b01 cmp r3, #1 - 800d1fc: d00c beq.n 800d218 - 800d1fe: 693b ldr r3, [r7, #16] - 800d200: f5b3 7f82 cmp.w r3, #260 @ 0x104 - 800d204: d106 bne.n 800d214 + 800d7b0: 7dfb ldrb r3, [r7, #23] + 800d7b2: 2b01 cmp r3, #1 + 800d7b4: d00c beq.n 800d7d0 + 800d7b6: 693b ldr r3, [r7, #16] + 800d7b8: f5b3 7f82 cmp.w r3, #260 @ 0x104 + 800d7bc: d106 bne.n 800d7cc ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && - 800d206: 68fb ldr r3, [r7, #12] - 800d208: 689b ldr r3, [r3, #8] - 800d20a: 2b00 cmp r3, #0 - 800d20c: d102 bne.n 800d214 - 800d20e: 7dfb ldrb r3, [r7, #23] - 800d210: 2b04 cmp r3, #4 - 800d212: d001 beq.n 800d218 + 800d7be: 68fb ldr r3, [r7, #12] + 800d7c0: 689b ldr r3, [r3, #8] + 800d7c2: 2b00 cmp r3, #0 + 800d7c4: d102 bne.n 800d7cc + 800d7c6: 7dfb ldrb r3, [r7, #23] + 800d7c8: 2b04 cmp r3, #4 + 800d7ca: d001 beq.n 800d7d0 (tmp_state == HAL_SPI_STATE_BUSY_RX)))) { return HAL_BUSY; - 800d214: 2302 movs r3, #2 - 800d216: e158 b.n 800d4ca + 800d7cc: 2302 movs r3, #2 + 800d7ce: e158 b.n 800da82 } if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) - 800d218: 68bb ldr r3, [r7, #8] - 800d21a: 2b00 cmp r3, #0 - 800d21c: d005 beq.n 800d22a - 800d21e: 687b ldr r3, [r7, #4] - 800d220: 2b00 cmp r3, #0 - 800d222: d002 beq.n 800d22a - 800d224: 887b ldrh r3, [r7, #2] - 800d226: 2b00 cmp r3, #0 - 800d228: d101 bne.n 800d22e + 800d7d0: 68bb ldr r3, [r7, #8] + 800d7d2: 2b00 cmp r3, #0 + 800d7d4: d005 beq.n 800d7e2 + 800d7d6: 687b ldr r3, [r7, #4] + 800d7d8: 2b00 cmp r3, #0 + 800d7da: d002 beq.n 800d7e2 + 800d7dc: 887b ldrh r3, [r7, #2] + 800d7de: 2b00 cmp r3, #0 + 800d7e0: d101 bne.n 800d7e6 { return HAL_ERROR; - 800d22a: 2301 movs r3, #1 - 800d22c: e14d b.n 800d4ca + 800d7e2: 2301 movs r3, #1 + 800d7e4: e14d b.n 800da82 } /* Process locked */ __HAL_LOCK(hspi); - 800d22e: 68fb ldr r3, [r7, #12] - 800d230: f893 305c ldrb.w r3, [r3, #92] @ 0x5c - 800d234: 2b01 cmp r3, #1 - 800d236: d101 bne.n 800d23c - 800d238: 2302 movs r3, #2 - 800d23a: e146 b.n 800d4ca - 800d23c: 68fb ldr r3, [r7, #12] - 800d23e: 2201 movs r2, #1 - 800d240: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d7e6: 68fb ldr r3, [r7, #12] + 800d7e8: f893 305c ldrb.w r3, [r3, #92] @ 0x5c + 800d7ec: 2b01 cmp r3, #1 + 800d7ee: d101 bne.n 800d7f4 + 800d7f0: 2302 movs r3, #2 + 800d7f2: e146 b.n 800da82 + 800d7f4: 68fb ldr r3, [r7, #12] + 800d7f6: 2201 movs r2, #1 + 800d7f8: f883 205c strb.w r2, [r3, #92] @ 0x5c /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ if (hspi->State != HAL_SPI_STATE_BUSY_RX) - 800d244: 68fb ldr r3, [r7, #12] - 800d246: f893 305d ldrb.w r3, [r3, #93] @ 0x5d - 800d24a: b2db uxtb r3, r3 - 800d24c: 2b04 cmp r3, #4 - 800d24e: d003 beq.n 800d258 + 800d7fc: 68fb ldr r3, [r7, #12] + 800d7fe: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800d802: b2db uxtb r3, r3 + 800d804: 2b04 cmp r3, #4 + 800d806: d003 beq.n 800d810 { hspi->State = HAL_SPI_STATE_BUSY_TX_RX; - 800d250: 68fb ldr r3, [r7, #12] - 800d252: 2205 movs r2, #5 - 800d254: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800d808: 68fb ldr r3, [r7, #12] + 800d80a: 2205 movs r2, #5 + 800d80c: f883 205d strb.w r2, [r3, #93] @ 0x5d } /* Set the transaction information */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; - 800d258: 68fb ldr r3, [r7, #12] - 800d25a: 2200 movs r2, #0 - 800d25c: 661a str r2, [r3, #96] @ 0x60 + 800d810: 68fb ldr r3, [r7, #12] + 800d812: 2200 movs r2, #0 + 800d814: 661a str r2, [r3, #96] @ 0x60 hspi->pTxBuffPtr = (const uint8_t *)pTxData; - 800d25e: 68fb ldr r3, [r7, #12] - 800d260: 68ba ldr r2, [r7, #8] - 800d262: 639a str r2, [r3, #56] @ 0x38 + 800d816: 68fb ldr r3, [r7, #12] + 800d818: 68ba ldr r2, [r7, #8] + 800d81a: 639a str r2, [r3, #56] @ 0x38 hspi->TxXferSize = Size; - 800d264: 68fb ldr r3, [r7, #12] - 800d266: 887a ldrh r2, [r7, #2] - 800d268: 879a strh r2, [r3, #60] @ 0x3c + 800d81c: 68fb ldr r3, [r7, #12] + 800d81e: 887a ldrh r2, [r7, #2] + 800d820: 879a strh r2, [r3, #60] @ 0x3c hspi->TxXferCount = Size; - 800d26a: 68fb ldr r3, [r7, #12] - 800d26c: 887a ldrh r2, [r7, #2] - 800d26e: 87da strh r2, [r3, #62] @ 0x3e + 800d822: 68fb ldr r3, [r7, #12] + 800d824: 887a ldrh r2, [r7, #2] + 800d826: 87da strh r2, [r3, #62] @ 0x3e hspi->pRxBuffPtr = (uint8_t *)pRxData; - 800d270: 68fb ldr r3, [r7, #12] - 800d272: 687a ldr r2, [r7, #4] - 800d274: 641a str r2, [r3, #64] @ 0x40 + 800d828: 68fb ldr r3, [r7, #12] + 800d82a: 687a ldr r2, [r7, #4] + 800d82c: 641a str r2, [r3, #64] @ 0x40 hspi->RxXferSize = Size; - 800d276: 68fb ldr r3, [r7, #12] - 800d278: 887a ldrh r2, [r7, #2] - 800d27a: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 800d82e: 68fb ldr r3, [r7, #12] + 800d830: 887a ldrh r2, [r7, #2] + 800d832: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 hspi->RxXferCount = Size; - 800d27e: 68fb ldr r3, [r7, #12] - 800d280: 887a ldrh r2, [r7, #2] - 800d282: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800d836: 68fb ldr r3, [r7, #12] + 800d838: 887a ldrh r2, [r7, #2] + 800d83a: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 /* Init field not used in handle to zero */ hspi->RxISR = NULL; - 800d286: 68fb ldr r3, [r7, #12] - 800d288: 2200 movs r2, #0 - 800d28a: 64da str r2, [r3, #76] @ 0x4c + 800d83e: 68fb ldr r3, [r7, #12] + 800d840: 2200 movs r2, #0 + 800d842: 64da str r2, [r3, #76] @ 0x4c hspi->TxISR = NULL; - 800d28c: 68fb ldr r3, [r7, #12] - 800d28e: 2200 movs r2, #0 - 800d290: 651a str r2, [r3, #80] @ 0x50 + 800d844: 68fb ldr r3, [r7, #12] + 800d846: 2200 movs r2, #0 + 800d848: 651a str r2, [r3, #80] @ 0x50 SPI_RESET_CRC(hspi); } #endif /* USE_SPI_CRC */ /* Reset the threshold bit */ CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX | SPI_CR2_LDMARX); - 800d292: 68fb ldr r3, [r7, #12] - 800d294: 681b ldr r3, [r3, #0] - 800d296: 685a ldr r2, [r3, #4] - 800d298: 68fb ldr r3, [r7, #12] - 800d29a: 681b ldr r3, [r3, #0] - 800d29c: f422 42c0 bic.w r2, r2, #24576 @ 0x6000 - 800d2a0: 605a str r2, [r3, #4] + 800d84a: 68fb ldr r3, [r7, #12] + 800d84c: 681b ldr r3, [r3, #0] + 800d84e: 685a ldr r2, [r3, #4] + 800d850: 68fb ldr r3, [r7, #12] + 800d852: 681b ldr r3, [r3, #0] + 800d854: f422 42c0 bic.w r2, r2, #24576 @ 0x6000 + 800d858: 605a str r2, [r3, #4] /* The packing mode management is enabled by the DMA settings according the spi data size */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) - 800d2a2: 68fb ldr r3, [r7, #12] - 800d2a4: 68db ldr r3, [r3, #12] - 800d2a6: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 - 800d2aa: d908 bls.n 800d2be + 800d85a: 68fb ldr r3, [r7, #12] + 800d85c: 68db ldr r3, [r3, #12] + 800d85e: f5b3 6fe0 cmp.w r3, #1792 @ 0x700 + 800d862: d908 bls.n 800d876 { /* Set fiforxthreshold according the reception data length: 16bit */ CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); - 800d2ac: 68fb ldr r3, [r7, #12] - 800d2ae: 681b ldr r3, [r3, #0] - 800d2b0: 685a ldr r2, [r3, #4] - 800d2b2: 68fb ldr r3, [r7, #12] - 800d2b4: 681b ldr r3, [r3, #0] - 800d2b6: f422 5280 bic.w r2, r2, #4096 @ 0x1000 - 800d2ba: 605a str r2, [r3, #4] - 800d2bc: e06f b.n 800d39e + 800d864: 68fb ldr r3, [r7, #12] + 800d866: 681b ldr r3, [r3, #0] + 800d868: 685a ldr r2, [r3, #4] + 800d86a: 68fb ldr r3, [r7, #12] + 800d86c: 681b ldr r3, [r3, #0] + 800d86e: f422 5280 bic.w r2, r2, #4096 @ 0x1000 + 800d872: 605a str r2, [r3, #4] + 800d874: e06f b.n 800d956 } else { /* Set RX Fifo threshold according the reception data length: 8bit */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); - 800d2be: 68fb ldr r3, [r7, #12] - 800d2c0: 681b ldr r3, [r3, #0] - 800d2c2: 685a ldr r2, [r3, #4] - 800d2c4: 68fb ldr r3, [r7, #12] - 800d2c6: 681b ldr r3, [r3, #0] - 800d2c8: f442 5280 orr.w r2, r2, #4096 @ 0x1000 - 800d2cc: 605a str r2, [r3, #4] + 800d876: 68fb ldr r3, [r7, #12] + 800d878: 681b ldr r3, [r3, #0] + 800d87a: 685a ldr r2, [r3, #4] + 800d87c: 68fb ldr r3, [r7, #12] + 800d87e: 681b ldr r3, [r3, #0] + 800d880: f442 5280 orr.w r2, r2, #4096 @ 0x1000 + 800d884: 605a str r2, [r3, #4] if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) - 800d2ce: 68fb ldr r3, [r7, #12] - 800d2d0: 6d5b ldr r3, [r3, #84] @ 0x54 - 800d2d2: 699b ldr r3, [r3, #24] - 800d2d4: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 800d2d8: d126 bne.n 800d328 + 800d886: 68fb ldr r3, [r7, #12] + 800d888: 6d5b ldr r3, [r3, #84] @ 0x54 + 800d88a: 699b ldr r3, [r3, #24] + 800d88c: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 800d890: d126 bne.n 800d8e0 { if ((hspi->TxXferSize & 0x1U) == 0x0U) - 800d2da: 68fb ldr r3, [r7, #12] - 800d2dc: 8f9b ldrh r3, [r3, #60] @ 0x3c - 800d2de: f003 0301 and.w r3, r3, #1 - 800d2e2: 2b00 cmp r3, #0 - 800d2e4: d10f bne.n 800d306 + 800d892: 68fb ldr r3, [r7, #12] + 800d894: 8f9b ldrh r3, [r3, #60] @ 0x3c + 800d896: f003 0301 and.w r3, r3, #1 + 800d89a: 2b00 cmp r3, #0 + 800d89c: d10f bne.n 800d8be { CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX); - 800d2e6: 68fb ldr r3, [r7, #12] - 800d2e8: 681b ldr r3, [r3, #0] - 800d2ea: 685a ldr r2, [r3, #4] - 800d2ec: 68fb ldr r3, [r7, #12] - 800d2ee: 681b ldr r3, [r3, #0] - 800d2f0: f422 4280 bic.w r2, r2, #16384 @ 0x4000 - 800d2f4: 605a str r2, [r3, #4] + 800d89e: 68fb ldr r3, [r7, #12] + 800d8a0: 681b ldr r3, [r3, #0] + 800d8a2: 685a ldr r2, [r3, #4] + 800d8a4: 68fb ldr r3, [r7, #12] + 800d8a6: 681b ldr r3, [r3, #0] + 800d8a8: f422 4280 bic.w r2, r2, #16384 @ 0x4000 + 800d8ac: 605a str r2, [r3, #4] hspi->TxXferCount = hspi->TxXferCount >> 1U; - 800d2f6: 68fb ldr r3, [r7, #12] - 800d2f8: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d2fa: b29b uxth r3, r3 - 800d2fc: 085b lsrs r3, r3, #1 - 800d2fe: b29a uxth r2, r3 - 800d300: 68fb ldr r3, [r7, #12] - 800d302: 87da strh r2, [r3, #62] @ 0x3e - 800d304: e010 b.n 800d328 + 800d8ae: 68fb ldr r3, [r7, #12] + 800d8b0: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d8b2: b29b uxth r3, r3 + 800d8b4: 085b lsrs r3, r3, #1 + 800d8b6: b29a uxth r2, r3 + 800d8b8: 68fb ldr r3, [r7, #12] + 800d8ba: 87da strh r2, [r3, #62] @ 0x3e + 800d8bc: e010 b.n 800d8e0 } else { SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX); - 800d306: 68fb ldr r3, [r7, #12] - 800d308: 681b ldr r3, [r3, #0] - 800d30a: 685a ldr r2, [r3, #4] - 800d30c: 68fb ldr r3, [r7, #12] - 800d30e: 681b ldr r3, [r3, #0] - 800d310: f442 4280 orr.w r2, r2, #16384 @ 0x4000 - 800d314: 605a str r2, [r3, #4] + 800d8be: 68fb ldr r3, [r7, #12] + 800d8c0: 681b ldr r3, [r3, #0] + 800d8c2: 685a ldr r2, [r3, #4] + 800d8c4: 68fb ldr r3, [r7, #12] + 800d8c6: 681b ldr r3, [r3, #0] + 800d8c8: f442 4280 orr.w r2, r2, #16384 @ 0x4000 + 800d8cc: 605a str r2, [r3, #4] hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U; - 800d316: 68fb ldr r3, [r7, #12] - 800d318: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d31a: b29b uxth r3, r3 - 800d31c: 085b lsrs r3, r3, #1 - 800d31e: b29b uxth r3, r3 - 800d320: 3301 adds r3, #1 - 800d322: b29a uxth r2, r3 - 800d324: 68fb ldr r3, [r7, #12] - 800d326: 87da strh r2, [r3, #62] @ 0x3e + 800d8ce: 68fb ldr r3, [r7, #12] + 800d8d0: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800d8d2: b29b uxth r3, r3 + 800d8d4: 085b lsrs r3, r3, #1 + 800d8d6: b29b uxth r3, r3 + 800d8d8: 3301 adds r3, #1 + 800d8da: b29a uxth r2, r3 + 800d8dc: 68fb ldr r3, [r7, #12] + 800d8de: 87da strh r2, [r3, #62] @ 0x3e } } if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) - 800d328: 68fb ldr r3, [r7, #12] - 800d32a: 6d9b ldr r3, [r3, #88] @ 0x58 - 800d32c: 699b ldr r3, [r3, #24] - 800d32e: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 800d332: d134 bne.n 800d39e + 800d8e0: 68fb ldr r3, [r7, #12] + 800d8e2: 6d9b ldr r3, [r3, #88] @ 0x58 + 800d8e4: 699b ldr r3, [r3, #24] + 800d8e6: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 800d8ea: d134 bne.n 800d956 { /* Set RX Fifo threshold according the reception data length: 16bit */ CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); - 800d334: 68fb ldr r3, [r7, #12] - 800d336: 681b ldr r3, [r3, #0] - 800d338: 685a ldr r2, [r3, #4] - 800d33a: 68fb ldr r3, [r7, #12] - 800d33c: 681b ldr r3, [r3, #0] - 800d33e: f422 5280 bic.w r2, r2, #4096 @ 0x1000 - 800d342: 605a str r2, [r3, #4] + 800d8ec: 68fb ldr r3, [r7, #12] + 800d8ee: 681b ldr r3, [r3, #0] + 800d8f0: 685a ldr r2, [r3, #4] + 800d8f2: 68fb ldr r3, [r7, #12] + 800d8f4: 681b ldr r3, [r3, #0] + 800d8f6: f422 5280 bic.w r2, r2, #4096 @ 0x1000 + 800d8fa: 605a str r2, [r3, #4] if ((hspi->RxXferCount & 0x1U) == 0x0U) - 800d344: 68fb ldr r3, [r7, #12] - 800d346: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d34a: b29b uxth r3, r3 - 800d34c: f003 0301 and.w r3, r3, #1 - 800d350: 2b00 cmp r3, #0 - 800d352: d111 bne.n 800d378 + 800d8fc: 68fb ldr r3, [r7, #12] + 800d8fe: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d902: b29b uxth r3, r3 + 800d904: f003 0301 and.w r3, r3, #1 + 800d908: 2b00 cmp r3, #0 + 800d90a: d111 bne.n 800d930 { CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX); - 800d354: 68fb ldr r3, [r7, #12] - 800d356: 681b ldr r3, [r3, #0] - 800d358: 685a ldr r2, [r3, #4] - 800d35a: 68fb ldr r3, [r7, #12] - 800d35c: 681b ldr r3, [r3, #0] - 800d35e: f422 5200 bic.w r2, r2, #8192 @ 0x2000 - 800d362: 605a str r2, [r3, #4] + 800d90c: 68fb ldr r3, [r7, #12] + 800d90e: 681b ldr r3, [r3, #0] + 800d910: 685a ldr r2, [r3, #4] + 800d912: 68fb ldr r3, [r7, #12] + 800d914: 681b ldr r3, [r3, #0] + 800d916: f422 5200 bic.w r2, r2, #8192 @ 0x2000 + 800d91a: 605a str r2, [r3, #4] hspi->RxXferCount = hspi->RxXferCount >> 1U; - 800d364: 68fb ldr r3, [r7, #12] - 800d366: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d36a: b29b uxth r3, r3 - 800d36c: 085b lsrs r3, r3, #1 - 800d36e: b29a uxth r2, r3 - 800d370: 68fb ldr r3, [r7, #12] - 800d372: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 - 800d376: e012 b.n 800d39e + 800d91c: 68fb ldr r3, [r7, #12] + 800d91e: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d922: b29b uxth r3, r3 + 800d924: 085b lsrs r3, r3, #1 + 800d926: b29a uxth r2, r3 + 800d928: 68fb ldr r3, [r7, #12] + 800d92a: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800d92e: e012 b.n 800d956 } else { SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX); - 800d378: 68fb ldr r3, [r7, #12] - 800d37a: 681b ldr r3, [r3, #0] - 800d37c: 685a ldr r2, [r3, #4] - 800d37e: 68fb ldr r3, [r7, #12] - 800d380: 681b ldr r3, [r3, #0] - 800d382: f442 5200 orr.w r2, r2, #8192 @ 0x2000 - 800d386: 605a str r2, [r3, #4] + 800d930: 68fb ldr r3, [r7, #12] + 800d932: 681b ldr r3, [r3, #0] + 800d934: 685a ldr r2, [r3, #4] + 800d936: 68fb ldr r3, [r7, #12] + 800d938: 681b ldr r3, [r3, #0] + 800d93a: f442 5200 orr.w r2, r2, #8192 @ 0x2000 + 800d93e: 605a str r2, [r3, #4] hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U; - 800d388: 68fb ldr r3, [r7, #12] - 800d38a: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d38e: b29b uxth r3, r3 - 800d390: 085b lsrs r3, r3, #1 - 800d392: b29b uxth r3, r3 - 800d394: 3301 adds r3, #1 - 800d396: b29a uxth r2, r3 - 800d398: 68fb ldr r3, [r7, #12] - 800d39a: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800d940: 68fb ldr r3, [r7, #12] + 800d942: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d946: b29b uxth r3, r3 + 800d948: 085b lsrs r3, r3, #1 + 800d94a: b29b uxth r3, r3 + 800d94c: 3301 adds r3, #1 + 800d94e: b29a uxth r2, r3 + 800d950: 68fb ldr r3, [r7, #12] + 800d952: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 } } } /* Check if we are in Rx only or in Rx/Tx Mode and configure the DMA transfer complete callback */ if (hspi->State == HAL_SPI_STATE_BUSY_RX) - 800d39e: 68fb ldr r3, [r7, #12] - 800d3a0: f893 305d ldrb.w r3, [r3, #93] @ 0x5d - 800d3a4: b2db uxtb r3, r3 - 800d3a6: 2b04 cmp r3, #4 - 800d3a8: d108 bne.n 800d3bc + 800d956: 68fb ldr r3, [r7, #12] + 800d958: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800d95c: b2db uxtb r3, r3 + 800d95e: 2b04 cmp r3, #4 + 800d960: d108 bne.n 800d974 { /* Set the SPI Rx DMA Half transfer complete callback */ hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt; - 800d3aa: 68fb ldr r3, [r7, #12] - 800d3ac: 6d9b ldr r3, [r3, #88] @ 0x58 - 800d3ae: 4a49 ldr r2, [pc, #292] @ (800d4d4 ) - 800d3b0: 631a str r2, [r3, #48] @ 0x30 + 800d962: 68fb ldr r3, [r7, #12] + 800d964: 6d9b ldr r3, [r3, #88] @ 0x58 + 800d966: 4a49 ldr r2, [pc, #292] @ (800da8c ) + 800d968: 631a str r2, [r3, #48] @ 0x30 hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; - 800d3b2: 68fb ldr r3, [r7, #12] - 800d3b4: 6d9b ldr r3, [r3, #88] @ 0x58 - 800d3b6: 4a48 ldr r2, [pc, #288] @ (800d4d8 ) - 800d3b8: 62da str r2, [r3, #44] @ 0x2c - 800d3ba: e007 b.n 800d3cc + 800d96a: 68fb ldr r3, [r7, #12] + 800d96c: 6d9b ldr r3, [r3, #88] @ 0x58 + 800d96e: 4a48 ldr r2, [pc, #288] @ (800da90 ) + 800d970: 62da str r2, [r3, #44] @ 0x2c + 800d972: e007 b.n 800d984 } else { /* Set the SPI Tx/Rx DMA Half transfer complete callback */ hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfTransmitReceiveCplt; - 800d3bc: 68fb ldr r3, [r7, #12] - 800d3be: 6d9b ldr r3, [r3, #88] @ 0x58 - 800d3c0: 4a46 ldr r2, [pc, #280] @ (800d4dc ) - 800d3c2: 631a str r2, [r3, #48] @ 0x30 + 800d974: 68fb ldr r3, [r7, #12] + 800d976: 6d9b ldr r3, [r3, #88] @ 0x58 + 800d978: 4a46 ldr r2, [pc, #280] @ (800da94 ) + 800d97a: 631a str r2, [r3, #48] @ 0x30 hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt; - 800d3c4: 68fb ldr r3, [r7, #12] - 800d3c6: 6d9b ldr r3, [r3, #88] @ 0x58 - 800d3c8: 4a45 ldr r2, [pc, #276] @ (800d4e0 ) - 800d3ca: 62da str r2, [r3, #44] @ 0x2c + 800d97c: 68fb ldr r3, [r7, #12] + 800d97e: 6d9b ldr r3, [r3, #88] @ 0x58 + 800d980: 4a45 ldr r2, [pc, #276] @ (800da98 ) + 800d982: 62da str r2, [r3, #44] @ 0x2c } /* Set the DMA error callback */ hspi->hdmarx->XferErrorCallback = SPI_DMAError; - 800d3cc: 68fb ldr r3, [r7, #12] - 800d3ce: 6d9b ldr r3, [r3, #88] @ 0x58 - 800d3d0: 4a44 ldr r2, [pc, #272] @ (800d4e4 ) - 800d3d2: 635a str r2, [r3, #52] @ 0x34 + 800d984: 68fb ldr r3, [r7, #12] + 800d986: 6d9b ldr r3, [r3, #88] @ 0x58 + 800d988: 4a44 ldr r2, [pc, #272] @ (800da9c ) + 800d98a: 635a str r2, [r3, #52] @ 0x34 /* Set the DMA AbortCpltCallback */ hspi->hdmarx->XferAbortCallback = NULL; - 800d3d4: 68fb ldr r3, [r7, #12] - 800d3d6: 6d9b ldr r3, [r3, #88] @ 0x58 - 800d3d8: 2200 movs r2, #0 - 800d3da: 639a str r2, [r3, #56] @ 0x38 + 800d98c: 68fb ldr r3, [r7, #12] + 800d98e: 6d9b ldr r3, [r3, #88] @ 0x58 + 800d990: 2200 movs r2, #0 + 800d992: 639a str r2, [r3, #56] @ 0x38 /* Enable the Rx DMA Stream/Channel */ if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBuffPtr, - 800d3dc: 68fb ldr r3, [r7, #12] - 800d3de: 6d98 ldr r0, [r3, #88] @ 0x58 - 800d3e0: 68fb ldr r3, [r7, #12] - 800d3e2: 681b ldr r3, [r3, #0] - 800d3e4: 330c adds r3, #12 - 800d3e6: 4619 mov r1, r3 - 800d3e8: 68fb ldr r3, [r7, #12] - 800d3ea: 6c1b ldr r3, [r3, #64] @ 0x40 - 800d3ec: 461a mov r2, r3 + 800d994: 68fb ldr r3, [r7, #12] + 800d996: 6d98 ldr r0, [r3, #88] @ 0x58 + 800d998: 68fb ldr r3, [r7, #12] + 800d99a: 681b ldr r3, [r3, #0] + 800d99c: 330c adds r3, #12 + 800d99e: 4619 mov r1, r3 + 800d9a0: 68fb ldr r3, [r7, #12] + 800d9a2: 6c1b ldr r3, [r3, #64] @ 0x40 + 800d9a4: 461a mov r2, r3 hspi->RxXferCount)) - 800d3ee: 68fb ldr r3, [r7, #12] - 800d3f0: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 - 800d3f4: b29b uxth r3, r3 + 800d9a6: 68fb ldr r3, [r7, #12] + 800d9a8: f8b3 3046 ldrh.w r3, [r3, #70] @ 0x46 + 800d9ac: b29b uxth r3, r3 if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBuffPtr, - 800d3f6: f7f9 fa65 bl 80068c4 - 800d3fa: 4603 mov r3, r0 - 800d3fc: 2b00 cmp r3, #0 - 800d3fe: d00b beq.n 800d418 + 800d9ae: f7f9 fa07 bl 8006dc0 + 800d9b2: 4603 mov r3, r0 + 800d9b4: 2b00 cmp r3, #0 + 800d9b6: d00b beq.n 800d9d0 { /* Update SPI error code */ SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); - 800d400: 68fb ldr r3, [r7, #12] - 800d402: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d404: f043 0210 orr.w r2, r3, #16 - 800d408: 68fb ldr r3, [r7, #12] - 800d40a: 661a str r2, [r3, #96] @ 0x60 + 800d9b8: 68fb ldr r3, [r7, #12] + 800d9ba: 6e1b ldr r3, [r3, #96] @ 0x60 + 800d9bc: f043 0210 orr.w r2, r3, #16 + 800d9c0: 68fb ldr r3, [r7, #12] + 800d9c2: 661a str r2, [r3, #96] @ 0x60 /* Process Unlocked */ __HAL_UNLOCK(hspi); - 800d40c: 68fb ldr r3, [r7, #12] - 800d40e: 2200 movs r2, #0 - 800d410: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800d9c4: 68fb ldr r3, [r7, #12] + 800d9c6: 2200 movs r2, #0 + 800d9c8: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_ERROR; - 800d414: 2301 movs r3, #1 - 800d416: e058 b.n 800d4ca + 800d9cc: 2301 movs r3, #1 + 800d9ce: e058 b.n 800da82 } /* Enable Rx DMA Request */ SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN); - 800d418: 68fb ldr r3, [r7, #12] - 800d41a: 681b ldr r3, [r3, #0] - 800d41c: 685a ldr r2, [r3, #4] - 800d41e: 68fb ldr r3, [r7, #12] - 800d420: 681b ldr r3, [r3, #0] - 800d422: f042 0201 orr.w r2, r2, #1 - 800d426: 605a str r2, [r3, #4] + 800d9d0: 68fb ldr r3, [r7, #12] + 800d9d2: 681b ldr r3, [r3, #0] + 800d9d4: 685a ldr r2, [r3, #4] + 800d9d6: 68fb ldr r3, [r7, #12] + 800d9d8: 681b ldr r3, [r3, #0] + 800d9da: f042 0201 orr.w r2, r2, #1 + 800d9de: 605a str r2, [r3, #4] /* Set the SPI Tx DMA transfer complete callback as NULL because the communication closing is performed in DMA reception complete callback */ hspi->hdmatx->XferHalfCpltCallback = NULL; - 800d428: 68fb ldr r3, [r7, #12] - 800d42a: 6d5b ldr r3, [r3, #84] @ 0x54 - 800d42c: 2200 movs r2, #0 - 800d42e: 631a str r2, [r3, #48] @ 0x30 + 800d9e0: 68fb ldr r3, [r7, #12] + 800d9e2: 6d5b ldr r3, [r3, #84] @ 0x54 + 800d9e4: 2200 movs r2, #0 + 800d9e6: 631a str r2, [r3, #48] @ 0x30 hspi->hdmatx->XferCpltCallback = NULL; - 800d430: 68fb ldr r3, [r7, #12] - 800d432: 6d5b ldr r3, [r3, #84] @ 0x54 - 800d434: 2200 movs r2, #0 - 800d436: 62da str r2, [r3, #44] @ 0x2c + 800d9e8: 68fb ldr r3, [r7, #12] + 800d9ea: 6d5b ldr r3, [r3, #84] @ 0x54 + 800d9ec: 2200 movs r2, #0 + 800d9ee: 62da str r2, [r3, #44] @ 0x2c hspi->hdmatx->XferErrorCallback = NULL; - 800d438: 68fb ldr r3, [r7, #12] - 800d43a: 6d5b ldr r3, [r3, #84] @ 0x54 - 800d43c: 2200 movs r2, #0 - 800d43e: 635a str r2, [r3, #52] @ 0x34 + 800d9f0: 68fb ldr r3, [r7, #12] + 800d9f2: 6d5b ldr r3, [r3, #84] @ 0x54 + 800d9f4: 2200 movs r2, #0 + 800d9f6: 635a str r2, [r3, #52] @ 0x34 hspi->hdmatx->XferAbortCallback = NULL; - 800d440: 68fb ldr r3, [r7, #12] - 800d442: 6d5b ldr r3, [r3, #84] @ 0x54 - 800d444: 2200 movs r2, #0 - 800d446: 639a str r2, [r3, #56] @ 0x38 + 800d9f8: 68fb ldr r3, [r7, #12] + 800d9fa: 6d5b ldr r3, [r3, #84] @ 0x54 + 800d9fc: 2200 movs r2, #0 + 800d9fe: 639a str r2, [r3, #56] @ 0x38 /* Enable the Tx DMA Stream/Channel */ if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instance->DR, - 800d448: 68fb ldr r3, [r7, #12] - 800d44a: 6d58 ldr r0, [r3, #84] @ 0x54 - 800d44c: 68fb ldr r3, [r7, #12] - 800d44e: 6b9b ldr r3, [r3, #56] @ 0x38 - 800d450: 4619 mov r1, r3 - 800d452: 68fb ldr r3, [r7, #12] - 800d454: 681b ldr r3, [r3, #0] - 800d456: 330c adds r3, #12 - 800d458: 461a mov r2, r3 + 800da00: 68fb ldr r3, [r7, #12] + 800da02: 6d58 ldr r0, [r3, #84] @ 0x54 + 800da04: 68fb ldr r3, [r7, #12] + 800da06: 6b9b ldr r3, [r3, #56] @ 0x38 + 800da08: 4619 mov r1, r3 + 800da0a: 68fb ldr r3, [r7, #12] + 800da0c: 681b ldr r3, [r3, #0] + 800da0e: 330c adds r3, #12 + 800da10: 461a mov r2, r3 hspi->TxXferCount)) - 800d45a: 68fb ldr r3, [r7, #12] - 800d45c: 8fdb ldrh r3, [r3, #62] @ 0x3e - 800d45e: b29b uxth r3, r3 + 800da12: 68fb ldr r3, [r7, #12] + 800da14: 8fdb ldrh r3, [r3, #62] @ 0x3e + 800da16: b29b uxth r3, r3 if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instance->DR, - 800d460: f7f9 fa30 bl 80068c4 - 800d464: 4603 mov r3, r0 - 800d466: 2b00 cmp r3, #0 - 800d468: d00b beq.n 800d482 + 800da18: f7f9 f9d2 bl 8006dc0 + 800da1c: 4603 mov r3, r0 + 800da1e: 2b00 cmp r3, #0 + 800da20: d00b beq.n 800da3a { /* Update SPI error code */ SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); - 800d46a: 68fb ldr r3, [r7, #12] - 800d46c: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d46e: f043 0210 orr.w r2, r3, #16 - 800d472: 68fb ldr r3, [r7, #12] - 800d474: 661a str r2, [r3, #96] @ 0x60 + 800da22: 68fb ldr r3, [r7, #12] + 800da24: 6e1b ldr r3, [r3, #96] @ 0x60 + 800da26: f043 0210 orr.w r2, r3, #16 + 800da2a: 68fb ldr r3, [r7, #12] + 800da2c: 661a str r2, [r3, #96] @ 0x60 /* Process Unlocked */ __HAL_UNLOCK(hspi); - 800d476: 68fb ldr r3, [r7, #12] - 800d478: 2200 movs r2, #0 - 800d47a: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800da2e: 68fb ldr r3, [r7, #12] + 800da30: 2200 movs r2, #0 + 800da32: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_ERROR; - 800d47e: 2301 movs r3, #1 - 800d480: e023 b.n 800d4ca + 800da36: 2301 movs r3, #1 + 800da38: e023 b.n 800da82 } /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) - 800d482: 68fb ldr r3, [r7, #12] - 800d484: 681b ldr r3, [r3, #0] - 800d486: 681b ldr r3, [r3, #0] - 800d488: f003 0340 and.w r3, r3, #64 @ 0x40 - 800d48c: 2b40 cmp r3, #64 @ 0x40 - 800d48e: d007 beq.n 800d4a0 + 800da3a: 68fb ldr r3, [r7, #12] + 800da3c: 681b ldr r3, [r3, #0] + 800da3e: 681b ldr r3, [r3, #0] + 800da40: f003 0340 and.w r3, r3, #64 @ 0x40 + 800da44: 2b40 cmp r3, #64 @ 0x40 + 800da46: d007 beq.n 800da58 { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); - 800d490: 68fb ldr r3, [r7, #12] - 800d492: 681b ldr r3, [r3, #0] - 800d494: 681a ldr r2, [r3, #0] - 800d496: 68fb ldr r3, [r7, #12] - 800d498: 681b ldr r3, [r3, #0] - 800d49a: f042 0240 orr.w r2, r2, #64 @ 0x40 - 800d49e: 601a str r2, [r3, #0] + 800da48: 68fb ldr r3, [r7, #12] + 800da4a: 681b ldr r3, [r3, #0] + 800da4c: 681a ldr r2, [r3, #0] + 800da4e: 68fb ldr r3, [r7, #12] + 800da50: 681b ldr r3, [r3, #0] + 800da52: f042 0240 orr.w r2, r2, #64 @ 0x40 + 800da56: 601a str r2, [r3, #0] } /* Process Unlocked */ __HAL_UNLOCK(hspi); - 800d4a0: 68fb ldr r3, [r7, #12] - 800d4a2: 2200 movs r2, #0 - 800d4a4: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800da58: 68fb ldr r3, [r7, #12] + 800da5a: 2200 movs r2, #0 + 800da5c: f883 205c strb.w r2, [r3, #92] @ 0x5c /* Enable the SPI Error Interrupt Bit */ __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR)); - 800d4a8: 68fb ldr r3, [r7, #12] - 800d4aa: 681b ldr r3, [r3, #0] - 800d4ac: 685a ldr r2, [r3, #4] - 800d4ae: 68fb ldr r3, [r7, #12] - 800d4b0: 681b ldr r3, [r3, #0] - 800d4b2: f042 0220 orr.w r2, r2, #32 - 800d4b6: 605a str r2, [r3, #4] + 800da60: 68fb ldr r3, [r7, #12] + 800da62: 681b ldr r3, [r3, #0] + 800da64: 685a ldr r2, [r3, #4] + 800da66: 68fb ldr r3, [r7, #12] + 800da68: 681b ldr r3, [r3, #0] + 800da6a: f042 0220 orr.w r2, r2, #32 + 800da6e: 605a str r2, [r3, #4] /* Enable Tx DMA Request */ SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN); - 800d4b8: 68fb ldr r3, [r7, #12] - 800d4ba: 681b ldr r3, [r3, #0] - 800d4bc: 685a ldr r2, [r3, #4] - 800d4be: 68fb ldr r3, [r7, #12] - 800d4c0: 681b ldr r3, [r3, #0] - 800d4c2: f042 0202 orr.w r2, r2, #2 - 800d4c6: 605a str r2, [r3, #4] + 800da70: 68fb ldr r3, [r7, #12] + 800da72: 681b ldr r3, [r3, #0] + 800da74: 685a ldr r2, [r3, #4] + 800da76: 68fb ldr r3, [r7, #12] + 800da78: 681b ldr r3, [r3, #0] + 800da7a: f042 0202 orr.w r2, r2, #2 + 800da7e: 605a str r2, [r3, #4] return HAL_OK; - 800d4c8: 2300 movs r3, #0 + 800da80: 2300 movs r3, #0 } - 800d4ca: 4618 mov r0, r3 - 800d4cc: 3718 adds r7, #24 - 800d4ce: 46bd mov sp, r7 - 800d4d0: bd80 pop {r7, pc} - 800d4d2: bf00 nop - 800d4d4: 0800d671 .word 0x0800d671 - 800d4d8: 0800d539 .word 0x0800d539 - 800d4dc: 0800d68d .word 0x0800d68d - 800d4e0: 0800d5e1 .word 0x0800d5e1 - 800d4e4: 0800d6a9 .word 0x0800d6a9 + 800da82: 4618 mov r0, r3 + 800da84: 3718 adds r7, #24 + 800da86: 46bd mov sp, r7 + 800da88: bd80 pop {r7, pc} + 800da8a: bf00 nop + 800da8c: 0800de69 .word 0x0800de69 + 800da90: 0800dd31 .word 0x0800dd31 + 800da94: 0800de85 .word 0x0800de85 + 800da98: 0800ddd9 .word 0x0800ddd9 + 800da9c: 0800dea1 .word 0x0800dea1 -0800d4e8 : +0800daa0 : + * - Set handle State to READY + * @note This procedure is executed in blocking mode : when exiting function, Abort is considered as completed. + * @retval HAL status + */ +HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi) +{ + 800daa0: b580 push {r7, lr} + 800daa2: b08a sub sp, #40 @ 0x28 + 800daa4: af02 add r7, sp, #8 + 800daa6: 6078 str r0, [r7, #4] + HAL_StatusTypeDef errorcode; + __IO uint32_t count; + __IO uint32_t resetcount; + + /* Initialized local variable */ + errorcode = HAL_OK; + 800daa8: 2300 movs r3, #0 + 800daaa: 77fb strb r3, [r7, #31] + resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); + 800daac: 4b88 ldr r3, [pc, #544] @ (800dcd0 ) + 800daae: 681b ldr r3, [r3, #0] + 800dab0: 4a88 ldr r2, [pc, #544] @ (800dcd4 ) + 800dab2: fba2 2303 umull r2, r3, r2, r3 + 800dab6: 0a5b lsrs r3, r3, #9 + 800dab8: 2264 movs r2, #100 @ 0x64 + 800daba: fb02 f303 mul.w r3, r2, r3 + 800dabe: 617b str r3, [r7, #20] + count = resetcount; + 800dac0: 697b ldr r3, [r7, #20] + 800dac2: 61bb str r3, [r7, #24] + + /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */ + CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE); + 800dac4: 687b ldr r3, [r7, #4] + 800dac6: 681b ldr r3, [r3, #0] + 800dac8: 685a ldr r2, [r3, #4] + 800daca: 687b ldr r3, [r7, #4] + 800dacc: 681b ldr r3, [r3, #0] + 800dace: f022 0220 bic.w r2, r2, #32 + 800dad2: 605a str r2, [r3, #4] + + /* Disable TXEIE, RXNEIE and ERRIE(mode fault event, overrun error, TI frame error) interrupts */ + if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE)) + 800dad4: 687b ldr r3, [r7, #4] + 800dad6: 681b ldr r3, [r3, #0] + 800dad8: 685b ldr r3, [r3, #4] + 800dada: f003 0380 and.w r3, r3, #128 @ 0x80 + 800dade: 2b80 cmp r3, #128 @ 0x80 + 800dae0: d117 bne.n 800db12 + { + hspi->TxISR = SPI_AbortTx_ISR; + 800dae2: 687b ldr r3, [r7, #4] + 800dae4: 4a7c ldr r2, [pc, #496] @ (800dcd8 ) + 800dae6: 651a str r2, [r3, #80] @ 0x50 + /* Wait HAL_SPI_STATE_ABORT state */ + do + { + if (count == 0U) + 800dae8: 69bb ldr r3, [r7, #24] + 800daea: 2b00 cmp r3, #0 + 800daec: d106 bne.n 800dafc + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); + 800daee: 687b ldr r3, [r7, #4] + 800daf0: 6e1b ldr r3, [r3, #96] @ 0x60 + 800daf2: f043 0240 orr.w r2, r3, #64 @ 0x40 + 800daf6: 687b ldr r3, [r7, #4] + 800daf8: 661a str r2, [r3, #96] @ 0x60 + break; + 800dafa: e008 b.n 800db0e + } + count--; + 800dafc: 69bb ldr r3, [r7, #24] + 800dafe: 3b01 subs r3, #1 + 800db00: 61bb str r3, [r7, #24] + } while (hspi->State != HAL_SPI_STATE_ABORT); + 800db02: 687b ldr r3, [r7, #4] + 800db04: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800db08: b2db uxtb r3, r3 + 800db0a: 2b07 cmp r3, #7 + 800db0c: d1ec bne.n 800dae8 + /* Reset Timeout Counter */ + count = resetcount; + 800db0e: 697b ldr r3, [r7, #20] + 800db10: 61bb str r3, [r7, #24] + } + + if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE)) + 800db12: 687b ldr r3, [r7, #4] + 800db14: 681b ldr r3, [r3, #0] + 800db16: 685b ldr r3, [r3, #4] + 800db18: f003 0340 and.w r3, r3, #64 @ 0x40 + 800db1c: 2b40 cmp r3, #64 @ 0x40 + 800db1e: d117 bne.n 800db50 + { + hspi->RxISR = SPI_AbortRx_ISR; + 800db20: 687b ldr r3, [r7, #4] + 800db22: 4a6e ldr r2, [pc, #440] @ (800dcdc ) + 800db24: 64da str r2, [r3, #76] @ 0x4c + /* Wait HAL_SPI_STATE_ABORT state */ + do + { + if (count == 0U) + 800db26: 69bb ldr r3, [r7, #24] + 800db28: 2b00 cmp r3, #0 + 800db2a: d106 bne.n 800db3a + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); + 800db2c: 687b ldr r3, [r7, #4] + 800db2e: 6e1b ldr r3, [r3, #96] @ 0x60 + 800db30: f043 0240 orr.w r2, r3, #64 @ 0x40 + 800db34: 687b ldr r3, [r7, #4] + 800db36: 661a str r2, [r3, #96] @ 0x60 + break; + 800db38: e008 b.n 800db4c + } + count--; + 800db3a: 69bb ldr r3, [r7, #24] + 800db3c: 3b01 subs r3, #1 + 800db3e: 61bb str r3, [r7, #24] + } while (hspi->State != HAL_SPI_STATE_ABORT); + 800db40: 687b ldr r3, [r7, #4] + 800db42: f893 305d ldrb.w r3, [r3, #93] @ 0x5d + 800db46: b2db uxtb r3, r3 + 800db48: 2b07 cmp r3, #7 + 800db4a: d1ec bne.n 800db26 + /* Reset Timeout Counter */ + count = resetcount; + 800db4c: 697b ldr r3, [r7, #20] + 800db4e: 61bb str r3, [r7, #24] + } + + /* Disable the SPI DMA Tx request if enabled */ + if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN)) + 800db50: 687b ldr r3, [r7, #4] + 800db52: 681b ldr r3, [r3, #0] + 800db54: 685b ldr r3, [r3, #4] + 800db56: f003 0302 and.w r3, r3, #2 + 800db5a: 2b02 cmp r3, #2 + 800db5c: d141 bne.n 800dbe2 + { + /* Abort the SPI DMA Tx Stream/Channel : use blocking DMA Abort API (no callback) */ + if (hspi->hdmatx != NULL) + 800db5e: 687b ldr r3, [r7, #4] + 800db60: 6d5b ldr r3, [r3, #84] @ 0x54 + 800db62: 2b00 cmp r3, #0 + 800db64: d03d beq.n 800dbe2 + { + /* Set the SPI DMA Abort callback : + will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */ + hspi->hdmatx->XferAbortCallback = NULL; + 800db66: 687b ldr r3, [r7, #4] + 800db68: 6d5b ldr r3, [r3, #84] @ 0x54 + 800db6a: 2200 movs r2, #0 + 800db6c: 639a str r2, [r3, #56] @ 0x38 + + /* Abort DMA Tx Handle linked to SPI Peripheral */ + if (HAL_DMA_Abort(hspi->hdmatx) != HAL_OK) + 800db6e: 687b ldr r3, [r7, #4] + 800db70: 6d5b ldr r3, [r3, #84] @ 0x54 + 800db72: 4618 mov r0, r3 + 800db74: f7f9 f99f bl 8006eb6 + 800db78: 4603 mov r3, r0 + 800db7a: 2b00 cmp r3, #0 + 800db7c: d002 beq.n 800db84 + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800db7e: 687b ldr r3, [r7, #4] + 800db80: 2240 movs r2, #64 @ 0x40 + 800db82: 661a str r2, [r3, #96] @ 0x60 + } + + /* Disable Tx DMA Request */ + CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN)); + 800db84: 687b ldr r3, [r7, #4] + 800db86: 681b ldr r3, [r3, #0] + 800db88: 685a ldr r2, [r3, #4] + 800db8a: 687b ldr r3, [r7, #4] + 800db8c: 681b ldr r3, [r3, #0] + 800db8e: f022 0202 bic.w r2, r2, #2 + 800db92: 605a str r2, [r3, #4] + + if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK) + 800db94: f7f8 feea bl 800696c + 800db98: 4603 mov r3, r0 + 800db9a: 461a mov r2, r3 + 800db9c: 2164 movs r1, #100 @ 0x64 + 800db9e: 6878 ldr r0, [r7, #4] + 800dba0: f000 fb14 bl 800e1cc + 800dba4: 4603 mov r3, r0 + 800dba6: 2b00 cmp r3, #0 + 800dba8: d002 beq.n 800dbb0 + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800dbaa: 687b ldr r3, [r7, #4] + 800dbac: 2240 movs r2, #64 @ 0x40 + 800dbae: 661a str r2, [r3, #96] @ 0x60 + } + + /* Disable SPI Peripheral */ + __HAL_SPI_DISABLE(hspi); + 800dbb0: 687b ldr r3, [r7, #4] + 800dbb2: 681b ldr r3, [r3, #0] + 800dbb4: 681a ldr r2, [r3, #0] + 800dbb6: 687b ldr r3, [r7, #4] + 800dbb8: 681b ldr r3, [r3, #0] + 800dbba: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800dbbe: 601a str r2, [r3, #0] + + /* Empty the FRLVL fifo */ + if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, + 800dbc0: f7f8 fed4 bl 800696c + 800dbc4: 4603 mov r3, r0 + 800dbc6: 9300 str r3, [sp, #0] + 800dbc8: 2364 movs r3, #100 @ 0x64 + 800dbca: 2200 movs r2, #0 + 800dbcc: f44f 61c0 mov.w r1, #1536 @ 0x600 + 800dbd0: 6878 ldr r0, [r7, #4] + 800dbd2: f000 fa0d bl 800dff0 + 800dbd6: 4603 mov r3, r0 + 800dbd8: 2b00 cmp r3, #0 + 800dbda: d002 beq.n 800dbe2 + HAL_GetTick()) != HAL_OK) + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800dbdc: 687b ldr r3, [r7, #4] + 800dbde: 2240 movs r2, #64 @ 0x40 + 800dbe0: 661a str r2, [r3, #96] @ 0x60 + } + } + } + + /* Disable the SPI DMA Rx request if enabled */ + if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN)) + 800dbe2: 687b ldr r3, [r7, #4] + 800dbe4: 681b ldr r3, [r3, #0] + 800dbe6: 685b ldr r3, [r3, #4] + 800dbe8: f003 0301 and.w r3, r3, #1 + 800dbec: 2b01 cmp r3, #1 + 800dbee: d143 bne.n 800dc78 + { + /* Abort the SPI DMA Rx Stream/Channel : use blocking DMA Abort API (no callback) */ + if (hspi->hdmarx != NULL) + 800dbf0: 687b ldr r3, [r7, #4] + 800dbf2: 6d9b ldr r3, [r3, #88] @ 0x58 + 800dbf4: 2b00 cmp r3, #0 + 800dbf6: d03f beq.n 800dc78 + { + /* Set the SPI DMA Abort callback : + will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */ + hspi->hdmarx->XferAbortCallback = NULL; + 800dbf8: 687b ldr r3, [r7, #4] + 800dbfa: 6d9b ldr r3, [r3, #88] @ 0x58 + 800dbfc: 2200 movs r2, #0 + 800dbfe: 639a str r2, [r3, #56] @ 0x38 + + /* Abort DMA Rx Handle linked to SPI Peripheral */ + if (HAL_DMA_Abort(hspi->hdmarx) != HAL_OK) + 800dc00: 687b ldr r3, [r7, #4] + 800dc02: 6d9b ldr r3, [r3, #88] @ 0x58 + 800dc04: 4618 mov r0, r3 + 800dc06: f7f9 f956 bl 8006eb6 + 800dc0a: 4603 mov r3, r0 + 800dc0c: 2b00 cmp r3, #0 + 800dc0e: d002 beq.n 800dc16 + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800dc10: 687b ldr r3, [r7, #4] + 800dc12: 2240 movs r2, #64 @ 0x40 + 800dc14: 661a str r2, [r3, #96] @ 0x60 + } + + /* Disable peripheral */ + __HAL_SPI_DISABLE(hspi); + 800dc16: 687b ldr r3, [r7, #4] + 800dc18: 681b ldr r3, [r3, #0] + 800dc1a: 681a ldr r2, [r3, #0] + 800dc1c: 687b ldr r3, [r7, #4] + 800dc1e: 681b ldr r3, [r3, #0] + 800dc20: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800dc24: 601a str r2, [r3, #0] + + /* Control the BSY flag */ + if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK) + 800dc26: f7f8 fea1 bl 800696c + 800dc2a: 4603 mov r3, r0 + 800dc2c: 9300 str r3, [sp, #0] + 800dc2e: 2364 movs r3, #100 @ 0x64 + 800dc30: 2200 movs r2, #0 + 800dc32: 2180 movs r1, #128 @ 0x80 + 800dc34: 6878 ldr r0, [r7, #4] + 800dc36: f000 f953 bl 800dee0 + 800dc3a: 4603 mov r3, r0 + 800dc3c: 2b00 cmp r3, #0 + 800dc3e: d002 beq.n 800dc46 + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800dc40: 687b ldr r3, [r7, #4] + 800dc42: 2240 movs r2, #64 @ 0x40 + 800dc44: 661a str r2, [r3, #96] @ 0x60 + } + + /* Empty the FRLVL fifo */ + if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, + 800dc46: f7f8 fe91 bl 800696c + 800dc4a: 4603 mov r3, r0 + 800dc4c: 9300 str r3, [sp, #0] + 800dc4e: 2364 movs r3, #100 @ 0x64 + 800dc50: 2200 movs r2, #0 + 800dc52: f44f 61c0 mov.w r1, #1536 @ 0x600 + 800dc56: 6878 ldr r0, [r7, #4] + 800dc58: f000 f9ca bl 800dff0 + 800dc5c: 4603 mov r3, r0 + 800dc5e: 2b00 cmp r3, #0 + 800dc60: d002 beq.n 800dc68 + HAL_GetTick()) != HAL_OK) + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800dc62: 687b ldr r3, [r7, #4] + 800dc64: 2240 movs r2, #64 @ 0x40 + 800dc66: 661a str r2, [r3, #96] @ 0x60 + } + + /* Disable Rx DMA Request */ + CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXDMAEN)); + 800dc68: 687b ldr r3, [r7, #4] + 800dc6a: 681b ldr r3, [r3, #0] + 800dc6c: 685a ldr r2, [r3, #4] + 800dc6e: 687b ldr r3, [r7, #4] + 800dc70: 681b ldr r3, [r3, #0] + 800dc72: f022 0201 bic.w r2, r2, #1 + 800dc76: 605a str r2, [r3, #4] + } + } + /* Reset Tx and Rx transfer counters */ + hspi->RxXferCount = 0U; + 800dc78: 687b ldr r3, [r7, #4] + 800dc7a: 2200 movs r2, #0 + 800dc7c: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + hspi->TxXferCount = 0U; + 800dc80: 687b ldr r3, [r7, #4] + 800dc82: 2200 movs r2, #0 + 800dc84: 87da strh r2, [r3, #62] @ 0x3e + + /* Check error during Abort procedure */ + if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT) + 800dc86: 687b ldr r3, [r7, #4] + 800dc88: 6e1b ldr r3, [r3, #96] @ 0x60 + 800dc8a: 2b40 cmp r3, #64 @ 0x40 + 800dc8c: d102 bne.n 800dc94 + { + /* return HAL_Error in case of error during Abort procedure */ + errorcode = HAL_ERROR; + 800dc8e: 2301 movs r3, #1 + 800dc90: 77fb strb r3, [r7, #31] + 800dc92: e002 b.n 800dc9a + } + else + { + /* Reset errorCode */ + hspi->ErrorCode = HAL_SPI_ERROR_NONE; + 800dc94: 687b ldr r3, [r7, #4] + 800dc96: 2200 movs r2, #0 + 800dc98: 661a str r2, [r3, #96] @ 0x60 + } + + /* Clear the Error flags in the SR register */ + __HAL_SPI_CLEAR_OVRFLAG(hspi); + 800dc9a: 2300 movs r3, #0 + 800dc9c: 613b str r3, [r7, #16] + 800dc9e: 687b ldr r3, [r7, #4] + 800dca0: 681b ldr r3, [r3, #0] + 800dca2: 68db ldr r3, [r3, #12] + 800dca4: 613b str r3, [r7, #16] + 800dca6: 687b ldr r3, [r7, #4] + 800dca8: 681b ldr r3, [r3, #0] + 800dcaa: 689b ldr r3, [r3, #8] + 800dcac: 613b str r3, [r7, #16] + 800dcae: 693b ldr r3, [r7, #16] + __HAL_SPI_CLEAR_FREFLAG(hspi); + 800dcb0: 2300 movs r3, #0 + 800dcb2: 60fb str r3, [r7, #12] + 800dcb4: 687b ldr r3, [r7, #4] + 800dcb6: 681b ldr r3, [r3, #0] + 800dcb8: 689b ldr r3, [r3, #8] + 800dcba: 60fb str r3, [r7, #12] + 800dcbc: 68fb ldr r3, [r7, #12] + + /* Restore hspi->state to ready */ + hspi->State = HAL_SPI_STATE_READY; + 800dcbe: 687b ldr r3, [r7, #4] + 800dcc0: 2201 movs r2, #1 + 800dcc2: f883 205d strb.w r2, [r3, #93] @ 0x5d + + return errorcode; + 800dcc6: 7ffb ldrb r3, [r7, #31] +} + 800dcc8: 4618 mov r0, r3 + 800dcca: 3720 adds r7, #32 + 800dccc: 46bd mov sp, r7 + 800dcce: bd80 pop {r7, pc} + 800dcd0: 2000000c .word 0x2000000c + 800dcd4: 057619f1 .word 0x057619f1 + 800dcd8: 0800e319 .word 0x0800e319 + 800dcdc: 0800e259 .word 0x0800e259 + +0800dce0 : * @param hspi pointer to a SPI_HandleTypeDef structure that contains * the configuration information for SPI module. * @retval None */ __weak void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi) { - 800d4e8: b480 push {r7} - 800d4ea: b083 sub sp, #12 - 800d4ec: af00 add r7, sp, #0 - 800d4ee: 6078 str r0, [r7, #4] + 800dce0: b480 push {r7} + 800dce2: b083 sub sp, #12 + 800dce4: af00 add r7, sp, #0 + 800dce6: 6078 str r0, [r7, #4] UNUSED(hspi); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SPI_RxCpltCallback should be implemented in the user file */ } - 800d4f0: bf00 nop - 800d4f2: 370c adds r7, #12 - 800d4f4: 46bd mov sp, r7 - 800d4f6: f85d 7b04 ldr.w r7, [sp], #4 - 800d4fa: 4770 bx lr + 800dce8: bf00 nop + 800dcea: 370c adds r7, #12 + 800dcec: 46bd mov sp, r7 + 800dcee: f85d 7b04 ldr.w r7, [sp], #4 + 800dcf2: 4770 bx lr -0800d4fc : +0800dcf4 : * @param hspi pointer to a SPI_HandleTypeDef structure that contains * the configuration information for SPI module. * @retval None */ __weak void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi) { - 800d4fc: b480 push {r7} - 800d4fe: b083 sub sp, #12 - 800d500: af00 add r7, sp, #0 - 800d502: 6078 str r0, [r7, #4] + 800dcf4: b480 push {r7} + 800dcf6: b083 sub sp, #12 + 800dcf8: af00 add r7, sp, #0 + 800dcfa: 6078 str r0, [r7, #4] UNUSED(hspi); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SPI_RxHalfCpltCallback() should be implemented in the user file */ } - 800d504: bf00 nop - 800d506: 370c adds r7, #12 - 800d508: 46bd mov sp, r7 - 800d50a: f85d 7b04 ldr.w r7, [sp], #4 - 800d50e: 4770 bx lr + 800dcfc: bf00 nop + 800dcfe: 370c adds r7, #12 + 800dd00: 46bd mov sp, r7 + 800dd02: f85d 7b04 ldr.w r7, [sp], #4 + 800dd06: 4770 bx lr -0800d510 : +0800dd08 : * @param hspi pointer to a SPI_HandleTypeDef structure that contains * the configuration information for SPI module. * @retval None */ __weak void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi) { - 800d510: b480 push {r7} - 800d512: b083 sub sp, #12 - 800d514: af00 add r7, sp, #0 - 800d516: 6078 str r0, [r7, #4] + 800dd08: b480 push {r7} + 800dd0a: b083 sub sp, #12 + 800dd0c: af00 add r7, sp, #0 + 800dd0e: 6078 str r0, [r7, #4] UNUSED(hspi); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SPI_TxRxHalfCpltCallback() should be implemented in the user file */ } - 800d518: bf00 nop - 800d51a: 370c adds r7, #12 - 800d51c: 46bd mov sp, r7 - 800d51e: f85d 7b04 ldr.w r7, [sp], #4 - 800d522: 4770 bx lr + 800dd10: bf00 nop + 800dd12: 370c adds r7, #12 + 800dd14: 46bd mov sp, r7 + 800dd16: f85d 7b04 ldr.w r7, [sp], #4 + 800dd1a: 4770 bx lr -0800d524 : +0800dd1c : * @param hspi pointer to a SPI_HandleTypeDef structure that contains * the configuration information for SPI module. * @retval None */ __weak void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi) { - 800d524: b480 push {r7} - 800d526: b083 sub sp, #12 - 800d528: af00 add r7, sp, #0 - 800d52a: 6078 str r0, [r7, #4] + 800dd1c: b480 push {r7} + 800dd1e: b083 sub sp, #12 + 800dd20: af00 add r7, sp, #0 + 800dd22: 6078 str r0, [r7, #4] the HAL_SPI_ErrorCallback should be implemented in the user file */ /* NOTE : The ErrorCode parameter in the hspi handle is updated by the SPI processes and user can use HAL_SPI_GetError() API to check the latest error occurred */ } - 800d52c: bf00 nop - 800d52e: 370c adds r7, #12 - 800d530: 46bd mov sp, r7 - 800d532: f85d 7b04 ldr.w r7, [sp], #4 - 800d536: 4770 bx lr + 800dd24: bf00 nop + 800dd26: 370c adds r7, #12 + 800dd28: 46bd mov sp, r7 + 800dd2a: f85d 7b04 ldr.w r7, [sp], #4 + 800dd2e: 4770 bx lr -0800d538 : +0800dd30 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma) { - 800d538: b580 push {r7, lr} - 800d53a: b084 sub sp, #16 - 800d53c: af00 add r7, sp, #0 - 800d53e: 6078 str r0, [r7, #4] + 800dd30: b580 push {r7, lr} + 800dd32: b084 sub sp, #16 + 800dd34: af00 add r7, sp, #0 + 800dd36: 6078 str r0, [r7, #4] SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 800d540: 687b ldr r3, [r7, #4] - 800d542: 6a9b ldr r3, [r3, #40] @ 0x28 - 800d544: 60fb str r3, [r7, #12] + 800dd38: 687b ldr r3, [r7, #4] + 800dd3a: 6a9b ldr r3, [r3, #40] @ 0x28 + 800dd3c: 60fb str r3, [r7, #12] __IO uint8_t *ptmpreg8; __IO uint8_t tmpreg8 = 0; #endif /* USE_SPI_CRC */ /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); - 800d546: f7f8 ff93 bl 8006470 - 800d54a: 60b8 str r0, [r7, #8] + 800dd3e: f7f8 fe15 bl 800696c + 800dd42: 60b8 str r0, [r7, #8] /* DMA Normal Mode */ if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC) - 800d54c: 687b ldr r3, [r7, #4] - 800d54e: 681b ldr r3, [r3, #0] - 800d550: 681b ldr r3, [r3, #0] - 800d552: f003 0320 and.w r3, r3, #32 - 800d556: 2b20 cmp r3, #32 - 800d558: d03c beq.n 800d5d4 + 800dd44: 687b ldr r3, [r7, #4] + 800dd46: 681b ldr r3, [r3, #0] + 800dd48: 681b ldr r3, [r3, #0] + 800dd4a: f003 0320 and.w r3, r3, #32 + 800dd4e: 2b20 cmp r3, #32 + 800dd50: d03c beq.n 800ddcc { /* Disable ERR interrupt */ __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR); - 800d55a: 68fb ldr r3, [r7, #12] - 800d55c: 681b ldr r3, [r3, #0] - 800d55e: 685a ldr r2, [r3, #4] - 800d560: 68fb ldr r3, [r7, #12] - 800d562: 681b ldr r3, [r3, #0] - 800d564: f022 0220 bic.w r2, r2, #32 - 800d568: 605a str r2, [r3, #4] + 800dd52: 68fb ldr r3, [r7, #12] + 800dd54: 681b ldr r3, [r3, #0] + 800dd56: 685a ldr r2, [r3, #4] + 800dd58: 68fb ldr r3, [r7, #12] + 800dd5a: 681b ldr r3, [r3, #0] + 800dd5c: f022 0220 bic.w r2, r2, #32 + 800dd60: 605a str r2, [r3, #4] } } #endif /* USE_SPI_CRC */ /* Check if we are in Master RX 2 line mode */ if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER)) - 800d56a: 68fb ldr r3, [r7, #12] - 800d56c: 689b ldr r3, [r3, #8] - 800d56e: 2b00 cmp r3, #0 - 800d570: d10d bne.n 800d58e - 800d572: 68fb ldr r3, [r7, #12] - 800d574: 685b ldr r3, [r3, #4] - 800d576: f5b3 7f82 cmp.w r3, #260 @ 0x104 - 800d57a: d108 bne.n 800d58e + 800dd62: 68fb ldr r3, [r7, #12] + 800dd64: 689b ldr r3, [r3, #8] + 800dd66: 2b00 cmp r3, #0 + 800dd68: d10d bne.n 800dd86 + 800dd6a: 68fb ldr r3, [r7, #12] + 800dd6c: 685b ldr r3, [r3, #4] + 800dd6e: f5b3 7f82 cmp.w r3, #260 @ 0x104 + 800dd72: d108 bne.n 800dd86 { /* Disable Rx/Tx DMA Request (done by default to handle the case master rx direction 2 lines) */ CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); - 800d57c: 68fb ldr r3, [r7, #12] - 800d57e: 681b ldr r3, [r3, #0] - 800d580: 685a ldr r2, [r3, #4] - 800d582: 68fb ldr r3, [r7, #12] - 800d584: 681b ldr r3, [r3, #0] - 800d586: f022 0203 bic.w r2, r2, #3 - 800d58a: 605a str r2, [r3, #4] - 800d58c: e007 b.n 800d59e + 800dd74: 68fb ldr r3, [r7, #12] + 800dd76: 681b ldr r3, [r3, #0] + 800dd78: 685a ldr r2, [r3, #4] + 800dd7a: 68fb ldr r3, [r7, #12] + 800dd7c: 681b ldr r3, [r3, #0] + 800dd7e: f022 0203 bic.w r2, r2, #3 + 800dd82: 605a str r2, [r3, #4] + 800dd84: e007 b.n 800dd96 } else { /* Normal case */ CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN); - 800d58e: 68fb ldr r3, [r7, #12] - 800d590: 681b ldr r3, [r3, #0] - 800d592: 685a ldr r2, [r3, #4] - 800d594: 68fb ldr r3, [r7, #12] - 800d596: 681b ldr r3, [r3, #0] - 800d598: f022 0201 bic.w r2, r2, #1 - 800d59c: 605a str r2, [r3, #4] + 800dd86: 68fb ldr r3, [r7, #12] + 800dd88: 681b ldr r3, [r3, #0] + 800dd8a: 685a ldr r2, [r3, #4] + 800dd8c: 68fb ldr r3, [r7, #12] + 800dd8e: 681b ldr r3, [r3, #0] + 800dd90: f022 0201 bic.w r2, r2, #1 + 800dd94: 605a str r2, [r3, #4] } /* Check the end of the transaction */ if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK) - 800d59e: 68ba ldr r2, [r7, #8] - 800d5a0: 2164 movs r1, #100 @ 0x64 - 800d5a2: 68f8 ldr r0, [r7, #12] - 800d5a4: f000 f9be bl 800d924 - 800d5a8: 4603 mov r3, r0 - 800d5aa: 2b00 cmp r3, #0 - 800d5ac: d002 beq.n 800d5b4 + 800dd96: 68ba ldr r2, [r7, #8] + 800dd98: 2164 movs r1, #100 @ 0x64 + 800dd9a: 68f8 ldr r0, [r7, #12] + 800dd9c: f000 f9be bl 800e11c + 800dda0: 4603 mov r3, r0 + 800dda2: 2b00 cmp r3, #0 + 800dda4: d002 beq.n 800ddac { hspi->ErrorCode = HAL_SPI_ERROR_FLAG; - 800d5ae: 68fb ldr r3, [r7, #12] - 800d5b0: 2220 movs r2, #32 - 800d5b2: 661a str r2, [r3, #96] @ 0x60 + 800dda6: 68fb ldr r3, [r7, #12] + 800dda8: 2220 movs r2, #32 + 800ddaa: 661a str r2, [r3, #96] @ 0x60 } hspi->RxXferCount = 0U; - 800d5b4: 68fb ldr r3, [r7, #12] - 800d5b6: 2200 movs r2, #0 - 800d5b8: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800ddac: 68fb ldr r3, [r7, #12] + 800ddae: 2200 movs r2, #0 + 800ddb0: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 hspi->State = HAL_SPI_STATE_READY; - 800d5bc: 68fb ldr r3, [r7, #12] - 800d5be: 2201 movs r2, #1 - 800d5c0: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800ddb4: 68fb ldr r3, [r7, #12] + 800ddb6: 2201 movs r2, #1 + 800ddb8: f883 205d strb.w r2, [r3, #93] @ 0x5d SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); __HAL_SPI_CLEAR_CRCERRFLAG(hspi); } #endif /* USE_SPI_CRC */ if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) - 800d5c4: 68fb ldr r3, [r7, #12] - 800d5c6: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d5c8: 2b00 cmp r3, #0 - 800d5ca: d003 beq.n 800d5d4 + 800ddbc: 68fb ldr r3, [r7, #12] + 800ddbe: 6e1b ldr r3, [r3, #96] @ 0x60 + 800ddc0: 2b00 cmp r3, #0 + 800ddc2: d003 beq.n 800ddcc { /* Call user error callback */ #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) hspi->ErrorCallback(hspi); #else HAL_SPI_ErrorCallback(hspi); - 800d5cc: 68f8 ldr r0, [r7, #12] - 800d5ce: f7ff ffa9 bl 800d524 + 800ddc4: 68f8 ldr r0, [r7, #12] + 800ddc6: f7ff ffa9 bl 800dd1c #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ return; - 800d5d2: e002 b.n 800d5da + 800ddca: e002 b.n 800ddd2 } /* Call user Rx complete callback */ #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) hspi->RxCpltCallback(hspi); #else HAL_SPI_RxCpltCallback(hspi); - 800d5d4: 68f8 ldr r0, [r7, #12] - 800d5d6: f7ff ff87 bl 800d4e8 + 800ddcc: 68f8 ldr r0, [r7, #12] + 800ddce: f7ff ff87 bl 800dce0 #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } - 800d5da: 3710 adds r7, #16 - 800d5dc: 46bd mov sp, r7 - 800d5de: bd80 pop {r7, pc} + 800ddd2: 3710 adds r7, #16 + 800ddd4: 46bd mov sp, r7 + 800ddd6: bd80 pop {r7, pc} -0800d5e0 : +0800ddd8 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma) { - 800d5e0: b580 push {r7, lr} - 800d5e2: b084 sub sp, #16 - 800d5e4: af00 add r7, sp, #0 - 800d5e6: 6078 str r0, [r7, #4] + 800ddd8: b580 push {r7, lr} + 800ddda: b084 sub sp, #16 + 800dddc: af00 add r7, sp, #0 + 800ddde: 6078 str r0, [r7, #4] SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 800d5e8: 687b ldr r3, [r7, #4] - 800d5ea: 6a9b ldr r3, [r3, #40] @ 0x28 - 800d5ec: 60fb str r3, [r7, #12] + 800dde0: 687b ldr r3, [r7, #4] + 800dde2: 6a9b ldr r3, [r3, #40] @ 0x28 + 800dde4: 60fb str r3, [r7, #12] __IO uint8_t *ptmpreg8; __IO uint8_t tmpreg8 = 0; #endif /* USE_SPI_CRC */ /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); - 800d5ee: f7f8 ff3f bl 8006470 - 800d5f2: 60b8 str r0, [r7, #8] + 800dde6: f7f8 fdc1 bl 800696c + 800ddea: 60b8 str r0, [r7, #8] /* DMA Normal Mode */ if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC) - 800d5f4: 687b ldr r3, [r7, #4] - 800d5f6: 681b ldr r3, [r3, #0] - 800d5f8: 681b ldr r3, [r3, #0] - 800d5fa: f003 0320 and.w r3, r3, #32 - 800d5fe: 2b20 cmp r3, #32 - 800d600: d030 beq.n 800d664 + 800ddec: 687b ldr r3, [r7, #4] + 800ddee: 681b ldr r3, [r3, #0] + 800ddf0: 681b ldr r3, [r3, #0] + 800ddf2: f003 0320 and.w r3, r3, #32 + 800ddf6: 2b20 cmp r3, #32 + 800ddf8: d030 beq.n 800de5c { /* Disable ERR interrupt */ __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR); - 800d602: 68fb ldr r3, [r7, #12] - 800d604: 681b ldr r3, [r3, #0] - 800d606: 685a ldr r2, [r3, #4] - 800d608: 68fb ldr r3, [r7, #12] - 800d60a: 681b ldr r3, [r3, #0] - 800d60c: f022 0220 bic.w r2, r2, #32 - 800d610: 605a str r2, [r3, #4] + 800ddfa: 68fb ldr r3, [r7, #12] + 800ddfc: 681b ldr r3, [r3, #0] + 800ddfe: 685a ldr r2, [r3, #4] + 800de00: 68fb ldr r3, [r7, #12] + 800de02: 681b ldr r3, [r3, #0] + 800de04: f022 0220 bic.w r2, r2, #32 + 800de08: 605a str r2, [r3, #4] } } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK) - 800d612: 68ba ldr r2, [r7, #8] - 800d614: 2164 movs r1, #100 @ 0x64 - 800d616: 68f8 ldr r0, [r7, #12] - 800d618: f000 f9dc bl 800d9d4 - 800d61c: 4603 mov r3, r0 - 800d61e: 2b00 cmp r3, #0 - 800d620: d005 beq.n 800d62e + 800de0a: 68ba ldr r2, [r7, #8] + 800de0c: 2164 movs r1, #100 @ 0x64 + 800de0e: 68f8 ldr r0, [r7, #12] + 800de10: f000 f9dc bl 800e1cc + 800de14: 4603 mov r3, r0 + 800de16: 2b00 cmp r3, #0 + 800de18: d005 beq.n 800de26 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 800d622: 68fb ldr r3, [r7, #12] - 800d624: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d626: f043 0220 orr.w r2, r3, #32 - 800d62a: 68fb ldr r3, [r7, #12] - 800d62c: 661a str r2, [r3, #96] @ 0x60 + 800de1a: 68fb ldr r3, [r7, #12] + 800de1c: 6e1b ldr r3, [r3, #96] @ 0x60 + 800de1e: f043 0220 orr.w r2, r3, #32 + 800de22: 68fb ldr r3, [r7, #12] + 800de24: 661a str r2, [r3, #96] @ 0x60 } /* Disable Rx/Tx DMA Request */ CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); - 800d62e: 68fb ldr r3, [r7, #12] - 800d630: 681b ldr r3, [r3, #0] - 800d632: 685a ldr r2, [r3, #4] - 800d634: 68fb ldr r3, [r7, #12] - 800d636: 681b ldr r3, [r3, #0] - 800d638: f022 0203 bic.w r2, r2, #3 - 800d63c: 605a str r2, [r3, #4] + 800de26: 68fb ldr r3, [r7, #12] + 800de28: 681b ldr r3, [r3, #0] + 800de2a: 685a ldr r2, [r3, #4] + 800de2c: 68fb ldr r3, [r7, #12] + 800de2e: 681b ldr r3, [r3, #0] + 800de30: f022 0203 bic.w r2, r2, #3 + 800de34: 605a str r2, [r3, #4] hspi->TxXferCount = 0U; - 800d63e: 68fb ldr r3, [r7, #12] - 800d640: 2200 movs r2, #0 - 800d642: 87da strh r2, [r3, #62] @ 0x3e + 800de36: 68fb ldr r3, [r7, #12] + 800de38: 2200 movs r2, #0 + 800de3a: 87da strh r2, [r3, #62] @ 0x3e hspi->RxXferCount = 0U; - 800d644: 68fb ldr r3, [r7, #12] - 800d646: 2200 movs r2, #0 - 800d648: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 + 800de3c: 68fb ldr r3, [r7, #12] + 800de3e: 2200 movs r2, #0 + 800de40: f8a3 2046 strh.w r2, [r3, #70] @ 0x46 hspi->State = HAL_SPI_STATE_READY; - 800d64c: 68fb ldr r3, [r7, #12] - 800d64e: 2201 movs r2, #1 - 800d650: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800de44: 68fb ldr r3, [r7, #12] + 800de46: 2201 movs r2, #1 + 800de48: f883 205d strb.w r2, [r3, #93] @ 0x5d SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); __HAL_SPI_CLEAR_CRCERRFLAG(hspi); } #endif /* USE_SPI_CRC */ if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) - 800d654: 68fb ldr r3, [r7, #12] - 800d656: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d658: 2b00 cmp r3, #0 - 800d65a: d003 beq.n 800d664 + 800de4c: 68fb ldr r3, [r7, #12] + 800de4e: 6e1b ldr r3, [r3, #96] @ 0x60 + 800de50: 2b00 cmp r3, #0 + 800de52: d003 beq.n 800de5c { /* Call user error callback */ #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) hspi->ErrorCallback(hspi); #else HAL_SPI_ErrorCallback(hspi); - 800d65c: 68f8 ldr r0, [r7, #12] - 800d65e: f7ff ff61 bl 800d524 + 800de54: 68f8 ldr r0, [r7, #12] + 800de56: f7ff ff61 bl 800dd1c #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ return; - 800d662: e002 b.n 800d66a + 800de5a: e002 b.n 800de62 } /* Call user TxRx complete callback */ #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) hspi->TxRxCpltCallback(hspi); #else HAL_SPI_TxRxCpltCallback(hspi); - 800d664: 68f8 ldr r0, [r7, #12] - 800d666: f7f7 fde1 bl 800522c + 800de5c: 68f8 ldr r0, [r7, #12] + 800de5e: f7f7 fa8f bl 8005380 #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } - 800d66a: 3710 adds r7, #16 - 800d66c: 46bd mov sp, r7 - 800d66e: bd80 pop {r7, pc} + 800de62: 3710 adds r7, #16 + 800de64: 46bd mov sp, r7 + 800de66: bd80 pop {r7, pc} -0800d670 : +0800de68 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma) { - 800d670: b580 push {r7, lr} - 800d672: b084 sub sp, #16 - 800d674: af00 add r7, sp, #0 - 800d676: 6078 str r0, [r7, #4] + 800de68: b580 push {r7, lr} + 800de6a: b084 sub sp, #16 + 800de6c: af00 add r7, sp, #0 + 800de6e: 6078 str r0, [r7, #4] SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 800d678: 687b ldr r3, [r7, #4] - 800d67a: 6a9b ldr r3, [r3, #40] @ 0x28 - 800d67c: 60fb str r3, [r7, #12] + 800de70: 687b ldr r3, [r7, #4] + 800de72: 6a9b ldr r3, [r3, #40] @ 0x28 + 800de74: 60fb str r3, [r7, #12] /* Call user Rx half complete callback */ #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) hspi->RxHalfCpltCallback(hspi); #else HAL_SPI_RxHalfCpltCallback(hspi); - 800d67e: 68f8 ldr r0, [r7, #12] - 800d680: f7ff ff3c bl 800d4fc + 800de76: 68f8 ldr r0, [r7, #12] + 800de78: f7ff ff3c bl 800dcf4 #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } - 800d684: bf00 nop - 800d686: 3710 adds r7, #16 - 800d688: 46bd mov sp, r7 - 800d68a: bd80 pop {r7, pc} + 800de7c: bf00 nop + 800de7e: 3710 adds r7, #16 + 800de80: 46bd mov sp, r7 + 800de82: bd80 pop {r7, pc} -0800d68c : +0800de84 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma) { - 800d68c: b580 push {r7, lr} - 800d68e: b084 sub sp, #16 - 800d690: af00 add r7, sp, #0 - 800d692: 6078 str r0, [r7, #4] + 800de84: b580 push {r7, lr} + 800de86: b084 sub sp, #16 + 800de88: af00 add r7, sp, #0 + 800de8a: 6078 str r0, [r7, #4] SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 800d694: 687b ldr r3, [r7, #4] - 800d696: 6a9b ldr r3, [r3, #40] @ 0x28 - 800d698: 60fb str r3, [r7, #12] + 800de8c: 687b ldr r3, [r7, #4] + 800de8e: 6a9b ldr r3, [r3, #40] @ 0x28 + 800de90: 60fb str r3, [r7, #12] /* Call user TxRx half complete callback */ #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) hspi->TxRxHalfCpltCallback(hspi); #else HAL_SPI_TxRxHalfCpltCallback(hspi); - 800d69a: 68f8 ldr r0, [r7, #12] - 800d69c: f7ff ff38 bl 800d510 + 800de92: 68f8 ldr r0, [r7, #12] + 800de94: f7ff ff38 bl 800dd08 #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } - 800d6a0: bf00 nop - 800d6a2: 3710 adds r7, #16 - 800d6a4: 46bd mov sp, r7 - 800d6a6: bd80 pop {r7, pc} + 800de98: bf00 nop + 800de9a: 3710 adds r7, #16 + 800de9c: 46bd mov sp, r7 + 800de9e: bd80 pop {r7, pc} -0800d6a8 : +0800dea0 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void SPI_DMAError(DMA_HandleTypeDef *hdma) { - 800d6a8: b580 push {r7, lr} - 800d6aa: b084 sub sp, #16 - 800d6ac: af00 add r7, sp, #0 - 800d6ae: 6078 str r0, [r7, #4] + 800dea0: b580 push {r7, lr} + 800dea2: b084 sub sp, #16 + 800dea4: af00 add r7, sp, #0 + 800dea6: 6078 str r0, [r7, #4] SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); - 800d6b0: 687b ldr r3, [r7, #4] - 800d6b2: 6a9b ldr r3, [r3, #40] @ 0x28 - 800d6b4: 60fb str r3, [r7, #12] + 800dea8: 687b ldr r3, [r7, #4] + 800deaa: 6a9b ldr r3, [r3, #40] @ 0x28 + 800deac: 60fb str r3, [r7, #12] /* Stop the disable DMA transfer on SPI side */ CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); - 800d6b6: 68fb ldr r3, [r7, #12] - 800d6b8: 681b ldr r3, [r3, #0] - 800d6ba: 685a ldr r2, [r3, #4] - 800d6bc: 68fb ldr r3, [r7, #12] - 800d6be: 681b ldr r3, [r3, #0] - 800d6c0: f022 0203 bic.w r2, r2, #3 - 800d6c4: 605a str r2, [r3, #4] + 800deae: 68fb ldr r3, [r7, #12] + 800deb0: 681b ldr r3, [r3, #0] + 800deb2: 685a ldr r2, [r3, #4] + 800deb4: 68fb ldr r3, [r7, #12] + 800deb6: 681b ldr r3, [r3, #0] + 800deb8: f022 0203 bic.w r2, r2, #3 + 800debc: 605a str r2, [r3, #4] SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); - 800d6c6: 68fb ldr r3, [r7, #12] - 800d6c8: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d6ca: f043 0210 orr.w r2, r3, #16 - 800d6ce: 68fb ldr r3, [r7, #12] - 800d6d0: 661a str r2, [r3, #96] @ 0x60 + 800debe: 68fb ldr r3, [r7, #12] + 800dec0: 6e1b ldr r3, [r3, #96] @ 0x60 + 800dec2: f043 0210 orr.w r2, r3, #16 + 800dec6: 68fb ldr r3, [r7, #12] + 800dec8: 661a str r2, [r3, #96] @ 0x60 hspi->State = HAL_SPI_STATE_READY; - 800d6d2: 68fb ldr r3, [r7, #12] - 800d6d4: 2201 movs r2, #1 - 800d6d6: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800deca: 68fb ldr r3, [r7, #12] + 800decc: 2201 movs r2, #1 + 800dece: f883 205d strb.w r2, [r3, #93] @ 0x5d /* Call user error callback */ #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) hspi->ErrorCallback(hspi); #else HAL_SPI_ErrorCallback(hspi); - 800d6da: 68f8 ldr r0, [r7, #12] - 800d6dc: f7ff ff22 bl 800d524 + 800ded2: 68f8 ldr r0, [r7, #12] + 800ded4: f7ff ff22 bl 800dd1c #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } - 800d6e0: bf00 nop - 800d6e2: 3710 adds r7, #16 - 800d6e4: 46bd mov sp, r7 - 800d6e6: bd80 pop {r7, pc} + 800ded8: bf00 nop + 800deda: 3710 adds r7, #16 + 800dedc: 46bd mov sp, r7 + 800dede: bd80 pop {r7, pc} -0800d6e8 : +0800dee0 : * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, FlagStatus State, uint32_t Timeout, uint32_t Tickstart) { - 800d6e8: b580 push {r7, lr} - 800d6ea: b088 sub sp, #32 - 800d6ec: af00 add r7, sp, #0 - 800d6ee: 60f8 str r0, [r7, #12] - 800d6f0: 60b9 str r1, [r7, #8] - 800d6f2: 603b str r3, [r7, #0] - 800d6f4: 4613 mov r3, r2 - 800d6f6: 71fb strb r3, [r7, #7] + 800dee0: b580 push {r7, lr} + 800dee2: b088 sub sp, #32 + 800dee4: af00 add r7, sp, #0 + 800dee6: 60f8 str r0, [r7, #12] + 800dee8: 60b9 str r1, [r7, #8] + 800deea: 603b str r3, [r7, #0] + 800deec: 4613 mov r3, r2 + 800deee: 71fb strb r3, [r7, #7] __IO uint32_t count; uint32_t tmp_timeout; uint32_t tmp_tickstart; /* Adjust Timeout value in case of end of transfer */ tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); - 800d6f8: f7f8 feba bl 8006470 - 800d6fc: 4602 mov r2, r0 - 800d6fe: 6abb ldr r3, [r7, #40] @ 0x28 - 800d700: 1a9b subs r3, r3, r2 - 800d702: 683a ldr r2, [r7, #0] - 800d704: 4413 add r3, r2 - 800d706: 61fb str r3, [r7, #28] + 800def0: f7f8 fd3c bl 800696c + 800def4: 4602 mov r2, r0 + 800def6: 6abb ldr r3, [r7, #40] @ 0x28 + 800def8: 1a9b subs r3, r3, r2 + 800defa: 683a ldr r2, [r7, #0] + 800defc: 4413 add r3, r2 + 800defe: 61fb str r3, [r7, #28] tmp_tickstart = HAL_GetTick(); - 800d708: f7f8 feb2 bl 8006470 - 800d70c: 61b8 str r0, [r7, #24] + 800df00: f7f8 fd34 bl 800696c + 800df04: 61b8 str r0, [r7, #24] /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */ count = tmp_timeout * ((SystemCoreClock * 32U) >> 20U); - 800d70e: 4b39 ldr r3, [pc, #228] @ (800d7f4 ) - 800d710: 681b ldr r3, [r3, #0] - 800d712: 015b lsls r3, r3, #5 - 800d714: 0d1b lsrs r3, r3, #20 - 800d716: 69fa ldr r2, [r7, #28] - 800d718: fb02 f303 mul.w r3, r2, r3 - 800d71c: 617b str r3, [r7, #20] + 800df06: 4b39 ldr r3, [pc, #228] @ (800dfec ) + 800df08: 681b ldr r3, [r3, #0] + 800df0a: 015b lsls r3, r3, #5 + 800df0c: 0d1b lsrs r3, r3, #20 + 800df0e: 69fa ldr r2, [r7, #28] + 800df10: fb02 f303 mul.w r3, r2, r3 + 800df14: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) - 800d71e: e055 b.n 800d7cc + 800df16: e055 b.n 800dfc4 { if (Timeout != HAL_MAX_DELAY) - 800d720: 683b ldr r3, [r7, #0] - 800d722: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 800d726: d051 beq.n 800d7cc + 800df18: 683b ldr r3, [r7, #0] + 800df1a: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 800df1e: d051 beq.n 800dfc4 { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) - 800d728: f7f8 fea2 bl 8006470 - 800d72c: 4602 mov r2, r0 - 800d72e: 69bb ldr r3, [r7, #24] - 800d730: 1ad3 subs r3, r2, r3 - 800d732: 69fa ldr r2, [r7, #28] - 800d734: 429a cmp r2, r3 - 800d736: d902 bls.n 800d73e - 800d738: 69fb ldr r3, [r7, #28] - 800d73a: 2b00 cmp r3, #0 - 800d73c: d13d bne.n 800d7ba + 800df20: f7f8 fd24 bl 800696c + 800df24: 4602 mov r2, r0 + 800df26: 69bb ldr r3, [r7, #24] + 800df28: 1ad3 subs r3, r2, r3 + 800df2a: 69fa ldr r2, [r7, #28] + 800df2c: 429a cmp r2, r3 + 800df2e: d902 bls.n 800df36 + 800df30: 69fb ldr r3, [r7, #28] + 800df32: 2b00 cmp r3, #0 + 800df34: d13d bne.n 800dfb2 /* Disable the SPI and reset the CRC: the CRC value should be cleared on both master and slave sides in order to resynchronize the master and slave for their respective CRC calculation */ /* Disable TXE, RXNE and ERR interrupts for the interrupt process */ __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR)); - 800d73e: 68fb ldr r3, [r7, #12] - 800d740: 681b ldr r3, [r3, #0] - 800d742: 685a ldr r2, [r3, #4] - 800d744: 68fb ldr r3, [r7, #12] - 800d746: 681b ldr r3, [r3, #0] - 800d748: f022 02e0 bic.w r2, r2, #224 @ 0xe0 - 800d74c: 605a str r2, [r3, #4] + 800df36: 68fb ldr r3, [r7, #12] + 800df38: 681b ldr r3, [r3, #0] + 800df3a: 685a ldr r2, [r3, #4] + 800df3c: 68fb ldr r3, [r7, #12] + 800df3e: 681b ldr r3, [r3, #0] + 800df40: f022 02e0 bic.w r2, r2, #224 @ 0xe0 + 800df44: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) - 800d74e: 68fb ldr r3, [r7, #12] - 800d750: 685b ldr r3, [r3, #4] - 800d752: f5b3 7f82 cmp.w r3, #260 @ 0x104 - 800d756: d111 bne.n 800d77c - 800d758: 68fb ldr r3, [r7, #12] - 800d75a: 689b ldr r3, [r3, #8] - 800d75c: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 - 800d760: d004 beq.n 800d76c + 800df46: 68fb ldr r3, [r7, #12] + 800df48: 685b ldr r3, [r3, #4] + 800df4a: f5b3 7f82 cmp.w r3, #260 @ 0x104 + 800df4e: d111 bne.n 800df74 + 800df50: 68fb ldr r3, [r7, #12] + 800df52: 689b ldr r3, [r3, #8] + 800df54: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 + 800df58: d004 beq.n 800df64 || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) - 800d762: 68fb ldr r3, [r7, #12] - 800d764: 689b ldr r3, [r3, #8] - 800d766: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 800d76a: d107 bne.n 800d77c + 800df5a: 68fb ldr r3, [r7, #12] + 800df5c: 689b ldr r3, [r3, #8] + 800df5e: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 800df62: d107 bne.n 800df74 { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); - 800d76c: 68fb ldr r3, [r7, #12] - 800d76e: 681b ldr r3, [r3, #0] - 800d770: 681a ldr r2, [r3, #0] - 800d772: 68fb ldr r3, [r7, #12] - 800d774: 681b ldr r3, [r3, #0] - 800d776: f022 0240 bic.w r2, r2, #64 @ 0x40 - 800d77a: 601a str r2, [r3, #0] + 800df64: 68fb ldr r3, [r7, #12] + 800df66: 681b ldr r3, [r3, #0] + 800df68: 681a ldr r2, [r3, #0] + 800df6a: 68fb ldr r3, [r7, #12] + 800df6c: 681b ldr r3, [r3, #0] + 800df6e: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800df72: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) - 800d77c: 68fb ldr r3, [r7, #12] - 800d77e: 6a9b ldr r3, [r3, #40] @ 0x28 - 800d780: f5b3 5f00 cmp.w r3, #8192 @ 0x2000 - 800d784: d10f bne.n 800d7a6 + 800df74: 68fb ldr r3, [r7, #12] + 800df76: 6a9b ldr r3, [r3, #40] @ 0x28 + 800df78: f5b3 5f00 cmp.w r3, #8192 @ 0x2000 + 800df7c: d10f bne.n 800df9e { SPI_RESET_CRC(hspi); - 800d786: 68fb ldr r3, [r7, #12] - 800d788: 681b ldr r3, [r3, #0] - 800d78a: 681a ldr r2, [r3, #0] - 800d78c: 68fb ldr r3, [r7, #12] - 800d78e: 681b ldr r3, [r3, #0] - 800d790: f422 5200 bic.w r2, r2, #8192 @ 0x2000 - 800d794: 601a str r2, [r3, #0] - 800d796: 68fb ldr r3, [r7, #12] - 800d798: 681b ldr r3, [r3, #0] - 800d79a: 681a ldr r2, [r3, #0] - 800d79c: 68fb ldr r3, [r7, #12] - 800d79e: 681b ldr r3, [r3, #0] - 800d7a0: f442 5200 orr.w r2, r2, #8192 @ 0x2000 - 800d7a4: 601a str r2, [r3, #0] + 800df7e: 68fb ldr r3, [r7, #12] + 800df80: 681b ldr r3, [r3, #0] + 800df82: 681a ldr r2, [r3, #0] + 800df84: 68fb ldr r3, [r7, #12] + 800df86: 681b ldr r3, [r3, #0] + 800df88: f422 5200 bic.w r2, r2, #8192 @ 0x2000 + 800df8c: 601a str r2, [r3, #0] + 800df8e: 68fb ldr r3, [r7, #12] + 800df90: 681b ldr r3, [r3, #0] + 800df92: 681a ldr r2, [r3, #0] + 800df94: 68fb ldr r3, [r7, #12] + 800df96: 681b ldr r3, [r3, #0] + 800df98: f442 5200 orr.w r2, r2, #8192 @ 0x2000 + 800df9c: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; - 800d7a6: 68fb ldr r3, [r7, #12] - 800d7a8: 2201 movs r2, #1 - 800d7aa: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800df9e: 68fb ldr r3, [r7, #12] + 800dfa0: 2201 movs r2, #1 + 800dfa2: f883 205d strb.w r2, [r3, #93] @ 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); - 800d7ae: 68fb ldr r3, [r7, #12] - 800d7b0: 2200 movs r2, #0 - 800d7b2: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800dfa6: 68fb ldr r3, [r7, #12] + 800dfa8: 2200 movs r2, #0 + 800dfaa: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_TIMEOUT; - 800d7b6: 2303 movs r3, #3 - 800d7b8: e018 b.n 800d7ec + 800dfae: 2303 movs r3, #3 + 800dfb0: e018 b.n 800dfe4 } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) - 800d7ba: 697b ldr r3, [r7, #20] - 800d7bc: 2b00 cmp r3, #0 - 800d7be: d102 bne.n 800d7c6 + 800dfb2: 697b ldr r3, [r7, #20] + 800dfb4: 2b00 cmp r3, #0 + 800dfb6: d102 bne.n 800dfbe { tmp_timeout = 0U; - 800d7c0: 2300 movs r3, #0 - 800d7c2: 61fb str r3, [r7, #28] - 800d7c4: e002 b.n 800d7cc + 800dfb8: 2300 movs r3, #0 + 800dfba: 61fb str r3, [r7, #28] + 800dfbc: e002 b.n 800dfc4 } else { count--; - 800d7c6: 697b ldr r3, [r7, #20] - 800d7c8: 3b01 subs r3, #1 - 800d7ca: 617b str r3, [r7, #20] + 800dfbe: 697b ldr r3, [r7, #20] + 800dfc0: 3b01 subs r3, #1 + 800dfc2: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) - 800d7cc: 68fb ldr r3, [r7, #12] - 800d7ce: 681b ldr r3, [r3, #0] - 800d7d0: 689a ldr r2, [r3, #8] - 800d7d2: 68bb ldr r3, [r7, #8] - 800d7d4: 4013 ands r3, r2 - 800d7d6: 68ba ldr r2, [r7, #8] - 800d7d8: 429a cmp r2, r3 - 800d7da: bf0c ite eq - 800d7dc: 2301 moveq r3, #1 - 800d7de: 2300 movne r3, #0 - 800d7e0: b2db uxtb r3, r3 - 800d7e2: 461a mov r2, r3 - 800d7e4: 79fb ldrb r3, [r7, #7] - 800d7e6: 429a cmp r2, r3 - 800d7e8: d19a bne.n 800d720 + 800dfc4: 68fb ldr r3, [r7, #12] + 800dfc6: 681b ldr r3, [r3, #0] + 800dfc8: 689a ldr r2, [r3, #8] + 800dfca: 68bb ldr r3, [r7, #8] + 800dfcc: 4013 ands r3, r2 + 800dfce: 68ba ldr r2, [r7, #8] + 800dfd0: 429a cmp r2, r3 + 800dfd2: bf0c ite eq + 800dfd4: 2301 moveq r3, #1 + 800dfd6: 2300 movne r3, #0 + 800dfd8: b2db uxtb r3, r3 + 800dfda: 461a mov r2, r3 + 800dfdc: 79fb ldrb r3, [r7, #7] + 800dfde: 429a cmp r2, r3 + 800dfe0: d19a bne.n 800df18 } } } return HAL_OK; - 800d7ea: 2300 movs r3, #0 + 800dfe2: 2300 movs r3, #0 } - 800d7ec: 4618 mov r0, r3 - 800d7ee: 3720 adds r7, #32 - 800d7f0: 46bd mov sp, r7 - 800d7f2: bd80 pop {r7, pc} - 800d7f4: 2000000c .word 0x2000000c + 800dfe4: 4618 mov r0, r3 + 800dfe6: 3720 adds r7, #32 + 800dfe8: 46bd mov sp, r7 + 800dfea: bd80 pop {r7, pc} + 800dfec: 2000000c .word 0x2000000c -0800d7f8 : +0800dff0 : * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_WaitFifoStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Fifo, uint32_t State, uint32_t Timeout, uint32_t Tickstart) { - 800d7f8: b580 push {r7, lr} - 800d7fa: b08a sub sp, #40 @ 0x28 - 800d7fc: af00 add r7, sp, #0 - 800d7fe: 60f8 str r0, [r7, #12] - 800d800: 60b9 str r1, [r7, #8] - 800d802: 607a str r2, [r7, #4] - 800d804: 603b str r3, [r7, #0] + 800dff0: b580 push {r7, lr} + 800dff2: b08a sub sp, #40 @ 0x28 + 800dff4: af00 add r7, sp, #0 + 800dff6: 60f8 str r0, [r7, #12] + 800dff8: 60b9 str r1, [r7, #8] + 800dffa: 607a str r2, [r7, #4] + 800dffc: 603b str r3, [r7, #0] __IO uint32_t count; uint32_t tmp_timeout; uint32_t tmp_tickstart; __IO const uint8_t *ptmpreg8; __IO uint8_t tmpreg8 = 0; - 800d806: 2300 movs r3, #0 - 800d808: 75fb strb r3, [r7, #23] + 800dffe: 2300 movs r3, #0 + 800e000: 75fb strb r3, [r7, #23] /* Adjust Timeout value in case of end of transfer */ tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); - 800d80a: f7f8 fe31 bl 8006470 - 800d80e: 4602 mov r2, r0 - 800d810: 6b3b ldr r3, [r7, #48] @ 0x30 - 800d812: 1a9b subs r3, r3, r2 - 800d814: 683a ldr r2, [r7, #0] - 800d816: 4413 add r3, r2 - 800d818: 627b str r3, [r7, #36] @ 0x24 + 800e002: f7f8 fcb3 bl 800696c + 800e006: 4602 mov r2, r0 + 800e008: 6b3b ldr r3, [r7, #48] @ 0x30 + 800e00a: 1a9b subs r3, r3, r2 + 800e00c: 683a ldr r2, [r7, #0] + 800e00e: 4413 add r3, r2 + 800e010: 627b str r3, [r7, #36] @ 0x24 tmp_tickstart = HAL_GetTick(); - 800d81a: f7f8 fe29 bl 8006470 - 800d81e: 6238 str r0, [r7, #32] + 800e012: f7f8 fcab bl 800696c + 800e016: 6238 str r0, [r7, #32] /* Initialize the 8bit temporary pointer */ ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR; - 800d820: 68fb ldr r3, [r7, #12] - 800d822: 681b ldr r3, [r3, #0] - 800d824: 330c adds r3, #12 - 800d826: 61fb str r3, [r7, #28] + 800e018: 68fb ldr r3, [r7, #12] + 800e01a: 681b ldr r3, [r3, #0] + 800e01c: 330c adds r3, #12 + 800e01e: 61fb str r3, [r7, #28] /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */ count = tmp_timeout * ((SystemCoreClock * 35U) >> 20U); - 800d828: 4b3d ldr r3, [pc, #244] @ (800d920 ) - 800d82a: 681a ldr r2, [r3, #0] - 800d82c: 4613 mov r3, r2 - 800d82e: 009b lsls r3, r3, #2 - 800d830: 4413 add r3, r2 - 800d832: 00da lsls r2, r3, #3 - 800d834: 1ad3 subs r3, r2, r3 - 800d836: 0d1b lsrs r3, r3, #20 - 800d838: 6a7a ldr r2, [r7, #36] @ 0x24 - 800d83a: fb02 f303 mul.w r3, r2, r3 - 800d83e: 61bb str r3, [r7, #24] + 800e020: 4b3d ldr r3, [pc, #244] @ (800e118 ) + 800e022: 681a ldr r2, [r3, #0] + 800e024: 4613 mov r3, r2 + 800e026: 009b lsls r3, r3, #2 + 800e028: 4413 add r3, r2 + 800e02a: 00da lsls r2, r3, #3 + 800e02c: 1ad3 subs r3, r2, r3 + 800e02e: 0d1b lsrs r3, r3, #20 + 800e030: 6a7a ldr r2, [r7, #36] @ 0x24 + 800e032: fb02 f303 mul.w r3, r2, r3 + 800e036: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) - 800d840: e061 b.n 800d906 + 800e038: e061 b.n 800e0fe { if ((Fifo == SPI_SR_FRLVL) && (State == SPI_FRLVL_EMPTY)) - 800d842: 68bb ldr r3, [r7, #8] - 800d844: f5b3 6fc0 cmp.w r3, #1536 @ 0x600 - 800d848: d107 bne.n 800d85a - 800d84a: 687b ldr r3, [r7, #4] - 800d84c: 2b00 cmp r3, #0 - 800d84e: d104 bne.n 800d85a + 800e03a: 68bb ldr r3, [r7, #8] + 800e03c: f5b3 6fc0 cmp.w r3, #1536 @ 0x600 + 800e040: d107 bne.n 800e052 + 800e042: 687b ldr r3, [r7, #4] + 800e044: 2b00 cmp r3, #0 + 800e046: d104 bne.n 800e052 { /* Flush Data Register by a blank read */ tmpreg8 = *ptmpreg8; - 800d850: 69fb ldr r3, [r7, #28] - 800d852: 781b ldrb r3, [r3, #0] - 800d854: b2db uxtb r3, r3 - 800d856: 75fb strb r3, [r7, #23] + 800e048: 69fb ldr r3, [r7, #28] + 800e04a: 781b ldrb r3, [r3, #0] + 800e04c: b2db uxtb r3, r3 + 800e04e: 75fb strb r3, [r7, #23] /* To avoid GCC warning */ UNUSED(tmpreg8); - 800d858: 7dfb ldrb r3, [r7, #23] + 800e050: 7dfb ldrb r3, [r7, #23] } if (Timeout != HAL_MAX_DELAY) - 800d85a: 683b ldr r3, [r7, #0] - 800d85c: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 800d860: d051 beq.n 800d906 + 800e052: 683b ldr r3, [r7, #0] + 800e054: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 800e058: d051 beq.n 800e0fe { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) - 800d862: f7f8 fe05 bl 8006470 - 800d866: 4602 mov r2, r0 - 800d868: 6a3b ldr r3, [r7, #32] - 800d86a: 1ad3 subs r3, r2, r3 - 800d86c: 6a7a ldr r2, [r7, #36] @ 0x24 - 800d86e: 429a cmp r2, r3 - 800d870: d902 bls.n 800d878 - 800d872: 6a7b ldr r3, [r7, #36] @ 0x24 - 800d874: 2b00 cmp r3, #0 - 800d876: d13d bne.n 800d8f4 + 800e05a: f7f8 fc87 bl 800696c + 800e05e: 4602 mov r2, r0 + 800e060: 6a3b ldr r3, [r7, #32] + 800e062: 1ad3 subs r3, r2, r3 + 800e064: 6a7a ldr r2, [r7, #36] @ 0x24 + 800e066: 429a cmp r2, r3 + 800e068: d902 bls.n 800e070 + 800e06a: 6a7b ldr r3, [r7, #36] @ 0x24 + 800e06c: 2b00 cmp r3, #0 + 800e06e: d13d bne.n 800e0ec /* Disable the SPI and reset the CRC: the CRC value should be cleared on both master and slave sides in order to resynchronize the master and slave for their respective CRC calculation */ /* Disable TXE, RXNE and ERR interrupts for the interrupt process */ __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR)); - 800d878: 68fb ldr r3, [r7, #12] - 800d87a: 681b ldr r3, [r3, #0] - 800d87c: 685a ldr r2, [r3, #4] - 800d87e: 68fb ldr r3, [r7, #12] - 800d880: 681b ldr r3, [r3, #0] - 800d882: f022 02e0 bic.w r2, r2, #224 @ 0xe0 - 800d886: 605a str r2, [r3, #4] + 800e070: 68fb ldr r3, [r7, #12] + 800e072: 681b ldr r3, [r3, #0] + 800e074: 685a ldr r2, [r3, #4] + 800e076: 68fb ldr r3, [r7, #12] + 800e078: 681b ldr r3, [r3, #0] + 800e07a: f022 02e0 bic.w r2, r2, #224 @ 0xe0 + 800e07e: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) - 800d888: 68fb ldr r3, [r7, #12] - 800d88a: 685b ldr r3, [r3, #4] - 800d88c: f5b3 7f82 cmp.w r3, #260 @ 0x104 - 800d890: d111 bne.n 800d8b6 - 800d892: 68fb ldr r3, [r7, #12] - 800d894: 689b ldr r3, [r3, #8] - 800d896: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 - 800d89a: d004 beq.n 800d8a6 + 800e080: 68fb ldr r3, [r7, #12] + 800e082: 685b ldr r3, [r3, #4] + 800e084: f5b3 7f82 cmp.w r3, #260 @ 0x104 + 800e088: d111 bne.n 800e0ae + 800e08a: 68fb ldr r3, [r7, #12] + 800e08c: 689b ldr r3, [r3, #8] + 800e08e: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 + 800e092: d004 beq.n 800e09e || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) - 800d89c: 68fb ldr r3, [r7, #12] - 800d89e: 689b ldr r3, [r3, #8] - 800d8a0: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 800d8a4: d107 bne.n 800d8b6 + 800e094: 68fb ldr r3, [r7, #12] + 800e096: 689b ldr r3, [r3, #8] + 800e098: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 800e09c: d107 bne.n 800e0ae { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); - 800d8a6: 68fb ldr r3, [r7, #12] - 800d8a8: 681b ldr r3, [r3, #0] - 800d8aa: 681a ldr r2, [r3, #0] - 800d8ac: 68fb ldr r3, [r7, #12] - 800d8ae: 681b ldr r3, [r3, #0] - 800d8b0: f022 0240 bic.w r2, r2, #64 @ 0x40 - 800d8b4: 601a str r2, [r3, #0] + 800e09e: 68fb ldr r3, [r7, #12] + 800e0a0: 681b ldr r3, [r3, #0] + 800e0a2: 681a ldr r2, [r3, #0] + 800e0a4: 68fb ldr r3, [r7, #12] + 800e0a6: 681b ldr r3, [r3, #0] + 800e0a8: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800e0ac: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) - 800d8b6: 68fb ldr r3, [r7, #12] - 800d8b8: 6a9b ldr r3, [r3, #40] @ 0x28 - 800d8ba: f5b3 5f00 cmp.w r3, #8192 @ 0x2000 - 800d8be: d10f bne.n 800d8e0 + 800e0ae: 68fb ldr r3, [r7, #12] + 800e0b0: 6a9b ldr r3, [r3, #40] @ 0x28 + 800e0b2: f5b3 5f00 cmp.w r3, #8192 @ 0x2000 + 800e0b6: d10f bne.n 800e0d8 { SPI_RESET_CRC(hspi); - 800d8c0: 68fb ldr r3, [r7, #12] - 800d8c2: 681b ldr r3, [r3, #0] - 800d8c4: 681a ldr r2, [r3, #0] - 800d8c6: 68fb ldr r3, [r7, #12] - 800d8c8: 681b ldr r3, [r3, #0] - 800d8ca: f422 5200 bic.w r2, r2, #8192 @ 0x2000 - 800d8ce: 601a str r2, [r3, #0] - 800d8d0: 68fb ldr r3, [r7, #12] - 800d8d2: 681b ldr r3, [r3, #0] - 800d8d4: 681a ldr r2, [r3, #0] - 800d8d6: 68fb ldr r3, [r7, #12] - 800d8d8: 681b ldr r3, [r3, #0] - 800d8da: f442 5200 orr.w r2, r2, #8192 @ 0x2000 - 800d8de: 601a str r2, [r3, #0] + 800e0b8: 68fb ldr r3, [r7, #12] + 800e0ba: 681b ldr r3, [r3, #0] + 800e0bc: 681a ldr r2, [r3, #0] + 800e0be: 68fb ldr r3, [r7, #12] + 800e0c0: 681b ldr r3, [r3, #0] + 800e0c2: f422 5200 bic.w r2, r2, #8192 @ 0x2000 + 800e0c6: 601a str r2, [r3, #0] + 800e0c8: 68fb ldr r3, [r7, #12] + 800e0ca: 681b ldr r3, [r3, #0] + 800e0cc: 681a ldr r2, [r3, #0] + 800e0ce: 68fb ldr r3, [r7, #12] + 800e0d0: 681b ldr r3, [r3, #0] + 800e0d2: f442 5200 orr.w r2, r2, #8192 @ 0x2000 + 800e0d6: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; - 800d8e0: 68fb ldr r3, [r7, #12] - 800d8e2: 2201 movs r2, #1 - 800d8e4: f883 205d strb.w r2, [r3, #93] @ 0x5d + 800e0d8: 68fb ldr r3, [r7, #12] + 800e0da: 2201 movs r2, #1 + 800e0dc: f883 205d strb.w r2, [r3, #93] @ 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); - 800d8e8: 68fb ldr r3, [r7, #12] - 800d8ea: 2200 movs r2, #0 - 800d8ec: f883 205c strb.w r2, [r3, #92] @ 0x5c + 800e0e0: 68fb ldr r3, [r7, #12] + 800e0e2: 2200 movs r2, #0 + 800e0e4: f883 205c strb.w r2, [r3, #92] @ 0x5c return HAL_TIMEOUT; - 800d8f0: 2303 movs r3, #3 - 800d8f2: e011 b.n 800d918 + 800e0e8: 2303 movs r3, #3 + 800e0ea: e011 b.n 800e110 } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) - 800d8f4: 69bb ldr r3, [r7, #24] - 800d8f6: 2b00 cmp r3, #0 - 800d8f8: d102 bne.n 800d900 + 800e0ec: 69bb ldr r3, [r7, #24] + 800e0ee: 2b00 cmp r3, #0 + 800e0f0: d102 bne.n 800e0f8 { tmp_timeout = 0U; - 800d8fa: 2300 movs r3, #0 - 800d8fc: 627b str r3, [r7, #36] @ 0x24 - 800d8fe: e002 b.n 800d906 + 800e0f2: 2300 movs r3, #0 + 800e0f4: 627b str r3, [r7, #36] @ 0x24 + 800e0f6: e002 b.n 800e0fe } else { count--; - 800d900: 69bb ldr r3, [r7, #24] - 800d902: 3b01 subs r3, #1 - 800d904: 61bb str r3, [r7, #24] + 800e0f8: 69bb ldr r3, [r7, #24] + 800e0fa: 3b01 subs r3, #1 + 800e0fc: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) - 800d906: 68fb ldr r3, [r7, #12] - 800d908: 681b ldr r3, [r3, #0] - 800d90a: 689a ldr r2, [r3, #8] - 800d90c: 68bb ldr r3, [r7, #8] - 800d90e: 4013 ands r3, r2 - 800d910: 687a ldr r2, [r7, #4] - 800d912: 429a cmp r2, r3 - 800d914: d195 bne.n 800d842 + 800e0fe: 68fb ldr r3, [r7, #12] + 800e100: 681b ldr r3, [r3, #0] + 800e102: 689a ldr r2, [r3, #8] + 800e104: 68bb ldr r3, [r7, #8] + 800e106: 4013 ands r3, r2 + 800e108: 687a ldr r2, [r7, #4] + 800e10a: 429a cmp r2, r3 + 800e10c: d195 bne.n 800e03a } } } return HAL_OK; - 800d916: 2300 movs r3, #0 + 800e10e: 2300 movs r3, #0 } - 800d918: 4618 mov r0, r3 - 800d91a: 3728 adds r7, #40 @ 0x28 - 800d91c: 46bd mov sp, r7 - 800d91e: bd80 pop {r7, pc} - 800d920: 2000000c .word 0x2000000c + 800e110: 4618 mov r0, r3 + 800e112: 3728 adds r7, #40 @ 0x28 + 800e114: 46bd mov sp, r7 + 800e116: bd80 pop {r7, pc} + 800e118: 2000000c .word 0x2000000c -0800d924 : +0800e11c : * @param Timeout Timeout duration * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t Tickstart) { - 800d924: b580 push {r7, lr} - 800d926: b086 sub sp, #24 - 800d928: af02 add r7, sp, #8 - 800d92a: 60f8 str r0, [r7, #12] - 800d92c: 60b9 str r1, [r7, #8] - 800d92e: 607a str r2, [r7, #4] + 800e11c: b580 push {r7, lr} + 800e11e: b086 sub sp, #24 + 800e120: af02 add r7, sp, #8 + 800e122: 60f8 str r0, [r7, #12] + 800e124: 60b9 str r1, [r7, #8] + 800e126: 607a str r2, [r7, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) - 800d930: 68fb ldr r3, [r7, #12] - 800d932: 685b ldr r3, [r3, #4] - 800d934: f5b3 7f82 cmp.w r3, #260 @ 0x104 - 800d938: d111 bne.n 800d95e - 800d93a: 68fb ldr r3, [r7, #12] - 800d93c: 689b ldr r3, [r3, #8] - 800d93e: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 - 800d942: d004 beq.n 800d94e + 800e128: 68fb ldr r3, [r7, #12] + 800e12a: 685b ldr r3, [r3, #4] + 800e12c: f5b3 7f82 cmp.w r3, #260 @ 0x104 + 800e130: d111 bne.n 800e156 + 800e132: 68fb ldr r3, [r7, #12] + 800e134: 689b ldr r3, [r3, #8] + 800e136: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 + 800e13a: d004 beq.n 800e146 || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) - 800d944: 68fb ldr r3, [r7, #12] - 800d946: 689b ldr r3, [r3, #8] - 800d948: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 800d94c: d107 bne.n 800d95e + 800e13c: 68fb ldr r3, [r7, #12] + 800e13e: 689b ldr r3, [r3, #8] + 800e140: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 800e144: d107 bne.n 800e156 { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); - 800d94e: 68fb ldr r3, [r7, #12] - 800d950: 681b ldr r3, [r3, #0] - 800d952: 681a ldr r2, [r3, #0] - 800d954: 68fb ldr r3, [r7, #12] - 800d956: 681b ldr r3, [r3, #0] - 800d958: f022 0240 bic.w r2, r2, #64 @ 0x40 - 800d95c: 601a str r2, [r3, #0] + 800e146: 68fb ldr r3, [r7, #12] + 800e148: 681b ldr r3, [r3, #0] + 800e14a: 681a ldr r2, [r3, #0] + 800e14c: 68fb ldr r3, [r7, #12] + 800e14e: 681b ldr r3, [r3, #0] + 800e150: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800e154: 601a str r2, [r3, #0] } /* Control the BSY flag */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) - 800d95e: 687b ldr r3, [r7, #4] - 800d960: 9300 str r3, [sp, #0] - 800d962: 68bb ldr r3, [r7, #8] - 800d964: 2200 movs r2, #0 - 800d966: 2180 movs r1, #128 @ 0x80 - 800d968: 68f8 ldr r0, [r7, #12] - 800d96a: f7ff febd bl 800d6e8 - 800d96e: 4603 mov r3, r0 - 800d970: 2b00 cmp r3, #0 - 800d972: d007 beq.n 800d984 + 800e156: 687b ldr r3, [r7, #4] + 800e158: 9300 str r3, [sp, #0] + 800e15a: 68bb ldr r3, [r7, #8] + 800e15c: 2200 movs r2, #0 + 800e15e: 2180 movs r1, #128 @ 0x80 + 800e160: 68f8 ldr r0, [r7, #12] + 800e162: f7ff febd bl 800dee0 + 800e166: 4603 mov r3, r0 + 800e168: 2b00 cmp r3, #0 + 800e16a: d007 beq.n 800e17c { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 800d974: 68fb ldr r3, [r7, #12] - 800d976: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d978: f043 0220 orr.w r2, r3, #32 - 800d97c: 68fb ldr r3, [r7, #12] - 800d97e: 661a str r2, [r3, #96] @ 0x60 + 800e16c: 68fb ldr r3, [r7, #12] + 800e16e: 6e1b ldr r3, [r3, #96] @ 0x60 + 800e170: f043 0220 orr.w r2, r3, #32 + 800e174: 68fb ldr r3, [r7, #12] + 800e176: 661a str r2, [r3, #96] @ 0x60 return HAL_TIMEOUT; - 800d980: 2303 movs r3, #3 - 800d982: e023 b.n 800d9cc + 800e178: 2303 movs r3, #3 + 800e17a: e023 b.n 800e1c4 } if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) - 800d984: 68fb ldr r3, [r7, #12] - 800d986: 685b ldr r3, [r3, #4] - 800d988: f5b3 7f82 cmp.w r3, #260 @ 0x104 - 800d98c: d11d bne.n 800d9ca - 800d98e: 68fb ldr r3, [r7, #12] - 800d990: 689b ldr r3, [r3, #8] - 800d992: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 - 800d996: d004 beq.n 800d9a2 + 800e17c: 68fb ldr r3, [r7, #12] + 800e17e: 685b ldr r3, [r3, #4] + 800e180: f5b3 7f82 cmp.w r3, #260 @ 0x104 + 800e184: d11d bne.n 800e1c2 + 800e186: 68fb ldr r3, [r7, #12] + 800e188: 689b ldr r3, [r3, #8] + 800e18a: f5b3 4f00 cmp.w r3, #32768 @ 0x8000 + 800e18e: d004 beq.n 800e19a || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) - 800d998: 68fb ldr r3, [r7, #12] - 800d99a: 689b ldr r3, [r3, #8] - 800d99c: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 800d9a0: d113 bne.n 800d9ca + 800e190: 68fb ldr r3, [r7, #12] + 800e192: 689b ldr r3, [r3, #8] + 800e194: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 800e198: d113 bne.n 800e1c2 { /* Empty the FRLVL fifo */ if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) != HAL_OK) - 800d9a2: 687b ldr r3, [r7, #4] - 800d9a4: 9300 str r3, [sp, #0] - 800d9a6: 68bb ldr r3, [r7, #8] - 800d9a8: 2200 movs r2, #0 - 800d9aa: f44f 61c0 mov.w r1, #1536 @ 0x600 - 800d9ae: 68f8 ldr r0, [r7, #12] - 800d9b0: f7ff ff22 bl 800d7f8 - 800d9b4: 4603 mov r3, r0 - 800d9b6: 2b00 cmp r3, #0 - 800d9b8: d007 beq.n 800d9ca + 800e19a: 687b ldr r3, [r7, #4] + 800e19c: 9300 str r3, [sp, #0] + 800e19e: 68bb ldr r3, [r7, #8] + 800e1a0: 2200 movs r2, #0 + 800e1a2: f44f 61c0 mov.w r1, #1536 @ 0x600 + 800e1a6: 68f8 ldr r0, [r7, #12] + 800e1a8: f7ff ff22 bl 800dff0 + 800e1ac: 4603 mov r3, r0 + 800e1ae: 2b00 cmp r3, #0 + 800e1b0: d007 beq.n 800e1c2 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 800d9ba: 68fb ldr r3, [r7, #12] - 800d9bc: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d9be: f043 0220 orr.w r2, r3, #32 - 800d9c2: 68fb ldr r3, [r7, #12] - 800d9c4: 661a str r2, [r3, #96] @ 0x60 + 800e1b2: 68fb ldr r3, [r7, #12] + 800e1b4: 6e1b ldr r3, [r3, #96] @ 0x60 + 800e1b6: f043 0220 orr.w r2, r3, #32 + 800e1ba: 68fb ldr r3, [r7, #12] + 800e1bc: 661a str r2, [r3, #96] @ 0x60 return HAL_TIMEOUT; - 800d9c6: 2303 movs r3, #3 - 800d9c8: e000 b.n 800d9cc + 800e1be: 2303 movs r3, #3 + 800e1c0: e000 b.n 800e1c4 } } return HAL_OK; - 800d9ca: 2300 movs r3, #0 + 800e1c2: 2300 movs r3, #0 } - 800d9cc: 4618 mov r0, r3 - 800d9ce: 3710 adds r7, #16 - 800d9d0: 46bd mov sp, r7 - 800d9d2: bd80 pop {r7, pc} + 800e1c4: 4618 mov r0, r3 + 800e1c6: 3710 adds r7, #16 + 800e1c8: 46bd mov sp, r7 + 800e1ca: bd80 pop {r7, pc} -0800d9d4 : +0800e1cc : * @param Timeout Timeout duration * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t Tickstart) { - 800d9d4: b580 push {r7, lr} - 800d9d6: b086 sub sp, #24 - 800d9d8: af02 add r7, sp, #8 - 800d9da: 60f8 str r0, [r7, #12] - 800d9dc: 60b9 str r1, [r7, #8] - 800d9de: 607a str r2, [r7, #4] + 800e1cc: b580 push {r7, lr} + 800e1ce: b086 sub sp, #24 + 800e1d0: af02 add r7, sp, #8 + 800e1d2: 60f8 str r0, [r7, #12] + 800e1d4: 60b9 str r1, [r7, #8] + 800e1d6: 607a str r2, [r7, #4] /* Control if the TX fifo is empty */ if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FTLVL, SPI_FTLVL_EMPTY, Timeout, Tickstart) != HAL_OK) - 800d9e0: 687b ldr r3, [r7, #4] - 800d9e2: 9300 str r3, [sp, #0] - 800d9e4: 68bb ldr r3, [r7, #8] - 800d9e6: 2200 movs r2, #0 - 800d9e8: f44f 51c0 mov.w r1, #6144 @ 0x1800 - 800d9ec: 68f8 ldr r0, [r7, #12] - 800d9ee: f7ff ff03 bl 800d7f8 - 800d9f2: 4603 mov r3, r0 - 800d9f4: 2b00 cmp r3, #0 - 800d9f6: d007 beq.n 800da08 + 800e1d8: 687b ldr r3, [r7, #4] + 800e1da: 9300 str r3, [sp, #0] + 800e1dc: 68bb ldr r3, [r7, #8] + 800e1de: 2200 movs r2, #0 + 800e1e0: f44f 51c0 mov.w r1, #6144 @ 0x1800 + 800e1e4: 68f8 ldr r0, [r7, #12] + 800e1e6: f7ff ff03 bl 800dff0 + 800e1ea: 4603 mov r3, r0 + 800e1ec: 2b00 cmp r3, #0 + 800e1ee: d007 beq.n 800e200 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 800d9f8: 68fb ldr r3, [r7, #12] - 800d9fa: 6e1b ldr r3, [r3, #96] @ 0x60 - 800d9fc: f043 0220 orr.w r2, r3, #32 - 800da00: 68fb ldr r3, [r7, #12] - 800da02: 661a str r2, [r3, #96] @ 0x60 + 800e1f0: 68fb ldr r3, [r7, #12] + 800e1f2: 6e1b ldr r3, [r3, #96] @ 0x60 + 800e1f4: f043 0220 orr.w r2, r3, #32 + 800e1f8: 68fb ldr r3, [r7, #12] + 800e1fa: 661a str r2, [r3, #96] @ 0x60 return HAL_TIMEOUT; - 800da04: 2303 movs r3, #3 - 800da06: e027 b.n 800da58 + 800e1fc: 2303 movs r3, #3 + 800e1fe: e027 b.n 800e250 } /* Control the BSY flag */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) - 800da08: 687b ldr r3, [r7, #4] - 800da0a: 9300 str r3, [sp, #0] - 800da0c: 68bb ldr r3, [r7, #8] - 800da0e: 2200 movs r2, #0 - 800da10: 2180 movs r1, #128 @ 0x80 - 800da12: 68f8 ldr r0, [r7, #12] - 800da14: f7ff fe68 bl 800d6e8 - 800da18: 4603 mov r3, r0 - 800da1a: 2b00 cmp r3, #0 - 800da1c: d007 beq.n 800da2e + 800e200: 687b ldr r3, [r7, #4] + 800e202: 9300 str r3, [sp, #0] + 800e204: 68bb ldr r3, [r7, #8] + 800e206: 2200 movs r2, #0 + 800e208: 2180 movs r1, #128 @ 0x80 + 800e20a: 68f8 ldr r0, [r7, #12] + 800e20c: f7ff fe68 bl 800dee0 + 800e210: 4603 mov r3, r0 + 800e212: 2b00 cmp r3, #0 + 800e214: d007 beq.n 800e226 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 800da1e: 68fb ldr r3, [r7, #12] - 800da20: 6e1b ldr r3, [r3, #96] @ 0x60 - 800da22: f043 0220 orr.w r2, r3, #32 - 800da26: 68fb ldr r3, [r7, #12] - 800da28: 661a str r2, [r3, #96] @ 0x60 + 800e216: 68fb ldr r3, [r7, #12] + 800e218: 6e1b ldr r3, [r3, #96] @ 0x60 + 800e21a: f043 0220 orr.w r2, r3, #32 + 800e21e: 68fb ldr r3, [r7, #12] + 800e220: 661a str r2, [r3, #96] @ 0x60 return HAL_TIMEOUT; - 800da2a: 2303 movs r3, #3 - 800da2c: e014 b.n 800da58 + 800e222: 2303 movs r3, #3 + 800e224: e014 b.n 800e250 } /* Control if the RX fifo is empty */ if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) != HAL_OK) - 800da2e: 687b ldr r3, [r7, #4] - 800da30: 9300 str r3, [sp, #0] - 800da32: 68bb ldr r3, [r7, #8] - 800da34: 2200 movs r2, #0 - 800da36: f44f 61c0 mov.w r1, #1536 @ 0x600 - 800da3a: 68f8 ldr r0, [r7, #12] - 800da3c: f7ff fedc bl 800d7f8 - 800da40: 4603 mov r3, r0 - 800da42: 2b00 cmp r3, #0 - 800da44: d007 beq.n 800da56 + 800e226: 687b ldr r3, [r7, #4] + 800e228: 9300 str r3, [sp, #0] + 800e22a: 68bb ldr r3, [r7, #8] + 800e22c: 2200 movs r2, #0 + 800e22e: f44f 61c0 mov.w r1, #1536 @ 0x600 + 800e232: 68f8 ldr r0, [r7, #12] + 800e234: f7ff fedc bl 800dff0 + 800e238: 4603 mov r3, r0 + 800e23a: 2b00 cmp r3, #0 + 800e23c: d007 beq.n 800e24e { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 800da46: 68fb ldr r3, [r7, #12] - 800da48: 6e1b ldr r3, [r3, #96] @ 0x60 - 800da4a: f043 0220 orr.w r2, r3, #32 - 800da4e: 68fb ldr r3, [r7, #12] - 800da50: 661a str r2, [r3, #96] @ 0x60 + 800e23e: 68fb ldr r3, [r7, #12] + 800e240: 6e1b ldr r3, [r3, #96] @ 0x60 + 800e242: f043 0220 orr.w r2, r3, #32 + 800e246: 68fb ldr r3, [r7, #12] + 800e248: 661a str r2, [r3, #96] @ 0x60 return HAL_TIMEOUT; - 800da52: 2303 movs r3, #3 - 800da54: e000 b.n 800da58 + 800e24a: 2303 movs r3, #3 + 800e24c: e000 b.n 800e250 } return HAL_OK; - 800da56: 2300 movs r3, #0 + 800e24e: 2300 movs r3, #0 } - 800da58: 4618 mov r0, r3 - 800da5a: 3710 adds r7, #16 - 800da5c: 46bd mov sp, r7 - 800da5e: bd80 pop {r7, pc} + 800e250: 4618 mov r0, r3 + 800e252: 3710 adds r7, #16 + 800e254: 46bd mov sp, r7 + 800e256: bd80 pop {r7, pc} -0800da60 : +0800e258 : + * @param hspi pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi) +{ + 800e258: b580 push {r7, lr} + 800e25a: b086 sub sp, #24 + 800e25c: af02 add r7, sp, #8 + 800e25e: 6078 str r0, [r7, #4] + __IO uint32_t count; + + /* Disable SPI Peripheral */ + __HAL_SPI_DISABLE(hspi); + 800e260: 687b ldr r3, [r7, #4] + 800e262: 681b ldr r3, [r3, #0] + 800e264: 681a ldr r2, [r3, #0] + 800e266: 687b ldr r3, [r7, #4] + 800e268: 681b ldr r3, [r3, #0] + 800e26a: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800e26e: 601a str r2, [r3, #0] + + count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); + 800e270: 4b27 ldr r3, [pc, #156] @ (800e310 ) + 800e272: 681b ldr r3, [r3, #0] + 800e274: 4a27 ldr r2, [pc, #156] @ (800e314 ) + 800e276: fba2 2303 umull r2, r3, r2, r3 + 800e27a: 0a5b lsrs r3, r3, #9 + 800e27c: 2264 movs r2, #100 @ 0x64 + 800e27e: fb02 f303 mul.w r3, r2, r3 + 800e282: 60fb str r3, [r7, #12] + + /* Disable RXNEIE interrupt */ + CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXNEIE)); + 800e284: 687b ldr r3, [r7, #4] + 800e286: 681b ldr r3, [r3, #0] + 800e288: 685a ldr r2, [r3, #4] + 800e28a: 687b ldr r3, [r7, #4] + 800e28c: 681b ldr r3, [r3, #0] + 800e28e: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800e292: 605a str r2, [r3, #4] + + /* Check RXNEIE is disabled */ + do + { + if (count == 0U) + 800e294: 68fb ldr r3, [r7, #12] + 800e296: 2b00 cmp r3, #0 + 800e298: d106 bne.n 800e2a8 + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); + 800e29a: 687b ldr r3, [r7, #4] + 800e29c: 6e1b ldr r3, [r3, #96] @ 0x60 + 800e29e: f043 0240 orr.w r2, r3, #64 @ 0x40 + 800e2a2: 687b ldr r3, [r7, #4] + 800e2a4: 661a str r2, [r3, #96] @ 0x60 + break; + 800e2a6: e009 b.n 800e2bc + } + count--; + 800e2a8: 68fb ldr r3, [r7, #12] + 800e2aa: 3b01 subs r3, #1 + 800e2ac: 60fb str r3, [r7, #12] + } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE)); + 800e2ae: 687b ldr r3, [r7, #4] + 800e2b0: 681b ldr r3, [r3, #0] + 800e2b2: 685b ldr r3, [r3, #4] + 800e2b4: f003 0340 and.w r3, r3, #64 @ 0x40 + 800e2b8: 2b40 cmp r3, #64 @ 0x40 + 800e2ba: d0eb beq.n 800e294 + + /* Control the BSY flag */ + if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK) + 800e2bc: f7f8 fb56 bl 800696c + 800e2c0: 4603 mov r3, r0 + 800e2c2: 9300 str r3, [sp, #0] + 800e2c4: 2364 movs r3, #100 @ 0x64 + 800e2c6: 2200 movs r2, #0 + 800e2c8: 2180 movs r1, #128 @ 0x80 + 800e2ca: 6878 ldr r0, [r7, #4] + 800e2cc: f7ff fe08 bl 800dee0 + 800e2d0: 4603 mov r3, r0 + 800e2d2: 2b00 cmp r3, #0 + 800e2d4: d002 beq.n 800e2dc + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800e2d6: 687b ldr r3, [r7, #4] + 800e2d8: 2240 movs r2, #64 @ 0x40 + 800e2da: 661a str r2, [r3, #96] @ 0x60 + } + + /* Empty the FRLVL fifo */ + if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, + 800e2dc: f7f8 fb46 bl 800696c + 800e2e0: 4603 mov r3, r0 + 800e2e2: 9300 str r3, [sp, #0] + 800e2e4: 2364 movs r3, #100 @ 0x64 + 800e2e6: 2200 movs r2, #0 + 800e2e8: f44f 61c0 mov.w r1, #1536 @ 0x600 + 800e2ec: 6878 ldr r0, [r7, #4] + 800e2ee: f7ff fe7f bl 800dff0 + 800e2f2: 4603 mov r3, r0 + 800e2f4: 2b00 cmp r3, #0 + 800e2f6: d002 beq.n 800e2fe + HAL_GetTick()) != HAL_OK) + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800e2f8: 687b ldr r3, [r7, #4] + 800e2fa: 2240 movs r2, #64 @ 0x40 + 800e2fc: 661a str r2, [r3, #96] @ 0x60 + } + + hspi->State = HAL_SPI_STATE_ABORT; + 800e2fe: 687b ldr r3, [r7, #4] + 800e300: 2207 movs r2, #7 + 800e302: f883 205d strb.w r2, [r3, #93] @ 0x5d +} + 800e306: bf00 nop + 800e308: 3710 adds r7, #16 + 800e30a: 46bd mov sp, r7 + 800e30c: bd80 pop {r7, pc} + 800e30e: bf00 nop + 800e310: 2000000c .word 0x2000000c + 800e314: 057619f1 .word 0x057619f1 + +0800e318 : + * @param hspi pointer to a SPI_HandleTypeDef structure that contains + * the configuration information for SPI module. + * @retval None + */ +static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi) +{ + 800e318: b580 push {r7, lr} + 800e31a: b086 sub sp, #24 + 800e31c: af02 add r7, sp, #8 + 800e31e: 6078 str r0, [r7, #4] + __IO uint32_t count; + + count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); + 800e320: 4b4c ldr r3, [pc, #304] @ (800e454 ) + 800e322: 681b ldr r3, [r3, #0] + 800e324: 4a4c ldr r2, [pc, #304] @ (800e458 ) + 800e326: fba2 2303 umull r2, r3, r2, r3 + 800e32a: 0a5b lsrs r3, r3, #9 + 800e32c: 2264 movs r2, #100 @ 0x64 + 800e32e: fb02 f303 mul.w r3, r2, r3 + 800e332: 60fb str r3, [r7, #12] + + /* Disable TXEIE interrupt */ + CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXEIE)); + 800e334: 687b ldr r3, [r7, #4] + 800e336: 681b ldr r3, [r3, #0] + 800e338: 685a ldr r2, [r3, #4] + 800e33a: 687b ldr r3, [r7, #4] + 800e33c: 681b ldr r3, [r3, #0] + 800e33e: f022 0280 bic.w r2, r2, #128 @ 0x80 + 800e342: 605a str r2, [r3, #4] + + /* Check TXEIE is disabled */ + do + { + if (count == 0U) + 800e344: 68fb ldr r3, [r7, #12] + 800e346: 2b00 cmp r3, #0 + 800e348: d106 bne.n 800e358 + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); + 800e34a: 687b ldr r3, [r7, #4] + 800e34c: 6e1b ldr r3, [r3, #96] @ 0x60 + 800e34e: f043 0240 orr.w r2, r3, #64 @ 0x40 + 800e352: 687b ldr r3, [r7, #4] + 800e354: 661a str r2, [r3, #96] @ 0x60 + break; + 800e356: e009 b.n 800e36c + } + count--; + 800e358: 68fb ldr r3, [r7, #12] + 800e35a: 3b01 subs r3, #1 + 800e35c: 60fb str r3, [r7, #12] + } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE)); + 800e35e: 687b ldr r3, [r7, #4] + 800e360: 681b ldr r3, [r3, #0] + 800e362: 685b ldr r3, [r3, #4] + 800e364: f003 0380 and.w r3, r3, #128 @ 0x80 + 800e368: 2b80 cmp r3, #128 @ 0x80 + 800e36a: d0eb beq.n 800e344 + + if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK) + 800e36c: f7f8 fafe bl 800696c + 800e370: 4603 mov r3, r0 + 800e372: 461a mov r2, r3 + 800e374: 2164 movs r1, #100 @ 0x64 + 800e376: 6878 ldr r0, [r7, #4] + 800e378: f7ff ff28 bl 800e1cc + 800e37c: 4603 mov r3, r0 + 800e37e: 2b00 cmp r3, #0 + 800e380: d002 beq.n 800e388 + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800e382: 687b ldr r3, [r7, #4] + 800e384: 2240 movs r2, #64 @ 0x40 + 800e386: 661a str r2, [r3, #96] @ 0x60 + } + + /* Disable SPI Peripheral */ + __HAL_SPI_DISABLE(hspi); + 800e388: 687b ldr r3, [r7, #4] + 800e38a: 681b ldr r3, [r3, #0] + 800e38c: 681a ldr r2, [r3, #0] + 800e38e: 687b ldr r3, [r7, #4] + 800e390: 681b ldr r3, [r3, #0] + 800e392: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800e396: 601a str r2, [r3, #0] + + /* Empty the FRLVL fifo */ + if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, + 800e398: f7f8 fae8 bl 800696c + 800e39c: 4603 mov r3, r0 + 800e39e: 9300 str r3, [sp, #0] + 800e3a0: 2364 movs r3, #100 @ 0x64 + 800e3a2: 2200 movs r2, #0 + 800e3a4: f44f 61c0 mov.w r1, #1536 @ 0x600 + 800e3a8: 6878 ldr r0, [r7, #4] + 800e3aa: f7ff fe21 bl 800dff0 + 800e3ae: 4603 mov r3, r0 + 800e3b0: 2b00 cmp r3, #0 + 800e3b2: d002 beq.n 800e3ba + HAL_GetTick()) != HAL_OK) + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800e3b4: 687b ldr r3, [r7, #4] + 800e3b6: 2240 movs r2, #64 @ 0x40 + 800e3b8: 661a str r2, [r3, #96] @ 0x60 + } + + /* Check case of Full-Duplex Mode and disable directly RXNEIE interrupt */ + if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE)) + 800e3ba: 687b ldr r3, [r7, #4] + 800e3bc: 681b ldr r3, [r3, #0] + 800e3be: 685b ldr r3, [r3, #4] + 800e3c0: f003 0340 and.w r3, r3, #64 @ 0x40 + 800e3c4: 2b40 cmp r3, #64 @ 0x40 + 800e3c6: d13c bne.n 800e442 + { + /* Disable RXNEIE interrupt */ + CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXNEIE)); + 800e3c8: 687b ldr r3, [r7, #4] + 800e3ca: 681b ldr r3, [r3, #0] + 800e3cc: 685a ldr r2, [r3, #4] + 800e3ce: 687b ldr r3, [r7, #4] + 800e3d0: 681b ldr r3, [r3, #0] + 800e3d2: f022 0240 bic.w r2, r2, #64 @ 0x40 + 800e3d6: 605a str r2, [r3, #4] + + /* Check RXNEIE is disabled */ + do + { + if (count == 0U) + 800e3d8: 68fb ldr r3, [r7, #12] + 800e3da: 2b00 cmp r3, #0 + 800e3dc: d106 bne.n 800e3ec + { + SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); + 800e3de: 687b ldr r3, [r7, #4] + 800e3e0: 6e1b ldr r3, [r3, #96] @ 0x60 + 800e3e2: f043 0240 orr.w r2, r3, #64 @ 0x40 + 800e3e6: 687b ldr r3, [r7, #4] + 800e3e8: 661a str r2, [r3, #96] @ 0x60 + break; + 800e3ea: e009 b.n 800e400 + } + count--; + 800e3ec: 68fb ldr r3, [r7, #12] + 800e3ee: 3b01 subs r3, #1 + 800e3f0: 60fb str r3, [r7, #12] + } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE)); + 800e3f2: 687b ldr r3, [r7, #4] + 800e3f4: 681b ldr r3, [r3, #0] + 800e3f6: 685b ldr r3, [r3, #4] + 800e3f8: f003 0340 and.w r3, r3, #64 @ 0x40 + 800e3fc: 2b40 cmp r3, #64 @ 0x40 + 800e3fe: d0eb beq.n 800e3d8 + + /* Control the BSY flag */ + if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK) + 800e400: f7f8 fab4 bl 800696c + 800e404: 4603 mov r3, r0 + 800e406: 9300 str r3, [sp, #0] + 800e408: 2364 movs r3, #100 @ 0x64 + 800e40a: 2200 movs r2, #0 + 800e40c: 2180 movs r1, #128 @ 0x80 + 800e40e: 6878 ldr r0, [r7, #4] + 800e410: f7ff fd66 bl 800dee0 + 800e414: 4603 mov r3, r0 + 800e416: 2b00 cmp r3, #0 + 800e418: d002 beq.n 800e420 + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800e41a: 687b ldr r3, [r7, #4] + 800e41c: 2240 movs r2, #64 @ 0x40 + 800e41e: 661a str r2, [r3, #96] @ 0x60 + } + + /* Empty the FRLVL fifo */ + if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, + 800e420: f7f8 faa4 bl 800696c + 800e424: 4603 mov r3, r0 + 800e426: 9300 str r3, [sp, #0] + 800e428: 2364 movs r3, #100 @ 0x64 + 800e42a: 2200 movs r2, #0 + 800e42c: f44f 61c0 mov.w r1, #1536 @ 0x600 + 800e430: 6878 ldr r0, [r7, #4] + 800e432: f7ff fddd bl 800dff0 + 800e436: 4603 mov r3, r0 + 800e438: 2b00 cmp r3, #0 + 800e43a: d002 beq.n 800e442 + HAL_GetTick()) != HAL_OK) + { + hspi->ErrorCode = HAL_SPI_ERROR_ABORT; + 800e43c: 687b ldr r3, [r7, #4] + 800e43e: 2240 movs r2, #64 @ 0x40 + 800e440: 661a str r2, [r3, #96] @ 0x60 + } + } + hspi->State = HAL_SPI_STATE_ABORT; + 800e442: 687b ldr r3, [r7, #4] + 800e444: 2207 movs r2, #7 + 800e446: f883 205d strb.w r2, [r3, #93] @ 0x5d +} + 800e44a: bf00 nop + 800e44c: 3710 adds r7, #16 + 800e44e: 46bd mov sp, r7 + 800e450: bd80 pop {r7, pc} + 800e452: bf00 nop + 800e454: 2000000c .word 0x2000000c + 800e458: 057619f1 .word 0x057619f1 + +0800e45c : * Ex: call @ref HAL_TIM_Base_DeInit() before HAL_TIM_Base_Init() * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim) { - 800da60: b580 push {r7, lr} - 800da62: b082 sub sp, #8 - 800da64: af00 add r7, sp, #0 - 800da66: 6078 str r0, [r7, #4] + 800e45c: b580 push {r7, lr} + 800e45e: b082 sub sp, #8 + 800e460: af00 add r7, sp, #0 + 800e462: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) - 800da68: 687b ldr r3, [r7, #4] - 800da6a: 2b00 cmp r3, #0 - 800da6c: d101 bne.n 800da72 + 800e464: 687b ldr r3, [r7, #4] + 800e466: 2b00 cmp r3, #0 + 800e468: d101 bne.n 800e46e { return HAL_ERROR; - 800da6e: 2301 movs r3, #1 - 800da70: e049 b.n 800db06 + 800e46a: 2301 movs r3, #1 + 800e46c: e049 b.n 800e502 assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); assert_param(IS_TIM_PERIOD(htim, htim->Init.Period)); assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload)); if (htim->State == HAL_TIM_STATE_RESET) - 800da72: 687b ldr r3, [r7, #4] - 800da74: f893 303d ldrb.w r3, [r3, #61] @ 0x3d - 800da78: b2db uxtb r3, r3 - 800da7a: 2b00 cmp r3, #0 - 800da7c: d106 bne.n 800da8c + 800e46e: 687b ldr r3, [r7, #4] + 800e470: f893 303d ldrb.w r3, [r3, #61] @ 0x3d + 800e474: b2db uxtb r3, r3 + 800e476: 2b00 cmp r3, #0 + 800e478: d106 bne.n 800e488 { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; - 800da7e: 687b ldr r3, [r7, #4] - 800da80: 2200 movs r2, #0 - 800da82: f883 203c strb.w r2, [r3, #60] @ 0x3c + 800e47a: 687b ldr r3, [r7, #4] + 800e47c: 2200 movs r2, #0 + 800e47e: f883 203c strb.w r2, [r3, #60] @ 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->Base_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC */ HAL_TIM_Base_MspInit(htim); - 800da86: 6878 ldr r0, [r7, #4] - 800da88: f000 f841 bl 800db0e + 800e482: 6878 ldr r0, [r7, #4] + 800e484: f000 f841 bl 800e50a #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 800da8c: 687b ldr r3, [r7, #4] - 800da8e: 2202 movs r2, #2 - 800da90: f883 203d strb.w r2, [r3, #61] @ 0x3d + 800e488: 687b ldr r3, [r7, #4] + 800e48a: 2202 movs r2, #2 + 800e48c: f883 203d strb.w r2, [r3, #61] @ 0x3d /* Set the Time Base configuration */ TIM_Base_SetConfig(htim->Instance, &htim->Init); - 800da94: 687b ldr r3, [r7, #4] - 800da96: 681a ldr r2, [r3, #0] - 800da98: 687b ldr r3, [r7, #4] - 800da9a: 3304 adds r3, #4 - 800da9c: 4619 mov r1, r3 - 800da9e: 4610 mov r0, r2 - 800daa0: f000 fb28 bl 800e0f4 + 800e490: 687b ldr r3, [r7, #4] + 800e492: 681a ldr r2, [r3, #0] + 800e494: 687b ldr r3, [r7, #4] + 800e496: 3304 adds r3, #4 + 800e498: 4619 mov r1, r3 + 800e49a: 4610 mov r0, r2 + 800e49c: f000 fb28 bl 800eaf0 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; - 800daa4: 687b ldr r3, [r7, #4] - 800daa6: 2201 movs r2, #1 - 800daa8: f883 2048 strb.w r2, [r3, #72] @ 0x48 + 800e4a0: 687b ldr r3, [r7, #4] + 800e4a2: 2201 movs r2, #1 + 800e4a4: f883 2048 strb.w r2, [r3, #72] @ 0x48 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 800daac: 687b ldr r3, [r7, #4] - 800daae: 2201 movs r2, #1 - 800dab0: f883 203e strb.w r2, [r3, #62] @ 0x3e - 800dab4: 687b ldr r3, [r7, #4] - 800dab6: 2201 movs r2, #1 - 800dab8: f883 203f strb.w r2, [r3, #63] @ 0x3f - 800dabc: 687b ldr r3, [r7, #4] - 800dabe: 2201 movs r2, #1 - 800dac0: f883 2040 strb.w r2, [r3, #64] @ 0x40 - 800dac4: 687b ldr r3, [r7, #4] - 800dac6: 2201 movs r2, #1 - 800dac8: f883 2041 strb.w r2, [r3, #65] @ 0x41 - 800dacc: 687b ldr r3, [r7, #4] - 800dace: 2201 movs r2, #1 - 800dad0: f883 2042 strb.w r2, [r3, #66] @ 0x42 - 800dad4: 687b ldr r3, [r7, #4] - 800dad6: 2201 movs r2, #1 - 800dad8: f883 2043 strb.w r2, [r3, #67] @ 0x43 + 800e4a8: 687b ldr r3, [r7, #4] + 800e4aa: 2201 movs r2, #1 + 800e4ac: f883 203e strb.w r2, [r3, #62] @ 0x3e + 800e4b0: 687b ldr r3, [r7, #4] + 800e4b2: 2201 movs r2, #1 + 800e4b4: f883 203f strb.w r2, [r3, #63] @ 0x3f + 800e4b8: 687b ldr r3, [r7, #4] + 800e4ba: 2201 movs r2, #1 + 800e4bc: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 800e4c0: 687b ldr r3, [r7, #4] + 800e4c2: 2201 movs r2, #1 + 800e4c4: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800e4c8: 687b ldr r3, [r7, #4] + 800e4ca: 2201 movs r2, #1 + 800e4cc: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 800e4d0: 687b ldr r3, [r7, #4] + 800e4d2: 2201 movs r2, #1 + 800e4d4: f883 2043 strb.w r2, [r3, #67] @ 0x43 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 800dadc: 687b ldr r3, [r7, #4] - 800dade: 2201 movs r2, #1 - 800dae0: f883 2044 strb.w r2, [r3, #68] @ 0x44 - 800dae4: 687b ldr r3, [r7, #4] - 800dae6: 2201 movs r2, #1 - 800dae8: f883 2045 strb.w r2, [r3, #69] @ 0x45 - 800daec: 687b ldr r3, [r7, #4] - 800daee: 2201 movs r2, #1 - 800daf0: f883 2046 strb.w r2, [r3, #70] @ 0x46 - 800daf4: 687b ldr r3, [r7, #4] - 800daf6: 2201 movs r2, #1 - 800daf8: f883 2047 strb.w r2, [r3, #71] @ 0x47 + 800e4d8: 687b ldr r3, [r7, #4] + 800e4da: 2201 movs r2, #1 + 800e4dc: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 800e4e0: 687b ldr r3, [r7, #4] + 800e4e2: 2201 movs r2, #1 + 800e4e4: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 800e4e8: 687b ldr r3, [r7, #4] + 800e4ea: 2201 movs r2, #1 + 800e4ec: f883 2046 strb.w r2, [r3, #70] @ 0x46 + 800e4f0: 687b ldr r3, [r7, #4] + 800e4f2: 2201 movs r2, #1 + 800e4f4: f883 2047 strb.w r2, [r3, #71] @ 0x47 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; - 800dafc: 687b ldr r3, [r7, #4] - 800dafe: 2201 movs r2, #1 - 800db00: f883 203d strb.w r2, [r3, #61] @ 0x3d + 800e4f8: 687b ldr r3, [r7, #4] + 800e4fa: 2201 movs r2, #1 + 800e4fc: f883 203d strb.w r2, [r3, #61] @ 0x3d return HAL_OK; - 800db04: 2300 movs r3, #0 + 800e500: 2300 movs r3, #0 } - 800db06: 4618 mov r0, r3 - 800db08: 3708 adds r7, #8 - 800db0a: 46bd mov sp, r7 - 800db0c: bd80 pop {r7, pc} + 800e502: 4618 mov r0, r3 + 800e504: 3708 adds r7, #8 + 800e506: 46bd mov sp, r7 + 800e508: bd80 pop {r7, pc} -0800db0e : +0800e50a : * @brief Initializes the TIM Base MSP. * @param htim TIM Base handle * @retval None */ __weak void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim) { - 800db0e: b480 push {r7} - 800db10: b083 sub sp, #12 - 800db12: af00 add r7, sp, #0 - 800db14: 6078 str r0, [r7, #4] + 800e50a: b480 push {r7} + 800e50c: b083 sub sp, #12 + 800e50e: af00 add r7, sp, #0 + 800e510: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_Base_MspInit could be implemented in the user file */ } - 800db16: bf00 nop - 800db18: 370c adds r7, #12 - 800db1a: 46bd mov sp, r7 - 800db1c: f85d 7b04 ldr.w r7, [sp], #4 - 800db20: 4770 bx lr + 800e512: bf00 nop + 800e514: 370c adds r7, #12 + 800e516: 46bd mov sp, r7 + 800e518: f85d 7b04 ldr.w r7, [sp], #4 + 800e51c: 4770 bx lr ... -0800db24 : +0800e520 : * @brief Starts the TIM Base generation in interrupt mode. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim) { - 800db24: b480 push {r7} - 800db26: b085 sub sp, #20 - 800db28: af00 add r7, sp, #0 - 800db2a: 6078 str r0, [r7, #4] + 800e520: b480 push {r7} + 800e522: b085 sub sp, #20 + 800e524: af00 add r7, sp, #0 + 800e526: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Check the TIM state */ if (htim->State != HAL_TIM_STATE_READY) - 800db2c: 687b ldr r3, [r7, #4] - 800db2e: f893 303d ldrb.w r3, [r3, #61] @ 0x3d - 800db32: b2db uxtb r3, r3 - 800db34: 2b01 cmp r3, #1 - 800db36: d001 beq.n 800db3c + 800e528: 687b ldr r3, [r7, #4] + 800e52a: f893 303d ldrb.w r3, [r3, #61] @ 0x3d + 800e52e: b2db uxtb r3, r3 + 800e530: 2b01 cmp r3, #1 + 800e532: d001 beq.n 800e538 { return HAL_ERROR; - 800db38: 2301 movs r3, #1 - 800db3a: e036 b.n 800dbaa + 800e534: 2301 movs r3, #1 + 800e536: e036 b.n 800e5a6 } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 800db3c: 687b ldr r3, [r7, #4] - 800db3e: 2202 movs r2, #2 - 800db40: f883 203d strb.w r2, [r3, #61] @ 0x3d + 800e538: 687b ldr r3, [r7, #4] + 800e53a: 2202 movs r2, #2 + 800e53c: f883 203d strb.w r2, [r3, #61] @ 0x3d /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); - 800db44: 687b ldr r3, [r7, #4] - 800db46: 681b ldr r3, [r3, #0] - 800db48: 68da ldr r2, [r3, #12] - 800db4a: 687b ldr r3, [r7, #4] - 800db4c: 681b ldr r3, [r3, #0] - 800db4e: f042 0201 orr.w r2, r2, #1 - 800db52: 60da str r2, [r3, #12] + 800e540: 687b ldr r3, [r7, #4] + 800e542: 681b ldr r3, [r3, #0] + 800e544: 68da ldr r2, [r3, #12] + 800e546: 687b ldr r3, [r7, #4] + 800e548: 681b ldr r3, [r3, #0] + 800e54a: f042 0201 orr.w r2, r2, #1 + 800e54e: 60da str r2, [r3, #12] /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */ if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) - 800db54: 687b ldr r3, [r7, #4] - 800db56: 681b ldr r3, [r3, #0] - 800db58: 4a17 ldr r2, [pc, #92] @ (800dbb8 ) - 800db5a: 4293 cmp r3, r2 - 800db5c: d004 beq.n 800db68 - 800db5e: 687b ldr r3, [r7, #4] - 800db60: 681b ldr r3, [r3, #0] - 800db62: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 - 800db66: d115 bne.n 800db94 + 800e550: 687b ldr r3, [r7, #4] + 800e552: 681b ldr r3, [r3, #0] + 800e554: 4a17 ldr r2, [pc, #92] @ (800e5b4 ) + 800e556: 4293 cmp r3, r2 + 800e558: d004 beq.n 800e564 + 800e55a: 687b ldr r3, [r7, #4] + 800e55c: 681b ldr r3, [r3, #0] + 800e55e: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 + 800e562: d115 bne.n 800e590 { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; - 800db68: 687b ldr r3, [r7, #4] - 800db6a: 681b ldr r3, [r3, #0] - 800db6c: 689a ldr r2, [r3, #8] - 800db6e: 4b13 ldr r3, [pc, #76] @ (800dbbc ) - 800db70: 4013 ands r3, r2 - 800db72: 60fb str r3, [r7, #12] + 800e564: 687b ldr r3, [r7, #4] + 800e566: 681b ldr r3, [r3, #0] + 800e568: 689a ldr r2, [r3, #8] + 800e56a: 4b13 ldr r3, [pc, #76] @ (800e5b8 ) + 800e56c: 4013 ands r3, r2 + 800e56e: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) - 800db74: 68fb ldr r3, [r7, #12] - 800db76: 2b06 cmp r3, #6 - 800db78: d015 beq.n 800dba6 - 800db7a: 68fb ldr r3, [r7, #12] - 800db7c: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 - 800db80: d011 beq.n 800dba6 + 800e570: 68fb ldr r3, [r7, #12] + 800e572: 2b06 cmp r3, #6 + 800e574: d015 beq.n 800e5a2 + 800e576: 68fb ldr r3, [r7, #12] + 800e578: f5b3 3f80 cmp.w r3, #65536 @ 0x10000 + 800e57c: d011 beq.n 800e5a2 { __HAL_TIM_ENABLE(htim); - 800db82: 687b ldr r3, [r7, #4] - 800db84: 681b ldr r3, [r3, #0] - 800db86: 681a ldr r2, [r3, #0] - 800db88: 687b ldr r3, [r7, #4] - 800db8a: 681b ldr r3, [r3, #0] - 800db8c: f042 0201 orr.w r2, r2, #1 - 800db90: 601a str r2, [r3, #0] + 800e57e: 687b ldr r3, [r7, #4] + 800e580: 681b ldr r3, [r3, #0] + 800e582: 681a ldr r2, [r3, #0] + 800e584: 687b ldr r3, [r7, #4] + 800e586: 681b ldr r3, [r3, #0] + 800e588: f042 0201 orr.w r2, r2, #1 + 800e58c: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) - 800db92: e008 b.n 800dba6 + 800e58e: e008 b.n 800e5a2 } } else { __HAL_TIM_ENABLE(htim); - 800db94: 687b ldr r3, [r7, #4] - 800db96: 681b ldr r3, [r3, #0] - 800db98: 681a ldr r2, [r3, #0] - 800db9a: 687b ldr r3, [r7, #4] - 800db9c: 681b ldr r3, [r3, #0] - 800db9e: f042 0201 orr.w r2, r2, #1 - 800dba2: 601a str r2, [r3, #0] - 800dba4: e000 b.n 800dba8 + 800e590: 687b ldr r3, [r7, #4] + 800e592: 681b ldr r3, [r3, #0] + 800e594: 681a ldr r2, [r3, #0] + 800e596: 687b ldr r3, [r7, #4] + 800e598: 681b ldr r3, [r3, #0] + 800e59a: f042 0201 orr.w r2, r2, #1 + 800e59e: 601a str r2, [r3, #0] + 800e5a0: e000 b.n 800e5a4 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) - 800dba6: bf00 nop + 800e5a2: bf00 nop } /* Return function status */ return HAL_OK; - 800dba8: 2300 movs r3, #0 + 800e5a4: 2300 movs r3, #0 } - 800dbaa: 4618 mov r0, r3 - 800dbac: 3714 adds r7, #20 - 800dbae: 46bd mov sp, r7 - 800dbb0: f85d 7b04 ldr.w r7, [sp], #4 - 800dbb4: 4770 bx lr - 800dbb6: bf00 nop - 800dbb8: 40012c00 .word 0x40012c00 - 800dbbc: 00010007 .word 0x00010007 + 800e5a6: 4618 mov r0, r3 + 800e5a8: 3714 adds r7, #20 + 800e5aa: 46bd mov sp, r7 + 800e5ac: f85d 7b04 ldr.w r7, [sp], #4 + 800e5b0: 4770 bx lr + 800e5b2: bf00 nop + 800e5b4: 40012c00 .word 0x40012c00 + 800e5b8: 00010007 .word 0x00010007 -0800dbc0 : +0800e5bc : * Ex: call @ref HAL_TIM_PWM_DeInit() before HAL_TIM_PWM_Init() * @param htim TIM PWM handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim) { - 800dbc0: b580 push {r7, lr} - 800dbc2: b082 sub sp, #8 - 800dbc4: af00 add r7, sp, #0 - 800dbc6: 6078 str r0, [r7, #4] + 800e5bc: b580 push {r7, lr} + 800e5be: b082 sub sp, #8 + 800e5c0: af00 add r7, sp, #0 + 800e5c2: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) - 800dbc8: 687b ldr r3, [r7, #4] - 800dbca: 2b00 cmp r3, #0 - 800dbcc: d101 bne.n 800dbd2 + 800e5c4: 687b ldr r3, [r7, #4] + 800e5c6: 2b00 cmp r3, #0 + 800e5c8: d101 bne.n 800e5ce { return HAL_ERROR; - 800dbce: 2301 movs r3, #1 - 800dbd0: e049 b.n 800dc66 + 800e5ca: 2301 movs r3, #1 + 800e5cc: e049 b.n 800e662 assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); assert_param(IS_TIM_PERIOD(htim, htim->Init.Period)); assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload)); if (htim->State == HAL_TIM_STATE_RESET) - 800dbd2: 687b ldr r3, [r7, #4] - 800dbd4: f893 303d ldrb.w r3, [r3, #61] @ 0x3d - 800dbd8: b2db uxtb r3, r3 - 800dbda: 2b00 cmp r3, #0 - 800dbdc: d106 bne.n 800dbec + 800e5ce: 687b ldr r3, [r7, #4] + 800e5d0: f893 303d ldrb.w r3, [r3, #61] @ 0x3d + 800e5d4: b2db uxtb r3, r3 + 800e5d6: 2b00 cmp r3, #0 + 800e5d8: d106 bne.n 800e5e8 { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; - 800dbde: 687b ldr r3, [r7, #4] - 800dbe0: 2200 movs r2, #0 - 800dbe2: f883 203c strb.w r2, [r3, #60] @ 0x3c + 800e5da: 687b ldr r3, [r7, #4] + 800e5dc: 2200 movs r2, #0 + 800e5de: f883 203c strb.w r2, [r3, #60] @ 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->PWM_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ HAL_TIM_PWM_MspInit(htim); - 800dbe6: 6878 ldr r0, [r7, #4] - 800dbe8: f7f8 f988 bl 8005efc + 800e5e2: 6878 ldr r0, [r7, #4] + 800e5e4: f7f7 ff08 bl 80063f8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 800dbec: 687b ldr r3, [r7, #4] - 800dbee: 2202 movs r2, #2 - 800dbf0: f883 203d strb.w r2, [r3, #61] @ 0x3d + 800e5e8: 687b ldr r3, [r7, #4] + 800e5ea: 2202 movs r2, #2 + 800e5ec: f883 203d strb.w r2, [r3, #61] @ 0x3d /* Init the base time for the PWM */ TIM_Base_SetConfig(htim->Instance, &htim->Init); - 800dbf4: 687b ldr r3, [r7, #4] - 800dbf6: 681a ldr r2, [r3, #0] - 800dbf8: 687b ldr r3, [r7, #4] - 800dbfa: 3304 adds r3, #4 - 800dbfc: 4619 mov r1, r3 - 800dbfe: 4610 mov r0, r2 - 800dc00: f000 fa78 bl 800e0f4 + 800e5f0: 687b ldr r3, [r7, #4] + 800e5f2: 681a ldr r2, [r3, #0] + 800e5f4: 687b ldr r3, [r7, #4] + 800e5f6: 3304 adds r3, #4 + 800e5f8: 4619 mov r1, r3 + 800e5fa: 4610 mov r0, r2 + 800e5fc: f000 fa78 bl 800eaf0 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; - 800dc04: 687b ldr r3, [r7, #4] - 800dc06: 2201 movs r2, #1 - 800dc08: f883 2048 strb.w r2, [r3, #72] @ 0x48 + 800e600: 687b ldr r3, [r7, #4] + 800e602: 2201 movs r2, #1 + 800e604: f883 2048 strb.w r2, [r3, #72] @ 0x48 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 800dc0c: 687b ldr r3, [r7, #4] - 800dc0e: 2201 movs r2, #1 - 800dc10: f883 203e strb.w r2, [r3, #62] @ 0x3e - 800dc14: 687b ldr r3, [r7, #4] - 800dc16: 2201 movs r2, #1 - 800dc18: f883 203f strb.w r2, [r3, #63] @ 0x3f - 800dc1c: 687b ldr r3, [r7, #4] - 800dc1e: 2201 movs r2, #1 - 800dc20: f883 2040 strb.w r2, [r3, #64] @ 0x40 - 800dc24: 687b ldr r3, [r7, #4] - 800dc26: 2201 movs r2, #1 - 800dc28: f883 2041 strb.w r2, [r3, #65] @ 0x41 - 800dc2c: 687b ldr r3, [r7, #4] - 800dc2e: 2201 movs r2, #1 - 800dc30: f883 2042 strb.w r2, [r3, #66] @ 0x42 - 800dc34: 687b ldr r3, [r7, #4] - 800dc36: 2201 movs r2, #1 - 800dc38: f883 2043 strb.w r2, [r3, #67] @ 0x43 + 800e608: 687b ldr r3, [r7, #4] + 800e60a: 2201 movs r2, #1 + 800e60c: f883 203e strb.w r2, [r3, #62] @ 0x3e + 800e610: 687b ldr r3, [r7, #4] + 800e612: 2201 movs r2, #1 + 800e614: f883 203f strb.w r2, [r3, #63] @ 0x3f + 800e618: 687b ldr r3, [r7, #4] + 800e61a: 2201 movs r2, #1 + 800e61c: f883 2040 strb.w r2, [r3, #64] @ 0x40 + 800e620: 687b ldr r3, [r7, #4] + 800e622: 2201 movs r2, #1 + 800e624: f883 2041 strb.w r2, [r3, #65] @ 0x41 + 800e628: 687b ldr r3, [r7, #4] + 800e62a: 2201 movs r2, #1 + 800e62c: f883 2042 strb.w r2, [r3, #66] @ 0x42 + 800e630: 687b ldr r3, [r7, #4] + 800e632: 2201 movs r2, #1 + 800e634: f883 2043 strb.w r2, [r3, #67] @ 0x43 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 800dc3c: 687b ldr r3, [r7, #4] - 800dc3e: 2201 movs r2, #1 - 800dc40: f883 2044 strb.w r2, [r3, #68] @ 0x44 - 800dc44: 687b ldr r3, [r7, #4] - 800dc46: 2201 movs r2, #1 - 800dc48: f883 2045 strb.w r2, [r3, #69] @ 0x45 - 800dc4c: 687b ldr r3, [r7, #4] - 800dc4e: 2201 movs r2, #1 - 800dc50: f883 2046 strb.w r2, [r3, #70] @ 0x46 - 800dc54: 687b ldr r3, [r7, #4] - 800dc56: 2201 movs r2, #1 - 800dc58: f883 2047 strb.w r2, [r3, #71] @ 0x47 + 800e638: 687b ldr r3, [r7, #4] + 800e63a: 2201 movs r2, #1 + 800e63c: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 800e640: 687b ldr r3, [r7, #4] + 800e642: 2201 movs r2, #1 + 800e644: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 800e648: 687b ldr r3, [r7, #4] + 800e64a: 2201 movs r2, #1 + 800e64c: f883 2046 strb.w r2, [r3, #70] @ 0x46 + 800e650: 687b ldr r3, [r7, #4] + 800e652: 2201 movs r2, #1 + 800e654: f883 2047 strb.w r2, [r3, #71] @ 0x47 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; - 800dc5c: 687b ldr r3, [r7, #4] - 800dc5e: 2201 movs r2, #1 - 800dc60: f883 203d strb.w r2, [r3, #61] @ 0x3d + 800e658: 687b ldr r3, [r7, #4] + 800e65a: 2201 movs r2, #1 + 800e65c: f883 203d strb.w r2, [r3, #61] @ 0x3d return HAL_OK; - 800dc64: 2300 movs r3, #0 + 800e660: 2300 movs r3, #0 } - 800dc66: 4618 mov r0, r3 - 800dc68: 3708 adds r7, #8 - 800dc6a: 46bd mov sp, r7 - 800dc6c: bd80 pop {r7, pc} + 800e662: 4618 mov r0, r3 + 800e664: 3708 adds r7, #8 + 800e666: 46bd mov sp, r7 + 800e668: bd80 pop {r7, pc} -0800dc6e : +0800e66a : * @brief This function handles TIM interrupts requests. * @param htim TIM handle * @retval None */ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) { - 800dc6e: b580 push {r7, lr} - 800dc70: b084 sub sp, #16 - 800dc72: af00 add r7, sp, #0 - 800dc74: 6078 str r0, [r7, #4] + 800e66a: b580 push {r7, lr} + 800e66c: b084 sub sp, #16 + 800e66e: af00 add r7, sp, #0 + 800e670: 6078 str r0, [r7, #4] uint32_t itsource = htim->Instance->DIER; - 800dc76: 687b ldr r3, [r7, #4] - 800dc78: 681b ldr r3, [r3, #0] - 800dc7a: 68db ldr r3, [r3, #12] - 800dc7c: 60fb str r3, [r7, #12] + 800e672: 687b ldr r3, [r7, #4] + 800e674: 681b ldr r3, [r3, #0] + 800e676: 68db ldr r3, [r3, #12] + 800e678: 60fb str r3, [r7, #12] uint32_t itflag = htim->Instance->SR; - 800dc7e: 687b ldr r3, [r7, #4] - 800dc80: 681b ldr r3, [r3, #0] - 800dc82: 691b ldr r3, [r3, #16] - 800dc84: 60bb str r3, [r7, #8] + 800e67a: 687b ldr r3, [r7, #4] + 800e67c: 681b ldr r3, [r3, #0] + 800e67e: 691b ldr r3, [r3, #16] + 800e680: 60bb str r3, [r7, #8] /* Capture compare 1 event */ if ((itflag & (TIM_FLAG_CC1)) == (TIM_FLAG_CC1)) - 800dc86: 68bb ldr r3, [r7, #8] - 800dc88: f003 0302 and.w r3, r3, #2 - 800dc8c: 2b00 cmp r3, #0 - 800dc8e: d020 beq.n 800dcd2 + 800e682: 68bb ldr r3, [r7, #8] + 800e684: f003 0302 and.w r3, r3, #2 + 800e688: 2b00 cmp r3, #0 + 800e68a: d020 beq.n 800e6ce { if ((itsource & (TIM_IT_CC1)) == (TIM_IT_CC1)) - 800dc90: 68fb ldr r3, [r7, #12] - 800dc92: f003 0302 and.w r3, r3, #2 - 800dc96: 2b00 cmp r3, #0 - 800dc98: d01b beq.n 800dcd2 + 800e68c: 68fb ldr r3, [r7, #12] + 800e68e: f003 0302 and.w r3, r3, #2 + 800e692: 2b00 cmp r3, #0 + 800e694: d01b beq.n 800e6ce { { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC1); - 800dc9a: 687b ldr r3, [r7, #4] - 800dc9c: 681b ldr r3, [r3, #0] - 800dc9e: f06f 0202 mvn.w r2, #2 - 800dca2: 611a str r2, [r3, #16] + 800e696: 687b ldr r3, [r7, #4] + 800e698: 681b ldr r3, [r3, #0] + 800e69a: f06f 0202 mvn.w r2, #2 + 800e69e: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; - 800dca4: 687b ldr r3, [r7, #4] - 800dca6: 2201 movs r2, #1 - 800dca8: 771a strb r2, [r3, #28] + 800e6a0: 687b ldr r3, [r7, #4] + 800e6a2: 2201 movs r2, #1 + 800e6a4: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U) - 800dcaa: 687b ldr r3, [r7, #4] - 800dcac: 681b ldr r3, [r3, #0] - 800dcae: 699b ldr r3, [r3, #24] - 800dcb0: f003 0303 and.w r3, r3, #3 - 800dcb4: 2b00 cmp r3, #0 - 800dcb6: d003 beq.n 800dcc0 + 800e6a6: 687b ldr r3, [r7, #4] + 800e6a8: 681b ldr r3, [r3, #0] + 800e6aa: 699b ldr r3, [r3, #24] + 800e6ac: f003 0303 and.w r3, r3, #3 + 800e6b0: 2b00 cmp r3, #0 + 800e6b2: d003 beq.n 800e6bc { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 800dcb8: 6878 ldr r0, [r7, #4] - 800dcba: f000 f9fd bl 800e0b8 - 800dcbe: e005 b.n 800dccc + 800e6b4: 6878 ldr r0, [r7, #4] + 800e6b6: f000 f9fd bl 800eab4 + 800e6ba: e005 b.n 800e6c8 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 800dcc0: 6878 ldr r0, [r7, #4] - 800dcc2: f000 f9ef bl 800e0a4 + 800e6bc: 6878 ldr r0, [r7, #4] + 800e6be: f000 f9ef bl 800eaa0 HAL_TIM_PWM_PulseFinishedCallback(htim); - 800dcc6: 6878 ldr r0, [r7, #4] - 800dcc8: f000 fa00 bl 800e0cc + 800e6c2: 6878 ldr r0, [r7, #4] + 800e6c4: f000 fa00 bl 800eac8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 800dccc: 687b ldr r3, [r7, #4] - 800dcce: 2200 movs r2, #0 - 800dcd0: 771a strb r2, [r3, #28] + 800e6c8: 687b ldr r3, [r7, #4] + 800e6ca: 2200 movs r2, #0 + 800e6cc: 771a strb r2, [r3, #28] } } } /* Capture compare 2 event */ if ((itflag & (TIM_FLAG_CC2)) == (TIM_FLAG_CC2)) - 800dcd2: 68bb ldr r3, [r7, #8] - 800dcd4: f003 0304 and.w r3, r3, #4 - 800dcd8: 2b00 cmp r3, #0 - 800dcda: d020 beq.n 800dd1e + 800e6ce: 68bb ldr r3, [r7, #8] + 800e6d0: f003 0304 and.w r3, r3, #4 + 800e6d4: 2b00 cmp r3, #0 + 800e6d6: d020 beq.n 800e71a { if ((itsource & (TIM_IT_CC2)) == (TIM_IT_CC2)) - 800dcdc: 68fb ldr r3, [r7, #12] - 800dcde: f003 0304 and.w r3, r3, #4 - 800dce2: 2b00 cmp r3, #0 - 800dce4: d01b beq.n 800dd1e + 800e6d8: 68fb ldr r3, [r7, #12] + 800e6da: f003 0304 and.w r3, r3, #4 + 800e6de: 2b00 cmp r3, #0 + 800e6e0: d01b beq.n 800e71a { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC2); - 800dce6: 687b ldr r3, [r7, #4] - 800dce8: 681b ldr r3, [r3, #0] - 800dcea: f06f 0204 mvn.w r2, #4 - 800dcee: 611a str r2, [r3, #16] + 800e6e2: 687b ldr r3, [r7, #4] + 800e6e4: 681b ldr r3, [r3, #0] + 800e6e6: f06f 0204 mvn.w r2, #4 + 800e6ea: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; - 800dcf0: 687b ldr r3, [r7, #4] - 800dcf2: 2202 movs r2, #2 - 800dcf4: 771a strb r2, [r3, #28] + 800e6ec: 687b ldr r3, [r7, #4] + 800e6ee: 2202 movs r2, #2 + 800e6f0: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U) - 800dcf6: 687b ldr r3, [r7, #4] - 800dcf8: 681b ldr r3, [r3, #0] - 800dcfa: 699b ldr r3, [r3, #24] - 800dcfc: f403 7340 and.w r3, r3, #768 @ 0x300 - 800dd00: 2b00 cmp r3, #0 - 800dd02: d003 beq.n 800dd0c + 800e6f2: 687b ldr r3, [r7, #4] + 800e6f4: 681b ldr r3, [r3, #0] + 800e6f6: 699b ldr r3, [r3, #24] + 800e6f8: f403 7340 and.w r3, r3, #768 @ 0x300 + 800e6fc: 2b00 cmp r3, #0 + 800e6fe: d003 beq.n 800e708 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 800dd04: 6878 ldr r0, [r7, #4] - 800dd06: f000 f9d7 bl 800e0b8 - 800dd0a: e005 b.n 800dd18 + 800e700: 6878 ldr r0, [r7, #4] + 800e702: f000 f9d7 bl 800eab4 + 800e706: e005 b.n 800e714 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 800dd0c: 6878 ldr r0, [r7, #4] - 800dd0e: f000 f9c9 bl 800e0a4 + 800e708: 6878 ldr r0, [r7, #4] + 800e70a: f000 f9c9 bl 800eaa0 HAL_TIM_PWM_PulseFinishedCallback(htim); - 800dd12: 6878 ldr r0, [r7, #4] - 800dd14: f000 f9da bl 800e0cc + 800e70e: 6878 ldr r0, [r7, #4] + 800e710: f000 f9da bl 800eac8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 800dd18: 687b ldr r3, [r7, #4] - 800dd1a: 2200 movs r2, #0 - 800dd1c: 771a strb r2, [r3, #28] + 800e714: 687b ldr r3, [r7, #4] + 800e716: 2200 movs r2, #0 + 800e718: 771a strb r2, [r3, #28] } } /* Capture compare 3 event */ if ((itflag & (TIM_FLAG_CC3)) == (TIM_FLAG_CC3)) - 800dd1e: 68bb ldr r3, [r7, #8] - 800dd20: f003 0308 and.w r3, r3, #8 - 800dd24: 2b00 cmp r3, #0 - 800dd26: d020 beq.n 800dd6a + 800e71a: 68bb ldr r3, [r7, #8] + 800e71c: f003 0308 and.w r3, r3, #8 + 800e720: 2b00 cmp r3, #0 + 800e722: d020 beq.n 800e766 { if ((itsource & (TIM_IT_CC3)) == (TIM_IT_CC3)) - 800dd28: 68fb ldr r3, [r7, #12] - 800dd2a: f003 0308 and.w r3, r3, #8 - 800dd2e: 2b00 cmp r3, #0 - 800dd30: d01b beq.n 800dd6a + 800e724: 68fb ldr r3, [r7, #12] + 800e726: f003 0308 and.w r3, r3, #8 + 800e72a: 2b00 cmp r3, #0 + 800e72c: d01b beq.n 800e766 { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC3); - 800dd32: 687b ldr r3, [r7, #4] - 800dd34: 681b ldr r3, [r3, #0] - 800dd36: f06f 0208 mvn.w r2, #8 - 800dd3a: 611a str r2, [r3, #16] + 800e72e: 687b ldr r3, [r7, #4] + 800e730: 681b ldr r3, [r3, #0] + 800e732: f06f 0208 mvn.w r2, #8 + 800e736: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; - 800dd3c: 687b ldr r3, [r7, #4] - 800dd3e: 2204 movs r2, #4 - 800dd40: 771a strb r2, [r3, #28] + 800e738: 687b ldr r3, [r7, #4] + 800e73a: 2204 movs r2, #4 + 800e73c: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U) - 800dd42: 687b ldr r3, [r7, #4] - 800dd44: 681b ldr r3, [r3, #0] - 800dd46: 69db ldr r3, [r3, #28] - 800dd48: f003 0303 and.w r3, r3, #3 - 800dd4c: 2b00 cmp r3, #0 - 800dd4e: d003 beq.n 800dd58 + 800e73e: 687b ldr r3, [r7, #4] + 800e740: 681b ldr r3, [r3, #0] + 800e742: 69db ldr r3, [r3, #28] + 800e744: f003 0303 and.w r3, r3, #3 + 800e748: 2b00 cmp r3, #0 + 800e74a: d003 beq.n 800e754 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 800dd50: 6878 ldr r0, [r7, #4] - 800dd52: f000 f9b1 bl 800e0b8 - 800dd56: e005 b.n 800dd64 + 800e74c: 6878 ldr r0, [r7, #4] + 800e74e: f000 f9b1 bl 800eab4 + 800e752: e005 b.n 800e760 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 800dd58: 6878 ldr r0, [r7, #4] - 800dd5a: f000 f9a3 bl 800e0a4 + 800e754: 6878 ldr r0, [r7, #4] + 800e756: f000 f9a3 bl 800eaa0 HAL_TIM_PWM_PulseFinishedCallback(htim); - 800dd5e: 6878 ldr r0, [r7, #4] - 800dd60: f000 f9b4 bl 800e0cc + 800e75a: 6878 ldr r0, [r7, #4] + 800e75c: f000 f9b4 bl 800eac8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 800dd64: 687b ldr r3, [r7, #4] - 800dd66: 2200 movs r2, #0 - 800dd68: 771a strb r2, [r3, #28] + 800e760: 687b ldr r3, [r7, #4] + 800e762: 2200 movs r2, #0 + 800e764: 771a strb r2, [r3, #28] } } /* Capture compare 4 event */ if ((itflag & (TIM_FLAG_CC4)) == (TIM_FLAG_CC4)) - 800dd6a: 68bb ldr r3, [r7, #8] - 800dd6c: f003 0310 and.w r3, r3, #16 - 800dd70: 2b00 cmp r3, #0 - 800dd72: d020 beq.n 800ddb6 + 800e766: 68bb ldr r3, [r7, #8] + 800e768: f003 0310 and.w r3, r3, #16 + 800e76c: 2b00 cmp r3, #0 + 800e76e: d020 beq.n 800e7b2 { if ((itsource & (TIM_IT_CC4)) == (TIM_IT_CC4)) - 800dd74: 68fb ldr r3, [r7, #12] - 800dd76: f003 0310 and.w r3, r3, #16 - 800dd7a: 2b00 cmp r3, #0 - 800dd7c: d01b beq.n 800ddb6 + 800e770: 68fb ldr r3, [r7, #12] + 800e772: f003 0310 and.w r3, r3, #16 + 800e776: 2b00 cmp r3, #0 + 800e778: d01b beq.n 800e7b2 { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_CC4); - 800dd7e: 687b ldr r3, [r7, #4] - 800dd80: 681b ldr r3, [r3, #0] - 800dd82: f06f 0210 mvn.w r2, #16 - 800dd86: 611a str r2, [r3, #16] + 800e77a: 687b ldr r3, [r7, #4] + 800e77c: 681b ldr r3, [r3, #0] + 800e77e: f06f 0210 mvn.w r2, #16 + 800e782: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; - 800dd88: 687b ldr r3, [r7, #4] - 800dd8a: 2208 movs r2, #8 - 800dd8c: 771a strb r2, [r3, #28] + 800e784: 687b ldr r3, [r7, #4] + 800e786: 2208 movs r2, #8 + 800e788: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U) - 800dd8e: 687b ldr r3, [r7, #4] - 800dd90: 681b ldr r3, [r3, #0] - 800dd92: 69db ldr r3, [r3, #28] - 800dd94: f403 7340 and.w r3, r3, #768 @ 0x300 - 800dd98: 2b00 cmp r3, #0 - 800dd9a: d003 beq.n 800dda4 + 800e78a: 687b ldr r3, [r7, #4] + 800e78c: 681b ldr r3, [r3, #0] + 800e78e: 69db ldr r3, [r3, #28] + 800e790: f403 7340 and.w r3, r3, #768 @ 0x300 + 800e794: 2b00 cmp r3, #0 + 800e796: d003 beq.n 800e7a0 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 800dd9c: 6878 ldr r0, [r7, #4] - 800dd9e: f000 f98b bl 800e0b8 - 800dda2: e005 b.n 800ddb0 + 800e798: 6878 ldr r0, [r7, #4] + 800e79a: f000 f98b bl 800eab4 + 800e79e: e005 b.n 800e7ac { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 800dda4: 6878 ldr r0, [r7, #4] - 800dda6: f000 f97d bl 800e0a4 + 800e7a0: 6878 ldr r0, [r7, #4] + 800e7a2: f000 f97d bl 800eaa0 HAL_TIM_PWM_PulseFinishedCallback(htim); - 800ddaa: 6878 ldr r0, [r7, #4] - 800ddac: f000 f98e bl 800e0cc + 800e7a6: 6878 ldr r0, [r7, #4] + 800e7a8: f000 f98e bl 800eac8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 800ddb0: 687b ldr r3, [r7, #4] - 800ddb2: 2200 movs r2, #0 - 800ddb4: 771a strb r2, [r3, #28] + 800e7ac: 687b ldr r3, [r7, #4] + 800e7ae: 2200 movs r2, #0 + 800e7b0: 771a strb r2, [r3, #28] } } /* TIM Update event */ if ((itflag & (TIM_FLAG_UPDATE)) == (TIM_FLAG_UPDATE)) - 800ddb6: 68bb ldr r3, [r7, #8] - 800ddb8: f003 0301 and.w r3, r3, #1 - 800ddbc: 2b00 cmp r3, #0 - 800ddbe: d00c beq.n 800ddda + 800e7b2: 68bb ldr r3, [r7, #8] + 800e7b4: f003 0301 and.w r3, r3, #1 + 800e7b8: 2b00 cmp r3, #0 + 800e7ba: d00c beq.n 800e7d6 { if ((itsource & (TIM_IT_UPDATE)) == (TIM_IT_UPDATE)) - 800ddc0: 68fb ldr r3, [r7, #12] - 800ddc2: f003 0301 and.w r3, r3, #1 - 800ddc6: 2b00 cmp r3, #0 - 800ddc8: d007 beq.n 800ddda + 800e7bc: 68fb ldr r3, [r7, #12] + 800e7be: f003 0301 and.w r3, r3, #1 + 800e7c2: 2b00 cmp r3, #0 + 800e7c4: d007 beq.n 800e7d6 { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_UPDATE); - 800ddca: 687b ldr r3, [r7, #4] - 800ddcc: 681b ldr r3, [r3, #0] - 800ddce: f06f 0201 mvn.w r2, #1 - 800ddd2: 611a str r2, [r3, #16] + 800e7c6: 687b ldr r3, [r7, #4] + 800e7c8: 681b ldr r3, [r3, #0] + 800e7ca: f06f 0201 mvn.w r2, #1 + 800e7ce: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->PeriodElapsedCallback(htim); #else HAL_TIM_PeriodElapsedCallback(htim); - 800ddd4: 6878 ldr r0, [r7, #4] - 800ddd6: f7f7 fa11 bl 80051fc + 800e7d0: 6878 ldr r0, [r7, #4] + 800e7d2: f7f6 fdbd bl 8005350 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break input event */ if (((itflag & (TIM_FLAG_BREAK)) == (TIM_FLAG_BREAK)) || \ - 800ddda: 68bb ldr r3, [r7, #8] - 800dddc: f003 0380 and.w r3, r3, #128 @ 0x80 - 800dde0: 2b00 cmp r3, #0 - 800dde2: d104 bne.n 800ddee + 800e7d6: 68bb ldr r3, [r7, #8] + 800e7d8: f003 0380 and.w r3, r3, #128 @ 0x80 + 800e7dc: 2b00 cmp r3, #0 + 800e7de: d104 bne.n 800e7ea ((itflag & (TIM_FLAG_SYSTEM_BREAK)) == (TIM_FLAG_SYSTEM_BREAK))) - 800dde4: 68bb ldr r3, [r7, #8] - 800dde6: f403 5300 and.w r3, r3, #8192 @ 0x2000 + 800e7e0: 68bb ldr r3, [r7, #8] + 800e7e2: f403 5300 and.w r3, r3, #8192 @ 0x2000 if (((itflag & (TIM_FLAG_BREAK)) == (TIM_FLAG_BREAK)) || \ - 800ddea: 2b00 cmp r3, #0 - 800ddec: d00c beq.n 800de08 + 800e7e6: 2b00 cmp r3, #0 + 800e7e8: d00c beq.n 800e804 { if ((itsource & (TIM_IT_BREAK)) == (TIM_IT_BREAK)) - 800ddee: 68fb ldr r3, [r7, #12] - 800ddf0: f003 0380 and.w r3, r3, #128 @ 0x80 - 800ddf4: 2b00 cmp r3, #0 - 800ddf6: d007 beq.n 800de08 + 800e7ea: 68fb ldr r3, [r7, #12] + 800e7ec: f003 0380 and.w r3, r3, #128 @ 0x80 + 800e7f0: 2b00 cmp r3, #0 + 800e7f2: d007 beq.n 800e804 { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK | TIM_FLAG_SYSTEM_BREAK); - 800ddf8: 687b ldr r3, [r7, #4] - 800ddfa: 681b ldr r3, [r3, #0] - 800ddfc: f46f 5202 mvn.w r2, #8320 @ 0x2080 - 800de00: 611a str r2, [r3, #16] + 800e7f4: 687b ldr r3, [r7, #4] + 800e7f6: 681b ldr r3, [r3, #0] + 800e7f8: f46f 5202 mvn.w r2, #8320 @ 0x2080 + 800e7fc: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->BreakCallback(htim); #else HAL_TIMEx_BreakCallback(htim); - 800de02: 6878 ldr r0, [r7, #4] - 800de04: f000 fcce bl 800e7a4 + 800e7fe: 6878 ldr r0, [r7, #4] + 800e800: f000 fcce bl 800f1a0 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break2 input event */ if ((itflag & (TIM_FLAG_BREAK2)) == (TIM_FLAG_BREAK2)) - 800de08: 68bb ldr r3, [r7, #8] - 800de0a: f403 7380 and.w r3, r3, #256 @ 0x100 - 800de0e: 2b00 cmp r3, #0 - 800de10: d00c beq.n 800de2c + 800e804: 68bb ldr r3, [r7, #8] + 800e806: f403 7380 and.w r3, r3, #256 @ 0x100 + 800e80a: 2b00 cmp r3, #0 + 800e80c: d00c beq.n 800e828 { if ((itsource & (TIM_IT_BREAK)) == (TIM_IT_BREAK)) - 800de12: 68fb ldr r3, [r7, #12] - 800de14: f003 0380 and.w r3, r3, #128 @ 0x80 - 800de18: 2b00 cmp r3, #0 - 800de1a: d007 beq.n 800de2c + 800e80e: 68fb ldr r3, [r7, #12] + 800e810: f003 0380 and.w r3, r3, #128 @ 0x80 + 800e814: 2b00 cmp r3, #0 + 800e816: d007 beq.n 800e828 { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2); - 800de1c: 687b ldr r3, [r7, #4] - 800de1e: 681b ldr r3, [r3, #0] - 800de20: f46f 7280 mvn.w r2, #256 @ 0x100 - 800de24: 611a str r2, [r3, #16] + 800e818: 687b ldr r3, [r7, #4] + 800e81a: 681b ldr r3, [r3, #0] + 800e81c: f46f 7280 mvn.w r2, #256 @ 0x100 + 800e820: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->Break2Callback(htim); #else HAL_TIMEx_Break2Callback(htim); - 800de26: 6878 ldr r0, [r7, #4] - 800de28: f000 fcc6 bl 800e7b8 + 800e822: 6878 ldr r0, [r7, #4] + 800e824: f000 fcc6 bl 800f1b4 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Trigger detection event */ if ((itflag & (TIM_FLAG_TRIGGER)) == (TIM_FLAG_TRIGGER)) - 800de2c: 68bb ldr r3, [r7, #8] - 800de2e: f003 0340 and.w r3, r3, #64 @ 0x40 - 800de32: 2b00 cmp r3, #0 - 800de34: d00c beq.n 800de50 + 800e828: 68bb ldr r3, [r7, #8] + 800e82a: f003 0340 and.w r3, r3, #64 @ 0x40 + 800e82e: 2b00 cmp r3, #0 + 800e830: d00c beq.n 800e84c { if ((itsource & (TIM_IT_TRIGGER)) == (TIM_IT_TRIGGER)) - 800de36: 68fb ldr r3, [r7, #12] - 800de38: f003 0340 and.w r3, r3, #64 @ 0x40 - 800de3c: 2b00 cmp r3, #0 - 800de3e: d007 beq.n 800de50 + 800e832: 68fb ldr r3, [r7, #12] + 800e834: f003 0340 and.w r3, r3, #64 @ 0x40 + 800e838: 2b00 cmp r3, #0 + 800e83a: d007 beq.n 800e84c { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_TRIGGER); - 800de40: 687b ldr r3, [r7, #4] - 800de42: 681b ldr r3, [r3, #0] - 800de44: f06f 0240 mvn.w r2, #64 @ 0x40 - 800de48: 611a str r2, [r3, #16] + 800e83c: 687b ldr r3, [r7, #4] + 800e83e: 681b ldr r3, [r3, #0] + 800e840: f06f 0240 mvn.w r2, #64 @ 0x40 + 800e844: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->TriggerCallback(htim); #else HAL_TIM_TriggerCallback(htim); - 800de4a: 6878 ldr r0, [r7, #4] - 800de4c: f000 f948 bl 800e0e0 + 800e846: 6878 ldr r0, [r7, #4] + 800e848: f000 f948 bl 800eadc #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM commutation event */ if ((itflag & (TIM_FLAG_COM)) == (TIM_FLAG_COM)) - 800de50: 68bb ldr r3, [r7, #8] - 800de52: f003 0320 and.w r3, r3, #32 - 800de56: 2b00 cmp r3, #0 - 800de58: d00c beq.n 800de74 + 800e84c: 68bb ldr r3, [r7, #8] + 800e84e: f003 0320 and.w r3, r3, #32 + 800e852: 2b00 cmp r3, #0 + 800e854: d00c beq.n 800e870 { if ((itsource & (TIM_IT_COM)) == (TIM_IT_COM)) - 800de5a: 68fb ldr r3, [r7, #12] - 800de5c: f003 0320 and.w r3, r3, #32 - 800de60: 2b00 cmp r3, #0 - 800de62: d007 beq.n 800de74 + 800e856: 68fb ldr r3, [r7, #12] + 800e858: f003 0320 and.w r3, r3, #32 + 800e85c: 2b00 cmp r3, #0 + 800e85e: d007 beq.n 800e870 { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_COM); - 800de64: 687b ldr r3, [r7, #4] - 800de66: 681b ldr r3, [r3, #0] - 800de68: f06f 0220 mvn.w r2, #32 - 800de6c: 611a str r2, [r3, #16] + 800e860: 687b ldr r3, [r7, #4] + 800e862: 681b ldr r3, [r3, #0] + 800e864: f06f 0220 mvn.w r2, #32 + 800e868: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->CommutationCallback(htim); #else HAL_TIMEx_CommutCallback(htim); - 800de6e: 6878 ldr r0, [r7, #4] - 800de70: f000 fc8e bl 800e790 + 800e86a: 6878 ldr r0, [r7, #4] + 800e86c: f000 fc8e bl 800f18c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } } - 800de74: bf00 nop - 800de76: 3710 adds r7, #16 - 800de78: 46bd mov sp, r7 - 800de7a: bd80 pop {r7, pc} + 800e870: bf00 nop + 800e872: 3710 adds r7, #16 + 800e874: 46bd mov sp, r7 + 800e876: bd80 pop {r7, pc} -0800de7c : +0800e878 : * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim, const TIM_OC_InitTypeDef *sConfig, uint32_t Channel) { - 800de7c: b580 push {r7, lr} - 800de7e: b086 sub sp, #24 - 800de80: af00 add r7, sp, #0 - 800de82: 60f8 str r0, [r7, #12] - 800de84: 60b9 str r1, [r7, #8] - 800de86: 607a str r2, [r7, #4] + 800e878: b580 push {r7, lr} + 800e87a: b086 sub sp, #24 + 800e87c: af00 add r7, sp, #0 + 800e87e: 60f8 str r0, [r7, #12] + 800e880: 60b9 str r1, [r7, #8] + 800e882: 607a str r2, [r7, #4] HAL_StatusTypeDef status = HAL_OK; - 800de88: 2300 movs r3, #0 - 800de8a: 75fb strb r3, [r7, #23] + 800e884: 2300 movs r3, #0 + 800e886: 75fb strb r3, [r7, #23] assert_param(IS_TIM_PWM_MODE(sConfig->OCMode)); assert_param(IS_TIM_OC_POLARITY(sConfig->OCPolarity)); assert_param(IS_TIM_FAST_STATE(sConfig->OCFastMode)); /* Process Locked */ __HAL_LOCK(htim); - 800de8c: 68fb ldr r3, [r7, #12] - 800de8e: f893 303c ldrb.w r3, [r3, #60] @ 0x3c - 800de92: 2b01 cmp r3, #1 - 800de94: d101 bne.n 800de9a - 800de96: 2302 movs r3, #2 - 800de98: e0ff b.n 800e09a - 800de9a: 68fb ldr r3, [r7, #12] - 800de9c: 2201 movs r2, #1 - 800de9e: f883 203c strb.w r2, [r3, #60] @ 0x3c + 800e888: 68fb ldr r3, [r7, #12] + 800e88a: f893 303c ldrb.w r3, [r3, #60] @ 0x3c + 800e88e: 2b01 cmp r3, #1 + 800e890: d101 bne.n 800e896 + 800e892: 2302 movs r3, #2 + 800e894: e0ff b.n 800ea96 + 800e896: 68fb ldr r3, [r7, #12] + 800e898: 2201 movs r2, #1 + 800e89a: f883 203c strb.w r2, [r3, #60] @ 0x3c switch (Channel) - 800dea2: 687b ldr r3, [r7, #4] - 800dea4: 2b14 cmp r3, #20 - 800dea6: f200 80f0 bhi.w 800e08a - 800deaa: a201 add r2, pc, #4 @ (adr r2, 800deb0 ) - 800deac: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 800deb0: 0800df05 .word 0x0800df05 - 800deb4: 0800e08b .word 0x0800e08b - 800deb8: 0800e08b .word 0x0800e08b - 800debc: 0800e08b .word 0x0800e08b - 800dec0: 0800df45 .word 0x0800df45 - 800dec4: 0800e08b .word 0x0800e08b - 800dec8: 0800e08b .word 0x0800e08b - 800decc: 0800e08b .word 0x0800e08b - 800ded0: 0800df87 .word 0x0800df87 - 800ded4: 0800e08b .word 0x0800e08b - 800ded8: 0800e08b .word 0x0800e08b - 800dedc: 0800e08b .word 0x0800e08b - 800dee0: 0800dfc7 .word 0x0800dfc7 - 800dee4: 0800e08b .word 0x0800e08b - 800dee8: 0800e08b .word 0x0800e08b - 800deec: 0800e08b .word 0x0800e08b - 800def0: 0800e009 .word 0x0800e009 - 800def4: 0800e08b .word 0x0800e08b - 800def8: 0800e08b .word 0x0800e08b - 800defc: 0800e08b .word 0x0800e08b - 800df00: 0800e049 .word 0x0800e049 + 800e89e: 687b ldr r3, [r7, #4] + 800e8a0: 2b14 cmp r3, #20 + 800e8a2: f200 80f0 bhi.w 800ea86 + 800e8a6: a201 add r2, pc, #4 @ (adr r2, 800e8ac ) + 800e8a8: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 800e8ac: 0800e901 .word 0x0800e901 + 800e8b0: 0800ea87 .word 0x0800ea87 + 800e8b4: 0800ea87 .word 0x0800ea87 + 800e8b8: 0800ea87 .word 0x0800ea87 + 800e8bc: 0800e941 .word 0x0800e941 + 800e8c0: 0800ea87 .word 0x0800ea87 + 800e8c4: 0800ea87 .word 0x0800ea87 + 800e8c8: 0800ea87 .word 0x0800ea87 + 800e8cc: 0800e983 .word 0x0800e983 + 800e8d0: 0800ea87 .word 0x0800ea87 + 800e8d4: 0800ea87 .word 0x0800ea87 + 800e8d8: 0800ea87 .word 0x0800ea87 + 800e8dc: 0800e9c3 .word 0x0800e9c3 + 800e8e0: 0800ea87 .word 0x0800ea87 + 800e8e4: 0800ea87 .word 0x0800ea87 + 800e8e8: 0800ea87 .word 0x0800ea87 + 800e8ec: 0800ea05 .word 0x0800ea05 + 800e8f0: 0800ea87 .word 0x0800ea87 + 800e8f4: 0800ea87 .word 0x0800ea87 + 800e8f8: 0800ea87 .word 0x0800ea87 + 800e8fc: 0800ea45 .word 0x0800ea45 { /* Check the parameters */ assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); /* Configure the Channel 1 in PWM mode */ TIM_OC1_SetConfig(htim->Instance, sConfig); - 800df04: 68fb ldr r3, [r7, #12] - 800df06: 681b ldr r3, [r3, #0] - 800df08: 68b9 ldr r1, [r7, #8] - 800df0a: 4618 mov r0, r3 - 800df0c: f000 f95c bl 800e1c8 + 800e900: 68fb ldr r3, [r7, #12] + 800e902: 681b ldr r3, [r3, #0] + 800e904: 68b9 ldr r1, [r7, #8] + 800e906: 4618 mov r0, r3 + 800e908: f000 f95c bl 800ebc4 /* Set the Preload enable bit for channel1 */ htim->Instance->CCMR1 |= TIM_CCMR1_OC1PE; - 800df10: 68fb ldr r3, [r7, #12] - 800df12: 681b ldr r3, [r3, #0] - 800df14: 699a ldr r2, [r3, #24] - 800df16: 68fb ldr r3, [r7, #12] - 800df18: 681b ldr r3, [r3, #0] - 800df1a: f042 0208 orr.w r2, r2, #8 - 800df1e: 619a str r2, [r3, #24] + 800e90c: 68fb ldr r3, [r7, #12] + 800e90e: 681b ldr r3, [r3, #0] + 800e910: 699a ldr r2, [r3, #24] + 800e912: 68fb ldr r3, [r7, #12] + 800e914: 681b ldr r3, [r3, #0] + 800e916: f042 0208 orr.w r2, r2, #8 + 800e91a: 619a str r2, [r3, #24] /* Configure the Output Fast mode */ htim->Instance->CCMR1 &= ~TIM_CCMR1_OC1FE; - 800df20: 68fb ldr r3, [r7, #12] - 800df22: 681b ldr r3, [r3, #0] - 800df24: 699a ldr r2, [r3, #24] - 800df26: 68fb ldr r3, [r7, #12] - 800df28: 681b ldr r3, [r3, #0] - 800df2a: f022 0204 bic.w r2, r2, #4 - 800df2e: 619a str r2, [r3, #24] + 800e91c: 68fb ldr r3, [r7, #12] + 800e91e: 681b ldr r3, [r3, #0] + 800e920: 699a ldr r2, [r3, #24] + 800e922: 68fb ldr r3, [r7, #12] + 800e924: 681b ldr r3, [r3, #0] + 800e926: f022 0204 bic.w r2, r2, #4 + 800e92a: 619a str r2, [r3, #24] htim->Instance->CCMR1 |= sConfig->OCFastMode; - 800df30: 68fb ldr r3, [r7, #12] - 800df32: 681b ldr r3, [r3, #0] - 800df34: 6999 ldr r1, [r3, #24] - 800df36: 68bb ldr r3, [r7, #8] - 800df38: 691a ldr r2, [r3, #16] - 800df3a: 68fb ldr r3, [r7, #12] - 800df3c: 681b ldr r3, [r3, #0] - 800df3e: 430a orrs r2, r1 - 800df40: 619a str r2, [r3, #24] + 800e92c: 68fb ldr r3, [r7, #12] + 800e92e: 681b ldr r3, [r3, #0] + 800e930: 6999 ldr r1, [r3, #24] + 800e932: 68bb ldr r3, [r7, #8] + 800e934: 691a ldr r2, [r3, #16] + 800e936: 68fb ldr r3, [r7, #12] + 800e938: 681b ldr r3, [r3, #0] + 800e93a: 430a orrs r2, r1 + 800e93c: 619a str r2, [r3, #24] break; - 800df42: e0a5 b.n 800e090 + 800e93e: e0a5 b.n 800ea8c { /* Check the parameters */ assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); /* Configure the Channel 2 in PWM mode */ TIM_OC2_SetConfig(htim->Instance, sConfig); - 800df44: 68fb ldr r3, [r7, #12] - 800df46: 681b ldr r3, [r3, #0] - 800df48: 68b9 ldr r1, [r7, #8] - 800df4a: 4618 mov r0, r3 - 800df4c: f000 f9ba bl 800e2c4 + 800e940: 68fb ldr r3, [r7, #12] + 800e942: 681b ldr r3, [r3, #0] + 800e944: 68b9 ldr r1, [r7, #8] + 800e946: 4618 mov r0, r3 + 800e948: f000 f9ba bl 800ecc0 /* Set the Preload enable bit for channel2 */ htim->Instance->CCMR1 |= TIM_CCMR1_OC2PE; - 800df50: 68fb ldr r3, [r7, #12] - 800df52: 681b ldr r3, [r3, #0] - 800df54: 699a ldr r2, [r3, #24] - 800df56: 68fb ldr r3, [r7, #12] - 800df58: 681b ldr r3, [r3, #0] - 800df5a: f442 6200 orr.w r2, r2, #2048 @ 0x800 - 800df5e: 619a str r2, [r3, #24] + 800e94c: 68fb ldr r3, [r7, #12] + 800e94e: 681b ldr r3, [r3, #0] + 800e950: 699a ldr r2, [r3, #24] + 800e952: 68fb ldr r3, [r7, #12] + 800e954: 681b ldr r3, [r3, #0] + 800e956: f442 6200 orr.w r2, r2, #2048 @ 0x800 + 800e95a: 619a str r2, [r3, #24] /* Configure the Output Fast mode */ htim->Instance->CCMR1 &= ~TIM_CCMR1_OC2FE; - 800df60: 68fb ldr r3, [r7, #12] - 800df62: 681b ldr r3, [r3, #0] - 800df64: 699a ldr r2, [r3, #24] - 800df66: 68fb ldr r3, [r7, #12] - 800df68: 681b ldr r3, [r3, #0] - 800df6a: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 800df6e: 619a str r2, [r3, #24] + 800e95c: 68fb ldr r3, [r7, #12] + 800e95e: 681b ldr r3, [r3, #0] + 800e960: 699a ldr r2, [r3, #24] + 800e962: 68fb ldr r3, [r7, #12] + 800e964: 681b ldr r3, [r3, #0] + 800e966: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 800e96a: 619a str r2, [r3, #24] htim->Instance->CCMR1 |= sConfig->OCFastMode << 8U; - 800df70: 68fb ldr r3, [r7, #12] - 800df72: 681b ldr r3, [r3, #0] - 800df74: 6999 ldr r1, [r3, #24] - 800df76: 68bb ldr r3, [r7, #8] - 800df78: 691b ldr r3, [r3, #16] - 800df7a: 021a lsls r2, r3, #8 - 800df7c: 68fb ldr r3, [r7, #12] - 800df7e: 681b ldr r3, [r3, #0] - 800df80: 430a orrs r2, r1 - 800df82: 619a str r2, [r3, #24] + 800e96c: 68fb ldr r3, [r7, #12] + 800e96e: 681b ldr r3, [r3, #0] + 800e970: 6999 ldr r1, [r3, #24] + 800e972: 68bb ldr r3, [r7, #8] + 800e974: 691b ldr r3, [r3, #16] + 800e976: 021a lsls r2, r3, #8 + 800e978: 68fb ldr r3, [r7, #12] + 800e97a: 681b ldr r3, [r3, #0] + 800e97c: 430a orrs r2, r1 + 800e97e: 619a str r2, [r3, #24] break; - 800df84: e084 b.n 800e090 + 800e980: e084 b.n 800ea8c { /* Check the parameters */ assert_param(IS_TIM_CC3_INSTANCE(htim->Instance)); /* Configure the Channel 3 in PWM mode */ TIM_OC3_SetConfig(htim->Instance, sConfig); - 800df86: 68fb ldr r3, [r7, #12] - 800df88: 681b ldr r3, [r3, #0] - 800df8a: 68b9 ldr r1, [r7, #8] - 800df8c: 4618 mov r0, r3 - 800df8e: f000 fa15 bl 800e3bc + 800e982: 68fb ldr r3, [r7, #12] + 800e984: 681b ldr r3, [r3, #0] + 800e986: 68b9 ldr r1, [r7, #8] + 800e988: 4618 mov r0, r3 + 800e98a: f000 fa15 bl 800edb8 /* Set the Preload enable bit for channel3 */ htim->Instance->CCMR2 |= TIM_CCMR2_OC3PE; - 800df92: 68fb ldr r3, [r7, #12] - 800df94: 681b ldr r3, [r3, #0] - 800df96: 69da ldr r2, [r3, #28] - 800df98: 68fb ldr r3, [r7, #12] - 800df9a: 681b ldr r3, [r3, #0] - 800df9c: f042 0208 orr.w r2, r2, #8 - 800dfa0: 61da str r2, [r3, #28] + 800e98e: 68fb ldr r3, [r7, #12] + 800e990: 681b ldr r3, [r3, #0] + 800e992: 69da ldr r2, [r3, #28] + 800e994: 68fb ldr r3, [r7, #12] + 800e996: 681b ldr r3, [r3, #0] + 800e998: f042 0208 orr.w r2, r2, #8 + 800e99c: 61da str r2, [r3, #28] /* Configure the Output Fast mode */ htim->Instance->CCMR2 &= ~TIM_CCMR2_OC3FE; - 800dfa2: 68fb ldr r3, [r7, #12] - 800dfa4: 681b ldr r3, [r3, #0] - 800dfa6: 69da ldr r2, [r3, #28] - 800dfa8: 68fb ldr r3, [r7, #12] - 800dfaa: 681b ldr r3, [r3, #0] - 800dfac: f022 0204 bic.w r2, r2, #4 - 800dfb0: 61da str r2, [r3, #28] + 800e99e: 68fb ldr r3, [r7, #12] + 800e9a0: 681b ldr r3, [r3, #0] + 800e9a2: 69da ldr r2, [r3, #28] + 800e9a4: 68fb ldr r3, [r7, #12] + 800e9a6: 681b ldr r3, [r3, #0] + 800e9a8: f022 0204 bic.w r2, r2, #4 + 800e9ac: 61da str r2, [r3, #28] htim->Instance->CCMR2 |= sConfig->OCFastMode; - 800dfb2: 68fb ldr r3, [r7, #12] - 800dfb4: 681b ldr r3, [r3, #0] - 800dfb6: 69d9 ldr r1, [r3, #28] - 800dfb8: 68bb ldr r3, [r7, #8] - 800dfba: 691a ldr r2, [r3, #16] - 800dfbc: 68fb ldr r3, [r7, #12] - 800dfbe: 681b ldr r3, [r3, #0] - 800dfc0: 430a orrs r2, r1 - 800dfc2: 61da str r2, [r3, #28] + 800e9ae: 68fb ldr r3, [r7, #12] + 800e9b0: 681b ldr r3, [r3, #0] + 800e9b2: 69d9 ldr r1, [r3, #28] + 800e9b4: 68bb ldr r3, [r7, #8] + 800e9b6: 691a ldr r2, [r3, #16] + 800e9b8: 68fb ldr r3, [r7, #12] + 800e9ba: 681b ldr r3, [r3, #0] + 800e9bc: 430a orrs r2, r1 + 800e9be: 61da str r2, [r3, #28] break; - 800dfc4: e064 b.n 800e090 + 800e9c0: e064 b.n 800ea8c { /* Check the parameters */ assert_param(IS_TIM_CC4_INSTANCE(htim->Instance)); /* Configure the Channel 4 in PWM mode */ TIM_OC4_SetConfig(htim->Instance, sConfig); - 800dfc6: 68fb ldr r3, [r7, #12] - 800dfc8: 681b ldr r3, [r3, #0] - 800dfca: 68b9 ldr r1, [r7, #8] - 800dfcc: 4618 mov r0, r3 - 800dfce: f000 fa6f bl 800e4b0 + 800e9c2: 68fb ldr r3, [r7, #12] + 800e9c4: 681b ldr r3, [r3, #0] + 800e9c6: 68b9 ldr r1, [r7, #8] + 800e9c8: 4618 mov r0, r3 + 800e9ca: f000 fa6f bl 800eeac /* Set the Preload enable bit for channel4 */ htim->Instance->CCMR2 |= TIM_CCMR2_OC4PE; - 800dfd2: 68fb ldr r3, [r7, #12] - 800dfd4: 681b ldr r3, [r3, #0] - 800dfd6: 69da ldr r2, [r3, #28] - 800dfd8: 68fb ldr r3, [r7, #12] - 800dfda: 681b ldr r3, [r3, #0] - 800dfdc: f442 6200 orr.w r2, r2, #2048 @ 0x800 - 800dfe0: 61da str r2, [r3, #28] + 800e9ce: 68fb ldr r3, [r7, #12] + 800e9d0: 681b ldr r3, [r3, #0] + 800e9d2: 69da ldr r2, [r3, #28] + 800e9d4: 68fb ldr r3, [r7, #12] + 800e9d6: 681b ldr r3, [r3, #0] + 800e9d8: f442 6200 orr.w r2, r2, #2048 @ 0x800 + 800e9dc: 61da str r2, [r3, #28] /* Configure the Output Fast mode */ htim->Instance->CCMR2 &= ~TIM_CCMR2_OC4FE; - 800dfe2: 68fb ldr r3, [r7, #12] - 800dfe4: 681b ldr r3, [r3, #0] - 800dfe6: 69da ldr r2, [r3, #28] - 800dfe8: 68fb ldr r3, [r7, #12] - 800dfea: 681b ldr r3, [r3, #0] - 800dfec: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 800dff0: 61da str r2, [r3, #28] + 800e9de: 68fb ldr r3, [r7, #12] + 800e9e0: 681b ldr r3, [r3, #0] + 800e9e2: 69da ldr r2, [r3, #28] + 800e9e4: 68fb ldr r3, [r7, #12] + 800e9e6: 681b ldr r3, [r3, #0] + 800e9e8: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 800e9ec: 61da str r2, [r3, #28] htim->Instance->CCMR2 |= sConfig->OCFastMode << 8U; - 800dff2: 68fb ldr r3, [r7, #12] - 800dff4: 681b ldr r3, [r3, #0] - 800dff6: 69d9 ldr r1, [r3, #28] - 800dff8: 68bb ldr r3, [r7, #8] - 800dffa: 691b ldr r3, [r3, #16] - 800dffc: 021a lsls r2, r3, #8 - 800dffe: 68fb ldr r3, [r7, #12] - 800e000: 681b ldr r3, [r3, #0] - 800e002: 430a orrs r2, r1 - 800e004: 61da str r2, [r3, #28] + 800e9ee: 68fb ldr r3, [r7, #12] + 800e9f0: 681b ldr r3, [r3, #0] + 800e9f2: 69d9 ldr r1, [r3, #28] + 800e9f4: 68bb ldr r3, [r7, #8] + 800e9f6: 691b ldr r3, [r3, #16] + 800e9f8: 021a lsls r2, r3, #8 + 800e9fa: 68fb ldr r3, [r7, #12] + 800e9fc: 681b ldr r3, [r3, #0] + 800e9fe: 430a orrs r2, r1 + 800ea00: 61da str r2, [r3, #28] break; - 800e006: e043 b.n 800e090 + 800ea02: e043 b.n 800ea8c { /* Check the parameters */ assert_param(IS_TIM_CC5_INSTANCE(htim->Instance)); /* Configure the Channel 5 in PWM mode */ TIM_OC5_SetConfig(htim->Instance, sConfig); - 800e008: 68fb ldr r3, [r7, #12] - 800e00a: 681b ldr r3, [r3, #0] - 800e00c: 68b9 ldr r1, [r7, #8] - 800e00e: 4618 mov r0, r3 - 800e010: f000 faac bl 800e56c + 800ea04: 68fb ldr r3, [r7, #12] + 800ea06: 681b ldr r3, [r3, #0] + 800ea08: 68b9 ldr r1, [r7, #8] + 800ea0a: 4618 mov r0, r3 + 800ea0c: f000 faac bl 800ef68 /* Set the Preload enable bit for channel5*/ htim->Instance->CCMR3 |= TIM_CCMR3_OC5PE; - 800e014: 68fb ldr r3, [r7, #12] - 800e016: 681b ldr r3, [r3, #0] - 800e018: 6d5a ldr r2, [r3, #84] @ 0x54 - 800e01a: 68fb ldr r3, [r7, #12] - 800e01c: 681b ldr r3, [r3, #0] - 800e01e: f042 0208 orr.w r2, r2, #8 - 800e022: 655a str r2, [r3, #84] @ 0x54 + 800ea10: 68fb ldr r3, [r7, #12] + 800ea12: 681b ldr r3, [r3, #0] + 800ea14: 6d5a ldr r2, [r3, #84] @ 0x54 + 800ea16: 68fb ldr r3, [r7, #12] + 800ea18: 681b ldr r3, [r3, #0] + 800ea1a: f042 0208 orr.w r2, r2, #8 + 800ea1e: 655a str r2, [r3, #84] @ 0x54 /* Configure the Output Fast mode */ htim->Instance->CCMR3 &= ~TIM_CCMR3_OC5FE; - 800e024: 68fb ldr r3, [r7, #12] - 800e026: 681b ldr r3, [r3, #0] - 800e028: 6d5a ldr r2, [r3, #84] @ 0x54 - 800e02a: 68fb ldr r3, [r7, #12] - 800e02c: 681b ldr r3, [r3, #0] - 800e02e: f022 0204 bic.w r2, r2, #4 - 800e032: 655a str r2, [r3, #84] @ 0x54 + 800ea20: 68fb ldr r3, [r7, #12] + 800ea22: 681b ldr r3, [r3, #0] + 800ea24: 6d5a ldr r2, [r3, #84] @ 0x54 + 800ea26: 68fb ldr r3, [r7, #12] + 800ea28: 681b ldr r3, [r3, #0] + 800ea2a: f022 0204 bic.w r2, r2, #4 + 800ea2e: 655a str r2, [r3, #84] @ 0x54 htim->Instance->CCMR3 |= sConfig->OCFastMode; - 800e034: 68fb ldr r3, [r7, #12] - 800e036: 681b ldr r3, [r3, #0] - 800e038: 6d59 ldr r1, [r3, #84] @ 0x54 - 800e03a: 68bb ldr r3, [r7, #8] - 800e03c: 691a ldr r2, [r3, #16] - 800e03e: 68fb ldr r3, [r7, #12] - 800e040: 681b ldr r3, [r3, #0] - 800e042: 430a orrs r2, r1 - 800e044: 655a str r2, [r3, #84] @ 0x54 + 800ea30: 68fb ldr r3, [r7, #12] + 800ea32: 681b ldr r3, [r3, #0] + 800ea34: 6d59 ldr r1, [r3, #84] @ 0x54 + 800ea36: 68bb ldr r3, [r7, #8] + 800ea38: 691a ldr r2, [r3, #16] + 800ea3a: 68fb ldr r3, [r7, #12] + 800ea3c: 681b ldr r3, [r3, #0] + 800ea3e: 430a orrs r2, r1 + 800ea40: 655a str r2, [r3, #84] @ 0x54 break; - 800e046: e023 b.n 800e090 + 800ea42: e023 b.n 800ea8c { /* Check the parameters */ assert_param(IS_TIM_CC6_INSTANCE(htim->Instance)); /* Configure the Channel 6 in PWM mode */ TIM_OC6_SetConfig(htim->Instance, sConfig); - 800e048: 68fb ldr r3, [r7, #12] - 800e04a: 681b ldr r3, [r3, #0] - 800e04c: 68b9 ldr r1, [r7, #8] - 800e04e: 4618 mov r0, r3 - 800e050: f000 fae4 bl 800e61c + 800ea44: 68fb ldr r3, [r7, #12] + 800ea46: 681b ldr r3, [r3, #0] + 800ea48: 68b9 ldr r1, [r7, #8] + 800ea4a: 4618 mov r0, r3 + 800ea4c: f000 fae4 bl 800f018 /* Set the Preload enable bit for channel6 */ htim->Instance->CCMR3 |= TIM_CCMR3_OC6PE; - 800e054: 68fb ldr r3, [r7, #12] - 800e056: 681b ldr r3, [r3, #0] - 800e058: 6d5a ldr r2, [r3, #84] @ 0x54 - 800e05a: 68fb ldr r3, [r7, #12] - 800e05c: 681b ldr r3, [r3, #0] - 800e05e: f442 6200 orr.w r2, r2, #2048 @ 0x800 - 800e062: 655a str r2, [r3, #84] @ 0x54 + 800ea50: 68fb ldr r3, [r7, #12] + 800ea52: 681b ldr r3, [r3, #0] + 800ea54: 6d5a ldr r2, [r3, #84] @ 0x54 + 800ea56: 68fb ldr r3, [r7, #12] + 800ea58: 681b ldr r3, [r3, #0] + 800ea5a: f442 6200 orr.w r2, r2, #2048 @ 0x800 + 800ea5e: 655a str r2, [r3, #84] @ 0x54 /* Configure the Output Fast mode */ htim->Instance->CCMR3 &= ~TIM_CCMR3_OC6FE; - 800e064: 68fb ldr r3, [r7, #12] - 800e066: 681b ldr r3, [r3, #0] - 800e068: 6d5a ldr r2, [r3, #84] @ 0x54 - 800e06a: 68fb ldr r3, [r7, #12] - 800e06c: 681b ldr r3, [r3, #0] - 800e06e: f422 6280 bic.w r2, r2, #1024 @ 0x400 - 800e072: 655a str r2, [r3, #84] @ 0x54 + 800ea60: 68fb ldr r3, [r7, #12] + 800ea62: 681b ldr r3, [r3, #0] + 800ea64: 6d5a ldr r2, [r3, #84] @ 0x54 + 800ea66: 68fb ldr r3, [r7, #12] + 800ea68: 681b ldr r3, [r3, #0] + 800ea6a: f422 6280 bic.w r2, r2, #1024 @ 0x400 + 800ea6e: 655a str r2, [r3, #84] @ 0x54 htim->Instance->CCMR3 |= sConfig->OCFastMode << 8U; - 800e074: 68fb ldr r3, [r7, #12] - 800e076: 681b ldr r3, [r3, #0] - 800e078: 6d59 ldr r1, [r3, #84] @ 0x54 - 800e07a: 68bb ldr r3, [r7, #8] - 800e07c: 691b ldr r3, [r3, #16] - 800e07e: 021a lsls r2, r3, #8 - 800e080: 68fb ldr r3, [r7, #12] - 800e082: 681b ldr r3, [r3, #0] - 800e084: 430a orrs r2, r1 - 800e086: 655a str r2, [r3, #84] @ 0x54 + 800ea70: 68fb ldr r3, [r7, #12] + 800ea72: 681b ldr r3, [r3, #0] + 800ea74: 6d59 ldr r1, [r3, #84] @ 0x54 + 800ea76: 68bb ldr r3, [r7, #8] + 800ea78: 691b ldr r3, [r3, #16] + 800ea7a: 021a lsls r2, r3, #8 + 800ea7c: 68fb ldr r3, [r7, #12] + 800ea7e: 681b ldr r3, [r3, #0] + 800ea80: 430a orrs r2, r1 + 800ea82: 655a str r2, [r3, #84] @ 0x54 break; - 800e088: e002 b.n 800e090 + 800ea84: e002 b.n 800ea8c } default: status = HAL_ERROR; - 800e08a: 2301 movs r3, #1 - 800e08c: 75fb strb r3, [r7, #23] + 800ea86: 2301 movs r3, #1 + 800ea88: 75fb strb r3, [r7, #23] break; - 800e08e: bf00 nop + 800ea8a: bf00 nop } __HAL_UNLOCK(htim); - 800e090: 68fb ldr r3, [r7, #12] - 800e092: 2200 movs r2, #0 - 800e094: f883 203c strb.w r2, [r3, #60] @ 0x3c + 800ea8c: 68fb ldr r3, [r7, #12] + 800ea8e: 2200 movs r2, #0 + 800ea90: f883 203c strb.w r2, [r3, #60] @ 0x3c return status; - 800e098: 7dfb ldrb r3, [r7, #23] + 800ea94: 7dfb ldrb r3, [r7, #23] } - 800e09a: 4618 mov r0, r3 - 800e09c: 3718 adds r7, #24 - 800e09e: 46bd mov sp, r7 - 800e0a0: bd80 pop {r7, pc} - 800e0a2: bf00 nop + 800ea96: 4618 mov r0, r3 + 800ea98: 3718 adds r7, #24 + 800ea9a: 46bd mov sp, r7 + 800ea9c: bd80 pop {r7, pc} + 800ea9e: bf00 nop -0800e0a4 : +0800eaa0 : * @brief Output Compare callback in non-blocking mode * @param htim TIM OC handle * @retval None */ __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) { - 800e0a4: b480 push {r7} - 800e0a6: b083 sub sp, #12 - 800e0a8: af00 add r7, sp, #0 - 800e0aa: 6078 str r0, [r7, #4] + 800eaa0: b480 push {r7} + 800eaa2: b083 sub sp, #12 + 800eaa4: af00 add r7, sp, #0 + 800eaa6: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_OC_DelayElapsedCallback could be implemented in the user file */ } - 800e0ac: bf00 nop - 800e0ae: 370c adds r7, #12 - 800e0b0: 46bd mov sp, r7 - 800e0b2: f85d 7b04 ldr.w r7, [sp], #4 - 800e0b6: 4770 bx lr + 800eaa8: bf00 nop + 800eaaa: 370c adds r7, #12 + 800eaac: 46bd mov sp, r7 + 800eaae: f85d 7b04 ldr.w r7, [sp], #4 + 800eab2: 4770 bx lr -0800e0b8 : +0800eab4 : * @brief Input Capture callback in non-blocking mode * @param htim TIM IC handle * @retval None */ __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { - 800e0b8: b480 push {r7} - 800e0ba: b083 sub sp, #12 - 800e0bc: af00 add r7, sp, #0 - 800e0be: 6078 str r0, [r7, #4] + 800eab4: b480 push {r7} + 800eab6: b083 sub sp, #12 + 800eab8: af00 add r7, sp, #0 + 800eaba: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_IC_CaptureCallback could be implemented in the user file */ } - 800e0c0: bf00 nop - 800e0c2: 370c adds r7, #12 - 800e0c4: 46bd mov sp, r7 - 800e0c6: f85d 7b04 ldr.w r7, [sp], #4 - 800e0ca: 4770 bx lr + 800eabc: bf00 nop + 800eabe: 370c adds r7, #12 + 800eac0: 46bd mov sp, r7 + 800eac2: f85d 7b04 ldr.w r7, [sp], #4 + 800eac6: 4770 bx lr -0800e0cc : +0800eac8 : * @brief PWM Pulse finished callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { - 800e0cc: b480 push {r7} - 800e0ce: b083 sub sp, #12 - 800e0d0: af00 add r7, sp, #0 - 800e0d2: 6078 str r0, [r7, #4] + 800eac8: b480 push {r7} + 800eaca: b083 sub sp, #12 + 800eacc: af00 add r7, sp, #0 + 800eace: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_PWM_PulseFinishedCallback could be implemented in the user file */ } - 800e0d4: bf00 nop - 800e0d6: 370c adds r7, #12 - 800e0d8: 46bd mov sp, r7 - 800e0da: f85d 7b04 ldr.w r7, [sp], #4 - 800e0de: 4770 bx lr + 800ead0: bf00 nop + 800ead2: 370c adds r7, #12 + 800ead4: 46bd mov sp, r7 + 800ead6: f85d 7b04 ldr.w r7, [sp], #4 + 800eada: 4770 bx lr -0800e0e0 : +0800eadc : * @brief Hall Trigger detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { - 800e0e0: b480 push {r7} - 800e0e2: b083 sub sp, #12 - 800e0e4: af00 add r7, sp, #0 - 800e0e6: 6078 str r0, [r7, #4] + 800eadc: b480 push {r7} + 800eade: b083 sub sp, #12 + 800eae0: af00 add r7, sp, #0 + 800eae2: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_TriggerCallback could be implemented in the user file */ } - 800e0e8: bf00 nop - 800e0ea: 370c adds r7, #12 - 800e0ec: 46bd mov sp, r7 - 800e0ee: f85d 7b04 ldr.w r7, [sp], #4 - 800e0f2: 4770 bx lr + 800eae4: bf00 nop + 800eae6: 370c adds r7, #12 + 800eae8: 46bd mov sp, r7 + 800eaea: f85d 7b04 ldr.w r7, [sp], #4 + 800eaee: 4770 bx lr -0800e0f4 : +0800eaf0 : * @param TIMx TIM peripheral * @param Structure TIM Base configuration structure * @retval None */ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, const TIM_Base_InitTypeDef *Structure) { - 800e0f4: b480 push {r7} - 800e0f6: b085 sub sp, #20 - 800e0f8: af00 add r7, sp, #0 - 800e0fa: 6078 str r0, [r7, #4] - 800e0fc: 6039 str r1, [r7, #0] + 800eaf0: b480 push {r7} + 800eaf2: b085 sub sp, #20 + 800eaf4: af00 add r7, sp, #0 + 800eaf6: 6078 str r0, [r7, #4] + 800eaf8: 6039 str r1, [r7, #0] uint32_t tmpcr1; tmpcr1 = TIMx->CR1; - 800e0fe: 687b ldr r3, [r7, #4] - 800e100: 681b ldr r3, [r3, #0] - 800e102: 60fb str r3, [r7, #12] + 800eafa: 687b ldr r3, [r7, #4] + 800eafc: 681b ldr r3, [r3, #0] + 800eafe: 60fb str r3, [r7, #12] /* Set TIM Time Base Unit parameters ---------------------------------------*/ if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) - 800e104: 687b ldr r3, [r7, #4] - 800e106: 4a2d ldr r2, [pc, #180] @ (800e1bc ) - 800e108: 4293 cmp r3, r2 - 800e10a: d003 beq.n 800e114 - 800e10c: 687b ldr r3, [r7, #4] - 800e10e: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 - 800e112: d108 bne.n 800e126 + 800eb00: 687b ldr r3, [r7, #4] + 800eb02: 4a2d ldr r2, [pc, #180] @ (800ebb8 ) + 800eb04: 4293 cmp r3, r2 + 800eb06: d003 beq.n 800eb10 + 800eb08: 687b ldr r3, [r7, #4] + 800eb0a: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 + 800eb0e: d108 bne.n 800eb22 { /* Select the Counter Mode */ tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); - 800e114: 68fb ldr r3, [r7, #12] - 800e116: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800e11a: 60fb str r3, [r7, #12] + 800eb10: 68fb ldr r3, [r7, #12] + 800eb12: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800eb16: 60fb str r3, [r7, #12] tmpcr1 |= Structure->CounterMode; - 800e11c: 683b ldr r3, [r7, #0] - 800e11e: 685b ldr r3, [r3, #4] - 800e120: 68fa ldr r2, [r7, #12] - 800e122: 4313 orrs r3, r2 - 800e124: 60fb str r3, [r7, #12] + 800eb18: 683b ldr r3, [r7, #0] + 800eb1a: 685b ldr r3, [r3, #4] + 800eb1c: 68fa ldr r2, [r7, #12] + 800eb1e: 4313 orrs r3, r2 + 800eb20: 60fb str r3, [r7, #12] } if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) - 800e126: 687b ldr r3, [r7, #4] - 800e128: 4a24 ldr r2, [pc, #144] @ (800e1bc ) - 800e12a: 4293 cmp r3, r2 - 800e12c: d00b beq.n 800e146 - 800e12e: 687b ldr r3, [r7, #4] - 800e130: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 - 800e134: d007 beq.n 800e146 - 800e136: 687b ldr r3, [r7, #4] - 800e138: 4a21 ldr r2, [pc, #132] @ (800e1c0 ) - 800e13a: 4293 cmp r3, r2 - 800e13c: d003 beq.n 800e146 - 800e13e: 687b ldr r3, [r7, #4] - 800e140: 4a20 ldr r2, [pc, #128] @ (800e1c4 ) - 800e142: 4293 cmp r3, r2 - 800e144: d108 bne.n 800e158 + 800eb22: 687b ldr r3, [r7, #4] + 800eb24: 4a24 ldr r2, [pc, #144] @ (800ebb8 ) + 800eb26: 4293 cmp r3, r2 + 800eb28: d00b beq.n 800eb42 + 800eb2a: 687b ldr r3, [r7, #4] + 800eb2c: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 + 800eb30: d007 beq.n 800eb42 + 800eb32: 687b ldr r3, [r7, #4] + 800eb34: 4a21 ldr r2, [pc, #132] @ (800ebbc ) + 800eb36: 4293 cmp r3, r2 + 800eb38: d003 beq.n 800eb42 + 800eb3a: 687b ldr r3, [r7, #4] + 800eb3c: 4a20 ldr r2, [pc, #128] @ (800ebc0 ) + 800eb3e: 4293 cmp r3, r2 + 800eb40: d108 bne.n 800eb54 { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; - 800e146: 68fb ldr r3, [r7, #12] - 800e148: f423 7340 bic.w r3, r3, #768 @ 0x300 - 800e14c: 60fb str r3, [r7, #12] + 800eb42: 68fb ldr r3, [r7, #12] + 800eb44: f423 7340 bic.w r3, r3, #768 @ 0x300 + 800eb48: 60fb str r3, [r7, #12] tmpcr1 |= (uint32_t)Structure->ClockDivision; - 800e14e: 683b ldr r3, [r7, #0] - 800e150: 68db ldr r3, [r3, #12] - 800e152: 68fa ldr r2, [r7, #12] - 800e154: 4313 orrs r3, r2 - 800e156: 60fb str r3, [r7, #12] + 800eb4a: 683b ldr r3, [r7, #0] + 800eb4c: 68db ldr r3, [r3, #12] + 800eb4e: 68fa ldr r2, [r7, #12] + 800eb50: 4313 orrs r3, r2 + 800eb52: 60fb str r3, [r7, #12] } /* Set the auto-reload preload */ MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); - 800e158: 68fb ldr r3, [r7, #12] - 800e15a: f023 0280 bic.w r2, r3, #128 @ 0x80 - 800e15e: 683b ldr r3, [r7, #0] - 800e160: 695b ldr r3, [r3, #20] - 800e162: 4313 orrs r3, r2 - 800e164: 60fb str r3, [r7, #12] + 800eb54: 68fb ldr r3, [r7, #12] + 800eb56: f023 0280 bic.w r2, r3, #128 @ 0x80 + 800eb5a: 683b ldr r3, [r7, #0] + 800eb5c: 695b ldr r3, [r3, #20] + 800eb5e: 4313 orrs r3, r2 + 800eb60: 60fb str r3, [r7, #12] /* Set the Autoreload value */ TIMx->ARR = (uint32_t)Structure->Period ; - 800e166: 683b ldr r3, [r7, #0] - 800e168: 689a ldr r2, [r3, #8] - 800e16a: 687b ldr r3, [r7, #4] - 800e16c: 62da str r2, [r3, #44] @ 0x2c + 800eb62: 683b ldr r3, [r7, #0] + 800eb64: 689a ldr r2, [r3, #8] + 800eb66: 687b ldr r3, [r7, #4] + 800eb68: 62da str r2, [r3, #44] @ 0x2c /* Set the Prescaler value */ TIMx->PSC = Structure->Prescaler; - 800e16e: 683b ldr r3, [r7, #0] - 800e170: 681a ldr r2, [r3, #0] - 800e172: 687b ldr r3, [r7, #4] - 800e174: 629a str r2, [r3, #40] @ 0x28 + 800eb6a: 683b ldr r3, [r7, #0] + 800eb6c: 681a ldr r2, [r3, #0] + 800eb6e: 687b ldr r3, [r7, #4] + 800eb70: 629a str r2, [r3, #40] @ 0x28 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) - 800e176: 687b ldr r3, [r7, #4] - 800e178: 4a10 ldr r2, [pc, #64] @ (800e1bc ) - 800e17a: 4293 cmp r3, r2 - 800e17c: d007 beq.n 800e18e - 800e17e: 687b ldr r3, [r7, #4] - 800e180: 4a0f ldr r2, [pc, #60] @ (800e1c0 ) - 800e182: 4293 cmp r3, r2 - 800e184: d003 beq.n 800e18e - 800e186: 687b ldr r3, [r7, #4] - 800e188: 4a0e ldr r2, [pc, #56] @ (800e1c4 ) - 800e18a: 4293 cmp r3, r2 - 800e18c: d103 bne.n 800e196 + 800eb72: 687b ldr r3, [r7, #4] + 800eb74: 4a10 ldr r2, [pc, #64] @ (800ebb8 ) + 800eb76: 4293 cmp r3, r2 + 800eb78: d007 beq.n 800eb8a + 800eb7a: 687b ldr r3, [r7, #4] + 800eb7c: 4a0f ldr r2, [pc, #60] @ (800ebbc ) + 800eb7e: 4293 cmp r3, r2 + 800eb80: d003 beq.n 800eb8a + 800eb82: 687b ldr r3, [r7, #4] + 800eb84: 4a0e ldr r2, [pc, #56] @ (800ebc0 ) + 800eb86: 4293 cmp r3, r2 + 800eb88: d103 bne.n 800eb92 { /* Set the Repetition Counter value */ TIMx->RCR = Structure->RepetitionCounter; - 800e18e: 683b ldr r3, [r7, #0] - 800e190: 691a ldr r2, [r3, #16] - 800e192: 687b ldr r3, [r7, #4] - 800e194: 631a str r2, [r3, #48] @ 0x30 + 800eb8a: 683b ldr r3, [r7, #0] + 800eb8c: 691a ldr r2, [r3, #16] + 800eb8e: 687b ldr r3, [r7, #4] + 800eb90: 631a str r2, [r3, #48] @ 0x30 } /* Disable Update Event (UEV) with Update Generation (UG) by changing Update Request Source (URS) to avoid Update flag (UIF) */ SET_BIT(TIMx->CR1, TIM_CR1_URS); - 800e196: 687b ldr r3, [r7, #4] - 800e198: 681b ldr r3, [r3, #0] - 800e19a: f043 0204 orr.w r2, r3, #4 - 800e19e: 687b ldr r3, [r7, #4] - 800e1a0: 601a str r2, [r3, #0] + 800eb92: 687b ldr r3, [r7, #4] + 800eb94: 681b ldr r3, [r3, #0] + 800eb96: f043 0204 orr.w r2, r3, #4 + 800eb9a: 687b ldr r3, [r7, #4] + 800eb9c: 601a str r2, [r3, #0] /* Generate an update event to reload the Prescaler and the repetition counter (only for advanced timer) value immediately */ TIMx->EGR = TIM_EGR_UG; - 800e1a2: 687b ldr r3, [r7, #4] - 800e1a4: 2201 movs r2, #1 - 800e1a6: 615a str r2, [r3, #20] + 800eb9e: 687b ldr r3, [r7, #4] + 800eba0: 2201 movs r2, #1 + 800eba2: 615a str r2, [r3, #20] TIMx->CR1 = tmpcr1; - 800e1a8: 687b ldr r3, [r7, #4] - 800e1aa: 68fa ldr r2, [r7, #12] - 800e1ac: 601a str r2, [r3, #0] + 800eba4: 687b ldr r3, [r7, #4] + 800eba6: 68fa ldr r2, [r7, #12] + 800eba8: 601a str r2, [r3, #0] } - 800e1ae: bf00 nop - 800e1b0: 3714 adds r7, #20 - 800e1b2: 46bd mov sp, r7 - 800e1b4: f85d 7b04 ldr.w r7, [sp], #4 - 800e1b8: 4770 bx lr - 800e1ba: bf00 nop - 800e1bc: 40012c00 .word 0x40012c00 - 800e1c0: 40014400 .word 0x40014400 - 800e1c4: 40014800 .word 0x40014800 + 800ebaa: bf00 nop + 800ebac: 3714 adds r7, #20 + 800ebae: 46bd mov sp, r7 + 800ebb0: f85d 7b04 ldr.w r7, [sp], #4 + 800ebb4: 4770 bx lr + 800ebb6: bf00 nop + 800ebb8: 40012c00 .word 0x40012c00 + 800ebbc: 40014400 .word 0x40014400 + 800ebc0: 40014800 .word 0x40014800 -0800e1c8 : +0800ebc4 : * @param TIMx to select the TIM peripheral * @param OC_Config The output configuration structure * @retval None */ static void TIM_OC1_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config) { - 800e1c8: b480 push {r7} - 800e1ca: b087 sub sp, #28 - 800e1cc: af00 add r7, sp, #0 - 800e1ce: 6078 str r0, [r7, #4] - 800e1d0: 6039 str r1, [r7, #0] + 800ebc4: b480 push {r7} + 800ebc6: b087 sub sp, #28 + 800ebc8: af00 add r7, sp, #0 + 800ebca: 6078 str r0, [r7, #4] + 800ebcc: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 800e1d2: 687b ldr r3, [r7, #4] - 800e1d4: 6a1b ldr r3, [r3, #32] - 800e1d6: 617b str r3, [r7, #20] + 800ebce: 687b ldr r3, [r7, #4] + 800ebd0: 6a1b ldr r3, [r3, #32] + 800ebd2: 617b str r3, [r7, #20] /* Disable the Channel 1: Reset the CC1E Bit */ TIMx->CCER &= ~TIM_CCER_CC1E; - 800e1d8: 687b ldr r3, [r7, #4] - 800e1da: 6a1b ldr r3, [r3, #32] - 800e1dc: f023 0201 bic.w r2, r3, #1 - 800e1e0: 687b ldr r3, [r7, #4] - 800e1e2: 621a str r2, [r3, #32] + 800ebd4: 687b ldr r3, [r7, #4] + 800ebd6: 6a1b ldr r3, [r3, #32] + 800ebd8: f023 0201 bic.w r2, r3, #1 + 800ebdc: 687b ldr r3, [r7, #4] + 800ebde: 621a str r2, [r3, #32] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 800e1e4: 687b ldr r3, [r7, #4] - 800e1e6: 685b ldr r3, [r3, #4] - 800e1e8: 613b str r3, [r7, #16] + 800ebe0: 687b ldr r3, [r7, #4] + 800ebe2: 685b ldr r3, [r3, #4] + 800ebe4: 613b str r3, [r7, #16] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR1; - 800e1ea: 687b ldr r3, [r7, #4] - 800e1ec: 699b ldr r3, [r3, #24] - 800e1ee: 60fb str r3, [r7, #12] + 800ebe6: 687b ldr r3, [r7, #4] + 800ebe8: 699b ldr r3, [r3, #24] + 800ebea: 60fb str r3, [r7, #12] /* Reset the Output Compare Mode Bits */ tmpccmrx &= ~TIM_CCMR1_OC1M; - 800e1f0: 68fb ldr r3, [r7, #12] - 800e1f2: f423 3380 bic.w r3, r3, #65536 @ 0x10000 - 800e1f6: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800e1fa: 60fb str r3, [r7, #12] + 800ebec: 68fb ldr r3, [r7, #12] + 800ebee: f423 3380 bic.w r3, r3, #65536 @ 0x10000 + 800ebf2: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800ebf6: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR1_CC1S; - 800e1fc: 68fb ldr r3, [r7, #12] - 800e1fe: f023 0303 bic.w r3, r3, #3 - 800e202: 60fb str r3, [r7, #12] + 800ebf8: 68fb ldr r3, [r7, #12] + 800ebfa: f023 0303 bic.w r3, r3, #3 + 800ebfe: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= OC_Config->OCMode; - 800e204: 683b ldr r3, [r7, #0] - 800e206: 681b ldr r3, [r3, #0] - 800e208: 68fa ldr r2, [r7, #12] - 800e20a: 4313 orrs r3, r2 - 800e20c: 60fb str r3, [r7, #12] + 800ec00: 683b ldr r3, [r7, #0] + 800ec02: 681b ldr r3, [r3, #0] + 800ec04: 68fa ldr r2, [r7, #12] + 800ec06: 4313 orrs r3, r2 + 800ec08: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC1P; - 800e20e: 697b ldr r3, [r7, #20] - 800e210: f023 0302 bic.w r3, r3, #2 - 800e214: 617b str r3, [r7, #20] + 800ec0a: 697b ldr r3, [r7, #20] + 800ec0c: f023 0302 bic.w r3, r3, #2 + 800ec10: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= OC_Config->OCPolarity; - 800e216: 683b ldr r3, [r7, #0] - 800e218: 689b ldr r3, [r3, #8] - 800e21a: 697a ldr r2, [r7, #20] - 800e21c: 4313 orrs r3, r2 - 800e21e: 617b str r3, [r7, #20] + 800ec12: 683b ldr r3, [r7, #0] + 800ec14: 689b ldr r3, [r3, #8] + 800ec16: 697a ldr r2, [r7, #20] + 800ec18: 4313 orrs r3, r2 + 800ec1a: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_1)) - 800e220: 687b ldr r3, [r7, #4] - 800e222: 4a25 ldr r2, [pc, #148] @ (800e2b8 ) - 800e224: 4293 cmp r3, r2 - 800e226: d007 beq.n 800e238 - 800e228: 687b ldr r3, [r7, #4] - 800e22a: 4a24 ldr r2, [pc, #144] @ (800e2bc ) - 800e22c: 4293 cmp r3, r2 - 800e22e: d003 beq.n 800e238 - 800e230: 687b ldr r3, [r7, #4] - 800e232: 4a23 ldr r2, [pc, #140] @ (800e2c0 ) - 800e234: 4293 cmp r3, r2 - 800e236: d10e bne.n 800e256 + 800ec1c: 687b ldr r3, [r7, #4] + 800ec1e: 4a25 ldr r2, [pc, #148] @ (800ecb4 ) + 800ec20: 4293 cmp r3, r2 + 800ec22: d007 beq.n 800ec34 + 800ec24: 687b ldr r3, [r7, #4] + 800ec26: 4a24 ldr r2, [pc, #144] @ (800ecb8 ) + 800ec28: 4293 cmp r3, r2 + 800ec2a: d003 beq.n 800ec34 + 800ec2c: 687b ldr r3, [r7, #4] + 800ec2e: 4a23 ldr r2, [pc, #140] @ (800ecbc ) + 800ec30: 4293 cmp r3, r2 + 800ec32: d10e bne.n 800ec52 { /* Check parameters */ assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Disable the Channel 1N: Reset the CC1NE Bit */ TIMx->CCER &= ~TIM_CCER_CC1NE; - 800e238: 687b ldr r3, [r7, #4] - 800e23a: 6a1b ldr r3, [r3, #32] - 800e23c: f023 0204 bic.w r2, r3, #4 - 800e240: 687b ldr r3, [r7, #4] - 800e242: 621a str r2, [r3, #32] + 800ec34: 687b ldr r3, [r7, #4] + 800ec36: 6a1b ldr r3, [r3, #32] + 800ec38: f023 0204 bic.w r2, r3, #4 + 800ec3c: 687b ldr r3, [r7, #4] + 800ec3e: 621a str r2, [r3, #32] /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC1NP; - 800e244: 697b ldr r3, [r7, #20] - 800e246: f023 0308 bic.w r3, r3, #8 - 800e24a: 617b str r3, [r7, #20] + 800ec40: 697b ldr r3, [r7, #20] + 800ec42: f023 0308 bic.w r3, r3, #8 + 800ec46: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= OC_Config->OCNPolarity; - 800e24c: 683b ldr r3, [r7, #0] - 800e24e: 68db ldr r3, [r3, #12] - 800e250: 697a ldr r2, [r7, #20] - 800e252: 4313 orrs r3, r2 - 800e254: 617b str r3, [r7, #20] + 800ec48: 683b ldr r3, [r7, #0] + 800ec4a: 68db ldr r3, [r3, #12] + 800ec4c: 697a ldr r2, [r7, #20] + 800ec4e: 4313 orrs r3, r2 + 800ec50: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800e256: 687b ldr r3, [r7, #4] - 800e258: 4a17 ldr r2, [pc, #92] @ (800e2b8 ) - 800e25a: 4293 cmp r3, r2 - 800e25c: d007 beq.n 800e26e - 800e25e: 687b ldr r3, [r7, #4] - 800e260: 4a17 ldr r2, [pc, #92] @ (800e2c0 ) - 800e262: 4293 cmp r3, r2 - 800e264: d003 beq.n 800e26e - 800e266: 687b ldr r3, [r7, #4] - 800e268: 4a14 ldr r2, [pc, #80] @ (800e2bc ) - 800e26a: 4293 cmp r3, r2 - 800e26c: d111 bne.n 800e292 + 800ec52: 687b ldr r3, [r7, #4] + 800ec54: 4a17 ldr r2, [pc, #92] @ (800ecb4 ) + 800ec56: 4293 cmp r3, r2 + 800ec58: d007 beq.n 800ec6a + 800ec5a: 687b ldr r3, [r7, #4] + 800ec5c: 4a17 ldr r2, [pc, #92] @ (800ecbc ) + 800ec5e: 4293 cmp r3, r2 + 800ec60: d003 beq.n 800ec6a + 800ec62: 687b ldr r3, [r7, #4] + 800ec64: 4a14 ldr r2, [pc, #80] @ (800ecb8 ) + 800ec66: 4293 cmp r3, r2 + 800ec68: d111 bne.n 800ec8e /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS1; - 800e26e: 693b ldr r3, [r7, #16] - 800e270: f423 7380 bic.w r3, r3, #256 @ 0x100 - 800e274: 613b str r3, [r7, #16] + 800ec6a: 693b ldr r3, [r7, #16] + 800ec6c: f423 7380 bic.w r3, r3, #256 @ 0x100 + 800ec70: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS1N; - 800e276: 693b ldr r3, [r7, #16] - 800e278: f423 7300 bic.w r3, r3, #512 @ 0x200 - 800e27c: 613b str r3, [r7, #16] + 800ec72: 693b ldr r3, [r7, #16] + 800ec74: f423 7300 bic.w r3, r3, #512 @ 0x200 + 800ec78: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= OC_Config->OCIdleState; - 800e27e: 683b ldr r3, [r7, #0] - 800e280: 695b ldr r3, [r3, #20] - 800e282: 693a ldr r2, [r7, #16] - 800e284: 4313 orrs r3, r2 - 800e286: 613b str r3, [r7, #16] + 800ec7a: 683b ldr r3, [r7, #0] + 800ec7c: 695b ldr r3, [r3, #20] + 800ec7e: 693a ldr r2, [r7, #16] + 800ec80: 4313 orrs r3, r2 + 800ec82: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= OC_Config->OCNIdleState; - 800e288: 683b ldr r3, [r7, #0] - 800e28a: 699b ldr r3, [r3, #24] - 800e28c: 693a ldr r2, [r7, #16] - 800e28e: 4313 orrs r3, r2 - 800e290: 613b str r3, [r7, #16] + 800ec84: 683b ldr r3, [r7, #0] + 800ec86: 699b ldr r3, [r3, #24] + 800ec88: 693a ldr r2, [r7, #16] + 800ec8a: 4313 orrs r3, r2 + 800ec8c: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 800e292: 687b ldr r3, [r7, #4] - 800e294: 693a ldr r2, [r7, #16] - 800e296: 605a str r2, [r3, #4] + 800ec8e: 687b ldr r3, [r7, #4] + 800ec90: 693a ldr r2, [r7, #16] + 800ec92: 605a str r2, [r3, #4] /* Write to TIMx CCMR1 */ TIMx->CCMR1 = tmpccmrx; - 800e298: 687b ldr r3, [r7, #4] - 800e29a: 68fa ldr r2, [r7, #12] - 800e29c: 619a str r2, [r3, #24] + 800ec94: 687b ldr r3, [r7, #4] + 800ec96: 68fa ldr r2, [r7, #12] + 800ec98: 619a str r2, [r3, #24] /* Set the Capture Compare Register value */ TIMx->CCR1 = OC_Config->Pulse; - 800e29e: 683b ldr r3, [r7, #0] - 800e2a0: 685a ldr r2, [r3, #4] - 800e2a2: 687b ldr r3, [r7, #4] - 800e2a4: 635a str r2, [r3, #52] @ 0x34 + 800ec9a: 683b ldr r3, [r7, #0] + 800ec9c: 685a ldr r2, [r3, #4] + 800ec9e: 687b ldr r3, [r7, #4] + 800eca0: 635a str r2, [r3, #52] @ 0x34 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 800e2a6: 687b ldr r3, [r7, #4] - 800e2a8: 697a ldr r2, [r7, #20] - 800e2aa: 621a str r2, [r3, #32] + 800eca2: 687b ldr r3, [r7, #4] + 800eca4: 697a ldr r2, [r7, #20] + 800eca6: 621a str r2, [r3, #32] } - 800e2ac: bf00 nop - 800e2ae: 371c adds r7, #28 - 800e2b0: 46bd mov sp, r7 - 800e2b2: f85d 7b04 ldr.w r7, [sp], #4 - 800e2b6: 4770 bx lr - 800e2b8: 40012c00 .word 0x40012c00 - 800e2bc: 40014800 .word 0x40014800 - 800e2c0: 40014400 .word 0x40014400 + 800eca8: bf00 nop + 800ecaa: 371c adds r7, #28 + 800ecac: 46bd mov sp, r7 + 800ecae: f85d 7b04 ldr.w r7, [sp], #4 + 800ecb2: 4770 bx lr + 800ecb4: 40012c00 .word 0x40012c00 + 800ecb8: 40014800 .word 0x40014800 + 800ecbc: 40014400 .word 0x40014400 -0800e2c4 : +0800ecc0 : * @param TIMx to select the TIM peripheral * @param OC_Config The output configuration structure * @retval None */ void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config) { - 800e2c4: b480 push {r7} - 800e2c6: b087 sub sp, #28 - 800e2c8: af00 add r7, sp, #0 - 800e2ca: 6078 str r0, [r7, #4] - 800e2cc: 6039 str r1, [r7, #0] + 800ecc0: b480 push {r7} + 800ecc2: b087 sub sp, #28 + 800ecc4: af00 add r7, sp, #0 + 800ecc6: 6078 str r0, [r7, #4] + 800ecc8: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 800e2ce: 687b ldr r3, [r7, #4] - 800e2d0: 6a1b ldr r3, [r3, #32] - 800e2d2: 617b str r3, [r7, #20] + 800ecca: 687b ldr r3, [r7, #4] + 800eccc: 6a1b ldr r3, [r3, #32] + 800ecce: 617b str r3, [r7, #20] /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; - 800e2d4: 687b ldr r3, [r7, #4] - 800e2d6: 6a1b ldr r3, [r3, #32] - 800e2d8: f023 0210 bic.w r2, r3, #16 - 800e2dc: 687b ldr r3, [r7, #4] - 800e2de: 621a str r2, [r3, #32] + 800ecd0: 687b ldr r3, [r7, #4] + 800ecd2: 6a1b ldr r3, [r3, #32] + 800ecd4: f023 0210 bic.w r2, r3, #16 + 800ecd8: 687b ldr r3, [r7, #4] + 800ecda: 621a str r2, [r3, #32] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 800e2e0: 687b ldr r3, [r7, #4] - 800e2e2: 685b ldr r3, [r3, #4] - 800e2e4: 613b str r3, [r7, #16] + 800ecdc: 687b ldr r3, [r7, #4] + 800ecde: 685b ldr r3, [r3, #4] + 800ece0: 613b str r3, [r7, #16] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR1; - 800e2e6: 687b ldr r3, [r7, #4] - 800e2e8: 699b ldr r3, [r3, #24] - 800e2ea: 60fb str r3, [r7, #12] + 800ece2: 687b ldr r3, [r7, #4] + 800ece4: 699b ldr r3, [r3, #24] + 800ece6: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR1_OC2M; - 800e2ec: 68fb ldr r3, [r7, #12] - 800e2ee: f023 7380 bic.w r3, r3, #16777216 @ 0x1000000 - 800e2f2: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800e2f6: 60fb str r3, [r7, #12] + 800ece8: 68fb ldr r3, [r7, #12] + 800ecea: f023 7380 bic.w r3, r3, #16777216 @ 0x1000000 + 800ecee: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800ecf2: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR1_CC2S; - 800e2f8: 68fb ldr r3, [r7, #12] - 800e2fa: f423 7340 bic.w r3, r3, #768 @ 0x300 - 800e2fe: 60fb str r3, [r7, #12] + 800ecf4: 68fb ldr r3, [r7, #12] + 800ecf6: f423 7340 bic.w r3, r3, #768 @ 0x300 + 800ecfa: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= (OC_Config->OCMode << 8U); - 800e300: 683b ldr r3, [r7, #0] - 800e302: 681b ldr r3, [r3, #0] - 800e304: 021b lsls r3, r3, #8 - 800e306: 68fa ldr r2, [r7, #12] - 800e308: 4313 orrs r3, r2 - 800e30a: 60fb str r3, [r7, #12] + 800ecfc: 683b ldr r3, [r7, #0] + 800ecfe: 681b ldr r3, [r3, #0] + 800ed00: 021b lsls r3, r3, #8 + 800ed02: 68fa ldr r2, [r7, #12] + 800ed04: 4313 orrs r3, r2 + 800ed06: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC2P; - 800e30c: 697b ldr r3, [r7, #20] - 800e30e: f023 0320 bic.w r3, r3, #32 - 800e312: 617b str r3, [r7, #20] + 800ed08: 697b ldr r3, [r7, #20] + 800ed0a: f023 0320 bic.w r3, r3, #32 + 800ed0e: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 4U); - 800e314: 683b ldr r3, [r7, #0] - 800e316: 689b ldr r3, [r3, #8] - 800e318: 011b lsls r3, r3, #4 - 800e31a: 697a ldr r2, [r7, #20] - 800e31c: 4313 orrs r3, r2 - 800e31e: 617b str r3, [r7, #20] + 800ed10: 683b ldr r3, [r7, #0] + 800ed12: 689b ldr r3, [r3, #8] + 800ed14: 011b lsls r3, r3, #4 + 800ed16: 697a ldr r2, [r7, #20] + 800ed18: 4313 orrs r3, r2 + 800ed1a: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_2)) - 800e320: 687b ldr r3, [r7, #4] - 800e322: 4a23 ldr r2, [pc, #140] @ (800e3b0 ) - 800e324: 4293 cmp r3, r2 - 800e326: d10f bne.n 800e348 + 800ed1c: 687b ldr r3, [r7, #4] + 800ed1e: 4a23 ldr r2, [pc, #140] @ (800edac ) + 800ed20: 4293 cmp r3, r2 + 800ed22: d10f bne.n 800ed44 { assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Disable the Channel 2N: Reset the CC2NE Bit */ TIMx->CCER &= ~TIM_CCER_CC2NE; - 800e328: 687b ldr r3, [r7, #4] - 800e32a: 6a1b ldr r3, [r3, #32] - 800e32c: f023 0240 bic.w r2, r3, #64 @ 0x40 - 800e330: 687b ldr r3, [r7, #4] - 800e332: 621a str r2, [r3, #32] + 800ed24: 687b ldr r3, [r7, #4] + 800ed26: 6a1b ldr r3, [r3, #32] + 800ed28: f023 0240 bic.w r2, r3, #64 @ 0x40 + 800ed2c: 687b ldr r3, [r7, #4] + 800ed2e: 621a str r2, [r3, #32] /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC2NP; - 800e334: 697b ldr r3, [r7, #20] - 800e336: f023 0380 bic.w r3, r3, #128 @ 0x80 - 800e33a: 617b str r3, [r7, #20] + 800ed30: 697b ldr r3, [r7, #20] + 800ed32: f023 0380 bic.w r3, r3, #128 @ 0x80 + 800ed36: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= (OC_Config->OCNPolarity << 4U); - 800e33c: 683b ldr r3, [r7, #0] - 800e33e: 68db ldr r3, [r3, #12] - 800e340: 011b lsls r3, r3, #4 - 800e342: 697a ldr r2, [r7, #20] - 800e344: 4313 orrs r3, r2 - 800e346: 617b str r3, [r7, #20] + 800ed38: 683b ldr r3, [r7, #0] + 800ed3a: 68db ldr r3, [r3, #12] + 800ed3c: 011b lsls r3, r3, #4 + 800ed3e: 697a ldr r2, [r7, #20] + 800ed40: 4313 orrs r3, r2 + 800ed42: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800e348: 687b ldr r3, [r7, #4] - 800e34a: 4a19 ldr r2, [pc, #100] @ (800e3b0 ) - 800e34c: 4293 cmp r3, r2 - 800e34e: d007 beq.n 800e360 - 800e350: 687b ldr r3, [r7, #4] - 800e352: 4a18 ldr r2, [pc, #96] @ (800e3b4 ) - 800e354: 4293 cmp r3, r2 - 800e356: d003 beq.n 800e360 - 800e358: 687b ldr r3, [r7, #4] - 800e35a: 4a17 ldr r2, [pc, #92] @ (800e3b8 ) - 800e35c: 4293 cmp r3, r2 - 800e35e: d113 bne.n 800e388 + 800ed44: 687b ldr r3, [r7, #4] + 800ed46: 4a19 ldr r2, [pc, #100] @ (800edac ) + 800ed48: 4293 cmp r3, r2 + 800ed4a: d007 beq.n 800ed5c + 800ed4c: 687b ldr r3, [r7, #4] + 800ed4e: 4a18 ldr r2, [pc, #96] @ (800edb0 ) + 800ed50: 4293 cmp r3, r2 + 800ed52: d003 beq.n 800ed5c + 800ed54: 687b ldr r3, [r7, #4] + 800ed56: 4a17 ldr r2, [pc, #92] @ (800edb4 ) + 800ed58: 4293 cmp r3, r2 + 800ed5a: d113 bne.n 800ed84 /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS2; - 800e360: 693b ldr r3, [r7, #16] - 800e362: f423 6380 bic.w r3, r3, #1024 @ 0x400 - 800e366: 613b str r3, [r7, #16] + 800ed5c: 693b ldr r3, [r7, #16] + 800ed5e: f423 6380 bic.w r3, r3, #1024 @ 0x400 + 800ed62: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS2N; - 800e368: 693b ldr r3, [r7, #16] - 800e36a: f423 6300 bic.w r3, r3, #2048 @ 0x800 - 800e36e: 613b str r3, [r7, #16] + 800ed64: 693b ldr r3, [r7, #16] + 800ed66: f423 6300 bic.w r3, r3, #2048 @ 0x800 + 800ed6a: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 2U); - 800e370: 683b ldr r3, [r7, #0] - 800e372: 695b ldr r3, [r3, #20] - 800e374: 009b lsls r3, r3, #2 - 800e376: 693a ldr r2, [r7, #16] - 800e378: 4313 orrs r3, r2 - 800e37a: 613b str r3, [r7, #16] + 800ed6c: 683b ldr r3, [r7, #0] + 800ed6e: 695b ldr r3, [r3, #20] + 800ed70: 009b lsls r3, r3, #2 + 800ed72: 693a ldr r2, [r7, #16] + 800ed74: 4313 orrs r3, r2 + 800ed76: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= (OC_Config->OCNIdleState << 2U); - 800e37c: 683b ldr r3, [r7, #0] - 800e37e: 699b ldr r3, [r3, #24] - 800e380: 009b lsls r3, r3, #2 - 800e382: 693a ldr r2, [r7, #16] - 800e384: 4313 orrs r3, r2 - 800e386: 613b str r3, [r7, #16] + 800ed78: 683b ldr r3, [r7, #0] + 800ed7a: 699b ldr r3, [r3, #24] + 800ed7c: 009b lsls r3, r3, #2 + 800ed7e: 693a ldr r2, [r7, #16] + 800ed80: 4313 orrs r3, r2 + 800ed82: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 800e388: 687b ldr r3, [r7, #4] - 800e38a: 693a ldr r2, [r7, #16] - 800e38c: 605a str r2, [r3, #4] + 800ed84: 687b ldr r3, [r7, #4] + 800ed86: 693a ldr r2, [r7, #16] + 800ed88: 605a str r2, [r3, #4] /* Write to TIMx CCMR1 */ TIMx->CCMR1 = tmpccmrx; - 800e38e: 687b ldr r3, [r7, #4] - 800e390: 68fa ldr r2, [r7, #12] - 800e392: 619a str r2, [r3, #24] + 800ed8a: 687b ldr r3, [r7, #4] + 800ed8c: 68fa ldr r2, [r7, #12] + 800ed8e: 619a str r2, [r3, #24] /* Set the Capture Compare Register value */ TIMx->CCR2 = OC_Config->Pulse; - 800e394: 683b ldr r3, [r7, #0] - 800e396: 685a ldr r2, [r3, #4] - 800e398: 687b ldr r3, [r7, #4] - 800e39a: 639a str r2, [r3, #56] @ 0x38 + 800ed90: 683b ldr r3, [r7, #0] + 800ed92: 685a ldr r2, [r3, #4] + 800ed94: 687b ldr r3, [r7, #4] + 800ed96: 639a str r2, [r3, #56] @ 0x38 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 800e39c: 687b ldr r3, [r7, #4] - 800e39e: 697a ldr r2, [r7, #20] - 800e3a0: 621a str r2, [r3, #32] + 800ed98: 687b ldr r3, [r7, #4] + 800ed9a: 697a ldr r2, [r7, #20] + 800ed9c: 621a str r2, [r3, #32] } - 800e3a2: bf00 nop - 800e3a4: 371c adds r7, #28 - 800e3a6: 46bd mov sp, r7 - 800e3a8: f85d 7b04 ldr.w r7, [sp], #4 - 800e3ac: 4770 bx lr - 800e3ae: bf00 nop - 800e3b0: 40012c00 .word 0x40012c00 - 800e3b4: 40014400 .word 0x40014400 - 800e3b8: 40014800 .word 0x40014800 + 800ed9e: bf00 nop + 800eda0: 371c adds r7, #28 + 800eda2: 46bd mov sp, r7 + 800eda4: f85d 7b04 ldr.w r7, [sp], #4 + 800eda8: 4770 bx lr + 800edaa: bf00 nop + 800edac: 40012c00 .word 0x40012c00 + 800edb0: 40014400 .word 0x40014400 + 800edb4: 40014800 .word 0x40014800 -0800e3bc : +0800edb8 : * @param TIMx to select the TIM peripheral * @param OC_Config The output configuration structure * @retval None */ static void TIM_OC3_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config) { - 800e3bc: b480 push {r7} - 800e3be: b087 sub sp, #28 - 800e3c0: af00 add r7, sp, #0 - 800e3c2: 6078 str r0, [r7, #4] - 800e3c4: 6039 str r1, [r7, #0] + 800edb8: b480 push {r7} + 800edba: b087 sub sp, #28 + 800edbc: af00 add r7, sp, #0 + 800edbe: 6078 str r0, [r7, #4] + 800edc0: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 800e3c6: 687b ldr r3, [r7, #4] - 800e3c8: 6a1b ldr r3, [r3, #32] - 800e3ca: 617b str r3, [r7, #20] + 800edc2: 687b ldr r3, [r7, #4] + 800edc4: 6a1b ldr r3, [r3, #32] + 800edc6: 617b str r3, [r7, #20] /* Disable the Channel 3: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC3E; - 800e3cc: 687b ldr r3, [r7, #4] - 800e3ce: 6a1b ldr r3, [r3, #32] - 800e3d0: f423 7280 bic.w r2, r3, #256 @ 0x100 - 800e3d4: 687b ldr r3, [r7, #4] - 800e3d6: 621a str r2, [r3, #32] + 800edc8: 687b ldr r3, [r7, #4] + 800edca: 6a1b ldr r3, [r3, #32] + 800edcc: f423 7280 bic.w r2, r3, #256 @ 0x100 + 800edd0: 687b ldr r3, [r7, #4] + 800edd2: 621a str r2, [r3, #32] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 800e3d8: 687b ldr r3, [r7, #4] - 800e3da: 685b ldr r3, [r3, #4] - 800e3dc: 613b str r3, [r7, #16] + 800edd4: 687b ldr r3, [r7, #4] + 800edd6: 685b ldr r3, [r3, #4] + 800edd8: 613b str r3, [r7, #16] /* Get the TIMx CCMR2 register value */ tmpccmrx = TIMx->CCMR2; - 800e3de: 687b ldr r3, [r7, #4] - 800e3e0: 69db ldr r3, [r3, #28] - 800e3e2: 60fb str r3, [r7, #12] + 800edda: 687b ldr r3, [r7, #4] + 800eddc: 69db ldr r3, [r3, #28] + 800edde: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR2_OC3M; - 800e3e4: 68fb ldr r3, [r7, #12] - 800e3e6: f423 3380 bic.w r3, r3, #65536 @ 0x10000 - 800e3ea: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800e3ee: 60fb str r3, [r7, #12] + 800ede0: 68fb ldr r3, [r7, #12] + 800ede2: f423 3380 bic.w r3, r3, #65536 @ 0x10000 + 800ede6: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800edea: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR2_CC3S; - 800e3f0: 68fb ldr r3, [r7, #12] - 800e3f2: f023 0303 bic.w r3, r3, #3 - 800e3f6: 60fb str r3, [r7, #12] + 800edec: 68fb ldr r3, [r7, #12] + 800edee: f023 0303 bic.w r3, r3, #3 + 800edf2: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= OC_Config->OCMode; - 800e3f8: 683b ldr r3, [r7, #0] - 800e3fa: 681b ldr r3, [r3, #0] - 800e3fc: 68fa ldr r2, [r7, #12] - 800e3fe: 4313 orrs r3, r2 - 800e400: 60fb str r3, [r7, #12] + 800edf4: 683b ldr r3, [r7, #0] + 800edf6: 681b ldr r3, [r3, #0] + 800edf8: 68fa ldr r2, [r7, #12] + 800edfa: 4313 orrs r3, r2 + 800edfc: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC3P; - 800e402: 697b ldr r3, [r7, #20] - 800e404: f423 7300 bic.w r3, r3, #512 @ 0x200 - 800e408: 617b str r3, [r7, #20] + 800edfe: 697b ldr r3, [r7, #20] + 800ee00: f423 7300 bic.w r3, r3, #512 @ 0x200 + 800ee04: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 8U); - 800e40a: 683b ldr r3, [r7, #0] - 800e40c: 689b ldr r3, [r3, #8] - 800e40e: 021b lsls r3, r3, #8 - 800e410: 697a ldr r2, [r7, #20] - 800e412: 4313 orrs r3, r2 - 800e414: 617b str r3, [r7, #20] + 800ee06: 683b ldr r3, [r7, #0] + 800ee08: 689b ldr r3, [r3, #8] + 800ee0a: 021b lsls r3, r3, #8 + 800ee0c: 697a ldr r2, [r7, #20] + 800ee0e: 4313 orrs r3, r2 + 800ee10: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_3)) - 800e416: 687b ldr r3, [r7, #4] - 800e418: 4a22 ldr r2, [pc, #136] @ (800e4a4 ) - 800e41a: 4293 cmp r3, r2 - 800e41c: d10f bne.n 800e43e + 800ee12: 687b ldr r3, [r7, #4] + 800ee14: 4a22 ldr r2, [pc, #136] @ (800eea0 ) + 800ee16: 4293 cmp r3, r2 + 800ee18: d10f bne.n 800ee3a { assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Disable the Channel 3N: Reset the CC3NE Bit */ TIMx->CCER &= ~TIM_CCER_CC3NE; - 800e41e: 687b ldr r3, [r7, #4] - 800e420: 6a1b ldr r3, [r3, #32] - 800e422: f423 6280 bic.w r2, r3, #1024 @ 0x400 - 800e426: 687b ldr r3, [r7, #4] - 800e428: 621a str r2, [r3, #32] + 800ee1a: 687b ldr r3, [r7, #4] + 800ee1c: 6a1b ldr r3, [r3, #32] + 800ee1e: f423 6280 bic.w r2, r3, #1024 @ 0x400 + 800ee22: 687b ldr r3, [r7, #4] + 800ee24: 621a str r2, [r3, #32] /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC3NP; - 800e42a: 697b ldr r3, [r7, #20] - 800e42c: f423 6300 bic.w r3, r3, #2048 @ 0x800 - 800e430: 617b str r3, [r7, #20] + 800ee26: 697b ldr r3, [r7, #20] + 800ee28: f423 6300 bic.w r3, r3, #2048 @ 0x800 + 800ee2c: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= (OC_Config->OCNPolarity << 8U); - 800e432: 683b ldr r3, [r7, #0] - 800e434: 68db ldr r3, [r3, #12] - 800e436: 021b lsls r3, r3, #8 - 800e438: 697a ldr r2, [r7, #20] - 800e43a: 4313 orrs r3, r2 - 800e43c: 617b str r3, [r7, #20] + 800ee2e: 683b ldr r3, [r7, #0] + 800ee30: 68db ldr r3, [r3, #12] + 800ee32: 021b lsls r3, r3, #8 + 800ee34: 697a ldr r2, [r7, #20] + 800ee36: 4313 orrs r3, r2 + 800ee38: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800e43e: 687b ldr r3, [r7, #4] - 800e440: 4a18 ldr r2, [pc, #96] @ (800e4a4 ) - 800e442: 4293 cmp r3, r2 - 800e444: d007 beq.n 800e456 - 800e446: 687b ldr r3, [r7, #4] - 800e448: 4a17 ldr r2, [pc, #92] @ (800e4a8 ) - 800e44a: 4293 cmp r3, r2 - 800e44c: d003 beq.n 800e456 - 800e44e: 687b ldr r3, [r7, #4] - 800e450: 4a16 ldr r2, [pc, #88] @ (800e4ac ) - 800e452: 4293 cmp r3, r2 - 800e454: d113 bne.n 800e47e + 800ee3a: 687b ldr r3, [r7, #4] + 800ee3c: 4a18 ldr r2, [pc, #96] @ (800eea0 ) + 800ee3e: 4293 cmp r3, r2 + 800ee40: d007 beq.n 800ee52 + 800ee42: 687b ldr r3, [r7, #4] + 800ee44: 4a17 ldr r2, [pc, #92] @ (800eea4 ) + 800ee46: 4293 cmp r3, r2 + 800ee48: d003 beq.n 800ee52 + 800ee4a: 687b ldr r3, [r7, #4] + 800ee4c: 4a16 ldr r2, [pc, #88] @ (800eea8 ) + 800ee4e: 4293 cmp r3, r2 + 800ee50: d113 bne.n 800ee7a /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS3; - 800e456: 693b ldr r3, [r7, #16] - 800e458: f423 5380 bic.w r3, r3, #4096 @ 0x1000 - 800e45c: 613b str r3, [r7, #16] + 800ee52: 693b ldr r3, [r7, #16] + 800ee54: f423 5380 bic.w r3, r3, #4096 @ 0x1000 + 800ee58: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS3N; - 800e45e: 693b ldr r3, [r7, #16] - 800e460: f423 5300 bic.w r3, r3, #8192 @ 0x2000 - 800e464: 613b str r3, [r7, #16] + 800ee5a: 693b ldr r3, [r7, #16] + 800ee5c: f423 5300 bic.w r3, r3, #8192 @ 0x2000 + 800ee60: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 4U); - 800e466: 683b ldr r3, [r7, #0] - 800e468: 695b ldr r3, [r3, #20] - 800e46a: 011b lsls r3, r3, #4 - 800e46c: 693a ldr r2, [r7, #16] - 800e46e: 4313 orrs r3, r2 - 800e470: 613b str r3, [r7, #16] + 800ee62: 683b ldr r3, [r7, #0] + 800ee64: 695b ldr r3, [r3, #20] + 800ee66: 011b lsls r3, r3, #4 + 800ee68: 693a ldr r2, [r7, #16] + 800ee6a: 4313 orrs r3, r2 + 800ee6c: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= (OC_Config->OCNIdleState << 4U); - 800e472: 683b ldr r3, [r7, #0] - 800e474: 699b ldr r3, [r3, #24] - 800e476: 011b lsls r3, r3, #4 - 800e478: 693a ldr r2, [r7, #16] - 800e47a: 4313 orrs r3, r2 - 800e47c: 613b str r3, [r7, #16] + 800ee6e: 683b ldr r3, [r7, #0] + 800ee70: 699b ldr r3, [r3, #24] + 800ee72: 011b lsls r3, r3, #4 + 800ee74: 693a ldr r2, [r7, #16] + 800ee76: 4313 orrs r3, r2 + 800ee78: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 800e47e: 687b ldr r3, [r7, #4] - 800e480: 693a ldr r2, [r7, #16] - 800e482: 605a str r2, [r3, #4] + 800ee7a: 687b ldr r3, [r7, #4] + 800ee7c: 693a ldr r2, [r7, #16] + 800ee7e: 605a str r2, [r3, #4] /* Write to TIMx CCMR2 */ TIMx->CCMR2 = tmpccmrx; - 800e484: 687b ldr r3, [r7, #4] - 800e486: 68fa ldr r2, [r7, #12] - 800e488: 61da str r2, [r3, #28] + 800ee80: 687b ldr r3, [r7, #4] + 800ee82: 68fa ldr r2, [r7, #12] + 800ee84: 61da str r2, [r3, #28] /* Set the Capture Compare Register value */ TIMx->CCR3 = OC_Config->Pulse; - 800e48a: 683b ldr r3, [r7, #0] - 800e48c: 685a ldr r2, [r3, #4] - 800e48e: 687b ldr r3, [r7, #4] - 800e490: 63da str r2, [r3, #60] @ 0x3c + 800ee86: 683b ldr r3, [r7, #0] + 800ee88: 685a ldr r2, [r3, #4] + 800ee8a: 687b ldr r3, [r7, #4] + 800ee8c: 63da str r2, [r3, #60] @ 0x3c /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 800e492: 687b ldr r3, [r7, #4] - 800e494: 697a ldr r2, [r7, #20] - 800e496: 621a str r2, [r3, #32] + 800ee8e: 687b ldr r3, [r7, #4] + 800ee90: 697a ldr r2, [r7, #20] + 800ee92: 621a str r2, [r3, #32] } - 800e498: bf00 nop - 800e49a: 371c adds r7, #28 - 800e49c: 46bd mov sp, r7 - 800e49e: f85d 7b04 ldr.w r7, [sp], #4 - 800e4a2: 4770 bx lr - 800e4a4: 40012c00 .word 0x40012c00 - 800e4a8: 40014400 .word 0x40014400 - 800e4ac: 40014800 .word 0x40014800 + 800ee94: bf00 nop + 800ee96: 371c adds r7, #28 + 800ee98: 46bd mov sp, r7 + 800ee9a: f85d 7b04 ldr.w r7, [sp], #4 + 800ee9e: 4770 bx lr + 800eea0: 40012c00 .word 0x40012c00 + 800eea4: 40014400 .word 0x40014400 + 800eea8: 40014800 .word 0x40014800 -0800e4b0 : +0800eeac : * @param TIMx to select the TIM peripheral * @param OC_Config The output configuration structure * @retval None */ static void TIM_OC4_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config) { - 800e4b0: b480 push {r7} - 800e4b2: b087 sub sp, #28 - 800e4b4: af00 add r7, sp, #0 - 800e4b6: 6078 str r0, [r7, #4] - 800e4b8: 6039 str r1, [r7, #0] + 800eeac: b480 push {r7} + 800eeae: b087 sub sp, #28 + 800eeb0: af00 add r7, sp, #0 + 800eeb2: 6078 str r0, [r7, #4] + 800eeb4: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 800e4ba: 687b ldr r3, [r7, #4] - 800e4bc: 6a1b ldr r3, [r3, #32] - 800e4be: 613b str r3, [r7, #16] + 800eeb6: 687b ldr r3, [r7, #4] + 800eeb8: 6a1b ldr r3, [r3, #32] + 800eeba: 613b str r3, [r7, #16] /* Disable the Channel 4: Reset the CC4E Bit */ TIMx->CCER &= ~TIM_CCER_CC4E; - 800e4c0: 687b ldr r3, [r7, #4] - 800e4c2: 6a1b ldr r3, [r3, #32] - 800e4c4: f423 5280 bic.w r2, r3, #4096 @ 0x1000 - 800e4c8: 687b ldr r3, [r7, #4] - 800e4ca: 621a str r2, [r3, #32] + 800eebc: 687b ldr r3, [r7, #4] + 800eebe: 6a1b ldr r3, [r3, #32] + 800eec0: f423 5280 bic.w r2, r3, #4096 @ 0x1000 + 800eec4: 687b ldr r3, [r7, #4] + 800eec6: 621a str r2, [r3, #32] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 800e4cc: 687b ldr r3, [r7, #4] - 800e4ce: 685b ldr r3, [r3, #4] - 800e4d0: 617b str r3, [r7, #20] + 800eec8: 687b ldr r3, [r7, #4] + 800eeca: 685b ldr r3, [r3, #4] + 800eecc: 617b str r3, [r7, #20] /* Get the TIMx CCMR2 register value */ tmpccmrx = TIMx->CCMR2; - 800e4d2: 687b ldr r3, [r7, #4] - 800e4d4: 69db ldr r3, [r3, #28] - 800e4d6: 60fb str r3, [r7, #12] + 800eece: 687b ldr r3, [r7, #4] + 800eed0: 69db ldr r3, [r3, #28] + 800eed2: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR2_OC4M; - 800e4d8: 68fb ldr r3, [r7, #12] - 800e4da: f023 7380 bic.w r3, r3, #16777216 @ 0x1000000 - 800e4de: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800e4e2: 60fb str r3, [r7, #12] + 800eed4: 68fb ldr r3, [r7, #12] + 800eed6: f023 7380 bic.w r3, r3, #16777216 @ 0x1000000 + 800eeda: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800eede: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR2_CC4S; - 800e4e4: 68fb ldr r3, [r7, #12] - 800e4e6: f423 7340 bic.w r3, r3, #768 @ 0x300 - 800e4ea: 60fb str r3, [r7, #12] + 800eee0: 68fb ldr r3, [r7, #12] + 800eee2: f423 7340 bic.w r3, r3, #768 @ 0x300 + 800eee6: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= (OC_Config->OCMode << 8U); - 800e4ec: 683b ldr r3, [r7, #0] - 800e4ee: 681b ldr r3, [r3, #0] - 800e4f0: 021b lsls r3, r3, #8 - 800e4f2: 68fa ldr r2, [r7, #12] - 800e4f4: 4313 orrs r3, r2 - 800e4f6: 60fb str r3, [r7, #12] + 800eee8: 683b ldr r3, [r7, #0] + 800eeea: 681b ldr r3, [r3, #0] + 800eeec: 021b lsls r3, r3, #8 + 800eeee: 68fa ldr r2, [r7, #12] + 800eef0: 4313 orrs r3, r2 + 800eef2: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC4P; - 800e4f8: 693b ldr r3, [r7, #16] - 800e4fa: f423 5300 bic.w r3, r3, #8192 @ 0x2000 - 800e4fe: 613b str r3, [r7, #16] + 800eef4: 693b ldr r3, [r7, #16] + 800eef6: f423 5300 bic.w r3, r3, #8192 @ 0x2000 + 800eefa: 613b str r3, [r7, #16] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 12U); - 800e500: 683b ldr r3, [r7, #0] - 800e502: 689b ldr r3, [r3, #8] - 800e504: 031b lsls r3, r3, #12 - 800e506: 693a ldr r2, [r7, #16] - 800e508: 4313 orrs r3, r2 - 800e50a: 613b str r3, [r7, #16] + 800eefc: 683b ldr r3, [r7, #0] + 800eefe: 689b ldr r3, [r3, #8] + 800ef00: 031b lsls r3, r3, #12 + 800ef02: 693a ldr r2, [r7, #16] + 800ef04: 4313 orrs r3, r2 + 800ef06: 613b str r3, [r7, #16] if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800e50c: 687b ldr r3, [r7, #4] - 800e50e: 4a14 ldr r2, [pc, #80] @ (800e560 ) - 800e510: 4293 cmp r3, r2 - 800e512: d007 beq.n 800e524 - 800e514: 687b ldr r3, [r7, #4] - 800e516: 4a13 ldr r2, [pc, #76] @ (800e564 ) - 800e518: 4293 cmp r3, r2 - 800e51a: d003 beq.n 800e524 - 800e51c: 687b ldr r3, [r7, #4] - 800e51e: 4a12 ldr r2, [pc, #72] @ (800e568 ) - 800e520: 4293 cmp r3, r2 - 800e522: d109 bne.n 800e538 + 800ef08: 687b ldr r3, [r7, #4] + 800ef0a: 4a14 ldr r2, [pc, #80] @ (800ef5c ) + 800ef0c: 4293 cmp r3, r2 + 800ef0e: d007 beq.n 800ef20 + 800ef10: 687b ldr r3, [r7, #4] + 800ef12: 4a13 ldr r2, [pc, #76] @ (800ef60 ) + 800ef14: 4293 cmp r3, r2 + 800ef16: d003 beq.n 800ef20 + 800ef18: 687b ldr r3, [r7, #4] + 800ef1a: 4a12 ldr r2, [pc, #72] @ (800ef64 ) + 800ef1c: 4293 cmp r3, r2 + 800ef1e: d109 bne.n 800ef34 { /* Check parameters */ assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare IDLE State */ tmpcr2 &= ~TIM_CR2_OIS4; - 800e524: 697b ldr r3, [r7, #20] - 800e526: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800e52a: 617b str r3, [r7, #20] + 800ef20: 697b ldr r3, [r7, #20] + 800ef22: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800ef26: 617b str r3, [r7, #20] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 6U); - 800e52c: 683b ldr r3, [r7, #0] - 800e52e: 695b ldr r3, [r3, #20] - 800e530: 019b lsls r3, r3, #6 - 800e532: 697a ldr r2, [r7, #20] - 800e534: 4313 orrs r3, r2 - 800e536: 617b str r3, [r7, #20] + 800ef28: 683b ldr r3, [r7, #0] + 800ef2a: 695b ldr r3, [r3, #20] + 800ef2c: 019b lsls r3, r3, #6 + 800ef2e: 697a ldr r2, [r7, #20] + 800ef30: 4313 orrs r3, r2 + 800ef32: 617b str r3, [r7, #20] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 800e538: 687b ldr r3, [r7, #4] - 800e53a: 697a ldr r2, [r7, #20] - 800e53c: 605a str r2, [r3, #4] + 800ef34: 687b ldr r3, [r7, #4] + 800ef36: 697a ldr r2, [r7, #20] + 800ef38: 605a str r2, [r3, #4] /* Write to TIMx CCMR2 */ TIMx->CCMR2 = tmpccmrx; - 800e53e: 687b ldr r3, [r7, #4] - 800e540: 68fa ldr r2, [r7, #12] - 800e542: 61da str r2, [r3, #28] + 800ef3a: 687b ldr r3, [r7, #4] + 800ef3c: 68fa ldr r2, [r7, #12] + 800ef3e: 61da str r2, [r3, #28] /* Set the Capture Compare Register value */ TIMx->CCR4 = OC_Config->Pulse; - 800e544: 683b ldr r3, [r7, #0] - 800e546: 685a ldr r2, [r3, #4] - 800e548: 687b ldr r3, [r7, #4] - 800e54a: 641a str r2, [r3, #64] @ 0x40 + 800ef40: 683b ldr r3, [r7, #0] + 800ef42: 685a ldr r2, [r3, #4] + 800ef44: 687b ldr r3, [r7, #4] + 800ef46: 641a str r2, [r3, #64] @ 0x40 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 800e54c: 687b ldr r3, [r7, #4] - 800e54e: 693a ldr r2, [r7, #16] - 800e550: 621a str r2, [r3, #32] + 800ef48: 687b ldr r3, [r7, #4] + 800ef4a: 693a ldr r2, [r7, #16] + 800ef4c: 621a str r2, [r3, #32] } - 800e552: bf00 nop - 800e554: 371c adds r7, #28 - 800e556: 46bd mov sp, r7 - 800e558: f85d 7b04 ldr.w r7, [sp], #4 - 800e55c: 4770 bx lr - 800e55e: bf00 nop - 800e560: 40012c00 .word 0x40012c00 - 800e564: 40014400 .word 0x40014400 - 800e568: 40014800 .word 0x40014800 + 800ef4e: bf00 nop + 800ef50: 371c adds r7, #28 + 800ef52: 46bd mov sp, r7 + 800ef54: f85d 7b04 ldr.w r7, [sp], #4 + 800ef58: 4770 bx lr + 800ef5a: bf00 nop + 800ef5c: 40012c00 .word 0x40012c00 + 800ef60: 40014400 .word 0x40014400 + 800ef64: 40014800 .word 0x40014800 -0800e56c : +0800ef68 : * @param OC_Config The output configuration structure * @retval None */ static void TIM_OC5_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config) { - 800e56c: b480 push {r7} - 800e56e: b087 sub sp, #28 - 800e570: af00 add r7, sp, #0 - 800e572: 6078 str r0, [r7, #4] - 800e574: 6039 str r1, [r7, #0] + 800ef68: b480 push {r7} + 800ef6a: b087 sub sp, #28 + 800ef6c: af00 add r7, sp, #0 + 800ef6e: 6078 str r0, [r7, #4] + 800ef70: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 800e576: 687b ldr r3, [r7, #4] - 800e578: 6a1b ldr r3, [r3, #32] - 800e57a: 613b str r3, [r7, #16] + 800ef72: 687b ldr r3, [r7, #4] + 800ef74: 6a1b ldr r3, [r3, #32] + 800ef76: 613b str r3, [r7, #16] /* Disable the output: Reset the CCxE Bit */ TIMx->CCER &= ~TIM_CCER_CC5E; - 800e57c: 687b ldr r3, [r7, #4] - 800e57e: 6a1b ldr r3, [r3, #32] - 800e580: f423 3280 bic.w r2, r3, #65536 @ 0x10000 - 800e584: 687b ldr r3, [r7, #4] - 800e586: 621a str r2, [r3, #32] + 800ef78: 687b ldr r3, [r7, #4] + 800ef7a: 6a1b ldr r3, [r3, #32] + 800ef7c: f423 3280 bic.w r2, r3, #65536 @ 0x10000 + 800ef80: 687b ldr r3, [r7, #4] + 800ef82: 621a str r2, [r3, #32] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 800e588: 687b ldr r3, [r7, #4] - 800e58a: 685b ldr r3, [r3, #4] - 800e58c: 617b str r3, [r7, #20] + 800ef84: 687b ldr r3, [r7, #4] + 800ef86: 685b ldr r3, [r3, #4] + 800ef88: 617b str r3, [r7, #20] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR3; - 800e58e: 687b ldr r3, [r7, #4] - 800e590: 6d5b ldr r3, [r3, #84] @ 0x54 - 800e592: 60fb str r3, [r7, #12] + 800ef8a: 687b ldr r3, [r7, #4] + 800ef8c: 6d5b ldr r3, [r3, #84] @ 0x54 + 800ef8e: 60fb str r3, [r7, #12] /* Reset the Output Compare Mode Bits */ tmpccmrx &= ~(TIM_CCMR3_OC5M); - 800e594: 68fb ldr r3, [r7, #12] - 800e596: f423 3380 bic.w r3, r3, #65536 @ 0x10000 - 800e59a: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800e59e: 60fb str r3, [r7, #12] + 800ef90: 68fb ldr r3, [r7, #12] + 800ef92: f423 3380 bic.w r3, r3, #65536 @ 0x10000 + 800ef96: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800ef9a: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= OC_Config->OCMode; - 800e5a0: 683b ldr r3, [r7, #0] - 800e5a2: 681b ldr r3, [r3, #0] - 800e5a4: 68fa ldr r2, [r7, #12] - 800e5a6: 4313 orrs r3, r2 - 800e5a8: 60fb str r3, [r7, #12] + 800ef9c: 683b ldr r3, [r7, #0] + 800ef9e: 681b ldr r3, [r3, #0] + 800efa0: 68fa ldr r2, [r7, #12] + 800efa2: 4313 orrs r3, r2 + 800efa4: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC5P; - 800e5aa: 693b ldr r3, [r7, #16] - 800e5ac: f423 3300 bic.w r3, r3, #131072 @ 0x20000 - 800e5b0: 613b str r3, [r7, #16] + 800efa6: 693b ldr r3, [r7, #16] + 800efa8: f423 3300 bic.w r3, r3, #131072 @ 0x20000 + 800efac: 613b str r3, [r7, #16] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 16U); - 800e5b2: 683b ldr r3, [r7, #0] - 800e5b4: 689b ldr r3, [r3, #8] - 800e5b6: 041b lsls r3, r3, #16 - 800e5b8: 693a ldr r2, [r7, #16] - 800e5ba: 4313 orrs r3, r2 - 800e5bc: 613b str r3, [r7, #16] + 800efae: 683b ldr r3, [r7, #0] + 800efb0: 689b ldr r3, [r3, #8] + 800efb2: 041b lsls r3, r3, #16 + 800efb4: 693a ldr r2, [r7, #16] + 800efb6: 4313 orrs r3, r2 + 800efb8: 613b str r3, [r7, #16] if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800e5be: 687b ldr r3, [r7, #4] - 800e5c0: 4a13 ldr r2, [pc, #76] @ (800e610 ) - 800e5c2: 4293 cmp r3, r2 - 800e5c4: d007 beq.n 800e5d6 - 800e5c6: 687b ldr r3, [r7, #4] - 800e5c8: 4a12 ldr r2, [pc, #72] @ (800e614 ) - 800e5ca: 4293 cmp r3, r2 - 800e5cc: d003 beq.n 800e5d6 - 800e5ce: 687b ldr r3, [r7, #4] - 800e5d0: 4a11 ldr r2, [pc, #68] @ (800e618 ) - 800e5d2: 4293 cmp r3, r2 - 800e5d4: d109 bne.n 800e5ea + 800efba: 687b ldr r3, [r7, #4] + 800efbc: 4a13 ldr r2, [pc, #76] @ (800f00c ) + 800efbe: 4293 cmp r3, r2 + 800efc0: d007 beq.n 800efd2 + 800efc2: 687b ldr r3, [r7, #4] + 800efc4: 4a12 ldr r2, [pc, #72] @ (800f010 ) + 800efc6: 4293 cmp r3, r2 + 800efc8: d003 beq.n 800efd2 + 800efca: 687b ldr r3, [r7, #4] + 800efcc: 4a11 ldr r2, [pc, #68] @ (800f014 ) + 800efce: 4293 cmp r3, r2 + 800efd0: d109 bne.n 800efe6 { /* Reset the Output Compare IDLE State */ tmpcr2 &= ~TIM_CR2_OIS5; - 800e5d6: 697b ldr r3, [r7, #20] - 800e5d8: f423 3380 bic.w r3, r3, #65536 @ 0x10000 - 800e5dc: 617b str r3, [r7, #20] + 800efd2: 697b ldr r3, [r7, #20] + 800efd4: f423 3380 bic.w r3, r3, #65536 @ 0x10000 + 800efd8: 617b str r3, [r7, #20] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 8U); - 800e5de: 683b ldr r3, [r7, #0] - 800e5e0: 695b ldr r3, [r3, #20] - 800e5e2: 021b lsls r3, r3, #8 - 800e5e4: 697a ldr r2, [r7, #20] - 800e5e6: 4313 orrs r3, r2 - 800e5e8: 617b str r3, [r7, #20] + 800efda: 683b ldr r3, [r7, #0] + 800efdc: 695b ldr r3, [r3, #20] + 800efde: 021b lsls r3, r3, #8 + 800efe0: 697a ldr r2, [r7, #20] + 800efe2: 4313 orrs r3, r2 + 800efe4: 617b str r3, [r7, #20] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 800e5ea: 687b ldr r3, [r7, #4] - 800e5ec: 697a ldr r2, [r7, #20] - 800e5ee: 605a str r2, [r3, #4] + 800efe6: 687b ldr r3, [r7, #4] + 800efe8: 697a ldr r2, [r7, #20] + 800efea: 605a str r2, [r3, #4] /* Write to TIMx CCMR3 */ TIMx->CCMR3 = tmpccmrx; - 800e5f0: 687b ldr r3, [r7, #4] - 800e5f2: 68fa ldr r2, [r7, #12] - 800e5f4: 655a str r2, [r3, #84] @ 0x54 + 800efec: 687b ldr r3, [r7, #4] + 800efee: 68fa ldr r2, [r7, #12] + 800eff0: 655a str r2, [r3, #84] @ 0x54 /* Set the Capture Compare Register value */ TIMx->CCR5 = OC_Config->Pulse; - 800e5f6: 683b ldr r3, [r7, #0] - 800e5f8: 685a ldr r2, [r3, #4] - 800e5fa: 687b ldr r3, [r7, #4] - 800e5fc: 659a str r2, [r3, #88] @ 0x58 + 800eff2: 683b ldr r3, [r7, #0] + 800eff4: 685a ldr r2, [r3, #4] + 800eff6: 687b ldr r3, [r7, #4] + 800eff8: 659a str r2, [r3, #88] @ 0x58 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 800e5fe: 687b ldr r3, [r7, #4] - 800e600: 693a ldr r2, [r7, #16] - 800e602: 621a str r2, [r3, #32] + 800effa: 687b ldr r3, [r7, #4] + 800effc: 693a ldr r2, [r7, #16] + 800effe: 621a str r2, [r3, #32] } - 800e604: bf00 nop - 800e606: 371c adds r7, #28 - 800e608: 46bd mov sp, r7 - 800e60a: f85d 7b04 ldr.w r7, [sp], #4 - 800e60e: 4770 bx lr - 800e610: 40012c00 .word 0x40012c00 - 800e614: 40014400 .word 0x40014400 - 800e618: 40014800 .word 0x40014800 + 800f000: bf00 nop + 800f002: 371c adds r7, #28 + 800f004: 46bd mov sp, r7 + 800f006: f85d 7b04 ldr.w r7, [sp], #4 + 800f00a: 4770 bx lr + 800f00c: 40012c00 .word 0x40012c00 + 800f010: 40014400 .word 0x40014400 + 800f014: 40014800 .word 0x40014800 -0800e61c : +0800f018 : * @param OC_Config The output configuration structure * @retval None */ static void TIM_OC6_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config) { - 800e61c: b480 push {r7} - 800e61e: b087 sub sp, #28 - 800e620: af00 add r7, sp, #0 - 800e622: 6078 str r0, [r7, #4] - 800e624: 6039 str r1, [r7, #0] + 800f018: b480 push {r7} + 800f01a: b087 sub sp, #28 + 800f01c: af00 add r7, sp, #0 + 800f01e: 6078 str r0, [r7, #4] + 800f020: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 800e626: 687b ldr r3, [r7, #4] - 800e628: 6a1b ldr r3, [r3, #32] - 800e62a: 613b str r3, [r7, #16] + 800f022: 687b ldr r3, [r7, #4] + 800f024: 6a1b ldr r3, [r3, #32] + 800f026: 613b str r3, [r7, #16] /* Disable the output: Reset the CCxE Bit */ TIMx->CCER &= ~TIM_CCER_CC6E; - 800e62c: 687b ldr r3, [r7, #4] - 800e62e: 6a1b ldr r3, [r3, #32] - 800e630: f423 1280 bic.w r2, r3, #1048576 @ 0x100000 - 800e634: 687b ldr r3, [r7, #4] - 800e636: 621a str r2, [r3, #32] + 800f028: 687b ldr r3, [r7, #4] + 800f02a: 6a1b ldr r3, [r3, #32] + 800f02c: f423 1280 bic.w r2, r3, #1048576 @ 0x100000 + 800f030: 687b ldr r3, [r7, #4] + 800f032: 621a str r2, [r3, #32] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 800e638: 687b ldr r3, [r7, #4] - 800e63a: 685b ldr r3, [r3, #4] - 800e63c: 617b str r3, [r7, #20] + 800f034: 687b ldr r3, [r7, #4] + 800f036: 685b ldr r3, [r3, #4] + 800f038: 617b str r3, [r7, #20] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR3; - 800e63e: 687b ldr r3, [r7, #4] - 800e640: 6d5b ldr r3, [r3, #84] @ 0x54 - 800e642: 60fb str r3, [r7, #12] + 800f03a: 687b ldr r3, [r7, #4] + 800f03c: 6d5b ldr r3, [r3, #84] @ 0x54 + 800f03e: 60fb str r3, [r7, #12] /* Reset the Output Compare Mode Bits */ tmpccmrx &= ~(TIM_CCMR3_OC6M); - 800e644: 68fb ldr r3, [r7, #12] - 800e646: f023 7380 bic.w r3, r3, #16777216 @ 0x1000000 - 800e64a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800e64e: 60fb str r3, [r7, #12] + 800f040: 68fb ldr r3, [r7, #12] + 800f042: f023 7380 bic.w r3, r3, #16777216 @ 0x1000000 + 800f046: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f04a: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= (OC_Config->OCMode << 8U); - 800e650: 683b ldr r3, [r7, #0] - 800e652: 681b ldr r3, [r3, #0] - 800e654: 021b lsls r3, r3, #8 - 800e656: 68fa ldr r2, [r7, #12] - 800e658: 4313 orrs r3, r2 - 800e65a: 60fb str r3, [r7, #12] + 800f04c: 683b ldr r3, [r7, #0] + 800f04e: 681b ldr r3, [r3, #0] + 800f050: 021b lsls r3, r3, #8 + 800f052: 68fa ldr r2, [r7, #12] + 800f054: 4313 orrs r3, r2 + 800f056: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= (uint32_t)~TIM_CCER_CC6P; - 800e65c: 693b ldr r3, [r7, #16] - 800e65e: f423 1300 bic.w r3, r3, #2097152 @ 0x200000 - 800e662: 613b str r3, [r7, #16] + 800f058: 693b ldr r3, [r7, #16] + 800f05a: f423 1300 bic.w r3, r3, #2097152 @ 0x200000 + 800f05e: 613b str r3, [r7, #16] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 20U); - 800e664: 683b ldr r3, [r7, #0] - 800e666: 689b ldr r3, [r3, #8] - 800e668: 051b lsls r3, r3, #20 - 800e66a: 693a ldr r2, [r7, #16] - 800e66c: 4313 orrs r3, r2 - 800e66e: 613b str r3, [r7, #16] + 800f060: 683b ldr r3, [r7, #0] + 800f062: 689b ldr r3, [r3, #8] + 800f064: 051b lsls r3, r3, #20 + 800f066: 693a ldr r2, [r7, #16] + 800f068: 4313 orrs r3, r2 + 800f06a: 613b str r3, [r7, #16] if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800e670: 687b ldr r3, [r7, #4] - 800e672: 4a14 ldr r2, [pc, #80] @ (800e6c4 ) - 800e674: 4293 cmp r3, r2 - 800e676: d007 beq.n 800e688 - 800e678: 687b ldr r3, [r7, #4] - 800e67a: 4a13 ldr r2, [pc, #76] @ (800e6c8 ) - 800e67c: 4293 cmp r3, r2 - 800e67e: d003 beq.n 800e688 - 800e680: 687b ldr r3, [r7, #4] - 800e682: 4a12 ldr r2, [pc, #72] @ (800e6cc ) - 800e684: 4293 cmp r3, r2 - 800e686: d109 bne.n 800e69c + 800f06c: 687b ldr r3, [r7, #4] + 800f06e: 4a14 ldr r2, [pc, #80] @ (800f0c0 ) + 800f070: 4293 cmp r3, r2 + 800f072: d007 beq.n 800f084 + 800f074: 687b ldr r3, [r7, #4] + 800f076: 4a13 ldr r2, [pc, #76] @ (800f0c4 ) + 800f078: 4293 cmp r3, r2 + 800f07a: d003 beq.n 800f084 + 800f07c: 687b ldr r3, [r7, #4] + 800f07e: 4a12 ldr r2, [pc, #72] @ (800f0c8 ) + 800f080: 4293 cmp r3, r2 + 800f082: d109 bne.n 800f098 { /* Reset the Output Compare IDLE State */ tmpcr2 &= ~TIM_CR2_OIS6; - 800e688: 697b ldr r3, [r7, #20] - 800e68a: f423 2380 bic.w r3, r3, #262144 @ 0x40000 - 800e68e: 617b str r3, [r7, #20] + 800f084: 697b ldr r3, [r7, #20] + 800f086: f423 2380 bic.w r3, r3, #262144 @ 0x40000 + 800f08a: 617b str r3, [r7, #20] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 10U); - 800e690: 683b ldr r3, [r7, #0] - 800e692: 695b ldr r3, [r3, #20] - 800e694: 029b lsls r3, r3, #10 - 800e696: 697a ldr r2, [r7, #20] - 800e698: 4313 orrs r3, r2 - 800e69a: 617b str r3, [r7, #20] + 800f08c: 683b ldr r3, [r7, #0] + 800f08e: 695b ldr r3, [r3, #20] + 800f090: 029b lsls r3, r3, #10 + 800f092: 697a ldr r2, [r7, #20] + 800f094: 4313 orrs r3, r2 + 800f096: 617b str r3, [r7, #20] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 800e69c: 687b ldr r3, [r7, #4] - 800e69e: 697a ldr r2, [r7, #20] - 800e6a0: 605a str r2, [r3, #4] + 800f098: 687b ldr r3, [r7, #4] + 800f09a: 697a ldr r2, [r7, #20] + 800f09c: 605a str r2, [r3, #4] /* Write to TIMx CCMR3 */ TIMx->CCMR3 = tmpccmrx; - 800e6a2: 687b ldr r3, [r7, #4] - 800e6a4: 68fa ldr r2, [r7, #12] - 800e6a6: 655a str r2, [r3, #84] @ 0x54 + 800f09e: 687b ldr r3, [r7, #4] + 800f0a0: 68fa ldr r2, [r7, #12] + 800f0a2: 655a str r2, [r3, #84] @ 0x54 /* Set the Capture Compare Register value */ TIMx->CCR6 = OC_Config->Pulse; - 800e6a8: 683b ldr r3, [r7, #0] - 800e6aa: 685a ldr r2, [r3, #4] - 800e6ac: 687b ldr r3, [r7, #4] - 800e6ae: 65da str r2, [r3, #92] @ 0x5c + 800f0a4: 683b ldr r3, [r7, #0] + 800f0a6: 685a ldr r2, [r3, #4] + 800f0a8: 687b ldr r3, [r7, #4] + 800f0aa: 65da str r2, [r3, #92] @ 0x5c /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 800e6b0: 687b ldr r3, [r7, #4] - 800e6b2: 693a ldr r2, [r7, #16] - 800e6b4: 621a str r2, [r3, #32] + 800f0ac: 687b ldr r3, [r7, #4] + 800f0ae: 693a ldr r2, [r7, #16] + 800f0b0: 621a str r2, [r3, #32] } - 800e6b6: bf00 nop - 800e6b8: 371c adds r7, #28 - 800e6ba: 46bd mov sp, r7 - 800e6bc: f85d 7b04 ldr.w r7, [sp], #4 - 800e6c0: 4770 bx lr - 800e6c2: bf00 nop - 800e6c4: 40012c00 .word 0x40012c00 - 800e6c8: 40014400 .word 0x40014400 - 800e6cc: 40014800 .word 0x40014800 + 800f0b2: bf00 nop + 800f0b4: 371c adds r7, #28 + 800f0b6: 46bd mov sp, r7 + 800f0b8: f85d 7b04 ldr.w r7, [sp], #4 + 800f0bc: 4770 bx lr + 800f0be: bf00 nop + 800f0c0: 40012c00 .word 0x40012c00 + 800f0c4: 40014400 .word 0x40014400 + 800f0c8: 40014800 .word 0x40014800 -0800e6d0 : +0800f0cc : * mode. * @retval HAL status */ HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, const TIM_MasterConfigTypeDef *sMasterConfig) { - 800e6d0: b480 push {r7} - 800e6d2: b085 sub sp, #20 - 800e6d4: af00 add r7, sp, #0 - 800e6d6: 6078 str r0, [r7, #4] - 800e6d8: 6039 str r1, [r7, #0] + 800f0cc: b480 push {r7} + 800f0ce: b085 sub sp, #20 + 800f0d0: af00 add r7, sp, #0 + 800f0d2: 6078 str r0, [r7, #4] + 800f0d4: 6039 str r1, [r7, #0] assert_param(IS_TIM_MASTER_INSTANCE(htim->Instance)); assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger)); assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode)); /* Check input state */ __HAL_LOCK(htim); - 800e6da: 687b ldr r3, [r7, #4] - 800e6dc: f893 303c ldrb.w r3, [r3, #60] @ 0x3c - 800e6e0: 2b01 cmp r3, #1 - 800e6e2: d101 bne.n 800e6e8 - 800e6e4: 2302 movs r3, #2 - 800e6e6: e04a b.n 800e77e - 800e6e8: 687b ldr r3, [r7, #4] - 800e6ea: 2201 movs r2, #1 - 800e6ec: f883 203c strb.w r2, [r3, #60] @ 0x3c + 800f0d6: 687b ldr r3, [r7, #4] + 800f0d8: f893 303c ldrb.w r3, [r3, #60] @ 0x3c + 800f0dc: 2b01 cmp r3, #1 + 800f0de: d101 bne.n 800f0e4 + 800f0e0: 2302 movs r3, #2 + 800f0e2: e04a b.n 800f17a + 800f0e4: 687b ldr r3, [r7, #4] + 800f0e6: 2201 movs r2, #1 + 800f0e8: f883 203c strb.w r2, [r3, #60] @ 0x3c /* Change the handler state */ htim->State = HAL_TIM_STATE_BUSY; - 800e6f0: 687b ldr r3, [r7, #4] - 800e6f2: 2202 movs r2, #2 - 800e6f4: f883 203d strb.w r2, [r3, #61] @ 0x3d + 800f0ec: 687b ldr r3, [r7, #4] + 800f0ee: 2202 movs r2, #2 + 800f0f0: f883 203d strb.w r2, [r3, #61] @ 0x3d /* Get the TIMx CR2 register value */ tmpcr2 = htim->Instance->CR2; - 800e6f8: 687b ldr r3, [r7, #4] - 800e6fa: 681b ldr r3, [r3, #0] - 800e6fc: 685b ldr r3, [r3, #4] - 800e6fe: 60fb str r3, [r7, #12] + 800f0f4: 687b ldr r3, [r7, #4] + 800f0f6: 681b ldr r3, [r3, #0] + 800f0f8: 685b ldr r3, [r3, #4] + 800f0fa: 60fb str r3, [r7, #12] /* Get the TIMx SMCR register value */ tmpsmcr = htim->Instance->SMCR; - 800e700: 687b ldr r3, [r7, #4] - 800e702: 681b ldr r3, [r3, #0] - 800e704: 689b ldr r3, [r3, #8] - 800e706: 60bb str r3, [r7, #8] + 800f0fc: 687b ldr r3, [r7, #4] + 800f0fe: 681b ldr r3, [r3, #0] + 800f100: 689b ldr r3, [r3, #8] + 800f102: 60bb str r3, [r7, #8] /* If the timer supports ADC synchronization through TRGO2, set the master mode selection 2 */ if (IS_TIM_TRGO2_INSTANCE(htim->Instance)) - 800e708: 687b ldr r3, [r7, #4] - 800e70a: 681b ldr r3, [r3, #0] - 800e70c: 4a1f ldr r2, [pc, #124] @ (800e78c ) - 800e70e: 4293 cmp r3, r2 - 800e710: d108 bne.n 800e724 + 800f104: 687b ldr r3, [r7, #4] + 800f106: 681b ldr r3, [r3, #0] + 800f108: 4a1f ldr r2, [pc, #124] @ (800f188 ) + 800f10a: 4293 cmp r3, r2 + 800f10c: d108 bne.n 800f120 { /* Check the parameters */ assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2)); /* Clear the MMS2 bits */ tmpcr2 &= ~TIM_CR2_MMS2; - 800e712: 68fb ldr r3, [r7, #12] - 800e714: f423 0370 bic.w r3, r3, #15728640 @ 0xf00000 - 800e718: 60fb str r3, [r7, #12] + 800f10e: 68fb ldr r3, [r7, #12] + 800f110: f423 0370 bic.w r3, r3, #15728640 @ 0xf00000 + 800f114: 60fb str r3, [r7, #12] /* Select the TRGO2 source*/ tmpcr2 |= sMasterConfig->MasterOutputTrigger2; - 800e71a: 683b ldr r3, [r7, #0] - 800e71c: 685b ldr r3, [r3, #4] - 800e71e: 68fa ldr r2, [r7, #12] - 800e720: 4313 orrs r3, r2 - 800e722: 60fb str r3, [r7, #12] + 800f116: 683b ldr r3, [r7, #0] + 800f118: 685b ldr r3, [r3, #4] + 800f11a: 68fa ldr r2, [r7, #12] + 800f11c: 4313 orrs r3, r2 + 800f11e: 60fb str r3, [r7, #12] } /* Reset the MMS Bits */ tmpcr2 &= ~TIM_CR2_MMS; - 800e724: 68fb ldr r3, [r7, #12] - 800e726: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800e72a: 60fb str r3, [r7, #12] + 800f120: 68fb ldr r3, [r7, #12] + 800f122: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f126: 60fb str r3, [r7, #12] /* Select the TRGO source */ tmpcr2 |= sMasterConfig->MasterOutputTrigger; - 800e72c: 683b ldr r3, [r7, #0] - 800e72e: 681b ldr r3, [r3, #0] - 800e730: 68fa ldr r2, [r7, #12] - 800e732: 4313 orrs r3, r2 - 800e734: 60fb str r3, [r7, #12] + 800f128: 683b ldr r3, [r7, #0] + 800f12a: 681b ldr r3, [r3, #0] + 800f12c: 68fa ldr r2, [r7, #12] + 800f12e: 4313 orrs r3, r2 + 800f130: 60fb str r3, [r7, #12] /* Update TIMx CR2 */ htim->Instance->CR2 = tmpcr2; - 800e736: 687b ldr r3, [r7, #4] - 800e738: 681b ldr r3, [r3, #0] - 800e73a: 68fa ldr r2, [r7, #12] - 800e73c: 605a str r2, [r3, #4] + 800f132: 687b ldr r3, [r7, #4] + 800f134: 681b ldr r3, [r3, #0] + 800f136: 68fa ldr r2, [r7, #12] + 800f138: 605a str r2, [r3, #4] if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) - 800e73e: 687b ldr r3, [r7, #4] - 800e740: 681b ldr r3, [r3, #0] - 800e742: 4a12 ldr r2, [pc, #72] @ (800e78c ) - 800e744: 4293 cmp r3, r2 - 800e746: d004 beq.n 800e752 - 800e748: 687b ldr r3, [r7, #4] - 800e74a: 681b ldr r3, [r3, #0] - 800e74c: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 - 800e750: d10c bne.n 800e76c + 800f13a: 687b ldr r3, [r7, #4] + 800f13c: 681b ldr r3, [r3, #0] + 800f13e: 4a12 ldr r2, [pc, #72] @ (800f188 ) + 800f140: 4293 cmp r3, r2 + 800f142: d004 beq.n 800f14e + 800f144: 687b ldr r3, [r7, #4] + 800f146: 681b ldr r3, [r3, #0] + 800f148: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 + 800f14c: d10c bne.n 800f168 { /* Reset the MSM Bit */ tmpsmcr &= ~TIM_SMCR_MSM; - 800e752: 68bb ldr r3, [r7, #8] - 800e754: f023 0380 bic.w r3, r3, #128 @ 0x80 - 800e758: 60bb str r3, [r7, #8] + 800f14e: 68bb ldr r3, [r7, #8] + 800f150: f023 0380 bic.w r3, r3, #128 @ 0x80 + 800f154: 60bb str r3, [r7, #8] /* Set master mode */ tmpsmcr |= sMasterConfig->MasterSlaveMode; - 800e75a: 683b ldr r3, [r7, #0] - 800e75c: 689b ldr r3, [r3, #8] - 800e75e: 68ba ldr r2, [r7, #8] - 800e760: 4313 orrs r3, r2 - 800e762: 60bb str r3, [r7, #8] + 800f156: 683b ldr r3, [r7, #0] + 800f158: 689b ldr r3, [r3, #8] + 800f15a: 68ba ldr r2, [r7, #8] + 800f15c: 4313 orrs r3, r2 + 800f15e: 60bb str r3, [r7, #8] /* Update TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; - 800e764: 687b ldr r3, [r7, #4] - 800e766: 681b ldr r3, [r3, #0] - 800e768: 68ba ldr r2, [r7, #8] - 800e76a: 609a str r2, [r3, #8] + 800f160: 687b ldr r3, [r7, #4] + 800f162: 681b ldr r3, [r3, #0] + 800f164: 68ba ldr r2, [r7, #8] + 800f166: 609a str r2, [r3, #8] } /* Change the htim state */ htim->State = HAL_TIM_STATE_READY; - 800e76c: 687b ldr r3, [r7, #4] - 800e76e: 2201 movs r2, #1 - 800e770: f883 203d strb.w r2, [r3, #61] @ 0x3d + 800f168: 687b ldr r3, [r7, #4] + 800f16a: 2201 movs r2, #1 + 800f16c: f883 203d strb.w r2, [r3, #61] @ 0x3d __HAL_UNLOCK(htim); - 800e774: 687b ldr r3, [r7, #4] - 800e776: 2200 movs r2, #0 - 800e778: f883 203c strb.w r2, [r3, #60] @ 0x3c + 800f170: 687b ldr r3, [r7, #4] + 800f172: 2200 movs r2, #0 + 800f174: f883 203c strb.w r2, [r3, #60] @ 0x3c return HAL_OK; - 800e77c: 2300 movs r3, #0 + 800f178: 2300 movs r3, #0 } - 800e77e: 4618 mov r0, r3 - 800e780: 3714 adds r7, #20 - 800e782: 46bd mov sp, r7 - 800e784: f85d 7b04 ldr.w r7, [sp], #4 - 800e788: 4770 bx lr - 800e78a: bf00 nop - 800e78c: 40012c00 .word 0x40012c00 + 800f17a: 4618 mov r0, r3 + 800f17c: 3714 adds r7, #20 + 800f17e: 46bd mov sp, r7 + 800f180: f85d 7b04 ldr.w r7, [sp], #4 + 800f184: 4770 bx lr + 800f186: bf00 nop + 800f188: 40012c00 .word 0x40012c00 -0800e790 : +0800f18c : * @brief Commutation callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim) { - 800e790: b480 push {r7} - 800e792: b083 sub sp, #12 - 800e794: af00 add r7, sp, #0 - 800e796: 6078 str r0, [r7, #4] + 800f18c: b480 push {r7} + 800f18e: b083 sub sp, #12 + 800f190: af00 add r7, sp, #0 + 800f192: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIMEx_CommutCallback could be implemented in the user file */ } - 800e798: bf00 nop - 800e79a: 370c adds r7, #12 - 800e79c: 46bd mov sp, r7 - 800e79e: f85d 7b04 ldr.w r7, [sp], #4 - 800e7a2: 4770 bx lr + 800f194: bf00 nop + 800f196: 370c adds r7, #12 + 800f198: 46bd mov sp, r7 + 800f19a: f85d 7b04 ldr.w r7, [sp], #4 + 800f19e: 4770 bx lr -0800e7a4 : +0800f1a0 : * @brief Break detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) { - 800e7a4: b480 push {r7} - 800e7a6: b083 sub sp, #12 - 800e7a8: af00 add r7, sp, #0 - 800e7aa: 6078 str r0, [r7, #4] + 800f1a0: b480 push {r7} + 800f1a2: b083 sub sp, #12 + 800f1a4: af00 add r7, sp, #0 + 800f1a6: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIMEx_BreakCallback could be implemented in the user file */ } - 800e7ac: bf00 nop - 800e7ae: 370c adds r7, #12 - 800e7b0: 46bd mov sp, r7 - 800e7b2: f85d 7b04 ldr.w r7, [sp], #4 - 800e7b6: 4770 bx lr + 800f1a8: bf00 nop + 800f1aa: 370c adds r7, #12 + 800f1ac: 46bd mov sp, r7 + 800f1ae: f85d 7b04 ldr.w r7, [sp], #4 + 800f1b2: 4770 bx lr -0800e7b8 : +0800f1b4 : * @brief Break2 detection callback in non blocking mode * @param htim: TIM handle * @retval None */ __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim) { - 800e7b8: b480 push {r7} - 800e7ba: b083 sub sp, #12 - 800e7bc: af00 add r7, sp, #0 - 800e7be: 6078 str r0, [r7, #4] + 800f1b4: b480 push {r7} + 800f1b6: b083 sub sp, #12 + 800f1b8: af00 add r7, sp, #0 + 800f1ba: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function Should not be modified, when the callback is needed, the HAL_TIMEx_Break2Callback could be implemented in the user file */ } - 800e7c0: bf00 nop - 800e7c2: 370c adds r7, #12 - 800e7c4: 46bd mov sp, r7 - 800e7c6: f85d 7b04 ldr.w r7, [sp], #4 - 800e7ca: 4770 bx lr + 800f1bc: bf00 nop + 800f1be: 370c adds r7, #12 + 800f1c0: 46bd mov sp, r7 + 800f1c2: f85d 7b04 ldr.w r7, [sp], #4 + 800f1c6: 4770 bx lr -0800e7cc : +0800f1c8 : * Enables the controller's Global Int in the AHB Config reg * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_EnableGlobalInt(USB_TypeDef *USBx) { - 800e7cc: b480 push {r7} - 800e7ce: b085 sub sp, #20 - 800e7d0: af00 add r7, sp, #0 - 800e7d2: 6078 str r0, [r7, #4] + 800f1c8: b480 push {r7} + 800f1ca: b085 sub sp, #20 + 800f1cc: af00 add r7, sp, #0 + 800f1ce: 6078 str r0, [r7, #4] uint32_t winterruptmask; /* Clear pending interrupts */ USBx->ISTR = 0U; - 800e7d4: 687b ldr r3, [r7, #4] - 800e7d6: 2200 movs r2, #0 - 800e7d8: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 800f1d0: 687b ldr r3, [r7, #4] + 800f1d2: 2200 movs r2, #0 + 800f1d4: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 /* Set winterruptmask variable */ winterruptmask = USB_CNTR_CTRM | USB_CNTR_WKUPM | - 800e7dc: f64b 7380 movw r3, #49024 @ 0xbf80 - 800e7e0: 60fb str r3, [r7, #12] + 800f1d8: f64b 7380 movw r3, #49024 @ 0xbf80 + 800f1dc: 60fb str r3, [r7, #12] USB_CNTR_SUSPM | USB_CNTR_ERRM | USB_CNTR_SOFM | USB_CNTR_ESOFM | USB_CNTR_RESETM | USB_CNTR_L1REQM; /* Set interrupt mask */ USBx->CNTR = (uint16_t)winterruptmask; - 800e7e2: 68fb ldr r3, [r7, #12] - 800e7e4: b29a uxth r2, r3 - 800e7e6: 687b ldr r3, [r7, #4] - 800e7e8: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 800f1de: 68fb ldr r3, [r7, #12] + 800f1e0: b29a uxth r2, r3 + 800f1e2: 687b ldr r3, [r7, #4] + 800f1e4: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 return HAL_OK; - 800e7ec: 2300 movs r3, #0 + 800f1e8: 2300 movs r3, #0 } - 800e7ee: 4618 mov r0, r3 - 800e7f0: 3714 adds r7, #20 - 800e7f2: 46bd mov sp, r7 - 800e7f4: f85d 7b04 ldr.w r7, [sp], #4 - 800e7f8: 4770 bx lr + 800f1ea: 4618 mov r0, r3 + 800f1ec: 3714 adds r7, #20 + 800f1ee: 46bd mov sp, r7 + 800f1f0: f85d 7b04 ldr.w r7, [sp], #4 + 800f1f4: 4770 bx lr -0800e7fa : +0800f1f6 : * Disable the controller's Global Int in the AHB Config reg * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_DisableGlobalInt(USB_TypeDef *USBx) { - 800e7fa: b480 push {r7} - 800e7fc: b085 sub sp, #20 - 800e7fe: af00 add r7, sp, #0 - 800e800: 6078 str r0, [r7, #4] + 800f1f6: b480 push {r7} + 800f1f8: b085 sub sp, #20 + 800f1fa: af00 add r7, sp, #0 + 800f1fc: 6078 str r0, [r7, #4] uint32_t winterruptmask; /* Set winterruptmask variable */ winterruptmask = USB_CNTR_CTRM | USB_CNTR_WKUPM | - 800e802: f64b 7380 movw r3, #49024 @ 0xbf80 - 800e806: 60fb str r3, [r7, #12] + 800f1fe: f64b 7380 movw r3, #49024 @ 0xbf80 + 800f202: 60fb str r3, [r7, #12] USB_CNTR_SUSPM | USB_CNTR_ERRM | USB_CNTR_SOFM | USB_CNTR_ESOFM | USB_CNTR_RESETM | USB_CNTR_L1REQM; /* Clear interrupt mask */ USBx->CNTR &= (uint16_t)(~winterruptmask); - 800e808: 687b ldr r3, [r7, #4] - 800e80a: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 - 800e80e: b29a uxth r2, r3 - 800e810: 68fb ldr r3, [r7, #12] - 800e812: b29b uxth r3, r3 - 800e814: 43db mvns r3, r3 - 800e816: b29b uxth r3, r3 - 800e818: 4013 ands r3, r2 - 800e81a: b29a uxth r2, r3 - 800e81c: 687b ldr r3, [r7, #4] - 800e81e: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 800f204: 687b ldr r3, [r7, #4] + 800f206: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40 + 800f20a: b29a uxth r2, r3 + 800f20c: 68fb ldr r3, [r7, #12] + 800f20e: b29b uxth r3, r3 + 800f210: 43db mvns r3, r3 + 800f212: b29b uxth r3, r3 + 800f214: 4013 ands r3, r2 + 800f216: b29a uxth r2, r3 + 800f218: 687b ldr r3, [r7, #4] + 800f21a: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 return HAL_OK; - 800e822: 2300 movs r3, #0 + 800f21e: 2300 movs r3, #0 } - 800e824: 4618 mov r0, r3 - 800e826: 3714 adds r7, #20 - 800e828: 46bd mov sp, r7 - 800e82a: f85d 7b04 ldr.w r7, [sp], #4 - 800e82e: 4770 bx lr + 800f220: 4618 mov r0, r3 + 800f222: 3714 adds r7, #20 + 800f224: 46bd mov sp, r7 + 800f226: f85d 7b04 ldr.w r7, [sp], #4 + 800f22a: 4770 bx lr -0800e830 : +0800f22c : * @param cfg pointer to a USB_CfgTypeDef structure that contains * the configuration information for the specified USBx peripheral. * @retval HAL status */ HAL_StatusTypeDef USB_DevInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg) { - 800e830: b480 push {r7} - 800e832: b085 sub sp, #20 - 800e834: af00 add r7, sp, #0 - 800e836: 60f8 str r0, [r7, #12] - 800e838: 1d3b adds r3, r7, #4 - 800e83a: e883 0006 stmia.w r3, {r1, r2} + 800f22c: b480 push {r7} + 800f22e: b085 sub sp, #20 + 800f230: af00 add r7, sp, #0 + 800f232: 60f8 str r0, [r7, #12] + 800f234: 1d3b adds r3, r7, #4 + 800f236: e883 0006 stmia.w r3, {r1, r2} /* Prevent unused argument(s) compilation warning */ UNUSED(cfg); /* Init Device */ /* CNTR_FRES = 1 */ USBx->CNTR = (uint16_t)USB_CNTR_FRES; - 800e83e: 68fb ldr r3, [r7, #12] - 800e840: 2201 movs r2, #1 - 800e842: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 800f23a: 68fb ldr r3, [r7, #12] + 800f23c: 2201 movs r2, #1 + 800f23e: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 /* CNTR_FRES = 0 */ USBx->CNTR = 0U; - 800e846: 68fb ldr r3, [r7, #12] - 800e848: 2200 movs r2, #0 - 800e84a: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 + 800f242: 68fb ldr r3, [r7, #12] + 800f244: 2200 movs r2, #0 + 800f246: f8a3 2040 strh.w r2, [r3, #64] @ 0x40 /* Clear pending interrupts */ USBx->ISTR = 0U; - 800e84e: 68fb ldr r3, [r7, #12] - 800e850: 2200 movs r2, #0 - 800e852: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 + 800f24a: 68fb ldr r3, [r7, #12] + 800f24c: 2200 movs r2, #0 + 800f24e: f8a3 2044 strh.w r2, [r3, #68] @ 0x44 /*Set Btable Address*/ USBx->BTABLE = BTABLE_ADDRESS; - 800e856: 68fb ldr r3, [r7, #12] - 800e858: 2200 movs r2, #0 - 800e85a: f8a3 2050 strh.w r2, [r3, #80] @ 0x50 + 800f252: 68fb ldr r3, [r7, #12] + 800f254: 2200 movs r2, #0 + 800f256: f8a3 2050 strh.w r2, [r3, #80] @ 0x50 return HAL_OK; - 800e85e: 2300 movs r3, #0 + 800f25a: 2300 movs r3, #0 } - 800e860: 4618 mov r0, r3 - 800e862: 3714 adds r7, #20 - 800e864: 46bd mov sp, r7 - 800e866: f85d 7b04 ldr.w r7, [sp], #4 - 800e86a: 4770 bx lr + 800f25c: 4618 mov r0, r3 + 800f25e: 3714 adds r7, #20 + 800f260: 46bd mov sp, r7 + 800f262: f85d 7b04 ldr.w r7, [sp], #4 + 800f266: 4770 bx lr -0800e86c : +0800f268 : * @param USBx Selected device * @param ep pointer to endpoint structure * @retval HAL status */ HAL_StatusTypeDef USB_ActivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep) { - 800e86c: b480 push {r7} - 800e86e: b0a7 sub sp, #156 @ 0x9c - 800e870: af00 add r7, sp, #0 - 800e872: 6078 str r0, [r7, #4] - 800e874: 6039 str r1, [r7, #0] + 800f268: b480 push {r7} + 800f26a: b0a7 sub sp, #156 @ 0x9c + 800f26c: af00 add r7, sp, #0 + 800f26e: 6078 str r0, [r7, #4] + 800f270: 6039 str r1, [r7, #0] HAL_StatusTypeDef ret = HAL_OK; - 800e876: 2300 movs r3, #0 - 800e878: f887 3097 strb.w r3, [r7, #151] @ 0x97 + 800f272: 2300 movs r3, #0 + 800f274: f887 3097 strb.w r3, [r7, #151] @ 0x97 uint16_t wEpRegVal; wEpRegVal = PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_T_MASK; - 800e87c: 687a ldr r2, [r7, #4] - 800e87e: 683b ldr r3, [r7, #0] - 800e880: 781b ldrb r3, [r3, #0] - 800e882: 009b lsls r3, r3, #2 - 800e884: 4413 add r3, r2 - 800e886: 881b ldrh r3, [r3, #0] - 800e888: b29b uxth r3, r3 - 800e88a: f423 43ec bic.w r3, r3, #30208 @ 0x7600 - 800e88e: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800e892: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 + 800f278: 687a ldr r2, [r7, #4] + 800f27a: 683b ldr r3, [r7, #0] + 800f27c: 781b ldrb r3, [r3, #0] + 800f27e: 009b lsls r3, r3, #2 + 800f280: 4413 add r3, r2 + 800f282: 881b ldrh r3, [r3, #0] + 800f284: b29b uxth r3, r3 + 800f286: f423 43ec bic.w r3, r3, #30208 @ 0x7600 + 800f28a: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f28e: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 /* initialize Endpoint */ switch (ep->type) - 800e896: 683b ldr r3, [r7, #0] - 800e898: 78db ldrb r3, [r3, #3] - 800e89a: 2b03 cmp r3, #3 - 800e89c: d81f bhi.n 800e8de - 800e89e: a201 add r2, pc, #4 @ (adr r2, 800e8a4 ) - 800e8a0: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 800e8a4: 0800e8b5 .word 0x0800e8b5 - 800e8a8: 0800e8d1 .word 0x0800e8d1 - 800e8ac: 0800e8e7 .word 0x0800e8e7 - 800e8b0: 0800e8c3 .word 0x0800e8c3 + 800f292: 683b ldr r3, [r7, #0] + 800f294: 78db ldrb r3, [r3, #3] + 800f296: 2b03 cmp r3, #3 + 800f298: d81f bhi.n 800f2da + 800f29a: a201 add r2, pc, #4 @ (adr r2, 800f2a0 ) + 800f29c: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 800f2a0: 0800f2b1 .word 0x0800f2b1 + 800f2a4: 0800f2cd .word 0x0800f2cd + 800f2a8: 0800f2e3 .word 0x0800f2e3 + 800f2ac: 0800f2bf .word 0x0800f2bf { case EP_TYPE_CTRL: wEpRegVal |= USB_EP_CONTROL; - 800e8b4: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 800e8b8: f443 7300 orr.w r3, r3, #512 @ 0x200 - 800e8bc: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 + 800f2b0: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 800f2b4: f443 7300 orr.w r3, r3, #512 @ 0x200 + 800f2b8: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 break; - 800e8c0: e012 b.n 800e8e8 + 800f2bc: e012 b.n 800f2e4 case EP_TYPE_BULK: wEpRegVal |= USB_EP_BULK; break; case EP_TYPE_INTR: wEpRegVal |= USB_EP_INTERRUPT; - 800e8c2: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 800e8c6: f443 63c0 orr.w r3, r3, #1536 @ 0x600 - 800e8ca: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 + 800f2be: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 800f2c2: f443 63c0 orr.w r3, r3, #1536 @ 0x600 + 800f2c6: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 break; - 800e8ce: e00b b.n 800e8e8 + 800f2ca: e00b b.n 800f2e4 case EP_TYPE_ISOC: wEpRegVal |= USB_EP_ISOCHRONOUS; - 800e8d0: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 800e8d4: f443 6380 orr.w r3, r3, #1024 @ 0x400 - 800e8d8: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 + 800f2cc: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 800f2d0: f443 6380 orr.w r3, r3, #1024 @ 0x400 + 800f2d4: f8a7 3094 strh.w r3, [r7, #148] @ 0x94 break; - 800e8dc: e004 b.n 800e8e8 + 800f2d8: e004 b.n 800f2e4 default: ret = HAL_ERROR; - 800e8de: 2301 movs r3, #1 - 800e8e0: f887 3097 strb.w r3, [r7, #151] @ 0x97 + 800f2da: 2301 movs r3, #1 + 800f2dc: f887 3097 strb.w r3, [r7, #151] @ 0x97 break; - 800e8e4: e000 b.n 800e8e8 + 800f2e0: e000 b.n 800f2e4 break; - 800e8e6: bf00 nop + 800f2e2: bf00 nop } PCD_SET_ENDPOINT(USBx, ep->num, (wEpRegVal | USB_EP_CTR_RX | USB_EP_CTR_TX)); - 800e8e8: 687a ldr r2, [r7, #4] - 800e8ea: 683b ldr r3, [r7, #0] - 800e8ec: 781b ldrb r3, [r3, #0] - 800e8ee: 009b lsls r3, r3, #2 - 800e8f0: 441a add r2, r3 - 800e8f2: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 - 800e8f6: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800e8fa: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800e8fe: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800e902: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800e906: b29b uxth r3, r3 - 800e908: 8013 strh r3, [r2, #0] + 800f2e4: 687a ldr r2, [r7, #4] + 800f2e6: 683b ldr r3, [r7, #0] + 800f2e8: 781b ldrb r3, [r3, #0] + 800f2ea: 009b lsls r3, r3, #2 + 800f2ec: 441a add r2, r3 + 800f2ee: f8b7 3094 ldrh.w r3, [r7, #148] @ 0x94 + 800f2f2: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f2f6: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f2fa: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f2fe: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f302: b29b uxth r3, r3 + 800f304: 8013 strh r3, [r2, #0] PCD_SET_EP_ADDRESS(USBx, ep->num, ep->num); - 800e90a: 687a ldr r2, [r7, #4] - 800e90c: 683b ldr r3, [r7, #0] - 800e90e: 781b ldrb r3, [r3, #0] - 800e910: 009b lsls r3, r3, #2 - 800e912: 4413 add r3, r2 - 800e914: 881b ldrh r3, [r3, #0] - 800e916: b29b uxth r3, r3 - 800e918: b21b sxth r3, r3 - 800e91a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800e91e: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800e922: b21a sxth r2, r3 - 800e924: 683b ldr r3, [r7, #0] - 800e926: 781b ldrb r3, [r3, #0] - 800e928: b21b sxth r3, r3 - 800e92a: 4313 orrs r3, r2 - 800e92c: b21b sxth r3, r3 - 800e92e: f8a7 3086 strh.w r3, [r7, #134] @ 0x86 - 800e932: 687a ldr r2, [r7, #4] - 800e934: 683b ldr r3, [r7, #0] - 800e936: 781b ldrb r3, [r3, #0] - 800e938: 009b lsls r3, r3, #2 - 800e93a: 441a add r2, r3 - 800e93c: f8b7 3086 ldrh.w r3, [r7, #134] @ 0x86 - 800e940: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800e944: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800e948: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800e94c: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800e950: b29b uxth r3, r3 - 800e952: 8013 strh r3, [r2, #0] + 800f306: 687a ldr r2, [r7, #4] + 800f308: 683b ldr r3, [r7, #0] + 800f30a: 781b ldrb r3, [r3, #0] + 800f30c: 009b lsls r3, r3, #2 + 800f30e: 4413 add r3, r2 + 800f310: 881b ldrh r3, [r3, #0] + 800f312: b29b uxth r3, r3 + 800f314: b21b sxth r3, r3 + 800f316: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f31a: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f31e: b21a sxth r2, r3 + 800f320: 683b ldr r3, [r7, #0] + 800f322: 781b ldrb r3, [r3, #0] + 800f324: b21b sxth r3, r3 + 800f326: 4313 orrs r3, r2 + 800f328: b21b sxth r3, r3 + 800f32a: f8a7 3086 strh.w r3, [r7, #134] @ 0x86 + 800f32e: 687a ldr r2, [r7, #4] + 800f330: 683b ldr r3, [r7, #0] + 800f332: 781b ldrb r3, [r3, #0] + 800f334: 009b lsls r3, r3, #2 + 800f336: 441a add r2, r3 + 800f338: f8b7 3086 ldrh.w r3, [r7, #134] @ 0x86 + 800f33c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f340: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f344: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f348: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f34c: b29b uxth r3, r3 + 800f34e: 8013 strh r3, [r2, #0] if (ep->doublebuffer == 0U) - 800e954: 683b ldr r3, [r7, #0] - 800e956: 7b1b ldrb r3, [r3, #12] - 800e958: 2b00 cmp r3, #0 - 800e95a: f040 8180 bne.w 800ec5e + 800f350: 683b ldr r3, [r7, #0] + 800f352: 7b1b ldrb r3, [r3, #12] + 800f354: 2b00 cmp r3, #0 + 800f356: f040 8180 bne.w 800f65a { if (ep->is_in != 0U) - 800e95e: 683b ldr r3, [r7, #0] - 800e960: 785b ldrb r3, [r3, #1] - 800e962: 2b00 cmp r3, #0 - 800e964: f000 8084 beq.w 800ea70 + 800f35a: 683b ldr r3, [r7, #0] + 800f35c: 785b ldrb r3, [r3, #1] + 800f35e: 2b00 cmp r3, #0 + 800f360: f000 8084 beq.w 800f46c { /*Set the endpoint Transmit buffer address */ PCD_SET_EP_TX_ADDRESS(USBx, ep->num, ep->pmaadress); - 800e968: 687b ldr r3, [r7, #4] - 800e96a: 61bb str r3, [r7, #24] - 800e96c: 687b ldr r3, [r7, #4] - 800e96e: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800e972: b29b uxth r3, r3 - 800e974: 461a mov r2, r3 - 800e976: 69bb ldr r3, [r7, #24] - 800e978: 4413 add r3, r2 - 800e97a: 61bb str r3, [r7, #24] - 800e97c: 683b ldr r3, [r7, #0] - 800e97e: 781b ldrb r3, [r3, #0] - 800e980: 00da lsls r2, r3, #3 - 800e982: 69bb ldr r3, [r7, #24] - 800e984: 4413 add r3, r2 - 800e986: f503 6380 add.w r3, r3, #1024 @ 0x400 - 800e98a: 617b str r3, [r7, #20] - 800e98c: 683b ldr r3, [r7, #0] - 800e98e: 88db ldrh r3, [r3, #6] - 800e990: 085b lsrs r3, r3, #1 - 800e992: b29b uxth r3, r3 - 800e994: 005b lsls r3, r3, #1 - 800e996: b29a uxth r2, r3 - 800e998: 697b ldr r3, [r7, #20] - 800e99a: 801a strh r2, [r3, #0] + 800f364: 687b ldr r3, [r7, #4] + 800f366: 61bb str r3, [r7, #24] + 800f368: 687b ldr r3, [r7, #4] + 800f36a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800f36e: b29b uxth r3, r3 + 800f370: 461a mov r2, r3 + 800f372: 69bb ldr r3, [r7, #24] + 800f374: 4413 add r3, r2 + 800f376: 61bb str r3, [r7, #24] + 800f378: 683b ldr r3, [r7, #0] + 800f37a: 781b ldrb r3, [r3, #0] + 800f37c: 00da lsls r2, r3, #3 + 800f37e: 69bb ldr r3, [r7, #24] + 800f380: 4413 add r3, r2 + 800f382: f503 6380 add.w r3, r3, #1024 @ 0x400 + 800f386: 617b str r3, [r7, #20] + 800f388: 683b ldr r3, [r7, #0] + 800f38a: 88db ldrh r3, [r3, #6] + 800f38c: 085b lsrs r3, r3, #1 + 800f38e: b29b uxth r3, r3 + 800f390: 005b lsls r3, r3, #1 + 800f392: b29a uxth r2, r3 + 800f394: 697b ldr r3, [r7, #20] + 800f396: 801a strh r2, [r3, #0] PCD_CLEAR_TX_DTOG(USBx, ep->num); - 800e99c: 687a ldr r2, [r7, #4] - 800e99e: 683b ldr r3, [r7, #0] - 800e9a0: 781b ldrb r3, [r3, #0] - 800e9a2: 009b lsls r3, r3, #2 - 800e9a4: 4413 add r3, r2 - 800e9a6: 881b ldrh r3, [r3, #0] - 800e9a8: 827b strh r3, [r7, #18] - 800e9aa: 8a7b ldrh r3, [r7, #18] - 800e9ac: f003 0340 and.w r3, r3, #64 @ 0x40 - 800e9b0: 2b00 cmp r3, #0 - 800e9b2: d01b beq.n 800e9ec - 800e9b4: 687a ldr r2, [r7, #4] - 800e9b6: 683b ldr r3, [r7, #0] - 800e9b8: 781b ldrb r3, [r3, #0] - 800e9ba: 009b lsls r3, r3, #2 - 800e9bc: 4413 add r3, r2 - 800e9be: 881b ldrh r3, [r3, #0] - 800e9c0: b29b uxth r3, r3 - 800e9c2: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800e9c6: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800e9ca: 823b strh r3, [r7, #16] - 800e9cc: 687a ldr r2, [r7, #4] - 800e9ce: 683b ldr r3, [r7, #0] - 800e9d0: 781b ldrb r3, [r3, #0] - 800e9d2: 009b lsls r3, r3, #2 - 800e9d4: 441a add r2, r3 - 800e9d6: 8a3b ldrh r3, [r7, #16] - 800e9d8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800e9dc: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800e9e0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800e9e4: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 800e9e8: b29b uxth r3, r3 - 800e9ea: 8013 strh r3, [r2, #0] + 800f398: 687a ldr r2, [r7, #4] + 800f39a: 683b ldr r3, [r7, #0] + 800f39c: 781b ldrb r3, [r3, #0] + 800f39e: 009b lsls r3, r3, #2 + 800f3a0: 4413 add r3, r2 + 800f3a2: 881b ldrh r3, [r3, #0] + 800f3a4: 827b strh r3, [r7, #18] + 800f3a6: 8a7b ldrh r3, [r7, #18] + 800f3a8: f003 0340 and.w r3, r3, #64 @ 0x40 + 800f3ac: 2b00 cmp r3, #0 + 800f3ae: d01b beq.n 800f3e8 + 800f3b0: 687a ldr r2, [r7, #4] + 800f3b2: 683b ldr r3, [r7, #0] + 800f3b4: 781b ldrb r3, [r3, #0] + 800f3b6: 009b lsls r3, r3, #2 + 800f3b8: 4413 add r3, r2 + 800f3ba: 881b ldrh r3, [r3, #0] + 800f3bc: b29b uxth r3, r3 + 800f3be: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f3c2: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f3c6: 823b strh r3, [r7, #16] + 800f3c8: 687a ldr r2, [r7, #4] + 800f3ca: 683b ldr r3, [r7, #0] + 800f3cc: 781b ldrb r3, [r3, #0] + 800f3ce: 009b lsls r3, r3, #2 + 800f3d0: 441a add r2, r3 + 800f3d2: 8a3b ldrh r3, [r7, #16] + 800f3d4: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f3d8: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f3dc: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f3e0: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800f3e4: b29b uxth r3, r3 + 800f3e6: 8013 strh r3, [r2, #0] if (ep->type != EP_TYPE_ISOC) - 800e9ec: 683b ldr r3, [r7, #0] - 800e9ee: 78db ldrb r3, [r3, #3] - 800e9f0: 2b01 cmp r3, #1 - 800e9f2: d020 beq.n 800ea36 + 800f3e8: 683b ldr r3, [r7, #0] + 800f3ea: 78db ldrb r3, [r3, #3] + 800f3ec: 2b01 cmp r3, #1 + 800f3ee: d020 beq.n 800f432 { /* Configure NAK status for the Endpoint */ PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); - 800e9f4: 687a ldr r2, [r7, #4] - 800e9f6: 683b ldr r3, [r7, #0] - 800e9f8: 781b ldrb r3, [r3, #0] - 800e9fa: 009b lsls r3, r3, #2 - 800e9fc: 4413 add r3, r2 - 800e9fe: 881b ldrh r3, [r3, #0] - 800ea00: b29b uxth r3, r3 - 800ea02: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800ea06: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800ea0a: 81bb strh r3, [r7, #12] - 800ea0c: 89bb ldrh r3, [r7, #12] - 800ea0e: f083 0320 eor.w r3, r3, #32 - 800ea12: 81bb strh r3, [r7, #12] - 800ea14: 687a ldr r2, [r7, #4] - 800ea16: 683b ldr r3, [r7, #0] - 800ea18: 781b ldrb r3, [r3, #0] - 800ea1a: 009b lsls r3, r3, #2 - 800ea1c: 441a add r2, r3 - 800ea1e: 89bb ldrh r3, [r7, #12] - 800ea20: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ea24: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ea28: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800ea2c: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800ea30: b29b uxth r3, r3 - 800ea32: 8013 strh r3, [r2, #0] - 800ea34: e3f9 b.n 800f22a + 800f3f0: 687a ldr r2, [r7, #4] + 800f3f2: 683b ldr r3, [r7, #0] + 800f3f4: 781b ldrb r3, [r3, #0] + 800f3f6: 009b lsls r3, r3, #2 + 800f3f8: 4413 add r3, r2 + 800f3fa: 881b ldrh r3, [r3, #0] + 800f3fc: b29b uxth r3, r3 + 800f3fe: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f402: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800f406: 81bb strh r3, [r7, #12] + 800f408: 89bb ldrh r3, [r7, #12] + 800f40a: f083 0320 eor.w r3, r3, #32 + 800f40e: 81bb strh r3, [r7, #12] + 800f410: 687a ldr r2, [r7, #4] + 800f412: 683b ldr r3, [r7, #0] + 800f414: 781b ldrb r3, [r3, #0] + 800f416: 009b lsls r3, r3, #2 + 800f418: 441a add r2, r3 + 800f41a: 89bb ldrh r3, [r7, #12] + 800f41c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f420: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f424: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f428: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f42c: b29b uxth r3, r3 + 800f42e: 8013 strh r3, [r2, #0] + 800f430: e3f9 b.n 800fc26 } else { /* Configure TX Endpoint to disabled state */ PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); - 800ea36: 687a ldr r2, [r7, #4] - 800ea38: 683b ldr r3, [r7, #0] - 800ea3a: 781b ldrb r3, [r3, #0] - 800ea3c: 009b lsls r3, r3, #2 - 800ea3e: 4413 add r3, r2 - 800ea40: 881b ldrh r3, [r3, #0] - 800ea42: b29b uxth r3, r3 - 800ea44: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800ea48: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800ea4c: 81fb strh r3, [r7, #14] - 800ea4e: 687a ldr r2, [r7, #4] - 800ea50: 683b ldr r3, [r7, #0] - 800ea52: 781b ldrb r3, [r3, #0] - 800ea54: 009b lsls r3, r3, #2 - 800ea56: 441a add r2, r3 - 800ea58: 89fb ldrh r3, [r7, #14] - 800ea5a: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ea5e: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ea62: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800ea66: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800ea6a: b29b uxth r3, r3 - 800ea6c: 8013 strh r3, [r2, #0] - 800ea6e: e3dc b.n 800f22a + 800f432: 687a ldr r2, [r7, #4] + 800f434: 683b ldr r3, [r7, #0] + 800f436: 781b ldrb r3, [r3, #0] + 800f438: 009b lsls r3, r3, #2 + 800f43a: 4413 add r3, r2 + 800f43c: 881b ldrh r3, [r3, #0] + 800f43e: b29b uxth r3, r3 + 800f440: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f444: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800f448: 81fb strh r3, [r7, #14] + 800f44a: 687a ldr r2, [r7, #4] + 800f44c: 683b ldr r3, [r7, #0] + 800f44e: 781b ldrb r3, [r3, #0] + 800f450: 009b lsls r3, r3, #2 + 800f452: 441a add r2, r3 + 800f454: 89fb ldrh r3, [r7, #14] + 800f456: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f45a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f45e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f462: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f466: b29b uxth r3, r3 + 800f468: 8013 strh r3, [r2, #0] + 800f46a: e3dc b.n 800fc26 } } else { /* Set the endpoint Receive buffer address */ PCD_SET_EP_RX_ADDRESS(USBx, ep->num, ep->pmaadress); - 800ea70: 687b ldr r3, [r7, #4] - 800ea72: 633b str r3, [r7, #48] @ 0x30 - 800ea74: 687b ldr r3, [r7, #4] - 800ea76: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800ea7a: b29b uxth r3, r3 - 800ea7c: 461a mov r2, r3 - 800ea7e: 6b3b ldr r3, [r7, #48] @ 0x30 - 800ea80: 4413 add r3, r2 - 800ea82: 633b str r3, [r7, #48] @ 0x30 - 800ea84: 683b ldr r3, [r7, #0] - 800ea86: 781b ldrb r3, [r3, #0] - 800ea88: 00da lsls r2, r3, #3 - 800ea8a: 6b3b ldr r3, [r7, #48] @ 0x30 - 800ea8c: 4413 add r3, r2 - 800ea8e: f203 4304 addw r3, r3, #1028 @ 0x404 - 800ea92: 62fb str r3, [r7, #44] @ 0x2c - 800ea94: 683b ldr r3, [r7, #0] - 800ea96: 88db ldrh r3, [r3, #6] - 800ea98: 085b lsrs r3, r3, #1 - 800ea9a: b29b uxth r3, r3 - 800ea9c: 005b lsls r3, r3, #1 - 800ea9e: b29a uxth r2, r3 - 800eaa0: 6afb ldr r3, [r7, #44] @ 0x2c - 800eaa2: 801a strh r2, [r3, #0] + 800f46c: 687b ldr r3, [r7, #4] + 800f46e: 633b str r3, [r7, #48] @ 0x30 + 800f470: 687b ldr r3, [r7, #4] + 800f472: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800f476: b29b uxth r3, r3 + 800f478: 461a mov r2, r3 + 800f47a: 6b3b ldr r3, [r7, #48] @ 0x30 + 800f47c: 4413 add r3, r2 + 800f47e: 633b str r3, [r7, #48] @ 0x30 + 800f480: 683b ldr r3, [r7, #0] + 800f482: 781b ldrb r3, [r3, #0] + 800f484: 00da lsls r2, r3, #3 + 800f486: 6b3b ldr r3, [r7, #48] @ 0x30 + 800f488: 4413 add r3, r2 + 800f48a: f203 4304 addw r3, r3, #1028 @ 0x404 + 800f48e: 62fb str r3, [r7, #44] @ 0x2c + 800f490: 683b ldr r3, [r7, #0] + 800f492: 88db ldrh r3, [r3, #6] + 800f494: 085b lsrs r3, r3, #1 + 800f496: b29b uxth r3, r3 + 800f498: 005b lsls r3, r3, #1 + 800f49a: b29a uxth r2, r3 + 800f49c: 6afb ldr r3, [r7, #44] @ 0x2c + 800f49e: 801a strh r2, [r3, #0] /* Set the endpoint Receive buffer counter */ PCD_SET_EP_RX_CNT(USBx, ep->num, ep->maxpacket); - 800eaa4: 687b ldr r3, [r7, #4] - 800eaa6: 62bb str r3, [r7, #40] @ 0x28 - 800eaa8: 687b ldr r3, [r7, #4] - 800eaaa: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800eaae: b29b uxth r3, r3 - 800eab0: 461a mov r2, r3 - 800eab2: 6abb ldr r3, [r7, #40] @ 0x28 - 800eab4: 4413 add r3, r2 - 800eab6: 62bb str r3, [r7, #40] @ 0x28 - 800eab8: 683b ldr r3, [r7, #0] - 800eaba: 781b ldrb r3, [r3, #0] - 800eabc: 00da lsls r2, r3, #3 - 800eabe: 6abb ldr r3, [r7, #40] @ 0x28 - 800eac0: 4413 add r3, r2 - 800eac2: f203 4306 addw r3, r3, #1030 @ 0x406 - 800eac6: 627b str r3, [r7, #36] @ 0x24 - 800eac8: 6a7b ldr r3, [r7, #36] @ 0x24 - 800eaca: 881b ldrh r3, [r3, #0] - 800eacc: b29b uxth r3, r3 - 800eace: f3c3 0309 ubfx r3, r3, #0, #10 - 800ead2: b29a uxth r2, r3 - 800ead4: 6a7b ldr r3, [r7, #36] @ 0x24 - 800ead6: 801a strh r2, [r3, #0] - 800ead8: 683b ldr r3, [r7, #0] - 800eada: 691b ldr r3, [r3, #16] - 800eadc: 2b00 cmp r3, #0 - 800eade: d10a bne.n 800eaf6 - 800eae0: 6a7b ldr r3, [r7, #36] @ 0x24 - 800eae2: 881b ldrh r3, [r3, #0] - 800eae4: b29b uxth r3, r3 - 800eae6: ea6f 4343 mvn.w r3, r3, lsl #17 - 800eaea: ea6f 4353 mvn.w r3, r3, lsr #17 - 800eaee: b29a uxth r2, r3 - 800eaf0: 6a7b ldr r3, [r7, #36] @ 0x24 - 800eaf2: 801a strh r2, [r3, #0] - 800eaf4: e041 b.n 800eb7a - 800eaf6: 683b ldr r3, [r7, #0] - 800eaf8: 691b ldr r3, [r3, #16] - 800eafa: 2b3e cmp r3, #62 @ 0x3e - 800eafc: d81c bhi.n 800eb38 - 800eafe: 683b ldr r3, [r7, #0] - 800eb00: 691b ldr r3, [r3, #16] - 800eb02: 085b lsrs r3, r3, #1 - 800eb04: f8c7 3090 str.w r3, [r7, #144] @ 0x90 - 800eb08: 683b ldr r3, [r7, #0] - 800eb0a: 691b ldr r3, [r3, #16] - 800eb0c: f003 0301 and.w r3, r3, #1 - 800eb10: 2b00 cmp r3, #0 - 800eb12: d004 beq.n 800eb1e - 800eb14: f8d7 3090 ldr.w r3, [r7, #144] @ 0x90 - 800eb18: 3301 adds r3, #1 - 800eb1a: f8c7 3090 str.w r3, [r7, #144] @ 0x90 - 800eb1e: 6a7b ldr r3, [r7, #36] @ 0x24 - 800eb20: 881b ldrh r3, [r3, #0] - 800eb22: b29a uxth r2, r3 - 800eb24: f8d7 3090 ldr.w r3, [r7, #144] @ 0x90 - 800eb28: b29b uxth r3, r3 - 800eb2a: 029b lsls r3, r3, #10 - 800eb2c: b29b uxth r3, r3 - 800eb2e: 4313 orrs r3, r2 - 800eb30: b29a uxth r2, r3 - 800eb32: 6a7b ldr r3, [r7, #36] @ 0x24 - 800eb34: 801a strh r2, [r3, #0] - 800eb36: e020 b.n 800eb7a - 800eb38: 683b ldr r3, [r7, #0] - 800eb3a: 691b ldr r3, [r3, #16] - 800eb3c: 095b lsrs r3, r3, #5 - 800eb3e: f8c7 3090 str.w r3, [r7, #144] @ 0x90 - 800eb42: 683b ldr r3, [r7, #0] - 800eb44: 691b ldr r3, [r3, #16] - 800eb46: f003 031f and.w r3, r3, #31 - 800eb4a: 2b00 cmp r3, #0 - 800eb4c: d104 bne.n 800eb58 - 800eb4e: f8d7 3090 ldr.w r3, [r7, #144] @ 0x90 - 800eb52: 3b01 subs r3, #1 - 800eb54: f8c7 3090 str.w r3, [r7, #144] @ 0x90 - 800eb58: 6a7b ldr r3, [r7, #36] @ 0x24 - 800eb5a: 881b ldrh r3, [r3, #0] - 800eb5c: b29a uxth r2, r3 - 800eb5e: f8d7 3090 ldr.w r3, [r7, #144] @ 0x90 - 800eb62: b29b uxth r3, r3 - 800eb64: 029b lsls r3, r3, #10 - 800eb66: b29b uxth r3, r3 - 800eb68: 4313 orrs r3, r2 - 800eb6a: b29b uxth r3, r3 - 800eb6c: ea6f 4343 mvn.w r3, r3, lsl #17 - 800eb70: ea6f 4353 mvn.w r3, r3, lsr #17 - 800eb74: b29a uxth r2, r3 - 800eb76: 6a7b ldr r3, [r7, #36] @ 0x24 - 800eb78: 801a strh r2, [r3, #0] + 800f4a0: 687b ldr r3, [r7, #4] + 800f4a2: 62bb str r3, [r7, #40] @ 0x28 + 800f4a4: 687b ldr r3, [r7, #4] + 800f4a6: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800f4aa: b29b uxth r3, r3 + 800f4ac: 461a mov r2, r3 + 800f4ae: 6abb ldr r3, [r7, #40] @ 0x28 + 800f4b0: 4413 add r3, r2 + 800f4b2: 62bb str r3, [r7, #40] @ 0x28 + 800f4b4: 683b ldr r3, [r7, #0] + 800f4b6: 781b ldrb r3, [r3, #0] + 800f4b8: 00da lsls r2, r3, #3 + 800f4ba: 6abb ldr r3, [r7, #40] @ 0x28 + 800f4bc: 4413 add r3, r2 + 800f4be: f203 4306 addw r3, r3, #1030 @ 0x406 + 800f4c2: 627b str r3, [r7, #36] @ 0x24 + 800f4c4: 6a7b ldr r3, [r7, #36] @ 0x24 + 800f4c6: 881b ldrh r3, [r3, #0] + 800f4c8: b29b uxth r3, r3 + 800f4ca: f3c3 0309 ubfx r3, r3, #0, #10 + 800f4ce: b29a uxth r2, r3 + 800f4d0: 6a7b ldr r3, [r7, #36] @ 0x24 + 800f4d2: 801a strh r2, [r3, #0] + 800f4d4: 683b ldr r3, [r7, #0] + 800f4d6: 691b ldr r3, [r3, #16] + 800f4d8: 2b00 cmp r3, #0 + 800f4da: d10a bne.n 800f4f2 + 800f4dc: 6a7b ldr r3, [r7, #36] @ 0x24 + 800f4de: 881b ldrh r3, [r3, #0] + 800f4e0: b29b uxth r3, r3 + 800f4e2: ea6f 4343 mvn.w r3, r3, lsl #17 + 800f4e6: ea6f 4353 mvn.w r3, r3, lsr #17 + 800f4ea: b29a uxth r2, r3 + 800f4ec: 6a7b ldr r3, [r7, #36] @ 0x24 + 800f4ee: 801a strh r2, [r3, #0] + 800f4f0: e041 b.n 800f576 + 800f4f2: 683b ldr r3, [r7, #0] + 800f4f4: 691b ldr r3, [r3, #16] + 800f4f6: 2b3e cmp r3, #62 @ 0x3e + 800f4f8: d81c bhi.n 800f534 + 800f4fa: 683b ldr r3, [r7, #0] + 800f4fc: 691b ldr r3, [r3, #16] + 800f4fe: 085b lsrs r3, r3, #1 + 800f500: f8c7 3090 str.w r3, [r7, #144] @ 0x90 + 800f504: 683b ldr r3, [r7, #0] + 800f506: 691b ldr r3, [r3, #16] + 800f508: f003 0301 and.w r3, r3, #1 + 800f50c: 2b00 cmp r3, #0 + 800f50e: d004 beq.n 800f51a + 800f510: f8d7 3090 ldr.w r3, [r7, #144] @ 0x90 + 800f514: 3301 adds r3, #1 + 800f516: f8c7 3090 str.w r3, [r7, #144] @ 0x90 + 800f51a: 6a7b ldr r3, [r7, #36] @ 0x24 + 800f51c: 881b ldrh r3, [r3, #0] + 800f51e: b29a uxth r2, r3 + 800f520: f8d7 3090 ldr.w r3, [r7, #144] @ 0x90 + 800f524: b29b uxth r3, r3 + 800f526: 029b lsls r3, r3, #10 + 800f528: b29b uxth r3, r3 + 800f52a: 4313 orrs r3, r2 + 800f52c: b29a uxth r2, r3 + 800f52e: 6a7b ldr r3, [r7, #36] @ 0x24 + 800f530: 801a strh r2, [r3, #0] + 800f532: e020 b.n 800f576 + 800f534: 683b ldr r3, [r7, #0] + 800f536: 691b ldr r3, [r3, #16] + 800f538: 095b lsrs r3, r3, #5 + 800f53a: f8c7 3090 str.w r3, [r7, #144] @ 0x90 + 800f53e: 683b ldr r3, [r7, #0] + 800f540: 691b ldr r3, [r3, #16] + 800f542: f003 031f and.w r3, r3, #31 + 800f546: 2b00 cmp r3, #0 + 800f548: d104 bne.n 800f554 + 800f54a: f8d7 3090 ldr.w r3, [r7, #144] @ 0x90 + 800f54e: 3b01 subs r3, #1 + 800f550: f8c7 3090 str.w r3, [r7, #144] @ 0x90 + 800f554: 6a7b ldr r3, [r7, #36] @ 0x24 + 800f556: 881b ldrh r3, [r3, #0] + 800f558: b29a uxth r2, r3 + 800f55a: f8d7 3090 ldr.w r3, [r7, #144] @ 0x90 + 800f55e: b29b uxth r3, r3 + 800f560: 029b lsls r3, r3, #10 + 800f562: b29b uxth r3, r3 + 800f564: 4313 orrs r3, r2 + 800f566: b29b uxth r3, r3 + 800f568: ea6f 4343 mvn.w r3, r3, lsl #17 + 800f56c: ea6f 4353 mvn.w r3, r3, lsr #17 + 800f570: b29a uxth r2, r3 + 800f572: 6a7b ldr r3, [r7, #36] @ 0x24 + 800f574: 801a strh r2, [r3, #0] PCD_CLEAR_RX_DTOG(USBx, ep->num); - 800eb7a: 687a ldr r2, [r7, #4] - 800eb7c: 683b ldr r3, [r7, #0] - 800eb7e: 781b ldrb r3, [r3, #0] - 800eb80: 009b lsls r3, r3, #2 - 800eb82: 4413 add r3, r2 - 800eb84: 881b ldrh r3, [r3, #0] - 800eb86: 847b strh r3, [r7, #34] @ 0x22 - 800eb88: 8c7b ldrh r3, [r7, #34] @ 0x22 - 800eb8a: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800eb8e: 2b00 cmp r3, #0 - 800eb90: d01b beq.n 800ebca - 800eb92: 687a ldr r2, [r7, #4] - 800eb94: 683b ldr r3, [r7, #0] - 800eb96: 781b ldrb r3, [r3, #0] - 800eb98: 009b lsls r3, r3, #2 - 800eb9a: 4413 add r3, r2 - 800eb9c: 881b ldrh r3, [r3, #0] - 800eb9e: b29b uxth r3, r3 - 800eba0: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800eba4: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800eba8: 843b strh r3, [r7, #32] - 800ebaa: 687a ldr r2, [r7, #4] - 800ebac: 683b ldr r3, [r7, #0] - 800ebae: 781b ldrb r3, [r3, #0] - 800ebb0: 009b lsls r3, r3, #2 - 800ebb2: 441a add r2, r3 - 800ebb4: 8c3b ldrh r3, [r7, #32] - 800ebb6: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ebba: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ebbe: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800ebc2: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800ebc6: b29b uxth r3, r3 - 800ebc8: 8013 strh r3, [r2, #0] + 800f576: 687a ldr r2, [r7, #4] + 800f578: 683b ldr r3, [r7, #0] + 800f57a: 781b ldrb r3, [r3, #0] + 800f57c: 009b lsls r3, r3, #2 + 800f57e: 4413 add r3, r2 + 800f580: 881b ldrh r3, [r3, #0] + 800f582: 847b strh r3, [r7, #34] @ 0x22 + 800f584: 8c7b ldrh r3, [r7, #34] @ 0x22 + 800f586: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800f58a: 2b00 cmp r3, #0 + 800f58c: d01b beq.n 800f5c6 + 800f58e: 687a ldr r2, [r7, #4] + 800f590: 683b ldr r3, [r7, #0] + 800f592: 781b ldrb r3, [r3, #0] + 800f594: 009b lsls r3, r3, #2 + 800f596: 4413 add r3, r2 + 800f598: 881b ldrh r3, [r3, #0] + 800f59a: b29b uxth r3, r3 + 800f59c: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f5a0: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f5a4: 843b strh r3, [r7, #32] + 800f5a6: 687a ldr r2, [r7, #4] + 800f5a8: 683b ldr r3, [r7, #0] + 800f5aa: 781b ldrb r3, [r3, #0] + 800f5ac: 009b lsls r3, r3, #2 + 800f5ae: 441a add r2, r3 + 800f5b0: 8c3b ldrh r3, [r7, #32] + 800f5b2: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f5b6: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f5ba: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800f5be: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f5c2: b29b uxth r3, r3 + 800f5c4: 8013 strh r3, [r2, #0] if (ep->num == 0U) - 800ebca: 683b ldr r3, [r7, #0] - 800ebcc: 781b ldrb r3, [r3, #0] - 800ebce: 2b00 cmp r3, #0 - 800ebd0: d124 bne.n 800ec1c + 800f5c6: 683b ldr r3, [r7, #0] + 800f5c8: 781b ldrb r3, [r3, #0] + 800f5ca: 2b00 cmp r3, #0 + 800f5cc: d124 bne.n 800f618 { /* Configure VALID status for EP0 */ PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); - 800ebd2: 687a ldr r2, [r7, #4] - 800ebd4: 683b ldr r3, [r7, #0] - 800ebd6: 781b ldrb r3, [r3, #0] - 800ebd8: 009b lsls r3, r3, #2 - 800ebda: 4413 add r3, r2 - 800ebdc: 881b ldrh r3, [r3, #0] - 800ebde: b29b uxth r3, r3 - 800ebe0: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800ebe4: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800ebe8: 83bb strh r3, [r7, #28] - 800ebea: 8bbb ldrh r3, [r7, #28] - 800ebec: f483 5380 eor.w r3, r3, #4096 @ 0x1000 - 800ebf0: 83bb strh r3, [r7, #28] - 800ebf2: 8bbb ldrh r3, [r7, #28] - 800ebf4: f483 5300 eor.w r3, r3, #8192 @ 0x2000 - 800ebf8: 83bb strh r3, [r7, #28] - 800ebfa: 687a ldr r2, [r7, #4] - 800ebfc: 683b ldr r3, [r7, #0] - 800ebfe: 781b ldrb r3, [r3, #0] - 800ec00: 009b lsls r3, r3, #2 - 800ec02: 441a add r2, r3 - 800ec04: 8bbb ldrh r3, [r7, #28] - 800ec06: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ec0a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ec0e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800ec12: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800ec16: b29b uxth r3, r3 - 800ec18: 8013 strh r3, [r2, #0] - 800ec1a: e306 b.n 800f22a + 800f5ce: 687a ldr r2, [r7, #4] + 800f5d0: 683b ldr r3, [r7, #0] + 800f5d2: 781b ldrb r3, [r3, #0] + 800f5d4: 009b lsls r3, r3, #2 + 800f5d6: 4413 add r3, r2 + 800f5d8: 881b ldrh r3, [r3, #0] + 800f5da: b29b uxth r3, r3 + 800f5dc: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800f5e0: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f5e4: 83bb strh r3, [r7, #28] + 800f5e6: 8bbb ldrh r3, [r7, #28] + 800f5e8: f483 5380 eor.w r3, r3, #4096 @ 0x1000 + 800f5ec: 83bb strh r3, [r7, #28] + 800f5ee: 8bbb ldrh r3, [r7, #28] + 800f5f0: f483 5300 eor.w r3, r3, #8192 @ 0x2000 + 800f5f4: 83bb strh r3, [r7, #28] + 800f5f6: 687a ldr r2, [r7, #4] + 800f5f8: 683b ldr r3, [r7, #0] + 800f5fa: 781b ldrb r3, [r3, #0] + 800f5fc: 009b lsls r3, r3, #2 + 800f5fe: 441a add r2, r3 + 800f600: 8bbb ldrh r3, [r7, #28] + 800f602: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f606: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f60a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f60e: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f612: b29b uxth r3, r3 + 800f614: 8013 strh r3, [r2, #0] + 800f616: e306 b.n 800fc26 } else { /* Configure NAK status for OUT Endpoint */ PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_NAK); - 800ec1c: 687a ldr r2, [r7, #4] - 800ec1e: 683b ldr r3, [r7, #0] - 800ec20: 781b ldrb r3, [r3, #0] - 800ec22: 009b lsls r3, r3, #2 - 800ec24: 4413 add r3, r2 - 800ec26: 881b ldrh r3, [r3, #0] - 800ec28: b29b uxth r3, r3 - 800ec2a: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800ec2e: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800ec32: 83fb strh r3, [r7, #30] - 800ec34: 8bfb ldrh r3, [r7, #30] - 800ec36: f483 5300 eor.w r3, r3, #8192 @ 0x2000 - 800ec3a: 83fb strh r3, [r7, #30] - 800ec3c: 687a ldr r2, [r7, #4] - 800ec3e: 683b ldr r3, [r7, #0] - 800ec40: 781b ldrb r3, [r3, #0] - 800ec42: 009b lsls r3, r3, #2 - 800ec44: 441a add r2, r3 - 800ec46: 8bfb ldrh r3, [r7, #30] - 800ec48: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ec4c: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ec50: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800ec54: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800ec58: b29b uxth r3, r3 - 800ec5a: 8013 strh r3, [r2, #0] - 800ec5c: e2e5 b.n 800f22a + 800f618: 687a ldr r2, [r7, #4] + 800f61a: 683b ldr r3, [r7, #0] + 800f61c: 781b ldrb r3, [r3, #0] + 800f61e: 009b lsls r3, r3, #2 + 800f620: 4413 add r3, r2 + 800f622: 881b ldrh r3, [r3, #0] + 800f624: b29b uxth r3, r3 + 800f626: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800f62a: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f62e: 83fb strh r3, [r7, #30] + 800f630: 8bfb ldrh r3, [r7, #30] + 800f632: f483 5300 eor.w r3, r3, #8192 @ 0x2000 + 800f636: 83fb strh r3, [r7, #30] + 800f638: 687a ldr r2, [r7, #4] + 800f63a: 683b ldr r3, [r7, #0] + 800f63c: 781b ldrb r3, [r3, #0] + 800f63e: 009b lsls r3, r3, #2 + 800f640: 441a add r2, r3 + 800f642: 8bfb ldrh r3, [r7, #30] + 800f644: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f648: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f64c: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f650: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f654: b29b uxth r3, r3 + 800f656: 8013 strh r3, [r2, #0] + 800f658: e2e5 b.n 800fc26 } #if (USE_USB_DOUBLE_BUFFER == 1U) /* Double Buffer */ else { if (ep->type == EP_TYPE_BULK) - 800ec5e: 683b ldr r3, [r7, #0] - 800ec60: 78db ldrb r3, [r3, #3] - 800ec62: 2b02 cmp r3, #2 - 800ec64: d11e bne.n 800eca4 + 800f65a: 683b ldr r3, [r7, #0] + 800f65c: 78db ldrb r3, [r3, #3] + 800f65e: 2b02 cmp r3, #2 + 800f660: d11e bne.n 800f6a0 { /* Set bulk endpoint as double buffered */ PCD_SET_BULK_EP_DBUF(USBx, ep->num); - 800ec66: 687a ldr r2, [r7, #4] - 800ec68: 683b ldr r3, [r7, #0] - 800ec6a: 781b ldrb r3, [r3, #0] - 800ec6c: 009b lsls r3, r3, #2 - 800ec6e: 4413 add r3, r2 - 800ec70: 881b ldrh r3, [r3, #0] - 800ec72: b29b uxth r3, r3 - 800ec74: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800ec78: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800ec7c: f8a7 3082 strh.w r3, [r7, #130] @ 0x82 - 800ec80: 687a ldr r2, [r7, #4] - 800ec82: 683b ldr r3, [r7, #0] - 800ec84: 781b ldrb r3, [r3, #0] - 800ec86: 009b lsls r3, r3, #2 - 800ec88: 441a add r2, r3 - 800ec8a: f8b7 3082 ldrh.w r3, [r7, #130] @ 0x82 - 800ec8e: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ec92: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ec96: f443 4301 orr.w r3, r3, #33024 @ 0x8100 - 800ec9a: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800ec9e: b29b uxth r3, r3 - 800eca0: 8013 strh r3, [r2, #0] - 800eca2: e01d b.n 800ece0 + 800f662: 687a ldr r2, [r7, #4] + 800f664: 683b ldr r3, [r7, #0] + 800f666: 781b ldrb r3, [r3, #0] + 800f668: 009b lsls r3, r3, #2 + 800f66a: 4413 add r3, r2 + 800f66c: 881b ldrh r3, [r3, #0] + 800f66e: b29b uxth r3, r3 + 800f670: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f674: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f678: f8a7 3082 strh.w r3, [r7, #130] @ 0x82 + 800f67c: 687a ldr r2, [r7, #4] + 800f67e: 683b ldr r3, [r7, #0] + 800f680: 781b ldrb r3, [r3, #0] + 800f682: 009b lsls r3, r3, #2 + 800f684: 441a add r2, r3 + 800f686: f8b7 3082 ldrh.w r3, [r7, #130] @ 0x82 + 800f68a: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f68e: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f692: f443 4301 orr.w r3, r3, #33024 @ 0x8100 + 800f696: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f69a: b29b uxth r3, r3 + 800f69c: 8013 strh r3, [r2, #0] + 800f69e: e01d b.n 800f6dc } else { /* Set the ISOC endpoint in double buffer mode */ PCD_CLEAR_EP_KIND(USBx, ep->num); - 800eca4: 687a ldr r2, [r7, #4] - 800eca6: 683b ldr r3, [r7, #0] - 800eca8: 781b ldrb r3, [r3, #0] - 800ecaa: 009b lsls r3, r3, #2 - 800ecac: 4413 add r3, r2 - 800ecae: 881b ldrh r3, [r3, #0] - 800ecb0: b29b uxth r3, r3 - 800ecb2: f423 43e2 bic.w r3, r3, #28928 @ 0x7100 - 800ecb6: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800ecba: f8a7 3084 strh.w r3, [r7, #132] @ 0x84 - 800ecbe: 687a ldr r2, [r7, #4] - 800ecc0: 683b ldr r3, [r7, #0] - 800ecc2: 781b ldrb r3, [r3, #0] - 800ecc4: 009b lsls r3, r3, #2 - 800ecc6: 441a add r2, r3 - 800ecc8: f8b7 3084 ldrh.w r3, [r7, #132] @ 0x84 - 800eccc: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ecd0: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ecd4: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800ecd8: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800ecdc: b29b uxth r3, r3 - 800ecde: 8013 strh r3, [r2, #0] + 800f6a0: 687a ldr r2, [r7, #4] + 800f6a2: 683b ldr r3, [r7, #0] + 800f6a4: 781b ldrb r3, [r3, #0] + 800f6a6: 009b lsls r3, r3, #2 + 800f6a8: 4413 add r3, r2 + 800f6aa: 881b ldrh r3, [r3, #0] + 800f6ac: b29b uxth r3, r3 + 800f6ae: f423 43e2 bic.w r3, r3, #28928 @ 0x7100 + 800f6b2: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f6b6: f8a7 3084 strh.w r3, [r7, #132] @ 0x84 + 800f6ba: 687a ldr r2, [r7, #4] + 800f6bc: 683b ldr r3, [r7, #0] + 800f6be: 781b ldrb r3, [r3, #0] + 800f6c0: 009b lsls r3, r3, #2 + 800f6c2: 441a add r2, r3 + 800f6c4: f8b7 3084 ldrh.w r3, [r7, #132] @ 0x84 + 800f6c8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f6cc: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f6d0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f6d4: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f6d8: b29b uxth r3, r3 + 800f6da: 8013 strh r3, [r2, #0] } /* Set buffer address for double buffered mode */ PCD_SET_EP_DBUF_ADDR(USBx, ep->num, ep->pmaaddr0, ep->pmaaddr1); - 800ece0: 687b ldr r3, [r7, #4] - 800ece2: 67fb str r3, [r7, #124] @ 0x7c - 800ece4: 687b ldr r3, [r7, #4] - 800ece6: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800ecea: b29b uxth r3, r3 - 800ecec: 461a mov r2, r3 - 800ecee: 6ffb ldr r3, [r7, #124] @ 0x7c - 800ecf0: 4413 add r3, r2 - 800ecf2: 67fb str r3, [r7, #124] @ 0x7c - 800ecf4: 683b ldr r3, [r7, #0] - 800ecf6: 781b ldrb r3, [r3, #0] - 800ecf8: 00da lsls r2, r3, #3 - 800ecfa: 6ffb ldr r3, [r7, #124] @ 0x7c - 800ecfc: 4413 add r3, r2 - 800ecfe: f503 6380 add.w r3, r3, #1024 @ 0x400 - 800ed02: 67bb str r3, [r7, #120] @ 0x78 - 800ed04: 683b ldr r3, [r7, #0] - 800ed06: 891b ldrh r3, [r3, #8] - 800ed08: 085b lsrs r3, r3, #1 - 800ed0a: b29b uxth r3, r3 - 800ed0c: 005b lsls r3, r3, #1 - 800ed0e: b29a uxth r2, r3 - 800ed10: 6fbb ldr r3, [r7, #120] @ 0x78 - 800ed12: 801a strh r2, [r3, #0] - 800ed14: 687b ldr r3, [r7, #4] - 800ed16: 677b str r3, [r7, #116] @ 0x74 - 800ed18: 687b ldr r3, [r7, #4] - 800ed1a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800ed1e: b29b uxth r3, r3 - 800ed20: 461a mov r2, r3 - 800ed22: 6f7b ldr r3, [r7, #116] @ 0x74 - 800ed24: 4413 add r3, r2 - 800ed26: 677b str r3, [r7, #116] @ 0x74 - 800ed28: 683b ldr r3, [r7, #0] - 800ed2a: 781b ldrb r3, [r3, #0] - 800ed2c: 00da lsls r2, r3, #3 - 800ed2e: 6f7b ldr r3, [r7, #116] @ 0x74 - 800ed30: 4413 add r3, r2 - 800ed32: f203 4304 addw r3, r3, #1028 @ 0x404 - 800ed36: 673b str r3, [r7, #112] @ 0x70 - 800ed38: 683b ldr r3, [r7, #0] - 800ed3a: 895b ldrh r3, [r3, #10] - 800ed3c: 085b lsrs r3, r3, #1 - 800ed3e: b29b uxth r3, r3 - 800ed40: 005b lsls r3, r3, #1 - 800ed42: b29a uxth r2, r3 - 800ed44: 6f3b ldr r3, [r7, #112] @ 0x70 - 800ed46: 801a strh r2, [r3, #0] + 800f6dc: 687b ldr r3, [r7, #4] + 800f6de: 67fb str r3, [r7, #124] @ 0x7c + 800f6e0: 687b ldr r3, [r7, #4] + 800f6e2: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800f6e6: b29b uxth r3, r3 + 800f6e8: 461a mov r2, r3 + 800f6ea: 6ffb ldr r3, [r7, #124] @ 0x7c + 800f6ec: 4413 add r3, r2 + 800f6ee: 67fb str r3, [r7, #124] @ 0x7c + 800f6f0: 683b ldr r3, [r7, #0] + 800f6f2: 781b ldrb r3, [r3, #0] + 800f6f4: 00da lsls r2, r3, #3 + 800f6f6: 6ffb ldr r3, [r7, #124] @ 0x7c + 800f6f8: 4413 add r3, r2 + 800f6fa: f503 6380 add.w r3, r3, #1024 @ 0x400 + 800f6fe: 67bb str r3, [r7, #120] @ 0x78 + 800f700: 683b ldr r3, [r7, #0] + 800f702: 891b ldrh r3, [r3, #8] + 800f704: 085b lsrs r3, r3, #1 + 800f706: b29b uxth r3, r3 + 800f708: 005b lsls r3, r3, #1 + 800f70a: b29a uxth r2, r3 + 800f70c: 6fbb ldr r3, [r7, #120] @ 0x78 + 800f70e: 801a strh r2, [r3, #0] + 800f710: 687b ldr r3, [r7, #4] + 800f712: 677b str r3, [r7, #116] @ 0x74 + 800f714: 687b ldr r3, [r7, #4] + 800f716: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800f71a: b29b uxth r3, r3 + 800f71c: 461a mov r2, r3 + 800f71e: 6f7b ldr r3, [r7, #116] @ 0x74 + 800f720: 4413 add r3, r2 + 800f722: 677b str r3, [r7, #116] @ 0x74 + 800f724: 683b ldr r3, [r7, #0] + 800f726: 781b ldrb r3, [r3, #0] + 800f728: 00da lsls r2, r3, #3 + 800f72a: 6f7b ldr r3, [r7, #116] @ 0x74 + 800f72c: 4413 add r3, r2 + 800f72e: f203 4304 addw r3, r3, #1028 @ 0x404 + 800f732: 673b str r3, [r7, #112] @ 0x70 + 800f734: 683b ldr r3, [r7, #0] + 800f736: 895b ldrh r3, [r3, #10] + 800f738: 085b lsrs r3, r3, #1 + 800f73a: b29b uxth r3, r3 + 800f73c: 005b lsls r3, r3, #1 + 800f73e: b29a uxth r2, r3 + 800f740: 6f3b ldr r3, [r7, #112] @ 0x70 + 800f742: 801a strh r2, [r3, #0] if (ep->is_in == 0U) - 800ed48: 683b ldr r3, [r7, #0] - 800ed4a: 785b ldrb r3, [r3, #1] - 800ed4c: 2b00 cmp r3, #0 - 800ed4e: f040 81af bne.w 800f0b0 + 800f744: 683b ldr r3, [r7, #0] + 800f746: 785b ldrb r3, [r3, #1] + 800f748: 2b00 cmp r3, #0 + 800f74a: f040 81af bne.w 800faac { /* Clear the data toggle bits for the endpoint IN/OUT */ PCD_CLEAR_RX_DTOG(USBx, ep->num); - 800ed52: 687a ldr r2, [r7, #4] - 800ed54: 683b ldr r3, [r7, #0] - 800ed56: 781b ldrb r3, [r3, #0] - 800ed58: 009b lsls r3, r3, #2 - 800ed5a: 4413 add r3, r2 - 800ed5c: 881b ldrh r3, [r3, #0] - 800ed5e: f8a7 3060 strh.w r3, [r7, #96] @ 0x60 - 800ed62: f8b7 3060 ldrh.w r3, [r7, #96] @ 0x60 - 800ed66: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800ed6a: 2b00 cmp r3, #0 - 800ed6c: d01d beq.n 800edaa - 800ed6e: 687a ldr r2, [r7, #4] - 800ed70: 683b ldr r3, [r7, #0] - 800ed72: 781b ldrb r3, [r3, #0] - 800ed74: 009b lsls r3, r3, #2 - 800ed76: 4413 add r3, r2 - 800ed78: 881b ldrh r3, [r3, #0] - 800ed7a: b29b uxth r3, r3 - 800ed7c: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800ed80: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800ed84: f8a7 305e strh.w r3, [r7, #94] @ 0x5e - 800ed88: 687a ldr r2, [r7, #4] - 800ed8a: 683b ldr r3, [r7, #0] - 800ed8c: 781b ldrb r3, [r3, #0] - 800ed8e: 009b lsls r3, r3, #2 - 800ed90: 441a add r2, r3 - 800ed92: f8b7 305e ldrh.w r3, [r7, #94] @ 0x5e - 800ed96: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ed9a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ed9e: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800eda2: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800eda6: b29b uxth r3, r3 - 800eda8: 8013 strh r3, [r2, #0] + 800f74e: 687a ldr r2, [r7, #4] + 800f750: 683b ldr r3, [r7, #0] + 800f752: 781b ldrb r3, [r3, #0] + 800f754: 009b lsls r3, r3, #2 + 800f756: 4413 add r3, r2 + 800f758: 881b ldrh r3, [r3, #0] + 800f75a: f8a7 3060 strh.w r3, [r7, #96] @ 0x60 + 800f75e: f8b7 3060 ldrh.w r3, [r7, #96] @ 0x60 + 800f762: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800f766: 2b00 cmp r3, #0 + 800f768: d01d beq.n 800f7a6 + 800f76a: 687a ldr r2, [r7, #4] + 800f76c: 683b ldr r3, [r7, #0] + 800f76e: 781b ldrb r3, [r3, #0] + 800f770: 009b lsls r3, r3, #2 + 800f772: 4413 add r3, r2 + 800f774: 881b ldrh r3, [r3, #0] + 800f776: b29b uxth r3, r3 + 800f778: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f77c: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f780: f8a7 305e strh.w r3, [r7, #94] @ 0x5e + 800f784: 687a ldr r2, [r7, #4] + 800f786: 683b ldr r3, [r7, #0] + 800f788: 781b ldrb r3, [r3, #0] + 800f78a: 009b lsls r3, r3, #2 + 800f78c: 441a add r2, r3 + 800f78e: f8b7 305e ldrh.w r3, [r7, #94] @ 0x5e + 800f792: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f796: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f79a: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800f79e: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800f7a2: b29b uxth r3, r3 + 800f7a4: 8013 strh r3, [r2, #0] PCD_CLEAR_TX_DTOG(USBx, ep->num); - 800edaa: 687a ldr r2, [r7, #4] - 800edac: 683b ldr r3, [r7, #0] - 800edae: 781b ldrb r3, [r3, #0] - 800edb0: 009b lsls r3, r3, #2 - 800edb2: 4413 add r3, r2 - 800edb4: 881b ldrh r3, [r3, #0] - 800edb6: f8a7 305c strh.w r3, [r7, #92] @ 0x5c - 800edba: f8b7 305c ldrh.w r3, [r7, #92] @ 0x5c - 800edbe: f003 0340 and.w r3, r3, #64 @ 0x40 - 800edc2: 2b00 cmp r3, #0 - 800edc4: d01d beq.n 800ee02 - 800edc6: 687a ldr r2, [r7, #4] - 800edc8: 683b ldr r3, [r7, #0] - 800edca: 781b ldrb r3, [r3, #0] - 800edcc: 009b lsls r3, r3, #2 - 800edce: 4413 add r3, r2 - 800edd0: 881b ldrh r3, [r3, #0] - 800edd2: b29b uxth r3, r3 - 800edd4: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800edd8: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800eddc: f8a7 305a strh.w r3, [r7, #90] @ 0x5a - 800ede0: 687a ldr r2, [r7, #4] - 800ede2: 683b ldr r3, [r7, #0] - 800ede4: 781b ldrb r3, [r3, #0] - 800ede6: 009b lsls r3, r3, #2 - 800ede8: 441a add r2, r3 - 800edea: f8b7 305a ldrh.w r3, [r7, #90] @ 0x5a - 800edee: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800edf2: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800edf6: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800edfa: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 800edfe: b29b uxth r3, r3 - 800ee00: 8013 strh r3, [r2, #0] + 800f7a6: 687a ldr r2, [r7, #4] + 800f7a8: 683b ldr r3, [r7, #0] + 800f7aa: 781b ldrb r3, [r3, #0] + 800f7ac: 009b lsls r3, r3, #2 + 800f7ae: 4413 add r3, r2 + 800f7b0: 881b ldrh r3, [r3, #0] + 800f7b2: f8a7 305c strh.w r3, [r7, #92] @ 0x5c + 800f7b6: f8b7 305c ldrh.w r3, [r7, #92] @ 0x5c + 800f7ba: f003 0340 and.w r3, r3, #64 @ 0x40 + 800f7be: 2b00 cmp r3, #0 + 800f7c0: d01d beq.n 800f7fe + 800f7c2: 687a ldr r2, [r7, #4] + 800f7c4: 683b ldr r3, [r7, #0] + 800f7c6: 781b ldrb r3, [r3, #0] + 800f7c8: 009b lsls r3, r3, #2 + 800f7ca: 4413 add r3, r2 + 800f7cc: 881b ldrh r3, [r3, #0] + 800f7ce: b29b uxth r3, r3 + 800f7d0: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800f7d4: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800f7d8: f8a7 305a strh.w r3, [r7, #90] @ 0x5a + 800f7dc: 687a ldr r2, [r7, #4] + 800f7de: 683b ldr r3, [r7, #0] + 800f7e0: 781b ldrb r3, [r3, #0] + 800f7e2: 009b lsls r3, r3, #2 + 800f7e4: 441a add r2, r3 + 800f7e6: f8b7 305a ldrh.w r3, [r7, #90] @ 0x5a + 800f7ea: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800f7ee: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800f7f2: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800f7f6: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800f7fa: b29b uxth r3, r3 + 800f7fc: 8013 strh r3, [r2, #0] /* Set endpoint RX count */ PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, ep->maxpacket); - 800ee02: 683b ldr r3, [r7, #0] - 800ee04: 785b ldrb r3, [r3, #1] - 800ee06: 2b00 cmp r3, #0 - 800ee08: d16b bne.n 800eee2 - 800ee0a: 687b ldr r3, [r7, #4] - 800ee0c: 64fb str r3, [r7, #76] @ 0x4c - 800ee0e: 687b ldr r3, [r7, #4] - 800ee10: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800ee14: b29b uxth r3, r3 - 800ee16: 461a mov r2, r3 - 800ee18: 6cfb ldr r3, [r7, #76] @ 0x4c - 800ee1a: 4413 add r3, r2 - 800ee1c: 64fb str r3, [r7, #76] @ 0x4c - 800ee1e: 683b ldr r3, [r7, #0] - 800ee20: 781b ldrb r3, [r3, #0] - 800ee22: 00da lsls r2, r3, #3 - 800ee24: 6cfb ldr r3, [r7, #76] @ 0x4c - 800ee26: 4413 add r3, r2 - 800ee28: f203 4302 addw r3, r3, #1026 @ 0x402 - 800ee2c: 64bb str r3, [r7, #72] @ 0x48 - 800ee2e: 6cbb ldr r3, [r7, #72] @ 0x48 - 800ee30: 881b ldrh r3, [r3, #0] - 800ee32: b29b uxth r3, r3 - 800ee34: f3c3 0309 ubfx r3, r3, #0, #10 - 800ee38: b29a uxth r2, r3 - 800ee3a: 6cbb ldr r3, [r7, #72] @ 0x48 - 800ee3c: 801a strh r2, [r3, #0] - 800ee3e: 683b ldr r3, [r7, #0] - 800ee40: 691b ldr r3, [r3, #16] - 800ee42: 2b00 cmp r3, #0 - 800ee44: d10a bne.n 800ee5c - 800ee46: 6cbb ldr r3, [r7, #72] @ 0x48 - 800ee48: 881b ldrh r3, [r3, #0] - 800ee4a: b29b uxth r3, r3 - 800ee4c: ea6f 4343 mvn.w r3, r3, lsl #17 - 800ee50: ea6f 4353 mvn.w r3, r3, lsr #17 - 800ee54: b29a uxth r2, r3 - 800ee56: 6cbb ldr r3, [r7, #72] @ 0x48 - 800ee58: 801a strh r2, [r3, #0] - 800ee5a: e05d b.n 800ef18 - 800ee5c: 683b ldr r3, [r7, #0] - 800ee5e: 691b ldr r3, [r3, #16] - 800ee60: 2b3e cmp r3, #62 @ 0x3e - 800ee62: d81c bhi.n 800ee9e - 800ee64: 683b ldr r3, [r7, #0] - 800ee66: 691b ldr r3, [r3, #16] - 800ee68: 085b lsrs r3, r3, #1 - 800ee6a: f8c7 308c str.w r3, [r7, #140] @ 0x8c - 800ee6e: 683b ldr r3, [r7, #0] - 800ee70: 691b ldr r3, [r3, #16] - 800ee72: f003 0301 and.w r3, r3, #1 - 800ee76: 2b00 cmp r3, #0 - 800ee78: d004 beq.n 800ee84 - 800ee7a: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c - 800ee7e: 3301 adds r3, #1 - 800ee80: f8c7 308c str.w r3, [r7, #140] @ 0x8c - 800ee84: 6cbb ldr r3, [r7, #72] @ 0x48 - 800ee86: 881b ldrh r3, [r3, #0] - 800ee88: b29a uxth r2, r3 - 800ee8a: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c - 800ee8e: b29b uxth r3, r3 - 800ee90: 029b lsls r3, r3, #10 - 800ee92: b29b uxth r3, r3 - 800ee94: 4313 orrs r3, r2 - 800ee96: b29a uxth r2, r3 - 800ee98: 6cbb ldr r3, [r7, #72] @ 0x48 - 800ee9a: 801a strh r2, [r3, #0] - 800ee9c: e03c b.n 800ef18 - 800ee9e: 683b ldr r3, [r7, #0] - 800eea0: 691b ldr r3, [r3, #16] - 800eea2: 095b lsrs r3, r3, #5 - 800eea4: f8c7 308c str.w r3, [r7, #140] @ 0x8c - 800eea8: 683b ldr r3, [r7, #0] - 800eeaa: 691b ldr r3, [r3, #16] - 800eeac: f003 031f and.w r3, r3, #31 - 800eeb0: 2b00 cmp r3, #0 - 800eeb2: d104 bne.n 800eebe - 800eeb4: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c - 800eeb8: 3b01 subs r3, #1 - 800eeba: f8c7 308c str.w r3, [r7, #140] @ 0x8c - 800eebe: 6cbb ldr r3, [r7, #72] @ 0x48 - 800eec0: 881b ldrh r3, [r3, #0] - 800eec2: b29a uxth r2, r3 - 800eec4: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c - 800eec8: b29b uxth r3, r3 - 800eeca: 029b lsls r3, r3, #10 - 800eecc: b29b uxth r3, r3 - 800eece: 4313 orrs r3, r2 - 800eed0: b29b uxth r3, r3 - 800eed2: ea6f 4343 mvn.w r3, r3, lsl #17 - 800eed6: ea6f 4353 mvn.w r3, r3, lsr #17 - 800eeda: b29a uxth r2, r3 - 800eedc: 6cbb ldr r3, [r7, #72] @ 0x48 - 800eede: 801a strh r2, [r3, #0] - 800eee0: e01a b.n 800ef18 - 800eee2: 683b ldr r3, [r7, #0] - 800eee4: 785b ldrb r3, [r3, #1] - 800eee6: 2b01 cmp r3, #1 - 800eee8: d116 bne.n 800ef18 - 800eeea: 687b ldr r3, [r7, #4] - 800eeec: 657b str r3, [r7, #84] @ 0x54 - 800eeee: 687b ldr r3, [r7, #4] - 800eef0: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800eef4: b29b uxth r3, r3 - 800eef6: 461a mov r2, r3 - 800eef8: 6d7b ldr r3, [r7, #84] @ 0x54 - 800eefa: 4413 add r3, r2 - 800eefc: 657b str r3, [r7, #84] @ 0x54 - 800eefe: 683b ldr r3, [r7, #0] - 800ef00: 781b ldrb r3, [r3, #0] - 800ef02: 00da lsls r2, r3, #3 - 800ef04: 6d7b ldr r3, [r7, #84] @ 0x54 - 800ef06: 4413 add r3, r2 - 800ef08: f203 4302 addw r3, r3, #1026 @ 0x402 - 800ef0c: 653b str r3, [r7, #80] @ 0x50 - 800ef0e: 683b ldr r3, [r7, #0] - 800ef10: 691b ldr r3, [r3, #16] - 800ef12: b29a uxth r2, r3 - 800ef14: 6d3b ldr r3, [r7, #80] @ 0x50 - 800ef16: 801a strh r2, [r3, #0] - 800ef18: 687b ldr r3, [r7, #4] - 800ef1a: 647b str r3, [r7, #68] @ 0x44 - 800ef1c: 683b ldr r3, [r7, #0] - 800ef1e: 785b ldrb r3, [r3, #1] - 800ef20: 2b00 cmp r3, #0 - 800ef22: d16b bne.n 800effc - 800ef24: 687b ldr r3, [r7, #4] - 800ef26: 63fb str r3, [r7, #60] @ 0x3c - 800ef28: 687b ldr r3, [r7, #4] - 800ef2a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800ef2e: b29b uxth r3, r3 - 800ef30: 461a mov r2, r3 - 800ef32: 6bfb ldr r3, [r7, #60] @ 0x3c - 800ef34: 4413 add r3, r2 - 800ef36: 63fb str r3, [r7, #60] @ 0x3c - 800ef38: 683b ldr r3, [r7, #0] - 800ef3a: 781b ldrb r3, [r3, #0] - 800ef3c: 00da lsls r2, r3, #3 - 800ef3e: 6bfb ldr r3, [r7, #60] @ 0x3c - 800ef40: 4413 add r3, r2 - 800ef42: f203 4306 addw r3, r3, #1030 @ 0x406 - 800ef46: 63bb str r3, [r7, #56] @ 0x38 - 800ef48: 6bbb ldr r3, [r7, #56] @ 0x38 - 800ef4a: 881b ldrh r3, [r3, #0] - 800ef4c: b29b uxth r3, r3 - 800ef4e: f3c3 0309 ubfx r3, r3, #0, #10 - 800ef52: b29a uxth r2, r3 - 800ef54: 6bbb ldr r3, [r7, #56] @ 0x38 - 800ef56: 801a strh r2, [r3, #0] - 800ef58: 683b ldr r3, [r7, #0] - 800ef5a: 691b ldr r3, [r3, #16] - 800ef5c: 2b00 cmp r3, #0 - 800ef5e: d10a bne.n 800ef76 - 800ef60: 6bbb ldr r3, [r7, #56] @ 0x38 - 800ef62: 881b ldrh r3, [r3, #0] - 800ef64: b29b uxth r3, r3 - 800ef66: ea6f 4343 mvn.w r3, r3, lsl #17 - 800ef6a: ea6f 4353 mvn.w r3, r3, lsr #17 - 800ef6e: b29a uxth r2, r3 - 800ef70: 6bbb ldr r3, [r7, #56] @ 0x38 - 800ef72: 801a strh r2, [r3, #0] - 800ef74: e05b b.n 800f02e - 800ef76: 683b ldr r3, [r7, #0] - 800ef78: 691b ldr r3, [r3, #16] - 800ef7a: 2b3e cmp r3, #62 @ 0x3e - 800ef7c: d81c bhi.n 800efb8 - 800ef7e: 683b ldr r3, [r7, #0] - 800ef80: 691b ldr r3, [r3, #16] - 800ef82: 085b lsrs r3, r3, #1 - 800ef84: f8c7 3088 str.w r3, [r7, #136] @ 0x88 - 800ef88: 683b ldr r3, [r7, #0] - 800ef8a: 691b ldr r3, [r3, #16] - 800ef8c: f003 0301 and.w r3, r3, #1 - 800ef90: 2b00 cmp r3, #0 - 800ef92: d004 beq.n 800ef9e - 800ef94: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 - 800ef98: 3301 adds r3, #1 - 800ef9a: f8c7 3088 str.w r3, [r7, #136] @ 0x88 - 800ef9e: 6bbb ldr r3, [r7, #56] @ 0x38 - 800efa0: 881b ldrh r3, [r3, #0] - 800efa2: b29a uxth r2, r3 - 800efa4: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 - 800efa8: b29b uxth r3, r3 - 800efaa: 029b lsls r3, r3, #10 - 800efac: b29b uxth r3, r3 - 800efae: 4313 orrs r3, r2 - 800efb0: b29a uxth r2, r3 - 800efb2: 6bbb ldr r3, [r7, #56] @ 0x38 - 800efb4: 801a strh r2, [r3, #0] - 800efb6: e03a b.n 800f02e - 800efb8: 683b ldr r3, [r7, #0] - 800efba: 691b ldr r3, [r3, #16] - 800efbc: 095b lsrs r3, r3, #5 - 800efbe: f8c7 3088 str.w r3, [r7, #136] @ 0x88 - 800efc2: 683b ldr r3, [r7, #0] - 800efc4: 691b ldr r3, [r3, #16] - 800efc6: f003 031f and.w r3, r3, #31 - 800efca: 2b00 cmp r3, #0 - 800efcc: d104 bne.n 800efd8 - 800efce: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 - 800efd2: 3b01 subs r3, #1 - 800efd4: f8c7 3088 str.w r3, [r7, #136] @ 0x88 - 800efd8: 6bbb ldr r3, [r7, #56] @ 0x38 - 800efda: 881b ldrh r3, [r3, #0] - 800efdc: b29a uxth r2, r3 - 800efde: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 - 800efe2: b29b uxth r3, r3 - 800efe4: 029b lsls r3, r3, #10 - 800efe6: b29b uxth r3, r3 - 800efe8: 4313 orrs r3, r2 - 800efea: b29b uxth r3, r3 - 800efec: ea6f 4343 mvn.w r3, r3, lsl #17 - 800eff0: ea6f 4353 mvn.w r3, r3, lsr #17 - 800eff4: b29a uxth r2, r3 - 800eff6: 6bbb ldr r3, [r7, #56] @ 0x38 - 800eff8: 801a strh r2, [r3, #0] - 800effa: e018 b.n 800f02e - 800effc: 683b ldr r3, [r7, #0] - 800effe: 785b ldrb r3, [r3, #1] - 800f000: 2b01 cmp r3, #1 - 800f002: d114 bne.n 800f02e - 800f004: 687b ldr r3, [r7, #4] - 800f006: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800f00a: b29b uxth r3, r3 - 800f00c: 461a mov r2, r3 - 800f00e: 6c7b ldr r3, [r7, #68] @ 0x44 - 800f010: 4413 add r3, r2 - 800f012: 647b str r3, [r7, #68] @ 0x44 - 800f014: 683b ldr r3, [r7, #0] - 800f016: 781b ldrb r3, [r3, #0] - 800f018: 00da lsls r2, r3, #3 - 800f01a: 6c7b ldr r3, [r7, #68] @ 0x44 - 800f01c: 4413 add r3, r2 - 800f01e: f203 4306 addw r3, r3, #1030 @ 0x406 - 800f022: 643b str r3, [r7, #64] @ 0x40 - 800f024: 683b ldr r3, [r7, #0] - 800f026: 691b ldr r3, [r3, #16] - 800f028: b29a uxth r2, r3 - 800f02a: 6c3b ldr r3, [r7, #64] @ 0x40 - 800f02c: 801a strh r2, [r3, #0] + 800f7fe: 683b ldr r3, [r7, #0] + 800f800: 785b ldrb r3, [r3, #1] + 800f802: 2b00 cmp r3, #0 + 800f804: d16b bne.n 800f8de + 800f806: 687b ldr r3, [r7, #4] + 800f808: 64fb str r3, [r7, #76] @ 0x4c + 800f80a: 687b ldr r3, [r7, #4] + 800f80c: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800f810: b29b uxth r3, r3 + 800f812: 461a mov r2, r3 + 800f814: 6cfb ldr r3, [r7, #76] @ 0x4c + 800f816: 4413 add r3, r2 + 800f818: 64fb str r3, [r7, #76] @ 0x4c + 800f81a: 683b ldr r3, [r7, #0] + 800f81c: 781b ldrb r3, [r3, #0] + 800f81e: 00da lsls r2, r3, #3 + 800f820: 6cfb ldr r3, [r7, #76] @ 0x4c + 800f822: 4413 add r3, r2 + 800f824: f203 4302 addw r3, r3, #1026 @ 0x402 + 800f828: 64bb str r3, [r7, #72] @ 0x48 + 800f82a: 6cbb ldr r3, [r7, #72] @ 0x48 + 800f82c: 881b ldrh r3, [r3, #0] + 800f82e: b29b uxth r3, r3 + 800f830: f3c3 0309 ubfx r3, r3, #0, #10 + 800f834: b29a uxth r2, r3 + 800f836: 6cbb ldr r3, [r7, #72] @ 0x48 + 800f838: 801a strh r2, [r3, #0] + 800f83a: 683b ldr r3, [r7, #0] + 800f83c: 691b ldr r3, [r3, #16] + 800f83e: 2b00 cmp r3, #0 + 800f840: d10a bne.n 800f858 + 800f842: 6cbb ldr r3, [r7, #72] @ 0x48 + 800f844: 881b ldrh r3, [r3, #0] + 800f846: b29b uxth r3, r3 + 800f848: ea6f 4343 mvn.w r3, r3, lsl #17 + 800f84c: ea6f 4353 mvn.w r3, r3, lsr #17 + 800f850: b29a uxth r2, r3 + 800f852: 6cbb ldr r3, [r7, #72] @ 0x48 + 800f854: 801a strh r2, [r3, #0] + 800f856: e05d b.n 800f914 + 800f858: 683b ldr r3, [r7, #0] + 800f85a: 691b ldr r3, [r3, #16] + 800f85c: 2b3e cmp r3, #62 @ 0x3e + 800f85e: d81c bhi.n 800f89a + 800f860: 683b ldr r3, [r7, #0] + 800f862: 691b ldr r3, [r3, #16] + 800f864: 085b lsrs r3, r3, #1 + 800f866: f8c7 308c str.w r3, [r7, #140] @ 0x8c + 800f86a: 683b ldr r3, [r7, #0] + 800f86c: 691b ldr r3, [r3, #16] + 800f86e: f003 0301 and.w r3, r3, #1 + 800f872: 2b00 cmp r3, #0 + 800f874: d004 beq.n 800f880 + 800f876: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c + 800f87a: 3301 adds r3, #1 + 800f87c: f8c7 308c str.w r3, [r7, #140] @ 0x8c + 800f880: 6cbb ldr r3, [r7, #72] @ 0x48 + 800f882: 881b ldrh r3, [r3, #0] + 800f884: b29a uxth r2, r3 + 800f886: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c + 800f88a: b29b uxth r3, r3 + 800f88c: 029b lsls r3, r3, #10 + 800f88e: b29b uxth r3, r3 + 800f890: 4313 orrs r3, r2 + 800f892: b29a uxth r2, r3 + 800f894: 6cbb ldr r3, [r7, #72] @ 0x48 + 800f896: 801a strh r2, [r3, #0] + 800f898: e03c b.n 800f914 + 800f89a: 683b ldr r3, [r7, #0] + 800f89c: 691b ldr r3, [r3, #16] + 800f89e: 095b lsrs r3, r3, #5 + 800f8a0: f8c7 308c str.w r3, [r7, #140] @ 0x8c + 800f8a4: 683b ldr r3, [r7, #0] + 800f8a6: 691b ldr r3, [r3, #16] + 800f8a8: f003 031f and.w r3, r3, #31 + 800f8ac: 2b00 cmp r3, #0 + 800f8ae: d104 bne.n 800f8ba + 800f8b0: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c + 800f8b4: 3b01 subs r3, #1 + 800f8b6: f8c7 308c str.w r3, [r7, #140] @ 0x8c + 800f8ba: 6cbb ldr r3, [r7, #72] @ 0x48 + 800f8bc: 881b ldrh r3, [r3, #0] + 800f8be: b29a uxth r2, r3 + 800f8c0: f8d7 308c ldr.w r3, [r7, #140] @ 0x8c + 800f8c4: b29b uxth r3, r3 + 800f8c6: 029b lsls r3, r3, #10 + 800f8c8: b29b uxth r3, r3 + 800f8ca: 4313 orrs r3, r2 + 800f8cc: b29b uxth r3, r3 + 800f8ce: ea6f 4343 mvn.w r3, r3, lsl #17 + 800f8d2: ea6f 4353 mvn.w r3, r3, lsr #17 + 800f8d6: b29a uxth r2, r3 + 800f8d8: 6cbb ldr r3, [r7, #72] @ 0x48 + 800f8da: 801a strh r2, [r3, #0] + 800f8dc: e01a b.n 800f914 + 800f8de: 683b ldr r3, [r7, #0] + 800f8e0: 785b ldrb r3, [r3, #1] + 800f8e2: 2b01 cmp r3, #1 + 800f8e4: d116 bne.n 800f914 + 800f8e6: 687b ldr r3, [r7, #4] + 800f8e8: 657b str r3, [r7, #84] @ 0x54 + 800f8ea: 687b ldr r3, [r7, #4] + 800f8ec: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800f8f0: b29b uxth r3, r3 + 800f8f2: 461a mov r2, r3 + 800f8f4: 6d7b ldr r3, [r7, #84] @ 0x54 + 800f8f6: 4413 add r3, r2 + 800f8f8: 657b str r3, [r7, #84] @ 0x54 + 800f8fa: 683b ldr r3, [r7, #0] + 800f8fc: 781b ldrb r3, [r3, #0] + 800f8fe: 00da lsls r2, r3, #3 + 800f900: 6d7b ldr r3, [r7, #84] @ 0x54 + 800f902: 4413 add r3, r2 + 800f904: f203 4302 addw r3, r3, #1026 @ 0x402 + 800f908: 653b str r3, [r7, #80] @ 0x50 + 800f90a: 683b ldr r3, [r7, #0] + 800f90c: 691b ldr r3, [r3, #16] + 800f90e: b29a uxth r2, r3 + 800f910: 6d3b ldr r3, [r7, #80] @ 0x50 + 800f912: 801a strh r2, [r3, #0] + 800f914: 687b ldr r3, [r7, #4] + 800f916: 647b str r3, [r7, #68] @ 0x44 + 800f918: 683b ldr r3, [r7, #0] + 800f91a: 785b ldrb r3, [r3, #1] + 800f91c: 2b00 cmp r3, #0 + 800f91e: d16b bne.n 800f9f8 + 800f920: 687b ldr r3, [r7, #4] + 800f922: 63fb str r3, [r7, #60] @ 0x3c + 800f924: 687b ldr r3, [r7, #4] + 800f926: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800f92a: b29b uxth r3, r3 + 800f92c: 461a mov r2, r3 + 800f92e: 6bfb ldr r3, [r7, #60] @ 0x3c + 800f930: 4413 add r3, r2 + 800f932: 63fb str r3, [r7, #60] @ 0x3c + 800f934: 683b ldr r3, [r7, #0] + 800f936: 781b ldrb r3, [r3, #0] + 800f938: 00da lsls r2, r3, #3 + 800f93a: 6bfb ldr r3, [r7, #60] @ 0x3c + 800f93c: 4413 add r3, r2 + 800f93e: f203 4306 addw r3, r3, #1030 @ 0x406 + 800f942: 63bb str r3, [r7, #56] @ 0x38 + 800f944: 6bbb ldr r3, [r7, #56] @ 0x38 + 800f946: 881b ldrh r3, [r3, #0] + 800f948: b29b uxth r3, r3 + 800f94a: f3c3 0309 ubfx r3, r3, #0, #10 + 800f94e: b29a uxth r2, r3 + 800f950: 6bbb ldr r3, [r7, #56] @ 0x38 + 800f952: 801a strh r2, [r3, #0] + 800f954: 683b ldr r3, [r7, #0] + 800f956: 691b ldr r3, [r3, #16] + 800f958: 2b00 cmp r3, #0 + 800f95a: d10a bne.n 800f972 + 800f95c: 6bbb ldr r3, [r7, #56] @ 0x38 + 800f95e: 881b ldrh r3, [r3, #0] + 800f960: b29b uxth r3, r3 + 800f962: ea6f 4343 mvn.w r3, r3, lsl #17 + 800f966: ea6f 4353 mvn.w r3, r3, lsr #17 + 800f96a: b29a uxth r2, r3 + 800f96c: 6bbb ldr r3, [r7, #56] @ 0x38 + 800f96e: 801a strh r2, [r3, #0] + 800f970: e05b b.n 800fa2a + 800f972: 683b ldr r3, [r7, #0] + 800f974: 691b ldr r3, [r3, #16] + 800f976: 2b3e cmp r3, #62 @ 0x3e + 800f978: d81c bhi.n 800f9b4 + 800f97a: 683b ldr r3, [r7, #0] + 800f97c: 691b ldr r3, [r3, #16] + 800f97e: 085b lsrs r3, r3, #1 + 800f980: f8c7 3088 str.w r3, [r7, #136] @ 0x88 + 800f984: 683b ldr r3, [r7, #0] + 800f986: 691b ldr r3, [r3, #16] + 800f988: f003 0301 and.w r3, r3, #1 + 800f98c: 2b00 cmp r3, #0 + 800f98e: d004 beq.n 800f99a + 800f990: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 + 800f994: 3301 adds r3, #1 + 800f996: f8c7 3088 str.w r3, [r7, #136] @ 0x88 + 800f99a: 6bbb ldr r3, [r7, #56] @ 0x38 + 800f99c: 881b ldrh r3, [r3, #0] + 800f99e: b29a uxth r2, r3 + 800f9a0: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 + 800f9a4: b29b uxth r3, r3 + 800f9a6: 029b lsls r3, r3, #10 + 800f9a8: b29b uxth r3, r3 + 800f9aa: 4313 orrs r3, r2 + 800f9ac: b29a uxth r2, r3 + 800f9ae: 6bbb ldr r3, [r7, #56] @ 0x38 + 800f9b0: 801a strh r2, [r3, #0] + 800f9b2: e03a b.n 800fa2a + 800f9b4: 683b ldr r3, [r7, #0] + 800f9b6: 691b ldr r3, [r3, #16] + 800f9b8: 095b lsrs r3, r3, #5 + 800f9ba: f8c7 3088 str.w r3, [r7, #136] @ 0x88 + 800f9be: 683b ldr r3, [r7, #0] + 800f9c0: 691b ldr r3, [r3, #16] + 800f9c2: f003 031f and.w r3, r3, #31 + 800f9c6: 2b00 cmp r3, #0 + 800f9c8: d104 bne.n 800f9d4 + 800f9ca: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 + 800f9ce: 3b01 subs r3, #1 + 800f9d0: f8c7 3088 str.w r3, [r7, #136] @ 0x88 + 800f9d4: 6bbb ldr r3, [r7, #56] @ 0x38 + 800f9d6: 881b ldrh r3, [r3, #0] + 800f9d8: b29a uxth r2, r3 + 800f9da: f8d7 3088 ldr.w r3, [r7, #136] @ 0x88 + 800f9de: b29b uxth r3, r3 + 800f9e0: 029b lsls r3, r3, #10 + 800f9e2: b29b uxth r3, r3 + 800f9e4: 4313 orrs r3, r2 + 800f9e6: b29b uxth r3, r3 + 800f9e8: ea6f 4343 mvn.w r3, r3, lsl #17 + 800f9ec: ea6f 4353 mvn.w r3, r3, lsr #17 + 800f9f0: b29a uxth r2, r3 + 800f9f2: 6bbb ldr r3, [r7, #56] @ 0x38 + 800f9f4: 801a strh r2, [r3, #0] + 800f9f6: e018 b.n 800fa2a + 800f9f8: 683b ldr r3, [r7, #0] + 800f9fa: 785b ldrb r3, [r3, #1] + 800f9fc: 2b01 cmp r3, #1 + 800f9fe: d114 bne.n 800fa2a + 800fa00: 687b ldr r3, [r7, #4] + 800fa02: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 800fa06: b29b uxth r3, r3 + 800fa08: 461a mov r2, r3 + 800fa0a: 6c7b ldr r3, [r7, #68] @ 0x44 + 800fa0c: 4413 add r3, r2 + 800fa0e: 647b str r3, [r7, #68] @ 0x44 + 800fa10: 683b ldr r3, [r7, #0] + 800fa12: 781b ldrb r3, [r3, #0] + 800fa14: 00da lsls r2, r3, #3 + 800fa16: 6c7b ldr r3, [r7, #68] @ 0x44 + 800fa18: 4413 add r3, r2 + 800fa1a: f203 4306 addw r3, r3, #1030 @ 0x406 + 800fa1e: 643b str r3, [r7, #64] @ 0x40 + 800fa20: 683b ldr r3, [r7, #0] + 800fa22: 691b ldr r3, [r3, #16] + 800fa24: b29a uxth r2, r3 + 800fa26: 6c3b ldr r3, [r7, #64] @ 0x40 + 800fa28: 801a strh r2, [r3, #0] /* Set endpoint RX to valid state */ PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); - 800f02e: 687a ldr r2, [r7, #4] - 800f030: 683b ldr r3, [r7, #0] - 800f032: 781b ldrb r3, [r3, #0] - 800f034: 009b lsls r3, r3, #2 - 800f036: 4413 add r3, r2 - 800f038: 881b ldrh r3, [r3, #0] - 800f03a: b29b uxth r3, r3 - 800f03c: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800f040: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f044: 86fb strh r3, [r7, #54] @ 0x36 - 800f046: 8efb ldrh r3, [r7, #54] @ 0x36 - 800f048: f483 5380 eor.w r3, r3, #4096 @ 0x1000 - 800f04c: 86fb strh r3, [r7, #54] @ 0x36 - 800f04e: 8efb ldrh r3, [r7, #54] @ 0x36 - 800f050: f483 5300 eor.w r3, r3, #8192 @ 0x2000 - 800f054: 86fb strh r3, [r7, #54] @ 0x36 - 800f056: 687a ldr r2, [r7, #4] - 800f058: 683b ldr r3, [r7, #0] - 800f05a: 781b ldrb r3, [r3, #0] - 800f05c: 009b lsls r3, r3, #2 - 800f05e: 441a add r2, r3 - 800f060: 8efb ldrh r3, [r7, #54] @ 0x36 - 800f062: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f066: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f06a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f06e: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f072: b29b uxth r3, r3 - 800f074: 8013 strh r3, [r2, #0] + 800fa2a: 687a ldr r2, [r7, #4] + 800fa2c: 683b ldr r3, [r7, #0] + 800fa2e: 781b ldrb r3, [r3, #0] + 800fa30: 009b lsls r3, r3, #2 + 800fa32: 4413 add r3, r2 + 800fa34: 881b ldrh r3, [r3, #0] + 800fa36: b29b uxth r3, r3 + 800fa38: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800fa3c: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fa40: 86fb strh r3, [r7, #54] @ 0x36 + 800fa42: 8efb ldrh r3, [r7, #54] @ 0x36 + 800fa44: f483 5380 eor.w r3, r3, #4096 @ 0x1000 + 800fa48: 86fb strh r3, [r7, #54] @ 0x36 + 800fa4a: 8efb ldrh r3, [r7, #54] @ 0x36 + 800fa4c: f483 5300 eor.w r3, r3, #8192 @ 0x2000 + 800fa50: 86fb strh r3, [r7, #54] @ 0x36 + 800fa52: 687a ldr r2, [r7, #4] + 800fa54: 683b ldr r3, [r7, #0] + 800fa56: 781b ldrb r3, [r3, #0] + 800fa58: 009b lsls r3, r3, #2 + 800fa5a: 441a add r2, r3 + 800fa5c: 8efb ldrh r3, [r7, #54] @ 0x36 + 800fa5e: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fa62: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fa66: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fa6a: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fa6e: b29b uxth r3, r3 + 800fa70: 8013 strh r3, [r2, #0] PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); - 800f076: 687a ldr r2, [r7, #4] - 800f078: 683b ldr r3, [r7, #0] - 800f07a: 781b ldrb r3, [r3, #0] - 800f07c: 009b lsls r3, r3, #2 - 800f07e: 4413 add r3, r2 - 800f080: 881b ldrh r3, [r3, #0] - 800f082: b29b uxth r3, r3 - 800f084: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f088: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800f08c: 86bb strh r3, [r7, #52] @ 0x34 - 800f08e: 687a ldr r2, [r7, #4] - 800f090: 683b ldr r3, [r7, #0] - 800f092: 781b ldrb r3, [r3, #0] - 800f094: 009b lsls r3, r3, #2 - 800f096: 441a add r2, r3 - 800f098: 8ebb ldrh r3, [r7, #52] @ 0x34 - 800f09a: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f09e: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f0a2: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f0a6: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f0aa: b29b uxth r3, r3 - 800f0ac: 8013 strh r3, [r2, #0] - 800f0ae: e0bc b.n 800f22a + 800fa72: 687a ldr r2, [r7, #4] + 800fa74: 683b ldr r3, [r7, #0] + 800fa76: 781b ldrb r3, [r3, #0] + 800fa78: 009b lsls r3, r3, #2 + 800fa7a: 4413 add r3, r2 + 800fa7c: 881b ldrh r3, [r3, #0] + 800fa7e: b29b uxth r3, r3 + 800fa80: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fa84: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800fa88: 86bb strh r3, [r7, #52] @ 0x34 + 800fa8a: 687a ldr r2, [r7, #4] + 800fa8c: 683b ldr r3, [r7, #0] + 800fa8e: 781b ldrb r3, [r3, #0] + 800fa90: 009b lsls r3, r3, #2 + 800fa92: 441a add r2, r3 + 800fa94: 8ebb ldrh r3, [r7, #52] @ 0x34 + 800fa96: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fa9a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fa9e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800faa2: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800faa6: b29b uxth r3, r3 + 800faa8: 8013 strh r3, [r2, #0] + 800faaa: e0bc b.n 800fc26 } else { /* Clear the data toggle bits for the endpoint IN/OUT */ PCD_CLEAR_RX_DTOG(USBx, ep->num); - 800f0b0: 687a ldr r2, [r7, #4] - 800f0b2: 683b ldr r3, [r7, #0] - 800f0b4: 781b ldrb r3, [r3, #0] - 800f0b6: 009b lsls r3, r3, #2 - 800f0b8: 4413 add r3, r2 - 800f0ba: 881b ldrh r3, [r3, #0] - 800f0bc: f8a7 306e strh.w r3, [r7, #110] @ 0x6e - 800f0c0: f8b7 306e ldrh.w r3, [r7, #110] @ 0x6e - 800f0c4: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800f0c8: 2b00 cmp r3, #0 - 800f0ca: d01d beq.n 800f108 - 800f0cc: 687a ldr r2, [r7, #4] - 800f0ce: 683b ldr r3, [r7, #0] - 800f0d0: 781b ldrb r3, [r3, #0] - 800f0d2: 009b lsls r3, r3, #2 - 800f0d4: 4413 add r3, r2 - 800f0d6: 881b ldrh r3, [r3, #0] - 800f0d8: b29b uxth r3, r3 - 800f0da: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f0de: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f0e2: f8a7 306c strh.w r3, [r7, #108] @ 0x6c - 800f0e6: 687a ldr r2, [r7, #4] - 800f0e8: 683b ldr r3, [r7, #0] - 800f0ea: 781b ldrb r3, [r3, #0] - 800f0ec: 009b lsls r3, r3, #2 - 800f0ee: 441a add r2, r3 - 800f0f0: f8b7 306c ldrh.w r3, [r7, #108] @ 0x6c - 800f0f4: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f0f8: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f0fc: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800f100: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f104: b29b uxth r3, r3 - 800f106: 8013 strh r3, [r2, #0] + 800faac: 687a ldr r2, [r7, #4] + 800faae: 683b ldr r3, [r7, #0] + 800fab0: 781b ldrb r3, [r3, #0] + 800fab2: 009b lsls r3, r3, #2 + 800fab4: 4413 add r3, r2 + 800fab6: 881b ldrh r3, [r3, #0] + 800fab8: f8a7 306e strh.w r3, [r7, #110] @ 0x6e + 800fabc: f8b7 306e ldrh.w r3, [r7, #110] @ 0x6e + 800fac0: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800fac4: 2b00 cmp r3, #0 + 800fac6: d01d beq.n 800fb04 + 800fac8: 687a ldr r2, [r7, #4] + 800faca: 683b ldr r3, [r7, #0] + 800facc: 781b ldrb r3, [r3, #0] + 800face: 009b lsls r3, r3, #2 + 800fad0: 4413 add r3, r2 + 800fad2: 881b ldrh r3, [r3, #0] + 800fad4: b29b uxth r3, r3 + 800fad6: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fada: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fade: f8a7 306c strh.w r3, [r7, #108] @ 0x6c + 800fae2: 687a ldr r2, [r7, #4] + 800fae4: 683b ldr r3, [r7, #0] + 800fae6: 781b ldrb r3, [r3, #0] + 800fae8: 009b lsls r3, r3, #2 + 800faea: 441a add r2, r3 + 800faec: f8b7 306c ldrh.w r3, [r7, #108] @ 0x6c + 800faf0: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800faf4: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800faf8: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800fafc: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fb00: b29b uxth r3, r3 + 800fb02: 8013 strh r3, [r2, #0] PCD_CLEAR_TX_DTOG(USBx, ep->num); - 800f108: 687a ldr r2, [r7, #4] - 800f10a: 683b ldr r3, [r7, #0] - 800f10c: 781b ldrb r3, [r3, #0] - 800f10e: 009b lsls r3, r3, #2 - 800f110: 4413 add r3, r2 - 800f112: 881b ldrh r3, [r3, #0] - 800f114: f8a7 306a strh.w r3, [r7, #106] @ 0x6a - 800f118: f8b7 306a ldrh.w r3, [r7, #106] @ 0x6a - 800f11c: f003 0340 and.w r3, r3, #64 @ 0x40 - 800f120: 2b00 cmp r3, #0 - 800f122: d01d beq.n 800f160 - 800f124: 687a ldr r2, [r7, #4] - 800f126: 683b ldr r3, [r7, #0] - 800f128: 781b ldrb r3, [r3, #0] - 800f12a: 009b lsls r3, r3, #2 - 800f12c: 4413 add r3, r2 - 800f12e: 881b ldrh r3, [r3, #0] - 800f130: b29b uxth r3, r3 - 800f132: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f136: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f13a: f8a7 3068 strh.w r3, [r7, #104] @ 0x68 - 800f13e: 687a ldr r2, [r7, #4] - 800f140: 683b ldr r3, [r7, #0] - 800f142: 781b ldrb r3, [r3, #0] - 800f144: 009b lsls r3, r3, #2 - 800f146: 441a add r2, r3 - 800f148: f8b7 3068 ldrh.w r3, [r7, #104] @ 0x68 - 800f14c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f150: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f154: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f158: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 800f15c: b29b uxth r3, r3 - 800f15e: 8013 strh r3, [r2, #0] + 800fb04: 687a ldr r2, [r7, #4] + 800fb06: 683b ldr r3, [r7, #0] + 800fb08: 781b ldrb r3, [r3, #0] + 800fb0a: 009b lsls r3, r3, #2 + 800fb0c: 4413 add r3, r2 + 800fb0e: 881b ldrh r3, [r3, #0] + 800fb10: f8a7 306a strh.w r3, [r7, #106] @ 0x6a + 800fb14: f8b7 306a ldrh.w r3, [r7, #106] @ 0x6a + 800fb18: f003 0340 and.w r3, r3, #64 @ 0x40 + 800fb1c: 2b00 cmp r3, #0 + 800fb1e: d01d beq.n 800fb5c + 800fb20: 687a ldr r2, [r7, #4] + 800fb22: 683b ldr r3, [r7, #0] + 800fb24: 781b ldrb r3, [r3, #0] + 800fb26: 009b lsls r3, r3, #2 + 800fb28: 4413 add r3, r2 + 800fb2a: 881b ldrh r3, [r3, #0] + 800fb2c: b29b uxth r3, r3 + 800fb2e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fb32: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fb36: f8a7 3068 strh.w r3, [r7, #104] @ 0x68 + 800fb3a: 687a ldr r2, [r7, #4] + 800fb3c: 683b ldr r3, [r7, #0] + 800fb3e: 781b ldrb r3, [r3, #0] + 800fb40: 009b lsls r3, r3, #2 + 800fb42: 441a add r2, r3 + 800fb44: f8b7 3068 ldrh.w r3, [r7, #104] @ 0x68 + 800fb48: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fb4c: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fb50: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fb54: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800fb58: b29b uxth r3, r3 + 800fb5a: 8013 strh r3, [r2, #0] if (ep->type != EP_TYPE_ISOC) - 800f160: 683b ldr r3, [r7, #0] - 800f162: 78db ldrb r3, [r3, #3] - 800f164: 2b01 cmp r3, #1 - 800f166: d024 beq.n 800f1b2 + 800fb5c: 683b ldr r3, [r7, #0] + 800fb5e: 78db ldrb r3, [r3, #3] + 800fb60: 2b01 cmp r3, #1 + 800fb62: d024 beq.n 800fbae { /* Configure NAK status for the Endpoint */ PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); - 800f168: 687a ldr r2, [r7, #4] - 800f16a: 683b ldr r3, [r7, #0] - 800f16c: 781b ldrb r3, [r3, #0] - 800f16e: 009b lsls r3, r3, #2 - 800f170: 4413 add r3, r2 - 800f172: 881b ldrh r3, [r3, #0] - 800f174: b29b uxth r3, r3 - 800f176: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f17a: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800f17e: f8a7 3064 strh.w r3, [r7, #100] @ 0x64 - 800f182: f8b7 3064 ldrh.w r3, [r7, #100] @ 0x64 - 800f186: f083 0320 eor.w r3, r3, #32 - 800f18a: f8a7 3064 strh.w r3, [r7, #100] @ 0x64 - 800f18e: 687a ldr r2, [r7, #4] - 800f190: 683b ldr r3, [r7, #0] - 800f192: 781b ldrb r3, [r3, #0] - 800f194: 009b lsls r3, r3, #2 - 800f196: 441a add r2, r3 - 800f198: f8b7 3064 ldrh.w r3, [r7, #100] @ 0x64 - 800f19c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f1a0: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f1a4: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f1a8: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f1ac: b29b uxth r3, r3 - 800f1ae: 8013 strh r3, [r2, #0] - 800f1b0: e01d b.n 800f1ee + 800fb64: 687a ldr r2, [r7, #4] + 800fb66: 683b ldr r3, [r7, #0] + 800fb68: 781b ldrb r3, [r3, #0] + 800fb6a: 009b lsls r3, r3, #2 + 800fb6c: 4413 add r3, r2 + 800fb6e: 881b ldrh r3, [r3, #0] + 800fb70: b29b uxth r3, r3 + 800fb72: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fb76: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800fb7a: f8a7 3064 strh.w r3, [r7, #100] @ 0x64 + 800fb7e: f8b7 3064 ldrh.w r3, [r7, #100] @ 0x64 + 800fb82: f083 0320 eor.w r3, r3, #32 + 800fb86: f8a7 3064 strh.w r3, [r7, #100] @ 0x64 + 800fb8a: 687a ldr r2, [r7, #4] + 800fb8c: 683b ldr r3, [r7, #0] + 800fb8e: 781b ldrb r3, [r3, #0] + 800fb90: 009b lsls r3, r3, #2 + 800fb92: 441a add r2, r3 + 800fb94: f8b7 3064 ldrh.w r3, [r7, #100] @ 0x64 + 800fb98: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fb9c: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fba0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fba4: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fba8: b29b uxth r3, r3 + 800fbaa: 8013 strh r3, [r2, #0] + 800fbac: e01d b.n 800fbea } else { /* Configure TX Endpoint to disabled state */ PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); - 800f1b2: 687a ldr r2, [r7, #4] - 800f1b4: 683b ldr r3, [r7, #0] - 800f1b6: 781b ldrb r3, [r3, #0] - 800f1b8: 009b lsls r3, r3, #2 - 800f1ba: 4413 add r3, r2 - 800f1bc: 881b ldrh r3, [r3, #0] - 800f1be: b29b uxth r3, r3 - 800f1c0: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f1c4: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800f1c8: f8a7 3066 strh.w r3, [r7, #102] @ 0x66 - 800f1cc: 687a ldr r2, [r7, #4] - 800f1ce: 683b ldr r3, [r7, #0] - 800f1d0: 781b ldrb r3, [r3, #0] - 800f1d2: 009b lsls r3, r3, #2 - 800f1d4: 441a add r2, r3 - 800f1d6: f8b7 3066 ldrh.w r3, [r7, #102] @ 0x66 - 800f1da: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f1de: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f1e2: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f1e6: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f1ea: b29b uxth r3, r3 - 800f1ec: 8013 strh r3, [r2, #0] + 800fbae: 687a ldr r2, [r7, #4] + 800fbb0: 683b ldr r3, [r7, #0] + 800fbb2: 781b ldrb r3, [r3, #0] + 800fbb4: 009b lsls r3, r3, #2 + 800fbb6: 4413 add r3, r2 + 800fbb8: 881b ldrh r3, [r3, #0] + 800fbba: b29b uxth r3, r3 + 800fbbc: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fbc0: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800fbc4: f8a7 3066 strh.w r3, [r7, #102] @ 0x66 + 800fbc8: 687a ldr r2, [r7, #4] + 800fbca: 683b ldr r3, [r7, #0] + 800fbcc: 781b ldrb r3, [r3, #0] + 800fbce: 009b lsls r3, r3, #2 + 800fbd0: 441a add r2, r3 + 800fbd2: f8b7 3066 ldrh.w r3, [r7, #102] @ 0x66 + 800fbd6: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fbda: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fbde: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fbe2: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fbe6: b29b uxth r3, r3 + 800fbe8: 8013 strh r3, [r2, #0] } PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); - 800f1ee: 687a ldr r2, [r7, #4] - 800f1f0: 683b ldr r3, [r7, #0] - 800f1f2: 781b ldrb r3, [r3, #0] - 800f1f4: 009b lsls r3, r3, #2 - 800f1f6: 4413 add r3, r2 - 800f1f8: 881b ldrh r3, [r3, #0] - 800f1fa: b29b uxth r3, r3 - 800f1fc: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800f200: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f204: f8a7 3062 strh.w r3, [r7, #98] @ 0x62 - 800f208: 687a ldr r2, [r7, #4] - 800f20a: 683b ldr r3, [r7, #0] - 800f20c: 781b ldrb r3, [r3, #0] - 800f20e: 009b lsls r3, r3, #2 - 800f210: 441a add r2, r3 - 800f212: f8b7 3062 ldrh.w r3, [r7, #98] @ 0x62 - 800f216: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f21a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f21e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f222: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f226: b29b uxth r3, r3 - 800f228: 8013 strh r3, [r2, #0] + 800fbea: 687a ldr r2, [r7, #4] + 800fbec: 683b ldr r3, [r7, #0] + 800fbee: 781b ldrb r3, [r3, #0] + 800fbf0: 009b lsls r3, r3, #2 + 800fbf2: 4413 add r3, r2 + 800fbf4: 881b ldrh r3, [r3, #0] + 800fbf6: b29b uxth r3, r3 + 800fbf8: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800fbfc: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fc00: f8a7 3062 strh.w r3, [r7, #98] @ 0x62 + 800fc04: 687a ldr r2, [r7, #4] + 800fc06: 683b ldr r3, [r7, #0] + 800fc08: 781b ldrb r3, [r3, #0] + 800fc0a: 009b lsls r3, r3, #2 + 800fc0c: 441a add r2, r3 + 800fc0e: f8b7 3062 ldrh.w r3, [r7, #98] @ 0x62 + 800fc12: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fc16: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fc1a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fc1e: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fc22: b29b uxth r3, r3 + 800fc24: 8013 strh r3, [r2, #0] } } #endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ return ret; - 800f22a: f897 3097 ldrb.w r3, [r7, #151] @ 0x97 + 800fc26: f897 3097 ldrb.w r3, [r7, #151] @ 0x97 } - 800f22e: 4618 mov r0, r3 - 800f230: 379c adds r7, #156 @ 0x9c - 800f232: 46bd mov sp, r7 - 800f234: f85d 7b04 ldr.w r7, [sp], #4 - 800f238: 4770 bx lr - 800f23a: bf00 nop + 800fc2a: 4618 mov r0, r3 + 800fc2c: 379c adds r7, #156 @ 0x9c + 800fc2e: 46bd mov sp, r7 + 800fc30: f85d 7b04 ldr.w r7, [sp], #4 + 800fc34: 4770 bx lr + 800fc36: bf00 nop -0800f23c : +0800fc38 : * @param USBx Selected device * @param ep pointer to endpoint structure * @retval HAL status */ HAL_StatusTypeDef USB_DeactivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep) { - 800f23c: b480 push {r7} - 800f23e: b08d sub sp, #52 @ 0x34 - 800f240: af00 add r7, sp, #0 - 800f242: 6078 str r0, [r7, #4] - 800f244: 6039 str r1, [r7, #0] + 800fc38: b480 push {r7} + 800fc3a: b08d sub sp, #52 @ 0x34 + 800fc3c: af00 add r7, sp, #0 + 800fc3e: 6078 str r0, [r7, #4] + 800fc40: 6039 str r1, [r7, #0] if (ep->doublebuffer == 0U) - 800f246: 683b ldr r3, [r7, #0] - 800f248: 7b1b ldrb r3, [r3, #12] - 800f24a: 2b00 cmp r3, #0 - 800f24c: f040 808e bne.w 800f36c + 800fc42: 683b ldr r3, [r7, #0] + 800fc44: 7b1b ldrb r3, [r3, #12] + 800fc46: 2b00 cmp r3, #0 + 800fc48: f040 808e bne.w 800fd68 { if (ep->is_in != 0U) - 800f250: 683b ldr r3, [r7, #0] - 800f252: 785b ldrb r3, [r3, #1] - 800f254: 2b00 cmp r3, #0 - 800f256: d044 beq.n 800f2e2 - { - PCD_CLEAR_TX_DTOG(USBx, ep->num); - 800f258: 687a ldr r2, [r7, #4] - 800f25a: 683b ldr r3, [r7, #0] - 800f25c: 781b ldrb r3, [r3, #0] - 800f25e: 009b lsls r3, r3, #2 - 800f260: 4413 add r3, r2 - 800f262: 881b ldrh r3, [r3, #0] - 800f264: 81bb strh r3, [r7, #12] - 800f266: 89bb ldrh r3, [r7, #12] - 800f268: f003 0340 and.w r3, r3, #64 @ 0x40 - 800f26c: 2b00 cmp r3, #0 - 800f26e: d01b beq.n 800f2a8 - 800f270: 687a ldr r2, [r7, #4] - 800f272: 683b ldr r3, [r7, #0] - 800f274: 781b ldrb r3, [r3, #0] - 800f276: 009b lsls r3, r3, #2 - 800f278: 4413 add r3, r2 - 800f27a: 881b ldrh r3, [r3, #0] - 800f27c: b29b uxth r3, r3 - 800f27e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f282: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f286: 817b strh r3, [r7, #10] - 800f288: 687a ldr r2, [r7, #4] - 800f28a: 683b ldr r3, [r7, #0] - 800f28c: 781b ldrb r3, [r3, #0] - 800f28e: 009b lsls r3, r3, #2 - 800f290: 441a add r2, r3 - 800f292: 897b ldrh r3, [r7, #10] - 800f294: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f298: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f29c: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f2a0: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 800f2a4: b29b uxth r3, r3 - 800f2a6: 8013 strh r3, [r2, #0] - - /* Configure DISABLE status for the Endpoint */ - PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); - 800f2a8: 687a ldr r2, [r7, #4] - 800f2aa: 683b ldr r3, [r7, #0] - 800f2ac: 781b ldrb r3, [r3, #0] - 800f2ae: 009b lsls r3, r3, #2 - 800f2b0: 4413 add r3, r2 - 800f2b2: 881b ldrh r3, [r3, #0] - 800f2b4: b29b uxth r3, r3 - 800f2b6: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f2ba: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800f2be: 813b strh r3, [r7, #8] - 800f2c0: 687a ldr r2, [r7, #4] - 800f2c2: 683b ldr r3, [r7, #0] - 800f2c4: 781b ldrb r3, [r3, #0] - 800f2c6: 009b lsls r3, r3, #2 - 800f2c8: 441a add r2, r3 - 800f2ca: 893b ldrh r3, [r7, #8] - 800f2cc: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f2d0: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f2d4: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f2d8: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f2dc: b29b uxth r3, r3 - 800f2de: 8013 strh r3, [r2, #0] - 800f2e0: e192 b.n 800f608 - } - - else - { - PCD_CLEAR_RX_DTOG(USBx, ep->num); - 800f2e2: 687a ldr r2, [r7, #4] - 800f2e4: 683b ldr r3, [r7, #0] - 800f2e6: 781b ldrb r3, [r3, #0] - 800f2e8: 009b lsls r3, r3, #2 - 800f2ea: 4413 add r3, r2 - 800f2ec: 881b ldrh r3, [r3, #0] - 800f2ee: 827b strh r3, [r7, #18] - 800f2f0: 8a7b ldrh r3, [r7, #18] - 800f2f2: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800f2f6: 2b00 cmp r3, #0 - 800f2f8: d01b beq.n 800f332 - 800f2fa: 687a ldr r2, [r7, #4] - 800f2fc: 683b ldr r3, [r7, #0] - 800f2fe: 781b ldrb r3, [r3, #0] - 800f300: 009b lsls r3, r3, #2 - 800f302: 4413 add r3, r2 - 800f304: 881b ldrh r3, [r3, #0] - 800f306: b29b uxth r3, r3 - 800f308: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f30c: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f310: 823b strh r3, [r7, #16] - 800f312: 687a ldr r2, [r7, #4] - 800f314: 683b ldr r3, [r7, #0] - 800f316: 781b ldrb r3, [r3, #0] - 800f318: 009b lsls r3, r3, #2 - 800f31a: 441a add r2, r3 - 800f31c: 8a3b ldrh r3, [r7, #16] - 800f31e: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f322: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f326: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800f32a: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f32e: b29b uxth r3, r3 - 800f330: 8013 strh r3, [r2, #0] - - /* Configure DISABLE status for the Endpoint */ - PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); - 800f332: 687a ldr r2, [r7, #4] - 800f334: 683b ldr r3, [r7, #0] - 800f336: 781b ldrb r3, [r3, #0] - 800f338: 009b lsls r3, r3, #2 - 800f33a: 4413 add r3, r2 - 800f33c: 881b ldrh r3, [r3, #0] - 800f33e: b29b uxth r3, r3 - 800f340: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800f344: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f348: 81fb strh r3, [r7, #14] - 800f34a: 687a ldr r2, [r7, #4] - 800f34c: 683b ldr r3, [r7, #0] - 800f34e: 781b ldrb r3, [r3, #0] - 800f350: 009b lsls r3, r3, #2 - 800f352: 441a add r2, r3 - 800f354: 89fb ldrh r3, [r7, #14] - 800f356: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f35a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f35e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f362: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f366: b29b uxth r3, r3 - 800f368: 8013 strh r3, [r2, #0] - 800f36a: e14d b.n 800f608 - } -#if (USE_USB_DOUBLE_BUFFER == 1U) - /* Double Buffer */ - else - { - if (ep->is_in == 0U) - 800f36c: 683b ldr r3, [r7, #0] - 800f36e: 785b ldrb r3, [r3, #1] - 800f370: 2b00 cmp r3, #0 - 800f372: f040 80a5 bne.w 800f4c0 - { - /* Clear the data toggle bits for the endpoint IN/OUT*/ - PCD_CLEAR_RX_DTOG(USBx, ep->num); - 800f376: 687a ldr r2, [r7, #4] - 800f378: 683b ldr r3, [r7, #0] - 800f37a: 781b ldrb r3, [r3, #0] - 800f37c: 009b lsls r3, r3, #2 - 800f37e: 4413 add r3, r2 - 800f380: 881b ldrh r3, [r3, #0] - 800f382: 843b strh r3, [r7, #32] - 800f384: 8c3b ldrh r3, [r7, #32] - 800f386: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800f38a: 2b00 cmp r3, #0 - 800f38c: d01b beq.n 800f3c6 - 800f38e: 687a ldr r2, [r7, #4] - 800f390: 683b ldr r3, [r7, #0] - 800f392: 781b ldrb r3, [r3, #0] - 800f394: 009b lsls r3, r3, #2 - 800f396: 4413 add r3, r2 - 800f398: 881b ldrh r3, [r3, #0] - 800f39a: b29b uxth r3, r3 - 800f39c: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f3a0: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f3a4: 83fb strh r3, [r7, #30] - 800f3a6: 687a ldr r2, [r7, #4] - 800f3a8: 683b ldr r3, [r7, #0] - 800f3aa: 781b ldrb r3, [r3, #0] - 800f3ac: 009b lsls r3, r3, #2 - 800f3ae: 441a add r2, r3 - 800f3b0: 8bfb ldrh r3, [r7, #30] - 800f3b2: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f3b6: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f3ba: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800f3be: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f3c2: b29b uxth r3, r3 - 800f3c4: 8013 strh r3, [r2, #0] - PCD_CLEAR_TX_DTOG(USBx, ep->num); - 800f3c6: 687a ldr r2, [r7, #4] - 800f3c8: 683b ldr r3, [r7, #0] - 800f3ca: 781b ldrb r3, [r3, #0] - 800f3cc: 009b lsls r3, r3, #2 - 800f3ce: 4413 add r3, r2 - 800f3d0: 881b ldrh r3, [r3, #0] - 800f3d2: 83bb strh r3, [r7, #28] - 800f3d4: 8bbb ldrh r3, [r7, #28] - 800f3d6: f003 0340 and.w r3, r3, #64 @ 0x40 - 800f3da: 2b00 cmp r3, #0 - 800f3dc: d01b beq.n 800f416 - 800f3de: 687a ldr r2, [r7, #4] - 800f3e0: 683b ldr r3, [r7, #0] - 800f3e2: 781b ldrb r3, [r3, #0] - 800f3e4: 009b lsls r3, r3, #2 - 800f3e6: 4413 add r3, r2 - 800f3e8: 881b ldrh r3, [r3, #0] - 800f3ea: b29b uxth r3, r3 - 800f3ec: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f3f0: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f3f4: 837b strh r3, [r7, #26] - 800f3f6: 687a ldr r2, [r7, #4] - 800f3f8: 683b ldr r3, [r7, #0] - 800f3fa: 781b ldrb r3, [r3, #0] - 800f3fc: 009b lsls r3, r3, #2 - 800f3fe: 441a add r2, r3 - 800f400: 8b7b ldrh r3, [r7, #26] - 800f402: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f406: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f40a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f40e: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 800f412: b29b uxth r3, r3 - 800f414: 8013 strh r3, [r2, #0] - - /* Reset value of the data toggle bits for the endpoint out*/ - PCD_TX_DTOG(USBx, ep->num); - 800f416: 687a ldr r2, [r7, #4] - 800f418: 683b ldr r3, [r7, #0] - 800f41a: 781b ldrb r3, [r3, #0] - 800f41c: 009b lsls r3, r3, #2 - 800f41e: 4413 add r3, r2 - 800f420: 881b ldrh r3, [r3, #0] - 800f422: b29b uxth r3, r3 - 800f424: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f428: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f42c: 833b strh r3, [r7, #24] - 800f42e: 687a ldr r2, [r7, #4] - 800f430: 683b ldr r3, [r7, #0] - 800f432: 781b ldrb r3, [r3, #0] - 800f434: 009b lsls r3, r3, #2 - 800f436: 441a add r2, r3 - 800f438: 8b3b ldrh r3, [r7, #24] - 800f43a: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f43e: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f442: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f446: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 800f44a: b29b uxth r3, r3 - 800f44c: 8013 strh r3, [r2, #0] - - PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); - 800f44e: 687a ldr r2, [r7, #4] - 800f450: 683b ldr r3, [r7, #0] - 800f452: 781b ldrb r3, [r3, #0] - 800f454: 009b lsls r3, r3, #2 - 800f456: 4413 add r3, r2 - 800f458: 881b ldrh r3, [r3, #0] - 800f45a: b29b uxth r3, r3 - 800f45c: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800f460: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f464: 82fb strh r3, [r7, #22] - 800f466: 687a ldr r2, [r7, #4] - 800f468: 683b ldr r3, [r7, #0] - 800f46a: 781b ldrb r3, [r3, #0] - 800f46c: 009b lsls r3, r3, #2 - 800f46e: 441a add r2, r3 - 800f470: 8afb ldrh r3, [r7, #22] - 800f472: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f476: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f47a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f47e: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f482: b29b uxth r3, r3 - 800f484: 8013 strh r3, [r2, #0] - PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); - 800f486: 687a ldr r2, [r7, #4] - 800f488: 683b ldr r3, [r7, #0] - 800f48a: 781b ldrb r3, [r3, #0] - 800f48c: 009b lsls r3, r3, #2 - 800f48e: 4413 add r3, r2 - 800f490: 881b ldrh r3, [r3, #0] - 800f492: b29b uxth r3, r3 - 800f494: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f498: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800f49c: 82bb strh r3, [r7, #20] - 800f49e: 687a ldr r2, [r7, #4] - 800f4a0: 683b ldr r3, [r7, #0] - 800f4a2: 781b ldrb r3, [r3, #0] - 800f4a4: 009b lsls r3, r3, #2 - 800f4a6: 441a add r2, r3 - 800f4a8: 8abb ldrh r3, [r7, #20] - 800f4aa: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f4ae: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f4b2: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f4b6: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f4ba: b29b uxth r3, r3 - 800f4bc: 8013 strh r3, [r2, #0] - 800f4be: e0a3 b.n 800f608 - } - else - { - /* Clear the data toggle bits for the endpoint IN/OUT*/ - PCD_CLEAR_RX_DTOG(USBx, ep->num); - 800f4c0: 687a ldr r2, [r7, #4] - 800f4c2: 683b ldr r3, [r7, #0] - 800f4c4: 781b ldrb r3, [r3, #0] - 800f4c6: 009b lsls r3, r3, #2 - 800f4c8: 4413 add r3, r2 - 800f4ca: 881b ldrh r3, [r3, #0] - 800f4cc: 85fb strh r3, [r7, #46] @ 0x2e - 800f4ce: 8dfb ldrh r3, [r7, #46] @ 0x2e - 800f4d0: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 800f4d4: 2b00 cmp r3, #0 - 800f4d6: d01b beq.n 800f510 - 800f4d8: 687a ldr r2, [r7, #4] - 800f4da: 683b ldr r3, [r7, #0] - 800f4dc: 781b ldrb r3, [r3, #0] - 800f4de: 009b lsls r3, r3, #2 - 800f4e0: 4413 add r3, r2 - 800f4e2: 881b ldrh r3, [r3, #0] - 800f4e4: b29b uxth r3, r3 - 800f4e6: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f4ea: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f4ee: 85bb strh r3, [r7, #44] @ 0x2c - 800f4f0: 687a ldr r2, [r7, #4] - 800f4f2: 683b ldr r3, [r7, #0] - 800f4f4: 781b ldrb r3, [r3, #0] - 800f4f6: 009b lsls r3, r3, #2 - 800f4f8: 441a add r2, r3 - 800f4fa: 8dbb ldrh r3, [r7, #44] @ 0x2c - 800f4fc: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f500: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f504: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800f508: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f50c: b29b uxth r3, r3 - 800f50e: 8013 strh r3, [r2, #0] - PCD_CLEAR_TX_DTOG(USBx, ep->num); - 800f510: 687a ldr r2, [r7, #4] - 800f512: 683b ldr r3, [r7, #0] - 800f514: 781b ldrb r3, [r3, #0] - 800f516: 009b lsls r3, r3, #2 - 800f518: 4413 add r3, r2 - 800f51a: 881b ldrh r3, [r3, #0] - 800f51c: 857b strh r3, [r7, #42] @ 0x2a - 800f51e: 8d7b ldrh r3, [r7, #42] @ 0x2a - 800f520: f003 0340 and.w r3, r3, #64 @ 0x40 - 800f524: 2b00 cmp r3, #0 - 800f526: d01b beq.n 800f560 - 800f528: 687a ldr r2, [r7, #4] - 800f52a: 683b ldr r3, [r7, #0] - 800f52c: 781b ldrb r3, [r3, #0] - 800f52e: 009b lsls r3, r3, #2 - 800f530: 4413 add r3, r2 - 800f532: 881b ldrh r3, [r3, #0] - 800f534: b29b uxth r3, r3 - 800f536: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f53a: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f53e: 853b strh r3, [r7, #40] @ 0x28 - 800f540: 687a ldr r2, [r7, #4] - 800f542: 683b ldr r3, [r7, #0] - 800f544: 781b ldrb r3, [r3, #0] - 800f546: 009b lsls r3, r3, #2 - 800f548: 441a add r2, r3 - 800f54a: 8d3b ldrh r3, [r7, #40] @ 0x28 - 800f54c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f550: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f554: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f558: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 800f55c: b29b uxth r3, r3 - 800f55e: 8013 strh r3, [r2, #0] - PCD_RX_DTOG(USBx, ep->num); - 800f560: 687a ldr r2, [r7, #4] - 800f562: 683b ldr r3, [r7, #0] - 800f564: 781b ldrb r3, [r3, #0] - 800f566: 009b lsls r3, r3, #2 - 800f568: 4413 add r3, r2 - 800f56a: 881b ldrh r3, [r3, #0] - 800f56c: b29b uxth r3, r3 - 800f56e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f572: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f576: 84fb strh r3, [r7, #38] @ 0x26 - 800f578: 687a ldr r2, [r7, #4] - 800f57a: 683b ldr r3, [r7, #0] - 800f57c: 781b ldrb r3, [r3, #0] - 800f57e: 009b lsls r3, r3, #2 - 800f580: 441a add r2, r3 - 800f582: 8cfb ldrh r3, [r7, #38] @ 0x26 - 800f584: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f588: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f58c: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 800f590: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f594: b29b uxth r3, r3 - 800f596: 8013 strh r3, [r2, #0] - - /* Configure DISABLE status for the Endpoint*/ - PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); - 800f598: 687a ldr r2, [r7, #4] - 800f59a: 683b ldr r3, [r7, #0] - 800f59c: 781b ldrb r3, [r3, #0] - 800f59e: 009b lsls r3, r3, #2 - 800f5a0: 4413 add r3, r2 - 800f5a2: 881b ldrh r3, [r3, #0] - 800f5a4: b29b uxth r3, r3 - 800f5a6: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f5aa: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800f5ae: 84bb strh r3, [r7, #36] @ 0x24 - 800f5b0: 687a ldr r2, [r7, #4] - 800f5b2: 683b ldr r3, [r7, #0] - 800f5b4: 781b ldrb r3, [r3, #0] - 800f5b6: 009b lsls r3, r3, #2 - 800f5b8: 441a add r2, r3 - 800f5ba: 8cbb ldrh r3, [r7, #36] @ 0x24 - 800f5bc: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f5c0: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f5c4: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f5c8: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f5cc: b29b uxth r3, r3 - 800f5ce: 8013 strh r3, [r2, #0] - PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); - 800f5d0: 687a ldr r2, [r7, #4] - 800f5d2: 683b ldr r3, [r7, #0] - 800f5d4: 781b ldrb r3, [r3, #0] - 800f5d6: 009b lsls r3, r3, #2 - 800f5d8: 4413 add r3, r2 - 800f5da: 881b ldrh r3, [r3, #0] - 800f5dc: b29b uxth r3, r3 - 800f5de: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 800f5e2: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f5e6: 847b strh r3, [r7, #34] @ 0x22 - 800f5e8: 687a ldr r2, [r7, #4] - 800f5ea: 683b ldr r3, [r7, #0] - 800f5ec: 781b ldrb r3, [r3, #0] - 800f5ee: 009b lsls r3, r3, #2 - 800f5f0: 441a add r2, r3 - 800f5f2: 8c7b ldrh r3, [r7, #34] @ 0x22 - 800f5f4: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f5f8: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f5fc: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800f600: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f604: b29b uxth r3, r3 - 800f606: 8013 strh r3, [r2, #0] - } - } -#endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ - - return HAL_OK; - 800f608: 2300 movs r3, #0 -} - 800f60a: 4618 mov r0, r3 - 800f60c: 3734 adds r7, #52 @ 0x34 - 800f60e: 46bd mov sp, r7 - 800f610: f85d 7b04 ldr.w r7, [sp], #4 - 800f614: 4770 bx lr - -0800f616 : - * @param USBx Selected device - * @param ep pointer to endpoint structure - * @retval HAL status - */ -HAL_StatusTypeDef USB_EPStartXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep) -{ - 800f616: b580 push {r7, lr} - 800f618: b0ac sub sp, #176 @ 0xb0 - 800f61a: af00 add r7, sp, #0 - 800f61c: 6078 str r0, [r7, #4] - 800f61e: 6039 str r1, [r7, #0] - uint16_t pmabuffer; - uint16_t wEPVal; -#endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ - - /* IN endpoint */ - if (ep->is_in == 1U) - 800f620: 683b ldr r3, [r7, #0] - 800f622: 785b ldrb r3, [r3, #1] - 800f624: 2b01 cmp r3, #1 - 800f626: f040 84ca bne.w 800ffbe - { - /* Multi packet transfer */ - if (ep->xfer_len > ep->maxpacket) - 800f62a: 683b ldr r3, [r7, #0] - 800f62c: 699a ldr r2, [r3, #24] - 800f62e: 683b ldr r3, [r7, #0] - 800f630: 691b ldr r3, [r3, #16] - 800f632: 429a cmp r2, r3 - 800f634: d904 bls.n 800f640 - { - len = ep->maxpacket; - 800f636: 683b ldr r3, [r7, #0] - 800f638: 691b ldr r3, [r3, #16] - 800f63a: f8c7 30ac str.w r3, [r7, #172] @ 0xac - 800f63e: e003 b.n 800f648 - } - else - { - len = ep->xfer_len; - 800f640: 683b ldr r3, [r7, #0] - 800f642: 699b ldr r3, [r3, #24] - 800f644: f8c7 30ac str.w r3, [r7, #172] @ 0xac - } - - /* configure and validate Tx endpoint */ - if (ep->doublebuffer == 0U) - 800f648: 683b ldr r3, [r7, #0] - 800f64a: 7b1b ldrb r3, [r3, #12] - 800f64c: 2b00 cmp r3, #0 - 800f64e: d122 bne.n 800f696 - { - USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len); - 800f650: 683b ldr r3, [r7, #0] - 800f652: 6959 ldr r1, [r3, #20] - 800f654: 683b ldr r3, [r7, #0] - 800f656: 88da ldrh r2, [r3, #6] - 800f658: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f65c: b29b uxth r3, r3 - 800f65e: 6878 ldr r0, [r7, #4] - 800f660: f000 febd bl 80103de - PCD_SET_EP_TX_CNT(USBx, ep->num, len); - 800f664: 687b ldr r3, [r7, #4] - 800f666: 613b str r3, [r7, #16] - 800f668: 687b ldr r3, [r7, #4] - 800f66a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800f66e: b29b uxth r3, r3 - 800f670: 461a mov r2, r3 - 800f672: 693b ldr r3, [r7, #16] - 800f674: 4413 add r3, r2 - 800f676: 613b str r3, [r7, #16] - 800f678: 683b ldr r3, [r7, #0] - 800f67a: 781b ldrb r3, [r3, #0] - 800f67c: 00da lsls r2, r3, #3 - 800f67e: 693b ldr r3, [r7, #16] - 800f680: 4413 add r3, r2 - 800f682: f203 4302 addw r3, r3, #1026 @ 0x402 - 800f686: 60fb str r3, [r7, #12] - 800f688: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f68c: b29a uxth r2, r3 - 800f68e: 68fb ldr r3, [r7, #12] - 800f690: 801a strh r2, [r3, #0] - 800f692: f000 bc6f b.w 800ff74 - } -#if (USE_USB_DOUBLE_BUFFER == 1U) - else - { - /* double buffer bulk management */ - if (ep->type == EP_TYPE_BULK) - 800f696: 683b ldr r3, [r7, #0] - 800f698: 78db ldrb r3, [r3, #3] - 800f69a: 2b02 cmp r3, #2 - 800f69c: f040 831e bne.w 800fcdc - { - if (ep->xfer_len_db > ep->maxpacket) - 800f6a0: 683b ldr r3, [r7, #0] - 800f6a2: 6a1a ldr r2, [r3, #32] - 800f6a4: 683b ldr r3, [r7, #0] - 800f6a6: 691b ldr r3, [r3, #16] - 800f6a8: 429a cmp r2, r3 - 800f6aa: f240 82cf bls.w 800fc4c - { - /* enable double buffer */ - PCD_SET_BULK_EP_DBUF(USBx, ep->num); - 800f6ae: 687a ldr r2, [r7, #4] - 800f6b0: 683b ldr r3, [r7, #0] - 800f6b2: 781b ldrb r3, [r3, #0] - 800f6b4: 009b lsls r3, r3, #2 - 800f6b6: 4413 add r3, r2 - 800f6b8: 881b ldrh r3, [r3, #0] - 800f6ba: b29b uxth r3, r3 - 800f6bc: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800f6c0: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800f6c4: f8a7 3056 strh.w r3, [r7, #86] @ 0x56 - 800f6c8: 687a ldr r2, [r7, #4] - 800f6ca: 683b ldr r3, [r7, #0] - 800f6cc: 781b ldrb r3, [r3, #0] - 800f6ce: 009b lsls r3, r3, #2 - 800f6d0: 441a add r2, r3 - 800f6d2: f8b7 3056 ldrh.w r3, [r7, #86] @ 0x56 - 800f6d6: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800f6da: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800f6de: f443 4301 orr.w r3, r3, #33024 @ 0x8100 - 800f6e2: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800f6e6: b29b uxth r3, r3 - 800f6e8: 8013 strh r3, [r2, #0] - - /* each Time to write in PMA xfer_len_db will */ - ep->xfer_len_db -= len; - 800f6ea: 683b ldr r3, [r7, #0] - 800f6ec: 6a1a ldr r2, [r3, #32] - 800f6ee: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f6f2: 1ad2 subs r2, r2, r3 - 800f6f4: 683b ldr r3, [r7, #0] - 800f6f6: 621a str r2, [r3, #32] - - /* Fill the two first buffer in the Buffer0 & Buffer1 */ - if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) - 800f6f8: 687a ldr r2, [r7, #4] - 800f6fa: 683b ldr r3, [r7, #0] - 800f6fc: 781b ldrb r3, [r3, #0] - 800f6fe: 009b lsls r3, r3, #2 - 800f700: 4413 add r3, r2 - 800f702: 881b ldrh r3, [r3, #0] - 800f704: b29b uxth r3, r3 - 800f706: f003 0340 and.w r3, r3, #64 @ 0x40 - 800f70a: 2b00 cmp r3, #0 - 800f70c: f000 814f beq.w 800f9ae - { - /* Set the Double buffer counter for pmabuffer1 */ - PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); - 800f710: 687b ldr r3, [r7, #4] - 800f712: 633b str r3, [r7, #48] @ 0x30 - 800f714: 683b ldr r3, [r7, #0] - 800f716: 785b ldrb r3, [r3, #1] - 800f718: 2b00 cmp r3, #0 - 800f71a: d16b bne.n 800f7f4 - 800f71c: 687b ldr r3, [r7, #4] - 800f71e: 62bb str r3, [r7, #40] @ 0x28 - 800f720: 687b ldr r3, [r7, #4] - 800f722: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800f726: b29b uxth r3, r3 - 800f728: 461a mov r2, r3 - 800f72a: 6abb ldr r3, [r7, #40] @ 0x28 - 800f72c: 4413 add r3, r2 - 800f72e: 62bb str r3, [r7, #40] @ 0x28 - 800f730: 683b ldr r3, [r7, #0] - 800f732: 781b ldrb r3, [r3, #0] - 800f734: 00da lsls r2, r3, #3 - 800f736: 6abb ldr r3, [r7, #40] @ 0x28 - 800f738: 4413 add r3, r2 - 800f73a: f203 4306 addw r3, r3, #1030 @ 0x406 - 800f73e: 627b str r3, [r7, #36] @ 0x24 - 800f740: 6a7b ldr r3, [r7, #36] @ 0x24 - 800f742: 881b ldrh r3, [r3, #0] - 800f744: b29b uxth r3, r3 - 800f746: f3c3 0309 ubfx r3, r3, #0, #10 - 800f74a: b29a uxth r2, r3 - 800f74c: 6a7b ldr r3, [r7, #36] @ 0x24 - 800f74e: 801a strh r2, [r3, #0] - 800f750: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f754: 2b00 cmp r3, #0 - 800f756: d10a bne.n 800f76e - 800f758: 6a7b ldr r3, [r7, #36] @ 0x24 - 800f75a: 881b ldrh r3, [r3, #0] - 800f75c: b29b uxth r3, r3 - 800f75e: ea6f 4343 mvn.w r3, r3, lsl #17 - 800f762: ea6f 4353 mvn.w r3, r3, lsr #17 - 800f766: b29a uxth r2, r3 - 800f768: 6a7b ldr r3, [r7, #36] @ 0x24 - 800f76a: 801a strh r2, [r3, #0] - 800f76c: e05b b.n 800f826 - 800f76e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f772: 2b3e cmp r3, #62 @ 0x3e - 800f774: d81c bhi.n 800f7b0 - 800f776: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f77a: 085b lsrs r3, r3, #1 - 800f77c: f8c7 30a8 str.w r3, [r7, #168] @ 0xa8 - 800f780: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f784: f003 0301 and.w r3, r3, #1 - 800f788: 2b00 cmp r3, #0 - 800f78a: d004 beq.n 800f796 - 800f78c: f8d7 30a8 ldr.w r3, [r7, #168] @ 0xa8 - 800f790: 3301 adds r3, #1 - 800f792: f8c7 30a8 str.w r3, [r7, #168] @ 0xa8 - 800f796: 6a7b ldr r3, [r7, #36] @ 0x24 - 800f798: 881b ldrh r3, [r3, #0] - 800f79a: b29a uxth r2, r3 - 800f79c: f8d7 30a8 ldr.w r3, [r7, #168] @ 0xa8 - 800f7a0: b29b uxth r3, r3 - 800f7a2: 029b lsls r3, r3, #10 - 800f7a4: b29b uxth r3, r3 - 800f7a6: 4313 orrs r3, r2 - 800f7a8: b29a uxth r2, r3 - 800f7aa: 6a7b ldr r3, [r7, #36] @ 0x24 - 800f7ac: 801a strh r2, [r3, #0] - 800f7ae: e03a b.n 800f826 - 800f7b0: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f7b4: 095b lsrs r3, r3, #5 - 800f7b6: f8c7 30a8 str.w r3, [r7, #168] @ 0xa8 - 800f7ba: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f7be: f003 031f and.w r3, r3, #31 - 800f7c2: 2b00 cmp r3, #0 - 800f7c4: d104 bne.n 800f7d0 - 800f7c6: f8d7 30a8 ldr.w r3, [r7, #168] @ 0xa8 - 800f7ca: 3b01 subs r3, #1 - 800f7cc: f8c7 30a8 str.w r3, [r7, #168] @ 0xa8 - 800f7d0: 6a7b ldr r3, [r7, #36] @ 0x24 - 800f7d2: 881b ldrh r3, [r3, #0] - 800f7d4: b29a uxth r2, r3 - 800f7d6: f8d7 30a8 ldr.w r3, [r7, #168] @ 0xa8 - 800f7da: b29b uxth r3, r3 - 800f7dc: 029b lsls r3, r3, #10 - 800f7de: b29b uxth r3, r3 - 800f7e0: 4313 orrs r3, r2 - 800f7e2: b29b uxth r3, r3 - 800f7e4: ea6f 4343 mvn.w r3, r3, lsl #17 - 800f7e8: ea6f 4353 mvn.w r3, r3, lsr #17 - 800f7ec: b29a uxth r2, r3 - 800f7ee: 6a7b ldr r3, [r7, #36] @ 0x24 - 800f7f0: 801a strh r2, [r3, #0] - 800f7f2: e018 b.n 800f826 - 800f7f4: 683b ldr r3, [r7, #0] - 800f7f6: 785b ldrb r3, [r3, #1] - 800f7f8: 2b01 cmp r3, #1 - 800f7fa: d114 bne.n 800f826 - 800f7fc: 687b ldr r3, [r7, #4] - 800f7fe: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800f802: b29b uxth r3, r3 - 800f804: 461a mov r2, r3 - 800f806: 6b3b ldr r3, [r7, #48] @ 0x30 - 800f808: 4413 add r3, r2 - 800f80a: 633b str r3, [r7, #48] @ 0x30 - 800f80c: 683b ldr r3, [r7, #0] - 800f80e: 781b ldrb r3, [r3, #0] - 800f810: 00da lsls r2, r3, #3 - 800f812: 6b3b ldr r3, [r7, #48] @ 0x30 - 800f814: 4413 add r3, r2 - 800f816: f203 4306 addw r3, r3, #1030 @ 0x406 - 800f81a: 62fb str r3, [r7, #44] @ 0x2c - 800f81c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f820: b29a uxth r2, r3 - 800f822: 6afb ldr r3, [r7, #44] @ 0x2c - 800f824: 801a strh r2, [r3, #0] - pmabuffer = ep->pmaaddr1; - 800f826: 683b ldr r3, [r7, #0] - 800f828: 895b ldrh r3, [r3, #10] - 800f82a: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 - - /* Write the user buffer to USB PMA */ - USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); - 800f82e: 683b ldr r3, [r7, #0] - 800f830: 6959 ldr r1, [r3, #20] - 800f832: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f836: b29b uxth r3, r3 - 800f838: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 - 800f83c: 6878 ldr r0, [r7, #4] - 800f83e: f000 fdce bl 80103de - ep->xfer_buff += len; - 800f842: 683b ldr r3, [r7, #0] - 800f844: 695a ldr r2, [r3, #20] - 800f846: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f84a: 441a add r2, r3 - 800f84c: 683b ldr r3, [r7, #0] - 800f84e: 615a str r2, [r3, #20] - - if (ep->xfer_len_db > ep->maxpacket) - 800f850: 683b ldr r3, [r7, #0] - 800f852: 6a1a ldr r2, [r3, #32] - 800f854: 683b ldr r3, [r7, #0] - 800f856: 691b ldr r3, [r3, #16] - 800f858: 429a cmp r2, r3 - 800f85a: d907 bls.n 800f86c - { - ep->xfer_len_db -= len; - 800f85c: 683b ldr r3, [r7, #0] - 800f85e: 6a1a ldr r2, [r3, #32] - 800f860: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f864: 1ad2 subs r2, r2, r3 - 800f866: 683b ldr r3, [r7, #0] - 800f868: 621a str r2, [r3, #32] - 800f86a: e006 b.n 800f87a - } - else - { - len = ep->xfer_len_db; - 800f86c: 683b ldr r3, [r7, #0] - 800f86e: 6a1b ldr r3, [r3, #32] - 800f870: f8c7 30ac str.w r3, [r7, #172] @ 0xac - ep->xfer_len_db = 0U; - 800f874: 683b ldr r3, [r7, #0] - 800f876: 2200 movs r2, #0 - 800f878: 621a str r2, [r3, #32] - } - - /* Set the Double buffer counter for pmabuffer0 */ - PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); - 800f87a: 683b ldr r3, [r7, #0] - 800f87c: 785b ldrb r3, [r3, #1] - 800f87e: 2b00 cmp r3, #0 - 800f880: d16b bne.n 800f95a - 800f882: 687b ldr r3, [r7, #4] - 800f884: 61bb str r3, [r7, #24] - 800f886: 687b ldr r3, [r7, #4] - 800f888: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800f88c: b29b uxth r3, r3 - 800f88e: 461a mov r2, r3 - 800f890: 69bb ldr r3, [r7, #24] - 800f892: 4413 add r3, r2 - 800f894: 61bb str r3, [r7, #24] - 800f896: 683b ldr r3, [r7, #0] - 800f898: 781b ldrb r3, [r3, #0] - 800f89a: 00da lsls r2, r3, #3 - 800f89c: 69bb ldr r3, [r7, #24] - 800f89e: 4413 add r3, r2 - 800f8a0: f203 4302 addw r3, r3, #1026 @ 0x402 - 800f8a4: 617b str r3, [r7, #20] - 800f8a6: 697b ldr r3, [r7, #20] - 800f8a8: 881b ldrh r3, [r3, #0] - 800f8aa: b29b uxth r3, r3 - 800f8ac: f3c3 0309 ubfx r3, r3, #0, #10 - 800f8b0: b29a uxth r2, r3 - 800f8b2: 697b ldr r3, [r7, #20] - 800f8b4: 801a strh r2, [r3, #0] - 800f8b6: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f8ba: 2b00 cmp r3, #0 - 800f8bc: d10a bne.n 800f8d4 - 800f8be: 697b ldr r3, [r7, #20] - 800f8c0: 881b ldrh r3, [r3, #0] - 800f8c2: b29b uxth r3, r3 - 800f8c4: ea6f 4343 mvn.w r3, r3, lsl #17 - 800f8c8: ea6f 4353 mvn.w r3, r3, lsr #17 - 800f8cc: b29a uxth r2, r3 - 800f8ce: 697b ldr r3, [r7, #20] - 800f8d0: 801a strh r2, [r3, #0] - 800f8d2: e05d b.n 800f990 - 800f8d4: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f8d8: 2b3e cmp r3, #62 @ 0x3e - 800f8da: d81c bhi.n 800f916 - 800f8dc: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f8e0: 085b lsrs r3, r3, #1 - 800f8e2: f8c7 30a4 str.w r3, [r7, #164] @ 0xa4 - 800f8e6: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f8ea: f003 0301 and.w r3, r3, #1 - 800f8ee: 2b00 cmp r3, #0 - 800f8f0: d004 beq.n 800f8fc - 800f8f2: f8d7 30a4 ldr.w r3, [r7, #164] @ 0xa4 - 800f8f6: 3301 adds r3, #1 - 800f8f8: f8c7 30a4 str.w r3, [r7, #164] @ 0xa4 - 800f8fc: 697b ldr r3, [r7, #20] - 800f8fe: 881b ldrh r3, [r3, #0] - 800f900: b29a uxth r2, r3 - 800f902: f8d7 30a4 ldr.w r3, [r7, #164] @ 0xa4 - 800f906: b29b uxth r3, r3 - 800f908: 029b lsls r3, r3, #10 - 800f90a: b29b uxth r3, r3 - 800f90c: 4313 orrs r3, r2 - 800f90e: b29a uxth r2, r3 - 800f910: 697b ldr r3, [r7, #20] - 800f912: 801a strh r2, [r3, #0] - 800f914: e03c b.n 800f990 - 800f916: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f91a: 095b lsrs r3, r3, #5 - 800f91c: f8c7 30a4 str.w r3, [r7, #164] @ 0xa4 - 800f920: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f924: f003 031f and.w r3, r3, #31 - 800f928: 2b00 cmp r3, #0 - 800f92a: d104 bne.n 800f936 - 800f92c: f8d7 30a4 ldr.w r3, [r7, #164] @ 0xa4 - 800f930: 3b01 subs r3, #1 - 800f932: f8c7 30a4 str.w r3, [r7, #164] @ 0xa4 - 800f936: 697b ldr r3, [r7, #20] - 800f938: 881b ldrh r3, [r3, #0] - 800f93a: b29a uxth r2, r3 - 800f93c: f8d7 30a4 ldr.w r3, [r7, #164] @ 0xa4 - 800f940: b29b uxth r3, r3 - 800f942: 029b lsls r3, r3, #10 - 800f944: b29b uxth r3, r3 - 800f946: 4313 orrs r3, r2 - 800f948: b29b uxth r3, r3 - 800f94a: ea6f 4343 mvn.w r3, r3, lsl #17 - 800f94e: ea6f 4353 mvn.w r3, r3, lsr #17 - 800f952: b29a uxth r2, r3 - 800f954: 697b ldr r3, [r7, #20] - 800f956: 801a strh r2, [r3, #0] - 800f958: e01a b.n 800f990 - 800f95a: 683b ldr r3, [r7, #0] - 800f95c: 785b ldrb r3, [r3, #1] - 800f95e: 2b01 cmp r3, #1 - 800f960: d116 bne.n 800f990 - 800f962: 687b ldr r3, [r7, #4] - 800f964: 623b str r3, [r7, #32] - 800f966: 687b ldr r3, [r7, #4] - 800f968: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800f96c: b29b uxth r3, r3 - 800f96e: 461a mov r2, r3 - 800f970: 6a3b ldr r3, [r7, #32] - 800f972: 4413 add r3, r2 - 800f974: 623b str r3, [r7, #32] - 800f976: 683b ldr r3, [r7, #0] - 800f978: 781b ldrb r3, [r3, #0] - 800f97a: 00da lsls r2, r3, #3 - 800f97c: 6a3b ldr r3, [r7, #32] - 800f97e: 4413 add r3, r2 - 800f980: f203 4302 addw r3, r3, #1026 @ 0x402 - 800f984: 61fb str r3, [r7, #28] - 800f986: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f98a: b29a uxth r2, r3 - 800f98c: 69fb ldr r3, [r7, #28] - 800f98e: 801a strh r2, [r3, #0] - pmabuffer = ep->pmaaddr0; - 800f990: 683b ldr r3, [r7, #0] - 800f992: 891b ldrh r3, [r3, #8] - 800f994: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 - - /* Write the user buffer to USB PMA */ - USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); - 800f998: 683b ldr r3, [r7, #0] - 800f99a: 6959 ldr r1, [r3, #20] - 800f99c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f9a0: b29b uxth r3, r3 - 800f9a2: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 - 800f9a6: 6878 ldr r0, [r7, #4] - 800f9a8: f000 fd19 bl 80103de - 800f9ac: e2e2 b.n 800ff74 - } - else - { - /* Set the Double buffer counter for pmabuffer0 */ - PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); - 800f9ae: 683b ldr r3, [r7, #0] - 800f9b0: 785b ldrb r3, [r3, #1] - 800f9b2: 2b00 cmp r3, #0 - 800f9b4: d16b bne.n 800fa8e - 800f9b6: 687b ldr r3, [r7, #4] - 800f9b8: 64bb str r3, [r7, #72] @ 0x48 - 800f9ba: 687b ldr r3, [r7, #4] - 800f9bc: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800f9c0: b29b uxth r3, r3 - 800f9c2: 461a mov r2, r3 - 800f9c4: 6cbb ldr r3, [r7, #72] @ 0x48 - 800f9c6: 4413 add r3, r2 - 800f9c8: 64bb str r3, [r7, #72] @ 0x48 - 800f9ca: 683b ldr r3, [r7, #0] - 800f9cc: 781b ldrb r3, [r3, #0] - 800f9ce: 00da lsls r2, r3, #3 - 800f9d0: 6cbb ldr r3, [r7, #72] @ 0x48 - 800f9d2: 4413 add r3, r2 - 800f9d4: f203 4302 addw r3, r3, #1026 @ 0x402 - 800f9d8: 647b str r3, [r7, #68] @ 0x44 - 800f9da: 6c7b ldr r3, [r7, #68] @ 0x44 - 800f9dc: 881b ldrh r3, [r3, #0] - 800f9de: b29b uxth r3, r3 - 800f9e0: f3c3 0309 ubfx r3, r3, #0, #10 - 800f9e4: b29a uxth r2, r3 - 800f9e6: 6c7b ldr r3, [r7, #68] @ 0x44 - 800f9e8: 801a strh r2, [r3, #0] - 800f9ea: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800f9ee: 2b00 cmp r3, #0 - 800f9f0: d10a bne.n 800fa08 - 800f9f2: 6c7b ldr r3, [r7, #68] @ 0x44 - 800f9f4: 881b ldrh r3, [r3, #0] - 800f9f6: b29b uxth r3, r3 - 800f9f8: ea6f 4343 mvn.w r3, r3, lsl #17 - 800f9fc: ea6f 4353 mvn.w r3, r3, lsr #17 - 800fa00: b29a uxth r2, r3 - 800fa02: 6c7b ldr r3, [r7, #68] @ 0x44 - 800fa04: 801a strh r2, [r3, #0] - 800fa06: e05d b.n 800fac4 - 800fa08: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fa0c: 2b3e cmp r3, #62 @ 0x3e - 800fa0e: d81c bhi.n 800fa4a - 800fa10: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fa14: 085b lsrs r3, r3, #1 - 800fa16: f8c7 30a0 str.w r3, [r7, #160] @ 0xa0 - 800fa1a: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fa1e: f003 0301 and.w r3, r3, #1 - 800fa22: 2b00 cmp r3, #0 - 800fa24: d004 beq.n 800fa30 - 800fa26: f8d7 30a0 ldr.w r3, [r7, #160] @ 0xa0 - 800fa2a: 3301 adds r3, #1 - 800fa2c: f8c7 30a0 str.w r3, [r7, #160] @ 0xa0 - 800fa30: 6c7b ldr r3, [r7, #68] @ 0x44 - 800fa32: 881b ldrh r3, [r3, #0] - 800fa34: b29a uxth r2, r3 - 800fa36: f8d7 30a0 ldr.w r3, [r7, #160] @ 0xa0 - 800fa3a: b29b uxth r3, r3 - 800fa3c: 029b lsls r3, r3, #10 - 800fa3e: b29b uxth r3, r3 - 800fa40: 4313 orrs r3, r2 - 800fa42: b29a uxth r2, r3 - 800fa44: 6c7b ldr r3, [r7, #68] @ 0x44 - 800fa46: 801a strh r2, [r3, #0] - 800fa48: e03c b.n 800fac4 - 800fa4a: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fa4e: 095b lsrs r3, r3, #5 - 800fa50: f8c7 30a0 str.w r3, [r7, #160] @ 0xa0 - 800fa54: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fa58: f003 031f and.w r3, r3, #31 - 800fa5c: 2b00 cmp r3, #0 - 800fa5e: d104 bne.n 800fa6a - 800fa60: f8d7 30a0 ldr.w r3, [r7, #160] @ 0xa0 - 800fa64: 3b01 subs r3, #1 - 800fa66: f8c7 30a0 str.w r3, [r7, #160] @ 0xa0 - 800fa6a: 6c7b ldr r3, [r7, #68] @ 0x44 - 800fa6c: 881b ldrh r3, [r3, #0] - 800fa6e: b29a uxth r2, r3 - 800fa70: f8d7 30a0 ldr.w r3, [r7, #160] @ 0xa0 - 800fa74: b29b uxth r3, r3 - 800fa76: 029b lsls r3, r3, #10 - 800fa78: b29b uxth r3, r3 - 800fa7a: 4313 orrs r3, r2 - 800fa7c: b29b uxth r3, r3 - 800fa7e: ea6f 4343 mvn.w r3, r3, lsl #17 - 800fa82: ea6f 4353 mvn.w r3, r3, lsr #17 - 800fa86: b29a uxth r2, r3 - 800fa88: 6c7b ldr r3, [r7, #68] @ 0x44 - 800fa8a: 801a strh r2, [r3, #0] - 800fa8c: e01a b.n 800fac4 - 800fa8e: 683b ldr r3, [r7, #0] - 800fa90: 785b ldrb r3, [r3, #1] - 800fa92: 2b01 cmp r3, #1 - 800fa94: d116 bne.n 800fac4 - 800fa96: 687b ldr r3, [r7, #4] - 800fa98: 653b str r3, [r7, #80] @ 0x50 - 800fa9a: 687b ldr r3, [r7, #4] - 800fa9c: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800faa0: b29b uxth r3, r3 - 800faa2: 461a mov r2, r3 - 800faa4: 6d3b ldr r3, [r7, #80] @ 0x50 - 800faa6: 4413 add r3, r2 - 800faa8: 653b str r3, [r7, #80] @ 0x50 - 800faaa: 683b ldr r3, [r7, #0] - 800faac: 781b ldrb r3, [r3, #0] - 800faae: 00da lsls r2, r3, #3 - 800fab0: 6d3b ldr r3, [r7, #80] @ 0x50 - 800fab2: 4413 add r3, r2 - 800fab4: f203 4302 addw r3, r3, #1026 @ 0x402 - 800fab8: 64fb str r3, [r7, #76] @ 0x4c - 800faba: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fabe: b29a uxth r2, r3 - 800fac0: 6cfb ldr r3, [r7, #76] @ 0x4c - 800fac2: 801a strh r2, [r3, #0] - pmabuffer = ep->pmaaddr0; - 800fac4: 683b ldr r3, [r7, #0] - 800fac6: 891b ldrh r3, [r3, #8] - 800fac8: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 - - /* Write the user buffer to USB PMA */ - USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); - 800facc: 683b ldr r3, [r7, #0] - 800face: 6959 ldr r1, [r3, #20] - 800fad0: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fad4: b29b uxth r3, r3 - 800fad6: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 - 800fada: 6878 ldr r0, [r7, #4] - 800fadc: f000 fc7f bl 80103de - ep->xfer_buff += len; - 800fae0: 683b ldr r3, [r7, #0] - 800fae2: 695a ldr r2, [r3, #20] - 800fae4: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fae8: 441a add r2, r3 - 800faea: 683b ldr r3, [r7, #0] - 800faec: 615a str r2, [r3, #20] - - if (ep->xfer_len_db > ep->maxpacket) - 800faee: 683b ldr r3, [r7, #0] - 800faf0: 6a1a ldr r2, [r3, #32] - 800faf2: 683b ldr r3, [r7, #0] - 800faf4: 691b ldr r3, [r3, #16] - 800faf6: 429a cmp r2, r3 - 800faf8: d907 bls.n 800fb0a - { - ep->xfer_len_db -= len; - 800fafa: 683b ldr r3, [r7, #0] - 800fafc: 6a1a ldr r2, [r3, #32] - 800fafe: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fb02: 1ad2 subs r2, r2, r3 - 800fb04: 683b ldr r3, [r7, #0] - 800fb06: 621a str r2, [r3, #32] - 800fb08: e006 b.n 800fb18 - } - else - { - len = ep->xfer_len_db; - 800fb0a: 683b ldr r3, [r7, #0] - 800fb0c: 6a1b ldr r3, [r3, #32] - 800fb0e: f8c7 30ac str.w r3, [r7, #172] @ 0xac - ep->xfer_len_db = 0U; - 800fb12: 683b ldr r3, [r7, #0] - 800fb14: 2200 movs r2, #0 - 800fb16: 621a str r2, [r3, #32] - } - - /* Set the Double buffer counter for pmabuffer1 */ - PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); - 800fb18: 687b ldr r3, [r7, #4] - 800fb1a: 643b str r3, [r7, #64] @ 0x40 - 800fb1c: 683b ldr r3, [r7, #0] - 800fb1e: 785b ldrb r3, [r3, #1] - 800fb20: 2b00 cmp r3, #0 - 800fb22: d16b bne.n 800fbfc - 800fb24: 687b ldr r3, [r7, #4] - 800fb26: 63bb str r3, [r7, #56] @ 0x38 - 800fb28: 687b ldr r3, [r7, #4] - 800fb2a: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800fb2e: b29b uxth r3, r3 - 800fb30: 461a mov r2, r3 - 800fb32: 6bbb ldr r3, [r7, #56] @ 0x38 - 800fb34: 4413 add r3, r2 - 800fb36: 63bb str r3, [r7, #56] @ 0x38 - 800fb38: 683b ldr r3, [r7, #0] - 800fb3a: 781b ldrb r3, [r3, #0] - 800fb3c: 00da lsls r2, r3, #3 - 800fb3e: 6bbb ldr r3, [r7, #56] @ 0x38 - 800fb40: 4413 add r3, r2 - 800fb42: f203 4306 addw r3, r3, #1030 @ 0x406 - 800fb46: 637b str r3, [r7, #52] @ 0x34 - 800fb48: 6b7b ldr r3, [r7, #52] @ 0x34 - 800fb4a: 881b ldrh r3, [r3, #0] - 800fb4c: b29b uxth r3, r3 - 800fb4e: f3c3 0309 ubfx r3, r3, #0, #10 - 800fb52: b29a uxth r2, r3 - 800fb54: 6b7b ldr r3, [r7, #52] @ 0x34 - 800fb56: 801a strh r2, [r3, #0] - 800fb58: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fb5c: 2b00 cmp r3, #0 - 800fb5e: d10a bne.n 800fb76 - 800fb60: 6b7b ldr r3, [r7, #52] @ 0x34 - 800fb62: 881b ldrh r3, [r3, #0] - 800fb64: b29b uxth r3, r3 - 800fb66: ea6f 4343 mvn.w r3, r3, lsl #17 - 800fb6a: ea6f 4353 mvn.w r3, r3, lsr #17 - 800fb6e: b29a uxth r2, r3 - 800fb70: 6b7b ldr r3, [r7, #52] @ 0x34 - 800fb72: 801a strh r2, [r3, #0] - 800fb74: e05b b.n 800fc2e - 800fb76: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fb7a: 2b3e cmp r3, #62 @ 0x3e - 800fb7c: d81c bhi.n 800fbb8 - 800fb7e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fb82: 085b lsrs r3, r3, #1 - 800fb84: f8c7 309c str.w r3, [r7, #156] @ 0x9c - 800fb88: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fb8c: f003 0301 and.w r3, r3, #1 - 800fb90: 2b00 cmp r3, #0 - 800fb92: d004 beq.n 800fb9e - 800fb94: f8d7 309c ldr.w r3, [r7, #156] @ 0x9c - 800fb98: 3301 adds r3, #1 - 800fb9a: f8c7 309c str.w r3, [r7, #156] @ 0x9c - 800fb9e: 6b7b ldr r3, [r7, #52] @ 0x34 - 800fba0: 881b ldrh r3, [r3, #0] - 800fba2: b29a uxth r2, r3 - 800fba4: f8d7 309c ldr.w r3, [r7, #156] @ 0x9c - 800fba8: b29b uxth r3, r3 - 800fbaa: 029b lsls r3, r3, #10 - 800fbac: b29b uxth r3, r3 - 800fbae: 4313 orrs r3, r2 - 800fbb0: b29a uxth r2, r3 - 800fbb2: 6b7b ldr r3, [r7, #52] @ 0x34 - 800fbb4: 801a strh r2, [r3, #0] - 800fbb6: e03a b.n 800fc2e - 800fbb8: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fbbc: 095b lsrs r3, r3, #5 - 800fbbe: f8c7 309c str.w r3, [r7, #156] @ 0x9c - 800fbc2: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fbc6: f003 031f and.w r3, r3, #31 - 800fbca: 2b00 cmp r3, #0 - 800fbcc: d104 bne.n 800fbd8 - 800fbce: f8d7 309c ldr.w r3, [r7, #156] @ 0x9c - 800fbd2: 3b01 subs r3, #1 - 800fbd4: f8c7 309c str.w r3, [r7, #156] @ 0x9c - 800fbd8: 6b7b ldr r3, [r7, #52] @ 0x34 - 800fbda: 881b ldrh r3, [r3, #0] - 800fbdc: b29a uxth r2, r3 - 800fbde: f8d7 309c ldr.w r3, [r7, #156] @ 0x9c - 800fbe2: b29b uxth r3, r3 - 800fbe4: 029b lsls r3, r3, #10 - 800fbe6: b29b uxth r3, r3 - 800fbe8: 4313 orrs r3, r2 - 800fbea: b29b uxth r3, r3 - 800fbec: ea6f 4343 mvn.w r3, r3, lsl #17 - 800fbf0: ea6f 4353 mvn.w r3, r3, lsr #17 - 800fbf4: b29a uxth r2, r3 - 800fbf6: 6b7b ldr r3, [r7, #52] @ 0x34 - 800fbf8: 801a strh r2, [r3, #0] - 800fbfa: e018 b.n 800fc2e - 800fbfc: 683b ldr r3, [r7, #0] - 800fbfe: 785b ldrb r3, [r3, #1] - 800fc00: 2b01 cmp r3, #1 - 800fc02: d114 bne.n 800fc2e - 800fc04: 687b ldr r3, [r7, #4] - 800fc06: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800fc0a: b29b uxth r3, r3 - 800fc0c: 461a mov r2, r3 - 800fc0e: 6c3b ldr r3, [r7, #64] @ 0x40 - 800fc10: 4413 add r3, r2 - 800fc12: 643b str r3, [r7, #64] @ 0x40 - 800fc14: 683b ldr r3, [r7, #0] - 800fc16: 781b ldrb r3, [r3, #0] - 800fc18: 00da lsls r2, r3, #3 - 800fc1a: 6c3b ldr r3, [r7, #64] @ 0x40 - 800fc1c: 4413 add r3, r2 - 800fc1e: f203 4306 addw r3, r3, #1030 @ 0x406 - 800fc22: 63fb str r3, [r7, #60] @ 0x3c - 800fc24: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fc28: b29a uxth r2, r3 - 800fc2a: 6bfb ldr r3, [r7, #60] @ 0x3c - 800fc2c: 801a strh r2, [r3, #0] - pmabuffer = ep->pmaaddr1; - 800fc2e: 683b ldr r3, [r7, #0] - 800fc30: 895b ldrh r3, [r3, #10] - 800fc32: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 - - /* Write the user buffer to USB PMA */ - USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); - 800fc36: 683b ldr r3, [r7, #0] - 800fc38: 6959 ldr r1, [r3, #20] - 800fc3a: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fc3e: b29b uxth r3, r3 - 800fc40: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 - 800fc44: 6878 ldr r0, [r7, #4] - 800fc46: f000 fbca bl 80103de - 800fc4a: e193 b.n 800ff74 - } - } - /* auto Switch to single buffer mode when transfer xfer_len_db; 800fc4c: 683b ldr r3, [r7, #0] - 800fc4e: 6a1b ldr r3, [r3, #32] - 800fc50: f8c7 30ac str.w r3, [r7, #172] @ 0xac - - /* disable double buffer mode for Bulk endpoint */ - PCD_CLEAR_BULK_EP_DBUF(USBx, ep->num); + 800fc4e: 785b ldrb r3, [r3, #1] + 800fc50: 2b00 cmp r3, #0 + 800fc52: d044 beq.n 800fcde + { + PCD_CLEAR_TX_DTOG(USBx, ep->num); 800fc54: 687a ldr r2, [r7, #4] 800fc56: 683b ldr r3, [r7, #0] 800fc58: 781b ldrb r3, [r3, #0] 800fc5a: 009b lsls r3, r3, #2 800fc5c: 4413 add r3, r2 800fc5e: 881b ldrh r3, [r3, #0] - 800fc60: b29b uxth r3, r3 - 800fc62: f423 43e2 bic.w r3, r3, #28928 @ 0x7100 - 800fc66: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800fc6a: f8a7 3062 strh.w r3, [r7, #98] @ 0x62 - 800fc6e: 687a ldr r2, [r7, #4] - 800fc70: 683b ldr r3, [r7, #0] - 800fc72: 781b ldrb r3, [r3, #0] - 800fc74: 009b lsls r3, r3, #2 - 800fc76: 441a add r2, r3 - 800fc78: f8b7 3062 ldrh.w r3, [r7, #98] @ 0x62 - 800fc7c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800fc80: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800fc84: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800fc88: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800fc8c: b29b uxth r3, r3 - 800fc8e: 8013 strh r3, [r2, #0] + 800fc60: 81bb strh r3, [r7, #12] + 800fc62: 89bb ldrh r3, [r7, #12] + 800fc64: f003 0340 and.w r3, r3, #64 @ 0x40 + 800fc68: 2b00 cmp r3, #0 + 800fc6a: d01b beq.n 800fca4 + 800fc6c: 687a ldr r2, [r7, #4] + 800fc6e: 683b ldr r3, [r7, #0] + 800fc70: 781b ldrb r3, [r3, #0] + 800fc72: 009b lsls r3, r3, #2 + 800fc74: 4413 add r3, r2 + 800fc76: 881b ldrh r3, [r3, #0] + 800fc78: b29b uxth r3, r3 + 800fc7a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fc7e: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fc82: 817b strh r3, [r7, #10] + 800fc84: 687a ldr r2, [r7, #4] + 800fc86: 683b ldr r3, [r7, #0] + 800fc88: 781b ldrb r3, [r3, #0] + 800fc8a: 009b lsls r3, r3, #2 + 800fc8c: 441a add r2, r3 + 800fc8e: 897b ldrh r3, [r7, #10] + 800fc90: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fc94: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fc98: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fc9c: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800fca0: b29b uxth r3, r3 + 800fca2: 8013 strh r3, [r2, #0] + + /* Configure DISABLE status for the Endpoint */ + PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); + 800fca4: 687a ldr r2, [r7, #4] + 800fca6: 683b ldr r3, [r7, #0] + 800fca8: 781b ldrb r3, [r3, #0] + 800fcaa: 009b lsls r3, r3, #2 + 800fcac: 4413 add r3, r2 + 800fcae: 881b ldrh r3, [r3, #0] + 800fcb0: b29b uxth r3, r3 + 800fcb2: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fcb6: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800fcba: 813b strh r3, [r7, #8] + 800fcbc: 687a ldr r2, [r7, #4] + 800fcbe: 683b ldr r3, [r7, #0] + 800fcc0: 781b ldrb r3, [r3, #0] + 800fcc2: 009b lsls r3, r3, #2 + 800fcc4: 441a add r2, r3 + 800fcc6: 893b ldrh r3, [r7, #8] + 800fcc8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fccc: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fcd0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fcd4: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fcd8: b29b uxth r3, r3 + 800fcda: 8013 strh r3, [r2, #0] + 800fcdc: e192 b.n 8010004 + } + + else + { + PCD_CLEAR_RX_DTOG(USBx, ep->num); + 800fcde: 687a ldr r2, [r7, #4] + 800fce0: 683b ldr r3, [r7, #0] + 800fce2: 781b ldrb r3, [r3, #0] + 800fce4: 009b lsls r3, r3, #2 + 800fce6: 4413 add r3, r2 + 800fce8: 881b ldrh r3, [r3, #0] + 800fcea: 827b strh r3, [r7, #18] + 800fcec: 8a7b ldrh r3, [r7, #18] + 800fcee: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800fcf2: 2b00 cmp r3, #0 + 800fcf4: d01b beq.n 800fd2e + 800fcf6: 687a ldr r2, [r7, #4] + 800fcf8: 683b ldr r3, [r7, #0] + 800fcfa: 781b ldrb r3, [r3, #0] + 800fcfc: 009b lsls r3, r3, #2 + 800fcfe: 4413 add r3, r2 + 800fd00: 881b ldrh r3, [r3, #0] + 800fd02: b29b uxth r3, r3 + 800fd04: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fd08: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fd0c: 823b strh r3, [r7, #16] + 800fd0e: 687a ldr r2, [r7, #4] + 800fd10: 683b ldr r3, [r7, #0] + 800fd12: 781b ldrb r3, [r3, #0] + 800fd14: 009b lsls r3, r3, #2 + 800fd16: 441a add r2, r3 + 800fd18: 8a3b ldrh r3, [r7, #16] + 800fd1a: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fd1e: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fd22: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800fd26: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fd2a: b29b uxth r3, r3 + 800fd2c: 8013 strh r3, [r2, #0] + + /* Configure DISABLE status for the Endpoint */ + PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); + 800fd2e: 687a ldr r2, [r7, #4] + 800fd30: 683b ldr r3, [r7, #0] + 800fd32: 781b ldrb r3, [r3, #0] + 800fd34: 009b lsls r3, r3, #2 + 800fd36: 4413 add r3, r2 + 800fd38: 881b ldrh r3, [r3, #0] + 800fd3a: b29b uxth r3, r3 + 800fd3c: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800fd40: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fd44: 81fb strh r3, [r7, #14] + 800fd46: 687a ldr r2, [r7, #4] + 800fd48: 683b ldr r3, [r7, #0] + 800fd4a: 781b ldrb r3, [r3, #0] + 800fd4c: 009b lsls r3, r3, #2 + 800fd4e: 441a add r2, r3 + 800fd50: 89fb ldrh r3, [r7, #14] + 800fd52: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fd56: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fd5a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fd5e: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fd62: b29b uxth r3, r3 + 800fd64: 8013 strh r3, [r2, #0] + 800fd66: e14d b.n 8010004 + } +#if (USE_USB_DOUBLE_BUFFER == 1U) + /* Double Buffer */ + else + { + if (ep->is_in == 0U) + 800fd68: 683b ldr r3, [r7, #0] + 800fd6a: 785b ldrb r3, [r3, #1] + 800fd6c: 2b00 cmp r3, #0 + 800fd6e: f040 80a5 bne.w 800febc + { + /* Clear the data toggle bits for the endpoint IN/OUT*/ + PCD_CLEAR_RX_DTOG(USBx, ep->num); + 800fd72: 687a ldr r2, [r7, #4] + 800fd74: 683b ldr r3, [r7, #0] + 800fd76: 781b ldrb r3, [r3, #0] + 800fd78: 009b lsls r3, r3, #2 + 800fd7a: 4413 add r3, r2 + 800fd7c: 881b ldrh r3, [r3, #0] + 800fd7e: 843b strh r3, [r7, #32] + 800fd80: 8c3b ldrh r3, [r7, #32] + 800fd82: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800fd86: 2b00 cmp r3, #0 + 800fd88: d01b beq.n 800fdc2 + 800fd8a: 687a ldr r2, [r7, #4] + 800fd8c: 683b ldr r3, [r7, #0] + 800fd8e: 781b ldrb r3, [r3, #0] + 800fd90: 009b lsls r3, r3, #2 + 800fd92: 4413 add r3, r2 + 800fd94: 881b ldrh r3, [r3, #0] + 800fd96: b29b uxth r3, r3 + 800fd98: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fd9c: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fda0: 83fb strh r3, [r7, #30] + 800fda2: 687a ldr r2, [r7, #4] + 800fda4: 683b ldr r3, [r7, #0] + 800fda6: 781b ldrb r3, [r3, #0] + 800fda8: 009b lsls r3, r3, #2 + 800fdaa: 441a add r2, r3 + 800fdac: 8bfb ldrh r3, [r7, #30] + 800fdae: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fdb2: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fdb6: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800fdba: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fdbe: b29b uxth r3, r3 + 800fdc0: 8013 strh r3, [r2, #0] + PCD_CLEAR_TX_DTOG(USBx, ep->num); + 800fdc2: 687a ldr r2, [r7, #4] + 800fdc4: 683b ldr r3, [r7, #0] + 800fdc6: 781b ldrb r3, [r3, #0] + 800fdc8: 009b lsls r3, r3, #2 + 800fdca: 4413 add r3, r2 + 800fdcc: 881b ldrh r3, [r3, #0] + 800fdce: 83bb strh r3, [r7, #28] + 800fdd0: 8bbb ldrh r3, [r7, #28] + 800fdd2: f003 0340 and.w r3, r3, #64 @ 0x40 + 800fdd6: 2b00 cmp r3, #0 + 800fdd8: d01b beq.n 800fe12 + 800fdda: 687a ldr r2, [r7, #4] + 800fddc: 683b ldr r3, [r7, #0] + 800fdde: 781b ldrb r3, [r3, #0] + 800fde0: 009b lsls r3, r3, #2 + 800fde2: 4413 add r3, r2 + 800fde4: 881b ldrh r3, [r3, #0] + 800fde6: b29b uxth r3, r3 + 800fde8: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fdec: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fdf0: 837b strh r3, [r7, #26] + 800fdf2: 687a ldr r2, [r7, #4] + 800fdf4: 683b ldr r3, [r7, #0] + 800fdf6: 781b ldrb r3, [r3, #0] + 800fdf8: 009b lsls r3, r3, #2 + 800fdfa: 441a add r2, r3 + 800fdfc: 8b7b ldrh r3, [r7, #26] + 800fdfe: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fe02: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fe06: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fe0a: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800fe0e: b29b uxth r3, r3 + 800fe10: 8013 strh r3, [r2, #0] + + /* Reset value of the data toggle bits for the endpoint out*/ + PCD_TX_DTOG(USBx, ep->num); + 800fe12: 687a ldr r2, [r7, #4] + 800fe14: 683b ldr r3, [r7, #0] + 800fe16: 781b ldrb r3, [r3, #0] + 800fe18: 009b lsls r3, r3, #2 + 800fe1a: 4413 add r3, r2 + 800fe1c: 881b ldrh r3, [r3, #0] + 800fe1e: b29b uxth r3, r3 + 800fe20: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fe24: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fe28: 833b strh r3, [r7, #24] + 800fe2a: 687a ldr r2, [r7, #4] + 800fe2c: 683b ldr r3, [r7, #0] + 800fe2e: 781b ldrb r3, [r3, #0] + 800fe30: 009b lsls r3, r3, #2 + 800fe32: 441a add r2, r3 + 800fe34: 8b3b ldrh r3, [r7, #24] + 800fe36: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fe3a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fe3e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fe42: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800fe46: b29b uxth r3, r3 + 800fe48: 8013 strh r3, [r2, #0] + + PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); + 800fe4a: 687a ldr r2, [r7, #4] + 800fe4c: 683b ldr r3, [r7, #0] + 800fe4e: 781b ldrb r3, [r3, #0] + 800fe50: 009b lsls r3, r3, #2 + 800fe52: 4413 add r3, r2 + 800fe54: 881b ldrh r3, [r3, #0] + 800fe56: b29b uxth r3, r3 + 800fe58: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800fe5c: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800fe60: 82fb strh r3, [r7, #22] + 800fe62: 687a ldr r2, [r7, #4] + 800fe64: 683b ldr r3, [r7, #0] + 800fe66: 781b ldrb r3, [r3, #0] + 800fe68: 009b lsls r3, r3, #2 + 800fe6a: 441a add r2, r3 + 800fe6c: 8afb ldrh r3, [r7, #22] + 800fe6e: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fe72: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fe76: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fe7a: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800fe7e: b29b uxth r3, r3 + 800fe80: 8013 strh r3, [r2, #0] + PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); + 800fe82: 687a ldr r2, [r7, #4] + 800fe84: 683b ldr r3, [r7, #0] + 800fe86: 781b ldrb r3, [r3, #0] + 800fe88: 009b lsls r3, r3, #2 + 800fe8a: 4413 add r3, r2 + 800fe8c: 881b ldrh r3, [r3, #0] + 800fe8e: b29b uxth r3, r3 + 800fe90: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fe94: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800fe98: 82bb strh r3, [r7, #20] + 800fe9a: 687a ldr r2, [r7, #4] + 800fe9c: 683b ldr r3, [r7, #0] + 800fe9e: 781b ldrb r3, [r3, #0] + 800fea0: 009b lsls r3, r3, #2 + 800fea2: 441a add r2, r3 + 800fea4: 8abb ldrh r3, [r7, #20] + 800fea6: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800feaa: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800feae: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800feb2: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800feb6: b29b uxth r3, r3 + 800feb8: 8013 strh r3, [r2, #0] + 800feba: e0a3 b.n 8010004 + } + else + { + /* Clear the data toggle bits for the endpoint IN/OUT*/ + PCD_CLEAR_RX_DTOG(USBx, ep->num); + 800febc: 687a ldr r2, [r7, #4] + 800febe: 683b ldr r3, [r7, #0] + 800fec0: 781b ldrb r3, [r3, #0] + 800fec2: 009b lsls r3, r3, #2 + 800fec4: 4413 add r3, r2 + 800fec6: 881b ldrh r3, [r3, #0] + 800fec8: 85fb strh r3, [r7, #46] @ 0x2e + 800feca: 8dfb ldrh r3, [r7, #46] @ 0x2e + 800fecc: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 800fed0: 2b00 cmp r3, #0 + 800fed2: d01b beq.n 800ff0c + 800fed4: 687a ldr r2, [r7, #4] + 800fed6: 683b ldr r3, [r7, #0] + 800fed8: 781b ldrb r3, [r3, #0] + 800feda: 009b lsls r3, r3, #2 + 800fedc: 4413 add r3, r2 + 800fede: 881b ldrh r3, [r3, #0] + 800fee0: b29b uxth r3, r3 + 800fee2: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800fee6: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800feea: 85bb strh r3, [r7, #44] @ 0x2c + 800feec: 687a ldr r2, [r7, #4] + 800feee: 683b ldr r3, [r7, #0] + 800fef0: 781b ldrb r3, [r3, #0] + 800fef2: 009b lsls r3, r3, #2 + 800fef4: 441a add r2, r3 + 800fef6: 8dbb ldrh r3, [r7, #44] @ 0x2c + 800fef8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fefc: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800ff00: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800ff04: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800ff08: b29b uxth r3, r3 + 800ff0a: 8013 strh r3, [r2, #0] + PCD_CLEAR_TX_DTOG(USBx, ep->num); + 800ff0c: 687a ldr r2, [r7, #4] + 800ff0e: 683b ldr r3, [r7, #0] + 800ff10: 781b ldrb r3, [r3, #0] + 800ff12: 009b lsls r3, r3, #2 + 800ff14: 4413 add r3, r2 + 800ff16: 881b ldrh r3, [r3, #0] + 800ff18: 857b strh r3, [r7, #42] @ 0x2a + 800ff1a: 8d7b ldrh r3, [r7, #42] @ 0x2a + 800ff1c: f003 0340 and.w r3, r3, #64 @ 0x40 + 800ff20: 2b00 cmp r3, #0 + 800ff22: d01b beq.n 800ff5c + 800ff24: 687a ldr r2, [r7, #4] + 800ff26: 683b ldr r3, [r7, #0] + 800ff28: 781b ldrb r3, [r3, #0] + 800ff2a: 009b lsls r3, r3, #2 + 800ff2c: 4413 add r3, r2 + 800ff2e: 881b ldrh r3, [r3, #0] + 800ff30: b29b uxth r3, r3 + 800ff32: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800ff36: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800ff3a: 853b strh r3, [r7, #40] @ 0x28 + 800ff3c: 687a ldr r2, [r7, #4] + 800ff3e: 683b ldr r3, [r7, #0] + 800ff40: 781b ldrb r3, [r3, #0] + 800ff42: 009b lsls r3, r3, #2 + 800ff44: 441a add r2, r3 + 800ff46: 8d3b ldrh r3, [r7, #40] @ 0x28 + 800ff48: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800ff4c: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800ff50: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800ff54: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 800ff58: b29b uxth r3, r3 + 800ff5a: 8013 strh r3, [r2, #0] + PCD_RX_DTOG(USBx, ep->num); + 800ff5c: 687a ldr r2, [r7, #4] + 800ff5e: 683b ldr r3, [r7, #0] + 800ff60: 781b ldrb r3, [r3, #0] + 800ff62: 009b lsls r3, r3, #2 + 800ff64: 4413 add r3, r2 + 800ff66: 881b ldrh r3, [r3, #0] + 800ff68: b29b uxth r3, r3 + 800ff6a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800ff6e: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800ff72: 84fb strh r3, [r7, #38] @ 0x26 + 800ff74: 687a ldr r2, [r7, #4] + 800ff76: 683b ldr r3, [r7, #0] + 800ff78: 781b ldrb r3, [r3, #0] + 800ff7a: 009b lsls r3, r3, #2 + 800ff7c: 441a add r2, r3 + 800ff7e: 8cfb ldrh r3, [r7, #38] @ 0x26 + 800ff80: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800ff84: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800ff88: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 800ff8c: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800ff90: b29b uxth r3, r3 + 800ff92: 8013 strh r3, [r2, #0] + + /* Configure DISABLE status for the Endpoint*/ + PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS); + 800ff94: 687a ldr r2, [r7, #4] + 800ff96: 683b ldr r3, [r7, #0] + 800ff98: 781b ldrb r3, [r3, #0] + 800ff9a: 009b lsls r3, r3, #2 + 800ff9c: 4413 add r3, r2 + 800ff9e: 881b ldrh r3, [r3, #0] + 800ffa0: b29b uxth r3, r3 + 800ffa2: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 800ffa6: f023 0340 bic.w r3, r3, #64 @ 0x40 + 800ffaa: 84bb strh r3, [r7, #36] @ 0x24 + 800ffac: 687a ldr r2, [r7, #4] + 800ffae: 683b ldr r3, [r7, #0] + 800ffb0: 781b ldrb r3, [r3, #0] + 800ffb2: 009b lsls r3, r3, #2 + 800ffb4: 441a add r2, r3 + 800ffb6: 8cbb ldrh r3, [r7, #36] @ 0x24 + 800ffb8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800ffbc: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800ffc0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800ffc4: f043 0380 orr.w r3, r3, #128 @ 0x80 + 800ffc8: b29b uxth r3, r3 + 800ffca: 8013 strh r3, [r2, #0] + PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS); + 800ffcc: 687a ldr r2, [r7, #4] + 800ffce: 683b ldr r3, [r7, #0] + 800ffd0: 781b ldrb r3, [r3, #0] + 800ffd2: 009b lsls r3, r3, #2 + 800ffd4: 4413 add r3, r2 + 800ffd6: 881b ldrh r3, [r3, #0] + 800ffd8: b29b uxth r3, r3 + 800ffda: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 800ffde: f023 0370 bic.w r3, r3, #112 @ 0x70 + 800ffe2: 847b strh r3, [r7, #34] @ 0x22 + 800ffe4: 687a ldr r2, [r7, #4] + 800ffe6: 683b ldr r3, [r7, #0] + 800ffe8: 781b ldrb r3, [r3, #0] + 800ffea: 009b lsls r3, r3, #2 + 800ffec: 441a add r2, r3 + 800ffee: 8c7b ldrh r3, [r7, #34] @ 0x22 + 800fff0: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 800fff4: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 800fff8: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 800fffc: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010000: b29b uxth r3, r3 + 8010002: 8013 strh r3, [r2, #0] + } + } +#endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ + + return HAL_OK; + 8010004: 2300 movs r3, #0 +} + 8010006: 4618 mov r0, r3 + 8010008: 3734 adds r7, #52 @ 0x34 + 801000a: 46bd mov sp, r7 + 801000c: f85d 7b04 ldr.w r7, [sp], #4 + 8010010: 4770 bx lr + +08010012 : + * @param USBx Selected device + * @param ep pointer to endpoint structure + * @retval HAL status + */ +HAL_StatusTypeDef USB_EPStartXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep) +{ + 8010012: b580 push {r7, lr} + 8010014: b0ac sub sp, #176 @ 0xb0 + 8010016: af00 add r7, sp, #0 + 8010018: 6078 str r0, [r7, #4] + 801001a: 6039 str r1, [r7, #0] + uint16_t pmabuffer; + uint16_t wEPVal; +#endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ + + /* IN endpoint */ + if (ep->is_in == 1U) + 801001c: 683b ldr r3, [r7, #0] + 801001e: 785b ldrb r3, [r3, #1] + 8010020: 2b01 cmp r3, #1 + 8010022: f040 84ca bne.w 80109ba + { + /* Multi packet transfer */ + if (ep->xfer_len > ep->maxpacket) + 8010026: 683b ldr r3, [r7, #0] + 8010028: 699a ldr r2, [r3, #24] + 801002a: 683b ldr r3, [r7, #0] + 801002c: 691b ldr r3, [r3, #16] + 801002e: 429a cmp r2, r3 + 8010030: d904 bls.n 801003c + { + len = ep->maxpacket; + 8010032: 683b ldr r3, [r7, #0] + 8010034: 691b ldr r3, [r3, #16] + 8010036: f8c7 30ac str.w r3, [r7, #172] @ 0xac + 801003a: e003 b.n 8010044 + } + else + { + len = ep->xfer_len; + 801003c: 683b ldr r3, [r7, #0] + 801003e: 699b ldr r3, [r3, #24] + 8010040: f8c7 30ac str.w r3, [r7, #172] @ 0xac + } + + /* configure and validate Tx endpoint */ + if (ep->doublebuffer == 0U) + 8010044: 683b ldr r3, [r7, #0] + 8010046: 7b1b ldrb r3, [r3, #12] + 8010048: 2b00 cmp r3, #0 + 801004a: d122 bne.n 8010092 + { + USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len); + 801004c: 683b ldr r3, [r7, #0] + 801004e: 6959 ldr r1, [r3, #20] + 8010050: 683b ldr r3, [r7, #0] + 8010052: 88da ldrh r2, [r3, #6] + 8010054: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010058: b29b uxth r3, r3 + 801005a: 6878 ldr r0, [r7, #4] + 801005c: f000 febd bl 8010dda + PCD_SET_EP_TX_CNT(USBx, ep->num, len); + 8010060: 687b ldr r3, [r7, #4] + 8010062: 613b str r3, [r7, #16] + 8010064: 687b ldr r3, [r7, #4] + 8010066: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 801006a: b29b uxth r3, r3 + 801006c: 461a mov r2, r3 + 801006e: 693b ldr r3, [r7, #16] + 8010070: 4413 add r3, r2 + 8010072: 613b str r3, [r7, #16] + 8010074: 683b ldr r3, [r7, #0] + 8010076: 781b ldrb r3, [r3, #0] + 8010078: 00da lsls r2, r3, #3 + 801007a: 693b ldr r3, [r7, #16] + 801007c: 4413 add r3, r2 + 801007e: f203 4302 addw r3, r3, #1026 @ 0x402 + 8010082: 60fb str r3, [r7, #12] + 8010084: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010088: b29a uxth r2, r3 + 801008a: 68fb ldr r3, [r7, #12] + 801008c: 801a strh r2, [r3, #0] + 801008e: f000 bc6f b.w 8010970 + } +#if (USE_USB_DOUBLE_BUFFER == 1U) + else + { + /* double buffer bulk management */ + if (ep->type == EP_TYPE_BULK) + 8010092: 683b ldr r3, [r7, #0] + 8010094: 78db ldrb r3, [r3, #3] + 8010096: 2b02 cmp r3, #2 + 8010098: f040 831e bne.w 80106d8 + { + if (ep->xfer_len_db > ep->maxpacket) + 801009c: 683b ldr r3, [r7, #0] + 801009e: 6a1a ldr r2, [r3, #32] + 80100a0: 683b ldr r3, [r7, #0] + 80100a2: 691b ldr r3, [r3, #16] + 80100a4: 429a cmp r2, r3 + 80100a6: f240 82cf bls.w 8010648 + { + /* enable double buffer */ + PCD_SET_BULK_EP_DBUF(USBx, ep->num); + 80100aa: 687a ldr r2, [r7, #4] + 80100ac: 683b ldr r3, [r7, #0] + 80100ae: 781b ldrb r3, [r3, #0] + 80100b0: 009b lsls r3, r3, #2 + 80100b2: 4413 add r3, r2 + 80100b4: 881b ldrh r3, [r3, #0] + 80100b6: b29b uxth r3, r3 + 80100b8: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 80100bc: f023 0370 bic.w r3, r3, #112 @ 0x70 + 80100c0: f8a7 3056 strh.w r3, [r7, #86] @ 0x56 + 80100c4: 687a ldr r2, [r7, #4] + 80100c6: 683b ldr r3, [r7, #0] + 80100c8: 781b ldrb r3, [r3, #0] + 80100ca: 009b lsls r3, r3, #2 + 80100cc: 441a add r2, r3 + 80100ce: f8b7 3056 ldrh.w r3, [r7, #86] @ 0x56 + 80100d2: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 80100d6: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 80100da: f443 4301 orr.w r3, r3, #33024 @ 0x8100 + 80100de: f043 0380 orr.w r3, r3, #128 @ 0x80 + 80100e2: b29b uxth r3, r3 + 80100e4: 8013 strh r3, [r2, #0] + + /* each Time to write in PMA xfer_len_db will */ + ep->xfer_len_db -= len; + 80100e6: 683b ldr r3, [r7, #0] + 80100e8: 6a1a ldr r2, [r3, #32] + 80100ea: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80100ee: 1ad2 subs r2, r2, r3 + 80100f0: 683b ldr r3, [r7, #0] + 80100f2: 621a str r2, [r3, #32] + + /* Fill the two first buffer in the Buffer0 & Buffer1 */ + if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) + 80100f4: 687a ldr r2, [r7, #4] + 80100f6: 683b ldr r3, [r7, #0] + 80100f8: 781b ldrb r3, [r3, #0] + 80100fa: 009b lsls r3, r3, #2 + 80100fc: 4413 add r3, r2 + 80100fe: 881b ldrh r3, [r3, #0] + 8010100: b29b uxth r3, r3 + 8010102: f003 0340 and.w r3, r3, #64 @ 0x40 + 8010106: 2b00 cmp r3, #0 + 8010108: f000 814f beq.w 80103aa + { + /* Set the Double buffer counter for pmabuffer1 */ + PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); + 801010c: 687b ldr r3, [r7, #4] + 801010e: 633b str r3, [r7, #48] @ 0x30 + 8010110: 683b ldr r3, [r7, #0] + 8010112: 785b ldrb r3, [r3, #1] + 8010114: 2b00 cmp r3, #0 + 8010116: d16b bne.n 80101f0 + 8010118: 687b ldr r3, [r7, #4] + 801011a: 62bb str r3, [r7, #40] @ 0x28 + 801011c: 687b ldr r3, [r7, #4] + 801011e: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8010122: b29b uxth r3, r3 + 8010124: 461a mov r2, r3 + 8010126: 6abb ldr r3, [r7, #40] @ 0x28 + 8010128: 4413 add r3, r2 + 801012a: 62bb str r3, [r7, #40] @ 0x28 + 801012c: 683b ldr r3, [r7, #0] + 801012e: 781b ldrb r3, [r3, #0] + 8010130: 00da lsls r2, r3, #3 + 8010132: 6abb ldr r3, [r7, #40] @ 0x28 + 8010134: 4413 add r3, r2 + 8010136: f203 4306 addw r3, r3, #1030 @ 0x406 + 801013a: 627b str r3, [r7, #36] @ 0x24 + 801013c: 6a7b ldr r3, [r7, #36] @ 0x24 + 801013e: 881b ldrh r3, [r3, #0] + 8010140: b29b uxth r3, r3 + 8010142: f3c3 0309 ubfx r3, r3, #0, #10 + 8010146: b29a uxth r2, r3 + 8010148: 6a7b ldr r3, [r7, #36] @ 0x24 + 801014a: 801a strh r2, [r3, #0] + 801014c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010150: 2b00 cmp r3, #0 + 8010152: d10a bne.n 801016a + 8010154: 6a7b ldr r3, [r7, #36] @ 0x24 + 8010156: 881b ldrh r3, [r3, #0] + 8010158: b29b uxth r3, r3 + 801015a: ea6f 4343 mvn.w r3, r3, lsl #17 + 801015e: ea6f 4353 mvn.w r3, r3, lsr #17 + 8010162: b29a uxth r2, r3 + 8010164: 6a7b ldr r3, [r7, #36] @ 0x24 + 8010166: 801a strh r2, [r3, #0] + 8010168: e05b b.n 8010222 + 801016a: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801016e: 2b3e cmp r3, #62 @ 0x3e + 8010170: d81c bhi.n 80101ac + 8010172: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010176: 085b lsrs r3, r3, #1 + 8010178: f8c7 30a8 str.w r3, [r7, #168] @ 0xa8 + 801017c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010180: f003 0301 and.w r3, r3, #1 + 8010184: 2b00 cmp r3, #0 + 8010186: d004 beq.n 8010192 + 8010188: f8d7 30a8 ldr.w r3, [r7, #168] @ 0xa8 + 801018c: 3301 adds r3, #1 + 801018e: f8c7 30a8 str.w r3, [r7, #168] @ 0xa8 + 8010192: 6a7b ldr r3, [r7, #36] @ 0x24 + 8010194: 881b ldrh r3, [r3, #0] + 8010196: b29a uxth r2, r3 + 8010198: f8d7 30a8 ldr.w r3, [r7, #168] @ 0xa8 + 801019c: b29b uxth r3, r3 + 801019e: 029b lsls r3, r3, #10 + 80101a0: b29b uxth r3, r3 + 80101a2: 4313 orrs r3, r2 + 80101a4: b29a uxth r2, r3 + 80101a6: 6a7b ldr r3, [r7, #36] @ 0x24 + 80101a8: 801a strh r2, [r3, #0] + 80101aa: e03a b.n 8010222 + 80101ac: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80101b0: 095b lsrs r3, r3, #5 + 80101b2: f8c7 30a8 str.w r3, [r7, #168] @ 0xa8 + 80101b6: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80101ba: f003 031f and.w r3, r3, #31 + 80101be: 2b00 cmp r3, #0 + 80101c0: d104 bne.n 80101cc + 80101c2: f8d7 30a8 ldr.w r3, [r7, #168] @ 0xa8 + 80101c6: 3b01 subs r3, #1 + 80101c8: f8c7 30a8 str.w r3, [r7, #168] @ 0xa8 + 80101cc: 6a7b ldr r3, [r7, #36] @ 0x24 + 80101ce: 881b ldrh r3, [r3, #0] + 80101d0: b29a uxth r2, r3 + 80101d2: f8d7 30a8 ldr.w r3, [r7, #168] @ 0xa8 + 80101d6: b29b uxth r3, r3 + 80101d8: 029b lsls r3, r3, #10 + 80101da: b29b uxth r3, r3 + 80101dc: 4313 orrs r3, r2 + 80101de: b29b uxth r3, r3 + 80101e0: ea6f 4343 mvn.w r3, r3, lsl #17 + 80101e4: ea6f 4353 mvn.w r3, r3, lsr #17 + 80101e8: b29a uxth r2, r3 + 80101ea: 6a7b ldr r3, [r7, #36] @ 0x24 + 80101ec: 801a strh r2, [r3, #0] + 80101ee: e018 b.n 8010222 + 80101f0: 683b ldr r3, [r7, #0] + 80101f2: 785b ldrb r3, [r3, #1] + 80101f4: 2b01 cmp r3, #1 + 80101f6: d114 bne.n 8010222 + 80101f8: 687b ldr r3, [r7, #4] + 80101fa: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 80101fe: b29b uxth r3, r3 + 8010200: 461a mov r2, r3 + 8010202: 6b3b ldr r3, [r7, #48] @ 0x30 + 8010204: 4413 add r3, r2 + 8010206: 633b str r3, [r7, #48] @ 0x30 + 8010208: 683b ldr r3, [r7, #0] + 801020a: 781b ldrb r3, [r3, #0] + 801020c: 00da lsls r2, r3, #3 + 801020e: 6b3b ldr r3, [r7, #48] @ 0x30 + 8010210: 4413 add r3, r2 + 8010212: f203 4306 addw r3, r3, #1030 @ 0x406 + 8010216: 62fb str r3, [r7, #44] @ 0x2c + 8010218: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801021c: b29a uxth r2, r3 + 801021e: 6afb ldr r3, [r7, #44] @ 0x2c + 8010220: 801a strh r2, [r3, #0] + pmabuffer = ep->pmaaddr1; + 8010222: 683b ldr r3, [r7, #0] + 8010224: 895b ldrh r3, [r3, #10] + 8010226: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 + + /* Write the user buffer to USB PMA */ + USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); + 801022a: 683b ldr r3, [r7, #0] + 801022c: 6959 ldr r1, [r3, #20] + 801022e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010232: b29b uxth r3, r3 + 8010234: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 + 8010238: 6878 ldr r0, [r7, #4] + 801023a: f000 fdce bl 8010dda + ep->xfer_buff += len; + 801023e: 683b ldr r3, [r7, #0] + 8010240: 695a ldr r2, [r3, #20] + 8010242: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010246: 441a add r2, r3 + 8010248: 683b ldr r3, [r7, #0] + 801024a: 615a str r2, [r3, #20] + + if (ep->xfer_len_db > ep->maxpacket) + 801024c: 683b ldr r3, [r7, #0] + 801024e: 6a1a ldr r2, [r3, #32] + 8010250: 683b ldr r3, [r7, #0] + 8010252: 691b ldr r3, [r3, #16] + 8010254: 429a cmp r2, r3 + 8010256: d907 bls.n 8010268 + { + ep->xfer_len_db -= len; + 8010258: 683b ldr r3, [r7, #0] + 801025a: 6a1a ldr r2, [r3, #32] + 801025c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010260: 1ad2 subs r2, r2, r3 + 8010262: 683b ldr r3, [r7, #0] + 8010264: 621a str r2, [r3, #32] + 8010266: e006 b.n 8010276 + } + else + { + len = ep->xfer_len_db; + 8010268: 683b ldr r3, [r7, #0] + 801026a: 6a1b ldr r3, [r3, #32] + 801026c: f8c7 30ac str.w r3, [r7, #172] @ 0xac + ep->xfer_len_db = 0U; + 8010270: 683b ldr r3, [r7, #0] + 8010272: 2200 movs r2, #0 + 8010274: 621a str r2, [r3, #32] + } + + /* Set the Double buffer counter for pmabuffer0 */ + PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); + 8010276: 683b ldr r3, [r7, #0] + 8010278: 785b ldrb r3, [r3, #1] + 801027a: 2b00 cmp r3, #0 + 801027c: d16b bne.n 8010356 + 801027e: 687b ldr r3, [r7, #4] + 8010280: 61bb str r3, [r7, #24] + 8010282: 687b ldr r3, [r7, #4] + 8010284: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8010288: b29b uxth r3, r3 + 801028a: 461a mov r2, r3 + 801028c: 69bb ldr r3, [r7, #24] + 801028e: 4413 add r3, r2 + 8010290: 61bb str r3, [r7, #24] + 8010292: 683b ldr r3, [r7, #0] + 8010294: 781b ldrb r3, [r3, #0] + 8010296: 00da lsls r2, r3, #3 + 8010298: 69bb ldr r3, [r7, #24] + 801029a: 4413 add r3, r2 + 801029c: f203 4302 addw r3, r3, #1026 @ 0x402 + 80102a0: 617b str r3, [r7, #20] + 80102a2: 697b ldr r3, [r7, #20] + 80102a4: 881b ldrh r3, [r3, #0] + 80102a6: b29b uxth r3, r3 + 80102a8: f3c3 0309 ubfx r3, r3, #0, #10 + 80102ac: b29a uxth r2, r3 + 80102ae: 697b ldr r3, [r7, #20] + 80102b0: 801a strh r2, [r3, #0] + 80102b2: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80102b6: 2b00 cmp r3, #0 + 80102b8: d10a bne.n 80102d0 + 80102ba: 697b ldr r3, [r7, #20] + 80102bc: 881b ldrh r3, [r3, #0] + 80102be: b29b uxth r3, r3 + 80102c0: ea6f 4343 mvn.w r3, r3, lsl #17 + 80102c4: ea6f 4353 mvn.w r3, r3, lsr #17 + 80102c8: b29a uxth r2, r3 + 80102ca: 697b ldr r3, [r7, #20] + 80102cc: 801a strh r2, [r3, #0] + 80102ce: e05d b.n 801038c + 80102d0: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80102d4: 2b3e cmp r3, #62 @ 0x3e + 80102d6: d81c bhi.n 8010312 + 80102d8: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80102dc: 085b lsrs r3, r3, #1 + 80102de: f8c7 30a4 str.w r3, [r7, #164] @ 0xa4 + 80102e2: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80102e6: f003 0301 and.w r3, r3, #1 + 80102ea: 2b00 cmp r3, #0 + 80102ec: d004 beq.n 80102f8 + 80102ee: f8d7 30a4 ldr.w r3, [r7, #164] @ 0xa4 + 80102f2: 3301 adds r3, #1 + 80102f4: f8c7 30a4 str.w r3, [r7, #164] @ 0xa4 + 80102f8: 697b ldr r3, [r7, #20] + 80102fa: 881b ldrh r3, [r3, #0] + 80102fc: b29a uxth r2, r3 + 80102fe: f8d7 30a4 ldr.w r3, [r7, #164] @ 0xa4 + 8010302: b29b uxth r3, r3 + 8010304: 029b lsls r3, r3, #10 + 8010306: b29b uxth r3, r3 + 8010308: 4313 orrs r3, r2 + 801030a: b29a uxth r2, r3 + 801030c: 697b ldr r3, [r7, #20] + 801030e: 801a strh r2, [r3, #0] + 8010310: e03c b.n 801038c + 8010312: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010316: 095b lsrs r3, r3, #5 + 8010318: f8c7 30a4 str.w r3, [r7, #164] @ 0xa4 + 801031c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010320: f003 031f and.w r3, r3, #31 + 8010324: 2b00 cmp r3, #0 + 8010326: d104 bne.n 8010332 + 8010328: f8d7 30a4 ldr.w r3, [r7, #164] @ 0xa4 + 801032c: 3b01 subs r3, #1 + 801032e: f8c7 30a4 str.w r3, [r7, #164] @ 0xa4 + 8010332: 697b ldr r3, [r7, #20] + 8010334: 881b ldrh r3, [r3, #0] + 8010336: b29a uxth r2, r3 + 8010338: f8d7 30a4 ldr.w r3, [r7, #164] @ 0xa4 + 801033c: b29b uxth r3, r3 + 801033e: 029b lsls r3, r3, #10 + 8010340: b29b uxth r3, r3 + 8010342: 4313 orrs r3, r2 + 8010344: b29b uxth r3, r3 + 8010346: ea6f 4343 mvn.w r3, r3, lsl #17 + 801034a: ea6f 4353 mvn.w r3, r3, lsr #17 + 801034e: b29a uxth r2, r3 + 8010350: 697b ldr r3, [r7, #20] + 8010352: 801a strh r2, [r3, #0] + 8010354: e01a b.n 801038c + 8010356: 683b ldr r3, [r7, #0] + 8010358: 785b ldrb r3, [r3, #1] + 801035a: 2b01 cmp r3, #1 + 801035c: d116 bne.n 801038c + 801035e: 687b ldr r3, [r7, #4] + 8010360: 623b str r3, [r7, #32] + 8010362: 687b ldr r3, [r7, #4] + 8010364: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8010368: b29b uxth r3, r3 + 801036a: 461a mov r2, r3 + 801036c: 6a3b ldr r3, [r7, #32] + 801036e: 4413 add r3, r2 + 8010370: 623b str r3, [r7, #32] + 8010372: 683b ldr r3, [r7, #0] + 8010374: 781b ldrb r3, [r3, #0] + 8010376: 00da lsls r2, r3, #3 + 8010378: 6a3b ldr r3, [r7, #32] + 801037a: 4413 add r3, r2 + 801037c: f203 4302 addw r3, r3, #1026 @ 0x402 + 8010380: 61fb str r3, [r7, #28] + 8010382: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010386: b29a uxth r2, r3 + 8010388: 69fb ldr r3, [r7, #28] + 801038a: 801a strh r2, [r3, #0] + pmabuffer = ep->pmaaddr0; + 801038c: 683b ldr r3, [r7, #0] + 801038e: 891b ldrh r3, [r3, #8] + 8010390: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 + + /* Write the user buffer to USB PMA */ + USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); + 8010394: 683b ldr r3, [r7, #0] + 8010396: 6959 ldr r1, [r3, #20] + 8010398: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801039c: b29b uxth r3, r3 + 801039e: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 + 80103a2: 6878 ldr r0, [r7, #4] + 80103a4: f000 fd19 bl 8010dda + 80103a8: e2e2 b.n 8010970 + } + else + { + /* Set the Double buffer counter for pmabuffer0 */ + PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); + 80103aa: 683b ldr r3, [r7, #0] + 80103ac: 785b ldrb r3, [r3, #1] + 80103ae: 2b00 cmp r3, #0 + 80103b0: d16b bne.n 801048a + 80103b2: 687b ldr r3, [r7, #4] + 80103b4: 64bb str r3, [r7, #72] @ 0x48 + 80103b6: 687b ldr r3, [r7, #4] + 80103b8: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 80103bc: b29b uxth r3, r3 + 80103be: 461a mov r2, r3 + 80103c0: 6cbb ldr r3, [r7, #72] @ 0x48 + 80103c2: 4413 add r3, r2 + 80103c4: 64bb str r3, [r7, #72] @ 0x48 + 80103c6: 683b ldr r3, [r7, #0] + 80103c8: 781b ldrb r3, [r3, #0] + 80103ca: 00da lsls r2, r3, #3 + 80103cc: 6cbb ldr r3, [r7, #72] @ 0x48 + 80103ce: 4413 add r3, r2 + 80103d0: f203 4302 addw r3, r3, #1026 @ 0x402 + 80103d4: 647b str r3, [r7, #68] @ 0x44 + 80103d6: 6c7b ldr r3, [r7, #68] @ 0x44 + 80103d8: 881b ldrh r3, [r3, #0] + 80103da: b29b uxth r3, r3 + 80103dc: f3c3 0309 ubfx r3, r3, #0, #10 + 80103e0: b29a uxth r2, r3 + 80103e2: 6c7b ldr r3, [r7, #68] @ 0x44 + 80103e4: 801a strh r2, [r3, #0] + 80103e6: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80103ea: 2b00 cmp r3, #0 + 80103ec: d10a bne.n 8010404 + 80103ee: 6c7b ldr r3, [r7, #68] @ 0x44 + 80103f0: 881b ldrh r3, [r3, #0] + 80103f2: b29b uxth r3, r3 + 80103f4: ea6f 4343 mvn.w r3, r3, lsl #17 + 80103f8: ea6f 4353 mvn.w r3, r3, lsr #17 + 80103fc: b29a uxth r2, r3 + 80103fe: 6c7b ldr r3, [r7, #68] @ 0x44 + 8010400: 801a strh r2, [r3, #0] + 8010402: e05d b.n 80104c0 + 8010404: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010408: 2b3e cmp r3, #62 @ 0x3e + 801040a: d81c bhi.n 8010446 + 801040c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010410: 085b lsrs r3, r3, #1 + 8010412: f8c7 30a0 str.w r3, [r7, #160] @ 0xa0 + 8010416: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801041a: f003 0301 and.w r3, r3, #1 + 801041e: 2b00 cmp r3, #0 + 8010420: d004 beq.n 801042c + 8010422: f8d7 30a0 ldr.w r3, [r7, #160] @ 0xa0 + 8010426: 3301 adds r3, #1 + 8010428: f8c7 30a0 str.w r3, [r7, #160] @ 0xa0 + 801042c: 6c7b ldr r3, [r7, #68] @ 0x44 + 801042e: 881b ldrh r3, [r3, #0] + 8010430: b29a uxth r2, r3 + 8010432: f8d7 30a0 ldr.w r3, [r7, #160] @ 0xa0 + 8010436: b29b uxth r3, r3 + 8010438: 029b lsls r3, r3, #10 + 801043a: b29b uxth r3, r3 + 801043c: 4313 orrs r3, r2 + 801043e: b29a uxth r2, r3 + 8010440: 6c7b ldr r3, [r7, #68] @ 0x44 + 8010442: 801a strh r2, [r3, #0] + 8010444: e03c b.n 80104c0 + 8010446: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801044a: 095b lsrs r3, r3, #5 + 801044c: f8c7 30a0 str.w r3, [r7, #160] @ 0xa0 + 8010450: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010454: f003 031f and.w r3, r3, #31 + 8010458: 2b00 cmp r3, #0 + 801045a: d104 bne.n 8010466 + 801045c: f8d7 30a0 ldr.w r3, [r7, #160] @ 0xa0 + 8010460: 3b01 subs r3, #1 + 8010462: f8c7 30a0 str.w r3, [r7, #160] @ 0xa0 + 8010466: 6c7b ldr r3, [r7, #68] @ 0x44 + 8010468: 881b ldrh r3, [r3, #0] + 801046a: b29a uxth r2, r3 + 801046c: f8d7 30a0 ldr.w r3, [r7, #160] @ 0xa0 + 8010470: b29b uxth r3, r3 + 8010472: 029b lsls r3, r3, #10 + 8010474: b29b uxth r3, r3 + 8010476: 4313 orrs r3, r2 + 8010478: b29b uxth r3, r3 + 801047a: ea6f 4343 mvn.w r3, r3, lsl #17 + 801047e: ea6f 4353 mvn.w r3, r3, lsr #17 + 8010482: b29a uxth r2, r3 + 8010484: 6c7b ldr r3, [r7, #68] @ 0x44 + 8010486: 801a strh r2, [r3, #0] + 8010488: e01a b.n 80104c0 + 801048a: 683b ldr r3, [r7, #0] + 801048c: 785b ldrb r3, [r3, #1] + 801048e: 2b01 cmp r3, #1 + 8010490: d116 bne.n 80104c0 + 8010492: 687b ldr r3, [r7, #4] + 8010494: 653b str r3, [r7, #80] @ 0x50 + 8010496: 687b ldr r3, [r7, #4] + 8010498: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 801049c: b29b uxth r3, r3 + 801049e: 461a mov r2, r3 + 80104a0: 6d3b ldr r3, [r7, #80] @ 0x50 + 80104a2: 4413 add r3, r2 + 80104a4: 653b str r3, [r7, #80] @ 0x50 + 80104a6: 683b ldr r3, [r7, #0] + 80104a8: 781b ldrb r3, [r3, #0] + 80104aa: 00da lsls r2, r3, #3 + 80104ac: 6d3b ldr r3, [r7, #80] @ 0x50 + 80104ae: 4413 add r3, r2 + 80104b0: f203 4302 addw r3, r3, #1026 @ 0x402 + 80104b4: 64fb str r3, [r7, #76] @ 0x4c + 80104b6: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80104ba: b29a uxth r2, r3 + 80104bc: 6cfb ldr r3, [r7, #76] @ 0x4c + 80104be: 801a strh r2, [r3, #0] + pmabuffer = ep->pmaaddr0; + 80104c0: 683b ldr r3, [r7, #0] + 80104c2: 891b ldrh r3, [r3, #8] + 80104c4: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 + + /* Write the user buffer to USB PMA */ + USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); + 80104c8: 683b ldr r3, [r7, #0] + 80104ca: 6959 ldr r1, [r3, #20] + 80104cc: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80104d0: b29b uxth r3, r3 + 80104d2: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 + 80104d6: 6878 ldr r0, [r7, #4] + 80104d8: f000 fc7f bl 8010dda + ep->xfer_buff += len; + 80104dc: 683b ldr r3, [r7, #0] + 80104de: 695a ldr r2, [r3, #20] + 80104e0: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80104e4: 441a add r2, r3 + 80104e6: 683b ldr r3, [r7, #0] + 80104e8: 615a str r2, [r3, #20] + + if (ep->xfer_len_db > ep->maxpacket) + 80104ea: 683b ldr r3, [r7, #0] + 80104ec: 6a1a ldr r2, [r3, #32] + 80104ee: 683b ldr r3, [r7, #0] + 80104f0: 691b ldr r3, [r3, #16] + 80104f2: 429a cmp r2, r3 + 80104f4: d907 bls.n 8010506 + { + ep->xfer_len_db -= len; + 80104f6: 683b ldr r3, [r7, #0] + 80104f8: 6a1a ldr r2, [r3, #32] + 80104fa: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80104fe: 1ad2 subs r2, r2, r3 + 8010500: 683b ldr r3, [r7, #0] + 8010502: 621a str r2, [r3, #32] + 8010504: e006 b.n 8010514 + } + else + { + len = ep->xfer_len_db; + 8010506: 683b ldr r3, [r7, #0] + 8010508: 6a1b ldr r3, [r3, #32] + 801050a: f8c7 30ac str.w r3, [r7, #172] @ 0xac + ep->xfer_len_db = 0U; + 801050e: 683b ldr r3, [r7, #0] + 8010510: 2200 movs r2, #0 + 8010512: 621a str r2, [r3, #32] + } + + /* Set the Double buffer counter for pmabuffer1 */ + PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); + 8010514: 687b ldr r3, [r7, #4] + 8010516: 643b str r3, [r7, #64] @ 0x40 + 8010518: 683b ldr r3, [r7, #0] + 801051a: 785b ldrb r3, [r3, #1] + 801051c: 2b00 cmp r3, #0 + 801051e: d16b bne.n 80105f8 + 8010520: 687b ldr r3, [r7, #4] + 8010522: 63bb str r3, [r7, #56] @ 0x38 + 8010524: 687b ldr r3, [r7, #4] + 8010526: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 801052a: b29b uxth r3, r3 + 801052c: 461a mov r2, r3 + 801052e: 6bbb ldr r3, [r7, #56] @ 0x38 + 8010530: 4413 add r3, r2 + 8010532: 63bb str r3, [r7, #56] @ 0x38 + 8010534: 683b ldr r3, [r7, #0] + 8010536: 781b ldrb r3, [r3, #0] + 8010538: 00da lsls r2, r3, #3 + 801053a: 6bbb ldr r3, [r7, #56] @ 0x38 + 801053c: 4413 add r3, r2 + 801053e: f203 4306 addw r3, r3, #1030 @ 0x406 + 8010542: 637b str r3, [r7, #52] @ 0x34 + 8010544: 6b7b ldr r3, [r7, #52] @ 0x34 + 8010546: 881b ldrh r3, [r3, #0] + 8010548: b29b uxth r3, r3 + 801054a: f3c3 0309 ubfx r3, r3, #0, #10 + 801054e: b29a uxth r2, r3 + 8010550: 6b7b ldr r3, [r7, #52] @ 0x34 + 8010552: 801a strh r2, [r3, #0] + 8010554: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010558: 2b00 cmp r3, #0 + 801055a: d10a bne.n 8010572 + 801055c: 6b7b ldr r3, [r7, #52] @ 0x34 + 801055e: 881b ldrh r3, [r3, #0] + 8010560: b29b uxth r3, r3 + 8010562: ea6f 4343 mvn.w r3, r3, lsl #17 + 8010566: ea6f 4353 mvn.w r3, r3, lsr #17 + 801056a: b29a uxth r2, r3 + 801056c: 6b7b ldr r3, [r7, #52] @ 0x34 + 801056e: 801a strh r2, [r3, #0] + 8010570: e05b b.n 801062a + 8010572: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010576: 2b3e cmp r3, #62 @ 0x3e + 8010578: d81c bhi.n 80105b4 + 801057a: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801057e: 085b lsrs r3, r3, #1 + 8010580: f8c7 309c str.w r3, [r7, #156] @ 0x9c + 8010584: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010588: f003 0301 and.w r3, r3, #1 + 801058c: 2b00 cmp r3, #0 + 801058e: d004 beq.n 801059a + 8010590: f8d7 309c ldr.w r3, [r7, #156] @ 0x9c + 8010594: 3301 adds r3, #1 + 8010596: f8c7 309c str.w r3, [r7, #156] @ 0x9c + 801059a: 6b7b ldr r3, [r7, #52] @ 0x34 + 801059c: 881b ldrh r3, [r3, #0] + 801059e: b29a uxth r2, r3 + 80105a0: f8d7 309c ldr.w r3, [r7, #156] @ 0x9c + 80105a4: b29b uxth r3, r3 + 80105a6: 029b lsls r3, r3, #10 + 80105a8: b29b uxth r3, r3 + 80105aa: 4313 orrs r3, r2 + 80105ac: b29a uxth r2, r3 + 80105ae: 6b7b ldr r3, [r7, #52] @ 0x34 + 80105b0: 801a strh r2, [r3, #0] + 80105b2: e03a b.n 801062a + 80105b4: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80105b8: 095b lsrs r3, r3, #5 + 80105ba: f8c7 309c str.w r3, [r7, #156] @ 0x9c + 80105be: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80105c2: f003 031f and.w r3, r3, #31 + 80105c6: 2b00 cmp r3, #0 + 80105c8: d104 bne.n 80105d4 + 80105ca: f8d7 309c ldr.w r3, [r7, #156] @ 0x9c + 80105ce: 3b01 subs r3, #1 + 80105d0: f8c7 309c str.w r3, [r7, #156] @ 0x9c + 80105d4: 6b7b ldr r3, [r7, #52] @ 0x34 + 80105d6: 881b ldrh r3, [r3, #0] + 80105d8: b29a uxth r2, r3 + 80105da: f8d7 309c ldr.w r3, [r7, #156] @ 0x9c + 80105de: b29b uxth r3, r3 + 80105e0: 029b lsls r3, r3, #10 + 80105e2: b29b uxth r3, r3 + 80105e4: 4313 orrs r3, r2 + 80105e6: b29b uxth r3, r3 + 80105e8: ea6f 4343 mvn.w r3, r3, lsl #17 + 80105ec: ea6f 4353 mvn.w r3, r3, lsr #17 + 80105f0: b29a uxth r2, r3 + 80105f2: 6b7b ldr r3, [r7, #52] @ 0x34 + 80105f4: 801a strh r2, [r3, #0] + 80105f6: e018 b.n 801062a + 80105f8: 683b ldr r3, [r7, #0] + 80105fa: 785b ldrb r3, [r3, #1] + 80105fc: 2b01 cmp r3, #1 + 80105fe: d114 bne.n 801062a + 8010600: 687b ldr r3, [r7, #4] + 8010602: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8010606: b29b uxth r3, r3 + 8010608: 461a mov r2, r3 + 801060a: 6c3b ldr r3, [r7, #64] @ 0x40 + 801060c: 4413 add r3, r2 + 801060e: 643b str r3, [r7, #64] @ 0x40 + 8010610: 683b ldr r3, [r7, #0] + 8010612: 781b ldrb r3, [r3, #0] + 8010614: 00da lsls r2, r3, #3 + 8010616: 6c3b ldr r3, [r7, #64] @ 0x40 + 8010618: 4413 add r3, r2 + 801061a: f203 4306 addw r3, r3, #1030 @ 0x406 + 801061e: 63fb str r3, [r7, #60] @ 0x3c + 8010620: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010624: b29a uxth r2, r3 + 8010626: 6bfb ldr r3, [r7, #60] @ 0x3c + 8010628: 801a strh r2, [r3, #0] + pmabuffer = ep->pmaaddr1; + 801062a: 683b ldr r3, [r7, #0] + 801062c: 895b ldrh r3, [r3, #10] + 801062e: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 + + /* Write the user buffer to USB PMA */ + USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); + 8010632: 683b ldr r3, [r7, #0] + 8010634: 6959 ldr r1, [r3, #20] + 8010636: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801063a: b29b uxth r3, r3 + 801063c: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 + 8010640: 6878 ldr r0, [r7, #4] + 8010642: f000 fbca bl 8010dda + 8010646: e193 b.n 8010970 + } + } + /* auto Switch to single buffer mode when transfer xfer_len_db; + 8010648: 683b ldr r3, [r7, #0] + 801064a: 6a1b ldr r3, [r3, #32] + 801064c: f8c7 30ac str.w r3, [r7, #172] @ 0xac + + /* disable double buffer mode for Bulk endpoint */ + PCD_CLEAR_BULK_EP_DBUF(USBx, ep->num); + 8010650: 687a ldr r2, [r7, #4] + 8010652: 683b ldr r3, [r7, #0] + 8010654: 781b ldrb r3, [r3, #0] + 8010656: 009b lsls r3, r3, #2 + 8010658: 4413 add r3, r2 + 801065a: 881b ldrh r3, [r3, #0] + 801065c: b29b uxth r3, r3 + 801065e: f423 43e2 bic.w r3, r3, #28928 @ 0x7100 + 8010662: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8010666: f8a7 3062 strh.w r3, [r7, #98] @ 0x62 + 801066a: 687a ldr r2, [r7, #4] + 801066c: 683b ldr r3, [r7, #0] + 801066e: 781b ldrb r3, [r3, #0] + 8010670: 009b lsls r3, r3, #2 + 8010672: 441a add r2, r3 + 8010674: f8b7 3062 ldrh.w r3, [r7, #98] @ 0x62 + 8010678: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 801067c: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010680: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010684: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010688: b29b uxth r3, r3 + 801068a: 8013 strh r3, [r2, #0] /* Set Tx count with nbre of byte to be transmitted */ PCD_SET_EP_TX_CNT(USBx, ep->num, len); - 800fc90: 687b ldr r3, [r7, #4] - 800fc92: 65fb str r3, [r7, #92] @ 0x5c - 800fc94: 687b ldr r3, [r7, #4] - 800fc96: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800fc9a: b29b uxth r3, r3 - 800fc9c: 461a mov r2, r3 - 800fc9e: 6dfb ldr r3, [r7, #92] @ 0x5c - 800fca0: 4413 add r3, r2 - 800fca2: 65fb str r3, [r7, #92] @ 0x5c - 800fca4: 683b ldr r3, [r7, #0] - 800fca6: 781b ldrb r3, [r3, #0] - 800fca8: 00da lsls r2, r3, #3 - 800fcaa: 6dfb ldr r3, [r7, #92] @ 0x5c - 800fcac: 4413 add r3, r2 - 800fcae: f203 4302 addw r3, r3, #1026 @ 0x402 - 800fcb2: 65bb str r3, [r7, #88] @ 0x58 - 800fcb4: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fcb8: b29a uxth r2, r3 - 800fcba: 6dbb ldr r3, [r7, #88] @ 0x58 - 800fcbc: 801a strh r2, [r3, #0] + 801068c: 687b ldr r3, [r7, #4] + 801068e: 65fb str r3, [r7, #92] @ 0x5c + 8010690: 687b ldr r3, [r7, #4] + 8010692: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8010696: b29b uxth r3, r3 + 8010698: 461a mov r2, r3 + 801069a: 6dfb ldr r3, [r7, #92] @ 0x5c + 801069c: 4413 add r3, r2 + 801069e: 65fb str r3, [r7, #92] @ 0x5c + 80106a0: 683b ldr r3, [r7, #0] + 80106a2: 781b ldrb r3, [r3, #0] + 80106a4: 00da lsls r2, r3, #3 + 80106a6: 6dfb ldr r3, [r7, #92] @ 0x5c + 80106a8: 4413 add r3, r2 + 80106aa: f203 4302 addw r3, r3, #1026 @ 0x402 + 80106ae: 65bb str r3, [r7, #88] @ 0x58 + 80106b0: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80106b4: b29a uxth r2, r3 + 80106b6: 6dbb ldr r3, [r7, #88] @ 0x58 + 80106b8: 801a strh r2, [r3, #0] pmabuffer = ep->pmaaddr0; - 800fcbe: 683b ldr r3, [r7, #0] - 800fcc0: 891b ldrh r3, [r3, #8] - 800fcc2: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 + 80106ba: 683b ldr r3, [r7, #0] + 80106bc: 891b ldrh r3, [r3, #8] + 80106be: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 /* Write the user buffer to USB PMA */ USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); - 800fcc6: 683b ldr r3, [r7, #0] - 800fcc8: 6959 ldr r1, [r3, #20] - 800fcca: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fcce: b29b uxth r3, r3 - 800fcd0: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 - 800fcd4: 6878 ldr r0, [r7, #4] - 800fcd6: f000 fb82 bl 80103de - 800fcda: e14b b.n 800ff74 + 80106c2: 683b ldr r3, [r7, #0] + 80106c4: 6959 ldr r1, [r3, #20] + 80106c6: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80106ca: b29b uxth r3, r3 + 80106cc: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 + 80106d0: 6878 ldr r0, [r7, #4] + 80106d2: f000 fb82 bl 8010dda + 80106d6: e14b b.n 8010970 } } else /* Manage isochronous double buffer IN mode */ { /* Each Time to write in PMA xfer_len_db will */ ep->xfer_len_db -= len; - 800fcdc: 683b ldr r3, [r7, #0] - 800fcde: 6a1a ldr r2, [r3, #32] - 800fce0: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fce4: 1ad2 subs r2, r2, r3 - 800fce6: 683b ldr r3, [r7, #0] - 800fce8: 621a str r2, [r3, #32] + 80106d8: 683b ldr r3, [r7, #0] + 80106da: 6a1a ldr r2, [r3, #32] + 80106dc: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80106e0: 1ad2 subs r2, r2, r3 + 80106e2: 683b ldr r3, [r7, #0] + 80106e4: 621a str r2, [r3, #32] /* Fill the data buffer */ if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U) - 800fcea: 687a ldr r2, [r7, #4] - 800fcec: 683b ldr r3, [r7, #0] - 800fcee: 781b ldrb r3, [r3, #0] - 800fcf0: 009b lsls r3, r3, #2 - 800fcf2: 4413 add r3, r2 - 800fcf4: 881b ldrh r3, [r3, #0] - 800fcf6: b29b uxth r3, r3 - 800fcf8: f003 0340 and.w r3, r3, #64 @ 0x40 - 800fcfc: 2b00 cmp r3, #0 - 800fcfe: f000 809a beq.w 800fe36 + 80106e6: 687a ldr r2, [r7, #4] + 80106e8: 683b ldr r3, [r7, #0] + 80106ea: 781b ldrb r3, [r3, #0] + 80106ec: 009b lsls r3, r3, #2 + 80106ee: 4413 add r3, r2 + 80106f0: 881b ldrh r3, [r3, #0] + 80106f2: b29b uxth r3, r3 + 80106f4: f003 0340 and.w r3, r3, #64 @ 0x40 + 80106f8: 2b00 cmp r3, #0 + 80106fa: f000 809a beq.w 8010832 { /* Set the Double buffer counter for pmabuffer1 */ PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len); - 800fd02: 687b ldr r3, [r7, #4] - 800fd04: 673b str r3, [r7, #112] @ 0x70 - 800fd06: 683b ldr r3, [r7, #0] - 800fd08: 785b ldrb r3, [r3, #1] - 800fd0a: 2b00 cmp r3, #0 - 800fd0c: d16b bne.n 800fde6 - 800fd0e: 687b ldr r3, [r7, #4] - 800fd10: 66bb str r3, [r7, #104] @ 0x68 - 800fd12: 687b ldr r3, [r7, #4] - 800fd14: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800fd18: b29b uxth r3, r3 - 800fd1a: 461a mov r2, r3 - 800fd1c: 6ebb ldr r3, [r7, #104] @ 0x68 - 800fd1e: 4413 add r3, r2 - 800fd20: 66bb str r3, [r7, #104] @ 0x68 - 800fd22: 683b ldr r3, [r7, #0] - 800fd24: 781b ldrb r3, [r3, #0] - 800fd26: 00da lsls r2, r3, #3 - 800fd28: 6ebb ldr r3, [r7, #104] @ 0x68 - 800fd2a: 4413 add r3, r2 - 800fd2c: f203 4306 addw r3, r3, #1030 @ 0x406 - 800fd30: 667b str r3, [r7, #100] @ 0x64 - 800fd32: 6e7b ldr r3, [r7, #100] @ 0x64 - 800fd34: 881b ldrh r3, [r3, #0] - 800fd36: b29b uxth r3, r3 - 800fd38: f3c3 0309 ubfx r3, r3, #0, #10 - 800fd3c: b29a uxth r2, r3 - 800fd3e: 6e7b ldr r3, [r7, #100] @ 0x64 - 800fd40: 801a strh r2, [r3, #0] - 800fd42: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fd46: 2b00 cmp r3, #0 - 800fd48: d10a bne.n 800fd60 - 800fd4a: 6e7b ldr r3, [r7, #100] @ 0x64 - 800fd4c: 881b ldrh r3, [r3, #0] - 800fd4e: b29b uxth r3, r3 - 800fd50: ea6f 4343 mvn.w r3, r3, lsl #17 - 800fd54: ea6f 4353 mvn.w r3, r3, lsr #17 - 800fd58: b29a uxth r2, r3 - 800fd5a: 6e7b ldr r3, [r7, #100] @ 0x64 - 800fd5c: 801a strh r2, [r3, #0] - 800fd5e: e05b b.n 800fe18 - 800fd60: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fd64: 2b3e cmp r3, #62 @ 0x3e - 800fd66: d81c bhi.n 800fda2 - 800fd68: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fd6c: 085b lsrs r3, r3, #1 - 800fd6e: f8c7 3098 str.w r3, [r7, #152] @ 0x98 - 800fd72: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fd76: f003 0301 and.w r3, r3, #1 - 800fd7a: 2b00 cmp r3, #0 - 800fd7c: d004 beq.n 800fd88 - 800fd7e: f8d7 3098 ldr.w r3, [r7, #152] @ 0x98 - 800fd82: 3301 adds r3, #1 - 800fd84: f8c7 3098 str.w r3, [r7, #152] @ 0x98 - 800fd88: 6e7b ldr r3, [r7, #100] @ 0x64 - 800fd8a: 881b ldrh r3, [r3, #0] - 800fd8c: b29a uxth r2, r3 - 800fd8e: f8d7 3098 ldr.w r3, [r7, #152] @ 0x98 - 800fd92: b29b uxth r3, r3 - 800fd94: 029b lsls r3, r3, #10 - 800fd96: b29b uxth r3, r3 - 800fd98: 4313 orrs r3, r2 - 800fd9a: b29a uxth r2, r3 - 800fd9c: 6e7b ldr r3, [r7, #100] @ 0x64 - 800fd9e: 801a strh r2, [r3, #0] - 800fda0: e03a b.n 800fe18 - 800fda2: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fda6: 095b lsrs r3, r3, #5 - 800fda8: f8c7 3098 str.w r3, [r7, #152] @ 0x98 - 800fdac: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fdb0: f003 031f and.w r3, r3, #31 - 800fdb4: 2b00 cmp r3, #0 - 800fdb6: d104 bne.n 800fdc2 - 800fdb8: f8d7 3098 ldr.w r3, [r7, #152] @ 0x98 - 800fdbc: 3b01 subs r3, #1 - 800fdbe: f8c7 3098 str.w r3, [r7, #152] @ 0x98 - 800fdc2: 6e7b ldr r3, [r7, #100] @ 0x64 - 800fdc4: 881b ldrh r3, [r3, #0] - 800fdc6: b29a uxth r2, r3 - 800fdc8: f8d7 3098 ldr.w r3, [r7, #152] @ 0x98 - 800fdcc: b29b uxth r3, r3 - 800fdce: 029b lsls r3, r3, #10 - 800fdd0: b29b uxth r3, r3 - 800fdd2: 4313 orrs r3, r2 - 800fdd4: b29b uxth r3, r3 - 800fdd6: ea6f 4343 mvn.w r3, r3, lsl #17 - 800fdda: ea6f 4353 mvn.w r3, r3, lsr #17 - 800fdde: b29a uxth r2, r3 - 800fde0: 6e7b ldr r3, [r7, #100] @ 0x64 - 800fde2: 801a strh r2, [r3, #0] - 800fde4: e018 b.n 800fe18 - 800fde6: 683b ldr r3, [r7, #0] - 800fde8: 785b ldrb r3, [r3, #1] - 800fdea: 2b01 cmp r3, #1 - 800fdec: d114 bne.n 800fe18 - 800fdee: 687b ldr r3, [r7, #4] - 800fdf0: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800fdf4: b29b uxth r3, r3 - 800fdf6: 461a mov r2, r3 - 800fdf8: 6f3b ldr r3, [r7, #112] @ 0x70 - 800fdfa: 4413 add r3, r2 - 800fdfc: 673b str r3, [r7, #112] @ 0x70 - 800fdfe: 683b ldr r3, [r7, #0] - 800fe00: 781b ldrb r3, [r3, #0] - 800fe02: 00da lsls r2, r3, #3 - 800fe04: 6f3b ldr r3, [r7, #112] @ 0x70 - 800fe06: 4413 add r3, r2 - 800fe08: f203 4306 addw r3, r3, #1030 @ 0x406 - 800fe0c: 66fb str r3, [r7, #108] @ 0x6c - 800fe0e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fe12: b29a uxth r2, r3 - 800fe14: 6efb ldr r3, [r7, #108] @ 0x6c - 800fe16: 801a strh r2, [r3, #0] + 80106fe: 687b ldr r3, [r7, #4] + 8010700: 673b str r3, [r7, #112] @ 0x70 + 8010702: 683b ldr r3, [r7, #0] + 8010704: 785b ldrb r3, [r3, #1] + 8010706: 2b00 cmp r3, #0 + 8010708: d16b bne.n 80107e2 + 801070a: 687b ldr r3, [r7, #4] + 801070c: 66bb str r3, [r7, #104] @ 0x68 + 801070e: 687b ldr r3, [r7, #4] + 8010710: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8010714: b29b uxth r3, r3 + 8010716: 461a mov r2, r3 + 8010718: 6ebb ldr r3, [r7, #104] @ 0x68 + 801071a: 4413 add r3, r2 + 801071c: 66bb str r3, [r7, #104] @ 0x68 + 801071e: 683b ldr r3, [r7, #0] + 8010720: 781b ldrb r3, [r3, #0] + 8010722: 00da lsls r2, r3, #3 + 8010724: 6ebb ldr r3, [r7, #104] @ 0x68 + 8010726: 4413 add r3, r2 + 8010728: f203 4306 addw r3, r3, #1030 @ 0x406 + 801072c: 667b str r3, [r7, #100] @ 0x64 + 801072e: 6e7b ldr r3, [r7, #100] @ 0x64 + 8010730: 881b ldrh r3, [r3, #0] + 8010732: b29b uxth r3, r3 + 8010734: f3c3 0309 ubfx r3, r3, #0, #10 + 8010738: b29a uxth r2, r3 + 801073a: 6e7b ldr r3, [r7, #100] @ 0x64 + 801073c: 801a strh r2, [r3, #0] + 801073e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010742: 2b00 cmp r3, #0 + 8010744: d10a bne.n 801075c + 8010746: 6e7b ldr r3, [r7, #100] @ 0x64 + 8010748: 881b ldrh r3, [r3, #0] + 801074a: b29b uxth r3, r3 + 801074c: ea6f 4343 mvn.w r3, r3, lsl #17 + 8010750: ea6f 4353 mvn.w r3, r3, lsr #17 + 8010754: b29a uxth r2, r3 + 8010756: 6e7b ldr r3, [r7, #100] @ 0x64 + 8010758: 801a strh r2, [r3, #0] + 801075a: e05b b.n 8010814 + 801075c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010760: 2b3e cmp r3, #62 @ 0x3e + 8010762: d81c bhi.n 801079e + 8010764: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010768: 085b lsrs r3, r3, #1 + 801076a: f8c7 3098 str.w r3, [r7, #152] @ 0x98 + 801076e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010772: f003 0301 and.w r3, r3, #1 + 8010776: 2b00 cmp r3, #0 + 8010778: d004 beq.n 8010784 + 801077a: f8d7 3098 ldr.w r3, [r7, #152] @ 0x98 + 801077e: 3301 adds r3, #1 + 8010780: f8c7 3098 str.w r3, [r7, #152] @ 0x98 + 8010784: 6e7b ldr r3, [r7, #100] @ 0x64 + 8010786: 881b ldrh r3, [r3, #0] + 8010788: b29a uxth r2, r3 + 801078a: f8d7 3098 ldr.w r3, [r7, #152] @ 0x98 + 801078e: b29b uxth r3, r3 + 8010790: 029b lsls r3, r3, #10 + 8010792: b29b uxth r3, r3 + 8010794: 4313 orrs r3, r2 + 8010796: b29a uxth r2, r3 + 8010798: 6e7b ldr r3, [r7, #100] @ 0x64 + 801079a: 801a strh r2, [r3, #0] + 801079c: e03a b.n 8010814 + 801079e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80107a2: 095b lsrs r3, r3, #5 + 80107a4: f8c7 3098 str.w r3, [r7, #152] @ 0x98 + 80107a8: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80107ac: f003 031f and.w r3, r3, #31 + 80107b0: 2b00 cmp r3, #0 + 80107b2: d104 bne.n 80107be + 80107b4: f8d7 3098 ldr.w r3, [r7, #152] @ 0x98 + 80107b8: 3b01 subs r3, #1 + 80107ba: f8c7 3098 str.w r3, [r7, #152] @ 0x98 + 80107be: 6e7b ldr r3, [r7, #100] @ 0x64 + 80107c0: 881b ldrh r3, [r3, #0] + 80107c2: b29a uxth r2, r3 + 80107c4: f8d7 3098 ldr.w r3, [r7, #152] @ 0x98 + 80107c8: b29b uxth r3, r3 + 80107ca: 029b lsls r3, r3, #10 + 80107cc: b29b uxth r3, r3 + 80107ce: 4313 orrs r3, r2 + 80107d0: b29b uxth r3, r3 + 80107d2: ea6f 4343 mvn.w r3, r3, lsl #17 + 80107d6: ea6f 4353 mvn.w r3, r3, lsr #17 + 80107da: b29a uxth r2, r3 + 80107dc: 6e7b ldr r3, [r7, #100] @ 0x64 + 80107de: 801a strh r2, [r3, #0] + 80107e0: e018 b.n 8010814 + 80107e2: 683b ldr r3, [r7, #0] + 80107e4: 785b ldrb r3, [r3, #1] + 80107e6: 2b01 cmp r3, #1 + 80107e8: d114 bne.n 8010814 + 80107ea: 687b ldr r3, [r7, #4] + 80107ec: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 80107f0: b29b uxth r3, r3 + 80107f2: 461a mov r2, r3 + 80107f4: 6f3b ldr r3, [r7, #112] @ 0x70 + 80107f6: 4413 add r3, r2 + 80107f8: 673b str r3, [r7, #112] @ 0x70 + 80107fa: 683b ldr r3, [r7, #0] + 80107fc: 781b ldrb r3, [r3, #0] + 80107fe: 00da lsls r2, r3, #3 + 8010800: 6f3b ldr r3, [r7, #112] @ 0x70 + 8010802: 4413 add r3, r2 + 8010804: f203 4306 addw r3, r3, #1030 @ 0x406 + 8010808: 66fb str r3, [r7, #108] @ 0x6c + 801080a: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801080e: b29a uxth r2, r3 + 8010810: 6efb ldr r3, [r7, #108] @ 0x6c + 8010812: 801a strh r2, [r3, #0] pmabuffer = ep->pmaaddr1; - 800fe18: 683b ldr r3, [r7, #0] - 800fe1a: 895b ldrh r3, [r3, #10] - 800fe1c: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 + 8010814: 683b ldr r3, [r7, #0] + 8010816: 895b ldrh r3, [r3, #10] + 8010818: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 /* Write the user buffer to USB PMA */ USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); - 800fe20: 683b ldr r3, [r7, #0] - 800fe22: 6959 ldr r1, [r3, #20] - 800fe24: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fe28: b29b uxth r3, r3 - 800fe2a: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 - 800fe2e: 6878 ldr r0, [r7, #4] - 800fe30: f000 fad5 bl 80103de - 800fe34: e09e b.n 800ff74 + 801081c: 683b ldr r3, [r7, #0] + 801081e: 6959 ldr r1, [r3, #20] + 8010820: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010824: b29b uxth r3, r3 + 8010826: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 + 801082a: 6878 ldr r0, [r7, #4] + 801082c: f000 fad5 bl 8010dda + 8010830: e09e b.n 8010970 } else { /* Set the Double buffer counter for pmabuffer0 */ PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len); - 800fe36: 683b ldr r3, [r7, #0] - 800fe38: 785b ldrb r3, [r3, #1] - 800fe3a: 2b00 cmp r3, #0 - 800fe3c: d16b bne.n 800ff16 - 800fe3e: 687b ldr r3, [r7, #4] - 800fe40: 67fb str r3, [r7, #124] @ 0x7c - 800fe42: 687b ldr r3, [r7, #4] - 800fe44: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800fe48: b29b uxth r3, r3 - 800fe4a: 461a mov r2, r3 - 800fe4c: 6ffb ldr r3, [r7, #124] @ 0x7c - 800fe4e: 4413 add r3, r2 - 800fe50: 67fb str r3, [r7, #124] @ 0x7c - 800fe52: 683b ldr r3, [r7, #0] - 800fe54: 781b ldrb r3, [r3, #0] - 800fe56: 00da lsls r2, r3, #3 - 800fe58: 6ffb ldr r3, [r7, #124] @ 0x7c - 800fe5a: 4413 add r3, r2 - 800fe5c: f203 4302 addw r3, r3, #1026 @ 0x402 - 800fe60: 67bb str r3, [r7, #120] @ 0x78 - 800fe62: 6fbb ldr r3, [r7, #120] @ 0x78 - 800fe64: 881b ldrh r3, [r3, #0] - 800fe66: b29b uxth r3, r3 - 800fe68: f3c3 0309 ubfx r3, r3, #0, #10 - 800fe6c: b29a uxth r2, r3 - 800fe6e: 6fbb ldr r3, [r7, #120] @ 0x78 - 800fe70: 801a strh r2, [r3, #0] - 800fe72: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fe76: 2b00 cmp r3, #0 - 800fe78: d10a bne.n 800fe90 - 800fe7a: 6fbb ldr r3, [r7, #120] @ 0x78 - 800fe7c: 881b ldrh r3, [r3, #0] - 800fe7e: b29b uxth r3, r3 - 800fe80: ea6f 4343 mvn.w r3, r3, lsl #17 - 800fe84: ea6f 4353 mvn.w r3, r3, lsr #17 - 800fe88: b29a uxth r2, r3 - 800fe8a: 6fbb ldr r3, [r7, #120] @ 0x78 - 800fe8c: 801a strh r2, [r3, #0] - 800fe8e: e063 b.n 800ff58 - 800fe90: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fe94: 2b3e cmp r3, #62 @ 0x3e - 800fe96: d81c bhi.n 800fed2 - 800fe98: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fe9c: 085b lsrs r3, r3, #1 - 800fe9e: f8c7 3094 str.w r3, [r7, #148] @ 0x94 - 800fea2: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fea6: f003 0301 and.w r3, r3, #1 - 800feaa: 2b00 cmp r3, #0 - 800feac: d004 beq.n 800feb8 - 800feae: f8d7 3094 ldr.w r3, [r7, #148] @ 0x94 - 800feb2: 3301 adds r3, #1 - 800feb4: f8c7 3094 str.w r3, [r7, #148] @ 0x94 - 800feb8: 6fbb ldr r3, [r7, #120] @ 0x78 - 800feba: 881b ldrh r3, [r3, #0] - 800febc: b29a uxth r2, r3 - 800febe: f8d7 3094 ldr.w r3, [r7, #148] @ 0x94 - 800fec2: b29b uxth r3, r3 - 800fec4: 029b lsls r3, r3, #10 - 800fec6: b29b uxth r3, r3 - 800fec8: 4313 orrs r3, r2 - 800feca: b29a uxth r2, r3 - 800fecc: 6fbb ldr r3, [r7, #120] @ 0x78 - 800fece: 801a strh r2, [r3, #0] - 800fed0: e042 b.n 800ff58 - 800fed2: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fed6: 095b lsrs r3, r3, #5 - 800fed8: f8c7 3094 str.w r3, [r7, #148] @ 0x94 - 800fedc: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800fee0: f003 031f and.w r3, r3, #31 - 800fee4: 2b00 cmp r3, #0 - 800fee6: d104 bne.n 800fef2 - 800fee8: f8d7 3094 ldr.w r3, [r7, #148] @ 0x94 - 800feec: 3b01 subs r3, #1 - 800feee: f8c7 3094 str.w r3, [r7, #148] @ 0x94 - 800fef2: 6fbb ldr r3, [r7, #120] @ 0x78 - 800fef4: 881b ldrh r3, [r3, #0] - 800fef6: b29a uxth r2, r3 - 800fef8: f8d7 3094 ldr.w r3, [r7, #148] @ 0x94 - 800fefc: b29b uxth r3, r3 - 800fefe: 029b lsls r3, r3, #10 - 800ff00: b29b uxth r3, r3 - 800ff02: 4313 orrs r3, r2 - 800ff04: b29b uxth r3, r3 - 800ff06: ea6f 4343 mvn.w r3, r3, lsl #17 - 800ff0a: ea6f 4353 mvn.w r3, r3, lsr #17 - 800ff0e: b29a uxth r2, r3 - 800ff10: 6fbb ldr r3, [r7, #120] @ 0x78 - 800ff12: 801a strh r2, [r3, #0] - 800ff14: e020 b.n 800ff58 - 800ff16: 683b ldr r3, [r7, #0] - 800ff18: 785b ldrb r3, [r3, #1] - 800ff1a: 2b01 cmp r3, #1 - 800ff1c: d11c bne.n 800ff58 - 800ff1e: 687b ldr r3, [r7, #4] - 800ff20: f8c7 3084 str.w r3, [r7, #132] @ 0x84 - 800ff24: 687b ldr r3, [r7, #4] - 800ff26: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 - 800ff2a: b29b uxth r3, r3 - 800ff2c: 461a mov r2, r3 - 800ff2e: f8d7 3084 ldr.w r3, [r7, #132] @ 0x84 - 800ff32: 4413 add r3, r2 - 800ff34: f8c7 3084 str.w r3, [r7, #132] @ 0x84 - 800ff38: 683b ldr r3, [r7, #0] - 800ff3a: 781b ldrb r3, [r3, #0] - 800ff3c: 00da lsls r2, r3, #3 - 800ff3e: f8d7 3084 ldr.w r3, [r7, #132] @ 0x84 - 800ff42: 4413 add r3, r2 - 800ff44: f203 4302 addw r3, r3, #1026 @ 0x402 - 800ff48: f8c7 3080 str.w r3, [r7, #128] @ 0x80 - 800ff4c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800ff50: b29a uxth r2, r3 - 800ff52: f8d7 3080 ldr.w r3, [r7, #128] @ 0x80 - 800ff56: 801a strh r2, [r3, #0] + 8010832: 683b ldr r3, [r7, #0] + 8010834: 785b ldrb r3, [r3, #1] + 8010836: 2b00 cmp r3, #0 + 8010838: d16b bne.n 8010912 + 801083a: 687b ldr r3, [r7, #4] + 801083c: 67fb str r3, [r7, #124] @ 0x7c + 801083e: 687b ldr r3, [r7, #4] + 8010840: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8010844: b29b uxth r3, r3 + 8010846: 461a mov r2, r3 + 8010848: 6ffb ldr r3, [r7, #124] @ 0x7c + 801084a: 4413 add r3, r2 + 801084c: 67fb str r3, [r7, #124] @ 0x7c + 801084e: 683b ldr r3, [r7, #0] + 8010850: 781b ldrb r3, [r3, #0] + 8010852: 00da lsls r2, r3, #3 + 8010854: 6ffb ldr r3, [r7, #124] @ 0x7c + 8010856: 4413 add r3, r2 + 8010858: f203 4302 addw r3, r3, #1026 @ 0x402 + 801085c: 67bb str r3, [r7, #120] @ 0x78 + 801085e: 6fbb ldr r3, [r7, #120] @ 0x78 + 8010860: 881b ldrh r3, [r3, #0] + 8010862: b29b uxth r3, r3 + 8010864: f3c3 0309 ubfx r3, r3, #0, #10 + 8010868: b29a uxth r2, r3 + 801086a: 6fbb ldr r3, [r7, #120] @ 0x78 + 801086c: 801a strh r2, [r3, #0] + 801086e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010872: 2b00 cmp r3, #0 + 8010874: d10a bne.n 801088c + 8010876: 6fbb ldr r3, [r7, #120] @ 0x78 + 8010878: 881b ldrh r3, [r3, #0] + 801087a: b29b uxth r3, r3 + 801087c: ea6f 4343 mvn.w r3, r3, lsl #17 + 8010880: ea6f 4353 mvn.w r3, r3, lsr #17 + 8010884: b29a uxth r2, r3 + 8010886: 6fbb ldr r3, [r7, #120] @ 0x78 + 8010888: 801a strh r2, [r3, #0] + 801088a: e063 b.n 8010954 + 801088c: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010890: 2b3e cmp r3, #62 @ 0x3e + 8010892: d81c bhi.n 80108ce + 8010894: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010898: 085b lsrs r3, r3, #1 + 801089a: f8c7 3094 str.w r3, [r7, #148] @ 0x94 + 801089e: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80108a2: f003 0301 and.w r3, r3, #1 + 80108a6: 2b00 cmp r3, #0 + 80108a8: d004 beq.n 80108b4 + 80108aa: f8d7 3094 ldr.w r3, [r7, #148] @ 0x94 + 80108ae: 3301 adds r3, #1 + 80108b0: f8c7 3094 str.w r3, [r7, #148] @ 0x94 + 80108b4: 6fbb ldr r3, [r7, #120] @ 0x78 + 80108b6: 881b ldrh r3, [r3, #0] + 80108b8: b29a uxth r2, r3 + 80108ba: f8d7 3094 ldr.w r3, [r7, #148] @ 0x94 + 80108be: b29b uxth r3, r3 + 80108c0: 029b lsls r3, r3, #10 + 80108c2: b29b uxth r3, r3 + 80108c4: 4313 orrs r3, r2 + 80108c6: b29a uxth r2, r3 + 80108c8: 6fbb ldr r3, [r7, #120] @ 0x78 + 80108ca: 801a strh r2, [r3, #0] + 80108cc: e042 b.n 8010954 + 80108ce: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80108d2: 095b lsrs r3, r3, #5 + 80108d4: f8c7 3094 str.w r3, [r7, #148] @ 0x94 + 80108d8: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 80108dc: f003 031f and.w r3, r3, #31 + 80108e0: 2b00 cmp r3, #0 + 80108e2: d104 bne.n 80108ee + 80108e4: f8d7 3094 ldr.w r3, [r7, #148] @ 0x94 + 80108e8: 3b01 subs r3, #1 + 80108ea: f8c7 3094 str.w r3, [r7, #148] @ 0x94 + 80108ee: 6fbb ldr r3, [r7, #120] @ 0x78 + 80108f0: 881b ldrh r3, [r3, #0] + 80108f2: b29a uxth r2, r3 + 80108f4: f8d7 3094 ldr.w r3, [r7, #148] @ 0x94 + 80108f8: b29b uxth r3, r3 + 80108fa: 029b lsls r3, r3, #10 + 80108fc: b29b uxth r3, r3 + 80108fe: 4313 orrs r3, r2 + 8010900: b29b uxth r3, r3 + 8010902: ea6f 4343 mvn.w r3, r3, lsl #17 + 8010906: ea6f 4353 mvn.w r3, r3, lsr #17 + 801090a: b29a uxth r2, r3 + 801090c: 6fbb ldr r3, [r7, #120] @ 0x78 + 801090e: 801a strh r2, [r3, #0] + 8010910: e020 b.n 8010954 + 8010912: 683b ldr r3, [r7, #0] + 8010914: 785b ldrb r3, [r3, #1] + 8010916: 2b01 cmp r3, #1 + 8010918: d11c bne.n 8010954 + 801091a: 687b ldr r3, [r7, #4] + 801091c: f8c7 3084 str.w r3, [r7, #132] @ 0x84 + 8010920: 687b ldr r3, [r7, #4] + 8010922: f8b3 3050 ldrh.w r3, [r3, #80] @ 0x50 + 8010926: b29b uxth r3, r3 + 8010928: 461a mov r2, r3 + 801092a: f8d7 3084 ldr.w r3, [r7, #132] @ 0x84 + 801092e: 4413 add r3, r2 + 8010930: f8c7 3084 str.w r3, [r7, #132] @ 0x84 + 8010934: 683b ldr r3, [r7, #0] + 8010936: 781b ldrb r3, [r3, #0] + 8010938: 00da lsls r2, r3, #3 + 801093a: f8d7 3084 ldr.w r3, [r7, #132] @ 0x84 + 801093e: 4413 add r3, r2 + 8010940: f203 4302 addw r3, r3, #1026 @ 0x402 + 8010944: f8c7 3080 str.w r3, [r7, #128] @ 0x80 + 8010948: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 801094c: b29a uxth r2, r3 + 801094e: f8d7 3080 ldr.w r3, [r7, #128] @ 0x80 + 8010952: 801a strh r2, [r3, #0] pmabuffer = ep->pmaaddr0; - 800ff58: 683b ldr r3, [r7, #0] - 800ff5a: 891b ldrh r3, [r3, #8] - 800ff5c: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 + 8010954: 683b ldr r3, [r7, #0] + 8010956: 891b ldrh r3, [r3, #8] + 8010958: f8a7 3076 strh.w r3, [r7, #118] @ 0x76 /* Write the user buffer to USB PMA */ USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len); - 800ff60: 683b ldr r3, [r7, #0] - 800ff62: 6959 ldr r1, [r3, #20] - 800ff64: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac - 800ff68: b29b uxth r3, r3 - 800ff6a: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 - 800ff6e: 6878 ldr r0, [r7, #4] - 800ff70: f000 fa35 bl 80103de + 801095c: 683b ldr r3, [r7, #0] + 801095e: 6959 ldr r1, [r3, #20] + 8010960: f8d7 30ac ldr.w r3, [r7, #172] @ 0xac + 8010964: b29b uxth r3, r3 + 8010966: f8b7 2076 ldrh.w r2, [r7, #118] @ 0x76 + 801096a: 6878 ldr r0, [r7, #4] + 801096c: f000 fa35 bl 8010dda } } } #endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_VALID); - 800ff74: 687a ldr r2, [r7, #4] - 800ff76: 683b ldr r3, [r7, #0] - 800ff78: 781b ldrb r3, [r3, #0] - 800ff7a: 009b lsls r3, r3, #2 - 800ff7c: 4413 add r3, r2 - 800ff7e: 881b ldrh r3, [r3, #0] - 800ff80: b29b uxth r3, r3 - 800ff82: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800ff86: f023 0340 bic.w r3, r3, #64 @ 0x40 - 800ff8a: 817b strh r3, [r7, #10] - 800ff8c: 897b ldrh r3, [r7, #10] - 800ff8e: f083 0310 eor.w r3, r3, #16 - 800ff92: 817b strh r3, [r7, #10] - 800ff94: 897b ldrh r3, [r7, #10] - 800ff96: f083 0320 eor.w r3, r3, #32 - 800ff9a: 817b strh r3, [r7, #10] - 800ff9c: 687a ldr r2, [r7, #4] - 800ff9e: 683b ldr r3, [r7, #0] - 800ffa0: 781b ldrb r3, [r3, #0] - 800ffa2: 009b lsls r3, r3, #2 - 800ffa4: 441a add r2, r3 - 800ffa6: 897b ldrh r3, [r7, #10] - 800ffa8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 800ffac: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 800ffb0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 800ffb4: f043 0380 orr.w r3, r3, #128 @ 0x80 - 800ffb8: b29b uxth r3, r3 - 800ffba: 8013 strh r3, [r2, #0] - 800ffbc: e0d5 b.n 801016a + 8010970: 687a ldr r2, [r7, #4] + 8010972: 683b ldr r3, [r7, #0] + 8010974: 781b ldrb r3, [r3, #0] + 8010976: 009b lsls r3, r3, #2 + 8010978: 4413 add r3, r2 + 801097a: 881b ldrh r3, [r3, #0] + 801097c: b29b uxth r3, r3 + 801097e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 8010982: f023 0340 bic.w r3, r3, #64 @ 0x40 + 8010986: 817b strh r3, [r7, #10] + 8010988: 897b ldrh r3, [r7, #10] + 801098a: f083 0310 eor.w r3, r3, #16 + 801098e: 817b strh r3, [r7, #10] + 8010990: 897b ldrh r3, [r7, #10] + 8010992: f083 0320 eor.w r3, r3, #32 + 8010996: 817b strh r3, [r7, #10] + 8010998: 687a ldr r2, [r7, #4] + 801099a: 683b ldr r3, [r7, #0] + 801099c: 781b ldrb r3, [r3, #0] + 801099e: 009b lsls r3, r3, #2 + 80109a0: 441a add r2, r3 + 80109a2: 897b ldrh r3, [r7, #10] + 80109a4: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 80109a8: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 80109ac: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 80109b0: f043 0380 orr.w r3, r3, #128 @ 0x80 + 80109b4: b29b uxth r3, r3 + 80109b6: 8013 strh r3, [r2, #0] + 80109b8: e0d5 b.n 8010b66 } else /* OUT endpoint */ { if (ep->doublebuffer == 0U) - 800ffbe: 683b ldr r3, [r7, #0] - 800ffc0: 7b1b ldrb r3, [r3, #12] - 800ffc2: 2b00 cmp r3, #0 - 800ffc4: d156 bne.n 8010074 + 80109ba: 683b ldr r3, [r7, #0] + 80109bc: 7b1b ldrb r3, [r3, #12] + 80109be: 2b00 cmp r3, #0 + 80109c0: d156 bne.n 8010a70 { if ((ep->xfer_len == 0U) && (ep->type == EP_TYPE_CTRL)) - 800ffc6: 683b ldr r3, [r7, #0] - 800ffc8: 699b ldr r3, [r3, #24] - 800ffca: 2b00 cmp r3, #0 - 800ffcc: d122 bne.n 8010014 - 800ffce: 683b ldr r3, [r7, #0] - 800ffd0: 78db ldrb r3, [r3, #3] - 800ffd2: 2b00 cmp r3, #0 - 800ffd4: d11e bne.n 8010014 + 80109c2: 683b ldr r3, [r7, #0] + 80109c4: 699b ldr r3, [r3, #24] + 80109c6: 2b00 cmp r3, #0 + 80109c8: d122 bne.n 8010a10 + 80109ca: 683b ldr r3, [r7, #0] + 80109cc: 78db ldrb r3, [r3, #3] + 80109ce: 2b00 cmp r3, #0 + 80109d0: d11e bne.n 8010a10 { /* This is a status out stage set the OUT_STATUS */ PCD_SET_OUT_STATUS(USBx, ep->num); - 800ffd6: 687a ldr r2, [r7, #4] - 800ffd8: 683b ldr r3, [r7, #0] - 800ffda: 781b ldrb r3, [r3, #0] - 800ffdc: 009b lsls r3, r3, #2 - 800ffde: 4413 add r3, r2 - 800ffe0: 881b ldrh r3, [r3, #0] - 800ffe2: b29b uxth r3, r3 - 800ffe4: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 800ffe8: f023 0370 bic.w r3, r3, #112 @ 0x70 - 800ffec: f8a7 308e strh.w r3, [r7, #142] @ 0x8e - 800fff0: 687a ldr r2, [r7, #4] - 800fff2: 683b ldr r3, [r7, #0] - 800fff4: 781b ldrb r3, [r3, #0] - 800fff6: 009b lsls r3, r3, #2 - 800fff8: 441a add r2, r3 - 800fffa: f8b7 308e ldrh.w r3, [r7, #142] @ 0x8e - 800fffe: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8010002: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 8010006: f443 4301 orr.w r3, r3, #33024 @ 0x8100 - 801000a: f043 0380 orr.w r3, r3, #128 @ 0x80 - 801000e: b29b uxth r3, r3 - 8010010: 8013 strh r3, [r2, #0] - 8010012: e01d b.n 8010050 + 80109d2: 687a ldr r2, [r7, #4] + 80109d4: 683b ldr r3, [r7, #0] + 80109d6: 781b ldrb r3, [r3, #0] + 80109d8: 009b lsls r3, r3, #2 + 80109da: 4413 add r3, r2 + 80109dc: 881b ldrh r3, [r3, #0] + 80109de: b29b uxth r3, r3 + 80109e0: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 80109e4: f023 0370 bic.w r3, r3, #112 @ 0x70 + 80109e8: f8a7 308e strh.w r3, [r7, #142] @ 0x8e + 80109ec: 687a ldr r2, [r7, #4] + 80109ee: 683b ldr r3, [r7, #0] + 80109f0: 781b ldrb r3, [r3, #0] + 80109f2: 009b lsls r3, r3, #2 + 80109f4: 441a add r2, r3 + 80109f6: f8b7 308e ldrh.w r3, [r7, #142] @ 0x8e + 80109fa: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 80109fe: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010a02: f443 4301 orr.w r3, r3, #33024 @ 0x8100 + 8010a06: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010a0a: b29b uxth r3, r3 + 8010a0c: 8013 strh r3, [r2, #0] + 8010a0e: e01d b.n 8010a4c } else { PCD_CLEAR_OUT_STATUS(USBx, ep->num); - 8010014: 687a ldr r2, [r7, #4] - 8010016: 683b ldr r3, [r7, #0] - 8010018: 781b ldrb r3, [r3, #0] - 801001a: 009b lsls r3, r3, #2 - 801001c: 4413 add r3, r2 - 801001e: 881b ldrh r3, [r3, #0] - 8010020: b29b uxth r3, r3 - 8010022: f423 43e2 bic.w r3, r3, #28928 @ 0x7100 - 8010026: f023 0370 bic.w r3, r3, #112 @ 0x70 - 801002a: f8a7 308c strh.w r3, [r7, #140] @ 0x8c - 801002e: 687a ldr r2, [r7, #4] - 8010030: 683b ldr r3, [r7, #0] - 8010032: 781b ldrb r3, [r3, #0] - 8010034: 009b lsls r3, r3, #2 - 8010036: 441a add r2, r3 - 8010038: f8b7 308c ldrh.w r3, [r7, #140] @ 0x8c - 801003c: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8010040: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 8010044: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8010048: f043 0380 orr.w r3, r3, #128 @ 0x80 - 801004c: b29b uxth r3, r3 - 801004e: 8013 strh r3, [r2, #0] + 8010a10: 687a ldr r2, [r7, #4] + 8010a12: 683b ldr r3, [r7, #0] + 8010a14: 781b ldrb r3, [r3, #0] + 8010a16: 009b lsls r3, r3, #2 + 8010a18: 4413 add r3, r2 + 8010a1a: 881b ldrh r3, [r3, #0] + 8010a1c: b29b uxth r3, r3 + 8010a1e: f423 43e2 bic.w r3, r3, #28928 @ 0x7100 + 8010a22: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8010a26: f8a7 308c strh.w r3, [r7, #140] @ 0x8c + 8010a2a: 687a ldr r2, [r7, #4] + 8010a2c: 683b ldr r3, [r7, #0] + 8010a2e: 781b ldrb r3, [r3, #0] + 8010a30: 009b lsls r3, r3, #2 + 8010a32: 441a add r2, r3 + 8010a34: f8b7 308c ldrh.w r3, [r7, #140] @ 0x8c + 8010a38: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010a3c: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010a40: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010a44: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010a48: b29b uxth r3, r3 + 8010a4a: 8013 strh r3, [r2, #0] } /* Multi packet transfer */ if (ep->xfer_len > ep->maxpacket) - 8010050: 683b ldr r3, [r7, #0] - 8010052: 699a ldr r2, [r3, #24] - 8010054: 683b ldr r3, [r7, #0] - 8010056: 691b ldr r3, [r3, #16] - 8010058: 429a cmp r2, r3 - 801005a: d907 bls.n 801006c + 8010a4c: 683b ldr r3, [r7, #0] + 8010a4e: 699a ldr r2, [r3, #24] + 8010a50: 683b ldr r3, [r7, #0] + 8010a52: 691b ldr r3, [r3, #16] + 8010a54: 429a cmp r2, r3 + 8010a56: d907 bls.n 8010a68 { ep->xfer_len -= ep->maxpacket; - 801005c: 683b ldr r3, [r7, #0] - 801005e: 699a ldr r2, [r3, #24] - 8010060: 683b ldr r3, [r7, #0] - 8010062: 691b ldr r3, [r3, #16] - 8010064: 1ad2 subs r2, r2, r3 - 8010066: 683b ldr r3, [r7, #0] - 8010068: 619a str r2, [r3, #24] - 801006a: e054 b.n 8010116 + 8010a58: 683b ldr r3, [r7, #0] + 8010a5a: 699a ldr r2, [r3, #24] + 8010a5c: 683b ldr r3, [r7, #0] + 8010a5e: 691b ldr r3, [r3, #16] + 8010a60: 1ad2 subs r2, r2, r3 + 8010a62: 683b ldr r3, [r7, #0] + 8010a64: 619a str r2, [r3, #24] + 8010a66: e054 b.n 8010b12 } else { ep->xfer_len = 0U; - 801006c: 683b ldr r3, [r7, #0] - 801006e: 2200 movs r2, #0 - 8010070: 619a str r2, [r3, #24] - 8010072: e050 b.n 8010116 + 8010a68: 683b ldr r3, [r7, #0] + 8010a6a: 2200 movs r2, #0 + 8010a6c: 619a str r2, [r3, #24] + 8010a6e: e050 b.n 8010b12 #if (USE_USB_DOUBLE_BUFFER == 1U) else { /* First Transfer Coming From HAL_PCD_EP_Receive & From ISR */ /* Set the Double buffer counter */ if (ep->type == EP_TYPE_BULK) - 8010074: 683b ldr r3, [r7, #0] - 8010076: 78db ldrb r3, [r3, #3] - 8010078: 2b02 cmp r3, #2 - 801007a: d142 bne.n 8010102 + 8010a70: 683b ldr r3, [r7, #0] + 8010a72: 78db ldrb r3, [r3, #3] + 8010a74: 2b02 cmp r3, #2 + 8010a76: d142 bne.n 8010afe { /* Coming from ISR */ if (ep->xfer_count != 0U) - 801007c: 683b ldr r3, [r7, #0] - 801007e: 69db ldr r3, [r3, #28] - 8010080: 2b00 cmp r3, #0 - 8010082: d048 beq.n 8010116 + 8010a78: 683b ldr r3, [r7, #0] + 8010a7a: 69db ldr r3, [r3, #28] + 8010a7c: 2b00 cmp r3, #0 + 8010a7e: d048 beq.n 8010b12 { /* Update last value to check if there is blocking state */ wEPVal = PCD_GET_ENDPOINT(USBx, ep->num); - 8010084: 687a ldr r2, [r7, #4] - 8010086: 683b ldr r3, [r7, #0] - 8010088: 781b ldrb r3, [r3, #0] - 801008a: 009b lsls r3, r3, #2 - 801008c: 4413 add r3, r2 - 801008e: 881b ldrh r3, [r3, #0] - 8010090: f8a7 3092 strh.w r3, [r7, #146] @ 0x92 + 8010a80: 687a ldr r2, [r7, #4] + 8010a82: 683b ldr r3, [r7, #0] + 8010a84: 781b ldrb r3, [r3, #0] + 8010a86: 009b lsls r3, r3, #2 + 8010a88: 4413 add r3, r2 + 8010a8a: 881b ldrh r3, [r3, #0] + 8010a8c: f8a7 3092 strh.w r3, [r7, #146] @ 0x92 /* Blocking State */ if ((((wEPVal & USB_EP_DTOG_RX) != 0U) && ((wEPVal & USB_EP_DTOG_TX) != 0U)) || - 8010094: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 - 8010098: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 801009c: 2b00 cmp r3, #0 - 801009e: d005 beq.n 80100ac - 80100a0: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 - 80100a4: f003 0340 and.w r3, r3, #64 @ 0x40 - 80100a8: 2b00 cmp r3, #0 - 80100aa: d10b bne.n 80100c4 + 8010a90: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 + 8010a94: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 8010a98: 2b00 cmp r3, #0 + 8010a9a: d005 beq.n 8010aa8 + 8010a9c: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 + 8010aa0: f003 0340 and.w r3, r3, #64 @ 0x40 + 8010aa4: 2b00 cmp r3, #0 + 8010aa6: d10b bne.n 8010ac0 (((wEPVal & USB_EP_DTOG_RX) == 0U) && ((wEPVal & USB_EP_DTOG_TX) == 0U))) - 80100ac: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 - 80100b0: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 8010aa8: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 + 8010aac: f403 4380 and.w r3, r3, #16384 @ 0x4000 if ((((wEPVal & USB_EP_DTOG_RX) != 0U) && ((wEPVal & USB_EP_DTOG_TX) != 0U)) || - 80100b4: 2b00 cmp r3, #0 - 80100b6: d12e bne.n 8010116 + 8010ab0: 2b00 cmp r3, #0 + 8010ab2: d12e bne.n 8010b12 (((wEPVal & USB_EP_DTOG_RX) == 0U) && ((wEPVal & USB_EP_DTOG_TX) == 0U))) - 80100b8: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 - 80100bc: f003 0340 and.w r3, r3, #64 @ 0x40 - 80100c0: 2b00 cmp r3, #0 - 80100c2: d128 bne.n 8010116 + 8010ab4: f8b7 3092 ldrh.w r3, [r7, #146] @ 0x92 + 8010ab8: f003 0340 and.w r3, r3, #64 @ 0x40 + 8010abc: 2b00 cmp r3, #0 + 8010abe: d128 bne.n 8010b12 { PCD_FREE_USER_BUFFER(USBx, ep->num, 0U); - 80100c4: 687a ldr r2, [r7, #4] - 80100c6: 683b ldr r3, [r7, #0] - 80100c8: 781b ldrb r3, [r3, #0] - 80100ca: 009b lsls r3, r3, #2 - 80100cc: 4413 add r3, r2 - 80100ce: 881b ldrh r3, [r3, #0] - 80100d0: b29b uxth r3, r3 - 80100d2: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 80100d6: f023 0370 bic.w r3, r3, #112 @ 0x70 - 80100da: f8a7 3090 strh.w r3, [r7, #144] @ 0x90 - 80100de: 687a ldr r2, [r7, #4] - 80100e0: 683b ldr r3, [r7, #0] - 80100e2: 781b ldrb r3, [r3, #0] - 80100e4: 009b lsls r3, r3, #2 - 80100e6: 441a add r2, r3 - 80100e8: f8b7 3090 ldrh.w r3, [r7, #144] @ 0x90 - 80100ec: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 80100f0: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 80100f4: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 80100f8: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 80100fc: b29b uxth r3, r3 - 80100fe: 8013 strh r3, [r2, #0] - 8010100: e009 b.n 8010116 + 8010ac0: 687a ldr r2, [r7, #4] + 8010ac2: 683b ldr r3, [r7, #0] + 8010ac4: 781b ldrb r3, [r3, #0] + 8010ac6: 009b lsls r3, r3, #2 + 8010ac8: 4413 add r3, r2 + 8010aca: 881b ldrh r3, [r3, #0] + 8010acc: b29b uxth r3, r3 + 8010ace: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 8010ad2: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8010ad6: f8a7 3090 strh.w r3, [r7, #144] @ 0x90 + 8010ada: 687a ldr r2, [r7, #4] + 8010adc: 683b ldr r3, [r7, #0] + 8010ade: 781b ldrb r3, [r3, #0] + 8010ae0: 009b lsls r3, r3, #2 + 8010ae2: 441a add r2, r3 + 8010ae4: f8b7 3090 ldrh.w r3, [r7, #144] @ 0x90 + 8010ae8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010aec: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010af0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010af4: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 8010af8: b29b uxth r3, r3 + 8010afa: 8013 strh r3, [r2, #0] + 8010afc: e009 b.n 8010b12 } } } /* iso out double */ else if (ep->type == EP_TYPE_ISOC) - 8010102: 683b ldr r3, [r7, #0] - 8010104: 78db ldrb r3, [r3, #3] - 8010106: 2b01 cmp r3, #1 - 8010108: d103 bne.n 8010112 + 8010afe: 683b ldr r3, [r7, #0] + 8010b00: 78db ldrb r3, [r3, #3] + 8010b02: 2b01 cmp r3, #1 + 8010b04: d103 bne.n 8010b0e { /* Only single packet transfer supported in FS */ ep->xfer_len = 0U; - 801010a: 683b ldr r3, [r7, #0] - 801010c: 2200 movs r2, #0 - 801010e: 619a str r2, [r3, #24] - 8010110: e001 b.n 8010116 + 8010b06: 683b ldr r3, [r7, #0] + 8010b08: 2200 movs r2, #0 + 8010b0a: 619a str r2, [r3, #24] + 8010b0c: e001 b.n 8010b12 } else { return HAL_ERROR; - 8010112: 2301 movs r3, #1 - 8010114: e02a b.n 801016c + 8010b0e: 2301 movs r3, #1 + 8010b10: e02a b.n 8010b68 } } #endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); - 8010116: 687a ldr r2, [r7, #4] - 8010118: 683b ldr r3, [r7, #0] - 801011a: 781b ldrb r3, [r3, #0] - 801011c: 009b lsls r3, r3, #2 - 801011e: 4413 add r3, r2 - 8010120: 881b ldrh r3, [r3, #0] - 8010122: b29b uxth r3, r3 - 8010124: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 8010128: f023 0370 bic.w r3, r3, #112 @ 0x70 - 801012c: f8a7 308a strh.w r3, [r7, #138] @ 0x8a - 8010130: f8b7 308a ldrh.w r3, [r7, #138] @ 0x8a - 8010134: f483 5380 eor.w r3, r3, #4096 @ 0x1000 - 8010138: f8a7 308a strh.w r3, [r7, #138] @ 0x8a - 801013c: f8b7 308a ldrh.w r3, [r7, #138] @ 0x8a - 8010140: f483 5300 eor.w r3, r3, #8192 @ 0x2000 - 8010144: f8a7 308a strh.w r3, [r7, #138] @ 0x8a - 8010148: 687a ldr r2, [r7, #4] - 801014a: 683b ldr r3, [r7, #0] - 801014c: 781b ldrb r3, [r3, #0] - 801014e: 009b lsls r3, r3, #2 - 8010150: 441a add r2, r3 - 8010152: f8b7 308a ldrh.w r3, [r7, #138] @ 0x8a - 8010156: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 801015a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 801015e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8010162: f043 0380 orr.w r3, r3, #128 @ 0x80 - 8010166: b29b uxth r3, r3 - 8010168: 8013 strh r3, [r2, #0] + 8010b12: 687a ldr r2, [r7, #4] + 8010b14: 683b ldr r3, [r7, #0] + 8010b16: 781b ldrb r3, [r3, #0] + 8010b18: 009b lsls r3, r3, #2 + 8010b1a: 4413 add r3, r2 + 8010b1c: 881b ldrh r3, [r3, #0] + 8010b1e: b29b uxth r3, r3 + 8010b20: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 8010b24: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8010b28: f8a7 308a strh.w r3, [r7, #138] @ 0x8a + 8010b2c: f8b7 308a ldrh.w r3, [r7, #138] @ 0x8a + 8010b30: f483 5380 eor.w r3, r3, #4096 @ 0x1000 + 8010b34: f8a7 308a strh.w r3, [r7, #138] @ 0x8a + 8010b38: f8b7 308a ldrh.w r3, [r7, #138] @ 0x8a + 8010b3c: f483 5300 eor.w r3, r3, #8192 @ 0x2000 + 8010b40: f8a7 308a strh.w r3, [r7, #138] @ 0x8a + 8010b44: 687a ldr r2, [r7, #4] + 8010b46: 683b ldr r3, [r7, #0] + 8010b48: 781b ldrb r3, [r3, #0] + 8010b4a: 009b lsls r3, r3, #2 + 8010b4c: 441a add r2, r3 + 8010b4e: f8b7 308a ldrh.w r3, [r7, #138] @ 0x8a + 8010b52: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010b56: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010b5a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010b5e: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010b62: b29b uxth r3, r3 + 8010b64: 8013 strh r3, [r2, #0] } return HAL_OK; - 801016a: 2300 movs r3, #0 + 8010b66: 2300 movs r3, #0 } - 801016c: 4618 mov r0, r3 - 801016e: 37b0 adds r7, #176 @ 0xb0 - 8010170: 46bd mov sp, r7 - 8010172: bd80 pop {r7, pc} + 8010b68: 4618 mov r0, r3 + 8010b6a: 37b0 adds r7, #176 @ 0xb0 + 8010b6c: 46bd mov sp, r7 + 8010b6e: bd80 pop {r7, pc} -08010174 : +08010b70 : * @param USBx Selected device * @param ep pointer to endpoint structure * @retval HAL status */ HAL_StatusTypeDef USB_EPSetStall(USB_TypeDef *USBx, USB_EPTypeDef *ep) { - 8010174: b480 push {r7} - 8010176: b085 sub sp, #20 - 8010178: af00 add r7, sp, #0 - 801017a: 6078 str r0, [r7, #4] - 801017c: 6039 str r1, [r7, #0] + 8010b70: b480 push {r7} + 8010b72: b085 sub sp, #20 + 8010b74: af00 add r7, sp, #0 + 8010b76: 6078 str r0, [r7, #4] + 8010b78: 6039 str r1, [r7, #0] if (ep->is_in != 0U) - 801017e: 683b ldr r3, [r7, #0] - 8010180: 785b ldrb r3, [r3, #1] - 8010182: 2b00 cmp r3, #0 - 8010184: d020 beq.n 80101c8 + 8010b7a: 683b ldr r3, [r7, #0] + 8010b7c: 785b ldrb r3, [r3, #1] + 8010b7e: 2b00 cmp r3, #0 + 8010b80: d020 beq.n 8010bc4 { PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_STALL); - 8010186: 687a ldr r2, [r7, #4] - 8010188: 683b ldr r3, [r7, #0] - 801018a: 781b ldrb r3, [r3, #0] - 801018c: 009b lsls r3, r3, #2 - 801018e: 4413 add r3, r2 - 8010190: 881b ldrh r3, [r3, #0] - 8010192: b29b uxth r3, r3 - 8010194: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 8010198: f023 0340 bic.w r3, r3, #64 @ 0x40 - 801019c: 81bb strh r3, [r7, #12] - 801019e: 89bb ldrh r3, [r7, #12] - 80101a0: f083 0310 eor.w r3, r3, #16 - 80101a4: 81bb strh r3, [r7, #12] - 80101a6: 687a ldr r2, [r7, #4] - 80101a8: 683b ldr r3, [r7, #0] - 80101aa: 781b ldrb r3, [r3, #0] - 80101ac: 009b lsls r3, r3, #2 - 80101ae: 441a add r2, r3 - 80101b0: 89bb ldrh r3, [r7, #12] - 80101b2: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 80101b6: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 80101ba: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 80101be: f043 0380 orr.w r3, r3, #128 @ 0x80 - 80101c2: b29b uxth r3, r3 - 80101c4: 8013 strh r3, [r2, #0] - 80101c6: e01f b.n 8010208 + 8010b82: 687a ldr r2, [r7, #4] + 8010b84: 683b ldr r3, [r7, #0] + 8010b86: 781b ldrb r3, [r3, #0] + 8010b88: 009b lsls r3, r3, #2 + 8010b8a: 4413 add r3, r2 + 8010b8c: 881b ldrh r3, [r3, #0] + 8010b8e: b29b uxth r3, r3 + 8010b90: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 8010b94: f023 0340 bic.w r3, r3, #64 @ 0x40 + 8010b98: 81bb strh r3, [r7, #12] + 8010b9a: 89bb ldrh r3, [r7, #12] + 8010b9c: f083 0310 eor.w r3, r3, #16 + 8010ba0: 81bb strh r3, [r7, #12] + 8010ba2: 687a ldr r2, [r7, #4] + 8010ba4: 683b ldr r3, [r7, #0] + 8010ba6: 781b ldrb r3, [r3, #0] + 8010ba8: 009b lsls r3, r3, #2 + 8010baa: 441a add r2, r3 + 8010bac: 89bb ldrh r3, [r7, #12] + 8010bae: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010bb2: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010bb6: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010bba: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010bbe: b29b uxth r3, r3 + 8010bc0: 8013 strh r3, [r2, #0] + 8010bc2: e01f b.n 8010c04 } else { PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_STALL); - 80101c8: 687a ldr r2, [r7, #4] - 80101ca: 683b ldr r3, [r7, #0] - 80101cc: 781b ldrb r3, [r3, #0] - 80101ce: 009b lsls r3, r3, #2 - 80101d0: 4413 add r3, r2 - 80101d2: 881b ldrh r3, [r3, #0] - 80101d4: b29b uxth r3, r3 - 80101d6: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 80101da: f023 0370 bic.w r3, r3, #112 @ 0x70 - 80101de: 81fb strh r3, [r7, #14] - 80101e0: 89fb ldrh r3, [r7, #14] - 80101e2: f483 5380 eor.w r3, r3, #4096 @ 0x1000 - 80101e6: 81fb strh r3, [r7, #14] - 80101e8: 687a ldr r2, [r7, #4] - 80101ea: 683b ldr r3, [r7, #0] - 80101ec: 781b ldrb r3, [r3, #0] - 80101ee: 009b lsls r3, r3, #2 - 80101f0: 441a add r2, r3 - 80101f2: 89fb ldrh r3, [r7, #14] - 80101f4: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 80101f8: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 80101fc: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8010200: f043 0380 orr.w r3, r3, #128 @ 0x80 - 8010204: b29b uxth r3, r3 - 8010206: 8013 strh r3, [r2, #0] + 8010bc4: 687a ldr r2, [r7, #4] + 8010bc6: 683b ldr r3, [r7, #0] + 8010bc8: 781b ldrb r3, [r3, #0] + 8010bca: 009b lsls r3, r3, #2 + 8010bcc: 4413 add r3, r2 + 8010bce: 881b ldrh r3, [r3, #0] + 8010bd0: b29b uxth r3, r3 + 8010bd2: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 8010bd6: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8010bda: 81fb strh r3, [r7, #14] + 8010bdc: 89fb ldrh r3, [r7, #14] + 8010bde: f483 5380 eor.w r3, r3, #4096 @ 0x1000 + 8010be2: 81fb strh r3, [r7, #14] + 8010be4: 687a ldr r2, [r7, #4] + 8010be6: 683b ldr r3, [r7, #0] + 8010be8: 781b ldrb r3, [r3, #0] + 8010bea: 009b lsls r3, r3, #2 + 8010bec: 441a add r2, r3 + 8010bee: 89fb ldrh r3, [r7, #14] + 8010bf0: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010bf4: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010bf8: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010bfc: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010c00: b29b uxth r3, r3 + 8010c02: 8013 strh r3, [r2, #0] } return HAL_OK; - 8010208: 2300 movs r3, #0 + 8010c04: 2300 movs r3, #0 } - 801020a: 4618 mov r0, r3 - 801020c: 3714 adds r7, #20 - 801020e: 46bd mov sp, r7 - 8010210: f85d 7b04 ldr.w r7, [sp], #4 - 8010214: 4770 bx lr + 8010c06: 4618 mov r0, r3 + 8010c08: 3714 adds r7, #20 + 8010c0a: 46bd mov sp, r7 + 8010c0c: f85d 7b04 ldr.w r7, [sp], #4 + 8010c10: 4770 bx lr -08010216 : +08010c12 : * @param USBx Selected device * @param ep pointer to endpoint structure * @retval HAL status */ HAL_StatusTypeDef USB_EPClearStall(USB_TypeDef *USBx, USB_EPTypeDef *ep) { - 8010216: b480 push {r7} - 8010218: b087 sub sp, #28 - 801021a: af00 add r7, sp, #0 - 801021c: 6078 str r0, [r7, #4] - 801021e: 6039 str r1, [r7, #0] + 8010c12: b480 push {r7} + 8010c14: b087 sub sp, #28 + 8010c16: af00 add r7, sp, #0 + 8010c18: 6078 str r0, [r7, #4] + 8010c1a: 6039 str r1, [r7, #0] if (ep->is_in != 0U) - 8010220: 683b ldr r3, [r7, #0] - 8010222: 785b ldrb r3, [r3, #1] - 8010224: 2b00 cmp r3, #0 - 8010226: d04c beq.n 80102c2 + 8010c1c: 683b ldr r3, [r7, #0] + 8010c1e: 785b ldrb r3, [r3, #1] + 8010c20: 2b00 cmp r3, #0 + 8010c22: d04c beq.n 8010cbe { PCD_CLEAR_TX_DTOG(USBx, ep->num); - 8010228: 687a ldr r2, [r7, #4] - 801022a: 683b ldr r3, [r7, #0] - 801022c: 781b ldrb r3, [r3, #0] - 801022e: 009b lsls r3, r3, #2 - 8010230: 4413 add r3, r2 - 8010232: 881b ldrh r3, [r3, #0] - 8010234: 823b strh r3, [r7, #16] - 8010236: 8a3b ldrh r3, [r7, #16] - 8010238: f003 0340 and.w r3, r3, #64 @ 0x40 - 801023c: 2b00 cmp r3, #0 - 801023e: d01b beq.n 8010278 - 8010240: 687a ldr r2, [r7, #4] - 8010242: 683b ldr r3, [r7, #0] - 8010244: 781b ldrb r3, [r3, #0] - 8010246: 009b lsls r3, r3, #2 - 8010248: 4413 add r3, r2 - 801024a: 881b ldrh r3, [r3, #0] - 801024c: b29b uxth r3, r3 - 801024e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 8010252: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8010256: 81fb strh r3, [r7, #14] - 8010258: 687a ldr r2, [r7, #4] - 801025a: 683b ldr r3, [r7, #0] - 801025c: 781b ldrb r3, [r3, #0] - 801025e: 009b lsls r3, r3, #2 - 8010260: 441a add r2, r3 - 8010262: 89fb ldrh r3, [r7, #14] - 8010264: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8010268: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 801026c: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8010270: f043 03c0 orr.w r3, r3, #192 @ 0xc0 - 8010274: b29b uxth r3, r3 - 8010276: 8013 strh r3, [r2, #0] + 8010c24: 687a ldr r2, [r7, #4] + 8010c26: 683b ldr r3, [r7, #0] + 8010c28: 781b ldrb r3, [r3, #0] + 8010c2a: 009b lsls r3, r3, #2 + 8010c2c: 4413 add r3, r2 + 8010c2e: 881b ldrh r3, [r3, #0] + 8010c30: 823b strh r3, [r7, #16] + 8010c32: 8a3b ldrh r3, [r7, #16] + 8010c34: f003 0340 and.w r3, r3, #64 @ 0x40 + 8010c38: 2b00 cmp r3, #0 + 8010c3a: d01b beq.n 8010c74 + 8010c3c: 687a ldr r2, [r7, #4] + 8010c3e: 683b ldr r3, [r7, #0] + 8010c40: 781b ldrb r3, [r3, #0] + 8010c42: 009b lsls r3, r3, #2 + 8010c44: 4413 add r3, r2 + 8010c46: 881b ldrh r3, [r3, #0] + 8010c48: b29b uxth r3, r3 + 8010c4a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 8010c4e: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8010c52: 81fb strh r3, [r7, #14] + 8010c54: 687a ldr r2, [r7, #4] + 8010c56: 683b ldr r3, [r7, #0] + 8010c58: 781b ldrb r3, [r3, #0] + 8010c5a: 009b lsls r3, r3, #2 + 8010c5c: 441a add r2, r3 + 8010c5e: 89fb ldrh r3, [r7, #14] + 8010c60: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010c64: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010c68: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010c6c: f043 03c0 orr.w r3, r3, #192 @ 0xc0 + 8010c70: b29b uxth r3, r3 + 8010c72: 8013 strh r3, [r2, #0] if (ep->type != EP_TYPE_ISOC) - 8010278: 683b ldr r3, [r7, #0] - 801027a: 78db ldrb r3, [r3, #3] - 801027c: 2b01 cmp r3, #1 - 801027e: d06c beq.n 801035a + 8010c74: 683b ldr r3, [r7, #0] + 8010c76: 78db ldrb r3, [r3, #3] + 8010c78: 2b01 cmp r3, #1 + 8010c7a: d06c beq.n 8010d56 { /* Configure NAK status for the Endpoint */ PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK); - 8010280: 687a ldr r2, [r7, #4] - 8010282: 683b ldr r3, [r7, #0] - 8010284: 781b ldrb r3, [r3, #0] - 8010286: 009b lsls r3, r3, #2 - 8010288: 4413 add r3, r2 - 801028a: 881b ldrh r3, [r3, #0] - 801028c: b29b uxth r3, r3 - 801028e: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 8010292: f023 0340 bic.w r3, r3, #64 @ 0x40 - 8010296: 81bb strh r3, [r7, #12] - 8010298: 89bb ldrh r3, [r7, #12] - 801029a: f083 0320 eor.w r3, r3, #32 - 801029e: 81bb strh r3, [r7, #12] - 80102a0: 687a ldr r2, [r7, #4] - 80102a2: 683b ldr r3, [r7, #0] - 80102a4: 781b ldrb r3, [r3, #0] - 80102a6: 009b lsls r3, r3, #2 - 80102a8: 441a add r2, r3 - 80102aa: 89bb ldrh r3, [r7, #12] - 80102ac: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 80102b0: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 80102b4: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 80102b8: f043 0380 orr.w r3, r3, #128 @ 0x80 - 80102bc: b29b uxth r3, r3 - 80102be: 8013 strh r3, [r2, #0] - 80102c0: e04b b.n 801035a + 8010c7c: 687a ldr r2, [r7, #4] + 8010c7e: 683b ldr r3, [r7, #0] + 8010c80: 781b ldrb r3, [r3, #0] + 8010c82: 009b lsls r3, r3, #2 + 8010c84: 4413 add r3, r2 + 8010c86: 881b ldrh r3, [r3, #0] + 8010c88: b29b uxth r3, r3 + 8010c8a: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 8010c8e: f023 0340 bic.w r3, r3, #64 @ 0x40 + 8010c92: 81bb strh r3, [r7, #12] + 8010c94: 89bb ldrh r3, [r7, #12] + 8010c96: f083 0320 eor.w r3, r3, #32 + 8010c9a: 81bb strh r3, [r7, #12] + 8010c9c: 687a ldr r2, [r7, #4] + 8010c9e: 683b ldr r3, [r7, #0] + 8010ca0: 781b ldrb r3, [r3, #0] + 8010ca2: 009b lsls r3, r3, #2 + 8010ca4: 441a add r2, r3 + 8010ca6: 89bb ldrh r3, [r7, #12] + 8010ca8: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010cac: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010cb0: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010cb4: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010cb8: b29b uxth r3, r3 + 8010cba: 8013 strh r3, [r2, #0] + 8010cbc: e04b b.n 8010d56 } } else { PCD_CLEAR_RX_DTOG(USBx, ep->num); - 80102c2: 687a ldr r2, [r7, #4] - 80102c4: 683b ldr r3, [r7, #0] - 80102c6: 781b ldrb r3, [r3, #0] - 80102c8: 009b lsls r3, r3, #2 - 80102ca: 4413 add r3, r2 - 80102cc: 881b ldrh r3, [r3, #0] - 80102ce: 82fb strh r3, [r7, #22] - 80102d0: 8afb ldrh r3, [r7, #22] - 80102d2: f403 4380 and.w r3, r3, #16384 @ 0x4000 - 80102d6: 2b00 cmp r3, #0 - 80102d8: d01b beq.n 8010312 - 80102da: 687a ldr r2, [r7, #4] - 80102dc: 683b ldr r3, [r7, #0] - 80102de: 781b ldrb r3, [r3, #0] - 80102e0: 009b lsls r3, r3, #2 - 80102e2: 4413 add r3, r2 - 80102e4: 881b ldrh r3, [r3, #0] - 80102e6: b29b uxth r3, r3 - 80102e8: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 - 80102ec: f023 0370 bic.w r3, r3, #112 @ 0x70 - 80102f0: 82bb strh r3, [r7, #20] - 80102f2: 687a ldr r2, [r7, #4] - 80102f4: 683b ldr r3, [r7, #0] - 80102f6: 781b ldrb r3, [r3, #0] - 80102f8: 009b lsls r3, r3, #2 - 80102fa: 441a add r2, r3 - 80102fc: 8abb ldrh r3, [r7, #20] - 80102fe: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8010302: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 8010306: f443 4340 orr.w r3, r3, #49152 @ 0xc000 - 801030a: f043 0380 orr.w r3, r3, #128 @ 0x80 - 801030e: b29b uxth r3, r3 - 8010310: 8013 strh r3, [r2, #0] + 8010cbe: 687a ldr r2, [r7, #4] + 8010cc0: 683b ldr r3, [r7, #0] + 8010cc2: 781b ldrb r3, [r3, #0] + 8010cc4: 009b lsls r3, r3, #2 + 8010cc6: 4413 add r3, r2 + 8010cc8: 881b ldrh r3, [r3, #0] + 8010cca: 82fb strh r3, [r7, #22] + 8010ccc: 8afb ldrh r3, [r7, #22] + 8010cce: f403 4380 and.w r3, r3, #16384 @ 0x4000 + 8010cd2: 2b00 cmp r3, #0 + 8010cd4: d01b beq.n 8010d0e + 8010cd6: 687a ldr r2, [r7, #4] + 8010cd8: 683b ldr r3, [r7, #0] + 8010cda: 781b ldrb r3, [r3, #0] + 8010cdc: 009b lsls r3, r3, #2 + 8010cde: 4413 add r3, r2 + 8010ce0: 881b ldrh r3, [r3, #0] + 8010ce2: b29b uxth r3, r3 + 8010ce4: f423 43e0 bic.w r3, r3, #28672 @ 0x7000 + 8010ce8: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8010cec: 82bb strh r3, [r7, #20] + 8010cee: 687a ldr r2, [r7, #4] + 8010cf0: 683b ldr r3, [r7, #0] + 8010cf2: 781b ldrb r3, [r3, #0] + 8010cf4: 009b lsls r3, r3, #2 + 8010cf6: 441a add r2, r3 + 8010cf8: 8abb ldrh r3, [r7, #20] + 8010cfa: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010cfe: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010d02: f443 4340 orr.w r3, r3, #49152 @ 0xc000 + 8010d06: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010d0a: b29b uxth r3, r3 + 8010d0c: 8013 strh r3, [r2, #0] /* Configure VALID status for the Endpoint */ PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID); - 8010312: 687a ldr r2, [r7, #4] - 8010314: 683b ldr r3, [r7, #0] - 8010316: 781b ldrb r3, [r3, #0] - 8010318: 009b lsls r3, r3, #2 - 801031a: 4413 add r3, r2 - 801031c: 881b ldrh r3, [r3, #0] - 801031e: b29b uxth r3, r3 - 8010320: f423 4380 bic.w r3, r3, #16384 @ 0x4000 - 8010324: f023 0370 bic.w r3, r3, #112 @ 0x70 - 8010328: 827b strh r3, [r7, #18] - 801032a: 8a7b ldrh r3, [r7, #18] - 801032c: f483 5380 eor.w r3, r3, #4096 @ 0x1000 - 8010330: 827b strh r3, [r7, #18] - 8010332: 8a7b ldrh r3, [r7, #18] - 8010334: f483 5300 eor.w r3, r3, #8192 @ 0x2000 - 8010338: 827b strh r3, [r7, #18] - 801033a: 687a ldr r2, [r7, #4] - 801033c: 683b ldr r3, [r7, #0] - 801033e: 781b ldrb r3, [r3, #0] - 8010340: 009b lsls r3, r3, #2 - 8010342: 441a add r2, r3 - 8010344: 8a7b ldrh r3, [r7, #18] - 8010346: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 801034a: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 801034e: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8010352: f043 0380 orr.w r3, r3, #128 @ 0x80 - 8010356: b29b uxth r3, r3 - 8010358: 8013 strh r3, [r2, #0] + 8010d0e: 687a ldr r2, [r7, #4] + 8010d10: 683b ldr r3, [r7, #0] + 8010d12: 781b ldrb r3, [r3, #0] + 8010d14: 009b lsls r3, r3, #2 + 8010d16: 4413 add r3, r2 + 8010d18: 881b ldrh r3, [r3, #0] + 8010d1a: b29b uxth r3, r3 + 8010d1c: f423 4380 bic.w r3, r3, #16384 @ 0x4000 + 8010d20: f023 0370 bic.w r3, r3, #112 @ 0x70 + 8010d24: 827b strh r3, [r7, #18] + 8010d26: 8a7b ldrh r3, [r7, #18] + 8010d28: f483 5380 eor.w r3, r3, #4096 @ 0x1000 + 8010d2c: 827b strh r3, [r7, #18] + 8010d2e: 8a7b ldrh r3, [r7, #18] + 8010d30: f483 5300 eor.w r3, r3, #8192 @ 0x2000 + 8010d34: 827b strh r3, [r7, #18] + 8010d36: 687a ldr r2, [r7, #4] + 8010d38: 683b ldr r3, [r7, #0] + 8010d3a: 781b ldrb r3, [r3, #0] + 8010d3c: 009b lsls r3, r3, #2 + 8010d3e: 441a add r2, r3 + 8010d40: 8a7b ldrh r3, [r7, #18] + 8010d42: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8010d46: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8010d4a: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8010d4e: f043 0380 orr.w r3, r3, #128 @ 0x80 + 8010d52: b29b uxth r3, r3 + 8010d54: 8013 strh r3, [r2, #0] } return HAL_OK; - 801035a: 2300 movs r3, #0 + 8010d56: 2300 movs r3, #0 } - 801035c: 4618 mov r0, r3 - 801035e: 371c adds r7, #28 - 8010360: 46bd mov sp, r7 - 8010362: f85d 7b04 ldr.w r7, [sp], #4 - 8010366: 4770 bx lr + 8010d58: 4618 mov r0, r3 + 8010d5a: 371c adds r7, #28 + 8010d5c: 46bd mov sp, r7 + 8010d5e: f85d 7b04 ldr.w r7, [sp], #4 + 8010d62: 4770 bx lr -08010368 : +08010d64 : * @param address new device address to be assigned * This parameter can be a value from 0 to 255 * @retval HAL status */ HAL_StatusTypeDef USB_SetDevAddress(USB_TypeDef *USBx, uint8_t address) { - 8010368: b480 push {r7} - 801036a: b083 sub sp, #12 - 801036c: af00 add r7, sp, #0 - 801036e: 6078 str r0, [r7, #4] - 8010370: 460b mov r3, r1 - 8010372: 70fb strb r3, [r7, #3] + 8010d64: b480 push {r7} + 8010d66: b083 sub sp, #12 + 8010d68: af00 add r7, sp, #0 + 8010d6a: 6078 str r0, [r7, #4] + 8010d6c: 460b mov r3, r1 + 8010d6e: 70fb strb r3, [r7, #3] if (address == 0U) - 8010374: 78fb ldrb r3, [r7, #3] - 8010376: 2b00 cmp r3, #0 - 8010378: d103 bne.n 8010382 + 8010d70: 78fb ldrb r3, [r7, #3] + 8010d72: 2b00 cmp r3, #0 + 8010d74: d103 bne.n 8010d7e { /* set device address and enable function */ USBx->DADDR = (uint16_t)USB_DADDR_EF; - 801037a: 687b ldr r3, [r7, #4] - 801037c: 2280 movs r2, #128 @ 0x80 - 801037e: f8a3 204c strh.w r2, [r3, #76] @ 0x4c + 8010d76: 687b ldr r3, [r7, #4] + 8010d78: 2280 movs r2, #128 @ 0x80 + 8010d7a: f8a3 204c strh.w r2, [r3, #76] @ 0x4c } return HAL_OK; - 8010382: 2300 movs r3, #0 + 8010d7e: 2300 movs r3, #0 } - 8010384: 4618 mov r0, r3 - 8010386: 370c adds r7, #12 - 8010388: 46bd mov sp, r7 - 801038a: f85d 7b04 ldr.w r7, [sp], #4 - 801038e: 4770 bx lr + 8010d80: 4618 mov r0, r3 + 8010d82: 370c adds r7, #12 + 8010d84: 46bd mov sp, r7 + 8010d86: f85d 7b04 ldr.w r7, [sp], #4 + 8010d8a: 4770 bx lr -08010390 : +08010d8c : * @brief USB_DevConnect Connect the USB device by enabling the pull-up/pull-down * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_DevConnect(USB_TypeDef *USBx) { - 8010390: b480 push {r7} - 8010392: b083 sub sp, #12 - 8010394: af00 add r7, sp, #0 - 8010396: 6078 str r0, [r7, #4] + 8010d8c: b480 push {r7} + 8010d8e: b083 sub sp, #12 + 8010d90: af00 add r7, sp, #0 + 8010d92: 6078 str r0, [r7, #4] /* Enabling DP Pull-UP bit to Connect internal PU resistor on USB DP line */ USBx->BCDR |= (uint16_t)USB_BCDR_DPPU; - 8010398: 687b ldr r3, [r7, #4] - 801039a: f8b3 3058 ldrh.w r3, [r3, #88] @ 0x58 - 801039e: b29b uxth r3, r3 - 80103a0: ea6f 4343 mvn.w r3, r3, lsl #17 - 80103a4: ea6f 4353 mvn.w r3, r3, lsr #17 - 80103a8: b29a uxth r2, r3 - 80103aa: 687b ldr r3, [r7, #4] - 80103ac: f8a3 2058 strh.w r2, [r3, #88] @ 0x58 + 8010d94: 687b ldr r3, [r7, #4] + 8010d96: f8b3 3058 ldrh.w r3, [r3, #88] @ 0x58 + 8010d9a: b29b uxth r3, r3 + 8010d9c: ea6f 4343 mvn.w r3, r3, lsl #17 + 8010da0: ea6f 4353 mvn.w r3, r3, lsr #17 + 8010da4: b29a uxth r2, r3 + 8010da6: 687b ldr r3, [r7, #4] + 8010da8: f8a3 2058 strh.w r2, [r3, #88] @ 0x58 return HAL_OK; - 80103b0: 2300 movs r3, #0 + 8010dac: 2300 movs r3, #0 } - 80103b2: 4618 mov r0, r3 - 80103b4: 370c adds r7, #12 - 80103b6: 46bd mov sp, r7 - 80103b8: f85d 7b04 ldr.w r7, [sp], #4 - 80103bc: 4770 bx lr + 8010dae: 4618 mov r0, r3 + 8010db0: 370c adds r7, #12 + 8010db2: 46bd mov sp, r7 + 8010db4: f85d 7b04 ldr.w r7, [sp], #4 + 8010db8: 4770 bx lr -080103be : +08010dba : * @brief USB_ReadInterrupts return the global USB interrupt status * @param USBx Selected device * @retval USB Global Interrupt status */ uint32_t USB_ReadInterrupts(USB_TypeDef const *USBx) { - 80103be: b480 push {r7} - 80103c0: b085 sub sp, #20 - 80103c2: af00 add r7, sp, #0 - 80103c4: 6078 str r0, [r7, #4] + 8010dba: b480 push {r7} + 8010dbc: b085 sub sp, #20 + 8010dbe: af00 add r7, sp, #0 + 8010dc0: 6078 str r0, [r7, #4] uint32_t tmpreg; tmpreg = USBx->ISTR; - 80103c6: 687b ldr r3, [r7, #4] - 80103c8: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 - 80103cc: b29b uxth r3, r3 - 80103ce: 60fb str r3, [r7, #12] + 8010dc2: 687b ldr r3, [r7, #4] + 8010dc4: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44 + 8010dc8: b29b uxth r3, r3 + 8010dca: 60fb str r3, [r7, #12] return tmpreg; - 80103d0: 68fb ldr r3, [r7, #12] + 8010dcc: 68fb ldr r3, [r7, #12] } - 80103d2: 4618 mov r0, r3 - 80103d4: 3714 adds r7, #20 - 80103d6: 46bd mov sp, r7 - 80103d8: f85d 7b04 ldr.w r7, [sp], #4 - 80103dc: 4770 bx lr + 8010dce: 4618 mov r0, r3 + 8010dd0: 3714 adds r7, #20 + 8010dd2: 46bd mov sp, r7 + 8010dd4: f85d 7b04 ldr.w r7, [sp], #4 + 8010dd8: 4770 bx lr -080103de : +08010dda : * @param wPMABufAddr address into PMA. * @param wNBytes no. of bytes to be copied. * @retval None */ void USB_WritePMA(USB_TypeDef const *USBx, uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes) { - 80103de: b480 push {r7} - 80103e0: b08b sub sp, #44 @ 0x2c - 80103e2: af00 add r7, sp, #0 - 80103e4: 60f8 str r0, [r7, #12] - 80103e6: 60b9 str r1, [r7, #8] - 80103e8: 4611 mov r1, r2 - 80103ea: 461a mov r2, r3 - 80103ec: 460b mov r3, r1 - 80103ee: 80fb strh r3, [r7, #6] - 80103f0: 4613 mov r3, r2 - 80103f2: 80bb strh r3, [r7, #4] + 8010dda: b480 push {r7} + 8010ddc: b08b sub sp, #44 @ 0x2c + 8010dde: af00 add r7, sp, #0 + 8010de0: 60f8 str r0, [r7, #12] + 8010de2: 60b9 str r1, [r7, #8] + 8010de4: 4611 mov r1, r2 + 8010de6: 461a mov r2, r3 + 8010de8: 460b mov r3, r1 + 8010dea: 80fb strh r3, [r7, #6] + 8010dec: 4613 mov r3, r2 + 8010dee: 80bb strh r3, [r7, #4] uint32_t n = ((uint32_t)wNBytes + 1U) >> 1; - 80103f4: 88bb ldrh r3, [r7, #4] - 80103f6: 3301 adds r3, #1 - 80103f8: 085b lsrs r3, r3, #1 - 80103fa: 61bb str r3, [r7, #24] + 8010df0: 88bb ldrh r3, [r7, #4] + 8010df2: 3301 adds r3, #1 + 8010df4: 085b lsrs r3, r3, #1 + 8010df6: 61bb str r3, [r7, #24] uint32_t BaseAddr = (uint32_t)USBx; - 80103fc: 68fb ldr r3, [r7, #12] - 80103fe: 617b str r3, [r7, #20] + 8010df8: 68fb ldr r3, [r7, #12] + 8010dfa: 617b str r3, [r7, #20] uint32_t count; uint16_t WrVal; __IO uint16_t *pdwVal; uint8_t *pBuf = pbUsrBuf; - 8010400: 68bb ldr r3, [r7, #8] - 8010402: 61fb str r3, [r7, #28] + 8010dfc: 68bb ldr r3, [r7, #8] + 8010dfe: 61fb str r3, [r7, #28] pdwVal = (__IO uint16_t *)(BaseAddr + 0x400U + ((uint32_t)wPMABufAddr * PMA_ACCESS)); - 8010404: 88fa ldrh r2, [r7, #6] - 8010406: 697b ldr r3, [r7, #20] - 8010408: 4413 add r3, r2 - 801040a: f503 6380 add.w r3, r3, #1024 @ 0x400 - 801040e: 623b str r3, [r7, #32] + 8010e00: 88fa ldrh r2, [r7, #6] + 8010e02: 697b ldr r3, [r7, #20] + 8010e04: 4413 add r3, r2 + 8010e06: f503 6380 add.w r3, r3, #1024 @ 0x400 + 8010e0a: 623b str r3, [r7, #32] for (count = n; count != 0U; count--) - 8010410: 69bb ldr r3, [r7, #24] - 8010412: 627b str r3, [r7, #36] @ 0x24 - 8010414: e01c b.n 8010450 + 8010e0c: 69bb ldr r3, [r7, #24] + 8010e0e: 627b str r3, [r7, #36] @ 0x24 + 8010e10: e01c b.n 8010e4c { WrVal = pBuf[0]; - 8010416: 69fb ldr r3, [r7, #28] - 8010418: 781b ldrb r3, [r3, #0] - 801041a: 827b strh r3, [r7, #18] + 8010e12: 69fb ldr r3, [r7, #28] + 8010e14: 781b ldrb r3, [r3, #0] + 8010e16: 827b strh r3, [r7, #18] WrVal |= (uint16_t)pBuf[1] << 8; - 801041c: 69fb ldr r3, [r7, #28] - 801041e: 3301 adds r3, #1 - 8010420: 781b ldrb r3, [r3, #0] - 8010422: b21b sxth r3, r3 - 8010424: 021b lsls r3, r3, #8 - 8010426: b21a sxth r2, r3 - 8010428: f9b7 3012 ldrsh.w r3, [r7, #18] - 801042c: 4313 orrs r3, r2 - 801042e: b21b sxth r3, r3 - 8010430: 827b strh r3, [r7, #18] + 8010e18: 69fb ldr r3, [r7, #28] + 8010e1a: 3301 adds r3, #1 + 8010e1c: 781b ldrb r3, [r3, #0] + 8010e1e: b21b sxth r3, r3 + 8010e20: 021b lsls r3, r3, #8 + 8010e22: b21a sxth r2, r3 + 8010e24: f9b7 3012 ldrsh.w r3, [r7, #18] + 8010e28: 4313 orrs r3, r2 + 8010e2a: b21b sxth r3, r3 + 8010e2c: 827b strh r3, [r7, #18] *pdwVal = (WrVal & 0xFFFFU); - 8010432: 6a3b ldr r3, [r7, #32] - 8010434: 8a7a ldrh r2, [r7, #18] - 8010436: 801a strh r2, [r3, #0] + 8010e2e: 6a3b ldr r3, [r7, #32] + 8010e30: 8a7a ldrh r2, [r7, #18] + 8010e32: 801a strh r2, [r3, #0] pdwVal++; - 8010438: 6a3b ldr r3, [r7, #32] - 801043a: 3302 adds r3, #2 - 801043c: 623b str r3, [r7, #32] + 8010e34: 6a3b ldr r3, [r7, #32] + 8010e36: 3302 adds r3, #2 + 8010e38: 623b str r3, [r7, #32] #if PMA_ACCESS > 1U pdwVal++; #endif /* PMA_ACCESS */ pBuf++; - 801043e: 69fb ldr r3, [r7, #28] - 8010440: 3301 adds r3, #1 - 8010442: 61fb str r3, [r7, #28] + 8010e3a: 69fb ldr r3, [r7, #28] + 8010e3c: 3301 adds r3, #1 + 8010e3e: 61fb str r3, [r7, #28] pBuf++; - 8010444: 69fb ldr r3, [r7, #28] - 8010446: 3301 adds r3, #1 - 8010448: 61fb str r3, [r7, #28] + 8010e40: 69fb ldr r3, [r7, #28] + 8010e42: 3301 adds r3, #1 + 8010e44: 61fb str r3, [r7, #28] for (count = n; count != 0U; count--) - 801044a: 6a7b ldr r3, [r7, #36] @ 0x24 - 801044c: 3b01 subs r3, #1 - 801044e: 627b str r3, [r7, #36] @ 0x24 - 8010450: 6a7b ldr r3, [r7, #36] @ 0x24 - 8010452: 2b00 cmp r3, #0 - 8010454: d1df bne.n 8010416 + 8010e46: 6a7b ldr r3, [r7, #36] @ 0x24 + 8010e48: 3b01 subs r3, #1 + 8010e4a: 627b str r3, [r7, #36] @ 0x24 + 8010e4c: 6a7b ldr r3, [r7, #36] @ 0x24 + 8010e4e: 2b00 cmp r3, #0 + 8010e50: d1df bne.n 8010e12 } } - 8010456: bf00 nop - 8010458: bf00 nop - 801045a: 372c adds r7, #44 @ 0x2c - 801045c: 46bd mov sp, r7 - 801045e: f85d 7b04 ldr.w r7, [sp], #4 - 8010462: 4770 bx lr + 8010e52: bf00 nop + 8010e54: bf00 nop + 8010e56: 372c adds r7, #44 @ 0x2c + 8010e58: 46bd mov sp, r7 + 8010e5a: f85d 7b04 ldr.w r7, [sp], #4 + 8010e5e: 4770 bx lr -08010464 : +08010e60 : * @param wPMABufAddr address into PMA. * @param wNBytes no. of bytes to be copied. * @retval None */ void USB_ReadPMA(USB_TypeDef const *USBx, uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes) { - 8010464: b480 push {r7} - 8010466: b08b sub sp, #44 @ 0x2c - 8010468: af00 add r7, sp, #0 - 801046a: 60f8 str r0, [r7, #12] - 801046c: 60b9 str r1, [r7, #8] - 801046e: 4611 mov r1, r2 - 8010470: 461a mov r2, r3 - 8010472: 460b mov r3, r1 - 8010474: 80fb strh r3, [r7, #6] - 8010476: 4613 mov r3, r2 - 8010478: 80bb strh r3, [r7, #4] + 8010e60: b480 push {r7} + 8010e62: b08b sub sp, #44 @ 0x2c + 8010e64: af00 add r7, sp, #0 + 8010e66: 60f8 str r0, [r7, #12] + 8010e68: 60b9 str r1, [r7, #8] + 8010e6a: 4611 mov r1, r2 + 8010e6c: 461a mov r2, r3 + 8010e6e: 460b mov r3, r1 + 8010e70: 80fb strh r3, [r7, #6] + 8010e72: 4613 mov r3, r2 + 8010e74: 80bb strh r3, [r7, #4] uint32_t n = (uint32_t)wNBytes >> 1; - 801047a: 88bb ldrh r3, [r7, #4] - 801047c: 085b lsrs r3, r3, #1 - 801047e: b29b uxth r3, r3 - 8010480: 61bb str r3, [r7, #24] + 8010e76: 88bb ldrh r3, [r7, #4] + 8010e78: 085b lsrs r3, r3, #1 + 8010e7a: b29b uxth r3, r3 + 8010e7c: 61bb str r3, [r7, #24] uint32_t BaseAddr = (uint32_t)USBx; - 8010482: 68fb ldr r3, [r7, #12] - 8010484: 617b str r3, [r7, #20] + 8010e7e: 68fb ldr r3, [r7, #12] + 8010e80: 617b str r3, [r7, #20] uint32_t count; uint32_t RdVal; __IO uint16_t *pdwVal; uint8_t *pBuf = pbUsrBuf; - 8010486: 68bb ldr r3, [r7, #8] - 8010488: 61fb str r3, [r7, #28] + 8010e82: 68bb ldr r3, [r7, #8] + 8010e84: 61fb str r3, [r7, #28] pdwVal = (__IO uint16_t *)(BaseAddr + 0x400U + ((uint32_t)wPMABufAddr * PMA_ACCESS)); - 801048a: 88fa ldrh r2, [r7, #6] - 801048c: 697b ldr r3, [r7, #20] - 801048e: 4413 add r3, r2 - 8010490: f503 6380 add.w r3, r3, #1024 @ 0x400 - 8010494: 623b str r3, [r7, #32] + 8010e86: 88fa ldrh r2, [r7, #6] + 8010e88: 697b ldr r3, [r7, #20] + 8010e8a: 4413 add r3, r2 + 8010e8c: f503 6380 add.w r3, r3, #1024 @ 0x400 + 8010e90: 623b str r3, [r7, #32] for (count = n; count != 0U; count--) - 8010496: 69bb ldr r3, [r7, #24] - 8010498: 627b str r3, [r7, #36] @ 0x24 - 801049a: e018 b.n 80104ce + 8010e92: 69bb ldr r3, [r7, #24] + 8010e94: 627b str r3, [r7, #36] @ 0x24 + 8010e96: e018 b.n 8010eca { RdVal = *(__IO uint16_t *)pdwVal; - 801049c: 6a3b ldr r3, [r7, #32] - 801049e: 881b ldrh r3, [r3, #0] - 80104a0: b29b uxth r3, r3 - 80104a2: 613b str r3, [r7, #16] + 8010e98: 6a3b ldr r3, [r7, #32] + 8010e9a: 881b ldrh r3, [r3, #0] + 8010e9c: b29b uxth r3, r3 + 8010e9e: 613b str r3, [r7, #16] pdwVal++; - 80104a4: 6a3b ldr r3, [r7, #32] - 80104a6: 3302 adds r3, #2 - 80104a8: 623b str r3, [r7, #32] + 8010ea0: 6a3b ldr r3, [r7, #32] + 8010ea2: 3302 adds r3, #2 + 8010ea4: 623b str r3, [r7, #32] *pBuf = (uint8_t)((RdVal >> 0) & 0xFFU); - 80104aa: 693b ldr r3, [r7, #16] - 80104ac: b2da uxtb r2, r3 - 80104ae: 69fb ldr r3, [r7, #28] - 80104b0: 701a strb r2, [r3, #0] + 8010ea6: 693b ldr r3, [r7, #16] + 8010ea8: b2da uxtb r2, r3 + 8010eaa: 69fb ldr r3, [r7, #28] + 8010eac: 701a strb r2, [r3, #0] pBuf++; - 80104b2: 69fb ldr r3, [r7, #28] - 80104b4: 3301 adds r3, #1 - 80104b6: 61fb str r3, [r7, #28] + 8010eae: 69fb ldr r3, [r7, #28] + 8010eb0: 3301 adds r3, #1 + 8010eb2: 61fb str r3, [r7, #28] *pBuf = (uint8_t)((RdVal >> 8) & 0xFFU); - 80104b8: 693b ldr r3, [r7, #16] - 80104ba: 0a1b lsrs r3, r3, #8 - 80104bc: b2da uxtb r2, r3 - 80104be: 69fb ldr r3, [r7, #28] - 80104c0: 701a strb r2, [r3, #0] + 8010eb4: 693b ldr r3, [r7, #16] + 8010eb6: 0a1b lsrs r3, r3, #8 + 8010eb8: b2da uxtb r2, r3 + 8010eba: 69fb ldr r3, [r7, #28] + 8010ebc: 701a strb r2, [r3, #0] pBuf++; - 80104c2: 69fb ldr r3, [r7, #28] - 80104c4: 3301 adds r3, #1 - 80104c6: 61fb str r3, [r7, #28] + 8010ebe: 69fb ldr r3, [r7, #28] + 8010ec0: 3301 adds r3, #1 + 8010ec2: 61fb str r3, [r7, #28] for (count = n; count != 0U; count--) - 80104c8: 6a7b ldr r3, [r7, #36] @ 0x24 - 80104ca: 3b01 subs r3, #1 - 80104cc: 627b str r3, [r7, #36] @ 0x24 - 80104ce: 6a7b ldr r3, [r7, #36] @ 0x24 - 80104d0: 2b00 cmp r3, #0 - 80104d2: d1e3 bne.n 801049c + 8010ec4: 6a7b ldr r3, [r7, #36] @ 0x24 + 8010ec6: 3b01 subs r3, #1 + 8010ec8: 627b str r3, [r7, #36] @ 0x24 + 8010eca: 6a7b ldr r3, [r7, #36] @ 0x24 + 8010ecc: 2b00 cmp r3, #0 + 8010ece: d1e3 bne.n 8010e98 #if PMA_ACCESS > 1U pdwVal++; #endif /* PMA_ACCESS */ } if ((wNBytes % 2U) != 0U) - 80104d4: 88bb ldrh r3, [r7, #4] - 80104d6: f003 0301 and.w r3, r3, #1 - 80104da: b29b uxth r3, r3 - 80104dc: 2b00 cmp r3, #0 - 80104de: d007 beq.n 80104f0 + 8010ed0: 88bb ldrh r3, [r7, #4] + 8010ed2: f003 0301 and.w r3, r3, #1 + 8010ed6: b29b uxth r3, r3 + 8010ed8: 2b00 cmp r3, #0 + 8010eda: d007 beq.n 8010eec { RdVal = *pdwVal; - 80104e0: 6a3b ldr r3, [r7, #32] - 80104e2: 881b ldrh r3, [r3, #0] - 80104e4: b29b uxth r3, r3 - 80104e6: 613b str r3, [r7, #16] + 8010edc: 6a3b ldr r3, [r7, #32] + 8010ede: 881b ldrh r3, [r3, #0] + 8010ee0: b29b uxth r3, r3 + 8010ee2: 613b str r3, [r7, #16] *pBuf = (uint8_t)((RdVal >> 0) & 0xFFU); - 80104e8: 693b ldr r3, [r7, #16] - 80104ea: b2da uxtb r2, r3 - 80104ec: 69fb ldr r3, [r7, #28] - 80104ee: 701a strb r2, [r3, #0] + 8010ee4: 693b ldr r3, [r7, #16] + 8010ee6: b2da uxtb r2, r3 + 8010ee8: 69fb ldr r3, [r7, #28] + 8010eea: 701a strb r2, [r3, #0] } } - 80104f0: bf00 nop - 80104f2: 372c adds r7, #44 @ 0x2c - 80104f4: 46bd mov sp, r7 - 80104f6: f85d 7b04 ldr.w r7, [sp], #4 - 80104fa: 4770 bx lr + 8010eec: bf00 nop + 8010eee: 372c adds r7, #44 @ 0x2c + 8010ef0: 46bd mov sp, r7 + 8010ef2: f85d 7b04 ldr.w r7, [sp], #4 + 8010ef6: 4770 bx lr -080104fc : +08010ef8 : * @param pdev: device instance * @param cfgidx: Configuration index * @retval status */ static uint8_t USBD_CDC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { - 80104fc: b580 push {r7, lr} - 80104fe: b084 sub sp, #16 - 8010500: af00 add r7, sp, #0 - 8010502: 6078 str r0, [r7, #4] - 8010504: 460b mov r3, r1 - 8010506: 70fb strb r3, [r7, #3] + 8010ef8: b580 push {r7, lr} + 8010efa: b084 sub sp, #16 + 8010efc: af00 add r7, sp, #0 + 8010efe: 6078 str r0, [r7, #4] + 8010f00: 460b mov r3, r1 + 8010f02: 70fb strb r3, [r7, #3] UNUSED(cfgidx); USBD_CDC_HandleTypeDef *hcdc; hcdc = (USBD_CDC_HandleTypeDef *)USBD_malloc(sizeof(USBD_CDC_HandleTypeDef)); - 8010508: f44f 7007 mov.w r0, #540 @ 0x21c - 801050c: f008 f9e2 bl 80188d4 - 8010510: 60f8 str r0, [r7, #12] + 8010f04: f44f 7007 mov.w r0, #540 @ 0x21c + 8010f08: f008 f9cc bl 80192a4 + 8010f0c: 60f8 str r0, [r7, #12] if (hcdc == NULL) - 8010512: 68fb ldr r3, [r7, #12] - 8010514: 2b00 cmp r3, #0 - 8010516: d109 bne.n 801052c + 8010f0e: 68fb ldr r3, [r7, #12] + 8010f10: 2b00 cmp r3, #0 + 8010f12: d109 bne.n 8010f28 { pdev->pClassDataCmsit[pdev->classId] = NULL; - 8010518: 687b ldr r3, [r7, #4] - 801051a: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 801051e: 687b ldr r3, [r7, #4] - 8010520: 32b0 adds r2, #176 @ 0xb0 - 8010522: 2100 movs r1, #0 - 8010524: f843 1022 str.w r1, [r3, r2, lsl #2] + 8010f14: 687b ldr r3, [r7, #4] + 8010f16: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 8010f1a: 687b ldr r3, [r7, #4] + 8010f1c: 32b0 adds r2, #176 @ 0xb0 + 8010f1e: 2100 movs r1, #0 + 8010f20: f843 1022 str.w r1, [r3, r2, lsl #2] return (uint8_t)USBD_EMEM; - 8010528: 2302 movs r3, #2 - 801052a: e0d4 b.n 80106d6 + 8010f24: 2302 movs r3, #2 + 8010f26: e0d4 b.n 80110d2 } (void)USBD_memset(hcdc, 0, sizeof(USBD_CDC_HandleTypeDef)); - 801052c: f44f 7207 mov.w r2, #540 @ 0x21c - 8010530: 2100 movs r1, #0 - 8010532: 68f8 ldr r0, [r7, #12] - 8010534: f009 faee bl 8019b14 + 8010f28: f44f 7207 mov.w r2, #540 @ 0x21c + 8010f2c: 2100 movs r1, #0 + 8010f2e: 68f8 ldr r0, [r7, #12] + 8010f30: f009 f9e8 bl 801a304 pdev->pClassDataCmsit[pdev->classId] = (void *)hcdc; - 8010538: 687b ldr r3, [r7, #4] - 801053a: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 801053e: 687b ldr r3, [r7, #4] - 8010540: 32b0 adds r2, #176 @ 0xb0 - 8010542: 68f9 ldr r1, [r7, #12] - 8010544: f843 1022 str.w r1, [r3, r2, lsl #2] + 8010f34: 687b ldr r3, [r7, #4] + 8010f36: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 8010f3a: 687b ldr r3, [r7, #4] + 8010f3c: 32b0 adds r2, #176 @ 0xb0 + 8010f3e: 68f9 ldr r1, [r7, #12] + 8010f40: f843 1022 str.w r1, [r3, r2, lsl #2] pdev->pClassData = pdev->pClassDataCmsit[pdev->classId]; - 8010548: 687b ldr r3, [r7, #4] - 801054a: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 801054e: 687b ldr r3, [r7, #4] - 8010550: 32b0 adds r2, #176 @ 0xb0 - 8010552: f853 2022 ldr.w r2, [r3, r2, lsl #2] - 8010556: 687b ldr r3, [r7, #4] - 8010558: f8c3 22bc str.w r2, [r3, #700] @ 0x2bc + 8010f44: 687b ldr r3, [r7, #4] + 8010f46: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 8010f4a: 687b ldr r3, [r7, #4] + 8010f4c: 32b0 adds r2, #176 @ 0xb0 + 8010f4e: f853 2022 ldr.w r2, [r3, r2, lsl #2] + 8010f52: 687b ldr r3, [r7, #4] + 8010f54: f8c3 22bc str.w r2, [r3, #700] @ 0x2bc CDCInEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); CDCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); CDCCmdEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_INTR, (uint8_t)pdev->classId); #endif /* USE_USBD_COMPOSITE */ if (pdev->dev_speed == USBD_SPEED_HIGH) - 801055c: 687b ldr r3, [r7, #4] - 801055e: 7c1b ldrb r3, [r3, #16] - 8010560: 2b00 cmp r3, #0 - 8010562: d138 bne.n 80105d6 + 8010f58: 687b ldr r3, [r7, #4] + 8010f5a: 7c1b ldrb r3, [r3, #16] + 8010f5c: 2b00 cmp r3, #0 + 8010f5e: d138 bne.n 8010fd2 { /* Open EP IN */ (void)USBD_LL_OpenEP(pdev, CDCInEpAdd, USBD_EP_TYPE_BULK, - 8010564: 4b5e ldr r3, [pc, #376] @ (80106e0 ) - 8010566: 7819 ldrb r1, [r3, #0] - 8010568: f44f 7300 mov.w r3, #512 @ 0x200 - 801056c: 2202 movs r2, #2 - 801056e: 6878 ldr r0, [r7, #4] - 8010570: f008 f857 bl 8018622 + 8010f60: 4b5e ldr r3, [pc, #376] @ (80110dc ) + 8010f62: 7819 ldrb r1, [r3, #0] + 8010f64: f44f 7300 mov.w r3, #512 @ 0x200 + 8010f68: 2202 movs r2, #2 + 8010f6a: 6878 ldr r0, [r7, #4] + 8010f6c: f008 f841 bl 8018ff2 CDC_DATA_HS_IN_PACKET_SIZE); pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 1U; - 8010574: 4b5a ldr r3, [pc, #360] @ (80106e0 ) - 8010576: 781b ldrb r3, [r3, #0] - 8010578: f003 020f and.w r2, r3, #15 - 801057c: 6879 ldr r1, [r7, #4] - 801057e: 4613 mov r3, r2 - 8010580: 009b lsls r3, r3, #2 - 8010582: 4413 add r3, r2 - 8010584: 009b lsls r3, r3, #2 - 8010586: 440b add r3, r1 - 8010588: 3323 adds r3, #35 @ 0x23 - 801058a: 2201 movs r2, #1 - 801058c: 701a strb r2, [r3, #0] + 8010f70: 4b5a ldr r3, [pc, #360] @ (80110dc ) + 8010f72: 781b ldrb r3, [r3, #0] + 8010f74: f003 020f and.w r2, r3, #15 + 8010f78: 6879 ldr r1, [r7, #4] + 8010f7a: 4613 mov r3, r2 + 8010f7c: 009b lsls r3, r3, #2 + 8010f7e: 4413 add r3, r2 + 8010f80: 009b lsls r3, r3, #2 + 8010f82: 440b add r3, r1 + 8010f84: 3323 adds r3, #35 @ 0x23 + 8010f86: 2201 movs r2, #1 + 8010f88: 701a strb r2, [r3, #0] /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, CDCOutEpAdd, USBD_EP_TYPE_BULK, - 801058e: 4b55 ldr r3, [pc, #340] @ (80106e4 ) - 8010590: 7819 ldrb r1, [r3, #0] - 8010592: f44f 7300 mov.w r3, #512 @ 0x200 - 8010596: 2202 movs r2, #2 - 8010598: 6878 ldr r0, [r7, #4] - 801059a: f008 f842 bl 8018622 + 8010f8a: 4b55 ldr r3, [pc, #340] @ (80110e0 ) + 8010f8c: 7819 ldrb r1, [r3, #0] + 8010f8e: f44f 7300 mov.w r3, #512 @ 0x200 + 8010f92: 2202 movs r2, #2 + 8010f94: 6878 ldr r0, [r7, #4] + 8010f96: f008 f82c bl 8018ff2 CDC_DATA_HS_OUT_PACKET_SIZE); pdev->ep_out[CDCOutEpAdd & 0xFU].is_used = 1U; - 801059e: 4b51 ldr r3, [pc, #324] @ (80106e4 ) - 80105a0: 781b ldrb r3, [r3, #0] - 80105a2: f003 020f and.w r2, r3, #15 - 80105a6: 6879 ldr r1, [r7, #4] - 80105a8: 4613 mov r3, r2 - 80105aa: 009b lsls r3, r3, #2 - 80105ac: 4413 add r3, r2 - 80105ae: 009b lsls r3, r3, #2 - 80105b0: 440b add r3, r1 - 80105b2: f203 1363 addw r3, r3, #355 @ 0x163 - 80105b6: 2201 movs r2, #1 - 80105b8: 701a strb r2, [r3, #0] + 8010f9a: 4b51 ldr r3, [pc, #324] @ (80110e0 ) + 8010f9c: 781b ldrb r3, [r3, #0] + 8010f9e: f003 020f and.w r2, r3, #15 + 8010fa2: 6879 ldr r1, [r7, #4] + 8010fa4: 4613 mov r3, r2 + 8010fa6: 009b lsls r3, r3, #2 + 8010fa8: 4413 add r3, r2 + 8010faa: 009b lsls r3, r3, #2 + 8010fac: 440b add r3, r1 + 8010fae: f203 1363 addw r3, r3, #355 @ 0x163 + 8010fb2: 2201 movs r2, #1 + 8010fb4: 701a strb r2, [r3, #0] /* Set bInterval for CDC CMD Endpoint */ pdev->ep_in[CDCCmdEpAdd & 0xFU].bInterval = CDC_HS_BINTERVAL; - 80105ba: 4b4b ldr r3, [pc, #300] @ (80106e8 ) - 80105bc: 781b ldrb r3, [r3, #0] - 80105be: f003 020f and.w r2, r3, #15 - 80105c2: 6879 ldr r1, [r7, #4] - 80105c4: 4613 mov r3, r2 - 80105c6: 009b lsls r3, r3, #2 - 80105c8: 4413 add r3, r2 - 80105ca: 009b lsls r3, r3, #2 - 80105cc: 440b add r3, r1 - 80105ce: 331c adds r3, #28 - 80105d0: 2210 movs r2, #16 - 80105d2: 601a str r2, [r3, #0] - 80105d4: e035 b.n 8010642 + 8010fb6: 4b4b ldr r3, [pc, #300] @ (80110e4 ) + 8010fb8: 781b ldrb r3, [r3, #0] + 8010fba: f003 020f and.w r2, r3, #15 + 8010fbe: 6879 ldr r1, [r7, #4] + 8010fc0: 4613 mov r3, r2 + 8010fc2: 009b lsls r3, r3, #2 + 8010fc4: 4413 add r3, r2 + 8010fc6: 009b lsls r3, r3, #2 + 8010fc8: 440b add r3, r1 + 8010fca: 331c adds r3, #28 + 8010fcc: 2210 movs r2, #16 + 8010fce: 601a str r2, [r3, #0] + 8010fd0: e035 b.n 801103e } else { /* Open EP IN */ (void)USBD_LL_OpenEP(pdev, CDCInEpAdd, USBD_EP_TYPE_BULK, - 80105d6: 4b42 ldr r3, [pc, #264] @ (80106e0 ) - 80105d8: 7819 ldrb r1, [r3, #0] - 80105da: 2340 movs r3, #64 @ 0x40 - 80105dc: 2202 movs r2, #2 - 80105de: 6878 ldr r0, [r7, #4] - 80105e0: f008 f81f bl 8018622 + 8010fd2: 4b42 ldr r3, [pc, #264] @ (80110dc ) + 8010fd4: 7819 ldrb r1, [r3, #0] + 8010fd6: 2340 movs r3, #64 @ 0x40 + 8010fd8: 2202 movs r2, #2 + 8010fda: 6878 ldr r0, [r7, #4] + 8010fdc: f008 f809 bl 8018ff2 CDC_DATA_FS_IN_PACKET_SIZE); pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 1U; - 80105e4: 4b3e ldr r3, [pc, #248] @ (80106e0 ) - 80105e6: 781b ldrb r3, [r3, #0] - 80105e8: f003 020f and.w r2, r3, #15 - 80105ec: 6879 ldr r1, [r7, #4] - 80105ee: 4613 mov r3, r2 - 80105f0: 009b lsls r3, r3, #2 - 80105f2: 4413 add r3, r2 - 80105f4: 009b lsls r3, r3, #2 - 80105f6: 440b add r3, r1 - 80105f8: 3323 adds r3, #35 @ 0x23 - 80105fa: 2201 movs r2, #1 - 80105fc: 701a strb r2, [r3, #0] + 8010fe0: 4b3e ldr r3, [pc, #248] @ (80110dc ) + 8010fe2: 781b ldrb r3, [r3, #0] + 8010fe4: f003 020f and.w r2, r3, #15 + 8010fe8: 6879 ldr r1, [r7, #4] + 8010fea: 4613 mov r3, r2 + 8010fec: 009b lsls r3, r3, #2 + 8010fee: 4413 add r3, r2 + 8010ff0: 009b lsls r3, r3, #2 + 8010ff2: 440b add r3, r1 + 8010ff4: 3323 adds r3, #35 @ 0x23 + 8010ff6: 2201 movs r2, #1 + 8010ff8: 701a strb r2, [r3, #0] /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, CDCOutEpAdd, USBD_EP_TYPE_BULK, - 80105fe: 4b39 ldr r3, [pc, #228] @ (80106e4 ) - 8010600: 7819 ldrb r1, [r3, #0] - 8010602: 2340 movs r3, #64 @ 0x40 - 8010604: 2202 movs r2, #2 - 8010606: 6878 ldr r0, [r7, #4] - 8010608: f008 f80b bl 8018622 + 8010ffa: 4b39 ldr r3, [pc, #228] @ (80110e0 ) + 8010ffc: 7819 ldrb r1, [r3, #0] + 8010ffe: 2340 movs r3, #64 @ 0x40 + 8011000: 2202 movs r2, #2 + 8011002: 6878 ldr r0, [r7, #4] + 8011004: f007 fff5 bl 8018ff2 CDC_DATA_FS_OUT_PACKET_SIZE); pdev->ep_out[CDCOutEpAdd & 0xFU].is_used = 1U; - 801060c: 4b35 ldr r3, [pc, #212] @ (80106e4 ) - 801060e: 781b ldrb r3, [r3, #0] - 8010610: f003 020f and.w r2, r3, #15 - 8010614: 6879 ldr r1, [r7, #4] - 8010616: 4613 mov r3, r2 - 8010618: 009b lsls r3, r3, #2 - 801061a: 4413 add r3, r2 - 801061c: 009b lsls r3, r3, #2 - 801061e: 440b add r3, r1 - 8010620: f203 1363 addw r3, r3, #355 @ 0x163 - 8010624: 2201 movs r2, #1 - 8010626: 701a strb r2, [r3, #0] + 8011008: 4b35 ldr r3, [pc, #212] @ (80110e0 ) + 801100a: 781b ldrb r3, [r3, #0] + 801100c: f003 020f and.w r2, r3, #15 + 8011010: 6879 ldr r1, [r7, #4] + 8011012: 4613 mov r3, r2 + 8011014: 009b lsls r3, r3, #2 + 8011016: 4413 add r3, r2 + 8011018: 009b lsls r3, r3, #2 + 801101a: 440b add r3, r1 + 801101c: f203 1363 addw r3, r3, #355 @ 0x163 + 8011020: 2201 movs r2, #1 + 8011022: 701a strb r2, [r3, #0] /* Set bInterval for CMD Endpoint */ pdev->ep_in[CDCCmdEpAdd & 0xFU].bInterval = CDC_FS_BINTERVAL; - 8010628: 4b2f ldr r3, [pc, #188] @ (80106e8 ) - 801062a: 781b ldrb r3, [r3, #0] - 801062c: f003 020f and.w r2, r3, #15 - 8010630: 6879 ldr r1, [r7, #4] - 8010632: 4613 mov r3, r2 - 8010634: 009b lsls r3, r3, #2 - 8010636: 4413 add r3, r2 - 8010638: 009b lsls r3, r3, #2 - 801063a: 440b add r3, r1 - 801063c: 331c adds r3, #28 - 801063e: 2210 movs r2, #16 - 8010640: 601a str r2, [r3, #0] + 8011024: 4b2f ldr r3, [pc, #188] @ (80110e4 ) + 8011026: 781b ldrb r3, [r3, #0] + 8011028: f003 020f and.w r2, r3, #15 + 801102c: 6879 ldr r1, [r7, #4] + 801102e: 4613 mov r3, r2 + 8011030: 009b lsls r3, r3, #2 + 8011032: 4413 add r3, r2 + 8011034: 009b lsls r3, r3, #2 + 8011036: 440b add r3, r1 + 8011038: 331c adds r3, #28 + 801103a: 2210 movs r2, #16 + 801103c: 601a str r2, [r3, #0] } /* Open Command IN EP */ (void)USBD_LL_OpenEP(pdev, CDCCmdEpAdd, USBD_EP_TYPE_INTR, CDC_CMD_PACKET_SIZE); - 8010642: 4b29 ldr r3, [pc, #164] @ (80106e8 ) - 8010644: 7819 ldrb r1, [r3, #0] - 8010646: 2308 movs r3, #8 - 8010648: 2203 movs r2, #3 - 801064a: 6878 ldr r0, [r7, #4] - 801064c: f007 ffe9 bl 8018622 + 801103e: 4b29 ldr r3, [pc, #164] @ (80110e4 ) + 8011040: 7819 ldrb r1, [r3, #0] + 8011042: 2308 movs r3, #8 + 8011044: 2203 movs r2, #3 + 8011046: 6878 ldr r0, [r7, #4] + 8011048: f007 ffd3 bl 8018ff2 pdev->ep_in[CDCCmdEpAdd & 0xFU].is_used = 1U; - 8010650: 4b25 ldr r3, [pc, #148] @ (80106e8 ) - 8010652: 781b ldrb r3, [r3, #0] - 8010654: f003 020f and.w r2, r3, #15 - 8010658: 6879 ldr r1, [r7, #4] - 801065a: 4613 mov r3, r2 - 801065c: 009b lsls r3, r3, #2 - 801065e: 4413 add r3, r2 - 8010660: 009b lsls r3, r3, #2 - 8010662: 440b add r3, r1 - 8010664: 3323 adds r3, #35 @ 0x23 - 8010666: 2201 movs r2, #1 - 8010668: 701a strb r2, [r3, #0] + 801104c: 4b25 ldr r3, [pc, #148] @ (80110e4 ) + 801104e: 781b ldrb r3, [r3, #0] + 8011050: f003 020f and.w r2, r3, #15 + 8011054: 6879 ldr r1, [r7, #4] + 8011056: 4613 mov r3, r2 + 8011058: 009b lsls r3, r3, #2 + 801105a: 4413 add r3, r2 + 801105c: 009b lsls r3, r3, #2 + 801105e: 440b add r3, r1 + 8011060: 3323 adds r3, #35 @ 0x23 + 8011062: 2201 movs r2, #1 + 8011064: 701a strb r2, [r3, #0] hcdc->RxBuffer = NULL; - 801066a: 68fb ldr r3, [r7, #12] - 801066c: 2200 movs r2, #0 - 801066e: f8c3 2204 str.w r2, [r3, #516] @ 0x204 + 8011066: 68fb ldr r3, [r7, #12] + 8011068: 2200 movs r2, #0 + 801106a: f8c3 2204 str.w r2, [r3, #516] @ 0x204 /* Init physical Interface components */ ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Init(); - 8010672: 687b ldr r3, [r7, #4] - 8010674: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 8010678: 687a ldr r2, [r7, #4] - 801067a: 33b0 adds r3, #176 @ 0xb0 - 801067c: 009b lsls r3, r3, #2 - 801067e: 4413 add r3, r2 - 8010680: 685b ldr r3, [r3, #4] - 8010682: 681b ldr r3, [r3, #0] - 8010684: 4798 blx r3 + 801106e: 687b ldr r3, [r7, #4] + 8011070: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 8011074: 687a ldr r2, [r7, #4] + 8011076: 33b0 adds r3, #176 @ 0xb0 + 8011078: 009b lsls r3, r3, #2 + 801107a: 4413 add r3, r2 + 801107c: 685b ldr r3, [r3, #4] + 801107e: 681b ldr r3, [r3, #0] + 8011080: 4798 blx r3 /* Init Xfer states */ hcdc->TxState = 0U; - 8010686: 68fb ldr r3, [r7, #12] - 8010688: 2200 movs r2, #0 - 801068a: f8c3 2214 str.w r2, [r3, #532] @ 0x214 + 8011082: 68fb ldr r3, [r7, #12] + 8011084: 2200 movs r2, #0 + 8011086: f8c3 2214 str.w r2, [r3, #532] @ 0x214 hcdc->RxState = 0U; - 801068e: 68fb ldr r3, [r7, #12] - 8010690: 2200 movs r2, #0 - 8010692: f8c3 2218 str.w r2, [r3, #536] @ 0x218 + 801108a: 68fb ldr r3, [r7, #12] + 801108c: 2200 movs r2, #0 + 801108e: f8c3 2218 str.w r2, [r3, #536] @ 0x218 if (hcdc->RxBuffer == NULL) - 8010696: 68fb ldr r3, [r7, #12] - 8010698: f8d3 3204 ldr.w r3, [r3, #516] @ 0x204 - 801069c: 2b00 cmp r3, #0 - 801069e: d101 bne.n 80106a4 + 8011092: 68fb ldr r3, [r7, #12] + 8011094: f8d3 3204 ldr.w r3, [r3, #516] @ 0x204 + 8011098: 2b00 cmp r3, #0 + 801109a: d101 bne.n 80110a0 { return (uint8_t)USBD_EMEM; - 80106a0: 2302 movs r3, #2 - 80106a2: e018 b.n 80106d6 + 801109c: 2302 movs r3, #2 + 801109e: e018 b.n 80110d2 } if (pdev->dev_speed == USBD_SPEED_HIGH) - 80106a4: 687b ldr r3, [r7, #4] - 80106a6: 7c1b ldrb r3, [r3, #16] - 80106a8: 2b00 cmp r3, #0 - 80106aa: d10a bne.n 80106c2 + 80110a0: 687b ldr r3, [r7, #4] + 80110a2: 7c1b ldrb r3, [r3, #16] + 80110a4: 2b00 cmp r3, #0 + 80110a6: d10a bne.n 80110be { /* Prepare Out endpoint to receive next packet */ (void)USBD_LL_PrepareReceive(pdev, CDCOutEpAdd, hcdc->RxBuffer, - 80106ac: 4b0d ldr r3, [pc, #52] @ (80106e4 ) - 80106ae: 7819 ldrb r1, [r3, #0] - 80106b0: 68fb ldr r3, [r7, #12] - 80106b2: f8d3 2204 ldr.w r2, [r3, #516] @ 0x204 - 80106b6: f44f 7300 mov.w r3, #512 @ 0x200 - 80106ba: 6878 ldr r0, [r7, #4] - 80106bc: f008 f8a0 bl 8018800 - 80106c0: e008 b.n 80106d4 + 80110a8: 4b0d ldr r3, [pc, #52] @ (80110e0 ) + 80110aa: 7819 ldrb r1, [r3, #0] + 80110ac: 68fb ldr r3, [r7, #12] + 80110ae: f8d3 2204 ldr.w r2, [r3, #516] @ 0x204 + 80110b2: f44f 7300 mov.w r3, #512 @ 0x200 + 80110b6: 6878 ldr r0, [r7, #4] + 80110b8: f008 f88a bl 80191d0 + 80110bc: e008 b.n 80110d0 CDC_DATA_HS_OUT_PACKET_SIZE); } else { /* Prepare Out endpoint to receive next packet */ (void)USBD_LL_PrepareReceive(pdev, CDCOutEpAdd, hcdc->RxBuffer, - 80106c2: 4b08 ldr r3, [pc, #32] @ (80106e4 ) - 80106c4: 7819 ldrb r1, [r3, #0] - 80106c6: 68fb ldr r3, [r7, #12] - 80106c8: f8d3 2204 ldr.w r2, [r3, #516] @ 0x204 - 80106cc: 2340 movs r3, #64 @ 0x40 - 80106ce: 6878 ldr r0, [r7, #4] - 80106d0: f008 f896 bl 8018800 + 80110be: 4b08 ldr r3, [pc, #32] @ (80110e0 ) + 80110c0: 7819 ldrb r1, [r3, #0] + 80110c2: 68fb ldr r3, [r7, #12] + 80110c4: f8d3 2204 ldr.w r2, [r3, #516] @ 0x204 + 80110c8: 2340 movs r3, #64 @ 0x40 + 80110ca: 6878 ldr r0, [r7, #4] + 80110cc: f008 f880 bl 80191d0 CDC_DATA_FS_OUT_PACKET_SIZE); } return (uint8_t)USBD_OK; - 80106d4: 2300 movs r3, #0 + 80110d0: 2300 movs r3, #0 } - 80106d6: 4618 mov r0, r3 - 80106d8: 3710 adds r7, #16 - 80106da: 46bd mov sp, r7 - 80106dc: bd80 pop {r7, pc} - 80106de: bf00 nop - 80106e0: 2000009f .word 0x2000009f - 80106e4: 200000a0 .word 0x200000a0 - 80106e8: 200000a1 .word 0x200000a1 + 80110d2: 4618 mov r0, r3 + 80110d4: 3710 adds r7, #16 + 80110d6: 46bd mov sp, r7 + 80110d8: bd80 pop {r7, pc} + 80110da: bf00 nop + 80110dc: 2000009f .word 0x2000009f + 80110e0: 200000a0 .word 0x200000a0 + 80110e4: 200000a1 .word 0x200000a1 -080106ec : +080110e8 : * @param pdev: device instance * @param cfgidx: Configuration index * @retval status */ static uint8_t USBD_CDC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { - 80106ec: b580 push {r7, lr} - 80106ee: b082 sub sp, #8 - 80106f0: af00 add r7, sp, #0 - 80106f2: 6078 str r0, [r7, #4] - 80106f4: 460b mov r3, r1 - 80106f6: 70fb strb r3, [r7, #3] + 80110e8: b580 push {r7, lr} + 80110ea: b082 sub sp, #8 + 80110ec: af00 add r7, sp, #0 + 80110ee: 6078 str r0, [r7, #4] + 80110f0: 460b mov r3, r1 + 80110f2: 70fb strb r3, [r7, #3] CDCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); CDCCmdEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_INTR, (uint8_t)pdev->classId); #endif /* USE_USBD_COMPOSITE */ /* Close EP IN */ (void)USBD_LL_CloseEP(pdev, CDCInEpAdd); - 80106f8: 4b3a ldr r3, [pc, #232] @ (80107e4 ) - 80106fa: 781b ldrb r3, [r3, #0] - 80106fc: 4619 mov r1, r3 - 80106fe: 6878 ldr r0, [r7, #4] - 8010700: f007 ffb5 bl 801866e + 80110f4: 4b3a ldr r3, [pc, #232] @ (80111e0 ) + 80110f6: 781b ldrb r3, [r3, #0] + 80110f8: 4619 mov r1, r3 + 80110fa: 6878 ldr r0, [r7, #4] + 80110fc: f007 ff9f bl 801903e pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 0U; - 8010704: 4b37 ldr r3, [pc, #220] @ (80107e4 ) - 8010706: 781b ldrb r3, [r3, #0] - 8010708: f003 020f and.w r2, r3, #15 - 801070c: 6879 ldr r1, [r7, #4] - 801070e: 4613 mov r3, r2 - 8010710: 009b lsls r3, r3, #2 - 8010712: 4413 add r3, r2 - 8010714: 009b lsls r3, r3, #2 - 8010716: 440b add r3, r1 - 8010718: 3323 adds r3, #35 @ 0x23 - 801071a: 2200 movs r2, #0 - 801071c: 701a strb r2, [r3, #0] + 8011100: 4b37 ldr r3, [pc, #220] @ (80111e0 ) + 8011102: 781b ldrb r3, [r3, #0] + 8011104: f003 020f and.w r2, r3, #15 + 8011108: 6879 ldr r1, [r7, #4] + 801110a: 4613 mov r3, r2 + 801110c: 009b lsls r3, r3, #2 + 801110e: 4413 add r3, r2 + 8011110: 009b lsls r3, r3, #2 + 8011112: 440b add r3, r1 + 8011114: 3323 adds r3, #35 @ 0x23 + 8011116: 2200 movs r2, #0 + 8011118: 701a strb r2, [r3, #0] /* Close EP OUT */ (void)USBD_LL_CloseEP(pdev, CDCOutEpAdd); - 801071e: 4b32 ldr r3, [pc, #200] @ (80107e8 ) - 8010720: 781b ldrb r3, [r3, #0] - 8010722: 4619 mov r1, r3 - 8010724: 6878 ldr r0, [r7, #4] - 8010726: f007 ffa2 bl 801866e + 801111a: 4b32 ldr r3, [pc, #200] @ (80111e4 ) + 801111c: 781b ldrb r3, [r3, #0] + 801111e: 4619 mov r1, r3 + 8011120: 6878 ldr r0, [r7, #4] + 8011122: f007 ff8c bl 801903e pdev->ep_out[CDCOutEpAdd & 0xFU].is_used = 0U; - 801072a: 4b2f ldr r3, [pc, #188] @ (80107e8 ) - 801072c: 781b ldrb r3, [r3, #0] - 801072e: f003 020f and.w r2, r3, #15 - 8010732: 6879 ldr r1, [r7, #4] - 8010734: 4613 mov r3, r2 - 8010736: 009b lsls r3, r3, #2 - 8010738: 4413 add r3, r2 - 801073a: 009b lsls r3, r3, #2 - 801073c: 440b add r3, r1 - 801073e: f203 1363 addw r3, r3, #355 @ 0x163 - 8010742: 2200 movs r2, #0 - 8010744: 701a strb r2, [r3, #0] + 8011126: 4b2f ldr r3, [pc, #188] @ (80111e4 ) + 8011128: 781b ldrb r3, [r3, #0] + 801112a: f003 020f and.w r2, r3, #15 + 801112e: 6879 ldr r1, [r7, #4] + 8011130: 4613 mov r3, r2 + 8011132: 009b lsls r3, r3, #2 + 8011134: 4413 add r3, r2 + 8011136: 009b lsls r3, r3, #2 + 8011138: 440b add r3, r1 + 801113a: f203 1363 addw r3, r3, #355 @ 0x163 + 801113e: 2200 movs r2, #0 + 8011140: 701a strb r2, [r3, #0] /* Close Command IN EP */ (void)USBD_LL_CloseEP(pdev, CDCCmdEpAdd); - 8010746: 4b29 ldr r3, [pc, #164] @ (80107ec ) - 8010748: 781b ldrb r3, [r3, #0] - 801074a: 4619 mov r1, r3 - 801074c: 6878 ldr r0, [r7, #4] - 801074e: f007 ff8e bl 801866e + 8011142: 4b29 ldr r3, [pc, #164] @ (80111e8 ) + 8011144: 781b ldrb r3, [r3, #0] + 8011146: 4619 mov r1, r3 + 8011148: 6878 ldr r0, [r7, #4] + 801114a: f007 ff78 bl 801903e pdev->ep_in[CDCCmdEpAdd & 0xFU].is_used = 0U; - 8010752: 4b26 ldr r3, [pc, #152] @ (80107ec ) - 8010754: 781b ldrb r3, [r3, #0] - 8010756: f003 020f and.w r2, r3, #15 - 801075a: 6879 ldr r1, [r7, #4] - 801075c: 4613 mov r3, r2 - 801075e: 009b lsls r3, r3, #2 - 8010760: 4413 add r3, r2 - 8010762: 009b lsls r3, r3, #2 - 8010764: 440b add r3, r1 - 8010766: 3323 adds r3, #35 @ 0x23 - 8010768: 2200 movs r2, #0 - 801076a: 701a strb r2, [r3, #0] + 801114e: 4b26 ldr r3, [pc, #152] @ (80111e8 ) + 8011150: 781b ldrb r3, [r3, #0] + 8011152: f003 020f and.w r2, r3, #15 + 8011156: 6879 ldr r1, [r7, #4] + 8011158: 4613 mov r3, r2 + 801115a: 009b lsls r3, r3, #2 + 801115c: 4413 add r3, r2 + 801115e: 009b lsls r3, r3, #2 + 8011160: 440b add r3, r1 + 8011162: 3323 adds r3, #35 @ 0x23 + 8011164: 2200 movs r2, #0 + 8011166: 701a strb r2, [r3, #0] pdev->ep_in[CDCCmdEpAdd & 0xFU].bInterval = 0U; - 801076c: 4b1f ldr r3, [pc, #124] @ (80107ec ) - 801076e: 781b ldrb r3, [r3, #0] - 8010770: f003 020f and.w r2, r3, #15 - 8010774: 6879 ldr r1, [r7, #4] - 8010776: 4613 mov r3, r2 - 8010778: 009b lsls r3, r3, #2 - 801077a: 4413 add r3, r2 - 801077c: 009b lsls r3, r3, #2 - 801077e: 440b add r3, r1 - 8010780: 331c adds r3, #28 - 8010782: 2200 movs r2, #0 - 8010784: 601a str r2, [r3, #0] + 8011168: 4b1f ldr r3, [pc, #124] @ (80111e8 ) + 801116a: 781b ldrb r3, [r3, #0] + 801116c: f003 020f and.w r2, r3, #15 + 8011170: 6879 ldr r1, [r7, #4] + 8011172: 4613 mov r3, r2 + 8011174: 009b lsls r3, r3, #2 + 8011176: 4413 add r3, r2 + 8011178: 009b lsls r3, r3, #2 + 801117a: 440b add r3, r1 + 801117c: 331c adds r3, #28 + 801117e: 2200 movs r2, #0 + 8011180: 601a str r2, [r3, #0] /* DeInit physical Interface components */ if (pdev->pClassDataCmsit[pdev->classId] != NULL) - 8010786: 687b ldr r3, [r7, #4] - 8010788: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 801078c: 687b ldr r3, [r7, #4] - 801078e: 32b0 adds r2, #176 @ 0xb0 - 8010790: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010794: 2b00 cmp r3, #0 - 8010796: d01f beq.n 80107d8 + 8011182: 687b ldr r3, [r7, #4] + 8011184: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 8011188: 687b ldr r3, [r7, #4] + 801118a: 32b0 adds r2, #176 @ 0xb0 + 801118c: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011190: 2b00 cmp r3, #0 + 8011192: d01f beq.n 80111d4 { ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->DeInit(); - 8010798: 687b ldr r3, [r7, #4] - 801079a: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 801079e: 687a ldr r2, [r7, #4] - 80107a0: 33b0 adds r3, #176 @ 0xb0 - 80107a2: 009b lsls r3, r3, #2 - 80107a4: 4413 add r3, r2 - 80107a6: 685b ldr r3, [r3, #4] - 80107a8: 685b ldr r3, [r3, #4] - 80107aa: 4798 blx r3 + 8011194: 687b ldr r3, [r7, #4] + 8011196: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 801119a: 687a ldr r2, [r7, #4] + 801119c: 33b0 adds r3, #176 @ 0xb0 + 801119e: 009b lsls r3, r3, #2 + 80111a0: 4413 add r3, r2 + 80111a2: 685b ldr r3, [r3, #4] + 80111a4: 685b ldr r3, [r3, #4] + 80111a6: 4798 blx r3 (void)USBD_free(pdev->pClassDataCmsit[pdev->classId]); - 80107ac: 687b ldr r3, [r7, #4] - 80107ae: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 80107b2: 687b ldr r3, [r7, #4] - 80107b4: 32b0 adds r2, #176 @ 0xb0 - 80107b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 80107ba: 4618 mov r0, r3 - 80107bc: f008 f898 bl 80188f0 + 80111a8: 687b ldr r3, [r7, #4] + 80111aa: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 80111ae: 687b ldr r3, [r7, #4] + 80111b0: 32b0 adds r2, #176 @ 0xb0 + 80111b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80111b6: 4618 mov r0, r3 + 80111b8: f008 f882 bl 80192c0 pdev->pClassDataCmsit[pdev->classId] = NULL; - 80107c0: 687b ldr r3, [r7, #4] - 80107c2: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 80107c6: 687b ldr r3, [r7, #4] - 80107c8: 32b0 adds r2, #176 @ 0xb0 - 80107ca: 2100 movs r1, #0 - 80107cc: f843 1022 str.w r1, [r3, r2, lsl #2] + 80111bc: 687b ldr r3, [r7, #4] + 80111be: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 80111c2: 687b ldr r3, [r7, #4] + 80111c4: 32b0 adds r2, #176 @ 0xb0 + 80111c6: 2100 movs r1, #0 + 80111c8: f843 1022 str.w r1, [r3, r2, lsl #2] pdev->pClassData = NULL; - 80107d0: 687b ldr r3, [r7, #4] - 80107d2: 2200 movs r2, #0 - 80107d4: f8c3 22bc str.w r2, [r3, #700] @ 0x2bc + 80111cc: 687b ldr r3, [r7, #4] + 80111ce: 2200 movs r2, #0 + 80111d0: f8c3 22bc str.w r2, [r3, #700] @ 0x2bc } return (uint8_t)USBD_OK; - 80107d8: 2300 movs r3, #0 + 80111d4: 2300 movs r3, #0 } - 80107da: 4618 mov r0, r3 - 80107dc: 3708 adds r7, #8 - 80107de: 46bd mov sp, r7 - 80107e0: bd80 pop {r7, pc} - 80107e2: bf00 nop - 80107e4: 2000009f .word 0x2000009f - 80107e8: 200000a0 .word 0x200000a0 - 80107ec: 200000a1 .word 0x200000a1 + 80111d6: 4618 mov r0, r3 + 80111d8: 3708 adds r7, #8 + 80111da: 46bd mov sp, r7 + 80111dc: bd80 pop {r7, pc} + 80111de: bf00 nop + 80111e0: 2000009f .word 0x2000009f + 80111e4: 200000a0 .word 0x200000a0 + 80111e8: 200000a1 .word 0x200000a1 -080107f0 : +080111ec : * @param req: usb requests * @retval status */ static uint8_t USBD_CDC_Setup(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 80107f0: b580 push {r7, lr} - 80107f2: b086 sub sp, #24 - 80107f4: af00 add r7, sp, #0 - 80107f6: 6078 str r0, [r7, #4] - 80107f8: 6039 str r1, [r7, #0] + 80111ec: b580 push {r7, lr} + 80111ee: b086 sub sp, #24 + 80111f0: af00 add r7, sp, #0 + 80111f2: 6078 str r0, [r7, #4] + 80111f4: 6039 str r1, [r7, #0] USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; - 80107fa: 687b ldr r3, [r7, #4] - 80107fc: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010800: 687b ldr r3, [r7, #4] - 8010802: 32b0 adds r2, #176 @ 0xb0 - 8010804: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010808: 613b str r3, [r7, #16] + 80111f6: 687b ldr r3, [r7, #4] + 80111f8: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 80111fc: 687b ldr r3, [r7, #4] + 80111fe: 32b0 adds r2, #176 @ 0xb0 + 8011200: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011204: 613b str r3, [r7, #16] uint16_t len; uint8_t ifalt = 0U; - 801080a: 2300 movs r3, #0 - 801080c: 737b strb r3, [r7, #13] + 8011206: 2300 movs r3, #0 + 8011208: 737b strb r3, [r7, #13] uint16_t status_info = 0U; - 801080e: 2300 movs r3, #0 - 8010810: 817b strh r3, [r7, #10] + 801120a: 2300 movs r3, #0 + 801120c: 817b strh r3, [r7, #10] USBD_StatusTypeDef ret = USBD_OK; - 8010812: 2300 movs r3, #0 - 8010814: 75fb strb r3, [r7, #23] + 801120e: 2300 movs r3, #0 + 8011210: 75fb strb r3, [r7, #23] if (hcdc == NULL) - 8010816: 693b ldr r3, [r7, #16] - 8010818: 2b00 cmp r3, #0 - 801081a: d101 bne.n 8010820 + 8011212: 693b ldr r3, [r7, #16] + 8011214: 2b00 cmp r3, #0 + 8011216: d101 bne.n 801121c { return (uint8_t)USBD_FAIL; - 801081c: 2303 movs r3, #3 - 801081e: e0bf b.n 80109a0 + 8011218: 2303 movs r3, #3 + 801121a: e0bf b.n 801139c } switch (req->bmRequest & USB_REQ_TYPE_MASK) - 8010820: 683b ldr r3, [r7, #0] - 8010822: 781b ldrb r3, [r3, #0] - 8010824: f003 0360 and.w r3, r3, #96 @ 0x60 - 8010828: 2b00 cmp r3, #0 - 801082a: d050 beq.n 80108ce - 801082c: 2b20 cmp r3, #32 - 801082e: f040 80af bne.w 8010990 + 801121c: 683b ldr r3, [r7, #0] + 801121e: 781b ldrb r3, [r3, #0] + 8011220: f003 0360 and.w r3, r3, #96 @ 0x60 + 8011224: 2b00 cmp r3, #0 + 8011226: d050 beq.n 80112ca + 8011228: 2b20 cmp r3, #32 + 801122a: f040 80af bne.w 801138c { case USB_REQ_TYPE_CLASS: if (req->wLength != 0U) - 8010832: 683b ldr r3, [r7, #0] - 8010834: 88db ldrh r3, [r3, #6] - 8010836: 2b00 cmp r3, #0 - 8010838: d03a beq.n 80108b0 + 801122e: 683b ldr r3, [r7, #0] + 8011230: 88db ldrh r3, [r3, #6] + 8011232: 2b00 cmp r3, #0 + 8011234: d03a beq.n 80112ac { if ((req->bmRequest & 0x80U) != 0U) - 801083a: 683b ldr r3, [r7, #0] - 801083c: 781b ldrb r3, [r3, #0] - 801083e: b25b sxtb r3, r3 - 8010840: 2b00 cmp r3, #0 - 8010842: da1b bge.n 801087c + 8011236: 683b ldr r3, [r7, #0] + 8011238: 781b ldrb r3, [r3, #0] + 801123a: b25b sxtb r3, r3 + 801123c: 2b00 cmp r3, #0 + 801123e: da1b bge.n 8011278 { ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Control(req->bRequest, - 8010844: 687b ldr r3, [r7, #4] - 8010846: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 801084a: 687a ldr r2, [r7, #4] - 801084c: 33b0 adds r3, #176 @ 0xb0 - 801084e: 009b lsls r3, r3, #2 - 8010850: 4413 add r3, r2 - 8010852: 685b ldr r3, [r3, #4] - 8010854: 689b ldr r3, [r3, #8] - 8010856: 683a ldr r2, [r7, #0] - 8010858: 7850 ldrb r0, [r2, #1] + 8011240: 687b ldr r3, [r7, #4] + 8011242: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 8011246: 687a ldr r2, [r7, #4] + 8011248: 33b0 adds r3, #176 @ 0xb0 + 801124a: 009b lsls r3, r3, #2 + 801124c: 4413 add r3, r2 + 801124e: 685b ldr r3, [r3, #4] + 8011250: 689b ldr r3, [r3, #8] + 8011252: 683a ldr r2, [r7, #0] + 8011254: 7850 ldrb r0, [r2, #1] (uint8_t *)hcdc->data, - 801085a: 6939 ldr r1, [r7, #16] + 8011256: 6939 ldr r1, [r7, #16] ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Control(req->bRequest, - 801085c: 683a ldr r2, [r7, #0] - 801085e: 88d2 ldrh r2, [r2, #6] - 8010860: 4798 blx r3 + 8011258: 683a ldr r2, [r7, #0] + 801125a: 88d2 ldrh r2, [r2, #6] + 801125c: 4798 blx r3 req->wLength); len = MIN(CDC_REQ_MAX_DATA_SIZE, req->wLength); - 8010862: 683b ldr r3, [r7, #0] - 8010864: 88db ldrh r3, [r3, #6] - 8010866: 2b07 cmp r3, #7 - 8010868: bf28 it cs - 801086a: 2307 movcs r3, #7 - 801086c: 81fb strh r3, [r7, #14] + 801125e: 683b ldr r3, [r7, #0] + 8011260: 88db ldrh r3, [r3, #6] + 8011262: 2b07 cmp r3, #7 + 8011264: bf28 it cs + 8011266: 2307 movcs r3, #7 + 8011268: 81fb strh r3, [r7, #14] (void)USBD_CtlSendData(pdev, (uint8_t *)hcdc->data, len); - 801086e: 693b ldr r3, [r7, #16] - 8010870: 89fa ldrh r2, [r7, #14] - 8010872: 4619 mov r1, r3 - 8010874: 6878 ldr r0, [r7, #4] - 8010876: f001 fd41 bl 80122fc + 801126a: 693b ldr r3, [r7, #16] + 801126c: 89fa ldrh r2, [r7, #14] + 801126e: 4619 mov r1, r3 + 8011270: 6878 ldr r0, [r7, #4] + 8011272: f001 fd41 bl 8012cf8 else { ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Control(req->bRequest, (uint8_t *)req, 0U); } break; - 801087a: e090 b.n 801099e + 8011276: e090 b.n 801139a hcdc->CmdOpCode = req->bRequest; - 801087c: 683b ldr r3, [r7, #0] - 801087e: 785a ldrb r2, [r3, #1] - 8010880: 693b ldr r3, [r7, #16] - 8010882: f883 2200 strb.w r2, [r3, #512] @ 0x200 + 8011278: 683b ldr r3, [r7, #0] + 801127a: 785a ldrb r2, [r3, #1] + 801127c: 693b ldr r3, [r7, #16] + 801127e: f883 2200 strb.w r2, [r3, #512] @ 0x200 hcdc->CmdLength = (uint8_t)MIN(req->wLength, USB_MAX_EP0_SIZE); - 8010886: 683b ldr r3, [r7, #0] - 8010888: 88db ldrh r3, [r3, #6] - 801088a: 2b3f cmp r3, #63 @ 0x3f - 801088c: d803 bhi.n 8010896 - 801088e: 683b ldr r3, [r7, #0] - 8010890: 88db ldrh r3, [r3, #6] - 8010892: b2da uxtb r2, r3 - 8010894: e000 b.n 8010898 - 8010896: 2240 movs r2, #64 @ 0x40 - 8010898: 693b ldr r3, [r7, #16] - 801089a: f883 2201 strb.w r2, [r3, #513] @ 0x201 + 8011282: 683b ldr r3, [r7, #0] + 8011284: 88db ldrh r3, [r3, #6] + 8011286: 2b3f cmp r3, #63 @ 0x3f + 8011288: d803 bhi.n 8011292 + 801128a: 683b ldr r3, [r7, #0] + 801128c: 88db ldrh r3, [r3, #6] + 801128e: b2da uxtb r2, r3 + 8011290: e000 b.n 8011294 + 8011292: 2240 movs r2, #64 @ 0x40 + 8011294: 693b ldr r3, [r7, #16] + 8011296: f883 2201 strb.w r2, [r3, #513] @ 0x201 (void)USBD_CtlPrepareRx(pdev, (uint8_t *)hcdc->data, hcdc->CmdLength); - 801089e: 6939 ldr r1, [r7, #16] - 80108a0: 693b ldr r3, [r7, #16] - 80108a2: f893 3201 ldrb.w r3, [r3, #513] @ 0x201 - 80108a6: 461a mov r2, r3 - 80108a8: 6878 ldr r0, [r7, #4] - 80108aa: f001 fd56 bl 801235a + 801129a: 6939 ldr r1, [r7, #16] + 801129c: 693b ldr r3, [r7, #16] + 801129e: f893 3201 ldrb.w r3, [r3, #513] @ 0x201 + 80112a2: 461a mov r2, r3 + 80112a4: 6878 ldr r0, [r7, #4] + 80112a6: f001 fd56 bl 8012d56 break; - 80108ae: e076 b.n 801099e + 80112aa: e076 b.n 801139a ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Control(req->bRequest, - 80108b0: 687b ldr r3, [r7, #4] - 80108b2: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 80108b6: 687a ldr r2, [r7, #4] - 80108b8: 33b0 adds r3, #176 @ 0xb0 - 80108ba: 009b lsls r3, r3, #2 - 80108bc: 4413 add r3, r2 - 80108be: 685b ldr r3, [r3, #4] - 80108c0: 689b ldr r3, [r3, #8] - 80108c2: 683a ldr r2, [r7, #0] - 80108c4: 7850 ldrb r0, [r2, #1] - 80108c6: 2200 movs r2, #0 - 80108c8: 6839 ldr r1, [r7, #0] - 80108ca: 4798 blx r3 + 80112ac: 687b ldr r3, [r7, #4] + 80112ae: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 80112b2: 687a ldr r2, [r7, #4] + 80112b4: 33b0 adds r3, #176 @ 0xb0 + 80112b6: 009b lsls r3, r3, #2 + 80112b8: 4413 add r3, r2 + 80112ba: 685b ldr r3, [r3, #4] + 80112bc: 689b ldr r3, [r3, #8] + 80112be: 683a ldr r2, [r7, #0] + 80112c0: 7850 ldrb r0, [r2, #1] + 80112c2: 2200 movs r2, #0 + 80112c4: 6839 ldr r1, [r7, #0] + 80112c6: 4798 blx r3 break; - 80108cc: e067 b.n 801099e + 80112c8: e067 b.n 801139a case USB_REQ_TYPE_STANDARD: switch (req->bRequest) - 80108ce: 683b ldr r3, [r7, #0] - 80108d0: 785b ldrb r3, [r3, #1] - 80108d2: 2b0b cmp r3, #11 - 80108d4: d851 bhi.n 801097a - 80108d6: a201 add r2, pc, #4 @ (adr r2, 80108dc ) - 80108d8: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 80108dc: 0801090d .word 0x0801090d - 80108e0: 08010989 .word 0x08010989 - 80108e4: 0801097b .word 0x0801097b - 80108e8: 0801097b .word 0x0801097b - 80108ec: 0801097b .word 0x0801097b - 80108f0: 0801097b .word 0x0801097b - 80108f4: 0801097b .word 0x0801097b - 80108f8: 0801097b .word 0x0801097b - 80108fc: 0801097b .word 0x0801097b - 8010900: 0801097b .word 0x0801097b - 8010904: 08010937 .word 0x08010937 - 8010908: 08010961 .word 0x08010961 + 80112ca: 683b ldr r3, [r7, #0] + 80112cc: 785b ldrb r3, [r3, #1] + 80112ce: 2b0b cmp r3, #11 + 80112d0: d851 bhi.n 8011376 + 80112d2: a201 add r2, pc, #4 @ (adr r2, 80112d8 ) + 80112d4: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 80112d8: 08011309 .word 0x08011309 + 80112dc: 08011385 .word 0x08011385 + 80112e0: 08011377 .word 0x08011377 + 80112e4: 08011377 .word 0x08011377 + 80112e8: 08011377 .word 0x08011377 + 80112ec: 08011377 .word 0x08011377 + 80112f0: 08011377 .word 0x08011377 + 80112f4: 08011377 .word 0x08011377 + 80112f8: 08011377 .word 0x08011377 + 80112fc: 08011377 .word 0x08011377 + 8011300: 08011333 .word 0x08011333 + 8011304: 0801135d .word 0x0801135d { case USB_REQ_GET_STATUS: if (pdev->dev_state == USBD_STATE_CONFIGURED) - 801090c: 687b ldr r3, [r7, #4] - 801090e: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 8010912: b2db uxtb r3, r3 - 8010914: 2b03 cmp r3, #3 - 8010916: d107 bne.n 8010928 + 8011308: 687b ldr r3, [r7, #4] + 801130a: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 801130e: b2db uxtb r3, r3 + 8011310: 2b03 cmp r3, #3 + 8011312: d107 bne.n 8011324 { (void)USBD_CtlSendData(pdev, (uint8_t *)&status_info, 2U); - 8010918: f107 030a add.w r3, r7, #10 - 801091c: 2202 movs r2, #2 - 801091e: 4619 mov r1, r3 - 8010920: 6878 ldr r0, [r7, #4] - 8010922: f001 fceb bl 80122fc + 8011314: f107 030a add.w r3, r7, #10 + 8011318: 2202 movs r2, #2 + 801131a: 4619 mov r1, r3 + 801131c: 6878 ldr r0, [r7, #4] + 801131e: f001 fceb bl 8012cf8 else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; - 8010926: e032 b.n 801098e + 8011322: e032 b.n 801138a USBD_CtlError(pdev, req); - 8010928: 6839 ldr r1, [r7, #0] - 801092a: 6878 ldr r0, [r7, #4] - 801092c: f001 fc69 bl 8012202 + 8011324: 6839 ldr r1, [r7, #0] + 8011326: 6878 ldr r0, [r7, #4] + 8011328: f001 fc69 bl 8012bfe ret = USBD_FAIL; - 8010930: 2303 movs r3, #3 - 8010932: 75fb strb r3, [r7, #23] + 801132c: 2303 movs r3, #3 + 801132e: 75fb strb r3, [r7, #23] break; - 8010934: e02b b.n 801098e + 8011330: e02b b.n 801138a case USB_REQ_GET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) - 8010936: 687b ldr r3, [r7, #4] - 8010938: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 801093c: b2db uxtb r3, r3 - 801093e: 2b03 cmp r3, #3 - 8010940: d107 bne.n 8010952 + 8011332: 687b ldr r3, [r7, #4] + 8011334: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011338: b2db uxtb r3, r3 + 801133a: 2b03 cmp r3, #3 + 801133c: d107 bne.n 801134e { (void)USBD_CtlSendData(pdev, &ifalt, 1U); - 8010942: f107 030d add.w r3, r7, #13 - 8010946: 2201 movs r2, #1 - 8010948: 4619 mov r1, r3 - 801094a: 6878 ldr r0, [r7, #4] - 801094c: f001 fcd6 bl 80122fc + 801133e: f107 030d add.w r3, r7, #13 + 8011342: 2201 movs r2, #1 + 8011344: 4619 mov r1, r3 + 8011346: 6878 ldr r0, [r7, #4] + 8011348: f001 fcd6 bl 8012cf8 else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; - 8010950: e01d b.n 801098e + 801134c: e01d b.n 801138a USBD_CtlError(pdev, req); - 8010952: 6839 ldr r1, [r7, #0] - 8010954: 6878 ldr r0, [r7, #4] - 8010956: f001 fc54 bl 8012202 + 801134e: 6839 ldr r1, [r7, #0] + 8011350: 6878 ldr r0, [r7, #4] + 8011352: f001 fc54 bl 8012bfe ret = USBD_FAIL; - 801095a: 2303 movs r3, #3 - 801095c: 75fb strb r3, [r7, #23] + 8011356: 2303 movs r3, #3 + 8011358: 75fb strb r3, [r7, #23] break; - 801095e: e016 b.n 801098e + 801135a: e016 b.n 801138a case USB_REQ_SET_INTERFACE: if (pdev->dev_state != USBD_STATE_CONFIGURED) - 8010960: 687b ldr r3, [r7, #4] - 8010962: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 8010966: b2db uxtb r3, r3 - 8010968: 2b03 cmp r3, #3 - 801096a: d00f beq.n 801098c + 801135c: 687b ldr r3, [r7, #4] + 801135e: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011362: b2db uxtb r3, r3 + 8011364: 2b03 cmp r3, #3 + 8011366: d00f beq.n 8011388 { USBD_CtlError(pdev, req); - 801096c: 6839 ldr r1, [r7, #0] - 801096e: 6878 ldr r0, [r7, #4] - 8010970: f001 fc47 bl 8012202 + 8011368: 6839 ldr r1, [r7, #0] + 801136a: 6878 ldr r0, [r7, #4] + 801136c: f001 fc47 bl 8012bfe ret = USBD_FAIL; - 8010974: 2303 movs r3, #3 - 8010976: 75fb strb r3, [r7, #23] + 8011370: 2303 movs r3, #3 + 8011372: 75fb strb r3, [r7, #23] } break; - 8010978: e008 b.n 801098c + 8011374: e008 b.n 8011388 case USB_REQ_CLEAR_FEATURE: break; default: USBD_CtlError(pdev, req); - 801097a: 6839 ldr r1, [r7, #0] - 801097c: 6878 ldr r0, [r7, #4] - 801097e: f001 fc40 bl 8012202 + 8011376: 6839 ldr r1, [r7, #0] + 8011378: 6878 ldr r0, [r7, #4] + 801137a: f001 fc40 bl 8012bfe ret = USBD_FAIL; - 8010982: 2303 movs r3, #3 - 8010984: 75fb strb r3, [r7, #23] + 801137e: 2303 movs r3, #3 + 8011380: 75fb strb r3, [r7, #23] break; - 8010986: e002 b.n 801098e + 8011382: e002 b.n 801138a break; - 8010988: bf00 nop - 801098a: e008 b.n 801099e + 8011384: bf00 nop + 8011386: e008 b.n 801139a break; - 801098c: bf00 nop + 8011388: bf00 nop } break; - 801098e: e006 b.n 801099e + 801138a: e006 b.n 801139a default: USBD_CtlError(pdev, req); - 8010990: 6839 ldr r1, [r7, #0] - 8010992: 6878 ldr r0, [r7, #4] - 8010994: f001 fc35 bl 8012202 + 801138c: 6839 ldr r1, [r7, #0] + 801138e: 6878 ldr r0, [r7, #4] + 8011390: f001 fc35 bl 8012bfe ret = USBD_FAIL; - 8010998: 2303 movs r3, #3 - 801099a: 75fb strb r3, [r7, #23] + 8011394: 2303 movs r3, #3 + 8011396: 75fb strb r3, [r7, #23] break; - 801099c: bf00 nop + 8011398: bf00 nop } return (uint8_t)ret; - 801099e: 7dfb ldrb r3, [r7, #23] + 801139a: 7dfb ldrb r3, [r7, #23] } - 80109a0: 4618 mov r0, r3 - 80109a2: 3718 adds r7, #24 - 80109a4: 46bd mov sp, r7 - 80109a6: bd80 pop {r7, pc} + 801139c: 4618 mov r0, r3 + 801139e: 3718 adds r7, #24 + 80113a0: 46bd mov sp, r7 + 80113a2: bd80 pop {r7, pc} -080109a8 : +080113a4 : * @param pdev: device instance * @param epnum: endpoint number * @retval status */ static uint8_t USBD_CDC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { - 80109a8: b580 push {r7, lr} - 80109aa: b084 sub sp, #16 - 80109ac: af00 add r7, sp, #0 - 80109ae: 6078 str r0, [r7, #4] - 80109b0: 460b mov r3, r1 - 80109b2: 70fb strb r3, [r7, #3] + 80113a4: b580 push {r7, lr} + 80113a6: b084 sub sp, #16 + 80113a8: af00 add r7, sp, #0 + 80113aa: 6078 str r0, [r7, #4] + 80113ac: 460b mov r3, r1 + 80113ae: 70fb strb r3, [r7, #3] USBD_CDC_HandleTypeDef *hcdc; PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef *)pdev->pData; - 80109b4: 687b ldr r3, [r7, #4] - 80109b6: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 - 80109ba: 60fb str r3, [r7, #12] + 80113b0: 687b ldr r3, [r7, #4] + 80113b2: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 + 80113b6: 60fb str r3, [r7, #12] if (pdev->pClassDataCmsit[pdev->classId] == NULL) - 80109bc: 687b ldr r3, [r7, #4] - 80109be: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 80109c2: 687b ldr r3, [r7, #4] - 80109c4: 32b0 adds r2, #176 @ 0xb0 - 80109c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 80109ca: 2b00 cmp r3, #0 - 80109cc: d101 bne.n 80109d2 + 80113b8: 687b ldr r3, [r7, #4] + 80113ba: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 80113be: 687b ldr r3, [r7, #4] + 80113c0: 32b0 adds r2, #176 @ 0xb0 + 80113c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80113c6: 2b00 cmp r3, #0 + 80113c8: d101 bne.n 80113ce { return (uint8_t)USBD_FAIL; - 80109ce: 2303 movs r3, #3 - 80109d0: e065 b.n 8010a9e + 80113ca: 2303 movs r3, #3 + 80113cc: e065 b.n 801149a } hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; - 80109d2: 687b ldr r3, [r7, #4] - 80109d4: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 80109d8: 687b ldr r3, [r7, #4] - 80109da: 32b0 adds r2, #176 @ 0xb0 - 80109dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 80109e0: 60bb str r3, [r7, #8] + 80113ce: 687b ldr r3, [r7, #4] + 80113d0: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 80113d4: 687b ldr r3, [r7, #4] + 80113d6: 32b0 adds r2, #176 @ 0xb0 + 80113d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80113dc: 60bb str r3, [r7, #8] if ((pdev->ep_in[epnum & 0xFU].total_length > 0U) && - 80109e2: 78fb ldrb r3, [r7, #3] - 80109e4: f003 020f and.w r2, r3, #15 - 80109e8: 6879 ldr r1, [r7, #4] - 80109ea: 4613 mov r3, r2 - 80109ec: 009b lsls r3, r3, #2 - 80109ee: 4413 add r3, r2 - 80109f0: 009b lsls r3, r3, #2 - 80109f2: 440b add r3, r1 - 80109f4: 3314 adds r3, #20 - 80109f6: 681b ldr r3, [r3, #0] - 80109f8: 2b00 cmp r3, #0 - 80109fa: d02f beq.n 8010a5c + 80113de: 78fb ldrb r3, [r7, #3] + 80113e0: f003 020f and.w r2, r3, #15 + 80113e4: 6879 ldr r1, [r7, #4] + 80113e6: 4613 mov r3, r2 + 80113e8: 009b lsls r3, r3, #2 + 80113ea: 4413 add r3, r2 + 80113ec: 009b lsls r3, r3, #2 + 80113ee: 440b add r3, r1 + 80113f0: 3314 adds r3, #20 + 80113f2: 681b ldr r3, [r3, #0] + 80113f4: 2b00 cmp r3, #0 + 80113f6: d02f beq.n 8011458 ((pdev->ep_in[epnum & 0xFU].total_length % hpcd->IN_ep[epnum & 0xFU].maxpacket) == 0U)) - 80109fc: 78fb ldrb r3, [r7, #3] - 80109fe: f003 020f and.w r2, r3, #15 - 8010a02: 6879 ldr r1, [r7, #4] - 8010a04: 4613 mov r3, r2 - 8010a06: 009b lsls r3, r3, #2 - 8010a08: 4413 add r3, r2 - 8010a0a: 009b lsls r3, r3, #2 - 8010a0c: 440b add r3, r1 - 8010a0e: 3314 adds r3, #20 - 8010a10: 681a ldr r2, [r3, #0] - 8010a12: 78fb ldrb r3, [r7, #3] - 8010a14: f003 010f and.w r1, r3, #15 - 8010a18: 68f8 ldr r0, [r7, #12] - 8010a1a: 460b mov r3, r1 - 8010a1c: 009b lsls r3, r3, #2 - 8010a1e: 440b add r3, r1 - 8010a20: 00db lsls r3, r3, #3 - 8010a22: 4403 add r3, r0 - 8010a24: 3320 adds r3, #32 - 8010a26: 681b ldr r3, [r3, #0] - 8010a28: fbb2 f1f3 udiv r1, r2, r3 - 8010a2c: fb01 f303 mul.w r3, r1, r3 - 8010a30: 1ad3 subs r3, r2, r3 + 80113f8: 78fb ldrb r3, [r7, #3] + 80113fa: f003 020f and.w r2, r3, #15 + 80113fe: 6879 ldr r1, [r7, #4] + 8011400: 4613 mov r3, r2 + 8011402: 009b lsls r3, r3, #2 + 8011404: 4413 add r3, r2 + 8011406: 009b lsls r3, r3, #2 + 8011408: 440b add r3, r1 + 801140a: 3314 adds r3, #20 + 801140c: 681a ldr r2, [r3, #0] + 801140e: 78fb ldrb r3, [r7, #3] + 8011410: f003 010f and.w r1, r3, #15 + 8011414: 68f8 ldr r0, [r7, #12] + 8011416: 460b mov r3, r1 + 8011418: 009b lsls r3, r3, #2 + 801141a: 440b add r3, r1 + 801141c: 00db lsls r3, r3, #3 + 801141e: 4403 add r3, r0 + 8011420: 3320 adds r3, #32 + 8011422: 681b ldr r3, [r3, #0] + 8011424: fbb2 f1f3 udiv r1, r2, r3 + 8011428: fb01 f303 mul.w r3, r1, r3 + 801142c: 1ad3 subs r3, r2, r3 if ((pdev->ep_in[epnum & 0xFU].total_length > 0U) && - 8010a32: 2b00 cmp r3, #0 - 8010a34: d112 bne.n 8010a5c + 801142e: 2b00 cmp r3, #0 + 8011430: d112 bne.n 8011458 { /* Update the packet total length */ pdev->ep_in[epnum & 0xFU].total_length = 0U; - 8010a36: 78fb ldrb r3, [r7, #3] - 8010a38: f003 020f and.w r2, r3, #15 - 8010a3c: 6879 ldr r1, [r7, #4] - 8010a3e: 4613 mov r3, r2 - 8010a40: 009b lsls r3, r3, #2 - 8010a42: 4413 add r3, r2 - 8010a44: 009b lsls r3, r3, #2 - 8010a46: 440b add r3, r1 - 8010a48: 3314 adds r3, #20 - 8010a4a: 2200 movs r2, #0 - 8010a4c: 601a str r2, [r3, #0] + 8011432: 78fb ldrb r3, [r7, #3] + 8011434: f003 020f and.w r2, r3, #15 + 8011438: 6879 ldr r1, [r7, #4] + 801143a: 4613 mov r3, r2 + 801143c: 009b lsls r3, r3, #2 + 801143e: 4413 add r3, r2 + 8011440: 009b lsls r3, r3, #2 + 8011442: 440b add r3, r1 + 8011444: 3314 adds r3, #20 + 8011446: 2200 movs r2, #0 + 8011448: 601a str r2, [r3, #0] /* Send ZLP */ (void)USBD_LL_Transmit(pdev, epnum, NULL, 0U); - 8010a4e: 78f9 ldrb r1, [r7, #3] - 8010a50: 2300 movs r3, #0 - 8010a52: 2200 movs r2, #0 - 8010a54: 6878 ldr r0, [r7, #4] - 8010a56: f007 feb2 bl 80187be - 8010a5a: e01f b.n 8010a9c + 801144a: 78f9 ldrb r1, [r7, #3] + 801144c: 2300 movs r3, #0 + 801144e: 2200 movs r2, #0 + 8011450: 6878 ldr r0, [r7, #4] + 8011452: f007 fe9c bl 801918e + 8011456: e01f b.n 8011498 } else { hcdc->TxState = 0U; - 8010a5c: 68bb ldr r3, [r7, #8] - 8010a5e: 2200 movs r2, #0 - 8010a60: f8c3 2214 str.w r2, [r3, #532] @ 0x214 + 8011458: 68bb ldr r3, [r7, #8] + 801145a: 2200 movs r2, #0 + 801145c: f8c3 2214 str.w r2, [r3, #532] @ 0x214 if (((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->TransmitCplt != NULL) - 8010a64: 687b ldr r3, [r7, #4] - 8010a66: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 8010a6a: 687a ldr r2, [r7, #4] - 8010a6c: 33b0 adds r3, #176 @ 0xb0 - 8010a6e: 009b lsls r3, r3, #2 - 8010a70: 4413 add r3, r2 - 8010a72: 685b ldr r3, [r3, #4] - 8010a74: 691b ldr r3, [r3, #16] - 8010a76: 2b00 cmp r3, #0 - 8010a78: d010 beq.n 8010a9c + 8011460: 687b ldr r3, [r7, #4] + 8011462: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 8011466: 687a ldr r2, [r7, #4] + 8011468: 33b0 adds r3, #176 @ 0xb0 + 801146a: 009b lsls r3, r3, #2 + 801146c: 4413 add r3, r2 + 801146e: 685b ldr r3, [r3, #4] + 8011470: 691b ldr r3, [r3, #16] + 8011472: 2b00 cmp r3, #0 + 8011474: d010 beq.n 8011498 { ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->TransmitCplt(hcdc->TxBuffer, &hcdc->TxLength, epnum); - 8010a7a: 687b ldr r3, [r7, #4] - 8010a7c: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 8010a80: 687a ldr r2, [r7, #4] - 8010a82: 33b0 adds r3, #176 @ 0xb0 - 8010a84: 009b lsls r3, r3, #2 - 8010a86: 4413 add r3, r2 - 8010a88: 685b ldr r3, [r3, #4] - 8010a8a: 691b ldr r3, [r3, #16] - 8010a8c: 68ba ldr r2, [r7, #8] - 8010a8e: f8d2 0208 ldr.w r0, [r2, #520] @ 0x208 - 8010a92: 68ba ldr r2, [r7, #8] - 8010a94: f502 7104 add.w r1, r2, #528 @ 0x210 - 8010a98: 78fa ldrb r2, [r7, #3] - 8010a9a: 4798 blx r3 + 8011476: 687b ldr r3, [r7, #4] + 8011478: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 801147c: 687a ldr r2, [r7, #4] + 801147e: 33b0 adds r3, #176 @ 0xb0 + 8011480: 009b lsls r3, r3, #2 + 8011482: 4413 add r3, r2 + 8011484: 685b ldr r3, [r3, #4] + 8011486: 691b ldr r3, [r3, #16] + 8011488: 68ba ldr r2, [r7, #8] + 801148a: f8d2 0208 ldr.w r0, [r2, #520] @ 0x208 + 801148e: 68ba ldr r2, [r7, #8] + 8011490: f502 7104 add.w r1, r2, #528 @ 0x210 + 8011494: 78fa ldrb r2, [r7, #3] + 8011496: 4798 blx r3 } } return (uint8_t)USBD_OK; - 8010a9c: 2300 movs r3, #0 + 8011498: 2300 movs r3, #0 } - 8010a9e: 4618 mov r0, r3 - 8010aa0: 3710 adds r7, #16 - 8010aa2: 46bd mov sp, r7 - 8010aa4: bd80 pop {r7, pc} + 801149a: 4618 mov r0, r3 + 801149c: 3710 adds r7, #16 + 801149e: 46bd mov sp, r7 + 80114a0: bd80 pop {r7, pc} -08010aa6 : +080114a2 : * @param pdev: device instance * @param epnum: endpoint number * @retval status */ static uint8_t USBD_CDC_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { - 8010aa6: b580 push {r7, lr} - 8010aa8: b084 sub sp, #16 - 8010aaa: af00 add r7, sp, #0 - 8010aac: 6078 str r0, [r7, #4] - 8010aae: 460b mov r3, r1 - 8010ab0: 70fb strb r3, [r7, #3] + 80114a2: b580 push {r7, lr} + 80114a4: b084 sub sp, #16 + 80114a6: af00 add r7, sp, #0 + 80114a8: 6078 str r0, [r7, #4] + 80114aa: 460b mov r3, r1 + 80114ac: 70fb strb r3, [r7, #3] USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; - 8010ab2: 687b ldr r3, [r7, #4] - 8010ab4: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010ab8: 687b ldr r3, [r7, #4] - 8010aba: 32b0 adds r2, #176 @ 0xb0 - 8010abc: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010ac0: 60fb str r3, [r7, #12] + 80114ae: 687b ldr r3, [r7, #4] + 80114b0: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 80114b4: 687b ldr r3, [r7, #4] + 80114b6: 32b0 adds r2, #176 @ 0xb0 + 80114b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80114bc: 60fb str r3, [r7, #12] if (pdev->pClassDataCmsit[pdev->classId] == NULL) - 8010ac2: 687b ldr r3, [r7, #4] - 8010ac4: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010ac8: 687b ldr r3, [r7, #4] - 8010aca: 32b0 adds r2, #176 @ 0xb0 - 8010acc: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010ad0: 2b00 cmp r3, #0 - 8010ad2: d101 bne.n 8010ad8 + 80114be: 687b ldr r3, [r7, #4] + 80114c0: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 80114c4: 687b ldr r3, [r7, #4] + 80114c6: 32b0 adds r2, #176 @ 0xb0 + 80114c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80114cc: 2b00 cmp r3, #0 + 80114ce: d101 bne.n 80114d4 { return (uint8_t)USBD_FAIL; - 8010ad4: 2303 movs r3, #3 - 8010ad6: e01a b.n 8010b0e + 80114d0: 2303 movs r3, #3 + 80114d2: e01a b.n 801150a } /* Get the received data length */ hcdc->RxLength = USBD_LL_GetRxDataSize(pdev, epnum); - 8010ad8: 78fb ldrb r3, [r7, #3] - 8010ada: 4619 mov r1, r3 - 8010adc: 6878 ldr r0, [r7, #4] - 8010ade: f007 feb0 bl 8018842 - 8010ae2: 4602 mov r2, r0 - 8010ae4: 68fb ldr r3, [r7, #12] - 8010ae6: f8c3 220c str.w r2, [r3, #524] @ 0x20c + 80114d4: 78fb ldrb r3, [r7, #3] + 80114d6: 4619 mov r1, r3 + 80114d8: 6878 ldr r0, [r7, #4] + 80114da: f007 fe9a bl 8019212 + 80114de: 4602 mov r2, r0 + 80114e0: 68fb ldr r3, [r7, #12] + 80114e2: f8c3 220c str.w r2, [r3, #524] @ 0x20c /* USB data will be immediately processed, this allow next USB traffic being NAKed till the end of the application Xfer */ ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Receive(hcdc->RxBuffer, &hcdc->RxLength); - 8010aea: 687b ldr r3, [r7, #4] - 8010aec: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 8010af0: 687a ldr r2, [r7, #4] - 8010af2: 33b0 adds r3, #176 @ 0xb0 - 8010af4: 009b lsls r3, r3, #2 - 8010af6: 4413 add r3, r2 - 8010af8: 685b ldr r3, [r3, #4] - 8010afa: 68db ldr r3, [r3, #12] - 8010afc: 68fa ldr r2, [r7, #12] - 8010afe: f8d2 0204 ldr.w r0, [r2, #516] @ 0x204 - 8010b02: 68fa ldr r2, [r7, #12] - 8010b04: f502 7203 add.w r2, r2, #524 @ 0x20c - 8010b08: 4611 mov r1, r2 - 8010b0a: 4798 blx r3 + 80114e6: 687b ldr r3, [r7, #4] + 80114e8: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 80114ec: 687a ldr r2, [r7, #4] + 80114ee: 33b0 adds r3, #176 @ 0xb0 + 80114f0: 009b lsls r3, r3, #2 + 80114f2: 4413 add r3, r2 + 80114f4: 685b ldr r3, [r3, #4] + 80114f6: 68db ldr r3, [r3, #12] + 80114f8: 68fa ldr r2, [r7, #12] + 80114fa: f8d2 0204 ldr.w r0, [r2, #516] @ 0x204 + 80114fe: 68fa ldr r2, [r7, #12] + 8011500: f502 7203 add.w r2, r2, #524 @ 0x20c + 8011504: 4611 mov r1, r2 + 8011506: 4798 blx r3 return (uint8_t)USBD_OK; - 8010b0c: 2300 movs r3, #0 + 8011508: 2300 movs r3, #0 } - 8010b0e: 4618 mov r0, r3 - 8010b10: 3710 adds r7, #16 - 8010b12: 46bd mov sp, r7 - 8010b14: bd80 pop {r7, pc} + 801150a: 4618 mov r0, r3 + 801150c: 3710 adds r7, #16 + 801150e: 46bd mov sp, r7 + 8011510: bd80 pop {r7, pc} -08010b16 : +08011512 : * Handle EP0 Rx Ready event * @param pdev: device instance * @retval status */ static uint8_t USBD_CDC_EP0_RxReady(USBD_HandleTypeDef *pdev) { - 8010b16: b580 push {r7, lr} - 8010b18: b084 sub sp, #16 - 8010b1a: af00 add r7, sp, #0 - 8010b1c: 6078 str r0, [r7, #4] + 8011512: b580 push {r7, lr} + 8011514: b084 sub sp, #16 + 8011516: af00 add r7, sp, #0 + 8011518: 6078 str r0, [r7, #4] USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; - 8010b1e: 687b ldr r3, [r7, #4] - 8010b20: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010b24: 687b ldr r3, [r7, #4] - 8010b26: 32b0 adds r2, #176 @ 0xb0 - 8010b28: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010b2c: 60fb str r3, [r7, #12] + 801151a: 687b ldr r3, [r7, #4] + 801151c: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 8011520: 687b ldr r3, [r7, #4] + 8011522: 32b0 adds r2, #176 @ 0xb0 + 8011524: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011528: 60fb str r3, [r7, #12] if (hcdc == NULL) - 8010b2e: 68fb ldr r3, [r7, #12] - 8010b30: 2b00 cmp r3, #0 - 8010b32: d101 bne.n 8010b38 + 801152a: 68fb ldr r3, [r7, #12] + 801152c: 2b00 cmp r3, #0 + 801152e: d101 bne.n 8011534 { return (uint8_t)USBD_FAIL; - 8010b34: 2303 movs r3, #3 - 8010b36: e024 b.n 8010b82 + 8011530: 2303 movs r3, #3 + 8011532: e024 b.n 801157e } if ((pdev->pUserData[pdev->classId] != NULL) && (hcdc->CmdOpCode != 0xFFU)) - 8010b38: 687b ldr r3, [r7, #4] - 8010b3a: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 8010b3e: 687a ldr r2, [r7, #4] - 8010b40: 33b0 adds r3, #176 @ 0xb0 - 8010b42: 009b lsls r3, r3, #2 - 8010b44: 4413 add r3, r2 - 8010b46: 685b ldr r3, [r3, #4] - 8010b48: 2b00 cmp r3, #0 - 8010b4a: d019 beq.n 8010b80 - 8010b4c: 68fb ldr r3, [r7, #12] - 8010b4e: f893 3200 ldrb.w r3, [r3, #512] @ 0x200 - 8010b52: 2bff cmp r3, #255 @ 0xff - 8010b54: d014 beq.n 8010b80 + 8011534: 687b ldr r3, [r7, #4] + 8011536: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 801153a: 687a ldr r2, [r7, #4] + 801153c: 33b0 adds r3, #176 @ 0xb0 + 801153e: 009b lsls r3, r3, #2 + 8011540: 4413 add r3, r2 + 8011542: 685b ldr r3, [r3, #4] + 8011544: 2b00 cmp r3, #0 + 8011546: d019 beq.n 801157c + 8011548: 68fb ldr r3, [r7, #12] + 801154a: f893 3200 ldrb.w r3, [r3, #512] @ 0x200 + 801154e: 2bff cmp r3, #255 @ 0xff + 8011550: d014 beq.n 801157c { ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Control(hcdc->CmdOpCode, - 8010b56: 687b ldr r3, [r7, #4] - 8010b58: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 8010b5c: 687a ldr r2, [r7, #4] - 8010b5e: 33b0 adds r3, #176 @ 0xb0 - 8010b60: 009b lsls r3, r3, #2 - 8010b62: 4413 add r3, r2 - 8010b64: 685b ldr r3, [r3, #4] - 8010b66: 689b ldr r3, [r3, #8] - 8010b68: 68fa ldr r2, [r7, #12] - 8010b6a: f892 0200 ldrb.w r0, [r2, #512] @ 0x200 + 8011552: 687b ldr r3, [r7, #4] + 8011554: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 8011558: 687a ldr r2, [r7, #4] + 801155a: 33b0 adds r3, #176 @ 0xb0 + 801155c: 009b lsls r3, r3, #2 + 801155e: 4413 add r3, r2 + 8011560: 685b ldr r3, [r3, #4] + 8011562: 689b ldr r3, [r3, #8] + 8011564: 68fa ldr r2, [r7, #12] + 8011566: f892 0200 ldrb.w r0, [r2, #512] @ 0x200 (uint8_t *)hcdc->data, - 8010b6e: 68f9 ldr r1, [r7, #12] + 801156a: 68f9 ldr r1, [r7, #12] (uint16_t)hcdc->CmdLength); - 8010b70: 68fa ldr r2, [r7, #12] - 8010b72: f892 2201 ldrb.w r2, [r2, #513] @ 0x201 + 801156c: 68fa ldr r2, [r7, #12] + 801156e: f892 2201 ldrb.w r2, [r2, #513] @ 0x201 ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Control(hcdc->CmdOpCode, - 8010b76: 4798 blx r3 + 8011572: 4798 blx r3 hcdc->CmdOpCode = 0xFFU; - 8010b78: 68fb ldr r3, [r7, #12] - 8010b7a: 22ff movs r2, #255 @ 0xff - 8010b7c: f883 2200 strb.w r2, [r3, #512] @ 0x200 + 8011574: 68fb ldr r3, [r7, #12] + 8011576: 22ff movs r2, #255 @ 0xff + 8011578: f883 2200 strb.w r2, [r3, #512] @ 0x200 } return (uint8_t)USBD_OK; - 8010b80: 2300 movs r3, #0 + 801157c: 2300 movs r3, #0 } - 8010b82: 4618 mov r0, r3 - 8010b84: 3710 adds r7, #16 - 8010b86: 46bd mov sp, r7 - 8010b88: bd80 pop {r7, pc} + 801157e: 4618 mov r0, r3 + 8011580: 3710 adds r7, #16 + 8011582: 46bd mov sp, r7 + 8011584: bd80 pop {r7, pc} ... -08010b8c : +08011588 : * Return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ static uint8_t *USBD_CDC_GetFSCfgDesc(uint16_t *length) { - 8010b8c: b580 push {r7, lr} - 8010b8e: b086 sub sp, #24 - 8010b90: af00 add r7, sp, #0 - 8010b92: 6078 str r0, [r7, #4] + 8011588: b580 push {r7, lr} + 801158a: b086 sub sp, #24 + 801158c: af00 add r7, sp, #0 + 801158e: 6078 str r0, [r7, #4] USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); - 8010b94: 2182 movs r1, #130 @ 0x82 - 8010b96: 4818 ldr r0, [pc, #96] @ (8010bf8 ) - 8010b98: f000 fcd0 bl 801153c - 8010b9c: 6178 str r0, [r7, #20] + 8011590: 2182 movs r1, #130 @ 0x82 + 8011592: 4818 ldr r0, [pc, #96] @ (80115f4 ) + 8011594: f000 fcd0 bl 8011f38 + 8011598: 6178 str r0, [r7, #20] USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); - 8010b9e: 2101 movs r1, #1 - 8010ba0: 4815 ldr r0, [pc, #84] @ (8010bf8 ) - 8010ba2: f000 fccb bl 801153c - 8010ba6: 6138 str r0, [r7, #16] + 801159a: 2101 movs r1, #1 + 801159c: 4815 ldr r0, [pc, #84] @ (80115f4 ) + 801159e: f000 fccb bl 8011f38 + 80115a2: 6138 str r0, [r7, #16] USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); - 8010ba8: 2181 movs r1, #129 @ 0x81 - 8010baa: 4813 ldr r0, [pc, #76] @ (8010bf8 ) - 8010bac: f000 fcc6 bl 801153c - 8010bb0: 60f8 str r0, [r7, #12] + 80115a4: 2181 movs r1, #129 @ 0x81 + 80115a6: 4813 ldr r0, [pc, #76] @ (80115f4 ) + 80115a8: f000 fcc6 bl 8011f38 + 80115ac: 60f8 str r0, [r7, #12] if (pEpCmdDesc != NULL) - 8010bb2: 697b ldr r3, [r7, #20] - 8010bb4: 2b00 cmp r3, #0 - 8010bb6: d002 beq.n 8010bbe + 80115ae: 697b ldr r3, [r7, #20] + 80115b0: 2b00 cmp r3, #0 + 80115b2: d002 beq.n 80115ba { pEpCmdDesc->bInterval = CDC_FS_BINTERVAL; - 8010bb8: 697b ldr r3, [r7, #20] - 8010bba: 2210 movs r2, #16 - 8010bbc: 719a strb r2, [r3, #6] + 80115b4: 697b ldr r3, [r7, #20] + 80115b6: 2210 movs r2, #16 + 80115b8: 719a strb r2, [r3, #6] } if (pEpOutDesc != NULL) - 8010bbe: 693b ldr r3, [r7, #16] - 8010bc0: 2b00 cmp r3, #0 - 8010bc2: d006 beq.n 8010bd2 + 80115ba: 693b ldr r3, [r7, #16] + 80115bc: 2b00 cmp r3, #0 + 80115be: d006 beq.n 80115ce { pEpOutDesc->wMaxPacketSize = CDC_DATA_FS_MAX_PACKET_SIZE; - 8010bc4: 693b ldr r3, [r7, #16] - 8010bc6: 2200 movs r2, #0 - 8010bc8: f042 0240 orr.w r2, r2, #64 @ 0x40 - 8010bcc: 711a strb r2, [r3, #4] - 8010bce: 2200 movs r2, #0 - 8010bd0: 715a strb r2, [r3, #5] + 80115c0: 693b ldr r3, [r7, #16] + 80115c2: 2200 movs r2, #0 + 80115c4: f042 0240 orr.w r2, r2, #64 @ 0x40 + 80115c8: 711a strb r2, [r3, #4] + 80115ca: 2200 movs r2, #0 + 80115cc: 715a strb r2, [r3, #5] } if (pEpInDesc != NULL) - 8010bd2: 68fb ldr r3, [r7, #12] - 8010bd4: 2b00 cmp r3, #0 - 8010bd6: d006 beq.n 8010be6 + 80115ce: 68fb ldr r3, [r7, #12] + 80115d0: 2b00 cmp r3, #0 + 80115d2: d006 beq.n 80115e2 { pEpInDesc->wMaxPacketSize = CDC_DATA_FS_MAX_PACKET_SIZE; - 8010bd8: 68fb ldr r3, [r7, #12] - 8010bda: 2200 movs r2, #0 - 8010bdc: f042 0240 orr.w r2, r2, #64 @ 0x40 - 8010be0: 711a strb r2, [r3, #4] - 8010be2: 2200 movs r2, #0 - 8010be4: 715a strb r2, [r3, #5] + 80115d4: 68fb ldr r3, [r7, #12] + 80115d6: 2200 movs r2, #0 + 80115d8: f042 0240 orr.w r2, r2, #64 @ 0x40 + 80115dc: 711a strb r2, [r3, #4] + 80115de: 2200 movs r2, #0 + 80115e0: 715a strb r2, [r3, #5] } *length = (uint16_t)sizeof(USBD_CDC_CfgDesc); - 8010be6: 687b ldr r3, [r7, #4] - 8010be8: 2243 movs r2, #67 @ 0x43 - 8010bea: 801a strh r2, [r3, #0] + 80115e2: 687b ldr r3, [r7, #4] + 80115e4: 2243 movs r2, #67 @ 0x43 + 80115e6: 801a strh r2, [r3, #0] return USBD_CDC_CfgDesc; - 8010bec: 4b02 ldr r3, [pc, #8] @ (8010bf8 ) + 80115e8: 4b02 ldr r3, [pc, #8] @ (80115f4 ) } - 8010bee: 4618 mov r0, r3 - 8010bf0: 3718 adds r7, #24 - 8010bf2: 46bd mov sp, r7 - 8010bf4: bd80 pop {r7, pc} - 8010bf6: bf00 nop - 8010bf8: 2000005c .word 0x2000005c + 80115ea: 4618 mov r0, r3 + 80115ec: 3718 adds r7, #24 + 80115ee: 46bd mov sp, r7 + 80115f0: bd80 pop {r7, pc} + 80115f2: bf00 nop + 80115f4: 2000005c .word 0x2000005c -08010bfc : +080115f8 : * Return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ static uint8_t *USBD_CDC_GetHSCfgDesc(uint16_t *length) { - 8010bfc: b580 push {r7, lr} - 8010bfe: b086 sub sp, #24 - 8010c00: af00 add r7, sp, #0 - 8010c02: 6078 str r0, [r7, #4] + 80115f8: b580 push {r7, lr} + 80115fa: b086 sub sp, #24 + 80115fc: af00 add r7, sp, #0 + 80115fe: 6078 str r0, [r7, #4] USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); - 8010c04: 2182 movs r1, #130 @ 0x82 - 8010c06: 4818 ldr r0, [pc, #96] @ (8010c68 ) - 8010c08: f000 fc98 bl 801153c - 8010c0c: 6178 str r0, [r7, #20] + 8011600: 2182 movs r1, #130 @ 0x82 + 8011602: 4818 ldr r0, [pc, #96] @ (8011664 ) + 8011604: f000 fc98 bl 8011f38 + 8011608: 6178 str r0, [r7, #20] USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); - 8010c0e: 2101 movs r1, #1 - 8010c10: 4815 ldr r0, [pc, #84] @ (8010c68 ) - 8010c12: f000 fc93 bl 801153c - 8010c16: 6138 str r0, [r7, #16] + 801160a: 2101 movs r1, #1 + 801160c: 4815 ldr r0, [pc, #84] @ (8011664 ) + 801160e: f000 fc93 bl 8011f38 + 8011612: 6138 str r0, [r7, #16] USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); - 8010c18: 2181 movs r1, #129 @ 0x81 - 8010c1a: 4813 ldr r0, [pc, #76] @ (8010c68 ) - 8010c1c: f000 fc8e bl 801153c - 8010c20: 60f8 str r0, [r7, #12] + 8011614: 2181 movs r1, #129 @ 0x81 + 8011616: 4813 ldr r0, [pc, #76] @ (8011664 ) + 8011618: f000 fc8e bl 8011f38 + 801161c: 60f8 str r0, [r7, #12] if (pEpCmdDesc != NULL) - 8010c22: 697b ldr r3, [r7, #20] - 8010c24: 2b00 cmp r3, #0 - 8010c26: d002 beq.n 8010c2e + 801161e: 697b ldr r3, [r7, #20] + 8011620: 2b00 cmp r3, #0 + 8011622: d002 beq.n 801162a { pEpCmdDesc->bInterval = CDC_HS_BINTERVAL; - 8010c28: 697b ldr r3, [r7, #20] - 8010c2a: 2210 movs r2, #16 - 8010c2c: 719a strb r2, [r3, #6] + 8011624: 697b ldr r3, [r7, #20] + 8011626: 2210 movs r2, #16 + 8011628: 719a strb r2, [r3, #6] } if (pEpOutDesc != NULL) - 8010c2e: 693b ldr r3, [r7, #16] - 8010c30: 2b00 cmp r3, #0 - 8010c32: d006 beq.n 8010c42 + 801162a: 693b ldr r3, [r7, #16] + 801162c: 2b00 cmp r3, #0 + 801162e: d006 beq.n 801163e { pEpOutDesc->wMaxPacketSize = CDC_DATA_HS_MAX_PACKET_SIZE; - 8010c34: 693b ldr r3, [r7, #16] - 8010c36: 2200 movs r2, #0 - 8010c38: 711a strb r2, [r3, #4] - 8010c3a: 2200 movs r2, #0 - 8010c3c: f042 0202 orr.w r2, r2, #2 - 8010c40: 715a strb r2, [r3, #5] + 8011630: 693b ldr r3, [r7, #16] + 8011632: 2200 movs r2, #0 + 8011634: 711a strb r2, [r3, #4] + 8011636: 2200 movs r2, #0 + 8011638: f042 0202 orr.w r2, r2, #2 + 801163c: 715a strb r2, [r3, #5] } if (pEpInDesc != NULL) - 8010c42: 68fb ldr r3, [r7, #12] - 8010c44: 2b00 cmp r3, #0 - 8010c46: d006 beq.n 8010c56 + 801163e: 68fb ldr r3, [r7, #12] + 8011640: 2b00 cmp r3, #0 + 8011642: d006 beq.n 8011652 { pEpInDesc->wMaxPacketSize = CDC_DATA_HS_MAX_PACKET_SIZE; - 8010c48: 68fb ldr r3, [r7, #12] - 8010c4a: 2200 movs r2, #0 - 8010c4c: 711a strb r2, [r3, #4] - 8010c4e: 2200 movs r2, #0 - 8010c50: f042 0202 orr.w r2, r2, #2 - 8010c54: 715a strb r2, [r3, #5] + 8011644: 68fb ldr r3, [r7, #12] + 8011646: 2200 movs r2, #0 + 8011648: 711a strb r2, [r3, #4] + 801164a: 2200 movs r2, #0 + 801164c: f042 0202 orr.w r2, r2, #2 + 8011650: 715a strb r2, [r3, #5] } *length = (uint16_t)sizeof(USBD_CDC_CfgDesc); - 8010c56: 687b ldr r3, [r7, #4] - 8010c58: 2243 movs r2, #67 @ 0x43 - 8010c5a: 801a strh r2, [r3, #0] + 8011652: 687b ldr r3, [r7, #4] + 8011654: 2243 movs r2, #67 @ 0x43 + 8011656: 801a strh r2, [r3, #0] return USBD_CDC_CfgDesc; - 8010c5c: 4b02 ldr r3, [pc, #8] @ (8010c68 ) + 8011658: 4b02 ldr r3, [pc, #8] @ (8011664 ) } - 8010c5e: 4618 mov r0, r3 - 8010c60: 3718 adds r7, #24 - 8010c62: 46bd mov sp, r7 - 8010c64: bd80 pop {r7, pc} - 8010c66: bf00 nop - 8010c68: 2000005c .word 0x2000005c + 801165a: 4618 mov r0, r3 + 801165c: 3718 adds r7, #24 + 801165e: 46bd mov sp, r7 + 8011660: bd80 pop {r7, pc} + 8011662: bf00 nop + 8011664: 2000005c .word 0x2000005c -08010c6c : +08011668 : * Return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ static uint8_t *USBD_CDC_GetOtherSpeedCfgDesc(uint16_t *length) { - 8010c6c: b580 push {r7, lr} - 8010c6e: b086 sub sp, #24 - 8010c70: af00 add r7, sp, #0 - 8010c72: 6078 str r0, [r7, #4] + 8011668: b580 push {r7, lr} + 801166a: b086 sub sp, #24 + 801166c: af00 add r7, sp, #0 + 801166e: 6078 str r0, [r7, #4] USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); - 8010c74: 2182 movs r1, #130 @ 0x82 - 8010c76: 4818 ldr r0, [pc, #96] @ (8010cd8 ) - 8010c78: f000 fc60 bl 801153c - 8010c7c: 6178 str r0, [r7, #20] + 8011670: 2182 movs r1, #130 @ 0x82 + 8011672: 4818 ldr r0, [pc, #96] @ (80116d4 ) + 8011674: f000 fc60 bl 8011f38 + 8011678: 6178 str r0, [r7, #20] USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); - 8010c7e: 2101 movs r1, #1 - 8010c80: 4815 ldr r0, [pc, #84] @ (8010cd8 ) - 8010c82: f000 fc5b bl 801153c - 8010c86: 6138 str r0, [r7, #16] + 801167a: 2101 movs r1, #1 + 801167c: 4815 ldr r0, [pc, #84] @ (80116d4 ) + 801167e: f000 fc5b bl 8011f38 + 8011682: 6138 str r0, [r7, #16] USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); - 8010c88: 2181 movs r1, #129 @ 0x81 - 8010c8a: 4813 ldr r0, [pc, #76] @ (8010cd8 ) - 8010c8c: f000 fc56 bl 801153c - 8010c90: 60f8 str r0, [r7, #12] + 8011684: 2181 movs r1, #129 @ 0x81 + 8011686: 4813 ldr r0, [pc, #76] @ (80116d4 ) + 8011688: f000 fc56 bl 8011f38 + 801168c: 60f8 str r0, [r7, #12] if (pEpCmdDesc != NULL) - 8010c92: 697b ldr r3, [r7, #20] - 8010c94: 2b00 cmp r3, #0 - 8010c96: d002 beq.n 8010c9e + 801168e: 697b ldr r3, [r7, #20] + 8011690: 2b00 cmp r3, #0 + 8011692: d002 beq.n 801169a { pEpCmdDesc->bInterval = CDC_FS_BINTERVAL; - 8010c98: 697b ldr r3, [r7, #20] - 8010c9a: 2210 movs r2, #16 - 8010c9c: 719a strb r2, [r3, #6] + 8011694: 697b ldr r3, [r7, #20] + 8011696: 2210 movs r2, #16 + 8011698: 719a strb r2, [r3, #6] } if (pEpOutDesc != NULL) - 8010c9e: 693b ldr r3, [r7, #16] - 8010ca0: 2b00 cmp r3, #0 - 8010ca2: d006 beq.n 8010cb2 + 801169a: 693b ldr r3, [r7, #16] + 801169c: 2b00 cmp r3, #0 + 801169e: d006 beq.n 80116ae { pEpOutDesc->wMaxPacketSize = CDC_DATA_FS_MAX_PACKET_SIZE; - 8010ca4: 693b ldr r3, [r7, #16] - 8010ca6: 2200 movs r2, #0 - 8010ca8: f042 0240 orr.w r2, r2, #64 @ 0x40 - 8010cac: 711a strb r2, [r3, #4] - 8010cae: 2200 movs r2, #0 - 8010cb0: 715a strb r2, [r3, #5] + 80116a0: 693b ldr r3, [r7, #16] + 80116a2: 2200 movs r2, #0 + 80116a4: f042 0240 orr.w r2, r2, #64 @ 0x40 + 80116a8: 711a strb r2, [r3, #4] + 80116aa: 2200 movs r2, #0 + 80116ac: 715a strb r2, [r3, #5] } if (pEpInDesc != NULL) - 8010cb2: 68fb ldr r3, [r7, #12] - 8010cb4: 2b00 cmp r3, #0 - 8010cb6: d006 beq.n 8010cc6 + 80116ae: 68fb ldr r3, [r7, #12] + 80116b0: 2b00 cmp r3, #0 + 80116b2: d006 beq.n 80116c2 { pEpInDesc->wMaxPacketSize = CDC_DATA_FS_MAX_PACKET_SIZE; - 8010cb8: 68fb ldr r3, [r7, #12] - 8010cba: 2200 movs r2, #0 - 8010cbc: f042 0240 orr.w r2, r2, #64 @ 0x40 - 8010cc0: 711a strb r2, [r3, #4] - 8010cc2: 2200 movs r2, #0 - 8010cc4: 715a strb r2, [r3, #5] + 80116b4: 68fb ldr r3, [r7, #12] + 80116b6: 2200 movs r2, #0 + 80116b8: f042 0240 orr.w r2, r2, #64 @ 0x40 + 80116bc: 711a strb r2, [r3, #4] + 80116be: 2200 movs r2, #0 + 80116c0: 715a strb r2, [r3, #5] } *length = (uint16_t)sizeof(USBD_CDC_CfgDesc); - 8010cc6: 687b ldr r3, [r7, #4] - 8010cc8: 2243 movs r2, #67 @ 0x43 - 8010cca: 801a strh r2, [r3, #0] + 80116c2: 687b ldr r3, [r7, #4] + 80116c4: 2243 movs r2, #67 @ 0x43 + 80116c6: 801a strh r2, [r3, #0] return USBD_CDC_CfgDesc; - 8010ccc: 4b02 ldr r3, [pc, #8] @ (8010cd8 ) + 80116c8: 4b02 ldr r3, [pc, #8] @ (80116d4 ) } - 8010cce: 4618 mov r0, r3 - 8010cd0: 3718 adds r7, #24 - 8010cd2: 46bd mov sp, r7 - 8010cd4: bd80 pop {r7, pc} - 8010cd6: bf00 nop - 8010cd8: 2000005c .word 0x2000005c + 80116ca: 4618 mov r0, r3 + 80116cc: 3718 adds r7, #24 + 80116ce: 46bd mov sp, r7 + 80116d0: bd80 pop {r7, pc} + 80116d2: bf00 nop + 80116d4: 2000005c .word 0x2000005c -08010cdc : +080116d8 : * return Device Qualifier descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_CDC_GetDeviceQualifierDescriptor(uint16_t *length) { - 8010cdc: b480 push {r7} - 8010cde: b083 sub sp, #12 - 8010ce0: af00 add r7, sp, #0 - 8010ce2: 6078 str r0, [r7, #4] + 80116d8: b480 push {r7} + 80116da: b083 sub sp, #12 + 80116dc: af00 add r7, sp, #0 + 80116de: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_CDC_DeviceQualifierDesc); - 8010ce4: 687b ldr r3, [r7, #4] - 8010ce6: 220a movs r2, #10 - 8010ce8: 801a strh r2, [r3, #0] + 80116e0: 687b ldr r3, [r7, #4] + 80116e2: 220a movs r2, #10 + 80116e4: 801a strh r2, [r3, #0] return USBD_CDC_DeviceQualifierDesc; - 8010cea: 4b03 ldr r3, [pc, #12] @ (8010cf8 ) + 80116e6: 4b03 ldr r3, [pc, #12] @ (80116f4 ) } - 8010cec: 4618 mov r0, r3 - 8010cee: 370c adds r7, #12 - 8010cf0: 46bd mov sp, r7 - 8010cf2: f85d 7b04 ldr.w r7, [sp], #4 - 8010cf6: 4770 bx lr - 8010cf8: 20000018 .word 0x20000018 + 80116e8: 4618 mov r0, r3 + 80116ea: 370c adds r7, #12 + 80116ec: 46bd mov sp, r7 + 80116ee: f85d 7b04 ldr.w r7, [sp], #4 + 80116f2: 4770 bx lr + 80116f4: 20000018 .word 0x20000018 -08010cfc : +080116f8 : * @param fops: CD Interface callback * @retval status */ uint8_t USBD_CDC_RegisterInterface(USBD_HandleTypeDef *pdev, USBD_CDC_ItfTypeDef *fops) { - 8010cfc: b480 push {r7} - 8010cfe: b083 sub sp, #12 - 8010d00: af00 add r7, sp, #0 - 8010d02: 6078 str r0, [r7, #4] - 8010d04: 6039 str r1, [r7, #0] + 80116f8: b480 push {r7} + 80116fa: b083 sub sp, #12 + 80116fc: af00 add r7, sp, #0 + 80116fe: 6078 str r0, [r7, #4] + 8011700: 6039 str r1, [r7, #0] if (fops == NULL) - 8010d06: 683b ldr r3, [r7, #0] - 8010d08: 2b00 cmp r3, #0 - 8010d0a: d101 bne.n 8010d10 + 8011702: 683b ldr r3, [r7, #0] + 8011704: 2b00 cmp r3, #0 + 8011706: d101 bne.n 801170c { return (uint8_t)USBD_FAIL; - 8010d0c: 2303 movs r3, #3 - 8010d0e: e009 b.n 8010d24 + 8011708: 2303 movs r3, #3 + 801170a: e009 b.n 8011720 } pdev->pUserData[pdev->classId] = fops; - 8010d10: 687b ldr r3, [r7, #4] - 8010d12: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 - 8010d16: 687a ldr r2, [r7, #4] - 8010d18: 33b0 adds r3, #176 @ 0xb0 - 8010d1a: 009b lsls r3, r3, #2 - 8010d1c: 4413 add r3, r2 - 8010d1e: 683a ldr r2, [r7, #0] - 8010d20: 605a str r2, [r3, #4] + 801170c: 687b ldr r3, [r7, #4] + 801170e: f8d3 32d4 ldr.w r3, [r3, #724] @ 0x2d4 + 8011712: 687a ldr r2, [r7, #4] + 8011714: 33b0 adds r3, #176 @ 0xb0 + 8011716: 009b lsls r3, r3, #2 + 8011718: 4413 add r3, r2 + 801171a: 683a ldr r2, [r7, #0] + 801171c: 605a str r2, [r3, #4] return (uint8_t)USBD_OK; - 8010d22: 2300 movs r3, #0 + 801171e: 2300 movs r3, #0 } - 8010d24: 4618 mov r0, r3 - 8010d26: 370c adds r7, #12 - 8010d28: 46bd mov sp, r7 - 8010d2a: f85d 7b04 ldr.w r7, [sp], #4 - 8010d2e: 4770 bx lr + 8011720: 4618 mov r0, r3 + 8011722: 370c adds r7, #12 + 8011724: 46bd mov sp, r7 + 8011726: f85d 7b04 ldr.w r7, [sp], #4 + 801172a: 4770 bx lr -08010d30 : +0801172c : { USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[ClassId]; #else uint8_t USBD_CDC_SetTxBuffer(USBD_HandleTypeDef *pdev, uint8_t *pbuff, uint32_t length) { - 8010d30: b480 push {r7} - 8010d32: b087 sub sp, #28 - 8010d34: af00 add r7, sp, #0 - 8010d36: 60f8 str r0, [r7, #12] - 8010d38: 60b9 str r1, [r7, #8] - 8010d3a: 607a str r2, [r7, #4] + 801172c: b480 push {r7} + 801172e: b087 sub sp, #28 + 8011730: af00 add r7, sp, #0 + 8011732: 60f8 str r0, [r7, #12] + 8011734: 60b9 str r1, [r7, #8] + 8011736: 607a str r2, [r7, #4] USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; - 8010d3c: 68fb ldr r3, [r7, #12] - 8010d3e: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010d42: 68fb ldr r3, [r7, #12] - 8010d44: 32b0 adds r2, #176 @ 0xb0 - 8010d46: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010d4a: 617b str r3, [r7, #20] + 8011738: 68fb ldr r3, [r7, #12] + 801173a: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 801173e: 68fb ldr r3, [r7, #12] + 8011740: 32b0 adds r2, #176 @ 0xb0 + 8011742: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011746: 617b str r3, [r7, #20] #endif /* USE_USBD_COMPOSITE */ if (hcdc == NULL) - 8010d4c: 697b ldr r3, [r7, #20] - 8010d4e: 2b00 cmp r3, #0 - 8010d50: d101 bne.n 8010d56 + 8011748: 697b ldr r3, [r7, #20] + 801174a: 2b00 cmp r3, #0 + 801174c: d101 bne.n 8011752 { return (uint8_t)USBD_FAIL; - 8010d52: 2303 movs r3, #3 - 8010d54: e008 b.n 8010d68 + 801174e: 2303 movs r3, #3 + 8011750: e008 b.n 8011764 } hcdc->TxBuffer = pbuff; - 8010d56: 697b ldr r3, [r7, #20] - 8010d58: 68ba ldr r2, [r7, #8] - 8010d5a: f8c3 2208 str.w r2, [r3, #520] @ 0x208 + 8011752: 697b ldr r3, [r7, #20] + 8011754: 68ba ldr r2, [r7, #8] + 8011756: f8c3 2208 str.w r2, [r3, #520] @ 0x208 hcdc->TxLength = length; - 8010d5e: 697b ldr r3, [r7, #20] - 8010d60: 687a ldr r2, [r7, #4] - 8010d62: f8c3 2210 str.w r2, [r3, #528] @ 0x210 + 801175a: 697b ldr r3, [r7, #20] + 801175c: 687a ldr r2, [r7, #4] + 801175e: f8c3 2210 str.w r2, [r3, #528] @ 0x210 return (uint8_t)USBD_OK; - 8010d66: 2300 movs r3, #0 + 8011762: 2300 movs r3, #0 } - 8010d68: 4618 mov r0, r3 - 8010d6a: 371c adds r7, #28 - 8010d6c: 46bd mov sp, r7 - 8010d6e: f85d 7b04 ldr.w r7, [sp], #4 - 8010d72: 4770 bx lr + 8011764: 4618 mov r0, r3 + 8011766: 371c adds r7, #28 + 8011768: 46bd mov sp, r7 + 801176a: f85d 7b04 ldr.w r7, [sp], #4 + 801176e: 4770 bx lr -08010d74 : +08011770 : * @param pdev: device instance * @param pbuff: Rx Buffer * @retval status */ uint8_t USBD_CDC_SetRxBuffer(USBD_HandleTypeDef *pdev, uint8_t *pbuff) { - 8010d74: b480 push {r7} - 8010d76: b085 sub sp, #20 - 8010d78: af00 add r7, sp, #0 - 8010d7a: 6078 str r0, [r7, #4] - 8010d7c: 6039 str r1, [r7, #0] + 8011770: b480 push {r7} + 8011772: b085 sub sp, #20 + 8011774: af00 add r7, sp, #0 + 8011776: 6078 str r0, [r7, #4] + 8011778: 6039 str r1, [r7, #0] USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; - 8010d7e: 687b ldr r3, [r7, #4] - 8010d80: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010d84: 687b ldr r3, [r7, #4] - 8010d86: 32b0 adds r2, #176 @ 0xb0 - 8010d88: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010d8c: 60fb str r3, [r7, #12] + 801177a: 687b ldr r3, [r7, #4] + 801177c: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 8011780: 687b ldr r3, [r7, #4] + 8011782: 32b0 adds r2, #176 @ 0xb0 + 8011784: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011788: 60fb str r3, [r7, #12] if (hcdc == NULL) - 8010d8e: 68fb ldr r3, [r7, #12] - 8010d90: 2b00 cmp r3, #0 - 8010d92: d101 bne.n 8010d98 + 801178a: 68fb ldr r3, [r7, #12] + 801178c: 2b00 cmp r3, #0 + 801178e: d101 bne.n 8011794 { return (uint8_t)USBD_FAIL; - 8010d94: 2303 movs r3, #3 - 8010d96: e004 b.n 8010da2 + 8011790: 2303 movs r3, #3 + 8011792: e004 b.n 801179e } hcdc->RxBuffer = pbuff; - 8010d98: 68fb ldr r3, [r7, #12] - 8010d9a: 683a ldr r2, [r7, #0] - 8010d9c: f8c3 2204 str.w r2, [r3, #516] @ 0x204 + 8011794: 68fb ldr r3, [r7, #12] + 8011796: 683a ldr r2, [r7, #0] + 8011798: f8c3 2204 str.w r2, [r3, #516] @ 0x204 return (uint8_t)USBD_OK; - 8010da0: 2300 movs r3, #0 + 801179c: 2300 movs r3, #0 } - 8010da2: 4618 mov r0, r3 - 8010da4: 3714 adds r7, #20 - 8010da6: 46bd mov sp, r7 - 8010da8: f85d 7b04 ldr.w r7, [sp], #4 - 8010dac: 4770 bx lr + 801179e: 4618 mov r0, r3 + 80117a0: 3714 adds r7, #20 + 80117a2: 46bd mov sp, r7 + 80117a4: f85d 7b04 ldr.w r7, [sp], #4 + 80117a8: 4770 bx lr ... -08010db0 : +080117ac : uint8_t USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev, uint8_t ClassId) { USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[ClassId]; #else uint8_t USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev) { - 8010db0: b580 push {r7, lr} - 8010db2: b084 sub sp, #16 - 8010db4: af00 add r7, sp, #0 - 8010db6: 6078 str r0, [r7, #4] + 80117ac: b580 push {r7, lr} + 80117ae: b084 sub sp, #16 + 80117b0: af00 add r7, sp, #0 + 80117b2: 6078 str r0, [r7, #4] USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; - 8010db8: 687b ldr r3, [r7, #4] - 8010dba: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010dbe: 687b ldr r3, [r7, #4] - 8010dc0: 32b0 adds r2, #176 @ 0xb0 - 8010dc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010dc6: 60bb str r3, [r7, #8] + 80117b4: 687b ldr r3, [r7, #4] + 80117b6: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 80117ba: 687b ldr r3, [r7, #4] + 80117bc: 32b0 adds r2, #176 @ 0xb0 + 80117be: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80117c2: 60bb str r3, [r7, #8] #endif /* USE_USBD_COMPOSITE */ USBD_StatusTypeDef ret = USBD_BUSY; - 8010dc8: 2301 movs r3, #1 - 8010dca: 73fb strb r3, [r7, #15] + 80117c4: 2301 movs r3, #1 + 80117c6: 73fb strb r3, [r7, #15] #ifdef USE_USBD_COMPOSITE /* Get the Endpoints addresses allocated for this class instance */ CDCInEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_BULK, ClassId); #endif /* USE_USBD_COMPOSITE */ if (hcdc == NULL) - 8010dcc: 68bb ldr r3, [r7, #8] - 8010dce: 2b00 cmp r3, #0 - 8010dd0: d101 bne.n 8010dd6 + 80117c8: 68bb ldr r3, [r7, #8] + 80117ca: 2b00 cmp r3, #0 + 80117cc: d101 bne.n 80117d2 { return (uint8_t)USBD_FAIL; - 8010dd2: 2303 movs r3, #3 - 8010dd4: e025 b.n 8010e22 + 80117ce: 2303 movs r3, #3 + 80117d0: e025 b.n 801181e } if (hcdc->TxState == 0U) - 8010dd6: 68bb ldr r3, [r7, #8] - 8010dd8: f8d3 3214 ldr.w r3, [r3, #532] @ 0x214 - 8010ddc: 2b00 cmp r3, #0 - 8010dde: d11f bne.n 8010e20 + 80117d2: 68bb ldr r3, [r7, #8] + 80117d4: f8d3 3214 ldr.w r3, [r3, #532] @ 0x214 + 80117d8: 2b00 cmp r3, #0 + 80117da: d11f bne.n 801181c { /* Tx Transfer in progress */ hcdc->TxState = 1U; - 8010de0: 68bb ldr r3, [r7, #8] - 8010de2: 2201 movs r2, #1 - 8010de4: f8c3 2214 str.w r2, [r3, #532] @ 0x214 + 80117dc: 68bb ldr r3, [r7, #8] + 80117de: 2201 movs r2, #1 + 80117e0: f8c3 2214 str.w r2, [r3, #532] @ 0x214 /* Update the packet total length */ pdev->ep_in[CDCInEpAdd & 0xFU].total_length = hcdc->TxLength; - 8010de8: 4b10 ldr r3, [pc, #64] @ (8010e2c ) - 8010dea: 781b ldrb r3, [r3, #0] - 8010dec: f003 020f and.w r2, r3, #15 - 8010df0: 68bb ldr r3, [r7, #8] - 8010df2: f8d3 1210 ldr.w r1, [r3, #528] @ 0x210 - 8010df6: 6878 ldr r0, [r7, #4] - 8010df8: 4613 mov r3, r2 - 8010dfa: 009b lsls r3, r3, #2 - 8010dfc: 4413 add r3, r2 - 8010dfe: 009b lsls r3, r3, #2 - 8010e00: 4403 add r3, r0 - 8010e02: 3314 adds r3, #20 - 8010e04: 6019 str r1, [r3, #0] + 80117e4: 4b10 ldr r3, [pc, #64] @ (8011828 ) + 80117e6: 781b ldrb r3, [r3, #0] + 80117e8: f003 020f and.w r2, r3, #15 + 80117ec: 68bb ldr r3, [r7, #8] + 80117ee: f8d3 1210 ldr.w r1, [r3, #528] @ 0x210 + 80117f2: 6878 ldr r0, [r7, #4] + 80117f4: 4613 mov r3, r2 + 80117f6: 009b lsls r3, r3, #2 + 80117f8: 4413 add r3, r2 + 80117fa: 009b lsls r3, r3, #2 + 80117fc: 4403 add r3, r0 + 80117fe: 3314 adds r3, #20 + 8011800: 6019 str r1, [r3, #0] /* Transmit next packet */ (void)USBD_LL_Transmit(pdev, CDCInEpAdd, hcdc->TxBuffer, hcdc->TxLength); - 8010e06: 4b09 ldr r3, [pc, #36] @ (8010e2c ) - 8010e08: 7819 ldrb r1, [r3, #0] - 8010e0a: 68bb ldr r3, [r7, #8] - 8010e0c: f8d3 2208 ldr.w r2, [r3, #520] @ 0x208 - 8010e10: 68bb ldr r3, [r7, #8] - 8010e12: f8d3 3210 ldr.w r3, [r3, #528] @ 0x210 - 8010e16: 6878 ldr r0, [r7, #4] - 8010e18: f007 fcd1 bl 80187be + 8011802: 4b09 ldr r3, [pc, #36] @ (8011828 ) + 8011804: 7819 ldrb r1, [r3, #0] + 8011806: 68bb ldr r3, [r7, #8] + 8011808: f8d3 2208 ldr.w r2, [r3, #520] @ 0x208 + 801180c: 68bb ldr r3, [r7, #8] + 801180e: f8d3 3210 ldr.w r3, [r3, #528] @ 0x210 + 8011812: 6878 ldr r0, [r7, #4] + 8011814: f007 fcbb bl 801918e ret = USBD_OK; - 8010e1c: 2300 movs r3, #0 - 8010e1e: 73fb strb r3, [r7, #15] + 8011818: 2300 movs r3, #0 + 801181a: 73fb strb r3, [r7, #15] } return (uint8_t)ret; - 8010e20: 7bfb ldrb r3, [r7, #15] + 801181c: 7bfb ldrb r3, [r7, #15] } - 8010e22: 4618 mov r0, r3 - 8010e24: 3710 adds r7, #16 - 8010e26: 46bd mov sp, r7 - 8010e28: bd80 pop {r7, pc} - 8010e2a: bf00 nop - 8010e2c: 2000009f .word 0x2000009f + 801181e: 4618 mov r0, r3 + 8011820: 3710 adds r7, #16 + 8011822: 46bd mov sp, r7 + 8011824: bd80 pop {r7, pc} + 8011826: bf00 nop + 8011828: 2000009f .word 0x2000009f -08010e30 : +0801182c : * prepare OUT Endpoint for reception * @param pdev: device instance * @retval status */ uint8_t USBD_CDC_ReceivePacket(USBD_HandleTypeDef *pdev) { - 8010e30: b580 push {r7, lr} - 8010e32: b084 sub sp, #16 - 8010e34: af00 add r7, sp, #0 - 8010e36: 6078 str r0, [r7, #4] + 801182c: b580 push {r7, lr} + 801182e: b084 sub sp, #16 + 8011830: af00 add r7, sp, #0 + 8011832: 6078 str r0, [r7, #4] USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; - 8010e38: 687b ldr r3, [r7, #4] - 8010e3a: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010e3e: 687b ldr r3, [r7, #4] - 8010e40: 32b0 adds r2, #176 @ 0xb0 - 8010e42: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010e46: 60fb str r3, [r7, #12] + 8011834: 687b ldr r3, [r7, #4] + 8011836: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 801183a: 687b ldr r3, [r7, #4] + 801183c: 32b0 adds r2, #176 @ 0xb0 + 801183e: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011842: 60fb str r3, [r7, #12] #ifdef USE_USBD_COMPOSITE /* Get the Endpoints addresses allocated for this class instance */ CDCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); #endif /* USE_USBD_COMPOSITE */ if (pdev->pClassDataCmsit[pdev->classId] == NULL) - 8010e48: 687b ldr r3, [r7, #4] - 8010e4a: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010e4e: 687b ldr r3, [r7, #4] - 8010e50: 32b0 adds r2, #176 @ 0xb0 - 8010e52: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010e56: 2b00 cmp r3, #0 - 8010e58: d101 bne.n 8010e5e + 8011844: 687b ldr r3, [r7, #4] + 8011846: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 801184a: 687b ldr r3, [r7, #4] + 801184c: 32b0 adds r2, #176 @ 0xb0 + 801184e: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011852: 2b00 cmp r3, #0 + 8011854: d101 bne.n 801185a { return (uint8_t)USBD_FAIL; - 8010e5a: 2303 movs r3, #3 - 8010e5c: e018 b.n 8010e90 + 8011856: 2303 movs r3, #3 + 8011858: e018 b.n 801188c } if (pdev->dev_speed == USBD_SPEED_HIGH) - 8010e5e: 687b ldr r3, [r7, #4] - 8010e60: 7c1b ldrb r3, [r3, #16] - 8010e62: 2b00 cmp r3, #0 - 8010e64: d10a bne.n 8010e7c + 801185a: 687b ldr r3, [r7, #4] + 801185c: 7c1b ldrb r3, [r3, #16] + 801185e: 2b00 cmp r3, #0 + 8011860: d10a bne.n 8011878 { /* Prepare Out endpoint to receive next packet */ (void)USBD_LL_PrepareReceive(pdev, CDCOutEpAdd, hcdc->RxBuffer, - 8010e66: 4b0c ldr r3, [pc, #48] @ (8010e98 ) - 8010e68: 7819 ldrb r1, [r3, #0] - 8010e6a: 68fb ldr r3, [r7, #12] - 8010e6c: f8d3 2204 ldr.w r2, [r3, #516] @ 0x204 - 8010e70: f44f 7300 mov.w r3, #512 @ 0x200 - 8010e74: 6878 ldr r0, [r7, #4] - 8010e76: f007 fcc3 bl 8018800 - 8010e7a: e008 b.n 8010e8e + 8011862: 4b0c ldr r3, [pc, #48] @ (8011894 ) + 8011864: 7819 ldrb r1, [r3, #0] + 8011866: 68fb ldr r3, [r7, #12] + 8011868: f8d3 2204 ldr.w r2, [r3, #516] @ 0x204 + 801186c: f44f 7300 mov.w r3, #512 @ 0x200 + 8011870: 6878 ldr r0, [r7, #4] + 8011872: f007 fcad bl 80191d0 + 8011876: e008 b.n 801188a CDC_DATA_HS_OUT_PACKET_SIZE); } else { /* Prepare Out endpoint to receive next packet */ (void)USBD_LL_PrepareReceive(pdev, CDCOutEpAdd, hcdc->RxBuffer, - 8010e7c: 4b06 ldr r3, [pc, #24] @ (8010e98 ) - 8010e7e: 7819 ldrb r1, [r3, #0] - 8010e80: 68fb ldr r3, [r7, #12] - 8010e82: f8d3 2204 ldr.w r2, [r3, #516] @ 0x204 - 8010e86: 2340 movs r3, #64 @ 0x40 - 8010e88: 6878 ldr r0, [r7, #4] - 8010e8a: f007 fcb9 bl 8018800 + 8011878: 4b06 ldr r3, [pc, #24] @ (8011894 ) + 801187a: 7819 ldrb r1, [r3, #0] + 801187c: 68fb ldr r3, [r7, #12] + 801187e: f8d3 2204 ldr.w r2, [r3, #516] @ 0x204 + 8011882: 2340 movs r3, #64 @ 0x40 + 8011884: 6878 ldr r0, [r7, #4] + 8011886: f007 fca3 bl 80191d0 CDC_DATA_FS_OUT_PACKET_SIZE); } return (uint8_t)USBD_OK; - 8010e8e: 2300 movs r3, #0 + 801188a: 2300 movs r3, #0 } - 8010e90: 4618 mov r0, r3 - 8010e92: 3710 adds r7, #16 - 8010e94: 46bd mov sp, r7 - 8010e96: bd80 pop {r7, pc} - 8010e98: 200000a0 .word 0x200000a0 + 801188c: 4618 mov r0, r3 + 801188e: 3710 adds r7, #16 + 8011890: 46bd mov sp, r7 + 8011892: bd80 pop {r7, pc} + 8011894: 200000a0 .word 0x200000a0 -08010e9c : +08011898 : * @param id: Low level core index * @retval status: USBD Status */ USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id) { - 8010e9c: b580 push {r7, lr} - 8010e9e: b086 sub sp, #24 - 8010ea0: af00 add r7, sp, #0 - 8010ea2: 60f8 str r0, [r7, #12] - 8010ea4: 60b9 str r1, [r7, #8] - 8010ea6: 4613 mov r3, r2 - 8010ea8: 71fb strb r3, [r7, #7] + 8011898: b580 push {r7, lr} + 801189a: b086 sub sp, #24 + 801189c: af00 add r7, sp, #0 + 801189e: 60f8 str r0, [r7, #12] + 80118a0: 60b9 str r1, [r7, #8] + 80118a2: 4613 mov r3, r2 + 80118a4: 71fb strb r3, [r7, #7] USBD_StatusTypeDef ret; /* Check whether the USB Host handle is valid */ if (pdev == NULL) - 8010eaa: 68fb ldr r3, [r7, #12] - 8010eac: 2b00 cmp r3, #0 - 8010eae: d101 bne.n 8010eb4 + 80118a6: 68fb ldr r3, [r7, #12] + 80118a8: 2b00 cmp r3, #0 + 80118aa: d101 bne.n 80118b0 { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Device handle"); #endif /* (USBD_DEBUG_LEVEL > 1U) */ return USBD_FAIL; - 8010eb0: 2303 movs r3, #3 - 8010eb2: e01f b.n 8010ef4 + 80118ac: 2303 movs r3, #3 + 80118ae: e01f b.n 80118f0 pdev->NumClasses = 0; pdev->classId = 0; } #else /* Unlink previous class*/ pdev->pClass[0] = NULL; - 8010eb4: 68fb ldr r3, [r7, #12] - 8010eb6: 2200 movs r2, #0 - 8010eb8: f8c3 22b8 str.w r2, [r3, #696] @ 0x2b8 + 80118b0: 68fb ldr r3, [r7, #12] + 80118b2: 2200 movs r2, #0 + 80118b4: f8c3 22b8 str.w r2, [r3, #696] @ 0x2b8 pdev->pUserData[0] = NULL; - 8010ebc: 68fb ldr r3, [r7, #12] - 8010ebe: 2200 movs r2, #0 - 8010ec0: f8c3 22c4 str.w r2, [r3, #708] @ 0x2c4 + 80118b8: 68fb ldr r3, [r7, #12] + 80118ba: 2200 movs r2, #0 + 80118bc: f8c3 22c4 str.w r2, [r3, #708] @ 0x2c4 #endif /* USE_USBD_COMPOSITE */ pdev->pConfDesc = NULL; - 8010ec4: 68fb ldr r3, [r7, #12] - 8010ec6: 2200 movs r2, #0 - 8010ec8: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 + 80118c0: 68fb ldr r3, [r7, #12] + 80118c2: 2200 movs r2, #0 + 80118c4: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 /* Assign USBD Descriptors */ if (pdesc != NULL) - 8010ecc: 68bb ldr r3, [r7, #8] - 8010ece: 2b00 cmp r3, #0 - 8010ed0: d003 beq.n 8010eda + 80118c8: 68bb ldr r3, [r7, #8] + 80118ca: 2b00 cmp r3, #0 + 80118cc: d003 beq.n 80118d6 { pdev->pDesc = pdesc; - 8010ed2: 68fb ldr r3, [r7, #12] - 8010ed4: 68ba ldr r2, [r7, #8] - 8010ed6: f8c3 22b4 str.w r2, [r3, #692] @ 0x2b4 + 80118ce: 68fb ldr r3, [r7, #12] + 80118d0: 68ba ldr r2, [r7, #8] + 80118d2: f8c3 22b4 str.w r2, [r3, #692] @ 0x2b4 } /* Set Device initial State */ pdev->dev_state = USBD_STATE_DEFAULT; - 8010eda: 68fb ldr r3, [r7, #12] - 8010edc: 2201 movs r2, #1 - 8010ede: f883 229c strb.w r2, [r3, #668] @ 0x29c + 80118d6: 68fb ldr r3, [r7, #12] + 80118d8: 2201 movs r2, #1 + 80118da: f883 229c strb.w r2, [r3, #668] @ 0x29c pdev->id = id; - 8010ee2: 68fb ldr r3, [r7, #12] - 8010ee4: 79fa ldrb r2, [r7, #7] - 8010ee6: 701a strb r2, [r3, #0] + 80118de: 68fb ldr r3, [r7, #12] + 80118e0: 79fa ldrb r2, [r7, #7] + 80118e2: 701a strb r2, [r3, #0] /* Initialize low level driver */ ret = USBD_LL_Init(pdev); - 8010ee8: 68f8 ldr r0, [r7, #12] - 8010eea: f007 fb1d bl 8018528 - 8010eee: 4603 mov r3, r0 - 8010ef0: 75fb strb r3, [r7, #23] + 80118e4: 68f8 ldr r0, [r7, #12] + 80118e6: f007 fb07 bl 8018ef8 + 80118ea: 4603 mov r3, r0 + 80118ec: 75fb strb r3, [r7, #23] return ret; - 8010ef2: 7dfb ldrb r3, [r7, #23] + 80118ee: 7dfb ldrb r3, [r7, #23] } - 8010ef4: 4618 mov r0, r3 - 8010ef6: 3718 adds r7, #24 - 8010ef8: 46bd mov sp, r7 - 8010efa: bd80 pop {r7, pc} + 80118f0: 4618 mov r0, r3 + 80118f2: 3718 adds r7, #24 + 80118f4: 46bd mov sp, r7 + 80118f6: bd80 pop {r7, pc} -08010efc : +080118f8 : * @param pdev: Device Handle * @param pclass: Class handle * @retval USBD Status */ USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass) { - 8010efc: b580 push {r7, lr} - 8010efe: b084 sub sp, #16 - 8010f00: af00 add r7, sp, #0 - 8010f02: 6078 str r0, [r7, #4] - 8010f04: 6039 str r1, [r7, #0] + 80118f8: b580 push {r7, lr} + 80118fa: b084 sub sp, #16 + 80118fc: af00 add r7, sp, #0 + 80118fe: 6078 str r0, [r7, #4] + 8011900: 6039 str r1, [r7, #0] uint16_t len = 0U; - 8010f06: 2300 movs r3, #0 - 8010f08: 81fb strh r3, [r7, #14] + 8011902: 2300 movs r3, #0 + 8011904: 81fb strh r3, [r7, #14] if (pclass == NULL) - 8010f0a: 683b ldr r3, [r7, #0] - 8010f0c: 2b00 cmp r3, #0 - 8010f0e: d101 bne.n 8010f14 + 8011906: 683b ldr r3, [r7, #0] + 8011908: 2b00 cmp r3, #0 + 801190a: d101 bne.n 8011910 { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Class handle"); #endif /* (USBD_DEBUG_LEVEL > 1U) */ return USBD_FAIL; - 8010f10: 2303 movs r3, #3 - 8010f12: e025 b.n 8010f60 + 801190c: 2303 movs r3, #3 + 801190e: e025 b.n 801195c } /* link the class to the USB Device handle */ pdev->pClass[0] = pclass; - 8010f14: 687b ldr r3, [r7, #4] - 8010f16: 683a ldr r2, [r7, #0] - 8010f18: f8c3 22b8 str.w r2, [r3, #696] @ 0x2b8 + 8011910: 687b ldr r3, [r7, #4] + 8011912: 683a ldr r2, [r7, #0] + 8011914: f8c3 22b8 str.w r2, [r3, #696] @ 0x2b8 if (pdev->pClass[pdev->classId]->GetHSConfigDescriptor != NULL) { pdev->pConfDesc = (void *)pdev->pClass[pdev->classId]->GetHSConfigDescriptor(&len); } #else /* Default USE_USB_FS */ if (pdev->pClass[pdev->classId]->GetFSConfigDescriptor != NULL) - 8010f1c: 687b ldr r3, [r7, #4] - 8010f1e: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010f22: 687b ldr r3, [r7, #4] - 8010f24: 32ae adds r2, #174 @ 0xae - 8010f26: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010f2a: 6adb ldr r3, [r3, #44] @ 0x2c - 8010f2c: 2b00 cmp r3, #0 - 8010f2e: d00f beq.n 8010f50 + 8011918: 687b ldr r3, [r7, #4] + 801191a: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 801191e: 687b ldr r3, [r7, #4] + 8011920: 32ae adds r2, #174 @ 0xae + 8011922: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011926: 6adb ldr r3, [r3, #44] @ 0x2c + 8011928: 2b00 cmp r3, #0 + 801192a: d00f beq.n 801194c { pdev->pConfDesc = (void *)pdev->pClass[pdev->classId]->GetFSConfigDescriptor(&len); - 8010f30: 687b ldr r3, [r7, #4] - 8010f32: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8010f36: 687b ldr r3, [r7, #4] - 8010f38: 32ae adds r2, #174 @ 0xae - 8010f3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8010f3e: 6adb ldr r3, [r3, #44] @ 0x2c - 8010f40: f107 020e add.w r2, r7, #14 - 8010f44: 4610 mov r0, r2 - 8010f46: 4798 blx r3 - 8010f48: 4602 mov r2, r0 - 8010f4a: 687b ldr r3, [r7, #4] - 8010f4c: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 + 801192c: 687b ldr r3, [r7, #4] + 801192e: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 8011932: 687b ldr r3, [r7, #4] + 8011934: 32ae adds r2, #174 @ 0xae + 8011936: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 801193a: 6adb ldr r3, [r3, #44] @ 0x2c + 801193c: f107 020e add.w r2, r7, #14 + 8011940: 4610 mov r0, r2 + 8011942: 4798 blx r3 + 8011944: 4602 mov r2, r0 + 8011946: 687b ldr r3, [r7, #4] + 8011948: f8c3 22d0 str.w r2, [r3, #720] @ 0x2d0 } #endif /* USE_USB_FS */ /* Increment the NumClasses */ pdev->NumClasses++; - 8010f50: 687b ldr r3, [r7, #4] - 8010f52: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 - 8010f56: 1c5a adds r2, r3, #1 - 8010f58: 687b ldr r3, [r7, #4] - 8010f5a: f8c3 22d8 str.w r2, [r3, #728] @ 0x2d8 + 801194c: 687b ldr r3, [r7, #4] + 801194e: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 + 8011952: 1c5a adds r2, r3, #1 + 8011954: 687b ldr r3, [r7, #4] + 8011956: f8c3 22d8 str.w r2, [r3, #728] @ 0x2d8 return USBD_OK; - 8010f5e: 2300 movs r3, #0 + 801195a: 2300 movs r3, #0 } - 8010f60: 4618 mov r0, r3 - 8010f62: 3710 adds r7, #16 - 8010f64: 46bd mov sp, r7 - 8010f66: bd80 pop {r7, pc} + 801195c: 4618 mov r0, r3 + 801195e: 3710 adds r7, #16 + 8011960: 46bd mov sp, r7 + 8011962: bd80 pop {r7, pc} -08010f68 : +08011964 : * Start the USB Device Core. * @param pdev: Device Handle * @retval USBD Status */ USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev) { - 8010f68: b580 push {r7, lr} - 8010f6a: b082 sub sp, #8 - 8010f6c: af00 add r7, sp, #0 - 8010f6e: 6078 str r0, [r7, #4] + 8011964: b580 push {r7, lr} + 8011966: b082 sub sp, #8 + 8011968: af00 add r7, sp, #0 + 801196a: 6078 str r0, [r7, #4] #ifdef USE_USBD_COMPOSITE pdev->classId = 0U; #endif /* USE_USBD_COMPOSITE */ /* Start the low level driver */ return USBD_LL_Start(pdev); - 8010f70: 6878 ldr r0, [r7, #4] - 8010f72: f007 fb3b bl 80185ec - 8010f76: 4603 mov r3, r0 + 801196c: 6878 ldr r0, [r7, #4] + 801196e: f007 fb25 bl 8018fbc + 8011972: 4603 mov r3, r0 } - 8010f78: 4618 mov r0, r3 - 8010f7a: 3708 adds r7, #8 - 8010f7c: 46bd mov sp, r7 - 8010f7e: bd80 pop {r7, pc} + 8011974: 4618 mov r0, r3 + 8011976: 3708 adds r7, #8 + 8011978: 46bd mov sp, r7 + 801197a: bd80 pop {r7, pc} -08010f80 : +0801197c : * Launch test mode process * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev) { - 8010f80: b480 push {r7} - 8010f82: b083 sub sp, #12 - 8010f84: af00 add r7, sp, #0 - 8010f86: 6078 str r0, [r7, #4] + 801197c: b480 push {r7} + 801197e: b083 sub sp, #12 + 8011980: af00 add r7, sp, #0 + 8011982: 6078 str r0, [r7, #4] return ret; #else /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; - 8010f88: 2300 movs r3, #0 + 8011984: 2300 movs r3, #0 #endif /* USBD_HS_TESTMODE_ENABLE */ } - 8010f8a: 4618 mov r0, r3 - 8010f8c: 370c adds r7, #12 - 8010f8e: 46bd mov sp, r7 - 8010f90: f85d 7b04 ldr.w r7, [sp], #4 - 8010f94: 4770 bx lr + 8011986: 4618 mov r0, r3 + 8011988: 370c adds r7, #12 + 801198a: 46bd mov sp, r7 + 801198c: f85d 7b04 ldr.w r7, [sp], #4 + 8011990: 4770 bx lr -08010f96 : +08011992 : * @param cfgidx: configuration index * @retval status */ USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { - 8010f96: b580 push {r7, lr} - 8010f98: b084 sub sp, #16 - 8010f9a: af00 add r7, sp, #0 - 8010f9c: 6078 str r0, [r7, #4] - 8010f9e: 460b mov r3, r1 - 8010fa0: 70fb strb r3, [r7, #3] + 8011992: b580 push {r7, lr} + 8011994: b084 sub sp, #16 + 8011996: af00 add r7, sp, #0 + 8011998: 6078 str r0, [r7, #4] + 801199a: 460b mov r3, r1 + 801199c: 70fb strb r3, [r7, #3] USBD_StatusTypeDef ret = USBD_OK; - 8010fa2: 2300 movs r3, #0 - 8010fa4: 73fb strb r3, [r7, #15] + 801199e: 2300 movs r3, #0 + 80119a0: 73fb strb r3, [r7, #15] } } } } #else if (pdev->pClass[0] != NULL) - 8010fa6: 687b ldr r3, [r7, #4] - 8010fa8: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 8010fac: 2b00 cmp r3, #0 - 8010fae: d009 beq.n 8010fc4 + 80119a2: 687b ldr r3, [r7, #4] + 80119a4: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 80119a8: 2b00 cmp r3, #0 + 80119aa: d009 beq.n 80119c0 { /* Set configuration and Start the Class */ ret = (USBD_StatusTypeDef)pdev->pClass[0]->Init(pdev, cfgidx); - 8010fb0: 687b ldr r3, [r7, #4] - 8010fb2: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 8010fb6: 681b ldr r3, [r3, #0] - 8010fb8: 78fa ldrb r2, [r7, #3] - 8010fba: 4611 mov r1, r2 - 8010fbc: 6878 ldr r0, [r7, #4] - 8010fbe: 4798 blx r3 - 8010fc0: 4603 mov r3, r0 - 8010fc2: 73fb strb r3, [r7, #15] + 80119ac: 687b ldr r3, [r7, #4] + 80119ae: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 80119b2: 681b ldr r3, [r3, #0] + 80119b4: 78fa ldrb r2, [r7, #3] + 80119b6: 4611 mov r1, r2 + 80119b8: 6878 ldr r0, [r7, #4] + 80119ba: 4798 blx r3 + 80119bc: 4603 mov r3, r0 + 80119be: 73fb strb r3, [r7, #15] } #endif /* USE_USBD_COMPOSITE */ return ret; - 8010fc4: 7bfb ldrb r3, [r7, #15] + 80119c0: 7bfb ldrb r3, [r7, #15] } - 8010fc6: 4618 mov r0, r3 - 8010fc8: 3710 adds r7, #16 - 8010fca: 46bd mov sp, r7 - 8010fcc: bd80 pop {r7, pc} + 80119c2: 4618 mov r0, r3 + 80119c4: 3710 adds r7, #16 + 80119c6: 46bd mov sp, r7 + 80119c8: bd80 pop {r7, pc} -08010fce : +080119ca : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { - 8010fce: b580 push {r7, lr} - 8010fd0: b084 sub sp, #16 - 8010fd2: af00 add r7, sp, #0 - 8010fd4: 6078 str r0, [r7, #4] - 8010fd6: 460b mov r3, r1 - 8010fd8: 70fb strb r3, [r7, #3] + 80119ca: b580 push {r7, lr} + 80119cc: b084 sub sp, #16 + 80119ce: af00 add r7, sp, #0 + 80119d0: 6078 str r0, [r7, #4] + 80119d2: 460b mov r3, r1 + 80119d4: 70fb strb r3, [r7, #3] USBD_StatusTypeDef ret = USBD_OK; - 8010fda: 2300 movs r3, #0 - 8010fdc: 73fb strb r3, [r7, #15] + 80119d6: 2300 movs r3, #0 + 80119d8: 73fb strb r3, [r7, #15] } } } #else /* Clear configuration and De-initialize the Class process */ if (pdev->pClass[0]->DeInit(pdev, cfgidx) != 0U) - 8010fde: 687b ldr r3, [r7, #4] - 8010fe0: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 8010fe4: 685b ldr r3, [r3, #4] - 8010fe6: 78fa ldrb r2, [r7, #3] - 8010fe8: 4611 mov r1, r2 - 8010fea: 6878 ldr r0, [r7, #4] - 8010fec: 4798 blx r3 - 8010fee: 4603 mov r3, r0 - 8010ff0: 2b00 cmp r3, #0 - 8010ff2: d001 beq.n 8010ff8 + 80119da: 687b ldr r3, [r7, #4] + 80119dc: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 80119e0: 685b ldr r3, [r3, #4] + 80119e2: 78fa ldrb r2, [r7, #3] + 80119e4: 4611 mov r1, r2 + 80119e6: 6878 ldr r0, [r7, #4] + 80119e8: 4798 blx r3 + 80119ea: 4603 mov r3, r0 + 80119ec: 2b00 cmp r3, #0 + 80119ee: d001 beq.n 80119f4 { ret = USBD_FAIL; - 8010ff4: 2303 movs r3, #3 - 8010ff6: 73fb strb r3, [r7, #15] + 80119f0: 2303 movs r3, #3 + 80119f2: 73fb strb r3, [r7, #15] } #endif /* USE_USBD_COMPOSITE */ return ret; - 8010ff8: 7bfb ldrb r3, [r7, #15] + 80119f4: 7bfb ldrb r3, [r7, #15] } - 8010ffa: 4618 mov r0, r3 - 8010ffc: 3710 adds r7, #16 - 8010ffe: 46bd mov sp, r7 - 8011000: bd80 pop {r7, pc} + 80119f6: 4618 mov r0, r3 + 80119f8: 3710 adds r7, #16 + 80119fa: 46bd mov sp, r7 + 80119fc: bd80 pop {r7, pc} -08011002 : +080119fe : * @param pdev: device instance * @param psetup: setup packet buffer pointer * @retval status */ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) { - 8011002: b580 push {r7, lr} - 8011004: b084 sub sp, #16 - 8011006: af00 add r7, sp, #0 - 8011008: 6078 str r0, [r7, #4] - 801100a: 6039 str r1, [r7, #0] + 80119fe: b580 push {r7, lr} + 8011a00: b084 sub sp, #16 + 8011a02: af00 add r7, sp, #0 + 8011a04: 6078 str r0, [r7, #4] + 8011a06: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret; USBD_ParseSetupRequest(&pdev->request, psetup); - 801100c: 687b ldr r3, [r7, #4] - 801100e: f203 23aa addw r3, r3, #682 @ 0x2aa - 8011012: 6839 ldr r1, [r7, #0] - 8011014: 4618 mov r0, r3 - 8011016: f001 f8ba bl 801218e + 8011a08: 687b ldr r3, [r7, #4] + 8011a0a: f203 23aa addw r3, r3, #682 @ 0x2aa + 8011a0e: 6839 ldr r1, [r7, #0] + 8011a10: 4618 mov r0, r3 + 8011a12: f001 f8ba bl 8012b8a pdev->ep0_state = USBD_EP0_SETUP; - 801101a: 687b ldr r3, [r7, #4] - 801101c: 2201 movs r2, #1 - 801101e: f8c3 2294 str.w r2, [r3, #660] @ 0x294 + 8011a16: 687b ldr r3, [r7, #4] + 8011a18: 2201 movs r2, #1 + 8011a1a: f8c3 2294 str.w r2, [r3, #660] @ 0x294 pdev->ep0_data_len = pdev->request.wLength; - 8011022: 687b ldr r3, [r7, #4] - 8011024: f8b3 32b0 ldrh.w r3, [r3, #688] @ 0x2b0 - 8011028: 461a mov r2, r3 - 801102a: 687b ldr r3, [r7, #4] - 801102c: f8c3 2298 str.w r2, [r3, #664] @ 0x298 + 8011a1e: 687b ldr r3, [r7, #4] + 8011a20: f8b3 32b0 ldrh.w r3, [r3, #688] @ 0x2b0 + 8011a24: 461a mov r2, r3 + 8011a26: 687b ldr r3, [r7, #4] + 8011a28: f8c3 2298 str.w r2, [r3, #664] @ 0x298 switch (pdev->request.bmRequest & 0x1FU) - 8011030: 687b ldr r3, [r7, #4] - 8011032: f893 32aa ldrb.w r3, [r3, #682] @ 0x2aa - 8011036: f003 031f and.w r3, r3, #31 - 801103a: 2b02 cmp r3, #2 - 801103c: d01a beq.n 8011074 - 801103e: 2b02 cmp r3, #2 - 8011040: d822 bhi.n 8011088 - 8011042: 2b00 cmp r3, #0 - 8011044: d002 beq.n 801104c - 8011046: 2b01 cmp r3, #1 - 8011048: d00a beq.n 8011060 - 801104a: e01d b.n 8011088 + 8011a2c: 687b ldr r3, [r7, #4] + 8011a2e: f893 32aa ldrb.w r3, [r3, #682] @ 0x2aa + 8011a32: f003 031f and.w r3, r3, #31 + 8011a36: 2b02 cmp r3, #2 + 8011a38: d01a beq.n 8011a70 + 8011a3a: 2b02 cmp r3, #2 + 8011a3c: d822 bhi.n 8011a84 + 8011a3e: 2b00 cmp r3, #0 + 8011a40: d002 beq.n 8011a48 + 8011a42: 2b01 cmp r3, #1 + 8011a44: d00a beq.n 8011a5c + 8011a46: e01d b.n 8011a84 { case USB_REQ_RECIPIENT_DEVICE: ret = USBD_StdDevReq(pdev, &pdev->request); - 801104c: 687b ldr r3, [r7, #4] - 801104e: f203 23aa addw r3, r3, #682 @ 0x2aa - 8011052: 4619 mov r1, r3 - 8011054: 6878 ldr r0, [r7, #4] - 8011056: f000 fae5 bl 8011624 - 801105a: 4603 mov r3, r0 - 801105c: 73fb strb r3, [r7, #15] + 8011a48: 687b ldr r3, [r7, #4] + 8011a4a: f203 23aa addw r3, r3, #682 @ 0x2aa + 8011a4e: 4619 mov r1, r3 + 8011a50: 6878 ldr r0, [r7, #4] + 8011a52: f000 fae5 bl 8012020 + 8011a56: 4603 mov r3, r0 + 8011a58: 73fb strb r3, [r7, #15] break; - 801105e: e020 b.n 80110a2 + 8011a5a: e020 b.n 8011a9e case USB_REQ_RECIPIENT_INTERFACE: ret = USBD_StdItfReq(pdev, &pdev->request); - 8011060: 687b ldr r3, [r7, #4] - 8011062: f203 23aa addw r3, r3, #682 @ 0x2aa - 8011066: 4619 mov r1, r3 - 8011068: 6878 ldr r0, [r7, #4] - 801106a: f000 fb4d bl 8011708 - 801106e: 4603 mov r3, r0 - 8011070: 73fb strb r3, [r7, #15] + 8011a5c: 687b ldr r3, [r7, #4] + 8011a5e: f203 23aa addw r3, r3, #682 @ 0x2aa + 8011a62: 4619 mov r1, r3 + 8011a64: 6878 ldr r0, [r7, #4] + 8011a66: f000 fb4d bl 8012104 + 8011a6a: 4603 mov r3, r0 + 8011a6c: 73fb strb r3, [r7, #15] break; - 8011072: e016 b.n 80110a2 + 8011a6e: e016 b.n 8011a9e case USB_REQ_RECIPIENT_ENDPOINT: ret = USBD_StdEPReq(pdev, &pdev->request); - 8011074: 687b ldr r3, [r7, #4] - 8011076: f203 23aa addw r3, r3, #682 @ 0x2aa - 801107a: 4619 mov r1, r3 - 801107c: 6878 ldr r0, [r7, #4] - 801107e: f000 fbaf bl 80117e0 - 8011082: 4603 mov r3, r0 - 8011084: 73fb strb r3, [r7, #15] + 8011a70: 687b ldr r3, [r7, #4] + 8011a72: f203 23aa addw r3, r3, #682 @ 0x2aa + 8011a76: 4619 mov r1, r3 + 8011a78: 6878 ldr r0, [r7, #4] + 8011a7a: f000 fbaf bl 80121dc + 8011a7e: 4603 mov r3, r0 + 8011a80: 73fb strb r3, [r7, #15] break; - 8011086: e00c b.n 80110a2 + 8011a82: e00c b.n 8011a9e default: ret = USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U)); - 8011088: 687b ldr r3, [r7, #4] - 801108a: f893 32aa ldrb.w r3, [r3, #682] @ 0x2aa - 801108e: f023 037f bic.w r3, r3, #127 @ 0x7f - 8011092: b2db uxtb r3, r3 - 8011094: 4619 mov r1, r3 - 8011096: 6878 ldr r0, [r7, #4] - 8011098: f007 fb08 bl 80186ac - 801109c: 4603 mov r3, r0 - 801109e: 73fb strb r3, [r7, #15] + 8011a84: 687b ldr r3, [r7, #4] + 8011a86: f893 32aa ldrb.w r3, [r3, #682] @ 0x2aa + 8011a8a: f023 037f bic.w r3, r3, #127 @ 0x7f + 8011a8e: b2db uxtb r3, r3 + 8011a90: 4619 mov r1, r3 + 8011a92: 6878 ldr r0, [r7, #4] + 8011a94: f007 faf2 bl 801907c + 8011a98: 4603 mov r3, r0 + 8011a9a: 73fb strb r3, [r7, #15] break; - 80110a0: bf00 nop + 8011a9c: bf00 nop } return ret; - 80110a2: 7bfb ldrb r3, [r7, #15] + 8011a9e: 7bfb ldrb r3, [r7, #15] } - 80110a4: 4618 mov r0, r3 - 80110a6: 3710 adds r7, #16 - 80110a8: 46bd mov sp, r7 - 80110aa: bd80 pop {r7, pc} + 8011aa0: 4618 mov r0, r3 + 8011aa2: 3710 adds r7, #16 + 8011aa4: 46bd mov sp, r7 + 8011aa6: bd80 pop {r7, pc} -080110ac : +08011aa8 : * @param pdata: data pointer * @retval status */ USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { - 80110ac: b580 push {r7, lr} - 80110ae: b086 sub sp, #24 - 80110b0: af00 add r7, sp, #0 - 80110b2: 60f8 str r0, [r7, #12] - 80110b4: 460b mov r3, r1 - 80110b6: 607a str r2, [r7, #4] - 80110b8: 72fb strb r3, [r7, #11] + 8011aa8: b580 push {r7, lr} + 8011aaa: b086 sub sp, #24 + 8011aac: af00 add r7, sp, #0 + 8011aae: 60f8 str r0, [r7, #12] + 8011ab0: 460b mov r3, r1 + 8011ab2: 607a str r2, [r7, #4] + 8011ab4: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret = USBD_OK; - 80110ba: 2300 movs r3, #0 - 80110bc: 75fb strb r3, [r7, #23] + 8011ab6: 2300 movs r3, #0 + 8011ab8: 75fb strb r3, [r7, #23] uint8_t idx; UNUSED(pdata); if (epnum == 0U) - 80110be: 7afb ldrb r3, [r7, #11] - 80110c0: 2b00 cmp r3, #0 - 80110c2: d177 bne.n 80111b4 + 8011aba: 7afb ldrb r3, [r7, #11] + 8011abc: 2b00 cmp r3, #0 + 8011abe: d177 bne.n 8011bb0 { pep = &pdev->ep_out[0]; - 80110c4: 68fb ldr r3, [r7, #12] - 80110c6: f503 73aa add.w r3, r3, #340 @ 0x154 - 80110ca: 613b str r3, [r7, #16] + 8011ac0: 68fb ldr r3, [r7, #12] + 8011ac2: f503 73aa add.w r3, r3, #340 @ 0x154 + 8011ac6: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_OUT) - 80110cc: 68fb ldr r3, [r7, #12] - 80110ce: f8d3 3294 ldr.w r3, [r3, #660] @ 0x294 - 80110d2: 2b03 cmp r3, #3 - 80110d4: f040 80a1 bne.w 801121a + 8011ac8: 68fb ldr r3, [r7, #12] + 8011aca: f8d3 3294 ldr.w r3, [r3, #660] @ 0x294 + 8011ace: 2b03 cmp r3, #3 + 8011ad0: f040 80a1 bne.w 8011c16 { if (pep->rem_length > pep->maxpacket) - 80110d8: 693b ldr r3, [r7, #16] - 80110da: 685b ldr r3, [r3, #4] - 80110dc: 693a ldr r2, [r7, #16] - 80110de: 8992 ldrh r2, [r2, #12] - 80110e0: 4293 cmp r3, r2 - 80110e2: d91c bls.n 801111e + 8011ad4: 693b ldr r3, [r7, #16] + 8011ad6: 685b ldr r3, [r3, #4] + 8011ad8: 693a ldr r2, [r7, #16] + 8011ada: 8992 ldrh r2, [r2, #12] + 8011adc: 4293 cmp r3, r2 + 8011ade: d91c bls.n 8011b1a { pep->rem_length -= pep->maxpacket; - 80110e4: 693b ldr r3, [r7, #16] - 80110e6: 685b ldr r3, [r3, #4] - 80110e8: 693a ldr r2, [r7, #16] - 80110ea: 8992 ldrh r2, [r2, #12] - 80110ec: 1a9a subs r2, r3, r2 - 80110ee: 693b ldr r3, [r7, #16] - 80110f0: 605a str r2, [r3, #4] + 8011ae0: 693b ldr r3, [r7, #16] + 8011ae2: 685b ldr r3, [r3, #4] + 8011ae4: 693a ldr r2, [r7, #16] + 8011ae6: 8992 ldrh r2, [r2, #12] + 8011ae8: 1a9a subs r2, r3, r2 + 8011aea: 693b ldr r3, [r7, #16] + 8011aec: 605a str r2, [r3, #4] pep->pbuffer += pep->maxpacket; - 80110f2: 693b ldr r3, [r7, #16] - 80110f4: 691b ldr r3, [r3, #16] - 80110f6: 693a ldr r2, [r7, #16] - 80110f8: 8992 ldrh r2, [r2, #12] - 80110fa: 441a add r2, r3 - 80110fc: 693b ldr r3, [r7, #16] - 80110fe: 611a str r2, [r3, #16] + 8011aee: 693b ldr r3, [r7, #16] + 8011af0: 691b ldr r3, [r3, #16] + 8011af2: 693a ldr r2, [r7, #16] + 8011af4: 8992 ldrh r2, [r2, #12] + 8011af6: 441a add r2, r3 + 8011af8: 693b ldr r3, [r7, #16] + 8011afa: 611a str r2, [r3, #16] (void)USBD_CtlContinueRx(pdev, pep->pbuffer, MAX(pep->rem_length, pep->maxpacket)); - 8011100: 693b ldr r3, [r7, #16] - 8011102: 6919 ldr r1, [r3, #16] - 8011104: 693b ldr r3, [r7, #16] - 8011106: 899b ldrh r3, [r3, #12] - 8011108: 461a mov r2, r3 - 801110a: 693b ldr r3, [r7, #16] - 801110c: 685b ldr r3, [r3, #4] - 801110e: 4293 cmp r3, r2 - 8011110: bf38 it cc - 8011112: 4613 movcc r3, r2 - 8011114: 461a mov r2, r3 - 8011116: 68f8 ldr r0, [r7, #12] - 8011118: f001 f940 bl 801239c - 801111c: e07d b.n 801121a + 8011afc: 693b ldr r3, [r7, #16] + 8011afe: 6919 ldr r1, [r3, #16] + 8011b00: 693b ldr r3, [r7, #16] + 8011b02: 899b ldrh r3, [r3, #12] + 8011b04: 461a mov r2, r3 + 8011b06: 693b ldr r3, [r7, #16] + 8011b08: 685b ldr r3, [r3, #4] + 8011b0a: 4293 cmp r3, r2 + 8011b0c: bf38 it cc + 8011b0e: 4613 movcc r3, r2 + 8011b10: 461a mov r2, r3 + 8011b12: 68f8 ldr r0, [r7, #12] + 8011b14: f001 f940 bl 8012d98 + 8011b18: e07d b.n 8011c16 } else { /* Find the class ID relative to the current request */ switch (pdev->request.bmRequest & 0x1FU) - 801111e: 68fb ldr r3, [r7, #12] - 8011120: f893 32aa ldrb.w r3, [r3, #682] @ 0x2aa - 8011124: f003 031f and.w r3, r3, #31 - 8011128: 2b02 cmp r3, #2 - 801112a: d014 beq.n 8011156 - 801112c: 2b02 cmp r3, #2 - 801112e: d81d bhi.n 801116c - 8011130: 2b00 cmp r3, #0 - 8011132: d002 beq.n 801113a - 8011134: 2b01 cmp r3, #1 - 8011136: d003 beq.n 8011140 - 8011138: e018 b.n 801116c + 8011b1a: 68fb ldr r3, [r7, #12] + 8011b1c: f893 32aa ldrb.w r3, [r3, #682] @ 0x2aa + 8011b20: f003 031f and.w r3, r3, #31 + 8011b24: 2b02 cmp r3, #2 + 8011b26: d014 beq.n 8011b52 + 8011b28: 2b02 cmp r3, #2 + 8011b2a: d81d bhi.n 8011b68 + 8011b2c: 2b00 cmp r3, #0 + 8011b2e: d002 beq.n 8011b36 + 8011b30: 2b01 cmp r3, #1 + 8011b32: d003 beq.n 8011b3c + 8011b34: e018 b.n 8011b68 { case USB_REQ_RECIPIENT_DEVICE: /* Device requests must be managed by the first instantiated class (or duplicated by all classes for simplicity) */ idx = 0U; - 801113a: 2300 movs r3, #0 - 801113c: 75bb strb r3, [r7, #22] + 8011b36: 2300 movs r3, #0 + 8011b38: 75bb strb r3, [r7, #22] break; - 801113e: e018 b.n 8011172 + 8011b3a: e018 b.n 8011b6e case USB_REQ_RECIPIENT_INTERFACE: idx = USBD_CoreFindIF(pdev, LOBYTE(pdev->request.wIndex)); - 8011140: 68fb ldr r3, [r7, #12] - 8011142: f8b3 32ae ldrh.w r3, [r3, #686] @ 0x2ae - 8011146: b2db uxtb r3, r3 - 8011148: 4619 mov r1, r3 - 801114a: 68f8 ldr r0, [r7, #12] - 801114c: f000 f9dc bl 8011508 - 8011150: 4603 mov r3, r0 - 8011152: 75bb strb r3, [r7, #22] + 8011b3c: 68fb ldr r3, [r7, #12] + 8011b3e: f8b3 32ae ldrh.w r3, [r3, #686] @ 0x2ae + 8011b42: b2db uxtb r3, r3 + 8011b44: 4619 mov r1, r3 + 8011b46: 68f8 ldr r0, [r7, #12] + 8011b48: f000 f9dc bl 8011f04 + 8011b4c: 4603 mov r3, r0 + 8011b4e: 75bb strb r3, [r7, #22] break; - 8011154: e00d b.n 8011172 + 8011b50: e00d b.n 8011b6e case USB_REQ_RECIPIENT_ENDPOINT: idx = USBD_CoreFindEP(pdev, LOBYTE(pdev->request.wIndex)); - 8011156: 68fb ldr r3, [r7, #12] - 8011158: f8b3 32ae ldrh.w r3, [r3, #686] @ 0x2ae - 801115c: b2db uxtb r3, r3 - 801115e: 4619 mov r1, r3 - 8011160: 68f8 ldr r0, [r7, #12] - 8011162: f000 f9de bl 8011522 - 8011166: 4603 mov r3, r0 - 8011168: 75bb strb r3, [r7, #22] + 8011b52: 68fb ldr r3, [r7, #12] + 8011b54: f8b3 32ae ldrh.w r3, [r3, #686] @ 0x2ae + 8011b58: b2db uxtb r3, r3 + 8011b5a: 4619 mov r1, r3 + 8011b5c: 68f8 ldr r0, [r7, #12] + 8011b5e: f000 f9de bl 8011f1e + 8011b62: 4603 mov r3, r0 + 8011b64: 75bb strb r3, [r7, #22] break; - 801116a: e002 b.n 8011172 + 8011b66: e002 b.n 8011b6e default: /* Back to the first class in case of doubt */ idx = 0U; - 801116c: 2300 movs r3, #0 - 801116e: 75bb strb r3, [r7, #22] + 8011b68: 2300 movs r3, #0 + 8011b6a: 75bb strb r3, [r7, #22] break; - 8011170: bf00 nop + 8011b6c: bf00 nop } if (idx < USBD_MAX_SUPPORTED_CLASS) - 8011172: 7dbb ldrb r3, [r7, #22] - 8011174: 2b00 cmp r3, #0 - 8011176: d119 bne.n 80111ac + 8011b6e: 7dbb ldrb r3, [r7, #22] + 8011b70: 2b00 cmp r3, #0 + 8011b72: d119 bne.n 8011ba8 { /* Setup the class ID and route the request to the relative class function */ if (pdev->dev_state == USBD_STATE_CONFIGURED) - 8011178: 68fb ldr r3, [r7, #12] - 801117a: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 801117e: b2db uxtb r3, r3 - 8011180: 2b03 cmp r3, #3 - 8011182: d113 bne.n 80111ac + 8011b74: 68fb ldr r3, [r7, #12] + 8011b76: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011b7a: b2db uxtb r3, r3 + 8011b7c: 2b03 cmp r3, #3 + 8011b7e: d113 bne.n 8011ba8 { if (pdev->pClass[idx]->EP0_RxReady != NULL) - 8011184: 7dba ldrb r2, [r7, #22] - 8011186: 68fb ldr r3, [r7, #12] - 8011188: 32ae adds r2, #174 @ 0xae - 801118a: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 801118e: 691b ldr r3, [r3, #16] - 8011190: 2b00 cmp r3, #0 - 8011192: d00b beq.n 80111ac + 8011b80: 7dba ldrb r2, [r7, #22] + 8011b82: 68fb ldr r3, [r7, #12] + 8011b84: 32ae adds r2, #174 @ 0xae + 8011b86: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011b8a: 691b ldr r3, [r3, #16] + 8011b8c: 2b00 cmp r3, #0 + 8011b8e: d00b beq.n 8011ba8 { pdev->classId = idx; - 8011194: 7dba ldrb r2, [r7, #22] - 8011196: 68fb ldr r3, [r7, #12] - 8011198: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 + 8011b90: 7dba ldrb r2, [r7, #22] + 8011b92: 68fb ldr r3, [r7, #12] + 8011b94: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 pdev->pClass[idx]->EP0_RxReady(pdev); - 801119c: 7dba ldrb r2, [r7, #22] - 801119e: 68fb ldr r3, [r7, #12] - 80111a0: 32ae adds r2, #174 @ 0xae - 80111a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 80111a6: 691b ldr r3, [r3, #16] - 80111a8: 68f8 ldr r0, [r7, #12] - 80111aa: 4798 blx r3 + 8011b98: 7dba ldrb r2, [r7, #22] + 8011b9a: 68fb ldr r3, [r7, #12] + 8011b9c: 32ae adds r2, #174 @ 0xae + 8011b9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011ba2: 691b ldr r3, [r3, #16] + 8011ba4: 68f8 ldr r0, [r7, #12] + 8011ba6: 4798 blx r3 } } } (void)USBD_CtlSendStatus(pdev); - 80111ac: 68f8 ldr r0, [r7, #12] - 80111ae: f001 f906 bl 80123be - 80111b2: e032 b.n 801121a + 8011ba8: 68f8 ldr r0, [r7, #12] + 8011baa: f001 f906 bl 8012dba + 8011bae: e032 b.n 8011c16 } } else { /* Get the class index relative to this interface */ idx = USBD_CoreFindEP(pdev, (epnum & 0x7FU)); - 80111b4: 7afb ldrb r3, [r7, #11] - 80111b6: f003 037f and.w r3, r3, #127 @ 0x7f - 80111ba: b2db uxtb r3, r3 - 80111bc: 4619 mov r1, r3 - 80111be: 68f8 ldr r0, [r7, #12] - 80111c0: f000 f9af bl 8011522 - 80111c4: 4603 mov r3, r0 - 80111c6: 75bb strb r3, [r7, #22] + 8011bb0: 7afb ldrb r3, [r7, #11] + 8011bb2: f003 037f and.w r3, r3, #127 @ 0x7f + 8011bb6: b2db uxtb r3, r3 + 8011bb8: 4619 mov r1, r3 + 8011bba: 68f8 ldr r0, [r7, #12] + 8011bbc: f000 f9af bl 8011f1e + 8011bc0: 4603 mov r3, r0 + 8011bc2: 75bb strb r3, [r7, #22] if (((uint16_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) - 80111c8: 7dbb ldrb r3, [r7, #22] - 80111ca: 2bff cmp r3, #255 @ 0xff - 80111cc: d025 beq.n 801121a - 80111ce: 7dbb ldrb r3, [r7, #22] - 80111d0: 2b00 cmp r3, #0 - 80111d2: d122 bne.n 801121a + 8011bc4: 7dbb ldrb r3, [r7, #22] + 8011bc6: 2bff cmp r3, #255 @ 0xff + 8011bc8: d025 beq.n 8011c16 + 8011bca: 7dbb ldrb r3, [r7, #22] + 8011bcc: 2b00 cmp r3, #0 + 8011bce: d122 bne.n 8011c16 { /* Call the class data out function to manage the request */ if (pdev->dev_state == USBD_STATE_CONFIGURED) - 80111d4: 68fb ldr r3, [r7, #12] - 80111d6: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 80111da: b2db uxtb r3, r3 - 80111dc: 2b03 cmp r3, #3 - 80111de: d117 bne.n 8011210 + 8011bd0: 68fb ldr r3, [r7, #12] + 8011bd2: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011bd6: b2db uxtb r3, r3 + 8011bd8: 2b03 cmp r3, #3 + 8011bda: d117 bne.n 8011c0c { if (pdev->pClass[idx]->DataOut != NULL) - 80111e0: 7dba ldrb r2, [r7, #22] - 80111e2: 68fb ldr r3, [r7, #12] - 80111e4: 32ae adds r2, #174 @ 0xae - 80111e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 80111ea: 699b ldr r3, [r3, #24] - 80111ec: 2b00 cmp r3, #0 - 80111ee: d00f beq.n 8011210 + 8011bdc: 7dba ldrb r2, [r7, #22] + 8011bde: 68fb ldr r3, [r7, #12] + 8011be0: 32ae adds r2, #174 @ 0xae + 8011be2: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011be6: 699b ldr r3, [r3, #24] + 8011be8: 2b00 cmp r3, #0 + 8011bea: d00f beq.n 8011c0c { pdev->classId = idx; - 80111f0: 7dba ldrb r2, [r7, #22] - 80111f2: 68fb ldr r3, [r7, #12] - 80111f4: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 + 8011bec: 7dba ldrb r2, [r7, #22] + 8011bee: 68fb ldr r3, [r7, #12] + 8011bf0: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataOut(pdev, epnum); - 80111f8: 7dba ldrb r2, [r7, #22] - 80111fa: 68fb ldr r3, [r7, #12] - 80111fc: 32ae adds r2, #174 @ 0xae - 80111fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8011202: 699b ldr r3, [r3, #24] - 8011204: 7afa ldrb r2, [r7, #11] - 8011206: 4611 mov r1, r2 - 8011208: 68f8 ldr r0, [r7, #12] - 801120a: 4798 blx r3 - 801120c: 4603 mov r3, r0 - 801120e: 75fb strb r3, [r7, #23] + 8011bf4: 7dba ldrb r2, [r7, #22] + 8011bf6: 68fb ldr r3, [r7, #12] + 8011bf8: 32ae adds r2, #174 @ 0xae + 8011bfa: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011bfe: 699b ldr r3, [r3, #24] + 8011c00: 7afa ldrb r2, [r7, #11] + 8011c02: 4611 mov r1, r2 + 8011c04: 68f8 ldr r0, [r7, #12] + 8011c06: 4798 blx r3 + 8011c08: 4603 mov r3, r0 + 8011c0a: 75fb strb r3, [r7, #23] } } if (ret != USBD_OK) - 8011210: 7dfb ldrb r3, [r7, #23] - 8011212: 2b00 cmp r3, #0 - 8011214: d001 beq.n 801121a + 8011c0c: 7dfb ldrb r3, [r7, #23] + 8011c0e: 2b00 cmp r3, #0 + 8011c10: d001 beq.n 8011c16 { return ret; - 8011216: 7dfb ldrb r3, [r7, #23] - 8011218: e000 b.n 801121c + 8011c12: 7dfb ldrb r3, [r7, #23] + 8011c14: e000 b.n 8011c18 } } } return USBD_OK; - 801121a: 2300 movs r3, #0 + 8011c16: 2300 movs r3, #0 } - 801121c: 4618 mov r0, r3 - 801121e: 3718 adds r7, #24 - 8011220: 46bd mov sp, r7 - 8011222: bd80 pop {r7, pc} + 8011c18: 4618 mov r0, r3 + 8011c1a: 3718 adds r7, #24 + 8011c1c: 46bd mov sp, r7 + 8011c1e: bd80 pop {r7, pc} -08011224 : +08011c20 : * @param pdata: data pointer * @retval status */ USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { - 8011224: b580 push {r7, lr} - 8011226: b086 sub sp, #24 - 8011228: af00 add r7, sp, #0 - 801122a: 60f8 str r0, [r7, #12] - 801122c: 460b mov r3, r1 - 801122e: 607a str r2, [r7, #4] - 8011230: 72fb strb r3, [r7, #11] + 8011c20: b580 push {r7, lr} + 8011c22: b086 sub sp, #24 + 8011c24: af00 add r7, sp, #0 + 8011c26: 60f8 str r0, [r7, #12] + 8011c28: 460b mov r3, r1 + 8011c2a: 607a str r2, [r7, #4] + 8011c2c: 72fb strb r3, [r7, #11] USBD_StatusTypeDef ret; uint8_t idx; UNUSED(pdata); if (epnum == 0U) - 8011232: 7afb ldrb r3, [r7, #11] - 8011234: 2b00 cmp r3, #0 - 8011236: d178 bne.n 801132a + 8011c2e: 7afb ldrb r3, [r7, #11] + 8011c30: 2b00 cmp r3, #0 + 8011c32: d178 bne.n 8011d26 { pep = &pdev->ep_in[0]; - 8011238: 68fb ldr r3, [r7, #12] - 801123a: 3314 adds r3, #20 - 801123c: 613b str r3, [r7, #16] + 8011c34: 68fb ldr r3, [r7, #12] + 8011c36: 3314 adds r3, #20 + 8011c38: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_IN) - 801123e: 68fb ldr r3, [r7, #12] - 8011240: f8d3 3294 ldr.w r3, [r3, #660] @ 0x294 - 8011244: 2b02 cmp r3, #2 - 8011246: d163 bne.n 8011310 + 8011c3a: 68fb ldr r3, [r7, #12] + 8011c3c: f8d3 3294 ldr.w r3, [r3, #660] @ 0x294 + 8011c40: 2b02 cmp r3, #2 + 8011c42: d163 bne.n 8011d0c { if (pep->rem_length > pep->maxpacket) - 8011248: 693b ldr r3, [r7, #16] - 801124a: 685b ldr r3, [r3, #4] - 801124c: 693a ldr r2, [r7, #16] - 801124e: 8992 ldrh r2, [r2, #12] - 8011250: 4293 cmp r3, r2 - 8011252: d91c bls.n 801128e + 8011c44: 693b ldr r3, [r7, #16] + 8011c46: 685b ldr r3, [r3, #4] + 8011c48: 693a ldr r2, [r7, #16] + 8011c4a: 8992 ldrh r2, [r2, #12] + 8011c4c: 4293 cmp r3, r2 + 8011c4e: d91c bls.n 8011c8a { pep->rem_length -= pep->maxpacket; - 8011254: 693b ldr r3, [r7, #16] - 8011256: 685b ldr r3, [r3, #4] - 8011258: 693a ldr r2, [r7, #16] - 801125a: 8992 ldrh r2, [r2, #12] - 801125c: 1a9a subs r2, r3, r2 - 801125e: 693b ldr r3, [r7, #16] - 8011260: 605a str r2, [r3, #4] + 8011c50: 693b ldr r3, [r7, #16] + 8011c52: 685b ldr r3, [r3, #4] + 8011c54: 693a ldr r2, [r7, #16] + 8011c56: 8992 ldrh r2, [r2, #12] + 8011c58: 1a9a subs r2, r3, r2 + 8011c5a: 693b ldr r3, [r7, #16] + 8011c5c: 605a str r2, [r3, #4] pep->pbuffer += pep->maxpacket; - 8011262: 693b ldr r3, [r7, #16] - 8011264: 691b ldr r3, [r3, #16] - 8011266: 693a ldr r2, [r7, #16] - 8011268: 8992 ldrh r2, [r2, #12] - 801126a: 441a add r2, r3 - 801126c: 693b ldr r3, [r7, #16] - 801126e: 611a str r2, [r3, #16] + 8011c5e: 693b ldr r3, [r7, #16] + 8011c60: 691b ldr r3, [r3, #16] + 8011c62: 693a ldr r2, [r7, #16] + 8011c64: 8992 ldrh r2, [r2, #12] + 8011c66: 441a add r2, r3 + 8011c68: 693b ldr r3, [r7, #16] + 8011c6a: 611a str r2, [r3, #16] (void)USBD_CtlContinueSendData(pdev, pep->pbuffer, pep->rem_length); - 8011270: 693b ldr r3, [r7, #16] - 8011272: 6919 ldr r1, [r3, #16] - 8011274: 693b ldr r3, [r7, #16] - 8011276: 685b ldr r3, [r3, #4] - 8011278: 461a mov r2, r3 - 801127a: 68f8 ldr r0, [r7, #12] - 801127c: f001 f85c bl 8012338 + 8011c6c: 693b ldr r3, [r7, #16] + 8011c6e: 6919 ldr r1, [r3, #16] + 8011c70: 693b ldr r3, [r7, #16] + 8011c72: 685b ldr r3, [r3, #4] + 8011c74: 461a mov r2, r3 + 8011c76: 68f8 ldr r0, [r7, #12] + 8011c78: f001 f85c bl 8012d34 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); - 8011280: 2300 movs r3, #0 - 8011282: 2200 movs r2, #0 - 8011284: 2100 movs r1, #0 - 8011286: 68f8 ldr r0, [r7, #12] - 8011288: f007 faba bl 8018800 - 801128c: e040 b.n 8011310 + 8011c7c: 2300 movs r3, #0 + 8011c7e: 2200 movs r2, #0 + 8011c80: 2100 movs r1, #0 + 8011c82: 68f8 ldr r0, [r7, #12] + 8011c84: f007 faa4 bl 80191d0 + 8011c88: e040 b.n 8011d0c } else { /* last packet is MPS multiple, so send ZLP packet */ if ((pep->maxpacket == pep->rem_length) && - 801128e: 693b ldr r3, [r7, #16] - 8011290: 899b ldrh r3, [r3, #12] - 8011292: 461a mov r2, r3 - 8011294: 693b ldr r3, [r7, #16] - 8011296: 685b ldr r3, [r3, #4] - 8011298: 429a cmp r2, r3 - 801129a: d11c bne.n 80112d6 + 8011c8a: 693b ldr r3, [r7, #16] + 8011c8c: 899b ldrh r3, [r3, #12] + 8011c8e: 461a mov r2, r3 + 8011c90: 693b ldr r3, [r7, #16] + 8011c92: 685b ldr r3, [r3, #4] + 8011c94: 429a cmp r2, r3 + 8011c96: d11c bne.n 8011cd2 (pep->total_length >= pep->maxpacket) && - 801129c: 693b ldr r3, [r7, #16] - 801129e: 681b ldr r3, [r3, #0] - 80112a0: 693a ldr r2, [r7, #16] - 80112a2: 8992 ldrh r2, [r2, #12] + 8011c98: 693b ldr r3, [r7, #16] + 8011c9a: 681b ldr r3, [r3, #0] + 8011c9c: 693a ldr r2, [r7, #16] + 8011c9e: 8992 ldrh r2, [r2, #12] if ((pep->maxpacket == pep->rem_length) && - 80112a4: 4293 cmp r3, r2 - 80112a6: d316 bcc.n 80112d6 + 8011ca0: 4293 cmp r3, r2 + 8011ca2: d316 bcc.n 8011cd2 (pep->total_length < pdev->ep0_data_len)) - 80112a8: 693b ldr r3, [r7, #16] - 80112aa: 681a ldr r2, [r3, #0] - 80112ac: 68fb ldr r3, [r7, #12] - 80112ae: f8d3 3298 ldr.w r3, [r3, #664] @ 0x298 + 8011ca4: 693b ldr r3, [r7, #16] + 8011ca6: 681a ldr r2, [r3, #0] + 8011ca8: 68fb ldr r3, [r7, #12] + 8011caa: f8d3 3298 ldr.w r3, [r3, #664] @ 0x298 (pep->total_length >= pep->maxpacket) && - 80112b2: 429a cmp r2, r3 - 80112b4: d20f bcs.n 80112d6 + 8011cae: 429a cmp r2, r3 + 8011cb0: d20f bcs.n 8011cd2 { (void)USBD_CtlContinueSendData(pdev, NULL, 0U); - 80112b6: 2200 movs r2, #0 - 80112b8: 2100 movs r1, #0 - 80112ba: 68f8 ldr r0, [r7, #12] - 80112bc: f001 f83c bl 8012338 + 8011cb2: 2200 movs r2, #0 + 8011cb4: 2100 movs r1, #0 + 8011cb6: 68f8 ldr r0, [r7, #12] + 8011cb8: f001 f83c bl 8012d34 pdev->ep0_data_len = 0U; - 80112c0: 68fb ldr r3, [r7, #12] - 80112c2: 2200 movs r2, #0 - 80112c4: f8c3 2298 str.w r2, [r3, #664] @ 0x298 + 8011cbc: 68fb ldr r3, [r7, #12] + 8011cbe: 2200 movs r2, #0 + 8011cc0: f8c3 2298 str.w r2, [r3, #664] @ 0x298 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); - 80112c8: 2300 movs r3, #0 - 80112ca: 2200 movs r2, #0 - 80112cc: 2100 movs r1, #0 - 80112ce: 68f8 ldr r0, [r7, #12] - 80112d0: f007 fa96 bl 8018800 - 80112d4: e01c b.n 8011310 + 8011cc4: 2300 movs r3, #0 + 8011cc6: 2200 movs r2, #0 + 8011cc8: 2100 movs r1, #0 + 8011cca: 68f8 ldr r0, [r7, #12] + 8011ccc: f007 fa80 bl 80191d0 + 8011cd0: e01c b.n 8011d0c } else { if (pdev->dev_state == USBD_STATE_CONFIGURED) - 80112d6: 68fb ldr r3, [r7, #12] - 80112d8: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 80112dc: b2db uxtb r3, r3 - 80112de: 2b03 cmp r3, #3 - 80112e0: d10f bne.n 8011302 + 8011cd2: 68fb ldr r3, [r7, #12] + 8011cd4: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011cd8: b2db uxtb r3, r3 + 8011cda: 2b03 cmp r3, #3 + 8011cdc: d10f bne.n 8011cfe { if (pdev->pClass[0]->EP0_TxSent != NULL) - 80112e2: 68fb ldr r3, [r7, #12] - 80112e4: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 80112e8: 68db ldr r3, [r3, #12] - 80112ea: 2b00 cmp r3, #0 - 80112ec: d009 beq.n 8011302 + 8011cde: 68fb ldr r3, [r7, #12] + 8011ce0: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8011ce4: 68db ldr r3, [r3, #12] + 8011ce6: 2b00 cmp r3, #0 + 8011ce8: d009 beq.n 8011cfe { pdev->classId = 0U; - 80112ee: 68fb ldr r3, [r7, #12] - 80112f0: 2200 movs r2, #0 - 80112f2: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 + 8011cea: 68fb ldr r3, [r7, #12] + 8011cec: 2200 movs r2, #0 + 8011cee: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 pdev->pClass[0]->EP0_TxSent(pdev); - 80112f6: 68fb ldr r3, [r7, #12] - 80112f8: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 80112fc: 68db ldr r3, [r3, #12] - 80112fe: 68f8 ldr r0, [r7, #12] - 8011300: 4798 blx r3 + 8011cf2: 68fb ldr r3, [r7, #12] + 8011cf4: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8011cf8: 68db ldr r3, [r3, #12] + 8011cfa: 68f8 ldr r0, [r7, #12] + 8011cfc: 4798 blx r3 } } (void)USBD_LL_StallEP(pdev, 0x80U); - 8011302: 2180 movs r1, #128 @ 0x80 - 8011304: 68f8 ldr r0, [r7, #12] - 8011306: f007 f9d1 bl 80186ac + 8011cfe: 2180 movs r1, #128 @ 0x80 + 8011d00: 68f8 ldr r0, [r7, #12] + 8011d02: f007 f9bb bl 801907c (void)USBD_CtlReceiveStatus(pdev); - 801130a: 68f8 ldr r0, [r7, #12] - 801130c: f001 f86a bl 80123e4 + 8011d06: 68f8 ldr r0, [r7, #12] + 8011d08: f001 f86a bl 8012de0 } } } if (pdev->dev_test_mode != 0U) - 8011310: 68fb ldr r3, [r7, #12] - 8011312: f893 32a0 ldrb.w r3, [r3, #672] @ 0x2a0 - 8011316: 2b00 cmp r3, #0 - 8011318: d03a beq.n 8011390 + 8011d0c: 68fb ldr r3, [r7, #12] + 8011d0e: f893 32a0 ldrb.w r3, [r3, #672] @ 0x2a0 + 8011d12: 2b00 cmp r3, #0 + 8011d14: d03a beq.n 8011d8c { (void)USBD_RunTestMode(pdev); - 801131a: 68f8 ldr r0, [r7, #12] - 801131c: f7ff fe30 bl 8010f80 + 8011d16: 68f8 ldr r0, [r7, #12] + 8011d18: f7ff fe30 bl 801197c pdev->dev_test_mode = 0U; - 8011320: 68fb ldr r3, [r7, #12] - 8011322: 2200 movs r2, #0 - 8011324: f883 22a0 strb.w r2, [r3, #672] @ 0x2a0 - 8011328: e032 b.n 8011390 + 8011d1c: 68fb ldr r3, [r7, #12] + 8011d1e: 2200 movs r2, #0 + 8011d20: f883 22a0 strb.w r2, [r3, #672] @ 0x2a0 + 8011d24: e032 b.n 8011d8c } } else { /* Get the class index relative to this interface */ idx = USBD_CoreFindEP(pdev, ((uint8_t)epnum | 0x80U)); - 801132a: 7afb ldrb r3, [r7, #11] - 801132c: f063 037f orn r3, r3, #127 @ 0x7f - 8011330: b2db uxtb r3, r3 - 8011332: 4619 mov r1, r3 - 8011334: 68f8 ldr r0, [r7, #12] - 8011336: f000 f8f4 bl 8011522 - 801133a: 4603 mov r3, r0 - 801133c: 75fb strb r3, [r7, #23] + 8011d26: 7afb ldrb r3, [r7, #11] + 8011d28: f063 037f orn r3, r3, #127 @ 0x7f + 8011d2c: b2db uxtb r3, r3 + 8011d2e: 4619 mov r1, r3 + 8011d30: 68f8 ldr r0, [r7, #12] + 8011d32: f000 f8f4 bl 8011f1e + 8011d36: 4603 mov r3, r0 + 8011d38: 75fb strb r3, [r7, #23] if (((uint16_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) - 801133e: 7dfb ldrb r3, [r7, #23] - 8011340: 2bff cmp r3, #255 @ 0xff - 8011342: d025 beq.n 8011390 - 8011344: 7dfb ldrb r3, [r7, #23] - 8011346: 2b00 cmp r3, #0 - 8011348: d122 bne.n 8011390 + 8011d3a: 7dfb ldrb r3, [r7, #23] + 8011d3c: 2bff cmp r3, #255 @ 0xff + 8011d3e: d025 beq.n 8011d8c + 8011d40: 7dfb ldrb r3, [r7, #23] + 8011d42: 2b00 cmp r3, #0 + 8011d44: d122 bne.n 8011d8c { /* Call the class data out function to manage the request */ if (pdev->dev_state == USBD_STATE_CONFIGURED) - 801134a: 68fb ldr r3, [r7, #12] - 801134c: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 8011350: b2db uxtb r3, r3 - 8011352: 2b03 cmp r3, #3 - 8011354: d11c bne.n 8011390 + 8011d46: 68fb ldr r3, [r7, #12] + 8011d48: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011d4c: b2db uxtb r3, r3 + 8011d4e: 2b03 cmp r3, #3 + 8011d50: d11c bne.n 8011d8c { if (pdev->pClass[idx]->DataIn != NULL) - 8011356: 7dfa ldrb r2, [r7, #23] - 8011358: 68fb ldr r3, [r7, #12] - 801135a: 32ae adds r2, #174 @ 0xae - 801135c: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8011360: 695b ldr r3, [r3, #20] - 8011362: 2b00 cmp r3, #0 - 8011364: d014 beq.n 8011390 + 8011d52: 7dfa ldrb r2, [r7, #23] + 8011d54: 68fb ldr r3, [r7, #12] + 8011d56: 32ae adds r2, #174 @ 0xae + 8011d58: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011d5c: 695b ldr r3, [r3, #20] + 8011d5e: 2b00 cmp r3, #0 + 8011d60: d014 beq.n 8011d8c { pdev->classId = idx; - 8011366: 7dfa ldrb r2, [r7, #23] - 8011368: 68fb ldr r3, [r7, #12] - 801136a: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 + 8011d62: 7dfa ldrb r2, [r7, #23] + 8011d64: 68fb ldr r3, [r7, #12] + 8011d66: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataIn(pdev, epnum); - 801136e: 7dfa ldrb r2, [r7, #23] - 8011370: 68fb ldr r3, [r7, #12] - 8011372: 32ae adds r2, #174 @ 0xae - 8011374: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8011378: 695b ldr r3, [r3, #20] - 801137a: 7afa ldrb r2, [r7, #11] - 801137c: 4611 mov r1, r2 - 801137e: 68f8 ldr r0, [r7, #12] - 8011380: 4798 blx r3 - 8011382: 4603 mov r3, r0 - 8011384: 75bb strb r3, [r7, #22] + 8011d6a: 7dfa ldrb r2, [r7, #23] + 8011d6c: 68fb ldr r3, [r7, #12] + 8011d6e: 32ae adds r2, #174 @ 0xae + 8011d70: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8011d74: 695b ldr r3, [r3, #20] + 8011d76: 7afa ldrb r2, [r7, #11] + 8011d78: 4611 mov r1, r2 + 8011d7a: 68f8 ldr r0, [r7, #12] + 8011d7c: 4798 blx r3 + 8011d7e: 4603 mov r3, r0 + 8011d80: 75bb strb r3, [r7, #22] if (ret != USBD_OK) - 8011386: 7dbb ldrb r3, [r7, #22] - 8011388: 2b00 cmp r3, #0 - 801138a: d001 beq.n 8011390 + 8011d82: 7dbb ldrb r3, [r7, #22] + 8011d84: 2b00 cmp r3, #0 + 8011d86: d001 beq.n 8011d8c { return ret; - 801138c: 7dbb ldrb r3, [r7, #22] - 801138e: e000 b.n 8011392 + 8011d88: 7dbb ldrb r3, [r7, #22] + 8011d8a: e000 b.n 8011d8e } } } } return USBD_OK; - 8011390: 2300 movs r3, #0 + 8011d8c: 2300 movs r3, #0 } - 8011392: 4618 mov r0, r3 - 8011394: 3718 adds r7, #24 - 8011396: 46bd mov sp, r7 - 8011398: bd80 pop {r7, pc} + 8011d8e: 4618 mov r0, r3 + 8011d90: 3718 adds r7, #24 + 8011d92: 46bd mov sp, r7 + 8011d94: bd80 pop {r7, pc} -0801139a : +08011d96 : * Handle Reset event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) { - 801139a: b580 push {r7, lr} - 801139c: b084 sub sp, #16 - 801139e: af00 add r7, sp, #0 - 80113a0: 6078 str r0, [r7, #4] + 8011d96: b580 push {r7, lr} + 8011d98: b084 sub sp, #16 + 8011d9a: af00 add r7, sp, #0 + 8011d9c: 6078 str r0, [r7, #4] USBD_StatusTypeDef ret = USBD_OK; - 80113a2: 2300 movs r3, #0 - 80113a4: 73fb strb r3, [r7, #15] + 8011d9e: 2300 movs r3, #0 + 8011da0: 73fb strb r3, [r7, #15] /* Upon Reset call user call back */ pdev->dev_state = USBD_STATE_DEFAULT; - 80113a6: 687b ldr r3, [r7, #4] - 80113a8: 2201 movs r2, #1 - 80113aa: f883 229c strb.w r2, [r3, #668] @ 0x29c + 8011da2: 687b ldr r3, [r7, #4] + 8011da4: 2201 movs r2, #1 + 8011da6: f883 229c strb.w r2, [r3, #668] @ 0x29c pdev->ep0_state = USBD_EP0_IDLE; - 80113ae: 687b ldr r3, [r7, #4] - 80113b0: 2200 movs r2, #0 - 80113b2: f8c3 2294 str.w r2, [r3, #660] @ 0x294 + 8011daa: 687b ldr r3, [r7, #4] + 8011dac: 2200 movs r2, #0 + 8011dae: f8c3 2294 str.w r2, [r3, #660] @ 0x294 pdev->dev_config = 0U; - 80113b6: 687b ldr r3, [r7, #4] - 80113b8: 2200 movs r2, #0 - 80113ba: 605a str r2, [r3, #4] + 8011db2: 687b ldr r3, [r7, #4] + 8011db4: 2200 movs r2, #0 + 8011db6: 605a str r2, [r3, #4] pdev->dev_remote_wakeup = 0U; - 80113bc: 687b ldr r3, [r7, #4] - 80113be: 2200 movs r2, #0 - 80113c0: f8c3 22a4 str.w r2, [r3, #676] @ 0x2a4 + 8011db8: 687b ldr r3, [r7, #4] + 8011dba: 2200 movs r2, #0 + 8011dbc: f8c3 22a4 str.w r2, [r3, #676] @ 0x2a4 pdev->dev_test_mode = 0U; - 80113c4: 687b ldr r3, [r7, #4] - 80113c6: 2200 movs r2, #0 - 80113c8: f883 22a0 strb.w r2, [r3, #672] @ 0x2a0 + 8011dc0: 687b ldr r3, [r7, #4] + 8011dc2: 2200 movs r2, #0 + 8011dc4: f883 22a0 strb.w r2, [r3, #672] @ 0x2a0 } } } #else if (pdev->pClass[0] != NULL) - 80113cc: 687b ldr r3, [r7, #4] - 80113ce: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 80113d2: 2b00 cmp r3, #0 - 80113d4: d014 beq.n 8011400 + 8011dc8: 687b ldr r3, [r7, #4] + 8011dca: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8011dce: 2b00 cmp r3, #0 + 8011dd0: d014 beq.n 8011dfc { if (pdev->pClass[0]->DeInit != NULL) - 80113d6: 687b ldr r3, [r7, #4] - 80113d8: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 80113dc: 685b ldr r3, [r3, #4] - 80113de: 2b00 cmp r3, #0 - 80113e0: d00e beq.n 8011400 + 8011dd2: 687b ldr r3, [r7, #4] + 8011dd4: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8011dd8: 685b ldr r3, [r3, #4] + 8011dda: 2b00 cmp r3, #0 + 8011ddc: d00e beq.n 8011dfc { if (pdev->pClass[0]->DeInit(pdev, (uint8_t)pdev->dev_config) != USBD_OK) - 80113e2: 687b ldr r3, [r7, #4] - 80113e4: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 80113e8: 685b ldr r3, [r3, #4] - 80113ea: 687a ldr r2, [r7, #4] - 80113ec: 6852 ldr r2, [r2, #4] - 80113ee: b2d2 uxtb r2, r2 - 80113f0: 4611 mov r1, r2 - 80113f2: 6878 ldr r0, [r7, #4] - 80113f4: 4798 blx r3 - 80113f6: 4603 mov r3, r0 - 80113f8: 2b00 cmp r3, #0 - 80113fa: d001 beq.n 8011400 + 8011dde: 687b ldr r3, [r7, #4] + 8011de0: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8011de4: 685b ldr r3, [r3, #4] + 8011de6: 687a ldr r2, [r7, #4] + 8011de8: 6852 ldr r2, [r2, #4] + 8011dea: b2d2 uxtb r2, r2 + 8011dec: 4611 mov r1, r2 + 8011dee: 6878 ldr r0, [r7, #4] + 8011df0: 4798 blx r3 + 8011df2: 4603 mov r3, r0 + 8011df4: 2b00 cmp r3, #0 + 8011df6: d001 beq.n 8011dfc { ret = USBD_FAIL; - 80113fc: 2303 movs r3, #3 - 80113fe: 73fb strb r3, [r7, #15] + 8011df8: 2303 movs r3, #3 + 8011dfa: 73fb strb r3, [r7, #15] } } #endif /* USE_USBD_COMPOSITE */ /* Open EP0 OUT */ (void)USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); - 8011400: 2340 movs r3, #64 @ 0x40 - 8011402: 2200 movs r2, #0 - 8011404: 2100 movs r1, #0 - 8011406: 6878 ldr r0, [r7, #4] - 8011408: f007 f90b bl 8018622 + 8011dfc: 2340 movs r3, #64 @ 0x40 + 8011dfe: 2200 movs r2, #0 + 8011e00: 2100 movs r1, #0 + 8011e02: 6878 ldr r0, [r7, #4] + 8011e04: f007 f8f5 bl 8018ff2 pdev->ep_out[0x00U & 0xFU].is_used = 1U; - 801140c: 687b ldr r3, [r7, #4] - 801140e: 2201 movs r2, #1 - 8011410: f883 2163 strb.w r2, [r3, #355] @ 0x163 + 8011e08: 687b ldr r3, [r7, #4] + 8011e0a: 2201 movs r2, #1 + 8011e0c: f883 2163 strb.w r2, [r3, #355] @ 0x163 pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE; - 8011414: 687b ldr r3, [r7, #4] - 8011416: 2240 movs r2, #64 @ 0x40 - 8011418: f8a3 2160 strh.w r2, [r3, #352] @ 0x160 + 8011e10: 687b ldr r3, [r7, #4] + 8011e12: 2240 movs r2, #64 @ 0x40 + 8011e14: f8a3 2160 strh.w r2, [r3, #352] @ 0x160 /* Open EP0 IN */ (void)USBD_LL_OpenEP(pdev, 0x80U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); - 801141c: 2340 movs r3, #64 @ 0x40 - 801141e: 2200 movs r2, #0 - 8011420: 2180 movs r1, #128 @ 0x80 - 8011422: 6878 ldr r0, [r7, #4] - 8011424: f007 f8fd bl 8018622 + 8011e18: 2340 movs r3, #64 @ 0x40 + 8011e1a: 2200 movs r2, #0 + 8011e1c: 2180 movs r1, #128 @ 0x80 + 8011e1e: 6878 ldr r0, [r7, #4] + 8011e20: f007 f8e7 bl 8018ff2 pdev->ep_in[0x80U & 0xFU].is_used = 1U; - 8011428: 687b ldr r3, [r7, #4] - 801142a: 2201 movs r2, #1 - 801142c: f883 2023 strb.w r2, [r3, #35] @ 0x23 + 8011e24: 687b ldr r3, [r7, #4] + 8011e26: 2201 movs r2, #1 + 8011e28: f883 2023 strb.w r2, [r3, #35] @ 0x23 pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE; - 8011430: 687b ldr r3, [r7, #4] - 8011432: 2240 movs r2, #64 @ 0x40 - 8011434: 841a strh r2, [r3, #32] + 8011e2c: 687b ldr r3, [r7, #4] + 8011e2e: 2240 movs r2, #64 @ 0x40 + 8011e30: 841a strh r2, [r3, #32] return ret; - 8011436: 7bfb ldrb r3, [r7, #15] + 8011e32: 7bfb ldrb r3, [r7, #15] } - 8011438: 4618 mov r0, r3 - 801143a: 3710 adds r7, #16 - 801143c: 46bd mov sp, r7 - 801143e: bd80 pop {r7, pc} + 8011e34: 4618 mov r0, r3 + 8011e36: 3710 adds r7, #16 + 8011e38: 46bd mov sp, r7 + 8011e3a: bd80 pop {r7, pc} -08011440 : +08011e3c : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed) { - 8011440: b480 push {r7} - 8011442: b083 sub sp, #12 - 8011444: af00 add r7, sp, #0 - 8011446: 6078 str r0, [r7, #4] - 8011448: 460b mov r3, r1 - 801144a: 70fb strb r3, [r7, #3] + 8011e3c: b480 push {r7} + 8011e3e: b083 sub sp, #12 + 8011e40: af00 add r7, sp, #0 + 8011e42: 6078 str r0, [r7, #4] + 8011e44: 460b mov r3, r1 + 8011e46: 70fb strb r3, [r7, #3] pdev->dev_speed = speed; - 801144c: 687b ldr r3, [r7, #4] - 801144e: 78fa ldrb r2, [r7, #3] - 8011450: 741a strb r2, [r3, #16] + 8011e48: 687b ldr r3, [r7, #4] + 8011e4a: 78fa ldrb r2, [r7, #3] + 8011e4c: 741a strb r2, [r3, #16] return USBD_OK; - 8011452: 2300 movs r3, #0 + 8011e4e: 2300 movs r3, #0 } - 8011454: 4618 mov r0, r3 - 8011456: 370c adds r7, #12 - 8011458: 46bd mov sp, r7 - 801145a: f85d 7b04 ldr.w r7, [sp], #4 - 801145e: 4770 bx lr + 8011e50: 4618 mov r0, r3 + 8011e52: 370c adds r7, #12 + 8011e54: 46bd mov sp, r7 + 8011e56: f85d 7b04 ldr.w r7, [sp], #4 + 8011e5a: 4770 bx lr -08011460 : +08011e5c : * Handle Suspend event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) { - 8011460: b480 push {r7} - 8011462: b083 sub sp, #12 - 8011464: af00 add r7, sp, #0 - 8011466: 6078 str r0, [r7, #4] + 8011e5c: b480 push {r7} + 8011e5e: b083 sub sp, #12 + 8011e60: af00 add r7, sp, #0 + 8011e62: 6078 str r0, [r7, #4] if (pdev->dev_state != USBD_STATE_SUSPENDED) - 8011468: 687b ldr r3, [r7, #4] - 801146a: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 801146e: b2db uxtb r3, r3 - 8011470: 2b04 cmp r3, #4 - 8011472: d006 beq.n 8011482 + 8011e64: 687b ldr r3, [r7, #4] + 8011e66: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011e6a: b2db uxtb r3, r3 + 8011e6c: 2b04 cmp r3, #4 + 8011e6e: d006 beq.n 8011e7e { pdev->dev_old_state = pdev->dev_state; - 8011474: 687b ldr r3, [r7, #4] - 8011476: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 801147a: b2da uxtb r2, r3 - 801147c: 687b ldr r3, [r7, #4] - 801147e: f883 229d strb.w r2, [r3, #669] @ 0x29d + 8011e70: 687b ldr r3, [r7, #4] + 8011e72: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011e76: b2da uxtb r2, r3 + 8011e78: 687b ldr r3, [r7, #4] + 8011e7a: f883 229d strb.w r2, [r3, #669] @ 0x29d } pdev->dev_state = USBD_STATE_SUSPENDED; - 8011482: 687b ldr r3, [r7, #4] - 8011484: 2204 movs r2, #4 - 8011486: f883 229c strb.w r2, [r3, #668] @ 0x29c + 8011e7e: 687b ldr r3, [r7, #4] + 8011e80: 2204 movs r2, #4 + 8011e82: f883 229c strb.w r2, [r3, #668] @ 0x29c return USBD_OK; - 801148a: 2300 movs r3, #0 + 8011e86: 2300 movs r3, #0 } - 801148c: 4618 mov r0, r3 - 801148e: 370c adds r7, #12 - 8011490: 46bd mov sp, r7 - 8011492: f85d 7b04 ldr.w r7, [sp], #4 - 8011496: 4770 bx lr + 8011e88: 4618 mov r0, r3 + 8011e8a: 370c adds r7, #12 + 8011e8c: 46bd mov sp, r7 + 8011e8e: f85d 7b04 ldr.w r7, [sp], #4 + 8011e92: 4770 bx lr -08011498 : +08011e94 : * Handle Resume event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev) { - 8011498: b480 push {r7} - 801149a: b083 sub sp, #12 - 801149c: af00 add r7, sp, #0 - 801149e: 6078 str r0, [r7, #4] + 8011e94: b480 push {r7} + 8011e96: b083 sub sp, #12 + 8011e98: af00 add r7, sp, #0 + 8011e9a: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_SUSPENDED) - 80114a0: 687b ldr r3, [r7, #4] - 80114a2: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 80114a6: b2db uxtb r3, r3 - 80114a8: 2b04 cmp r3, #4 - 80114aa: d106 bne.n 80114ba + 8011e9c: 687b ldr r3, [r7, #4] + 8011e9e: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011ea2: b2db uxtb r3, r3 + 8011ea4: 2b04 cmp r3, #4 + 8011ea6: d106 bne.n 8011eb6 { pdev->dev_state = pdev->dev_old_state; - 80114ac: 687b ldr r3, [r7, #4] - 80114ae: f893 329d ldrb.w r3, [r3, #669] @ 0x29d - 80114b2: b2da uxtb r2, r3 - 80114b4: 687b ldr r3, [r7, #4] - 80114b6: f883 229c strb.w r2, [r3, #668] @ 0x29c + 8011ea8: 687b ldr r3, [r7, #4] + 8011eaa: f893 329d ldrb.w r3, [r3, #669] @ 0x29d + 8011eae: b2da uxtb r2, r3 + 8011eb0: 687b ldr r3, [r7, #4] + 8011eb2: f883 229c strb.w r2, [r3, #668] @ 0x29c } return USBD_OK; - 80114ba: 2300 movs r3, #0 + 8011eb6: 2300 movs r3, #0 } - 80114bc: 4618 mov r0, r3 - 80114be: 370c adds r7, #12 - 80114c0: 46bd mov sp, r7 - 80114c2: f85d 7b04 ldr.w r7, [sp], #4 - 80114c6: 4770 bx lr + 8011eb8: 4618 mov r0, r3 + 8011eba: 370c adds r7, #12 + 8011ebc: 46bd mov sp, r7 + 8011ebe: f85d 7b04 ldr.w r7, [sp], #4 + 8011ec2: 4770 bx lr -080114c8 : +08011ec4 : * Handle SOF event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev) { - 80114c8: b580 push {r7, lr} - 80114ca: b082 sub sp, #8 - 80114cc: af00 add r7, sp, #0 - 80114ce: 6078 str r0, [r7, #4] + 8011ec4: b580 push {r7, lr} + 8011ec6: b082 sub sp, #8 + 8011ec8: af00 add r7, sp, #0 + 8011eca: 6078 str r0, [r7, #4] /* The SOF event can be distributed for all classes that support it */ if (pdev->dev_state == USBD_STATE_CONFIGURED) - 80114d0: 687b ldr r3, [r7, #4] - 80114d2: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 80114d6: b2db uxtb r3, r3 - 80114d8: 2b03 cmp r3, #3 - 80114da: d110 bne.n 80114fe + 8011ecc: 687b ldr r3, [r7, #4] + 8011ece: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8011ed2: b2db uxtb r3, r3 + 8011ed4: 2b03 cmp r3, #3 + 8011ed6: d110 bne.n 8011efa } } } } #else if (pdev->pClass[0] != NULL) - 80114dc: 687b ldr r3, [r7, #4] - 80114de: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 80114e2: 2b00 cmp r3, #0 - 80114e4: d00b beq.n 80114fe + 8011ed8: 687b ldr r3, [r7, #4] + 8011eda: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8011ede: 2b00 cmp r3, #0 + 8011ee0: d00b beq.n 8011efa { if (pdev->pClass[0]->SOF != NULL) - 80114e6: 687b ldr r3, [r7, #4] - 80114e8: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 80114ec: 69db ldr r3, [r3, #28] - 80114ee: 2b00 cmp r3, #0 - 80114f0: d005 beq.n 80114fe + 8011ee2: 687b ldr r3, [r7, #4] + 8011ee4: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8011ee8: 69db ldr r3, [r3, #28] + 8011eea: 2b00 cmp r3, #0 + 8011eec: d005 beq.n 8011efa { (void)pdev->pClass[0]->SOF(pdev); - 80114f2: 687b ldr r3, [r7, #4] - 80114f4: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 80114f8: 69db ldr r3, [r3, #28] - 80114fa: 6878 ldr r0, [r7, #4] - 80114fc: 4798 blx r3 + 8011eee: 687b ldr r3, [r7, #4] + 8011ef0: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8011ef4: 69db ldr r3, [r3, #28] + 8011ef6: 6878 ldr r0, [r7, #4] + 8011ef8: 4798 blx r3 } } #endif /* USE_USBD_COMPOSITE */ } return USBD_OK; - 80114fe: 2300 movs r3, #0 + 8011efa: 2300 movs r3, #0 } - 8011500: 4618 mov r0, r3 - 8011502: 3708 adds r7, #8 - 8011504: 46bd mov sp, r7 - 8011506: bd80 pop {r7, pc} + 8011efc: 4618 mov r0, r3 + 8011efe: 3708 adds r7, #8 + 8011f00: 46bd mov sp, r7 + 8011f02: bd80 pop {r7, pc} -08011508 : +08011f04 : * @param pdev: device instance * @param index : selected interface number * @retval index of the class using the selected interface number. OxFF if no class found. */ uint8_t USBD_CoreFindIF(USBD_HandleTypeDef *pdev, uint8_t index) { - 8011508: b480 push {r7} - 801150a: b083 sub sp, #12 - 801150c: af00 add r7, sp, #0 - 801150e: 6078 str r0, [r7, #4] - 8011510: 460b mov r3, r1 - 8011512: 70fb strb r3, [r7, #3] + 8011f04: b480 push {r7} + 8011f06: b083 sub sp, #12 + 8011f08: af00 add r7, sp, #0 + 8011f0a: 6078 str r0, [r7, #4] + 8011f0c: 460b mov r3, r1 + 8011f0e: 70fb strb r3, [r7, #3] return 0xFFU; #else UNUSED(pdev); UNUSED(index); return 0x00U; - 8011514: 2300 movs r3, #0 + 8011f10: 2300 movs r3, #0 #endif /* USE_USBD_COMPOSITE */ } - 8011516: 4618 mov r0, r3 - 8011518: 370c adds r7, #12 - 801151a: 46bd mov sp, r7 - 801151c: f85d 7b04 ldr.w r7, [sp], #4 - 8011520: 4770 bx lr + 8011f12: 4618 mov r0, r3 + 8011f14: 370c adds r7, #12 + 8011f16: 46bd mov sp, r7 + 8011f18: f85d 7b04 ldr.w r7, [sp], #4 + 8011f1c: 4770 bx lr -08011522 : +08011f1e : * @param pdev: device instance * @param index : selected endpoint number * @retval index of the class using the selected endpoint number. 0xFF if no class found. */ uint8_t USBD_CoreFindEP(USBD_HandleTypeDef *pdev, uint8_t index) { - 8011522: b480 push {r7} - 8011524: b083 sub sp, #12 - 8011526: af00 add r7, sp, #0 - 8011528: 6078 str r0, [r7, #4] - 801152a: 460b mov r3, r1 - 801152c: 70fb strb r3, [r7, #3] + 8011f1e: b480 push {r7} + 8011f20: b083 sub sp, #12 + 8011f22: af00 add r7, sp, #0 + 8011f24: 6078 str r0, [r7, #4] + 8011f26: 460b mov r3, r1 + 8011f28: 70fb strb r3, [r7, #3] return 0xFFU; #else UNUSED(pdev); UNUSED(index); return 0x00U; - 801152e: 2300 movs r3, #0 + 8011f2a: 2300 movs r3, #0 #endif /* USE_USBD_COMPOSITE */ } - 8011530: 4618 mov r0, r3 - 8011532: 370c adds r7, #12 - 8011534: 46bd mov sp, r7 - 8011536: f85d 7b04 ldr.w r7, [sp], #4 - 801153a: 4770 bx lr + 8011f2c: 4618 mov r0, r3 + 8011f2e: 370c adds r7, #12 + 8011f30: 46bd mov sp, r7 + 8011f32: f85d 7b04 ldr.w r7, [sp], #4 + 8011f36: 4770 bx lr -0801153c : +08011f38 : * @param pConfDesc: pointer to Bos descriptor * @param EpAddr: endpoint address * @retval pointer to video endpoint descriptor */ void *USBD_GetEpDesc(uint8_t *pConfDesc, uint8_t EpAddr) { - 801153c: b580 push {r7, lr} - 801153e: b086 sub sp, #24 - 8011540: af00 add r7, sp, #0 - 8011542: 6078 str r0, [r7, #4] - 8011544: 460b mov r3, r1 - 8011546: 70fb strb r3, [r7, #3] + 8011f38: b580 push {r7, lr} + 8011f3a: b086 sub sp, #24 + 8011f3c: af00 add r7, sp, #0 + 8011f3e: 6078 str r0, [r7, #4] + 8011f40: 460b mov r3, r1 + 8011f42: 70fb strb r3, [r7, #3] USBD_DescHeaderTypeDef *pdesc = (USBD_DescHeaderTypeDef *)(void *)pConfDesc; - 8011548: 687b ldr r3, [r7, #4] - 801154a: 617b str r3, [r7, #20] + 8011f44: 687b ldr r3, [r7, #4] + 8011f46: 617b str r3, [r7, #20] USBD_ConfigDescTypeDef *desc = (USBD_ConfigDescTypeDef *)(void *)pConfDesc; - 801154c: 687b ldr r3, [r7, #4] - 801154e: 60fb str r3, [r7, #12] + 8011f48: 687b ldr r3, [r7, #4] + 8011f4a: 60fb str r3, [r7, #12] USBD_EpDescTypeDef *pEpDesc = NULL; - 8011550: 2300 movs r3, #0 - 8011552: 613b str r3, [r7, #16] + 8011f4c: 2300 movs r3, #0 + 8011f4e: 613b str r3, [r7, #16] uint16_t ptr; if (desc->wTotalLength > desc->bLength) - 8011554: 68fb ldr r3, [r7, #12] - 8011556: 885b ldrh r3, [r3, #2] - 8011558: b29b uxth r3, r3 - 801155a: 68fa ldr r2, [r7, #12] - 801155c: 7812 ldrb r2, [r2, #0] - 801155e: 4293 cmp r3, r2 - 8011560: d91f bls.n 80115a2 + 8011f50: 68fb ldr r3, [r7, #12] + 8011f52: 885b ldrh r3, [r3, #2] + 8011f54: b29b uxth r3, r3 + 8011f56: 68fa ldr r2, [r7, #12] + 8011f58: 7812 ldrb r2, [r2, #0] + 8011f5a: 4293 cmp r3, r2 + 8011f5c: d91f bls.n 8011f9e { ptr = desc->bLength; - 8011562: 68fb ldr r3, [r7, #12] - 8011564: 781b ldrb r3, [r3, #0] - 8011566: 817b strh r3, [r7, #10] + 8011f5e: 68fb ldr r3, [r7, #12] + 8011f60: 781b ldrb r3, [r3, #0] + 8011f62: 817b strh r3, [r7, #10] while (ptr < desc->wTotalLength) - 8011568: e013 b.n 8011592 + 8011f64: e013 b.n 8011f8e { pdesc = USBD_GetNextDesc((uint8_t *)pdesc, &ptr); - 801156a: f107 030a add.w r3, r7, #10 - 801156e: 4619 mov r1, r3 - 8011570: 6978 ldr r0, [r7, #20] - 8011572: f000 f81b bl 80115ac - 8011576: 6178 str r0, [r7, #20] + 8011f66: f107 030a add.w r3, r7, #10 + 8011f6a: 4619 mov r1, r3 + 8011f6c: 6978 ldr r0, [r7, #20] + 8011f6e: f000 f81b bl 8011fa8 + 8011f72: 6178 str r0, [r7, #20] if (pdesc->bDescriptorType == USB_DESC_TYPE_ENDPOINT) - 8011578: 697b ldr r3, [r7, #20] - 801157a: 785b ldrb r3, [r3, #1] - 801157c: 2b05 cmp r3, #5 - 801157e: d108 bne.n 8011592 + 8011f74: 697b ldr r3, [r7, #20] + 8011f76: 785b ldrb r3, [r3, #1] + 8011f78: 2b05 cmp r3, #5 + 8011f7a: d108 bne.n 8011f8e { pEpDesc = (USBD_EpDescTypeDef *)(void *)pdesc; - 8011580: 697b ldr r3, [r7, #20] - 8011582: 613b str r3, [r7, #16] + 8011f7c: 697b ldr r3, [r7, #20] + 8011f7e: 613b str r3, [r7, #16] if (pEpDesc->bEndpointAddress == EpAddr) - 8011584: 693b ldr r3, [r7, #16] - 8011586: 789b ldrb r3, [r3, #2] - 8011588: 78fa ldrb r2, [r7, #3] - 801158a: 429a cmp r2, r3 - 801158c: d008 beq.n 80115a0 + 8011f80: 693b ldr r3, [r7, #16] + 8011f82: 789b ldrb r3, [r3, #2] + 8011f84: 78fa ldrb r2, [r7, #3] + 8011f86: 429a cmp r2, r3 + 8011f88: d008 beq.n 8011f9c { break; } else { pEpDesc = NULL; - 801158e: 2300 movs r3, #0 - 8011590: 613b str r3, [r7, #16] + 8011f8a: 2300 movs r3, #0 + 8011f8c: 613b str r3, [r7, #16] while (ptr < desc->wTotalLength) - 8011592: 68fb ldr r3, [r7, #12] - 8011594: 885b ldrh r3, [r3, #2] - 8011596: b29a uxth r2, r3 - 8011598: 897b ldrh r3, [r7, #10] - 801159a: 429a cmp r2, r3 - 801159c: d8e5 bhi.n 801156a - 801159e: e000 b.n 80115a2 + 8011f8e: 68fb ldr r3, [r7, #12] + 8011f90: 885b ldrh r3, [r3, #2] + 8011f92: b29a uxth r2, r3 + 8011f94: 897b ldrh r3, [r7, #10] + 8011f96: 429a cmp r2, r3 + 8011f98: d8e5 bhi.n 8011f66 + 8011f9a: e000 b.n 8011f9e break; - 80115a0: bf00 nop + 8011f9c: bf00 nop } } } } return (void *)pEpDesc; - 80115a2: 693b ldr r3, [r7, #16] + 8011f9e: 693b ldr r3, [r7, #16] } - 80115a4: 4618 mov r0, r3 - 80115a6: 3718 adds r7, #24 - 80115a8: 46bd mov sp, r7 - 80115aa: bd80 pop {r7, pc} + 8011fa0: 4618 mov r0, r3 + 8011fa2: 3718 adds r7, #24 + 8011fa4: 46bd mov sp, r7 + 8011fa6: bd80 pop {r7, pc} -080115ac : +08011fa8 : * @param buf: Buffer where the descriptor is available * @param ptr: data pointer inside the descriptor * @retval next header */ USBD_DescHeaderTypeDef *USBD_GetNextDesc(uint8_t *pbuf, uint16_t *ptr) { - 80115ac: b480 push {r7} - 80115ae: b085 sub sp, #20 - 80115b0: af00 add r7, sp, #0 - 80115b2: 6078 str r0, [r7, #4] - 80115b4: 6039 str r1, [r7, #0] + 8011fa8: b480 push {r7} + 8011faa: b085 sub sp, #20 + 8011fac: af00 add r7, sp, #0 + 8011fae: 6078 str r0, [r7, #4] + 8011fb0: 6039 str r1, [r7, #0] USBD_DescHeaderTypeDef *pnext = (USBD_DescHeaderTypeDef *)(void *)pbuf; - 80115b6: 687b ldr r3, [r7, #4] - 80115b8: 60fb str r3, [r7, #12] + 8011fb2: 687b ldr r3, [r7, #4] + 8011fb4: 60fb str r3, [r7, #12] *ptr += pnext->bLength; - 80115ba: 683b ldr r3, [r7, #0] - 80115bc: 881b ldrh r3, [r3, #0] - 80115be: 68fa ldr r2, [r7, #12] - 80115c0: 7812 ldrb r2, [r2, #0] - 80115c2: 4413 add r3, r2 - 80115c4: b29a uxth r2, r3 - 80115c6: 683b ldr r3, [r7, #0] - 80115c8: 801a strh r2, [r3, #0] + 8011fb6: 683b ldr r3, [r7, #0] + 8011fb8: 881b ldrh r3, [r3, #0] + 8011fba: 68fa ldr r2, [r7, #12] + 8011fbc: 7812 ldrb r2, [r2, #0] + 8011fbe: 4413 add r3, r2 + 8011fc0: b29a uxth r2, r3 + 8011fc2: 683b ldr r3, [r7, #0] + 8011fc4: 801a strh r2, [r3, #0] pnext = (USBD_DescHeaderTypeDef *)(void *)(pbuf + pnext->bLength); - 80115ca: 68fb ldr r3, [r7, #12] - 80115cc: 781b ldrb r3, [r3, #0] - 80115ce: 461a mov r2, r3 - 80115d0: 687b ldr r3, [r7, #4] - 80115d2: 4413 add r3, r2 - 80115d4: 60fb str r3, [r7, #12] + 8011fc6: 68fb ldr r3, [r7, #12] + 8011fc8: 781b ldrb r3, [r3, #0] + 8011fca: 461a mov r2, r3 + 8011fcc: 687b ldr r3, [r7, #4] + 8011fce: 4413 add r3, r2 + 8011fd0: 60fb str r3, [r7, #12] return (pnext); - 80115d6: 68fb ldr r3, [r7, #12] + 8011fd2: 68fb ldr r3, [r7, #12] } - 80115d8: 4618 mov r0, r3 - 80115da: 3714 adds r7, #20 - 80115dc: 46bd mov sp, r7 - 80115de: f85d 7b04 ldr.w r7, [sp], #4 - 80115e2: 4770 bx lr + 8011fd4: 4618 mov r0, r3 + 8011fd6: 3714 adds r7, #20 + 8011fd8: 46bd mov sp, r7 + 8011fda: f85d 7b04 ldr.w r7, [sp], #4 + 8011fde: 4770 bx lr -080115e4 : +08011fe0 : /** @defgroup USBD_DEF_Exported_Macros * @{ */ __STATIC_INLINE uint16_t SWAPBYTE(uint8_t *addr) { - 80115e4: b480 push {r7} - 80115e6: b087 sub sp, #28 - 80115e8: af00 add r7, sp, #0 - 80115ea: 6078 str r0, [r7, #4] + 8011fe0: b480 push {r7} + 8011fe2: b087 sub sp, #28 + 8011fe4: af00 add r7, sp, #0 + 8011fe6: 6078 str r0, [r7, #4] uint16_t _SwapVal; uint16_t _Byte1; uint16_t _Byte2; uint8_t *_pbuff = addr; - 80115ec: 687b ldr r3, [r7, #4] - 80115ee: 617b str r3, [r7, #20] + 8011fe8: 687b ldr r3, [r7, #4] + 8011fea: 617b str r3, [r7, #20] _Byte1 = *(uint8_t *)_pbuff; - 80115f0: 697b ldr r3, [r7, #20] - 80115f2: 781b ldrb r3, [r3, #0] - 80115f4: 827b strh r3, [r7, #18] + 8011fec: 697b ldr r3, [r7, #20] + 8011fee: 781b ldrb r3, [r3, #0] + 8011ff0: 827b strh r3, [r7, #18] _pbuff++; - 80115f6: 697b ldr r3, [r7, #20] - 80115f8: 3301 adds r3, #1 - 80115fa: 617b str r3, [r7, #20] + 8011ff2: 697b ldr r3, [r7, #20] + 8011ff4: 3301 adds r3, #1 + 8011ff6: 617b str r3, [r7, #20] _Byte2 = *(uint8_t *)_pbuff; - 80115fc: 697b ldr r3, [r7, #20] - 80115fe: 781b ldrb r3, [r3, #0] - 8011600: 823b strh r3, [r7, #16] + 8011ff8: 697b ldr r3, [r7, #20] + 8011ffa: 781b ldrb r3, [r3, #0] + 8011ffc: 823b strh r3, [r7, #16] _SwapVal = (_Byte2 << 8) | _Byte1; - 8011602: f9b7 3010 ldrsh.w r3, [r7, #16] - 8011606: 021b lsls r3, r3, #8 - 8011608: b21a sxth r2, r3 - 801160a: f9b7 3012 ldrsh.w r3, [r7, #18] - 801160e: 4313 orrs r3, r2 - 8011610: b21b sxth r3, r3 - 8011612: 81fb strh r3, [r7, #14] + 8011ffe: f9b7 3010 ldrsh.w r3, [r7, #16] + 8012002: 021b lsls r3, r3, #8 + 8012004: b21a sxth r2, r3 + 8012006: f9b7 3012 ldrsh.w r3, [r7, #18] + 801200a: 4313 orrs r3, r2 + 801200c: b21b sxth r3, r3 + 801200e: 81fb strh r3, [r7, #14] return _SwapVal; - 8011614: 89fb ldrh r3, [r7, #14] + 8012010: 89fb ldrh r3, [r7, #14] } - 8011616: 4618 mov r0, r3 - 8011618: 371c adds r7, #28 - 801161a: 46bd mov sp, r7 - 801161c: f85d 7b04 ldr.w r7, [sp], #4 - 8011620: 4770 bx lr + 8012012: 4618 mov r0, r3 + 8012014: 371c adds r7, #28 + 8012016: 46bd mov sp, r7 + 8012018: f85d 7b04 ldr.w r7, [sp], #4 + 801201c: 4770 bx lr ... -08011624 : +08012020 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 8011624: b580 push {r7, lr} - 8011626: b084 sub sp, #16 - 8011628: af00 add r7, sp, #0 - 801162a: 6078 str r0, [r7, #4] - 801162c: 6039 str r1, [r7, #0] + 8012020: b580 push {r7, lr} + 8012022: b084 sub sp, #16 + 8012024: af00 add r7, sp, #0 + 8012026: 6078 str r0, [r7, #4] + 8012028: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; - 801162e: 2300 movs r3, #0 - 8011630: 73fb strb r3, [r7, #15] + 801202a: 2300 movs r3, #0 + 801202c: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) - 8011632: 683b ldr r3, [r7, #0] - 8011634: 781b ldrb r3, [r3, #0] - 8011636: f003 0360 and.w r3, r3, #96 @ 0x60 - 801163a: 2b40 cmp r3, #64 @ 0x40 - 801163c: d005 beq.n 801164a - 801163e: 2b40 cmp r3, #64 @ 0x40 - 8011640: d857 bhi.n 80116f2 - 8011642: 2b00 cmp r3, #0 - 8011644: d00f beq.n 8011666 - 8011646: 2b20 cmp r3, #32 - 8011648: d153 bne.n 80116f2 + 801202e: 683b ldr r3, [r7, #0] + 8012030: 781b ldrb r3, [r3, #0] + 8012032: f003 0360 and.w r3, r3, #96 @ 0x60 + 8012036: 2b40 cmp r3, #64 @ 0x40 + 8012038: d005 beq.n 8012046 + 801203a: 2b40 cmp r3, #64 @ 0x40 + 801203c: d857 bhi.n 80120ee + 801203e: 2b00 cmp r3, #0 + 8012040: d00f beq.n 8012062 + 8012042: 2b20 cmp r3, #32 + 8012044: d153 bne.n 80120ee { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass[pdev->classId]->Setup(pdev, req); - 801164a: 687b ldr r3, [r7, #4] - 801164c: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 - 8011650: 687b ldr r3, [r7, #4] - 8011652: 32ae adds r2, #174 @ 0xae - 8011654: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8011658: 689b ldr r3, [r3, #8] - 801165a: 6839 ldr r1, [r7, #0] - 801165c: 6878 ldr r0, [r7, #4] - 801165e: 4798 blx r3 - 8011660: 4603 mov r3, r0 - 8011662: 73fb strb r3, [r7, #15] + 8012046: 687b ldr r3, [r7, #4] + 8012048: f8d3 22d4 ldr.w r2, [r3, #724] @ 0x2d4 + 801204c: 687b ldr r3, [r7, #4] + 801204e: 32ae adds r2, #174 @ 0xae + 8012050: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8012054: 689b ldr r3, [r3, #8] + 8012056: 6839 ldr r1, [r7, #0] + 8012058: 6878 ldr r0, [r7, #4] + 801205a: 4798 blx r3 + 801205c: 4603 mov r3, r0 + 801205e: 73fb strb r3, [r7, #15] break; - 8011664: e04a b.n 80116fc + 8012060: e04a b.n 80120f8 case USB_REQ_TYPE_STANDARD: switch (req->bRequest) - 8011666: 683b ldr r3, [r7, #0] - 8011668: 785b ldrb r3, [r3, #1] - 801166a: 2b09 cmp r3, #9 - 801166c: d83b bhi.n 80116e6 - 801166e: a201 add r2, pc, #4 @ (adr r2, 8011674 ) - 8011670: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8011674: 080116c9 .word 0x080116c9 - 8011678: 080116dd .word 0x080116dd - 801167c: 080116e7 .word 0x080116e7 - 8011680: 080116d3 .word 0x080116d3 - 8011684: 080116e7 .word 0x080116e7 - 8011688: 080116a7 .word 0x080116a7 - 801168c: 0801169d .word 0x0801169d - 8011690: 080116e7 .word 0x080116e7 - 8011694: 080116bf .word 0x080116bf - 8011698: 080116b1 .word 0x080116b1 + 8012062: 683b ldr r3, [r7, #0] + 8012064: 785b ldrb r3, [r3, #1] + 8012066: 2b09 cmp r3, #9 + 8012068: d83b bhi.n 80120e2 + 801206a: a201 add r2, pc, #4 @ (adr r2, 8012070 ) + 801206c: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8012070: 080120c5 .word 0x080120c5 + 8012074: 080120d9 .word 0x080120d9 + 8012078: 080120e3 .word 0x080120e3 + 801207c: 080120cf .word 0x080120cf + 8012080: 080120e3 .word 0x080120e3 + 8012084: 080120a3 .word 0x080120a3 + 8012088: 08012099 .word 0x08012099 + 801208c: 080120e3 .word 0x080120e3 + 8012090: 080120bb .word 0x080120bb + 8012094: 080120ad .word 0x080120ad { case USB_REQ_GET_DESCRIPTOR: USBD_GetDescriptor(pdev, req); - 801169c: 6839 ldr r1, [r7, #0] - 801169e: 6878 ldr r0, [r7, #4] - 80116a0: f000 fa3e bl 8011b20 + 8012098: 6839 ldr r1, [r7, #0] + 801209a: 6878 ldr r0, [r7, #4] + 801209c: f000 fa3e bl 801251c break; - 80116a4: e024 b.n 80116f0 + 80120a0: e024 b.n 80120ec case USB_REQ_SET_ADDRESS: USBD_SetAddress(pdev, req); - 80116a6: 6839 ldr r1, [r7, #0] - 80116a8: 6878 ldr r0, [r7, #4] - 80116aa: f000 fbcd bl 8011e48 + 80120a2: 6839 ldr r1, [r7, #0] + 80120a4: 6878 ldr r0, [r7, #4] + 80120a6: f000 fbcd bl 8012844 break; - 80116ae: e01f b.n 80116f0 + 80120aa: e01f b.n 80120ec case USB_REQ_SET_CONFIGURATION: ret = USBD_SetConfig(pdev, req); - 80116b0: 6839 ldr r1, [r7, #0] - 80116b2: 6878 ldr r0, [r7, #4] - 80116b4: f000 fc0c bl 8011ed0 - 80116b8: 4603 mov r3, r0 - 80116ba: 73fb strb r3, [r7, #15] + 80120ac: 6839 ldr r1, [r7, #0] + 80120ae: 6878 ldr r0, [r7, #4] + 80120b0: f000 fc0c bl 80128cc + 80120b4: 4603 mov r3, r0 + 80120b6: 73fb strb r3, [r7, #15] break; - 80116bc: e018 b.n 80116f0 + 80120b8: e018 b.n 80120ec case USB_REQ_GET_CONFIGURATION: USBD_GetConfig(pdev, req); - 80116be: 6839 ldr r1, [r7, #0] - 80116c0: 6878 ldr r0, [r7, #4] - 80116c2: f000 fcaf bl 8012024 + 80120ba: 6839 ldr r1, [r7, #0] + 80120bc: 6878 ldr r0, [r7, #4] + 80120be: f000 fcaf bl 8012a20 break; - 80116c6: e013 b.n 80116f0 + 80120c2: e013 b.n 80120ec case USB_REQ_GET_STATUS: USBD_GetStatus(pdev, req); - 80116c8: 6839 ldr r1, [r7, #0] - 80116ca: 6878 ldr r0, [r7, #4] - 80116cc: f000 fce0 bl 8012090 + 80120c4: 6839 ldr r1, [r7, #0] + 80120c6: 6878 ldr r0, [r7, #4] + 80120c8: f000 fce0 bl 8012a8c break; - 80116d0: e00e b.n 80116f0 + 80120cc: e00e b.n 80120ec case USB_REQ_SET_FEATURE: USBD_SetFeature(pdev, req); - 80116d2: 6839 ldr r1, [r7, #0] - 80116d4: 6878 ldr r0, [r7, #4] - 80116d6: f000 fd0f bl 80120f8 + 80120ce: 6839 ldr r1, [r7, #0] + 80120d0: 6878 ldr r0, [r7, #4] + 80120d2: f000 fd0f bl 8012af4 break; - 80116da: e009 b.n 80116f0 + 80120d6: e009 b.n 80120ec case USB_REQ_CLEAR_FEATURE: USBD_ClrFeature(pdev, req); - 80116dc: 6839 ldr r1, [r7, #0] - 80116de: 6878 ldr r0, [r7, #4] - 80116e0: f000 fd33 bl 801214a + 80120d8: 6839 ldr r1, [r7, #0] + 80120da: 6878 ldr r0, [r7, #4] + 80120dc: f000 fd33 bl 8012b46 break; - 80116e4: e004 b.n 80116f0 + 80120e0: e004 b.n 80120ec default: USBD_CtlError(pdev, req); - 80116e6: 6839 ldr r1, [r7, #0] - 80116e8: 6878 ldr r0, [r7, #4] - 80116ea: f000 fd8a bl 8012202 + 80120e2: 6839 ldr r1, [r7, #0] + 80120e4: 6878 ldr r0, [r7, #4] + 80120e6: f000 fd8a bl 8012bfe break; - 80116ee: bf00 nop + 80120ea: bf00 nop } break; - 80116f0: e004 b.n 80116fc + 80120ec: e004 b.n 80120f8 default: USBD_CtlError(pdev, req); - 80116f2: 6839 ldr r1, [r7, #0] - 80116f4: 6878 ldr r0, [r7, #4] - 80116f6: f000 fd84 bl 8012202 + 80120ee: 6839 ldr r1, [r7, #0] + 80120f0: 6878 ldr r0, [r7, #4] + 80120f2: f000 fd84 bl 8012bfe break; - 80116fa: bf00 nop + 80120f6: bf00 nop } return ret; - 80116fc: 7bfb ldrb r3, [r7, #15] + 80120f8: 7bfb ldrb r3, [r7, #15] } - 80116fe: 4618 mov r0, r3 - 8011700: 3710 adds r7, #16 - 8011702: 46bd mov sp, r7 - 8011704: bd80 pop {r7, pc} - 8011706: bf00 nop + 80120fa: 4618 mov r0, r3 + 80120fc: 3710 adds r7, #16 + 80120fe: 46bd mov sp, r7 + 8012100: bd80 pop {r7, pc} + 8012102: bf00 nop -08011708 : +08012104 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 8011708: b580 push {r7, lr} - 801170a: b084 sub sp, #16 - 801170c: af00 add r7, sp, #0 - 801170e: 6078 str r0, [r7, #4] - 8011710: 6039 str r1, [r7, #0] + 8012104: b580 push {r7, lr} + 8012106: b084 sub sp, #16 + 8012108: af00 add r7, sp, #0 + 801210a: 6078 str r0, [r7, #4] + 801210c: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; - 8011712: 2300 movs r3, #0 - 8011714: 73fb strb r3, [r7, #15] + 801210e: 2300 movs r3, #0 + 8012110: 73fb strb r3, [r7, #15] uint8_t idx; switch (req->bmRequest & USB_REQ_TYPE_MASK) - 8011716: 683b ldr r3, [r7, #0] - 8011718: 781b ldrb r3, [r3, #0] - 801171a: f003 0360 and.w r3, r3, #96 @ 0x60 - 801171e: 2b40 cmp r3, #64 @ 0x40 - 8011720: d005 beq.n 801172e - 8011722: 2b40 cmp r3, #64 @ 0x40 - 8011724: d852 bhi.n 80117cc - 8011726: 2b00 cmp r3, #0 - 8011728: d001 beq.n 801172e - 801172a: 2b20 cmp r3, #32 - 801172c: d14e bne.n 80117cc + 8012112: 683b ldr r3, [r7, #0] + 8012114: 781b ldrb r3, [r3, #0] + 8012116: f003 0360 and.w r3, r3, #96 @ 0x60 + 801211a: 2b40 cmp r3, #64 @ 0x40 + 801211c: d005 beq.n 801212a + 801211e: 2b40 cmp r3, #64 @ 0x40 + 8012120: d852 bhi.n 80121c8 + 8012122: 2b00 cmp r3, #0 + 8012124: d001 beq.n 801212a + 8012126: 2b20 cmp r3, #32 + 8012128: d14e bne.n 80121c8 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: case USB_REQ_TYPE_STANDARD: switch (pdev->dev_state) - 801172e: 687b ldr r3, [r7, #4] - 8011730: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 8011734: b2db uxtb r3, r3 - 8011736: 3b01 subs r3, #1 - 8011738: 2b02 cmp r3, #2 - 801173a: d840 bhi.n 80117be + 801212a: 687b ldr r3, [r7, #4] + 801212c: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8012130: b2db uxtb r3, r3 + 8012132: 3b01 subs r3, #1 + 8012134: 2b02 cmp r3, #2 + 8012136: d840 bhi.n 80121ba { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES) - 801173c: 683b ldr r3, [r7, #0] - 801173e: 889b ldrh r3, [r3, #4] - 8011740: b2db uxtb r3, r3 - 8011742: 2b01 cmp r3, #1 - 8011744: d836 bhi.n 80117b4 + 8012138: 683b ldr r3, [r7, #0] + 801213a: 889b ldrh r3, [r3, #4] + 801213c: b2db uxtb r3, r3 + 801213e: 2b01 cmp r3, #1 + 8012140: d836 bhi.n 80121b0 { /* Get the class index relative to this interface */ idx = USBD_CoreFindIF(pdev, LOBYTE(req->wIndex)); - 8011746: 683b ldr r3, [r7, #0] - 8011748: 889b ldrh r3, [r3, #4] - 801174a: b2db uxtb r3, r3 - 801174c: 4619 mov r1, r3 - 801174e: 6878 ldr r0, [r7, #4] - 8011750: f7ff feda bl 8011508 - 8011754: 4603 mov r3, r0 - 8011756: 73bb strb r3, [r7, #14] + 8012142: 683b ldr r3, [r7, #0] + 8012144: 889b ldrh r3, [r3, #4] + 8012146: b2db uxtb r3, r3 + 8012148: 4619 mov r1, r3 + 801214a: 6878 ldr r0, [r7, #4] + 801214c: f7ff feda bl 8011f04 + 8012150: 4603 mov r3, r0 + 8012152: 73bb strb r3, [r7, #14] if (((uint8_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) - 8011758: 7bbb ldrb r3, [r7, #14] - 801175a: 2bff cmp r3, #255 @ 0xff - 801175c: d01d beq.n 801179a - 801175e: 7bbb ldrb r3, [r7, #14] - 8011760: 2b00 cmp r3, #0 - 8011762: d11a bne.n 801179a + 8012154: 7bbb ldrb r3, [r7, #14] + 8012156: 2bff cmp r3, #255 @ 0xff + 8012158: d01d beq.n 8012196 + 801215a: 7bbb ldrb r3, [r7, #14] + 801215c: 2b00 cmp r3, #0 + 801215e: d11a bne.n 8012196 { /* Call the class data out function to manage the request */ if (pdev->pClass[idx]->Setup != NULL) - 8011764: 7bba ldrb r2, [r7, #14] - 8011766: 687b ldr r3, [r7, #4] - 8011768: 32ae adds r2, #174 @ 0xae - 801176a: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 801176e: 689b ldr r3, [r3, #8] - 8011770: 2b00 cmp r3, #0 - 8011772: d00f beq.n 8011794 + 8012160: 7bba ldrb r2, [r7, #14] + 8012162: 687b ldr r3, [r7, #4] + 8012164: 32ae adds r2, #174 @ 0xae + 8012166: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 801216a: 689b ldr r3, [r3, #8] + 801216c: 2b00 cmp r3, #0 + 801216e: d00f beq.n 8012190 { pdev->classId = idx; - 8011774: 7bba ldrb r2, [r7, #14] - 8011776: 687b ldr r3, [r7, #4] - 8011778: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 + 8012170: 7bba ldrb r2, [r7, #14] + 8012172: 687b ldr r3, [r7, #4] + 8012174: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 ret = (USBD_StatusTypeDef)(pdev->pClass[idx]->Setup(pdev, req)); - 801177c: 7bba ldrb r2, [r7, #14] - 801177e: 687b ldr r3, [r7, #4] - 8011780: 32ae adds r2, #174 @ 0xae - 8011782: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8011786: 689b ldr r3, [r3, #8] - 8011788: 6839 ldr r1, [r7, #0] - 801178a: 6878 ldr r0, [r7, #4] - 801178c: 4798 blx r3 - 801178e: 4603 mov r3, r0 - 8011790: 73fb strb r3, [r7, #15] + 8012178: 7bba ldrb r2, [r7, #14] + 801217a: 687b ldr r3, [r7, #4] + 801217c: 32ae adds r2, #174 @ 0xae + 801217e: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8012182: 689b ldr r3, [r3, #8] + 8012184: 6839 ldr r1, [r7, #0] + 8012186: 6878 ldr r0, [r7, #4] + 8012188: 4798 blx r3 + 801218a: 4603 mov r3, r0 + 801218c: 73fb strb r3, [r7, #15] if (pdev->pClass[idx]->Setup != NULL) - 8011792: e004 b.n 801179e + 801218e: e004 b.n 801219a } else { /* should never reach this condition */ ret = USBD_FAIL; - 8011794: 2303 movs r3, #3 - 8011796: 73fb strb r3, [r7, #15] + 8012190: 2303 movs r3, #3 + 8012192: 73fb strb r3, [r7, #15] if (pdev->pClass[idx]->Setup != NULL) - 8011798: e001 b.n 801179e + 8012194: e001 b.n 801219a } } else { /* No relative interface found */ ret = USBD_FAIL; - 801179a: 2303 movs r3, #3 - 801179c: 73fb strb r3, [r7, #15] + 8012196: 2303 movs r3, #3 + 8012198: 73fb strb r3, [r7, #15] } if ((req->wLength == 0U) && (ret == USBD_OK)) - 801179e: 683b ldr r3, [r7, #0] - 80117a0: 88db ldrh r3, [r3, #6] - 80117a2: 2b00 cmp r3, #0 - 80117a4: d110 bne.n 80117c8 - 80117a6: 7bfb ldrb r3, [r7, #15] - 80117a8: 2b00 cmp r3, #0 - 80117aa: d10d bne.n 80117c8 + 801219a: 683b ldr r3, [r7, #0] + 801219c: 88db ldrh r3, [r3, #6] + 801219e: 2b00 cmp r3, #0 + 80121a0: d110 bne.n 80121c4 + 80121a2: 7bfb ldrb r3, [r7, #15] + 80121a4: 2b00 cmp r3, #0 + 80121a6: d10d bne.n 80121c4 { (void)USBD_CtlSendStatus(pdev); - 80117ac: 6878 ldr r0, [r7, #4] - 80117ae: f000 fe06 bl 80123be + 80121a8: 6878 ldr r0, [r7, #4] + 80121aa: f000 fe06 bl 8012dba } else { USBD_CtlError(pdev, req); } break; - 80117b2: e009 b.n 80117c8 + 80121ae: e009 b.n 80121c4 USBD_CtlError(pdev, req); - 80117b4: 6839 ldr r1, [r7, #0] - 80117b6: 6878 ldr r0, [r7, #4] - 80117b8: f000 fd23 bl 8012202 + 80121b0: 6839 ldr r1, [r7, #0] + 80121b2: 6878 ldr r0, [r7, #4] + 80121b4: f000 fd23 bl 8012bfe break; - 80117bc: e004 b.n 80117c8 + 80121b8: e004 b.n 80121c4 default: USBD_CtlError(pdev, req); - 80117be: 6839 ldr r1, [r7, #0] - 80117c0: 6878 ldr r0, [r7, #4] - 80117c2: f000 fd1e bl 8012202 + 80121ba: 6839 ldr r1, [r7, #0] + 80121bc: 6878 ldr r0, [r7, #4] + 80121be: f000 fd1e bl 8012bfe break; - 80117c6: e000 b.n 80117ca + 80121c2: e000 b.n 80121c6 break; - 80117c8: bf00 nop + 80121c4: bf00 nop } break; - 80117ca: e004 b.n 80117d6 + 80121c6: e004 b.n 80121d2 default: USBD_CtlError(pdev, req); - 80117cc: 6839 ldr r1, [r7, #0] - 80117ce: 6878 ldr r0, [r7, #4] - 80117d0: f000 fd17 bl 8012202 + 80121c8: 6839 ldr r1, [r7, #0] + 80121ca: 6878 ldr r0, [r7, #4] + 80121cc: f000 fd17 bl 8012bfe break; - 80117d4: bf00 nop + 80121d0: bf00 nop } return ret; - 80117d6: 7bfb ldrb r3, [r7, #15] + 80121d2: 7bfb ldrb r3, [r7, #15] } - 80117d8: 4618 mov r0, r3 - 80117da: 3710 adds r7, #16 - 80117dc: 46bd mov sp, r7 - 80117de: bd80 pop {r7, pc} + 80121d4: 4618 mov r0, r3 + 80121d6: 3710 adds r7, #16 + 80121d8: 46bd mov sp, r7 + 80121da: bd80 pop {r7, pc} -080117e0 : +080121dc : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 80117e0: b580 push {r7, lr} - 80117e2: b084 sub sp, #16 - 80117e4: af00 add r7, sp, #0 - 80117e6: 6078 str r0, [r7, #4] - 80117e8: 6039 str r1, [r7, #0] + 80121dc: b580 push {r7, lr} + 80121de: b084 sub sp, #16 + 80121e0: af00 add r7, sp, #0 + 80121e2: 6078 str r0, [r7, #4] + 80121e4: 6039 str r1, [r7, #0] USBD_EndpointTypeDef *pep; uint8_t ep_addr; uint8_t idx; USBD_StatusTypeDef ret = USBD_OK; - 80117ea: 2300 movs r3, #0 - 80117ec: 73fb strb r3, [r7, #15] + 80121e6: 2300 movs r3, #0 + 80121e8: 73fb strb r3, [r7, #15] ep_addr = LOBYTE(req->wIndex); - 80117ee: 683b ldr r3, [r7, #0] - 80117f0: 889b ldrh r3, [r3, #4] - 80117f2: 73bb strb r3, [r7, #14] + 80121ea: 683b ldr r3, [r7, #0] + 80121ec: 889b ldrh r3, [r3, #4] + 80121ee: 73bb strb r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) - 80117f4: 683b ldr r3, [r7, #0] - 80117f6: 781b ldrb r3, [r3, #0] - 80117f8: f003 0360 and.w r3, r3, #96 @ 0x60 - 80117fc: 2b40 cmp r3, #64 @ 0x40 - 80117fe: d007 beq.n 8011810 - 8011800: 2b40 cmp r3, #64 @ 0x40 - 8011802: f200 8181 bhi.w 8011b08 - 8011806: 2b00 cmp r3, #0 - 8011808: d02a beq.n 8011860 - 801180a: 2b20 cmp r3, #32 - 801180c: f040 817c bne.w 8011b08 + 80121f0: 683b ldr r3, [r7, #0] + 80121f2: 781b ldrb r3, [r3, #0] + 80121f4: f003 0360 and.w r3, r3, #96 @ 0x60 + 80121f8: 2b40 cmp r3, #64 @ 0x40 + 80121fa: d007 beq.n 801220c + 80121fc: 2b40 cmp r3, #64 @ 0x40 + 80121fe: f200 8181 bhi.w 8012504 + 8012202: 2b00 cmp r3, #0 + 8012204: d02a beq.n 801225c + 8012206: 2b20 cmp r3, #32 + 8012208: f040 817c bne.w 8012504 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: /* Get the class index relative to this endpoint */ idx = USBD_CoreFindEP(pdev, ep_addr); - 8011810: 7bbb ldrb r3, [r7, #14] - 8011812: 4619 mov r1, r3 - 8011814: 6878 ldr r0, [r7, #4] - 8011816: f7ff fe84 bl 8011522 - 801181a: 4603 mov r3, r0 - 801181c: 737b strb r3, [r7, #13] + 801220c: 7bbb ldrb r3, [r7, #14] + 801220e: 4619 mov r1, r3 + 8012210: 6878 ldr r0, [r7, #4] + 8012212: f7ff fe84 bl 8011f1e + 8012216: 4603 mov r3, r0 + 8012218: 737b strb r3, [r7, #13] if (((uint8_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) - 801181e: 7b7b ldrb r3, [r7, #13] - 8011820: 2bff cmp r3, #255 @ 0xff - 8011822: f000 8176 beq.w 8011b12 - 8011826: 7b7b ldrb r3, [r7, #13] - 8011828: 2b00 cmp r3, #0 - 801182a: f040 8172 bne.w 8011b12 + 801221a: 7b7b ldrb r3, [r7, #13] + 801221c: 2bff cmp r3, #255 @ 0xff + 801221e: f000 8176 beq.w 801250e + 8012222: 7b7b ldrb r3, [r7, #13] + 8012224: 2b00 cmp r3, #0 + 8012226: f040 8172 bne.w 801250e { pdev->classId = idx; - 801182e: 7b7a ldrb r2, [r7, #13] - 8011830: 687b ldr r3, [r7, #4] - 8011832: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 + 801222a: 7b7a ldrb r2, [r7, #13] + 801222c: 687b ldr r3, [r7, #4] + 801222e: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 /* Call the class data out function to manage the request */ if (pdev->pClass[idx]->Setup != NULL) - 8011836: 7b7a ldrb r2, [r7, #13] - 8011838: 687b ldr r3, [r7, #4] - 801183a: 32ae adds r2, #174 @ 0xae - 801183c: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8011840: 689b ldr r3, [r3, #8] - 8011842: 2b00 cmp r3, #0 - 8011844: f000 8165 beq.w 8011b12 + 8012232: 7b7a ldrb r2, [r7, #13] + 8012234: 687b ldr r3, [r7, #4] + 8012236: 32ae adds r2, #174 @ 0xae + 8012238: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 801223c: 689b ldr r3, [r3, #8] + 801223e: 2b00 cmp r3, #0 + 8012240: f000 8165 beq.w 801250e { ret = (USBD_StatusTypeDef)pdev->pClass[idx]->Setup(pdev, req); - 8011848: 7b7a ldrb r2, [r7, #13] - 801184a: 687b ldr r3, [r7, #4] - 801184c: 32ae adds r2, #174 @ 0xae - 801184e: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8011852: 689b ldr r3, [r3, #8] - 8011854: 6839 ldr r1, [r7, #0] - 8011856: 6878 ldr r0, [r7, #4] - 8011858: 4798 blx r3 - 801185a: 4603 mov r3, r0 - 801185c: 73fb strb r3, [r7, #15] + 8012244: 7b7a ldrb r2, [r7, #13] + 8012246: 687b ldr r3, [r7, #4] + 8012248: 32ae adds r2, #174 @ 0xae + 801224a: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 801224e: 689b ldr r3, [r3, #8] + 8012250: 6839 ldr r1, [r7, #0] + 8012252: 6878 ldr r0, [r7, #4] + 8012254: 4798 blx r3 + 8012256: 4603 mov r3, r0 + 8012258: 73fb strb r3, [r7, #15] } } break; - 801185e: e158 b.n 8011b12 + 801225a: e158 b.n 801250e case USB_REQ_TYPE_STANDARD: switch (req->bRequest) - 8011860: 683b ldr r3, [r7, #0] - 8011862: 785b ldrb r3, [r3, #1] - 8011864: 2b03 cmp r3, #3 - 8011866: d008 beq.n 801187a - 8011868: 2b03 cmp r3, #3 - 801186a: f300 8147 bgt.w 8011afc - 801186e: 2b00 cmp r3, #0 - 8011870: f000 809b beq.w 80119aa - 8011874: 2b01 cmp r3, #1 - 8011876: d03c beq.n 80118f2 - 8011878: e140 b.n 8011afc + 801225c: 683b ldr r3, [r7, #0] + 801225e: 785b ldrb r3, [r3, #1] + 8012260: 2b03 cmp r3, #3 + 8012262: d008 beq.n 8012276 + 8012264: 2b03 cmp r3, #3 + 8012266: f300 8147 bgt.w 80124f8 + 801226a: 2b00 cmp r3, #0 + 801226c: f000 809b beq.w 80123a6 + 8012270: 2b01 cmp r3, #1 + 8012272: d03c beq.n 80122ee + 8012274: e140 b.n 80124f8 { case USB_REQ_SET_FEATURE: switch (pdev->dev_state) - 801187a: 687b ldr r3, [r7, #4] - 801187c: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 8011880: b2db uxtb r3, r3 - 8011882: 2b02 cmp r3, #2 - 8011884: d002 beq.n 801188c - 8011886: 2b03 cmp r3, #3 - 8011888: d016 beq.n 80118b8 - 801188a: e02c b.n 80118e6 + 8012276: 687b ldr r3, [r7, #4] + 8012278: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 801227c: b2db uxtb r3, r3 + 801227e: 2b02 cmp r3, #2 + 8012280: d002 beq.n 8012288 + 8012282: 2b03 cmp r3, #3 + 8012284: d016 beq.n 80122b4 + 8012286: e02c b.n 80122e2 { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) - 801188c: 7bbb ldrb r3, [r7, #14] - 801188e: 2b00 cmp r3, #0 - 8011890: d00d beq.n 80118ae - 8011892: 7bbb ldrb r3, [r7, #14] - 8011894: 2b80 cmp r3, #128 @ 0x80 - 8011896: d00a beq.n 80118ae + 8012288: 7bbb ldrb r3, [r7, #14] + 801228a: 2b00 cmp r3, #0 + 801228c: d00d beq.n 80122aa + 801228e: 7bbb ldrb r3, [r7, #14] + 8012290: 2b80 cmp r3, #128 @ 0x80 + 8012292: d00a beq.n 80122aa { (void)USBD_LL_StallEP(pdev, ep_addr); - 8011898: 7bbb ldrb r3, [r7, #14] - 801189a: 4619 mov r1, r3 - 801189c: 6878 ldr r0, [r7, #4] - 801189e: f006 ff05 bl 80186ac + 8012294: 7bbb ldrb r3, [r7, #14] + 8012296: 4619 mov r1, r3 + 8012298: 6878 ldr r0, [r7, #4] + 801229a: f006 feef bl 801907c (void)USBD_LL_StallEP(pdev, 0x80U); - 80118a2: 2180 movs r1, #128 @ 0x80 - 80118a4: 6878 ldr r0, [r7, #4] - 80118a6: f006 ff01 bl 80186ac - 80118aa: bf00 nop + 801229e: 2180 movs r1, #128 @ 0x80 + 80122a0: 6878 ldr r0, [r7, #4] + 80122a2: f006 feeb bl 801907c + 80122a6: bf00 nop } else { USBD_CtlError(pdev, req); } break; - 80118ac: e020 b.n 80118f0 + 80122a8: e020 b.n 80122ec USBD_CtlError(pdev, req); - 80118ae: 6839 ldr r1, [r7, #0] - 80118b0: 6878 ldr r0, [r7, #4] - 80118b2: f000 fca6 bl 8012202 + 80122aa: 6839 ldr r1, [r7, #0] + 80122ac: 6878 ldr r0, [r7, #4] + 80122ae: f000 fca6 bl 8012bfe break; - 80118b6: e01b b.n 80118f0 + 80122b2: e01b b.n 80122ec case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) - 80118b8: 683b ldr r3, [r7, #0] - 80118ba: 885b ldrh r3, [r3, #2] - 80118bc: 2b00 cmp r3, #0 - 80118be: d10e bne.n 80118de + 80122b4: 683b ldr r3, [r7, #0] + 80122b6: 885b ldrh r3, [r3, #2] + 80122b8: 2b00 cmp r3, #0 + 80122ba: d10e bne.n 80122da { if ((ep_addr != 0x00U) && (ep_addr != 0x80U) && (req->wLength == 0x00U)) - 80118c0: 7bbb ldrb r3, [r7, #14] - 80118c2: 2b00 cmp r3, #0 - 80118c4: d00b beq.n 80118de - 80118c6: 7bbb ldrb r3, [r7, #14] - 80118c8: 2b80 cmp r3, #128 @ 0x80 - 80118ca: d008 beq.n 80118de - 80118cc: 683b ldr r3, [r7, #0] - 80118ce: 88db ldrh r3, [r3, #6] - 80118d0: 2b00 cmp r3, #0 - 80118d2: d104 bne.n 80118de + 80122bc: 7bbb ldrb r3, [r7, #14] + 80122be: 2b00 cmp r3, #0 + 80122c0: d00b beq.n 80122da + 80122c2: 7bbb ldrb r3, [r7, #14] + 80122c4: 2b80 cmp r3, #128 @ 0x80 + 80122c6: d008 beq.n 80122da + 80122c8: 683b ldr r3, [r7, #0] + 80122ca: 88db ldrh r3, [r3, #6] + 80122cc: 2b00 cmp r3, #0 + 80122ce: d104 bne.n 80122da { (void)USBD_LL_StallEP(pdev, ep_addr); - 80118d4: 7bbb ldrb r3, [r7, #14] - 80118d6: 4619 mov r1, r3 - 80118d8: 6878 ldr r0, [r7, #4] - 80118da: f006 fee7 bl 80186ac + 80122d0: 7bbb ldrb r3, [r7, #14] + 80122d2: 4619 mov r1, r3 + 80122d4: 6878 ldr r0, [r7, #4] + 80122d6: f006 fed1 bl 801907c } } (void)USBD_CtlSendStatus(pdev); - 80118de: 6878 ldr r0, [r7, #4] - 80118e0: f000 fd6d bl 80123be + 80122da: 6878 ldr r0, [r7, #4] + 80122dc: f000 fd6d bl 8012dba break; - 80118e4: e004 b.n 80118f0 + 80122e0: e004 b.n 80122ec default: USBD_CtlError(pdev, req); - 80118e6: 6839 ldr r1, [r7, #0] - 80118e8: 6878 ldr r0, [r7, #4] - 80118ea: f000 fc8a bl 8012202 + 80122e2: 6839 ldr r1, [r7, #0] + 80122e4: 6878 ldr r0, [r7, #4] + 80122e6: f000 fc8a bl 8012bfe break; - 80118ee: bf00 nop + 80122ea: bf00 nop } break; - 80118f0: e109 b.n 8011b06 + 80122ec: e109 b.n 8012502 case USB_REQ_CLEAR_FEATURE: switch (pdev->dev_state) - 80118f2: 687b ldr r3, [r7, #4] - 80118f4: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 80118f8: b2db uxtb r3, r3 - 80118fa: 2b02 cmp r3, #2 - 80118fc: d002 beq.n 8011904 - 80118fe: 2b03 cmp r3, #3 - 8011900: d016 beq.n 8011930 - 8011902: e04b b.n 801199c + 80122ee: 687b ldr r3, [r7, #4] + 80122f0: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 80122f4: b2db uxtb r3, r3 + 80122f6: 2b02 cmp r3, #2 + 80122f8: d002 beq.n 8012300 + 80122fa: 2b03 cmp r3, #3 + 80122fc: d016 beq.n 801232c + 80122fe: e04b b.n 8012398 { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) - 8011904: 7bbb ldrb r3, [r7, #14] - 8011906: 2b00 cmp r3, #0 - 8011908: d00d beq.n 8011926 - 801190a: 7bbb ldrb r3, [r7, #14] - 801190c: 2b80 cmp r3, #128 @ 0x80 - 801190e: d00a beq.n 8011926 + 8012300: 7bbb ldrb r3, [r7, #14] + 8012302: 2b00 cmp r3, #0 + 8012304: d00d beq.n 8012322 + 8012306: 7bbb ldrb r3, [r7, #14] + 8012308: 2b80 cmp r3, #128 @ 0x80 + 801230a: d00a beq.n 8012322 { (void)USBD_LL_StallEP(pdev, ep_addr); - 8011910: 7bbb ldrb r3, [r7, #14] - 8011912: 4619 mov r1, r3 - 8011914: 6878 ldr r0, [r7, #4] - 8011916: f006 fec9 bl 80186ac + 801230c: 7bbb ldrb r3, [r7, #14] + 801230e: 4619 mov r1, r3 + 8012310: 6878 ldr r0, [r7, #4] + 8012312: f006 feb3 bl 801907c (void)USBD_LL_StallEP(pdev, 0x80U); - 801191a: 2180 movs r1, #128 @ 0x80 - 801191c: 6878 ldr r0, [r7, #4] - 801191e: f006 fec5 bl 80186ac - 8011922: bf00 nop + 8012316: 2180 movs r1, #128 @ 0x80 + 8012318: 6878 ldr r0, [r7, #4] + 801231a: f006 feaf bl 801907c + 801231e: bf00 nop } else { USBD_CtlError(pdev, req); } break; - 8011924: e040 b.n 80119a8 + 8012320: e040 b.n 80123a4 USBD_CtlError(pdev, req); - 8011926: 6839 ldr r1, [r7, #0] - 8011928: 6878 ldr r0, [r7, #4] - 801192a: f000 fc6a bl 8012202 + 8012322: 6839 ldr r1, [r7, #0] + 8012324: 6878 ldr r0, [r7, #4] + 8012326: f000 fc6a bl 8012bfe break; - 801192e: e03b b.n 80119a8 + 801232a: e03b b.n 80123a4 case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) - 8011930: 683b ldr r3, [r7, #0] - 8011932: 885b ldrh r3, [r3, #2] - 8011934: 2b00 cmp r3, #0 - 8011936: d136 bne.n 80119a6 + 801232c: 683b ldr r3, [r7, #0] + 801232e: 885b ldrh r3, [r3, #2] + 8012330: 2b00 cmp r3, #0 + 8012332: d136 bne.n 80123a2 { if ((ep_addr & 0x7FU) != 0x00U) - 8011938: 7bbb ldrb r3, [r7, #14] - 801193a: f003 037f and.w r3, r3, #127 @ 0x7f - 801193e: 2b00 cmp r3, #0 - 8011940: d004 beq.n 801194c + 8012334: 7bbb ldrb r3, [r7, #14] + 8012336: f003 037f and.w r3, r3, #127 @ 0x7f + 801233a: 2b00 cmp r3, #0 + 801233c: d004 beq.n 8012348 { (void)USBD_LL_ClearStallEP(pdev, ep_addr); - 8011942: 7bbb ldrb r3, [r7, #14] - 8011944: 4619 mov r1, r3 - 8011946: 6878 ldr r0, [r7, #4] - 8011948: f006 fecf bl 80186ea + 801233e: 7bbb ldrb r3, [r7, #14] + 8012340: 4619 mov r1, r3 + 8012342: 6878 ldr r0, [r7, #4] + 8012344: f006 feb9 bl 80190ba } (void)USBD_CtlSendStatus(pdev); - 801194c: 6878 ldr r0, [r7, #4] - 801194e: f000 fd36 bl 80123be + 8012348: 6878 ldr r0, [r7, #4] + 801234a: f000 fd36 bl 8012dba /* Get the class index relative to this interface */ idx = USBD_CoreFindEP(pdev, ep_addr); - 8011952: 7bbb ldrb r3, [r7, #14] - 8011954: 4619 mov r1, r3 - 8011956: 6878 ldr r0, [r7, #4] - 8011958: f7ff fde3 bl 8011522 - 801195c: 4603 mov r3, r0 - 801195e: 737b strb r3, [r7, #13] + 801234e: 7bbb ldrb r3, [r7, #14] + 8012350: 4619 mov r1, r3 + 8012352: 6878 ldr r0, [r7, #4] + 8012354: f7ff fde3 bl 8011f1e + 8012358: 4603 mov r3, r0 + 801235a: 737b strb r3, [r7, #13] if (((uint8_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) - 8011960: 7b7b ldrb r3, [r7, #13] - 8011962: 2bff cmp r3, #255 @ 0xff - 8011964: d01f beq.n 80119a6 - 8011966: 7b7b ldrb r3, [r7, #13] - 8011968: 2b00 cmp r3, #0 - 801196a: d11c bne.n 80119a6 + 801235c: 7b7b ldrb r3, [r7, #13] + 801235e: 2bff cmp r3, #255 @ 0xff + 8012360: d01f beq.n 80123a2 + 8012362: 7b7b ldrb r3, [r7, #13] + 8012364: 2b00 cmp r3, #0 + 8012366: d11c bne.n 80123a2 { pdev->classId = idx; - 801196c: 7b7a ldrb r2, [r7, #13] - 801196e: 687b ldr r3, [r7, #4] - 8011970: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 + 8012368: 7b7a ldrb r2, [r7, #13] + 801236a: 687b ldr r3, [r7, #4] + 801236c: f8c3 22d4 str.w r2, [r3, #724] @ 0x2d4 /* Call the class data out function to manage the request */ if (pdev->pClass[idx]->Setup != NULL) - 8011974: 7b7a ldrb r2, [r7, #13] - 8011976: 687b ldr r3, [r7, #4] - 8011978: 32ae adds r2, #174 @ 0xae - 801197a: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 801197e: 689b ldr r3, [r3, #8] - 8011980: 2b00 cmp r3, #0 - 8011982: d010 beq.n 80119a6 + 8012370: 7b7a ldrb r2, [r7, #13] + 8012372: 687b ldr r3, [r7, #4] + 8012374: 32ae adds r2, #174 @ 0xae + 8012376: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 801237a: 689b ldr r3, [r3, #8] + 801237c: 2b00 cmp r3, #0 + 801237e: d010 beq.n 80123a2 { ret = (USBD_StatusTypeDef)(pdev->pClass[idx]->Setup(pdev, req)); - 8011984: 7b7a ldrb r2, [r7, #13] - 8011986: 687b ldr r3, [r7, #4] - 8011988: 32ae adds r2, #174 @ 0xae - 801198a: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 801198e: 689b ldr r3, [r3, #8] - 8011990: 6839 ldr r1, [r7, #0] - 8011992: 6878 ldr r0, [r7, #4] - 8011994: 4798 blx r3 - 8011996: 4603 mov r3, r0 - 8011998: 73fb strb r3, [r7, #15] + 8012380: 7b7a ldrb r2, [r7, #13] + 8012382: 687b ldr r3, [r7, #4] + 8012384: 32ae adds r2, #174 @ 0xae + 8012386: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 801238a: 689b ldr r3, [r3, #8] + 801238c: 6839 ldr r1, [r7, #0] + 801238e: 6878 ldr r0, [r7, #4] + 8012390: 4798 blx r3 + 8012392: 4603 mov r3, r0 + 8012394: 73fb strb r3, [r7, #15] } } } break; - 801199a: e004 b.n 80119a6 + 8012396: e004 b.n 80123a2 default: USBD_CtlError(pdev, req); - 801199c: 6839 ldr r1, [r7, #0] - 801199e: 6878 ldr r0, [r7, #4] - 80119a0: f000 fc2f bl 8012202 + 8012398: 6839 ldr r1, [r7, #0] + 801239a: 6878 ldr r0, [r7, #4] + 801239c: f000 fc2f bl 8012bfe break; - 80119a4: e000 b.n 80119a8 + 80123a0: e000 b.n 80123a4 break; - 80119a6: bf00 nop + 80123a2: bf00 nop } break; - 80119a8: e0ad b.n 8011b06 + 80123a4: e0ad b.n 8012502 case USB_REQ_GET_STATUS: switch (pdev->dev_state) - 80119aa: 687b ldr r3, [r7, #4] - 80119ac: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 80119b0: b2db uxtb r3, r3 - 80119b2: 2b02 cmp r3, #2 - 80119b4: d002 beq.n 80119bc - 80119b6: 2b03 cmp r3, #3 - 80119b8: d033 beq.n 8011a22 - 80119ba: e099 b.n 8011af0 + 80123a6: 687b ldr r3, [r7, #4] + 80123a8: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 80123ac: b2db uxtb r3, r3 + 80123ae: 2b02 cmp r3, #2 + 80123b0: d002 beq.n 80123b8 + 80123b2: 2b03 cmp r3, #3 + 80123b4: d033 beq.n 801241e + 80123b6: e099 b.n 80124ec { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) - 80119bc: 7bbb ldrb r3, [r7, #14] - 80119be: 2b00 cmp r3, #0 - 80119c0: d007 beq.n 80119d2 - 80119c2: 7bbb ldrb r3, [r7, #14] - 80119c4: 2b80 cmp r3, #128 @ 0x80 - 80119c6: d004 beq.n 80119d2 + 80123b8: 7bbb ldrb r3, [r7, #14] + 80123ba: 2b00 cmp r3, #0 + 80123bc: d007 beq.n 80123ce + 80123be: 7bbb ldrb r3, [r7, #14] + 80123c0: 2b80 cmp r3, #128 @ 0x80 + 80123c2: d004 beq.n 80123ce { USBD_CtlError(pdev, req); - 80119c8: 6839 ldr r1, [r7, #0] - 80119ca: 6878 ldr r0, [r7, #4] - 80119cc: f000 fc19 bl 8012202 + 80123c4: 6839 ldr r1, [r7, #0] + 80123c6: 6878 ldr r0, [r7, #4] + 80123c8: f000 fc19 bl 8012bfe break; - 80119d0: e093 b.n 8011afa + 80123cc: e093 b.n 80124f6 } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ - 80119d2: f997 300e ldrsb.w r3, [r7, #14] - 80119d6: 2b00 cmp r3, #0 - 80119d8: da0b bge.n 80119f2 - 80119da: 7bbb ldrb r3, [r7, #14] - 80119dc: f003 027f and.w r2, r3, #127 @ 0x7f - 80119e0: 4613 mov r3, r2 - 80119e2: 009b lsls r3, r3, #2 - 80119e4: 4413 add r3, r2 - 80119e6: 009b lsls r3, r3, #2 - 80119e8: 3310 adds r3, #16 - 80119ea: 687a ldr r2, [r7, #4] - 80119ec: 4413 add r3, r2 - 80119ee: 3304 adds r3, #4 - 80119f0: e00b b.n 8011a0a + 80123ce: f997 300e ldrsb.w r3, [r7, #14] + 80123d2: 2b00 cmp r3, #0 + 80123d4: da0b bge.n 80123ee + 80123d6: 7bbb ldrb r3, [r7, #14] + 80123d8: f003 027f and.w r2, r3, #127 @ 0x7f + 80123dc: 4613 mov r3, r2 + 80123de: 009b lsls r3, r3, #2 + 80123e0: 4413 add r3, r2 + 80123e2: 009b lsls r3, r3, #2 + 80123e4: 3310 adds r3, #16 + 80123e6: 687a ldr r2, [r7, #4] + 80123e8: 4413 add r3, r2 + 80123ea: 3304 adds r3, #4 + 80123ec: e00b b.n 8012406 &pdev->ep_out[ep_addr & 0x7FU]; - 80119f2: 7bbb ldrb r3, [r7, #14] - 80119f4: f003 027f and.w r2, r3, #127 @ 0x7f + 80123ee: 7bbb ldrb r3, [r7, #14] + 80123f0: f003 027f and.w r2, r3, #127 @ 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ - 80119f8: 4613 mov r3, r2 - 80119fa: 009b lsls r3, r3, #2 - 80119fc: 4413 add r3, r2 - 80119fe: 009b lsls r3, r3, #2 - 8011a00: f503 73a8 add.w r3, r3, #336 @ 0x150 - 8011a04: 687a ldr r2, [r7, #4] - 8011a06: 4413 add r3, r2 - 8011a08: 3304 adds r3, #4 - 8011a0a: 60bb str r3, [r7, #8] + 80123f4: 4613 mov r3, r2 + 80123f6: 009b lsls r3, r3, #2 + 80123f8: 4413 add r3, r2 + 80123fa: 009b lsls r3, r3, #2 + 80123fc: f503 73a8 add.w r3, r3, #336 @ 0x150 + 8012400: 687a ldr r2, [r7, #4] + 8012402: 4413 add r3, r2 + 8012404: 3304 adds r3, #4 + 8012406: 60bb str r3, [r7, #8] pep->status = 0x0000U; - 8011a0c: 68bb ldr r3, [r7, #8] - 8011a0e: 2200 movs r2, #0 - 8011a10: 739a strb r2, [r3, #14] + 8012408: 68bb ldr r3, [r7, #8] + 801240a: 2200 movs r2, #0 + 801240c: 739a strb r2, [r3, #14] (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); - 8011a12: 68bb ldr r3, [r7, #8] - 8011a14: 330e adds r3, #14 - 8011a16: 2202 movs r2, #2 - 8011a18: 4619 mov r1, r3 - 8011a1a: 6878 ldr r0, [r7, #4] - 8011a1c: f000 fc6e bl 80122fc + 801240e: 68bb ldr r3, [r7, #8] + 8012410: 330e adds r3, #14 + 8012412: 2202 movs r2, #2 + 8012414: 4619 mov r1, r3 + 8012416: 6878 ldr r0, [r7, #4] + 8012418: f000 fc6e bl 8012cf8 break; - 8011a20: e06b b.n 8011afa + 801241c: e06b b.n 80124f6 case USBD_STATE_CONFIGURED: if ((ep_addr & 0x80U) == 0x80U) - 8011a22: f997 300e ldrsb.w r3, [r7, #14] - 8011a26: 2b00 cmp r3, #0 - 8011a28: da11 bge.n 8011a4e + 801241e: f997 300e ldrsb.w r3, [r7, #14] + 8012422: 2b00 cmp r3, #0 + 8012424: da11 bge.n 801244a { if (pdev->ep_in[ep_addr & 0xFU].is_used == 0U) - 8011a2a: 7bbb ldrb r3, [r7, #14] - 8011a2c: f003 020f and.w r2, r3, #15 - 8011a30: 6879 ldr r1, [r7, #4] - 8011a32: 4613 mov r3, r2 - 8011a34: 009b lsls r3, r3, #2 - 8011a36: 4413 add r3, r2 - 8011a38: 009b lsls r3, r3, #2 - 8011a3a: 440b add r3, r1 - 8011a3c: 3323 adds r3, #35 @ 0x23 - 8011a3e: 781b ldrb r3, [r3, #0] - 8011a40: 2b00 cmp r3, #0 - 8011a42: d117 bne.n 8011a74 + 8012426: 7bbb ldrb r3, [r7, #14] + 8012428: f003 020f and.w r2, r3, #15 + 801242c: 6879 ldr r1, [r7, #4] + 801242e: 4613 mov r3, r2 + 8012430: 009b lsls r3, r3, #2 + 8012432: 4413 add r3, r2 + 8012434: 009b lsls r3, r3, #2 + 8012436: 440b add r3, r1 + 8012438: 3323 adds r3, #35 @ 0x23 + 801243a: 781b ldrb r3, [r3, #0] + 801243c: 2b00 cmp r3, #0 + 801243e: d117 bne.n 8012470 { USBD_CtlError(pdev, req); - 8011a44: 6839 ldr r1, [r7, #0] - 8011a46: 6878 ldr r0, [r7, #4] - 8011a48: f000 fbdb bl 8012202 + 8012440: 6839 ldr r1, [r7, #0] + 8012442: 6878 ldr r0, [r7, #4] + 8012444: f000 fbdb bl 8012bfe break; - 8011a4c: e055 b.n 8011afa + 8012448: e055 b.n 80124f6 } } else { if (pdev->ep_out[ep_addr & 0xFU].is_used == 0U) - 8011a4e: 7bbb ldrb r3, [r7, #14] - 8011a50: f003 020f and.w r2, r3, #15 - 8011a54: 6879 ldr r1, [r7, #4] - 8011a56: 4613 mov r3, r2 - 8011a58: 009b lsls r3, r3, #2 - 8011a5a: 4413 add r3, r2 - 8011a5c: 009b lsls r3, r3, #2 - 8011a5e: 440b add r3, r1 - 8011a60: f203 1363 addw r3, r3, #355 @ 0x163 - 8011a64: 781b ldrb r3, [r3, #0] - 8011a66: 2b00 cmp r3, #0 - 8011a68: d104 bne.n 8011a74 + 801244a: 7bbb ldrb r3, [r7, #14] + 801244c: f003 020f and.w r2, r3, #15 + 8012450: 6879 ldr r1, [r7, #4] + 8012452: 4613 mov r3, r2 + 8012454: 009b lsls r3, r3, #2 + 8012456: 4413 add r3, r2 + 8012458: 009b lsls r3, r3, #2 + 801245a: 440b add r3, r1 + 801245c: f203 1363 addw r3, r3, #355 @ 0x163 + 8012460: 781b ldrb r3, [r3, #0] + 8012462: 2b00 cmp r3, #0 + 8012464: d104 bne.n 8012470 { USBD_CtlError(pdev, req); - 8011a6a: 6839 ldr r1, [r7, #0] - 8011a6c: 6878 ldr r0, [r7, #4] - 8011a6e: f000 fbc8 bl 8012202 + 8012466: 6839 ldr r1, [r7, #0] + 8012468: 6878 ldr r0, [r7, #4] + 801246a: f000 fbc8 bl 8012bfe break; - 8011a72: e042 b.n 8011afa + 801246e: e042 b.n 80124f6 } } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ - 8011a74: f997 300e ldrsb.w r3, [r7, #14] - 8011a78: 2b00 cmp r3, #0 - 8011a7a: da0b bge.n 8011a94 - 8011a7c: 7bbb ldrb r3, [r7, #14] - 8011a7e: f003 027f and.w r2, r3, #127 @ 0x7f - 8011a82: 4613 mov r3, r2 - 8011a84: 009b lsls r3, r3, #2 - 8011a86: 4413 add r3, r2 - 8011a88: 009b lsls r3, r3, #2 - 8011a8a: 3310 adds r3, #16 - 8011a8c: 687a ldr r2, [r7, #4] - 8011a8e: 4413 add r3, r2 - 8011a90: 3304 adds r3, #4 - 8011a92: e00b b.n 8011aac + 8012470: f997 300e ldrsb.w r3, [r7, #14] + 8012474: 2b00 cmp r3, #0 + 8012476: da0b bge.n 8012490 + 8012478: 7bbb ldrb r3, [r7, #14] + 801247a: f003 027f and.w r2, r3, #127 @ 0x7f + 801247e: 4613 mov r3, r2 + 8012480: 009b lsls r3, r3, #2 + 8012482: 4413 add r3, r2 + 8012484: 009b lsls r3, r3, #2 + 8012486: 3310 adds r3, #16 + 8012488: 687a ldr r2, [r7, #4] + 801248a: 4413 add r3, r2 + 801248c: 3304 adds r3, #4 + 801248e: e00b b.n 80124a8 &pdev->ep_out[ep_addr & 0x7FU]; - 8011a94: 7bbb ldrb r3, [r7, #14] - 8011a96: f003 027f and.w r2, r3, #127 @ 0x7f + 8012490: 7bbb ldrb r3, [r7, #14] + 8012492: f003 027f and.w r2, r3, #127 @ 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ - 8011a9a: 4613 mov r3, r2 - 8011a9c: 009b lsls r3, r3, #2 - 8011a9e: 4413 add r3, r2 - 8011aa0: 009b lsls r3, r3, #2 - 8011aa2: f503 73a8 add.w r3, r3, #336 @ 0x150 - 8011aa6: 687a ldr r2, [r7, #4] - 8011aa8: 4413 add r3, r2 - 8011aaa: 3304 adds r3, #4 - 8011aac: 60bb str r3, [r7, #8] + 8012496: 4613 mov r3, r2 + 8012498: 009b lsls r3, r3, #2 + 801249a: 4413 add r3, r2 + 801249c: 009b lsls r3, r3, #2 + 801249e: f503 73a8 add.w r3, r3, #336 @ 0x150 + 80124a2: 687a ldr r2, [r7, #4] + 80124a4: 4413 add r3, r2 + 80124a6: 3304 adds r3, #4 + 80124a8: 60bb str r3, [r7, #8] if ((ep_addr == 0x00U) || (ep_addr == 0x80U)) - 8011aae: 7bbb ldrb r3, [r7, #14] - 8011ab0: 2b00 cmp r3, #0 - 8011ab2: d002 beq.n 8011aba - 8011ab4: 7bbb ldrb r3, [r7, #14] - 8011ab6: 2b80 cmp r3, #128 @ 0x80 - 8011ab8: d103 bne.n 8011ac2 + 80124aa: 7bbb ldrb r3, [r7, #14] + 80124ac: 2b00 cmp r3, #0 + 80124ae: d002 beq.n 80124b6 + 80124b0: 7bbb ldrb r3, [r7, #14] + 80124b2: 2b80 cmp r3, #128 @ 0x80 + 80124b4: d103 bne.n 80124be { pep->status = 0x0000U; - 8011aba: 68bb ldr r3, [r7, #8] - 8011abc: 2200 movs r2, #0 - 8011abe: 739a strb r2, [r3, #14] - 8011ac0: e00e b.n 8011ae0 + 80124b6: 68bb ldr r3, [r7, #8] + 80124b8: 2200 movs r2, #0 + 80124ba: 739a strb r2, [r3, #14] + 80124bc: e00e b.n 80124dc } else if (USBD_LL_IsStallEP(pdev, ep_addr) != 0U) - 8011ac2: 7bbb ldrb r3, [r7, #14] - 8011ac4: 4619 mov r1, r3 - 8011ac6: 6878 ldr r0, [r7, #4] - 8011ac8: f006 fe2e bl 8018728 - 8011acc: 4603 mov r3, r0 - 8011ace: 2b00 cmp r3, #0 - 8011ad0: d003 beq.n 8011ada + 80124be: 7bbb ldrb r3, [r7, #14] + 80124c0: 4619 mov r1, r3 + 80124c2: 6878 ldr r0, [r7, #4] + 80124c4: f006 fe18 bl 80190f8 + 80124c8: 4603 mov r3, r0 + 80124ca: 2b00 cmp r3, #0 + 80124cc: d003 beq.n 80124d6 { pep->status = 0x0001U; - 8011ad2: 68bb ldr r3, [r7, #8] - 8011ad4: 2201 movs r2, #1 - 8011ad6: 739a strb r2, [r3, #14] - 8011ad8: e002 b.n 8011ae0 + 80124ce: 68bb ldr r3, [r7, #8] + 80124d0: 2201 movs r2, #1 + 80124d2: 739a strb r2, [r3, #14] + 80124d4: e002 b.n 80124dc } else { pep->status = 0x0000U; - 8011ada: 68bb ldr r3, [r7, #8] - 8011adc: 2200 movs r2, #0 - 8011ade: 739a strb r2, [r3, #14] + 80124d6: 68bb ldr r3, [r7, #8] + 80124d8: 2200 movs r2, #0 + 80124da: 739a strb r2, [r3, #14] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); - 8011ae0: 68bb ldr r3, [r7, #8] - 8011ae2: 330e adds r3, #14 - 8011ae4: 2202 movs r2, #2 - 8011ae6: 4619 mov r1, r3 - 8011ae8: 6878 ldr r0, [r7, #4] - 8011aea: f000 fc07 bl 80122fc + 80124dc: 68bb ldr r3, [r7, #8] + 80124de: 330e adds r3, #14 + 80124e0: 2202 movs r2, #2 + 80124e2: 4619 mov r1, r3 + 80124e4: 6878 ldr r0, [r7, #4] + 80124e6: f000 fc07 bl 8012cf8 break; - 8011aee: e004 b.n 8011afa + 80124ea: e004 b.n 80124f6 default: USBD_CtlError(pdev, req); - 8011af0: 6839 ldr r1, [r7, #0] - 8011af2: 6878 ldr r0, [r7, #4] - 8011af4: f000 fb85 bl 8012202 + 80124ec: 6839 ldr r1, [r7, #0] + 80124ee: 6878 ldr r0, [r7, #4] + 80124f0: f000 fb85 bl 8012bfe break; - 8011af8: bf00 nop + 80124f4: bf00 nop } break; - 8011afa: e004 b.n 8011b06 + 80124f6: e004 b.n 8012502 default: USBD_CtlError(pdev, req); - 8011afc: 6839 ldr r1, [r7, #0] - 8011afe: 6878 ldr r0, [r7, #4] - 8011b00: f000 fb7f bl 8012202 + 80124f8: 6839 ldr r1, [r7, #0] + 80124fa: 6878 ldr r0, [r7, #4] + 80124fc: f000 fb7f bl 8012bfe break; - 8011b04: bf00 nop + 8012500: bf00 nop } break; - 8011b06: e005 b.n 8011b14 + 8012502: e005 b.n 8012510 default: USBD_CtlError(pdev, req); - 8011b08: 6839 ldr r1, [r7, #0] - 8011b0a: 6878 ldr r0, [r7, #4] - 8011b0c: f000 fb79 bl 8012202 + 8012504: 6839 ldr r1, [r7, #0] + 8012506: 6878 ldr r0, [r7, #4] + 8012508: f000 fb79 bl 8012bfe break; - 8011b10: e000 b.n 8011b14 + 801250c: e000 b.n 8012510 break; - 8011b12: bf00 nop + 801250e: bf00 nop } return ret; - 8011b14: 7bfb ldrb r3, [r7, #15] + 8012510: 7bfb ldrb r3, [r7, #15] } - 8011b16: 4618 mov r0, r3 - 8011b18: 3710 adds r7, #16 - 8011b1a: 46bd mov sp, r7 - 8011b1c: bd80 pop {r7, pc} + 8012512: 4618 mov r0, r3 + 8012514: 3710 adds r7, #16 + 8012516: 46bd mov sp, r7 + 8012518: bd80 pop {r7, pc} ... -08011b20 : +0801251c : * @param pdev: device instance * @param req: usb request * @retval None */ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 8011b20: b580 push {r7, lr} - 8011b22: b084 sub sp, #16 - 8011b24: af00 add r7, sp, #0 - 8011b26: 6078 str r0, [r7, #4] - 8011b28: 6039 str r1, [r7, #0] + 801251c: b580 push {r7, lr} + 801251e: b084 sub sp, #16 + 8012520: af00 add r7, sp, #0 + 8012522: 6078 str r0, [r7, #4] + 8012524: 6039 str r1, [r7, #0] uint16_t len = 0U; - 8011b2a: 2300 movs r3, #0 - 8011b2c: 813b strh r3, [r7, #8] + 8012526: 2300 movs r3, #0 + 8012528: 813b strh r3, [r7, #8] uint8_t *pbuf = NULL; - 8011b2e: 2300 movs r3, #0 - 8011b30: 60fb str r3, [r7, #12] + 801252a: 2300 movs r3, #0 + 801252c: 60fb str r3, [r7, #12] uint8_t err = 0U; - 8011b32: 2300 movs r3, #0 - 8011b34: 72fb strb r3, [r7, #11] + 801252e: 2300 movs r3, #0 + 8012530: 72fb strb r3, [r7, #11] switch (req->wValue >> 8) - 8011b36: 683b ldr r3, [r7, #0] - 8011b38: 885b ldrh r3, [r3, #2] - 8011b3a: 0a1b lsrs r3, r3, #8 - 8011b3c: b29b uxth r3, r3 - 8011b3e: 3b01 subs r3, #1 - 8011b40: 2b0e cmp r3, #14 - 8011b42: f200 8152 bhi.w 8011dea - 8011b46: a201 add r2, pc, #4 @ (adr r2, 8011b4c ) - 8011b48: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8011b4c: 08011bbd .word 0x08011bbd - 8011b50: 08011bd5 .word 0x08011bd5 - 8011b54: 08011c15 .word 0x08011c15 - 8011b58: 08011deb .word 0x08011deb - 8011b5c: 08011deb .word 0x08011deb - 8011b60: 08011d8b .word 0x08011d8b - 8011b64: 08011db7 .word 0x08011db7 - 8011b68: 08011deb .word 0x08011deb - 8011b6c: 08011deb .word 0x08011deb - 8011b70: 08011deb .word 0x08011deb - 8011b74: 08011deb .word 0x08011deb - 8011b78: 08011deb .word 0x08011deb - 8011b7c: 08011deb .word 0x08011deb - 8011b80: 08011deb .word 0x08011deb - 8011b84: 08011b89 .word 0x08011b89 + 8012532: 683b ldr r3, [r7, #0] + 8012534: 885b ldrh r3, [r3, #2] + 8012536: 0a1b lsrs r3, r3, #8 + 8012538: b29b uxth r3, r3 + 801253a: 3b01 subs r3, #1 + 801253c: 2b0e cmp r3, #14 + 801253e: f200 8152 bhi.w 80127e6 + 8012542: a201 add r2, pc, #4 @ (adr r2, 8012548 ) + 8012544: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8012548: 080125b9 .word 0x080125b9 + 801254c: 080125d1 .word 0x080125d1 + 8012550: 08012611 .word 0x08012611 + 8012554: 080127e7 .word 0x080127e7 + 8012558: 080127e7 .word 0x080127e7 + 801255c: 08012787 .word 0x08012787 + 8012560: 080127b3 .word 0x080127b3 + 8012564: 080127e7 .word 0x080127e7 + 8012568: 080127e7 .word 0x080127e7 + 801256c: 080127e7 .word 0x080127e7 + 8012570: 080127e7 .word 0x080127e7 + 8012574: 080127e7 .word 0x080127e7 + 8012578: 080127e7 .word 0x080127e7 + 801257c: 080127e7 .word 0x080127e7 + 8012580: 08012585 .word 0x08012585 { #if ((USBD_LPM_ENABLED == 1U) || (USBD_CLASS_BOS_ENABLED == 1U)) case USB_DESC_TYPE_BOS: if (pdev->pDesc->GetBOSDescriptor != NULL) - 8011b88: 687b ldr r3, [r7, #4] - 8011b8a: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011b8e: 69db ldr r3, [r3, #28] - 8011b90: 2b00 cmp r3, #0 - 8011b92: d00b beq.n 8011bac + 8012584: 687b ldr r3, [r7, #4] + 8012586: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 801258a: 69db ldr r3, [r3, #28] + 801258c: 2b00 cmp r3, #0 + 801258e: d00b beq.n 80125a8 { pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len); - 8011b94: 687b ldr r3, [r7, #4] - 8011b96: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011b9a: 69db ldr r3, [r3, #28] - 8011b9c: 687a ldr r2, [r7, #4] - 8011b9e: 7c12 ldrb r2, [r2, #16] - 8011ba0: f107 0108 add.w r1, r7, #8 - 8011ba4: 4610 mov r0, r2 - 8011ba6: 4798 blx r3 - 8011ba8: 60f8 str r0, [r7, #12] + 8012590: 687b ldr r3, [r7, #4] + 8012592: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 8012596: 69db ldr r3, [r3, #28] + 8012598: 687a ldr r2, [r7, #4] + 801259a: 7c12 ldrb r2, [r2, #16] + 801259c: f107 0108 add.w r1, r7, #8 + 80125a0: 4610 mov r0, r2 + 80125a2: 4798 blx r3 + 80125a4: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; - 8011baa: e126 b.n 8011dfa + 80125a6: e126 b.n 80127f6 USBD_CtlError(pdev, req); - 8011bac: 6839 ldr r1, [r7, #0] - 8011bae: 6878 ldr r0, [r7, #4] - 8011bb0: f000 fb27 bl 8012202 + 80125a8: 6839 ldr r1, [r7, #0] + 80125aa: 6878 ldr r0, [r7, #4] + 80125ac: f000 fb27 bl 8012bfe err++; - 8011bb4: 7afb ldrb r3, [r7, #11] - 8011bb6: 3301 adds r3, #1 - 8011bb8: 72fb strb r3, [r7, #11] + 80125b0: 7afb ldrb r3, [r7, #11] + 80125b2: 3301 adds r3, #1 + 80125b4: 72fb strb r3, [r7, #11] break; - 8011bba: e11e b.n 8011dfa + 80125b6: e11e b.n 80127f6 #endif /* (USBD_LPM_ENABLED == 1U) || (USBD_CLASS_BOS_ENABLED == 1U) */ case USB_DESC_TYPE_DEVICE: pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len); - 8011bbc: 687b ldr r3, [r7, #4] - 8011bbe: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011bc2: 681b ldr r3, [r3, #0] - 8011bc4: 687a ldr r2, [r7, #4] - 8011bc6: 7c12 ldrb r2, [r2, #16] - 8011bc8: f107 0108 add.w r1, r7, #8 - 8011bcc: 4610 mov r0, r2 - 8011bce: 4798 blx r3 - 8011bd0: 60f8 str r0, [r7, #12] + 80125b8: 687b ldr r3, [r7, #4] + 80125ba: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 80125be: 681b ldr r3, [r3, #0] + 80125c0: 687a ldr r2, [r7, #4] + 80125c2: 7c12 ldrb r2, [r2, #16] + 80125c4: f107 0108 add.w r1, r7, #8 + 80125c8: 4610 mov r0, r2 + 80125ca: 4798 blx r3 + 80125cc: 60f8 str r0, [r7, #12] break; - 8011bd2: e112 b.n 8011dfa + 80125ce: e112 b.n 80127f6 case USB_DESC_TYPE_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) - 8011bd4: 687b ldr r3, [r7, #4] - 8011bd6: 7c1b ldrb r3, [r3, #16] - 8011bd8: 2b00 cmp r3, #0 - 8011bda: d10d bne.n 8011bf8 + 80125d0: 687b ldr r3, [r7, #4] + 80125d2: 7c1b ldrb r3, [r3, #16] + 80125d4: 2b00 cmp r3, #0 + 80125d6: d10d bne.n 80125f4 pbuf = (uint8_t *)USBD_CMPSIT.GetHSConfigDescriptor(&len); } else #endif /* USE_USBD_COMPOSITE */ { pbuf = (uint8_t *)pdev->pClass[0]->GetHSConfigDescriptor(&len); - 8011bdc: 687b ldr r3, [r7, #4] - 8011bde: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 8011be2: 6a9b ldr r3, [r3, #40] @ 0x28 - 8011be4: f107 0208 add.w r2, r7, #8 - 8011be8: 4610 mov r0, r2 - 8011bea: 4798 blx r3 - 8011bec: 60f8 str r0, [r7, #12] + 80125d8: 687b ldr r3, [r7, #4] + 80125da: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 80125de: 6a9b ldr r3, [r3, #40] @ 0x28 + 80125e0: f107 0208 add.w r2, r7, #8 + 80125e4: 4610 mov r0, r2 + 80125e6: 4798 blx r3 + 80125e8: 60f8 str r0, [r7, #12] } pbuf[1] = USB_DESC_TYPE_CONFIGURATION; - 8011bee: 68fb ldr r3, [r7, #12] - 8011bf0: 3301 adds r3, #1 - 8011bf2: 2202 movs r2, #2 - 8011bf4: 701a strb r2, [r3, #0] + 80125ea: 68fb ldr r3, [r7, #12] + 80125ec: 3301 adds r3, #1 + 80125ee: 2202 movs r2, #2 + 80125f0: 701a strb r2, [r3, #0] { pbuf = (uint8_t *)pdev->pClass[0]->GetFSConfigDescriptor(&len); } pbuf[1] = USB_DESC_TYPE_CONFIGURATION; } break; - 8011bf6: e100 b.n 8011dfa + 80125f2: e100 b.n 80127f6 pbuf = (uint8_t *)pdev->pClass[0]->GetFSConfigDescriptor(&len); - 8011bf8: 687b ldr r3, [r7, #4] - 8011bfa: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 8011bfe: 6adb ldr r3, [r3, #44] @ 0x2c - 8011c00: f107 0208 add.w r2, r7, #8 - 8011c04: 4610 mov r0, r2 - 8011c06: 4798 blx r3 - 8011c08: 60f8 str r0, [r7, #12] + 80125f4: 687b ldr r3, [r7, #4] + 80125f6: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 80125fa: 6adb ldr r3, [r3, #44] @ 0x2c + 80125fc: f107 0208 add.w r2, r7, #8 + 8012600: 4610 mov r0, r2 + 8012602: 4798 blx r3 + 8012604: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; - 8011c0a: 68fb ldr r3, [r7, #12] - 8011c0c: 3301 adds r3, #1 - 8011c0e: 2202 movs r2, #2 - 8011c10: 701a strb r2, [r3, #0] + 8012606: 68fb ldr r3, [r7, #12] + 8012608: 3301 adds r3, #1 + 801260a: 2202 movs r2, #2 + 801260c: 701a strb r2, [r3, #0] break; - 8011c12: e0f2 b.n 8011dfa + 801260e: e0f2 b.n 80127f6 case USB_DESC_TYPE_STRING: switch ((uint8_t)(req->wValue)) - 8011c14: 683b ldr r3, [r7, #0] - 8011c16: 885b ldrh r3, [r3, #2] - 8011c18: b2db uxtb r3, r3 - 8011c1a: 2b05 cmp r3, #5 - 8011c1c: f200 80ac bhi.w 8011d78 - 8011c20: a201 add r2, pc, #4 @ (adr r2, 8011c28 ) - 8011c22: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8011c26: bf00 nop - 8011c28: 08011c41 .word 0x08011c41 - 8011c2c: 08011c75 .word 0x08011c75 - 8011c30: 08011ca9 .word 0x08011ca9 - 8011c34: 08011cdd .word 0x08011cdd - 8011c38: 08011d11 .word 0x08011d11 - 8011c3c: 08011d45 .word 0x08011d45 + 8012610: 683b ldr r3, [r7, #0] + 8012612: 885b ldrh r3, [r3, #2] + 8012614: b2db uxtb r3, r3 + 8012616: 2b05 cmp r3, #5 + 8012618: f200 80ac bhi.w 8012774 + 801261c: a201 add r2, pc, #4 @ (adr r2, 8012624 ) + 801261e: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8012622: bf00 nop + 8012624: 0801263d .word 0x0801263d + 8012628: 08012671 .word 0x08012671 + 801262c: 080126a5 .word 0x080126a5 + 8012630: 080126d9 .word 0x080126d9 + 8012634: 0801270d .word 0x0801270d + 8012638: 08012741 .word 0x08012741 { case USBD_IDX_LANGID_STR: if (pdev->pDesc->GetLangIDStrDescriptor != NULL) - 8011c40: 687b ldr r3, [r7, #4] - 8011c42: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011c46: 685b ldr r3, [r3, #4] - 8011c48: 2b00 cmp r3, #0 - 8011c4a: d00b beq.n 8011c64 + 801263c: 687b ldr r3, [r7, #4] + 801263e: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 8012642: 685b ldr r3, [r3, #4] + 8012644: 2b00 cmp r3, #0 + 8012646: d00b beq.n 8012660 { pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len); - 8011c4c: 687b ldr r3, [r7, #4] - 8011c4e: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011c52: 685b ldr r3, [r3, #4] - 8011c54: 687a ldr r2, [r7, #4] - 8011c56: 7c12 ldrb r2, [r2, #16] - 8011c58: f107 0108 add.w r1, r7, #8 - 8011c5c: 4610 mov r0, r2 - 8011c5e: 4798 blx r3 - 8011c60: 60f8 str r0, [r7, #12] + 8012648: 687b ldr r3, [r7, #4] + 801264a: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 801264e: 685b ldr r3, [r3, #4] + 8012650: 687a ldr r2, [r7, #4] + 8012652: 7c12 ldrb r2, [r2, #16] + 8012654: f107 0108 add.w r1, r7, #8 + 8012658: 4610 mov r0, r2 + 801265a: 4798 blx r3 + 801265c: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; - 8011c62: e091 b.n 8011d88 + 801265e: e091 b.n 8012784 USBD_CtlError(pdev, req); - 8011c64: 6839 ldr r1, [r7, #0] - 8011c66: 6878 ldr r0, [r7, #4] - 8011c68: f000 facb bl 8012202 + 8012660: 6839 ldr r1, [r7, #0] + 8012662: 6878 ldr r0, [r7, #4] + 8012664: f000 facb bl 8012bfe err++; - 8011c6c: 7afb ldrb r3, [r7, #11] - 8011c6e: 3301 adds r3, #1 - 8011c70: 72fb strb r3, [r7, #11] + 8012668: 7afb ldrb r3, [r7, #11] + 801266a: 3301 adds r3, #1 + 801266c: 72fb strb r3, [r7, #11] break; - 8011c72: e089 b.n 8011d88 + 801266e: e089 b.n 8012784 case USBD_IDX_MFC_STR: if (pdev->pDesc->GetManufacturerStrDescriptor != NULL) - 8011c74: 687b ldr r3, [r7, #4] - 8011c76: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011c7a: 689b ldr r3, [r3, #8] - 8011c7c: 2b00 cmp r3, #0 - 8011c7e: d00b beq.n 8011c98 + 8012670: 687b ldr r3, [r7, #4] + 8012672: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 8012676: 689b ldr r3, [r3, #8] + 8012678: 2b00 cmp r3, #0 + 801267a: d00b beq.n 8012694 { pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len); - 8011c80: 687b ldr r3, [r7, #4] - 8011c82: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011c86: 689b ldr r3, [r3, #8] - 8011c88: 687a ldr r2, [r7, #4] - 8011c8a: 7c12 ldrb r2, [r2, #16] - 8011c8c: f107 0108 add.w r1, r7, #8 - 8011c90: 4610 mov r0, r2 - 8011c92: 4798 blx r3 - 8011c94: 60f8 str r0, [r7, #12] + 801267c: 687b ldr r3, [r7, #4] + 801267e: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 8012682: 689b ldr r3, [r3, #8] + 8012684: 687a ldr r2, [r7, #4] + 8012686: 7c12 ldrb r2, [r2, #16] + 8012688: f107 0108 add.w r1, r7, #8 + 801268c: 4610 mov r0, r2 + 801268e: 4798 blx r3 + 8012690: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; - 8011c96: e077 b.n 8011d88 + 8012692: e077 b.n 8012784 USBD_CtlError(pdev, req); - 8011c98: 6839 ldr r1, [r7, #0] - 8011c9a: 6878 ldr r0, [r7, #4] - 8011c9c: f000 fab1 bl 8012202 + 8012694: 6839 ldr r1, [r7, #0] + 8012696: 6878 ldr r0, [r7, #4] + 8012698: f000 fab1 bl 8012bfe err++; - 8011ca0: 7afb ldrb r3, [r7, #11] - 8011ca2: 3301 adds r3, #1 - 8011ca4: 72fb strb r3, [r7, #11] + 801269c: 7afb ldrb r3, [r7, #11] + 801269e: 3301 adds r3, #1 + 80126a0: 72fb strb r3, [r7, #11] break; - 8011ca6: e06f b.n 8011d88 + 80126a2: e06f b.n 8012784 case USBD_IDX_PRODUCT_STR: if (pdev->pDesc->GetProductStrDescriptor != NULL) - 8011ca8: 687b ldr r3, [r7, #4] - 8011caa: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011cae: 68db ldr r3, [r3, #12] - 8011cb0: 2b00 cmp r3, #0 - 8011cb2: d00b beq.n 8011ccc + 80126a4: 687b ldr r3, [r7, #4] + 80126a6: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 80126aa: 68db ldr r3, [r3, #12] + 80126ac: 2b00 cmp r3, #0 + 80126ae: d00b beq.n 80126c8 { pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len); - 8011cb4: 687b ldr r3, [r7, #4] - 8011cb6: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011cba: 68db ldr r3, [r3, #12] - 8011cbc: 687a ldr r2, [r7, #4] - 8011cbe: 7c12 ldrb r2, [r2, #16] - 8011cc0: f107 0108 add.w r1, r7, #8 - 8011cc4: 4610 mov r0, r2 - 8011cc6: 4798 blx r3 - 8011cc8: 60f8 str r0, [r7, #12] + 80126b0: 687b ldr r3, [r7, #4] + 80126b2: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 80126b6: 68db ldr r3, [r3, #12] + 80126b8: 687a ldr r2, [r7, #4] + 80126ba: 7c12 ldrb r2, [r2, #16] + 80126bc: f107 0108 add.w r1, r7, #8 + 80126c0: 4610 mov r0, r2 + 80126c2: 4798 blx r3 + 80126c4: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; - 8011cca: e05d b.n 8011d88 + 80126c6: e05d b.n 8012784 USBD_CtlError(pdev, req); - 8011ccc: 6839 ldr r1, [r7, #0] - 8011cce: 6878 ldr r0, [r7, #4] - 8011cd0: f000 fa97 bl 8012202 + 80126c8: 6839 ldr r1, [r7, #0] + 80126ca: 6878 ldr r0, [r7, #4] + 80126cc: f000 fa97 bl 8012bfe err++; - 8011cd4: 7afb ldrb r3, [r7, #11] - 8011cd6: 3301 adds r3, #1 - 8011cd8: 72fb strb r3, [r7, #11] + 80126d0: 7afb ldrb r3, [r7, #11] + 80126d2: 3301 adds r3, #1 + 80126d4: 72fb strb r3, [r7, #11] break; - 8011cda: e055 b.n 8011d88 + 80126d6: e055 b.n 8012784 case USBD_IDX_SERIAL_STR: if (pdev->pDesc->GetSerialStrDescriptor != NULL) - 8011cdc: 687b ldr r3, [r7, #4] - 8011cde: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011ce2: 691b ldr r3, [r3, #16] - 8011ce4: 2b00 cmp r3, #0 - 8011ce6: d00b beq.n 8011d00 + 80126d8: 687b ldr r3, [r7, #4] + 80126da: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 80126de: 691b ldr r3, [r3, #16] + 80126e0: 2b00 cmp r3, #0 + 80126e2: d00b beq.n 80126fc { pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len); - 8011ce8: 687b ldr r3, [r7, #4] - 8011cea: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011cee: 691b ldr r3, [r3, #16] - 8011cf0: 687a ldr r2, [r7, #4] - 8011cf2: 7c12 ldrb r2, [r2, #16] - 8011cf4: f107 0108 add.w r1, r7, #8 - 8011cf8: 4610 mov r0, r2 - 8011cfa: 4798 blx r3 - 8011cfc: 60f8 str r0, [r7, #12] + 80126e4: 687b ldr r3, [r7, #4] + 80126e6: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 80126ea: 691b ldr r3, [r3, #16] + 80126ec: 687a ldr r2, [r7, #4] + 80126ee: 7c12 ldrb r2, [r2, #16] + 80126f0: f107 0108 add.w r1, r7, #8 + 80126f4: 4610 mov r0, r2 + 80126f6: 4798 blx r3 + 80126f8: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; - 8011cfe: e043 b.n 8011d88 + 80126fa: e043 b.n 8012784 USBD_CtlError(pdev, req); - 8011d00: 6839 ldr r1, [r7, #0] - 8011d02: 6878 ldr r0, [r7, #4] - 8011d04: f000 fa7d bl 8012202 + 80126fc: 6839 ldr r1, [r7, #0] + 80126fe: 6878 ldr r0, [r7, #4] + 8012700: f000 fa7d bl 8012bfe err++; - 8011d08: 7afb ldrb r3, [r7, #11] - 8011d0a: 3301 adds r3, #1 - 8011d0c: 72fb strb r3, [r7, #11] + 8012704: 7afb ldrb r3, [r7, #11] + 8012706: 3301 adds r3, #1 + 8012708: 72fb strb r3, [r7, #11] break; - 8011d0e: e03b b.n 8011d88 + 801270a: e03b b.n 8012784 case USBD_IDX_CONFIG_STR: if (pdev->pDesc->GetConfigurationStrDescriptor != NULL) - 8011d10: 687b ldr r3, [r7, #4] - 8011d12: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011d16: 695b ldr r3, [r3, #20] - 8011d18: 2b00 cmp r3, #0 - 8011d1a: d00b beq.n 8011d34 + 801270c: 687b ldr r3, [r7, #4] + 801270e: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 8012712: 695b ldr r3, [r3, #20] + 8012714: 2b00 cmp r3, #0 + 8012716: d00b beq.n 8012730 { pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len); - 8011d1c: 687b ldr r3, [r7, #4] - 8011d1e: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011d22: 695b ldr r3, [r3, #20] - 8011d24: 687a ldr r2, [r7, #4] - 8011d26: 7c12 ldrb r2, [r2, #16] - 8011d28: f107 0108 add.w r1, r7, #8 - 8011d2c: 4610 mov r0, r2 - 8011d2e: 4798 blx r3 - 8011d30: 60f8 str r0, [r7, #12] + 8012718: 687b ldr r3, [r7, #4] + 801271a: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 801271e: 695b ldr r3, [r3, #20] + 8012720: 687a ldr r2, [r7, #4] + 8012722: 7c12 ldrb r2, [r2, #16] + 8012724: f107 0108 add.w r1, r7, #8 + 8012728: 4610 mov r0, r2 + 801272a: 4798 blx r3 + 801272c: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; - 8011d32: e029 b.n 8011d88 + 801272e: e029 b.n 8012784 USBD_CtlError(pdev, req); - 8011d34: 6839 ldr r1, [r7, #0] - 8011d36: 6878 ldr r0, [r7, #4] - 8011d38: f000 fa63 bl 8012202 + 8012730: 6839 ldr r1, [r7, #0] + 8012732: 6878 ldr r0, [r7, #4] + 8012734: f000 fa63 bl 8012bfe err++; - 8011d3c: 7afb ldrb r3, [r7, #11] - 8011d3e: 3301 adds r3, #1 - 8011d40: 72fb strb r3, [r7, #11] + 8012738: 7afb ldrb r3, [r7, #11] + 801273a: 3301 adds r3, #1 + 801273c: 72fb strb r3, [r7, #11] break; - 8011d42: e021 b.n 8011d88 + 801273e: e021 b.n 8012784 case USBD_IDX_INTERFACE_STR: if (pdev->pDesc->GetInterfaceStrDescriptor != NULL) - 8011d44: 687b ldr r3, [r7, #4] - 8011d46: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011d4a: 699b ldr r3, [r3, #24] - 8011d4c: 2b00 cmp r3, #0 - 8011d4e: d00b beq.n 8011d68 + 8012740: 687b ldr r3, [r7, #4] + 8012742: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 8012746: 699b ldr r3, [r3, #24] + 8012748: 2b00 cmp r3, #0 + 801274a: d00b beq.n 8012764 { pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len); - 8011d50: 687b ldr r3, [r7, #4] - 8011d52: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 - 8011d56: 699b ldr r3, [r3, #24] - 8011d58: 687a ldr r2, [r7, #4] - 8011d5a: 7c12 ldrb r2, [r2, #16] - 8011d5c: f107 0108 add.w r1, r7, #8 - 8011d60: 4610 mov r0, r2 - 8011d62: 4798 blx r3 - 8011d64: 60f8 str r0, [r7, #12] + 801274c: 687b ldr r3, [r7, #4] + 801274e: f8d3 32b4 ldr.w r3, [r3, #692] @ 0x2b4 + 8012752: 699b ldr r3, [r3, #24] + 8012754: 687a ldr r2, [r7, #4] + 8012756: 7c12 ldrb r2, [r2, #16] + 8012758: f107 0108 add.w r1, r7, #8 + 801275c: 4610 mov r0, r2 + 801275e: 4798 blx r3 + 8012760: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; - 8011d66: e00f b.n 8011d88 + 8012762: e00f b.n 8012784 USBD_CtlError(pdev, req); - 8011d68: 6839 ldr r1, [r7, #0] - 8011d6a: 6878 ldr r0, [r7, #4] - 8011d6c: f000 fa49 bl 8012202 + 8012764: 6839 ldr r1, [r7, #0] + 8012766: 6878 ldr r0, [r7, #4] + 8012768: f000 fa49 bl 8012bfe err++; - 8011d70: 7afb ldrb r3, [r7, #11] - 8011d72: 3301 adds r3, #1 - 8011d74: 72fb strb r3, [r7, #11] + 801276c: 7afb ldrb r3, [r7, #11] + 801276e: 3301 adds r3, #1 + 8012770: 72fb strb r3, [r7, #11] break; - 8011d76: e007 b.n 8011d88 + 8012772: e007 b.n 8012784 err++; } #endif /* USBD_SUPPORT_USER_STRING_DESC */ #if ((USBD_CLASS_USER_STRING_DESC == 0U) && (USBD_SUPPORT_USER_STRING_DESC == 0U)) USBD_CtlError(pdev, req); - 8011d78: 6839 ldr r1, [r7, #0] - 8011d7a: 6878 ldr r0, [r7, #4] - 8011d7c: f000 fa41 bl 8012202 + 8012774: 6839 ldr r1, [r7, #0] + 8012776: 6878 ldr r0, [r7, #4] + 8012778: f000 fa41 bl 8012bfe err++; - 8011d80: 7afb ldrb r3, [r7, #11] - 8011d82: 3301 adds r3, #1 - 8011d84: 72fb strb r3, [r7, #11] + 801277c: 7afb ldrb r3, [r7, #11] + 801277e: 3301 adds r3, #1 + 8012780: 72fb strb r3, [r7, #11] #endif /* (USBD_CLASS_USER_STRING_DESC == 0U) && (USBD_SUPPORT_USER_STRING_DESC == 0U) */ break; - 8011d86: bf00 nop + 8012782: bf00 nop } break; - 8011d88: e037 b.n 8011dfa + 8012784: e037 b.n 80127f6 case USB_DESC_TYPE_DEVICE_QUALIFIER: if (pdev->dev_speed == USBD_SPEED_HIGH) - 8011d8a: 687b ldr r3, [r7, #4] - 8011d8c: 7c1b ldrb r3, [r3, #16] - 8011d8e: 2b00 cmp r3, #0 - 8011d90: d109 bne.n 8011da6 + 8012786: 687b ldr r3, [r7, #4] + 8012788: 7c1b ldrb r3, [r3, #16] + 801278a: 2b00 cmp r3, #0 + 801278c: d109 bne.n 80127a2 pbuf = (uint8_t *)USBD_CMPSIT.GetDeviceQualifierDescriptor(&len); } else #endif /* USE_USBD_COMPOSITE */ { pbuf = (uint8_t *)pdev->pClass[0]->GetDeviceQualifierDescriptor(&len); - 8011d92: 687b ldr r3, [r7, #4] - 8011d94: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 8011d98: 6b5b ldr r3, [r3, #52] @ 0x34 - 8011d9a: f107 0208 add.w r2, r7, #8 - 8011d9e: 4610 mov r0, r2 - 8011da0: 4798 blx r3 - 8011da2: 60f8 str r0, [r7, #12] + 801278e: 687b ldr r3, [r7, #4] + 8012790: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 8012794: 6b5b ldr r3, [r3, #52] @ 0x34 + 8012796: f107 0208 add.w r2, r7, #8 + 801279a: 4610 mov r0, r2 + 801279c: 4798 blx r3 + 801279e: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; - 8011da4: e029 b.n 8011dfa + 80127a0: e029 b.n 80127f6 USBD_CtlError(pdev, req); - 8011da6: 6839 ldr r1, [r7, #0] - 8011da8: 6878 ldr r0, [r7, #4] - 8011daa: f000 fa2a bl 8012202 + 80127a2: 6839 ldr r1, [r7, #0] + 80127a4: 6878 ldr r0, [r7, #4] + 80127a6: f000 fa2a bl 8012bfe err++; - 8011dae: 7afb ldrb r3, [r7, #11] - 8011db0: 3301 adds r3, #1 - 8011db2: 72fb strb r3, [r7, #11] + 80127aa: 7afb ldrb r3, [r7, #11] + 80127ac: 3301 adds r3, #1 + 80127ae: 72fb strb r3, [r7, #11] break; - 8011db4: e021 b.n 8011dfa + 80127b0: e021 b.n 80127f6 case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) - 8011db6: 687b ldr r3, [r7, #4] - 8011db8: 7c1b ldrb r3, [r3, #16] - 8011dba: 2b00 cmp r3, #0 - 8011dbc: d10d bne.n 8011dda + 80127b2: 687b ldr r3, [r7, #4] + 80127b4: 7c1b ldrb r3, [r3, #16] + 80127b6: 2b00 cmp r3, #0 + 80127b8: d10d bne.n 80127d6 pbuf = (uint8_t *)USBD_CMPSIT.GetOtherSpeedConfigDescriptor(&len); } else #endif /* USE_USBD_COMPOSITE */ { pbuf = (uint8_t *)pdev->pClass[0]->GetOtherSpeedConfigDescriptor(&len); - 8011dbe: 687b ldr r3, [r7, #4] - 8011dc0: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 - 8011dc4: 6b1b ldr r3, [r3, #48] @ 0x30 - 8011dc6: f107 0208 add.w r2, r7, #8 - 8011dca: 4610 mov r0, r2 - 8011dcc: 4798 blx r3 - 8011dce: 60f8 str r0, [r7, #12] + 80127ba: 687b ldr r3, [r7, #4] + 80127bc: f8d3 32b8 ldr.w r3, [r3, #696] @ 0x2b8 + 80127c0: 6b1b ldr r3, [r3, #48] @ 0x30 + 80127c2: f107 0208 add.w r2, r7, #8 + 80127c6: 4610 mov r0, r2 + 80127c8: 4798 blx r3 + 80127ca: 60f8 str r0, [r7, #12] } pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION; - 8011dd0: 68fb ldr r3, [r7, #12] - 8011dd2: 3301 adds r3, #1 - 8011dd4: 2207 movs r2, #7 - 8011dd6: 701a strb r2, [r3, #0] + 80127cc: 68fb ldr r3, [r7, #12] + 80127ce: 3301 adds r3, #1 + 80127d0: 2207 movs r2, #7 + 80127d2: 701a strb r2, [r3, #0] else { USBD_CtlError(pdev, req); err++; } break; - 8011dd8: e00f b.n 8011dfa + 80127d4: e00f b.n 80127f6 USBD_CtlError(pdev, req); - 8011dda: 6839 ldr r1, [r7, #0] - 8011ddc: 6878 ldr r0, [r7, #4] - 8011dde: f000 fa10 bl 8012202 + 80127d6: 6839 ldr r1, [r7, #0] + 80127d8: 6878 ldr r0, [r7, #4] + 80127da: f000 fa10 bl 8012bfe err++; - 8011de2: 7afb ldrb r3, [r7, #11] - 8011de4: 3301 adds r3, #1 - 8011de6: 72fb strb r3, [r7, #11] + 80127de: 7afb ldrb r3, [r7, #11] + 80127e0: 3301 adds r3, #1 + 80127e2: 72fb strb r3, [r7, #11] break; - 8011de8: e007 b.n 8011dfa + 80127e4: e007 b.n 80127f6 default: USBD_CtlError(pdev, req); - 8011dea: 6839 ldr r1, [r7, #0] - 8011dec: 6878 ldr r0, [r7, #4] - 8011dee: f000 fa08 bl 8012202 + 80127e6: 6839 ldr r1, [r7, #0] + 80127e8: 6878 ldr r0, [r7, #4] + 80127ea: f000 fa08 bl 8012bfe err++; - 8011df2: 7afb ldrb r3, [r7, #11] - 8011df4: 3301 adds r3, #1 - 8011df6: 72fb strb r3, [r7, #11] + 80127ee: 7afb ldrb r3, [r7, #11] + 80127f0: 3301 adds r3, #1 + 80127f2: 72fb strb r3, [r7, #11] break; - 8011df8: bf00 nop + 80127f4: bf00 nop } if (err != 0U) - 8011dfa: 7afb ldrb r3, [r7, #11] - 8011dfc: 2b00 cmp r3, #0 - 8011dfe: d11e bne.n 8011e3e + 80127f6: 7afb ldrb r3, [r7, #11] + 80127f8: 2b00 cmp r3, #0 + 80127fa: d11e bne.n 801283a { return; } if (req->wLength != 0U) - 8011e00: 683b ldr r3, [r7, #0] - 8011e02: 88db ldrh r3, [r3, #6] - 8011e04: 2b00 cmp r3, #0 - 8011e06: d016 beq.n 8011e36 + 80127fc: 683b ldr r3, [r7, #0] + 80127fe: 88db ldrh r3, [r3, #6] + 8012800: 2b00 cmp r3, #0 + 8012802: d016 beq.n 8012832 { if (len != 0U) - 8011e08: 893b ldrh r3, [r7, #8] - 8011e0a: 2b00 cmp r3, #0 - 8011e0c: d00e beq.n 8011e2c + 8012804: 893b ldrh r3, [r7, #8] + 8012806: 2b00 cmp r3, #0 + 8012808: d00e beq.n 8012828 { len = MIN(len, req->wLength); - 8011e0e: 683b ldr r3, [r7, #0] - 8011e10: 88da ldrh r2, [r3, #6] - 8011e12: 893b ldrh r3, [r7, #8] - 8011e14: 4293 cmp r3, r2 - 8011e16: bf28 it cs - 8011e18: 4613 movcs r3, r2 - 8011e1a: b29b uxth r3, r3 - 8011e1c: 813b strh r3, [r7, #8] + 801280a: 683b ldr r3, [r7, #0] + 801280c: 88da ldrh r2, [r3, #6] + 801280e: 893b ldrh r3, [r7, #8] + 8012810: 4293 cmp r3, r2 + 8012812: bf28 it cs + 8012814: 4613 movcs r3, r2 + 8012816: b29b uxth r3, r3 + 8012818: 813b strh r3, [r7, #8] (void)USBD_CtlSendData(pdev, pbuf, len); - 8011e1e: 893b ldrh r3, [r7, #8] - 8011e20: 461a mov r2, r3 - 8011e22: 68f9 ldr r1, [r7, #12] - 8011e24: 6878 ldr r0, [r7, #4] - 8011e26: f000 fa69 bl 80122fc - 8011e2a: e009 b.n 8011e40 + 801281a: 893b ldrh r3, [r7, #8] + 801281c: 461a mov r2, r3 + 801281e: 68f9 ldr r1, [r7, #12] + 8012820: 6878 ldr r0, [r7, #4] + 8012822: f000 fa69 bl 8012cf8 + 8012826: e009 b.n 801283c } else { USBD_CtlError(pdev, req); - 8011e2c: 6839 ldr r1, [r7, #0] - 8011e2e: 6878 ldr r0, [r7, #4] - 8011e30: f000 f9e7 bl 8012202 - 8011e34: e004 b.n 8011e40 + 8012828: 6839 ldr r1, [r7, #0] + 801282a: 6878 ldr r0, [r7, #4] + 801282c: f000 f9e7 bl 8012bfe + 8012830: e004 b.n 801283c } } else { (void)USBD_CtlSendStatus(pdev); - 8011e36: 6878 ldr r0, [r7, #4] - 8011e38: f000 fac1 bl 80123be - 8011e3c: e000 b.n 8011e40 + 8012832: 6878 ldr r0, [r7, #4] + 8012834: f000 fac1 bl 8012dba + 8012838: e000 b.n 801283c return; - 8011e3e: bf00 nop + 801283a: bf00 nop } } - 8011e40: 3710 adds r7, #16 - 8011e42: 46bd mov sp, r7 - 8011e44: bd80 pop {r7, pc} - 8011e46: bf00 nop + 801283c: 3710 adds r7, #16 + 801283e: 46bd mov sp, r7 + 8012840: bd80 pop {r7, pc} + 8012842: bf00 nop -08011e48 : +08012844 : * @param pdev: device instance * @param req: usb request * @retval None */ static void USBD_SetAddress(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 8011e48: b580 push {r7, lr} - 8011e4a: b084 sub sp, #16 - 8011e4c: af00 add r7, sp, #0 - 8011e4e: 6078 str r0, [r7, #4] - 8011e50: 6039 str r1, [r7, #0] + 8012844: b580 push {r7, lr} + 8012846: b084 sub sp, #16 + 8012848: af00 add r7, sp, #0 + 801284a: 6078 str r0, [r7, #4] + 801284c: 6039 str r1, [r7, #0] uint8_t dev_addr; if ((req->wIndex == 0U) && (req->wLength == 0U) && (req->wValue < 128U)) - 8011e52: 683b ldr r3, [r7, #0] - 8011e54: 889b ldrh r3, [r3, #4] - 8011e56: 2b00 cmp r3, #0 - 8011e58: d131 bne.n 8011ebe - 8011e5a: 683b ldr r3, [r7, #0] - 8011e5c: 88db ldrh r3, [r3, #6] - 8011e5e: 2b00 cmp r3, #0 - 8011e60: d12d bne.n 8011ebe - 8011e62: 683b ldr r3, [r7, #0] - 8011e64: 885b ldrh r3, [r3, #2] - 8011e66: 2b7f cmp r3, #127 @ 0x7f - 8011e68: d829 bhi.n 8011ebe + 801284e: 683b ldr r3, [r7, #0] + 8012850: 889b ldrh r3, [r3, #4] + 8012852: 2b00 cmp r3, #0 + 8012854: d131 bne.n 80128ba + 8012856: 683b ldr r3, [r7, #0] + 8012858: 88db ldrh r3, [r3, #6] + 801285a: 2b00 cmp r3, #0 + 801285c: d12d bne.n 80128ba + 801285e: 683b ldr r3, [r7, #0] + 8012860: 885b ldrh r3, [r3, #2] + 8012862: 2b7f cmp r3, #127 @ 0x7f + 8012864: d829 bhi.n 80128ba { dev_addr = (uint8_t)(req->wValue) & 0x7FU; - 8011e6a: 683b ldr r3, [r7, #0] - 8011e6c: 885b ldrh r3, [r3, #2] - 8011e6e: b2db uxtb r3, r3 - 8011e70: f003 037f and.w r3, r3, #127 @ 0x7f - 8011e74: 73fb strb r3, [r7, #15] + 8012866: 683b ldr r3, [r7, #0] + 8012868: 885b ldrh r3, [r3, #2] + 801286a: b2db uxtb r3, r3 + 801286c: f003 037f and.w r3, r3, #127 @ 0x7f + 8012870: 73fb strb r3, [r7, #15] if (pdev->dev_state == USBD_STATE_CONFIGURED) - 8011e76: 687b ldr r3, [r7, #4] - 8011e78: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 8011e7c: b2db uxtb r3, r3 - 8011e7e: 2b03 cmp r3, #3 - 8011e80: d104 bne.n 8011e8c + 8012872: 687b ldr r3, [r7, #4] + 8012874: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8012878: b2db uxtb r3, r3 + 801287a: 2b03 cmp r3, #3 + 801287c: d104 bne.n 8012888 { USBD_CtlError(pdev, req); - 8011e82: 6839 ldr r1, [r7, #0] - 8011e84: 6878 ldr r0, [r7, #4] - 8011e86: f000 f9bc bl 8012202 + 801287e: 6839 ldr r1, [r7, #0] + 8012880: 6878 ldr r0, [r7, #4] + 8012882: f000 f9bc bl 8012bfe if (pdev->dev_state == USBD_STATE_CONFIGURED) - 8011e8a: e01d b.n 8011ec8 + 8012886: e01d b.n 80128c4 } else { pdev->dev_address = dev_addr; - 8011e8c: 687b ldr r3, [r7, #4] - 8011e8e: 7bfa ldrb r2, [r7, #15] - 8011e90: f883 229e strb.w r2, [r3, #670] @ 0x29e + 8012888: 687b ldr r3, [r7, #4] + 801288a: 7bfa ldrb r2, [r7, #15] + 801288c: f883 229e strb.w r2, [r3, #670] @ 0x29e (void)USBD_LL_SetUSBAddress(pdev, dev_addr); - 8011e94: 7bfb ldrb r3, [r7, #15] - 8011e96: 4619 mov r1, r3 - 8011e98: 6878 ldr r0, [r7, #4] - 8011e9a: f006 fc71 bl 8018780 + 8012890: 7bfb ldrb r3, [r7, #15] + 8012892: 4619 mov r1, r3 + 8012894: 6878 ldr r0, [r7, #4] + 8012896: f006 fc5b bl 8019150 (void)USBD_CtlSendStatus(pdev); - 8011e9e: 6878 ldr r0, [r7, #4] - 8011ea0: f000 fa8d bl 80123be + 801289a: 6878 ldr r0, [r7, #4] + 801289c: f000 fa8d bl 8012dba if (dev_addr != 0U) - 8011ea4: 7bfb ldrb r3, [r7, #15] - 8011ea6: 2b00 cmp r3, #0 - 8011ea8: d004 beq.n 8011eb4 + 80128a0: 7bfb ldrb r3, [r7, #15] + 80128a2: 2b00 cmp r3, #0 + 80128a4: d004 beq.n 80128b0 { pdev->dev_state = USBD_STATE_ADDRESSED; - 8011eaa: 687b ldr r3, [r7, #4] - 8011eac: 2202 movs r2, #2 - 8011eae: f883 229c strb.w r2, [r3, #668] @ 0x29c + 80128a6: 687b ldr r3, [r7, #4] + 80128a8: 2202 movs r2, #2 + 80128aa: f883 229c strb.w r2, [r3, #668] @ 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) - 8011eb2: e009 b.n 8011ec8 + 80128ae: e009 b.n 80128c4 } else { pdev->dev_state = USBD_STATE_DEFAULT; - 8011eb4: 687b ldr r3, [r7, #4] - 8011eb6: 2201 movs r2, #1 - 8011eb8: f883 229c strb.w r2, [r3, #668] @ 0x29c + 80128b0: 687b ldr r3, [r7, #4] + 80128b2: 2201 movs r2, #1 + 80128b4: f883 229c strb.w r2, [r3, #668] @ 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) - 8011ebc: e004 b.n 8011ec8 + 80128b8: e004 b.n 80128c4 } } } else { USBD_CtlError(pdev, req); - 8011ebe: 6839 ldr r1, [r7, #0] - 8011ec0: 6878 ldr r0, [r7, #4] - 8011ec2: f000 f99e bl 8012202 + 80128ba: 6839 ldr r1, [r7, #0] + 80128bc: 6878 ldr r0, [r7, #4] + 80128be: f000 f99e bl 8012bfe } } - 8011ec6: bf00 nop - 8011ec8: bf00 nop - 8011eca: 3710 adds r7, #16 - 8011ecc: 46bd mov sp, r7 - 8011ece: bd80 pop {r7, pc} + 80128c2: bf00 nop + 80128c4: bf00 nop + 80128c6: 3710 adds r7, #16 + 80128c8: 46bd mov sp, r7 + 80128ca: bd80 pop {r7, pc} -08011ed0 : +080128cc : * @param pdev: device instance * @param req: usb request * @retval status */ static USBD_StatusTypeDef USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 8011ed0: b580 push {r7, lr} - 8011ed2: b084 sub sp, #16 - 8011ed4: af00 add r7, sp, #0 - 8011ed6: 6078 str r0, [r7, #4] - 8011ed8: 6039 str r1, [r7, #0] + 80128cc: b580 push {r7, lr} + 80128ce: b084 sub sp, #16 + 80128d0: af00 add r7, sp, #0 + 80128d2: 6078 str r0, [r7, #4] + 80128d4: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; - 8011eda: 2300 movs r3, #0 - 8011edc: 73fb strb r3, [r7, #15] + 80128d6: 2300 movs r3, #0 + 80128d8: 73fb strb r3, [r7, #15] static uint8_t cfgidx; cfgidx = (uint8_t)(req->wValue); - 8011ede: 683b ldr r3, [r7, #0] - 8011ee0: 885b ldrh r3, [r3, #2] - 8011ee2: b2da uxtb r2, r3 - 8011ee4: 4b4e ldr r3, [pc, #312] @ (8012020 ) - 8011ee6: 701a strb r2, [r3, #0] + 80128da: 683b ldr r3, [r7, #0] + 80128dc: 885b ldrh r3, [r3, #2] + 80128de: b2da uxtb r2, r3 + 80128e0: 4b4e ldr r3, [pc, #312] @ (8012a1c ) + 80128e2: 701a strb r2, [r3, #0] if (cfgidx > USBD_MAX_NUM_CONFIGURATION) - 8011ee8: 4b4d ldr r3, [pc, #308] @ (8012020 ) - 8011eea: 781b ldrb r3, [r3, #0] - 8011eec: 2b01 cmp r3, #1 - 8011eee: d905 bls.n 8011efc + 80128e4: 4b4d ldr r3, [pc, #308] @ (8012a1c ) + 80128e6: 781b ldrb r3, [r3, #0] + 80128e8: 2b01 cmp r3, #1 + 80128ea: d905 bls.n 80128f8 { USBD_CtlError(pdev, req); - 8011ef0: 6839 ldr r1, [r7, #0] - 8011ef2: 6878 ldr r0, [r7, #4] - 8011ef4: f000 f985 bl 8012202 + 80128ec: 6839 ldr r1, [r7, #0] + 80128ee: 6878 ldr r0, [r7, #4] + 80128f0: f000 f985 bl 8012bfe return USBD_FAIL; - 8011ef8: 2303 movs r3, #3 - 8011efa: e08c b.n 8012016 + 80128f4: 2303 movs r3, #3 + 80128f6: e08c b.n 8012a12 } switch (pdev->dev_state) - 8011efc: 687b ldr r3, [r7, #4] - 8011efe: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 8011f02: b2db uxtb r3, r3 - 8011f04: 2b02 cmp r3, #2 - 8011f06: d002 beq.n 8011f0e - 8011f08: 2b03 cmp r3, #3 - 8011f0a: d029 beq.n 8011f60 - 8011f0c: e075 b.n 8011ffa + 80128f8: 687b ldr r3, [r7, #4] + 80128fa: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 80128fe: b2db uxtb r3, r3 + 8012900: 2b02 cmp r3, #2 + 8012902: d002 beq.n 801290a + 8012904: 2b03 cmp r3, #3 + 8012906: d029 beq.n 801295c + 8012908: e075 b.n 80129f6 { case USBD_STATE_ADDRESSED: if (cfgidx != 0U) - 8011f0e: 4b44 ldr r3, [pc, #272] @ (8012020 ) - 8011f10: 781b ldrb r3, [r3, #0] - 8011f12: 2b00 cmp r3, #0 - 8011f14: d020 beq.n 8011f58 + 801290a: 4b44 ldr r3, [pc, #272] @ (8012a1c ) + 801290c: 781b ldrb r3, [r3, #0] + 801290e: 2b00 cmp r3, #0 + 8012910: d020 beq.n 8012954 { pdev->dev_config = cfgidx; - 8011f16: 4b42 ldr r3, [pc, #264] @ (8012020 ) - 8011f18: 781b ldrb r3, [r3, #0] - 8011f1a: 461a mov r2, r3 - 8011f1c: 687b ldr r3, [r7, #4] - 8011f1e: 605a str r2, [r3, #4] + 8012912: 4b42 ldr r3, [pc, #264] @ (8012a1c ) + 8012914: 781b ldrb r3, [r3, #0] + 8012916: 461a mov r2, r3 + 8012918: 687b ldr r3, [r7, #4] + 801291a: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); - 8011f20: 4b3f ldr r3, [pc, #252] @ (8012020 ) - 8011f22: 781b ldrb r3, [r3, #0] - 8011f24: 4619 mov r1, r3 - 8011f26: 6878 ldr r0, [r7, #4] - 8011f28: f7ff f835 bl 8010f96 - 8011f2c: 4603 mov r3, r0 - 8011f2e: 73fb strb r3, [r7, #15] + 801291c: 4b3f ldr r3, [pc, #252] @ (8012a1c ) + 801291e: 781b ldrb r3, [r3, #0] + 8012920: 4619 mov r1, r3 + 8012922: 6878 ldr r0, [r7, #4] + 8012924: f7ff f835 bl 8011992 + 8012928: 4603 mov r3, r0 + 801292a: 73fb strb r3, [r7, #15] if (ret != USBD_OK) - 8011f30: 7bfb ldrb r3, [r7, #15] - 8011f32: 2b00 cmp r3, #0 - 8011f34: d008 beq.n 8011f48 + 801292c: 7bfb ldrb r3, [r7, #15] + 801292e: 2b00 cmp r3, #0 + 8012930: d008 beq.n 8012944 { USBD_CtlError(pdev, req); - 8011f36: 6839 ldr r1, [r7, #0] - 8011f38: 6878 ldr r0, [r7, #4] - 8011f3a: f000 f962 bl 8012202 + 8012932: 6839 ldr r1, [r7, #0] + 8012934: 6878 ldr r0, [r7, #4] + 8012936: f000 f962 bl 8012bfe pdev->dev_state = USBD_STATE_ADDRESSED; - 8011f3e: 687b ldr r3, [r7, #4] - 8011f40: 2202 movs r2, #2 - 8011f42: f883 229c strb.w r2, [r3, #668] @ 0x29c + 801293a: 687b ldr r3, [r7, #4] + 801293c: 2202 movs r2, #2 + 801293e: f883 229c strb.w r2, [r3, #668] @ 0x29c } else { (void)USBD_CtlSendStatus(pdev); } break; - 8011f46: e065 b.n 8012014 + 8012942: e065 b.n 8012a10 (void)USBD_CtlSendStatus(pdev); - 8011f48: 6878 ldr r0, [r7, #4] - 8011f4a: f000 fa38 bl 80123be + 8012944: 6878 ldr r0, [r7, #4] + 8012946: f000 fa38 bl 8012dba pdev->dev_state = USBD_STATE_CONFIGURED; - 8011f4e: 687b ldr r3, [r7, #4] - 8011f50: 2203 movs r2, #3 - 8011f52: f883 229c strb.w r2, [r3, #668] @ 0x29c + 801294a: 687b ldr r3, [r7, #4] + 801294c: 2203 movs r2, #3 + 801294e: f883 229c strb.w r2, [r3, #668] @ 0x29c break; - 8011f56: e05d b.n 8012014 + 8012952: e05d b.n 8012a10 (void)USBD_CtlSendStatus(pdev); - 8011f58: 6878 ldr r0, [r7, #4] - 8011f5a: f000 fa30 bl 80123be + 8012954: 6878 ldr r0, [r7, #4] + 8012956: f000 fa30 bl 8012dba break; - 8011f5e: e059 b.n 8012014 + 801295a: e059 b.n 8012a10 case USBD_STATE_CONFIGURED: if (cfgidx == 0U) - 8011f60: 4b2f ldr r3, [pc, #188] @ (8012020 ) - 8011f62: 781b ldrb r3, [r3, #0] - 8011f64: 2b00 cmp r3, #0 - 8011f66: d112 bne.n 8011f8e + 801295c: 4b2f ldr r3, [pc, #188] @ (8012a1c ) + 801295e: 781b ldrb r3, [r3, #0] + 8012960: 2b00 cmp r3, #0 + 8012962: d112 bne.n 801298a { pdev->dev_state = USBD_STATE_ADDRESSED; - 8011f68: 687b ldr r3, [r7, #4] - 8011f6a: 2202 movs r2, #2 - 8011f6c: f883 229c strb.w r2, [r3, #668] @ 0x29c + 8012964: 687b ldr r3, [r7, #4] + 8012966: 2202 movs r2, #2 + 8012968: f883 229c strb.w r2, [r3, #668] @ 0x29c pdev->dev_config = cfgidx; - 8011f70: 4b2b ldr r3, [pc, #172] @ (8012020 ) - 8011f72: 781b ldrb r3, [r3, #0] - 8011f74: 461a mov r2, r3 - 8011f76: 687b ldr r3, [r7, #4] - 8011f78: 605a str r2, [r3, #4] + 801296c: 4b2b ldr r3, [pc, #172] @ (8012a1c ) + 801296e: 781b ldrb r3, [r3, #0] + 8012970: 461a mov r2, r3 + 8012972: 687b ldr r3, [r7, #4] + 8012974: 605a str r2, [r3, #4] (void)USBD_ClrClassConfig(pdev, cfgidx); - 8011f7a: 4b29 ldr r3, [pc, #164] @ (8012020 ) - 8011f7c: 781b ldrb r3, [r3, #0] - 8011f7e: 4619 mov r1, r3 - 8011f80: 6878 ldr r0, [r7, #4] - 8011f82: f7ff f824 bl 8010fce + 8012976: 4b29 ldr r3, [pc, #164] @ (8012a1c ) + 8012978: 781b ldrb r3, [r3, #0] + 801297a: 4619 mov r1, r3 + 801297c: 6878 ldr r0, [r7, #4] + 801297e: f7ff f824 bl 80119ca (void)USBD_CtlSendStatus(pdev); - 8011f86: 6878 ldr r0, [r7, #4] - 8011f88: f000 fa19 bl 80123be + 8012982: 6878 ldr r0, [r7, #4] + 8012984: f000 fa19 bl 8012dba } else { (void)USBD_CtlSendStatus(pdev); } break; - 8011f8c: e042 b.n 8012014 + 8012988: e042 b.n 8012a10 else if (cfgidx != pdev->dev_config) - 8011f8e: 4b24 ldr r3, [pc, #144] @ (8012020 ) - 8011f90: 781b ldrb r3, [r3, #0] - 8011f92: 461a mov r2, r3 - 8011f94: 687b ldr r3, [r7, #4] - 8011f96: 685b ldr r3, [r3, #4] - 8011f98: 429a cmp r2, r3 - 8011f9a: d02a beq.n 8011ff2 + 801298a: 4b24 ldr r3, [pc, #144] @ (8012a1c ) + 801298c: 781b ldrb r3, [r3, #0] + 801298e: 461a mov r2, r3 + 8012990: 687b ldr r3, [r7, #4] + 8012992: 685b ldr r3, [r3, #4] + 8012994: 429a cmp r2, r3 + 8012996: d02a beq.n 80129ee (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); - 8011f9c: 687b ldr r3, [r7, #4] - 8011f9e: 685b ldr r3, [r3, #4] - 8011fa0: b2db uxtb r3, r3 - 8011fa2: 4619 mov r1, r3 - 8011fa4: 6878 ldr r0, [r7, #4] - 8011fa6: f7ff f812 bl 8010fce + 8012998: 687b ldr r3, [r7, #4] + 801299a: 685b ldr r3, [r3, #4] + 801299c: b2db uxtb r3, r3 + 801299e: 4619 mov r1, r3 + 80129a0: 6878 ldr r0, [r7, #4] + 80129a2: f7ff f812 bl 80119ca pdev->dev_config = cfgidx; - 8011faa: 4b1d ldr r3, [pc, #116] @ (8012020 ) - 8011fac: 781b ldrb r3, [r3, #0] - 8011fae: 461a mov r2, r3 - 8011fb0: 687b ldr r3, [r7, #4] - 8011fb2: 605a str r2, [r3, #4] + 80129a6: 4b1d ldr r3, [pc, #116] @ (8012a1c ) + 80129a8: 781b ldrb r3, [r3, #0] + 80129aa: 461a mov r2, r3 + 80129ac: 687b ldr r3, [r7, #4] + 80129ae: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); - 8011fb4: 4b1a ldr r3, [pc, #104] @ (8012020 ) - 8011fb6: 781b ldrb r3, [r3, #0] - 8011fb8: 4619 mov r1, r3 - 8011fba: 6878 ldr r0, [r7, #4] - 8011fbc: f7fe ffeb bl 8010f96 - 8011fc0: 4603 mov r3, r0 - 8011fc2: 73fb strb r3, [r7, #15] + 80129b0: 4b1a ldr r3, [pc, #104] @ (8012a1c ) + 80129b2: 781b ldrb r3, [r3, #0] + 80129b4: 4619 mov r1, r3 + 80129b6: 6878 ldr r0, [r7, #4] + 80129b8: f7fe ffeb bl 8011992 + 80129bc: 4603 mov r3, r0 + 80129be: 73fb strb r3, [r7, #15] if (ret != USBD_OK) - 8011fc4: 7bfb ldrb r3, [r7, #15] - 8011fc6: 2b00 cmp r3, #0 - 8011fc8: d00f beq.n 8011fea + 80129c0: 7bfb ldrb r3, [r7, #15] + 80129c2: 2b00 cmp r3, #0 + 80129c4: d00f beq.n 80129e6 USBD_CtlError(pdev, req); - 8011fca: 6839 ldr r1, [r7, #0] - 8011fcc: 6878 ldr r0, [r7, #4] - 8011fce: f000 f918 bl 8012202 + 80129c6: 6839 ldr r1, [r7, #0] + 80129c8: 6878 ldr r0, [r7, #4] + 80129ca: f000 f918 bl 8012bfe (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); - 8011fd2: 687b ldr r3, [r7, #4] - 8011fd4: 685b ldr r3, [r3, #4] - 8011fd6: b2db uxtb r3, r3 - 8011fd8: 4619 mov r1, r3 - 8011fda: 6878 ldr r0, [r7, #4] - 8011fdc: f7fe fff7 bl 8010fce + 80129ce: 687b ldr r3, [r7, #4] + 80129d0: 685b ldr r3, [r3, #4] + 80129d2: b2db uxtb r3, r3 + 80129d4: 4619 mov r1, r3 + 80129d6: 6878 ldr r0, [r7, #4] + 80129d8: f7fe fff7 bl 80119ca pdev->dev_state = USBD_STATE_ADDRESSED; - 8011fe0: 687b ldr r3, [r7, #4] - 8011fe2: 2202 movs r2, #2 - 8011fe4: f883 229c strb.w r2, [r3, #668] @ 0x29c + 80129dc: 687b ldr r3, [r7, #4] + 80129de: 2202 movs r2, #2 + 80129e0: f883 229c strb.w r2, [r3, #668] @ 0x29c break; - 8011fe8: e014 b.n 8012014 + 80129e4: e014 b.n 8012a10 (void)USBD_CtlSendStatus(pdev); - 8011fea: 6878 ldr r0, [r7, #4] - 8011fec: f000 f9e7 bl 80123be + 80129e6: 6878 ldr r0, [r7, #4] + 80129e8: f000 f9e7 bl 8012dba break; - 8011ff0: e010 b.n 8012014 + 80129ec: e010 b.n 8012a10 (void)USBD_CtlSendStatus(pdev); - 8011ff2: 6878 ldr r0, [r7, #4] - 8011ff4: f000 f9e3 bl 80123be + 80129ee: 6878 ldr r0, [r7, #4] + 80129f0: f000 f9e3 bl 8012dba break; - 8011ff8: e00c b.n 8012014 + 80129f4: e00c b.n 8012a10 default: USBD_CtlError(pdev, req); - 8011ffa: 6839 ldr r1, [r7, #0] - 8011ffc: 6878 ldr r0, [r7, #4] - 8011ffe: f000 f900 bl 8012202 + 80129f6: 6839 ldr r1, [r7, #0] + 80129f8: 6878 ldr r0, [r7, #4] + 80129fa: f000 f900 bl 8012bfe (void)USBD_ClrClassConfig(pdev, cfgidx); - 8012002: 4b07 ldr r3, [pc, #28] @ (8012020 ) - 8012004: 781b ldrb r3, [r3, #0] - 8012006: 4619 mov r1, r3 - 8012008: 6878 ldr r0, [r7, #4] - 801200a: f7fe ffe0 bl 8010fce + 80129fe: 4b07 ldr r3, [pc, #28] @ (8012a1c ) + 8012a00: 781b ldrb r3, [r3, #0] + 8012a02: 4619 mov r1, r3 + 8012a04: 6878 ldr r0, [r7, #4] + 8012a06: f7fe ffe0 bl 80119ca ret = USBD_FAIL; - 801200e: 2303 movs r3, #3 - 8012010: 73fb strb r3, [r7, #15] + 8012a0a: 2303 movs r3, #3 + 8012a0c: 73fb strb r3, [r7, #15] break; - 8012012: bf00 nop + 8012a0e: bf00 nop } return ret; - 8012014: 7bfb ldrb r3, [r7, #15] + 8012a10: 7bfb ldrb r3, [r7, #15] } - 8012016: 4618 mov r0, r3 - 8012018: 3710 adds r7, #16 - 801201a: 46bd mov sp, r7 - 801201c: bd80 pop {r7, pc} - 801201e: bf00 nop - 8012020: 20000784 .word 0x20000784 + 8012a12: 4618 mov r0, r3 + 8012a14: 3710 adds r7, #16 + 8012a16: 46bd mov sp, r7 + 8012a18: bd80 pop {r7, pc} + 8012a1a: bf00 nop + 8012a1c: 20000784 .word 0x20000784 -08012024 : +08012a20 : * @param pdev: device instance * @param req: usb request * @retval None */ static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 8012024: b580 push {r7, lr} - 8012026: b082 sub sp, #8 - 8012028: af00 add r7, sp, #0 - 801202a: 6078 str r0, [r7, #4] - 801202c: 6039 str r1, [r7, #0] + 8012a20: b580 push {r7, lr} + 8012a22: b082 sub sp, #8 + 8012a24: af00 add r7, sp, #0 + 8012a26: 6078 str r0, [r7, #4] + 8012a28: 6039 str r1, [r7, #0] if (req->wLength != 1U) - 801202e: 683b ldr r3, [r7, #0] - 8012030: 88db ldrh r3, [r3, #6] - 8012032: 2b01 cmp r3, #1 - 8012034: d004 beq.n 8012040 + 8012a2a: 683b ldr r3, [r7, #0] + 8012a2c: 88db ldrh r3, [r3, #6] + 8012a2e: 2b01 cmp r3, #1 + 8012a30: d004 beq.n 8012a3c { USBD_CtlError(pdev, req); - 8012036: 6839 ldr r1, [r7, #0] - 8012038: 6878 ldr r0, [r7, #4] - 801203a: f000 f8e2 bl 8012202 + 8012a32: 6839 ldr r1, [r7, #0] + 8012a34: 6878 ldr r0, [r7, #4] + 8012a36: f000 f8e2 bl 8012bfe default: USBD_CtlError(pdev, req); break; } } } - 801203e: e023 b.n 8012088 + 8012a3a: e023 b.n 8012a84 switch (pdev->dev_state) - 8012040: 687b ldr r3, [r7, #4] - 8012042: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 8012046: b2db uxtb r3, r3 - 8012048: 2b02 cmp r3, #2 - 801204a: dc02 bgt.n 8012052 - 801204c: 2b00 cmp r3, #0 - 801204e: dc03 bgt.n 8012058 - 8012050: e015 b.n 801207e - 8012052: 2b03 cmp r3, #3 - 8012054: d00b beq.n 801206e - 8012056: e012 b.n 801207e + 8012a3c: 687b ldr r3, [r7, #4] + 8012a3e: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8012a42: b2db uxtb r3, r3 + 8012a44: 2b02 cmp r3, #2 + 8012a46: dc02 bgt.n 8012a4e + 8012a48: 2b00 cmp r3, #0 + 8012a4a: dc03 bgt.n 8012a54 + 8012a4c: e015 b.n 8012a7a + 8012a4e: 2b03 cmp r3, #3 + 8012a50: d00b beq.n 8012a6a + 8012a52: e012 b.n 8012a7a pdev->dev_default_config = 0U; - 8012058: 687b ldr r3, [r7, #4] - 801205a: 2200 movs r2, #0 - 801205c: 609a str r2, [r3, #8] + 8012a54: 687b ldr r3, [r7, #4] + 8012a56: 2200 movs r2, #0 + 8012a58: 609a str r2, [r3, #8] (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_default_config, 1U); - 801205e: 687b ldr r3, [r7, #4] - 8012060: 3308 adds r3, #8 - 8012062: 2201 movs r2, #1 - 8012064: 4619 mov r1, r3 - 8012066: 6878 ldr r0, [r7, #4] - 8012068: f000 f948 bl 80122fc + 8012a5a: 687b ldr r3, [r7, #4] + 8012a5c: 3308 adds r3, #8 + 8012a5e: 2201 movs r2, #1 + 8012a60: 4619 mov r1, r3 + 8012a62: 6878 ldr r0, [r7, #4] + 8012a64: f000 f948 bl 8012cf8 break; - 801206c: e00c b.n 8012088 + 8012a68: e00c b.n 8012a84 (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config, 1U); - 801206e: 687b ldr r3, [r7, #4] - 8012070: 3304 adds r3, #4 - 8012072: 2201 movs r2, #1 - 8012074: 4619 mov r1, r3 - 8012076: 6878 ldr r0, [r7, #4] - 8012078: f000 f940 bl 80122fc + 8012a6a: 687b ldr r3, [r7, #4] + 8012a6c: 3304 adds r3, #4 + 8012a6e: 2201 movs r2, #1 + 8012a70: 4619 mov r1, r3 + 8012a72: 6878 ldr r0, [r7, #4] + 8012a74: f000 f940 bl 8012cf8 break; - 801207c: e004 b.n 8012088 + 8012a78: e004 b.n 8012a84 USBD_CtlError(pdev, req); - 801207e: 6839 ldr r1, [r7, #0] - 8012080: 6878 ldr r0, [r7, #4] - 8012082: f000 f8be bl 8012202 + 8012a7a: 6839 ldr r1, [r7, #0] + 8012a7c: 6878 ldr r0, [r7, #4] + 8012a7e: f000 f8be bl 8012bfe break; - 8012086: bf00 nop + 8012a82: bf00 nop } - 8012088: bf00 nop - 801208a: 3708 adds r7, #8 - 801208c: 46bd mov sp, r7 - 801208e: bd80 pop {r7, pc} + 8012a84: bf00 nop + 8012a86: 3708 adds r7, #8 + 8012a88: 46bd mov sp, r7 + 8012a8a: bd80 pop {r7, pc} -08012090 : +08012a8c : * @param pdev: device instance * @param req: usb request * @retval None */ static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 8012090: b580 push {r7, lr} - 8012092: b082 sub sp, #8 - 8012094: af00 add r7, sp, #0 - 8012096: 6078 str r0, [r7, #4] - 8012098: 6039 str r1, [r7, #0] + 8012a8c: b580 push {r7, lr} + 8012a8e: b082 sub sp, #8 + 8012a90: af00 add r7, sp, #0 + 8012a92: 6078 str r0, [r7, #4] + 8012a94: 6039 str r1, [r7, #0] switch (pdev->dev_state) - 801209a: 687b ldr r3, [r7, #4] - 801209c: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 80120a0: b2db uxtb r3, r3 - 80120a2: 3b01 subs r3, #1 - 80120a4: 2b02 cmp r3, #2 - 80120a6: d81e bhi.n 80120e6 + 8012a96: 687b ldr r3, [r7, #4] + 8012a98: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8012a9c: b2db uxtb r3, r3 + 8012a9e: 3b01 subs r3, #1 + 8012aa0: 2b02 cmp r3, #2 + 8012aa2: d81e bhi.n 8012ae2 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wLength != 0x2U) - 80120a8: 683b ldr r3, [r7, #0] - 80120aa: 88db ldrh r3, [r3, #6] - 80120ac: 2b02 cmp r3, #2 - 80120ae: d004 beq.n 80120ba + 8012aa4: 683b ldr r3, [r7, #0] + 8012aa6: 88db ldrh r3, [r3, #6] + 8012aa8: 2b02 cmp r3, #2 + 8012aaa: d004 beq.n 8012ab6 { USBD_CtlError(pdev, req); - 80120b0: 6839 ldr r1, [r7, #0] - 80120b2: 6878 ldr r0, [r7, #4] - 80120b4: f000 f8a5 bl 8012202 + 8012aac: 6839 ldr r1, [r7, #0] + 8012aae: 6878 ldr r0, [r7, #4] + 8012ab0: f000 f8a5 bl 8012bfe break; - 80120b8: e01a b.n 80120f0 + 8012ab4: e01a b.n 8012aec } #if (USBD_SELF_POWERED == 1U) pdev->dev_config_status = USB_CONFIG_SELF_POWERED; - 80120ba: 687b ldr r3, [r7, #4] - 80120bc: 2201 movs r2, #1 - 80120be: 60da str r2, [r3, #12] + 8012ab6: 687b ldr r3, [r7, #4] + 8012ab8: 2201 movs r2, #1 + 8012aba: 60da str r2, [r3, #12] #else pdev->dev_config_status = 0U; #endif /* USBD_SELF_POWERED */ if (pdev->dev_remote_wakeup != 0U) - 80120c0: 687b ldr r3, [r7, #4] - 80120c2: f8d3 32a4 ldr.w r3, [r3, #676] @ 0x2a4 - 80120c6: 2b00 cmp r3, #0 - 80120c8: d005 beq.n 80120d6 + 8012abc: 687b ldr r3, [r7, #4] + 8012abe: f8d3 32a4 ldr.w r3, [r3, #676] @ 0x2a4 + 8012ac2: 2b00 cmp r3, #0 + 8012ac4: d005 beq.n 8012ad2 { pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP; - 80120ca: 687b ldr r3, [r7, #4] - 80120cc: 68db ldr r3, [r3, #12] - 80120ce: f043 0202 orr.w r2, r3, #2 - 80120d2: 687b ldr r3, [r7, #4] - 80120d4: 60da str r2, [r3, #12] + 8012ac6: 687b ldr r3, [r7, #4] + 8012ac8: 68db ldr r3, [r3, #12] + 8012aca: f043 0202 orr.w r2, r3, #2 + 8012ace: 687b ldr r3, [r7, #4] + 8012ad0: 60da str r2, [r3, #12] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config_status, 2U); - 80120d6: 687b ldr r3, [r7, #4] - 80120d8: 330c adds r3, #12 - 80120da: 2202 movs r2, #2 - 80120dc: 4619 mov r1, r3 - 80120de: 6878 ldr r0, [r7, #4] - 80120e0: f000 f90c bl 80122fc + 8012ad2: 687b ldr r3, [r7, #4] + 8012ad4: 330c adds r3, #12 + 8012ad6: 2202 movs r2, #2 + 8012ad8: 4619 mov r1, r3 + 8012ada: 6878 ldr r0, [r7, #4] + 8012adc: f000 f90c bl 8012cf8 break; - 80120e4: e004 b.n 80120f0 + 8012ae0: e004 b.n 8012aec default: USBD_CtlError(pdev, req); - 80120e6: 6839 ldr r1, [r7, #0] - 80120e8: 6878 ldr r0, [r7, #4] - 80120ea: f000 f88a bl 8012202 + 8012ae2: 6839 ldr r1, [r7, #0] + 8012ae4: 6878 ldr r0, [r7, #4] + 8012ae6: f000 f88a bl 8012bfe break; - 80120ee: bf00 nop + 8012aea: bf00 nop } } - 80120f0: bf00 nop - 80120f2: 3708 adds r7, #8 - 80120f4: 46bd mov sp, r7 - 80120f6: bd80 pop {r7, pc} + 8012aec: bf00 nop + 8012aee: 3708 adds r7, #8 + 8012af0: 46bd mov sp, r7 + 8012af2: bd80 pop {r7, pc} -080120f8 : +08012af4 : * @param pdev: device instance * @param req: usb request * @retval None */ static void USBD_SetFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 80120f8: b580 push {r7, lr} - 80120fa: b082 sub sp, #8 - 80120fc: af00 add r7, sp, #0 - 80120fe: 6078 str r0, [r7, #4] - 8012100: 6039 str r1, [r7, #0] + 8012af4: b580 push {r7, lr} + 8012af6: b082 sub sp, #8 + 8012af8: af00 add r7, sp, #0 + 8012afa: 6078 str r0, [r7, #4] + 8012afc: 6039 str r1, [r7, #0] if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) - 8012102: 683b ldr r3, [r7, #0] - 8012104: 885b ldrh r3, [r3, #2] - 8012106: 2b01 cmp r3, #1 - 8012108: d107 bne.n 801211a + 8012afe: 683b ldr r3, [r7, #0] + 8012b00: 885b ldrh r3, [r3, #2] + 8012b02: 2b01 cmp r3, #1 + 8012b04: d107 bne.n 8012b16 { pdev->dev_remote_wakeup = 1U; - 801210a: 687b ldr r3, [r7, #4] - 801210c: 2201 movs r2, #1 - 801210e: f8c3 22a4 str.w r2, [r3, #676] @ 0x2a4 + 8012b06: 687b ldr r3, [r7, #4] + 8012b08: 2201 movs r2, #1 + 8012b0a: f8c3 22a4 str.w r2, [r3, #676] @ 0x2a4 (void)USBD_CtlSendStatus(pdev); - 8012112: 6878 ldr r0, [r7, #4] - 8012114: f000 f953 bl 80123be + 8012b0e: 6878 ldr r0, [r7, #4] + 8012b10: f000 f953 bl 8012dba } else { USBD_CtlError(pdev, req); } } - 8012118: e013 b.n 8012142 + 8012b14: e013 b.n 8012b3e else if (req->wValue == USB_FEATURE_TEST_MODE) - 801211a: 683b ldr r3, [r7, #0] - 801211c: 885b ldrh r3, [r3, #2] - 801211e: 2b02 cmp r3, #2 - 8012120: d10b bne.n 801213a + 8012b16: 683b ldr r3, [r7, #0] + 8012b18: 885b ldrh r3, [r3, #2] + 8012b1a: 2b02 cmp r3, #2 + 8012b1c: d10b bne.n 8012b36 pdev->dev_test_mode = (uint8_t)(req->wIndex >> 8); - 8012122: 683b ldr r3, [r7, #0] - 8012124: 889b ldrh r3, [r3, #4] - 8012126: 0a1b lsrs r3, r3, #8 - 8012128: b29b uxth r3, r3 - 801212a: b2da uxtb r2, r3 - 801212c: 687b ldr r3, [r7, #4] - 801212e: f883 22a0 strb.w r2, [r3, #672] @ 0x2a0 + 8012b1e: 683b ldr r3, [r7, #0] + 8012b20: 889b ldrh r3, [r3, #4] + 8012b22: 0a1b lsrs r3, r3, #8 + 8012b24: b29b uxth r3, r3 + 8012b26: b2da uxtb r2, r3 + 8012b28: 687b ldr r3, [r7, #4] + 8012b2a: f883 22a0 strb.w r2, [r3, #672] @ 0x2a0 (void)USBD_CtlSendStatus(pdev); - 8012132: 6878 ldr r0, [r7, #4] - 8012134: f000 f943 bl 80123be + 8012b2e: 6878 ldr r0, [r7, #4] + 8012b30: f000 f943 bl 8012dba } - 8012138: e003 b.n 8012142 + 8012b34: e003 b.n 8012b3e USBD_CtlError(pdev, req); - 801213a: 6839 ldr r1, [r7, #0] - 801213c: 6878 ldr r0, [r7, #4] - 801213e: f000 f860 bl 8012202 + 8012b36: 6839 ldr r1, [r7, #0] + 8012b38: 6878 ldr r0, [r7, #4] + 8012b3a: f000 f860 bl 8012bfe } - 8012142: bf00 nop - 8012144: 3708 adds r7, #8 - 8012146: 46bd mov sp, r7 - 8012148: bd80 pop {r7, pc} + 8012b3e: bf00 nop + 8012b40: 3708 adds r7, #8 + 8012b42: 46bd mov sp, r7 + 8012b44: bd80 pop {r7, pc} -0801214a : +08012b46 : * @param pdev: device instance * @param req: usb request * @retval None */ static void USBD_ClrFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 801214a: b580 push {r7, lr} - 801214c: b082 sub sp, #8 - 801214e: af00 add r7, sp, #0 - 8012150: 6078 str r0, [r7, #4] - 8012152: 6039 str r1, [r7, #0] + 8012b46: b580 push {r7, lr} + 8012b48: b082 sub sp, #8 + 8012b4a: af00 add r7, sp, #0 + 8012b4c: 6078 str r0, [r7, #4] + 8012b4e: 6039 str r1, [r7, #0] switch (pdev->dev_state) - 8012154: 687b ldr r3, [r7, #4] - 8012156: f893 329c ldrb.w r3, [r3, #668] @ 0x29c - 801215a: b2db uxtb r3, r3 - 801215c: 3b01 subs r3, #1 - 801215e: 2b02 cmp r3, #2 - 8012160: d80b bhi.n 801217a + 8012b50: 687b ldr r3, [r7, #4] + 8012b52: f893 329c ldrb.w r3, [r3, #668] @ 0x29c + 8012b56: b2db uxtb r3, r3 + 8012b58: 3b01 subs r3, #1 + 8012b5a: 2b02 cmp r3, #2 + 8012b5c: d80b bhi.n 8012b76 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) - 8012162: 683b ldr r3, [r7, #0] - 8012164: 885b ldrh r3, [r3, #2] - 8012166: 2b01 cmp r3, #1 - 8012168: d10c bne.n 8012184 + 8012b5e: 683b ldr r3, [r7, #0] + 8012b60: 885b ldrh r3, [r3, #2] + 8012b62: 2b01 cmp r3, #1 + 8012b64: d10c bne.n 8012b80 { pdev->dev_remote_wakeup = 0U; - 801216a: 687b ldr r3, [r7, #4] - 801216c: 2200 movs r2, #0 - 801216e: f8c3 22a4 str.w r2, [r3, #676] @ 0x2a4 + 8012b66: 687b ldr r3, [r7, #4] + 8012b68: 2200 movs r2, #0 + 8012b6a: f8c3 22a4 str.w r2, [r3, #676] @ 0x2a4 (void)USBD_CtlSendStatus(pdev); - 8012172: 6878 ldr r0, [r7, #4] - 8012174: f000 f923 bl 80123be + 8012b6e: 6878 ldr r0, [r7, #4] + 8012b70: f000 f923 bl 8012dba } break; - 8012178: e004 b.n 8012184 + 8012b74: e004 b.n 8012b80 default: USBD_CtlError(pdev, req); - 801217a: 6839 ldr r1, [r7, #0] - 801217c: 6878 ldr r0, [r7, #4] - 801217e: f000 f840 bl 8012202 + 8012b76: 6839 ldr r1, [r7, #0] + 8012b78: 6878 ldr r0, [r7, #4] + 8012b7a: f000 f840 bl 8012bfe break; - 8012182: e000 b.n 8012186 + 8012b7e: e000 b.n 8012b82 break; - 8012184: bf00 nop + 8012b80: bf00 nop } } - 8012186: bf00 nop - 8012188: 3708 adds r7, #8 - 801218a: 46bd mov sp, r7 - 801218c: bd80 pop {r7, pc} + 8012b82: bf00 nop + 8012b84: 3708 adds r7, #8 + 8012b86: 46bd mov sp, r7 + 8012b88: bd80 pop {r7, pc} -0801218e : +08012b8a : * @param req: usb request * @param pdata: setup data pointer * @retval None */ void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata) { - 801218e: b580 push {r7, lr} - 8012190: b084 sub sp, #16 - 8012192: af00 add r7, sp, #0 - 8012194: 6078 str r0, [r7, #4] - 8012196: 6039 str r1, [r7, #0] + 8012b8a: b580 push {r7, lr} + 8012b8c: b084 sub sp, #16 + 8012b8e: af00 add r7, sp, #0 + 8012b90: 6078 str r0, [r7, #4] + 8012b92: 6039 str r1, [r7, #0] uint8_t *pbuff = pdata; - 8012198: 683b ldr r3, [r7, #0] - 801219a: 60fb str r3, [r7, #12] + 8012b94: 683b ldr r3, [r7, #0] + 8012b96: 60fb str r3, [r7, #12] req->bmRequest = *(uint8_t *)(pbuff); - 801219c: 68fb ldr r3, [r7, #12] - 801219e: 781a ldrb r2, [r3, #0] - 80121a0: 687b ldr r3, [r7, #4] - 80121a2: 701a strb r2, [r3, #0] + 8012b98: 68fb ldr r3, [r7, #12] + 8012b9a: 781a ldrb r2, [r3, #0] + 8012b9c: 687b ldr r3, [r7, #4] + 8012b9e: 701a strb r2, [r3, #0] pbuff++; - 80121a4: 68fb ldr r3, [r7, #12] - 80121a6: 3301 adds r3, #1 - 80121a8: 60fb str r3, [r7, #12] + 8012ba0: 68fb ldr r3, [r7, #12] + 8012ba2: 3301 adds r3, #1 + 8012ba4: 60fb str r3, [r7, #12] req->bRequest = *(uint8_t *)(pbuff); - 80121aa: 68fb ldr r3, [r7, #12] - 80121ac: 781a ldrb r2, [r3, #0] - 80121ae: 687b ldr r3, [r7, #4] - 80121b0: 705a strb r2, [r3, #1] + 8012ba6: 68fb ldr r3, [r7, #12] + 8012ba8: 781a ldrb r2, [r3, #0] + 8012baa: 687b ldr r3, [r7, #4] + 8012bac: 705a strb r2, [r3, #1] pbuff++; - 80121b2: 68fb ldr r3, [r7, #12] - 80121b4: 3301 adds r3, #1 - 80121b6: 60fb str r3, [r7, #12] + 8012bae: 68fb ldr r3, [r7, #12] + 8012bb0: 3301 adds r3, #1 + 8012bb2: 60fb str r3, [r7, #12] req->wValue = SWAPBYTE(pbuff); - 80121b8: 68f8 ldr r0, [r7, #12] - 80121ba: f7ff fa13 bl 80115e4 - 80121be: 4603 mov r3, r0 - 80121c0: 461a mov r2, r3 - 80121c2: 687b ldr r3, [r7, #4] - 80121c4: 805a strh r2, [r3, #2] + 8012bb4: 68f8 ldr r0, [r7, #12] + 8012bb6: f7ff fa13 bl 8011fe0 + 8012bba: 4603 mov r3, r0 + 8012bbc: 461a mov r2, r3 + 8012bbe: 687b ldr r3, [r7, #4] + 8012bc0: 805a strh r2, [r3, #2] pbuff++; - 80121c6: 68fb ldr r3, [r7, #12] - 80121c8: 3301 adds r3, #1 - 80121ca: 60fb str r3, [r7, #12] + 8012bc2: 68fb ldr r3, [r7, #12] + 8012bc4: 3301 adds r3, #1 + 8012bc6: 60fb str r3, [r7, #12] pbuff++; - 80121cc: 68fb ldr r3, [r7, #12] - 80121ce: 3301 adds r3, #1 - 80121d0: 60fb str r3, [r7, #12] + 8012bc8: 68fb ldr r3, [r7, #12] + 8012bca: 3301 adds r3, #1 + 8012bcc: 60fb str r3, [r7, #12] req->wIndex = SWAPBYTE(pbuff); - 80121d2: 68f8 ldr r0, [r7, #12] - 80121d4: f7ff fa06 bl 80115e4 - 80121d8: 4603 mov r3, r0 - 80121da: 461a mov r2, r3 - 80121dc: 687b ldr r3, [r7, #4] - 80121de: 809a strh r2, [r3, #4] + 8012bce: 68f8 ldr r0, [r7, #12] + 8012bd0: f7ff fa06 bl 8011fe0 + 8012bd4: 4603 mov r3, r0 + 8012bd6: 461a mov r2, r3 + 8012bd8: 687b ldr r3, [r7, #4] + 8012bda: 809a strh r2, [r3, #4] pbuff++; - 80121e0: 68fb ldr r3, [r7, #12] - 80121e2: 3301 adds r3, #1 - 80121e4: 60fb str r3, [r7, #12] + 8012bdc: 68fb ldr r3, [r7, #12] + 8012bde: 3301 adds r3, #1 + 8012be0: 60fb str r3, [r7, #12] pbuff++; - 80121e6: 68fb ldr r3, [r7, #12] - 80121e8: 3301 adds r3, #1 - 80121ea: 60fb str r3, [r7, #12] + 8012be2: 68fb ldr r3, [r7, #12] + 8012be4: 3301 adds r3, #1 + 8012be6: 60fb str r3, [r7, #12] req->wLength = SWAPBYTE(pbuff); - 80121ec: 68f8 ldr r0, [r7, #12] - 80121ee: f7ff f9f9 bl 80115e4 - 80121f2: 4603 mov r3, r0 - 80121f4: 461a mov r2, r3 - 80121f6: 687b ldr r3, [r7, #4] - 80121f8: 80da strh r2, [r3, #6] + 8012be8: 68f8 ldr r0, [r7, #12] + 8012bea: f7ff f9f9 bl 8011fe0 + 8012bee: 4603 mov r3, r0 + 8012bf0: 461a mov r2, r3 + 8012bf2: 687b ldr r3, [r7, #4] + 8012bf4: 80da strh r2, [r3, #6] } - 80121fa: bf00 nop - 80121fc: 3710 adds r7, #16 - 80121fe: 46bd mov sp, r7 - 8012200: bd80 pop {r7, pc} + 8012bf6: bf00 nop + 8012bf8: 3710 adds r7, #16 + 8012bfa: 46bd mov sp, r7 + 8012bfc: bd80 pop {r7, pc} -08012202 : +08012bfe : * @param pdev: device instance * @param req: usb request * @retval None */ void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { - 8012202: b580 push {r7, lr} - 8012204: b082 sub sp, #8 - 8012206: af00 add r7, sp, #0 - 8012208: 6078 str r0, [r7, #4] - 801220a: 6039 str r1, [r7, #0] + 8012bfe: b580 push {r7, lr} + 8012c00: b082 sub sp, #8 + 8012c02: af00 add r7, sp, #0 + 8012c04: 6078 str r0, [r7, #4] + 8012c06: 6039 str r1, [r7, #0] UNUSED(req); (void)USBD_LL_StallEP(pdev, 0x80U); - 801220c: 2180 movs r1, #128 @ 0x80 - 801220e: 6878 ldr r0, [r7, #4] - 8012210: f006 fa4c bl 80186ac + 8012c08: 2180 movs r1, #128 @ 0x80 + 8012c0a: 6878 ldr r0, [r7, #4] + 8012c0c: f006 fa36 bl 801907c (void)USBD_LL_StallEP(pdev, 0U); - 8012214: 2100 movs r1, #0 - 8012216: 6878 ldr r0, [r7, #4] - 8012218: f006 fa48 bl 80186ac + 8012c10: 2100 movs r1, #0 + 8012c12: 6878 ldr r0, [r7, #4] + 8012c14: f006 fa32 bl 801907c } - 801221c: bf00 nop - 801221e: 3708 adds r7, #8 - 8012220: 46bd mov sp, r7 - 8012222: bd80 pop {r7, pc} + 8012c18: bf00 nop + 8012c1a: 3708 adds r7, #8 + 8012c1c: 46bd mov sp, r7 + 8012c1e: bd80 pop {r7, pc} -08012224 : +08012c20 : * @param unicode : Formatted string buffer (unicode) * @param len : descriptor length * @retval None */ void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len) { - 8012224: b580 push {r7, lr} - 8012226: b086 sub sp, #24 - 8012228: af00 add r7, sp, #0 - 801222a: 60f8 str r0, [r7, #12] - 801222c: 60b9 str r1, [r7, #8] - 801222e: 607a str r2, [r7, #4] + 8012c20: b580 push {r7, lr} + 8012c22: b086 sub sp, #24 + 8012c24: af00 add r7, sp, #0 + 8012c26: 60f8 str r0, [r7, #12] + 8012c28: 60b9 str r1, [r7, #8] + 8012c2a: 607a str r2, [r7, #4] uint8_t idx = 0U; - 8012230: 2300 movs r3, #0 - 8012232: 75fb strb r3, [r7, #23] + 8012c2c: 2300 movs r3, #0 + 8012c2e: 75fb strb r3, [r7, #23] uint8_t *pdesc; if (desc == NULL) - 8012234: 68fb ldr r3, [r7, #12] - 8012236: 2b00 cmp r3, #0 - 8012238: d042 beq.n 80122c0 + 8012c30: 68fb ldr r3, [r7, #12] + 8012c32: 2b00 cmp r3, #0 + 8012c34: d042 beq.n 8012cbc { return; } pdesc = desc; - 801223a: 68fb ldr r3, [r7, #12] - 801223c: 613b str r3, [r7, #16] + 8012c36: 68fb ldr r3, [r7, #12] + 8012c38: 613b str r3, [r7, #16] *len = MIN(USBD_MAX_STR_DESC_SIZ, ((uint16_t)USBD_GetLen(pdesc) * 2U) + 2U); - 801223e: 6938 ldr r0, [r7, #16] - 8012240: f000 f842 bl 80122c8 - 8012244: 4603 mov r3, r0 - 8012246: 3301 adds r3, #1 - 8012248: 005b lsls r3, r3, #1 - 801224a: f5b3 7f00 cmp.w r3, #512 @ 0x200 - 801224e: d808 bhi.n 8012262 - 8012250: 6938 ldr r0, [r7, #16] - 8012252: f000 f839 bl 80122c8 - 8012256: 4603 mov r3, r0 - 8012258: 3301 adds r3, #1 - 801225a: b29b uxth r3, r3 - 801225c: 005b lsls r3, r3, #1 - 801225e: b29a uxth r2, r3 - 8012260: e001 b.n 8012266 - 8012262: f44f 7200 mov.w r2, #512 @ 0x200 - 8012266: 687b ldr r3, [r7, #4] - 8012268: 801a strh r2, [r3, #0] + 8012c3a: 6938 ldr r0, [r7, #16] + 8012c3c: f000 f842 bl 8012cc4 + 8012c40: 4603 mov r3, r0 + 8012c42: 3301 adds r3, #1 + 8012c44: 005b lsls r3, r3, #1 + 8012c46: f5b3 7f00 cmp.w r3, #512 @ 0x200 + 8012c4a: d808 bhi.n 8012c5e + 8012c4c: 6938 ldr r0, [r7, #16] + 8012c4e: f000 f839 bl 8012cc4 + 8012c52: 4603 mov r3, r0 + 8012c54: 3301 adds r3, #1 + 8012c56: b29b uxth r3, r3 + 8012c58: 005b lsls r3, r3, #1 + 8012c5a: b29a uxth r2, r3 + 8012c5c: e001 b.n 8012c62 + 8012c5e: f44f 7200 mov.w r2, #512 @ 0x200 + 8012c62: 687b ldr r3, [r7, #4] + 8012c64: 801a strh r2, [r3, #0] unicode[idx] = *(uint8_t *)len; - 801226a: 7dfb ldrb r3, [r7, #23] - 801226c: 68ba ldr r2, [r7, #8] - 801226e: 4413 add r3, r2 - 8012270: 687a ldr r2, [r7, #4] - 8012272: 7812 ldrb r2, [r2, #0] - 8012274: 701a strb r2, [r3, #0] + 8012c66: 7dfb ldrb r3, [r7, #23] + 8012c68: 68ba ldr r2, [r7, #8] + 8012c6a: 4413 add r3, r2 + 8012c6c: 687a ldr r2, [r7, #4] + 8012c6e: 7812 ldrb r2, [r2, #0] + 8012c70: 701a strb r2, [r3, #0] idx++; - 8012276: 7dfb ldrb r3, [r7, #23] - 8012278: 3301 adds r3, #1 - 801227a: 75fb strb r3, [r7, #23] + 8012c72: 7dfb ldrb r3, [r7, #23] + 8012c74: 3301 adds r3, #1 + 8012c76: 75fb strb r3, [r7, #23] unicode[idx] = USB_DESC_TYPE_STRING; - 801227c: 7dfb ldrb r3, [r7, #23] - 801227e: 68ba ldr r2, [r7, #8] - 8012280: 4413 add r3, r2 - 8012282: 2203 movs r2, #3 - 8012284: 701a strb r2, [r3, #0] + 8012c78: 7dfb ldrb r3, [r7, #23] + 8012c7a: 68ba ldr r2, [r7, #8] + 8012c7c: 4413 add r3, r2 + 8012c7e: 2203 movs r2, #3 + 8012c80: 701a strb r2, [r3, #0] idx++; - 8012286: 7dfb ldrb r3, [r7, #23] - 8012288: 3301 adds r3, #1 - 801228a: 75fb strb r3, [r7, #23] + 8012c82: 7dfb ldrb r3, [r7, #23] + 8012c84: 3301 adds r3, #1 + 8012c86: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') - 801228c: e013 b.n 80122b6 + 8012c88: e013 b.n 8012cb2 { unicode[idx] = *pdesc; - 801228e: 7dfb ldrb r3, [r7, #23] - 8012290: 68ba ldr r2, [r7, #8] - 8012292: 4413 add r3, r2 - 8012294: 693a ldr r2, [r7, #16] - 8012296: 7812 ldrb r2, [r2, #0] - 8012298: 701a strb r2, [r3, #0] + 8012c8a: 7dfb ldrb r3, [r7, #23] + 8012c8c: 68ba ldr r2, [r7, #8] + 8012c8e: 4413 add r3, r2 + 8012c90: 693a ldr r2, [r7, #16] + 8012c92: 7812 ldrb r2, [r2, #0] + 8012c94: 701a strb r2, [r3, #0] pdesc++; - 801229a: 693b ldr r3, [r7, #16] - 801229c: 3301 adds r3, #1 - 801229e: 613b str r3, [r7, #16] + 8012c96: 693b ldr r3, [r7, #16] + 8012c98: 3301 adds r3, #1 + 8012c9a: 613b str r3, [r7, #16] idx++; - 80122a0: 7dfb ldrb r3, [r7, #23] - 80122a2: 3301 adds r3, #1 - 80122a4: 75fb strb r3, [r7, #23] + 8012c9c: 7dfb ldrb r3, [r7, #23] + 8012c9e: 3301 adds r3, #1 + 8012ca0: 75fb strb r3, [r7, #23] unicode[idx] = 0U; - 80122a6: 7dfb ldrb r3, [r7, #23] - 80122a8: 68ba ldr r2, [r7, #8] - 80122aa: 4413 add r3, r2 - 80122ac: 2200 movs r2, #0 - 80122ae: 701a strb r2, [r3, #0] + 8012ca2: 7dfb ldrb r3, [r7, #23] + 8012ca4: 68ba ldr r2, [r7, #8] + 8012ca6: 4413 add r3, r2 + 8012ca8: 2200 movs r2, #0 + 8012caa: 701a strb r2, [r3, #0] idx++; - 80122b0: 7dfb ldrb r3, [r7, #23] - 80122b2: 3301 adds r3, #1 - 80122b4: 75fb strb r3, [r7, #23] + 8012cac: 7dfb ldrb r3, [r7, #23] + 8012cae: 3301 adds r3, #1 + 8012cb0: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') - 80122b6: 693b ldr r3, [r7, #16] - 80122b8: 781b ldrb r3, [r3, #0] - 80122ba: 2b00 cmp r3, #0 - 80122bc: d1e7 bne.n 801228e - 80122be: e000 b.n 80122c2 + 8012cb2: 693b ldr r3, [r7, #16] + 8012cb4: 781b ldrb r3, [r3, #0] + 8012cb6: 2b00 cmp r3, #0 + 8012cb8: d1e7 bne.n 8012c8a + 8012cba: e000 b.n 8012cbe return; - 80122c0: bf00 nop + 8012cbc: bf00 nop } } - 80122c2: 3718 adds r7, #24 - 80122c4: 46bd mov sp, r7 - 80122c6: bd80 pop {r7, pc} + 8012cbe: 3718 adds r7, #24 + 8012cc0: 46bd mov sp, r7 + 8012cc2: bd80 pop {r7, pc} -080122c8 : +08012cc4 : * return the string length * @param buf : pointer to the ascii string buffer * @retval string length */ static uint8_t USBD_GetLen(uint8_t *buf) { - 80122c8: b480 push {r7} - 80122ca: b085 sub sp, #20 - 80122cc: af00 add r7, sp, #0 - 80122ce: 6078 str r0, [r7, #4] + 8012cc4: b480 push {r7} + 8012cc6: b085 sub sp, #20 + 8012cc8: af00 add r7, sp, #0 + 8012cca: 6078 str r0, [r7, #4] uint8_t len = 0U; - 80122d0: 2300 movs r3, #0 - 80122d2: 73fb strb r3, [r7, #15] + 8012ccc: 2300 movs r3, #0 + 8012cce: 73fb strb r3, [r7, #15] uint8_t *pbuff = buf; - 80122d4: 687b ldr r3, [r7, #4] - 80122d6: 60bb str r3, [r7, #8] + 8012cd0: 687b ldr r3, [r7, #4] + 8012cd2: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') - 80122d8: e005 b.n 80122e6 + 8012cd4: e005 b.n 8012ce2 { len++; - 80122da: 7bfb ldrb r3, [r7, #15] - 80122dc: 3301 adds r3, #1 - 80122de: 73fb strb r3, [r7, #15] + 8012cd6: 7bfb ldrb r3, [r7, #15] + 8012cd8: 3301 adds r3, #1 + 8012cda: 73fb strb r3, [r7, #15] pbuff++; - 80122e0: 68bb ldr r3, [r7, #8] - 80122e2: 3301 adds r3, #1 - 80122e4: 60bb str r3, [r7, #8] + 8012cdc: 68bb ldr r3, [r7, #8] + 8012cde: 3301 adds r3, #1 + 8012ce0: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') - 80122e6: 68bb ldr r3, [r7, #8] - 80122e8: 781b ldrb r3, [r3, #0] - 80122ea: 2b00 cmp r3, #0 - 80122ec: d1f5 bne.n 80122da + 8012ce2: 68bb ldr r3, [r7, #8] + 8012ce4: 781b ldrb r3, [r3, #0] + 8012ce6: 2b00 cmp r3, #0 + 8012ce8: d1f5 bne.n 8012cd6 } return len; - 80122ee: 7bfb ldrb r3, [r7, #15] + 8012cea: 7bfb ldrb r3, [r7, #15] } - 80122f0: 4618 mov r0, r3 - 80122f2: 3714 adds r7, #20 - 80122f4: 46bd mov sp, r7 - 80122f6: f85d 7b04 ldr.w r7, [sp], #4 - 80122fa: 4770 bx lr + 8012cec: 4618 mov r0, r3 + 8012cee: 3714 adds r7, #20 + 8012cf0: 46bd mov sp, r7 + 8012cf2: f85d 7b04 ldr.w r7, [sp], #4 + 8012cf6: 4770 bx lr -080122fc : +08012cf8 : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { - 80122fc: b580 push {r7, lr} - 80122fe: b084 sub sp, #16 - 8012300: af00 add r7, sp, #0 - 8012302: 60f8 str r0, [r7, #12] - 8012304: 60b9 str r1, [r7, #8] - 8012306: 607a str r2, [r7, #4] + 8012cf8: b580 push {r7, lr} + 8012cfa: b084 sub sp, #16 + 8012cfc: af00 add r7, sp, #0 + 8012cfe: 60f8 str r0, [r7, #12] + 8012d00: 60b9 str r1, [r7, #8] + 8012d02: 607a str r2, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_DATA_IN; - 8012308: 68fb ldr r3, [r7, #12] - 801230a: 2202 movs r2, #2 - 801230c: f8c3 2294 str.w r2, [r3, #660] @ 0x294 + 8012d04: 68fb ldr r3, [r7, #12] + 8012d06: 2202 movs r2, #2 + 8012d08: f8c3 2294 str.w r2, [r3, #660] @ 0x294 pdev->ep_in[0].total_length = len; - 8012310: 68fb ldr r3, [r7, #12] - 8012312: 687a ldr r2, [r7, #4] - 8012314: 615a str r2, [r3, #20] + 8012d0c: 68fb ldr r3, [r7, #12] + 8012d0e: 687a ldr r2, [r7, #4] + 8012d10: 615a str r2, [r3, #20] pdev->ep_in[0].pbuffer = pbuf; - 8012316: 68fb ldr r3, [r7, #12] - 8012318: 68ba ldr r2, [r7, #8] - 801231a: 625a str r2, [r3, #36] @ 0x24 + 8012d12: 68fb ldr r3, [r7, #12] + 8012d14: 68ba ldr r2, [r7, #8] + 8012d16: 625a str r2, [r3, #36] @ 0x24 #ifdef USBD_AVOID_PACKET_SPLIT_MPS pdev->ep_in[0].rem_length = 0U; #else pdev->ep_in[0].rem_length = len; - 801231c: 68fb ldr r3, [r7, #12] - 801231e: 687a ldr r2, [r7, #4] - 8012320: 619a str r2, [r3, #24] + 8012d18: 68fb ldr r3, [r7, #12] + 8012d1a: 687a ldr r2, [r7, #4] + 8012d1c: 619a str r2, [r3, #24] #endif /* USBD_AVOID_PACKET_SPLIT_MPS */ /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); - 8012322: 687b ldr r3, [r7, #4] - 8012324: 68ba ldr r2, [r7, #8] - 8012326: 2100 movs r1, #0 - 8012328: 68f8 ldr r0, [r7, #12] - 801232a: f006 fa48 bl 80187be + 8012d1e: 687b ldr r3, [r7, #4] + 8012d20: 68ba ldr r2, [r7, #8] + 8012d22: 2100 movs r1, #0 + 8012d24: 68f8 ldr r0, [r7, #12] + 8012d26: f006 fa32 bl 801918e return USBD_OK; - 801232e: 2300 movs r3, #0 + 8012d2a: 2300 movs r3, #0 } - 8012330: 4618 mov r0, r3 - 8012332: 3710 adds r7, #16 - 8012334: 46bd mov sp, r7 - 8012336: bd80 pop {r7, pc} + 8012d2c: 4618 mov r0, r3 + 8012d2e: 3710 adds r7, #16 + 8012d30: 46bd mov sp, r7 + 8012d32: bd80 pop {r7, pc} -08012338 : +08012d34 : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { - 8012338: b580 push {r7, lr} - 801233a: b084 sub sp, #16 - 801233c: af00 add r7, sp, #0 - 801233e: 60f8 str r0, [r7, #12] - 8012340: 60b9 str r1, [r7, #8] - 8012342: 607a str r2, [r7, #4] + 8012d34: b580 push {r7, lr} + 8012d36: b084 sub sp, #16 + 8012d38: af00 add r7, sp, #0 + 8012d3a: 60f8 str r0, [r7, #12] + 8012d3c: 60b9 str r1, [r7, #8] + 8012d3e: 607a str r2, [r7, #4] /* Start the next transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); - 8012344: 687b ldr r3, [r7, #4] - 8012346: 68ba ldr r2, [r7, #8] - 8012348: 2100 movs r1, #0 - 801234a: 68f8 ldr r0, [r7, #12] - 801234c: f006 fa37 bl 80187be + 8012d40: 687b ldr r3, [r7, #4] + 8012d42: 68ba ldr r2, [r7, #8] + 8012d44: 2100 movs r1, #0 + 8012d46: 68f8 ldr r0, [r7, #12] + 8012d48: f006 fa21 bl 801918e return USBD_OK; - 8012350: 2300 movs r3, #0 + 8012d4c: 2300 movs r3, #0 } - 8012352: 4618 mov r0, r3 - 8012354: 3710 adds r7, #16 - 8012356: 46bd mov sp, r7 - 8012358: bd80 pop {r7, pc} + 8012d4e: 4618 mov r0, r3 + 8012d50: 3710 adds r7, #16 + 8012d52: 46bd mov sp, r7 + 8012d54: bd80 pop {r7, pc} -0801235a : +08012d56 : * @param len: length of data to be received * @retval status */ USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { - 801235a: b580 push {r7, lr} - 801235c: b084 sub sp, #16 - 801235e: af00 add r7, sp, #0 - 8012360: 60f8 str r0, [r7, #12] - 8012362: 60b9 str r1, [r7, #8] - 8012364: 607a str r2, [r7, #4] + 8012d56: b580 push {r7, lr} + 8012d58: b084 sub sp, #16 + 8012d5a: af00 add r7, sp, #0 + 8012d5c: 60f8 str r0, [r7, #12] + 8012d5e: 60b9 str r1, [r7, #8] + 8012d60: 607a str r2, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_DATA_OUT; - 8012366: 68fb ldr r3, [r7, #12] - 8012368: 2203 movs r2, #3 - 801236a: f8c3 2294 str.w r2, [r3, #660] @ 0x294 + 8012d62: 68fb ldr r3, [r7, #12] + 8012d64: 2203 movs r2, #3 + 8012d66: f8c3 2294 str.w r2, [r3, #660] @ 0x294 pdev->ep_out[0].total_length = len; - 801236e: 68fb ldr r3, [r7, #12] - 8012370: 687a ldr r2, [r7, #4] - 8012372: f8c3 2154 str.w r2, [r3, #340] @ 0x154 + 8012d6a: 68fb ldr r3, [r7, #12] + 8012d6c: 687a ldr r2, [r7, #4] + 8012d6e: f8c3 2154 str.w r2, [r3, #340] @ 0x154 pdev->ep_out[0].pbuffer = pbuf; - 8012376: 68fb ldr r3, [r7, #12] - 8012378: 68ba ldr r2, [r7, #8] - 801237a: f8c3 2164 str.w r2, [r3, #356] @ 0x164 + 8012d72: 68fb ldr r3, [r7, #12] + 8012d74: 68ba ldr r2, [r7, #8] + 8012d76: f8c3 2164 str.w r2, [r3, #356] @ 0x164 #ifdef USBD_AVOID_PACKET_SPLIT_MPS pdev->ep_out[0].rem_length = 0U; #else pdev->ep_out[0].rem_length = len; - 801237e: 68fb ldr r3, [r7, #12] - 8012380: 687a ldr r2, [r7, #4] - 8012382: f8c3 2158 str.w r2, [r3, #344] @ 0x158 + 8012d7a: 68fb ldr r3, [r7, #12] + 8012d7c: 687a ldr r2, [r7, #4] + 8012d7e: f8c3 2158 str.w r2, [r3, #344] @ 0x158 #endif /* USBD_AVOID_PACKET_SPLIT_MPS */ /* Start the transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); - 8012386: 687b ldr r3, [r7, #4] - 8012388: 68ba ldr r2, [r7, #8] - 801238a: 2100 movs r1, #0 - 801238c: 68f8 ldr r0, [r7, #12] - 801238e: f006 fa37 bl 8018800 + 8012d82: 687b ldr r3, [r7, #4] + 8012d84: 68ba ldr r2, [r7, #8] + 8012d86: 2100 movs r1, #0 + 8012d88: 68f8 ldr r0, [r7, #12] + 8012d8a: f006 fa21 bl 80191d0 return USBD_OK; - 8012392: 2300 movs r3, #0 + 8012d8e: 2300 movs r3, #0 } - 8012394: 4618 mov r0, r3 - 8012396: 3710 adds r7, #16 - 8012398: 46bd mov sp, r7 - 801239a: bd80 pop {r7, pc} + 8012d90: 4618 mov r0, r3 + 8012d92: 3710 adds r7, #16 + 8012d94: 46bd mov sp, r7 + 8012d96: bd80 pop {r7, pc} -0801239c : +08012d98 : * @param len: length of data to be received * @retval status */ USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { - 801239c: b580 push {r7, lr} - 801239e: b084 sub sp, #16 - 80123a0: af00 add r7, sp, #0 - 80123a2: 60f8 str r0, [r7, #12] - 80123a4: 60b9 str r1, [r7, #8] - 80123a6: 607a str r2, [r7, #4] + 8012d98: b580 push {r7, lr} + 8012d9a: b084 sub sp, #16 + 8012d9c: af00 add r7, sp, #0 + 8012d9e: 60f8 str r0, [r7, #12] + 8012da0: 60b9 str r1, [r7, #8] + 8012da2: 607a str r2, [r7, #4] (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); - 80123a8: 687b ldr r3, [r7, #4] - 80123aa: 68ba ldr r2, [r7, #8] - 80123ac: 2100 movs r1, #0 - 80123ae: 68f8 ldr r0, [r7, #12] - 80123b0: f006 fa26 bl 8018800 + 8012da4: 687b ldr r3, [r7, #4] + 8012da6: 68ba ldr r2, [r7, #8] + 8012da8: 2100 movs r1, #0 + 8012daa: 68f8 ldr r0, [r7, #12] + 8012dac: f006 fa10 bl 80191d0 return USBD_OK; - 80123b4: 2300 movs r3, #0 + 8012db0: 2300 movs r3, #0 } - 80123b6: 4618 mov r0, r3 - 80123b8: 3710 adds r7, #16 - 80123ba: 46bd mov sp, r7 - 80123bc: bd80 pop {r7, pc} + 8012db2: 4618 mov r0, r3 + 8012db4: 3710 adds r7, #16 + 8012db6: 46bd mov sp, r7 + 8012db8: bd80 pop {r7, pc} -080123be : +08012dba : * send zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev) { - 80123be: b580 push {r7, lr} - 80123c0: b082 sub sp, #8 - 80123c2: af00 add r7, sp, #0 - 80123c4: 6078 str r0, [r7, #4] + 8012dba: b580 push {r7, lr} + 8012dbc: b082 sub sp, #8 + 8012dbe: af00 add r7, sp, #0 + 8012dc0: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_IN; - 80123c6: 687b ldr r3, [r7, #4] - 80123c8: 2204 movs r2, #4 - 80123ca: f8c3 2294 str.w r2, [r3, #660] @ 0x294 + 8012dc2: 687b ldr r3, [r7, #4] + 8012dc4: 2204 movs r2, #4 + 8012dc6: f8c3 2294 str.w r2, [r3, #660] @ 0x294 /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, NULL, 0U); - 80123ce: 2300 movs r3, #0 - 80123d0: 2200 movs r2, #0 - 80123d2: 2100 movs r1, #0 - 80123d4: 6878 ldr r0, [r7, #4] - 80123d6: f006 f9f2 bl 80187be + 8012dca: 2300 movs r3, #0 + 8012dcc: 2200 movs r2, #0 + 8012dce: 2100 movs r1, #0 + 8012dd0: 6878 ldr r0, [r7, #4] + 8012dd2: f006 f9dc bl 801918e return USBD_OK; - 80123da: 2300 movs r3, #0 + 8012dd6: 2300 movs r3, #0 } - 80123dc: 4618 mov r0, r3 - 80123de: 3708 adds r7, #8 - 80123e0: 46bd mov sp, r7 - 80123e2: bd80 pop {r7, pc} + 8012dd8: 4618 mov r0, r3 + 8012dda: 3708 adds r7, #8 + 8012ddc: 46bd mov sp, r7 + 8012dde: bd80 pop {r7, pc} -080123e4 : +08012de0 : * receive zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev) { - 80123e4: b580 push {r7, lr} - 80123e6: b082 sub sp, #8 - 80123e8: af00 add r7, sp, #0 - 80123ea: 6078 str r0, [r7, #4] + 8012de0: b580 push {r7, lr} + 8012de2: b082 sub sp, #8 + 8012de4: af00 add r7, sp, #0 + 8012de6: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_OUT; - 80123ec: 687b ldr r3, [r7, #4] - 80123ee: 2205 movs r2, #5 - 80123f0: f8c3 2294 str.w r2, [r3, #660] @ 0x294 + 8012de8: 687b ldr r3, [r7, #4] + 8012dea: 2205 movs r2, #5 + 8012dec: f8c3 2294 str.w r2, [r3, #660] @ 0x294 /* Start the transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); - 80123f4: 2300 movs r3, #0 - 80123f6: 2200 movs r2, #0 - 80123f8: 2100 movs r1, #0 - 80123fa: 6878 ldr r0, [r7, #4] - 80123fc: f006 fa00 bl 8018800 + 8012df0: 2300 movs r3, #0 + 8012df2: 2200 movs r2, #0 + 8012df4: 2100 movs r1, #0 + 8012df6: 6878 ldr r0, [r7, #4] + 8012df8: f006 f9ea bl 80191d0 return USBD_OK; - 8012400: 2300 movs r3, #0 + 8012dfc: 2300 movs r3, #0 } - 8012402: 4618 mov r0, r3 - 8012404: 3708 adds r7, #8 - 8012406: 46bd mov sp, r7 - 8012408: bd80 pop {r7, pc} + 8012dfe: 4618 mov r0, r3 + 8012e00: 3708 adds r7, #8 + 8012e02: 46bd mov sp, r7 + 8012e04: bd80 pop {r7, pc} -0801240a : +08012e06 : return (SHCI_CmdStatus_t)(((TL_CcEvt_t*)(p_rsp->evtserial.evt.payload))->payload[0]); } SHCI_CmdStatus_t SHCI_C2_DEBUG_Init( SHCI_C2_DEBUG_Init_Cmd_Packet_t *pCmdPacket ) { - 801240a: b580 push {r7, lr} - 801240c: b088 sub sp, #32 - 801240e: af00 add r7, sp, #0 - 8012410: 6078 str r0, [r7, #4] + 8012e06: b580 push {r7, lr} + 8012e08: b088 sub sp, #32 + 8012e0a: af00 add r7, sp, #0 + 8012e0c: 6078 str r0, [r7, #4] * Buffer is large enough to hold command complete without payload */ uint8_t local_buffer[TL_BLEEVT_CC_BUFFER_SIZE]; TL_EvtPacket_t * p_rsp; p_rsp = (TL_EvtPacket_t *)local_buffer; - 8012412: f107 030c add.w r3, r7, #12 - 8012416: 61fb str r3, [r7, #28] + 8012e0e: f107 030c add.w r3, r7, #12 + 8012e12: 61fb str r3, [r7, #28] shci_send( SHCI_OPCODE_C2_DEBUG_INIT, sizeof( SHCI_C2_DEBUG_init_Cmd_Param_t ), (uint8_t*)&pCmdPacket->Param, - 8012418: 687b ldr r3, [r7, #4] - 801241a: f103 020c add.w r2, r3, #12 + 8012e14: 687b ldr r3, [r7, #4] + 8012e16: f103 020c add.w r2, r3, #12 shci_send( SHCI_OPCODE_C2_DEBUG_INIT, - 801241e: 69fb ldr r3, [r7, #28] - 8012420: 210f movs r1, #15 - 8012422: f64f 4068 movw r0, #64616 @ 0xfc68 - 8012426: f000 f935 bl 8012694 + 8012e1a: 69fb ldr r3, [r7, #28] + 8012e1c: 210f movs r1, #15 + 8012e1e: f64f 4068 movw r0, #64616 @ 0xfc68 + 8012e22: f000 f935 bl 8013090 p_rsp ); return (SHCI_CmdStatus_t)(((TL_CcEvt_t*)(p_rsp->evtserial.evt.payload))->payload[0]); - 801242a: 69fb ldr r3, [r7, #28] - 801242c: 330b adds r3, #11 - 801242e: 78db ldrb r3, [r3, #3] + 8012e26: 69fb ldr r3, [r7, #28] + 8012e28: 330b adds r3, #11 + 8012e2a: 78db ldrb r3, [r3, #3] } - 8012430: 4618 mov r0, r3 - 8012432: 3720 adds r7, #32 - 8012434: 46bd mov sp, r7 - 8012436: bd80 pop {r7, pc} + 8012e2c: 4618 mov r0, r3 + 8012e2e: 3720 adds r7, #32 + 8012e30: 46bd mov sp, r7 + 8012e32: bd80 pop {r7, pc} -08012438 : +08012e34 : return (SHCI_CmdStatus_t)(((TL_CcEvt_t*)(p_rsp->evtserial.evt.payload))->payload[0]); } SHCI_CmdStatus_t SHCI_C2_Config(SHCI_C2_CONFIG_Cmd_Param_t *pCmdPacket) { - 8012438: b580 push {r7, lr} - 801243a: b088 sub sp, #32 - 801243c: af00 add r7, sp, #0 - 801243e: 6078 str r0, [r7, #4] + 8012e34: b580 push {r7, lr} + 8012e36: b088 sub sp, #32 + 8012e38: af00 add r7, sp, #0 + 8012e3a: 6078 str r0, [r7, #4] * Buffer is large enough to hold command complete without payload */ uint8_t local_buffer[TL_BLEEVT_CC_BUFFER_SIZE]; TL_EvtPacket_t * p_rsp; p_rsp = (TL_EvtPacket_t *)local_buffer; - 8012440: f107 030c add.w r3, r7, #12 - 8012444: 61fb str r3, [r7, #28] + 8012e3c: f107 030c add.w r3, r7, #12 + 8012e40: 61fb str r3, [r7, #28] shci_send( SHCI_OPCODE_C2_CONFIG, - 8012446: 69fb ldr r3, [r7, #28] - 8012448: 687a ldr r2, [r7, #4] - 801244a: 2110 movs r1, #16 - 801244c: f64f 4075 movw r0, #64629 @ 0xfc75 - 8012450: f000 f920 bl 8012694 + 8012e42: 69fb ldr r3, [r7, #28] + 8012e44: 687a ldr r2, [r7, #4] + 8012e46: 2110 movs r1, #16 + 8012e48: f64f 4075 movw r0, #64629 @ 0xfc75 + 8012e4c: f000 f920 bl 8013090 sizeof(SHCI_C2_CONFIG_Cmd_Param_t), (uint8_t*)pCmdPacket, p_rsp ); return (SHCI_CmdStatus_t)(((TL_CcEvt_t*)(p_rsp->evtserial.evt.payload))->payload[0]); - 8012454: 69fb ldr r3, [r7, #28] - 8012456: 330b adds r3, #11 - 8012458: 78db ldrb r3, [r3, #3] + 8012e50: 69fb ldr r3, [r7, #28] + 8012e52: 330b adds r3, #11 + 8012e54: 78db ldrb r3, [r3, #3] } - 801245a: 4618 mov r0, r3 - 801245c: 3720 adds r7, #32 - 801245e: 46bd mov sp, r7 - 8012460: bd80 pop {r7, pc} + 8012e56: 4618 mov r0, r3 + 8012e58: 3720 adds r7, #32 + 8012e5a: 46bd mov sp, r7 + 8012e5c: bd80 pop {r7, pc} ... -08012464 : +08012e60 : * Local System COMMAND * These commands are NOT sent to the CPU2 */ SHCI_CmdStatus_t SHCI_GetWirelessFwInfo( WirelessFwInfo_t* pWirelessInfo ) { - 8012464: b480 push {r7} - 8012466: b08b sub sp, #44 @ 0x2c - 8012468: af00 add r7, sp, #0 - 801246a: 6078 str r0, [r7, #4] + 8012e60: b480 push {r7} + 8012e62: b08b sub sp, #44 @ 0x2c + 8012e64: af00 add r7, sp, #0 + 8012e66: 6078 str r0, [r7, #4] uint32_t ipccdba = 0; - 801246c: 2300 movs r3, #0 - 801246e: 613b str r3, [r7, #16] + 8012e68: 2300 movs r3, #0 + 8012e6a: 613b str r3, [r7, #16] MB_RefTable_t * p_RefTable = NULL; - 8012470: 2300 movs r3, #0 - 8012472: 60fb str r3, [r7, #12] + 8012e6c: 2300 movs r3, #0 + 8012e6e: 60fb str r3, [r7, #12] uint32_t wireless_firmware_version = 0; - 8012474: 2300 movs r3, #0 - 8012476: 627b str r3, [r7, #36] @ 0x24 + 8012e70: 2300 movs r3, #0 + 8012e72: 627b str r3, [r7, #36] @ 0x24 uint32_t wireless_firmware_memorySize = 0; - 8012478: 2300 movs r3, #0 - 801247a: 623b str r3, [r7, #32] + 8012e74: 2300 movs r3, #0 + 8012e76: 623b str r3, [r7, #32] uint32_t wireless_firmware_infoStack = 0; - 801247c: 2300 movs r3, #0 - 801247e: 61fb str r3, [r7, #28] + 8012e78: 2300 movs r3, #0 + 8012e7a: 61fb str r3, [r7, #28] MB_FUS_DeviceInfoTable_t * p_fus_device_info_table = NULL; - 8012480: 2300 movs r3, #0 - 8012482: 60bb str r3, [r7, #8] + 8012e7c: 2300 movs r3, #0 + 8012e7e: 60bb str r3, [r7, #8] uint32_t fus_version = 0; - 8012484: 2300 movs r3, #0 - 8012486: 61bb str r3, [r7, #24] + 8012e80: 2300 movs r3, #0 + 8012e82: 61bb str r3, [r7, #24] uint32_t fus_memorySize = 0; - 8012488: 2300 movs r3, #0 - 801248a: 617b str r3, [r7, #20] + 8012e84: 2300 movs r3, #0 + 8012e86: 617b str r3, [r7, #20] ipccdba = READ_BIT( FLASH->IPCCBR, FLASH_IPCCBR_IPCCDBA ); - 801248c: 4b4a ldr r3, [pc, #296] @ (80125b8 ) - 801248e: 6bdb ldr r3, [r3, #60] @ 0x3c - 8012490: f3c3 030d ubfx r3, r3, #0, #14 - 8012494: 613b str r3, [r7, #16] + 8012e88: 4b4a ldr r3, [pc, #296] @ (8012fb4 ) + 8012e8a: 6bdb ldr r3, [r3, #60] @ 0x3c + 8012e8c: f3c3 030d ubfx r3, r3, #0, #14 + 8012e90: 613b str r3, [r7, #16] /** * The Device Info Table mapping depends on which firmware is running on CPU2. * If the FUS is running on CPU2, FUS_DEVICE_INFO_TABLE_VALIDITY_KEYWORD shall be written in the table. * Otherwise, it means the Wireless Firmware is running on the CPU2 */ p_fus_device_info_table = (MB_FUS_DeviceInfoTable_t*)(*(uint32_t*)((ipccdba<<2) + SRAM2A_BASE)); - 8012496: 693b ldr r3, [r7, #16] - 8012498: 009b lsls r3, r3, #2 - 801249a: f103 5300 add.w r3, r3, #536870912 @ 0x20000000 - 801249e: f503 3340 add.w r3, r3, #196608 @ 0x30000 - 80124a2: 681b ldr r3, [r3, #0] - 80124a4: 60bb str r3, [r7, #8] + 8012e92: 693b ldr r3, [r7, #16] + 8012e94: 009b lsls r3, r3, #2 + 8012e96: f103 5300 add.w r3, r3, #536870912 @ 0x20000000 + 8012e9a: f503 3340 add.w r3, r3, #196608 @ 0x30000 + 8012e9e: 681b ldr r3, [r3, #0] + 8012ea0: 60bb str r3, [r7, #8] if(p_fus_device_info_table->DeviceInfoTableState == FUS_DEVICE_INFO_TABLE_VALIDITY_KEYWORD) - 80124a6: 68bb ldr r3, [r7, #8] - 80124a8: 681b ldr r3, [r3, #0] - 80124aa: 4a44 ldr r2, [pc, #272] @ (80125bc ) - 80124ac: 4293 cmp r3, r2 - 80124ae: d10f bne.n 80124d0 + 8012ea2: 68bb ldr r3, [r7, #8] + 8012ea4: 681b ldr r3, [r3, #0] + 8012ea6: 4a44 ldr r2, [pc, #272] @ (8012fb8 ) + 8012ea8: 4293 cmp r3, r2 + 8012eaa: d10f bne.n 8012ecc /* The FUS is running on CPU2 */ /** * Retrieve the WirelessFwInfoTable * This table is stored in RAM at startup during the TL (transport layer) initialization */ wireless_firmware_version = p_fus_device_info_table->WirelessStackVersion; - 80124b0: 68bb ldr r3, [r7, #8] - 80124b2: 695b ldr r3, [r3, #20] - 80124b4: 627b str r3, [r7, #36] @ 0x24 + 8012eac: 68bb ldr r3, [r7, #8] + 8012eae: 695b ldr r3, [r3, #20] + 8012eb0: 627b str r3, [r7, #36] @ 0x24 wireless_firmware_memorySize = p_fus_device_info_table->WirelessStackMemorySize; - 80124b6: 68bb ldr r3, [r7, #8] - 80124b8: 699b ldr r3, [r3, #24] - 80124ba: 623b str r3, [r7, #32] + 8012eb2: 68bb ldr r3, [r7, #8] + 8012eb4: 699b ldr r3, [r3, #24] + 8012eb6: 623b str r3, [r7, #32] wireless_firmware_infoStack = p_fus_device_info_table->WirelessFirmwareBleInfo; - 80124bc: 68bb ldr r3, [r7, #8] - 80124be: 69db ldr r3, [r3, #28] - 80124c0: 61fb str r3, [r7, #28] + 8012eb8: 68bb ldr r3, [r7, #8] + 8012eba: 69db ldr r3, [r3, #28] + 8012ebc: 61fb str r3, [r7, #28] /** * Retrieve the FusInfoTable * This table is stored in RAM at startup during the TL (transport layer) initialization */ fus_version = p_fus_device_info_table->FusVersion; - 80124c2: 68bb ldr r3, [r7, #8] - 80124c4: 68db ldr r3, [r3, #12] - 80124c6: 61bb str r3, [r7, #24] + 8012ebe: 68bb ldr r3, [r7, #8] + 8012ec0: 68db ldr r3, [r3, #12] + 8012ec2: 61bb str r3, [r7, #24] fus_memorySize = p_fus_device_info_table->FusMemorySize; - 80124c8: 68bb ldr r3, [r7, #8] - 80124ca: 691b ldr r3, [r3, #16] - 80124cc: 617b str r3, [r7, #20] - 80124ce: e01a b.n 8012506 + 8012ec4: 68bb ldr r3, [r7, #8] + 8012ec6: 691b ldr r3, [r3, #16] + 8012ec8: 617b str r3, [r7, #20] + 8012eca: e01a b.n 8012f02 } else { /* The Wireless Firmware is running on CPU2 */ p_RefTable = (MB_RefTable_t*)((ipccdba<<2) + SRAM2A_BASE); - 80124d0: 693b ldr r3, [r7, #16] - 80124d2: 009b lsls r3, r3, #2 - 80124d4: f103 5300 add.w r3, r3, #536870912 @ 0x20000000 - 80124d8: f503 3340 add.w r3, r3, #196608 @ 0x30000 - 80124dc: 60fb str r3, [r7, #12] + 8012ecc: 693b ldr r3, [r7, #16] + 8012ece: 009b lsls r3, r3, #2 + 8012ed0: f103 5300 add.w r3, r3, #536870912 @ 0x20000000 + 8012ed4: f503 3340 add.w r3, r3, #196608 @ 0x30000 + 8012ed8: 60fb str r3, [r7, #12] /** * Retrieve the WirelessFwInfoTable * This table is stored in RAM at startup during the TL (transport layer) initialization */ wireless_firmware_version = p_RefTable->p_device_info_table->WirelessFwInfoTable.Version; - 80124de: 68fb ldr r3, [r7, #12] - 80124e0: 681b ldr r3, [r3, #0] - 80124e2: 691b ldr r3, [r3, #16] - 80124e4: 627b str r3, [r7, #36] @ 0x24 + 8012eda: 68fb ldr r3, [r7, #12] + 8012edc: 681b ldr r3, [r3, #0] + 8012ede: 691b ldr r3, [r3, #16] + 8012ee0: 627b str r3, [r7, #36] @ 0x24 wireless_firmware_memorySize = p_RefTable->p_device_info_table->WirelessFwInfoTable.MemorySize; - 80124e6: 68fb ldr r3, [r7, #12] - 80124e8: 681b ldr r3, [r3, #0] - 80124ea: 695b ldr r3, [r3, #20] - 80124ec: 623b str r3, [r7, #32] + 8012ee2: 68fb ldr r3, [r7, #12] + 8012ee4: 681b ldr r3, [r3, #0] + 8012ee6: 695b ldr r3, [r3, #20] + 8012ee8: 623b str r3, [r7, #32] wireless_firmware_infoStack = p_RefTable->p_device_info_table->WirelessFwInfoTable.InfoStack; - 80124ee: 68fb ldr r3, [r7, #12] - 80124f0: 681b ldr r3, [r3, #0] - 80124f2: 699b ldr r3, [r3, #24] - 80124f4: 61fb str r3, [r7, #28] + 8012eea: 68fb ldr r3, [r7, #12] + 8012eec: 681b ldr r3, [r3, #0] + 8012eee: 699b ldr r3, [r3, #24] + 8012ef0: 61fb str r3, [r7, #28] /** * Retrieve the FusInfoTable * This table is stored in RAM at startup during the TL (transport layer) initialization */ fus_version = p_RefTable->p_device_info_table->FusInfoTable.Version; - 80124f6: 68fb ldr r3, [r7, #12] - 80124f8: 681b ldr r3, [r3, #0] - 80124fa: 685b ldr r3, [r3, #4] - 80124fc: 61bb str r3, [r7, #24] + 8012ef2: 68fb ldr r3, [r7, #12] + 8012ef4: 681b ldr r3, [r3, #0] + 8012ef6: 685b ldr r3, [r3, #4] + 8012ef8: 61bb str r3, [r7, #24] fus_memorySize = p_RefTable->p_device_info_table->FusInfoTable.MemorySize; - 80124fe: 68fb ldr r3, [r7, #12] - 8012500: 681b ldr r3, [r3, #0] - 8012502: 689b ldr r3, [r3, #8] - 8012504: 617b str r3, [r7, #20] + 8012efa: 68fb ldr r3, [r7, #12] + 8012efc: 681b ldr r3, [r3, #0] + 8012efe: 689b ldr r3, [r3, #8] + 8012f00: 617b str r3, [r7, #20] /** * Retrieve the WirelessFwInfoTable * This table is stored in RAM at startup during the TL (transport layer) initialization */ pWirelessInfo->VersionMajor = ((wireless_firmware_version & INFO_VERSION_MAJOR_MASK) >> INFO_VERSION_MAJOR_OFFSET); - 8012506: 6a7b ldr r3, [r7, #36] @ 0x24 - 8012508: 0e1b lsrs r3, r3, #24 - 801250a: b2da uxtb r2, r3 - 801250c: 687b ldr r3, [r7, #4] - 801250e: 701a strb r2, [r3, #0] + 8012f02: 6a7b ldr r3, [r7, #36] @ 0x24 + 8012f04: 0e1b lsrs r3, r3, #24 + 8012f06: b2da uxtb r2, r3 + 8012f08: 687b ldr r3, [r7, #4] + 8012f0a: 701a strb r2, [r3, #0] pWirelessInfo->VersionMinor = ((wireless_firmware_version & INFO_VERSION_MINOR_MASK) >> INFO_VERSION_MINOR_OFFSET); - 8012510: 6a7b ldr r3, [r7, #36] @ 0x24 - 8012512: 0c1b lsrs r3, r3, #16 - 8012514: b2da uxtb r2, r3 - 8012516: 687b ldr r3, [r7, #4] - 8012518: 705a strb r2, [r3, #1] + 8012f0c: 6a7b ldr r3, [r7, #36] @ 0x24 + 8012f0e: 0c1b lsrs r3, r3, #16 + 8012f10: b2da uxtb r2, r3 + 8012f12: 687b ldr r3, [r7, #4] + 8012f14: 705a strb r2, [r3, #1] pWirelessInfo->VersionSub = ((wireless_firmware_version & INFO_VERSION_SUB_MASK) >> INFO_VERSION_SUB_OFFSET); - 801251a: 6a7b ldr r3, [r7, #36] @ 0x24 - 801251c: 0a1b lsrs r3, r3, #8 - 801251e: b2da uxtb r2, r3 - 8012520: 687b ldr r3, [r7, #4] - 8012522: 709a strb r2, [r3, #2] + 8012f16: 6a7b ldr r3, [r7, #36] @ 0x24 + 8012f18: 0a1b lsrs r3, r3, #8 + 8012f1a: b2da uxtb r2, r3 + 8012f1c: 687b ldr r3, [r7, #4] + 8012f1e: 709a strb r2, [r3, #2] pWirelessInfo->VersionBranch = ((wireless_firmware_version & INFO_VERSION_BRANCH_MASK) >> INFO_VERSION_BRANCH_OFFSET); - 8012524: 6a7b ldr r3, [r7, #36] @ 0x24 - 8012526: 091b lsrs r3, r3, #4 - 8012528: b2db uxtb r3, r3 - 801252a: f003 030f and.w r3, r3, #15 - 801252e: b2da uxtb r2, r3 - 8012530: 687b ldr r3, [r7, #4] - 8012532: 70da strb r2, [r3, #3] + 8012f20: 6a7b ldr r3, [r7, #36] @ 0x24 + 8012f22: 091b lsrs r3, r3, #4 + 8012f24: b2db uxtb r3, r3 + 8012f26: f003 030f and.w r3, r3, #15 + 8012f2a: b2da uxtb r2, r3 + 8012f2c: 687b ldr r3, [r7, #4] + 8012f2e: 70da strb r2, [r3, #3] pWirelessInfo->VersionReleaseType = ((wireless_firmware_version & INFO_VERSION_TYPE_MASK) >> INFO_VERSION_TYPE_OFFSET); - 8012534: 6a7b ldr r3, [r7, #36] @ 0x24 - 8012536: b2db uxtb r3, r3 - 8012538: f003 030f and.w r3, r3, #15 - 801253c: b2da uxtb r2, r3 - 801253e: 687b ldr r3, [r7, #4] - 8012540: 711a strb r2, [r3, #4] + 8012f30: 6a7b ldr r3, [r7, #36] @ 0x24 + 8012f32: b2db uxtb r3, r3 + 8012f34: f003 030f and.w r3, r3, #15 + 8012f38: b2da uxtb r2, r3 + 8012f3a: 687b ldr r3, [r7, #4] + 8012f3c: 711a strb r2, [r3, #4] pWirelessInfo->MemorySizeSram2B = ((wireless_firmware_memorySize & INFO_SIZE_SRAM2B_MASK) >> INFO_SIZE_SRAM2B_OFFSET); - 8012542: 6a3b ldr r3, [r7, #32] - 8012544: 0e1b lsrs r3, r3, #24 - 8012546: b2da uxtb r2, r3 - 8012548: 687b ldr r3, [r7, #4] - 801254a: 715a strb r2, [r3, #5] + 8012f3e: 6a3b ldr r3, [r7, #32] + 8012f40: 0e1b lsrs r3, r3, #24 + 8012f42: b2da uxtb r2, r3 + 8012f44: 687b ldr r3, [r7, #4] + 8012f46: 715a strb r2, [r3, #5] pWirelessInfo->MemorySizeSram2A = ((wireless_firmware_memorySize & INFO_SIZE_SRAM2A_MASK) >> INFO_SIZE_SRAM2A_OFFSET); - 801254c: 6a3b ldr r3, [r7, #32] - 801254e: 0c1b lsrs r3, r3, #16 - 8012550: b2da uxtb r2, r3 - 8012552: 687b ldr r3, [r7, #4] - 8012554: 719a strb r2, [r3, #6] + 8012f48: 6a3b ldr r3, [r7, #32] + 8012f4a: 0c1b lsrs r3, r3, #16 + 8012f4c: b2da uxtb r2, r3 + 8012f4e: 687b ldr r3, [r7, #4] + 8012f50: 719a strb r2, [r3, #6] pWirelessInfo->MemorySizeSram1 = ((wireless_firmware_memorySize & INFO_SIZE_SRAM1_MASK) >> INFO_SIZE_SRAM1_OFFSET); - 8012556: 6a3b ldr r3, [r7, #32] - 8012558: 0a1b lsrs r3, r3, #8 - 801255a: b2da uxtb r2, r3 - 801255c: 687b ldr r3, [r7, #4] - 801255e: 71da strb r2, [r3, #7] + 8012f52: 6a3b ldr r3, [r7, #32] + 8012f54: 0a1b lsrs r3, r3, #8 + 8012f56: b2da uxtb r2, r3 + 8012f58: 687b ldr r3, [r7, #4] + 8012f5a: 71da strb r2, [r3, #7] pWirelessInfo->MemorySizeFlash = ((wireless_firmware_memorySize & INFO_SIZE_FLASH_MASK) >> INFO_SIZE_FLASH_OFFSET); - 8012560: 6a3b ldr r3, [r7, #32] - 8012562: b2da uxtb r2, r3 - 8012564: 687b ldr r3, [r7, #4] - 8012566: 721a strb r2, [r3, #8] + 8012f5c: 6a3b ldr r3, [r7, #32] + 8012f5e: b2da uxtb r2, r3 + 8012f60: 687b ldr r3, [r7, #4] + 8012f62: 721a strb r2, [r3, #8] pWirelessInfo->StackType = ((wireless_firmware_infoStack & INFO_STACK_TYPE_MASK) >> INFO_STACK_TYPE_OFFSET); - 8012568: 69fb ldr r3, [r7, #28] - 801256a: b2da uxtb r2, r3 - 801256c: 687b ldr r3, [r7, #4] - 801256e: 725a strb r2, [r3, #9] + 8012f64: 69fb ldr r3, [r7, #28] + 8012f66: b2da uxtb r2, r3 + 8012f68: 687b ldr r3, [r7, #4] + 8012f6a: 725a strb r2, [r3, #9] /** * Retrieve the FusInfoTable * This table is stored in RAM at startup during the TL (transport layer) initialization */ pWirelessInfo->FusVersionMajor = ((fus_version & INFO_VERSION_MAJOR_MASK) >> INFO_VERSION_MAJOR_OFFSET); - 8012570: 69bb ldr r3, [r7, #24] - 8012572: 0e1b lsrs r3, r3, #24 - 8012574: b2da uxtb r2, r3 - 8012576: 687b ldr r3, [r7, #4] - 8012578: 729a strb r2, [r3, #10] + 8012f6c: 69bb ldr r3, [r7, #24] + 8012f6e: 0e1b lsrs r3, r3, #24 + 8012f70: b2da uxtb r2, r3 + 8012f72: 687b ldr r3, [r7, #4] + 8012f74: 729a strb r2, [r3, #10] pWirelessInfo->FusVersionMinor = ((fus_version & INFO_VERSION_MINOR_MASK) >> INFO_VERSION_MINOR_OFFSET); - 801257a: 69bb ldr r3, [r7, #24] - 801257c: 0c1b lsrs r3, r3, #16 - 801257e: b2da uxtb r2, r3 - 8012580: 687b ldr r3, [r7, #4] - 8012582: 72da strb r2, [r3, #11] + 8012f76: 69bb ldr r3, [r7, #24] + 8012f78: 0c1b lsrs r3, r3, #16 + 8012f7a: b2da uxtb r2, r3 + 8012f7c: 687b ldr r3, [r7, #4] + 8012f7e: 72da strb r2, [r3, #11] pWirelessInfo->FusVersionSub = ((fus_version & INFO_VERSION_SUB_MASK) >> INFO_VERSION_SUB_OFFSET); - 8012584: 69bb ldr r3, [r7, #24] - 8012586: 0a1b lsrs r3, r3, #8 - 8012588: b2da uxtb r2, r3 - 801258a: 687b ldr r3, [r7, #4] - 801258c: 731a strb r2, [r3, #12] + 8012f80: 69bb ldr r3, [r7, #24] + 8012f82: 0a1b lsrs r3, r3, #8 + 8012f84: b2da uxtb r2, r3 + 8012f86: 687b ldr r3, [r7, #4] + 8012f88: 731a strb r2, [r3, #12] pWirelessInfo->FusMemorySizeSram2B = ((fus_memorySize & INFO_SIZE_SRAM2B_MASK) >> INFO_SIZE_SRAM2B_OFFSET); - 801258e: 697b ldr r3, [r7, #20] - 8012590: 0e1b lsrs r3, r3, #24 - 8012592: b2da uxtb r2, r3 - 8012594: 687b ldr r3, [r7, #4] - 8012596: 735a strb r2, [r3, #13] + 8012f8a: 697b ldr r3, [r7, #20] + 8012f8c: 0e1b lsrs r3, r3, #24 + 8012f8e: b2da uxtb r2, r3 + 8012f90: 687b ldr r3, [r7, #4] + 8012f92: 735a strb r2, [r3, #13] pWirelessInfo->FusMemorySizeSram2A = ((fus_memorySize & INFO_SIZE_SRAM2A_MASK) >> INFO_SIZE_SRAM2A_OFFSET); - 8012598: 697b ldr r3, [r7, #20] - 801259a: 0c1b lsrs r3, r3, #16 - 801259c: b2da uxtb r2, r3 - 801259e: 687b ldr r3, [r7, #4] - 80125a0: 739a strb r2, [r3, #14] + 8012f94: 697b ldr r3, [r7, #20] + 8012f96: 0c1b lsrs r3, r3, #16 + 8012f98: b2da uxtb r2, r3 + 8012f9a: 687b ldr r3, [r7, #4] + 8012f9c: 739a strb r2, [r3, #14] pWirelessInfo->FusMemorySizeFlash = ((fus_memorySize & INFO_SIZE_FLASH_MASK) >> INFO_SIZE_FLASH_OFFSET); - 80125a2: 697b ldr r3, [r7, #20] - 80125a4: b2da uxtb r2, r3 - 80125a6: 687b ldr r3, [r7, #4] - 80125a8: 73da strb r2, [r3, #15] + 8012f9e: 697b ldr r3, [r7, #20] + 8012fa0: b2da uxtb r2, r3 + 8012fa2: 687b ldr r3, [r7, #4] + 8012fa4: 73da strb r2, [r3, #15] return (SHCI_Success); - 80125aa: 2300 movs r3, #0 + 8012fa6: 2300 movs r3, #0 } - 80125ac: 4618 mov r0, r3 - 80125ae: 372c adds r7, #44 @ 0x2c - 80125b0: 46bd mov sp, r7 - 80125b2: f85d 7b04 ldr.w r7, [sp], #4 - 80125b6: 4770 bx lr - 80125b8: 58004000 .word 0x58004000 - 80125bc: a94656b9 .word 0xa94656b9 + 8012fa8: 4618 mov r0, r3 + 8012faa: 372c adds r7, #44 @ 0x2c + 8012fac: 46bd mov sp, r7 + 8012fae: f85d 7b04 ldr.w r7, [sp], #4 + 8012fb2: 4770 bx lr + 8012fb4: 58004000 .word 0x58004000 + 8012fb8: a94656b9 .word 0xa94656b9 -080125c0 : +08012fbc : static void TlUserEvtReceived(TL_EvtPacket_t *shcievt); static void TlInit( TL_CmdPacket_t * p_cmdbuffer ); /* Interface ------- ---------------------------------------------------------*/ void shci_init(void(* UserEvtRx)(void* pData), void* pConf) { - 80125c0: b580 push {r7, lr} - 80125c2: b082 sub sp, #8 - 80125c4: af00 add r7, sp, #0 - 80125c6: 6078 str r0, [r7, #4] - 80125c8: 6039 str r1, [r7, #0] + 8012fbc: b580 push {r7, lr} + 8012fbe: b082 sub sp, #8 + 8012fc0: af00 add r7, sp, #0 + 8012fc2: 6078 str r0, [r7, #4] + 8012fc4: 6039 str r1, [r7, #0] StatusNotCallBackFunction = ((SHCI_TL_HciInitConf_t *)pConf)->StatusNotCallBack; - 80125ca: 683b ldr r3, [r7, #0] - 80125cc: 685b ldr r3, [r3, #4] - 80125ce: 4a08 ldr r2, [pc, #32] @ (80125f0 ) - 80125d0: 6013 str r3, [r2, #0] + 8012fc6: 683b ldr r3, [r7, #0] + 8012fc8: 685b ldr r3, [r3, #4] + 8012fca: 4a08 ldr r2, [pc, #32] @ (8012fec ) + 8012fcc: 6013 str r3, [r2, #0] shciContext.UserEvtRx = UserEvtRx; - 80125d2: 4a08 ldr r2, [pc, #32] @ (80125f4 ) - 80125d4: 687b ldr r3, [r7, #4] - 80125d6: 61d3 str r3, [r2, #28] + 8012fce: 4a08 ldr r2, [pc, #32] @ (8012ff0 ) + 8012fd0: 687b ldr r3, [r7, #4] + 8012fd2: 61d3 str r3, [r2, #28] shci_register_io_bus (&shciContext.io); - 80125d8: 4806 ldr r0, [pc, #24] @ (80125f4 ) - 80125da: f000 f915 bl 8012808 + 8012fd4: 4806 ldr r0, [pc, #24] @ (8012ff0 ) + 8012fd6: f000 f915 bl 8013204 TlInit((TL_CmdPacket_t *)(((SHCI_TL_HciInitConf_t *)pConf)->p_cmdbuffer)); - 80125de: 683b ldr r3, [r7, #0] - 80125e0: 681b ldr r3, [r3, #0] - 80125e2: 4618 mov r0, r3 - 80125e4: f000 f898 bl 8012718 + 8012fda: 683b ldr r3, [r7, #0] + 8012fdc: 681b ldr r3, [r3, #0] + 8012fde: 4618 mov r0, r3 + 8012fe0: f000 f898 bl 8013114 return; - 80125e8: bf00 nop + 8012fe4: bf00 nop } - 80125ea: 3708 adds r7, #8 - 80125ec: 46bd mov sp, r7 - 80125ee: bd80 pop {r7, pc} - 80125f0: 200007a8 .word 0x200007a8 - 80125f4: 20000788 .word 0x20000788 + 8012fe6: 3708 adds r7, #8 + 8012fe8: 46bd mov sp, r7 + 8012fea: bd80 pop {r7, pc} + 8012fec: 200007a8 .word 0x200007a8 + 8012ff0: 20000788 .word 0x20000788 -080125f8 : +08012ff4 : void shci_user_evt_proc(void) { - 80125f8: b580 push {r7, lr} - 80125fa: b084 sub sp, #16 - 80125fc: af00 add r7, sp, #0 + 8012ff4: b580 push {r7, lr} + 8012ff6: b084 sub sp, #16 + 8012ff8: af00 add r7, sp, #0 /** * It is more secure to use LST_remove_head()/LST_insert_head() compare to LST_get_next_node()/LST_remove_node() * in case the user overwrite the header where the next/prev pointers are located */ if((LST_is_empty(&SHciAsynchEventQueue) == FALSE) && (SHCI_TL_UserEventFlow != SHCI_TL_UserEventFlow_Disable)) - 80125fe: 4822 ldr r0, [pc, #136] @ (8012688 ) - 8012600: f000 fb52 bl 8012ca8 - 8012604: 4603 mov r3, r0 - 8012606: 2b00 cmp r3, #0 - 8012608: d12b bne.n 8012662 - 801260a: 4b20 ldr r3, [pc, #128] @ (801268c ) - 801260c: 781b ldrb r3, [r3, #0] - 801260e: 2b00 cmp r3, #0 - 8012610: d027 beq.n 8012662 + 8012ffa: 4822 ldr r0, [pc, #136] @ (8013084 ) + 8012ffc: f000 fb52 bl 80136a4 + 8013000: 4603 mov r3, r0 + 8013002: 2b00 cmp r3, #0 + 8013004: d12b bne.n 801305e + 8013006: 4b20 ldr r3, [pc, #128] @ (8013088 ) + 8013008: 781b ldrb r3, [r3, #0] + 801300a: 2b00 cmp r3, #0 + 801300c: d027 beq.n 801305e { LST_remove_head ( &SHciAsynchEventQueue, (tListNode **)&phcievtbuffer ); - 8012612: f107 030c add.w r3, r7, #12 - 8012616: 4619 mov r1, r3 - 8012618: 481b ldr r0, [pc, #108] @ (8012688 ) - 801261a: f000 fbd4 bl 8012dc6 + 801300e: f107 030c add.w r3, r7, #12 + 8013012: 4619 mov r1, r3 + 8013014: 481b ldr r0, [pc, #108] @ (8013084 ) + 8013016: f000 fbd4 bl 80137c2 if (shciContext.UserEvtRx != NULL) - 801261e: 4b1c ldr r3, [pc, #112] @ (8012690 ) - 8012620: 69db ldr r3, [r3, #28] - 8012622: 2b00 cmp r3, #0 - 8012624: d00c beq.n 8012640 + 801301a: 4b1c ldr r3, [pc, #112] @ (801308c ) + 801301c: 69db ldr r3, [r3, #28] + 801301e: 2b00 cmp r3, #0 + 8013020: d00c beq.n 801303c { UserEvtRxParam.pckt = phcievtbuffer; - 8012626: 68fb ldr r3, [r7, #12] - 8012628: 60bb str r3, [r7, #8] + 8013022: 68fb ldr r3, [r7, #12] + 8013024: 60bb str r3, [r7, #8] UserEvtRxParam.status = SHCI_TL_UserEventFlow_Enable; - 801262a: 2301 movs r3, #1 - 801262c: 713b strb r3, [r7, #4] + 8013026: 2301 movs r3, #1 + 8013028: 713b strb r3, [r7, #4] shciContext.UserEvtRx((void *)&UserEvtRxParam); - 801262e: 4b18 ldr r3, [pc, #96] @ (8012690 ) - 8012630: 69db ldr r3, [r3, #28] - 8012632: 1d3a adds r2, r7, #4 - 8012634: 4610 mov r0, r2 - 8012636: 4798 blx r3 + 801302a: 4b18 ldr r3, [pc, #96] @ (801308c ) + 801302c: 69db ldr r3, [r3, #28] + 801302e: 1d3a adds r2, r7, #4 + 8013030: 4610 mov r0, r2 + 8013032: 4798 blx r3 SHCI_TL_UserEventFlow = UserEvtRxParam.status; - 8012638: 793a ldrb r2, [r7, #4] - 801263a: 4b14 ldr r3, [pc, #80] @ (801268c ) - 801263c: 701a strb r2, [r3, #0] - 801263e: e002 b.n 8012646 + 8013034: 793a ldrb r2, [r7, #4] + 8013036: 4b14 ldr r3, [pc, #80] @ (8013088 ) + 8013038: 701a strb r2, [r3, #0] + 801303a: e002 b.n 8013042 } else { SHCI_TL_UserEventFlow = SHCI_TL_UserEventFlow_Enable; - 8012640: 4b12 ldr r3, [pc, #72] @ (801268c ) - 8012642: 2201 movs r2, #1 - 8012644: 701a strb r2, [r3, #0] + 801303c: 4b12 ldr r3, [pc, #72] @ (8013088 ) + 801303e: 2201 movs r2, #1 + 8013040: 701a strb r2, [r3, #0] } if(SHCI_TL_UserEventFlow != SHCI_TL_UserEventFlow_Disable) - 8012646: 4b11 ldr r3, [pc, #68] @ (801268c ) - 8012648: 781b ldrb r3, [r3, #0] - 801264a: 2b00 cmp r3, #0 - 801264c: d004 beq.n 8012658 + 8013042: 4b11 ldr r3, [pc, #68] @ (8013088 ) + 8013044: 781b ldrb r3, [r3, #0] + 8013046: 2b00 cmp r3, #0 + 8013048: d004 beq.n 8013054 { TL_MM_EvtDone( phcievtbuffer ); - 801264e: 68fb ldr r3, [r7, #12] - 8012650: 4618 mov r0, r3 - 8012652: f000 fa25 bl 8012aa0 - 8012656: e004 b.n 8012662 + 801304a: 68fb ldr r3, [r7, #12] + 801304c: 4618 mov r0, r3 + 801304e: f000 fa25 bl 801349c + 8013052: e004 b.n 801305e else { /** * put back the event in the queue */ LST_insert_head ( &SHciAsynchEventQueue, (tListNode *)phcievtbuffer ); - 8012658: 68fb ldr r3, [r7, #12] - 801265a: 4619 mov r1, r3 - 801265c: 480a ldr r0, [pc, #40] @ (8012688 ) - 801265e: f000 fb45 bl 8012cec + 8013054: 68fb ldr r3, [r7, #12] + 8013056: 4619 mov r1, r3 + 8013058: 480a ldr r0, [pc, #40] @ (8013084 ) + 801305a: f000 fb45 bl 80136e8 } } if((LST_is_empty(&SHciAsynchEventQueue) == FALSE) && (SHCI_TL_UserEventFlow != SHCI_TL_UserEventFlow_Disable)) - 8012662: 4809 ldr r0, [pc, #36] @ (8012688 ) - 8012664: f000 fb20 bl 8012ca8 - 8012668: 4603 mov r3, r0 - 801266a: 2b00 cmp r3, #0 - 801266c: d107 bne.n 801267e - 801266e: 4b07 ldr r3, [pc, #28] @ (801268c ) - 8012670: 781b ldrb r3, [r3, #0] - 8012672: 2b00 cmp r3, #0 - 8012674: d003 beq.n 801267e + 801305e: 4809 ldr r0, [pc, #36] @ (8013084 ) + 8013060: f000 fb20 bl 80136a4 + 8013064: 4603 mov r3, r0 + 8013066: 2b00 cmp r3, #0 + 8013068: d107 bne.n 801307a + 801306a: 4b07 ldr r3, [pc, #28] @ (8013088 ) + 801306c: 781b ldrb r3, [r3, #0] + 801306e: 2b00 cmp r3, #0 + 8013070: d003 beq.n 801307a { shci_notify_asynch_evt((void*) &SHciAsynchEventQueue); - 8012676: 4804 ldr r0, [pc, #16] @ (8012688 ) - 8012678: f7ef ff6e bl 8002558 + 8013072: 4804 ldr r0, [pc, #16] @ (8013084 ) + 8013074: f7ef faf6 bl 8002664 } return; - 801267c: bf00 nop - 801267e: bf00 nop + 8013078: bf00 nop + 801307a: bf00 nop } - 8012680: 3710 adds r7, #16 - 8012682: 46bd mov sp, r7 - 8012684: bd80 pop {r7, pc} - 8012686: bf00 nop - 8012688: 200002d8 .word 0x200002d8 - 801268c: 200002e8 .word 0x200002e8 - 8012690: 20000788 .word 0x20000788 + 801307c: 3710 adds r7, #16 + 801307e: 46bd mov sp, r7 + 8013080: bd80 pop {r7, pc} + 8013082: bf00 nop + 8013084: 200002d8 .word 0x200002d8 + 8013088: 200002e8 .word 0x200002e8 + 801308c: 20000788 .word 0x20000788 -08012694 : +08013090 : return; } void shci_send( uint16_t cmd_code, uint8_t len_cmd_payload, uint8_t * p_cmd_payload, TL_EvtPacket_t * p_rsp ) { - 8012694: b580 push {r7, lr} - 8012696: b084 sub sp, #16 - 8012698: af00 add r7, sp, #0 - 801269a: 60ba str r2, [r7, #8] - 801269c: 607b str r3, [r7, #4] - 801269e: 4603 mov r3, r0 - 80126a0: 81fb strh r3, [r7, #14] - 80126a2: 460b mov r3, r1 - 80126a4: 737b strb r3, [r7, #13] + 8013090: b580 push {r7, lr} + 8013092: b084 sub sp, #16 + 8013094: af00 add r7, sp, #0 + 8013096: 60ba str r2, [r7, #8] + 8013098: 607b str r3, [r7, #4] + 801309a: 4603 mov r3, r0 + 801309c: 81fb strh r3, [r7, #14] + 801309e: 460b mov r3, r1 + 80130a0: 737b strb r3, [r7, #13] Cmd_SetStatus(SHCI_TL_CmdBusy); - 80126a6: 2000 movs r0, #0 - 80126a8: f000 f868 bl 801277c + 80130a2: 2000 movs r0, #0 + 80130a4: f000 f868 bl 8013178 pCmdBuffer->cmdserial.cmd.cmdcode = cmd_code; - 80126ac: 4b17 ldr r3, [pc, #92] @ (801270c ) - 80126ae: 681b ldr r3, [r3, #0] - 80126b0: 89fa ldrh r2, [r7, #14] - 80126b2: f8a3 2009 strh.w r2, [r3, #9] + 80130a8: 4b17 ldr r3, [pc, #92] @ (8013108 ) + 80130aa: 681b ldr r3, [r3, #0] + 80130ac: 89fa ldrh r2, [r7, #14] + 80130ae: f8a3 2009 strh.w r2, [r3, #9] pCmdBuffer->cmdserial.cmd.plen = len_cmd_payload; - 80126b6: 4b15 ldr r3, [pc, #84] @ (801270c ) - 80126b8: 681b ldr r3, [r3, #0] - 80126ba: 7b7a ldrb r2, [r7, #13] - 80126bc: 72da strb r2, [r3, #11] + 80130b2: 4b15 ldr r3, [pc, #84] @ (8013108 ) + 80130b4: 681b ldr r3, [r3, #0] + 80130b6: 7b7a ldrb r2, [r7, #13] + 80130b8: 72da strb r2, [r3, #11] memcpy(pCmdBuffer->cmdserial.cmd.payload, p_cmd_payload, len_cmd_payload ); - 80126be: 4b13 ldr r3, [pc, #76] @ (801270c ) - 80126c0: 681b ldr r3, [r3, #0] - 80126c2: 330c adds r3, #12 - 80126c4: 7b7a ldrb r2, [r7, #13] - 80126c6: 68b9 ldr r1, [r7, #8] - 80126c8: 4618 mov r0, r3 - 80126ca: f007 faa2 bl 8019c12 + 80130ba: 4b13 ldr r3, [pc, #76] @ (8013108 ) + 80130bc: 681b ldr r3, [r3, #0] + 80130be: 330c adds r3, #12 + 80130c0: 7b7a ldrb r2, [r7, #13] + 80130c2: 68b9 ldr r1, [r7, #8] + 80130c4: 4618 mov r0, r3 + 80130c6: f007 f9fa bl 801a4be CmdRspStatusFlag = SHCI_TL_CMD_RESP_WAIT; - 80126ce: 4b10 ldr r3, [pc, #64] @ (8012710 ) - 80126d0: 2201 movs r2, #1 - 80126d2: 701a strb r2, [r3, #0] + 80130ca: 4b10 ldr r3, [pc, #64] @ (801310c ) + 80130cc: 2201 movs r2, #1 + 80130ce: 701a strb r2, [r3, #0] shciContext.io.Send(0,0); - 80126d4: 4b0f ldr r3, [pc, #60] @ (8012714 ) - 80126d6: 691b ldr r3, [r3, #16] - 80126d8: 2100 movs r1, #0 - 80126da: 2000 movs r0, #0 - 80126dc: 4798 blx r3 + 80130d0: 4b0f ldr r3, [pc, #60] @ (8013110 ) + 80130d2: 691b ldr r3, [r3, #16] + 80130d4: 2100 movs r1, #0 + 80130d6: 2000 movs r0, #0 + 80130d8: 4798 blx r3 shci_cmd_resp_wait(SHCI_TL_DEFAULT_TIMEOUT); - 80126de: f248 00e8 movw r0, #33000 @ 0x80e8 - 80126e2: f7ef ff59 bl 8002598 + 80130da: f248 00e8 movw r0, #33000 @ 0x80e8 + 80130de: f7ef fae1 bl 80026a4 /** * The command complete of a system command does not have the header * It starts immediately with the evtserial field */ memcpy( &(p_rsp->evtserial), pCmdBuffer, ((TL_EvtSerial_t*)pCmdBuffer)->evt.plen + TL_EVT_HDR_SIZE ); - 80126e6: 687b ldr r3, [r7, #4] - 80126e8: f103 0008 add.w r0, r3, #8 - 80126ec: 4b07 ldr r3, [pc, #28] @ (801270c ) - 80126ee: 6819 ldr r1, [r3, #0] - 80126f0: 4b06 ldr r3, [pc, #24] @ (801270c ) - 80126f2: 681b ldr r3, [r3, #0] - 80126f4: 789b ldrb r3, [r3, #2] - 80126f6: 3303 adds r3, #3 - 80126f8: 461a mov r2, r3 - 80126fa: f007 fa8a bl 8019c12 + 80130e2: 687b ldr r3, [r7, #4] + 80130e4: f103 0008 add.w r0, r3, #8 + 80130e8: 4b07 ldr r3, [pc, #28] @ (8013108 ) + 80130ea: 6819 ldr r1, [r3, #0] + 80130ec: 4b06 ldr r3, [pc, #24] @ (8013108 ) + 80130ee: 681b ldr r3, [r3, #0] + 80130f0: 789b ldrb r3, [r3, #2] + 80130f2: 3303 adds r3, #3 + 80130f4: 461a mov r2, r3 + 80130f6: f007 f9e2 bl 801a4be Cmd_SetStatus(SHCI_TL_CmdAvailable); - 80126fe: 2001 movs r0, #1 - 8012700: f000 f83c bl 801277c + 80130fa: 2001 movs r0, #1 + 80130fc: f000 f83c bl 8013178 return; - 8012704: bf00 nop + 8013100: bf00 nop } - 8012706: 3710 adds r7, #16 - 8012708: 46bd mov sp, r7 - 801270a: bd80 pop {r7, pc} - 801270c: 200002e4 .word 0x200002e4 - 8012710: 200007ac .word 0x200007ac - 8012714: 20000788 .word 0x20000788 + 8013102: 3710 adds r7, #16 + 8013104: 46bd mov sp, r7 + 8013106: bd80 pop {r7, pc} + 8013108: 200002e4 .word 0x200002e4 + 801310c: 200007ac .word 0x200007ac + 8013110: 20000788 .word 0x20000788 -08012718 : +08013114 : /* Private functions ---------------------------------------------------------*/ static void TlInit( TL_CmdPacket_t * p_cmdbuffer ) { - 8012718: b580 push {r7, lr} - 801271a: b086 sub sp, #24 - 801271c: af00 add r7, sp, #0 - 801271e: 6078 str r0, [r7, #4] + 8013114: b580 push {r7, lr} + 8013116: b086 sub sp, #24 + 8013118: af00 add r7, sp, #0 + 801311a: 6078 str r0, [r7, #4] TL_SYS_InitConf_t Conf; pCmdBuffer = p_cmdbuffer; - 8012720: 4a10 ldr r2, [pc, #64] @ (8012764 ) - 8012722: 687b ldr r3, [r7, #4] - 8012724: 6013 str r3, [r2, #0] + 801311c: 4a10 ldr r2, [pc, #64] @ (8013160 ) + 801311e: 687b ldr r3, [r7, #4] + 8013120: 6013 str r3, [r2, #0] LST_init_head (&SHciAsynchEventQueue); - 8012726: 4810 ldr r0, [pc, #64] @ (8012768 ) - 8012728: f000 faae bl 8012c88 + 8013122: 4810 ldr r0, [pc, #64] @ (8013164 ) + 8013124: f000 faae bl 8013684 Cmd_SetStatus(SHCI_TL_CmdAvailable); - 801272c: 2001 movs r0, #1 - 801272e: f000 f825 bl 801277c + 8013128: 2001 movs r0, #1 + 801312a: f000 f825 bl 8013178 SHCI_TL_UserEventFlow = SHCI_TL_UserEventFlow_Enable; - 8012732: 4b0e ldr r3, [pc, #56] @ (801276c ) - 8012734: 2201 movs r2, #1 - 8012736: 701a strb r2, [r3, #0] + 801312e: 4b0e ldr r3, [pc, #56] @ (8013168 ) + 8013130: 2201 movs r2, #1 + 8013132: 701a strb r2, [r3, #0] /* Initialize low level driver */ if (shciContext.io.Init) - 8012738: 4b0d ldr r3, [pc, #52] @ (8012770 ) - 801273a: 681b ldr r3, [r3, #0] - 801273c: 2b00 cmp r3, #0 - 801273e: d00c beq.n 801275a + 8013134: 4b0d ldr r3, [pc, #52] @ (801316c ) + 8013136: 681b ldr r3, [r3, #0] + 8013138: 2b00 cmp r3, #0 + 801313a: d00c beq.n 8013156 { Conf.p_cmdbuffer = (uint8_t *)p_cmdbuffer; - 8012740: 687b ldr r3, [r7, #4] - 8012742: 617b str r3, [r7, #20] + 801313c: 687b ldr r3, [r7, #4] + 801313e: 617b str r3, [r7, #20] Conf.IoBusCallBackCmdEvt = TlCmdEvtReceived; - 8012744: 4b0b ldr r3, [pc, #44] @ (8012774 ) - 8012746: 60fb str r3, [r7, #12] + 8013140: 4b0b ldr r3, [pc, #44] @ (8013170 ) + 8013142: 60fb str r3, [r7, #12] Conf.IoBusCallBackUserEvt = TlUserEvtReceived; - 8012748: 4b0b ldr r3, [pc, #44] @ (8012778 ) - 801274a: 613b str r3, [r7, #16] + 8013144: 4b0b ldr r3, [pc, #44] @ (8013174 ) + 8013146: 613b str r3, [r7, #16] shciContext.io.Init(&Conf); - 801274c: 4b08 ldr r3, [pc, #32] @ (8012770 ) - 801274e: 681b ldr r3, [r3, #0] - 8012750: f107 020c add.w r2, r7, #12 - 8012754: 4610 mov r0, r2 - 8012756: 4798 blx r3 + 8013148: 4b08 ldr r3, [pc, #32] @ (801316c ) + 801314a: 681b ldr r3, [r3, #0] + 801314c: f107 020c add.w r2, r7, #12 + 8013150: 4610 mov r0, r2 + 8013152: 4798 blx r3 } return; - 8012758: bf00 nop - 801275a: bf00 nop + 8013154: bf00 nop + 8013156: bf00 nop } - 801275c: 3718 adds r7, #24 - 801275e: 46bd mov sp, r7 - 8012760: bd80 pop {r7, pc} - 8012762: bf00 nop - 8012764: 200002e4 .word 0x200002e4 - 8012768: 200002d8 .word 0x200002d8 - 801276c: 200002e8 .word 0x200002e8 - 8012770: 20000788 .word 0x20000788 - 8012774: 080127cd .word 0x080127cd - 8012778: 080127e5 .word 0x080127e5 + 8013158: 3718 adds r7, #24 + 801315a: 46bd mov sp, r7 + 801315c: bd80 pop {r7, pc} + 801315e: bf00 nop + 8013160: 200002e4 .word 0x200002e4 + 8013164: 200002d8 .word 0x200002d8 + 8013168: 200002e8 .word 0x200002e8 + 801316c: 20000788 .word 0x20000788 + 8013170: 080131c9 .word 0x080131c9 + 8013174: 080131e1 .word 0x080131e1 -0801277c : +08013178 : static void Cmd_SetStatus(SHCI_TL_CmdStatus_t shcicmdstatus) { - 801277c: b580 push {r7, lr} - 801277e: b082 sub sp, #8 - 8012780: af00 add r7, sp, #0 - 8012782: 4603 mov r3, r0 - 8012784: 71fb strb r3, [r7, #7] + 8013178: b580 push {r7, lr} + 801317a: b082 sub sp, #8 + 801317c: af00 add r7, sp, #0 + 801317e: 4603 mov r3, r0 + 8013180: 71fb strb r3, [r7, #7] if(shcicmdstatus == SHCI_TL_CmdBusy) - 8012786: 79fb ldrb r3, [r7, #7] - 8012788: 2b00 cmp r3, #0 - 801278a: d10b bne.n 80127a4 + 8013182: 79fb ldrb r3, [r7, #7] + 8013184: 2b00 cmp r3, #0 + 8013186: d10b bne.n 80131a0 { if(StatusNotCallBackFunction != 0) - 801278c: 4b0d ldr r3, [pc, #52] @ (80127c4 ) - 801278e: 681b ldr r3, [r3, #0] - 8012790: 2b00 cmp r3, #0 - 8012792: d003 beq.n 801279c + 8013188: 4b0d ldr r3, [pc, #52] @ (80131c0 ) + 801318a: 681b ldr r3, [r3, #0] + 801318c: 2b00 cmp r3, #0 + 801318e: d003 beq.n 8013198 { StatusNotCallBackFunction( SHCI_TL_CmdBusy ); - 8012794: 4b0b ldr r3, [pc, #44] @ (80127c4 ) - 8012796: 681b ldr r3, [r3, #0] - 8012798: 2000 movs r0, #0 - 801279a: 4798 blx r3 + 8013190: 4b0b ldr r3, [pc, #44] @ (80131c0 ) + 8013192: 681b ldr r3, [r3, #0] + 8013194: 2000 movs r0, #0 + 8013196: 4798 blx r3 } SHCICmdStatus = SHCI_TL_CmdBusy; - 801279c: 4b0a ldr r3, [pc, #40] @ (80127c8 ) - 801279e: 2200 movs r2, #0 - 80127a0: 701a strb r2, [r3, #0] + 8013198: 4b0a ldr r3, [pc, #40] @ (80131c4 ) + 801319a: 2200 movs r2, #0 + 801319c: 701a strb r2, [r3, #0] { StatusNotCallBackFunction( SHCI_TL_CmdAvailable ); } } return; - 80127a2: e00b b.n 80127bc + 801319e: e00b b.n 80131b8 SHCICmdStatus = SHCI_TL_CmdAvailable; - 80127a4: 4b08 ldr r3, [pc, #32] @ (80127c8 ) - 80127a6: 2201 movs r2, #1 - 80127a8: 701a strb r2, [r3, #0] + 80131a0: 4b08 ldr r3, [pc, #32] @ (80131c4 ) + 80131a2: 2201 movs r2, #1 + 80131a4: 701a strb r2, [r3, #0] if(StatusNotCallBackFunction != 0) - 80127aa: 4b06 ldr r3, [pc, #24] @ (80127c4 ) - 80127ac: 681b ldr r3, [r3, #0] - 80127ae: 2b00 cmp r3, #0 - 80127b0: d004 beq.n 80127bc + 80131a6: 4b06 ldr r3, [pc, #24] @ (80131c0 ) + 80131a8: 681b ldr r3, [r3, #0] + 80131aa: 2b00 cmp r3, #0 + 80131ac: d004 beq.n 80131b8 StatusNotCallBackFunction( SHCI_TL_CmdAvailable ); - 80127b2: 4b04 ldr r3, [pc, #16] @ (80127c4 ) - 80127b4: 681b ldr r3, [r3, #0] - 80127b6: 2001 movs r0, #1 - 80127b8: 4798 blx r3 + 80131ae: 4b04 ldr r3, [pc, #16] @ (80131c0 ) + 80131b0: 681b ldr r3, [r3, #0] + 80131b2: 2001 movs r0, #1 + 80131b4: 4798 blx r3 return; - 80127ba: bf00 nop - 80127bc: bf00 nop + 80131b6: bf00 nop + 80131b8: bf00 nop } - 80127be: 3708 adds r7, #8 - 80127c0: 46bd mov sp, r7 - 80127c2: bd80 pop {r7, pc} - 80127c4: 200007a8 .word 0x200007a8 - 80127c8: 200002e0 .word 0x200002e0 + 80131ba: 3708 adds r7, #8 + 80131bc: 46bd mov sp, r7 + 80131be: bd80 pop {r7, pc} + 80131c0: 200007a8 .word 0x200007a8 + 80131c4: 200002e0 .word 0x200002e0 -080127cc : +080131c8 : static void TlCmdEvtReceived(TL_EvtPacket_t *shcievt) { - 80127cc: b580 push {r7, lr} - 80127ce: b082 sub sp, #8 - 80127d0: af00 add r7, sp, #0 - 80127d2: 6078 str r0, [r7, #4] + 80131c8: b580 push {r7, lr} + 80131ca: b082 sub sp, #8 + 80131cc: af00 add r7, sp, #0 + 80131ce: 6078 str r0, [r7, #4] (void)(shcievt); shci_cmd_resp_release(0); /**< Notify the application the Cmd response has been received */ - 80127d4: 2000 movs r0, #0 - 80127d6: f7ef fecf bl 8002578 + 80131d0: 2000 movs r0, #0 + 80131d2: f7ef fa57 bl 8002684 return; - 80127da: bf00 nop + 80131d6: bf00 nop } - 80127dc: 3708 adds r7, #8 - 80127de: 46bd mov sp, r7 - 80127e0: bd80 pop {r7, pc} + 80131d8: 3708 adds r7, #8 + 80131da: 46bd mov sp, r7 + 80131dc: bd80 pop {r7, pc} ... -080127e4 : +080131e0 : static void TlUserEvtReceived(TL_EvtPacket_t *shcievt) { - 80127e4: b580 push {r7, lr} - 80127e6: b082 sub sp, #8 - 80127e8: af00 add r7, sp, #0 - 80127ea: 6078 str r0, [r7, #4] + 80131e0: b580 push {r7, lr} + 80131e2: b082 sub sp, #8 + 80131e4: af00 add r7, sp, #0 + 80131e6: 6078 str r0, [r7, #4] LST_insert_tail(&SHciAsynchEventQueue, (tListNode *)shcievt); - 80127ec: 6879 ldr r1, [r7, #4] - 80127ee: 4805 ldr r0, [pc, #20] @ (8012804 ) - 80127f0: f000 faa2 bl 8012d38 + 80131e8: 6879 ldr r1, [r7, #4] + 80131ea: 4805 ldr r0, [pc, #20] @ (8013200 ) + 80131ec: f000 faa2 bl 8013734 shci_notify_asynch_evt((void*) &SHciAsynchEventQueue); /**< Notify the application a full HCI event has been received */ - 80127f4: 4803 ldr r0, [pc, #12] @ (8012804 ) - 80127f6: f7ef feaf bl 8002558 + 80131f0: 4803 ldr r0, [pc, #12] @ (8013200 ) + 80131f2: f7ef fa37 bl 8002664 return; - 80127fa: bf00 nop + 80131f6: bf00 nop } - 80127fc: 3708 adds r7, #8 - 80127fe: 46bd mov sp, r7 - 8012800: bd80 pop {r7, pc} - 8012802: bf00 nop - 8012804: 200002d8 .word 0x200002d8 + 80131f8: 3708 adds r7, #8 + 80131fa: 46bd mov sp, r7 + 80131fc: bd80 pop {r7, pc} + 80131fe: bf00 nop + 8013200: 200002d8 .word 0x200002d8 -08012808 : +08013204 : #include "shci_tl.h" #include "tl.h" void shci_register_io_bus(tSHciIO* fops) { - 8012808: b480 push {r7} - 801280a: b083 sub sp, #12 - 801280c: af00 add r7, sp, #0 - 801280e: 6078 str r0, [r7, #4] + 8013204: b480 push {r7} + 8013206: b083 sub sp, #12 + 8013208: af00 add r7, sp, #0 + 801320a: 6078 str r0, [r7, #4] /* Register IO bus services */ fops->Init = TL_SYS_Init; - 8012810: 687b ldr r3, [r7, #4] - 8012812: 4a05 ldr r2, [pc, #20] @ (8012828 ) - 8012814: 601a str r2, [r3, #0] + 801320c: 687b ldr r3, [r7, #4] + 801320e: 4a05 ldr r2, [pc, #20] @ (8013224 ) + 8013210: 601a str r2, [r3, #0] fops->Send = TL_SYS_SendCmd; - 8012816: 687b ldr r3, [r7, #4] - 8012818: 4a04 ldr r2, [pc, #16] @ (801282c ) - 801281a: 611a str r2, [r3, #16] + 8013212: 687b ldr r3, [r7, #4] + 8013214: 4a04 ldr r2, [pc, #16] @ (8013228 ) + 8013216: 611a str r2, [r3, #16] return; - 801281c: bf00 nop + 8013218: bf00 nop } - 801281e: 370c adds r7, #12 - 8012820: 46bd mov sp, r7 - 8012822: f85d 7b04 ldr.w r7, [sp], #4 - 8012826: 4770 bx lr - 8012828: 0801292d .word 0x0801292d - 801282c: 08012981 .word 0x08012981 + 801321a: 370c adds r7, #12 + 801321c: 46bd mov sp, r7 + 801321e: f85d 7b04 ldr.w r7, [sp], #4 + 8013222: 4770 bx lr + 8013224: 08013329 .word 0x08013329 + 8013228: 0801337d .word 0x0801337d -08012830 : +0801322c : /****************************************************************************** * GENERAL - refer to AN5289 for functions description. ******************************************************************************/ void TL_Enable( void ) { - 8012830: b580 push {r7, lr} - 8012832: af00 add r7, sp, #0 + 801322c: b580 push {r7, lr} + 801322e: af00 add r7, sp, #0 HW_IPCC_Enable(); - 8012834: f005 fa0e bl 8017c54 + 8013230: f005 f9f8 bl 8018624 return; - 8012838: bf00 nop + 8013234: bf00 nop } - 801283a: bd80 pop {r7, pc} + 8013236: bd80 pop {r7, pc} -0801283c : +08013238 : void TL_Init( void ) { - 801283c: b580 push {r7, lr} - 801283e: af00 add r7, sp, #0 + 8013238: b580 push {r7, lr} + 801323a: af00 add r7, sp, #0 TL_RefTable.p_device_info_table = &TL_DeviceInfoTable; - 8012840: 4b10 ldr r3, [pc, #64] @ (8012884 ) - 8012842: 4a11 ldr r2, [pc, #68] @ (8012888 ) - 8012844: 601a str r2, [r3, #0] + 801323c: 4b10 ldr r3, [pc, #64] @ (8013280 ) + 801323e: 4a11 ldr r2, [pc, #68] @ (8013284 ) + 8013240: 601a str r2, [r3, #0] TL_RefTable.p_ble_table = &TL_BleTable; - 8012846: 4b0f ldr r3, [pc, #60] @ (8012884 ) - 8012848: 4a10 ldr r2, [pc, #64] @ (801288c ) - 801284a: 605a str r2, [r3, #4] + 8013242: 4b0f ldr r3, [pc, #60] @ (8013280 ) + 8013244: 4a10 ldr r2, [pc, #64] @ (8013288 ) + 8013246: 605a str r2, [r3, #4] TL_RefTable.p_thread_table = &TL_ThreadTable; - 801284c: 4b0d ldr r3, [pc, #52] @ (8012884 ) - 801284e: 4a10 ldr r2, [pc, #64] @ (8012890 ) - 8012850: 609a str r2, [r3, #8] + 8013248: 4b0d ldr r3, [pc, #52] @ (8013280 ) + 801324a: 4a10 ldr r2, [pc, #64] @ (801328c ) + 801324c: 609a str r2, [r3, #8] TL_RefTable.p_lld_tests_table = &TL_LldTestsTable; - 8012852: 4b0c ldr r3, [pc, #48] @ (8012884 ) - 8012854: 4a0f ldr r2, [pc, #60] @ (8012894 ) - 8012856: 621a str r2, [r3, #32] + 801324e: 4b0c ldr r3, [pc, #48] @ (8013280 ) + 8013250: 4a0f ldr r2, [pc, #60] @ (8013290 ) + 8013252: 621a str r2, [r3, #32] TL_RefTable.p_ble_lld_table = &TL_BleLldTable; - 8012858: 4b0a ldr r3, [pc, #40] @ (8012884 ) - 801285a: 4a0f ldr r2, [pc, #60] @ (8012898 ) - 801285c: 625a str r2, [r3, #36] @ 0x24 + 8013254: 4b0a ldr r3, [pc, #40] @ (8013280 ) + 8013256: 4a0f ldr r2, [pc, #60] @ (8013294 ) + 8013258: 625a str r2, [r3, #36] @ 0x24 TL_RefTable.p_sys_table = &TL_SysTable; - 801285e: 4b09 ldr r3, [pc, #36] @ (8012884 ) - 8012860: 4a0e ldr r2, [pc, #56] @ (801289c ) - 8012862: 60da str r2, [r3, #12] + 801325a: 4b09 ldr r3, [pc, #36] @ (8013280 ) + 801325c: 4a0e ldr r2, [pc, #56] @ (8013298 ) + 801325e: 60da str r2, [r3, #12] TL_RefTable.p_mem_manager_table = &TL_MemManagerTable; - 8012864: 4b07 ldr r3, [pc, #28] @ (8012884 ) - 8012866: 4a0e ldr r2, [pc, #56] @ (80128a0 ) - 8012868: 611a str r2, [r3, #16] + 8013260: 4b07 ldr r3, [pc, #28] @ (8013280 ) + 8013262: 4a0e ldr r2, [pc, #56] @ (801329c ) + 8013264: 611a str r2, [r3, #16] TL_RefTable.p_traces_table = &TL_TracesTable; - 801286a: 4b06 ldr r3, [pc, #24] @ (8012884 ) - 801286c: 4a0d ldr r2, [pc, #52] @ (80128a4 ) - 801286e: 615a str r2, [r3, #20] + 8013266: 4b06 ldr r3, [pc, #24] @ (8013280 ) + 8013268: 4a0d ldr r2, [pc, #52] @ (80132a0 ) + 801326a: 615a str r2, [r3, #20] TL_RefTable.p_mac_802_15_4_table = &TL_Mac_802_15_4_Table; - 8012870: 4b04 ldr r3, [pc, #16] @ (8012884 ) - 8012872: 4a0d ldr r2, [pc, #52] @ (80128a8 ) - 8012874: 619a str r2, [r3, #24] + 801326c: 4b04 ldr r3, [pc, #16] @ (8013280 ) + 801326e: 4a0d ldr r2, [pc, #52] @ (80132a4 ) + 8013270: 619a str r2, [r3, #24] TL_RefTable.p_zigbee_table = &TL_Zigbee_Table; - 8012876: 4b03 ldr r3, [pc, #12] @ (8012884 ) - 8012878: 4a0c ldr r2, [pc, #48] @ (80128ac ) - 801287a: 61da str r2, [r3, #28] + 8013272: 4b03 ldr r3, [pc, #12] @ (8013280 ) + 8013274: 4a0c ldr r2, [pc, #48] @ (80132a8 ) + 8013276: 61da str r2, [r3, #28] HW_IPCC_Init(); - 801287c: f005 f9fe bl 8017c7c + 8013278: f005 f9e8 bl 801864c return; - 8012880: bf00 nop + 801327c: bf00 nop } - 8012882: bd80 pop {r7, pc} - 8012884: 20030000 .word 0x20030000 - 8012888: 20030028 .word 0x20030028 - 801288c: 20030048 .word 0x20030048 - 8012890: 20030058 .word 0x20030058 - 8012894: 20030068 .word 0x20030068 - 8012898: 20030070 .word 0x20030070 - 801289c: 20030078 .word 0x20030078 - 80128a0: 20030080 .word 0x20030080 - 80128a4: 2003009c .word 0x2003009c - 80128a8: 200300a0 .word 0x200300a0 - 80128ac: 200300ac .word 0x200300ac + 801327e: bd80 pop {r7, pc} + 8013280: 20030000 .word 0x20030000 + 8013284: 20030028 .word 0x20030028 + 8013288: 20030048 .word 0x20030048 + 801328c: 20030058 .word 0x20030058 + 8013290: 20030068 .word 0x20030068 + 8013294: 20030070 .word 0x20030070 + 8013298: 20030078 .word 0x20030078 + 801329c: 20030080 .word 0x20030080 + 80132a0: 2003009c .word 0x2003009c + 80132a4: 200300a0 .word 0x200300a0 + 80132a8: 200300ac .word 0x200300ac -080128b0 : +080132ac : return 0; } void HW_IPCC_BLE_RxEvtNot(void) { - 80128b0: b580 push {r7, lr} - 80128b2: b082 sub sp, #8 - 80128b4: af00 add r7, sp, #0 + 80132ac: b580 push {r7, lr} + 80132ae: b082 sub sp, #8 + 80132b0: af00 add r7, sp, #0 TL_EvtPacket_t *phcievt; while(LST_is_empty(&EvtQueue) == FALSE) - 80128b6: e01c b.n 80128f2 + 80132b2: e01c b.n 80132ee { LST_remove_head (&EvtQueue, (tListNode **)&phcievt); - 80128b8: 1d3b adds r3, r7, #4 - 80128ba: 4619 mov r1, r3 - 80128bc: 4812 ldr r0, [pc, #72] @ (8012908 ) - 80128be: f000 fa82 bl 8012dc6 + 80132b4: 1d3b adds r3, r7, #4 + 80132b6: 4619 mov r1, r3 + 80132b8: 4812 ldr r0, [pc, #72] @ (8013304 ) + 80132ba: f000 fa82 bl 80137c2 if ( ((phcievt->evtserial.evt.evtcode) == TL_BLEEVT_CS_OPCODE) || ((phcievt->evtserial.evt.evtcode) == TL_BLEEVT_CC_OPCODE ) ) - 80128c2: 687b ldr r3, [r7, #4] - 80128c4: 7a5b ldrb r3, [r3, #9] - 80128c6: 2b0f cmp r3, #15 - 80128c8: d003 beq.n 80128d2 - 80128ca: 687b ldr r3, [r7, #4] - 80128cc: 7a5b ldrb r3, [r3, #9] - 80128ce: 2b0e cmp r3, #14 - 80128d0: d105 bne.n 80128de + 80132be: 687b ldr r3, [r7, #4] + 80132c0: 7a5b ldrb r3, [r3, #9] + 80132c2: 2b0f cmp r3, #15 + 80132c4: d003 beq.n 80132ce + 80132c6: 687b ldr r3, [r7, #4] + 80132c8: 7a5b ldrb r3, [r3, #9] + 80132ca: 2b0e cmp r3, #14 + 80132cc: d105 bne.n 80132da { OutputDbgTrace(TL_MB_BLE_CMD_RSP, (uint8_t*)phcievt); - 80128d2: 687b ldr r3, [r7, #4] - 80128d4: 4619 mov r1, r3 - 80128d6: 2002 movs r0, #2 - 80128d8: f000 f950 bl 8012b7c - 80128dc: e004 b.n 80128e8 + 80132ce: 687b ldr r3, [r7, #4] + 80132d0: 4619 mov r1, r3 + 80132d2: 2002 movs r0, #2 + 80132d4: f000 f950 bl 8013578 + 80132d8: e004 b.n 80132e4 } else { OutputDbgTrace(TL_MB_BLE_ASYNCH_EVT, (uint8_t*)phcievt); - 80128de: 687b ldr r3, [r7, #4] - 80128e0: 4619 mov r1, r3 - 80128e2: 2005 movs r0, #5 - 80128e4: f000 f94a bl 8012b7c + 80132da: 687b ldr r3, [r7, #4] + 80132dc: 4619 mov r1, r3 + 80132de: 2005 movs r0, #5 + 80132e0: f000 f94a bl 8013578 } BLE_IoBusEvtCallBackFunction(phcievt); - 80128e8: 4b08 ldr r3, [pc, #32] @ (801290c ) - 80128ea: 681b ldr r3, [r3, #0] - 80128ec: 687a ldr r2, [r7, #4] - 80128ee: 4610 mov r0, r2 - 80128f0: 4798 blx r3 + 80132e4: 4b08 ldr r3, [pc, #32] @ (8013308 ) + 80132e6: 681b ldr r3, [r3, #0] + 80132e8: 687a ldr r2, [r7, #4] + 80132ea: 4610 mov r0, r2 + 80132ec: 4798 blx r3 while(LST_is_empty(&EvtQueue) == FALSE) - 80128f2: 4805 ldr r0, [pc, #20] @ (8012908 ) - 80128f4: f000 f9d8 bl 8012ca8 - 80128f8: 4603 mov r3, r0 - 80128fa: 2b00 cmp r3, #0 - 80128fc: d0dc beq.n 80128b8 + 80132ee: 4805 ldr r0, [pc, #20] @ (8013304 ) + 80132f0: f000 f9d8 bl 80136a4 + 80132f4: 4603 mov r3, r0 + 80132f6: 2b00 cmp r3, #0 + 80132f8: d0dc beq.n 80132b4 } return; - 80128fe: bf00 nop + 80132fa: bf00 nop } - 8012900: 3708 adds r7, #8 - 8012902: 46bd mov sp, r7 - 8012904: bd80 pop {r7, pc} - 8012906: bf00 nop - 8012908: 200300c8 .word 0x200300c8 - 801290c: 200007b8 .word 0x200007b8 + 80132fc: 3708 adds r7, #8 + 80132fe: 46bd mov sp, r7 + 8013300: bd80 pop {r7, pc} + 8013302: bf00 nop + 8013304: 200300c8 .word 0x200300c8 + 8013308: 200007b8 .word 0x200007b8 -08012910 : +0801330c : return 0; } void HW_IPCC_BLE_AclDataAckNot(void) { - 8012910: b580 push {r7, lr} - 8012912: af00 add r7, sp, #0 + 801330c: b580 push {r7, lr} + 801330e: af00 add r7, sp, #0 OutputDbgTrace(TL_MB_ACL_DATA_RSP, (uint8_t*)NULL); - 8012914: 2100 movs r1, #0 - 8012916: 2004 movs r0, #4 - 8012918: f000 f930 bl 8012b7c + 8013310: 2100 movs r1, #0 + 8013312: 2004 movs r0, #4 + 8013314: f000 f930 bl 8013578 BLE_IoBusAclDataTxAck( ); - 801291c: 4b02 ldr r3, [pc, #8] @ (8012928 ) - 801291e: 681b ldr r3, [r3, #0] - 8012920: 4798 blx r3 + 8013318: 4b02 ldr r3, [pc, #8] @ (8013324 ) + 801331a: 681b ldr r3, [r3, #0] + 801331c: 4798 blx r3 return; - 8012922: bf00 nop + 801331e: bf00 nop } - 8012924: bd80 pop {r7, pc} - 8012926: bf00 nop - 8012928: 200007bc .word 0x200007bc + 8013320: bd80 pop {r7, pc} + 8013322: bf00 nop + 8013324: 200007bc .word 0x200007bc -0801292c : +08013328 : /****************************************************************************** * SYSTEM ******************************************************************************/ int32_t TL_SYS_Init( void* pConf ) { - 801292c: b580 push {r7, lr} - 801292e: b084 sub sp, #16 - 8012930: af00 add r7, sp, #0 - 8012932: 6078 str r0, [r7, #4] + 8013328: b580 push {r7, lr} + 801332a: b084 sub sp, #16 + 801332c: af00 add r7, sp, #0 + 801332e: 6078 str r0, [r7, #4] MB_SysTable_t * p_systable; TL_SYS_InitConf_t *pInitHciConf = (TL_SYS_InitConf_t *) pConf; - 8012934: 687b ldr r3, [r7, #4] - 8012936: 60fb str r3, [r7, #12] + 8013330: 687b ldr r3, [r7, #4] + 8013332: 60fb str r3, [r7, #12] LST_init_head (&SystemEvtQueue); - 8012938: 480d ldr r0, [pc, #52] @ (8012970 ) - 801293a: f000 f9a5 bl 8012c88 + 8013334: 480d ldr r0, [pc, #52] @ (801336c ) + 8013336: f000 f9a5 bl 8013684 p_systable = TL_RefTable.p_sys_table; - 801293e: 4b0d ldr r3, [pc, #52] @ (8012974 ) - 8012940: 68db ldr r3, [r3, #12] - 8012942: 60bb str r3, [r7, #8] + 801333a: 4b0d ldr r3, [pc, #52] @ (8013370 ) + 801333c: 68db ldr r3, [r3, #12] + 801333e: 60bb str r3, [r7, #8] p_systable->pcmd_buffer = pInitHciConf->p_cmdbuffer; - 8012944: 68fb ldr r3, [r7, #12] - 8012946: 689a ldr r2, [r3, #8] - 8012948: 68bb ldr r3, [r7, #8] - 801294a: 601a str r2, [r3, #0] + 8013340: 68fb ldr r3, [r7, #12] + 8013342: 689a ldr r2, [r3, #8] + 8013344: 68bb ldr r3, [r7, #8] + 8013346: 601a str r2, [r3, #0] p_systable->sys_queue = (uint8_t*)&SystemEvtQueue; - 801294c: 68bb ldr r3, [r7, #8] - 801294e: 4a08 ldr r2, [pc, #32] @ (8012970 ) - 8012950: 605a str r2, [r3, #4] + 8013348: 68bb ldr r3, [r7, #8] + 801334a: 4a08 ldr r2, [pc, #32] @ (801336c ) + 801334c: 605a str r2, [r3, #4] HW_IPCC_SYS_Init(); - 8012952: f005 f9d1 bl 8017cf8 + 801334e: f005 f9bb bl 80186c8 SYS_CMD_IoBusCallBackFunction = pInitHciConf->IoBusCallBackCmdEvt; - 8012956: 68fb ldr r3, [r7, #12] - 8012958: 681b ldr r3, [r3, #0] - 801295a: 4a07 ldr r2, [pc, #28] @ (8012978 ) - 801295c: 6013 str r3, [r2, #0] + 8013352: 68fb ldr r3, [r7, #12] + 8013354: 681b ldr r3, [r3, #0] + 8013356: 4a07 ldr r2, [pc, #28] @ (8013374 ) + 8013358: 6013 str r3, [r2, #0] SYS_EVT_IoBusCallBackFunction = pInitHciConf->IoBusCallBackUserEvt; - 801295e: 68fb ldr r3, [r7, #12] - 8012960: 685b ldr r3, [r3, #4] - 8012962: 4a06 ldr r2, [pc, #24] @ (801297c ) - 8012964: 6013 str r3, [r2, #0] + 801335a: 68fb ldr r3, [r7, #12] + 801335c: 685b ldr r3, [r3, #4] + 801335e: 4a06 ldr r2, [pc, #24] @ (8013378 ) + 8013360: 6013 str r3, [r2, #0] return 0; - 8012966: 2300 movs r3, #0 + 8013362: 2300 movs r3, #0 } - 8012968: 4618 mov r0, r3 - 801296a: 3710 adds r7, #16 - 801296c: 46bd mov sp, r7 - 801296e: bd80 pop {r7, pc} - 8012970: 200300d0 .word 0x200300d0 - 8012974: 20030000 .word 0x20030000 - 8012978: 200007c0 .word 0x200007c0 - 801297c: 200007c4 .word 0x200007c4 + 8013364: 4618 mov r0, r3 + 8013366: 3710 adds r7, #16 + 8013368: 46bd mov sp, r7 + 801336a: bd80 pop {r7, pc} + 801336c: 200300d0 .word 0x200300d0 + 8013370: 20030000 .word 0x20030000 + 8013374: 200007c0 .word 0x200007c0 + 8013378: 200007c4 .word 0x200007c4 -08012980 : +0801337c : int32_t TL_SYS_SendCmd( uint8_t* buffer, uint16_t size ) { - 8012980: b580 push {r7, lr} - 8012982: b082 sub sp, #8 - 8012984: af00 add r7, sp, #0 - 8012986: 6078 str r0, [r7, #4] - 8012988: 460b mov r3, r1 - 801298a: 807b strh r3, [r7, #2] + 801337c: b580 push {r7, lr} + 801337e: b082 sub sp, #8 + 8013380: af00 add r7, sp, #0 + 8013382: 6078 str r0, [r7, #4] + 8013384: 460b mov r3, r1 + 8013386: 807b strh r3, [r7, #2] (void)(buffer); (void)(size); ((TL_CmdPacket_t *)(TL_RefTable.p_sys_table->pcmd_buffer))->cmdserial.type = TL_SYSCMD_PKT_TYPE; - 801298c: 4b09 ldr r3, [pc, #36] @ (80129b4 ) - 801298e: 68db ldr r3, [r3, #12] - 8012990: 681b ldr r3, [r3, #0] - 8012992: 2210 movs r2, #16 - 8012994: 721a strb r2, [r3, #8] + 8013388: 4b09 ldr r3, [pc, #36] @ (80133b0 ) + 801338a: 68db ldr r3, [r3, #12] + 801338c: 681b ldr r3, [r3, #0] + 801338e: 2210 movs r2, #16 + 8013390: 721a strb r2, [r3, #8] OutputDbgTrace(TL_MB_SYS_CMD, TL_RefTable.p_sys_table->pcmd_buffer); - 8012996: 4b07 ldr r3, [pc, #28] @ (80129b4 ) - 8012998: 68db ldr r3, [r3, #12] - 801299a: 681b ldr r3, [r3, #0] - 801299c: 4619 mov r1, r3 - 801299e: 2006 movs r0, #6 - 80129a0: f000 f8ec bl 8012b7c + 8013392: 4b07 ldr r3, [pc, #28] @ (80133b0 ) + 8013394: 68db ldr r3, [r3, #12] + 8013396: 681b ldr r3, [r3, #0] + 8013398: 4619 mov r1, r3 + 801339a: 2006 movs r0, #6 + 801339c: f000 f8ec bl 8013578 HW_IPCC_SYS_SendCmd(); - 80129a4: f005 f9c2 bl 8017d2c + 80133a0: f005 f9ac bl 80186fc return 0; - 80129a8: 2300 movs r3, #0 + 80133a4: 2300 movs r3, #0 } - 80129aa: 4618 mov r0, r3 - 80129ac: 3708 adds r7, #8 - 80129ae: 46bd mov sp, r7 - 80129b0: bd80 pop {r7, pc} - 80129b2: bf00 nop - 80129b4: 20030000 .word 0x20030000 + 80133a6: 4618 mov r0, r3 + 80133a8: 3708 adds r7, #8 + 80133aa: 46bd mov sp, r7 + 80133ac: bd80 pop {r7, pc} + 80133ae: bf00 nop + 80133b0: 20030000 .word 0x20030000 -080129b8 : +080133b4 : void HW_IPCC_SYS_CmdEvtNot(void) { - 80129b8: b580 push {r7, lr} - 80129ba: af00 add r7, sp, #0 + 80133b4: b580 push {r7, lr} + 80133b6: af00 add r7, sp, #0 OutputDbgTrace(TL_MB_SYS_CMD_RSP, (uint8_t*)(TL_RefTable.p_sys_table->pcmd_buffer) ); - 80129bc: 4b07 ldr r3, [pc, #28] @ (80129dc ) - 80129be: 68db ldr r3, [r3, #12] - 80129c0: 681b ldr r3, [r3, #0] - 80129c2: 4619 mov r1, r3 - 80129c4: 2007 movs r0, #7 - 80129c6: f000 f8d9 bl 8012b7c + 80133b8: 4b07 ldr r3, [pc, #28] @ (80133d8 ) + 80133ba: 68db ldr r3, [r3, #12] + 80133bc: 681b ldr r3, [r3, #0] + 80133be: 4619 mov r1, r3 + 80133c0: 2007 movs r0, #7 + 80133c2: f000 f8d9 bl 8013578 SYS_CMD_IoBusCallBackFunction( (TL_EvtPacket_t*)(TL_RefTable.p_sys_table->pcmd_buffer) ); - 80129ca: 4b05 ldr r3, [pc, #20] @ (80129e0 ) - 80129cc: 681b ldr r3, [r3, #0] - 80129ce: 4a03 ldr r2, [pc, #12] @ (80129dc ) - 80129d0: 68d2 ldr r2, [r2, #12] - 80129d2: 6812 ldr r2, [r2, #0] - 80129d4: 4610 mov r0, r2 - 80129d6: 4798 blx r3 + 80133c6: 4b05 ldr r3, [pc, #20] @ (80133dc ) + 80133c8: 681b ldr r3, [r3, #0] + 80133ca: 4a03 ldr r2, [pc, #12] @ (80133d8 ) + 80133cc: 68d2 ldr r2, [r2, #12] + 80133ce: 6812 ldr r2, [r2, #0] + 80133d0: 4610 mov r0, r2 + 80133d2: 4798 blx r3 return; - 80129d8: bf00 nop + 80133d4: bf00 nop } - 80129da: bd80 pop {r7, pc} - 80129dc: 20030000 .word 0x20030000 - 80129e0: 200007c0 .word 0x200007c0 + 80133d6: bd80 pop {r7, pc} + 80133d8: 20030000 .word 0x20030000 + 80133dc: 200007c0 .word 0x200007c0 -080129e4 : +080133e0 : void HW_IPCC_SYS_EvtNot( void ) { - 80129e4: b580 push {r7, lr} - 80129e6: b082 sub sp, #8 - 80129e8: af00 add r7, sp, #0 + 80133e0: b580 push {r7, lr} + 80133e2: b082 sub sp, #8 + 80133e4: af00 add r7, sp, #0 TL_EvtPacket_t *p_evt; while(LST_is_empty(&SystemEvtQueue) == FALSE) - 80129ea: e00e b.n 8012a0a + 80133e6: e00e b.n 8013406 { LST_remove_head (&SystemEvtQueue, (tListNode **)&p_evt); - 80129ec: 1d3b adds r3, r7, #4 - 80129ee: 4619 mov r1, r3 - 80129f0: 480b ldr r0, [pc, #44] @ (8012a20 ) - 80129f2: f000 f9e8 bl 8012dc6 + 80133e8: 1d3b adds r3, r7, #4 + 80133ea: 4619 mov r1, r3 + 80133ec: 480b ldr r0, [pc, #44] @ (801341c ) + 80133ee: f000 f9e8 bl 80137c2 OutputDbgTrace(TL_MB_SYS_ASYNCH_EVT, (uint8_t*)p_evt ); - 80129f6: 687b ldr r3, [r7, #4] - 80129f8: 4619 mov r1, r3 - 80129fa: 2008 movs r0, #8 - 80129fc: f000 f8be bl 8012b7c + 80133f2: 687b ldr r3, [r7, #4] + 80133f4: 4619 mov r1, r3 + 80133f6: 2008 movs r0, #8 + 80133f8: f000 f8be bl 8013578 SYS_EVT_IoBusCallBackFunction( p_evt ); - 8012a00: 4b08 ldr r3, [pc, #32] @ (8012a24 ) - 8012a02: 681b ldr r3, [r3, #0] - 8012a04: 687a ldr r2, [r7, #4] - 8012a06: 4610 mov r0, r2 - 8012a08: 4798 blx r3 + 80133fc: 4b08 ldr r3, [pc, #32] @ (8013420 ) + 80133fe: 681b ldr r3, [r3, #0] + 8013400: 687a ldr r2, [r7, #4] + 8013402: 4610 mov r0, r2 + 8013404: 4798 blx r3 while(LST_is_empty(&SystemEvtQueue) == FALSE) - 8012a0a: 4805 ldr r0, [pc, #20] @ (8012a20 ) - 8012a0c: f000 f94c bl 8012ca8 - 8012a10: 4603 mov r3, r0 - 8012a12: 2b00 cmp r3, #0 - 8012a14: d0ea beq.n 80129ec + 8013406: 4805 ldr r0, [pc, #20] @ (801341c ) + 8013408: f000 f94c bl 80136a4 + 801340c: 4603 mov r3, r0 + 801340e: 2b00 cmp r3, #0 + 8013410: d0ea beq.n 80133e8 } return; - 8012a16: bf00 nop + 8013412: bf00 nop } - 8012a18: 3708 adds r7, #8 - 8012a1a: 46bd mov sp, r7 - 8012a1c: bd80 pop {r7, pc} - 8012a1e: bf00 nop - 8012a20: 200300d0 .word 0x200300d0 - 8012a24: 200007c4 .word 0x200007c4 + 8013414: 3708 adds r7, #8 + 8013416: 46bd mov sp, r7 + 8013418: bd80 pop {r7, pc} + 801341a: bf00 nop + 801341c: 200300d0 .word 0x200300d0 + 8013420: 200007c4 .word 0x200007c4 -08012a28 : +08013424 : /****************************************************************************** * MEMORY MANAGER ******************************************************************************/ void TL_MM_Init( TL_MM_Config_t *p_Config ) { - 8012a28: b580 push {r7, lr} - 8012a2a: b082 sub sp, #8 - 8012a2c: af00 add r7, sp, #0 - 8012a2e: 6078 str r0, [r7, #4] + 8013424: b580 push {r7, lr} + 8013426: b082 sub sp, #8 + 8013428: af00 add r7, sp, #0 + 801342a: 6078 str r0, [r7, #4] static MB_MemManagerTable_t * p_mem_manager_table; LST_init_head (&FreeBufQueue); - 8012a30: 4817 ldr r0, [pc, #92] @ (8012a90 ) - 8012a32: f000 f929 bl 8012c88 + 801342c: 4817 ldr r0, [pc, #92] @ (801348c ) + 801342e: f000 f929 bl 8013684 LST_init_head (&LocalFreeBufQueue); - 8012a36: 4817 ldr r0, [pc, #92] @ (8012a94 ) - 8012a38: f000 f926 bl 8012c88 + 8013432: 4817 ldr r0, [pc, #92] @ (8013490 ) + 8013434: f000 f926 bl 8013684 p_mem_manager_table = TL_RefTable.p_mem_manager_table; - 8012a3c: 4b16 ldr r3, [pc, #88] @ (8012a98 ) - 8012a3e: 691b ldr r3, [r3, #16] - 8012a40: 4a16 ldr r2, [pc, #88] @ (8012a9c ) - 8012a42: 6013 str r3, [r2, #0] + 8013438: 4b16 ldr r3, [pc, #88] @ (8013494 ) + 801343a: 691b ldr r3, [r3, #16] + 801343c: 4a16 ldr r2, [pc, #88] @ (8013498 ) + 801343e: 6013 str r3, [r2, #0] p_mem_manager_table->blepool = p_Config->p_AsynchEvtPool; - 8012a44: 4b15 ldr r3, [pc, #84] @ (8012a9c ) - 8012a46: 681b ldr r3, [r3, #0] - 8012a48: 687a ldr r2, [r7, #4] - 8012a4a: 6892 ldr r2, [r2, #8] - 8012a4c: 609a str r2, [r3, #8] + 8013440: 4b15 ldr r3, [pc, #84] @ (8013498 ) + 8013442: 681b ldr r3, [r3, #0] + 8013444: 687a ldr r2, [r7, #4] + 8013446: 6892 ldr r2, [r2, #8] + 8013448: 609a str r2, [r3, #8] p_mem_manager_table->blepoolsize = p_Config->AsynchEvtPoolSize; - 8012a4e: 4b13 ldr r3, [pc, #76] @ (8012a9c ) - 8012a50: 681b ldr r3, [r3, #0] - 8012a52: 687a ldr r2, [r7, #4] - 8012a54: 68d2 ldr r2, [r2, #12] - 8012a56: 60da str r2, [r3, #12] + 801344a: 4b13 ldr r3, [pc, #76] @ (8013498 ) + 801344c: 681b ldr r3, [r3, #0] + 801344e: 687a ldr r2, [r7, #4] + 8013450: 68d2 ldr r2, [r2, #12] + 8013452: 60da str r2, [r3, #12] p_mem_manager_table->pevt_free_buffer_queue = (uint8_t*)&FreeBufQueue; - 8012a58: 4b10 ldr r3, [pc, #64] @ (8012a9c ) - 8012a5a: 681b ldr r3, [r3, #0] - 8012a5c: 4a0c ldr r2, [pc, #48] @ (8012a90 ) - 8012a5e: 611a str r2, [r3, #16] + 8013454: 4b10 ldr r3, [pc, #64] @ (8013498 ) + 8013456: 681b ldr r3, [r3, #0] + 8013458: 4a0c ldr r2, [pc, #48] @ (801348c ) + 801345a: 611a str r2, [r3, #16] p_mem_manager_table->spare_ble_buffer = p_Config->p_BleSpareEvtBuffer; - 8012a60: 4b0e ldr r3, [pc, #56] @ (8012a9c ) - 8012a62: 681b ldr r3, [r3, #0] - 8012a64: 687a ldr r2, [r7, #4] - 8012a66: 6812 ldr r2, [r2, #0] - 8012a68: 601a str r2, [r3, #0] + 801345c: 4b0e ldr r3, [pc, #56] @ (8013498 ) + 801345e: 681b ldr r3, [r3, #0] + 8013460: 687a ldr r2, [r7, #4] + 8013462: 6812 ldr r2, [r2, #0] + 8013464: 601a str r2, [r3, #0] p_mem_manager_table->spare_sys_buffer = p_Config->p_SystemSpareEvtBuffer; - 8012a6a: 4b0c ldr r3, [pc, #48] @ (8012a9c ) - 8012a6c: 681b ldr r3, [r3, #0] - 8012a6e: 687a ldr r2, [r7, #4] - 8012a70: 6852 ldr r2, [r2, #4] - 8012a72: 605a str r2, [r3, #4] + 8013466: 4b0c ldr r3, [pc, #48] @ (8013498 ) + 8013468: 681b ldr r3, [r3, #0] + 801346a: 687a ldr r2, [r7, #4] + 801346c: 6852 ldr r2, [r2, #4] + 801346e: 605a str r2, [r3, #4] p_mem_manager_table->traces_evt_pool = p_Config->p_TracesEvtPool; - 8012a74: 4b09 ldr r3, [pc, #36] @ (8012a9c ) - 8012a76: 681b ldr r3, [r3, #0] - 8012a78: 687a ldr r2, [r7, #4] - 8012a7a: 6912 ldr r2, [r2, #16] - 8012a7c: 615a str r2, [r3, #20] + 8013470: 4b09 ldr r3, [pc, #36] @ (8013498 ) + 8013472: 681b ldr r3, [r3, #0] + 8013474: 687a ldr r2, [r7, #4] + 8013476: 6912 ldr r2, [r2, #16] + 8013478: 615a str r2, [r3, #20] p_mem_manager_table->tracespoolsize = p_Config->TracesEvtPoolSize; - 8012a7e: 4b07 ldr r3, [pc, #28] @ (8012a9c ) - 8012a80: 681b ldr r3, [r3, #0] - 8012a82: 687a ldr r2, [r7, #4] - 8012a84: 6952 ldr r2, [r2, #20] - 8012a86: 619a str r2, [r3, #24] + 801347a: 4b07 ldr r3, [pc, #28] @ (8013498 ) + 801347c: 681b ldr r3, [r3, #0] + 801347e: 687a ldr r2, [r7, #4] + 8013480: 6952 ldr r2, [r2, #20] + 8013482: 619a str r2, [r3, #24] return; - 8012a88: bf00 nop + 8013484: bf00 nop } - 8012a8a: 3708 adds r7, #8 - 8012a8c: 46bd mov sp, r7 - 8012a8e: bd80 pop {r7, pc} - 8012a90: 200300b8 .word 0x200300b8 - 8012a94: 200007b0 .word 0x200007b0 - 8012a98: 20030000 .word 0x20030000 - 8012a9c: 200007c8 .word 0x200007c8 + 8013486: 3708 adds r7, #8 + 8013488: 46bd mov sp, r7 + 801348a: bd80 pop {r7, pc} + 801348c: 200300b8 .word 0x200300b8 + 8013490: 200007b0 .word 0x200007b0 + 8013494: 20030000 .word 0x20030000 + 8013498: 200007c8 .word 0x200007c8 -08012aa0 : +0801349c : void TL_MM_EvtDone(TL_EvtPacket_t * phcievt) { - 8012aa0: b580 push {r7, lr} - 8012aa2: b082 sub sp, #8 - 8012aa4: af00 add r7, sp, #0 - 8012aa6: 6078 str r0, [r7, #4] + 801349c: b580 push {r7, lr} + 801349e: b082 sub sp, #8 + 80134a0: af00 add r7, sp, #0 + 80134a2: 6078 str r0, [r7, #4] LST_insert_tail(&LocalFreeBufQueue, (tListNode *)phcievt); - 8012aa8: 6879 ldr r1, [r7, #4] - 8012aaa: 4807 ldr r0, [pc, #28] @ (8012ac8 ) - 8012aac: f000 f944 bl 8012d38 + 80134a4: 6879 ldr r1, [r7, #4] + 80134a6: 4807 ldr r0, [pc, #28] @ (80134c4 ) + 80134a8: f000 f944 bl 8013734 OutputDbgTrace(TL_MB_MM_RELEASE_BUFFER, (uint8_t*)phcievt); - 8012ab0: 6879 ldr r1, [r7, #4] - 8012ab2: 2000 movs r0, #0 - 8012ab4: f000 f862 bl 8012b7c + 80134ac: 6879 ldr r1, [r7, #4] + 80134ae: 2000 movs r0, #0 + 80134b0: f000 f862 bl 8013578 HW_IPCC_MM_SendFreeBuf( SendFreeBuf ); - 8012ab8: 4804 ldr r0, [pc, #16] @ (8012acc ) - 8012aba: f005 f97d bl 8017db8 + 80134b4: 4804 ldr r0, [pc, #16] @ (80134c8 ) + 80134b6: f005 f967 bl 8018788 return; - 8012abe: bf00 nop + 80134ba: bf00 nop } - 8012ac0: 3708 adds r7, #8 - 8012ac2: 46bd mov sp, r7 - 8012ac4: bd80 pop {r7, pc} - 8012ac6: bf00 nop - 8012ac8: 200007b0 .word 0x200007b0 - 8012acc: 08012ad1 .word 0x08012ad1 + 80134bc: 3708 adds r7, #8 + 80134be: 46bd mov sp, r7 + 80134c0: bd80 pop {r7, pc} + 80134c2: bf00 nop + 80134c4: 200007b0 .word 0x200007b0 + 80134c8: 080134cd .word 0x080134cd -08012ad0 : +080134cc : static void SendFreeBuf( void ) { - 8012ad0: b580 push {r7, lr} - 8012ad2: b082 sub sp, #8 - 8012ad4: af00 add r7, sp, #0 + 80134cc: b580 push {r7, lr} + 80134ce: b082 sub sp, #8 + 80134d0: af00 add r7, sp, #0 tListNode *p_node; while ( FALSE == LST_is_empty (&LocalFreeBufQueue) ) - 8012ad6: e00c b.n 8012af2 + 80134d2: e00c b.n 80134ee { LST_remove_head( &LocalFreeBufQueue, (tListNode **)&p_node ); - 8012ad8: 1d3b adds r3, r7, #4 - 8012ada: 4619 mov r1, r3 - 8012adc: 480a ldr r0, [pc, #40] @ (8012b08 ) - 8012ade: f000 f972 bl 8012dc6 + 80134d4: 1d3b adds r3, r7, #4 + 80134d6: 4619 mov r1, r3 + 80134d8: 480a ldr r0, [pc, #40] @ (8013504 ) + 80134da: f000 f972 bl 80137c2 LST_insert_tail( (tListNode*)(TL_RefTable.p_mem_manager_table->pevt_free_buffer_queue), p_node ); - 8012ae2: 4b0a ldr r3, [pc, #40] @ (8012b0c ) - 8012ae4: 691b ldr r3, [r3, #16] - 8012ae6: 691b ldr r3, [r3, #16] - 8012ae8: 687a ldr r2, [r7, #4] - 8012aea: 4611 mov r1, r2 - 8012aec: 4618 mov r0, r3 - 8012aee: f000 f923 bl 8012d38 + 80134de: 4b0a ldr r3, [pc, #40] @ (8013508 ) + 80134e0: 691b ldr r3, [r3, #16] + 80134e2: 691b ldr r3, [r3, #16] + 80134e4: 687a ldr r2, [r7, #4] + 80134e6: 4611 mov r1, r2 + 80134e8: 4618 mov r0, r3 + 80134ea: f000 f923 bl 8013734 while ( FALSE == LST_is_empty (&LocalFreeBufQueue) ) - 8012af2: 4805 ldr r0, [pc, #20] @ (8012b08 ) - 8012af4: f000 f8d8 bl 8012ca8 - 8012af8: 4603 mov r3, r0 - 8012afa: 2b00 cmp r3, #0 - 8012afc: d0ec beq.n 8012ad8 + 80134ee: 4805 ldr r0, [pc, #20] @ (8013504 ) + 80134f0: f000 f8d8 bl 80136a4 + 80134f4: 4603 mov r3, r0 + 80134f6: 2b00 cmp r3, #0 + 80134f8: d0ec beq.n 80134d4 } return; - 8012afe: bf00 nop + 80134fa: bf00 nop } - 8012b00: 3708 adds r7, #8 - 8012b02: 46bd mov sp, r7 - 8012b04: bd80 pop {r7, pc} - 8012b06: bf00 nop - 8012b08: 200007b0 .word 0x200007b0 - 8012b0c: 20030000 .word 0x20030000 + 80134fc: 3708 adds r7, #8 + 80134fe: 46bd mov sp, r7 + 8013500: bd80 pop {r7, pc} + 8013502: bf00 nop + 8013504: 200007b0 .word 0x200007b0 + 8013508: 20030000 .word 0x20030000 -08012b10 : +0801350c : /****************************************************************************** * TRACES ******************************************************************************/ void TL_TRACES_Init( void ) { - 8012b10: b580 push {r7, lr} - 8012b12: af00 add r7, sp, #0 + 801350c: b580 push {r7, lr} + 801350e: af00 add r7, sp, #0 LST_init_head (&TracesEvtQueue); - 8012b14: 4805 ldr r0, [pc, #20] @ (8012b2c ) - 8012b16: f000 f8b7 bl 8012c88 + 8013510: 4805 ldr r0, [pc, #20] @ (8013528 ) + 8013512: f000 f8b7 bl 8013684 TL_RefTable.p_traces_table->traces_queue = (uint8_t*)&TracesEvtQueue; - 8012b1a: 4b05 ldr r3, [pc, #20] @ (8012b30 ) - 8012b1c: 695b ldr r3, [r3, #20] - 8012b1e: 4a03 ldr r2, [pc, #12] @ (8012b2c ) - 8012b20: 601a str r2, [r3, #0] + 8013516: 4b05 ldr r3, [pc, #20] @ (801352c ) + 8013518: 695b ldr r3, [r3, #20] + 801351a: 4a03 ldr r2, [pc, #12] @ (8013528 ) + 801351c: 601a str r2, [r3, #0] HW_IPCC_TRACES_Init(); - 8012b22: f005 f99b bl 8017e5c + 801351e: f005 f985 bl 801882c return; - 8012b26: bf00 nop + 8013522: bf00 nop } - 8012b28: bd80 pop {r7, pc} - 8012b2a: bf00 nop - 8012b2c: 200300c0 .word 0x200300c0 - 8012b30: 20030000 .word 0x20030000 + 8013524: bd80 pop {r7, pc} + 8013526: bf00 nop + 8013528: 200300c0 .word 0x200300c0 + 801352c: 20030000 .word 0x20030000 -08012b34 : +08013530 : void HW_IPCC_TRACES_EvtNot(void) { - 8012b34: b580 push {r7, lr} - 8012b36: b082 sub sp, #8 - 8012b38: af00 add r7, sp, #0 + 8013530: b580 push {r7, lr} + 8013532: b082 sub sp, #8 + 8013534: af00 add r7, sp, #0 TL_EvtPacket_t *phcievt; while(LST_is_empty(&TracesEvtQueue) == FALSE) - 8012b3a: e008 b.n 8012b4e + 8013536: e008 b.n 801354a { LST_remove_head (&TracesEvtQueue, (tListNode **)&phcievt); - 8012b3c: 1d3b adds r3, r7, #4 - 8012b3e: 4619 mov r1, r3 - 8012b40: 4808 ldr r0, [pc, #32] @ (8012b64 ) - 8012b42: f000 f940 bl 8012dc6 + 8013538: 1d3b adds r3, r7, #4 + 801353a: 4619 mov r1, r3 + 801353c: 4808 ldr r0, [pc, #32] @ (8013560 ) + 801353e: f000 f940 bl 80137c2 TL_TRACES_EvtReceived( phcievt ); - 8012b46: 687b ldr r3, [r7, #4] - 8012b48: 4618 mov r0, r3 - 8012b4a: f000 f80d bl 8012b68 + 8013542: 687b ldr r3, [r7, #4] + 8013544: 4618 mov r0, r3 + 8013546: f000 f80d bl 8013564 while(LST_is_empty(&TracesEvtQueue) == FALSE) - 8012b4e: 4805 ldr r0, [pc, #20] @ (8012b64 ) - 8012b50: f000 f8aa bl 8012ca8 - 8012b54: 4603 mov r3, r0 - 8012b56: 2b00 cmp r3, #0 - 8012b58: d0f0 beq.n 8012b3c + 801354a: 4805 ldr r0, [pc, #20] @ (8013560 ) + 801354c: f000 f8aa bl 80136a4 + 8013550: 4603 mov r3, r0 + 8013552: 2b00 cmp r3, #0 + 8013554: d0f0 beq.n 8013538 } return; - 8012b5a: bf00 nop + 8013556: bf00 nop } - 8012b5c: 3708 adds r7, #8 - 8012b5e: 46bd mov sp, r7 - 8012b60: bd80 pop {r7, pc} - 8012b62: bf00 nop - 8012b64: 200300c0 .word 0x200300c0 + 8013558: 3708 adds r7, #8 + 801355a: 46bd mov sp, r7 + 801355c: bd80 pop {r7, pc} + 801355e: bf00 nop + 8013560: 200300c0 .word 0x200300c0 -08012b68 : +08013564 : __WEAK void TL_TRACES_EvtReceived( TL_EvtPacket_t * hcievt ) { - 8012b68: b480 push {r7} - 8012b6a: b083 sub sp, #12 - 8012b6c: af00 add r7, sp, #0 - 8012b6e: 6078 str r0, [r7, #4] + 8013564: b480 push {r7} + 8013566: b083 sub sp, #12 + 8013568: af00 add r7, sp, #0 + 801356a: 6078 str r0, [r7, #4] (void)(hcievt); } - 8012b70: bf00 nop - 8012b72: 370c adds r7, #12 - 8012b74: 46bd mov sp, r7 - 8012b76: f85d 7b04 ldr.w r7, [sp], #4 - 8012b7a: 4770 bx lr + 801356c: bf00 nop + 801356e: 370c adds r7, #12 + 8013570: 46bd mov sp, r7 + 8013572: f85d 7b04 ldr.w r7, [sp], #4 + 8013576: 4770 bx lr -08012b7c : +08013578 : /****************************************************************************** * DEBUG INFORMATION ******************************************************************************/ static void OutputDbgTrace(TL_MB_PacketType_t packet_type, uint8_t* buffer) { - 8012b7c: b480 push {r7} - 8012b7e: b087 sub sp, #28 - 8012b80: af00 add r7, sp, #0 - 8012b82: 4603 mov r3, r0 - 8012b84: 6039 str r1, [r7, #0] - 8012b86: 71fb strb r3, [r7, #7] + 8013578: b480 push {r7} + 801357a: b087 sub sp, #28 + 801357c: af00 add r7, sp, #0 + 801357e: 4603 mov r3, r0 + 8013580: 6039 str r1, [r7, #0] + 8013582: 71fb strb r3, [r7, #7] TL_EvtPacket_t *p_evt_packet; TL_CmdPacket_t *p_cmd_packet; TL_AclDataPacket_t *p_acldata_packet; TL_EvtSerial_t *p_cmd_rsp_packet; switch(packet_type) - 8012b88: 79fb ldrb r3, [r7, #7] - 8012b8a: 2b08 cmp r3, #8 - 8012b8c: d84c bhi.n 8012c28 - 8012b8e: a201 add r2, pc, #4 @ (adr r2, 8012b94 ) - 8012b90: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8012b94: 08012bb9 .word 0x08012bb9 - 8012b98: 08012bdd .word 0x08012bdd - 8012b9c: 08012be9 .word 0x08012be9 - 8012ba0: 08012be3 .word 0x08012be3 - 8012ba4: 08012c29 .word 0x08012c29 - 8012ba8: 08012bfd .word 0x08012bfd - 8012bac: 08012c09 .word 0x08012c09 - 8012bb0: 08012c0f .word 0x08012c0f - 8012bb4: 08012c1d .word 0x08012c1d + 8013584: 79fb ldrb r3, [r7, #7] + 8013586: 2b08 cmp r3, #8 + 8013588: d84c bhi.n 8013624 + 801358a: a201 add r2, pc, #4 @ (adr r2, 8013590 ) + 801358c: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8013590: 080135b5 .word 0x080135b5 + 8013594: 080135d9 .word 0x080135d9 + 8013598: 080135e5 .word 0x080135e5 + 801359c: 080135df .word 0x080135df + 80135a0: 08013625 .word 0x08013625 + 80135a4: 080135f9 .word 0x080135f9 + 80135a8: 08013605 .word 0x08013605 + 80135ac: 0801360b .word 0x0801360b + 80135b0: 08013619 .word 0x08013619 { case TL_MB_MM_RELEASE_BUFFER: p_evt_packet = (TL_EvtPacket_t*)buffer; - 8012bb8: 683b ldr r3, [r7, #0] - 8012bba: 617b str r3, [r7, #20] + 80135b4: 683b ldr r3, [r7, #0] + 80135b6: 617b str r3, [r7, #20] switch(p_evt_packet->evtserial.evt.evtcode) - 8012bbc: 697b ldr r3, [r7, #20] - 8012bbe: 7a5b ldrb r3, [r3, #9] - 8012bc0: 2bff cmp r3, #255 @ 0xff - 8012bc2: d005 beq.n 8012bd0 - 8012bc4: 2bff cmp r3, #255 @ 0xff - 8012bc6: dc05 bgt.n 8012bd4 - 8012bc8: 2b0e cmp r3, #14 - 8012bca: d005 beq.n 8012bd8 - 8012bcc: 2b0f cmp r3, #15 + 80135b8: 697b ldr r3, [r7, #20] + 80135ba: 7a5b ldrb r3, [r3, #9] + 80135bc: 2bff cmp r3, #255 @ 0xff + 80135be: d005 beq.n 80135cc + 80135c0: 2bff cmp r3, #255 @ 0xff + 80135c2: dc05 bgt.n 80135d0 + 80135c4: 2b0e cmp r3, #14 + 80135c6: d005 beq.n 80135d4 + 80135c8: 2b0f cmp r3, #15 break; default: TL_MM_DBG_MSG("mm evt released: 0x%02X", p_evt_packet->evtserial.evt.evtcode); TL_MM_DBG_MSG(" buffer addr: 0x%08X", p_evt_packet); break; - 8012bce: e001 b.n 8012bd4 + 80135ca: e001 b.n 80135d0 break; - 8012bd0: bf00 nop - 8012bd2: e02a b.n 8012c2a + 80135cc: bf00 nop + 80135ce: e02a b.n 8013626 break; - 8012bd4: bf00 nop - 8012bd6: e028 b.n 8012c2a + 80135d0: bf00 nop + 80135d2: e028 b.n 8013626 break; - 8012bd8: bf00 nop + 80135d4: bf00 nop } TL_MM_DBG_MSG("\r\n"); break; - 8012bda: e026 b.n 8012c2a + 80135d6: e026 b.n 8013626 case TL_MB_BLE_CMD: p_cmd_packet = (TL_CmdPacket_t*)buffer; - 8012bdc: 683b ldr r3, [r7, #0] - 8012bde: 60fb str r3, [r7, #12] + 80135d8: 683b ldr r3, [r7, #0] + 80135da: 60fb str r3, [r7, #12] TL_HCI_CMD_DBG_BUF(p_cmd_packet->cmdserial.cmd.payload, p_cmd_packet->cmdserial.cmd.plen, ""); } TL_HCI_CMD_DBG_MSG("\r\n"); TL_HCI_CMD_DBG_RAW(&p_cmd_packet->cmdserial, p_cmd_packet->cmdserial.cmd.plen+TL_CMD_HDR_SIZE); break; - 8012be0: e023 b.n 8012c2a + 80135dc: e023 b.n 8013626 case TL_MB_ACL_DATA: (void)p_acldata_packet; p_acldata_packet = (TL_AclDataPacket_t*)buffer; - 8012be2: 683b ldr r3, [r7, #0] - 8012be4: 60bb str r3, [r7, #8] + 80135de: 683b ldr r3, [r7, #0] + 80135e0: 60bb str r3, [r7, #8] TL_HCI_CMD_DBG_MSG(" payload:"); TL_HCI_CMD_DBG_BUF(p_acldata_packet->AclDataSerial.acl_data, p_acldata_packet->AclDataSerial.length, ""); }*/ TL_HCI_CMD_DBG_MSG("\r\n"); /*TL_HCI_CMD_DBG_RAW(&p_acldata_packet->AclDataSerial, p_acldata_packet->AclDataSerial.length+TL_CMD_HDR_SIZE);*/ break; - 8012be6: e020 b.n 8012c2a + 80135e2: e020 b.n 8013626 TL_HCI_CMD_DBG_MSG(" ACL Data Tx Ack received"); TL_HCI_CMD_DBG_MSG("\r\n"); break; case TL_MB_BLE_CMD_RSP: p_evt_packet = (TL_EvtPacket_t*)buffer; - 8012be8: 683b ldr r3, [r7, #0] - 8012bea: 617b str r3, [r7, #20] + 80135e4: 683b ldr r3, [r7, #0] + 80135e6: 617b str r3, [r7, #20] switch(p_evt_packet->evtserial.evt.evtcode) - 8012bec: 697b ldr r3, [r7, #20] - 8012bee: 7a5b ldrb r3, [r3, #9] - 8012bf0: 2b0e cmp r3, #14 - 8012bf2: d001 beq.n 8012bf8 - 8012bf4: 2b0f cmp r3, #15 + 80135e8: 697b ldr r3, [r7, #20] + 80135ea: 7a5b ldrb r3, [r3, #9] + 80135ec: 2b0e cmp r3, #14 + 80135ee: d001 beq.n 80135f4 + 80135f0: 2b0f cmp r3, #15 } break; default: TL_HCI_CMD_DBG_MSG("unknown ble rsp received: %02X", p_evt_packet->evtserial.evt.evtcode); break; - 8012bf6: e000 b.n 8012bfa + 80135f2: e000 b.n 80135f6 break; - 8012bf8: bf00 nop + 80135f4: bf00 nop } TL_HCI_CMD_DBG_MSG("\r\n"); TL_HCI_CMD_DBG_RAW(&p_evt_packet->evtserial, p_evt_packet->evtserial.evt.plen+TL_EVT_HDR_SIZE); break; - 8012bfa: e016 b.n 8012c2a + 80135f6: e016 b.n 8013626 case TL_MB_BLE_ASYNCH_EVT: p_evt_packet = (TL_EvtPacket_t*)buffer; - 8012bfc: 683b ldr r3, [r7, #0] - 8012bfe: 617b str r3, [r7, #20] + 80135f8: 683b ldr r3, [r7, #0] + 80135fa: 617b str r3, [r7, #20] if(p_evt_packet->evtserial.evt.evtcode != TL_BLEEVT_VS_OPCODE) - 8012c00: 697b ldr r3, [r7, #20] - 8012c02: 7a5b ldrb r3, [r3, #9] - 8012c04: 2bff cmp r3, #255 @ 0xff + 80135fc: 697b ldr r3, [r7, #20] + 80135fe: 7a5b ldrb r3, [r3, #9] + 8013600: 2bff cmp r3, #255 @ 0xff } TL_HCI_EVT_DBG_MSG("\r\n"); TL_HCI_EVT_DBG_RAW(&p_evt_packet->evtserial, p_evt_packet->evtserial.evt.plen+TL_EVT_HDR_SIZE); break; - 8012c06: e010 b.n 8012c2a + 8013602: e010 b.n 8013626 case TL_MB_SYS_CMD: p_cmd_packet = (TL_CmdPacket_t*)buffer; - 8012c08: 683b ldr r3, [r7, #0] - 8012c0a: 60fb str r3, [r7, #12] + 8013604: 683b ldr r3, [r7, #0] + 8013606: 60fb str r3, [r7, #12] TL_SHCI_CMD_DBG_BUF(p_cmd_packet->cmdserial.cmd.payload, p_cmd_packet->cmdserial.cmd.plen, ""); } TL_SHCI_CMD_DBG_MSG("\r\n"); TL_SHCI_CMD_DBG_RAW(&p_cmd_packet->cmdserial, p_cmd_packet->cmdserial.cmd.plen+TL_CMD_HDR_SIZE); break; - 8012c0c: e00d b.n 8012c2a + 8013608: e00d b.n 8013626 case TL_MB_SYS_CMD_RSP: p_cmd_rsp_packet = (TL_EvtSerial_t*)buffer; - 8012c0e: 683b ldr r3, [r7, #0] - 8012c10: 613b str r3, [r7, #16] + 801360a: 683b ldr r3, [r7, #0] + 801360c: 613b str r3, [r7, #16] switch(p_cmd_rsp_packet->evt.evtcode) - 8012c12: 693b ldr r3, [r7, #16] - 8012c14: 785b ldrb r3, [r3, #1] - 8012c16: 2b0e cmp r3, #14 + 801360e: 693b ldr r3, [r7, #16] + 8013610: 785b ldrb r3, [r3, #1] + 8013612: 2b0e cmp r3, #14 } break; default: TL_SHCI_CMD_DBG_MSG("unknown sys rsp received: %02X", p_cmd_rsp_packet->evt.evtcode); break; - 8012c18: bf00 nop + 8013614: bf00 nop } TL_SHCI_CMD_DBG_MSG("\r\n"); TL_SHCI_CMD_DBG_RAW(&p_cmd_rsp_packet->evt, p_cmd_rsp_packet->evt.plen+TL_EVT_HDR_SIZE); break; - 8012c1a: e006 b.n 8012c2a + 8013616: e006 b.n 8013626 case TL_MB_SYS_ASYNCH_EVT: p_evt_packet = (TL_EvtPacket_t*)buffer; - 8012c1c: 683b ldr r3, [r7, #0] - 8012c1e: 617b str r3, [r7, #20] + 8013618: 683b ldr r3, [r7, #0] + 801361a: 617b str r3, [r7, #20] if(p_evt_packet->evtserial.evt.evtcode != TL_BLEEVT_VS_OPCODE) - 8012c20: 697b ldr r3, [r7, #20] - 8012c22: 7a5b ldrb r3, [r3, #9] - 8012c24: 2bff cmp r3, #255 @ 0xff + 801361c: 697b ldr r3, [r7, #20] + 801361e: 7a5b ldrb r3, [r3, #9] + 8013620: 2bff cmp r3, #255 @ 0xff } TL_SHCI_EVT_DBG_MSG("\r\n"); TL_SHCI_EVT_DBG_RAW(&p_evt_packet->evtserial, p_evt_packet->evtserial.evt.plen+TL_EVT_HDR_SIZE); break; - 8012c26: e000 b.n 8012c2a + 8013622: e000 b.n 8013626 default: break; - 8012c28: bf00 nop + 8013624: bf00 nop } return; - 8012c2a: bf00 nop + 8013626: bf00 nop } - 8012c2c: 371c adds r7, #28 - 8012c2e: 46bd mov sp, r7 - 8012c30: f85d 7b04 ldr.w r7, [sp], #4 - 8012c34: 4770 bx lr - 8012c36: bf00 nop + 8013628: 371c adds r7, #28 + 801362a: 46bd mov sp, r7 + 801362c: f85d 7b04 ldr.w r7, [sp], #4 + 8013630: 4770 bx lr + 8013632: bf00 nop -08012c38 : +08013634 : /* Global variables ----------------------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/ /* Functions Definition ------------------------------------------------------*/ uint8_t * OTP_Read( uint8_t id ) { - 8012c38: b480 push {r7} - 8012c3a: b085 sub sp, #20 - 8012c3c: af00 add r7, sp, #0 - 8012c3e: 4603 mov r3, r0 - 8012c40: 71fb strb r3, [r7, #7] + 8013634: b480 push {r7} + 8013636: b085 sub sp, #20 + 8013638: af00 add r7, sp, #0 + 801363a: 4603 mov r3, r0 + 801363c: 71fb strb r3, [r7, #7] uint8_t *p_id; p_id = (uint8_t*)(CFG_OTP_END_ADRESS - 7) ; - 8012c42: 4b0f ldr r3, [pc, #60] @ (8012c80 ) - 8012c44: 60fb str r3, [r7, #12] + 801363e: 4b0f ldr r3, [pc, #60] @ (801367c ) + 8013640: 60fb str r3, [r7, #12] while( ((*( p_id + 7 )) != id) && ( p_id != (uint8_t*)CFG_OTP_BASE_ADDRESS) ) - 8012c46: e002 b.n 8012c4e + 8013642: e002 b.n 801364a { p_id -= 8 ; - 8012c48: 68fb ldr r3, [r7, #12] - 8012c4a: 3b08 subs r3, #8 - 8012c4c: 60fb str r3, [r7, #12] + 8013644: 68fb ldr r3, [r7, #12] + 8013646: 3b08 subs r3, #8 + 8013648: 60fb str r3, [r7, #12] while( ((*( p_id + 7 )) != id) && ( p_id != (uint8_t*)CFG_OTP_BASE_ADDRESS) ) - 8012c4e: 68fb ldr r3, [r7, #12] - 8012c50: 3307 adds r3, #7 - 8012c52: 781b ldrb r3, [r3, #0] - 8012c54: 79fa ldrb r2, [r7, #7] - 8012c56: 429a cmp r2, r3 - 8012c58: d003 beq.n 8012c62 - 8012c5a: 68fb ldr r3, [r7, #12] - 8012c5c: 4a09 ldr r2, [pc, #36] @ (8012c84 ) - 8012c5e: 4293 cmp r3, r2 - 8012c60: d1f2 bne.n 8012c48 + 801364a: 68fb ldr r3, [r7, #12] + 801364c: 3307 adds r3, #7 + 801364e: 781b ldrb r3, [r3, #0] + 8013650: 79fa ldrb r2, [r7, #7] + 8013652: 429a cmp r2, r3 + 8013654: d003 beq.n 801365e + 8013656: 68fb ldr r3, [r7, #12] + 8013658: 4a09 ldr r2, [pc, #36] @ (8013680 ) + 801365a: 4293 cmp r3, r2 + 801365c: d1f2 bne.n 8013644 } if((*( p_id + 7 )) != id) - 8012c62: 68fb ldr r3, [r7, #12] - 8012c64: 3307 adds r3, #7 - 8012c66: 781b ldrb r3, [r3, #0] - 8012c68: 79fa ldrb r2, [r7, #7] - 8012c6a: 429a cmp r2, r3 - 8012c6c: d001 beq.n 8012c72 + 801365e: 68fb ldr r3, [r7, #12] + 8013660: 3307 adds r3, #7 + 8013662: 781b ldrb r3, [r3, #0] + 8013664: 79fa ldrb r2, [r7, #7] + 8013666: 429a cmp r2, r3 + 8013668: d001 beq.n 801366e { p_id = 0 ; - 8012c6e: 2300 movs r3, #0 - 8012c70: 60fb str r3, [r7, #12] + 801366a: 2300 movs r3, #0 + 801366c: 60fb str r3, [r7, #12] } return p_id ; - 8012c72: 68fb ldr r3, [r7, #12] + 801366e: 68fb ldr r3, [r7, #12] } - 8012c74: 4618 mov r0, r3 - 8012c76: 3714 adds r7, #20 - 8012c78: 46bd mov sp, r7 - 8012c7a: f85d 7b04 ldr.w r7, [sp], #4 - 8012c7e: 4770 bx lr - 8012c80: 1fff73f8 .word 0x1fff73f8 - 8012c84: 1fff7000 .word 0x1fff7000 + 8013670: 4618 mov r0, r3 + 8013672: 3714 adds r7, #20 + 8013674: 46bd mov sp, r7 + 8013676: f85d 7b04 ldr.w r7, [sp], #4 + 801367a: 4770 bx lr + 801367c: 1fff73f8 .word 0x1fff73f8 + 8013680: 1fff7000 .word 0x1fff7000 -08012c88 : +08013684 : /****************************************************************************** * Function Definitions ******************************************************************************/ void LST_init_head (tListNode * listHead) { - 8012c88: b480 push {r7} - 8012c8a: b083 sub sp, #12 - 8012c8c: af00 add r7, sp, #0 - 8012c8e: 6078 str r0, [r7, #4] + 8013684: b480 push {r7} + 8013686: b083 sub sp, #12 + 8013688: af00 add r7, sp, #0 + 801368a: 6078 str r0, [r7, #4] listHead->next = listHead; - 8012c90: 687b ldr r3, [r7, #4] - 8012c92: 687a ldr r2, [r7, #4] - 8012c94: 601a str r2, [r3, #0] + 801368c: 687b ldr r3, [r7, #4] + 801368e: 687a ldr r2, [r7, #4] + 8013690: 601a str r2, [r3, #0] listHead->prev = listHead; - 8012c96: 687b ldr r3, [r7, #4] - 8012c98: 687a ldr r2, [r7, #4] - 8012c9a: 605a str r2, [r3, #4] + 8013692: 687b ldr r3, [r7, #4] + 8013694: 687a ldr r2, [r7, #4] + 8013696: 605a str r2, [r3, #4] } - 8012c9c: bf00 nop - 8012c9e: 370c adds r7, #12 - 8012ca0: 46bd mov sp, r7 - 8012ca2: f85d 7b04 ldr.w r7, [sp], #4 - 8012ca6: 4770 bx lr + 8013698: bf00 nop + 801369a: 370c adds r7, #12 + 801369c: 46bd mov sp, r7 + 801369e: f85d 7b04 ldr.w r7, [sp], #4 + 80136a2: 4770 bx lr -08012ca8 : +080136a4 : uint8_t LST_is_empty (tListNode * listHead) { - 8012ca8: b480 push {r7} - 8012caa: b087 sub sp, #28 - 8012cac: af00 add r7, sp, #0 - 8012cae: 6078 str r0, [r7, #4] + 80136a4: b480 push {r7} + 80136a6: b087 sub sp, #28 + 80136a8: af00 add r7, sp, #0 + 80136aa: 6078 str r0, [r7, #4] __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8012cb0: f3ef 8310 mrs r3, PRIMASK - 8012cb4: 60fb str r3, [r7, #12] + 80136ac: f3ef 8310 mrs r3, PRIMASK + 80136b0: 60fb str r3, [r7, #12] return(result); - 8012cb6: 68fb ldr r3, [r7, #12] + 80136b2: 68fb ldr r3, [r7, #12] uint32_t primask_bit; uint8_t return_value; primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */ - 8012cb8: 613b str r3, [r7, #16] + 80136b4: 613b str r3, [r7, #16] __ASM volatile ("cpsid i" : : : "memory"); - 8012cba: b672 cpsid i + 80136b6: b672 cpsid i } - 8012cbc: bf00 nop + 80136b8: bf00 nop __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/ if(listHead->next == listHead) - 8012cbe: 687b ldr r3, [r7, #4] - 8012cc0: 681b ldr r3, [r3, #0] - 8012cc2: 687a ldr r2, [r7, #4] - 8012cc4: 429a cmp r2, r3 - 8012cc6: d102 bne.n 8012cce + 80136ba: 687b ldr r3, [r7, #4] + 80136bc: 681b ldr r3, [r3, #0] + 80136be: 687a ldr r2, [r7, #4] + 80136c0: 429a cmp r2, r3 + 80136c2: d102 bne.n 80136ca { return_value = TRUE; - 8012cc8: 2301 movs r3, #1 - 8012cca: 75fb strb r3, [r7, #23] - 8012ccc: e001 b.n 8012cd2 + 80136c4: 2301 movs r3, #1 + 80136c6: 75fb strb r3, [r7, #23] + 80136c8: e001 b.n 80136ce } else { return_value = FALSE; - 8012cce: 2300 movs r3, #0 - 8012cd0: 75fb strb r3, [r7, #23] - 8012cd2: 693b ldr r3, [r7, #16] - 8012cd4: 60bb str r3, [r7, #8] + 80136ca: 2300 movs r3, #0 + 80136cc: 75fb strb r3, [r7, #23] + 80136ce: 693b ldr r3, [r7, #16] + 80136d0: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8012cd6: 68bb ldr r3, [r7, #8] - 8012cd8: f383 8810 msr PRIMASK, r3 + 80136d2: 68bb ldr r3, [r7, #8] + 80136d4: f383 8810 msr PRIMASK, r3 } - 8012cdc: bf00 nop + 80136d8: bf00 nop } __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ return return_value; - 8012cde: 7dfb ldrb r3, [r7, #23] + 80136da: 7dfb ldrb r3, [r7, #23] } - 8012ce0: 4618 mov r0, r3 - 8012ce2: 371c adds r7, #28 - 8012ce4: 46bd mov sp, r7 - 8012ce6: f85d 7b04 ldr.w r7, [sp], #4 - 8012cea: 4770 bx lr + 80136dc: 4618 mov r0, r3 + 80136de: 371c adds r7, #28 + 80136e0: 46bd mov sp, r7 + 80136e2: f85d 7b04 ldr.w r7, [sp], #4 + 80136e6: 4770 bx lr -08012cec : +080136e8 : void LST_insert_head (tListNode * listHead, tListNode * node) { - 8012cec: b480 push {r7} - 8012cee: b087 sub sp, #28 - 8012cf0: af00 add r7, sp, #0 - 8012cf2: 6078 str r0, [r7, #4] - 8012cf4: 6039 str r1, [r7, #0] + 80136e8: b480 push {r7} + 80136ea: b087 sub sp, #28 + 80136ec: af00 add r7, sp, #0 + 80136ee: 6078 str r0, [r7, #4] + 80136f0: 6039 str r1, [r7, #0] __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8012cf6: f3ef 8310 mrs r3, PRIMASK - 8012cfa: 60fb str r3, [r7, #12] + 80136f2: f3ef 8310 mrs r3, PRIMASK + 80136f6: 60fb str r3, [r7, #12] return(result); - 8012cfc: 68fb ldr r3, [r7, #12] + 80136f8: 68fb ldr r3, [r7, #12] uint32_t primask_bit; primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */ - 8012cfe: 617b str r3, [r7, #20] + 80136fa: 617b str r3, [r7, #20] __ASM volatile ("cpsid i" : : : "memory"); - 8012d00: b672 cpsid i + 80136fc: b672 cpsid i } - 8012d02: bf00 nop + 80136fe: bf00 nop __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/ node->next = listHead->next; - 8012d04: 687b ldr r3, [r7, #4] - 8012d06: 681a ldr r2, [r3, #0] - 8012d08: 683b ldr r3, [r7, #0] - 8012d0a: 601a str r2, [r3, #0] + 8013700: 687b ldr r3, [r7, #4] + 8013702: 681a ldr r2, [r3, #0] + 8013704: 683b ldr r3, [r7, #0] + 8013706: 601a str r2, [r3, #0] node->prev = listHead; - 8012d0c: 683b ldr r3, [r7, #0] - 8012d0e: 687a ldr r2, [r7, #4] - 8012d10: 605a str r2, [r3, #4] + 8013708: 683b ldr r3, [r7, #0] + 801370a: 687a ldr r2, [r7, #4] + 801370c: 605a str r2, [r3, #4] listHead->next = node; - 8012d12: 687b ldr r3, [r7, #4] - 8012d14: 683a ldr r2, [r7, #0] - 8012d16: 601a str r2, [r3, #0] + 801370e: 687b ldr r3, [r7, #4] + 8013710: 683a ldr r2, [r7, #0] + 8013712: 601a str r2, [r3, #0] (node->next)->prev = node; - 8012d18: 683b ldr r3, [r7, #0] - 8012d1a: 681b ldr r3, [r3, #0] - 8012d1c: 683a ldr r2, [r7, #0] - 8012d1e: 605a str r2, [r3, #4] - 8012d20: 697b ldr r3, [r7, #20] - 8012d22: 613b str r3, [r7, #16] + 8013714: 683b ldr r3, [r7, #0] + 8013716: 681b ldr r3, [r3, #0] + 8013718: 683a ldr r2, [r7, #0] + 801371a: 605a str r2, [r3, #4] + 801371c: 697b ldr r3, [r7, #20] + 801371e: 613b str r3, [r7, #16] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8012d24: 693b ldr r3, [r7, #16] - 8012d26: f383 8810 msr PRIMASK, r3 + 8013720: 693b ldr r3, [r7, #16] + 8013722: f383 8810 msr PRIMASK, r3 } - 8012d2a: bf00 nop + 8013726: bf00 nop __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ } - 8012d2c: bf00 nop - 8012d2e: 371c adds r7, #28 - 8012d30: 46bd mov sp, r7 - 8012d32: f85d 7b04 ldr.w r7, [sp], #4 - 8012d36: 4770 bx lr + 8013728: bf00 nop + 801372a: 371c adds r7, #28 + 801372c: 46bd mov sp, r7 + 801372e: f85d 7b04 ldr.w r7, [sp], #4 + 8013732: 4770 bx lr -08012d38 : +08013734 : void LST_insert_tail (tListNode * listHead, tListNode * node) { - 8012d38: b480 push {r7} - 8012d3a: b087 sub sp, #28 - 8012d3c: af00 add r7, sp, #0 - 8012d3e: 6078 str r0, [r7, #4] - 8012d40: 6039 str r1, [r7, #0] + 8013734: b480 push {r7} + 8013736: b087 sub sp, #28 + 8013738: af00 add r7, sp, #0 + 801373a: 6078 str r0, [r7, #4] + 801373c: 6039 str r1, [r7, #0] __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8012d42: f3ef 8310 mrs r3, PRIMASK - 8012d46: 60fb str r3, [r7, #12] + 801373e: f3ef 8310 mrs r3, PRIMASK + 8013742: 60fb str r3, [r7, #12] return(result); - 8012d48: 68fb ldr r3, [r7, #12] + 8013744: 68fb ldr r3, [r7, #12] uint32_t primask_bit; primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */ - 8012d4a: 617b str r3, [r7, #20] + 8013746: 617b str r3, [r7, #20] __ASM volatile ("cpsid i" : : : "memory"); - 8012d4c: b672 cpsid i + 8013748: b672 cpsid i } - 8012d4e: bf00 nop + 801374a: bf00 nop __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/ node->next = listHead; - 8012d50: 683b ldr r3, [r7, #0] - 8012d52: 687a ldr r2, [r7, #4] - 8012d54: 601a str r2, [r3, #0] + 801374c: 683b ldr r3, [r7, #0] + 801374e: 687a ldr r2, [r7, #4] + 8013750: 601a str r2, [r3, #0] node->prev = listHead->prev; - 8012d56: 687b ldr r3, [r7, #4] - 8012d58: 685a ldr r2, [r3, #4] - 8012d5a: 683b ldr r3, [r7, #0] - 8012d5c: 605a str r2, [r3, #4] + 8013752: 687b ldr r3, [r7, #4] + 8013754: 685a ldr r2, [r3, #4] + 8013756: 683b ldr r3, [r7, #0] + 8013758: 605a str r2, [r3, #4] listHead->prev = node; - 8012d5e: 687b ldr r3, [r7, #4] - 8012d60: 683a ldr r2, [r7, #0] - 8012d62: 605a str r2, [r3, #4] + 801375a: 687b ldr r3, [r7, #4] + 801375c: 683a ldr r2, [r7, #0] + 801375e: 605a str r2, [r3, #4] (node->prev)->next = node; - 8012d64: 683b ldr r3, [r7, #0] - 8012d66: 685b ldr r3, [r3, #4] - 8012d68: 683a ldr r2, [r7, #0] - 8012d6a: 601a str r2, [r3, #0] - 8012d6c: 697b ldr r3, [r7, #20] - 8012d6e: 613b str r3, [r7, #16] + 8013760: 683b ldr r3, [r7, #0] + 8013762: 685b ldr r3, [r3, #4] + 8013764: 683a ldr r2, [r7, #0] + 8013766: 601a str r2, [r3, #0] + 8013768: 697b ldr r3, [r7, #20] + 801376a: 613b str r3, [r7, #16] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8012d70: 693b ldr r3, [r7, #16] - 8012d72: f383 8810 msr PRIMASK, r3 + 801376c: 693b ldr r3, [r7, #16] + 801376e: f383 8810 msr PRIMASK, r3 } - 8012d76: bf00 nop + 8013772: bf00 nop __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ } - 8012d78: bf00 nop - 8012d7a: 371c adds r7, #28 - 8012d7c: 46bd mov sp, r7 - 8012d7e: f85d 7b04 ldr.w r7, [sp], #4 - 8012d82: 4770 bx lr + 8013774: bf00 nop + 8013776: 371c adds r7, #28 + 8013778: 46bd mov sp, r7 + 801377a: f85d 7b04 ldr.w r7, [sp], #4 + 801377e: 4770 bx lr -08012d84 : +08013780 : void LST_remove_node (tListNode * node) { - 8012d84: b480 push {r7} - 8012d86: b087 sub sp, #28 - 8012d88: af00 add r7, sp, #0 - 8012d8a: 6078 str r0, [r7, #4] + 8013780: b480 push {r7} + 8013782: b087 sub sp, #28 + 8013784: af00 add r7, sp, #0 + 8013786: 6078 str r0, [r7, #4] __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8012d8c: f3ef 8310 mrs r3, PRIMASK - 8012d90: 60fb str r3, [r7, #12] + 8013788: f3ef 8310 mrs r3, PRIMASK + 801378c: 60fb str r3, [r7, #12] return(result); - 8012d92: 68fb ldr r3, [r7, #12] + 801378e: 68fb ldr r3, [r7, #12] uint32_t primask_bit; primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */ - 8012d94: 617b str r3, [r7, #20] + 8013790: 617b str r3, [r7, #20] __ASM volatile ("cpsid i" : : : "memory"); - 8012d96: b672 cpsid i + 8013792: b672 cpsid i } - 8012d98: bf00 nop + 8013794: bf00 nop __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/ (node->prev)->next = node->next; - 8012d9a: 687b ldr r3, [r7, #4] - 8012d9c: 685b ldr r3, [r3, #4] - 8012d9e: 687a ldr r2, [r7, #4] - 8012da0: 6812 ldr r2, [r2, #0] - 8012da2: 601a str r2, [r3, #0] + 8013796: 687b ldr r3, [r7, #4] + 8013798: 685b ldr r3, [r3, #4] + 801379a: 687a ldr r2, [r7, #4] + 801379c: 6812 ldr r2, [r2, #0] + 801379e: 601a str r2, [r3, #0] (node->next)->prev = node->prev; - 8012da4: 687b ldr r3, [r7, #4] - 8012da6: 681b ldr r3, [r3, #0] - 8012da8: 687a ldr r2, [r7, #4] - 8012daa: 6852 ldr r2, [r2, #4] - 8012dac: 605a str r2, [r3, #4] - 8012dae: 697b ldr r3, [r7, #20] - 8012db0: 613b str r3, [r7, #16] + 80137a0: 687b ldr r3, [r7, #4] + 80137a2: 681b ldr r3, [r3, #0] + 80137a4: 687a ldr r2, [r7, #4] + 80137a6: 6852 ldr r2, [r2, #4] + 80137a8: 605a str r2, [r3, #4] + 80137aa: 697b ldr r3, [r7, #20] + 80137ac: 613b str r3, [r7, #16] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8012db2: 693b ldr r3, [r7, #16] - 8012db4: f383 8810 msr PRIMASK, r3 + 80137ae: 693b ldr r3, [r7, #16] + 80137b0: f383 8810 msr PRIMASK, r3 } - 8012db8: bf00 nop + 80137b4: bf00 nop __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ } - 8012dba: bf00 nop - 8012dbc: 371c adds r7, #28 - 8012dbe: 46bd mov sp, r7 - 8012dc0: f85d 7b04 ldr.w r7, [sp], #4 - 8012dc4: 4770 bx lr + 80137b6: bf00 nop + 80137b8: 371c adds r7, #28 + 80137ba: 46bd mov sp, r7 + 80137bc: f85d 7b04 ldr.w r7, [sp], #4 + 80137c0: 4770 bx lr -08012dc6 : +080137c2 : void LST_remove_head (tListNode * listHead, tListNode ** node ) { - 8012dc6: b580 push {r7, lr} - 8012dc8: b086 sub sp, #24 - 8012dca: af00 add r7, sp, #0 - 8012dcc: 6078 str r0, [r7, #4] - 8012dce: 6039 str r1, [r7, #0] + 80137c2: b580 push {r7, lr} + 80137c4: b086 sub sp, #24 + 80137c6: af00 add r7, sp, #0 + 80137c8: 6078 str r0, [r7, #4] + 80137ca: 6039 str r1, [r7, #0] __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8012dd0: f3ef 8310 mrs r3, PRIMASK - 8012dd4: 60fb str r3, [r7, #12] + 80137cc: f3ef 8310 mrs r3, PRIMASK + 80137d0: 60fb str r3, [r7, #12] return(result); - 8012dd6: 68fb ldr r3, [r7, #12] + 80137d2: 68fb ldr r3, [r7, #12] uint32_t primask_bit; primask_bit = __get_PRIMASK(); /**< backup PRIMASK bit */ - 8012dd8: 617b str r3, [r7, #20] + 80137d4: 617b str r3, [r7, #20] __ASM volatile ("cpsid i" : : : "memory"); - 8012dda: b672 cpsid i + 80137d6: b672 cpsid i } - 8012ddc: bf00 nop + 80137d8: bf00 nop __disable_irq(); /**< Disable all interrupts by setting PRIMASK bit on Cortex*/ *node = listHead->next; - 8012dde: 687b ldr r3, [r7, #4] - 8012de0: 681a ldr r2, [r3, #0] - 8012de2: 683b ldr r3, [r7, #0] - 8012de4: 601a str r2, [r3, #0] + 80137da: 687b ldr r3, [r7, #4] + 80137dc: 681a ldr r2, [r3, #0] + 80137de: 683b ldr r3, [r7, #0] + 80137e0: 601a str r2, [r3, #0] LST_remove_node (listHead->next); - 8012de6: 687b ldr r3, [r7, #4] - 8012de8: 681b ldr r3, [r3, #0] - 8012dea: 4618 mov r0, r3 - 8012dec: f7ff ffca bl 8012d84 - 8012df0: 697b ldr r3, [r7, #20] - 8012df2: 613b str r3, [r7, #16] + 80137e2: 687b ldr r3, [r7, #4] + 80137e4: 681b ldr r3, [r3, #0] + 80137e6: 4618 mov r0, r3 + 80137e8: f7ff ffca bl 8013780 + 80137ec: 697b ldr r3, [r7, #20] + 80137ee: 613b str r3, [r7, #16] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8012df4: 693b ldr r3, [r7, #16] - 8012df6: f383 8810 msr PRIMASK, r3 + 80137f0: 693b ldr r3, [r7, #16] + 80137f2: f383 8810 msr PRIMASK, r3 } - 8012dfa: bf00 nop + 80137f6: bf00 nop __set_PRIMASK(primask_bit); /**< Restore PRIMASK bit*/ } - 8012dfc: bf00 nop - 8012dfe: 3718 adds r7, #24 - 8012e00: 46bd mov sp, r7 - 8012e02: bd80 pop {r7, pc} + 80137f8: bf00 nop + 80137fa: 3718 adds r7, #24 + 80137fc: 46bd mov sp, r7 + 80137fe: bd80 pop {r7, pc} -08012e04 <__NVIC_SetPriority>: +08013800 <__NVIC_SetPriority>: { - 8012e04: b480 push {r7} - 8012e06: b083 sub sp, #12 - 8012e08: af00 add r7, sp, #0 - 8012e0a: 4603 mov r3, r0 - 8012e0c: 6039 str r1, [r7, #0] - 8012e0e: 71fb strb r3, [r7, #7] + 8013800: b480 push {r7} + 8013802: b083 sub sp, #12 + 8013804: af00 add r7, sp, #0 + 8013806: 4603 mov r3, r0 + 8013808: 6039 str r1, [r7, #0] + 801380a: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 8012e10: f997 3007 ldrsb.w r3, [r7, #7] - 8012e14: 2b00 cmp r3, #0 - 8012e16: db0a blt.n 8012e2e <__NVIC_SetPriority+0x2a> + 801380c: f997 3007 ldrsb.w r3, [r7, #7] + 8013810: 2b00 cmp r3, #0 + 8013812: db0a blt.n 801382a <__NVIC_SetPriority+0x2a> NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8012e18: 683b ldr r3, [r7, #0] - 8012e1a: b2da uxtb r2, r3 - 8012e1c: 490c ldr r1, [pc, #48] @ (8012e50 <__NVIC_SetPriority+0x4c>) - 8012e1e: f997 3007 ldrsb.w r3, [r7, #7] - 8012e22: 0112 lsls r2, r2, #4 - 8012e24: b2d2 uxtb r2, r2 - 8012e26: 440b add r3, r1 - 8012e28: f883 2300 strb.w r2, [r3, #768] @ 0x300 + 8013814: 683b ldr r3, [r7, #0] + 8013816: b2da uxtb r2, r3 + 8013818: 490c ldr r1, [pc, #48] @ (801384c <__NVIC_SetPriority+0x4c>) + 801381a: f997 3007 ldrsb.w r3, [r7, #7] + 801381e: 0112 lsls r2, r2, #4 + 8013820: b2d2 uxtb r2, r2 + 8013822: 440b add r3, r1 + 8013824: f883 2300 strb.w r2, [r3, #768] @ 0x300 } - 8012e2c: e00a b.n 8012e44 <__NVIC_SetPriority+0x40> + 8013828: e00a b.n 8013840 <__NVIC_SetPriority+0x40> SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8012e2e: 683b ldr r3, [r7, #0] - 8012e30: b2da uxtb r2, r3 - 8012e32: 4908 ldr r1, [pc, #32] @ (8012e54 <__NVIC_SetPriority+0x50>) - 8012e34: 79fb ldrb r3, [r7, #7] - 8012e36: f003 030f and.w r3, r3, #15 - 8012e3a: 3b04 subs r3, #4 - 8012e3c: 0112 lsls r2, r2, #4 - 8012e3e: b2d2 uxtb r2, r2 - 8012e40: 440b add r3, r1 - 8012e42: 761a strb r2, [r3, #24] + 801382a: 683b ldr r3, [r7, #0] + 801382c: b2da uxtb r2, r3 + 801382e: 4908 ldr r1, [pc, #32] @ (8013850 <__NVIC_SetPriority+0x50>) + 8013830: 79fb ldrb r3, [r7, #7] + 8013832: f003 030f and.w r3, r3, #15 + 8013836: 3b04 subs r3, #4 + 8013838: 0112 lsls r2, r2, #4 + 801383a: b2d2 uxtb r2, r2 + 801383c: 440b add r3, r1 + 801383e: 761a strb r2, [r3, #24] } - 8012e44: bf00 nop - 8012e46: 370c adds r7, #12 - 8012e48: 46bd mov sp, r7 - 8012e4a: f85d 7b04 ldr.w r7, [sp], #4 - 8012e4e: 4770 bx lr - 8012e50: e000e100 .word 0xe000e100 - 8012e54: e000ed00 .word 0xe000ed00 + 8013840: bf00 nop + 8013842: 370c adds r7, #12 + 8013844: 46bd mov sp, r7 + 8013846: f85d 7b04 ldr.w r7, [sp], #4 + 801384a: 4770 bx lr + 801384c: e000e100 .word 0xe000e100 + 8013850: e000ed00 .word 0xe000ed00 -08012e58 : +08013854 : /* SysTick handler implementation that also clears overflow flag. */ #if (USE_CUSTOM_SYSTICK_HANDLER_IMPLEMENTATION == 0) void SysTick_Handler (void) { - 8012e58: b580 push {r7, lr} - 8012e5a: af00 add r7, sp, #0 + 8013854: b580 push {r7, lr} + 8013856: af00 add r7, sp, #0 #if (configUSE_TICKLESS_IDLE == 0) /* Clear overflow flag */ SysTick->CTRL; - 8012e5c: 4b05 ldr r3, [pc, #20] @ (8012e74 ) - 8012e5e: 681b ldr r3, [r3, #0] + 8013858: 4b05 ldr r3, [pc, #20] @ (8013870 ) + 801385a: 681b ldr r3, [r3, #0] #endif if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { - 8012e60: f002 ff62 bl 8015d28 - 8012e64: 4603 mov r3, r0 - 8012e66: 2b01 cmp r3, #1 - 8012e68: d001 beq.n 8012e6e + 801385c: f002 ff64 bl 8016728 + 8013860: 4603 mov r3, r0 + 8013862: 2b01 cmp r3, #1 + 8013864: d001 beq.n 801386a /* Call tick handler */ xPortSysTickHandler(); - 8012e6a: f004 fb0d bl 8017488 + 8013866: f004 faf7 bl 8017e58 } } - 8012e6e: bf00 nop - 8012e70: bd80 pop {r7, pc} - 8012e72: bf00 nop - 8012e74: e000e010 .word 0xe000e010 + 801386a: bf00 nop + 801386c: bd80 pop {r7, pc} + 801386e: bf00 nop + 8013870: e000e010 .word 0xe000e010 -08012e78 : +08013874 : #endif /* SysTick */ /* Setup SVC to reset value. */ __STATIC_INLINE void SVC_Setup (void) { - 8012e78: b580 push {r7, lr} - 8012e7a: af00 add r7, sp, #0 + 8013874: b580 push {r7, lr} + 8013876: af00 add r7, sp, #0 #if (__ARM_ARCH_7A__ == 0U) /* Service Call interrupt might be configured before kernel start */ /* and when its priority is lower or equal to BASEPRI, svc instruction */ /* causes a Hard Fault. */ NVIC_SetPriority (SVCall_IRQn, 0U); - 8012e7c: 2100 movs r1, #0 - 8012e7e: f06f 0004 mvn.w r0, #4 - 8012e82: f7ff ffbf bl 8012e04 <__NVIC_SetPriority> + 8013878: 2100 movs r1, #0 + 801387a: f06f 0004 mvn.w r0, #4 + 801387e: f7ff ffbf bl 8013800 <__NVIC_SetPriority> #endif } - 8012e86: bf00 nop - 8012e88: bd80 pop {r7, pc} + 8013882: bf00 nop + 8013884: bd80 pop {r7, pc} -08012e8a : +08013886 : #endif /* Determine if CPU executes from interrupt context or if interrupts are masked. */ __STATIC_INLINE uint32_t IRQ_Context (void) { - 8012e8a: b580 push {r7, lr} - 8012e8c: b086 sub sp, #24 - 8012e8e: af00 add r7, sp, #0 + 8013886: b580 push {r7, lr} + 8013888: b086 sub sp, #24 + 801388a: af00 add r7, sp, #0 uint32_t irq; BaseType_t state; irq = 0U; - 8012e90: 2300 movs r3, #0 - 8012e92: 617b str r3, [r7, #20] + 801388c: 2300 movs r3, #0 + 801388e: 617b str r3, [r7, #20] __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); - 8012e94: f3ef 8305 mrs r3, IPSR - 8012e98: 60fb str r3, [r7, #12] + 8013890: f3ef 8305 mrs r3, IPSR + 8013894: 60fb str r3, [r7, #12] return(result); - 8012e9a: 68fb ldr r3, [r7, #12] + 8013896: 68fb ldr r3, [r7, #12] if (IS_IRQ_MODE()) { - 8012e9c: 2b00 cmp r3, #0 - 8012e9e: d002 beq.n 8012ea6 + 8013898: 2b00 cmp r3, #0 + 801389a: d002 beq.n 80138a2 /* Called from interrupt context */ irq = 1U; - 8012ea0: 2301 movs r3, #1 - 8012ea2: 617b str r3, [r7, #20] - 8012ea4: e013 b.n 8012ece + 801389c: 2301 movs r3, #1 + 801389e: 617b str r3, [r7, #20] + 80138a0: e013 b.n 80138ca } else { /* Get FreeRTOS scheduler state */ state = xTaskGetSchedulerState(); - 8012ea6: f002 ff3f bl 8015d28 - 8012eaa: 6138 str r0, [r7, #16] + 80138a2: f002 ff41 bl 8016728 + 80138a6: 6138 str r0, [r7, #16] if (state != taskSCHEDULER_NOT_STARTED) { - 8012eac: 693b ldr r3, [r7, #16] - 8012eae: 2b01 cmp r3, #1 - 8012eb0: d00d beq.n 8012ece + 80138a8: 693b ldr r3, [r7, #16] + 80138aa: 2b01 cmp r3, #1 + 80138ac: d00d beq.n 80138ca __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8012eb2: f3ef 8310 mrs r3, PRIMASK - 8012eb6: 60bb str r3, [r7, #8] + 80138ae: f3ef 8310 mrs r3, PRIMASK + 80138b2: 60bb str r3, [r7, #8] return(result); - 8012eb8: 68bb ldr r3, [r7, #8] + 80138b4: 68bb ldr r3, [r7, #8] /* Scheduler was started */ if (IS_IRQ_MASKED()) { - 8012eba: 2b00 cmp r3, #0 - 8012ebc: d105 bne.n 8012eca + 80138b6: 2b00 cmp r3, #0 + 80138b8: d105 bne.n 80138c6 __ASM volatile ("MRS %0, basepri" : "=r" (result) ); - 8012ebe: f3ef 8311 mrs r3, BASEPRI - 8012ec2: 607b str r3, [r7, #4] + 80138ba: f3ef 8311 mrs r3, BASEPRI + 80138be: 607b str r3, [r7, #4] return(result); - 8012ec4: 687b ldr r3, [r7, #4] - 8012ec6: 2b00 cmp r3, #0 - 8012ec8: d001 beq.n 8012ece + 80138c0: 687b ldr r3, [r7, #4] + 80138c2: 2b00 cmp r3, #0 + 80138c4: d001 beq.n 80138ca /* Interrupts are masked */ irq = 1U; - 8012eca: 2301 movs r3, #1 - 8012ecc: 617b str r3, [r7, #20] + 80138c6: 2301 movs r3, #1 + 80138c8: 617b str r3, [r7, #20] } } } /* Return context, 0: thread context, 1: IRQ context */ return (irq); - 8012ece: 697b ldr r3, [r7, #20] + 80138ca: 697b ldr r3, [r7, #20] } - 8012ed0: 4618 mov r0, r3 - 8012ed2: 3718 adds r7, #24 - 8012ed4: 46bd mov sp, r7 - 8012ed6: bd80 pop {r7, pc} + 80138cc: 4618 mov r0, r3 + 80138ce: 3718 adds r7, #24 + 80138d0: 46bd mov sp, r7 + 80138d2: bd80 pop {r7, pc} -08012ed8 : +080138d4 : /* ==== Kernel Management Functions ==== */ /* Initialize the RTOS Kernel. */ osStatus_t osKernelInitialize (void) { - 8012ed8: b580 push {r7, lr} - 8012eda: b082 sub sp, #8 - 8012edc: af00 add r7, sp, #0 + 80138d4: b580 push {r7, lr} + 80138d6: b082 sub sp, #8 + 80138d8: af00 add r7, sp, #0 osStatus_t stat; BaseType_t state; if (IRQ_Context() != 0U) { - 8012ede: f7ff ffd4 bl 8012e8a - 8012ee2: 4603 mov r3, r0 - 8012ee4: 2b00 cmp r3, #0 - 8012ee6: d003 beq.n 8012ef0 + 80138da: f7ff ffd4 bl 8013886 + 80138de: 4603 mov r3, r0 + 80138e0: 2b00 cmp r3, #0 + 80138e2: d003 beq.n 80138ec stat = osErrorISR; - 8012ee8: f06f 0305 mvn.w r3, #5 - 8012eec: 607b str r3, [r7, #4] - 8012eee: e012 b.n 8012f16 + 80138e4: f06f 0305 mvn.w r3, #5 + 80138e8: 607b str r3, [r7, #4] + 80138ea: e012 b.n 8013912 } else { state = xTaskGetSchedulerState(); - 8012ef0: f002 ff1a bl 8015d28 - 8012ef4: 6038 str r0, [r7, #0] + 80138ec: f002 ff1c bl 8016728 + 80138f0: 6038 str r0, [r7, #0] /* Initialize if scheduler not started and not initialized before */ if ((state == taskSCHEDULER_NOT_STARTED) && (KernelState == osKernelInactive)) { - 8012ef6: 683b ldr r3, [r7, #0] - 8012ef8: 2b01 cmp r3, #1 - 8012efa: d109 bne.n 8012f10 - 8012efc: 4b08 ldr r3, [pc, #32] @ (8012f20 ) - 8012efe: 681b ldr r3, [r3, #0] - 8012f00: 2b00 cmp r3, #0 - 8012f02: d105 bne.n 8012f10 + 80138f2: 683b ldr r3, [r7, #0] + 80138f4: 2b01 cmp r3, #1 + 80138f6: d109 bne.n 801390c + 80138f8: 4b08 ldr r3, [pc, #32] @ (801391c ) + 80138fa: 681b ldr r3, [r3, #0] + 80138fc: 2b00 cmp r3, #0 + 80138fe: d105 bne.n 801390c #endif #if defined(USE_FreeRTOS_HEAP_5) && (HEAP_5_REGION_SETUP == 1) /* Initialize the memory regions when using heap_5 variant */ vPortDefineHeapRegions (configHEAP_5_REGIONS); #endif KernelState = osKernelReady; - 8012f04: 4b06 ldr r3, [pc, #24] @ (8012f20 ) - 8012f06: 2201 movs r2, #1 - 8012f08: 601a str r2, [r3, #0] + 8013900: 4b06 ldr r3, [pc, #24] @ (801391c ) + 8013902: 2201 movs r2, #1 + 8013904: 601a str r2, [r3, #0] stat = osOK; - 8012f0a: 2300 movs r3, #0 - 8012f0c: 607b str r3, [r7, #4] - 8012f0e: e002 b.n 8012f16 + 8013906: 2300 movs r3, #0 + 8013908: 607b str r3, [r7, #4] + 801390a: e002 b.n 8013912 } else { stat = osError; - 8012f10: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 8012f14: 607b str r3, [r7, #4] + 801390c: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8013910: 607b str r3, [r7, #4] } } /* Return execution status */ return (stat); - 8012f16: 687b ldr r3, [r7, #4] + 8013912: 687b ldr r3, [r7, #4] } - 8012f18: 4618 mov r0, r3 - 8012f1a: 3708 adds r7, #8 - 8012f1c: 46bd mov sp, r7 - 8012f1e: bd80 pop {r7, pc} - 8012f20: 200007cc .word 0x200007cc + 8013914: 4618 mov r0, r3 + 8013916: 3708 adds r7, #8 + 8013918: 46bd mov sp, r7 + 801391a: bd80 pop {r7, pc} + 801391c: 200007cc .word 0x200007cc -08012f24 : +08013920 : } /* Start the RTOS Kernel scheduler. */ osStatus_t osKernelStart (void) { - 8012f24: b580 push {r7, lr} - 8012f26: b082 sub sp, #8 - 8012f28: af00 add r7, sp, #0 + 8013920: b580 push {r7, lr} + 8013922: b082 sub sp, #8 + 8013924: af00 add r7, sp, #0 osStatus_t stat; BaseType_t state; if (IRQ_Context() != 0U) { - 8012f2a: f7ff ffae bl 8012e8a - 8012f2e: 4603 mov r3, r0 - 8012f30: 2b00 cmp r3, #0 - 8012f32: d003 beq.n 8012f3c + 8013926: f7ff ffae bl 8013886 + 801392a: 4603 mov r3, r0 + 801392c: 2b00 cmp r3, #0 + 801392e: d003 beq.n 8013938 stat = osErrorISR; - 8012f34: f06f 0305 mvn.w r3, #5 - 8012f38: 607b str r3, [r7, #4] - 8012f3a: e016 b.n 8012f6a + 8013930: f06f 0305 mvn.w r3, #5 + 8013934: 607b str r3, [r7, #4] + 8013936: e016 b.n 8013966 } else { state = xTaskGetSchedulerState(); - 8012f3c: f002 fef4 bl 8015d28 - 8012f40: 6038 str r0, [r7, #0] + 8013938: f002 fef6 bl 8016728 + 801393c: 6038 str r0, [r7, #0] /* Start scheduler if initialized and not started before */ if ((state == taskSCHEDULER_NOT_STARTED) && (KernelState == osKernelReady)) { - 8012f42: 683b ldr r3, [r7, #0] - 8012f44: 2b01 cmp r3, #1 - 8012f46: d10d bne.n 8012f64 - 8012f48: 4b0a ldr r3, [pc, #40] @ (8012f74 ) - 8012f4a: 681b ldr r3, [r3, #0] - 8012f4c: 2b01 cmp r3, #1 - 8012f4e: d109 bne.n 8012f64 + 801393e: 683b ldr r3, [r7, #0] + 8013940: 2b01 cmp r3, #1 + 8013942: d10d bne.n 8013960 + 8013944: 4b0a ldr r3, [pc, #40] @ (8013970 ) + 8013946: 681b ldr r3, [r3, #0] + 8013948: 2b01 cmp r3, #1 + 801394a: d109 bne.n 8013960 /* Ensure SVC priority is at the reset value */ SVC_Setup(); - 8012f50: f7ff ff92 bl 8012e78 + 801394c: f7ff ff92 bl 8013874 /* Change state to ensure correct API flow */ KernelState = osKernelRunning; - 8012f54: 4b07 ldr r3, [pc, #28] @ (8012f74 ) - 8012f56: 2202 movs r2, #2 - 8012f58: 601a str r2, [r3, #0] + 8013950: 4b07 ldr r3, [pc, #28] @ (8013970 ) + 8013952: 2202 movs r2, #2 + 8013954: 601a str r2, [r3, #0] /* Start the kernel scheduler */ vTaskStartScheduler(); - 8012f5a: f002 f92b bl 80151b4 + 8013956: f002 f8f1 bl 8015b3c stat = osOK; - 8012f5e: 2300 movs r3, #0 - 8012f60: 607b str r3, [r7, #4] - 8012f62: e002 b.n 8012f6a + 801395a: 2300 movs r3, #0 + 801395c: 607b str r3, [r7, #4] + 801395e: e002 b.n 8013966 } else { stat = osError; - 8012f64: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 8012f68: 607b str r3, [r7, #4] + 8013960: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8013964: 607b str r3, [r7, #4] } } /* Return execution status */ return (stat); - 8012f6a: 687b ldr r3, [r7, #4] + 8013966: 687b ldr r3, [r7, #4] } - 8012f6c: 4618 mov r0, r3 - 8012f6e: 3708 adds r7, #8 - 8012f70: 46bd mov sp, r7 - 8012f72: bd80 pop {r7, pc} - 8012f74: 200007cc .word 0x200007cc + 8013968: 4618 mov r0, r3 + 801396a: 3708 adds r7, #8 + 801396c: 46bd mov sp, r7 + 801396e: bd80 pop {r7, pc} + 8013970: 200007cc .word 0x200007cc -08012f78 : +08013974 : Limitations: - The memory for control block and stack must be provided in the osThreadAttr_t structure in order to allocate object statically. - Attribute osThreadJoinable is not supported, NULL is returned if used. */ osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr) { - 8012f78: b580 push {r7, lr} - 8012f7a: b08e sub sp, #56 @ 0x38 - 8012f7c: af04 add r7, sp, #16 - 8012f7e: 60f8 str r0, [r7, #12] - 8012f80: 60b9 str r1, [r7, #8] - 8012f82: 607a str r2, [r7, #4] + 8013974: b580 push {r7, lr} + 8013976: b08e sub sp, #56 @ 0x38 + 8013978: af04 add r7, sp, #16 + 801397a: 60f8 str r0, [r7, #12] + 801397c: 60b9 str r1, [r7, #8] + 801397e: 607a str r2, [r7, #4] uint32_t stack; TaskHandle_t hTask; UBaseType_t prio; int32_t mem; hTask = NULL; - 8012f84: 2300 movs r3, #0 - 8012f86: 617b str r3, [r7, #20] + 8013980: 2300 movs r3, #0 + 8013982: 617b str r3, [r7, #20] if ((IRQ_Context() == 0U) && (func != NULL)) { - 8012f88: f7ff ff7f bl 8012e8a - 8012f8c: 4603 mov r3, r0 - 8012f8e: 2b00 cmp r3, #0 - 8012f90: d17f bne.n 8013092 - 8012f92: 68fb ldr r3, [r7, #12] - 8012f94: 2b00 cmp r3, #0 - 8012f96: d07c beq.n 8013092 + 8013984: f7ff ff7f bl 8013886 + 8013988: 4603 mov r3, r0 + 801398a: 2b00 cmp r3, #0 + 801398c: d17f bne.n 8013a8e + 801398e: 68fb ldr r3, [r7, #12] + 8013990: 2b00 cmp r3, #0 + 8013992: d07c beq.n 8013a8e stack = configMINIMAL_STACK_SIZE; - 8012f98: f44f 7300 mov.w r3, #512 @ 0x200 - 8012f9c: 623b str r3, [r7, #32] + 8013994: f44f 7300 mov.w r3, #512 @ 0x200 + 8013998: 623b str r3, [r7, #32] prio = (UBaseType_t)osPriorityNormal; - 8012f9e: 2318 movs r3, #24 - 8012fa0: 61fb str r3, [r7, #28] + 801399a: 2318 movs r3, #24 + 801399c: 61fb str r3, [r7, #28] name = NULL; - 8012fa2: 2300 movs r3, #0 - 8012fa4: 627b str r3, [r7, #36] @ 0x24 + 801399e: 2300 movs r3, #0 + 80139a0: 627b str r3, [r7, #36] @ 0x24 mem = -1; - 8012fa6: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 8012faa: 61bb str r3, [r7, #24] + 80139a2: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 80139a6: 61bb str r3, [r7, #24] if (attr != NULL) { - 8012fac: 687b ldr r3, [r7, #4] - 8012fae: 2b00 cmp r3, #0 - 8012fb0: d045 beq.n 801303e + 80139a8: 687b ldr r3, [r7, #4] + 80139aa: 2b00 cmp r3, #0 + 80139ac: d045 beq.n 8013a3a if (attr->name != NULL) { - 8012fb2: 687b ldr r3, [r7, #4] - 8012fb4: 681b ldr r3, [r3, #0] - 8012fb6: 2b00 cmp r3, #0 - 8012fb8: d002 beq.n 8012fc0 + 80139ae: 687b ldr r3, [r7, #4] + 80139b0: 681b ldr r3, [r3, #0] + 80139b2: 2b00 cmp r3, #0 + 80139b4: d002 beq.n 80139bc name = attr->name; - 8012fba: 687b ldr r3, [r7, #4] - 8012fbc: 681b ldr r3, [r3, #0] - 8012fbe: 627b str r3, [r7, #36] @ 0x24 + 80139b6: 687b ldr r3, [r7, #4] + 80139b8: 681b ldr r3, [r3, #0] + 80139ba: 627b str r3, [r7, #36] @ 0x24 } if (attr->priority != osPriorityNone) { - 8012fc0: 687b ldr r3, [r7, #4] - 8012fc2: 699b ldr r3, [r3, #24] - 8012fc4: 2b00 cmp r3, #0 - 8012fc6: d002 beq.n 8012fce + 80139bc: 687b ldr r3, [r7, #4] + 80139be: 699b ldr r3, [r3, #24] + 80139c0: 2b00 cmp r3, #0 + 80139c2: d002 beq.n 80139ca prio = (UBaseType_t)attr->priority; - 8012fc8: 687b ldr r3, [r7, #4] - 8012fca: 699b ldr r3, [r3, #24] - 8012fcc: 61fb str r3, [r7, #28] + 80139c4: 687b ldr r3, [r7, #4] + 80139c6: 699b ldr r3, [r3, #24] + 80139c8: 61fb str r3, [r7, #28] } if ((prio < osPriorityIdle) || (prio > osPriorityISR) || ((attr->attr_bits & osThreadJoinable) == osThreadJoinable)) { - 8012fce: 69fb ldr r3, [r7, #28] - 8012fd0: 2b00 cmp r3, #0 - 8012fd2: d008 beq.n 8012fe6 - 8012fd4: 69fb ldr r3, [r7, #28] - 8012fd6: 2b38 cmp r3, #56 @ 0x38 - 8012fd8: d805 bhi.n 8012fe6 - 8012fda: 687b ldr r3, [r7, #4] - 8012fdc: 685b ldr r3, [r3, #4] - 8012fde: f003 0301 and.w r3, r3, #1 - 8012fe2: 2b00 cmp r3, #0 - 8012fe4: d001 beq.n 8012fea + 80139ca: 69fb ldr r3, [r7, #28] + 80139cc: 2b00 cmp r3, #0 + 80139ce: d008 beq.n 80139e2 + 80139d0: 69fb ldr r3, [r7, #28] + 80139d2: 2b38 cmp r3, #56 @ 0x38 + 80139d4: d805 bhi.n 80139e2 + 80139d6: 687b ldr r3, [r7, #4] + 80139d8: 685b ldr r3, [r3, #4] + 80139da: f003 0301 and.w r3, r3, #1 + 80139de: 2b00 cmp r3, #0 + 80139e0: d001 beq.n 80139e6 /* Invalid priority or unsupported osThreadJoinable attribute used */ return (NULL); - 8012fe6: 2300 movs r3, #0 - 8012fe8: e054 b.n 8013094 + 80139e2: 2300 movs r3, #0 + 80139e4: e054 b.n 8013a90 } if (attr->stack_size > 0U) { - 8012fea: 687b ldr r3, [r7, #4] - 8012fec: 695b ldr r3, [r3, #20] - 8012fee: 2b00 cmp r3, #0 - 8012ff0: d003 beq.n 8012ffa + 80139e6: 687b ldr r3, [r7, #4] + 80139e8: 695b ldr r3, [r3, #20] + 80139ea: 2b00 cmp r3, #0 + 80139ec: d003 beq.n 80139f6 /* In FreeRTOS stack is not in bytes, but in sizeof(StackType_t) which is 4 on ARM ports. */ /* Stack size should be therefore 4 byte aligned in order to avoid division caused side effects */ stack = attr->stack_size / sizeof(StackType_t); - 8012ff2: 687b ldr r3, [r7, #4] - 8012ff4: 695b ldr r3, [r3, #20] - 8012ff6: 089b lsrs r3, r3, #2 - 8012ff8: 623b str r3, [r7, #32] + 80139ee: 687b ldr r3, [r7, #4] + 80139f0: 695b ldr r3, [r3, #20] + 80139f2: 089b lsrs r3, r3, #2 + 80139f4: 623b str r3, [r7, #32] } if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticTask_t)) && - 8012ffa: 687b ldr r3, [r7, #4] - 8012ffc: 689b ldr r3, [r3, #8] - 8012ffe: 2b00 cmp r3, #0 - 8013000: d00e beq.n 8013020 - 8013002: 687b ldr r3, [r7, #4] - 8013004: 68db ldr r3, [r3, #12] - 8013006: 2b5b cmp r3, #91 @ 0x5b - 8013008: d90a bls.n 8013020 + 80139f6: 687b ldr r3, [r7, #4] + 80139f8: 689b ldr r3, [r3, #8] + 80139fa: 2b00 cmp r3, #0 + 80139fc: d00e beq.n 8013a1c + 80139fe: 687b ldr r3, [r7, #4] + 8013a00: 68db ldr r3, [r3, #12] + 8013a02: 2bab cmp r3, #171 @ 0xab + 8013a04: d90a bls.n 8013a1c (attr->stack_mem != NULL) && (attr->stack_size > 0U)) { - 801300a: 687b ldr r3, [r7, #4] - 801300c: 691b ldr r3, [r3, #16] + 8013a06: 687b ldr r3, [r7, #4] + 8013a08: 691b ldr r3, [r3, #16] if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticTask_t)) && - 801300e: 2b00 cmp r3, #0 - 8013010: d006 beq.n 8013020 + 8013a0a: 2b00 cmp r3, #0 + 8013a0c: d006 beq.n 8013a1c (attr->stack_mem != NULL) && (attr->stack_size > 0U)) { - 8013012: 687b ldr r3, [r7, #4] - 8013014: 695b ldr r3, [r3, #20] - 8013016: 2b00 cmp r3, #0 - 8013018: d002 beq.n 8013020 + 8013a0e: 687b ldr r3, [r7, #4] + 8013a10: 695b ldr r3, [r3, #20] + 8013a12: 2b00 cmp r3, #0 + 8013a14: d002 beq.n 8013a1c /* The memory for control block and stack is provided, use static object */ mem = 1; - 801301a: 2301 movs r3, #1 - 801301c: 61bb str r3, [r7, #24] - 801301e: e010 b.n 8013042 + 8013a16: 2301 movs r3, #1 + 8013a18: 61bb str r3, [r7, #24] + 8013a1a: e010 b.n 8013a3e } else { if ((attr->cb_mem == NULL) && (attr->cb_size == 0U) && (attr->stack_mem == NULL)) { - 8013020: 687b ldr r3, [r7, #4] - 8013022: 689b ldr r3, [r3, #8] - 8013024: 2b00 cmp r3, #0 - 8013026: d10c bne.n 8013042 - 8013028: 687b ldr r3, [r7, #4] - 801302a: 68db ldr r3, [r3, #12] - 801302c: 2b00 cmp r3, #0 - 801302e: d108 bne.n 8013042 - 8013030: 687b ldr r3, [r7, #4] - 8013032: 691b ldr r3, [r3, #16] - 8013034: 2b00 cmp r3, #0 - 8013036: d104 bne.n 8013042 + 8013a1c: 687b ldr r3, [r7, #4] + 8013a1e: 689b ldr r3, [r3, #8] + 8013a20: 2b00 cmp r3, #0 + 8013a22: d10c bne.n 8013a3e + 8013a24: 687b ldr r3, [r7, #4] + 8013a26: 68db ldr r3, [r3, #12] + 8013a28: 2b00 cmp r3, #0 + 8013a2a: d108 bne.n 8013a3e + 8013a2c: 687b ldr r3, [r7, #4] + 8013a2e: 691b ldr r3, [r3, #16] + 8013a30: 2b00 cmp r3, #0 + 8013a32: d104 bne.n 8013a3e /* Control block and stack memory will be allocated from the dynamic pool */ mem = 0; - 8013038: 2300 movs r3, #0 - 801303a: 61bb str r3, [r7, #24] - 801303c: e001 b.n 8013042 + 8013a34: 2300 movs r3, #0 + 8013a36: 61bb str r3, [r7, #24] + 8013a38: e001 b.n 8013a3e } } } else { mem = 0; - 801303e: 2300 movs r3, #0 - 8013040: 61bb str r3, [r7, #24] + 8013a3a: 2300 movs r3, #0 + 8013a3c: 61bb str r3, [r7, #24] } if (mem == 1) { - 8013042: 69bb ldr r3, [r7, #24] - 8013044: 2b01 cmp r3, #1 - 8013046: d110 bne.n 801306a + 8013a3e: 69bb ldr r3, [r7, #24] + 8013a40: 2b01 cmp r3, #1 + 8013a42: d110 bne.n 8013a66 #if (configSUPPORT_STATIC_ALLOCATION == 1) hTask = xTaskCreateStatic ((TaskFunction_t)func, name, stack, argument, prio, (StackType_t *)attr->stack_mem, - 8013048: 687b ldr r3, [r7, #4] - 801304a: 691b ldr r3, [r3, #16] + 8013a44: 687b ldr r3, [r7, #4] + 8013a46: 691b ldr r3, [r3, #16] (StaticTask_t *)attr->cb_mem); - 801304c: 687a ldr r2, [r7, #4] - 801304e: 6892 ldr r2, [r2, #8] + 8013a48: 687a ldr r2, [r7, #4] + 8013a4a: 6892 ldr r2, [r2, #8] hTask = xTaskCreateStatic ((TaskFunction_t)func, name, stack, argument, prio, (StackType_t *)attr->stack_mem, - 8013050: 9202 str r2, [sp, #8] - 8013052: 9301 str r3, [sp, #4] - 8013054: 69fb ldr r3, [r7, #28] - 8013056: 9300 str r3, [sp, #0] - 8013058: 68bb ldr r3, [r7, #8] - 801305a: 6a3a ldr r2, [r7, #32] - 801305c: 6a79 ldr r1, [r7, #36] @ 0x24 - 801305e: 68f8 ldr r0, [r7, #12] - 8013060: f001 fe9a bl 8014d98 - 8013064: 4603 mov r3, r0 - 8013066: 617b str r3, [r7, #20] - 8013068: e013 b.n 8013092 + 8013a4c: 9202 str r2, [sp, #8] + 8013a4e: 9301 str r3, [sp, #4] + 8013a50: 69fb ldr r3, [r7, #28] + 8013a52: 9300 str r3, [sp, #0] + 8013a54: 68bb ldr r3, [r7, #8] + 8013a56: 6a3a ldr r2, [r7, #32] + 8013a58: 6a79 ldr r1, [r7, #36] @ 0x24 + 8013a5a: 68f8 ldr r0, [r7, #12] + 8013a5c: f001 fe80 bl 8015760 + 8013a60: 4603 mov r3, r0 + 8013a62: 617b str r3, [r7, #20] + 8013a64: e013 b.n 8013a8e #endif } else { if (mem == 0) { - 801306a: 69bb ldr r3, [r7, #24] - 801306c: 2b00 cmp r3, #0 - 801306e: d110 bne.n 8013092 + 8013a66: 69bb ldr r3, [r7, #24] + 8013a68: 2b00 cmp r3, #0 + 8013a6a: d110 bne.n 8013a8e #if (configSUPPORT_DYNAMIC_ALLOCATION == 1) if (xTaskCreate ((TaskFunction_t)func, name, (configSTACK_DEPTH_TYPE)stack, argument, prio, &hTask) != pdPASS) { - 8013070: 6a3b ldr r3, [r7, #32] - 8013072: b29a uxth r2, r3 - 8013074: f107 0314 add.w r3, r7, #20 - 8013078: 9301 str r3, [sp, #4] - 801307a: 69fb ldr r3, [r7, #28] - 801307c: 9300 str r3, [sp, #0] - 801307e: 68bb ldr r3, [r7, #8] - 8013080: 6a79 ldr r1, [r7, #36] @ 0x24 - 8013082: 68f8 ldr r0, [r7, #12] - 8013084: f001 feed bl 8014e62 - 8013088: 4603 mov r3, r0 - 801308a: 2b01 cmp r3, #1 - 801308c: d001 beq.n 8013092 + 8013a6c: 6a3b ldr r3, [r7, #32] + 8013a6e: b29a uxth r2, r3 + 8013a70: f107 0314 add.w r3, r7, #20 + 8013a74: 9301 str r3, [sp, #4] + 8013a76: 69fb ldr r3, [r7, #28] + 8013a78: 9300 str r3, [sp, #0] + 8013a7a: 68bb ldr r3, [r7, #8] + 8013a7c: 6a79 ldr r1, [r7, #36] @ 0x24 + 8013a7e: 68f8 ldr r0, [r7, #12] + 8013a80: f001 fed3 bl 801582a + 8013a84: 4603 mov r3, r0 + 8013a86: 2b01 cmp r3, #1 + 8013a88: d001 beq.n 8013a8e hTask = NULL; - 801308e: 2300 movs r3, #0 - 8013090: 617b str r3, [r7, #20] + 8013a8a: 2300 movs r3, #0 + 8013a8c: 617b str r3, [r7, #20] } } } /* Return thread ID */ return ((osThreadId_t)hTask); - 8013092: 697b ldr r3, [r7, #20] + 8013a8e: 697b ldr r3, [r7, #20] } - 8013094: 4618 mov r0, r3 - 8013096: 3728 adds r7, #40 @ 0x28 - 8013098: 46bd mov sp, r7 - 801309a: bd80 pop {r7, pc} + 8013a90: 4618 mov r0, r3 + 8013a92: 3728 adds r7, #40 @ 0x28 + 8013a94: 46bd mov sp, r7 + 8013a96: bd80 pop {r7, pc} -0801309c : +08013a98 : } /* Return the thread ID of the current running thread. */ osThreadId_t osThreadGetId (void) { - 801309c: b580 push {r7, lr} - 801309e: b082 sub sp, #8 - 80130a0: af00 add r7, sp, #0 + 8013a98: b580 push {r7, lr} + 8013a9a: b082 sub sp, #8 + 8013a9c: af00 add r7, sp, #0 osThreadId_t id; id = (osThreadId_t)xTaskGetCurrentTaskHandle(); - 80130a2: f002 fe31 bl 8015d08 - 80130a6: 6078 str r0, [r7, #4] + 8013a9e: f002 fe33 bl 8016708 + 8013aa2: 6078 str r0, [r7, #4] /* Return thread ID */ return (id); - 80130a8: 687b ldr r3, [r7, #4] + 8013aa4: 687b ldr r3, [r7, #4] } - 80130aa: 4618 mov r0, r3 - 80130ac: 3708 adds r7, #8 - 80130ae: 46bd mov sp, r7 - 80130b0: bd80 pop {r7, pc} + 8013aa6: 4618 mov r0, r3 + 8013aa8: 3708 adds r7, #8 + 8013aaa: 46bd mov sp, r7 + 8013aac: bd80 pop {r7, pc} ... -080130b4 : +08013ab0 : #if (configUSE_OS2_THREAD_FLAGS == 1) /* Set the specified Thread Flags of a thread. */ uint32_t osThreadFlagsSet (osThreadId_t thread_id, uint32_t flags) { - 80130b4: b580 push {r7, lr} - 80130b6: b088 sub sp, #32 - 80130b8: af02 add r7, sp, #8 - 80130ba: 6078 str r0, [r7, #4] - 80130bc: 6039 str r1, [r7, #0] + 8013ab0: b580 push {r7, lr} + 8013ab2: b088 sub sp, #32 + 8013ab4: af02 add r7, sp, #8 + 8013ab6: 6078 str r0, [r7, #4] + 8013ab8: 6039 str r1, [r7, #0] TaskHandle_t hTask = (TaskHandle_t)thread_id; - 80130be: 687b ldr r3, [r7, #4] - 80130c0: 617b str r3, [r7, #20] + 8013aba: 687b ldr r3, [r7, #4] + 8013abc: 617b str r3, [r7, #20] uint32_t rflags; BaseType_t yield; if ((hTask == NULL) || ((flags & THREAD_FLAGS_INVALID_BITS) != 0U)) { - 80130c2: 697b ldr r3, [r7, #20] - 80130c4: 2b00 cmp r3, #0 - 80130c6: d002 beq.n 80130ce - 80130c8: 683b ldr r3, [r7, #0] - 80130ca: 2b00 cmp r3, #0 - 80130cc: da03 bge.n 80130d6 + 8013abe: 697b ldr r3, [r7, #20] + 8013ac0: 2b00 cmp r3, #0 + 8013ac2: d002 beq.n 8013aca + 8013ac4: 683b ldr r3, [r7, #0] + 8013ac6: 2b00 cmp r3, #0 + 8013ac8: da03 bge.n 8013ad2 rflags = (uint32_t)osErrorParameter; - 80130ce: f06f 0303 mvn.w r3, #3 - 80130d2: 613b str r3, [r7, #16] - 80130d4: e03c b.n 8013150 + 8013aca: f06f 0303 mvn.w r3, #3 + 8013ace: 613b str r3, [r7, #16] + 8013ad0: e03c b.n 8013b4c } else { rflags = (uint32_t)osError; - 80130d6: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 80130da: 613b str r3, [r7, #16] + 8013ad2: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8013ad6: 613b str r3, [r7, #16] if (IRQ_Context() != 0U) { - 80130dc: f7ff fed5 bl 8012e8a - 80130e0: 4603 mov r3, r0 - 80130e2: 2b00 cmp r3, #0 - 80130e4: d023 beq.n 801312e + 8013ad8: f7ff fed5 bl 8013886 + 8013adc: 4603 mov r3, r0 + 8013ade: 2b00 cmp r3, #0 + 8013ae0: d023 beq.n 8013b2a yield = pdFALSE; - 80130e6: 2300 movs r3, #0 - 80130e8: 60fb str r3, [r7, #12] + 8013ae2: 2300 movs r3, #0 + 8013ae4: 60fb str r3, [r7, #12] (void)xTaskNotifyFromISR (hTask, flags, eSetBits, &yield); - 80130ea: f107 030c add.w r3, r7, #12 - 80130ee: 9301 str r3, [sp, #4] - 80130f0: 2300 movs r3, #0 - 80130f2: 9300 str r3, [sp, #0] - 80130f4: 2301 movs r3, #1 - 80130f6: 683a ldr r2, [r7, #0] - 80130f8: 2100 movs r1, #0 - 80130fa: 6978 ldr r0, [r7, #20] - 80130fc: f003 fa3a bl 8016574 + 8013ae6: f107 030c add.w r3, r7, #12 + 8013aea: 9301 str r3, [sp, #4] + 8013aec: 2300 movs r3, #0 + 8013aee: 9300 str r3, [sp, #0] + 8013af0: 2301 movs r3, #1 + 8013af2: 683a ldr r2, [r7, #0] + 8013af4: 2100 movs r1, #0 + 8013af6: 6978 ldr r0, [r7, #20] + 8013af8: f003 fa2c bl 8016f54 (void)xTaskNotifyAndQueryFromISR (hTask, 0, eNoAction, &rflags, NULL); - 8013100: 2300 movs r3, #0 - 8013102: 9301 str r3, [sp, #4] - 8013104: f107 0310 add.w r3, r7, #16 - 8013108: 9300 str r3, [sp, #0] - 801310a: 2300 movs r3, #0 - 801310c: 2200 movs r2, #0 - 801310e: 2100 movs r1, #0 - 8013110: 6978 ldr r0, [r7, #20] - 8013112: f003 fa2f bl 8016574 + 8013afc: 2300 movs r3, #0 + 8013afe: 9301 str r3, [sp, #4] + 8013b00: f107 0310 add.w r3, r7, #16 + 8013b04: 9300 str r3, [sp, #0] + 8013b06: 2300 movs r3, #0 + 8013b08: 2200 movs r2, #0 + 8013b0a: 2100 movs r1, #0 + 8013b0c: 6978 ldr r0, [r7, #20] + 8013b0e: f003 fa21 bl 8016f54 portYIELD_FROM_ISR (yield); - 8013116: 68fb ldr r3, [r7, #12] - 8013118: 2b00 cmp r3, #0 - 801311a: d019 beq.n 8013150 - 801311c: 4b0f ldr r3, [pc, #60] @ (801315c ) - 801311e: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8013122: 601a str r2, [r3, #0] - 8013124: f3bf 8f4f dsb sy - 8013128: f3bf 8f6f isb sy - 801312c: e010 b.n 8013150 + 8013b12: 68fb ldr r3, [r7, #12] + 8013b14: 2b00 cmp r3, #0 + 8013b16: d019 beq.n 8013b4c + 8013b18: 4b0f ldr r3, [pc, #60] @ (8013b58 ) + 8013b1a: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8013b1e: 601a str r2, [r3, #0] + 8013b20: f3bf 8f4f dsb sy + 8013b24: f3bf 8f6f isb sy + 8013b28: e010 b.n 8013b4c } else { (void)xTaskNotify (hTask, flags, eSetBits); - 801312e: 2300 movs r3, #0 - 8013130: 9300 str r3, [sp, #0] - 8013132: 2301 movs r3, #1 - 8013134: 683a ldr r2, [r7, #0] - 8013136: 2100 movs r1, #0 - 8013138: 6978 ldr r0, [r7, #20] - 801313a: f003 f8ed bl 8016318 + 8013b2a: 2300 movs r3, #0 + 8013b2c: 9300 str r3, [sp, #0] + 8013b2e: 2301 movs r3, #1 + 8013b30: 683a ldr r2, [r7, #0] + 8013b32: 2100 movs r1, #0 + 8013b34: 6978 ldr r0, [r7, #20] + 8013b36: f003 f8e5 bl 8016d04 (void)xTaskNotifyAndQuery (hTask, 0, eNoAction, &rflags); - 801313e: f107 0310 add.w r3, r7, #16 - 8013142: 9300 str r3, [sp, #0] - 8013144: 2300 movs r3, #0 - 8013146: 2200 movs r2, #0 - 8013148: 2100 movs r1, #0 - 801314a: 6978 ldr r0, [r7, #20] - 801314c: f003 f8e4 bl 8016318 + 8013b3a: f107 0310 add.w r3, r7, #16 + 8013b3e: 9300 str r3, [sp, #0] + 8013b40: 2300 movs r3, #0 + 8013b42: 2200 movs r2, #0 + 8013b44: 2100 movs r1, #0 + 8013b46: 6978 ldr r0, [r7, #20] + 8013b48: f003 f8dc bl 8016d04 } } /* Return flags after setting */ return (rflags); - 8013150: 693b ldr r3, [r7, #16] + 8013b4c: 693b ldr r3, [r7, #16] } - 8013152: 4618 mov r0, r3 - 8013154: 3718 adds r7, #24 - 8013156: 46bd mov sp, r7 - 8013158: bd80 pop {r7, pc} - 801315a: bf00 nop - 801315c: e000ed04 .word 0xe000ed04 + 8013b4e: 4618 mov r0, r3 + 8013b50: 3718 adds r7, #24 + 8013b52: 46bd mov sp, r7 + 8013b54: bd80 pop {r7, pc} + 8013b56: bf00 nop + 8013b58: e000ed04 .word 0xe000ed04 -08013160 : +08013b5c : } /* Wait for one or more Thread Flags of the current running thread to become signaled. */ uint32_t osThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout) { - 8013160: b580 push {r7, lr} - 8013162: b08e sub sp, #56 @ 0x38 - 8013164: af02 add r7, sp, #8 - 8013166: 60f8 str r0, [r7, #12] - 8013168: 60b9 str r1, [r7, #8] - 801316a: 607a str r2, [r7, #4] + 8013b5c: b580 push {r7, lr} + 8013b5e: b08e sub sp, #56 @ 0x38 + 8013b60: af02 add r7, sp, #8 + 8013b62: 60f8 str r0, [r7, #12] + 8013b64: 60b9 str r1, [r7, #8] + 8013b66: 607a str r2, [r7, #4] uint32_t rflags, nval; uint32_t clear; TickType_t t0, td, tout; BaseType_t rval; if (IRQ_Context() != 0U) { - 801316c: f7ff fe8d bl 8012e8a - 8013170: 4603 mov r3, r0 - 8013172: 2b00 cmp r3, #0 - 8013174: d003 beq.n 801317e + 8013b68: f7ff fe8d bl 8013886 + 8013b6c: 4603 mov r3, r0 + 8013b6e: 2b00 cmp r3, #0 + 8013b70: d003 beq.n 8013b7a rflags = (uint32_t)osErrorISR; - 8013176: f06f 0305 mvn.w r3, #5 - 801317a: 62fb str r3, [r7, #44] @ 0x2c - 801317c: e06e b.n 801325c + 8013b72: f06f 0305 mvn.w r3, #5 + 8013b76: 62fb str r3, [r7, #44] @ 0x2c + 8013b78: e06e b.n 8013c58 } else if ((flags & THREAD_FLAGS_INVALID_BITS) != 0U) { - 801317e: 68fb ldr r3, [r7, #12] - 8013180: 2b00 cmp r3, #0 - 8013182: da03 bge.n 801318c + 8013b7a: 68fb ldr r3, [r7, #12] + 8013b7c: 2b00 cmp r3, #0 + 8013b7e: da03 bge.n 8013b88 rflags = (uint32_t)osErrorParameter; - 8013184: f06f 0303 mvn.w r3, #3 - 8013188: 62fb str r3, [r7, #44] @ 0x2c - 801318a: e067 b.n 801325c + 8013b80: f06f 0303 mvn.w r3, #3 + 8013b84: 62fb str r3, [r7, #44] @ 0x2c + 8013b86: e067 b.n 8013c58 } else { if ((options & osFlagsNoClear) == osFlagsNoClear) { - 801318c: 68bb ldr r3, [r7, #8] - 801318e: f003 0302 and.w r3, r3, #2 - 8013192: 2b00 cmp r3, #0 - 8013194: d002 beq.n 801319c + 8013b88: 68bb ldr r3, [r7, #8] + 8013b8a: f003 0302 and.w r3, r3, #2 + 8013b8e: 2b00 cmp r3, #0 + 8013b90: d002 beq.n 8013b98 clear = 0U; - 8013196: 2300 movs r3, #0 - 8013198: 62bb str r3, [r7, #40] @ 0x28 - 801319a: e001 b.n 80131a0 + 8013b92: 2300 movs r3, #0 + 8013b94: 62bb str r3, [r7, #40] @ 0x28 + 8013b96: e001 b.n 8013b9c } else { clear = flags; - 801319c: 68fb ldr r3, [r7, #12] - 801319e: 62bb str r3, [r7, #40] @ 0x28 + 8013b98: 68fb ldr r3, [r7, #12] + 8013b9a: 62bb str r3, [r7, #40] @ 0x28 } rflags = 0U; - 80131a0: 2300 movs r3, #0 - 80131a2: 62fb str r3, [r7, #44] @ 0x2c + 8013b9c: 2300 movs r3, #0 + 8013b9e: 62fb str r3, [r7, #44] @ 0x2c tout = timeout; - 80131a4: 687b ldr r3, [r7, #4] - 80131a6: 627b str r3, [r7, #36] @ 0x24 + 8013ba0: 687b ldr r3, [r7, #4] + 8013ba2: 627b str r3, [r7, #36] @ 0x24 t0 = xTaskGetTickCount(); - 80131a8: f002 f97c bl 80154a4 - 80131ac: 6238 str r0, [r7, #32] + 8013ba4: f002 f94a bl 8015e3c + 8013ba8: 6238 str r0, [r7, #32] do { rval = xTaskNotifyWait (0, clear, &nval, tout); - 80131ae: f107 0214 add.w r2, r7, #20 - 80131b2: 6a7b ldr r3, [r7, #36] @ 0x24 - 80131b4: 9300 str r3, [sp, #0] - 80131b6: 4613 mov r3, r2 - 80131b8: 6aba ldr r2, [r7, #40] @ 0x28 - 80131ba: 2100 movs r1, #0 - 80131bc: 2000 movs r0, #0 - 80131be: f003 f825 bl 801620c - 80131c2: 61f8 str r0, [r7, #28] + 8013baa: f107 0214 add.w r2, r7, #20 + 8013bae: 6a7b ldr r3, [r7, #36] @ 0x24 + 8013bb0: 9300 str r3, [sp, #0] + 8013bb2: 4613 mov r3, r2 + 8013bb4: 6aba ldr r2, [r7, #40] @ 0x28 + 8013bb6: 2100 movs r1, #0 + 8013bb8: 2000 movs r0, #0 + 8013bba: f003 f823 bl 8016c04 + 8013bbe: 61f8 str r0, [r7, #28] if (rval == pdPASS) { - 80131c4: 69fb ldr r3, [r7, #28] - 80131c6: 2b01 cmp r3, #1 - 80131c8: d137 bne.n 801323a + 8013bc0: 69fb ldr r3, [r7, #28] + 8013bc2: 2b01 cmp r3, #1 + 8013bc4: d137 bne.n 8013c36 rflags &= flags; - 80131ca: 6afa ldr r2, [r7, #44] @ 0x2c - 80131cc: 68fb ldr r3, [r7, #12] - 80131ce: 4013 ands r3, r2 - 80131d0: 62fb str r3, [r7, #44] @ 0x2c + 8013bc6: 6afa ldr r2, [r7, #44] @ 0x2c + 8013bc8: 68fb ldr r3, [r7, #12] + 8013bca: 4013 ands r3, r2 + 8013bcc: 62fb str r3, [r7, #44] @ 0x2c rflags |= nval; - 80131d2: 697b ldr r3, [r7, #20] - 80131d4: 6afa ldr r2, [r7, #44] @ 0x2c - 80131d6: 4313 orrs r3, r2 - 80131d8: 62fb str r3, [r7, #44] @ 0x2c + 8013bce: 697b ldr r3, [r7, #20] + 8013bd0: 6afa ldr r2, [r7, #44] @ 0x2c + 8013bd2: 4313 orrs r3, r2 + 8013bd4: 62fb str r3, [r7, #44] @ 0x2c if ((options & osFlagsWaitAll) == osFlagsWaitAll) { - 80131da: 68bb ldr r3, [r7, #8] - 80131dc: f003 0301 and.w r3, r3, #1 - 80131e0: 2b00 cmp r3, #0 - 80131e2: d00c beq.n 80131fe + 8013bd6: 68bb ldr r3, [r7, #8] + 8013bd8: f003 0301 and.w r3, r3, #1 + 8013bdc: 2b00 cmp r3, #0 + 8013bde: d00c beq.n 8013bfa if ((flags & rflags) == flags) { - 80131e4: 68fa ldr r2, [r7, #12] - 80131e6: 6afb ldr r3, [r7, #44] @ 0x2c - 80131e8: 4013 ands r3, r2 - 80131ea: 68fa ldr r2, [r7, #12] - 80131ec: 429a cmp r2, r3 - 80131ee: d032 beq.n 8013256 + 8013be0: 68fa ldr r2, [r7, #12] + 8013be2: 6afb ldr r3, [r7, #44] @ 0x2c + 8013be4: 4013 ands r3, r2 + 8013be6: 68fa ldr r2, [r7, #12] + 8013be8: 429a cmp r2, r3 + 8013bea: d032 beq.n 8013c52 break; } else { if (timeout == 0U) { - 80131f0: 687b ldr r3, [r7, #4] - 80131f2: 2b00 cmp r3, #0 - 80131f4: d10f bne.n 8013216 + 8013bec: 687b ldr r3, [r7, #4] + 8013bee: 2b00 cmp r3, #0 + 8013bf0: d10f bne.n 8013c12 rflags = (uint32_t)osErrorResource; - 80131f6: f06f 0302 mvn.w r3, #2 - 80131fa: 62fb str r3, [r7, #44] @ 0x2c + 8013bf2: f06f 0302 mvn.w r3, #2 + 8013bf6: 62fb str r3, [r7, #44] @ 0x2c break; - 80131fc: e02e b.n 801325c + 8013bf8: e02e b.n 8013c58 } } } else { if ((flags & rflags) != 0) { - 80131fe: 68fa ldr r2, [r7, #12] - 8013200: 6afb ldr r3, [r7, #44] @ 0x2c - 8013202: 4013 ands r3, r2 - 8013204: 2b00 cmp r3, #0 - 8013206: d128 bne.n 801325a + 8013bfa: 68fa ldr r2, [r7, #12] + 8013bfc: 6afb ldr r3, [r7, #44] @ 0x2c + 8013bfe: 4013 ands r3, r2 + 8013c00: 2b00 cmp r3, #0 + 8013c02: d128 bne.n 8013c56 break; } else { if (timeout == 0U) { - 8013208: 687b ldr r3, [r7, #4] - 801320a: 2b00 cmp r3, #0 - 801320c: d103 bne.n 8013216 + 8013c04: 687b ldr r3, [r7, #4] + 8013c06: 2b00 cmp r3, #0 + 8013c08: d103 bne.n 8013c12 rflags = (uint32_t)osErrorResource; - 801320e: f06f 0302 mvn.w r3, #2 - 8013212: 62fb str r3, [r7, #44] @ 0x2c + 8013c0a: f06f 0302 mvn.w r3, #2 + 8013c0e: 62fb str r3, [r7, #44] @ 0x2c break; - 8013214: e022 b.n 801325c + 8013c10: e022 b.n 8013c58 } } } /* Update timeout */ td = xTaskGetTickCount() - t0; - 8013216: f002 f945 bl 80154a4 - 801321a: 4602 mov r2, r0 - 801321c: 6a3b ldr r3, [r7, #32] - 801321e: 1ad3 subs r3, r2, r3 - 8013220: 61bb str r3, [r7, #24] + 8013c12: f002 f913 bl 8015e3c + 8013c16: 4602 mov r2, r0 + 8013c18: 6a3b ldr r3, [r7, #32] + 8013c1a: 1ad3 subs r3, r2, r3 + 8013c1c: 61bb str r3, [r7, #24] if (td > timeout) { - 8013222: 69ba ldr r2, [r7, #24] - 8013224: 687b ldr r3, [r7, #4] - 8013226: 429a cmp r2, r3 - 8013228: d902 bls.n 8013230 + 8013c1e: 69ba ldr r2, [r7, #24] + 8013c20: 687b ldr r3, [r7, #4] + 8013c22: 429a cmp r2, r3 + 8013c24: d902 bls.n 8013c2c tout = 0; - 801322a: 2300 movs r3, #0 - 801322c: 627b str r3, [r7, #36] @ 0x24 - 801322e: e00e b.n 801324e + 8013c26: 2300 movs r3, #0 + 8013c28: 627b str r3, [r7, #36] @ 0x24 + 8013c2a: e00e b.n 8013c4a } else { tout = timeout - td; - 8013230: 687a ldr r2, [r7, #4] - 8013232: 69bb ldr r3, [r7, #24] - 8013234: 1ad3 subs r3, r2, r3 - 8013236: 627b str r3, [r7, #36] @ 0x24 - 8013238: e009 b.n 801324e + 8013c2c: 687a ldr r2, [r7, #4] + 8013c2e: 69bb ldr r3, [r7, #24] + 8013c30: 1ad3 subs r3, r2, r3 + 8013c32: 627b str r3, [r7, #36] @ 0x24 + 8013c34: e009 b.n 8013c4a } } else { if (timeout == 0) { - 801323a: 687b ldr r3, [r7, #4] - 801323c: 2b00 cmp r3, #0 - 801323e: d103 bne.n 8013248 + 8013c36: 687b ldr r3, [r7, #4] + 8013c38: 2b00 cmp r3, #0 + 8013c3a: d103 bne.n 8013c44 rflags = (uint32_t)osErrorResource; - 8013240: f06f 0302 mvn.w r3, #2 - 8013244: 62fb str r3, [r7, #44] @ 0x2c - 8013246: e002 b.n 801324e + 8013c3c: f06f 0302 mvn.w r3, #2 + 8013c40: 62fb str r3, [r7, #44] @ 0x2c + 8013c42: e002 b.n 8013c4a } else { rflags = (uint32_t)osErrorTimeout; - 8013248: f06f 0301 mvn.w r3, #1 - 801324c: 62fb str r3, [r7, #44] @ 0x2c + 8013c44: f06f 0301 mvn.w r3, #1 + 8013c48: 62fb str r3, [r7, #44] @ 0x2c } } } while (rval != pdFAIL); - 801324e: 69fb ldr r3, [r7, #28] - 8013250: 2b00 cmp r3, #0 - 8013252: d1ac bne.n 80131ae - 8013254: e002 b.n 801325c + 8013c4a: 69fb ldr r3, [r7, #28] + 8013c4c: 2b00 cmp r3, #0 + 8013c4e: d1ac bne.n 8013baa + 8013c50: e002 b.n 8013c58 break; - 8013256: bf00 nop - 8013258: e000 b.n 801325c + 8013c52: bf00 nop + 8013c54: e000 b.n 8013c58 break; - 801325a: bf00 nop + 8013c56: bf00 nop } /* Return flags before clearing */ return (rflags); - 801325c: 6afb ldr r3, [r7, #44] @ 0x2c + 8013c58: 6afb ldr r3, [r7, #44] @ 0x2c } - 801325e: 4618 mov r0, r3 - 8013260: 3730 adds r7, #48 @ 0x30 - 8013262: 46bd mov sp, r7 - 8013264: bd80 pop {r7, pc} + 8013c5a: 4618 mov r0, r3 + 8013c5c: 3730 adds r7, #48 @ 0x30 + 8013c5e: 46bd mov sp, r7 + 8013c60: bd80 pop {r7, pc} -08013266 : -/* ==== Generic Wait Functions ==== */ - -/* - Wait for Timeout (Time Delay). -*/ -osStatus_t osDelay (uint32_t ticks) { - 8013266: b580 push {r7, lr} - 8013268: b084 sub sp, #16 - 801326a: af00 add r7, sp, #0 - 801326c: 6078 str r0, [r7, #4] - osStatus_t stat; - - if (IRQ_Context() != 0U) { - 801326e: f7ff fe0c bl 8012e8a - 8013272: 4603 mov r3, r0 - 8013274: 2b00 cmp r3, #0 - 8013276: d003 beq.n 8013280 - stat = osErrorISR; - 8013278: f06f 0305 mvn.w r3, #5 - 801327c: 60fb str r3, [r7, #12] - 801327e: e007 b.n 8013290 - } - else { - stat = osOK; - 8013280: 2300 movs r3, #0 - 8013282: 60fb str r3, [r7, #12] - - if (ticks != 0U) { - 8013284: 687b ldr r3, [r7, #4] - 8013286: 2b00 cmp r3, #0 - 8013288: d002 beq.n 8013290 - vTaskDelay(ticks); - 801328a: 6878 ldr r0, [r7, #4] - 801328c: f001 ff5c bl 8015148 - } - } - - /* Return execution status */ - return (stat); - 8013290: 68fb ldr r3, [r7, #12] -} - 8013292: 4618 mov r0, r3 - 8013294: 3710 adds r7, #16 - 8013296: 46bd mov sp, r7 - 8013298: bd80 pop {r7, pc} - -0801329a : +08013c62 : Limitations: - Priority inherit protocol is used by default, osMutexPrioInherit attribute is ignored. - Robust mutex is not supported, NULL is returned if used. */ osMutexId_t osMutexNew (const osMutexAttr_t *attr) { - 801329a: b580 push {r7, lr} - 801329c: b086 sub sp, #24 - 801329e: af00 add r7, sp, #0 - 80132a0: 6078 str r0, [r7, #4] + 8013c62: b580 push {r7, lr} + 8013c64: b086 sub sp, #24 + 8013c66: af00 add r7, sp, #0 + 8013c68: 6078 str r0, [r7, #4] SemaphoreHandle_t hMutex; uint32_t type; uint32_t rmtx; int32_t mem; hMutex = NULL; - 80132a2: 2300 movs r3, #0 - 80132a4: 617b str r3, [r7, #20] + 8013c6a: 2300 movs r3, #0 + 8013c6c: 617b str r3, [r7, #20] if (IRQ_Context() == 0U) { - 80132a6: f7ff fdf0 bl 8012e8a - 80132aa: 4603 mov r3, r0 - 80132ac: 2b00 cmp r3, #0 - 80132ae: d174 bne.n 801339a + 8013c6e: f7ff fe0a bl 8013886 + 8013c72: 4603 mov r3, r0 + 8013c74: 2b00 cmp r3, #0 + 8013c76: d174 bne.n 8013d62 if (attr != NULL) { - 80132b0: 687b ldr r3, [r7, #4] - 80132b2: 2b00 cmp r3, #0 - 80132b4: d003 beq.n 80132be + 8013c78: 687b ldr r3, [r7, #4] + 8013c7a: 2b00 cmp r3, #0 + 8013c7c: d003 beq.n 8013c86 type = attr->attr_bits; - 80132b6: 687b ldr r3, [r7, #4] - 80132b8: 685b ldr r3, [r3, #4] - 80132ba: 613b str r3, [r7, #16] - 80132bc: e001 b.n 80132c2 + 8013c7e: 687b ldr r3, [r7, #4] + 8013c80: 685b ldr r3, [r3, #4] + 8013c82: 613b str r3, [r7, #16] + 8013c84: e001 b.n 8013c8a } else { type = 0U; - 80132be: 2300 movs r3, #0 - 80132c0: 613b str r3, [r7, #16] + 8013c86: 2300 movs r3, #0 + 8013c88: 613b str r3, [r7, #16] } if ((type & osMutexRecursive) == osMutexRecursive) { - 80132c2: 693b ldr r3, [r7, #16] - 80132c4: f003 0301 and.w r3, r3, #1 - 80132c8: 2b00 cmp r3, #0 - 80132ca: d002 beq.n 80132d2 + 8013c8a: 693b ldr r3, [r7, #16] + 8013c8c: f003 0301 and.w r3, r3, #1 + 8013c90: 2b00 cmp r3, #0 + 8013c92: d002 beq.n 8013c9a rmtx = 1U; - 80132cc: 2301 movs r3, #1 - 80132ce: 60fb str r3, [r7, #12] - 80132d0: e001 b.n 80132d6 + 8013c94: 2301 movs r3, #1 + 8013c96: 60fb str r3, [r7, #12] + 8013c98: e001 b.n 8013c9e } else { rmtx = 0U; - 80132d2: 2300 movs r3, #0 - 80132d4: 60fb str r3, [r7, #12] + 8013c9a: 2300 movs r3, #0 + 8013c9c: 60fb str r3, [r7, #12] } if ((type & osMutexRobust) != osMutexRobust) { - 80132d6: 693b ldr r3, [r7, #16] - 80132d8: f003 0308 and.w r3, r3, #8 - 80132dc: 2b00 cmp r3, #0 - 80132de: d15c bne.n 801339a + 8013c9e: 693b ldr r3, [r7, #16] + 8013ca0: f003 0308 and.w r3, r3, #8 + 8013ca4: 2b00 cmp r3, #0 + 8013ca6: d15c bne.n 8013d62 mem = -1; - 80132e0: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 80132e4: 60bb str r3, [r7, #8] + 8013ca8: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8013cac: 60bb str r3, [r7, #8] if (attr != NULL) { - 80132e6: 687b ldr r3, [r7, #4] - 80132e8: 2b00 cmp r3, #0 - 80132ea: d015 beq.n 8013318 + 8013cae: 687b ldr r3, [r7, #4] + 8013cb0: 2b00 cmp r3, #0 + 8013cb2: d015 beq.n 8013ce0 if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticSemaphore_t))) { - 80132ec: 687b ldr r3, [r7, #4] - 80132ee: 689b ldr r3, [r3, #8] - 80132f0: 2b00 cmp r3, #0 - 80132f2: d006 beq.n 8013302 - 80132f4: 687b ldr r3, [r7, #4] - 80132f6: 68db ldr r3, [r3, #12] - 80132f8: 2b4f cmp r3, #79 @ 0x4f - 80132fa: d902 bls.n 8013302 + 8013cb4: 687b ldr r3, [r7, #4] + 8013cb6: 689b ldr r3, [r3, #8] + 8013cb8: 2b00 cmp r3, #0 + 8013cba: d006 beq.n 8013cca + 8013cbc: 687b ldr r3, [r7, #4] + 8013cbe: 68db ldr r3, [r3, #12] + 8013cc0: 2b4f cmp r3, #79 @ 0x4f + 8013cc2: d902 bls.n 8013cca /* The memory for control block is provided, use static object */ mem = 1; - 80132fc: 2301 movs r3, #1 - 80132fe: 60bb str r3, [r7, #8] - 8013300: e00c b.n 801331c + 8013cc4: 2301 movs r3, #1 + 8013cc6: 60bb str r3, [r7, #8] + 8013cc8: e00c b.n 8013ce4 } else { if ((attr->cb_mem == NULL) && (attr->cb_size == 0U)) { - 8013302: 687b ldr r3, [r7, #4] - 8013304: 689b ldr r3, [r3, #8] - 8013306: 2b00 cmp r3, #0 - 8013308: d108 bne.n 801331c - 801330a: 687b ldr r3, [r7, #4] - 801330c: 68db ldr r3, [r3, #12] - 801330e: 2b00 cmp r3, #0 - 8013310: d104 bne.n 801331c + 8013cca: 687b ldr r3, [r7, #4] + 8013ccc: 689b ldr r3, [r3, #8] + 8013cce: 2b00 cmp r3, #0 + 8013cd0: d108 bne.n 8013ce4 + 8013cd2: 687b ldr r3, [r7, #4] + 8013cd4: 68db ldr r3, [r3, #12] + 8013cd6: 2b00 cmp r3, #0 + 8013cd8: d104 bne.n 8013ce4 /* Control block will be allocated from the dynamic pool */ mem = 0; - 8013312: 2300 movs r3, #0 - 8013314: 60bb str r3, [r7, #8] - 8013316: e001 b.n 801331c + 8013cda: 2300 movs r3, #0 + 8013cdc: 60bb str r3, [r7, #8] + 8013cde: e001 b.n 8013ce4 } } } else { mem = 0; - 8013318: 2300 movs r3, #0 - 801331a: 60bb str r3, [r7, #8] + 8013ce0: 2300 movs r3, #0 + 8013ce2: 60bb str r3, [r7, #8] } if (mem == 1) { - 801331c: 68bb ldr r3, [r7, #8] - 801331e: 2b01 cmp r3, #1 - 8013320: d112 bne.n 8013348 + 8013ce4: 68bb ldr r3, [r7, #8] + 8013ce6: 2b01 cmp r3, #1 + 8013ce8: d112 bne.n 8013d10 #if (configSUPPORT_STATIC_ALLOCATION == 1) if (rmtx != 0U) { - 8013322: 68fb ldr r3, [r7, #12] - 8013324: 2b00 cmp r3, #0 - 8013326: d007 beq.n 8013338 + 8013cea: 68fb ldr r3, [r7, #12] + 8013cec: 2b00 cmp r3, #0 + 8013cee: d007 beq.n 8013d00 #if (configUSE_RECURSIVE_MUTEXES == 1) hMutex = xSemaphoreCreateRecursiveMutexStatic (attr->cb_mem); - 8013328: 687b ldr r3, [r7, #4] - 801332a: 689b ldr r3, [r3, #8] - 801332c: 4619 mov r1, r3 - 801332e: 2004 movs r0, #4 - 8013330: f000 fd63 bl 8013dfa - 8013334: 6178 str r0, [r7, #20] - 8013336: e016 b.n 8013366 + 8013cf0: 687b ldr r3, [r7, #4] + 8013cf2: 689b ldr r3, [r3, #8] + 8013cf4: 4619 mov r1, r3 + 8013cf6: 2004 movs r0, #4 + 8013cf8: f000 fd63 bl 80147c2 + 8013cfc: 6178 str r0, [r7, #20] + 8013cfe: e016 b.n 8013d2e #endif } else { hMutex = xSemaphoreCreateMutexStatic (attr->cb_mem); - 8013338: 687b ldr r3, [r7, #4] - 801333a: 689b ldr r3, [r3, #8] - 801333c: 4619 mov r1, r3 - 801333e: 2001 movs r0, #1 - 8013340: f000 fd5b bl 8013dfa - 8013344: 6178 str r0, [r7, #20] - 8013346: e00e b.n 8013366 + 8013d00: 687b ldr r3, [r7, #4] + 8013d02: 689b ldr r3, [r3, #8] + 8013d04: 4619 mov r1, r3 + 8013d06: 2001 movs r0, #1 + 8013d08: f000 fd5b bl 80147c2 + 8013d0c: 6178 str r0, [r7, #20] + 8013d0e: e00e b.n 8013d2e } #endif } else { if (mem == 0) { - 8013348: 68bb ldr r3, [r7, #8] - 801334a: 2b00 cmp r3, #0 - 801334c: d10b bne.n 8013366 + 8013d10: 68bb ldr r3, [r7, #8] + 8013d12: 2b00 cmp r3, #0 + 8013d14: d10b bne.n 8013d2e #if (configSUPPORT_DYNAMIC_ALLOCATION == 1) if (rmtx != 0U) { - 801334e: 68fb ldr r3, [r7, #12] - 8013350: 2b00 cmp r3, #0 - 8013352: d004 beq.n 801335e + 8013d16: 68fb ldr r3, [r7, #12] + 8013d18: 2b00 cmp r3, #0 + 8013d1a: d004 beq.n 8013d26 #if (configUSE_RECURSIVE_MUTEXES == 1) hMutex = xSemaphoreCreateRecursiveMutex (); - 8013354: 2004 movs r0, #4 - 8013356: f000 fd38 bl 8013dca - 801335a: 6178 str r0, [r7, #20] - 801335c: e003 b.n 8013366 + 8013d1c: 2004 movs r0, #4 + 8013d1e: f000 fd38 bl 8014792 + 8013d22: 6178 str r0, [r7, #20] + 8013d24: e003 b.n 8013d2e #endif } else { hMutex = xSemaphoreCreateMutex (); - 801335e: 2001 movs r0, #1 - 8013360: f000 fd33 bl 8013dca - 8013364: 6178 str r0, [r7, #20] + 8013d26: 2001 movs r0, #1 + 8013d28: f000 fd33 bl 8014792 + 8013d2c: 6178 str r0, [r7, #20] #endif } } #if (configQUEUE_REGISTRY_SIZE > 0) if (hMutex != NULL) { - 8013366: 697b ldr r3, [r7, #20] - 8013368: 2b00 cmp r3, #0 - 801336a: d00c beq.n 8013386 + 8013d2e: 697b ldr r3, [r7, #20] + 8013d30: 2b00 cmp r3, #0 + 8013d32: d00c beq.n 8013d4e if ((attr != NULL) && (attr->name != NULL)) { - 801336c: 687b ldr r3, [r7, #4] - 801336e: 2b00 cmp r3, #0 - 8013370: d009 beq.n 8013386 - 8013372: 687b ldr r3, [r7, #4] - 8013374: 681b ldr r3, [r3, #0] - 8013376: 2b00 cmp r3, #0 - 8013378: d005 beq.n 8013386 + 8013d34: 687b ldr r3, [r7, #4] + 8013d36: 2b00 cmp r3, #0 + 8013d38: d009 beq.n 8013d4e + 8013d3a: 687b ldr r3, [r7, #4] + 8013d3c: 681b ldr r3, [r3, #0] + 8013d3e: 2b00 cmp r3, #0 + 8013d40: d005 beq.n 8013d4e /* Only non-NULL name objects are added to the Queue Registry */ vQueueAddToRegistry (hMutex, attr->name); - 801337a: 687b ldr r3, [r7, #4] - 801337c: 681b ldr r3, [r3, #0] - 801337e: 4619 mov r1, r3 - 8013380: 6978 ldr r0, [r7, #20] - 8013382: f001 fc4b bl 8014c1c + 8013d42: 687b ldr r3, [r7, #4] + 8013d44: 681b ldr r3, [r3, #0] + 8013d46: 4619 mov r1, r3 + 8013d48: 6978 ldr r0, [r7, #20] + 8013d4a: f001 fc4b bl 80155e4 } } #endif if ((hMutex != NULL) && (rmtx != 0U)) { - 8013386: 697b ldr r3, [r7, #20] - 8013388: 2b00 cmp r3, #0 - 801338a: d006 beq.n 801339a - 801338c: 68fb ldr r3, [r7, #12] - 801338e: 2b00 cmp r3, #0 - 8013390: d003 beq.n 801339a + 8013d4e: 697b ldr r3, [r7, #20] + 8013d50: 2b00 cmp r3, #0 + 8013d52: d006 beq.n 8013d62 + 8013d54: 68fb ldr r3, [r7, #12] + 8013d56: 2b00 cmp r3, #0 + 8013d58: d003 beq.n 8013d62 /* Set LSB as 'recursive mutex flag' */ hMutex = (SemaphoreHandle_t)((uint32_t)hMutex | 1U); - 8013392: 697b ldr r3, [r7, #20] - 8013394: f043 0301 orr.w r3, r3, #1 - 8013398: 617b str r3, [r7, #20] + 8013d5a: 697b ldr r3, [r7, #20] + 8013d5c: f043 0301 orr.w r3, r3, #1 + 8013d60: 617b str r3, [r7, #20] } } } /* Return mutex ID */ return ((osMutexId_t)hMutex); - 801339a: 697b ldr r3, [r7, #20] + 8013d62: 697b ldr r3, [r7, #20] } - 801339c: 4618 mov r0, r3 - 801339e: 3718 adds r7, #24 - 80133a0: 46bd mov sp, r7 - 80133a2: bd80 pop {r7, pc} + 8013d64: 4618 mov r0, r3 + 8013d66: 3718 adds r7, #24 + 8013d68: 46bd mov sp, r7 + 8013d6a: bd80 pop {r7, pc} -080133a4 : +08013d6c : /* Acquire a Mutex or timeout if it is locked. */ osStatus_t osMutexAcquire (osMutexId_t mutex_id, uint32_t timeout) { - 80133a4: b580 push {r7, lr} - 80133a6: b086 sub sp, #24 - 80133a8: af00 add r7, sp, #0 - 80133aa: 6078 str r0, [r7, #4] - 80133ac: 6039 str r1, [r7, #0] + 8013d6c: b580 push {r7, lr} + 8013d6e: b086 sub sp, #24 + 8013d70: af00 add r7, sp, #0 + 8013d72: 6078 str r0, [r7, #4] + 8013d74: 6039 str r1, [r7, #0] SemaphoreHandle_t hMutex; osStatus_t stat; uint32_t rmtx; hMutex = (SemaphoreHandle_t)((uint32_t)mutex_id & ~1U); - 80133ae: 687b ldr r3, [r7, #4] - 80133b0: f023 0301 bic.w r3, r3, #1 - 80133b4: 613b str r3, [r7, #16] + 8013d76: 687b ldr r3, [r7, #4] + 8013d78: f023 0301 bic.w r3, r3, #1 + 8013d7c: 613b str r3, [r7, #16] /* Extract recursive mutex flag */ rmtx = (uint32_t)mutex_id & 1U; - 80133b6: 687b ldr r3, [r7, #4] - 80133b8: f003 0301 and.w r3, r3, #1 - 80133bc: 60fb str r3, [r7, #12] + 8013d7e: 687b ldr r3, [r7, #4] + 8013d80: f003 0301 and.w r3, r3, #1 + 8013d84: 60fb str r3, [r7, #12] stat = osOK; - 80133be: 2300 movs r3, #0 - 80133c0: 617b str r3, [r7, #20] + 8013d86: 2300 movs r3, #0 + 8013d88: 617b str r3, [r7, #20] if (IRQ_Context() != 0U) { - 80133c2: f7ff fd62 bl 8012e8a - 80133c6: 4603 mov r3, r0 - 80133c8: 2b00 cmp r3, #0 - 80133ca: d003 beq.n 80133d4 + 8013d8a: f7ff fd7c bl 8013886 + 8013d8e: 4603 mov r3, r0 + 8013d90: 2b00 cmp r3, #0 + 8013d92: d003 beq.n 8013d9c stat = osErrorISR; - 80133cc: f06f 0305 mvn.w r3, #5 - 80133d0: 617b str r3, [r7, #20] - 80133d2: e02c b.n 801342e + 8013d94: f06f 0305 mvn.w r3, #5 + 8013d98: 617b str r3, [r7, #20] + 8013d9a: e02c b.n 8013df6 } else if (hMutex == NULL) { - 80133d4: 693b ldr r3, [r7, #16] - 80133d6: 2b00 cmp r3, #0 - 80133d8: d103 bne.n 80133e2 + 8013d9c: 693b ldr r3, [r7, #16] + 8013d9e: 2b00 cmp r3, #0 + 8013da0: d103 bne.n 8013daa stat = osErrorParameter; - 80133da: f06f 0303 mvn.w r3, #3 - 80133de: 617b str r3, [r7, #20] - 80133e0: e025 b.n 801342e + 8013da2: f06f 0303 mvn.w r3, #3 + 8013da6: 617b str r3, [r7, #20] + 8013da8: e025 b.n 8013df6 } else { if (rmtx != 0U) { - 80133e2: 68fb ldr r3, [r7, #12] - 80133e4: 2b00 cmp r3, #0 - 80133e6: d011 beq.n 801340c + 8013daa: 68fb ldr r3, [r7, #12] + 8013dac: 2b00 cmp r3, #0 + 8013dae: d011 beq.n 8013dd4 #if (configUSE_RECURSIVE_MUTEXES == 1) if (xSemaphoreTakeRecursive (hMutex, timeout) != pdPASS) { - 80133e8: 6839 ldr r1, [r7, #0] - 80133ea: 6938 ldr r0, [r7, #16] - 80133ec: f000 fd55 bl 8013e9a - 80133f0: 4603 mov r3, r0 - 80133f2: 2b01 cmp r3, #1 - 80133f4: d01b beq.n 801342e + 8013db0: 6839 ldr r1, [r7, #0] + 8013db2: 6938 ldr r0, [r7, #16] + 8013db4: f000 fd55 bl 8014862 + 8013db8: 4603 mov r3, r0 + 8013dba: 2b01 cmp r3, #1 + 8013dbc: d01b beq.n 8013df6 if (timeout != 0U) { - 80133f6: 683b ldr r3, [r7, #0] - 80133f8: 2b00 cmp r3, #0 - 80133fa: d003 beq.n 8013404 + 8013dbe: 683b ldr r3, [r7, #0] + 8013dc0: 2b00 cmp r3, #0 + 8013dc2: d003 beq.n 8013dcc stat = osErrorTimeout; - 80133fc: f06f 0301 mvn.w r3, #1 - 8013400: 617b str r3, [r7, #20] - 8013402: e014 b.n 801342e + 8013dc4: f06f 0301 mvn.w r3, #1 + 8013dc8: 617b str r3, [r7, #20] + 8013dca: e014 b.n 8013df6 } else { stat = osErrorResource; - 8013404: f06f 0302 mvn.w r3, #2 - 8013408: 617b str r3, [r7, #20] - 801340a: e010 b.n 801342e + 8013dcc: f06f 0302 mvn.w r3, #2 + 8013dd0: 617b str r3, [r7, #20] + 8013dd2: e010 b.n 8013df6 } } #endif } else { if (xSemaphoreTake (hMutex, timeout) != pdPASS) { - 801340c: 6839 ldr r1, [r7, #0] - 801340e: 6938 ldr r0, [r7, #16] - 8013410: f001 f91e bl 8014650 - 8013414: 4603 mov r3, r0 - 8013416: 2b01 cmp r3, #1 - 8013418: d009 beq.n 801342e + 8013dd4: 6839 ldr r1, [r7, #0] + 8013dd6: 6938 ldr r0, [r7, #16] + 8013dd8: f001 f91e bl 8015018 + 8013ddc: 4603 mov r3, r0 + 8013dde: 2b01 cmp r3, #1 + 8013de0: d009 beq.n 8013df6 if (timeout != 0U) { - 801341a: 683b ldr r3, [r7, #0] - 801341c: 2b00 cmp r3, #0 - 801341e: d003 beq.n 8013428 + 8013de2: 683b ldr r3, [r7, #0] + 8013de4: 2b00 cmp r3, #0 + 8013de6: d003 beq.n 8013df0 stat = osErrorTimeout; - 8013420: f06f 0301 mvn.w r3, #1 - 8013424: 617b str r3, [r7, #20] - 8013426: e002 b.n 801342e + 8013de8: f06f 0301 mvn.w r3, #1 + 8013dec: 617b str r3, [r7, #20] + 8013dee: e002 b.n 8013df6 } else { stat = osErrorResource; - 8013428: f06f 0302 mvn.w r3, #2 - 801342c: 617b str r3, [r7, #20] + 8013df0: f06f 0302 mvn.w r3, #2 + 8013df4: 617b str r3, [r7, #20] } } } /* Return execution status */ return (stat); - 801342e: 697b ldr r3, [r7, #20] + 8013df6: 697b ldr r3, [r7, #20] } - 8013430: 4618 mov r0, r3 - 8013432: 3718 adds r7, #24 - 8013434: 46bd mov sp, r7 - 8013436: bd80 pop {r7, pc} + 8013df8: 4618 mov r0, r3 + 8013dfa: 3718 adds r7, #24 + 8013dfc: 46bd mov sp, r7 + 8013dfe: bd80 pop {r7, pc} -08013438 : +08013e00 : /* Release a Mutex that was acquired by osMutexAcquire. */ osStatus_t osMutexRelease (osMutexId_t mutex_id) { - 8013438: b580 push {r7, lr} - 801343a: b086 sub sp, #24 - 801343c: af00 add r7, sp, #0 - 801343e: 6078 str r0, [r7, #4] + 8013e00: b580 push {r7, lr} + 8013e02: b086 sub sp, #24 + 8013e04: af00 add r7, sp, #0 + 8013e06: 6078 str r0, [r7, #4] SemaphoreHandle_t hMutex; osStatus_t stat; uint32_t rmtx; hMutex = (SemaphoreHandle_t)((uint32_t)mutex_id & ~1U); - 8013440: 687b ldr r3, [r7, #4] - 8013442: f023 0301 bic.w r3, r3, #1 - 8013446: 613b str r3, [r7, #16] + 8013e08: 687b ldr r3, [r7, #4] + 8013e0a: f023 0301 bic.w r3, r3, #1 + 8013e0e: 613b str r3, [r7, #16] /* Extract recursive mutex flag */ rmtx = (uint32_t)mutex_id & 1U; - 8013448: 687b ldr r3, [r7, #4] - 801344a: f003 0301 and.w r3, r3, #1 - 801344e: 60fb str r3, [r7, #12] + 8013e10: 687b ldr r3, [r7, #4] + 8013e12: f003 0301 and.w r3, r3, #1 + 8013e16: 60fb str r3, [r7, #12] stat = osOK; - 8013450: 2300 movs r3, #0 - 8013452: 617b str r3, [r7, #20] + 8013e18: 2300 movs r3, #0 + 8013e1a: 617b str r3, [r7, #20] if (IRQ_Context() != 0U) { - 8013454: f7ff fd19 bl 8012e8a - 8013458: 4603 mov r3, r0 - 801345a: 2b00 cmp r3, #0 - 801345c: d003 beq.n 8013466 + 8013e1c: f7ff fd33 bl 8013886 + 8013e20: 4603 mov r3, r0 + 8013e22: 2b00 cmp r3, #0 + 8013e24: d003 beq.n 8013e2e stat = osErrorISR; - 801345e: f06f 0305 mvn.w r3, #5 - 8013462: 617b str r3, [r7, #20] - 8013464: e01f b.n 80134a6 + 8013e26: f06f 0305 mvn.w r3, #5 + 8013e2a: 617b str r3, [r7, #20] + 8013e2c: e01f b.n 8013e6e } else if (hMutex == NULL) { - 8013466: 693b ldr r3, [r7, #16] - 8013468: 2b00 cmp r3, #0 - 801346a: d103 bne.n 8013474 + 8013e2e: 693b ldr r3, [r7, #16] + 8013e30: 2b00 cmp r3, #0 + 8013e32: d103 bne.n 8013e3c stat = osErrorParameter; - 801346c: f06f 0303 mvn.w r3, #3 - 8013470: 617b str r3, [r7, #20] - 8013472: e018 b.n 80134a6 + 8013e34: f06f 0303 mvn.w r3, #3 + 8013e38: 617b str r3, [r7, #20] + 8013e3a: e018 b.n 8013e6e } else { if (rmtx != 0U) { - 8013474: 68fb ldr r3, [r7, #12] - 8013476: 2b00 cmp r3, #0 - 8013478: d009 beq.n 801348e + 8013e3c: 68fb ldr r3, [r7, #12] + 8013e3e: 2b00 cmp r3, #0 + 8013e40: d009 beq.n 8013e56 #if (configUSE_RECURSIVE_MUTEXES == 1) if (xSemaphoreGiveRecursive (hMutex) != pdPASS) { - 801347a: 6938 ldr r0, [r7, #16] - 801347c: f000 fcd8 bl 8013e30 - 8013480: 4603 mov r3, r0 - 8013482: 2b01 cmp r3, #1 - 8013484: d00f beq.n 80134a6 + 8013e42: 6938 ldr r0, [r7, #16] + 8013e44: f000 fcd8 bl 80147f8 + 8013e48: 4603 mov r3, r0 + 8013e4a: 2b01 cmp r3, #1 + 8013e4c: d00f beq.n 8013e6e stat = osErrorResource; - 8013486: f06f 0302 mvn.w r3, #2 - 801348a: 617b str r3, [r7, #20] - 801348c: e00b b.n 80134a6 + 8013e4e: f06f 0302 mvn.w r3, #2 + 8013e52: 617b str r3, [r7, #20] + 8013e54: e00b b.n 8013e6e } #endif } else { if (xSemaphoreGive (hMutex) != pdPASS) { - 801348e: 2300 movs r3, #0 - 8013490: 2200 movs r2, #0 - 8013492: 2100 movs r1, #0 - 8013494: 6938 ldr r0, [r7, #16] - 8013496: f000 fd99 bl 8013fcc - 801349a: 4603 mov r3, r0 - 801349c: 2b01 cmp r3, #1 - 801349e: d002 beq.n 80134a6 + 8013e56: 2300 movs r3, #0 + 8013e58: 2200 movs r2, #0 + 8013e5a: 2100 movs r1, #0 + 8013e5c: 6938 ldr r0, [r7, #16] + 8013e5e: f000 fd99 bl 8014994 + 8013e62: 4603 mov r3, r0 + 8013e64: 2b01 cmp r3, #1 + 8013e66: d002 beq.n 8013e6e stat = osErrorResource; - 80134a0: f06f 0302 mvn.w r3, #2 - 80134a4: 617b str r3, [r7, #20] + 8013e68: f06f 0302 mvn.w r3, #2 + 8013e6c: 617b str r3, [r7, #20] } } } /* Return execution status */ return (stat); - 80134a6: 697b ldr r3, [r7, #20] + 8013e6e: 697b ldr r3, [r7, #20] } - 80134a8: 4618 mov r0, r3 - 80134aa: 3718 adds r7, #24 - 80134ac: 46bd mov sp, r7 - 80134ae: bd80 pop {r7, pc} + 8013e70: 4618 mov r0, r3 + 8013e72: 3718 adds r7, #24 + 8013e74: 46bd mov sp, r7 + 8013e76: bd80 pop {r7, pc} -080134b0 : +08013e78 : /* ==== Semaphore Management Functions ==== */ /* Create and Initialize a Semaphore object. */ osSemaphoreId_t osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr) { - 80134b0: b580 push {r7, lr} - 80134b2: b088 sub sp, #32 - 80134b4: af02 add r7, sp, #8 - 80134b6: 60f8 str r0, [r7, #12] - 80134b8: 60b9 str r1, [r7, #8] - 80134ba: 607a str r2, [r7, #4] + 8013e78: b580 push {r7, lr} + 8013e7a: b088 sub sp, #32 + 8013e7c: af02 add r7, sp, #8 + 8013e7e: 60f8 str r0, [r7, #12] + 8013e80: 60b9 str r1, [r7, #8] + 8013e82: 607a str r2, [r7, #4] SemaphoreHandle_t hSemaphore; int32_t mem; hSemaphore = NULL; - 80134bc: 2300 movs r3, #0 - 80134be: 617b str r3, [r7, #20] + 8013e84: 2300 movs r3, #0 + 8013e86: 617b str r3, [r7, #20] if ((IRQ_Context() == 0U) && (max_count > 0U) && (initial_count <= max_count)) { - 80134c0: f7ff fce3 bl 8012e8a - 80134c4: 4603 mov r3, r0 - 80134c6: 2b00 cmp r3, #0 - 80134c8: d175 bne.n 80135b6 - 80134ca: 68fb ldr r3, [r7, #12] - 80134cc: 2b00 cmp r3, #0 - 80134ce: d072 beq.n 80135b6 - 80134d0: 68ba ldr r2, [r7, #8] - 80134d2: 68fb ldr r3, [r7, #12] - 80134d4: 429a cmp r2, r3 - 80134d6: d86e bhi.n 80135b6 + 8013e88: f7ff fcfd bl 8013886 + 8013e8c: 4603 mov r3, r0 + 8013e8e: 2b00 cmp r3, #0 + 8013e90: d175 bne.n 8013f7e + 8013e92: 68fb ldr r3, [r7, #12] + 8013e94: 2b00 cmp r3, #0 + 8013e96: d072 beq.n 8013f7e + 8013e98: 68ba ldr r2, [r7, #8] + 8013e9a: 68fb ldr r3, [r7, #12] + 8013e9c: 429a cmp r2, r3 + 8013e9e: d86e bhi.n 8013f7e mem = -1; - 80134d8: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 80134dc: 613b str r3, [r7, #16] + 8013ea0: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 8013ea4: 613b str r3, [r7, #16] if (attr != NULL) { - 80134de: 687b ldr r3, [r7, #4] - 80134e0: 2b00 cmp r3, #0 - 80134e2: d015 beq.n 8013510 + 8013ea6: 687b ldr r3, [r7, #4] + 8013ea8: 2b00 cmp r3, #0 + 8013eaa: d015 beq.n 8013ed8 if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticSemaphore_t))) { - 80134e4: 687b ldr r3, [r7, #4] - 80134e6: 689b ldr r3, [r3, #8] - 80134e8: 2b00 cmp r3, #0 - 80134ea: d006 beq.n 80134fa - 80134ec: 687b ldr r3, [r7, #4] - 80134ee: 68db ldr r3, [r3, #12] - 80134f0: 2b4f cmp r3, #79 @ 0x4f - 80134f2: d902 bls.n 80134fa + 8013eac: 687b ldr r3, [r7, #4] + 8013eae: 689b ldr r3, [r3, #8] + 8013eb0: 2b00 cmp r3, #0 + 8013eb2: d006 beq.n 8013ec2 + 8013eb4: 687b ldr r3, [r7, #4] + 8013eb6: 68db ldr r3, [r3, #12] + 8013eb8: 2b4f cmp r3, #79 @ 0x4f + 8013eba: d902 bls.n 8013ec2 /* The memory for control block is provided, use static object */ mem = 1; - 80134f4: 2301 movs r3, #1 - 80134f6: 613b str r3, [r7, #16] - 80134f8: e00c b.n 8013514 + 8013ebc: 2301 movs r3, #1 + 8013ebe: 613b str r3, [r7, #16] + 8013ec0: e00c b.n 8013edc } else { if ((attr->cb_mem == NULL) && (attr->cb_size == 0U)) { - 80134fa: 687b ldr r3, [r7, #4] - 80134fc: 689b ldr r3, [r3, #8] - 80134fe: 2b00 cmp r3, #0 - 8013500: d108 bne.n 8013514 - 8013502: 687b ldr r3, [r7, #4] - 8013504: 68db ldr r3, [r3, #12] - 8013506: 2b00 cmp r3, #0 - 8013508: d104 bne.n 8013514 + 8013ec2: 687b ldr r3, [r7, #4] + 8013ec4: 689b ldr r3, [r3, #8] + 8013ec6: 2b00 cmp r3, #0 + 8013ec8: d108 bne.n 8013edc + 8013eca: 687b ldr r3, [r7, #4] + 8013ecc: 68db ldr r3, [r3, #12] + 8013ece: 2b00 cmp r3, #0 + 8013ed0: d104 bne.n 8013edc /* Control block will be allocated from the dynamic pool */ mem = 0; - 801350a: 2300 movs r3, #0 - 801350c: 613b str r3, [r7, #16] - 801350e: e001 b.n 8013514 + 8013ed2: 2300 movs r3, #0 + 8013ed4: 613b str r3, [r7, #16] + 8013ed6: e001 b.n 8013edc } } } else { mem = 0; - 8013510: 2300 movs r3, #0 - 8013512: 613b str r3, [r7, #16] + 8013ed8: 2300 movs r3, #0 + 8013eda: 613b str r3, [r7, #16] } if (mem != -1) { - 8013514: 693b ldr r3, [r7, #16] - 8013516: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 801351a: d04c beq.n 80135b6 + 8013edc: 693b ldr r3, [r7, #16] + 8013ede: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8013ee2: d04c beq.n 8013f7e if (max_count == 1U) { - 801351c: 68fb ldr r3, [r7, #12] - 801351e: 2b01 cmp r3, #1 - 8013520: d128 bne.n 8013574 + 8013ee4: 68fb ldr r3, [r7, #12] + 8013ee6: 2b01 cmp r3, #1 + 8013ee8: d128 bne.n 8013f3c if (mem == 1) { - 8013522: 693b ldr r3, [r7, #16] - 8013524: 2b01 cmp r3, #1 - 8013526: d10a bne.n 801353e + 8013eea: 693b ldr r3, [r7, #16] + 8013eec: 2b01 cmp r3, #1 + 8013eee: d10a bne.n 8013f06 #if (configSUPPORT_STATIC_ALLOCATION == 1) hSemaphore = xSemaphoreCreateBinaryStatic ((StaticSemaphore_t *)attr->cb_mem); - 8013528: 687b ldr r3, [r7, #4] - 801352a: 689b ldr r3, [r3, #8] - 801352c: 2203 movs r2, #3 - 801352e: 9200 str r2, [sp, #0] - 8013530: 2200 movs r2, #0 - 8013532: 2100 movs r1, #0 - 8013534: 2001 movs r0, #1 - 8013536: f000 fb57 bl 8013be8 - 801353a: 6178 str r0, [r7, #20] - 801353c: e005 b.n 801354a + 8013ef0: 687b ldr r3, [r7, #4] + 8013ef2: 689b ldr r3, [r3, #8] + 8013ef4: 2203 movs r2, #3 + 8013ef6: 9200 str r2, [sp, #0] + 8013ef8: 2200 movs r2, #0 + 8013efa: 2100 movs r1, #0 + 8013efc: 2001 movs r0, #1 + 8013efe: f000 fb57 bl 80145b0 + 8013f02: 6178 str r0, [r7, #20] + 8013f04: e005 b.n 8013f12 #endif } else { #if (configSUPPORT_DYNAMIC_ALLOCATION == 1) hSemaphore = xSemaphoreCreateBinary(); - 801353e: 2203 movs r2, #3 - 8013540: 2100 movs r1, #0 - 8013542: 2001 movs r0, #1 - 8013544: f000 fbb1 bl 8013caa - 8013548: 6178 str r0, [r7, #20] + 8013f06: 2203 movs r2, #3 + 8013f08: 2100 movs r1, #0 + 8013f0a: 2001 movs r0, #1 + 8013f0c: f000 fbb1 bl 8014672 + 8013f10: 6178 str r0, [r7, #20] #endif } if ((hSemaphore != NULL) && (initial_count != 0U)) { - 801354a: 697b ldr r3, [r7, #20] - 801354c: 2b00 cmp r3, #0 - 801354e: d022 beq.n 8013596 - 8013550: 68bb ldr r3, [r7, #8] - 8013552: 2b00 cmp r3, #0 - 8013554: d01f beq.n 8013596 + 8013f12: 697b ldr r3, [r7, #20] + 8013f14: 2b00 cmp r3, #0 + 8013f16: d022 beq.n 8013f5e + 8013f18: 68bb ldr r3, [r7, #8] + 8013f1a: 2b00 cmp r3, #0 + 8013f1c: d01f beq.n 8013f5e if (xSemaphoreGive (hSemaphore) != pdPASS) { - 8013556: 2300 movs r3, #0 - 8013558: 2200 movs r2, #0 - 801355a: 2100 movs r1, #0 - 801355c: 6978 ldr r0, [r7, #20] - 801355e: f000 fd35 bl 8013fcc - 8013562: 4603 mov r3, r0 - 8013564: 2b01 cmp r3, #1 - 8013566: d016 beq.n 8013596 + 8013f1e: 2300 movs r3, #0 + 8013f20: 2200 movs r2, #0 + 8013f22: 2100 movs r1, #0 + 8013f24: 6978 ldr r0, [r7, #20] + 8013f26: f000 fd35 bl 8014994 + 8013f2a: 4603 mov r3, r0 + 8013f2c: 2b01 cmp r3, #1 + 8013f2e: d016 beq.n 8013f5e vSemaphoreDelete (hSemaphore); - 8013568: 6978 ldr r0, [r7, #20] - 801356a: f001 fa0b bl 8014984 + 8013f30: 6978 ldr r0, [r7, #20] + 8013f32: f001 fa0b bl 801534c hSemaphore = NULL; - 801356e: 2300 movs r3, #0 - 8013570: 617b str r3, [r7, #20] - 8013572: e010 b.n 8013596 + 8013f36: 2300 movs r3, #0 + 8013f38: 617b str r3, [r7, #20] + 8013f3a: e010 b.n 8013f5e } } } else { if (mem == 1) { - 8013574: 693b ldr r3, [r7, #16] - 8013576: 2b01 cmp r3, #1 - 8013578: d108 bne.n 801358c + 8013f3c: 693b ldr r3, [r7, #16] + 8013f3e: 2b01 cmp r3, #1 + 8013f40: d108 bne.n 8013f54 #if (configSUPPORT_STATIC_ALLOCATION == 1) hSemaphore = xSemaphoreCreateCountingStatic (max_count, initial_count, (StaticSemaphore_t *)attr->cb_mem); - 801357a: 687b ldr r3, [r7, #4] - 801357c: 689b ldr r3, [r3, #8] - 801357e: 461a mov r2, r3 - 8013580: 68b9 ldr r1, [r7, #8] - 8013582: 68f8 ldr r0, [r7, #12] - 8013584: f000 fcc0 bl 8013f08 - 8013588: 6178 str r0, [r7, #20] - 801358a: e004 b.n 8013596 + 8013f42: 687b ldr r3, [r7, #4] + 8013f44: 689b ldr r3, [r3, #8] + 8013f46: 461a mov r2, r3 + 8013f48: 68b9 ldr r1, [r7, #8] + 8013f4a: 68f8 ldr r0, [r7, #12] + 8013f4c: f000 fcc0 bl 80148d0 + 8013f50: 6178 str r0, [r7, #20] + 8013f52: e004 b.n 8013f5e #endif } else { #if (configSUPPORT_DYNAMIC_ALLOCATION == 1) hSemaphore = xSemaphoreCreateCounting (max_count, initial_count); - 801358c: 68b9 ldr r1, [r7, #8] - 801358e: 68f8 ldr r0, [r7, #12] - 8013590: f000 fced bl 8013f6e - 8013594: 6178 str r0, [r7, #20] + 8013f54: 68b9 ldr r1, [r7, #8] + 8013f56: 68f8 ldr r0, [r7, #12] + 8013f58: f000 fced bl 8014936 + 8013f5c: 6178 str r0, [r7, #20] #endif } } #if (configQUEUE_REGISTRY_SIZE > 0) if (hSemaphore != NULL) { - 8013596: 697b ldr r3, [r7, #20] - 8013598: 2b00 cmp r3, #0 - 801359a: d00c beq.n 80135b6 + 8013f5e: 697b ldr r3, [r7, #20] + 8013f60: 2b00 cmp r3, #0 + 8013f62: d00c beq.n 8013f7e if ((attr != NULL) && (attr->name != NULL)) { - 801359c: 687b ldr r3, [r7, #4] - 801359e: 2b00 cmp r3, #0 - 80135a0: d009 beq.n 80135b6 - 80135a2: 687b ldr r3, [r7, #4] - 80135a4: 681b ldr r3, [r3, #0] - 80135a6: 2b00 cmp r3, #0 - 80135a8: d005 beq.n 80135b6 + 8013f64: 687b ldr r3, [r7, #4] + 8013f66: 2b00 cmp r3, #0 + 8013f68: d009 beq.n 8013f7e + 8013f6a: 687b ldr r3, [r7, #4] + 8013f6c: 681b ldr r3, [r3, #0] + 8013f6e: 2b00 cmp r3, #0 + 8013f70: d005 beq.n 8013f7e /* Only non-NULL name objects are added to the Queue Registry */ vQueueAddToRegistry (hSemaphore, attr->name); - 80135aa: 687b ldr r3, [r7, #4] - 80135ac: 681b ldr r3, [r3, #0] - 80135ae: 4619 mov r1, r3 - 80135b0: 6978 ldr r0, [r7, #20] - 80135b2: f001 fb33 bl 8014c1c + 8013f72: 687b ldr r3, [r7, #4] + 8013f74: 681b ldr r3, [r3, #0] + 8013f76: 4619 mov r1, r3 + 8013f78: 6978 ldr r0, [r7, #20] + 8013f7a: f001 fb33 bl 80155e4 #endif } } /* Return semaphore ID */ return ((osSemaphoreId_t)hSemaphore); - 80135b6: 697b ldr r3, [r7, #20] + 8013f7e: 697b ldr r3, [r7, #20] } - 80135b8: 4618 mov r0, r3 - 80135ba: 3718 adds r7, #24 - 80135bc: 46bd mov sp, r7 - 80135be: bd80 pop {r7, pc} + 8013f80: 4618 mov r0, r3 + 8013f82: 3718 adds r7, #24 + 8013f84: 46bd mov sp, r7 + 8013f86: bd80 pop {r7, pc} -080135c0 : +08013f88 : /* Acquire a Semaphore token or timeout if no tokens are available. */ osStatus_t osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout) { - 80135c0: b580 push {r7, lr} - 80135c2: b086 sub sp, #24 - 80135c4: af00 add r7, sp, #0 - 80135c6: 6078 str r0, [r7, #4] - 80135c8: 6039 str r1, [r7, #0] + 8013f88: b580 push {r7, lr} + 8013f8a: b086 sub sp, #24 + 8013f8c: af00 add r7, sp, #0 + 8013f8e: 6078 str r0, [r7, #4] + 8013f90: 6039 str r1, [r7, #0] SemaphoreHandle_t hSemaphore = (SemaphoreHandle_t)semaphore_id; - 80135ca: 687b ldr r3, [r7, #4] - 80135cc: 613b str r3, [r7, #16] + 8013f92: 687b ldr r3, [r7, #4] + 8013f94: 613b str r3, [r7, #16] osStatus_t stat; BaseType_t yield; stat = osOK; - 80135ce: 2300 movs r3, #0 - 80135d0: 617b str r3, [r7, #20] + 8013f96: 2300 movs r3, #0 + 8013f98: 617b str r3, [r7, #20] if (hSemaphore == NULL) { - 80135d2: 693b ldr r3, [r7, #16] - 80135d4: 2b00 cmp r3, #0 - 80135d6: d103 bne.n 80135e0 + 8013f9a: 693b ldr r3, [r7, #16] + 8013f9c: 2b00 cmp r3, #0 + 8013f9e: d103 bne.n 8013fa8 stat = osErrorParameter; - 80135d8: f06f 0303 mvn.w r3, #3 - 80135dc: 617b str r3, [r7, #20] - 80135de: e038 b.n 8013652 + 8013fa0: f06f 0303 mvn.w r3, #3 + 8013fa4: 617b str r3, [r7, #20] + 8013fa6: e038 b.n 801401a } else if (IRQ_Context() != 0U) { - 80135e0: f7ff fc53 bl 8012e8a - 80135e4: 4603 mov r3, r0 - 80135e6: 2b00 cmp r3, #0 - 80135e8: d022 beq.n 8013630 + 8013fa8: f7ff fc6d bl 8013886 + 8013fac: 4603 mov r3, r0 + 8013fae: 2b00 cmp r3, #0 + 8013fb0: d022 beq.n 8013ff8 if (timeout != 0U) { - 80135ea: 683b ldr r3, [r7, #0] - 80135ec: 2b00 cmp r3, #0 - 80135ee: d003 beq.n 80135f8 + 8013fb2: 683b ldr r3, [r7, #0] + 8013fb4: 2b00 cmp r3, #0 + 8013fb6: d003 beq.n 8013fc0 stat = osErrorParameter; - 80135f0: f06f 0303 mvn.w r3, #3 - 80135f4: 617b str r3, [r7, #20] - 80135f6: e02c b.n 8013652 + 8013fb8: f06f 0303 mvn.w r3, #3 + 8013fbc: 617b str r3, [r7, #20] + 8013fbe: e02c b.n 801401a } else { yield = pdFALSE; - 80135f8: 2300 movs r3, #0 - 80135fa: 60fb str r3, [r7, #12] + 8013fc0: 2300 movs r3, #0 + 8013fc2: 60fb str r3, [r7, #12] if (xSemaphoreTakeFromISR (hSemaphore, &yield) != pdPASS) { - 80135fc: f107 030c add.w r3, r7, #12 - 8013600: 461a mov r2, r3 - 8013602: 2100 movs r1, #0 - 8013604: 6938 ldr r0, [r7, #16] - 8013606: f001 f923 bl 8014850 - 801360a: 4603 mov r3, r0 - 801360c: 2b01 cmp r3, #1 - 801360e: d003 beq.n 8013618 + 8013fc4: f107 030c add.w r3, r7, #12 + 8013fc8: 461a mov r2, r3 + 8013fca: 2100 movs r1, #0 + 8013fcc: 6938 ldr r0, [r7, #16] + 8013fce: f001 f923 bl 8015218 + 8013fd2: 4603 mov r3, r0 + 8013fd4: 2b01 cmp r3, #1 + 8013fd6: d003 beq.n 8013fe0 stat = osErrorResource; - 8013610: f06f 0302 mvn.w r3, #2 - 8013614: 617b str r3, [r7, #20] - 8013616: e01c b.n 8013652 + 8013fd8: f06f 0302 mvn.w r3, #2 + 8013fdc: 617b str r3, [r7, #20] + 8013fde: e01c b.n 801401a } else { portYIELD_FROM_ISR (yield); - 8013618: 68fb ldr r3, [r7, #12] - 801361a: 2b00 cmp r3, #0 - 801361c: d019 beq.n 8013652 - 801361e: 4b0f ldr r3, [pc, #60] @ (801365c ) - 8013620: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8013624: 601a str r2, [r3, #0] - 8013626: f3bf 8f4f dsb sy - 801362a: f3bf 8f6f isb sy - 801362e: e010 b.n 8013652 + 8013fe0: 68fb ldr r3, [r7, #12] + 8013fe2: 2b00 cmp r3, #0 + 8013fe4: d019 beq.n 801401a + 8013fe6: 4b0f ldr r3, [pc, #60] @ (8014024 ) + 8013fe8: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8013fec: 601a str r2, [r3, #0] + 8013fee: f3bf 8f4f dsb sy + 8013ff2: f3bf 8f6f isb sy + 8013ff6: e010 b.n 801401a } } } else { if (xSemaphoreTake (hSemaphore, (TickType_t)timeout) != pdPASS) { - 8013630: 6839 ldr r1, [r7, #0] - 8013632: 6938 ldr r0, [r7, #16] - 8013634: f001 f80c bl 8014650 - 8013638: 4603 mov r3, r0 - 801363a: 2b01 cmp r3, #1 - 801363c: d009 beq.n 8013652 + 8013ff8: 6839 ldr r1, [r7, #0] + 8013ffa: 6938 ldr r0, [r7, #16] + 8013ffc: f001 f80c bl 8015018 + 8014000: 4603 mov r3, r0 + 8014002: 2b01 cmp r3, #1 + 8014004: d009 beq.n 801401a if (timeout != 0U) { - 801363e: 683b ldr r3, [r7, #0] - 8013640: 2b00 cmp r3, #0 - 8013642: d003 beq.n 801364c + 8014006: 683b ldr r3, [r7, #0] + 8014008: 2b00 cmp r3, #0 + 801400a: d003 beq.n 8014014 stat = osErrorTimeout; - 8013644: f06f 0301 mvn.w r3, #1 - 8013648: 617b str r3, [r7, #20] - 801364a: e002 b.n 8013652 + 801400c: f06f 0301 mvn.w r3, #1 + 8014010: 617b str r3, [r7, #20] + 8014012: e002 b.n 801401a } else { stat = osErrorResource; - 801364c: f06f 0302 mvn.w r3, #2 - 8013650: 617b str r3, [r7, #20] + 8014014: f06f 0302 mvn.w r3, #2 + 8014018: 617b str r3, [r7, #20] } } } /* Return execution status */ return (stat); - 8013652: 697b ldr r3, [r7, #20] + 801401a: 697b ldr r3, [r7, #20] } - 8013654: 4618 mov r0, r3 - 8013656: 3718 adds r7, #24 - 8013658: 46bd mov sp, r7 - 801365a: bd80 pop {r7, pc} - 801365c: e000ed04 .word 0xe000ed04 + 801401c: 4618 mov r0, r3 + 801401e: 3718 adds r7, #24 + 8014020: 46bd mov sp, r7 + 8014022: bd80 pop {r7, pc} + 8014024: e000ed04 .word 0xe000ed04 -08013660 : +08014028 : /* Release a Semaphore token up to the initial maximum count. */ osStatus_t osSemaphoreRelease (osSemaphoreId_t semaphore_id) { - 8013660: b580 push {r7, lr} - 8013662: b086 sub sp, #24 - 8013664: af00 add r7, sp, #0 - 8013666: 6078 str r0, [r7, #4] + 8014028: b580 push {r7, lr} + 801402a: b086 sub sp, #24 + 801402c: af00 add r7, sp, #0 + 801402e: 6078 str r0, [r7, #4] SemaphoreHandle_t hSemaphore = (SemaphoreHandle_t)semaphore_id; - 8013668: 687b ldr r3, [r7, #4] - 801366a: 613b str r3, [r7, #16] + 8014030: 687b ldr r3, [r7, #4] + 8014032: 613b str r3, [r7, #16] osStatus_t stat; BaseType_t yield; stat = osOK; - 801366c: 2300 movs r3, #0 - 801366e: 617b str r3, [r7, #20] + 8014034: 2300 movs r3, #0 + 8014036: 617b str r3, [r7, #20] if (hSemaphore == NULL) { - 8013670: 693b ldr r3, [r7, #16] - 8013672: 2b00 cmp r3, #0 - 8013674: d103 bne.n 801367e + 8014038: 693b ldr r3, [r7, #16] + 801403a: 2b00 cmp r3, #0 + 801403c: d103 bne.n 8014046 stat = osErrorParameter; - 8013676: f06f 0303 mvn.w r3, #3 - 801367a: 617b str r3, [r7, #20] - 801367c: e02b b.n 80136d6 + 801403e: f06f 0303 mvn.w r3, #3 + 8014042: 617b str r3, [r7, #20] + 8014044: e02b b.n 801409e } else if (IRQ_Context() != 0U) { - 801367e: f7ff fc04 bl 8012e8a - 8013682: 4603 mov r3, r0 - 8013684: 2b00 cmp r3, #0 - 8013686: d01a beq.n 80136be + 8014046: f7ff fc1e bl 8013886 + 801404a: 4603 mov r3, r0 + 801404c: 2b00 cmp r3, #0 + 801404e: d01a beq.n 8014086 yield = pdFALSE; - 8013688: 2300 movs r3, #0 - 801368a: 60fb str r3, [r7, #12] + 8014050: 2300 movs r3, #0 + 8014052: 60fb str r3, [r7, #12] if (xSemaphoreGiveFromISR (hSemaphore, &yield) != pdTRUE) { - 801368c: f107 030c add.w r3, r7, #12 - 8013690: 4619 mov r1, r3 - 8013692: 6938 ldr r0, [r7, #16] - 8013694: f000 fe52 bl 801433c - 8013698: 4603 mov r3, r0 - 801369a: 2b01 cmp r3, #1 - 801369c: d003 beq.n 80136a6 + 8014054: f107 030c add.w r3, r7, #12 + 8014058: 4619 mov r1, r3 + 801405a: 6938 ldr r0, [r7, #16] + 801405c: f000 fe52 bl 8014d04 + 8014060: 4603 mov r3, r0 + 8014062: 2b01 cmp r3, #1 + 8014064: d003 beq.n 801406e stat = osErrorResource; - 801369e: f06f 0302 mvn.w r3, #2 - 80136a2: 617b str r3, [r7, #20] - 80136a4: e017 b.n 80136d6 + 8014066: f06f 0302 mvn.w r3, #2 + 801406a: 617b str r3, [r7, #20] + 801406c: e017 b.n 801409e } else { portYIELD_FROM_ISR (yield); - 80136a6: 68fb ldr r3, [r7, #12] - 80136a8: 2b00 cmp r3, #0 - 80136aa: d014 beq.n 80136d6 - 80136ac: 4b0c ldr r3, [pc, #48] @ (80136e0 ) - 80136ae: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80136b2: 601a str r2, [r3, #0] - 80136b4: f3bf 8f4f dsb sy - 80136b8: f3bf 8f6f isb sy - 80136bc: e00b b.n 80136d6 + 801406e: 68fb ldr r3, [r7, #12] + 8014070: 2b00 cmp r3, #0 + 8014072: d014 beq.n 801409e + 8014074: 4b0c ldr r3, [pc, #48] @ (80140a8 ) + 8014076: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 801407a: 601a str r2, [r3, #0] + 801407c: f3bf 8f4f dsb sy + 8014080: f3bf 8f6f isb sy + 8014084: e00b b.n 801409e } } else { if (xSemaphoreGive (hSemaphore) != pdPASS) { - 80136be: 2300 movs r3, #0 - 80136c0: 2200 movs r2, #0 - 80136c2: 2100 movs r1, #0 - 80136c4: 6938 ldr r0, [r7, #16] - 80136c6: f000 fc81 bl 8013fcc - 80136ca: 4603 mov r3, r0 - 80136cc: 2b01 cmp r3, #1 - 80136ce: d002 beq.n 80136d6 + 8014086: 2300 movs r3, #0 + 8014088: 2200 movs r2, #0 + 801408a: 2100 movs r1, #0 + 801408c: 6938 ldr r0, [r7, #16] + 801408e: f000 fc81 bl 8014994 + 8014092: 4603 mov r3, r0 + 8014094: 2b01 cmp r3, #1 + 8014096: d002 beq.n 801409e stat = osErrorResource; - 80136d0: f06f 0302 mvn.w r3, #2 - 80136d4: 617b str r3, [r7, #20] + 8014098: f06f 0302 mvn.w r3, #2 + 801409c: 617b str r3, [r7, #20] } } /* Return execution status */ return (stat); - 80136d6: 697b ldr r3, [r7, #20] + 801409e: 697b ldr r3, [r7, #20] } - 80136d8: 4618 mov r0, r3 - 80136da: 3718 adds r7, #24 - 80136dc: 46bd mov sp, r7 - 80136de: bd80 pop {r7, pc} - 80136e0: e000ed04 .word 0xe000ed04 + 80140a0: 4618 mov r0, r3 + 80140a2: 3718 adds r7, #24 + 80140a4: 46bd mov sp, r7 + 80140a6: bd80 pop {r7, pc} + 80140a8: e000ed04 .word 0xe000ed04 -080136e4 : +080140ac : Limitations: - The memory for control block and and message data must be provided in the osThreadAttr_t structure in order to allocate object statically. */ osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr) { - 80136e4: b580 push {r7, lr} - 80136e6: b088 sub sp, #32 - 80136e8: af02 add r7, sp, #8 - 80136ea: 60f8 str r0, [r7, #12] - 80136ec: 60b9 str r1, [r7, #8] - 80136ee: 607a str r2, [r7, #4] + 80140ac: b580 push {r7, lr} + 80140ae: b088 sub sp, #32 + 80140b0: af02 add r7, sp, #8 + 80140b2: 60f8 str r0, [r7, #12] + 80140b4: 60b9 str r1, [r7, #8] + 80140b6: 607a str r2, [r7, #4] QueueHandle_t hQueue; int32_t mem; hQueue = NULL; - 80136f0: 2300 movs r3, #0 - 80136f2: 617b str r3, [r7, #20] + 80140b8: 2300 movs r3, #0 + 80140ba: 617b str r3, [r7, #20] if ((IRQ_Context() == 0U) && (msg_count > 0U) && (msg_size > 0U)) { - 80136f4: f7ff fbc9 bl 8012e8a - 80136f8: 4603 mov r3, r0 - 80136fa: 2b00 cmp r3, #0 - 80136fc: d15f bne.n 80137be - 80136fe: 68fb ldr r3, [r7, #12] - 8013700: 2b00 cmp r3, #0 - 8013702: d05c beq.n 80137be - 8013704: 68bb ldr r3, [r7, #8] - 8013706: 2b00 cmp r3, #0 - 8013708: d059 beq.n 80137be + 80140bc: f7ff fbe3 bl 8013886 + 80140c0: 4603 mov r3, r0 + 80140c2: 2b00 cmp r3, #0 + 80140c4: d15f bne.n 8014186 + 80140c6: 68fb ldr r3, [r7, #12] + 80140c8: 2b00 cmp r3, #0 + 80140ca: d05c beq.n 8014186 + 80140cc: 68bb ldr r3, [r7, #8] + 80140ce: 2b00 cmp r3, #0 + 80140d0: d059 beq.n 8014186 mem = -1; - 801370a: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 801370e: 613b str r3, [r7, #16] + 80140d2: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 80140d6: 613b str r3, [r7, #16] if (attr != NULL) { - 8013710: 687b ldr r3, [r7, #4] - 8013712: 2b00 cmp r3, #0 - 8013714: d029 beq.n 801376a + 80140d8: 687b ldr r3, [r7, #4] + 80140da: 2b00 cmp r3, #0 + 80140dc: d029 beq.n 8014132 if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticQueue_t)) && - 8013716: 687b ldr r3, [r7, #4] - 8013718: 689b ldr r3, [r3, #8] - 801371a: 2b00 cmp r3, #0 - 801371c: d012 beq.n 8013744 - 801371e: 687b ldr r3, [r7, #4] - 8013720: 68db ldr r3, [r3, #12] - 8013722: 2b4f cmp r3, #79 @ 0x4f - 8013724: d90e bls.n 8013744 + 80140de: 687b ldr r3, [r7, #4] + 80140e0: 689b ldr r3, [r3, #8] + 80140e2: 2b00 cmp r3, #0 + 80140e4: d012 beq.n 801410c + 80140e6: 687b ldr r3, [r7, #4] + 80140e8: 68db ldr r3, [r3, #12] + 80140ea: 2b4f cmp r3, #79 @ 0x4f + 80140ec: d90e bls.n 801410c (attr->mq_mem != NULL) && (attr->mq_size >= (msg_count * msg_size))) { - 8013726: 687b ldr r3, [r7, #4] - 8013728: 691b ldr r3, [r3, #16] + 80140ee: 687b ldr r3, [r7, #4] + 80140f0: 691b ldr r3, [r3, #16] if ((attr->cb_mem != NULL) && (attr->cb_size >= sizeof(StaticQueue_t)) && - 801372a: 2b00 cmp r3, #0 - 801372c: d00a beq.n 8013744 + 80140f2: 2b00 cmp r3, #0 + 80140f4: d00a beq.n 801410c (attr->mq_mem != NULL) && (attr->mq_size >= (msg_count * msg_size))) { - 801372e: 687b ldr r3, [r7, #4] - 8013730: 695a ldr r2, [r3, #20] - 8013732: 68fb ldr r3, [r7, #12] - 8013734: 68b9 ldr r1, [r7, #8] - 8013736: fb01 f303 mul.w r3, r1, r3 - 801373a: 429a cmp r2, r3 - 801373c: d302 bcc.n 8013744 + 80140f6: 687b ldr r3, [r7, #4] + 80140f8: 695a ldr r2, [r3, #20] + 80140fa: 68fb ldr r3, [r7, #12] + 80140fc: 68b9 ldr r1, [r7, #8] + 80140fe: fb01 f303 mul.w r3, r1, r3 + 8014102: 429a cmp r2, r3 + 8014104: d302 bcc.n 801410c /* The memory for control block and message data is provided, use static object */ mem = 1; - 801373e: 2301 movs r3, #1 - 8013740: 613b str r3, [r7, #16] - 8013742: e014 b.n 801376e + 8014106: 2301 movs r3, #1 + 8014108: 613b str r3, [r7, #16] + 801410a: e014 b.n 8014136 } else { if ((attr->cb_mem == NULL) && (attr->cb_size == 0U) && - 8013744: 687b ldr r3, [r7, #4] - 8013746: 689b ldr r3, [r3, #8] - 8013748: 2b00 cmp r3, #0 - 801374a: d110 bne.n 801376e - 801374c: 687b ldr r3, [r7, #4] - 801374e: 68db ldr r3, [r3, #12] - 8013750: 2b00 cmp r3, #0 - 8013752: d10c bne.n 801376e + 801410c: 687b ldr r3, [r7, #4] + 801410e: 689b ldr r3, [r3, #8] + 8014110: 2b00 cmp r3, #0 + 8014112: d110 bne.n 8014136 + 8014114: 687b ldr r3, [r7, #4] + 8014116: 68db ldr r3, [r3, #12] + 8014118: 2b00 cmp r3, #0 + 801411a: d10c bne.n 8014136 (attr->mq_mem == NULL) && (attr->mq_size == 0U)) { - 8013754: 687b ldr r3, [r7, #4] - 8013756: 691b ldr r3, [r3, #16] + 801411c: 687b ldr r3, [r7, #4] + 801411e: 691b ldr r3, [r3, #16] if ((attr->cb_mem == NULL) && (attr->cb_size == 0U) && - 8013758: 2b00 cmp r3, #0 - 801375a: d108 bne.n 801376e + 8014120: 2b00 cmp r3, #0 + 8014122: d108 bne.n 8014136 (attr->mq_mem == NULL) && (attr->mq_size == 0U)) { - 801375c: 687b ldr r3, [r7, #4] - 801375e: 695b ldr r3, [r3, #20] - 8013760: 2b00 cmp r3, #0 - 8013762: d104 bne.n 801376e + 8014124: 687b ldr r3, [r7, #4] + 8014126: 695b ldr r3, [r3, #20] + 8014128: 2b00 cmp r3, #0 + 801412a: d104 bne.n 8014136 /* Control block will be allocated from the dynamic pool */ mem = 0; - 8013764: 2300 movs r3, #0 - 8013766: 613b str r3, [r7, #16] - 8013768: e001 b.n 801376e + 801412c: 2300 movs r3, #0 + 801412e: 613b str r3, [r7, #16] + 8014130: e001 b.n 8014136 } } } else { mem = 0; - 801376a: 2300 movs r3, #0 - 801376c: 613b str r3, [r7, #16] + 8014132: 2300 movs r3, #0 + 8014134: 613b str r3, [r7, #16] } if (mem == 1) { - 801376e: 693b ldr r3, [r7, #16] - 8013770: 2b01 cmp r3, #1 - 8013772: d10b bne.n 801378c + 8014136: 693b ldr r3, [r7, #16] + 8014138: 2b01 cmp r3, #1 + 801413a: d10b bne.n 8014154 #if (configSUPPORT_STATIC_ALLOCATION == 1) hQueue = xQueueCreateStatic (msg_count, msg_size, attr->mq_mem, attr->cb_mem); - 8013774: 687b ldr r3, [r7, #4] - 8013776: 691a ldr r2, [r3, #16] - 8013778: 687b ldr r3, [r7, #4] - 801377a: 689b ldr r3, [r3, #8] - 801377c: 2100 movs r1, #0 - 801377e: 9100 str r1, [sp, #0] - 8013780: 68b9 ldr r1, [r7, #8] - 8013782: 68f8 ldr r0, [r7, #12] - 8013784: f000 fa30 bl 8013be8 - 8013788: 6178 str r0, [r7, #20] - 801378a: e008 b.n 801379e + 801413c: 687b ldr r3, [r7, #4] + 801413e: 691a ldr r2, [r3, #16] + 8014140: 687b ldr r3, [r7, #4] + 8014142: 689b ldr r3, [r3, #8] + 8014144: 2100 movs r1, #0 + 8014146: 9100 str r1, [sp, #0] + 8014148: 68b9 ldr r1, [r7, #8] + 801414a: 68f8 ldr r0, [r7, #12] + 801414c: f000 fa30 bl 80145b0 + 8014150: 6178 str r0, [r7, #20] + 8014152: e008 b.n 8014166 #endif } else { if (mem == 0) { - 801378c: 693b ldr r3, [r7, #16] - 801378e: 2b00 cmp r3, #0 - 8013790: d105 bne.n 801379e + 8014154: 693b ldr r3, [r7, #16] + 8014156: 2b00 cmp r3, #0 + 8014158: d105 bne.n 8014166 #if (configSUPPORT_DYNAMIC_ALLOCATION == 1) hQueue = xQueueCreate (msg_count, msg_size); - 8013792: 2200 movs r2, #0 - 8013794: 68b9 ldr r1, [r7, #8] - 8013796: 68f8 ldr r0, [r7, #12] - 8013798: f000 fa87 bl 8013caa - 801379c: 6178 str r0, [r7, #20] + 801415a: 2200 movs r2, #0 + 801415c: 68b9 ldr r1, [r7, #8] + 801415e: 68f8 ldr r0, [r7, #12] + 8014160: f000 fa87 bl 8014672 + 8014164: 6178 str r0, [r7, #20] #endif } } #if (configQUEUE_REGISTRY_SIZE > 0) if (hQueue != NULL) { - 801379e: 697b ldr r3, [r7, #20] - 80137a0: 2b00 cmp r3, #0 - 80137a2: d00c beq.n 80137be + 8014166: 697b ldr r3, [r7, #20] + 8014168: 2b00 cmp r3, #0 + 801416a: d00c beq.n 8014186 if ((attr != NULL) && (attr->name != NULL)) { - 80137a4: 687b ldr r3, [r7, #4] - 80137a6: 2b00 cmp r3, #0 - 80137a8: d009 beq.n 80137be - 80137aa: 687b ldr r3, [r7, #4] - 80137ac: 681b ldr r3, [r3, #0] - 80137ae: 2b00 cmp r3, #0 - 80137b0: d005 beq.n 80137be + 801416c: 687b ldr r3, [r7, #4] + 801416e: 2b00 cmp r3, #0 + 8014170: d009 beq.n 8014186 + 8014172: 687b ldr r3, [r7, #4] + 8014174: 681b ldr r3, [r3, #0] + 8014176: 2b00 cmp r3, #0 + 8014178: d005 beq.n 8014186 /* Only non-NULL name objects are added to the Queue Registry */ vQueueAddToRegistry (hQueue, attr->name); - 80137b2: 687b ldr r3, [r7, #4] - 80137b4: 681b ldr r3, [r3, #0] - 80137b6: 4619 mov r1, r3 - 80137b8: 6978 ldr r0, [r7, #20] - 80137ba: f001 fa2f bl 8014c1c + 801417a: 687b ldr r3, [r7, #4] + 801417c: 681b ldr r3, [r3, #0] + 801417e: 4619 mov r1, r3 + 8014180: 6978 ldr r0, [r7, #20] + 8014182: f001 fa2f bl 80155e4 #endif } /* Return message queue ID */ return ((osMessageQueueId_t)hQueue); - 80137be: 697b ldr r3, [r7, #20] + 8014186: 697b ldr r3, [r7, #20] } - 80137c0: 4618 mov r0, r3 - 80137c2: 3718 adds r7, #24 - 80137c4: 46bd mov sp, r7 - 80137c6: bd80 pop {r7, pc} + 8014188: 4618 mov r0, r3 + 801418a: 3718 adds r7, #24 + 801418c: 46bd mov sp, r7 + 801418e: bd80 pop {r7, pc} -080137c8 : +08014190 : Put a Message into a Queue or timeout if Queue is full. Limitations: - Message priority is ignored */ osStatus_t osMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout) { - 80137c8: b580 push {r7, lr} - 80137ca: b088 sub sp, #32 - 80137cc: af00 add r7, sp, #0 - 80137ce: 60f8 str r0, [r7, #12] - 80137d0: 60b9 str r1, [r7, #8] - 80137d2: 603b str r3, [r7, #0] - 80137d4: 4613 mov r3, r2 - 80137d6: 71fb strb r3, [r7, #7] + 8014190: b580 push {r7, lr} + 8014192: b088 sub sp, #32 + 8014194: af00 add r7, sp, #0 + 8014196: 60f8 str r0, [r7, #12] + 8014198: 60b9 str r1, [r7, #8] + 801419a: 603b str r3, [r7, #0] + 801419c: 4613 mov r3, r2 + 801419e: 71fb strb r3, [r7, #7] QueueHandle_t hQueue = (QueueHandle_t)mq_id; - 80137d8: 68fb ldr r3, [r7, #12] - 80137da: 61bb str r3, [r7, #24] + 80141a0: 68fb ldr r3, [r7, #12] + 80141a2: 61bb str r3, [r7, #24] osStatus_t stat; BaseType_t yield; (void)msg_prio; /* Message priority is ignored */ stat = osOK; - 80137dc: 2300 movs r3, #0 - 80137de: 61fb str r3, [r7, #28] + 80141a4: 2300 movs r3, #0 + 80141a6: 61fb str r3, [r7, #28] if (IRQ_Context() != 0U) { - 80137e0: f7ff fb53 bl 8012e8a - 80137e4: 4603 mov r3, r0 - 80137e6: 2b00 cmp r3, #0 - 80137e8: d028 beq.n 801383c + 80141a8: f7ff fb6d bl 8013886 + 80141ac: 4603 mov r3, r0 + 80141ae: 2b00 cmp r3, #0 + 80141b0: d028 beq.n 8014204 if ((hQueue == NULL) || (msg_ptr == NULL) || (timeout != 0U)) { - 80137ea: 69bb ldr r3, [r7, #24] - 80137ec: 2b00 cmp r3, #0 - 80137ee: d005 beq.n 80137fc - 80137f0: 68bb ldr r3, [r7, #8] - 80137f2: 2b00 cmp r3, #0 - 80137f4: d002 beq.n 80137fc - 80137f6: 683b ldr r3, [r7, #0] - 80137f8: 2b00 cmp r3, #0 - 80137fa: d003 beq.n 8013804 + 80141b2: 69bb ldr r3, [r7, #24] + 80141b4: 2b00 cmp r3, #0 + 80141b6: d005 beq.n 80141c4 + 80141b8: 68bb ldr r3, [r7, #8] + 80141ba: 2b00 cmp r3, #0 + 80141bc: d002 beq.n 80141c4 + 80141be: 683b ldr r3, [r7, #0] + 80141c0: 2b00 cmp r3, #0 + 80141c2: d003 beq.n 80141cc stat = osErrorParameter; - 80137fc: f06f 0303 mvn.w r3, #3 - 8013800: 61fb str r3, [r7, #28] - 8013802: e038 b.n 8013876 + 80141c4: f06f 0303 mvn.w r3, #3 + 80141c8: 61fb str r3, [r7, #28] + 80141ca: e038 b.n 801423e } else { yield = pdFALSE; - 8013804: 2300 movs r3, #0 - 8013806: 617b str r3, [r7, #20] + 80141cc: 2300 movs r3, #0 + 80141ce: 617b str r3, [r7, #20] if (xQueueSendToBackFromISR (hQueue, msg_ptr, &yield) != pdTRUE) { - 8013808: f107 0214 add.w r2, r7, #20 - 801380c: 2300 movs r3, #0 - 801380e: 68b9 ldr r1, [r7, #8] - 8013810: 69b8 ldr r0, [r7, #24] - 8013812: f000 fcdd bl 80141d0 - 8013816: 4603 mov r3, r0 - 8013818: 2b01 cmp r3, #1 - 801381a: d003 beq.n 8013824 + 80141d0: f107 0214 add.w r2, r7, #20 + 80141d4: 2300 movs r3, #0 + 80141d6: 68b9 ldr r1, [r7, #8] + 80141d8: 69b8 ldr r0, [r7, #24] + 80141da: f000 fcdd bl 8014b98 + 80141de: 4603 mov r3, r0 + 80141e0: 2b01 cmp r3, #1 + 80141e2: d003 beq.n 80141ec stat = osErrorResource; - 801381c: f06f 0302 mvn.w r3, #2 - 8013820: 61fb str r3, [r7, #28] - 8013822: e028 b.n 8013876 + 80141e4: f06f 0302 mvn.w r3, #2 + 80141e8: 61fb str r3, [r7, #28] + 80141ea: e028 b.n 801423e } else { portYIELD_FROM_ISR (yield); - 8013824: 697b ldr r3, [r7, #20] - 8013826: 2b00 cmp r3, #0 - 8013828: d025 beq.n 8013876 - 801382a: 4b15 ldr r3, [pc, #84] @ (8013880 ) - 801382c: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8013830: 601a str r2, [r3, #0] - 8013832: f3bf 8f4f dsb sy - 8013836: f3bf 8f6f isb sy - 801383a: e01c b.n 8013876 + 80141ec: 697b ldr r3, [r7, #20] + 80141ee: 2b00 cmp r3, #0 + 80141f0: d025 beq.n 801423e + 80141f2: 4b15 ldr r3, [pc, #84] @ (8014248 ) + 80141f4: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 80141f8: 601a str r2, [r3, #0] + 80141fa: f3bf 8f4f dsb sy + 80141fe: f3bf 8f6f isb sy + 8014202: e01c b.n 801423e } } } else { if ((hQueue == NULL) || (msg_ptr == NULL)) { - 801383c: 69bb ldr r3, [r7, #24] - 801383e: 2b00 cmp r3, #0 - 8013840: d002 beq.n 8013848 - 8013842: 68bb ldr r3, [r7, #8] - 8013844: 2b00 cmp r3, #0 - 8013846: d103 bne.n 8013850 + 8014204: 69bb ldr r3, [r7, #24] + 8014206: 2b00 cmp r3, #0 + 8014208: d002 beq.n 8014210 + 801420a: 68bb ldr r3, [r7, #8] + 801420c: 2b00 cmp r3, #0 + 801420e: d103 bne.n 8014218 stat = osErrorParameter; - 8013848: f06f 0303 mvn.w r3, #3 - 801384c: 61fb str r3, [r7, #28] - 801384e: e012 b.n 8013876 + 8014210: f06f 0303 mvn.w r3, #3 + 8014214: 61fb str r3, [r7, #28] + 8014216: e012 b.n 801423e } else { if (xQueueSendToBack (hQueue, msg_ptr, (TickType_t)timeout) != pdPASS) { - 8013850: 2300 movs r3, #0 - 8013852: 683a ldr r2, [r7, #0] - 8013854: 68b9 ldr r1, [r7, #8] - 8013856: 69b8 ldr r0, [r7, #24] - 8013858: f000 fbb8 bl 8013fcc - 801385c: 4603 mov r3, r0 - 801385e: 2b01 cmp r3, #1 - 8013860: d009 beq.n 8013876 + 8014218: 2300 movs r3, #0 + 801421a: 683a ldr r2, [r7, #0] + 801421c: 68b9 ldr r1, [r7, #8] + 801421e: 69b8 ldr r0, [r7, #24] + 8014220: f000 fbb8 bl 8014994 + 8014224: 4603 mov r3, r0 + 8014226: 2b01 cmp r3, #1 + 8014228: d009 beq.n 801423e if (timeout != 0U) { - 8013862: 683b ldr r3, [r7, #0] - 8013864: 2b00 cmp r3, #0 - 8013866: d003 beq.n 8013870 + 801422a: 683b ldr r3, [r7, #0] + 801422c: 2b00 cmp r3, #0 + 801422e: d003 beq.n 8014238 stat = osErrorTimeout; - 8013868: f06f 0301 mvn.w r3, #1 - 801386c: 61fb str r3, [r7, #28] - 801386e: e002 b.n 8013876 + 8014230: f06f 0301 mvn.w r3, #1 + 8014234: 61fb str r3, [r7, #28] + 8014236: e002 b.n 801423e } else { stat = osErrorResource; - 8013870: f06f 0302 mvn.w r3, #2 - 8013874: 61fb str r3, [r7, #28] + 8014238: f06f 0302 mvn.w r3, #2 + 801423c: 61fb str r3, [r7, #28] } } } /* Return execution status */ return (stat); - 8013876: 69fb ldr r3, [r7, #28] + 801423e: 69fb ldr r3, [r7, #28] } - 8013878: 4618 mov r0, r3 - 801387a: 3720 adds r7, #32 - 801387c: 46bd mov sp, r7 - 801387e: bd80 pop {r7, pc} - 8013880: e000ed04 .word 0xe000ed04 + 8014240: 4618 mov r0, r3 + 8014242: 3720 adds r7, #32 + 8014244: 46bd mov sp, r7 + 8014246: bd80 pop {r7, pc} + 8014248: e000ed04 .word 0xe000ed04 -08013884 : +0801424c : Get a Message from a Queue or timeout if Queue is empty. Limitations: - Message priority is ignored */ osStatus_t osMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout) { - 8013884: b580 push {r7, lr} - 8013886: b088 sub sp, #32 - 8013888: af00 add r7, sp, #0 - 801388a: 60f8 str r0, [r7, #12] - 801388c: 60b9 str r1, [r7, #8] - 801388e: 607a str r2, [r7, #4] - 8013890: 603b str r3, [r7, #0] + 801424c: b580 push {r7, lr} + 801424e: b088 sub sp, #32 + 8014250: af00 add r7, sp, #0 + 8014252: 60f8 str r0, [r7, #12] + 8014254: 60b9 str r1, [r7, #8] + 8014256: 607a str r2, [r7, #4] + 8014258: 603b str r3, [r7, #0] QueueHandle_t hQueue = (QueueHandle_t)mq_id; - 8013892: 68fb ldr r3, [r7, #12] - 8013894: 61bb str r3, [r7, #24] + 801425a: 68fb ldr r3, [r7, #12] + 801425c: 61bb str r3, [r7, #24] osStatus_t stat; BaseType_t yield; (void)msg_prio; /* Message priority is ignored */ stat = osOK; - 8013896: 2300 movs r3, #0 - 8013898: 61fb str r3, [r7, #28] + 801425e: 2300 movs r3, #0 + 8014260: 61fb str r3, [r7, #28] if (IRQ_Context() != 0U) { - 801389a: f7ff faf6 bl 8012e8a - 801389e: 4603 mov r3, r0 - 80138a0: 2b00 cmp r3, #0 - 80138a2: d028 beq.n 80138f6 + 8014262: f7ff fb10 bl 8013886 + 8014266: 4603 mov r3, r0 + 8014268: 2b00 cmp r3, #0 + 801426a: d028 beq.n 80142be if ((hQueue == NULL) || (msg_ptr == NULL) || (timeout != 0U)) { - 80138a4: 69bb ldr r3, [r7, #24] - 80138a6: 2b00 cmp r3, #0 - 80138a8: d005 beq.n 80138b6 - 80138aa: 68bb ldr r3, [r7, #8] - 80138ac: 2b00 cmp r3, #0 - 80138ae: d002 beq.n 80138b6 - 80138b0: 683b ldr r3, [r7, #0] - 80138b2: 2b00 cmp r3, #0 - 80138b4: d003 beq.n 80138be + 801426c: 69bb ldr r3, [r7, #24] + 801426e: 2b00 cmp r3, #0 + 8014270: d005 beq.n 801427e + 8014272: 68bb ldr r3, [r7, #8] + 8014274: 2b00 cmp r3, #0 + 8014276: d002 beq.n 801427e + 8014278: 683b ldr r3, [r7, #0] + 801427a: 2b00 cmp r3, #0 + 801427c: d003 beq.n 8014286 stat = osErrorParameter; - 80138b6: f06f 0303 mvn.w r3, #3 - 80138ba: 61fb str r3, [r7, #28] - 80138bc: e037 b.n 801392e + 801427e: f06f 0303 mvn.w r3, #3 + 8014282: 61fb str r3, [r7, #28] + 8014284: e037 b.n 80142f6 } else { yield = pdFALSE; - 80138be: 2300 movs r3, #0 - 80138c0: 617b str r3, [r7, #20] + 8014286: 2300 movs r3, #0 + 8014288: 617b str r3, [r7, #20] if (xQueueReceiveFromISR (hQueue, msg_ptr, &yield) != pdPASS) { - 80138c2: f107 0314 add.w r3, r7, #20 - 80138c6: 461a mov r2, r3 - 80138c8: 68b9 ldr r1, [r7, #8] - 80138ca: 69b8 ldr r0, [r7, #24] - 80138cc: f000 ffc0 bl 8014850 - 80138d0: 4603 mov r3, r0 - 80138d2: 2b01 cmp r3, #1 - 80138d4: d003 beq.n 80138de + 801428a: f107 0314 add.w r3, r7, #20 + 801428e: 461a mov r2, r3 + 8014290: 68b9 ldr r1, [r7, #8] + 8014292: 69b8 ldr r0, [r7, #24] + 8014294: f000 ffc0 bl 8015218 + 8014298: 4603 mov r3, r0 + 801429a: 2b01 cmp r3, #1 + 801429c: d003 beq.n 80142a6 stat = osErrorResource; - 80138d6: f06f 0302 mvn.w r3, #2 - 80138da: 61fb str r3, [r7, #28] - 80138dc: e027 b.n 801392e + 801429e: f06f 0302 mvn.w r3, #2 + 80142a2: 61fb str r3, [r7, #28] + 80142a4: e027 b.n 80142f6 } else { portYIELD_FROM_ISR (yield); - 80138de: 697b ldr r3, [r7, #20] - 80138e0: 2b00 cmp r3, #0 - 80138e2: d024 beq.n 801392e - 80138e4: 4b14 ldr r3, [pc, #80] @ (8013938 ) - 80138e6: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80138ea: 601a str r2, [r3, #0] - 80138ec: f3bf 8f4f dsb sy - 80138f0: f3bf 8f6f isb sy - 80138f4: e01b b.n 801392e + 80142a6: 697b ldr r3, [r7, #20] + 80142a8: 2b00 cmp r3, #0 + 80142aa: d024 beq.n 80142f6 + 80142ac: 4b14 ldr r3, [pc, #80] @ (8014300 ) + 80142ae: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 80142b2: 601a str r2, [r3, #0] + 80142b4: f3bf 8f4f dsb sy + 80142b8: f3bf 8f6f isb sy + 80142bc: e01b b.n 80142f6 } } } else { if ((hQueue == NULL) || (msg_ptr == NULL)) { - 80138f6: 69bb ldr r3, [r7, #24] - 80138f8: 2b00 cmp r3, #0 - 80138fa: d002 beq.n 8013902 - 80138fc: 68bb ldr r3, [r7, #8] - 80138fe: 2b00 cmp r3, #0 - 8013900: d103 bne.n 801390a + 80142be: 69bb ldr r3, [r7, #24] + 80142c0: 2b00 cmp r3, #0 + 80142c2: d002 beq.n 80142ca + 80142c4: 68bb ldr r3, [r7, #8] + 80142c6: 2b00 cmp r3, #0 + 80142c8: d103 bne.n 80142d2 stat = osErrorParameter; - 8013902: f06f 0303 mvn.w r3, #3 - 8013906: 61fb str r3, [r7, #28] - 8013908: e011 b.n 801392e + 80142ca: f06f 0303 mvn.w r3, #3 + 80142ce: 61fb str r3, [r7, #28] + 80142d0: e011 b.n 80142f6 } else { if (xQueueReceive (hQueue, msg_ptr, (TickType_t)timeout) != pdPASS) { - 801390a: 683a ldr r2, [r7, #0] - 801390c: 68b9 ldr r1, [r7, #8] - 801390e: 69b8 ldr r0, [r7, #24] - 8013910: f000 fdbc bl 801448c - 8013914: 4603 mov r3, r0 - 8013916: 2b01 cmp r3, #1 - 8013918: d009 beq.n 801392e + 80142d2: 683a ldr r2, [r7, #0] + 80142d4: 68b9 ldr r1, [r7, #8] + 80142d6: 69b8 ldr r0, [r7, #24] + 80142d8: f000 fdbc bl 8014e54 + 80142dc: 4603 mov r3, r0 + 80142de: 2b01 cmp r3, #1 + 80142e0: d009 beq.n 80142f6 if (timeout != 0U) { - 801391a: 683b ldr r3, [r7, #0] - 801391c: 2b00 cmp r3, #0 - 801391e: d003 beq.n 8013928 + 80142e2: 683b ldr r3, [r7, #0] + 80142e4: 2b00 cmp r3, #0 + 80142e6: d003 beq.n 80142f0 stat = osErrorTimeout; - 8013920: f06f 0301 mvn.w r3, #1 - 8013924: 61fb str r3, [r7, #28] - 8013926: e002 b.n 801392e + 80142e8: f06f 0301 mvn.w r3, #1 + 80142ec: 61fb str r3, [r7, #28] + 80142ee: e002 b.n 80142f6 } else { stat = osErrorResource; - 8013928: f06f 0302 mvn.w r3, #2 - 801392c: 61fb str r3, [r7, #28] + 80142f0: f06f 0302 mvn.w r3, #2 + 80142f4: 61fb str r3, [r7, #28] } } } /* Return execution status */ return (stat); - 801392e: 69fb ldr r3, [r7, #28] + 80142f6: 69fb ldr r3, [r7, #28] } - 8013930: 4618 mov r0, r3 - 8013932: 3720 adds r7, #32 - 8013934: 46bd mov sp, r7 - 8013936: bd80 pop {r7, pc} - 8013938: e000ed04 .word 0xe000ed04 + 80142f8: 4618 mov r0, r3 + 80142fa: 3720 adds r7, #32 + 80142fc: 46bd mov sp, r7 + 80142fe: bd80 pop {r7, pc} + 8014300: e000ed04 .word 0xe000ed04 -0801393c : +08014304 : #if (configSUPPORT_STATIC_ALLOCATION == 1) /* vApplicationGetIdleTaskMemory gets called when configSUPPORT_STATIC_ALLOCATION equals to 1 and is required for static memory allocation support. */ __WEAK void vApplicationGetIdleTaskMemory (StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize) { - 801393c: b480 push {r7} - 801393e: b085 sub sp, #20 - 8013940: af00 add r7, sp, #0 - 8013942: 60f8 str r0, [r7, #12] - 8013944: 60b9 str r1, [r7, #8] - 8013946: 607a str r2, [r7, #4] + 8014304: b480 push {r7} + 8014306: b085 sub sp, #20 + 8014308: af00 add r7, sp, #0 + 801430a: 60f8 str r0, [r7, #12] + 801430c: 60b9 str r1, [r7, #8] + 801430e: 607a str r2, [r7, #4] /* Idle task control block and stack */ static StaticTask_t Idle_TCB; static StackType_t Idle_Stack[configMINIMAL_STACK_SIZE]; *ppxIdleTaskTCBBuffer = &Idle_TCB; - 8013948: 68fb ldr r3, [r7, #12] - 801394a: 4a07 ldr r2, [pc, #28] @ (8013968 ) - 801394c: 601a str r2, [r3, #0] + 8014310: 68fb ldr r3, [r7, #12] + 8014312: 4a07 ldr r2, [pc, #28] @ (8014330 ) + 8014314: 601a str r2, [r3, #0] *ppxIdleTaskStackBuffer = &Idle_Stack[0]; - 801394e: 68bb ldr r3, [r7, #8] - 8013950: 4a06 ldr r2, [pc, #24] @ (801396c ) - 8013952: 601a str r2, [r3, #0] + 8014316: 68bb ldr r3, [r7, #8] + 8014318: 4a06 ldr r2, [pc, #24] @ (8014334 ) + 801431a: 601a str r2, [r3, #0] *pulIdleTaskStackSize = (uint32_t)configMINIMAL_STACK_SIZE; - 8013954: 687b ldr r3, [r7, #4] - 8013956: f44f 7200 mov.w r2, #512 @ 0x200 - 801395a: 601a str r2, [r3, #0] + 801431c: 687b ldr r3, [r7, #4] + 801431e: f44f 7200 mov.w r2, #512 @ 0x200 + 8014322: 601a str r2, [r3, #0] } - 801395c: bf00 nop - 801395e: 3714 adds r7, #20 - 8013960: 46bd mov sp, r7 - 8013962: f85d 7b04 ldr.w r7, [sp], #4 - 8013966: 4770 bx lr - 8013968: 200007d0 .word 0x200007d0 - 801396c: 2000082c .word 0x2000082c + 8014324: bf00 nop + 8014326: 3714 adds r7, #20 + 8014328: 46bd mov sp, r7 + 801432a: f85d 7b04 ldr.w r7, [sp], #4 + 801432e: 4770 bx lr + 8014330: 200007d0 .word 0x200007d0 + 8014334: 2000087c .word 0x2000087c -08013970 : +08014338 : /* vApplicationGetTimerTaskMemory gets called when configSUPPORT_STATIC_ALLOCATION equals to 1 and is required for static memory allocation support. */ __WEAK void vApplicationGetTimerTaskMemory (StaticTask_t **ppxTimerTaskTCBBuffer, StackType_t **ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize) { - 8013970: b480 push {r7} - 8013972: b085 sub sp, #20 - 8013974: af00 add r7, sp, #0 - 8013976: 60f8 str r0, [r7, #12] - 8013978: 60b9 str r1, [r7, #8] - 801397a: 607a str r2, [r7, #4] + 8014338: b480 push {r7} + 801433a: b085 sub sp, #20 + 801433c: af00 add r7, sp, #0 + 801433e: 60f8 str r0, [r7, #12] + 8014340: 60b9 str r1, [r7, #8] + 8014342: 607a str r2, [r7, #4] /* Timer task control block and stack */ static StaticTask_t Timer_TCB; static StackType_t Timer_Stack[configTIMER_TASK_STACK_DEPTH]; *ppxTimerTaskTCBBuffer = &Timer_TCB; - 801397c: 68fb ldr r3, [r7, #12] - 801397e: 4a07 ldr r2, [pc, #28] @ (801399c ) - 8013980: 601a str r2, [r3, #0] + 8014344: 68fb ldr r3, [r7, #12] + 8014346: 4a07 ldr r2, [pc, #28] @ (8014364 ) + 8014348: 601a str r2, [r3, #0] *ppxTimerTaskStackBuffer = &Timer_Stack[0]; - 8013982: 68bb ldr r3, [r7, #8] - 8013984: 4a06 ldr r2, [pc, #24] @ (80139a0 ) - 8013986: 601a str r2, [r3, #0] + 801434a: 68bb ldr r3, [r7, #8] + 801434c: 4a06 ldr r2, [pc, #24] @ (8014368 ) + 801434e: 601a str r2, [r3, #0] *pulTimerTaskStackSize = (uint32_t)configTIMER_TASK_STACK_DEPTH; - 8013988: 687b ldr r3, [r7, #4] - 801398a: f44f 6280 mov.w r2, #1024 @ 0x400 - 801398e: 601a str r2, [r3, #0] + 8014350: 687b ldr r3, [r7, #4] + 8014352: f44f 6280 mov.w r2, #1024 @ 0x400 + 8014356: 601a str r2, [r3, #0] } - 8013990: bf00 nop - 8013992: 3714 adds r7, #20 - 8013994: 46bd mov sp, r7 - 8013996: f85d 7b04 ldr.w r7, [sp], #4 - 801399a: 4770 bx lr - 801399c: 2000102c .word 0x2000102c - 80139a0: 20001088 .word 0x20001088 + 8014358: bf00 nop + 801435a: 3714 adds r7, #20 + 801435c: 46bd mov sp, r7 + 801435e: f85d 7b04 ldr.w r7, [sp], #4 + 8014362: 4770 bx lr + 8014364: 2000107c .word 0x2000107c + 8014368: 20001128 .word 0x20001128 -080139a4 : +0801436c : /*----------------------------------------------------------- * PUBLIC LIST API documented in list.h *----------------------------------------------------------*/ void vListInitialise( List_t * const pxList ) { - 80139a4: b480 push {r7} - 80139a6: b083 sub sp, #12 - 80139a8: af00 add r7, sp, #0 - 80139aa: 6078 str r0, [r7, #4] + 801436c: b480 push {r7} + 801436e: b083 sub sp, #12 + 8014370: af00 add r7, sp, #0 + 8014372: 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. */ - 80139ac: 687b ldr r3, [r7, #4] - 80139ae: f103 0208 add.w r2, r3, #8 - 80139b2: 687b ldr r3, [r7, #4] - 80139b4: 605a str r2, [r3, #4] + 8014374: 687b ldr r3, [r7, #4] + 8014376: f103 0208 add.w r2, r3, #8 + 801437a: 687b ldr r3, [r7, #4] + 801437c: 605a str r2, [r3, #4] listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( &( pxList->xListEnd ) ); /* 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; - 80139b6: 687b ldr r3, [r7, #4] - 80139b8: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 80139bc: 609a str r2, [r3, #8] + 801437e: 687b ldr r3, [r7, #4] + 8014380: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8014384: 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. */ - 80139be: 687b ldr r3, [r7, #4] - 80139c0: f103 0208 add.w r2, r3, #8 - 80139c4: 687b ldr r3, [r7, #4] - 80139c6: 60da str r2, [r3, #12] + 8014386: 687b ldr r3, [r7, #4] + 8014388: f103 0208 add.w r2, r3, #8 + 801438c: 687b ldr r3, [r7, #4] + 801438e: 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. */ - 80139c8: 687b ldr r3, [r7, #4] - 80139ca: f103 0208 add.w r2, r3, #8 - 80139ce: 687b ldr r3, [r7, #4] - 80139d0: 611a str r2, [r3, #16] + 8014390: 687b ldr r3, [r7, #4] + 8014392: f103 0208 add.w r2, r3, #8 + 8014396: 687b ldr r3, [r7, #4] + 8014398: 611a str r2, [r3, #16] pxList->xListEnd.pxContainer = NULL; listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( &( pxList->xListEnd ) ); } #endif pxList->uxNumberOfItems = ( UBaseType_t ) 0U; - 80139d2: 687b ldr r3, [r7, #4] - 80139d4: 2200 movs r2, #0 - 80139d6: 601a str r2, [r3, #0] + 801439a: 687b ldr r3, [r7, #4] + 801439c: 2200 movs r2, #0 + 801439e: 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 ); } - 80139d8: bf00 nop - 80139da: 370c adds r7, #12 - 80139dc: 46bd mov sp, r7 - 80139de: f85d 7b04 ldr.w r7, [sp], #4 - 80139e2: 4770 bx lr + 80143a0: bf00 nop + 80143a2: 370c adds r7, #12 + 80143a4: 46bd mov sp, r7 + 80143a6: f85d 7b04 ldr.w r7, [sp], #4 + 80143aa: 4770 bx lr -080139e4 : +080143ac : /*-----------------------------------------------------------*/ void vListInitialiseItem( ListItem_t * const pxItem ) { - 80139e4: b480 push {r7} - 80139e6: b083 sub sp, #12 - 80139e8: af00 add r7, sp, #0 - 80139ea: 6078 str r0, [r7, #4] + 80143ac: b480 push {r7} + 80143ae: b083 sub sp, #12 + 80143b0: af00 add r7, sp, #0 + 80143b2: 6078 str r0, [r7, #4] /* Make sure the list item is not recorded as being on a list. */ pxItem->pxContainer = NULL; - 80139ec: 687b ldr r3, [r7, #4] - 80139ee: 2200 movs r2, #0 - 80139f0: 611a str r2, [r3, #16] + 80143b4: 687b ldr r3, [r7, #4] + 80143b6: 2200 movs r2, #0 + 80143b8: 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 ); } - 80139f2: bf00 nop - 80139f4: 370c adds r7, #12 - 80139f6: 46bd mov sp, r7 - 80139f8: f85d 7b04 ldr.w r7, [sp], #4 - 80139fc: 4770 bx lr + 80143ba: bf00 nop + 80143bc: 370c adds r7, #12 + 80143be: 46bd mov sp, r7 + 80143c0: f85d 7b04 ldr.w r7, [sp], #4 + 80143c4: 4770 bx lr -080139fe : +080143c6 : } /*-----------------------------------------------------------*/ void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem ) { - 80139fe: b480 push {r7} - 8013a00: b085 sub sp, #20 - 8013a02: af00 add r7, sp, #0 - 8013a04: 6078 str r0, [r7, #4] - 8013a06: 6039 str r1, [r7, #0] + 80143c6: b480 push {r7} + 80143c8: b085 sub sp, #20 + 80143ca: af00 add r7, sp, #0 + 80143cc: 6078 str r0, [r7, #4] + 80143ce: 6039 str r1, [r7, #0] ListItem_t * pxIterator; const TickType_t xValueOfInsertion = pxNewListItem->xItemValue; - 8013a08: 683b ldr r3, [r7, #0] - 8013a0a: 681b ldr r3, [r3, #0] - 8013a0c: 60bb str r3, [r7, #8] + 80143d0: 683b ldr r3, [r7, #0] + 80143d2: 681b ldr r3, [r3, #0] + 80143d4: 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 ) - 8013a0e: 68bb ldr r3, [r7, #8] - 8013a10: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8013a14: d103 bne.n 8013a1e + 80143d6: 68bb ldr r3, [r7, #8] + 80143d8: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 80143dc: d103 bne.n 80143e6 { pxIterator = pxList->xListEnd.pxPrevious; - 8013a16: 687b ldr r3, [r7, #4] - 8013a18: 691b ldr r3, [r3, #16] - 8013a1a: 60fb str r3, [r7, #12] - 8013a1c: e00c b.n 8013a38 + 80143de: 687b ldr r3, [r7, #4] + 80143e0: 691b ldr r3, [r3, #16] + 80143e2: 60fb str r3, [r7, #12] + 80143e4: e00c b.n 8014400 * 5) If the FreeRTOS port supports interrupt nesting then ensure that * the priority of the tick interrupt is at or below * configMAX_SYSCALL_INTERRUPT_PRIORITY. **********************************************************************/ 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. */ - 8013a1e: 687b ldr r3, [r7, #4] - 8013a20: 3308 adds r3, #8 - 8013a22: 60fb str r3, [r7, #12] - 8013a24: e002 b.n 8013a2c - 8013a26: 68fb ldr r3, [r7, #12] - 8013a28: 685b ldr r3, [r3, #4] - 8013a2a: 60fb str r3, [r7, #12] - 8013a2c: 68fb ldr r3, [r7, #12] - 8013a2e: 685b ldr r3, [r3, #4] - 8013a30: 681b ldr r3, [r3, #0] - 8013a32: 68ba ldr r2, [r7, #8] - 8013a34: 429a cmp r2, r3 - 8013a36: d2f6 bcs.n 8013a26 + 80143e6: 687b ldr r3, [r7, #4] + 80143e8: 3308 adds r3, #8 + 80143ea: 60fb str r3, [r7, #12] + 80143ec: e002 b.n 80143f4 + 80143ee: 68fb ldr r3, [r7, #12] + 80143f0: 685b ldr r3, [r3, #4] + 80143f2: 60fb str r3, [r7, #12] + 80143f4: 68fb ldr r3, [r7, #12] + 80143f6: 685b ldr r3, [r3, #4] + 80143f8: 681b ldr r3, [r3, #0] + 80143fa: 68ba ldr r2, [r7, #8] + 80143fc: 429a cmp r2, r3 + 80143fe: d2f6 bcs.n 80143ee /* There is nothing to do here, just iterating to the wanted * insertion position. */ } } pxNewListItem->pxNext = pxIterator->pxNext; - 8013a38: 68fb ldr r3, [r7, #12] - 8013a3a: 685a ldr r2, [r3, #4] - 8013a3c: 683b ldr r3, [r7, #0] - 8013a3e: 605a str r2, [r3, #4] + 8014400: 68fb ldr r3, [r7, #12] + 8014402: 685a ldr r2, [r3, #4] + 8014404: 683b ldr r3, [r7, #0] + 8014406: 605a str r2, [r3, #4] pxNewListItem->pxNext->pxPrevious = pxNewListItem; - 8013a40: 683b ldr r3, [r7, #0] - 8013a42: 685b ldr r3, [r3, #4] - 8013a44: 683a ldr r2, [r7, #0] - 8013a46: 609a str r2, [r3, #8] + 8014408: 683b ldr r3, [r7, #0] + 801440a: 685b ldr r3, [r3, #4] + 801440c: 683a ldr r2, [r7, #0] + 801440e: 609a str r2, [r3, #8] pxNewListItem->pxPrevious = pxIterator; - 8013a48: 683b ldr r3, [r7, #0] - 8013a4a: 68fa ldr r2, [r7, #12] - 8013a4c: 609a str r2, [r3, #8] + 8014410: 683b ldr r3, [r7, #0] + 8014412: 68fa ldr r2, [r7, #12] + 8014414: 609a str r2, [r3, #8] pxIterator->pxNext = pxNewListItem; - 8013a4e: 68fb ldr r3, [r7, #12] - 8013a50: 683a ldr r2, [r7, #0] - 8013a52: 605a str r2, [r3, #4] + 8014416: 68fb ldr r3, [r7, #12] + 8014418: 683a ldr r2, [r7, #0] + 801441a: 605a str r2, [r3, #4] /* Remember which list the item is in. This allows fast removal of the * item later. */ pxNewListItem->pxContainer = pxList; - 8013a54: 683b ldr r3, [r7, #0] - 8013a56: 687a ldr r2, [r7, #4] - 8013a58: 611a str r2, [r3, #16] + 801441c: 683b ldr r3, [r7, #0] + 801441e: 687a ldr r2, [r7, #4] + 8014420: 611a str r2, [r3, #16] ( pxList->uxNumberOfItems )++; - 8013a5a: 687b ldr r3, [r7, #4] - 8013a5c: 681b ldr r3, [r3, #0] - 8013a5e: 1c5a adds r2, r3, #1 - 8013a60: 687b ldr r3, [r7, #4] - 8013a62: 601a str r2, [r3, #0] + 8014422: 687b ldr r3, [r7, #4] + 8014424: 681b ldr r3, [r3, #0] + 8014426: 1c5a adds r2, r3, #1 + 8014428: 687b ldr r3, [r7, #4] + 801442a: 601a str r2, [r3, #0] } - 8013a64: bf00 nop - 8013a66: 3714 adds r7, #20 - 8013a68: 46bd mov sp, r7 - 8013a6a: f85d 7b04 ldr.w r7, [sp], #4 - 8013a6e: 4770 bx lr + 801442c: bf00 nop + 801442e: 3714 adds r7, #20 + 8014430: 46bd mov sp, r7 + 8014432: f85d 7b04 ldr.w r7, [sp], #4 + 8014436: 4770 bx lr -08013a70 : +08014438 : /*-----------------------------------------------------------*/ UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) { - 8013a70: b480 push {r7} - 8013a72: b085 sub sp, #20 - 8013a74: af00 add r7, sp, #0 - 8013a76: 6078 str r0, [r7, #4] + 8014438: b480 push {r7} + 801443a: b085 sub sp, #20 + 801443c: af00 add r7, sp, #0 + 801443e: 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; - 8013a78: 687b ldr r3, [r7, #4] - 8013a7a: 691b ldr r3, [r3, #16] - 8013a7c: 60fb str r3, [r7, #12] + 8014440: 687b ldr r3, [r7, #4] + 8014442: 691b ldr r3, [r3, #16] + 8014444: 60fb str r3, [r7, #12] pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious; - 8013a7e: 687b ldr r3, [r7, #4] - 8013a80: 685b ldr r3, [r3, #4] - 8013a82: 687a ldr r2, [r7, #4] - 8013a84: 6892 ldr r2, [r2, #8] - 8013a86: 609a str r2, [r3, #8] + 8014446: 687b ldr r3, [r7, #4] + 8014448: 685b ldr r3, [r3, #4] + 801444a: 687a ldr r2, [r7, #4] + 801444c: 6892 ldr r2, [r2, #8] + 801444e: 609a str r2, [r3, #8] pxItemToRemove->pxPrevious->pxNext = pxItemToRemove->pxNext; - 8013a88: 687b ldr r3, [r7, #4] - 8013a8a: 689b ldr r3, [r3, #8] - 8013a8c: 687a ldr r2, [r7, #4] - 8013a8e: 6852 ldr r2, [r2, #4] - 8013a90: 605a str r2, [r3, #4] + 8014450: 687b ldr r3, [r7, #4] + 8014452: 689b ldr r3, [r3, #8] + 8014454: 687a ldr r2, [r7, #4] + 8014456: 6852 ldr r2, [r2, #4] + 8014458: 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 ) - 8013a92: 68fb ldr r3, [r7, #12] - 8013a94: 685b ldr r3, [r3, #4] - 8013a96: 687a ldr r2, [r7, #4] - 8013a98: 429a cmp r2, r3 - 8013a9a: d103 bne.n 8013aa4 + 801445a: 68fb ldr r3, [r7, #12] + 801445c: 685b ldr r3, [r3, #4] + 801445e: 687a ldr r2, [r7, #4] + 8014460: 429a cmp r2, r3 + 8014462: d103 bne.n 801446c { pxList->pxIndex = pxItemToRemove->pxPrevious; - 8013a9c: 687b ldr r3, [r7, #4] - 8013a9e: 689a ldr r2, [r3, #8] - 8013aa0: 68fb ldr r3, [r7, #12] - 8013aa2: 605a str r2, [r3, #4] + 8014464: 687b ldr r3, [r7, #4] + 8014466: 689a ldr r2, [r3, #8] + 8014468: 68fb ldr r3, [r7, #12] + 801446a: 605a str r2, [r3, #4] else { mtCOVERAGE_TEST_MARKER(); } pxItemToRemove->pxContainer = NULL; - 8013aa4: 687b ldr r3, [r7, #4] - 8013aa6: 2200 movs r2, #0 - 8013aa8: 611a str r2, [r3, #16] + 801446c: 687b ldr r3, [r7, #4] + 801446e: 2200 movs r2, #0 + 8014470: 611a str r2, [r3, #16] ( pxList->uxNumberOfItems )--; - 8013aaa: 68fb ldr r3, [r7, #12] - 8013aac: 681b ldr r3, [r3, #0] - 8013aae: 1e5a subs r2, r3, #1 - 8013ab0: 68fb ldr r3, [r7, #12] - 8013ab2: 601a str r2, [r3, #0] + 8014472: 68fb ldr r3, [r7, #12] + 8014474: 681b ldr r3, [r3, #0] + 8014476: 1e5a subs r2, r3, #1 + 8014478: 68fb ldr r3, [r7, #12] + 801447a: 601a str r2, [r3, #0] return pxList->uxNumberOfItems; - 8013ab4: 68fb ldr r3, [r7, #12] - 8013ab6: 681b ldr r3, [r3, #0] + 801447c: 68fb ldr r3, [r7, #12] + 801447e: 681b ldr r3, [r3, #0] } - 8013ab8: 4618 mov r0, r3 - 8013aba: 3714 adds r7, #20 - 8013abc: 46bd mov sp, r7 - 8013abe: f85d 7b04 ldr.w r7, [sp], #4 - 8013ac2: 4770 bx lr + 8014480: 4618 mov r0, r3 + 8014482: 3714 adds r7, #20 + 8014484: 46bd mov sp, r7 + 8014486: f85d 7b04 ldr.w r7, [sp], #4 + 801448a: 4770 bx lr -08013ac4 : +0801448c : } while( 0 ) /*-----------------------------------------------------------*/ BaseType_t xQueueGenericReset( QueueHandle_t xQueue, BaseType_t xNewQueue ) { - 8013ac4: b580 push {r7, lr} - 8013ac6: b086 sub sp, #24 - 8013ac8: af00 add r7, sp, #0 - 8013aca: 6078 str r0, [r7, #4] - 8013acc: 6039 str r1, [r7, #0] + 801448c: b580 push {r7, lr} + 801448e: b086 sub sp, #24 + 8014490: af00 add r7, sp, #0 + 8014492: 6078 str r0, [r7, #4] + 8014494: 6039 str r1, [r7, #0] BaseType_t xReturn = pdPASS; - 8013ace: 2301 movs r3, #1 - 8013ad0: 617b str r3, [r7, #20] + 8014496: 2301 movs r3, #1 + 8014498: 617b str r3, [r7, #20] Queue_t * const pxQueue = xQueue; - 8013ad2: 687b ldr r3, [r7, #4] - 8013ad4: 613b str r3, [r7, #16] + 801449a: 687b ldr r3, [r7, #4] + 801449c: 613b str r3, [r7, #16] configASSERT( pxQueue ); - 8013ad6: 693b ldr r3, [r7, #16] - 8013ad8: 2b00 cmp r3, #0 - 8013ada: d10b bne.n 8013af4 + 801449e: 693b ldr r3, [r7, #16] + 80144a0: 2b00 cmp r3, #0 + 80144a2: d10b bne.n 80144bc portFORCE_INLINE static void vPortRaiseBASEPRI( void ) { uint32_t ulNewBASEPRI; __asm volatile - 8013adc: f04f 0350 mov.w r3, #80 @ 0x50 - 8013ae0: f383 8811 msr BASEPRI, r3 - 8013ae4: f3bf 8f6f isb sy - 8013ae8: f3bf 8f4f dsb sy - 8013aec: 60fb str r3, [r7, #12] + 80144a4: f04f 0350 mov.w r3, #80 @ 0x50 + 80144a8: f383 8811 msr BASEPRI, r3 + 80144ac: f3bf 8f6f isb sy + 80144b0: f3bf 8f4f dsb sy + 80144b4: 60fb str r3, [r7, #12] " msr basepri, %0 \n"\ " isb \n"\ " dsb \n"\ : "=r" ( ulNewBASEPRI ) : "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory" ); } - 8013aee: bf00 nop - 8013af0: bf00 nop - 8013af2: e7fd b.n 8013af0 + 80144b6: bf00 nop + 80144b8: bf00 nop + 80144ba: e7fd b.n 80144b8 if( ( pxQueue != NULL ) && - 8013af4: 693b ldr r3, [r7, #16] - 8013af6: 2b00 cmp r3, #0 - 8013af8: d05d beq.n 8013bb6 + 80144bc: 693b ldr r3, [r7, #16] + 80144be: 2b00 cmp r3, #0 + 80144c0: d05d beq.n 801457e ( pxQueue->uxLength >= 1U ) && - 8013afa: 693b ldr r3, [r7, #16] - 8013afc: 6bdb ldr r3, [r3, #60] @ 0x3c + 80144c2: 693b ldr r3, [r7, #16] + 80144c4: 6bdb ldr r3, [r3, #60] @ 0x3c if( ( pxQueue != NULL ) && - 8013afe: 2b00 cmp r3, #0 - 8013b00: d059 beq.n 8013bb6 + 80144c6: 2b00 cmp r3, #0 + 80144c8: d059 beq.n 801457e /* Check for multiplication overflow. */ ( ( SIZE_MAX / pxQueue->uxLength ) >= pxQueue->uxItemSize ) ) - 8013b02: 693b ldr r3, [r7, #16] - 8013b04: 6c1a ldr r2, [r3, #64] @ 0x40 - 8013b06: 693b ldr r3, [r7, #16] - 8013b08: 6bdb ldr r3, [r3, #60] @ 0x3c - 8013b0a: 2100 movs r1, #0 - 8013b0c: fba3 2302 umull r2, r3, r3, r2 - 8013b10: 2b00 cmp r3, #0 - 8013b12: d000 beq.n 8013b16 - 8013b14: 2101 movs r1, #1 - 8013b16: 460b mov r3, r1 + 80144ca: 693b ldr r3, [r7, #16] + 80144cc: 6c1a ldr r2, [r3, #64] @ 0x40 + 80144ce: 693b ldr r3, [r7, #16] + 80144d0: 6bdb ldr r3, [r3, #60] @ 0x3c + 80144d2: 2100 movs r1, #0 + 80144d4: fba3 2302 umull r2, r3, r3, r2 + 80144d8: 2b00 cmp r3, #0 + 80144da: d000 beq.n 80144de + 80144dc: 2101 movs r1, #1 + 80144de: 460b mov r3, r1 ( pxQueue->uxLength >= 1U ) && - 8013b18: 2b00 cmp r3, #0 - 8013b1a: d14c bne.n 8013bb6 + 80144e0: 2b00 cmp r3, #0 + 80144e2: d14c bne.n 801457e { taskENTER_CRITICAL(); - 8013b1c: f003 fc20 bl 8017360 + 80144e4: f003 fc24 bl 8017d30 { pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ - 8013b20: 693b ldr r3, [r7, #16] - 8013b22: 681a ldr r2, [r3, #0] - 8013b24: 693b ldr r3, [r7, #16] - 8013b26: 6bdb ldr r3, [r3, #60] @ 0x3c - 8013b28: 6939 ldr r1, [r7, #16] - 8013b2a: 6c09 ldr r1, [r1, #64] @ 0x40 - 8013b2c: fb01 f303 mul.w r3, r1, r3 - 8013b30: 441a add r2, r3 - 8013b32: 693b ldr r3, [r7, #16] - 8013b34: 609a str r2, [r3, #8] + 80144e8: 693b ldr r3, [r7, #16] + 80144ea: 681a ldr r2, [r3, #0] + 80144ec: 693b ldr r3, [r7, #16] + 80144ee: 6bdb ldr r3, [r3, #60] @ 0x3c + 80144f0: 6939 ldr r1, [r7, #16] + 80144f2: 6c09 ldr r1, [r1, #64] @ 0x40 + 80144f4: fb01 f303 mul.w r3, r1, r3 + 80144f8: 441a add r2, r3 + 80144fa: 693b ldr r3, [r7, #16] + 80144fc: 609a str r2, [r3, #8] pxQueue->uxMessagesWaiting = ( UBaseType_t ) 0U; - 8013b36: 693b ldr r3, [r7, #16] - 8013b38: 2200 movs r2, #0 - 8013b3a: 639a str r2, [r3, #56] @ 0x38 + 80144fe: 693b ldr r3, [r7, #16] + 8014500: 2200 movs r2, #0 + 8014502: 639a str r2, [r3, #56] @ 0x38 pxQueue->pcWriteTo = pxQueue->pcHead; - 8013b3c: 693b ldr r3, [r7, #16] - 8013b3e: 681a ldr r2, [r3, #0] - 8013b40: 693b ldr r3, [r7, #16] - 8013b42: 605a str r2, [r3, #4] + 8014504: 693b ldr r3, [r7, #16] + 8014506: 681a ldr r2, [r3, #0] + 8014508: 693b ldr r3, [r7, #16] + 801450a: 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. */ - 8013b44: 693b ldr r3, [r7, #16] - 8013b46: 681a ldr r2, [r3, #0] - 8013b48: 693b ldr r3, [r7, #16] - 8013b4a: 6bdb ldr r3, [r3, #60] @ 0x3c - 8013b4c: 3b01 subs r3, #1 - 8013b4e: 6939 ldr r1, [r7, #16] - 8013b50: 6c09 ldr r1, [r1, #64] @ 0x40 - 8013b52: fb01 f303 mul.w r3, r1, r3 - 8013b56: 441a add r2, r3 - 8013b58: 693b ldr r3, [r7, #16] - 8013b5a: 60da str r2, [r3, #12] + 801450c: 693b ldr r3, [r7, #16] + 801450e: 681a ldr r2, [r3, #0] + 8014510: 693b ldr r3, [r7, #16] + 8014512: 6bdb ldr r3, [r3, #60] @ 0x3c + 8014514: 3b01 subs r3, #1 + 8014516: 6939 ldr r1, [r7, #16] + 8014518: 6c09 ldr r1, [r1, #64] @ 0x40 + 801451a: fb01 f303 mul.w r3, r1, r3 + 801451e: 441a add r2, r3 + 8014520: 693b ldr r3, [r7, #16] + 8014522: 60da str r2, [r3, #12] pxQueue->cRxLock = queueUNLOCKED; - 8013b5c: 693b ldr r3, [r7, #16] - 8013b5e: 22ff movs r2, #255 @ 0xff - 8013b60: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 8014524: 693b ldr r3, [r7, #16] + 8014526: 22ff movs r2, #255 @ 0xff + 8014528: f883 2044 strb.w r2, [r3, #68] @ 0x44 pxQueue->cTxLock = queueUNLOCKED; - 8013b64: 693b ldr r3, [r7, #16] - 8013b66: 22ff movs r2, #255 @ 0xff - 8013b68: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 801452c: 693b ldr r3, [r7, #16] + 801452e: 22ff movs r2, #255 @ 0xff + 8014530: f883 2045 strb.w r2, [r3, #69] @ 0x45 if( xNewQueue == pdFALSE ) - 8013b6c: 683b ldr r3, [r7, #0] - 8013b6e: 2b00 cmp r3, #0 - 8013b70: d114 bne.n 8013b9c + 8014534: 683b ldr r3, [r7, #0] + 8014536: 2b00 cmp r3, #0 + 8014538: d114 bne.n 8014564 /* 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 ) - 8013b72: 693b ldr r3, [r7, #16] - 8013b74: 691b ldr r3, [r3, #16] - 8013b76: 2b00 cmp r3, #0 - 8013b78: d01a beq.n 8013bb0 + 801453a: 693b ldr r3, [r7, #16] + 801453c: 691b ldr r3, [r3, #16] + 801453e: 2b00 cmp r3, #0 + 8014540: d01a beq.n 8014578 { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 8013b7a: 693b ldr r3, [r7, #16] - 8013b7c: 3310 adds r3, #16 - 8013b7e: 4618 mov r0, r3 - 8013b80: f001 fe8e bl 80158a0 - 8013b84: 4603 mov r3, r0 - 8013b86: 2b00 cmp r3, #0 - 8013b88: d012 beq.n 8013bb0 + 8014542: 693b ldr r3, [r7, #16] + 8014544: 3310 adds r3, #16 + 8014546: 4618 mov r0, r3 + 8014548: f001 fea2 bl 8016290 + 801454c: 4603 mov r3, r0 + 801454e: 2b00 cmp r3, #0 + 8014550: d012 beq.n 8014578 { queueYIELD_IF_USING_PREEMPTION(); - 8013b8a: 4b16 ldr r3, [pc, #88] @ (8013be4 ) - 8013b8c: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8013b90: 601a str r2, [r3, #0] - 8013b92: f3bf 8f4f dsb sy - 8013b96: f3bf 8f6f isb sy - 8013b9a: e009 b.n 8013bb0 + 8014552: 4b16 ldr r3, [pc, #88] @ (80145ac ) + 8014554: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8014558: 601a str r2, [r3, #0] + 801455a: f3bf 8f4f dsb sy + 801455e: f3bf 8f6f isb sy + 8014562: e009 b.n 8014578 } } else { /* Ensure the event queues start in the correct state. */ vListInitialise( &( pxQueue->xTasksWaitingToSend ) ); - 8013b9c: 693b ldr r3, [r7, #16] - 8013b9e: 3310 adds r3, #16 - 8013ba0: 4618 mov r0, r3 - 8013ba2: f7ff feff bl 80139a4 + 8014564: 693b ldr r3, [r7, #16] + 8014566: 3310 adds r3, #16 + 8014568: 4618 mov r0, r3 + 801456a: f7ff feff bl 801436c vListInitialise( &( pxQueue->xTasksWaitingToReceive ) ); - 8013ba6: 693b ldr r3, [r7, #16] - 8013ba8: 3324 adds r3, #36 @ 0x24 - 8013baa: 4618 mov r0, r3 - 8013bac: f7ff fefa bl 80139a4 + 801456e: 693b ldr r3, [r7, #16] + 8014570: 3324 adds r3, #36 @ 0x24 + 8014572: 4618 mov r0, r3 + 8014574: f7ff fefa bl 801436c } } taskEXIT_CRITICAL(); - 8013bb0: f003 fc08 bl 80173c4 - 8013bb4: e001 b.n 8013bba + 8014578: f003 fc0c bl 8017d94 + 801457c: e001 b.n 8014582 } else { xReturn = pdFAIL; - 8013bb6: 2300 movs r3, #0 - 8013bb8: 617b str r3, [r7, #20] + 801457e: 2300 movs r3, #0 + 8014580: 617b str r3, [r7, #20] } configASSERT( xReturn != pdFAIL ); - 8013bba: 697b ldr r3, [r7, #20] - 8013bbc: 2b00 cmp r3, #0 - 8013bbe: d10b bne.n 8013bd8 + 8014582: 697b ldr r3, [r7, #20] + 8014584: 2b00 cmp r3, #0 + 8014586: d10b bne.n 80145a0 __asm volatile - 8013bc0: f04f 0350 mov.w r3, #80 @ 0x50 - 8013bc4: f383 8811 msr BASEPRI, r3 - 8013bc8: f3bf 8f6f isb sy - 8013bcc: f3bf 8f4f dsb sy - 8013bd0: 60bb str r3, [r7, #8] + 8014588: f04f 0350 mov.w r3, #80 @ 0x50 + 801458c: f383 8811 msr BASEPRI, r3 + 8014590: f3bf 8f6f isb sy + 8014594: f3bf 8f4f dsb sy + 8014598: 60bb str r3, [r7, #8] } - 8013bd2: bf00 nop - 8013bd4: bf00 nop - 8013bd6: e7fd b.n 8013bd4 + 801459a: bf00 nop + 801459c: bf00 nop + 801459e: e7fd b.n 801459c /* A value is returned for calling semantic consistency with previous * versions. */ return xReturn; - 8013bd8: 697b ldr r3, [r7, #20] + 80145a0: 697b ldr r3, [r7, #20] } - 8013bda: 4618 mov r0, r3 - 8013bdc: 3718 adds r7, #24 - 8013bde: 46bd mov sp, r7 - 8013be0: bd80 pop {r7, pc} - 8013be2: bf00 nop - 8013be4: e000ed04 .word 0xe000ed04 + 80145a2: 4618 mov r0, r3 + 80145a4: 3718 adds r7, #24 + 80145a6: 46bd mov sp, r7 + 80145a8: bd80 pop {r7, pc} + 80145aa: bf00 nop + 80145ac: e000ed04 .word 0xe000ed04 -08013be8 : +080145b0 : QueueHandle_t xQueueGenericCreateStatic( const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, StaticQueue_t * pxStaticQueue, const uint8_t ucQueueType ) { - 8013be8: b580 push {r7, lr} - 8013bea: b08c sub sp, #48 @ 0x30 - 8013bec: af02 add r7, sp, #8 - 8013bee: 60f8 str r0, [r7, #12] - 8013bf0: 60b9 str r1, [r7, #8] - 8013bf2: 607a str r2, [r7, #4] - 8013bf4: 603b str r3, [r7, #0] + 80145b0: b580 push {r7, lr} + 80145b2: b08c sub sp, #48 @ 0x30 + 80145b4: af02 add r7, sp, #8 + 80145b6: 60f8 str r0, [r7, #12] + 80145b8: 60b9 str r1, [r7, #8] + 80145ba: 607a str r2, [r7, #4] + 80145bc: 603b str r3, [r7, #0] Queue_t * pxNewQueue = NULL; - 8013bf6: 2300 movs r3, #0 - 8013bf8: 627b str r3, [r7, #36] @ 0x24 + 80145be: 2300 movs r3, #0 + 80145c0: 627b str r3, [r7, #36] @ 0x24 /* The StaticQueue_t structure and the queue storage area must be * supplied. */ configASSERT( pxStaticQueue ); - 8013bfa: 683b ldr r3, [r7, #0] - 8013bfc: 2b00 cmp r3, #0 - 8013bfe: d10b bne.n 8013c18 + 80145c2: 683b ldr r3, [r7, #0] + 80145c4: 2b00 cmp r3, #0 + 80145c6: d10b bne.n 80145e0 __asm volatile - 8013c00: f04f 0350 mov.w r3, #80 @ 0x50 - 8013c04: f383 8811 msr BASEPRI, r3 - 8013c08: f3bf 8f6f isb sy - 8013c0c: f3bf 8f4f dsb sy - 8013c10: 623b str r3, [r7, #32] + 80145c8: f04f 0350 mov.w r3, #80 @ 0x50 + 80145cc: f383 8811 msr BASEPRI, r3 + 80145d0: f3bf 8f6f isb sy + 80145d4: f3bf 8f4f dsb sy + 80145d8: 623b str r3, [r7, #32] } - 8013c12: bf00 nop - 8013c14: bf00 nop - 8013c16: e7fd b.n 8013c14 + 80145da: bf00 nop + 80145dc: bf00 nop + 80145de: e7fd b.n 80145dc if( ( uxQueueLength > ( UBaseType_t ) 0 ) && - 8013c18: 68fb ldr r3, [r7, #12] - 8013c1a: 2b00 cmp r3, #0 - 8013c1c: d031 beq.n 8013c82 - 8013c1e: 683b ldr r3, [r7, #0] - 8013c20: 2b00 cmp r3, #0 - 8013c22: d02e beq.n 8013c82 + 80145e0: 68fb ldr r3, [r7, #12] + 80145e2: 2b00 cmp r3, #0 + 80145e4: d031 beq.n 801464a + 80145e6: 683b ldr r3, [r7, #0] + 80145e8: 2b00 cmp r3, #0 + 80145ea: d02e beq.n 801464a ( pxStaticQueue != NULL ) && - 8013c24: 687b ldr r3, [r7, #4] - 8013c26: 2b00 cmp r3, #0 - 8013c28: d002 beq.n 8013c30 + 80145ec: 687b ldr r3, [r7, #4] + 80145ee: 2b00 cmp r3, #0 + 80145f0: d002 beq.n 80145f8 /* A queue storage area should be provided if the item size is not 0, and * should not be provided if the item size is 0. */ ( !( ( pucQueueStorage != NULL ) && ( uxItemSize == 0 ) ) ) && - 8013c2a: 68bb ldr r3, [r7, #8] - 8013c2c: 2b00 cmp r3, #0 - 8013c2e: d028 beq.n 8013c82 - 8013c30: 687b ldr r3, [r7, #4] - 8013c32: 2b00 cmp r3, #0 - 8013c34: d102 bne.n 8013c3c + 80145f2: 68bb ldr r3, [r7, #8] + 80145f4: 2b00 cmp r3, #0 + 80145f6: d028 beq.n 801464a + 80145f8: 687b ldr r3, [r7, #4] + 80145fa: 2b00 cmp r3, #0 + 80145fc: d102 bne.n 8014604 ( !( ( pucQueueStorage == NULL ) && ( uxItemSize != 0 ) ) ) ) - 8013c36: 68bb ldr r3, [r7, #8] - 8013c38: 2b00 cmp r3, #0 - 8013c3a: d122 bne.n 8013c82 + 80145fe: 68bb ldr r3, [r7, #8] + 8014600: 2b00 cmp r3, #0 + 8014602: d122 bne.n 801464a #if ( configASSERT_DEFINED == 1 ) { /* Sanity check that the size of the structure used to declare a * variable of type StaticQueue_t or StaticSemaphore_t equals the size of * the real queue and semaphore structures. */ volatile size_t xSize = sizeof( StaticQueue_t ); - 8013c3c: 2350 movs r3, #80 @ 0x50 - 8013c3e: 617b str r3, [r7, #20] + 8014604: 2350 movs r3, #80 @ 0x50 + 8014606: 617b str r3, [r7, #20] /* This assertion cannot be branch covered in unit tests */ configASSERT( xSize == sizeof( Queue_t ) ); /* LCOV_EXCL_BR_LINE */ - 8013c40: 697b ldr r3, [r7, #20] - 8013c42: 2b50 cmp r3, #80 @ 0x50 - 8013c44: d00b beq.n 8013c5e + 8014608: 697b ldr r3, [r7, #20] + 801460a: 2b50 cmp r3, #80 @ 0x50 + 801460c: d00b beq.n 8014626 __asm volatile - 8013c46: f04f 0350 mov.w r3, #80 @ 0x50 - 8013c4a: f383 8811 msr BASEPRI, r3 - 8013c4e: f3bf 8f6f isb sy - 8013c52: f3bf 8f4f dsb sy - 8013c56: 61fb str r3, [r7, #28] + 801460e: f04f 0350 mov.w r3, #80 @ 0x50 + 8014612: f383 8811 msr BASEPRI, r3 + 8014616: f3bf 8f6f isb sy + 801461a: f3bf 8f4f dsb sy + 801461e: 61fb str r3, [r7, #28] } - 8013c58: bf00 nop - 8013c5a: bf00 nop - 8013c5c: e7fd b.n 8013c5a + 8014620: bf00 nop + 8014622: bf00 nop + 8014624: e7fd b.n 8014622 ( void ) xSize; /* Keeps lint quiet when configASSERT() is not defined. */ - 8013c5e: 697b ldr r3, [r7, #20] + 8014626: 697b ldr r3, [r7, #20] #endif /* configASSERT_DEFINED */ /* The address of a statically allocated queue was passed in, use it. * The address of a statically allocated storage area was also passed in * but is already set. */ pxNewQueue = ( Queue_t * ) pxStaticQueue; /*lint !e740 !e9087 Unusual cast is ok as the structures are designed to have the same alignment, and the size is checked by an assert. */ - 8013c60: 683b ldr r3, [r7, #0] - 8013c62: 627b str r3, [r7, #36] @ 0x24 + 8014628: 683b ldr r3, [r7, #0] + 801462a: 627b str r3, [r7, #36] @ 0x24 #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) { /* Queues can be allocated wither statically or dynamically, so * note this queue was allocated statically in case the queue is * later deleted. */ pxNewQueue->ucStaticallyAllocated = pdTRUE; - 8013c64: 6a7b ldr r3, [r7, #36] @ 0x24 - 8013c66: 2201 movs r2, #1 - 8013c68: f883 2046 strb.w r2, [r3, #70] @ 0x46 + 801462c: 6a7b ldr r3, [r7, #36] @ 0x24 + 801462e: 2201 movs r2, #1 + 8014630: f883 2046 strb.w r2, [r3, #70] @ 0x46 } #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ prvInitialiseNewQueue( uxQueueLength, uxItemSize, pucQueueStorage, ucQueueType, pxNewQueue ); - 8013c6c: f897 2030 ldrb.w r2, [r7, #48] @ 0x30 - 8013c70: 6a7b ldr r3, [r7, #36] @ 0x24 - 8013c72: 9300 str r3, [sp, #0] - 8013c74: 4613 mov r3, r2 - 8013c76: 687a ldr r2, [r7, #4] - 8013c78: 68b9 ldr r1, [r7, #8] - 8013c7a: 68f8 ldr r0, [r7, #12] - 8013c7c: f000 f868 bl 8013d50 - 8013c80: e00e b.n 8013ca0 + 8014634: f897 2030 ldrb.w r2, [r7, #48] @ 0x30 + 8014638: 6a7b ldr r3, [r7, #36] @ 0x24 + 801463a: 9300 str r3, [sp, #0] + 801463c: 4613 mov r3, r2 + 801463e: 687a ldr r2, [r7, #4] + 8014640: 68b9 ldr r1, [r7, #8] + 8014642: 68f8 ldr r0, [r7, #12] + 8014644: f000 f868 bl 8014718 + 8014648: e00e b.n 8014668 } else { configASSERT( pxNewQueue ); - 8013c82: 6a7b ldr r3, [r7, #36] @ 0x24 - 8013c84: 2b00 cmp r3, #0 - 8013c86: d10b bne.n 8013ca0 + 801464a: 6a7b ldr r3, [r7, #36] @ 0x24 + 801464c: 2b00 cmp r3, #0 + 801464e: d10b bne.n 8014668 __asm volatile - 8013c88: f04f 0350 mov.w r3, #80 @ 0x50 - 8013c8c: f383 8811 msr BASEPRI, r3 - 8013c90: f3bf 8f6f isb sy - 8013c94: f3bf 8f4f dsb sy - 8013c98: 61bb str r3, [r7, #24] + 8014650: f04f 0350 mov.w r3, #80 @ 0x50 + 8014654: f383 8811 msr BASEPRI, r3 + 8014658: f3bf 8f6f isb sy + 801465c: f3bf 8f4f dsb sy + 8014660: 61bb str r3, [r7, #24] } - 8013c9a: bf00 nop - 8013c9c: bf00 nop - 8013c9e: e7fd b.n 8013c9c + 8014662: bf00 nop + 8014664: bf00 nop + 8014666: e7fd b.n 8014664 mtCOVERAGE_TEST_MARKER(); } return pxNewQueue; - 8013ca0: 6a7b ldr r3, [r7, #36] @ 0x24 + 8014668: 6a7b ldr r3, [r7, #36] @ 0x24 } - 8013ca2: 4618 mov r0, r3 - 8013ca4: 3728 adds r7, #40 @ 0x28 - 8013ca6: 46bd mov sp, r7 - 8013ca8: bd80 pop {r7, pc} + 801466a: 4618 mov r0, r3 + 801466c: 3728 adds r7, #40 @ 0x28 + 801466e: 46bd mov sp, r7 + 8014670: bd80 pop {r7, pc} -08013caa : +08014672 : #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) QueueHandle_t xQueueGenericCreate( const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType ) { - 8013caa: b580 push {r7, lr} - 8013cac: b08a sub sp, #40 @ 0x28 - 8013cae: af02 add r7, sp, #8 - 8013cb0: 60f8 str r0, [r7, #12] - 8013cb2: 60b9 str r1, [r7, #8] - 8013cb4: 4613 mov r3, r2 - 8013cb6: 71fb strb r3, [r7, #7] + 8014672: b580 push {r7, lr} + 8014674: b08a sub sp, #40 @ 0x28 + 8014676: af02 add r7, sp, #8 + 8014678: 60f8 str r0, [r7, #12] + 801467a: 60b9 str r1, [r7, #8] + 801467c: 4613 mov r3, r2 + 801467e: 71fb strb r3, [r7, #7] Queue_t * pxNewQueue = NULL; - 8013cb8: 2300 movs r3, #0 - 8013cba: 61fb str r3, [r7, #28] + 8014680: 2300 movs r3, #0 + 8014682: 61fb str r3, [r7, #28] size_t xQueueSizeInBytes; uint8_t * pucQueueStorage; if( ( uxQueueLength > ( UBaseType_t ) 0 ) && - 8013cbc: 68fb ldr r3, [r7, #12] - 8013cbe: 2b00 cmp r3, #0 - 8013cc0: d032 beq.n 8013d28 + 8014684: 68fb ldr r3, [r7, #12] + 8014686: 2b00 cmp r3, #0 + 8014688: d032 beq.n 80146f0 /* Check for multiplication overflow. */ ( ( SIZE_MAX / uxQueueLength ) >= uxItemSize ) && - 8013cc2: 2100 movs r1, #0 - 8013cc4: 68ba ldr r2, [r7, #8] - 8013cc6: 68fb ldr r3, [r7, #12] - 8013cc8: fba3 2302 umull r2, r3, r3, r2 - 8013ccc: 2b00 cmp r3, #0 - 8013cce: d000 beq.n 8013cd2 - 8013cd0: 2101 movs r1, #1 - 8013cd2: 460b mov r3, r1 + 801468a: 2100 movs r1, #0 + 801468c: 68ba ldr r2, [r7, #8] + 801468e: 68fb ldr r3, [r7, #12] + 8014690: fba3 2302 umull r2, r3, r3, r2 + 8014694: 2b00 cmp r3, #0 + 8014696: d000 beq.n 801469a + 8014698: 2101 movs r1, #1 + 801469a: 460b mov r3, r1 if( ( uxQueueLength > ( UBaseType_t ) 0 ) && - 8013cd4: 2b00 cmp r3, #0 - 8013cd6: d127 bne.n 8013d28 + 801469c: 2b00 cmp r3, #0 + 801469e: d127 bne.n 80146f0 /* Check for addition overflow. */ ( ( SIZE_MAX - sizeof( Queue_t ) ) >= ( uxQueueLength * uxItemSize ) ) ) - 8013cd8: 68fb ldr r3, [r7, #12] - 8013cda: 68ba ldr r2, [r7, #8] - 8013cdc: fb02 f303 mul.w r3, r2, r3 + 80146a0: 68fb ldr r3, [r7, #12] + 80146a2: 68ba ldr r2, [r7, #8] + 80146a4: fb02 f303 mul.w r3, r2, r3 ( ( SIZE_MAX / uxQueueLength ) >= uxItemSize ) && - 8013ce0: f113 0f51 cmn.w r3, #81 @ 0x51 - 8013ce4: d820 bhi.n 8013d28 + 80146a8: f113 0f51 cmn.w r3, #81 @ 0x51 + 80146ac: d820 bhi.n 80146f0 { /* 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. */ - 8013ce6: 68fb ldr r3, [r7, #12] - 8013ce8: 68ba ldr r2, [r7, #8] - 8013cea: fb02 f303 mul.w r3, r2, r3 - 8013cee: 61bb str r3, [r7, #24] + 80146ae: 68fb ldr r3, [r7, #12] + 80146b0: 68ba ldr r2, [r7, #8] + 80146b2: fb02 f303 mul.w r3, r2, r3 + 80146b6: 61bb str r3, [r7, #24] * 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. */ - 8013cf0: 69bb ldr r3, [r7, #24] - 8013cf2: 3350 adds r3, #80 @ 0x50 - 8013cf4: 4618 mov r0, r3 - 8013cf6: f003 fc5b bl 80175b0 - 8013cfa: 61f8 str r0, [r7, #28] + 80146b8: 69bb ldr r3, [r7, #24] + 80146ba: 3350 adds r3, #80 @ 0x50 + 80146bc: 4618 mov r0, r3 + 80146be: f003 fc5f bl 8017f80 + 80146c2: 61f8 str r0, [r7, #28] if( pxNewQueue != NULL ) - 8013cfc: 69fb ldr r3, [r7, #28] - 8013cfe: 2b00 cmp r3, #0 - 8013d00: d021 beq.n 8013d46 + 80146c4: 69fb ldr r3, [r7, #28] + 80146c6: 2b00 cmp r3, #0 + 80146c8: d021 beq.n 801470e { /* Jump past the queue structure to find the location of the queue * storage area. */ pucQueueStorage = ( uint8_t * ) pxNewQueue; - 8013d02: 69fb ldr r3, [r7, #28] - 8013d04: 617b str r3, [r7, #20] + 80146ca: 69fb ldr r3, [r7, #28] + 80146cc: 617b str r3, [r7, #20] pucQueueStorage += sizeof( Queue_t ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ - 8013d06: 697b ldr r3, [r7, #20] - 8013d08: 3350 adds r3, #80 @ 0x50 - 8013d0a: 617b str r3, [r7, #20] + 80146ce: 697b ldr r3, [r7, #20] + 80146d0: 3350 adds r3, #80 @ 0x50 + 80146d2: 617b str r3, [r7, #20] #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) { /* Queues can be created either statically or dynamically, so * note this task was created dynamically in case it is later * deleted. */ pxNewQueue->ucStaticallyAllocated = pdFALSE; - 8013d0c: 69fb ldr r3, [r7, #28] - 8013d0e: 2200 movs r2, #0 - 8013d10: f883 2046 strb.w r2, [r3, #70] @ 0x46 + 80146d4: 69fb ldr r3, [r7, #28] + 80146d6: 2200 movs r2, #0 + 80146d8: f883 2046 strb.w r2, [r3, #70] @ 0x46 } #endif /* configSUPPORT_STATIC_ALLOCATION */ prvInitialiseNewQueue( uxQueueLength, uxItemSize, pucQueueStorage, ucQueueType, pxNewQueue ); - 8013d14: 79fa ldrb r2, [r7, #7] - 8013d16: 69fb ldr r3, [r7, #28] - 8013d18: 9300 str r3, [sp, #0] - 8013d1a: 4613 mov r3, r2 - 8013d1c: 697a ldr r2, [r7, #20] - 8013d1e: 68b9 ldr r1, [r7, #8] - 8013d20: 68f8 ldr r0, [r7, #12] - 8013d22: f000 f815 bl 8013d50 + 80146dc: 79fa ldrb r2, [r7, #7] + 80146de: 69fb ldr r3, [r7, #28] + 80146e0: 9300 str r3, [sp, #0] + 80146e2: 4613 mov r3, r2 + 80146e4: 697a ldr r2, [r7, #20] + 80146e6: 68b9 ldr r1, [r7, #8] + 80146e8: 68f8 ldr r0, [r7, #12] + 80146ea: f000 f815 bl 8014718 if( pxNewQueue != NULL ) - 8013d26: e00e b.n 8013d46 + 80146ee: e00e b.n 801470e mtCOVERAGE_TEST_MARKER(); } } else { configASSERT( pxNewQueue ); - 8013d28: 69fb ldr r3, [r7, #28] - 8013d2a: 2b00 cmp r3, #0 - 8013d2c: d10b bne.n 8013d46 + 80146f0: 69fb ldr r3, [r7, #28] + 80146f2: 2b00 cmp r3, #0 + 80146f4: d10b bne.n 801470e __asm volatile - 8013d2e: f04f 0350 mov.w r3, #80 @ 0x50 - 8013d32: f383 8811 msr BASEPRI, r3 - 8013d36: f3bf 8f6f isb sy - 8013d3a: f3bf 8f4f dsb sy - 8013d3e: 613b str r3, [r7, #16] + 80146f6: f04f 0350 mov.w r3, #80 @ 0x50 + 80146fa: f383 8811 msr BASEPRI, r3 + 80146fe: f3bf 8f6f isb sy + 8014702: f3bf 8f4f dsb sy + 8014706: 613b str r3, [r7, #16] } - 8013d40: bf00 nop - 8013d42: bf00 nop - 8013d44: e7fd b.n 8013d42 + 8014708: bf00 nop + 801470a: bf00 nop + 801470c: e7fd b.n 801470a mtCOVERAGE_TEST_MARKER(); } return pxNewQueue; - 8013d46: 69fb ldr r3, [r7, #28] + 801470e: 69fb ldr r3, [r7, #28] } - 8013d48: 4618 mov r0, r3 - 8013d4a: 3720 adds r7, #32 - 8013d4c: 46bd mov sp, r7 - 8013d4e: bd80 pop {r7, pc} + 8014710: 4618 mov r0, r3 + 8014712: 3720 adds r7, #32 + 8014714: 46bd mov sp, r7 + 8014716: bd80 pop {r7, pc} -08013d50 : +08014718 : static void prvInitialiseNewQueue( const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, const uint8_t ucQueueType, Queue_t * pxNewQueue ) { - 8013d50: b580 push {r7, lr} - 8013d52: b084 sub sp, #16 - 8013d54: af00 add r7, sp, #0 - 8013d56: 60f8 str r0, [r7, #12] - 8013d58: 60b9 str r1, [r7, #8] - 8013d5a: 607a str r2, [r7, #4] - 8013d5c: 70fb strb r3, [r7, #3] + 8014718: b580 push {r7, lr} + 801471a: b084 sub sp, #16 + 801471c: af00 add r7, sp, #0 + 801471e: 60f8 str r0, [r7, #12] + 8014720: 60b9 str r1, [r7, #8] + 8014722: 607a str r2, [r7, #4] + 8014724: 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 ) - 8013d5e: 68bb ldr r3, [r7, #8] - 8013d60: 2b00 cmp r3, #0 - 8013d62: d103 bne.n 8013d6c + 8014726: 68bb ldr r3, [r7, #8] + 8014728: 2b00 cmp r3, #0 + 801472a: d103 bne.n 8014734 { /* 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; - 8013d64: 69bb ldr r3, [r7, #24] - 8013d66: 69ba ldr r2, [r7, #24] - 8013d68: 601a str r2, [r3, #0] - 8013d6a: e002 b.n 8013d72 + 801472c: 69bb ldr r3, [r7, #24] + 801472e: 69ba ldr r2, [r7, #24] + 8014730: 601a str r2, [r3, #0] + 8014732: e002 b.n 801473a } else { /* Set the head to the start of the queue storage area. */ pxNewQueue->pcHead = ( int8_t * ) pucQueueStorage; - 8013d6c: 69bb ldr r3, [r7, #24] - 8013d6e: 687a ldr r2, [r7, #4] - 8013d70: 601a str r2, [r3, #0] + 8014734: 69bb ldr r3, [r7, #24] + 8014736: 687a ldr r2, [r7, #4] + 8014738: 601a str r2, [r3, #0] } /* Initialise the queue members as described where the queue type is * defined. */ pxNewQueue->uxLength = uxQueueLength; - 8013d72: 69bb ldr r3, [r7, #24] - 8013d74: 68fa ldr r2, [r7, #12] - 8013d76: 63da str r2, [r3, #60] @ 0x3c + 801473a: 69bb ldr r3, [r7, #24] + 801473c: 68fa ldr r2, [r7, #12] + 801473e: 63da str r2, [r3, #60] @ 0x3c pxNewQueue->uxItemSize = uxItemSize; - 8013d78: 69bb ldr r3, [r7, #24] - 8013d7a: 68ba ldr r2, [r7, #8] - 8013d7c: 641a str r2, [r3, #64] @ 0x40 + 8014740: 69bb ldr r3, [r7, #24] + 8014742: 68ba ldr r2, [r7, #8] + 8014744: 641a str r2, [r3, #64] @ 0x40 ( void ) xQueueGenericReset( pxNewQueue, pdTRUE ); - 8013d7e: 2101 movs r1, #1 - 8013d80: 69b8 ldr r0, [r7, #24] - 8013d82: f7ff fe9f bl 8013ac4 + 8014746: 2101 movs r1, #1 + 8014748: 69b8 ldr r0, [r7, #24] + 801474a: f7ff fe9f bl 801448c #if ( configUSE_TRACE_FACILITY == 1 ) { pxNewQueue->ucQueueType = ucQueueType; - 8013d86: 69bb ldr r3, [r7, #24] - 8013d88: 78fa ldrb r2, [r7, #3] - 8013d8a: f883 204c strb.w r2, [r3, #76] @ 0x4c + 801474e: 69bb ldr r3, [r7, #24] + 8014750: 78fa ldrb r2, [r7, #3] + 8014752: f883 204c strb.w r2, [r3, #76] @ 0x4c pxNewQueue->pxQueueSetContainer = NULL; } #endif /* configUSE_QUEUE_SETS */ traceQUEUE_CREATE( pxNewQueue ); } - 8013d8e: bf00 nop - 8013d90: 3710 adds r7, #16 - 8013d92: 46bd mov sp, r7 - 8013d94: bd80 pop {r7, pc} + 8014756: bf00 nop + 8014758: 3710 adds r7, #16 + 801475a: 46bd mov sp, r7 + 801475c: bd80 pop {r7, pc} -08013d96 : +0801475e : /*-----------------------------------------------------------*/ #if ( configUSE_MUTEXES == 1 ) static void prvInitialiseMutex( Queue_t * pxNewQueue ) { - 8013d96: b580 push {r7, lr} - 8013d98: b082 sub sp, #8 - 8013d9a: af00 add r7, sp, #0 - 8013d9c: 6078 str r0, [r7, #4] + 801475e: b580 push {r7, lr} + 8014760: b082 sub sp, #8 + 8014762: af00 add r7, sp, #0 + 8014764: 6078 str r0, [r7, #4] if( pxNewQueue != NULL ) - 8013d9e: 687b ldr r3, [r7, #4] - 8013da0: 2b00 cmp r3, #0 - 8013da2: d00e beq.n 8013dc2 + 8014766: 687b ldr r3, [r7, #4] + 8014768: 2b00 cmp r3, #0 + 801476a: d00e beq.n 801478a { /* The queue create function will set all the queue structure members * correctly for a generic queue, but this function is creating a * mutex. Overwrite those members that need to be set differently - * in particular the information required for priority inheritance. */ pxNewQueue->u.xSemaphore.xMutexHolder = NULL; - 8013da4: 687b ldr r3, [r7, #4] - 8013da6: 2200 movs r2, #0 - 8013da8: 609a str r2, [r3, #8] + 801476c: 687b ldr r3, [r7, #4] + 801476e: 2200 movs r2, #0 + 8014770: 609a str r2, [r3, #8] pxNewQueue->uxQueueType = queueQUEUE_IS_MUTEX; - 8013daa: 687b ldr r3, [r7, #4] - 8013dac: 2200 movs r2, #0 - 8013dae: 601a str r2, [r3, #0] + 8014772: 687b ldr r3, [r7, #4] + 8014774: 2200 movs r2, #0 + 8014776: 601a str r2, [r3, #0] /* In case this is a recursive mutex. */ pxNewQueue->u.xSemaphore.uxRecursiveCallCount = 0; - 8013db0: 687b ldr r3, [r7, #4] - 8013db2: 2200 movs r2, #0 - 8013db4: 60da str r2, [r3, #12] + 8014778: 687b ldr r3, [r7, #4] + 801477a: 2200 movs r2, #0 + 801477c: 60da str r2, [r3, #12] traceCREATE_MUTEX( pxNewQueue ); /* Start with the semaphore in the expected state. */ ( void ) xQueueGenericSend( pxNewQueue, NULL, ( TickType_t ) 0U, queueSEND_TO_BACK ); - 8013db6: 2300 movs r3, #0 - 8013db8: 2200 movs r2, #0 - 8013dba: 2100 movs r1, #0 - 8013dbc: 6878 ldr r0, [r7, #4] - 8013dbe: f000 f905 bl 8013fcc + 801477e: 2300 movs r3, #0 + 8014780: 2200 movs r2, #0 + 8014782: 2100 movs r1, #0 + 8014784: 6878 ldr r0, [r7, #4] + 8014786: f000 f905 bl 8014994 } else { traceCREATE_MUTEX_FAILED(); } } - 8013dc2: bf00 nop - 8013dc4: 3708 adds r7, #8 - 8013dc6: 46bd mov sp, r7 - 8013dc8: bd80 pop {r7, pc} + 801478a: bf00 nop + 801478c: 3708 adds r7, #8 + 801478e: 46bd mov sp, r7 + 8014790: bd80 pop {r7, pc} -08013dca : +08014792 : /*-----------------------------------------------------------*/ #if ( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) QueueHandle_t xQueueCreateMutex( const uint8_t ucQueueType ) { - 8013dca: b580 push {r7, lr} - 8013dcc: b086 sub sp, #24 - 8013dce: af00 add r7, sp, #0 - 8013dd0: 4603 mov r3, r0 - 8013dd2: 71fb strb r3, [r7, #7] + 8014792: b580 push {r7, lr} + 8014794: b086 sub sp, #24 + 8014796: af00 add r7, sp, #0 + 8014798: 4603 mov r3, r0 + 801479a: 71fb strb r3, [r7, #7] QueueHandle_t xNewQueue; const UBaseType_t uxMutexLength = ( UBaseType_t ) 1, uxMutexSize = ( UBaseType_t ) 0; - 8013dd4: 2301 movs r3, #1 - 8013dd6: 617b str r3, [r7, #20] - 8013dd8: 2300 movs r3, #0 - 8013dda: 613b str r3, [r7, #16] + 801479c: 2301 movs r3, #1 + 801479e: 617b str r3, [r7, #20] + 80147a0: 2300 movs r3, #0 + 80147a2: 613b str r3, [r7, #16] xNewQueue = xQueueGenericCreate( uxMutexLength, uxMutexSize, ucQueueType ); - 8013ddc: 79fb ldrb r3, [r7, #7] - 8013dde: 461a mov r2, r3 - 8013de0: 6939 ldr r1, [r7, #16] - 8013de2: 6978 ldr r0, [r7, #20] - 8013de4: f7ff ff61 bl 8013caa - 8013de8: 60f8 str r0, [r7, #12] + 80147a4: 79fb ldrb r3, [r7, #7] + 80147a6: 461a mov r2, r3 + 80147a8: 6939 ldr r1, [r7, #16] + 80147aa: 6978 ldr r0, [r7, #20] + 80147ac: f7ff ff61 bl 8014672 + 80147b0: 60f8 str r0, [r7, #12] prvInitialiseMutex( ( Queue_t * ) xNewQueue ); - 8013dea: 68f8 ldr r0, [r7, #12] - 8013dec: f7ff ffd3 bl 8013d96 + 80147b2: 68f8 ldr r0, [r7, #12] + 80147b4: f7ff ffd3 bl 801475e return xNewQueue; - 8013df0: 68fb ldr r3, [r7, #12] + 80147b8: 68fb ldr r3, [r7, #12] } - 8013df2: 4618 mov r0, r3 - 8013df4: 3718 adds r7, #24 - 8013df6: 46bd mov sp, r7 - 8013df8: bd80 pop {r7, pc} + 80147ba: 4618 mov r0, r3 + 80147bc: 3718 adds r7, #24 + 80147be: 46bd mov sp, r7 + 80147c0: bd80 pop {r7, pc} -08013dfa : +080147c2 : #if ( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) QueueHandle_t xQueueCreateMutexStatic( const uint8_t ucQueueType, StaticQueue_t * pxStaticQueue ) { - 8013dfa: b580 push {r7, lr} - 8013dfc: b088 sub sp, #32 - 8013dfe: af02 add r7, sp, #8 - 8013e00: 4603 mov r3, r0 - 8013e02: 6039 str r1, [r7, #0] - 8013e04: 71fb strb r3, [r7, #7] + 80147c2: b580 push {r7, lr} + 80147c4: b088 sub sp, #32 + 80147c6: af02 add r7, sp, #8 + 80147c8: 4603 mov r3, r0 + 80147ca: 6039 str r1, [r7, #0] + 80147cc: 71fb strb r3, [r7, #7] QueueHandle_t xNewQueue; const UBaseType_t uxMutexLength = ( UBaseType_t ) 1, uxMutexSize = ( UBaseType_t ) 0; - 8013e06: 2301 movs r3, #1 - 8013e08: 617b str r3, [r7, #20] - 8013e0a: 2300 movs r3, #0 - 8013e0c: 613b str r3, [r7, #16] + 80147ce: 2301 movs r3, #1 + 80147d0: 617b str r3, [r7, #20] + 80147d2: 2300 movs r3, #0 + 80147d4: 613b str r3, [r7, #16] /* Prevent compiler warnings about unused parameters if * configUSE_TRACE_FACILITY does not equal 1. */ ( void ) ucQueueType; xNewQueue = xQueueGenericCreateStatic( uxMutexLength, uxMutexSize, NULL, pxStaticQueue, ucQueueType ); - 8013e0e: 79fb ldrb r3, [r7, #7] - 8013e10: 9300 str r3, [sp, #0] - 8013e12: 683b ldr r3, [r7, #0] - 8013e14: 2200 movs r2, #0 - 8013e16: 6939 ldr r1, [r7, #16] - 8013e18: 6978 ldr r0, [r7, #20] - 8013e1a: f7ff fee5 bl 8013be8 - 8013e1e: 60f8 str r0, [r7, #12] + 80147d6: 79fb ldrb r3, [r7, #7] + 80147d8: 9300 str r3, [sp, #0] + 80147da: 683b ldr r3, [r7, #0] + 80147dc: 2200 movs r2, #0 + 80147de: 6939 ldr r1, [r7, #16] + 80147e0: 6978 ldr r0, [r7, #20] + 80147e2: f7ff fee5 bl 80145b0 + 80147e6: 60f8 str r0, [r7, #12] prvInitialiseMutex( ( Queue_t * ) xNewQueue ); - 8013e20: 68f8 ldr r0, [r7, #12] - 8013e22: f7ff ffb8 bl 8013d96 + 80147e8: 68f8 ldr r0, [r7, #12] + 80147ea: f7ff ffb8 bl 801475e return xNewQueue; - 8013e26: 68fb ldr r3, [r7, #12] + 80147ee: 68fb ldr r3, [r7, #12] } - 8013e28: 4618 mov r0, r3 - 8013e2a: 3718 adds r7, #24 - 8013e2c: 46bd mov sp, r7 - 8013e2e: bd80 pop {r7, pc} + 80147f0: 4618 mov r0, r3 + 80147f2: 3718 adds r7, #24 + 80147f4: 46bd mov sp, r7 + 80147f6: bd80 pop {r7, pc} -08013e30 : +080147f8 : /*-----------------------------------------------------------*/ #if ( configUSE_RECURSIVE_MUTEXES == 1 ) BaseType_t xQueueGiveMutexRecursive( QueueHandle_t xMutex ) { - 8013e30: b590 push {r4, r7, lr} - 8013e32: b087 sub sp, #28 - 8013e34: af00 add r7, sp, #0 - 8013e36: 6078 str r0, [r7, #4] + 80147f8: b590 push {r4, r7, lr} + 80147fa: b087 sub sp, #28 + 80147fc: af00 add r7, sp, #0 + 80147fe: 6078 str r0, [r7, #4] BaseType_t xReturn; Queue_t * const pxMutex = ( Queue_t * ) xMutex; - 8013e38: 687b ldr r3, [r7, #4] - 8013e3a: 613b str r3, [r7, #16] + 8014800: 687b ldr r3, [r7, #4] + 8014802: 613b str r3, [r7, #16] configASSERT( pxMutex ); - 8013e3c: 693b ldr r3, [r7, #16] - 8013e3e: 2b00 cmp r3, #0 - 8013e40: d10b bne.n 8013e5a + 8014804: 693b ldr r3, [r7, #16] + 8014806: 2b00 cmp r3, #0 + 8014808: d10b bne.n 8014822 __asm volatile - 8013e42: f04f 0350 mov.w r3, #80 @ 0x50 - 8013e46: f383 8811 msr BASEPRI, r3 - 8013e4a: f3bf 8f6f isb sy - 8013e4e: f3bf 8f4f dsb sy - 8013e52: 60fb str r3, [r7, #12] + 801480a: f04f 0350 mov.w r3, #80 @ 0x50 + 801480e: f383 8811 msr BASEPRI, r3 + 8014812: f3bf 8f6f isb sy + 8014816: f3bf 8f4f dsb sy + 801481a: 60fb str r3, [r7, #12] } - 8013e54: bf00 nop - 8013e56: bf00 nop - 8013e58: e7fd b.n 8013e56 + 801481c: bf00 nop + 801481e: bf00 nop + 8014820: e7fd b.n 801481e * change outside of this task. If this task does not hold the mutex then * pxMutexHolder can never coincidentally equal the tasks handle, and as * this is the only condition we are interested in it does not matter if * pxMutexHolder is accessed simultaneously by another task. Therefore no * mutual exclusion is required to test the pxMutexHolder variable. */ if( pxMutex->u.xSemaphore.xMutexHolder == xTaskGetCurrentTaskHandle() ) - 8013e5a: 693b ldr r3, [r7, #16] - 8013e5c: 689c ldr r4, [r3, #8] - 8013e5e: f001 ff53 bl 8015d08 - 8013e62: 4603 mov r3, r0 - 8013e64: 429c cmp r4, r3 - 8013e66: d111 bne.n 8013e8c + 8014822: 693b ldr r3, [r7, #16] + 8014824: 689c ldr r4, [r3, #8] + 8014826: f001 ff6f bl 8016708 + 801482a: 4603 mov r3, r0 + 801482c: 429c cmp r4, r3 + 801482e: d111 bne.n 8014854 /* uxRecursiveCallCount cannot be zero if xMutexHolder is equal to * the task handle, therefore no underflow check is required. Also, * uxRecursiveCallCount is only modified by the mutex holder, and as * there can only be one, no mutual exclusion is required to modify the * uxRecursiveCallCount member. */ ( pxMutex->u.xSemaphore.uxRecursiveCallCount )--; - 8013e68: 693b ldr r3, [r7, #16] - 8013e6a: 68db ldr r3, [r3, #12] - 8013e6c: 1e5a subs r2, r3, #1 - 8013e6e: 693b ldr r3, [r7, #16] - 8013e70: 60da str r2, [r3, #12] + 8014830: 693b ldr r3, [r7, #16] + 8014832: 68db ldr r3, [r3, #12] + 8014834: 1e5a subs r2, r3, #1 + 8014836: 693b ldr r3, [r7, #16] + 8014838: 60da str r2, [r3, #12] /* Has the recursive call count unwound to 0? */ if( pxMutex->u.xSemaphore.uxRecursiveCallCount == ( UBaseType_t ) 0 ) - 8013e72: 693b ldr r3, [r7, #16] - 8013e74: 68db ldr r3, [r3, #12] - 8013e76: 2b00 cmp r3, #0 - 8013e78: d105 bne.n 8013e86 + 801483a: 693b ldr r3, [r7, #16] + 801483c: 68db ldr r3, [r3, #12] + 801483e: 2b00 cmp r3, #0 + 8014840: d105 bne.n 801484e { /* Return the mutex. This will automatically unblock any other * task that might be waiting to access the mutex. */ ( void ) xQueueGenericSend( pxMutex, NULL, queueMUTEX_GIVE_BLOCK_TIME, queueSEND_TO_BACK ); - 8013e7a: 2300 movs r3, #0 - 8013e7c: 2200 movs r2, #0 - 8013e7e: 2100 movs r1, #0 - 8013e80: 6938 ldr r0, [r7, #16] - 8013e82: f000 f8a3 bl 8013fcc + 8014842: 2300 movs r3, #0 + 8014844: 2200 movs r2, #0 + 8014846: 2100 movs r1, #0 + 8014848: 6938 ldr r0, [r7, #16] + 801484a: f000 f8a3 bl 8014994 else { mtCOVERAGE_TEST_MARKER(); } xReturn = pdPASS; - 8013e86: 2301 movs r3, #1 - 8013e88: 617b str r3, [r7, #20] - 8013e8a: e001 b.n 8013e90 + 801484e: 2301 movs r3, #1 + 8014850: 617b str r3, [r7, #20] + 8014852: e001 b.n 8014858 } else { /* The mutex cannot be given because the calling task is not the * holder. */ xReturn = pdFAIL; - 8013e8c: 2300 movs r3, #0 - 8013e8e: 617b str r3, [r7, #20] + 8014854: 2300 movs r3, #0 + 8014856: 617b str r3, [r7, #20] traceGIVE_MUTEX_RECURSIVE_FAILED( pxMutex ); } return xReturn; - 8013e90: 697b ldr r3, [r7, #20] + 8014858: 697b ldr r3, [r7, #20] } - 8013e92: 4618 mov r0, r3 - 8013e94: 371c adds r7, #28 - 8013e96: 46bd mov sp, r7 - 8013e98: bd90 pop {r4, r7, pc} + 801485a: 4618 mov r0, r3 + 801485c: 371c adds r7, #28 + 801485e: 46bd mov sp, r7 + 8014860: bd90 pop {r4, r7, pc} -08013e9a : +08014862 : #if ( configUSE_RECURSIVE_MUTEXES == 1 ) BaseType_t xQueueTakeMutexRecursive( QueueHandle_t xMutex, TickType_t xTicksToWait ) { - 8013e9a: b590 push {r4, r7, lr} - 8013e9c: b087 sub sp, #28 - 8013e9e: af00 add r7, sp, #0 - 8013ea0: 6078 str r0, [r7, #4] - 8013ea2: 6039 str r1, [r7, #0] + 8014862: b590 push {r4, r7, lr} + 8014864: b087 sub sp, #28 + 8014866: af00 add r7, sp, #0 + 8014868: 6078 str r0, [r7, #4] + 801486a: 6039 str r1, [r7, #0] BaseType_t xReturn; Queue_t * const pxMutex = ( Queue_t * ) xMutex; - 8013ea4: 687b ldr r3, [r7, #4] - 8013ea6: 613b str r3, [r7, #16] + 801486c: 687b ldr r3, [r7, #4] + 801486e: 613b str r3, [r7, #16] configASSERT( pxMutex ); - 8013ea8: 693b ldr r3, [r7, #16] - 8013eaa: 2b00 cmp r3, #0 - 8013eac: d10b bne.n 8013ec6 + 8014870: 693b ldr r3, [r7, #16] + 8014872: 2b00 cmp r3, #0 + 8014874: d10b bne.n 801488e __asm volatile - 8013eae: f04f 0350 mov.w r3, #80 @ 0x50 - 8013eb2: f383 8811 msr BASEPRI, r3 - 8013eb6: f3bf 8f6f isb sy - 8013eba: f3bf 8f4f dsb sy - 8013ebe: 60fb str r3, [r7, #12] + 8014876: f04f 0350 mov.w r3, #80 @ 0x50 + 801487a: f383 8811 msr BASEPRI, r3 + 801487e: f3bf 8f6f isb sy + 8014882: f3bf 8f4f dsb sy + 8014886: 60fb str r3, [r7, #12] } - 8013ec0: bf00 nop - 8013ec2: bf00 nop - 8013ec4: e7fd b.n 8013ec2 + 8014888: bf00 nop + 801488a: bf00 nop + 801488c: e7fd b.n 801488a /* Comments regarding mutual exclusion as per those within * xQueueGiveMutexRecursive(). */ traceTAKE_MUTEX_RECURSIVE( pxMutex ); if( pxMutex->u.xSemaphore.xMutexHolder == xTaskGetCurrentTaskHandle() ) - 8013ec6: 693b ldr r3, [r7, #16] - 8013ec8: 689c ldr r4, [r3, #8] - 8013eca: f001 ff1d bl 8015d08 - 8013ece: 4603 mov r3, r0 - 8013ed0: 429c cmp r4, r3 - 8013ed2: d107 bne.n 8013ee4 + 801488e: 693b ldr r3, [r7, #16] + 8014890: 689c ldr r4, [r3, #8] + 8014892: f001 ff39 bl 8016708 + 8014896: 4603 mov r3, r0 + 8014898: 429c cmp r4, r3 + 801489a: d107 bne.n 80148ac { ( pxMutex->u.xSemaphore.uxRecursiveCallCount )++; - 8013ed4: 693b ldr r3, [r7, #16] - 8013ed6: 68db ldr r3, [r3, #12] - 8013ed8: 1c5a adds r2, r3, #1 - 8013eda: 693b ldr r3, [r7, #16] - 8013edc: 60da str r2, [r3, #12] + 801489c: 693b ldr r3, [r7, #16] + 801489e: 68db ldr r3, [r3, #12] + 80148a0: 1c5a adds r2, r3, #1 + 80148a2: 693b ldr r3, [r7, #16] + 80148a4: 60da str r2, [r3, #12] xReturn = pdPASS; - 8013ede: 2301 movs r3, #1 - 8013ee0: 617b str r3, [r7, #20] - 8013ee2: e00c b.n 8013efe + 80148a6: 2301 movs r3, #1 + 80148a8: 617b str r3, [r7, #20] + 80148aa: e00c b.n 80148c6 } else { xReturn = xQueueSemaphoreTake( pxMutex, xTicksToWait ); - 8013ee4: 6839 ldr r1, [r7, #0] - 8013ee6: 6938 ldr r0, [r7, #16] - 8013ee8: f000 fbb2 bl 8014650 - 8013eec: 6178 str r0, [r7, #20] + 80148ac: 6839 ldr r1, [r7, #0] + 80148ae: 6938 ldr r0, [r7, #16] + 80148b0: f000 fbb2 bl 8015018 + 80148b4: 6178 str r0, [r7, #20] /* pdPASS will only be returned if the mutex was successfully * obtained. The calling task may have entered the Blocked state * before reaching here. */ if( xReturn != pdFAIL ) - 8013eee: 697b ldr r3, [r7, #20] - 8013ef0: 2b00 cmp r3, #0 - 8013ef2: d004 beq.n 8013efe + 80148b6: 697b ldr r3, [r7, #20] + 80148b8: 2b00 cmp r3, #0 + 80148ba: d004 beq.n 80148c6 { ( pxMutex->u.xSemaphore.uxRecursiveCallCount )++; - 8013ef4: 693b ldr r3, [r7, #16] - 8013ef6: 68db ldr r3, [r3, #12] - 8013ef8: 1c5a adds r2, r3, #1 - 8013efa: 693b ldr r3, [r7, #16] - 8013efc: 60da str r2, [r3, #12] + 80148bc: 693b ldr r3, [r7, #16] + 80148be: 68db ldr r3, [r3, #12] + 80148c0: 1c5a adds r2, r3, #1 + 80148c2: 693b ldr r3, [r7, #16] + 80148c4: 60da str r2, [r3, #12] { traceTAKE_MUTEX_RECURSIVE_FAILED( pxMutex ); } } return xReturn; - 8013efe: 697b ldr r3, [r7, #20] + 80148c6: 697b ldr r3, [r7, #20] } - 8013f00: 4618 mov r0, r3 - 8013f02: 371c adds r7, #28 - 8013f04: 46bd mov sp, r7 - 8013f06: bd90 pop {r4, r7, pc} + 80148c8: 4618 mov r0, r3 + 80148ca: 371c adds r7, #28 + 80148cc: 46bd mov sp, r7 + 80148ce: bd90 pop {r4, r7, pc} -08013f08 : +080148d0 : #if ( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) QueueHandle_t xQueueCreateCountingSemaphoreStatic( const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t * pxStaticQueue ) { - 8013f08: b580 push {r7, lr} - 8013f0a: b088 sub sp, #32 - 8013f0c: af02 add r7, sp, #8 - 8013f0e: 60f8 str r0, [r7, #12] - 8013f10: 60b9 str r1, [r7, #8] - 8013f12: 607a str r2, [r7, #4] + 80148d0: b580 push {r7, lr} + 80148d2: b088 sub sp, #32 + 80148d4: af02 add r7, sp, #8 + 80148d6: 60f8 str r0, [r7, #12] + 80148d8: 60b9 str r1, [r7, #8] + 80148da: 607a str r2, [r7, #4] QueueHandle_t xHandle = NULL; - 8013f14: 2300 movs r3, #0 - 8013f16: 617b str r3, [r7, #20] + 80148dc: 2300 movs r3, #0 + 80148de: 617b str r3, [r7, #20] if( ( uxMaxCount != 0 ) && - 8013f18: 68fb ldr r3, [r7, #12] - 8013f1a: 2b00 cmp r3, #0 - 8013f1c: d013 beq.n 8013f46 - 8013f1e: 68ba ldr r2, [r7, #8] - 8013f20: 68fb ldr r3, [r7, #12] - 8013f22: 429a cmp r2, r3 - 8013f24: d80f bhi.n 8013f46 + 80148e0: 68fb ldr r3, [r7, #12] + 80148e2: 2b00 cmp r3, #0 + 80148e4: d013 beq.n 801490e + 80148e6: 68ba ldr r2, [r7, #8] + 80148e8: 68fb ldr r3, [r7, #12] + 80148ea: 429a cmp r2, r3 + 80148ec: d80f bhi.n 801490e ( uxInitialCount <= uxMaxCount ) ) { xHandle = xQueueGenericCreateStatic( uxMaxCount, queueSEMAPHORE_QUEUE_ITEM_LENGTH, NULL, pxStaticQueue, queueQUEUE_TYPE_COUNTING_SEMAPHORE ); - 8013f26: 2302 movs r3, #2 - 8013f28: 9300 str r3, [sp, #0] - 8013f2a: 687b ldr r3, [r7, #4] - 8013f2c: 2200 movs r2, #0 - 8013f2e: 2100 movs r1, #0 - 8013f30: 68f8 ldr r0, [r7, #12] - 8013f32: f7ff fe59 bl 8013be8 - 8013f36: 6178 str r0, [r7, #20] + 80148ee: 2302 movs r3, #2 + 80148f0: 9300 str r3, [sp, #0] + 80148f2: 687b ldr r3, [r7, #4] + 80148f4: 2200 movs r2, #0 + 80148f6: 2100 movs r1, #0 + 80148f8: 68f8 ldr r0, [r7, #12] + 80148fa: f7ff fe59 bl 80145b0 + 80148fe: 6178 str r0, [r7, #20] if( xHandle != NULL ) - 8013f38: 697b ldr r3, [r7, #20] - 8013f3a: 2b00 cmp r3, #0 - 8013f3c: d012 beq.n 8013f64 + 8014900: 697b ldr r3, [r7, #20] + 8014902: 2b00 cmp r3, #0 + 8014904: d012 beq.n 801492c { ( ( Queue_t * ) xHandle )->uxMessagesWaiting = uxInitialCount; - 8013f3e: 697b ldr r3, [r7, #20] - 8013f40: 68ba ldr r2, [r7, #8] - 8013f42: 639a str r2, [r3, #56] @ 0x38 + 8014906: 697b ldr r3, [r7, #20] + 8014908: 68ba ldr r2, [r7, #8] + 801490a: 639a str r2, [r3, #56] @ 0x38 if( xHandle != NULL ) - 8013f44: e00e b.n 8013f64 + 801490c: e00e b.n 801492c traceCREATE_COUNTING_SEMAPHORE_FAILED(); } } else { configASSERT( xHandle ); - 8013f46: 697b ldr r3, [r7, #20] - 8013f48: 2b00 cmp r3, #0 - 8013f4a: d10b bne.n 8013f64 + 801490e: 697b ldr r3, [r7, #20] + 8014910: 2b00 cmp r3, #0 + 8014912: d10b bne.n 801492c __asm volatile - 8013f4c: f04f 0350 mov.w r3, #80 @ 0x50 - 8013f50: f383 8811 msr BASEPRI, r3 - 8013f54: f3bf 8f6f isb sy - 8013f58: f3bf 8f4f dsb sy - 8013f5c: 613b str r3, [r7, #16] + 8014914: f04f 0350 mov.w r3, #80 @ 0x50 + 8014918: f383 8811 msr BASEPRI, r3 + 801491c: f3bf 8f6f isb sy + 8014920: f3bf 8f4f dsb sy + 8014924: 613b str r3, [r7, #16] } - 8013f5e: bf00 nop - 8013f60: bf00 nop - 8013f62: e7fd b.n 8013f60 + 8014926: bf00 nop + 8014928: bf00 nop + 801492a: e7fd b.n 8014928 mtCOVERAGE_TEST_MARKER(); } return xHandle; - 8013f64: 697b ldr r3, [r7, #20] + 801492c: 697b ldr r3, [r7, #20] } - 8013f66: 4618 mov r0, r3 - 8013f68: 3718 adds r7, #24 - 8013f6a: 46bd mov sp, r7 - 8013f6c: bd80 pop {r7, pc} + 801492e: 4618 mov r0, r3 + 8014930: 3718 adds r7, #24 + 8014932: 46bd mov sp, r7 + 8014934: bd80 pop {r7, pc} -08013f6e : +08014936 : #if ( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) QueueHandle_t xQueueCreateCountingSemaphore( const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount ) { - 8013f6e: b580 push {r7, lr} - 8013f70: b084 sub sp, #16 - 8013f72: af00 add r7, sp, #0 - 8013f74: 6078 str r0, [r7, #4] - 8013f76: 6039 str r1, [r7, #0] + 8014936: b580 push {r7, lr} + 8014938: b084 sub sp, #16 + 801493a: af00 add r7, sp, #0 + 801493c: 6078 str r0, [r7, #4] + 801493e: 6039 str r1, [r7, #0] QueueHandle_t xHandle = NULL; - 8013f78: 2300 movs r3, #0 - 8013f7a: 60fb str r3, [r7, #12] + 8014940: 2300 movs r3, #0 + 8014942: 60fb str r3, [r7, #12] if( ( uxMaxCount != 0 ) && - 8013f7c: 687b ldr r3, [r7, #4] - 8013f7e: 2b00 cmp r3, #0 - 8013f80: d010 beq.n 8013fa4 - 8013f82: 683a ldr r2, [r7, #0] - 8013f84: 687b ldr r3, [r7, #4] - 8013f86: 429a cmp r2, r3 - 8013f88: d80c bhi.n 8013fa4 + 8014944: 687b ldr r3, [r7, #4] + 8014946: 2b00 cmp r3, #0 + 8014948: d010 beq.n 801496c + 801494a: 683a ldr r2, [r7, #0] + 801494c: 687b ldr r3, [r7, #4] + 801494e: 429a cmp r2, r3 + 8014950: d80c bhi.n 801496c ( uxInitialCount <= uxMaxCount ) ) { xHandle = xQueueGenericCreate( uxMaxCount, queueSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_COUNTING_SEMAPHORE ); - 8013f8a: 2202 movs r2, #2 - 8013f8c: 2100 movs r1, #0 - 8013f8e: 6878 ldr r0, [r7, #4] - 8013f90: f7ff fe8b bl 8013caa - 8013f94: 60f8 str r0, [r7, #12] + 8014952: 2202 movs r2, #2 + 8014954: 2100 movs r1, #0 + 8014956: 6878 ldr r0, [r7, #4] + 8014958: f7ff fe8b bl 8014672 + 801495c: 60f8 str r0, [r7, #12] if( xHandle != NULL ) - 8013f96: 68fb ldr r3, [r7, #12] - 8013f98: 2b00 cmp r3, #0 - 8013f9a: d012 beq.n 8013fc2 + 801495e: 68fb ldr r3, [r7, #12] + 8014960: 2b00 cmp r3, #0 + 8014962: d012 beq.n 801498a { ( ( Queue_t * ) xHandle )->uxMessagesWaiting = uxInitialCount; - 8013f9c: 68fb ldr r3, [r7, #12] - 8013f9e: 683a ldr r2, [r7, #0] - 8013fa0: 639a str r2, [r3, #56] @ 0x38 + 8014964: 68fb ldr r3, [r7, #12] + 8014966: 683a ldr r2, [r7, #0] + 8014968: 639a str r2, [r3, #56] @ 0x38 if( xHandle != NULL ) - 8013fa2: e00e b.n 8013fc2 + 801496a: e00e b.n 801498a traceCREATE_COUNTING_SEMAPHORE_FAILED(); } } else { configASSERT( xHandle ); - 8013fa4: 68fb ldr r3, [r7, #12] - 8013fa6: 2b00 cmp r3, #0 - 8013fa8: d10b bne.n 8013fc2 + 801496c: 68fb ldr r3, [r7, #12] + 801496e: 2b00 cmp r3, #0 + 8014970: d10b bne.n 801498a __asm volatile - 8013faa: f04f 0350 mov.w r3, #80 @ 0x50 - 8013fae: f383 8811 msr BASEPRI, r3 - 8013fb2: f3bf 8f6f isb sy - 8013fb6: f3bf 8f4f dsb sy - 8013fba: 60bb str r3, [r7, #8] + 8014972: f04f 0350 mov.w r3, #80 @ 0x50 + 8014976: f383 8811 msr BASEPRI, r3 + 801497a: f3bf 8f6f isb sy + 801497e: f3bf 8f4f dsb sy + 8014982: 60bb str r3, [r7, #8] } - 8013fbc: bf00 nop - 8013fbe: bf00 nop - 8013fc0: e7fd b.n 8013fbe + 8014984: bf00 nop + 8014986: bf00 nop + 8014988: e7fd b.n 8014986 mtCOVERAGE_TEST_MARKER(); } return xHandle; - 8013fc2: 68fb ldr r3, [r7, #12] + 801498a: 68fb ldr r3, [r7, #12] } - 8013fc4: 4618 mov r0, r3 - 8013fc6: 3710 adds r7, #16 - 8013fc8: 46bd mov sp, r7 - 8013fca: bd80 pop {r7, pc} + 801498c: 4618 mov r0, r3 + 801498e: 3710 adds r7, #16 + 8014990: 46bd mov sp, r7 + 8014992: bd80 pop {r7, pc} -08013fcc : +08014994 : BaseType_t xQueueGenericSend( QueueHandle_t xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition ) { - 8013fcc: b580 push {r7, lr} - 8013fce: b08e sub sp, #56 @ 0x38 - 8013fd0: af00 add r7, sp, #0 - 8013fd2: 60f8 str r0, [r7, #12] - 8013fd4: 60b9 str r1, [r7, #8] - 8013fd6: 607a str r2, [r7, #4] - 8013fd8: 603b str r3, [r7, #0] + 8014994: b580 push {r7, lr} + 8014996: b08e sub sp, #56 @ 0x38 + 8014998: af00 add r7, sp, #0 + 801499a: 60f8 str r0, [r7, #12] + 801499c: 60b9 str r1, [r7, #8] + 801499e: 607a str r2, [r7, #4] + 80149a0: 603b str r3, [r7, #0] BaseType_t xEntryTimeSet = pdFALSE, xYieldRequired; - 8013fda: 2300 movs r3, #0 - 8013fdc: 637b str r3, [r7, #52] @ 0x34 + 80149a2: 2300 movs r3, #0 + 80149a4: 637b str r3, [r7, #52] @ 0x34 TimeOut_t xTimeOut; Queue_t * const pxQueue = xQueue; - 8013fde: 68fb ldr r3, [r7, #12] - 8013fe0: 633b str r3, [r7, #48] @ 0x30 + 80149a6: 68fb ldr r3, [r7, #12] + 80149a8: 633b str r3, [r7, #48] @ 0x30 configASSERT( pxQueue ); - 8013fe2: 6b3b ldr r3, [r7, #48] @ 0x30 - 8013fe4: 2b00 cmp r3, #0 - 8013fe6: d10b bne.n 8014000 + 80149aa: 6b3b ldr r3, [r7, #48] @ 0x30 + 80149ac: 2b00 cmp r3, #0 + 80149ae: d10b bne.n 80149c8 __asm volatile - 8013fe8: f04f 0350 mov.w r3, #80 @ 0x50 - 8013fec: f383 8811 msr BASEPRI, r3 - 8013ff0: f3bf 8f6f isb sy - 8013ff4: f3bf 8f4f dsb sy - 8013ff8: 62bb str r3, [r7, #40] @ 0x28 + 80149b0: f04f 0350 mov.w r3, #80 @ 0x50 + 80149b4: f383 8811 msr BASEPRI, r3 + 80149b8: f3bf 8f6f isb sy + 80149bc: f3bf 8f4f dsb sy + 80149c0: 62bb str r3, [r7, #40] @ 0x28 } - 8013ffa: bf00 nop - 8013ffc: bf00 nop - 8013ffe: e7fd b.n 8013ffc + 80149c2: bf00 nop + 80149c4: bf00 nop + 80149c6: e7fd b.n 80149c4 configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) ); - 8014000: 68bb ldr r3, [r7, #8] - 8014002: 2b00 cmp r3, #0 - 8014004: d103 bne.n 801400e - 8014006: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014008: 6c1b ldr r3, [r3, #64] @ 0x40 - 801400a: 2b00 cmp r3, #0 - 801400c: d101 bne.n 8014012 - 801400e: 2301 movs r3, #1 - 8014010: e000 b.n 8014014 - 8014012: 2300 movs r3, #0 - 8014014: 2b00 cmp r3, #0 - 8014016: d10b bne.n 8014030 + 80149c8: 68bb ldr r3, [r7, #8] + 80149ca: 2b00 cmp r3, #0 + 80149cc: d103 bne.n 80149d6 + 80149ce: 6b3b ldr r3, [r7, #48] @ 0x30 + 80149d0: 6c1b ldr r3, [r3, #64] @ 0x40 + 80149d2: 2b00 cmp r3, #0 + 80149d4: d101 bne.n 80149da + 80149d6: 2301 movs r3, #1 + 80149d8: e000 b.n 80149dc + 80149da: 2300 movs r3, #0 + 80149dc: 2b00 cmp r3, #0 + 80149de: d10b bne.n 80149f8 __asm volatile - 8014018: f04f 0350 mov.w r3, #80 @ 0x50 - 801401c: f383 8811 msr BASEPRI, r3 - 8014020: f3bf 8f6f isb sy - 8014024: f3bf 8f4f dsb sy - 8014028: 627b str r3, [r7, #36] @ 0x24 + 80149e0: f04f 0350 mov.w r3, #80 @ 0x50 + 80149e4: f383 8811 msr BASEPRI, r3 + 80149e8: f3bf 8f6f isb sy + 80149ec: f3bf 8f4f dsb sy + 80149f0: 627b str r3, [r7, #36] @ 0x24 } - 801402a: bf00 nop - 801402c: bf00 nop - 801402e: e7fd b.n 801402c + 80149f2: bf00 nop + 80149f4: bf00 nop + 80149f6: e7fd b.n 80149f4 configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) ); - 8014030: 683b ldr r3, [r7, #0] - 8014032: 2b02 cmp r3, #2 - 8014034: d103 bne.n 801403e - 8014036: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014038: 6bdb ldr r3, [r3, #60] @ 0x3c - 801403a: 2b01 cmp r3, #1 - 801403c: d101 bne.n 8014042 - 801403e: 2301 movs r3, #1 - 8014040: e000 b.n 8014044 - 8014042: 2300 movs r3, #0 - 8014044: 2b00 cmp r3, #0 - 8014046: d10b bne.n 8014060 + 80149f8: 683b ldr r3, [r7, #0] + 80149fa: 2b02 cmp r3, #2 + 80149fc: d103 bne.n 8014a06 + 80149fe: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014a00: 6bdb ldr r3, [r3, #60] @ 0x3c + 8014a02: 2b01 cmp r3, #1 + 8014a04: d101 bne.n 8014a0a + 8014a06: 2301 movs r3, #1 + 8014a08: e000 b.n 8014a0c + 8014a0a: 2300 movs r3, #0 + 8014a0c: 2b00 cmp r3, #0 + 8014a0e: d10b bne.n 8014a28 __asm volatile - 8014048: f04f 0350 mov.w r3, #80 @ 0x50 - 801404c: f383 8811 msr BASEPRI, r3 - 8014050: f3bf 8f6f isb sy - 8014054: f3bf 8f4f dsb sy - 8014058: 623b str r3, [r7, #32] + 8014a10: f04f 0350 mov.w r3, #80 @ 0x50 + 8014a14: f383 8811 msr BASEPRI, r3 + 8014a18: f3bf 8f6f isb sy + 8014a1c: f3bf 8f4f dsb sy + 8014a20: 623b str r3, [r7, #32] } - 801405a: bf00 nop - 801405c: bf00 nop - 801405e: e7fd b.n 801405c + 8014a22: bf00 nop + 8014a24: bf00 nop + 8014a26: e7fd b.n 8014a24 #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) { configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); - 8014060: f001 fe62 bl 8015d28 - 8014064: 4603 mov r3, r0 - 8014066: 2b00 cmp r3, #0 - 8014068: d102 bne.n 8014070 - 801406a: 687b ldr r3, [r7, #4] - 801406c: 2b00 cmp r3, #0 - 801406e: d101 bne.n 8014074 - 8014070: 2301 movs r3, #1 - 8014072: e000 b.n 8014076 - 8014074: 2300 movs r3, #0 - 8014076: 2b00 cmp r3, #0 - 8014078: d10b bne.n 8014092 + 8014a28: f001 fe7e bl 8016728 + 8014a2c: 4603 mov r3, r0 + 8014a2e: 2b00 cmp r3, #0 + 8014a30: d102 bne.n 8014a38 + 8014a32: 687b ldr r3, [r7, #4] + 8014a34: 2b00 cmp r3, #0 + 8014a36: d101 bne.n 8014a3c + 8014a38: 2301 movs r3, #1 + 8014a3a: e000 b.n 8014a3e + 8014a3c: 2300 movs r3, #0 + 8014a3e: 2b00 cmp r3, #0 + 8014a40: d10b bne.n 8014a5a __asm volatile - 801407a: f04f 0350 mov.w r3, #80 @ 0x50 - 801407e: f383 8811 msr BASEPRI, r3 - 8014082: f3bf 8f6f isb sy - 8014086: f3bf 8f4f dsb sy - 801408a: 61fb str r3, [r7, #28] + 8014a42: f04f 0350 mov.w r3, #80 @ 0x50 + 8014a46: f383 8811 msr BASEPRI, r3 + 8014a4a: f3bf 8f6f isb sy + 8014a4e: f3bf 8f4f dsb sy + 8014a52: 61fb str r3, [r7, #28] } - 801408c: bf00 nop - 801408e: bf00 nop - 8014090: e7fd b.n 801408e + 8014a54: bf00 nop + 8014a56: bf00 nop + 8014a58: e7fd b.n 8014a56 /*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(); - 8014092: f003 f965 bl 8017360 + 8014a5a: f003 f969 bl 8017d30 { /* 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 ) ) - 8014096: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014098: 6b9a ldr r2, [r3, #56] @ 0x38 - 801409a: 6b3b ldr r3, [r7, #48] @ 0x30 - 801409c: 6bdb ldr r3, [r3, #60] @ 0x3c - 801409e: 429a cmp r2, r3 - 80140a0: d302 bcc.n 80140a8 - 80140a2: 683b ldr r3, [r7, #0] - 80140a4: 2b02 cmp r3, #2 - 80140a6: d129 bne.n 80140fc + 8014a5e: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014a60: 6b9a ldr r2, [r3, #56] @ 0x38 + 8014a62: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014a64: 6bdb ldr r3, [r3, #60] @ 0x3c + 8014a66: 429a cmp r2, r3 + 8014a68: d302 bcc.n 8014a70 + 8014a6a: 683b ldr r3, [r7, #0] + 8014a6c: 2b02 cmp r3, #2 + 8014a6e: d129 bne.n 8014ac4 } } } #else /* configUSE_QUEUE_SETS */ { xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); - 80140a8: 683a ldr r2, [r7, #0] - 80140aa: 68b9 ldr r1, [r7, #8] - 80140ac: 6b38 ldr r0, [r7, #48] @ 0x30 - 80140ae: f000 fca5 bl 80149fc - 80140b2: 62f8 str r0, [r7, #44] @ 0x2c + 8014a70: 683a ldr r2, [r7, #0] + 8014a72: 68b9 ldr r1, [r7, #8] + 8014a74: 6b38 ldr r0, [r7, #48] @ 0x30 + 8014a76: f000 fca5 bl 80153c4 + 8014a7a: 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 ) - 80140b4: 6b3b ldr r3, [r7, #48] @ 0x30 - 80140b6: 6a5b ldr r3, [r3, #36] @ 0x24 - 80140b8: 2b00 cmp r3, #0 - 80140ba: d010 beq.n 80140de + 8014a7c: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014a7e: 6a5b ldr r3, [r3, #36] @ 0x24 + 8014a80: 2b00 cmp r3, #0 + 8014a82: d010 beq.n 8014aa6 { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) - 80140bc: 6b3b ldr r3, [r7, #48] @ 0x30 - 80140be: 3324 adds r3, #36 @ 0x24 - 80140c0: 4618 mov r0, r3 - 80140c2: f001 fbed bl 80158a0 - 80140c6: 4603 mov r3, r0 - 80140c8: 2b00 cmp r3, #0 - 80140ca: d013 beq.n 80140f4 + 8014a84: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014a86: 3324 adds r3, #36 @ 0x24 + 8014a88: 4618 mov r0, r3 + 8014a8a: f001 fc01 bl 8016290 + 8014a8e: 4603 mov r3, r0 + 8014a90: 2b00 cmp r3, #0 + 8014a92: d013 beq.n 8014abc { /* 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(); - 80140cc: 4b3f ldr r3, [pc, #252] @ (80141cc ) - 80140ce: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80140d2: 601a str r2, [r3, #0] - 80140d4: f3bf 8f4f dsb sy - 80140d8: f3bf 8f6f isb sy - 80140dc: e00a b.n 80140f4 + 8014a94: 4b3f ldr r3, [pc, #252] @ (8014b94 ) + 8014a96: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8014a9a: 601a str r2, [r3, #0] + 8014a9c: f3bf 8f4f dsb sy + 8014aa0: f3bf 8f6f isb sy + 8014aa4: e00a b.n 8014abc else { mtCOVERAGE_TEST_MARKER(); } } else if( xYieldRequired != pdFALSE ) - 80140de: 6afb ldr r3, [r7, #44] @ 0x2c - 80140e0: 2b00 cmp r3, #0 - 80140e2: d007 beq.n 80140f4 + 8014aa6: 6afb ldr r3, [r7, #44] @ 0x2c + 8014aa8: 2b00 cmp r3, #0 + 8014aaa: d007 beq.n 8014abc { /* 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(); - 80140e4: 4b39 ldr r3, [pc, #228] @ (80141cc ) - 80140e6: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80140ea: 601a str r2, [r3, #0] - 80140ec: f3bf 8f4f dsb sy - 80140f0: f3bf 8f6f isb sy + 8014aac: 4b39 ldr r3, [pc, #228] @ (8014b94 ) + 8014aae: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8014ab2: 601a str r2, [r3, #0] + 8014ab4: f3bf 8f4f dsb sy + 8014ab8: f3bf 8f6f isb sy mtCOVERAGE_TEST_MARKER(); } } #endif /* configUSE_QUEUE_SETS */ taskEXIT_CRITICAL(); - 80140f4: f003 f966 bl 80173c4 + 8014abc: f003 f96a bl 8017d94 return pdPASS; - 80140f8: 2301 movs r3, #1 - 80140fa: e063 b.n 80141c4 + 8014ac0: 2301 movs r3, #1 + 8014ac2: e063 b.n 8014b8c } else { if( xTicksToWait == ( TickType_t ) 0 ) - 80140fc: 687b ldr r3, [r7, #4] - 80140fe: 2b00 cmp r3, #0 - 8014100: d103 bne.n 801410a + 8014ac4: 687b ldr r3, [r7, #4] + 8014ac6: 2b00 cmp r3, #0 + 8014ac8: d103 bne.n 8014ad2 { /* The queue was full and no block time is specified (or * the block time has expired) so leave now. */ taskEXIT_CRITICAL(); - 8014102: f003 f95f bl 80173c4 + 8014aca: f003 f963 bl 8017d94 /* Return to the original privilege level before exiting * the function. */ traceQUEUE_SEND_FAILED( pxQueue ); return errQUEUE_FULL; - 8014106: 2300 movs r3, #0 - 8014108: e05c b.n 80141c4 + 8014ace: 2300 movs r3, #0 + 8014ad0: e05c b.n 8014b8c } else if( xEntryTimeSet == pdFALSE ) - 801410a: 6b7b ldr r3, [r7, #52] @ 0x34 - 801410c: 2b00 cmp r3, #0 - 801410e: d106 bne.n 801411e + 8014ad2: 6b7b ldr r3, [r7, #52] @ 0x34 + 8014ad4: 2b00 cmp r3, #0 + 8014ad6: d106 bne.n 8014ae6 { /* The queue was full and a block time was specified so * configure the timeout structure. */ vTaskInternalSetTimeOutState( &xTimeOut ); - 8014110: f107 0314 add.w r3, r7, #20 - 8014114: 4618 mov r0, r3 - 8014116: f001 fc9b bl 8015a50 + 8014ad8: f107 0314 add.w r3, r7, #20 + 8014adc: 4618 mov r0, r3 + 8014ade: f001 fcaf bl 8016440 xEntryTimeSet = pdTRUE; - 801411a: 2301 movs r3, #1 - 801411c: 637b str r3, [r7, #52] @ 0x34 + 8014ae2: 2301 movs r3, #1 + 8014ae4: 637b str r3, [r7, #52] @ 0x34 /* Entry time was already set. */ mtCOVERAGE_TEST_MARKER(); } } } taskEXIT_CRITICAL(); - 801411e: f003 f951 bl 80173c4 + 8014ae6: f003 f955 bl 8017d94 /* Interrupts and other tasks can send to and receive from the queue * now the critical section has been exited. */ vTaskSuspendAll(); - 8014122: f001 f8b3 bl 801528c + 8014aea: f001 f89b bl 8015c24 prvLockQueue( pxQueue ); - 8014126: f003 f91b bl 8017360 - 801412a: 6b3b ldr r3, [r7, #48] @ 0x30 - 801412c: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 - 8014130: b25b sxtb r3, r3 - 8014132: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8014136: d103 bne.n 8014140 - 8014138: 6b3b ldr r3, [r7, #48] @ 0x30 - 801413a: 2200 movs r2, #0 - 801413c: f883 2044 strb.w r2, [r3, #68] @ 0x44 - 8014140: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014142: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 - 8014146: b25b sxtb r3, r3 - 8014148: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 801414c: d103 bne.n 8014156 - 801414e: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014150: 2200 movs r2, #0 - 8014152: f883 2045 strb.w r2, [r3, #69] @ 0x45 - 8014156: f003 f935 bl 80173c4 + 8014aee: f003 f91f bl 8017d30 + 8014af2: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014af4: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 + 8014af8: b25b sxtb r3, r3 + 8014afa: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8014afe: d103 bne.n 8014b08 + 8014b00: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014b02: 2200 movs r2, #0 + 8014b04: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 8014b08: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014b0a: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 + 8014b0e: b25b sxtb r3, r3 + 8014b10: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8014b14: d103 bne.n 8014b1e + 8014b16: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014b18: 2200 movs r2, #0 + 8014b1a: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 8014b1e: f003 f939 bl 8017d94 /* Update the timeout state to see if it has expired yet. */ if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) - 801415a: 1d3a adds r2, r7, #4 - 801415c: f107 0314 add.w r3, r7, #20 - 8014160: 4611 mov r1, r2 - 8014162: 4618 mov r0, r3 - 8014164: f001 fc8a bl 8015a7c - 8014168: 4603 mov r3, r0 - 801416a: 2b00 cmp r3, #0 - 801416c: d124 bne.n 80141b8 + 8014b22: 1d3a adds r2, r7, #4 + 8014b24: f107 0314 add.w r3, r7, #20 + 8014b28: 4611 mov r1, r2 + 8014b2a: 4618 mov r0, r3 + 8014b2c: f001 fc9e bl 801646c + 8014b30: 4603 mov r3, r0 + 8014b32: 2b00 cmp r3, #0 + 8014b34: d124 bne.n 8014b80 { if( prvIsQueueFull( pxQueue ) != pdFALSE ) - 801416e: 6b38 ldr r0, [r7, #48] @ 0x30 - 8014170: f000 fd3c bl 8014bec - 8014174: 4603 mov r3, r0 - 8014176: 2b00 cmp r3, #0 - 8014178: d018 beq.n 80141ac + 8014b36: 6b38 ldr r0, [r7, #48] @ 0x30 + 8014b38: f000 fd3c bl 80155b4 + 8014b3c: 4603 mov r3, r0 + 8014b3e: 2b00 cmp r3, #0 + 8014b40: d018 beq.n 8014b74 { traceBLOCKING_ON_QUEUE_SEND( pxQueue ); vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToSend ), xTicksToWait ); - 801417a: 6b3b ldr r3, [r7, #48] @ 0x30 - 801417c: 3310 adds r3, #16 - 801417e: 687a ldr r2, [r7, #4] - 8014180: 4611 mov r1, r2 - 8014182: 4618 mov r0, r3 - 8014184: f001 fb20 bl 80157c8 + 8014b42: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014b44: 3310 adds r3, #16 + 8014b46: 687a ldr r2, [r7, #4] + 8014b48: 4611 mov r1, r2 + 8014b4a: 4618 mov r0, r3 + 8014b4c: f001 fb34 bl 80161b8 /* 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 list instead of the actual ready list. */ prvUnlockQueue( pxQueue ); - 8014188: 6b38 ldr r0, [r7, #48] @ 0x30 - 801418a: f000 fcc7 bl 8014b1c + 8014b50: 6b38 ldr r0, [r7, #48] @ 0x30 + 8014b52: f000 fcc7 bl 80154e4 /* 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 the 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 ) - 801418e: f001 f88b bl 80152a8 - 8014192: 4603 mov r3, r0 - 8014194: 2b00 cmp r3, #0 - 8014196: f47f af7c bne.w 8014092 + 8014b56: f001 f873 bl 8015c40 + 8014b5a: 4603 mov r3, r0 + 8014b5c: 2b00 cmp r3, #0 + 8014b5e: f47f af7c bne.w 8014a5a { portYIELD_WITHIN_API(); - 801419a: 4b0c ldr r3, [pc, #48] @ (80141cc ) - 801419c: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80141a0: 601a str r2, [r3, #0] - 80141a2: f3bf 8f4f dsb sy - 80141a6: f3bf 8f6f isb sy - 80141aa: e772 b.n 8014092 + 8014b62: 4b0c ldr r3, [pc, #48] @ (8014b94 ) + 8014b64: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8014b68: 601a str r2, [r3, #0] + 8014b6a: f3bf 8f4f dsb sy + 8014b6e: f3bf 8f6f isb sy + 8014b72: e772 b.n 8014a5a } } else { /* Try again. */ prvUnlockQueue( pxQueue ); - 80141ac: 6b38 ldr r0, [r7, #48] @ 0x30 - 80141ae: f000 fcb5 bl 8014b1c + 8014b74: 6b38 ldr r0, [r7, #48] @ 0x30 + 8014b76: f000 fcb5 bl 80154e4 ( void ) xTaskResumeAll(); - 80141b2: f001 f879 bl 80152a8 - 80141b6: e76c b.n 8014092 + 8014b7a: f001 f861 bl 8015c40 + 8014b7e: e76c b.n 8014a5a } } else { /* The timeout has expired. */ prvUnlockQueue( pxQueue ); - 80141b8: 6b38 ldr r0, [r7, #48] @ 0x30 - 80141ba: f000 fcaf bl 8014b1c + 8014b80: 6b38 ldr r0, [r7, #48] @ 0x30 + 8014b82: f000 fcaf bl 80154e4 ( void ) xTaskResumeAll(); - 80141be: f001 f873 bl 80152a8 + 8014b86: f001 f85b bl 8015c40 traceQUEUE_SEND_FAILED( pxQueue ); return errQUEUE_FULL; - 80141c2: 2300 movs r3, #0 + 8014b8a: 2300 movs r3, #0 } } /*lint -restore */ } - 80141c4: 4618 mov r0, r3 - 80141c6: 3738 adds r7, #56 @ 0x38 - 80141c8: 46bd mov sp, r7 - 80141ca: bd80 pop {r7, pc} - 80141cc: e000ed04 .word 0xe000ed04 + 8014b8c: 4618 mov r0, r3 + 8014b8e: 3738 adds r7, #56 @ 0x38 + 8014b90: 46bd mov sp, r7 + 8014b92: bd80 pop {r7, pc} + 8014b94: e000ed04 .word 0xe000ed04 -080141d0 : +08014b98 : BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition ) { - 80141d0: b580 push {r7, lr} - 80141d2: b092 sub sp, #72 @ 0x48 - 80141d4: af00 add r7, sp, #0 - 80141d6: 60f8 str r0, [r7, #12] - 80141d8: 60b9 str r1, [r7, #8] - 80141da: 607a str r2, [r7, #4] - 80141dc: 603b str r3, [r7, #0] + 8014b98: b580 push {r7, lr} + 8014b9a: b092 sub sp, #72 @ 0x48 + 8014b9c: af00 add r7, sp, #0 + 8014b9e: 60f8 str r0, [r7, #12] + 8014ba0: 60b9 str r1, [r7, #8] + 8014ba2: 607a str r2, [r7, #4] + 8014ba4: 603b str r3, [r7, #0] BaseType_t xReturn; UBaseType_t uxSavedInterruptStatus; Queue_t * const pxQueue = xQueue; - 80141de: 68fb ldr r3, [r7, #12] - 80141e0: 643b str r3, [r7, #64] @ 0x40 + 8014ba6: 68fb ldr r3, [r7, #12] + 8014ba8: 643b str r3, [r7, #64] @ 0x40 configASSERT( pxQueue ); - 80141e2: 6c3b ldr r3, [r7, #64] @ 0x40 - 80141e4: 2b00 cmp r3, #0 - 80141e6: d10b bne.n 8014200 + 8014baa: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014bac: 2b00 cmp r3, #0 + 8014bae: d10b bne.n 8014bc8 __asm volatile - 80141e8: f04f 0350 mov.w r3, #80 @ 0x50 - 80141ec: f383 8811 msr BASEPRI, r3 - 80141f0: f3bf 8f6f isb sy - 80141f4: f3bf 8f4f dsb sy - 80141f8: 62fb str r3, [r7, #44] @ 0x2c + 8014bb0: f04f 0350 mov.w r3, #80 @ 0x50 + 8014bb4: f383 8811 msr BASEPRI, r3 + 8014bb8: f3bf 8f6f isb sy + 8014bbc: f3bf 8f4f dsb sy + 8014bc0: 62fb str r3, [r7, #44] @ 0x2c } - 80141fa: bf00 nop - 80141fc: bf00 nop - 80141fe: e7fd b.n 80141fc + 8014bc2: bf00 nop + 8014bc4: bf00 nop + 8014bc6: e7fd b.n 8014bc4 configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) ); - 8014200: 68bb ldr r3, [r7, #8] - 8014202: 2b00 cmp r3, #0 - 8014204: d103 bne.n 801420e - 8014206: 6c3b ldr r3, [r7, #64] @ 0x40 - 8014208: 6c1b ldr r3, [r3, #64] @ 0x40 - 801420a: 2b00 cmp r3, #0 - 801420c: d101 bne.n 8014212 - 801420e: 2301 movs r3, #1 - 8014210: e000 b.n 8014214 - 8014212: 2300 movs r3, #0 - 8014214: 2b00 cmp r3, #0 - 8014216: d10b bne.n 8014230 + 8014bc8: 68bb ldr r3, [r7, #8] + 8014bca: 2b00 cmp r3, #0 + 8014bcc: d103 bne.n 8014bd6 + 8014bce: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014bd0: 6c1b ldr r3, [r3, #64] @ 0x40 + 8014bd2: 2b00 cmp r3, #0 + 8014bd4: d101 bne.n 8014bda + 8014bd6: 2301 movs r3, #1 + 8014bd8: e000 b.n 8014bdc + 8014bda: 2300 movs r3, #0 + 8014bdc: 2b00 cmp r3, #0 + 8014bde: d10b bne.n 8014bf8 __asm volatile - 8014218: f04f 0350 mov.w r3, #80 @ 0x50 - 801421c: f383 8811 msr BASEPRI, r3 - 8014220: f3bf 8f6f isb sy - 8014224: f3bf 8f4f dsb sy - 8014228: 62bb str r3, [r7, #40] @ 0x28 + 8014be0: f04f 0350 mov.w r3, #80 @ 0x50 + 8014be4: f383 8811 msr BASEPRI, r3 + 8014be8: f3bf 8f6f isb sy + 8014bec: f3bf 8f4f dsb sy + 8014bf0: 62bb str r3, [r7, #40] @ 0x28 } - 801422a: bf00 nop - 801422c: bf00 nop - 801422e: e7fd b.n 801422c + 8014bf2: bf00 nop + 8014bf4: bf00 nop + 8014bf6: e7fd b.n 8014bf4 configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) ); - 8014230: 683b ldr r3, [r7, #0] - 8014232: 2b02 cmp r3, #2 - 8014234: d103 bne.n 801423e - 8014236: 6c3b ldr r3, [r7, #64] @ 0x40 - 8014238: 6bdb ldr r3, [r3, #60] @ 0x3c - 801423a: 2b01 cmp r3, #1 - 801423c: d101 bne.n 8014242 - 801423e: 2301 movs r3, #1 - 8014240: e000 b.n 8014244 - 8014242: 2300 movs r3, #0 - 8014244: 2b00 cmp r3, #0 - 8014246: d10b bne.n 8014260 + 8014bf8: 683b ldr r3, [r7, #0] + 8014bfa: 2b02 cmp r3, #2 + 8014bfc: d103 bne.n 8014c06 + 8014bfe: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014c00: 6bdb ldr r3, [r3, #60] @ 0x3c + 8014c02: 2b01 cmp r3, #1 + 8014c04: d101 bne.n 8014c0a + 8014c06: 2301 movs r3, #1 + 8014c08: e000 b.n 8014c0c + 8014c0a: 2300 movs r3, #0 + 8014c0c: 2b00 cmp r3, #0 + 8014c0e: d10b bne.n 8014c28 __asm volatile - 8014248: f04f 0350 mov.w r3, #80 @ 0x50 - 801424c: f383 8811 msr BASEPRI, r3 - 8014250: f3bf 8f6f isb sy - 8014254: f3bf 8f4f dsb sy - 8014258: 627b str r3, [r7, #36] @ 0x24 + 8014c10: f04f 0350 mov.w r3, #80 @ 0x50 + 8014c14: f383 8811 msr BASEPRI, r3 + 8014c18: f3bf 8f6f isb sy + 8014c1c: f3bf 8f4f dsb sy + 8014c20: 627b str r3, [r7, #36] @ 0x24 } - 801425a: bf00 nop - 801425c: bf00 nop - 801425e: e7fd b.n 801425c + 8014c22: bf00 nop + 8014c24: bf00 nop + 8014c26: e7fd b.n 8014c24 * 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(); - 8014260: f003 f964 bl 801752c + 8014c28: f003 f968 bl 8017efc portFORCE_INLINE static uint32_t ulPortRaiseBASEPRI( void ) { uint32_t ulOriginalBASEPRI, ulNewBASEPRI; __asm volatile - 8014264: f3ef 8211 mrs r2, BASEPRI - 8014268: f04f 0350 mov.w r3, #80 @ 0x50 - 801426c: f383 8811 msr BASEPRI, r3 - 8014270: f3bf 8f6f isb sy - 8014274: f3bf 8f4f dsb sy - 8014278: 623a str r2, [r7, #32] - 801427a: 61fb str r3, [r7, #28] + 8014c2c: f3ef 8211 mrs r2, BASEPRI + 8014c30: f04f 0350 mov.w r3, #80 @ 0x50 + 8014c34: f383 8811 msr BASEPRI, r3 + 8014c38: f3bf 8f6f isb sy + 8014c3c: f3bf 8f4f dsb sy + 8014c40: 623a str r2, [r7, #32] + 8014c42: 61fb str r3, [r7, #28] : "=r" ( ulOriginalBASEPRI ), "=r" ( ulNewBASEPRI ) : "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory" ); /* This return will not be reached but is necessary to prevent compiler * warnings. */ return ulOriginalBASEPRI; - 801427c: 6a3b ldr r3, [r7, #32] + 8014c44: 6a3b ldr r3, [r7, #32] /* Similar to xQueueGenericSend, except without blocking if there is no room * in the queue. Also don't directly wake a task that was blocked on a queue * read, instead return a flag to say whether a context switch is required or * not (i.e. has a task with a higher priority than us been woken by this * post). */ uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); - 801427e: 63fb str r3, [r7, #60] @ 0x3c + 8014c46: 63fb str r3, [r7, #60] @ 0x3c { if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) - 8014280: 6c3b ldr r3, [r7, #64] @ 0x40 - 8014282: 6b9a ldr r2, [r3, #56] @ 0x38 - 8014284: 6c3b ldr r3, [r7, #64] @ 0x40 - 8014286: 6bdb ldr r3, [r3, #60] @ 0x3c - 8014288: 429a cmp r2, r3 - 801428a: d302 bcc.n 8014292 - 801428c: 683b ldr r3, [r7, #0] - 801428e: 2b02 cmp r3, #2 - 8014290: d147 bne.n 8014322 + 8014c48: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014c4a: 6b9a ldr r2, [r3, #56] @ 0x38 + 8014c4c: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014c4e: 6bdb ldr r3, [r3, #60] @ 0x3c + 8014c50: 429a cmp r2, r3 + 8014c52: d302 bcc.n 8014c5a + 8014c54: 683b ldr r3, [r7, #0] + 8014c56: 2b02 cmp r3, #2 + 8014c58: d147 bne.n 8014cea { const int8_t cTxLock = pxQueue->cTxLock; - 8014292: 6c3b ldr r3, [r7, #64] @ 0x40 - 8014294: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 - 8014298: f887 303b strb.w r3, [r7, #59] @ 0x3b + 8014c5a: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014c5c: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 + 8014c60: f887 303b strb.w r3, [r7, #59] @ 0x3b const UBaseType_t uxPreviousMessagesWaiting = pxQueue->uxMessagesWaiting; - 801429c: 6c3b ldr r3, [r7, #64] @ 0x40 - 801429e: 6b9b ldr r3, [r3, #56] @ 0x38 - 80142a0: 637b str r3, [r7, #52] @ 0x34 + 8014c64: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014c66: 6b9b ldr r3, [r3, #56] @ 0x38 + 8014c68: 637b str r3, [r7, #52] @ 0x34 /* Semaphores use xQueueGiveFromISR(), so pxQueue will not be a * semaphore or mutex. That means prvCopyDataToQueue() cannot result * in a task disinheriting a priority and prvCopyDataToQueue() can be * called here even though the disinherit function does not check if * the scheduler is suspended before accessing the ready lists. */ ( void ) prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); - 80142a2: 683a ldr r2, [r7, #0] - 80142a4: 68b9 ldr r1, [r7, #8] - 80142a6: 6c38 ldr r0, [r7, #64] @ 0x40 - 80142a8: f000 fba8 bl 80149fc + 8014c6a: 683a ldr r2, [r7, #0] + 8014c6c: 68b9 ldr r1, [r7, #8] + 8014c6e: 6c38 ldr r0, [r7, #64] @ 0x40 + 8014c70: f000 fba8 bl 80153c4 /* The event list is not altered if the queue is locked. This will * be done when the queue is unlocked later. */ if( cTxLock == queueUNLOCKED ) - 80142ac: f997 303b ldrsb.w r3, [r7, #59] @ 0x3b - 80142b0: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 80142b4: d112 bne.n 80142dc + 8014c74: f997 303b ldrsb.w r3, [r7, #59] @ 0x3b + 8014c78: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8014c7c: d112 bne.n 8014ca4 } } } #else /* configUSE_QUEUE_SETS */ { if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) - 80142b6: 6c3b ldr r3, [r7, #64] @ 0x40 - 80142b8: 6a5b ldr r3, [r3, #36] @ 0x24 - 80142ba: 2b00 cmp r3, #0 - 80142bc: d02e beq.n 801431c + 8014c7e: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014c80: 6a5b ldr r3, [r3, #36] @ 0x24 + 8014c82: 2b00 cmp r3, #0 + 8014c84: d02e beq.n 8014ce4 { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) - 80142be: 6c3b ldr r3, [r7, #64] @ 0x40 - 80142c0: 3324 adds r3, #36 @ 0x24 - 80142c2: 4618 mov r0, r3 - 80142c4: f001 faec bl 80158a0 - 80142c8: 4603 mov r3, r0 - 80142ca: 2b00 cmp r3, #0 - 80142cc: d026 beq.n 801431c + 8014c86: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014c88: 3324 adds r3, #36 @ 0x24 + 8014c8a: 4618 mov r0, r3 + 8014c8c: f001 fb00 bl 8016290 + 8014c90: 4603 mov r3, r0 + 8014c92: 2b00 cmp r3, #0 + 8014c94: d026 beq.n 8014ce4 { /* The task waiting has a higher priority so record that a * context switch is required. */ if( pxHigherPriorityTaskWoken != NULL ) - 80142ce: 687b ldr r3, [r7, #4] - 80142d0: 2b00 cmp r3, #0 - 80142d2: d023 beq.n 801431c + 8014c96: 687b ldr r3, [r7, #4] + 8014c98: 2b00 cmp r3, #0 + 8014c9a: d023 beq.n 8014ce4 { *pxHigherPriorityTaskWoken = pdTRUE; - 80142d4: 687b ldr r3, [r7, #4] - 80142d6: 2201 movs r2, #1 - 80142d8: 601a str r2, [r3, #0] - 80142da: e01f b.n 801431c + 8014c9c: 687b ldr r3, [r7, #4] + 8014c9e: 2201 movs r2, #1 + 8014ca0: 601a str r2, [r3, #0] + 8014ca2: e01f b.n 8014ce4 } else { /* Increment the lock count so the task that unlocks the queue * knows that data was posted while it was locked. */ prvIncrementQueueTxLock( pxQueue, cTxLock ); - 80142dc: f001 f8f2 bl 80154c4 - 80142e0: 6338 str r0, [r7, #48] @ 0x30 - 80142e2: f997 303b ldrsb.w r3, [r7, #59] @ 0x3b - 80142e6: 6b3a ldr r2, [r7, #48] @ 0x30 - 80142e8: 429a cmp r2, r3 - 80142ea: d917 bls.n 801431c - 80142ec: f997 303b ldrsb.w r3, [r7, #59] @ 0x3b - 80142f0: 2b7f cmp r3, #127 @ 0x7f - 80142f2: d10b bne.n 801430c + 8014ca4: f001 f8da bl 8015e5c + 8014ca8: 6338 str r0, [r7, #48] @ 0x30 + 8014caa: f997 303b ldrsb.w r3, [r7, #59] @ 0x3b + 8014cae: 6b3a ldr r2, [r7, #48] @ 0x30 + 8014cb0: 429a cmp r2, r3 + 8014cb2: d917 bls.n 8014ce4 + 8014cb4: f997 303b ldrsb.w r3, [r7, #59] @ 0x3b + 8014cb8: 2b7f cmp r3, #127 @ 0x7f + 8014cba: d10b bne.n 8014cd4 __asm volatile - 80142f4: f04f 0350 mov.w r3, #80 @ 0x50 - 80142f8: f383 8811 msr BASEPRI, r3 - 80142fc: f3bf 8f6f isb sy - 8014300: f3bf 8f4f dsb sy - 8014304: 61bb str r3, [r7, #24] + 8014cbc: f04f 0350 mov.w r3, #80 @ 0x50 + 8014cc0: f383 8811 msr BASEPRI, r3 + 8014cc4: f3bf 8f6f isb sy + 8014cc8: f3bf 8f4f dsb sy + 8014ccc: 61bb str r3, [r7, #24] } - 8014306: bf00 nop - 8014308: bf00 nop - 801430a: e7fd b.n 8014308 - 801430c: f897 303b ldrb.w r3, [r7, #59] @ 0x3b - 8014310: 3301 adds r3, #1 - 8014312: b2db uxtb r3, r3 - 8014314: b25a sxtb r2, r3 - 8014316: 6c3b ldr r3, [r7, #64] @ 0x40 - 8014318: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 8014cce: bf00 nop + 8014cd0: bf00 nop + 8014cd2: e7fd b.n 8014cd0 + 8014cd4: f897 303b ldrb.w r3, [r7, #59] @ 0x3b + 8014cd8: 3301 adds r3, #1 + 8014cda: b2db uxtb r3, r3 + 8014cdc: b25a sxtb r2, r3 + 8014cde: 6c3b ldr r3, [r7, #64] @ 0x40 + 8014ce0: f883 2045 strb.w r2, [r3, #69] @ 0x45 } xReturn = pdPASS; - 801431c: 2301 movs r3, #1 - 801431e: 647b str r3, [r7, #68] @ 0x44 + 8014ce4: 2301 movs r3, #1 + 8014ce6: 647b str r3, [r7, #68] @ 0x44 { - 8014320: e001 b.n 8014326 + 8014ce8: e001 b.n 8014cee } else { traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ); xReturn = errQUEUE_FULL; - 8014322: 2300 movs r3, #0 - 8014324: 647b str r3, [r7, #68] @ 0x44 - 8014326: 6bfb ldr r3, [r7, #60] @ 0x3c - 8014328: 617b str r3, [r7, #20] + 8014cea: 2300 movs r3, #0 + 8014cec: 647b str r3, [r7, #68] @ 0x44 + 8014cee: 6bfb ldr r3, [r7, #60] @ 0x3c + 8014cf0: 617b str r3, [r7, #20] } /*-----------------------------------------------------------*/ portFORCE_INLINE static void vPortSetBASEPRI( uint32_t ulNewMaskValue ) { __asm volatile - 801432a: 697b ldr r3, [r7, #20] - 801432c: f383 8811 msr BASEPRI, r3 + 8014cf2: 697b ldr r3, [r7, #20] + 8014cf4: f383 8811 msr BASEPRI, r3 ( " msr basepri, %0 "::"r" ( ulNewMaskValue ) : "memory" ); } - 8014330: bf00 nop + 8014cf8: bf00 nop } } portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ); return xReturn; - 8014332: 6c7b ldr r3, [r7, #68] @ 0x44 + 8014cfa: 6c7b ldr r3, [r7, #68] @ 0x44 } - 8014334: 4618 mov r0, r3 - 8014336: 3748 adds r7, #72 @ 0x48 - 8014338: 46bd mov sp, r7 - 801433a: bd80 pop {r7, pc} + 8014cfc: 4618 mov r0, r3 + 8014cfe: 3748 adds r7, #72 @ 0x48 + 8014d00: 46bd mov sp, r7 + 8014d02: bd80 pop {r7, pc} -0801433c : +08014d04 : /*-----------------------------------------------------------*/ BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue, BaseType_t * const pxHigherPriorityTaskWoken ) { - 801433c: b580 push {r7, lr} - 801433e: b090 sub sp, #64 @ 0x40 - 8014340: af00 add r7, sp, #0 - 8014342: 6078 str r0, [r7, #4] - 8014344: 6039 str r1, [r7, #0] + 8014d04: b580 push {r7, lr} + 8014d06: b090 sub sp, #64 @ 0x40 + 8014d08: af00 add r7, sp, #0 + 8014d0a: 6078 str r0, [r7, #4] + 8014d0c: 6039 str r1, [r7, #0] BaseType_t xReturn; UBaseType_t uxSavedInterruptStatus; Queue_t * const pxQueue = xQueue; - 8014346: 687b ldr r3, [r7, #4] - 8014348: 63bb str r3, [r7, #56] @ 0x38 + 8014d0e: 687b ldr r3, [r7, #4] + 8014d10: 63bb str r3, [r7, #56] @ 0x38 * item size is 0. Don't directly wake a task that was blocked on a queue * read, instead return a flag to say whether a context switch is required or * not (i.e. has a task with a higher priority than us been woken by this * post). */ configASSERT( pxQueue ); - 801434a: 6bbb ldr r3, [r7, #56] @ 0x38 - 801434c: 2b00 cmp r3, #0 - 801434e: d10b bne.n 8014368 + 8014d12: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014d14: 2b00 cmp r3, #0 + 8014d16: d10b bne.n 8014d30 __asm volatile - 8014350: f04f 0350 mov.w r3, #80 @ 0x50 - 8014354: f383 8811 msr BASEPRI, r3 - 8014358: f3bf 8f6f isb sy - 801435c: f3bf 8f4f dsb sy - 8014360: 627b str r3, [r7, #36] @ 0x24 + 8014d18: f04f 0350 mov.w r3, #80 @ 0x50 + 8014d1c: f383 8811 msr BASEPRI, r3 + 8014d20: f3bf 8f6f isb sy + 8014d24: f3bf 8f4f dsb sy + 8014d28: 627b str r3, [r7, #36] @ 0x24 } - 8014362: bf00 nop - 8014364: bf00 nop - 8014366: e7fd b.n 8014364 + 8014d2a: bf00 nop + 8014d2c: bf00 nop + 8014d2e: e7fd b.n 8014d2c /* xQueueGenericSendFromISR() should be used instead of xQueueGiveFromISR() * if the item size is not 0. */ configASSERT( pxQueue->uxItemSize == 0 ); - 8014368: 6bbb ldr r3, [r7, #56] @ 0x38 - 801436a: 6c1b ldr r3, [r3, #64] @ 0x40 - 801436c: 2b00 cmp r3, #0 - 801436e: d00b beq.n 8014388 + 8014d30: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014d32: 6c1b ldr r3, [r3, #64] @ 0x40 + 8014d34: 2b00 cmp r3, #0 + 8014d36: d00b beq.n 8014d50 __asm volatile - 8014370: f04f 0350 mov.w r3, #80 @ 0x50 - 8014374: f383 8811 msr BASEPRI, r3 - 8014378: f3bf 8f6f isb sy - 801437c: f3bf 8f4f dsb sy - 8014380: 623b str r3, [r7, #32] + 8014d38: f04f 0350 mov.w r3, #80 @ 0x50 + 8014d3c: f383 8811 msr BASEPRI, r3 + 8014d40: f3bf 8f6f isb sy + 8014d44: f3bf 8f4f dsb sy + 8014d48: 623b str r3, [r7, #32] } - 8014382: bf00 nop - 8014384: bf00 nop - 8014386: e7fd b.n 8014384 + 8014d4a: bf00 nop + 8014d4c: bf00 nop + 8014d4e: e7fd b.n 8014d4c /* Normally a mutex would not be given from an interrupt, especially if * there is a mutex holder, as priority inheritance makes no sense for an * interrupts, only tasks. */ configASSERT( !( ( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) && ( pxQueue->u.xSemaphore.xMutexHolder != NULL ) ) ); - 8014388: 6bbb ldr r3, [r7, #56] @ 0x38 - 801438a: 681b ldr r3, [r3, #0] - 801438c: 2b00 cmp r3, #0 - 801438e: d103 bne.n 8014398 - 8014390: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014392: 689b ldr r3, [r3, #8] - 8014394: 2b00 cmp r3, #0 - 8014396: d101 bne.n 801439c - 8014398: 2301 movs r3, #1 - 801439a: e000 b.n 801439e - 801439c: 2300 movs r3, #0 - 801439e: 2b00 cmp r3, #0 - 80143a0: d10b bne.n 80143ba + 8014d50: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014d52: 681b ldr r3, [r3, #0] + 8014d54: 2b00 cmp r3, #0 + 8014d56: d103 bne.n 8014d60 + 8014d58: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014d5a: 689b ldr r3, [r3, #8] + 8014d5c: 2b00 cmp r3, #0 + 8014d5e: d101 bne.n 8014d64 + 8014d60: 2301 movs r3, #1 + 8014d62: e000 b.n 8014d66 + 8014d64: 2300 movs r3, #0 + 8014d66: 2b00 cmp r3, #0 + 8014d68: d10b bne.n 8014d82 __asm volatile - 80143a2: f04f 0350 mov.w r3, #80 @ 0x50 - 80143a6: f383 8811 msr BASEPRI, r3 - 80143aa: f3bf 8f6f isb sy - 80143ae: f3bf 8f4f dsb sy - 80143b2: 61fb str r3, [r7, #28] + 8014d6a: f04f 0350 mov.w r3, #80 @ 0x50 + 8014d6e: f383 8811 msr BASEPRI, r3 + 8014d72: f3bf 8f6f isb sy + 8014d76: f3bf 8f4f dsb sy + 8014d7a: 61fb str r3, [r7, #28] } - 80143b4: bf00 nop - 80143b6: bf00 nop - 80143b8: e7fd b.n 80143b6 + 8014d7c: bf00 nop + 8014d7e: bf00 nop + 8014d80: e7fd b.n 8014d7e * 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(); - 80143ba: f003 f8b7 bl 801752c + 8014d82: f003 f8bb bl 8017efc __asm volatile - 80143be: f3ef 8211 mrs r2, BASEPRI - 80143c2: f04f 0350 mov.w r3, #80 @ 0x50 - 80143c6: f383 8811 msr BASEPRI, r3 - 80143ca: f3bf 8f6f isb sy - 80143ce: f3bf 8f4f dsb sy - 80143d2: 61ba str r2, [r7, #24] - 80143d4: 617b str r3, [r7, #20] + 8014d86: f3ef 8211 mrs r2, BASEPRI + 8014d8a: f04f 0350 mov.w r3, #80 @ 0x50 + 8014d8e: f383 8811 msr BASEPRI, r3 + 8014d92: f3bf 8f6f isb sy + 8014d96: f3bf 8f4f dsb sy + 8014d9a: 61ba str r2, [r7, #24] + 8014d9c: 617b str r3, [r7, #20] return ulOriginalBASEPRI; - 80143d6: 69bb ldr r3, [r7, #24] + 8014d9e: 69bb ldr r3, [r7, #24] uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); - 80143d8: 637b str r3, [r7, #52] @ 0x34 + 8014da0: 637b str r3, [r7, #52] @ 0x34 { const UBaseType_t uxMessagesWaiting = pxQueue->uxMessagesWaiting; - 80143da: 6bbb ldr r3, [r7, #56] @ 0x38 - 80143dc: 6b9b ldr r3, [r3, #56] @ 0x38 - 80143de: 633b str r3, [r7, #48] @ 0x30 + 8014da2: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014da4: 6b9b ldr r3, [r3, #56] @ 0x38 + 8014da6: 633b str r3, [r7, #48] @ 0x30 /* When the queue is used to implement a semaphore no data is ever * moved through the queue but it is still valid to see if the queue 'has * space'. */ if( uxMessagesWaiting < pxQueue->uxLength ) - 80143e0: 6bbb ldr r3, [r7, #56] @ 0x38 - 80143e2: 6bdb ldr r3, [r3, #60] @ 0x3c - 80143e4: 6b3a ldr r2, [r7, #48] @ 0x30 - 80143e6: 429a cmp r2, r3 - 80143e8: d243 bcs.n 8014472 + 8014da8: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014daa: 6bdb ldr r3, [r3, #60] @ 0x3c + 8014dac: 6b3a ldr r2, [r7, #48] @ 0x30 + 8014dae: 429a cmp r2, r3 + 8014db0: d243 bcs.n 8014e3a { const int8_t cTxLock = pxQueue->cTxLock; - 80143ea: 6bbb ldr r3, [r7, #56] @ 0x38 - 80143ec: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 - 80143f0: f887 302f strb.w r3, [r7, #47] @ 0x2f + 8014db2: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014db4: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 + 8014db8: f887 302f strb.w r3, [r7, #47] @ 0x2f * holder - and if there is a mutex holder then the mutex cannot be * given from an ISR. As this is the ISR version of the function it * can be assumed there is no mutex holder and no need to determine if * priority disinheritance is needed. Simply increase the count of * messages (semaphores) available. */ pxQueue->uxMessagesWaiting = uxMessagesWaiting + ( UBaseType_t ) 1; - 80143f4: 6b3b ldr r3, [r7, #48] @ 0x30 - 80143f6: 1c5a adds r2, r3, #1 - 80143f8: 6bbb ldr r3, [r7, #56] @ 0x38 - 80143fa: 639a str r2, [r3, #56] @ 0x38 + 8014dbc: 6b3b ldr r3, [r7, #48] @ 0x30 + 8014dbe: 1c5a adds r2, r3, #1 + 8014dc0: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014dc2: 639a str r2, [r3, #56] @ 0x38 /* The event list is not altered if the queue is locked. This will * be done when the queue is unlocked later. */ if( cTxLock == queueUNLOCKED ) - 80143fc: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f - 8014400: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8014404: d112 bne.n 801442c + 8014dc4: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f + 8014dc8: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8014dcc: d112 bne.n 8014df4 } } } #else /* configUSE_QUEUE_SETS */ { if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) - 8014406: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014408: 6a5b ldr r3, [r3, #36] @ 0x24 - 801440a: 2b00 cmp r3, #0 - 801440c: d02e beq.n 801446c + 8014dce: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014dd0: 6a5b ldr r3, [r3, #36] @ 0x24 + 8014dd2: 2b00 cmp r3, #0 + 8014dd4: d02e beq.n 8014e34 { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) - 801440e: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014410: 3324 adds r3, #36 @ 0x24 - 8014412: 4618 mov r0, r3 - 8014414: f001 fa44 bl 80158a0 - 8014418: 4603 mov r3, r0 - 801441a: 2b00 cmp r3, #0 - 801441c: d026 beq.n 801446c + 8014dd6: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014dd8: 3324 adds r3, #36 @ 0x24 + 8014dda: 4618 mov r0, r3 + 8014ddc: f001 fa58 bl 8016290 + 8014de0: 4603 mov r3, r0 + 8014de2: 2b00 cmp r3, #0 + 8014de4: d026 beq.n 8014e34 { /* The task waiting has a higher priority so record that a * context switch is required. */ if( pxHigherPriorityTaskWoken != NULL ) - 801441e: 683b ldr r3, [r7, #0] - 8014420: 2b00 cmp r3, #0 - 8014422: d023 beq.n 801446c + 8014de6: 683b ldr r3, [r7, #0] + 8014de8: 2b00 cmp r3, #0 + 8014dea: d023 beq.n 8014e34 { *pxHigherPriorityTaskWoken = pdTRUE; - 8014424: 683b ldr r3, [r7, #0] - 8014426: 2201 movs r2, #1 - 8014428: 601a str r2, [r3, #0] - 801442a: e01f b.n 801446c + 8014dec: 683b ldr r3, [r7, #0] + 8014dee: 2201 movs r2, #1 + 8014df0: 601a str r2, [r3, #0] + 8014df2: e01f b.n 8014e34 } else { /* Increment the lock count so the task that unlocks the queue * knows that data was posted while it was locked. */ prvIncrementQueueTxLock( pxQueue, cTxLock ); - 801442c: f001 f84a bl 80154c4 - 8014430: 62b8 str r0, [r7, #40] @ 0x28 - 8014432: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f - 8014436: 6aba ldr r2, [r7, #40] @ 0x28 - 8014438: 429a cmp r2, r3 - 801443a: d917 bls.n 801446c - 801443c: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f - 8014440: 2b7f cmp r3, #127 @ 0x7f - 8014442: d10b bne.n 801445c + 8014df4: f001 f832 bl 8015e5c + 8014df8: 62b8 str r0, [r7, #40] @ 0x28 + 8014dfa: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f + 8014dfe: 6aba ldr r2, [r7, #40] @ 0x28 + 8014e00: 429a cmp r2, r3 + 8014e02: d917 bls.n 8014e34 + 8014e04: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f + 8014e08: 2b7f cmp r3, #127 @ 0x7f + 8014e0a: d10b bne.n 8014e24 __asm volatile - 8014444: f04f 0350 mov.w r3, #80 @ 0x50 - 8014448: f383 8811 msr BASEPRI, r3 - 801444c: f3bf 8f6f isb sy - 8014450: f3bf 8f4f dsb sy - 8014454: 613b str r3, [r7, #16] + 8014e0c: f04f 0350 mov.w r3, #80 @ 0x50 + 8014e10: f383 8811 msr BASEPRI, r3 + 8014e14: f3bf 8f6f isb sy + 8014e18: f3bf 8f4f dsb sy + 8014e1c: 613b str r3, [r7, #16] } - 8014456: bf00 nop - 8014458: bf00 nop - 801445a: e7fd b.n 8014458 - 801445c: f897 302f ldrb.w r3, [r7, #47] @ 0x2f - 8014460: 3301 adds r3, #1 - 8014462: b2db uxtb r3, r3 - 8014464: b25a sxtb r2, r3 - 8014466: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014468: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 8014e1e: bf00 nop + 8014e20: bf00 nop + 8014e22: e7fd b.n 8014e20 + 8014e24: f897 302f ldrb.w r3, [r7, #47] @ 0x2f + 8014e28: 3301 adds r3, #1 + 8014e2a: b2db uxtb r3, r3 + 8014e2c: b25a sxtb r2, r3 + 8014e2e: 6bbb ldr r3, [r7, #56] @ 0x38 + 8014e30: f883 2045 strb.w r2, [r3, #69] @ 0x45 } xReturn = pdPASS; - 801446c: 2301 movs r3, #1 - 801446e: 63fb str r3, [r7, #60] @ 0x3c - 8014470: e001 b.n 8014476 + 8014e34: 2301 movs r3, #1 + 8014e36: 63fb str r3, [r7, #60] @ 0x3c + 8014e38: e001 b.n 8014e3e } else { traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ); xReturn = errQUEUE_FULL; - 8014472: 2300 movs r3, #0 - 8014474: 63fb str r3, [r7, #60] @ 0x3c - 8014476: 6b7b ldr r3, [r7, #52] @ 0x34 - 8014478: 60fb str r3, [r7, #12] + 8014e3a: 2300 movs r3, #0 + 8014e3c: 63fb str r3, [r7, #60] @ 0x3c + 8014e3e: 6b7b ldr r3, [r7, #52] @ 0x34 + 8014e40: 60fb str r3, [r7, #12] __asm volatile - 801447a: 68fb ldr r3, [r7, #12] - 801447c: f383 8811 msr BASEPRI, r3 + 8014e42: 68fb ldr r3, [r7, #12] + 8014e44: f383 8811 msr BASEPRI, r3 } - 8014480: bf00 nop + 8014e48: bf00 nop } } portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ); return xReturn; - 8014482: 6bfb ldr r3, [r7, #60] @ 0x3c + 8014e4a: 6bfb ldr r3, [r7, #60] @ 0x3c } - 8014484: 4618 mov r0, r3 - 8014486: 3740 adds r7, #64 @ 0x40 - 8014488: 46bd mov sp, r7 - 801448a: bd80 pop {r7, pc} + 8014e4c: 4618 mov r0, r3 + 8014e4e: 3740 adds r7, #64 @ 0x40 + 8014e50: 46bd mov sp, r7 + 8014e52: bd80 pop {r7, pc} -0801448c : +08014e54 : /*-----------------------------------------------------------*/ BaseType_t xQueueReceive( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait ) { - 801448c: b580 push {r7, lr} - 801448e: b08c sub sp, #48 @ 0x30 - 8014490: af00 add r7, sp, #0 - 8014492: 60f8 str r0, [r7, #12] - 8014494: 60b9 str r1, [r7, #8] - 8014496: 607a str r2, [r7, #4] + 8014e54: b580 push {r7, lr} + 8014e56: b08c sub sp, #48 @ 0x30 + 8014e58: af00 add r7, sp, #0 + 8014e5a: 60f8 str r0, [r7, #12] + 8014e5c: 60b9 str r1, [r7, #8] + 8014e5e: 607a str r2, [r7, #4] BaseType_t xEntryTimeSet = pdFALSE; - 8014498: 2300 movs r3, #0 - 801449a: 62fb str r3, [r7, #44] @ 0x2c + 8014e60: 2300 movs r3, #0 + 8014e62: 62fb str r3, [r7, #44] @ 0x2c TimeOut_t xTimeOut; Queue_t * const pxQueue = xQueue; - 801449c: 68fb ldr r3, [r7, #12] - 801449e: 62bb str r3, [r7, #40] @ 0x28 + 8014e64: 68fb ldr r3, [r7, #12] + 8014e66: 62bb str r3, [r7, #40] @ 0x28 /* Check the pointer is not NULL. */ configASSERT( ( pxQueue ) ); - 80144a0: 6abb ldr r3, [r7, #40] @ 0x28 - 80144a2: 2b00 cmp r3, #0 - 80144a4: d10b bne.n 80144be + 8014e68: 6abb ldr r3, [r7, #40] @ 0x28 + 8014e6a: 2b00 cmp r3, #0 + 8014e6c: d10b bne.n 8014e86 __asm volatile - 80144a6: f04f 0350 mov.w r3, #80 @ 0x50 - 80144aa: f383 8811 msr BASEPRI, r3 - 80144ae: f3bf 8f6f isb sy - 80144b2: f3bf 8f4f dsb sy - 80144b6: 623b str r3, [r7, #32] + 8014e6e: f04f 0350 mov.w r3, #80 @ 0x50 + 8014e72: f383 8811 msr BASEPRI, r3 + 8014e76: f3bf 8f6f isb sy + 8014e7a: f3bf 8f4f dsb sy + 8014e7e: 623b str r3, [r7, #32] } - 80144b8: bf00 nop - 80144ba: bf00 nop - 80144bc: e7fd b.n 80144ba + 8014e80: bf00 nop + 8014e82: bf00 nop + 8014e84: e7fd b.n 8014e82 /* The buffer into which data is received can only be NULL if the data size * is zero (so no data is copied into the buffer). */ configASSERT( !( ( ( pvBuffer ) == NULL ) && ( ( pxQueue )->uxItemSize != ( UBaseType_t ) 0U ) ) ); - 80144be: 68bb ldr r3, [r7, #8] - 80144c0: 2b00 cmp r3, #0 - 80144c2: d103 bne.n 80144cc - 80144c4: 6abb ldr r3, [r7, #40] @ 0x28 - 80144c6: 6c1b ldr r3, [r3, #64] @ 0x40 - 80144c8: 2b00 cmp r3, #0 - 80144ca: d101 bne.n 80144d0 - 80144cc: 2301 movs r3, #1 - 80144ce: e000 b.n 80144d2 - 80144d0: 2300 movs r3, #0 - 80144d2: 2b00 cmp r3, #0 - 80144d4: d10b bne.n 80144ee + 8014e86: 68bb ldr r3, [r7, #8] + 8014e88: 2b00 cmp r3, #0 + 8014e8a: d103 bne.n 8014e94 + 8014e8c: 6abb ldr r3, [r7, #40] @ 0x28 + 8014e8e: 6c1b ldr r3, [r3, #64] @ 0x40 + 8014e90: 2b00 cmp r3, #0 + 8014e92: d101 bne.n 8014e98 + 8014e94: 2301 movs r3, #1 + 8014e96: e000 b.n 8014e9a + 8014e98: 2300 movs r3, #0 + 8014e9a: 2b00 cmp r3, #0 + 8014e9c: d10b bne.n 8014eb6 __asm volatile - 80144d6: f04f 0350 mov.w r3, #80 @ 0x50 - 80144da: f383 8811 msr BASEPRI, r3 - 80144de: f3bf 8f6f isb sy - 80144e2: f3bf 8f4f dsb sy - 80144e6: 61fb str r3, [r7, #28] + 8014e9e: f04f 0350 mov.w r3, #80 @ 0x50 + 8014ea2: f383 8811 msr BASEPRI, r3 + 8014ea6: f3bf 8f6f isb sy + 8014eaa: f3bf 8f4f dsb sy + 8014eae: 61fb str r3, [r7, #28] } - 80144e8: bf00 nop - 80144ea: bf00 nop - 80144ec: e7fd b.n 80144ea + 8014eb0: bf00 nop + 8014eb2: bf00 nop + 8014eb4: e7fd b.n 8014eb2 /* Cannot block if the scheduler is suspended. */ #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) { configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); - 80144ee: f001 fc1b bl 8015d28 - 80144f2: 4603 mov r3, r0 - 80144f4: 2b00 cmp r3, #0 - 80144f6: d102 bne.n 80144fe - 80144f8: 687b ldr r3, [r7, #4] - 80144fa: 2b00 cmp r3, #0 - 80144fc: d101 bne.n 8014502 - 80144fe: 2301 movs r3, #1 - 8014500: e000 b.n 8014504 - 8014502: 2300 movs r3, #0 - 8014504: 2b00 cmp r3, #0 - 8014506: d10b bne.n 8014520 + 8014eb6: f001 fc37 bl 8016728 + 8014eba: 4603 mov r3, r0 + 8014ebc: 2b00 cmp r3, #0 + 8014ebe: d102 bne.n 8014ec6 + 8014ec0: 687b ldr r3, [r7, #4] + 8014ec2: 2b00 cmp r3, #0 + 8014ec4: d101 bne.n 8014eca + 8014ec6: 2301 movs r3, #1 + 8014ec8: e000 b.n 8014ecc + 8014eca: 2300 movs r3, #0 + 8014ecc: 2b00 cmp r3, #0 + 8014ece: d10b bne.n 8014ee8 __asm volatile - 8014508: f04f 0350 mov.w r3, #80 @ 0x50 - 801450c: f383 8811 msr BASEPRI, r3 - 8014510: f3bf 8f6f isb sy - 8014514: f3bf 8f4f dsb sy - 8014518: 61bb str r3, [r7, #24] + 8014ed0: f04f 0350 mov.w r3, #80 @ 0x50 + 8014ed4: f383 8811 msr BASEPRI, r3 + 8014ed8: f3bf 8f6f isb sy + 8014edc: f3bf 8f4f dsb sy + 8014ee0: 61bb str r3, [r7, #24] } - 801451a: bf00 nop - 801451c: bf00 nop - 801451e: e7fd b.n 801451c + 8014ee2: bf00 nop + 8014ee4: bf00 nop + 8014ee6: e7fd b.n 8014ee4 /*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(); - 8014520: f002 ff1e bl 8017360 + 8014ee8: f002 ff22 bl 8017d30 { const UBaseType_t uxMessagesWaiting = pxQueue->uxMessagesWaiting; - 8014524: 6abb ldr r3, [r7, #40] @ 0x28 - 8014526: 6b9b ldr r3, [r3, #56] @ 0x38 - 8014528: 627b str r3, [r7, #36] @ 0x24 + 8014eec: 6abb ldr r3, [r7, #40] @ 0x28 + 8014eee: 6b9b ldr r3, [r3, #56] @ 0x38 + 8014ef0: 627b str r3, [r7, #36] @ 0x24 /* Is there data in the queue now? To be running the calling task * must be the highest priority task wanting to access the queue. */ if( uxMessagesWaiting > ( UBaseType_t ) 0 ) - 801452a: 6a7b ldr r3, [r7, #36] @ 0x24 - 801452c: 2b00 cmp r3, #0 - 801452e: d01f beq.n 8014570 + 8014ef2: 6a7b ldr r3, [r7, #36] @ 0x24 + 8014ef4: 2b00 cmp r3, #0 + 8014ef6: d01f beq.n 8014f38 { /* Data available, remove one item. */ prvCopyDataFromQueue( pxQueue, pvBuffer ); - 8014530: 68b9 ldr r1, [r7, #8] - 8014532: 6ab8 ldr r0, [r7, #40] @ 0x28 - 8014534: f000 facc bl 8014ad0 + 8014ef8: 68b9 ldr r1, [r7, #8] + 8014efa: 6ab8 ldr r0, [r7, #40] @ 0x28 + 8014efc: f000 facc bl 8015498 traceQUEUE_RECEIVE( pxQueue ); pxQueue->uxMessagesWaiting = uxMessagesWaiting - ( UBaseType_t ) 1; - 8014538: 6a7b ldr r3, [r7, #36] @ 0x24 - 801453a: 1e5a subs r2, r3, #1 - 801453c: 6abb ldr r3, [r7, #40] @ 0x28 - 801453e: 639a str r2, [r3, #56] @ 0x38 + 8014f00: 6a7b ldr r3, [r7, #36] @ 0x24 + 8014f02: 1e5a subs r2, r3, #1 + 8014f04: 6abb ldr r3, [r7, #40] @ 0x28 + 8014f06: 639a str r2, [r3, #56] @ 0x38 /* There is now space in the queue, were any tasks waiting to * post to the queue? If so, unblock the highest priority waiting * task. */ if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) - 8014540: 6abb ldr r3, [r7, #40] @ 0x28 - 8014542: 691b ldr r3, [r3, #16] - 8014544: 2b00 cmp r3, #0 - 8014546: d00f beq.n 8014568 + 8014f08: 6abb ldr r3, [r7, #40] @ 0x28 + 8014f0a: 691b ldr r3, [r3, #16] + 8014f0c: 2b00 cmp r3, #0 + 8014f0e: d00f beq.n 8014f30 { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 8014548: 6abb ldr r3, [r7, #40] @ 0x28 - 801454a: 3310 adds r3, #16 - 801454c: 4618 mov r0, r3 - 801454e: f001 f9a7 bl 80158a0 - 8014552: 4603 mov r3, r0 - 8014554: 2b00 cmp r3, #0 - 8014556: d007 beq.n 8014568 + 8014f10: 6abb ldr r3, [r7, #40] @ 0x28 + 8014f12: 3310 adds r3, #16 + 8014f14: 4618 mov r0, r3 + 8014f16: f001 f9bb bl 8016290 + 8014f1a: 4603 mov r3, r0 + 8014f1c: 2b00 cmp r3, #0 + 8014f1e: d007 beq.n 8014f30 { queueYIELD_IF_USING_PREEMPTION(); - 8014558: 4b3c ldr r3, [pc, #240] @ (801464c ) - 801455a: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 801455e: 601a str r2, [r3, #0] - 8014560: f3bf 8f4f dsb sy - 8014564: f3bf 8f6f isb sy + 8014f20: 4b3c ldr r3, [pc, #240] @ (8015014 ) + 8014f22: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8014f26: 601a str r2, [r3, #0] + 8014f28: f3bf 8f4f dsb sy + 8014f2c: f3bf 8f6f isb sy else { mtCOVERAGE_TEST_MARKER(); } taskEXIT_CRITICAL(); - 8014568: f002 ff2c bl 80173c4 + 8014f30: f002 ff30 bl 8017d94 return pdPASS; - 801456c: 2301 movs r3, #1 - 801456e: e069 b.n 8014644 + 8014f34: 2301 movs r3, #1 + 8014f36: e069 b.n 801500c } else { if( xTicksToWait == ( TickType_t ) 0 ) - 8014570: 687b ldr r3, [r7, #4] - 8014572: 2b00 cmp r3, #0 - 8014574: d103 bne.n 801457e + 8014f38: 687b ldr r3, [r7, #4] + 8014f3a: 2b00 cmp r3, #0 + 8014f3c: d103 bne.n 8014f46 { /* The queue was empty and no block time is specified (or * the block time has expired) so leave now. */ taskEXIT_CRITICAL(); - 8014576: f002 ff25 bl 80173c4 + 8014f3e: f002 ff29 bl 8017d94 traceQUEUE_RECEIVE_FAILED( pxQueue ); return errQUEUE_EMPTY; - 801457a: 2300 movs r3, #0 - 801457c: e062 b.n 8014644 + 8014f42: 2300 movs r3, #0 + 8014f44: e062 b.n 801500c } else if( xEntryTimeSet == pdFALSE ) - 801457e: 6afb ldr r3, [r7, #44] @ 0x2c - 8014580: 2b00 cmp r3, #0 - 8014582: d106 bne.n 8014592 + 8014f46: 6afb ldr r3, [r7, #44] @ 0x2c + 8014f48: 2b00 cmp r3, #0 + 8014f4a: d106 bne.n 8014f5a { /* The queue was empty and a block time was specified so * configure the timeout structure. */ vTaskInternalSetTimeOutState( &xTimeOut ); - 8014584: f107 0310 add.w r3, r7, #16 - 8014588: 4618 mov r0, r3 - 801458a: f001 fa61 bl 8015a50 + 8014f4c: f107 0310 add.w r3, r7, #16 + 8014f50: 4618 mov r0, r3 + 8014f52: f001 fa75 bl 8016440 xEntryTimeSet = pdTRUE; - 801458e: 2301 movs r3, #1 - 8014590: 62fb str r3, [r7, #44] @ 0x2c + 8014f56: 2301 movs r3, #1 + 8014f58: 62fb str r3, [r7, #44] @ 0x2c /* Entry time was already set. */ mtCOVERAGE_TEST_MARKER(); } } } taskEXIT_CRITICAL(); - 8014592: f002 ff17 bl 80173c4 + 8014f5a: f002 ff1b bl 8017d94 /* Interrupts and other tasks can send to and receive from the queue * now the critical section has been exited. */ vTaskSuspendAll(); - 8014596: f000 fe79 bl 801528c + 8014f5e: f000 fe61 bl 8015c24 prvLockQueue( pxQueue ); - 801459a: f002 fee1 bl 8017360 - 801459e: 6abb ldr r3, [r7, #40] @ 0x28 - 80145a0: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 - 80145a4: b25b sxtb r3, r3 - 80145a6: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 80145aa: d103 bne.n 80145b4 - 80145ac: 6abb ldr r3, [r7, #40] @ 0x28 - 80145ae: 2200 movs r2, #0 - 80145b0: f883 2044 strb.w r2, [r3, #68] @ 0x44 - 80145b4: 6abb ldr r3, [r7, #40] @ 0x28 - 80145b6: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 - 80145ba: b25b sxtb r3, r3 - 80145bc: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 80145c0: d103 bne.n 80145ca - 80145c2: 6abb ldr r3, [r7, #40] @ 0x28 - 80145c4: 2200 movs r2, #0 - 80145c6: f883 2045 strb.w r2, [r3, #69] @ 0x45 - 80145ca: f002 fefb bl 80173c4 + 8014f62: f002 fee5 bl 8017d30 + 8014f66: 6abb ldr r3, [r7, #40] @ 0x28 + 8014f68: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 + 8014f6c: b25b sxtb r3, r3 + 8014f6e: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8014f72: d103 bne.n 8014f7c + 8014f74: 6abb ldr r3, [r7, #40] @ 0x28 + 8014f76: 2200 movs r2, #0 + 8014f78: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 8014f7c: 6abb ldr r3, [r7, #40] @ 0x28 + 8014f7e: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 + 8014f82: b25b sxtb r3, r3 + 8014f84: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8014f88: d103 bne.n 8014f92 + 8014f8a: 6abb ldr r3, [r7, #40] @ 0x28 + 8014f8c: 2200 movs r2, #0 + 8014f8e: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 8014f92: f002 feff bl 8017d94 /* Update the timeout state to see if it has expired yet. */ if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) - 80145ce: 1d3a adds r2, r7, #4 - 80145d0: f107 0310 add.w r3, r7, #16 - 80145d4: 4611 mov r1, r2 - 80145d6: 4618 mov r0, r3 - 80145d8: f001 fa50 bl 8015a7c - 80145dc: 4603 mov r3, r0 - 80145de: 2b00 cmp r3, #0 - 80145e0: d123 bne.n 801462a + 8014f96: 1d3a adds r2, r7, #4 + 8014f98: f107 0310 add.w r3, r7, #16 + 8014f9c: 4611 mov r1, r2 + 8014f9e: 4618 mov r0, r3 + 8014fa0: f001 fa64 bl 801646c + 8014fa4: 4603 mov r3, r0 + 8014fa6: 2b00 cmp r3, #0 + 8014fa8: d123 bne.n 8014ff2 { /* The timeout has not expired. If the queue is still empty place * the task on the list of tasks waiting to receive from the queue. */ if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) - 80145e2: 6ab8 ldr r0, [r7, #40] @ 0x28 - 80145e4: f000 faec bl 8014bc0 - 80145e8: 4603 mov r3, r0 - 80145ea: 2b00 cmp r3, #0 - 80145ec: d017 beq.n 801461e + 8014faa: 6ab8 ldr r0, [r7, #40] @ 0x28 + 8014fac: f000 faec bl 8015588 + 8014fb0: 4603 mov r3, r0 + 8014fb2: 2b00 cmp r3, #0 + 8014fb4: d017 beq.n 8014fe6 { traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue ); vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait ); - 80145ee: 6abb ldr r3, [r7, #40] @ 0x28 - 80145f0: 3324 adds r3, #36 @ 0x24 - 80145f2: 687a ldr r2, [r7, #4] - 80145f4: 4611 mov r1, r2 - 80145f6: 4618 mov r0, r3 - 80145f8: f001 f8e6 bl 80157c8 + 8014fb6: 6abb ldr r3, [r7, #40] @ 0x28 + 8014fb8: 3324 adds r3, #36 @ 0x24 + 8014fba: 687a ldr r2, [r7, #4] + 8014fbc: 4611 mov r1, r2 + 8014fbe: 4618 mov r0, r3 + 8014fc0: f001 f8fa bl 80161b8 prvUnlockQueue( pxQueue ); - 80145fc: 6ab8 ldr r0, [r7, #40] @ 0x28 - 80145fe: f000 fa8d bl 8014b1c + 8014fc4: 6ab8 ldr r0, [r7, #40] @ 0x28 + 8014fc6: f000 fa8d bl 80154e4 if( xTaskResumeAll() == pdFALSE ) - 8014602: f000 fe51 bl 80152a8 - 8014606: 4603 mov r3, r0 - 8014608: 2b00 cmp r3, #0 - 801460a: d189 bne.n 8014520 + 8014fca: f000 fe39 bl 8015c40 + 8014fce: 4603 mov r3, r0 + 8014fd0: 2b00 cmp r3, #0 + 8014fd2: d189 bne.n 8014ee8 { portYIELD_WITHIN_API(); - 801460c: 4b0f ldr r3, [pc, #60] @ (801464c ) - 801460e: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8014612: 601a str r2, [r3, #0] - 8014614: f3bf 8f4f dsb sy - 8014618: f3bf 8f6f isb sy - 801461c: e780 b.n 8014520 + 8014fd4: 4b0f ldr r3, [pc, #60] @ (8015014 ) + 8014fd6: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8014fda: 601a str r2, [r3, #0] + 8014fdc: f3bf 8f4f dsb sy + 8014fe0: f3bf 8f6f isb sy + 8014fe4: e780 b.n 8014ee8 } else { /* The queue contains data again. Loop back to try and read the * data. */ prvUnlockQueue( pxQueue ); - 801461e: 6ab8 ldr r0, [r7, #40] @ 0x28 - 8014620: f000 fa7c bl 8014b1c + 8014fe6: 6ab8 ldr r0, [r7, #40] @ 0x28 + 8014fe8: f000 fa7c bl 80154e4 ( void ) xTaskResumeAll(); - 8014624: f000 fe40 bl 80152a8 - 8014628: e77a b.n 8014520 + 8014fec: f000 fe28 bl 8015c40 + 8014ff0: e77a b.n 8014ee8 } else { /* Timed out. If there is no data in the queue exit, otherwise loop * back and attempt to read the data. */ prvUnlockQueue( pxQueue ); - 801462a: 6ab8 ldr r0, [r7, #40] @ 0x28 - 801462c: f000 fa76 bl 8014b1c + 8014ff2: 6ab8 ldr r0, [r7, #40] @ 0x28 + 8014ff4: f000 fa76 bl 80154e4 ( void ) xTaskResumeAll(); - 8014630: f000 fe3a bl 80152a8 + 8014ff8: f000 fe22 bl 8015c40 if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) - 8014634: 6ab8 ldr r0, [r7, #40] @ 0x28 - 8014636: f000 fac3 bl 8014bc0 - 801463a: 4603 mov r3, r0 - 801463c: 2b00 cmp r3, #0 - 801463e: f43f af6f beq.w 8014520 + 8014ffc: 6ab8 ldr r0, [r7, #40] @ 0x28 + 8014ffe: f000 fac3 bl 8015588 + 8015002: 4603 mov r3, r0 + 8015004: 2b00 cmp r3, #0 + 8015006: f43f af6f beq.w 8014ee8 { traceQUEUE_RECEIVE_FAILED( pxQueue ); return errQUEUE_EMPTY; - 8014642: 2300 movs r3, #0 + 801500a: 2300 movs r3, #0 { mtCOVERAGE_TEST_MARKER(); } } } /*lint -restore */ } - 8014644: 4618 mov r0, r3 - 8014646: 3730 adds r7, #48 @ 0x30 - 8014648: 46bd mov sp, r7 - 801464a: bd80 pop {r7, pc} - 801464c: e000ed04 .word 0xe000ed04 + 801500c: 4618 mov r0, r3 + 801500e: 3730 adds r7, #48 @ 0x30 + 8015010: 46bd mov sp, r7 + 8015012: bd80 pop {r7, pc} + 8015014: e000ed04 .word 0xe000ed04 -08014650 : +08015018 : /*-----------------------------------------------------------*/ BaseType_t xQueueSemaphoreTake( QueueHandle_t xQueue, TickType_t xTicksToWait ) { - 8014650: b580 push {r7, lr} - 8014652: b08c sub sp, #48 @ 0x30 - 8014654: af00 add r7, sp, #0 - 8014656: 6078 str r0, [r7, #4] - 8014658: 6039 str r1, [r7, #0] + 8015018: b580 push {r7, lr} + 801501a: b08c sub sp, #48 @ 0x30 + 801501c: af00 add r7, sp, #0 + 801501e: 6078 str r0, [r7, #4] + 8015020: 6039 str r1, [r7, #0] BaseType_t xEntryTimeSet = pdFALSE; - 801465a: 2300 movs r3, #0 - 801465c: 62fb str r3, [r7, #44] @ 0x2c + 8015022: 2300 movs r3, #0 + 8015024: 62fb str r3, [r7, #44] @ 0x2c TimeOut_t xTimeOut; Queue_t * const pxQueue = xQueue; - 801465e: 687b ldr r3, [r7, #4] - 8014660: 627b str r3, [r7, #36] @ 0x24 + 8015026: 687b ldr r3, [r7, #4] + 8015028: 627b str r3, [r7, #36] @ 0x24 #if ( configUSE_MUTEXES == 1 ) BaseType_t xInheritanceOccurred = pdFALSE; - 8014662: 2300 movs r3, #0 - 8014664: 62bb str r3, [r7, #40] @ 0x28 + 801502a: 2300 movs r3, #0 + 801502c: 62bb str r3, [r7, #40] @ 0x28 #endif /* Check the queue pointer is not NULL. */ configASSERT( ( pxQueue ) ); - 8014666: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014668: 2b00 cmp r3, #0 - 801466a: d10b bne.n 8014684 + 801502e: 6a7b ldr r3, [r7, #36] @ 0x24 + 8015030: 2b00 cmp r3, #0 + 8015032: d10b bne.n 801504c __asm volatile - 801466c: f04f 0350 mov.w r3, #80 @ 0x50 - 8014670: f383 8811 msr BASEPRI, r3 - 8014674: f3bf 8f6f isb sy - 8014678: f3bf 8f4f dsb sy - 801467c: 61bb str r3, [r7, #24] + 8015034: f04f 0350 mov.w r3, #80 @ 0x50 + 8015038: f383 8811 msr BASEPRI, r3 + 801503c: f3bf 8f6f isb sy + 8015040: f3bf 8f4f dsb sy + 8015044: 61bb str r3, [r7, #24] } - 801467e: bf00 nop - 8014680: bf00 nop - 8014682: e7fd b.n 8014680 + 8015046: bf00 nop + 8015048: bf00 nop + 801504a: e7fd b.n 8015048 /* Check this really is a semaphore, in which case the item size will be * 0. */ configASSERT( pxQueue->uxItemSize == 0 ); - 8014684: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014686: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014688: 2b00 cmp r3, #0 - 801468a: d00b beq.n 80146a4 + 801504c: 6a7b ldr r3, [r7, #36] @ 0x24 + 801504e: 6c1b ldr r3, [r3, #64] @ 0x40 + 8015050: 2b00 cmp r3, #0 + 8015052: d00b beq.n 801506c __asm volatile - 801468c: f04f 0350 mov.w r3, #80 @ 0x50 - 8014690: f383 8811 msr BASEPRI, r3 - 8014694: f3bf 8f6f isb sy - 8014698: f3bf 8f4f dsb sy - 801469c: 617b str r3, [r7, #20] + 8015054: f04f 0350 mov.w r3, #80 @ 0x50 + 8015058: f383 8811 msr BASEPRI, r3 + 801505c: f3bf 8f6f isb sy + 8015060: f3bf 8f4f dsb sy + 8015064: 617b str r3, [r7, #20] } - 801469e: bf00 nop - 80146a0: bf00 nop - 80146a2: e7fd b.n 80146a0 + 8015066: bf00 nop + 8015068: bf00 nop + 801506a: e7fd b.n 8015068 /* Cannot block if the scheduler is suspended. */ #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) { configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); - 80146a4: f001 fb40 bl 8015d28 - 80146a8: 4603 mov r3, r0 - 80146aa: 2b00 cmp r3, #0 - 80146ac: d102 bne.n 80146b4 - 80146ae: 683b ldr r3, [r7, #0] - 80146b0: 2b00 cmp r3, #0 - 80146b2: d101 bne.n 80146b8 - 80146b4: 2301 movs r3, #1 - 80146b6: e000 b.n 80146ba - 80146b8: 2300 movs r3, #0 - 80146ba: 2b00 cmp r3, #0 - 80146bc: d10b bne.n 80146d6 + 801506c: f001 fb5c bl 8016728 + 8015070: 4603 mov r3, r0 + 8015072: 2b00 cmp r3, #0 + 8015074: d102 bne.n 801507c + 8015076: 683b ldr r3, [r7, #0] + 8015078: 2b00 cmp r3, #0 + 801507a: d101 bne.n 8015080 + 801507c: 2301 movs r3, #1 + 801507e: e000 b.n 8015082 + 8015080: 2300 movs r3, #0 + 8015082: 2b00 cmp r3, #0 + 8015084: d10b bne.n 801509e __asm volatile - 80146be: f04f 0350 mov.w r3, #80 @ 0x50 - 80146c2: f383 8811 msr BASEPRI, r3 - 80146c6: f3bf 8f6f isb sy - 80146ca: f3bf 8f4f dsb sy - 80146ce: 613b str r3, [r7, #16] + 8015086: f04f 0350 mov.w r3, #80 @ 0x50 + 801508a: f383 8811 msr BASEPRI, r3 + 801508e: f3bf 8f6f isb sy + 8015092: f3bf 8f4f dsb sy + 8015096: 613b str r3, [r7, #16] } - 80146d0: bf00 nop - 80146d2: bf00 nop - 80146d4: e7fd b.n 80146d2 + 8015098: bf00 nop + 801509a: bf00 nop + 801509c: e7fd b.n 801509a /*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(); - 80146d6: f002 fe43 bl 8017360 + 801509e: f002 fe47 bl 8017d30 { /* Semaphores are queues with an item size of 0, and where the * number of messages in the queue is the semaphore's count value. */ const UBaseType_t uxSemaphoreCount = pxQueue->uxMessagesWaiting; - 80146da: 6a7b ldr r3, [r7, #36] @ 0x24 - 80146dc: 6b9b ldr r3, [r3, #56] @ 0x38 - 80146de: 623b str r3, [r7, #32] + 80150a2: 6a7b ldr r3, [r7, #36] @ 0x24 + 80150a4: 6b9b ldr r3, [r3, #56] @ 0x38 + 80150a6: 623b str r3, [r7, #32] /* Is there data in the queue now? To be running the calling task * must be the highest priority task wanting to access the queue. */ if( uxSemaphoreCount > ( UBaseType_t ) 0 ) - 80146e0: 6a3b ldr r3, [r7, #32] - 80146e2: 2b00 cmp r3, #0 - 80146e4: d024 beq.n 8014730 + 80150a8: 6a3b ldr r3, [r7, #32] + 80150aa: 2b00 cmp r3, #0 + 80150ac: d024 beq.n 80150f8 { traceQUEUE_RECEIVE( pxQueue ); /* Semaphores are queues with a data size of zero and where the * messages waiting is the semaphore's count. Reduce the count. */ pxQueue->uxMessagesWaiting = uxSemaphoreCount - ( UBaseType_t ) 1; - 80146e6: 6a3b ldr r3, [r7, #32] - 80146e8: 1e5a subs r2, r3, #1 - 80146ea: 6a7b ldr r3, [r7, #36] @ 0x24 - 80146ec: 639a str r2, [r3, #56] @ 0x38 + 80150ae: 6a3b ldr r3, [r7, #32] + 80150b0: 1e5a subs r2, r3, #1 + 80150b2: 6a7b ldr r3, [r7, #36] @ 0x24 + 80150b4: 639a str r2, [r3, #56] @ 0x38 #if ( configUSE_MUTEXES == 1 ) { if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) - 80146ee: 6a7b ldr r3, [r7, #36] @ 0x24 - 80146f0: 681b ldr r3, [r3, #0] - 80146f2: 2b00 cmp r3, #0 - 80146f4: d104 bne.n 8014700 + 80150b6: 6a7b ldr r3, [r7, #36] @ 0x24 + 80150b8: 681b ldr r3, [r3, #0] + 80150ba: 2b00 cmp r3, #0 + 80150bc: d104 bne.n 80150c8 { /* Record the information required to implement * priority inheritance should it become necessary. */ pxQueue->u.xSemaphore.xMutexHolder = pvTaskIncrementMutexHeldCount(); - 80146f6: f001 fd09 bl 801610c - 80146fa: 4602 mov r2, r0 - 80146fc: 6a7b ldr r3, [r7, #36] @ 0x24 - 80146fe: 609a str r2, [r3, #8] + 80150be: f001 fd25 bl 8016b0c + 80150c2: 4602 mov r2, r0 + 80150c4: 6a7b ldr r3, [r7, #36] @ 0x24 + 80150c6: 609a str r2, [r3, #8] } #endif /* configUSE_MUTEXES */ /* Check to see if other tasks are blocked waiting to give the * semaphore, and if so, unblock the highest priority such task. */ if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) - 8014700: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014702: 691b ldr r3, [r3, #16] - 8014704: 2b00 cmp r3, #0 - 8014706: d00f beq.n 8014728 + 80150c8: 6a7b ldr r3, [r7, #36] @ 0x24 + 80150ca: 691b ldr r3, [r3, #16] + 80150cc: 2b00 cmp r3, #0 + 80150ce: d00f beq.n 80150f0 { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 8014708: 6a7b ldr r3, [r7, #36] @ 0x24 - 801470a: 3310 adds r3, #16 - 801470c: 4618 mov r0, r3 - 801470e: f001 f8c7 bl 80158a0 - 8014712: 4603 mov r3, r0 - 8014714: 2b00 cmp r3, #0 - 8014716: d007 beq.n 8014728 + 80150d0: 6a7b ldr r3, [r7, #36] @ 0x24 + 80150d2: 3310 adds r3, #16 + 80150d4: 4618 mov r0, r3 + 80150d6: f001 f8db bl 8016290 + 80150da: 4603 mov r3, r0 + 80150dc: 2b00 cmp r3, #0 + 80150de: d007 beq.n 80150f0 { queueYIELD_IF_USING_PREEMPTION(); - 8014718: 4b4c ldr r3, [pc, #304] @ (801484c ) - 801471a: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 801471e: 601a str r2, [r3, #0] - 8014720: f3bf 8f4f dsb sy - 8014724: f3bf 8f6f isb sy + 80150e0: 4b4c ldr r3, [pc, #304] @ (8015214 ) + 80150e2: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 80150e6: 601a str r2, [r3, #0] + 80150e8: f3bf 8f4f dsb sy + 80150ec: f3bf 8f6f isb sy else { mtCOVERAGE_TEST_MARKER(); } taskEXIT_CRITICAL(); - 8014728: f002 fe4c bl 80173c4 + 80150f0: f002 fe50 bl 8017d94 return pdPASS; - 801472c: 2301 movs r3, #1 - 801472e: e089 b.n 8014844 + 80150f4: 2301 movs r3, #1 + 80150f6: e089 b.n 801520c } else { if( xTicksToWait == ( TickType_t ) 0 ) - 8014730: 683b ldr r3, [r7, #0] - 8014732: 2b00 cmp r3, #0 - 8014734: d103 bne.n 801473e + 80150f8: 683b ldr r3, [r7, #0] + 80150fa: 2b00 cmp r3, #0 + 80150fc: d103 bne.n 8015106 { /* The semaphore count was 0 and no block time is specified * (or the block time has expired) so exit now. */ taskEXIT_CRITICAL(); - 8014736: f002 fe45 bl 80173c4 + 80150fe: f002 fe49 bl 8017d94 traceQUEUE_RECEIVE_FAILED( pxQueue ); return errQUEUE_EMPTY; - 801473a: 2300 movs r3, #0 - 801473c: e082 b.n 8014844 + 8015102: 2300 movs r3, #0 + 8015104: e082 b.n 801520c } else if( xEntryTimeSet == pdFALSE ) - 801473e: 6afb ldr r3, [r7, #44] @ 0x2c - 8014740: 2b00 cmp r3, #0 - 8014742: d106 bne.n 8014752 + 8015106: 6afb ldr r3, [r7, #44] @ 0x2c + 8015108: 2b00 cmp r3, #0 + 801510a: d106 bne.n 801511a { /* The semaphore count was 0 and a block time was specified * so configure the timeout structure ready to block. */ vTaskInternalSetTimeOutState( &xTimeOut ); - 8014744: f107 0308 add.w r3, r7, #8 - 8014748: 4618 mov r0, r3 - 801474a: f001 f981 bl 8015a50 + 801510c: f107 0308 add.w r3, r7, #8 + 8015110: 4618 mov r0, r3 + 8015112: f001 f995 bl 8016440 xEntryTimeSet = pdTRUE; - 801474e: 2301 movs r3, #1 - 8014750: 62fb str r3, [r7, #44] @ 0x2c + 8015116: 2301 movs r3, #1 + 8015118: 62fb str r3, [r7, #44] @ 0x2c /* Entry time was already set. */ mtCOVERAGE_TEST_MARKER(); } } } taskEXIT_CRITICAL(); - 8014752: f002 fe37 bl 80173c4 + 801511a: f002 fe3b bl 8017d94 /* Interrupts and other tasks can give to and take from the semaphore * now the critical section has been exited. */ vTaskSuspendAll(); - 8014756: f000 fd99 bl 801528c + 801511e: f000 fd81 bl 8015c24 prvLockQueue( pxQueue ); - 801475a: f002 fe01 bl 8017360 - 801475e: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014760: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 - 8014764: b25b sxtb r3, r3 - 8014766: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 801476a: d103 bne.n 8014774 - 801476c: 6a7b ldr r3, [r7, #36] @ 0x24 - 801476e: 2200 movs r2, #0 - 8014770: f883 2044 strb.w r2, [r3, #68] @ 0x44 - 8014774: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014776: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 - 801477a: b25b sxtb r3, r3 - 801477c: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8014780: d103 bne.n 801478a - 8014782: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014784: 2200 movs r2, #0 - 8014786: f883 2045 strb.w r2, [r3, #69] @ 0x45 - 801478a: f002 fe1b bl 80173c4 + 8015122: f002 fe05 bl 8017d30 + 8015126: 6a7b ldr r3, [r7, #36] @ 0x24 + 8015128: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 + 801512c: b25b sxtb r3, r3 + 801512e: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8015132: d103 bne.n 801513c + 8015134: 6a7b ldr r3, [r7, #36] @ 0x24 + 8015136: 2200 movs r2, #0 + 8015138: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 801513c: 6a7b ldr r3, [r7, #36] @ 0x24 + 801513e: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 + 8015142: b25b sxtb r3, r3 + 8015144: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8015148: d103 bne.n 8015152 + 801514a: 6a7b ldr r3, [r7, #36] @ 0x24 + 801514c: 2200 movs r2, #0 + 801514e: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 8015152: f002 fe1f bl 8017d94 /* Update the timeout state to see if it has expired yet. */ if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) - 801478e: 463a mov r2, r7 - 8014790: f107 0308 add.w r3, r7, #8 - 8014794: 4611 mov r1, r2 - 8014796: 4618 mov r0, r3 - 8014798: f001 f970 bl 8015a7c - 801479c: 4603 mov r3, r0 - 801479e: 2b00 cmp r3, #0 - 80147a0: d132 bne.n 8014808 + 8015156: 463a mov r2, r7 + 8015158: f107 0308 add.w r3, r7, #8 + 801515c: 4611 mov r1, r2 + 801515e: 4618 mov r0, r3 + 8015160: f001 f984 bl 801646c + 8015164: 4603 mov r3, r0 + 8015166: 2b00 cmp r3, #0 + 8015168: d132 bne.n 80151d0 { /* A block time is specified and not expired. If the semaphore * count is 0 then enter the Blocked state to wait for a semaphore to * become available. As semaphores are implemented with queues the * queue being empty is equivalent to the semaphore count being 0. */ if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) - 80147a2: 6a78 ldr r0, [r7, #36] @ 0x24 - 80147a4: f000 fa0c bl 8014bc0 - 80147a8: 4603 mov r3, r0 - 80147aa: 2b00 cmp r3, #0 - 80147ac: d026 beq.n 80147fc + 801516a: 6a78 ldr r0, [r7, #36] @ 0x24 + 801516c: f000 fa0c bl 8015588 + 8015170: 4603 mov r3, r0 + 8015172: 2b00 cmp r3, #0 + 8015174: d026 beq.n 80151c4 { traceBLOCKING_ON_QUEUE_RECEIVE( pxQueue ); #if ( configUSE_MUTEXES == 1 ) { if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) - 80147ae: 6a7b ldr r3, [r7, #36] @ 0x24 - 80147b0: 681b ldr r3, [r3, #0] - 80147b2: 2b00 cmp r3, #0 - 80147b4: d109 bne.n 80147ca + 8015176: 6a7b ldr r3, [r7, #36] @ 0x24 + 8015178: 681b ldr r3, [r3, #0] + 801517a: 2b00 cmp r3, #0 + 801517c: d109 bne.n 8015192 { taskENTER_CRITICAL(); - 80147b6: f002 fdd3 bl 8017360 + 801517e: f002 fdd7 bl 8017d30 { xInheritanceOccurred = xTaskPriorityInherit( pxQueue->u.xSemaphore.xMutexHolder ); - 80147ba: 6a7b ldr r3, [r7, #36] @ 0x24 - 80147bc: 689b ldr r3, [r3, #8] - 80147be: 4618 mov r0, r3 - 80147c0: f001 fad0 bl 8015d64 - 80147c4: 62b8 str r0, [r7, #40] @ 0x28 + 8015182: 6a7b ldr r3, [r7, #36] @ 0x24 + 8015184: 689b ldr r3, [r3, #8] + 8015186: 4618 mov r0, r3 + 8015188: f001 faec bl 8016764 + 801518c: 62b8 str r0, [r7, #40] @ 0x28 } taskEXIT_CRITICAL(); - 80147c6: f002 fdfd bl 80173c4 + 801518e: f002 fe01 bl 8017d94 mtCOVERAGE_TEST_MARKER(); } } #endif /* if ( configUSE_MUTEXES == 1 ) */ vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait ); - 80147ca: 6a7b ldr r3, [r7, #36] @ 0x24 - 80147cc: 3324 adds r3, #36 @ 0x24 - 80147ce: 683a ldr r2, [r7, #0] - 80147d0: 4611 mov r1, r2 - 80147d2: 4618 mov r0, r3 - 80147d4: f000 fff8 bl 80157c8 + 8015192: 6a7b ldr r3, [r7, #36] @ 0x24 + 8015194: 3324 adds r3, #36 @ 0x24 + 8015196: 683a ldr r2, [r7, #0] + 8015198: 4611 mov r1, r2 + 801519a: 4618 mov r0, r3 + 801519c: f001 f80c bl 80161b8 prvUnlockQueue( pxQueue ); - 80147d8: 6a78 ldr r0, [r7, #36] @ 0x24 - 80147da: f000 f99f bl 8014b1c + 80151a0: 6a78 ldr r0, [r7, #36] @ 0x24 + 80151a2: f000 f99f bl 80154e4 if( xTaskResumeAll() == pdFALSE ) - 80147de: f000 fd63 bl 80152a8 - 80147e2: 4603 mov r3, r0 - 80147e4: 2b00 cmp r3, #0 - 80147e6: f47f af76 bne.w 80146d6 + 80151a6: f000 fd4b bl 8015c40 + 80151aa: 4603 mov r3, r0 + 80151ac: 2b00 cmp r3, #0 + 80151ae: f47f af76 bne.w 801509e { portYIELD_WITHIN_API(); - 80147ea: 4b18 ldr r3, [pc, #96] @ (801484c ) - 80147ec: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80147f0: 601a str r2, [r3, #0] - 80147f2: f3bf 8f4f dsb sy - 80147f6: f3bf 8f6f isb sy - 80147fa: e76c b.n 80146d6 + 80151b2: 4b18 ldr r3, [pc, #96] @ (8015214 ) + 80151b4: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 80151b8: 601a str r2, [r3, #0] + 80151ba: f3bf 8f4f dsb sy + 80151be: f3bf 8f6f isb sy + 80151c2: e76c b.n 801509e } else { /* There was no timeout and the semaphore count was not 0, so * attempt to take the semaphore again. */ prvUnlockQueue( pxQueue ); - 80147fc: 6a78 ldr r0, [r7, #36] @ 0x24 - 80147fe: f000 f98d bl 8014b1c + 80151c4: 6a78 ldr r0, [r7, #36] @ 0x24 + 80151c6: f000 f98d bl 80154e4 ( void ) xTaskResumeAll(); - 8014802: f000 fd51 bl 80152a8 - 8014806: e766 b.n 80146d6 + 80151ca: f000 fd39 bl 8015c40 + 80151ce: e766 b.n 801509e } } else { /* Timed out. */ prvUnlockQueue( pxQueue ); - 8014808: 6a78 ldr r0, [r7, #36] @ 0x24 - 801480a: f000 f987 bl 8014b1c + 80151d0: 6a78 ldr r0, [r7, #36] @ 0x24 + 80151d2: f000 f987 bl 80154e4 ( void ) xTaskResumeAll(); - 801480e: f000 fd4b bl 80152a8 + 80151d6: f000 fd33 bl 8015c40 /* If the semaphore count is 0 exit now as the timeout has * expired. Otherwise return to attempt to take the semaphore that is * known to be available. As semaphores are implemented by queues the * queue being empty is equivalent to the semaphore count being 0. */ if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) - 8014812: 6a78 ldr r0, [r7, #36] @ 0x24 - 8014814: f000 f9d4 bl 8014bc0 - 8014818: 4603 mov r3, r0 - 801481a: 2b00 cmp r3, #0 - 801481c: f43f af5b beq.w 80146d6 + 80151da: 6a78 ldr r0, [r7, #36] @ 0x24 + 80151dc: f000 f9d4 bl 8015588 + 80151e0: 4603 mov r3, r0 + 80151e2: 2b00 cmp r3, #0 + 80151e4: f43f af5b beq.w 801509e #if ( configUSE_MUTEXES == 1 ) { /* xInheritanceOccurred could only have be set if * pxQueue->uxQueueType == queueQUEUE_IS_MUTEX so no need to * test the mutex type again to check it is actually a mutex. */ if( xInheritanceOccurred != pdFALSE ) - 8014820: 6abb ldr r3, [r7, #40] @ 0x28 - 8014822: 2b00 cmp r3, #0 - 8014824: d00d beq.n 8014842 + 80151e8: 6abb ldr r3, [r7, #40] @ 0x28 + 80151ea: 2b00 cmp r3, #0 + 80151ec: d00d beq.n 801520a { taskENTER_CRITICAL(); - 8014826: f002 fd9b bl 8017360 + 80151ee: f002 fd9f bl 8017d30 /* This task blocking on the mutex caused another * task to inherit this task's priority. Now this task * has timed out the priority should be disinherited * again, but only as low as the next highest priority * task that is waiting for the same mutex. */ uxHighestWaitingPriority = prvGetDisinheritPriorityAfterTimeout( pxQueue ); - 801482a: 6a78 ldr r0, [r7, #36] @ 0x24 - 801482c: f000 f8ce bl 80149cc - 8014830: 61f8 str r0, [r7, #28] + 80151f2: 6a78 ldr r0, [r7, #36] @ 0x24 + 80151f4: f000 f8ce bl 8015394 + 80151f8: 61f8 str r0, [r7, #28] vTaskPriorityDisinheritAfterTimeout( pxQueue->u.xSemaphore.xMutexHolder, uxHighestWaitingPriority ); - 8014832: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014834: 689b ldr r3, [r3, #8] - 8014836: 69f9 ldr r1, [r7, #28] - 8014838: 4618 mov r0, r3 - 801483a: f001 fbbb bl 8015fb4 + 80151fa: 6a7b ldr r3, [r7, #36] @ 0x24 + 80151fc: 689b ldr r3, [r3, #8] + 80151fe: 69f9 ldr r1, [r7, #28] + 8015200: 4618 mov r0, r3 + 8015202: f001 fbd7 bl 80169b4 } taskEXIT_CRITICAL(); - 801483e: f002 fdc1 bl 80173c4 + 8015206: f002 fdc5 bl 8017d94 } } #endif /* configUSE_MUTEXES */ traceQUEUE_RECEIVE_FAILED( pxQueue ); return errQUEUE_EMPTY; - 8014842: 2300 movs r3, #0 + 801520a: 2300 movs r3, #0 { mtCOVERAGE_TEST_MARKER(); } } } /*lint -restore */ } - 8014844: 4618 mov r0, r3 - 8014846: 3730 adds r7, #48 @ 0x30 - 8014848: 46bd mov sp, r7 - 801484a: bd80 pop {r7, pc} - 801484c: e000ed04 .word 0xe000ed04 + 801520c: 4618 mov r0, r3 + 801520e: 3730 adds r7, #48 @ 0x30 + 8015210: 46bd mov sp, r7 + 8015212: bd80 pop {r7, pc} + 8015214: e000ed04 .word 0xe000ed04 -08014850 : +08015218 : /*-----------------------------------------------------------*/ BaseType_t xQueueReceiveFromISR( QueueHandle_t xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken ) { - 8014850: b580 push {r7, lr} - 8014852: b090 sub sp, #64 @ 0x40 - 8014854: af00 add r7, sp, #0 - 8014856: 60f8 str r0, [r7, #12] - 8014858: 60b9 str r1, [r7, #8] - 801485a: 607a str r2, [r7, #4] + 8015218: b580 push {r7, lr} + 801521a: b090 sub sp, #64 @ 0x40 + 801521c: af00 add r7, sp, #0 + 801521e: 60f8 str r0, [r7, #12] + 8015220: 60b9 str r1, [r7, #8] + 8015222: 607a str r2, [r7, #4] BaseType_t xReturn; UBaseType_t uxSavedInterruptStatus; Queue_t * const pxQueue = xQueue; - 801485c: 68fb ldr r3, [r7, #12] - 801485e: 63bb str r3, [r7, #56] @ 0x38 + 8015224: 68fb ldr r3, [r7, #12] + 8015226: 63bb str r3, [r7, #56] @ 0x38 configASSERT( pxQueue ); - 8014860: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014862: 2b00 cmp r3, #0 - 8014864: d10b bne.n 801487e + 8015228: 6bbb ldr r3, [r7, #56] @ 0x38 + 801522a: 2b00 cmp r3, #0 + 801522c: d10b bne.n 8015246 __asm volatile - 8014866: f04f 0350 mov.w r3, #80 @ 0x50 - 801486a: f383 8811 msr BASEPRI, r3 - 801486e: f3bf 8f6f isb sy - 8014872: f3bf 8f4f dsb sy - 8014876: 627b str r3, [r7, #36] @ 0x24 + 801522e: f04f 0350 mov.w r3, #80 @ 0x50 + 8015232: f383 8811 msr BASEPRI, r3 + 8015236: f3bf 8f6f isb sy + 801523a: f3bf 8f4f dsb sy + 801523e: 627b str r3, [r7, #36] @ 0x24 } - 8014878: bf00 nop - 801487a: bf00 nop - 801487c: e7fd b.n 801487a + 8015240: bf00 nop + 8015242: bf00 nop + 8015244: e7fd b.n 8015242 configASSERT( !( ( pvBuffer == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) ); - 801487e: 68bb ldr r3, [r7, #8] - 8014880: 2b00 cmp r3, #0 - 8014882: d103 bne.n 801488c - 8014884: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014886: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014888: 2b00 cmp r3, #0 - 801488a: d101 bne.n 8014890 - 801488c: 2301 movs r3, #1 - 801488e: e000 b.n 8014892 - 8014890: 2300 movs r3, #0 - 8014892: 2b00 cmp r3, #0 - 8014894: d10b bne.n 80148ae + 8015246: 68bb ldr r3, [r7, #8] + 8015248: 2b00 cmp r3, #0 + 801524a: d103 bne.n 8015254 + 801524c: 6bbb ldr r3, [r7, #56] @ 0x38 + 801524e: 6c1b ldr r3, [r3, #64] @ 0x40 + 8015250: 2b00 cmp r3, #0 + 8015252: d101 bne.n 8015258 + 8015254: 2301 movs r3, #1 + 8015256: e000 b.n 801525a + 8015258: 2300 movs r3, #0 + 801525a: 2b00 cmp r3, #0 + 801525c: d10b bne.n 8015276 __asm volatile - 8014896: f04f 0350 mov.w r3, #80 @ 0x50 - 801489a: f383 8811 msr BASEPRI, r3 - 801489e: f3bf 8f6f isb sy - 80148a2: f3bf 8f4f dsb sy - 80148a6: 623b str r3, [r7, #32] + 801525e: f04f 0350 mov.w r3, #80 @ 0x50 + 8015262: f383 8811 msr BASEPRI, r3 + 8015266: f3bf 8f6f isb sy + 801526a: f3bf 8f4f dsb sy + 801526e: 623b str r3, [r7, #32] } - 80148a8: bf00 nop - 80148aa: bf00 nop - 80148ac: e7fd b.n 80148aa + 8015270: bf00 nop + 8015272: bf00 nop + 8015274: e7fd b.n 8015272 * 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(); - 80148ae: f002 fe3d bl 801752c + 8015276: f002 fe41 bl 8017efc __asm volatile - 80148b2: f3ef 8211 mrs r2, BASEPRI - 80148b6: f04f 0350 mov.w r3, #80 @ 0x50 - 80148ba: f383 8811 msr BASEPRI, r3 - 80148be: f3bf 8f6f isb sy - 80148c2: f3bf 8f4f dsb sy - 80148c6: 61fa str r2, [r7, #28] - 80148c8: 61bb str r3, [r7, #24] + 801527a: f3ef 8211 mrs r2, BASEPRI + 801527e: f04f 0350 mov.w r3, #80 @ 0x50 + 8015282: f383 8811 msr BASEPRI, r3 + 8015286: f3bf 8f6f isb sy + 801528a: f3bf 8f4f dsb sy + 801528e: 61fa str r2, [r7, #28] + 8015290: 61bb str r3, [r7, #24] return ulOriginalBASEPRI; - 80148ca: 69fb ldr r3, [r7, #28] + 8015292: 69fb ldr r3, [r7, #28] uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); - 80148cc: 637b str r3, [r7, #52] @ 0x34 + 8015294: 637b str r3, [r7, #52] @ 0x34 { const UBaseType_t uxMessagesWaiting = pxQueue->uxMessagesWaiting; - 80148ce: 6bbb ldr r3, [r7, #56] @ 0x38 - 80148d0: 6b9b ldr r3, [r3, #56] @ 0x38 - 80148d2: 633b str r3, [r7, #48] @ 0x30 + 8015296: 6bbb ldr r3, [r7, #56] @ 0x38 + 8015298: 6b9b ldr r3, [r3, #56] @ 0x38 + 801529a: 633b str r3, [r7, #48] @ 0x30 /* Cannot block in an ISR, so check there is data available. */ if( uxMessagesWaiting > ( UBaseType_t ) 0 ) - 80148d4: 6b3b ldr r3, [r7, #48] @ 0x30 - 80148d6: 2b00 cmp r3, #0 - 80148d8: d047 beq.n 801496a + 801529c: 6b3b ldr r3, [r7, #48] @ 0x30 + 801529e: 2b00 cmp r3, #0 + 80152a0: d047 beq.n 8015332 { const int8_t cRxLock = pxQueue->cRxLock; - 80148da: 6bbb ldr r3, [r7, #56] @ 0x38 - 80148dc: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 - 80148e0: f887 302f strb.w r3, [r7, #47] @ 0x2f + 80152a2: 6bbb ldr r3, [r7, #56] @ 0x38 + 80152a4: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 + 80152a8: f887 302f strb.w r3, [r7, #47] @ 0x2f traceQUEUE_RECEIVE_FROM_ISR( pxQueue ); prvCopyDataFromQueue( pxQueue, pvBuffer ); - 80148e4: 68b9 ldr r1, [r7, #8] - 80148e6: 6bb8 ldr r0, [r7, #56] @ 0x38 - 80148e8: f000 f8f2 bl 8014ad0 + 80152ac: 68b9 ldr r1, [r7, #8] + 80152ae: 6bb8 ldr r0, [r7, #56] @ 0x38 + 80152b0: f000 f8f2 bl 8015498 pxQueue->uxMessagesWaiting = uxMessagesWaiting - ( UBaseType_t ) 1; - 80148ec: 6b3b ldr r3, [r7, #48] @ 0x30 - 80148ee: 1e5a subs r2, r3, #1 - 80148f0: 6bbb ldr r3, [r7, #56] @ 0x38 - 80148f2: 639a str r2, [r3, #56] @ 0x38 + 80152b4: 6b3b ldr r3, [r7, #48] @ 0x30 + 80152b6: 1e5a subs r2, r3, #1 + 80152b8: 6bbb ldr r3, [r7, #56] @ 0x38 + 80152ba: 639a str r2, [r3, #56] @ 0x38 /* If the queue is locked the event list will not be modified. * Instead update the lock count so the task that unlocks the queue * will know that an ISR has removed data while the queue was * locked. */ if( cRxLock == queueUNLOCKED ) - 80148f4: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f - 80148f8: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 80148fc: d112 bne.n 8014924 + 80152bc: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f + 80152c0: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 80152c4: d112 bne.n 80152ec { if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) - 80148fe: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014900: 691b ldr r3, [r3, #16] - 8014902: 2b00 cmp r3, #0 - 8014904: d02e beq.n 8014964 + 80152c6: 6bbb ldr r3, [r7, #56] @ 0x38 + 80152c8: 691b ldr r3, [r3, #16] + 80152ca: 2b00 cmp r3, #0 + 80152cc: d02e beq.n 801532c { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 8014906: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014908: 3310 adds r3, #16 - 801490a: 4618 mov r0, r3 - 801490c: f000 ffc8 bl 80158a0 - 8014910: 4603 mov r3, r0 - 8014912: 2b00 cmp r3, #0 - 8014914: d026 beq.n 8014964 + 80152ce: 6bbb ldr r3, [r7, #56] @ 0x38 + 80152d0: 3310 adds r3, #16 + 80152d2: 4618 mov r0, r3 + 80152d4: f000 ffdc bl 8016290 + 80152d8: 4603 mov r3, r0 + 80152da: 2b00 cmp r3, #0 + 80152dc: d026 beq.n 801532c { /* The task waiting has a higher priority than us so * force a context switch. */ if( pxHigherPriorityTaskWoken != NULL ) - 8014916: 687b ldr r3, [r7, #4] - 8014918: 2b00 cmp r3, #0 - 801491a: d023 beq.n 8014964 + 80152de: 687b ldr r3, [r7, #4] + 80152e0: 2b00 cmp r3, #0 + 80152e2: d023 beq.n 801532c { *pxHigherPriorityTaskWoken = pdTRUE; - 801491c: 687b ldr r3, [r7, #4] - 801491e: 2201 movs r2, #1 - 8014920: 601a str r2, [r3, #0] - 8014922: e01f b.n 8014964 + 80152e4: 687b ldr r3, [r7, #4] + 80152e6: 2201 movs r2, #1 + 80152e8: 601a str r2, [r3, #0] + 80152ea: e01f b.n 801532c } else { /* Increment the lock count so the task that unlocks the queue * knows that data was removed while it was locked. */ prvIncrementQueueRxLock( pxQueue, cRxLock ); - 8014924: f000 fdce bl 80154c4 - 8014928: 62b8 str r0, [r7, #40] @ 0x28 - 801492a: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f - 801492e: 6aba ldr r2, [r7, #40] @ 0x28 - 8014930: 429a cmp r2, r3 - 8014932: d917 bls.n 8014964 - 8014934: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f - 8014938: 2b7f cmp r3, #127 @ 0x7f - 801493a: d10b bne.n 8014954 + 80152ec: f000 fdb6 bl 8015e5c + 80152f0: 62b8 str r0, [r7, #40] @ 0x28 + 80152f2: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f + 80152f6: 6aba ldr r2, [r7, #40] @ 0x28 + 80152f8: 429a cmp r2, r3 + 80152fa: d917 bls.n 801532c + 80152fc: f997 302f ldrsb.w r3, [r7, #47] @ 0x2f + 8015300: 2b7f cmp r3, #127 @ 0x7f + 8015302: d10b bne.n 801531c __asm volatile - 801493c: f04f 0350 mov.w r3, #80 @ 0x50 - 8014940: f383 8811 msr BASEPRI, r3 - 8014944: f3bf 8f6f isb sy - 8014948: f3bf 8f4f dsb sy - 801494c: 617b str r3, [r7, #20] + 8015304: f04f 0350 mov.w r3, #80 @ 0x50 + 8015308: f383 8811 msr BASEPRI, r3 + 801530c: f3bf 8f6f isb sy + 8015310: f3bf 8f4f dsb sy + 8015314: 617b str r3, [r7, #20] } - 801494e: bf00 nop - 8014950: bf00 nop - 8014952: e7fd b.n 8014950 - 8014954: f897 302f ldrb.w r3, [r7, #47] @ 0x2f - 8014958: 3301 adds r3, #1 - 801495a: b2db uxtb r3, r3 - 801495c: b25a sxtb r2, r3 - 801495e: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014960: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 8015316: bf00 nop + 8015318: bf00 nop + 801531a: e7fd b.n 8015318 + 801531c: f897 302f ldrb.w r3, [r7, #47] @ 0x2f + 8015320: 3301 adds r3, #1 + 8015322: b2db uxtb r3, r3 + 8015324: b25a sxtb r2, r3 + 8015326: 6bbb ldr r3, [r7, #56] @ 0x38 + 8015328: f883 2044 strb.w r2, [r3, #68] @ 0x44 } xReturn = pdPASS; - 8014964: 2301 movs r3, #1 - 8014966: 63fb str r3, [r7, #60] @ 0x3c - 8014968: e001 b.n 801496e + 801532c: 2301 movs r3, #1 + 801532e: 63fb str r3, [r7, #60] @ 0x3c + 8015330: e001 b.n 8015336 } else { xReturn = pdFAIL; - 801496a: 2300 movs r3, #0 - 801496c: 63fb str r3, [r7, #60] @ 0x3c - 801496e: 6b7b ldr r3, [r7, #52] @ 0x34 - 8014970: 613b str r3, [r7, #16] + 8015332: 2300 movs r3, #0 + 8015334: 63fb str r3, [r7, #60] @ 0x3c + 8015336: 6b7b ldr r3, [r7, #52] @ 0x34 + 8015338: 613b str r3, [r7, #16] __asm volatile - 8014972: 693b ldr r3, [r7, #16] - 8014974: f383 8811 msr BASEPRI, r3 + 801533a: 693b ldr r3, [r7, #16] + 801533c: f383 8811 msr BASEPRI, r3 } - 8014978: bf00 nop + 8015340: bf00 nop traceQUEUE_RECEIVE_FROM_ISR_FAILED( pxQueue ); } } portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ); return xReturn; - 801497a: 6bfb ldr r3, [r7, #60] @ 0x3c + 8015342: 6bfb ldr r3, [r7, #60] @ 0x3c } - 801497c: 4618 mov r0, r3 - 801497e: 3740 adds r7, #64 @ 0x40 - 8014980: 46bd mov sp, r7 - 8014982: bd80 pop {r7, pc} + 8015344: 4618 mov r0, r3 + 8015346: 3740 adds r7, #64 @ 0x40 + 8015348: 46bd mov sp, r7 + 801534a: bd80 pop {r7, pc} -08014984 : +0801534c : return uxReturn; } /*lint !e818 Pointer cannot be declared const as xQueue is a typedef not pointer. */ /*-----------------------------------------------------------*/ void vQueueDelete( QueueHandle_t xQueue ) { - 8014984: b580 push {r7, lr} - 8014986: b084 sub sp, #16 - 8014988: af00 add r7, sp, #0 - 801498a: 6078 str r0, [r7, #4] + 801534c: b580 push {r7, lr} + 801534e: b084 sub sp, #16 + 8015350: af00 add r7, sp, #0 + 8015352: 6078 str r0, [r7, #4] Queue_t * const pxQueue = xQueue; - 801498c: 687b ldr r3, [r7, #4] - 801498e: 60fb str r3, [r7, #12] + 8015354: 687b ldr r3, [r7, #4] + 8015356: 60fb str r3, [r7, #12] configASSERT( pxQueue ); - 8014990: 68fb ldr r3, [r7, #12] - 8014992: 2b00 cmp r3, #0 - 8014994: d10b bne.n 80149ae + 8015358: 68fb ldr r3, [r7, #12] + 801535a: 2b00 cmp r3, #0 + 801535c: d10b bne.n 8015376 __asm volatile - 8014996: f04f 0350 mov.w r3, #80 @ 0x50 - 801499a: f383 8811 msr BASEPRI, r3 - 801499e: f3bf 8f6f isb sy - 80149a2: f3bf 8f4f dsb sy - 80149a6: 60bb str r3, [r7, #8] + 801535e: f04f 0350 mov.w r3, #80 @ 0x50 + 8015362: f383 8811 msr BASEPRI, r3 + 8015366: f3bf 8f6f isb sy + 801536a: f3bf 8f4f dsb sy + 801536e: 60bb str r3, [r7, #8] } - 80149a8: bf00 nop - 80149aa: bf00 nop - 80149ac: e7fd b.n 80149aa + 8015370: bf00 nop + 8015372: bf00 nop + 8015374: e7fd b.n 8015372 traceQUEUE_DELETE( pxQueue ); #if ( configQUEUE_REGISTRY_SIZE > 0 ) { vQueueUnregisterQueue( pxQueue ); - 80149ae: 68f8 ldr r0, [r7, #12] - 80149b0: f000 f984 bl 8014cbc + 8015376: 68f8 ldr r0, [r7, #12] + 8015378: f000 f984 bl 8015684 } #elif ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) { /* The queue could have been allocated statically or dynamically, so * check before attempting to free the memory. */ if( pxQueue->ucStaticallyAllocated == ( uint8_t ) pdFALSE ) - 80149b4: 68fb ldr r3, [r7, #12] - 80149b6: f893 3046 ldrb.w r3, [r3, #70] @ 0x46 - 80149ba: 2b00 cmp r3, #0 - 80149bc: d102 bne.n 80149c4 + 801537c: 68fb ldr r3, [r7, #12] + 801537e: f893 3046 ldrb.w r3, [r3, #70] @ 0x46 + 8015382: 2b00 cmp r3, #0 + 8015384: d102 bne.n 801538c { vPortFree( pxQueue ); - 80149be: 68f8 ldr r0, [r7, #12] - 80149c0: f002 fec2 bl 8017748 + 8015386: 68f8 ldr r0, [r7, #12] + 8015388: f002 fec6 bl 8018118 /* The queue must have been statically allocated, so is not going to be * deleted. Avoid compiler warnings about the unused parameter. */ ( void ) pxQueue; } #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ } - 80149c4: bf00 nop - 80149c6: 3710 adds r7, #16 - 80149c8: 46bd mov sp, r7 - 80149ca: bd80 pop {r7, pc} + 801538c: bf00 nop + 801538e: 3710 adds r7, #16 + 8015390: 46bd mov sp, r7 + 8015392: bd80 pop {r7, pc} -080149cc : +08015394 : /*-----------------------------------------------------------*/ #if ( configUSE_MUTEXES == 1 ) static UBaseType_t prvGetDisinheritPriorityAfterTimeout( const Queue_t * const pxQueue ) { - 80149cc: b480 push {r7} - 80149ce: b085 sub sp, #20 - 80149d0: af00 add r7, sp, #0 - 80149d2: 6078 str r0, [r7, #4] + 8015394: b480 push {r7} + 8015396: b085 sub sp, #20 + 8015398: af00 add r7, sp, #0 + 801539a: 6078 str r0, [r7, #4] * priority, but the waiting task times out, then the holder should * disinherit the priority - but only down to the highest priority of any * other tasks that are waiting for the same mutex. For this purpose, * return the priority of the highest priority task that is waiting for the * mutex. */ if( listCURRENT_LIST_LENGTH( &( pxQueue->xTasksWaitingToReceive ) ) > 0U ) - 80149d4: 687b ldr r3, [r7, #4] - 80149d6: 6a5b ldr r3, [r3, #36] @ 0x24 - 80149d8: 2b00 cmp r3, #0 - 80149da: d006 beq.n 80149ea + 801539c: 687b ldr r3, [r7, #4] + 801539e: 6a5b ldr r3, [r3, #36] @ 0x24 + 80153a0: 2b00 cmp r3, #0 + 80153a2: d006 beq.n 80153b2 { uxHighestPriorityOfWaitingTasks = ( UBaseType_t ) configMAX_PRIORITIES - ( UBaseType_t ) listGET_ITEM_VALUE_OF_HEAD_ENTRY( &( pxQueue->xTasksWaitingToReceive ) ); - 80149dc: 687b ldr r3, [r7, #4] - 80149de: 6b1b ldr r3, [r3, #48] @ 0x30 - 80149e0: 681b ldr r3, [r3, #0] - 80149e2: f1c3 0338 rsb r3, r3, #56 @ 0x38 - 80149e6: 60fb str r3, [r7, #12] - 80149e8: e001 b.n 80149ee + 80153a4: 687b ldr r3, [r7, #4] + 80153a6: 6b1b ldr r3, [r3, #48] @ 0x30 + 80153a8: 681b ldr r3, [r3, #0] + 80153aa: f1c3 0338 rsb r3, r3, #56 @ 0x38 + 80153ae: 60fb str r3, [r7, #12] + 80153b0: e001 b.n 80153b6 } else { uxHighestPriorityOfWaitingTasks = tskIDLE_PRIORITY; - 80149ea: 2300 movs r3, #0 - 80149ec: 60fb str r3, [r7, #12] + 80153b2: 2300 movs r3, #0 + 80153b4: 60fb str r3, [r7, #12] } return uxHighestPriorityOfWaitingTasks; - 80149ee: 68fb ldr r3, [r7, #12] + 80153b6: 68fb ldr r3, [r7, #12] } - 80149f0: 4618 mov r0, r3 - 80149f2: 3714 adds r7, #20 - 80149f4: 46bd mov sp, r7 - 80149f6: f85d 7b04 ldr.w r7, [sp], #4 - 80149fa: 4770 bx lr + 80153b8: 4618 mov r0, r3 + 80153ba: 3714 adds r7, #20 + 80153bc: 46bd mov sp, r7 + 80153be: f85d 7b04 ldr.w r7, [sp], #4 + 80153c2: 4770 bx lr -080149fc : +080153c4 : /*-----------------------------------------------------------*/ static BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition ) { - 80149fc: b580 push {r7, lr} - 80149fe: b086 sub sp, #24 - 8014a00: af00 add r7, sp, #0 - 8014a02: 60f8 str r0, [r7, #12] - 8014a04: 60b9 str r1, [r7, #8] - 8014a06: 607a str r2, [r7, #4] + 80153c4: b580 push {r7, lr} + 80153c6: b086 sub sp, #24 + 80153c8: af00 add r7, sp, #0 + 80153ca: 60f8 str r0, [r7, #12] + 80153cc: 60b9 str r1, [r7, #8] + 80153ce: 607a str r2, [r7, #4] BaseType_t xReturn = pdFALSE; - 8014a08: 2300 movs r3, #0 - 8014a0a: 617b str r3, [r7, #20] + 80153d0: 2300 movs r3, #0 + 80153d2: 617b str r3, [r7, #20] UBaseType_t uxMessagesWaiting; /* This function is called from a critical section. */ uxMessagesWaiting = pxQueue->uxMessagesWaiting; - 8014a0c: 68fb ldr r3, [r7, #12] - 8014a0e: 6b9b ldr r3, [r3, #56] @ 0x38 - 8014a10: 613b str r3, [r7, #16] + 80153d4: 68fb ldr r3, [r7, #12] + 80153d6: 6b9b ldr r3, [r3, #56] @ 0x38 + 80153d8: 613b str r3, [r7, #16] if( pxQueue->uxItemSize == ( UBaseType_t ) 0 ) - 8014a12: 68fb ldr r3, [r7, #12] - 8014a14: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014a16: 2b00 cmp r3, #0 - 8014a18: d10d bne.n 8014a36 + 80153da: 68fb ldr r3, [r7, #12] + 80153dc: 6c1b ldr r3, [r3, #64] @ 0x40 + 80153de: 2b00 cmp r3, #0 + 80153e0: d10d bne.n 80153fe { #if ( configUSE_MUTEXES == 1 ) { if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) - 8014a1a: 68fb ldr r3, [r7, #12] - 8014a1c: 681b ldr r3, [r3, #0] - 8014a1e: 2b00 cmp r3, #0 - 8014a20: d14d bne.n 8014abe + 80153e2: 68fb ldr r3, [r7, #12] + 80153e4: 681b ldr r3, [r3, #0] + 80153e6: 2b00 cmp r3, #0 + 80153e8: d14d bne.n 8015486 { /* The mutex is no longer being held. */ xReturn = xTaskPriorityDisinherit( pxQueue->u.xSemaphore.xMutexHolder ); - 8014a22: 68fb ldr r3, [r7, #12] - 8014a24: 689b ldr r3, [r3, #8] - 8014a26: 4618 mov r0, r3 - 8014a28: f001 fa2c bl 8015e84 - 8014a2c: 6178 str r0, [r7, #20] + 80153ea: 68fb ldr r3, [r7, #12] + 80153ec: 689b ldr r3, [r3, #8] + 80153ee: 4618 mov r0, r3 + 80153f0: f001 fa48 bl 8016884 + 80153f4: 6178 str r0, [r7, #20] pxQueue->u.xSemaphore.xMutexHolder = NULL; - 8014a2e: 68fb ldr r3, [r7, #12] - 8014a30: 2200 movs r2, #0 - 8014a32: 609a str r2, [r3, #8] - 8014a34: e043 b.n 8014abe + 80153f6: 68fb ldr r3, [r7, #12] + 80153f8: 2200 movs r2, #0 + 80153fa: 609a str r2, [r3, #8] + 80153fc: e043 b.n 8015486 mtCOVERAGE_TEST_MARKER(); } } #endif /* configUSE_MUTEXES */ } else if( xPosition == queueSEND_TO_BACK ) - 8014a36: 687b ldr r3, [r7, #4] - 8014a38: 2b00 cmp r3, #0 - 8014a3a: d119 bne.n 8014a70 + 80153fe: 687b ldr r3, [r7, #4] + 8015400: 2b00 cmp r3, #0 + 8015402: d119 bne.n 8015438 { ( void ) memcpy( ( void * ) pxQueue->pcWriteTo, pvItemToQueue, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e418 !e9087 MISRA exception as the casts are only redundant for some ports, plus previous logic ensures a null pointer can only be passed to memcpy() if the copy size is 0. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. */ - 8014a3c: 68fb ldr r3, [r7, #12] - 8014a3e: 6858 ldr r0, [r3, #4] - 8014a40: 68fb ldr r3, [r7, #12] - 8014a42: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014a44: 461a mov r2, r3 - 8014a46: 68b9 ldr r1, [r7, #8] - 8014a48: f005 f8e3 bl 8019c12 + 8015404: 68fb ldr r3, [r7, #12] + 8015406: 6858 ldr r0, [r3, #4] + 8015408: 68fb ldr r3, [r7, #12] + 801540a: 6c1b ldr r3, [r3, #64] @ 0x40 + 801540c: 461a mov r2, r3 + 801540e: 68b9 ldr r1, [r7, #8] + 8015410: f005 f855 bl 801a4be pxQueue->pcWriteTo += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ - 8014a4c: 68fb ldr r3, [r7, #12] - 8014a4e: 685a ldr r2, [r3, #4] - 8014a50: 68fb ldr r3, [r7, #12] - 8014a52: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014a54: 441a add r2, r3 - 8014a56: 68fb ldr r3, [r7, #12] - 8014a58: 605a str r2, [r3, #4] + 8015414: 68fb ldr r3, [r7, #12] + 8015416: 685a ldr r2, [r3, #4] + 8015418: 68fb ldr r3, [r7, #12] + 801541a: 6c1b ldr r3, [r3, #64] @ 0x40 + 801541c: 441a add r2, r3 + 801541e: 68fb ldr r3, [r7, #12] + 8015420: 605a str r2, [r3, #4] if( pxQueue->pcWriteTo >= pxQueue->u.xQueue.pcTail ) /*lint !e946 MISRA exception justified as comparison of pointers is the cleanest solution. */ - 8014a5a: 68fb ldr r3, [r7, #12] - 8014a5c: 685a ldr r2, [r3, #4] - 8014a5e: 68fb ldr r3, [r7, #12] - 8014a60: 689b ldr r3, [r3, #8] - 8014a62: 429a cmp r2, r3 - 8014a64: d32b bcc.n 8014abe + 8015422: 68fb ldr r3, [r7, #12] + 8015424: 685a ldr r2, [r3, #4] + 8015426: 68fb ldr r3, [r7, #12] + 8015428: 689b ldr r3, [r3, #8] + 801542a: 429a cmp r2, r3 + 801542c: d32b bcc.n 8015486 { pxQueue->pcWriteTo = pxQueue->pcHead; - 8014a66: 68fb ldr r3, [r7, #12] - 8014a68: 681a ldr r2, [r3, #0] - 8014a6a: 68fb ldr r3, [r7, #12] - 8014a6c: 605a str r2, [r3, #4] - 8014a6e: e026 b.n 8014abe + 801542e: 68fb ldr r3, [r7, #12] + 8015430: 681a ldr r2, [r3, #0] + 8015432: 68fb ldr r3, [r7, #12] + 8015434: 605a str r2, [r3, #4] + 8015436: e026 b.n 8015486 mtCOVERAGE_TEST_MARKER(); } } else { ( void ) memcpy( ( void * ) pxQueue->u.xQueue.pcReadFrom, pvItemToQueue, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e9087 !e418 MISRA exception as the casts are only redundant for some ports. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. Assert checks null pointer only used when length is 0. */ - 8014a70: 68fb ldr r3, [r7, #12] - 8014a72: 68d8 ldr r0, [r3, #12] - 8014a74: 68fb ldr r3, [r7, #12] - 8014a76: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014a78: 461a mov r2, r3 - 8014a7a: 68b9 ldr r1, [r7, #8] - 8014a7c: f005 f8c9 bl 8019c12 + 8015438: 68fb ldr r3, [r7, #12] + 801543a: 68d8 ldr r0, [r3, #12] + 801543c: 68fb ldr r3, [r7, #12] + 801543e: 6c1b ldr r3, [r3, #64] @ 0x40 + 8015440: 461a mov r2, r3 + 8015442: 68b9 ldr r1, [r7, #8] + 8015444: f005 f83b bl 801a4be pxQueue->u.xQueue.pcReadFrom -= pxQueue->uxItemSize; - 8014a80: 68fb ldr r3, [r7, #12] - 8014a82: 68da ldr r2, [r3, #12] - 8014a84: 68fb ldr r3, [r7, #12] - 8014a86: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014a88: 425b negs r3, r3 - 8014a8a: 441a add r2, r3 - 8014a8c: 68fb ldr r3, [r7, #12] - 8014a8e: 60da str r2, [r3, #12] + 8015448: 68fb ldr r3, [r7, #12] + 801544a: 68da ldr r2, [r3, #12] + 801544c: 68fb ldr r3, [r7, #12] + 801544e: 6c1b ldr r3, [r3, #64] @ 0x40 + 8015450: 425b negs r3, r3 + 8015452: 441a add r2, r3 + 8015454: 68fb ldr r3, [r7, #12] + 8015456: 60da str r2, [r3, #12] if( pxQueue->u.xQueue.pcReadFrom < pxQueue->pcHead ) /*lint !e946 MISRA exception justified as comparison of pointers is the cleanest solution. */ - 8014a90: 68fb ldr r3, [r7, #12] - 8014a92: 68da ldr r2, [r3, #12] - 8014a94: 68fb ldr r3, [r7, #12] - 8014a96: 681b ldr r3, [r3, #0] - 8014a98: 429a cmp r2, r3 - 8014a9a: d207 bcs.n 8014aac + 8015458: 68fb ldr r3, [r7, #12] + 801545a: 68da ldr r2, [r3, #12] + 801545c: 68fb ldr r3, [r7, #12] + 801545e: 681b ldr r3, [r3, #0] + 8015460: 429a cmp r2, r3 + 8015462: d207 bcs.n 8015474 { pxQueue->u.xQueue.pcReadFrom = ( pxQueue->u.xQueue.pcTail - pxQueue->uxItemSize ); - 8014a9c: 68fb ldr r3, [r7, #12] - 8014a9e: 689a ldr r2, [r3, #8] - 8014aa0: 68fb ldr r3, [r7, #12] - 8014aa2: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014aa4: 425b negs r3, r3 - 8014aa6: 441a add r2, r3 - 8014aa8: 68fb ldr r3, [r7, #12] - 8014aaa: 60da str r2, [r3, #12] + 8015464: 68fb ldr r3, [r7, #12] + 8015466: 689a ldr r2, [r3, #8] + 8015468: 68fb ldr r3, [r7, #12] + 801546a: 6c1b ldr r3, [r3, #64] @ 0x40 + 801546c: 425b negs r3, r3 + 801546e: 441a add r2, r3 + 8015470: 68fb ldr r3, [r7, #12] + 8015472: 60da str r2, [r3, #12] else { mtCOVERAGE_TEST_MARKER(); } if( xPosition == queueOVERWRITE ) - 8014aac: 687b ldr r3, [r7, #4] - 8014aae: 2b02 cmp r3, #2 - 8014ab0: d105 bne.n 8014abe + 8015474: 687b ldr r3, [r7, #4] + 8015476: 2b02 cmp r3, #2 + 8015478: d105 bne.n 8015486 { if( uxMessagesWaiting > ( UBaseType_t ) 0 ) - 8014ab2: 693b ldr r3, [r7, #16] - 8014ab4: 2b00 cmp r3, #0 - 8014ab6: d002 beq.n 8014abe + 801547a: 693b ldr r3, [r7, #16] + 801547c: 2b00 cmp r3, #0 + 801547e: d002 beq.n 8015486 { /* An item is not being added but overwritten, so subtract * one from the recorded number of items in the queue so when * one is added again below the number of recorded items remains * correct. */ --uxMessagesWaiting; - 8014ab8: 693b ldr r3, [r7, #16] - 8014aba: 3b01 subs r3, #1 - 8014abc: 613b str r3, [r7, #16] + 8015480: 693b ldr r3, [r7, #16] + 8015482: 3b01 subs r3, #1 + 8015484: 613b str r3, [r7, #16] { mtCOVERAGE_TEST_MARKER(); } } pxQueue->uxMessagesWaiting = uxMessagesWaiting + ( UBaseType_t ) 1; - 8014abe: 693b ldr r3, [r7, #16] - 8014ac0: 1c5a adds r2, r3, #1 - 8014ac2: 68fb ldr r3, [r7, #12] - 8014ac4: 639a str r2, [r3, #56] @ 0x38 + 8015486: 693b ldr r3, [r7, #16] + 8015488: 1c5a adds r2, r3, #1 + 801548a: 68fb ldr r3, [r7, #12] + 801548c: 639a str r2, [r3, #56] @ 0x38 return xReturn; - 8014ac6: 697b ldr r3, [r7, #20] + 801548e: 697b ldr r3, [r7, #20] } - 8014ac8: 4618 mov r0, r3 - 8014aca: 3718 adds r7, #24 - 8014acc: 46bd mov sp, r7 - 8014ace: bd80 pop {r7, pc} + 8015490: 4618 mov r0, r3 + 8015492: 3718 adds r7, #24 + 8015494: 46bd mov sp, r7 + 8015496: bd80 pop {r7, pc} -08014ad0 : +08015498 : /*-----------------------------------------------------------*/ static void prvCopyDataFromQueue( Queue_t * const pxQueue, void * const pvBuffer ) { - 8014ad0: b580 push {r7, lr} - 8014ad2: b082 sub sp, #8 - 8014ad4: af00 add r7, sp, #0 - 8014ad6: 6078 str r0, [r7, #4] - 8014ad8: 6039 str r1, [r7, #0] + 8015498: b580 push {r7, lr} + 801549a: b082 sub sp, #8 + 801549c: af00 add r7, sp, #0 + 801549e: 6078 str r0, [r7, #4] + 80154a0: 6039 str r1, [r7, #0] if( pxQueue->uxItemSize != ( UBaseType_t ) 0 ) - 8014ada: 687b ldr r3, [r7, #4] - 8014adc: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014ade: 2b00 cmp r3, #0 - 8014ae0: d018 beq.n 8014b14 + 80154a2: 687b ldr r3, [r7, #4] + 80154a4: 6c1b ldr r3, [r3, #64] @ 0x40 + 80154a6: 2b00 cmp r3, #0 + 80154a8: d018 beq.n 80154dc { pxQueue->u.xQueue.pcReadFrom += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ - 8014ae2: 687b ldr r3, [r7, #4] - 8014ae4: 68da ldr r2, [r3, #12] - 8014ae6: 687b ldr r3, [r7, #4] - 8014ae8: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014aea: 441a add r2, r3 - 8014aec: 687b ldr r3, [r7, #4] - 8014aee: 60da str r2, [r3, #12] + 80154aa: 687b ldr r3, [r7, #4] + 80154ac: 68da ldr r2, [r3, #12] + 80154ae: 687b ldr r3, [r7, #4] + 80154b0: 6c1b ldr r3, [r3, #64] @ 0x40 + 80154b2: 441a add r2, r3 + 80154b4: 687b ldr r3, [r7, #4] + 80154b6: 60da str r2, [r3, #12] if( pxQueue->u.xQueue.pcReadFrom >= pxQueue->u.xQueue.pcTail ) /*lint !e946 MISRA exception justified as use of the relational operator is the cleanest solutions. */ - 8014af0: 687b ldr r3, [r7, #4] - 8014af2: 68da ldr r2, [r3, #12] - 8014af4: 687b ldr r3, [r7, #4] - 8014af6: 689b ldr r3, [r3, #8] - 8014af8: 429a cmp r2, r3 - 8014afa: d303 bcc.n 8014b04 + 80154b8: 687b ldr r3, [r7, #4] + 80154ba: 68da ldr r2, [r3, #12] + 80154bc: 687b ldr r3, [r7, #4] + 80154be: 689b ldr r3, [r3, #8] + 80154c0: 429a cmp r2, r3 + 80154c2: d303 bcc.n 80154cc { pxQueue->u.xQueue.pcReadFrom = pxQueue->pcHead; - 8014afc: 687b ldr r3, [r7, #4] - 8014afe: 681a ldr r2, [r3, #0] - 8014b00: 687b ldr r3, [r7, #4] - 8014b02: 60da str r2, [r3, #12] + 80154c4: 687b ldr r3, [r7, #4] + 80154c6: 681a ldr r2, [r3, #0] + 80154c8: 687b ldr r3, [r7, #4] + 80154ca: 60da str r2, [r3, #12] else { mtCOVERAGE_TEST_MARKER(); } ( void ) memcpy( ( void * ) pvBuffer, ( void * ) pxQueue->u.xQueue.pcReadFrom, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e418 !e9087 MISRA exception as the casts are only redundant for some ports. Also previous logic ensures a null pointer can only be passed to memcpy() when the count is 0. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. */ - 8014b04: 687b ldr r3, [r7, #4] - 8014b06: 68d9 ldr r1, [r3, #12] - 8014b08: 687b ldr r3, [r7, #4] - 8014b0a: 6c1b ldr r3, [r3, #64] @ 0x40 - 8014b0c: 461a mov r2, r3 - 8014b0e: 6838 ldr r0, [r7, #0] - 8014b10: f005 f87f bl 8019c12 + 80154cc: 687b ldr r3, [r7, #4] + 80154ce: 68d9 ldr r1, [r3, #12] + 80154d0: 687b ldr r3, [r7, #4] + 80154d2: 6c1b ldr r3, [r3, #64] @ 0x40 + 80154d4: 461a mov r2, r3 + 80154d6: 6838 ldr r0, [r7, #0] + 80154d8: f004 fff1 bl 801a4be } } - 8014b14: bf00 nop - 8014b16: 3708 adds r7, #8 - 8014b18: 46bd mov sp, r7 - 8014b1a: bd80 pop {r7, pc} + 80154dc: bf00 nop + 80154de: 3708 adds r7, #8 + 80154e0: 46bd mov sp, r7 + 80154e2: bd80 pop {r7, pc} -08014b1c : +080154e4 : /*-----------------------------------------------------------*/ static void prvUnlockQueue( Queue_t * const pxQueue ) { - 8014b1c: b580 push {r7, lr} - 8014b1e: b084 sub sp, #16 - 8014b20: af00 add r7, sp, #0 - 8014b22: 6078 str r0, [r7, #4] + 80154e4: b580 push {r7, lr} + 80154e6: b084 sub sp, #16 + 80154e8: af00 add r7, sp, #0 + 80154ea: 6078 str r0, [r7, #4] /* The lock counts contains the number of extra data items placed or * removed from the queue while the queue was locked. When a queue is * locked items can be added or removed, but the event lists cannot be * updated. */ taskENTER_CRITICAL(); - 8014b24: f002 fc1c bl 8017360 + 80154ec: f002 fc20 bl 8017d30 { int8_t cTxLock = pxQueue->cTxLock; - 8014b28: 687b ldr r3, [r7, #4] - 8014b2a: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 - 8014b2e: 73fb strb r3, [r7, #15] + 80154f0: 687b ldr r3, [r7, #4] + 80154f2: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 + 80154f6: 73fb strb r3, [r7, #15] /* See if data was added to the queue while it was locked. */ while( cTxLock > queueLOCKED_UNMODIFIED ) - 8014b30: e011 b.n 8014b56 + 80154f8: e011 b.n 801551e } #else /* configUSE_QUEUE_SETS */ { /* Tasks that are removed from the event list will get added to * the pending ready list as the scheduler is still suspended. */ if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) - 8014b32: 687b ldr r3, [r7, #4] - 8014b34: 6a5b ldr r3, [r3, #36] @ 0x24 - 8014b36: 2b00 cmp r3, #0 - 8014b38: d012 beq.n 8014b60 + 80154fa: 687b ldr r3, [r7, #4] + 80154fc: 6a5b ldr r3, [r3, #36] @ 0x24 + 80154fe: 2b00 cmp r3, #0 + 8015500: d012 beq.n 8015528 { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) - 8014b3a: 687b ldr r3, [r7, #4] - 8014b3c: 3324 adds r3, #36 @ 0x24 - 8014b3e: 4618 mov r0, r3 - 8014b40: f000 feae bl 80158a0 - 8014b44: 4603 mov r3, r0 - 8014b46: 2b00 cmp r3, #0 - 8014b48: d001 beq.n 8014b4e + 8015502: 687b ldr r3, [r7, #4] + 8015504: 3324 adds r3, #36 @ 0x24 + 8015506: 4618 mov r0, r3 + 8015508: f000 fec2 bl 8016290 + 801550c: 4603 mov r3, r0 + 801550e: 2b00 cmp r3, #0 + 8015510: d001 beq.n 8015516 { /* The task waiting has a higher priority so record that * a context switch is required. */ vTaskMissedYield(); - 8014b4a: f000 ffff bl 8015b4c + 8015512: f001 f813 bl 801653c break; } } #endif /* configUSE_QUEUE_SETS */ --cTxLock; - 8014b4e: 7bfb ldrb r3, [r7, #15] - 8014b50: 3b01 subs r3, #1 - 8014b52: b2db uxtb r3, r3 - 8014b54: 73fb strb r3, [r7, #15] + 8015516: 7bfb ldrb r3, [r7, #15] + 8015518: 3b01 subs r3, #1 + 801551a: b2db uxtb r3, r3 + 801551c: 73fb strb r3, [r7, #15] while( cTxLock > queueLOCKED_UNMODIFIED ) - 8014b56: f997 300f ldrsb.w r3, [r7, #15] - 8014b5a: 2b00 cmp r3, #0 - 8014b5c: dce9 bgt.n 8014b32 - 8014b5e: e000 b.n 8014b62 + 801551e: f997 300f ldrsb.w r3, [r7, #15] + 8015522: 2b00 cmp r3, #0 + 8015524: dce9 bgt.n 80154fa + 8015526: e000 b.n 801552a break; - 8014b60: bf00 nop + 8015528: bf00 nop } pxQueue->cTxLock = queueUNLOCKED; - 8014b62: 687b ldr r3, [r7, #4] - 8014b64: 22ff movs r2, #255 @ 0xff - 8014b66: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 801552a: 687b ldr r3, [r7, #4] + 801552c: 22ff movs r2, #255 @ 0xff + 801552e: f883 2045 strb.w r2, [r3, #69] @ 0x45 } taskEXIT_CRITICAL(); - 8014b6a: f002 fc2b bl 80173c4 + 8015532: f002 fc2f bl 8017d94 /* Do the same for the Rx lock. */ taskENTER_CRITICAL(); - 8014b6e: f002 fbf7 bl 8017360 + 8015536: f002 fbfb bl 8017d30 { int8_t cRxLock = pxQueue->cRxLock; - 8014b72: 687b ldr r3, [r7, #4] - 8014b74: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 - 8014b78: 73bb strb r3, [r7, #14] + 801553a: 687b ldr r3, [r7, #4] + 801553c: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 + 8015540: 73bb strb r3, [r7, #14] while( cRxLock > queueLOCKED_UNMODIFIED ) - 8014b7a: e011 b.n 8014ba0 + 8015542: e011 b.n 8015568 { if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) - 8014b7c: 687b ldr r3, [r7, #4] - 8014b7e: 691b ldr r3, [r3, #16] - 8014b80: 2b00 cmp r3, #0 - 8014b82: d012 beq.n 8014baa + 8015544: 687b ldr r3, [r7, #4] + 8015546: 691b ldr r3, [r3, #16] + 8015548: 2b00 cmp r3, #0 + 801554a: d012 beq.n 8015572 { if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 8014b84: 687b ldr r3, [r7, #4] - 8014b86: 3310 adds r3, #16 - 8014b88: 4618 mov r0, r3 - 8014b8a: f000 fe89 bl 80158a0 - 8014b8e: 4603 mov r3, r0 - 8014b90: 2b00 cmp r3, #0 - 8014b92: d001 beq.n 8014b98 + 801554c: 687b ldr r3, [r7, #4] + 801554e: 3310 adds r3, #16 + 8015550: 4618 mov r0, r3 + 8015552: f000 fe9d bl 8016290 + 8015556: 4603 mov r3, r0 + 8015558: 2b00 cmp r3, #0 + 801555a: d001 beq.n 8015560 { vTaskMissedYield(); - 8014b94: f000 ffda bl 8015b4c + 801555c: f000 ffee bl 801653c else { mtCOVERAGE_TEST_MARKER(); } --cRxLock; - 8014b98: 7bbb ldrb r3, [r7, #14] - 8014b9a: 3b01 subs r3, #1 - 8014b9c: b2db uxtb r3, r3 - 8014b9e: 73bb strb r3, [r7, #14] + 8015560: 7bbb ldrb r3, [r7, #14] + 8015562: 3b01 subs r3, #1 + 8015564: b2db uxtb r3, r3 + 8015566: 73bb strb r3, [r7, #14] while( cRxLock > queueLOCKED_UNMODIFIED ) - 8014ba0: f997 300e ldrsb.w r3, [r7, #14] - 8014ba4: 2b00 cmp r3, #0 - 8014ba6: dce9 bgt.n 8014b7c - 8014ba8: e000 b.n 8014bac + 8015568: f997 300e ldrsb.w r3, [r7, #14] + 801556c: 2b00 cmp r3, #0 + 801556e: dce9 bgt.n 8015544 + 8015570: e000 b.n 8015574 } else { break; - 8014baa: bf00 nop + 8015572: bf00 nop } } pxQueue->cRxLock = queueUNLOCKED; - 8014bac: 687b ldr r3, [r7, #4] - 8014bae: 22ff movs r2, #255 @ 0xff - 8014bb0: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 8015574: 687b ldr r3, [r7, #4] + 8015576: 22ff movs r2, #255 @ 0xff + 8015578: f883 2044 strb.w r2, [r3, #68] @ 0x44 } taskEXIT_CRITICAL(); - 8014bb4: f002 fc06 bl 80173c4 + 801557c: f002 fc0a bl 8017d94 } - 8014bb8: bf00 nop - 8014bba: 3710 adds r7, #16 - 8014bbc: 46bd mov sp, r7 - 8014bbe: bd80 pop {r7, pc} + 8015580: bf00 nop + 8015582: 3710 adds r7, #16 + 8015584: 46bd mov sp, r7 + 8015586: bd80 pop {r7, pc} -08014bc0 : +08015588 : /*-----------------------------------------------------------*/ static BaseType_t prvIsQueueEmpty( const Queue_t * pxQueue ) { - 8014bc0: b580 push {r7, lr} - 8014bc2: b084 sub sp, #16 - 8014bc4: af00 add r7, sp, #0 - 8014bc6: 6078 str r0, [r7, #4] + 8015588: b580 push {r7, lr} + 801558a: b084 sub sp, #16 + 801558c: af00 add r7, sp, #0 + 801558e: 6078 str r0, [r7, #4] BaseType_t xReturn; taskENTER_CRITICAL(); - 8014bc8: f002 fbca bl 8017360 + 8015590: f002 fbce bl 8017d30 { if( pxQueue->uxMessagesWaiting == ( UBaseType_t ) 0 ) - 8014bcc: 687b ldr r3, [r7, #4] - 8014bce: 6b9b ldr r3, [r3, #56] @ 0x38 - 8014bd0: 2b00 cmp r3, #0 - 8014bd2: d102 bne.n 8014bda + 8015594: 687b ldr r3, [r7, #4] + 8015596: 6b9b ldr r3, [r3, #56] @ 0x38 + 8015598: 2b00 cmp r3, #0 + 801559a: d102 bne.n 80155a2 { xReturn = pdTRUE; - 8014bd4: 2301 movs r3, #1 - 8014bd6: 60fb str r3, [r7, #12] - 8014bd8: e001 b.n 8014bde + 801559c: 2301 movs r3, #1 + 801559e: 60fb str r3, [r7, #12] + 80155a0: e001 b.n 80155a6 } else { xReturn = pdFALSE; - 8014bda: 2300 movs r3, #0 - 8014bdc: 60fb str r3, [r7, #12] + 80155a2: 2300 movs r3, #0 + 80155a4: 60fb str r3, [r7, #12] } } taskEXIT_CRITICAL(); - 8014bde: f002 fbf1 bl 80173c4 + 80155a6: f002 fbf5 bl 8017d94 return xReturn; - 8014be2: 68fb ldr r3, [r7, #12] + 80155aa: 68fb ldr r3, [r7, #12] } - 8014be4: 4618 mov r0, r3 - 8014be6: 3710 adds r7, #16 - 8014be8: 46bd mov sp, r7 - 8014bea: bd80 pop {r7, pc} + 80155ac: 4618 mov r0, r3 + 80155ae: 3710 adds r7, #16 + 80155b0: 46bd mov sp, r7 + 80155b2: bd80 pop {r7, pc} -08014bec : +080155b4 : return xReturn; } /*lint !e818 xQueue could not be pointer to const because it is a typedef. */ /*-----------------------------------------------------------*/ static BaseType_t prvIsQueueFull( const Queue_t * pxQueue ) { - 8014bec: b580 push {r7, lr} - 8014bee: b084 sub sp, #16 - 8014bf0: af00 add r7, sp, #0 - 8014bf2: 6078 str r0, [r7, #4] + 80155b4: b580 push {r7, lr} + 80155b6: b084 sub sp, #16 + 80155b8: af00 add r7, sp, #0 + 80155ba: 6078 str r0, [r7, #4] BaseType_t xReturn; taskENTER_CRITICAL(); - 8014bf4: f002 fbb4 bl 8017360 + 80155bc: f002 fbb8 bl 8017d30 { if( pxQueue->uxMessagesWaiting == pxQueue->uxLength ) - 8014bf8: 687b ldr r3, [r7, #4] - 8014bfa: 6b9a ldr r2, [r3, #56] @ 0x38 - 8014bfc: 687b ldr r3, [r7, #4] - 8014bfe: 6bdb ldr r3, [r3, #60] @ 0x3c - 8014c00: 429a cmp r2, r3 - 8014c02: d102 bne.n 8014c0a + 80155c0: 687b ldr r3, [r7, #4] + 80155c2: 6b9a ldr r2, [r3, #56] @ 0x38 + 80155c4: 687b ldr r3, [r7, #4] + 80155c6: 6bdb ldr r3, [r3, #60] @ 0x3c + 80155c8: 429a cmp r2, r3 + 80155ca: d102 bne.n 80155d2 { xReturn = pdTRUE; - 8014c04: 2301 movs r3, #1 - 8014c06: 60fb str r3, [r7, #12] - 8014c08: e001 b.n 8014c0e + 80155cc: 2301 movs r3, #1 + 80155ce: 60fb str r3, [r7, #12] + 80155d0: e001 b.n 80155d6 } else { xReturn = pdFALSE; - 8014c0a: 2300 movs r3, #0 - 8014c0c: 60fb str r3, [r7, #12] + 80155d2: 2300 movs r3, #0 + 80155d4: 60fb str r3, [r7, #12] } } taskEXIT_CRITICAL(); - 8014c0e: f002 fbd9 bl 80173c4 + 80155d6: f002 fbdd bl 8017d94 return xReturn; - 8014c12: 68fb ldr r3, [r7, #12] + 80155da: 68fb ldr r3, [r7, #12] } - 8014c14: 4618 mov r0, r3 - 8014c16: 3710 adds r7, #16 - 8014c18: 46bd mov sp, r7 - 8014c1a: bd80 pop {r7, pc} + 80155dc: 4618 mov r0, r3 + 80155de: 3710 adds r7, #16 + 80155e0: 46bd mov sp, r7 + 80155e2: bd80 pop {r7, pc} -08014c1c : +080155e4 : #if ( configQUEUE_REGISTRY_SIZE > 0 ) void vQueueAddToRegistry( QueueHandle_t xQueue, const char * pcQueueName ) /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ { - 8014c1c: b480 push {r7} - 8014c1e: b087 sub sp, #28 - 8014c20: af00 add r7, sp, #0 - 8014c22: 6078 str r0, [r7, #4] - 8014c24: 6039 str r1, [r7, #0] + 80155e4: b480 push {r7} + 80155e6: b087 sub sp, #28 + 80155e8: af00 add r7, sp, #0 + 80155ea: 6078 str r0, [r7, #4] + 80155ec: 6039 str r1, [r7, #0] UBaseType_t ux; QueueRegistryItem_t * pxEntryToWrite = NULL; - 8014c26: 2300 movs r3, #0 - 8014c28: 613b str r3, [r7, #16] + 80155ee: 2300 movs r3, #0 + 80155f0: 613b str r3, [r7, #16] configASSERT( xQueue ); - 8014c2a: 687b ldr r3, [r7, #4] - 8014c2c: 2b00 cmp r3, #0 - 8014c2e: d10b bne.n 8014c48 + 80155f2: 687b ldr r3, [r7, #4] + 80155f4: 2b00 cmp r3, #0 + 80155f6: d10b bne.n 8015610 __asm volatile - 8014c30: f04f 0350 mov.w r3, #80 @ 0x50 - 8014c34: f383 8811 msr BASEPRI, r3 - 8014c38: f3bf 8f6f isb sy - 8014c3c: f3bf 8f4f dsb sy - 8014c40: 60fb str r3, [r7, #12] + 80155f8: f04f 0350 mov.w r3, #80 @ 0x50 + 80155fc: f383 8811 msr BASEPRI, r3 + 8015600: f3bf 8f6f isb sy + 8015604: f3bf 8f4f dsb sy + 8015608: 60fb str r3, [r7, #12] } - 8014c42: bf00 nop - 8014c44: bf00 nop - 8014c46: e7fd b.n 8014c44 + 801560a: bf00 nop + 801560c: bf00 nop + 801560e: e7fd b.n 801560c if( pcQueueName != NULL ) - 8014c48: 683b ldr r3, [r7, #0] - 8014c4a: 2b00 cmp r3, #0 - 8014c4c: d024 beq.n 8014c98 + 8015610: 683b ldr r3, [r7, #0] + 8015612: 2b00 cmp r3, #0 + 8015614: d024 beq.n 8015660 { /* See if there is an empty space in the registry. A NULL name denotes * a free slot. */ for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) - 8014c4e: 2300 movs r3, #0 - 8014c50: 617b str r3, [r7, #20] - 8014c52: e01e b.n 8014c92 + 8015616: 2300 movs r3, #0 + 8015618: 617b str r3, [r7, #20] + 801561a: e01e b.n 801565a { /* Replace an existing entry if the queue is already in the registry. */ if( xQueue == xQueueRegistry[ ux ].xHandle ) - 8014c54: 4a18 ldr r2, [pc, #96] @ (8014cb8 ) - 8014c56: 697b ldr r3, [r7, #20] - 8014c58: 00db lsls r3, r3, #3 - 8014c5a: 4413 add r3, r2 - 8014c5c: 685b ldr r3, [r3, #4] - 8014c5e: 687a ldr r2, [r7, #4] - 8014c60: 429a cmp r2, r3 - 8014c62: d105 bne.n 8014c70 + 801561c: 4a18 ldr r2, [pc, #96] @ (8015680 ) + 801561e: 697b ldr r3, [r7, #20] + 8015620: 00db lsls r3, r3, #3 + 8015622: 4413 add r3, r2 + 8015624: 685b ldr r3, [r3, #4] + 8015626: 687a ldr r2, [r7, #4] + 8015628: 429a cmp r2, r3 + 801562a: d105 bne.n 8015638 { pxEntryToWrite = &( xQueueRegistry[ ux ] ); - 8014c64: 697b ldr r3, [r7, #20] - 8014c66: 00db lsls r3, r3, #3 - 8014c68: 4a13 ldr r2, [pc, #76] @ (8014cb8 ) - 8014c6a: 4413 add r3, r2 - 8014c6c: 613b str r3, [r7, #16] + 801562c: 697b ldr r3, [r7, #20] + 801562e: 00db lsls r3, r3, #3 + 8015630: 4a13 ldr r2, [pc, #76] @ (8015680 ) + 8015632: 4413 add r3, r2 + 8015634: 613b str r3, [r7, #16] break; - 8014c6e: e013 b.n 8014c98 + 8015636: e013 b.n 8015660 } /* Otherwise, store in the next empty location */ else if( ( pxEntryToWrite == NULL ) && ( xQueueRegistry[ ux ].pcQueueName == NULL ) ) - 8014c70: 693b ldr r3, [r7, #16] - 8014c72: 2b00 cmp r3, #0 - 8014c74: d10a bne.n 8014c8c - 8014c76: 4a10 ldr r2, [pc, #64] @ (8014cb8 ) - 8014c78: 697b ldr r3, [r7, #20] - 8014c7a: f852 3033 ldr.w r3, [r2, r3, lsl #3] - 8014c7e: 2b00 cmp r3, #0 - 8014c80: d104 bne.n 8014c8c + 8015638: 693b ldr r3, [r7, #16] + 801563a: 2b00 cmp r3, #0 + 801563c: d10a bne.n 8015654 + 801563e: 4a10 ldr r2, [pc, #64] @ (8015680 ) + 8015640: 697b ldr r3, [r7, #20] + 8015642: f852 3033 ldr.w r3, [r2, r3, lsl #3] + 8015646: 2b00 cmp r3, #0 + 8015648: d104 bne.n 8015654 { pxEntryToWrite = &( xQueueRegistry[ ux ] ); - 8014c82: 697b ldr r3, [r7, #20] - 8014c84: 00db lsls r3, r3, #3 - 8014c86: 4a0c ldr r2, [pc, #48] @ (8014cb8 ) - 8014c88: 4413 add r3, r2 - 8014c8a: 613b str r3, [r7, #16] + 801564a: 697b ldr r3, [r7, #20] + 801564c: 00db lsls r3, r3, #3 + 801564e: 4a0c ldr r2, [pc, #48] @ (8015680 ) + 8015650: 4413 add r3, r2 + 8015652: 613b str r3, [r7, #16] for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) - 8014c8c: 697b ldr r3, [r7, #20] - 8014c8e: 3301 adds r3, #1 - 8014c90: 617b str r3, [r7, #20] - 8014c92: 697b ldr r3, [r7, #20] - 8014c94: 2b07 cmp r3, #7 - 8014c96: d9dd bls.n 8014c54 + 8015654: 697b ldr r3, [r7, #20] + 8015656: 3301 adds r3, #1 + 8015658: 617b str r3, [r7, #20] + 801565a: 697b ldr r3, [r7, #20] + 801565c: 2b07 cmp r3, #7 + 801565e: d9dd bls.n 801561c mtCOVERAGE_TEST_MARKER(); } } } if( pxEntryToWrite != NULL ) - 8014c98: 693b ldr r3, [r7, #16] - 8014c9a: 2b00 cmp r3, #0 - 8014c9c: d005 beq.n 8014caa + 8015660: 693b ldr r3, [r7, #16] + 8015662: 2b00 cmp r3, #0 + 8015664: d005 beq.n 8015672 { /* Store the information on this queue. */ pxEntryToWrite->pcQueueName = pcQueueName; - 8014c9e: 693b ldr r3, [r7, #16] - 8014ca0: 683a ldr r2, [r7, #0] - 8014ca2: 601a str r2, [r3, #0] + 8015666: 693b ldr r3, [r7, #16] + 8015668: 683a ldr r2, [r7, #0] + 801566a: 601a str r2, [r3, #0] pxEntryToWrite->xHandle = xQueue; - 8014ca4: 693b ldr r3, [r7, #16] - 8014ca6: 687a ldr r2, [r7, #4] - 8014ca8: 605a str r2, [r3, #4] + 801566c: 693b ldr r3, [r7, #16] + 801566e: 687a ldr r2, [r7, #4] + 8015670: 605a str r2, [r3, #4] traceQUEUE_REGISTRY_ADD( xQueue, pcQueueName ); } } - 8014caa: bf00 nop - 8014cac: 371c adds r7, #28 - 8014cae: 46bd mov sp, r7 - 8014cb0: f85d 7b04 ldr.w r7, [sp], #4 - 8014cb4: 4770 bx lr - 8014cb6: bf00 nop - 8014cb8: 20002088 .word 0x20002088 + 8015672: bf00 nop + 8015674: 371c adds r7, #28 + 8015676: 46bd mov sp, r7 + 8015678: f85d 7b04 ldr.w r7, [sp], #4 + 801567c: 4770 bx lr + 801567e: bf00 nop + 8015680: 20002128 .word 0x20002128 -08014cbc : +08015684 : /*-----------------------------------------------------------*/ #if ( configQUEUE_REGISTRY_SIZE > 0 ) void vQueueUnregisterQueue( QueueHandle_t xQueue ) { - 8014cbc: b480 push {r7} - 8014cbe: b085 sub sp, #20 - 8014cc0: af00 add r7, sp, #0 - 8014cc2: 6078 str r0, [r7, #4] + 8015684: b480 push {r7} + 8015686: b085 sub sp, #20 + 8015688: af00 add r7, sp, #0 + 801568a: 6078 str r0, [r7, #4] UBaseType_t ux; configASSERT( xQueue ); - 8014cc4: 687b ldr r3, [r7, #4] - 8014cc6: 2b00 cmp r3, #0 - 8014cc8: d10b bne.n 8014ce2 + 801568c: 687b ldr r3, [r7, #4] + 801568e: 2b00 cmp r3, #0 + 8015690: d10b bne.n 80156aa __asm volatile - 8014cca: f04f 0350 mov.w r3, #80 @ 0x50 - 8014cce: f383 8811 msr BASEPRI, r3 - 8014cd2: f3bf 8f6f isb sy - 8014cd6: f3bf 8f4f dsb sy - 8014cda: 60bb str r3, [r7, #8] + 8015692: f04f 0350 mov.w r3, #80 @ 0x50 + 8015696: f383 8811 msr BASEPRI, r3 + 801569a: f3bf 8f6f isb sy + 801569e: f3bf 8f4f dsb sy + 80156a2: 60bb str r3, [r7, #8] } - 8014cdc: bf00 nop - 8014cde: bf00 nop - 8014ce0: e7fd b.n 8014cde + 80156a4: bf00 nop + 80156a6: bf00 nop + 80156a8: e7fd b.n 80156a6 /* See if the handle of the queue being unregistered in actually in the * registry. */ for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) - 8014ce2: 2300 movs r3, #0 - 8014ce4: 60fb str r3, [r7, #12] - 8014ce6: e016 b.n 8014d16 + 80156aa: 2300 movs r3, #0 + 80156ac: 60fb str r3, [r7, #12] + 80156ae: e016 b.n 80156de { if( xQueueRegistry[ ux ].xHandle == xQueue ) - 8014ce8: 4a10 ldr r2, [pc, #64] @ (8014d2c ) - 8014cea: 68fb ldr r3, [r7, #12] - 8014cec: 00db lsls r3, r3, #3 - 8014cee: 4413 add r3, r2 - 8014cf0: 685b ldr r3, [r3, #4] - 8014cf2: 687a ldr r2, [r7, #4] - 8014cf4: 429a cmp r2, r3 - 8014cf6: d10b bne.n 8014d10 + 80156b0: 4a10 ldr r2, [pc, #64] @ (80156f4 ) + 80156b2: 68fb ldr r3, [r7, #12] + 80156b4: 00db lsls r3, r3, #3 + 80156b6: 4413 add r3, r2 + 80156b8: 685b ldr r3, [r3, #4] + 80156ba: 687a ldr r2, [r7, #4] + 80156bc: 429a cmp r2, r3 + 80156be: d10b bne.n 80156d8 { /* Set the name to NULL to show that this slot if free again. */ xQueueRegistry[ ux ].pcQueueName = NULL; - 8014cf8: 4a0c ldr r2, [pc, #48] @ (8014d2c ) - 8014cfa: 68fb ldr r3, [r7, #12] - 8014cfc: 2100 movs r1, #0 - 8014cfe: f842 1033 str.w r1, [r2, r3, lsl #3] + 80156c0: 4a0c ldr r2, [pc, #48] @ (80156f4 ) + 80156c2: 68fb ldr r3, [r7, #12] + 80156c4: 2100 movs r1, #0 + 80156c6: f842 1033 str.w r1, [r2, r3, lsl #3] /* Set the handle to NULL to ensure the same queue handle cannot * appear in the registry twice if it is added, removed, then * added again. */ xQueueRegistry[ ux ].xHandle = ( QueueHandle_t ) 0; - 8014d02: 4a0a ldr r2, [pc, #40] @ (8014d2c ) - 8014d04: 68fb ldr r3, [r7, #12] - 8014d06: 00db lsls r3, r3, #3 - 8014d08: 4413 add r3, r2 - 8014d0a: 2200 movs r2, #0 - 8014d0c: 605a str r2, [r3, #4] + 80156ca: 4a0a ldr r2, [pc, #40] @ (80156f4 ) + 80156cc: 68fb ldr r3, [r7, #12] + 80156ce: 00db lsls r3, r3, #3 + 80156d0: 4413 add r3, r2 + 80156d2: 2200 movs r2, #0 + 80156d4: 605a str r2, [r3, #4] break; - 8014d0e: e006 b.n 8014d1e + 80156d6: e006 b.n 80156e6 for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) - 8014d10: 68fb ldr r3, [r7, #12] - 8014d12: 3301 adds r3, #1 - 8014d14: 60fb str r3, [r7, #12] - 8014d16: 68fb ldr r3, [r7, #12] - 8014d18: 2b07 cmp r3, #7 - 8014d1a: d9e5 bls.n 8014ce8 + 80156d8: 68fb ldr r3, [r7, #12] + 80156da: 3301 adds r3, #1 + 80156dc: 60fb str r3, [r7, #12] + 80156de: 68fb ldr r3, [r7, #12] + 80156e0: 2b07 cmp r3, #7 + 80156e2: d9e5 bls.n 80156b0 else { mtCOVERAGE_TEST_MARKER(); } } } /*lint !e818 xQueue could not be pointer to const because it is a typedef. */ - 8014d1c: bf00 nop - 8014d1e: bf00 nop - 8014d20: 3714 adds r7, #20 - 8014d22: 46bd mov sp, r7 - 8014d24: f85d 7b04 ldr.w r7, [sp], #4 - 8014d28: 4770 bx lr - 8014d2a: bf00 nop - 8014d2c: 20002088 .word 0x20002088 + 80156e4: bf00 nop + 80156e6: bf00 nop + 80156e8: 3714 adds r7, #20 + 80156ea: 46bd mov sp, r7 + 80156ec: f85d 7b04 ldr.w r7, [sp], #4 + 80156f0: 4770 bx lr + 80156f2: bf00 nop + 80156f4: 20002128 .word 0x20002128 -08014d30 : +080156f8 : #if ( configUSE_TIMERS == 1 ) void vQueueWaitForMessageRestricted( QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely ) { - 8014d30: b580 push {r7, lr} - 8014d32: b086 sub sp, #24 - 8014d34: af00 add r7, sp, #0 - 8014d36: 60f8 str r0, [r7, #12] - 8014d38: 60b9 str r1, [r7, #8] - 8014d3a: 607a str r2, [r7, #4] + 80156f8: b580 push {r7, lr} + 80156fa: b086 sub sp, #24 + 80156fc: af00 add r7, sp, #0 + 80156fe: 60f8 str r0, [r7, #12] + 8015700: 60b9 str r1, [r7, #8] + 8015702: 607a str r2, [r7, #4] Queue_t * const pxQueue = xQueue; - 8014d3c: 68fb ldr r3, [r7, #12] - 8014d3e: 617b str r3, [r7, #20] + 8015704: 68fb ldr r3, [r7, #12] + 8015706: 617b str r3, [r7, #20] * will not actually cause the task to block, just place it on a blocked * list. It will not block until the scheduler is unlocked - at which * time a yield will be performed. If an item is added to the queue while * the queue is locked, and the calling task blocks on the queue, then the * calling task will be immediately unblocked when the queue is unlocked. */ prvLockQueue( pxQueue ); - 8014d40: f002 fb0e bl 8017360 - 8014d44: 697b ldr r3, [r7, #20] - 8014d46: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 - 8014d4a: b25b sxtb r3, r3 - 8014d4c: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8014d50: d103 bne.n 8014d5a - 8014d52: 697b ldr r3, [r7, #20] - 8014d54: 2200 movs r2, #0 - 8014d56: f883 2044 strb.w r2, [r3, #68] @ 0x44 - 8014d5a: 697b ldr r3, [r7, #20] - 8014d5c: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 - 8014d60: b25b sxtb r3, r3 - 8014d62: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8014d66: d103 bne.n 8014d70 - 8014d68: 697b ldr r3, [r7, #20] - 8014d6a: 2200 movs r2, #0 - 8014d6c: f883 2045 strb.w r2, [r3, #69] @ 0x45 - 8014d70: f002 fb28 bl 80173c4 + 8015708: f002 fb12 bl 8017d30 + 801570c: 697b ldr r3, [r7, #20] + 801570e: f893 3044 ldrb.w r3, [r3, #68] @ 0x44 + 8015712: b25b sxtb r3, r3 + 8015714: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8015718: d103 bne.n 8015722 + 801571a: 697b ldr r3, [r7, #20] + 801571c: 2200 movs r2, #0 + 801571e: f883 2044 strb.w r2, [r3, #68] @ 0x44 + 8015722: 697b ldr r3, [r7, #20] + 8015724: f893 3045 ldrb.w r3, [r3, #69] @ 0x45 + 8015728: b25b sxtb r3, r3 + 801572a: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 801572e: d103 bne.n 8015738 + 8015730: 697b ldr r3, [r7, #20] + 8015732: 2200 movs r2, #0 + 8015734: f883 2045 strb.w r2, [r3, #69] @ 0x45 + 8015738: f002 fb2c bl 8017d94 if( pxQueue->uxMessagesWaiting == ( UBaseType_t ) 0U ) - 8014d74: 697b ldr r3, [r7, #20] - 8014d76: 6b9b ldr r3, [r3, #56] @ 0x38 - 8014d78: 2b00 cmp r3, #0 - 8014d7a: d106 bne.n 8014d8a + 801573c: 697b ldr r3, [r7, #20] + 801573e: 6b9b ldr r3, [r3, #56] @ 0x38 + 8015740: 2b00 cmp r3, #0 + 8015742: d106 bne.n 8015752 { /* There is nothing in the queue, block for the specified period. */ vTaskPlaceOnEventListRestricted( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait, xWaitIndefinitely ); - 8014d7c: 697b ldr r3, [r7, #20] - 8014d7e: 3324 adds r3, #36 @ 0x24 - 8014d80: 687a ldr r2, [r7, #4] - 8014d82: 68b9 ldr r1, [r7, #8] - 8014d84: 4618 mov r0, r3 - 8014d86: f000 fd45 bl 8015814 + 8015744: 697b ldr r3, [r7, #20] + 8015746: 3324 adds r3, #36 @ 0x24 + 8015748: 687a ldr r2, [r7, #4] + 801574a: 68b9 ldr r1, [r7, #8] + 801574c: 4618 mov r0, r3 + 801574e: f000 fd59 bl 8016204 else { mtCOVERAGE_TEST_MARKER(); } prvUnlockQueue( pxQueue ); - 8014d8a: 6978 ldr r0, [r7, #20] - 8014d8c: f7ff fec6 bl 8014b1c + 8015752: 6978 ldr r0, [r7, #20] + 8015754: f7ff fec6 bl 80154e4 } - 8014d90: bf00 nop - 8014d92: 3718 adds r7, #24 - 8014d94: 46bd mov sp, r7 - 8014d96: bd80 pop {r7, pc} + 8015758: bf00 nop + 801575a: 3718 adds r7, #24 + 801575c: 46bd mov sp, r7 + 801575e: bd80 pop {r7, pc} -08014d98 : +08015760 : const uint32_t ulStackDepth, void * const pvParameters, UBaseType_t uxPriority, StackType_t * const puxStackBuffer, StaticTask_t * const pxTaskBuffer ) { - 8014d98: b580 push {r7, lr} - 8014d9a: b08e sub sp, #56 @ 0x38 - 8014d9c: af04 add r7, sp, #16 - 8014d9e: 60f8 str r0, [r7, #12] - 8014da0: 60b9 str r1, [r7, #8] - 8014da2: 607a str r2, [r7, #4] - 8014da4: 603b str r3, [r7, #0] + 8015760: b580 push {r7, lr} + 8015762: b08e sub sp, #56 @ 0x38 + 8015764: af04 add r7, sp, #16 + 8015766: 60f8 str r0, [r7, #12] + 8015768: 60b9 str r1, [r7, #8] + 801576a: 607a str r2, [r7, #4] + 801576c: 603b str r3, [r7, #0] TCB_t * pxNewTCB; TaskHandle_t xReturn; configASSERT( puxStackBuffer != NULL ); - 8014da6: 6b7b ldr r3, [r7, #52] @ 0x34 - 8014da8: 2b00 cmp r3, #0 - 8014daa: d10b bne.n 8014dc4 + 801576e: 6b7b ldr r3, [r7, #52] @ 0x34 + 8015770: 2b00 cmp r3, #0 + 8015772: d10b bne.n 801578c __asm volatile - 8014dac: f04f 0350 mov.w r3, #80 @ 0x50 - 8014db0: f383 8811 msr BASEPRI, r3 - 8014db4: f3bf 8f6f isb sy - 8014db8: f3bf 8f4f dsb sy - 8014dbc: 623b str r3, [r7, #32] + 8015774: f04f 0350 mov.w r3, #80 @ 0x50 + 8015778: f383 8811 msr BASEPRI, r3 + 801577c: f3bf 8f6f isb sy + 8015780: f3bf 8f4f dsb sy + 8015784: 623b str r3, [r7, #32] } - 8014dbe: bf00 nop - 8014dc0: bf00 nop - 8014dc2: e7fd b.n 8014dc0 + 8015786: bf00 nop + 8015788: bf00 nop + 801578a: e7fd b.n 8015788 configASSERT( pxTaskBuffer != NULL ); - 8014dc4: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014dc6: 2b00 cmp r3, #0 - 8014dc8: d10b bne.n 8014de2 + 801578c: 6bbb ldr r3, [r7, #56] @ 0x38 + 801578e: 2b00 cmp r3, #0 + 8015790: d10b bne.n 80157aa __asm volatile - 8014dca: f04f 0350 mov.w r3, #80 @ 0x50 - 8014dce: f383 8811 msr BASEPRI, r3 - 8014dd2: f3bf 8f6f isb sy - 8014dd6: f3bf 8f4f dsb sy - 8014dda: 61fb str r3, [r7, #28] + 8015792: f04f 0350 mov.w r3, #80 @ 0x50 + 8015796: f383 8811 msr BASEPRI, r3 + 801579a: f3bf 8f6f isb sy + 801579e: f3bf 8f4f dsb sy + 80157a2: 61fb str r3, [r7, #28] } - 8014ddc: bf00 nop - 8014dde: bf00 nop - 8014de0: e7fd b.n 8014dde + 80157a4: bf00 nop + 80157a6: bf00 nop + 80157a8: e7fd b.n 80157a6 #if ( configASSERT_DEFINED == 1 ) { /* Sanity check that the size of the structure used to declare a * variable of type StaticTask_t equals the size of the real task * structure. */ volatile size_t xSize = sizeof( StaticTask_t ); - 8014de2: 235c movs r3, #92 @ 0x5c - 8014de4: 613b str r3, [r7, #16] + 80157aa: 23ac movs r3, #172 @ 0xac + 80157ac: 613b str r3, [r7, #16] configASSERT( xSize == sizeof( TCB_t ) ); - 8014de6: 693b ldr r3, [r7, #16] - 8014de8: 2b5c cmp r3, #92 @ 0x5c - 8014dea: d00b beq.n 8014e04 + 80157ae: 693b ldr r3, [r7, #16] + 80157b0: 2bac cmp r3, #172 @ 0xac + 80157b2: d00b beq.n 80157cc __asm volatile - 8014dec: f04f 0350 mov.w r3, #80 @ 0x50 - 8014df0: f383 8811 msr BASEPRI, r3 - 8014df4: f3bf 8f6f isb sy - 8014df8: f3bf 8f4f dsb sy - 8014dfc: 61bb str r3, [r7, #24] + 80157b4: f04f 0350 mov.w r3, #80 @ 0x50 + 80157b8: f383 8811 msr BASEPRI, r3 + 80157bc: f3bf 8f6f isb sy + 80157c0: f3bf 8f4f dsb sy + 80157c4: 61bb str r3, [r7, #24] } - 8014dfe: bf00 nop - 8014e00: bf00 nop - 8014e02: e7fd b.n 8014e00 + 80157c6: bf00 nop + 80157c8: bf00 nop + 80157ca: e7fd b.n 80157c8 ( void ) xSize; /* Prevent lint warning when configASSERT() is not used. */ - 8014e04: 693b ldr r3, [r7, #16] + 80157cc: 693b ldr r3, [r7, #16] } #endif /* configASSERT_DEFINED */ if( ( pxTaskBuffer != NULL ) && ( puxStackBuffer != NULL ) ) - 8014e06: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014e08: 2b00 cmp r3, #0 - 8014e0a: d023 beq.n 8014e54 - 8014e0c: 6b7b ldr r3, [r7, #52] @ 0x34 - 8014e0e: 2b00 cmp r3, #0 - 8014e10: d020 beq.n 8014e54 + 80157ce: 6bbb ldr r3, [r7, #56] @ 0x38 + 80157d0: 2b00 cmp r3, #0 + 80157d2: d023 beq.n 801581c + 80157d4: 6b7b ldr r3, [r7, #52] @ 0x34 + 80157d6: 2b00 cmp r3, #0 + 80157d8: d020 beq.n 801581c { /* The memory used for the task's TCB and stack are passed into this * function - use them. */ pxNewTCB = ( TCB_t * ) pxTaskBuffer; /*lint !e740 !e9087 Unusual cast is ok as the structures are designed to have the same alignment, and the size is checked by an assert. */ - 8014e12: 6bbb ldr r3, [r7, #56] @ 0x38 - 8014e14: 627b str r3, [r7, #36] @ 0x24 + 80157da: 6bbb ldr r3, [r7, #56] @ 0x38 + 80157dc: 627b str r3, [r7, #36] @ 0x24 memset( ( void * ) pxNewTCB, 0x00, sizeof( TCB_t ) ); - 8014e16: 225c movs r2, #92 @ 0x5c - 8014e18: 2100 movs r1, #0 - 8014e1a: 6a78 ldr r0, [r7, #36] @ 0x24 - 8014e1c: f004 fe7a bl 8019b14 + 80157de: 22ac movs r2, #172 @ 0xac + 80157e0: 2100 movs r1, #0 + 80157e2: 6a78 ldr r0, [r7, #36] @ 0x24 + 80157e4: f004 fd8e bl 801a304 pxNewTCB->pxStack = ( StackType_t * ) puxStackBuffer; - 8014e20: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014e22: 6b7a ldr r2, [r7, #52] @ 0x34 - 8014e24: 631a str r2, [r3, #48] @ 0x30 + 80157e8: 6a7b ldr r3, [r7, #36] @ 0x24 + 80157ea: 6b7a ldr r2, [r7, #52] @ 0x34 + 80157ec: 631a str r2, [r3, #48] @ 0x30 #if ( tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE != 0 ) /*lint !e731 !e9029 Macro has been consolidated for readability reasons. */ { /* Tasks can be created statically or dynamically, so note this * task was created statically in case the task is later deleted. */ pxNewTCB->ucStaticallyAllocated = tskSTATICALLY_ALLOCATED_STACK_AND_TCB; - 8014e26: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014e28: 2202 movs r2, #2 - 8014e2a: f883 2059 strb.w r2, [r3, #89] @ 0x59 + 80157ee: 6a7b ldr r3, [r7, #36] @ 0x24 + 80157f0: 2202 movs r2, #2 + 80157f2: f883 20aa strb.w r2, [r3, #170] @ 0xaa } #endif /* tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE */ prvInitialiseNewTask( pxTaskCode, pcName, ulStackDepth, pvParameters, uxPriority, &xReturn, pxNewTCB, NULL ); - 8014e2e: 2300 movs r3, #0 - 8014e30: 9303 str r3, [sp, #12] - 8014e32: 6a7b ldr r3, [r7, #36] @ 0x24 - 8014e34: 9302 str r3, [sp, #8] - 8014e36: f107 0314 add.w r3, r7, #20 - 8014e3a: 9301 str r3, [sp, #4] - 8014e3c: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014e3e: 9300 str r3, [sp, #0] - 8014e40: 683b ldr r3, [r7, #0] - 8014e42: 687a ldr r2, [r7, #4] - 8014e44: 68b9 ldr r1, [r7, #8] - 8014e46: 68f8 ldr r0, [r7, #12] - 8014e48: f000 f855 bl 8014ef6 + 80157f6: 2300 movs r3, #0 + 80157f8: 9303 str r3, [sp, #12] + 80157fa: 6a7b ldr r3, [r7, #36] @ 0x24 + 80157fc: 9302 str r3, [sp, #8] + 80157fe: f107 0314 add.w r3, r7, #20 + 8015802: 9301 str r3, [sp, #4] + 8015804: 6b3b ldr r3, [r7, #48] @ 0x30 + 8015806: 9300 str r3, [sp, #0] + 8015808: 683b ldr r3, [r7, #0] + 801580a: 687a ldr r2, [r7, #4] + 801580c: 68b9 ldr r1, [r7, #8] + 801580e: 68f8 ldr r0, [r7, #12] + 8015810: f000 f856 bl 80158c0 prvAddNewTaskToReadyList( pxNewTCB ); - 8014e4c: 6a78 ldr r0, [r7, #36] @ 0x24 - 8014e4e: f000 f8e3 bl 8015018 - 8014e52: e001 b.n 8014e58 + 8015814: 6a78 ldr r0, [r7, #36] @ 0x24 + 8015816: f000 f8f9 bl 8015a0c + 801581a: e001 b.n 8015820 } else { xReturn = NULL; - 8014e54: 2300 movs r3, #0 - 8014e56: 617b str r3, [r7, #20] + 801581c: 2300 movs r3, #0 + 801581e: 617b str r3, [r7, #20] } return xReturn; - 8014e58: 697b ldr r3, [r7, #20] + 8015820: 697b ldr r3, [r7, #20] } - 8014e5a: 4618 mov r0, r3 - 8014e5c: 3728 adds r7, #40 @ 0x28 - 8014e5e: 46bd mov sp, r7 - 8014e60: bd80 pop {r7, pc} + 8015822: 4618 mov r0, r3 + 8015824: 3728 adds r7, #40 @ 0x28 + 8015826: 46bd mov sp, r7 + 8015828: bd80 pop {r7, pc} -08014e62 : +0801582a : const char * const pcName, /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ const configSTACK_DEPTH_TYPE usStackDepth, void * const pvParameters, UBaseType_t uxPriority, TaskHandle_t * const pxCreatedTask ) { - 8014e62: b580 push {r7, lr} - 8014e64: b08c sub sp, #48 @ 0x30 - 8014e66: af04 add r7, sp, #16 - 8014e68: 60f8 str r0, [r7, #12] - 8014e6a: 60b9 str r1, [r7, #8] - 8014e6c: 603b str r3, [r7, #0] - 8014e6e: 4613 mov r3, r2 - 8014e70: 80fb strh r3, [r7, #6] + 801582a: b580 push {r7, lr} + 801582c: b08c sub sp, #48 @ 0x30 + 801582e: af04 add r7, sp, #16 + 8015830: 60f8 str r0, [r7, #12] + 8015832: 60b9 str r1, [r7, #8] + 8015834: 603b str r3, [r7, #0] + 8015836: 4613 mov r3, r2 + 8015838: 80fb strh r3, [r7, #6] #else /* portSTACK_GROWTH */ { StackType_t * pxStack; /* Allocate space for the stack used by the task being created. */ pxStack = pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) ); /*lint !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack and this allocation is the stack. */ - 8014e72: 88fb ldrh r3, [r7, #6] - 8014e74: 009b lsls r3, r3, #2 - 8014e76: 4618 mov r0, r3 - 8014e78: f002 fb9a bl 80175b0 - 8014e7c: 6178 str r0, [r7, #20] + 801583a: 88fb ldrh r3, [r7, #6] + 801583c: 009b lsls r3, r3, #2 + 801583e: 4618 mov r0, r3 + 8015840: f002 fb9e bl 8017f80 + 8015844: 6178 str r0, [r7, #20] if( pxStack != NULL ) - 8014e7e: 697b ldr r3, [r7, #20] - 8014e80: 2b00 cmp r3, #0 - 8014e82: d013 beq.n 8014eac + 8015846: 697b ldr r3, [r7, #20] + 8015848: 2b00 cmp r3, #0 + 801584a: d013 beq.n 8015874 { /* Allocate space for the TCB. */ pxNewTCB = ( TCB_t * ) pvPortMalloc( sizeof( TCB_t ) ); /*lint !e9087 !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack, and the first member of TCB_t is always a pointer to the task's stack. */ - 8014e84: 205c movs r0, #92 @ 0x5c - 8014e86: f002 fb93 bl 80175b0 - 8014e8a: 61f8 str r0, [r7, #28] + 801584c: 20ac movs r0, #172 @ 0xac + 801584e: f002 fb97 bl 8017f80 + 8015852: 61f8 str r0, [r7, #28] if( pxNewTCB != NULL ) - 8014e8c: 69fb ldr r3, [r7, #28] - 8014e8e: 2b00 cmp r3, #0 - 8014e90: d008 beq.n 8014ea4 + 8015854: 69fb ldr r3, [r7, #28] + 8015856: 2b00 cmp r3, #0 + 8015858: d008 beq.n 801586c { memset( ( void * ) pxNewTCB, 0x00, sizeof( TCB_t ) ); - 8014e92: 225c movs r2, #92 @ 0x5c - 8014e94: 2100 movs r1, #0 - 8014e96: 69f8 ldr r0, [r7, #28] - 8014e98: f004 fe3c bl 8019b14 + 801585a: 22ac movs r2, #172 @ 0xac + 801585c: 2100 movs r1, #0 + 801585e: 69f8 ldr r0, [r7, #28] + 8015860: f004 fd50 bl 801a304 /* Store the stack location in the TCB. */ pxNewTCB->pxStack = pxStack; - 8014e9c: 69fb ldr r3, [r7, #28] - 8014e9e: 697a ldr r2, [r7, #20] - 8014ea0: 631a str r2, [r3, #48] @ 0x30 - 8014ea2: e005 b.n 8014eb0 + 8015864: 69fb ldr r3, [r7, #28] + 8015866: 697a ldr r2, [r7, #20] + 8015868: 631a str r2, [r3, #48] @ 0x30 + 801586a: e005 b.n 8015878 } else { /* The stack cannot be used as the TCB was not created. Free * it again. */ vPortFreeStack( pxStack ); - 8014ea4: 6978 ldr r0, [r7, #20] - 8014ea6: f002 fc4f bl 8017748 - 8014eaa: e001 b.n 8014eb0 + 801586c: 6978 ldr r0, [r7, #20] + 801586e: f002 fc53 bl 8018118 + 8015872: e001 b.n 8015878 } } else { pxNewTCB = NULL; - 8014eac: 2300 movs r3, #0 - 8014eae: 61fb str r3, [r7, #28] + 8015874: 2300 movs r3, #0 + 8015876: 61fb str r3, [r7, #28] } } #endif /* portSTACK_GROWTH */ if( pxNewTCB != NULL ) - 8014eb0: 69fb ldr r3, [r7, #28] - 8014eb2: 2b00 cmp r3, #0 - 8014eb4: d017 beq.n 8014ee6 + 8015878: 69fb ldr r3, [r7, #28] + 801587a: 2b00 cmp r3, #0 + 801587c: d017 beq.n 80158ae { #if ( tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE != 0 ) /*lint !e9029 !e731 Macro has been consolidated for readability reasons. */ { /* Tasks can be created statically or dynamically, so note this * task was created dynamically in case it is later deleted. */ pxNewTCB->ucStaticallyAllocated = tskDYNAMICALLY_ALLOCATED_STACK_AND_TCB; - 8014eb6: 69fb ldr r3, [r7, #28] - 8014eb8: 2200 movs r2, #0 - 8014eba: f883 2059 strb.w r2, [r3, #89] @ 0x59 + 801587e: 69fb ldr r3, [r7, #28] + 8015880: 2200 movs r2, #0 + 8015882: f883 20aa strb.w r2, [r3, #170] @ 0xaa } #endif /* tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE */ prvInitialiseNewTask( pxTaskCode, pcName, ( uint32_t ) usStackDepth, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, NULL ); - 8014ebe: 88fa ldrh r2, [r7, #6] - 8014ec0: 2300 movs r3, #0 - 8014ec2: 9303 str r3, [sp, #12] - 8014ec4: 69fb ldr r3, [r7, #28] - 8014ec6: 9302 str r3, [sp, #8] - 8014ec8: 6afb ldr r3, [r7, #44] @ 0x2c - 8014eca: 9301 str r3, [sp, #4] - 8014ecc: 6abb ldr r3, [r7, #40] @ 0x28 - 8014ece: 9300 str r3, [sp, #0] - 8014ed0: 683b ldr r3, [r7, #0] - 8014ed2: 68b9 ldr r1, [r7, #8] - 8014ed4: 68f8 ldr r0, [r7, #12] - 8014ed6: f000 f80e bl 8014ef6 + 8015886: 88fa ldrh r2, [r7, #6] + 8015888: 2300 movs r3, #0 + 801588a: 9303 str r3, [sp, #12] + 801588c: 69fb ldr r3, [r7, #28] + 801588e: 9302 str r3, [sp, #8] + 8015890: 6afb ldr r3, [r7, #44] @ 0x2c + 8015892: 9301 str r3, [sp, #4] + 8015894: 6abb ldr r3, [r7, #40] @ 0x28 + 8015896: 9300 str r3, [sp, #0] + 8015898: 683b ldr r3, [r7, #0] + 801589a: 68b9 ldr r1, [r7, #8] + 801589c: 68f8 ldr r0, [r7, #12] + 801589e: f000 f80f bl 80158c0 prvAddNewTaskToReadyList( pxNewTCB ); - 8014eda: 69f8 ldr r0, [r7, #28] - 8014edc: f000 f89c bl 8015018 + 80158a2: 69f8 ldr r0, [r7, #28] + 80158a4: f000 f8b2 bl 8015a0c xReturn = pdPASS; - 8014ee0: 2301 movs r3, #1 - 8014ee2: 61bb str r3, [r7, #24] - 8014ee4: e002 b.n 8014eec + 80158a8: 2301 movs r3, #1 + 80158aa: 61bb str r3, [r7, #24] + 80158ac: e002 b.n 80158b4 } else { xReturn = errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY; - 8014ee6: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 8014eea: 61bb str r3, [r7, #24] + 80158ae: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 80158b2: 61bb str r3, [r7, #24] } return xReturn; - 8014eec: 69bb ldr r3, [r7, #24] + 80158b4: 69bb ldr r3, [r7, #24] } - 8014eee: 4618 mov r0, r3 - 8014ef0: 3720 adds r7, #32 - 8014ef2: 46bd mov sp, r7 - 8014ef4: bd80 pop {r7, pc} + 80158b6: 4618 mov r0, r3 + 80158b8: 3720 adds r7, #32 + 80158ba: 46bd mov sp, r7 + 80158bc: bd80 pop {r7, pc} + ... -08014ef6 : +080158c0 : void * const pvParameters, UBaseType_t uxPriority, TaskHandle_t * const pxCreatedTask, TCB_t * pxNewTCB, const MemoryRegion_t * const xRegions ) { - 8014ef6: b580 push {r7, lr} - 8014ef8: b088 sub sp, #32 - 8014efa: af00 add r7, sp, #0 - 8014efc: 60f8 str r0, [r7, #12] - 8014efe: 60b9 str r1, [r7, #8] - 8014f00: 607a str r2, [r7, #4] - 8014f02: 603b str r3, [r7, #0] + 80158c0: b580 push {r7, lr} + 80158c2: b088 sub sp, #32 + 80158c4: af00 add r7, sp, #0 + 80158c6: 60f8 str r0, [r7, #12] + 80158c8: 60b9 str r1, [r7, #8] + 80158ca: 607a str r2, [r7, #4] + 80158cc: 603b str r3, [r7, #0] /* Avoid dependency on memset() if it is not required. */ #if ( tskSET_NEW_STACKS_TO_KNOWN_VALUE == 1 ) { /* Fill the stack with a known value to assist debugging. */ ( void ) memset( pxNewTCB->pxStack, ( int ) tskSTACK_FILL_BYTE, ( size_t ) ulStackDepth * sizeof( StackType_t ) ); - 8014f04: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014f06: 6b18 ldr r0, [r3, #48] @ 0x30 - 8014f08: 687b ldr r3, [r7, #4] - 8014f0a: 009b lsls r3, r3, #2 - 8014f0c: 461a mov r2, r3 - 8014f0e: 21a5 movs r1, #165 @ 0xa5 - 8014f10: f004 fe00 bl 8019b14 + 80158ce: 6b3b ldr r3, [r7, #48] @ 0x30 + 80158d0: 6b18 ldr r0, [r3, #48] @ 0x30 + 80158d2: 687b ldr r3, [r7, #4] + 80158d4: 009b lsls r3, r3, #2 + 80158d6: 461a mov r2, r3 + 80158d8: 21a5 movs r1, #165 @ 0xa5 + 80158da: f004 fd13 bl 801a304 * grows from high memory to low (as per the 80x86) or vice versa. * portSTACK_GROWTH is used to make the result positive or negative as required * by the port. */ #if ( portSTACK_GROWTH < 0 ) { pxTopOfStack = &( pxNewTCB->pxStack[ ulStackDepth - ( uint32_t ) 1 ] ); - 8014f14: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014f16: 6b1a ldr r2, [r3, #48] @ 0x30 - 8014f18: 687b ldr r3, [r7, #4] - 8014f1a: f103 4380 add.w r3, r3, #1073741824 @ 0x40000000 - 8014f1e: 3b01 subs r3, #1 - 8014f20: 009b lsls r3, r3, #2 - 8014f22: 4413 add r3, r2 - 8014f24: 61bb str r3, [r7, #24] + 80158de: 6b3b ldr r3, [r7, #48] @ 0x30 + 80158e0: 6b1a ldr r2, [r3, #48] @ 0x30 + 80158e2: 687b ldr r3, [r7, #4] + 80158e4: f103 4380 add.w r3, r3, #1073741824 @ 0x40000000 + 80158e8: 3b01 subs r3, #1 + 80158ea: 009b lsls r3, r3, #2 + 80158ec: 4413 add r3, r2 + 80158ee: 61bb str r3, [r7, #24] pxTopOfStack = ( StackType_t * ) ( ( ( portPOINTER_SIZE_TYPE ) pxTopOfStack ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) ); /*lint !e923 !e9033 !e9078 MISRA exception. Avoiding casts between pointers and integers is not practical. Size differences accounted for using portPOINTER_SIZE_TYPE type. Checked by assert(). */ - 8014f26: 69bb ldr r3, [r7, #24] - 8014f28: f023 0307 bic.w r3, r3, #7 - 8014f2c: 61bb str r3, [r7, #24] + 80158f0: 69bb ldr r3, [r7, #24] + 80158f2: f023 0307 bic.w r3, r3, #7 + 80158f6: 61bb str r3, [r7, #24] /* Check the alignment of the calculated top of stack is correct. */ configASSERT( ( ( ( portPOINTER_SIZE_TYPE ) pxTopOfStack & ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) == 0UL ) ); - 8014f2e: 69bb ldr r3, [r7, #24] - 8014f30: f003 0307 and.w r3, r3, #7 - 8014f34: 2b00 cmp r3, #0 - 8014f36: d00b beq.n 8014f50 + 80158f8: 69bb ldr r3, [r7, #24] + 80158fa: f003 0307 and.w r3, r3, #7 + 80158fe: 2b00 cmp r3, #0 + 8015900: d00b beq.n 801591a __asm volatile - 8014f38: f04f 0350 mov.w r3, #80 @ 0x50 - 8014f3c: f383 8811 msr BASEPRI, r3 - 8014f40: f3bf 8f6f isb sy - 8014f44: f3bf 8f4f dsb sy - 8014f48: 617b str r3, [r7, #20] + 8015902: f04f 0350 mov.w r3, #80 @ 0x50 + 8015906: f383 8811 msr BASEPRI, r3 + 801590a: f3bf 8f6f isb sy + 801590e: f3bf 8f4f dsb sy + 8015912: 617b str r3, [r7, #20] } - 8014f4a: bf00 nop - 8014f4c: bf00 nop - 8014f4e: e7fd b.n 8014f4c + 8015914: bf00 nop + 8015916: bf00 nop + 8015918: e7fd b.n 8015916 pxNewTCB->pxEndOfStack = pxNewTCB->pxStack + ( ulStackDepth - ( uint32_t ) 1 ); } #endif /* portSTACK_GROWTH */ /* Store the task name in the TCB. */ if( pcName != NULL ) - 8014f50: 68bb ldr r3, [r7, #8] - 8014f52: 2b00 cmp r3, #0 - 8014f54: d01e beq.n 8014f94 + 801591a: 68bb ldr r3, [r7, #8] + 801591c: 2b00 cmp r3, #0 + 801591e: d01e beq.n 801595e { for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ ) - 8014f56: 2300 movs r3, #0 - 8014f58: 61fb str r3, [r7, #28] - 8014f5a: e012 b.n 8014f82 + 8015920: 2300 movs r3, #0 + 8015922: 61fb str r3, [r7, #28] + 8015924: e012 b.n 801594c { pxNewTCB->pcTaskName[ x ] = pcName[ x ]; - 8014f5c: 68ba ldr r2, [r7, #8] - 8014f5e: 69fb ldr r3, [r7, #28] - 8014f60: 4413 add r3, r2 - 8014f62: 7819 ldrb r1, [r3, #0] - 8014f64: 6b3a ldr r2, [r7, #48] @ 0x30 - 8014f66: 69fb ldr r3, [r7, #28] - 8014f68: 4413 add r3, r2 - 8014f6a: 3334 adds r3, #52 @ 0x34 - 8014f6c: 460a mov r2, r1 - 8014f6e: 701a strb r2, [r3, #0] + 8015926: 68ba ldr r2, [r7, #8] + 8015928: 69fb ldr r3, [r7, #28] + 801592a: 4413 add r3, r2 + 801592c: 7819 ldrb r1, [r3, #0] + 801592e: 6b3a ldr r2, [r7, #48] @ 0x30 + 8015930: 69fb ldr r3, [r7, #28] + 8015932: 4413 add r3, r2 + 8015934: 3334 adds r3, #52 @ 0x34 + 8015936: 460a mov r2, r1 + 8015938: 701a strb r2, [r3, #0] /* Don't copy all configMAX_TASK_NAME_LEN if the string is shorter than * configMAX_TASK_NAME_LEN characters just in case the memory after the * string is not accessible (extremely unlikely). */ if( pcName[ x ] == ( char ) 0x00 ) - 8014f70: 68ba ldr r2, [r7, #8] - 8014f72: 69fb ldr r3, [r7, #28] - 8014f74: 4413 add r3, r2 - 8014f76: 781b ldrb r3, [r3, #0] - 8014f78: 2b00 cmp r3, #0 - 8014f7a: d006 beq.n 8014f8a + 801593a: 68ba ldr r2, [r7, #8] + 801593c: 69fb ldr r3, [r7, #28] + 801593e: 4413 add r3, r2 + 8015940: 781b ldrb r3, [r3, #0] + 8015942: 2b00 cmp r3, #0 + 8015944: d006 beq.n 8015954 for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ ) - 8014f7c: 69fb ldr r3, [r7, #28] - 8014f7e: 3301 adds r3, #1 - 8014f80: 61fb str r3, [r7, #28] - 8014f82: 69fb ldr r3, [r7, #28] - 8014f84: 2b0f cmp r3, #15 - 8014f86: d9e9 bls.n 8014f5c - 8014f88: e000 b.n 8014f8c + 8015946: 69fb ldr r3, [r7, #28] + 8015948: 3301 adds r3, #1 + 801594a: 61fb str r3, [r7, #28] + 801594c: 69fb ldr r3, [r7, #28] + 801594e: 2b0f cmp r3, #15 + 8015950: d9e9 bls.n 8015926 + 8015952: e000 b.n 8015956 { break; - 8014f8a: bf00 nop + 8015954: bf00 nop } } /* Ensure the name string is terminated in the case that the string length * was greater or equal to configMAX_TASK_NAME_LEN. */ pxNewTCB->pcTaskName[ configMAX_TASK_NAME_LEN - 1 ] = '\0'; - 8014f8c: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014f8e: 2200 movs r2, #0 - 8014f90: f883 2043 strb.w r2, [r3, #67] @ 0x43 + 8015956: 6b3b ldr r3, [r7, #48] @ 0x30 + 8015958: 2200 movs r2, #0 + 801595a: f883 2043 strb.w r2, [r3, #67] @ 0x43 { mtCOVERAGE_TEST_MARKER(); } /* This is used as an array index so must ensure it's not too large. */ configASSERT( uxPriority < configMAX_PRIORITIES ); - 8014f94: 6abb ldr r3, [r7, #40] @ 0x28 - 8014f96: 2b37 cmp r3, #55 @ 0x37 - 8014f98: d90b bls.n 8014fb2 + 801595e: 6abb ldr r3, [r7, #40] @ 0x28 + 8015960: 2b37 cmp r3, #55 @ 0x37 + 8015962: d90b bls.n 801597c __asm volatile - 8014f9a: f04f 0350 mov.w r3, #80 @ 0x50 - 8014f9e: f383 8811 msr BASEPRI, r3 - 8014fa2: f3bf 8f6f isb sy - 8014fa6: f3bf 8f4f dsb sy - 8014faa: 613b str r3, [r7, #16] + 8015964: f04f 0350 mov.w r3, #80 @ 0x50 + 8015968: f383 8811 msr BASEPRI, r3 + 801596c: f3bf 8f6f isb sy + 8015970: f3bf 8f4f dsb sy + 8015974: 613b str r3, [r7, #16] } - 8014fac: bf00 nop - 8014fae: bf00 nop - 8014fb0: e7fd b.n 8014fae + 8015976: bf00 nop + 8015978: bf00 nop + 801597a: e7fd b.n 8015978 if( uxPriority >= ( UBaseType_t ) configMAX_PRIORITIES ) - 8014fb2: 6abb ldr r3, [r7, #40] @ 0x28 - 8014fb4: 2b37 cmp r3, #55 @ 0x37 - 8014fb6: d901 bls.n 8014fbc + 801597c: 6abb ldr r3, [r7, #40] @ 0x28 + 801597e: 2b37 cmp r3, #55 @ 0x37 + 8015980: d901 bls.n 8015986 { uxPriority = ( UBaseType_t ) configMAX_PRIORITIES - ( UBaseType_t ) 1U; - 8014fb8: 2337 movs r3, #55 @ 0x37 - 8014fba: 62bb str r3, [r7, #40] @ 0x28 + 8015982: 2337 movs r3, #55 @ 0x37 + 8015984: 62bb str r3, [r7, #40] @ 0x28 else { mtCOVERAGE_TEST_MARKER(); } pxNewTCB->uxPriority = uxPriority; - 8014fbc: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014fbe: 6aba ldr r2, [r7, #40] @ 0x28 - 8014fc0: 62da str r2, [r3, #44] @ 0x2c + 8015986: 6b3b ldr r3, [r7, #48] @ 0x30 + 8015988: 6aba ldr r2, [r7, #40] @ 0x28 + 801598a: 62da str r2, [r3, #44] @ 0x2c #if ( configUSE_MUTEXES == 1 ) { pxNewTCB->uxBasePriority = uxPriority; - 8014fc2: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014fc4: 6aba ldr r2, [r7, #40] @ 0x28 - 8014fc6: 64da str r2, [r3, #76] @ 0x4c + 801598c: 6b3b ldr r3, [r7, #48] @ 0x30 + 801598e: 6aba ldr r2, [r7, #40] @ 0x28 + 8015990: 64da str r2, [r3, #76] @ 0x4c } #endif /* configUSE_MUTEXES */ vListInitialiseItem( &( pxNewTCB->xStateListItem ) ); - 8014fc8: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014fca: 3304 adds r3, #4 - 8014fcc: 4618 mov r0, r3 - 8014fce: f7fe fd09 bl 80139e4 + 8015992: 6b3b ldr r3, [r7, #48] @ 0x30 + 8015994: 3304 adds r3, #4 + 8015996: 4618 mov r0, r3 + 8015998: f7fe fd08 bl 80143ac vListInitialiseItem( &( pxNewTCB->xEventListItem ) ); - 8014fd2: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014fd4: 3318 adds r3, #24 - 8014fd6: 4618 mov r0, r3 - 8014fd8: f7fe fd04 bl 80139e4 + 801599c: 6b3b ldr r3, [r7, #48] @ 0x30 + 801599e: 3318 adds r3, #24 + 80159a0: 4618 mov r0, r3 + 80159a2: f7fe fd03 bl 80143ac /* Set the pxNewTCB as a link back from the ListItem_t. This is so we can get * back to the containing TCB from a generic item in a list. */ listSET_LIST_ITEM_OWNER( &( pxNewTCB->xStateListItem ), pxNewTCB ); - 8014fdc: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014fde: 6b3a ldr r2, [r7, #48] @ 0x30 - 8014fe0: 611a str r2, [r3, #16] + 80159a6: 6b3b ldr r3, [r7, #48] @ 0x30 + 80159a8: 6b3a ldr r2, [r7, #48] @ 0x30 + 80159aa: 611a str r2, [r3, #16] /* Event lists are always in priority order. */ listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 8014fe2: 6abb ldr r3, [r7, #40] @ 0x28 - 8014fe4: f1c3 0238 rsb r2, r3, #56 @ 0x38 - 8014fe8: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014fea: 619a str r2, [r3, #24] + 80159ac: 6abb ldr r3, [r7, #40] @ 0x28 + 80159ae: f1c3 0238 rsb r2, r3, #56 @ 0x38 + 80159b2: 6b3b ldr r3, [r7, #48] @ 0x30 + 80159b4: 619a str r2, [r3, #24] listSET_LIST_ITEM_OWNER( &( pxNewTCB->xEventListItem ), pxNewTCB ); - 8014fec: 6b3b ldr r3, [r7, #48] @ 0x30 - 8014fee: 6b3a ldr r2, [r7, #48] @ 0x30 - 8014ff0: 625a str r2, [r3, #36] @ 0x24 + 80159b6: 6b3b ldr r3, [r7, #48] @ 0x30 + 80159b8: 6b3a ldr r2, [r7, #48] @ 0x30 + 80159ba: 625a str r2, [r3, #36] @ 0x24 + #endif + + #if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 ) + { + /* Allocate and initialize memory for the task's TLS Block. */ + configINIT_TLS_BLOCK( pxNewTCB->xTLSBlock, pxTopOfStack ); + 80159bc: 6b3b ldr r3, [r7, #48] @ 0x30 + 80159be: 3354 adds r3, #84 @ 0x54 + 80159c0: 224c movs r2, #76 @ 0x4c + 80159c2: 2100 movs r1, #0 + 80159c4: 4618 mov r0, r3 + 80159c6: f004 fc9d bl 801a304 + 80159ca: 6b3b ldr r3, [r7, #48] @ 0x30 + 80159cc: 4a0c ldr r2, [pc, #48] @ (8015a00 ) + 80159ce: 659a str r2, [r3, #88] @ 0x58 + 80159d0: 6b3b ldr r3, [r7, #48] @ 0x30 + 80159d2: 4a0c ldr r2, [pc, #48] @ (8015a04 ) + 80159d4: 65da str r2, [r3, #92] @ 0x5c + 80159d6: 6b3b ldr r3, [r7, #48] @ 0x30 + 80159d8: 4a0b ldr r2, [pc, #44] @ (8015a08 ) + 80159da: 661a str r2, [r3, #96] @ 0x60 } #endif /* portSTACK_GROWTH */ } #else /* portHAS_STACK_OVERFLOW_CHECKING */ { pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters ); - 8014ff2: 683a ldr r2, [r7, #0] - 8014ff4: 68f9 ldr r1, [r7, #12] - 8014ff6: 69b8 ldr r0, [r7, #24] - 8014ff8: f002 f866 bl 80170c8 - 8014ffc: 4602 mov r2, r0 - 8014ffe: 6b3b ldr r3, [r7, #48] @ 0x30 - 8015000: 601a str r2, [r3, #0] + 80159dc: 683a ldr r2, [r7, #0] + 80159de: 68f9 ldr r1, [r7, #12] + 80159e0: 69b8 ldr r0, [r7, #24] + 80159e2: f002 f857 bl 8017a94 + 80159e6: 4602 mov r2, r0 + 80159e8: 6b3b ldr r3, [r7, #48] @ 0x30 + 80159ea: 601a str r2, [r3, #0] } #endif /* portHAS_STACK_OVERFLOW_CHECKING */ } #endif /* portUSING_MPU_WRAPPERS */ if( pxCreatedTask != NULL ) - 8015002: 6afb ldr r3, [r7, #44] @ 0x2c - 8015004: 2b00 cmp r3, #0 - 8015006: d002 beq.n 801500e + 80159ec: 6afb ldr r3, [r7, #44] @ 0x2c + 80159ee: 2b00 cmp r3, #0 + 80159f0: d002 beq.n 80159f8 { /* Pass the handle out in an anonymous way. The handle can be used to * change the created task's priority, delete the created task, etc.*/ *pxCreatedTask = ( TaskHandle_t ) pxNewTCB; - 8015008: 6afb ldr r3, [r7, #44] @ 0x2c - 801500a: 6b3a ldr r2, [r7, #48] @ 0x30 - 801500c: 601a str r2, [r3, #0] + 80159f2: 6afb ldr r3, [r7, #44] @ 0x2c + 80159f4: 6b3a ldr r2, [r7, #48] @ 0x30 + 80159f6: 601a str r2, [r3, #0] } else { mtCOVERAGE_TEST_MARKER(); } } - 801500e: bf00 nop - 8015010: 3720 adds r7, #32 - 8015012: 46bd mov sp, r7 - 8015014: bd80 pop {r7, pc} - ... + 80159f8: bf00 nop + 80159fa: 3720 adds r7, #32 + 80159fc: 46bd mov sp, r7 + 80159fe: bd80 pop {r7, pc} + 8015a00: 20013b9c .word 0x20013b9c + 8015a04: 20013c04 .word 0x20013c04 + 8015a08: 20013c6c .word 0x20013c6c -08015018 : +08015a0c : /*-----------------------------------------------------------*/ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) { - 8015018: b580 push {r7, lr} - 801501a: b084 sub sp, #16 - 801501c: af00 add r7, sp, #0 - 801501e: 6078 str r0, [r7, #4] + 8015a0c: b580 push {r7, lr} + 8015a0e: b084 sub sp, #16 + 8015a10: af00 add r7, sp, #0 + 8015a12: 6078 str r0, [r7, #4] /* Ensure interrupts don't access the task lists while the lists are being * updated. */ taskENTER_CRITICAL(); - 8015020: f002 f99e bl 8017360 + 8015a14: f002 f98c bl 8017d30 { uxCurrentNumberOfTasks++; - 8015024: 4b41 ldr r3, [pc, #260] @ (801512c ) - 8015026: 681b ldr r3, [r3, #0] - 8015028: 3301 adds r3, #1 - 801502a: 4a40 ldr r2, [pc, #256] @ (801512c ) - 801502c: 6013 str r3, [r2, #0] + 8015a18: 4b41 ldr r3, [pc, #260] @ (8015b20 ) + 8015a1a: 681b ldr r3, [r3, #0] + 8015a1c: 3301 adds r3, #1 + 8015a1e: 4a40 ldr r2, [pc, #256] @ (8015b20 ) + 8015a20: 6013 str r3, [r2, #0] if( pxCurrentTCB == NULL ) - 801502e: 4b40 ldr r3, [pc, #256] @ (8015130 ) - 8015030: 681b ldr r3, [r3, #0] - 8015032: 2b00 cmp r3, #0 - 8015034: d109 bne.n 801504a + 8015a22: 4b40 ldr r3, [pc, #256] @ (8015b24 ) + 8015a24: 681b ldr r3, [r3, #0] + 8015a26: 2b00 cmp r3, #0 + 8015a28: d109 bne.n 8015a3e { /* There are no other tasks, or all the other tasks are in * the suspended state - make this the current task. */ pxCurrentTCB = pxNewTCB; - 8015036: 4a3e ldr r2, [pc, #248] @ (8015130 ) - 8015038: 687b ldr r3, [r7, #4] - 801503a: 6013 str r3, [r2, #0] + 8015a2a: 4a3e ldr r2, [pc, #248] @ (8015b24 ) + 8015a2c: 687b ldr r3, [r7, #4] + 8015a2e: 6013 str r3, [r2, #0] if( uxCurrentNumberOfTasks == ( UBaseType_t ) 1 ) - 801503c: 4b3b ldr r3, [pc, #236] @ (801512c ) - 801503e: 681b ldr r3, [r3, #0] - 8015040: 2b01 cmp r3, #1 - 8015042: d110 bne.n 8015066 + 8015a30: 4b3b ldr r3, [pc, #236] @ (8015b20 ) + 8015a32: 681b ldr r3, [r3, #0] + 8015a34: 2b01 cmp r3, #1 + 8015a36: d110 bne.n 8015a5a { /* This is the first task to be created so do the preliminary * initialisation required. We will not recover if this call * fails, but we will report the failure. */ prvInitialiseTaskLists(); - 8015044: f000 fda6 bl 8015b94 - 8015048: e00d b.n 8015066 + 8015a38: f000 fda4 bl 8016584 + 8015a3c: e00d b.n 8015a5a else { /* If the scheduler is not already running, make this task the * current task if it is the highest priority task to be created * so far. */ if( xSchedulerRunning == pdFALSE ) - 801504a: 4b3a ldr r3, [pc, #232] @ (8015134 ) - 801504c: 681b ldr r3, [r3, #0] - 801504e: 2b00 cmp r3, #0 - 8015050: d109 bne.n 8015066 + 8015a3e: 4b3a ldr r3, [pc, #232] @ (8015b28 ) + 8015a40: 681b ldr r3, [r3, #0] + 8015a42: 2b00 cmp r3, #0 + 8015a44: d109 bne.n 8015a5a { if( pxCurrentTCB->uxPriority <= pxNewTCB->uxPriority ) - 8015052: 4b37 ldr r3, [pc, #220] @ (8015130 ) - 8015054: 681b ldr r3, [r3, #0] - 8015056: 6ada ldr r2, [r3, #44] @ 0x2c - 8015058: 687b ldr r3, [r7, #4] - 801505a: 6adb ldr r3, [r3, #44] @ 0x2c - 801505c: 429a cmp r2, r3 - 801505e: d802 bhi.n 8015066 + 8015a46: 4b37 ldr r3, [pc, #220] @ (8015b24 ) + 8015a48: 681b ldr r3, [r3, #0] + 8015a4a: 6ada ldr r2, [r3, #44] @ 0x2c + 8015a4c: 687b ldr r3, [r7, #4] + 8015a4e: 6adb ldr r3, [r3, #44] @ 0x2c + 8015a50: 429a cmp r2, r3 + 8015a52: d802 bhi.n 8015a5a { pxCurrentTCB = pxNewTCB; - 8015060: 4a33 ldr r2, [pc, #204] @ (8015130 ) - 8015062: 687b ldr r3, [r7, #4] - 8015064: 6013 str r3, [r2, #0] + 8015a54: 4a33 ldr r2, [pc, #204] @ (8015b24 ) + 8015a56: 687b ldr r3, [r7, #4] + 8015a58: 6013 str r3, [r2, #0] { mtCOVERAGE_TEST_MARKER(); } } uxTaskNumber++; - 8015066: 4b34 ldr r3, [pc, #208] @ (8015138 ) - 8015068: 681b ldr r3, [r3, #0] - 801506a: 3301 adds r3, #1 - 801506c: 4a32 ldr r2, [pc, #200] @ (8015138 ) - 801506e: 6013 str r3, [r2, #0] + 8015a5a: 4b34 ldr r3, [pc, #208] @ (8015b2c ) + 8015a5c: 681b ldr r3, [r3, #0] + 8015a5e: 3301 adds r3, #1 + 8015a60: 4a32 ldr r2, [pc, #200] @ (8015b2c ) + 8015a62: 6013 str r3, [r2, #0] #if ( configUSE_TRACE_FACILITY == 1 ) { /* Add a counter into the TCB for tracing only. */ pxNewTCB->uxTCBNumber = uxTaskNumber; - 8015070: 4b31 ldr r3, [pc, #196] @ (8015138 ) - 8015072: 681a ldr r2, [r3, #0] - 8015074: 687b ldr r3, [r7, #4] - 8015076: 645a str r2, [r3, #68] @ 0x44 + 8015a64: 4b31 ldr r3, [pc, #196] @ (8015b2c ) + 8015a66: 681a ldr r2, [r3, #0] + 8015a68: 687b ldr r3, [r7, #4] + 8015a6a: 645a str r2, [r3, #68] @ 0x44 } #endif /* configUSE_TRACE_FACILITY */ traceTASK_CREATE( pxNewTCB ); prvAddTaskToReadyList( pxNewTCB ); - 8015078: 687b ldr r3, [r7, #4] - 801507a: 6ada ldr r2, [r3, #44] @ 0x2c - 801507c: 4b2f ldr r3, [pc, #188] @ (801513c ) - 801507e: 681b ldr r3, [r3, #0] - 8015080: 429a cmp r2, r3 - 8015082: d903 bls.n 801508c - 8015084: 687b ldr r3, [r7, #4] - 8015086: 6adb ldr r3, [r3, #44] @ 0x2c - 8015088: 4a2c ldr r2, [pc, #176] @ (801513c ) - 801508a: 6013 str r3, [r2, #0] - 801508c: 687b ldr r3, [r7, #4] - 801508e: 6ada ldr r2, [r3, #44] @ 0x2c - 8015090: 492b ldr r1, [pc, #172] @ (8015140 ) - 8015092: 4613 mov r3, r2 - 8015094: 009b lsls r3, r3, #2 - 8015096: 4413 add r3, r2 - 8015098: 009b lsls r3, r3, #2 - 801509a: 440b add r3, r1 - 801509c: 3304 adds r3, #4 - 801509e: 681b ldr r3, [r3, #0] - 80150a0: 60fb str r3, [r7, #12] - 80150a2: 687b ldr r3, [r7, #4] - 80150a4: 68fa ldr r2, [r7, #12] - 80150a6: 609a str r2, [r3, #8] - 80150a8: 68fb ldr r3, [r7, #12] - 80150aa: 689a ldr r2, [r3, #8] - 80150ac: 687b ldr r3, [r7, #4] - 80150ae: 60da str r2, [r3, #12] - 80150b0: 68fb ldr r3, [r7, #12] - 80150b2: 689b ldr r3, [r3, #8] - 80150b4: 687a ldr r2, [r7, #4] - 80150b6: 3204 adds r2, #4 - 80150b8: 605a str r2, [r3, #4] - 80150ba: 687b ldr r3, [r7, #4] - 80150bc: 1d1a adds r2, r3, #4 - 80150be: 68fb ldr r3, [r7, #12] - 80150c0: 609a str r2, [r3, #8] - 80150c2: 687b ldr r3, [r7, #4] - 80150c4: 6ada ldr r2, [r3, #44] @ 0x2c - 80150c6: 4613 mov r3, r2 - 80150c8: 009b lsls r3, r3, #2 - 80150ca: 4413 add r3, r2 - 80150cc: 009b lsls r3, r3, #2 - 80150ce: 4a1c ldr r2, [pc, #112] @ (8015140 ) - 80150d0: 441a add r2, r3 - 80150d2: 687b ldr r3, [r7, #4] - 80150d4: 615a str r2, [r3, #20] - 80150d6: 687b ldr r3, [r7, #4] - 80150d8: 6ada ldr r2, [r3, #44] @ 0x2c - 80150da: 4919 ldr r1, [pc, #100] @ (8015140 ) - 80150dc: 4613 mov r3, r2 - 80150de: 009b lsls r3, r3, #2 - 80150e0: 4413 add r3, r2 - 80150e2: 009b lsls r3, r3, #2 - 80150e4: 440b add r3, r1 - 80150e6: 681b ldr r3, [r3, #0] - 80150e8: 1c59 adds r1, r3, #1 - 80150ea: 4815 ldr r0, [pc, #84] @ (8015140 ) - 80150ec: 4613 mov r3, r2 - 80150ee: 009b lsls r3, r3, #2 - 80150f0: 4413 add r3, r2 - 80150f2: 009b lsls r3, r3, #2 - 80150f4: 4403 add r3, r0 - 80150f6: 6019 str r1, [r3, #0] + 8015a6c: 687b ldr r3, [r7, #4] + 8015a6e: 6ada ldr r2, [r3, #44] @ 0x2c + 8015a70: 4b2f ldr r3, [pc, #188] @ (8015b30 ) + 8015a72: 681b ldr r3, [r3, #0] + 8015a74: 429a cmp r2, r3 + 8015a76: d903 bls.n 8015a80 + 8015a78: 687b ldr r3, [r7, #4] + 8015a7a: 6adb ldr r3, [r3, #44] @ 0x2c + 8015a7c: 4a2c ldr r2, [pc, #176] @ (8015b30 ) + 8015a7e: 6013 str r3, [r2, #0] + 8015a80: 687b ldr r3, [r7, #4] + 8015a82: 6ada ldr r2, [r3, #44] @ 0x2c + 8015a84: 492b ldr r1, [pc, #172] @ (8015b34 ) + 8015a86: 4613 mov r3, r2 + 8015a88: 009b lsls r3, r3, #2 + 8015a8a: 4413 add r3, r2 + 8015a8c: 009b lsls r3, r3, #2 + 8015a8e: 440b add r3, r1 + 8015a90: 3304 adds r3, #4 + 8015a92: 681b ldr r3, [r3, #0] + 8015a94: 60fb str r3, [r7, #12] + 8015a96: 687b ldr r3, [r7, #4] + 8015a98: 68fa ldr r2, [r7, #12] + 8015a9a: 609a str r2, [r3, #8] + 8015a9c: 68fb ldr r3, [r7, #12] + 8015a9e: 689a ldr r2, [r3, #8] + 8015aa0: 687b ldr r3, [r7, #4] + 8015aa2: 60da str r2, [r3, #12] + 8015aa4: 68fb ldr r3, [r7, #12] + 8015aa6: 689b ldr r3, [r3, #8] + 8015aa8: 687a ldr r2, [r7, #4] + 8015aaa: 3204 adds r2, #4 + 8015aac: 605a str r2, [r3, #4] + 8015aae: 687b ldr r3, [r7, #4] + 8015ab0: 1d1a adds r2, r3, #4 + 8015ab2: 68fb ldr r3, [r7, #12] + 8015ab4: 609a str r2, [r3, #8] + 8015ab6: 687b ldr r3, [r7, #4] + 8015ab8: 6ada ldr r2, [r3, #44] @ 0x2c + 8015aba: 4613 mov r3, r2 + 8015abc: 009b lsls r3, r3, #2 + 8015abe: 4413 add r3, r2 + 8015ac0: 009b lsls r3, r3, #2 + 8015ac2: 4a1c ldr r2, [pc, #112] @ (8015b34 ) + 8015ac4: 441a add r2, r3 + 8015ac6: 687b ldr r3, [r7, #4] + 8015ac8: 615a str r2, [r3, #20] + 8015aca: 687b ldr r3, [r7, #4] + 8015acc: 6ada ldr r2, [r3, #44] @ 0x2c + 8015ace: 4919 ldr r1, [pc, #100] @ (8015b34 ) + 8015ad0: 4613 mov r3, r2 + 8015ad2: 009b lsls r3, r3, #2 + 8015ad4: 4413 add r3, r2 + 8015ad6: 009b lsls r3, r3, #2 + 8015ad8: 440b add r3, r1 + 8015ada: 681b ldr r3, [r3, #0] + 8015adc: 1c59 adds r1, r3, #1 + 8015ade: 4815 ldr r0, [pc, #84] @ (8015b34 ) + 8015ae0: 4613 mov r3, r2 + 8015ae2: 009b lsls r3, r3, #2 + 8015ae4: 4413 add r3, r2 + 8015ae6: 009b lsls r3, r3, #2 + 8015ae8: 4403 add r3, r0 + 8015aea: 6019 str r1, [r3, #0] portSETUP_TCB( pxNewTCB ); } taskEXIT_CRITICAL(); - 80150f8: f002 f964 bl 80173c4 + 8015aec: f002 f952 bl 8017d94 if( xSchedulerRunning != pdFALSE ) - 80150fc: 4b0d ldr r3, [pc, #52] @ (8015134 ) - 80150fe: 681b ldr r3, [r3, #0] - 8015100: 2b00 cmp r3, #0 - 8015102: d00e beq.n 8015122 + 8015af0: 4b0d ldr r3, [pc, #52] @ (8015b28 ) + 8015af2: 681b ldr r3, [r3, #0] + 8015af4: 2b00 cmp r3, #0 + 8015af6: d00e beq.n 8015b16 { /* If the created task is of a higher priority than the current task * then it should run now. */ if( pxCurrentTCB->uxPriority < pxNewTCB->uxPriority ) - 8015104: 4b0a ldr r3, [pc, #40] @ (8015130 ) - 8015106: 681b ldr r3, [r3, #0] - 8015108: 6ada ldr r2, [r3, #44] @ 0x2c - 801510a: 687b ldr r3, [r7, #4] - 801510c: 6adb ldr r3, [r3, #44] @ 0x2c - 801510e: 429a cmp r2, r3 - 8015110: d207 bcs.n 8015122 + 8015af8: 4b0a ldr r3, [pc, #40] @ (8015b24 ) + 8015afa: 681b ldr r3, [r3, #0] + 8015afc: 6ada ldr r2, [r3, #44] @ 0x2c + 8015afe: 687b ldr r3, [r7, #4] + 8015b00: 6adb ldr r3, [r3, #44] @ 0x2c + 8015b02: 429a cmp r2, r3 + 8015b04: d207 bcs.n 8015b16 { taskYIELD_IF_USING_PREEMPTION(); - 8015112: 4b0c ldr r3, [pc, #48] @ (8015144 ) - 8015114: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8015118: 601a str r2, [r3, #0] - 801511a: f3bf 8f4f dsb sy - 801511e: f3bf 8f6f isb sy + 8015b06: 4b0c ldr r3, [pc, #48] @ (8015b38 ) + 8015b08: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8015b0c: 601a str r2, [r3, #0] + 8015b0e: f3bf 8f4f dsb sy + 8015b12: f3bf 8f6f isb sy } else { mtCOVERAGE_TEST_MARKER(); } } - 8015122: bf00 nop - 8015124: 3710 adds r7, #16 - 8015126: 46bd mov sp, r7 - 8015128: bd80 pop {r7, pc} - 801512a: bf00 nop - 801512c: 2000259c .word 0x2000259c - 8015130: 200020c8 .word 0x200020c8 - 8015134: 200025a8 .word 0x200025a8 - 8015138: 200025b8 .word 0x200025b8 - 801513c: 200025a4 .word 0x200025a4 - 8015140: 200020cc .word 0x200020cc - 8015144: e000ed04 .word 0xe000ed04 + 8015b16: bf00 nop + 8015b18: 3710 adds r7, #16 + 8015b1a: 46bd mov sp, r7 + 8015b1c: bd80 pop {r7, pc} + 8015b1e: bf00 nop + 8015b20: 2000263c .word 0x2000263c + 8015b24: 20002168 .word 0x20002168 + 8015b28: 20002648 .word 0x20002648 + 8015b2c: 20002658 .word 0x20002658 + 8015b30: 20002644 .word 0x20002644 + 8015b34: 2000216c .word 0x2000216c + 8015b38: e000ed04 .word 0xe000ed04 -08015148 : -/*-----------------------------------------------------------*/ - -#if ( INCLUDE_vTaskDelay == 1 ) - - void vTaskDelay( const TickType_t xTicksToDelay ) - { - 8015148: b580 push {r7, lr} - 801514a: b084 sub sp, #16 - 801514c: af00 add r7, sp, #0 - 801514e: 6078 str r0, [r7, #4] - BaseType_t xAlreadyYielded = pdFALSE; - 8015150: 2300 movs r3, #0 - 8015152: 60fb str r3, [r7, #12] - - /* A delay time of zero just forces a reschedule. */ - if( xTicksToDelay > ( TickType_t ) 0U ) - 8015154: 687b ldr r3, [r7, #4] - 8015156: 2b00 cmp r3, #0 - 8015158: d018 beq.n 801518c - { - configASSERT( uxSchedulerSuspended == ( UBaseType_t ) 0U ); - 801515a: 4b14 ldr r3, [pc, #80] @ (80151ac ) - 801515c: 681b ldr r3, [r3, #0] - 801515e: 2b00 cmp r3, #0 - 8015160: d00b beq.n 801517a - __asm volatile - 8015162: f04f 0350 mov.w r3, #80 @ 0x50 - 8015166: f383 8811 msr BASEPRI, r3 - 801516a: f3bf 8f6f isb sy - 801516e: f3bf 8f4f dsb sy - 8015172: 60bb str r3, [r7, #8] - } - 8015174: bf00 nop - 8015176: bf00 nop - 8015178: e7fd b.n 8015176 - vTaskSuspendAll(); - 801517a: f000 f887 bl 801528c - * list or removed from the blocked list until the scheduler - * is resumed. - * - * This task cannot be in an event list as it is the currently - * executing task. */ - prvAddCurrentTaskToDelayedList( xTicksToDelay, pdFALSE ); - 801517e: 2100 movs r1, #0 - 8015180: 6878 ldr r0, [r7, #4] - 8015182: f001 fc6b bl 8016a5c - } - xAlreadyYielded = xTaskResumeAll(); - 8015186: f000 f88f bl 80152a8 - 801518a: 60f8 str r0, [r7, #12] - mtCOVERAGE_TEST_MARKER(); - } - - /* Force a reschedule if xTaskResumeAll has not already done so, we may - * have put ourselves to sleep. */ - if( xAlreadyYielded == pdFALSE ) - 801518c: 68fb ldr r3, [r7, #12] - 801518e: 2b00 cmp r3, #0 - 8015190: d107 bne.n 80151a2 - { - portYIELD_WITHIN_API(); - 8015192: 4b07 ldr r3, [pc, #28] @ (80151b0 ) - 8015194: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8015198: 601a str r2, [r3, #0] - 801519a: f3bf 8f4f dsb sy - 801519e: f3bf 8f6f isb sy - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - } - 80151a2: bf00 nop - 80151a4: 3710 adds r7, #16 - 80151a6: 46bd mov sp, r7 - 80151a8: bd80 pop {r7, pc} - 80151aa: bf00 nop - 80151ac: 200025c4 .word 0x200025c4 - 80151b0: e000ed04 .word 0xe000ed04 - -080151b4 : +08015b3c : #endif /* ( ( INCLUDE_xTaskResumeFromISR == 1 ) && ( INCLUDE_vTaskSuspend == 1 ) ) */ /*-----------------------------------------------------------*/ void vTaskStartScheduler( void ) { - 80151b4: b580 push {r7, lr} - 80151b6: b08a sub sp, #40 @ 0x28 - 80151b8: af04 add r7, sp, #16 + 8015b3c: b580 push {r7, lr} + 8015b3e: b08a sub sp, #40 @ 0x28 + 8015b40: af04 add r7, sp, #16 BaseType_t xReturn; /* Add the idle task at the lowest priority. */ #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) { StaticTask_t * pxIdleTaskTCBBuffer = NULL; - 80151ba: 2300 movs r3, #0 - 80151bc: 60bb str r3, [r7, #8] + 8015b42: 2300 movs r3, #0 + 8015b44: 60bb str r3, [r7, #8] StackType_t * pxIdleTaskStackBuffer = NULL; - 80151be: 2300 movs r3, #0 - 80151c0: 607b str r3, [r7, #4] + 8015b46: 2300 movs r3, #0 + 8015b48: 607b str r3, [r7, #4] uint32_t ulIdleTaskStackSize; /* The Idle task is created using user provided RAM - obtain the * address of the RAM then create the idle task. */ vApplicationGetIdleTaskMemory( &pxIdleTaskTCBBuffer, &pxIdleTaskStackBuffer, &ulIdleTaskStackSize ); - 80151c2: 463a mov r2, r7 - 80151c4: 1d39 adds r1, r7, #4 - 80151c6: f107 0308 add.w r3, r7, #8 - 80151ca: 4618 mov r0, r3 - 80151cc: f7fe fbb6 bl 801393c + 8015b4a: 463a mov r2, r7 + 8015b4c: 1d39 adds r1, r7, #4 + 8015b4e: f107 0308 add.w r3, r7, #8 + 8015b52: 4618 mov r0, r3 + 8015b54: f7fe fbd6 bl 8014304 xIdleTaskHandle = xTaskCreateStatic( prvIdleTask, - 80151d0: 6839 ldr r1, [r7, #0] - 80151d2: 687b ldr r3, [r7, #4] - 80151d4: 68ba ldr r2, [r7, #8] - 80151d6: 9202 str r2, [sp, #8] - 80151d8: 9301 str r3, [sp, #4] - 80151da: 2300 movs r3, #0 - 80151dc: 9300 str r3, [sp, #0] - 80151de: 2300 movs r3, #0 - 80151e0: 460a mov r2, r1 - 80151e2: 4923 ldr r1, [pc, #140] @ (8015270 ) - 80151e4: 4823 ldr r0, [pc, #140] @ (8015274 ) - 80151e6: f7ff fdd7 bl 8014d98 - 80151ea: 4603 mov r3, r0 - 80151ec: 4a22 ldr r2, [pc, #136] @ (8015278 ) - 80151ee: 6013 str r3, [r2, #0] + 8015b58: 6839 ldr r1, [r7, #0] + 8015b5a: 687b ldr r3, [r7, #4] + 8015b5c: 68ba ldr r2, [r7, #8] + 8015b5e: 9202 str r2, [sp, #8] + 8015b60: 9301 str r3, [sp, #4] + 8015b62: 2300 movs r3, #0 + 8015b64: 9300 str r3, [sp, #0] + 8015b66: 2300 movs r3, #0 + 8015b68: 460a mov r2, r1 + 8015b6a: 4925 ldr r1, [pc, #148] @ (8015c00 ) + 8015b6c: 4825 ldr r0, [pc, #148] @ (8015c04 ) + 8015b6e: f7ff fdf7 bl 8015760 + 8015b72: 4603 mov r3, r0 + 8015b74: 4a24 ldr r2, [pc, #144] @ (8015c08 ) + 8015b76: 6013 str r3, [r2, #0] ( void * ) NULL, /*lint !e961. The cast is not redundant for all compilers. */ portPRIVILEGE_BIT, /* In effect ( tskIDLE_PRIORITY | portPRIVILEGE_BIT ), but tskIDLE_PRIORITY is zero. */ pxIdleTaskStackBuffer, pxIdleTaskTCBBuffer ); /*lint !e961 MISRA exception, justified as it is not a redundant explicit cast to all supported compilers. */ if( xIdleTaskHandle != NULL ) - 80151f0: 4b21 ldr r3, [pc, #132] @ (8015278 ) - 80151f2: 681b ldr r3, [r3, #0] - 80151f4: 2b00 cmp r3, #0 - 80151f6: d002 beq.n 80151fe + 8015b78: 4b23 ldr r3, [pc, #140] @ (8015c08 ) + 8015b7a: 681b ldr r3, [r3, #0] + 8015b7c: 2b00 cmp r3, #0 + 8015b7e: d002 beq.n 8015b86 { xReturn = pdPASS; - 80151f8: 2301 movs r3, #1 - 80151fa: 617b str r3, [r7, #20] - 80151fc: e001 b.n 8015202 + 8015b80: 2301 movs r3, #1 + 8015b82: 617b str r3, [r7, #20] + 8015b84: e001 b.n 8015b8a } else { xReturn = pdFAIL; - 80151fe: 2300 movs r3, #0 - 8015200: 617b str r3, [r7, #20] + 8015b86: 2300 movs r3, #0 + 8015b88: 617b str r3, [r7, #20] } #endif /* configSUPPORT_STATIC_ALLOCATION */ #if ( configUSE_TIMERS == 1 ) { if( xReturn == pdPASS ) - 8015202: 697b ldr r3, [r7, #20] - 8015204: 2b01 cmp r3, #1 - 8015206: d102 bne.n 801520e + 8015b8a: 697b ldr r3, [r7, #20] + 8015b8c: 2b01 cmp r3, #1 + 8015b8e: d102 bne.n 8015b96 { xReturn = xTimerCreateTimerTask(); - 8015208: f001 fc96 bl 8016b38 - 801520c: 6178 str r0, [r7, #20] + 8015b90: f001 fcb8 bl 8017504 + 8015b94: 6178 str r0, [r7, #20] mtCOVERAGE_TEST_MARKER(); } } #endif /* configUSE_TIMERS */ if( xReturn == pdPASS ) - 801520e: 697b ldr r3, [r7, #20] - 8015210: 2b01 cmp r3, #1 - 8015212: d116 bne.n 8015242 + 8015b96: 697b ldr r3, [r7, #20] + 8015b98: 2b01 cmp r3, #1 + 8015b9a: d11b bne.n 8015bd4 __asm volatile - 8015214: f04f 0350 mov.w r3, #80 @ 0x50 - 8015218: f383 8811 msr BASEPRI, r3 - 801521c: f3bf 8f6f isb sy - 8015220: f3bf 8f4f dsb sy - 8015224: 613b str r3, [r7, #16] + 8015b9c: f04f 0350 mov.w r3, #80 @ 0x50 + 8015ba0: f383 8811 msr BASEPRI, r3 + 8015ba4: f3bf 8f6f isb sy + 8015ba8: f3bf 8f4f dsb sy + 8015bac: 613b str r3, [r7, #16] } - 8015226: bf00 nop + 8015bae: bf00 nop + + #if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 ) + { + /* Switch C-Runtime's TLS Block to point to the TLS * block specific to the task that will run first. */ configSET_TLS_BLOCK( pxCurrentTCB->xTLSBlock ); + 8015bb0: 4b16 ldr r3, [pc, #88] @ (8015c0c ) + 8015bb2: 681b ldr r3, [r3, #0] + 8015bb4: 3354 adds r3, #84 @ 0x54 + 8015bb6: 4a16 ldr r2, [pc, #88] @ (8015c10 ) + 8015bb8: 6013 str r3, [r2, #0] } #endif xNextTaskUnblockTime = portMAX_DELAY; - 8015228: 4b14 ldr r3, [pc, #80] @ (801527c ) - 801522a: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 801522e: 601a str r2, [r3, #0] + 8015bba: 4b16 ldr r3, [pc, #88] @ (8015c14 ) + 8015bbc: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8015bc0: 601a str r2, [r3, #0] xSchedulerRunning = pdTRUE; - 8015230: 4b13 ldr r3, [pc, #76] @ (8015280 ) - 8015232: 2201 movs r2, #1 - 8015234: 601a str r2, [r3, #0] + 8015bc2: 4b15 ldr r3, [pc, #84] @ (8015c18 ) + 8015bc4: 2201 movs r2, #1 + 8015bc6: 601a str r2, [r3, #0] xTickCount = ( TickType_t ) configINITIAL_TICK_COUNT; - 8015236: 4b13 ldr r3, [pc, #76] @ (8015284 ) - 8015238: 2200 movs r2, #0 - 801523a: 601a str r2, [r3, #0] + 8015bc8: 4b14 ldr r3, [pc, #80] @ (8015c1c ) + 8015bca: 2200 movs r2, #0 + 8015bcc: 601a str r2, [r3, #0] traceTASK_SWITCHED_IN(); /* Setting up the timer tick is hardware specific and thus in the * portable interface. */ xPortStartScheduler(); - 801523c: f001 ffd2 bl 80171e4 - 8015240: e00f b.n 8015262 + 8015bce: f001 fff1 bl 8017bb4 + 8015bd2: e00f b.n 8015bf4 else { /* This line will only be reached if the kernel could not be started, * because there was not enough FreeRTOS heap to create the idle task * or the timer task. */ configASSERT( xReturn != errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY ); - 8015242: 697b ldr r3, [r7, #20] - 8015244: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8015248: d10b bne.n 8015262 + 8015bd4: 697b ldr r3, [r7, #20] + 8015bd6: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8015bda: d10b bne.n 8015bf4 __asm volatile - 801524a: f04f 0350 mov.w r3, #80 @ 0x50 - 801524e: f383 8811 msr BASEPRI, r3 - 8015252: f3bf 8f6f isb sy - 8015256: f3bf 8f4f dsb sy - 801525a: 60fb str r3, [r7, #12] + 8015bdc: f04f 0350 mov.w r3, #80 @ 0x50 + 8015be0: f383 8811 msr BASEPRI, r3 + 8015be4: f3bf 8f6f isb sy + 8015be8: f3bf 8f4f dsb sy + 8015bec: 60fb str r3, [r7, #12] } - 801525c: bf00 nop - 801525e: bf00 nop - 8015260: e7fd b.n 801525e + 8015bee: bf00 nop + 8015bf0: bf00 nop + 8015bf2: e7fd b.n 8015bf0 * meaning xIdleTaskHandle is not used anywhere else. */ ( void ) xIdleTaskHandle; /* OpenOCD makes use of uxTopUsedPriority for thread debugging. Prevent uxTopUsedPriority * from getting optimized out as it is no longer used by the kernel. */ ( void ) uxTopUsedPriority; - 8015262: 4b09 ldr r3, [pc, #36] @ (8015288 ) - 8015264: 681b ldr r3, [r3, #0] + 8015bf4: 4b0a ldr r3, [pc, #40] @ (8015c20 ) + 8015bf6: 681b ldr r3, [r3, #0] } - 8015266: bf00 nop - 8015268: 3718 adds r7, #24 - 801526a: 46bd mov sp, r7 - 801526c: bd80 pop {r7, pc} - 801526e: bf00 nop - 8015270: 0801d9bc .word 0x0801d9bc - 8015274: 08015b65 .word 0x08015b65 - 8015278: 200025c0 .word 0x200025c0 - 801527c: 200025bc .word 0x200025bc - 8015280: 200025a8 .word 0x200025a8 - 8015284: 200025a0 .word 0x200025a0 - 8015288: 0801dcac .word 0x0801dcac + 8015bf8: bf00 nop + 8015bfa: 3718 adds r7, #24 + 8015bfc: 46bd mov sp, r7 + 8015bfe: bd80 pop {r7, pc} + 8015c00: 0801e31c .word 0x0801e31c + 8015c04: 08016555 .word 0x08016555 + 8015c08: 20002660 .word 0x20002660 + 8015c0c: 20002168 .word 0x20002168 + 8015c10: 2000011c .word 0x2000011c + 8015c14: 2000265c .word 0x2000265c + 8015c18: 20002648 .word 0x20002648 + 8015c1c: 20002640 .word 0x20002640 + 8015c20: 0801e60c .word 0x0801e60c -0801528c : +08015c24 : vPortEndScheduler(); } /*----------------------------------------------------------*/ void vTaskSuspendAll( void ) { - 801528c: b480 push {r7} - 801528e: af00 add r7, sp, #0 + 8015c24: b480 push {r7} + 8015c26: af00 add r7, sp, #0 * do not otherwise exhibit real time behaviour. */ portSOFTWARE_BARRIER(); /* The scheduler is suspended if uxSchedulerSuspended is non-zero. An increment * is used to allow calls to vTaskSuspendAll() to nest. */ ++uxSchedulerSuspended; - 8015290: 4b04 ldr r3, [pc, #16] @ (80152a4 ) - 8015292: 681b ldr r3, [r3, #0] - 8015294: 3301 adds r3, #1 - 8015296: 4a03 ldr r2, [pc, #12] @ (80152a4 ) - 8015298: 6013 str r3, [r2, #0] + 8015c28: 4b04 ldr r3, [pc, #16] @ (8015c3c ) + 8015c2a: 681b ldr r3, [r3, #0] + 8015c2c: 3301 adds r3, #1 + 8015c2e: 4a03 ldr r2, [pc, #12] @ (8015c3c ) + 8015c30: 6013 str r3, [r2, #0] /* Enforces ordering for ports and optimised compilers that may otherwise place * the above increment elsewhere. */ portMEMORY_BARRIER(); } - 801529a: bf00 nop - 801529c: 46bd mov sp, r7 - 801529e: f85d 7b04 ldr.w r7, [sp], #4 - 80152a2: 4770 bx lr - 80152a4: 200025c4 .word 0x200025c4 + 8015c32: bf00 nop + 8015c34: 46bd mov sp, r7 + 8015c36: f85d 7b04 ldr.w r7, [sp], #4 + 8015c3a: 4770 bx lr + 8015c3c: 20002664 .word 0x20002664 -080152a8 : +08015c40 : #endif /* configUSE_TICKLESS_IDLE */ /*----------------------------------------------------------*/ BaseType_t xTaskResumeAll( void ) { - 80152a8: b580 push {r7, lr} - 80152aa: b088 sub sp, #32 - 80152ac: af00 add r7, sp, #0 + 8015c40: b580 push {r7, lr} + 8015c42: b088 sub sp, #32 + 8015c44: af00 add r7, sp, #0 TCB_t * pxTCB = NULL; - 80152ae: 2300 movs r3, #0 - 80152b0: 61fb str r3, [r7, #28] + 8015c46: 2300 movs r3, #0 + 8015c48: 61fb str r3, [r7, #28] BaseType_t xAlreadyYielded = pdFALSE; - 80152b2: 2300 movs r3, #0 - 80152b4: 61bb str r3, [r7, #24] + 8015c4a: 2300 movs r3, #0 + 8015c4c: 61bb str r3, [r7, #24] /* If uxSchedulerSuspended is zero then this function does not match a * previous call to vTaskSuspendAll(). */ configASSERT( uxSchedulerSuspended != ( UBaseType_t ) 0U ); - 80152b6: 4b72 ldr r3, [pc, #456] @ (8015480 ) - 80152b8: 681b ldr r3, [r3, #0] - 80152ba: 2b00 cmp r3, #0 - 80152bc: d10b bne.n 80152d6 + 8015c4e: 4b72 ldr r3, [pc, #456] @ (8015e18 ) + 8015c50: 681b ldr r3, [r3, #0] + 8015c52: 2b00 cmp r3, #0 + 8015c54: d10b bne.n 8015c6e __asm volatile - 80152be: f04f 0350 mov.w r3, #80 @ 0x50 - 80152c2: f383 8811 msr BASEPRI, r3 - 80152c6: f3bf 8f6f isb sy - 80152ca: f3bf 8f4f dsb sy - 80152ce: 607b str r3, [r7, #4] + 8015c56: f04f 0350 mov.w r3, #80 @ 0x50 + 8015c5a: f383 8811 msr BASEPRI, r3 + 8015c5e: f3bf 8f6f isb sy + 8015c62: f3bf 8f4f dsb sy + 8015c66: 607b str r3, [r7, #4] } - 80152d0: bf00 nop - 80152d2: bf00 nop - 80152d4: e7fd b.n 80152d2 + 8015c68: bf00 nop + 8015c6a: bf00 nop + 8015c6c: e7fd b.n 8015c6a /* It is possible that an ISR caused a task to be removed from an event * list while the scheduler was suspended. If this was the case then the * removed task will have been added to the xPendingReadyList. Once the * scheduler has been resumed it is safe to move all the pending ready * tasks from this list into their appropriate ready list. */ taskENTER_CRITICAL(); - 80152d6: f002 f843 bl 8017360 + 8015c6e: f002 f85f bl 8017d30 { --uxSchedulerSuspended; - 80152da: 4b69 ldr r3, [pc, #420] @ (8015480 ) - 80152dc: 681b ldr r3, [r3, #0] - 80152de: 3b01 subs r3, #1 - 80152e0: 4a67 ldr r2, [pc, #412] @ (8015480 ) - 80152e2: 6013 str r3, [r2, #0] + 8015c72: 4b69 ldr r3, [pc, #420] @ (8015e18 ) + 8015c74: 681b ldr r3, [r3, #0] + 8015c76: 3b01 subs r3, #1 + 8015c78: 4a67 ldr r2, [pc, #412] @ (8015e18 ) + 8015c7a: 6013 str r3, [r2, #0] if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) - 80152e4: 4b66 ldr r3, [pc, #408] @ (8015480 ) - 80152e6: 681b ldr r3, [r3, #0] - 80152e8: 2b00 cmp r3, #0 - 80152ea: f040 80c1 bne.w 8015470 + 8015c7c: 4b66 ldr r3, [pc, #408] @ (8015e18 ) + 8015c7e: 681b ldr r3, [r3, #0] + 8015c80: 2b00 cmp r3, #0 + 8015c82: f040 80c1 bne.w 8015e08 { if( uxCurrentNumberOfTasks > ( UBaseType_t ) 0U ) - 80152ee: 4b65 ldr r3, [pc, #404] @ (8015484 ) - 80152f0: 681b ldr r3, [r3, #0] - 80152f2: 2b00 cmp r3, #0 - 80152f4: f000 80bc beq.w 8015470 + 8015c86: 4b65 ldr r3, [pc, #404] @ (8015e1c ) + 8015c88: 681b ldr r3, [r3, #0] + 8015c8a: 2b00 cmp r3, #0 + 8015c8c: f000 80bc beq.w 8015e08 { /* Move any readied tasks from the pending list into the * appropriate ready list. */ while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE ) - 80152f8: e08b b.n 8015412 + 8015c90: e08b b.n 8015daa { pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xPendingReadyList ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 80152fa: 4b63 ldr r3, [pc, #396] @ (8015488 ) - 80152fc: 68db ldr r3, [r3, #12] - 80152fe: 68db ldr r3, [r3, #12] - 8015300: 61fb str r3, [r7, #28] + 8015c92: 4b63 ldr r3, [pc, #396] @ (8015e20 ) + 8015c94: 68db ldr r3, [r3, #12] + 8015c96: 68db ldr r3, [r3, #12] + 8015c98: 61fb str r3, [r7, #28] listREMOVE_ITEM( &( pxTCB->xEventListItem ) ); - 8015302: 69fb ldr r3, [r7, #28] - 8015304: 6a9b ldr r3, [r3, #40] @ 0x28 - 8015306: 613b str r3, [r7, #16] - 8015308: 69fb ldr r3, [r7, #28] - 801530a: 69db ldr r3, [r3, #28] - 801530c: 69fa ldr r2, [r7, #28] - 801530e: 6a12 ldr r2, [r2, #32] - 8015310: 609a str r2, [r3, #8] - 8015312: 69fb ldr r3, [r7, #28] - 8015314: 6a1b ldr r3, [r3, #32] - 8015316: 69fa ldr r2, [r7, #28] - 8015318: 69d2 ldr r2, [r2, #28] - 801531a: 605a str r2, [r3, #4] - 801531c: 693b ldr r3, [r7, #16] - 801531e: 685a ldr r2, [r3, #4] - 8015320: 69fb ldr r3, [r7, #28] - 8015322: 3318 adds r3, #24 - 8015324: 429a cmp r2, r3 - 8015326: d103 bne.n 8015330 - 8015328: 69fb ldr r3, [r7, #28] - 801532a: 6a1a ldr r2, [r3, #32] - 801532c: 693b ldr r3, [r7, #16] - 801532e: 605a str r2, [r3, #4] - 8015330: 69fb ldr r3, [r7, #28] - 8015332: 2200 movs r2, #0 - 8015334: 629a str r2, [r3, #40] @ 0x28 - 8015336: 693b ldr r3, [r7, #16] - 8015338: 681b ldr r3, [r3, #0] - 801533a: 1e5a subs r2, r3, #1 - 801533c: 693b ldr r3, [r7, #16] - 801533e: 601a str r2, [r3, #0] + 8015c9a: 69fb ldr r3, [r7, #28] + 8015c9c: 6a9b ldr r3, [r3, #40] @ 0x28 + 8015c9e: 613b str r3, [r7, #16] + 8015ca0: 69fb ldr r3, [r7, #28] + 8015ca2: 69db ldr r3, [r3, #28] + 8015ca4: 69fa ldr r2, [r7, #28] + 8015ca6: 6a12 ldr r2, [r2, #32] + 8015ca8: 609a str r2, [r3, #8] + 8015caa: 69fb ldr r3, [r7, #28] + 8015cac: 6a1b ldr r3, [r3, #32] + 8015cae: 69fa ldr r2, [r7, #28] + 8015cb0: 69d2 ldr r2, [r2, #28] + 8015cb2: 605a str r2, [r3, #4] + 8015cb4: 693b ldr r3, [r7, #16] + 8015cb6: 685a ldr r2, [r3, #4] + 8015cb8: 69fb ldr r3, [r7, #28] + 8015cba: 3318 adds r3, #24 + 8015cbc: 429a cmp r2, r3 + 8015cbe: d103 bne.n 8015cc8 + 8015cc0: 69fb ldr r3, [r7, #28] + 8015cc2: 6a1a ldr r2, [r3, #32] + 8015cc4: 693b ldr r3, [r7, #16] + 8015cc6: 605a str r2, [r3, #4] + 8015cc8: 69fb ldr r3, [r7, #28] + 8015cca: 2200 movs r2, #0 + 8015ccc: 629a str r2, [r3, #40] @ 0x28 + 8015cce: 693b ldr r3, [r7, #16] + 8015cd0: 681b ldr r3, [r3, #0] + 8015cd2: 1e5a subs r2, r3, #1 + 8015cd4: 693b ldr r3, [r7, #16] + 8015cd6: 601a str r2, [r3, #0] portMEMORY_BARRIER(); listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); - 8015340: 69fb ldr r3, [r7, #28] - 8015342: 695b ldr r3, [r3, #20] - 8015344: 60fb str r3, [r7, #12] - 8015346: 69fb ldr r3, [r7, #28] - 8015348: 689b ldr r3, [r3, #8] - 801534a: 69fa ldr r2, [r7, #28] - 801534c: 68d2 ldr r2, [r2, #12] - 801534e: 609a str r2, [r3, #8] - 8015350: 69fb ldr r3, [r7, #28] - 8015352: 68db ldr r3, [r3, #12] - 8015354: 69fa ldr r2, [r7, #28] - 8015356: 6892 ldr r2, [r2, #8] - 8015358: 605a str r2, [r3, #4] - 801535a: 68fb ldr r3, [r7, #12] - 801535c: 685a ldr r2, [r3, #4] - 801535e: 69fb ldr r3, [r7, #28] - 8015360: 3304 adds r3, #4 - 8015362: 429a cmp r2, r3 - 8015364: d103 bne.n 801536e - 8015366: 69fb ldr r3, [r7, #28] - 8015368: 68da ldr r2, [r3, #12] - 801536a: 68fb ldr r3, [r7, #12] - 801536c: 605a str r2, [r3, #4] - 801536e: 69fb ldr r3, [r7, #28] - 8015370: 2200 movs r2, #0 - 8015372: 615a str r2, [r3, #20] - 8015374: 68fb ldr r3, [r7, #12] - 8015376: 681b ldr r3, [r3, #0] - 8015378: 1e5a subs r2, r3, #1 - 801537a: 68fb ldr r3, [r7, #12] - 801537c: 601a str r2, [r3, #0] + 8015cd8: 69fb ldr r3, [r7, #28] + 8015cda: 695b ldr r3, [r3, #20] + 8015cdc: 60fb str r3, [r7, #12] + 8015cde: 69fb ldr r3, [r7, #28] + 8015ce0: 689b ldr r3, [r3, #8] + 8015ce2: 69fa ldr r2, [r7, #28] + 8015ce4: 68d2 ldr r2, [r2, #12] + 8015ce6: 609a str r2, [r3, #8] + 8015ce8: 69fb ldr r3, [r7, #28] + 8015cea: 68db ldr r3, [r3, #12] + 8015cec: 69fa ldr r2, [r7, #28] + 8015cee: 6892 ldr r2, [r2, #8] + 8015cf0: 605a str r2, [r3, #4] + 8015cf2: 68fb ldr r3, [r7, #12] + 8015cf4: 685a ldr r2, [r3, #4] + 8015cf6: 69fb ldr r3, [r7, #28] + 8015cf8: 3304 adds r3, #4 + 8015cfa: 429a cmp r2, r3 + 8015cfc: d103 bne.n 8015d06 + 8015cfe: 69fb ldr r3, [r7, #28] + 8015d00: 68da ldr r2, [r3, #12] + 8015d02: 68fb ldr r3, [r7, #12] + 8015d04: 605a str r2, [r3, #4] + 8015d06: 69fb ldr r3, [r7, #28] + 8015d08: 2200 movs r2, #0 + 8015d0a: 615a str r2, [r3, #20] + 8015d0c: 68fb ldr r3, [r7, #12] + 8015d0e: 681b ldr r3, [r3, #0] + 8015d10: 1e5a subs r2, r3, #1 + 8015d12: 68fb ldr r3, [r7, #12] + 8015d14: 601a str r2, [r3, #0] prvAddTaskToReadyList( pxTCB ); - 801537e: 69fb ldr r3, [r7, #28] - 8015380: 6ada ldr r2, [r3, #44] @ 0x2c - 8015382: 4b42 ldr r3, [pc, #264] @ (801548c ) - 8015384: 681b ldr r3, [r3, #0] - 8015386: 429a cmp r2, r3 - 8015388: d903 bls.n 8015392 - 801538a: 69fb ldr r3, [r7, #28] - 801538c: 6adb ldr r3, [r3, #44] @ 0x2c - 801538e: 4a3f ldr r2, [pc, #252] @ (801548c ) - 8015390: 6013 str r3, [r2, #0] - 8015392: 69fb ldr r3, [r7, #28] - 8015394: 6ada ldr r2, [r3, #44] @ 0x2c - 8015396: 493e ldr r1, [pc, #248] @ (8015490 ) - 8015398: 4613 mov r3, r2 - 801539a: 009b lsls r3, r3, #2 - 801539c: 4413 add r3, r2 - 801539e: 009b lsls r3, r3, #2 - 80153a0: 440b add r3, r1 - 80153a2: 3304 adds r3, #4 - 80153a4: 681b ldr r3, [r3, #0] - 80153a6: 60bb str r3, [r7, #8] - 80153a8: 69fb ldr r3, [r7, #28] - 80153aa: 68ba ldr r2, [r7, #8] - 80153ac: 609a str r2, [r3, #8] - 80153ae: 68bb ldr r3, [r7, #8] - 80153b0: 689a ldr r2, [r3, #8] - 80153b2: 69fb ldr r3, [r7, #28] - 80153b4: 60da str r2, [r3, #12] - 80153b6: 68bb ldr r3, [r7, #8] - 80153b8: 689b ldr r3, [r3, #8] - 80153ba: 69fa ldr r2, [r7, #28] - 80153bc: 3204 adds r2, #4 - 80153be: 605a str r2, [r3, #4] - 80153c0: 69fb ldr r3, [r7, #28] - 80153c2: 1d1a adds r2, r3, #4 - 80153c4: 68bb ldr r3, [r7, #8] - 80153c6: 609a str r2, [r3, #8] - 80153c8: 69fb ldr r3, [r7, #28] - 80153ca: 6ada ldr r2, [r3, #44] @ 0x2c - 80153cc: 4613 mov r3, r2 - 80153ce: 009b lsls r3, r3, #2 - 80153d0: 4413 add r3, r2 - 80153d2: 009b lsls r3, r3, #2 - 80153d4: 4a2e ldr r2, [pc, #184] @ (8015490 ) - 80153d6: 441a add r2, r3 - 80153d8: 69fb ldr r3, [r7, #28] - 80153da: 615a str r2, [r3, #20] - 80153dc: 69fb ldr r3, [r7, #28] - 80153de: 6ada ldr r2, [r3, #44] @ 0x2c - 80153e0: 492b ldr r1, [pc, #172] @ (8015490 ) - 80153e2: 4613 mov r3, r2 - 80153e4: 009b lsls r3, r3, #2 - 80153e6: 4413 add r3, r2 - 80153e8: 009b lsls r3, r3, #2 - 80153ea: 440b add r3, r1 - 80153ec: 681b ldr r3, [r3, #0] - 80153ee: 1c59 adds r1, r3, #1 - 80153f0: 4827 ldr r0, [pc, #156] @ (8015490 ) - 80153f2: 4613 mov r3, r2 - 80153f4: 009b lsls r3, r3, #2 - 80153f6: 4413 add r3, r2 - 80153f8: 009b lsls r3, r3, #2 - 80153fa: 4403 add r3, r0 - 80153fc: 6019 str r1, [r3, #0] + 8015d16: 69fb ldr r3, [r7, #28] + 8015d18: 6ada ldr r2, [r3, #44] @ 0x2c + 8015d1a: 4b42 ldr r3, [pc, #264] @ (8015e24 ) + 8015d1c: 681b ldr r3, [r3, #0] + 8015d1e: 429a cmp r2, r3 + 8015d20: d903 bls.n 8015d2a + 8015d22: 69fb ldr r3, [r7, #28] + 8015d24: 6adb ldr r3, [r3, #44] @ 0x2c + 8015d26: 4a3f ldr r2, [pc, #252] @ (8015e24 ) + 8015d28: 6013 str r3, [r2, #0] + 8015d2a: 69fb ldr r3, [r7, #28] + 8015d2c: 6ada ldr r2, [r3, #44] @ 0x2c + 8015d2e: 493e ldr r1, [pc, #248] @ (8015e28 ) + 8015d30: 4613 mov r3, r2 + 8015d32: 009b lsls r3, r3, #2 + 8015d34: 4413 add r3, r2 + 8015d36: 009b lsls r3, r3, #2 + 8015d38: 440b add r3, r1 + 8015d3a: 3304 adds r3, #4 + 8015d3c: 681b ldr r3, [r3, #0] + 8015d3e: 60bb str r3, [r7, #8] + 8015d40: 69fb ldr r3, [r7, #28] + 8015d42: 68ba ldr r2, [r7, #8] + 8015d44: 609a str r2, [r3, #8] + 8015d46: 68bb ldr r3, [r7, #8] + 8015d48: 689a ldr r2, [r3, #8] + 8015d4a: 69fb ldr r3, [r7, #28] + 8015d4c: 60da str r2, [r3, #12] + 8015d4e: 68bb ldr r3, [r7, #8] + 8015d50: 689b ldr r3, [r3, #8] + 8015d52: 69fa ldr r2, [r7, #28] + 8015d54: 3204 adds r2, #4 + 8015d56: 605a str r2, [r3, #4] + 8015d58: 69fb ldr r3, [r7, #28] + 8015d5a: 1d1a adds r2, r3, #4 + 8015d5c: 68bb ldr r3, [r7, #8] + 8015d5e: 609a str r2, [r3, #8] + 8015d60: 69fb ldr r3, [r7, #28] + 8015d62: 6ada ldr r2, [r3, #44] @ 0x2c + 8015d64: 4613 mov r3, r2 + 8015d66: 009b lsls r3, r3, #2 + 8015d68: 4413 add r3, r2 + 8015d6a: 009b lsls r3, r3, #2 + 8015d6c: 4a2e ldr r2, [pc, #184] @ (8015e28 ) + 8015d6e: 441a add r2, r3 + 8015d70: 69fb ldr r3, [r7, #28] + 8015d72: 615a str r2, [r3, #20] + 8015d74: 69fb ldr r3, [r7, #28] + 8015d76: 6ada ldr r2, [r3, #44] @ 0x2c + 8015d78: 492b ldr r1, [pc, #172] @ (8015e28 ) + 8015d7a: 4613 mov r3, r2 + 8015d7c: 009b lsls r3, r3, #2 + 8015d7e: 4413 add r3, r2 + 8015d80: 009b lsls r3, r3, #2 + 8015d82: 440b add r3, r1 + 8015d84: 681b ldr r3, [r3, #0] + 8015d86: 1c59 adds r1, r3, #1 + 8015d88: 4827 ldr r0, [pc, #156] @ (8015e28 ) + 8015d8a: 4613 mov r3, r2 + 8015d8c: 009b lsls r3, r3, #2 + 8015d8e: 4413 add r3, r2 + 8015d90: 009b lsls r3, r3, #2 + 8015d92: 4403 add r3, r0 + 8015d94: 6019 str r1, [r3, #0] /* If the moved task has a priority higher than the current * task then a yield must be performed. */ if( pxTCB->uxPriority > pxCurrentTCB->uxPriority ) - 80153fe: 69fb ldr r3, [r7, #28] - 8015400: 6ada ldr r2, [r3, #44] @ 0x2c - 8015402: 4b24 ldr r3, [pc, #144] @ (8015494 ) - 8015404: 681b ldr r3, [r3, #0] - 8015406: 6adb ldr r3, [r3, #44] @ 0x2c - 8015408: 429a cmp r2, r3 - 801540a: d902 bls.n 8015412 + 8015d96: 69fb ldr r3, [r7, #28] + 8015d98: 6ada ldr r2, [r3, #44] @ 0x2c + 8015d9a: 4b24 ldr r3, [pc, #144] @ (8015e2c ) + 8015d9c: 681b ldr r3, [r3, #0] + 8015d9e: 6adb ldr r3, [r3, #44] @ 0x2c + 8015da0: 429a cmp r2, r3 + 8015da2: d902 bls.n 8015daa { xYieldPending = pdTRUE; - 801540c: 4b22 ldr r3, [pc, #136] @ (8015498 ) - 801540e: 2201 movs r2, #1 - 8015410: 601a str r2, [r3, #0] + 8015da4: 4b22 ldr r3, [pc, #136] @ (8015e30 ) + 8015da6: 2201 movs r2, #1 + 8015da8: 601a str r2, [r3, #0] while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE ) - 8015412: 4b1d ldr r3, [pc, #116] @ (8015488 ) - 8015414: 681b ldr r3, [r3, #0] - 8015416: 2b00 cmp r3, #0 - 8015418: f47f af6f bne.w 80152fa + 8015daa: 4b1d ldr r3, [pc, #116] @ (8015e20 ) + 8015dac: 681b ldr r3, [r3, #0] + 8015dae: 2b00 cmp r3, #0 + 8015db0: f47f af6f bne.w 8015c92 { mtCOVERAGE_TEST_MARKER(); } } if( pxTCB != NULL ) - 801541c: 69fb ldr r3, [r7, #28] - 801541e: 2b00 cmp r3, #0 - 8015420: d001 beq.n 8015426 + 8015db4: 69fb ldr r3, [r7, #28] + 8015db6: 2b00 cmp r3, #0 + 8015db8: d001 beq.n 8015dbe * which may have prevented the next unblock time from being * re-calculated, in which case re-calculate it now. Mainly * important for low power tickless implementations, where * this can prevent an unnecessary exit from low power * state. */ prvResetNextTaskUnblockTime(); - 8015422: f000 fc55 bl 8015cd0 + 8015dba: f000 fc89 bl 80166d0 /* If any ticks occurred while the scheduler was suspended then * they should be processed now. This ensures the tick count does * not slip, and that any delayed tasks are resumed at the correct * time. */ { TickType_t xPendedCounts = xPendedTicks; /* Non-volatile copy. */ - 8015426: 4b1d ldr r3, [pc, #116] @ (801549c ) - 8015428: 681b ldr r3, [r3, #0] - 801542a: 617b str r3, [r7, #20] + 8015dbe: 4b1d ldr r3, [pc, #116] @ (8015e34 ) + 8015dc0: 681b ldr r3, [r3, #0] + 8015dc2: 617b str r3, [r7, #20] if( xPendedCounts > ( TickType_t ) 0U ) - 801542c: 697b ldr r3, [r7, #20] - 801542e: 2b00 cmp r3, #0 - 8015430: d010 beq.n 8015454 + 8015dc4: 697b ldr r3, [r7, #20] + 8015dc6: 2b00 cmp r3, #0 + 8015dc8: d010 beq.n 8015dec { do { if( xTaskIncrementTick() != pdFALSE ) - 8015432: f000 f853 bl 80154dc - 8015436: 4603 mov r3, r0 - 8015438: 2b00 cmp r3, #0 - 801543a: d002 beq.n 8015442 + 8015dca: f000 f853 bl 8015e74 + 8015dce: 4603 mov r3, r0 + 8015dd0: 2b00 cmp r3, #0 + 8015dd2: d002 beq.n 8015dda { xYieldPending = pdTRUE; - 801543c: 4b16 ldr r3, [pc, #88] @ (8015498 ) - 801543e: 2201 movs r2, #1 - 8015440: 601a str r2, [r3, #0] + 8015dd4: 4b16 ldr r3, [pc, #88] @ (8015e30 ) + 8015dd6: 2201 movs r2, #1 + 8015dd8: 601a str r2, [r3, #0] else { mtCOVERAGE_TEST_MARKER(); } --xPendedCounts; - 8015442: 697b ldr r3, [r7, #20] - 8015444: 3b01 subs r3, #1 - 8015446: 617b str r3, [r7, #20] + 8015dda: 697b ldr r3, [r7, #20] + 8015ddc: 3b01 subs r3, #1 + 8015dde: 617b str r3, [r7, #20] } while( xPendedCounts > ( TickType_t ) 0U ); - 8015448: 697b ldr r3, [r7, #20] - 801544a: 2b00 cmp r3, #0 - 801544c: d1f1 bne.n 8015432 + 8015de0: 697b ldr r3, [r7, #20] + 8015de2: 2b00 cmp r3, #0 + 8015de4: d1f1 bne.n 8015dca xPendedTicks = 0; - 801544e: 4b13 ldr r3, [pc, #76] @ (801549c ) - 8015450: 2200 movs r2, #0 - 8015452: 601a str r2, [r3, #0] + 8015de6: 4b13 ldr r3, [pc, #76] @ (8015e34 ) + 8015de8: 2200 movs r2, #0 + 8015dea: 601a str r2, [r3, #0] { mtCOVERAGE_TEST_MARKER(); } } if( xYieldPending != pdFALSE ) - 8015454: 4b10 ldr r3, [pc, #64] @ (8015498 ) - 8015456: 681b ldr r3, [r3, #0] - 8015458: 2b00 cmp r3, #0 - 801545a: d009 beq.n 8015470 + 8015dec: 4b10 ldr r3, [pc, #64] @ (8015e30 ) + 8015dee: 681b ldr r3, [r3, #0] + 8015df0: 2b00 cmp r3, #0 + 8015df2: d009 beq.n 8015e08 { #if ( configUSE_PREEMPTION != 0 ) { xAlreadyYielded = pdTRUE; - 801545c: 2301 movs r3, #1 - 801545e: 61bb str r3, [r7, #24] + 8015df4: 2301 movs r3, #1 + 8015df6: 61bb str r3, [r7, #24] } #endif taskYIELD_IF_USING_PREEMPTION(); - 8015460: 4b0f ldr r3, [pc, #60] @ (80154a0 ) - 8015462: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8015466: 601a str r2, [r3, #0] - 8015468: f3bf 8f4f dsb sy - 801546c: f3bf 8f6f isb sy + 8015df8: 4b0f ldr r3, [pc, #60] @ (8015e38 ) + 8015dfa: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8015dfe: 601a str r2, [r3, #0] + 8015e00: f3bf 8f4f dsb sy + 8015e04: f3bf 8f6f isb sy else { mtCOVERAGE_TEST_MARKER(); } } taskEXIT_CRITICAL(); - 8015470: f001 ffa8 bl 80173c4 + 8015e08: f001 ffc4 bl 8017d94 return xAlreadyYielded; - 8015474: 69bb ldr r3, [r7, #24] + 8015e0c: 69bb ldr r3, [r7, #24] } - 8015476: 4618 mov r0, r3 - 8015478: 3720 adds r7, #32 - 801547a: 46bd mov sp, r7 - 801547c: bd80 pop {r7, pc} - 801547e: bf00 nop - 8015480: 200025c4 .word 0x200025c4 - 8015484: 2000259c .word 0x2000259c - 8015488: 2000255c .word 0x2000255c - 801548c: 200025a4 .word 0x200025a4 - 8015490: 200020cc .word 0x200020cc - 8015494: 200020c8 .word 0x200020c8 - 8015498: 200025b0 .word 0x200025b0 - 801549c: 200025ac .word 0x200025ac - 80154a0: e000ed04 .word 0xe000ed04 + 8015e0e: 4618 mov r0, r3 + 8015e10: 3720 adds r7, #32 + 8015e12: 46bd mov sp, r7 + 8015e14: bd80 pop {r7, pc} + 8015e16: bf00 nop + 8015e18: 20002664 .word 0x20002664 + 8015e1c: 2000263c .word 0x2000263c + 8015e20: 200025fc .word 0x200025fc + 8015e24: 20002644 .word 0x20002644 + 8015e28: 2000216c .word 0x2000216c + 8015e2c: 20002168 .word 0x20002168 + 8015e30: 20002650 .word 0x20002650 + 8015e34: 2000264c .word 0x2000264c + 8015e38: e000ed04 .word 0xe000ed04 -080154a4 : +08015e3c : /*-----------------------------------------------------------*/ TickType_t xTaskGetTickCount( void ) { - 80154a4: b480 push {r7} - 80154a6: b083 sub sp, #12 - 80154a8: af00 add r7, sp, #0 + 8015e3c: b480 push {r7} + 8015e3e: b083 sub sp, #12 + 8015e40: af00 add r7, sp, #0 TickType_t xTicks; /* Critical section required if running on a 16 bit processor. */ portTICK_TYPE_ENTER_CRITICAL(); { xTicks = xTickCount; - 80154aa: 4b05 ldr r3, [pc, #20] @ (80154c0 ) - 80154ac: 681b ldr r3, [r3, #0] - 80154ae: 607b str r3, [r7, #4] + 8015e42: 4b05 ldr r3, [pc, #20] @ (8015e58 ) + 8015e44: 681b ldr r3, [r3, #0] + 8015e46: 607b str r3, [r7, #4] } portTICK_TYPE_EXIT_CRITICAL(); return xTicks; - 80154b0: 687b ldr r3, [r7, #4] + 8015e48: 687b ldr r3, [r7, #4] } - 80154b2: 4618 mov r0, r3 - 80154b4: 370c adds r7, #12 - 80154b6: 46bd mov sp, r7 - 80154b8: f85d 7b04 ldr.w r7, [sp], #4 - 80154bc: 4770 bx lr - 80154be: bf00 nop - 80154c0: 200025a0 .word 0x200025a0 + 8015e4a: 4618 mov r0, r3 + 8015e4c: 370c adds r7, #12 + 8015e4e: 46bd mov sp, r7 + 8015e50: f85d 7b04 ldr.w r7, [sp], #4 + 8015e54: 4770 bx lr + 8015e56: bf00 nop + 8015e58: 20002640 .word 0x20002640 -080154c4 : +08015e5c : return xReturn; } /*-----------------------------------------------------------*/ UBaseType_t uxTaskGetNumberOfTasks( void ) { - 80154c4: b480 push {r7} - 80154c6: af00 add r7, sp, #0 + 8015e5c: b480 push {r7} + 8015e5e: af00 add r7, sp, #0 /* A critical section is not required because the variables are of type * BaseType_t. */ return uxCurrentNumberOfTasks; - 80154c8: 4b03 ldr r3, [pc, #12] @ (80154d8 ) - 80154ca: 681b ldr r3, [r3, #0] + 8015e60: 4b03 ldr r3, [pc, #12] @ (8015e70 ) + 8015e62: 681b ldr r3, [r3, #0] } - 80154cc: 4618 mov r0, r3 - 80154ce: 46bd mov sp, r7 - 80154d0: f85d 7b04 ldr.w r7, [sp], #4 - 80154d4: 4770 bx lr - 80154d6: bf00 nop - 80154d8: 2000259c .word 0x2000259c + 8015e64: 4618 mov r0, r3 + 8015e66: 46bd mov sp, r7 + 8015e68: f85d 7b04 ldr.w r7, [sp], #4 + 8015e6c: 4770 bx lr + 8015e6e: bf00 nop + 8015e70: 2000263c .word 0x2000263c -080154dc : +08015e74 : #endif /* INCLUDE_xTaskAbortDelay */ /*----------------------------------------------------------*/ BaseType_t xTaskIncrementTick( void ) { - 80154dc: b580 push {r7, lr} - 80154de: b08a sub sp, #40 @ 0x28 - 80154e0: af00 add r7, sp, #0 + 8015e74: b580 push {r7, lr} + 8015e76: b08a sub sp, #40 @ 0x28 + 8015e78: af00 add r7, sp, #0 TCB_t * pxTCB; TickType_t xItemValue; BaseType_t xSwitchRequired = pdFALSE; - 80154e2: 2300 movs r3, #0 - 80154e4: 627b str r3, [r7, #36] @ 0x24 + 8015e7a: 2300 movs r3, #0 + 8015e7c: 627b str r3, [r7, #36] @ 0x24 /* Called by the portable layer each time a tick interrupt occurs. * Increments the tick then checks to see if the new tick value will cause any * tasks to be unblocked. */ traceTASK_INCREMENT_TICK( xTickCount ); if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) - 80154e6: 4b7e ldr r3, [pc, #504] @ (80156e0 ) - 80154e8: 681b ldr r3, [r3, #0] - 80154ea: 2b00 cmp r3, #0 - 80154ec: f040 80ee bne.w 80156cc + 8015e7e: 4b7e ldr r3, [pc, #504] @ (8016078 ) + 8015e80: 681b ldr r3, [r3, #0] + 8015e82: 2b00 cmp r3, #0 + 8015e84: f040 80ee bne.w 8016064 { /* Minor optimisation. The tick count cannot change in this * block. */ const TickType_t xConstTickCount = xTickCount + ( TickType_t ) 1; - 80154f0: 4b7c ldr r3, [pc, #496] @ (80156e4 ) - 80154f2: 681b ldr r3, [r3, #0] - 80154f4: 3301 adds r3, #1 - 80154f6: 623b str r3, [r7, #32] + 8015e88: 4b7c ldr r3, [pc, #496] @ (801607c ) + 8015e8a: 681b ldr r3, [r3, #0] + 8015e8c: 3301 adds r3, #1 + 8015e8e: 623b str r3, [r7, #32] /* Increment the RTOS tick, switching the delayed and overflowed * delayed lists if it wraps to 0. */ xTickCount = xConstTickCount; - 80154f8: 4a7a ldr r2, [pc, #488] @ (80156e4 ) - 80154fa: 6a3b ldr r3, [r7, #32] - 80154fc: 6013 str r3, [r2, #0] + 8015e90: 4a7a ldr r2, [pc, #488] @ (801607c ) + 8015e92: 6a3b ldr r3, [r7, #32] + 8015e94: 6013 str r3, [r2, #0] if( xConstTickCount == ( TickType_t ) 0U ) /*lint !e774 'if' does not always evaluate to false as it is looking for an overflow. */ - 80154fe: 6a3b ldr r3, [r7, #32] - 8015500: 2b00 cmp r3, #0 - 8015502: d121 bne.n 8015548 + 8015e96: 6a3b ldr r3, [r7, #32] + 8015e98: 2b00 cmp r3, #0 + 8015e9a: d121 bne.n 8015ee0 { taskSWITCH_DELAYED_LISTS(); - 8015504: 4b78 ldr r3, [pc, #480] @ (80156e8 ) - 8015506: 681b ldr r3, [r3, #0] - 8015508: 681b ldr r3, [r3, #0] - 801550a: 2b00 cmp r3, #0 - 801550c: d00b beq.n 8015526 + 8015e9c: 4b78 ldr r3, [pc, #480] @ (8016080 ) + 8015e9e: 681b ldr r3, [r3, #0] + 8015ea0: 681b ldr r3, [r3, #0] + 8015ea2: 2b00 cmp r3, #0 + 8015ea4: d00b beq.n 8015ebe __asm volatile - 801550e: f04f 0350 mov.w r3, #80 @ 0x50 - 8015512: f383 8811 msr BASEPRI, r3 - 8015516: f3bf 8f6f isb sy - 801551a: f3bf 8f4f dsb sy - 801551e: 607b str r3, [r7, #4] + 8015ea6: f04f 0350 mov.w r3, #80 @ 0x50 + 8015eaa: f383 8811 msr BASEPRI, r3 + 8015eae: f3bf 8f6f isb sy + 8015eb2: f3bf 8f4f dsb sy + 8015eb6: 607b str r3, [r7, #4] } - 8015520: bf00 nop - 8015522: bf00 nop - 8015524: e7fd b.n 8015522 - 8015526: 4b70 ldr r3, [pc, #448] @ (80156e8 ) - 8015528: 681b ldr r3, [r3, #0] - 801552a: 61fb str r3, [r7, #28] - 801552c: 4b6f ldr r3, [pc, #444] @ (80156ec ) - 801552e: 681b ldr r3, [r3, #0] - 8015530: 4a6d ldr r2, [pc, #436] @ (80156e8 ) - 8015532: 6013 str r3, [r2, #0] - 8015534: 4a6d ldr r2, [pc, #436] @ (80156ec ) - 8015536: 69fb ldr r3, [r7, #28] - 8015538: 6013 str r3, [r2, #0] - 801553a: 4b6d ldr r3, [pc, #436] @ (80156f0 ) - 801553c: 681b ldr r3, [r3, #0] - 801553e: 3301 adds r3, #1 - 8015540: 4a6b ldr r2, [pc, #428] @ (80156f0 ) - 8015542: 6013 str r3, [r2, #0] - 8015544: f000 fbc4 bl 8015cd0 + 8015eb8: bf00 nop + 8015eba: bf00 nop + 8015ebc: e7fd b.n 8015eba + 8015ebe: 4b70 ldr r3, [pc, #448] @ (8016080 ) + 8015ec0: 681b ldr r3, [r3, #0] + 8015ec2: 61fb str r3, [r7, #28] + 8015ec4: 4b6f ldr r3, [pc, #444] @ (8016084 ) + 8015ec6: 681b ldr r3, [r3, #0] + 8015ec8: 4a6d ldr r2, [pc, #436] @ (8016080 ) + 8015eca: 6013 str r3, [r2, #0] + 8015ecc: 4a6d ldr r2, [pc, #436] @ (8016084 ) + 8015ece: 69fb ldr r3, [r7, #28] + 8015ed0: 6013 str r3, [r2, #0] + 8015ed2: 4b6d ldr r3, [pc, #436] @ (8016088 ) + 8015ed4: 681b ldr r3, [r3, #0] + 8015ed6: 3301 adds r3, #1 + 8015ed8: 4a6b ldr r2, [pc, #428] @ (8016088 ) + 8015eda: 6013 str r3, [r2, #0] + 8015edc: f000 fbf8 bl 80166d0 /* See if this tick has made a timeout expire. Tasks are stored in * the queue in the order of their wake time - meaning once one task * has been found whose block time has not expired there is no need to * look any further down the list. */ if( xConstTickCount >= xNextTaskUnblockTime ) - 8015548: 4b6a ldr r3, [pc, #424] @ (80156f4 ) - 801554a: 681b ldr r3, [r3, #0] - 801554c: 6a3a ldr r2, [r7, #32] - 801554e: 429a cmp r2, r3 - 8015550: f0c0 80a7 bcc.w 80156a2 + 8015ee0: 4b6a ldr r3, [pc, #424] @ (801608c ) + 8015ee2: 681b ldr r3, [r3, #0] + 8015ee4: 6a3a ldr r2, [r7, #32] + 8015ee6: 429a cmp r2, r3 + 8015ee8: f0c0 80a7 bcc.w 801603a { for( ; ; ) { if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) - 8015554: 4b64 ldr r3, [pc, #400] @ (80156e8 ) - 8015556: 681b ldr r3, [r3, #0] - 8015558: 681b ldr r3, [r3, #0] - 801555a: 2b00 cmp r3, #0 - 801555c: d104 bne.n 8015568 + 8015eec: 4b64 ldr r3, [pc, #400] @ (8016080 ) + 8015eee: 681b ldr r3, [r3, #0] + 8015ef0: 681b ldr r3, [r3, #0] + 8015ef2: 2b00 cmp r3, #0 + 8015ef4: d104 bne.n 8015f00 /* The delayed list is empty. Set xNextTaskUnblockTime * to the maximum possible value so it is extremely * unlikely that the * if( xTickCount >= xNextTaskUnblockTime ) test will pass * next time through. */ xNextTaskUnblockTime = portMAX_DELAY; /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 801555e: 4b65 ldr r3, [pc, #404] @ (80156f4 ) - 8015560: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8015564: 601a str r2, [r3, #0] + 8015ef6: 4b65 ldr r3, [pc, #404] @ (801608c ) + 8015ef8: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8015efc: 601a str r2, [r3, #0] break; - 8015566: e09c b.n 80156a2 + 8015efe: e09c b.n 801603a { /* The delayed list is not empty, get the value of the * item at the head of the delayed list. This is the time * at which the task at the head of the delayed list must * be removed from the Blocked state. */ pxTCB = listGET_OWNER_OF_HEAD_ENTRY( pxDelayedTaskList ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 8015568: 4b5f ldr r3, [pc, #380] @ (80156e8 ) - 801556a: 681b ldr r3, [r3, #0] - 801556c: 68db ldr r3, [r3, #12] - 801556e: 68db ldr r3, [r3, #12] - 8015570: 61bb str r3, [r7, #24] + 8015f00: 4b5f ldr r3, [pc, #380] @ (8016080 ) + 8015f02: 681b ldr r3, [r3, #0] + 8015f04: 68db ldr r3, [r3, #12] + 8015f06: 68db ldr r3, [r3, #12] + 8015f08: 61bb str r3, [r7, #24] xItemValue = listGET_LIST_ITEM_VALUE( &( pxTCB->xStateListItem ) ); - 8015572: 69bb ldr r3, [r7, #24] - 8015574: 685b ldr r3, [r3, #4] - 8015576: 617b str r3, [r7, #20] + 8015f0a: 69bb ldr r3, [r7, #24] + 8015f0c: 685b ldr r3, [r3, #4] + 8015f0e: 617b str r3, [r7, #20] if( xConstTickCount < xItemValue ) - 8015578: 6a3a ldr r2, [r7, #32] - 801557a: 697b ldr r3, [r7, #20] - 801557c: 429a cmp r2, r3 - 801557e: d203 bcs.n 8015588 + 8015f10: 6a3a ldr r2, [r7, #32] + 8015f12: 697b ldr r3, [r7, #20] + 8015f14: 429a cmp r2, r3 + 8015f16: d203 bcs.n 8015f20 /* It is not time to unblock this item yet, but the * item value is the time at which the task at the head * of the blocked list must be removed from the Blocked * state - so record the item value in * xNextTaskUnblockTime. */ xNextTaskUnblockTime = xItemValue; - 8015580: 4a5c ldr r2, [pc, #368] @ (80156f4 ) - 8015582: 697b ldr r3, [r7, #20] - 8015584: 6013 str r3, [r2, #0] + 8015f18: 4a5c ldr r2, [pc, #368] @ (801608c ) + 8015f1a: 697b ldr r3, [r7, #20] + 8015f1c: 6013 str r3, [r2, #0] break; /*lint !e9011 Code structure here is deemed easier to understand with multiple breaks. */ - 8015586: e08c b.n 80156a2 + 8015f1e: e08c b.n 801603a { mtCOVERAGE_TEST_MARKER(); } /* It is time to remove the item from the Blocked state. */ listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); - 8015588: 69bb ldr r3, [r7, #24] - 801558a: 695b ldr r3, [r3, #20] - 801558c: 613b str r3, [r7, #16] - 801558e: 69bb ldr r3, [r7, #24] - 8015590: 689b ldr r3, [r3, #8] - 8015592: 69ba ldr r2, [r7, #24] - 8015594: 68d2 ldr r2, [r2, #12] - 8015596: 609a str r2, [r3, #8] - 8015598: 69bb ldr r3, [r7, #24] - 801559a: 68db ldr r3, [r3, #12] - 801559c: 69ba ldr r2, [r7, #24] - 801559e: 6892 ldr r2, [r2, #8] - 80155a0: 605a str r2, [r3, #4] - 80155a2: 693b ldr r3, [r7, #16] - 80155a4: 685a ldr r2, [r3, #4] - 80155a6: 69bb ldr r3, [r7, #24] - 80155a8: 3304 adds r3, #4 - 80155aa: 429a cmp r2, r3 - 80155ac: d103 bne.n 80155b6 - 80155ae: 69bb ldr r3, [r7, #24] - 80155b0: 68da ldr r2, [r3, #12] - 80155b2: 693b ldr r3, [r7, #16] - 80155b4: 605a str r2, [r3, #4] - 80155b6: 69bb ldr r3, [r7, #24] - 80155b8: 2200 movs r2, #0 - 80155ba: 615a str r2, [r3, #20] - 80155bc: 693b ldr r3, [r7, #16] - 80155be: 681b ldr r3, [r3, #0] - 80155c0: 1e5a subs r2, r3, #1 - 80155c2: 693b ldr r3, [r7, #16] - 80155c4: 601a str r2, [r3, #0] + 8015f20: 69bb ldr r3, [r7, #24] + 8015f22: 695b ldr r3, [r3, #20] + 8015f24: 613b str r3, [r7, #16] + 8015f26: 69bb ldr r3, [r7, #24] + 8015f28: 689b ldr r3, [r3, #8] + 8015f2a: 69ba ldr r2, [r7, #24] + 8015f2c: 68d2 ldr r2, [r2, #12] + 8015f2e: 609a str r2, [r3, #8] + 8015f30: 69bb ldr r3, [r7, #24] + 8015f32: 68db ldr r3, [r3, #12] + 8015f34: 69ba ldr r2, [r7, #24] + 8015f36: 6892 ldr r2, [r2, #8] + 8015f38: 605a str r2, [r3, #4] + 8015f3a: 693b ldr r3, [r7, #16] + 8015f3c: 685a ldr r2, [r3, #4] + 8015f3e: 69bb ldr r3, [r7, #24] + 8015f40: 3304 adds r3, #4 + 8015f42: 429a cmp r2, r3 + 8015f44: d103 bne.n 8015f4e + 8015f46: 69bb ldr r3, [r7, #24] + 8015f48: 68da ldr r2, [r3, #12] + 8015f4a: 693b ldr r3, [r7, #16] + 8015f4c: 605a str r2, [r3, #4] + 8015f4e: 69bb ldr r3, [r7, #24] + 8015f50: 2200 movs r2, #0 + 8015f52: 615a str r2, [r3, #20] + 8015f54: 693b ldr r3, [r7, #16] + 8015f56: 681b ldr r3, [r3, #0] + 8015f58: 1e5a subs r2, r3, #1 + 8015f5a: 693b ldr r3, [r7, #16] + 8015f5c: 601a str r2, [r3, #0] /* Is the task waiting on an event also? If so remove * it from the event list. */ if( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) != NULL ) - 80155c6: 69bb ldr r3, [r7, #24] - 80155c8: 6a9b ldr r3, [r3, #40] @ 0x28 - 80155ca: 2b00 cmp r3, #0 - 80155cc: d01e beq.n 801560c + 8015f5e: 69bb ldr r3, [r7, #24] + 8015f60: 6a9b ldr r3, [r3, #40] @ 0x28 + 8015f62: 2b00 cmp r3, #0 + 8015f64: d01e beq.n 8015fa4 { listREMOVE_ITEM( &( pxTCB->xEventListItem ) ); - 80155ce: 69bb ldr r3, [r7, #24] - 80155d0: 6a9b ldr r3, [r3, #40] @ 0x28 - 80155d2: 60fb str r3, [r7, #12] - 80155d4: 69bb ldr r3, [r7, #24] - 80155d6: 69db ldr r3, [r3, #28] - 80155d8: 69ba ldr r2, [r7, #24] - 80155da: 6a12 ldr r2, [r2, #32] - 80155dc: 609a str r2, [r3, #8] - 80155de: 69bb ldr r3, [r7, #24] - 80155e0: 6a1b ldr r3, [r3, #32] - 80155e2: 69ba ldr r2, [r7, #24] - 80155e4: 69d2 ldr r2, [r2, #28] - 80155e6: 605a str r2, [r3, #4] - 80155e8: 68fb ldr r3, [r7, #12] - 80155ea: 685a ldr r2, [r3, #4] - 80155ec: 69bb ldr r3, [r7, #24] - 80155ee: 3318 adds r3, #24 - 80155f0: 429a cmp r2, r3 - 80155f2: d103 bne.n 80155fc - 80155f4: 69bb ldr r3, [r7, #24] - 80155f6: 6a1a ldr r2, [r3, #32] - 80155f8: 68fb ldr r3, [r7, #12] - 80155fa: 605a str r2, [r3, #4] - 80155fc: 69bb ldr r3, [r7, #24] - 80155fe: 2200 movs r2, #0 - 8015600: 629a str r2, [r3, #40] @ 0x28 - 8015602: 68fb ldr r3, [r7, #12] - 8015604: 681b ldr r3, [r3, #0] - 8015606: 1e5a subs r2, r3, #1 - 8015608: 68fb ldr r3, [r7, #12] - 801560a: 601a str r2, [r3, #0] + 8015f66: 69bb ldr r3, [r7, #24] + 8015f68: 6a9b ldr r3, [r3, #40] @ 0x28 + 8015f6a: 60fb str r3, [r7, #12] + 8015f6c: 69bb ldr r3, [r7, #24] + 8015f6e: 69db ldr r3, [r3, #28] + 8015f70: 69ba ldr r2, [r7, #24] + 8015f72: 6a12 ldr r2, [r2, #32] + 8015f74: 609a str r2, [r3, #8] + 8015f76: 69bb ldr r3, [r7, #24] + 8015f78: 6a1b ldr r3, [r3, #32] + 8015f7a: 69ba ldr r2, [r7, #24] + 8015f7c: 69d2 ldr r2, [r2, #28] + 8015f7e: 605a str r2, [r3, #4] + 8015f80: 68fb ldr r3, [r7, #12] + 8015f82: 685a ldr r2, [r3, #4] + 8015f84: 69bb ldr r3, [r7, #24] + 8015f86: 3318 adds r3, #24 + 8015f88: 429a cmp r2, r3 + 8015f8a: d103 bne.n 8015f94 + 8015f8c: 69bb ldr r3, [r7, #24] + 8015f8e: 6a1a ldr r2, [r3, #32] + 8015f90: 68fb ldr r3, [r7, #12] + 8015f92: 605a str r2, [r3, #4] + 8015f94: 69bb ldr r3, [r7, #24] + 8015f96: 2200 movs r2, #0 + 8015f98: 629a str r2, [r3, #40] @ 0x28 + 8015f9a: 68fb ldr r3, [r7, #12] + 8015f9c: 681b ldr r3, [r3, #0] + 8015f9e: 1e5a subs r2, r3, #1 + 8015fa0: 68fb ldr r3, [r7, #12] + 8015fa2: 601a str r2, [r3, #0] mtCOVERAGE_TEST_MARKER(); } /* Place the unblocked task into the appropriate ready * list. */ prvAddTaskToReadyList( pxTCB ); - 801560c: 69bb ldr r3, [r7, #24] - 801560e: 6ada ldr r2, [r3, #44] @ 0x2c - 8015610: 4b39 ldr r3, [pc, #228] @ (80156f8 ) - 8015612: 681b ldr r3, [r3, #0] - 8015614: 429a cmp r2, r3 - 8015616: d903 bls.n 8015620 - 8015618: 69bb ldr r3, [r7, #24] - 801561a: 6adb ldr r3, [r3, #44] @ 0x2c - 801561c: 4a36 ldr r2, [pc, #216] @ (80156f8 ) - 801561e: 6013 str r3, [r2, #0] - 8015620: 69bb ldr r3, [r7, #24] - 8015622: 6ada ldr r2, [r3, #44] @ 0x2c - 8015624: 4935 ldr r1, [pc, #212] @ (80156fc ) - 8015626: 4613 mov r3, r2 - 8015628: 009b lsls r3, r3, #2 - 801562a: 4413 add r3, r2 - 801562c: 009b lsls r3, r3, #2 - 801562e: 440b add r3, r1 - 8015630: 3304 adds r3, #4 - 8015632: 681b ldr r3, [r3, #0] - 8015634: 60bb str r3, [r7, #8] - 8015636: 69bb ldr r3, [r7, #24] - 8015638: 68ba ldr r2, [r7, #8] - 801563a: 609a str r2, [r3, #8] - 801563c: 68bb ldr r3, [r7, #8] - 801563e: 689a ldr r2, [r3, #8] - 8015640: 69bb ldr r3, [r7, #24] - 8015642: 60da str r2, [r3, #12] - 8015644: 68bb ldr r3, [r7, #8] - 8015646: 689b ldr r3, [r3, #8] - 8015648: 69ba ldr r2, [r7, #24] - 801564a: 3204 adds r2, #4 - 801564c: 605a str r2, [r3, #4] - 801564e: 69bb ldr r3, [r7, #24] - 8015650: 1d1a adds r2, r3, #4 - 8015652: 68bb ldr r3, [r7, #8] - 8015654: 609a str r2, [r3, #8] - 8015656: 69bb ldr r3, [r7, #24] - 8015658: 6ada ldr r2, [r3, #44] @ 0x2c - 801565a: 4613 mov r3, r2 - 801565c: 009b lsls r3, r3, #2 - 801565e: 4413 add r3, r2 - 8015660: 009b lsls r3, r3, #2 - 8015662: 4a26 ldr r2, [pc, #152] @ (80156fc ) - 8015664: 441a add r2, r3 - 8015666: 69bb ldr r3, [r7, #24] - 8015668: 615a str r2, [r3, #20] - 801566a: 69bb ldr r3, [r7, #24] - 801566c: 6ada ldr r2, [r3, #44] @ 0x2c - 801566e: 4923 ldr r1, [pc, #140] @ (80156fc ) - 8015670: 4613 mov r3, r2 - 8015672: 009b lsls r3, r3, #2 - 8015674: 4413 add r3, r2 - 8015676: 009b lsls r3, r3, #2 - 8015678: 440b add r3, r1 - 801567a: 681b ldr r3, [r3, #0] - 801567c: 1c59 adds r1, r3, #1 - 801567e: 481f ldr r0, [pc, #124] @ (80156fc ) - 8015680: 4613 mov r3, r2 - 8015682: 009b lsls r3, r3, #2 - 8015684: 4413 add r3, r2 - 8015686: 009b lsls r3, r3, #2 - 8015688: 4403 add r3, r0 - 801568a: 6019 str r1, [r3, #0] + 8015fa4: 69bb ldr r3, [r7, #24] + 8015fa6: 6ada ldr r2, [r3, #44] @ 0x2c + 8015fa8: 4b39 ldr r3, [pc, #228] @ (8016090 ) + 8015faa: 681b ldr r3, [r3, #0] + 8015fac: 429a cmp r2, r3 + 8015fae: d903 bls.n 8015fb8 + 8015fb0: 69bb ldr r3, [r7, #24] + 8015fb2: 6adb ldr r3, [r3, #44] @ 0x2c + 8015fb4: 4a36 ldr r2, [pc, #216] @ (8016090 ) + 8015fb6: 6013 str r3, [r2, #0] + 8015fb8: 69bb ldr r3, [r7, #24] + 8015fba: 6ada ldr r2, [r3, #44] @ 0x2c + 8015fbc: 4935 ldr r1, [pc, #212] @ (8016094 ) + 8015fbe: 4613 mov r3, r2 + 8015fc0: 009b lsls r3, r3, #2 + 8015fc2: 4413 add r3, r2 + 8015fc4: 009b lsls r3, r3, #2 + 8015fc6: 440b add r3, r1 + 8015fc8: 3304 adds r3, #4 + 8015fca: 681b ldr r3, [r3, #0] + 8015fcc: 60bb str r3, [r7, #8] + 8015fce: 69bb ldr r3, [r7, #24] + 8015fd0: 68ba ldr r2, [r7, #8] + 8015fd2: 609a str r2, [r3, #8] + 8015fd4: 68bb ldr r3, [r7, #8] + 8015fd6: 689a ldr r2, [r3, #8] + 8015fd8: 69bb ldr r3, [r7, #24] + 8015fda: 60da str r2, [r3, #12] + 8015fdc: 68bb ldr r3, [r7, #8] + 8015fde: 689b ldr r3, [r3, #8] + 8015fe0: 69ba ldr r2, [r7, #24] + 8015fe2: 3204 adds r2, #4 + 8015fe4: 605a str r2, [r3, #4] + 8015fe6: 69bb ldr r3, [r7, #24] + 8015fe8: 1d1a adds r2, r3, #4 + 8015fea: 68bb ldr r3, [r7, #8] + 8015fec: 609a str r2, [r3, #8] + 8015fee: 69bb ldr r3, [r7, #24] + 8015ff0: 6ada ldr r2, [r3, #44] @ 0x2c + 8015ff2: 4613 mov r3, r2 + 8015ff4: 009b lsls r3, r3, #2 + 8015ff6: 4413 add r3, r2 + 8015ff8: 009b lsls r3, r3, #2 + 8015ffa: 4a26 ldr r2, [pc, #152] @ (8016094 ) + 8015ffc: 441a add r2, r3 + 8015ffe: 69bb ldr r3, [r7, #24] + 8016000: 615a str r2, [r3, #20] + 8016002: 69bb ldr r3, [r7, #24] + 8016004: 6ada ldr r2, [r3, #44] @ 0x2c + 8016006: 4923 ldr r1, [pc, #140] @ (8016094 ) + 8016008: 4613 mov r3, r2 + 801600a: 009b lsls r3, r3, #2 + 801600c: 4413 add r3, r2 + 801600e: 009b lsls r3, r3, #2 + 8016010: 440b add r3, r1 + 8016012: 681b ldr r3, [r3, #0] + 8016014: 1c59 adds r1, r3, #1 + 8016016: 481f ldr r0, [pc, #124] @ (8016094 ) + 8016018: 4613 mov r3, r2 + 801601a: 009b lsls r3, r3, #2 + 801601c: 4413 add r3, r2 + 801601e: 009b lsls r3, r3, #2 + 8016020: 4403 add r3, r0 + 8016022: 6019 str r1, [r3, #0] * task. * The case of equal priority tasks sharing * processing time (which happens when both * preemption and time slicing are on) is * handled below.*/ if( pxTCB->uxPriority > pxCurrentTCB->uxPriority ) - 801568c: 69bb ldr r3, [r7, #24] - 801568e: 6ada ldr r2, [r3, #44] @ 0x2c - 8015690: 4b1b ldr r3, [pc, #108] @ (8015700 ) - 8015692: 681b ldr r3, [r3, #0] - 8015694: 6adb ldr r3, [r3, #44] @ 0x2c - 8015696: 429a cmp r2, r3 - 8015698: f67f af5c bls.w 8015554 + 8016024: 69bb ldr r3, [r7, #24] + 8016026: 6ada ldr r2, [r3, #44] @ 0x2c + 8016028: 4b1b ldr r3, [pc, #108] @ (8016098 ) + 801602a: 681b ldr r3, [r3, #0] + 801602c: 6adb ldr r3, [r3, #44] @ 0x2c + 801602e: 429a cmp r2, r3 + 8016030: f67f af5c bls.w 8015eec { xSwitchRequired = pdTRUE; - 801569c: 2301 movs r3, #1 - 801569e: 627b str r3, [r7, #36] @ 0x24 + 8016034: 2301 movs r3, #1 + 8016036: 627b str r3, [r7, #36] @ 0x24 if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) - 80156a0: e758 b.n 8015554 + 8016038: e758 b.n 8015eec /* Tasks of equal priority to the currently running task will share * processing time (time slice) if preemption is on, and the application * writer has not explicitly turned time slicing off. */ #if ( ( configUSE_PREEMPTION == 1 ) && ( configUSE_TIME_SLICING == 1 ) ) { if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ pxCurrentTCB->uxPriority ] ) ) > ( UBaseType_t ) 1 ) - 80156a2: 4b17 ldr r3, [pc, #92] @ (8015700 ) - 80156a4: 681b ldr r3, [r3, #0] - 80156a6: 6ada ldr r2, [r3, #44] @ 0x2c - 80156a8: 4914 ldr r1, [pc, #80] @ (80156fc ) - 80156aa: 4613 mov r3, r2 - 80156ac: 009b lsls r3, r3, #2 - 80156ae: 4413 add r3, r2 - 80156b0: 009b lsls r3, r3, #2 - 80156b2: 440b add r3, r1 - 80156b4: 681b ldr r3, [r3, #0] - 80156b6: 2b01 cmp r3, #1 - 80156b8: d901 bls.n 80156be + 801603a: 4b17 ldr r3, [pc, #92] @ (8016098 ) + 801603c: 681b ldr r3, [r3, #0] + 801603e: 6ada ldr r2, [r3, #44] @ 0x2c + 8016040: 4914 ldr r1, [pc, #80] @ (8016094 ) + 8016042: 4613 mov r3, r2 + 8016044: 009b lsls r3, r3, #2 + 8016046: 4413 add r3, r2 + 8016048: 009b lsls r3, r3, #2 + 801604a: 440b add r3, r1 + 801604c: 681b ldr r3, [r3, #0] + 801604e: 2b01 cmp r3, #1 + 8016050: d901 bls.n 8016056 { xSwitchRequired = pdTRUE; - 80156ba: 2301 movs r3, #1 - 80156bc: 627b str r3, [r7, #36] @ 0x24 + 8016052: 2301 movs r3, #1 + 8016054: 627b str r3, [r7, #36] @ 0x24 } #endif /* configUSE_TICK_HOOK */ #if ( configUSE_PREEMPTION == 1 ) { if( xYieldPending != pdFALSE ) - 80156be: 4b11 ldr r3, [pc, #68] @ (8015704 ) - 80156c0: 681b ldr r3, [r3, #0] - 80156c2: 2b00 cmp r3, #0 - 80156c4: d007 beq.n 80156d6 + 8016056: 4b11 ldr r3, [pc, #68] @ (801609c ) + 8016058: 681b ldr r3, [r3, #0] + 801605a: 2b00 cmp r3, #0 + 801605c: d007 beq.n 801606e { xSwitchRequired = pdTRUE; - 80156c6: 2301 movs r3, #1 - 80156c8: 627b str r3, [r7, #36] @ 0x24 - 80156ca: e004 b.n 80156d6 + 801605e: 2301 movs r3, #1 + 8016060: 627b str r3, [r7, #36] @ 0x24 + 8016062: e004 b.n 801606e } #endif /* configUSE_PREEMPTION */ } else { ++xPendedTicks; - 80156cc: 4b0e ldr r3, [pc, #56] @ (8015708 ) - 80156ce: 681b ldr r3, [r3, #0] - 80156d0: 3301 adds r3, #1 - 80156d2: 4a0d ldr r2, [pc, #52] @ (8015708 ) - 80156d4: 6013 str r3, [r2, #0] + 8016064: 4b0e ldr r3, [pc, #56] @ (80160a0 ) + 8016066: 681b ldr r3, [r3, #0] + 8016068: 3301 adds r3, #1 + 801606a: 4a0d ldr r2, [pc, #52] @ (80160a0 ) + 801606c: 6013 str r3, [r2, #0] vApplicationTickHook(); } #endif } return xSwitchRequired; - 80156d6: 6a7b ldr r3, [r7, #36] @ 0x24 + 801606e: 6a7b ldr r3, [r7, #36] @ 0x24 } - 80156d8: 4618 mov r0, r3 - 80156da: 3728 adds r7, #40 @ 0x28 - 80156dc: 46bd mov sp, r7 - 80156de: bd80 pop {r7, pc} - 80156e0: 200025c4 .word 0x200025c4 - 80156e4: 200025a0 .word 0x200025a0 - 80156e8: 20002554 .word 0x20002554 - 80156ec: 20002558 .word 0x20002558 - 80156f0: 200025b4 .word 0x200025b4 - 80156f4: 200025bc .word 0x200025bc - 80156f8: 200025a4 .word 0x200025a4 - 80156fc: 200020cc .word 0x200020cc - 8015700: 200020c8 .word 0x200020c8 - 8015704: 200025b0 .word 0x200025b0 - 8015708: 200025ac .word 0x200025ac + 8016070: 4618 mov r0, r3 + 8016072: 3728 adds r7, #40 @ 0x28 + 8016074: 46bd mov sp, r7 + 8016076: bd80 pop {r7, pc} + 8016078: 20002664 .word 0x20002664 + 801607c: 20002640 .word 0x20002640 + 8016080: 200025f4 .word 0x200025f4 + 8016084: 200025f8 .word 0x200025f8 + 8016088: 20002654 .word 0x20002654 + 801608c: 2000265c .word 0x2000265c + 8016090: 20002644 .word 0x20002644 + 8016094: 2000216c .word 0x2000216c + 8016098: 20002168 .word 0x20002168 + 801609c: 20002650 .word 0x20002650 + 80160a0: 2000264c .word 0x2000264c -0801570c : +080160a4 : #endif /* configUSE_APPLICATION_TASK_TAG */ /*-----------------------------------------------------------*/ void vTaskSwitchContext( void ) { - 801570c: b480 push {r7} - 801570e: b085 sub sp, #20 - 8015710: af00 add r7, sp, #0 + 80160a4: b580 push {r7, lr} + 80160a6: b086 sub sp, #24 + 80160a8: af00 add r7, sp, #0 if( uxSchedulerSuspended != ( UBaseType_t ) 0U ) - 8015712: 4b28 ldr r3, [pc, #160] @ (80157b4 ) - 8015714: 681b ldr r3, [r3, #0] - 8015716: 2b00 cmp r3, #0 - 8015718: d003 beq.n 8015722 + 80160aa: 4b3d ldr r3, [pc, #244] @ (80161a0 ) + 80160ac: 681b ldr r3, [r3, #0] + 80160ae: 2b00 cmp r3, #0 + 80160b0: d003 beq.n 80160ba { /* The scheduler is currently suspended - do not allow a context * switch. */ xYieldPending = pdTRUE; - 801571a: 4b27 ldr r3, [pc, #156] @ (80157b8 ) - 801571c: 2201 movs r2, #1 - 801571e: 601a str r2, [r3, #0] + 80160b2: 4b3c ldr r3, [pc, #240] @ (80161a4 ) + 80160b4: 2201 movs r2, #1 + 80160b6: 601a str r2, [r3, #0] * Block specific to this task. */ configSET_TLS_BLOCK( pxCurrentTCB->xTLSBlock ); } #endif } } - 8015720: e041 b.n 80157a6 + 80160b8: e06d b.n 8016196 xYieldPending = pdFALSE; - 8015722: 4b25 ldr r3, [pc, #148] @ (80157b8 ) - 8015724: 2200 movs r2, #0 - 8015726: 601a str r2, [r3, #0] + 80160ba: 4b3a ldr r3, [pc, #232] @ (80161a4 ) + 80160bc: 2200 movs r2, #0 + 80160be: 601a str r2, [r3, #0] + taskCHECK_FOR_STACK_OVERFLOW(); + 80160c0: 4b39 ldr r3, [pc, #228] @ (80161a8 ) + 80160c2: 681b ldr r3, [r3, #0] + 80160c4: 6b1b ldr r3, [r3, #48] @ 0x30 + 80160c6: 613b str r3, [r7, #16] + 80160c8: f04f 33a5 mov.w r3, #2779096485 @ 0xa5a5a5a5 + 80160cc: 60fb str r3, [r7, #12] + 80160ce: 693b ldr r3, [r7, #16] + 80160d0: 681b ldr r3, [r3, #0] + 80160d2: 68fa ldr r2, [r7, #12] + 80160d4: 429a cmp r2, r3 + 80160d6: d111 bne.n 80160fc + 80160d8: 693b ldr r3, [r7, #16] + 80160da: 3304 adds r3, #4 + 80160dc: 681b ldr r3, [r3, #0] + 80160de: 68fa ldr r2, [r7, #12] + 80160e0: 429a cmp r2, r3 + 80160e2: d10b bne.n 80160fc + 80160e4: 693b ldr r3, [r7, #16] + 80160e6: 3308 adds r3, #8 + 80160e8: 681b ldr r3, [r3, #0] + 80160ea: 68fa ldr r2, [r7, #12] + 80160ec: 429a cmp r2, r3 + 80160ee: d105 bne.n 80160fc + 80160f0: 693b ldr r3, [r7, #16] + 80160f2: 330c adds r3, #12 + 80160f4: 681b ldr r3, [r3, #0] + 80160f6: 68fa ldr r2, [r7, #12] + 80160f8: 429a cmp r2, r3 + 80160fa: d008 beq.n 801610e + 80160fc: 4b2a ldr r3, [pc, #168] @ (80161a8 ) + 80160fe: 681a ldr r2, [r3, #0] + 8016100: 4b29 ldr r3, [pc, #164] @ (80161a8 ) + 8016102: 681b ldr r3, [r3, #0] + 8016104: 3334 adds r3, #52 @ 0x34 + 8016106: 4619 mov r1, r3 + 8016108: 4610 mov r0, r2 + 801610a: f7ec fadd bl 80026c8 taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 8015728: 4b24 ldr r3, [pc, #144] @ (80157bc ) - 801572a: 681b ldr r3, [r3, #0] - 801572c: 60fb str r3, [r7, #12] - 801572e: e011 b.n 8015754 - 8015730: 68fb ldr r3, [r7, #12] - 8015732: 2b00 cmp r3, #0 - 8015734: d10b bne.n 801574e + 801610e: 4b27 ldr r3, [pc, #156] @ (80161ac ) + 8016110: 681b ldr r3, [r3, #0] + 8016112: 617b str r3, [r7, #20] + 8016114: e011 b.n 801613a + 8016116: 697b ldr r3, [r7, #20] + 8016118: 2b00 cmp r3, #0 + 801611a: d10b bne.n 8016134 __asm volatile - 8015736: f04f 0350 mov.w r3, #80 @ 0x50 - 801573a: f383 8811 msr BASEPRI, r3 - 801573e: f3bf 8f6f isb sy - 8015742: f3bf 8f4f dsb sy - 8015746: 607b str r3, [r7, #4] + 801611c: f04f 0350 mov.w r3, #80 @ 0x50 + 8016120: f383 8811 msr BASEPRI, r3 + 8016124: f3bf 8f6f isb sy + 8016128: f3bf 8f4f dsb sy + 801612c: 607b str r3, [r7, #4] } - 8015748: bf00 nop - 801574a: bf00 nop - 801574c: e7fd b.n 801574a - 801574e: 68fb ldr r3, [r7, #12] - 8015750: 3b01 subs r3, #1 - 8015752: 60fb str r3, [r7, #12] - 8015754: 491a ldr r1, [pc, #104] @ (80157c0 ) - 8015756: 68fa ldr r2, [r7, #12] - 8015758: 4613 mov r3, r2 - 801575a: 009b lsls r3, r3, #2 - 801575c: 4413 add r3, r2 - 801575e: 009b lsls r3, r3, #2 - 8015760: 440b add r3, r1 - 8015762: 681b ldr r3, [r3, #0] - 8015764: 2b00 cmp r3, #0 - 8015766: d0e3 beq.n 8015730 - 8015768: 68fa ldr r2, [r7, #12] - 801576a: 4613 mov r3, r2 - 801576c: 009b lsls r3, r3, #2 - 801576e: 4413 add r3, r2 - 8015770: 009b lsls r3, r3, #2 - 8015772: 4a13 ldr r2, [pc, #76] @ (80157c0 ) - 8015774: 4413 add r3, r2 - 8015776: 60bb str r3, [r7, #8] - 8015778: 68bb ldr r3, [r7, #8] - 801577a: 685b ldr r3, [r3, #4] - 801577c: 685a ldr r2, [r3, #4] - 801577e: 68bb ldr r3, [r7, #8] - 8015780: 605a str r2, [r3, #4] - 8015782: 68bb ldr r3, [r7, #8] - 8015784: 685a ldr r2, [r3, #4] - 8015786: 68bb ldr r3, [r7, #8] - 8015788: 3308 adds r3, #8 - 801578a: 429a cmp r2, r3 - 801578c: d103 bne.n 8015796 - 801578e: 68bb ldr r3, [r7, #8] - 8015790: 68da ldr r2, [r3, #12] - 8015792: 68bb ldr r3, [r7, #8] - 8015794: 605a str r2, [r3, #4] - 8015796: 68bb ldr r3, [r7, #8] - 8015798: 685b ldr r3, [r3, #4] - 801579a: 68db ldr r3, [r3, #12] - 801579c: 4a09 ldr r2, [pc, #36] @ (80157c4 ) - 801579e: 6013 str r3, [r2, #0] - 80157a0: 4a06 ldr r2, [pc, #24] @ (80157bc ) - 80157a2: 68fb ldr r3, [r7, #12] - 80157a4: 6013 str r3, [r2, #0] + 801612e: bf00 nop + 8016130: bf00 nop + 8016132: e7fd b.n 8016130 + 8016134: 697b ldr r3, [r7, #20] + 8016136: 3b01 subs r3, #1 + 8016138: 617b str r3, [r7, #20] + 801613a: 491d ldr r1, [pc, #116] @ (80161b0 ) + 801613c: 697a ldr r2, [r7, #20] + 801613e: 4613 mov r3, r2 + 8016140: 009b lsls r3, r3, #2 + 8016142: 4413 add r3, r2 + 8016144: 009b lsls r3, r3, #2 + 8016146: 440b add r3, r1 + 8016148: 681b ldr r3, [r3, #0] + 801614a: 2b00 cmp r3, #0 + 801614c: d0e3 beq.n 8016116 + 801614e: 697a ldr r2, [r7, #20] + 8016150: 4613 mov r3, r2 + 8016152: 009b lsls r3, r3, #2 + 8016154: 4413 add r3, r2 + 8016156: 009b lsls r3, r3, #2 + 8016158: 4a15 ldr r2, [pc, #84] @ (80161b0 ) + 801615a: 4413 add r3, r2 + 801615c: 60bb str r3, [r7, #8] + 801615e: 68bb ldr r3, [r7, #8] + 8016160: 685b ldr r3, [r3, #4] + 8016162: 685a ldr r2, [r3, #4] + 8016164: 68bb ldr r3, [r7, #8] + 8016166: 605a str r2, [r3, #4] + 8016168: 68bb ldr r3, [r7, #8] + 801616a: 685a ldr r2, [r3, #4] + 801616c: 68bb ldr r3, [r7, #8] + 801616e: 3308 adds r3, #8 + 8016170: 429a cmp r2, r3 + 8016172: d103 bne.n 801617c + 8016174: 68bb ldr r3, [r7, #8] + 8016176: 68da ldr r2, [r3, #12] + 8016178: 68bb ldr r3, [r7, #8] + 801617a: 605a str r2, [r3, #4] + 801617c: 68bb ldr r3, [r7, #8] + 801617e: 685b ldr r3, [r3, #4] + 8016180: 68db ldr r3, [r3, #12] + 8016182: 4a09 ldr r2, [pc, #36] @ (80161a8 ) + 8016184: 6013 str r3, [r2, #0] + 8016186: 4a09 ldr r2, [pc, #36] @ (80161ac ) + 8016188: 697b ldr r3, [r7, #20] + 801618a: 6013 str r3, [r2, #0] + configSET_TLS_BLOCK( pxCurrentTCB->xTLSBlock ); + 801618c: 4b06 ldr r3, [pc, #24] @ (80161a8 ) + 801618e: 681b ldr r3, [r3, #0] + 8016190: 3354 adds r3, #84 @ 0x54 + 8016192: 4a08 ldr r2, [pc, #32] @ (80161b4 ) + 8016194: 6013 str r3, [r2, #0] } - 80157a6: bf00 nop - 80157a8: 3714 adds r7, #20 - 80157aa: 46bd mov sp, r7 - 80157ac: f85d 7b04 ldr.w r7, [sp], #4 - 80157b0: 4770 bx lr - 80157b2: bf00 nop - 80157b4: 200025c4 .word 0x200025c4 - 80157b8: 200025b0 .word 0x200025b0 - 80157bc: 200025a4 .word 0x200025a4 - 80157c0: 200020cc .word 0x200020cc - 80157c4: 200020c8 .word 0x200020c8 + 8016196: bf00 nop + 8016198: 3718 adds r7, #24 + 801619a: 46bd mov sp, r7 + 801619c: bd80 pop {r7, pc} + 801619e: bf00 nop + 80161a0: 20002664 .word 0x20002664 + 80161a4: 20002650 .word 0x20002650 + 80161a8: 20002168 .word 0x20002168 + 80161ac: 20002644 .word 0x20002644 + 80161b0: 2000216c .word 0x2000216c + 80161b4: 2000011c .word 0x2000011c -080157c8 : +080161b8 : /*-----------------------------------------------------------*/ void vTaskPlaceOnEventList( List_t * const pxEventList, const TickType_t xTicksToWait ) { - 80157c8: b580 push {r7, lr} - 80157ca: b084 sub sp, #16 - 80157cc: af00 add r7, sp, #0 - 80157ce: 6078 str r0, [r7, #4] - 80157d0: 6039 str r1, [r7, #0] + 80161b8: b580 push {r7, lr} + 80161ba: b084 sub sp, #16 + 80161bc: af00 add r7, sp, #0 + 80161be: 6078 str r0, [r7, #4] + 80161c0: 6039 str r1, [r7, #0] configASSERT( pxEventList ); - 80157d2: 687b ldr r3, [r7, #4] - 80157d4: 2b00 cmp r3, #0 - 80157d6: d10b bne.n 80157f0 + 80161c2: 687b ldr r3, [r7, #4] + 80161c4: 2b00 cmp r3, #0 + 80161c6: d10b bne.n 80161e0 __asm volatile - 80157d8: f04f 0350 mov.w r3, #80 @ 0x50 - 80157dc: f383 8811 msr BASEPRI, r3 - 80157e0: f3bf 8f6f isb sy - 80157e4: f3bf 8f4f dsb sy - 80157e8: 60fb str r3, [r7, #12] + 80161c8: f04f 0350 mov.w r3, #80 @ 0x50 + 80161cc: f383 8811 msr BASEPRI, r3 + 80161d0: f3bf 8f6f isb sy + 80161d4: f3bf 8f4f dsb sy + 80161d8: 60fb str r3, [r7, #12] } - 80157ea: bf00 nop - 80157ec: bf00 nop - 80157ee: e7fd b.n 80157ec + 80161da: bf00 nop + 80161dc: bf00 nop + 80161de: e7fd b.n 80161dc * xItemValue = ( configMAX_PRIORITIES - uxPriority ) * Therefore, the event list is sorted in descending priority order. * * The queue that contains the event list is locked, preventing * simultaneous access from interrupts. */ vListInsert( pxEventList, &( pxCurrentTCB->xEventListItem ) ); - 80157f0: 4b07 ldr r3, [pc, #28] @ (8015810 ) - 80157f2: 681b ldr r3, [r3, #0] - 80157f4: 3318 adds r3, #24 - 80157f6: 4619 mov r1, r3 - 80157f8: 6878 ldr r0, [r7, #4] - 80157fa: f7fe f900 bl 80139fe + 80161e0: 4b07 ldr r3, [pc, #28] @ (8016200 ) + 80161e2: 681b ldr r3, [r3, #0] + 80161e4: 3318 adds r3, #24 + 80161e6: 4619 mov r1, r3 + 80161e8: 6878 ldr r0, [r7, #4] + 80161ea: f7fe f8ec bl 80143c6 prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); - 80157fe: 2101 movs r1, #1 - 8015800: 6838 ldr r0, [r7, #0] - 8015802: f001 f92b bl 8016a5c + 80161ee: 2101 movs r1, #1 + 80161f0: 6838 ldr r0, [r7, #0] + 80161f2: f001 f919 bl 8017428 } - 8015806: bf00 nop - 8015808: 3710 adds r7, #16 - 801580a: 46bd mov sp, r7 - 801580c: bd80 pop {r7, pc} - 801580e: bf00 nop - 8015810: 200020c8 .word 0x200020c8 + 80161f6: bf00 nop + 80161f8: 3710 adds r7, #16 + 80161fa: 46bd mov sp, r7 + 80161fc: bd80 pop {r7, pc} + 80161fe: bf00 nop + 8016200: 20002168 .word 0x20002168 -08015814 : +08016204 : #if ( configUSE_TIMERS == 1 ) void vTaskPlaceOnEventListRestricted( List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely ) { - 8015814: b580 push {r7, lr} - 8015816: b086 sub sp, #24 - 8015818: af00 add r7, sp, #0 - 801581a: 60f8 str r0, [r7, #12] - 801581c: 60b9 str r1, [r7, #8] - 801581e: 607a str r2, [r7, #4] + 8016204: b580 push {r7, lr} + 8016206: b086 sub sp, #24 + 8016208: af00 add r7, sp, #0 + 801620a: 60f8 str r0, [r7, #12] + 801620c: 60b9 str r1, [r7, #8] + 801620e: 607a str r2, [r7, #4] configASSERT( pxEventList ); - 8015820: 68fb ldr r3, [r7, #12] - 8015822: 2b00 cmp r3, #0 - 8015824: d10b bne.n 801583e + 8016210: 68fb ldr r3, [r7, #12] + 8016212: 2b00 cmp r3, #0 + 8016214: d10b bne.n 801622e __asm volatile - 8015826: f04f 0350 mov.w r3, #80 @ 0x50 - 801582a: f383 8811 msr BASEPRI, r3 - 801582e: f3bf 8f6f isb sy - 8015832: f3bf 8f4f dsb sy - 8015836: 613b str r3, [r7, #16] + 8016216: f04f 0350 mov.w r3, #80 @ 0x50 + 801621a: f383 8811 msr BASEPRI, r3 + 801621e: f3bf 8f6f isb sy + 8016222: f3bf 8f4f dsb sy + 8016226: 613b str r3, [r7, #16] } - 8015838: bf00 nop - 801583a: bf00 nop - 801583c: e7fd b.n 801583a + 8016228: bf00 nop + 801622a: bf00 nop + 801622c: e7fd b.n 801622a /* Place the event list item of the TCB in the appropriate event list. * In this case it is assume that this is the only task that is going to * be waiting on this event list, so the faster vListInsertEnd() function * can be used in place of vListInsert. */ listINSERT_END( pxEventList, &( pxCurrentTCB->xEventListItem ) ); - 801583e: 68fb ldr r3, [r7, #12] - 8015840: 685b ldr r3, [r3, #4] - 8015842: 617b str r3, [r7, #20] - 8015844: 4b15 ldr r3, [pc, #84] @ (801589c ) - 8015846: 681b ldr r3, [r3, #0] - 8015848: 697a ldr r2, [r7, #20] - 801584a: 61da str r2, [r3, #28] - 801584c: 4b13 ldr r3, [pc, #76] @ (801589c ) - 801584e: 681b ldr r3, [r3, #0] - 8015850: 697a ldr r2, [r7, #20] - 8015852: 6892 ldr r2, [r2, #8] - 8015854: 621a str r2, [r3, #32] - 8015856: 4b11 ldr r3, [pc, #68] @ (801589c ) - 8015858: 681a ldr r2, [r3, #0] - 801585a: 697b ldr r3, [r7, #20] - 801585c: 689b ldr r3, [r3, #8] - 801585e: 3218 adds r2, #24 - 8015860: 605a str r2, [r3, #4] - 8015862: 4b0e ldr r3, [pc, #56] @ (801589c ) - 8015864: 681b ldr r3, [r3, #0] - 8015866: f103 0218 add.w r2, r3, #24 - 801586a: 697b ldr r3, [r7, #20] - 801586c: 609a str r2, [r3, #8] - 801586e: 4b0b ldr r3, [pc, #44] @ (801589c ) - 8015870: 681b ldr r3, [r3, #0] - 8015872: 68fa ldr r2, [r7, #12] - 8015874: 629a str r2, [r3, #40] @ 0x28 - 8015876: 68fb ldr r3, [r7, #12] - 8015878: 681b ldr r3, [r3, #0] - 801587a: 1c5a adds r2, r3, #1 - 801587c: 68fb ldr r3, [r7, #12] - 801587e: 601a str r2, [r3, #0] + 801622e: 68fb ldr r3, [r7, #12] + 8016230: 685b ldr r3, [r3, #4] + 8016232: 617b str r3, [r7, #20] + 8016234: 4b15 ldr r3, [pc, #84] @ (801628c ) + 8016236: 681b ldr r3, [r3, #0] + 8016238: 697a ldr r2, [r7, #20] + 801623a: 61da str r2, [r3, #28] + 801623c: 4b13 ldr r3, [pc, #76] @ (801628c ) + 801623e: 681b ldr r3, [r3, #0] + 8016240: 697a ldr r2, [r7, #20] + 8016242: 6892 ldr r2, [r2, #8] + 8016244: 621a str r2, [r3, #32] + 8016246: 4b11 ldr r3, [pc, #68] @ (801628c ) + 8016248: 681a ldr r2, [r3, #0] + 801624a: 697b ldr r3, [r7, #20] + 801624c: 689b ldr r3, [r3, #8] + 801624e: 3218 adds r2, #24 + 8016250: 605a str r2, [r3, #4] + 8016252: 4b0e ldr r3, [pc, #56] @ (801628c ) + 8016254: 681b ldr r3, [r3, #0] + 8016256: f103 0218 add.w r2, r3, #24 + 801625a: 697b ldr r3, [r7, #20] + 801625c: 609a str r2, [r3, #8] + 801625e: 4b0b ldr r3, [pc, #44] @ (801628c ) + 8016260: 681b ldr r3, [r3, #0] + 8016262: 68fa ldr r2, [r7, #12] + 8016264: 629a str r2, [r3, #40] @ 0x28 + 8016266: 68fb ldr r3, [r7, #12] + 8016268: 681b ldr r3, [r3, #0] + 801626a: 1c5a adds r2, r3, #1 + 801626c: 68fb ldr r3, [r7, #12] + 801626e: 601a str r2, [r3, #0] /* If the task should block indefinitely then set the block time to a * value that will be recognised as an indefinite delay inside the * prvAddCurrentTaskToDelayedList() function. */ if( xWaitIndefinitely != pdFALSE ) - 8015880: 687b ldr r3, [r7, #4] - 8015882: 2b00 cmp r3, #0 - 8015884: d002 beq.n 801588c + 8016270: 687b ldr r3, [r7, #4] + 8016272: 2b00 cmp r3, #0 + 8016274: d002 beq.n 801627c { xTicksToWait = portMAX_DELAY; - 8015886: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 801588a: 60bb str r3, [r7, #8] + 8016276: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 801627a: 60bb str r3, [r7, #8] } traceTASK_DELAY_UNTIL( ( xTickCount + xTicksToWait ) ); prvAddCurrentTaskToDelayedList( xTicksToWait, xWaitIndefinitely ); - 801588c: 6879 ldr r1, [r7, #4] - 801588e: 68b8 ldr r0, [r7, #8] - 8015890: f001 f8e4 bl 8016a5c + 801627c: 6879 ldr r1, [r7, #4] + 801627e: 68b8 ldr r0, [r7, #8] + 8016280: f001 f8d2 bl 8017428 } - 8015894: bf00 nop - 8015896: 3718 adds r7, #24 - 8015898: 46bd mov sp, r7 - 801589a: bd80 pop {r7, pc} - 801589c: 200020c8 .word 0x200020c8 + 8016284: bf00 nop + 8016286: 3718 adds r7, #24 + 8016288: 46bd mov sp, r7 + 801628a: bd80 pop {r7, pc} + 801628c: 20002168 .word 0x20002168 -080158a0 : +08016290 : #endif /* configUSE_TIMERS */ /*-----------------------------------------------------------*/ BaseType_t xTaskRemoveFromEventList( const List_t * const pxEventList ) { - 80158a0: b480 push {r7} - 80158a2: b08b sub sp, #44 @ 0x2c - 80158a4: af00 add r7, sp, #0 - 80158a6: 6078 str r0, [r7, #4] + 8016290: b480 push {r7} + 8016292: b08b sub sp, #44 @ 0x2c + 8016294: af00 add r7, sp, #0 + 8016296: 6078 str r0, [r7, #4] * get called - the lock count on the queue will get modified instead. This * means exclusive access to the event list is guaranteed here. * * This function assumes that a check has already been made to ensure that * pxEventList is not empty. */ pxUnblockedTCB = listGET_OWNER_OF_HEAD_ENTRY( pxEventList ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 80158a8: 687b ldr r3, [r7, #4] - 80158aa: 68db ldr r3, [r3, #12] - 80158ac: 68db ldr r3, [r3, #12] - 80158ae: 623b str r3, [r7, #32] + 8016298: 687b ldr r3, [r7, #4] + 801629a: 68db ldr r3, [r3, #12] + 801629c: 68db ldr r3, [r3, #12] + 801629e: 623b str r3, [r7, #32] configASSERT( pxUnblockedTCB ); - 80158b0: 6a3b ldr r3, [r7, #32] - 80158b2: 2b00 cmp r3, #0 - 80158b4: d10b bne.n 80158ce + 80162a0: 6a3b ldr r3, [r7, #32] + 80162a2: 2b00 cmp r3, #0 + 80162a4: d10b bne.n 80162be __asm volatile - 80158b6: f04f 0350 mov.w r3, #80 @ 0x50 - 80158ba: f383 8811 msr BASEPRI, r3 - 80158be: f3bf 8f6f isb sy - 80158c2: f3bf 8f4f dsb sy - 80158c6: 60fb str r3, [r7, #12] + 80162a6: f04f 0350 mov.w r3, #80 @ 0x50 + 80162aa: f383 8811 msr BASEPRI, r3 + 80162ae: f3bf 8f6f isb sy + 80162b2: f3bf 8f4f dsb sy + 80162b6: 60fb str r3, [r7, #12] } - 80158c8: bf00 nop - 80158ca: bf00 nop - 80158cc: e7fd b.n 80158ca + 80162b8: bf00 nop + 80162ba: bf00 nop + 80162bc: e7fd b.n 80162ba listREMOVE_ITEM( &( pxUnblockedTCB->xEventListItem ) ); - 80158ce: 6a3b ldr r3, [r7, #32] - 80158d0: 6a9b ldr r3, [r3, #40] @ 0x28 - 80158d2: 61fb str r3, [r7, #28] - 80158d4: 6a3b ldr r3, [r7, #32] - 80158d6: 69db ldr r3, [r3, #28] - 80158d8: 6a3a ldr r2, [r7, #32] - 80158da: 6a12 ldr r2, [r2, #32] - 80158dc: 609a str r2, [r3, #8] - 80158de: 6a3b ldr r3, [r7, #32] - 80158e0: 6a1b ldr r3, [r3, #32] - 80158e2: 6a3a ldr r2, [r7, #32] - 80158e4: 69d2 ldr r2, [r2, #28] - 80158e6: 605a str r2, [r3, #4] - 80158e8: 69fb ldr r3, [r7, #28] - 80158ea: 685a ldr r2, [r3, #4] - 80158ec: 6a3b ldr r3, [r7, #32] - 80158ee: 3318 adds r3, #24 - 80158f0: 429a cmp r2, r3 - 80158f2: d103 bne.n 80158fc - 80158f4: 6a3b ldr r3, [r7, #32] - 80158f6: 6a1a ldr r2, [r3, #32] - 80158f8: 69fb ldr r3, [r7, #28] - 80158fa: 605a str r2, [r3, #4] - 80158fc: 6a3b ldr r3, [r7, #32] - 80158fe: 2200 movs r2, #0 - 8015900: 629a str r2, [r3, #40] @ 0x28 - 8015902: 69fb ldr r3, [r7, #28] - 8015904: 681b ldr r3, [r3, #0] - 8015906: 1e5a subs r2, r3, #1 - 8015908: 69fb ldr r3, [r7, #28] - 801590a: 601a str r2, [r3, #0] + 80162be: 6a3b ldr r3, [r7, #32] + 80162c0: 6a9b ldr r3, [r3, #40] @ 0x28 + 80162c2: 61fb str r3, [r7, #28] + 80162c4: 6a3b ldr r3, [r7, #32] + 80162c6: 69db ldr r3, [r3, #28] + 80162c8: 6a3a ldr r2, [r7, #32] + 80162ca: 6a12 ldr r2, [r2, #32] + 80162cc: 609a str r2, [r3, #8] + 80162ce: 6a3b ldr r3, [r7, #32] + 80162d0: 6a1b ldr r3, [r3, #32] + 80162d2: 6a3a ldr r2, [r7, #32] + 80162d4: 69d2 ldr r2, [r2, #28] + 80162d6: 605a str r2, [r3, #4] + 80162d8: 69fb ldr r3, [r7, #28] + 80162da: 685a ldr r2, [r3, #4] + 80162dc: 6a3b ldr r3, [r7, #32] + 80162de: 3318 adds r3, #24 + 80162e0: 429a cmp r2, r3 + 80162e2: d103 bne.n 80162ec + 80162e4: 6a3b ldr r3, [r7, #32] + 80162e6: 6a1a ldr r2, [r3, #32] + 80162e8: 69fb ldr r3, [r7, #28] + 80162ea: 605a str r2, [r3, #4] + 80162ec: 6a3b ldr r3, [r7, #32] + 80162ee: 2200 movs r2, #0 + 80162f0: 629a str r2, [r3, #40] @ 0x28 + 80162f2: 69fb ldr r3, [r7, #28] + 80162f4: 681b ldr r3, [r3, #0] + 80162f6: 1e5a subs r2, r3, #1 + 80162f8: 69fb ldr r3, [r7, #28] + 80162fa: 601a str r2, [r3, #0] if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) - 801590c: 4b4a ldr r3, [pc, #296] @ (8015a38 ) - 801590e: 681b ldr r3, [r3, #0] - 8015910: 2b00 cmp r3, #0 - 8015912: d15f bne.n 80159d4 + 80162fc: 4b4a ldr r3, [pc, #296] @ (8016428 ) + 80162fe: 681b ldr r3, [r3, #0] + 8016300: 2b00 cmp r3, #0 + 8016302: d15f bne.n 80163c4 { listREMOVE_ITEM( &( pxUnblockedTCB->xStateListItem ) ); - 8015914: 6a3b ldr r3, [r7, #32] - 8015916: 695b ldr r3, [r3, #20] - 8015918: 617b str r3, [r7, #20] - 801591a: 6a3b ldr r3, [r7, #32] - 801591c: 689b ldr r3, [r3, #8] - 801591e: 6a3a ldr r2, [r7, #32] - 8015920: 68d2 ldr r2, [r2, #12] - 8015922: 609a str r2, [r3, #8] - 8015924: 6a3b ldr r3, [r7, #32] - 8015926: 68db ldr r3, [r3, #12] - 8015928: 6a3a ldr r2, [r7, #32] - 801592a: 6892 ldr r2, [r2, #8] - 801592c: 605a str r2, [r3, #4] - 801592e: 697b ldr r3, [r7, #20] - 8015930: 685a ldr r2, [r3, #4] - 8015932: 6a3b ldr r3, [r7, #32] - 8015934: 3304 adds r3, #4 - 8015936: 429a cmp r2, r3 - 8015938: d103 bne.n 8015942 - 801593a: 6a3b ldr r3, [r7, #32] - 801593c: 68da ldr r2, [r3, #12] - 801593e: 697b ldr r3, [r7, #20] - 8015940: 605a str r2, [r3, #4] - 8015942: 6a3b ldr r3, [r7, #32] - 8015944: 2200 movs r2, #0 - 8015946: 615a str r2, [r3, #20] - 8015948: 697b ldr r3, [r7, #20] - 801594a: 681b ldr r3, [r3, #0] - 801594c: 1e5a subs r2, r3, #1 - 801594e: 697b ldr r3, [r7, #20] - 8015950: 601a str r2, [r3, #0] + 8016304: 6a3b ldr r3, [r7, #32] + 8016306: 695b ldr r3, [r3, #20] + 8016308: 617b str r3, [r7, #20] + 801630a: 6a3b ldr r3, [r7, #32] + 801630c: 689b ldr r3, [r3, #8] + 801630e: 6a3a ldr r2, [r7, #32] + 8016310: 68d2 ldr r2, [r2, #12] + 8016312: 609a str r2, [r3, #8] + 8016314: 6a3b ldr r3, [r7, #32] + 8016316: 68db ldr r3, [r3, #12] + 8016318: 6a3a ldr r2, [r7, #32] + 801631a: 6892 ldr r2, [r2, #8] + 801631c: 605a str r2, [r3, #4] + 801631e: 697b ldr r3, [r7, #20] + 8016320: 685a ldr r2, [r3, #4] + 8016322: 6a3b ldr r3, [r7, #32] + 8016324: 3304 adds r3, #4 + 8016326: 429a cmp r2, r3 + 8016328: d103 bne.n 8016332 + 801632a: 6a3b ldr r3, [r7, #32] + 801632c: 68da ldr r2, [r3, #12] + 801632e: 697b ldr r3, [r7, #20] + 8016330: 605a str r2, [r3, #4] + 8016332: 6a3b ldr r3, [r7, #32] + 8016334: 2200 movs r2, #0 + 8016336: 615a str r2, [r3, #20] + 8016338: 697b ldr r3, [r7, #20] + 801633a: 681b ldr r3, [r3, #0] + 801633c: 1e5a subs r2, r3, #1 + 801633e: 697b ldr r3, [r7, #20] + 8016340: 601a str r2, [r3, #0] prvAddTaskToReadyList( pxUnblockedTCB ); - 8015952: 6a3b ldr r3, [r7, #32] - 8015954: 6ada ldr r2, [r3, #44] @ 0x2c - 8015956: 4b39 ldr r3, [pc, #228] @ (8015a3c ) - 8015958: 681b ldr r3, [r3, #0] - 801595a: 429a cmp r2, r3 - 801595c: d903 bls.n 8015966 - 801595e: 6a3b ldr r3, [r7, #32] - 8015960: 6adb ldr r3, [r3, #44] @ 0x2c - 8015962: 4a36 ldr r2, [pc, #216] @ (8015a3c ) - 8015964: 6013 str r3, [r2, #0] - 8015966: 6a3b ldr r3, [r7, #32] - 8015968: 6ada ldr r2, [r3, #44] @ 0x2c - 801596a: 4935 ldr r1, [pc, #212] @ (8015a40 ) - 801596c: 4613 mov r3, r2 - 801596e: 009b lsls r3, r3, #2 - 8015970: 4413 add r3, r2 - 8015972: 009b lsls r3, r3, #2 - 8015974: 440b add r3, r1 - 8015976: 3304 adds r3, #4 - 8015978: 681b ldr r3, [r3, #0] - 801597a: 613b str r3, [r7, #16] - 801597c: 6a3b ldr r3, [r7, #32] - 801597e: 693a ldr r2, [r7, #16] - 8015980: 609a str r2, [r3, #8] - 8015982: 693b ldr r3, [r7, #16] - 8015984: 689a ldr r2, [r3, #8] - 8015986: 6a3b ldr r3, [r7, #32] - 8015988: 60da str r2, [r3, #12] - 801598a: 693b ldr r3, [r7, #16] - 801598c: 689b ldr r3, [r3, #8] - 801598e: 6a3a ldr r2, [r7, #32] - 8015990: 3204 adds r2, #4 - 8015992: 605a str r2, [r3, #4] - 8015994: 6a3b ldr r3, [r7, #32] - 8015996: 1d1a adds r2, r3, #4 - 8015998: 693b ldr r3, [r7, #16] - 801599a: 609a str r2, [r3, #8] - 801599c: 6a3b ldr r3, [r7, #32] - 801599e: 6ada ldr r2, [r3, #44] @ 0x2c - 80159a0: 4613 mov r3, r2 - 80159a2: 009b lsls r3, r3, #2 - 80159a4: 4413 add r3, r2 - 80159a6: 009b lsls r3, r3, #2 - 80159a8: 4a25 ldr r2, [pc, #148] @ (8015a40 ) - 80159aa: 441a add r2, r3 - 80159ac: 6a3b ldr r3, [r7, #32] - 80159ae: 615a str r2, [r3, #20] - 80159b0: 6a3b ldr r3, [r7, #32] - 80159b2: 6ada ldr r2, [r3, #44] @ 0x2c - 80159b4: 4922 ldr r1, [pc, #136] @ (8015a40 ) - 80159b6: 4613 mov r3, r2 - 80159b8: 009b lsls r3, r3, #2 - 80159ba: 4413 add r3, r2 - 80159bc: 009b lsls r3, r3, #2 - 80159be: 440b add r3, r1 - 80159c0: 681b ldr r3, [r3, #0] - 80159c2: 1c59 adds r1, r3, #1 - 80159c4: 481e ldr r0, [pc, #120] @ (8015a40 ) - 80159c6: 4613 mov r3, r2 - 80159c8: 009b lsls r3, r3, #2 - 80159ca: 4413 add r3, r2 - 80159cc: 009b lsls r3, r3, #2 - 80159ce: 4403 add r3, r0 - 80159d0: 6019 str r1, [r3, #0] - 80159d2: e01b b.n 8015a0c + 8016342: 6a3b ldr r3, [r7, #32] + 8016344: 6ada ldr r2, [r3, #44] @ 0x2c + 8016346: 4b39 ldr r3, [pc, #228] @ (801642c ) + 8016348: 681b ldr r3, [r3, #0] + 801634a: 429a cmp r2, r3 + 801634c: d903 bls.n 8016356 + 801634e: 6a3b ldr r3, [r7, #32] + 8016350: 6adb ldr r3, [r3, #44] @ 0x2c + 8016352: 4a36 ldr r2, [pc, #216] @ (801642c ) + 8016354: 6013 str r3, [r2, #0] + 8016356: 6a3b ldr r3, [r7, #32] + 8016358: 6ada ldr r2, [r3, #44] @ 0x2c + 801635a: 4935 ldr r1, [pc, #212] @ (8016430 ) + 801635c: 4613 mov r3, r2 + 801635e: 009b lsls r3, r3, #2 + 8016360: 4413 add r3, r2 + 8016362: 009b lsls r3, r3, #2 + 8016364: 440b add r3, r1 + 8016366: 3304 adds r3, #4 + 8016368: 681b ldr r3, [r3, #0] + 801636a: 613b str r3, [r7, #16] + 801636c: 6a3b ldr r3, [r7, #32] + 801636e: 693a ldr r2, [r7, #16] + 8016370: 609a str r2, [r3, #8] + 8016372: 693b ldr r3, [r7, #16] + 8016374: 689a ldr r2, [r3, #8] + 8016376: 6a3b ldr r3, [r7, #32] + 8016378: 60da str r2, [r3, #12] + 801637a: 693b ldr r3, [r7, #16] + 801637c: 689b ldr r3, [r3, #8] + 801637e: 6a3a ldr r2, [r7, #32] + 8016380: 3204 adds r2, #4 + 8016382: 605a str r2, [r3, #4] + 8016384: 6a3b ldr r3, [r7, #32] + 8016386: 1d1a adds r2, r3, #4 + 8016388: 693b ldr r3, [r7, #16] + 801638a: 609a str r2, [r3, #8] + 801638c: 6a3b ldr r3, [r7, #32] + 801638e: 6ada ldr r2, [r3, #44] @ 0x2c + 8016390: 4613 mov r3, r2 + 8016392: 009b lsls r3, r3, #2 + 8016394: 4413 add r3, r2 + 8016396: 009b lsls r3, r3, #2 + 8016398: 4a25 ldr r2, [pc, #148] @ (8016430 ) + 801639a: 441a add r2, r3 + 801639c: 6a3b ldr r3, [r7, #32] + 801639e: 615a str r2, [r3, #20] + 80163a0: 6a3b ldr r3, [r7, #32] + 80163a2: 6ada ldr r2, [r3, #44] @ 0x2c + 80163a4: 4922 ldr r1, [pc, #136] @ (8016430 ) + 80163a6: 4613 mov r3, r2 + 80163a8: 009b lsls r3, r3, #2 + 80163aa: 4413 add r3, r2 + 80163ac: 009b lsls r3, r3, #2 + 80163ae: 440b add r3, r1 + 80163b0: 681b ldr r3, [r3, #0] + 80163b2: 1c59 adds r1, r3, #1 + 80163b4: 481e ldr r0, [pc, #120] @ (8016430 ) + 80163b6: 4613 mov r3, r2 + 80163b8: 009b lsls r3, r3, #2 + 80163ba: 4413 add r3, r2 + 80163bc: 009b lsls r3, r3, #2 + 80163be: 4403 add r3, r0 + 80163c0: 6019 str r1, [r3, #0] + 80163c2: e01b b.n 80163fc } else { /* The delayed and ready lists cannot be accessed, so hold this task * pending until the scheduler is resumed. */ listINSERT_END( &( xPendingReadyList ), &( pxUnblockedTCB->xEventListItem ) ); - 80159d4: 4b1b ldr r3, [pc, #108] @ (8015a44 ) - 80159d6: 685b ldr r3, [r3, #4] - 80159d8: 61bb str r3, [r7, #24] - 80159da: 6a3b ldr r3, [r7, #32] - 80159dc: 69ba ldr r2, [r7, #24] - 80159de: 61da str r2, [r3, #28] - 80159e0: 69bb ldr r3, [r7, #24] - 80159e2: 689a ldr r2, [r3, #8] - 80159e4: 6a3b ldr r3, [r7, #32] - 80159e6: 621a str r2, [r3, #32] - 80159e8: 69bb ldr r3, [r7, #24] - 80159ea: 689b ldr r3, [r3, #8] - 80159ec: 6a3a ldr r2, [r7, #32] - 80159ee: 3218 adds r2, #24 - 80159f0: 605a str r2, [r3, #4] - 80159f2: 6a3b ldr r3, [r7, #32] - 80159f4: f103 0218 add.w r2, r3, #24 - 80159f8: 69bb ldr r3, [r7, #24] - 80159fa: 609a str r2, [r3, #8] - 80159fc: 6a3b ldr r3, [r7, #32] - 80159fe: 4a11 ldr r2, [pc, #68] @ (8015a44 ) - 8015a00: 629a str r2, [r3, #40] @ 0x28 - 8015a02: 4b10 ldr r3, [pc, #64] @ (8015a44 ) - 8015a04: 681b ldr r3, [r3, #0] - 8015a06: 3301 adds r3, #1 - 8015a08: 4a0e ldr r2, [pc, #56] @ (8015a44 ) - 8015a0a: 6013 str r3, [r2, #0] + 80163c4: 4b1b ldr r3, [pc, #108] @ (8016434 ) + 80163c6: 685b ldr r3, [r3, #4] + 80163c8: 61bb str r3, [r7, #24] + 80163ca: 6a3b ldr r3, [r7, #32] + 80163cc: 69ba ldr r2, [r7, #24] + 80163ce: 61da str r2, [r3, #28] + 80163d0: 69bb ldr r3, [r7, #24] + 80163d2: 689a ldr r2, [r3, #8] + 80163d4: 6a3b ldr r3, [r7, #32] + 80163d6: 621a str r2, [r3, #32] + 80163d8: 69bb ldr r3, [r7, #24] + 80163da: 689b ldr r3, [r3, #8] + 80163dc: 6a3a ldr r2, [r7, #32] + 80163de: 3218 adds r2, #24 + 80163e0: 605a str r2, [r3, #4] + 80163e2: 6a3b ldr r3, [r7, #32] + 80163e4: f103 0218 add.w r2, r3, #24 + 80163e8: 69bb ldr r3, [r7, #24] + 80163ea: 609a str r2, [r3, #8] + 80163ec: 6a3b ldr r3, [r7, #32] + 80163ee: 4a11 ldr r2, [pc, #68] @ (8016434 ) + 80163f0: 629a str r2, [r3, #40] @ 0x28 + 80163f2: 4b10 ldr r3, [pc, #64] @ (8016434 ) + 80163f4: 681b ldr r3, [r3, #0] + 80163f6: 3301 adds r3, #1 + 80163f8: 4a0e ldr r2, [pc, #56] @ (8016434 ) + 80163fa: 6013 str r3, [r2, #0] } if( pxUnblockedTCB->uxPriority > pxCurrentTCB->uxPriority ) - 8015a0c: 6a3b ldr r3, [r7, #32] - 8015a0e: 6ada ldr r2, [r3, #44] @ 0x2c - 8015a10: 4b0d ldr r3, [pc, #52] @ (8015a48 ) - 8015a12: 681b ldr r3, [r3, #0] - 8015a14: 6adb ldr r3, [r3, #44] @ 0x2c - 8015a16: 429a cmp r2, r3 - 8015a18: d905 bls.n 8015a26 + 80163fc: 6a3b ldr r3, [r7, #32] + 80163fe: 6ada ldr r2, [r3, #44] @ 0x2c + 8016400: 4b0d ldr r3, [pc, #52] @ (8016438 ) + 8016402: 681b ldr r3, [r3, #0] + 8016404: 6adb ldr r3, [r3, #44] @ 0x2c + 8016406: 429a cmp r2, r3 + 8016408: d905 bls.n 8016416 { /* Return true if the task removed from the event list has a higher * priority than the calling task. This allows the calling task to know if * it should force a context switch now. */ xReturn = pdTRUE; - 8015a1a: 2301 movs r3, #1 - 8015a1c: 627b str r3, [r7, #36] @ 0x24 + 801640a: 2301 movs r3, #1 + 801640c: 627b str r3, [r7, #36] @ 0x24 /* Mark that a yield is pending in case the user is not using the * "xHigherPriorityTaskWoken" parameter to an ISR safe FreeRTOS function. */ xYieldPending = pdTRUE; - 8015a1e: 4b0b ldr r3, [pc, #44] @ (8015a4c ) - 8015a20: 2201 movs r2, #1 - 8015a22: 601a str r2, [r3, #0] - 8015a24: e001 b.n 8015a2a + 801640e: 4b0b ldr r3, [pc, #44] @ (801643c ) + 8016410: 2201 movs r2, #1 + 8016412: 601a str r2, [r3, #0] + 8016414: e001 b.n 801641a } else { xReturn = pdFALSE; - 8015a26: 2300 movs r3, #0 - 8015a28: 627b str r3, [r7, #36] @ 0x24 + 8016416: 2300 movs r3, #0 + 8016418: 627b str r3, [r7, #36] @ 0x24 } return xReturn; - 8015a2a: 6a7b ldr r3, [r7, #36] @ 0x24 + 801641a: 6a7b ldr r3, [r7, #36] @ 0x24 } - 8015a2c: 4618 mov r0, r3 - 8015a2e: 372c adds r7, #44 @ 0x2c - 8015a30: 46bd mov sp, r7 - 8015a32: f85d 7b04 ldr.w r7, [sp], #4 - 8015a36: 4770 bx lr - 8015a38: 200025c4 .word 0x200025c4 - 8015a3c: 200025a4 .word 0x200025a4 - 8015a40: 200020cc .word 0x200020cc - 8015a44: 2000255c .word 0x2000255c - 8015a48: 200020c8 .word 0x200020c8 - 8015a4c: 200025b0 .word 0x200025b0 + 801641c: 4618 mov r0, r3 + 801641e: 372c adds r7, #44 @ 0x2c + 8016420: 46bd mov sp, r7 + 8016422: f85d 7b04 ldr.w r7, [sp], #4 + 8016426: 4770 bx lr + 8016428: 20002664 .word 0x20002664 + 801642c: 20002644 .word 0x20002644 + 8016430: 2000216c .word 0x2000216c + 8016434: 200025fc .word 0x200025fc + 8016438: 20002168 .word 0x20002168 + 801643c: 20002650 .word 0x20002650 -08015a50 : +08016440 : taskEXIT_CRITICAL(); } /*-----------------------------------------------------------*/ void vTaskInternalSetTimeOutState( TimeOut_t * const pxTimeOut ) { - 8015a50: b480 push {r7} - 8015a52: b083 sub sp, #12 - 8015a54: af00 add r7, sp, #0 - 8015a56: 6078 str r0, [r7, #4] + 8016440: b480 push {r7} + 8016442: b083 sub sp, #12 + 8016444: af00 add r7, sp, #0 + 8016446: 6078 str r0, [r7, #4] /* For internal use only as it does not use a critical section. */ pxTimeOut->xOverflowCount = xNumOfOverflows; - 8015a58: 4b06 ldr r3, [pc, #24] @ (8015a74 ) - 8015a5a: 681a ldr r2, [r3, #0] - 8015a5c: 687b ldr r3, [r7, #4] - 8015a5e: 601a str r2, [r3, #0] + 8016448: 4b06 ldr r3, [pc, #24] @ (8016464 ) + 801644a: 681a ldr r2, [r3, #0] + 801644c: 687b ldr r3, [r7, #4] + 801644e: 601a str r2, [r3, #0] pxTimeOut->xTimeOnEntering = xTickCount; - 8015a60: 4b05 ldr r3, [pc, #20] @ (8015a78 ) - 8015a62: 681a ldr r2, [r3, #0] - 8015a64: 687b ldr r3, [r7, #4] - 8015a66: 605a str r2, [r3, #4] + 8016450: 4b05 ldr r3, [pc, #20] @ (8016468 ) + 8016452: 681a ldr r2, [r3, #0] + 8016454: 687b ldr r3, [r7, #4] + 8016456: 605a str r2, [r3, #4] } - 8015a68: bf00 nop - 8015a6a: 370c adds r7, #12 - 8015a6c: 46bd mov sp, r7 - 8015a6e: f85d 7b04 ldr.w r7, [sp], #4 - 8015a72: 4770 bx lr - 8015a74: 200025b4 .word 0x200025b4 - 8015a78: 200025a0 .word 0x200025a0 + 8016458: bf00 nop + 801645a: 370c adds r7, #12 + 801645c: 46bd mov sp, r7 + 801645e: f85d 7b04 ldr.w r7, [sp], #4 + 8016462: 4770 bx lr + 8016464: 20002654 .word 0x20002654 + 8016468: 20002640 .word 0x20002640 -08015a7c : +0801646c : /*-----------------------------------------------------------*/ BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait ) { - 8015a7c: b580 push {r7, lr} - 8015a7e: b088 sub sp, #32 - 8015a80: af00 add r7, sp, #0 - 8015a82: 6078 str r0, [r7, #4] - 8015a84: 6039 str r1, [r7, #0] + 801646c: b580 push {r7, lr} + 801646e: b088 sub sp, #32 + 8016470: af00 add r7, sp, #0 + 8016472: 6078 str r0, [r7, #4] + 8016474: 6039 str r1, [r7, #0] BaseType_t xReturn; configASSERT( pxTimeOut ); - 8015a86: 687b ldr r3, [r7, #4] - 8015a88: 2b00 cmp r3, #0 - 8015a8a: d10b bne.n 8015aa4 + 8016476: 687b ldr r3, [r7, #4] + 8016478: 2b00 cmp r3, #0 + 801647a: d10b bne.n 8016494 __asm volatile - 8015a8c: f04f 0350 mov.w r3, #80 @ 0x50 - 8015a90: f383 8811 msr BASEPRI, r3 - 8015a94: f3bf 8f6f isb sy - 8015a98: f3bf 8f4f dsb sy - 8015a9c: 613b str r3, [r7, #16] + 801647c: f04f 0350 mov.w r3, #80 @ 0x50 + 8016480: f383 8811 msr BASEPRI, r3 + 8016484: f3bf 8f6f isb sy + 8016488: f3bf 8f4f dsb sy + 801648c: 613b str r3, [r7, #16] } - 8015a9e: bf00 nop - 8015aa0: bf00 nop - 8015aa2: e7fd b.n 8015aa0 + 801648e: bf00 nop + 8016490: bf00 nop + 8016492: e7fd b.n 8016490 configASSERT( pxTicksToWait ); - 8015aa4: 683b ldr r3, [r7, #0] - 8015aa6: 2b00 cmp r3, #0 - 8015aa8: d10b bne.n 8015ac2 + 8016494: 683b ldr r3, [r7, #0] + 8016496: 2b00 cmp r3, #0 + 8016498: d10b bne.n 80164b2 __asm volatile - 8015aaa: f04f 0350 mov.w r3, #80 @ 0x50 - 8015aae: f383 8811 msr BASEPRI, r3 - 8015ab2: f3bf 8f6f isb sy - 8015ab6: f3bf 8f4f dsb sy - 8015aba: 60fb str r3, [r7, #12] + 801649a: f04f 0350 mov.w r3, #80 @ 0x50 + 801649e: f383 8811 msr BASEPRI, r3 + 80164a2: f3bf 8f6f isb sy + 80164a6: f3bf 8f4f dsb sy + 80164aa: 60fb str r3, [r7, #12] } - 8015abc: bf00 nop - 8015abe: bf00 nop - 8015ac0: e7fd b.n 8015abe + 80164ac: bf00 nop + 80164ae: bf00 nop + 80164b0: e7fd b.n 80164ae taskENTER_CRITICAL(); - 8015ac2: f001 fc4d bl 8017360 + 80164b2: f001 fc3d bl 8017d30 { /* Minor optimisation. The tick count cannot change in this block. */ const TickType_t xConstTickCount = xTickCount; - 8015ac6: 4b1f ldr r3, [pc, #124] @ (8015b44 ) - 8015ac8: 681b ldr r3, [r3, #0] - 8015aca: 61bb str r3, [r7, #24] + 80164b6: 4b1f ldr r3, [pc, #124] @ (8016534 ) + 80164b8: 681b ldr r3, [r3, #0] + 80164ba: 61bb str r3, [r7, #24] const TickType_t xElapsedTime = xConstTickCount - pxTimeOut->xTimeOnEntering; - 8015acc: 687b ldr r3, [r7, #4] - 8015ace: 685b ldr r3, [r3, #4] - 8015ad0: 69ba ldr r2, [r7, #24] - 8015ad2: 1ad3 subs r3, r2, r3 - 8015ad4: 617b str r3, [r7, #20] + 80164bc: 687b ldr r3, [r7, #4] + 80164be: 685b ldr r3, [r3, #4] + 80164c0: 69ba ldr r2, [r7, #24] + 80164c2: 1ad3 subs r3, r2, r3 + 80164c4: 617b str r3, [r7, #20] } else #endif #if ( INCLUDE_vTaskSuspend == 1 ) if( *pxTicksToWait == portMAX_DELAY ) - 8015ad6: 683b ldr r3, [r7, #0] - 8015ad8: 681b ldr r3, [r3, #0] - 8015ada: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8015ade: d102 bne.n 8015ae6 + 80164c6: 683b ldr r3, [r7, #0] + 80164c8: 681b ldr r3, [r3, #0] + 80164ca: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 80164ce: d102 bne.n 80164d6 { /* If INCLUDE_vTaskSuspend is set to 1 and the block time * specified is the maximum block time then the task should block * indefinitely, and therefore never time out. */ xReturn = pdFALSE; - 8015ae0: 2300 movs r3, #0 - 8015ae2: 61fb str r3, [r7, #28] - 8015ae4: e026 b.n 8015b34 + 80164d0: 2300 movs r3, #0 + 80164d2: 61fb str r3, [r7, #28] + 80164d4: e026 b.n 8016524 } else #endif if( ( xNumOfOverflows != pxTimeOut->xOverflowCount ) && ( xConstTickCount >= pxTimeOut->xTimeOnEntering ) ) /*lint !e525 Indentation preferred as is to make code within pre-processor directives clearer. */ - 8015ae6: 687b ldr r3, [r7, #4] - 8015ae8: 681a ldr r2, [r3, #0] - 8015aea: 4b17 ldr r3, [pc, #92] @ (8015b48 ) - 8015aec: 681b ldr r3, [r3, #0] - 8015aee: 429a cmp r2, r3 - 8015af0: d00a beq.n 8015b08 - 8015af2: 687b ldr r3, [r7, #4] - 8015af4: 685b ldr r3, [r3, #4] - 8015af6: 69ba ldr r2, [r7, #24] - 8015af8: 429a cmp r2, r3 - 8015afa: d305 bcc.n 8015b08 + 80164d6: 687b ldr r3, [r7, #4] + 80164d8: 681a ldr r2, [r3, #0] + 80164da: 4b17 ldr r3, [pc, #92] @ (8016538 ) + 80164dc: 681b ldr r3, [r3, #0] + 80164de: 429a cmp r2, r3 + 80164e0: d00a beq.n 80164f8 + 80164e2: 687b ldr r3, [r7, #4] + 80164e4: 685b ldr r3, [r3, #4] + 80164e6: 69ba ldr r2, [r7, #24] + 80164e8: 429a cmp r2, r3 + 80164ea: d305 bcc.n 80164f8 /* The tick count is greater than the time at which * vTaskSetTimeout() was called, but has also overflowed since * vTaskSetTimeOut() was called. It must have wrapped all the way * around and gone past again. This passed since vTaskSetTimeout() * was called. */ xReturn = pdTRUE; - 8015afc: 2301 movs r3, #1 - 8015afe: 61fb str r3, [r7, #28] + 80164ec: 2301 movs r3, #1 + 80164ee: 61fb str r3, [r7, #28] *pxTicksToWait = ( TickType_t ) 0; - 8015b00: 683b ldr r3, [r7, #0] - 8015b02: 2200 movs r2, #0 - 8015b04: 601a str r2, [r3, #0] - 8015b06: e015 b.n 8015b34 + 80164f0: 683b ldr r3, [r7, #0] + 80164f2: 2200 movs r2, #0 + 80164f4: 601a str r2, [r3, #0] + 80164f6: e015 b.n 8016524 } else if( xElapsedTime < *pxTicksToWait ) /*lint !e961 Explicit casting is only redundant with some compilers, whereas others require it to prevent integer conversion errors. */ - 8015b08: 683b ldr r3, [r7, #0] - 8015b0a: 681b ldr r3, [r3, #0] - 8015b0c: 697a ldr r2, [r7, #20] - 8015b0e: 429a cmp r2, r3 - 8015b10: d20b bcs.n 8015b2a + 80164f8: 683b ldr r3, [r7, #0] + 80164fa: 681b ldr r3, [r3, #0] + 80164fc: 697a ldr r2, [r7, #20] + 80164fe: 429a cmp r2, r3 + 8016500: d20b bcs.n 801651a { /* Not a genuine timeout. Adjust parameters for time remaining. */ *pxTicksToWait -= xElapsedTime; - 8015b12: 683b ldr r3, [r7, #0] - 8015b14: 681a ldr r2, [r3, #0] - 8015b16: 697b ldr r3, [r7, #20] - 8015b18: 1ad2 subs r2, r2, r3 - 8015b1a: 683b ldr r3, [r7, #0] - 8015b1c: 601a str r2, [r3, #0] + 8016502: 683b ldr r3, [r7, #0] + 8016504: 681a ldr r2, [r3, #0] + 8016506: 697b ldr r3, [r7, #20] + 8016508: 1ad2 subs r2, r2, r3 + 801650a: 683b ldr r3, [r7, #0] + 801650c: 601a str r2, [r3, #0] vTaskInternalSetTimeOutState( pxTimeOut ); - 8015b1e: 6878 ldr r0, [r7, #4] - 8015b20: f7ff ff96 bl 8015a50 + 801650e: 6878 ldr r0, [r7, #4] + 8016510: f7ff ff96 bl 8016440 xReturn = pdFALSE; - 8015b24: 2300 movs r3, #0 - 8015b26: 61fb str r3, [r7, #28] - 8015b28: e004 b.n 8015b34 + 8016514: 2300 movs r3, #0 + 8016516: 61fb str r3, [r7, #28] + 8016518: e004 b.n 8016524 } else { *pxTicksToWait = ( TickType_t ) 0; - 8015b2a: 683b ldr r3, [r7, #0] - 8015b2c: 2200 movs r2, #0 - 8015b2e: 601a str r2, [r3, #0] + 801651a: 683b ldr r3, [r7, #0] + 801651c: 2200 movs r2, #0 + 801651e: 601a str r2, [r3, #0] xReturn = pdTRUE; - 8015b30: 2301 movs r3, #1 - 8015b32: 61fb str r3, [r7, #28] + 8016520: 2301 movs r3, #1 + 8016522: 61fb str r3, [r7, #28] } } taskEXIT_CRITICAL(); - 8015b34: f001 fc46 bl 80173c4 + 8016524: f001 fc36 bl 8017d94 return xReturn; - 8015b38: 69fb ldr r3, [r7, #28] + 8016528: 69fb ldr r3, [r7, #28] } - 8015b3a: 4618 mov r0, r3 - 8015b3c: 3720 adds r7, #32 - 8015b3e: 46bd mov sp, r7 - 8015b40: bd80 pop {r7, pc} - 8015b42: bf00 nop - 8015b44: 200025a0 .word 0x200025a0 - 8015b48: 200025b4 .word 0x200025b4 + 801652a: 4618 mov r0, r3 + 801652c: 3720 adds r7, #32 + 801652e: 46bd mov sp, r7 + 8016530: bd80 pop {r7, pc} + 8016532: bf00 nop + 8016534: 20002640 .word 0x20002640 + 8016538: 20002654 .word 0x20002654 -08015b4c : +0801653c : /*-----------------------------------------------------------*/ void vTaskMissedYield( void ) { - 8015b4c: b480 push {r7} - 8015b4e: af00 add r7, sp, #0 + 801653c: b480 push {r7} + 801653e: af00 add r7, sp, #0 xYieldPending = pdTRUE; - 8015b50: 4b03 ldr r3, [pc, #12] @ (8015b60 ) - 8015b52: 2201 movs r2, #1 - 8015b54: 601a str r2, [r3, #0] + 8016540: 4b03 ldr r3, [pc, #12] @ (8016550 ) + 8016542: 2201 movs r2, #1 + 8016544: 601a str r2, [r3, #0] } - 8015b56: bf00 nop - 8015b58: 46bd mov sp, r7 - 8015b5a: f85d 7b04 ldr.w r7, [sp], #4 - 8015b5e: 4770 bx lr - 8015b60: 200025b0 .word 0x200025b0 + 8016546: bf00 nop + 8016548: 46bd mov sp, r7 + 801654a: f85d 7b04 ldr.w r7, [sp], #4 + 801654e: 4770 bx lr + 8016550: 20002650 .word 0x20002650 -08015b64 : +08016554 : * void prvIdleTask( void *pvParameters ); * */ static portTASK_FUNCTION( prvIdleTask, pvParameters ) { - 8015b64: b580 push {r7, lr} - 8015b66: b082 sub sp, #8 - 8015b68: af00 add r7, sp, #0 - 8015b6a: 6078 str r0, [r7, #4] + 8016554: b580 push {r7, lr} + 8016556: b082 sub sp, #8 + 8016558: af00 add r7, sp, #0 + 801655a: 6078 str r0, [r7, #4] for( ; ; ) { /* See if any tasks have deleted themselves - if so then the idle task * is responsible for freeing the deleted task's TCB and stack. */ prvCheckTasksWaitingTermination(); - 8015b6c: f000 f852 bl 8015c14 + 801655c: f000 f852 bl 8016604 * * A critical region is not required here as we are just reading from * the list, and an occasional incorrect value will not matter. If * the ready list at the idle priority contains more than one task * then a task other than the idle task is ready to execute. */ if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ tskIDLE_PRIORITY ] ) ) > ( UBaseType_t ) 1 ) - 8015b70: 4b06 ldr r3, [pc, #24] @ (8015b8c ) - 8015b72: 681b ldr r3, [r3, #0] - 8015b74: 2b01 cmp r3, #1 - 8015b76: d9f9 bls.n 8015b6c + 8016560: 4b06 ldr r3, [pc, #24] @ (801657c ) + 8016562: 681b ldr r3, [r3, #0] + 8016564: 2b01 cmp r3, #1 + 8016566: d9f9 bls.n 801655c { taskYIELD(); - 8015b78: 4b05 ldr r3, [pc, #20] @ (8015b90 ) - 8015b7a: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8015b7e: 601a str r2, [r3, #0] - 8015b80: f3bf 8f4f dsb sy - 8015b84: f3bf 8f6f isb sy + 8016568: 4b05 ldr r3, [pc, #20] @ (8016580 ) + 801656a: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 801656e: 601a str r2, [r3, #0] + 8016570: f3bf 8f4f dsb sy + 8016574: f3bf 8f6f isb sy prvCheckTasksWaitingTermination(); - 8015b88: e7f0 b.n 8015b6c - 8015b8a: bf00 nop - 8015b8c: 200020cc .word 0x200020cc - 8015b90: e000ed04 .word 0xe000ed04 + 8016578: e7f0 b.n 801655c + 801657a: bf00 nop + 801657c: 2000216c .word 0x2000216c + 8016580: e000ed04 .word 0xe000ed04 -08015b94 : +08016584 : #endif /* portUSING_MPU_WRAPPERS */ /*-----------------------------------------------------------*/ static void prvInitialiseTaskLists( void ) { - 8015b94: b580 push {r7, lr} - 8015b96: b082 sub sp, #8 - 8015b98: af00 add r7, sp, #0 + 8016584: b580 push {r7, lr} + 8016586: b082 sub sp, #8 + 8016588: af00 add r7, sp, #0 UBaseType_t uxPriority; for( uxPriority = ( UBaseType_t ) 0U; uxPriority < ( UBaseType_t ) configMAX_PRIORITIES; uxPriority++ ) - 8015b9a: 2300 movs r3, #0 - 8015b9c: 607b str r3, [r7, #4] - 8015b9e: e00c b.n 8015bba + 801658a: 2300 movs r3, #0 + 801658c: 607b str r3, [r7, #4] + 801658e: e00c b.n 80165aa { vListInitialise( &( pxReadyTasksLists[ uxPriority ] ) ); - 8015ba0: 687a ldr r2, [r7, #4] - 8015ba2: 4613 mov r3, r2 - 8015ba4: 009b lsls r3, r3, #2 - 8015ba6: 4413 add r3, r2 - 8015ba8: 009b lsls r3, r3, #2 - 8015baa: 4a12 ldr r2, [pc, #72] @ (8015bf4 ) - 8015bac: 4413 add r3, r2 - 8015bae: 4618 mov r0, r3 - 8015bb0: f7fd fef8 bl 80139a4 + 8016590: 687a ldr r2, [r7, #4] + 8016592: 4613 mov r3, r2 + 8016594: 009b lsls r3, r3, #2 + 8016596: 4413 add r3, r2 + 8016598: 009b lsls r3, r3, #2 + 801659a: 4a12 ldr r2, [pc, #72] @ (80165e4 ) + 801659c: 4413 add r3, r2 + 801659e: 4618 mov r0, r3 + 80165a0: f7fd fee4 bl 801436c for( uxPriority = ( UBaseType_t ) 0U; uxPriority < ( UBaseType_t ) configMAX_PRIORITIES; uxPriority++ ) - 8015bb4: 687b ldr r3, [r7, #4] - 8015bb6: 3301 adds r3, #1 - 8015bb8: 607b str r3, [r7, #4] - 8015bba: 687b ldr r3, [r7, #4] - 8015bbc: 2b37 cmp r3, #55 @ 0x37 - 8015bbe: d9ef bls.n 8015ba0 + 80165a4: 687b ldr r3, [r7, #4] + 80165a6: 3301 adds r3, #1 + 80165a8: 607b str r3, [r7, #4] + 80165aa: 687b ldr r3, [r7, #4] + 80165ac: 2b37 cmp r3, #55 @ 0x37 + 80165ae: d9ef bls.n 8016590 } vListInitialise( &xDelayedTaskList1 ); - 8015bc0: 480d ldr r0, [pc, #52] @ (8015bf8 ) - 8015bc2: f7fd feef bl 80139a4 + 80165b0: 480d ldr r0, [pc, #52] @ (80165e8 ) + 80165b2: f7fd fedb bl 801436c vListInitialise( &xDelayedTaskList2 ); - 8015bc6: 480d ldr r0, [pc, #52] @ (8015bfc ) - 8015bc8: f7fd feec bl 80139a4 + 80165b6: 480d ldr r0, [pc, #52] @ (80165ec ) + 80165b8: f7fd fed8 bl 801436c vListInitialise( &xPendingReadyList ); - 8015bcc: 480c ldr r0, [pc, #48] @ (8015c00 ) - 8015bce: f7fd fee9 bl 80139a4 + 80165bc: 480c ldr r0, [pc, #48] @ (80165f0 ) + 80165be: f7fd fed5 bl 801436c #if ( INCLUDE_vTaskDelete == 1 ) { vListInitialise( &xTasksWaitingTermination ); - 8015bd2: 480c ldr r0, [pc, #48] @ (8015c04 ) - 8015bd4: f7fd fee6 bl 80139a4 + 80165c2: 480c ldr r0, [pc, #48] @ (80165f4 ) + 80165c4: f7fd fed2 bl 801436c } #endif /* INCLUDE_vTaskDelete */ #if ( INCLUDE_vTaskSuspend == 1 ) { vListInitialise( &xSuspendedTaskList ); - 8015bd8: 480b ldr r0, [pc, #44] @ (8015c08 ) - 8015bda: f7fd fee3 bl 80139a4 + 80165c8: 480b ldr r0, [pc, #44] @ (80165f8 ) + 80165ca: f7fd fecf bl 801436c } #endif /* INCLUDE_vTaskSuspend */ /* Start with pxDelayedTaskList using list1 and the pxOverflowDelayedTaskList * using list2. */ pxDelayedTaskList = &xDelayedTaskList1; - 8015bde: 4b0b ldr r3, [pc, #44] @ (8015c0c ) - 8015be0: 4a05 ldr r2, [pc, #20] @ (8015bf8 ) - 8015be2: 601a str r2, [r3, #0] + 80165ce: 4b0b ldr r3, [pc, #44] @ (80165fc ) + 80165d0: 4a05 ldr r2, [pc, #20] @ (80165e8 ) + 80165d2: 601a str r2, [r3, #0] pxOverflowDelayedTaskList = &xDelayedTaskList2; - 8015be4: 4b0a ldr r3, [pc, #40] @ (8015c10 ) - 8015be6: 4a05 ldr r2, [pc, #20] @ (8015bfc ) - 8015be8: 601a str r2, [r3, #0] + 80165d4: 4b0a ldr r3, [pc, #40] @ (8016600 ) + 80165d6: 4a05 ldr r2, [pc, #20] @ (80165ec ) + 80165d8: 601a str r2, [r3, #0] } - 8015bea: bf00 nop - 8015bec: 3708 adds r7, #8 - 8015bee: 46bd mov sp, r7 - 8015bf0: bd80 pop {r7, pc} - 8015bf2: bf00 nop - 8015bf4: 200020cc .word 0x200020cc - 8015bf8: 2000252c .word 0x2000252c - 8015bfc: 20002540 .word 0x20002540 - 8015c00: 2000255c .word 0x2000255c - 8015c04: 20002570 .word 0x20002570 - 8015c08: 20002588 .word 0x20002588 - 8015c0c: 20002554 .word 0x20002554 - 8015c10: 20002558 .word 0x20002558 + 80165da: bf00 nop + 80165dc: 3708 adds r7, #8 + 80165de: 46bd mov sp, r7 + 80165e0: bd80 pop {r7, pc} + 80165e2: bf00 nop + 80165e4: 2000216c .word 0x2000216c + 80165e8: 200025cc .word 0x200025cc + 80165ec: 200025e0 .word 0x200025e0 + 80165f0: 200025fc .word 0x200025fc + 80165f4: 20002610 .word 0x20002610 + 80165f8: 20002628 .word 0x20002628 + 80165fc: 200025f4 .word 0x200025f4 + 8016600: 200025f8 .word 0x200025f8 -08015c14 : +08016604 : /*-----------------------------------------------------------*/ static void prvCheckTasksWaitingTermination( void ) { - 8015c14: b580 push {r7, lr} - 8015c16: b082 sub sp, #8 - 8015c18: af00 add r7, sp, #0 + 8016604: b580 push {r7, lr} + 8016606: b082 sub sp, #8 + 8016608: af00 add r7, sp, #0 { TCB_t * pxTCB; /* uxDeletedTasksWaitingCleanUp is used to prevent taskENTER_CRITICAL() * being called too often in the idle task. */ while( uxDeletedTasksWaitingCleanUp > ( UBaseType_t ) 0U ) - 8015c1a: e019 b.n 8015c50 + 801660a: e019 b.n 8016640 { taskENTER_CRITICAL(); - 8015c1c: f001 fba0 bl 8017360 + 801660c: f001 fb90 bl 8017d30 { pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xTasksWaitingTermination ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 8015c20: 4b10 ldr r3, [pc, #64] @ (8015c64 ) - 8015c22: 68db ldr r3, [r3, #12] - 8015c24: 68db ldr r3, [r3, #12] - 8015c26: 607b str r3, [r7, #4] + 8016610: 4b10 ldr r3, [pc, #64] @ (8016654 ) + 8016612: 68db ldr r3, [r3, #12] + 8016614: 68db ldr r3, [r3, #12] + 8016616: 607b str r3, [r7, #4] ( void ) uxListRemove( &( pxTCB->xStateListItem ) ); - 8015c28: 687b ldr r3, [r7, #4] - 8015c2a: 3304 adds r3, #4 - 8015c2c: 4618 mov r0, r3 - 8015c2e: f7fd ff1f bl 8013a70 + 8016618: 687b ldr r3, [r7, #4] + 801661a: 3304 adds r3, #4 + 801661c: 4618 mov r0, r3 + 801661e: f7fd ff0b bl 8014438 --uxCurrentNumberOfTasks; - 8015c32: 4b0d ldr r3, [pc, #52] @ (8015c68 ) - 8015c34: 681b ldr r3, [r3, #0] - 8015c36: 3b01 subs r3, #1 - 8015c38: 4a0b ldr r2, [pc, #44] @ (8015c68 ) - 8015c3a: 6013 str r3, [r2, #0] + 8016622: 4b0d ldr r3, [pc, #52] @ (8016658 ) + 8016624: 681b ldr r3, [r3, #0] + 8016626: 3b01 subs r3, #1 + 8016628: 4a0b ldr r2, [pc, #44] @ (8016658 ) + 801662a: 6013 str r3, [r2, #0] --uxDeletedTasksWaitingCleanUp; - 8015c3c: 4b0b ldr r3, [pc, #44] @ (8015c6c ) - 8015c3e: 681b ldr r3, [r3, #0] - 8015c40: 3b01 subs r3, #1 - 8015c42: 4a0a ldr r2, [pc, #40] @ (8015c6c ) - 8015c44: 6013 str r3, [r2, #0] + 801662c: 4b0b ldr r3, [pc, #44] @ (801665c ) + 801662e: 681b ldr r3, [r3, #0] + 8016630: 3b01 subs r3, #1 + 8016632: 4a0a ldr r2, [pc, #40] @ (801665c ) + 8016634: 6013 str r3, [r2, #0] } taskEXIT_CRITICAL(); - 8015c46: f001 fbbd bl 80173c4 + 8016636: f001 fbad bl 8017d94 prvDeleteTCB( pxTCB ); - 8015c4a: 6878 ldr r0, [r7, #4] - 8015c4c: f000 f810 bl 8015c70 + 801663a: 6878 ldr r0, [r7, #4] + 801663c: f000 f810 bl 8016660 while( uxDeletedTasksWaitingCleanUp > ( UBaseType_t ) 0U ) - 8015c50: 4b06 ldr r3, [pc, #24] @ (8015c6c ) - 8015c52: 681b ldr r3, [r3, #0] - 8015c54: 2b00 cmp r3, #0 - 8015c56: d1e1 bne.n 8015c1c + 8016640: 4b06 ldr r3, [pc, #24] @ (801665c ) + 8016642: 681b ldr r3, [r3, #0] + 8016644: 2b00 cmp r3, #0 + 8016646: d1e1 bne.n 801660c } } #endif /* INCLUDE_vTaskDelete */ } - 8015c58: bf00 nop - 8015c5a: bf00 nop - 8015c5c: 3708 adds r7, #8 - 8015c5e: 46bd mov sp, r7 - 8015c60: bd80 pop {r7, pc} - 8015c62: bf00 nop - 8015c64: 20002570 .word 0x20002570 - 8015c68: 2000259c .word 0x2000259c - 8015c6c: 20002584 .word 0x20002584 + 8016648: bf00 nop + 801664a: bf00 nop + 801664c: 3708 adds r7, #8 + 801664e: 46bd mov sp, r7 + 8016650: bd80 pop {r7, pc} + 8016652: bf00 nop + 8016654: 20002610 .word 0x20002610 + 8016658: 2000263c .word 0x2000263c + 801665c: 20002624 .word 0x20002624 -08015c70 : +08016660 : /*-----------------------------------------------------------*/ #if ( INCLUDE_vTaskDelete == 1 ) static void prvDeleteTCB( TCB_t * pxTCB ) { - 8015c70: b580 push {r7, lr} - 8015c72: b084 sub sp, #16 - 8015c74: af00 add r7, sp, #0 - 8015c76: 6078 str r0, [r7, #4] + 8016660: b580 push {r7, lr} + 8016662: b084 sub sp, #16 + 8016664: af00 add r7, sp, #0 + 8016666: 6078 str r0, [r7, #4] + portCLEAN_UP_TCB( pxTCB ); + + #if ( configUSE_C_RUNTIME_TLS_SUPPORT == 1 ) + { + /* Free up the memory allocated for the task's TLS Block. */ + configDEINIT_TLS_BLOCK( pxCurrentTCB->xTLSBlock ); + 8016668: 4b18 ldr r3, [pc, #96] @ (80166cc ) + 801666a: 681b ldr r3, [r3, #0] + 801666c: 3354 adds r3, #84 @ 0x54 + 801666e: 4618 mov r0, r3 + 8016670: f003 fe64 bl 801a33c <_reclaim_reent> #elif ( tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE != 0 ) /*lint !e731 !e9029 Macro has been consolidated for readability reasons. */ { /* The task could have been allocated statically or dynamically, so * check what was statically allocated before trying to free the * memory. */ if( pxTCB->ucStaticallyAllocated == tskDYNAMICALLY_ALLOCATED_STACK_AND_TCB ) - 8015c78: 687b ldr r3, [r7, #4] - 8015c7a: f893 3059 ldrb.w r3, [r3, #89] @ 0x59 - 8015c7e: 2b00 cmp r3, #0 - 8015c80: d108 bne.n 8015c94 + 8016674: 687b ldr r3, [r7, #4] + 8016676: f893 30aa ldrb.w r3, [r3, #170] @ 0xaa + 801667a: 2b00 cmp r3, #0 + 801667c: d108 bne.n 8016690 { /* Both the stack and TCB were allocated dynamically, so both * must be freed. */ vPortFreeStack( pxTCB->pxStack ); - 8015c82: 687b ldr r3, [r7, #4] - 8015c84: 6b1b ldr r3, [r3, #48] @ 0x30 - 8015c86: 4618 mov r0, r3 - 8015c88: f001 fd5e bl 8017748 + 801667e: 687b ldr r3, [r7, #4] + 8016680: 6b1b ldr r3, [r3, #48] @ 0x30 + 8016682: 4618 mov r0, r3 + 8016684: f001 fd48 bl 8018118 vPortFree( pxTCB ); - 8015c8c: 6878 ldr r0, [r7, #4] - 8015c8e: f001 fd5b bl 8017748 + 8016688: 6878 ldr r0, [r7, #4] + 801668a: f001 fd45 bl 8018118 configASSERT( pxTCB->ucStaticallyAllocated == tskSTATICALLY_ALLOCATED_STACK_AND_TCB ); mtCOVERAGE_TEST_MARKER(); } } #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ } - 8015c92: e019 b.n 8015cc8 + 801668e: e019 b.n 80166c4 else if( pxTCB->ucStaticallyAllocated == tskSTATICALLY_ALLOCATED_STACK_ONLY ) - 8015c94: 687b ldr r3, [r7, #4] - 8015c96: f893 3059 ldrb.w r3, [r3, #89] @ 0x59 - 8015c9a: 2b01 cmp r3, #1 - 8015c9c: d103 bne.n 8015ca6 + 8016690: 687b ldr r3, [r7, #4] + 8016692: f893 30aa ldrb.w r3, [r3, #170] @ 0xaa + 8016696: 2b01 cmp r3, #1 + 8016698: d103 bne.n 80166a2 vPortFree( pxTCB ); - 8015c9e: 6878 ldr r0, [r7, #4] - 8015ca0: f001 fd52 bl 8017748 + 801669a: 6878 ldr r0, [r7, #4] + 801669c: f001 fd3c bl 8018118 } - 8015ca4: e010 b.n 8015cc8 + 80166a0: e010 b.n 80166c4 configASSERT( pxTCB->ucStaticallyAllocated == tskSTATICALLY_ALLOCATED_STACK_AND_TCB ); - 8015ca6: 687b ldr r3, [r7, #4] - 8015ca8: f893 3059 ldrb.w r3, [r3, #89] @ 0x59 - 8015cac: 2b02 cmp r3, #2 - 8015cae: d00b beq.n 8015cc8 + 80166a2: 687b ldr r3, [r7, #4] + 80166a4: f893 30aa ldrb.w r3, [r3, #170] @ 0xaa + 80166a8: 2b02 cmp r3, #2 + 80166aa: d00b beq.n 80166c4 __asm volatile - 8015cb0: f04f 0350 mov.w r3, #80 @ 0x50 - 8015cb4: f383 8811 msr BASEPRI, r3 - 8015cb8: f3bf 8f6f isb sy - 8015cbc: f3bf 8f4f dsb sy - 8015cc0: 60fb str r3, [r7, #12] + 80166ac: f04f 0350 mov.w r3, #80 @ 0x50 + 80166b0: f383 8811 msr BASEPRI, r3 + 80166b4: f3bf 8f6f isb sy + 80166b8: f3bf 8f4f dsb sy + 80166bc: 60fb str r3, [r7, #12] } - 8015cc2: bf00 nop - 8015cc4: bf00 nop - 8015cc6: e7fd b.n 8015cc4 + 80166be: bf00 nop + 80166c0: bf00 nop + 80166c2: e7fd b.n 80166c0 } - 8015cc8: bf00 nop - 8015cca: 3710 adds r7, #16 - 8015ccc: 46bd mov sp, r7 - 8015cce: bd80 pop {r7, pc} + 80166c4: bf00 nop + 80166c6: 3710 adds r7, #16 + 80166c8: 46bd mov sp, r7 + 80166ca: bd80 pop {r7, pc} + 80166cc: 20002168 .word 0x20002168 -08015cd0 : +080166d0 : #endif /* INCLUDE_vTaskDelete */ /*-----------------------------------------------------------*/ static void prvResetNextTaskUnblockTime( void ) { - 8015cd0: b480 push {r7} - 8015cd2: af00 add r7, sp, #0 + 80166d0: b480 push {r7} + 80166d2: af00 add r7, sp, #0 if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) - 8015cd4: 4b0a ldr r3, [pc, #40] @ (8015d00 ) - 8015cd6: 681b ldr r3, [r3, #0] - 8015cd8: 681b ldr r3, [r3, #0] - 8015cda: 2b00 cmp r3, #0 - 8015cdc: d104 bne.n 8015ce8 + 80166d4: 4b0a ldr r3, [pc, #40] @ (8016700 ) + 80166d6: 681b ldr r3, [r3, #0] + 80166d8: 681b ldr r3, [r3, #0] + 80166da: 2b00 cmp r3, #0 + 80166dc: d104 bne.n 80166e8 { /* The new current delayed list is empty. Set xNextTaskUnblockTime to * the maximum possible value so it is extremely unlikely that the * if( xTickCount >= xNextTaskUnblockTime ) test will pass until * there is an item in the delayed list. */ xNextTaskUnblockTime = portMAX_DELAY; - 8015cde: 4b09 ldr r3, [pc, #36] @ (8015d04 ) - 8015ce0: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8015ce4: 601a str r2, [r3, #0] + 80166de: 4b09 ldr r3, [pc, #36] @ (8016704 ) + 80166e0: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 80166e4: 601a str r2, [r3, #0] * the item at the head of the delayed list. This is the time at * which the task at the head of the delayed list should be removed * from the Blocked state. */ xNextTaskUnblockTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxDelayedTaskList ); } } - 8015ce6: e005 b.n 8015cf4 + 80166e6: e005 b.n 80166f4 xNextTaskUnblockTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxDelayedTaskList ); - 8015ce8: 4b05 ldr r3, [pc, #20] @ (8015d00 ) - 8015cea: 681b ldr r3, [r3, #0] - 8015cec: 68db ldr r3, [r3, #12] - 8015cee: 681b ldr r3, [r3, #0] - 8015cf0: 4a04 ldr r2, [pc, #16] @ (8015d04 ) - 8015cf2: 6013 str r3, [r2, #0] + 80166e8: 4b05 ldr r3, [pc, #20] @ (8016700 ) + 80166ea: 681b ldr r3, [r3, #0] + 80166ec: 68db ldr r3, [r3, #12] + 80166ee: 681b ldr r3, [r3, #0] + 80166f0: 4a04 ldr r2, [pc, #16] @ (8016704 ) + 80166f2: 6013 str r3, [r2, #0] } - 8015cf4: bf00 nop - 8015cf6: 46bd mov sp, r7 - 8015cf8: f85d 7b04 ldr.w r7, [sp], #4 - 8015cfc: 4770 bx lr - 8015cfe: bf00 nop - 8015d00: 20002554 .word 0x20002554 - 8015d04: 200025bc .word 0x200025bc + 80166f4: bf00 nop + 80166f6: 46bd mov sp, r7 + 80166f8: f85d 7b04 ldr.w r7, [sp], #4 + 80166fc: 4770 bx lr + 80166fe: bf00 nop + 8016700: 200025f4 .word 0x200025f4 + 8016704: 2000265c .word 0x2000265c -08015d08 : +08016708 : /*-----------------------------------------------------------*/ #if ( ( INCLUDE_xTaskGetCurrentTaskHandle == 1 ) || ( configUSE_MUTEXES == 1 ) ) TaskHandle_t xTaskGetCurrentTaskHandle( void ) { - 8015d08: b480 push {r7} - 8015d0a: b083 sub sp, #12 - 8015d0c: af00 add r7, sp, #0 + 8016708: b480 push {r7} + 801670a: b083 sub sp, #12 + 801670c: af00 add r7, sp, #0 TaskHandle_t xReturn; /* A critical section is not required as this is not called from * an interrupt and the current TCB will always be the same for any * individual execution thread. */ xReturn = pxCurrentTCB; - 8015d0e: 4b05 ldr r3, [pc, #20] @ (8015d24 ) - 8015d10: 681b ldr r3, [r3, #0] - 8015d12: 607b str r3, [r7, #4] + 801670e: 4b05 ldr r3, [pc, #20] @ (8016724 ) + 8016710: 681b ldr r3, [r3, #0] + 8016712: 607b str r3, [r7, #4] return xReturn; - 8015d14: 687b ldr r3, [r7, #4] + 8016714: 687b ldr r3, [r7, #4] } - 8015d16: 4618 mov r0, r3 - 8015d18: 370c adds r7, #12 - 8015d1a: 46bd mov sp, r7 - 8015d1c: f85d 7b04 ldr.w r7, [sp], #4 - 8015d20: 4770 bx lr - 8015d22: bf00 nop - 8015d24: 200020c8 .word 0x200020c8 + 8016716: 4618 mov r0, r3 + 8016718: 370c adds r7, #12 + 801671a: 46bd mov sp, r7 + 801671c: f85d 7b04 ldr.w r7, [sp], #4 + 8016720: 4770 bx lr + 8016722: bf00 nop + 8016724: 20002168 .word 0x20002168 -08015d28 : +08016728 : /*-----------------------------------------------------------*/ #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) BaseType_t xTaskGetSchedulerState( void ) { - 8015d28: b480 push {r7} - 8015d2a: b083 sub sp, #12 - 8015d2c: af00 add r7, sp, #0 + 8016728: b480 push {r7} + 801672a: b083 sub sp, #12 + 801672c: af00 add r7, sp, #0 BaseType_t xReturn; if( xSchedulerRunning == pdFALSE ) - 8015d2e: 4b0b ldr r3, [pc, #44] @ (8015d5c ) - 8015d30: 681b ldr r3, [r3, #0] - 8015d32: 2b00 cmp r3, #0 - 8015d34: d102 bne.n 8015d3c + 801672e: 4b0b ldr r3, [pc, #44] @ (801675c ) + 8016730: 681b ldr r3, [r3, #0] + 8016732: 2b00 cmp r3, #0 + 8016734: d102 bne.n 801673c { xReturn = taskSCHEDULER_NOT_STARTED; - 8015d36: 2301 movs r3, #1 - 8015d38: 607b str r3, [r7, #4] - 8015d3a: e008 b.n 8015d4e + 8016736: 2301 movs r3, #1 + 8016738: 607b str r3, [r7, #4] + 801673a: e008 b.n 801674e } else { if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) - 8015d3c: 4b08 ldr r3, [pc, #32] @ (8015d60 ) - 8015d3e: 681b ldr r3, [r3, #0] - 8015d40: 2b00 cmp r3, #0 - 8015d42: d102 bne.n 8015d4a + 801673c: 4b08 ldr r3, [pc, #32] @ (8016760 ) + 801673e: 681b ldr r3, [r3, #0] + 8016740: 2b00 cmp r3, #0 + 8016742: d102 bne.n 801674a { xReturn = taskSCHEDULER_RUNNING; - 8015d44: 2302 movs r3, #2 - 8015d46: 607b str r3, [r7, #4] - 8015d48: e001 b.n 8015d4e + 8016744: 2302 movs r3, #2 + 8016746: 607b str r3, [r7, #4] + 8016748: e001 b.n 801674e } else { xReturn = taskSCHEDULER_SUSPENDED; - 8015d4a: 2300 movs r3, #0 - 8015d4c: 607b str r3, [r7, #4] + 801674a: 2300 movs r3, #0 + 801674c: 607b str r3, [r7, #4] } } return xReturn; - 8015d4e: 687b ldr r3, [r7, #4] + 801674e: 687b ldr r3, [r7, #4] } - 8015d50: 4618 mov r0, r3 - 8015d52: 370c adds r7, #12 - 8015d54: 46bd mov sp, r7 - 8015d56: f85d 7b04 ldr.w r7, [sp], #4 - 8015d5a: 4770 bx lr - 8015d5c: 200025a8 .word 0x200025a8 - 8015d60: 200025c4 .word 0x200025c4 + 8016750: 4618 mov r0, r3 + 8016752: 370c adds r7, #12 + 8016754: 46bd mov sp, r7 + 8016756: f85d 7b04 ldr.w r7, [sp], #4 + 801675a: 4770 bx lr + 801675c: 20002648 .word 0x20002648 + 8016760: 20002664 .word 0x20002664 -08015d64 : +08016764 : /*-----------------------------------------------------------*/ #if ( configUSE_MUTEXES == 1 ) BaseType_t xTaskPriorityInherit( TaskHandle_t const pxMutexHolder ) { - 8015d64: b580 push {r7, lr} - 8015d66: b086 sub sp, #24 - 8015d68: af00 add r7, sp, #0 - 8015d6a: 6078 str r0, [r7, #4] + 8016764: b580 push {r7, lr} + 8016766: b086 sub sp, #24 + 8016768: af00 add r7, sp, #0 + 801676a: 6078 str r0, [r7, #4] TCB_t * const pxMutexHolderTCB = pxMutexHolder; - 8015d6c: 687b ldr r3, [r7, #4] - 8015d6e: 613b str r3, [r7, #16] + 801676c: 687b ldr r3, [r7, #4] + 801676e: 613b str r3, [r7, #16] BaseType_t xReturn = pdFALSE; - 8015d70: 2300 movs r3, #0 - 8015d72: 617b str r3, [r7, #20] + 8016770: 2300 movs r3, #0 + 8016772: 617b str r3, [r7, #20] /* If the mutex was given back by an interrupt while the queue was * locked then the mutex holder might now be NULL. _RB_ Is this still * needed as interrupts can no longer use mutexes? */ if( pxMutexHolder != NULL ) - 8015d74: 687b ldr r3, [r7, #4] - 8015d76: 2b00 cmp r3, #0 - 8015d78: d079 beq.n 8015e6e + 8016774: 687b ldr r3, [r7, #4] + 8016776: 2b00 cmp r3, #0 + 8016778: d079 beq.n 801686e { /* If the holder of the mutex has a priority below the priority of * the task attempting to obtain the mutex then it will temporarily * inherit the priority of the task attempting to obtain the mutex. */ if( pxMutexHolderTCB->uxPriority < pxCurrentTCB->uxPriority ) - 8015d7a: 693b ldr r3, [r7, #16] - 8015d7c: 6ada ldr r2, [r3, #44] @ 0x2c - 8015d7e: 4b3e ldr r3, [pc, #248] @ (8015e78 ) - 8015d80: 681b ldr r3, [r3, #0] - 8015d82: 6adb ldr r3, [r3, #44] @ 0x2c - 8015d84: 429a cmp r2, r3 - 8015d86: d269 bcs.n 8015e5c + 801677a: 693b ldr r3, [r7, #16] + 801677c: 6ada ldr r2, [r3, #44] @ 0x2c + 801677e: 4b3e ldr r3, [pc, #248] @ (8016878 ) + 8016780: 681b ldr r3, [r3, #0] + 8016782: 6adb ldr r3, [r3, #44] @ 0x2c + 8016784: 429a cmp r2, r3 + 8016786: d269 bcs.n 801685c { /* Adjust the mutex holder state to account for its new * priority. Only reset the event list item value if the value is * not being used for anything else. */ if( ( listGET_LIST_ITEM_VALUE( &( pxMutexHolderTCB->xEventListItem ) ) & taskEVENT_LIST_ITEM_VALUE_IN_USE ) == 0UL ) - 8015d88: 693b ldr r3, [r7, #16] - 8015d8a: 699b ldr r3, [r3, #24] - 8015d8c: 2b00 cmp r3, #0 - 8015d8e: db06 blt.n 8015d9e + 8016788: 693b ldr r3, [r7, #16] + 801678a: 699b ldr r3, [r3, #24] + 801678c: 2b00 cmp r3, #0 + 801678e: db06 blt.n 801679e { listSET_LIST_ITEM_VALUE( &( pxMutexHolderTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxCurrentTCB->uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 8015d90: 4b39 ldr r3, [pc, #228] @ (8015e78 ) - 8015d92: 681b ldr r3, [r3, #0] - 8015d94: 6adb ldr r3, [r3, #44] @ 0x2c - 8015d96: f1c3 0238 rsb r2, r3, #56 @ 0x38 - 8015d9a: 693b ldr r3, [r7, #16] - 8015d9c: 619a str r2, [r3, #24] + 8016790: 4b39 ldr r3, [pc, #228] @ (8016878 ) + 8016792: 681b ldr r3, [r3, #0] + 8016794: 6adb ldr r3, [r3, #44] @ 0x2c + 8016796: f1c3 0238 rsb r2, r3, #56 @ 0x38 + 801679a: 693b ldr r3, [r7, #16] + 801679c: 619a str r2, [r3, #24] mtCOVERAGE_TEST_MARKER(); } /* If the task being modified is in the ready state it will need * to be moved into a new list. */ if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ pxMutexHolderTCB->uxPriority ] ), &( pxMutexHolderTCB->xStateListItem ) ) != pdFALSE ) - 8015d9e: 693b ldr r3, [r7, #16] - 8015da0: 6959 ldr r1, [r3, #20] - 8015da2: 693b ldr r3, [r7, #16] - 8015da4: 6ada ldr r2, [r3, #44] @ 0x2c - 8015da6: 4613 mov r3, r2 - 8015da8: 009b lsls r3, r3, #2 - 8015daa: 4413 add r3, r2 - 8015dac: 009b lsls r3, r3, #2 - 8015dae: 4a33 ldr r2, [pc, #204] @ (8015e7c ) - 8015db0: 4413 add r3, r2 - 8015db2: 4299 cmp r1, r3 - 8015db4: d14a bne.n 8015e4c + 801679e: 693b ldr r3, [r7, #16] + 80167a0: 6959 ldr r1, [r3, #20] + 80167a2: 693b ldr r3, [r7, #16] + 80167a4: 6ada ldr r2, [r3, #44] @ 0x2c + 80167a6: 4613 mov r3, r2 + 80167a8: 009b lsls r3, r3, #2 + 80167aa: 4413 add r3, r2 + 80167ac: 009b lsls r3, r3, #2 + 80167ae: 4a33 ldr r2, [pc, #204] @ (801687c ) + 80167b0: 4413 add r3, r2 + 80167b2: 4299 cmp r1, r3 + 80167b4: d14a bne.n 801684c { if( uxListRemove( &( pxMutexHolderTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 8015db6: 693b ldr r3, [r7, #16] - 8015db8: 3304 adds r3, #4 - 8015dba: 4618 mov r0, r3 - 8015dbc: f7fd fe58 bl 8013a70 + 80167b6: 693b ldr r3, [r7, #16] + 80167b8: 3304 adds r3, #4 + 80167ba: 4618 mov r0, r3 + 80167bc: f7fd fe3c bl 8014438 { mtCOVERAGE_TEST_MARKER(); } /* Inherit the priority before being moved into the new list. */ pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; - 8015dc0: 4b2d ldr r3, [pc, #180] @ (8015e78 ) - 8015dc2: 681b ldr r3, [r3, #0] - 8015dc4: 6ada ldr r2, [r3, #44] @ 0x2c - 8015dc6: 693b ldr r3, [r7, #16] - 8015dc8: 62da str r2, [r3, #44] @ 0x2c + 80167c0: 4b2d ldr r3, [pc, #180] @ (8016878 ) + 80167c2: 681b ldr r3, [r3, #0] + 80167c4: 6ada ldr r2, [r3, #44] @ 0x2c + 80167c6: 693b ldr r3, [r7, #16] + 80167c8: 62da str r2, [r3, #44] @ 0x2c prvAddTaskToReadyList( pxMutexHolderTCB ); - 8015dca: 693b ldr r3, [r7, #16] - 8015dcc: 6ada ldr r2, [r3, #44] @ 0x2c - 8015dce: 4b2c ldr r3, [pc, #176] @ (8015e80 ) - 8015dd0: 681b ldr r3, [r3, #0] - 8015dd2: 429a cmp r2, r3 - 8015dd4: d903 bls.n 8015dde - 8015dd6: 693b ldr r3, [r7, #16] - 8015dd8: 6adb ldr r3, [r3, #44] @ 0x2c - 8015dda: 4a29 ldr r2, [pc, #164] @ (8015e80 ) - 8015ddc: 6013 str r3, [r2, #0] - 8015dde: 693b ldr r3, [r7, #16] - 8015de0: 6ada ldr r2, [r3, #44] @ 0x2c - 8015de2: 4926 ldr r1, [pc, #152] @ (8015e7c ) - 8015de4: 4613 mov r3, r2 - 8015de6: 009b lsls r3, r3, #2 - 8015de8: 4413 add r3, r2 - 8015dea: 009b lsls r3, r3, #2 - 8015dec: 440b add r3, r1 - 8015dee: 3304 adds r3, #4 - 8015df0: 681b ldr r3, [r3, #0] - 8015df2: 60fb str r3, [r7, #12] - 8015df4: 693b ldr r3, [r7, #16] - 8015df6: 68fa ldr r2, [r7, #12] - 8015df8: 609a str r2, [r3, #8] - 8015dfa: 68fb ldr r3, [r7, #12] - 8015dfc: 689a ldr r2, [r3, #8] - 8015dfe: 693b ldr r3, [r7, #16] - 8015e00: 60da str r2, [r3, #12] - 8015e02: 68fb ldr r3, [r7, #12] - 8015e04: 689b ldr r3, [r3, #8] - 8015e06: 693a ldr r2, [r7, #16] - 8015e08: 3204 adds r2, #4 - 8015e0a: 605a str r2, [r3, #4] - 8015e0c: 693b ldr r3, [r7, #16] - 8015e0e: 1d1a adds r2, r3, #4 - 8015e10: 68fb ldr r3, [r7, #12] - 8015e12: 609a str r2, [r3, #8] - 8015e14: 693b ldr r3, [r7, #16] - 8015e16: 6ada ldr r2, [r3, #44] @ 0x2c - 8015e18: 4613 mov r3, r2 - 8015e1a: 009b lsls r3, r3, #2 - 8015e1c: 4413 add r3, r2 - 8015e1e: 009b lsls r3, r3, #2 - 8015e20: 4a16 ldr r2, [pc, #88] @ (8015e7c ) - 8015e22: 441a add r2, r3 - 8015e24: 693b ldr r3, [r7, #16] - 8015e26: 615a str r2, [r3, #20] - 8015e28: 693b ldr r3, [r7, #16] - 8015e2a: 6ada ldr r2, [r3, #44] @ 0x2c - 8015e2c: 4913 ldr r1, [pc, #76] @ (8015e7c ) - 8015e2e: 4613 mov r3, r2 - 8015e30: 009b lsls r3, r3, #2 - 8015e32: 4413 add r3, r2 - 8015e34: 009b lsls r3, r3, #2 - 8015e36: 440b add r3, r1 - 8015e38: 681b ldr r3, [r3, #0] - 8015e3a: 1c59 adds r1, r3, #1 - 8015e3c: 480f ldr r0, [pc, #60] @ (8015e7c ) - 8015e3e: 4613 mov r3, r2 - 8015e40: 009b lsls r3, r3, #2 - 8015e42: 4413 add r3, r2 - 8015e44: 009b lsls r3, r3, #2 - 8015e46: 4403 add r3, r0 - 8015e48: 6019 str r1, [r3, #0] - 8015e4a: e004 b.n 8015e56 + 80167ca: 693b ldr r3, [r7, #16] + 80167cc: 6ada ldr r2, [r3, #44] @ 0x2c + 80167ce: 4b2c ldr r3, [pc, #176] @ (8016880 ) + 80167d0: 681b ldr r3, [r3, #0] + 80167d2: 429a cmp r2, r3 + 80167d4: d903 bls.n 80167de + 80167d6: 693b ldr r3, [r7, #16] + 80167d8: 6adb ldr r3, [r3, #44] @ 0x2c + 80167da: 4a29 ldr r2, [pc, #164] @ (8016880 ) + 80167dc: 6013 str r3, [r2, #0] + 80167de: 693b ldr r3, [r7, #16] + 80167e0: 6ada ldr r2, [r3, #44] @ 0x2c + 80167e2: 4926 ldr r1, [pc, #152] @ (801687c ) + 80167e4: 4613 mov r3, r2 + 80167e6: 009b lsls r3, r3, #2 + 80167e8: 4413 add r3, r2 + 80167ea: 009b lsls r3, r3, #2 + 80167ec: 440b add r3, r1 + 80167ee: 3304 adds r3, #4 + 80167f0: 681b ldr r3, [r3, #0] + 80167f2: 60fb str r3, [r7, #12] + 80167f4: 693b ldr r3, [r7, #16] + 80167f6: 68fa ldr r2, [r7, #12] + 80167f8: 609a str r2, [r3, #8] + 80167fa: 68fb ldr r3, [r7, #12] + 80167fc: 689a ldr r2, [r3, #8] + 80167fe: 693b ldr r3, [r7, #16] + 8016800: 60da str r2, [r3, #12] + 8016802: 68fb ldr r3, [r7, #12] + 8016804: 689b ldr r3, [r3, #8] + 8016806: 693a ldr r2, [r7, #16] + 8016808: 3204 adds r2, #4 + 801680a: 605a str r2, [r3, #4] + 801680c: 693b ldr r3, [r7, #16] + 801680e: 1d1a adds r2, r3, #4 + 8016810: 68fb ldr r3, [r7, #12] + 8016812: 609a str r2, [r3, #8] + 8016814: 693b ldr r3, [r7, #16] + 8016816: 6ada ldr r2, [r3, #44] @ 0x2c + 8016818: 4613 mov r3, r2 + 801681a: 009b lsls r3, r3, #2 + 801681c: 4413 add r3, r2 + 801681e: 009b lsls r3, r3, #2 + 8016820: 4a16 ldr r2, [pc, #88] @ (801687c ) + 8016822: 441a add r2, r3 + 8016824: 693b ldr r3, [r7, #16] + 8016826: 615a str r2, [r3, #20] + 8016828: 693b ldr r3, [r7, #16] + 801682a: 6ada ldr r2, [r3, #44] @ 0x2c + 801682c: 4913 ldr r1, [pc, #76] @ (801687c ) + 801682e: 4613 mov r3, r2 + 8016830: 009b lsls r3, r3, #2 + 8016832: 4413 add r3, r2 + 8016834: 009b lsls r3, r3, #2 + 8016836: 440b add r3, r1 + 8016838: 681b ldr r3, [r3, #0] + 801683a: 1c59 adds r1, r3, #1 + 801683c: 480f ldr r0, [pc, #60] @ (801687c ) + 801683e: 4613 mov r3, r2 + 8016840: 009b lsls r3, r3, #2 + 8016842: 4413 add r3, r2 + 8016844: 009b lsls r3, r3, #2 + 8016846: 4403 add r3, r0 + 8016848: 6019 str r1, [r3, #0] + 801684a: e004 b.n 8016856 } else { /* Just inherit the priority. */ pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; - 8015e4c: 4b0a ldr r3, [pc, #40] @ (8015e78 ) - 8015e4e: 681b ldr r3, [r3, #0] - 8015e50: 6ada ldr r2, [r3, #44] @ 0x2c - 8015e52: 693b ldr r3, [r7, #16] - 8015e54: 62da str r2, [r3, #44] @ 0x2c + 801684c: 4b0a ldr r3, [pc, #40] @ (8016878 ) + 801684e: 681b ldr r3, [r3, #0] + 8016850: 6ada ldr r2, [r3, #44] @ 0x2c + 8016852: 693b ldr r3, [r7, #16] + 8016854: 62da str r2, [r3, #44] @ 0x2c } traceTASK_PRIORITY_INHERIT( pxMutexHolderTCB, pxCurrentTCB->uxPriority ); /* Inheritance occurred. */ xReturn = pdTRUE; - 8015e56: 2301 movs r3, #1 - 8015e58: 617b str r3, [r7, #20] - 8015e5a: e008 b.n 8015e6e + 8016856: 2301 movs r3, #1 + 8016858: 617b str r3, [r7, #20] + 801685a: e008 b.n 801686e } else { if( pxMutexHolderTCB->uxBasePriority < pxCurrentTCB->uxPriority ) - 8015e5c: 693b ldr r3, [r7, #16] - 8015e5e: 6cda ldr r2, [r3, #76] @ 0x4c - 8015e60: 4b05 ldr r3, [pc, #20] @ (8015e78 ) - 8015e62: 681b ldr r3, [r3, #0] - 8015e64: 6adb ldr r3, [r3, #44] @ 0x2c - 8015e66: 429a cmp r2, r3 - 8015e68: d201 bcs.n 8015e6e + 801685c: 693b ldr r3, [r7, #16] + 801685e: 6cda ldr r2, [r3, #76] @ 0x4c + 8016860: 4b05 ldr r3, [pc, #20] @ (8016878 ) + 8016862: 681b ldr r3, [r3, #0] + 8016864: 6adb ldr r3, [r3, #44] @ 0x2c + 8016866: 429a cmp r2, r3 + 8016868: d201 bcs.n 801686e * current priority of the mutex holder is not lower than the * priority of the task attempting to take the mutex. * Therefore the mutex holder must have already inherited a * priority, but inheritance would have occurred if that had * not been the case. */ xReturn = pdTRUE; - 8015e6a: 2301 movs r3, #1 - 8015e6c: 617b str r3, [r7, #20] + 801686a: 2301 movs r3, #1 + 801686c: 617b str r3, [r7, #20] else { mtCOVERAGE_TEST_MARKER(); } return xReturn; - 8015e6e: 697b ldr r3, [r7, #20] + 801686e: 697b ldr r3, [r7, #20] } - 8015e70: 4618 mov r0, r3 - 8015e72: 3718 adds r7, #24 - 8015e74: 46bd mov sp, r7 - 8015e76: bd80 pop {r7, pc} - 8015e78: 200020c8 .word 0x200020c8 - 8015e7c: 200020cc .word 0x200020cc - 8015e80: 200025a4 .word 0x200025a4 + 8016870: 4618 mov r0, r3 + 8016872: 3718 adds r7, #24 + 8016874: 46bd mov sp, r7 + 8016876: bd80 pop {r7, pc} + 8016878: 20002168 .word 0x20002168 + 801687c: 2000216c .word 0x2000216c + 8016880: 20002644 .word 0x20002644 -08015e84 : +08016884 : /*-----------------------------------------------------------*/ #if ( configUSE_MUTEXES == 1 ) BaseType_t xTaskPriorityDisinherit( TaskHandle_t const pxMutexHolder ) { - 8015e84: b580 push {r7, lr} - 8015e86: b088 sub sp, #32 - 8015e88: af00 add r7, sp, #0 - 8015e8a: 6078 str r0, [r7, #4] + 8016884: b580 push {r7, lr} + 8016886: b088 sub sp, #32 + 8016888: af00 add r7, sp, #0 + 801688a: 6078 str r0, [r7, #4] TCB_t * const pxTCB = pxMutexHolder; - 8015e8c: 687b ldr r3, [r7, #4] - 8015e8e: 61bb str r3, [r7, #24] + 801688c: 687b ldr r3, [r7, #4] + 801688e: 61bb str r3, [r7, #24] BaseType_t xReturn = pdFALSE; - 8015e90: 2300 movs r3, #0 - 8015e92: 61fb str r3, [r7, #28] + 8016890: 2300 movs r3, #0 + 8016892: 61fb str r3, [r7, #28] if( pxMutexHolder != NULL ) - 8015e94: 687b ldr r3, [r7, #4] - 8015e96: 2b00 cmp r3, #0 - 8015e98: f000 8081 beq.w 8015f9e + 8016894: 687b ldr r3, [r7, #4] + 8016896: 2b00 cmp r3, #0 + 8016898: f000 8081 beq.w 801699e { /* A task can only have an inherited priority if it holds the mutex. * If the mutex is held by a task then it cannot be given from an * interrupt, and if a mutex is given by the holding task then it must * be the running state task. */ configASSERT( pxTCB == pxCurrentTCB ); - 8015e9c: 4b42 ldr r3, [pc, #264] @ (8015fa8 ) - 8015e9e: 681b ldr r3, [r3, #0] - 8015ea0: 69ba ldr r2, [r7, #24] - 8015ea2: 429a cmp r2, r3 - 8015ea4: d00b beq.n 8015ebe + 801689c: 4b42 ldr r3, [pc, #264] @ (80169a8 ) + 801689e: 681b ldr r3, [r3, #0] + 80168a0: 69ba ldr r2, [r7, #24] + 80168a2: 429a cmp r2, r3 + 80168a4: d00b beq.n 80168be __asm volatile - 8015ea6: f04f 0350 mov.w r3, #80 @ 0x50 - 8015eaa: f383 8811 msr BASEPRI, r3 - 8015eae: f3bf 8f6f isb sy - 8015eb2: f3bf 8f4f dsb sy - 8015eb6: 613b str r3, [r7, #16] + 80168a6: f04f 0350 mov.w r3, #80 @ 0x50 + 80168aa: f383 8811 msr BASEPRI, r3 + 80168ae: f3bf 8f6f isb sy + 80168b2: f3bf 8f4f dsb sy + 80168b6: 613b str r3, [r7, #16] } - 8015eb8: bf00 nop - 8015eba: bf00 nop - 8015ebc: e7fd b.n 8015eba + 80168b8: bf00 nop + 80168ba: bf00 nop + 80168bc: e7fd b.n 80168ba configASSERT( pxTCB->uxMutexesHeld ); - 8015ebe: 69bb ldr r3, [r7, #24] - 8015ec0: 6d1b ldr r3, [r3, #80] @ 0x50 - 8015ec2: 2b00 cmp r3, #0 - 8015ec4: d10b bne.n 8015ede + 80168be: 69bb ldr r3, [r7, #24] + 80168c0: 6d1b ldr r3, [r3, #80] @ 0x50 + 80168c2: 2b00 cmp r3, #0 + 80168c4: d10b bne.n 80168de __asm volatile - 8015ec6: f04f 0350 mov.w r3, #80 @ 0x50 - 8015eca: f383 8811 msr BASEPRI, r3 - 8015ece: f3bf 8f6f isb sy - 8015ed2: f3bf 8f4f dsb sy - 8015ed6: 60fb str r3, [r7, #12] + 80168c6: f04f 0350 mov.w r3, #80 @ 0x50 + 80168ca: f383 8811 msr BASEPRI, r3 + 80168ce: f3bf 8f6f isb sy + 80168d2: f3bf 8f4f dsb sy + 80168d6: 60fb str r3, [r7, #12] } - 8015ed8: bf00 nop - 8015eda: bf00 nop - 8015edc: e7fd b.n 8015eda + 80168d8: bf00 nop + 80168da: bf00 nop + 80168dc: e7fd b.n 80168da ( pxTCB->uxMutexesHeld )--; - 8015ede: 69bb ldr r3, [r7, #24] - 8015ee0: 6d1b ldr r3, [r3, #80] @ 0x50 - 8015ee2: 1e5a subs r2, r3, #1 - 8015ee4: 69bb ldr r3, [r7, #24] - 8015ee6: 651a str r2, [r3, #80] @ 0x50 + 80168de: 69bb ldr r3, [r7, #24] + 80168e0: 6d1b ldr r3, [r3, #80] @ 0x50 + 80168e2: 1e5a subs r2, r3, #1 + 80168e4: 69bb ldr r3, [r7, #24] + 80168e6: 651a str r2, [r3, #80] @ 0x50 /* Has the holder of the mutex inherited the priority of another * task? */ if( pxTCB->uxPriority != pxTCB->uxBasePriority ) - 8015ee8: 69bb ldr r3, [r7, #24] - 8015eea: 6ada ldr r2, [r3, #44] @ 0x2c - 8015eec: 69bb ldr r3, [r7, #24] - 8015eee: 6cdb ldr r3, [r3, #76] @ 0x4c - 8015ef0: 429a cmp r2, r3 - 8015ef2: d054 beq.n 8015f9e + 80168e8: 69bb ldr r3, [r7, #24] + 80168ea: 6ada ldr r2, [r3, #44] @ 0x2c + 80168ec: 69bb ldr r3, [r7, #24] + 80168ee: 6cdb ldr r3, [r3, #76] @ 0x4c + 80168f0: 429a cmp r2, r3 + 80168f2: d054 beq.n 801699e { /* Only disinherit if no other mutexes are held. */ if( pxTCB->uxMutexesHeld == ( UBaseType_t ) 0 ) - 8015ef4: 69bb ldr r3, [r7, #24] - 8015ef6: 6d1b ldr r3, [r3, #80] @ 0x50 - 8015ef8: 2b00 cmp r3, #0 - 8015efa: d150 bne.n 8015f9e + 80168f4: 69bb ldr r3, [r7, #24] + 80168f6: 6d1b ldr r3, [r3, #80] @ 0x50 + 80168f8: 2b00 cmp r3, #0 + 80168fa: d150 bne.n 801699e /* A task can only have an inherited priority if it holds * the mutex. If the mutex is held by a task then it cannot be * given from an interrupt, and if a mutex is given by the * holding task then it must be the running state task. Remove * the holding task from the ready list. */ if( uxListRemove( &( pxTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 8015efc: 69bb ldr r3, [r7, #24] - 8015efe: 3304 adds r3, #4 - 8015f00: 4618 mov r0, r3 - 8015f02: f7fd fdb5 bl 8013a70 + 80168fc: 69bb ldr r3, [r7, #24] + 80168fe: 3304 adds r3, #4 + 8016900: 4618 mov r0, r3 + 8016902: f7fd fd99 bl 8014438 } /* Disinherit the priority before adding the task into the * new ready list. */ traceTASK_PRIORITY_DISINHERIT( pxTCB, pxTCB->uxBasePriority ); pxTCB->uxPriority = pxTCB->uxBasePriority; - 8015f06: 69bb ldr r3, [r7, #24] - 8015f08: 6cda ldr r2, [r3, #76] @ 0x4c - 8015f0a: 69bb ldr r3, [r7, #24] - 8015f0c: 62da str r2, [r3, #44] @ 0x2c + 8016906: 69bb ldr r3, [r7, #24] + 8016908: 6cda ldr r2, [r3, #76] @ 0x4c + 801690a: 69bb ldr r3, [r7, #24] + 801690c: 62da str r2, [r3, #44] @ 0x2c /* Reset the event list item value. It cannot be in use for * any other purpose if this task is running, and it must be * running to give back the mutex. */ listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxTCB->uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 8015f0e: 69bb ldr r3, [r7, #24] - 8015f10: 6adb ldr r3, [r3, #44] @ 0x2c - 8015f12: f1c3 0238 rsb r2, r3, #56 @ 0x38 - 8015f16: 69bb ldr r3, [r7, #24] - 8015f18: 619a str r2, [r3, #24] + 801690e: 69bb ldr r3, [r7, #24] + 8016910: 6adb ldr r3, [r3, #44] @ 0x2c + 8016912: f1c3 0238 rsb r2, r3, #56 @ 0x38 + 8016916: 69bb ldr r3, [r7, #24] + 8016918: 619a str r2, [r3, #24] prvAddTaskToReadyList( pxTCB ); - 8015f1a: 69bb ldr r3, [r7, #24] - 8015f1c: 6ada ldr r2, [r3, #44] @ 0x2c - 8015f1e: 4b23 ldr r3, [pc, #140] @ (8015fac ) - 8015f20: 681b ldr r3, [r3, #0] - 8015f22: 429a cmp r2, r3 - 8015f24: d903 bls.n 8015f2e - 8015f26: 69bb ldr r3, [r7, #24] - 8015f28: 6adb ldr r3, [r3, #44] @ 0x2c - 8015f2a: 4a20 ldr r2, [pc, #128] @ (8015fac ) - 8015f2c: 6013 str r3, [r2, #0] - 8015f2e: 69bb ldr r3, [r7, #24] - 8015f30: 6ada ldr r2, [r3, #44] @ 0x2c - 8015f32: 491f ldr r1, [pc, #124] @ (8015fb0 ) - 8015f34: 4613 mov r3, r2 - 8015f36: 009b lsls r3, r3, #2 - 8015f38: 4413 add r3, r2 - 8015f3a: 009b lsls r3, r3, #2 - 8015f3c: 440b add r3, r1 - 8015f3e: 3304 adds r3, #4 - 8015f40: 681b ldr r3, [r3, #0] - 8015f42: 617b str r3, [r7, #20] - 8015f44: 69bb ldr r3, [r7, #24] - 8015f46: 697a ldr r2, [r7, #20] - 8015f48: 609a str r2, [r3, #8] - 8015f4a: 697b ldr r3, [r7, #20] - 8015f4c: 689a ldr r2, [r3, #8] - 8015f4e: 69bb ldr r3, [r7, #24] - 8015f50: 60da str r2, [r3, #12] - 8015f52: 697b ldr r3, [r7, #20] - 8015f54: 689b ldr r3, [r3, #8] - 8015f56: 69ba ldr r2, [r7, #24] - 8015f58: 3204 adds r2, #4 - 8015f5a: 605a str r2, [r3, #4] - 8015f5c: 69bb ldr r3, [r7, #24] - 8015f5e: 1d1a adds r2, r3, #4 - 8015f60: 697b ldr r3, [r7, #20] - 8015f62: 609a str r2, [r3, #8] - 8015f64: 69bb ldr r3, [r7, #24] - 8015f66: 6ada ldr r2, [r3, #44] @ 0x2c - 8015f68: 4613 mov r3, r2 - 8015f6a: 009b lsls r3, r3, #2 - 8015f6c: 4413 add r3, r2 - 8015f6e: 009b lsls r3, r3, #2 - 8015f70: 4a0f ldr r2, [pc, #60] @ (8015fb0 ) - 8015f72: 441a add r2, r3 - 8015f74: 69bb ldr r3, [r7, #24] - 8015f76: 615a str r2, [r3, #20] - 8015f78: 69bb ldr r3, [r7, #24] - 8015f7a: 6ada ldr r2, [r3, #44] @ 0x2c - 8015f7c: 490c ldr r1, [pc, #48] @ (8015fb0 ) - 8015f7e: 4613 mov r3, r2 - 8015f80: 009b lsls r3, r3, #2 - 8015f82: 4413 add r3, r2 - 8015f84: 009b lsls r3, r3, #2 - 8015f86: 440b add r3, r1 - 8015f88: 681b ldr r3, [r3, #0] - 8015f8a: 1c59 adds r1, r3, #1 - 8015f8c: 4808 ldr r0, [pc, #32] @ (8015fb0 ) - 8015f8e: 4613 mov r3, r2 - 8015f90: 009b lsls r3, r3, #2 - 8015f92: 4413 add r3, r2 - 8015f94: 009b lsls r3, r3, #2 - 8015f96: 4403 add r3, r0 - 8015f98: 6019 str r1, [r3, #0] + 801691a: 69bb ldr r3, [r7, #24] + 801691c: 6ada ldr r2, [r3, #44] @ 0x2c + 801691e: 4b23 ldr r3, [pc, #140] @ (80169ac ) + 8016920: 681b ldr r3, [r3, #0] + 8016922: 429a cmp r2, r3 + 8016924: d903 bls.n 801692e + 8016926: 69bb ldr r3, [r7, #24] + 8016928: 6adb ldr r3, [r3, #44] @ 0x2c + 801692a: 4a20 ldr r2, [pc, #128] @ (80169ac ) + 801692c: 6013 str r3, [r2, #0] + 801692e: 69bb ldr r3, [r7, #24] + 8016930: 6ada ldr r2, [r3, #44] @ 0x2c + 8016932: 491f ldr r1, [pc, #124] @ (80169b0 ) + 8016934: 4613 mov r3, r2 + 8016936: 009b lsls r3, r3, #2 + 8016938: 4413 add r3, r2 + 801693a: 009b lsls r3, r3, #2 + 801693c: 440b add r3, r1 + 801693e: 3304 adds r3, #4 + 8016940: 681b ldr r3, [r3, #0] + 8016942: 617b str r3, [r7, #20] + 8016944: 69bb ldr r3, [r7, #24] + 8016946: 697a ldr r2, [r7, #20] + 8016948: 609a str r2, [r3, #8] + 801694a: 697b ldr r3, [r7, #20] + 801694c: 689a ldr r2, [r3, #8] + 801694e: 69bb ldr r3, [r7, #24] + 8016950: 60da str r2, [r3, #12] + 8016952: 697b ldr r3, [r7, #20] + 8016954: 689b ldr r3, [r3, #8] + 8016956: 69ba ldr r2, [r7, #24] + 8016958: 3204 adds r2, #4 + 801695a: 605a str r2, [r3, #4] + 801695c: 69bb ldr r3, [r7, #24] + 801695e: 1d1a adds r2, r3, #4 + 8016960: 697b ldr r3, [r7, #20] + 8016962: 609a str r2, [r3, #8] + 8016964: 69bb ldr r3, [r7, #24] + 8016966: 6ada ldr r2, [r3, #44] @ 0x2c + 8016968: 4613 mov r3, r2 + 801696a: 009b lsls r3, r3, #2 + 801696c: 4413 add r3, r2 + 801696e: 009b lsls r3, r3, #2 + 8016970: 4a0f ldr r2, [pc, #60] @ (80169b0 ) + 8016972: 441a add r2, r3 + 8016974: 69bb ldr r3, [r7, #24] + 8016976: 615a str r2, [r3, #20] + 8016978: 69bb ldr r3, [r7, #24] + 801697a: 6ada ldr r2, [r3, #44] @ 0x2c + 801697c: 490c ldr r1, [pc, #48] @ (80169b0 ) + 801697e: 4613 mov r3, r2 + 8016980: 009b lsls r3, r3, #2 + 8016982: 4413 add r3, r2 + 8016984: 009b lsls r3, r3, #2 + 8016986: 440b add r3, r1 + 8016988: 681b ldr r3, [r3, #0] + 801698a: 1c59 adds r1, r3, #1 + 801698c: 4808 ldr r0, [pc, #32] @ (80169b0 ) + 801698e: 4613 mov r3, r2 + 8016990: 009b lsls r3, r3, #2 + 8016992: 4413 add r3, r2 + 8016994: 009b lsls r3, r3, #2 + 8016996: 4403 add r3, r0 + 8016998: 6019 str r1, [r3, #0] * in an order different to that in which they were taken. * If a context switch did not occur when the first mutex was * returned, even if a task was waiting on it, then a context * switch should occur when the last mutex is returned whether * a task is waiting on it or not. */ xReturn = pdTRUE; - 8015f9a: 2301 movs r3, #1 - 8015f9c: 61fb str r3, [r7, #28] + 801699a: 2301 movs r3, #1 + 801699c: 61fb str r3, [r7, #28] else { mtCOVERAGE_TEST_MARKER(); } return xReturn; - 8015f9e: 69fb ldr r3, [r7, #28] + 801699e: 69fb ldr r3, [r7, #28] } - 8015fa0: 4618 mov r0, r3 - 8015fa2: 3720 adds r7, #32 - 8015fa4: 46bd mov sp, r7 - 8015fa6: bd80 pop {r7, pc} - 8015fa8: 200020c8 .word 0x200020c8 - 8015fac: 200025a4 .word 0x200025a4 - 8015fb0: 200020cc .word 0x200020cc + 80169a0: 4618 mov r0, r3 + 80169a2: 3720 adds r7, #32 + 80169a4: 46bd mov sp, r7 + 80169a6: bd80 pop {r7, pc} + 80169a8: 20002168 .word 0x20002168 + 80169ac: 20002644 .word 0x20002644 + 80169b0: 2000216c .word 0x2000216c -08015fb4 : +080169b4 : #if ( configUSE_MUTEXES == 1 ) void vTaskPriorityDisinheritAfterTimeout( TaskHandle_t const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask ) { - 8015fb4: b580 push {r7, lr} - 8015fb6: b08a sub sp, #40 @ 0x28 - 8015fb8: af00 add r7, sp, #0 - 8015fba: 6078 str r0, [r7, #4] - 8015fbc: 6039 str r1, [r7, #0] + 80169b4: b580 push {r7, lr} + 80169b6: b08a sub sp, #40 @ 0x28 + 80169b8: af00 add r7, sp, #0 + 80169ba: 6078 str r0, [r7, #4] + 80169bc: 6039 str r1, [r7, #0] TCB_t * const pxTCB = pxMutexHolder; - 8015fbe: 687b ldr r3, [r7, #4] - 8015fc0: 623b str r3, [r7, #32] + 80169be: 687b ldr r3, [r7, #4] + 80169c0: 623b str r3, [r7, #32] UBaseType_t uxPriorityUsedOnEntry, uxPriorityToUse; const UBaseType_t uxOnlyOneMutexHeld = ( UBaseType_t ) 1; - 8015fc2: 2301 movs r3, #1 - 8015fc4: 61fb str r3, [r7, #28] + 80169c2: 2301 movs r3, #1 + 80169c4: 61fb str r3, [r7, #28] if( pxMutexHolder != NULL ) - 8015fc6: 687b ldr r3, [r7, #4] - 8015fc8: 2b00 cmp r3, #0 - 8015fca: f000 8095 beq.w 80160f8 + 80169c6: 687b ldr r3, [r7, #4] + 80169c8: 2b00 cmp r3, #0 + 80169ca: f000 8095 beq.w 8016af8 { /* If pxMutexHolder is not NULL then the holder must hold at least * one mutex. */ configASSERT( pxTCB->uxMutexesHeld ); - 8015fce: 6a3b ldr r3, [r7, #32] - 8015fd0: 6d1b ldr r3, [r3, #80] @ 0x50 - 8015fd2: 2b00 cmp r3, #0 - 8015fd4: d10b bne.n 8015fee + 80169ce: 6a3b ldr r3, [r7, #32] + 80169d0: 6d1b ldr r3, [r3, #80] @ 0x50 + 80169d2: 2b00 cmp r3, #0 + 80169d4: d10b bne.n 80169ee __asm volatile - 8015fd6: f04f 0350 mov.w r3, #80 @ 0x50 - 8015fda: f383 8811 msr BASEPRI, r3 - 8015fde: f3bf 8f6f isb sy - 8015fe2: f3bf 8f4f dsb sy - 8015fe6: 613b str r3, [r7, #16] + 80169d6: f04f 0350 mov.w r3, #80 @ 0x50 + 80169da: f383 8811 msr BASEPRI, r3 + 80169de: f3bf 8f6f isb sy + 80169e2: f3bf 8f4f dsb sy + 80169e6: 613b str r3, [r7, #16] } - 8015fe8: bf00 nop - 8015fea: bf00 nop - 8015fec: e7fd b.n 8015fea + 80169e8: bf00 nop + 80169ea: bf00 nop + 80169ec: e7fd b.n 80169ea /* Determine the priority to which the priority of the task that * holds the mutex should be set. This will be the greater of the * holding task's base priority and the priority of the highest * priority task that is waiting to obtain the mutex. */ if( pxTCB->uxBasePriority < uxHighestPriorityWaitingTask ) - 8015fee: 6a3b ldr r3, [r7, #32] - 8015ff0: 6cdb ldr r3, [r3, #76] @ 0x4c - 8015ff2: 683a ldr r2, [r7, #0] - 8015ff4: 429a cmp r2, r3 - 8015ff6: d902 bls.n 8015ffe + 80169ee: 6a3b ldr r3, [r7, #32] + 80169f0: 6cdb ldr r3, [r3, #76] @ 0x4c + 80169f2: 683a ldr r2, [r7, #0] + 80169f4: 429a cmp r2, r3 + 80169f6: d902 bls.n 80169fe { uxPriorityToUse = uxHighestPriorityWaitingTask; - 8015ff8: 683b ldr r3, [r7, #0] - 8015ffa: 627b str r3, [r7, #36] @ 0x24 - 8015ffc: e002 b.n 8016004 + 80169f8: 683b ldr r3, [r7, #0] + 80169fa: 627b str r3, [r7, #36] @ 0x24 + 80169fc: e002 b.n 8016a04 } else { uxPriorityToUse = pxTCB->uxBasePriority; - 8015ffe: 6a3b ldr r3, [r7, #32] - 8016000: 6cdb ldr r3, [r3, #76] @ 0x4c - 8016002: 627b str r3, [r7, #36] @ 0x24 + 80169fe: 6a3b ldr r3, [r7, #32] + 8016a00: 6cdb ldr r3, [r3, #76] @ 0x4c + 8016a02: 627b str r3, [r7, #36] @ 0x24 } /* Does the priority need to change? */ if( pxTCB->uxPriority != uxPriorityToUse ) - 8016004: 6a3b ldr r3, [r7, #32] - 8016006: 6adb ldr r3, [r3, #44] @ 0x2c - 8016008: 6a7a ldr r2, [r7, #36] @ 0x24 - 801600a: 429a cmp r2, r3 - 801600c: d074 beq.n 80160f8 + 8016a04: 6a3b ldr r3, [r7, #32] + 8016a06: 6adb ldr r3, [r3, #44] @ 0x2c + 8016a08: 6a7a ldr r2, [r7, #36] @ 0x24 + 8016a0a: 429a cmp r2, r3 + 8016a0c: d074 beq.n 8016af8 { /* Only disinherit if no other mutexes are held. This is a * simplification in the priority inheritance implementation. If * the task that holds the mutex is also holding other mutexes then * the other mutexes may have caused the priority inheritance. */ if( pxTCB->uxMutexesHeld == uxOnlyOneMutexHeld ) - 801600e: 6a3b ldr r3, [r7, #32] - 8016010: 6d1b ldr r3, [r3, #80] @ 0x50 - 8016012: 69fa ldr r2, [r7, #28] - 8016014: 429a cmp r2, r3 - 8016016: d16f bne.n 80160f8 + 8016a0e: 6a3b ldr r3, [r7, #32] + 8016a10: 6d1b ldr r3, [r3, #80] @ 0x50 + 8016a12: 69fa ldr r2, [r7, #28] + 8016a14: 429a cmp r2, r3 + 8016a16: d16f bne.n 8016af8 { /* If a task has timed out because it already holds the * mutex it was trying to obtain then it cannot of inherited * its own priority. */ configASSERT( pxTCB != pxCurrentTCB ); - 8016018: 4b39 ldr r3, [pc, #228] @ (8016100 ) - 801601a: 681b ldr r3, [r3, #0] - 801601c: 6a3a ldr r2, [r7, #32] - 801601e: 429a cmp r2, r3 - 8016020: d10b bne.n 801603a + 8016a18: 4b39 ldr r3, [pc, #228] @ (8016b00 ) + 8016a1a: 681b ldr r3, [r3, #0] + 8016a1c: 6a3a ldr r2, [r7, #32] + 8016a1e: 429a cmp r2, r3 + 8016a20: d10b bne.n 8016a3a __asm volatile - 8016022: f04f 0350 mov.w r3, #80 @ 0x50 - 8016026: f383 8811 msr BASEPRI, r3 - 801602a: f3bf 8f6f isb sy - 801602e: f3bf 8f4f dsb sy - 8016032: 60fb str r3, [r7, #12] + 8016a22: f04f 0350 mov.w r3, #80 @ 0x50 + 8016a26: f383 8811 msr BASEPRI, r3 + 8016a2a: f3bf 8f6f isb sy + 8016a2e: f3bf 8f4f dsb sy + 8016a32: 60fb str r3, [r7, #12] } - 8016034: bf00 nop - 8016036: bf00 nop - 8016038: e7fd b.n 8016036 + 8016a34: bf00 nop + 8016a36: bf00 nop + 8016a38: e7fd b.n 8016a36 /* Disinherit the priority, remembering the previous * priority to facilitate determining the subject task's * state. */ traceTASK_PRIORITY_DISINHERIT( pxTCB, uxPriorityToUse ); uxPriorityUsedOnEntry = pxTCB->uxPriority; - 801603a: 6a3b ldr r3, [r7, #32] - 801603c: 6adb ldr r3, [r3, #44] @ 0x2c - 801603e: 61bb str r3, [r7, #24] + 8016a3a: 6a3b ldr r3, [r7, #32] + 8016a3c: 6adb ldr r3, [r3, #44] @ 0x2c + 8016a3e: 61bb str r3, [r7, #24] pxTCB->uxPriority = uxPriorityToUse; - 8016040: 6a3b ldr r3, [r7, #32] - 8016042: 6a7a ldr r2, [r7, #36] @ 0x24 - 8016044: 62da str r2, [r3, #44] @ 0x2c + 8016a40: 6a3b ldr r3, [r7, #32] + 8016a42: 6a7a ldr r2, [r7, #36] @ 0x24 + 8016a44: 62da str r2, [r3, #44] @ 0x2c /* Only reset the event list item value if the value is not * being used for anything else. */ if( ( listGET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ) ) & taskEVENT_LIST_ITEM_VALUE_IN_USE ) == 0UL ) - 8016046: 6a3b ldr r3, [r7, #32] - 8016048: 699b ldr r3, [r3, #24] - 801604a: 2b00 cmp r3, #0 - 801604c: db04 blt.n 8016058 + 8016a46: 6a3b ldr r3, [r7, #32] + 8016a48: 699b ldr r3, [r3, #24] + 8016a4a: 2b00 cmp r3, #0 + 8016a4c: db04 blt.n 8016a58 { listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriorityToUse ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 801604e: 6a7b ldr r3, [r7, #36] @ 0x24 - 8016050: f1c3 0238 rsb r2, r3, #56 @ 0x38 - 8016054: 6a3b ldr r3, [r7, #32] - 8016056: 619a str r2, [r3, #24] + 8016a4e: 6a7b ldr r3, [r7, #36] @ 0x24 + 8016a50: f1c3 0238 rsb r2, r3, #56 @ 0x38 + 8016a54: 6a3b ldr r3, [r7, #32] + 8016a56: 619a str r2, [r3, #24] * then the task that holds the mutex could be in either the * Ready, Blocked or Suspended states. Only remove the task * from its current state list if it is in the Ready state as * the task's priority is going to change and there is one * Ready list per priority. */ if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ uxPriorityUsedOnEntry ] ), &( pxTCB->xStateListItem ) ) != pdFALSE ) - 8016058: 6a3b ldr r3, [r7, #32] - 801605a: 6959 ldr r1, [r3, #20] - 801605c: 69ba ldr r2, [r7, #24] - 801605e: 4613 mov r3, r2 - 8016060: 009b lsls r3, r3, #2 - 8016062: 4413 add r3, r2 - 8016064: 009b lsls r3, r3, #2 - 8016066: 4a27 ldr r2, [pc, #156] @ (8016104 ) - 8016068: 4413 add r3, r2 - 801606a: 4299 cmp r1, r3 - 801606c: d144 bne.n 80160f8 + 8016a58: 6a3b ldr r3, [r7, #32] + 8016a5a: 6959 ldr r1, [r3, #20] + 8016a5c: 69ba ldr r2, [r7, #24] + 8016a5e: 4613 mov r3, r2 + 8016a60: 009b lsls r3, r3, #2 + 8016a62: 4413 add r3, r2 + 8016a64: 009b lsls r3, r3, #2 + 8016a66: 4a27 ldr r2, [pc, #156] @ (8016b04 ) + 8016a68: 4413 add r3, r2 + 8016a6a: 4299 cmp r1, r3 + 8016a6c: d144 bne.n 8016af8 { if( uxListRemove( &( pxTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 801606e: 6a3b ldr r3, [r7, #32] - 8016070: 3304 adds r3, #4 - 8016072: 4618 mov r0, r3 - 8016074: f7fd fcfc bl 8013a70 + 8016a6e: 6a3b ldr r3, [r7, #32] + 8016a70: 3304 adds r3, #4 + 8016a72: 4618 mov r0, r3 + 8016a74: f7fd fce0 bl 8014438 else { mtCOVERAGE_TEST_MARKER(); } prvAddTaskToReadyList( pxTCB ); - 8016078: 6a3b ldr r3, [r7, #32] - 801607a: 6ada ldr r2, [r3, #44] @ 0x2c - 801607c: 4b22 ldr r3, [pc, #136] @ (8016108 ) - 801607e: 681b ldr r3, [r3, #0] - 8016080: 429a cmp r2, r3 - 8016082: d903 bls.n 801608c - 8016084: 6a3b ldr r3, [r7, #32] - 8016086: 6adb ldr r3, [r3, #44] @ 0x2c - 8016088: 4a1f ldr r2, [pc, #124] @ (8016108 ) - 801608a: 6013 str r3, [r2, #0] - 801608c: 6a3b ldr r3, [r7, #32] - 801608e: 6ada ldr r2, [r3, #44] @ 0x2c - 8016090: 491c ldr r1, [pc, #112] @ (8016104 ) - 8016092: 4613 mov r3, r2 - 8016094: 009b lsls r3, r3, #2 - 8016096: 4413 add r3, r2 - 8016098: 009b lsls r3, r3, #2 - 801609a: 440b add r3, r1 - 801609c: 3304 adds r3, #4 - 801609e: 681b ldr r3, [r3, #0] - 80160a0: 617b str r3, [r7, #20] - 80160a2: 6a3b ldr r3, [r7, #32] - 80160a4: 697a ldr r2, [r7, #20] - 80160a6: 609a str r2, [r3, #8] - 80160a8: 697b ldr r3, [r7, #20] - 80160aa: 689a ldr r2, [r3, #8] - 80160ac: 6a3b ldr r3, [r7, #32] - 80160ae: 60da str r2, [r3, #12] - 80160b0: 697b ldr r3, [r7, #20] - 80160b2: 689b ldr r3, [r3, #8] - 80160b4: 6a3a ldr r2, [r7, #32] - 80160b6: 3204 adds r2, #4 - 80160b8: 605a str r2, [r3, #4] - 80160ba: 6a3b ldr r3, [r7, #32] - 80160bc: 1d1a adds r2, r3, #4 - 80160be: 697b ldr r3, [r7, #20] - 80160c0: 609a str r2, [r3, #8] - 80160c2: 6a3b ldr r3, [r7, #32] - 80160c4: 6ada ldr r2, [r3, #44] @ 0x2c - 80160c6: 4613 mov r3, r2 - 80160c8: 009b lsls r3, r3, #2 - 80160ca: 4413 add r3, r2 - 80160cc: 009b lsls r3, r3, #2 - 80160ce: 4a0d ldr r2, [pc, #52] @ (8016104 ) - 80160d0: 441a add r2, r3 - 80160d2: 6a3b ldr r3, [r7, #32] - 80160d4: 615a str r2, [r3, #20] - 80160d6: 6a3b ldr r3, [r7, #32] - 80160d8: 6ada ldr r2, [r3, #44] @ 0x2c - 80160da: 490a ldr r1, [pc, #40] @ (8016104 ) - 80160dc: 4613 mov r3, r2 - 80160de: 009b lsls r3, r3, #2 - 80160e0: 4413 add r3, r2 - 80160e2: 009b lsls r3, r3, #2 - 80160e4: 440b add r3, r1 - 80160e6: 681b ldr r3, [r3, #0] - 80160e8: 1c59 adds r1, r3, #1 - 80160ea: 4806 ldr r0, [pc, #24] @ (8016104 ) - 80160ec: 4613 mov r3, r2 - 80160ee: 009b lsls r3, r3, #2 - 80160f0: 4413 add r3, r2 - 80160f2: 009b lsls r3, r3, #2 - 80160f4: 4403 add r3, r0 - 80160f6: 6019 str r1, [r3, #0] + 8016a78: 6a3b ldr r3, [r7, #32] + 8016a7a: 6ada ldr r2, [r3, #44] @ 0x2c + 8016a7c: 4b22 ldr r3, [pc, #136] @ (8016b08 ) + 8016a7e: 681b ldr r3, [r3, #0] + 8016a80: 429a cmp r2, r3 + 8016a82: d903 bls.n 8016a8c + 8016a84: 6a3b ldr r3, [r7, #32] + 8016a86: 6adb ldr r3, [r3, #44] @ 0x2c + 8016a88: 4a1f ldr r2, [pc, #124] @ (8016b08 ) + 8016a8a: 6013 str r3, [r2, #0] + 8016a8c: 6a3b ldr r3, [r7, #32] + 8016a8e: 6ada ldr r2, [r3, #44] @ 0x2c + 8016a90: 491c ldr r1, [pc, #112] @ (8016b04 ) + 8016a92: 4613 mov r3, r2 + 8016a94: 009b lsls r3, r3, #2 + 8016a96: 4413 add r3, r2 + 8016a98: 009b lsls r3, r3, #2 + 8016a9a: 440b add r3, r1 + 8016a9c: 3304 adds r3, #4 + 8016a9e: 681b ldr r3, [r3, #0] + 8016aa0: 617b str r3, [r7, #20] + 8016aa2: 6a3b ldr r3, [r7, #32] + 8016aa4: 697a ldr r2, [r7, #20] + 8016aa6: 609a str r2, [r3, #8] + 8016aa8: 697b ldr r3, [r7, #20] + 8016aaa: 689a ldr r2, [r3, #8] + 8016aac: 6a3b ldr r3, [r7, #32] + 8016aae: 60da str r2, [r3, #12] + 8016ab0: 697b ldr r3, [r7, #20] + 8016ab2: 689b ldr r3, [r3, #8] + 8016ab4: 6a3a ldr r2, [r7, #32] + 8016ab6: 3204 adds r2, #4 + 8016ab8: 605a str r2, [r3, #4] + 8016aba: 6a3b ldr r3, [r7, #32] + 8016abc: 1d1a adds r2, r3, #4 + 8016abe: 697b ldr r3, [r7, #20] + 8016ac0: 609a str r2, [r3, #8] + 8016ac2: 6a3b ldr r3, [r7, #32] + 8016ac4: 6ada ldr r2, [r3, #44] @ 0x2c + 8016ac6: 4613 mov r3, r2 + 8016ac8: 009b lsls r3, r3, #2 + 8016aca: 4413 add r3, r2 + 8016acc: 009b lsls r3, r3, #2 + 8016ace: 4a0d ldr r2, [pc, #52] @ (8016b04 ) + 8016ad0: 441a add r2, r3 + 8016ad2: 6a3b ldr r3, [r7, #32] + 8016ad4: 615a str r2, [r3, #20] + 8016ad6: 6a3b ldr r3, [r7, #32] + 8016ad8: 6ada ldr r2, [r3, #44] @ 0x2c + 8016ada: 490a ldr r1, [pc, #40] @ (8016b04 ) + 8016adc: 4613 mov r3, r2 + 8016ade: 009b lsls r3, r3, #2 + 8016ae0: 4413 add r3, r2 + 8016ae2: 009b lsls r3, r3, #2 + 8016ae4: 440b add r3, r1 + 8016ae6: 681b ldr r3, [r3, #0] + 8016ae8: 1c59 adds r1, r3, #1 + 8016aea: 4806 ldr r0, [pc, #24] @ (8016b04 ) + 8016aec: 4613 mov r3, r2 + 8016aee: 009b lsls r3, r3, #2 + 8016af0: 4413 add r3, r2 + 8016af2: 009b lsls r3, r3, #2 + 8016af4: 4403 add r3, r0 + 8016af6: 6019 str r1, [r3, #0] } else { mtCOVERAGE_TEST_MARKER(); } } - 80160f8: bf00 nop - 80160fa: 3728 adds r7, #40 @ 0x28 - 80160fc: 46bd mov sp, r7 - 80160fe: bd80 pop {r7, pc} - 8016100: 200020c8 .word 0x200020c8 - 8016104: 200020cc .word 0x200020cc - 8016108: 200025a4 .word 0x200025a4 + 8016af8: bf00 nop + 8016afa: 3728 adds r7, #40 @ 0x28 + 8016afc: 46bd mov sp, r7 + 8016afe: bd80 pop {r7, pc} + 8016b00: 20002168 .word 0x20002168 + 8016b04: 2000216c .word 0x2000216c + 8016b08: 20002644 .word 0x20002644 -0801610c : +08016b0c : /*-----------------------------------------------------------*/ #if ( configUSE_MUTEXES == 1 ) TaskHandle_t pvTaskIncrementMutexHeldCount( void ) { - 801610c: b480 push {r7} - 801610e: af00 add r7, sp, #0 + 8016b0c: b480 push {r7} + 8016b0e: af00 add r7, sp, #0 /* If xSemaphoreCreateMutex() is called before any tasks have been created * then pxCurrentTCB will be NULL. */ if( pxCurrentTCB != NULL ) - 8016110: 4b07 ldr r3, [pc, #28] @ (8016130 ) - 8016112: 681b ldr r3, [r3, #0] - 8016114: 2b00 cmp r3, #0 - 8016116: d004 beq.n 8016122 + 8016b10: 4b07 ldr r3, [pc, #28] @ (8016b30 ) + 8016b12: 681b ldr r3, [r3, #0] + 8016b14: 2b00 cmp r3, #0 + 8016b16: d004 beq.n 8016b22 { ( pxCurrentTCB->uxMutexesHeld )++; - 8016118: 4b05 ldr r3, [pc, #20] @ (8016130 ) - 801611a: 681b ldr r3, [r3, #0] - 801611c: 6d1a ldr r2, [r3, #80] @ 0x50 - 801611e: 3201 adds r2, #1 - 8016120: 651a str r2, [r3, #80] @ 0x50 + 8016b18: 4b05 ldr r3, [pc, #20] @ (8016b30 ) + 8016b1a: 681b ldr r3, [r3, #0] + 8016b1c: 6d1a ldr r2, [r3, #80] @ 0x50 + 8016b1e: 3201 adds r2, #1 + 8016b20: 651a str r2, [r3, #80] @ 0x50 } return pxCurrentTCB; - 8016122: 4b03 ldr r3, [pc, #12] @ (8016130 ) - 8016124: 681b ldr r3, [r3, #0] + 8016b22: 4b03 ldr r3, [pc, #12] @ (8016b30 ) + 8016b24: 681b ldr r3, [r3, #0] } - 8016126: 4618 mov r0, r3 - 8016128: 46bd mov sp, r7 - 801612a: f85d 7b04 ldr.w r7, [sp], #4 - 801612e: 4770 bx lr - 8016130: 200020c8 .word 0x200020c8 + 8016b26: 4618 mov r0, r3 + 8016b28: 46bd mov sp, r7 + 8016b2a: f85d 7b04 ldr.w r7, [sp], #4 + 8016b2e: 4770 bx lr + 8016b30: 20002168 .word 0x20002168 -08016134 : +08016b34 : #if ( configUSE_TASK_NOTIFICATIONS == 1 ) uint32_t ulTaskGenericNotifyTake( UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait ) { - 8016134: b580 push {r7, lr} - 8016136: b086 sub sp, #24 - 8016138: af00 add r7, sp, #0 - 801613a: 60f8 str r0, [r7, #12] - 801613c: 60b9 str r1, [r7, #8] - 801613e: 607a str r2, [r7, #4] + 8016b34: b580 push {r7, lr} + 8016b36: b086 sub sp, #24 + 8016b38: af00 add r7, sp, #0 + 8016b3a: 60f8 str r0, [r7, #12] + 8016b3c: 60b9 str r1, [r7, #8] + 8016b3e: 607a str r2, [r7, #4] uint32_t ulReturn; configASSERT( uxIndexToWait < configTASK_NOTIFICATION_ARRAY_ENTRIES ); - 8016140: 68fb ldr r3, [r7, #12] - 8016142: 2b00 cmp r3, #0 - 8016144: d00b beq.n 801615e + 8016b40: 68fb ldr r3, [r7, #12] + 8016b42: 2b01 cmp r3, #1 + 8016b44: d90b bls.n 8016b5e __asm volatile - 8016146: f04f 0350 mov.w r3, #80 @ 0x50 - 801614a: f383 8811 msr BASEPRI, r3 - 801614e: f3bf 8f6f isb sy - 8016152: f3bf 8f4f dsb sy - 8016156: 613b str r3, [r7, #16] + 8016b46: f04f 0350 mov.w r3, #80 @ 0x50 + 8016b4a: f383 8811 msr BASEPRI, r3 + 8016b4e: f3bf 8f6f isb sy + 8016b52: f3bf 8f4f dsb sy + 8016b56: 613b str r3, [r7, #16] } - 8016158: bf00 nop - 801615a: bf00 nop - 801615c: e7fd b.n 801615a + 8016b58: bf00 nop + 8016b5a: bf00 nop + 8016b5c: e7fd b.n 8016b5a taskENTER_CRITICAL(); - 801615e: f001 f8ff bl 8017360 + 8016b5e: f001 f8e7 bl 8017d30 { /* Only block if the notification count is not already non-zero. */ if( pxCurrentTCB->ulNotifiedValue[ uxIndexToWait ] == 0UL ) - 8016162: 4b28 ldr r3, [pc, #160] @ (8016204 ) - 8016164: 681a ldr r2, [r3, #0] - 8016166: 68fb ldr r3, [r7, #12] - 8016168: 3314 adds r3, #20 - 801616a: 009b lsls r3, r3, #2 - 801616c: 4413 add r3, r2 - 801616e: 685b ldr r3, [r3, #4] - 8016170: 2b00 cmp r3, #0 - 8016172: d115 bne.n 80161a0 + 8016b62: 4b26 ldr r3, [pc, #152] @ (8016bfc ) + 8016b64: 681b ldr r3, [r3, #0] + 8016b66: 68fa ldr r2, [r7, #12] + 8016b68: 3228 adds r2, #40 @ 0x28 + 8016b6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8016b6e: 2b00 cmp r3, #0 + 8016b70: d115 bne.n 8016b9e { /* Mark this task as waiting for a notification. */ pxCurrentTCB->ucNotifyState[ uxIndexToWait ] = taskWAITING_NOTIFICATION; - 8016174: 4b23 ldr r3, [pc, #140] @ (8016204 ) - 8016176: 681a ldr r2, [r3, #0] - 8016178: 68fb ldr r3, [r7, #12] - 801617a: 4413 add r3, r2 - 801617c: 3358 adds r3, #88 @ 0x58 - 801617e: 2201 movs r2, #1 - 8016180: 701a strb r2, [r3, #0] + 8016b72: 4b22 ldr r3, [pc, #136] @ (8016bfc ) + 8016b74: 681a ldr r2, [r3, #0] + 8016b76: 68fb ldr r3, [r7, #12] + 8016b78: 4413 add r3, r2 + 8016b7a: 33a8 adds r3, #168 @ 0xa8 + 8016b7c: 2201 movs r2, #1 + 8016b7e: 701a strb r2, [r3, #0] if( xTicksToWait > ( TickType_t ) 0 ) - 8016182: 687b ldr r3, [r7, #4] - 8016184: 2b00 cmp r3, #0 - 8016186: d00b beq.n 80161a0 + 8016b80: 687b ldr r3, [r7, #4] + 8016b82: 2b00 cmp r3, #0 + 8016b84: d00b beq.n 8016b9e { prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); - 8016188: 2101 movs r1, #1 - 801618a: 6878 ldr r0, [r7, #4] - 801618c: f000 fc66 bl 8016a5c + 8016b86: 2101 movs r1, #1 + 8016b88: 6878 ldr r0, [r7, #4] + 8016b8a: f000 fc4d bl 8017428 /* All ports are written to allow a yield in a critical * section (some will yield immediately, others wait until the * critical section exits) - but it is not something that * application code should ever do. */ portYIELD_WITHIN_API(); - 8016190: 4b1d ldr r3, [pc, #116] @ (8016208 ) - 8016192: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8016196: 601a str r2, [r3, #0] - 8016198: f3bf 8f4f dsb sy - 801619c: f3bf 8f6f isb sy + 8016b8e: 4b1c ldr r3, [pc, #112] @ (8016c00 ) + 8016b90: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8016b94: 601a str r2, [r3, #0] + 8016b96: f3bf 8f4f dsb sy + 8016b9a: f3bf 8f6f isb sy else { mtCOVERAGE_TEST_MARKER(); } } taskEXIT_CRITICAL(); - 80161a0: f001 f910 bl 80173c4 + 8016b9e: f001 f8f9 bl 8017d94 taskENTER_CRITICAL(); - 80161a4: f001 f8dc bl 8017360 + 8016ba2: f001 f8c5 bl 8017d30 { traceTASK_NOTIFY_TAKE( uxIndexToWait ); ulReturn = pxCurrentTCB->ulNotifiedValue[ uxIndexToWait ]; - 80161a8: 4b16 ldr r3, [pc, #88] @ (8016204 ) - 80161aa: 681a ldr r2, [r3, #0] - 80161ac: 68fb ldr r3, [r7, #12] - 80161ae: 3314 adds r3, #20 - 80161b0: 009b lsls r3, r3, #2 - 80161b2: 4413 add r3, r2 - 80161b4: 685b ldr r3, [r3, #4] - 80161b6: 617b str r3, [r7, #20] + 8016ba6: 4b15 ldr r3, [pc, #84] @ (8016bfc ) + 8016ba8: 681b ldr r3, [r3, #0] + 8016baa: 68fa ldr r2, [r7, #12] + 8016bac: 3228 adds r2, #40 @ 0x28 + 8016bae: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8016bb2: 617b str r3, [r7, #20] if( ulReturn != 0UL ) - 80161b8: 697b ldr r3, [r7, #20] - 80161ba: 2b00 cmp r3, #0 - 80161bc: d014 beq.n 80161e8 + 8016bb4: 697b ldr r3, [r7, #20] + 8016bb6: 2b00 cmp r3, #0 + 8016bb8: d012 beq.n 8016be0 { if( xClearCountOnExit != pdFALSE ) - 80161be: 68bb ldr r3, [r7, #8] - 80161c0: 2b00 cmp r3, #0 - 80161c2: d008 beq.n 80161d6 + 8016bba: 68bb ldr r3, [r7, #8] + 8016bbc: 2b00 cmp r3, #0 + 8016bbe: d007 beq.n 8016bd0 { pxCurrentTCB->ulNotifiedValue[ uxIndexToWait ] = 0UL; - 80161c4: 4b0f ldr r3, [pc, #60] @ (8016204 ) - 80161c6: 681a ldr r2, [r3, #0] - 80161c8: 68fb ldr r3, [r7, #12] - 80161ca: 3314 adds r3, #20 - 80161cc: 009b lsls r3, r3, #2 - 80161ce: 4413 add r3, r2 - 80161d0: 2200 movs r2, #0 - 80161d2: 605a str r2, [r3, #4] - 80161d4: e008 b.n 80161e8 + 8016bc0: 4b0e ldr r3, [pc, #56] @ (8016bfc ) + 8016bc2: 681b ldr r3, [r3, #0] + 8016bc4: 68fa ldr r2, [r7, #12] + 8016bc6: 3228 adds r2, #40 @ 0x28 + 8016bc8: 2100 movs r1, #0 + 8016bca: f843 1022 str.w r1, [r3, r2, lsl #2] + 8016bce: e007 b.n 8016be0 } else { pxCurrentTCB->ulNotifiedValue[ uxIndexToWait ] = ulReturn - ( uint32_t ) 1; - 80161d6: 4b0b ldr r3, [pc, #44] @ (8016204 ) - 80161d8: 6819 ldr r1, [r3, #0] - 80161da: 697b ldr r3, [r7, #20] - 80161dc: 1e5a subs r2, r3, #1 - 80161de: 68fb ldr r3, [r7, #12] - 80161e0: 3314 adds r3, #20 - 80161e2: 009b lsls r3, r3, #2 - 80161e4: 440b add r3, r1 - 80161e6: 605a str r2, [r3, #4] + 8016bd0: 4b0a ldr r3, [pc, #40] @ (8016bfc ) + 8016bd2: 681b ldr r3, [r3, #0] + 8016bd4: 697a ldr r2, [r7, #20] + 8016bd6: 1e51 subs r1, r2, #1 + 8016bd8: 68fa ldr r2, [r7, #12] + 8016bda: 3228 adds r2, #40 @ 0x28 + 8016bdc: f843 1022 str.w r1, [r3, r2, lsl #2] else { mtCOVERAGE_TEST_MARKER(); } pxCurrentTCB->ucNotifyState[ uxIndexToWait ] = taskNOT_WAITING_NOTIFICATION; - 80161e8: 4b06 ldr r3, [pc, #24] @ (8016204 ) - 80161ea: 681a ldr r2, [r3, #0] - 80161ec: 68fb ldr r3, [r7, #12] - 80161ee: 4413 add r3, r2 - 80161f0: 3358 adds r3, #88 @ 0x58 - 80161f2: 2200 movs r2, #0 - 80161f4: 701a strb r2, [r3, #0] + 8016be0: 4b06 ldr r3, [pc, #24] @ (8016bfc ) + 8016be2: 681a ldr r2, [r3, #0] + 8016be4: 68fb ldr r3, [r7, #12] + 8016be6: 4413 add r3, r2 + 8016be8: 33a8 adds r3, #168 @ 0xa8 + 8016bea: 2200 movs r2, #0 + 8016bec: 701a strb r2, [r3, #0] } taskEXIT_CRITICAL(); - 80161f6: f001 f8e5 bl 80173c4 + 8016bee: f001 f8d1 bl 8017d94 return ulReturn; - 80161fa: 697b ldr r3, [r7, #20] + 8016bf2: 697b ldr r3, [r7, #20] } - 80161fc: 4618 mov r0, r3 - 80161fe: 3718 adds r7, #24 - 8016200: 46bd mov sp, r7 - 8016202: bd80 pop {r7, pc} - 8016204: 200020c8 .word 0x200020c8 - 8016208: e000ed04 .word 0xe000ed04 + 8016bf4: 4618 mov r0, r3 + 8016bf6: 3718 adds r7, #24 + 8016bf8: 46bd mov sp, r7 + 8016bfa: bd80 pop {r7, pc} + 8016bfc: 20002168 .word 0x20002168 + 8016c00: e000ed04 .word 0xe000ed04 -0801620c : +08016c04 : BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait ) { - 801620c: b580 push {r7, lr} - 801620e: b086 sub sp, #24 - 8016210: af00 add r7, sp, #0 - 8016212: 60f8 str r0, [r7, #12] - 8016214: 60b9 str r1, [r7, #8] - 8016216: 607a str r2, [r7, #4] - 8016218: 603b str r3, [r7, #0] + 8016c04: b580 push {r7, lr} + 8016c06: b086 sub sp, #24 + 8016c08: af00 add r7, sp, #0 + 8016c0a: 60f8 str r0, [r7, #12] + 8016c0c: 60b9 str r1, [r7, #8] + 8016c0e: 607a str r2, [r7, #4] + 8016c10: 603b str r3, [r7, #0] BaseType_t xReturn; configASSERT( uxIndexToWait < configTASK_NOTIFICATION_ARRAY_ENTRIES ); - 801621a: 68fb ldr r3, [r7, #12] - 801621c: 2b00 cmp r3, #0 - 801621e: d00b beq.n 8016238 + 8016c12: 68fb ldr r3, [r7, #12] + 8016c14: 2b01 cmp r3, #1 + 8016c16: d90b bls.n 8016c30 __asm volatile - 8016220: f04f 0350 mov.w r3, #80 @ 0x50 - 8016224: f383 8811 msr BASEPRI, r3 - 8016228: f3bf 8f6f isb sy - 801622c: f3bf 8f4f dsb sy - 8016230: 613b str r3, [r7, #16] + 8016c18: f04f 0350 mov.w r3, #80 @ 0x50 + 8016c1c: f383 8811 msr BASEPRI, r3 + 8016c20: f3bf 8f6f isb sy + 8016c24: f3bf 8f4f dsb sy + 8016c28: 613b str r3, [r7, #16] } - 8016232: bf00 nop - 8016234: bf00 nop - 8016236: e7fd b.n 8016234 + 8016c2a: bf00 nop + 8016c2c: bf00 nop + 8016c2e: e7fd b.n 8016c2c taskENTER_CRITICAL(); - 8016238: f001 f892 bl 8017360 + 8016c30: f001 f87e bl 8017d30 { /* Only block if a notification is not already pending. */ if( pxCurrentTCB->ucNotifyState[ uxIndexToWait ] != taskNOTIFICATION_RECEIVED ) - 801623c: 4b34 ldr r3, [pc, #208] @ (8016310 ) - 801623e: 681a ldr r2, [r3, #0] - 8016240: 68fb ldr r3, [r7, #12] - 8016242: 4413 add r3, r2 - 8016244: 3358 adds r3, #88 @ 0x58 - 8016246: 781b ldrb r3, [r3, #0] - 8016248: b2db uxtb r3, r3 - 801624a: 2b02 cmp r3, #2 - 801624c: d024 beq.n 8016298 + 8016c34: 4b31 ldr r3, [pc, #196] @ (8016cfc ) + 8016c36: 681a ldr r2, [r3, #0] + 8016c38: 68fb ldr r3, [r7, #12] + 8016c3a: 4413 add r3, r2 + 8016c3c: 33a8 adds r3, #168 @ 0xa8 + 8016c3e: 781b ldrb r3, [r3, #0] + 8016c40: b2db uxtb r3, r3 + 8016c42: 2b02 cmp r3, #2 + 8016c44: d022 beq.n 8016c8c { /* Clear bits in the task's notification value as bits may get * set by the notifying task or interrupt. This can be used to * clear the value to zero. */ pxCurrentTCB->ulNotifiedValue[ uxIndexToWait ] &= ~ulBitsToClearOnEntry; - 801624e: 4b30 ldr r3, [pc, #192] @ (8016310 ) - 8016250: 681a ldr r2, [r3, #0] - 8016252: 68fb ldr r3, [r7, #12] - 8016254: 3314 adds r3, #20 - 8016256: 009b lsls r3, r3, #2 - 8016258: 4413 add r3, r2 - 801625a: 6859 ldr r1, [r3, #4] - 801625c: 68bb ldr r3, [r7, #8] - 801625e: 43db mvns r3, r3 - 8016260: 4019 ands r1, r3 - 8016262: 68fb ldr r3, [r7, #12] - 8016264: 3314 adds r3, #20 - 8016266: 009b lsls r3, r3, #2 - 8016268: 4413 add r3, r2 - 801626a: 6059 str r1, [r3, #4] + 8016c46: 4b2d ldr r3, [pc, #180] @ (8016cfc ) + 8016c48: 681b ldr r3, [r3, #0] + 8016c4a: 68fa ldr r2, [r7, #12] + 8016c4c: 3228 adds r2, #40 @ 0x28 + 8016c4e: f853 1022 ldr.w r1, [r3, r2, lsl #2] + 8016c52: 68ba ldr r2, [r7, #8] + 8016c54: 43d2 mvns r2, r2 + 8016c56: 4011 ands r1, r2 + 8016c58: 68fa ldr r2, [r7, #12] + 8016c5a: 3228 adds r2, #40 @ 0x28 + 8016c5c: f843 1022 str.w r1, [r3, r2, lsl #2] /* Mark this task as waiting for a notification. */ pxCurrentTCB->ucNotifyState[ uxIndexToWait ] = taskWAITING_NOTIFICATION; - 801626c: 4b28 ldr r3, [pc, #160] @ (8016310 ) - 801626e: 681a ldr r2, [r3, #0] - 8016270: 68fb ldr r3, [r7, #12] - 8016272: 4413 add r3, r2 - 8016274: 3358 adds r3, #88 @ 0x58 - 8016276: 2201 movs r2, #1 - 8016278: 701a strb r2, [r3, #0] + 8016c60: 4b26 ldr r3, [pc, #152] @ (8016cfc ) + 8016c62: 681a ldr r2, [r3, #0] + 8016c64: 68fb ldr r3, [r7, #12] + 8016c66: 4413 add r3, r2 + 8016c68: 33a8 adds r3, #168 @ 0xa8 + 8016c6a: 2201 movs r2, #1 + 8016c6c: 701a strb r2, [r3, #0] if( xTicksToWait > ( TickType_t ) 0 ) - 801627a: 6a3b ldr r3, [r7, #32] - 801627c: 2b00 cmp r3, #0 - 801627e: d00b beq.n 8016298 + 8016c6e: 6a3b ldr r3, [r7, #32] + 8016c70: 2b00 cmp r3, #0 + 8016c72: d00b beq.n 8016c8c { prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); - 8016280: 2101 movs r1, #1 - 8016282: 6a38 ldr r0, [r7, #32] - 8016284: f000 fbea bl 8016a5c + 8016c74: 2101 movs r1, #1 + 8016c76: 6a38 ldr r0, [r7, #32] + 8016c78: f000 fbd6 bl 8017428 /* All ports are written to allow a yield in a critical * section (some will yield immediately, others wait until the * critical section exits) - but it is not something that * application code should ever do. */ portYIELD_WITHIN_API(); - 8016288: 4b22 ldr r3, [pc, #136] @ (8016314 ) - 801628a: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 801628e: 601a str r2, [r3, #0] - 8016290: f3bf 8f4f dsb sy - 8016294: f3bf 8f6f isb sy + 8016c7c: 4b20 ldr r3, [pc, #128] @ (8016d00 ) + 8016c7e: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8016c82: 601a str r2, [r3, #0] + 8016c84: f3bf 8f4f dsb sy + 8016c88: f3bf 8f6f isb sy else { mtCOVERAGE_TEST_MARKER(); } } taskEXIT_CRITICAL(); - 8016298: f001 f894 bl 80173c4 + 8016c8c: f001 f882 bl 8017d94 taskENTER_CRITICAL(); - 801629c: f001 f860 bl 8017360 + 8016c90: f001 f84e bl 8017d30 { traceTASK_NOTIFY_WAIT( uxIndexToWait ); if( pulNotificationValue != NULL ) - 80162a0: 683b ldr r3, [r7, #0] - 80162a2: 2b00 cmp r3, #0 - 80162a4: d008 beq.n 80162b8 + 8016c94: 683b ldr r3, [r7, #0] + 8016c96: 2b00 cmp r3, #0 + 8016c98: d007 beq.n 8016caa { /* Output the current notification value, which may or may not * have changed. */ *pulNotificationValue = pxCurrentTCB->ulNotifiedValue[ uxIndexToWait ]; - 80162a6: 4b1a ldr r3, [pc, #104] @ (8016310 ) - 80162a8: 681a ldr r2, [r3, #0] - 80162aa: 68fb ldr r3, [r7, #12] - 80162ac: 3314 adds r3, #20 - 80162ae: 009b lsls r3, r3, #2 - 80162b0: 4413 add r3, r2 - 80162b2: 685a ldr r2, [r3, #4] - 80162b4: 683b ldr r3, [r7, #0] - 80162b6: 601a str r2, [r3, #0] + 8016c9a: 4b18 ldr r3, [pc, #96] @ (8016cfc ) + 8016c9c: 681b ldr r3, [r3, #0] + 8016c9e: 68fa ldr r2, [r7, #12] + 8016ca0: 3228 adds r2, #40 @ 0x28 + 8016ca2: f853 2022 ldr.w r2, [r3, r2, lsl #2] + 8016ca6: 683b ldr r3, [r7, #0] + 8016ca8: 601a str r2, [r3, #0] /* If ucNotifyValue is set then either the task never entered the * blocked state (because a notification was already pending) or the * task unblocked because of a notification. Otherwise the task * unblocked because of a timeout. */ if( pxCurrentTCB->ucNotifyState[ uxIndexToWait ] != taskNOTIFICATION_RECEIVED ) - 80162b8: 4b15 ldr r3, [pc, #84] @ (8016310 ) - 80162ba: 681a ldr r2, [r3, #0] - 80162bc: 68fb ldr r3, [r7, #12] - 80162be: 4413 add r3, r2 - 80162c0: 3358 adds r3, #88 @ 0x58 - 80162c2: 781b ldrb r3, [r3, #0] - 80162c4: b2db uxtb r3, r3 - 80162c6: 2b02 cmp r3, #2 - 80162c8: d002 beq.n 80162d0 + 8016caa: 4b14 ldr r3, [pc, #80] @ (8016cfc ) + 8016cac: 681a ldr r2, [r3, #0] + 8016cae: 68fb ldr r3, [r7, #12] + 8016cb0: 4413 add r3, r2 + 8016cb2: 33a8 adds r3, #168 @ 0xa8 + 8016cb4: 781b ldrb r3, [r3, #0] + 8016cb6: b2db uxtb r3, r3 + 8016cb8: 2b02 cmp r3, #2 + 8016cba: d002 beq.n 8016cc2 { /* A notification was not received. */ xReturn = pdFALSE; - 80162ca: 2300 movs r3, #0 - 80162cc: 617b str r3, [r7, #20] - 80162ce: e010 b.n 80162f2 + 8016cbc: 2300 movs r3, #0 + 8016cbe: 617b str r3, [r7, #20] + 8016cc0: e00e b.n 8016ce0 } else { /* A notification was already pending or a notification was * received while the task was waiting. */ pxCurrentTCB->ulNotifiedValue[ uxIndexToWait ] &= ~ulBitsToClearOnExit; - 80162d0: 4b0f ldr r3, [pc, #60] @ (8016310 ) - 80162d2: 681a ldr r2, [r3, #0] - 80162d4: 68fb ldr r3, [r7, #12] - 80162d6: 3314 adds r3, #20 - 80162d8: 009b lsls r3, r3, #2 - 80162da: 4413 add r3, r2 - 80162dc: 6859 ldr r1, [r3, #4] - 80162de: 687b ldr r3, [r7, #4] - 80162e0: 43db mvns r3, r3 - 80162e2: 4019 ands r1, r3 - 80162e4: 68fb ldr r3, [r7, #12] - 80162e6: 3314 adds r3, #20 - 80162e8: 009b lsls r3, r3, #2 - 80162ea: 4413 add r3, r2 - 80162ec: 6059 str r1, [r3, #4] + 8016cc2: 4b0e ldr r3, [pc, #56] @ (8016cfc ) + 8016cc4: 681b ldr r3, [r3, #0] + 8016cc6: 68fa ldr r2, [r7, #12] + 8016cc8: 3228 adds r2, #40 @ 0x28 + 8016cca: f853 1022 ldr.w r1, [r3, r2, lsl #2] + 8016cce: 687a ldr r2, [r7, #4] + 8016cd0: 43d2 mvns r2, r2 + 8016cd2: 4011 ands r1, r2 + 8016cd4: 68fa ldr r2, [r7, #12] + 8016cd6: 3228 adds r2, #40 @ 0x28 + 8016cd8: f843 1022 str.w r1, [r3, r2, lsl #2] xReturn = pdTRUE; - 80162ee: 2301 movs r3, #1 - 80162f0: 617b str r3, [r7, #20] + 8016cdc: 2301 movs r3, #1 + 8016cde: 617b str r3, [r7, #20] } pxCurrentTCB->ucNotifyState[ uxIndexToWait ] = taskNOT_WAITING_NOTIFICATION; - 80162f2: 4b07 ldr r3, [pc, #28] @ (8016310 ) - 80162f4: 681a ldr r2, [r3, #0] - 80162f6: 68fb ldr r3, [r7, #12] - 80162f8: 4413 add r3, r2 - 80162fa: 3358 adds r3, #88 @ 0x58 - 80162fc: 2200 movs r2, #0 - 80162fe: 701a strb r2, [r3, #0] + 8016ce0: 4b06 ldr r3, [pc, #24] @ (8016cfc ) + 8016ce2: 681a ldr r2, [r3, #0] + 8016ce4: 68fb ldr r3, [r7, #12] + 8016ce6: 4413 add r3, r2 + 8016ce8: 33a8 adds r3, #168 @ 0xa8 + 8016cea: 2200 movs r2, #0 + 8016cec: 701a strb r2, [r3, #0] } taskEXIT_CRITICAL(); - 8016300: f001 f860 bl 80173c4 + 8016cee: f001 f851 bl 8017d94 return xReturn; - 8016304: 697b ldr r3, [r7, #20] + 8016cf2: 697b ldr r3, [r7, #20] } - 8016306: 4618 mov r0, r3 - 8016308: 3718 adds r7, #24 - 801630a: 46bd mov sp, r7 - 801630c: bd80 pop {r7, pc} - 801630e: bf00 nop - 8016310: 200020c8 .word 0x200020c8 - 8016314: e000ed04 .word 0xe000ed04 + 8016cf4: 4618 mov r0, r3 + 8016cf6: 3718 adds r7, #24 + 8016cf8: 46bd mov sp, r7 + 8016cfa: bd80 pop {r7, pc} + 8016cfc: 20002168 .word 0x20002168 + 8016d00: e000ed04 .word 0xe000ed04 -08016318 : +08016d04 : BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue ) { - 8016318: b580 push {r7, lr} - 801631a: b08e sub sp, #56 @ 0x38 - 801631c: af00 add r7, sp, #0 - 801631e: 60f8 str r0, [r7, #12] - 8016320: 60b9 str r1, [r7, #8] - 8016322: 607a str r2, [r7, #4] - 8016324: 70fb strb r3, [r7, #3] + 8016d04: b580 push {r7, lr} + 8016d06: b08e sub sp, #56 @ 0x38 + 8016d08: af00 add r7, sp, #0 + 8016d0a: 60f8 str r0, [r7, #12] + 8016d0c: 60b9 str r1, [r7, #8] + 8016d0e: 607a str r2, [r7, #4] + 8016d10: 70fb strb r3, [r7, #3] TCB_t * pxTCB; BaseType_t xReturn = pdPASS; - 8016326: 2301 movs r3, #1 - 8016328: 637b str r3, [r7, #52] @ 0x34 + 8016d12: 2301 movs r3, #1 + 8016d14: 637b str r3, [r7, #52] @ 0x34 uint8_t ucOriginalNotifyState; configASSERT( uxIndexToNotify < configTASK_NOTIFICATION_ARRAY_ENTRIES ); - 801632a: 68bb ldr r3, [r7, #8] - 801632c: 2b00 cmp r3, #0 - 801632e: d00b beq.n 8016348 + 8016d16: 68bb ldr r3, [r7, #8] + 8016d18: 2b01 cmp r3, #1 + 8016d1a: d90b bls.n 8016d34 __asm volatile - 8016330: f04f 0350 mov.w r3, #80 @ 0x50 - 8016334: f383 8811 msr BASEPRI, r3 - 8016338: f3bf 8f6f isb sy - 801633c: f3bf 8f4f dsb sy - 8016340: 623b str r3, [r7, #32] + 8016d1c: f04f 0350 mov.w r3, #80 @ 0x50 + 8016d20: f383 8811 msr BASEPRI, r3 + 8016d24: f3bf 8f6f isb sy + 8016d28: f3bf 8f4f dsb sy + 8016d2c: 623b str r3, [r7, #32] } - 8016342: bf00 nop - 8016344: bf00 nop - 8016346: e7fd b.n 8016344 + 8016d2e: bf00 nop + 8016d30: bf00 nop + 8016d32: e7fd b.n 8016d30 configASSERT( xTaskToNotify ); - 8016348: 68fb ldr r3, [r7, #12] - 801634a: 2b00 cmp r3, #0 - 801634c: d10b bne.n 8016366 + 8016d34: 68fb ldr r3, [r7, #12] + 8016d36: 2b00 cmp r3, #0 + 8016d38: d10b bne.n 8016d52 __asm volatile - 801634e: f04f 0350 mov.w r3, #80 @ 0x50 - 8016352: f383 8811 msr BASEPRI, r3 - 8016356: f3bf 8f6f isb sy - 801635a: f3bf 8f4f dsb sy - 801635e: 61fb str r3, [r7, #28] + 8016d3a: f04f 0350 mov.w r3, #80 @ 0x50 + 8016d3e: f383 8811 msr BASEPRI, r3 + 8016d42: f3bf 8f6f isb sy + 8016d46: f3bf 8f4f dsb sy + 8016d4a: 61fb str r3, [r7, #28] } - 8016360: bf00 nop - 8016362: bf00 nop - 8016364: e7fd b.n 8016362 + 8016d4c: bf00 nop + 8016d4e: bf00 nop + 8016d50: e7fd b.n 8016d4e pxTCB = xTaskToNotify; - 8016366: 68fb ldr r3, [r7, #12] - 8016368: 633b str r3, [r7, #48] @ 0x30 + 8016d52: 68fb ldr r3, [r7, #12] + 8016d54: 633b str r3, [r7, #48] @ 0x30 taskENTER_CRITICAL(); - 801636a: f000 fff9 bl 8017360 + 8016d56: f000 ffeb bl 8017d30 { if( pulPreviousNotificationValue != NULL ) - 801636e: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016370: 2b00 cmp r3, #0 - 8016372: d007 beq.n 8016384 + 8016d5a: 6c3b ldr r3, [r7, #64] @ 0x40 + 8016d5c: 2b00 cmp r3, #0 + 8016d5e: d006 beq.n 8016d6e { *pulPreviousNotificationValue = pxTCB->ulNotifiedValue[ uxIndexToNotify ]; - 8016374: 6b3a ldr r2, [r7, #48] @ 0x30 - 8016376: 68bb ldr r3, [r7, #8] - 8016378: 3314 adds r3, #20 - 801637a: 009b lsls r3, r3, #2 - 801637c: 4413 add r3, r2 - 801637e: 685a ldr r2, [r3, #4] - 8016380: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016382: 601a str r2, [r3, #0] + 8016d60: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016d62: 68ba ldr r2, [r7, #8] + 8016d64: 3228 adds r2, #40 @ 0x28 + 8016d66: f853 2022 ldr.w r2, [r3, r2, lsl #2] + 8016d6a: 6c3b ldr r3, [r7, #64] @ 0x40 + 8016d6c: 601a str r2, [r3, #0] } ucOriginalNotifyState = pxTCB->ucNotifyState[ uxIndexToNotify ]; - 8016384: 6b3a ldr r2, [r7, #48] @ 0x30 - 8016386: 68bb ldr r3, [r7, #8] - 8016388: 4413 add r3, r2 - 801638a: 3358 adds r3, #88 @ 0x58 - 801638c: 781b ldrb r3, [r3, #0] - 801638e: f887 302f strb.w r3, [r7, #47] @ 0x2f + 8016d6e: 6b3a ldr r2, [r7, #48] @ 0x30 + 8016d70: 68bb ldr r3, [r7, #8] + 8016d72: 4413 add r3, r2 + 8016d74: 33a8 adds r3, #168 @ 0xa8 + 8016d76: 781b ldrb r3, [r3, #0] + 8016d78: f887 302f strb.w r3, [r7, #47] @ 0x2f pxTCB->ucNotifyState[ uxIndexToNotify ] = taskNOTIFICATION_RECEIVED; - 8016392: 6b3a ldr r2, [r7, #48] @ 0x30 - 8016394: 68bb ldr r3, [r7, #8] - 8016396: 4413 add r3, r2 - 8016398: 3358 adds r3, #88 @ 0x58 - 801639a: 2202 movs r2, #2 - 801639c: 701a strb r2, [r3, #0] + 8016d7c: 6b3a ldr r2, [r7, #48] @ 0x30 + 8016d7e: 68bb ldr r3, [r7, #8] + 8016d80: 4413 add r3, r2 + 8016d82: 33a8 adds r3, #168 @ 0xa8 + 8016d84: 2202 movs r2, #2 + 8016d86: 701a strb r2, [r3, #0] switch( eAction ) - 801639e: 78fb ldrb r3, [r7, #3] - 80163a0: 2b04 cmp r3, #4 - 80163a2: d841 bhi.n 8016428 - 80163a4: a201 add r2, pc, #4 @ (adr r2, 80163ac ) - 80163a6: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 80163aa: bf00 nop - 80163ac: 08016449 .word 0x08016449 - 80163b0: 080163c1 .word 0x080163c1 - 80163b4: 080163df .word 0x080163df - 80163b8: 080163fb .word 0x080163fb - 80163bc: 0801640b .word 0x0801640b + 8016d88: 78fb ldrb r3, [r7, #3] + 8016d8a: 2b04 cmp r3, #4 + 8016d8c: d83b bhi.n 8016e06 + 8016d8e: a201 add r2, pc, #4 @ (adr r2, 8016d94 ) + 8016d90: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8016d94: 08016e27 .word 0x08016e27 + 8016d98: 08016da9 .word 0x08016da9 + 8016d9c: 08016dc5 .word 0x08016dc5 + 8016da0: 08016ddd .word 0x08016ddd + 8016da4: 08016deb .word 0x08016deb { case eSetBits: pxTCB->ulNotifiedValue[ uxIndexToNotify ] |= ulValue; - 80163c0: 6b3a ldr r2, [r7, #48] @ 0x30 - 80163c2: 68bb ldr r3, [r7, #8] - 80163c4: 3314 adds r3, #20 - 80163c6: 009b lsls r3, r3, #2 - 80163c8: 4413 add r3, r2 - 80163ca: 685a ldr r2, [r3, #4] - 80163cc: 687b ldr r3, [r7, #4] - 80163ce: 431a orrs r2, r3 - 80163d0: 6b39 ldr r1, [r7, #48] @ 0x30 - 80163d2: 68bb ldr r3, [r7, #8] - 80163d4: 3314 adds r3, #20 - 80163d6: 009b lsls r3, r3, #2 - 80163d8: 440b add r3, r1 - 80163da: 605a str r2, [r3, #4] + 8016da8: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016daa: 68ba ldr r2, [r7, #8] + 8016dac: 3228 adds r2, #40 @ 0x28 + 8016dae: f853 2022 ldr.w r2, [r3, r2, lsl #2] + 8016db2: 687b ldr r3, [r7, #4] + 8016db4: ea42 0103 orr.w r1, r2, r3 + 8016db8: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016dba: 68ba ldr r2, [r7, #8] + 8016dbc: 3228 adds r2, #40 @ 0x28 + 8016dbe: f843 1022 str.w r1, [r3, r2, lsl #2] break; - 80163dc: e037 b.n 801644e + 8016dc2: e033 b.n 8016e2c case eIncrement: ( pxTCB->ulNotifiedValue[ uxIndexToNotify ] )++; - 80163de: 6b3a ldr r2, [r7, #48] @ 0x30 - 80163e0: 68bb ldr r3, [r7, #8] - 80163e2: 3314 adds r3, #20 - 80163e4: 009b lsls r3, r3, #2 - 80163e6: 4413 add r3, r2 - 80163e8: 685b ldr r3, [r3, #4] - 80163ea: 1c5a adds r2, r3, #1 - 80163ec: 6b39 ldr r1, [r7, #48] @ 0x30 - 80163ee: 68bb ldr r3, [r7, #8] - 80163f0: 3314 adds r3, #20 - 80163f2: 009b lsls r3, r3, #2 - 80163f4: 440b add r3, r1 - 80163f6: 605a str r2, [r3, #4] + 8016dc4: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016dc6: 68ba ldr r2, [r7, #8] + 8016dc8: 3228 adds r2, #40 @ 0x28 + 8016dca: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 8016dce: 1c59 adds r1, r3, #1 + 8016dd0: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016dd2: 68ba ldr r2, [r7, #8] + 8016dd4: 3228 adds r2, #40 @ 0x28 + 8016dd6: f843 1022 str.w r1, [r3, r2, lsl #2] break; - 80163f8: e029 b.n 801644e + 8016dda: e027 b.n 8016e2c case eSetValueWithOverwrite: pxTCB->ulNotifiedValue[ uxIndexToNotify ] = ulValue; - 80163fa: 6b3a ldr r2, [r7, #48] @ 0x30 - 80163fc: 68bb ldr r3, [r7, #8] - 80163fe: 3314 adds r3, #20 - 8016400: 009b lsls r3, r3, #2 - 8016402: 4413 add r3, r2 - 8016404: 687a ldr r2, [r7, #4] - 8016406: 605a str r2, [r3, #4] + 8016ddc: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016dde: 68ba ldr r2, [r7, #8] + 8016de0: 3228 adds r2, #40 @ 0x28 + 8016de2: 6879 ldr r1, [r7, #4] + 8016de4: f843 1022 str.w r1, [r3, r2, lsl #2] break; - 8016408: e021 b.n 801644e + 8016de8: e020 b.n 8016e2c case eSetValueWithoutOverwrite: if( ucOriginalNotifyState != taskNOTIFICATION_RECEIVED ) - 801640a: f897 302f ldrb.w r3, [r7, #47] @ 0x2f - 801640e: 2b02 cmp r3, #2 - 8016410: d007 beq.n 8016422 + 8016dea: f897 302f ldrb.w r3, [r7, #47] @ 0x2f + 8016dee: 2b02 cmp r3, #2 + 8016df0: d006 beq.n 8016e00 { pxTCB->ulNotifiedValue[ uxIndexToNotify ] = ulValue; - 8016412: 6b3a ldr r2, [r7, #48] @ 0x30 - 8016414: 68bb ldr r3, [r7, #8] - 8016416: 3314 adds r3, #20 - 8016418: 009b lsls r3, r3, #2 - 801641a: 4413 add r3, r2 - 801641c: 687a ldr r2, [r7, #4] - 801641e: 605a str r2, [r3, #4] + 8016df2: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016df4: 68ba ldr r2, [r7, #8] + 8016df6: 3228 adds r2, #40 @ 0x28 + 8016df8: 6879 ldr r1, [r7, #4] + 8016dfa: f843 1022 str.w r1, [r3, r2, lsl #2] { /* The value could not be written to the task. */ xReturn = pdFAIL; } break; - 8016420: e015 b.n 801644e + 8016dfe: e015 b.n 8016e2c xReturn = pdFAIL; - 8016422: 2300 movs r3, #0 - 8016424: 637b str r3, [r7, #52] @ 0x34 + 8016e00: 2300 movs r3, #0 + 8016e02: 637b str r3, [r7, #52] @ 0x34 break; - 8016426: e012 b.n 801644e + 8016e04: e012 b.n 8016e2c default: /* Should not get here if all enums are handled. * Artificially force an assert by testing a value the * compiler can't assume is const. */ configASSERT( xTickCount == ( TickType_t ) 0 ); - 8016428: 4b4d ldr r3, [pc, #308] @ (8016560 ) - 801642a: 681b ldr r3, [r3, #0] - 801642c: 2b00 cmp r3, #0 - 801642e: d00d beq.n 801644c + 8016e06: 4b4e ldr r3, [pc, #312] @ (8016f40 ) + 8016e08: 681b ldr r3, [r3, #0] + 8016e0a: 2b00 cmp r3, #0 + 8016e0c: d00d beq.n 8016e2a __asm volatile - 8016430: f04f 0350 mov.w r3, #80 @ 0x50 - 8016434: f383 8811 msr BASEPRI, r3 - 8016438: f3bf 8f6f isb sy - 801643c: f3bf 8f4f dsb sy - 8016440: 61bb str r3, [r7, #24] + 8016e0e: f04f 0350 mov.w r3, #80 @ 0x50 + 8016e12: f383 8811 msr BASEPRI, r3 + 8016e16: f3bf 8f6f isb sy + 8016e1a: f3bf 8f4f dsb sy + 8016e1e: 61bb str r3, [r7, #24] } - 8016442: bf00 nop - 8016444: bf00 nop - 8016446: e7fd b.n 8016444 + 8016e20: bf00 nop + 8016e22: bf00 nop + 8016e24: e7fd b.n 8016e22 break; - 8016448: bf00 nop - 801644a: e000 b.n 801644e + 8016e26: bf00 nop + 8016e28: e000 b.n 8016e2c break; - 801644c: bf00 nop + 8016e2a: bf00 nop traceTASK_NOTIFY( uxIndexToNotify ); /* If the task is in the blocked state specifically to wait for a * notification then unblock it now. */ if( ucOriginalNotifyState == taskWAITING_NOTIFICATION ) - 801644e: f897 302f ldrb.w r3, [r7, #47] @ 0x2f - 8016452: 2b01 cmp r3, #1 - 8016454: d17d bne.n 8016552 + 8016e2c: f897 302f ldrb.w r3, [r7, #47] @ 0x2f + 8016e30: 2b01 cmp r3, #1 + 8016e32: d17d bne.n 8016f30 { listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); - 8016456: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016458: 695b ldr r3, [r3, #20] - 801645a: 62bb str r3, [r7, #40] @ 0x28 - 801645c: 6b3b ldr r3, [r7, #48] @ 0x30 - 801645e: 689b ldr r3, [r3, #8] - 8016460: 6b3a ldr r2, [r7, #48] @ 0x30 - 8016462: 68d2 ldr r2, [r2, #12] - 8016464: 609a str r2, [r3, #8] - 8016466: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016468: 68db ldr r3, [r3, #12] - 801646a: 6b3a ldr r2, [r7, #48] @ 0x30 - 801646c: 6892 ldr r2, [r2, #8] - 801646e: 605a str r2, [r3, #4] - 8016470: 6abb ldr r3, [r7, #40] @ 0x28 - 8016472: 685a ldr r2, [r3, #4] - 8016474: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016476: 3304 adds r3, #4 - 8016478: 429a cmp r2, r3 - 801647a: d103 bne.n 8016484 - 801647c: 6b3b ldr r3, [r7, #48] @ 0x30 - 801647e: 68da ldr r2, [r3, #12] - 8016480: 6abb ldr r3, [r7, #40] @ 0x28 - 8016482: 605a str r2, [r3, #4] - 8016484: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016486: 2200 movs r2, #0 - 8016488: 615a str r2, [r3, #20] - 801648a: 6abb ldr r3, [r7, #40] @ 0x28 - 801648c: 681b ldr r3, [r3, #0] - 801648e: 1e5a subs r2, r3, #1 - 8016490: 6abb ldr r3, [r7, #40] @ 0x28 - 8016492: 601a str r2, [r3, #0] + 8016e34: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e36: 695b ldr r3, [r3, #20] + 8016e38: 62bb str r3, [r7, #40] @ 0x28 + 8016e3a: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e3c: 689b ldr r3, [r3, #8] + 8016e3e: 6b3a ldr r2, [r7, #48] @ 0x30 + 8016e40: 68d2 ldr r2, [r2, #12] + 8016e42: 609a str r2, [r3, #8] + 8016e44: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e46: 68db ldr r3, [r3, #12] + 8016e48: 6b3a ldr r2, [r7, #48] @ 0x30 + 8016e4a: 6892 ldr r2, [r2, #8] + 8016e4c: 605a str r2, [r3, #4] + 8016e4e: 6abb ldr r3, [r7, #40] @ 0x28 + 8016e50: 685a ldr r2, [r3, #4] + 8016e52: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e54: 3304 adds r3, #4 + 8016e56: 429a cmp r2, r3 + 8016e58: d103 bne.n 8016e62 + 8016e5a: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e5c: 68da ldr r2, [r3, #12] + 8016e5e: 6abb ldr r3, [r7, #40] @ 0x28 + 8016e60: 605a str r2, [r3, #4] + 8016e62: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e64: 2200 movs r2, #0 + 8016e66: 615a str r2, [r3, #20] + 8016e68: 6abb ldr r3, [r7, #40] @ 0x28 + 8016e6a: 681b ldr r3, [r3, #0] + 8016e6c: 1e5a subs r2, r3, #1 + 8016e6e: 6abb ldr r3, [r7, #40] @ 0x28 + 8016e70: 601a str r2, [r3, #0] prvAddTaskToReadyList( pxTCB ); - 8016494: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016496: 6ada ldr r2, [r3, #44] @ 0x2c - 8016498: 4b32 ldr r3, [pc, #200] @ (8016564 ) - 801649a: 681b ldr r3, [r3, #0] - 801649c: 429a cmp r2, r3 - 801649e: d903 bls.n 80164a8 - 80164a0: 6b3b ldr r3, [r7, #48] @ 0x30 - 80164a2: 6adb ldr r3, [r3, #44] @ 0x2c - 80164a4: 4a2f ldr r2, [pc, #188] @ (8016564 ) - 80164a6: 6013 str r3, [r2, #0] - 80164a8: 6b3b ldr r3, [r7, #48] @ 0x30 - 80164aa: 6ada ldr r2, [r3, #44] @ 0x2c - 80164ac: 492e ldr r1, [pc, #184] @ (8016568 ) - 80164ae: 4613 mov r3, r2 - 80164b0: 009b lsls r3, r3, #2 - 80164b2: 4413 add r3, r2 - 80164b4: 009b lsls r3, r3, #2 - 80164b6: 440b add r3, r1 - 80164b8: 3304 adds r3, #4 - 80164ba: 681b ldr r3, [r3, #0] - 80164bc: 627b str r3, [r7, #36] @ 0x24 - 80164be: 6b3b ldr r3, [r7, #48] @ 0x30 - 80164c0: 6a7a ldr r2, [r7, #36] @ 0x24 - 80164c2: 609a str r2, [r3, #8] - 80164c4: 6a7b ldr r3, [r7, #36] @ 0x24 - 80164c6: 689a ldr r2, [r3, #8] - 80164c8: 6b3b ldr r3, [r7, #48] @ 0x30 - 80164ca: 60da str r2, [r3, #12] - 80164cc: 6a7b ldr r3, [r7, #36] @ 0x24 - 80164ce: 689b ldr r3, [r3, #8] - 80164d0: 6b3a ldr r2, [r7, #48] @ 0x30 - 80164d2: 3204 adds r2, #4 - 80164d4: 605a str r2, [r3, #4] - 80164d6: 6b3b ldr r3, [r7, #48] @ 0x30 - 80164d8: 1d1a adds r2, r3, #4 - 80164da: 6a7b ldr r3, [r7, #36] @ 0x24 - 80164dc: 609a str r2, [r3, #8] - 80164de: 6b3b ldr r3, [r7, #48] @ 0x30 - 80164e0: 6ada ldr r2, [r3, #44] @ 0x2c - 80164e2: 4613 mov r3, r2 - 80164e4: 009b lsls r3, r3, #2 - 80164e6: 4413 add r3, r2 - 80164e8: 009b lsls r3, r3, #2 - 80164ea: 4a1f ldr r2, [pc, #124] @ (8016568 ) - 80164ec: 441a add r2, r3 - 80164ee: 6b3b ldr r3, [r7, #48] @ 0x30 - 80164f0: 615a str r2, [r3, #20] - 80164f2: 6b3b ldr r3, [r7, #48] @ 0x30 - 80164f4: 6ada ldr r2, [r3, #44] @ 0x2c - 80164f6: 491c ldr r1, [pc, #112] @ (8016568 ) - 80164f8: 4613 mov r3, r2 - 80164fa: 009b lsls r3, r3, #2 - 80164fc: 4413 add r3, r2 - 80164fe: 009b lsls r3, r3, #2 - 8016500: 440b add r3, r1 - 8016502: 681b ldr r3, [r3, #0] - 8016504: 1c59 adds r1, r3, #1 - 8016506: 4818 ldr r0, [pc, #96] @ (8016568 ) - 8016508: 4613 mov r3, r2 - 801650a: 009b lsls r3, r3, #2 - 801650c: 4413 add r3, r2 - 801650e: 009b lsls r3, r3, #2 - 8016510: 4403 add r3, r0 - 8016512: 6019 str r1, [r3, #0] + 8016e72: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e74: 6ada ldr r2, [r3, #44] @ 0x2c + 8016e76: 4b33 ldr r3, [pc, #204] @ (8016f44 ) + 8016e78: 681b ldr r3, [r3, #0] + 8016e7a: 429a cmp r2, r3 + 8016e7c: d903 bls.n 8016e86 + 8016e7e: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e80: 6adb ldr r3, [r3, #44] @ 0x2c + 8016e82: 4a30 ldr r2, [pc, #192] @ (8016f44 ) + 8016e84: 6013 str r3, [r2, #0] + 8016e86: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e88: 6ada ldr r2, [r3, #44] @ 0x2c + 8016e8a: 492f ldr r1, [pc, #188] @ (8016f48 ) + 8016e8c: 4613 mov r3, r2 + 8016e8e: 009b lsls r3, r3, #2 + 8016e90: 4413 add r3, r2 + 8016e92: 009b lsls r3, r3, #2 + 8016e94: 440b add r3, r1 + 8016e96: 3304 adds r3, #4 + 8016e98: 681b ldr r3, [r3, #0] + 8016e9a: 627b str r3, [r7, #36] @ 0x24 + 8016e9c: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016e9e: 6a7a ldr r2, [r7, #36] @ 0x24 + 8016ea0: 609a str r2, [r3, #8] + 8016ea2: 6a7b ldr r3, [r7, #36] @ 0x24 + 8016ea4: 689a ldr r2, [r3, #8] + 8016ea6: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016ea8: 60da str r2, [r3, #12] + 8016eaa: 6a7b ldr r3, [r7, #36] @ 0x24 + 8016eac: 689b ldr r3, [r3, #8] + 8016eae: 6b3a ldr r2, [r7, #48] @ 0x30 + 8016eb0: 3204 adds r2, #4 + 8016eb2: 605a str r2, [r3, #4] + 8016eb4: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016eb6: 1d1a adds r2, r3, #4 + 8016eb8: 6a7b ldr r3, [r7, #36] @ 0x24 + 8016eba: 609a str r2, [r3, #8] + 8016ebc: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016ebe: 6ada ldr r2, [r3, #44] @ 0x2c + 8016ec0: 4613 mov r3, r2 + 8016ec2: 009b lsls r3, r3, #2 + 8016ec4: 4413 add r3, r2 + 8016ec6: 009b lsls r3, r3, #2 + 8016ec8: 4a1f ldr r2, [pc, #124] @ (8016f48 ) + 8016eca: 441a add r2, r3 + 8016ecc: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016ece: 615a str r2, [r3, #20] + 8016ed0: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016ed2: 6ada ldr r2, [r3, #44] @ 0x2c + 8016ed4: 491c ldr r1, [pc, #112] @ (8016f48 ) + 8016ed6: 4613 mov r3, r2 + 8016ed8: 009b lsls r3, r3, #2 + 8016eda: 4413 add r3, r2 + 8016edc: 009b lsls r3, r3, #2 + 8016ede: 440b add r3, r1 + 8016ee0: 681b ldr r3, [r3, #0] + 8016ee2: 1c59 adds r1, r3, #1 + 8016ee4: 4818 ldr r0, [pc, #96] @ (8016f48 ) + 8016ee6: 4613 mov r3, r2 + 8016ee8: 009b lsls r3, r3, #2 + 8016eea: 4413 add r3, r2 + 8016eec: 009b lsls r3, r3, #2 + 8016eee: 4403 add r3, r0 + 8016ef0: 6019 str r1, [r3, #0] /* The task should not have been on an event list. */ configASSERT( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) == NULL ); - 8016514: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016516: 6a9b ldr r3, [r3, #40] @ 0x28 - 8016518: 2b00 cmp r3, #0 - 801651a: d00b beq.n 8016534 + 8016ef2: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016ef4: 6a9b ldr r3, [r3, #40] @ 0x28 + 8016ef6: 2b00 cmp r3, #0 + 8016ef8: d00b beq.n 8016f12 __asm volatile - 801651c: f04f 0350 mov.w r3, #80 @ 0x50 - 8016520: f383 8811 msr BASEPRI, r3 - 8016524: f3bf 8f6f isb sy - 8016528: f3bf 8f4f dsb sy - 801652c: 617b str r3, [r7, #20] + 8016efa: f04f 0350 mov.w r3, #80 @ 0x50 + 8016efe: f383 8811 msr BASEPRI, r3 + 8016f02: f3bf 8f6f isb sy + 8016f06: f3bf 8f4f dsb sy + 8016f0a: 617b str r3, [r7, #20] } - 801652e: bf00 nop - 8016530: bf00 nop - 8016532: e7fd b.n 8016530 + 8016f0c: bf00 nop + 8016f0e: bf00 nop + 8016f10: e7fd b.n 8016f0e * earliest possible time. */ prvResetNextTaskUnblockTime(); } #endif if( pxTCB->uxPriority > pxCurrentTCB->uxPriority ) - 8016534: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016536: 6ada ldr r2, [r3, #44] @ 0x2c - 8016538: 4b0c ldr r3, [pc, #48] @ (801656c ) - 801653a: 681b ldr r3, [r3, #0] - 801653c: 6adb ldr r3, [r3, #44] @ 0x2c - 801653e: 429a cmp r2, r3 - 8016540: d907 bls.n 8016552 + 8016f12: 6b3b ldr r3, [r7, #48] @ 0x30 + 8016f14: 6ada ldr r2, [r3, #44] @ 0x2c + 8016f16: 4b0d ldr r3, [pc, #52] @ (8016f4c ) + 8016f18: 681b ldr r3, [r3, #0] + 8016f1a: 6adb ldr r3, [r3, #44] @ 0x2c + 8016f1c: 429a cmp r2, r3 + 8016f1e: d907 bls.n 8016f30 { /* The notified task has a priority above the currently * executing task so a yield is required. */ taskYIELD_IF_USING_PREEMPTION(); - 8016542: 4b0b ldr r3, [pc, #44] @ (8016570 ) - 8016544: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8016548: 601a str r2, [r3, #0] - 801654a: f3bf 8f4f dsb sy - 801654e: f3bf 8f6f isb sy + 8016f20: 4b0b ldr r3, [pc, #44] @ (8016f50 ) + 8016f22: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8016f26: 601a str r2, [r3, #0] + 8016f28: f3bf 8f4f dsb sy + 8016f2c: f3bf 8f6f isb sy else { mtCOVERAGE_TEST_MARKER(); } } taskEXIT_CRITICAL(); - 8016552: f000 ff37 bl 80173c4 + 8016f30: f000 ff30 bl 8017d94 return xReturn; - 8016556: 6b7b ldr r3, [r7, #52] @ 0x34 + 8016f34: 6b7b ldr r3, [r7, #52] @ 0x34 } - 8016558: 4618 mov r0, r3 - 801655a: 3738 adds r7, #56 @ 0x38 - 801655c: 46bd mov sp, r7 - 801655e: bd80 pop {r7, pc} - 8016560: 200025a0 .word 0x200025a0 - 8016564: 200025a4 .word 0x200025a4 - 8016568: 200020cc .word 0x200020cc - 801656c: 200020c8 .word 0x200020c8 - 8016570: e000ed04 .word 0xe000ed04 + 8016f36: 4618 mov r0, r3 + 8016f38: 3738 adds r7, #56 @ 0x38 + 8016f3a: 46bd mov sp, r7 + 8016f3c: bd80 pop {r7, pc} + 8016f3e: bf00 nop + 8016f40: 20002640 .word 0x20002640 + 8016f44: 20002644 .word 0x20002644 + 8016f48: 2000216c .word 0x2000216c + 8016f4c: 20002168 .word 0x20002168 + 8016f50: e000ed04 .word 0xe000ed04 -08016574 : +08016f54 : UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken ) { - 8016574: b580 push {r7, lr} - 8016576: b092 sub sp, #72 @ 0x48 - 8016578: af00 add r7, sp, #0 - 801657a: 60f8 str r0, [r7, #12] - 801657c: 60b9 str r1, [r7, #8] - 801657e: 607a str r2, [r7, #4] - 8016580: 70fb strb r3, [r7, #3] + 8016f54: b580 push {r7, lr} + 8016f56: b092 sub sp, #72 @ 0x48 + 8016f58: af00 add r7, sp, #0 + 8016f5a: 60f8 str r0, [r7, #12] + 8016f5c: 60b9 str r1, [r7, #8] + 8016f5e: 607a str r2, [r7, #4] + 8016f60: 70fb strb r3, [r7, #3] TCB_t * pxTCB; uint8_t ucOriginalNotifyState; BaseType_t xReturn = pdPASS; - 8016582: 2301 movs r3, #1 - 8016584: 647b str r3, [r7, #68] @ 0x44 + 8016f62: 2301 movs r3, #1 + 8016f64: 647b str r3, [r7, #68] @ 0x44 UBaseType_t uxSavedInterruptStatus; configASSERT( xTaskToNotify ); - 8016586: 68fb ldr r3, [r7, #12] - 8016588: 2b00 cmp r3, #0 - 801658a: d10b bne.n 80165a4 + 8016f66: 68fb ldr r3, [r7, #12] + 8016f68: 2b00 cmp r3, #0 + 8016f6a: d10b bne.n 8016f84 __asm volatile - 801658c: f04f 0350 mov.w r3, #80 @ 0x50 - 8016590: f383 8811 msr BASEPRI, r3 - 8016594: f3bf 8f6f isb sy - 8016598: f3bf 8f4f dsb sy - 801659c: 62bb str r3, [r7, #40] @ 0x28 + 8016f6c: f04f 0350 mov.w r3, #80 @ 0x50 + 8016f70: f383 8811 msr BASEPRI, r3 + 8016f74: f3bf 8f6f isb sy + 8016f78: f3bf 8f4f dsb sy + 8016f7c: 62bb str r3, [r7, #40] @ 0x28 } - 801659e: bf00 nop - 80165a0: bf00 nop - 80165a2: e7fd b.n 80165a0 + 8016f7e: bf00 nop + 8016f80: bf00 nop + 8016f82: e7fd b.n 8016f80 configASSERT( uxIndexToNotify < configTASK_NOTIFICATION_ARRAY_ENTRIES ); - 80165a4: 68bb ldr r3, [r7, #8] - 80165a6: 2b00 cmp r3, #0 - 80165a8: d00b beq.n 80165c2 + 8016f84: 68bb ldr r3, [r7, #8] + 8016f86: 2b01 cmp r3, #1 + 8016f88: d90b bls.n 8016fa2 __asm volatile - 80165aa: f04f 0350 mov.w r3, #80 @ 0x50 - 80165ae: f383 8811 msr BASEPRI, r3 - 80165b2: f3bf 8f6f isb sy - 80165b6: f3bf 8f4f dsb sy - 80165ba: 627b str r3, [r7, #36] @ 0x24 + 8016f8a: f04f 0350 mov.w r3, #80 @ 0x50 + 8016f8e: f383 8811 msr BASEPRI, r3 + 8016f92: f3bf 8f6f isb sy + 8016f96: f3bf 8f4f dsb sy + 8016f9a: 627b str r3, [r7, #36] @ 0x24 } - 80165bc: bf00 nop - 80165be: bf00 nop - 80165c0: e7fd b.n 80165be + 8016f9c: bf00 nop + 8016f9e: bf00 nop + 8016fa0: e7fd b.n 8016f9e * 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(); - 80165c2: f000 ffb3 bl 801752c + 8016fa2: f000 ffab bl 8017efc pxTCB = xTaskToNotify; - 80165c6: 68fb ldr r3, [r7, #12] - 80165c8: 643b str r3, [r7, #64] @ 0x40 + 8016fa6: 68fb ldr r3, [r7, #12] + 8016fa8: 643b str r3, [r7, #64] @ 0x40 __asm volatile - 80165ca: f3ef 8211 mrs r2, BASEPRI - 80165ce: f04f 0350 mov.w r3, #80 @ 0x50 - 80165d2: f383 8811 msr BASEPRI, r3 - 80165d6: f3bf 8f6f isb sy - 80165da: f3bf 8f4f dsb sy - 80165de: 623a str r2, [r7, #32] - 80165e0: 61fb str r3, [r7, #28] + 8016faa: f3ef 8211 mrs r2, BASEPRI + 8016fae: f04f 0350 mov.w r3, #80 @ 0x50 + 8016fb2: f383 8811 msr BASEPRI, r3 + 8016fb6: f3bf 8f6f isb sy + 8016fba: f3bf 8f4f dsb sy + 8016fbe: 623a str r2, [r7, #32] + 8016fc0: 61fb str r3, [r7, #28] return ulOriginalBASEPRI; - 80165e2: 6a3b ldr r3, [r7, #32] + 8016fc2: 6a3b ldr r3, [r7, #32] uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); - 80165e4: 63fb str r3, [r7, #60] @ 0x3c + 8016fc4: 63fb str r3, [r7, #60] @ 0x3c { if( pulPreviousNotificationValue != NULL ) - 80165e6: 6d3b ldr r3, [r7, #80] @ 0x50 - 80165e8: 2b00 cmp r3, #0 - 80165ea: d007 beq.n 80165fc + 8016fc6: 6d3b ldr r3, [r7, #80] @ 0x50 + 8016fc8: 2b00 cmp r3, #0 + 8016fca: d006 beq.n 8016fda { *pulPreviousNotificationValue = pxTCB->ulNotifiedValue[ uxIndexToNotify ]; - 80165ec: 6c3a ldr r2, [r7, #64] @ 0x40 - 80165ee: 68bb ldr r3, [r7, #8] - 80165f0: 3314 adds r3, #20 - 80165f2: 009b lsls r3, r3, #2 - 80165f4: 4413 add r3, r2 - 80165f6: 685a ldr r2, [r3, #4] - 80165f8: 6d3b ldr r3, [r7, #80] @ 0x50 - 80165fa: 601a str r2, [r3, #0] + 8016fcc: 6c3b ldr r3, [r7, #64] @ 0x40 + 8016fce: 68ba ldr r2, [r7, #8] + 8016fd0: 3228 adds r2, #40 @ 0x28 + 8016fd2: f853 2022 ldr.w r2, [r3, r2, lsl #2] + 8016fd6: 6d3b ldr r3, [r7, #80] @ 0x50 + 8016fd8: 601a str r2, [r3, #0] } ucOriginalNotifyState = pxTCB->ucNotifyState[ uxIndexToNotify ]; - 80165fc: 6c3a ldr r2, [r7, #64] @ 0x40 - 80165fe: 68bb ldr r3, [r7, #8] - 8016600: 4413 add r3, r2 - 8016602: 3358 adds r3, #88 @ 0x58 - 8016604: 781b ldrb r3, [r3, #0] - 8016606: f887 303b strb.w r3, [r7, #59] @ 0x3b + 8016fda: 6c3a ldr r2, [r7, #64] @ 0x40 + 8016fdc: 68bb ldr r3, [r7, #8] + 8016fde: 4413 add r3, r2 + 8016fe0: 33a8 adds r3, #168 @ 0xa8 + 8016fe2: 781b ldrb r3, [r3, #0] + 8016fe4: f887 303b strb.w r3, [r7, #59] @ 0x3b pxTCB->ucNotifyState[ uxIndexToNotify ] = taskNOTIFICATION_RECEIVED; - 801660a: 6c3a ldr r2, [r7, #64] @ 0x40 - 801660c: 68bb ldr r3, [r7, #8] - 801660e: 4413 add r3, r2 - 8016610: 3358 adds r3, #88 @ 0x58 - 8016612: 2202 movs r2, #2 - 8016614: 701a strb r2, [r3, #0] + 8016fe8: 6c3a ldr r2, [r7, #64] @ 0x40 + 8016fea: 68bb ldr r3, [r7, #8] + 8016fec: 4413 add r3, r2 + 8016fee: 33a8 adds r3, #168 @ 0xa8 + 8016ff0: 2202 movs r2, #2 + 8016ff2: 701a strb r2, [r3, #0] switch( eAction ) - 8016616: 78fb ldrb r3, [r7, #3] - 8016618: 2b04 cmp r3, #4 - 801661a: d841 bhi.n 80166a0 - 801661c: a201 add r2, pc, #4 @ (adr r2, 8016624 ) - 801661e: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8016622: bf00 nop - 8016624: 080166c1 .word 0x080166c1 - 8016628: 08016639 .word 0x08016639 - 801662c: 08016657 .word 0x08016657 - 8016630: 08016673 .word 0x08016673 - 8016634: 08016683 .word 0x08016683 + 8016ff4: 78fb ldrb r3, [r7, #3] + 8016ff6: 2b04 cmp r3, #4 + 8016ff8: d83b bhi.n 8017072 + 8016ffa: a201 add r2, pc, #4 @ (adr r2, 8017000 ) + 8016ffc: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8017000: 08017093 .word 0x08017093 + 8017004: 08017015 .word 0x08017015 + 8017008: 08017031 .word 0x08017031 + 801700c: 08017049 .word 0x08017049 + 8017010: 08017057 .word 0x08017057 { case eSetBits: pxTCB->ulNotifiedValue[ uxIndexToNotify ] |= ulValue; - 8016638: 6c3a ldr r2, [r7, #64] @ 0x40 - 801663a: 68bb ldr r3, [r7, #8] - 801663c: 3314 adds r3, #20 - 801663e: 009b lsls r3, r3, #2 - 8016640: 4413 add r3, r2 - 8016642: 685a ldr r2, [r3, #4] - 8016644: 687b ldr r3, [r7, #4] - 8016646: 431a orrs r2, r3 - 8016648: 6c39 ldr r1, [r7, #64] @ 0x40 - 801664a: 68bb ldr r3, [r7, #8] - 801664c: 3314 adds r3, #20 - 801664e: 009b lsls r3, r3, #2 - 8016650: 440b add r3, r1 - 8016652: 605a str r2, [r3, #4] + 8017014: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017016: 68ba ldr r2, [r7, #8] + 8017018: 3228 adds r2, #40 @ 0x28 + 801701a: f853 2022 ldr.w r2, [r3, r2, lsl #2] + 801701e: 687b ldr r3, [r7, #4] + 8017020: ea42 0103 orr.w r1, r2, r3 + 8017024: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017026: 68ba ldr r2, [r7, #8] + 8017028: 3228 adds r2, #40 @ 0x28 + 801702a: f843 1022 str.w r1, [r3, r2, lsl #2] break; - 8016654: e037 b.n 80166c6 + 801702e: e033 b.n 8017098 case eIncrement: ( pxTCB->ulNotifiedValue[ uxIndexToNotify ] )++; - 8016656: 6c3a ldr r2, [r7, #64] @ 0x40 - 8016658: 68bb ldr r3, [r7, #8] - 801665a: 3314 adds r3, #20 - 801665c: 009b lsls r3, r3, #2 - 801665e: 4413 add r3, r2 - 8016660: 685b ldr r3, [r3, #4] - 8016662: 1c5a adds r2, r3, #1 - 8016664: 6c39 ldr r1, [r7, #64] @ 0x40 - 8016666: 68bb ldr r3, [r7, #8] - 8016668: 3314 adds r3, #20 - 801666a: 009b lsls r3, r3, #2 - 801666c: 440b add r3, r1 - 801666e: 605a str r2, [r3, #4] + 8017030: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017032: 68ba ldr r2, [r7, #8] + 8017034: 3228 adds r2, #40 @ 0x28 + 8017036: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 801703a: 1c59 adds r1, r3, #1 + 801703c: 6c3b ldr r3, [r7, #64] @ 0x40 + 801703e: 68ba ldr r2, [r7, #8] + 8017040: 3228 adds r2, #40 @ 0x28 + 8017042: f843 1022 str.w r1, [r3, r2, lsl #2] break; - 8016670: e029 b.n 80166c6 + 8017046: e027 b.n 8017098 case eSetValueWithOverwrite: pxTCB->ulNotifiedValue[ uxIndexToNotify ] = ulValue; - 8016672: 6c3a ldr r2, [r7, #64] @ 0x40 - 8016674: 68bb ldr r3, [r7, #8] - 8016676: 3314 adds r3, #20 - 8016678: 009b lsls r3, r3, #2 - 801667a: 4413 add r3, r2 - 801667c: 687a ldr r2, [r7, #4] - 801667e: 605a str r2, [r3, #4] + 8017048: 6c3b ldr r3, [r7, #64] @ 0x40 + 801704a: 68ba ldr r2, [r7, #8] + 801704c: 3228 adds r2, #40 @ 0x28 + 801704e: 6879 ldr r1, [r7, #4] + 8017050: f843 1022 str.w r1, [r3, r2, lsl #2] break; - 8016680: e021 b.n 80166c6 + 8017054: e020 b.n 8017098 case eSetValueWithoutOverwrite: if( ucOriginalNotifyState != taskNOTIFICATION_RECEIVED ) - 8016682: f897 303b ldrb.w r3, [r7, #59] @ 0x3b - 8016686: 2b02 cmp r3, #2 - 8016688: d007 beq.n 801669a + 8017056: f897 303b ldrb.w r3, [r7, #59] @ 0x3b + 801705a: 2b02 cmp r3, #2 + 801705c: d006 beq.n 801706c { pxTCB->ulNotifiedValue[ uxIndexToNotify ] = ulValue; - 801668a: 6c3a ldr r2, [r7, #64] @ 0x40 - 801668c: 68bb ldr r3, [r7, #8] - 801668e: 3314 adds r3, #20 - 8016690: 009b lsls r3, r3, #2 - 8016692: 4413 add r3, r2 - 8016694: 687a ldr r2, [r7, #4] - 8016696: 605a str r2, [r3, #4] + 801705e: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017060: 68ba ldr r2, [r7, #8] + 8017062: 3228 adds r2, #40 @ 0x28 + 8017064: 6879 ldr r1, [r7, #4] + 8017066: f843 1022 str.w r1, [r3, r2, lsl #2] { /* The value could not be written to the task. */ xReturn = pdFAIL; } break; - 8016698: e015 b.n 80166c6 + 801706a: e015 b.n 8017098 xReturn = pdFAIL; - 801669a: 2300 movs r3, #0 - 801669c: 647b str r3, [r7, #68] @ 0x44 + 801706c: 2300 movs r3, #0 + 801706e: 647b str r3, [r7, #68] @ 0x44 break; - 801669e: e012 b.n 80166c6 + 8017070: e012 b.n 8017098 default: /* Should not get here if all enums are handled. * Artificially force an assert by testing a value the * compiler can't assume is const. */ configASSERT( xTickCount == ( TickType_t ) 0 ); - 80166a0: 4b61 ldr r3, [pc, #388] @ (8016828 ) - 80166a2: 681b ldr r3, [r3, #0] - 80166a4: 2b00 cmp r3, #0 - 80166a6: d00d beq.n 80166c4 + 8017072: 4b61 ldr r3, [pc, #388] @ (80171f8 ) + 8017074: 681b ldr r3, [r3, #0] + 8017076: 2b00 cmp r3, #0 + 8017078: d00d beq.n 8017096 __asm volatile - 80166a8: f04f 0350 mov.w r3, #80 @ 0x50 - 80166ac: f383 8811 msr BASEPRI, r3 - 80166b0: f3bf 8f6f isb sy - 80166b4: f3bf 8f4f dsb sy - 80166b8: 61bb str r3, [r7, #24] + 801707a: f04f 0350 mov.w r3, #80 @ 0x50 + 801707e: f383 8811 msr BASEPRI, r3 + 8017082: f3bf 8f6f isb sy + 8017086: f3bf 8f4f dsb sy + 801708a: 61bb str r3, [r7, #24] } - 80166ba: bf00 nop - 80166bc: bf00 nop - 80166be: e7fd b.n 80166bc + 801708c: bf00 nop + 801708e: bf00 nop + 8017090: e7fd b.n 801708e break; - 80166c0: bf00 nop - 80166c2: e000 b.n 80166c6 + 8017092: bf00 nop + 8017094: e000 b.n 8017098 break; - 80166c4: bf00 nop + 8017096: bf00 nop traceTASK_NOTIFY_FROM_ISR( uxIndexToNotify ); /* If the task is in the blocked state specifically to wait for a * notification then unblock it now. */ if( ucOriginalNotifyState == taskWAITING_NOTIFICATION ) - 80166c6: f897 303b ldrb.w r3, [r7, #59] @ 0x3b - 80166ca: 2b01 cmp r3, #1 - 80166cc: f040 80a0 bne.w 8016810 + 8017098: f897 303b ldrb.w r3, [r7, #59] @ 0x3b + 801709c: 2b01 cmp r3, #1 + 801709e: f040 80a0 bne.w 80171e2 { /* The task should not have been on an event list. */ configASSERT( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) == NULL ); - 80166d0: 6c3b ldr r3, [r7, #64] @ 0x40 - 80166d2: 6a9b ldr r3, [r3, #40] @ 0x28 - 80166d4: 2b00 cmp r3, #0 - 80166d6: d00b beq.n 80166f0 + 80170a2: 6c3b ldr r3, [r7, #64] @ 0x40 + 80170a4: 6a9b ldr r3, [r3, #40] @ 0x28 + 80170a6: 2b00 cmp r3, #0 + 80170a8: d00b beq.n 80170c2 __asm volatile - 80166d8: f04f 0350 mov.w r3, #80 @ 0x50 - 80166dc: f383 8811 msr BASEPRI, r3 - 80166e0: f3bf 8f6f isb sy - 80166e4: f3bf 8f4f dsb sy - 80166e8: 617b str r3, [r7, #20] + 80170aa: f04f 0350 mov.w r3, #80 @ 0x50 + 80170ae: f383 8811 msr BASEPRI, r3 + 80170b2: f3bf 8f6f isb sy + 80170b6: f3bf 8f4f dsb sy + 80170ba: 617b str r3, [r7, #20] } - 80166ea: bf00 nop - 80166ec: bf00 nop - 80166ee: e7fd b.n 80166ec + 80170bc: bf00 nop + 80170be: bf00 nop + 80170c0: e7fd b.n 80170be if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) - 80166f0: 4b4e ldr r3, [pc, #312] @ (801682c ) - 80166f2: 681b ldr r3, [r3, #0] - 80166f4: 2b00 cmp r3, #0 - 80166f6: d15f bne.n 80167b8 + 80170c2: 4b4e ldr r3, [pc, #312] @ (80171fc ) + 80170c4: 681b ldr r3, [r3, #0] + 80170c6: 2b00 cmp r3, #0 + 80170c8: d15f bne.n 801718a { listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); - 80166f8: 6c3b ldr r3, [r7, #64] @ 0x40 - 80166fa: 695b ldr r3, [r3, #20] - 80166fc: 633b str r3, [r7, #48] @ 0x30 - 80166fe: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016700: 689b ldr r3, [r3, #8] - 8016702: 6c3a ldr r2, [r7, #64] @ 0x40 - 8016704: 68d2 ldr r2, [r2, #12] - 8016706: 609a str r2, [r3, #8] - 8016708: 6c3b ldr r3, [r7, #64] @ 0x40 - 801670a: 68db ldr r3, [r3, #12] - 801670c: 6c3a ldr r2, [r7, #64] @ 0x40 - 801670e: 6892 ldr r2, [r2, #8] - 8016710: 605a str r2, [r3, #4] - 8016712: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016714: 685a ldr r2, [r3, #4] - 8016716: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016718: 3304 adds r3, #4 - 801671a: 429a cmp r2, r3 - 801671c: d103 bne.n 8016726 - 801671e: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016720: 68da ldr r2, [r3, #12] - 8016722: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016724: 605a str r2, [r3, #4] - 8016726: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016728: 2200 movs r2, #0 - 801672a: 615a str r2, [r3, #20] - 801672c: 6b3b ldr r3, [r7, #48] @ 0x30 - 801672e: 681b ldr r3, [r3, #0] - 8016730: 1e5a subs r2, r3, #1 - 8016732: 6b3b ldr r3, [r7, #48] @ 0x30 - 8016734: 601a str r2, [r3, #0] + 80170ca: 6c3b ldr r3, [r7, #64] @ 0x40 + 80170cc: 695b ldr r3, [r3, #20] + 80170ce: 633b str r3, [r7, #48] @ 0x30 + 80170d0: 6c3b ldr r3, [r7, #64] @ 0x40 + 80170d2: 689b ldr r3, [r3, #8] + 80170d4: 6c3a ldr r2, [r7, #64] @ 0x40 + 80170d6: 68d2 ldr r2, [r2, #12] + 80170d8: 609a str r2, [r3, #8] + 80170da: 6c3b ldr r3, [r7, #64] @ 0x40 + 80170dc: 68db ldr r3, [r3, #12] + 80170de: 6c3a ldr r2, [r7, #64] @ 0x40 + 80170e0: 6892 ldr r2, [r2, #8] + 80170e2: 605a str r2, [r3, #4] + 80170e4: 6b3b ldr r3, [r7, #48] @ 0x30 + 80170e6: 685a ldr r2, [r3, #4] + 80170e8: 6c3b ldr r3, [r7, #64] @ 0x40 + 80170ea: 3304 adds r3, #4 + 80170ec: 429a cmp r2, r3 + 80170ee: d103 bne.n 80170f8 + 80170f0: 6c3b ldr r3, [r7, #64] @ 0x40 + 80170f2: 68da ldr r2, [r3, #12] + 80170f4: 6b3b ldr r3, [r7, #48] @ 0x30 + 80170f6: 605a str r2, [r3, #4] + 80170f8: 6c3b ldr r3, [r7, #64] @ 0x40 + 80170fa: 2200 movs r2, #0 + 80170fc: 615a str r2, [r3, #20] + 80170fe: 6b3b ldr r3, [r7, #48] @ 0x30 + 8017100: 681b ldr r3, [r3, #0] + 8017102: 1e5a subs r2, r3, #1 + 8017104: 6b3b ldr r3, [r7, #48] @ 0x30 + 8017106: 601a str r2, [r3, #0] prvAddTaskToReadyList( pxTCB ); - 8016736: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016738: 6ada ldr r2, [r3, #44] @ 0x2c - 801673a: 4b3d ldr r3, [pc, #244] @ (8016830 ) - 801673c: 681b ldr r3, [r3, #0] - 801673e: 429a cmp r2, r3 - 8016740: d903 bls.n 801674a - 8016742: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016744: 6adb ldr r3, [r3, #44] @ 0x2c - 8016746: 4a3a ldr r2, [pc, #232] @ (8016830 ) - 8016748: 6013 str r3, [r2, #0] - 801674a: 6c3b ldr r3, [r7, #64] @ 0x40 - 801674c: 6ada ldr r2, [r3, #44] @ 0x2c - 801674e: 4939 ldr r1, [pc, #228] @ (8016834 ) - 8016750: 4613 mov r3, r2 - 8016752: 009b lsls r3, r3, #2 - 8016754: 4413 add r3, r2 - 8016756: 009b lsls r3, r3, #2 - 8016758: 440b add r3, r1 - 801675a: 3304 adds r3, #4 - 801675c: 681b ldr r3, [r3, #0] - 801675e: 62fb str r3, [r7, #44] @ 0x2c - 8016760: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016762: 6afa ldr r2, [r7, #44] @ 0x2c - 8016764: 609a str r2, [r3, #8] - 8016766: 6afb ldr r3, [r7, #44] @ 0x2c - 8016768: 689a ldr r2, [r3, #8] - 801676a: 6c3b ldr r3, [r7, #64] @ 0x40 - 801676c: 60da str r2, [r3, #12] - 801676e: 6afb ldr r3, [r7, #44] @ 0x2c - 8016770: 689b ldr r3, [r3, #8] - 8016772: 6c3a ldr r2, [r7, #64] @ 0x40 - 8016774: 3204 adds r2, #4 - 8016776: 605a str r2, [r3, #4] - 8016778: 6c3b ldr r3, [r7, #64] @ 0x40 - 801677a: 1d1a adds r2, r3, #4 - 801677c: 6afb ldr r3, [r7, #44] @ 0x2c - 801677e: 609a str r2, [r3, #8] - 8016780: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016782: 6ada ldr r2, [r3, #44] @ 0x2c - 8016784: 4613 mov r3, r2 - 8016786: 009b lsls r3, r3, #2 - 8016788: 4413 add r3, r2 - 801678a: 009b lsls r3, r3, #2 - 801678c: 4a29 ldr r2, [pc, #164] @ (8016834 ) - 801678e: 441a add r2, r3 - 8016790: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016792: 615a str r2, [r3, #20] - 8016794: 6c3b ldr r3, [r7, #64] @ 0x40 - 8016796: 6ada ldr r2, [r3, #44] @ 0x2c - 8016798: 4926 ldr r1, [pc, #152] @ (8016834 ) - 801679a: 4613 mov r3, r2 - 801679c: 009b lsls r3, r3, #2 - 801679e: 4413 add r3, r2 - 80167a0: 009b lsls r3, r3, #2 - 80167a2: 440b add r3, r1 - 80167a4: 681b ldr r3, [r3, #0] - 80167a6: 1c59 adds r1, r3, #1 - 80167a8: 4822 ldr r0, [pc, #136] @ (8016834 ) - 80167aa: 4613 mov r3, r2 - 80167ac: 009b lsls r3, r3, #2 - 80167ae: 4413 add r3, r2 - 80167b0: 009b lsls r3, r3, #2 - 80167b2: 4403 add r3, r0 - 80167b4: 6019 str r1, [r3, #0] - 80167b6: e01b b.n 80167f0 + 8017108: 6c3b ldr r3, [r7, #64] @ 0x40 + 801710a: 6ada ldr r2, [r3, #44] @ 0x2c + 801710c: 4b3c ldr r3, [pc, #240] @ (8017200 ) + 801710e: 681b ldr r3, [r3, #0] + 8017110: 429a cmp r2, r3 + 8017112: d903 bls.n 801711c + 8017114: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017116: 6adb ldr r3, [r3, #44] @ 0x2c + 8017118: 4a39 ldr r2, [pc, #228] @ (8017200 ) + 801711a: 6013 str r3, [r2, #0] + 801711c: 6c3b ldr r3, [r7, #64] @ 0x40 + 801711e: 6ada ldr r2, [r3, #44] @ 0x2c + 8017120: 4938 ldr r1, [pc, #224] @ (8017204 ) + 8017122: 4613 mov r3, r2 + 8017124: 009b lsls r3, r3, #2 + 8017126: 4413 add r3, r2 + 8017128: 009b lsls r3, r3, #2 + 801712a: 440b add r3, r1 + 801712c: 3304 adds r3, #4 + 801712e: 681b ldr r3, [r3, #0] + 8017130: 62fb str r3, [r7, #44] @ 0x2c + 8017132: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017134: 6afa ldr r2, [r7, #44] @ 0x2c + 8017136: 609a str r2, [r3, #8] + 8017138: 6afb ldr r3, [r7, #44] @ 0x2c + 801713a: 689a ldr r2, [r3, #8] + 801713c: 6c3b ldr r3, [r7, #64] @ 0x40 + 801713e: 60da str r2, [r3, #12] + 8017140: 6afb ldr r3, [r7, #44] @ 0x2c + 8017142: 689b ldr r3, [r3, #8] + 8017144: 6c3a ldr r2, [r7, #64] @ 0x40 + 8017146: 3204 adds r2, #4 + 8017148: 605a str r2, [r3, #4] + 801714a: 6c3b ldr r3, [r7, #64] @ 0x40 + 801714c: 1d1a adds r2, r3, #4 + 801714e: 6afb ldr r3, [r7, #44] @ 0x2c + 8017150: 609a str r2, [r3, #8] + 8017152: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017154: 6ada ldr r2, [r3, #44] @ 0x2c + 8017156: 4613 mov r3, r2 + 8017158: 009b lsls r3, r3, #2 + 801715a: 4413 add r3, r2 + 801715c: 009b lsls r3, r3, #2 + 801715e: 4a29 ldr r2, [pc, #164] @ (8017204 ) + 8017160: 441a add r2, r3 + 8017162: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017164: 615a str r2, [r3, #20] + 8017166: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017168: 6ada ldr r2, [r3, #44] @ 0x2c + 801716a: 4926 ldr r1, [pc, #152] @ (8017204 ) + 801716c: 4613 mov r3, r2 + 801716e: 009b lsls r3, r3, #2 + 8017170: 4413 add r3, r2 + 8017172: 009b lsls r3, r3, #2 + 8017174: 440b add r3, r1 + 8017176: 681b ldr r3, [r3, #0] + 8017178: 1c59 adds r1, r3, #1 + 801717a: 4822 ldr r0, [pc, #136] @ (8017204 ) + 801717c: 4613 mov r3, r2 + 801717e: 009b lsls r3, r3, #2 + 8017180: 4413 add r3, r2 + 8017182: 009b lsls r3, r3, #2 + 8017184: 4403 add r3, r0 + 8017186: 6019 str r1, [r3, #0] + 8017188: e01b b.n 80171c2 } else { /* The delayed and ready lists cannot be accessed, so hold * this task pending until the scheduler is resumed. */ listINSERT_END( &( xPendingReadyList ), &( pxTCB->xEventListItem ) ); - 80167b8: 4b1f ldr r3, [pc, #124] @ (8016838 ) - 80167ba: 685b ldr r3, [r3, #4] - 80167bc: 637b str r3, [r7, #52] @ 0x34 - 80167be: 6c3b ldr r3, [r7, #64] @ 0x40 - 80167c0: 6b7a ldr r2, [r7, #52] @ 0x34 - 80167c2: 61da str r2, [r3, #28] - 80167c4: 6b7b ldr r3, [r7, #52] @ 0x34 - 80167c6: 689a ldr r2, [r3, #8] - 80167c8: 6c3b ldr r3, [r7, #64] @ 0x40 - 80167ca: 621a str r2, [r3, #32] - 80167cc: 6b7b ldr r3, [r7, #52] @ 0x34 - 80167ce: 689b ldr r3, [r3, #8] - 80167d0: 6c3a ldr r2, [r7, #64] @ 0x40 - 80167d2: 3218 adds r2, #24 - 80167d4: 605a str r2, [r3, #4] - 80167d6: 6c3b ldr r3, [r7, #64] @ 0x40 - 80167d8: f103 0218 add.w r2, r3, #24 - 80167dc: 6b7b ldr r3, [r7, #52] @ 0x34 - 80167de: 609a str r2, [r3, #8] - 80167e0: 6c3b ldr r3, [r7, #64] @ 0x40 - 80167e2: 4a15 ldr r2, [pc, #84] @ (8016838 ) - 80167e4: 629a str r2, [r3, #40] @ 0x28 - 80167e6: 4b14 ldr r3, [pc, #80] @ (8016838 ) - 80167e8: 681b ldr r3, [r3, #0] - 80167ea: 3301 adds r3, #1 - 80167ec: 4a12 ldr r2, [pc, #72] @ (8016838 ) - 80167ee: 6013 str r3, [r2, #0] + 801718a: 4b1f ldr r3, [pc, #124] @ (8017208 ) + 801718c: 685b ldr r3, [r3, #4] + 801718e: 637b str r3, [r7, #52] @ 0x34 + 8017190: 6c3b ldr r3, [r7, #64] @ 0x40 + 8017192: 6b7a ldr r2, [r7, #52] @ 0x34 + 8017194: 61da str r2, [r3, #28] + 8017196: 6b7b ldr r3, [r7, #52] @ 0x34 + 8017198: 689a ldr r2, [r3, #8] + 801719a: 6c3b ldr r3, [r7, #64] @ 0x40 + 801719c: 621a str r2, [r3, #32] + 801719e: 6b7b ldr r3, [r7, #52] @ 0x34 + 80171a0: 689b ldr r3, [r3, #8] + 80171a2: 6c3a ldr r2, [r7, #64] @ 0x40 + 80171a4: 3218 adds r2, #24 + 80171a6: 605a str r2, [r3, #4] + 80171a8: 6c3b ldr r3, [r7, #64] @ 0x40 + 80171aa: f103 0218 add.w r2, r3, #24 + 80171ae: 6b7b ldr r3, [r7, #52] @ 0x34 + 80171b0: 609a str r2, [r3, #8] + 80171b2: 6c3b ldr r3, [r7, #64] @ 0x40 + 80171b4: 4a14 ldr r2, [pc, #80] @ (8017208 ) + 80171b6: 629a str r2, [r3, #40] @ 0x28 + 80171b8: 4b13 ldr r3, [pc, #76] @ (8017208 ) + 80171ba: 681b ldr r3, [r3, #0] + 80171bc: 3301 adds r3, #1 + 80171be: 4a12 ldr r2, [pc, #72] @ (8017208 ) + 80171c0: 6013 str r3, [r2, #0] } if( pxTCB->uxPriority > pxCurrentTCB->uxPriority ) - 80167f0: 6c3b ldr r3, [r7, #64] @ 0x40 - 80167f2: 6ada ldr r2, [r3, #44] @ 0x2c - 80167f4: 4b11 ldr r3, [pc, #68] @ (801683c ) - 80167f6: 681b ldr r3, [r3, #0] - 80167f8: 6adb ldr r3, [r3, #44] @ 0x2c - 80167fa: 429a cmp r2, r3 - 80167fc: d908 bls.n 8016810 + 80171c2: 6c3b ldr r3, [r7, #64] @ 0x40 + 80171c4: 6ada ldr r2, [r3, #44] @ 0x2c + 80171c6: 4b11 ldr r3, [pc, #68] @ (801720c ) + 80171c8: 681b ldr r3, [r3, #0] + 80171ca: 6adb ldr r3, [r3, #44] @ 0x2c + 80171cc: 429a cmp r2, r3 + 80171ce: d908 bls.n 80171e2 { /* The notified task has a priority above the currently * executing task so a yield is required. */ if( pxHigherPriorityTaskWoken != NULL ) - 80167fe: 6d7b ldr r3, [r7, #84] @ 0x54 - 8016800: 2b00 cmp r3, #0 - 8016802: d002 beq.n 801680a + 80171d0: 6d7b ldr r3, [r7, #84] @ 0x54 + 80171d2: 2b00 cmp r3, #0 + 80171d4: d002 beq.n 80171dc { *pxHigherPriorityTaskWoken = pdTRUE; - 8016804: 6d7b ldr r3, [r7, #84] @ 0x54 - 8016806: 2201 movs r2, #1 - 8016808: 601a str r2, [r3, #0] + 80171d6: 6d7b ldr r3, [r7, #84] @ 0x54 + 80171d8: 2201 movs r2, #1 + 80171da: 601a str r2, [r3, #0] } /* Mark that a yield is pending in case the user is not * using the "xHigherPriorityTaskWoken" parameter to an ISR * safe FreeRTOS function. */ xYieldPending = pdTRUE; - 801680a: 4b0d ldr r3, [pc, #52] @ (8016840 ) - 801680c: 2201 movs r2, #1 - 801680e: 601a str r2, [r3, #0] - 8016810: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016812: 613b str r3, [r7, #16] + 80171dc: 4b0c ldr r3, [pc, #48] @ (8017210 ) + 80171de: 2201 movs r2, #1 + 80171e0: 601a str r2, [r3, #0] + 80171e2: 6bfb ldr r3, [r7, #60] @ 0x3c + 80171e4: 613b str r3, [r7, #16] __asm volatile - 8016814: 693b ldr r3, [r7, #16] - 8016816: f383 8811 msr BASEPRI, r3 + 80171e6: 693b ldr r3, [r7, #16] + 80171e8: f383 8811 msr BASEPRI, r3 } - 801681a: bf00 nop + 80171ec: bf00 nop } } } portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ); return xReturn; - 801681c: 6c7b ldr r3, [r7, #68] @ 0x44 + 80171ee: 6c7b ldr r3, [r7, #68] @ 0x44 } - 801681e: 4618 mov r0, r3 - 8016820: 3748 adds r7, #72 @ 0x48 - 8016822: 46bd mov sp, r7 - 8016824: bd80 pop {r7, pc} - 8016826: bf00 nop - 8016828: 200025a0 .word 0x200025a0 - 801682c: 200025c4 .word 0x200025c4 - 8016830: 200025a4 .word 0x200025a4 - 8016834: 200020cc .word 0x200020cc - 8016838: 2000255c .word 0x2000255c - 801683c: 200020c8 .word 0x200020c8 - 8016840: 200025b0 .word 0x200025b0 + 80171f0: 4618 mov r0, r3 + 80171f2: 3748 adds r7, #72 @ 0x48 + 80171f4: 46bd mov sp, r7 + 80171f6: bd80 pop {r7, pc} + 80171f8: 20002640 .word 0x20002640 + 80171fc: 20002664 .word 0x20002664 + 8017200: 20002644 .word 0x20002644 + 8017204: 2000216c .word 0x2000216c + 8017208: 200025fc .word 0x200025fc + 801720c: 20002168 .word 0x20002168 + 8017210: 20002650 .word 0x20002650 -08016844 : +08017214 : #if ( configUSE_TASK_NOTIFICATIONS == 1 ) void vTaskGenericNotifyGiveFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken ) { - 8016844: b580 push {r7, lr} - 8016846: b090 sub sp, #64 @ 0x40 - 8016848: af00 add r7, sp, #0 - 801684a: 60f8 str r0, [r7, #12] - 801684c: 60b9 str r1, [r7, #8] - 801684e: 607a str r2, [r7, #4] + 8017214: b580 push {r7, lr} + 8017216: b090 sub sp, #64 @ 0x40 + 8017218: af00 add r7, sp, #0 + 801721a: 60f8 str r0, [r7, #12] + 801721c: 60b9 str r1, [r7, #8] + 801721e: 607a str r2, [r7, #4] TCB_t * pxTCB; uint8_t ucOriginalNotifyState; UBaseType_t uxSavedInterruptStatus; configASSERT( xTaskToNotify ); - 8016850: 68fb ldr r3, [r7, #12] - 8016852: 2b00 cmp r3, #0 - 8016854: d10b bne.n 801686e + 8017220: 68fb ldr r3, [r7, #12] + 8017222: 2b00 cmp r3, #0 + 8017224: d10b bne.n 801723e __asm volatile - 8016856: f04f 0350 mov.w r3, #80 @ 0x50 - 801685a: f383 8811 msr BASEPRI, r3 - 801685e: f3bf 8f6f isb sy - 8016862: f3bf 8f4f dsb sy - 8016866: 627b str r3, [r7, #36] @ 0x24 + 8017226: f04f 0350 mov.w r3, #80 @ 0x50 + 801722a: f383 8811 msr BASEPRI, r3 + 801722e: f3bf 8f6f isb sy + 8017232: f3bf 8f4f dsb sy + 8017236: 627b str r3, [r7, #36] @ 0x24 } - 8016868: bf00 nop - 801686a: bf00 nop - 801686c: e7fd b.n 801686a + 8017238: bf00 nop + 801723a: bf00 nop + 801723c: e7fd b.n 801723a configASSERT( uxIndexToNotify < configTASK_NOTIFICATION_ARRAY_ENTRIES ); - 801686e: 68bb ldr r3, [r7, #8] - 8016870: 2b00 cmp r3, #0 - 8016872: d00b beq.n 801688c + 801723e: 68bb ldr r3, [r7, #8] + 8017240: 2b01 cmp r3, #1 + 8017242: d90b bls.n 801725c __asm volatile - 8016874: f04f 0350 mov.w r3, #80 @ 0x50 - 8016878: f383 8811 msr BASEPRI, r3 - 801687c: f3bf 8f6f isb sy - 8016880: f3bf 8f4f dsb sy - 8016884: 623b str r3, [r7, #32] + 8017244: f04f 0350 mov.w r3, #80 @ 0x50 + 8017248: f383 8811 msr BASEPRI, r3 + 801724c: f3bf 8f6f isb sy + 8017250: f3bf 8f4f dsb sy + 8017254: 623b str r3, [r7, #32] } - 8016886: bf00 nop - 8016888: bf00 nop - 801688a: e7fd b.n 8016888 + 8017256: bf00 nop + 8017258: bf00 nop + 801725a: e7fd b.n 8017258 * 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(); - 801688c: f000 fe4e bl 801752c + 801725c: f000 fe4e bl 8017efc pxTCB = xTaskToNotify; - 8016890: 68fb ldr r3, [r7, #12] - 8016892: 63fb str r3, [r7, #60] @ 0x3c + 8017260: 68fb ldr r3, [r7, #12] + 8017262: 63fb str r3, [r7, #60] @ 0x3c __asm volatile - 8016894: f3ef 8211 mrs r2, BASEPRI - 8016898: f04f 0350 mov.w r3, #80 @ 0x50 - 801689c: f383 8811 msr BASEPRI, r3 - 80168a0: f3bf 8f6f isb sy - 80168a4: f3bf 8f4f dsb sy - 80168a8: 61fa str r2, [r7, #28] - 80168aa: 61bb str r3, [r7, #24] + 8017264: f3ef 8211 mrs r2, BASEPRI + 8017268: f04f 0350 mov.w r3, #80 @ 0x50 + 801726c: f383 8811 msr BASEPRI, r3 + 8017270: f3bf 8f6f isb sy + 8017274: f3bf 8f4f dsb sy + 8017278: 61fa str r2, [r7, #28] + 801727a: 61bb str r3, [r7, #24] return ulOriginalBASEPRI; - 80168ac: 69fb ldr r3, [r7, #28] + 801727c: 69fb ldr r3, [r7, #28] uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); - 80168ae: 63bb str r3, [r7, #56] @ 0x38 + 801727e: 63bb str r3, [r7, #56] @ 0x38 { ucOriginalNotifyState = pxTCB->ucNotifyState[ uxIndexToNotify ]; - 80168b0: 6bfa ldr r2, [r7, #60] @ 0x3c - 80168b2: 68bb ldr r3, [r7, #8] - 80168b4: 4413 add r3, r2 - 80168b6: 3358 adds r3, #88 @ 0x58 - 80168b8: 781b ldrb r3, [r3, #0] - 80168ba: f887 3037 strb.w r3, [r7, #55] @ 0x37 + 8017280: 6bfa ldr r2, [r7, #60] @ 0x3c + 8017282: 68bb ldr r3, [r7, #8] + 8017284: 4413 add r3, r2 + 8017286: 33a8 adds r3, #168 @ 0xa8 + 8017288: 781b ldrb r3, [r3, #0] + 801728a: f887 3037 strb.w r3, [r7, #55] @ 0x37 pxTCB->ucNotifyState[ uxIndexToNotify ] = taskNOTIFICATION_RECEIVED; - 80168be: 6bfa ldr r2, [r7, #60] @ 0x3c - 80168c0: 68bb ldr r3, [r7, #8] - 80168c2: 4413 add r3, r2 - 80168c4: 3358 adds r3, #88 @ 0x58 - 80168c6: 2202 movs r2, #2 - 80168c8: 701a strb r2, [r3, #0] + 801728e: 6bfa ldr r2, [r7, #60] @ 0x3c + 8017290: 68bb ldr r3, [r7, #8] + 8017292: 4413 add r3, r2 + 8017294: 33a8 adds r3, #168 @ 0xa8 + 8017296: 2202 movs r2, #2 + 8017298: 701a strb r2, [r3, #0] /* 'Giving' is equivalent to incrementing a count in a counting * semaphore. */ ( pxTCB->ulNotifiedValue[ uxIndexToNotify ] )++; - 80168ca: 6bfa ldr r2, [r7, #60] @ 0x3c - 80168cc: 68bb ldr r3, [r7, #8] - 80168ce: 3314 adds r3, #20 - 80168d0: 009b lsls r3, r3, #2 - 80168d2: 4413 add r3, r2 - 80168d4: 685b ldr r3, [r3, #4] - 80168d6: 1c5a adds r2, r3, #1 - 80168d8: 6bf9 ldr r1, [r7, #60] @ 0x3c - 80168da: 68bb ldr r3, [r7, #8] - 80168dc: 3314 adds r3, #20 - 80168de: 009b lsls r3, r3, #2 - 80168e0: 440b add r3, r1 - 80168e2: 605a str r2, [r3, #4] + 801729a: 6bfb ldr r3, [r7, #60] @ 0x3c + 801729c: 68ba ldr r2, [r7, #8] + 801729e: 3228 adds r2, #40 @ 0x28 + 80172a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 80172a4: 1c59 adds r1, r3, #1 + 80172a6: 6bfb ldr r3, [r7, #60] @ 0x3c + 80172a8: 68ba ldr r2, [r7, #8] + 80172aa: 3228 adds r2, #40 @ 0x28 + 80172ac: f843 1022 str.w r1, [r3, r2, lsl #2] traceTASK_NOTIFY_GIVE_FROM_ISR( uxIndexToNotify ); /* If the task is in the blocked state specifically to wait for a * notification then unblock it now. */ if( ucOriginalNotifyState == taskWAITING_NOTIFICATION ) - 80168e4: f897 3037 ldrb.w r3, [r7, #55] @ 0x37 - 80168e8: 2b01 cmp r3, #1 - 80168ea: f040 80a0 bne.w 8016a2e + 80172b0: f897 3037 ldrb.w r3, [r7, #55] @ 0x37 + 80172b4: 2b01 cmp r3, #1 + 80172b6: f040 80a0 bne.w 80173fa { /* The task should not have been on an event list. */ configASSERT( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) == NULL ); - 80168ee: 6bfb ldr r3, [r7, #60] @ 0x3c - 80168f0: 6a9b ldr r3, [r3, #40] @ 0x28 - 80168f2: 2b00 cmp r3, #0 - 80168f4: d00b beq.n 801690e + 80172ba: 6bfb ldr r3, [r7, #60] @ 0x3c + 80172bc: 6a9b ldr r3, [r3, #40] @ 0x28 + 80172be: 2b00 cmp r3, #0 + 80172c0: d00b beq.n 80172da __asm volatile - 80168f6: f04f 0350 mov.w r3, #80 @ 0x50 - 80168fa: f383 8811 msr BASEPRI, r3 - 80168fe: f3bf 8f6f isb sy - 8016902: f3bf 8f4f dsb sy - 8016906: 617b str r3, [r7, #20] + 80172c2: f04f 0350 mov.w r3, #80 @ 0x50 + 80172c6: f383 8811 msr BASEPRI, r3 + 80172ca: f3bf 8f6f isb sy + 80172ce: f3bf 8f4f dsb sy + 80172d2: 617b str r3, [r7, #20] } - 8016908: bf00 nop - 801690a: bf00 nop - 801690c: e7fd b.n 801690a + 80172d4: bf00 nop + 80172d6: bf00 nop + 80172d8: e7fd b.n 80172d6 if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) - 801690e: 4b4d ldr r3, [pc, #308] @ (8016a44 ) - 8016910: 681b ldr r3, [r3, #0] - 8016912: 2b00 cmp r3, #0 - 8016914: d15f bne.n 80169d6 + 80172da: 4b4d ldr r3, [pc, #308] @ (8017410 ) + 80172dc: 681b ldr r3, [r3, #0] + 80172de: 2b00 cmp r3, #0 + 80172e0: d15f bne.n 80173a2 { listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); - 8016916: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016918: 695b ldr r3, [r3, #20] - 801691a: 62fb str r3, [r7, #44] @ 0x2c - 801691c: 6bfb ldr r3, [r7, #60] @ 0x3c - 801691e: 689b ldr r3, [r3, #8] - 8016920: 6bfa ldr r2, [r7, #60] @ 0x3c - 8016922: 68d2 ldr r2, [r2, #12] - 8016924: 609a str r2, [r3, #8] - 8016926: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016928: 68db ldr r3, [r3, #12] - 801692a: 6bfa ldr r2, [r7, #60] @ 0x3c - 801692c: 6892 ldr r2, [r2, #8] - 801692e: 605a str r2, [r3, #4] - 8016930: 6afb ldr r3, [r7, #44] @ 0x2c - 8016932: 685a ldr r2, [r3, #4] - 8016934: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016936: 3304 adds r3, #4 - 8016938: 429a cmp r2, r3 - 801693a: d103 bne.n 8016944 - 801693c: 6bfb ldr r3, [r7, #60] @ 0x3c - 801693e: 68da ldr r2, [r3, #12] - 8016940: 6afb ldr r3, [r7, #44] @ 0x2c - 8016942: 605a str r2, [r3, #4] - 8016944: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016946: 2200 movs r2, #0 - 8016948: 615a str r2, [r3, #20] - 801694a: 6afb ldr r3, [r7, #44] @ 0x2c - 801694c: 681b ldr r3, [r3, #0] - 801694e: 1e5a subs r2, r3, #1 - 8016950: 6afb ldr r3, [r7, #44] @ 0x2c - 8016952: 601a str r2, [r3, #0] + 80172e2: 6bfb ldr r3, [r7, #60] @ 0x3c + 80172e4: 695b ldr r3, [r3, #20] + 80172e6: 62fb str r3, [r7, #44] @ 0x2c + 80172e8: 6bfb ldr r3, [r7, #60] @ 0x3c + 80172ea: 689b ldr r3, [r3, #8] + 80172ec: 6bfa ldr r2, [r7, #60] @ 0x3c + 80172ee: 68d2 ldr r2, [r2, #12] + 80172f0: 609a str r2, [r3, #8] + 80172f2: 6bfb ldr r3, [r7, #60] @ 0x3c + 80172f4: 68db ldr r3, [r3, #12] + 80172f6: 6bfa ldr r2, [r7, #60] @ 0x3c + 80172f8: 6892 ldr r2, [r2, #8] + 80172fa: 605a str r2, [r3, #4] + 80172fc: 6afb ldr r3, [r7, #44] @ 0x2c + 80172fe: 685a ldr r2, [r3, #4] + 8017300: 6bfb ldr r3, [r7, #60] @ 0x3c + 8017302: 3304 adds r3, #4 + 8017304: 429a cmp r2, r3 + 8017306: d103 bne.n 8017310 + 8017308: 6bfb ldr r3, [r7, #60] @ 0x3c + 801730a: 68da ldr r2, [r3, #12] + 801730c: 6afb ldr r3, [r7, #44] @ 0x2c + 801730e: 605a str r2, [r3, #4] + 8017310: 6bfb ldr r3, [r7, #60] @ 0x3c + 8017312: 2200 movs r2, #0 + 8017314: 615a str r2, [r3, #20] + 8017316: 6afb ldr r3, [r7, #44] @ 0x2c + 8017318: 681b ldr r3, [r3, #0] + 801731a: 1e5a subs r2, r3, #1 + 801731c: 6afb ldr r3, [r7, #44] @ 0x2c + 801731e: 601a str r2, [r3, #0] prvAddTaskToReadyList( pxTCB ); - 8016954: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016956: 6ada ldr r2, [r3, #44] @ 0x2c - 8016958: 4b3b ldr r3, [pc, #236] @ (8016a48 ) - 801695a: 681b ldr r3, [r3, #0] - 801695c: 429a cmp r2, r3 - 801695e: d903 bls.n 8016968 - 8016960: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016962: 6adb ldr r3, [r3, #44] @ 0x2c - 8016964: 4a38 ldr r2, [pc, #224] @ (8016a48 ) - 8016966: 6013 str r3, [r2, #0] - 8016968: 6bfb ldr r3, [r7, #60] @ 0x3c - 801696a: 6ada ldr r2, [r3, #44] @ 0x2c - 801696c: 4937 ldr r1, [pc, #220] @ (8016a4c ) - 801696e: 4613 mov r3, r2 - 8016970: 009b lsls r3, r3, #2 - 8016972: 4413 add r3, r2 - 8016974: 009b lsls r3, r3, #2 - 8016976: 440b add r3, r1 - 8016978: 3304 adds r3, #4 - 801697a: 681b ldr r3, [r3, #0] - 801697c: 62bb str r3, [r7, #40] @ 0x28 - 801697e: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016980: 6aba ldr r2, [r7, #40] @ 0x28 - 8016982: 609a str r2, [r3, #8] - 8016984: 6abb ldr r3, [r7, #40] @ 0x28 - 8016986: 689a ldr r2, [r3, #8] - 8016988: 6bfb ldr r3, [r7, #60] @ 0x3c - 801698a: 60da str r2, [r3, #12] - 801698c: 6abb ldr r3, [r7, #40] @ 0x28 - 801698e: 689b ldr r3, [r3, #8] - 8016990: 6bfa ldr r2, [r7, #60] @ 0x3c - 8016992: 3204 adds r2, #4 - 8016994: 605a str r2, [r3, #4] - 8016996: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016998: 1d1a adds r2, r3, #4 - 801699a: 6abb ldr r3, [r7, #40] @ 0x28 - 801699c: 609a str r2, [r3, #8] - 801699e: 6bfb ldr r3, [r7, #60] @ 0x3c - 80169a0: 6ada ldr r2, [r3, #44] @ 0x2c - 80169a2: 4613 mov r3, r2 - 80169a4: 009b lsls r3, r3, #2 - 80169a6: 4413 add r3, r2 - 80169a8: 009b lsls r3, r3, #2 - 80169aa: 4a28 ldr r2, [pc, #160] @ (8016a4c ) - 80169ac: 441a add r2, r3 - 80169ae: 6bfb ldr r3, [r7, #60] @ 0x3c - 80169b0: 615a str r2, [r3, #20] - 80169b2: 6bfb ldr r3, [r7, #60] @ 0x3c - 80169b4: 6ada ldr r2, [r3, #44] @ 0x2c - 80169b6: 4925 ldr r1, [pc, #148] @ (8016a4c ) - 80169b8: 4613 mov r3, r2 - 80169ba: 009b lsls r3, r3, #2 - 80169bc: 4413 add r3, r2 - 80169be: 009b lsls r3, r3, #2 - 80169c0: 440b add r3, r1 - 80169c2: 681b ldr r3, [r3, #0] - 80169c4: 1c59 adds r1, r3, #1 - 80169c6: 4821 ldr r0, [pc, #132] @ (8016a4c ) - 80169c8: 4613 mov r3, r2 - 80169ca: 009b lsls r3, r3, #2 - 80169cc: 4413 add r3, r2 - 80169ce: 009b lsls r3, r3, #2 - 80169d0: 4403 add r3, r0 - 80169d2: 6019 str r1, [r3, #0] - 80169d4: e01b b.n 8016a0e + 8017320: 6bfb ldr r3, [r7, #60] @ 0x3c + 8017322: 6ada ldr r2, [r3, #44] @ 0x2c + 8017324: 4b3b ldr r3, [pc, #236] @ (8017414 ) + 8017326: 681b ldr r3, [r3, #0] + 8017328: 429a cmp r2, r3 + 801732a: d903 bls.n 8017334 + 801732c: 6bfb ldr r3, [r7, #60] @ 0x3c + 801732e: 6adb ldr r3, [r3, #44] @ 0x2c + 8017330: 4a38 ldr r2, [pc, #224] @ (8017414 ) + 8017332: 6013 str r3, [r2, #0] + 8017334: 6bfb ldr r3, [r7, #60] @ 0x3c + 8017336: 6ada ldr r2, [r3, #44] @ 0x2c + 8017338: 4937 ldr r1, [pc, #220] @ (8017418 ) + 801733a: 4613 mov r3, r2 + 801733c: 009b lsls r3, r3, #2 + 801733e: 4413 add r3, r2 + 8017340: 009b lsls r3, r3, #2 + 8017342: 440b add r3, r1 + 8017344: 3304 adds r3, #4 + 8017346: 681b ldr r3, [r3, #0] + 8017348: 62bb str r3, [r7, #40] @ 0x28 + 801734a: 6bfb ldr r3, [r7, #60] @ 0x3c + 801734c: 6aba ldr r2, [r7, #40] @ 0x28 + 801734e: 609a str r2, [r3, #8] + 8017350: 6abb ldr r3, [r7, #40] @ 0x28 + 8017352: 689a ldr r2, [r3, #8] + 8017354: 6bfb ldr r3, [r7, #60] @ 0x3c + 8017356: 60da str r2, [r3, #12] + 8017358: 6abb ldr r3, [r7, #40] @ 0x28 + 801735a: 689b ldr r3, [r3, #8] + 801735c: 6bfa ldr r2, [r7, #60] @ 0x3c + 801735e: 3204 adds r2, #4 + 8017360: 605a str r2, [r3, #4] + 8017362: 6bfb ldr r3, [r7, #60] @ 0x3c + 8017364: 1d1a adds r2, r3, #4 + 8017366: 6abb ldr r3, [r7, #40] @ 0x28 + 8017368: 609a str r2, [r3, #8] + 801736a: 6bfb ldr r3, [r7, #60] @ 0x3c + 801736c: 6ada ldr r2, [r3, #44] @ 0x2c + 801736e: 4613 mov r3, r2 + 8017370: 009b lsls r3, r3, #2 + 8017372: 4413 add r3, r2 + 8017374: 009b lsls r3, r3, #2 + 8017376: 4a28 ldr r2, [pc, #160] @ (8017418 ) + 8017378: 441a add r2, r3 + 801737a: 6bfb ldr r3, [r7, #60] @ 0x3c + 801737c: 615a str r2, [r3, #20] + 801737e: 6bfb ldr r3, [r7, #60] @ 0x3c + 8017380: 6ada ldr r2, [r3, #44] @ 0x2c + 8017382: 4925 ldr r1, [pc, #148] @ (8017418 ) + 8017384: 4613 mov r3, r2 + 8017386: 009b lsls r3, r3, #2 + 8017388: 4413 add r3, r2 + 801738a: 009b lsls r3, r3, #2 + 801738c: 440b add r3, r1 + 801738e: 681b ldr r3, [r3, #0] + 8017390: 1c59 adds r1, r3, #1 + 8017392: 4821 ldr r0, [pc, #132] @ (8017418 ) + 8017394: 4613 mov r3, r2 + 8017396: 009b lsls r3, r3, #2 + 8017398: 4413 add r3, r2 + 801739a: 009b lsls r3, r3, #2 + 801739c: 4403 add r3, r0 + 801739e: 6019 str r1, [r3, #0] + 80173a0: e01b b.n 80173da } else { /* The delayed and ready lists cannot be accessed, so hold * this task pending until the scheduler is resumed. */ listINSERT_END( &( xPendingReadyList ), &( pxTCB->xEventListItem ) ); - 80169d6: 4b1e ldr r3, [pc, #120] @ (8016a50 ) - 80169d8: 685b ldr r3, [r3, #4] - 80169da: 633b str r3, [r7, #48] @ 0x30 - 80169dc: 6bfb ldr r3, [r7, #60] @ 0x3c - 80169de: 6b3a ldr r2, [r7, #48] @ 0x30 - 80169e0: 61da str r2, [r3, #28] - 80169e2: 6b3b ldr r3, [r7, #48] @ 0x30 - 80169e4: 689a ldr r2, [r3, #8] - 80169e6: 6bfb ldr r3, [r7, #60] @ 0x3c - 80169e8: 621a str r2, [r3, #32] - 80169ea: 6b3b ldr r3, [r7, #48] @ 0x30 - 80169ec: 689b ldr r3, [r3, #8] - 80169ee: 6bfa ldr r2, [r7, #60] @ 0x3c - 80169f0: 3218 adds r2, #24 - 80169f2: 605a str r2, [r3, #4] - 80169f4: 6bfb ldr r3, [r7, #60] @ 0x3c - 80169f6: f103 0218 add.w r2, r3, #24 - 80169fa: 6b3b ldr r3, [r7, #48] @ 0x30 - 80169fc: 609a str r2, [r3, #8] - 80169fe: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016a00: 4a13 ldr r2, [pc, #76] @ (8016a50 ) - 8016a02: 629a str r2, [r3, #40] @ 0x28 - 8016a04: 4b12 ldr r3, [pc, #72] @ (8016a50 ) - 8016a06: 681b ldr r3, [r3, #0] - 8016a08: 3301 adds r3, #1 - 8016a0a: 4a11 ldr r2, [pc, #68] @ (8016a50 ) - 8016a0c: 6013 str r3, [r2, #0] + 80173a2: 4b1e ldr r3, [pc, #120] @ (801741c ) + 80173a4: 685b ldr r3, [r3, #4] + 80173a6: 633b str r3, [r7, #48] @ 0x30 + 80173a8: 6bfb ldr r3, [r7, #60] @ 0x3c + 80173aa: 6b3a ldr r2, [r7, #48] @ 0x30 + 80173ac: 61da str r2, [r3, #28] + 80173ae: 6b3b ldr r3, [r7, #48] @ 0x30 + 80173b0: 689a ldr r2, [r3, #8] + 80173b2: 6bfb ldr r3, [r7, #60] @ 0x3c + 80173b4: 621a str r2, [r3, #32] + 80173b6: 6b3b ldr r3, [r7, #48] @ 0x30 + 80173b8: 689b ldr r3, [r3, #8] + 80173ba: 6bfa ldr r2, [r7, #60] @ 0x3c + 80173bc: 3218 adds r2, #24 + 80173be: 605a str r2, [r3, #4] + 80173c0: 6bfb ldr r3, [r7, #60] @ 0x3c + 80173c2: f103 0218 add.w r2, r3, #24 + 80173c6: 6b3b ldr r3, [r7, #48] @ 0x30 + 80173c8: 609a str r2, [r3, #8] + 80173ca: 6bfb ldr r3, [r7, #60] @ 0x3c + 80173cc: 4a13 ldr r2, [pc, #76] @ (801741c ) + 80173ce: 629a str r2, [r3, #40] @ 0x28 + 80173d0: 4b12 ldr r3, [pc, #72] @ (801741c ) + 80173d2: 681b ldr r3, [r3, #0] + 80173d4: 3301 adds r3, #1 + 80173d6: 4a11 ldr r2, [pc, #68] @ (801741c ) + 80173d8: 6013 str r3, [r2, #0] } if( pxTCB->uxPriority > pxCurrentTCB->uxPriority ) - 8016a0e: 6bfb ldr r3, [r7, #60] @ 0x3c - 8016a10: 6ada ldr r2, [r3, #44] @ 0x2c - 8016a12: 4b10 ldr r3, [pc, #64] @ (8016a54 ) - 8016a14: 681b ldr r3, [r3, #0] - 8016a16: 6adb ldr r3, [r3, #44] @ 0x2c - 8016a18: 429a cmp r2, r3 - 8016a1a: d908 bls.n 8016a2e + 80173da: 6bfb ldr r3, [r7, #60] @ 0x3c + 80173dc: 6ada ldr r2, [r3, #44] @ 0x2c + 80173de: 4b10 ldr r3, [pc, #64] @ (8017420 ) + 80173e0: 681b ldr r3, [r3, #0] + 80173e2: 6adb ldr r3, [r3, #44] @ 0x2c + 80173e4: 429a cmp r2, r3 + 80173e6: d908 bls.n 80173fa { /* The notified task has a priority above the currently * executing task so a yield is required. */ if( pxHigherPriorityTaskWoken != NULL ) - 8016a1c: 687b ldr r3, [r7, #4] - 8016a1e: 2b00 cmp r3, #0 - 8016a20: d002 beq.n 8016a28 + 80173e8: 687b ldr r3, [r7, #4] + 80173ea: 2b00 cmp r3, #0 + 80173ec: d002 beq.n 80173f4 { *pxHigherPriorityTaskWoken = pdTRUE; - 8016a22: 687b ldr r3, [r7, #4] - 8016a24: 2201 movs r2, #1 - 8016a26: 601a str r2, [r3, #0] + 80173ee: 687b ldr r3, [r7, #4] + 80173f0: 2201 movs r2, #1 + 80173f2: 601a str r2, [r3, #0] } /* Mark that a yield is pending in case the user is not * using the "xHigherPriorityTaskWoken" parameter in an ISR * safe FreeRTOS function. */ xYieldPending = pdTRUE; - 8016a28: 4b0b ldr r3, [pc, #44] @ (8016a58 ) - 8016a2a: 2201 movs r2, #1 - 8016a2c: 601a str r2, [r3, #0] - 8016a2e: 6bbb ldr r3, [r7, #56] @ 0x38 - 8016a30: 613b str r3, [r7, #16] + 80173f4: 4b0b ldr r3, [pc, #44] @ (8017424 ) + 80173f6: 2201 movs r2, #1 + 80173f8: 601a str r2, [r3, #0] + 80173fa: 6bbb ldr r3, [r7, #56] @ 0x38 + 80173fc: 613b str r3, [r7, #16] __asm volatile - 8016a32: 693b ldr r3, [r7, #16] - 8016a34: f383 8811 msr BASEPRI, r3 + 80173fe: 693b ldr r3, [r7, #16] + 8017400: f383 8811 msr BASEPRI, r3 } - 8016a38: bf00 nop + 8017404: bf00 nop mtCOVERAGE_TEST_MARKER(); } } } portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ); } - 8016a3a: bf00 nop - 8016a3c: 3740 adds r7, #64 @ 0x40 - 8016a3e: 46bd mov sp, r7 - 8016a40: bd80 pop {r7, pc} - 8016a42: bf00 nop - 8016a44: 200025c4 .word 0x200025c4 - 8016a48: 200025a4 .word 0x200025a4 - 8016a4c: 200020cc .word 0x200020cc - 8016a50: 2000255c .word 0x2000255c - 8016a54: 200020c8 .word 0x200020c8 - 8016a58: 200025b0 .word 0x200025b0 + 8017406: bf00 nop + 8017408: 3740 adds r7, #64 @ 0x40 + 801740a: 46bd mov sp, r7 + 801740c: bd80 pop {r7, pc} + 801740e: bf00 nop + 8017410: 20002664 .word 0x20002664 + 8017414: 20002644 .word 0x20002644 + 8017418: 2000216c .word 0x2000216c + 801741c: 200025fc .word 0x200025fc + 8017420: 20002168 .word 0x20002168 + 8017424: 20002650 .word 0x20002650 -08016a5c : +08017428 : #endif /*-----------------------------------------------------------*/ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely ) { - 8016a5c: b580 push {r7, lr} - 8016a5e: b086 sub sp, #24 - 8016a60: af00 add r7, sp, #0 - 8016a62: 6078 str r0, [r7, #4] - 8016a64: 6039 str r1, [r7, #0] + 8017428: b580 push {r7, lr} + 801742a: b086 sub sp, #24 + 801742c: af00 add r7, sp, #0 + 801742e: 6078 str r0, [r7, #4] + 8017430: 6039 str r1, [r7, #0] TickType_t xTimeToWake; const TickType_t xConstTickCount = xTickCount; - 8016a66: 4b2e ldr r3, [pc, #184] @ (8016b20 ) - 8016a68: 681b ldr r3, [r3, #0] - 8016a6a: 617b str r3, [r7, #20] + 8017432: 4b2e ldr r3, [pc, #184] @ (80174ec ) + 8017434: 681b ldr r3, [r3, #0] + 8017436: 617b str r3, [r7, #20] } #endif /* Remove the task from the ready list before adding it to the blocked list * as the same list item is used for both lists. */ if( uxListRemove( &( pxCurrentTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 8016a6c: 4b2d ldr r3, [pc, #180] @ (8016b24 ) - 8016a6e: 681b ldr r3, [r3, #0] - 8016a70: 3304 adds r3, #4 - 8016a72: 4618 mov r0, r3 - 8016a74: f7fc fffc bl 8013a70 + 8017438: 4b2d ldr r3, [pc, #180] @ (80174f0 ) + 801743a: 681b ldr r3, [r3, #0] + 801743c: 3304 adds r3, #4 + 801743e: 4618 mov r0, r3 + 8017440: f7fc fffa bl 8014438 mtCOVERAGE_TEST_MARKER(); } #if ( INCLUDE_vTaskSuspend == 1 ) { if( ( xTicksToWait == portMAX_DELAY ) && ( xCanBlockIndefinitely != pdFALSE ) ) - 8016a78: 687b ldr r3, [r7, #4] - 8016a7a: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8016a7e: d124 bne.n 8016aca - 8016a80: 683b ldr r3, [r7, #0] - 8016a82: 2b00 cmp r3, #0 - 8016a84: d021 beq.n 8016aca + 8017444: 687b ldr r3, [r7, #4] + 8017446: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 801744a: d124 bne.n 8017496 + 801744c: 683b ldr r3, [r7, #0] + 801744e: 2b00 cmp r3, #0 + 8017450: d021 beq.n 8017496 { /* Add the task to the suspended task list instead of a delayed task * list to ensure it is not woken by a timing event. It will block * indefinitely. */ listINSERT_END( &xSuspendedTaskList, &( pxCurrentTCB->xStateListItem ) ); - 8016a86: 4b28 ldr r3, [pc, #160] @ (8016b28 ) - 8016a88: 685b ldr r3, [r3, #4] - 8016a8a: 613b str r3, [r7, #16] - 8016a8c: 4b25 ldr r3, [pc, #148] @ (8016b24 ) - 8016a8e: 681b ldr r3, [r3, #0] - 8016a90: 693a ldr r2, [r7, #16] - 8016a92: 609a str r2, [r3, #8] - 8016a94: 4b23 ldr r3, [pc, #140] @ (8016b24 ) - 8016a96: 681b ldr r3, [r3, #0] - 8016a98: 693a ldr r2, [r7, #16] - 8016a9a: 6892 ldr r2, [r2, #8] - 8016a9c: 60da str r2, [r3, #12] - 8016a9e: 4b21 ldr r3, [pc, #132] @ (8016b24 ) - 8016aa0: 681a ldr r2, [r3, #0] - 8016aa2: 693b ldr r3, [r7, #16] - 8016aa4: 689b ldr r3, [r3, #8] - 8016aa6: 3204 adds r2, #4 - 8016aa8: 605a str r2, [r3, #4] - 8016aaa: 4b1e ldr r3, [pc, #120] @ (8016b24 ) - 8016aac: 681b ldr r3, [r3, #0] - 8016aae: 1d1a adds r2, r3, #4 - 8016ab0: 693b ldr r3, [r7, #16] - 8016ab2: 609a str r2, [r3, #8] - 8016ab4: 4b1b ldr r3, [pc, #108] @ (8016b24 ) - 8016ab6: 681b ldr r3, [r3, #0] - 8016ab8: 4a1b ldr r2, [pc, #108] @ (8016b28 ) - 8016aba: 615a str r2, [r3, #20] - 8016abc: 4b1a ldr r3, [pc, #104] @ (8016b28 ) - 8016abe: 681b ldr r3, [r3, #0] - 8016ac0: 3301 adds r3, #1 - 8016ac2: 4a19 ldr r2, [pc, #100] @ (8016b28 ) - 8016ac4: 6013 str r3, [r2, #0] - 8016ac6: bf00 nop + 8017452: 4b28 ldr r3, [pc, #160] @ (80174f4 ) + 8017454: 685b ldr r3, [r3, #4] + 8017456: 613b str r3, [r7, #16] + 8017458: 4b25 ldr r3, [pc, #148] @ (80174f0 ) + 801745a: 681b ldr r3, [r3, #0] + 801745c: 693a ldr r2, [r7, #16] + 801745e: 609a str r2, [r3, #8] + 8017460: 4b23 ldr r3, [pc, #140] @ (80174f0 ) + 8017462: 681b ldr r3, [r3, #0] + 8017464: 693a ldr r2, [r7, #16] + 8017466: 6892 ldr r2, [r2, #8] + 8017468: 60da str r2, [r3, #12] + 801746a: 4b21 ldr r3, [pc, #132] @ (80174f0 ) + 801746c: 681a ldr r2, [r3, #0] + 801746e: 693b ldr r3, [r7, #16] + 8017470: 689b ldr r3, [r3, #8] + 8017472: 3204 adds r2, #4 + 8017474: 605a str r2, [r3, #4] + 8017476: 4b1e ldr r3, [pc, #120] @ (80174f0 ) + 8017478: 681b ldr r3, [r3, #0] + 801747a: 1d1a adds r2, r3, #4 + 801747c: 693b ldr r3, [r7, #16] + 801747e: 609a str r2, [r3, #8] + 8017480: 4b1b ldr r3, [pc, #108] @ (80174f0 ) + 8017482: 681b ldr r3, [r3, #0] + 8017484: 4a1b ldr r2, [pc, #108] @ (80174f4 ) + 8017486: 615a str r2, [r3, #20] + 8017488: 4b1a ldr r3, [pc, #104] @ (80174f4 ) + 801748a: 681b ldr r3, [r3, #0] + 801748c: 3301 adds r3, #1 + 801748e: 4a19 ldr r2, [pc, #100] @ (80174f4 ) + 8017490: 6013 str r3, [r2, #0] + 8017492: bf00 nop /* Avoid compiler warning when INCLUDE_vTaskSuspend is not 1. */ ( void ) xCanBlockIndefinitely; } #endif /* INCLUDE_vTaskSuspend */ } - 8016ac8: e026 b.n 8016b18 + 8017494: e026 b.n 80174e4 xTimeToWake = xConstTickCount + xTicksToWait; - 8016aca: 697a ldr r2, [r7, #20] - 8016acc: 687b ldr r3, [r7, #4] - 8016ace: 4413 add r3, r2 - 8016ad0: 60fb str r3, [r7, #12] + 8017496: 697a ldr r2, [r7, #20] + 8017498: 687b ldr r3, [r7, #4] + 801749a: 4413 add r3, r2 + 801749c: 60fb str r3, [r7, #12] listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xStateListItem ), xTimeToWake ); - 8016ad2: 4b14 ldr r3, [pc, #80] @ (8016b24 ) - 8016ad4: 681b ldr r3, [r3, #0] - 8016ad6: 68fa ldr r2, [r7, #12] - 8016ad8: 605a str r2, [r3, #4] + 801749e: 4b14 ldr r3, [pc, #80] @ (80174f0 ) + 80174a0: 681b ldr r3, [r3, #0] + 80174a2: 68fa ldr r2, [r7, #12] + 80174a4: 605a str r2, [r3, #4] if( xTimeToWake < xConstTickCount ) - 8016ada: 68fa ldr r2, [r7, #12] - 8016adc: 697b ldr r3, [r7, #20] - 8016ade: 429a cmp r2, r3 - 8016ae0: d209 bcs.n 8016af6 + 80174a6: 68fa ldr r2, [r7, #12] + 80174a8: 697b ldr r3, [r7, #20] + 80174aa: 429a cmp r2, r3 + 80174ac: d209 bcs.n 80174c2 vListInsert( pxOverflowDelayedTaskList, &( pxCurrentTCB->xStateListItem ) ); - 8016ae2: 4b12 ldr r3, [pc, #72] @ (8016b2c ) - 8016ae4: 681a ldr r2, [r3, #0] - 8016ae6: 4b0f ldr r3, [pc, #60] @ (8016b24 ) - 8016ae8: 681b ldr r3, [r3, #0] - 8016aea: 3304 adds r3, #4 - 8016aec: 4619 mov r1, r3 - 8016aee: 4610 mov r0, r2 - 8016af0: f7fc ff85 bl 80139fe + 80174ae: 4b12 ldr r3, [pc, #72] @ (80174f8 ) + 80174b0: 681a ldr r2, [r3, #0] + 80174b2: 4b0f ldr r3, [pc, #60] @ (80174f0 ) + 80174b4: 681b ldr r3, [r3, #0] + 80174b6: 3304 adds r3, #4 + 80174b8: 4619 mov r1, r3 + 80174ba: 4610 mov r0, r2 + 80174bc: f7fc ff83 bl 80143c6 } - 8016af4: e010 b.n 8016b18 + 80174c0: e010 b.n 80174e4 vListInsert( pxDelayedTaskList, &( pxCurrentTCB->xStateListItem ) ); - 8016af6: 4b0e ldr r3, [pc, #56] @ (8016b30 ) - 8016af8: 681a ldr r2, [r3, #0] - 8016afa: 4b0a ldr r3, [pc, #40] @ (8016b24 ) - 8016afc: 681b ldr r3, [r3, #0] - 8016afe: 3304 adds r3, #4 - 8016b00: 4619 mov r1, r3 - 8016b02: 4610 mov r0, r2 - 8016b04: f7fc ff7b bl 80139fe + 80174c2: 4b0e ldr r3, [pc, #56] @ (80174fc ) + 80174c4: 681a ldr r2, [r3, #0] + 80174c6: 4b0a ldr r3, [pc, #40] @ (80174f0 ) + 80174c8: 681b ldr r3, [r3, #0] + 80174ca: 3304 adds r3, #4 + 80174cc: 4619 mov r1, r3 + 80174ce: 4610 mov r0, r2 + 80174d0: f7fc ff79 bl 80143c6 if( xTimeToWake < xNextTaskUnblockTime ) - 8016b08: 4b0a ldr r3, [pc, #40] @ (8016b34 ) - 8016b0a: 681b ldr r3, [r3, #0] - 8016b0c: 68fa ldr r2, [r7, #12] - 8016b0e: 429a cmp r2, r3 - 8016b10: d202 bcs.n 8016b18 + 80174d4: 4b0a ldr r3, [pc, #40] @ (8017500 ) + 80174d6: 681b ldr r3, [r3, #0] + 80174d8: 68fa ldr r2, [r7, #12] + 80174da: 429a cmp r2, r3 + 80174dc: d202 bcs.n 80174e4 xNextTaskUnblockTime = xTimeToWake; - 8016b12: 4a08 ldr r2, [pc, #32] @ (8016b34 ) - 8016b14: 68fb ldr r3, [r7, #12] - 8016b16: 6013 str r3, [r2, #0] + 80174de: 4a08 ldr r2, [pc, #32] @ (8017500 ) + 80174e0: 68fb ldr r3, [r7, #12] + 80174e2: 6013 str r3, [r2, #0] } - 8016b18: bf00 nop - 8016b1a: 3718 adds r7, #24 - 8016b1c: 46bd mov sp, r7 - 8016b1e: bd80 pop {r7, pc} - 8016b20: 200025a0 .word 0x200025a0 - 8016b24: 200020c8 .word 0x200020c8 - 8016b28: 20002588 .word 0x20002588 - 8016b2c: 20002558 .word 0x20002558 - 8016b30: 20002554 .word 0x20002554 - 8016b34: 200025bc .word 0x200025bc + 80174e4: bf00 nop + 80174e6: 3718 adds r7, #24 + 80174e8: 46bd mov sp, r7 + 80174ea: bd80 pop {r7, pc} + 80174ec: 20002640 .word 0x20002640 + 80174f0: 20002168 .word 0x20002168 + 80174f4: 20002628 .word 0x20002628 + 80174f8: 200025f8 .word 0x200025f8 + 80174fc: 200025f4 .word 0x200025f4 + 8017500: 2000265c .word 0x2000265c -08016b38 : +08017504 : TimerCallbackFunction_t pxCallbackFunction, Timer_t * pxNewTimer ) PRIVILEGED_FUNCTION; /*-----------------------------------------------------------*/ BaseType_t xTimerCreateTimerTask( void ) { - 8016b38: b580 push {r7, lr} - 8016b3a: b08a sub sp, #40 @ 0x28 - 8016b3c: af04 add r7, sp, #16 + 8017504: b580 push {r7, lr} + 8017506: b08a sub sp, #40 @ 0x28 + 8017508: af04 add r7, sp, #16 BaseType_t xReturn = pdFAIL; - 8016b3e: 2300 movs r3, #0 - 8016b40: 617b str r3, [r7, #20] + 801750a: 2300 movs r3, #0 + 801750c: 617b str r3, [r7, #20] /* This function is called when the scheduler is started if * configUSE_TIMERS is set to 1. Check that the infrastructure used by the * timer service task has been created/initialised. If timers have already * been created then the initialisation will already have been performed. */ prvCheckForValidListAndQueue(); - 8016b42: f000 fa81 bl 8017048 + 801750e: f000 fa81 bl 8017a14 if( xTimerQueue != NULL ) - 8016b46: 4b1d ldr r3, [pc, #116] @ (8016bbc ) - 8016b48: 681b ldr r3, [r3, #0] - 8016b4a: 2b00 cmp r3, #0 - 8016b4c: d021 beq.n 8016b92 + 8017512: 4b1d ldr r3, [pc, #116] @ (8017588 ) + 8017514: 681b ldr r3, [r3, #0] + 8017516: 2b00 cmp r3, #0 + 8017518: d021 beq.n 801755e { #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) { StaticTask_t * pxTimerTaskTCBBuffer = NULL; - 8016b4e: 2300 movs r3, #0 - 8016b50: 60fb str r3, [r7, #12] + 801751a: 2300 movs r3, #0 + 801751c: 60fb str r3, [r7, #12] StackType_t * pxTimerTaskStackBuffer = NULL; - 8016b52: 2300 movs r3, #0 - 8016b54: 60bb str r3, [r7, #8] + 801751e: 2300 movs r3, #0 + 8017520: 60bb str r3, [r7, #8] uint32_t ulTimerTaskStackSize; vApplicationGetTimerTaskMemory( &pxTimerTaskTCBBuffer, &pxTimerTaskStackBuffer, &ulTimerTaskStackSize ); - 8016b56: 1d3a adds r2, r7, #4 - 8016b58: f107 0108 add.w r1, r7, #8 - 8016b5c: f107 030c add.w r3, r7, #12 - 8016b60: 4618 mov r0, r3 - 8016b62: f7fc ff05 bl 8013970 + 8017522: 1d3a adds r2, r7, #4 + 8017524: f107 0108 add.w r1, r7, #8 + 8017528: f107 030c add.w r3, r7, #12 + 801752c: 4618 mov r0, r3 + 801752e: f7fc ff03 bl 8014338 xTimerTaskHandle = xTaskCreateStatic( prvTimerTask, - 8016b66: 6879 ldr r1, [r7, #4] - 8016b68: 68bb ldr r3, [r7, #8] - 8016b6a: 68fa ldr r2, [r7, #12] - 8016b6c: 9202 str r2, [sp, #8] - 8016b6e: 9301 str r3, [sp, #4] - 8016b70: 2302 movs r3, #2 - 8016b72: 9300 str r3, [sp, #0] - 8016b74: 2300 movs r3, #0 - 8016b76: 460a mov r2, r1 - 8016b78: 4911 ldr r1, [pc, #68] @ (8016bc0 ) - 8016b7a: 4812 ldr r0, [pc, #72] @ (8016bc4 ) - 8016b7c: f7fe f90c bl 8014d98 - 8016b80: 4603 mov r3, r0 - 8016b82: 4a11 ldr r2, [pc, #68] @ (8016bc8 ) - 8016b84: 6013 str r3, [r2, #0] + 8017532: 6879 ldr r1, [r7, #4] + 8017534: 68bb ldr r3, [r7, #8] + 8017536: 68fa ldr r2, [r7, #12] + 8017538: 9202 str r2, [sp, #8] + 801753a: 9301 str r3, [sp, #4] + 801753c: 2302 movs r3, #2 + 801753e: 9300 str r3, [sp, #0] + 8017540: 2300 movs r3, #0 + 8017542: 460a mov r2, r1 + 8017544: 4911 ldr r1, [pc, #68] @ (801758c ) + 8017546: 4812 ldr r0, [pc, #72] @ (8017590 ) + 8017548: f7fe f90a bl 8015760 + 801754c: 4603 mov r3, r0 + 801754e: 4a11 ldr r2, [pc, #68] @ (8017594 ) + 8017550: 6013 str r3, [r2, #0] NULL, ( ( UBaseType_t ) configTIMER_TASK_PRIORITY ) | portPRIVILEGE_BIT, pxTimerTaskStackBuffer, pxTimerTaskTCBBuffer ); if( xTimerTaskHandle != NULL ) - 8016b86: 4b10 ldr r3, [pc, #64] @ (8016bc8 ) - 8016b88: 681b ldr r3, [r3, #0] - 8016b8a: 2b00 cmp r3, #0 - 8016b8c: d001 beq.n 8016b92 + 8017552: 4b10 ldr r3, [pc, #64] @ (8017594 ) + 8017554: 681b ldr r3, [r3, #0] + 8017556: 2b00 cmp r3, #0 + 8017558: d001 beq.n 801755e { xReturn = pdPASS; - 8016b8e: 2301 movs r3, #1 - 8016b90: 617b str r3, [r7, #20] + 801755a: 2301 movs r3, #1 + 801755c: 617b str r3, [r7, #20] else { mtCOVERAGE_TEST_MARKER(); } configASSERT( xReturn ); - 8016b92: 697b ldr r3, [r7, #20] - 8016b94: 2b00 cmp r3, #0 - 8016b96: d10b bne.n 8016bb0 + 801755e: 697b ldr r3, [r7, #20] + 8017560: 2b00 cmp r3, #0 + 8017562: d10b bne.n 801757c __asm volatile - 8016b98: f04f 0350 mov.w r3, #80 @ 0x50 - 8016b9c: f383 8811 msr BASEPRI, r3 - 8016ba0: f3bf 8f6f isb sy - 8016ba4: f3bf 8f4f dsb sy - 8016ba8: 613b str r3, [r7, #16] + 8017564: f04f 0350 mov.w r3, #80 @ 0x50 + 8017568: f383 8811 msr BASEPRI, r3 + 801756c: f3bf 8f6f isb sy + 8017570: f3bf 8f4f dsb sy + 8017574: 613b str r3, [r7, #16] } - 8016baa: bf00 nop - 8016bac: bf00 nop - 8016bae: e7fd b.n 8016bac + 8017576: bf00 nop + 8017578: bf00 nop + 801757a: e7fd b.n 8017578 return xReturn; - 8016bb0: 697b ldr r3, [r7, #20] + 801757c: 697b ldr r3, [r7, #20] } - 8016bb2: 4618 mov r0, r3 - 8016bb4: 3718 adds r7, #24 - 8016bb6: 46bd mov sp, r7 - 8016bb8: bd80 pop {r7, pc} - 8016bba: bf00 nop - 8016bbc: 200025f8 .word 0x200025f8 - 8016bc0: 0801d9c4 .word 0x0801d9c4 - 8016bc4: 08016c71 .word 0x08016c71 - 8016bc8: 200025fc .word 0x200025fc + 801757e: 4618 mov r0, r3 + 8017580: 3718 adds r7, #24 + 8017582: 46bd mov sp, r7 + 8017584: bd80 pop {r7, pc} + 8017586: bf00 nop + 8017588: 20002698 .word 0x20002698 + 801758c: 0801e324 .word 0x0801e324 + 8017590: 0801763d .word 0x0801763d + 8017594: 2000269c .word 0x2000269c -08016bcc : +08017598 : /*-----------------------------------------------------------*/ static void prvReloadTimer( Timer_t * const pxTimer, TickType_t xExpiredTime, const TickType_t xTimeNow ) { - 8016bcc: b580 push {r7, lr} - 8016bce: b084 sub sp, #16 - 8016bd0: af00 add r7, sp, #0 - 8016bd2: 60f8 str r0, [r7, #12] - 8016bd4: 60b9 str r1, [r7, #8] - 8016bd6: 607a str r2, [r7, #4] + 8017598: b580 push {r7, lr} + 801759a: b084 sub sp, #16 + 801759c: af00 add r7, sp, #0 + 801759e: 60f8 str r0, [r7, #12] + 80175a0: 60b9 str r1, [r7, #8] + 80175a2: 607a str r2, [r7, #4] /* Insert the timer into the appropriate list for the next expiry time. * If the next expiry time has already passed, advance the expiry time, * call the callback function, and try again. */ while( prvInsertTimerInActiveList( pxTimer, ( xExpiredTime + pxTimer->xTimerPeriodInTicks ), xTimeNow, xExpiredTime ) != pdFALSE ) - 8016bd8: e008 b.n 8016bec + 80175a4: e008 b.n 80175b8 { /* Advance the expiry time. */ xExpiredTime += pxTimer->xTimerPeriodInTicks; - 8016bda: 68fb ldr r3, [r7, #12] - 8016bdc: 699b ldr r3, [r3, #24] - 8016bde: 68ba ldr r2, [r7, #8] - 8016be0: 4413 add r3, r2 - 8016be2: 60bb str r3, [r7, #8] + 80175a6: 68fb ldr r3, [r7, #12] + 80175a8: 699b ldr r3, [r3, #24] + 80175aa: 68ba ldr r2, [r7, #8] + 80175ac: 4413 add r3, r2 + 80175ae: 60bb str r3, [r7, #8] /* Call the timer callback. */ traceTIMER_EXPIRED( pxTimer ); pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); - 8016be4: 68fb ldr r3, [r7, #12] - 8016be6: 6a1b ldr r3, [r3, #32] - 8016be8: 68f8 ldr r0, [r7, #12] - 8016bea: 4798 blx r3 + 80175b0: 68fb ldr r3, [r7, #12] + 80175b2: 6a1b ldr r3, [r3, #32] + 80175b4: 68f8 ldr r0, [r7, #12] + 80175b6: 4798 blx r3 while( prvInsertTimerInActiveList( pxTimer, ( xExpiredTime + pxTimer->xTimerPeriodInTicks ), xTimeNow, xExpiredTime ) != pdFALSE ) - 8016bec: 68fb ldr r3, [r7, #12] - 8016bee: 699a ldr r2, [r3, #24] - 8016bf0: 68bb ldr r3, [r7, #8] - 8016bf2: 18d1 adds r1, r2, r3 - 8016bf4: 68bb ldr r3, [r7, #8] - 8016bf6: 687a ldr r2, [r7, #4] - 8016bf8: 68f8 ldr r0, [r7, #12] - 8016bfa: f000 f8df bl 8016dbc - 8016bfe: 4603 mov r3, r0 - 8016c00: 2b00 cmp r3, #0 - 8016c02: d1ea bne.n 8016bda + 80175b8: 68fb ldr r3, [r7, #12] + 80175ba: 699a ldr r2, [r3, #24] + 80175bc: 68bb ldr r3, [r7, #8] + 80175be: 18d1 adds r1, r2, r3 + 80175c0: 68bb ldr r3, [r7, #8] + 80175c2: 687a ldr r2, [r7, #4] + 80175c4: 68f8 ldr r0, [r7, #12] + 80175c6: f000 f8df bl 8017788 + 80175ca: 4603 mov r3, r0 + 80175cc: 2b00 cmp r3, #0 + 80175ce: d1ea bne.n 80175a6 } } - 8016c04: bf00 nop - 8016c06: bf00 nop - 8016c08: 3710 adds r7, #16 - 8016c0a: 46bd mov sp, r7 - 8016c0c: bd80 pop {r7, pc} + 80175d0: bf00 nop + 80175d2: bf00 nop + 80175d4: 3710 adds r7, #16 + 80175d6: 46bd mov sp, r7 + 80175d8: bd80 pop {r7, pc} ... -08016c10 : +080175dc : /*-----------------------------------------------------------*/ static void prvProcessExpiredTimer( const TickType_t xNextExpireTime, const TickType_t xTimeNow ) { - 8016c10: b580 push {r7, lr} - 8016c12: b084 sub sp, #16 - 8016c14: af00 add r7, sp, #0 - 8016c16: 6078 str r0, [r7, #4] - 8016c18: 6039 str r1, [r7, #0] + 80175dc: b580 push {r7, lr} + 80175de: b084 sub sp, #16 + 80175e0: af00 add r7, sp, #0 + 80175e2: 6078 str r0, [r7, #4] + 80175e4: 6039 str r1, [r7, #0] Timer_t * const pxTimer = ( Timer_t * ) listGET_OWNER_OF_HEAD_ENTRY( pxCurrentTimerList ); /*lint !e9087 !e9079 void * is used as this macro is used with tasks and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 8016c1a: 4b14 ldr r3, [pc, #80] @ (8016c6c ) - 8016c1c: 681b ldr r3, [r3, #0] - 8016c1e: 68db ldr r3, [r3, #12] - 8016c20: 68db ldr r3, [r3, #12] - 8016c22: 60fb str r3, [r7, #12] + 80175e6: 4b14 ldr r3, [pc, #80] @ (8017638 ) + 80175e8: 681b ldr r3, [r3, #0] + 80175ea: 68db ldr r3, [r3, #12] + 80175ec: 68db ldr r3, [r3, #12] + 80175ee: 60fb str r3, [r7, #12] /* Remove the timer from the list of active timers. A check has already * been performed to ensure the list is not empty. */ ( void ) uxListRemove( &( pxTimer->xTimerListItem ) ); - 8016c24: 68fb ldr r3, [r7, #12] - 8016c26: 3304 adds r3, #4 - 8016c28: 4618 mov r0, r3 - 8016c2a: f7fc ff21 bl 8013a70 + 80175f0: 68fb ldr r3, [r7, #12] + 80175f2: 3304 adds r3, #4 + 80175f4: 4618 mov r0, r3 + 80175f6: f7fc ff1f bl 8014438 /* If the timer is an auto-reload timer then calculate the next * expiry time and re-insert the timer in the list of active timers. */ if( ( pxTimer->ucStatus & tmrSTATUS_IS_AUTORELOAD ) != 0 ) - 8016c2e: 68fb ldr r3, [r7, #12] - 8016c30: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016c34: f003 0304 and.w r3, r3, #4 - 8016c38: 2b00 cmp r3, #0 - 8016c3a: d005 beq.n 8016c48 + 80175fa: 68fb ldr r3, [r7, #12] + 80175fc: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 8017600: f003 0304 and.w r3, r3, #4 + 8017604: 2b00 cmp r3, #0 + 8017606: d005 beq.n 8017614 { prvReloadTimer( pxTimer, xNextExpireTime, xTimeNow ); - 8016c3c: 683a ldr r2, [r7, #0] - 8016c3e: 6879 ldr r1, [r7, #4] - 8016c40: 68f8 ldr r0, [r7, #12] - 8016c42: f7ff ffc3 bl 8016bcc - 8016c46: e008 b.n 8016c5a + 8017608: 683a ldr r2, [r7, #0] + 801760a: 6879 ldr r1, [r7, #4] + 801760c: 68f8 ldr r0, [r7, #12] + 801760e: f7ff ffc3 bl 8017598 + 8017612: e008 b.n 8017626 } else { pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); - 8016c48: 68fb ldr r3, [r7, #12] - 8016c4a: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016c4e: f023 0301 bic.w r3, r3, #1 - 8016c52: b2da uxtb r2, r3 - 8016c54: 68fb ldr r3, [r7, #12] - 8016c56: f883 2028 strb.w r2, [r3, #40] @ 0x28 + 8017614: 68fb ldr r3, [r7, #12] + 8017616: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 801761a: f023 0301 bic.w r3, r3, #1 + 801761e: b2da uxtb r2, r3 + 8017620: 68fb ldr r3, [r7, #12] + 8017622: f883 2028 strb.w r2, [r3, #40] @ 0x28 } /* Call the timer callback. */ traceTIMER_EXPIRED( pxTimer ); pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); - 8016c5a: 68fb ldr r3, [r7, #12] - 8016c5c: 6a1b ldr r3, [r3, #32] - 8016c5e: 68f8 ldr r0, [r7, #12] - 8016c60: 4798 blx r3 + 8017626: 68fb ldr r3, [r7, #12] + 8017628: 6a1b ldr r3, [r3, #32] + 801762a: 68f8 ldr r0, [r7, #12] + 801762c: 4798 blx r3 } - 8016c62: bf00 nop - 8016c64: 3710 adds r7, #16 - 8016c66: 46bd mov sp, r7 - 8016c68: bd80 pop {r7, pc} - 8016c6a: bf00 nop - 8016c6c: 200025f0 .word 0x200025f0 + 801762e: bf00 nop + 8017630: 3710 adds r7, #16 + 8017632: 46bd mov sp, r7 + 8017634: bd80 pop {r7, pc} + 8017636: bf00 nop + 8017638: 20002690 .word 0x20002690 -08016c70 : +0801763c : /*-----------------------------------------------------------*/ static portTASK_FUNCTION( prvTimerTask, pvParameters ) { - 8016c70: b580 push {r7, lr} - 8016c72: b084 sub sp, #16 - 8016c74: af00 add r7, sp, #0 - 8016c76: 6078 str r0, [r7, #4] + 801763c: b580 push {r7, lr} + 801763e: b084 sub sp, #16 + 8017640: af00 add r7, sp, #0 + 8017642: 6078 str r0, [r7, #4] for( ; ; ) { /* Query the timers list to see if it contains any timers, and if so, * obtain the time at which the next timer will expire. */ xNextExpireTime = prvGetNextExpireTime( &xListWasEmpty ); - 8016c78: f107 0308 add.w r3, r7, #8 - 8016c7c: 4618 mov r0, r3 - 8016c7e: f000 f859 bl 8016d34 - 8016c82: 60f8 str r0, [r7, #12] + 8017644: f107 0308 add.w r3, r7, #8 + 8017648: 4618 mov r0, r3 + 801764a: f000 f859 bl 8017700 + 801764e: 60f8 str r0, [r7, #12] /* If a timer has expired, process it. Otherwise, block this task * until either a timer does expire, or a command is received. */ prvProcessTimerOrBlockTask( xNextExpireTime, xListWasEmpty ); - 8016c84: 68bb ldr r3, [r7, #8] - 8016c86: 4619 mov r1, r3 - 8016c88: 68f8 ldr r0, [r7, #12] - 8016c8a: f000 f805 bl 8016c98 + 8017650: 68bb ldr r3, [r7, #8] + 8017652: 4619 mov r1, r3 + 8017654: 68f8 ldr r0, [r7, #12] + 8017656: f000 f805 bl 8017664 /* Empty the command queue. */ prvProcessReceivedCommands(); - 8016c8e: f000 f8d7 bl 8016e40 + 801765a: f000 f8d7 bl 801780c xNextExpireTime = prvGetNextExpireTime( &xListWasEmpty ); - 8016c92: bf00 nop - 8016c94: e7f0 b.n 8016c78 + 801765e: bf00 nop + 8017660: e7f0 b.n 8017644 ... -08016c98 : +08017664 : } /*-----------------------------------------------------------*/ static void prvProcessTimerOrBlockTask( const TickType_t xNextExpireTime, BaseType_t xListWasEmpty ) { - 8016c98: b580 push {r7, lr} - 8016c9a: b084 sub sp, #16 - 8016c9c: af00 add r7, sp, #0 - 8016c9e: 6078 str r0, [r7, #4] - 8016ca0: 6039 str r1, [r7, #0] + 8017664: b580 push {r7, lr} + 8017666: b084 sub sp, #16 + 8017668: af00 add r7, sp, #0 + 801766a: 6078 str r0, [r7, #4] + 801766c: 6039 str r1, [r7, #0] TickType_t xTimeNow; BaseType_t xTimerListsWereSwitched; vTaskSuspendAll(); - 8016ca2: f7fe faf3 bl 801528c + 801766e: f7fe fad9 bl 8015c24 /* Obtain the time now to make an assessment as to whether the timer * has expired or not. If obtaining the time causes the lists to switch * then don't process this timer as any timers that remained in the list * when the lists were switched will have been processed within the * prvSampleTimeNow() function. */ xTimeNow = prvSampleTimeNow( &xTimerListsWereSwitched ); - 8016ca6: f107 0308 add.w r3, r7, #8 - 8016caa: 4618 mov r0, r3 - 8016cac: f000 f866 bl 8016d7c - 8016cb0: 60f8 str r0, [r7, #12] + 8017672: f107 0308 add.w r3, r7, #8 + 8017676: 4618 mov r0, r3 + 8017678: f000 f866 bl 8017748 + 801767c: 60f8 str r0, [r7, #12] if( xTimerListsWereSwitched == pdFALSE ) - 8016cb2: 68bb ldr r3, [r7, #8] - 8016cb4: 2b00 cmp r3, #0 - 8016cb6: d130 bne.n 8016d1a + 801767e: 68bb ldr r3, [r7, #8] + 8017680: 2b00 cmp r3, #0 + 8017682: d130 bne.n 80176e6 { /* The tick count has not overflowed, has the timer expired? */ if( ( xListWasEmpty == pdFALSE ) && ( xNextExpireTime <= xTimeNow ) ) - 8016cb8: 683b ldr r3, [r7, #0] - 8016cba: 2b00 cmp r3, #0 - 8016cbc: d10a bne.n 8016cd4 - 8016cbe: 687a ldr r2, [r7, #4] - 8016cc0: 68fb ldr r3, [r7, #12] - 8016cc2: 429a cmp r2, r3 - 8016cc4: d806 bhi.n 8016cd4 + 8017684: 683b ldr r3, [r7, #0] + 8017686: 2b00 cmp r3, #0 + 8017688: d10a bne.n 80176a0 + 801768a: 687a ldr r2, [r7, #4] + 801768c: 68fb ldr r3, [r7, #12] + 801768e: 429a cmp r2, r3 + 8017690: d806 bhi.n 80176a0 { ( void ) xTaskResumeAll(); - 8016cc6: f7fe faef bl 80152a8 + 8017692: f7fe fad5 bl 8015c40 prvProcessExpiredTimer( xNextExpireTime, xTimeNow ); - 8016cca: 68f9 ldr r1, [r7, #12] - 8016ccc: 6878 ldr r0, [r7, #4] - 8016cce: f7ff ff9f bl 8016c10 + 8017696: 68f9 ldr r1, [r7, #12] + 8017698: 6878 ldr r0, [r7, #4] + 801769a: f7ff ff9f bl 80175dc else { ( void ) xTaskResumeAll(); } } } - 8016cd2: e024 b.n 8016d1e + 801769e: e024 b.n 80176ea if( xListWasEmpty != pdFALSE ) - 8016cd4: 683b ldr r3, [r7, #0] - 8016cd6: 2b00 cmp r3, #0 - 8016cd8: d008 beq.n 8016cec + 80176a0: 683b ldr r3, [r7, #0] + 80176a2: 2b00 cmp r3, #0 + 80176a4: d008 beq.n 80176b8 xListWasEmpty = listLIST_IS_EMPTY( pxOverflowTimerList ); - 8016cda: 4b13 ldr r3, [pc, #76] @ (8016d28 ) - 8016cdc: 681b ldr r3, [r3, #0] - 8016cde: 681b ldr r3, [r3, #0] - 8016ce0: 2b00 cmp r3, #0 - 8016ce2: d101 bne.n 8016ce8 - 8016ce4: 2301 movs r3, #1 - 8016ce6: e000 b.n 8016cea - 8016ce8: 2300 movs r3, #0 - 8016cea: 603b str r3, [r7, #0] + 80176a6: 4b13 ldr r3, [pc, #76] @ (80176f4 ) + 80176a8: 681b ldr r3, [r3, #0] + 80176aa: 681b ldr r3, [r3, #0] + 80176ac: 2b00 cmp r3, #0 + 80176ae: d101 bne.n 80176b4 + 80176b0: 2301 movs r3, #1 + 80176b2: e000 b.n 80176b6 + 80176b4: 2300 movs r3, #0 + 80176b6: 603b str r3, [r7, #0] vQueueWaitForMessageRestricted( xTimerQueue, ( xNextExpireTime - xTimeNow ), xListWasEmpty ); - 8016cec: 4b0f ldr r3, [pc, #60] @ (8016d2c ) - 8016cee: 6818 ldr r0, [r3, #0] - 8016cf0: 687a ldr r2, [r7, #4] - 8016cf2: 68fb ldr r3, [r7, #12] - 8016cf4: 1ad3 subs r3, r2, r3 - 8016cf6: 683a ldr r2, [r7, #0] - 8016cf8: 4619 mov r1, r3 - 8016cfa: f7fe f819 bl 8014d30 + 80176b8: 4b0f ldr r3, [pc, #60] @ (80176f8 ) + 80176ba: 6818 ldr r0, [r3, #0] + 80176bc: 687a ldr r2, [r7, #4] + 80176be: 68fb ldr r3, [r7, #12] + 80176c0: 1ad3 subs r3, r2, r3 + 80176c2: 683a ldr r2, [r7, #0] + 80176c4: 4619 mov r1, r3 + 80176c6: f7fe f817 bl 80156f8 if( xTaskResumeAll() == pdFALSE ) - 8016cfe: f7fe fad3 bl 80152a8 - 8016d02: 4603 mov r3, r0 - 8016d04: 2b00 cmp r3, #0 - 8016d06: d10a bne.n 8016d1e + 80176ca: f7fe fab9 bl 8015c40 + 80176ce: 4603 mov r3, r0 + 80176d0: 2b00 cmp r3, #0 + 80176d2: d10a bne.n 80176ea portYIELD_WITHIN_API(); - 8016d08: 4b09 ldr r3, [pc, #36] @ (8016d30 ) - 8016d0a: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 8016d0e: 601a str r2, [r3, #0] - 8016d10: f3bf 8f4f dsb sy - 8016d14: f3bf 8f6f isb sy + 80176d4: 4b09 ldr r3, [pc, #36] @ (80176fc ) + 80176d6: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 80176da: 601a str r2, [r3, #0] + 80176dc: f3bf 8f4f dsb sy + 80176e0: f3bf 8f6f isb sy } - 8016d18: e001 b.n 8016d1e + 80176e4: e001 b.n 80176ea ( void ) xTaskResumeAll(); - 8016d1a: f7fe fac5 bl 80152a8 + 80176e6: f7fe faab bl 8015c40 } - 8016d1e: bf00 nop - 8016d20: 3710 adds r7, #16 - 8016d22: 46bd mov sp, r7 - 8016d24: bd80 pop {r7, pc} - 8016d26: bf00 nop - 8016d28: 200025f4 .word 0x200025f4 - 8016d2c: 200025f8 .word 0x200025f8 - 8016d30: e000ed04 .word 0xe000ed04 + 80176ea: bf00 nop + 80176ec: 3710 adds r7, #16 + 80176ee: 46bd mov sp, r7 + 80176f0: bd80 pop {r7, pc} + 80176f2: bf00 nop + 80176f4: 20002694 .word 0x20002694 + 80176f8: 20002698 .word 0x20002698 + 80176fc: e000ed04 .word 0xe000ed04 -08016d34 : +08017700 : /*-----------------------------------------------------------*/ static TickType_t prvGetNextExpireTime( BaseType_t * const pxListWasEmpty ) { - 8016d34: b480 push {r7} - 8016d36: b085 sub sp, #20 - 8016d38: af00 add r7, sp, #0 - 8016d3a: 6078 str r0, [r7, #4] + 8017700: b480 push {r7} + 8017702: b085 sub sp, #20 + 8017704: af00 add r7, sp, #0 + 8017706: 6078 str r0, [r7, #4] * the timer with the nearest expiry time will expire. If there are no * active timers then just set the next expire time to 0. That will cause * this task to unblock when the tick count overflows, at which point the * timer lists will be switched and the next expiry time can be * re-assessed. */ *pxListWasEmpty = listLIST_IS_EMPTY( pxCurrentTimerList ); - 8016d3c: 4b0e ldr r3, [pc, #56] @ (8016d78 ) - 8016d3e: 681b ldr r3, [r3, #0] - 8016d40: 681b ldr r3, [r3, #0] - 8016d42: 2b00 cmp r3, #0 - 8016d44: d101 bne.n 8016d4a - 8016d46: 2201 movs r2, #1 - 8016d48: e000 b.n 8016d4c - 8016d4a: 2200 movs r2, #0 - 8016d4c: 687b ldr r3, [r7, #4] - 8016d4e: 601a str r2, [r3, #0] + 8017708: 4b0e ldr r3, [pc, #56] @ (8017744 ) + 801770a: 681b ldr r3, [r3, #0] + 801770c: 681b ldr r3, [r3, #0] + 801770e: 2b00 cmp r3, #0 + 8017710: d101 bne.n 8017716 + 8017712: 2201 movs r2, #1 + 8017714: e000 b.n 8017718 + 8017716: 2200 movs r2, #0 + 8017718: 687b ldr r3, [r7, #4] + 801771a: 601a str r2, [r3, #0] if( *pxListWasEmpty == pdFALSE ) - 8016d50: 687b ldr r3, [r7, #4] - 8016d52: 681b ldr r3, [r3, #0] - 8016d54: 2b00 cmp r3, #0 - 8016d56: d105 bne.n 8016d64 + 801771c: 687b ldr r3, [r7, #4] + 801771e: 681b ldr r3, [r3, #0] + 8017720: 2b00 cmp r3, #0 + 8017722: d105 bne.n 8017730 { xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList ); - 8016d58: 4b07 ldr r3, [pc, #28] @ (8016d78 ) - 8016d5a: 681b ldr r3, [r3, #0] - 8016d5c: 68db ldr r3, [r3, #12] - 8016d5e: 681b ldr r3, [r3, #0] - 8016d60: 60fb str r3, [r7, #12] - 8016d62: e001 b.n 8016d68 + 8017724: 4b07 ldr r3, [pc, #28] @ (8017744 ) + 8017726: 681b ldr r3, [r3, #0] + 8017728: 68db ldr r3, [r3, #12] + 801772a: 681b ldr r3, [r3, #0] + 801772c: 60fb str r3, [r7, #12] + 801772e: e001 b.n 8017734 } else { /* Ensure the task unblocks when the tick count rolls over. */ xNextExpireTime = ( TickType_t ) 0U; - 8016d64: 2300 movs r3, #0 - 8016d66: 60fb str r3, [r7, #12] + 8017730: 2300 movs r3, #0 + 8017732: 60fb str r3, [r7, #12] } return xNextExpireTime; - 8016d68: 68fb ldr r3, [r7, #12] + 8017734: 68fb ldr r3, [r7, #12] } - 8016d6a: 4618 mov r0, r3 - 8016d6c: 3714 adds r7, #20 - 8016d6e: 46bd mov sp, r7 - 8016d70: f85d 7b04 ldr.w r7, [sp], #4 - 8016d74: 4770 bx lr - 8016d76: bf00 nop - 8016d78: 200025f0 .word 0x200025f0 + 8017736: 4618 mov r0, r3 + 8017738: 3714 adds r7, #20 + 801773a: 46bd mov sp, r7 + 801773c: f85d 7b04 ldr.w r7, [sp], #4 + 8017740: 4770 bx lr + 8017742: bf00 nop + 8017744: 20002690 .word 0x20002690 -08016d7c : +08017748 : /*-----------------------------------------------------------*/ static TickType_t prvSampleTimeNow( BaseType_t * const pxTimerListsWereSwitched ) { - 8016d7c: b580 push {r7, lr} - 8016d7e: b084 sub sp, #16 - 8016d80: af00 add r7, sp, #0 - 8016d82: 6078 str r0, [r7, #4] + 8017748: b580 push {r7, lr} + 801774a: b084 sub sp, #16 + 801774c: af00 add r7, sp, #0 + 801774e: 6078 str r0, [r7, #4] TickType_t xTimeNow; PRIVILEGED_DATA static TickType_t xLastTime = ( TickType_t ) 0U; /*lint !e956 Variable is only accessible to one task. */ xTimeNow = xTaskGetTickCount(); - 8016d84: f7fe fb8e bl 80154a4 - 8016d88: 60f8 str r0, [r7, #12] + 8017750: f7fe fb74 bl 8015e3c + 8017754: 60f8 str r0, [r7, #12] if( xTimeNow < xLastTime ) - 8016d8a: 4b0b ldr r3, [pc, #44] @ (8016db8 ) - 8016d8c: 681b ldr r3, [r3, #0] - 8016d8e: 68fa ldr r2, [r7, #12] - 8016d90: 429a cmp r2, r3 - 8016d92: d205 bcs.n 8016da0 + 8017756: 4b0b ldr r3, [pc, #44] @ (8017784 ) + 8017758: 681b ldr r3, [r3, #0] + 801775a: 68fa ldr r2, [r7, #12] + 801775c: 429a cmp r2, r3 + 801775e: d205 bcs.n 801776c { prvSwitchTimerLists(); - 8016d94: f000 f932 bl 8016ffc + 8017760: f000 f932 bl 80179c8 *pxTimerListsWereSwitched = pdTRUE; - 8016d98: 687b ldr r3, [r7, #4] - 8016d9a: 2201 movs r2, #1 - 8016d9c: 601a str r2, [r3, #0] - 8016d9e: e002 b.n 8016da6 + 8017764: 687b ldr r3, [r7, #4] + 8017766: 2201 movs r2, #1 + 8017768: 601a str r2, [r3, #0] + 801776a: e002 b.n 8017772 } else { *pxTimerListsWereSwitched = pdFALSE; - 8016da0: 687b ldr r3, [r7, #4] - 8016da2: 2200 movs r2, #0 - 8016da4: 601a str r2, [r3, #0] + 801776c: 687b ldr r3, [r7, #4] + 801776e: 2200 movs r2, #0 + 8017770: 601a str r2, [r3, #0] } xLastTime = xTimeNow; - 8016da6: 4a04 ldr r2, [pc, #16] @ (8016db8 ) - 8016da8: 68fb ldr r3, [r7, #12] - 8016daa: 6013 str r3, [r2, #0] + 8017772: 4a04 ldr r2, [pc, #16] @ (8017784 ) + 8017774: 68fb ldr r3, [r7, #12] + 8017776: 6013 str r3, [r2, #0] return xTimeNow; - 8016dac: 68fb ldr r3, [r7, #12] + 8017778: 68fb ldr r3, [r7, #12] } - 8016dae: 4618 mov r0, r3 - 8016db0: 3710 adds r7, #16 - 8016db2: 46bd mov sp, r7 - 8016db4: bd80 pop {r7, pc} - 8016db6: bf00 nop - 8016db8: 20002600 .word 0x20002600 + 801777a: 4618 mov r0, r3 + 801777c: 3710 adds r7, #16 + 801777e: 46bd mov sp, r7 + 8017780: bd80 pop {r7, pc} + 8017782: bf00 nop + 8017784: 200026a0 .word 0x200026a0 -08016dbc : +08017788 : static BaseType_t prvInsertTimerInActiveList( Timer_t * const pxTimer, const TickType_t xNextExpiryTime, const TickType_t xTimeNow, const TickType_t xCommandTime ) { - 8016dbc: b580 push {r7, lr} - 8016dbe: b086 sub sp, #24 - 8016dc0: af00 add r7, sp, #0 - 8016dc2: 60f8 str r0, [r7, #12] - 8016dc4: 60b9 str r1, [r7, #8] - 8016dc6: 607a str r2, [r7, #4] - 8016dc8: 603b str r3, [r7, #0] + 8017788: b580 push {r7, lr} + 801778a: b086 sub sp, #24 + 801778c: af00 add r7, sp, #0 + 801778e: 60f8 str r0, [r7, #12] + 8017790: 60b9 str r1, [r7, #8] + 8017792: 607a str r2, [r7, #4] + 8017794: 603b str r3, [r7, #0] BaseType_t xProcessTimerNow = pdFALSE; - 8016dca: 2300 movs r3, #0 - 8016dcc: 617b str r3, [r7, #20] + 8017796: 2300 movs r3, #0 + 8017798: 617b str r3, [r7, #20] listSET_LIST_ITEM_VALUE( &( pxTimer->xTimerListItem ), xNextExpiryTime ); - 8016dce: 68fb ldr r3, [r7, #12] - 8016dd0: 68ba ldr r2, [r7, #8] - 8016dd2: 605a str r2, [r3, #4] + 801779a: 68fb ldr r3, [r7, #12] + 801779c: 68ba ldr r2, [r7, #8] + 801779e: 605a str r2, [r3, #4] listSET_LIST_ITEM_OWNER( &( pxTimer->xTimerListItem ), pxTimer ); - 8016dd4: 68fb ldr r3, [r7, #12] - 8016dd6: 68fa ldr r2, [r7, #12] - 8016dd8: 611a str r2, [r3, #16] + 80177a0: 68fb ldr r3, [r7, #12] + 80177a2: 68fa ldr r2, [r7, #12] + 80177a4: 611a str r2, [r3, #16] if( xNextExpiryTime <= xTimeNow ) - 8016dda: 68ba ldr r2, [r7, #8] - 8016ddc: 687b ldr r3, [r7, #4] - 8016dde: 429a cmp r2, r3 - 8016de0: d812 bhi.n 8016e08 + 80177a6: 68ba ldr r2, [r7, #8] + 80177a8: 687b ldr r3, [r7, #4] + 80177aa: 429a cmp r2, r3 + 80177ac: d812 bhi.n 80177d4 { /* Has the expiry time elapsed between the command to start/reset a * timer was issued, and the time the command was processed? */ if( ( ( TickType_t ) ( xTimeNow - xCommandTime ) ) >= pxTimer->xTimerPeriodInTicks ) /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 8016de2: 687a ldr r2, [r7, #4] - 8016de4: 683b ldr r3, [r7, #0] - 8016de6: 1ad2 subs r2, r2, r3 - 8016de8: 68fb ldr r3, [r7, #12] - 8016dea: 699b ldr r3, [r3, #24] - 8016dec: 429a cmp r2, r3 - 8016dee: d302 bcc.n 8016df6 + 80177ae: 687a ldr r2, [r7, #4] + 80177b0: 683b ldr r3, [r7, #0] + 80177b2: 1ad2 subs r2, r2, r3 + 80177b4: 68fb ldr r3, [r7, #12] + 80177b6: 699b ldr r3, [r3, #24] + 80177b8: 429a cmp r2, r3 + 80177ba: d302 bcc.n 80177c2 { /* The time between a command being issued and the command being * processed actually exceeds the timers period. */ xProcessTimerNow = pdTRUE; - 8016df0: 2301 movs r3, #1 - 8016df2: 617b str r3, [r7, #20] - 8016df4: e01b b.n 8016e2e + 80177bc: 2301 movs r3, #1 + 80177be: 617b str r3, [r7, #20] + 80177c0: e01b b.n 80177fa } else { vListInsert( pxOverflowTimerList, &( pxTimer->xTimerListItem ) ); - 8016df6: 4b10 ldr r3, [pc, #64] @ (8016e38 ) - 8016df8: 681a ldr r2, [r3, #0] - 8016dfa: 68fb ldr r3, [r7, #12] - 8016dfc: 3304 adds r3, #4 - 8016dfe: 4619 mov r1, r3 - 8016e00: 4610 mov r0, r2 - 8016e02: f7fc fdfc bl 80139fe - 8016e06: e012 b.n 8016e2e + 80177c2: 4b10 ldr r3, [pc, #64] @ (8017804 ) + 80177c4: 681a ldr r2, [r3, #0] + 80177c6: 68fb ldr r3, [r7, #12] + 80177c8: 3304 adds r3, #4 + 80177ca: 4619 mov r1, r3 + 80177cc: 4610 mov r0, r2 + 80177ce: f7fc fdfa bl 80143c6 + 80177d2: e012 b.n 80177fa } } else { if( ( xTimeNow < xCommandTime ) && ( xNextExpiryTime >= xCommandTime ) ) - 8016e08: 687a ldr r2, [r7, #4] - 8016e0a: 683b ldr r3, [r7, #0] - 8016e0c: 429a cmp r2, r3 - 8016e0e: d206 bcs.n 8016e1e - 8016e10: 68ba ldr r2, [r7, #8] - 8016e12: 683b ldr r3, [r7, #0] - 8016e14: 429a cmp r2, r3 - 8016e16: d302 bcc.n 8016e1e + 80177d4: 687a ldr r2, [r7, #4] + 80177d6: 683b ldr r3, [r7, #0] + 80177d8: 429a cmp r2, r3 + 80177da: d206 bcs.n 80177ea + 80177dc: 68ba ldr r2, [r7, #8] + 80177de: 683b ldr r3, [r7, #0] + 80177e0: 429a cmp r2, r3 + 80177e2: d302 bcc.n 80177ea { /* If, since the command was issued, the tick count has overflowed * but the expiry time has not, then the timer must have already passed * its expiry time and should be processed immediately. */ xProcessTimerNow = pdTRUE; - 8016e18: 2301 movs r3, #1 - 8016e1a: 617b str r3, [r7, #20] - 8016e1c: e007 b.n 8016e2e + 80177e4: 2301 movs r3, #1 + 80177e6: 617b str r3, [r7, #20] + 80177e8: e007 b.n 80177fa } else { vListInsert( pxCurrentTimerList, &( pxTimer->xTimerListItem ) ); - 8016e1e: 4b07 ldr r3, [pc, #28] @ (8016e3c ) - 8016e20: 681a ldr r2, [r3, #0] - 8016e22: 68fb ldr r3, [r7, #12] - 8016e24: 3304 adds r3, #4 - 8016e26: 4619 mov r1, r3 - 8016e28: 4610 mov r0, r2 - 8016e2a: f7fc fde8 bl 80139fe + 80177ea: 4b07 ldr r3, [pc, #28] @ (8017808 ) + 80177ec: 681a ldr r2, [r3, #0] + 80177ee: 68fb ldr r3, [r7, #12] + 80177f0: 3304 adds r3, #4 + 80177f2: 4619 mov r1, r3 + 80177f4: 4610 mov r0, r2 + 80177f6: f7fc fde6 bl 80143c6 } } return xProcessTimerNow; - 8016e2e: 697b ldr r3, [r7, #20] + 80177fa: 697b ldr r3, [r7, #20] } - 8016e30: 4618 mov r0, r3 - 8016e32: 3718 adds r7, #24 - 8016e34: 46bd mov sp, r7 - 8016e36: bd80 pop {r7, pc} - 8016e38: 200025f4 .word 0x200025f4 - 8016e3c: 200025f0 .word 0x200025f0 + 80177fc: 4618 mov r0, r3 + 80177fe: 3718 adds r7, #24 + 8017800: 46bd mov sp, r7 + 8017802: bd80 pop {r7, pc} + 8017804: 20002694 .word 0x20002694 + 8017808: 20002690 .word 0x20002690 -08016e40 : +0801780c : /*-----------------------------------------------------------*/ static void prvProcessReceivedCommands( void ) { - 8016e40: b580 push {r7, lr} - 8016e42: b08a sub sp, #40 @ 0x28 - 8016e44: af00 add r7, sp, #0 + 801780c: b580 push {r7, lr} + 801780e: b08a sub sp, #40 @ 0x28 + 8017810: af00 add r7, sp, #0 DaemonTaskMessage_t xMessage; Timer_t * pxTimer; BaseType_t xTimerListsWereSwitched; TickType_t xTimeNow; while( xQueueReceive( xTimerQueue, &xMessage, tmrNO_DELAY ) != pdFAIL ) /*lint !e603 xMessage does not have to be initialised as it is passed out, not in, and it is not used unless xQueueReceive() returns pdTRUE. */ - 8016e46: e0c7 b.n 8016fd8 + 8017812: e0c7 b.n 80179a4 { #if ( INCLUDE_xTimerPendFunctionCall == 1 ) { /* Negative commands are pended function calls rather than timer * commands. */ if( xMessage.xMessageID < ( BaseType_t ) 0 ) - 8016e48: 687b ldr r3, [r7, #4] - 8016e4a: 2b00 cmp r3, #0 - 8016e4c: da19 bge.n 8016e82 + 8017814: 687b ldr r3, [r7, #4] + 8017816: 2b00 cmp r3, #0 + 8017818: da19 bge.n 801784e { const CallbackParameters_t * const pxCallback = &( xMessage.u.xCallbackParameters ); - 8016e4e: 1d3b adds r3, r7, #4 - 8016e50: 3304 adds r3, #4 - 8016e52: 627b str r3, [r7, #36] @ 0x24 + 801781a: 1d3b adds r3, r7, #4 + 801781c: 3304 adds r3, #4 + 801781e: 627b str r3, [r7, #36] @ 0x24 /* The timer uses the xCallbackParameters member to request a * callback be executed. Check the callback is not NULL. */ configASSERT( pxCallback ); - 8016e54: 6a7b ldr r3, [r7, #36] @ 0x24 - 8016e56: 2b00 cmp r3, #0 - 8016e58: d10b bne.n 8016e72 + 8017820: 6a7b ldr r3, [r7, #36] @ 0x24 + 8017822: 2b00 cmp r3, #0 + 8017824: d10b bne.n 801783e __asm volatile - 8016e5a: f04f 0350 mov.w r3, #80 @ 0x50 - 8016e5e: f383 8811 msr BASEPRI, r3 - 8016e62: f3bf 8f6f isb sy - 8016e66: f3bf 8f4f dsb sy - 8016e6a: 61bb str r3, [r7, #24] + 8017826: f04f 0350 mov.w r3, #80 @ 0x50 + 801782a: f383 8811 msr BASEPRI, r3 + 801782e: f3bf 8f6f isb sy + 8017832: f3bf 8f4f dsb sy + 8017836: 61bb str r3, [r7, #24] } - 8016e6c: bf00 nop - 8016e6e: bf00 nop - 8016e70: e7fd b.n 8016e6e + 8017838: bf00 nop + 801783a: bf00 nop + 801783c: e7fd b.n 801783a /* Call the function. */ pxCallback->pxCallbackFunction( pxCallback->pvParameter1, pxCallback->ulParameter2 ); - 8016e72: 6a7b ldr r3, [r7, #36] @ 0x24 - 8016e74: 681b ldr r3, [r3, #0] - 8016e76: 6a7a ldr r2, [r7, #36] @ 0x24 - 8016e78: 6850 ldr r0, [r2, #4] - 8016e7a: 6a7a ldr r2, [r7, #36] @ 0x24 - 8016e7c: 6892 ldr r2, [r2, #8] - 8016e7e: 4611 mov r1, r2 - 8016e80: 4798 blx r3 + 801783e: 6a7b ldr r3, [r7, #36] @ 0x24 + 8017840: 681b ldr r3, [r3, #0] + 8017842: 6a7a ldr r2, [r7, #36] @ 0x24 + 8017844: 6850 ldr r0, [r2, #4] + 8017846: 6a7a ldr r2, [r7, #36] @ 0x24 + 8017848: 6892 ldr r2, [r2, #8] + 801784a: 4611 mov r1, r2 + 801784c: 4798 blx r3 } #endif /* INCLUDE_xTimerPendFunctionCall */ /* Commands that are positive are timer commands rather than pended * function calls. */ if( xMessage.xMessageID >= ( BaseType_t ) 0 ) - 8016e82: 687b ldr r3, [r7, #4] - 8016e84: 2b00 cmp r3, #0 - 8016e86: f2c0 80a7 blt.w 8016fd8 + 801784e: 687b ldr r3, [r7, #4] + 8017850: 2b00 cmp r3, #0 + 8017852: f2c0 80a7 blt.w 80179a4 { /* The messages uses the xTimerParameters member to work on a * software timer. */ pxTimer = xMessage.u.xTimerParameters.pxTimer; - 8016e8a: 68fb ldr r3, [r7, #12] - 8016e8c: 623b str r3, [r7, #32] + 8017856: 68fb ldr r3, [r7, #12] + 8017858: 623b str r3, [r7, #32] if( listIS_CONTAINED_WITHIN( NULL, &( pxTimer->xTimerListItem ) ) == pdFALSE ) /*lint !e961. The cast is only redundant when NULL is passed into the macro. */ - 8016e8e: 6a3b ldr r3, [r7, #32] - 8016e90: 695b ldr r3, [r3, #20] - 8016e92: 2b00 cmp r3, #0 - 8016e94: d004 beq.n 8016ea0 + 801785a: 6a3b ldr r3, [r7, #32] + 801785c: 695b ldr r3, [r3, #20] + 801785e: 2b00 cmp r3, #0 + 8017860: d004 beq.n 801786c { /* The timer is in a list, remove it. */ ( void ) uxListRemove( &( pxTimer->xTimerListItem ) ); - 8016e96: 6a3b ldr r3, [r7, #32] - 8016e98: 3304 adds r3, #4 - 8016e9a: 4618 mov r0, r3 - 8016e9c: f7fc fde8 bl 8013a70 + 8017862: 6a3b ldr r3, [r7, #32] + 8017864: 3304 adds r3, #4 + 8017866: 4618 mov r0, r3 + 8017868: f7fc fde6 bl 8014438 * it must be present in the function call. prvSampleTimeNow() must be * called after the message is received from xTimerQueue so there is no * possibility of a higher priority task adding a message to the message * queue with a time that is ahead of the timer daemon task (because it * pre-empted the timer daemon task after the xTimeNow value was set). */ xTimeNow = prvSampleTimeNow( &xTimerListsWereSwitched ); - 8016ea0: 463b mov r3, r7 - 8016ea2: 4618 mov r0, r3 - 8016ea4: f7ff ff6a bl 8016d7c - 8016ea8: 61f8 str r0, [r7, #28] + 801786c: 463b mov r3, r7 + 801786e: 4618 mov r0, r3 + 8017870: f7ff ff6a bl 8017748 + 8017874: 61f8 str r0, [r7, #28] switch( xMessage.xMessageID ) - 8016eaa: 687b ldr r3, [r7, #4] - 8016eac: 3b01 subs r3, #1 - 8016eae: 2b08 cmp r3, #8 - 8016eb0: f200 808f bhi.w 8016fd2 - 8016eb4: a201 add r2, pc, #4 @ (adr r2, 8016ebc ) - 8016eb6: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8016eba: bf00 nop - 8016ebc: 08016ee1 .word 0x08016ee1 - 8016ec0: 08016ee1 .word 0x08016ee1 - 8016ec4: 08016f49 .word 0x08016f49 - 8016ec8: 08016f5d .word 0x08016f5d - 8016ecc: 08016fa9 .word 0x08016fa9 - 8016ed0: 08016ee1 .word 0x08016ee1 - 8016ed4: 08016ee1 .word 0x08016ee1 - 8016ed8: 08016f49 .word 0x08016f49 - 8016edc: 08016f5d .word 0x08016f5d + 8017876: 687b ldr r3, [r7, #4] + 8017878: 3b01 subs r3, #1 + 801787a: 2b08 cmp r3, #8 + 801787c: f200 808f bhi.w 801799e + 8017880: a201 add r2, pc, #4 @ (adr r2, 8017888 ) + 8017882: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8017886: bf00 nop + 8017888: 080178ad .word 0x080178ad + 801788c: 080178ad .word 0x080178ad + 8017890: 08017915 .word 0x08017915 + 8017894: 08017929 .word 0x08017929 + 8017898: 08017975 .word 0x08017975 + 801789c: 080178ad .word 0x080178ad + 80178a0: 080178ad .word 0x080178ad + 80178a4: 08017915 .word 0x08017915 + 80178a8: 08017929 .word 0x08017929 case tmrCOMMAND_START: case tmrCOMMAND_START_FROM_ISR: case tmrCOMMAND_RESET: case tmrCOMMAND_RESET_FROM_ISR: /* Start or restart a timer. */ pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; - 8016ee0: 6a3b ldr r3, [r7, #32] - 8016ee2: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016ee6: f043 0301 orr.w r3, r3, #1 - 8016eea: b2da uxtb r2, r3 - 8016eec: 6a3b ldr r3, [r7, #32] - 8016eee: f883 2028 strb.w r2, [r3, #40] @ 0x28 + 80178ac: 6a3b ldr r3, [r7, #32] + 80178ae: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 80178b2: f043 0301 orr.w r3, r3, #1 + 80178b6: b2da uxtb r2, r3 + 80178b8: 6a3b ldr r3, [r7, #32] + 80178ba: f883 2028 strb.w r2, [r3, #40] @ 0x28 if( prvInsertTimerInActiveList( pxTimer, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, xTimeNow, xMessage.u.xTimerParameters.xMessageValue ) != pdFALSE ) - 8016ef2: 68ba ldr r2, [r7, #8] - 8016ef4: 6a3b ldr r3, [r7, #32] - 8016ef6: 699b ldr r3, [r3, #24] - 8016ef8: 18d1 adds r1, r2, r3 - 8016efa: 68bb ldr r3, [r7, #8] - 8016efc: 69fa ldr r2, [r7, #28] - 8016efe: 6a38 ldr r0, [r7, #32] - 8016f00: f7ff ff5c bl 8016dbc - 8016f04: 4603 mov r3, r0 - 8016f06: 2b00 cmp r3, #0 - 8016f08: d065 beq.n 8016fd6 + 80178be: 68ba ldr r2, [r7, #8] + 80178c0: 6a3b ldr r3, [r7, #32] + 80178c2: 699b ldr r3, [r3, #24] + 80178c4: 18d1 adds r1, r2, r3 + 80178c6: 68bb ldr r3, [r7, #8] + 80178c8: 69fa ldr r2, [r7, #28] + 80178ca: 6a38 ldr r0, [r7, #32] + 80178cc: f7ff ff5c bl 8017788 + 80178d0: 4603 mov r3, r0 + 80178d2: 2b00 cmp r3, #0 + 80178d4: d065 beq.n 80179a2 { /* The timer expired before it was added to the active * timer list. Process it now. */ if( ( pxTimer->ucStatus & tmrSTATUS_IS_AUTORELOAD ) != 0 ) - 8016f0a: 6a3b ldr r3, [r7, #32] - 8016f0c: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016f10: f003 0304 and.w r3, r3, #4 - 8016f14: 2b00 cmp r3, #0 - 8016f16: d009 beq.n 8016f2c + 80178d6: 6a3b ldr r3, [r7, #32] + 80178d8: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 80178dc: f003 0304 and.w r3, r3, #4 + 80178e0: 2b00 cmp r3, #0 + 80178e2: d009 beq.n 80178f8 { prvReloadTimer( pxTimer, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, xTimeNow ); - 8016f18: 68ba ldr r2, [r7, #8] - 8016f1a: 6a3b ldr r3, [r7, #32] - 8016f1c: 699b ldr r3, [r3, #24] - 8016f1e: 4413 add r3, r2 - 8016f20: 69fa ldr r2, [r7, #28] - 8016f22: 4619 mov r1, r3 - 8016f24: 6a38 ldr r0, [r7, #32] - 8016f26: f7ff fe51 bl 8016bcc - 8016f2a: e008 b.n 8016f3e + 80178e4: 68ba ldr r2, [r7, #8] + 80178e6: 6a3b ldr r3, [r7, #32] + 80178e8: 699b ldr r3, [r3, #24] + 80178ea: 4413 add r3, r2 + 80178ec: 69fa ldr r2, [r7, #28] + 80178ee: 4619 mov r1, r3 + 80178f0: 6a38 ldr r0, [r7, #32] + 80178f2: f7ff fe51 bl 8017598 + 80178f6: e008 b.n 801790a } else { pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); - 8016f2c: 6a3b ldr r3, [r7, #32] - 8016f2e: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016f32: f023 0301 bic.w r3, r3, #1 - 8016f36: b2da uxtb r2, r3 - 8016f38: 6a3b ldr r3, [r7, #32] - 8016f3a: f883 2028 strb.w r2, [r3, #40] @ 0x28 + 80178f8: 6a3b ldr r3, [r7, #32] + 80178fa: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 80178fe: f023 0301 bic.w r3, r3, #1 + 8017902: b2da uxtb r2, r3 + 8017904: 6a3b ldr r3, [r7, #32] + 8017906: f883 2028 strb.w r2, [r3, #40] @ 0x28 } /* Call the timer callback. */ traceTIMER_EXPIRED( pxTimer ); pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); - 8016f3e: 6a3b ldr r3, [r7, #32] - 8016f40: 6a1b ldr r3, [r3, #32] - 8016f42: 6a38 ldr r0, [r7, #32] - 8016f44: 4798 blx r3 + 801790a: 6a3b ldr r3, [r7, #32] + 801790c: 6a1b ldr r3, [r3, #32] + 801790e: 6a38 ldr r0, [r7, #32] + 8017910: 4798 blx r3 else { mtCOVERAGE_TEST_MARKER(); } break; - 8016f46: e046 b.n 8016fd6 + 8017912: e046 b.n 80179a2 case tmrCOMMAND_STOP: case tmrCOMMAND_STOP_FROM_ISR: /* The timer has already been removed from the active list. */ pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); - 8016f48: 6a3b ldr r3, [r7, #32] - 8016f4a: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016f4e: f023 0301 bic.w r3, r3, #1 - 8016f52: b2da uxtb r2, r3 - 8016f54: 6a3b ldr r3, [r7, #32] - 8016f56: f883 2028 strb.w r2, [r3, #40] @ 0x28 + 8017914: 6a3b ldr r3, [r7, #32] + 8017916: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 801791a: f023 0301 bic.w r3, r3, #1 + 801791e: b2da uxtb r2, r3 + 8017920: 6a3b ldr r3, [r7, #32] + 8017922: f883 2028 strb.w r2, [r3, #40] @ 0x28 break; - 8016f5a: e03d b.n 8016fd8 + 8017926: e03d b.n 80179a4 case tmrCOMMAND_CHANGE_PERIOD: case tmrCOMMAND_CHANGE_PERIOD_FROM_ISR: pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; - 8016f5c: 6a3b ldr r3, [r7, #32] - 8016f5e: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016f62: f043 0301 orr.w r3, r3, #1 - 8016f66: b2da uxtb r2, r3 - 8016f68: 6a3b ldr r3, [r7, #32] - 8016f6a: f883 2028 strb.w r2, [r3, #40] @ 0x28 + 8017928: 6a3b ldr r3, [r7, #32] + 801792a: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 801792e: f043 0301 orr.w r3, r3, #1 + 8017932: b2da uxtb r2, r3 + 8017934: 6a3b ldr r3, [r7, #32] + 8017936: f883 2028 strb.w r2, [r3, #40] @ 0x28 pxTimer->xTimerPeriodInTicks = xMessage.u.xTimerParameters.xMessageValue; - 8016f6e: 68ba ldr r2, [r7, #8] - 8016f70: 6a3b ldr r3, [r7, #32] - 8016f72: 619a str r2, [r3, #24] + 801793a: 68ba ldr r2, [r7, #8] + 801793c: 6a3b ldr r3, [r7, #32] + 801793e: 619a str r2, [r3, #24] configASSERT( ( pxTimer->xTimerPeriodInTicks > 0 ) ); - 8016f74: 6a3b ldr r3, [r7, #32] - 8016f76: 699b ldr r3, [r3, #24] - 8016f78: 2b00 cmp r3, #0 - 8016f7a: d10b bne.n 8016f94 + 8017940: 6a3b ldr r3, [r7, #32] + 8017942: 699b ldr r3, [r3, #24] + 8017944: 2b00 cmp r3, #0 + 8017946: d10b bne.n 8017960 __asm volatile - 8016f7c: f04f 0350 mov.w r3, #80 @ 0x50 - 8016f80: f383 8811 msr BASEPRI, r3 - 8016f84: f3bf 8f6f isb sy - 8016f88: f3bf 8f4f dsb sy - 8016f8c: 617b str r3, [r7, #20] + 8017948: f04f 0350 mov.w r3, #80 @ 0x50 + 801794c: f383 8811 msr BASEPRI, r3 + 8017950: f3bf 8f6f isb sy + 8017954: f3bf 8f4f dsb sy + 8017958: 617b str r3, [r7, #20] } - 8016f8e: bf00 nop - 8016f90: bf00 nop - 8016f92: e7fd b.n 8016f90 + 801795a: bf00 nop + 801795c: bf00 nop + 801795e: e7fd b.n 801795c * be longer or shorter than the old one. The command time is * therefore set to the current time, and as the period cannot * be zero the next expiry time can only be in the future, * meaning (unlike for the xTimerStart() case above) there is * no fail case that needs to be handled here. */ ( void ) prvInsertTimerInActiveList( pxTimer, ( xTimeNow + pxTimer->xTimerPeriodInTicks ), xTimeNow, xTimeNow ); - 8016f94: 6a3b ldr r3, [r7, #32] - 8016f96: 699a ldr r2, [r3, #24] - 8016f98: 69fb ldr r3, [r7, #28] - 8016f9a: 18d1 adds r1, r2, r3 - 8016f9c: 69fb ldr r3, [r7, #28] - 8016f9e: 69fa ldr r2, [r7, #28] - 8016fa0: 6a38 ldr r0, [r7, #32] - 8016fa2: f7ff ff0b bl 8016dbc + 8017960: 6a3b ldr r3, [r7, #32] + 8017962: 699a ldr r2, [r3, #24] + 8017964: 69fb ldr r3, [r7, #28] + 8017966: 18d1 adds r1, r2, r3 + 8017968: 69fb ldr r3, [r7, #28] + 801796a: 69fa ldr r2, [r7, #28] + 801796c: 6a38 ldr r0, [r7, #32] + 801796e: f7ff ff0b bl 8017788 break; - 8016fa6: e017 b.n 8016fd8 + 8017972: e017 b.n 80179a4 #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) { /* The timer has already been removed from the active list, * just free up the memory if the memory was dynamically * allocated. */ if( ( pxTimer->ucStatus & tmrSTATUS_IS_STATICALLY_ALLOCATED ) == ( uint8_t ) 0 ) - 8016fa8: 6a3b ldr r3, [r7, #32] - 8016faa: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016fae: f003 0302 and.w r3, r3, #2 - 8016fb2: 2b00 cmp r3, #0 - 8016fb4: d103 bne.n 8016fbe + 8017974: 6a3b ldr r3, [r7, #32] + 8017976: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 801797a: f003 0302 and.w r3, r3, #2 + 801797e: 2b00 cmp r3, #0 + 8017980: d103 bne.n 801798a { vPortFree( pxTimer ); - 8016fb6: 6a38 ldr r0, [r7, #32] - 8016fb8: f000 fbc6 bl 8017748 + 8017982: 6a38 ldr r0, [r7, #32] + 8017984: f000 fbc8 bl 8018118 * no need to free the memory - just mark the timer as * "not active". */ pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); } #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ break; - 8016fbc: e00c b.n 8016fd8 + 8017988: e00c b.n 80179a4 pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); - 8016fbe: 6a3b ldr r3, [r7, #32] - 8016fc0: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 - 8016fc4: f023 0301 bic.w r3, r3, #1 - 8016fc8: b2da uxtb r2, r3 - 8016fca: 6a3b ldr r3, [r7, #32] - 8016fcc: f883 2028 strb.w r2, [r3, #40] @ 0x28 + 801798a: 6a3b ldr r3, [r7, #32] + 801798c: f893 3028 ldrb.w r3, [r3, #40] @ 0x28 + 8017990: f023 0301 bic.w r3, r3, #1 + 8017994: b2da uxtb r2, r3 + 8017996: 6a3b ldr r3, [r7, #32] + 8017998: f883 2028 strb.w r2, [r3, #40] @ 0x28 break; - 8016fd0: e002 b.n 8016fd8 + 801799c: e002 b.n 80179a4 default: /* Don't expect to get here. */ break; - 8016fd2: bf00 nop - 8016fd4: e000 b.n 8016fd8 + 801799e: bf00 nop + 80179a0: e000 b.n 80179a4 break; - 8016fd6: bf00 nop + 80179a2: bf00 nop while( xQueueReceive( xTimerQueue, &xMessage, tmrNO_DELAY ) != pdFAIL ) /*lint !e603 xMessage does not have to be initialised as it is passed out, not in, and it is not used unless xQueueReceive() returns pdTRUE. */ - 8016fd8: 4b07 ldr r3, [pc, #28] @ (8016ff8 ) - 8016fda: 681b ldr r3, [r3, #0] - 8016fdc: 1d39 adds r1, r7, #4 - 8016fde: 2200 movs r2, #0 - 8016fe0: 4618 mov r0, r3 - 8016fe2: f7fd fa53 bl 801448c - 8016fe6: 4603 mov r3, r0 - 8016fe8: 2b00 cmp r3, #0 - 8016fea: f47f af2d bne.w 8016e48 + 80179a4: 4b07 ldr r3, [pc, #28] @ (80179c4 ) + 80179a6: 681b ldr r3, [r3, #0] + 80179a8: 1d39 adds r1, r7, #4 + 80179aa: 2200 movs r2, #0 + 80179ac: 4618 mov r0, r3 + 80179ae: f7fd fa51 bl 8014e54 + 80179b2: 4603 mov r3, r0 + 80179b4: 2b00 cmp r3, #0 + 80179b6: f47f af2d bne.w 8017814 } } } } - 8016fee: bf00 nop - 8016ff0: bf00 nop - 8016ff2: 3728 adds r7, #40 @ 0x28 - 8016ff4: 46bd mov sp, r7 - 8016ff6: bd80 pop {r7, pc} - 8016ff8: 200025f8 .word 0x200025f8 + 80179ba: bf00 nop + 80179bc: bf00 nop + 80179be: 3728 adds r7, #40 @ 0x28 + 80179c0: 46bd mov sp, r7 + 80179c2: bd80 pop {r7, pc} + 80179c4: 20002698 .word 0x20002698 -08016ffc : +080179c8 : /*-----------------------------------------------------------*/ static void prvSwitchTimerLists( void ) { - 8016ffc: b580 push {r7, lr} - 8016ffe: b082 sub sp, #8 - 8017000: af00 add r7, sp, #0 + 80179c8: b580 push {r7, lr} + 80179ca: b082 sub sp, #8 + 80179cc: af00 add r7, sp, #0 /* The tick count has overflowed. The timer lists must be switched. * If there are any timers still referenced from the current timer list * then they must have expired and should be processed before the lists * are switched. */ while( listLIST_IS_EMPTY( pxCurrentTimerList ) == pdFALSE ) - 8017002: e009 b.n 8017018 + 80179ce: e009 b.n 80179e4 { xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList ); - 8017004: 4b0e ldr r3, [pc, #56] @ (8017040 ) - 8017006: 681b ldr r3, [r3, #0] - 8017008: 68db ldr r3, [r3, #12] - 801700a: 681b ldr r3, [r3, #0] - 801700c: 603b str r3, [r7, #0] + 80179d0: 4b0e ldr r3, [pc, #56] @ (8017a0c ) + 80179d2: 681b ldr r3, [r3, #0] + 80179d4: 68db ldr r3, [r3, #12] + 80179d6: 681b ldr r3, [r3, #0] + 80179d8: 603b str r3, [r7, #0] /* Process the expired timer. For auto-reload timers, be careful to * process only expirations that occur on the current list. Further * expirations must wait until after the lists are switched. */ prvProcessExpiredTimer( xNextExpireTime, tmrMAX_TIME_BEFORE_OVERFLOW ); - 801700e: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff - 8017012: 6838 ldr r0, [r7, #0] - 8017014: f7ff fdfc bl 8016c10 + 80179da: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff + 80179de: 6838 ldr r0, [r7, #0] + 80179e0: f7ff fdfc bl 80175dc while( listLIST_IS_EMPTY( pxCurrentTimerList ) == pdFALSE ) - 8017018: 4b09 ldr r3, [pc, #36] @ (8017040 ) - 801701a: 681b ldr r3, [r3, #0] - 801701c: 681b ldr r3, [r3, #0] - 801701e: 2b00 cmp r3, #0 - 8017020: d1f0 bne.n 8017004 + 80179e4: 4b09 ldr r3, [pc, #36] @ (8017a0c ) + 80179e6: 681b ldr r3, [r3, #0] + 80179e8: 681b ldr r3, [r3, #0] + 80179ea: 2b00 cmp r3, #0 + 80179ec: d1f0 bne.n 80179d0 } pxTemp = pxCurrentTimerList; - 8017022: 4b07 ldr r3, [pc, #28] @ (8017040 ) - 8017024: 681b ldr r3, [r3, #0] - 8017026: 607b str r3, [r7, #4] + 80179ee: 4b07 ldr r3, [pc, #28] @ (8017a0c ) + 80179f0: 681b ldr r3, [r3, #0] + 80179f2: 607b str r3, [r7, #4] pxCurrentTimerList = pxOverflowTimerList; - 8017028: 4b06 ldr r3, [pc, #24] @ (8017044 ) - 801702a: 681b ldr r3, [r3, #0] - 801702c: 4a04 ldr r2, [pc, #16] @ (8017040 ) - 801702e: 6013 str r3, [r2, #0] + 80179f4: 4b06 ldr r3, [pc, #24] @ (8017a10 ) + 80179f6: 681b ldr r3, [r3, #0] + 80179f8: 4a04 ldr r2, [pc, #16] @ (8017a0c ) + 80179fa: 6013 str r3, [r2, #0] pxOverflowTimerList = pxTemp; - 8017030: 4a04 ldr r2, [pc, #16] @ (8017044 ) - 8017032: 687b ldr r3, [r7, #4] - 8017034: 6013 str r3, [r2, #0] + 80179fc: 4a04 ldr r2, [pc, #16] @ (8017a10 ) + 80179fe: 687b ldr r3, [r7, #4] + 8017a00: 6013 str r3, [r2, #0] } - 8017036: bf00 nop - 8017038: 3708 adds r7, #8 - 801703a: 46bd mov sp, r7 - 801703c: bd80 pop {r7, pc} - 801703e: bf00 nop - 8017040: 200025f0 .word 0x200025f0 - 8017044: 200025f4 .word 0x200025f4 + 8017a02: bf00 nop + 8017a04: 3708 adds r7, #8 + 8017a06: 46bd mov sp, r7 + 8017a08: bd80 pop {r7, pc} + 8017a0a: bf00 nop + 8017a0c: 20002690 .word 0x20002690 + 8017a10: 20002694 .word 0x20002694 -08017048 : +08017a14 : /*-----------------------------------------------------------*/ static void prvCheckForValidListAndQueue( void ) { - 8017048: b580 push {r7, lr} - 801704a: b082 sub sp, #8 - 801704c: af02 add r7, sp, #8 + 8017a14: b580 push {r7, lr} + 8017a16: b082 sub sp, #8 + 8017a18: af02 add r7, sp, #8 /* Check that the list from which active timers are referenced, and the * queue used to communicate with the timer service, have been * initialised. */ taskENTER_CRITICAL(); - 801704e: f000 f987 bl 8017360 + 8017a1a: f000 f989 bl 8017d30 { if( xTimerQueue == NULL ) - 8017052: 4b15 ldr r3, [pc, #84] @ (80170a8 ) - 8017054: 681b ldr r3, [r3, #0] - 8017056: 2b00 cmp r3, #0 - 8017058: d120 bne.n 801709c + 8017a1e: 4b15 ldr r3, [pc, #84] @ (8017a74 ) + 8017a20: 681b ldr r3, [r3, #0] + 8017a22: 2b00 cmp r3, #0 + 8017a24: d120 bne.n 8017a68 { vListInitialise( &xActiveTimerList1 ); - 801705a: 4814 ldr r0, [pc, #80] @ (80170ac ) - 801705c: f7fc fca2 bl 80139a4 + 8017a26: 4814 ldr r0, [pc, #80] @ (8017a78 ) + 8017a28: f7fc fca0 bl 801436c vListInitialise( &xActiveTimerList2 ); - 8017060: 4813 ldr r0, [pc, #76] @ (80170b0 ) - 8017062: f7fc fc9f bl 80139a4 + 8017a2c: 4813 ldr r0, [pc, #76] @ (8017a7c ) + 8017a2e: f7fc fc9d bl 801436c pxCurrentTimerList = &xActiveTimerList1; - 8017066: 4b13 ldr r3, [pc, #76] @ (80170b4 ) - 8017068: 4a10 ldr r2, [pc, #64] @ (80170ac ) - 801706a: 601a str r2, [r3, #0] + 8017a32: 4b13 ldr r3, [pc, #76] @ (8017a80 ) + 8017a34: 4a10 ldr r2, [pc, #64] @ (8017a78 ) + 8017a36: 601a str r2, [r3, #0] pxOverflowTimerList = &xActiveTimerList2; - 801706c: 4b12 ldr r3, [pc, #72] @ (80170b8 ) - 801706e: 4a10 ldr r2, [pc, #64] @ (80170b0 ) - 8017070: 601a str r2, [r3, #0] + 8017a38: 4b12 ldr r3, [pc, #72] @ (8017a84 ) + 8017a3a: 4a10 ldr r2, [pc, #64] @ (8017a7c ) + 8017a3c: 601a str r2, [r3, #0] /* The timer queue is allocated statically in case * configSUPPORT_DYNAMIC_ALLOCATION is 0. */ PRIVILEGED_DATA static StaticQueue_t xStaticTimerQueue; /*lint !e956 Ok to declare in this manner to prevent additional conditional compilation guards in other locations. */ PRIVILEGED_DATA static uint8_t ucStaticTimerQueueStorage[ ( size_t ) configTIMER_QUEUE_LENGTH * sizeof( DaemonTaskMessage_t ) ]; /*lint !e956 Ok to declare in this manner to prevent additional conditional compilation guards in other locations. */ xTimerQueue = xQueueCreateStatic( ( UBaseType_t ) configTIMER_QUEUE_LENGTH, ( UBaseType_t ) sizeof( DaemonTaskMessage_t ), &( ucStaticTimerQueueStorage[ 0 ] ), &xStaticTimerQueue ); - 8017072: 2300 movs r3, #0 - 8017074: 9300 str r3, [sp, #0] - 8017076: 4b11 ldr r3, [pc, #68] @ (80170bc ) - 8017078: 4a11 ldr r2, [pc, #68] @ (80170c0 ) - 801707a: 2110 movs r1, #16 - 801707c: 200a movs r0, #10 - 801707e: f7fc fdb3 bl 8013be8 - 8017082: 4603 mov r3, r0 - 8017084: 4a08 ldr r2, [pc, #32] @ (80170a8 ) - 8017086: 6013 str r3, [r2, #0] + 8017a3e: 2300 movs r3, #0 + 8017a40: 9300 str r3, [sp, #0] + 8017a42: 4b11 ldr r3, [pc, #68] @ (8017a88 ) + 8017a44: 4a11 ldr r2, [pc, #68] @ (8017a8c ) + 8017a46: 2110 movs r1, #16 + 8017a48: 200a movs r0, #10 + 8017a4a: f7fc fdb1 bl 80145b0 + 8017a4e: 4603 mov r3, r0 + 8017a50: 4a08 ldr r2, [pc, #32] @ (8017a74 ) + 8017a52: 6013 str r3, [r2, #0] } #endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ #if ( configQUEUE_REGISTRY_SIZE > 0 ) { if( xTimerQueue != NULL ) - 8017088: 4b07 ldr r3, [pc, #28] @ (80170a8 ) - 801708a: 681b ldr r3, [r3, #0] - 801708c: 2b00 cmp r3, #0 - 801708e: d005 beq.n 801709c + 8017a54: 4b07 ldr r3, [pc, #28] @ (8017a74 ) + 8017a56: 681b ldr r3, [r3, #0] + 8017a58: 2b00 cmp r3, #0 + 8017a5a: d005 beq.n 8017a68 { vQueueAddToRegistry( xTimerQueue, "TmrQ" ); - 8017090: 4b05 ldr r3, [pc, #20] @ (80170a8 ) - 8017092: 681b ldr r3, [r3, #0] - 8017094: 490b ldr r1, [pc, #44] @ (80170c4 ) - 8017096: 4618 mov r0, r3 - 8017098: f7fd fdc0 bl 8014c1c + 8017a5c: 4b05 ldr r3, [pc, #20] @ (8017a74 ) + 8017a5e: 681b ldr r3, [r3, #0] + 8017a60: 490b ldr r1, [pc, #44] @ (8017a90 ) + 8017a62: 4618 mov r0, r3 + 8017a64: f7fd fdbe bl 80155e4 else { mtCOVERAGE_TEST_MARKER(); } } taskEXIT_CRITICAL(); - 801709c: f000 f992 bl 80173c4 + 8017a68: f000 f994 bl 8017d94 } - 80170a0: bf00 nop - 80170a2: 46bd mov sp, r7 - 80170a4: bd80 pop {r7, pc} - 80170a6: bf00 nop - 80170a8: 200025f8 .word 0x200025f8 - 80170ac: 200025c8 .word 0x200025c8 - 80170b0: 200025dc .word 0x200025dc - 80170b4: 200025f0 .word 0x200025f0 - 80170b8: 200025f4 .word 0x200025f4 - 80170bc: 200026a4 .word 0x200026a4 - 80170c0: 20002604 .word 0x20002604 - 80170c4: 0801d9cc .word 0x0801d9cc + 8017a6c: bf00 nop + 8017a6e: 46bd mov sp, r7 + 8017a70: bd80 pop {r7, pc} + 8017a72: bf00 nop + 8017a74: 20002698 .word 0x20002698 + 8017a78: 20002668 .word 0x20002668 + 8017a7c: 2000267c .word 0x2000267c + 8017a80: 20002690 .word 0x20002690 + 8017a84: 20002694 .word 0x20002694 + 8017a88: 20002744 .word 0x20002744 + 8017a8c: 200026a4 .word 0x200026a4 + 8017a90: 0801e32c .word 0x0801e32c -080170c8 : +08017a94 : * See header file for description. */ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void * pvParameters ) { - 80170c8: b480 push {r7} - 80170ca: b085 sub sp, #20 - 80170cc: af00 add r7, sp, #0 - 80170ce: 60f8 str r0, [r7, #12] - 80170d0: 60b9 str r1, [r7, #8] - 80170d2: 607a str r2, [r7, #4] + 8017a94: b480 push {r7} + 8017a96: b085 sub sp, #20 + 8017a98: af00 add r7, sp, #0 + 8017a9a: 60f8 str r0, [r7, #12] + 8017a9c: 60b9 str r1, [r7, #8] + 8017a9e: 607a str r2, [r7, #4] /* Simulate the stack frame as it would be created by a context switch * interrupt. */ /* Offset added to account for the way the MCU uses the stack on entry/exit * of interrupts, and to ensure alignment. */ pxTopOfStack--; - 80170d4: 68fb ldr r3, [r7, #12] - 80170d6: 3b04 subs r3, #4 - 80170d8: 60fb str r3, [r7, #12] + 8017aa0: 68fb ldr r3, [r7, #12] + 8017aa2: 3b04 subs r3, #4 + 8017aa4: 60fb str r3, [r7, #12] *pxTopOfStack = portINITIAL_XPSR; /* xPSR */ - 80170da: 68fb ldr r3, [r7, #12] - 80170dc: f04f 7280 mov.w r2, #16777216 @ 0x1000000 - 80170e0: 601a str r2, [r3, #0] + 8017aa6: 68fb ldr r3, [r7, #12] + 8017aa8: f04f 7280 mov.w r2, #16777216 @ 0x1000000 + 8017aac: 601a str r2, [r3, #0] pxTopOfStack--; - 80170e2: 68fb ldr r3, [r7, #12] - 80170e4: 3b04 subs r3, #4 - 80170e6: 60fb str r3, [r7, #12] + 8017aae: 68fb ldr r3, [r7, #12] + 8017ab0: 3b04 subs r3, #4 + 8017ab2: 60fb str r3, [r7, #12] *pxTopOfStack = ( ( StackType_t ) pxCode ) & portSTART_ADDRESS_MASK; /* PC */ - 80170e8: 68bb ldr r3, [r7, #8] - 80170ea: f023 0201 bic.w r2, r3, #1 - 80170ee: 68fb ldr r3, [r7, #12] - 80170f0: 601a str r2, [r3, #0] + 8017ab4: 68bb ldr r3, [r7, #8] + 8017ab6: f023 0201 bic.w r2, r3, #1 + 8017aba: 68fb ldr r3, [r7, #12] + 8017abc: 601a str r2, [r3, #0] pxTopOfStack--; - 80170f2: 68fb ldr r3, [r7, #12] - 80170f4: 3b04 subs r3, #4 - 80170f6: 60fb str r3, [r7, #12] + 8017abe: 68fb ldr r3, [r7, #12] + 8017ac0: 3b04 subs r3, #4 + 8017ac2: 60fb str r3, [r7, #12] *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR */ - 80170f8: 4a0c ldr r2, [pc, #48] @ (801712c ) - 80170fa: 68fb ldr r3, [r7, #12] - 80170fc: 601a str r2, [r3, #0] + 8017ac4: 4a0c ldr r2, [pc, #48] @ (8017af8 ) + 8017ac6: 68fb ldr r3, [r7, #12] + 8017ac8: 601a str r2, [r3, #0] /* Save code space by skipping register initialisation. */ pxTopOfStack -= 5; /* R12, R3, R2 and R1. */ - 80170fe: 68fb ldr r3, [r7, #12] - 8017100: 3b14 subs r3, #20 - 8017102: 60fb str r3, [r7, #12] + 8017aca: 68fb ldr r3, [r7, #12] + 8017acc: 3b14 subs r3, #20 + 8017ace: 60fb str r3, [r7, #12] *pxTopOfStack = ( StackType_t ) pvParameters; /* R0 */ - 8017104: 687a ldr r2, [r7, #4] - 8017106: 68fb ldr r3, [r7, #12] - 8017108: 601a str r2, [r3, #0] + 8017ad0: 687a ldr r2, [r7, #4] + 8017ad2: 68fb ldr r3, [r7, #12] + 8017ad4: 601a str r2, [r3, #0] /* A save method is being used that requires each task to maintain its * own exec return value. */ pxTopOfStack--; - 801710a: 68fb ldr r3, [r7, #12] - 801710c: 3b04 subs r3, #4 - 801710e: 60fb str r3, [r7, #12] + 8017ad6: 68fb ldr r3, [r7, #12] + 8017ad8: 3b04 subs r3, #4 + 8017ada: 60fb str r3, [r7, #12] *pxTopOfStack = portINITIAL_EXC_RETURN; - 8017110: 68fb ldr r3, [r7, #12] - 8017112: f06f 0202 mvn.w r2, #2 - 8017116: 601a str r2, [r3, #0] + 8017adc: 68fb ldr r3, [r7, #12] + 8017ade: f06f 0202 mvn.w r2, #2 + 8017ae2: 601a str r2, [r3, #0] pxTopOfStack -= 8; /* R11, R10, R9, R8, R7, R6, R5 and R4. */ - 8017118: 68fb ldr r3, [r7, #12] - 801711a: 3b20 subs r3, #32 - 801711c: 60fb str r3, [r7, #12] + 8017ae4: 68fb ldr r3, [r7, #12] + 8017ae6: 3b20 subs r3, #32 + 8017ae8: 60fb str r3, [r7, #12] return pxTopOfStack; - 801711e: 68fb ldr r3, [r7, #12] + 8017aea: 68fb ldr r3, [r7, #12] } - 8017120: 4618 mov r0, r3 - 8017122: 3714 adds r7, #20 - 8017124: 46bd mov sp, r7 - 8017126: f85d 7b04 ldr.w r7, [sp], #4 - 801712a: 4770 bx lr - 801712c: 08017131 .word 0x08017131 + 8017aec: 4618 mov r0, r3 + 8017aee: 3714 adds r7, #20 + 8017af0: 46bd mov sp, r7 + 8017af2: f85d 7b04 ldr.w r7, [sp], #4 + 8017af6: 4770 bx lr + 8017af8: 08017afd .word 0x08017afd -08017130 : +08017afc : /*-----------------------------------------------------------*/ static void prvTaskExitError( void ) { - 8017130: b480 push {r7} - 8017132: b085 sub sp, #20 - 8017134: af00 add r7, sp, #0 + 8017afc: b480 push {r7} + 8017afe: b085 sub sp, #20 + 8017b00: af00 add r7, sp, #0 volatile uint32_t ulDummy = 0; - 8017136: 2300 movs r3, #0 - 8017138: 607b str r3, [r7, #4] + 8017b02: 2300 movs r3, #0 + 8017b04: 607b str r3, [r7, #4] * its caller as there is nothing to return to. If a task wants to exit it * should instead call vTaskDelete( NULL ). * * Artificially force an assert() to be triggered if configASSERT() is * defined, then stop here so application writers can catch the error. */ configASSERT( uxCriticalNesting == ~0UL ); - 801713a: 4b13 ldr r3, [pc, #76] @ (8017188 ) - 801713c: 681b ldr r3, [r3, #0] - 801713e: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff - 8017142: d00b beq.n 801715c + 8017b06: 4b13 ldr r3, [pc, #76] @ (8017b54 ) + 8017b08: 681b ldr r3, [r3, #0] + 8017b0a: f1b3 3fff cmp.w r3, #4294967295 @ 0xffffffff + 8017b0e: d00b beq.n 8017b28 __asm volatile - 8017144: f04f 0350 mov.w r3, #80 @ 0x50 - 8017148: f383 8811 msr BASEPRI, r3 - 801714c: f3bf 8f6f isb sy - 8017150: f3bf 8f4f dsb sy - 8017154: 60fb str r3, [r7, #12] + 8017b10: f04f 0350 mov.w r3, #80 @ 0x50 + 8017b14: f383 8811 msr BASEPRI, r3 + 8017b18: f3bf 8f6f isb sy + 8017b1c: f3bf 8f4f dsb sy + 8017b20: 60fb str r3, [r7, #12] } - 8017156: bf00 nop - 8017158: bf00 nop - 801715a: e7fd b.n 8017158 + 8017b22: bf00 nop + 8017b24: bf00 nop + 8017b26: e7fd b.n 8017b24 __asm volatile - 801715c: f04f 0350 mov.w r3, #80 @ 0x50 - 8017160: f383 8811 msr BASEPRI, r3 - 8017164: f3bf 8f6f isb sy - 8017168: f3bf 8f4f dsb sy - 801716c: 60bb str r3, [r7, #8] + 8017b28: f04f 0350 mov.w r3, #80 @ 0x50 + 8017b2c: f383 8811 msr BASEPRI, r3 + 8017b30: f3bf 8f6f isb sy + 8017b34: f3bf 8f4f dsb sy + 8017b38: 60bb str r3, [r7, #8] } - 801716e: bf00 nop + 8017b3a: bf00 nop portDISABLE_INTERRUPTS(); while( ulDummy == 0 ) - 8017170: bf00 nop - 8017172: 687b ldr r3, [r7, #4] - 8017174: 2b00 cmp r3, #0 - 8017176: d0fc beq.n 8017172 + 8017b3c: bf00 nop + 8017b3e: 687b ldr r3, [r7, #4] + 8017b40: 2b00 cmp r3, #0 + 8017b42: d0fc beq.n 8017b3e * about code appearing after this function is called - making ulDummy * volatile makes the compiler think the function could return and * therefore not output an 'unreachable code' warning for code that appears * after it. */ } } - 8017178: bf00 nop - 801717a: bf00 nop - 801717c: 3714 adds r7, #20 - 801717e: 46bd mov sp, r7 - 8017180: f85d 7b04 ldr.w r7, [sp], #4 - 8017184: 4770 bx lr - 8017186: bf00 nop - 8017188: 200000a4 .word 0x200000a4 - 801718c: 00000000 .word 0x00000000 + 8017b44: bf00 nop + 8017b46: bf00 nop + 8017b48: 3714 adds r7, #20 + 8017b4a: 46bd mov sp, r7 + 8017b4c: f85d 7b04 ldr.w r7, [sp], #4 + 8017b50: 4770 bx lr + 8017b52: bf00 nop + 8017b54: 200000a4 .word 0x200000a4 + ... -08017190 : +08017b60 : /*-----------------------------------------------------------*/ void vPortSVCHandler( void ) { __asm volatile ( - 8017190: 4b07 ldr r3, [pc, #28] @ (80171b0 ) - 8017192: 6819 ldr r1, [r3, #0] - 8017194: 6808 ldr r0, [r1, #0] - 8017196: e8b0 4ff0 ldmia.w r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801719a: f380 8809 msr PSP, r0 - 801719e: f3bf 8f6f isb sy - 80171a2: f04f 0000 mov.w r0, #0 - 80171a6: f380 8811 msr BASEPRI, r0 - 80171aa: 4770 bx lr - 80171ac: f3af 8000 nop.w + 8017b60: 4b07 ldr r3, [pc, #28] @ (8017b80 ) + 8017b62: 6819 ldr r1, [r3, #0] + 8017b64: 6808 ldr r0, [r1, #0] + 8017b66: e8b0 4ff0 ldmia.w r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8017b6a: f380 8809 msr PSP, r0 + 8017b6e: f3bf 8f6f isb sy + 8017b72: f04f 0000 mov.w r0, #0 + 8017b76: f380 8811 msr BASEPRI, r0 + 8017b7a: 4770 bx lr + 8017b7c: f3af 8000 nop.w -080171b0 : - 80171b0: 200020c8 .word 0x200020c8 +08017b80 : + 8017b80: 20002168 .word 0x20002168 " bx r14 \n" " \n" " .align 4 \n" "pxCurrentTCBConst2: .word pxCurrentTCB \n" ); } - 80171b4: bf00 nop - 80171b6: bf00 nop + 8017b84: bf00 nop + 8017b86: bf00 nop -080171b8 : +08017b88 : { /* Start the first task. This also clears the bit that indicates the FPU is * in use in case the FPU was used before the scheduler was started - which * would otherwise result in the unnecessary leaving of space in the SVC stack * for lazy saving of FPU registers. */ __asm volatile ( - 80171b8: 4808 ldr r0, [pc, #32] @ (80171dc ) - 80171ba: 6800 ldr r0, [r0, #0] - 80171bc: 6800 ldr r0, [r0, #0] - 80171be: f380 8808 msr MSP, r0 - 80171c2: f04f 0000 mov.w r0, #0 - 80171c6: f380 8814 msr CONTROL, r0 - 80171ca: b662 cpsie i - 80171cc: b661 cpsie f - 80171ce: f3bf 8f4f dsb sy - 80171d2: f3bf 8f6f isb sy - 80171d6: df00 svc 0 - 80171d8: bf00 nop - 80171da: 0000 .short 0x0000 - 80171dc: e000ed08 .word 0xe000ed08 + 8017b88: 4808 ldr r0, [pc, #32] @ (8017bac ) + 8017b8a: 6800 ldr r0, [r0, #0] + 8017b8c: 6800 ldr r0, [r0, #0] + 8017b8e: f380 8808 msr MSP, r0 + 8017b92: f04f 0000 mov.w r0, #0 + 8017b96: f380 8814 msr CONTROL, r0 + 8017b9a: b662 cpsie i + 8017b9c: b661 cpsie f + 8017b9e: f3bf 8f4f dsb sy + 8017ba2: f3bf 8f6f isb sy + 8017ba6: df00 svc 0 + 8017ba8: bf00 nop + 8017baa: 0000 .short 0x0000 + 8017bac: e000ed08 .word 0xe000ed08 " isb \n" " svc 0 \n" /* System call to start first task. */ " nop \n" " .ltorg \n" ); } - 80171e0: bf00 nop - 80171e2: bf00 nop + 8017bb0: bf00 nop + 8017bb2: bf00 nop -080171e4 : +08017bb4 : /* * See header file for description. */ BaseType_t xPortStartScheduler( void ) { - 80171e4: b580 push {r7, lr} - 80171e6: b088 sub sp, #32 - 80171e8: af00 add r7, sp, #0 + 8017bb4: b580 push {r7, lr} + 8017bb6: b088 sub sp, #32 + 8017bb8: af00 add r7, sp, #0 /* This port can be used on all revisions of the Cortex-M7 core other than * the r0p1 parts. r0p1 parts should use the port from the * /source/portable/GCC/ARM_CM7/r0p1 directory. */ configASSERT( portCPUID != portCORTEX_M7_r0p1_ID ); - 80171ea: 4b54 ldr r3, [pc, #336] @ (801733c ) - 80171ec: 681b ldr r3, [r3, #0] - 80171ee: 4a54 ldr r2, [pc, #336] @ (8017340 ) - 80171f0: 4293 cmp r3, r2 - 80171f2: d10b bne.n 801720c + 8017bba: 4b54 ldr r3, [pc, #336] @ (8017d0c ) + 8017bbc: 681b ldr r3, [r3, #0] + 8017bbe: 4a54 ldr r2, [pc, #336] @ (8017d10 ) + 8017bc0: 4293 cmp r3, r2 + 8017bc2: d10b bne.n 8017bdc __asm volatile - 80171f4: f04f 0350 mov.w r3, #80 @ 0x50 - 80171f8: f383 8811 msr BASEPRI, r3 - 80171fc: f3bf 8f6f isb sy - 8017200: f3bf 8f4f dsb sy - 8017204: 617b str r3, [r7, #20] + 8017bc4: f04f 0350 mov.w r3, #80 @ 0x50 + 8017bc8: f383 8811 msr BASEPRI, r3 + 8017bcc: f3bf 8f6f isb sy + 8017bd0: f3bf 8f4f dsb sy + 8017bd4: 617b str r3, [r7, #20] } - 8017206: bf00 nop - 8017208: bf00 nop - 801720a: e7fd b.n 8017208 + 8017bd6: bf00 nop + 8017bd8: bf00 nop + 8017bda: e7fd b.n 8017bd8 configASSERT( portCPUID != portCORTEX_M7_r0p0_ID ); - 801720c: 4b4b ldr r3, [pc, #300] @ (801733c ) - 801720e: 681b ldr r3, [r3, #0] - 8017210: 4a4c ldr r2, [pc, #304] @ (8017344 ) - 8017212: 4293 cmp r3, r2 - 8017214: d10b bne.n 801722e + 8017bdc: 4b4b ldr r3, [pc, #300] @ (8017d0c ) + 8017bde: 681b ldr r3, [r3, #0] + 8017be0: 4a4c ldr r2, [pc, #304] @ (8017d14 ) + 8017be2: 4293 cmp r3, r2 + 8017be4: d10b bne.n 8017bfe __asm volatile - 8017216: f04f 0350 mov.w r3, #80 @ 0x50 - 801721a: f383 8811 msr BASEPRI, r3 - 801721e: f3bf 8f6f isb sy - 8017222: f3bf 8f4f dsb sy - 8017226: 61bb str r3, [r7, #24] + 8017be6: f04f 0350 mov.w r3, #80 @ 0x50 + 8017bea: f383 8811 msr BASEPRI, r3 + 8017bee: f3bf 8f6f isb sy + 8017bf2: f3bf 8f4f dsb sy + 8017bf6: 61bb str r3, [r7, #24] } - 8017228: bf00 nop - 801722a: bf00 nop - 801722c: e7fd b.n 801722a + 8017bf8: bf00 nop + 8017bfa: bf00 nop + 8017bfc: e7fd b.n 8017bfa #if ( configASSERT_DEFINED == 1 ) { volatile uint8_t ucOriginalPriority; volatile uint32_t ulImplementedPrioBits = 0; - 801722e: 2300 movs r3, #0 - 8017230: 607b str r3, [r7, #4] + 8017bfe: 2300 movs r3, #0 + 8017c00: 607b str r3, [r7, #4] volatile uint8_t * const pucFirstUserPriorityRegister = ( volatile uint8_t * const ) ( portNVIC_IP_REGISTERS_OFFSET_16 + portFIRST_USER_INTERRUPT_NUMBER ); - 8017232: 4b45 ldr r3, [pc, #276] @ (8017348 ) - 8017234: 61fb str r3, [r7, #28] + 8017c02: 4b45 ldr r3, [pc, #276] @ (8017d18 ) + 8017c04: 61fb str r3, [r7, #28] * functions can be called. ISR safe functions are those that end in * "FromISR". FreeRTOS maintains separate thread and ISR API functions to * ensure interrupt entry is as fast and simple as possible. * * Save the interrupt priority value that is about to be clobbered. */ ucOriginalPriority = *pucFirstUserPriorityRegister; - 8017236: 69fb ldr r3, [r7, #28] - 8017238: 781b ldrb r3, [r3, #0] - 801723a: b2db uxtb r3, r3 - 801723c: 72fb strb r3, [r7, #11] + 8017c06: 69fb ldr r3, [r7, #28] + 8017c08: 781b ldrb r3, [r3, #0] + 8017c0a: b2db uxtb r3, r3 + 8017c0c: 72fb strb r3, [r7, #11] /* Determine the number of priority bits available. First write to all * possible bits. */ *pucFirstUserPriorityRegister = portMAX_8_BIT_VALUE; - 801723e: 69fb ldr r3, [r7, #28] - 8017240: 22ff movs r2, #255 @ 0xff - 8017242: 701a strb r2, [r3, #0] + 8017c0e: 69fb ldr r3, [r7, #28] + 8017c10: 22ff movs r2, #255 @ 0xff + 8017c12: 701a strb r2, [r3, #0] /* Read the value back to see how many bits stuck. */ ucMaxPriorityValue = *pucFirstUserPriorityRegister; - 8017244: 69fb ldr r3, [r7, #28] - 8017246: 781b ldrb r3, [r3, #0] - 8017248: b2db uxtb r3, r3 - 801724a: 70fb strb r3, [r7, #3] + 8017c14: 69fb ldr r3, [r7, #28] + 8017c16: 781b ldrb r3, [r3, #0] + 8017c18: b2db uxtb r3, r3 + 8017c1a: 70fb strb r3, [r7, #3] /* Use the same mask on the maximum system call priority. */ ucMaxSysCallPriority = configMAX_SYSCALL_INTERRUPT_PRIORITY & ucMaxPriorityValue; - 801724c: 78fb ldrb r3, [r7, #3] - 801724e: b2db uxtb r3, r3 - 8017250: f003 0350 and.w r3, r3, #80 @ 0x50 - 8017254: b2da uxtb r2, r3 - 8017256: 4b3d ldr r3, [pc, #244] @ (801734c ) - 8017258: 701a strb r2, [r3, #0] + 8017c1c: 78fb ldrb r3, [r7, #3] + 8017c1e: b2db uxtb r3, r3 + 8017c20: f003 0350 and.w r3, r3, #80 @ 0x50 + 8017c24: b2da uxtb r2, r3 + 8017c26: 4b3d ldr r3, [pc, #244] @ (8017d1c ) + 8017c28: 701a strb r2, [r3, #0] * accounting for the number of priority bits supported by the * hardware. A priority of 0 is invalid because setting the BASEPRI * register to 0 unmasks all interrupts, and interrupts with priority 0 * cannot be masked using BASEPRI. * See https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */ configASSERT( ucMaxSysCallPriority ); - 801725a: 4b3c ldr r3, [pc, #240] @ (801734c ) - 801725c: 781b ldrb r3, [r3, #0] - 801725e: 2b00 cmp r3, #0 - 8017260: d10b bne.n 801727a + 8017c2a: 4b3c ldr r3, [pc, #240] @ (8017d1c ) + 8017c2c: 781b ldrb r3, [r3, #0] + 8017c2e: 2b00 cmp r3, #0 + 8017c30: d10b bne.n 8017c4a __asm volatile - 8017262: f04f 0350 mov.w r3, #80 @ 0x50 - 8017266: f383 8811 msr BASEPRI, r3 - 801726a: f3bf 8f6f isb sy - 801726e: f3bf 8f4f dsb sy - 8017272: 613b str r3, [r7, #16] + 8017c32: f04f 0350 mov.w r3, #80 @ 0x50 + 8017c36: f383 8811 msr BASEPRI, r3 + 8017c3a: f3bf 8f6f isb sy + 8017c3e: f3bf 8f4f dsb sy + 8017c42: 613b str r3, [r7, #16] } - 8017274: bf00 nop - 8017276: bf00 nop - 8017278: e7fd b.n 8017276 + 8017c44: bf00 nop + 8017c46: bf00 nop + 8017c48: e7fd b.n 8017c46 /* Check that the bits not implemented in hardware are zero in * configMAX_SYSCALL_INTERRUPT_PRIORITY. */ configASSERT( ( configMAX_SYSCALL_INTERRUPT_PRIORITY & ( ~ucMaxPriorityValue ) ) == 0U ); - 801727a: 78fb ldrb r3, [r7, #3] - 801727c: b2db uxtb r3, r3 - 801727e: 43db mvns r3, r3 - 8017280: f003 0350 and.w r3, r3, #80 @ 0x50 - 8017284: 2b00 cmp r3, #0 - 8017286: d013 beq.n 80172b0 + 8017c4a: 78fb ldrb r3, [r7, #3] + 8017c4c: b2db uxtb r3, r3 + 8017c4e: 43db mvns r3, r3 + 8017c50: f003 0350 and.w r3, r3, #80 @ 0x50 + 8017c54: 2b00 cmp r3, #0 + 8017c56: d013 beq.n 8017c80 __asm volatile - 8017288: f04f 0350 mov.w r3, #80 @ 0x50 - 801728c: f383 8811 msr BASEPRI, r3 - 8017290: f3bf 8f6f isb sy - 8017294: f3bf 8f4f dsb sy - 8017298: 60fb str r3, [r7, #12] + 8017c58: f04f 0350 mov.w r3, #80 @ 0x50 + 8017c5c: f383 8811 msr BASEPRI, r3 + 8017c60: f3bf 8f6f isb sy + 8017c64: f3bf 8f4f dsb sy + 8017c68: 60fb str r3, [r7, #12] } - 801729a: bf00 nop - 801729c: bf00 nop - 801729e: e7fd b.n 801729c + 8017c6a: bf00 nop + 8017c6c: bf00 nop + 8017c6e: e7fd b.n 8017c6c /* Calculate the maximum acceptable priority group value for the number * of bits read back. */ while( ( ucMaxPriorityValue & portTOP_BIT_OF_BYTE ) == portTOP_BIT_OF_BYTE ) { ulImplementedPrioBits++; - 80172a0: 687b ldr r3, [r7, #4] - 80172a2: 3301 adds r3, #1 - 80172a4: 607b str r3, [r7, #4] + 8017c70: 687b ldr r3, [r7, #4] + 8017c72: 3301 adds r3, #1 + 8017c74: 607b str r3, [r7, #4] ucMaxPriorityValue <<= ( uint8_t ) 0x01; - 80172a6: 78fb ldrb r3, [r7, #3] - 80172a8: b2db uxtb r3, r3 - 80172aa: 005b lsls r3, r3, #1 - 80172ac: b2db uxtb r3, r3 - 80172ae: 70fb strb r3, [r7, #3] + 8017c76: 78fb ldrb r3, [r7, #3] + 8017c78: b2db uxtb r3, r3 + 8017c7a: 005b lsls r3, r3, #1 + 8017c7c: b2db uxtb r3, r3 + 8017c7e: 70fb strb r3, [r7, #3] while( ( ucMaxPriorityValue & portTOP_BIT_OF_BYTE ) == portTOP_BIT_OF_BYTE ) - 80172b0: 78fb ldrb r3, [r7, #3] - 80172b2: b2db uxtb r3, r3 - 80172b4: f003 0380 and.w r3, r3, #128 @ 0x80 - 80172b8: 2b80 cmp r3, #128 @ 0x80 - 80172ba: d0f1 beq.n 80172a0 + 8017c80: 78fb ldrb r3, [r7, #3] + 8017c82: b2db uxtb r3, r3 + 8017c84: f003 0380 and.w r3, r3, #128 @ 0x80 + 8017c88: 2b80 cmp r3, #128 @ 0x80 + 8017c8a: d0f1 beq.n 8017c70 } if( ulImplementedPrioBits == 8 ) - 80172bc: 687b ldr r3, [r7, #4] - 80172be: 2b08 cmp r3, #8 - 80172c0: d103 bne.n 80172ca + 8017c8c: 687b ldr r3, [r7, #4] + 8017c8e: 2b08 cmp r3, #8 + 8017c90: d103 bne.n 8017c9a * * The following assert ensures that the sub-priority bit in the * configMAX_SYSCALL_INTERRUPT_PRIORITY is clear to avoid the above mentioned * confusion. */ configASSERT( ( configMAX_SYSCALL_INTERRUPT_PRIORITY & 0x1U ) == 0U ); ulMaxPRIGROUPValue = 0; - 80172c2: 4b23 ldr r3, [pc, #140] @ (8017350 ) - 80172c4: 2200 movs r2, #0 - 80172c6: 601a str r2, [r3, #0] - 80172c8: e004 b.n 80172d4 + 8017c92: 4b23 ldr r3, [pc, #140] @ (8017d20 ) + 8017c94: 2200 movs r2, #0 + 8017c96: 601a str r2, [r3, #0] + 8017c98: e004 b.n 8017ca4 } else { ulMaxPRIGROUPValue = portMAX_PRIGROUP_BITS - ulImplementedPrioBits; - 80172ca: 687b ldr r3, [r7, #4] - 80172cc: f1c3 0307 rsb r3, r3, #7 - 80172d0: 4a1f ldr r2, [pc, #124] @ (8017350 ) - 80172d2: 6013 str r3, [r2, #0] + 8017c9a: 687b ldr r3, [r7, #4] + 8017c9c: f1c3 0307 rsb r3, r3, #7 + 8017ca0: 4a1f ldr r2, [pc, #124] @ (8017d20 ) + 8017ca2: 6013 str r3, [r2, #0] } /* Shift the priority group value back to its position within the AIRCR * register. */ ulMaxPRIGROUPValue <<= portPRIGROUP_SHIFT; - 80172d4: 4b1e ldr r3, [pc, #120] @ (8017350 ) - 80172d6: 681b ldr r3, [r3, #0] - 80172d8: 021b lsls r3, r3, #8 - 80172da: 4a1d ldr r2, [pc, #116] @ (8017350 ) - 80172dc: 6013 str r3, [r2, #0] + 8017ca4: 4b1e ldr r3, [pc, #120] @ (8017d20 ) + 8017ca6: 681b ldr r3, [r3, #0] + 8017ca8: 021b lsls r3, r3, #8 + 8017caa: 4a1d ldr r2, [pc, #116] @ (8017d20 ) + 8017cac: 6013 str r3, [r2, #0] ulMaxPRIGROUPValue &= portPRIORITY_GROUP_MASK; - 80172de: 4b1c ldr r3, [pc, #112] @ (8017350 ) - 80172e0: 681b ldr r3, [r3, #0] - 80172e2: f403 63e0 and.w r3, r3, #1792 @ 0x700 - 80172e6: 4a1a ldr r2, [pc, #104] @ (8017350 ) - 80172e8: 6013 str r3, [r2, #0] + 8017cae: 4b1c ldr r3, [pc, #112] @ (8017d20 ) + 8017cb0: 681b ldr r3, [r3, #0] + 8017cb2: f403 63e0 and.w r3, r3, #1792 @ 0x700 + 8017cb6: 4a1a ldr r2, [pc, #104] @ (8017d20 ) + 8017cb8: 6013 str r3, [r2, #0] /* Restore the clobbered interrupt priority register to its original * value. */ *pucFirstUserPriorityRegister = ucOriginalPriority; - 80172ea: 7afb ldrb r3, [r7, #11] - 80172ec: b2da uxtb r2, r3 - 80172ee: 69fb ldr r3, [r7, #28] - 80172f0: 701a strb r2, [r3, #0] + 8017cba: 7afb ldrb r3, [r7, #11] + 8017cbc: b2da uxtb r2, r3 + 8017cbe: 69fb ldr r3, [r7, #28] + 8017cc0: 701a strb r2, [r3, #0] } #endif /* configASSERT_DEFINED */ /* Make PendSV and SysTick the lowest priority interrupts. */ portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI; - 80172f2: 4b18 ldr r3, [pc, #96] @ (8017354 ) - 80172f4: 681b ldr r3, [r3, #0] - 80172f6: 4a17 ldr r2, [pc, #92] @ (8017354 ) - 80172f8: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 - 80172fc: 6013 str r3, [r2, #0] + 8017cc2: 4b18 ldr r3, [pc, #96] @ (8017d24 ) + 8017cc4: 681b ldr r3, [r3, #0] + 8017cc6: 4a17 ldr r2, [pc, #92] @ (8017d24 ) + 8017cc8: f443 037f orr.w r3, r3, #16711680 @ 0xff0000 + 8017ccc: 6013 str r3, [r2, #0] portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI; - 80172fe: 4b15 ldr r3, [pc, #84] @ (8017354 ) - 8017300: 681b ldr r3, [r3, #0] - 8017302: 4a14 ldr r2, [pc, #80] @ (8017354 ) - 8017304: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 - 8017308: 6013 str r3, [r2, #0] + 8017cce: 4b15 ldr r3, [pc, #84] @ (8017d24 ) + 8017cd0: 681b ldr r3, [r3, #0] + 8017cd2: 4a14 ldr r2, [pc, #80] @ (8017d24 ) + 8017cd4: f043 437f orr.w r3, r3, #4278190080 @ 0xff000000 + 8017cd8: 6013 str r3, [r2, #0] /* Start the timer that generates the tick ISR. Interrupts are disabled * here already. */ vPortSetupTimerInterrupt(); - 801730a: f000 f8df bl 80174cc + 8017cda: f000 f8df bl 8017e9c /* Initialise the critical nesting count ready for the first task. */ uxCriticalNesting = 0; - 801730e: 4b12 ldr r3, [pc, #72] @ (8017358 ) - 8017310: 2200 movs r2, #0 - 8017312: 601a str r2, [r3, #0] + 8017cde: 4b12 ldr r3, [pc, #72] @ (8017d28 ) + 8017ce0: 2200 movs r2, #0 + 8017ce2: 601a str r2, [r3, #0] /* Ensure the VFP is enabled - it should be anyway. */ vPortEnableVFP(); - 8017314: f000 f8fe bl 8017514 + 8017ce4: f000 f8fe bl 8017ee4 /* Lazy save always. */ *( portFPCCR ) |= portASPEN_AND_LSPEN_BITS; - 8017318: 4b10 ldr r3, [pc, #64] @ (801735c ) - 801731a: 681b ldr r3, [r3, #0] - 801731c: 4a0f ldr r2, [pc, #60] @ (801735c ) - 801731e: f043 4340 orr.w r3, r3, #3221225472 @ 0xc0000000 - 8017322: 6013 str r3, [r2, #0] + 8017ce8: 4b10 ldr r3, [pc, #64] @ (8017d2c ) + 8017cea: 681b ldr r3, [r3, #0] + 8017cec: 4a0f ldr r2, [pc, #60] @ (8017d2c ) + 8017cee: f043 4340 orr.w r3, r3, #3221225472 @ 0xc0000000 + 8017cf2: 6013 str r3, [r2, #0] /* Start the first task. */ prvPortStartFirstTask(); - 8017324: f7ff ff48 bl 80171b8 + 8017cf4: f7ff ff48 bl 8017b88 * exit error function to prevent compiler warnings about a static function * not being called in the case that the application writer overrides this * functionality by defining configTASK_RETURN_ADDRESS. Call * vTaskSwitchContext() so link time optimisation does not remove the * symbol. */ vTaskSwitchContext(); - 8017328: f7fe f9f0 bl 801570c + 8017cf8: f7fe f9d4 bl 80160a4 prvTaskExitError(); - 801732c: f7ff ff00 bl 8017130 + 8017cfc: f7ff fefe bl 8017afc /* Should not get here! */ return 0; - 8017330: 2300 movs r3, #0 + 8017d00: 2300 movs r3, #0 } - 8017332: 4618 mov r0, r3 - 8017334: 3720 adds r7, #32 - 8017336: 46bd mov sp, r7 - 8017338: bd80 pop {r7, pc} - 801733a: bf00 nop - 801733c: e000ed00 .word 0xe000ed00 - 8017340: 410fc271 .word 0x410fc271 - 8017344: 410fc270 .word 0x410fc270 - 8017348: e000e400 .word 0xe000e400 - 801734c: 200026f4 .word 0x200026f4 - 8017350: 200026f8 .word 0x200026f8 - 8017354: e000ed20 .word 0xe000ed20 - 8017358: 200000a4 .word 0x200000a4 - 801735c: e000ef34 .word 0xe000ef34 + 8017d02: 4618 mov r0, r3 + 8017d04: 3720 adds r7, #32 + 8017d06: 46bd mov sp, r7 + 8017d08: bd80 pop {r7, pc} + 8017d0a: bf00 nop + 8017d0c: e000ed00 .word 0xe000ed00 + 8017d10: 410fc271 .word 0x410fc271 + 8017d14: 410fc270 .word 0x410fc270 + 8017d18: e000e400 .word 0xe000e400 + 8017d1c: 20002794 .word 0x20002794 + 8017d20: 20002798 .word 0x20002798 + 8017d24: e000ed20 .word 0xe000ed20 + 8017d28: 200000a4 .word 0x200000a4 + 8017d2c: e000ef34 .word 0xe000ef34 -08017360 : +08017d30 : configASSERT( uxCriticalNesting == 1000UL ); } /*-----------------------------------------------------------*/ void vPortEnterCritical( void ) { - 8017360: b480 push {r7} - 8017362: b083 sub sp, #12 - 8017364: af00 add r7, sp, #0 + 8017d30: b480 push {r7} + 8017d32: b083 sub sp, #12 + 8017d34: af00 add r7, sp, #0 __asm volatile - 8017366: f04f 0350 mov.w r3, #80 @ 0x50 - 801736a: f383 8811 msr BASEPRI, r3 - 801736e: f3bf 8f6f isb sy - 8017372: f3bf 8f4f dsb sy - 8017376: 607b str r3, [r7, #4] + 8017d36: f04f 0350 mov.w r3, #80 @ 0x50 + 8017d3a: f383 8811 msr BASEPRI, r3 + 8017d3e: f3bf 8f6f isb sy + 8017d42: f3bf 8f4f dsb sy + 8017d46: 607b str r3, [r7, #4] } - 8017378: bf00 nop + 8017d48: bf00 nop portDISABLE_INTERRUPTS(); uxCriticalNesting++; - 801737a: 4b10 ldr r3, [pc, #64] @ (80173bc ) - 801737c: 681b ldr r3, [r3, #0] - 801737e: 3301 adds r3, #1 - 8017380: 4a0e ldr r2, [pc, #56] @ (80173bc ) - 8017382: 6013 str r3, [r2, #0] + 8017d4a: 4b10 ldr r3, [pc, #64] @ (8017d8c ) + 8017d4c: 681b ldr r3, [r3, #0] + 8017d4e: 3301 adds r3, #1 + 8017d50: 4a0e ldr r2, [pc, #56] @ (8017d8c ) + 8017d52: 6013 str r3, [r2, #0] /* This is not the interrupt safe version of the enter critical function so * assert() if it is being called from an interrupt context. Only API * functions that end in "FromISR" can be used in an interrupt. Only assert if * the critical nesting count is 1 to protect against recursive calls if the * assert function also uses a critical section. */ if( uxCriticalNesting == 1 ) - 8017384: 4b0d ldr r3, [pc, #52] @ (80173bc ) - 8017386: 681b ldr r3, [r3, #0] - 8017388: 2b01 cmp r3, #1 - 801738a: d110 bne.n 80173ae + 8017d54: 4b0d ldr r3, [pc, #52] @ (8017d8c ) + 8017d56: 681b ldr r3, [r3, #0] + 8017d58: 2b01 cmp r3, #1 + 8017d5a: d110 bne.n 8017d7e { configASSERT( ( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0 ); - 801738c: 4b0c ldr r3, [pc, #48] @ (80173c0 ) - 801738e: 681b ldr r3, [r3, #0] - 8017390: b2db uxtb r3, r3 - 8017392: 2b00 cmp r3, #0 - 8017394: d00b beq.n 80173ae + 8017d5c: 4b0c ldr r3, [pc, #48] @ (8017d90 ) + 8017d5e: 681b ldr r3, [r3, #0] + 8017d60: b2db uxtb r3, r3 + 8017d62: 2b00 cmp r3, #0 + 8017d64: d00b beq.n 8017d7e __asm volatile - 8017396: f04f 0350 mov.w r3, #80 @ 0x50 - 801739a: f383 8811 msr BASEPRI, r3 - 801739e: f3bf 8f6f isb sy - 80173a2: f3bf 8f4f dsb sy - 80173a6: 603b str r3, [r7, #0] + 8017d66: f04f 0350 mov.w r3, #80 @ 0x50 + 8017d6a: f383 8811 msr BASEPRI, r3 + 8017d6e: f3bf 8f6f isb sy + 8017d72: f3bf 8f4f dsb sy + 8017d76: 603b str r3, [r7, #0] } - 80173a8: bf00 nop - 80173aa: bf00 nop - 80173ac: e7fd b.n 80173aa + 8017d78: bf00 nop + 8017d7a: bf00 nop + 8017d7c: e7fd b.n 8017d7a } } - 80173ae: bf00 nop - 80173b0: 370c adds r7, #12 - 80173b2: 46bd mov sp, r7 - 80173b4: f85d 7b04 ldr.w r7, [sp], #4 - 80173b8: 4770 bx lr - 80173ba: bf00 nop - 80173bc: 200000a4 .word 0x200000a4 - 80173c0: e000ed04 .word 0xe000ed04 + 8017d7e: bf00 nop + 8017d80: 370c adds r7, #12 + 8017d82: 46bd mov sp, r7 + 8017d84: f85d 7b04 ldr.w r7, [sp], #4 + 8017d88: 4770 bx lr + 8017d8a: bf00 nop + 8017d8c: 200000a4 .word 0x200000a4 + 8017d90: e000ed04 .word 0xe000ed04 -080173c4 : +08017d94 : /*-----------------------------------------------------------*/ void vPortExitCritical( void ) { - 80173c4: b480 push {r7} - 80173c6: b083 sub sp, #12 - 80173c8: af00 add r7, sp, #0 + 8017d94: b480 push {r7} + 8017d96: b083 sub sp, #12 + 8017d98: af00 add r7, sp, #0 configASSERT( uxCriticalNesting ); - 80173ca: 4b12 ldr r3, [pc, #72] @ (8017414 ) - 80173cc: 681b ldr r3, [r3, #0] - 80173ce: 2b00 cmp r3, #0 - 80173d0: d10b bne.n 80173ea + 8017d9a: 4b12 ldr r3, [pc, #72] @ (8017de4 ) + 8017d9c: 681b ldr r3, [r3, #0] + 8017d9e: 2b00 cmp r3, #0 + 8017da0: d10b bne.n 8017dba __asm volatile - 80173d2: f04f 0350 mov.w r3, #80 @ 0x50 - 80173d6: f383 8811 msr BASEPRI, r3 - 80173da: f3bf 8f6f isb sy - 80173de: f3bf 8f4f dsb sy - 80173e2: 607b str r3, [r7, #4] + 8017da2: f04f 0350 mov.w r3, #80 @ 0x50 + 8017da6: f383 8811 msr BASEPRI, r3 + 8017daa: f3bf 8f6f isb sy + 8017dae: f3bf 8f4f dsb sy + 8017db2: 607b str r3, [r7, #4] } - 80173e4: bf00 nop - 80173e6: bf00 nop - 80173e8: e7fd b.n 80173e6 + 8017db4: bf00 nop + 8017db6: bf00 nop + 8017db8: e7fd b.n 8017db6 uxCriticalNesting--; - 80173ea: 4b0a ldr r3, [pc, #40] @ (8017414 ) - 80173ec: 681b ldr r3, [r3, #0] - 80173ee: 3b01 subs r3, #1 - 80173f0: 4a08 ldr r2, [pc, #32] @ (8017414 ) - 80173f2: 6013 str r3, [r2, #0] + 8017dba: 4b0a ldr r3, [pc, #40] @ (8017de4 ) + 8017dbc: 681b ldr r3, [r3, #0] + 8017dbe: 3b01 subs r3, #1 + 8017dc0: 4a08 ldr r2, [pc, #32] @ (8017de4 ) + 8017dc2: 6013 str r3, [r2, #0] if( uxCriticalNesting == 0 ) - 80173f4: 4b07 ldr r3, [pc, #28] @ (8017414 ) - 80173f6: 681b ldr r3, [r3, #0] - 80173f8: 2b00 cmp r3, #0 - 80173fa: d105 bne.n 8017408 - 80173fc: 2300 movs r3, #0 - 80173fe: 603b str r3, [r7, #0] + 8017dc4: 4b07 ldr r3, [pc, #28] @ (8017de4 ) + 8017dc6: 681b ldr r3, [r3, #0] + 8017dc8: 2b00 cmp r3, #0 + 8017dca: d105 bne.n 8017dd8 + 8017dcc: 2300 movs r3, #0 + 8017dce: 603b str r3, [r7, #0] __asm volatile - 8017400: 683b ldr r3, [r7, #0] - 8017402: f383 8811 msr BASEPRI, r3 + 8017dd0: 683b ldr r3, [r7, #0] + 8017dd2: f383 8811 msr BASEPRI, r3 } - 8017406: bf00 nop + 8017dd6: bf00 nop { portENABLE_INTERRUPTS(); } } - 8017408: bf00 nop - 801740a: 370c adds r7, #12 - 801740c: 46bd mov sp, r7 - 801740e: f85d 7b04 ldr.w r7, [sp], #4 - 8017412: 4770 bx lr - 8017414: 200000a4 .word 0x200000a4 + 8017dd8: bf00 nop + 8017dda: 370c adds r7, #12 + 8017ddc: 46bd mov sp, r7 + 8017dde: f85d 7b04 ldr.w r7, [sp], #4 + 8017de2: 4770 bx lr + 8017de4: 200000a4 .word 0x200000a4 ... -08017420 : +08017df0 : void xPortPendSVHandler( void ) { /* This is a naked function. */ __asm volatile - 8017420: f3ef 8009 mrs r0, PSP - 8017424: f3bf 8f6f isb sy - 8017428: 4b15 ldr r3, [pc, #84] @ (8017480 ) - 801742a: 681a ldr r2, [r3, #0] - 801742c: f01e 0f10 tst.w lr, #16 - 8017430: bf08 it eq - 8017432: ed20 8a10 vstmdbeq r0!, {s16-s31} - 8017436: e920 4ff0 stmdb r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801743a: 6010 str r0, [r2, #0] - 801743c: b409 push {r0, r3} - 801743e: f04f 0050 mov.w r0, #80 @ 0x50 - 8017442: f380 8811 msr BASEPRI, r0 - 8017446: f3bf 8f4f dsb sy - 801744a: f3bf 8f6f isb sy - 801744e: f7fe f95d bl 801570c - 8017452: f04f 0000 mov.w r0, #0 - 8017456: f380 8811 msr BASEPRI, r0 - 801745a: bc09 pop {r0, r3} - 801745c: 6819 ldr r1, [r3, #0] - 801745e: 6808 ldr r0, [r1, #0] - 8017460: e8b0 4ff0 ldmia.w r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8017464: f01e 0f10 tst.w lr, #16 - 8017468: bf08 it eq - 801746a: ecb0 8a10 vldmiaeq r0!, {s16-s31} - 801746e: f380 8809 msr PSP, r0 - 8017472: f3bf 8f6f isb sy - 8017476: 4770 bx lr - 8017478: f3af 8000 nop.w - 801747c: f3af 8000 nop.w + 8017df0: f3ef 8009 mrs r0, PSP + 8017df4: f3bf 8f6f isb sy + 8017df8: 4b15 ldr r3, [pc, #84] @ (8017e50 ) + 8017dfa: 681a ldr r2, [r3, #0] + 8017dfc: f01e 0f10 tst.w lr, #16 + 8017e00: bf08 it eq + 8017e02: ed20 8a10 vstmdbeq r0!, {s16-s31} + 8017e06: e920 4ff0 stmdb r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8017e0a: 6010 str r0, [r2, #0] + 8017e0c: b409 push {r0, r3} + 8017e0e: f04f 0050 mov.w r0, #80 @ 0x50 + 8017e12: f380 8811 msr BASEPRI, r0 + 8017e16: f3bf 8f4f dsb sy + 8017e1a: f3bf 8f6f isb sy + 8017e1e: f7fe f941 bl 80160a4 + 8017e22: f04f 0000 mov.w r0, #0 + 8017e26: f380 8811 msr BASEPRI, r0 + 8017e2a: bc09 pop {r0, r3} + 8017e2c: 6819 ldr r1, [r3, #0] + 8017e2e: 6808 ldr r0, [r1, #0] + 8017e30: e8b0 4ff0 ldmia.w r0!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8017e34: f01e 0f10 tst.w lr, #16 + 8017e38: bf08 it eq + 8017e3a: ecb0 8a10 vldmiaeq r0!, {s16-s31} + 8017e3e: f380 8809 msr PSP, r0 + 8017e42: f3bf 8f6f isb sy + 8017e46: 4770 bx lr + 8017e48: f3af 8000 nop.w + 8017e4c: f3af 8000 nop.w -08017480 : - 8017480: 200020c8 .word 0x200020c8 +08017e50 : + 8017e50: 20002168 .word 0x20002168 " \n" " .align 4 \n" "pxCurrentTCBConst: .word pxCurrentTCB \n" ::"i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) ); } - 8017484: bf00 nop - 8017486: bf00 nop + 8017e54: bf00 nop + 8017e56: bf00 nop -08017488 : +08017e58 : /*-----------------------------------------------------------*/ void xPortSysTickHandler( void ) { - 8017488: b580 push {r7, lr} - 801748a: b082 sub sp, #8 - 801748c: af00 add r7, sp, #0 + 8017e58: b580 push {r7, lr} + 8017e5a: b082 sub sp, #8 + 8017e5c: af00 add r7, sp, #0 __asm volatile - 801748e: f04f 0350 mov.w r3, #80 @ 0x50 - 8017492: f383 8811 msr BASEPRI, r3 - 8017496: f3bf 8f6f isb sy - 801749a: f3bf 8f4f dsb sy - 801749e: 607b str r3, [r7, #4] + 8017e5e: f04f 0350 mov.w r3, #80 @ 0x50 + 8017e62: f383 8811 msr BASEPRI, r3 + 8017e66: f3bf 8f6f isb sy + 8017e6a: f3bf 8f4f dsb sy + 8017e6e: 607b str r3, [r7, #4] } - 80174a0: bf00 nop + 8017e70: bf00 nop * save and then restore the interrupt mask value as its value is already * known. */ portDISABLE_INTERRUPTS(); { /* Increment the RTOS tick. */ if( xTaskIncrementTick() != pdFALSE ) - 80174a2: f7fe f81b bl 80154dc - 80174a6: 4603 mov r3, r0 - 80174a8: 2b00 cmp r3, #0 - 80174aa: d003 beq.n 80174b4 + 8017e72: f7fd ffff bl 8015e74 + 8017e76: 4603 mov r3, r0 + 8017e78: 2b00 cmp r3, #0 + 8017e7a: d003 beq.n 8017e84 { /* A context switch is required. Context switching is performed in * the PendSV interrupt. Pend the PendSV interrupt. */ portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; - 80174ac: 4b06 ldr r3, [pc, #24] @ (80174c8 ) - 80174ae: f04f 5280 mov.w r2, #268435456 @ 0x10000000 - 80174b2: 601a str r2, [r3, #0] - 80174b4: 2300 movs r3, #0 - 80174b6: 603b str r3, [r7, #0] + 8017e7c: 4b06 ldr r3, [pc, #24] @ (8017e98 ) + 8017e7e: f04f 5280 mov.w r2, #268435456 @ 0x10000000 + 8017e82: 601a str r2, [r3, #0] + 8017e84: 2300 movs r3, #0 + 8017e86: 603b str r3, [r7, #0] __asm volatile - 80174b8: 683b ldr r3, [r7, #0] - 80174ba: f383 8811 msr BASEPRI, r3 + 8017e88: 683b ldr r3, [r7, #0] + 8017e8a: f383 8811 msr BASEPRI, r3 } - 80174be: bf00 nop + 8017e8e: bf00 nop } } portENABLE_INTERRUPTS(); } - 80174c0: bf00 nop - 80174c2: 3708 adds r7, #8 - 80174c4: 46bd mov sp, r7 - 80174c6: bd80 pop {r7, pc} - 80174c8: e000ed04 .word 0xe000ed04 + 8017e90: bf00 nop + 8017e92: 3708 adds r7, #8 + 8017e94: 46bd mov sp, r7 + 8017e96: bd80 pop {r7, pc} + 8017e98: e000ed04 .word 0xe000ed04 -080174cc : +08017e9c : /* * Setup the systick timer to generate the tick interrupts at the required * frequency. */ __attribute__( ( weak ) ) void vPortSetupTimerInterrupt( void ) { - 80174cc: b480 push {r7} - 80174ce: af00 add r7, sp, #0 + 8017e9c: b480 push {r7} + 8017e9e: af00 add r7, sp, #0 ulStoppedTimerCompensation = portMISSED_COUNTS_FACTOR / ( configCPU_CLOCK_HZ / configSYSTICK_CLOCK_HZ ); } #endif /* configUSE_TICKLESS_IDLE */ /* Stop and clear the SysTick. */ portNVIC_SYSTICK_CTRL_REG = 0UL; - 80174d0: 4b0b ldr r3, [pc, #44] @ (8017500 ) - 80174d2: 2200 movs r2, #0 - 80174d4: 601a str r2, [r3, #0] + 8017ea0: 4b0b ldr r3, [pc, #44] @ (8017ed0 ) + 8017ea2: 2200 movs r2, #0 + 8017ea4: 601a str r2, [r3, #0] portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL; - 80174d6: 4b0b ldr r3, [pc, #44] @ (8017504 ) - 80174d8: 2200 movs r2, #0 - 80174da: 601a str r2, [r3, #0] + 8017ea6: 4b0b ldr r3, [pc, #44] @ (8017ed4 ) + 8017ea8: 2200 movs r2, #0 + 8017eaa: 601a str r2, [r3, #0] /* Configure SysTick to interrupt at the requested rate. */ portNVIC_SYSTICK_LOAD_REG = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL; - 80174dc: 4b0a ldr r3, [pc, #40] @ (8017508 ) - 80174de: 681b ldr r3, [r3, #0] - 80174e0: 4a0a ldr r2, [pc, #40] @ (801750c ) - 80174e2: fba2 2303 umull r2, r3, r2, r3 - 80174e6: 099b lsrs r3, r3, #6 - 80174e8: 4a09 ldr r2, [pc, #36] @ (8017510 ) - 80174ea: 3b01 subs r3, #1 - 80174ec: 6013 str r3, [r2, #0] + 8017eac: 4b0a ldr r3, [pc, #40] @ (8017ed8 ) + 8017eae: 681b ldr r3, [r3, #0] + 8017eb0: 4a0a ldr r2, [pc, #40] @ (8017edc ) + 8017eb2: fba2 2303 umull r2, r3, r2, r3 + 8017eb6: 099b lsrs r3, r3, #6 + 8017eb8: 4a09 ldr r2, [pc, #36] @ (8017ee0 ) + 8017eba: 3b01 subs r3, #1 + 8017ebc: 6013 str r3, [r2, #0] portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT_CONFIG | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT ); - 80174ee: 4b04 ldr r3, [pc, #16] @ (8017500 ) - 80174f0: 2207 movs r2, #7 - 80174f2: 601a str r2, [r3, #0] + 8017ebe: 4b04 ldr r3, [pc, #16] @ (8017ed0 ) + 8017ec0: 2207 movs r2, #7 + 8017ec2: 601a str r2, [r3, #0] } - 80174f4: bf00 nop - 80174f6: 46bd mov sp, r7 - 80174f8: f85d 7b04 ldr.w r7, [sp], #4 - 80174fc: 4770 bx lr - 80174fe: bf00 nop - 8017500: e000e010 .word 0xe000e010 - 8017504: e000e018 .word 0xe000e018 - 8017508: 2000000c .word 0x2000000c - 801750c: 10624dd3 .word 0x10624dd3 - 8017510: e000e014 .word 0xe000e014 + 8017ec4: bf00 nop + 8017ec6: 46bd mov sp, r7 + 8017ec8: f85d 7b04 ldr.w r7, [sp], #4 + 8017ecc: 4770 bx lr + 8017ece: bf00 nop + 8017ed0: e000e010 .word 0xe000e010 + 8017ed4: e000e018 .word 0xe000e018 + 8017ed8: 2000000c .word 0x2000000c + 8017edc: 10624dd3 .word 0x10624dd3 + 8017ee0: e000e014 .word 0xe000e014 -08017514 : +08017ee4 : /*-----------------------------------------------------------*/ /* This is a naked function. */ static void vPortEnableVFP( void ) { __asm volatile - 8017514: f8df 000c ldr.w r0, [pc, #12] @ 8017524 - 8017518: 6801 ldr r1, [r0, #0] - 801751a: f441 0170 orr.w r1, r1, #15728640 @ 0xf00000 - 801751e: 6001 str r1, [r0, #0] - 8017520: 4770 bx lr - 8017522: 0000 .short 0x0000 - 8017524: e000ed88 .word 0xe000ed88 + 8017ee4: f8df 000c ldr.w r0, [pc, #12] @ 8017ef4 + 8017ee8: 6801 ldr r1, [r0, #0] + 8017eea: f441 0170 orr.w r1, r1, #15728640 @ 0xf00000 + 8017eee: 6001 str r1, [r0, #0] + 8017ef0: 4770 bx lr + 8017ef2: 0000 .short 0x0000 + 8017ef4: e000ed88 .word 0xe000ed88 " orr r1, r1, #( 0xf << 20 ) \n" /* Enable CP10 and CP11 coprocessors, then save back. */ " str r1, [r0] \n" " bx r14 \n" " .ltorg \n" ); } - 8017528: bf00 nop - 801752a: bf00 nop + 8017ef8: bf00 nop + 8017efa: bf00 nop -0801752c : +08017efc : /*-----------------------------------------------------------*/ #if ( configASSERT_DEFINED == 1 ) void vPortValidateInterruptPriority( void ) { - 801752c: b480 push {r7} - 801752e: b085 sub sp, #20 - 8017530: af00 add r7, sp, #0 + 8017efc: b480 push {r7} + 8017efe: b085 sub sp, #20 + 8017f00: af00 add r7, sp, #0 uint32_t ulCurrentInterrupt; uint8_t ucCurrentPriority; /* Obtain the number of the currently executing interrupt. */ __asm volatile ( "mrs %0, ipsr" : "=r" ( ulCurrentInterrupt )::"memory" ); - 8017532: f3ef 8305 mrs r3, IPSR - 8017536: 60fb str r3, [r7, #12] + 8017f02: f3ef 8305 mrs r3, IPSR + 8017f06: 60fb str r3, [r7, #12] /* Is the interrupt number a user defined interrupt? */ if( ulCurrentInterrupt >= portFIRST_USER_INTERRUPT_NUMBER ) - 8017538: 68fb ldr r3, [r7, #12] - 801753a: 2b0f cmp r3, #15 - 801753c: d915 bls.n 801756a + 8017f08: 68fb ldr r3, [r7, #12] + 8017f0a: 2b0f cmp r3, #15 + 8017f0c: d915 bls.n 8017f3a { /* Look up the interrupt's priority. */ ucCurrentPriority = pcInterruptPriorityRegisters[ ulCurrentInterrupt ]; - 801753e: 4a18 ldr r2, [pc, #96] @ (80175a0 ) - 8017540: 68fb ldr r3, [r7, #12] - 8017542: 4413 add r3, r2 - 8017544: 781b ldrb r3, [r3, #0] - 8017546: 72fb strb r3, [r7, #11] + 8017f0e: 4a18 ldr r2, [pc, #96] @ (8017f70 ) + 8017f10: 68fb ldr r3, [r7, #12] + 8017f12: 4413 add r3, r2 + 8017f14: 781b ldrb r3, [r3, #0] + 8017f16: 72fb strb r3, [r7, #11] * interrupt entry is as fast and simple as possible. * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html * https://www.FreeRTOS.org/FAQHelp.html */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); - 8017548: 4b16 ldr r3, [pc, #88] @ (80175a4 ) - 801754a: 781b ldrb r3, [r3, #0] - 801754c: 7afa ldrb r2, [r7, #11] - 801754e: 429a cmp r2, r3 - 8017550: d20b bcs.n 801756a + 8017f18: 4b16 ldr r3, [pc, #88] @ (8017f74 ) + 8017f1a: 781b ldrb r3, [r3, #0] + 8017f1c: 7afa ldrb r2, [r7, #11] + 8017f1e: 429a cmp r2, r3 + 8017f20: d20b bcs.n 8017f3a __asm volatile - 8017552: f04f 0350 mov.w r3, #80 @ 0x50 - 8017556: f383 8811 msr BASEPRI, r3 - 801755a: f3bf 8f6f isb sy - 801755e: f3bf 8f4f dsb sy - 8017562: 607b str r3, [r7, #4] + 8017f22: f04f 0350 mov.w r3, #80 @ 0x50 + 8017f26: f383 8811 msr BASEPRI, r3 + 8017f2a: f3bf 8f6f isb sy + 8017f2e: f3bf 8f4f dsb sy + 8017f32: 607b str r3, [r7, #4] } - 8017564: bf00 nop - 8017566: bf00 nop - 8017568: e7fd b.n 8017566 + 8017f34: bf00 nop + 8017f36: bf00 nop + 8017f38: e7fd b.n 8017f36 * configuration then the correct setting can be achieved on all Cortex-M * devices by calling NVIC_SetPriorityGrouping( 0 ); before starting the * scheduler. Note however that some vendor specific peripheral libraries * assume a non-zero priority group setting, in which cases using a value * of zero will result in unpredictable behaviour. */ configASSERT( ( portAIRCR_REG & portPRIORITY_GROUP_MASK ) <= ulMaxPRIGROUPValue ); - 801756a: 4b0f ldr r3, [pc, #60] @ (80175a8 ) - 801756c: 681b ldr r3, [r3, #0] - 801756e: f403 62e0 and.w r2, r3, #1792 @ 0x700 - 8017572: 4b0e ldr r3, [pc, #56] @ (80175ac ) - 8017574: 681b ldr r3, [r3, #0] - 8017576: 429a cmp r2, r3 - 8017578: d90b bls.n 8017592 + 8017f3a: 4b0f ldr r3, [pc, #60] @ (8017f78 ) + 8017f3c: 681b ldr r3, [r3, #0] + 8017f3e: f403 62e0 and.w r2, r3, #1792 @ 0x700 + 8017f42: 4b0e ldr r3, [pc, #56] @ (8017f7c ) + 8017f44: 681b ldr r3, [r3, #0] + 8017f46: 429a cmp r2, r3 + 8017f48: d90b bls.n 8017f62 __asm volatile - 801757a: f04f 0350 mov.w r3, #80 @ 0x50 - 801757e: f383 8811 msr BASEPRI, r3 - 8017582: f3bf 8f6f isb sy - 8017586: f3bf 8f4f dsb sy - 801758a: 603b str r3, [r7, #0] + 8017f4a: f04f 0350 mov.w r3, #80 @ 0x50 + 8017f4e: f383 8811 msr BASEPRI, r3 + 8017f52: f3bf 8f6f isb sy + 8017f56: f3bf 8f4f dsb sy + 8017f5a: 603b str r3, [r7, #0] } - 801758c: bf00 nop - 801758e: bf00 nop - 8017590: e7fd b.n 801758e + 8017f5c: bf00 nop + 8017f5e: bf00 nop + 8017f60: e7fd b.n 8017f5e } - 8017592: bf00 nop - 8017594: 3714 adds r7, #20 - 8017596: 46bd mov sp, r7 - 8017598: f85d 7b04 ldr.w r7, [sp], #4 - 801759c: 4770 bx lr - 801759e: bf00 nop - 80175a0: e000e3f0 .word 0xe000e3f0 - 80175a4: 200026f4 .word 0x200026f4 - 80175a8: e000ed0c .word 0xe000ed0c - 80175ac: 200026f8 .word 0x200026f8 + 8017f62: bf00 nop + 8017f64: 3714 adds r7, #20 + 8017f66: 46bd mov sp, r7 + 8017f68: f85d 7b04 ldr.w r7, [sp], #4 + 8017f6c: 4770 bx lr + 8017f6e: bf00 nop + 8017f70: e000e3f0 .word 0xe000e3f0 + 8017f74: 20002794 .word 0x20002794 + 8017f78: e000ed0c .word 0xe000ed0c + 8017f7c: 20002798 .word 0x20002798 -080175b0 : +08017f80 : PRIVILEGED_DATA static size_t xNumberOfSuccessfulFrees = 0; /*-----------------------------------------------------------*/ void * pvPortMalloc( size_t xWantedSize ) { - 80175b0: b580 push {r7, lr} - 80175b2: b08a sub sp, #40 @ 0x28 - 80175b4: af00 add r7, sp, #0 - 80175b6: 6078 str r0, [r7, #4] + 8017f80: b580 push {r7, lr} + 8017f82: b08a sub sp, #40 @ 0x28 + 8017f84: af00 add r7, sp, #0 + 8017f86: 6078 str r0, [r7, #4] BlockLink_t * pxBlock; BlockLink_t * pxPreviousBlock; BlockLink_t * pxNewBlockLink; void * pvReturn = NULL; - 80175b8: 2300 movs r3, #0 - 80175ba: 61fb str r3, [r7, #28] + 8017f88: 2300 movs r3, #0 + 8017f8a: 61fb str r3, [r7, #28] size_t xAdditionalRequiredSize; vTaskSuspendAll(); - 80175bc: f7fd fe66 bl 801528c + 8017f8c: f7fd fe4a bl 8015c24 { /* If this is the first call to malloc then the heap will require * initialisation to setup the list of free blocks. */ if( pxEnd == NULL ) - 80175c0: 4b5c ldr r3, [pc, #368] @ (8017734 ) - 80175c2: 681b ldr r3, [r3, #0] - 80175c4: 2b00 cmp r3, #0 - 80175c6: d101 bne.n 80175cc + 8017f90: 4b5c ldr r3, [pc, #368] @ (8018104 ) + 8017f92: 681b ldr r3, [r3, #0] + 8017f94: 2b00 cmp r3, #0 + 8017f96: d101 bne.n 8017f9c { prvHeapInit(); - 80175c8: f000 f918 bl 80177fc + 8017f98: f000 f918 bl 80181cc else { mtCOVERAGE_TEST_MARKER(); } if( xWantedSize > 0 ) - 80175cc: 687b ldr r3, [r7, #4] - 80175ce: 2b00 cmp r3, #0 - 80175d0: d022 beq.n 8017618 + 8017f9c: 687b ldr r3, [r7, #4] + 8017f9e: 2b00 cmp r3, #0 + 8017fa0: d022 beq.n 8017fe8 { /* The wanted size must be increased so it can contain a BlockLink_t * structure in addition to the requested amount of bytes. */ if( heapADD_WILL_OVERFLOW( xWantedSize, xHeapStructSize ) == 0 ) - 80175d2: 2308 movs r3, #8 - 80175d4: 43db mvns r3, r3 - 80175d6: 687a ldr r2, [r7, #4] - 80175d8: 429a cmp r2, r3 - 80175da: d81b bhi.n 8017614 + 8017fa2: 2308 movs r3, #8 + 8017fa4: 43db mvns r3, r3 + 8017fa6: 687a ldr r2, [r7, #4] + 8017fa8: 429a cmp r2, r3 + 8017faa: d81b bhi.n 8017fe4 { xWantedSize += xHeapStructSize; - 80175dc: 2208 movs r2, #8 - 80175de: 687b ldr r3, [r7, #4] - 80175e0: 4413 add r3, r2 - 80175e2: 607b str r3, [r7, #4] + 8017fac: 2208 movs r2, #8 + 8017fae: 687b ldr r3, [r7, #4] + 8017fb0: 4413 add r3, r2 + 8017fb2: 607b str r3, [r7, #4] /* Ensure that blocks are always aligned to the required number * of bytes. */ if( ( xWantedSize & portBYTE_ALIGNMENT_MASK ) != 0x00 ) - 80175e4: 687b ldr r3, [r7, #4] - 80175e6: f003 0307 and.w r3, r3, #7 - 80175ea: 2b00 cmp r3, #0 - 80175ec: d014 beq.n 8017618 + 8017fb4: 687b ldr r3, [r7, #4] + 8017fb6: f003 0307 and.w r3, r3, #7 + 8017fba: 2b00 cmp r3, #0 + 8017fbc: d014 beq.n 8017fe8 { /* Byte alignment required. */ xAdditionalRequiredSize = portBYTE_ALIGNMENT - ( xWantedSize & portBYTE_ALIGNMENT_MASK ); - 80175ee: 687b ldr r3, [r7, #4] - 80175f0: f003 0307 and.w r3, r3, #7 - 80175f4: f1c3 0308 rsb r3, r3, #8 - 80175f8: 61bb str r3, [r7, #24] + 8017fbe: 687b ldr r3, [r7, #4] + 8017fc0: f003 0307 and.w r3, r3, #7 + 8017fc4: f1c3 0308 rsb r3, r3, #8 + 8017fc8: 61bb str r3, [r7, #24] if( heapADD_WILL_OVERFLOW( xWantedSize, xAdditionalRequiredSize ) == 0 ) - 80175fa: 69bb ldr r3, [r7, #24] - 80175fc: 43db mvns r3, r3 - 80175fe: 687a ldr r2, [r7, #4] - 8017600: 429a cmp r2, r3 - 8017602: d804 bhi.n 801760e + 8017fca: 69bb ldr r3, [r7, #24] + 8017fcc: 43db mvns r3, r3 + 8017fce: 687a ldr r2, [r7, #4] + 8017fd0: 429a cmp r2, r3 + 8017fd2: d804 bhi.n 8017fde { xWantedSize += xAdditionalRequiredSize; - 8017604: 687a ldr r2, [r7, #4] - 8017606: 69bb ldr r3, [r7, #24] - 8017608: 4413 add r3, r2 - 801760a: 607b str r3, [r7, #4] - 801760c: e004 b.n 8017618 + 8017fd4: 687a ldr r2, [r7, #4] + 8017fd6: 69bb ldr r3, [r7, #24] + 8017fd8: 4413 add r3, r2 + 8017fda: 607b str r3, [r7, #4] + 8017fdc: e004 b.n 8017fe8 } else { xWantedSize = 0; - 801760e: 2300 movs r3, #0 - 8017610: 607b str r3, [r7, #4] - 8017612: e001 b.n 8017618 + 8017fde: 2300 movs r3, #0 + 8017fe0: 607b str r3, [r7, #4] + 8017fe2: e001 b.n 8017fe8 mtCOVERAGE_TEST_MARKER(); } } else { xWantedSize = 0; - 8017614: 2300 movs r3, #0 - 8017616: 607b str r3, [r7, #4] + 8017fe4: 2300 movs r3, #0 + 8017fe6: 607b str r3, [r7, #4] /* Check the block size we are trying to allocate is not so large that the * top bit is set. The top bit of the block size member of the BlockLink_t * structure is used to determine who owns the block - the application or * the kernel, so it must be free. */ if( heapBLOCK_SIZE_IS_VALID( xWantedSize ) != 0 ) - 8017618: 687b ldr r3, [r7, #4] - 801761a: 2b00 cmp r3, #0 - 801761c: db71 blt.n 8017702 + 8017fe8: 687b ldr r3, [r7, #4] + 8017fea: 2b00 cmp r3, #0 + 8017fec: db71 blt.n 80180d2 { if( ( xWantedSize > 0 ) && ( xWantedSize <= xFreeBytesRemaining ) ) - 801761e: 687b ldr r3, [r7, #4] - 8017620: 2b00 cmp r3, #0 - 8017622: d06e beq.n 8017702 - 8017624: 4b44 ldr r3, [pc, #272] @ (8017738 ) - 8017626: 681b ldr r3, [r3, #0] - 8017628: 687a ldr r2, [r7, #4] - 801762a: 429a cmp r2, r3 - 801762c: d869 bhi.n 8017702 + 8017fee: 687b ldr r3, [r7, #4] + 8017ff0: 2b00 cmp r3, #0 + 8017ff2: d06e beq.n 80180d2 + 8017ff4: 4b44 ldr r3, [pc, #272] @ (8018108 ) + 8017ff6: 681b ldr r3, [r3, #0] + 8017ff8: 687a ldr r2, [r7, #4] + 8017ffa: 429a cmp r2, r3 + 8017ffc: d869 bhi.n 80180d2 { /* Traverse the list from the start (lowest address) block until * one of adequate size is found. */ pxPreviousBlock = &xStart; - 801762e: 4b43 ldr r3, [pc, #268] @ (801773c ) - 8017630: 623b str r3, [r7, #32] + 8017ffe: 4b43 ldr r3, [pc, #268] @ (801810c ) + 8018000: 623b str r3, [r7, #32] pxBlock = xStart.pxNextFreeBlock; - 8017632: 4b42 ldr r3, [pc, #264] @ (801773c ) - 8017634: 681b ldr r3, [r3, #0] - 8017636: 627b str r3, [r7, #36] @ 0x24 + 8018002: 4b42 ldr r3, [pc, #264] @ (801810c ) + 8018004: 681b ldr r3, [r3, #0] + 8018006: 627b str r3, [r7, #36] @ 0x24 while( ( pxBlock->xBlockSize < xWantedSize ) && ( pxBlock->pxNextFreeBlock != NULL ) ) - 8017638: e004 b.n 8017644 + 8018008: e004 b.n 8018014 { pxPreviousBlock = pxBlock; - 801763a: 6a7b ldr r3, [r7, #36] @ 0x24 - 801763c: 623b str r3, [r7, #32] + 801800a: 6a7b ldr r3, [r7, #36] @ 0x24 + 801800c: 623b str r3, [r7, #32] pxBlock = pxBlock->pxNextFreeBlock; - 801763e: 6a7b ldr r3, [r7, #36] @ 0x24 - 8017640: 681b ldr r3, [r3, #0] - 8017642: 627b str r3, [r7, #36] @ 0x24 + 801800e: 6a7b ldr r3, [r7, #36] @ 0x24 + 8018010: 681b ldr r3, [r3, #0] + 8018012: 627b str r3, [r7, #36] @ 0x24 while( ( pxBlock->xBlockSize < xWantedSize ) && ( pxBlock->pxNextFreeBlock != NULL ) ) - 8017644: 6a7b ldr r3, [r7, #36] @ 0x24 - 8017646: 685b ldr r3, [r3, #4] - 8017648: 687a ldr r2, [r7, #4] - 801764a: 429a cmp r2, r3 - 801764c: d903 bls.n 8017656 - 801764e: 6a7b ldr r3, [r7, #36] @ 0x24 - 8017650: 681b ldr r3, [r3, #0] - 8017652: 2b00 cmp r3, #0 - 8017654: d1f1 bne.n 801763a + 8018014: 6a7b ldr r3, [r7, #36] @ 0x24 + 8018016: 685b ldr r3, [r3, #4] + 8018018: 687a ldr r2, [r7, #4] + 801801a: 429a cmp r2, r3 + 801801c: d903 bls.n 8018026 + 801801e: 6a7b ldr r3, [r7, #36] @ 0x24 + 8018020: 681b ldr r3, [r3, #0] + 8018022: 2b00 cmp r3, #0 + 8018024: d1f1 bne.n 801800a } /* If the end marker was reached then a block of adequate size * was not found. */ if( pxBlock != pxEnd ) - 8017656: 4b37 ldr r3, [pc, #220] @ (8017734 ) - 8017658: 681b ldr r3, [r3, #0] - 801765a: 6a7a ldr r2, [r7, #36] @ 0x24 - 801765c: 429a cmp r2, r3 - 801765e: d050 beq.n 8017702 + 8018026: 4b37 ldr r3, [pc, #220] @ (8018104 ) + 8018028: 681b ldr r3, [r3, #0] + 801802a: 6a7a ldr r2, [r7, #36] @ 0x24 + 801802c: 429a cmp r2, r3 + 801802e: d050 beq.n 80180d2 { /* Return the memory space pointed to - jumping over the * BlockLink_t structure at its start. */ pvReturn = ( void * ) ( ( ( uint8_t * ) pxPreviousBlock->pxNextFreeBlock ) + xHeapStructSize ); - 8017660: 6a3b ldr r3, [r7, #32] - 8017662: 681b ldr r3, [r3, #0] - 8017664: 2208 movs r2, #8 - 8017666: 4413 add r3, r2 - 8017668: 61fb str r3, [r7, #28] + 8018030: 6a3b ldr r3, [r7, #32] + 8018032: 681b ldr r3, [r3, #0] + 8018034: 2208 movs r2, #8 + 8018036: 4413 add r3, r2 + 8018038: 61fb str r3, [r7, #28] /* This block is being returned for use so must be taken out * of the list of free blocks. */ pxPreviousBlock->pxNextFreeBlock = pxBlock->pxNextFreeBlock; - 801766a: 6a7b ldr r3, [r7, #36] @ 0x24 - 801766c: 681a ldr r2, [r3, #0] - 801766e: 6a3b ldr r3, [r7, #32] - 8017670: 601a str r2, [r3, #0] + 801803a: 6a7b ldr r3, [r7, #36] @ 0x24 + 801803c: 681a ldr r2, [r3, #0] + 801803e: 6a3b ldr r3, [r7, #32] + 8018040: 601a str r2, [r3, #0] /* If the block is larger than required it can be split into * two. */ if( ( pxBlock->xBlockSize - xWantedSize ) > heapMINIMUM_BLOCK_SIZE ) - 8017672: 6a7b ldr r3, [r7, #36] @ 0x24 - 8017674: 685a ldr r2, [r3, #4] - 8017676: 687b ldr r3, [r7, #4] - 8017678: 1ad2 subs r2, r2, r3 - 801767a: 2308 movs r3, #8 - 801767c: 005b lsls r3, r3, #1 - 801767e: 429a cmp r2, r3 - 8017680: d920 bls.n 80176c4 + 8018042: 6a7b ldr r3, [r7, #36] @ 0x24 + 8018044: 685a ldr r2, [r3, #4] + 8018046: 687b ldr r3, [r7, #4] + 8018048: 1ad2 subs r2, r2, r3 + 801804a: 2308 movs r3, #8 + 801804c: 005b lsls r3, r3, #1 + 801804e: 429a cmp r2, r3 + 8018050: d920 bls.n 8018094 { /* This block is to be split into two. Create a new * block following the number of bytes requested. The void * cast is used to prevent byte alignment warnings from the * compiler. */ pxNewBlockLink = ( void * ) ( ( ( uint8_t * ) pxBlock ) + xWantedSize ); - 8017682: 6a7a ldr r2, [r7, #36] @ 0x24 - 8017684: 687b ldr r3, [r7, #4] - 8017686: 4413 add r3, r2 - 8017688: 617b str r3, [r7, #20] + 8018052: 6a7a ldr r2, [r7, #36] @ 0x24 + 8018054: 687b ldr r3, [r7, #4] + 8018056: 4413 add r3, r2 + 8018058: 617b str r3, [r7, #20] configASSERT( ( ( ( size_t ) pxNewBlockLink ) & portBYTE_ALIGNMENT_MASK ) == 0 ); - 801768a: 697b ldr r3, [r7, #20] - 801768c: f003 0307 and.w r3, r3, #7 - 8017690: 2b00 cmp r3, #0 - 8017692: d00b beq.n 80176ac + 801805a: 697b ldr r3, [r7, #20] + 801805c: f003 0307 and.w r3, r3, #7 + 8018060: 2b00 cmp r3, #0 + 8018062: d00b beq.n 801807c __asm volatile - 8017694: f04f 0350 mov.w r3, #80 @ 0x50 - 8017698: f383 8811 msr BASEPRI, r3 - 801769c: f3bf 8f6f isb sy - 80176a0: f3bf 8f4f dsb sy - 80176a4: 613b str r3, [r7, #16] + 8018064: f04f 0350 mov.w r3, #80 @ 0x50 + 8018068: f383 8811 msr BASEPRI, r3 + 801806c: f3bf 8f6f isb sy + 8018070: f3bf 8f4f dsb sy + 8018074: 613b str r3, [r7, #16] } - 80176a6: bf00 nop - 80176a8: bf00 nop - 80176aa: e7fd b.n 80176a8 + 8018076: bf00 nop + 8018078: bf00 nop + 801807a: e7fd b.n 8018078 /* Calculate the sizes of two blocks split from the * single block. */ pxNewBlockLink->xBlockSize = pxBlock->xBlockSize - xWantedSize; - 80176ac: 6a7b ldr r3, [r7, #36] @ 0x24 - 80176ae: 685a ldr r2, [r3, #4] - 80176b0: 687b ldr r3, [r7, #4] - 80176b2: 1ad2 subs r2, r2, r3 - 80176b4: 697b ldr r3, [r7, #20] - 80176b6: 605a str r2, [r3, #4] + 801807c: 6a7b ldr r3, [r7, #36] @ 0x24 + 801807e: 685a ldr r2, [r3, #4] + 8018080: 687b ldr r3, [r7, #4] + 8018082: 1ad2 subs r2, r2, r3 + 8018084: 697b ldr r3, [r7, #20] + 8018086: 605a str r2, [r3, #4] pxBlock->xBlockSize = xWantedSize; - 80176b8: 6a7b ldr r3, [r7, #36] @ 0x24 - 80176ba: 687a ldr r2, [r7, #4] - 80176bc: 605a str r2, [r3, #4] + 8018088: 6a7b ldr r3, [r7, #36] @ 0x24 + 801808a: 687a ldr r2, [r7, #4] + 801808c: 605a str r2, [r3, #4] /* Insert the new block into the list of free blocks. */ prvInsertBlockIntoFreeList( pxNewBlockLink ); - 80176be: 6978 ldr r0, [r7, #20] - 80176c0: f000 f8f8 bl 80178b4 + 801808e: 6978 ldr r0, [r7, #20] + 8018090: f000 f8f8 bl 8018284 else { mtCOVERAGE_TEST_MARKER(); } xFreeBytesRemaining -= pxBlock->xBlockSize; - 80176c4: 4b1c ldr r3, [pc, #112] @ (8017738 ) - 80176c6: 681a ldr r2, [r3, #0] - 80176c8: 6a7b ldr r3, [r7, #36] @ 0x24 - 80176ca: 685b ldr r3, [r3, #4] - 80176cc: 1ad3 subs r3, r2, r3 - 80176ce: 4a1a ldr r2, [pc, #104] @ (8017738 ) - 80176d0: 6013 str r3, [r2, #0] + 8018094: 4b1c ldr r3, [pc, #112] @ (8018108 ) + 8018096: 681a ldr r2, [r3, #0] + 8018098: 6a7b ldr r3, [r7, #36] @ 0x24 + 801809a: 685b ldr r3, [r3, #4] + 801809c: 1ad3 subs r3, r2, r3 + 801809e: 4a1a ldr r2, [pc, #104] @ (8018108 ) + 80180a0: 6013 str r3, [r2, #0] if( xFreeBytesRemaining < xMinimumEverFreeBytesRemaining ) - 80176d2: 4b19 ldr r3, [pc, #100] @ (8017738 ) - 80176d4: 681a ldr r2, [r3, #0] - 80176d6: 4b1a ldr r3, [pc, #104] @ (8017740 ) - 80176d8: 681b ldr r3, [r3, #0] - 80176da: 429a cmp r2, r3 - 80176dc: d203 bcs.n 80176e6 + 80180a2: 4b19 ldr r3, [pc, #100] @ (8018108 ) + 80180a4: 681a ldr r2, [r3, #0] + 80180a6: 4b1a ldr r3, [pc, #104] @ (8018110 ) + 80180a8: 681b ldr r3, [r3, #0] + 80180aa: 429a cmp r2, r3 + 80180ac: d203 bcs.n 80180b6 { xMinimumEverFreeBytesRemaining = xFreeBytesRemaining; - 80176de: 4b16 ldr r3, [pc, #88] @ (8017738 ) - 80176e0: 681b ldr r3, [r3, #0] - 80176e2: 4a17 ldr r2, [pc, #92] @ (8017740 ) - 80176e4: 6013 str r3, [r2, #0] + 80180ae: 4b16 ldr r3, [pc, #88] @ (8018108 ) + 80180b0: 681b ldr r3, [r3, #0] + 80180b2: 4a17 ldr r2, [pc, #92] @ (8018110 ) + 80180b4: 6013 str r3, [r2, #0] mtCOVERAGE_TEST_MARKER(); } /* The block is being returned - it is allocated and owned * by the application and has no "next" block. */ heapALLOCATE_BLOCK( pxBlock ); - 80176e6: 6a7b ldr r3, [r7, #36] @ 0x24 - 80176e8: 685b ldr r3, [r3, #4] - 80176ea: f043 4200 orr.w r2, r3, #2147483648 @ 0x80000000 - 80176ee: 6a7b ldr r3, [r7, #36] @ 0x24 - 80176f0: 605a str r2, [r3, #4] + 80180b6: 6a7b ldr r3, [r7, #36] @ 0x24 + 80180b8: 685b ldr r3, [r3, #4] + 80180ba: f043 4200 orr.w r2, r3, #2147483648 @ 0x80000000 + 80180be: 6a7b ldr r3, [r7, #36] @ 0x24 + 80180c0: 605a str r2, [r3, #4] pxBlock->pxNextFreeBlock = NULL; - 80176f2: 6a7b ldr r3, [r7, #36] @ 0x24 - 80176f4: 2200 movs r2, #0 - 80176f6: 601a str r2, [r3, #0] + 80180c2: 6a7b ldr r3, [r7, #36] @ 0x24 + 80180c4: 2200 movs r2, #0 + 80180c6: 601a str r2, [r3, #0] xNumberOfSuccessfulAllocations++; - 80176f8: 4b12 ldr r3, [pc, #72] @ (8017744 ) - 80176fa: 681b ldr r3, [r3, #0] - 80176fc: 3301 adds r3, #1 - 80176fe: 4a11 ldr r2, [pc, #68] @ (8017744 ) - 8017700: 6013 str r3, [r2, #0] + 80180c8: 4b12 ldr r3, [pc, #72] @ (8018114 ) + 80180ca: 681b ldr r3, [r3, #0] + 80180cc: 3301 adds r3, #1 + 80180ce: 4a11 ldr r2, [pc, #68] @ (8018114 ) + 80180d0: 6013 str r3, [r2, #0] mtCOVERAGE_TEST_MARKER(); } traceMALLOC( pvReturn, xWantedSize ); } ( void ) xTaskResumeAll(); - 8017702: f7fd fdd1 bl 80152a8 + 80180d2: f7fd fdb5 bl 8015c40 mtCOVERAGE_TEST_MARKER(); } } #endif /* if ( configUSE_MALLOC_FAILED_HOOK == 1 ) */ configASSERT( ( ( ( size_t ) pvReturn ) & ( size_t ) portBYTE_ALIGNMENT_MASK ) == 0 ); - 8017706: 69fb ldr r3, [r7, #28] - 8017708: f003 0307 and.w r3, r3, #7 - 801770c: 2b00 cmp r3, #0 - 801770e: d00b beq.n 8017728 + 80180d6: 69fb ldr r3, [r7, #28] + 80180d8: f003 0307 and.w r3, r3, #7 + 80180dc: 2b00 cmp r3, #0 + 80180de: d00b beq.n 80180f8 __asm volatile - 8017710: f04f 0350 mov.w r3, #80 @ 0x50 - 8017714: f383 8811 msr BASEPRI, r3 - 8017718: f3bf 8f6f isb sy - 801771c: f3bf 8f4f dsb sy - 8017720: 60fb str r3, [r7, #12] + 80180e0: f04f 0350 mov.w r3, #80 @ 0x50 + 80180e4: f383 8811 msr BASEPRI, r3 + 80180e8: f3bf 8f6f isb sy + 80180ec: f3bf 8f4f dsb sy + 80180f0: 60fb str r3, [r7, #12] } - 8017722: bf00 nop - 8017724: bf00 nop - 8017726: e7fd b.n 8017724 + 80180f2: bf00 nop + 80180f4: bf00 nop + 80180f6: e7fd b.n 80180f4 return pvReturn; - 8017728: 69fb ldr r3, [r7, #28] + 80180f8: 69fb ldr r3, [r7, #28] } - 801772a: 4618 mov r0, r3 - 801772c: 3728 adds r7, #40 @ 0x28 - 801772e: 46bd mov sp, r7 - 8017730: bd80 pop {r7, pc} - 8017732: bf00 nop - 8017734: 20012104 .word 0x20012104 - 8017738: 20012108 .word 0x20012108 - 801773c: 200120fc .word 0x200120fc - 8017740: 2001210c .word 0x2001210c - 8017744: 20012110 .word 0x20012110 + 80180fa: 4618 mov r0, r3 + 80180fc: 3728 adds r7, #40 @ 0x28 + 80180fe: 46bd mov sp, r7 + 8018100: bd80 pop {r7, pc} + 8018102: bf00 nop + 8018104: 200121a4 .word 0x200121a4 + 8018108: 200121a8 .word 0x200121a8 + 801810c: 2001219c .word 0x2001219c + 8018110: 200121ac .word 0x200121ac + 8018114: 200121b0 .word 0x200121b0 -08017748 : +08018118 : /*-----------------------------------------------------------*/ void vPortFree( void * pv ) { - 8017748: b580 push {r7, lr} - 801774a: b086 sub sp, #24 - 801774c: af00 add r7, sp, #0 - 801774e: 6078 str r0, [r7, #4] + 8018118: b580 push {r7, lr} + 801811a: b086 sub sp, #24 + 801811c: af00 add r7, sp, #0 + 801811e: 6078 str r0, [r7, #4] uint8_t * puc = ( uint8_t * ) pv; - 8017750: 687b ldr r3, [r7, #4] - 8017752: 617b str r3, [r7, #20] + 8018120: 687b ldr r3, [r7, #4] + 8018122: 617b str r3, [r7, #20] BlockLink_t * pxLink; if( pv != NULL ) - 8017754: 687b ldr r3, [r7, #4] - 8017756: 2b00 cmp r3, #0 - 8017758: d047 beq.n 80177ea + 8018124: 687b ldr r3, [r7, #4] + 8018126: 2b00 cmp r3, #0 + 8018128: d047 beq.n 80181ba { /* The memory being freed will have an BlockLink_t structure immediately * before it. */ puc -= xHeapStructSize; - 801775a: 2308 movs r3, #8 - 801775c: 425b negs r3, r3 - 801775e: 697a ldr r2, [r7, #20] - 8017760: 4413 add r3, r2 - 8017762: 617b str r3, [r7, #20] + 801812a: 2308 movs r3, #8 + 801812c: 425b negs r3, r3 + 801812e: 697a ldr r2, [r7, #20] + 8018130: 4413 add r3, r2 + 8018132: 617b str r3, [r7, #20] /* This casting is to keep the compiler from issuing warnings. */ pxLink = ( void * ) puc; - 8017764: 697b ldr r3, [r7, #20] - 8017766: 613b str r3, [r7, #16] + 8018134: 697b ldr r3, [r7, #20] + 8018136: 613b str r3, [r7, #16] configASSERT( heapBLOCK_IS_ALLOCATED( pxLink ) != 0 ); - 8017768: 693b ldr r3, [r7, #16] - 801776a: 685b ldr r3, [r3, #4] - 801776c: 2b00 cmp r3, #0 - 801776e: db0b blt.n 8017788 + 8018138: 693b ldr r3, [r7, #16] + 801813a: 685b ldr r3, [r3, #4] + 801813c: 2b00 cmp r3, #0 + 801813e: db0b blt.n 8018158 __asm volatile - 8017770: f04f 0350 mov.w r3, #80 @ 0x50 - 8017774: f383 8811 msr BASEPRI, r3 - 8017778: f3bf 8f6f isb sy - 801777c: f3bf 8f4f dsb sy - 8017780: 60fb str r3, [r7, #12] + 8018140: f04f 0350 mov.w r3, #80 @ 0x50 + 8018144: f383 8811 msr BASEPRI, r3 + 8018148: f3bf 8f6f isb sy + 801814c: f3bf 8f4f dsb sy + 8018150: 60fb str r3, [r7, #12] } - 8017782: bf00 nop - 8017784: bf00 nop - 8017786: e7fd b.n 8017784 + 8018152: bf00 nop + 8018154: bf00 nop + 8018156: e7fd b.n 8018154 configASSERT( pxLink->pxNextFreeBlock == NULL ); - 8017788: 693b ldr r3, [r7, #16] - 801778a: 681b ldr r3, [r3, #0] - 801778c: 2b00 cmp r3, #0 - 801778e: d00b beq.n 80177a8 + 8018158: 693b ldr r3, [r7, #16] + 801815a: 681b ldr r3, [r3, #0] + 801815c: 2b00 cmp r3, #0 + 801815e: d00b beq.n 8018178 __asm volatile - 8017790: f04f 0350 mov.w r3, #80 @ 0x50 - 8017794: f383 8811 msr BASEPRI, r3 - 8017798: f3bf 8f6f isb sy - 801779c: f3bf 8f4f dsb sy - 80177a0: 60bb str r3, [r7, #8] + 8018160: f04f 0350 mov.w r3, #80 @ 0x50 + 8018164: f383 8811 msr BASEPRI, r3 + 8018168: f3bf 8f6f isb sy + 801816c: f3bf 8f4f dsb sy + 8018170: 60bb str r3, [r7, #8] } - 80177a2: bf00 nop - 80177a4: bf00 nop - 80177a6: e7fd b.n 80177a4 + 8018172: bf00 nop + 8018174: bf00 nop + 8018176: e7fd b.n 8018174 if( heapBLOCK_IS_ALLOCATED( pxLink ) != 0 ) - 80177a8: 693b ldr r3, [r7, #16] - 80177aa: 685b ldr r3, [r3, #4] - 80177ac: 2b00 cmp r3, #0 - 80177ae: da1c bge.n 80177ea + 8018178: 693b ldr r3, [r7, #16] + 801817a: 685b ldr r3, [r3, #4] + 801817c: 2b00 cmp r3, #0 + 801817e: da1c bge.n 80181ba { if( pxLink->pxNextFreeBlock == NULL ) - 80177b0: 693b ldr r3, [r7, #16] - 80177b2: 681b ldr r3, [r3, #0] - 80177b4: 2b00 cmp r3, #0 - 80177b6: d118 bne.n 80177ea + 8018180: 693b ldr r3, [r7, #16] + 8018182: 681b ldr r3, [r3, #0] + 8018184: 2b00 cmp r3, #0 + 8018186: d118 bne.n 80181ba { /* The block is being returned to the heap - it is no longer * allocated. */ heapFREE_BLOCK( pxLink ); - 80177b8: 693b ldr r3, [r7, #16] - 80177ba: 685b ldr r3, [r3, #4] - 80177bc: f023 4200 bic.w r2, r3, #2147483648 @ 0x80000000 - 80177c0: 693b ldr r3, [r7, #16] - 80177c2: 605a str r2, [r3, #4] + 8018188: 693b ldr r3, [r7, #16] + 801818a: 685b ldr r3, [r3, #4] + 801818c: f023 4200 bic.w r2, r3, #2147483648 @ 0x80000000 + 8018190: 693b ldr r3, [r7, #16] + 8018192: 605a str r2, [r3, #4] { ( void ) memset( puc + xHeapStructSize, 0, pxLink->xBlockSize - xHeapStructSize ); } #endif vTaskSuspendAll(); - 80177c4: f7fd fd62 bl 801528c + 8018194: f7fd fd46 bl 8015c24 { /* Add this block to the list of free blocks. */ xFreeBytesRemaining += pxLink->xBlockSize; - 80177c8: 693b ldr r3, [r7, #16] - 80177ca: 685a ldr r2, [r3, #4] - 80177cc: 4b09 ldr r3, [pc, #36] @ (80177f4 ) - 80177ce: 681b ldr r3, [r3, #0] - 80177d0: 4413 add r3, r2 - 80177d2: 4a08 ldr r2, [pc, #32] @ (80177f4 ) - 80177d4: 6013 str r3, [r2, #0] + 8018198: 693b ldr r3, [r7, #16] + 801819a: 685a ldr r2, [r3, #4] + 801819c: 4b09 ldr r3, [pc, #36] @ (80181c4 ) + 801819e: 681b ldr r3, [r3, #0] + 80181a0: 4413 add r3, r2 + 80181a2: 4a08 ldr r2, [pc, #32] @ (80181c4 ) + 80181a4: 6013 str r3, [r2, #0] traceFREE( pv, pxLink->xBlockSize ); prvInsertBlockIntoFreeList( ( ( BlockLink_t * ) pxLink ) ); - 80177d6: 6938 ldr r0, [r7, #16] - 80177d8: f000 f86c bl 80178b4 + 80181a6: 6938 ldr r0, [r7, #16] + 80181a8: f000 f86c bl 8018284 xNumberOfSuccessfulFrees++; - 80177dc: 4b06 ldr r3, [pc, #24] @ (80177f8 ) - 80177de: 681b ldr r3, [r3, #0] - 80177e0: 3301 adds r3, #1 - 80177e2: 4a05 ldr r2, [pc, #20] @ (80177f8 ) - 80177e4: 6013 str r3, [r2, #0] + 80181ac: 4b06 ldr r3, [pc, #24] @ (80181c8 ) + 80181ae: 681b ldr r3, [r3, #0] + 80181b0: 3301 adds r3, #1 + 80181b2: 4a05 ldr r2, [pc, #20] @ (80181c8 ) + 80181b4: 6013 str r3, [r2, #0] } ( void ) xTaskResumeAll(); - 80177e6: f7fd fd5f bl 80152a8 + 80181b6: f7fd fd43 bl 8015c40 else { mtCOVERAGE_TEST_MARKER(); } } } - 80177ea: bf00 nop - 80177ec: 3718 adds r7, #24 - 80177ee: 46bd mov sp, r7 - 80177f0: bd80 pop {r7, pc} - 80177f2: bf00 nop - 80177f4: 20012108 .word 0x20012108 - 80177f8: 20012114 .word 0x20012114 + 80181ba: bf00 nop + 80181bc: 3718 adds r7, #24 + 80181be: 46bd mov sp, r7 + 80181c0: bd80 pop {r7, pc} + 80181c2: bf00 nop + 80181c4: 200121a8 .word 0x200121a8 + 80181c8: 200121b4 .word 0x200121b4 -080177fc : +080181cc : return pv; } /*-----------------------------------------------------------*/ static void prvHeapInit( void ) /* PRIVILEGED_FUNCTION */ { - 80177fc: b480 push {r7} - 80177fe: b085 sub sp, #20 - 8017800: af00 add r7, sp, #0 + 80181cc: b480 push {r7} + 80181ce: b085 sub sp, #20 + 80181d0: af00 add r7, sp, #0 BlockLink_t * pxFirstFreeBlock; uint8_t * pucAlignedHeap; portPOINTER_SIZE_TYPE uxAddress; size_t xTotalHeapSize = configTOTAL_HEAP_SIZE; - 8017802: f44f 437a mov.w r3, #64000 @ 0xfa00 - 8017806: 60bb str r3, [r7, #8] + 80181d2: f44f 437a mov.w r3, #64000 @ 0xfa00 + 80181d6: 60bb str r3, [r7, #8] /* Ensure the heap starts on a correctly aligned boundary. */ uxAddress = ( portPOINTER_SIZE_TYPE ) ucHeap; - 8017808: 4b25 ldr r3, [pc, #148] @ (80178a0 ) - 801780a: 60fb str r3, [r7, #12] + 80181d8: 4b25 ldr r3, [pc, #148] @ (8018270 ) + 80181da: 60fb str r3, [r7, #12] if( ( uxAddress & portBYTE_ALIGNMENT_MASK ) != 0 ) - 801780c: 68fb ldr r3, [r7, #12] - 801780e: f003 0307 and.w r3, r3, #7 - 8017812: 2b00 cmp r3, #0 - 8017814: d00c beq.n 8017830 + 80181dc: 68fb ldr r3, [r7, #12] + 80181de: f003 0307 and.w r3, r3, #7 + 80181e2: 2b00 cmp r3, #0 + 80181e4: d00c beq.n 8018200 { uxAddress += ( portBYTE_ALIGNMENT - 1 ); - 8017816: 68fb ldr r3, [r7, #12] - 8017818: 3307 adds r3, #7 - 801781a: 60fb str r3, [r7, #12] + 80181e6: 68fb ldr r3, [r7, #12] + 80181e8: 3307 adds r3, #7 + 80181ea: 60fb str r3, [r7, #12] uxAddress &= ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ); - 801781c: 68fb ldr r3, [r7, #12] - 801781e: f023 0307 bic.w r3, r3, #7 - 8017822: 60fb str r3, [r7, #12] + 80181ec: 68fb ldr r3, [r7, #12] + 80181ee: f023 0307 bic.w r3, r3, #7 + 80181f2: 60fb str r3, [r7, #12] xTotalHeapSize -= ( size_t ) ( uxAddress - ( portPOINTER_SIZE_TYPE ) ucHeap ); - 8017824: 68ba ldr r2, [r7, #8] - 8017826: 68fb ldr r3, [r7, #12] - 8017828: 1ad3 subs r3, r2, r3 - 801782a: 4a1d ldr r2, [pc, #116] @ (80178a0 ) - 801782c: 4413 add r3, r2 - 801782e: 60bb str r3, [r7, #8] + 80181f4: 68ba ldr r2, [r7, #8] + 80181f6: 68fb ldr r3, [r7, #12] + 80181f8: 1ad3 subs r3, r2, r3 + 80181fa: 4a1d ldr r2, [pc, #116] @ (8018270 ) + 80181fc: 4413 add r3, r2 + 80181fe: 60bb str r3, [r7, #8] } pucAlignedHeap = ( uint8_t * ) uxAddress; - 8017830: 68fb ldr r3, [r7, #12] - 8017832: 607b str r3, [r7, #4] + 8018200: 68fb ldr r3, [r7, #12] + 8018202: 607b str r3, [r7, #4] /* xStart is used to hold a pointer to the first item in the list of free * blocks. The void cast is used to prevent compiler warnings. */ xStart.pxNextFreeBlock = ( void * ) pucAlignedHeap; - 8017834: 4a1b ldr r2, [pc, #108] @ (80178a4 ) - 8017836: 687b ldr r3, [r7, #4] - 8017838: 6013 str r3, [r2, #0] + 8018204: 4a1b ldr r2, [pc, #108] @ (8018274 ) + 8018206: 687b ldr r3, [r7, #4] + 8018208: 6013 str r3, [r2, #0] xStart.xBlockSize = ( size_t ) 0; - 801783a: 4b1a ldr r3, [pc, #104] @ (80178a4 ) - 801783c: 2200 movs r2, #0 - 801783e: 605a str r2, [r3, #4] + 801820a: 4b1a ldr r3, [pc, #104] @ (8018274 ) + 801820c: 2200 movs r2, #0 + 801820e: 605a str r2, [r3, #4] /* pxEnd is used to mark the end of the list of free blocks and is inserted * at the end of the heap space. */ uxAddress = ( portPOINTER_SIZE_TYPE ) ( pucAlignedHeap + xTotalHeapSize ); - 8017840: 687a ldr r2, [r7, #4] - 8017842: 68bb ldr r3, [r7, #8] - 8017844: 4413 add r3, r2 - 8017846: 60fb str r3, [r7, #12] + 8018210: 687a ldr r2, [r7, #4] + 8018212: 68bb ldr r3, [r7, #8] + 8018214: 4413 add r3, r2 + 8018216: 60fb str r3, [r7, #12] uxAddress -= xHeapStructSize; - 8017848: 2208 movs r2, #8 - 801784a: 68fb ldr r3, [r7, #12] - 801784c: 1a9b subs r3, r3, r2 - 801784e: 60fb str r3, [r7, #12] + 8018218: 2208 movs r2, #8 + 801821a: 68fb ldr r3, [r7, #12] + 801821c: 1a9b subs r3, r3, r2 + 801821e: 60fb str r3, [r7, #12] uxAddress &= ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ); - 8017850: 68fb ldr r3, [r7, #12] - 8017852: f023 0307 bic.w r3, r3, #7 - 8017856: 60fb str r3, [r7, #12] + 8018220: 68fb ldr r3, [r7, #12] + 8018222: f023 0307 bic.w r3, r3, #7 + 8018226: 60fb str r3, [r7, #12] pxEnd = ( BlockLink_t * ) uxAddress; - 8017858: 68fb ldr r3, [r7, #12] - 801785a: 4a13 ldr r2, [pc, #76] @ (80178a8 ) - 801785c: 6013 str r3, [r2, #0] + 8018228: 68fb ldr r3, [r7, #12] + 801822a: 4a13 ldr r2, [pc, #76] @ (8018278 ) + 801822c: 6013 str r3, [r2, #0] pxEnd->xBlockSize = 0; - 801785e: 4b12 ldr r3, [pc, #72] @ (80178a8 ) - 8017860: 681b ldr r3, [r3, #0] - 8017862: 2200 movs r2, #0 - 8017864: 605a str r2, [r3, #4] + 801822e: 4b12 ldr r3, [pc, #72] @ (8018278 ) + 8018230: 681b ldr r3, [r3, #0] + 8018232: 2200 movs r2, #0 + 8018234: 605a str r2, [r3, #4] pxEnd->pxNextFreeBlock = NULL; - 8017866: 4b10 ldr r3, [pc, #64] @ (80178a8 ) - 8017868: 681b ldr r3, [r3, #0] - 801786a: 2200 movs r2, #0 - 801786c: 601a str r2, [r3, #0] + 8018236: 4b10 ldr r3, [pc, #64] @ (8018278 ) + 8018238: 681b ldr r3, [r3, #0] + 801823a: 2200 movs r2, #0 + 801823c: 601a str r2, [r3, #0] /* To start with there is a single free block that is sized to take up the * entire heap space, minus the space taken by pxEnd. */ pxFirstFreeBlock = ( BlockLink_t * ) pucAlignedHeap; - 801786e: 687b ldr r3, [r7, #4] - 8017870: 603b str r3, [r7, #0] + 801823e: 687b ldr r3, [r7, #4] + 8018240: 603b str r3, [r7, #0] pxFirstFreeBlock->xBlockSize = ( size_t ) ( uxAddress - ( portPOINTER_SIZE_TYPE ) pxFirstFreeBlock ); - 8017872: 683b ldr r3, [r7, #0] - 8017874: 68fa ldr r2, [r7, #12] - 8017876: 1ad2 subs r2, r2, r3 - 8017878: 683b ldr r3, [r7, #0] - 801787a: 605a str r2, [r3, #4] + 8018242: 683b ldr r3, [r7, #0] + 8018244: 68fa ldr r2, [r7, #12] + 8018246: 1ad2 subs r2, r2, r3 + 8018248: 683b ldr r3, [r7, #0] + 801824a: 605a str r2, [r3, #4] pxFirstFreeBlock->pxNextFreeBlock = pxEnd; - 801787c: 4b0a ldr r3, [pc, #40] @ (80178a8 ) - 801787e: 681a ldr r2, [r3, #0] - 8017880: 683b ldr r3, [r7, #0] - 8017882: 601a str r2, [r3, #0] + 801824c: 4b0a ldr r3, [pc, #40] @ (8018278 ) + 801824e: 681a ldr r2, [r3, #0] + 8018250: 683b ldr r3, [r7, #0] + 8018252: 601a str r2, [r3, #0] /* Only one block exists - and it covers the entire usable heap space. */ xMinimumEverFreeBytesRemaining = pxFirstFreeBlock->xBlockSize; - 8017884: 683b ldr r3, [r7, #0] - 8017886: 685b ldr r3, [r3, #4] - 8017888: 4a08 ldr r2, [pc, #32] @ (80178ac ) - 801788a: 6013 str r3, [r2, #0] + 8018254: 683b ldr r3, [r7, #0] + 8018256: 685b ldr r3, [r3, #4] + 8018258: 4a08 ldr r2, [pc, #32] @ (801827c ) + 801825a: 6013 str r3, [r2, #0] xFreeBytesRemaining = pxFirstFreeBlock->xBlockSize; - 801788c: 683b ldr r3, [r7, #0] - 801788e: 685b ldr r3, [r3, #4] - 8017890: 4a07 ldr r2, [pc, #28] @ (80178b0 ) - 8017892: 6013 str r3, [r2, #0] + 801825c: 683b ldr r3, [r7, #0] + 801825e: 685b ldr r3, [r3, #4] + 8018260: 4a07 ldr r2, [pc, #28] @ (8018280 ) + 8018262: 6013 str r3, [r2, #0] } - 8017894: bf00 nop - 8017896: 3714 adds r7, #20 - 8017898: 46bd mov sp, r7 - 801789a: f85d 7b04 ldr.w r7, [sp], #4 - 801789e: 4770 bx lr - 80178a0: 200026fc .word 0x200026fc - 80178a4: 200120fc .word 0x200120fc - 80178a8: 20012104 .word 0x20012104 - 80178ac: 2001210c .word 0x2001210c - 80178b0: 20012108 .word 0x20012108 + 8018264: bf00 nop + 8018266: 3714 adds r7, #20 + 8018268: 46bd mov sp, r7 + 801826a: f85d 7b04 ldr.w r7, [sp], #4 + 801826e: 4770 bx lr + 8018270: 2000279c .word 0x2000279c + 8018274: 2001219c .word 0x2001219c + 8018278: 200121a4 .word 0x200121a4 + 801827c: 200121ac .word 0x200121ac + 8018280: 200121a8 .word 0x200121a8 -080178b4 : +08018284 : /*-----------------------------------------------------------*/ static void prvInsertBlockIntoFreeList( BlockLink_t * pxBlockToInsert ) /* PRIVILEGED_FUNCTION */ { - 80178b4: b480 push {r7} - 80178b6: b085 sub sp, #20 - 80178b8: af00 add r7, sp, #0 - 80178ba: 6078 str r0, [r7, #4] + 8018284: b480 push {r7} + 8018286: b085 sub sp, #20 + 8018288: af00 add r7, sp, #0 + 801828a: 6078 str r0, [r7, #4] BlockLink_t * pxIterator; uint8_t * puc; /* Iterate through the list until a block is found that has a higher address * than the block being inserted. */ for( pxIterator = &xStart; pxIterator->pxNextFreeBlock < pxBlockToInsert; pxIterator = pxIterator->pxNextFreeBlock ) - 80178bc: 4b28 ldr r3, [pc, #160] @ (8017960 ) - 80178be: 60fb str r3, [r7, #12] - 80178c0: e002 b.n 80178c8 - 80178c2: 68fb ldr r3, [r7, #12] - 80178c4: 681b ldr r3, [r3, #0] - 80178c6: 60fb str r3, [r7, #12] - 80178c8: 68fb ldr r3, [r7, #12] - 80178ca: 681b ldr r3, [r3, #0] - 80178cc: 687a ldr r2, [r7, #4] - 80178ce: 429a cmp r2, r3 - 80178d0: d8f7 bhi.n 80178c2 + 801828c: 4b28 ldr r3, [pc, #160] @ (8018330 ) + 801828e: 60fb str r3, [r7, #12] + 8018290: e002 b.n 8018298 + 8018292: 68fb ldr r3, [r7, #12] + 8018294: 681b ldr r3, [r3, #0] + 8018296: 60fb str r3, [r7, #12] + 8018298: 68fb ldr r3, [r7, #12] + 801829a: 681b ldr r3, [r3, #0] + 801829c: 687a ldr r2, [r7, #4] + 801829e: 429a cmp r2, r3 + 80182a0: d8f7 bhi.n 8018292 /* Nothing to do here, just iterate to the right position. */ } /* Do the block being inserted, and the block it is being inserted after * make a contiguous block of memory? */ puc = ( uint8_t * ) pxIterator; - 80178d2: 68fb ldr r3, [r7, #12] - 80178d4: 60bb str r3, [r7, #8] + 80182a2: 68fb ldr r3, [r7, #12] + 80182a4: 60bb str r3, [r7, #8] if( ( puc + pxIterator->xBlockSize ) == ( uint8_t * ) pxBlockToInsert ) - 80178d6: 68fb ldr r3, [r7, #12] - 80178d8: 685b ldr r3, [r3, #4] - 80178da: 68ba ldr r2, [r7, #8] - 80178dc: 4413 add r3, r2 - 80178de: 687a ldr r2, [r7, #4] - 80178e0: 429a cmp r2, r3 - 80178e2: d108 bne.n 80178f6 + 80182a6: 68fb ldr r3, [r7, #12] + 80182a8: 685b ldr r3, [r3, #4] + 80182aa: 68ba ldr r2, [r7, #8] + 80182ac: 4413 add r3, r2 + 80182ae: 687a ldr r2, [r7, #4] + 80182b0: 429a cmp r2, r3 + 80182b2: d108 bne.n 80182c6 { pxIterator->xBlockSize += pxBlockToInsert->xBlockSize; - 80178e4: 68fb ldr r3, [r7, #12] - 80178e6: 685a ldr r2, [r3, #4] - 80178e8: 687b ldr r3, [r7, #4] - 80178ea: 685b ldr r3, [r3, #4] - 80178ec: 441a add r2, r3 - 80178ee: 68fb ldr r3, [r7, #12] - 80178f0: 605a str r2, [r3, #4] + 80182b4: 68fb ldr r3, [r7, #12] + 80182b6: 685a ldr r2, [r3, #4] + 80182b8: 687b ldr r3, [r7, #4] + 80182ba: 685b ldr r3, [r3, #4] + 80182bc: 441a add r2, r3 + 80182be: 68fb ldr r3, [r7, #12] + 80182c0: 605a str r2, [r3, #4] pxBlockToInsert = pxIterator; - 80178f2: 68fb ldr r3, [r7, #12] - 80178f4: 607b str r3, [r7, #4] + 80182c2: 68fb ldr r3, [r7, #12] + 80182c4: 607b str r3, [r7, #4] mtCOVERAGE_TEST_MARKER(); } /* Do the block being inserted, and the block it is being inserted before * make a contiguous block of memory? */ puc = ( uint8_t * ) pxBlockToInsert; - 80178f6: 687b ldr r3, [r7, #4] - 80178f8: 60bb str r3, [r7, #8] + 80182c6: 687b ldr r3, [r7, #4] + 80182c8: 60bb str r3, [r7, #8] if( ( puc + pxBlockToInsert->xBlockSize ) == ( uint8_t * ) pxIterator->pxNextFreeBlock ) - 80178fa: 687b ldr r3, [r7, #4] - 80178fc: 685b ldr r3, [r3, #4] - 80178fe: 68ba ldr r2, [r7, #8] - 8017900: 441a add r2, r3 - 8017902: 68fb ldr r3, [r7, #12] - 8017904: 681b ldr r3, [r3, #0] - 8017906: 429a cmp r2, r3 - 8017908: d118 bne.n 801793c + 80182ca: 687b ldr r3, [r7, #4] + 80182cc: 685b ldr r3, [r3, #4] + 80182ce: 68ba ldr r2, [r7, #8] + 80182d0: 441a add r2, r3 + 80182d2: 68fb ldr r3, [r7, #12] + 80182d4: 681b ldr r3, [r3, #0] + 80182d6: 429a cmp r2, r3 + 80182d8: d118 bne.n 801830c { if( pxIterator->pxNextFreeBlock != pxEnd ) - 801790a: 68fb ldr r3, [r7, #12] - 801790c: 681a ldr r2, [r3, #0] - 801790e: 4b15 ldr r3, [pc, #84] @ (8017964 ) - 8017910: 681b ldr r3, [r3, #0] - 8017912: 429a cmp r2, r3 - 8017914: d00d beq.n 8017932 + 80182da: 68fb ldr r3, [r7, #12] + 80182dc: 681a ldr r2, [r3, #0] + 80182de: 4b15 ldr r3, [pc, #84] @ (8018334 ) + 80182e0: 681b ldr r3, [r3, #0] + 80182e2: 429a cmp r2, r3 + 80182e4: d00d beq.n 8018302 { /* Form one big block from the two blocks. */ pxBlockToInsert->xBlockSize += pxIterator->pxNextFreeBlock->xBlockSize; - 8017916: 687b ldr r3, [r7, #4] - 8017918: 685a ldr r2, [r3, #4] - 801791a: 68fb ldr r3, [r7, #12] - 801791c: 681b ldr r3, [r3, #0] - 801791e: 685b ldr r3, [r3, #4] - 8017920: 441a add r2, r3 - 8017922: 687b ldr r3, [r7, #4] - 8017924: 605a str r2, [r3, #4] + 80182e6: 687b ldr r3, [r7, #4] + 80182e8: 685a ldr r2, [r3, #4] + 80182ea: 68fb ldr r3, [r7, #12] + 80182ec: 681b ldr r3, [r3, #0] + 80182ee: 685b ldr r3, [r3, #4] + 80182f0: 441a add r2, r3 + 80182f2: 687b ldr r3, [r7, #4] + 80182f4: 605a str r2, [r3, #4] pxBlockToInsert->pxNextFreeBlock = pxIterator->pxNextFreeBlock->pxNextFreeBlock; - 8017926: 68fb ldr r3, [r7, #12] - 8017928: 681b ldr r3, [r3, #0] - 801792a: 681a ldr r2, [r3, #0] - 801792c: 687b ldr r3, [r7, #4] - 801792e: 601a str r2, [r3, #0] - 8017930: e008 b.n 8017944 + 80182f6: 68fb ldr r3, [r7, #12] + 80182f8: 681b ldr r3, [r3, #0] + 80182fa: 681a ldr r2, [r3, #0] + 80182fc: 687b ldr r3, [r7, #4] + 80182fe: 601a str r2, [r3, #0] + 8018300: e008 b.n 8018314 } else { pxBlockToInsert->pxNextFreeBlock = pxEnd; - 8017932: 4b0c ldr r3, [pc, #48] @ (8017964 ) - 8017934: 681a ldr r2, [r3, #0] - 8017936: 687b ldr r3, [r7, #4] - 8017938: 601a str r2, [r3, #0] - 801793a: e003 b.n 8017944 + 8018302: 4b0c ldr r3, [pc, #48] @ (8018334 ) + 8018304: 681a ldr r2, [r3, #0] + 8018306: 687b ldr r3, [r7, #4] + 8018308: 601a str r2, [r3, #0] + 801830a: e003 b.n 8018314 } } else { pxBlockToInsert->pxNextFreeBlock = pxIterator->pxNextFreeBlock; - 801793c: 68fb ldr r3, [r7, #12] - 801793e: 681a ldr r2, [r3, #0] - 8017940: 687b ldr r3, [r7, #4] - 8017942: 601a str r2, [r3, #0] + 801830c: 68fb ldr r3, [r7, #12] + 801830e: 681a ldr r2, [r3, #0] + 8018310: 687b ldr r3, [r7, #4] + 8018312: 601a str r2, [r3, #0] /* If the block being inserted plugged a gab, so was merged with the block * before and the block after, then it's pxNextFreeBlock pointer will have * already been set, and should not be set here as that would make it point * to itself. */ if( pxIterator != pxBlockToInsert ) - 8017944: 68fa ldr r2, [r7, #12] - 8017946: 687b ldr r3, [r7, #4] - 8017948: 429a cmp r2, r3 - 801794a: d002 beq.n 8017952 + 8018314: 68fa ldr r2, [r7, #12] + 8018316: 687b ldr r3, [r7, #4] + 8018318: 429a cmp r2, r3 + 801831a: d002 beq.n 8018322 { pxIterator->pxNextFreeBlock = pxBlockToInsert; - 801794c: 68fb ldr r3, [r7, #12] - 801794e: 687a ldr r2, [r7, #4] - 8017950: 601a str r2, [r3, #0] + 801831c: 68fb ldr r3, [r7, #12] + 801831e: 687a ldr r2, [r7, #4] + 8018320: 601a str r2, [r3, #0] } else { mtCOVERAGE_TEST_MARKER(); } } - 8017952: bf00 nop - 8017954: 3714 adds r7, #20 - 8017956: 46bd mov sp, r7 - 8017958: f85d 7b04 ldr.w r7, [sp], #4 - 801795c: 4770 bx lr - 801795e: bf00 nop - 8017960: 200120fc .word 0x200120fc - 8017964: 20012104 .word 0x20012104 + 8018322: bf00 nop + 8018324: 3714 adds r7, #20 + 8018326: 46bd mov sp, r7 + 8018328: f85d 7b04 ldr.w r7, [sp], #4 + 801832c: 4770 bx lr + 801832e: bf00 nop + 8018330: 2001219c .word 0x2001219c + 8018334: 200121a4 .word 0x200121a4 -08017968 : +08018338 : { - 8017968: b480 push {r7} - 801796a: af00 add r7, sp, #0 + 8018338: b480 push {r7} + 801833a: af00 add r7, sp, #0 SET_BIT(PWR->CR4, PWR_CR4_C2BOOT); - 801796c: 4b05 ldr r3, [pc, #20] @ (8017984 ) - 801796e: 68db ldr r3, [r3, #12] - 8017970: 4a04 ldr r2, [pc, #16] @ (8017984 ) - 8017972: f443 4300 orr.w r3, r3, #32768 @ 0x8000 - 8017976: 60d3 str r3, [r2, #12] + 801833c: 4b05 ldr r3, [pc, #20] @ (8018354 ) + 801833e: 68db ldr r3, [r3, #12] + 8018340: 4a04 ldr r2, [pc, #16] @ (8018354 ) + 8018342: f443 4300 orr.w r3, r3, #32768 @ 0x8000 + 8018346: 60d3 str r3, [r2, #12] } - 8017978: bf00 nop - 801797a: 46bd mov sp, r7 - 801797c: f85d 7b04 ldr.w r7, [sp], #4 - 8017980: 4770 bx lr - 8017982: bf00 nop - 8017984: 58000400 .word 0x58000400 + 8018348: bf00 nop + 801834a: 46bd mov sp, r7 + 801834c: f85d 7b04 ldr.w r7, [sp], #4 + 8018350: 4770 bx lr + 8018352: bf00 nop + 8018354: 58000400 .word 0x58000400 -08017988 : +08018358 : { - 8017988: b480 push {r7} - 801798a: b083 sub sp, #12 - 801798c: af00 add r7, sp, #0 - 801798e: 6078 str r0, [r7, #4] + 8018358: b480 push {r7} + 801835a: b083 sub sp, #12 + 801835c: af00 add r7, sp, #0 + 801835e: 6078 str r0, [r7, #4] SET_BIT(EXTI->C2EMR2, ExtiLine); - 8017990: 4b06 ldr r3, [pc, #24] @ (80179ac ) - 8017992: f8d3 20d4 ldr.w r2, [r3, #212] @ 0xd4 - 8017996: 4905 ldr r1, [pc, #20] @ (80179ac ) - 8017998: 687b ldr r3, [r7, #4] - 801799a: 4313 orrs r3, r2 - 801799c: f8c1 30d4 str.w r3, [r1, #212] @ 0xd4 + 8018360: 4b06 ldr r3, [pc, #24] @ (801837c ) + 8018362: f8d3 20d4 ldr.w r2, [r3, #212] @ 0xd4 + 8018366: 4905 ldr r1, [pc, #20] @ (801837c ) + 8018368: 687b ldr r3, [r7, #4] + 801836a: 4313 orrs r3, r2 + 801836c: f8c1 30d4 str.w r3, [r1, #212] @ 0xd4 } - 80179a0: bf00 nop - 80179a2: 370c adds r7, #12 - 80179a4: 46bd mov sp, r7 - 80179a6: f85d 7b04 ldr.w r7, [sp], #4 - 80179aa: 4770 bx lr - 80179ac: 58000800 .word 0x58000800 + 8018370: bf00 nop + 8018372: 370c adds r7, #12 + 8018374: 46bd mov sp, r7 + 8018376: f85d 7b04 ldr.w r7, [sp], #4 + 801837a: 4770 bx lr + 801837c: 58000800 .word 0x58000800 -080179b0 : +08018380 : * @arg @ref LL_EXTI_LINE_41 * (*) value not defined in all devices * @retval None */ __STATIC_INLINE void LL_EXTI_EnableRisingTrig_32_63(uint32_t ExtiLine) { - 80179b0: b480 push {r7} - 80179b2: b083 sub sp, #12 - 80179b4: af00 add r7, sp, #0 - 80179b6: 6078 str r0, [r7, #4] + 8018380: b480 push {r7} + 8018382: b083 sub sp, #12 + 8018384: af00 add r7, sp, #0 + 8018386: 6078 str r0, [r7, #4] SET_BIT(EXTI->RTSR2, ExtiLine); - 80179b8: 4b05 ldr r3, [pc, #20] @ (80179d0 ) - 80179ba: 6a1a ldr r2, [r3, #32] - 80179bc: 4904 ldr r1, [pc, #16] @ (80179d0 ) - 80179be: 687b ldr r3, [r7, #4] - 80179c0: 4313 orrs r3, r2 - 80179c2: 620b str r3, [r1, #32] + 8018388: 4b05 ldr r3, [pc, #20] @ (80183a0 ) + 801838a: 6a1a ldr r2, [r3, #32] + 801838c: 4904 ldr r1, [pc, #16] @ (80183a0 ) + 801838e: 687b ldr r3, [r7, #4] + 8018390: 4313 orrs r3, r2 + 8018392: 620b str r3, [r1, #32] } - 80179c4: bf00 nop - 80179c6: 370c adds r7, #12 - 80179c8: 46bd mov sp, r7 - 80179ca: f85d 7b04 ldr.w r7, [sp], #4 - 80179ce: 4770 bx lr - 80179d0: 58000800 .word 0x58000800 + 8018394: bf00 nop + 8018396: 370c adds r7, #12 + 8018398: 46bd mov sp, r7 + 801839a: f85d 7b04 ldr.w r7, [sp], #4 + 801839e: 4770 bx lr + 80183a0: 58000800 .word 0x58000800 -080179d4 : +080183a4 : { - 80179d4: b480 push {r7} - 80179d6: b085 sub sp, #20 - 80179d8: af00 add r7, sp, #0 - 80179da: 6078 str r0, [r7, #4] + 80183a4: b480 push {r7} + 80183a6: b085 sub sp, #20 + 80183a8: af00 add r7, sp, #0 + 80183aa: 6078 str r0, [r7, #4] SET_BIT(RCC->AHB3ENR, Periphs); - 80179dc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80179e0: 6d1a ldr r2, [r3, #80] @ 0x50 - 80179e2: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 80179e6: 687b ldr r3, [r7, #4] - 80179e8: 4313 orrs r3, r2 - 80179ea: 650b str r3, [r1, #80] @ 0x50 + 80183ac: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80183b0: 6d1a ldr r2, [r3, #80] @ 0x50 + 80183b2: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 80183b6: 687b ldr r3, [r7, #4] + 80183b8: 4313 orrs r3, r2 + 80183ba: 650b str r3, [r1, #80] @ 0x50 tmpreg = READ_BIT(RCC->AHB3ENR, Periphs); - 80179ec: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80179f0: 6d1a ldr r2, [r3, #80] @ 0x50 - 80179f2: 687b ldr r3, [r7, #4] - 80179f4: 4013 ands r3, r2 - 80179f6: 60fb str r3, [r7, #12] + 80183bc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80183c0: 6d1a ldr r2, [r3, #80] @ 0x50 + 80183c2: 687b ldr r3, [r7, #4] + 80183c4: 4013 ands r3, r2 + 80183c6: 60fb str r3, [r7, #12] (void)tmpreg; - 80179f8: 68fb ldr r3, [r7, #12] + 80183c8: 68fb ldr r3, [r7, #12] } - 80179fa: bf00 nop - 80179fc: 3714 adds r7, #20 - 80179fe: 46bd mov sp, r7 - 8017a00: f85d 7b04 ldr.w r7, [sp], #4 - 8017a04: 4770 bx lr + 80183ca: bf00 nop + 80183cc: 3714 adds r7, #20 + 80183ce: 46bd mov sp, r7 + 80183d0: f85d 7b04 ldr.w r7, [sp], #4 + 80183d4: 4770 bx lr -08017a06 : +080183d6 : * @arg @ref LL_C2_AHB3_GRP1_PERIPH_IPCC * @arg @ref LL_C2_AHB3_GRP1_PERIPH_FLASH * @retval None */ __STATIC_INLINE void LL_C2_AHB3_GRP1_EnableClock(uint32_t Periphs) { - 8017a06: b480 push {r7} - 8017a08: b085 sub sp, #20 - 8017a0a: af00 add r7, sp, #0 - 8017a0c: 6078 str r0, [r7, #4] + 80183d6: b480 push {r7} + 80183d8: b085 sub sp, #20 + 80183da: af00 add r7, sp, #0 + 80183dc: 6078 str r0, [r7, #4] __IO uint32_t tmpreg; SET_BIT(RCC->C2AHB3ENR, Periphs); - 8017a0e: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8017a12: f8d3 2150 ldr.w r2, [r3, #336] @ 0x150 - 8017a16: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 8017a1a: 687b ldr r3, [r7, #4] - 8017a1c: 4313 orrs r3, r2 - 8017a1e: f8c1 3150 str.w r3, [r1, #336] @ 0x150 + 80183de: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80183e2: f8d3 2150 ldr.w r2, [r3, #336] @ 0x150 + 80183e6: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 80183ea: 687b ldr r3, [r7, #4] + 80183ec: 4313 orrs r3, r2 + 80183ee: f8c1 3150 str.w r3, [r1, #336] @ 0x150 /* Delay after an RCC peripheral clock enabling */ tmpreg = READ_BIT(RCC->C2AHB3ENR, Periphs); - 8017a22: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8017a26: f8d3 2150 ldr.w r2, [r3, #336] @ 0x150 - 8017a2a: 687b ldr r3, [r7, #4] - 8017a2c: 4013 ands r3, r2 - 8017a2e: 60fb str r3, [r7, #12] + 80183f2: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 80183f6: f8d3 2150 ldr.w r2, [r3, #336] @ 0x150 + 80183fa: 687b ldr r3, [r7, #4] + 80183fc: 4013 ands r3, r2 + 80183fe: 60fb str r3, [r7, #12] (void)tmpreg; - 8017a30: 68fb ldr r3, [r7, #12] + 8018400: 68fb ldr r3, [r7, #12] } - 8017a32: bf00 nop - 8017a34: 3714 adds r7, #20 - 8017a36: 46bd mov sp, r7 - 8017a38: f85d 7b04 ldr.w r7, [sp], #4 - 8017a3c: 4770 bx lr + 8018402: bf00 nop + 8018404: 3714 adds r7, #20 + 8018406: 46bd mov sp, r7 + 8018408: f85d 7b04 ldr.w r7, [sp], #4 + 801840c: 4770 bx lr -08017a3e : +0801840e : * @rmtoll C1CR TXFIE LL_C1_IPCC_EnableIT_TXF * @param IPCCx IPCC Instance. * @retval None */ __STATIC_INLINE void LL_C1_IPCC_EnableIT_TXF(IPCC_TypeDef *IPCCx) { - 8017a3e: b480 push {r7} - 8017a40: b083 sub sp, #12 - 8017a42: af00 add r7, sp, #0 - 8017a44: 6078 str r0, [r7, #4] + 801840e: b480 push {r7} + 8018410: b083 sub sp, #12 + 8018412: af00 add r7, sp, #0 + 8018414: 6078 str r0, [r7, #4] SET_BIT(IPCCx->C1CR, IPCC_C1CR_TXFIE); - 8017a46: 687b ldr r3, [r7, #4] - 8017a48: 681b ldr r3, [r3, #0] - 8017a4a: f443 3280 orr.w r2, r3, #65536 @ 0x10000 - 8017a4e: 687b ldr r3, [r7, #4] - 8017a50: 601a str r2, [r3, #0] + 8018416: 687b ldr r3, [r7, #4] + 8018418: 681b ldr r3, [r3, #0] + 801841a: f443 3280 orr.w r2, r3, #65536 @ 0x10000 + 801841e: 687b ldr r3, [r7, #4] + 8018420: 601a str r2, [r3, #0] } - 8017a52: bf00 nop - 8017a54: 370c adds r7, #12 - 8017a56: 46bd mov sp, r7 - 8017a58: f85d 7b04 ldr.w r7, [sp], #4 - 8017a5c: 4770 bx lr + 8018422: bf00 nop + 8018424: 370c adds r7, #12 + 8018426: 46bd mov sp, r7 + 8018428: f85d 7b04 ldr.w r7, [sp], #4 + 801842c: 4770 bx lr -08017a5e : +0801842e : * @rmtoll C1CR RXOIE LL_C1_IPCC_EnableIT_RXO * @param IPCCx IPCC Instance. * @retval None */ __STATIC_INLINE void LL_C1_IPCC_EnableIT_RXO(IPCC_TypeDef *IPCCx) { - 8017a5e: b480 push {r7} - 8017a60: b083 sub sp, #12 - 8017a62: af00 add r7, sp, #0 - 8017a64: 6078 str r0, [r7, #4] + 801842e: b480 push {r7} + 8018430: b083 sub sp, #12 + 8018432: af00 add r7, sp, #0 + 8018434: 6078 str r0, [r7, #4] SET_BIT(IPCCx->C1CR, IPCC_C1CR_RXOIE); - 8017a66: 687b ldr r3, [r7, #4] - 8017a68: 681b ldr r3, [r3, #0] - 8017a6a: f043 0201 orr.w r2, r3, #1 - 8017a6e: 687b ldr r3, [r7, #4] - 8017a70: 601a str r2, [r3, #0] + 8018436: 687b ldr r3, [r7, #4] + 8018438: 681b ldr r3, [r3, #0] + 801843a: f043 0201 orr.w r2, r3, #1 + 801843e: 687b ldr r3, [r7, #4] + 8018440: 601a str r2, [r3, #0] } - 8017a72: bf00 nop - 8017a74: 370c adds r7, #12 - 8017a76: 46bd mov sp, r7 - 8017a78: f85d 7b04 ldr.w r7, [sp], #4 - 8017a7c: 4770 bx lr + 8018442: bf00 nop + 8018444: 370c adds r7, #12 + 8018446: 46bd mov sp, r7 + 8018448: f85d 7b04 ldr.w r7, [sp], #4 + 801844c: 4770 bx lr -08017a7e : +0801844e : * @arg @ref LL_IPCC_CHANNEL_5 * @arg @ref LL_IPCC_CHANNEL_6 * @retval None */ __STATIC_INLINE void LL_C1_IPCC_EnableTransmitChannel(IPCC_TypeDef *IPCCx, uint32_t Channel) { - 8017a7e: b480 push {r7} - 8017a80: b083 sub sp, #12 - 8017a82: af00 add r7, sp, #0 - 8017a84: 6078 str r0, [r7, #4] - 8017a86: 6039 str r1, [r7, #0] + 801844e: b480 push {r7} + 8018450: b083 sub sp, #12 + 8018452: af00 add r7, sp, #0 + 8018454: 6078 str r0, [r7, #4] + 8018456: 6039 str r1, [r7, #0] CLEAR_BIT(IPCCx->C1MR, Channel << IPCC_C1MR_CH1FM_Pos); - 8017a88: 687b ldr r3, [r7, #4] - 8017a8a: 685a ldr r2, [r3, #4] - 8017a8c: 683b ldr r3, [r7, #0] - 8017a8e: 041b lsls r3, r3, #16 - 8017a90: 43db mvns r3, r3 - 8017a92: 401a ands r2, r3 - 8017a94: 687b ldr r3, [r7, #4] - 8017a96: 605a str r2, [r3, #4] + 8018458: 687b ldr r3, [r7, #4] + 801845a: 685a ldr r2, [r3, #4] + 801845c: 683b ldr r3, [r7, #0] + 801845e: 041b lsls r3, r3, #16 + 8018460: 43db mvns r3, r3 + 8018462: 401a ands r2, r3 + 8018464: 687b ldr r3, [r7, #4] + 8018466: 605a str r2, [r3, #4] } - 8017a98: bf00 nop - 8017a9a: 370c adds r7, #12 - 8017a9c: 46bd mov sp, r7 - 8017a9e: f85d 7b04 ldr.w r7, [sp], #4 - 8017aa2: 4770 bx lr + 8018468: bf00 nop + 801846a: 370c adds r7, #12 + 801846c: 46bd mov sp, r7 + 801846e: f85d 7b04 ldr.w r7, [sp], #4 + 8018472: 4770 bx lr -08017aa4 : +08018474 : * @arg @ref LL_IPCC_CHANNEL_5 * @arg @ref LL_IPCC_CHANNEL_6 * @retval None */ __STATIC_INLINE void LL_C1_IPCC_DisableTransmitChannel(IPCC_TypeDef *IPCCx, uint32_t Channel) { - 8017aa4: b480 push {r7} - 8017aa6: b083 sub sp, #12 - 8017aa8: af00 add r7, sp, #0 - 8017aaa: 6078 str r0, [r7, #4] - 8017aac: 6039 str r1, [r7, #0] + 8018474: b480 push {r7} + 8018476: b083 sub sp, #12 + 8018478: af00 add r7, sp, #0 + 801847a: 6078 str r0, [r7, #4] + 801847c: 6039 str r1, [r7, #0] SET_BIT(IPCCx->C1MR, Channel << IPCC_C1MR_CH1FM_Pos); - 8017aae: 687b ldr r3, [r7, #4] - 8017ab0: 685a ldr r2, [r3, #4] - 8017ab2: 683b ldr r3, [r7, #0] - 8017ab4: 041b lsls r3, r3, #16 - 8017ab6: 431a orrs r2, r3 - 8017ab8: 687b ldr r3, [r7, #4] - 8017aba: 605a str r2, [r3, #4] + 801847e: 687b ldr r3, [r7, #4] + 8018480: 685a ldr r2, [r3, #4] + 8018482: 683b ldr r3, [r7, #0] + 8018484: 041b lsls r3, r3, #16 + 8018486: 431a orrs r2, r3 + 8018488: 687b ldr r3, [r7, #4] + 801848a: 605a str r2, [r3, #4] } - 8017abc: bf00 nop - 8017abe: 370c adds r7, #12 - 8017ac0: 46bd mov sp, r7 - 8017ac2: f85d 7b04 ldr.w r7, [sp], #4 - 8017ac6: 4770 bx lr + 801848c: bf00 nop + 801848e: 370c adds r7, #12 + 8018490: 46bd mov sp, r7 + 8018492: f85d 7b04 ldr.w r7, [sp], #4 + 8018496: 4770 bx lr -08017ac8 : +08018498 : * @arg @ref LL_IPCC_CHANNEL_5 * @arg @ref LL_IPCC_CHANNEL_6 * @retval None */ __STATIC_INLINE void LL_C1_IPCC_EnableReceiveChannel(IPCC_TypeDef *IPCCx, uint32_t Channel) { - 8017ac8: b480 push {r7} - 8017aca: b083 sub sp, #12 - 8017acc: af00 add r7, sp, #0 - 8017ace: 6078 str r0, [r7, #4] - 8017ad0: 6039 str r1, [r7, #0] + 8018498: b480 push {r7} + 801849a: b083 sub sp, #12 + 801849c: af00 add r7, sp, #0 + 801849e: 6078 str r0, [r7, #4] + 80184a0: 6039 str r1, [r7, #0] CLEAR_BIT(IPCCx->C1MR, Channel); - 8017ad2: 687b ldr r3, [r7, #4] - 8017ad4: 685a ldr r2, [r3, #4] - 8017ad6: 683b ldr r3, [r7, #0] - 8017ad8: 43db mvns r3, r3 - 8017ada: 401a ands r2, r3 - 8017adc: 687b ldr r3, [r7, #4] - 8017ade: 605a str r2, [r3, #4] + 80184a2: 687b ldr r3, [r7, #4] + 80184a4: 685a ldr r2, [r3, #4] + 80184a6: 683b ldr r3, [r7, #0] + 80184a8: 43db mvns r3, r3 + 80184aa: 401a ands r2, r3 + 80184ac: 687b ldr r3, [r7, #4] + 80184ae: 605a str r2, [r3, #4] } - 8017ae0: bf00 nop - 8017ae2: 370c adds r7, #12 - 8017ae4: 46bd mov sp, r7 - 8017ae6: f85d 7b04 ldr.w r7, [sp], #4 - 8017aea: 4770 bx lr + 80184b0: bf00 nop + 80184b2: 370c adds r7, #12 + 80184b4: 46bd mov sp, r7 + 80184b6: f85d 7b04 ldr.w r7, [sp], #4 + 80184ba: 4770 bx lr -08017aec : +080184bc : * @arg @ref LL_IPCC_CHANNEL_5 * @arg @ref LL_IPCC_CHANNEL_6 * @retval None */ __STATIC_INLINE void LL_C1_IPCC_ClearFlag_CHx(IPCC_TypeDef *IPCCx, uint32_t Channel) { - 8017aec: b480 push {r7} - 8017aee: b083 sub sp, #12 - 8017af0: af00 add r7, sp, #0 - 8017af2: 6078 str r0, [r7, #4] - 8017af4: 6039 str r1, [r7, #0] + 80184bc: b480 push {r7} + 80184be: b083 sub sp, #12 + 80184c0: af00 add r7, sp, #0 + 80184c2: 6078 str r0, [r7, #4] + 80184c4: 6039 str r1, [r7, #0] WRITE_REG(IPCCx->C1SCR, Channel); - 8017af6: 687b ldr r3, [r7, #4] - 8017af8: 683a ldr r2, [r7, #0] - 8017afa: 609a str r2, [r3, #8] + 80184c6: 687b ldr r3, [r7, #4] + 80184c8: 683a ldr r2, [r7, #0] + 80184ca: 609a str r2, [r3, #8] } - 8017afc: bf00 nop - 8017afe: 370c adds r7, #12 - 8017b00: 46bd mov sp, r7 - 8017b02: f85d 7b04 ldr.w r7, [sp], #4 - 8017b06: 4770 bx lr + 80184cc: bf00 nop + 80184ce: 370c adds r7, #12 + 80184d0: 46bd mov sp, r7 + 80184d2: f85d 7b04 ldr.w r7, [sp], #4 + 80184d6: 4770 bx lr -08017b08 : +080184d8 : * @arg @ref LL_IPCC_CHANNEL_5 * @arg @ref LL_IPCC_CHANNEL_6 * @retval None */ __STATIC_INLINE void LL_C1_IPCC_SetFlag_CHx(IPCC_TypeDef *IPCCx, uint32_t Channel) { - 8017b08: b480 push {r7} - 8017b0a: b083 sub sp, #12 - 8017b0c: af00 add r7, sp, #0 - 8017b0e: 6078 str r0, [r7, #4] - 8017b10: 6039 str r1, [r7, #0] + 80184d8: b480 push {r7} + 80184da: b083 sub sp, #12 + 80184dc: af00 add r7, sp, #0 + 80184de: 6078 str r0, [r7, #4] + 80184e0: 6039 str r1, [r7, #0] WRITE_REG(IPCCx->C1SCR, Channel << IPCC_C1SCR_CH1S_Pos); - 8017b12: 683b ldr r3, [r7, #0] - 8017b14: 041a lsls r2, r3, #16 - 8017b16: 687b ldr r3, [r7, #4] - 8017b18: 609a str r2, [r3, #8] + 80184e2: 683b ldr r3, [r7, #0] + 80184e4: 041a lsls r2, r3, #16 + 80184e6: 687b ldr r3, [r7, #4] + 80184e8: 609a str r2, [r3, #8] } - 8017b1a: bf00 nop - 8017b1c: 370c adds r7, #12 - 8017b1e: 46bd mov sp, r7 - 8017b20: f85d 7b04 ldr.w r7, [sp], #4 - 8017b24: 4770 bx lr + 80184ea: bf00 nop + 80184ec: 370c adds r7, #12 + 80184ee: 46bd mov sp, r7 + 80184f0: f85d 7b04 ldr.w r7, [sp], #4 + 80184f4: 4770 bx lr -08017b26 : +080184f6 : * @arg @ref LL_IPCC_CHANNEL_5 * @arg @ref LL_IPCC_CHANNEL_6 * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_C1_IPCC_IsActiveFlag_CHx(IPCC_TypeDef const *const IPCCx, uint32_t Channel) { - 8017b26: b480 push {r7} - 8017b28: b083 sub sp, #12 - 8017b2a: af00 add r7, sp, #0 - 8017b2c: 6078 str r0, [r7, #4] - 8017b2e: 6039 str r1, [r7, #0] + 80184f6: b480 push {r7} + 80184f8: b083 sub sp, #12 + 80184fa: af00 add r7, sp, #0 + 80184fc: 6078 str r0, [r7, #4] + 80184fe: 6039 str r1, [r7, #0] return ((READ_BIT(IPCCx->C1TOC2SR, Channel) == (Channel)) ? 1UL : 0UL); - 8017b30: 687b ldr r3, [r7, #4] - 8017b32: 68da ldr r2, [r3, #12] - 8017b34: 683b ldr r3, [r7, #0] - 8017b36: 4013 ands r3, r2 - 8017b38: 683a ldr r2, [r7, #0] - 8017b3a: 429a cmp r2, r3 - 8017b3c: d101 bne.n 8017b42 - 8017b3e: 2301 movs r3, #1 - 8017b40: e000 b.n 8017b44 - 8017b42: 2300 movs r3, #0 + 8018500: 687b ldr r3, [r7, #4] + 8018502: 68da ldr r2, [r3, #12] + 8018504: 683b ldr r3, [r7, #0] + 8018506: 4013 ands r3, r2 + 8018508: 683a ldr r2, [r7, #0] + 801850a: 429a cmp r2, r3 + 801850c: d101 bne.n 8018512 + 801850e: 2301 movs r3, #1 + 8018510: e000 b.n 8018514 + 8018512: 2300 movs r3, #0 } - 8017b44: 4618 mov r0, r3 - 8017b46: 370c adds r7, #12 - 8017b48: 46bd mov sp, r7 - 8017b4a: f85d 7b04 ldr.w r7, [sp], #4 - 8017b4e: 4770 bx lr + 8018514: 4618 mov r0, r3 + 8018516: 370c adds r7, #12 + 8018518: 46bd mov sp, r7 + 801851a: f85d 7b04 ldr.w r7, [sp], #4 + 801851e: 4770 bx lr -08017b50 : +08018520 : * @arg @ref LL_IPCC_CHANNEL_5 * @arg @ref LL_IPCC_CHANNEL_6 * @retval State of bit (1 or 0). */ __STATIC_INLINE uint32_t LL_C2_IPCC_IsActiveFlag_CHx(IPCC_TypeDef const *const IPCCx, uint32_t Channel) { - 8017b50: b480 push {r7} - 8017b52: b083 sub sp, #12 - 8017b54: af00 add r7, sp, #0 - 8017b56: 6078 str r0, [r7, #4] - 8017b58: 6039 str r1, [r7, #0] + 8018520: b480 push {r7} + 8018522: b083 sub sp, #12 + 8018524: af00 add r7, sp, #0 + 8018526: 6078 str r0, [r7, #4] + 8018528: 6039 str r1, [r7, #0] return ((READ_BIT(IPCCx->C2TOC1SR, Channel) == (Channel)) ? 1UL : 0UL); - 8017b5a: 687b ldr r3, [r7, #4] - 8017b5c: 69da ldr r2, [r3, #28] - 8017b5e: 683b ldr r3, [r7, #0] - 8017b60: 4013 ands r3, r2 - 8017b62: 683a ldr r2, [r7, #0] - 8017b64: 429a cmp r2, r3 - 8017b66: d101 bne.n 8017b6c - 8017b68: 2301 movs r3, #1 - 8017b6a: e000 b.n 8017b6e - 8017b6c: 2300 movs r3, #0 + 801852a: 687b ldr r3, [r7, #4] + 801852c: 69da ldr r2, [r3, #28] + 801852e: 683b ldr r3, [r7, #0] + 8018530: 4013 ands r3, r2 + 8018532: 683a ldr r2, [r7, #0] + 8018534: 429a cmp r2, r3 + 8018536: d101 bne.n 801853c + 8018538: 2301 movs r3, #1 + 801853a: e000 b.n 801853e + 801853c: 2300 movs r3, #0 } - 8017b6e: 4618 mov r0, r3 - 8017b70: 370c adds r7, #12 - 8017b72: 46bd mov sp, r7 - 8017b74: f85d 7b04 ldr.w r7, [sp], #4 - 8017b78: 4770 bx lr + 801853e: 4618 mov r0, r3 + 8018540: 370c adds r7, #12 + 8018542: 46bd mov sp, r7 + 8018544: f85d 7b04 ldr.w r7, [sp], #4 + 8018548: 4770 bx lr ... -08017b7c : +0801854c : /****************************************************************************** * INTERRUPT HANDLER ******************************************************************************/ void HW_IPCC_Rx_Handler( void ) { - 8017b7c: b580 push {r7, lr} - 8017b7e: af00 add r7, sp, #0 + 801854c: b580 push {r7, lr} + 801854e: af00 add r7, sp, #0 if (HW_IPCC_RX_PENDING( HW_IPCC_SYSTEM_EVENT_CHANNEL )) - 8017b80: 2102 movs r1, #2 - 8017b82: 4818 ldr r0, [pc, #96] @ (8017be4 ) - 8017b84: f7ff ffe4 bl 8017b50 - 8017b88: 4603 mov r3, r0 - 8017b8a: 2b00 cmp r3, #0 - 8017b8c: d008 beq.n 8017ba0 - 8017b8e: 4b15 ldr r3, [pc, #84] @ (8017be4 ) - 8017b90: 685b ldr r3, [r3, #4] - 8017b92: f003 0302 and.w r3, r3, #2 - 8017b96: 2b00 cmp r3, #0 - 8017b98: d102 bne.n 8017ba0 + 8018550: 2102 movs r1, #2 + 8018552: 4818 ldr r0, [pc, #96] @ (80185b4 ) + 8018554: f7ff ffe4 bl 8018520 + 8018558: 4603 mov r3, r0 + 801855a: 2b00 cmp r3, #0 + 801855c: d008 beq.n 8018570 + 801855e: 4b15 ldr r3, [pc, #84] @ (80185b4 ) + 8018560: 685b ldr r3, [r3, #4] + 8018562: f003 0302 and.w r3, r3, #2 + 8018566: 2b00 cmp r3, #0 + 8018568: d102 bne.n 8018570 { HW_IPCC_SYS_EvtHandler(); - 8017b9a: f000 f901 bl 8017da0 - 8017b9e: e01e b.n 8017bde + 801856a: f000 f901 bl 8018770 + 801856e: e01e b.n 80185ae else if (HW_IPCC_RX_PENDING( HW_IPCC_ZIGBEE_M0_REQUEST_CHANNEL )) { HW_IPCC_ZIGBEE_StackM0RequestHandler(); } #endif /* ZIGBEE_WB */ else if (HW_IPCC_RX_PENDING( HW_IPCC_BLE_EVENT_CHANNEL )) - 8017ba0: 2101 movs r1, #1 - 8017ba2: 4810 ldr r0, [pc, #64] @ (8017be4 ) - 8017ba4: f7ff ffd4 bl 8017b50 - 8017ba8: 4603 mov r3, r0 - 8017baa: 2b00 cmp r3, #0 - 8017bac: d008 beq.n 8017bc0 - 8017bae: 4b0d ldr r3, [pc, #52] @ (8017be4 ) - 8017bb0: 685b ldr r3, [r3, #4] - 8017bb2: f003 0301 and.w r3, r3, #1 - 8017bb6: 2b00 cmp r3, #0 - 8017bb8: d102 bne.n 8017bc0 + 8018570: 2101 movs r1, #1 + 8018572: 4810 ldr r0, [pc, #64] @ (80185b4 ) + 8018574: f7ff ffd4 bl 8018520 + 8018578: 4603 mov r3, r0 + 801857a: 2b00 cmp r3, #0 + 801857c: d008 beq.n 8018590 + 801857e: 4b0d ldr r3, [pc, #52] @ (80185b4 ) + 8018580: 685b ldr r3, [r3, #4] + 8018582: f003 0301 and.w r3, r3, #1 + 8018586: 2b00 cmp r3, #0 + 8018588: d102 bne.n 8018590 { HW_IPCC_BLE_EvtHandler(); - 8017bba: f000 f875 bl 8017ca8 - 8017bbe: e00e b.n 8017bde + 801858a: f000 f875 bl 8018678 + 801858e: e00e b.n 80185ae } else if (HW_IPCC_RX_PENDING( HW_IPCC_TRACES_CHANNEL )) - 8017bc0: 2108 movs r1, #8 - 8017bc2: 4808 ldr r0, [pc, #32] @ (8017be4 ) - 8017bc4: f7ff ffc4 bl 8017b50 - 8017bc8: 4603 mov r3, r0 - 8017bca: 2b00 cmp r3, #0 - 8017bcc: d008 beq.n 8017be0 - 8017bce: 4b05 ldr r3, [pc, #20] @ (8017be4 ) - 8017bd0: 685b ldr r3, [r3, #4] - 8017bd2: f003 0308 and.w r3, r3, #8 - 8017bd6: 2b00 cmp r3, #0 - 8017bd8: d102 bne.n 8017be0 + 8018590: 2108 movs r1, #8 + 8018592: 4808 ldr r0, [pc, #32] @ (80185b4 ) + 8018594: f7ff ffc4 bl 8018520 + 8018598: 4603 mov r3, r0 + 801859a: 2b00 cmp r3, #0 + 801859c: d008 beq.n 80185b0 + 801859e: 4b05 ldr r3, [pc, #20] @ (80185b4 ) + 80185a0: 685b ldr r3, [r3, #4] + 80185a2: f003 0308 and.w r3, r3, #8 + 80185a6: 2b00 cmp r3, #0 + 80185a8: d102 bne.n 80185b0 { HW_IPCC_TRACES_EvtHandler(); - 8017bda: f000 f959 bl 8017e90 + 80185aa: f000 f959 bl 8018860 } return; - 8017bde: bf00 nop - 8017be0: bf00 nop + 80185ae: bf00 nop + 80185b0: bf00 nop } - 8017be2: bd80 pop {r7, pc} - 8017be4: 58000c00 .word 0x58000c00 + 80185b2: bd80 pop {r7, pc} + 80185b4: 58000c00 .word 0x58000c00 -08017be8 : +080185b8 : void HW_IPCC_Tx_Handler( void ) { - 8017be8: b580 push {r7, lr} - 8017bea: af00 add r7, sp, #0 + 80185b8: b580 push {r7, lr} + 80185ba: af00 add r7, sp, #0 if (HW_IPCC_TX_PENDING( HW_IPCC_SYSTEM_CMD_RSP_CHANNEL )) - 8017bec: 2102 movs r1, #2 - 8017bee: 4818 ldr r0, [pc, #96] @ (8017c50 ) - 8017bf0: f7ff ff99 bl 8017b26 - 8017bf4: 4603 mov r3, r0 - 8017bf6: 2b00 cmp r3, #0 - 8017bf8: d108 bne.n 8017c0c - 8017bfa: 4b15 ldr r3, [pc, #84] @ (8017c50 ) - 8017bfc: 685b ldr r3, [r3, #4] - 8017bfe: f403 3300 and.w r3, r3, #131072 @ 0x20000 - 8017c02: 2b00 cmp r3, #0 - 8017c04: d102 bne.n 8017c0c + 80185bc: 2102 movs r1, #2 + 80185be: 4818 ldr r0, [pc, #96] @ (8018620 ) + 80185c0: f7ff ff99 bl 80184f6 + 80185c4: 4603 mov r3, r0 + 80185c6: 2b00 cmp r3, #0 + 80185c8: d108 bne.n 80185dc + 80185ca: 4b15 ldr r3, [pc, #84] @ (8018620 ) + 80185cc: 685b ldr r3, [r3, #4] + 80185ce: f403 3300 and.w r3, r3, #131072 @ 0x20000 + 80185d2: 2b00 cmp r3, #0 + 80185d4: d102 bne.n 80185dc { HW_IPCC_SYS_CmdEvtHandler(); - 8017c06: f000 f8af bl 8017d68 - 8017c0a: e01e b.n 8017c4a + 80185d6: f000 f8af bl 8018738 + 80185da: e01e b.n 801861a if (HW_IPCC_TX_PENDING( HW_IPCC_ZIGBEE_CMD_APPLI_CHANNEL )) { HW_IPCC_ZIGBEE_CmdEvtHandler(); } #endif /* ZIGBEE_WB */ else if (HW_IPCC_TX_PENDING( HW_IPCC_MM_RELEASE_BUFFER_CHANNEL )) - 8017c0c: 2108 movs r1, #8 - 8017c0e: 4810 ldr r0, [pc, #64] @ (8017c50 ) - 8017c10: f7ff ff89 bl 8017b26 - 8017c14: 4603 mov r3, r0 - 8017c16: 2b00 cmp r3, #0 - 8017c18: d108 bne.n 8017c2c - 8017c1a: 4b0d ldr r3, [pc, #52] @ (8017c50 ) - 8017c1c: 685b ldr r3, [r3, #4] - 8017c1e: f403 2300 and.w r3, r3, #524288 @ 0x80000 - 8017c22: 2b00 cmp r3, #0 - 8017c24: d102 bne.n 8017c2c + 80185dc: 2108 movs r1, #8 + 80185de: 4810 ldr r0, [pc, #64] @ (8018620 ) + 80185e0: f7ff ff89 bl 80184f6 + 80185e4: 4603 mov r3, r0 + 80185e6: 2b00 cmp r3, #0 + 80185e8: d108 bne.n 80185fc + 80185ea: 4b0d ldr r3, [pc, #52] @ (8018620 ) + 80185ec: 685b ldr r3, [r3, #4] + 80185ee: f403 2300 and.w r3, r3, #524288 @ 0x80000 + 80185f2: 2b00 cmp r3, #0 + 80185f4: d102 bne.n 80185fc { HW_IPCC_MM_FreeBufHandler(); - 8017c26: f000 f8f5 bl 8017e14 - 8017c2a: e00e b.n 8017c4a + 80185f6: f000 f8f5 bl 80187e4 + 80185fa: e00e b.n 801861a } else if (HW_IPCC_TX_PENDING( HW_IPCC_HCI_ACL_DATA_CHANNEL )) - 8017c2c: 2120 movs r1, #32 - 8017c2e: 4808 ldr r0, [pc, #32] @ (8017c50 ) - 8017c30: f7ff ff79 bl 8017b26 - 8017c34: 4603 mov r3, r0 - 8017c36: 2b00 cmp r3, #0 - 8017c38: d108 bne.n 8017c4c - 8017c3a: 4b05 ldr r3, [pc, #20] @ (8017c50 ) - 8017c3c: 685b ldr r3, [r3, #4] - 8017c3e: f403 1300 and.w r3, r3, #2097152 @ 0x200000 - 8017c42: 2b00 cmp r3, #0 - 8017c44: d102 bne.n 8017c4c + 80185fc: 2120 movs r1, #32 + 80185fe: 4808 ldr r0, [pc, #32] @ (8018620 ) + 8018600: f7ff ff79 bl 80184f6 + 8018604: 4603 mov r3, r0 + 8018606: 2b00 cmp r3, #0 + 8018608: d108 bne.n 801861c + 801860a: 4b05 ldr r3, [pc, #20] @ (8018620 ) + 801860c: 685b ldr r3, [r3, #4] + 801860e: f403 1300 and.w r3, r3, #2097152 @ 0x200000 + 8018612: 2b00 cmp r3, #0 + 8018614: d102 bne.n 801861c { HW_IPCC_BLE_AclDataEvtHandler(); - 8017c46: f000 f83b bl 8017cc0 + 8018616: f000 f83b bl 8018690 } return; - 8017c4a: bf00 nop - 8017c4c: bf00 nop + 801861a: bf00 nop + 801861c: bf00 nop } - 8017c4e: bd80 pop {r7, pc} - 8017c50: 58000c00 .word 0x58000c00 + 801861e: bd80 pop {r7, pc} + 8018620: 58000c00 .word 0x58000c00 -08017c54 : +08018624 : /****************************************************************************** * GENERAL ******************************************************************************/ void HW_IPCC_Enable( void ) { - 8017c54: b580 push {r7, lr} - 8017c56: af00 add r7, sp, #0 + 8018624: b580 push {r7, lr} + 8018626: af00 add r7, sp, #0 /** * Such as IPCC IP available to the CPU2, it is required to keep the IPCC clock running * when FUS is running on CPU2 and CPU1 enters deep sleep mode */ LL_C2_AHB3_GRP1_EnableClock(LL_C2_AHB3_GRP1_PERIPH_IPCC); - 8017c58: f44f 1080 mov.w r0, #1048576 @ 0x100000 - 8017c5c: f7ff fed3 bl 8017a06 + 8018628: f44f 1080 mov.w r0, #1048576 @ 0x100000 + 801862c: f7ff fed3 bl 80183d6 /** * When the device is out of standby, it is required to use the EXTI mechanism to wakeup CPU2 */ LL_EXTI_EnableRisingTrig_32_63( LL_EXTI_LINE_41 ); - 8017c60: f44f 7000 mov.w r0, #512 @ 0x200 - 8017c64: f7ff fea4 bl 80179b0 + 8018630: f44f 7000 mov.w r0, #512 @ 0x200 + 8018634: f7ff fea4 bl 8018380 /* It is required to have at least a system clock cycle before a SEV after LL_EXTI_EnableRisingTrig_32_63() */ LL_C2_EXTI_EnableEvent_32_63( LL_EXTI_LINE_41 ); - 8017c68: f44f 7000 mov.w r0, #512 @ 0x200 - 8017c6c: f7ff fe8c bl 8017988 + 8018638: f44f 7000 mov.w r0, #512 @ 0x200 + 801863c: f7ff fe8c bl 8018358 * When the CPU2 receives that command, it waits for its event input to be set to restart the CPU2 firmware. * This is required because once C2BOOT has been set once, a clear/set on C2BOOT has no effect. * When SHCI_C2_Reinit( ) is not called, generating an event to the CPU2 does not have any effect * So, by default, the application shall both set the event flag and set the C2BOOT bit. */ __SEV( ); /* Set the internal event flag and send an event to the CPU2 */ - 8017c70: bf40 sev + 8018640: bf40 sev __WFE( ); /* Clear the internal event flag */ - 8017c72: bf20 wfe + 8018642: bf20 wfe LL_PWR_EnableBootC2( ); - 8017c74: f7ff fe78 bl 8017968 + 8018644: f7ff fe78 bl 8018338 return; - 8017c78: bf00 nop + 8018648: bf00 nop } - 8017c7a: bd80 pop {r7, pc} + 801864a: bd80 pop {r7, pc} -08017c7c : +0801864c : void HW_IPCC_Init( void ) { - 8017c7c: b580 push {r7, lr} - 8017c7e: af00 add r7, sp, #0 + 801864c: b580 push {r7, lr} + 801864e: af00 add r7, sp, #0 LL_AHB3_GRP1_EnableClock( LL_AHB3_GRP1_PERIPH_IPCC ); - 8017c80: f44f 1080 mov.w r0, #1048576 @ 0x100000 - 8017c84: f7ff fea6 bl 80179d4 + 8018650: f44f 1080 mov.w r0, #1048576 @ 0x100000 + 8018654: f7ff fea6 bl 80183a4 LL_C1_IPCC_EnableIT_RXO( IPCC ); - 8017c88: 4806 ldr r0, [pc, #24] @ (8017ca4 ) - 8017c8a: f7ff fee8 bl 8017a5e + 8018658: 4806 ldr r0, [pc, #24] @ (8018674 ) + 801865a: f7ff fee8 bl 801842e LL_C1_IPCC_EnableIT_TXF( IPCC ); - 8017c8e: 4805 ldr r0, [pc, #20] @ (8017ca4 ) - 8017c90: f7ff fed5 bl 8017a3e + 801865e: 4805 ldr r0, [pc, #20] @ (8018674 ) + 8018660: f7ff fed5 bl 801840e HAL_NVIC_EnableIRQ(IPCC_C1_RX_IRQn); - 8017c94: 202c movs r0, #44 @ 0x2c - 8017c96: f7ee fd35 bl 8006704 + 8018664: 202c movs r0, #44 @ 0x2c + 8018666: f7ee facb bl 8006c00 HAL_NVIC_EnableIRQ(IPCC_C1_TX_IRQn); - 8017c9a: 202d movs r0, #45 @ 0x2d - 8017c9c: f7ee fd32 bl 8006704 + 801866a: 202d movs r0, #45 @ 0x2d + 801866c: f7ee fac8 bl 8006c00 return; - 8017ca0: bf00 nop + 8018670: bf00 nop } - 8017ca2: bd80 pop {r7, pc} - 8017ca4: 58000c00 .word 0x58000c00 + 8018672: bd80 pop {r7, pc} + 8018674: 58000c00 .word 0x58000c00 -08017ca8 : +08018678 : return; } static void HW_IPCC_BLE_EvtHandler( void ) { - 8017ca8: b580 push {r7, lr} - 8017caa: af00 add r7, sp, #0 + 8018678: b580 push {r7, lr} + 801867a: af00 add r7, sp, #0 HW_IPCC_BLE_RxEvtNot(); - 8017cac: f7fa fe00 bl 80128b0 + 801867c: f7fa fe16 bl 80132ac LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_BLE_EVENT_CHANNEL ); - 8017cb0: 2101 movs r1, #1 - 8017cb2: 4802 ldr r0, [pc, #8] @ (8017cbc ) - 8017cb4: f7ff ff1a bl 8017aec + 8018680: 2101 movs r1, #1 + 8018682: 4802 ldr r0, [pc, #8] @ (801868c ) + 8018684: f7ff ff1a bl 80184bc return; - 8017cb8: bf00 nop + 8018688: bf00 nop } - 8017cba: bd80 pop {r7, pc} - 8017cbc: 58000c00 .word 0x58000c00 + 801868a: bd80 pop {r7, pc} + 801868c: 58000c00 .word 0x58000c00 -08017cc0 : +08018690 : return; } static void HW_IPCC_BLE_AclDataEvtHandler( void ) { - 8017cc0: b580 push {r7, lr} - 8017cc2: b084 sub sp, #16 - 8017cc4: af00 add r7, sp, #0 + 8018690: b580 push {r7, lr} + 8018692: b084 sub sp, #16 + 8018694: af00 add r7, sp, #0 __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8017cc6: f3ef 8310 mrs r3, PRIMASK - 8017cca: 607b str r3, [r7, #4] + 8018696: f3ef 8310 mrs r3, PRIMASK + 801869a: 607b str r3, [r7, #4] return(result); - 8017ccc: 687b ldr r3, [r7, #4] + 801869c: 687b ldr r3, [r7, #4] UTILS_ENTER_CRITICAL_SECTION(); - 8017cce: 60fb str r3, [r7, #12] + 801869e: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); - 8017cd0: b672 cpsid i + 80186a0: b672 cpsid i } - 8017cd2: bf00 nop + 80186a2: bf00 nop LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_HCI_ACL_DATA_CHANNEL ); - 8017cd4: 2120 movs r1, #32 - 8017cd6: 4807 ldr r0, [pc, #28] @ (8017cf4 ) - 8017cd8: f7ff fee4 bl 8017aa4 - 8017cdc: 68fb ldr r3, [r7, #12] - 8017cde: 60bb str r3, [r7, #8] + 80186a4: 2120 movs r1, #32 + 80186a6: 4807 ldr r0, [pc, #28] @ (80186c4 ) + 80186a8: f7ff fee4 bl 8018474 + 80186ac: 68fb ldr r3, [r7, #12] + 80186ae: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8017ce0: 68bb ldr r3, [r7, #8] - 8017ce2: f383 8810 msr PRIMASK, r3 + 80186b0: 68bb ldr r3, [r7, #8] + 80186b2: f383 8810 msr PRIMASK, r3 } - 8017ce6: bf00 nop + 80186b6: bf00 nop UTILS_EXIT_CRITICAL_SECTION(); HW_IPCC_BLE_AclDataAckNot(); - 8017ce8: f7fa fe12 bl 8012910 + 80186b8: f7fa fe28 bl 801330c return; - 8017cec: bf00 nop + 80186bc: bf00 nop } - 8017cee: 3710 adds r7, #16 - 8017cf0: 46bd mov sp, r7 - 8017cf2: bd80 pop {r7, pc} - 8017cf4: 58000c00 .word 0x58000c00 + 80186be: 3710 adds r7, #16 + 80186c0: 46bd mov sp, r7 + 80186c2: bd80 pop {r7, pc} + 80186c4: 58000c00 .word 0x58000c00 -08017cf8 : +080186c8 : /****************************************************************************** * SYSTEM ******************************************************************************/ void HW_IPCC_SYS_Init( void ) { - 8017cf8: b580 push {r7, lr} - 8017cfa: b084 sub sp, #16 - 8017cfc: af00 add r7, sp, #0 + 80186c8: b580 push {r7, lr} + 80186ca: b084 sub sp, #16 + 80186cc: af00 add r7, sp, #0 __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8017cfe: f3ef 8310 mrs r3, PRIMASK - 8017d02: 607b str r3, [r7, #4] + 80186ce: f3ef 8310 mrs r3, PRIMASK + 80186d2: 607b str r3, [r7, #4] return(result); - 8017d04: 687b ldr r3, [r7, #4] + 80186d4: 687b ldr r3, [r7, #4] UTILS_ENTER_CRITICAL_SECTION(); - 8017d06: 60fb str r3, [r7, #12] + 80186d6: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); - 8017d08: b672 cpsid i + 80186d8: b672 cpsid i } - 8017d0a: bf00 nop + 80186da: bf00 nop LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_SYSTEM_EVENT_CHANNEL ); - 8017d0c: 2102 movs r1, #2 - 8017d0e: 4806 ldr r0, [pc, #24] @ (8017d28 ) - 8017d10: f7ff feda bl 8017ac8 - 8017d14: 68fb ldr r3, [r7, #12] - 8017d16: 60bb str r3, [r7, #8] + 80186dc: 2102 movs r1, #2 + 80186de: 4806 ldr r0, [pc, #24] @ (80186f8 ) + 80186e0: f7ff feda bl 8018498 + 80186e4: 68fb ldr r3, [r7, #12] + 80186e6: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8017d18: 68bb ldr r3, [r7, #8] - 8017d1a: f383 8810 msr PRIMASK, r3 + 80186e8: 68bb ldr r3, [r7, #8] + 80186ea: f383 8810 msr PRIMASK, r3 } - 8017d1e: bf00 nop + 80186ee: bf00 nop UTILS_EXIT_CRITICAL_SECTION(); return; - 8017d20: bf00 nop + 80186f0: bf00 nop } - 8017d22: 3710 adds r7, #16 - 8017d24: 46bd mov sp, r7 - 8017d26: bd80 pop {r7, pc} - 8017d28: 58000c00 .word 0x58000c00 + 80186f2: 3710 adds r7, #16 + 80186f4: 46bd mov sp, r7 + 80186f6: bd80 pop {r7, pc} + 80186f8: 58000c00 .word 0x58000c00 -08017d2c : +080186fc : void HW_IPCC_SYS_SendCmd( void ) { - 8017d2c: b580 push {r7, lr} - 8017d2e: b084 sub sp, #16 - 8017d30: af00 add r7, sp, #0 + 80186fc: b580 push {r7, lr} + 80186fe: b084 sub sp, #16 + 8018700: af00 add r7, sp, #0 LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ); - 8017d32: 2102 movs r1, #2 - 8017d34: 480b ldr r0, [pc, #44] @ (8017d64 ) - 8017d36: f7ff fee7 bl 8017b08 + 8018702: 2102 movs r1, #2 + 8018704: 480b ldr r0, [pc, #44] @ (8018734 ) + 8018706: f7ff fee7 bl 80184d8 __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8017d3a: f3ef 8310 mrs r3, PRIMASK - 8017d3e: 607b str r3, [r7, #4] + 801870a: f3ef 8310 mrs r3, PRIMASK + 801870e: 607b str r3, [r7, #4] return(result); - 8017d40: 687b ldr r3, [r7, #4] + 8018710: 687b ldr r3, [r7, #4] UTILS_ENTER_CRITICAL_SECTION(); - 8017d42: 60fb str r3, [r7, #12] + 8018712: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); - 8017d44: b672 cpsid i + 8018714: b672 cpsid i } - 8017d46: bf00 nop + 8018716: bf00 nop LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ); - 8017d48: 2102 movs r1, #2 - 8017d4a: 4806 ldr r0, [pc, #24] @ (8017d64 ) - 8017d4c: f7ff fe97 bl 8017a7e - 8017d50: 68fb ldr r3, [r7, #12] - 8017d52: 60bb str r3, [r7, #8] + 8018718: 2102 movs r1, #2 + 801871a: 4806 ldr r0, [pc, #24] @ (8018734 ) + 801871c: f7ff fe97 bl 801844e + 8018720: 68fb ldr r3, [r7, #12] + 8018722: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8017d54: 68bb ldr r3, [r7, #8] - 8017d56: f383 8810 msr PRIMASK, r3 + 8018724: 68bb ldr r3, [r7, #8] + 8018726: f383 8810 msr PRIMASK, r3 } - 8017d5a: bf00 nop + 801872a: bf00 nop UTILS_EXIT_CRITICAL_SECTION(); return; - 8017d5c: bf00 nop + 801872c: bf00 nop } - 8017d5e: 3710 adds r7, #16 - 8017d60: 46bd mov sp, r7 - 8017d62: bd80 pop {r7, pc} - 8017d64: 58000c00 .word 0x58000c00 + 801872e: 3710 adds r7, #16 + 8018730: 46bd mov sp, r7 + 8018732: bd80 pop {r7, pc} + 8018734: 58000c00 .word 0x58000c00 -08017d68 : +08018738 : static void HW_IPCC_SYS_CmdEvtHandler( void ) { - 8017d68: b580 push {r7, lr} - 8017d6a: b084 sub sp, #16 - 8017d6c: af00 add r7, sp, #0 + 8018738: b580 push {r7, lr} + 801873a: b084 sub sp, #16 + 801873c: af00 add r7, sp, #0 __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8017d6e: f3ef 8310 mrs r3, PRIMASK - 8017d72: 607b str r3, [r7, #4] + 801873e: f3ef 8310 mrs r3, PRIMASK + 8018742: 607b str r3, [r7, #4] return(result); - 8017d74: 687b ldr r3, [r7, #4] + 8018744: 687b ldr r3, [r7, #4] UTILS_ENTER_CRITICAL_SECTION(); - 8017d76: 60fb str r3, [r7, #12] + 8018746: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); - 8017d78: b672 cpsid i + 8018748: b672 cpsid i } - 8017d7a: bf00 nop + 801874a: bf00 nop LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_SYSTEM_CMD_RSP_CHANNEL ); - 8017d7c: 2102 movs r1, #2 - 8017d7e: 4807 ldr r0, [pc, #28] @ (8017d9c ) - 8017d80: f7ff fe90 bl 8017aa4 - 8017d84: 68fb ldr r3, [r7, #12] - 8017d86: 60bb str r3, [r7, #8] + 801874c: 2102 movs r1, #2 + 801874e: 4807 ldr r0, [pc, #28] @ (801876c ) + 8018750: f7ff fe90 bl 8018474 + 8018754: 68fb ldr r3, [r7, #12] + 8018756: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8017d88: 68bb ldr r3, [r7, #8] - 8017d8a: f383 8810 msr PRIMASK, r3 + 8018758: 68bb ldr r3, [r7, #8] + 801875a: f383 8810 msr PRIMASK, r3 } - 8017d8e: bf00 nop + 801875e: bf00 nop UTILS_EXIT_CRITICAL_SECTION(); HW_IPCC_SYS_CmdEvtNot(); - 8017d90: f7fa fe12 bl 80129b8 + 8018760: f7fa fe28 bl 80133b4 return; - 8017d94: bf00 nop + 8018764: bf00 nop } - 8017d96: 3710 adds r7, #16 - 8017d98: 46bd mov sp, r7 - 8017d9a: bd80 pop {r7, pc} - 8017d9c: 58000c00 .word 0x58000c00 + 8018766: 3710 adds r7, #16 + 8018768: 46bd mov sp, r7 + 801876a: bd80 pop {r7, pc} + 801876c: 58000c00 .word 0x58000c00 -08017da0 : +08018770 : static void HW_IPCC_SYS_EvtHandler( void ) { - 8017da0: b580 push {r7, lr} - 8017da2: af00 add r7, sp, #0 + 8018770: b580 push {r7, lr} + 8018772: af00 add r7, sp, #0 HW_IPCC_SYS_EvtNot(); - 8017da4: f7fa fe1e bl 80129e4 + 8018774: f7fa fe34 bl 80133e0 LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_SYSTEM_EVENT_CHANNEL ); - 8017da8: 2102 movs r1, #2 - 8017daa: 4802 ldr r0, [pc, #8] @ (8017db4 ) - 8017dac: f7ff fe9e bl 8017aec + 8018778: 2102 movs r1, #2 + 801877a: 4802 ldr r0, [pc, #8] @ (8018784 ) + 801877c: f7ff fe9e bl 80184bc return; - 8017db0: bf00 nop + 8018780: bf00 nop } - 8017db2: bd80 pop {r7, pc} - 8017db4: 58000c00 .word 0x58000c00 + 8018782: bd80 pop {r7, pc} + 8018784: 58000c00 .word 0x58000c00 -08017db8 : +08018788 : /****************************************************************************** * MEMORY MANAGER ******************************************************************************/ void HW_IPCC_MM_SendFreeBuf( void (*cb)( void ) ) { - 8017db8: b580 push {r7, lr} - 8017dba: b086 sub sp, #24 - 8017dbc: af00 add r7, sp, #0 - 8017dbe: 6078 str r0, [r7, #4] + 8018788: b580 push {r7, lr} + 801878a: b086 sub sp, #24 + 801878c: af00 add r7, sp, #0 + 801878e: 6078 str r0, [r7, #4] if ( LL_C1_IPCC_IsActiveFlag_CHx( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ) ) - 8017dc0: 2108 movs r1, #8 - 8017dc2: 4812 ldr r0, [pc, #72] @ (8017e0c ) - 8017dc4: f7ff feaf bl 8017b26 - 8017dc8: 4603 mov r3, r0 - 8017dca: 2b00 cmp r3, #0 - 8017dcc: d013 beq.n 8017df6 + 8018790: 2108 movs r1, #8 + 8018792: 4812 ldr r0, [pc, #72] @ (80187dc ) + 8018794: f7ff feaf bl 80184f6 + 8018798: 4603 mov r3, r0 + 801879a: 2b00 cmp r3, #0 + 801879c: d013 beq.n 80187c6 { FreeBufCb = cb; - 8017dce: 4a10 ldr r2, [pc, #64] @ (8017e10 ) - 8017dd0: 687b ldr r3, [r7, #4] - 8017dd2: 6013 str r3, [r2, #0] + 801879e: 4a10 ldr r2, [pc, #64] @ (80187e0 ) + 80187a0: 687b ldr r3, [r7, #4] + 80187a2: 6013 str r3, [r2, #0] __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8017dd4: f3ef 8310 mrs r3, PRIMASK - 8017dd8: 60fb str r3, [r7, #12] + 80187a4: f3ef 8310 mrs r3, PRIMASK + 80187a8: 60fb str r3, [r7, #12] return(result); - 8017dda: 68fb ldr r3, [r7, #12] + 80187aa: 68fb ldr r3, [r7, #12] UTILS_ENTER_CRITICAL_SECTION(); - 8017ddc: 617b str r3, [r7, #20] + 80187ac: 617b str r3, [r7, #20] __ASM volatile ("cpsid i" : : : "memory"); - 8017dde: b672 cpsid i + 80187ae: b672 cpsid i } - 8017de0: bf00 nop + 80187b0: bf00 nop LL_C1_IPCC_EnableTransmitChannel( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ); - 8017de2: 2108 movs r1, #8 - 8017de4: 4809 ldr r0, [pc, #36] @ (8017e0c ) - 8017de6: f7ff fe4a bl 8017a7e - 8017dea: 697b ldr r3, [r7, #20] - 8017dec: 613b str r3, [r7, #16] + 80187b2: 2108 movs r1, #8 + 80187b4: 4809 ldr r0, [pc, #36] @ (80187dc ) + 80187b6: f7ff fe4a bl 801844e + 80187ba: 697b ldr r3, [r7, #20] + 80187bc: 613b str r3, [r7, #16] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8017dee: 693b ldr r3, [r7, #16] - 8017df0: f383 8810 msr PRIMASK, r3 + 80187be: 693b ldr r3, [r7, #16] + 80187c0: f383 8810 msr PRIMASK, r3 } - 8017df4: e005 b.n 8017e02 + 80187c4: e005 b.n 80187d2 UTILS_EXIT_CRITICAL_SECTION(); } else { cb(); - 8017df6: 687b ldr r3, [r7, #4] - 8017df8: 4798 blx r3 + 80187c6: 687b ldr r3, [r7, #4] + 80187c8: 4798 blx r3 LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ); - 8017dfa: 2108 movs r1, #8 - 8017dfc: 4803 ldr r0, [pc, #12] @ (8017e0c ) - 8017dfe: f7ff fe83 bl 8017b08 + 80187ca: 2108 movs r1, #8 + 80187cc: 4803 ldr r0, [pc, #12] @ (80187dc ) + 80187ce: f7ff fe83 bl 80184d8 } return; - 8017e02: bf00 nop + 80187d2: bf00 nop } - 8017e04: 3718 adds r7, #24 - 8017e06: 46bd mov sp, r7 - 8017e08: bd80 pop {r7, pc} - 8017e0a: bf00 nop - 8017e0c: 58000c00 .word 0x58000c00 - 8017e10: 20012118 .word 0x20012118 + 80187d4: 3718 adds r7, #24 + 80187d6: 46bd mov sp, r7 + 80187d8: bd80 pop {r7, pc} + 80187da: bf00 nop + 80187dc: 58000c00 .word 0x58000c00 + 80187e0: 200121b8 .word 0x200121b8 -08017e14 : +080187e4 : static void HW_IPCC_MM_FreeBufHandler( void ) { - 8017e14: b580 push {r7, lr} - 8017e16: b084 sub sp, #16 - 8017e18: af00 add r7, sp, #0 + 80187e4: b580 push {r7, lr} + 80187e6: b084 sub sp, #16 + 80187e8: af00 add r7, sp, #0 __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8017e1a: f3ef 8310 mrs r3, PRIMASK - 8017e1e: 607b str r3, [r7, #4] + 80187ea: f3ef 8310 mrs r3, PRIMASK + 80187ee: 607b str r3, [r7, #4] return(result); - 8017e20: 687b ldr r3, [r7, #4] + 80187f0: 687b ldr r3, [r7, #4] UTILS_ENTER_CRITICAL_SECTION(); - 8017e22: 60fb str r3, [r7, #12] + 80187f2: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); - 8017e24: b672 cpsid i + 80187f4: b672 cpsid i } - 8017e26: bf00 nop + 80187f6: bf00 nop LL_C1_IPCC_DisableTransmitChannel( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ); - 8017e28: 2108 movs r1, #8 - 8017e2a: 480a ldr r0, [pc, #40] @ (8017e54 ) - 8017e2c: f7ff fe3a bl 8017aa4 - 8017e30: 68fb ldr r3, [r7, #12] - 8017e32: 60bb str r3, [r7, #8] + 80187f8: 2108 movs r1, #8 + 80187fa: 480a ldr r0, [pc, #40] @ (8018824 ) + 80187fc: f7ff fe3a bl 8018474 + 8018800: 68fb ldr r3, [r7, #12] + 8018802: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8017e34: 68bb ldr r3, [r7, #8] - 8017e36: f383 8810 msr PRIMASK, r3 + 8018804: 68bb ldr r3, [r7, #8] + 8018806: f383 8810 msr PRIMASK, r3 } - 8017e3a: bf00 nop + 801880a: bf00 nop UTILS_EXIT_CRITICAL_SECTION(); FreeBufCb(); - 8017e3c: 4b06 ldr r3, [pc, #24] @ (8017e58 ) - 8017e3e: 681b ldr r3, [r3, #0] - 8017e40: 4798 blx r3 + 801880c: 4b06 ldr r3, [pc, #24] @ (8018828 ) + 801880e: 681b ldr r3, [r3, #0] + 8018810: 4798 blx r3 LL_C1_IPCC_SetFlag_CHx( IPCC, HW_IPCC_MM_RELEASE_BUFFER_CHANNEL ); - 8017e42: 2108 movs r1, #8 - 8017e44: 4803 ldr r0, [pc, #12] @ (8017e54 ) - 8017e46: f7ff fe5f bl 8017b08 + 8018812: 2108 movs r1, #8 + 8018814: 4803 ldr r0, [pc, #12] @ (8018824 ) + 8018816: f7ff fe5f bl 80184d8 return; - 8017e4a: bf00 nop + 801881a: bf00 nop } - 8017e4c: 3710 adds r7, #16 - 8017e4e: 46bd mov sp, r7 - 8017e50: bd80 pop {r7, pc} - 8017e52: bf00 nop - 8017e54: 58000c00 .word 0x58000c00 - 8017e58: 20012118 .word 0x20012118 + 801881c: 3710 adds r7, #16 + 801881e: 46bd mov sp, r7 + 8018820: bd80 pop {r7, pc} + 8018822: bf00 nop + 8018824: 58000c00 .word 0x58000c00 + 8018828: 200121b8 .word 0x200121b8 -08017e5c : +0801882c : /****************************************************************************** * TRACES ******************************************************************************/ void HW_IPCC_TRACES_Init( void ) { - 8017e5c: b580 push {r7, lr} - 8017e5e: b084 sub sp, #16 - 8017e60: af00 add r7, sp, #0 + 801882c: b580 push {r7, lr} + 801882e: b084 sub sp, #16 + 8018830: af00 add r7, sp, #0 __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8017e62: f3ef 8310 mrs r3, PRIMASK - 8017e66: 607b str r3, [r7, #4] + 8018832: f3ef 8310 mrs r3, PRIMASK + 8018836: 607b str r3, [r7, #4] return(result); - 8017e68: 687b ldr r3, [r7, #4] + 8018838: 687b ldr r3, [r7, #4] UTILS_ENTER_CRITICAL_SECTION(); - 8017e6a: 60fb str r3, [r7, #12] + 801883a: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); - 8017e6c: b672 cpsid i + 801883c: b672 cpsid i } - 8017e6e: bf00 nop + 801883e: bf00 nop LL_C1_IPCC_EnableReceiveChannel( IPCC, HW_IPCC_TRACES_CHANNEL ); - 8017e70: 2108 movs r1, #8 - 8017e72: 4806 ldr r0, [pc, #24] @ (8017e8c ) - 8017e74: f7ff fe28 bl 8017ac8 - 8017e78: 68fb ldr r3, [r7, #12] - 8017e7a: 60bb str r3, [r7, #8] + 8018840: 2108 movs r1, #8 + 8018842: 4806 ldr r0, [pc, #24] @ (801885c ) + 8018844: f7ff fe28 bl 8018498 + 8018848: 68fb ldr r3, [r7, #12] + 801884a: 60bb str r3, [r7, #8] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 8017e7c: 68bb ldr r3, [r7, #8] - 8017e7e: f383 8810 msr PRIMASK, r3 + 801884c: 68bb ldr r3, [r7, #8] + 801884e: f383 8810 msr PRIMASK, r3 } - 8017e82: bf00 nop + 8018852: bf00 nop UTILS_EXIT_CRITICAL_SECTION(); return; - 8017e84: bf00 nop + 8018854: bf00 nop } - 8017e86: 3710 adds r7, #16 - 8017e88: 46bd mov sp, r7 - 8017e8a: bd80 pop {r7, pc} - 8017e8c: 58000c00 .word 0x58000c00 + 8018856: 3710 adds r7, #16 + 8018858: 46bd mov sp, r7 + 801885a: bd80 pop {r7, pc} + 801885c: 58000c00 .word 0x58000c00 -08017e90 : +08018860 : static void HW_IPCC_TRACES_EvtHandler( void ) { - 8017e90: b580 push {r7, lr} - 8017e92: af00 add r7, sp, #0 + 8018860: b580 push {r7, lr} + 8018862: af00 add r7, sp, #0 HW_IPCC_TRACES_EvtNot(); - 8017e94: f7fa fe4e bl 8012b34 + 8018864: f7fa fe64 bl 8013530 LL_C1_IPCC_ClearFlag_CHx( IPCC, HW_IPCC_TRACES_CHANNEL ); - 8017e98: 2108 movs r1, #8 - 8017e9a: 4802 ldr r0, [pc, #8] @ (8017ea4 ) - 8017e9c: f7ff fe26 bl 8017aec + 8018868: 2108 movs r1, #8 + 801886a: 4802 ldr r0, [pc, #8] @ (8018874 ) + 801886c: f7ff fe26 bl 80184bc return; - 8017ea0: bf00 nop + 8018870: bf00 nop } - 8017ea2: bd80 pop {r7, pc} - 8017ea4: 58000c00 .word 0x58000c00 + 8018872: bd80 pop {r7, pc} + 8018874: 58000c00 .word 0x58000c00 -08017ea8 : +08018878 : /** * Init USB device Library, add supported class and start the library * @retval None */ void MX_USB_Device_Init(void) { - 8017ea8: b580 push {r7, lr} - 8017eaa: af00 add r7, sp, #0 + 8018878: b580 push {r7, lr} + 801887a: af00 add r7, sp, #0 /* USER CODE BEGIN USB_Device_Init_PreTreatment */ /* USER CODE END USB_Device_Init_PreTreatment */ /* Init Device Library, add supported class and start the library. */ if (USBD_Init(&hUsbDeviceFS, &CDC_Desc, DEVICE_FS) != USBD_OK) { - 8017eac: 2200 movs r2, #0 - 8017eae: 4912 ldr r1, [pc, #72] @ (8017ef8 ) - 8017eb0: 4812 ldr r0, [pc, #72] @ (8017efc ) - 8017eb2: f7f8 fff3 bl 8010e9c - 8017eb6: 4603 mov r3, r0 - 8017eb8: 2b00 cmp r3, #0 - 8017eba: d001 beq.n 8017ec0 + 801887c: 2200 movs r2, #0 + 801887e: 4912 ldr r1, [pc, #72] @ (80188c8 ) + 8018880: 4812 ldr r0, [pc, #72] @ (80188cc ) + 8018882: f7f9 f809 bl 8011898 + 8018886: 4603 mov r3, r0 + 8018888: 2b00 cmp r3, #0 + 801888a: d001 beq.n 8018890 Error_Handler(); - 8017ebc: f7ed f9b0 bl 8005220 + 801888c: f7ec fd72 bl 8005374 } if (USBD_RegisterClass(&hUsbDeviceFS, &USBD_CDC) != USBD_OK) { - 8017ec0: 490f ldr r1, [pc, #60] @ (8017f00 ) - 8017ec2: 480e ldr r0, [pc, #56] @ (8017efc ) - 8017ec4: f7f9 f81a bl 8010efc - 8017ec8: 4603 mov r3, r0 - 8017eca: 2b00 cmp r3, #0 - 8017ecc: d001 beq.n 8017ed2 + 8018890: 490f ldr r1, [pc, #60] @ (80188d0 ) + 8018892: 480e ldr r0, [pc, #56] @ (80188cc ) + 8018894: f7f9 f830 bl 80118f8 + 8018898: 4603 mov r3, r0 + 801889a: 2b00 cmp r3, #0 + 801889c: d001 beq.n 80188a2 Error_Handler(); - 8017ece: f7ed f9a7 bl 8005220 + 801889e: f7ec fd69 bl 8005374 } if (USBD_CDC_RegisterInterface(&hUsbDeviceFS, &USBD_Interface_fops_FS) != USBD_OK) { - 8017ed2: 490c ldr r1, [pc, #48] @ (8017f04 ) - 8017ed4: 4809 ldr r0, [pc, #36] @ (8017efc ) - 8017ed6: f7f8 ff11 bl 8010cfc - 8017eda: 4603 mov r3, r0 - 8017edc: 2b00 cmp r3, #0 - 8017ede: d001 beq.n 8017ee4 + 80188a2: 490c ldr r1, [pc, #48] @ (80188d4 ) + 80188a4: 4809 ldr r0, [pc, #36] @ (80188cc ) + 80188a6: f7f8 ff27 bl 80116f8 + 80188aa: 4603 mov r3, r0 + 80188ac: 2b00 cmp r3, #0 + 80188ae: d001 beq.n 80188b4 Error_Handler(); - 8017ee0: f7ed f99e bl 8005220 + 80188b0: f7ec fd60 bl 8005374 } if (USBD_Start(&hUsbDeviceFS) != USBD_OK) { - 8017ee4: 4805 ldr r0, [pc, #20] @ (8017efc ) - 8017ee6: f7f9 f83f bl 8010f68 - 8017eea: 4603 mov r3, r0 - 8017eec: 2b00 cmp r3, #0 - 8017eee: d001 beq.n 8017ef4 + 80188b4: 4805 ldr r0, [pc, #20] @ (80188cc ) + 80188b6: f7f9 f855 bl 8011964 + 80188ba: 4603 mov r3, r0 + 80188bc: 2b00 cmp r3, #0 + 80188be: d001 beq.n 80188c4 Error_Handler(); - 8017ef0: f7ed f996 bl 8005220 + 80188c0: f7ec fd58 bl 8005374 } /* USER CODE BEGIN USB_Device_Init_PostTreatment */ /* USER CODE END USB_Device_Init_PostTreatment */ } - 8017ef4: bf00 nop - 8017ef6: bd80 pop {r7, pc} - 8017ef8: 200000bc .word 0x200000bc - 8017efc: 2001211c .word 0x2001211c - 8017f00: 20000024 .word 0x20000024 - 8017f04: 200000a8 .word 0x200000a8 + 80188c4: bf00 nop + 80188c6: bd80 pop {r7, pc} + 80188c8: 200000bc .word 0x200000bc + 80188cc: 200121bc .word 0x200121bc + 80188d0: 20000024 .word 0x20000024 + 80188d4: 200000a8 .word 0x200000a8 -08017f08 : +080188d8 : /** * @brief Initializes the CDC media low layer over the FS USB IP * @retval USBD_OK if all operations are OK else USBD_FAIL */ static int8_t CDC_Init_FS(void) { - 8017f08: b580 push {r7, lr} - 8017f0a: af00 add r7, sp, #0 + 80188d8: b580 push {r7, lr} + 80188da: af00 add r7, sp, #0 /* USER CODE BEGIN 3 */ /* Set Application Buffers */ USBD_CDC_SetTxBuffer(&hUsbDeviceFS, UserTxBufferFS, 0); - 8017f0c: 2200 movs r2, #0 - 8017f0e: 4905 ldr r1, [pc, #20] @ (8017f24 ) - 8017f10: 4805 ldr r0, [pc, #20] @ (8017f28 ) - 8017f12: f7f8 ff0d bl 8010d30 + 80188dc: 2200 movs r2, #0 + 80188de: 4905 ldr r1, [pc, #20] @ (80188f4 ) + 80188e0: 4805 ldr r0, [pc, #20] @ (80188f8 ) + 80188e2: f7f8 ff23 bl 801172c USBD_CDC_SetRxBuffer(&hUsbDeviceFS, UserRxBufferFS); - 8017f16: 4905 ldr r1, [pc, #20] @ (8017f2c ) - 8017f18: 4803 ldr r0, [pc, #12] @ (8017f28 ) - 8017f1a: f7f8 ff2b bl 8010d74 + 80188e6: 4905 ldr r1, [pc, #20] @ (80188fc ) + 80188e8: 4803 ldr r0, [pc, #12] @ (80188f8 ) + 80188ea: f7f8 ff41 bl 8011770 return (USBD_OK); - 8017f1e: 2300 movs r3, #0 + 80188ee: 2300 movs r3, #0 /* USER CODE END 3 */ } - 8017f20: 4618 mov r0, r3 - 8017f22: bd80 pop {r7, pc} - 8017f24: 20012bf8 .word 0x20012bf8 - 8017f28: 2001211c .word 0x2001211c - 8017f2c: 200123f8 .word 0x200123f8 + 80188f0: 4618 mov r0, r3 + 80188f2: bd80 pop {r7, pc} + 80188f4: 20012c98 .word 0x20012c98 + 80188f8: 200121bc .word 0x200121bc + 80188fc: 20012498 .word 0x20012498 -08017f30 : +08018900 : /** * @brief DeInitializes the CDC media low layer * @retval USBD_OK if all operations are OK else USBD_FAIL */ static int8_t CDC_DeInit_FS(void) { - 8017f30: b480 push {r7} - 8017f32: af00 add r7, sp, #0 + 8018900: b480 push {r7} + 8018902: af00 add r7, sp, #0 /* USER CODE BEGIN 4 */ return (USBD_OK); - 8017f34: 2300 movs r3, #0 + 8018904: 2300 movs r3, #0 /* USER CODE END 4 */ } - 8017f36: 4618 mov r0, r3 - 8017f38: 46bd mov sp, r7 - 8017f3a: f85d 7b04 ldr.w r7, [sp], #4 - 8017f3e: 4770 bx lr + 8018906: 4618 mov r0, r3 + 8018908: 46bd mov sp, r7 + 801890a: f85d 7b04 ldr.w r7, [sp], #4 + 801890e: 4770 bx lr -08017f40 : +08018910 : * @param pbuf: Buffer containing command data (request parameters) * @param length: Number of data to be sent (in bytes) * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL */ static int8_t CDC_Control_FS(uint8_t cmd, uint8_t* pbuf, uint16_t length) { - 8017f40: b480 push {r7} - 8017f42: b083 sub sp, #12 - 8017f44: af00 add r7, sp, #0 - 8017f46: 4603 mov r3, r0 - 8017f48: 6039 str r1, [r7, #0] - 8017f4a: 71fb strb r3, [r7, #7] - 8017f4c: 4613 mov r3, r2 - 8017f4e: 80bb strh r3, [r7, #4] + 8018910: b480 push {r7} + 8018912: b083 sub sp, #12 + 8018914: af00 add r7, sp, #0 + 8018916: 4603 mov r3, r0 + 8018918: 6039 str r1, [r7, #0] + 801891a: 71fb strb r3, [r7, #7] + 801891c: 4613 mov r3, r2 + 801891e: 80bb strh r3, [r7, #4] /* USER CODE BEGIN 5 */ switch(cmd) - 8017f50: 79fb ldrb r3, [r7, #7] - 8017f52: 2b23 cmp r3, #35 @ 0x23 - 8017f54: d84a bhi.n 8017fec - 8017f56: a201 add r2, pc, #4 @ (adr r2, 8017f5c ) - 8017f58: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8017f5c: 08017fed .word 0x08017fed - 8017f60: 08017fed .word 0x08017fed - 8017f64: 08017fed .word 0x08017fed - 8017f68: 08017fed .word 0x08017fed - 8017f6c: 08017fed .word 0x08017fed - 8017f70: 08017fed .word 0x08017fed - 8017f74: 08017fed .word 0x08017fed - 8017f78: 08017fed .word 0x08017fed - 8017f7c: 08017fed .word 0x08017fed - 8017f80: 08017fed .word 0x08017fed - 8017f84: 08017fed .word 0x08017fed - 8017f88: 08017fed .word 0x08017fed - 8017f8c: 08017fed .word 0x08017fed - 8017f90: 08017fed .word 0x08017fed - 8017f94: 08017fed .word 0x08017fed - 8017f98: 08017fed .word 0x08017fed - 8017f9c: 08017fed .word 0x08017fed - 8017fa0: 08017fed .word 0x08017fed - 8017fa4: 08017fed .word 0x08017fed - 8017fa8: 08017fed .word 0x08017fed - 8017fac: 08017fed .word 0x08017fed - 8017fb0: 08017fed .word 0x08017fed - 8017fb4: 08017fed .word 0x08017fed - 8017fb8: 08017fed .word 0x08017fed - 8017fbc: 08017fed .word 0x08017fed - 8017fc0: 08017fed .word 0x08017fed - 8017fc4: 08017fed .word 0x08017fed - 8017fc8: 08017fed .word 0x08017fed - 8017fcc: 08017fed .word 0x08017fed - 8017fd0: 08017fed .word 0x08017fed - 8017fd4: 08017fed .word 0x08017fed - 8017fd8: 08017fed .word 0x08017fed - 8017fdc: 08017fed .word 0x08017fed - 8017fe0: 08017fed .word 0x08017fed - 8017fe4: 08017fed .word 0x08017fed - 8017fe8: 08017fed .word 0x08017fed + 8018920: 79fb ldrb r3, [r7, #7] + 8018922: 2b23 cmp r3, #35 @ 0x23 + 8018924: d84a bhi.n 80189bc + 8018926: a201 add r2, pc, #4 @ (adr r2, 801892c ) + 8018928: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 801892c: 080189bd .word 0x080189bd + 8018930: 080189bd .word 0x080189bd + 8018934: 080189bd .word 0x080189bd + 8018938: 080189bd .word 0x080189bd + 801893c: 080189bd .word 0x080189bd + 8018940: 080189bd .word 0x080189bd + 8018944: 080189bd .word 0x080189bd + 8018948: 080189bd .word 0x080189bd + 801894c: 080189bd .word 0x080189bd + 8018950: 080189bd .word 0x080189bd + 8018954: 080189bd .word 0x080189bd + 8018958: 080189bd .word 0x080189bd + 801895c: 080189bd .word 0x080189bd + 8018960: 080189bd .word 0x080189bd + 8018964: 080189bd .word 0x080189bd + 8018968: 080189bd .word 0x080189bd + 801896c: 080189bd .word 0x080189bd + 8018970: 080189bd .word 0x080189bd + 8018974: 080189bd .word 0x080189bd + 8018978: 080189bd .word 0x080189bd + 801897c: 080189bd .word 0x080189bd + 8018980: 080189bd .word 0x080189bd + 8018984: 080189bd .word 0x080189bd + 8018988: 080189bd .word 0x080189bd + 801898c: 080189bd .word 0x080189bd + 8018990: 080189bd .word 0x080189bd + 8018994: 080189bd .word 0x080189bd + 8018998: 080189bd .word 0x080189bd + 801899c: 080189bd .word 0x080189bd + 80189a0: 080189bd .word 0x080189bd + 80189a4: 080189bd .word 0x080189bd + 80189a8: 080189bd .word 0x080189bd + 80189ac: 080189bd .word 0x080189bd + 80189b0: 080189bd .word 0x080189bd + 80189b4: 080189bd .word 0x080189bd + 80189b8: 080189bd .word 0x080189bd case CDC_SEND_BREAK: break; default: break; - 8017fec: bf00 nop + 80189bc: bf00 nop } return (USBD_OK); - 8017fee: 2300 movs r3, #0 + 80189be: 2300 movs r3, #0 /* USER CODE END 5 */ } - 8017ff0: 4618 mov r0, r3 - 8017ff2: 370c adds r7, #12 - 8017ff4: 46bd mov sp, r7 - 8017ff6: f85d 7b04 ldr.w r7, [sp], #4 - 8017ffa: 4770 bx lr + 80189c0: 4618 mov r0, r3 + 80189c2: 370c adds r7, #12 + 80189c4: 46bd mov sp, r7 + 80189c6: f85d 7b04 ldr.w r7, [sp], #4 + 80189ca: 4770 bx lr -08017ffc : +080189cc : * @param Buf: Buffer of data to be received * @param Len: Number of data received (in bytes) * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL */ static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) { - 8017ffc: b580 push {r7, lr} - 8017ffe: b082 sub sp, #8 - 8018000: af00 add r7, sp, #0 - 8018002: 6078 str r0, [r7, #4] - 8018004: 6039 str r1, [r7, #0] + 80189cc: b580 push {r7, lr} + 80189ce: b082 sub sp, #8 + 80189d0: af00 add r7, sp, #0 + 80189d2: 6078 str r0, [r7, #4] + 80189d4: 6039 str r1, [r7, #0] /* USER CODE BEGIN 6 */ USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]); - 8018006: 6879 ldr r1, [r7, #4] - 8018008: 4805 ldr r0, [pc, #20] @ (8018020 ) - 801800a: f7f8 feb3 bl 8010d74 + 80189d6: 6879 ldr r1, [r7, #4] + 80189d8: 4805 ldr r0, [pc, #20] @ (80189f0 ) + 80189da: f7f8 fec9 bl 8011770 USBD_CDC_ReceivePacket(&hUsbDeviceFS); - 801800e: 4804 ldr r0, [pc, #16] @ (8018020 ) - 8018010: f7f8 ff0e bl 8010e30 + 80189de: 4804 ldr r0, [pc, #16] @ (80189f0 ) + 80189e0: f7f8 ff24 bl 801182c return (USBD_OK); - 8018014: 2300 movs r3, #0 + 80189e4: 2300 movs r3, #0 /* USER CODE END 6 */ } - 8018016: 4618 mov r0, r3 - 8018018: 3708 adds r7, #8 - 801801a: 46bd mov sp, r7 - 801801c: bd80 pop {r7, pc} - 801801e: bf00 nop - 8018020: 2001211c .word 0x2001211c + 80189e6: 4618 mov r0, r3 + 80189e8: 3708 adds r7, #8 + 80189ea: 46bd mov sp, r7 + 80189ec: bd80 pop {r7, pc} + 80189ee: bf00 nop + 80189f0: 200121bc .word 0x200121bc -08018024 : +080189f4 : * @param Buf: Buffer of data to be sent * @param Len: Number of data to be sent (in bytes) * @retval USBD_OK if all operations are OK else USBD_FAIL or USBD_BUSY */ uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len) { - 8018024: b580 push {r7, lr} - 8018026: b084 sub sp, #16 - 8018028: af00 add r7, sp, #0 - 801802a: 6078 str r0, [r7, #4] - 801802c: 460b mov r3, r1 - 801802e: 807b strh r3, [r7, #2] + 80189f4: b580 push {r7, lr} + 80189f6: b084 sub sp, #16 + 80189f8: af00 add r7, sp, #0 + 80189fa: 6078 str r0, [r7, #4] + 80189fc: 460b mov r3, r1 + 80189fe: 807b strh r3, [r7, #2] uint8_t result = USBD_OK; - 8018030: 2300 movs r3, #0 - 8018032: 73fb strb r3, [r7, #15] + 8018a00: 2300 movs r3, #0 + 8018a02: 73fb strb r3, [r7, #15] /* USER CODE BEGIN 7 */ USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData; - 8018034: 4b0d ldr r3, [pc, #52] @ (801806c ) - 8018036: f8d3 32bc ldr.w r3, [r3, #700] @ 0x2bc - 801803a: 60bb str r3, [r7, #8] + 8018a04: 4b0d ldr r3, [pc, #52] @ (8018a3c ) + 8018a06: f8d3 32bc ldr.w r3, [r3, #700] @ 0x2bc + 8018a0a: 60bb str r3, [r7, #8] if (hcdc->TxState != 0){ - 801803c: 68bb ldr r3, [r7, #8] - 801803e: f8d3 3214 ldr.w r3, [r3, #532] @ 0x214 - 8018042: 2b00 cmp r3, #0 - 8018044: d001 beq.n 801804a + 8018a0c: 68bb ldr r3, [r7, #8] + 8018a0e: f8d3 3214 ldr.w r3, [r3, #532] @ 0x214 + 8018a12: 2b00 cmp r3, #0 + 8018a14: d001 beq.n 8018a1a return USBD_BUSY; - 8018046: 2301 movs r3, #1 - 8018048: e00b b.n 8018062 + 8018a16: 2301 movs r3, #1 + 8018a18: e00b b.n 8018a32 } USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len); - 801804a: 887b ldrh r3, [r7, #2] - 801804c: 461a mov r2, r3 - 801804e: 6879 ldr r1, [r7, #4] - 8018050: 4806 ldr r0, [pc, #24] @ (801806c ) - 8018052: f7f8 fe6d bl 8010d30 + 8018a1a: 887b ldrh r3, [r7, #2] + 8018a1c: 461a mov r2, r3 + 8018a1e: 6879 ldr r1, [r7, #4] + 8018a20: 4806 ldr r0, [pc, #24] @ (8018a3c ) + 8018a22: f7f8 fe83 bl 801172c result = USBD_CDC_TransmitPacket(&hUsbDeviceFS); - 8018056: 4805 ldr r0, [pc, #20] @ (801806c ) - 8018058: f7f8 feaa bl 8010db0 - 801805c: 4603 mov r3, r0 - 801805e: 73fb strb r3, [r7, #15] + 8018a26: 4805 ldr r0, [pc, #20] @ (8018a3c ) + 8018a28: f7f8 fec0 bl 80117ac + 8018a2c: 4603 mov r3, r0 + 8018a2e: 73fb strb r3, [r7, #15] /* USER CODE END 7 */ return result; - 8018060: 7bfb ldrb r3, [r7, #15] + 8018a30: 7bfb ldrb r3, [r7, #15] } - 8018062: 4618 mov r0, r3 - 8018064: 3710 adds r7, #16 - 8018066: 46bd mov sp, r7 - 8018068: bd80 pop {r7, pc} - 801806a: bf00 nop - 801806c: 2001211c .word 0x2001211c + 8018a32: 4618 mov r0, r3 + 8018a34: 3710 adds r7, #16 + 8018a36: 46bd mov sp, r7 + 8018a38: bd80 pop {r7, pc} + 8018a3a: bf00 nop + 8018a3c: 200121bc .word 0x200121bc -08018070 : +08018a40 : * @param Buf: Buffer of data to be received * @param Len: Number of data received (in bytes) * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL */ static int8_t CDC_TransmitCplt_FS(uint8_t *Buf, uint32_t *Len, uint8_t epnum) { - 8018070: b480 push {r7} - 8018072: b087 sub sp, #28 - 8018074: af00 add r7, sp, #0 - 8018076: 60f8 str r0, [r7, #12] - 8018078: 60b9 str r1, [r7, #8] - 801807a: 4613 mov r3, r2 - 801807c: 71fb strb r3, [r7, #7] + 8018a40: b480 push {r7} + 8018a42: b087 sub sp, #28 + 8018a44: af00 add r7, sp, #0 + 8018a46: 60f8 str r0, [r7, #12] + 8018a48: 60b9 str r1, [r7, #8] + 8018a4a: 4613 mov r3, r2 + 8018a4c: 71fb strb r3, [r7, #7] uint8_t result = USBD_OK; - 801807e: 2300 movs r3, #0 - 8018080: 75fb strb r3, [r7, #23] + 8018a4e: 2300 movs r3, #0 + 8018a50: 75fb strb r3, [r7, #23] /* USER CODE BEGIN 13 */ UNUSED(Buf); UNUSED(Len); UNUSED(epnum); /* USER CODE END 13 */ return result; - 8018082: f997 3017 ldrsb.w r3, [r7, #23] + 8018a52: f997 3017 ldrsb.w r3, [r7, #23] } - 8018086: 4618 mov r0, r3 - 8018088: 371c adds r7, #28 - 801808a: 46bd mov sp, r7 - 801808c: f85d 7b04 ldr.w r7, [sp], #4 - 8018090: 4770 bx lr + 8018a56: 4618 mov r0, r3 + 8018a58: 371c adds r7, #28 + 8018a5a: 46bd mov sp, r7 + 8018a5c: f85d 7b04 ldr.w r7, [sp], #4 + 8018a60: 4770 bx lr ... -08018094 : +08018a64 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_CDC_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { - 8018094: b480 push {r7} - 8018096: b083 sub sp, #12 - 8018098: af00 add r7, sp, #0 - 801809a: 4603 mov r3, r0 - 801809c: 6039 str r1, [r7, #0] - 801809e: 71fb strb r3, [r7, #7] + 8018a64: b480 push {r7} + 8018a66: b083 sub sp, #12 + 8018a68: af00 add r7, sp, #0 + 8018a6a: 4603 mov r3, r0 + 8018a6c: 6039 str r1, [r7, #0] + 8018a6e: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_CDC_DeviceDesc); - 80180a0: 683b ldr r3, [r7, #0] - 80180a2: 2212 movs r2, #18 - 80180a4: 801a strh r2, [r3, #0] + 8018a70: 683b ldr r3, [r7, #0] + 8018a72: 2212 movs r2, #18 + 8018a74: 801a strh r2, [r3, #0] return USBD_CDC_DeviceDesc; - 80180a6: 4b03 ldr r3, [pc, #12] @ (80180b4 ) + 8018a76: 4b03 ldr r3, [pc, #12] @ (8018a84 ) } - 80180a8: 4618 mov r0, r3 - 80180aa: 370c adds r7, #12 - 80180ac: 46bd mov sp, r7 - 80180ae: f85d 7b04 ldr.w r7, [sp], #4 - 80180b2: 4770 bx lr - 80180b4: 200000dc .word 0x200000dc + 8018a78: 4618 mov r0, r3 + 8018a7a: 370c adds r7, #12 + 8018a7c: 46bd mov sp, r7 + 8018a7e: f85d 7b04 ldr.w r7, [sp], #4 + 8018a82: 4770 bx lr + 8018a84: 200000dc .word 0x200000dc -080180b8 : +08018a88 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_CDC_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { - 80180b8: b480 push {r7} - 80180ba: b083 sub sp, #12 - 80180bc: af00 add r7, sp, #0 - 80180be: 4603 mov r3, r0 - 80180c0: 6039 str r1, [r7, #0] - 80180c2: 71fb strb r3, [r7, #7] + 8018a88: b480 push {r7} + 8018a8a: b083 sub sp, #12 + 8018a8c: af00 add r7, sp, #0 + 8018a8e: 4603 mov r3, r0 + 8018a90: 6039 str r1, [r7, #0] + 8018a92: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_LangIDDesc); - 80180c4: 683b ldr r3, [r7, #0] - 80180c6: 2204 movs r2, #4 - 80180c8: 801a strh r2, [r3, #0] + 8018a94: 683b ldr r3, [r7, #0] + 8018a96: 2204 movs r2, #4 + 8018a98: 801a strh r2, [r3, #0] return USBD_LangIDDesc; - 80180ca: 4b03 ldr r3, [pc, #12] @ (80180d8 ) + 8018a9a: 4b03 ldr r3, [pc, #12] @ (8018aa8 ) } - 80180cc: 4618 mov r0, r3 - 80180ce: 370c adds r7, #12 - 80180d0: 46bd mov sp, r7 - 80180d2: f85d 7b04 ldr.w r7, [sp], #4 - 80180d6: 4770 bx lr - 80180d8: 200000f0 .word 0x200000f0 + 8018a9c: 4618 mov r0, r3 + 8018a9e: 370c adds r7, #12 + 8018aa0: 46bd mov sp, r7 + 8018aa2: f85d 7b04 ldr.w r7, [sp], #4 + 8018aa6: 4770 bx lr + 8018aa8: 200000f0 .word 0x200000f0 -080180dc : +08018aac : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_CDC_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { - 80180dc: b580 push {r7, lr} - 80180de: b082 sub sp, #8 - 80180e0: af00 add r7, sp, #0 - 80180e2: 4603 mov r3, r0 - 80180e4: 6039 str r1, [r7, #0] - 80180e6: 71fb strb r3, [r7, #7] + 8018aac: b580 push {r7, lr} + 8018aae: b082 sub sp, #8 + 8018ab0: af00 add r7, sp, #0 + 8018ab2: 4603 mov r3, r0 + 8018ab4: 6039 str r1, [r7, #0] + 8018ab6: 71fb strb r3, [r7, #7] if(speed == 0) - 80180e8: 79fb ldrb r3, [r7, #7] - 80180ea: 2b00 cmp r3, #0 - 80180ec: d105 bne.n 80180fa + 8018ab8: 79fb ldrb r3, [r7, #7] + 8018aba: 2b00 cmp r3, #0 + 8018abc: d105 bne.n 8018aca { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING, USBD_StrDesc, length); - 80180ee: 683a ldr r2, [r7, #0] - 80180f0: 4907 ldr r1, [pc, #28] @ (8018110 ) - 80180f2: 4808 ldr r0, [pc, #32] @ (8018114 ) - 80180f4: f7fa f896 bl 8012224 - 80180f8: e004 b.n 8018104 + 8018abe: 683a ldr r2, [r7, #0] + 8018ac0: 4907 ldr r1, [pc, #28] @ (8018ae0 ) + 8018ac2: 4808 ldr r0, [pc, #32] @ (8018ae4 ) + 8018ac4: f7fa f8ac bl 8012c20 + 8018ac8: e004 b.n 8018ad4 } else { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING, USBD_StrDesc, length); - 80180fa: 683a ldr r2, [r7, #0] - 80180fc: 4904 ldr r1, [pc, #16] @ (8018110 ) - 80180fe: 4805 ldr r0, [pc, #20] @ (8018114 ) - 8018100: f7fa f890 bl 8012224 + 8018aca: 683a ldr r2, [r7, #0] + 8018acc: 4904 ldr r1, [pc, #16] @ (8018ae0 ) + 8018ace: 4805 ldr r0, [pc, #20] @ (8018ae4 ) + 8018ad0: f7fa f8a6 bl 8012c20 } return USBD_StrDesc; - 8018104: 4b02 ldr r3, [pc, #8] @ (8018110 ) + 8018ad4: 4b02 ldr r3, [pc, #8] @ (8018ae0 ) } - 8018106: 4618 mov r0, r3 - 8018108: 3708 adds r7, #8 - 801810a: 46bd mov sp, r7 - 801810c: bd80 pop {r7, pc} - 801810e: bf00 nop - 8018110: 200133f8 .word 0x200133f8 - 8018114: 0801d9d4 .word 0x0801d9d4 + 8018ad6: 4618 mov r0, r3 + 8018ad8: 3708 adds r7, #8 + 8018ada: 46bd mov sp, r7 + 8018adc: bd80 pop {r7, pc} + 8018ade: bf00 nop + 8018ae0: 20013498 .word 0x20013498 + 8018ae4: 0801e334 .word 0x0801e334 -08018118 : +08018ae8 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_CDC_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { - 8018118: b580 push {r7, lr} - 801811a: b082 sub sp, #8 - 801811c: af00 add r7, sp, #0 - 801811e: 4603 mov r3, r0 - 8018120: 6039 str r1, [r7, #0] - 8018122: 71fb strb r3, [r7, #7] + 8018ae8: b580 push {r7, lr} + 8018aea: b082 sub sp, #8 + 8018aec: af00 add r7, sp, #0 + 8018aee: 4603 mov r3, r0 + 8018af0: 6039 str r1, [r7, #0] + 8018af2: 71fb strb r3, [r7, #7] UNUSED(speed); USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length); - 8018124: 683a ldr r2, [r7, #0] - 8018126: 4904 ldr r1, [pc, #16] @ (8018138 ) - 8018128: 4804 ldr r0, [pc, #16] @ (801813c ) - 801812a: f7fa f87b bl 8012224 + 8018af4: 683a ldr r2, [r7, #0] + 8018af6: 4904 ldr r1, [pc, #16] @ (8018b08 ) + 8018af8: 4804 ldr r0, [pc, #16] @ (8018b0c ) + 8018afa: f7fa f891 bl 8012c20 return USBD_StrDesc; - 801812e: 4b02 ldr r3, [pc, #8] @ (8018138 ) + 8018afe: 4b02 ldr r3, [pc, #8] @ (8018b08 ) } - 8018130: 4618 mov r0, r3 - 8018132: 3708 adds r7, #8 - 8018134: 46bd mov sp, r7 - 8018136: bd80 pop {r7, pc} - 8018138: 200133f8 .word 0x200133f8 - 801813c: 0801d9ec .word 0x0801d9ec + 8018b00: 4618 mov r0, r3 + 8018b02: 3708 adds r7, #8 + 8018b04: 46bd mov sp, r7 + 8018b06: bd80 pop {r7, pc} + 8018b08: 20013498 .word 0x20013498 + 8018b0c: 0801e34c .word 0x0801e34c -08018140 : +08018b10 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_CDC_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { - 8018140: b580 push {r7, lr} - 8018142: b082 sub sp, #8 - 8018144: af00 add r7, sp, #0 - 8018146: 4603 mov r3, r0 - 8018148: 6039 str r1, [r7, #0] - 801814a: 71fb strb r3, [r7, #7] + 8018b10: b580 push {r7, lr} + 8018b12: b082 sub sp, #8 + 8018b14: af00 add r7, sp, #0 + 8018b16: 4603 mov r3, r0 + 8018b18: 6039 str r1, [r7, #0] + 8018b1a: 71fb strb r3, [r7, #7] UNUSED(speed); *length = USB_SIZ_STRING_SERIAL; - 801814c: 683b ldr r3, [r7, #0] - 801814e: 221a movs r2, #26 - 8018150: 801a strh r2, [r3, #0] + 8018b1c: 683b ldr r3, [r7, #0] + 8018b1e: 221a movs r2, #26 + 8018b20: 801a strh r2, [r3, #0] /* Update the serial number string descriptor with the data from the unique * ID */ Get_SerialNum(); - 8018152: f000 f843 bl 80181dc + 8018b22: f000 f843 bl 8018bac /* USER CODE BEGIN USBD_CDC_SerialStrDescriptor */ /* USER CODE END USBD_CDC_SerialStrDescriptor */ return (uint8_t *) USBD_StringSerial; - 8018156: 4b02 ldr r3, [pc, #8] @ (8018160 ) + 8018b26: 4b02 ldr r3, [pc, #8] @ (8018b30 ) } - 8018158: 4618 mov r0, r3 - 801815a: 3708 adds r7, #8 - 801815c: 46bd mov sp, r7 - 801815e: bd80 pop {r7, pc} - 8018160: 200000f4 .word 0x200000f4 + 8018b28: 4618 mov r0, r3 + 8018b2a: 3708 adds r7, #8 + 8018b2c: 46bd mov sp, r7 + 8018b2e: bd80 pop {r7, pc} + 8018b30: 200000f4 .word 0x200000f4 -08018164 : +08018b34 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_CDC_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { - 8018164: b580 push {r7, lr} - 8018166: b082 sub sp, #8 - 8018168: af00 add r7, sp, #0 - 801816a: 4603 mov r3, r0 - 801816c: 6039 str r1, [r7, #0] - 801816e: 71fb strb r3, [r7, #7] + 8018b34: b580 push {r7, lr} + 8018b36: b082 sub sp, #8 + 8018b38: af00 add r7, sp, #0 + 8018b3a: 4603 mov r3, r0 + 8018b3c: 6039 str r1, [r7, #0] + 8018b3e: 71fb strb r3, [r7, #7] if(speed == USBD_SPEED_HIGH) - 8018170: 79fb ldrb r3, [r7, #7] - 8018172: 2b00 cmp r3, #0 - 8018174: d105 bne.n 8018182 + 8018b40: 79fb ldrb r3, [r7, #7] + 8018b42: 2b00 cmp r3, #0 + 8018b44: d105 bne.n 8018b52 { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING, USBD_StrDesc, length); - 8018176: 683a ldr r2, [r7, #0] - 8018178: 4907 ldr r1, [pc, #28] @ (8018198 ) - 801817a: 4808 ldr r0, [pc, #32] @ (801819c ) - 801817c: f7fa f852 bl 8012224 - 8018180: e004 b.n 801818c + 8018b46: 683a ldr r2, [r7, #0] + 8018b48: 4907 ldr r1, [pc, #28] @ (8018b68 ) + 8018b4a: 4808 ldr r0, [pc, #32] @ (8018b6c ) + 8018b4c: f7fa f868 bl 8012c20 + 8018b50: e004 b.n 8018b5c } else { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING, USBD_StrDesc, length); - 8018182: 683a ldr r2, [r7, #0] - 8018184: 4904 ldr r1, [pc, #16] @ (8018198 ) - 8018186: 4805 ldr r0, [pc, #20] @ (801819c ) - 8018188: f7fa f84c bl 8012224 + 8018b52: 683a ldr r2, [r7, #0] + 8018b54: 4904 ldr r1, [pc, #16] @ (8018b68 ) + 8018b56: 4805 ldr r0, [pc, #20] @ (8018b6c ) + 8018b58: f7fa f862 bl 8012c20 } return USBD_StrDesc; - 801818c: 4b02 ldr r3, [pc, #8] @ (8018198 ) + 8018b5c: 4b02 ldr r3, [pc, #8] @ (8018b68 ) } - 801818e: 4618 mov r0, r3 - 8018190: 3708 adds r7, #8 - 8018192: 46bd mov sp, r7 - 8018194: bd80 pop {r7, pc} - 8018196: bf00 nop - 8018198: 200133f8 .word 0x200133f8 - 801819c: 0801da00 .word 0x0801da00 + 8018b5e: 4618 mov r0, r3 + 8018b60: 3708 adds r7, #8 + 8018b62: 46bd mov sp, r7 + 8018b64: bd80 pop {r7, pc} + 8018b66: bf00 nop + 8018b68: 20013498 .word 0x20013498 + 8018b6c: 0801e360 .word 0x0801e360 -080181a0 : +08018b70 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_CDC_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { - 80181a0: b580 push {r7, lr} - 80181a2: b082 sub sp, #8 - 80181a4: af00 add r7, sp, #0 - 80181a6: 4603 mov r3, r0 - 80181a8: 6039 str r1, [r7, #0] - 80181aa: 71fb strb r3, [r7, #7] + 8018b70: b580 push {r7, lr} + 8018b72: b082 sub sp, #8 + 8018b74: af00 add r7, sp, #0 + 8018b76: 4603 mov r3, r0 + 8018b78: 6039 str r1, [r7, #0] + 8018b7a: 71fb strb r3, [r7, #7] if(speed == 0) - 80181ac: 79fb ldrb r3, [r7, #7] - 80181ae: 2b00 cmp r3, #0 - 80181b0: d105 bne.n 80181be + 8018b7c: 79fb ldrb r3, [r7, #7] + 8018b7e: 2b00 cmp r3, #0 + 8018b80: d105 bne.n 8018b8e { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING, USBD_StrDesc, length); - 80181b2: 683a ldr r2, [r7, #0] - 80181b4: 4907 ldr r1, [pc, #28] @ (80181d4 ) - 80181b6: 4808 ldr r0, [pc, #32] @ (80181d8 ) - 80181b8: f7fa f834 bl 8012224 - 80181bc: e004 b.n 80181c8 + 8018b82: 683a ldr r2, [r7, #0] + 8018b84: 4907 ldr r1, [pc, #28] @ (8018ba4 ) + 8018b86: 4808 ldr r0, [pc, #32] @ (8018ba8 ) + 8018b88: f7fa f84a bl 8012c20 + 8018b8c: e004 b.n 8018b98 } else { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING, USBD_StrDesc, length); - 80181be: 683a ldr r2, [r7, #0] - 80181c0: 4904 ldr r1, [pc, #16] @ (80181d4 ) - 80181c2: 4805 ldr r0, [pc, #20] @ (80181d8 ) - 80181c4: f7fa f82e bl 8012224 + 8018b8e: 683a ldr r2, [r7, #0] + 8018b90: 4904 ldr r1, [pc, #16] @ (8018ba4 ) + 8018b92: 4805 ldr r0, [pc, #20] @ (8018ba8 ) + 8018b94: f7fa f844 bl 8012c20 } return USBD_StrDesc; - 80181c8: 4b02 ldr r3, [pc, #8] @ (80181d4 ) + 8018b98: 4b02 ldr r3, [pc, #8] @ (8018ba4 ) } - 80181ca: 4618 mov r0, r3 - 80181cc: 3708 adds r7, #8 - 80181ce: 46bd mov sp, r7 - 80181d0: bd80 pop {r7, pc} - 80181d2: bf00 nop - 80181d4: 200133f8 .word 0x200133f8 - 80181d8: 0801da0c .word 0x0801da0c + 8018b9a: 4618 mov r0, r3 + 8018b9c: 3708 adds r7, #8 + 8018b9e: 46bd mov sp, r7 + 8018ba0: bd80 pop {r7, pc} + 8018ba2: bf00 nop + 8018ba4: 20013498 .word 0x20013498 + 8018ba8: 0801e36c .word 0x0801e36c -080181dc : +08018bac : * @brief Create the serial number string descriptor * @param None * @retval None */ static void Get_SerialNum(void) { - 80181dc: b580 push {r7, lr} - 80181de: b084 sub sp, #16 - 80181e0: af00 add r7, sp, #0 + 8018bac: b580 push {r7, lr} + 8018bae: b084 sub sp, #16 + 8018bb0: af00 add r7, sp, #0 uint32_t deviceserial0; uint32_t deviceserial1; uint32_t deviceserial2; deviceserial0 = *(uint32_t *) DEVICE_ID1; - 80181e2: 4b0f ldr r3, [pc, #60] @ (8018220 ) - 80181e4: 681b ldr r3, [r3, #0] - 80181e6: 60fb str r3, [r7, #12] + 8018bb2: 4b0f ldr r3, [pc, #60] @ (8018bf0 ) + 8018bb4: 681b ldr r3, [r3, #0] + 8018bb6: 60fb str r3, [r7, #12] deviceserial1 = *(uint32_t *) DEVICE_ID2; - 80181e8: 4b0e ldr r3, [pc, #56] @ (8018224 ) - 80181ea: 681b ldr r3, [r3, #0] - 80181ec: 60bb str r3, [r7, #8] + 8018bb8: 4b0e ldr r3, [pc, #56] @ (8018bf4 ) + 8018bba: 681b ldr r3, [r3, #0] + 8018bbc: 60bb str r3, [r7, #8] deviceserial2 = *(uint32_t *) DEVICE_ID3; - 80181ee: 4b0e ldr r3, [pc, #56] @ (8018228 ) - 80181f0: 681b ldr r3, [r3, #0] - 80181f2: 607b str r3, [r7, #4] + 8018bbe: 4b0e ldr r3, [pc, #56] @ (8018bf8 ) + 8018bc0: 681b ldr r3, [r3, #0] + 8018bc2: 607b str r3, [r7, #4] deviceserial0 += deviceserial2; - 80181f4: 68fa ldr r2, [r7, #12] - 80181f6: 687b ldr r3, [r7, #4] - 80181f8: 4413 add r3, r2 - 80181fa: 60fb str r3, [r7, #12] + 8018bc4: 68fa ldr r2, [r7, #12] + 8018bc6: 687b ldr r3, [r7, #4] + 8018bc8: 4413 add r3, r2 + 8018bca: 60fb str r3, [r7, #12] if (deviceserial0 != 0) - 80181fc: 68fb ldr r3, [r7, #12] - 80181fe: 2b00 cmp r3, #0 - 8018200: d009 beq.n 8018216 + 8018bcc: 68fb ldr r3, [r7, #12] + 8018bce: 2b00 cmp r3, #0 + 8018bd0: d009 beq.n 8018be6 { IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8); - 8018202: 2208 movs r2, #8 - 8018204: 4909 ldr r1, [pc, #36] @ (801822c ) - 8018206: 68f8 ldr r0, [r7, #12] - 8018208: f000 f814 bl 8018234 + 8018bd2: 2208 movs r2, #8 + 8018bd4: 4909 ldr r1, [pc, #36] @ (8018bfc ) + 8018bd6: 68f8 ldr r0, [r7, #12] + 8018bd8: f000 f814 bl 8018c04 IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4); - 801820c: 2204 movs r2, #4 - 801820e: 4908 ldr r1, [pc, #32] @ (8018230 ) - 8018210: 68b8 ldr r0, [r7, #8] - 8018212: f000 f80f bl 8018234 + 8018bdc: 2204 movs r2, #4 + 8018bde: 4908 ldr r1, [pc, #32] @ (8018c00 ) + 8018be0: 68b8 ldr r0, [r7, #8] + 8018be2: f000 f80f bl 8018c04 } } - 8018216: bf00 nop - 8018218: 3710 adds r7, #16 - 801821a: 46bd mov sp, r7 - 801821c: bd80 pop {r7, pc} - 801821e: bf00 nop - 8018220: 1fff7590 .word 0x1fff7590 - 8018224: 1fff7594 .word 0x1fff7594 - 8018228: 1fff7598 .word 0x1fff7598 - 801822c: 200000f6 .word 0x200000f6 - 8018230: 20000106 .word 0x20000106 + 8018be6: bf00 nop + 8018be8: 3710 adds r7, #16 + 8018bea: 46bd mov sp, r7 + 8018bec: bd80 pop {r7, pc} + 8018bee: bf00 nop + 8018bf0: 1fff7590 .word 0x1fff7590 + 8018bf4: 1fff7594 .word 0x1fff7594 + 8018bf8: 1fff7598 .word 0x1fff7598 + 8018bfc: 200000f6 .word 0x200000f6 + 8018c00: 20000106 .word 0x20000106 -08018234 : +08018c04 : * @param pbuf: pointer to the buffer * @param len: buffer length * @retval None */ static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len) { - 8018234: b480 push {r7} - 8018236: b087 sub sp, #28 - 8018238: af00 add r7, sp, #0 - 801823a: 60f8 str r0, [r7, #12] - 801823c: 60b9 str r1, [r7, #8] - 801823e: 4613 mov r3, r2 - 8018240: 71fb strb r3, [r7, #7] + 8018c04: b480 push {r7} + 8018c06: b087 sub sp, #28 + 8018c08: af00 add r7, sp, #0 + 8018c0a: 60f8 str r0, [r7, #12] + 8018c0c: 60b9 str r1, [r7, #8] + 8018c0e: 4613 mov r3, r2 + 8018c10: 71fb strb r3, [r7, #7] uint8_t idx = 0; - 8018242: 2300 movs r3, #0 - 8018244: 75fb strb r3, [r7, #23] + 8018c12: 2300 movs r3, #0 + 8018c14: 75fb strb r3, [r7, #23] for (idx = 0; idx < len; idx++) - 8018246: 2300 movs r3, #0 - 8018248: 75fb strb r3, [r7, #23] - 801824a: e027 b.n 801829c + 8018c16: 2300 movs r3, #0 + 8018c18: 75fb strb r3, [r7, #23] + 8018c1a: e027 b.n 8018c6c { if (((value >> 28)) < 0xA) - 801824c: 68fb ldr r3, [r7, #12] - 801824e: 0f1b lsrs r3, r3, #28 - 8018250: 2b09 cmp r3, #9 - 8018252: d80b bhi.n 801826c + 8018c1c: 68fb ldr r3, [r7, #12] + 8018c1e: 0f1b lsrs r3, r3, #28 + 8018c20: 2b09 cmp r3, #9 + 8018c22: d80b bhi.n 8018c3c { pbuf[2 * idx] = (value >> 28) + '0'; - 8018254: 68fb ldr r3, [r7, #12] - 8018256: 0f1b lsrs r3, r3, #28 - 8018258: b2da uxtb r2, r3 - 801825a: 7dfb ldrb r3, [r7, #23] - 801825c: 005b lsls r3, r3, #1 - 801825e: 4619 mov r1, r3 - 8018260: 68bb ldr r3, [r7, #8] - 8018262: 440b add r3, r1 - 8018264: 3230 adds r2, #48 @ 0x30 - 8018266: b2d2 uxtb r2, r2 - 8018268: 701a strb r2, [r3, #0] - 801826a: e00a b.n 8018282 + 8018c24: 68fb ldr r3, [r7, #12] + 8018c26: 0f1b lsrs r3, r3, #28 + 8018c28: b2da uxtb r2, r3 + 8018c2a: 7dfb ldrb r3, [r7, #23] + 8018c2c: 005b lsls r3, r3, #1 + 8018c2e: 4619 mov r1, r3 + 8018c30: 68bb ldr r3, [r7, #8] + 8018c32: 440b add r3, r1 + 8018c34: 3230 adds r2, #48 @ 0x30 + 8018c36: b2d2 uxtb r2, r2 + 8018c38: 701a strb r2, [r3, #0] + 8018c3a: e00a b.n 8018c52 } else { pbuf[2 * idx] = (value >> 28) + 'A' - 10; - 801826c: 68fb ldr r3, [r7, #12] - 801826e: 0f1b lsrs r3, r3, #28 - 8018270: b2da uxtb r2, r3 - 8018272: 7dfb ldrb r3, [r7, #23] - 8018274: 005b lsls r3, r3, #1 - 8018276: 4619 mov r1, r3 - 8018278: 68bb ldr r3, [r7, #8] - 801827a: 440b add r3, r1 - 801827c: 3237 adds r2, #55 @ 0x37 - 801827e: b2d2 uxtb r2, r2 - 8018280: 701a strb r2, [r3, #0] + 8018c3c: 68fb ldr r3, [r7, #12] + 8018c3e: 0f1b lsrs r3, r3, #28 + 8018c40: b2da uxtb r2, r3 + 8018c42: 7dfb ldrb r3, [r7, #23] + 8018c44: 005b lsls r3, r3, #1 + 8018c46: 4619 mov r1, r3 + 8018c48: 68bb ldr r3, [r7, #8] + 8018c4a: 440b add r3, r1 + 8018c4c: 3237 adds r2, #55 @ 0x37 + 8018c4e: b2d2 uxtb r2, r2 + 8018c50: 701a strb r2, [r3, #0] } value = value << 4; - 8018282: 68fb ldr r3, [r7, #12] - 8018284: 011b lsls r3, r3, #4 - 8018286: 60fb str r3, [r7, #12] + 8018c52: 68fb ldr r3, [r7, #12] + 8018c54: 011b lsls r3, r3, #4 + 8018c56: 60fb str r3, [r7, #12] pbuf[2 * idx + 1] = 0; - 8018288: 7dfb ldrb r3, [r7, #23] - 801828a: 005b lsls r3, r3, #1 - 801828c: 3301 adds r3, #1 - 801828e: 68ba ldr r2, [r7, #8] - 8018290: 4413 add r3, r2 - 8018292: 2200 movs r2, #0 - 8018294: 701a strb r2, [r3, #0] + 8018c58: 7dfb ldrb r3, [r7, #23] + 8018c5a: 005b lsls r3, r3, #1 + 8018c5c: 3301 adds r3, #1 + 8018c5e: 68ba ldr r2, [r7, #8] + 8018c60: 4413 add r3, r2 + 8018c62: 2200 movs r2, #0 + 8018c64: 701a strb r2, [r3, #0] for (idx = 0; idx < len; idx++) - 8018296: 7dfb ldrb r3, [r7, #23] - 8018298: 3301 adds r3, #1 - 801829a: 75fb strb r3, [r7, #23] - 801829c: 7dfa ldrb r2, [r7, #23] - 801829e: 79fb ldrb r3, [r7, #7] - 80182a0: 429a cmp r2, r3 - 80182a2: d3d3 bcc.n 801824c + 8018c66: 7dfb ldrb r3, [r7, #23] + 8018c68: 3301 adds r3, #1 + 8018c6a: 75fb strb r3, [r7, #23] + 8018c6c: 7dfa ldrb r2, [r7, #23] + 8018c6e: 79fb ldrb r3, [r7, #7] + 8018c70: 429a cmp r2, r3 + 8018c72: d3d3 bcc.n 8018c1c } } - 80182a4: bf00 nop - 80182a6: bf00 nop - 80182a8: 371c adds r7, #28 - 80182aa: 46bd mov sp, r7 - 80182ac: f85d 7b04 ldr.w r7, [sp], #4 - 80182b0: 4770 bx lr + 8018c74: bf00 nop + 8018c76: bf00 nop + 8018c78: 371c adds r7, #28 + 8018c7a: 46bd mov sp, r7 + 8018c7c: f85d 7b04 ldr.w r7, [sp], #4 + 8018c80: 4770 bx lr -080182b2 : +08018c82 : { - 80182b2: b480 push {r7} - 80182b4: b085 sub sp, #20 - 80182b6: af00 add r7, sp, #0 - 80182b8: 6078 str r0, [r7, #4] + 8018c82: b480 push {r7} + 8018c84: b085 sub sp, #20 + 8018c86: af00 add r7, sp, #0 + 8018c88: 6078 str r0, [r7, #4] SET_BIT(RCC->AHB2ENR, Periphs); - 80182ba: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80182be: 6cda ldr r2, [r3, #76] @ 0x4c - 80182c0: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 80182c4: 687b ldr r3, [r7, #4] - 80182c6: 4313 orrs r3, r2 - 80182c8: 64cb str r3, [r1, #76] @ 0x4c + 8018c8a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8018c8e: 6cda ldr r2, [r3, #76] @ 0x4c + 8018c90: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 8018c94: 687b ldr r3, [r7, #4] + 8018c96: 4313 orrs r3, r2 + 8018c98: 64cb str r3, [r1, #76] @ 0x4c tmpreg = READ_BIT(RCC->AHB2ENR, Periphs); - 80182ca: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80182ce: 6cda ldr r2, [r3, #76] @ 0x4c - 80182d0: 687b ldr r3, [r7, #4] - 80182d2: 4013 ands r3, r2 - 80182d4: 60fb str r3, [r7, #12] + 8018c9a: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8018c9e: 6cda ldr r2, [r3, #76] @ 0x4c + 8018ca0: 687b ldr r3, [r7, #4] + 8018ca2: 4013 ands r3, r2 + 8018ca4: 60fb str r3, [r7, #12] (void)tmpreg; - 80182d6: 68fb ldr r3, [r7, #12] + 8018ca6: 68fb ldr r3, [r7, #12] } - 80182d8: bf00 nop - 80182da: 3714 adds r7, #20 - 80182dc: 46bd mov sp, r7 - 80182de: f85d 7b04 ldr.w r7, [sp], #4 - 80182e2: 4770 bx lr + 8018ca8: bf00 nop + 8018caa: 3714 adds r7, #20 + 8018cac: 46bd mov sp, r7 + 8018cae: f85d 7b04 ldr.w r7, [sp], #4 + 8018cb2: 4770 bx lr -080182e4 : +08018cb4 : { - 80182e4: b480 push {r7} - 80182e6: b085 sub sp, #20 - 80182e8: af00 add r7, sp, #0 - 80182ea: 6078 str r0, [r7, #4] + 8018cb4: b480 push {r7} + 8018cb6: b085 sub sp, #20 + 8018cb8: af00 add r7, sp, #0 + 8018cba: 6078 str r0, [r7, #4] SET_BIT(RCC->APB1ENR1, Periphs); - 80182ec: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 80182f0: 6d9a ldr r2, [r3, #88] @ 0x58 - 80182f2: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 - 80182f6: 687b ldr r3, [r7, #4] - 80182f8: 4313 orrs r3, r2 - 80182fa: 658b str r3, [r1, #88] @ 0x58 + 8018cbc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8018cc0: 6d9a ldr r2, [r3, #88] @ 0x58 + 8018cc2: f04f 41b0 mov.w r1, #1476395008 @ 0x58000000 + 8018cc6: 687b ldr r3, [r7, #4] + 8018cc8: 4313 orrs r3, r2 + 8018cca: 658b str r3, [r1, #88] @ 0x58 tmpreg = READ_BIT(RCC->APB1ENR1, Periphs); - 80182fc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 - 8018300: 6d9a ldr r2, [r3, #88] @ 0x58 - 8018302: 687b ldr r3, [r7, #4] - 8018304: 4013 ands r3, r2 - 8018306: 60fb str r3, [r7, #12] + 8018ccc: f04f 43b0 mov.w r3, #1476395008 @ 0x58000000 + 8018cd0: 6d9a ldr r2, [r3, #88] @ 0x58 + 8018cd2: 687b ldr r3, [r7, #4] + 8018cd4: 4013 ands r3, r2 + 8018cd6: 60fb str r3, [r7, #12] (void)tmpreg; - 8018308: 68fb ldr r3, [r7, #12] + 8018cd8: 68fb ldr r3, [r7, #12] } - 801830a: bf00 nop - 801830c: 3714 adds r7, #20 - 801830e: 46bd mov sp, r7 - 8018310: f85d 7b04 ldr.w r7, [sp], #4 - 8018314: 4770 bx lr + 8018cda: bf00 nop + 8018cdc: 3714 adds r7, #20 + 8018cde: 46bd mov sp, r7 + 8018ce0: f85d 7b04 ldr.w r7, [sp], #4 + 8018ce4: 4770 bx lr ... -08018318 : +08018ce8 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) #else void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 8018318: b580 push {r7, lr} - 801831a: b09c sub sp, #112 @ 0x70 - 801831c: af00 add r7, sp, #0 - 801831e: 6078 str r0, [r7, #4] + 8018ce8: b580 push {r7, lr} + 8018cea: b09c sub sp, #112 @ 0x70 + 8018cec: af00 add r7, sp, #0 + 8018cee: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8018320: f107 035c add.w r3, r7, #92 @ 0x5c - 8018324: 2200 movs r2, #0 - 8018326: 601a str r2, [r3, #0] - 8018328: 605a str r2, [r3, #4] - 801832a: 609a str r2, [r3, #8] - 801832c: 60da str r2, [r3, #12] - 801832e: 611a str r2, [r3, #16] + 8018cf0: f107 035c add.w r3, r7, #92 @ 0x5c + 8018cf4: 2200 movs r2, #0 + 8018cf6: 601a str r2, [r3, #0] + 8018cf8: 605a str r2, [r3, #4] + 8018cfa: 609a str r2, [r3, #8] + 8018cfc: 60da str r2, [r3, #12] + 8018cfe: 611a str r2, [r3, #16] RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; - 8018330: f107 030c add.w r3, r7, #12 - 8018334: 2250 movs r2, #80 @ 0x50 - 8018336: 2100 movs r1, #0 - 8018338: 4618 mov r0, r3 - 801833a: f001 fbeb bl 8019b14 + 8018d00: f107 030c add.w r3, r7, #12 + 8018d04: 2250 movs r2, #80 @ 0x50 + 8018d06: 2100 movs r1, #0 + 8018d08: 4618 mov r0, r3 + 8018d0a: f001 fafb bl 801a304 if(pcdHandle->Instance==USB) - 801833e: 687b ldr r3, [r7, #4] - 8018340: 681b ldr r3, [r3, #0] - 8018342: 4a23 ldr r2, [pc, #140] @ (80183d0 ) - 8018344: 4293 cmp r3, r2 - 8018346: d13e bne.n 80183c6 + 8018d0e: 687b ldr r3, [r7, #4] + 8018d10: 681b ldr r3, [r3, #0] + 8018d12: 4a23 ldr r2, [pc, #140] @ (8018da0 ) + 8018d14: 4293 cmp r3, r2 + 8018d16: d13e bne.n 8018d96 /* USER CODE END USB_MspInit 0 */ /** Initializes the peripherals clock */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB; - 8018348: f44f 7380 mov.w r3, #256 @ 0x100 - 801834c: 60fb str r3, [r7, #12] + 8018d18: f44f 7380 mov.w r3, #256 @ 0x100 + 8018d1c: 60fb str r3, [r7, #12] PeriphClkInitStruct.PLLSAI1.PLLN = 24; - 801834e: 2318 movs r3, #24 - 8018350: 613b str r3, [r7, #16] + 8018d1e: 2318 movs r3, #24 + 8018d20: 613b str r3, [r7, #16] PeriphClkInitStruct.PLLSAI1.PLLP = RCC_PLLP_DIV2; - 8018352: f44f 3300 mov.w r3, #131072 @ 0x20000 - 8018356: 617b str r3, [r7, #20] + 8018d22: f44f 3300 mov.w r3, #131072 @ 0x20000 + 8018d26: 617b str r3, [r7, #20] PeriphClkInitStruct.PLLSAI1.PLLQ = RCC_PLLQ_DIV2; - 8018358: f04f 7300 mov.w r3, #33554432 @ 0x2000000 - 801835c: 61bb str r3, [r7, #24] + 8018d28: f04f 7300 mov.w r3, #33554432 @ 0x2000000 + 8018d2c: 61bb str r3, [r7, #24] PeriphClkInitStruct.PLLSAI1.PLLR = RCC_PLLR_DIV2; - 801835e: f04f 5300 mov.w r3, #536870912 @ 0x20000000 - 8018362: 61fb str r3, [r7, #28] + 8018d2e: f04f 5300 mov.w r3, #536870912 @ 0x20000000 + 8018d32: 61fb str r3, [r7, #28] PeriphClkInitStruct.PLLSAI1.PLLSAI1ClockOut = RCC_PLLSAI1_USBCLK; - 8018364: f04f 7380 mov.w r3, #16777216 @ 0x1000000 - 8018368: 623b str r3, [r7, #32] + 8018d34: f04f 7380 mov.w r3, #16777216 @ 0x1000000 + 8018d38: 623b str r3, [r7, #32] PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_PLLSAI1; - 801836a: f04f 6380 mov.w r3, #67108864 @ 0x4000000 - 801836e: 643b str r3, [r7, #64] @ 0x40 + 8018d3a: f04f 6380 mov.w r3, #67108864 @ 0x4000000 + 8018d3e: 643b str r3, [r7, #64] @ 0x40 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - 8018370: f107 030c add.w r3, r7, #12 - 8018374: 4618 mov r0, r3 - 8018376: f7f3 fe93 bl 800c0a0 - 801837a: 4603 mov r3, r0 - 801837c: 2b00 cmp r3, #0 - 801837e: d001 beq.n 8018384 + 8018d40: f107 030c add.w r3, r7, #12 + 8018d44: 4618 mov r0, r3 + 8018d46: f7f3 fc87 bl 800c658 + 8018d4a: 4603 mov r3, r0 + 8018d4c: 2b00 cmp r3, #0 + 8018d4e: d001 beq.n 8018d54 { Error_Handler(); - 8018380: f7ec ff4e bl 8005220 + 8018d50: f7ec fb10 bl 8005374 } __HAL_RCC_GPIOA_CLK_ENABLE(); - 8018384: 2001 movs r0, #1 - 8018386: f7ff ff94 bl 80182b2 + 8018d54: 2001 movs r0, #1 + 8018d56: f7ff ff94 bl 8018c82 /**USB GPIO Configuration PA11 ------> USB_DM PA12 ------> USB_DP */ GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12; - 801838a: f44f 53c0 mov.w r3, #6144 @ 0x1800 - 801838e: 65fb str r3, [r7, #92] @ 0x5c + 8018d5a: f44f 53c0 mov.w r3, #6144 @ 0x1800 + 8018d5e: 65fb str r3, [r7, #92] @ 0x5c GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8018390: 2302 movs r3, #2 - 8018392: 663b str r3, [r7, #96] @ 0x60 + 8018d60: 2302 movs r3, #2 + 8018d62: 663b str r3, [r7, #96] @ 0x60 GPIO_InitStruct.Pull = GPIO_NOPULL; - 8018394: 2300 movs r3, #0 - 8018396: 667b str r3, [r7, #100] @ 0x64 - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8018398: 2300 movs r3, #0 - 801839a: 66bb str r3, [r7, #104] @ 0x68 + 8018d64: 2300 movs r3, #0 + 8018d66: 667b str r3, [r7, #100] @ 0x64 + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + 8018d68: 2303 movs r3, #3 + 8018d6a: 66bb str r3, [r7, #104] @ 0x68 GPIO_InitStruct.Alternate = GPIO_AF10_USB; - 801839c: 230a movs r3, #10 - 801839e: 66fb str r3, [r7, #108] @ 0x6c + 8018d6c: 230a movs r3, #10 + 8018d6e: 66fb str r3, [r7, #108] @ 0x6c HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 80183a0: f107 035c add.w r3, r7, #92 @ 0x5c - 80183a4: 4619 mov r1, r3 - 80183a6: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 - 80183aa: f7ee fcc5 bl 8006d38 + 8018d70: f107 035c add.w r3, r7, #92 @ 0x5c + 8018d74: 4619 mov r1, r3 + 8018d76: f04f 4090 mov.w r0, #1207959552 @ 0x48000000 + 8018d7a: f7ee fab9 bl 80072f0 /* Peripheral clock enable */ __HAL_RCC_USB_CLK_ENABLE(); - 80183ae: f04f 6080 mov.w r0, #67108864 @ 0x4000000 - 80183b2: f7ff ff97 bl 80182e4 + 8018d7e: f04f 6080 mov.w r0, #67108864 @ 0x4000000 + 8018d82: f7ff ff97 bl 8018cb4 /* Peripheral interrupt init */ HAL_NVIC_SetPriority(USB_LP_IRQn, 5, 0); - 80183b6: 2200 movs r2, #0 - 80183b8: 2105 movs r1, #5 - 80183ba: 2014 movs r0, #20 - 80183bc: f7ee f988 bl 80066d0 + 8018d86: 2200 movs r2, #0 + 8018d88: 2105 movs r1, #5 + 8018d8a: 2014 movs r0, #20 + 8018d8c: f7ed ff1e bl 8006bcc HAL_NVIC_EnableIRQ(USB_LP_IRQn); - 80183c0: 2014 movs r0, #20 - 80183c2: f7ee f99f bl 8006704 + 8018d90: 2014 movs r0, #20 + 8018d92: f7ed ff35 bl 8006c00 /* USER CODE BEGIN USB_MspInit 1 */ /* USER CODE END USB_MspInit 1 */ } } - 80183c6: bf00 nop - 80183c8: 3770 adds r7, #112 @ 0x70 - 80183ca: 46bd mov sp, r7 - 80183cc: bd80 pop {r7, pc} - 80183ce: bf00 nop - 80183d0: 40006800 .word 0x40006800 + 8018d96: bf00 nop + 8018d98: 3770 adds r7, #112 @ 0x70 + 8018d9a: 46bd mov sp, r7 + 8018d9c: bd80 pop {r7, pc} + 8018d9e: bf00 nop + 8018da0: 40006800 .word 0x40006800 -080183d4 : +08018da4 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 80183d4: b580 push {r7, lr} - 80183d6: b082 sub sp, #8 - 80183d8: af00 add r7, sp, #0 - 80183da: 6078 str r0, [r7, #4] + 8018da4: b580 push {r7, lr} + 8018da6: b082 sub sp, #8 + 8018da8: af00 add r7, sp, #0 + 8018daa: 6078 str r0, [r7, #4] /* USER CODE BEGIN HAL_PCD_SetupStageCallback_PreTreatment */ /* USER CODE END HAL_PCD_SetupStageCallback_PreTreatment */ USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup); - 80183dc: 687b ldr r3, [r7, #4] - 80183de: f8d3 22d8 ldr.w r2, [r3, #728] @ 0x2d8 - 80183e2: 687b ldr r3, [r7, #4] - 80183e4: f503 7326 add.w r3, r3, #664 @ 0x298 - 80183e8: 4619 mov r1, r3 - 80183ea: 4610 mov r0, r2 - 80183ec: f7f8 fe09 bl 8011002 + 8018dac: 687b ldr r3, [r7, #4] + 8018dae: f8d3 22d8 ldr.w r2, [r3, #728] @ 0x2d8 + 8018db2: 687b ldr r3, [r7, #4] + 8018db4: f503 7326 add.w r3, r3, #664 @ 0x298 + 8018db8: 4619 mov r1, r3 + 8018dba: 4610 mov r0, r2 + 8018dbc: f7f8 fe1f bl 80119fe /* USER CODE BEGIN HAL_PCD_SetupStageCallback_PostTreatment */ /* USER CODE END HAL_PCD_SetupStageCallback_PostTreatment */ } - 80183f0: bf00 nop - 80183f2: 3708 adds r7, #8 - 80183f4: 46bd mov sp, r7 - 80183f6: bd80 pop {r7, pc} + 8018dc0: bf00 nop + 8018dc2: 3708 adds r7, #8 + 8018dc4: 46bd mov sp, r7 + 8018dc6: bd80 pop {r7, pc} -080183f8 : +08018dc8 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #else void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 80183f8: b580 push {r7, lr} - 80183fa: b082 sub sp, #8 - 80183fc: af00 add r7, sp, #0 - 80183fe: 6078 str r0, [r7, #4] - 8018400: 460b mov r3, r1 - 8018402: 70fb strb r3, [r7, #3] + 8018dc8: b580 push {r7, lr} + 8018dca: b082 sub sp, #8 + 8018dcc: af00 add r7, sp, #0 + 8018dce: 6078 str r0, [r7, #4] + 8018dd0: 460b mov r3, r1 + 8018dd2: 70fb strb r3, [r7, #3] /* USER CODE BEGIN HAL_PCD_DataOutStageCallback_PreTreatment */ /* USER CODE END HAL_PCD_DataOutStageCallback_PreTreatment */ USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff); - 8018404: 687b ldr r3, [r7, #4] - 8018406: f8d3 02d8 ldr.w r0, [r3, #728] @ 0x2d8 - 801840a: 78fa ldrb r2, [r7, #3] - 801840c: 6879 ldr r1, [r7, #4] - 801840e: 4613 mov r3, r2 - 8018410: 009b lsls r3, r3, #2 - 8018412: 4413 add r3, r2 - 8018414: 00db lsls r3, r3, #3 - 8018416: 440b add r3, r1 - 8018418: f503 73b2 add.w r3, r3, #356 @ 0x164 - 801841c: 681a ldr r2, [r3, #0] - 801841e: 78fb ldrb r3, [r7, #3] - 8018420: 4619 mov r1, r3 - 8018422: f7f8 fe43 bl 80110ac + 8018dd4: 687b ldr r3, [r7, #4] + 8018dd6: f8d3 02d8 ldr.w r0, [r3, #728] @ 0x2d8 + 8018dda: 78fa ldrb r2, [r7, #3] + 8018ddc: 6879 ldr r1, [r7, #4] + 8018dde: 4613 mov r3, r2 + 8018de0: 009b lsls r3, r3, #2 + 8018de2: 4413 add r3, r2 + 8018de4: 00db lsls r3, r3, #3 + 8018de6: 440b add r3, r1 + 8018de8: f503 73b2 add.w r3, r3, #356 @ 0x164 + 8018dec: 681a ldr r2, [r3, #0] + 8018dee: 78fb ldrb r3, [r7, #3] + 8018df0: 4619 mov r1, r3 + 8018df2: f7f8 fe59 bl 8011aa8 /* USER CODE BEGIN HAL_PCD_DataOutStageCallback_PostTreatment */ /* USER CODE END HAL_PCD_DataOutStageCallback_PostTreatment */ } - 8018426: bf00 nop - 8018428: 3708 adds r7, #8 - 801842a: 46bd mov sp, r7 - 801842c: bd80 pop {r7, pc} + 8018df6: bf00 nop + 8018df8: 3708 adds r7, #8 + 8018dfa: 46bd mov sp, r7 + 8018dfc: bd80 pop {r7, pc} -0801842e : +08018dfe : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #else void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 801842e: b580 push {r7, lr} - 8018430: b082 sub sp, #8 - 8018432: af00 add r7, sp, #0 - 8018434: 6078 str r0, [r7, #4] - 8018436: 460b mov r3, r1 - 8018438: 70fb strb r3, [r7, #3] + 8018dfe: b580 push {r7, lr} + 8018e00: b082 sub sp, #8 + 8018e02: af00 add r7, sp, #0 + 8018e04: 6078 str r0, [r7, #4] + 8018e06: 460b mov r3, r1 + 8018e08: 70fb strb r3, [r7, #3] /* USER CODE BEGIN HAL_PCD_DataInStageCallback_PreTreatment */ /* USER CODE END HAL_PCD_DataInStageCallback_PreTreatment */ USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff); - 801843a: 687b ldr r3, [r7, #4] - 801843c: f8d3 02d8 ldr.w r0, [r3, #728] @ 0x2d8 - 8018440: 78fa ldrb r2, [r7, #3] - 8018442: 6879 ldr r1, [r7, #4] - 8018444: 4613 mov r3, r2 - 8018446: 009b lsls r3, r3, #2 - 8018448: 4413 add r3, r2 - 801844a: 00db lsls r3, r3, #3 - 801844c: 440b add r3, r1 - 801844e: 3324 adds r3, #36 @ 0x24 - 8018450: 681a ldr r2, [r3, #0] - 8018452: 78fb ldrb r3, [r7, #3] - 8018454: 4619 mov r1, r3 - 8018456: f7f8 fee5 bl 8011224 + 8018e0a: 687b ldr r3, [r7, #4] + 8018e0c: f8d3 02d8 ldr.w r0, [r3, #728] @ 0x2d8 + 8018e10: 78fa ldrb r2, [r7, #3] + 8018e12: 6879 ldr r1, [r7, #4] + 8018e14: 4613 mov r3, r2 + 8018e16: 009b lsls r3, r3, #2 + 8018e18: 4413 add r3, r2 + 8018e1a: 00db lsls r3, r3, #3 + 8018e1c: 440b add r3, r1 + 8018e1e: 3324 adds r3, #36 @ 0x24 + 8018e20: 681a ldr r2, [r3, #0] + 8018e22: 78fb ldrb r3, [r7, #3] + 8018e24: 4619 mov r1, r3 + 8018e26: f7f8 fefb bl 8011c20 /* USER CODE BEGIN HAL_PCD_DataInStageCallback_PostTreatment */ /* USER CODE END HAL_PCD_DataInStageCallback_PostTreatment */ } - 801845a: bf00 nop - 801845c: 3708 adds r7, #8 - 801845e: 46bd mov sp, r7 - 8018460: bd80 pop {r7, pc} + 8018e2a: bf00 nop + 8018e2c: 3708 adds r7, #8 + 8018e2e: 46bd mov sp, r7 + 8018e30: bd80 pop {r7, pc} -08018462 : +08018e32 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_SOFCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 8018462: b580 push {r7, lr} - 8018464: b082 sub sp, #8 - 8018466: af00 add r7, sp, #0 - 8018468: 6078 str r0, [r7, #4] + 8018e32: b580 push {r7, lr} + 8018e34: b082 sub sp, #8 + 8018e36: af00 add r7, sp, #0 + 8018e38: 6078 str r0, [r7, #4] /* USER CODE BEGIN HAL_PCD_SOFCallback_PreTreatment */ /* USER CODE END HAL_PCD_SOFCallback_PreTreatment */ USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData); - 801846a: 687b ldr r3, [r7, #4] - 801846c: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 - 8018470: 4618 mov r0, r3 - 8018472: f7f9 f829 bl 80114c8 + 8018e3a: 687b ldr r3, [r7, #4] + 8018e3c: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 + 8018e40: 4618 mov r0, r3 + 8018e42: f7f9 f83f bl 8011ec4 /* USER CODE BEGIN HAL_PCD_SOFCallback_PostTreatment */ /* USER CODE END HAL_PCD_SOFCallback_PostTreatment */ } - 8018476: bf00 nop - 8018478: 3708 adds r7, #8 - 801847a: 46bd mov sp, r7 - 801847c: bd80 pop {r7, pc} + 8018e46: bf00 nop + 8018e48: 3708 adds r7, #8 + 8018e4a: 46bd mov sp, r7 + 8018e4c: bd80 pop {r7, pc} -0801847e : +08018e4e : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_ResetCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 801847e: b580 push {r7, lr} - 8018480: b084 sub sp, #16 - 8018482: af00 add r7, sp, #0 - 8018484: 6078 str r0, [r7, #4] + 8018e4e: b580 push {r7, lr} + 8018e50: b084 sub sp, #16 + 8018e52: af00 add r7, sp, #0 + 8018e54: 6078 str r0, [r7, #4] /* USER CODE BEGIN HAL_PCD_ResetCallback_PreTreatment */ /* USER CODE END HAL_PCD_ResetCallback_PreTreatment */ USBD_SpeedTypeDef speed = USBD_SPEED_FULL; - 8018486: 2301 movs r3, #1 - 8018488: 73fb strb r3, [r7, #15] + 8018e56: 2301 movs r3, #1 + 8018e58: 73fb strb r3, [r7, #15] if ( hpcd->Init.speed != PCD_SPEED_FULL) - 801848a: 687b ldr r3, [r7, #4] - 801848c: 795b ldrb r3, [r3, #5] - 801848e: 2b02 cmp r3, #2 - 8018490: d001 beq.n 8018496 + 8018e5a: 687b ldr r3, [r7, #4] + 8018e5c: 795b ldrb r3, [r3, #5] + 8018e5e: 2b02 cmp r3, #2 + 8018e60: d001 beq.n 8018e66 { Error_Handler(); - 8018492: f7ec fec5 bl 8005220 + 8018e62: f7ec fa87 bl 8005374 } /* Set Speed. */ USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed); - 8018496: 687b ldr r3, [r7, #4] - 8018498: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 - 801849c: 7bfa ldrb r2, [r7, #15] - 801849e: 4611 mov r1, r2 - 80184a0: 4618 mov r0, r3 - 80184a2: f7f8 ffcd bl 8011440 + 8018e66: 687b ldr r3, [r7, #4] + 8018e68: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 + 8018e6c: 7bfa ldrb r2, [r7, #15] + 8018e6e: 4611 mov r1, r2 + 8018e70: 4618 mov r0, r3 + 8018e72: f7f8 ffe3 bl 8011e3c /* Reset Device. */ USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData); - 80184a6: 687b ldr r3, [r7, #4] - 80184a8: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 - 80184ac: 4618 mov r0, r3 - 80184ae: f7f8 ff74 bl 801139a + 8018e76: 687b ldr r3, [r7, #4] + 8018e78: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 + 8018e7c: 4618 mov r0, r3 + 8018e7e: f7f8 ff8a bl 8011d96 /* USER CODE BEGIN HAL_PCD_ResetCallback_PostTreatment */ /* USER CODE END HAL_PCD_ResetCallback_PostTreatment */ } - 80184b2: bf00 nop - 80184b4: 3710 adds r7, #16 - 80184b6: 46bd mov sp, r7 - 80184b8: bd80 pop {r7, pc} + 8018e82: bf00 nop + 8018e84: 3710 adds r7, #16 + 8018e86: 46bd mov sp, r7 + 8018e88: bd80 pop {r7, pc} ... -080184bc : +08018e8c : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 80184bc: b580 push {r7, lr} - 80184be: b082 sub sp, #8 - 80184c0: af00 add r7, sp, #0 - 80184c2: 6078 str r0, [r7, #4] + 8018e8c: b580 push {r7, lr} + 8018e8e: b082 sub sp, #8 + 8018e90: af00 add r7, sp, #0 + 8018e92: 6078 str r0, [r7, #4] /* USER CODE BEGIN HAL_PCD_SuspendCallback_PreTreatment */ /* USER CODE END HAL_PCD_SuspendCallback_PreTreatment */ /* Inform USB library that core enters in suspend Mode. */ USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData); - 80184c4: 687b ldr r3, [r7, #4] - 80184c6: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 - 80184ca: 4618 mov r0, r3 - 80184cc: f7f8 ffc8 bl 8011460 + 8018e94: 687b ldr r3, [r7, #4] + 8018e96: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 + 8018e9a: 4618 mov r0, r3 + 8018e9c: f7f8 ffde bl 8011e5c /* Enter in STOP mode. */ /* USER CODE BEGIN 2 */ if (hpcd->Init.low_power_enable) - 80184d0: 687b ldr r3, [r7, #4] - 80184d2: 7a5b ldrb r3, [r3, #9] - 80184d4: 2b00 cmp r3, #0 - 80184d6: d005 beq.n 80184e4 + 8018ea0: 687b ldr r3, [r7, #4] + 8018ea2: 7a5b ldrb r3, [r3, #9] + 8018ea4: 2b00 cmp r3, #0 + 8018ea6: d005 beq.n 8018eb4 { /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */ SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); - 80184d8: 4b04 ldr r3, [pc, #16] @ (80184ec ) - 80184da: 691b ldr r3, [r3, #16] - 80184dc: 4a03 ldr r2, [pc, #12] @ (80184ec ) - 80184de: f043 0306 orr.w r3, r3, #6 - 80184e2: 6113 str r3, [r2, #16] + 8018ea8: 4b04 ldr r3, [pc, #16] @ (8018ebc ) + 8018eaa: 691b ldr r3, [r3, #16] + 8018eac: 4a03 ldr r2, [pc, #12] @ (8018ebc ) + 8018eae: f043 0306 orr.w r3, r3, #6 + 8018eb2: 6113 str r3, [r2, #16] } /* USER CODE END 2 */ /* USER CODE BEGIN HAL_PCD_SuspendCallback_PostTreatment */ /* USER CODE END HAL_PCD_SuspendCallback_PostTreatment */ } - 80184e4: bf00 nop - 80184e6: 3708 adds r7, #8 - 80184e8: 46bd mov sp, r7 - 80184ea: bd80 pop {r7, pc} - 80184ec: e000ed00 .word 0xe000ed00 + 8018eb4: bf00 nop + 8018eb6: 3708 adds r7, #8 + 8018eb8: 46bd mov sp, r7 + 8018eba: bd80 pop {r7, pc} + 8018ebc: e000ed00 .word 0xe000ed00 -080184f0 : +08018ec0 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 80184f0: b580 push {r7, lr} - 80184f2: b082 sub sp, #8 - 80184f4: af00 add r7, sp, #0 - 80184f6: 6078 str r0, [r7, #4] + 8018ec0: b580 push {r7, lr} + 8018ec2: b082 sub sp, #8 + 8018ec4: af00 add r7, sp, #0 + 8018ec6: 6078 str r0, [r7, #4] /* USER CODE BEGIN HAL_PCD_ResumeCallback_PreTreatment */ /* USER CODE END HAL_PCD_ResumeCallback_PreTreatment */ /* USER CODE BEGIN 3 */ if (hpcd->Init.low_power_enable) - 80184f8: 687b ldr r3, [r7, #4] - 80184fa: 7a5b ldrb r3, [r3, #9] - 80184fc: 2b00 cmp r3, #0 - 80184fe: d007 beq.n 8018510 + 8018ec8: 687b ldr r3, [r7, #4] + 8018eca: 7a5b ldrb r3, [r3, #9] + 8018ecc: 2b00 cmp r3, #0 + 8018ece: d007 beq.n 8018ee0 { /* Reset SLEEPDEEP bit of Cortex System Control Register. */ SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); - 8018500: 4b08 ldr r3, [pc, #32] @ (8018524 ) - 8018502: 691b ldr r3, [r3, #16] - 8018504: 4a07 ldr r2, [pc, #28] @ (8018524 ) - 8018506: f023 0306 bic.w r3, r3, #6 - 801850a: 6113 str r3, [r2, #16] + 8018ed0: 4b08 ldr r3, [pc, #32] @ (8018ef4 ) + 8018ed2: 691b ldr r3, [r3, #16] + 8018ed4: 4a07 ldr r2, [pc, #28] @ (8018ef4 ) + 8018ed6: f023 0306 bic.w r3, r3, #6 + 8018eda: 6113 str r3, [r2, #16] SystemClockConfig_Resume(); - 801850c: f000 f9fa bl 8018904 + 8018edc: f000 f9fa bl 80192d4 } /* USER CODE END 3 */ USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData); - 8018510: 687b ldr r3, [r7, #4] - 8018512: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 - 8018516: 4618 mov r0, r3 - 8018518: f7f8 ffbe bl 8011498 + 8018ee0: 687b ldr r3, [r7, #4] + 8018ee2: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 + 8018ee6: 4618 mov r0, r3 + 8018ee8: f7f8 ffd4 bl 8011e94 /* USER CODE BEGIN HAL_PCD_ResumeCallback_PostTreatment */ /* USER CODE END HAL_PCD_ResumeCallback_PostTreatment */ } - 801851c: bf00 nop - 801851e: 3708 adds r7, #8 - 8018520: 46bd mov sp, r7 - 8018522: bd80 pop {r7, pc} - 8018524: e000ed00 .word 0xe000ed00 + 8018eec: bf00 nop + 8018eee: 3708 adds r7, #8 + 8018ef0: 46bd mov sp, r7 + 8018ef2: bd80 pop {r7, pc} + 8018ef4: e000ed00 .word 0xe000ed00 -08018528 : +08018ef8 : * @brief Initializes the low level portion of the device driver. * @param pdev: Device handle * @retval USBD status */ USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev) { - 8018528: b580 push {r7, lr} - 801852a: b082 sub sp, #8 - 801852c: af00 add r7, sp, #0 - 801852e: 6078 str r0, [r7, #4] + 8018ef8: b580 push {r7, lr} + 8018efa: b082 sub sp, #8 + 8018efc: af00 add r7, sp, #0 + 8018efe: 6078 str r0, [r7, #4] /* Init USB Ip. */ hpcd_USB_FS.pData = pdev; - 8018530: 4a2c ldr r2, [pc, #176] @ (80185e4 ) - 8018532: 687b ldr r3, [r7, #4] - 8018534: f8c2 32d8 str.w r3, [r2, #728] @ 0x2d8 + 8018f00: 4a2c ldr r2, [pc, #176] @ (8018fb4 ) + 8018f02: 687b ldr r3, [r7, #4] + 8018f04: f8c2 32d8 str.w r3, [r2, #728] @ 0x2d8 /* Link the driver to the stack. */ pdev->pData = &hpcd_USB_FS; - 8018538: 687b ldr r3, [r7, #4] - 801853a: 4a2a ldr r2, [pc, #168] @ (80185e4 ) - 801853c: f8c3 22c8 str.w r2, [r3, #712] @ 0x2c8 + 8018f08: 687b ldr r3, [r7, #4] + 8018f0a: 4a2a ldr r2, [pc, #168] @ (8018fb4 ) + 8018f0c: f8c3 22c8 str.w r2, [r3, #712] @ 0x2c8 /* Enable USB power on Pwrctrl CR2 register. */ HAL_PWREx_EnableVddUSB(); - 8018540: f7f2 fa40 bl 800a9c4 + 8018f10: f7f2 f834 bl 800af7c hpcd_USB_FS.Instance = USB; - 8018544: 4b27 ldr r3, [pc, #156] @ (80185e4 ) - 8018546: 4a28 ldr r2, [pc, #160] @ (80185e8 ) - 8018548: 601a str r2, [r3, #0] + 8018f14: 4b27 ldr r3, [pc, #156] @ (8018fb4 ) + 8018f16: 4a28 ldr r2, [pc, #160] @ (8018fb8 ) + 8018f18: 601a str r2, [r3, #0] hpcd_USB_FS.Init.dev_endpoints = 8; - 801854a: 4b26 ldr r3, [pc, #152] @ (80185e4 ) - 801854c: 2208 movs r2, #8 - 801854e: 711a strb r2, [r3, #4] + 8018f1a: 4b26 ldr r3, [pc, #152] @ (8018fb4 ) + 8018f1c: 2208 movs r2, #8 + 8018f1e: 711a strb r2, [r3, #4] hpcd_USB_FS.Init.speed = PCD_SPEED_FULL; - 8018550: 4b24 ldr r3, [pc, #144] @ (80185e4 ) - 8018552: 2202 movs r2, #2 - 8018554: 715a strb r2, [r3, #5] + 8018f20: 4b24 ldr r3, [pc, #144] @ (8018fb4 ) + 8018f22: 2202 movs r2, #2 + 8018f24: 715a strb r2, [r3, #5] hpcd_USB_FS.Init.phy_itface = PCD_PHY_EMBEDDED; - 8018556: 4b23 ldr r3, [pc, #140] @ (80185e4 ) - 8018558: 2202 movs r2, #2 - 801855a: 71da strb r2, [r3, #7] + 8018f26: 4b23 ldr r3, [pc, #140] @ (8018fb4 ) + 8018f28: 2202 movs r2, #2 + 8018f2a: 71da strb r2, [r3, #7] hpcd_USB_FS.Init.Sof_enable = DISABLE; - 801855c: 4b21 ldr r3, [pc, #132] @ (80185e4 ) - 801855e: 2200 movs r2, #0 - 8018560: 721a strb r2, [r3, #8] + 8018f2c: 4b21 ldr r3, [pc, #132] @ (8018fb4 ) + 8018f2e: 2200 movs r2, #0 + 8018f30: 721a strb r2, [r3, #8] hpcd_USB_FS.Init.low_power_enable = DISABLE; - 8018562: 4b20 ldr r3, [pc, #128] @ (80185e4 ) - 8018564: 2200 movs r2, #0 - 8018566: 725a strb r2, [r3, #9] + 8018f32: 4b20 ldr r3, [pc, #128] @ (8018fb4 ) + 8018f34: 2200 movs r2, #0 + 8018f36: 725a strb r2, [r3, #9] hpcd_USB_FS.Init.lpm_enable = DISABLE; - 8018568: 4b1e ldr r3, [pc, #120] @ (80185e4 ) - 801856a: 2200 movs r2, #0 - 801856c: 729a strb r2, [r3, #10] + 8018f38: 4b1e ldr r3, [pc, #120] @ (8018fb4 ) + 8018f3a: 2200 movs r2, #0 + 8018f3c: 729a strb r2, [r3, #10] hpcd_USB_FS.Init.battery_charging_enable = DISABLE; - 801856e: 4b1d ldr r3, [pc, #116] @ (80185e4 ) - 8018570: 2200 movs r2, #0 - 8018572: 72da strb r2, [r3, #11] + 8018f3e: 4b1d ldr r3, [pc, #116] @ (8018fb4 ) + 8018f40: 2200 movs r2, #0 + 8018f42: 72da strb r2, [r3, #11] /* register Msp Callbacks (before the Init) */ HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_MSPINIT_CB_ID, PCD_MspInit); HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_MSPDEINIT_CB_ID, PCD_MspDeInit); #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ if (HAL_PCD_Init(&hpcd_USB_FS) != HAL_OK) - 8018574: 481b ldr r0, [pc, #108] @ (80185e4 ) - 8018576: f7f0 fcc5 bl 8008f04 - 801857a: 4603 mov r3, r0 - 801857c: 2b00 cmp r3, #0 - 801857e: d001 beq.n 8018584 + 8018f44: 481b ldr r0, [pc, #108] @ (8018fb4 ) + 8018f46: f7f0 fab9 bl 80094bc + 8018f4a: 4603 mov r3, r0 + 8018f4c: 2b00 cmp r3, #0 + 8018f4e: d001 beq.n 8018f54 { Error_Handler( ); - 8018580: f7ec fe4e bl 8005220 + 8018f50: f7ec fa10 bl 8005374 /* USER CODE BEGIN RegisterCallBackSecondPart */ /* USER CODE END RegisterCallBackSecondPart */ #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ /* USER CODE BEGIN EndPoint_Configuration */ HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x00 , PCD_SNG_BUF, 0x18); - 8018584: 687b ldr r3, [r7, #4] - 8018586: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 - 801858a: 2318 movs r3, #24 - 801858c: 2200 movs r2, #0 - 801858e: 2100 movs r1, #0 - 8018590: f7f2 f98d bl 800a8ae + 8018f54: 687b ldr r3, [r7, #4] + 8018f56: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 + 8018f5a: 2318 movs r3, #24 + 8018f5c: 2200 movs r2, #0 + 8018f5e: 2100 movs r1, #0 + 8018f60: f7f1 ff81 bl 800ae66 HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x80 , PCD_SNG_BUF, 0x58); - 8018594: 687b ldr r3, [r7, #4] - 8018596: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 - 801859a: 2358 movs r3, #88 @ 0x58 - 801859c: 2200 movs r2, #0 - 801859e: 2180 movs r1, #128 @ 0x80 - 80185a0: f7f2 f985 bl 800a8ae + 8018f64: 687b ldr r3, [r7, #4] + 8018f66: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 + 8018f6a: 2358 movs r3, #88 @ 0x58 + 8018f6c: 2200 movs r2, #0 + 8018f6e: 2180 movs r1, #128 @ 0x80 + 8018f70: f7f1 ff79 bl 800ae66 /* USER CODE END EndPoint_Configuration */ /* USER CODE BEGIN EndPoint_Configuration_CDC */ HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x81 , PCD_SNG_BUF, 0xC0); - 80185a4: 687b ldr r3, [r7, #4] - 80185a6: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 - 80185aa: 23c0 movs r3, #192 @ 0xc0 - 80185ac: 2200 movs r2, #0 - 80185ae: 2181 movs r1, #129 @ 0x81 - 80185b0: f7f2 f97d bl 800a8ae + 8018f74: 687b ldr r3, [r7, #4] + 8018f76: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 + 8018f7a: 23c0 movs r3, #192 @ 0xc0 + 8018f7c: 2200 movs r2, #0 + 8018f7e: 2181 movs r1, #129 @ 0x81 + 8018f80: f7f1 ff71 bl 800ae66 HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x01 , PCD_SNG_BUF, 0x110); - 80185b4: 687b ldr r3, [r7, #4] - 80185b6: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 - 80185ba: f44f 7388 mov.w r3, #272 @ 0x110 - 80185be: 2200 movs r2, #0 - 80185c0: 2101 movs r1, #1 - 80185c2: f7f2 f974 bl 800a8ae + 8018f84: 687b ldr r3, [r7, #4] + 8018f86: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 + 8018f8a: f44f 7388 mov.w r3, #272 @ 0x110 + 8018f8e: 2200 movs r2, #0 + 8018f90: 2101 movs r1, #1 + 8018f92: f7f1 ff68 bl 800ae66 HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x82 , PCD_SNG_BUF, 0x100); - 80185c6: 687b ldr r3, [r7, #4] - 80185c8: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 - 80185cc: f44f 7380 mov.w r3, #256 @ 0x100 - 80185d0: 2200 movs r2, #0 - 80185d2: 2182 movs r1, #130 @ 0x82 - 80185d4: f7f2 f96b bl 800a8ae + 8018f96: 687b ldr r3, [r7, #4] + 8018f98: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 + 8018f9c: f44f 7380 mov.w r3, #256 @ 0x100 + 8018fa0: 2200 movs r2, #0 + 8018fa2: 2182 movs r1, #130 @ 0x82 + 8018fa4: f7f1 ff5f bl 800ae66 /* USER CODE END EndPoint_Configuration_CDC */ return USBD_OK; - 80185d8: 2300 movs r3, #0 + 8018fa8: 2300 movs r3, #0 } - 80185da: 4618 mov r0, r3 - 80185dc: 3708 adds r7, #8 - 80185de: 46bd mov sp, r7 - 80185e0: bd80 pop {r7, pc} - 80185e2: bf00 nop - 80185e4: 200135f8 .word 0x200135f8 - 80185e8: 40006800 .word 0x40006800 + 8018faa: 4618 mov r0, r3 + 8018fac: 3708 adds r7, #8 + 8018fae: 46bd mov sp, r7 + 8018fb0: bd80 pop {r7, pc} + 8018fb2: bf00 nop + 8018fb4: 20013698 .word 0x20013698 + 8018fb8: 40006800 .word 0x40006800 -080185ec : +08018fbc : * @brief Starts the low level portion of the device driver. * @param pdev: Device handle * @retval USBD status */ USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev) { - 80185ec: b580 push {r7, lr} - 80185ee: b084 sub sp, #16 - 80185f0: af00 add r7, sp, #0 - 80185f2: 6078 str r0, [r7, #4] + 8018fbc: b580 push {r7, lr} + 8018fbe: b084 sub sp, #16 + 8018fc0: af00 add r7, sp, #0 + 8018fc2: 6078 str r0, [r7, #4] HAL_StatusTypeDef hal_status = HAL_OK; - 80185f4: 2300 movs r3, #0 - 80185f6: 73fb strb r3, [r7, #15] + 8018fc4: 2300 movs r3, #0 + 8018fc6: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; - 80185f8: 2300 movs r3, #0 - 80185fa: 73bb strb r3, [r7, #14] + 8018fc8: 2300 movs r3, #0 + 8018fca: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_Start(pdev->pData); - 80185fc: 687b ldr r3, [r7, #4] - 80185fe: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 - 8018602: 4618 mov r0, r3 - 8018604: f7f0 fd4c bl 80090a0 - 8018608: 4603 mov r3, r0 - 801860a: 73fb strb r3, [r7, #15] + 8018fcc: 687b ldr r3, [r7, #4] + 8018fce: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 + 8018fd2: 4618 mov r0, r3 + 8018fd4: f7f0 fb40 bl 8009658 + 8018fd8: 4603 mov r3, r0 + 8018fda: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); - 801860c: 7bfb ldrb r3, [r7, #15] - 801860e: 4618 mov r0, r3 - 8018610: f000 f97e bl 8018910 - 8018614: 4603 mov r3, r0 - 8018616: 73bb strb r3, [r7, #14] + 8018fdc: 7bfb ldrb r3, [r7, #15] + 8018fde: 4618 mov r0, r3 + 8018fe0: f000 f97e bl 80192e0 + 8018fe4: 4603 mov r3, r0 + 8018fe6: 73bb strb r3, [r7, #14] return usb_status; - 8018618: 7bbb ldrb r3, [r7, #14] + 8018fe8: 7bbb ldrb r3, [r7, #14] } - 801861a: 4618 mov r0, r3 - 801861c: 3710 adds r7, #16 - 801861e: 46bd mov sp, r7 - 8018620: bd80 pop {r7, pc} + 8018fea: 4618 mov r0, r3 + 8018fec: 3710 adds r7, #16 + 8018fee: 46bd mov sp, r7 + 8018ff0: bd80 pop {r7, pc} -08018622 : +08018ff2 : * @param ep_type: Endpoint type * @param ep_mps: Endpoint max packet size * @retval USBD status */ USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps) { - 8018622: b580 push {r7, lr} - 8018624: b084 sub sp, #16 - 8018626: af00 add r7, sp, #0 - 8018628: 6078 str r0, [r7, #4] - 801862a: 4608 mov r0, r1 - 801862c: 4611 mov r1, r2 - 801862e: 461a mov r2, r3 - 8018630: 4603 mov r3, r0 - 8018632: 70fb strb r3, [r7, #3] - 8018634: 460b mov r3, r1 - 8018636: 70bb strb r3, [r7, #2] - 8018638: 4613 mov r3, r2 - 801863a: 803b strh r3, [r7, #0] + 8018ff2: b580 push {r7, lr} + 8018ff4: b084 sub sp, #16 + 8018ff6: af00 add r7, sp, #0 + 8018ff8: 6078 str r0, [r7, #4] + 8018ffa: 4608 mov r0, r1 + 8018ffc: 4611 mov r1, r2 + 8018ffe: 461a mov r2, r3 + 8019000: 4603 mov r3, r0 + 8019002: 70fb strb r3, [r7, #3] + 8019004: 460b mov r3, r1 + 8019006: 70bb strb r3, [r7, #2] + 8019008: 4613 mov r3, r2 + 801900a: 803b strh r3, [r7, #0] HAL_StatusTypeDef hal_status = HAL_OK; - 801863c: 2300 movs r3, #0 - 801863e: 73fb strb r3, [r7, #15] + 801900c: 2300 movs r3, #0 + 801900e: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; - 8018640: 2300 movs r3, #0 - 8018642: 73bb strb r3, [r7, #14] + 8019010: 2300 movs r3, #0 + 8019012: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type); - 8018644: 687b ldr r3, [r7, #4] - 8018646: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 - 801864a: 78bb ldrb r3, [r7, #2] - 801864c: 883a ldrh r2, [r7, #0] - 801864e: 78f9 ldrb r1, [r7, #3] - 8018650: f7f0 fe93 bl 800937a - 8018654: 4603 mov r3, r0 - 8018656: 73fb strb r3, [r7, #15] + 8019014: 687b ldr r3, [r7, #4] + 8019016: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 + 801901a: 78bb ldrb r3, [r7, #2] + 801901c: 883a ldrh r2, [r7, #0] + 801901e: 78f9 ldrb r1, [r7, #3] + 8019020: f7f0 fc87 bl 8009932 + 8019024: 4603 mov r3, r0 + 8019026: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); - 8018658: 7bfb ldrb r3, [r7, #15] - 801865a: 4618 mov r0, r3 - 801865c: f000 f958 bl 8018910 - 8018660: 4603 mov r3, r0 - 8018662: 73bb strb r3, [r7, #14] + 8019028: 7bfb ldrb r3, [r7, #15] + 801902a: 4618 mov r0, r3 + 801902c: f000 f958 bl 80192e0 + 8019030: 4603 mov r3, r0 + 8019032: 73bb strb r3, [r7, #14] return usb_status; - 8018664: 7bbb ldrb r3, [r7, #14] + 8019034: 7bbb ldrb r3, [r7, #14] } - 8018666: 4618 mov r0, r3 - 8018668: 3710 adds r7, #16 - 801866a: 46bd mov sp, r7 - 801866c: bd80 pop {r7, pc} + 8019036: 4618 mov r0, r3 + 8019038: 3710 adds r7, #16 + 801903a: 46bd mov sp, r7 + 801903c: bd80 pop {r7, pc} -0801866e : +0801903e : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { - 801866e: b580 push {r7, lr} - 8018670: b084 sub sp, #16 - 8018672: af00 add r7, sp, #0 - 8018674: 6078 str r0, [r7, #4] - 8018676: 460b mov r3, r1 - 8018678: 70fb strb r3, [r7, #3] + 801903e: b580 push {r7, lr} + 8019040: b084 sub sp, #16 + 8019042: af00 add r7, sp, #0 + 8019044: 6078 str r0, [r7, #4] + 8019046: 460b mov r3, r1 + 8019048: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; - 801867a: 2300 movs r3, #0 - 801867c: 73fb strb r3, [r7, #15] + 801904a: 2300 movs r3, #0 + 801904c: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; - 801867e: 2300 movs r3, #0 - 8018680: 73bb strb r3, [r7, #14] + 801904e: 2300 movs r3, #0 + 8019050: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr); - 8018682: 687b ldr r3, [r7, #4] - 8018684: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 - 8018688: 78fa ldrb r2, [r7, #3] - 801868a: 4611 mov r1, r2 - 801868c: 4618 mov r0, r3 - 801868e: f7f0 fed3 bl 8009438 - 8018692: 4603 mov r3, r0 - 8018694: 73fb strb r3, [r7, #15] + 8019052: 687b ldr r3, [r7, #4] + 8019054: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 + 8019058: 78fa ldrb r2, [r7, #3] + 801905a: 4611 mov r1, r2 + 801905c: 4618 mov r0, r3 + 801905e: f7f0 fcc7 bl 80099f0 + 8019062: 4603 mov r3, r0 + 8019064: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); - 8018696: 7bfb ldrb r3, [r7, #15] - 8018698: 4618 mov r0, r3 - 801869a: f000 f939 bl 8018910 - 801869e: 4603 mov r3, r0 - 80186a0: 73bb strb r3, [r7, #14] + 8019066: 7bfb ldrb r3, [r7, #15] + 8019068: 4618 mov r0, r3 + 801906a: f000 f939 bl 80192e0 + 801906e: 4603 mov r3, r0 + 8019070: 73bb strb r3, [r7, #14] return usb_status; - 80186a2: 7bbb ldrb r3, [r7, #14] + 8019072: 7bbb ldrb r3, [r7, #14] } - 80186a4: 4618 mov r0, r3 - 80186a6: 3710 adds r7, #16 - 80186a8: 46bd mov sp, r7 - 80186aa: bd80 pop {r7, pc} + 8019074: 4618 mov r0, r3 + 8019076: 3710 adds r7, #16 + 8019078: 46bd mov sp, r7 + 801907a: bd80 pop {r7, pc} -080186ac : +0801907c : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { - 80186ac: b580 push {r7, lr} - 80186ae: b084 sub sp, #16 - 80186b0: af00 add r7, sp, #0 - 80186b2: 6078 str r0, [r7, #4] - 80186b4: 460b mov r3, r1 - 80186b6: 70fb strb r3, [r7, #3] + 801907c: b580 push {r7, lr} + 801907e: b084 sub sp, #16 + 8019080: af00 add r7, sp, #0 + 8019082: 6078 str r0, [r7, #4] + 8019084: 460b mov r3, r1 + 8019086: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; - 80186b8: 2300 movs r3, #0 - 80186ba: 73fb strb r3, [r7, #15] + 8019088: 2300 movs r3, #0 + 801908a: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; - 80186bc: 2300 movs r3, #0 - 80186be: 73bb strb r3, [r7, #14] + 801908c: 2300 movs r3, #0 + 801908e: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr); - 80186c0: 687b ldr r3, [r7, #4] - 80186c2: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 - 80186c6: 78fa ldrb r2, [r7, #3] - 80186c8: 4611 mov r1, r2 - 80186ca: 4618 mov r0, r3 - 80186cc: f7f0 ff7c bl 80095c8 - 80186d0: 4603 mov r3, r0 - 80186d2: 73fb strb r3, [r7, #15] + 8019090: 687b ldr r3, [r7, #4] + 8019092: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 + 8019096: 78fa ldrb r2, [r7, #3] + 8019098: 4611 mov r1, r2 + 801909a: 4618 mov r0, r3 + 801909c: f7f0 fd70 bl 8009b80 + 80190a0: 4603 mov r3, r0 + 80190a2: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); - 80186d4: 7bfb ldrb r3, [r7, #15] - 80186d6: 4618 mov r0, r3 - 80186d8: f000 f91a bl 8018910 - 80186dc: 4603 mov r3, r0 - 80186de: 73bb strb r3, [r7, #14] + 80190a4: 7bfb ldrb r3, [r7, #15] + 80190a6: 4618 mov r0, r3 + 80190a8: f000 f91a bl 80192e0 + 80190ac: 4603 mov r3, r0 + 80190ae: 73bb strb r3, [r7, #14] return usb_status; - 80186e0: 7bbb ldrb r3, [r7, #14] + 80190b0: 7bbb ldrb r3, [r7, #14] } - 80186e2: 4618 mov r0, r3 - 80186e4: 3710 adds r7, #16 - 80186e6: 46bd mov sp, r7 - 80186e8: bd80 pop {r7, pc} + 80190b2: 4618 mov r0, r3 + 80190b4: 3710 adds r7, #16 + 80190b6: 46bd mov sp, r7 + 80190b8: bd80 pop {r7, pc} -080186ea : +080190ba : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { - 80186ea: b580 push {r7, lr} - 80186ec: b084 sub sp, #16 - 80186ee: af00 add r7, sp, #0 - 80186f0: 6078 str r0, [r7, #4] - 80186f2: 460b mov r3, r1 - 80186f4: 70fb strb r3, [r7, #3] + 80190ba: b580 push {r7, lr} + 80190bc: b084 sub sp, #16 + 80190be: af00 add r7, sp, #0 + 80190c0: 6078 str r0, [r7, #4] + 80190c2: 460b mov r3, r1 + 80190c4: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; - 80186f6: 2300 movs r3, #0 - 80186f8: 73fb strb r3, [r7, #15] + 80190c6: 2300 movs r3, #0 + 80190c8: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; - 80186fa: 2300 movs r3, #0 - 80186fc: 73bb strb r3, [r7, #14] + 80190ca: 2300 movs r3, #0 + 80190cc: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr); - 80186fe: 687b ldr r3, [r7, #4] - 8018700: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 - 8018704: 78fa ldrb r2, [r7, #3] - 8018706: 4611 mov r1, r2 - 8018708: 4618 mov r0, r3 - 801870a: f7f0 ffaf bl 800966c - 801870e: 4603 mov r3, r0 - 8018710: 73fb strb r3, [r7, #15] + 80190ce: 687b ldr r3, [r7, #4] + 80190d0: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 + 80190d4: 78fa ldrb r2, [r7, #3] + 80190d6: 4611 mov r1, r2 + 80190d8: 4618 mov r0, r3 + 80190da: f7f0 fda3 bl 8009c24 + 80190de: 4603 mov r3, r0 + 80190e0: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); - 8018712: 7bfb ldrb r3, [r7, #15] - 8018714: 4618 mov r0, r3 - 8018716: f000 f8fb bl 8018910 - 801871a: 4603 mov r3, r0 - 801871c: 73bb strb r3, [r7, #14] + 80190e2: 7bfb ldrb r3, [r7, #15] + 80190e4: 4618 mov r0, r3 + 80190e6: f000 f8fb bl 80192e0 + 80190ea: 4603 mov r3, r0 + 80190ec: 73bb strb r3, [r7, #14] return usb_status; - 801871e: 7bbb ldrb r3, [r7, #14] + 80190ee: 7bbb ldrb r3, [r7, #14] } - 8018720: 4618 mov r0, r3 - 8018722: 3710 adds r7, #16 - 8018724: 46bd mov sp, r7 - 8018726: bd80 pop {r7, pc} + 80190f0: 4618 mov r0, r3 + 80190f2: 3710 adds r7, #16 + 80190f4: 46bd mov sp, r7 + 80190f6: bd80 pop {r7, pc} -08018728 : +080190f8 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval Stall (1: Yes, 0: No) */ uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { - 8018728: b480 push {r7} - 801872a: b085 sub sp, #20 - 801872c: af00 add r7, sp, #0 - 801872e: 6078 str r0, [r7, #4] - 8018730: 460b mov r3, r1 - 8018732: 70fb strb r3, [r7, #3] + 80190f8: b480 push {r7} + 80190fa: b085 sub sp, #20 + 80190fc: af00 add r7, sp, #0 + 80190fe: 6078 str r0, [r7, #4] + 8019100: 460b mov r3, r1 + 8019102: 70fb strb r3, [r7, #3] PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData; - 8018734: 687b ldr r3, [r7, #4] - 8018736: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 - 801873a: 60fb str r3, [r7, #12] + 8019104: 687b ldr r3, [r7, #4] + 8019106: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 + 801910a: 60fb str r3, [r7, #12] if((ep_addr & 0x80) == 0x80) - 801873c: f997 3003 ldrsb.w r3, [r7, #3] - 8018740: 2b00 cmp r3, #0 - 8018742: da0b bge.n 801875c + 801910c: f997 3003 ldrsb.w r3, [r7, #3] + 8019110: 2b00 cmp r3, #0 + 8019112: da0b bge.n 801912c { return hpcd->IN_ep[ep_addr & 0x7F].is_stall; - 8018744: 78fb ldrb r3, [r7, #3] - 8018746: f003 027f and.w r2, r3, #127 @ 0x7f - 801874a: 68f9 ldr r1, [r7, #12] - 801874c: 4613 mov r3, r2 - 801874e: 009b lsls r3, r3, #2 - 8018750: 4413 add r3, r2 - 8018752: 00db lsls r3, r3, #3 - 8018754: 440b add r3, r1 - 8018756: 3312 adds r3, #18 - 8018758: 781b ldrb r3, [r3, #0] - 801875a: e00b b.n 8018774 + 8019114: 78fb ldrb r3, [r7, #3] + 8019116: f003 027f and.w r2, r3, #127 @ 0x7f + 801911a: 68f9 ldr r1, [r7, #12] + 801911c: 4613 mov r3, r2 + 801911e: 009b lsls r3, r3, #2 + 8019120: 4413 add r3, r2 + 8019122: 00db lsls r3, r3, #3 + 8019124: 440b add r3, r1 + 8019126: 3312 adds r3, #18 + 8019128: 781b ldrb r3, [r3, #0] + 801912a: e00b b.n 8019144 } else { return hpcd->OUT_ep[ep_addr & 0x7F].is_stall; - 801875c: 78fb ldrb r3, [r7, #3] - 801875e: f003 027f and.w r2, r3, #127 @ 0x7f - 8018762: 68f9 ldr r1, [r7, #12] - 8018764: 4613 mov r3, r2 - 8018766: 009b lsls r3, r3, #2 - 8018768: 4413 add r3, r2 - 801876a: 00db lsls r3, r3, #3 - 801876c: 440b add r3, r1 - 801876e: f503 73a9 add.w r3, r3, #338 @ 0x152 - 8018772: 781b ldrb r3, [r3, #0] + 801912c: 78fb ldrb r3, [r7, #3] + 801912e: f003 027f and.w r2, r3, #127 @ 0x7f + 8019132: 68f9 ldr r1, [r7, #12] + 8019134: 4613 mov r3, r2 + 8019136: 009b lsls r3, r3, #2 + 8019138: 4413 add r3, r2 + 801913a: 00db lsls r3, r3, #3 + 801913c: 440b add r3, r1 + 801913e: f503 73a9 add.w r3, r3, #338 @ 0x152 + 8019142: 781b ldrb r3, [r3, #0] } } - 8018774: 4618 mov r0, r3 - 8018776: 3714 adds r7, #20 - 8018778: 46bd mov sp, r7 - 801877a: f85d 7b04 ldr.w r7, [sp], #4 - 801877e: 4770 bx lr + 8019144: 4618 mov r0, r3 + 8019146: 3714 adds r7, #20 + 8019148: 46bd mov sp, r7 + 801914a: f85d 7b04 ldr.w r7, [sp], #4 + 801914e: 4770 bx lr -08018780 : +08019150 : * @param pdev: Device handle * @param dev_addr: Device address * @retval USBD status */ USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr) { - 8018780: b580 push {r7, lr} - 8018782: b084 sub sp, #16 - 8018784: af00 add r7, sp, #0 - 8018786: 6078 str r0, [r7, #4] - 8018788: 460b mov r3, r1 - 801878a: 70fb strb r3, [r7, #3] + 8019150: b580 push {r7, lr} + 8019152: b084 sub sp, #16 + 8019154: af00 add r7, sp, #0 + 8019156: 6078 str r0, [r7, #4] + 8019158: 460b mov r3, r1 + 801915a: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; - 801878c: 2300 movs r3, #0 - 801878e: 73fb strb r3, [r7, #15] + 801915c: 2300 movs r3, #0 + 801915e: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; - 8018790: 2300 movs r3, #0 - 8018792: 73bb strb r3, [r7, #14] + 8019160: 2300 movs r3, #0 + 8019162: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr); - 8018794: 687b ldr r3, [r7, #4] - 8018796: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 - 801879a: 78fa ldrb r2, [r7, #3] - 801879c: 4611 mov r1, r2 - 801879e: 4618 mov r0, r3 - 80187a0: f7f0 fdc7 bl 8009332 - 80187a4: 4603 mov r3, r0 - 80187a6: 73fb strb r3, [r7, #15] + 8019164: 687b ldr r3, [r7, #4] + 8019166: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 + 801916a: 78fa ldrb r2, [r7, #3] + 801916c: 4611 mov r1, r2 + 801916e: 4618 mov r0, r3 + 8019170: f7f0 fbbb bl 80098ea + 8019174: 4603 mov r3, r0 + 8019176: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); - 80187a8: 7bfb ldrb r3, [r7, #15] - 80187aa: 4618 mov r0, r3 - 80187ac: f000 f8b0 bl 8018910 - 80187b0: 4603 mov r3, r0 - 80187b2: 73bb strb r3, [r7, #14] + 8019178: 7bfb ldrb r3, [r7, #15] + 801917a: 4618 mov r0, r3 + 801917c: f000 f8b0 bl 80192e0 + 8019180: 4603 mov r3, r0 + 8019182: 73bb strb r3, [r7, #14] return usb_status; - 80187b4: 7bbb ldrb r3, [r7, #14] + 8019184: 7bbb ldrb r3, [r7, #14] } - 80187b6: 4618 mov r0, r3 - 80187b8: 3710 adds r7, #16 - 80187ba: 46bd mov sp, r7 - 80187bc: bd80 pop {r7, pc} + 8019186: 4618 mov r0, r3 + 8019188: 3710 adds r7, #16 + 801918a: 46bd mov sp, r7 + 801918c: bd80 pop {r7, pc} -080187be : +0801918e : * @param pbuf: Pointer to data to be sent * @param size: Data size * @retval USBD status */ USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint32_t size) { - 80187be: b580 push {r7, lr} - 80187c0: b086 sub sp, #24 - 80187c2: af00 add r7, sp, #0 - 80187c4: 60f8 str r0, [r7, #12] - 80187c6: 607a str r2, [r7, #4] - 80187c8: 603b str r3, [r7, #0] - 80187ca: 460b mov r3, r1 - 80187cc: 72fb strb r3, [r7, #11] + 801918e: b580 push {r7, lr} + 8019190: b086 sub sp, #24 + 8019192: af00 add r7, sp, #0 + 8019194: 60f8 str r0, [r7, #12] + 8019196: 607a str r2, [r7, #4] + 8019198: 603b str r3, [r7, #0] + 801919a: 460b mov r3, r1 + 801919c: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; - 80187ce: 2300 movs r3, #0 - 80187d0: 75fb strb r3, [r7, #23] + 801919e: 2300 movs r3, #0 + 80191a0: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; - 80187d2: 2300 movs r3, #0 - 80187d4: 75bb strb r3, [r7, #22] + 80191a2: 2300 movs r3, #0 + 80191a4: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size); - 80187d6: 68fb ldr r3, [r7, #12] - 80187d8: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 - 80187dc: 7af9 ldrb r1, [r7, #11] - 80187de: 683b ldr r3, [r7, #0] - 80187e0: 687a ldr r2, [r7, #4] - 80187e2: f7f0 feba bl 800955a - 80187e6: 4603 mov r3, r0 - 80187e8: 75fb strb r3, [r7, #23] + 80191a6: 68fb ldr r3, [r7, #12] + 80191a8: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 + 80191ac: 7af9 ldrb r1, [r7, #11] + 80191ae: 683b ldr r3, [r7, #0] + 80191b0: 687a ldr r2, [r7, #4] + 80191b2: f7f0 fcae bl 8009b12 + 80191b6: 4603 mov r3, r0 + 80191b8: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); - 80187ea: 7dfb ldrb r3, [r7, #23] - 80187ec: 4618 mov r0, r3 - 80187ee: f000 f88f bl 8018910 - 80187f2: 4603 mov r3, r0 - 80187f4: 75bb strb r3, [r7, #22] + 80191ba: 7dfb ldrb r3, [r7, #23] + 80191bc: 4618 mov r0, r3 + 80191be: f000 f88f bl 80192e0 + 80191c2: 4603 mov r3, r0 + 80191c4: 75bb strb r3, [r7, #22] return usb_status; - 80187f6: 7dbb ldrb r3, [r7, #22] + 80191c6: 7dbb ldrb r3, [r7, #22] } - 80187f8: 4618 mov r0, r3 - 80187fa: 3718 adds r7, #24 - 80187fc: 46bd mov sp, r7 - 80187fe: bd80 pop {r7, pc} + 80191c8: 4618 mov r0, r3 + 80191ca: 3718 adds r7, #24 + 80191cc: 46bd mov sp, r7 + 80191ce: bd80 pop {r7, pc} -08018800 : +080191d0 : * @param pbuf: Pointer to data to be received * @param size: Data size * @retval USBD status */ USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint32_t size) { - 8018800: b580 push {r7, lr} - 8018802: b086 sub sp, #24 - 8018804: af00 add r7, sp, #0 - 8018806: 60f8 str r0, [r7, #12] - 8018808: 607a str r2, [r7, #4] - 801880a: 603b str r3, [r7, #0] - 801880c: 460b mov r3, r1 - 801880e: 72fb strb r3, [r7, #11] + 80191d0: b580 push {r7, lr} + 80191d2: b086 sub sp, #24 + 80191d4: af00 add r7, sp, #0 + 80191d6: 60f8 str r0, [r7, #12] + 80191d8: 607a str r2, [r7, #4] + 80191da: 603b str r3, [r7, #0] + 80191dc: 460b mov r3, r1 + 80191de: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; - 8018810: 2300 movs r3, #0 - 8018812: 75fb strb r3, [r7, #23] + 80191e0: 2300 movs r3, #0 + 80191e2: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; - 8018814: 2300 movs r3, #0 - 8018816: 75bb strb r3, [r7, #22] + 80191e4: 2300 movs r3, #0 + 80191e6: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size); - 8018818: 68fb ldr r3, [r7, #12] - 801881a: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 - 801881e: 7af9 ldrb r1, [r7, #11] - 8018820: 683b ldr r3, [r7, #0] - 8018822: 687a ldr r2, [r7, #4] - 8018824: f7f0 fe50 bl 80094c8 - 8018828: 4603 mov r3, r0 - 801882a: 75fb strb r3, [r7, #23] + 80191e8: 68fb ldr r3, [r7, #12] + 80191ea: f8d3 02c8 ldr.w r0, [r3, #712] @ 0x2c8 + 80191ee: 7af9 ldrb r1, [r7, #11] + 80191f0: 683b ldr r3, [r7, #0] + 80191f2: 687a ldr r2, [r7, #4] + 80191f4: f7f0 fc44 bl 8009a80 + 80191f8: 4603 mov r3, r0 + 80191fa: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); - 801882c: 7dfb ldrb r3, [r7, #23] - 801882e: 4618 mov r0, r3 - 8018830: f000 f86e bl 8018910 - 8018834: 4603 mov r3, r0 - 8018836: 75bb strb r3, [r7, #22] + 80191fc: 7dfb ldrb r3, [r7, #23] + 80191fe: 4618 mov r0, r3 + 8019200: f000 f86e bl 80192e0 + 8019204: 4603 mov r3, r0 + 8019206: 75bb strb r3, [r7, #22] return usb_status; - 8018838: 7dbb ldrb r3, [r7, #22] + 8019208: 7dbb ldrb r3, [r7, #22] } - 801883a: 4618 mov r0, r3 - 801883c: 3718 adds r7, #24 - 801883e: 46bd mov sp, r7 - 8018840: bd80 pop {r7, pc} + 801920a: 4618 mov r0, r3 + 801920c: 3718 adds r7, #24 + 801920e: 46bd mov sp, r7 + 8019210: bd80 pop {r7, pc} -08018842 : +08019212 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval Received Data Size */ uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { - 8018842: b580 push {r7, lr} - 8018844: b082 sub sp, #8 - 8018846: af00 add r7, sp, #0 - 8018848: 6078 str r0, [r7, #4] - 801884a: 460b mov r3, r1 - 801884c: 70fb strb r3, [r7, #3] + 8019212: b580 push {r7, lr} + 8019214: b082 sub sp, #8 + 8019216: af00 add r7, sp, #0 + 8019218: 6078 str r0, [r7, #4] + 801921a: 460b mov r3, r1 + 801921c: 70fb strb r3, [r7, #3] return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr); - 801884e: 687b ldr r3, [r7, #4] - 8018850: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 - 8018854: 78fa ldrb r2, [r7, #3] - 8018856: 4611 mov r1, r2 - 8018858: 4618 mov r0, r3 - 801885a: f7f0 fe66 bl 800952a - 801885e: 4603 mov r3, r0 + 801921e: 687b ldr r3, [r7, #4] + 8019220: f8d3 32c8 ldr.w r3, [r3, #712] @ 0x2c8 + 8019224: 78fa ldrb r2, [r7, #3] + 8019226: 4611 mov r1, r2 + 8019228: 4618 mov r0, r3 + 801922a: f7f0 fc5a bl 8009ae2 + 801922e: 4603 mov r3, r0 } - 8018860: 4618 mov r0, r3 - 8018862: 3708 adds r7, #8 - 8018864: 46bd mov sp, r7 - 8018866: bd80 pop {r7, pc} + 8019230: 4618 mov r0, r3 + 8019232: 3708 adds r7, #8 + 8019234: 46bd mov sp, r7 + 8019236: bd80 pop {r7, pc} -08018868 : +08019238 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) #else void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { - 8018868: b580 push {r7, lr} - 801886a: b082 sub sp, #8 - 801886c: af00 add r7, sp, #0 - 801886e: 6078 str r0, [r7, #4] - 8018870: 460b mov r3, r1 - 8018872: 70fb strb r3, [r7, #3] + 8019238: b580 push {r7, lr} + 801923a: b082 sub sp, #8 + 801923c: af00 add r7, sp, #0 + 801923e: 6078 str r0, [r7, #4] + 8019240: 460b mov r3, r1 + 8019242: 70fb strb r3, [r7, #3] /* USER CODE BEGIN LPM_Callback */ switch (msg) - 8018874: 78fb ldrb r3, [r7, #3] - 8018876: 2b00 cmp r3, #0 - 8018878: d002 beq.n 8018880 - 801887a: 2b01 cmp r3, #1 - 801887c: d013 beq.n 80188a6 + 8019244: 78fb ldrb r3, [r7, #3] + 8019246: 2b00 cmp r3, #0 + 8019248: d002 beq.n 8019250 + 801924a: 2b01 cmp r3, #1 + 801924c: d013 beq.n 8019276 SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); } break; } /* USER CODE END LPM_Callback */ } - 801887e: e023 b.n 80188c8 + 801924e: e023 b.n 8019298 if (hpcd->Init.low_power_enable) - 8018880: 687b ldr r3, [r7, #4] - 8018882: 7a5b ldrb r3, [r3, #9] - 8018884: 2b00 cmp r3, #0 - 8018886: d007 beq.n 8018898 + 8019250: 687b ldr r3, [r7, #4] + 8019252: 7a5b ldrb r3, [r3, #9] + 8019254: 2b00 cmp r3, #0 + 8019256: d007 beq.n 8019268 SystemClockConfig_Resume(); - 8018888: f000 f83c bl 8018904 + 8019258: f000 f83c bl 80192d4 SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); - 801888c: 4b10 ldr r3, [pc, #64] @ (80188d0 ) - 801888e: 691b ldr r3, [r3, #16] - 8018890: 4a0f ldr r2, [pc, #60] @ (80188d0 ) - 8018892: f023 0306 bic.w r3, r3, #6 - 8018896: 6113 str r3, [r2, #16] + 801925c: 4b10 ldr r3, [pc, #64] @ (80192a0 ) + 801925e: 691b ldr r3, [r3, #16] + 8019260: 4a0f ldr r2, [pc, #60] @ (80192a0 ) + 8019262: f023 0306 bic.w r3, r3, #6 + 8019266: 6113 str r3, [r2, #16] USBD_LL_Resume(hpcd->pData); - 8018898: 687b ldr r3, [r7, #4] - 801889a: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 - 801889e: 4618 mov r0, r3 - 80188a0: f7f8 fdfa bl 8011498 + 8019268: 687b ldr r3, [r7, #4] + 801926a: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 + 801926e: 4618 mov r0, r3 + 8019270: f7f8 fe10 bl 8011e94 break; - 80188a4: e010 b.n 80188c8 + 8019274: e010 b.n 8019298 USBD_LL_Suspend(hpcd->pData); - 80188a6: 687b ldr r3, [r7, #4] - 80188a8: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 - 80188ac: 4618 mov r0, r3 - 80188ae: f7f8 fdd7 bl 8011460 + 8019276: 687b ldr r3, [r7, #4] + 8019278: f8d3 32d8 ldr.w r3, [r3, #728] @ 0x2d8 + 801927c: 4618 mov r0, r3 + 801927e: f7f8 fded bl 8011e5c if (hpcd->Init.low_power_enable) - 80188b2: 687b ldr r3, [r7, #4] - 80188b4: 7a5b ldrb r3, [r3, #9] - 80188b6: 2b00 cmp r3, #0 - 80188b8: d005 beq.n 80188c6 + 8019282: 687b ldr r3, [r7, #4] + 8019284: 7a5b ldrb r3, [r3, #9] + 8019286: 2b00 cmp r3, #0 + 8019288: d005 beq.n 8019296 SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); - 80188ba: 4b05 ldr r3, [pc, #20] @ (80188d0 ) - 80188bc: 691b ldr r3, [r3, #16] - 80188be: 4a04 ldr r2, [pc, #16] @ (80188d0 ) - 80188c0: f043 0306 orr.w r3, r3, #6 - 80188c4: 6113 str r3, [r2, #16] + 801928a: 4b05 ldr r3, [pc, #20] @ (80192a0 ) + 801928c: 691b ldr r3, [r3, #16] + 801928e: 4a04 ldr r2, [pc, #16] @ (80192a0 ) + 8019290: f043 0306 orr.w r3, r3, #6 + 8019294: 6113 str r3, [r2, #16] break; - 80188c6: bf00 nop + 8019296: bf00 nop } - 80188c8: bf00 nop - 80188ca: 3708 adds r7, #8 - 80188cc: 46bd mov sp, r7 - 80188ce: bd80 pop {r7, pc} - 80188d0: e000ed00 .word 0xe000ed00 + 8019298: bf00 nop + 801929a: 3708 adds r7, #8 + 801929c: 46bd mov sp, r7 + 801929e: bd80 pop {r7, pc} + 80192a0: e000ed00 .word 0xe000ed00 -080188d4 : +080192a4 : * @brief Static single allocation. * @param size: Size of allocated memory * @retval None */ void *USBD_static_malloc(uint32_t size) { - 80188d4: b480 push {r7} - 80188d6: b083 sub sp, #12 - 80188d8: af00 add r7, sp, #0 - 80188da: 6078 str r0, [r7, #4] + 80192a4: b480 push {r7} + 80192a6: b083 sub sp, #12 + 80192a8: af00 add r7, sp, #0 + 80192aa: 6078 str r0, [r7, #4] UNUSED(size); static uint32_t mem[(sizeof(USBD_CDC_HandleTypeDef)/4)+1];/* On 32-bit boundary */ return mem; - 80188dc: 4b03 ldr r3, [pc, #12] @ (80188ec ) + 80192ac: 4b03 ldr r3, [pc, #12] @ (80192bc ) } - 80188de: 4618 mov r0, r3 - 80188e0: 370c adds r7, #12 - 80188e2: 46bd mov sp, r7 - 80188e4: f85d 7b04 ldr.w r7, [sp], #4 - 80188e8: 4770 bx lr - 80188ea: bf00 nop - 80188ec: 200138d4 .word 0x200138d4 + 80192ae: 4618 mov r0, r3 + 80192b0: 370c adds r7, #12 + 80192b2: 46bd mov sp, r7 + 80192b4: f85d 7b04 ldr.w r7, [sp], #4 + 80192b8: 4770 bx lr + 80192ba: bf00 nop + 80192bc: 20013974 .word 0x20013974 -080188f0 : +080192c0 : * @brief Dummy memory free * @param p: Pointer to allocated memory address * @retval None */ void USBD_static_free(void *p) { - 80188f0: b480 push {r7} - 80188f2: b083 sub sp, #12 - 80188f4: af00 add r7, sp, #0 - 80188f6: 6078 str r0, [r7, #4] + 80192c0: b480 push {r7} + 80192c2: b083 sub sp, #12 + 80192c4: af00 add r7, sp, #0 + 80192c6: 6078 str r0, [r7, #4] UNUSED(p); } - 80188f8: bf00 nop - 80188fa: 370c adds r7, #12 - 80188fc: 46bd mov sp, r7 - 80188fe: f85d 7b04 ldr.w r7, [sp], #4 - 8018902: 4770 bx lr + 80192c8: bf00 nop + 80192ca: 370c adds r7, #12 + 80192cc: 46bd mov sp, r7 + 80192ce: f85d 7b04 ldr.w r7, [sp], #4 + 80192d2: 4770 bx lr -08018904 : +080192d4 : * @brief Configures system clock after wake-up from USB resume callBack: * enable HSI, PLL and select PLL as system clock source. * @retval None */ static void SystemClockConfig_Resume(void) { - 8018904: b580 push {r7, lr} - 8018906: af00 add r7, sp, #0 + 80192d4: b580 push {r7, lr} + 80192d6: af00 add r7, sp, #0 SystemClock_Config(); - 8018908: f7eb ff96 bl 8004838 + 80192d8: f7eb fb3a bl 8004950 } - 801890c: bf00 nop - 801890e: bd80 pop {r7, pc} + 80192dc: bf00 nop + 80192de: bd80 pop {r7, pc} -08018910 : +080192e0 : * @brief Returns the USB status depending on the HAL status: * @param hal_status: HAL status * @retval USB status */ USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status) { - 8018910: b480 push {r7} - 8018912: b085 sub sp, #20 - 8018914: af00 add r7, sp, #0 - 8018916: 4603 mov r3, r0 - 8018918: 71fb strb r3, [r7, #7] + 80192e0: b480 push {r7} + 80192e2: b085 sub sp, #20 + 80192e4: af00 add r7, sp, #0 + 80192e6: 4603 mov r3, r0 + 80192e8: 71fb strb r3, [r7, #7] USBD_StatusTypeDef usb_status = USBD_OK; - 801891a: 2300 movs r3, #0 - 801891c: 73fb strb r3, [r7, #15] + 80192ea: 2300 movs r3, #0 + 80192ec: 73fb strb r3, [r7, #15] switch (hal_status) - 801891e: 79fb ldrb r3, [r7, #7] - 8018920: 2b03 cmp r3, #3 - 8018922: d817 bhi.n 8018954 - 8018924: a201 add r2, pc, #4 @ (adr r2, 801892c ) - 8018926: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 801892a: bf00 nop - 801892c: 0801893d .word 0x0801893d - 8018930: 08018943 .word 0x08018943 - 8018934: 08018949 .word 0x08018949 - 8018938: 0801894f .word 0x0801894f + 80192ee: 79fb ldrb r3, [r7, #7] + 80192f0: 2b03 cmp r3, #3 + 80192f2: d817 bhi.n 8019324 + 80192f4: a201 add r2, pc, #4 @ (adr r2, 80192fc ) + 80192f6: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 80192fa: bf00 nop + 80192fc: 0801930d .word 0x0801930d + 8019300: 08019313 .word 0x08019313 + 8019304: 08019319 .word 0x08019319 + 8019308: 0801931f .word 0x0801931f { case HAL_OK : usb_status = USBD_OK; - 801893c: 2300 movs r3, #0 - 801893e: 73fb strb r3, [r7, #15] + 801930c: 2300 movs r3, #0 + 801930e: 73fb strb r3, [r7, #15] break; - 8018940: e00b b.n 801895a + 8019310: e00b b.n 801932a case HAL_ERROR : usb_status = USBD_FAIL; - 8018942: 2303 movs r3, #3 - 8018944: 73fb strb r3, [r7, #15] + 8019312: 2303 movs r3, #3 + 8019314: 73fb strb r3, [r7, #15] break; - 8018946: e008 b.n 801895a + 8019316: e008 b.n 801932a case HAL_BUSY : usb_status = USBD_BUSY; - 8018948: 2301 movs r3, #1 - 801894a: 73fb strb r3, [r7, #15] + 8019318: 2301 movs r3, #1 + 801931a: 73fb strb r3, [r7, #15] break; - 801894c: e005 b.n 801895a + 801931c: e005 b.n 801932a case HAL_TIMEOUT : usb_status = USBD_FAIL; - 801894e: 2303 movs r3, #3 - 8018950: 73fb strb r3, [r7, #15] + 801931e: 2303 movs r3, #3 + 8019320: 73fb strb r3, [r7, #15] break; - 8018952: e002 b.n 801895a + 8019322: e002 b.n 801932a default : usb_status = USBD_FAIL; - 8018954: 2303 movs r3, #3 - 8018956: 73fb strb r3, [r7, #15] + 8019324: 2303 movs r3, #3 + 8019326: 73fb strb r3, [r7, #15] break; - 8018958: bf00 nop + 8019328: bf00 nop } return usb_status; - 801895a: 7bfb ldrb r3, [r7, #15] + 801932a: 7bfb ldrb r3, [r7, #15] } - 801895c: 4618 mov r0, r3 - 801895e: 3714 adds r7, #20 - 8018960: 46bd mov sp, r7 - 8018962: f85d 7b04 ldr.w r7, [sp], #4 - 8018966: 4770 bx lr + 801932c: 4618 mov r0, r3 + 801932e: 3714 adds r7, #20 + 8019330: 46bd mov sp, r7 + 8019332: f85d 7b04 ldr.w r7, [sp], #4 + 8019336: 4770 bx lr -08018968 : +08019338 : /** @addtogroup TINY_LPM_Exported_function * @{ */ void UTIL_LPM_Init( void ) { - 8018968: b480 push {r7} - 801896a: af00 add r7, sp, #0 + 8019338: b480 push {r7} + 801933a: af00 add r7, sp, #0 StopModeDisable = UTIL_LPM_NO_BIT_SET; - 801896c: 4b05 ldr r3, [pc, #20] @ (8018984 ) - 801896e: 2200 movs r2, #0 - 8018970: 601a str r2, [r3, #0] + 801933c: 4b05 ldr r3, [pc, #20] @ (8019354 ) + 801933e: 2200 movs r2, #0 + 8019340: 601a str r2, [r3, #0] OffModeDisable = UTIL_LPM_NO_BIT_SET; - 8018972: 4b05 ldr r3, [pc, #20] @ (8018988 ) - 8018974: 2200 movs r2, #0 - 8018976: 601a str r2, [r3, #0] + 8019342: 4b05 ldr r3, [pc, #20] @ (8019358 ) + 8019344: 2200 movs r2, #0 + 8019346: 601a str r2, [r3, #0] UTIL_LPM_INIT_CRITICAL_SECTION( ); } - 8018978: bf00 nop - 801897a: 46bd mov sp, r7 - 801897c: f85d 7b04 ldr.w r7, [sp], #4 - 8018980: 4770 bx lr - 8018982: bf00 nop - 8018984: 20013af4 .word 0x20013af4 - 8018988: 20013af8 .word 0x20013af8 + 8019348: bf00 nop + 801934a: 46bd mov sp, r7 + 801934c: f85d 7b04 ldr.w r7, [sp], #4 + 8019350: 4770 bx lr + 8019352: bf00 nop + 8019354: 20013b94 .word 0x20013b94 + 8019358: 20013b98 .word 0x20013b98 -0801898c : +0801935c : UTIL_LPM_EXIT_CRITICAL_SECTION( ); } void UTIL_LPM_SetOffMode( UTIL_LPM_bm_t lpm_id_bm, UTIL_LPM_State_t state ) { - 801898c: b480 push {r7} - 801898e: b087 sub sp, #28 - 8018990: af00 add r7, sp, #0 - 8018992: 6078 str r0, [r7, #4] - 8018994: 460b mov r3, r1 - 8018996: 70fb strb r3, [r7, #3] + 801935c: b480 push {r7} + 801935e: b087 sub sp, #28 + 8019360: af00 add r7, sp, #0 + 8019362: 6078 str r0, [r7, #4] + 8019364: 460b mov r3, r1 + 8019366: 70fb strb r3, [r7, #3] __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 8018998: f3ef 8310 mrs r3, PRIMASK - 801899c: 613b str r3, [r7, #16] + 8019368: f3ef 8310 mrs r3, PRIMASK + 801936c: 613b str r3, [r7, #16] return(result); - 801899e: 693b ldr r3, [r7, #16] + 801936e: 693b ldr r3, [r7, #16] UTIL_LPM_ENTER_CRITICAL_SECTION( ); - 80189a0: 617b str r3, [r7, #20] + 8019370: 617b str r3, [r7, #20] __ASM volatile ("cpsid i" : : : "memory"); - 80189a2: b672 cpsid i + 8019372: b672 cpsid i } - 80189a4: bf00 nop + 8019374: bf00 nop switch(state) - 80189a6: 78fb ldrb r3, [r7, #3] - 80189a8: 2b00 cmp r3, #0 - 80189aa: d008 beq.n 80189be - 80189ac: 2b01 cmp r3, #1 - 80189ae: d10e bne.n 80189ce + 8019376: 78fb ldrb r3, [r7, #3] + 8019378: 2b00 cmp r3, #0 + 801937a: d008 beq.n 801938e + 801937c: 2b01 cmp r3, #1 + 801937e: d10e bne.n 801939e { case UTIL_LPM_DISABLE: { OffModeDisable |= lpm_id_bm; - 80189b0: 4b0d ldr r3, [pc, #52] @ (80189e8 ) - 80189b2: 681a ldr r2, [r3, #0] - 80189b4: 687b ldr r3, [r7, #4] - 80189b6: 4313 orrs r3, r2 - 80189b8: 4a0b ldr r2, [pc, #44] @ (80189e8 ) - 80189ba: 6013 str r3, [r2, #0] + 8019380: 4b0d ldr r3, [pc, #52] @ (80193b8 ) + 8019382: 681a ldr r2, [r3, #0] + 8019384: 687b ldr r3, [r7, #4] + 8019386: 4313 orrs r3, r2 + 8019388: 4a0b ldr r2, [pc, #44] @ (80193b8 ) + 801938a: 6013 str r3, [r2, #0] break; - 80189bc: e008 b.n 80189d0 + 801938c: e008 b.n 80193a0 } case UTIL_LPM_ENABLE: { OffModeDisable &= ( ~lpm_id_bm ); - 80189be: 687b ldr r3, [r7, #4] - 80189c0: 43da mvns r2, r3 - 80189c2: 4b09 ldr r3, [pc, #36] @ (80189e8 ) - 80189c4: 681b ldr r3, [r3, #0] - 80189c6: 4013 ands r3, r2 - 80189c8: 4a07 ldr r2, [pc, #28] @ (80189e8 ) - 80189ca: 6013 str r3, [r2, #0] + 801938e: 687b ldr r3, [r7, #4] + 8019390: 43da mvns r2, r3 + 8019392: 4b09 ldr r3, [pc, #36] @ (80193b8 ) + 8019394: 681b ldr r3, [r3, #0] + 8019396: 4013 ands r3, r2 + 8019398: 4a07 ldr r2, [pc, #28] @ (80193b8 ) + 801939a: 6013 str r3, [r2, #0] break; - 80189cc: e000 b.n 80189d0 + 801939c: e000 b.n 80193a0 } default : { break; - 80189ce: bf00 nop - 80189d0: 697b ldr r3, [r7, #20] - 80189d2: 60fb str r3, [r7, #12] + 801939e: bf00 nop + 80193a0: 697b ldr r3, [r7, #20] + 80193a2: 60fb str r3, [r7, #12] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 80189d4: 68fb ldr r3, [r7, #12] - 80189d6: f383 8810 msr PRIMASK, r3 + 80193a4: 68fb ldr r3, [r7, #12] + 80193a6: f383 8810 msr PRIMASK, r3 } - 80189da: bf00 nop + 80193aa: bf00 nop } } UTIL_LPM_EXIT_CRITICAL_SECTION( ); } - 80189dc: bf00 nop - 80189de: 371c adds r7, #28 - 80189e0: 46bd mov sp, r7 - 80189e2: f85d 7b04 ldr.w r7, [sp], #4 - 80189e6: 4770 bx lr - 80189e8: 20013af8 .word 0x20013af8 + 80193ac: bf00 nop + 80193ae: 371c adds r7, #28 + 80193b0: 46bd mov sp, r7 + 80193b2: f85d 7b04 ldr.w r7, [sp], #4 + 80193b6: 4770 bx lr + 80193b8: 20013b98 .word 0x20013b98 -080189ec <__cvt>: - 80189ec: e92d 47ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, lr} - 80189f0: ec57 6b10 vmov r6, r7, d0 - 80189f4: 2f00 cmp r7, #0 - 80189f6: 460c mov r4, r1 - 80189f8: 4619 mov r1, r3 - 80189fa: 463b mov r3, r7 - 80189fc: bfbb ittet lt - 80189fe: f107 4300 addlt.w r3, r7, #2147483648 @ 0x80000000 - 8018a02: 461f movlt r7, r3 - 8018a04: 2300 movge r3, #0 - 8018a06: 232d movlt r3, #45 @ 0x2d - 8018a08: 700b strb r3, [r1, #0] - 8018a0a: 9b0d ldr r3, [sp, #52] @ 0x34 - 8018a0c: f8dd a030 ldr.w sl, [sp, #48] @ 0x30 - 8018a10: 4691 mov r9, r2 - 8018a12: f023 0820 bic.w r8, r3, #32 - 8018a16: bfbc itt lt - 8018a18: 4632 movlt r2, r6 - 8018a1a: 4616 movlt r6, r2 - 8018a1c: f1b8 0f46 cmp.w r8, #70 @ 0x46 - 8018a20: d005 beq.n 8018a2e <__cvt+0x42> - 8018a22: f1b8 0f45 cmp.w r8, #69 @ 0x45 - 8018a26: d100 bne.n 8018a2a <__cvt+0x3e> - 8018a28: 3401 adds r4, #1 - 8018a2a: 2102 movs r1, #2 - 8018a2c: e000 b.n 8018a30 <__cvt+0x44> - 8018a2e: 2103 movs r1, #3 - 8018a30: ab03 add r3, sp, #12 - 8018a32: 9301 str r3, [sp, #4] - 8018a34: ab02 add r3, sp, #8 - 8018a36: 9300 str r3, [sp, #0] - 8018a38: ec47 6b10 vmov d0, r6, r7 - 8018a3c: 4653 mov r3, sl - 8018a3e: 4622 mov r2, r4 - 8018a40: f001 f986 bl 8019d50 <_dtoa_r> - 8018a44: f1b8 0f47 cmp.w r8, #71 @ 0x47 - 8018a48: 4605 mov r5, r0 - 8018a4a: d119 bne.n 8018a80 <__cvt+0x94> - 8018a4c: f019 0f01 tst.w r9, #1 - 8018a50: d00e beq.n 8018a70 <__cvt+0x84> - 8018a52: eb00 0904 add.w r9, r0, r4 - 8018a56: 2200 movs r2, #0 - 8018a58: 2300 movs r3, #0 - 8018a5a: 4630 mov r0, r6 - 8018a5c: 4639 mov r1, r7 - 8018a5e: f7e8 f80b bl 8000a78 <__aeabi_dcmpeq> - 8018a62: b108 cbz r0, 8018a68 <__cvt+0x7c> - 8018a64: f8cd 900c str.w r9, [sp, #12] - 8018a68: 2230 movs r2, #48 @ 0x30 - 8018a6a: 9b03 ldr r3, [sp, #12] - 8018a6c: 454b cmp r3, r9 - 8018a6e: d31e bcc.n 8018aae <__cvt+0xc2> - 8018a70: 9b03 ldr r3, [sp, #12] - 8018a72: 9a0e ldr r2, [sp, #56] @ 0x38 - 8018a74: 1b5b subs r3, r3, r5 - 8018a76: 4628 mov r0, r5 - 8018a78: 6013 str r3, [r2, #0] - 8018a7a: b004 add sp, #16 - 8018a7c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8018a80: f1b8 0f46 cmp.w r8, #70 @ 0x46 - 8018a84: eb00 0904 add.w r9, r0, r4 - 8018a88: d1e5 bne.n 8018a56 <__cvt+0x6a> - 8018a8a: 7803 ldrb r3, [r0, #0] - 8018a8c: 2b30 cmp r3, #48 @ 0x30 - 8018a8e: d10a bne.n 8018aa6 <__cvt+0xba> - 8018a90: 2200 movs r2, #0 - 8018a92: 2300 movs r3, #0 - 8018a94: 4630 mov r0, r6 - 8018a96: 4639 mov r1, r7 - 8018a98: f7e7 ffee bl 8000a78 <__aeabi_dcmpeq> - 8018a9c: b918 cbnz r0, 8018aa6 <__cvt+0xba> - 8018a9e: f1c4 0401 rsb r4, r4, #1 - 8018aa2: f8ca 4000 str.w r4, [sl] - 8018aa6: f8da 3000 ldr.w r3, [sl] - 8018aaa: 4499 add r9, r3 - 8018aac: e7d3 b.n 8018a56 <__cvt+0x6a> - 8018aae: 1c59 adds r1, r3, #1 - 8018ab0: 9103 str r1, [sp, #12] - 8018ab2: 701a strb r2, [r3, #0] - 8018ab4: e7d9 b.n 8018a6a <__cvt+0x7e> +080193bc <__cvt>: + 80193bc: e92d 47ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, lr} + 80193c0: ec57 6b10 vmov r6, r7, d0 + 80193c4: 2f00 cmp r7, #0 + 80193c6: 460c mov r4, r1 + 80193c8: 4619 mov r1, r3 + 80193ca: 463b mov r3, r7 + 80193cc: bfbb ittet lt + 80193ce: f107 4300 addlt.w r3, r7, #2147483648 @ 0x80000000 + 80193d2: 461f movlt r7, r3 + 80193d4: 2300 movge r3, #0 + 80193d6: 232d movlt r3, #45 @ 0x2d + 80193d8: 700b strb r3, [r1, #0] + 80193da: 9b0d ldr r3, [sp, #52] @ 0x34 + 80193dc: f8dd a030 ldr.w sl, [sp, #48] @ 0x30 + 80193e0: 4691 mov r9, r2 + 80193e2: f023 0820 bic.w r8, r3, #32 + 80193e6: bfbc itt lt + 80193e8: 4632 movlt r2, r6 + 80193ea: 4616 movlt r6, r2 + 80193ec: f1b8 0f46 cmp.w r8, #70 @ 0x46 + 80193f0: d005 beq.n 80193fe <__cvt+0x42> + 80193f2: f1b8 0f45 cmp.w r8, #69 @ 0x45 + 80193f6: d100 bne.n 80193fa <__cvt+0x3e> + 80193f8: 3401 adds r4, #1 + 80193fa: 2102 movs r1, #2 + 80193fc: e000 b.n 8019400 <__cvt+0x44> + 80193fe: 2103 movs r1, #3 + 8019400: ab03 add r3, sp, #12 + 8019402: 9301 str r3, [sp, #4] + 8019404: ab02 add r3, sp, #8 + 8019406: 9300 str r3, [sp, #0] + 8019408: ec47 6b10 vmov d0, r6, r7 + 801940c: 4653 mov r3, sl + 801940e: 4622 mov r2, r4 + 8019410: f001 f8f2 bl 801a5f8 <_dtoa_r> + 8019414: f1b8 0f47 cmp.w r8, #71 @ 0x47 + 8019418: 4605 mov r5, r0 + 801941a: d119 bne.n 8019450 <__cvt+0x94> + 801941c: f019 0f01 tst.w r9, #1 + 8019420: d00e beq.n 8019440 <__cvt+0x84> + 8019422: eb00 0904 add.w r9, r0, r4 + 8019426: 2200 movs r2, #0 + 8019428: 2300 movs r3, #0 + 801942a: 4630 mov r0, r6 + 801942c: 4639 mov r1, r7 + 801942e: f7e7 fb23 bl 8000a78 <__aeabi_dcmpeq> + 8019432: b108 cbz r0, 8019438 <__cvt+0x7c> + 8019434: f8cd 900c str.w r9, [sp, #12] + 8019438: 2230 movs r2, #48 @ 0x30 + 801943a: 9b03 ldr r3, [sp, #12] + 801943c: 454b cmp r3, r9 + 801943e: d31e bcc.n 801947e <__cvt+0xc2> + 8019440: 9b03 ldr r3, [sp, #12] + 8019442: 9a0e ldr r2, [sp, #56] @ 0x38 + 8019444: 1b5b subs r3, r3, r5 + 8019446: 4628 mov r0, r5 + 8019448: 6013 str r3, [r2, #0] + 801944a: b004 add sp, #16 + 801944c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 8019450: f1b8 0f46 cmp.w r8, #70 @ 0x46 + 8019454: eb00 0904 add.w r9, r0, r4 + 8019458: d1e5 bne.n 8019426 <__cvt+0x6a> + 801945a: 7803 ldrb r3, [r0, #0] + 801945c: 2b30 cmp r3, #48 @ 0x30 + 801945e: d10a bne.n 8019476 <__cvt+0xba> + 8019460: 2200 movs r2, #0 + 8019462: 2300 movs r3, #0 + 8019464: 4630 mov r0, r6 + 8019466: 4639 mov r1, r7 + 8019468: f7e7 fb06 bl 8000a78 <__aeabi_dcmpeq> + 801946c: b918 cbnz r0, 8019476 <__cvt+0xba> + 801946e: f1c4 0401 rsb r4, r4, #1 + 8019472: f8ca 4000 str.w r4, [sl] + 8019476: f8da 3000 ldr.w r3, [sl] + 801947a: 4499 add r9, r3 + 801947c: e7d3 b.n 8019426 <__cvt+0x6a> + 801947e: 1c59 adds r1, r3, #1 + 8019480: 9103 str r1, [sp, #12] + 8019482: 701a strb r2, [r3, #0] + 8019484: e7d9 b.n 801943a <__cvt+0x7e> -08018ab6 <__exponent>: - 8018ab6: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 8018ab8: 2900 cmp r1, #0 - 8018aba: bfba itte lt - 8018abc: 4249 neglt r1, r1 - 8018abe: 232d movlt r3, #45 @ 0x2d - 8018ac0: 232b movge r3, #43 @ 0x2b - 8018ac2: 2909 cmp r1, #9 - 8018ac4: 7002 strb r2, [r0, #0] - 8018ac6: 7043 strb r3, [r0, #1] - 8018ac8: dd29 ble.n 8018b1e <__exponent+0x68> - 8018aca: f10d 0407 add.w r4, sp, #7 - 8018ace: 4625 mov r5, r4 - 8018ad0: 270a movs r7, #10 - 8018ad2: 4622 mov r2, r4 - 8018ad4: fbb1 f6f7 udiv r6, r1, r7 - 8018ad8: fb07 1316 mls r3, r7, r6, r1 - 8018adc: 3330 adds r3, #48 @ 0x30 - 8018ade: f802 3c01 strb.w r3, [r2, #-1] - 8018ae2: 460b mov r3, r1 - 8018ae4: 2b63 cmp r3, #99 @ 0x63 - 8018ae6: f104 34ff add.w r4, r4, #4294967295 @ 0xffffffff - 8018aea: 4631 mov r1, r6 - 8018aec: dcf1 bgt.n 8018ad2 <__exponent+0x1c> - 8018aee: 3130 adds r1, #48 @ 0x30 - 8018af0: 1e93 subs r3, r2, #2 - 8018af2: f804 1c01 strb.w r1, [r4, #-1] - 8018af6: 1c41 adds r1, r0, #1 - 8018af8: 461c mov r4, r3 - 8018afa: 42ab cmp r3, r5 - 8018afc: d30a bcc.n 8018b14 <__exponent+0x5e> - 8018afe: f10d 0309 add.w r3, sp, #9 - 8018b02: 1a9b subs r3, r3, r2 - 8018b04: 42a5 cmp r5, r4 - 8018b06: bf38 it cc - 8018b08: 2300 movcc r3, #0 - 8018b0a: 1c82 adds r2, r0, #2 - 8018b0c: 4413 add r3, r2 - 8018b0e: 1a18 subs r0, r3, r0 - 8018b10: b003 add sp, #12 - 8018b12: bdf0 pop {r4, r5, r6, r7, pc} - 8018b14: f813 6b01 ldrb.w r6, [r3], #1 - 8018b18: f801 6f01 strb.w r6, [r1, #1]! - 8018b1c: e7ed b.n 8018afa <__exponent+0x44> - 8018b1e: 2330 movs r3, #48 @ 0x30 - 8018b20: 3130 adds r1, #48 @ 0x30 - 8018b22: 7083 strb r3, [r0, #2] - 8018b24: 70c1 strb r1, [r0, #3] - 8018b26: 1d03 adds r3, r0, #4 - 8018b28: e7f1 b.n 8018b0e <__exponent+0x58> +08019486 <__exponent>: + 8019486: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} + 8019488: 2900 cmp r1, #0 + 801948a: bfba itte lt + 801948c: 4249 neglt r1, r1 + 801948e: 232d movlt r3, #45 @ 0x2d + 8019490: 232b movge r3, #43 @ 0x2b + 8019492: 2909 cmp r1, #9 + 8019494: 7002 strb r2, [r0, #0] + 8019496: 7043 strb r3, [r0, #1] + 8019498: dd29 ble.n 80194ee <__exponent+0x68> + 801949a: f10d 0407 add.w r4, sp, #7 + 801949e: 4625 mov r5, r4 + 80194a0: 270a movs r7, #10 + 80194a2: 4622 mov r2, r4 + 80194a4: fbb1 f6f7 udiv r6, r1, r7 + 80194a8: fb07 1316 mls r3, r7, r6, r1 + 80194ac: 3330 adds r3, #48 @ 0x30 + 80194ae: f802 3c01 strb.w r3, [r2, #-1] + 80194b2: 460b mov r3, r1 + 80194b4: 2b63 cmp r3, #99 @ 0x63 + 80194b6: f104 34ff add.w r4, r4, #4294967295 @ 0xffffffff + 80194ba: 4631 mov r1, r6 + 80194bc: dcf1 bgt.n 80194a2 <__exponent+0x1c> + 80194be: 3130 adds r1, #48 @ 0x30 + 80194c0: 1e93 subs r3, r2, #2 + 80194c2: f804 1c01 strb.w r1, [r4, #-1] + 80194c6: 1c41 adds r1, r0, #1 + 80194c8: 461c mov r4, r3 + 80194ca: 42ab cmp r3, r5 + 80194cc: d30a bcc.n 80194e4 <__exponent+0x5e> + 80194ce: f10d 0309 add.w r3, sp, #9 + 80194d2: 1a9b subs r3, r3, r2 + 80194d4: 42a5 cmp r5, r4 + 80194d6: bf38 it cc + 80194d8: 2300 movcc r3, #0 + 80194da: 1c82 adds r2, r0, #2 + 80194dc: 4413 add r3, r2 + 80194de: 1a18 subs r0, r3, r0 + 80194e0: b003 add sp, #12 + 80194e2: bdf0 pop {r4, r5, r6, r7, pc} + 80194e4: f813 6b01 ldrb.w r6, [r3], #1 + 80194e8: f801 6f01 strb.w r6, [r1, #1]! + 80194ec: e7ed b.n 80194ca <__exponent+0x44> + 80194ee: 2330 movs r3, #48 @ 0x30 + 80194f0: 3130 adds r1, #48 @ 0x30 + 80194f2: 7083 strb r3, [r0, #2] + 80194f4: 70c1 strb r1, [r0, #3] + 80194f6: 1d03 adds r3, r0, #4 + 80194f8: e7f1 b.n 80194de <__exponent+0x58> ... -08018b2c <_printf_float>: - 8018b2c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8018b30: b08d sub sp, #52 @ 0x34 - 8018b32: 460c mov r4, r1 - 8018b34: f8dd 8058 ldr.w r8, [sp, #88] @ 0x58 - 8018b38: 4616 mov r6, r2 - 8018b3a: 461f mov r7, r3 - 8018b3c: 4605 mov r5, r0 - 8018b3e: f000 fff1 bl 8019b24 <_localeconv_r> - 8018b42: 6803 ldr r3, [r0, #0] - 8018b44: 9306 str r3, [sp, #24] - 8018b46: 4618 mov r0, r3 - 8018b48: f7e7 fb6a bl 8000220 - 8018b4c: 2300 movs r3, #0 - 8018b4e: 930a str r3, [sp, #40] @ 0x28 - 8018b50: f8d8 3000 ldr.w r3, [r8] - 8018b54: f894 a018 ldrb.w sl, [r4, #24] - 8018b58: f8d4 b000 ldr.w fp, [r4] - 8018b5c: 9007 str r0, [sp, #28] - 8018b5e: 3307 adds r3, #7 - 8018b60: f023 0307 bic.w r3, r3, #7 - 8018b64: ecb3 7b02 vldmia r3!, {d7} - 8018b68: ed8d 7b04 vstr d7, [sp, #16] - 8018b6c: f8c8 3000 str.w r3, [r8] - 8018b70: e9dd 8304 ldrd r8, r3, [sp, #16] - 8018b74: f023 4900 bic.w r9, r3, #2147483648 @ 0x80000000 - 8018b78: ed84 7b12 vstr d7, [r4, #72] @ 0x48 - 8018b7c: 4b9c ldr r3, [pc, #624] @ (8018df0 <_printf_float+0x2c4>) - 8018b7e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8018b82: 4640 mov r0, r8 - 8018b84: 4649 mov r1, r9 - 8018b86: f7e7 ffa9 bl 8000adc <__aeabi_dcmpun> - 8018b8a: bb70 cbnz r0, 8018bea <_printf_float+0xbe> - 8018b8c: 4b98 ldr r3, [pc, #608] @ (8018df0 <_printf_float+0x2c4>) - 8018b8e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 8018b92: 4640 mov r0, r8 - 8018b94: 4649 mov r1, r9 - 8018b96: f7e7 ff83 bl 8000aa0 <__aeabi_dcmple> - 8018b9a: bb30 cbnz r0, 8018bea <_printf_float+0xbe> - 8018b9c: e9dd 0104 ldrd r0, r1, [sp, #16] - 8018ba0: 2200 movs r2, #0 - 8018ba2: 2300 movs r3, #0 - 8018ba4: f7e7 ff72 bl 8000a8c <__aeabi_dcmplt> - 8018ba8: b110 cbz r0, 8018bb0 <_printf_float+0x84> - 8018baa: 232d movs r3, #45 @ 0x2d - 8018bac: f884 3043 strb.w r3, [r4, #67] @ 0x43 - 8018bb0: 4a90 ldr r2, [pc, #576] @ (8018df4 <_printf_float+0x2c8>) - 8018bb2: 4b91 ldr r3, [pc, #580] @ (8018df8 <_printf_float+0x2cc>) - 8018bb4: f1ba 0f47 cmp.w sl, #71 @ 0x47 - 8018bb8: bf8c ite hi - 8018bba: 4690 movhi r8, r2 - 8018bbc: 4698 movls r8, r3 - 8018bbe: 2303 movs r3, #3 - 8018bc0: 6123 str r3, [r4, #16] - 8018bc2: f02b 0304 bic.w r3, fp, #4 - 8018bc6: 6023 str r3, [r4, #0] - 8018bc8: f04f 0900 mov.w r9, #0 - 8018bcc: 9700 str r7, [sp, #0] - 8018bce: 4633 mov r3, r6 - 8018bd0: aa0b add r2, sp, #44 @ 0x2c - 8018bd2: 4621 mov r1, r4 - 8018bd4: 4628 mov r0, r5 - 8018bd6: f000 f9d1 bl 8018f7c <_printf_common> - 8018bda: 3001 adds r0, #1 - 8018bdc: f040 808c bne.w 8018cf8 <_printf_float+0x1cc> - 8018be0: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 8018be4: b00d add sp, #52 @ 0x34 - 8018be6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8018bea: e9dd 2304 ldrd r2, r3, [sp, #16] - 8018bee: 4610 mov r0, r2 - 8018bf0: 4619 mov r1, r3 - 8018bf2: f7e7 ff73 bl 8000adc <__aeabi_dcmpun> - 8018bf6: b140 cbz r0, 8018c0a <_printf_float+0xde> - 8018bf8: 9b05 ldr r3, [sp, #20] - 8018bfa: 4a80 ldr r2, [pc, #512] @ (8018dfc <_printf_float+0x2d0>) - 8018bfc: 2b00 cmp r3, #0 - 8018bfe: bfbc itt lt - 8018c00: 232d movlt r3, #45 @ 0x2d - 8018c02: f884 3043 strblt.w r3, [r4, #67] @ 0x43 - 8018c06: 4b7e ldr r3, [pc, #504] @ (8018e00 <_printf_float+0x2d4>) - 8018c08: e7d4 b.n 8018bb4 <_printf_float+0x88> - 8018c0a: 6863 ldr r3, [r4, #4] - 8018c0c: 1c5a adds r2, r3, #1 - 8018c0e: f00a 09df and.w r9, sl, #223 @ 0xdf - 8018c12: d13b bne.n 8018c8c <_printf_float+0x160> - 8018c14: 2306 movs r3, #6 - 8018c16: 6063 str r3, [r4, #4] - 8018c18: f44b 6280 orr.w r2, fp, #1024 @ 0x400 - 8018c1c: 2300 movs r3, #0 - 8018c1e: 6022 str r2, [r4, #0] - 8018c20: 9303 str r3, [sp, #12] - 8018c22: ab0a add r3, sp, #40 @ 0x28 - 8018c24: e9cd a301 strd sl, r3, [sp, #4] - 8018c28: ab09 add r3, sp, #36 @ 0x24 - 8018c2a: 9300 str r3, [sp, #0] - 8018c2c: 6861 ldr r1, [r4, #4] - 8018c2e: ed9d 0b04 vldr d0, [sp, #16] - 8018c32: f10d 0323 add.w r3, sp, #35 @ 0x23 - 8018c36: 4628 mov r0, r5 - 8018c38: f7ff fed8 bl 80189ec <__cvt> - 8018c3c: f1b9 0f47 cmp.w r9, #71 @ 0x47 - 8018c40: 9909 ldr r1, [sp, #36] @ 0x24 - 8018c42: 4680 mov r8, r0 - 8018c44: d129 bne.n 8018c9a <_printf_float+0x16e> - 8018c46: 1cc8 adds r0, r1, #3 - 8018c48: db02 blt.n 8018c50 <_printf_float+0x124> - 8018c4a: 6863 ldr r3, [r4, #4] - 8018c4c: 428b cmp r3, r1 - 8018c4e: da41 bge.n 8018cd4 <_printf_float+0x1a8> - 8018c50: f1aa 0a02 sub.w sl, sl, #2 - 8018c54: fa5f fa8a uxtb.w sl, sl - 8018c58: 3901 subs r1, #1 - 8018c5a: 4652 mov r2, sl - 8018c5c: f104 0050 add.w r0, r4, #80 @ 0x50 - 8018c60: 9109 str r1, [sp, #36] @ 0x24 - 8018c62: f7ff ff28 bl 8018ab6 <__exponent> - 8018c66: 9a0a ldr r2, [sp, #40] @ 0x28 - 8018c68: 1813 adds r3, r2, r0 - 8018c6a: 2a01 cmp r2, #1 - 8018c6c: 4681 mov r9, r0 - 8018c6e: 6123 str r3, [r4, #16] - 8018c70: dc02 bgt.n 8018c78 <_printf_float+0x14c> - 8018c72: 6822 ldr r2, [r4, #0] - 8018c74: 07d2 lsls r2, r2, #31 - 8018c76: d501 bpl.n 8018c7c <_printf_float+0x150> - 8018c78: 3301 adds r3, #1 - 8018c7a: 6123 str r3, [r4, #16] - 8018c7c: f89d 3023 ldrb.w r3, [sp, #35] @ 0x23 - 8018c80: 2b00 cmp r3, #0 - 8018c82: d0a3 beq.n 8018bcc <_printf_float+0xa0> - 8018c84: 232d movs r3, #45 @ 0x2d - 8018c86: f884 3043 strb.w r3, [r4, #67] @ 0x43 - 8018c8a: e79f b.n 8018bcc <_printf_float+0xa0> - 8018c8c: f1b9 0f47 cmp.w r9, #71 @ 0x47 - 8018c90: d1c2 bne.n 8018c18 <_printf_float+0xec> - 8018c92: 2b00 cmp r3, #0 - 8018c94: d1c0 bne.n 8018c18 <_printf_float+0xec> - 8018c96: 2301 movs r3, #1 - 8018c98: e7bd b.n 8018c16 <_printf_float+0xea> - 8018c9a: f1ba 0f65 cmp.w sl, #101 @ 0x65 - 8018c9e: d9db bls.n 8018c58 <_printf_float+0x12c> - 8018ca0: f1ba 0f66 cmp.w sl, #102 @ 0x66 - 8018ca4: d118 bne.n 8018cd8 <_printf_float+0x1ac> - 8018ca6: 2900 cmp r1, #0 - 8018ca8: 6863 ldr r3, [r4, #4] - 8018caa: dd0b ble.n 8018cc4 <_printf_float+0x198> - 8018cac: 6121 str r1, [r4, #16] - 8018cae: b913 cbnz r3, 8018cb6 <_printf_float+0x18a> - 8018cb0: 6822 ldr r2, [r4, #0] - 8018cb2: 07d0 lsls r0, r2, #31 - 8018cb4: d502 bpl.n 8018cbc <_printf_float+0x190> - 8018cb6: 3301 adds r3, #1 - 8018cb8: 440b add r3, r1 - 8018cba: 6123 str r3, [r4, #16] - 8018cbc: 65a1 str r1, [r4, #88] @ 0x58 - 8018cbe: f04f 0900 mov.w r9, #0 - 8018cc2: e7db b.n 8018c7c <_printf_float+0x150> - 8018cc4: b913 cbnz r3, 8018ccc <_printf_float+0x1a0> - 8018cc6: 6822 ldr r2, [r4, #0] - 8018cc8: 07d2 lsls r2, r2, #31 - 8018cca: d501 bpl.n 8018cd0 <_printf_float+0x1a4> - 8018ccc: 3302 adds r3, #2 - 8018cce: e7f4 b.n 8018cba <_printf_float+0x18e> - 8018cd0: 2301 movs r3, #1 - 8018cd2: e7f2 b.n 8018cba <_printf_float+0x18e> - 8018cd4: f04f 0a67 mov.w sl, #103 @ 0x67 - 8018cd8: 9b0a ldr r3, [sp, #40] @ 0x28 - 8018cda: 428b cmp r3, r1 - 8018cdc: dc05 bgt.n 8018cea <_printf_float+0x1be> - 8018cde: 6823 ldr r3, [r4, #0] - 8018ce0: 6121 str r1, [r4, #16] - 8018ce2: 07d8 lsls r0, r3, #31 - 8018ce4: d5ea bpl.n 8018cbc <_printf_float+0x190> - 8018ce6: 1c4b adds r3, r1, #1 - 8018ce8: e7e7 b.n 8018cba <_printf_float+0x18e> - 8018cea: 2900 cmp r1, #0 - 8018cec: bfd4 ite le - 8018cee: f1c1 0202 rsble r2, r1, #2 - 8018cf2: 2201 movgt r2, #1 - 8018cf4: 4413 add r3, r2 - 8018cf6: e7e0 b.n 8018cba <_printf_float+0x18e> - 8018cf8: 6823 ldr r3, [r4, #0] - 8018cfa: 055a lsls r2, r3, #21 - 8018cfc: d407 bmi.n 8018d0e <_printf_float+0x1e2> - 8018cfe: 6923 ldr r3, [r4, #16] - 8018d00: 4642 mov r2, r8 - 8018d02: 4631 mov r1, r6 - 8018d04: 4628 mov r0, r5 - 8018d06: 47b8 blx r7 - 8018d08: 3001 adds r0, #1 - 8018d0a: d12b bne.n 8018d64 <_printf_float+0x238> - 8018d0c: e768 b.n 8018be0 <_printf_float+0xb4> - 8018d0e: f1ba 0f65 cmp.w sl, #101 @ 0x65 - 8018d12: f240 80dd bls.w 8018ed0 <_printf_float+0x3a4> - 8018d16: e9d4 0112 ldrd r0, r1, [r4, #72] @ 0x48 - 8018d1a: 2200 movs r2, #0 - 8018d1c: 2300 movs r3, #0 - 8018d1e: f7e7 feab bl 8000a78 <__aeabi_dcmpeq> - 8018d22: 2800 cmp r0, #0 - 8018d24: d033 beq.n 8018d8e <_printf_float+0x262> - 8018d26: 4a37 ldr r2, [pc, #220] @ (8018e04 <_printf_float+0x2d8>) - 8018d28: 2301 movs r3, #1 - 8018d2a: 4631 mov r1, r6 - 8018d2c: 4628 mov r0, r5 - 8018d2e: 47b8 blx r7 - 8018d30: 3001 adds r0, #1 - 8018d32: f43f af55 beq.w 8018be0 <_printf_float+0xb4> - 8018d36: e9dd 3809 ldrd r3, r8, [sp, #36] @ 0x24 - 8018d3a: 4543 cmp r3, r8 - 8018d3c: db02 blt.n 8018d44 <_printf_float+0x218> - 8018d3e: 6823 ldr r3, [r4, #0] - 8018d40: 07d8 lsls r0, r3, #31 - 8018d42: d50f bpl.n 8018d64 <_printf_float+0x238> - 8018d44: e9dd 2306 ldrd r2, r3, [sp, #24] - 8018d48: 4631 mov r1, r6 - 8018d4a: 4628 mov r0, r5 - 8018d4c: 47b8 blx r7 - 8018d4e: 3001 adds r0, #1 - 8018d50: f43f af46 beq.w 8018be0 <_printf_float+0xb4> - 8018d54: f04f 0900 mov.w r9, #0 - 8018d58: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff - 8018d5c: f104 0a1a add.w sl, r4, #26 - 8018d60: 45c8 cmp r8, r9 - 8018d62: dc09 bgt.n 8018d78 <_printf_float+0x24c> - 8018d64: 6823 ldr r3, [r4, #0] - 8018d66: 079b lsls r3, r3, #30 - 8018d68: f100 8103 bmi.w 8018f72 <_printf_float+0x446> - 8018d6c: 68e0 ldr r0, [r4, #12] - 8018d6e: 9b0b ldr r3, [sp, #44] @ 0x2c - 8018d70: 4298 cmp r0, r3 - 8018d72: bfb8 it lt - 8018d74: 4618 movlt r0, r3 - 8018d76: e735 b.n 8018be4 <_printf_float+0xb8> - 8018d78: 2301 movs r3, #1 - 8018d7a: 4652 mov r2, sl - 8018d7c: 4631 mov r1, r6 - 8018d7e: 4628 mov r0, r5 - 8018d80: 47b8 blx r7 - 8018d82: 3001 adds r0, #1 - 8018d84: f43f af2c beq.w 8018be0 <_printf_float+0xb4> - 8018d88: f109 0901 add.w r9, r9, #1 - 8018d8c: e7e8 b.n 8018d60 <_printf_float+0x234> - 8018d8e: 9b09 ldr r3, [sp, #36] @ 0x24 - 8018d90: 2b00 cmp r3, #0 - 8018d92: dc39 bgt.n 8018e08 <_printf_float+0x2dc> - 8018d94: 4a1b ldr r2, [pc, #108] @ (8018e04 <_printf_float+0x2d8>) - 8018d96: 2301 movs r3, #1 - 8018d98: 4631 mov r1, r6 - 8018d9a: 4628 mov r0, r5 - 8018d9c: 47b8 blx r7 - 8018d9e: 3001 adds r0, #1 - 8018da0: f43f af1e beq.w 8018be0 <_printf_float+0xb4> - 8018da4: e9dd 3909 ldrd r3, r9, [sp, #36] @ 0x24 - 8018da8: ea59 0303 orrs.w r3, r9, r3 - 8018dac: d102 bne.n 8018db4 <_printf_float+0x288> - 8018dae: 6823 ldr r3, [r4, #0] - 8018db0: 07d9 lsls r1, r3, #31 - 8018db2: d5d7 bpl.n 8018d64 <_printf_float+0x238> - 8018db4: e9dd 2306 ldrd r2, r3, [sp, #24] - 8018db8: 4631 mov r1, r6 - 8018dba: 4628 mov r0, r5 - 8018dbc: 47b8 blx r7 - 8018dbe: 3001 adds r0, #1 - 8018dc0: f43f af0e beq.w 8018be0 <_printf_float+0xb4> - 8018dc4: f04f 0a00 mov.w sl, #0 - 8018dc8: f104 0b1a add.w fp, r4, #26 - 8018dcc: 9b09 ldr r3, [sp, #36] @ 0x24 - 8018dce: 425b negs r3, r3 - 8018dd0: 4553 cmp r3, sl - 8018dd2: dc01 bgt.n 8018dd8 <_printf_float+0x2ac> - 8018dd4: 464b mov r3, r9 - 8018dd6: e793 b.n 8018d00 <_printf_float+0x1d4> - 8018dd8: 2301 movs r3, #1 - 8018dda: 465a mov r2, fp - 8018ddc: 4631 mov r1, r6 - 8018dde: 4628 mov r0, r5 - 8018de0: 47b8 blx r7 - 8018de2: 3001 adds r0, #1 - 8018de4: f43f aefc beq.w 8018be0 <_printf_float+0xb4> - 8018de8: f10a 0a01 add.w sl, sl, #1 - 8018dec: e7ee b.n 8018dcc <_printf_float+0x2a0> - 8018dee: bf00 nop - 8018df0: 7fefffff .word 0x7fefffff - 8018df4: 0801dcb4 .word 0x0801dcb4 - 8018df8: 0801dcb0 .word 0x0801dcb0 - 8018dfc: 0801dcbc .word 0x0801dcbc - 8018e00: 0801dcb8 .word 0x0801dcb8 - 8018e04: 0801dcc0 .word 0x0801dcc0 - 8018e08: 6da3 ldr r3, [r4, #88] @ 0x58 - 8018e0a: f8dd a028 ldr.w sl, [sp, #40] @ 0x28 - 8018e0e: 4553 cmp r3, sl - 8018e10: bfa8 it ge - 8018e12: 4653 movge r3, sl - 8018e14: 2b00 cmp r3, #0 - 8018e16: 4699 mov r9, r3 - 8018e18: dc36 bgt.n 8018e88 <_printf_float+0x35c> - 8018e1a: f04f 0b00 mov.w fp, #0 - 8018e1e: ea29 79e9 bic.w r9, r9, r9, asr #31 - 8018e22: f104 021a add.w r2, r4, #26 - 8018e26: 6da3 ldr r3, [r4, #88] @ 0x58 - 8018e28: 9304 str r3, [sp, #16] - 8018e2a: eba3 0309 sub.w r3, r3, r9 - 8018e2e: 455b cmp r3, fp - 8018e30: dc31 bgt.n 8018e96 <_printf_float+0x36a> - 8018e32: 9b09 ldr r3, [sp, #36] @ 0x24 - 8018e34: 459a cmp sl, r3 - 8018e36: dc3a bgt.n 8018eae <_printf_float+0x382> - 8018e38: 6823 ldr r3, [r4, #0] - 8018e3a: 07da lsls r2, r3, #31 - 8018e3c: d437 bmi.n 8018eae <_printf_float+0x382> - 8018e3e: 9b09 ldr r3, [sp, #36] @ 0x24 - 8018e40: ebaa 0903 sub.w r9, sl, r3 - 8018e44: 9b04 ldr r3, [sp, #16] - 8018e46: ebaa 0303 sub.w r3, sl, r3 - 8018e4a: 4599 cmp r9, r3 - 8018e4c: bfa8 it ge - 8018e4e: 4699 movge r9, r3 - 8018e50: f1b9 0f00 cmp.w r9, #0 - 8018e54: dc33 bgt.n 8018ebe <_printf_float+0x392> - 8018e56: f04f 0800 mov.w r8, #0 - 8018e5a: ea29 79e9 bic.w r9, r9, r9, asr #31 - 8018e5e: f104 0b1a add.w fp, r4, #26 - 8018e62: 9b09 ldr r3, [sp, #36] @ 0x24 - 8018e64: ebaa 0303 sub.w r3, sl, r3 - 8018e68: eba3 0309 sub.w r3, r3, r9 - 8018e6c: 4543 cmp r3, r8 - 8018e6e: f77f af79 ble.w 8018d64 <_printf_float+0x238> - 8018e72: 2301 movs r3, #1 - 8018e74: 465a mov r2, fp - 8018e76: 4631 mov r1, r6 - 8018e78: 4628 mov r0, r5 - 8018e7a: 47b8 blx r7 - 8018e7c: 3001 adds r0, #1 - 8018e7e: f43f aeaf beq.w 8018be0 <_printf_float+0xb4> - 8018e82: f108 0801 add.w r8, r8, #1 - 8018e86: e7ec b.n 8018e62 <_printf_float+0x336> - 8018e88: 4642 mov r2, r8 - 8018e8a: 4631 mov r1, r6 - 8018e8c: 4628 mov r0, r5 - 8018e8e: 47b8 blx r7 - 8018e90: 3001 adds r0, #1 - 8018e92: d1c2 bne.n 8018e1a <_printf_float+0x2ee> - 8018e94: e6a4 b.n 8018be0 <_printf_float+0xb4> - 8018e96: 2301 movs r3, #1 - 8018e98: 4631 mov r1, r6 - 8018e9a: 4628 mov r0, r5 - 8018e9c: 9204 str r2, [sp, #16] - 8018e9e: 47b8 blx r7 - 8018ea0: 3001 adds r0, #1 - 8018ea2: f43f ae9d beq.w 8018be0 <_printf_float+0xb4> - 8018ea6: 9a04 ldr r2, [sp, #16] - 8018ea8: f10b 0b01 add.w fp, fp, #1 - 8018eac: e7bb b.n 8018e26 <_printf_float+0x2fa> - 8018eae: e9dd 2306 ldrd r2, r3, [sp, #24] - 8018eb2: 4631 mov r1, r6 - 8018eb4: 4628 mov r0, r5 - 8018eb6: 47b8 blx r7 - 8018eb8: 3001 adds r0, #1 - 8018eba: d1c0 bne.n 8018e3e <_printf_float+0x312> - 8018ebc: e690 b.n 8018be0 <_printf_float+0xb4> - 8018ebe: 9a04 ldr r2, [sp, #16] - 8018ec0: 464b mov r3, r9 - 8018ec2: 4442 add r2, r8 - 8018ec4: 4631 mov r1, r6 - 8018ec6: 4628 mov r0, r5 - 8018ec8: 47b8 blx r7 - 8018eca: 3001 adds r0, #1 - 8018ecc: d1c3 bne.n 8018e56 <_printf_float+0x32a> - 8018ece: e687 b.n 8018be0 <_printf_float+0xb4> - 8018ed0: f8dd a028 ldr.w sl, [sp, #40] @ 0x28 - 8018ed4: f1ba 0f01 cmp.w sl, #1 - 8018ed8: dc01 bgt.n 8018ede <_printf_float+0x3b2> - 8018eda: 07db lsls r3, r3, #31 - 8018edc: d536 bpl.n 8018f4c <_printf_float+0x420> - 8018ede: 2301 movs r3, #1 - 8018ee0: 4642 mov r2, r8 - 8018ee2: 4631 mov r1, r6 - 8018ee4: 4628 mov r0, r5 - 8018ee6: 47b8 blx r7 - 8018ee8: 3001 adds r0, #1 - 8018eea: f43f ae79 beq.w 8018be0 <_printf_float+0xb4> - 8018eee: e9dd 2306 ldrd r2, r3, [sp, #24] - 8018ef2: 4631 mov r1, r6 - 8018ef4: 4628 mov r0, r5 - 8018ef6: 47b8 blx r7 - 8018ef8: 3001 adds r0, #1 - 8018efa: f43f ae71 beq.w 8018be0 <_printf_float+0xb4> - 8018efe: e9d4 0112 ldrd r0, r1, [r4, #72] @ 0x48 - 8018f02: 2200 movs r2, #0 - 8018f04: 2300 movs r3, #0 - 8018f06: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff - 8018f0a: f7e7 fdb5 bl 8000a78 <__aeabi_dcmpeq> - 8018f0e: b9c0 cbnz r0, 8018f42 <_printf_float+0x416> - 8018f10: 4653 mov r3, sl - 8018f12: f108 0201 add.w r2, r8, #1 - 8018f16: 4631 mov r1, r6 - 8018f18: 4628 mov r0, r5 - 8018f1a: 47b8 blx r7 - 8018f1c: 3001 adds r0, #1 - 8018f1e: d10c bne.n 8018f3a <_printf_float+0x40e> - 8018f20: e65e b.n 8018be0 <_printf_float+0xb4> - 8018f22: 2301 movs r3, #1 - 8018f24: 465a mov r2, fp - 8018f26: 4631 mov r1, r6 - 8018f28: 4628 mov r0, r5 - 8018f2a: 47b8 blx r7 - 8018f2c: 3001 adds r0, #1 - 8018f2e: f43f ae57 beq.w 8018be0 <_printf_float+0xb4> - 8018f32: f108 0801 add.w r8, r8, #1 - 8018f36: 45d0 cmp r8, sl - 8018f38: dbf3 blt.n 8018f22 <_printf_float+0x3f6> - 8018f3a: 464b mov r3, r9 - 8018f3c: f104 0250 add.w r2, r4, #80 @ 0x50 - 8018f40: e6df b.n 8018d02 <_printf_float+0x1d6> - 8018f42: f04f 0800 mov.w r8, #0 - 8018f46: f104 0b1a add.w fp, r4, #26 - 8018f4a: e7f4 b.n 8018f36 <_printf_float+0x40a> - 8018f4c: 2301 movs r3, #1 - 8018f4e: 4642 mov r2, r8 - 8018f50: e7e1 b.n 8018f16 <_printf_float+0x3ea> - 8018f52: 2301 movs r3, #1 - 8018f54: 464a mov r2, r9 - 8018f56: 4631 mov r1, r6 - 8018f58: 4628 mov r0, r5 - 8018f5a: 47b8 blx r7 - 8018f5c: 3001 adds r0, #1 - 8018f5e: f43f ae3f beq.w 8018be0 <_printf_float+0xb4> - 8018f62: f108 0801 add.w r8, r8, #1 - 8018f66: 68e3 ldr r3, [r4, #12] - 8018f68: 990b ldr r1, [sp, #44] @ 0x2c - 8018f6a: 1a5b subs r3, r3, r1 - 8018f6c: 4543 cmp r3, r8 - 8018f6e: dcf0 bgt.n 8018f52 <_printf_float+0x426> - 8018f70: e6fc b.n 8018d6c <_printf_float+0x240> - 8018f72: f04f 0800 mov.w r8, #0 - 8018f76: f104 0919 add.w r9, r4, #25 - 8018f7a: e7f4 b.n 8018f66 <_printf_float+0x43a> - -08018f7c <_printf_common>: - 8018f7c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 8018f80: 4616 mov r6, r2 - 8018f82: 4698 mov r8, r3 - 8018f84: 688a ldr r2, [r1, #8] - 8018f86: 690b ldr r3, [r1, #16] - 8018f88: f8dd 9020 ldr.w r9, [sp, #32] - 8018f8c: 4293 cmp r3, r2 - 8018f8e: bfb8 it lt - 8018f90: 4613 movlt r3, r2 - 8018f92: 6033 str r3, [r6, #0] - 8018f94: f891 2043 ldrb.w r2, [r1, #67] @ 0x43 - 8018f98: 4607 mov r7, r0 - 8018f9a: 460c mov r4, r1 - 8018f9c: b10a cbz r2, 8018fa2 <_printf_common+0x26> - 8018f9e: 3301 adds r3, #1 - 8018fa0: 6033 str r3, [r6, #0] - 8018fa2: 6823 ldr r3, [r4, #0] - 8018fa4: 0699 lsls r1, r3, #26 - 8018fa6: bf42 ittt mi - 8018fa8: 6833 ldrmi r3, [r6, #0] - 8018faa: 3302 addmi r3, #2 - 8018fac: 6033 strmi r3, [r6, #0] - 8018fae: 6825 ldr r5, [r4, #0] - 8018fb0: f015 0506 ands.w r5, r5, #6 - 8018fb4: d106 bne.n 8018fc4 <_printf_common+0x48> - 8018fb6: f104 0a19 add.w sl, r4, #25 - 8018fba: 68e3 ldr r3, [r4, #12] - 8018fbc: 6832 ldr r2, [r6, #0] - 8018fbe: 1a9b subs r3, r3, r2 - 8018fc0: 42ab cmp r3, r5 - 8018fc2: dc26 bgt.n 8019012 <_printf_common+0x96> - 8018fc4: f894 3043 ldrb.w r3, [r4, #67] @ 0x43 - 8018fc8: 6822 ldr r2, [r4, #0] - 8018fca: 3b00 subs r3, #0 - 8018fcc: bf18 it ne - 8018fce: 2301 movne r3, #1 - 8018fd0: 0692 lsls r2, r2, #26 - 8018fd2: d42b bmi.n 801902c <_printf_common+0xb0> - 8018fd4: f104 0243 add.w r2, r4, #67 @ 0x43 - 8018fd8: 4641 mov r1, r8 - 8018fda: 4638 mov r0, r7 - 8018fdc: 47c8 blx r9 - 8018fde: 3001 adds r0, #1 - 8018fe0: d01e beq.n 8019020 <_printf_common+0xa4> - 8018fe2: 6823 ldr r3, [r4, #0] - 8018fe4: 6922 ldr r2, [r4, #16] - 8018fe6: f003 0306 and.w r3, r3, #6 - 8018fea: 2b04 cmp r3, #4 - 8018fec: bf02 ittt eq - 8018fee: 68e5 ldreq r5, [r4, #12] - 8018ff0: 6833 ldreq r3, [r6, #0] - 8018ff2: 1aed subeq r5, r5, r3 - 8018ff4: 68a3 ldr r3, [r4, #8] - 8018ff6: bf0c ite eq - 8018ff8: ea25 75e5 biceq.w r5, r5, r5, asr #31 - 8018ffc: 2500 movne r5, #0 - 8018ffe: 4293 cmp r3, r2 - 8019000: bfc4 itt gt - 8019002: 1a9b subgt r3, r3, r2 - 8019004: 18ed addgt r5, r5, r3 - 8019006: 2600 movs r6, #0 - 8019008: 341a adds r4, #26 - 801900a: 42b5 cmp r5, r6 - 801900c: d11a bne.n 8019044 <_printf_common+0xc8> - 801900e: 2000 movs r0, #0 - 8019010: e008 b.n 8019024 <_printf_common+0xa8> - 8019012: 2301 movs r3, #1 - 8019014: 4652 mov r2, sl - 8019016: 4641 mov r1, r8 - 8019018: 4638 mov r0, r7 - 801901a: 47c8 blx r9 - 801901c: 3001 adds r0, #1 - 801901e: d103 bne.n 8019028 <_printf_common+0xac> - 8019020: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 8019024: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8019028: 3501 adds r5, #1 - 801902a: e7c6 b.n 8018fba <_printf_common+0x3e> - 801902c: 18e1 adds r1, r4, r3 - 801902e: 1c5a adds r2, r3, #1 - 8019030: 2030 movs r0, #48 @ 0x30 - 8019032: f881 0043 strb.w r0, [r1, #67] @ 0x43 - 8019036: 4422 add r2, r4 - 8019038: f894 1045 ldrb.w r1, [r4, #69] @ 0x45 - 801903c: f882 1043 strb.w r1, [r2, #67] @ 0x43 - 8019040: 3302 adds r3, #2 - 8019042: e7c7 b.n 8018fd4 <_printf_common+0x58> - 8019044: 2301 movs r3, #1 - 8019046: 4622 mov r2, r4 - 8019048: 4641 mov r1, r8 - 801904a: 4638 mov r0, r7 - 801904c: 47c8 blx r9 - 801904e: 3001 adds r0, #1 - 8019050: d0e6 beq.n 8019020 <_printf_common+0xa4> - 8019052: 3601 adds r6, #1 - 8019054: e7d9 b.n 801900a <_printf_common+0x8e> - ... - -08019058 <_printf_i>: - 8019058: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 801905c: 7e0d ldrb r5, [r1, #24] - 801905e: b085 sub sp, #20 - 8019060: 2d78 cmp r5, #120 @ 0x78 - 8019062: 4690 mov r8, r2 - 8019064: 9e0c ldr r6, [sp, #48] @ 0x30 - 8019066: 4607 mov r7, r0 - 8019068: 460c mov r4, r1 - 801906a: 4699 mov r9, r3 - 801906c: f101 0243 add.w r2, r1, #67 @ 0x43 - 8019070: d807 bhi.n 8019082 <_printf_i+0x2a> - 8019072: 2d62 cmp r5, #98 @ 0x62 - 8019074: d80a bhi.n 801908c <_printf_i+0x34> - 8019076: 2d00 cmp r5, #0 - 8019078: f000 80d7 beq.w 801922a <_printf_i+0x1d2> - 801907c: 2d58 cmp r5, #88 @ 0x58 - 801907e: f000 80bc beq.w 80191fa <_printf_i+0x1a2> - 8019082: f104 0642 add.w r6, r4, #66 @ 0x42 - 8019086: f884 5042 strb.w r5, [r4, #66] @ 0x42 - 801908a: e03b b.n 8019104 <_printf_i+0xac> - 801908c: f1a5 0363 sub.w r3, r5, #99 @ 0x63 - 8019090: 2b15 cmp r3, #21 - 8019092: d8f6 bhi.n 8019082 <_printf_i+0x2a> - 8019094: a101 add r1, pc, #4 @ (adr r1, 801909c <_printf_i+0x44>) - 8019096: f851 f023 ldr.w pc, [r1, r3, lsl #2] - 801909a: bf00 nop - 801909c: 080190f5 .word 0x080190f5 - 80190a0: 08019109 .word 0x08019109 - 80190a4: 08019083 .word 0x08019083 - 80190a8: 08019083 .word 0x08019083 - 80190ac: 08019083 .word 0x08019083 - 80190b0: 08019083 .word 0x08019083 - 80190b4: 08019109 .word 0x08019109 - 80190b8: 08019083 .word 0x08019083 - 80190bc: 08019083 .word 0x08019083 - 80190c0: 08019083 .word 0x08019083 - 80190c4: 08019083 .word 0x08019083 - 80190c8: 08019211 .word 0x08019211 - 80190cc: 08019133 .word 0x08019133 - 80190d0: 080191c3 .word 0x080191c3 - 80190d4: 08019083 .word 0x08019083 - 80190d8: 08019083 .word 0x08019083 - 80190dc: 08019233 .word 0x08019233 - 80190e0: 08019083 .word 0x08019083 - 80190e4: 08019133 .word 0x08019133 - 80190e8: 08019083 .word 0x08019083 - 80190ec: 08019083 .word 0x08019083 - 80190f0: 080191cb .word 0x080191cb - 80190f4: 6833 ldr r3, [r6, #0] - 80190f6: 1d1a adds r2, r3, #4 - 80190f8: 681b ldr r3, [r3, #0] - 80190fa: 6032 str r2, [r6, #0] - 80190fc: f104 0642 add.w r6, r4, #66 @ 0x42 - 8019100: f884 3042 strb.w r3, [r4, #66] @ 0x42 - 8019104: 2301 movs r3, #1 - 8019106: e0a1 b.n 801924c <_printf_i+0x1f4> - 8019108: 6833 ldr r3, [r6, #0] - 801910a: 6820 ldr r0, [r4, #0] - 801910c: 1d19 adds r1, r3, #4 - 801910e: 6031 str r1, [r6, #0] - 8019110: 0606 lsls r6, r0, #24 - 8019112: d501 bpl.n 8019118 <_printf_i+0xc0> - 8019114: 681d ldr r5, [r3, #0] - 8019116: e003 b.n 8019120 <_printf_i+0xc8> - 8019118: 0645 lsls r5, r0, #25 - 801911a: d5fb bpl.n 8019114 <_printf_i+0xbc> - 801911c: f9b3 5000 ldrsh.w r5, [r3] - 8019120: 2d00 cmp r5, #0 - 8019122: da03 bge.n 801912c <_printf_i+0xd4> - 8019124: 232d movs r3, #45 @ 0x2d - 8019126: 426d negs r5, r5 - 8019128: f884 3043 strb.w r3, [r4, #67] @ 0x43 - 801912c: 485b ldr r0, [pc, #364] @ (801929c <_printf_i+0x244>) - 801912e: 230a movs r3, #10 - 8019130: e011 b.n 8019156 <_printf_i+0xfe> - 8019132: 6821 ldr r1, [r4, #0] - 8019134: 6833 ldr r3, [r6, #0] - 8019136: 0608 lsls r0, r1, #24 - 8019138: f853 5b04 ldr.w r5, [r3], #4 - 801913c: d402 bmi.n 8019144 <_printf_i+0xec> - 801913e: 0649 lsls r1, r1, #25 - 8019140: bf48 it mi - 8019142: b2ad uxthmi r5, r5 - 8019144: 6033 str r3, [r6, #0] - 8019146: 7e23 ldrb r3, [r4, #24] - 8019148: 4854 ldr r0, [pc, #336] @ (801929c <_printf_i+0x244>) - 801914a: 2b6f cmp r3, #111 @ 0x6f - 801914c: d15c bne.n 8019208 <_printf_i+0x1b0> - 801914e: 2308 movs r3, #8 - 8019150: 2100 movs r1, #0 - 8019152: f884 1043 strb.w r1, [r4, #67] @ 0x43 - 8019156: 6866 ldr r6, [r4, #4] - 8019158: 60a6 str r6, [r4, #8] - 801915a: 2e00 cmp r6, #0 - 801915c: db05 blt.n 801916a <_printf_i+0x112> - 801915e: 6821 ldr r1, [r4, #0] - 8019160: 432e orrs r6, r5 - 8019162: f021 0104 bic.w r1, r1, #4 - 8019166: 6021 str r1, [r4, #0] - 8019168: d050 beq.n 801920c <_printf_i+0x1b4> - 801916a: 4616 mov r6, r2 - 801916c: fbb5 f1f3 udiv r1, r5, r3 - 8019170: fb03 5c11 mls ip, r3, r1, r5 - 8019174: f810 c00c ldrb.w ip, [r0, ip] - 8019178: f806 cd01 strb.w ip, [r6, #-1]! - 801917c: 46ac mov ip, r5 - 801917e: 4563 cmp r3, ip - 8019180: 460d mov r5, r1 - 8019182: d9f3 bls.n 801916c <_printf_i+0x114> - 8019184: 2b08 cmp r3, #8 - 8019186: d10b bne.n 80191a0 <_printf_i+0x148> - 8019188: 6823 ldr r3, [r4, #0] - 801918a: 07db lsls r3, r3, #31 - 801918c: d508 bpl.n 80191a0 <_printf_i+0x148> - 801918e: 6923 ldr r3, [r4, #16] - 8019190: 6861 ldr r1, [r4, #4] - 8019192: 4299 cmp r1, r3 - 8019194: bfde ittt le - 8019196: 2330 movle r3, #48 @ 0x30 - 8019198: f806 3c01 strble.w r3, [r6, #-1] - 801919c: f106 36ff addle.w r6, r6, #4294967295 @ 0xffffffff - 80191a0: 1b92 subs r2, r2, r6 - 80191a2: 6122 str r2, [r4, #16] - 80191a4: f8cd 9000 str.w r9, [sp] - 80191a8: 4643 mov r3, r8 - 80191aa: aa03 add r2, sp, #12 - 80191ac: 4621 mov r1, r4 - 80191ae: 4638 mov r0, r7 - 80191b0: f7ff fee4 bl 8018f7c <_printf_common> - 80191b4: 3001 adds r0, #1 - 80191b6: d14e bne.n 8019256 <_printf_i+0x1fe> - 80191b8: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 80191bc: b005 add sp, #20 - 80191be: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 80191c2: 6823 ldr r3, [r4, #0] - 80191c4: f043 0320 orr.w r3, r3, #32 - 80191c8: 6023 str r3, [r4, #0] - 80191ca: 4835 ldr r0, [pc, #212] @ (80192a0 <_printf_i+0x248>) - 80191cc: 2578 movs r5, #120 @ 0x78 - 80191ce: f884 5045 strb.w r5, [r4, #69] @ 0x45 - 80191d2: 6823 ldr r3, [r4, #0] - 80191d4: 6831 ldr r1, [r6, #0] - 80191d6: f013 0f80 tst.w r3, #128 @ 0x80 - 80191da: f851 5b04 ldr.w r5, [r1], #4 - 80191de: d103 bne.n 80191e8 <_printf_i+0x190> - 80191e0: f013 0f40 tst.w r3, #64 @ 0x40 - 80191e4: bf18 it ne - 80191e6: b2ad uxthne r5, r5 - 80191e8: 6031 str r1, [r6, #0] - 80191ea: 07d9 lsls r1, r3, #31 - 80191ec: bf44 itt mi - 80191ee: f043 0320 orrmi.w r3, r3, #32 - 80191f2: 6023 strmi r3, [r4, #0] - 80191f4: b11d cbz r5, 80191fe <_printf_i+0x1a6> - 80191f6: 2310 movs r3, #16 - 80191f8: e7aa b.n 8019150 <_printf_i+0xf8> - 80191fa: 4828 ldr r0, [pc, #160] @ (801929c <_printf_i+0x244>) - 80191fc: e7e7 b.n 80191ce <_printf_i+0x176> - 80191fe: 6823 ldr r3, [r4, #0] - 8019200: f023 0320 bic.w r3, r3, #32 - 8019204: 6023 str r3, [r4, #0] - 8019206: e7f6 b.n 80191f6 <_printf_i+0x19e> - 8019208: 230a movs r3, #10 - 801920a: e7a1 b.n 8019150 <_printf_i+0xf8> - 801920c: 4616 mov r6, r2 - 801920e: e7b9 b.n 8019184 <_printf_i+0x12c> - 8019210: 6833 ldr r3, [r6, #0] - 8019212: 6825 ldr r5, [r4, #0] - 8019214: 6961 ldr r1, [r4, #20] - 8019216: 1d18 adds r0, r3, #4 - 8019218: 6030 str r0, [r6, #0] - 801921a: 062e lsls r6, r5, #24 - 801921c: 681b ldr r3, [r3, #0] - 801921e: d501 bpl.n 8019224 <_printf_i+0x1cc> - 8019220: 6019 str r1, [r3, #0] - 8019222: e002 b.n 801922a <_printf_i+0x1d2> - 8019224: 0668 lsls r0, r5, #25 - 8019226: d5fb bpl.n 8019220 <_printf_i+0x1c8> - 8019228: 8019 strh r1, [r3, #0] - 801922a: 2300 movs r3, #0 - 801922c: 6123 str r3, [r4, #16] - 801922e: 4616 mov r6, r2 - 8019230: e7b8 b.n 80191a4 <_printf_i+0x14c> - 8019232: 6833 ldr r3, [r6, #0] - 8019234: 1d1a adds r2, r3, #4 - 8019236: 6032 str r2, [r6, #0] - 8019238: 681e ldr r6, [r3, #0] - 801923a: 6862 ldr r2, [r4, #4] - 801923c: 2100 movs r1, #0 - 801923e: 4630 mov r0, r6 - 8019240: f7e6 ff9e bl 8000180 - 8019244: b108 cbz r0, 801924a <_printf_i+0x1f2> - 8019246: 1b80 subs r0, r0, r6 - 8019248: 6060 str r0, [r4, #4] - 801924a: 6863 ldr r3, [r4, #4] - 801924c: 6123 str r3, [r4, #16] - 801924e: 2300 movs r3, #0 - 8019250: f884 3043 strb.w r3, [r4, #67] @ 0x43 - 8019254: e7a6 b.n 80191a4 <_printf_i+0x14c> - 8019256: 6923 ldr r3, [r4, #16] - 8019258: 4632 mov r2, r6 - 801925a: 4641 mov r1, r8 - 801925c: 4638 mov r0, r7 - 801925e: 47c8 blx r9 - 8019260: 3001 adds r0, #1 - 8019262: d0a9 beq.n 80191b8 <_printf_i+0x160> - 8019264: 6823 ldr r3, [r4, #0] - 8019266: 079b lsls r3, r3, #30 - 8019268: d413 bmi.n 8019292 <_printf_i+0x23a> - 801926a: 68e0 ldr r0, [r4, #12] - 801926c: 9b03 ldr r3, [sp, #12] - 801926e: 4298 cmp r0, r3 - 8019270: bfb8 it lt - 8019272: 4618 movlt r0, r3 - 8019274: e7a2 b.n 80191bc <_printf_i+0x164> - 8019276: 2301 movs r3, #1 - 8019278: 4632 mov r2, r6 - 801927a: 4641 mov r1, r8 - 801927c: 4638 mov r0, r7 - 801927e: 47c8 blx r9 - 8019280: 3001 adds r0, #1 - 8019282: d099 beq.n 80191b8 <_printf_i+0x160> - 8019284: 3501 adds r5, #1 - 8019286: 68e3 ldr r3, [r4, #12] - 8019288: 9903 ldr r1, [sp, #12] - 801928a: 1a5b subs r3, r3, r1 - 801928c: 42ab cmp r3, r5 - 801928e: dcf2 bgt.n 8019276 <_printf_i+0x21e> - 8019290: e7eb b.n 801926a <_printf_i+0x212> - 8019292: 2500 movs r5, #0 - 8019294: f104 0619 add.w r6, r4, #25 - 8019298: e7f5 b.n 8019286 <_printf_i+0x22e> - 801929a: bf00 nop - 801929c: 0801dcc2 .word 0x0801dcc2 - 80192a0: 0801dcd3 .word 0x0801dcd3 - -080192a4 <_scanf_float>: - 80192a4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 80192a8: b087 sub sp, #28 - 80192aa: 4691 mov r9, r2 - 80192ac: 9303 str r3, [sp, #12] - 80192ae: 688b ldr r3, [r1, #8] - 80192b0: 1e5a subs r2, r3, #1 - 80192b2: f5b2 7fae cmp.w r2, #348 @ 0x15c - 80192b6: bf81 itttt hi - 80192b8: f46f 75ae mvnhi.w r5, #348 @ 0x15c - 80192bc: eb03 0b05 addhi.w fp, r3, r5 - 80192c0: f240 135d movwhi r3, #349 @ 0x15d - 80192c4: 608b strhi r3, [r1, #8] - 80192c6: 680b ldr r3, [r1, #0] - 80192c8: 460a mov r2, r1 - 80192ca: f04f 0500 mov.w r5, #0 - 80192ce: f443 63f0 orr.w r3, r3, #1920 @ 0x780 - 80192d2: f842 3b1c str.w r3, [r2], #28 - 80192d6: e9cd 5504 strd r5, r5, [sp, #16] - 80192da: 4680 mov r8, r0 - 80192dc: 460c mov r4, r1 - 80192de: bf98 it ls - 80192e0: f04f 0b00 movls.w fp, #0 - 80192e4: 9201 str r2, [sp, #4] - 80192e6: 4616 mov r6, r2 - 80192e8: 46aa mov sl, r5 - 80192ea: 462f mov r7, r5 - 80192ec: 9502 str r5, [sp, #8] - 80192ee: 68a2 ldr r2, [r4, #8] - 80192f0: b15a cbz r2, 801930a <_scanf_float+0x66> - 80192f2: f8d9 3000 ldr.w r3, [r9] - 80192f6: 781b ldrb r3, [r3, #0] - 80192f8: 2b4e cmp r3, #78 @ 0x4e - 80192fa: d863 bhi.n 80193c4 <_scanf_float+0x120> - 80192fc: 2b40 cmp r3, #64 @ 0x40 - 80192fe: d83b bhi.n 8019378 <_scanf_float+0xd4> - 8019300: f1a3 012b sub.w r1, r3, #43 @ 0x2b - 8019304: b2c8 uxtb r0, r1 - 8019306: 280e cmp r0, #14 - 8019308: d939 bls.n 801937e <_scanf_float+0xda> - 801930a: b11f cbz r7, 8019314 <_scanf_float+0x70> - 801930c: 6823 ldr r3, [r4, #0] - 801930e: f423 7380 bic.w r3, r3, #256 @ 0x100 - 8019312: 6023 str r3, [r4, #0] - 8019314: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff - 8019318: f1ba 0f01 cmp.w sl, #1 - 801931c: f200 8114 bhi.w 8019548 <_scanf_float+0x2a4> - 8019320: 9b01 ldr r3, [sp, #4] - 8019322: 429e cmp r6, r3 - 8019324: f200 8105 bhi.w 8019532 <_scanf_float+0x28e> - 8019328: 2001 movs r0, #1 - 801932a: b007 add sp, #28 - 801932c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8019330: f1a3 0261 sub.w r2, r3, #97 @ 0x61 - 8019334: 2a0d cmp r2, #13 - 8019336: d8e8 bhi.n 801930a <_scanf_float+0x66> - 8019338: a101 add r1, pc, #4 @ (adr r1, 8019340 <_scanf_float+0x9c>) - 801933a: f851 f022 ldr.w pc, [r1, r2, lsl #2] - 801933e: bf00 nop - 8019340: 08019489 .word 0x08019489 - 8019344: 0801930b .word 0x0801930b - 8019348: 0801930b .word 0x0801930b - 801934c: 0801930b .word 0x0801930b - 8019350: 080194e5 .word 0x080194e5 - 8019354: 080194bf .word 0x080194bf - 8019358: 0801930b .word 0x0801930b - 801935c: 0801930b .word 0x0801930b - 8019360: 08019497 .word 0x08019497 - 8019364: 0801930b .word 0x0801930b - 8019368: 0801930b .word 0x0801930b - 801936c: 0801930b .word 0x0801930b - 8019370: 0801930b .word 0x0801930b - 8019374: 08019453 .word 0x08019453 - 8019378: f1a3 0241 sub.w r2, r3, #65 @ 0x41 - 801937c: e7da b.n 8019334 <_scanf_float+0x90> - 801937e: 290e cmp r1, #14 - 8019380: d8c3 bhi.n 801930a <_scanf_float+0x66> - 8019382: a001 add r0, pc, #4 @ (adr r0, 8019388 <_scanf_float+0xe4>) - 8019384: f850 f021 ldr.w pc, [r0, r1, lsl #2] - 8019388: 08019443 .word 0x08019443 - 801938c: 0801930b .word 0x0801930b - 8019390: 08019443 .word 0x08019443 - 8019394: 080194d3 .word 0x080194d3 - 8019398: 0801930b .word 0x0801930b - 801939c: 080193e5 .word 0x080193e5 - 80193a0: 08019429 .word 0x08019429 - 80193a4: 08019429 .word 0x08019429 - 80193a8: 08019429 .word 0x08019429 - 80193ac: 08019429 .word 0x08019429 - 80193b0: 08019429 .word 0x08019429 - 80193b4: 08019429 .word 0x08019429 - 80193b8: 08019429 .word 0x08019429 - 80193bc: 08019429 .word 0x08019429 - 80193c0: 08019429 .word 0x08019429 - 80193c4: 2b6e cmp r3, #110 @ 0x6e - 80193c6: d809 bhi.n 80193dc <_scanf_float+0x138> - 80193c8: 2b60 cmp r3, #96 @ 0x60 - 80193ca: d8b1 bhi.n 8019330 <_scanf_float+0x8c> - 80193cc: 2b54 cmp r3, #84 @ 0x54 - 80193ce: d07b beq.n 80194c8 <_scanf_float+0x224> - 80193d0: 2b59 cmp r3, #89 @ 0x59 - 80193d2: d19a bne.n 801930a <_scanf_float+0x66> - 80193d4: 2d07 cmp r5, #7 - 80193d6: d198 bne.n 801930a <_scanf_float+0x66> - 80193d8: 2508 movs r5, #8 - 80193da: e02f b.n 801943c <_scanf_float+0x198> - 80193dc: 2b74 cmp r3, #116 @ 0x74 - 80193de: d073 beq.n 80194c8 <_scanf_float+0x224> - 80193e0: 2b79 cmp r3, #121 @ 0x79 - 80193e2: e7f6 b.n 80193d2 <_scanf_float+0x12e> - 80193e4: 6821 ldr r1, [r4, #0] - 80193e6: 05c8 lsls r0, r1, #23 - 80193e8: d51e bpl.n 8019428 <_scanf_float+0x184> - 80193ea: f021 0180 bic.w r1, r1, #128 @ 0x80 - 80193ee: 6021 str r1, [r4, #0] - 80193f0: 3701 adds r7, #1 - 80193f2: f1bb 0f00 cmp.w fp, #0 - 80193f6: d003 beq.n 8019400 <_scanf_float+0x15c> - 80193f8: 3201 adds r2, #1 - 80193fa: f10b 3bff add.w fp, fp, #4294967295 @ 0xffffffff - 80193fe: 60a2 str r2, [r4, #8] - 8019400: 68a3 ldr r3, [r4, #8] - 8019402: 3b01 subs r3, #1 - 8019404: 60a3 str r3, [r4, #8] - 8019406: 6923 ldr r3, [r4, #16] - 8019408: 3301 adds r3, #1 - 801940a: 6123 str r3, [r4, #16] - 801940c: f8d9 3004 ldr.w r3, [r9, #4] - 8019410: 3b01 subs r3, #1 - 8019412: 2b00 cmp r3, #0 - 8019414: f8c9 3004 str.w r3, [r9, #4] - 8019418: f340 8082 ble.w 8019520 <_scanf_float+0x27c> - 801941c: f8d9 3000 ldr.w r3, [r9] - 8019420: 3301 adds r3, #1 - 8019422: f8c9 3000 str.w r3, [r9] - 8019426: e762 b.n 80192ee <_scanf_float+0x4a> - 8019428: eb1a 0105 adds.w r1, sl, r5 - 801942c: f47f af6d bne.w 801930a <_scanf_float+0x66> - 8019430: 6822 ldr r2, [r4, #0] - 8019432: f422 72c0 bic.w r2, r2, #384 @ 0x180 - 8019436: 6022 str r2, [r4, #0] - 8019438: 460d mov r5, r1 - 801943a: 468a mov sl, r1 - 801943c: f806 3b01 strb.w r3, [r6], #1 - 8019440: e7de b.n 8019400 <_scanf_float+0x15c> - 8019442: 6822 ldr r2, [r4, #0] - 8019444: 0610 lsls r0, r2, #24 - 8019446: f57f af60 bpl.w 801930a <_scanf_float+0x66> - 801944a: f022 0280 bic.w r2, r2, #128 @ 0x80 - 801944e: 6022 str r2, [r4, #0] - 8019450: e7f4 b.n 801943c <_scanf_float+0x198> - 8019452: f1ba 0f00 cmp.w sl, #0 - 8019456: d10c bne.n 8019472 <_scanf_float+0x1ce> - 8019458: b977 cbnz r7, 8019478 <_scanf_float+0x1d4> - 801945a: 6822 ldr r2, [r4, #0] - 801945c: f402 61e0 and.w r1, r2, #1792 @ 0x700 - 8019460: f5b1 6fe0 cmp.w r1, #1792 @ 0x700 - 8019464: d108 bne.n 8019478 <_scanf_float+0x1d4> - 8019466: f422 62f0 bic.w r2, r2, #1920 @ 0x780 - 801946a: 6022 str r2, [r4, #0] - 801946c: f04f 0a01 mov.w sl, #1 - 8019470: e7e4 b.n 801943c <_scanf_float+0x198> - 8019472: f1ba 0f02 cmp.w sl, #2 - 8019476: d050 beq.n 801951a <_scanf_float+0x276> - 8019478: 2d01 cmp r5, #1 - 801947a: d002 beq.n 8019482 <_scanf_float+0x1de> - 801947c: 2d04 cmp r5, #4 - 801947e: f47f af44 bne.w 801930a <_scanf_float+0x66> - 8019482: 3501 adds r5, #1 - 8019484: b2ed uxtb r5, r5 - 8019486: e7d9 b.n 801943c <_scanf_float+0x198> - 8019488: f1ba 0f01 cmp.w sl, #1 - 801948c: f47f af3d bne.w 801930a <_scanf_float+0x66> - 8019490: f04f 0a02 mov.w sl, #2 - 8019494: e7d2 b.n 801943c <_scanf_float+0x198> - 8019496: b975 cbnz r5, 80194b6 <_scanf_float+0x212> - 8019498: 2f00 cmp r7, #0 - 801949a: f47f af37 bne.w 801930c <_scanf_float+0x68> - 801949e: 6822 ldr r2, [r4, #0] - 80194a0: f402 61e0 and.w r1, r2, #1792 @ 0x700 - 80194a4: f5b1 6fe0 cmp.w r1, #1792 @ 0x700 - 80194a8: f040 8102 bne.w 80196b0 <_scanf_float+0x40c> - 80194ac: f422 62f0 bic.w r2, r2, #1920 @ 0x780 - 80194b0: 6022 str r2, [r4, #0] - 80194b2: 2501 movs r5, #1 - 80194b4: e7c2 b.n 801943c <_scanf_float+0x198> - 80194b6: 2d03 cmp r5, #3 - 80194b8: d0e3 beq.n 8019482 <_scanf_float+0x1de> - 80194ba: 2d05 cmp r5, #5 - 80194bc: e7df b.n 801947e <_scanf_float+0x1da> - 80194be: 2d02 cmp r5, #2 - 80194c0: f47f af23 bne.w 801930a <_scanf_float+0x66> - 80194c4: 2503 movs r5, #3 - 80194c6: e7b9 b.n 801943c <_scanf_float+0x198> - 80194c8: 2d06 cmp r5, #6 - 80194ca: f47f af1e bne.w 801930a <_scanf_float+0x66> - 80194ce: 2507 movs r5, #7 - 80194d0: e7b4 b.n 801943c <_scanf_float+0x198> - 80194d2: 6822 ldr r2, [r4, #0] - 80194d4: 0591 lsls r1, r2, #22 - 80194d6: f57f af18 bpl.w 801930a <_scanf_float+0x66> - 80194da: f422 7220 bic.w r2, r2, #640 @ 0x280 - 80194de: 6022 str r2, [r4, #0] - 80194e0: 9702 str r7, [sp, #8] - 80194e2: e7ab b.n 801943c <_scanf_float+0x198> - 80194e4: 6822 ldr r2, [r4, #0] - 80194e6: f402 61a0 and.w r1, r2, #1280 @ 0x500 - 80194ea: f5b1 6f80 cmp.w r1, #1024 @ 0x400 - 80194ee: d005 beq.n 80194fc <_scanf_float+0x258> - 80194f0: 0550 lsls r0, r2, #21 - 80194f2: f57f af0a bpl.w 801930a <_scanf_float+0x66> - 80194f6: 2f00 cmp r7, #0 - 80194f8: f000 80da beq.w 80196b0 <_scanf_float+0x40c> - 80194fc: 0591 lsls r1, r2, #22 - 80194fe: bf58 it pl - 8019500: 9902 ldrpl r1, [sp, #8] - 8019502: f422 62f0 bic.w r2, r2, #1920 @ 0x780 - 8019506: bf58 it pl - 8019508: 1a79 subpl r1, r7, r1 - 801950a: f442 72c0 orr.w r2, r2, #384 @ 0x180 - 801950e: bf58 it pl - 8019510: e9cd 1604 strdpl r1, r6, [sp, #16] - 8019514: 6022 str r2, [r4, #0] - 8019516: 2700 movs r7, #0 - 8019518: e790 b.n 801943c <_scanf_float+0x198> - 801951a: f04f 0a03 mov.w sl, #3 - 801951e: e78d b.n 801943c <_scanf_float+0x198> - 8019520: f8d4 3180 ldr.w r3, [r4, #384] @ 0x180 - 8019524: 4649 mov r1, r9 - 8019526: 4640 mov r0, r8 - 8019528: 4798 blx r3 - 801952a: 2800 cmp r0, #0 - 801952c: f43f aedf beq.w 80192ee <_scanf_float+0x4a> - 8019530: e6eb b.n 801930a <_scanf_float+0x66> - 8019532: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c - 8019536: f816 1d01 ldrb.w r1, [r6, #-1]! - 801953a: 464a mov r2, r9 - 801953c: 4640 mov r0, r8 - 801953e: 4798 blx r3 - 8019540: 6923 ldr r3, [r4, #16] - 8019542: 3b01 subs r3, #1 - 8019544: 6123 str r3, [r4, #16] - 8019546: e6eb b.n 8019320 <_scanf_float+0x7c> - 8019548: 1e6b subs r3, r5, #1 - 801954a: 2b06 cmp r3, #6 - 801954c: d824 bhi.n 8019598 <_scanf_float+0x2f4> - 801954e: 2d02 cmp r5, #2 - 8019550: d836 bhi.n 80195c0 <_scanf_float+0x31c> - 8019552: 9b01 ldr r3, [sp, #4] - 8019554: 429e cmp r6, r3 - 8019556: f67f aee7 bls.w 8019328 <_scanf_float+0x84> - 801955a: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c - 801955e: f816 1d01 ldrb.w r1, [r6, #-1]! - 8019562: 464a mov r2, r9 - 8019564: 4640 mov r0, r8 - 8019566: 4798 blx r3 - 8019568: 6923 ldr r3, [r4, #16] - 801956a: 3b01 subs r3, #1 - 801956c: 6123 str r3, [r4, #16] - 801956e: e7f0 b.n 8019552 <_scanf_float+0x2ae> - 8019570: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c - 8019574: f81b 1d01 ldrb.w r1, [fp, #-1]! - 8019578: 464a mov r2, r9 - 801957a: 4640 mov r0, r8 - 801957c: 4798 blx r3 - 801957e: 6923 ldr r3, [r4, #16] - 8019580: 3b01 subs r3, #1 - 8019582: 6123 str r3, [r4, #16] - 8019584: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff - 8019588: fa5f fa8a uxtb.w sl, sl - 801958c: f1ba 0f02 cmp.w sl, #2 - 8019590: d1ee bne.n 8019570 <_scanf_float+0x2cc> - 8019592: 3d03 subs r5, #3 - 8019594: b2ed uxtb r5, r5 - 8019596: 1b76 subs r6, r6, r5 - 8019598: 6823 ldr r3, [r4, #0] - 801959a: 05da lsls r2, r3, #23 - 801959c: d530 bpl.n 8019600 <_scanf_float+0x35c> - 801959e: 055d lsls r5, r3, #21 - 80195a0: d511 bpl.n 80195c6 <_scanf_float+0x322> - 80195a2: 9b01 ldr r3, [sp, #4] - 80195a4: 429e cmp r6, r3 - 80195a6: f67f aebf bls.w 8019328 <_scanf_float+0x84> - 80195aa: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c - 80195ae: f816 1d01 ldrb.w r1, [r6, #-1]! - 80195b2: 464a mov r2, r9 - 80195b4: 4640 mov r0, r8 - 80195b6: 4798 blx r3 - 80195b8: 6923 ldr r3, [r4, #16] - 80195ba: 3b01 subs r3, #1 - 80195bc: 6123 str r3, [r4, #16] - 80195be: e7f0 b.n 80195a2 <_scanf_float+0x2fe> - 80195c0: 46aa mov sl, r5 - 80195c2: 46b3 mov fp, r6 - 80195c4: e7de b.n 8019584 <_scanf_float+0x2e0> - 80195c6: f816 1c01 ldrb.w r1, [r6, #-1] - 80195ca: 6923 ldr r3, [r4, #16] - 80195cc: 2965 cmp r1, #101 @ 0x65 - 80195ce: f103 33ff add.w r3, r3, #4294967295 @ 0xffffffff - 80195d2: f106 35ff add.w r5, r6, #4294967295 @ 0xffffffff - 80195d6: 6123 str r3, [r4, #16] - 80195d8: d00c beq.n 80195f4 <_scanf_float+0x350> - 80195da: 2945 cmp r1, #69 @ 0x45 - 80195dc: d00a beq.n 80195f4 <_scanf_float+0x350> - 80195de: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c - 80195e2: 464a mov r2, r9 - 80195e4: 4640 mov r0, r8 - 80195e6: 4798 blx r3 - 80195e8: 6923 ldr r3, [r4, #16] - 80195ea: f816 1c02 ldrb.w r1, [r6, #-2] - 80195ee: 3b01 subs r3, #1 - 80195f0: 1eb5 subs r5, r6, #2 - 80195f2: 6123 str r3, [r4, #16] - 80195f4: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c - 80195f8: 464a mov r2, r9 - 80195fa: 4640 mov r0, r8 - 80195fc: 4798 blx r3 - 80195fe: 462e mov r6, r5 - 8019600: 6822 ldr r2, [r4, #0] - 8019602: f012 0210 ands.w r2, r2, #16 - 8019606: d001 beq.n 801960c <_scanf_float+0x368> - 8019608: 2000 movs r0, #0 - 801960a: e68e b.n 801932a <_scanf_float+0x86> - 801960c: 7032 strb r2, [r6, #0] - 801960e: 6823 ldr r3, [r4, #0] - 8019610: f403 63c0 and.w r3, r3, #1536 @ 0x600 - 8019614: f5b3 6f80 cmp.w r3, #1024 @ 0x400 - 8019618: d124 bne.n 8019664 <_scanf_float+0x3c0> - 801961a: 9b02 ldr r3, [sp, #8] - 801961c: 429f cmp r7, r3 - 801961e: d00a beq.n 8019636 <_scanf_float+0x392> - 8019620: 1bda subs r2, r3, r7 - 8019622: f204 136f addw r3, r4, #367 @ 0x16f - 8019626: 429e cmp r6, r3 - 8019628: bf28 it cs - 801962a: f504 76b7 addcs.w r6, r4, #366 @ 0x16e - 801962e: 4921 ldr r1, [pc, #132] @ (80196b4 <_scanf_float+0x410>) - 8019630: 4630 mov r0, r6 - 8019632: f000 f977 bl 8019924 - 8019636: 9901 ldr r1, [sp, #4] - 8019638: 2200 movs r2, #0 - 801963a: 4640 mov r0, r8 - 801963c: f002 fd18 bl 801c070 <_strtod_r> - 8019640: 9b03 ldr r3, [sp, #12] - 8019642: 6821 ldr r1, [r4, #0] - 8019644: 681b ldr r3, [r3, #0] - 8019646: 0788 lsls r0, r1, #30 - 8019648: ec57 6b10 vmov r6, r7, d0 - 801964c: f103 0204 add.w r2, r3, #4 - 8019650: d515 bpl.n 801967e <_scanf_float+0x3da> - 8019652: 9903 ldr r1, [sp, #12] - 8019654: 600a str r2, [r1, #0] - 8019656: 681b ldr r3, [r3, #0] - 8019658: e9c3 6700 strd r6, r7, [r3] - 801965c: 68e3 ldr r3, [r4, #12] - 801965e: 3301 adds r3, #1 - 8019660: 60e3 str r3, [r4, #12] - 8019662: e7d1 b.n 8019608 <_scanf_float+0x364> - 8019664: 9b04 ldr r3, [sp, #16] - 8019666: 2b00 cmp r3, #0 - 8019668: d0e5 beq.n 8019636 <_scanf_float+0x392> - 801966a: 9905 ldr r1, [sp, #20] - 801966c: 230a movs r3, #10 - 801966e: 3101 adds r1, #1 - 8019670: 4640 mov r0, r8 - 8019672: f002 fd7d bl 801c170 <_strtol_r> - 8019676: 9b04 ldr r3, [sp, #16] - 8019678: 9e05 ldr r6, [sp, #20] - 801967a: 1ac2 subs r2, r0, r3 - 801967c: e7d1 b.n 8019622 <_scanf_float+0x37e> - 801967e: f011 0f04 tst.w r1, #4 - 8019682: 9903 ldr r1, [sp, #12] - 8019684: 600a str r2, [r1, #0] - 8019686: d1e6 bne.n 8019656 <_scanf_float+0x3b2> - 8019688: 681d ldr r5, [r3, #0] - 801968a: 4632 mov r2, r6 - 801968c: 463b mov r3, r7 - 801968e: 4630 mov r0, r6 - 8019690: 4639 mov r1, r7 - 8019692: f7e7 fa23 bl 8000adc <__aeabi_dcmpun> - 8019696: b128 cbz r0, 80196a4 <_scanf_float+0x400> - 8019698: 4807 ldr r0, [pc, #28] @ (80196b8 <_scanf_float+0x414>) - 801969a: f000 fac9 bl 8019c30 - 801969e: ed85 0a00 vstr s0, [r5] - 80196a2: e7db b.n 801965c <_scanf_float+0x3b8> - 80196a4: 4630 mov r0, r6 - 80196a6: 4639 mov r1, r7 - 80196a8: f7e7 fa76 bl 8000b98 <__aeabi_d2f> - 80196ac: 6028 str r0, [r5, #0] - 80196ae: e7d5 b.n 801965c <_scanf_float+0x3b8> - 80196b0: 2700 movs r7, #0 - 80196b2: e62f b.n 8019314 <_scanf_float+0x70> - 80196b4: 0801dce4 .word 0x0801dce4 - 80196b8: 0801de25 .word 0x0801de25 - -080196bc : - 80196bc: 2300 movs r3, #0 - 80196be: b510 push {r4, lr} - 80196c0: 4604 mov r4, r0 - 80196c2: e9c0 3300 strd r3, r3, [r0] - 80196c6: e9c0 3304 strd r3, r3, [r0, #16] - 80196ca: 6083 str r3, [r0, #8] - 80196cc: 8181 strh r1, [r0, #12] - 80196ce: 6643 str r3, [r0, #100] @ 0x64 - 80196d0: 81c2 strh r2, [r0, #14] - 80196d2: 6183 str r3, [r0, #24] - 80196d4: 4619 mov r1, r3 - 80196d6: 2208 movs r2, #8 - 80196d8: 305c adds r0, #92 @ 0x5c - 80196da: f000 fa1b bl 8019b14 - 80196de: 4b0d ldr r3, [pc, #52] @ (8019714 ) - 80196e0: 6263 str r3, [r4, #36] @ 0x24 - 80196e2: 4b0d ldr r3, [pc, #52] @ (8019718 ) - 80196e4: 62a3 str r3, [r4, #40] @ 0x28 - 80196e6: 4b0d ldr r3, [pc, #52] @ (801971c ) - 80196e8: 62e3 str r3, [r4, #44] @ 0x2c - 80196ea: 4b0d ldr r3, [pc, #52] @ (8019720 ) - 80196ec: 6323 str r3, [r4, #48] @ 0x30 - 80196ee: 4b0d ldr r3, [pc, #52] @ (8019724 ) - 80196f0: 6224 str r4, [r4, #32] - 80196f2: 429c cmp r4, r3 - 80196f4: d006 beq.n 8019704 - 80196f6: f103 0268 add.w r2, r3, #104 @ 0x68 - 80196fa: 4294 cmp r4, r2 - 80196fc: d002 beq.n 8019704 - 80196fe: 33d0 adds r3, #208 @ 0xd0 - 8019700: 429c cmp r4, r3 - 8019702: d105 bne.n 8019710 - 8019704: f104 0058 add.w r0, r4, #88 @ 0x58 - 8019708: e8bd 4010 ldmia.w sp!, {r4, lr} - 801970c: f000 ba7e b.w 8019c0c <__retarget_lock_init_recursive> - 8019710: bd10 pop {r4, pc} - 8019712: bf00 nop - 8019714: 08019969 .word 0x08019969 - 8019718: 0801998b .word 0x0801998b - 801971c: 080199c3 .word 0x080199c3 - 8019720: 080199e9 .word 0x080199e9 - 8019724: 20013afc .word 0x20013afc - -08019728 : - 8019728: 4a02 ldr r2, [pc, #8] @ (8019734 ) - 801972a: 4903 ldr r1, [pc, #12] @ (8019738 ) - 801972c: 4803 ldr r0, [pc, #12] @ (801973c ) - 801972e: f000 b86b b.w 8019808 <_fwalk_sglue> - 8019732: bf00 nop - 8019734: 20000110 .word 0x20000110 - 8019738: 0801c7a5 .word 0x0801c7a5 - 801973c: 20000120 .word 0x20000120 - -08019740 : - 8019740: 6841 ldr r1, [r0, #4] - 8019742: 4b0c ldr r3, [pc, #48] @ (8019774 ) - 8019744: 4299 cmp r1, r3 - 8019746: b510 push {r4, lr} - 8019748: 4604 mov r4, r0 - 801974a: d001 beq.n 8019750 - 801974c: f003 f82a bl 801c7a4 <_fflush_r> - 8019750: 68a1 ldr r1, [r4, #8] - 8019752: 4b09 ldr r3, [pc, #36] @ (8019778 ) - 8019754: 4299 cmp r1, r3 - 8019756: d002 beq.n 801975e - 8019758: 4620 mov r0, r4 - 801975a: f003 f823 bl 801c7a4 <_fflush_r> - 801975e: 68e1 ldr r1, [r4, #12] - 8019760: 4b06 ldr r3, [pc, #24] @ (801977c ) - 8019762: 4299 cmp r1, r3 - 8019764: d004 beq.n 8019770 - 8019766: 4620 mov r0, r4 - 8019768: e8bd 4010 ldmia.w sp!, {r4, lr} - 801976c: f003 b81a b.w 801c7a4 <_fflush_r> - 8019770: bd10 pop {r4, pc} - 8019772: bf00 nop - 8019774: 20013afc .word 0x20013afc - 8019778: 20013b64 .word 0x20013b64 - 801977c: 20013bcc .word 0x20013bcc - -08019780 : - 8019780: 4b0c ldr r3, [pc, #48] @ (80197b4 ) - 8019782: 4a0d ldr r2, [pc, #52] @ (80197b8 ) - 8019784: 480d ldr r0, [pc, #52] @ (80197bc ) - 8019786: b510 push {r4, lr} - 8019788: 2104 movs r1, #4 - 801978a: 601a str r2, [r3, #0] - 801978c: 2200 movs r2, #0 - 801978e: f7ff ff95 bl 80196bc - 8019792: 4b0a ldr r3, [pc, #40] @ (80197bc ) - 8019794: 2201 movs r2, #1 - 8019796: 461c mov r4, r3 - 8019798: 2109 movs r1, #9 - 801979a: f103 0068 add.w r0, r3, #104 @ 0x68 - 801979e: f7ff ff8d bl 80196bc - 80197a2: f104 00d0 add.w r0, r4, #208 @ 0xd0 - 80197a6: 2202 movs r2, #2 - 80197a8: e8bd 4010 ldmia.w sp!, {r4, lr} - 80197ac: 2112 movs r1, #18 - 80197ae: f7ff bf85 b.w 80196bc - 80197b2: bf00 nop - 80197b4: 20013c34 .word 0x20013c34 - 80197b8: 08019729 .word 0x08019729 - 80197bc: 20013afc .word 0x20013afc - -080197c0 <__sfp_lock_acquire>: - 80197c0: 4801 ldr r0, [pc, #4] @ (80197c8 <__sfp_lock_acquire+0x8>) - 80197c2: f000 ba24 b.w 8019c0e <__retarget_lock_acquire_recursive> - 80197c6: bf00 nop - 80197c8: 20013c3d .word 0x20013c3d - -080197cc <__sfp_lock_release>: - 80197cc: 4801 ldr r0, [pc, #4] @ (80197d4 <__sfp_lock_release+0x8>) - 80197ce: f000 ba1f b.w 8019c10 <__retarget_lock_release_recursive> - 80197d2: bf00 nop - 80197d4: 20013c3d .word 0x20013c3d - -080197d8 <__sinit>: - 80197d8: b510 push {r4, lr} - 80197da: 4604 mov r4, r0 - 80197dc: f7ff fff0 bl 80197c0 <__sfp_lock_acquire> - 80197e0: 6a23 ldr r3, [r4, #32] - 80197e2: b11b cbz r3, 80197ec <__sinit+0x14> - 80197e4: e8bd 4010 ldmia.w sp!, {r4, lr} - 80197e8: f7ff bff0 b.w 80197cc <__sfp_lock_release> - 80197ec: 4b04 ldr r3, [pc, #16] @ (8019800 <__sinit+0x28>) - 80197ee: 6223 str r3, [r4, #32] - 80197f0: 4b04 ldr r3, [pc, #16] @ (8019804 <__sinit+0x2c>) - 80197f2: 681b ldr r3, [r3, #0] - 80197f4: 2b00 cmp r3, #0 - 80197f6: d1f5 bne.n 80197e4 <__sinit+0xc> - 80197f8: f7ff ffc2 bl 8019780 - 80197fc: e7f2 b.n 80197e4 <__sinit+0xc> - 80197fe: bf00 nop - 8019800: 08019741 .word 0x08019741 - 8019804: 20013c34 .word 0x20013c34 - -08019808 <_fwalk_sglue>: - 8019808: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 801980c: 4607 mov r7, r0 - 801980e: 4688 mov r8, r1 - 8019810: 4614 mov r4, r2 - 8019812: 2600 movs r6, #0 - 8019814: e9d4 9501 ldrd r9, r5, [r4, #4] - 8019818: f1b9 0901 subs.w r9, r9, #1 - 801981c: d505 bpl.n 801982a <_fwalk_sglue+0x22> - 801981e: 6824 ldr r4, [r4, #0] - 8019820: 2c00 cmp r4, #0 - 8019822: d1f7 bne.n 8019814 <_fwalk_sglue+0xc> - 8019824: 4630 mov r0, r6 - 8019826: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 801982a: 89ab ldrh r3, [r5, #12] - 801982c: 2b01 cmp r3, #1 - 801982e: d907 bls.n 8019840 <_fwalk_sglue+0x38> - 8019830: f9b5 300e ldrsh.w r3, [r5, #14] - 8019834: 3301 adds r3, #1 - 8019836: d003 beq.n 8019840 <_fwalk_sglue+0x38> - 8019838: 4629 mov r1, r5 - 801983a: 4638 mov r0, r7 - 801983c: 47c0 blx r8 - 801983e: 4306 orrs r6, r0 - 8019840: 3568 adds r5, #104 @ 0x68 - 8019842: e7e9 b.n 8019818 <_fwalk_sglue+0x10> - -08019844 : - 8019844: b40f push {r0, r1, r2, r3} - 8019846: b507 push {r0, r1, r2, lr} - 8019848: 4906 ldr r1, [pc, #24] @ (8019864 ) - 801984a: ab04 add r3, sp, #16 - 801984c: 6808 ldr r0, [r1, #0] - 801984e: f853 2b04 ldr.w r2, [r3], #4 - 8019852: 6881 ldr r1, [r0, #8] - 8019854: 9301 str r3, [sp, #4] - 8019856: f002 fe0f bl 801c478 <_vfiprintf_r> - 801985a: b003 add sp, #12 - 801985c: f85d eb04 ldr.w lr, [sp], #4 - 8019860: b004 add sp, #16 - 8019862: 4770 bx lr - 8019864: 2000011c .word 0x2000011c - -08019868 <_puts_r>: - 8019868: 6a03 ldr r3, [r0, #32] - 801986a: b570 push {r4, r5, r6, lr} - 801986c: 6884 ldr r4, [r0, #8] - 801986e: 4605 mov r5, r0 - 8019870: 460e mov r6, r1 - 8019872: b90b cbnz r3, 8019878 <_puts_r+0x10> - 8019874: f7ff ffb0 bl 80197d8 <__sinit> - 8019878: 6e63 ldr r3, [r4, #100] @ 0x64 - 801987a: 07db lsls r3, r3, #31 - 801987c: d405 bmi.n 801988a <_puts_r+0x22> - 801987e: 89a3 ldrh r3, [r4, #12] - 8019880: 0598 lsls r0, r3, #22 - 8019882: d402 bmi.n 801988a <_puts_r+0x22> - 8019884: 6da0 ldr r0, [r4, #88] @ 0x58 - 8019886: f000 f9c2 bl 8019c0e <__retarget_lock_acquire_recursive> - 801988a: 89a3 ldrh r3, [r4, #12] - 801988c: 0719 lsls r1, r3, #28 - 801988e: d502 bpl.n 8019896 <_puts_r+0x2e> - 8019890: 6923 ldr r3, [r4, #16] - 8019892: 2b00 cmp r3, #0 - 8019894: d135 bne.n 8019902 <_puts_r+0x9a> - 8019896: 4621 mov r1, r4 - 8019898: 4628 mov r0, r5 - 801989a: f000 f8e7 bl 8019a6c <__swsetup_r> - 801989e: b380 cbz r0, 8019902 <_puts_r+0x9a> - 80198a0: f04f 35ff mov.w r5, #4294967295 @ 0xffffffff - 80198a4: 6e63 ldr r3, [r4, #100] @ 0x64 - 80198a6: 07da lsls r2, r3, #31 - 80198a8: d405 bmi.n 80198b6 <_puts_r+0x4e> - 80198aa: 89a3 ldrh r3, [r4, #12] - 80198ac: 059b lsls r3, r3, #22 - 80198ae: d402 bmi.n 80198b6 <_puts_r+0x4e> - 80198b0: 6da0 ldr r0, [r4, #88] @ 0x58 - 80198b2: f000 f9ad bl 8019c10 <__retarget_lock_release_recursive> - 80198b6: 4628 mov r0, r5 - 80198b8: bd70 pop {r4, r5, r6, pc} - 80198ba: 2b00 cmp r3, #0 - 80198bc: da04 bge.n 80198c8 <_puts_r+0x60> - 80198be: 69a2 ldr r2, [r4, #24] - 80198c0: 4293 cmp r3, r2 - 80198c2: db17 blt.n 80198f4 <_puts_r+0x8c> - 80198c4: 290a cmp r1, #10 - 80198c6: d015 beq.n 80198f4 <_puts_r+0x8c> - 80198c8: 6823 ldr r3, [r4, #0] - 80198ca: 1c5a adds r2, r3, #1 - 80198cc: 6022 str r2, [r4, #0] - 80198ce: 7019 strb r1, [r3, #0] - 80198d0: 68a3 ldr r3, [r4, #8] - 80198d2: f816 1f01 ldrb.w r1, [r6, #1]! - 80198d6: 3b01 subs r3, #1 - 80198d8: 60a3 str r3, [r4, #8] - 80198da: 2900 cmp r1, #0 - 80198dc: d1ed bne.n 80198ba <_puts_r+0x52> - 80198de: 2b00 cmp r3, #0 - 80198e0: da11 bge.n 8019906 <_puts_r+0x9e> - 80198e2: 4622 mov r2, r4 - 80198e4: 210a movs r1, #10 - 80198e6: 4628 mov r0, r5 - 80198e8: f000 f882 bl 80199f0 <__swbuf_r> +080194fc <_printf_float>: + 80194fc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8019500: b08d sub sp, #52 @ 0x34 + 8019502: 460c mov r4, r1 + 8019504: f8dd 8058 ldr.w r8, [sp, #88] @ 0x58 + 8019508: 4616 mov r6, r2 + 801950a: 461f mov r7, r3 + 801950c: 4605 mov r5, r0 + 801950e: f000 ff01 bl 801a314 <_localeconv_r> + 8019512: 6803 ldr r3, [r0, #0] + 8019514: 9306 str r3, [sp, #24] + 8019516: 4618 mov r0, r3 + 8019518: f7e6 fe82 bl 8000220 + 801951c: 2300 movs r3, #0 + 801951e: 930a str r3, [sp, #40] @ 0x28 + 8019520: f8d8 3000 ldr.w r3, [r8] + 8019524: f894 a018 ldrb.w sl, [r4, #24] + 8019528: f8d4 b000 ldr.w fp, [r4] + 801952c: 9007 str r0, [sp, #28] + 801952e: 3307 adds r3, #7 + 8019530: f023 0307 bic.w r3, r3, #7 + 8019534: ecb3 7b02 vldmia r3!, {d7} + 8019538: ed8d 7b04 vstr d7, [sp, #16] + 801953c: f8c8 3000 str.w r3, [r8] + 8019540: e9dd 8304 ldrd r8, r3, [sp, #16] + 8019544: f023 4900 bic.w r9, r3, #2147483648 @ 0x80000000 + 8019548: ed84 7b12 vstr d7, [r4, #72] @ 0x48 + 801954c: 4b9c ldr r3, [pc, #624] @ (80197c0 <_printf_float+0x2c4>) + 801954e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8019552: 4640 mov r0, r8 + 8019554: 4649 mov r1, r9 + 8019556: f7e7 fac1 bl 8000adc <__aeabi_dcmpun> + 801955a: bb70 cbnz r0, 80195ba <_printf_float+0xbe> + 801955c: 4b98 ldr r3, [pc, #608] @ (80197c0 <_printf_float+0x2c4>) + 801955e: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 8019562: 4640 mov r0, r8 + 8019564: 4649 mov r1, r9 + 8019566: f7e7 fa9b bl 8000aa0 <__aeabi_dcmple> + 801956a: bb30 cbnz r0, 80195ba <_printf_float+0xbe> + 801956c: e9dd 0104 ldrd r0, r1, [sp, #16] + 8019570: 2200 movs r2, #0 + 8019572: 2300 movs r3, #0 + 8019574: f7e7 fa8a bl 8000a8c <__aeabi_dcmplt> + 8019578: b110 cbz r0, 8019580 <_printf_float+0x84> + 801957a: 232d movs r3, #45 @ 0x2d + 801957c: f884 3043 strb.w r3, [r4, #67] @ 0x43 + 8019580: 4a90 ldr r2, [pc, #576] @ (80197c4 <_printf_float+0x2c8>) + 8019582: 4b91 ldr r3, [pc, #580] @ (80197c8 <_printf_float+0x2cc>) + 8019584: f1ba 0f47 cmp.w sl, #71 @ 0x47 + 8019588: bf8c ite hi + 801958a: 4690 movhi r8, r2 + 801958c: 4698 movls r8, r3 + 801958e: 2303 movs r3, #3 + 8019590: 6123 str r3, [r4, #16] + 8019592: f02b 0304 bic.w r3, fp, #4 + 8019596: 6023 str r3, [r4, #0] + 8019598: f04f 0900 mov.w r9, #0 + 801959c: 9700 str r7, [sp, #0] + 801959e: 4633 mov r3, r6 + 80195a0: aa0b add r2, sp, #44 @ 0x2c + 80195a2: 4621 mov r1, r4 + 80195a4: 4628 mov r0, r5 + 80195a6: f000 f9d1 bl 801994c <_printf_common> + 80195aa: 3001 adds r0, #1 + 80195ac: f040 808c bne.w 80196c8 <_printf_float+0x1cc> + 80195b0: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 80195b4: b00d add sp, #52 @ 0x34 + 80195b6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 80195ba: e9dd 2304 ldrd r2, r3, [sp, #16] + 80195be: 4610 mov r0, r2 + 80195c0: 4619 mov r1, r3 + 80195c2: f7e7 fa8b bl 8000adc <__aeabi_dcmpun> + 80195c6: b140 cbz r0, 80195da <_printf_float+0xde> + 80195c8: 9b05 ldr r3, [sp, #20] + 80195ca: 4a80 ldr r2, [pc, #512] @ (80197cc <_printf_float+0x2d0>) + 80195cc: 2b00 cmp r3, #0 + 80195ce: bfbc itt lt + 80195d0: 232d movlt r3, #45 @ 0x2d + 80195d2: f884 3043 strblt.w r3, [r4, #67] @ 0x43 + 80195d6: 4b7e ldr r3, [pc, #504] @ (80197d0 <_printf_float+0x2d4>) + 80195d8: e7d4 b.n 8019584 <_printf_float+0x88> + 80195da: 6863 ldr r3, [r4, #4] + 80195dc: 1c5a adds r2, r3, #1 + 80195de: f00a 09df and.w r9, sl, #223 @ 0xdf + 80195e2: d13b bne.n 801965c <_printf_float+0x160> + 80195e4: 2306 movs r3, #6 + 80195e6: 6063 str r3, [r4, #4] + 80195e8: f44b 6280 orr.w r2, fp, #1024 @ 0x400 + 80195ec: 2300 movs r3, #0 + 80195ee: 6022 str r2, [r4, #0] + 80195f0: 9303 str r3, [sp, #12] + 80195f2: ab0a add r3, sp, #40 @ 0x28 + 80195f4: e9cd a301 strd sl, r3, [sp, #4] + 80195f8: ab09 add r3, sp, #36 @ 0x24 + 80195fa: 9300 str r3, [sp, #0] + 80195fc: 6861 ldr r1, [r4, #4] + 80195fe: ed9d 0b04 vldr d0, [sp, #16] + 8019602: f10d 0323 add.w r3, sp, #35 @ 0x23 + 8019606: 4628 mov r0, r5 + 8019608: f7ff fed8 bl 80193bc <__cvt> + 801960c: f1b9 0f47 cmp.w r9, #71 @ 0x47 + 8019610: 9909 ldr r1, [sp, #36] @ 0x24 + 8019612: 4680 mov r8, r0 + 8019614: d129 bne.n 801966a <_printf_float+0x16e> + 8019616: 1cc8 adds r0, r1, #3 + 8019618: db02 blt.n 8019620 <_printf_float+0x124> + 801961a: 6863 ldr r3, [r4, #4] + 801961c: 428b cmp r3, r1 + 801961e: da41 bge.n 80196a4 <_printf_float+0x1a8> + 8019620: f1aa 0a02 sub.w sl, sl, #2 + 8019624: fa5f fa8a uxtb.w sl, sl + 8019628: 3901 subs r1, #1 + 801962a: 4652 mov r2, sl + 801962c: f104 0050 add.w r0, r4, #80 @ 0x50 + 8019630: 9109 str r1, [sp, #36] @ 0x24 + 8019632: f7ff ff28 bl 8019486 <__exponent> + 8019636: 9a0a ldr r2, [sp, #40] @ 0x28 + 8019638: 1813 adds r3, r2, r0 + 801963a: 2a01 cmp r2, #1 + 801963c: 4681 mov r9, r0 + 801963e: 6123 str r3, [r4, #16] + 8019640: dc02 bgt.n 8019648 <_printf_float+0x14c> + 8019642: 6822 ldr r2, [r4, #0] + 8019644: 07d2 lsls r2, r2, #31 + 8019646: d501 bpl.n 801964c <_printf_float+0x150> + 8019648: 3301 adds r3, #1 + 801964a: 6123 str r3, [r4, #16] + 801964c: f89d 3023 ldrb.w r3, [sp, #35] @ 0x23 + 8019650: 2b00 cmp r3, #0 + 8019652: d0a3 beq.n 801959c <_printf_float+0xa0> + 8019654: 232d movs r3, #45 @ 0x2d + 8019656: f884 3043 strb.w r3, [r4, #67] @ 0x43 + 801965a: e79f b.n 801959c <_printf_float+0xa0> + 801965c: f1b9 0f47 cmp.w r9, #71 @ 0x47 + 8019660: d1c2 bne.n 80195e8 <_printf_float+0xec> + 8019662: 2b00 cmp r3, #0 + 8019664: d1c0 bne.n 80195e8 <_printf_float+0xec> + 8019666: 2301 movs r3, #1 + 8019668: e7bd b.n 80195e6 <_printf_float+0xea> + 801966a: f1ba 0f65 cmp.w sl, #101 @ 0x65 + 801966e: d9db bls.n 8019628 <_printf_float+0x12c> + 8019670: f1ba 0f66 cmp.w sl, #102 @ 0x66 + 8019674: d118 bne.n 80196a8 <_printf_float+0x1ac> + 8019676: 2900 cmp r1, #0 + 8019678: 6863 ldr r3, [r4, #4] + 801967a: dd0b ble.n 8019694 <_printf_float+0x198> + 801967c: 6121 str r1, [r4, #16] + 801967e: b913 cbnz r3, 8019686 <_printf_float+0x18a> + 8019680: 6822 ldr r2, [r4, #0] + 8019682: 07d0 lsls r0, r2, #31 + 8019684: d502 bpl.n 801968c <_printf_float+0x190> + 8019686: 3301 adds r3, #1 + 8019688: 440b add r3, r1 + 801968a: 6123 str r3, [r4, #16] + 801968c: 65a1 str r1, [r4, #88] @ 0x58 + 801968e: f04f 0900 mov.w r9, #0 + 8019692: e7db b.n 801964c <_printf_float+0x150> + 8019694: b913 cbnz r3, 801969c <_printf_float+0x1a0> + 8019696: 6822 ldr r2, [r4, #0] + 8019698: 07d2 lsls r2, r2, #31 + 801969a: d501 bpl.n 80196a0 <_printf_float+0x1a4> + 801969c: 3302 adds r3, #2 + 801969e: e7f4 b.n 801968a <_printf_float+0x18e> + 80196a0: 2301 movs r3, #1 + 80196a2: e7f2 b.n 801968a <_printf_float+0x18e> + 80196a4: f04f 0a67 mov.w sl, #103 @ 0x67 + 80196a8: 9b0a ldr r3, [sp, #40] @ 0x28 + 80196aa: 428b cmp r3, r1 + 80196ac: dc05 bgt.n 80196ba <_printf_float+0x1be> + 80196ae: 6823 ldr r3, [r4, #0] + 80196b0: 6121 str r1, [r4, #16] + 80196b2: 07d8 lsls r0, r3, #31 + 80196b4: d5ea bpl.n 801968c <_printf_float+0x190> + 80196b6: 1c4b adds r3, r1, #1 + 80196b8: e7e7 b.n 801968a <_printf_float+0x18e> + 80196ba: 2900 cmp r1, #0 + 80196bc: bfd4 ite le + 80196be: f1c1 0202 rsble r2, r1, #2 + 80196c2: 2201 movgt r2, #1 + 80196c4: 4413 add r3, r2 + 80196c6: e7e0 b.n 801968a <_printf_float+0x18e> + 80196c8: 6823 ldr r3, [r4, #0] + 80196ca: 055a lsls r2, r3, #21 + 80196cc: d407 bmi.n 80196de <_printf_float+0x1e2> + 80196ce: 6923 ldr r3, [r4, #16] + 80196d0: 4642 mov r2, r8 + 80196d2: 4631 mov r1, r6 + 80196d4: 4628 mov r0, r5 + 80196d6: 47b8 blx r7 + 80196d8: 3001 adds r0, #1 + 80196da: d12b bne.n 8019734 <_printf_float+0x238> + 80196dc: e768 b.n 80195b0 <_printf_float+0xb4> + 80196de: f1ba 0f65 cmp.w sl, #101 @ 0x65 + 80196e2: f240 80dd bls.w 80198a0 <_printf_float+0x3a4> + 80196e6: e9d4 0112 ldrd r0, r1, [r4, #72] @ 0x48 + 80196ea: 2200 movs r2, #0 + 80196ec: 2300 movs r3, #0 + 80196ee: f7e7 f9c3 bl 8000a78 <__aeabi_dcmpeq> + 80196f2: 2800 cmp r0, #0 + 80196f4: d033 beq.n 801975e <_printf_float+0x262> + 80196f6: 4a37 ldr r2, [pc, #220] @ (80197d4 <_printf_float+0x2d8>) + 80196f8: 2301 movs r3, #1 + 80196fa: 4631 mov r1, r6 + 80196fc: 4628 mov r0, r5 + 80196fe: 47b8 blx r7 + 8019700: 3001 adds r0, #1 + 8019702: f43f af55 beq.w 80195b0 <_printf_float+0xb4> + 8019706: e9dd 3809 ldrd r3, r8, [sp, #36] @ 0x24 + 801970a: 4543 cmp r3, r8 + 801970c: db02 blt.n 8019714 <_printf_float+0x218> + 801970e: 6823 ldr r3, [r4, #0] + 8019710: 07d8 lsls r0, r3, #31 + 8019712: d50f bpl.n 8019734 <_printf_float+0x238> + 8019714: e9dd 2306 ldrd r2, r3, [sp, #24] + 8019718: 4631 mov r1, r6 + 801971a: 4628 mov r0, r5 + 801971c: 47b8 blx r7 + 801971e: 3001 adds r0, #1 + 8019720: f43f af46 beq.w 80195b0 <_printf_float+0xb4> + 8019724: f04f 0900 mov.w r9, #0 + 8019728: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff + 801972c: f104 0a1a add.w sl, r4, #26 + 8019730: 45c8 cmp r8, r9 + 8019732: dc09 bgt.n 8019748 <_printf_float+0x24c> + 8019734: 6823 ldr r3, [r4, #0] + 8019736: 079b lsls r3, r3, #30 + 8019738: f100 8103 bmi.w 8019942 <_printf_float+0x446> + 801973c: 68e0 ldr r0, [r4, #12] + 801973e: 9b0b ldr r3, [sp, #44] @ 0x2c + 8019740: 4298 cmp r0, r3 + 8019742: bfb8 it lt + 8019744: 4618 movlt r0, r3 + 8019746: e735 b.n 80195b4 <_printf_float+0xb8> + 8019748: 2301 movs r3, #1 + 801974a: 4652 mov r2, sl + 801974c: 4631 mov r1, r6 + 801974e: 4628 mov r0, r5 + 8019750: 47b8 blx r7 + 8019752: 3001 adds r0, #1 + 8019754: f43f af2c beq.w 80195b0 <_printf_float+0xb4> + 8019758: f109 0901 add.w r9, r9, #1 + 801975c: e7e8 b.n 8019730 <_printf_float+0x234> + 801975e: 9b09 ldr r3, [sp, #36] @ 0x24 + 8019760: 2b00 cmp r3, #0 + 8019762: dc39 bgt.n 80197d8 <_printf_float+0x2dc> + 8019764: 4a1b ldr r2, [pc, #108] @ (80197d4 <_printf_float+0x2d8>) + 8019766: 2301 movs r3, #1 + 8019768: 4631 mov r1, r6 + 801976a: 4628 mov r0, r5 + 801976c: 47b8 blx r7 + 801976e: 3001 adds r0, #1 + 8019770: f43f af1e beq.w 80195b0 <_printf_float+0xb4> + 8019774: e9dd 3909 ldrd r3, r9, [sp, #36] @ 0x24 + 8019778: ea59 0303 orrs.w r3, r9, r3 + 801977c: d102 bne.n 8019784 <_printf_float+0x288> + 801977e: 6823 ldr r3, [r4, #0] + 8019780: 07d9 lsls r1, r3, #31 + 8019782: d5d7 bpl.n 8019734 <_printf_float+0x238> + 8019784: e9dd 2306 ldrd r2, r3, [sp, #24] + 8019788: 4631 mov r1, r6 + 801978a: 4628 mov r0, r5 + 801978c: 47b8 blx r7 + 801978e: 3001 adds r0, #1 + 8019790: f43f af0e beq.w 80195b0 <_printf_float+0xb4> + 8019794: f04f 0a00 mov.w sl, #0 + 8019798: f104 0b1a add.w fp, r4, #26 + 801979c: 9b09 ldr r3, [sp, #36] @ 0x24 + 801979e: 425b negs r3, r3 + 80197a0: 4553 cmp r3, sl + 80197a2: dc01 bgt.n 80197a8 <_printf_float+0x2ac> + 80197a4: 464b mov r3, r9 + 80197a6: e793 b.n 80196d0 <_printf_float+0x1d4> + 80197a8: 2301 movs r3, #1 + 80197aa: 465a mov r2, fp + 80197ac: 4631 mov r1, r6 + 80197ae: 4628 mov r0, r5 + 80197b0: 47b8 blx r7 + 80197b2: 3001 adds r0, #1 + 80197b4: f43f aefc beq.w 80195b0 <_printf_float+0xb4> + 80197b8: f10a 0a01 add.w sl, sl, #1 + 80197bc: e7ee b.n 801979c <_printf_float+0x2a0> + 80197be: bf00 nop + 80197c0: 7fefffff .word 0x7fefffff + 80197c4: 0801e614 .word 0x0801e614 + 80197c8: 0801e610 .word 0x0801e610 + 80197cc: 0801e61c .word 0x0801e61c + 80197d0: 0801e618 .word 0x0801e618 + 80197d4: 0801e620 .word 0x0801e620 + 80197d8: 6da3 ldr r3, [r4, #88] @ 0x58 + 80197da: f8dd a028 ldr.w sl, [sp, #40] @ 0x28 + 80197de: 4553 cmp r3, sl + 80197e0: bfa8 it ge + 80197e2: 4653 movge r3, sl + 80197e4: 2b00 cmp r3, #0 + 80197e6: 4699 mov r9, r3 + 80197e8: dc36 bgt.n 8019858 <_printf_float+0x35c> + 80197ea: f04f 0b00 mov.w fp, #0 + 80197ee: ea29 79e9 bic.w r9, r9, r9, asr #31 + 80197f2: f104 021a add.w r2, r4, #26 + 80197f6: 6da3 ldr r3, [r4, #88] @ 0x58 + 80197f8: 9304 str r3, [sp, #16] + 80197fa: eba3 0309 sub.w r3, r3, r9 + 80197fe: 455b cmp r3, fp + 8019800: dc31 bgt.n 8019866 <_printf_float+0x36a> + 8019802: 9b09 ldr r3, [sp, #36] @ 0x24 + 8019804: 459a cmp sl, r3 + 8019806: dc3a bgt.n 801987e <_printf_float+0x382> + 8019808: 6823 ldr r3, [r4, #0] + 801980a: 07da lsls r2, r3, #31 + 801980c: d437 bmi.n 801987e <_printf_float+0x382> + 801980e: 9b09 ldr r3, [sp, #36] @ 0x24 + 8019810: ebaa 0903 sub.w r9, sl, r3 + 8019814: 9b04 ldr r3, [sp, #16] + 8019816: ebaa 0303 sub.w r3, sl, r3 + 801981a: 4599 cmp r9, r3 + 801981c: bfa8 it ge + 801981e: 4699 movge r9, r3 + 8019820: f1b9 0f00 cmp.w r9, #0 + 8019824: dc33 bgt.n 801988e <_printf_float+0x392> + 8019826: f04f 0800 mov.w r8, #0 + 801982a: ea29 79e9 bic.w r9, r9, r9, asr #31 + 801982e: f104 0b1a add.w fp, r4, #26 + 8019832: 9b09 ldr r3, [sp, #36] @ 0x24 + 8019834: ebaa 0303 sub.w r3, sl, r3 + 8019838: eba3 0309 sub.w r3, r3, r9 + 801983c: 4543 cmp r3, r8 + 801983e: f77f af79 ble.w 8019734 <_printf_float+0x238> + 8019842: 2301 movs r3, #1 + 8019844: 465a mov r2, fp + 8019846: 4631 mov r1, r6 + 8019848: 4628 mov r0, r5 + 801984a: 47b8 blx r7 + 801984c: 3001 adds r0, #1 + 801984e: f43f aeaf beq.w 80195b0 <_printf_float+0xb4> + 8019852: f108 0801 add.w r8, r8, #1 + 8019856: e7ec b.n 8019832 <_printf_float+0x336> + 8019858: 4642 mov r2, r8 + 801985a: 4631 mov r1, r6 + 801985c: 4628 mov r0, r5 + 801985e: 47b8 blx r7 + 8019860: 3001 adds r0, #1 + 8019862: d1c2 bne.n 80197ea <_printf_float+0x2ee> + 8019864: e6a4 b.n 80195b0 <_printf_float+0xb4> + 8019866: 2301 movs r3, #1 + 8019868: 4631 mov r1, r6 + 801986a: 4628 mov r0, r5 + 801986c: 9204 str r2, [sp, #16] + 801986e: 47b8 blx r7 + 8019870: 3001 adds r0, #1 + 8019872: f43f ae9d beq.w 80195b0 <_printf_float+0xb4> + 8019876: 9a04 ldr r2, [sp, #16] + 8019878: f10b 0b01 add.w fp, fp, #1 + 801987c: e7bb b.n 80197f6 <_printf_float+0x2fa> + 801987e: e9dd 2306 ldrd r2, r3, [sp, #24] + 8019882: 4631 mov r1, r6 + 8019884: 4628 mov r0, r5 + 8019886: 47b8 blx r7 + 8019888: 3001 adds r0, #1 + 801988a: d1c0 bne.n 801980e <_printf_float+0x312> + 801988c: e690 b.n 80195b0 <_printf_float+0xb4> + 801988e: 9a04 ldr r2, [sp, #16] + 8019890: 464b mov r3, r9 + 8019892: 4442 add r2, r8 + 8019894: 4631 mov r1, r6 + 8019896: 4628 mov r0, r5 + 8019898: 47b8 blx r7 + 801989a: 3001 adds r0, #1 + 801989c: d1c3 bne.n 8019826 <_printf_float+0x32a> + 801989e: e687 b.n 80195b0 <_printf_float+0xb4> + 80198a0: f8dd a028 ldr.w sl, [sp, #40] @ 0x28 + 80198a4: f1ba 0f01 cmp.w sl, #1 + 80198a8: dc01 bgt.n 80198ae <_printf_float+0x3b2> + 80198aa: 07db lsls r3, r3, #31 + 80198ac: d536 bpl.n 801991c <_printf_float+0x420> + 80198ae: 2301 movs r3, #1 + 80198b0: 4642 mov r2, r8 + 80198b2: 4631 mov r1, r6 + 80198b4: 4628 mov r0, r5 + 80198b6: 47b8 blx r7 + 80198b8: 3001 adds r0, #1 + 80198ba: f43f ae79 beq.w 80195b0 <_printf_float+0xb4> + 80198be: e9dd 2306 ldrd r2, r3, [sp, #24] + 80198c2: 4631 mov r1, r6 + 80198c4: 4628 mov r0, r5 + 80198c6: 47b8 blx r7 + 80198c8: 3001 adds r0, #1 + 80198ca: f43f ae71 beq.w 80195b0 <_printf_float+0xb4> + 80198ce: e9d4 0112 ldrd r0, r1, [r4, #72] @ 0x48 + 80198d2: 2200 movs r2, #0 + 80198d4: 2300 movs r3, #0 + 80198d6: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff + 80198da: f7e7 f8cd bl 8000a78 <__aeabi_dcmpeq> + 80198de: b9c0 cbnz r0, 8019912 <_printf_float+0x416> + 80198e0: 4653 mov r3, sl + 80198e2: f108 0201 add.w r2, r8, #1 + 80198e6: 4631 mov r1, r6 + 80198e8: 4628 mov r0, r5 + 80198ea: 47b8 blx r7 80198ec: 3001 adds r0, #1 - 80198ee: d0d7 beq.n 80198a0 <_puts_r+0x38> - 80198f0: 250a movs r5, #10 - 80198f2: e7d7 b.n 80198a4 <_puts_r+0x3c> - 80198f4: 4622 mov r2, r4 - 80198f6: 4628 mov r0, r5 - 80198f8: f000 f87a bl 80199f0 <__swbuf_r> + 80198ee: d10c bne.n 801990a <_printf_float+0x40e> + 80198f0: e65e b.n 80195b0 <_printf_float+0xb4> + 80198f2: 2301 movs r3, #1 + 80198f4: 465a mov r2, fp + 80198f6: 4631 mov r1, r6 + 80198f8: 4628 mov r0, r5 + 80198fa: 47b8 blx r7 80198fc: 3001 adds r0, #1 - 80198fe: d1e7 bne.n 80198d0 <_puts_r+0x68> - 8019900: e7ce b.n 80198a0 <_puts_r+0x38> - 8019902: 3e01 subs r6, #1 - 8019904: e7e4 b.n 80198d0 <_puts_r+0x68> - 8019906: 6823 ldr r3, [r4, #0] - 8019908: 1c5a adds r2, r3, #1 - 801990a: 6022 str r2, [r4, #0] - 801990c: 220a movs r2, #10 - 801990e: 701a strb r2, [r3, #0] - 8019910: e7ee b.n 80198f0 <_puts_r+0x88> - ... + 80198fe: f43f ae57 beq.w 80195b0 <_printf_float+0xb4> + 8019902: f108 0801 add.w r8, r8, #1 + 8019906: 45d0 cmp r8, sl + 8019908: dbf3 blt.n 80198f2 <_printf_float+0x3f6> + 801990a: 464b mov r3, r9 + 801990c: f104 0250 add.w r2, r4, #80 @ 0x50 + 8019910: e6df b.n 80196d2 <_printf_float+0x1d6> + 8019912: f04f 0800 mov.w r8, #0 + 8019916: f104 0b1a add.w fp, r4, #26 + 801991a: e7f4 b.n 8019906 <_printf_float+0x40a> + 801991c: 2301 movs r3, #1 + 801991e: 4642 mov r2, r8 + 8019920: e7e1 b.n 80198e6 <_printf_float+0x3ea> + 8019922: 2301 movs r3, #1 + 8019924: 464a mov r2, r9 + 8019926: 4631 mov r1, r6 + 8019928: 4628 mov r0, r5 + 801992a: 47b8 blx r7 + 801992c: 3001 adds r0, #1 + 801992e: f43f ae3f beq.w 80195b0 <_printf_float+0xb4> + 8019932: f108 0801 add.w r8, r8, #1 + 8019936: 68e3 ldr r3, [r4, #12] + 8019938: 990b ldr r1, [sp, #44] @ 0x2c + 801993a: 1a5b subs r3, r3, r1 + 801993c: 4543 cmp r3, r8 + 801993e: dcf0 bgt.n 8019922 <_printf_float+0x426> + 8019940: e6fc b.n 801973c <_printf_float+0x240> + 8019942: f04f 0800 mov.w r8, #0 + 8019946: f104 0919 add.w r9, r4, #25 + 801994a: e7f4 b.n 8019936 <_printf_float+0x43a> -08019914 : - 8019914: 4b02 ldr r3, [pc, #8] @ (8019920 ) - 8019916: 4601 mov r1, r0 - 8019918: 6818 ldr r0, [r3, #0] - 801991a: f7ff bfa5 b.w 8019868 <_puts_r> - 801991e: bf00 nop - 8019920: 2000011c .word 0x2000011c - -08019924 : - 8019924: b40e push {r1, r2, r3} - 8019926: b510 push {r4, lr} - 8019928: b09d sub sp, #116 @ 0x74 - 801992a: ab1f add r3, sp, #124 @ 0x7c - 801992c: 9002 str r0, [sp, #8] - 801992e: 9006 str r0, [sp, #24] - 8019930: f06f 4100 mvn.w r1, #2147483648 @ 0x80000000 - 8019934: 480a ldr r0, [pc, #40] @ (8019960 ) - 8019936: 9107 str r1, [sp, #28] - 8019938: 9104 str r1, [sp, #16] - 801993a: 490a ldr r1, [pc, #40] @ (8019964 ) - 801993c: f853 2b04 ldr.w r2, [r3], #4 - 8019940: 9105 str r1, [sp, #20] - 8019942: 2400 movs r4, #0 - 8019944: a902 add r1, sp, #8 - 8019946: 6800 ldr r0, [r0, #0] - 8019948: 9301 str r3, [sp, #4] - 801994a: 941b str r4, [sp, #108] @ 0x6c - 801994c: f002 fc72 bl 801c234 <_svfiprintf_r> - 8019950: 9b02 ldr r3, [sp, #8] - 8019952: 701c strb r4, [r3, #0] - 8019954: b01d add sp, #116 @ 0x74 - 8019956: e8bd 4010 ldmia.w sp!, {r4, lr} - 801995a: b003 add sp, #12 - 801995c: 4770 bx lr - 801995e: bf00 nop - 8019960: 2000011c .word 0x2000011c - 8019964: ffff0208 .word 0xffff0208 - -08019968 <__sread>: - 8019968: b510 push {r4, lr} +0801994c <_printf_common>: + 801994c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 8019950: 4616 mov r6, r2 + 8019952: 4698 mov r8, r3 + 8019954: 688a ldr r2, [r1, #8] + 8019956: 690b ldr r3, [r1, #16] + 8019958: f8dd 9020 ldr.w r9, [sp, #32] + 801995c: 4293 cmp r3, r2 + 801995e: bfb8 it lt + 8019960: 4613 movlt r3, r2 + 8019962: 6033 str r3, [r6, #0] + 8019964: f891 2043 ldrb.w r2, [r1, #67] @ 0x43 + 8019968: 4607 mov r7, r0 801996a: 460c mov r4, r1 - 801996c: f9b1 100e ldrsh.w r1, [r1, #14] - 8019970: f000 f8fe bl 8019b70 <_read_r> - 8019974: 2800 cmp r0, #0 - 8019976: bfab itete ge - 8019978: 6d63 ldrge r3, [r4, #84] @ 0x54 - 801997a: 89a3 ldrhlt r3, [r4, #12] - 801997c: 181b addge r3, r3, r0 - 801997e: f423 5380 biclt.w r3, r3, #4096 @ 0x1000 - 8019982: bfac ite ge - 8019984: 6563 strge r3, [r4, #84] @ 0x54 - 8019986: 81a3 strhlt r3, [r4, #12] - 8019988: bd10 pop {r4, pc} - -0801998a <__swrite>: - 801998a: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 801998e: 461f mov r7, r3 - 8019990: 898b ldrh r3, [r1, #12] - 8019992: 05db lsls r3, r3, #23 - 8019994: 4605 mov r5, r0 - 8019996: 460c mov r4, r1 - 8019998: 4616 mov r6, r2 - 801999a: d505 bpl.n 80199a8 <__swrite+0x1e> - 801999c: f9b1 100e ldrsh.w r1, [r1, #14] - 80199a0: 2302 movs r3, #2 - 80199a2: 2200 movs r2, #0 - 80199a4: f000 f8d2 bl 8019b4c <_lseek_r> - 80199a8: 89a3 ldrh r3, [r4, #12] - 80199aa: f9b4 100e ldrsh.w r1, [r4, #14] - 80199ae: f423 5380 bic.w r3, r3, #4096 @ 0x1000 - 80199b2: 81a3 strh r3, [r4, #12] - 80199b4: 4632 mov r2, r6 - 80199b6: 463b mov r3, r7 - 80199b8: 4628 mov r0, r5 - 80199ba: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} - 80199be: f000 b8e9 b.w 8019b94 <_write_r> - -080199c2 <__sseek>: - 80199c2: b510 push {r4, lr} - 80199c4: 460c mov r4, r1 - 80199c6: f9b1 100e ldrsh.w r1, [r1, #14] - 80199ca: f000 f8bf bl 8019b4c <_lseek_r> - 80199ce: f9b4 300c ldrsh.w r3, [r4, #12] - 80199d2: 1c42 adds r2, r0, #1 - 80199d4: bf0b itete eq - 80199d6: f423 5380 biceq.w r3, r3, #4096 @ 0x1000 - 80199da: f443 5380 orrne.w r3, r3, #4096 @ 0x1000 - 80199de: 81a3 strheq r3, [r4, #12] - 80199e0: 81a3 strhne r3, [r4, #12] - 80199e2: bf18 it ne - 80199e4: 6560 strne r0, [r4, #84] @ 0x54 - 80199e6: bd10 pop {r4, pc} - -080199e8 <__sclose>: - 80199e8: f9b1 100e ldrsh.w r1, [r1, #14] - 80199ec: f000 b89e b.w 8019b2c <_close_r> - -080199f0 <__swbuf_r>: - 80199f0: b5f8 push {r3, r4, r5, r6, r7, lr} - 80199f2: 460e mov r6, r1 - 80199f4: 4614 mov r4, r2 - 80199f6: 4605 mov r5, r0 - 80199f8: b118 cbz r0, 8019a02 <__swbuf_r+0x12> - 80199fa: 6a03 ldr r3, [r0, #32] - 80199fc: b90b cbnz r3, 8019a02 <__swbuf_r+0x12> - 80199fe: f7ff feeb bl 80197d8 <__sinit> - 8019a02: 69a3 ldr r3, [r4, #24] - 8019a04: 60a3 str r3, [r4, #8] - 8019a06: 89a3 ldrh r3, [r4, #12] - 8019a08: 071a lsls r2, r3, #28 - 8019a0a: d501 bpl.n 8019a10 <__swbuf_r+0x20> - 8019a0c: 6923 ldr r3, [r4, #16] - 8019a0e: b943 cbnz r3, 8019a22 <__swbuf_r+0x32> - 8019a10: 4621 mov r1, r4 - 8019a12: 4628 mov r0, r5 - 8019a14: f000 f82a bl 8019a6c <__swsetup_r> - 8019a18: b118 cbz r0, 8019a22 <__swbuf_r+0x32> - 8019a1a: f04f 37ff mov.w r7, #4294967295 @ 0xffffffff - 8019a1e: 4638 mov r0, r7 - 8019a20: bdf8 pop {r3, r4, r5, r6, r7, pc} - 8019a22: 6823 ldr r3, [r4, #0] - 8019a24: 6922 ldr r2, [r4, #16] - 8019a26: 1a98 subs r0, r3, r2 - 8019a28: 6963 ldr r3, [r4, #20] - 8019a2a: b2f6 uxtb r6, r6 - 8019a2c: 4283 cmp r3, r0 - 8019a2e: 4637 mov r7, r6 - 8019a30: dc05 bgt.n 8019a3e <__swbuf_r+0x4e> - 8019a32: 4621 mov r1, r4 - 8019a34: 4628 mov r0, r5 - 8019a36: f002 feb5 bl 801c7a4 <_fflush_r> - 8019a3a: 2800 cmp r0, #0 - 8019a3c: d1ed bne.n 8019a1a <__swbuf_r+0x2a> - 8019a3e: 68a3 ldr r3, [r4, #8] - 8019a40: 3b01 subs r3, #1 - 8019a42: 60a3 str r3, [r4, #8] - 8019a44: 6823 ldr r3, [r4, #0] - 8019a46: 1c5a adds r2, r3, #1 - 8019a48: 6022 str r2, [r4, #0] - 8019a4a: 701e strb r6, [r3, #0] - 8019a4c: 6962 ldr r2, [r4, #20] - 8019a4e: 1c43 adds r3, r0, #1 - 8019a50: 429a cmp r2, r3 - 8019a52: d004 beq.n 8019a5e <__swbuf_r+0x6e> - 8019a54: 89a3 ldrh r3, [r4, #12] - 8019a56: 07db lsls r3, r3, #31 - 8019a58: d5e1 bpl.n 8019a1e <__swbuf_r+0x2e> - 8019a5a: 2e0a cmp r6, #10 - 8019a5c: d1df bne.n 8019a1e <__swbuf_r+0x2e> - 8019a5e: 4621 mov r1, r4 - 8019a60: 4628 mov r0, r5 - 8019a62: f002 fe9f bl 801c7a4 <_fflush_r> - 8019a66: 2800 cmp r0, #0 - 8019a68: d0d9 beq.n 8019a1e <__swbuf_r+0x2e> - 8019a6a: e7d6 b.n 8019a1a <__swbuf_r+0x2a> - -08019a6c <__swsetup_r>: - 8019a6c: b538 push {r3, r4, r5, lr} - 8019a6e: 4b28 ldr r3, [pc, #160] @ (8019b10 <__swsetup_r+0xa4>) - 8019a70: 4605 mov r5, r0 - 8019a72: 6818 ldr r0, [r3, #0] - 8019a74: 460c mov r4, r1 - 8019a76: b118 cbz r0, 8019a80 <__swsetup_r+0x14> - 8019a78: 6a03 ldr r3, [r0, #32] - 8019a7a: b90b cbnz r3, 8019a80 <__swsetup_r+0x14> - 8019a7c: f7ff feac bl 80197d8 <__sinit> - 8019a80: f9b4 300c ldrsh.w r3, [r4, #12] - 8019a84: 071a lsls r2, r3, #28 - 8019a86: d421 bmi.n 8019acc <__swsetup_r+0x60> - 8019a88: 06d8 lsls r0, r3, #27 - 8019a8a: d407 bmi.n 8019a9c <__swsetup_r+0x30> - 8019a8c: 2209 movs r2, #9 - 8019a8e: 602a str r2, [r5, #0] - 8019a90: f043 0340 orr.w r3, r3, #64 @ 0x40 - 8019a94: 81a3 strh r3, [r4, #12] - 8019a96: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 8019a9a: e030 b.n 8019afe <__swsetup_r+0x92> - 8019a9c: 0759 lsls r1, r3, #29 - 8019a9e: d512 bpl.n 8019ac6 <__swsetup_r+0x5a> - 8019aa0: 6b61 ldr r1, [r4, #52] @ 0x34 - 8019aa2: b141 cbz r1, 8019ab6 <__swsetup_r+0x4a> - 8019aa4: f104 0344 add.w r3, r4, #68 @ 0x44 - 8019aa8: 4299 cmp r1, r3 - 8019aaa: d002 beq.n 8019ab2 <__swsetup_r+0x46> - 8019aac: 4628 mov r0, r5 - 8019aae: f000 ff2b bl 801a908 <_free_r> - 8019ab2: 2300 movs r3, #0 - 8019ab4: 6363 str r3, [r4, #52] @ 0x34 - 8019ab6: 2200 movs r2, #0 - 8019ab8: f9b4 300c ldrsh.w r3, [r4, #12] - 8019abc: 6062 str r2, [r4, #4] - 8019abe: 6922 ldr r2, [r4, #16] - 8019ac0: 6022 str r2, [r4, #0] - 8019ac2: f023 0324 bic.w r3, r3, #36 @ 0x24 - 8019ac6: f043 0308 orr.w r3, r3, #8 - 8019aca: 81a3 strh r3, [r4, #12] - 8019acc: 6922 ldr r2, [r4, #16] - 8019ace: b93a cbnz r2, 8019ae0 <__swsetup_r+0x74> - 8019ad0: 059a lsls r2, r3, #22 - 8019ad2: d501 bpl.n 8019ad8 <__swsetup_r+0x6c> - 8019ad4: 0618 lsls r0, r3, #24 - 8019ad6: d503 bpl.n 8019ae0 <__swsetup_r+0x74> - 8019ad8: 4621 mov r1, r4 - 8019ada: 4628 mov r0, r5 - 8019adc: f002 feae bl 801c83c <__smakebuf_r> - 8019ae0: f9b4 300c ldrsh.w r3, [r4, #12] - 8019ae4: f013 0201 ands.w r2, r3, #1 - 8019ae8: d00a beq.n 8019b00 <__swsetup_r+0x94> - 8019aea: 2200 movs r2, #0 - 8019aec: 60a2 str r2, [r4, #8] - 8019aee: 6962 ldr r2, [r4, #20] - 8019af0: 4252 negs r2, r2 - 8019af2: 61a2 str r2, [r4, #24] - 8019af4: 6922 ldr r2, [r4, #16] - 8019af6: b942 cbnz r2, 8019b0a <__swsetup_r+0x9e> - 8019af8: f013 0080 ands.w r0, r3, #128 @ 0x80 - 8019afc: d1c8 bne.n 8019a90 <__swsetup_r+0x24> - 8019afe: bd38 pop {r3, r4, r5, pc} - 8019b00: 0799 lsls r1, r3, #30 - 8019b02: bf58 it pl - 8019b04: 6962 ldrpl r2, [r4, #20] - 8019b06: 60a2 str r2, [r4, #8] - 8019b08: e7f4 b.n 8019af4 <__swsetup_r+0x88> - 8019b0a: 2000 movs r0, #0 - 8019b0c: e7f7 b.n 8019afe <__swsetup_r+0x92> - 8019b0e: bf00 nop - 8019b10: 2000011c .word 0x2000011c - -08019b14 : - 8019b14: 4402 add r2, r0 - 8019b16: 4603 mov r3, r0 - 8019b18: 4293 cmp r3, r2 - 8019b1a: d100 bne.n 8019b1e - 8019b1c: 4770 bx lr - 8019b1e: f803 1b01 strb.w r1, [r3], #1 - 8019b22: e7f9 b.n 8019b18 - -08019b24 <_localeconv_r>: - 8019b24: 4800 ldr r0, [pc, #0] @ (8019b28 <_localeconv_r+0x4>) - 8019b26: 4770 bx lr - 8019b28: 2000025c .word 0x2000025c - -08019b2c <_close_r>: - 8019b2c: b538 push {r3, r4, r5, lr} - 8019b2e: 4d06 ldr r5, [pc, #24] @ (8019b48 <_close_r+0x1c>) - 8019b30: 2300 movs r3, #0 - 8019b32: 4604 mov r4, r0 - 8019b34: 4608 mov r0, r1 - 8019b36: 602b str r3, [r5, #0] - 8019b38: f7ec fb70 bl 800621c <_close> - 8019b3c: 1c43 adds r3, r0, #1 - 8019b3e: d102 bne.n 8019b46 <_close_r+0x1a> - 8019b40: 682b ldr r3, [r5, #0] - 8019b42: b103 cbz r3, 8019b46 <_close_r+0x1a> - 8019b44: 6023 str r3, [r4, #0] - 8019b46: bd38 pop {r3, r4, r5, pc} - 8019b48: 20013c38 .word 0x20013c38 - -08019b4c <_lseek_r>: - 8019b4c: b538 push {r3, r4, r5, lr} - 8019b4e: 4d07 ldr r5, [pc, #28] @ (8019b6c <_lseek_r+0x20>) - 8019b50: 4604 mov r4, r0 - 8019b52: 4608 mov r0, r1 - 8019b54: 4611 mov r1, r2 - 8019b56: 2200 movs r2, #0 - 8019b58: 602a str r2, [r5, #0] - 8019b5a: 461a mov r2, r3 - 8019b5c: f7ec fb85 bl 800626a <_lseek> - 8019b60: 1c43 adds r3, r0, #1 - 8019b62: d102 bne.n 8019b6a <_lseek_r+0x1e> - 8019b64: 682b ldr r3, [r5, #0] - 8019b66: b103 cbz r3, 8019b6a <_lseek_r+0x1e> - 8019b68: 6023 str r3, [r4, #0] - 8019b6a: bd38 pop {r3, r4, r5, pc} - 8019b6c: 20013c38 .word 0x20013c38 - -08019b70 <_read_r>: - 8019b70: b538 push {r3, r4, r5, lr} - 8019b72: 4d07 ldr r5, [pc, #28] @ (8019b90 <_read_r+0x20>) - 8019b74: 4604 mov r4, r0 - 8019b76: 4608 mov r0, r1 - 8019b78: 4611 mov r1, r2 - 8019b7a: 2200 movs r2, #0 - 8019b7c: 602a str r2, [r5, #0] - 8019b7e: 461a mov r2, r3 - 8019b80: f7ec fb2f bl 80061e2 <_read> - 8019b84: 1c43 adds r3, r0, #1 - 8019b86: d102 bne.n 8019b8e <_read_r+0x1e> - 8019b88: 682b ldr r3, [r5, #0] - 8019b8a: b103 cbz r3, 8019b8e <_read_r+0x1e> - 8019b8c: 6023 str r3, [r4, #0] - 8019b8e: bd38 pop {r3, r4, r5, pc} - 8019b90: 20013c38 .word 0x20013c38 - -08019b94 <_write_r>: - 8019b94: b538 push {r3, r4, r5, lr} - 8019b96: 4d07 ldr r5, [pc, #28] @ (8019bb4 <_write_r+0x20>) - 8019b98: 4604 mov r4, r0 - 8019b9a: 4608 mov r0, r1 - 8019b9c: 4611 mov r1, r2 - 8019b9e: 2200 movs r2, #0 - 8019ba0: 602a str r2, [r5, #0] - 8019ba2: 461a mov r2, r3 - 8019ba4: f7ea fdba bl 800471c <_write> - 8019ba8: 1c43 adds r3, r0, #1 - 8019baa: d102 bne.n 8019bb2 <_write_r+0x1e> - 8019bac: 682b ldr r3, [r5, #0] - 8019bae: b103 cbz r3, 8019bb2 <_write_r+0x1e> - 8019bb0: 6023 str r3, [r4, #0] - 8019bb2: bd38 pop {r3, r4, r5, pc} - 8019bb4: 20013c38 .word 0x20013c38 - -08019bb8 <__errno>: - 8019bb8: 4b01 ldr r3, [pc, #4] @ (8019bc0 <__errno+0x8>) - 8019bba: 6818 ldr r0, [r3, #0] - 8019bbc: 4770 bx lr - 8019bbe: bf00 nop - 8019bc0: 2000011c .word 0x2000011c - -08019bc4 <__libc_init_array>: - 8019bc4: b570 push {r4, r5, r6, lr} - 8019bc6: 4b0d ldr r3, [pc, #52] @ (8019bfc <__libc_init_array+0x38>) - 8019bc8: 4d0d ldr r5, [pc, #52] @ (8019c00 <__libc_init_array+0x3c>) - 8019bca: 1b5b subs r3, r3, r5 - 8019bcc: 109c asrs r4, r3, #2 - 8019bce: 2600 movs r6, #0 - 8019bd0: 42a6 cmp r6, r4 - 8019bd2: d109 bne.n 8019be8 <__libc_init_array+0x24> - 8019bd4: f003 fc1c bl 801d410 <_init> - 8019bd8: 4d0a ldr r5, [pc, #40] @ (8019c04 <__libc_init_array+0x40>) - 8019bda: 4b0b ldr r3, [pc, #44] @ (8019c08 <__libc_init_array+0x44>) - 8019bdc: 1b5b subs r3, r3, r5 - 8019bde: 109c asrs r4, r3, #2 - 8019be0: 2600 movs r6, #0 - 8019be2: 42a6 cmp r6, r4 - 8019be4: d105 bne.n 8019bf2 <__libc_init_array+0x2e> - 8019be6: bd70 pop {r4, r5, r6, pc} - 8019be8: f855 3b04 ldr.w r3, [r5], #4 - 8019bec: 4798 blx r3 - 8019bee: 3601 adds r6, #1 - 8019bf0: e7ee b.n 8019bd0 <__libc_init_array+0xc> - 8019bf2: f855 3b04 ldr.w r3, [r5], #4 - 8019bf6: 4798 blx r3 - 8019bf8: 3601 adds r6, #1 - 8019bfa: e7f2 b.n 8019be2 <__libc_init_array+0x1e> - 8019bfc: 0801e0f8 .word 0x0801e0f8 - 8019c00: 0801e0f8 .word 0x0801e0f8 - 8019c04: 0801e0f8 .word 0x0801e0f8 - 8019c08: 0801e0fc .word 0x0801e0fc - -08019c0c <__retarget_lock_init_recursive>: - 8019c0c: 4770 bx lr - -08019c0e <__retarget_lock_acquire_recursive>: - 8019c0e: 4770 bx lr - -08019c10 <__retarget_lock_release_recursive>: - 8019c10: 4770 bx lr - -08019c12 : - 8019c12: 440a add r2, r1 - 8019c14: 4291 cmp r1, r2 - 8019c16: f100 33ff add.w r3, r0, #4294967295 @ 0xffffffff - 8019c1a: d100 bne.n 8019c1e - 8019c1c: 4770 bx lr - 8019c1e: b510 push {r4, lr} - 8019c20: f811 4b01 ldrb.w r4, [r1], #1 - 8019c24: f803 4f01 strb.w r4, [r3, #1]! - 8019c28: 4291 cmp r1, r2 - 8019c2a: d1f9 bne.n 8019c20 - 8019c2c: bd10 pop {r4, pc} + 801996c: b10a cbz r2, 8019972 <_printf_common+0x26> + 801996e: 3301 adds r3, #1 + 8019970: 6033 str r3, [r6, #0] + 8019972: 6823 ldr r3, [r4, #0] + 8019974: 0699 lsls r1, r3, #26 + 8019976: bf42 ittt mi + 8019978: 6833 ldrmi r3, [r6, #0] + 801997a: 3302 addmi r3, #2 + 801997c: 6033 strmi r3, [r6, #0] + 801997e: 6825 ldr r5, [r4, #0] + 8019980: f015 0506 ands.w r5, r5, #6 + 8019984: d106 bne.n 8019994 <_printf_common+0x48> + 8019986: f104 0a19 add.w sl, r4, #25 + 801998a: 68e3 ldr r3, [r4, #12] + 801998c: 6832 ldr r2, [r6, #0] + 801998e: 1a9b subs r3, r3, r2 + 8019990: 42ab cmp r3, r5 + 8019992: dc26 bgt.n 80199e2 <_printf_common+0x96> + 8019994: f894 3043 ldrb.w r3, [r4, #67] @ 0x43 + 8019998: 6822 ldr r2, [r4, #0] + 801999a: 3b00 subs r3, #0 + 801999c: bf18 it ne + 801999e: 2301 movne r3, #1 + 80199a0: 0692 lsls r2, r2, #26 + 80199a2: d42b bmi.n 80199fc <_printf_common+0xb0> + 80199a4: f104 0243 add.w r2, r4, #67 @ 0x43 + 80199a8: 4641 mov r1, r8 + 80199aa: 4638 mov r0, r7 + 80199ac: 47c8 blx r9 + 80199ae: 3001 adds r0, #1 + 80199b0: d01e beq.n 80199f0 <_printf_common+0xa4> + 80199b2: 6823 ldr r3, [r4, #0] + 80199b4: 6922 ldr r2, [r4, #16] + 80199b6: f003 0306 and.w r3, r3, #6 + 80199ba: 2b04 cmp r3, #4 + 80199bc: bf02 ittt eq + 80199be: 68e5 ldreq r5, [r4, #12] + 80199c0: 6833 ldreq r3, [r6, #0] + 80199c2: 1aed subeq r5, r5, r3 + 80199c4: 68a3 ldr r3, [r4, #8] + 80199c6: bf0c ite eq + 80199c8: ea25 75e5 biceq.w r5, r5, r5, asr #31 + 80199cc: 2500 movne r5, #0 + 80199ce: 4293 cmp r3, r2 + 80199d0: bfc4 itt gt + 80199d2: 1a9b subgt r3, r3, r2 + 80199d4: 18ed addgt r5, r5, r3 + 80199d6: 2600 movs r6, #0 + 80199d8: 341a adds r4, #26 + 80199da: 42b5 cmp r5, r6 + 80199dc: d11a bne.n 8019a14 <_printf_common+0xc8> + 80199de: 2000 movs r0, #0 + 80199e0: e008 b.n 80199f4 <_printf_common+0xa8> + 80199e2: 2301 movs r3, #1 + 80199e4: 4652 mov r2, sl + 80199e6: 4641 mov r1, r8 + 80199e8: 4638 mov r0, r7 + 80199ea: 47c8 blx r9 + 80199ec: 3001 adds r0, #1 + 80199ee: d103 bne.n 80199f8 <_printf_common+0xac> + 80199f0: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 80199f4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 80199f8: 3501 adds r5, #1 + 80199fa: e7c6 b.n 801998a <_printf_common+0x3e> + 80199fc: 18e1 adds r1, r4, r3 + 80199fe: 1c5a adds r2, r3, #1 + 8019a00: 2030 movs r0, #48 @ 0x30 + 8019a02: f881 0043 strb.w r0, [r1, #67] @ 0x43 + 8019a06: 4422 add r2, r4 + 8019a08: f894 1045 ldrb.w r1, [r4, #69] @ 0x45 + 8019a0c: f882 1043 strb.w r1, [r2, #67] @ 0x43 + 8019a10: 3302 adds r3, #2 + 8019a12: e7c7 b.n 80199a4 <_printf_common+0x58> + 8019a14: 2301 movs r3, #1 + 8019a16: 4622 mov r2, r4 + 8019a18: 4641 mov r1, r8 + 8019a1a: 4638 mov r0, r7 + 8019a1c: 47c8 blx r9 + 8019a1e: 3001 adds r0, #1 + 8019a20: d0e6 beq.n 80199f0 <_printf_common+0xa4> + 8019a22: 3601 adds r6, #1 + 8019a24: e7d9 b.n 80199da <_printf_common+0x8e> ... -08019c30 : - 8019c30: ed9f 0a01 vldr s0, [pc, #4] @ 8019c38 - 8019c34: 4770 bx lr - 8019c36: bf00 nop - 8019c38: 7fc00000 .word 0x7fc00000 +08019a28 <_printf_i>: + 8019a28: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 8019a2c: 7e0d ldrb r5, [r1, #24] + 8019a2e: b085 sub sp, #20 + 8019a30: 2d78 cmp r5, #120 @ 0x78 + 8019a32: 4690 mov r8, r2 + 8019a34: 9e0c ldr r6, [sp, #48] @ 0x30 + 8019a36: 4607 mov r7, r0 + 8019a38: 460c mov r4, r1 + 8019a3a: 4699 mov r9, r3 + 8019a3c: f101 0243 add.w r2, r1, #67 @ 0x43 + 8019a40: d807 bhi.n 8019a52 <_printf_i+0x2a> + 8019a42: 2d62 cmp r5, #98 @ 0x62 + 8019a44: d80a bhi.n 8019a5c <_printf_i+0x34> + 8019a46: 2d00 cmp r5, #0 + 8019a48: f000 80d7 beq.w 8019bfa <_printf_i+0x1d2> + 8019a4c: 2d58 cmp r5, #88 @ 0x58 + 8019a4e: f000 80bc beq.w 8019bca <_printf_i+0x1a2> + 8019a52: f104 0642 add.w r6, r4, #66 @ 0x42 + 8019a56: f884 5042 strb.w r5, [r4, #66] @ 0x42 + 8019a5a: e03b b.n 8019ad4 <_printf_i+0xac> + 8019a5c: f1a5 0363 sub.w r3, r5, #99 @ 0x63 + 8019a60: 2b15 cmp r3, #21 + 8019a62: d8f6 bhi.n 8019a52 <_printf_i+0x2a> + 8019a64: a101 add r1, pc, #4 @ (adr r1, 8019a6c <_printf_i+0x44>) + 8019a66: f851 f023 ldr.w pc, [r1, r3, lsl #2] + 8019a6a: bf00 nop + 8019a6c: 08019ac5 .word 0x08019ac5 + 8019a70: 08019ad9 .word 0x08019ad9 + 8019a74: 08019a53 .word 0x08019a53 + 8019a78: 08019a53 .word 0x08019a53 + 8019a7c: 08019a53 .word 0x08019a53 + 8019a80: 08019a53 .word 0x08019a53 + 8019a84: 08019ad9 .word 0x08019ad9 + 8019a88: 08019a53 .word 0x08019a53 + 8019a8c: 08019a53 .word 0x08019a53 + 8019a90: 08019a53 .word 0x08019a53 + 8019a94: 08019a53 .word 0x08019a53 + 8019a98: 08019be1 .word 0x08019be1 + 8019a9c: 08019b03 .word 0x08019b03 + 8019aa0: 08019b93 .word 0x08019b93 + 8019aa4: 08019a53 .word 0x08019a53 + 8019aa8: 08019a53 .word 0x08019a53 + 8019aac: 08019c03 .word 0x08019c03 + 8019ab0: 08019a53 .word 0x08019a53 + 8019ab4: 08019b03 .word 0x08019b03 + 8019ab8: 08019a53 .word 0x08019a53 + 8019abc: 08019a53 .word 0x08019a53 + 8019ac0: 08019b9b .word 0x08019b9b + 8019ac4: 6833 ldr r3, [r6, #0] + 8019ac6: 1d1a adds r2, r3, #4 + 8019ac8: 681b ldr r3, [r3, #0] + 8019aca: 6032 str r2, [r6, #0] + 8019acc: f104 0642 add.w r6, r4, #66 @ 0x42 + 8019ad0: f884 3042 strb.w r3, [r4, #66] @ 0x42 + 8019ad4: 2301 movs r3, #1 + 8019ad6: e0a1 b.n 8019c1c <_printf_i+0x1f4> + 8019ad8: 6833 ldr r3, [r6, #0] + 8019ada: 6820 ldr r0, [r4, #0] + 8019adc: 1d19 adds r1, r3, #4 + 8019ade: 6031 str r1, [r6, #0] + 8019ae0: 0606 lsls r6, r0, #24 + 8019ae2: d501 bpl.n 8019ae8 <_printf_i+0xc0> + 8019ae4: 681d ldr r5, [r3, #0] + 8019ae6: e003 b.n 8019af0 <_printf_i+0xc8> + 8019ae8: 0645 lsls r5, r0, #25 + 8019aea: d5fb bpl.n 8019ae4 <_printf_i+0xbc> + 8019aec: f9b3 5000 ldrsh.w r5, [r3] + 8019af0: 2d00 cmp r5, #0 + 8019af2: da03 bge.n 8019afc <_printf_i+0xd4> + 8019af4: 232d movs r3, #45 @ 0x2d + 8019af6: 426d negs r5, r5 + 8019af8: f884 3043 strb.w r3, [r4, #67] @ 0x43 + 8019afc: 485b ldr r0, [pc, #364] @ (8019c6c <_printf_i+0x244>) + 8019afe: 230a movs r3, #10 + 8019b00: e011 b.n 8019b26 <_printf_i+0xfe> + 8019b02: 6821 ldr r1, [r4, #0] + 8019b04: 6833 ldr r3, [r6, #0] + 8019b06: 0608 lsls r0, r1, #24 + 8019b08: f853 5b04 ldr.w r5, [r3], #4 + 8019b0c: d402 bmi.n 8019b14 <_printf_i+0xec> + 8019b0e: 0649 lsls r1, r1, #25 + 8019b10: bf48 it mi + 8019b12: b2ad uxthmi r5, r5 + 8019b14: 6033 str r3, [r6, #0] + 8019b16: 7e23 ldrb r3, [r4, #24] + 8019b18: 4854 ldr r0, [pc, #336] @ (8019c6c <_printf_i+0x244>) + 8019b1a: 2b6f cmp r3, #111 @ 0x6f + 8019b1c: d15c bne.n 8019bd8 <_printf_i+0x1b0> + 8019b1e: 2308 movs r3, #8 + 8019b20: 2100 movs r1, #0 + 8019b22: f884 1043 strb.w r1, [r4, #67] @ 0x43 + 8019b26: 6866 ldr r6, [r4, #4] + 8019b28: 60a6 str r6, [r4, #8] + 8019b2a: 2e00 cmp r6, #0 + 8019b2c: db05 blt.n 8019b3a <_printf_i+0x112> + 8019b2e: 6821 ldr r1, [r4, #0] + 8019b30: 432e orrs r6, r5 + 8019b32: f021 0104 bic.w r1, r1, #4 + 8019b36: 6021 str r1, [r4, #0] + 8019b38: d050 beq.n 8019bdc <_printf_i+0x1b4> + 8019b3a: 4616 mov r6, r2 + 8019b3c: fbb5 f1f3 udiv r1, r5, r3 + 8019b40: fb03 5c11 mls ip, r3, r1, r5 + 8019b44: f810 c00c ldrb.w ip, [r0, ip] + 8019b48: f806 cd01 strb.w ip, [r6, #-1]! + 8019b4c: 46ac mov ip, r5 + 8019b4e: 4563 cmp r3, ip + 8019b50: 460d mov r5, r1 + 8019b52: d9f3 bls.n 8019b3c <_printf_i+0x114> + 8019b54: 2b08 cmp r3, #8 + 8019b56: d10b bne.n 8019b70 <_printf_i+0x148> + 8019b58: 6823 ldr r3, [r4, #0] + 8019b5a: 07db lsls r3, r3, #31 + 8019b5c: d508 bpl.n 8019b70 <_printf_i+0x148> + 8019b5e: 6923 ldr r3, [r4, #16] + 8019b60: 6861 ldr r1, [r4, #4] + 8019b62: 4299 cmp r1, r3 + 8019b64: bfde ittt le + 8019b66: 2330 movle r3, #48 @ 0x30 + 8019b68: f806 3c01 strble.w r3, [r6, #-1] + 8019b6c: f106 36ff addle.w r6, r6, #4294967295 @ 0xffffffff + 8019b70: 1b92 subs r2, r2, r6 + 8019b72: 6122 str r2, [r4, #16] + 8019b74: f8cd 9000 str.w r9, [sp] + 8019b78: 4643 mov r3, r8 + 8019b7a: aa03 add r2, sp, #12 + 8019b7c: 4621 mov r1, r4 + 8019b7e: 4638 mov r0, r7 + 8019b80: f7ff fee4 bl 801994c <_printf_common> + 8019b84: 3001 adds r0, #1 + 8019b86: d14e bne.n 8019c26 <_printf_i+0x1fe> + 8019b88: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 8019b8c: b005 add sp, #20 + 8019b8e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 8019b92: 6823 ldr r3, [r4, #0] + 8019b94: f043 0320 orr.w r3, r3, #32 + 8019b98: 6023 str r3, [r4, #0] + 8019b9a: 4835 ldr r0, [pc, #212] @ (8019c70 <_printf_i+0x248>) + 8019b9c: 2578 movs r5, #120 @ 0x78 + 8019b9e: f884 5045 strb.w r5, [r4, #69] @ 0x45 + 8019ba2: 6823 ldr r3, [r4, #0] + 8019ba4: 6831 ldr r1, [r6, #0] + 8019ba6: f013 0f80 tst.w r3, #128 @ 0x80 + 8019baa: f851 5b04 ldr.w r5, [r1], #4 + 8019bae: d103 bne.n 8019bb8 <_printf_i+0x190> + 8019bb0: f013 0f40 tst.w r3, #64 @ 0x40 + 8019bb4: bf18 it ne + 8019bb6: b2ad uxthne r5, r5 + 8019bb8: 6031 str r1, [r6, #0] + 8019bba: 07d9 lsls r1, r3, #31 + 8019bbc: bf44 itt mi + 8019bbe: f043 0320 orrmi.w r3, r3, #32 + 8019bc2: 6023 strmi r3, [r4, #0] + 8019bc4: b11d cbz r5, 8019bce <_printf_i+0x1a6> + 8019bc6: 2310 movs r3, #16 + 8019bc8: e7aa b.n 8019b20 <_printf_i+0xf8> + 8019bca: 4828 ldr r0, [pc, #160] @ (8019c6c <_printf_i+0x244>) + 8019bcc: e7e7 b.n 8019b9e <_printf_i+0x176> + 8019bce: 6823 ldr r3, [r4, #0] + 8019bd0: f023 0320 bic.w r3, r3, #32 + 8019bd4: 6023 str r3, [r4, #0] + 8019bd6: e7f6 b.n 8019bc6 <_printf_i+0x19e> + 8019bd8: 230a movs r3, #10 + 8019bda: e7a1 b.n 8019b20 <_printf_i+0xf8> + 8019bdc: 4616 mov r6, r2 + 8019bde: e7b9 b.n 8019b54 <_printf_i+0x12c> + 8019be0: 6833 ldr r3, [r6, #0] + 8019be2: 6825 ldr r5, [r4, #0] + 8019be4: 6961 ldr r1, [r4, #20] + 8019be6: 1d18 adds r0, r3, #4 + 8019be8: 6030 str r0, [r6, #0] + 8019bea: 062e lsls r6, r5, #24 + 8019bec: 681b ldr r3, [r3, #0] + 8019bee: d501 bpl.n 8019bf4 <_printf_i+0x1cc> + 8019bf0: 6019 str r1, [r3, #0] + 8019bf2: e002 b.n 8019bfa <_printf_i+0x1d2> + 8019bf4: 0668 lsls r0, r5, #25 + 8019bf6: d5fb bpl.n 8019bf0 <_printf_i+0x1c8> + 8019bf8: 8019 strh r1, [r3, #0] + 8019bfa: 2300 movs r3, #0 + 8019bfc: 6123 str r3, [r4, #16] + 8019bfe: 4616 mov r6, r2 + 8019c00: e7b8 b.n 8019b74 <_printf_i+0x14c> + 8019c02: 6833 ldr r3, [r6, #0] + 8019c04: 1d1a adds r2, r3, #4 + 8019c06: 6032 str r2, [r6, #0] + 8019c08: 681e ldr r6, [r3, #0] + 8019c0a: 6862 ldr r2, [r4, #4] + 8019c0c: 2100 movs r1, #0 + 8019c0e: 4630 mov r0, r6 + 8019c10: f7e6 fab6 bl 8000180 + 8019c14: b108 cbz r0, 8019c1a <_printf_i+0x1f2> + 8019c16: 1b80 subs r0, r0, r6 + 8019c18: 6060 str r0, [r4, #4] + 8019c1a: 6863 ldr r3, [r4, #4] + 8019c1c: 6123 str r3, [r4, #16] + 8019c1e: 2300 movs r3, #0 + 8019c20: f884 3043 strb.w r3, [r4, #67] @ 0x43 + 8019c24: e7a6 b.n 8019b74 <_printf_i+0x14c> + 8019c26: 6923 ldr r3, [r4, #16] + 8019c28: 4632 mov r2, r6 + 8019c2a: 4641 mov r1, r8 + 8019c2c: 4638 mov r0, r7 + 8019c2e: 47c8 blx r9 + 8019c30: 3001 adds r0, #1 + 8019c32: d0a9 beq.n 8019b88 <_printf_i+0x160> + 8019c34: 6823 ldr r3, [r4, #0] + 8019c36: 079b lsls r3, r3, #30 + 8019c38: d413 bmi.n 8019c62 <_printf_i+0x23a> + 8019c3a: 68e0 ldr r0, [r4, #12] + 8019c3c: 9b03 ldr r3, [sp, #12] + 8019c3e: 4298 cmp r0, r3 + 8019c40: bfb8 it lt + 8019c42: 4618 movlt r0, r3 + 8019c44: e7a2 b.n 8019b8c <_printf_i+0x164> + 8019c46: 2301 movs r3, #1 + 8019c48: 4632 mov r2, r6 + 8019c4a: 4641 mov r1, r8 + 8019c4c: 4638 mov r0, r7 + 8019c4e: 47c8 blx r9 + 8019c50: 3001 adds r0, #1 + 8019c52: d099 beq.n 8019b88 <_printf_i+0x160> + 8019c54: 3501 adds r5, #1 + 8019c56: 68e3 ldr r3, [r4, #12] + 8019c58: 9903 ldr r1, [sp, #12] + 8019c5a: 1a5b subs r3, r3, r1 + 8019c5c: 42ab cmp r3, r5 + 8019c5e: dcf2 bgt.n 8019c46 <_printf_i+0x21e> + 8019c60: e7eb b.n 8019c3a <_printf_i+0x212> + 8019c62: 2500 movs r5, #0 + 8019c64: f104 0619 add.w r6, r4, #25 + 8019c68: e7f5 b.n 8019c56 <_printf_i+0x22e> + 8019c6a: bf00 nop + 8019c6c: 0801e622 .word 0x0801e622 + 8019c70: 0801e633 .word 0x0801e633 -08019c3c : - 8019c3c: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8019c40: 6903 ldr r3, [r0, #16] - 8019c42: 690c ldr r4, [r1, #16] - 8019c44: 42a3 cmp r3, r4 - 8019c46: 4607 mov r7, r0 - 8019c48: db7e blt.n 8019d48 - 8019c4a: 3c01 subs r4, #1 - 8019c4c: f101 0814 add.w r8, r1, #20 - 8019c50: 00a3 lsls r3, r4, #2 - 8019c52: f100 0514 add.w r5, r0, #20 - 8019c56: 9300 str r3, [sp, #0] - 8019c58: eb05 0384 add.w r3, r5, r4, lsl #2 - 8019c5c: 9301 str r3, [sp, #4] - 8019c5e: f858 3024 ldr.w r3, [r8, r4, lsl #2] - 8019c62: f855 2024 ldr.w r2, [r5, r4, lsl #2] - 8019c66: 3301 adds r3, #1 - 8019c68: 429a cmp r2, r3 - 8019c6a: eb08 0984 add.w r9, r8, r4, lsl #2 - 8019c6e: fbb2 f6f3 udiv r6, r2, r3 - 8019c72: d32e bcc.n 8019cd2 - 8019c74: f04f 0a00 mov.w sl, #0 - 8019c78: 46c4 mov ip, r8 - 8019c7a: 46ae mov lr, r5 - 8019c7c: 46d3 mov fp, sl - 8019c7e: f85c 3b04 ldr.w r3, [ip], #4 - 8019c82: b298 uxth r0, r3 - 8019c84: fb06 a000 mla r0, r6, r0, sl - 8019c88: 0c02 lsrs r2, r0, #16 - 8019c8a: 0c1b lsrs r3, r3, #16 - 8019c8c: fb06 2303 mla r3, r6, r3, r2 - 8019c90: f8de 2000 ldr.w r2, [lr] - 8019c94: b280 uxth r0, r0 - 8019c96: b292 uxth r2, r2 - 8019c98: 1a12 subs r2, r2, r0 - 8019c9a: 445a add r2, fp - 8019c9c: f8de 0000 ldr.w r0, [lr] - 8019ca0: ea4f 4a13 mov.w sl, r3, lsr #16 - 8019ca4: b29b uxth r3, r3 - 8019ca6: ebc3 4322 rsb r3, r3, r2, asr #16 - 8019caa: eb03 4310 add.w r3, r3, r0, lsr #16 - 8019cae: b292 uxth r2, r2 - 8019cb0: ea42 4203 orr.w r2, r2, r3, lsl #16 - 8019cb4: 45e1 cmp r9, ip - 8019cb6: f84e 2b04 str.w r2, [lr], #4 - 8019cba: ea4f 4b23 mov.w fp, r3, asr #16 - 8019cbe: d2de bcs.n 8019c7e - 8019cc0: 9b00 ldr r3, [sp, #0] - 8019cc2: 58eb ldr r3, [r5, r3] - 8019cc4: b92b cbnz r3, 8019cd2 - 8019cc6: 9b01 ldr r3, [sp, #4] - 8019cc8: 3b04 subs r3, #4 - 8019cca: 429d cmp r5, r3 - 8019ccc: 461a mov r2, r3 - 8019cce: d32f bcc.n 8019d30 - 8019cd0: 613c str r4, [r7, #16] - 8019cd2: 4638 mov r0, r7 - 8019cd4: f001 f9de bl 801b094 <__mcmp> - 8019cd8: 2800 cmp r0, #0 - 8019cda: db25 blt.n 8019d28 - 8019cdc: 4629 mov r1, r5 - 8019cde: 2000 movs r0, #0 - 8019ce0: f858 2b04 ldr.w r2, [r8], #4 - 8019ce4: f8d1 c000 ldr.w ip, [r1] - 8019ce8: fa1f fe82 uxth.w lr, r2 - 8019cec: fa1f f38c uxth.w r3, ip - 8019cf0: eba3 030e sub.w r3, r3, lr - 8019cf4: 4403 add r3, r0 - 8019cf6: 0c12 lsrs r2, r2, #16 - 8019cf8: ebc2 4223 rsb r2, r2, r3, asr #16 - 8019cfc: eb02 421c add.w r2, r2, ip, lsr #16 - 8019d00: b29b uxth r3, r3 - 8019d02: ea43 4302 orr.w r3, r3, r2, lsl #16 - 8019d06: 45c1 cmp r9, r8 - 8019d08: f841 3b04 str.w r3, [r1], #4 - 8019d0c: ea4f 4022 mov.w r0, r2, asr #16 - 8019d10: d2e6 bcs.n 8019ce0 - 8019d12: f855 2024 ldr.w r2, [r5, r4, lsl #2] - 8019d16: eb05 0384 add.w r3, r5, r4, lsl #2 - 8019d1a: b922 cbnz r2, 8019d26 - 8019d1c: 3b04 subs r3, #4 - 8019d1e: 429d cmp r5, r3 - 8019d20: 461a mov r2, r3 - 8019d22: d30b bcc.n 8019d3c - 8019d24: 613c str r4, [r7, #16] - 8019d26: 3601 adds r6, #1 - 8019d28: 4630 mov r0, r6 - 8019d2a: b003 add sp, #12 - 8019d2c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8019d30: 6812 ldr r2, [r2, #0] - 8019d32: 3b04 subs r3, #4 - 8019d34: 2a00 cmp r2, #0 - 8019d36: d1cb bne.n 8019cd0 - 8019d38: 3c01 subs r4, #1 - 8019d3a: e7c6 b.n 8019cca - 8019d3c: 6812 ldr r2, [r2, #0] - 8019d3e: 3b04 subs r3, #4 - 8019d40: 2a00 cmp r2, #0 - 8019d42: d1ef bne.n 8019d24 - 8019d44: 3c01 subs r4, #1 - 8019d46: e7ea b.n 8019d1e - 8019d48: 2000 movs r0, #0 - 8019d4a: e7ee b.n 8019d2a - 8019d4c: 0000 movs r0, r0 +08019c74 <_scanf_float>: + 8019c74: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8019c78: b087 sub sp, #28 + 8019c7a: 4691 mov r9, r2 + 8019c7c: 9303 str r3, [sp, #12] + 8019c7e: 688b ldr r3, [r1, #8] + 8019c80: 1e5a subs r2, r3, #1 + 8019c82: f5b2 7fae cmp.w r2, #348 @ 0x15c + 8019c86: bf81 itttt hi + 8019c88: f46f 75ae mvnhi.w r5, #348 @ 0x15c + 8019c8c: eb03 0b05 addhi.w fp, r3, r5 + 8019c90: f240 135d movwhi r3, #349 @ 0x15d + 8019c94: 608b strhi r3, [r1, #8] + 8019c96: 680b ldr r3, [r1, #0] + 8019c98: 460a mov r2, r1 + 8019c9a: f04f 0500 mov.w r5, #0 + 8019c9e: f443 63f0 orr.w r3, r3, #1920 @ 0x780 + 8019ca2: f842 3b1c str.w r3, [r2], #28 + 8019ca6: e9cd 5504 strd r5, r5, [sp, #16] + 8019caa: 4680 mov r8, r0 + 8019cac: 460c mov r4, r1 + 8019cae: bf98 it ls + 8019cb0: f04f 0b00 movls.w fp, #0 + 8019cb4: 9201 str r2, [sp, #4] + 8019cb6: 4616 mov r6, r2 + 8019cb8: 46aa mov sl, r5 + 8019cba: 462f mov r7, r5 + 8019cbc: 9502 str r5, [sp, #8] + 8019cbe: 68a2 ldr r2, [r4, #8] + 8019cc0: b15a cbz r2, 8019cda <_scanf_float+0x66> + 8019cc2: f8d9 3000 ldr.w r3, [r9] + 8019cc6: 781b ldrb r3, [r3, #0] + 8019cc8: 2b4e cmp r3, #78 @ 0x4e + 8019cca: d863 bhi.n 8019d94 <_scanf_float+0x120> + 8019ccc: 2b40 cmp r3, #64 @ 0x40 + 8019cce: d83b bhi.n 8019d48 <_scanf_float+0xd4> + 8019cd0: f1a3 012b sub.w r1, r3, #43 @ 0x2b + 8019cd4: b2c8 uxtb r0, r1 + 8019cd6: 280e cmp r0, #14 + 8019cd8: d939 bls.n 8019d4e <_scanf_float+0xda> + 8019cda: b11f cbz r7, 8019ce4 <_scanf_float+0x70> + 8019cdc: 6823 ldr r3, [r4, #0] + 8019cde: f423 7380 bic.w r3, r3, #256 @ 0x100 + 8019ce2: 6023 str r3, [r4, #0] + 8019ce4: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff + 8019ce8: f1ba 0f01 cmp.w sl, #1 + 8019cec: f200 8114 bhi.w 8019f18 <_scanf_float+0x2a4> + 8019cf0: 9b01 ldr r3, [sp, #4] + 8019cf2: 429e cmp r6, r3 + 8019cf4: f200 8105 bhi.w 8019f02 <_scanf_float+0x28e> + 8019cf8: 2001 movs r0, #1 + 8019cfa: b007 add sp, #28 + 8019cfc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8019d00: f1a3 0261 sub.w r2, r3, #97 @ 0x61 + 8019d04: 2a0d cmp r2, #13 + 8019d06: d8e8 bhi.n 8019cda <_scanf_float+0x66> + 8019d08: a101 add r1, pc, #4 @ (adr r1, 8019d10 <_scanf_float+0x9c>) + 8019d0a: f851 f022 ldr.w pc, [r1, r2, lsl #2] + 8019d0e: bf00 nop + 8019d10: 08019e59 .word 0x08019e59 + 8019d14: 08019cdb .word 0x08019cdb + 8019d18: 08019cdb .word 0x08019cdb + 8019d1c: 08019cdb .word 0x08019cdb + 8019d20: 08019eb5 .word 0x08019eb5 + 8019d24: 08019e8f .word 0x08019e8f + 8019d28: 08019cdb .word 0x08019cdb + 8019d2c: 08019cdb .word 0x08019cdb + 8019d30: 08019e67 .word 0x08019e67 + 8019d34: 08019cdb .word 0x08019cdb + 8019d38: 08019cdb .word 0x08019cdb + 8019d3c: 08019cdb .word 0x08019cdb + 8019d40: 08019cdb .word 0x08019cdb + 8019d44: 08019e23 .word 0x08019e23 + 8019d48: f1a3 0241 sub.w r2, r3, #65 @ 0x41 + 8019d4c: e7da b.n 8019d04 <_scanf_float+0x90> + 8019d4e: 290e cmp r1, #14 + 8019d50: d8c3 bhi.n 8019cda <_scanf_float+0x66> + 8019d52: a001 add r0, pc, #4 @ (adr r0, 8019d58 <_scanf_float+0xe4>) + 8019d54: f850 f021 ldr.w pc, [r0, r1, lsl #2] + 8019d58: 08019e13 .word 0x08019e13 + 8019d5c: 08019cdb .word 0x08019cdb + 8019d60: 08019e13 .word 0x08019e13 + 8019d64: 08019ea3 .word 0x08019ea3 + 8019d68: 08019cdb .word 0x08019cdb + 8019d6c: 08019db5 .word 0x08019db5 + 8019d70: 08019df9 .word 0x08019df9 + 8019d74: 08019df9 .word 0x08019df9 + 8019d78: 08019df9 .word 0x08019df9 + 8019d7c: 08019df9 .word 0x08019df9 + 8019d80: 08019df9 .word 0x08019df9 + 8019d84: 08019df9 .word 0x08019df9 + 8019d88: 08019df9 .word 0x08019df9 + 8019d8c: 08019df9 .word 0x08019df9 + 8019d90: 08019df9 .word 0x08019df9 + 8019d94: 2b6e cmp r3, #110 @ 0x6e + 8019d96: d809 bhi.n 8019dac <_scanf_float+0x138> + 8019d98: 2b60 cmp r3, #96 @ 0x60 + 8019d9a: d8b1 bhi.n 8019d00 <_scanf_float+0x8c> + 8019d9c: 2b54 cmp r3, #84 @ 0x54 + 8019d9e: d07b beq.n 8019e98 <_scanf_float+0x224> + 8019da0: 2b59 cmp r3, #89 @ 0x59 + 8019da2: d19a bne.n 8019cda <_scanf_float+0x66> + 8019da4: 2d07 cmp r5, #7 + 8019da6: d198 bne.n 8019cda <_scanf_float+0x66> + 8019da8: 2508 movs r5, #8 + 8019daa: e02f b.n 8019e0c <_scanf_float+0x198> + 8019dac: 2b74 cmp r3, #116 @ 0x74 + 8019dae: d073 beq.n 8019e98 <_scanf_float+0x224> + 8019db0: 2b79 cmp r3, #121 @ 0x79 + 8019db2: e7f6 b.n 8019da2 <_scanf_float+0x12e> + 8019db4: 6821 ldr r1, [r4, #0] + 8019db6: 05c8 lsls r0, r1, #23 + 8019db8: d51e bpl.n 8019df8 <_scanf_float+0x184> + 8019dba: f021 0180 bic.w r1, r1, #128 @ 0x80 + 8019dbe: 6021 str r1, [r4, #0] + 8019dc0: 3701 adds r7, #1 + 8019dc2: f1bb 0f00 cmp.w fp, #0 + 8019dc6: d003 beq.n 8019dd0 <_scanf_float+0x15c> + 8019dc8: 3201 adds r2, #1 + 8019dca: f10b 3bff add.w fp, fp, #4294967295 @ 0xffffffff + 8019dce: 60a2 str r2, [r4, #8] + 8019dd0: 68a3 ldr r3, [r4, #8] + 8019dd2: 3b01 subs r3, #1 + 8019dd4: 60a3 str r3, [r4, #8] + 8019dd6: 6923 ldr r3, [r4, #16] + 8019dd8: 3301 adds r3, #1 + 8019dda: 6123 str r3, [r4, #16] + 8019ddc: f8d9 3004 ldr.w r3, [r9, #4] + 8019de0: 3b01 subs r3, #1 + 8019de2: 2b00 cmp r3, #0 + 8019de4: f8c9 3004 str.w r3, [r9, #4] + 8019de8: f340 8082 ble.w 8019ef0 <_scanf_float+0x27c> + 8019dec: f8d9 3000 ldr.w r3, [r9] + 8019df0: 3301 adds r3, #1 + 8019df2: f8c9 3000 str.w r3, [r9] + 8019df6: e762 b.n 8019cbe <_scanf_float+0x4a> + 8019df8: eb1a 0105 adds.w r1, sl, r5 + 8019dfc: f47f af6d bne.w 8019cda <_scanf_float+0x66> + 8019e00: 6822 ldr r2, [r4, #0] + 8019e02: f422 72c0 bic.w r2, r2, #384 @ 0x180 + 8019e06: 6022 str r2, [r4, #0] + 8019e08: 460d mov r5, r1 + 8019e0a: 468a mov sl, r1 + 8019e0c: f806 3b01 strb.w r3, [r6], #1 + 8019e10: e7de b.n 8019dd0 <_scanf_float+0x15c> + 8019e12: 6822 ldr r2, [r4, #0] + 8019e14: 0610 lsls r0, r2, #24 + 8019e16: f57f af60 bpl.w 8019cda <_scanf_float+0x66> + 8019e1a: f022 0280 bic.w r2, r2, #128 @ 0x80 + 8019e1e: 6022 str r2, [r4, #0] + 8019e20: e7f4 b.n 8019e0c <_scanf_float+0x198> + 8019e22: f1ba 0f00 cmp.w sl, #0 + 8019e26: d10c bne.n 8019e42 <_scanf_float+0x1ce> + 8019e28: b977 cbnz r7, 8019e48 <_scanf_float+0x1d4> + 8019e2a: 6822 ldr r2, [r4, #0] + 8019e2c: f402 61e0 and.w r1, r2, #1792 @ 0x700 + 8019e30: f5b1 6fe0 cmp.w r1, #1792 @ 0x700 + 8019e34: d108 bne.n 8019e48 <_scanf_float+0x1d4> + 8019e36: f422 62f0 bic.w r2, r2, #1920 @ 0x780 + 8019e3a: 6022 str r2, [r4, #0] + 8019e3c: f04f 0a01 mov.w sl, #1 + 8019e40: e7e4 b.n 8019e0c <_scanf_float+0x198> + 8019e42: f1ba 0f02 cmp.w sl, #2 + 8019e46: d050 beq.n 8019eea <_scanf_float+0x276> + 8019e48: 2d01 cmp r5, #1 + 8019e4a: d002 beq.n 8019e52 <_scanf_float+0x1de> + 8019e4c: 2d04 cmp r5, #4 + 8019e4e: f47f af44 bne.w 8019cda <_scanf_float+0x66> + 8019e52: 3501 adds r5, #1 + 8019e54: b2ed uxtb r5, r5 + 8019e56: e7d9 b.n 8019e0c <_scanf_float+0x198> + 8019e58: f1ba 0f01 cmp.w sl, #1 + 8019e5c: f47f af3d bne.w 8019cda <_scanf_float+0x66> + 8019e60: f04f 0a02 mov.w sl, #2 + 8019e64: e7d2 b.n 8019e0c <_scanf_float+0x198> + 8019e66: b975 cbnz r5, 8019e86 <_scanf_float+0x212> + 8019e68: 2f00 cmp r7, #0 + 8019e6a: f47f af37 bne.w 8019cdc <_scanf_float+0x68> + 8019e6e: 6822 ldr r2, [r4, #0] + 8019e70: f402 61e0 and.w r1, r2, #1792 @ 0x700 + 8019e74: f5b1 6fe0 cmp.w r1, #1792 @ 0x700 + 8019e78: f040 8102 bne.w 801a080 <_scanf_float+0x40c> + 8019e7c: f422 62f0 bic.w r2, r2, #1920 @ 0x780 + 8019e80: 6022 str r2, [r4, #0] + 8019e82: 2501 movs r5, #1 + 8019e84: e7c2 b.n 8019e0c <_scanf_float+0x198> + 8019e86: 2d03 cmp r5, #3 + 8019e88: d0e3 beq.n 8019e52 <_scanf_float+0x1de> + 8019e8a: 2d05 cmp r5, #5 + 8019e8c: e7df b.n 8019e4e <_scanf_float+0x1da> + 8019e8e: 2d02 cmp r5, #2 + 8019e90: f47f af23 bne.w 8019cda <_scanf_float+0x66> + 8019e94: 2503 movs r5, #3 + 8019e96: e7b9 b.n 8019e0c <_scanf_float+0x198> + 8019e98: 2d06 cmp r5, #6 + 8019e9a: f47f af1e bne.w 8019cda <_scanf_float+0x66> + 8019e9e: 2507 movs r5, #7 + 8019ea0: e7b4 b.n 8019e0c <_scanf_float+0x198> + 8019ea2: 6822 ldr r2, [r4, #0] + 8019ea4: 0591 lsls r1, r2, #22 + 8019ea6: f57f af18 bpl.w 8019cda <_scanf_float+0x66> + 8019eaa: f422 7220 bic.w r2, r2, #640 @ 0x280 + 8019eae: 6022 str r2, [r4, #0] + 8019eb0: 9702 str r7, [sp, #8] + 8019eb2: e7ab b.n 8019e0c <_scanf_float+0x198> + 8019eb4: 6822 ldr r2, [r4, #0] + 8019eb6: f402 61a0 and.w r1, r2, #1280 @ 0x500 + 8019eba: f5b1 6f80 cmp.w r1, #1024 @ 0x400 + 8019ebe: d005 beq.n 8019ecc <_scanf_float+0x258> + 8019ec0: 0550 lsls r0, r2, #21 + 8019ec2: f57f af0a bpl.w 8019cda <_scanf_float+0x66> + 8019ec6: 2f00 cmp r7, #0 + 8019ec8: f000 80da beq.w 801a080 <_scanf_float+0x40c> + 8019ecc: 0591 lsls r1, r2, #22 + 8019ece: bf58 it pl + 8019ed0: 9902 ldrpl r1, [sp, #8] + 8019ed2: f422 62f0 bic.w r2, r2, #1920 @ 0x780 + 8019ed6: bf58 it pl + 8019ed8: 1a79 subpl r1, r7, r1 + 8019eda: f442 72c0 orr.w r2, r2, #384 @ 0x180 + 8019ede: bf58 it pl + 8019ee0: e9cd 1604 strdpl r1, r6, [sp, #16] + 8019ee4: 6022 str r2, [r4, #0] + 8019ee6: 2700 movs r7, #0 + 8019ee8: e790 b.n 8019e0c <_scanf_float+0x198> + 8019eea: f04f 0a03 mov.w sl, #3 + 8019eee: e78d b.n 8019e0c <_scanf_float+0x198> + 8019ef0: f8d4 3180 ldr.w r3, [r4, #384] @ 0x180 + 8019ef4: 4649 mov r1, r9 + 8019ef6: 4640 mov r0, r8 + 8019ef8: 4798 blx r3 + 8019efa: 2800 cmp r0, #0 + 8019efc: f43f aedf beq.w 8019cbe <_scanf_float+0x4a> + 8019f00: e6eb b.n 8019cda <_scanf_float+0x66> + 8019f02: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c + 8019f06: f816 1d01 ldrb.w r1, [r6, #-1]! + 8019f0a: 464a mov r2, r9 + 8019f0c: 4640 mov r0, r8 + 8019f0e: 4798 blx r3 + 8019f10: 6923 ldr r3, [r4, #16] + 8019f12: 3b01 subs r3, #1 + 8019f14: 6123 str r3, [r4, #16] + 8019f16: e6eb b.n 8019cf0 <_scanf_float+0x7c> + 8019f18: 1e6b subs r3, r5, #1 + 8019f1a: 2b06 cmp r3, #6 + 8019f1c: d824 bhi.n 8019f68 <_scanf_float+0x2f4> + 8019f1e: 2d02 cmp r5, #2 + 8019f20: d836 bhi.n 8019f90 <_scanf_float+0x31c> + 8019f22: 9b01 ldr r3, [sp, #4] + 8019f24: 429e cmp r6, r3 + 8019f26: f67f aee7 bls.w 8019cf8 <_scanf_float+0x84> + 8019f2a: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c + 8019f2e: f816 1d01 ldrb.w r1, [r6, #-1]! + 8019f32: 464a mov r2, r9 + 8019f34: 4640 mov r0, r8 + 8019f36: 4798 blx r3 + 8019f38: 6923 ldr r3, [r4, #16] + 8019f3a: 3b01 subs r3, #1 + 8019f3c: 6123 str r3, [r4, #16] + 8019f3e: e7f0 b.n 8019f22 <_scanf_float+0x2ae> + 8019f40: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c + 8019f44: f81b 1d01 ldrb.w r1, [fp, #-1]! + 8019f48: 464a mov r2, r9 + 8019f4a: 4640 mov r0, r8 + 8019f4c: 4798 blx r3 + 8019f4e: 6923 ldr r3, [r4, #16] + 8019f50: 3b01 subs r3, #1 + 8019f52: 6123 str r3, [r4, #16] + 8019f54: f10a 3aff add.w sl, sl, #4294967295 @ 0xffffffff + 8019f58: fa5f fa8a uxtb.w sl, sl + 8019f5c: f1ba 0f02 cmp.w sl, #2 + 8019f60: d1ee bne.n 8019f40 <_scanf_float+0x2cc> + 8019f62: 3d03 subs r5, #3 + 8019f64: b2ed uxtb r5, r5 + 8019f66: 1b76 subs r6, r6, r5 + 8019f68: 6823 ldr r3, [r4, #0] + 8019f6a: 05da lsls r2, r3, #23 + 8019f6c: d530 bpl.n 8019fd0 <_scanf_float+0x35c> + 8019f6e: 055d lsls r5, r3, #21 + 8019f70: d511 bpl.n 8019f96 <_scanf_float+0x322> + 8019f72: 9b01 ldr r3, [sp, #4] + 8019f74: 429e cmp r6, r3 + 8019f76: f67f aebf bls.w 8019cf8 <_scanf_float+0x84> + 8019f7a: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c + 8019f7e: f816 1d01 ldrb.w r1, [r6, #-1]! + 8019f82: 464a mov r2, r9 + 8019f84: 4640 mov r0, r8 + 8019f86: 4798 blx r3 + 8019f88: 6923 ldr r3, [r4, #16] + 8019f8a: 3b01 subs r3, #1 + 8019f8c: 6123 str r3, [r4, #16] + 8019f8e: e7f0 b.n 8019f72 <_scanf_float+0x2fe> + 8019f90: 46aa mov sl, r5 + 8019f92: 46b3 mov fp, r6 + 8019f94: e7de b.n 8019f54 <_scanf_float+0x2e0> + 8019f96: f816 1c01 ldrb.w r1, [r6, #-1] + 8019f9a: 6923 ldr r3, [r4, #16] + 8019f9c: 2965 cmp r1, #101 @ 0x65 + 8019f9e: f103 33ff add.w r3, r3, #4294967295 @ 0xffffffff + 8019fa2: f106 35ff add.w r5, r6, #4294967295 @ 0xffffffff + 8019fa6: 6123 str r3, [r4, #16] + 8019fa8: d00c beq.n 8019fc4 <_scanf_float+0x350> + 8019faa: 2945 cmp r1, #69 @ 0x45 + 8019fac: d00a beq.n 8019fc4 <_scanf_float+0x350> + 8019fae: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c + 8019fb2: 464a mov r2, r9 + 8019fb4: 4640 mov r0, r8 + 8019fb6: 4798 blx r3 + 8019fb8: 6923 ldr r3, [r4, #16] + 8019fba: f816 1c02 ldrb.w r1, [r6, #-2] + 8019fbe: 3b01 subs r3, #1 + 8019fc0: 1eb5 subs r5, r6, #2 + 8019fc2: 6123 str r3, [r4, #16] + 8019fc4: f8d4 317c ldr.w r3, [r4, #380] @ 0x17c + 8019fc8: 464a mov r2, r9 + 8019fca: 4640 mov r0, r8 + 8019fcc: 4798 blx r3 + 8019fce: 462e mov r6, r5 + 8019fd0: 6822 ldr r2, [r4, #0] + 8019fd2: f012 0210 ands.w r2, r2, #16 + 8019fd6: d001 beq.n 8019fdc <_scanf_float+0x368> + 8019fd8: 2000 movs r0, #0 + 8019fda: e68e b.n 8019cfa <_scanf_float+0x86> + 8019fdc: 7032 strb r2, [r6, #0] + 8019fde: 6823 ldr r3, [r4, #0] + 8019fe0: f403 63c0 and.w r3, r3, #1536 @ 0x600 + 8019fe4: f5b3 6f80 cmp.w r3, #1024 @ 0x400 + 8019fe8: d124 bne.n 801a034 <_scanf_float+0x3c0> + 8019fea: 9b02 ldr r3, [sp, #8] + 8019fec: 429f cmp r7, r3 + 8019fee: d00a beq.n 801a006 <_scanf_float+0x392> + 8019ff0: 1bda subs r2, r3, r7 + 8019ff2: f204 136f addw r3, r4, #367 @ 0x16f + 8019ff6: 429e cmp r6, r3 + 8019ff8: bf28 it cs + 8019ffa: f504 76b7 addcs.w r6, r4, #366 @ 0x16e + 8019ffe: 4921 ldr r1, [pc, #132] @ (801a084 <_scanf_float+0x410>) + 801a000: 4630 mov r0, r6 + 801a002: f000 f919 bl 801a238 + 801a006: 9901 ldr r1, [sp, #4] + 801a008: 2200 movs r2, #0 + 801a00a: 4640 mov r0, r8 + 801a00c: f002 fc84 bl 801c918 <_strtod_r> + 801a010: 9b03 ldr r3, [sp, #12] + 801a012: 6821 ldr r1, [r4, #0] + 801a014: 681b ldr r3, [r3, #0] + 801a016: 0788 lsls r0, r1, #30 + 801a018: ec57 6b10 vmov r6, r7, d0 + 801a01c: f103 0204 add.w r2, r3, #4 + 801a020: d515 bpl.n 801a04e <_scanf_float+0x3da> + 801a022: 9903 ldr r1, [sp, #12] + 801a024: 600a str r2, [r1, #0] + 801a026: 681b ldr r3, [r3, #0] + 801a028: e9c3 6700 strd r6, r7, [r3] + 801a02c: 68e3 ldr r3, [r4, #12] + 801a02e: 3301 adds r3, #1 + 801a030: 60e3 str r3, [r4, #12] + 801a032: e7d1 b.n 8019fd8 <_scanf_float+0x364> + 801a034: 9b04 ldr r3, [sp, #16] + 801a036: 2b00 cmp r3, #0 + 801a038: d0e5 beq.n 801a006 <_scanf_float+0x392> + 801a03a: 9905 ldr r1, [sp, #20] + 801a03c: 230a movs r3, #10 + 801a03e: 3101 adds r1, #1 + 801a040: 4640 mov r0, r8 + 801a042: f002 fce9 bl 801ca18 <_strtol_r> + 801a046: 9b04 ldr r3, [sp, #16] + 801a048: 9e05 ldr r6, [sp, #20] + 801a04a: 1ac2 subs r2, r0, r3 + 801a04c: e7d1 b.n 8019ff2 <_scanf_float+0x37e> + 801a04e: f011 0f04 tst.w r1, #4 + 801a052: 9903 ldr r1, [sp, #12] + 801a054: 600a str r2, [r1, #0] + 801a056: d1e6 bne.n 801a026 <_scanf_float+0x3b2> + 801a058: 681d ldr r5, [r3, #0] + 801a05a: 4632 mov r2, r6 + 801a05c: 463b mov r3, r7 + 801a05e: 4630 mov r0, r6 + 801a060: 4639 mov r1, r7 + 801a062: f7e6 fd3b bl 8000adc <__aeabi_dcmpun> + 801a066: b128 cbz r0, 801a074 <_scanf_float+0x400> + 801a068: 4807 ldr r0, [pc, #28] @ (801a088 <_scanf_float+0x414>) + 801a06a: f000 fa37 bl 801a4dc + 801a06e: ed85 0a00 vstr s0, [r5] + 801a072: e7db b.n 801a02c <_scanf_float+0x3b8> + 801a074: 4630 mov r0, r6 + 801a076: 4639 mov r1, r7 + 801a078: f7e6 fd8e bl 8000b98 <__aeabi_d2f> + 801a07c: 6028 str r0, [r5, #0] + 801a07e: e7d5 b.n 801a02c <_scanf_float+0x3b8> + 801a080: 2700 movs r7, #0 + 801a082: e62f b.n 8019ce4 <_scanf_float+0x70> + 801a084: 0801e644 .word 0x0801e644 + 801a088: 0801e785 .word 0x0801e785 + +0801a08c : + 801a08c: 2300 movs r3, #0 + 801a08e: b510 push {r4, lr} + 801a090: 4604 mov r4, r0 + 801a092: e9c0 3300 strd r3, r3, [r0] + 801a096: e9c0 3304 strd r3, r3, [r0, #16] + 801a09a: 6083 str r3, [r0, #8] + 801a09c: 8181 strh r1, [r0, #12] + 801a09e: 6643 str r3, [r0, #100] @ 0x64 + 801a0a0: 81c2 strh r2, [r0, #14] + 801a0a2: 6183 str r3, [r0, #24] + 801a0a4: 4619 mov r1, r3 + 801a0a6: 2208 movs r2, #8 + 801a0a8: 305c adds r0, #92 @ 0x5c + 801a0aa: f000 f92b bl 801a304 + 801a0ae: 4b0d ldr r3, [pc, #52] @ (801a0e4 ) + 801a0b0: 6263 str r3, [r4, #36] @ 0x24 + 801a0b2: 4b0d ldr r3, [pc, #52] @ (801a0e8 ) + 801a0b4: 62a3 str r3, [r4, #40] @ 0x28 + 801a0b6: 4b0d ldr r3, [pc, #52] @ (801a0ec ) + 801a0b8: 62e3 str r3, [r4, #44] @ 0x2c + 801a0ba: 4b0d ldr r3, [pc, #52] @ (801a0f0 ) + 801a0bc: 6323 str r3, [r4, #48] @ 0x30 + 801a0be: 4b0d ldr r3, [pc, #52] @ (801a0f4 ) + 801a0c0: 6224 str r4, [r4, #32] + 801a0c2: 429c cmp r4, r3 + 801a0c4: d006 beq.n 801a0d4 + 801a0c6: f103 0268 add.w r2, r3, #104 @ 0x68 + 801a0ca: 4294 cmp r4, r2 + 801a0cc: d002 beq.n 801a0d4 + 801a0ce: 33d0 adds r3, #208 @ 0xd0 + 801a0d0: 429c cmp r4, r3 + 801a0d2: d105 bne.n 801a0e0 + 801a0d4: f104 0058 add.w r0, r4, #88 @ 0x58 + 801a0d8: e8bd 4010 ldmia.w sp!, {r4, lr} + 801a0dc: f000 b9ec b.w 801a4b8 <__retarget_lock_init_recursive> + 801a0e0: bd10 pop {r4, pc} + 801a0e2: bf00 nop + 801a0e4: 0801a27d .word 0x0801a27d + 801a0e8: 0801a29f .word 0x0801a29f + 801a0ec: 0801a2d7 .word 0x0801a2d7 + 801a0f0: 0801a2fd .word 0x0801a2fd + 801a0f4: 20013b9c .word 0x20013b9c + +0801a0f8 : + 801a0f8: 4a02 ldr r2, [pc, #8] @ (801a104 ) + 801a0fa: 4903 ldr r1, [pc, #12] @ (801a108 ) + 801a0fc: 4803 ldr r0, [pc, #12] @ (801a10c ) + 801a0fe: f000 b86b b.w 801a1d8 <_fwalk_sglue> + 801a102: bf00 nop + 801a104: 20000110 .word 0x20000110 + 801a108: 0801d04d .word 0x0801d04d + 801a10c: 20000120 .word 0x20000120 + +0801a110 : + 801a110: 6841 ldr r1, [r0, #4] + 801a112: 4b0c ldr r3, [pc, #48] @ (801a144 ) + 801a114: 4299 cmp r1, r3 + 801a116: b510 push {r4, lr} + 801a118: 4604 mov r4, r0 + 801a11a: d001 beq.n 801a120 + 801a11c: f002 ff96 bl 801d04c <_fflush_r> + 801a120: 68a1 ldr r1, [r4, #8] + 801a122: 4b09 ldr r3, [pc, #36] @ (801a148 ) + 801a124: 4299 cmp r1, r3 + 801a126: d002 beq.n 801a12e + 801a128: 4620 mov r0, r4 + 801a12a: f002 ff8f bl 801d04c <_fflush_r> + 801a12e: 68e1 ldr r1, [r4, #12] + 801a130: 4b06 ldr r3, [pc, #24] @ (801a14c ) + 801a132: 4299 cmp r1, r3 + 801a134: d004 beq.n 801a140 + 801a136: 4620 mov r0, r4 + 801a138: e8bd 4010 ldmia.w sp!, {r4, lr} + 801a13c: f002 bf86 b.w 801d04c <_fflush_r> + 801a140: bd10 pop {r4, pc} + 801a142: bf00 nop + 801a144: 20013b9c .word 0x20013b9c + 801a148: 20013c04 .word 0x20013c04 + 801a14c: 20013c6c .word 0x20013c6c + +0801a150 : + 801a150: 4b0c ldr r3, [pc, #48] @ (801a184 ) + 801a152: 4a0d ldr r2, [pc, #52] @ (801a188 ) + 801a154: 480d ldr r0, [pc, #52] @ (801a18c ) + 801a156: b510 push {r4, lr} + 801a158: 2104 movs r1, #4 + 801a15a: 601a str r2, [r3, #0] + 801a15c: 2200 movs r2, #0 + 801a15e: f7ff ff95 bl 801a08c + 801a162: 4b0a ldr r3, [pc, #40] @ (801a18c ) + 801a164: 2201 movs r2, #1 + 801a166: 461c mov r4, r3 + 801a168: 2109 movs r1, #9 + 801a16a: f103 0068 add.w r0, r3, #104 @ 0x68 + 801a16e: f7ff ff8d bl 801a08c + 801a172: f104 00d0 add.w r0, r4, #208 @ 0xd0 + 801a176: 2202 movs r2, #2 + 801a178: e8bd 4010 ldmia.w sp!, {r4, lr} + 801a17c: 2112 movs r1, #18 + 801a17e: f7ff bf85 b.w 801a08c + 801a182: bf00 nop + 801a184: 20013cd4 .word 0x20013cd4 + 801a188: 0801a0f9 .word 0x0801a0f9 + 801a18c: 20013b9c .word 0x20013b9c + +0801a190 <__sfp_lock_acquire>: + 801a190: 4801 ldr r0, [pc, #4] @ (801a198 <__sfp_lock_acquire+0x8>) + 801a192: f000 b992 b.w 801a4ba <__retarget_lock_acquire_recursive> + 801a196: bf00 nop + 801a198: 20013cdd .word 0x20013cdd + +0801a19c <__sfp_lock_release>: + 801a19c: 4801 ldr r0, [pc, #4] @ (801a1a4 <__sfp_lock_release+0x8>) + 801a19e: f000 b98d b.w 801a4bc <__retarget_lock_release_recursive> + 801a1a2: bf00 nop + 801a1a4: 20013cdd .word 0x20013cdd + +0801a1a8 <__sinit>: + 801a1a8: b510 push {r4, lr} + 801a1aa: 4604 mov r4, r0 + 801a1ac: f7ff fff0 bl 801a190 <__sfp_lock_acquire> + 801a1b0: 6a23 ldr r3, [r4, #32] + 801a1b2: b11b cbz r3, 801a1bc <__sinit+0x14> + 801a1b4: e8bd 4010 ldmia.w sp!, {r4, lr} + 801a1b8: f7ff bff0 b.w 801a19c <__sfp_lock_release> + 801a1bc: 4b04 ldr r3, [pc, #16] @ (801a1d0 <__sinit+0x28>) + 801a1be: 6223 str r3, [r4, #32] + 801a1c0: 4b04 ldr r3, [pc, #16] @ (801a1d4 <__sinit+0x2c>) + 801a1c2: 681b ldr r3, [r3, #0] + 801a1c4: 2b00 cmp r3, #0 + 801a1c6: d1f5 bne.n 801a1b4 <__sinit+0xc> + 801a1c8: f7ff ffc2 bl 801a150 + 801a1cc: e7f2 b.n 801a1b4 <__sinit+0xc> + 801a1ce: bf00 nop + 801a1d0: 0801a111 .word 0x0801a111 + 801a1d4: 20013cd4 .word 0x20013cd4 + +0801a1d8 <_fwalk_sglue>: + 801a1d8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 801a1dc: 4607 mov r7, r0 + 801a1de: 4688 mov r8, r1 + 801a1e0: 4614 mov r4, r2 + 801a1e2: 2600 movs r6, #0 + 801a1e4: e9d4 9501 ldrd r9, r5, [r4, #4] + 801a1e8: f1b9 0901 subs.w r9, r9, #1 + 801a1ec: d505 bpl.n 801a1fa <_fwalk_sglue+0x22> + 801a1ee: 6824 ldr r4, [r4, #0] + 801a1f0: 2c00 cmp r4, #0 + 801a1f2: d1f7 bne.n 801a1e4 <_fwalk_sglue+0xc> + 801a1f4: 4630 mov r0, r6 + 801a1f6: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 801a1fa: 89ab ldrh r3, [r5, #12] + 801a1fc: 2b01 cmp r3, #1 + 801a1fe: d907 bls.n 801a210 <_fwalk_sglue+0x38> + 801a200: f9b5 300e ldrsh.w r3, [r5, #14] + 801a204: 3301 adds r3, #1 + 801a206: d003 beq.n 801a210 <_fwalk_sglue+0x38> + 801a208: 4629 mov r1, r5 + 801a20a: 4638 mov r0, r7 + 801a20c: 47c0 blx r8 + 801a20e: 4306 orrs r6, r0 + 801a210: 3568 adds r5, #104 @ 0x68 + 801a212: e7e9 b.n 801a1e8 <_fwalk_sglue+0x10> + +0801a214 : + 801a214: b40f push {r0, r1, r2, r3} + 801a216: b507 push {r0, r1, r2, lr} + 801a218: 4906 ldr r1, [pc, #24] @ (801a234 ) + 801a21a: ab04 add r3, sp, #16 + 801a21c: 6808 ldr r0, [r1, #0] + 801a21e: f853 2b04 ldr.w r2, [r3], #4 + 801a222: 6881 ldr r1, [r0, #8] + 801a224: 9301 str r3, [sp, #4] + 801a226: f002 fd7b bl 801cd20 <_vfiprintf_r> + 801a22a: b003 add sp, #12 + 801a22c: f85d eb04 ldr.w lr, [sp], #4 + 801a230: b004 add sp, #16 + 801a232: 4770 bx lr + 801a234: 2000011c .word 0x2000011c + +0801a238 : + 801a238: b40e push {r1, r2, r3} + 801a23a: b510 push {r4, lr} + 801a23c: b09d sub sp, #116 @ 0x74 + 801a23e: ab1f add r3, sp, #124 @ 0x7c + 801a240: 9002 str r0, [sp, #8] + 801a242: 9006 str r0, [sp, #24] + 801a244: f06f 4100 mvn.w r1, #2147483648 @ 0x80000000 + 801a248: 480a ldr r0, [pc, #40] @ (801a274 ) + 801a24a: 9107 str r1, [sp, #28] + 801a24c: 9104 str r1, [sp, #16] + 801a24e: 490a ldr r1, [pc, #40] @ (801a278 ) + 801a250: f853 2b04 ldr.w r2, [r3], #4 + 801a254: 9105 str r1, [sp, #20] + 801a256: 2400 movs r4, #0 + 801a258: a902 add r1, sp, #8 + 801a25a: 6800 ldr r0, [r0, #0] + 801a25c: 9301 str r3, [sp, #4] + 801a25e: 941b str r4, [sp, #108] @ 0x6c + 801a260: f002 fc3c bl 801cadc <_svfiprintf_r> + 801a264: 9b02 ldr r3, [sp, #8] + 801a266: 701c strb r4, [r3, #0] + 801a268: b01d add sp, #116 @ 0x74 + 801a26a: e8bd 4010 ldmia.w sp!, {r4, lr} + 801a26e: b003 add sp, #12 + 801a270: 4770 bx lr + 801a272: bf00 nop + 801a274: 2000011c .word 0x2000011c + 801a278: ffff0208 .word 0xffff0208 + +0801a27c <__sread>: + 801a27c: b510 push {r4, lr} + 801a27e: 460c mov r4, r1 + 801a280: f9b1 100e ldrsh.w r1, [r1, #14] + 801a284: f000 f8ca bl 801a41c <_read_r> + 801a288: 2800 cmp r0, #0 + 801a28a: bfab itete ge + 801a28c: 6d63 ldrge r3, [r4, #84] @ 0x54 + 801a28e: 89a3 ldrhlt r3, [r4, #12] + 801a290: 181b addge r3, r3, r0 + 801a292: f423 5380 biclt.w r3, r3, #4096 @ 0x1000 + 801a296: bfac ite ge + 801a298: 6563 strge r3, [r4, #84] @ 0x54 + 801a29a: 81a3 strhlt r3, [r4, #12] + 801a29c: bd10 pop {r4, pc} + +0801a29e <__swrite>: + 801a29e: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 801a2a2: 461f mov r7, r3 + 801a2a4: 898b ldrh r3, [r1, #12] + 801a2a6: 05db lsls r3, r3, #23 + 801a2a8: 4605 mov r5, r0 + 801a2aa: 460c mov r4, r1 + 801a2ac: 4616 mov r6, r2 + 801a2ae: d505 bpl.n 801a2bc <__swrite+0x1e> + 801a2b0: f9b1 100e ldrsh.w r1, [r1, #14] + 801a2b4: 2302 movs r3, #2 + 801a2b6: 2200 movs r2, #0 + 801a2b8: f000 f89e bl 801a3f8 <_lseek_r> + 801a2bc: 89a3 ldrh r3, [r4, #12] + 801a2be: f9b4 100e ldrsh.w r1, [r4, #14] + 801a2c2: f423 5380 bic.w r3, r3, #4096 @ 0x1000 + 801a2c6: 81a3 strh r3, [r4, #12] + 801a2c8: 4632 mov r2, r6 + 801a2ca: 463b mov r3, r7 + 801a2cc: 4628 mov r0, r5 + 801a2ce: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} + 801a2d2: f000 b8b5 b.w 801a440 <_write_r> + +0801a2d6 <__sseek>: + 801a2d6: b510 push {r4, lr} + 801a2d8: 460c mov r4, r1 + 801a2da: f9b1 100e ldrsh.w r1, [r1, #14] + 801a2de: f000 f88b bl 801a3f8 <_lseek_r> + 801a2e2: f9b4 300c ldrsh.w r3, [r4, #12] + 801a2e6: 1c42 adds r2, r0, #1 + 801a2e8: bf0b itete eq + 801a2ea: f423 5380 biceq.w r3, r3, #4096 @ 0x1000 + 801a2ee: f443 5380 orrne.w r3, r3, #4096 @ 0x1000 + 801a2f2: 81a3 strheq r3, [r4, #12] + 801a2f4: 81a3 strhne r3, [r4, #12] + 801a2f6: bf18 it ne + 801a2f8: 6560 strne r0, [r4, #84] @ 0x54 + 801a2fa: bd10 pop {r4, pc} + +0801a2fc <__sclose>: + 801a2fc: f9b1 100e ldrsh.w r1, [r1, #14] + 801a300: f000 b80c b.w 801a31c <_close_r> + +0801a304 : + 801a304: 4402 add r2, r0 + 801a306: 4603 mov r3, r0 + 801a308: 4293 cmp r3, r2 + 801a30a: d100 bne.n 801a30e + 801a30c: 4770 bx lr + 801a30e: f803 1b01 strb.w r1, [r3], #1 + 801a312: e7f9 b.n 801a308 + +0801a314 <_localeconv_r>: + 801a314: 4800 ldr r0, [pc, #0] @ (801a318 <_localeconv_r+0x4>) + 801a316: 4770 bx lr + 801a318: 2000025c .word 0x2000025c + +0801a31c <_close_r>: + 801a31c: b538 push {r3, r4, r5, lr} + 801a31e: 4d06 ldr r5, [pc, #24] @ (801a338 <_close_r+0x1c>) + 801a320: 2300 movs r3, #0 + 801a322: 4604 mov r4, r0 + 801a324: 4608 mov r0, r1 + 801a326: 602b str r3, [r5, #0] + 801a328: f7ec f9f6 bl 8006718 <_close> + 801a32c: 1c43 adds r3, r0, #1 + 801a32e: d102 bne.n 801a336 <_close_r+0x1a> + 801a330: 682b ldr r3, [r5, #0] + 801a332: b103 cbz r3, 801a336 <_close_r+0x1a> + 801a334: 6023 str r3, [r4, #0] + 801a336: bd38 pop {r3, r4, r5, pc} + 801a338: 20013cd8 .word 0x20013cd8 + +0801a33c <_reclaim_reent>: + 801a33c: 4b2d ldr r3, [pc, #180] @ (801a3f4 <_reclaim_reent+0xb8>) + 801a33e: 681b ldr r3, [r3, #0] + 801a340: 4283 cmp r3, r0 + 801a342: b570 push {r4, r5, r6, lr} + 801a344: 4604 mov r4, r0 + 801a346: d053 beq.n 801a3f0 <_reclaim_reent+0xb4> + 801a348: 69c3 ldr r3, [r0, #28] + 801a34a: b31b cbz r3, 801a394 <_reclaim_reent+0x58> + 801a34c: 68db ldr r3, [r3, #12] + 801a34e: b163 cbz r3, 801a36a <_reclaim_reent+0x2e> + 801a350: 2500 movs r5, #0 + 801a352: 69e3 ldr r3, [r4, #28] + 801a354: 68db ldr r3, [r3, #12] + 801a356: 5959 ldr r1, [r3, r5] + 801a358: b9b1 cbnz r1, 801a388 <_reclaim_reent+0x4c> + 801a35a: 3504 adds r5, #4 + 801a35c: 2d80 cmp r5, #128 @ 0x80 + 801a35e: d1f8 bne.n 801a352 <_reclaim_reent+0x16> + 801a360: 69e3 ldr r3, [r4, #28] + 801a362: 4620 mov r0, r4 + 801a364: 68d9 ldr r1, [r3, #12] + 801a366: f000 ff23 bl 801b1b0 <_free_r> + 801a36a: 69e3 ldr r3, [r4, #28] + 801a36c: 6819 ldr r1, [r3, #0] + 801a36e: b111 cbz r1, 801a376 <_reclaim_reent+0x3a> + 801a370: 4620 mov r0, r4 + 801a372: f000 ff1d bl 801b1b0 <_free_r> + 801a376: 69e3 ldr r3, [r4, #28] + 801a378: 689d ldr r5, [r3, #8] + 801a37a: b15d cbz r5, 801a394 <_reclaim_reent+0x58> + 801a37c: 4629 mov r1, r5 + 801a37e: 4620 mov r0, r4 + 801a380: 682d ldr r5, [r5, #0] + 801a382: f000 ff15 bl 801b1b0 <_free_r> + 801a386: e7f8 b.n 801a37a <_reclaim_reent+0x3e> + 801a388: 680e ldr r6, [r1, #0] + 801a38a: 4620 mov r0, r4 + 801a38c: f000 ff10 bl 801b1b0 <_free_r> + 801a390: 4631 mov r1, r6 + 801a392: e7e1 b.n 801a358 <_reclaim_reent+0x1c> + 801a394: 6961 ldr r1, [r4, #20] + 801a396: b111 cbz r1, 801a39e <_reclaim_reent+0x62> + 801a398: 4620 mov r0, r4 + 801a39a: f000 ff09 bl 801b1b0 <_free_r> + 801a39e: 69e1 ldr r1, [r4, #28] + 801a3a0: b111 cbz r1, 801a3a8 <_reclaim_reent+0x6c> + 801a3a2: 4620 mov r0, r4 + 801a3a4: f000 ff04 bl 801b1b0 <_free_r> + 801a3a8: 6b21 ldr r1, [r4, #48] @ 0x30 + 801a3aa: b111 cbz r1, 801a3b2 <_reclaim_reent+0x76> + 801a3ac: 4620 mov r0, r4 + 801a3ae: f000 feff bl 801b1b0 <_free_r> + 801a3b2: 6b61 ldr r1, [r4, #52] @ 0x34 + 801a3b4: b111 cbz r1, 801a3bc <_reclaim_reent+0x80> + 801a3b6: 4620 mov r0, r4 + 801a3b8: f000 fefa bl 801b1b0 <_free_r> + 801a3bc: 6ba1 ldr r1, [r4, #56] @ 0x38 + 801a3be: b111 cbz r1, 801a3c6 <_reclaim_reent+0x8a> + 801a3c0: 4620 mov r0, r4 + 801a3c2: f000 fef5 bl 801b1b0 <_free_r> + 801a3c6: 6ca1 ldr r1, [r4, #72] @ 0x48 + 801a3c8: b111 cbz r1, 801a3d0 <_reclaim_reent+0x94> + 801a3ca: 4620 mov r0, r4 + 801a3cc: f000 fef0 bl 801b1b0 <_free_r> + 801a3d0: 6c61 ldr r1, [r4, #68] @ 0x44 + 801a3d2: b111 cbz r1, 801a3da <_reclaim_reent+0x9e> + 801a3d4: 4620 mov r0, r4 + 801a3d6: f000 feeb bl 801b1b0 <_free_r> + 801a3da: 6ae1 ldr r1, [r4, #44] @ 0x2c + 801a3dc: b111 cbz r1, 801a3e4 <_reclaim_reent+0xa8> + 801a3de: 4620 mov r0, r4 + 801a3e0: f000 fee6 bl 801b1b0 <_free_r> + 801a3e4: 6a23 ldr r3, [r4, #32] + 801a3e6: b11b cbz r3, 801a3f0 <_reclaim_reent+0xb4> + 801a3e8: 4620 mov r0, r4 + 801a3ea: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} + 801a3ee: 4718 bx r3 + 801a3f0: bd70 pop {r4, r5, r6, pc} + 801a3f2: bf00 nop + 801a3f4: 2000011c .word 0x2000011c + +0801a3f8 <_lseek_r>: + 801a3f8: b538 push {r3, r4, r5, lr} + 801a3fa: 4d07 ldr r5, [pc, #28] @ (801a418 <_lseek_r+0x20>) + 801a3fc: 4604 mov r4, r0 + 801a3fe: 4608 mov r0, r1 + 801a400: 4611 mov r1, r2 + 801a402: 2200 movs r2, #0 + 801a404: 602a str r2, [r5, #0] + 801a406: 461a mov r2, r3 + 801a408: f7ec f9ad bl 8006766 <_lseek> + 801a40c: 1c43 adds r3, r0, #1 + 801a40e: d102 bne.n 801a416 <_lseek_r+0x1e> + 801a410: 682b ldr r3, [r5, #0] + 801a412: b103 cbz r3, 801a416 <_lseek_r+0x1e> + 801a414: 6023 str r3, [r4, #0] + 801a416: bd38 pop {r3, r4, r5, pc} + 801a418: 20013cd8 .word 0x20013cd8 + +0801a41c <_read_r>: + 801a41c: b538 push {r3, r4, r5, lr} + 801a41e: 4d07 ldr r5, [pc, #28] @ (801a43c <_read_r+0x20>) + 801a420: 4604 mov r4, r0 + 801a422: 4608 mov r0, r1 + 801a424: 4611 mov r1, r2 + 801a426: 2200 movs r2, #0 + 801a428: 602a str r2, [r5, #0] + 801a42a: 461a mov r2, r3 + 801a42c: f7ec f957 bl 80066de <_read> + 801a430: 1c43 adds r3, r0, #1 + 801a432: d102 bne.n 801a43a <_read_r+0x1e> + 801a434: 682b ldr r3, [r5, #0] + 801a436: b103 cbz r3, 801a43a <_read_r+0x1e> + 801a438: 6023 str r3, [r4, #0] + 801a43a: bd38 pop {r3, r4, r5, pc} + 801a43c: 20013cd8 .word 0x20013cd8 + +0801a440 <_write_r>: + 801a440: b538 push {r3, r4, r5, lr} + 801a442: 4d07 ldr r5, [pc, #28] @ (801a460 <_write_r+0x20>) + 801a444: 4604 mov r4, r0 + 801a446: 4608 mov r0, r1 + 801a448: 4611 mov r1, r2 + 801a44a: 2200 movs r2, #0 + 801a44c: 602a str r2, [r5, #0] + 801a44e: 461a mov r2, r3 + 801a450: f7ea f9f0 bl 8004834 <_write> + 801a454: 1c43 adds r3, r0, #1 + 801a456: d102 bne.n 801a45e <_write_r+0x1e> + 801a458: 682b ldr r3, [r5, #0] + 801a45a: b103 cbz r3, 801a45e <_write_r+0x1e> + 801a45c: 6023 str r3, [r4, #0] + 801a45e: bd38 pop {r3, r4, r5, pc} + 801a460: 20013cd8 .word 0x20013cd8 + +0801a464 <__errno>: + 801a464: 4b01 ldr r3, [pc, #4] @ (801a46c <__errno+0x8>) + 801a466: 6818 ldr r0, [r3, #0] + 801a468: 4770 bx lr + 801a46a: bf00 nop + 801a46c: 2000011c .word 0x2000011c + +0801a470 <__libc_init_array>: + 801a470: b570 push {r4, r5, r6, lr} + 801a472: 4b0d ldr r3, [pc, #52] @ (801a4a8 <__libc_init_array+0x38>) + 801a474: 4d0d ldr r5, [pc, #52] @ (801a4ac <__libc_init_array+0x3c>) + 801a476: 1b5b subs r3, r3, r5 + 801a478: 109c asrs r4, r3, #2 + 801a47a: 2600 movs r6, #0 + 801a47c: 42a6 cmp r6, r4 + 801a47e: d109 bne.n 801a494 <__libc_init_array+0x24> + 801a480: f003 fcae bl 801dde0 <_init> + 801a484: 4d0a ldr r5, [pc, #40] @ (801a4b0 <__libc_init_array+0x40>) + 801a486: 4b0b ldr r3, [pc, #44] @ (801a4b4 <__libc_init_array+0x44>) + 801a488: 1b5b subs r3, r3, r5 + 801a48a: 109c asrs r4, r3, #2 + 801a48c: 2600 movs r6, #0 + 801a48e: 42a6 cmp r6, r4 + 801a490: d105 bne.n 801a49e <__libc_init_array+0x2e> + 801a492: bd70 pop {r4, r5, r6, pc} + 801a494: f855 3b04 ldr.w r3, [r5], #4 + 801a498: 4798 blx r3 + 801a49a: 3601 adds r6, #1 + 801a49c: e7ee b.n 801a47c <__libc_init_array+0xc> + 801a49e: f855 3b04 ldr.w r3, [r5], #4 + 801a4a2: 4798 blx r3 + 801a4a4: 3601 adds r6, #1 + 801a4a6: e7f2 b.n 801a48e <__libc_init_array+0x1e> + 801a4a8: 0801ea58 .word 0x0801ea58 + 801a4ac: 0801ea58 .word 0x0801ea58 + 801a4b0: 0801ea58 .word 0x0801ea58 + 801a4b4: 0801ea5c .word 0x0801ea5c + +0801a4b8 <__retarget_lock_init_recursive>: + 801a4b8: 4770 bx lr + +0801a4ba <__retarget_lock_acquire_recursive>: + 801a4ba: 4770 bx lr + +0801a4bc <__retarget_lock_release_recursive>: + 801a4bc: 4770 bx lr + +0801a4be : + 801a4be: 440a add r2, r1 + 801a4c0: 4291 cmp r1, r2 + 801a4c2: f100 33ff add.w r3, r0, #4294967295 @ 0xffffffff + 801a4c6: d100 bne.n 801a4ca + 801a4c8: 4770 bx lr + 801a4ca: b510 push {r4, lr} + 801a4cc: f811 4b01 ldrb.w r4, [r1], #1 + 801a4d0: f803 4f01 strb.w r4, [r3, #1]! + 801a4d4: 4291 cmp r1, r2 + 801a4d6: d1f9 bne.n 801a4cc + 801a4d8: bd10 pop {r4, pc} ... -08019d50 <_dtoa_r>: - 8019d50: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8019d54: b099 sub sp, #100 @ 0x64 - 8019d56: ed8d 0b0e vstr d0, [sp, #56] @ 0x38 - 8019d5a: 920c str r2, [sp, #48] @ 0x30 - 8019d5c: 69c2 ldr r2, [r0, #28] - 8019d5e: 9c22 ldr r4, [sp, #136] @ 0x88 - 8019d60: 910a str r1, [sp, #40] @ 0x28 - 8019d62: ec57 6b10 vmov r6, r7, d0 - 8019d66: 4681 mov r9, r0 - 8019d68: 9313 str r3, [sp, #76] @ 0x4c - 8019d6a: b982 cbnz r2, 8019d8e <_dtoa_r+0x3e> - 8019d6c: 2010 movs r0, #16 - 8019d6e: f000 fe15 bl 801a99c - 8019d72: 4602 mov r2, r0 - 8019d74: f8c9 001c str.w r0, [r9, #28] - 8019d78: b920 cbnz r0, 8019d84 <_dtoa_r+0x34> - 8019d7a: 4bab ldr r3, [pc, #684] @ (801a028 <_dtoa_r+0x2d8>) - 8019d7c: 21ef movs r1, #239 @ 0xef - 8019d7e: 48ab ldr r0, [pc, #684] @ (801a02c <_dtoa_r+0x2dc>) - 8019d80: f002 fdfa bl 801c978 <__assert_func> - 8019d84: 2300 movs r3, #0 - 8019d86: e9c0 3301 strd r3, r3, [r0, #4] - 8019d8a: 6003 str r3, [r0, #0] - 8019d8c: 60c3 str r3, [r0, #12] - 8019d8e: 6811 ldr r1, [r2, #0] - 8019d90: b159 cbz r1, 8019daa <_dtoa_r+0x5a> - 8019d92: 6852 ldr r2, [r2, #4] - 8019d94: 604a str r2, [r1, #4] - 8019d96: 2301 movs r3, #1 - 8019d98: 4093 lsls r3, r2 - 8019d9a: 608b str r3, [r1, #8] - 8019d9c: 4648 mov r0, r9 - 8019d9e: f000 fef1 bl 801ab84 <_Bfree> - 8019da2: f8d9 301c ldr.w r3, [r9, #28] - 8019da6: 2200 movs r2, #0 - 8019da8: 601a str r2, [r3, #0] - 8019daa: f1b7 0800 subs.w r8, r7, #0 - 8019dae: bfb5 itete lt - 8019db0: 2301 movlt r3, #1 - 8019db2: 2300 movge r3, #0 - 8019db4: 6023 strlt r3, [r4, #0] - 8019db6: 6023 strge r3, [r4, #0] - 8019db8: 4b9d ldr r3, [pc, #628] @ (801a030 <_dtoa_r+0x2e0>) - 8019dba: bfbc itt lt - 8019dbc: f028 4800 biclt.w r8, r8, #2147483648 @ 0x80000000 - 8019dc0: f8cd 803c strlt.w r8, [sp, #60] @ 0x3c - 8019dc4: ea33 0308 bics.w r3, r3, r8 - 8019dc8: d11a bne.n 8019e00 <_dtoa_r+0xb0> - 8019dca: 9a13 ldr r2, [sp, #76] @ 0x4c - 8019dcc: f3c8 0813 ubfx r8, r8, #0, #20 - 8019dd0: f242 730f movw r3, #9999 @ 0x270f - 8019dd4: ea58 0806 orrs.w r8, r8, r6 - 8019dd8: 6013 str r3, [r2, #0] - 8019dda: f000 8568 beq.w 801a8ae <_dtoa_r+0xb5e> - 8019dde: 9b23 ldr r3, [sp, #140] @ 0x8c - 8019de0: b953 cbnz r3, 8019df8 <_dtoa_r+0xa8> - 8019de2: 4b94 ldr r3, [pc, #592] @ (801a034 <_dtoa_r+0x2e4>) - 8019de4: e021 b.n 8019e2a <_dtoa_r+0xda> - 8019de6: 4b94 ldr r3, [pc, #592] @ (801a038 <_dtoa_r+0x2e8>) - 8019de8: 9300 str r3, [sp, #0] - 8019dea: 3308 adds r3, #8 - 8019dec: 9a23 ldr r2, [sp, #140] @ 0x8c - 8019dee: 6013 str r3, [r2, #0] - 8019df0: 9800 ldr r0, [sp, #0] - 8019df2: b019 add sp, #100 @ 0x64 - 8019df4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8019df8: 4b8e ldr r3, [pc, #568] @ (801a034 <_dtoa_r+0x2e4>) - 8019dfa: 9300 str r3, [sp, #0] - 8019dfc: 3303 adds r3, #3 - 8019dfe: e7f5 b.n 8019dec <_dtoa_r+0x9c> - 8019e00: ed9d 7b0e vldr d7, [sp, #56] @ 0x38 - 8019e04: 2200 movs r2, #0 - 8019e06: ec51 0b17 vmov r0, r1, d7 - 8019e0a: 2300 movs r3, #0 - 8019e0c: ed8d 7b06 vstr d7, [sp, #24] - 8019e10: f7e6 fe32 bl 8000a78 <__aeabi_dcmpeq> - 8019e14: 4682 mov sl, r0 - 8019e16: b150 cbz r0, 8019e2e <_dtoa_r+0xde> - 8019e18: 9a13 ldr r2, [sp, #76] @ 0x4c - 8019e1a: 2301 movs r3, #1 - 8019e1c: 6013 str r3, [r2, #0] - 8019e1e: 9b23 ldr r3, [sp, #140] @ 0x8c - 8019e20: b113 cbz r3, 8019e28 <_dtoa_r+0xd8> - 8019e22: 9a23 ldr r2, [sp, #140] @ 0x8c - 8019e24: 4b85 ldr r3, [pc, #532] @ (801a03c <_dtoa_r+0x2ec>) - 8019e26: 6013 str r3, [r2, #0] - 8019e28: 4b85 ldr r3, [pc, #532] @ (801a040 <_dtoa_r+0x2f0>) - 8019e2a: 9300 str r3, [sp, #0] - 8019e2c: e7e0 b.n 8019df0 <_dtoa_r+0xa0> - 8019e2e: ed9d 0b06 vldr d0, [sp, #24] - 8019e32: aa16 add r2, sp, #88 @ 0x58 - 8019e34: a917 add r1, sp, #92 @ 0x5c - 8019e36: 4648 mov r0, r9 - 8019e38: f001 fa50 bl 801b2dc <__d2b> - 8019e3c: ea5f 5418 movs.w r4, r8, lsr #20 - 8019e40: 9d16 ldr r5, [sp, #88] @ 0x58 - 8019e42: 9001 str r0, [sp, #4] - 8019e44: d079 beq.n 8019f3a <_dtoa_r+0x1ea> - 8019e46: 9b07 ldr r3, [sp, #28] - 8019e48: f8cd a050 str.w sl, [sp, #80] @ 0x50 - 8019e4c: f3c3 0313 ubfx r3, r3, #0, #20 - 8019e50: e9dd 0106 ldrd r0, r1, [sp, #24] - 8019e54: f043 537f orr.w r3, r3, #1069547520 @ 0x3fc00000 - 8019e58: f443 1340 orr.w r3, r3, #3145728 @ 0x300000 - 8019e5c: f2a4 34ff subw r4, r4, #1023 @ 0x3ff - 8019e60: 4619 mov r1, r3 - 8019e62: 2200 movs r2, #0 - 8019e64: 4b77 ldr r3, [pc, #476] @ (801a044 <_dtoa_r+0x2f4>) - 8019e66: f7e6 f9e7 bl 8000238 <__aeabi_dsub> - 8019e6a: a369 add r3, pc, #420 @ (adr r3, 801a010 <_dtoa_r+0x2c0>) - 8019e6c: e9d3 2300 ldrd r2, r3, [r3] - 8019e70: f7e6 fb9a bl 80005a8 <__aeabi_dmul> - 8019e74: a368 add r3, pc, #416 @ (adr r3, 801a018 <_dtoa_r+0x2c8>) - 8019e76: e9d3 2300 ldrd r2, r3, [r3] - 8019e7a: f7e6 f9df bl 800023c <__adddf3> - 8019e7e: 4606 mov r6, r0 - 8019e80: 4620 mov r0, r4 - 8019e82: 460f mov r7, r1 - 8019e84: f7e6 fb26 bl 80004d4 <__aeabi_i2d> - 8019e88: a365 add r3, pc, #404 @ (adr r3, 801a020 <_dtoa_r+0x2d0>) - 8019e8a: e9d3 2300 ldrd r2, r3, [r3] - 8019e8e: f7e6 fb8b bl 80005a8 <__aeabi_dmul> - 8019e92: 4602 mov r2, r0 - 8019e94: 460b mov r3, r1 - 8019e96: 4630 mov r0, r6 - 8019e98: 4639 mov r1, r7 - 8019e9a: f7e6 f9cf bl 800023c <__adddf3> - 8019e9e: 4606 mov r6, r0 - 8019ea0: 460f mov r7, r1 - 8019ea2: f7e6 fe31 bl 8000b08 <__aeabi_d2iz> - 8019ea6: 2200 movs r2, #0 - 8019ea8: 4680 mov r8, r0 - 8019eaa: 2300 movs r3, #0 - 8019eac: 4630 mov r0, r6 - 8019eae: 4639 mov r1, r7 - 8019eb0: f7e6 fdec bl 8000a8c <__aeabi_dcmplt> - 8019eb4: b148 cbz r0, 8019eca <_dtoa_r+0x17a> - 8019eb6: 4640 mov r0, r8 - 8019eb8: f7e6 fb0c bl 80004d4 <__aeabi_i2d> - 8019ebc: 4632 mov r2, r6 - 8019ebe: 463b mov r3, r7 - 8019ec0: f7e6 fdda bl 8000a78 <__aeabi_dcmpeq> - 8019ec4: b908 cbnz r0, 8019eca <_dtoa_r+0x17a> - 8019ec6: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff - 8019eca: f1b8 0f16 cmp.w r8, #22 - 8019ece: d851 bhi.n 8019f74 <_dtoa_r+0x224> - 8019ed0: 4b5d ldr r3, [pc, #372] @ (801a048 <_dtoa_r+0x2f8>) - 8019ed2: eb03 03c8 add.w r3, r3, r8, lsl #3 - 8019ed6: e9d3 2300 ldrd r2, r3, [r3] - 8019eda: e9dd 0106 ldrd r0, r1, [sp, #24] - 8019ede: f7e6 fdd5 bl 8000a8c <__aeabi_dcmplt> - 8019ee2: 2800 cmp r0, #0 - 8019ee4: d048 beq.n 8019f78 <_dtoa_r+0x228> - 8019ee6: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff - 8019eea: 2300 movs r3, #0 - 8019eec: 9312 str r3, [sp, #72] @ 0x48 - 8019eee: 1b2d subs r5, r5, r4 - 8019ef0: 1e6b subs r3, r5, #1 - 8019ef2: 9308 str r3, [sp, #32] - 8019ef4: bf43 ittte mi - 8019ef6: 2300 movmi r3, #0 - 8019ef8: f1c5 0701 rsbmi r7, r5, #1 - 8019efc: 9308 strmi r3, [sp, #32] - 8019efe: 2700 movpl r7, #0 - 8019f00: f1b8 0f00 cmp.w r8, #0 - 8019f04: db3a blt.n 8019f7c <_dtoa_r+0x22c> - 8019f06: 9b08 ldr r3, [sp, #32] - 8019f08: f8cd 8034 str.w r8, [sp, #52] @ 0x34 - 8019f0c: 4443 add r3, r8 - 8019f0e: 9308 str r3, [sp, #32] - 8019f10: 2300 movs r3, #0 - 8019f12: 9309 str r3, [sp, #36] @ 0x24 - 8019f14: 9b0a ldr r3, [sp, #40] @ 0x28 - 8019f16: 2b09 cmp r3, #9 - 8019f18: d862 bhi.n 8019fe0 <_dtoa_r+0x290> - 8019f1a: 2b05 cmp r3, #5 - 8019f1c: bfc4 itt gt - 8019f1e: 3b04 subgt r3, #4 - 8019f20: 930a strgt r3, [sp, #40] @ 0x28 - 8019f22: 9b0a ldr r3, [sp, #40] @ 0x28 - 8019f24: f1a3 0302 sub.w r3, r3, #2 - 8019f28: bfcc ite gt - 8019f2a: 2400 movgt r4, #0 - 8019f2c: 2401 movle r4, #1 - 8019f2e: 2b03 cmp r3, #3 - 8019f30: d862 bhi.n 8019ff8 <_dtoa_r+0x2a8> - 8019f32: e8df f003 tbb [pc, r3] - 8019f36: 5351 .short 0x5351 - 8019f38: 2b36 .short 0x2b36 - 8019f3a: 9c17 ldr r4, [sp, #92] @ 0x5c - 8019f3c: 442c add r4, r5 - 8019f3e: f204 4332 addw r3, r4, #1074 @ 0x432 - 8019f42: 2b20 cmp r3, #32 - 8019f44: bfc1 itttt gt - 8019f46: f1c3 0340 rsbgt r3, r3, #64 @ 0x40 - 8019f4a: fa08 f803 lslgt.w r8, r8, r3 - 8019f4e: f204 4312 addwgt r3, r4, #1042 @ 0x412 - 8019f52: fa26 f303 lsrgt.w r3, r6, r3 - 8019f56: bfd6 itet le - 8019f58: f1c3 0320 rsble r3, r3, #32 - 8019f5c: ea48 0003 orrgt.w r0, r8, r3 - 8019f60: fa06 f003 lslle.w r0, r6, r3 - 8019f64: f7e6 faa6 bl 80004b4 <__aeabi_ui2d> - 8019f68: 2201 movs r2, #1 - 8019f6a: f1a1 73f8 sub.w r3, r1, #32505856 @ 0x1f00000 - 8019f6e: 3c01 subs r4, #1 - 8019f70: 9214 str r2, [sp, #80] @ 0x50 - 8019f72: e775 b.n 8019e60 <_dtoa_r+0x110> - 8019f74: 2301 movs r3, #1 - 8019f76: e7b9 b.n 8019eec <_dtoa_r+0x19c> - 8019f78: 9012 str r0, [sp, #72] @ 0x48 - 8019f7a: e7b8 b.n 8019eee <_dtoa_r+0x19e> - 8019f7c: f1c8 0300 rsb r3, r8, #0 - 8019f80: 9309 str r3, [sp, #36] @ 0x24 - 8019f82: 2300 movs r3, #0 - 8019f84: eba7 0708 sub.w r7, r7, r8 - 8019f88: 930d str r3, [sp, #52] @ 0x34 - 8019f8a: e7c3 b.n 8019f14 <_dtoa_r+0x1c4> - 8019f8c: 2301 movs r3, #1 - 8019f8e: 930b str r3, [sp, #44] @ 0x2c - 8019f90: 9b0c ldr r3, [sp, #48] @ 0x30 - 8019f92: 4443 add r3, r8 - 8019f94: 9305 str r3, [sp, #20] - 8019f96: 3301 adds r3, #1 - 8019f98: 2b01 cmp r3, #1 - 8019f9a: 9304 str r3, [sp, #16] - 8019f9c: bfb8 it lt - 8019f9e: 2301 movlt r3, #1 - 8019fa0: e006 b.n 8019fb0 <_dtoa_r+0x260> - 8019fa2: 2301 movs r3, #1 - 8019fa4: 930b str r3, [sp, #44] @ 0x2c - 8019fa6: 9b0c ldr r3, [sp, #48] @ 0x30 - 8019fa8: 2b00 cmp r3, #0 - 8019faa: dd28 ble.n 8019ffe <_dtoa_r+0x2ae> - 8019fac: e9cd 3304 strd r3, r3, [sp, #16] - 8019fb0: f8d9 001c ldr.w r0, [r9, #28] - 8019fb4: 2100 movs r1, #0 - 8019fb6: 2204 movs r2, #4 - 8019fb8: f102 0514 add.w r5, r2, #20 - 8019fbc: 429d cmp r5, r3 - 8019fbe: d923 bls.n 801a008 <_dtoa_r+0x2b8> - 8019fc0: 6041 str r1, [r0, #4] - 8019fc2: 4648 mov r0, r9 - 8019fc4: f000 fda0 bl 801ab08 <_Balloc> - 8019fc8: 9000 str r0, [sp, #0] - 8019fca: 2800 cmp r0, #0 - 8019fcc: d140 bne.n 801a050 <_dtoa_r+0x300> - 8019fce: 4b1f ldr r3, [pc, #124] @ (801a04c <_dtoa_r+0x2fc>) - 8019fd0: 4602 mov r2, r0 - 8019fd2: f240 11af movw r1, #431 @ 0x1af - 8019fd6: e6d2 b.n 8019d7e <_dtoa_r+0x2e> - 8019fd8: 2300 movs r3, #0 - 8019fda: e7e3 b.n 8019fa4 <_dtoa_r+0x254> - 8019fdc: 2300 movs r3, #0 - 8019fde: e7d6 b.n 8019f8e <_dtoa_r+0x23e> - 8019fe0: 2401 movs r4, #1 - 8019fe2: 2300 movs r3, #0 - 8019fe4: e9cd 340a strd r3, r4, [sp, #40] @ 0x28 - 8019fe8: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 8019fec: e9cd 3304 strd r3, r3, [sp, #16] - 8019ff0: 2200 movs r2, #0 - 8019ff2: 2312 movs r3, #18 - 8019ff4: 920c str r2, [sp, #48] @ 0x30 - 8019ff6: e7db b.n 8019fb0 <_dtoa_r+0x260> - 8019ff8: 2301 movs r3, #1 - 8019ffa: 930b str r3, [sp, #44] @ 0x2c - 8019ffc: e7f4 b.n 8019fe8 <_dtoa_r+0x298> - 8019ffe: 2301 movs r3, #1 - 801a000: e9cd 3304 strd r3, r3, [sp, #16] - 801a004: 461a mov r2, r3 - 801a006: e7f5 b.n 8019ff4 <_dtoa_r+0x2a4> - 801a008: 3101 adds r1, #1 - 801a00a: 0052 lsls r2, r2, #1 - 801a00c: e7d4 b.n 8019fb8 <_dtoa_r+0x268> - 801a00e: bf00 nop - 801a010: 636f4361 .word 0x636f4361 - 801a014: 3fd287a7 .word 0x3fd287a7 - 801a018: 8b60c8b3 .word 0x8b60c8b3 - 801a01c: 3fc68a28 .word 0x3fc68a28 - 801a020: 509f79fb .word 0x509f79fb - 801a024: 3fd34413 .word 0x3fd34413 - 801a028: 0801dcf6 .word 0x0801dcf6 - 801a02c: 0801dd0d .word 0x0801dd0d - 801a030: 7ff00000 .word 0x7ff00000 - 801a034: 0801dcf2 .word 0x0801dcf2 - 801a038: 0801dce9 .word 0x0801dce9 - 801a03c: 0801dcc1 .word 0x0801dcc1 - 801a040: 0801dcc0 .word 0x0801dcc0 - 801a044: 3ff80000 .word 0x3ff80000 - 801a048: 0801dec0 .word 0x0801dec0 - 801a04c: 0801dd65 .word 0x0801dd65 - 801a050: f8d9 301c ldr.w r3, [r9, #28] - 801a054: 9a00 ldr r2, [sp, #0] - 801a056: 601a str r2, [r3, #0] - 801a058: 9b04 ldr r3, [sp, #16] - 801a05a: 2b0e cmp r3, #14 - 801a05c: f200 80a1 bhi.w 801a1a2 <_dtoa_r+0x452> - 801a060: 2c00 cmp r4, #0 - 801a062: f000 809e beq.w 801a1a2 <_dtoa_r+0x452> - 801a066: f1b8 0f00 cmp.w r8, #0 - 801a06a: dd36 ble.n 801a0da <_dtoa_r+0x38a> - 801a06c: 4b9e ldr r3, [pc, #632] @ (801a2e8 <_dtoa_r+0x598>) - 801a06e: f008 020f and.w r2, r8, #15 - 801a072: eb03 03c2 add.w r3, r3, r2, lsl #3 - 801a076: f418 7f80 tst.w r8, #256 @ 0x100 - 801a07a: e9d3 ab00 ldrd sl, fp, [r3] - 801a07e: ea4f 1528 mov.w r5, r8, asr #4 - 801a082: d016 beq.n 801a0b2 <_dtoa_r+0x362> - 801a084: 4b99 ldr r3, [pc, #612] @ (801a2ec <_dtoa_r+0x59c>) - 801a086: e9dd 0106 ldrd r0, r1, [sp, #24] - 801a08a: e9d3 2308 ldrd r2, r3, [r3, #32] - 801a08e: f7e6 fbb5 bl 80007fc <__aeabi_ddiv> - 801a092: e9cd 0102 strd r0, r1, [sp, #8] - 801a096: f005 050f and.w r5, r5, #15 - 801a09a: 2403 movs r4, #3 - 801a09c: 4e93 ldr r6, [pc, #588] @ (801a2ec <_dtoa_r+0x59c>) - 801a09e: b975 cbnz r5, 801a0be <_dtoa_r+0x36e> - 801a0a0: e9dd 0102 ldrd r0, r1, [sp, #8] - 801a0a4: 4652 mov r2, sl - 801a0a6: 465b mov r3, fp - 801a0a8: f7e6 fba8 bl 80007fc <__aeabi_ddiv> - 801a0ac: 4682 mov sl, r0 - 801a0ae: 468b mov fp, r1 - 801a0b0: e02d b.n 801a10e <_dtoa_r+0x3be> - 801a0b2: ed9d 7b06 vldr d7, [sp, #24] - 801a0b6: 2402 movs r4, #2 - 801a0b8: ed8d 7b02 vstr d7, [sp, #8] - 801a0bc: e7ee b.n 801a09c <_dtoa_r+0x34c> - 801a0be: 07e9 lsls r1, r5, #31 - 801a0c0: d508 bpl.n 801a0d4 <_dtoa_r+0x384> - 801a0c2: 4650 mov r0, sl - 801a0c4: 4659 mov r1, fp - 801a0c6: e9d6 2300 ldrd r2, r3, [r6] - 801a0ca: f7e6 fa6d bl 80005a8 <__aeabi_dmul> - 801a0ce: 3401 adds r4, #1 - 801a0d0: 4682 mov sl, r0 - 801a0d2: 468b mov fp, r1 - 801a0d4: 106d asrs r5, r5, #1 - 801a0d6: 3608 adds r6, #8 - 801a0d8: e7e1 b.n 801a09e <_dtoa_r+0x34e> - 801a0da: f000 80ad beq.w 801a238 <_dtoa_r+0x4e8> - 801a0de: f1c8 0500 rsb r5, r8, #0 - 801a0e2: 4b81 ldr r3, [pc, #516] @ (801a2e8 <_dtoa_r+0x598>) - 801a0e4: 4e81 ldr r6, [pc, #516] @ (801a2ec <_dtoa_r+0x59c>) - 801a0e6: f005 020f and.w r2, r5, #15 - 801a0ea: eb03 03c2 add.w r3, r3, r2, lsl #3 - 801a0ee: e9d3 2300 ldrd r2, r3, [r3] - 801a0f2: e9dd 0106 ldrd r0, r1, [sp, #24] - 801a0f6: f7e6 fa57 bl 80005a8 <__aeabi_dmul> - 801a0fa: 112d asrs r5, r5, #4 - 801a0fc: 4682 mov sl, r0 - 801a0fe: 468b mov fp, r1 - 801a100: 2300 movs r3, #0 - 801a102: 2402 movs r4, #2 - 801a104: 2d00 cmp r5, #0 - 801a106: f040 808c bne.w 801a222 <_dtoa_r+0x4d2> - 801a10a: 2b00 cmp r3, #0 - 801a10c: d1ce bne.n 801a0ac <_dtoa_r+0x35c> - 801a10e: 9b12 ldr r3, [sp, #72] @ 0x48 - 801a110: 2b00 cmp r3, #0 - 801a112: f000 8095 beq.w 801a240 <_dtoa_r+0x4f0> - 801a116: 4b76 ldr r3, [pc, #472] @ (801a2f0 <_dtoa_r+0x5a0>) - 801a118: 2200 movs r2, #0 - 801a11a: 4650 mov r0, sl - 801a11c: 4659 mov r1, fp - 801a11e: f7e6 fcb5 bl 8000a8c <__aeabi_dcmplt> - 801a122: 2800 cmp r0, #0 - 801a124: f000 808c beq.w 801a240 <_dtoa_r+0x4f0> - 801a128: 9b04 ldr r3, [sp, #16] - 801a12a: 2b00 cmp r3, #0 - 801a12c: f000 8088 beq.w 801a240 <_dtoa_r+0x4f0> - 801a130: 9b05 ldr r3, [sp, #20] - 801a132: 2b00 cmp r3, #0 - 801a134: dd35 ble.n 801a1a2 <_dtoa_r+0x452> - 801a136: f108 33ff add.w r3, r8, #4294967295 @ 0xffffffff - 801a13a: 9302 str r3, [sp, #8] - 801a13c: 4650 mov r0, sl - 801a13e: 4659 mov r1, fp - 801a140: 4b6c ldr r3, [pc, #432] @ (801a2f4 <_dtoa_r+0x5a4>) - 801a142: 2200 movs r2, #0 - 801a144: f7e6 fa30 bl 80005a8 <__aeabi_dmul> - 801a148: 9e05 ldr r6, [sp, #20] - 801a14a: 4682 mov sl, r0 - 801a14c: 468b mov fp, r1 - 801a14e: 3401 adds r4, #1 - 801a150: 4620 mov r0, r4 - 801a152: f7e6 f9bf bl 80004d4 <__aeabi_i2d> - 801a156: 4652 mov r2, sl - 801a158: 465b mov r3, fp - 801a15a: f7e6 fa25 bl 80005a8 <__aeabi_dmul> - 801a15e: 4b66 ldr r3, [pc, #408] @ (801a2f8 <_dtoa_r+0x5a8>) - 801a160: 2200 movs r2, #0 - 801a162: f7e6 f86b bl 800023c <__adddf3> - 801a166: 4604 mov r4, r0 - 801a168: f1a1 7550 sub.w r5, r1, #54525952 @ 0x3400000 - 801a16c: e9cd 4510 strd r4, r5, [sp, #64] @ 0x40 - 801a170: 2e00 cmp r6, #0 - 801a172: d169 bne.n 801a248 <_dtoa_r+0x4f8> - 801a174: 4b61 ldr r3, [pc, #388] @ (801a2fc <_dtoa_r+0x5ac>) - 801a176: 2200 movs r2, #0 - 801a178: 4650 mov r0, sl - 801a17a: 4659 mov r1, fp - 801a17c: f7e6 f85c bl 8000238 <__aeabi_dsub> - 801a180: 4622 mov r2, r4 - 801a182: 462b mov r3, r5 - 801a184: 4682 mov sl, r0 - 801a186: 468b mov fp, r1 - 801a188: f7e6 fc9e bl 8000ac8 <__aeabi_dcmpgt> - 801a18c: 2800 cmp r0, #0 - 801a18e: f040 8294 bne.w 801a6ba <_dtoa_r+0x96a> - 801a192: 4622 mov r2, r4 - 801a194: f105 4300 add.w r3, r5, #2147483648 @ 0x80000000 - 801a198: 4650 mov r0, sl - 801a19a: 4659 mov r1, fp - 801a19c: f7e6 fc76 bl 8000a8c <__aeabi_dcmplt> - 801a1a0: bb20 cbnz r0, 801a1ec <_dtoa_r+0x49c> - 801a1a2: 9b17 ldr r3, [sp, #92] @ 0x5c - 801a1a4: 2b00 cmp r3, #0 - 801a1a6: f2c0 8160 blt.w 801a46a <_dtoa_r+0x71a> - 801a1aa: f1b8 0f0e cmp.w r8, #14 - 801a1ae: f300 815c bgt.w 801a46a <_dtoa_r+0x71a> - 801a1b2: 4b4d ldr r3, [pc, #308] @ (801a2e8 <_dtoa_r+0x598>) - 801a1b4: eb03 03c8 add.w r3, r3, r8, lsl #3 - 801a1b8: e9d3 ab00 ldrd sl, fp, [r3] - 801a1bc: 9b0c ldr r3, [sp, #48] @ 0x30 - 801a1be: 2b00 cmp r3, #0 - 801a1c0: f280 80ee bge.w 801a3a0 <_dtoa_r+0x650> - 801a1c4: 9b04 ldr r3, [sp, #16] - 801a1c6: 2b00 cmp r3, #0 - 801a1c8: f300 80ea bgt.w 801a3a0 <_dtoa_r+0x650> - 801a1cc: d10e bne.n 801a1ec <_dtoa_r+0x49c> - 801a1ce: 4b4b ldr r3, [pc, #300] @ (801a2fc <_dtoa_r+0x5ac>) - 801a1d0: 2200 movs r2, #0 - 801a1d2: 4650 mov r0, sl - 801a1d4: 4659 mov r1, fp - 801a1d6: f7e6 f9e7 bl 80005a8 <__aeabi_dmul> - 801a1da: 4602 mov r2, r0 - 801a1dc: 460b mov r3, r1 - 801a1de: e9dd 0106 ldrd r0, r1, [sp, #24] - 801a1e2: f7e6 fc5d bl 8000aa0 <__aeabi_dcmple> - 801a1e6: 2800 cmp r0, #0 - 801a1e8: f000 826a beq.w 801a6c0 <_dtoa_r+0x970> - 801a1ec: 2500 movs r5, #0 - 801a1ee: 462c mov r4, r5 - 801a1f0: 9b0c ldr r3, [sp, #48] @ 0x30 - 801a1f2: 9e00 ldr r6, [sp, #0] - 801a1f4: 43db mvns r3, r3 - 801a1f6: 9302 str r3, [sp, #8] - 801a1f8: 4627 mov r7, r4 - 801a1fa: 2400 movs r4, #0 - 801a1fc: 4629 mov r1, r5 - 801a1fe: 4648 mov r0, r9 - 801a200: f000 fcc0 bl 801ab84 <_Bfree> - 801a204: 2f00 cmp r7, #0 - 801a206: f000 80c1 beq.w 801a38c <_dtoa_r+0x63c> - 801a20a: b12c cbz r4, 801a218 <_dtoa_r+0x4c8> - 801a20c: 42bc cmp r4, r7 - 801a20e: d003 beq.n 801a218 <_dtoa_r+0x4c8> - 801a210: 4621 mov r1, r4 - 801a212: 4648 mov r0, r9 - 801a214: f000 fcb6 bl 801ab84 <_Bfree> - 801a218: 4639 mov r1, r7 - 801a21a: 4648 mov r0, r9 - 801a21c: f000 fcb2 bl 801ab84 <_Bfree> - 801a220: e0b4 b.n 801a38c <_dtoa_r+0x63c> - 801a222: 07ea lsls r2, r5, #31 - 801a224: d505 bpl.n 801a232 <_dtoa_r+0x4e2> - 801a226: e9d6 2300 ldrd r2, r3, [r6] - 801a22a: f7e6 f9bd bl 80005a8 <__aeabi_dmul> - 801a22e: 3401 adds r4, #1 - 801a230: 2301 movs r3, #1 - 801a232: 106d asrs r5, r5, #1 - 801a234: 3608 adds r6, #8 - 801a236: e765 b.n 801a104 <_dtoa_r+0x3b4> - 801a238: e9dd ab06 ldrd sl, fp, [sp, #24] - 801a23c: 2402 movs r4, #2 - 801a23e: e766 b.n 801a10e <_dtoa_r+0x3be> - 801a240: 9e04 ldr r6, [sp, #16] - 801a242: f8cd 8008 str.w r8, [sp, #8] - 801a246: e783 b.n 801a150 <_dtoa_r+0x400> - 801a248: 4b27 ldr r3, [pc, #156] @ (801a2e8 <_dtoa_r+0x598>) - 801a24a: eb03 03c6 add.w r3, r3, r6, lsl #3 - 801a24e: e953 0102 ldrd r0, r1, [r3, #-8] - 801a252: 9b0b ldr r3, [sp, #44] @ 0x2c - 801a254: 2b00 cmp r3, #0 - 801a256: d055 beq.n 801a304 <_dtoa_r+0x5b4> - 801a258: 4602 mov r2, r0 - 801a25a: 460b mov r3, r1 - 801a25c: 2000 movs r0, #0 - 801a25e: 4928 ldr r1, [pc, #160] @ (801a300 <_dtoa_r+0x5b0>) - 801a260: f7e6 facc bl 80007fc <__aeabi_ddiv> - 801a264: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 - 801a268: f7e5 ffe6 bl 8000238 <__aeabi_dsub> - 801a26c: 9b00 ldr r3, [sp, #0] - 801a26e: e9cd 0110 strd r0, r1, [sp, #64] @ 0x40 - 801a272: 199d adds r5, r3, r6 - 801a274: 461e mov r6, r3 - 801a276: 4659 mov r1, fp - 801a278: 4650 mov r0, sl - 801a27a: f7e6 fc45 bl 8000b08 <__aeabi_d2iz> - 801a27e: 4604 mov r4, r0 - 801a280: f7e6 f928 bl 80004d4 <__aeabi_i2d> - 801a284: 4602 mov r2, r0 - 801a286: 460b mov r3, r1 - 801a288: 4650 mov r0, sl - 801a28a: 4659 mov r1, fp - 801a28c: f7e5 ffd4 bl 8000238 <__aeabi_dsub> - 801a290: 3430 adds r4, #48 @ 0x30 - 801a292: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 - 801a296: f806 4b01 strb.w r4, [r6], #1 - 801a29a: 4682 mov sl, r0 - 801a29c: 468b mov fp, r1 - 801a29e: f7e6 fbf5 bl 8000a8c <__aeabi_dcmplt> - 801a2a2: 2800 cmp r0, #0 - 801a2a4: d172 bne.n 801a38c <_dtoa_r+0x63c> - 801a2a6: 4652 mov r2, sl - 801a2a8: 465b mov r3, fp - 801a2aa: 4911 ldr r1, [pc, #68] @ (801a2f0 <_dtoa_r+0x5a0>) - 801a2ac: 2000 movs r0, #0 - 801a2ae: f7e5 ffc3 bl 8000238 <__aeabi_dsub> - 801a2b2: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 - 801a2b6: f7e6 fbe9 bl 8000a8c <__aeabi_dcmplt> - 801a2ba: 2800 cmp r0, #0 - 801a2bc: f040 80b6 bne.w 801a42c <_dtoa_r+0x6dc> - 801a2c0: 42ae cmp r6, r5 - 801a2c2: f43f af6e beq.w 801a1a2 <_dtoa_r+0x452> - 801a2c6: e9dd 0110 ldrd r0, r1, [sp, #64] @ 0x40 - 801a2ca: 4b0a ldr r3, [pc, #40] @ (801a2f4 <_dtoa_r+0x5a4>) - 801a2cc: 2200 movs r2, #0 - 801a2ce: f7e6 f96b bl 80005a8 <__aeabi_dmul> - 801a2d2: 4b08 ldr r3, [pc, #32] @ (801a2f4 <_dtoa_r+0x5a4>) - 801a2d4: e9cd 0110 strd r0, r1, [sp, #64] @ 0x40 - 801a2d8: 2200 movs r2, #0 - 801a2da: 4650 mov r0, sl - 801a2dc: 4659 mov r1, fp - 801a2de: f7e6 f963 bl 80005a8 <__aeabi_dmul> - 801a2e2: 4682 mov sl, r0 - 801a2e4: 468b mov fp, r1 - 801a2e6: e7c6 b.n 801a276 <_dtoa_r+0x526> - 801a2e8: 0801dec0 .word 0x0801dec0 - 801a2ec: 0801de98 .word 0x0801de98 - 801a2f0: 3ff00000 .word 0x3ff00000 - 801a2f4: 40240000 .word 0x40240000 - 801a2f8: 401c0000 .word 0x401c0000 - 801a2fc: 40140000 .word 0x40140000 - 801a300: 3fe00000 .word 0x3fe00000 - 801a304: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 - 801a308: f7e6 f94e bl 80005a8 <__aeabi_dmul> - 801a30c: 9b00 ldr r3, [sp, #0] - 801a30e: 9d00 ldr r5, [sp, #0] - 801a310: e9cd 0110 strd r0, r1, [sp, #64] @ 0x40 - 801a314: 4433 add r3, r6 - 801a316: 9315 str r3, [sp, #84] @ 0x54 - 801a318: 4659 mov r1, fp - 801a31a: 4650 mov r0, sl - 801a31c: f7e6 fbf4 bl 8000b08 <__aeabi_d2iz> - 801a320: 4604 mov r4, r0 - 801a322: f7e6 f8d7 bl 80004d4 <__aeabi_i2d> - 801a326: 3430 adds r4, #48 @ 0x30 - 801a328: 460b mov r3, r1 - 801a32a: 4602 mov r2, r0 - 801a32c: 4659 mov r1, fp - 801a32e: 4650 mov r0, sl - 801a330: f7e5 ff82 bl 8000238 <__aeabi_dsub> - 801a334: f805 4b01 strb.w r4, [r5], #1 - 801a338: 9b15 ldr r3, [sp, #84] @ 0x54 - 801a33a: 429d cmp r5, r3 - 801a33c: 4682 mov sl, r0 - 801a33e: 468b mov fp, r1 - 801a340: d127 bne.n 801a392 <_dtoa_r+0x642> - 801a342: 9b00 ldr r3, [sp, #0] - 801a344: 2200 movs r2, #0 - 801a346: e9dd 0110 ldrd r0, r1, [sp, #64] @ 0x40 - 801a34a: 441e add r6, r3 - 801a34c: 4bb3 ldr r3, [pc, #716] @ (801a61c <_dtoa_r+0x8cc>) - 801a34e: f7e5 ff75 bl 800023c <__adddf3> - 801a352: 4602 mov r2, r0 - 801a354: 460b mov r3, r1 - 801a356: 4650 mov r0, sl - 801a358: 4659 mov r1, fp - 801a35a: f7e6 fbb5 bl 8000ac8 <__aeabi_dcmpgt> - 801a35e: 2800 cmp r0, #0 - 801a360: d164 bne.n 801a42c <_dtoa_r+0x6dc> - 801a362: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 - 801a366: 49ad ldr r1, [pc, #692] @ (801a61c <_dtoa_r+0x8cc>) - 801a368: 2000 movs r0, #0 - 801a36a: f7e5 ff65 bl 8000238 <__aeabi_dsub> - 801a36e: 4602 mov r2, r0 - 801a370: 460b mov r3, r1 - 801a372: 4650 mov r0, sl - 801a374: 4659 mov r1, fp - 801a376: f7e6 fb89 bl 8000a8c <__aeabi_dcmplt> - 801a37a: 2800 cmp r0, #0 - 801a37c: f43f af11 beq.w 801a1a2 <_dtoa_r+0x452> - 801a380: 4633 mov r3, r6 - 801a382: f816 2d01 ldrb.w r2, [r6, #-1]! - 801a386: 2a30 cmp r2, #48 @ 0x30 - 801a388: d0fa beq.n 801a380 <_dtoa_r+0x630> - 801a38a: 461e mov r6, r3 - 801a38c: f8dd 8008 ldr.w r8, [sp, #8] - 801a390: e03a b.n 801a408 <_dtoa_r+0x6b8> - 801a392: 4ba3 ldr r3, [pc, #652] @ (801a620 <_dtoa_r+0x8d0>) - 801a394: 2200 movs r2, #0 - 801a396: f7e6 f907 bl 80005a8 <__aeabi_dmul> - 801a39a: 4682 mov sl, r0 - 801a39c: 468b mov fp, r1 - 801a39e: e7bb b.n 801a318 <_dtoa_r+0x5c8> - 801a3a0: 9e00 ldr r6, [sp, #0] - 801a3a2: 4652 mov r2, sl - 801a3a4: 465b mov r3, fp - 801a3a6: e9dd 0106 ldrd r0, r1, [sp, #24] - 801a3aa: f7e6 fa27 bl 80007fc <__aeabi_ddiv> - 801a3ae: f7e6 fbab bl 8000b08 <__aeabi_d2iz> - 801a3b2: 4607 mov r7, r0 - 801a3b4: f7e6 f88e bl 80004d4 <__aeabi_i2d> - 801a3b8: 4652 mov r2, sl - 801a3ba: 465b mov r3, fp - 801a3bc: f7e6 f8f4 bl 80005a8 <__aeabi_dmul> - 801a3c0: 4602 mov r2, r0 - 801a3c2: 460b mov r3, r1 - 801a3c4: e9dd 0106 ldrd r0, r1, [sp, #24] - 801a3c8: f7e5 ff36 bl 8000238 <__aeabi_dsub> - 801a3cc: f107 0c30 add.w ip, r7, #48 @ 0x30 - 801a3d0: 9c00 ldr r4, [sp, #0] - 801a3d2: f806 cb01 strb.w ip, [r6], #1 - 801a3d6: eba6 0c04 sub.w ip, r6, r4 - 801a3da: 9c04 ldr r4, [sp, #16] - 801a3dc: 4564 cmp r4, ip - 801a3de: 4602 mov r2, r0 - 801a3e0: 460b mov r3, r1 - 801a3e2: d133 bne.n 801a44c <_dtoa_r+0x6fc> - 801a3e4: f7e5 ff2a bl 800023c <__adddf3> - 801a3e8: 4652 mov r2, sl - 801a3ea: 465b mov r3, fp - 801a3ec: 4604 mov r4, r0 - 801a3ee: 460d mov r5, r1 - 801a3f0: f7e6 fb6a bl 8000ac8 <__aeabi_dcmpgt> - 801a3f4: b9c0 cbnz r0, 801a428 <_dtoa_r+0x6d8> - 801a3f6: 4652 mov r2, sl - 801a3f8: 465b mov r3, fp - 801a3fa: 4620 mov r0, r4 - 801a3fc: 4629 mov r1, r5 - 801a3fe: f7e6 fb3b bl 8000a78 <__aeabi_dcmpeq> - 801a402: b108 cbz r0, 801a408 <_dtoa_r+0x6b8> - 801a404: 07fb lsls r3, r7, #31 - 801a406: d40f bmi.n 801a428 <_dtoa_r+0x6d8> - 801a408: 9901 ldr r1, [sp, #4] - 801a40a: 4648 mov r0, r9 - 801a40c: f000 fbba bl 801ab84 <_Bfree> - 801a410: 2300 movs r3, #0 - 801a412: 9a13 ldr r2, [sp, #76] @ 0x4c - 801a414: 7033 strb r3, [r6, #0] - 801a416: f108 0301 add.w r3, r8, #1 - 801a41a: 6013 str r3, [r2, #0] - 801a41c: 9b23 ldr r3, [sp, #140] @ 0x8c - 801a41e: 2b00 cmp r3, #0 - 801a420: f43f ace6 beq.w 8019df0 <_dtoa_r+0xa0> - 801a424: 601e str r6, [r3, #0] - 801a426: e4e3 b.n 8019df0 <_dtoa_r+0xa0> - 801a428: f8cd 8008 str.w r8, [sp, #8] - 801a42c: 4633 mov r3, r6 - 801a42e: 461e mov r6, r3 - 801a430: f813 2d01 ldrb.w r2, [r3, #-1]! - 801a434: 2a39 cmp r2, #57 @ 0x39 - 801a436: d106 bne.n 801a446 <_dtoa_r+0x6f6> - 801a438: 9a00 ldr r2, [sp, #0] - 801a43a: 429a cmp r2, r3 - 801a43c: d1f7 bne.n 801a42e <_dtoa_r+0x6de> - 801a43e: 9a02 ldr r2, [sp, #8] - 801a440: 3201 adds r2, #1 - 801a442: 9202 str r2, [sp, #8] - 801a444: 2230 movs r2, #48 @ 0x30 - 801a446: 3201 adds r2, #1 - 801a448: 701a strb r2, [r3, #0] - 801a44a: e79f b.n 801a38c <_dtoa_r+0x63c> - 801a44c: 4b74 ldr r3, [pc, #464] @ (801a620 <_dtoa_r+0x8d0>) - 801a44e: 2200 movs r2, #0 - 801a450: f7e6 f8aa bl 80005a8 <__aeabi_dmul> - 801a454: 4602 mov r2, r0 - 801a456: 460b mov r3, r1 - 801a458: e9cd 2306 strd r2, r3, [sp, #24] - 801a45c: 2200 movs r2, #0 - 801a45e: 2300 movs r3, #0 - 801a460: f7e6 fb0a bl 8000a78 <__aeabi_dcmpeq> - 801a464: 2800 cmp r0, #0 - 801a466: d09c beq.n 801a3a2 <_dtoa_r+0x652> - 801a468: e7ce b.n 801a408 <_dtoa_r+0x6b8> - 801a46a: 9a0b ldr r2, [sp, #44] @ 0x2c - 801a46c: 2a00 cmp r2, #0 - 801a46e: f000 80e3 beq.w 801a638 <_dtoa_r+0x8e8> - 801a472: 9a0a ldr r2, [sp, #40] @ 0x28 - 801a474: 2a01 cmp r2, #1 - 801a476: f300 80c2 bgt.w 801a5fe <_dtoa_r+0x8ae> - 801a47a: 9a14 ldr r2, [sp, #80] @ 0x50 - 801a47c: 2a00 cmp r2, #0 - 801a47e: f000 80ba beq.w 801a5f6 <_dtoa_r+0x8a6> - 801a482: f203 4333 addw r3, r3, #1075 @ 0x433 - 801a486: 9d09 ldr r5, [sp, #36] @ 0x24 - 801a488: 463e mov r6, r7 - 801a48a: 9a08 ldr r2, [sp, #32] - 801a48c: 2101 movs r1, #1 - 801a48e: 441a add r2, r3 - 801a490: 4648 mov r0, r9 - 801a492: 441f add r7, r3 - 801a494: 9208 str r2, [sp, #32] - 801a496: f000 fc73 bl 801ad80 <__i2b> - 801a49a: 4604 mov r4, r0 - 801a49c: b156 cbz r6, 801a4b4 <_dtoa_r+0x764> - 801a49e: 9b08 ldr r3, [sp, #32] - 801a4a0: 2b00 cmp r3, #0 - 801a4a2: dd07 ble.n 801a4b4 <_dtoa_r+0x764> - 801a4a4: 42b3 cmp r3, r6 - 801a4a6: 9a08 ldr r2, [sp, #32] - 801a4a8: bfa8 it ge - 801a4aa: 4633 movge r3, r6 - 801a4ac: 1aff subs r7, r7, r3 - 801a4ae: 1af6 subs r6, r6, r3 - 801a4b0: 1ad3 subs r3, r2, r3 - 801a4b2: 9308 str r3, [sp, #32] - 801a4b4: 9b09 ldr r3, [sp, #36] @ 0x24 - 801a4b6: b30b cbz r3, 801a4fc <_dtoa_r+0x7ac> - 801a4b8: 9b0b ldr r3, [sp, #44] @ 0x2c - 801a4ba: 2b00 cmp r3, #0 - 801a4bc: f000 80c3 beq.w 801a646 <_dtoa_r+0x8f6> - 801a4c0: 2d00 cmp r5, #0 - 801a4c2: f000 80bd beq.w 801a640 <_dtoa_r+0x8f0> - 801a4c6: 4621 mov r1, r4 - 801a4c8: 462a mov r2, r5 - 801a4ca: 4648 mov r0, r9 - 801a4cc: f000 fd18 bl 801af00 <__pow5mult> - 801a4d0: 9a01 ldr r2, [sp, #4] - 801a4d2: 4601 mov r1, r0 - 801a4d4: 4604 mov r4, r0 - 801a4d6: 4648 mov r0, r9 - 801a4d8: f000 fc68 bl 801adac <__multiply> - 801a4dc: 9901 ldr r1, [sp, #4] - 801a4de: 4682 mov sl, r0 - 801a4e0: 4648 mov r0, r9 - 801a4e2: f000 fb4f bl 801ab84 <_Bfree> - 801a4e6: 9b09 ldr r3, [sp, #36] @ 0x24 - 801a4e8: 1b5b subs r3, r3, r5 - 801a4ea: 9309 str r3, [sp, #36] @ 0x24 - 801a4ec: f000 80ae beq.w 801a64c <_dtoa_r+0x8fc> - 801a4f0: 9a09 ldr r2, [sp, #36] @ 0x24 - 801a4f2: 4651 mov r1, sl - 801a4f4: 4648 mov r0, r9 - 801a4f6: f000 fd03 bl 801af00 <__pow5mult> - 801a4fa: 9001 str r0, [sp, #4] - 801a4fc: 2101 movs r1, #1 - 801a4fe: 4648 mov r0, r9 - 801a500: f000 fc3e bl 801ad80 <__i2b> - 801a504: 9b0d ldr r3, [sp, #52] @ 0x34 - 801a506: 4605 mov r5, r0 - 801a508: 2b00 cmp r3, #0 - 801a50a: f000 81d7 beq.w 801a8bc <_dtoa_r+0xb6c> - 801a50e: 461a mov r2, r3 - 801a510: 4601 mov r1, r0 - 801a512: 4648 mov r0, r9 - 801a514: f000 fcf4 bl 801af00 <__pow5mult> - 801a518: 9b0a ldr r3, [sp, #40] @ 0x28 - 801a51a: 2b01 cmp r3, #1 - 801a51c: 4605 mov r5, r0 - 801a51e: f300 809d bgt.w 801a65c <_dtoa_r+0x90c> - 801a522: 9b0e ldr r3, [sp, #56] @ 0x38 - 801a524: 2b00 cmp r3, #0 - 801a526: f040 8094 bne.w 801a652 <_dtoa_r+0x902> - 801a52a: 9b0f ldr r3, [sp, #60] @ 0x3c - 801a52c: f3c3 0313 ubfx r3, r3, #0, #20 - 801a530: 2b00 cmp r3, #0 - 801a532: f040 808e bne.w 801a652 <_dtoa_r+0x902> - 801a536: 9b0f ldr r3, [sp, #60] @ 0x3c - 801a538: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 - 801a53c: 0d1b lsrs r3, r3, #20 - 801a53e: 051b lsls r3, r3, #20 - 801a540: 2b00 cmp r3, #0 - 801a542: f000 8089 beq.w 801a658 <_dtoa_r+0x908> - 801a546: 9b08 ldr r3, [sp, #32] - 801a548: 3301 adds r3, #1 - 801a54a: 3701 adds r7, #1 - 801a54c: 9308 str r3, [sp, #32] - 801a54e: f04f 0a01 mov.w sl, #1 - 801a552: 9b0d ldr r3, [sp, #52] @ 0x34 - 801a554: 2b00 cmp r3, #0 - 801a556: f000 81b7 beq.w 801a8c8 <_dtoa_r+0xb78> - 801a55a: 692b ldr r3, [r5, #16] - 801a55c: eb05 0383 add.w r3, r5, r3, lsl #2 - 801a560: 6918 ldr r0, [r3, #16] - 801a562: f000 fbc1 bl 801ace8 <__hi0bits> - 801a566: f1c0 0020 rsb r0, r0, #32 - 801a56a: 9b08 ldr r3, [sp, #32] - 801a56c: 4418 add r0, r3 - 801a56e: f010 001f ands.w r0, r0, #31 - 801a572: d07e beq.n 801a672 <_dtoa_r+0x922> - 801a574: f1c0 0320 rsb r3, r0, #32 - 801a578: 2b04 cmp r3, #4 - 801a57a: dd72 ble.n 801a662 <_dtoa_r+0x912> - 801a57c: 9b08 ldr r3, [sp, #32] - 801a57e: f1c0 001c rsb r0, r0, #28 - 801a582: 4403 add r3, r0 - 801a584: 4407 add r7, r0 - 801a586: 4406 add r6, r0 - 801a588: 9308 str r3, [sp, #32] - 801a58a: 2f00 cmp r7, #0 - 801a58c: dd05 ble.n 801a59a <_dtoa_r+0x84a> - 801a58e: 9901 ldr r1, [sp, #4] - 801a590: 463a mov r2, r7 - 801a592: 4648 mov r0, r9 - 801a594: f000 fd10 bl 801afb8 <__lshift> - 801a598: 9001 str r0, [sp, #4] - 801a59a: 9b08 ldr r3, [sp, #32] - 801a59c: 2b00 cmp r3, #0 - 801a59e: dd05 ble.n 801a5ac <_dtoa_r+0x85c> - 801a5a0: 4629 mov r1, r5 - 801a5a2: 461a mov r2, r3 - 801a5a4: 4648 mov r0, r9 - 801a5a6: f000 fd07 bl 801afb8 <__lshift> - 801a5aa: 4605 mov r5, r0 - 801a5ac: 9b12 ldr r3, [sp, #72] @ 0x48 - 801a5ae: 2b00 cmp r3, #0 - 801a5b0: d061 beq.n 801a676 <_dtoa_r+0x926> - 801a5b2: 9801 ldr r0, [sp, #4] - 801a5b4: 4629 mov r1, r5 - 801a5b6: f000 fd6d bl 801b094 <__mcmp> - 801a5ba: 2800 cmp r0, #0 - 801a5bc: da5b bge.n 801a676 <_dtoa_r+0x926> - 801a5be: f108 33ff add.w r3, r8, #4294967295 @ 0xffffffff - 801a5c2: 9302 str r3, [sp, #8] - 801a5c4: 9901 ldr r1, [sp, #4] - 801a5c6: 2300 movs r3, #0 - 801a5c8: 220a movs r2, #10 - 801a5ca: 4648 mov r0, r9 - 801a5cc: f000 fafc bl 801abc8 <__multadd> - 801a5d0: 9b0b ldr r3, [sp, #44] @ 0x2c - 801a5d2: 9001 str r0, [sp, #4] - 801a5d4: 2b00 cmp r3, #0 - 801a5d6: f000 8179 beq.w 801a8cc <_dtoa_r+0xb7c> - 801a5da: 2300 movs r3, #0 - 801a5dc: 4621 mov r1, r4 - 801a5de: 220a movs r2, #10 - 801a5e0: 4648 mov r0, r9 - 801a5e2: f000 faf1 bl 801abc8 <__multadd> - 801a5e6: 9b05 ldr r3, [sp, #20] - 801a5e8: 2b00 cmp r3, #0 - 801a5ea: 4604 mov r4, r0 - 801a5ec: dc72 bgt.n 801a6d4 <_dtoa_r+0x984> - 801a5ee: 9b0a ldr r3, [sp, #40] @ 0x28 - 801a5f0: 2b02 cmp r3, #2 - 801a5f2: dc49 bgt.n 801a688 <_dtoa_r+0x938> - 801a5f4: e06e b.n 801a6d4 <_dtoa_r+0x984> - 801a5f6: 9b16 ldr r3, [sp, #88] @ 0x58 - 801a5f8: f1c3 0336 rsb r3, r3, #54 @ 0x36 - 801a5fc: e743 b.n 801a486 <_dtoa_r+0x736> - 801a5fe: 9b04 ldr r3, [sp, #16] - 801a600: 1e5d subs r5, r3, #1 - 801a602: 9b09 ldr r3, [sp, #36] @ 0x24 - 801a604: 42ab cmp r3, r5 - 801a606: db0d blt.n 801a624 <_dtoa_r+0x8d4> - 801a608: 1b5d subs r5, r3, r5 - 801a60a: 9b04 ldr r3, [sp, #16] - 801a60c: 2b00 cmp r3, #0 - 801a60e: f6bf af3b bge.w 801a488 <_dtoa_r+0x738> - 801a612: 9b04 ldr r3, [sp, #16] - 801a614: 1afe subs r6, r7, r3 - 801a616: 2300 movs r3, #0 - 801a618: e737 b.n 801a48a <_dtoa_r+0x73a> - 801a61a: bf00 nop - 801a61c: 3fe00000 .word 0x3fe00000 - 801a620: 40240000 .word 0x40240000 - 801a624: 9b09 ldr r3, [sp, #36] @ 0x24 - 801a626: 9a0d ldr r2, [sp, #52] @ 0x34 - 801a628: 9509 str r5, [sp, #36] @ 0x24 - 801a62a: 1aeb subs r3, r5, r3 - 801a62c: 441a add r2, r3 - 801a62e: 920d str r2, [sp, #52] @ 0x34 - 801a630: 9b04 ldr r3, [sp, #16] - 801a632: 463e mov r6, r7 - 801a634: 2500 movs r5, #0 - 801a636: e728 b.n 801a48a <_dtoa_r+0x73a> - 801a638: 9d09 ldr r5, [sp, #36] @ 0x24 - 801a63a: 9c0b ldr r4, [sp, #44] @ 0x2c - 801a63c: 463e mov r6, r7 - 801a63e: e72d b.n 801a49c <_dtoa_r+0x74c> - 801a640: f8dd a004 ldr.w sl, [sp, #4] - 801a644: e754 b.n 801a4f0 <_dtoa_r+0x7a0> - 801a646: 9a09 ldr r2, [sp, #36] @ 0x24 - 801a648: 9901 ldr r1, [sp, #4] - 801a64a: e753 b.n 801a4f4 <_dtoa_r+0x7a4> - 801a64c: f8cd a004 str.w sl, [sp, #4] - 801a650: e754 b.n 801a4fc <_dtoa_r+0x7ac> - 801a652: f04f 0a00 mov.w sl, #0 - 801a656: e77c b.n 801a552 <_dtoa_r+0x802> - 801a658: 469a mov sl, r3 - 801a65a: e77a b.n 801a552 <_dtoa_r+0x802> - 801a65c: f04f 0a00 mov.w sl, #0 - 801a660: e77b b.n 801a55a <_dtoa_r+0x80a> - 801a662: d092 beq.n 801a58a <_dtoa_r+0x83a> - 801a664: 9a08 ldr r2, [sp, #32] - 801a666: 331c adds r3, #28 - 801a668: 441a add r2, r3 - 801a66a: 441f add r7, r3 - 801a66c: 441e add r6, r3 - 801a66e: 9208 str r2, [sp, #32] - 801a670: e78b b.n 801a58a <_dtoa_r+0x83a> - 801a672: 4603 mov r3, r0 - 801a674: e7f6 b.n 801a664 <_dtoa_r+0x914> - 801a676: 9b04 ldr r3, [sp, #16] - 801a678: f8cd 8008 str.w r8, [sp, #8] - 801a67c: 2b00 cmp r3, #0 - 801a67e: dc23 bgt.n 801a6c8 <_dtoa_r+0x978> - 801a680: 9305 str r3, [sp, #20] - 801a682: 9b0a ldr r3, [sp, #40] @ 0x28 - 801a684: 2b02 cmp r3, #2 - 801a686: dd21 ble.n 801a6cc <_dtoa_r+0x97c> - 801a688: 9b05 ldr r3, [sp, #20] - 801a68a: 2b00 cmp r3, #0 - 801a68c: f47f adb0 bne.w 801a1f0 <_dtoa_r+0x4a0> - 801a690: 4629 mov r1, r5 - 801a692: 2205 movs r2, #5 - 801a694: 4648 mov r0, r9 - 801a696: f000 fa97 bl 801abc8 <__multadd> - 801a69a: 4601 mov r1, r0 - 801a69c: 4605 mov r5, r0 - 801a69e: 9801 ldr r0, [sp, #4] - 801a6a0: f000 fcf8 bl 801b094 <__mcmp> - 801a6a4: 2800 cmp r0, #0 - 801a6a6: f77f ada3 ble.w 801a1f0 <_dtoa_r+0x4a0> - 801a6aa: 9e00 ldr r6, [sp, #0] - 801a6ac: 2331 movs r3, #49 @ 0x31 - 801a6ae: f806 3b01 strb.w r3, [r6], #1 - 801a6b2: 9b02 ldr r3, [sp, #8] - 801a6b4: 3301 adds r3, #1 - 801a6b6: 9302 str r3, [sp, #8] - 801a6b8: e59e b.n 801a1f8 <_dtoa_r+0x4a8> - 801a6ba: 4635 mov r5, r6 - 801a6bc: 462c mov r4, r5 - 801a6be: e7f4 b.n 801a6aa <_dtoa_r+0x95a> - 801a6c0: 9d04 ldr r5, [sp, #16] - 801a6c2: f8cd 8008 str.w r8, [sp, #8] - 801a6c6: e7f9 b.n 801a6bc <_dtoa_r+0x96c> - 801a6c8: 9b04 ldr r3, [sp, #16] - 801a6ca: 9305 str r3, [sp, #20] - 801a6cc: 9b0b ldr r3, [sp, #44] @ 0x2c - 801a6ce: 2b00 cmp r3, #0 - 801a6d0: f000 8100 beq.w 801a8d4 <_dtoa_r+0xb84> - 801a6d4: 2e00 cmp r6, #0 - 801a6d6: dd05 ble.n 801a6e4 <_dtoa_r+0x994> - 801a6d8: 4621 mov r1, r4 - 801a6da: 4632 mov r2, r6 - 801a6dc: 4648 mov r0, r9 - 801a6de: f000 fc6b bl 801afb8 <__lshift> - 801a6e2: 4604 mov r4, r0 - 801a6e4: f1ba 0f00 cmp.w sl, #0 - 801a6e8: d05a beq.n 801a7a0 <_dtoa_r+0xa50> - 801a6ea: 6861 ldr r1, [r4, #4] - 801a6ec: 4648 mov r0, r9 - 801a6ee: f000 fa0b bl 801ab08 <_Balloc> - 801a6f2: 4606 mov r6, r0 - 801a6f4: b928 cbnz r0, 801a702 <_dtoa_r+0x9b2> - 801a6f6: 4b82 ldr r3, [pc, #520] @ (801a900 <_dtoa_r+0xbb0>) - 801a6f8: 4602 mov r2, r0 - 801a6fa: f240 21ef movw r1, #751 @ 0x2ef - 801a6fe: f7ff bb3e b.w 8019d7e <_dtoa_r+0x2e> - 801a702: 6922 ldr r2, [r4, #16] - 801a704: 3202 adds r2, #2 - 801a706: 0092 lsls r2, r2, #2 - 801a708: f104 010c add.w r1, r4, #12 - 801a70c: 300c adds r0, #12 - 801a70e: f7ff fa80 bl 8019c12 - 801a712: 2201 movs r2, #1 - 801a714: 4631 mov r1, r6 - 801a716: 4648 mov r0, r9 - 801a718: f000 fc4e bl 801afb8 <__lshift> - 801a71c: 4607 mov r7, r0 - 801a71e: 9b00 ldr r3, [sp, #0] - 801a720: 9a00 ldr r2, [sp, #0] - 801a722: f103 0b01 add.w fp, r3, #1 - 801a726: 9b05 ldr r3, [sp, #20] - 801a728: 4413 add r3, r2 - 801a72a: 9306 str r3, [sp, #24] - 801a72c: 9b0e ldr r3, [sp, #56] @ 0x38 - 801a72e: f003 0301 and.w r3, r3, #1 - 801a732: 9308 str r3, [sp, #32] - 801a734: f10b 33ff add.w r3, fp, #4294967295 @ 0xffffffff - 801a738: 4629 mov r1, r5 - 801a73a: 9801 ldr r0, [sp, #4] - 801a73c: 9304 str r3, [sp, #16] - 801a73e: f7ff fa7d bl 8019c3c - 801a742: 4621 mov r1, r4 - 801a744: 9005 str r0, [sp, #20] - 801a746: f100 0a30 add.w sl, r0, #48 @ 0x30 - 801a74a: 9801 ldr r0, [sp, #4] - 801a74c: f000 fca2 bl 801b094 <__mcmp> - 801a750: 463a mov r2, r7 - 801a752: 4680 mov r8, r0 - 801a754: 4629 mov r1, r5 - 801a756: 4648 mov r0, r9 - 801a758: f000 fcb8 bl 801b0cc <__mdiff> - 801a75c: 68c2 ldr r2, [r0, #12] - 801a75e: 4606 mov r6, r0 - 801a760: bb02 cbnz r2, 801a7a4 <_dtoa_r+0xa54> - 801a762: 4601 mov r1, r0 - 801a764: 9801 ldr r0, [sp, #4] - 801a766: f000 fc95 bl 801b094 <__mcmp> - 801a76a: 4602 mov r2, r0 - 801a76c: 4631 mov r1, r6 - 801a76e: 4648 mov r0, r9 - 801a770: 9209 str r2, [sp, #36] @ 0x24 - 801a772: f000 fa07 bl 801ab84 <_Bfree> - 801a776: e9dd 2309 ldrd r2, r3, [sp, #36] @ 0x24 - 801a77a: ea42 0103 orr.w r1, r2, r3 - 801a77e: 9b08 ldr r3, [sp, #32] - 801a780: 4319 orrs r1, r3 - 801a782: 465e mov r6, fp - 801a784: d110 bne.n 801a7a8 <_dtoa_r+0xa58> - 801a786: f1ba 0f39 cmp.w sl, #57 @ 0x39 - 801a78a: d02b beq.n 801a7e4 <_dtoa_r+0xa94> - 801a78c: f1b8 0f00 cmp.w r8, #0 - 801a790: dd02 ble.n 801a798 <_dtoa_r+0xa48> - 801a792: 9b05 ldr r3, [sp, #20] - 801a794: f103 0a31 add.w sl, r3, #49 @ 0x31 - 801a798: 9b04 ldr r3, [sp, #16] - 801a79a: f883 a000 strb.w sl, [r3] - 801a79e: e52d b.n 801a1fc <_dtoa_r+0x4ac> - 801a7a0: 4627 mov r7, r4 - 801a7a2: e7bc b.n 801a71e <_dtoa_r+0x9ce> - 801a7a4: 2201 movs r2, #1 - 801a7a6: e7e1 b.n 801a76c <_dtoa_r+0xa1c> +0801a4dc : + 801a4dc: ed9f 0a01 vldr s0, [pc, #4] @ 801a4e4 + 801a4e0: 4770 bx lr + 801a4e2: bf00 nop + 801a4e4: 7fc00000 .word 0x7fc00000 + +0801a4e8 : + 801a4e8: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801a4ec: 6903 ldr r3, [r0, #16] + 801a4ee: 690c ldr r4, [r1, #16] + 801a4f0: 42a3 cmp r3, r4 + 801a4f2: 4607 mov r7, r0 + 801a4f4: db7e blt.n 801a5f4 + 801a4f6: 3c01 subs r4, #1 + 801a4f8: f101 0814 add.w r8, r1, #20 + 801a4fc: 00a3 lsls r3, r4, #2 + 801a4fe: f100 0514 add.w r5, r0, #20 + 801a502: 9300 str r3, [sp, #0] + 801a504: eb05 0384 add.w r3, r5, r4, lsl #2 + 801a508: 9301 str r3, [sp, #4] + 801a50a: f858 3024 ldr.w r3, [r8, r4, lsl #2] + 801a50e: f855 2024 ldr.w r2, [r5, r4, lsl #2] + 801a512: 3301 adds r3, #1 + 801a514: 429a cmp r2, r3 + 801a516: eb08 0984 add.w r9, r8, r4, lsl #2 + 801a51a: fbb2 f6f3 udiv r6, r2, r3 + 801a51e: d32e bcc.n 801a57e + 801a520: f04f 0a00 mov.w sl, #0 + 801a524: 46c4 mov ip, r8 + 801a526: 46ae mov lr, r5 + 801a528: 46d3 mov fp, sl + 801a52a: f85c 3b04 ldr.w r3, [ip], #4 + 801a52e: b298 uxth r0, r3 + 801a530: fb06 a000 mla r0, r6, r0, sl + 801a534: 0c02 lsrs r2, r0, #16 + 801a536: 0c1b lsrs r3, r3, #16 + 801a538: fb06 2303 mla r3, r6, r3, r2 + 801a53c: f8de 2000 ldr.w r2, [lr] + 801a540: b280 uxth r0, r0 + 801a542: b292 uxth r2, r2 + 801a544: 1a12 subs r2, r2, r0 + 801a546: 445a add r2, fp + 801a548: f8de 0000 ldr.w r0, [lr] + 801a54c: ea4f 4a13 mov.w sl, r3, lsr #16 + 801a550: b29b uxth r3, r3 + 801a552: ebc3 4322 rsb r3, r3, r2, asr #16 + 801a556: eb03 4310 add.w r3, r3, r0, lsr #16 + 801a55a: b292 uxth r2, r2 + 801a55c: ea42 4203 orr.w r2, r2, r3, lsl #16 + 801a560: 45e1 cmp r9, ip + 801a562: f84e 2b04 str.w r2, [lr], #4 + 801a566: ea4f 4b23 mov.w fp, r3, asr #16 + 801a56a: d2de bcs.n 801a52a + 801a56c: 9b00 ldr r3, [sp, #0] + 801a56e: 58eb ldr r3, [r5, r3] + 801a570: b92b cbnz r3, 801a57e + 801a572: 9b01 ldr r3, [sp, #4] + 801a574: 3b04 subs r3, #4 + 801a576: 429d cmp r5, r3 + 801a578: 461a mov r2, r3 + 801a57a: d32f bcc.n 801a5dc + 801a57c: 613c str r4, [r7, #16] + 801a57e: 4638 mov r0, r7 + 801a580: f001 f9dc bl 801b93c <__mcmp> + 801a584: 2800 cmp r0, #0 + 801a586: db25 blt.n 801a5d4 + 801a588: 4629 mov r1, r5 + 801a58a: 2000 movs r0, #0 + 801a58c: f858 2b04 ldr.w r2, [r8], #4 + 801a590: f8d1 c000 ldr.w ip, [r1] + 801a594: fa1f fe82 uxth.w lr, r2 + 801a598: fa1f f38c uxth.w r3, ip + 801a59c: eba3 030e sub.w r3, r3, lr + 801a5a0: 4403 add r3, r0 + 801a5a2: 0c12 lsrs r2, r2, #16 + 801a5a4: ebc2 4223 rsb r2, r2, r3, asr #16 + 801a5a8: eb02 421c add.w r2, r2, ip, lsr #16 + 801a5ac: b29b uxth r3, r3 + 801a5ae: ea43 4302 orr.w r3, r3, r2, lsl #16 + 801a5b2: 45c1 cmp r9, r8 + 801a5b4: f841 3b04 str.w r3, [r1], #4 + 801a5b8: ea4f 4022 mov.w r0, r2, asr #16 + 801a5bc: d2e6 bcs.n 801a58c + 801a5be: f855 2024 ldr.w r2, [r5, r4, lsl #2] + 801a5c2: eb05 0384 add.w r3, r5, r4, lsl #2 + 801a5c6: b922 cbnz r2, 801a5d2 + 801a5c8: 3b04 subs r3, #4 + 801a5ca: 429d cmp r5, r3 + 801a5cc: 461a mov r2, r3 + 801a5ce: d30b bcc.n 801a5e8 + 801a5d0: 613c str r4, [r7, #16] + 801a5d2: 3601 adds r6, #1 + 801a5d4: 4630 mov r0, r6 + 801a5d6: b003 add sp, #12 + 801a5d8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801a5dc: 6812 ldr r2, [r2, #0] + 801a5de: 3b04 subs r3, #4 + 801a5e0: 2a00 cmp r2, #0 + 801a5e2: d1cb bne.n 801a57c + 801a5e4: 3c01 subs r4, #1 + 801a5e6: e7c6 b.n 801a576 + 801a5e8: 6812 ldr r2, [r2, #0] + 801a5ea: 3b04 subs r3, #4 + 801a5ec: 2a00 cmp r2, #0 + 801a5ee: d1ef bne.n 801a5d0 + 801a5f0: 3c01 subs r4, #1 + 801a5f2: e7ea b.n 801a5ca + 801a5f4: 2000 movs r0, #0 + 801a5f6: e7ee b.n 801a5d6 + +0801a5f8 <_dtoa_r>: + 801a5f8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801a5fc: b099 sub sp, #100 @ 0x64 + 801a5fe: ed8d 0b0e vstr d0, [sp, #56] @ 0x38 + 801a602: 920c str r2, [sp, #48] @ 0x30 + 801a604: 69c2 ldr r2, [r0, #28] + 801a606: 9c22 ldr r4, [sp, #136] @ 0x88 + 801a608: 910a str r1, [sp, #40] @ 0x28 + 801a60a: ec57 6b10 vmov r6, r7, d0 + 801a60e: 4681 mov r9, r0 + 801a610: 9313 str r3, [sp, #76] @ 0x4c + 801a612: b982 cbnz r2, 801a636 <_dtoa_r+0x3e> + 801a614: 2010 movs r0, #16 + 801a616: f000 fe15 bl 801b244 + 801a61a: 4602 mov r2, r0 + 801a61c: f8c9 001c str.w r0, [r9, #28] + 801a620: b920 cbnz r0, 801a62c <_dtoa_r+0x34> + 801a622: 4bab ldr r3, [pc, #684] @ (801a8d0 <_dtoa_r+0x2d8>) + 801a624: 21ef movs r1, #239 @ 0xef + 801a626: 48ab ldr r0, [pc, #684] @ (801a8d4 <_dtoa_r+0x2dc>) + 801a628: f002 fe0e bl 801d248 <__assert_func> + 801a62c: 2300 movs r3, #0 + 801a62e: e9c0 3301 strd r3, r3, [r0, #4] + 801a632: 6003 str r3, [r0, #0] + 801a634: 60c3 str r3, [r0, #12] + 801a636: 6811 ldr r1, [r2, #0] + 801a638: b159 cbz r1, 801a652 <_dtoa_r+0x5a> + 801a63a: 6852 ldr r2, [r2, #4] + 801a63c: 604a str r2, [r1, #4] + 801a63e: 2301 movs r3, #1 + 801a640: 4093 lsls r3, r2 + 801a642: 608b str r3, [r1, #8] + 801a644: 4648 mov r0, r9 + 801a646: f000 fef1 bl 801b42c <_Bfree> + 801a64a: f8d9 301c ldr.w r3, [r9, #28] + 801a64e: 2200 movs r2, #0 + 801a650: 601a str r2, [r3, #0] + 801a652: f1b7 0800 subs.w r8, r7, #0 + 801a656: bfb5 itete lt + 801a658: 2301 movlt r3, #1 + 801a65a: 2300 movge r3, #0 + 801a65c: 6023 strlt r3, [r4, #0] + 801a65e: 6023 strge r3, [r4, #0] + 801a660: 4b9d ldr r3, [pc, #628] @ (801a8d8 <_dtoa_r+0x2e0>) + 801a662: bfbc itt lt + 801a664: f028 4800 biclt.w r8, r8, #2147483648 @ 0x80000000 + 801a668: f8cd 803c strlt.w r8, [sp, #60] @ 0x3c + 801a66c: ea33 0308 bics.w r3, r3, r8 + 801a670: d11a bne.n 801a6a8 <_dtoa_r+0xb0> + 801a672: 9a13 ldr r2, [sp, #76] @ 0x4c + 801a674: f3c8 0813 ubfx r8, r8, #0, #20 + 801a678: f242 730f movw r3, #9999 @ 0x270f + 801a67c: ea58 0806 orrs.w r8, r8, r6 + 801a680: 6013 str r3, [r2, #0] + 801a682: f000 8568 beq.w 801b156 <_dtoa_r+0xb5e> + 801a686: 9b23 ldr r3, [sp, #140] @ 0x8c + 801a688: b953 cbnz r3, 801a6a0 <_dtoa_r+0xa8> + 801a68a: 4b94 ldr r3, [pc, #592] @ (801a8dc <_dtoa_r+0x2e4>) + 801a68c: e021 b.n 801a6d2 <_dtoa_r+0xda> + 801a68e: 4b94 ldr r3, [pc, #592] @ (801a8e0 <_dtoa_r+0x2e8>) + 801a690: 9300 str r3, [sp, #0] + 801a692: 3308 adds r3, #8 + 801a694: 9a23 ldr r2, [sp, #140] @ 0x8c + 801a696: 6013 str r3, [r2, #0] + 801a698: 9800 ldr r0, [sp, #0] + 801a69a: b019 add sp, #100 @ 0x64 + 801a69c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801a6a0: 4b8e ldr r3, [pc, #568] @ (801a8dc <_dtoa_r+0x2e4>) + 801a6a2: 9300 str r3, [sp, #0] + 801a6a4: 3303 adds r3, #3 + 801a6a6: e7f5 b.n 801a694 <_dtoa_r+0x9c> + 801a6a8: ed9d 7b0e vldr d7, [sp, #56] @ 0x38 + 801a6ac: 2200 movs r2, #0 + 801a6ae: ec51 0b17 vmov r0, r1, d7 + 801a6b2: 2300 movs r3, #0 + 801a6b4: ed8d 7b06 vstr d7, [sp, #24] + 801a6b8: f7e6 f9de bl 8000a78 <__aeabi_dcmpeq> + 801a6bc: 4682 mov sl, r0 + 801a6be: b150 cbz r0, 801a6d6 <_dtoa_r+0xde> + 801a6c0: 9a13 ldr r2, [sp, #76] @ 0x4c + 801a6c2: 2301 movs r3, #1 + 801a6c4: 6013 str r3, [r2, #0] + 801a6c6: 9b23 ldr r3, [sp, #140] @ 0x8c + 801a6c8: b113 cbz r3, 801a6d0 <_dtoa_r+0xd8> + 801a6ca: 9a23 ldr r2, [sp, #140] @ 0x8c + 801a6cc: 4b85 ldr r3, [pc, #532] @ (801a8e4 <_dtoa_r+0x2ec>) + 801a6ce: 6013 str r3, [r2, #0] + 801a6d0: 4b85 ldr r3, [pc, #532] @ (801a8e8 <_dtoa_r+0x2f0>) + 801a6d2: 9300 str r3, [sp, #0] + 801a6d4: e7e0 b.n 801a698 <_dtoa_r+0xa0> + 801a6d6: ed9d 0b06 vldr d0, [sp, #24] + 801a6da: aa16 add r2, sp, #88 @ 0x58 + 801a6dc: a917 add r1, sp, #92 @ 0x5c + 801a6de: 4648 mov r0, r9 + 801a6e0: f001 fa50 bl 801bb84 <__d2b> + 801a6e4: ea5f 5418 movs.w r4, r8, lsr #20 + 801a6e8: 9d16 ldr r5, [sp, #88] @ 0x58 + 801a6ea: 9001 str r0, [sp, #4] + 801a6ec: d079 beq.n 801a7e2 <_dtoa_r+0x1ea> + 801a6ee: 9b07 ldr r3, [sp, #28] + 801a6f0: f8cd a050 str.w sl, [sp, #80] @ 0x50 + 801a6f4: f3c3 0313 ubfx r3, r3, #0, #20 + 801a6f8: e9dd 0106 ldrd r0, r1, [sp, #24] + 801a6fc: f043 537f orr.w r3, r3, #1069547520 @ 0x3fc00000 + 801a700: f443 1340 orr.w r3, r3, #3145728 @ 0x300000 + 801a704: f2a4 34ff subw r4, r4, #1023 @ 0x3ff + 801a708: 4619 mov r1, r3 + 801a70a: 2200 movs r2, #0 + 801a70c: 4b77 ldr r3, [pc, #476] @ (801a8ec <_dtoa_r+0x2f4>) + 801a70e: f7e5 fd93 bl 8000238 <__aeabi_dsub> + 801a712: a369 add r3, pc, #420 @ (adr r3, 801a8b8 <_dtoa_r+0x2c0>) + 801a714: e9d3 2300 ldrd r2, r3, [r3] + 801a718: f7e5 ff46 bl 80005a8 <__aeabi_dmul> + 801a71c: a368 add r3, pc, #416 @ (adr r3, 801a8c0 <_dtoa_r+0x2c8>) + 801a71e: e9d3 2300 ldrd r2, r3, [r3] + 801a722: f7e5 fd8b bl 800023c <__adddf3> + 801a726: 4606 mov r6, r0 + 801a728: 4620 mov r0, r4 + 801a72a: 460f mov r7, r1 + 801a72c: f7e5 fed2 bl 80004d4 <__aeabi_i2d> + 801a730: a365 add r3, pc, #404 @ (adr r3, 801a8c8 <_dtoa_r+0x2d0>) + 801a732: e9d3 2300 ldrd r2, r3, [r3] + 801a736: f7e5 ff37 bl 80005a8 <__aeabi_dmul> + 801a73a: 4602 mov r2, r0 + 801a73c: 460b mov r3, r1 + 801a73e: 4630 mov r0, r6 + 801a740: 4639 mov r1, r7 + 801a742: f7e5 fd7b bl 800023c <__adddf3> + 801a746: 4606 mov r6, r0 + 801a748: 460f mov r7, r1 + 801a74a: f7e6 f9dd bl 8000b08 <__aeabi_d2iz> + 801a74e: 2200 movs r2, #0 + 801a750: 4680 mov r8, r0 + 801a752: 2300 movs r3, #0 + 801a754: 4630 mov r0, r6 + 801a756: 4639 mov r1, r7 + 801a758: f7e6 f998 bl 8000a8c <__aeabi_dcmplt> + 801a75c: b148 cbz r0, 801a772 <_dtoa_r+0x17a> + 801a75e: 4640 mov r0, r8 + 801a760: f7e5 feb8 bl 80004d4 <__aeabi_i2d> + 801a764: 4632 mov r2, r6 + 801a766: 463b mov r3, r7 + 801a768: f7e6 f986 bl 8000a78 <__aeabi_dcmpeq> + 801a76c: b908 cbnz r0, 801a772 <_dtoa_r+0x17a> + 801a76e: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff + 801a772: f1b8 0f16 cmp.w r8, #22 + 801a776: d851 bhi.n 801a81c <_dtoa_r+0x224> + 801a778: 4b5d ldr r3, [pc, #372] @ (801a8f0 <_dtoa_r+0x2f8>) + 801a77a: eb03 03c8 add.w r3, r3, r8, lsl #3 + 801a77e: e9d3 2300 ldrd r2, r3, [r3] + 801a782: e9dd 0106 ldrd r0, r1, [sp, #24] + 801a786: f7e6 f981 bl 8000a8c <__aeabi_dcmplt> + 801a78a: 2800 cmp r0, #0 + 801a78c: d048 beq.n 801a820 <_dtoa_r+0x228> + 801a78e: f108 38ff add.w r8, r8, #4294967295 @ 0xffffffff + 801a792: 2300 movs r3, #0 + 801a794: 9312 str r3, [sp, #72] @ 0x48 + 801a796: 1b2d subs r5, r5, r4 + 801a798: 1e6b subs r3, r5, #1 + 801a79a: 9308 str r3, [sp, #32] + 801a79c: bf43 ittte mi + 801a79e: 2300 movmi r3, #0 + 801a7a0: f1c5 0701 rsbmi r7, r5, #1 + 801a7a4: 9308 strmi r3, [sp, #32] + 801a7a6: 2700 movpl r7, #0 801a7a8: f1b8 0f00 cmp.w r8, #0 - 801a7ac: db06 blt.n 801a7bc <_dtoa_r+0xa6c> - 801a7ae: 9b0a ldr r3, [sp, #40] @ 0x28 - 801a7b0: ea48 0803 orr.w r8, r8, r3 - 801a7b4: 9b08 ldr r3, [sp, #32] - 801a7b6: ea58 0803 orrs.w r8, r8, r3 - 801a7ba: d120 bne.n 801a7fe <_dtoa_r+0xaae> - 801a7bc: 2a00 cmp r2, #0 - 801a7be: ddeb ble.n 801a798 <_dtoa_r+0xa48> - 801a7c0: 9901 ldr r1, [sp, #4] - 801a7c2: 2201 movs r2, #1 - 801a7c4: 4648 mov r0, r9 - 801a7c6: f000 fbf7 bl 801afb8 <__lshift> - 801a7ca: 4629 mov r1, r5 - 801a7cc: 9001 str r0, [sp, #4] - 801a7ce: f000 fc61 bl 801b094 <__mcmp> - 801a7d2: 2800 cmp r0, #0 - 801a7d4: dc03 bgt.n 801a7de <_dtoa_r+0xa8e> - 801a7d6: d1df bne.n 801a798 <_dtoa_r+0xa48> - 801a7d8: f01a 0f01 tst.w sl, #1 - 801a7dc: d0dc beq.n 801a798 <_dtoa_r+0xa48> - 801a7de: f1ba 0f39 cmp.w sl, #57 @ 0x39 - 801a7e2: d1d6 bne.n 801a792 <_dtoa_r+0xa42> - 801a7e4: 9a04 ldr r2, [sp, #16] - 801a7e6: 2339 movs r3, #57 @ 0x39 - 801a7e8: 7013 strb r3, [r2, #0] - 801a7ea: 4633 mov r3, r6 - 801a7ec: 461e mov r6, r3 - 801a7ee: 3b01 subs r3, #1 - 801a7f0: f816 2c01 ldrb.w r2, [r6, #-1] - 801a7f4: 2a39 cmp r2, #57 @ 0x39 - 801a7f6: d052 beq.n 801a89e <_dtoa_r+0xb4e> - 801a7f8: 3201 adds r2, #1 - 801a7fa: 701a strb r2, [r3, #0] - 801a7fc: e4fe b.n 801a1fc <_dtoa_r+0x4ac> - 801a7fe: 2a00 cmp r2, #0 - 801a800: dd07 ble.n 801a812 <_dtoa_r+0xac2> - 801a802: f1ba 0f39 cmp.w sl, #57 @ 0x39 - 801a806: d0ed beq.n 801a7e4 <_dtoa_r+0xa94> - 801a808: 9a04 ldr r2, [sp, #16] - 801a80a: f10a 0301 add.w r3, sl, #1 - 801a80e: 7013 strb r3, [r2, #0] - 801a810: e4f4 b.n 801a1fc <_dtoa_r+0x4ac> - 801a812: 9b06 ldr r3, [sp, #24] - 801a814: f80b ac01 strb.w sl, [fp, #-1] - 801a818: 455b cmp r3, fp - 801a81a: d02a beq.n 801a872 <_dtoa_r+0xb22> - 801a81c: 9901 ldr r1, [sp, #4] - 801a81e: 2300 movs r3, #0 - 801a820: 220a movs r2, #10 - 801a822: 4648 mov r0, r9 - 801a824: f000 f9d0 bl 801abc8 <__multadd> - 801a828: 42bc cmp r4, r7 - 801a82a: 9001 str r0, [sp, #4] - 801a82c: f04f 0300 mov.w r3, #0 - 801a830: f04f 020a mov.w r2, #10 - 801a834: 4621 mov r1, r4 - 801a836: 4648 mov r0, r9 - 801a838: d106 bne.n 801a848 <_dtoa_r+0xaf8> - 801a83a: f000 f9c5 bl 801abc8 <__multadd> - 801a83e: 4604 mov r4, r0 - 801a840: 4607 mov r7, r0 - 801a842: f10b 0b01 add.w fp, fp, #1 - 801a846: e775 b.n 801a734 <_dtoa_r+0x9e4> - 801a848: f000 f9be bl 801abc8 <__multadd> - 801a84c: 4639 mov r1, r7 - 801a84e: 4604 mov r4, r0 - 801a850: 2300 movs r3, #0 - 801a852: 220a movs r2, #10 - 801a854: 4648 mov r0, r9 - 801a856: f000 f9b7 bl 801abc8 <__multadd> - 801a85a: 4607 mov r7, r0 - 801a85c: e7f1 b.n 801a842 <_dtoa_r+0xaf2> - 801a85e: 9b05 ldr r3, [sp, #20] - 801a860: 1e5e subs r6, r3, #1 - 801a862: 2b00 cmp r3, #0 - 801a864: 9b00 ldr r3, [sp, #0] - 801a866: bfd8 it le - 801a868: 2600 movle r6, #0 - 801a86a: 1c5a adds r2, r3, #1 - 801a86c: 4627 mov r7, r4 - 801a86e: 4416 add r6, r2 - 801a870: 2400 movs r4, #0 - 801a872: 9901 ldr r1, [sp, #4] - 801a874: 2201 movs r2, #1 - 801a876: 4648 mov r0, r9 - 801a878: f000 fb9e bl 801afb8 <__lshift> - 801a87c: 4629 mov r1, r5 - 801a87e: 9001 str r0, [sp, #4] - 801a880: f000 fc08 bl 801b094 <__mcmp> - 801a884: 2800 cmp r0, #0 - 801a886: dcb0 bgt.n 801a7ea <_dtoa_r+0xa9a> - 801a888: d102 bne.n 801a890 <_dtoa_r+0xb40> - 801a88a: f01a 0f01 tst.w sl, #1 - 801a88e: d1ac bne.n 801a7ea <_dtoa_r+0xa9a> - 801a890: 4633 mov r3, r6 - 801a892: 461e mov r6, r3 - 801a894: f813 2d01 ldrb.w r2, [r3, #-1]! - 801a898: 2a30 cmp r2, #48 @ 0x30 - 801a89a: d0fa beq.n 801a892 <_dtoa_r+0xb42> - 801a89c: e4ae b.n 801a1fc <_dtoa_r+0x4ac> - 801a89e: 9a00 ldr r2, [sp, #0] - 801a8a0: 429a cmp r2, r3 - 801a8a2: d1a3 bne.n 801a7ec <_dtoa_r+0xa9c> - 801a8a4: 9b02 ldr r3, [sp, #8] - 801a8a6: 3301 adds r3, #1 - 801a8a8: 9302 str r3, [sp, #8] - 801a8aa: 2331 movs r3, #49 @ 0x31 - 801a8ac: e7af b.n 801a80e <_dtoa_r+0xabe> - 801a8ae: 9b23 ldr r3, [sp, #140] @ 0x8c - 801a8b0: 2b00 cmp r3, #0 - 801a8b2: f47f aa98 bne.w 8019de6 <_dtoa_r+0x96> - 801a8b6: 4b13 ldr r3, [pc, #76] @ (801a904 <_dtoa_r+0xbb4>) - 801a8b8: f7ff bab7 b.w 8019e2a <_dtoa_r+0xda> - 801a8bc: 9b0a ldr r3, [sp, #40] @ 0x28 - 801a8be: 2b01 cmp r3, #1 - 801a8c0: f77f ae2f ble.w 801a522 <_dtoa_r+0x7d2> - 801a8c4: f8dd a034 ldr.w sl, [sp, #52] @ 0x34 - 801a8c8: 2001 movs r0, #1 - 801a8ca: e64e b.n 801a56a <_dtoa_r+0x81a> - 801a8cc: 9b05 ldr r3, [sp, #20] - 801a8ce: 2b00 cmp r3, #0 - 801a8d0: f77f aed7 ble.w 801a682 <_dtoa_r+0x932> - 801a8d4: 9e00 ldr r6, [sp, #0] - 801a8d6: 9801 ldr r0, [sp, #4] - 801a8d8: 4629 mov r1, r5 - 801a8da: f7ff f9af bl 8019c3c - 801a8de: f100 0a30 add.w sl, r0, #48 @ 0x30 - 801a8e2: 9b00 ldr r3, [sp, #0] - 801a8e4: f806 ab01 strb.w sl, [r6], #1 - 801a8e8: 1af2 subs r2, r6, r3 - 801a8ea: 9b05 ldr r3, [sp, #20] - 801a8ec: 4293 cmp r3, r2 - 801a8ee: ddb6 ble.n 801a85e <_dtoa_r+0xb0e> - 801a8f0: 9901 ldr r1, [sp, #4] - 801a8f2: 2300 movs r3, #0 - 801a8f4: 220a movs r2, #10 - 801a8f6: 4648 mov r0, r9 - 801a8f8: f000 f966 bl 801abc8 <__multadd> - 801a8fc: 9001 str r0, [sp, #4] - 801a8fe: e7ea b.n 801a8d6 <_dtoa_r+0xb86> - 801a900: 0801dd65 .word 0x0801dd65 - 801a904: 0801dce9 .word 0x0801dce9 - -0801a908 <_free_r>: - 801a908: b538 push {r3, r4, r5, lr} - 801a90a: 4605 mov r5, r0 - 801a90c: 2900 cmp r1, #0 - 801a90e: d041 beq.n 801a994 <_free_r+0x8c> - 801a910: f851 3c04 ldr.w r3, [r1, #-4] - 801a914: 1f0c subs r4, r1, #4 - 801a916: 2b00 cmp r3, #0 - 801a918: bfb8 it lt - 801a91a: 18e4 addlt r4, r4, r3 - 801a91c: f000 f8e8 bl 801aaf0 <__malloc_lock> - 801a920: 4a1d ldr r2, [pc, #116] @ (801a998 <_free_r+0x90>) - 801a922: 6813 ldr r3, [r2, #0] - 801a924: b933 cbnz r3, 801a934 <_free_r+0x2c> - 801a926: 6063 str r3, [r4, #4] - 801a928: 6014 str r4, [r2, #0] - 801a92a: 4628 mov r0, r5 - 801a92c: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} - 801a930: f000 b8e4 b.w 801aafc <__malloc_unlock> - 801a934: 42a3 cmp r3, r4 - 801a936: d908 bls.n 801a94a <_free_r+0x42> - 801a938: 6820 ldr r0, [r4, #0] - 801a93a: 1821 adds r1, r4, r0 - 801a93c: 428b cmp r3, r1 - 801a93e: bf01 itttt eq - 801a940: 6819 ldreq r1, [r3, #0] - 801a942: 685b ldreq r3, [r3, #4] - 801a944: 1809 addeq r1, r1, r0 - 801a946: 6021 streq r1, [r4, #0] - 801a948: e7ed b.n 801a926 <_free_r+0x1e> - 801a94a: 461a mov r2, r3 - 801a94c: 685b ldr r3, [r3, #4] - 801a94e: b10b cbz r3, 801a954 <_free_r+0x4c> - 801a950: 42a3 cmp r3, r4 - 801a952: d9fa bls.n 801a94a <_free_r+0x42> - 801a954: 6811 ldr r1, [r2, #0] - 801a956: 1850 adds r0, r2, r1 - 801a958: 42a0 cmp r0, r4 - 801a95a: d10b bne.n 801a974 <_free_r+0x6c> - 801a95c: 6820 ldr r0, [r4, #0] - 801a95e: 4401 add r1, r0 - 801a960: 1850 adds r0, r2, r1 - 801a962: 4283 cmp r3, r0 - 801a964: 6011 str r1, [r2, #0] - 801a966: d1e0 bne.n 801a92a <_free_r+0x22> - 801a968: 6818 ldr r0, [r3, #0] - 801a96a: 685b ldr r3, [r3, #4] - 801a96c: 6053 str r3, [r2, #4] - 801a96e: 4408 add r0, r1 - 801a970: 6010 str r0, [r2, #0] - 801a972: e7da b.n 801a92a <_free_r+0x22> - 801a974: d902 bls.n 801a97c <_free_r+0x74> - 801a976: 230c movs r3, #12 - 801a978: 602b str r3, [r5, #0] - 801a97a: e7d6 b.n 801a92a <_free_r+0x22> - 801a97c: 6820 ldr r0, [r4, #0] - 801a97e: 1821 adds r1, r4, r0 - 801a980: 428b cmp r3, r1 - 801a982: bf04 itt eq - 801a984: 6819 ldreq r1, [r3, #0] - 801a986: 685b ldreq r3, [r3, #4] - 801a988: 6063 str r3, [r4, #4] - 801a98a: bf04 itt eq - 801a98c: 1809 addeq r1, r1, r0 - 801a98e: 6021 streq r1, [r4, #0] - 801a990: 6054 str r4, [r2, #4] - 801a992: e7ca b.n 801a92a <_free_r+0x22> - 801a994: bd38 pop {r3, r4, r5, pc} - 801a996: bf00 nop - 801a998: 20013c44 .word 0x20013c44 - -0801a99c : - 801a99c: 4b02 ldr r3, [pc, #8] @ (801a9a8 ) - 801a99e: 4601 mov r1, r0 - 801a9a0: 6818 ldr r0, [r3, #0] - 801a9a2: f000 b825 b.w 801a9f0 <_malloc_r> - 801a9a6: bf00 nop - 801a9a8: 2000011c .word 0x2000011c - -0801a9ac : - 801a9ac: b570 push {r4, r5, r6, lr} - 801a9ae: 4e0f ldr r6, [pc, #60] @ (801a9ec ) - 801a9b0: 460c mov r4, r1 - 801a9b2: 6831 ldr r1, [r6, #0] - 801a9b4: 4605 mov r5, r0 - 801a9b6: b911 cbnz r1, 801a9be - 801a9b8: f001 ffc6 bl 801c948 <_sbrk_r> - 801a9bc: 6030 str r0, [r6, #0] - 801a9be: 4621 mov r1, r4 - 801a9c0: 4628 mov r0, r5 - 801a9c2: f001 ffc1 bl 801c948 <_sbrk_r> - 801a9c6: 1c43 adds r3, r0, #1 - 801a9c8: d103 bne.n 801a9d2 - 801a9ca: f04f 34ff mov.w r4, #4294967295 @ 0xffffffff - 801a9ce: 4620 mov r0, r4 - 801a9d0: bd70 pop {r4, r5, r6, pc} - 801a9d2: 1cc4 adds r4, r0, #3 - 801a9d4: f024 0403 bic.w r4, r4, #3 - 801a9d8: 42a0 cmp r0, r4 - 801a9da: d0f8 beq.n 801a9ce - 801a9dc: 1a21 subs r1, r4, r0 - 801a9de: 4628 mov r0, r5 - 801a9e0: f001 ffb2 bl 801c948 <_sbrk_r> - 801a9e4: 3001 adds r0, #1 - 801a9e6: d1f2 bne.n 801a9ce - 801a9e8: e7ef b.n 801a9ca - 801a9ea: bf00 nop - 801a9ec: 20013c40 .word 0x20013c40 - -0801a9f0 <_malloc_r>: - 801a9f0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 801a9f4: 1ccd adds r5, r1, #3 - 801a9f6: f025 0503 bic.w r5, r5, #3 - 801a9fa: 3508 adds r5, #8 - 801a9fc: 2d0c cmp r5, #12 - 801a9fe: bf38 it cc - 801aa00: 250c movcc r5, #12 - 801aa02: 2d00 cmp r5, #0 - 801aa04: 4606 mov r6, r0 - 801aa06: db01 blt.n 801aa0c <_malloc_r+0x1c> - 801aa08: 42a9 cmp r1, r5 - 801aa0a: d904 bls.n 801aa16 <_malloc_r+0x26> - 801aa0c: 230c movs r3, #12 - 801aa0e: 6033 str r3, [r6, #0] - 801aa10: 2000 movs r0, #0 - 801aa12: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 801aa16: f8df 80d4 ldr.w r8, [pc, #212] @ 801aaec <_malloc_r+0xfc> - 801aa1a: f000 f869 bl 801aaf0 <__malloc_lock> - 801aa1e: f8d8 3000 ldr.w r3, [r8] - 801aa22: 461c mov r4, r3 - 801aa24: bb44 cbnz r4, 801aa78 <_malloc_r+0x88> - 801aa26: 4629 mov r1, r5 - 801aa28: 4630 mov r0, r6 - 801aa2a: f7ff ffbf bl 801a9ac - 801aa2e: 1c43 adds r3, r0, #1 - 801aa30: 4604 mov r4, r0 - 801aa32: d158 bne.n 801aae6 <_malloc_r+0xf6> - 801aa34: f8d8 4000 ldr.w r4, [r8] - 801aa38: 4627 mov r7, r4 - 801aa3a: 2f00 cmp r7, #0 - 801aa3c: d143 bne.n 801aac6 <_malloc_r+0xd6> - 801aa3e: 2c00 cmp r4, #0 - 801aa40: d04b beq.n 801aada <_malloc_r+0xea> - 801aa42: 6823 ldr r3, [r4, #0] - 801aa44: 4639 mov r1, r7 - 801aa46: 4630 mov r0, r6 - 801aa48: eb04 0903 add.w r9, r4, r3 - 801aa4c: f001 ff7c bl 801c948 <_sbrk_r> - 801aa50: 4581 cmp r9, r0 - 801aa52: d142 bne.n 801aada <_malloc_r+0xea> - 801aa54: 6821 ldr r1, [r4, #0] - 801aa56: 1a6d subs r5, r5, r1 - 801aa58: 4629 mov r1, r5 - 801aa5a: 4630 mov r0, r6 - 801aa5c: f7ff ffa6 bl 801a9ac - 801aa60: 3001 adds r0, #1 - 801aa62: d03a beq.n 801aada <_malloc_r+0xea> - 801aa64: 6823 ldr r3, [r4, #0] - 801aa66: 442b add r3, r5 - 801aa68: 6023 str r3, [r4, #0] - 801aa6a: f8d8 3000 ldr.w r3, [r8] - 801aa6e: 685a ldr r2, [r3, #4] - 801aa70: bb62 cbnz r2, 801aacc <_malloc_r+0xdc> - 801aa72: f8c8 7000 str.w r7, [r8] - 801aa76: e00f b.n 801aa98 <_malloc_r+0xa8> - 801aa78: 6822 ldr r2, [r4, #0] - 801aa7a: 1b52 subs r2, r2, r5 - 801aa7c: d420 bmi.n 801aac0 <_malloc_r+0xd0> - 801aa7e: 2a0b cmp r2, #11 - 801aa80: d917 bls.n 801aab2 <_malloc_r+0xc2> - 801aa82: 1961 adds r1, r4, r5 - 801aa84: 42a3 cmp r3, r4 - 801aa86: 6025 str r5, [r4, #0] - 801aa88: bf18 it ne - 801aa8a: 6059 strne r1, [r3, #4] - 801aa8c: 6863 ldr r3, [r4, #4] - 801aa8e: bf08 it eq - 801aa90: f8c8 1000 streq.w r1, [r8] - 801aa94: 5162 str r2, [r4, r5] - 801aa96: 604b str r3, [r1, #4] - 801aa98: 4630 mov r0, r6 - 801aa9a: f000 f82f bl 801aafc <__malloc_unlock> - 801aa9e: f104 000b add.w r0, r4, #11 - 801aaa2: 1d23 adds r3, r4, #4 - 801aaa4: f020 0007 bic.w r0, r0, #7 - 801aaa8: 1ac2 subs r2, r0, r3 - 801aaaa: bf1c itt ne - 801aaac: 1a1b subne r3, r3, r0 - 801aaae: 50a3 strne r3, [r4, r2] - 801aab0: e7af b.n 801aa12 <_malloc_r+0x22> - 801aab2: 6862 ldr r2, [r4, #4] - 801aab4: 42a3 cmp r3, r4 - 801aab6: bf0c ite eq - 801aab8: f8c8 2000 streq.w r2, [r8] - 801aabc: 605a strne r2, [r3, #4] - 801aabe: e7eb b.n 801aa98 <_malloc_r+0xa8> - 801aac0: 4623 mov r3, r4 - 801aac2: 6864 ldr r4, [r4, #4] - 801aac4: e7ae b.n 801aa24 <_malloc_r+0x34> - 801aac6: 463c mov r4, r7 - 801aac8: 687f ldr r7, [r7, #4] - 801aaca: e7b6 b.n 801aa3a <_malloc_r+0x4a> - 801aacc: 461a mov r2, r3 - 801aace: 685b ldr r3, [r3, #4] - 801aad0: 42a3 cmp r3, r4 - 801aad2: d1fb bne.n 801aacc <_malloc_r+0xdc> - 801aad4: 2300 movs r3, #0 - 801aad6: 6053 str r3, [r2, #4] - 801aad8: e7de b.n 801aa98 <_malloc_r+0xa8> - 801aada: 230c movs r3, #12 - 801aadc: 6033 str r3, [r6, #0] - 801aade: 4630 mov r0, r6 - 801aae0: f000 f80c bl 801aafc <__malloc_unlock> - 801aae4: e794 b.n 801aa10 <_malloc_r+0x20> - 801aae6: 6005 str r5, [r0, #0] - 801aae8: e7d6 b.n 801aa98 <_malloc_r+0xa8> - 801aaea: bf00 nop - 801aaec: 20013c44 .word 0x20013c44 - -0801aaf0 <__malloc_lock>: - 801aaf0: 4801 ldr r0, [pc, #4] @ (801aaf8 <__malloc_lock+0x8>) - 801aaf2: f7ff b88c b.w 8019c0e <__retarget_lock_acquire_recursive> - 801aaf6: bf00 nop - 801aaf8: 20013c3c .word 0x20013c3c - -0801aafc <__malloc_unlock>: - 801aafc: 4801 ldr r0, [pc, #4] @ (801ab04 <__malloc_unlock+0x8>) - 801aafe: f7ff b887 b.w 8019c10 <__retarget_lock_release_recursive> - 801ab02: bf00 nop - 801ab04: 20013c3c .word 0x20013c3c - -0801ab08 <_Balloc>: - 801ab08: b570 push {r4, r5, r6, lr} - 801ab0a: 69c4 ldr r4, [r0, #28] - 801ab0c: 4605 mov r5, r0 - 801ab0e: 460e mov r6, r1 - 801ab10: b984 cbnz r4, 801ab34 <_Balloc+0x2c> - 801ab12: 2010 movs r0, #16 - 801ab14: f7ff ff42 bl 801a99c - 801ab18: 4604 mov r4, r0 - 801ab1a: 61e8 str r0, [r5, #28] - 801ab1c: b928 cbnz r0, 801ab2a <_Balloc+0x22> - 801ab1e: 4602 mov r2, r0 - 801ab20: 4b16 ldr r3, [pc, #88] @ (801ab7c <_Balloc+0x74>) - 801ab22: 4817 ldr r0, [pc, #92] @ (801ab80 <_Balloc+0x78>) - 801ab24: 216b movs r1, #107 @ 0x6b - 801ab26: f001 ff27 bl 801c978 <__assert_func> - 801ab2a: 2300 movs r3, #0 - 801ab2c: e9c0 3301 strd r3, r3, [r0, #4] - 801ab30: 6003 str r3, [r0, #0] - 801ab32: 60c3 str r3, [r0, #12] - 801ab34: 68e3 ldr r3, [r4, #12] - 801ab36: b953 cbnz r3, 801ab4e <_Balloc+0x46> - 801ab38: 2221 movs r2, #33 @ 0x21 - 801ab3a: 2104 movs r1, #4 - 801ab3c: 4628 mov r0, r5 - 801ab3e: f001 ff39 bl 801c9b4 <_calloc_r> - 801ab42: 69eb ldr r3, [r5, #28] - 801ab44: 60e0 str r0, [r4, #12] - 801ab46: 68db ldr r3, [r3, #12] - 801ab48: b90b cbnz r3, 801ab4e <_Balloc+0x46> - 801ab4a: 2000 movs r0, #0 - 801ab4c: bd70 pop {r4, r5, r6, pc} - 801ab4e: f853 0026 ldr.w r0, [r3, r6, lsl #2] - 801ab52: b130 cbz r0, 801ab62 <_Balloc+0x5a> - 801ab54: 6802 ldr r2, [r0, #0] - 801ab56: f843 2026 str.w r2, [r3, r6, lsl #2] - 801ab5a: 2300 movs r3, #0 - 801ab5c: e9c0 3303 strd r3, r3, [r0, #12] - 801ab60: e7f4 b.n 801ab4c <_Balloc+0x44> - 801ab62: 2101 movs r1, #1 - 801ab64: fa01 f406 lsl.w r4, r1, r6 - 801ab68: 1d62 adds r2, r4, #5 - 801ab6a: 0092 lsls r2, r2, #2 - 801ab6c: 4628 mov r0, r5 - 801ab6e: f001 ff21 bl 801c9b4 <_calloc_r> - 801ab72: 2800 cmp r0, #0 - 801ab74: d0e9 beq.n 801ab4a <_Balloc+0x42> - 801ab76: e9c0 6401 strd r6, r4, [r0, #4] - 801ab7a: e7ee b.n 801ab5a <_Balloc+0x52> - 801ab7c: 0801dcf6 .word 0x0801dcf6 - 801ab80: 0801dd76 .word 0x0801dd76 - -0801ab84 <_Bfree>: - 801ab84: b570 push {r4, r5, r6, lr} - 801ab86: 69c6 ldr r6, [r0, #28] - 801ab88: 4605 mov r5, r0 - 801ab8a: 460c mov r4, r1 - 801ab8c: b976 cbnz r6, 801abac <_Bfree+0x28> - 801ab8e: 2010 movs r0, #16 - 801ab90: f7ff ff04 bl 801a99c - 801ab94: 4602 mov r2, r0 - 801ab96: 61e8 str r0, [r5, #28] - 801ab98: b920 cbnz r0, 801aba4 <_Bfree+0x20> - 801ab9a: 4b09 ldr r3, [pc, #36] @ (801abc0 <_Bfree+0x3c>) - 801ab9c: 4809 ldr r0, [pc, #36] @ (801abc4 <_Bfree+0x40>) - 801ab9e: 218f movs r1, #143 @ 0x8f - 801aba0: f001 feea bl 801c978 <__assert_func> - 801aba4: e9c0 6601 strd r6, r6, [r0, #4] - 801aba8: 6006 str r6, [r0, #0] - 801abaa: 60c6 str r6, [r0, #12] - 801abac: b13c cbz r4, 801abbe <_Bfree+0x3a> - 801abae: 69eb ldr r3, [r5, #28] - 801abb0: 6862 ldr r2, [r4, #4] - 801abb2: 68db ldr r3, [r3, #12] - 801abb4: f853 1022 ldr.w r1, [r3, r2, lsl #2] - 801abb8: 6021 str r1, [r4, #0] - 801abba: f843 4022 str.w r4, [r3, r2, lsl #2] - 801abbe: bd70 pop {r4, r5, r6, pc} - 801abc0: 0801dcf6 .word 0x0801dcf6 - 801abc4: 0801dd76 .word 0x0801dd76 - -0801abc8 <__multadd>: - 801abc8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 801abcc: 690d ldr r5, [r1, #16] - 801abce: 4607 mov r7, r0 - 801abd0: 460c mov r4, r1 - 801abd2: 461e mov r6, r3 - 801abd4: f101 0c14 add.w ip, r1, #20 - 801abd8: 2000 movs r0, #0 - 801abda: f8dc 3000 ldr.w r3, [ip] - 801abde: b299 uxth r1, r3 - 801abe0: fb02 6101 mla r1, r2, r1, r6 - 801abe4: 0c1e lsrs r6, r3, #16 - 801abe6: 0c0b lsrs r3, r1, #16 - 801abe8: fb02 3306 mla r3, r2, r6, r3 - 801abec: b289 uxth r1, r1 - 801abee: 3001 adds r0, #1 - 801abf0: eb01 4103 add.w r1, r1, r3, lsl #16 - 801abf4: 4285 cmp r5, r0 - 801abf6: f84c 1b04 str.w r1, [ip], #4 - 801abfa: ea4f 4613 mov.w r6, r3, lsr #16 - 801abfe: dcec bgt.n 801abda <__multadd+0x12> - 801ac00: b30e cbz r6, 801ac46 <__multadd+0x7e> - 801ac02: 68a3 ldr r3, [r4, #8] - 801ac04: 42ab cmp r3, r5 - 801ac06: dc19 bgt.n 801ac3c <__multadd+0x74> - 801ac08: 6861 ldr r1, [r4, #4] - 801ac0a: 4638 mov r0, r7 - 801ac0c: 3101 adds r1, #1 - 801ac0e: f7ff ff7b bl 801ab08 <_Balloc> - 801ac12: 4680 mov r8, r0 - 801ac14: b928 cbnz r0, 801ac22 <__multadd+0x5a> + 801a7ac: db3a blt.n 801a824 <_dtoa_r+0x22c> + 801a7ae: 9b08 ldr r3, [sp, #32] + 801a7b0: f8cd 8034 str.w r8, [sp, #52] @ 0x34 + 801a7b4: 4443 add r3, r8 + 801a7b6: 9308 str r3, [sp, #32] + 801a7b8: 2300 movs r3, #0 + 801a7ba: 9309 str r3, [sp, #36] @ 0x24 + 801a7bc: 9b0a ldr r3, [sp, #40] @ 0x28 + 801a7be: 2b09 cmp r3, #9 + 801a7c0: d862 bhi.n 801a888 <_dtoa_r+0x290> + 801a7c2: 2b05 cmp r3, #5 + 801a7c4: bfc4 itt gt + 801a7c6: 3b04 subgt r3, #4 + 801a7c8: 930a strgt r3, [sp, #40] @ 0x28 + 801a7ca: 9b0a ldr r3, [sp, #40] @ 0x28 + 801a7cc: f1a3 0302 sub.w r3, r3, #2 + 801a7d0: bfcc ite gt + 801a7d2: 2400 movgt r4, #0 + 801a7d4: 2401 movle r4, #1 + 801a7d6: 2b03 cmp r3, #3 + 801a7d8: d862 bhi.n 801a8a0 <_dtoa_r+0x2a8> + 801a7da: e8df f003 tbb [pc, r3] + 801a7de: 5351 .short 0x5351 + 801a7e0: 2b36 .short 0x2b36 + 801a7e2: 9c17 ldr r4, [sp, #92] @ 0x5c + 801a7e4: 442c add r4, r5 + 801a7e6: f204 4332 addw r3, r4, #1074 @ 0x432 + 801a7ea: 2b20 cmp r3, #32 + 801a7ec: bfc1 itttt gt + 801a7ee: f1c3 0340 rsbgt r3, r3, #64 @ 0x40 + 801a7f2: fa08 f803 lslgt.w r8, r8, r3 + 801a7f6: f204 4312 addwgt r3, r4, #1042 @ 0x412 + 801a7fa: fa26 f303 lsrgt.w r3, r6, r3 + 801a7fe: bfd6 itet le + 801a800: f1c3 0320 rsble r3, r3, #32 + 801a804: ea48 0003 orrgt.w r0, r8, r3 + 801a808: fa06 f003 lslle.w r0, r6, r3 + 801a80c: f7e5 fe52 bl 80004b4 <__aeabi_ui2d> + 801a810: 2201 movs r2, #1 + 801a812: f1a1 73f8 sub.w r3, r1, #32505856 @ 0x1f00000 + 801a816: 3c01 subs r4, #1 + 801a818: 9214 str r2, [sp, #80] @ 0x50 + 801a81a: e775 b.n 801a708 <_dtoa_r+0x110> + 801a81c: 2301 movs r3, #1 + 801a81e: e7b9 b.n 801a794 <_dtoa_r+0x19c> + 801a820: 9012 str r0, [sp, #72] @ 0x48 + 801a822: e7b8 b.n 801a796 <_dtoa_r+0x19e> + 801a824: f1c8 0300 rsb r3, r8, #0 + 801a828: 9309 str r3, [sp, #36] @ 0x24 + 801a82a: 2300 movs r3, #0 + 801a82c: eba7 0708 sub.w r7, r7, r8 + 801a830: 930d str r3, [sp, #52] @ 0x34 + 801a832: e7c3 b.n 801a7bc <_dtoa_r+0x1c4> + 801a834: 2301 movs r3, #1 + 801a836: 930b str r3, [sp, #44] @ 0x2c + 801a838: 9b0c ldr r3, [sp, #48] @ 0x30 + 801a83a: 4443 add r3, r8 + 801a83c: 9305 str r3, [sp, #20] + 801a83e: 3301 adds r3, #1 + 801a840: 2b01 cmp r3, #1 + 801a842: 9304 str r3, [sp, #16] + 801a844: bfb8 it lt + 801a846: 2301 movlt r3, #1 + 801a848: e006 b.n 801a858 <_dtoa_r+0x260> + 801a84a: 2301 movs r3, #1 + 801a84c: 930b str r3, [sp, #44] @ 0x2c + 801a84e: 9b0c ldr r3, [sp, #48] @ 0x30 + 801a850: 2b00 cmp r3, #0 + 801a852: dd28 ble.n 801a8a6 <_dtoa_r+0x2ae> + 801a854: e9cd 3304 strd r3, r3, [sp, #16] + 801a858: f8d9 001c ldr.w r0, [r9, #28] + 801a85c: 2100 movs r1, #0 + 801a85e: 2204 movs r2, #4 + 801a860: f102 0514 add.w r5, r2, #20 + 801a864: 429d cmp r5, r3 + 801a866: d923 bls.n 801a8b0 <_dtoa_r+0x2b8> + 801a868: 6041 str r1, [r0, #4] + 801a86a: 4648 mov r0, r9 + 801a86c: f000 fda0 bl 801b3b0 <_Balloc> + 801a870: 9000 str r0, [sp, #0] + 801a872: 2800 cmp r0, #0 + 801a874: d140 bne.n 801a8f8 <_dtoa_r+0x300> + 801a876: 4b1f ldr r3, [pc, #124] @ (801a8f4 <_dtoa_r+0x2fc>) + 801a878: 4602 mov r2, r0 + 801a87a: f240 11af movw r1, #431 @ 0x1af + 801a87e: e6d2 b.n 801a626 <_dtoa_r+0x2e> + 801a880: 2300 movs r3, #0 + 801a882: e7e3 b.n 801a84c <_dtoa_r+0x254> + 801a884: 2300 movs r3, #0 + 801a886: e7d6 b.n 801a836 <_dtoa_r+0x23e> + 801a888: 2401 movs r4, #1 + 801a88a: 2300 movs r3, #0 + 801a88c: e9cd 340a strd r3, r4, [sp, #40] @ 0x28 + 801a890: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 801a894: e9cd 3304 strd r3, r3, [sp, #16] + 801a898: 2200 movs r2, #0 + 801a89a: 2312 movs r3, #18 + 801a89c: 920c str r2, [sp, #48] @ 0x30 + 801a89e: e7db b.n 801a858 <_dtoa_r+0x260> + 801a8a0: 2301 movs r3, #1 + 801a8a2: 930b str r3, [sp, #44] @ 0x2c + 801a8a4: e7f4 b.n 801a890 <_dtoa_r+0x298> + 801a8a6: 2301 movs r3, #1 + 801a8a8: e9cd 3304 strd r3, r3, [sp, #16] + 801a8ac: 461a mov r2, r3 + 801a8ae: e7f5 b.n 801a89c <_dtoa_r+0x2a4> + 801a8b0: 3101 adds r1, #1 + 801a8b2: 0052 lsls r2, r2, #1 + 801a8b4: e7d4 b.n 801a860 <_dtoa_r+0x268> + 801a8b6: bf00 nop + 801a8b8: 636f4361 .word 0x636f4361 + 801a8bc: 3fd287a7 .word 0x3fd287a7 + 801a8c0: 8b60c8b3 .word 0x8b60c8b3 + 801a8c4: 3fc68a28 .word 0x3fc68a28 + 801a8c8: 509f79fb .word 0x509f79fb + 801a8cc: 3fd34413 .word 0x3fd34413 + 801a8d0: 0801e656 .word 0x0801e656 + 801a8d4: 0801e66d .word 0x0801e66d + 801a8d8: 7ff00000 .word 0x7ff00000 + 801a8dc: 0801e652 .word 0x0801e652 + 801a8e0: 0801e649 .word 0x0801e649 + 801a8e4: 0801e621 .word 0x0801e621 + 801a8e8: 0801e620 .word 0x0801e620 + 801a8ec: 3ff80000 .word 0x3ff80000 + 801a8f0: 0801e820 .word 0x0801e820 + 801a8f4: 0801e6c5 .word 0x0801e6c5 + 801a8f8: f8d9 301c ldr.w r3, [r9, #28] + 801a8fc: 9a00 ldr r2, [sp, #0] + 801a8fe: 601a str r2, [r3, #0] + 801a900: 9b04 ldr r3, [sp, #16] + 801a902: 2b0e cmp r3, #14 + 801a904: f200 80a1 bhi.w 801aa4a <_dtoa_r+0x452> + 801a908: 2c00 cmp r4, #0 + 801a90a: f000 809e beq.w 801aa4a <_dtoa_r+0x452> + 801a90e: f1b8 0f00 cmp.w r8, #0 + 801a912: dd36 ble.n 801a982 <_dtoa_r+0x38a> + 801a914: 4b9e ldr r3, [pc, #632] @ (801ab90 <_dtoa_r+0x598>) + 801a916: f008 020f and.w r2, r8, #15 + 801a91a: eb03 03c2 add.w r3, r3, r2, lsl #3 + 801a91e: f418 7f80 tst.w r8, #256 @ 0x100 + 801a922: e9d3 ab00 ldrd sl, fp, [r3] + 801a926: ea4f 1528 mov.w r5, r8, asr #4 + 801a92a: d016 beq.n 801a95a <_dtoa_r+0x362> + 801a92c: 4b99 ldr r3, [pc, #612] @ (801ab94 <_dtoa_r+0x59c>) + 801a92e: e9dd 0106 ldrd r0, r1, [sp, #24] + 801a932: e9d3 2308 ldrd r2, r3, [r3, #32] + 801a936: f7e5 ff61 bl 80007fc <__aeabi_ddiv> + 801a93a: e9cd 0102 strd r0, r1, [sp, #8] + 801a93e: f005 050f and.w r5, r5, #15 + 801a942: 2403 movs r4, #3 + 801a944: 4e93 ldr r6, [pc, #588] @ (801ab94 <_dtoa_r+0x59c>) + 801a946: b975 cbnz r5, 801a966 <_dtoa_r+0x36e> + 801a948: e9dd 0102 ldrd r0, r1, [sp, #8] + 801a94c: 4652 mov r2, sl + 801a94e: 465b mov r3, fp + 801a950: f7e5 ff54 bl 80007fc <__aeabi_ddiv> + 801a954: 4682 mov sl, r0 + 801a956: 468b mov fp, r1 + 801a958: e02d b.n 801a9b6 <_dtoa_r+0x3be> + 801a95a: ed9d 7b06 vldr d7, [sp, #24] + 801a95e: 2402 movs r4, #2 + 801a960: ed8d 7b02 vstr d7, [sp, #8] + 801a964: e7ee b.n 801a944 <_dtoa_r+0x34c> + 801a966: 07e9 lsls r1, r5, #31 + 801a968: d508 bpl.n 801a97c <_dtoa_r+0x384> + 801a96a: 4650 mov r0, sl + 801a96c: 4659 mov r1, fp + 801a96e: e9d6 2300 ldrd r2, r3, [r6] + 801a972: f7e5 fe19 bl 80005a8 <__aeabi_dmul> + 801a976: 3401 adds r4, #1 + 801a978: 4682 mov sl, r0 + 801a97a: 468b mov fp, r1 + 801a97c: 106d asrs r5, r5, #1 + 801a97e: 3608 adds r6, #8 + 801a980: e7e1 b.n 801a946 <_dtoa_r+0x34e> + 801a982: f000 80ad beq.w 801aae0 <_dtoa_r+0x4e8> + 801a986: f1c8 0500 rsb r5, r8, #0 + 801a98a: 4b81 ldr r3, [pc, #516] @ (801ab90 <_dtoa_r+0x598>) + 801a98c: 4e81 ldr r6, [pc, #516] @ (801ab94 <_dtoa_r+0x59c>) + 801a98e: f005 020f and.w r2, r5, #15 + 801a992: eb03 03c2 add.w r3, r3, r2, lsl #3 + 801a996: e9d3 2300 ldrd r2, r3, [r3] + 801a99a: e9dd 0106 ldrd r0, r1, [sp, #24] + 801a99e: f7e5 fe03 bl 80005a8 <__aeabi_dmul> + 801a9a2: 112d asrs r5, r5, #4 + 801a9a4: 4682 mov sl, r0 + 801a9a6: 468b mov fp, r1 + 801a9a8: 2300 movs r3, #0 + 801a9aa: 2402 movs r4, #2 + 801a9ac: 2d00 cmp r5, #0 + 801a9ae: f040 808c bne.w 801aaca <_dtoa_r+0x4d2> + 801a9b2: 2b00 cmp r3, #0 + 801a9b4: d1ce bne.n 801a954 <_dtoa_r+0x35c> + 801a9b6: 9b12 ldr r3, [sp, #72] @ 0x48 + 801a9b8: 2b00 cmp r3, #0 + 801a9ba: f000 8095 beq.w 801aae8 <_dtoa_r+0x4f0> + 801a9be: 4b76 ldr r3, [pc, #472] @ (801ab98 <_dtoa_r+0x5a0>) + 801a9c0: 2200 movs r2, #0 + 801a9c2: 4650 mov r0, sl + 801a9c4: 4659 mov r1, fp + 801a9c6: f7e6 f861 bl 8000a8c <__aeabi_dcmplt> + 801a9ca: 2800 cmp r0, #0 + 801a9cc: f000 808c beq.w 801aae8 <_dtoa_r+0x4f0> + 801a9d0: 9b04 ldr r3, [sp, #16] + 801a9d2: 2b00 cmp r3, #0 + 801a9d4: f000 8088 beq.w 801aae8 <_dtoa_r+0x4f0> + 801a9d8: 9b05 ldr r3, [sp, #20] + 801a9da: 2b00 cmp r3, #0 + 801a9dc: dd35 ble.n 801aa4a <_dtoa_r+0x452> + 801a9de: f108 33ff add.w r3, r8, #4294967295 @ 0xffffffff + 801a9e2: 9302 str r3, [sp, #8] + 801a9e4: 4650 mov r0, sl + 801a9e6: 4659 mov r1, fp + 801a9e8: 4b6c ldr r3, [pc, #432] @ (801ab9c <_dtoa_r+0x5a4>) + 801a9ea: 2200 movs r2, #0 + 801a9ec: f7e5 fddc bl 80005a8 <__aeabi_dmul> + 801a9f0: 9e05 ldr r6, [sp, #20] + 801a9f2: 4682 mov sl, r0 + 801a9f4: 468b mov fp, r1 + 801a9f6: 3401 adds r4, #1 + 801a9f8: 4620 mov r0, r4 + 801a9fa: f7e5 fd6b bl 80004d4 <__aeabi_i2d> + 801a9fe: 4652 mov r2, sl + 801aa00: 465b mov r3, fp + 801aa02: f7e5 fdd1 bl 80005a8 <__aeabi_dmul> + 801aa06: 4b66 ldr r3, [pc, #408] @ (801aba0 <_dtoa_r+0x5a8>) + 801aa08: 2200 movs r2, #0 + 801aa0a: f7e5 fc17 bl 800023c <__adddf3> + 801aa0e: 4604 mov r4, r0 + 801aa10: f1a1 7550 sub.w r5, r1, #54525952 @ 0x3400000 + 801aa14: e9cd 4510 strd r4, r5, [sp, #64] @ 0x40 + 801aa18: 2e00 cmp r6, #0 + 801aa1a: d169 bne.n 801aaf0 <_dtoa_r+0x4f8> + 801aa1c: 4b61 ldr r3, [pc, #388] @ (801aba4 <_dtoa_r+0x5ac>) + 801aa1e: 2200 movs r2, #0 + 801aa20: 4650 mov r0, sl + 801aa22: 4659 mov r1, fp + 801aa24: f7e5 fc08 bl 8000238 <__aeabi_dsub> + 801aa28: 4622 mov r2, r4 + 801aa2a: 462b mov r3, r5 + 801aa2c: 4682 mov sl, r0 + 801aa2e: 468b mov fp, r1 + 801aa30: f7e6 f84a bl 8000ac8 <__aeabi_dcmpgt> + 801aa34: 2800 cmp r0, #0 + 801aa36: f040 8294 bne.w 801af62 <_dtoa_r+0x96a> + 801aa3a: 4622 mov r2, r4 + 801aa3c: f105 4300 add.w r3, r5, #2147483648 @ 0x80000000 + 801aa40: 4650 mov r0, sl + 801aa42: 4659 mov r1, fp + 801aa44: f7e6 f822 bl 8000a8c <__aeabi_dcmplt> + 801aa48: bb20 cbnz r0, 801aa94 <_dtoa_r+0x49c> + 801aa4a: 9b17 ldr r3, [sp, #92] @ 0x5c + 801aa4c: 2b00 cmp r3, #0 + 801aa4e: f2c0 8160 blt.w 801ad12 <_dtoa_r+0x71a> + 801aa52: f1b8 0f0e cmp.w r8, #14 + 801aa56: f300 815c bgt.w 801ad12 <_dtoa_r+0x71a> + 801aa5a: 4b4d ldr r3, [pc, #308] @ (801ab90 <_dtoa_r+0x598>) + 801aa5c: eb03 03c8 add.w r3, r3, r8, lsl #3 + 801aa60: e9d3 ab00 ldrd sl, fp, [r3] + 801aa64: 9b0c ldr r3, [sp, #48] @ 0x30 + 801aa66: 2b00 cmp r3, #0 + 801aa68: f280 80ee bge.w 801ac48 <_dtoa_r+0x650> + 801aa6c: 9b04 ldr r3, [sp, #16] + 801aa6e: 2b00 cmp r3, #0 + 801aa70: f300 80ea bgt.w 801ac48 <_dtoa_r+0x650> + 801aa74: d10e bne.n 801aa94 <_dtoa_r+0x49c> + 801aa76: 4b4b ldr r3, [pc, #300] @ (801aba4 <_dtoa_r+0x5ac>) + 801aa78: 2200 movs r2, #0 + 801aa7a: 4650 mov r0, sl + 801aa7c: 4659 mov r1, fp + 801aa7e: f7e5 fd93 bl 80005a8 <__aeabi_dmul> + 801aa82: 4602 mov r2, r0 + 801aa84: 460b mov r3, r1 + 801aa86: e9dd 0106 ldrd r0, r1, [sp, #24] + 801aa8a: f7e6 f809 bl 8000aa0 <__aeabi_dcmple> + 801aa8e: 2800 cmp r0, #0 + 801aa90: f000 826a beq.w 801af68 <_dtoa_r+0x970> + 801aa94: 2500 movs r5, #0 + 801aa96: 462c mov r4, r5 + 801aa98: 9b0c ldr r3, [sp, #48] @ 0x30 + 801aa9a: 9e00 ldr r6, [sp, #0] + 801aa9c: 43db mvns r3, r3 + 801aa9e: 9302 str r3, [sp, #8] + 801aaa0: 4627 mov r7, r4 + 801aaa2: 2400 movs r4, #0 + 801aaa4: 4629 mov r1, r5 + 801aaa6: 4648 mov r0, r9 + 801aaa8: f000 fcc0 bl 801b42c <_Bfree> + 801aaac: 2f00 cmp r7, #0 + 801aaae: f000 80c1 beq.w 801ac34 <_dtoa_r+0x63c> + 801aab2: b12c cbz r4, 801aac0 <_dtoa_r+0x4c8> + 801aab4: 42bc cmp r4, r7 + 801aab6: d003 beq.n 801aac0 <_dtoa_r+0x4c8> + 801aab8: 4621 mov r1, r4 + 801aaba: 4648 mov r0, r9 + 801aabc: f000 fcb6 bl 801b42c <_Bfree> + 801aac0: 4639 mov r1, r7 + 801aac2: 4648 mov r0, r9 + 801aac4: f000 fcb2 bl 801b42c <_Bfree> + 801aac8: e0b4 b.n 801ac34 <_dtoa_r+0x63c> + 801aaca: 07ea lsls r2, r5, #31 + 801aacc: d505 bpl.n 801aada <_dtoa_r+0x4e2> + 801aace: e9d6 2300 ldrd r2, r3, [r6] + 801aad2: f7e5 fd69 bl 80005a8 <__aeabi_dmul> + 801aad6: 3401 adds r4, #1 + 801aad8: 2301 movs r3, #1 + 801aada: 106d asrs r5, r5, #1 + 801aadc: 3608 adds r6, #8 + 801aade: e765 b.n 801a9ac <_dtoa_r+0x3b4> + 801aae0: e9dd ab06 ldrd sl, fp, [sp, #24] + 801aae4: 2402 movs r4, #2 + 801aae6: e766 b.n 801a9b6 <_dtoa_r+0x3be> + 801aae8: 9e04 ldr r6, [sp, #16] + 801aaea: f8cd 8008 str.w r8, [sp, #8] + 801aaee: e783 b.n 801a9f8 <_dtoa_r+0x400> + 801aaf0: 4b27 ldr r3, [pc, #156] @ (801ab90 <_dtoa_r+0x598>) + 801aaf2: eb03 03c6 add.w r3, r3, r6, lsl #3 + 801aaf6: e953 0102 ldrd r0, r1, [r3, #-8] + 801aafa: 9b0b ldr r3, [sp, #44] @ 0x2c + 801aafc: 2b00 cmp r3, #0 + 801aafe: d055 beq.n 801abac <_dtoa_r+0x5b4> + 801ab00: 4602 mov r2, r0 + 801ab02: 460b mov r3, r1 + 801ab04: 2000 movs r0, #0 + 801ab06: 4928 ldr r1, [pc, #160] @ (801aba8 <_dtoa_r+0x5b0>) + 801ab08: f7e5 fe78 bl 80007fc <__aeabi_ddiv> + 801ab0c: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 + 801ab10: f7e5 fb92 bl 8000238 <__aeabi_dsub> + 801ab14: 9b00 ldr r3, [sp, #0] + 801ab16: e9cd 0110 strd r0, r1, [sp, #64] @ 0x40 + 801ab1a: 199d adds r5, r3, r6 + 801ab1c: 461e mov r6, r3 + 801ab1e: 4659 mov r1, fp + 801ab20: 4650 mov r0, sl + 801ab22: f7e5 fff1 bl 8000b08 <__aeabi_d2iz> + 801ab26: 4604 mov r4, r0 + 801ab28: f7e5 fcd4 bl 80004d4 <__aeabi_i2d> + 801ab2c: 4602 mov r2, r0 + 801ab2e: 460b mov r3, r1 + 801ab30: 4650 mov r0, sl + 801ab32: 4659 mov r1, fp + 801ab34: f7e5 fb80 bl 8000238 <__aeabi_dsub> + 801ab38: 3430 adds r4, #48 @ 0x30 + 801ab3a: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 + 801ab3e: f806 4b01 strb.w r4, [r6], #1 + 801ab42: 4682 mov sl, r0 + 801ab44: 468b mov fp, r1 + 801ab46: f7e5 ffa1 bl 8000a8c <__aeabi_dcmplt> + 801ab4a: 2800 cmp r0, #0 + 801ab4c: d172 bne.n 801ac34 <_dtoa_r+0x63c> + 801ab4e: 4652 mov r2, sl + 801ab50: 465b mov r3, fp + 801ab52: 4911 ldr r1, [pc, #68] @ (801ab98 <_dtoa_r+0x5a0>) + 801ab54: 2000 movs r0, #0 + 801ab56: f7e5 fb6f bl 8000238 <__aeabi_dsub> + 801ab5a: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 + 801ab5e: f7e5 ff95 bl 8000a8c <__aeabi_dcmplt> + 801ab62: 2800 cmp r0, #0 + 801ab64: f040 80b6 bne.w 801acd4 <_dtoa_r+0x6dc> + 801ab68: 42ae cmp r6, r5 + 801ab6a: f43f af6e beq.w 801aa4a <_dtoa_r+0x452> + 801ab6e: e9dd 0110 ldrd r0, r1, [sp, #64] @ 0x40 + 801ab72: 4b0a ldr r3, [pc, #40] @ (801ab9c <_dtoa_r+0x5a4>) + 801ab74: 2200 movs r2, #0 + 801ab76: f7e5 fd17 bl 80005a8 <__aeabi_dmul> + 801ab7a: 4b08 ldr r3, [pc, #32] @ (801ab9c <_dtoa_r+0x5a4>) + 801ab7c: e9cd 0110 strd r0, r1, [sp, #64] @ 0x40 + 801ab80: 2200 movs r2, #0 + 801ab82: 4650 mov r0, sl + 801ab84: 4659 mov r1, fp + 801ab86: f7e5 fd0f bl 80005a8 <__aeabi_dmul> + 801ab8a: 4682 mov sl, r0 + 801ab8c: 468b mov fp, r1 + 801ab8e: e7c6 b.n 801ab1e <_dtoa_r+0x526> + 801ab90: 0801e820 .word 0x0801e820 + 801ab94: 0801e7f8 .word 0x0801e7f8 + 801ab98: 3ff00000 .word 0x3ff00000 + 801ab9c: 40240000 .word 0x40240000 + 801aba0: 401c0000 .word 0x401c0000 + 801aba4: 40140000 .word 0x40140000 + 801aba8: 3fe00000 .word 0x3fe00000 + 801abac: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 + 801abb0: f7e5 fcfa bl 80005a8 <__aeabi_dmul> + 801abb4: 9b00 ldr r3, [sp, #0] + 801abb6: 9d00 ldr r5, [sp, #0] + 801abb8: e9cd 0110 strd r0, r1, [sp, #64] @ 0x40 + 801abbc: 4433 add r3, r6 + 801abbe: 9315 str r3, [sp, #84] @ 0x54 + 801abc0: 4659 mov r1, fp + 801abc2: 4650 mov r0, sl + 801abc4: f7e5 ffa0 bl 8000b08 <__aeabi_d2iz> + 801abc8: 4604 mov r4, r0 + 801abca: f7e5 fc83 bl 80004d4 <__aeabi_i2d> + 801abce: 3430 adds r4, #48 @ 0x30 + 801abd0: 460b mov r3, r1 + 801abd2: 4602 mov r2, r0 + 801abd4: 4659 mov r1, fp + 801abd6: 4650 mov r0, sl + 801abd8: f7e5 fb2e bl 8000238 <__aeabi_dsub> + 801abdc: f805 4b01 strb.w r4, [r5], #1 + 801abe0: 9b15 ldr r3, [sp, #84] @ 0x54 + 801abe2: 429d cmp r5, r3 + 801abe4: 4682 mov sl, r0 + 801abe6: 468b mov fp, r1 + 801abe8: d127 bne.n 801ac3a <_dtoa_r+0x642> + 801abea: 9b00 ldr r3, [sp, #0] + 801abec: 2200 movs r2, #0 + 801abee: e9dd 0110 ldrd r0, r1, [sp, #64] @ 0x40 + 801abf2: 441e add r6, r3 + 801abf4: 4bb3 ldr r3, [pc, #716] @ (801aec4 <_dtoa_r+0x8cc>) + 801abf6: f7e5 fb21 bl 800023c <__adddf3> + 801abfa: 4602 mov r2, r0 + 801abfc: 460b mov r3, r1 + 801abfe: 4650 mov r0, sl + 801ac00: 4659 mov r1, fp + 801ac02: f7e5 ff61 bl 8000ac8 <__aeabi_dcmpgt> + 801ac06: 2800 cmp r0, #0 + 801ac08: d164 bne.n 801acd4 <_dtoa_r+0x6dc> + 801ac0a: e9dd 2310 ldrd r2, r3, [sp, #64] @ 0x40 + 801ac0e: 49ad ldr r1, [pc, #692] @ (801aec4 <_dtoa_r+0x8cc>) + 801ac10: 2000 movs r0, #0 + 801ac12: f7e5 fb11 bl 8000238 <__aeabi_dsub> 801ac16: 4602 mov r2, r0 - 801ac18: 4b0c ldr r3, [pc, #48] @ (801ac4c <__multadd+0x84>) - 801ac1a: 480d ldr r0, [pc, #52] @ (801ac50 <__multadd+0x88>) - 801ac1c: 21ba movs r1, #186 @ 0xba - 801ac1e: f001 feab bl 801c978 <__assert_func> - 801ac22: 6922 ldr r2, [r4, #16] - 801ac24: 3202 adds r2, #2 - 801ac26: f104 010c add.w r1, r4, #12 - 801ac2a: 0092 lsls r2, r2, #2 - 801ac2c: 300c adds r0, #12 - 801ac2e: f7fe fff0 bl 8019c12 - 801ac32: 4621 mov r1, r4 - 801ac34: 4638 mov r0, r7 - 801ac36: f7ff ffa5 bl 801ab84 <_Bfree> - 801ac3a: 4644 mov r4, r8 - 801ac3c: eb04 0385 add.w r3, r4, r5, lsl #2 - 801ac40: 3501 adds r5, #1 - 801ac42: 615e str r6, [r3, #20] - 801ac44: 6125 str r5, [r4, #16] - 801ac46: 4620 mov r0, r4 - 801ac48: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 801ac4c: 0801dd65 .word 0x0801dd65 - 801ac50: 0801dd76 .word 0x0801dd76 + 801ac18: 460b mov r3, r1 + 801ac1a: 4650 mov r0, sl + 801ac1c: 4659 mov r1, fp + 801ac1e: f7e5 ff35 bl 8000a8c <__aeabi_dcmplt> + 801ac22: 2800 cmp r0, #0 + 801ac24: f43f af11 beq.w 801aa4a <_dtoa_r+0x452> + 801ac28: 4633 mov r3, r6 + 801ac2a: f816 2d01 ldrb.w r2, [r6, #-1]! + 801ac2e: 2a30 cmp r2, #48 @ 0x30 + 801ac30: d0fa beq.n 801ac28 <_dtoa_r+0x630> + 801ac32: 461e mov r6, r3 + 801ac34: f8dd 8008 ldr.w r8, [sp, #8] + 801ac38: e03a b.n 801acb0 <_dtoa_r+0x6b8> + 801ac3a: 4ba3 ldr r3, [pc, #652] @ (801aec8 <_dtoa_r+0x8d0>) + 801ac3c: 2200 movs r2, #0 + 801ac3e: f7e5 fcb3 bl 80005a8 <__aeabi_dmul> + 801ac42: 4682 mov sl, r0 + 801ac44: 468b mov fp, r1 + 801ac46: e7bb b.n 801abc0 <_dtoa_r+0x5c8> + 801ac48: 9e00 ldr r6, [sp, #0] + 801ac4a: 4652 mov r2, sl + 801ac4c: 465b mov r3, fp + 801ac4e: e9dd 0106 ldrd r0, r1, [sp, #24] + 801ac52: f7e5 fdd3 bl 80007fc <__aeabi_ddiv> + 801ac56: f7e5 ff57 bl 8000b08 <__aeabi_d2iz> + 801ac5a: 4607 mov r7, r0 + 801ac5c: f7e5 fc3a bl 80004d4 <__aeabi_i2d> + 801ac60: 4652 mov r2, sl + 801ac62: 465b mov r3, fp + 801ac64: f7e5 fca0 bl 80005a8 <__aeabi_dmul> + 801ac68: 4602 mov r2, r0 + 801ac6a: 460b mov r3, r1 + 801ac6c: e9dd 0106 ldrd r0, r1, [sp, #24] + 801ac70: f7e5 fae2 bl 8000238 <__aeabi_dsub> + 801ac74: f107 0c30 add.w ip, r7, #48 @ 0x30 + 801ac78: 9c00 ldr r4, [sp, #0] + 801ac7a: f806 cb01 strb.w ip, [r6], #1 + 801ac7e: eba6 0c04 sub.w ip, r6, r4 + 801ac82: 9c04 ldr r4, [sp, #16] + 801ac84: 4564 cmp r4, ip + 801ac86: 4602 mov r2, r0 + 801ac88: 460b mov r3, r1 + 801ac8a: d133 bne.n 801acf4 <_dtoa_r+0x6fc> + 801ac8c: f7e5 fad6 bl 800023c <__adddf3> + 801ac90: 4652 mov r2, sl + 801ac92: 465b mov r3, fp + 801ac94: 4604 mov r4, r0 + 801ac96: 460d mov r5, r1 + 801ac98: f7e5 ff16 bl 8000ac8 <__aeabi_dcmpgt> + 801ac9c: b9c0 cbnz r0, 801acd0 <_dtoa_r+0x6d8> + 801ac9e: 4652 mov r2, sl + 801aca0: 465b mov r3, fp + 801aca2: 4620 mov r0, r4 + 801aca4: 4629 mov r1, r5 + 801aca6: f7e5 fee7 bl 8000a78 <__aeabi_dcmpeq> + 801acaa: b108 cbz r0, 801acb0 <_dtoa_r+0x6b8> + 801acac: 07fb lsls r3, r7, #31 + 801acae: d40f bmi.n 801acd0 <_dtoa_r+0x6d8> + 801acb0: 9901 ldr r1, [sp, #4] + 801acb2: 4648 mov r0, r9 + 801acb4: f000 fbba bl 801b42c <_Bfree> + 801acb8: 2300 movs r3, #0 + 801acba: 9a13 ldr r2, [sp, #76] @ 0x4c + 801acbc: 7033 strb r3, [r6, #0] + 801acbe: f108 0301 add.w r3, r8, #1 + 801acc2: 6013 str r3, [r2, #0] + 801acc4: 9b23 ldr r3, [sp, #140] @ 0x8c + 801acc6: 2b00 cmp r3, #0 + 801acc8: f43f ace6 beq.w 801a698 <_dtoa_r+0xa0> + 801accc: 601e str r6, [r3, #0] + 801acce: e4e3 b.n 801a698 <_dtoa_r+0xa0> + 801acd0: f8cd 8008 str.w r8, [sp, #8] + 801acd4: 4633 mov r3, r6 + 801acd6: 461e mov r6, r3 + 801acd8: f813 2d01 ldrb.w r2, [r3, #-1]! + 801acdc: 2a39 cmp r2, #57 @ 0x39 + 801acde: d106 bne.n 801acee <_dtoa_r+0x6f6> + 801ace0: 9a00 ldr r2, [sp, #0] + 801ace2: 429a cmp r2, r3 + 801ace4: d1f7 bne.n 801acd6 <_dtoa_r+0x6de> + 801ace6: 9a02 ldr r2, [sp, #8] + 801ace8: 3201 adds r2, #1 + 801acea: 9202 str r2, [sp, #8] + 801acec: 2230 movs r2, #48 @ 0x30 + 801acee: 3201 adds r2, #1 + 801acf0: 701a strb r2, [r3, #0] + 801acf2: e79f b.n 801ac34 <_dtoa_r+0x63c> + 801acf4: 4b74 ldr r3, [pc, #464] @ (801aec8 <_dtoa_r+0x8d0>) + 801acf6: 2200 movs r2, #0 + 801acf8: f7e5 fc56 bl 80005a8 <__aeabi_dmul> + 801acfc: 4602 mov r2, r0 + 801acfe: 460b mov r3, r1 + 801ad00: e9cd 2306 strd r2, r3, [sp, #24] + 801ad04: 2200 movs r2, #0 + 801ad06: 2300 movs r3, #0 + 801ad08: f7e5 feb6 bl 8000a78 <__aeabi_dcmpeq> + 801ad0c: 2800 cmp r0, #0 + 801ad0e: d09c beq.n 801ac4a <_dtoa_r+0x652> + 801ad10: e7ce b.n 801acb0 <_dtoa_r+0x6b8> + 801ad12: 9a0b ldr r2, [sp, #44] @ 0x2c + 801ad14: 2a00 cmp r2, #0 + 801ad16: f000 80e3 beq.w 801aee0 <_dtoa_r+0x8e8> + 801ad1a: 9a0a ldr r2, [sp, #40] @ 0x28 + 801ad1c: 2a01 cmp r2, #1 + 801ad1e: f300 80c2 bgt.w 801aea6 <_dtoa_r+0x8ae> + 801ad22: 9a14 ldr r2, [sp, #80] @ 0x50 + 801ad24: 2a00 cmp r2, #0 + 801ad26: f000 80ba beq.w 801ae9e <_dtoa_r+0x8a6> + 801ad2a: f203 4333 addw r3, r3, #1075 @ 0x433 + 801ad2e: 9d09 ldr r5, [sp, #36] @ 0x24 + 801ad30: 463e mov r6, r7 + 801ad32: 9a08 ldr r2, [sp, #32] + 801ad34: 2101 movs r1, #1 + 801ad36: 441a add r2, r3 + 801ad38: 4648 mov r0, r9 + 801ad3a: 441f add r7, r3 + 801ad3c: 9208 str r2, [sp, #32] + 801ad3e: f000 fc73 bl 801b628 <__i2b> + 801ad42: 4604 mov r4, r0 + 801ad44: b156 cbz r6, 801ad5c <_dtoa_r+0x764> + 801ad46: 9b08 ldr r3, [sp, #32] + 801ad48: 2b00 cmp r3, #0 + 801ad4a: dd07 ble.n 801ad5c <_dtoa_r+0x764> + 801ad4c: 42b3 cmp r3, r6 + 801ad4e: 9a08 ldr r2, [sp, #32] + 801ad50: bfa8 it ge + 801ad52: 4633 movge r3, r6 + 801ad54: 1aff subs r7, r7, r3 + 801ad56: 1af6 subs r6, r6, r3 + 801ad58: 1ad3 subs r3, r2, r3 + 801ad5a: 9308 str r3, [sp, #32] + 801ad5c: 9b09 ldr r3, [sp, #36] @ 0x24 + 801ad5e: b30b cbz r3, 801ada4 <_dtoa_r+0x7ac> + 801ad60: 9b0b ldr r3, [sp, #44] @ 0x2c + 801ad62: 2b00 cmp r3, #0 + 801ad64: f000 80c3 beq.w 801aeee <_dtoa_r+0x8f6> + 801ad68: 2d00 cmp r5, #0 + 801ad6a: f000 80bd beq.w 801aee8 <_dtoa_r+0x8f0> + 801ad6e: 4621 mov r1, r4 + 801ad70: 462a mov r2, r5 + 801ad72: 4648 mov r0, r9 + 801ad74: f000 fd18 bl 801b7a8 <__pow5mult> + 801ad78: 9a01 ldr r2, [sp, #4] + 801ad7a: 4601 mov r1, r0 + 801ad7c: 4604 mov r4, r0 + 801ad7e: 4648 mov r0, r9 + 801ad80: f000 fc68 bl 801b654 <__multiply> + 801ad84: 9901 ldr r1, [sp, #4] + 801ad86: 4682 mov sl, r0 + 801ad88: 4648 mov r0, r9 + 801ad8a: f000 fb4f bl 801b42c <_Bfree> + 801ad8e: 9b09 ldr r3, [sp, #36] @ 0x24 + 801ad90: 1b5b subs r3, r3, r5 + 801ad92: 9309 str r3, [sp, #36] @ 0x24 + 801ad94: f000 80ae beq.w 801aef4 <_dtoa_r+0x8fc> + 801ad98: 9a09 ldr r2, [sp, #36] @ 0x24 + 801ad9a: 4651 mov r1, sl + 801ad9c: 4648 mov r0, r9 + 801ad9e: f000 fd03 bl 801b7a8 <__pow5mult> + 801ada2: 9001 str r0, [sp, #4] + 801ada4: 2101 movs r1, #1 + 801ada6: 4648 mov r0, r9 + 801ada8: f000 fc3e bl 801b628 <__i2b> + 801adac: 9b0d ldr r3, [sp, #52] @ 0x34 + 801adae: 4605 mov r5, r0 + 801adb0: 2b00 cmp r3, #0 + 801adb2: f000 81d7 beq.w 801b164 <_dtoa_r+0xb6c> + 801adb6: 461a mov r2, r3 + 801adb8: 4601 mov r1, r0 + 801adba: 4648 mov r0, r9 + 801adbc: f000 fcf4 bl 801b7a8 <__pow5mult> + 801adc0: 9b0a ldr r3, [sp, #40] @ 0x28 + 801adc2: 2b01 cmp r3, #1 + 801adc4: 4605 mov r5, r0 + 801adc6: f300 809d bgt.w 801af04 <_dtoa_r+0x90c> + 801adca: 9b0e ldr r3, [sp, #56] @ 0x38 + 801adcc: 2b00 cmp r3, #0 + 801adce: f040 8094 bne.w 801aefa <_dtoa_r+0x902> + 801add2: 9b0f ldr r3, [sp, #60] @ 0x3c + 801add4: f3c3 0313 ubfx r3, r3, #0, #20 + 801add8: 2b00 cmp r3, #0 + 801adda: f040 808e bne.w 801aefa <_dtoa_r+0x902> + 801adde: 9b0f ldr r3, [sp, #60] @ 0x3c + 801ade0: f023 4300 bic.w r3, r3, #2147483648 @ 0x80000000 + 801ade4: 0d1b lsrs r3, r3, #20 + 801ade6: 051b lsls r3, r3, #20 + 801ade8: 2b00 cmp r3, #0 + 801adea: f000 8089 beq.w 801af00 <_dtoa_r+0x908> + 801adee: 9b08 ldr r3, [sp, #32] + 801adf0: 3301 adds r3, #1 + 801adf2: 3701 adds r7, #1 + 801adf4: 9308 str r3, [sp, #32] + 801adf6: f04f 0a01 mov.w sl, #1 + 801adfa: 9b0d ldr r3, [sp, #52] @ 0x34 + 801adfc: 2b00 cmp r3, #0 + 801adfe: f000 81b7 beq.w 801b170 <_dtoa_r+0xb78> + 801ae02: 692b ldr r3, [r5, #16] + 801ae04: eb05 0383 add.w r3, r5, r3, lsl #2 + 801ae08: 6918 ldr r0, [r3, #16] + 801ae0a: f000 fbc1 bl 801b590 <__hi0bits> + 801ae0e: f1c0 0020 rsb r0, r0, #32 + 801ae12: 9b08 ldr r3, [sp, #32] + 801ae14: 4418 add r0, r3 + 801ae16: f010 001f ands.w r0, r0, #31 + 801ae1a: d07e beq.n 801af1a <_dtoa_r+0x922> + 801ae1c: f1c0 0320 rsb r3, r0, #32 + 801ae20: 2b04 cmp r3, #4 + 801ae22: dd72 ble.n 801af0a <_dtoa_r+0x912> + 801ae24: 9b08 ldr r3, [sp, #32] + 801ae26: f1c0 001c rsb r0, r0, #28 + 801ae2a: 4403 add r3, r0 + 801ae2c: 4407 add r7, r0 + 801ae2e: 4406 add r6, r0 + 801ae30: 9308 str r3, [sp, #32] + 801ae32: 2f00 cmp r7, #0 + 801ae34: dd05 ble.n 801ae42 <_dtoa_r+0x84a> + 801ae36: 9901 ldr r1, [sp, #4] + 801ae38: 463a mov r2, r7 + 801ae3a: 4648 mov r0, r9 + 801ae3c: f000 fd10 bl 801b860 <__lshift> + 801ae40: 9001 str r0, [sp, #4] + 801ae42: 9b08 ldr r3, [sp, #32] + 801ae44: 2b00 cmp r3, #0 + 801ae46: dd05 ble.n 801ae54 <_dtoa_r+0x85c> + 801ae48: 4629 mov r1, r5 + 801ae4a: 461a mov r2, r3 + 801ae4c: 4648 mov r0, r9 + 801ae4e: f000 fd07 bl 801b860 <__lshift> + 801ae52: 4605 mov r5, r0 + 801ae54: 9b12 ldr r3, [sp, #72] @ 0x48 + 801ae56: 2b00 cmp r3, #0 + 801ae58: d061 beq.n 801af1e <_dtoa_r+0x926> + 801ae5a: 9801 ldr r0, [sp, #4] + 801ae5c: 4629 mov r1, r5 + 801ae5e: f000 fd6d bl 801b93c <__mcmp> + 801ae62: 2800 cmp r0, #0 + 801ae64: da5b bge.n 801af1e <_dtoa_r+0x926> + 801ae66: f108 33ff add.w r3, r8, #4294967295 @ 0xffffffff + 801ae6a: 9302 str r3, [sp, #8] + 801ae6c: 9901 ldr r1, [sp, #4] + 801ae6e: 2300 movs r3, #0 + 801ae70: 220a movs r2, #10 + 801ae72: 4648 mov r0, r9 + 801ae74: f000 fafc bl 801b470 <__multadd> + 801ae78: 9b0b ldr r3, [sp, #44] @ 0x2c + 801ae7a: 9001 str r0, [sp, #4] + 801ae7c: 2b00 cmp r3, #0 + 801ae7e: f000 8179 beq.w 801b174 <_dtoa_r+0xb7c> + 801ae82: 2300 movs r3, #0 + 801ae84: 4621 mov r1, r4 + 801ae86: 220a movs r2, #10 + 801ae88: 4648 mov r0, r9 + 801ae8a: f000 faf1 bl 801b470 <__multadd> + 801ae8e: 9b05 ldr r3, [sp, #20] + 801ae90: 2b00 cmp r3, #0 + 801ae92: 4604 mov r4, r0 + 801ae94: dc72 bgt.n 801af7c <_dtoa_r+0x984> + 801ae96: 9b0a ldr r3, [sp, #40] @ 0x28 + 801ae98: 2b02 cmp r3, #2 + 801ae9a: dc49 bgt.n 801af30 <_dtoa_r+0x938> + 801ae9c: e06e b.n 801af7c <_dtoa_r+0x984> + 801ae9e: 9b16 ldr r3, [sp, #88] @ 0x58 + 801aea0: f1c3 0336 rsb r3, r3, #54 @ 0x36 + 801aea4: e743 b.n 801ad2e <_dtoa_r+0x736> + 801aea6: 9b04 ldr r3, [sp, #16] + 801aea8: 1e5d subs r5, r3, #1 + 801aeaa: 9b09 ldr r3, [sp, #36] @ 0x24 + 801aeac: 42ab cmp r3, r5 + 801aeae: db0d blt.n 801aecc <_dtoa_r+0x8d4> + 801aeb0: 1b5d subs r5, r3, r5 + 801aeb2: 9b04 ldr r3, [sp, #16] + 801aeb4: 2b00 cmp r3, #0 + 801aeb6: f6bf af3b bge.w 801ad30 <_dtoa_r+0x738> + 801aeba: 9b04 ldr r3, [sp, #16] + 801aebc: 1afe subs r6, r7, r3 + 801aebe: 2300 movs r3, #0 + 801aec0: e737 b.n 801ad32 <_dtoa_r+0x73a> + 801aec2: bf00 nop + 801aec4: 3fe00000 .word 0x3fe00000 + 801aec8: 40240000 .word 0x40240000 + 801aecc: 9b09 ldr r3, [sp, #36] @ 0x24 + 801aece: 9a0d ldr r2, [sp, #52] @ 0x34 + 801aed0: 9509 str r5, [sp, #36] @ 0x24 + 801aed2: 1aeb subs r3, r5, r3 + 801aed4: 441a add r2, r3 + 801aed6: 920d str r2, [sp, #52] @ 0x34 + 801aed8: 9b04 ldr r3, [sp, #16] + 801aeda: 463e mov r6, r7 + 801aedc: 2500 movs r5, #0 + 801aede: e728 b.n 801ad32 <_dtoa_r+0x73a> + 801aee0: 9d09 ldr r5, [sp, #36] @ 0x24 + 801aee2: 9c0b ldr r4, [sp, #44] @ 0x2c + 801aee4: 463e mov r6, r7 + 801aee6: e72d b.n 801ad44 <_dtoa_r+0x74c> + 801aee8: f8dd a004 ldr.w sl, [sp, #4] + 801aeec: e754 b.n 801ad98 <_dtoa_r+0x7a0> + 801aeee: 9a09 ldr r2, [sp, #36] @ 0x24 + 801aef0: 9901 ldr r1, [sp, #4] + 801aef2: e753 b.n 801ad9c <_dtoa_r+0x7a4> + 801aef4: f8cd a004 str.w sl, [sp, #4] + 801aef8: e754 b.n 801ada4 <_dtoa_r+0x7ac> + 801aefa: f04f 0a00 mov.w sl, #0 + 801aefe: e77c b.n 801adfa <_dtoa_r+0x802> + 801af00: 469a mov sl, r3 + 801af02: e77a b.n 801adfa <_dtoa_r+0x802> + 801af04: f04f 0a00 mov.w sl, #0 + 801af08: e77b b.n 801ae02 <_dtoa_r+0x80a> + 801af0a: d092 beq.n 801ae32 <_dtoa_r+0x83a> + 801af0c: 9a08 ldr r2, [sp, #32] + 801af0e: 331c adds r3, #28 + 801af10: 441a add r2, r3 + 801af12: 441f add r7, r3 + 801af14: 441e add r6, r3 + 801af16: 9208 str r2, [sp, #32] + 801af18: e78b b.n 801ae32 <_dtoa_r+0x83a> + 801af1a: 4603 mov r3, r0 + 801af1c: e7f6 b.n 801af0c <_dtoa_r+0x914> + 801af1e: 9b04 ldr r3, [sp, #16] + 801af20: f8cd 8008 str.w r8, [sp, #8] + 801af24: 2b00 cmp r3, #0 + 801af26: dc23 bgt.n 801af70 <_dtoa_r+0x978> + 801af28: 9305 str r3, [sp, #20] + 801af2a: 9b0a ldr r3, [sp, #40] @ 0x28 + 801af2c: 2b02 cmp r3, #2 + 801af2e: dd21 ble.n 801af74 <_dtoa_r+0x97c> + 801af30: 9b05 ldr r3, [sp, #20] + 801af32: 2b00 cmp r3, #0 + 801af34: f47f adb0 bne.w 801aa98 <_dtoa_r+0x4a0> + 801af38: 4629 mov r1, r5 + 801af3a: 2205 movs r2, #5 + 801af3c: 4648 mov r0, r9 + 801af3e: f000 fa97 bl 801b470 <__multadd> + 801af42: 4601 mov r1, r0 + 801af44: 4605 mov r5, r0 + 801af46: 9801 ldr r0, [sp, #4] + 801af48: f000 fcf8 bl 801b93c <__mcmp> + 801af4c: 2800 cmp r0, #0 + 801af4e: f77f ada3 ble.w 801aa98 <_dtoa_r+0x4a0> + 801af52: 9e00 ldr r6, [sp, #0] + 801af54: 2331 movs r3, #49 @ 0x31 + 801af56: f806 3b01 strb.w r3, [r6], #1 + 801af5a: 9b02 ldr r3, [sp, #8] + 801af5c: 3301 adds r3, #1 + 801af5e: 9302 str r3, [sp, #8] + 801af60: e59e b.n 801aaa0 <_dtoa_r+0x4a8> + 801af62: 4635 mov r5, r6 + 801af64: 462c mov r4, r5 + 801af66: e7f4 b.n 801af52 <_dtoa_r+0x95a> + 801af68: 9d04 ldr r5, [sp, #16] + 801af6a: f8cd 8008 str.w r8, [sp, #8] + 801af6e: e7f9 b.n 801af64 <_dtoa_r+0x96c> + 801af70: 9b04 ldr r3, [sp, #16] + 801af72: 9305 str r3, [sp, #20] + 801af74: 9b0b ldr r3, [sp, #44] @ 0x2c + 801af76: 2b00 cmp r3, #0 + 801af78: f000 8100 beq.w 801b17c <_dtoa_r+0xb84> + 801af7c: 2e00 cmp r6, #0 + 801af7e: dd05 ble.n 801af8c <_dtoa_r+0x994> + 801af80: 4621 mov r1, r4 + 801af82: 4632 mov r2, r6 + 801af84: 4648 mov r0, r9 + 801af86: f000 fc6b bl 801b860 <__lshift> + 801af8a: 4604 mov r4, r0 + 801af8c: f1ba 0f00 cmp.w sl, #0 + 801af90: d05a beq.n 801b048 <_dtoa_r+0xa50> + 801af92: 6861 ldr r1, [r4, #4] + 801af94: 4648 mov r0, r9 + 801af96: f000 fa0b bl 801b3b0 <_Balloc> + 801af9a: 4606 mov r6, r0 + 801af9c: b928 cbnz r0, 801afaa <_dtoa_r+0x9b2> + 801af9e: 4b82 ldr r3, [pc, #520] @ (801b1a8 <_dtoa_r+0xbb0>) + 801afa0: 4602 mov r2, r0 + 801afa2: f240 21ef movw r1, #751 @ 0x2ef + 801afa6: f7ff bb3e b.w 801a626 <_dtoa_r+0x2e> + 801afaa: 6922 ldr r2, [r4, #16] + 801afac: 3202 adds r2, #2 + 801afae: 0092 lsls r2, r2, #2 + 801afb0: f104 010c add.w r1, r4, #12 + 801afb4: 300c adds r0, #12 + 801afb6: f7ff fa82 bl 801a4be + 801afba: 2201 movs r2, #1 + 801afbc: 4631 mov r1, r6 + 801afbe: 4648 mov r0, r9 + 801afc0: f000 fc4e bl 801b860 <__lshift> + 801afc4: 4607 mov r7, r0 + 801afc6: 9b00 ldr r3, [sp, #0] + 801afc8: 9a00 ldr r2, [sp, #0] + 801afca: f103 0b01 add.w fp, r3, #1 + 801afce: 9b05 ldr r3, [sp, #20] + 801afd0: 4413 add r3, r2 + 801afd2: 9306 str r3, [sp, #24] + 801afd4: 9b0e ldr r3, [sp, #56] @ 0x38 + 801afd6: f003 0301 and.w r3, r3, #1 + 801afda: 9308 str r3, [sp, #32] + 801afdc: f10b 33ff add.w r3, fp, #4294967295 @ 0xffffffff + 801afe0: 4629 mov r1, r5 + 801afe2: 9801 ldr r0, [sp, #4] + 801afe4: 9304 str r3, [sp, #16] + 801afe6: f7ff fa7f bl 801a4e8 + 801afea: 4621 mov r1, r4 + 801afec: 9005 str r0, [sp, #20] + 801afee: f100 0a30 add.w sl, r0, #48 @ 0x30 + 801aff2: 9801 ldr r0, [sp, #4] + 801aff4: f000 fca2 bl 801b93c <__mcmp> + 801aff8: 463a mov r2, r7 + 801affa: 4680 mov r8, r0 + 801affc: 4629 mov r1, r5 + 801affe: 4648 mov r0, r9 + 801b000: f000 fcb8 bl 801b974 <__mdiff> + 801b004: 68c2 ldr r2, [r0, #12] + 801b006: 4606 mov r6, r0 + 801b008: bb02 cbnz r2, 801b04c <_dtoa_r+0xa54> + 801b00a: 4601 mov r1, r0 + 801b00c: 9801 ldr r0, [sp, #4] + 801b00e: f000 fc95 bl 801b93c <__mcmp> + 801b012: 4602 mov r2, r0 + 801b014: 4631 mov r1, r6 + 801b016: 4648 mov r0, r9 + 801b018: 9209 str r2, [sp, #36] @ 0x24 + 801b01a: f000 fa07 bl 801b42c <_Bfree> + 801b01e: e9dd 2309 ldrd r2, r3, [sp, #36] @ 0x24 + 801b022: ea42 0103 orr.w r1, r2, r3 + 801b026: 9b08 ldr r3, [sp, #32] + 801b028: 4319 orrs r1, r3 + 801b02a: 465e mov r6, fp + 801b02c: d110 bne.n 801b050 <_dtoa_r+0xa58> + 801b02e: f1ba 0f39 cmp.w sl, #57 @ 0x39 + 801b032: d02b beq.n 801b08c <_dtoa_r+0xa94> + 801b034: f1b8 0f00 cmp.w r8, #0 + 801b038: dd02 ble.n 801b040 <_dtoa_r+0xa48> + 801b03a: 9b05 ldr r3, [sp, #20] + 801b03c: f103 0a31 add.w sl, r3, #49 @ 0x31 + 801b040: 9b04 ldr r3, [sp, #16] + 801b042: f883 a000 strb.w sl, [r3] + 801b046: e52d b.n 801aaa4 <_dtoa_r+0x4ac> + 801b048: 4627 mov r7, r4 + 801b04a: e7bc b.n 801afc6 <_dtoa_r+0x9ce> + 801b04c: 2201 movs r2, #1 + 801b04e: e7e1 b.n 801b014 <_dtoa_r+0xa1c> + 801b050: f1b8 0f00 cmp.w r8, #0 + 801b054: db06 blt.n 801b064 <_dtoa_r+0xa6c> + 801b056: 9b0a ldr r3, [sp, #40] @ 0x28 + 801b058: ea48 0803 orr.w r8, r8, r3 + 801b05c: 9b08 ldr r3, [sp, #32] + 801b05e: ea58 0803 orrs.w r8, r8, r3 + 801b062: d120 bne.n 801b0a6 <_dtoa_r+0xaae> + 801b064: 2a00 cmp r2, #0 + 801b066: ddeb ble.n 801b040 <_dtoa_r+0xa48> + 801b068: 9901 ldr r1, [sp, #4] + 801b06a: 2201 movs r2, #1 + 801b06c: 4648 mov r0, r9 + 801b06e: f000 fbf7 bl 801b860 <__lshift> + 801b072: 4629 mov r1, r5 + 801b074: 9001 str r0, [sp, #4] + 801b076: f000 fc61 bl 801b93c <__mcmp> + 801b07a: 2800 cmp r0, #0 + 801b07c: dc03 bgt.n 801b086 <_dtoa_r+0xa8e> + 801b07e: d1df bne.n 801b040 <_dtoa_r+0xa48> + 801b080: f01a 0f01 tst.w sl, #1 + 801b084: d0dc beq.n 801b040 <_dtoa_r+0xa48> + 801b086: f1ba 0f39 cmp.w sl, #57 @ 0x39 + 801b08a: d1d6 bne.n 801b03a <_dtoa_r+0xa42> + 801b08c: 9a04 ldr r2, [sp, #16] + 801b08e: 2339 movs r3, #57 @ 0x39 + 801b090: 7013 strb r3, [r2, #0] + 801b092: 4633 mov r3, r6 + 801b094: 461e mov r6, r3 + 801b096: 3b01 subs r3, #1 + 801b098: f816 2c01 ldrb.w r2, [r6, #-1] + 801b09c: 2a39 cmp r2, #57 @ 0x39 + 801b09e: d052 beq.n 801b146 <_dtoa_r+0xb4e> + 801b0a0: 3201 adds r2, #1 + 801b0a2: 701a strb r2, [r3, #0] + 801b0a4: e4fe b.n 801aaa4 <_dtoa_r+0x4ac> + 801b0a6: 2a00 cmp r2, #0 + 801b0a8: dd07 ble.n 801b0ba <_dtoa_r+0xac2> + 801b0aa: f1ba 0f39 cmp.w sl, #57 @ 0x39 + 801b0ae: d0ed beq.n 801b08c <_dtoa_r+0xa94> + 801b0b0: 9a04 ldr r2, [sp, #16] + 801b0b2: f10a 0301 add.w r3, sl, #1 + 801b0b6: 7013 strb r3, [r2, #0] + 801b0b8: e4f4 b.n 801aaa4 <_dtoa_r+0x4ac> + 801b0ba: 9b06 ldr r3, [sp, #24] + 801b0bc: f80b ac01 strb.w sl, [fp, #-1] + 801b0c0: 455b cmp r3, fp + 801b0c2: d02a beq.n 801b11a <_dtoa_r+0xb22> + 801b0c4: 9901 ldr r1, [sp, #4] + 801b0c6: 2300 movs r3, #0 + 801b0c8: 220a movs r2, #10 + 801b0ca: 4648 mov r0, r9 + 801b0cc: f000 f9d0 bl 801b470 <__multadd> + 801b0d0: 42bc cmp r4, r7 + 801b0d2: 9001 str r0, [sp, #4] + 801b0d4: f04f 0300 mov.w r3, #0 + 801b0d8: f04f 020a mov.w r2, #10 + 801b0dc: 4621 mov r1, r4 + 801b0de: 4648 mov r0, r9 + 801b0e0: d106 bne.n 801b0f0 <_dtoa_r+0xaf8> + 801b0e2: f000 f9c5 bl 801b470 <__multadd> + 801b0e6: 4604 mov r4, r0 + 801b0e8: 4607 mov r7, r0 + 801b0ea: f10b 0b01 add.w fp, fp, #1 + 801b0ee: e775 b.n 801afdc <_dtoa_r+0x9e4> + 801b0f0: f000 f9be bl 801b470 <__multadd> + 801b0f4: 4639 mov r1, r7 + 801b0f6: 4604 mov r4, r0 + 801b0f8: 2300 movs r3, #0 + 801b0fa: 220a movs r2, #10 + 801b0fc: 4648 mov r0, r9 + 801b0fe: f000 f9b7 bl 801b470 <__multadd> + 801b102: 4607 mov r7, r0 + 801b104: e7f1 b.n 801b0ea <_dtoa_r+0xaf2> + 801b106: 9b05 ldr r3, [sp, #20] + 801b108: 1e5e subs r6, r3, #1 + 801b10a: 2b00 cmp r3, #0 + 801b10c: 9b00 ldr r3, [sp, #0] + 801b10e: bfd8 it le + 801b110: 2600 movle r6, #0 + 801b112: 1c5a adds r2, r3, #1 + 801b114: 4627 mov r7, r4 + 801b116: 4416 add r6, r2 + 801b118: 2400 movs r4, #0 + 801b11a: 9901 ldr r1, [sp, #4] + 801b11c: 2201 movs r2, #1 + 801b11e: 4648 mov r0, r9 + 801b120: f000 fb9e bl 801b860 <__lshift> + 801b124: 4629 mov r1, r5 + 801b126: 9001 str r0, [sp, #4] + 801b128: f000 fc08 bl 801b93c <__mcmp> + 801b12c: 2800 cmp r0, #0 + 801b12e: dcb0 bgt.n 801b092 <_dtoa_r+0xa9a> + 801b130: d102 bne.n 801b138 <_dtoa_r+0xb40> + 801b132: f01a 0f01 tst.w sl, #1 + 801b136: d1ac bne.n 801b092 <_dtoa_r+0xa9a> + 801b138: 4633 mov r3, r6 + 801b13a: 461e mov r6, r3 + 801b13c: f813 2d01 ldrb.w r2, [r3, #-1]! + 801b140: 2a30 cmp r2, #48 @ 0x30 + 801b142: d0fa beq.n 801b13a <_dtoa_r+0xb42> + 801b144: e4ae b.n 801aaa4 <_dtoa_r+0x4ac> + 801b146: 9a00 ldr r2, [sp, #0] + 801b148: 429a cmp r2, r3 + 801b14a: d1a3 bne.n 801b094 <_dtoa_r+0xa9c> + 801b14c: 9b02 ldr r3, [sp, #8] + 801b14e: 3301 adds r3, #1 + 801b150: 9302 str r3, [sp, #8] + 801b152: 2331 movs r3, #49 @ 0x31 + 801b154: e7af b.n 801b0b6 <_dtoa_r+0xabe> + 801b156: 9b23 ldr r3, [sp, #140] @ 0x8c + 801b158: 2b00 cmp r3, #0 + 801b15a: f47f aa98 bne.w 801a68e <_dtoa_r+0x96> + 801b15e: 4b13 ldr r3, [pc, #76] @ (801b1ac <_dtoa_r+0xbb4>) + 801b160: f7ff bab7 b.w 801a6d2 <_dtoa_r+0xda> + 801b164: 9b0a ldr r3, [sp, #40] @ 0x28 + 801b166: 2b01 cmp r3, #1 + 801b168: f77f ae2f ble.w 801adca <_dtoa_r+0x7d2> + 801b16c: f8dd a034 ldr.w sl, [sp, #52] @ 0x34 + 801b170: 2001 movs r0, #1 + 801b172: e64e b.n 801ae12 <_dtoa_r+0x81a> + 801b174: 9b05 ldr r3, [sp, #20] + 801b176: 2b00 cmp r3, #0 + 801b178: f77f aed7 ble.w 801af2a <_dtoa_r+0x932> + 801b17c: 9e00 ldr r6, [sp, #0] + 801b17e: 9801 ldr r0, [sp, #4] + 801b180: 4629 mov r1, r5 + 801b182: f7ff f9b1 bl 801a4e8 + 801b186: f100 0a30 add.w sl, r0, #48 @ 0x30 + 801b18a: 9b00 ldr r3, [sp, #0] + 801b18c: f806 ab01 strb.w sl, [r6], #1 + 801b190: 1af2 subs r2, r6, r3 + 801b192: 9b05 ldr r3, [sp, #20] + 801b194: 4293 cmp r3, r2 + 801b196: ddb6 ble.n 801b106 <_dtoa_r+0xb0e> + 801b198: 9901 ldr r1, [sp, #4] + 801b19a: 2300 movs r3, #0 + 801b19c: 220a movs r2, #10 + 801b19e: 4648 mov r0, r9 + 801b1a0: f000 f966 bl 801b470 <__multadd> + 801b1a4: 9001 str r0, [sp, #4] + 801b1a6: e7ea b.n 801b17e <_dtoa_r+0xb86> + 801b1a8: 0801e6c5 .word 0x0801e6c5 + 801b1ac: 0801e649 .word 0x0801e649 -0801ac54 <__s2b>: - 801ac54: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 801ac58: 460c mov r4, r1 - 801ac5a: 4615 mov r5, r2 - 801ac5c: 461f mov r7, r3 - 801ac5e: 2209 movs r2, #9 - 801ac60: 3308 adds r3, #8 - 801ac62: 4606 mov r6, r0 - 801ac64: fb93 f3f2 sdiv r3, r3, r2 - 801ac68: 2100 movs r1, #0 - 801ac6a: 2201 movs r2, #1 - 801ac6c: 429a cmp r2, r3 - 801ac6e: db09 blt.n 801ac84 <__s2b+0x30> - 801ac70: 4630 mov r0, r6 - 801ac72: f7ff ff49 bl 801ab08 <_Balloc> - 801ac76: b940 cbnz r0, 801ac8a <__s2b+0x36> - 801ac78: 4602 mov r2, r0 - 801ac7a: 4b19 ldr r3, [pc, #100] @ (801ace0 <__s2b+0x8c>) - 801ac7c: 4819 ldr r0, [pc, #100] @ (801ace4 <__s2b+0x90>) - 801ac7e: 21d3 movs r1, #211 @ 0xd3 - 801ac80: f001 fe7a bl 801c978 <__assert_func> - 801ac84: 0052 lsls r2, r2, #1 - 801ac86: 3101 adds r1, #1 - 801ac88: e7f0 b.n 801ac6c <__s2b+0x18> - 801ac8a: 9b08 ldr r3, [sp, #32] - 801ac8c: 6143 str r3, [r0, #20] - 801ac8e: 2d09 cmp r5, #9 - 801ac90: f04f 0301 mov.w r3, #1 - 801ac94: 6103 str r3, [r0, #16] - 801ac96: dd16 ble.n 801acc6 <__s2b+0x72> - 801ac98: f104 0809 add.w r8, r4, #9 - 801ac9c: 46c1 mov r9, r8 - 801ac9e: 442c add r4, r5 - 801aca0: f819 3b01 ldrb.w r3, [r9], #1 - 801aca4: 4601 mov r1, r0 - 801aca6: 3b30 subs r3, #48 @ 0x30 - 801aca8: 220a movs r2, #10 - 801acaa: 4630 mov r0, r6 - 801acac: f7ff ff8c bl 801abc8 <__multadd> - 801acb0: 45a1 cmp r9, r4 - 801acb2: d1f5 bne.n 801aca0 <__s2b+0x4c> - 801acb4: 44a8 add r8, r5 - 801acb6: f1a8 0408 sub.w r4, r8, #8 - 801acba: 1b2d subs r5, r5, r4 - 801acbc: 1963 adds r3, r4, r5 - 801acbe: 429f cmp r7, r3 - 801acc0: dc04 bgt.n 801accc <__s2b+0x78> - 801acc2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 801acc6: 340a adds r4, #10 - 801acc8: 2509 movs r5, #9 - 801acca: e7f6 b.n 801acba <__s2b+0x66> - 801accc: f814 3b01 ldrb.w r3, [r4], #1 - 801acd0: 4601 mov r1, r0 - 801acd2: 3b30 subs r3, #48 @ 0x30 - 801acd4: 220a movs r2, #10 - 801acd6: 4630 mov r0, r6 - 801acd8: f7ff ff76 bl 801abc8 <__multadd> - 801acdc: e7ee b.n 801acbc <__s2b+0x68> - 801acde: bf00 nop - 801ace0: 0801dd65 .word 0x0801dd65 - 801ace4: 0801dd76 .word 0x0801dd76 +0801b1b0 <_free_r>: + 801b1b0: b538 push {r3, r4, r5, lr} + 801b1b2: 4605 mov r5, r0 + 801b1b4: 2900 cmp r1, #0 + 801b1b6: d041 beq.n 801b23c <_free_r+0x8c> + 801b1b8: f851 3c04 ldr.w r3, [r1, #-4] + 801b1bc: 1f0c subs r4, r1, #4 + 801b1be: 2b00 cmp r3, #0 + 801b1c0: bfb8 it lt + 801b1c2: 18e4 addlt r4, r4, r3 + 801b1c4: f000 f8e8 bl 801b398 <__malloc_lock> + 801b1c8: 4a1d ldr r2, [pc, #116] @ (801b240 <_free_r+0x90>) + 801b1ca: 6813 ldr r3, [r2, #0] + 801b1cc: b933 cbnz r3, 801b1dc <_free_r+0x2c> + 801b1ce: 6063 str r3, [r4, #4] + 801b1d0: 6014 str r4, [r2, #0] + 801b1d2: 4628 mov r0, r5 + 801b1d4: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} + 801b1d8: f000 b8e4 b.w 801b3a4 <__malloc_unlock> + 801b1dc: 42a3 cmp r3, r4 + 801b1de: d908 bls.n 801b1f2 <_free_r+0x42> + 801b1e0: 6820 ldr r0, [r4, #0] + 801b1e2: 1821 adds r1, r4, r0 + 801b1e4: 428b cmp r3, r1 + 801b1e6: bf01 itttt eq + 801b1e8: 6819 ldreq r1, [r3, #0] + 801b1ea: 685b ldreq r3, [r3, #4] + 801b1ec: 1809 addeq r1, r1, r0 + 801b1ee: 6021 streq r1, [r4, #0] + 801b1f0: e7ed b.n 801b1ce <_free_r+0x1e> + 801b1f2: 461a mov r2, r3 + 801b1f4: 685b ldr r3, [r3, #4] + 801b1f6: b10b cbz r3, 801b1fc <_free_r+0x4c> + 801b1f8: 42a3 cmp r3, r4 + 801b1fa: d9fa bls.n 801b1f2 <_free_r+0x42> + 801b1fc: 6811 ldr r1, [r2, #0] + 801b1fe: 1850 adds r0, r2, r1 + 801b200: 42a0 cmp r0, r4 + 801b202: d10b bne.n 801b21c <_free_r+0x6c> + 801b204: 6820 ldr r0, [r4, #0] + 801b206: 4401 add r1, r0 + 801b208: 1850 adds r0, r2, r1 + 801b20a: 4283 cmp r3, r0 + 801b20c: 6011 str r1, [r2, #0] + 801b20e: d1e0 bne.n 801b1d2 <_free_r+0x22> + 801b210: 6818 ldr r0, [r3, #0] + 801b212: 685b ldr r3, [r3, #4] + 801b214: 6053 str r3, [r2, #4] + 801b216: 4408 add r0, r1 + 801b218: 6010 str r0, [r2, #0] + 801b21a: e7da b.n 801b1d2 <_free_r+0x22> + 801b21c: d902 bls.n 801b224 <_free_r+0x74> + 801b21e: 230c movs r3, #12 + 801b220: 602b str r3, [r5, #0] + 801b222: e7d6 b.n 801b1d2 <_free_r+0x22> + 801b224: 6820 ldr r0, [r4, #0] + 801b226: 1821 adds r1, r4, r0 + 801b228: 428b cmp r3, r1 + 801b22a: bf04 itt eq + 801b22c: 6819 ldreq r1, [r3, #0] + 801b22e: 685b ldreq r3, [r3, #4] + 801b230: 6063 str r3, [r4, #4] + 801b232: bf04 itt eq + 801b234: 1809 addeq r1, r1, r0 + 801b236: 6021 streq r1, [r4, #0] + 801b238: 6054 str r4, [r2, #4] + 801b23a: e7ca b.n 801b1d2 <_free_r+0x22> + 801b23c: bd38 pop {r3, r4, r5, pc} + 801b23e: bf00 nop + 801b240: 20013ce4 .word 0x20013ce4 -0801ace8 <__hi0bits>: - 801ace8: f5b0 3f80 cmp.w r0, #65536 @ 0x10000 - 801acec: 4603 mov r3, r0 - 801acee: bf36 itet cc - 801acf0: 0403 lslcc r3, r0, #16 - 801acf2: 2000 movcs r0, #0 - 801acf4: 2010 movcc r0, #16 - 801acf6: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 - 801acfa: bf3c itt cc - 801acfc: 021b lslcc r3, r3, #8 - 801acfe: 3008 addcc r0, #8 - 801ad00: f1b3 5f80 cmp.w r3, #268435456 @ 0x10000000 - 801ad04: bf3c itt cc - 801ad06: 011b lslcc r3, r3, #4 - 801ad08: 3004 addcc r0, #4 - 801ad0a: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 - 801ad0e: bf3c itt cc - 801ad10: 009b lslcc r3, r3, #2 - 801ad12: 3002 addcc r0, #2 - 801ad14: 2b00 cmp r3, #0 - 801ad16: db05 blt.n 801ad24 <__hi0bits+0x3c> - 801ad18: f013 4f80 tst.w r3, #1073741824 @ 0x40000000 - 801ad1c: f100 0001 add.w r0, r0, #1 - 801ad20: bf08 it eq - 801ad22: 2020 moveq r0, #32 - 801ad24: 4770 bx lr +0801b244 : + 801b244: 4b02 ldr r3, [pc, #8] @ (801b250 ) + 801b246: 4601 mov r1, r0 + 801b248: 6818 ldr r0, [r3, #0] + 801b24a: f000 b825 b.w 801b298 <_malloc_r> + 801b24e: bf00 nop + 801b250: 2000011c .word 0x2000011c -0801ad26 <__lo0bits>: - 801ad26: 6803 ldr r3, [r0, #0] - 801ad28: 4602 mov r2, r0 - 801ad2a: f013 0007 ands.w r0, r3, #7 - 801ad2e: d00b beq.n 801ad48 <__lo0bits+0x22> - 801ad30: 07d9 lsls r1, r3, #31 - 801ad32: d421 bmi.n 801ad78 <__lo0bits+0x52> - 801ad34: 0798 lsls r0, r3, #30 - 801ad36: bf49 itett mi - 801ad38: 085b lsrmi r3, r3, #1 - 801ad3a: 089b lsrpl r3, r3, #2 - 801ad3c: 2001 movmi r0, #1 - 801ad3e: 6013 strmi r3, [r2, #0] - 801ad40: bf5c itt pl - 801ad42: 6013 strpl r3, [r2, #0] - 801ad44: 2002 movpl r0, #2 - 801ad46: 4770 bx lr - 801ad48: b299 uxth r1, r3 - 801ad4a: b909 cbnz r1, 801ad50 <__lo0bits+0x2a> - 801ad4c: 0c1b lsrs r3, r3, #16 - 801ad4e: 2010 movs r0, #16 - 801ad50: b2d9 uxtb r1, r3 - 801ad52: b909 cbnz r1, 801ad58 <__lo0bits+0x32> - 801ad54: 3008 adds r0, #8 - 801ad56: 0a1b lsrs r3, r3, #8 - 801ad58: 0719 lsls r1, r3, #28 - 801ad5a: bf04 itt eq - 801ad5c: 091b lsreq r3, r3, #4 - 801ad5e: 3004 addeq r0, #4 - 801ad60: 0799 lsls r1, r3, #30 - 801ad62: bf04 itt eq - 801ad64: 089b lsreq r3, r3, #2 - 801ad66: 3002 addeq r0, #2 - 801ad68: 07d9 lsls r1, r3, #31 - 801ad6a: d403 bmi.n 801ad74 <__lo0bits+0x4e> - 801ad6c: 085b lsrs r3, r3, #1 - 801ad6e: f100 0001 add.w r0, r0, #1 - 801ad72: d003 beq.n 801ad7c <__lo0bits+0x56> - 801ad74: 6013 str r3, [r2, #0] - 801ad76: 4770 bx lr - 801ad78: 2000 movs r0, #0 - 801ad7a: 4770 bx lr - 801ad7c: 2020 movs r0, #32 - 801ad7e: 4770 bx lr +0801b254 : + 801b254: b570 push {r4, r5, r6, lr} + 801b256: 4e0f ldr r6, [pc, #60] @ (801b294 ) + 801b258: 460c mov r4, r1 + 801b25a: 6831 ldr r1, [r6, #0] + 801b25c: 4605 mov r5, r0 + 801b25e: b911 cbnz r1, 801b266 + 801b260: f001 ffda bl 801d218 <_sbrk_r> + 801b264: 6030 str r0, [r6, #0] + 801b266: 4621 mov r1, r4 + 801b268: 4628 mov r0, r5 + 801b26a: f001 ffd5 bl 801d218 <_sbrk_r> + 801b26e: 1c43 adds r3, r0, #1 + 801b270: d103 bne.n 801b27a + 801b272: f04f 34ff mov.w r4, #4294967295 @ 0xffffffff + 801b276: 4620 mov r0, r4 + 801b278: bd70 pop {r4, r5, r6, pc} + 801b27a: 1cc4 adds r4, r0, #3 + 801b27c: f024 0403 bic.w r4, r4, #3 + 801b280: 42a0 cmp r0, r4 + 801b282: d0f8 beq.n 801b276 + 801b284: 1a21 subs r1, r4, r0 + 801b286: 4628 mov r0, r5 + 801b288: f001 ffc6 bl 801d218 <_sbrk_r> + 801b28c: 3001 adds r0, #1 + 801b28e: d1f2 bne.n 801b276 + 801b290: e7ef b.n 801b272 + 801b292: bf00 nop + 801b294: 20013ce0 .word 0x20013ce0 -0801ad80 <__i2b>: - 801ad80: b510 push {r4, lr} - 801ad82: 460c mov r4, r1 - 801ad84: 2101 movs r1, #1 - 801ad86: f7ff febf bl 801ab08 <_Balloc> - 801ad8a: 4602 mov r2, r0 - 801ad8c: b928 cbnz r0, 801ad9a <__i2b+0x1a> - 801ad8e: 4b05 ldr r3, [pc, #20] @ (801ada4 <__i2b+0x24>) - 801ad90: 4805 ldr r0, [pc, #20] @ (801ada8 <__i2b+0x28>) - 801ad92: f240 1145 movw r1, #325 @ 0x145 - 801ad96: f001 fdef bl 801c978 <__assert_func> - 801ad9a: 2301 movs r3, #1 - 801ad9c: 6144 str r4, [r0, #20] - 801ad9e: 6103 str r3, [r0, #16] - 801ada0: bd10 pop {r4, pc} - 801ada2: bf00 nop - 801ada4: 0801dd65 .word 0x0801dd65 - 801ada8: 0801dd76 .word 0x0801dd76 +0801b298 <_malloc_r>: + 801b298: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 801b29c: 1ccd adds r5, r1, #3 + 801b29e: f025 0503 bic.w r5, r5, #3 + 801b2a2: 3508 adds r5, #8 + 801b2a4: 2d0c cmp r5, #12 + 801b2a6: bf38 it cc + 801b2a8: 250c movcc r5, #12 + 801b2aa: 2d00 cmp r5, #0 + 801b2ac: 4606 mov r6, r0 + 801b2ae: db01 blt.n 801b2b4 <_malloc_r+0x1c> + 801b2b0: 42a9 cmp r1, r5 + 801b2b2: d904 bls.n 801b2be <_malloc_r+0x26> + 801b2b4: 230c movs r3, #12 + 801b2b6: 6033 str r3, [r6, #0] + 801b2b8: 2000 movs r0, #0 + 801b2ba: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 801b2be: f8df 80d4 ldr.w r8, [pc, #212] @ 801b394 <_malloc_r+0xfc> + 801b2c2: f000 f869 bl 801b398 <__malloc_lock> + 801b2c6: f8d8 3000 ldr.w r3, [r8] + 801b2ca: 461c mov r4, r3 + 801b2cc: bb44 cbnz r4, 801b320 <_malloc_r+0x88> + 801b2ce: 4629 mov r1, r5 + 801b2d0: 4630 mov r0, r6 + 801b2d2: f7ff ffbf bl 801b254 + 801b2d6: 1c43 adds r3, r0, #1 + 801b2d8: 4604 mov r4, r0 + 801b2da: d158 bne.n 801b38e <_malloc_r+0xf6> + 801b2dc: f8d8 4000 ldr.w r4, [r8] + 801b2e0: 4627 mov r7, r4 + 801b2e2: 2f00 cmp r7, #0 + 801b2e4: d143 bne.n 801b36e <_malloc_r+0xd6> + 801b2e6: 2c00 cmp r4, #0 + 801b2e8: d04b beq.n 801b382 <_malloc_r+0xea> + 801b2ea: 6823 ldr r3, [r4, #0] + 801b2ec: 4639 mov r1, r7 + 801b2ee: 4630 mov r0, r6 + 801b2f0: eb04 0903 add.w r9, r4, r3 + 801b2f4: f001 ff90 bl 801d218 <_sbrk_r> + 801b2f8: 4581 cmp r9, r0 + 801b2fa: d142 bne.n 801b382 <_malloc_r+0xea> + 801b2fc: 6821 ldr r1, [r4, #0] + 801b2fe: 1a6d subs r5, r5, r1 + 801b300: 4629 mov r1, r5 + 801b302: 4630 mov r0, r6 + 801b304: f7ff ffa6 bl 801b254 + 801b308: 3001 adds r0, #1 + 801b30a: d03a beq.n 801b382 <_malloc_r+0xea> + 801b30c: 6823 ldr r3, [r4, #0] + 801b30e: 442b add r3, r5 + 801b310: 6023 str r3, [r4, #0] + 801b312: f8d8 3000 ldr.w r3, [r8] + 801b316: 685a ldr r2, [r3, #4] + 801b318: bb62 cbnz r2, 801b374 <_malloc_r+0xdc> + 801b31a: f8c8 7000 str.w r7, [r8] + 801b31e: e00f b.n 801b340 <_malloc_r+0xa8> + 801b320: 6822 ldr r2, [r4, #0] + 801b322: 1b52 subs r2, r2, r5 + 801b324: d420 bmi.n 801b368 <_malloc_r+0xd0> + 801b326: 2a0b cmp r2, #11 + 801b328: d917 bls.n 801b35a <_malloc_r+0xc2> + 801b32a: 1961 adds r1, r4, r5 + 801b32c: 42a3 cmp r3, r4 + 801b32e: 6025 str r5, [r4, #0] + 801b330: bf18 it ne + 801b332: 6059 strne r1, [r3, #4] + 801b334: 6863 ldr r3, [r4, #4] + 801b336: bf08 it eq + 801b338: f8c8 1000 streq.w r1, [r8] + 801b33c: 5162 str r2, [r4, r5] + 801b33e: 604b str r3, [r1, #4] + 801b340: 4630 mov r0, r6 + 801b342: f000 f82f bl 801b3a4 <__malloc_unlock> + 801b346: f104 000b add.w r0, r4, #11 + 801b34a: 1d23 adds r3, r4, #4 + 801b34c: f020 0007 bic.w r0, r0, #7 + 801b350: 1ac2 subs r2, r0, r3 + 801b352: bf1c itt ne + 801b354: 1a1b subne r3, r3, r0 + 801b356: 50a3 strne r3, [r4, r2] + 801b358: e7af b.n 801b2ba <_malloc_r+0x22> + 801b35a: 6862 ldr r2, [r4, #4] + 801b35c: 42a3 cmp r3, r4 + 801b35e: bf0c ite eq + 801b360: f8c8 2000 streq.w r2, [r8] + 801b364: 605a strne r2, [r3, #4] + 801b366: e7eb b.n 801b340 <_malloc_r+0xa8> + 801b368: 4623 mov r3, r4 + 801b36a: 6864 ldr r4, [r4, #4] + 801b36c: e7ae b.n 801b2cc <_malloc_r+0x34> + 801b36e: 463c mov r4, r7 + 801b370: 687f ldr r7, [r7, #4] + 801b372: e7b6 b.n 801b2e2 <_malloc_r+0x4a> + 801b374: 461a mov r2, r3 + 801b376: 685b ldr r3, [r3, #4] + 801b378: 42a3 cmp r3, r4 + 801b37a: d1fb bne.n 801b374 <_malloc_r+0xdc> + 801b37c: 2300 movs r3, #0 + 801b37e: 6053 str r3, [r2, #4] + 801b380: e7de b.n 801b340 <_malloc_r+0xa8> + 801b382: 230c movs r3, #12 + 801b384: 6033 str r3, [r6, #0] + 801b386: 4630 mov r0, r6 + 801b388: f000 f80c bl 801b3a4 <__malloc_unlock> + 801b38c: e794 b.n 801b2b8 <_malloc_r+0x20> + 801b38e: 6005 str r5, [r0, #0] + 801b390: e7d6 b.n 801b340 <_malloc_r+0xa8> + 801b392: bf00 nop + 801b394: 20013ce4 .word 0x20013ce4 -0801adac <__multiply>: - 801adac: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801adb0: f8d1 9010 ldr.w r9, [r1, #16] - 801adb4: f8d2 a010 ldr.w sl, [r2, #16] - 801adb8: 45d1 cmp r9, sl - 801adba: b085 sub sp, #20 - 801adbc: 4688 mov r8, r1 - 801adbe: 4614 mov r4, r2 - 801adc0: db04 blt.n 801adcc <__multiply+0x20> - 801adc2: 4653 mov r3, sl - 801adc4: 460c mov r4, r1 - 801adc6: 46ca mov sl, r9 - 801adc8: 4690 mov r8, r2 - 801adca: 4699 mov r9, r3 - 801adcc: 68a3 ldr r3, [r4, #8] - 801adce: 6861 ldr r1, [r4, #4] - 801add0: eb0a 0609 add.w r6, sl, r9 - 801add4: 42b3 cmp r3, r6 - 801add6: bfb8 it lt - 801add8: 3101 addlt r1, #1 - 801adda: f7ff fe95 bl 801ab08 <_Balloc> - 801adde: b930 cbnz r0, 801adee <__multiply+0x42> - 801ade0: 4602 mov r2, r0 - 801ade2: 4b45 ldr r3, [pc, #276] @ (801aef8 <__multiply+0x14c>) - 801ade4: 4845 ldr r0, [pc, #276] @ (801aefc <__multiply+0x150>) - 801ade6: f44f 71b1 mov.w r1, #354 @ 0x162 - 801adea: f001 fdc5 bl 801c978 <__assert_func> - 801adee: f100 0514 add.w r5, r0, #20 - 801adf2: eb05 0786 add.w r7, r5, r6, lsl #2 - 801adf6: 462b mov r3, r5 - 801adf8: 2200 movs r2, #0 - 801adfa: 42bb cmp r3, r7 - 801adfc: d31f bcc.n 801ae3e <__multiply+0x92> - 801adfe: f104 0c14 add.w ip, r4, #20 - 801ae02: f108 0114 add.w r1, r8, #20 - 801ae06: eb0c 038a add.w r3, ip, sl, lsl #2 - 801ae0a: eb01 0289 add.w r2, r1, r9, lsl #2 - 801ae0e: 9202 str r2, [sp, #8] - 801ae10: 1b1a subs r2, r3, r4 - 801ae12: 3a15 subs r2, #21 - 801ae14: f022 0203 bic.w r2, r2, #3 - 801ae18: 3415 adds r4, #21 - 801ae1a: 429c cmp r4, r3 - 801ae1c: bf88 it hi - 801ae1e: 2200 movhi r2, #0 - 801ae20: 9201 str r2, [sp, #4] - 801ae22: 9a02 ldr r2, [sp, #8] - 801ae24: 9103 str r1, [sp, #12] - 801ae26: 428a cmp r2, r1 - 801ae28: d80c bhi.n 801ae44 <__multiply+0x98> - 801ae2a: 2e00 cmp r6, #0 - 801ae2c: dd03 ble.n 801ae36 <__multiply+0x8a> - 801ae2e: f857 3d04 ldr.w r3, [r7, #-4]! - 801ae32: 2b00 cmp r3, #0 - 801ae34: d05d beq.n 801aef2 <__multiply+0x146> - 801ae36: 6106 str r6, [r0, #16] - 801ae38: b005 add sp, #20 - 801ae3a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 801ae3e: f843 2b04 str.w r2, [r3], #4 - 801ae42: e7da b.n 801adfa <__multiply+0x4e> - 801ae44: f8b1 a000 ldrh.w sl, [r1] - 801ae48: f1ba 0f00 cmp.w sl, #0 - 801ae4c: d024 beq.n 801ae98 <__multiply+0xec> - 801ae4e: 46e0 mov r8, ip - 801ae50: 46a9 mov r9, r5 - 801ae52: f04f 0e00 mov.w lr, #0 - 801ae56: f858 2b04 ldr.w r2, [r8], #4 - 801ae5a: f8d9 4000 ldr.w r4, [r9] - 801ae5e: fa1f fb82 uxth.w fp, r2 - 801ae62: b2a4 uxth r4, r4 - 801ae64: fb0a 440b mla r4, sl, fp, r4 - 801ae68: ea4f 4b12 mov.w fp, r2, lsr #16 - 801ae6c: f8d9 2000 ldr.w r2, [r9] - 801ae70: 4474 add r4, lr - 801ae72: ea4f 4e12 mov.w lr, r2, lsr #16 - 801ae76: fb0a e20b mla r2, sl, fp, lr - 801ae7a: eb02 4214 add.w r2, r2, r4, lsr #16 - 801ae7e: b2a4 uxth r4, r4 - 801ae80: ea44 4402 orr.w r4, r4, r2, lsl #16 - 801ae84: 4543 cmp r3, r8 - 801ae86: f849 4b04 str.w r4, [r9], #4 - 801ae8a: ea4f 4e12 mov.w lr, r2, lsr #16 - 801ae8e: d8e2 bhi.n 801ae56 <__multiply+0xaa> - 801ae90: 9a01 ldr r2, [sp, #4] - 801ae92: 18aa adds r2, r5, r2 - 801ae94: f8c2 e004 str.w lr, [r2, #4] - 801ae98: 9a03 ldr r2, [sp, #12] - 801ae9a: f8b2 8002 ldrh.w r8, [r2, #2] - 801ae9e: 3104 adds r1, #4 - 801aea0: f1b8 0f00 cmp.w r8, #0 - 801aea4: d023 beq.n 801aeee <__multiply+0x142> - 801aea6: 682a ldr r2, [r5, #0] - 801aea8: 46e6 mov lr, ip - 801aeaa: 4691 mov r9, r2 - 801aeac: 46aa mov sl, r5 - 801aeae: f04f 0b00 mov.w fp, #0 - 801aeb2: f8be 4000 ldrh.w r4, [lr] - 801aeb6: fb08 b404 mla r4, r8, r4, fp - 801aeba: eb04 4419 add.w r4, r4, r9, lsr #16 - 801aebe: b292 uxth r2, r2 - 801aec0: ea42 4204 orr.w r2, r2, r4, lsl #16 - 801aec4: f84a 2b04 str.w r2, [sl], #4 - 801aec8: f85e 2b04 ldr.w r2, [lr], #4 - 801aecc: f8da 9000 ldr.w r9, [sl] - 801aed0: ea4f 4b12 mov.w fp, r2, lsr #16 - 801aed4: fa1f f289 uxth.w r2, r9 - 801aed8: fb08 220b mla r2, r8, fp, r2 - 801aedc: eb02 4214 add.w r2, r2, r4, lsr #16 - 801aee0: 4573 cmp r3, lr - 801aee2: ea4f 4b12 mov.w fp, r2, lsr #16 - 801aee6: d8e4 bhi.n 801aeb2 <__multiply+0x106> - 801aee8: 9c01 ldr r4, [sp, #4] - 801aeea: 192c adds r4, r5, r4 - 801aeec: 6062 str r2, [r4, #4] - 801aeee: 3504 adds r5, #4 - 801aef0: e797 b.n 801ae22 <__multiply+0x76> - 801aef2: 3e01 subs r6, #1 - 801aef4: e799 b.n 801ae2a <__multiply+0x7e> - 801aef6: bf00 nop - 801aef8: 0801dd65 .word 0x0801dd65 - 801aefc: 0801dd76 .word 0x0801dd76 +0801b398 <__malloc_lock>: + 801b398: 4801 ldr r0, [pc, #4] @ (801b3a0 <__malloc_lock+0x8>) + 801b39a: f7ff b88e b.w 801a4ba <__retarget_lock_acquire_recursive> + 801b39e: bf00 nop + 801b3a0: 20013cdc .word 0x20013cdc -0801af00 <__pow5mult>: - 801af00: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 801af04: 4617 mov r7, r2 - 801af06: f012 0203 ands.w r2, r2, #3 - 801af0a: 4680 mov r8, r0 - 801af0c: 460d mov r5, r1 - 801af0e: d007 beq.n 801af20 <__pow5mult+0x20> - 801af10: 4c26 ldr r4, [pc, #152] @ (801afac <__pow5mult+0xac>) - 801af12: 3a01 subs r2, #1 - 801af14: 2300 movs r3, #0 - 801af16: f854 2022 ldr.w r2, [r4, r2, lsl #2] - 801af1a: f7ff fe55 bl 801abc8 <__multadd> - 801af1e: 4605 mov r5, r0 - 801af20: 10bf asrs r7, r7, #2 - 801af22: d03f beq.n 801afa4 <__pow5mult+0xa4> - 801af24: f8d8 401c ldr.w r4, [r8, #28] - 801af28: b994 cbnz r4, 801af50 <__pow5mult+0x50> - 801af2a: 2010 movs r0, #16 - 801af2c: f7ff fd36 bl 801a99c - 801af30: 4604 mov r4, r0 - 801af32: f8c8 001c str.w r0, [r8, #28] - 801af36: b930 cbnz r0, 801af46 <__pow5mult+0x46> - 801af38: 4602 mov r2, r0 - 801af3a: 4b1d ldr r3, [pc, #116] @ (801afb0 <__pow5mult+0xb0>) - 801af3c: 481d ldr r0, [pc, #116] @ (801afb4 <__pow5mult+0xb4>) - 801af3e: f240 11b3 movw r1, #435 @ 0x1b3 - 801af42: f001 fd19 bl 801c978 <__assert_func> - 801af46: 2300 movs r3, #0 - 801af48: e9c0 3301 strd r3, r3, [r0, #4] - 801af4c: 6003 str r3, [r0, #0] - 801af4e: 60c3 str r3, [r0, #12] - 801af50: 68a6 ldr r6, [r4, #8] - 801af52: b946 cbnz r6, 801af66 <__pow5mult+0x66> - 801af54: f240 2171 movw r1, #625 @ 0x271 - 801af58: 4640 mov r0, r8 - 801af5a: f7ff ff11 bl 801ad80 <__i2b> - 801af5e: 2300 movs r3, #0 - 801af60: 60a0 str r0, [r4, #8] - 801af62: 4606 mov r6, r0 - 801af64: 6003 str r3, [r0, #0] - 801af66: 462c mov r4, r5 - 801af68: f04f 0900 mov.w r9, #0 - 801af6c: f007 0301 and.w r3, r7, #1 - 801af70: 107f asrs r7, r7, #1 - 801af72: b153 cbz r3, 801af8a <__pow5mult+0x8a> - 801af74: 4629 mov r1, r5 - 801af76: 4632 mov r2, r6 - 801af78: 4640 mov r0, r8 - 801af7a: f7ff ff17 bl 801adac <__multiply> - 801af7e: 4621 mov r1, r4 - 801af80: 4605 mov r5, r0 - 801af82: 4640 mov r0, r8 - 801af84: f7ff fdfe bl 801ab84 <_Bfree> - 801af88: b167 cbz r7, 801afa4 <__pow5mult+0xa4> - 801af8a: 6830 ldr r0, [r6, #0] - 801af8c: b938 cbnz r0, 801af9e <__pow5mult+0x9e> - 801af8e: 4632 mov r2, r6 - 801af90: 4631 mov r1, r6 - 801af92: 4640 mov r0, r8 - 801af94: f7ff ff0a bl 801adac <__multiply> - 801af98: 6030 str r0, [r6, #0] - 801af9a: f8c0 9000 str.w r9, [r0] - 801af9e: 4606 mov r6, r0 - 801afa0: 462c mov r4, r5 - 801afa2: e7e3 b.n 801af6c <__pow5mult+0x6c> - 801afa4: 4628 mov r0, r5 - 801afa6: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 801afaa: bf00 nop - 801afac: 0801de88 .word 0x0801de88 - 801afb0: 0801dcf6 .word 0x0801dcf6 - 801afb4: 0801dd76 .word 0x0801dd76 +0801b3a4 <__malloc_unlock>: + 801b3a4: 4801 ldr r0, [pc, #4] @ (801b3ac <__malloc_unlock+0x8>) + 801b3a6: f7ff b889 b.w 801a4bc <__retarget_lock_release_recursive> + 801b3aa: bf00 nop + 801b3ac: 20013cdc .word 0x20013cdc -0801afb8 <__lshift>: - 801afb8: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801afbc: 460c mov r4, r1 - 801afbe: 6849 ldr r1, [r1, #4] - 801afc0: 6923 ldr r3, [r4, #16] - 801afc2: eb03 1862 add.w r8, r3, r2, asr #5 - 801afc6: 68a3 ldr r3, [r4, #8] - 801afc8: 4607 mov r7, r0 - 801afca: 4615 mov r5, r2 - 801afcc: ea4f 1a62 mov.w sl, r2, asr #5 - 801afd0: f108 0901 add.w r9, r8, #1 - 801afd4: 454b cmp r3, r9 - 801afd6: db0b blt.n 801aff0 <__lshift+0x38> - 801afd8: 4638 mov r0, r7 - 801afda: f7ff fd95 bl 801ab08 <_Balloc> - 801afde: 4606 mov r6, r0 - 801afe0: b948 cbnz r0, 801aff6 <__lshift+0x3e> - 801afe2: 4602 mov r2, r0 - 801afe4: 4b29 ldr r3, [pc, #164] @ (801b08c <__lshift+0xd4>) - 801afe6: 482a ldr r0, [pc, #168] @ (801b090 <__lshift+0xd8>) - 801afe8: f44f 71ef mov.w r1, #478 @ 0x1de - 801afec: f001 fcc4 bl 801c978 <__assert_func> - 801aff0: 3101 adds r1, #1 - 801aff2: 005b lsls r3, r3, #1 - 801aff4: e7ee b.n 801afd4 <__lshift+0x1c> - 801aff6: 2300 movs r3, #0 - 801aff8: f100 0c14 add.w ip, r0, #20 - 801affc: f100 0210 add.w r2, r0, #16 - 801b000: 4619 mov r1, r3 - 801b002: 4553 cmp r3, sl - 801b004: db35 blt.n 801b072 <__lshift+0xba> - 801b006: 6922 ldr r2, [r4, #16] - 801b008: ea2a 7aea bic.w sl, sl, sl, asr #31 - 801b00c: eb0c 0c8a add.w ip, ip, sl, lsl #2 - 801b010: f104 0314 add.w r3, r4, #20 - 801b014: f015 0e1f ands.w lr, r5, #31 - 801b018: 4661 mov r1, ip - 801b01a: eb03 0282 add.w r2, r3, r2, lsl #2 - 801b01e: d02c beq.n 801b07a <__lshift+0xc2> - 801b020: f1ce 0a20 rsb sl, lr, #32 - 801b024: 2500 movs r5, #0 - 801b026: 6818 ldr r0, [r3, #0] - 801b028: 468b mov fp, r1 - 801b02a: fa00 f00e lsl.w r0, r0, lr - 801b02e: 4328 orrs r0, r5 - 801b030: f8cb 0000 str.w r0, [fp] - 801b034: f853 5b04 ldr.w r5, [r3], #4 - 801b038: 429a cmp r2, r3 - 801b03a: f101 0104 add.w r1, r1, #4 - 801b03e: fa25 f50a lsr.w r5, r5, sl - 801b042: d8f0 bhi.n 801b026 <__lshift+0x6e> - 801b044: 1b13 subs r3, r2, r4 - 801b046: 3b15 subs r3, #21 - 801b048: f023 0303 bic.w r3, r3, #3 - 801b04c: f104 0115 add.w r1, r4, #21 - 801b050: 428a cmp r2, r1 - 801b052: bf38 it cc - 801b054: 2300 movcc r3, #0 - 801b056: 449c add ip, r3 - 801b058: f8cc 5004 str.w r5, [ip, #4] - 801b05c: b905 cbnz r5, 801b060 <__lshift+0xa8> - 801b05e: 46c1 mov r9, r8 - 801b060: 4638 mov r0, r7 - 801b062: f8c6 9010 str.w r9, [r6, #16] - 801b066: 4621 mov r1, r4 - 801b068: f7ff fd8c bl 801ab84 <_Bfree> - 801b06c: 4630 mov r0, r6 - 801b06e: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 801b072: f842 1f04 str.w r1, [r2, #4]! - 801b076: 3301 adds r3, #1 - 801b078: e7c3 b.n 801b002 <__lshift+0x4a> - 801b07a: f853 5b04 ldr.w r5, [r3], #4 - 801b07e: 600d str r5, [r1, #0] - 801b080: 429a cmp r2, r3 - 801b082: f101 0104 add.w r1, r1, #4 - 801b086: d8f8 bhi.n 801b07a <__lshift+0xc2> - 801b088: e7e9 b.n 801b05e <__lshift+0xa6> - 801b08a: bf00 nop - 801b08c: 0801dd65 .word 0x0801dd65 - 801b090: 0801dd76 .word 0x0801dd76 +0801b3b0 <_Balloc>: + 801b3b0: b570 push {r4, r5, r6, lr} + 801b3b2: 69c4 ldr r4, [r0, #28] + 801b3b4: 4605 mov r5, r0 + 801b3b6: 460e mov r6, r1 + 801b3b8: b984 cbnz r4, 801b3dc <_Balloc+0x2c> + 801b3ba: 2010 movs r0, #16 + 801b3bc: f7ff ff42 bl 801b244 + 801b3c0: 4604 mov r4, r0 + 801b3c2: 61e8 str r0, [r5, #28] + 801b3c4: b928 cbnz r0, 801b3d2 <_Balloc+0x22> + 801b3c6: 4602 mov r2, r0 + 801b3c8: 4b16 ldr r3, [pc, #88] @ (801b424 <_Balloc+0x74>) + 801b3ca: 4817 ldr r0, [pc, #92] @ (801b428 <_Balloc+0x78>) + 801b3cc: 216b movs r1, #107 @ 0x6b + 801b3ce: f001 ff3b bl 801d248 <__assert_func> + 801b3d2: 2300 movs r3, #0 + 801b3d4: e9c0 3301 strd r3, r3, [r0, #4] + 801b3d8: 6003 str r3, [r0, #0] + 801b3da: 60c3 str r3, [r0, #12] + 801b3dc: 68e3 ldr r3, [r4, #12] + 801b3de: b953 cbnz r3, 801b3f6 <_Balloc+0x46> + 801b3e0: 2221 movs r2, #33 @ 0x21 + 801b3e2: 2104 movs r1, #4 + 801b3e4: 4628 mov r0, r5 + 801b3e6: f001 ff4d bl 801d284 <_calloc_r> + 801b3ea: 69eb ldr r3, [r5, #28] + 801b3ec: 60e0 str r0, [r4, #12] + 801b3ee: 68db ldr r3, [r3, #12] + 801b3f0: b90b cbnz r3, 801b3f6 <_Balloc+0x46> + 801b3f2: 2000 movs r0, #0 + 801b3f4: bd70 pop {r4, r5, r6, pc} + 801b3f6: f853 0026 ldr.w r0, [r3, r6, lsl #2] + 801b3fa: b130 cbz r0, 801b40a <_Balloc+0x5a> + 801b3fc: 6802 ldr r2, [r0, #0] + 801b3fe: f843 2026 str.w r2, [r3, r6, lsl #2] + 801b402: 2300 movs r3, #0 + 801b404: e9c0 3303 strd r3, r3, [r0, #12] + 801b408: e7f4 b.n 801b3f4 <_Balloc+0x44> + 801b40a: 2101 movs r1, #1 + 801b40c: fa01 f406 lsl.w r4, r1, r6 + 801b410: 1d62 adds r2, r4, #5 + 801b412: 0092 lsls r2, r2, #2 + 801b414: 4628 mov r0, r5 + 801b416: f001 ff35 bl 801d284 <_calloc_r> + 801b41a: 2800 cmp r0, #0 + 801b41c: d0e9 beq.n 801b3f2 <_Balloc+0x42> + 801b41e: e9c0 6401 strd r6, r4, [r0, #4] + 801b422: e7ee b.n 801b402 <_Balloc+0x52> + 801b424: 0801e656 .word 0x0801e656 + 801b428: 0801e6d6 .word 0x0801e6d6 -0801b094 <__mcmp>: - 801b094: 690a ldr r2, [r1, #16] - 801b096: 4603 mov r3, r0 - 801b098: 6900 ldr r0, [r0, #16] - 801b09a: 1a80 subs r0, r0, r2 - 801b09c: b530 push {r4, r5, lr} - 801b09e: d10e bne.n 801b0be <__mcmp+0x2a> - 801b0a0: 3314 adds r3, #20 - 801b0a2: 3114 adds r1, #20 - 801b0a4: eb03 0482 add.w r4, r3, r2, lsl #2 - 801b0a8: eb01 0182 add.w r1, r1, r2, lsl #2 - 801b0ac: f854 5d04 ldr.w r5, [r4, #-4]! - 801b0b0: f851 2d04 ldr.w r2, [r1, #-4]! - 801b0b4: 4295 cmp r5, r2 - 801b0b6: d003 beq.n 801b0c0 <__mcmp+0x2c> - 801b0b8: d205 bcs.n 801b0c6 <__mcmp+0x32> - 801b0ba: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 801b0be: bd30 pop {r4, r5, pc} - 801b0c0: 42a3 cmp r3, r4 - 801b0c2: d3f3 bcc.n 801b0ac <__mcmp+0x18> - 801b0c4: e7fb b.n 801b0be <__mcmp+0x2a> - 801b0c6: 2001 movs r0, #1 - 801b0c8: e7f9 b.n 801b0be <__mcmp+0x2a> +0801b42c <_Bfree>: + 801b42c: b570 push {r4, r5, r6, lr} + 801b42e: 69c6 ldr r6, [r0, #28] + 801b430: 4605 mov r5, r0 + 801b432: 460c mov r4, r1 + 801b434: b976 cbnz r6, 801b454 <_Bfree+0x28> + 801b436: 2010 movs r0, #16 + 801b438: f7ff ff04 bl 801b244 + 801b43c: 4602 mov r2, r0 + 801b43e: 61e8 str r0, [r5, #28] + 801b440: b920 cbnz r0, 801b44c <_Bfree+0x20> + 801b442: 4b09 ldr r3, [pc, #36] @ (801b468 <_Bfree+0x3c>) + 801b444: 4809 ldr r0, [pc, #36] @ (801b46c <_Bfree+0x40>) + 801b446: 218f movs r1, #143 @ 0x8f + 801b448: f001 fefe bl 801d248 <__assert_func> + 801b44c: e9c0 6601 strd r6, r6, [r0, #4] + 801b450: 6006 str r6, [r0, #0] + 801b452: 60c6 str r6, [r0, #12] + 801b454: b13c cbz r4, 801b466 <_Bfree+0x3a> + 801b456: 69eb ldr r3, [r5, #28] + 801b458: 6862 ldr r2, [r4, #4] + 801b45a: 68db ldr r3, [r3, #12] + 801b45c: f853 1022 ldr.w r1, [r3, r2, lsl #2] + 801b460: 6021 str r1, [r4, #0] + 801b462: f843 4022 str.w r4, [r3, r2, lsl #2] + 801b466: bd70 pop {r4, r5, r6, pc} + 801b468: 0801e656 .word 0x0801e656 + 801b46c: 0801e6d6 .word 0x0801e6d6 + +0801b470 <__multadd>: + 801b470: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 801b474: 690d ldr r5, [r1, #16] + 801b476: 4607 mov r7, r0 + 801b478: 460c mov r4, r1 + 801b47a: 461e mov r6, r3 + 801b47c: f101 0c14 add.w ip, r1, #20 + 801b480: 2000 movs r0, #0 + 801b482: f8dc 3000 ldr.w r3, [ip] + 801b486: b299 uxth r1, r3 + 801b488: fb02 6101 mla r1, r2, r1, r6 + 801b48c: 0c1e lsrs r6, r3, #16 + 801b48e: 0c0b lsrs r3, r1, #16 + 801b490: fb02 3306 mla r3, r2, r6, r3 + 801b494: b289 uxth r1, r1 + 801b496: 3001 adds r0, #1 + 801b498: eb01 4103 add.w r1, r1, r3, lsl #16 + 801b49c: 4285 cmp r5, r0 + 801b49e: f84c 1b04 str.w r1, [ip], #4 + 801b4a2: ea4f 4613 mov.w r6, r3, lsr #16 + 801b4a6: dcec bgt.n 801b482 <__multadd+0x12> + 801b4a8: b30e cbz r6, 801b4ee <__multadd+0x7e> + 801b4aa: 68a3 ldr r3, [r4, #8] + 801b4ac: 42ab cmp r3, r5 + 801b4ae: dc19 bgt.n 801b4e4 <__multadd+0x74> + 801b4b0: 6861 ldr r1, [r4, #4] + 801b4b2: 4638 mov r0, r7 + 801b4b4: 3101 adds r1, #1 + 801b4b6: f7ff ff7b bl 801b3b0 <_Balloc> + 801b4ba: 4680 mov r8, r0 + 801b4bc: b928 cbnz r0, 801b4ca <__multadd+0x5a> + 801b4be: 4602 mov r2, r0 + 801b4c0: 4b0c ldr r3, [pc, #48] @ (801b4f4 <__multadd+0x84>) + 801b4c2: 480d ldr r0, [pc, #52] @ (801b4f8 <__multadd+0x88>) + 801b4c4: 21ba movs r1, #186 @ 0xba + 801b4c6: f001 febf bl 801d248 <__assert_func> + 801b4ca: 6922 ldr r2, [r4, #16] + 801b4cc: 3202 adds r2, #2 + 801b4ce: f104 010c add.w r1, r4, #12 + 801b4d2: 0092 lsls r2, r2, #2 + 801b4d4: 300c adds r0, #12 + 801b4d6: f7fe fff2 bl 801a4be + 801b4da: 4621 mov r1, r4 + 801b4dc: 4638 mov r0, r7 + 801b4de: f7ff ffa5 bl 801b42c <_Bfree> + 801b4e2: 4644 mov r4, r8 + 801b4e4: eb04 0385 add.w r3, r4, r5, lsl #2 + 801b4e8: 3501 adds r5, #1 + 801b4ea: 615e str r6, [r3, #20] + 801b4ec: 6125 str r5, [r4, #16] + 801b4ee: 4620 mov r0, r4 + 801b4f0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 801b4f4: 0801e6c5 .word 0x0801e6c5 + 801b4f8: 0801e6d6 .word 0x0801e6d6 + +0801b4fc <__s2b>: + 801b4fc: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 801b500: 460c mov r4, r1 + 801b502: 4615 mov r5, r2 + 801b504: 461f mov r7, r3 + 801b506: 2209 movs r2, #9 + 801b508: 3308 adds r3, #8 + 801b50a: 4606 mov r6, r0 + 801b50c: fb93 f3f2 sdiv r3, r3, r2 + 801b510: 2100 movs r1, #0 + 801b512: 2201 movs r2, #1 + 801b514: 429a cmp r2, r3 + 801b516: db09 blt.n 801b52c <__s2b+0x30> + 801b518: 4630 mov r0, r6 + 801b51a: f7ff ff49 bl 801b3b0 <_Balloc> + 801b51e: b940 cbnz r0, 801b532 <__s2b+0x36> + 801b520: 4602 mov r2, r0 + 801b522: 4b19 ldr r3, [pc, #100] @ (801b588 <__s2b+0x8c>) + 801b524: 4819 ldr r0, [pc, #100] @ (801b58c <__s2b+0x90>) + 801b526: 21d3 movs r1, #211 @ 0xd3 + 801b528: f001 fe8e bl 801d248 <__assert_func> + 801b52c: 0052 lsls r2, r2, #1 + 801b52e: 3101 adds r1, #1 + 801b530: e7f0 b.n 801b514 <__s2b+0x18> + 801b532: 9b08 ldr r3, [sp, #32] + 801b534: 6143 str r3, [r0, #20] + 801b536: 2d09 cmp r5, #9 + 801b538: f04f 0301 mov.w r3, #1 + 801b53c: 6103 str r3, [r0, #16] + 801b53e: dd16 ble.n 801b56e <__s2b+0x72> + 801b540: f104 0809 add.w r8, r4, #9 + 801b544: 46c1 mov r9, r8 + 801b546: 442c add r4, r5 + 801b548: f819 3b01 ldrb.w r3, [r9], #1 + 801b54c: 4601 mov r1, r0 + 801b54e: 3b30 subs r3, #48 @ 0x30 + 801b550: 220a movs r2, #10 + 801b552: 4630 mov r0, r6 + 801b554: f7ff ff8c bl 801b470 <__multadd> + 801b558: 45a1 cmp r9, r4 + 801b55a: d1f5 bne.n 801b548 <__s2b+0x4c> + 801b55c: 44a8 add r8, r5 + 801b55e: f1a8 0408 sub.w r4, r8, #8 + 801b562: 1b2d subs r5, r5, r4 + 801b564: 1963 adds r3, r4, r5 + 801b566: 429f cmp r7, r3 + 801b568: dc04 bgt.n 801b574 <__s2b+0x78> + 801b56a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 801b56e: 340a adds r4, #10 + 801b570: 2509 movs r5, #9 + 801b572: e7f6 b.n 801b562 <__s2b+0x66> + 801b574: f814 3b01 ldrb.w r3, [r4], #1 + 801b578: 4601 mov r1, r0 + 801b57a: 3b30 subs r3, #48 @ 0x30 + 801b57c: 220a movs r2, #10 + 801b57e: 4630 mov r0, r6 + 801b580: f7ff ff76 bl 801b470 <__multadd> + 801b584: e7ee b.n 801b564 <__s2b+0x68> + 801b586: bf00 nop + 801b588: 0801e6c5 .word 0x0801e6c5 + 801b58c: 0801e6d6 .word 0x0801e6d6 + +0801b590 <__hi0bits>: + 801b590: f5b0 3f80 cmp.w r0, #65536 @ 0x10000 + 801b594: 4603 mov r3, r0 + 801b596: bf36 itet cc + 801b598: 0403 lslcc r3, r0, #16 + 801b59a: 2000 movcs r0, #0 + 801b59c: 2010 movcc r0, #16 + 801b59e: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000 + 801b5a2: bf3c itt cc + 801b5a4: 021b lslcc r3, r3, #8 + 801b5a6: 3008 addcc r0, #8 + 801b5a8: f1b3 5f80 cmp.w r3, #268435456 @ 0x10000000 + 801b5ac: bf3c itt cc + 801b5ae: 011b lslcc r3, r3, #4 + 801b5b0: 3004 addcc r0, #4 + 801b5b2: f1b3 4f80 cmp.w r3, #1073741824 @ 0x40000000 + 801b5b6: bf3c itt cc + 801b5b8: 009b lslcc r3, r3, #2 + 801b5ba: 3002 addcc r0, #2 + 801b5bc: 2b00 cmp r3, #0 + 801b5be: db05 blt.n 801b5cc <__hi0bits+0x3c> + 801b5c0: f013 4f80 tst.w r3, #1073741824 @ 0x40000000 + 801b5c4: f100 0001 add.w r0, r0, #1 + 801b5c8: bf08 it eq + 801b5ca: 2020 moveq r0, #32 + 801b5cc: 4770 bx lr + +0801b5ce <__lo0bits>: + 801b5ce: 6803 ldr r3, [r0, #0] + 801b5d0: 4602 mov r2, r0 + 801b5d2: f013 0007 ands.w r0, r3, #7 + 801b5d6: d00b beq.n 801b5f0 <__lo0bits+0x22> + 801b5d8: 07d9 lsls r1, r3, #31 + 801b5da: d421 bmi.n 801b620 <__lo0bits+0x52> + 801b5dc: 0798 lsls r0, r3, #30 + 801b5de: bf49 itett mi + 801b5e0: 085b lsrmi r3, r3, #1 + 801b5e2: 089b lsrpl r3, r3, #2 + 801b5e4: 2001 movmi r0, #1 + 801b5e6: 6013 strmi r3, [r2, #0] + 801b5e8: bf5c itt pl + 801b5ea: 6013 strpl r3, [r2, #0] + 801b5ec: 2002 movpl r0, #2 + 801b5ee: 4770 bx lr + 801b5f0: b299 uxth r1, r3 + 801b5f2: b909 cbnz r1, 801b5f8 <__lo0bits+0x2a> + 801b5f4: 0c1b lsrs r3, r3, #16 + 801b5f6: 2010 movs r0, #16 + 801b5f8: b2d9 uxtb r1, r3 + 801b5fa: b909 cbnz r1, 801b600 <__lo0bits+0x32> + 801b5fc: 3008 adds r0, #8 + 801b5fe: 0a1b lsrs r3, r3, #8 + 801b600: 0719 lsls r1, r3, #28 + 801b602: bf04 itt eq + 801b604: 091b lsreq r3, r3, #4 + 801b606: 3004 addeq r0, #4 + 801b608: 0799 lsls r1, r3, #30 + 801b60a: bf04 itt eq + 801b60c: 089b lsreq r3, r3, #2 + 801b60e: 3002 addeq r0, #2 + 801b610: 07d9 lsls r1, r3, #31 + 801b612: d403 bmi.n 801b61c <__lo0bits+0x4e> + 801b614: 085b lsrs r3, r3, #1 + 801b616: f100 0001 add.w r0, r0, #1 + 801b61a: d003 beq.n 801b624 <__lo0bits+0x56> + 801b61c: 6013 str r3, [r2, #0] + 801b61e: 4770 bx lr + 801b620: 2000 movs r0, #0 + 801b622: 4770 bx lr + 801b624: 2020 movs r0, #32 + 801b626: 4770 bx lr + +0801b628 <__i2b>: + 801b628: b510 push {r4, lr} + 801b62a: 460c mov r4, r1 + 801b62c: 2101 movs r1, #1 + 801b62e: f7ff febf bl 801b3b0 <_Balloc> + 801b632: 4602 mov r2, r0 + 801b634: b928 cbnz r0, 801b642 <__i2b+0x1a> + 801b636: 4b05 ldr r3, [pc, #20] @ (801b64c <__i2b+0x24>) + 801b638: 4805 ldr r0, [pc, #20] @ (801b650 <__i2b+0x28>) + 801b63a: f240 1145 movw r1, #325 @ 0x145 + 801b63e: f001 fe03 bl 801d248 <__assert_func> + 801b642: 2301 movs r3, #1 + 801b644: 6144 str r4, [r0, #20] + 801b646: 6103 str r3, [r0, #16] + 801b648: bd10 pop {r4, pc} + 801b64a: bf00 nop + 801b64c: 0801e6c5 .word 0x0801e6c5 + 801b650: 0801e6d6 .word 0x0801e6d6 + +0801b654 <__multiply>: + 801b654: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801b658: f8d1 9010 ldr.w r9, [r1, #16] + 801b65c: f8d2 a010 ldr.w sl, [r2, #16] + 801b660: 45d1 cmp r9, sl + 801b662: b085 sub sp, #20 + 801b664: 4688 mov r8, r1 + 801b666: 4614 mov r4, r2 + 801b668: db04 blt.n 801b674 <__multiply+0x20> + 801b66a: 4653 mov r3, sl + 801b66c: 460c mov r4, r1 + 801b66e: 46ca mov sl, r9 + 801b670: 4690 mov r8, r2 + 801b672: 4699 mov r9, r3 + 801b674: 68a3 ldr r3, [r4, #8] + 801b676: 6861 ldr r1, [r4, #4] + 801b678: eb0a 0609 add.w r6, sl, r9 + 801b67c: 42b3 cmp r3, r6 + 801b67e: bfb8 it lt + 801b680: 3101 addlt r1, #1 + 801b682: f7ff fe95 bl 801b3b0 <_Balloc> + 801b686: b930 cbnz r0, 801b696 <__multiply+0x42> + 801b688: 4602 mov r2, r0 + 801b68a: 4b45 ldr r3, [pc, #276] @ (801b7a0 <__multiply+0x14c>) + 801b68c: 4845 ldr r0, [pc, #276] @ (801b7a4 <__multiply+0x150>) + 801b68e: f44f 71b1 mov.w r1, #354 @ 0x162 + 801b692: f001 fdd9 bl 801d248 <__assert_func> + 801b696: f100 0514 add.w r5, r0, #20 + 801b69a: eb05 0786 add.w r7, r5, r6, lsl #2 + 801b69e: 462b mov r3, r5 + 801b6a0: 2200 movs r2, #0 + 801b6a2: 42bb cmp r3, r7 + 801b6a4: d31f bcc.n 801b6e6 <__multiply+0x92> + 801b6a6: f104 0c14 add.w ip, r4, #20 + 801b6aa: f108 0114 add.w r1, r8, #20 + 801b6ae: eb0c 038a add.w r3, ip, sl, lsl #2 + 801b6b2: eb01 0289 add.w r2, r1, r9, lsl #2 + 801b6b6: 9202 str r2, [sp, #8] + 801b6b8: 1b1a subs r2, r3, r4 + 801b6ba: 3a15 subs r2, #21 + 801b6bc: f022 0203 bic.w r2, r2, #3 + 801b6c0: 3415 adds r4, #21 + 801b6c2: 429c cmp r4, r3 + 801b6c4: bf88 it hi + 801b6c6: 2200 movhi r2, #0 + 801b6c8: 9201 str r2, [sp, #4] + 801b6ca: 9a02 ldr r2, [sp, #8] + 801b6cc: 9103 str r1, [sp, #12] + 801b6ce: 428a cmp r2, r1 + 801b6d0: d80c bhi.n 801b6ec <__multiply+0x98> + 801b6d2: 2e00 cmp r6, #0 + 801b6d4: dd03 ble.n 801b6de <__multiply+0x8a> + 801b6d6: f857 3d04 ldr.w r3, [r7, #-4]! + 801b6da: 2b00 cmp r3, #0 + 801b6dc: d05d beq.n 801b79a <__multiply+0x146> + 801b6de: 6106 str r6, [r0, #16] + 801b6e0: b005 add sp, #20 + 801b6e2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801b6e6: f843 2b04 str.w r2, [r3], #4 + 801b6ea: e7da b.n 801b6a2 <__multiply+0x4e> + 801b6ec: f8b1 a000 ldrh.w sl, [r1] + 801b6f0: f1ba 0f00 cmp.w sl, #0 + 801b6f4: d024 beq.n 801b740 <__multiply+0xec> + 801b6f6: 46e0 mov r8, ip + 801b6f8: 46a9 mov r9, r5 + 801b6fa: f04f 0e00 mov.w lr, #0 + 801b6fe: f858 2b04 ldr.w r2, [r8], #4 + 801b702: f8d9 4000 ldr.w r4, [r9] + 801b706: fa1f fb82 uxth.w fp, r2 + 801b70a: b2a4 uxth r4, r4 + 801b70c: fb0a 440b mla r4, sl, fp, r4 + 801b710: ea4f 4b12 mov.w fp, r2, lsr #16 + 801b714: f8d9 2000 ldr.w r2, [r9] + 801b718: 4474 add r4, lr + 801b71a: ea4f 4e12 mov.w lr, r2, lsr #16 + 801b71e: fb0a e20b mla r2, sl, fp, lr + 801b722: eb02 4214 add.w r2, r2, r4, lsr #16 + 801b726: b2a4 uxth r4, r4 + 801b728: ea44 4402 orr.w r4, r4, r2, lsl #16 + 801b72c: 4543 cmp r3, r8 + 801b72e: f849 4b04 str.w r4, [r9], #4 + 801b732: ea4f 4e12 mov.w lr, r2, lsr #16 + 801b736: d8e2 bhi.n 801b6fe <__multiply+0xaa> + 801b738: 9a01 ldr r2, [sp, #4] + 801b73a: 18aa adds r2, r5, r2 + 801b73c: f8c2 e004 str.w lr, [r2, #4] + 801b740: 9a03 ldr r2, [sp, #12] + 801b742: f8b2 8002 ldrh.w r8, [r2, #2] + 801b746: 3104 adds r1, #4 + 801b748: f1b8 0f00 cmp.w r8, #0 + 801b74c: d023 beq.n 801b796 <__multiply+0x142> + 801b74e: 682a ldr r2, [r5, #0] + 801b750: 46e6 mov lr, ip + 801b752: 4691 mov r9, r2 + 801b754: 46aa mov sl, r5 + 801b756: f04f 0b00 mov.w fp, #0 + 801b75a: f8be 4000 ldrh.w r4, [lr] + 801b75e: fb08 b404 mla r4, r8, r4, fp + 801b762: eb04 4419 add.w r4, r4, r9, lsr #16 + 801b766: b292 uxth r2, r2 + 801b768: ea42 4204 orr.w r2, r2, r4, lsl #16 + 801b76c: f84a 2b04 str.w r2, [sl], #4 + 801b770: f85e 2b04 ldr.w r2, [lr], #4 + 801b774: f8da 9000 ldr.w r9, [sl] + 801b778: ea4f 4b12 mov.w fp, r2, lsr #16 + 801b77c: fa1f f289 uxth.w r2, r9 + 801b780: fb08 220b mla r2, r8, fp, r2 + 801b784: eb02 4214 add.w r2, r2, r4, lsr #16 + 801b788: 4573 cmp r3, lr + 801b78a: ea4f 4b12 mov.w fp, r2, lsr #16 + 801b78e: d8e4 bhi.n 801b75a <__multiply+0x106> + 801b790: 9c01 ldr r4, [sp, #4] + 801b792: 192c adds r4, r5, r4 + 801b794: 6062 str r2, [r4, #4] + 801b796: 3504 adds r5, #4 + 801b798: e797 b.n 801b6ca <__multiply+0x76> + 801b79a: 3e01 subs r6, #1 + 801b79c: e799 b.n 801b6d2 <__multiply+0x7e> + 801b79e: bf00 nop + 801b7a0: 0801e6c5 .word 0x0801e6c5 + 801b7a4: 0801e6d6 .word 0x0801e6d6 + +0801b7a8 <__pow5mult>: + 801b7a8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 801b7ac: 4617 mov r7, r2 + 801b7ae: f012 0203 ands.w r2, r2, #3 + 801b7b2: 4680 mov r8, r0 + 801b7b4: 460d mov r5, r1 + 801b7b6: d007 beq.n 801b7c8 <__pow5mult+0x20> + 801b7b8: 4c26 ldr r4, [pc, #152] @ (801b854 <__pow5mult+0xac>) + 801b7ba: 3a01 subs r2, #1 + 801b7bc: 2300 movs r3, #0 + 801b7be: f854 2022 ldr.w r2, [r4, r2, lsl #2] + 801b7c2: f7ff fe55 bl 801b470 <__multadd> + 801b7c6: 4605 mov r5, r0 + 801b7c8: 10bf asrs r7, r7, #2 + 801b7ca: d03f beq.n 801b84c <__pow5mult+0xa4> + 801b7cc: f8d8 401c ldr.w r4, [r8, #28] + 801b7d0: b994 cbnz r4, 801b7f8 <__pow5mult+0x50> + 801b7d2: 2010 movs r0, #16 + 801b7d4: f7ff fd36 bl 801b244 + 801b7d8: 4604 mov r4, r0 + 801b7da: f8c8 001c str.w r0, [r8, #28] + 801b7de: b930 cbnz r0, 801b7ee <__pow5mult+0x46> + 801b7e0: 4602 mov r2, r0 + 801b7e2: 4b1d ldr r3, [pc, #116] @ (801b858 <__pow5mult+0xb0>) + 801b7e4: 481d ldr r0, [pc, #116] @ (801b85c <__pow5mult+0xb4>) + 801b7e6: f240 11b3 movw r1, #435 @ 0x1b3 + 801b7ea: f001 fd2d bl 801d248 <__assert_func> + 801b7ee: 2300 movs r3, #0 + 801b7f0: e9c0 3301 strd r3, r3, [r0, #4] + 801b7f4: 6003 str r3, [r0, #0] + 801b7f6: 60c3 str r3, [r0, #12] + 801b7f8: 68a6 ldr r6, [r4, #8] + 801b7fa: b946 cbnz r6, 801b80e <__pow5mult+0x66> + 801b7fc: f240 2171 movw r1, #625 @ 0x271 + 801b800: 4640 mov r0, r8 + 801b802: f7ff ff11 bl 801b628 <__i2b> + 801b806: 2300 movs r3, #0 + 801b808: 60a0 str r0, [r4, #8] + 801b80a: 4606 mov r6, r0 + 801b80c: 6003 str r3, [r0, #0] + 801b80e: 462c mov r4, r5 + 801b810: f04f 0900 mov.w r9, #0 + 801b814: f007 0301 and.w r3, r7, #1 + 801b818: 107f asrs r7, r7, #1 + 801b81a: b153 cbz r3, 801b832 <__pow5mult+0x8a> + 801b81c: 4629 mov r1, r5 + 801b81e: 4632 mov r2, r6 + 801b820: 4640 mov r0, r8 + 801b822: f7ff ff17 bl 801b654 <__multiply> + 801b826: 4621 mov r1, r4 + 801b828: 4605 mov r5, r0 + 801b82a: 4640 mov r0, r8 + 801b82c: f7ff fdfe bl 801b42c <_Bfree> + 801b830: b167 cbz r7, 801b84c <__pow5mult+0xa4> + 801b832: 6830 ldr r0, [r6, #0] + 801b834: b938 cbnz r0, 801b846 <__pow5mult+0x9e> + 801b836: 4632 mov r2, r6 + 801b838: 4631 mov r1, r6 + 801b83a: 4640 mov r0, r8 + 801b83c: f7ff ff0a bl 801b654 <__multiply> + 801b840: 6030 str r0, [r6, #0] + 801b842: f8c0 9000 str.w r9, [r0] + 801b846: 4606 mov r6, r0 + 801b848: 462c mov r4, r5 + 801b84a: e7e3 b.n 801b814 <__pow5mult+0x6c> + 801b84c: 4628 mov r0, r5 + 801b84e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 801b852: bf00 nop + 801b854: 0801e7e8 .word 0x0801e7e8 + 801b858: 0801e656 .word 0x0801e656 + 801b85c: 0801e6d6 .word 0x0801e6d6 + +0801b860 <__lshift>: + 801b860: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801b864: 460c mov r4, r1 + 801b866: 6849 ldr r1, [r1, #4] + 801b868: 6923 ldr r3, [r4, #16] + 801b86a: eb03 1862 add.w r8, r3, r2, asr #5 + 801b86e: 68a3 ldr r3, [r4, #8] + 801b870: 4607 mov r7, r0 + 801b872: 4615 mov r5, r2 + 801b874: ea4f 1a62 mov.w sl, r2, asr #5 + 801b878: f108 0901 add.w r9, r8, #1 + 801b87c: 454b cmp r3, r9 + 801b87e: db0b blt.n 801b898 <__lshift+0x38> + 801b880: 4638 mov r0, r7 + 801b882: f7ff fd95 bl 801b3b0 <_Balloc> + 801b886: 4606 mov r6, r0 + 801b888: b948 cbnz r0, 801b89e <__lshift+0x3e> + 801b88a: 4602 mov r2, r0 + 801b88c: 4b29 ldr r3, [pc, #164] @ (801b934 <__lshift+0xd4>) + 801b88e: 482a ldr r0, [pc, #168] @ (801b938 <__lshift+0xd8>) + 801b890: f44f 71ef mov.w r1, #478 @ 0x1de + 801b894: f001 fcd8 bl 801d248 <__assert_func> + 801b898: 3101 adds r1, #1 + 801b89a: 005b lsls r3, r3, #1 + 801b89c: e7ee b.n 801b87c <__lshift+0x1c> + 801b89e: 2300 movs r3, #0 + 801b8a0: f100 0c14 add.w ip, r0, #20 + 801b8a4: f100 0210 add.w r2, r0, #16 + 801b8a8: 4619 mov r1, r3 + 801b8aa: 4553 cmp r3, sl + 801b8ac: db35 blt.n 801b91a <__lshift+0xba> + 801b8ae: 6922 ldr r2, [r4, #16] + 801b8b0: ea2a 7aea bic.w sl, sl, sl, asr #31 + 801b8b4: eb0c 0c8a add.w ip, ip, sl, lsl #2 + 801b8b8: f104 0314 add.w r3, r4, #20 + 801b8bc: f015 0e1f ands.w lr, r5, #31 + 801b8c0: 4661 mov r1, ip + 801b8c2: eb03 0282 add.w r2, r3, r2, lsl #2 + 801b8c6: d02c beq.n 801b922 <__lshift+0xc2> + 801b8c8: f1ce 0a20 rsb sl, lr, #32 + 801b8cc: 2500 movs r5, #0 + 801b8ce: 6818 ldr r0, [r3, #0] + 801b8d0: 468b mov fp, r1 + 801b8d2: fa00 f00e lsl.w r0, r0, lr + 801b8d6: 4328 orrs r0, r5 + 801b8d8: f8cb 0000 str.w r0, [fp] + 801b8dc: f853 5b04 ldr.w r5, [r3], #4 + 801b8e0: 429a cmp r2, r3 + 801b8e2: f101 0104 add.w r1, r1, #4 + 801b8e6: fa25 f50a lsr.w r5, r5, sl + 801b8ea: d8f0 bhi.n 801b8ce <__lshift+0x6e> + 801b8ec: 1b13 subs r3, r2, r4 + 801b8ee: 3b15 subs r3, #21 + 801b8f0: f023 0303 bic.w r3, r3, #3 + 801b8f4: f104 0115 add.w r1, r4, #21 + 801b8f8: 428a cmp r2, r1 + 801b8fa: bf38 it cc + 801b8fc: 2300 movcc r3, #0 + 801b8fe: 449c add ip, r3 + 801b900: f8cc 5004 str.w r5, [ip, #4] + 801b904: b905 cbnz r5, 801b908 <__lshift+0xa8> + 801b906: 46c1 mov r9, r8 + 801b908: 4638 mov r0, r7 + 801b90a: f8c6 9010 str.w r9, [r6, #16] + 801b90e: 4621 mov r1, r4 + 801b910: f7ff fd8c bl 801b42c <_Bfree> + 801b914: 4630 mov r0, r6 + 801b916: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801b91a: f842 1f04 str.w r1, [r2, #4]! + 801b91e: 3301 adds r3, #1 + 801b920: e7c3 b.n 801b8aa <__lshift+0x4a> + 801b922: f853 5b04 ldr.w r5, [r3], #4 + 801b926: 600d str r5, [r1, #0] + 801b928: 429a cmp r2, r3 + 801b92a: f101 0104 add.w r1, r1, #4 + 801b92e: d8f8 bhi.n 801b922 <__lshift+0xc2> + 801b930: e7e9 b.n 801b906 <__lshift+0xa6> + 801b932: bf00 nop + 801b934: 0801e6c5 .word 0x0801e6c5 + 801b938: 0801e6d6 .word 0x0801e6d6 + +0801b93c <__mcmp>: + 801b93c: 690a ldr r2, [r1, #16] + 801b93e: 4603 mov r3, r0 + 801b940: 6900 ldr r0, [r0, #16] + 801b942: 1a80 subs r0, r0, r2 + 801b944: b530 push {r4, r5, lr} + 801b946: d10e bne.n 801b966 <__mcmp+0x2a> + 801b948: 3314 adds r3, #20 + 801b94a: 3114 adds r1, #20 + 801b94c: eb03 0482 add.w r4, r3, r2, lsl #2 + 801b950: eb01 0182 add.w r1, r1, r2, lsl #2 + 801b954: f854 5d04 ldr.w r5, [r4, #-4]! + 801b958: f851 2d04 ldr.w r2, [r1, #-4]! + 801b95c: 4295 cmp r5, r2 + 801b95e: d003 beq.n 801b968 <__mcmp+0x2c> + 801b960: d205 bcs.n 801b96e <__mcmp+0x32> + 801b962: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801b966: bd30 pop {r4, r5, pc} + 801b968: 42a3 cmp r3, r4 + 801b96a: d3f3 bcc.n 801b954 <__mcmp+0x18> + 801b96c: e7fb b.n 801b966 <__mcmp+0x2a> + 801b96e: 2001 movs r0, #1 + 801b970: e7f9 b.n 801b966 <__mcmp+0x2a> ... -0801b0cc <__mdiff>: - 801b0cc: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801b0d0: 468a mov sl, r1 - 801b0d2: 4606 mov r6, r0 - 801b0d4: 4611 mov r1, r2 - 801b0d6: 4650 mov r0, sl - 801b0d8: 4614 mov r4, r2 - 801b0da: f7ff ffdb bl 801b094 <__mcmp> - 801b0de: 1e05 subs r5, r0, #0 - 801b0e0: d112 bne.n 801b108 <__mdiff+0x3c> - 801b0e2: 4629 mov r1, r5 - 801b0e4: 4630 mov r0, r6 - 801b0e6: f7ff fd0f bl 801ab08 <_Balloc> - 801b0ea: 4602 mov r2, r0 - 801b0ec: b928 cbnz r0, 801b0fa <__mdiff+0x2e> - 801b0ee: 4b41 ldr r3, [pc, #260] @ (801b1f4 <__mdiff+0x128>) - 801b0f0: f240 2137 movw r1, #567 @ 0x237 - 801b0f4: 4840 ldr r0, [pc, #256] @ (801b1f8 <__mdiff+0x12c>) - 801b0f6: f001 fc3f bl 801c978 <__assert_func> - 801b0fa: 2301 movs r3, #1 - 801b0fc: e9c0 3504 strd r3, r5, [r0, #16] - 801b100: 4610 mov r0, r2 - 801b102: b003 add sp, #12 - 801b104: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 801b108: bfbc itt lt - 801b10a: 4653 movlt r3, sl - 801b10c: 46a2 movlt sl, r4 - 801b10e: 4630 mov r0, r6 - 801b110: f8da 1004 ldr.w r1, [sl, #4] - 801b114: bfba itte lt - 801b116: 461c movlt r4, r3 - 801b118: 2501 movlt r5, #1 - 801b11a: 2500 movge r5, #0 - 801b11c: f7ff fcf4 bl 801ab08 <_Balloc> - 801b120: 4602 mov r2, r0 - 801b122: b918 cbnz r0, 801b12c <__mdiff+0x60> - 801b124: 4b33 ldr r3, [pc, #204] @ (801b1f4 <__mdiff+0x128>) - 801b126: f240 2145 movw r1, #581 @ 0x245 - 801b12a: e7e3 b.n 801b0f4 <__mdiff+0x28> - 801b12c: f8da 7010 ldr.w r7, [sl, #16] - 801b130: 6926 ldr r6, [r4, #16] - 801b132: 60c5 str r5, [r0, #12] - 801b134: f10a 0914 add.w r9, sl, #20 - 801b138: f104 0e14 add.w lr, r4, #20 - 801b13c: f100 0514 add.w r5, r0, #20 - 801b140: f10a 0310 add.w r3, sl, #16 - 801b144: eb09 0887 add.w r8, r9, r7, lsl #2 - 801b148: eb0e 0686 add.w r6, lr, r6, lsl #2 - 801b14c: 9301 str r3, [sp, #4] - 801b14e: 46ab mov fp, r5 - 801b150: f04f 0c00 mov.w ip, #0 - 801b154: 9b01 ldr r3, [sp, #4] - 801b156: f85e 0b04 ldr.w r0, [lr], #4 - 801b15a: f853 af04 ldr.w sl, [r3, #4]! - 801b15e: 9301 str r3, [sp, #4] - 801b160: fa1f f38a uxth.w r3, sl - 801b164: 4619 mov r1, r3 - 801b166: b283 uxth r3, r0 - 801b168: 1acb subs r3, r1, r3 - 801b16a: 0c00 lsrs r0, r0, #16 - 801b16c: 4463 add r3, ip - 801b16e: ebc0 401a rsb r0, r0, sl, lsr #16 - 801b172: eb00 4023 add.w r0, r0, r3, asr #16 - 801b176: b29b uxth r3, r3 - 801b178: ea43 4300 orr.w r3, r3, r0, lsl #16 - 801b17c: 4576 cmp r6, lr - 801b17e: f84b 3b04 str.w r3, [fp], #4 - 801b182: ea4f 4c20 mov.w ip, r0, asr #16 - 801b186: d8e5 bhi.n 801b154 <__mdiff+0x88> - 801b188: 1b33 subs r3, r6, r4 - 801b18a: 3b15 subs r3, #21 - 801b18c: 3415 adds r4, #21 - 801b18e: f023 0303 bic.w r3, r3, #3 - 801b192: 42a6 cmp r6, r4 - 801b194: bf38 it cc - 801b196: 2300 movcc r3, #0 - 801b198: 18e8 adds r0, r5, r3 - 801b19a: 444b add r3, r9 - 801b19c: 1d1c adds r4, r3, #4 - 801b19e: 3004 adds r0, #4 - 801b1a0: 4626 mov r6, r4 - 801b1a2: eba5 0509 sub.w r5, r5, r9 - 801b1a6: 4546 cmp r6, r8 - 801b1a8: eb06 0e05 add.w lr, r6, r5 - 801b1ac: d30e bcc.n 801b1cc <__mdiff+0x100> - 801b1ae: f108 0103 add.w r1, r8, #3 - 801b1b2: 1b09 subs r1, r1, r4 - 801b1b4: f021 0103 bic.w r1, r1, #3 - 801b1b8: 3301 adds r3, #1 - 801b1ba: 4598 cmp r8, r3 - 801b1bc: bf38 it cc - 801b1be: 2100 movcc r1, #0 - 801b1c0: 4401 add r1, r0 - 801b1c2: f851 3d04 ldr.w r3, [r1, #-4]! - 801b1c6: b19b cbz r3, 801b1f0 <__mdiff+0x124> - 801b1c8: 6117 str r7, [r2, #16] - 801b1ca: e799 b.n 801b100 <__mdiff+0x34> - 801b1cc: f856 1b04 ldr.w r1, [r6], #4 - 801b1d0: 46e2 mov sl, ip - 801b1d2: ea4f 4911 mov.w r9, r1, lsr #16 - 801b1d6: fa1c fc81 uxtah ip, ip, r1 - 801b1da: 4451 add r1, sl - 801b1dc: eb09 492c add.w r9, r9, ip, asr #16 - 801b1e0: b289 uxth r1, r1 - 801b1e2: ea41 4109 orr.w r1, r1, r9, lsl #16 - 801b1e6: ea4f 4c29 mov.w ip, r9, asr #16 - 801b1ea: f8ce 1000 str.w r1, [lr] - 801b1ee: e7da b.n 801b1a6 <__mdiff+0xda> - 801b1f0: 3f01 subs r7, #1 - 801b1f2: e7e6 b.n 801b1c2 <__mdiff+0xf6> - 801b1f4: 0801dd65 .word 0x0801dd65 - 801b1f8: 0801dd76 .word 0x0801dd76 +0801b974 <__mdiff>: + 801b974: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801b978: 468a mov sl, r1 + 801b97a: 4606 mov r6, r0 + 801b97c: 4611 mov r1, r2 + 801b97e: 4650 mov r0, sl + 801b980: 4614 mov r4, r2 + 801b982: f7ff ffdb bl 801b93c <__mcmp> + 801b986: 1e05 subs r5, r0, #0 + 801b988: d112 bne.n 801b9b0 <__mdiff+0x3c> + 801b98a: 4629 mov r1, r5 + 801b98c: 4630 mov r0, r6 + 801b98e: f7ff fd0f bl 801b3b0 <_Balloc> + 801b992: 4602 mov r2, r0 + 801b994: b928 cbnz r0, 801b9a2 <__mdiff+0x2e> + 801b996: 4b41 ldr r3, [pc, #260] @ (801ba9c <__mdiff+0x128>) + 801b998: f240 2137 movw r1, #567 @ 0x237 + 801b99c: 4840 ldr r0, [pc, #256] @ (801baa0 <__mdiff+0x12c>) + 801b99e: f001 fc53 bl 801d248 <__assert_func> + 801b9a2: 2301 movs r3, #1 + 801b9a4: e9c0 3504 strd r3, r5, [r0, #16] + 801b9a8: 4610 mov r0, r2 + 801b9aa: b003 add sp, #12 + 801b9ac: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801b9b0: bfbc itt lt + 801b9b2: 4653 movlt r3, sl + 801b9b4: 46a2 movlt sl, r4 + 801b9b6: 4630 mov r0, r6 + 801b9b8: f8da 1004 ldr.w r1, [sl, #4] + 801b9bc: bfba itte lt + 801b9be: 461c movlt r4, r3 + 801b9c0: 2501 movlt r5, #1 + 801b9c2: 2500 movge r5, #0 + 801b9c4: f7ff fcf4 bl 801b3b0 <_Balloc> + 801b9c8: 4602 mov r2, r0 + 801b9ca: b918 cbnz r0, 801b9d4 <__mdiff+0x60> + 801b9cc: 4b33 ldr r3, [pc, #204] @ (801ba9c <__mdiff+0x128>) + 801b9ce: f240 2145 movw r1, #581 @ 0x245 + 801b9d2: e7e3 b.n 801b99c <__mdiff+0x28> + 801b9d4: f8da 7010 ldr.w r7, [sl, #16] + 801b9d8: 6926 ldr r6, [r4, #16] + 801b9da: 60c5 str r5, [r0, #12] + 801b9dc: f10a 0914 add.w r9, sl, #20 + 801b9e0: f104 0e14 add.w lr, r4, #20 + 801b9e4: f100 0514 add.w r5, r0, #20 + 801b9e8: f10a 0310 add.w r3, sl, #16 + 801b9ec: eb09 0887 add.w r8, r9, r7, lsl #2 + 801b9f0: eb0e 0686 add.w r6, lr, r6, lsl #2 + 801b9f4: 9301 str r3, [sp, #4] + 801b9f6: 46ab mov fp, r5 + 801b9f8: f04f 0c00 mov.w ip, #0 + 801b9fc: 9b01 ldr r3, [sp, #4] + 801b9fe: f85e 0b04 ldr.w r0, [lr], #4 + 801ba02: f853 af04 ldr.w sl, [r3, #4]! + 801ba06: 9301 str r3, [sp, #4] + 801ba08: fa1f f38a uxth.w r3, sl + 801ba0c: 4619 mov r1, r3 + 801ba0e: b283 uxth r3, r0 + 801ba10: 1acb subs r3, r1, r3 + 801ba12: 0c00 lsrs r0, r0, #16 + 801ba14: 4463 add r3, ip + 801ba16: ebc0 401a rsb r0, r0, sl, lsr #16 + 801ba1a: eb00 4023 add.w r0, r0, r3, asr #16 + 801ba1e: b29b uxth r3, r3 + 801ba20: ea43 4300 orr.w r3, r3, r0, lsl #16 + 801ba24: 4576 cmp r6, lr + 801ba26: f84b 3b04 str.w r3, [fp], #4 + 801ba2a: ea4f 4c20 mov.w ip, r0, asr #16 + 801ba2e: d8e5 bhi.n 801b9fc <__mdiff+0x88> + 801ba30: 1b33 subs r3, r6, r4 + 801ba32: 3b15 subs r3, #21 + 801ba34: 3415 adds r4, #21 + 801ba36: f023 0303 bic.w r3, r3, #3 + 801ba3a: 42a6 cmp r6, r4 + 801ba3c: bf38 it cc + 801ba3e: 2300 movcc r3, #0 + 801ba40: 18e8 adds r0, r5, r3 + 801ba42: 444b add r3, r9 + 801ba44: 1d1c adds r4, r3, #4 + 801ba46: 3004 adds r0, #4 + 801ba48: 4626 mov r6, r4 + 801ba4a: eba5 0509 sub.w r5, r5, r9 + 801ba4e: 4546 cmp r6, r8 + 801ba50: eb06 0e05 add.w lr, r6, r5 + 801ba54: d30e bcc.n 801ba74 <__mdiff+0x100> + 801ba56: f108 0103 add.w r1, r8, #3 + 801ba5a: 1b09 subs r1, r1, r4 + 801ba5c: f021 0103 bic.w r1, r1, #3 + 801ba60: 3301 adds r3, #1 + 801ba62: 4598 cmp r8, r3 + 801ba64: bf38 it cc + 801ba66: 2100 movcc r1, #0 + 801ba68: 4401 add r1, r0 + 801ba6a: f851 3d04 ldr.w r3, [r1, #-4]! + 801ba6e: b19b cbz r3, 801ba98 <__mdiff+0x124> + 801ba70: 6117 str r7, [r2, #16] + 801ba72: e799 b.n 801b9a8 <__mdiff+0x34> + 801ba74: f856 1b04 ldr.w r1, [r6], #4 + 801ba78: 46e2 mov sl, ip + 801ba7a: ea4f 4911 mov.w r9, r1, lsr #16 + 801ba7e: fa1c fc81 uxtah ip, ip, r1 + 801ba82: 4451 add r1, sl + 801ba84: eb09 492c add.w r9, r9, ip, asr #16 + 801ba88: b289 uxth r1, r1 + 801ba8a: ea41 4109 orr.w r1, r1, r9, lsl #16 + 801ba8e: ea4f 4c29 mov.w ip, r9, asr #16 + 801ba92: f8ce 1000 str.w r1, [lr] + 801ba96: e7da b.n 801ba4e <__mdiff+0xda> + 801ba98: 3f01 subs r7, #1 + 801ba9a: e7e6 b.n 801ba6a <__mdiff+0xf6> + 801ba9c: 0801e6c5 .word 0x0801e6c5 + 801baa0: 0801e6d6 .word 0x0801e6d6 -0801b1fc <__ulp>: - 801b1fc: b082 sub sp, #8 - 801b1fe: ed8d 0b00 vstr d0, [sp] - 801b202: 9a01 ldr r2, [sp, #4] - 801b204: 4b0f ldr r3, [pc, #60] @ (801b244 <__ulp+0x48>) - 801b206: 4013 ands r3, r2 - 801b208: f1a3 7350 sub.w r3, r3, #54525952 @ 0x3400000 - 801b20c: 2b00 cmp r3, #0 - 801b20e: dc08 bgt.n 801b222 <__ulp+0x26> - 801b210: 425b negs r3, r3 - 801b212: f1b3 7fa0 cmp.w r3, #20971520 @ 0x1400000 - 801b216: ea4f 5223 mov.w r2, r3, asr #20 - 801b21a: da04 bge.n 801b226 <__ulp+0x2a> - 801b21c: f44f 2300 mov.w r3, #524288 @ 0x80000 - 801b220: 4113 asrs r3, r2 - 801b222: 2200 movs r2, #0 - 801b224: e008 b.n 801b238 <__ulp+0x3c> - 801b226: f1a2 0314 sub.w r3, r2, #20 - 801b22a: 2b1e cmp r3, #30 - 801b22c: bfda itte le - 801b22e: f04f 4200 movle.w r2, #2147483648 @ 0x80000000 - 801b232: 40da lsrle r2, r3 - 801b234: 2201 movgt r2, #1 - 801b236: 2300 movs r3, #0 - 801b238: 4619 mov r1, r3 - 801b23a: 4610 mov r0, r2 - 801b23c: ec41 0b10 vmov d0, r0, r1 - 801b240: b002 add sp, #8 - 801b242: 4770 bx lr - 801b244: 7ff00000 .word 0x7ff00000 +0801baa4 <__ulp>: + 801baa4: b082 sub sp, #8 + 801baa6: ed8d 0b00 vstr d0, [sp] + 801baaa: 9a01 ldr r2, [sp, #4] + 801baac: 4b0f ldr r3, [pc, #60] @ (801baec <__ulp+0x48>) + 801baae: 4013 ands r3, r2 + 801bab0: f1a3 7350 sub.w r3, r3, #54525952 @ 0x3400000 + 801bab4: 2b00 cmp r3, #0 + 801bab6: dc08 bgt.n 801baca <__ulp+0x26> + 801bab8: 425b negs r3, r3 + 801baba: f1b3 7fa0 cmp.w r3, #20971520 @ 0x1400000 + 801babe: ea4f 5223 mov.w r2, r3, asr #20 + 801bac2: da04 bge.n 801bace <__ulp+0x2a> + 801bac4: f44f 2300 mov.w r3, #524288 @ 0x80000 + 801bac8: 4113 asrs r3, r2 + 801baca: 2200 movs r2, #0 + 801bacc: e008 b.n 801bae0 <__ulp+0x3c> + 801bace: f1a2 0314 sub.w r3, r2, #20 + 801bad2: 2b1e cmp r3, #30 + 801bad4: bfda itte le + 801bad6: f04f 4200 movle.w r2, #2147483648 @ 0x80000000 + 801bada: 40da lsrle r2, r3 + 801badc: 2201 movgt r2, #1 + 801bade: 2300 movs r3, #0 + 801bae0: 4619 mov r1, r3 + 801bae2: 4610 mov r0, r2 + 801bae4: ec41 0b10 vmov d0, r0, r1 + 801bae8: b002 add sp, #8 + 801baea: 4770 bx lr + 801baec: 7ff00000 .word 0x7ff00000 -0801b248 <__b2d>: - 801b248: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 801b24c: 6906 ldr r6, [r0, #16] - 801b24e: f100 0814 add.w r8, r0, #20 - 801b252: eb08 0686 add.w r6, r8, r6, lsl #2 - 801b256: 1f37 subs r7, r6, #4 - 801b258: f856 2c04 ldr.w r2, [r6, #-4] - 801b25c: 4610 mov r0, r2 - 801b25e: f7ff fd43 bl 801ace8 <__hi0bits> - 801b262: f1c0 0320 rsb r3, r0, #32 - 801b266: 280a cmp r0, #10 - 801b268: 600b str r3, [r1, #0] - 801b26a: 491b ldr r1, [pc, #108] @ (801b2d8 <__b2d+0x90>) - 801b26c: dc15 bgt.n 801b29a <__b2d+0x52> - 801b26e: f1c0 0c0b rsb ip, r0, #11 - 801b272: fa22 f30c lsr.w r3, r2, ip - 801b276: 45b8 cmp r8, r7 - 801b278: ea43 0501 orr.w r5, r3, r1 - 801b27c: bf34 ite cc - 801b27e: f856 3c08 ldrcc.w r3, [r6, #-8] - 801b282: 2300 movcs r3, #0 - 801b284: 3015 adds r0, #21 - 801b286: fa02 f000 lsl.w r0, r2, r0 - 801b28a: fa23 f30c lsr.w r3, r3, ip - 801b28e: 4303 orrs r3, r0 - 801b290: 461c mov r4, r3 - 801b292: ec45 4b10 vmov d0, r4, r5 - 801b296: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 801b29a: 45b8 cmp r8, r7 - 801b29c: bf3a itte cc - 801b29e: f856 3c08 ldrcc.w r3, [r6, #-8] - 801b2a2: f1a6 0708 subcc.w r7, r6, #8 - 801b2a6: 2300 movcs r3, #0 - 801b2a8: 380b subs r0, #11 - 801b2aa: d012 beq.n 801b2d2 <__b2d+0x8a> - 801b2ac: f1c0 0120 rsb r1, r0, #32 - 801b2b0: fa23 f401 lsr.w r4, r3, r1 - 801b2b4: 4082 lsls r2, r0 - 801b2b6: 4322 orrs r2, r4 - 801b2b8: 4547 cmp r7, r8 - 801b2ba: f042 557f orr.w r5, r2, #1069547520 @ 0x3fc00000 - 801b2be: bf8c ite hi - 801b2c0: f857 2c04 ldrhi.w r2, [r7, #-4] - 801b2c4: 2200 movls r2, #0 - 801b2c6: 4083 lsls r3, r0 - 801b2c8: 40ca lsrs r2, r1 - 801b2ca: f445 1540 orr.w r5, r5, #3145728 @ 0x300000 - 801b2ce: 4313 orrs r3, r2 - 801b2d0: e7de b.n 801b290 <__b2d+0x48> - 801b2d2: ea42 0501 orr.w r5, r2, r1 - 801b2d6: e7db b.n 801b290 <__b2d+0x48> - 801b2d8: 3ff00000 .word 0x3ff00000 +0801baf0 <__b2d>: + 801baf0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 801baf4: 6906 ldr r6, [r0, #16] + 801baf6: f100 0814 add.w r8, r0, #20 + 801bafa: eb08 0686 add.w r6, r8, r6, lsl #2 + 801bafe: 1f37 subs r7, r6, #4 + 801bb00: f856 2c04 ldr.w r2, [r6, #-4] + 801bb04: 4610 mov r0, r2 + 801bb06: f7ff fd43 bl 801b590 <__hi0bits> + 801bb0a: f1c0 0320 rsb r3, r0, #32 + 801bb0e: 280a cmp r0, #10 + 801bb10: 600b str r3, [r1, #0] + 801bb12: 491b ldr r1, [pc, #108] @ (801bb80 <__b2d+0x90>) + 801bb14: dc15 bgt.n 801bb42 <__b2d+0x52> + 801bb16: f1c0 0c0b rsb ip, r0, #11 + 801bb1a: fa22 f30c lsr.w r3, r2, ip + 801bb1e: 45b8 cmp r8, r7 + 801bb20: ea43 0501 orr.w r5, r3, r1 + 801bb24: bf34 ite cc + 801bb26: f856 3c08 ldrcc.w r3, [r6, #-8] + 801bb2a: 2300 movcs r3, #0 + 801bb2c: 3015 adds r0, #21 + 801bb2e: fa02 f000 lsl.w r0, r2, r0 + 801bb32: fa23 f30c lsr.w r3, r3, ip + 801bb36: 4303 orrs r3, r0 + 801bb38: 461c mov r4, r3 + 801bb3a: ec45 4b10 vmov d0, r4, r5 + 801bb3e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 801bb42: 45b8 cmp r8, r7 + 801bb44: bf3a itte cc + 801bb46: f856 3c08 ldrcc.w r3, [r6, #-8] + 801bb4a: f1a6 0708 subcc.w r7, r6, #8 + 801bb4e: 2300 movcs r3, #0 + 801bb50: 380b subs r0, #11 + 801bb52: d012 beq.n 801bb7a <__b2d+0x8a> + 801bb54: f1c0 0120 rsb r1, r0, #32 + 801bb58: fa23 f401 lsr.w r4, r3, r1 + 801bb5c: 4082 lsls r2, r0 + 801bb5e: 4322 orrs r2, r4 + 801bb60: 4547 cmp r7, r8 + 801bb62: f042 557f orr.w r5, r2, #1069547520 @ 0x3fc00000 + 801bb66: bf8c ite hi + 801bb68: f857 2c04 ldrhi.w r2, [r7, #-4] + 801bb6c: 2200 movls r2, #0 + 801bb6e: 4083 lsls r3, r0 + 801bb70: 40ca lsrs r2, r1 + 801bb72: f445 1540 orr.w r5, r5, #3145728 @ 0x300000 + 801bb76: 4313 orrs r3, r2 + 801bb78: e7de b.n 801bb38 <__b2d+0x48> + 801bb7a: ea42 0501 orr.w r5, r2, r1 + 801bb7e: e7db b.n 801bb38 <__b2d+0x48> + 801bb80: 3ff00000 .word 0x3ff00000 -0801b2dc <__d2b>: - 801b2dc: e92d 43f7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr} - 801b2e0: 460f mov r7, r1 - 801b2e2: 2101 movs r1, #1 - 801b2e4: ec59 8b10 vmov r8, r9, d0 - 801b2e8: 4616 mov r6, r2 - 801b2ea: f7ff fc0d bl 801ab08 <_Balloc> - 801b2ee: 4604 mov r4, r0 - 801b2f0: b930 cbnz r0, 801b300 <__d2b+0x24> - 801b2f2: 4602 mov r2, r0 - 801b2f4: 4b23 ldr r3, [pc, #140] @ (801b384 <__d2b+0xa8>) - 801b2f6: 4824 ldr r0, [pc, #144] @ (801b388 <__d2b+0xac>) - 801b2f8: f240 310f movw r1, #783 @ 0x30f - 801b2fc: f001 fb3c bl 801c978 <__assert_func> - 801b300: f3c9 550a ubfx r5, r9, #20, #11 - 801b304: f3c9 0313 ubfx r3, r9, #0, #20 - 801b308: b10d cbz r5, 801b30e <__d2b+0x32> - 801b30a: f443 1380 orr.w r3, r3, #1048576 @ 0x100000 - 801b30e: 9301 str r3, [sp, #4] - 801b310: f1b8 0300 subs.w r3, r8, #0 - 801b314: d023 beq.n 801b35e <__d2b+0x82> - 801b316: 4668 mov r0, sp - 801b318: 9300 str r3, [sp, #0] - 801b31a: f7ff fd04 bl 801ad26 <__lo0bits> - 801b31e: 9900 ldr r1, [sp, #0] - 801b320: b1d8 cbz r0, 801b35a <__d2b+0x7e> - 801b322: 9a01 ldr r2, [sp, #4] - 801b324: f1c0 0320 rsb r3, r0, #32 - 801b328: fa02 f303 lsl.w r3, r2, r3 - 801b32c: 430b orrs r3, r1 - 801b32e: 40c2 lsrs r2, r0 - 801b330: 6163 str r3, [r4, #20] - 801b332: 9201 str r2, [sp, #4] - 801b334: 9b01 ldr r3, [sp, #4] - 801b336: 61a3 str r3, [r4, #24] - 801b338: 2b00 cmp r3, #0 - 801b33a: bf0c ite eq - 801b33c: 2201 moveq r2, #1 - 801b33e: 2202 movne r2, #2 - 801b340: 6122 str r2, [r4, #16] - 801b342: b1a5 cbz r5, 801b36e <__d2b+0x92> - 801b344: f2a5 4533 subw r5, r5, #1075 @ 0x433 - 801b348: 4405 add r5, r0 - 801b34a: 603d str r5, [r7, #0] - 801b34c: f1c0 0035 rsb r0, r0, #53 @ 0x35 - 801b350: 6030 str r0, [r6, #0] - 801b352: 4620 mov r0, r4 - 801b354: b003 add sp, #12 - 801b356: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 801b35a: 6161 str r1, [r4, #20] - 801b35c: e7ea b.n 801b334 <__d2b+0x58> - 801b35e: a801 add r0, sp, #4 - 801b360: f7ff fce1 bl 801ad26 <__lo0bits> - 801b364: 9b01 ldr r3, [sp, #4] - 801b366: 6163 str r3, [r4, #20] - 801b368: 3020 adds r0, #32 - 801b36a: 2201 movs r2, #1 - 801b36c: e7e8 b.n 801b340 <__d2b+0x64> - 801b36e: eb04 0382 add.w r3, r4, r2, lsl #2 - 801b372: f2a0 4032 subw r0, r0, #1074 @ 0x432 - 801b376: 6038 str r0, [r7, #0] - 801b378: 6918 ldr r0, [r3, #16] - 801b37a: f7ff fcb5 bl 801ace8 <__hi0bits> - 801b37e: ebc0 1042 rsb r0, r0, r2, lsl #5 - 801b382: e7e5 b.n 801b350 <__d2b+0x74> - 801b384: 0801dd65 .word 0x0801dd65 - 801b388: 0801dd76 .word 0x0801dd76 +0801bb84 <__d2b>: + 801bb84: e92d 43f7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr} + 801bb88: 460f mov r7, r1 + 801bb8a: 2101 movs r1, #1 + 801bb8c: ec59 8b10 vmov r8, r9, d0 + 801bb90: 4616 mov r6, r2 + 801bb92: f7ff fc0d bl 801b3b0 <_Balloc> + 801bb96: 4604 mov r4, r0 + 801bb98: b930 cbnz r0, 801bba8 <__d2b+0x24> + 801bb9a: 4602 mov r2, r0 + 801bb9c: 4b23 ldr r3, [pc, #140] @ (801bc2c <__d2b+0xa8>) + 801bb9e: 4824 ldr r0, [pc, #144] @ (801bc30 <__d2b+0xac>) + 801bba0: f240 310f movw r1, #783 @ 0x30f + 801bba4: f001 fb50 bl 801d248 <__assert_func> + 801bba8: f3c9 550a ubfx r5, r9, #20, #11 + 801bbac: f3c9 0313 ubfx r3, r9, #0, #20 + 801bbb0: b10d cbz r5, 801bbb6 <__d2b+0x32> + 801bbb2: f443 1380 orr.w r3, r3, #1048576 @ 0x100000 + 801bbb6: 9301 str r3, [sp, #4] + 801bbb8: f1b8 0300 subs.w r3, r8, #0 + 801bbbc: d023 beq.n 801bc06 <__d2b+0x82> + 801bbbe: 4668 mov r0, sp + 801bbc0: 9300 str r3, [sp, #0] + 801bbc2: f7ff fd04 bl 801b5ce <__lo0bits> + 801bbc6: 9900 ldr r1, [sp, #0] + 801bbc8: b1d8 cbz r0, 801bc02 <__d2b+0x7e> + 801bbca: 9a01 ldr r2, [sp, #4] + 801bbcc: f1c0 0320 rsb r3, r0, #32 + 801bbd0: fa02 f303 lsl.w r3, r2, r3 + 801bbd4: 430b orrs r3, r1 + 801bbd6: 40c2 lsrs r2, r0 + 801bbd8: 6163 str r3, [r4, #20] + 801bbda: 9201 str r2, [sp, #4] + 801bbdc: 9b01 ldr r3, [sp, #4] + 801bbde: 61a3 str r3, [r4, #24] + 801bbe0: 2b00 cmp r3, #0 + 801bbe2: bf0c ite eq + 801bbe4: 2201 moveq r2, #1 + 801bbe6: 2202 movne r2, #2 + 801bbe8: 6122 str r2, [r4, #16] + 801bbea: b1a5 cbz r5, 801bc16 <__d2b+0x92> + 801bbec: f2a5 4533 subw r5, r5, #1075 @ 0x433 + 801bbf0: 4405 add r5, r0 + 801bbf2: 603d str r5, [r7, #0] + 801bbf4: f1c0 0035 rsb r0, r0, #53 @ 0x35 + 801bbf8: 6030 str r0, [r6, #0] + 801bbfa: 4620 mov r0, r4 + 801bbfc: b003 add sp, #12 + 801bbfe: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 801bc02: 6161 str r1, [r4, #20] + 801bc04: e7ea b.n 801bbdc <__d2b+0x58> + 801bc06: a801 add r0, sp, #4 + 801bc08: f7ff fce1 bl 801b5ce <__lo0bits> + 801bc0c: 9b01 ldr r3, [sp, #4] + 801bc0e: 6163 str r3, [r4, #20] + 801bc10: 3020 adds r0, #32 + 801bc12: 2201 movs r2, #1 + 801bc14: e7e8 b.n 801bbe8 <__d2b+0x64> + 801bc16: eb04 0382 add.w r3, r4, r2, lsl #2 + 801bc1a: f2a0 4032 subw r0, r0, #1074 @ 0x432 + 801bc1e: 6038 str r0, [r7, #0] + 801bc20: 6918 ldr r0, [r3, #16] + 801bc22: f7ff fcb5 bl 801b590 <__hi0bits> + 801bc26: ebc0 1042 rsb r0, r0, r2, lsl #5 + 801bc2a: e7e5 b.n 801bbf8 <__d2b+0x74> + 801bc2c: 0801e6c5 .word 0x0801e6c5 + 801bc30: 0801e6d6 .word 0x0801e6d6 -0801b38c <__ratio>: - 801b38c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801b390: b085 sub sp, #20 - 801b392: e9cd 1000 strd r1, r0, [sp] - 801b396: a902 add r1, sp, #8 - 801b398: f7ff ff56 bl 801b248 <__b2d> - 801b39c: 9800 ldr r0, [sp, #0] - 801b39e: a903 add r1, sp, #12 - 801b3a0: ec55 4b10 vmov r4, r5, d0 - 801b3a4: f7ff ff50 bl 801b248 <__b2d> - 801b3a8: 9b01 ldr r3, [sp, #4] - 801b3aa: 6919 ldr r1, [r3, #16] - 801b3ac: 9b00 ldr r3, [sp, #0] - 801b3ae: 691b ldr r3, [r3, #16] - 801b3b0: 1ac9 subs r1, r1, r3 - 801b3b2: e9dd 3202 ldrd r3, r2, [sp, #8] - 801b3b6: 1a9b subs r3, r3, r2 - 801b3b8: ec5b ab10 vmov sl, fp, d0 - 801b3bc: eb03 1341 add.w r3, r3, r1, lsl #5 - 801b3c0: 2b00 cmp r3, #0 - 801b3c2: bfce itee gt - 801b3c4: 462a movgt r2, r5 - 801b3c6: ebc3 3303 rsble r3, r3, r3, lsl #12 - 801b3ca: 465a movle r2, fp - 801b3cc: 462f mov r7, r5 - 801b3ce: 46d9 mov r9, fp - 801b3d0: bfcc ite gt - 801b3d2: eb02 5703 addgt.w r7, r2, r3, lsl #20 - 801b3d6: eb02 5903 addle.w r9, r2, r3, lsl #20 - 801b3da: 464b mov r3, r9 - 801b3dc: 4652 mov r2, sl - 801b3de: 4620 mov r0, r4 - 801b3e0: 4639 mov r1, r7 - 801b3e2: f7e5 fa0b bl 80007fc <__aeabi_ddiv> - 801b3e6: ec41 0b10 vmov d0, r0, r1 - 801b3ea: b005 add sp, #20 - 801b3ec: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} +0801bc34 <__ratio>: + 801bc34: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801bc38: b085 sub sp, #20 + 801bc3a: e9cd 1000 strd r1, r0, [sp] + 801bc3e: a902 add r1, sp, #8 + 801bc40: f7ff ff56 bl 801baf0 <__b2d> + 801bc44: 9800 ldr r0, [sp, #0] + 801bc46: a903 add r1, sp, #12 + 801bc48: ec55 4b10 vmov r4, r5, d0 + 801bc4c: f7ff ff50 bl 801baf0 <__b2d> + 801bc50: 9b01 ldr r3, [sp, #4] + 801bc52: 6919 ldr r1, [r3, #16] + 801bc54: 9b00 ldr r3, [sp, #0] + 801bc56: 691b ldr r3, [r3, #16] + 801bc58: 1ac9 subs r1, r1, r3 + 801bc5a: e9dd 3202 ldrd r3, r2, [sp, #8] + 801bc5e: 1a9b subs r3, r3, r2 + 801bc60: ec5b ab10 vmov sl, fp, d0 + 801bc64: eb03 1341 add.w r3, r3, r1, lsl #5 + 801bc68: 2b00 cmp r3, #0 + 801bc6a: bfce itee gt + 801bc6c: 462a movgt r2, r5 + 801bc6e: ebc3 3303 rsble r3, r3, r3, lsl #12 + 801bc72: 465a movle r2, fp + 801bc74: 462f mov r7, r5 + 801bc76: 46d9 mov r9, fp + 801bc78: bfcc ite gt + 801bc7a: eb02 5703 addgt.w r7, r2, r3, lsl #20 + 801bc7e: eb02 5903 addle.w r9, r2, r3, lsl #20 + 801bc82: 464b mov r3, r9 + 801bc84: 4652 mov r2, sl + 801bc86: 4620 mov r0, r4 + 801bc88: 4639 mov r1, r7 + 801bc8a: f7e4 fdb7 bl 80007fc <__aeabi_ddiv> + 801bc8e: ec41 0b10 vmov d0, r0, r1 + 801bc92: b005 add sp, #20 + 801bc94: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -0801b3f0 <__copybits>: - 801b3f0: 3901 subs r1, #1 - 801b3f2: b570 push {r4, r5, r6, lr} - 801b3f4: 1149 asrs r1, r1, #5 - 801b3f6: 6914 ldr r4, [r2, #16] - 801b3f8: 3101 adds r1, #1 - 801b3fa: f102 0314 add.w r3, r2, #20 - 801b3fe: eb00 0181 add.w r1, r0, r1, lsl #2 - 801b402: eb03 0484 add.w r4, r3, r4, lsl #2 - 801b406: 1f05 subs r5, r0, #4 - 801b408: 42a3 cmp r3, r4 - 801b40a: d30c bcc.n 801b426 <__copybits+0x36> - 801b40c: 1aa3 subs r3, r4, r2 - 801b40e: 3b11 subs r3, #17 - 801b410: f023 0303 bic.w r3, r3, #3 - 801b414: 3211 adds r2, #17 - 801b416: 4294 cmp r4, r2 - 801b418: bf38 it cc - 801b41a: 2300 movcc r3, #0 - 801b41c: 4418 add r0, r3 - 801b41e: 2300 movs r3, #0 - 801b420: 4288 cmp r0, r1 - 801b422: d305 bcc.n 801b430 <__copybits+0x40> - 801b424: bd70 pop {r4, r5, r6, pc} - 801b426: f853 6b04 ldr.w r6, [r3], #4 - 801b42a: f845 6f04 str.w r6, [r5, #4]! - 801b42e: e7eb b.n 801b408 <__copybits+0x18> - 801b430: f840 3b04 str.w r3, [r0], #4 - 801b434: e7f4 b.n 801b420 <__copybits+0x30> +0801bc98 <__copybits>: + 801bc98: 3901 subs r1, #1 + 801bc9a: b570 push {r4, r5, r6, lr} + 801bc9c: 1149 asrs r1, r1, #5 + 801bc9e: 6914 ldr r4, [r2, #16] + 801bca0: 3101 adds r1, #1 + 801bca2: f102 0314 add.w r3, r2, #20 + 801bca6: eb00 0181 add.w r1, r0, r1, lsl #2 + 801bcaa: eb03 0484 add.w r4, r3, r4, lsl #2 + 801bcae: 1f05 subs r5, r0, #4 + 801bcb0: 42a3 cmp r3, r4 + 801bcb2: d30c bcc.n 801bcce <__copybits+0x36> + 801bcb4: 1aa3 subs r3, r4, r2 + 801bcb6: 3b11 subs r3, #17 + 801bcb8: f023 0303 bic.w r3, r3, #3 + 801bcbc: 3211 adds r2, #17 + 801bcbe: 4294 cmp r4, r2 + 801bcc0: bf38 it cc + 801bcc2: 2300 movcc r3, #0 + 801bcc4: 4418 add r0, r3 + 801bcc6: 2300 movs r3, #0 + 801bcc8: 4288 cmp r0, r1 + 801bcca: d305 bcc.n 801bcd8 <__copybits+0x40> + 801bccc: bd70 pop {r4, r5, r6, pc} + 801bcce: f853 6b04 ldr.w r6, [r3], #4 + 801bcd2: f845 6f04 str.w r6, [r5, #4]! + 801bcd6: e7eb b.n 801bcb0 <__copybits+0x18> + 801bcd8: f840 3b04 str.w r3, [r0], #4 + 801bcdc: e7f4 b.n 801bcc8 <__copybits+0x30> -0801b436 <__any_on>: - 801b436: f100 0214 add.w r2, r0, #20 - 801b43a: 6900 ldr r0, [r0, #16] - 801b43c: 114b asrs r3, r1, #5 - 801b43e: 4298 cmp r0, r3 - 801b440: b510 push {r4, lr} - 801b442: db11 blt.n 801b468 <__any_on+0x32> - 801b444: dd0a ble.n 801b45c <__any_on+0x26> - 801b446: f011 011f ands.w r1, r1, #31 - 801b44a: d007 beq.n 801b45c <__any_on+0x26> - 801b44c: f852 4023 ldr.w r4, [r2, r3, lsl #2] - 801b450: fa24 f001 lsr.w r0, r4, r1 - 801b454: fa00 f101 lsl.w r1, r0, r1 - 801b458: 428c cmp r4, r1 - 801b45a: d10b bne.n 801b474 <__any_on+0x3e> - 801b45c: eb02 0383 add.w r3, r2, r3, lsl #2 - 801b460: 4293 cmp r3, r2 - 801b462: d803 bhi.n 801b46c <__any_on+0x36> - 801b464: 2000 movs r0, #0 - 801b466: bd10 pop {r4, pc} - 801b468: 4603 mov r3, r0 - 801b46a: e7f7 b.n 801b45c <__any_on+0x26> - 801b46c: f853 1d04 ldr.w r1, [r3, #-4]! - 801b470: 2900 cmp r1, #0 - 801b472: d0f5 beq.n 801b460 <__any_on+0x2a> - 801b474: 2001 movs r0, #1 - 801b476: e7f6 b.n 801b466 <__any_on+0x30> +0801bcde <__any_on>: + 801bcde: f100 0214 add.w r2, r0, #20 + 801bce2: 6900 ldr r0, [r0, #16] + 801bce4: 114b asrs r3, r1, #5 + 801bce6: 4298 cmp r0, r3 + 801bce8: b510 push {r4, lr} + 801bcea: db11 blt.n 801bd10 <__any_on+0x32> + 801bcec: dd0a ble.n 801bd04 <__any_on+0x26> + 801bcee: f011 011f ands.w r1, r1, #31 + 801bcf2: d007 beq.n 801bd04 <__any_on+0x26> + 801bcf4: f852 4023 ldr.w r4, [r2, r3, lsl #2] + 801bcf8: fa24 f001 lsr.w r0, r4, r1 + 801bcfc: fa00 f101 lsl.w r1, r0, r1 + 801bd00: 428c cmp r4, r1 + 801bd02: d10b bne.n 801bd1c <__any_on+0x3e> + 801bd04: eb02 0383 add.w r3, r2, r3, lsl #2 + 801bd08: 4293 cmp r3, r2 + 801bd0a: d803 bhi.n 801bd14 <__any_on+0x36> + 801bd0c: 2000 movs r0, #0 + 801bd0e: bd10 pop {r4, pc} + 801bd10: 4603 mov r3, r0 + 801bd12: e7f7 b.n 801bd04 <__any_on+0x26> + 801bd14: f853 1d04 ldr.w r1, [r3, #-4]! + 801bd18: 2900 cmp r1, #0 + 801bd1a: d0f5 beq.n 801bd08 <__any_on+0x2a> + 801bd1c: 2001 movs r0, #1 + 801bd1e: e7f6 b.n 801bd0e <__any_on+0x30> -0801b478 : - 801b478: b570 push {r4, r5, r6, lr} - 801b47a: 4604 mov r4, r0 - 801b47c: 460d mov r5, r1 - 801b47e: ec45 4b10 vmov d0, r4, r5 - 801b482: 4616 mov r6, r2 - 801b484: f7ff feba bl 801b1fc <__ulp> - 801b488: ec51 0b10 vmov r0, r1, d0 - 801b48c: b17e cbz r6, 801b4ae - 801b48e: f3c5 530a ubfx r3, r5, #20, #11 - 801b492: f1c3 036b rsb r3, r3, #107 @ 0x6b - 801b496: 2b00 cmp r3, #0 - 801b498: dd09 ble.n 801b4ae - 801b49a: 051b lsls r3, r3, #20 - 801b49c: f103 557f add.w r5, r3, #1069547520 @ 0x3fc00000 - 801b4a0: 2400 movs r4, #0 - 801b4a2: f505 1540 add.w r5, r5, #3145728 @ 0x300000 - 801b4a6: 4622 mov r2, r4 - 801b4a8: 462b mov r3, r5 - 801b4aa: f7e5 f87d bl 80005a8 <__aeabi_dmul> - 801b4ae: ec41 0b10 vmov d0, r0, r1 - 801b4b2: bd70 pop {r4, r5, r6, pc} - 801b4b4: 0000 movs r0, r0 +0801bd20 : + 801bd20: b570 push {r4, r5, r6, lr} + 801bd22: 4604 mov r4, r0 + 801bd24: 460d mov r5, r1 + 801bd26: ec45 4b10 vmov d0, r4, r5 + 801bd2a: 4616 mov r6, r2 + 801bd2c: f7ff feba bl 801baa4 <__ulp> + 801bd30: ec51 0b10 vmov r0, r1, d0 + 801bd34: b17e cbz r6, 801bd56 + 801bd36: f3c5 530a ubfx r3, r5, #20, #11 + 801bd3a: f1c3 036b rsb r3, r3, #107 @ 0x6b + 801bd3e: 2b00 cmp r3, #0 + 801bd40: dd09 ble.n 801bd56 + 801bd42: 051b lsls r3, r3, #20 + 801bd44: f103 557f add.w r5, r3, #1069547520 @ 0x3fc00000 + 801bd48: 2400 movs r4, #0 + 801bd4a: f505 1540 add.w r5, r5, #3145728 @ 0x300000 + 801bd4e: 4622 mov r2, r4 + 801bd50: 462b mov r3, r5 + 801bd52: f7e4 fc29 bl 80005a8 <__aeabi_dmul> + 801bd56: ec41 0b10 vmov d0, r0, r1 + 801bd5a: bd70 pop {r4, r5, r6, pc} + 801bd5c: 0000 movs r0, r0 ... -0801b4b8 <_strtod_l>: - 801b4b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801b4bc: b09d sub sp, #116 @ 0x74 - 801b4be: 460e mov r6, r1 - 801b4c0: 9215 str r2, [sp, #84] @ 0x54 - 801b4c2: 2200 movs r2, #0 - 801b4c4: 9004 str r0, [sp, #16] - 801b4c6: 9218 str r2, [sp, #96] @ 0x60 - 801b4c8: f04f 0800 mov.w r8, #0 - 801b4cc: f04f 0900 mov.w r9, #0 - 801b4d0: 9117 str r1, [sp, #92] @ 0x5c - 801b4d2: 780a ldrb r2, [r1, #0] - 801b4d4: 2a2b cmp r2, #43 @ 0x2b - 801b4d6: 460d mov r5, r1 - 801b4d8: f101 0101 add.w r1, r1, #1 - 801b4dc: d01d beq.n 801b51a <_strtod_l+0x62> - 801b4de: d80b bhi.n 801b4f8 <_strtod_l+0x40> - 801b4e0: 2a0d cmp r2, #13 - 801b4e2: d806 bhi.n 801b4f2 <_strtod_l+0x3a> - 801b4e4: 2a08 cmp r2, #8 - 801b4e6: d8f3 bhi.n 801b4d0 <_strtod_l+0x18> - 801b4e8: b17a cbz r2, 801b50a <_strtod_l+0x52> - 801b4ea: 2300 movs r3, #0 - 801b4ec: 930b str r3, [sp, #44] @ 0x2c - 801b4ee: 469a mov sl, r3 - 801b4f0: e083 b.n 801b5fa <_strtod_l+0x142> - 801b4f2: 2a20 cmp r2, #32 - 801b4f4: d0ec beq.n 801b4d0 <_strtod_l+0x18> - 801b4f6: e7f8 b.n 801b4ea <_strtod_l+0x32> - 801b4f8: 2a2d cmp r2, #45 @ 0x2d - 801b4fa: d110 bne.n 801b51e <_strtod_l+0x66> - 801b4fc: 2201 movs r2, #1 - 801b4fe: 1c69 adds r1, r5, #1 - 801b500: 9117 str r1, [sp, #92] @ 0x5c - 801b502: 920b str r2, [sp, #44] @ 0x2c - 801b504: 786a ldrb r2, [r5, #1] - 801b506: 2a00 cmp r2, #0 - 801b508: d137 bne.n 801b57a <_strtod_l+0xc2> - 801b50a: 9b15 ldr r3, [sp, #84] @ 0x54 - 801b50c: 9617 str r6, [sp, #92] @ 0x5c - 801b50e: 2b00 cmp r3, #0 - 801b510: f040 8595 bne.w 801c03e <_strtod_l+0xb86> - 801b514: 4642 mov r2, r8 - 801b516: 464b mov r3, r9 - 801b518: e02a b.n 801b570 <_strtod_l+0xb8> - 801b51a: 2200 movs r2, #0 - 801b51c: e7ef b.n 801b4fe <_strtod_l+0x46> - 801b51e: 2100 movs r1, #0 - 801b520: 910b str r1, [sp, #44] @ 0x2c - 801b522: 2a30 cmp r2, #48 @ 0x30 - 801b524: f040 809b bne.w 801b65e <_strtod_l+0x1a6> - 801b528: 786a ldrb r2, [r5, #1] - 801b52a: f002 02df and.w r2, r2, #223 @ 0xdf - 801b52e: 2a58 cmp r2, #88 @ 0x58 - 801b530: d15a bne.n 801b5e8 <_strtod_l+0x130> - 801b532: 9302 str r3, [sp, #8] - 801b534: 9b0b ldr r3, [sp, #44] @ 0x2c - 801b536: 9301 str r3, [sp, #4] - 801b538: ab18 add r3, sp, #96 @ 0x60 - 801b53a: 9300 str r3, [sp, #0] - 801b53c: 4a81 ldr r2, [pc, #516] @ (801b744 <_strtod_l+0x28c>) - 801b53e: 9804 ldr r0, [sp, #16] - 801b540: ab19 add r3, sp, #100 @ 0x64 - 801b542: a917 add r1, sp, #92 @ 0x5c - 801b544: f001 fab2 bl 801caac <__gethex> - 801b548: f010 060f ands.w r6, r0, #15 - 801b54c: 4604 mov r4, r0 - 801b54e: d005 beq.n 801b55c <_strtod_l+0xa4> - 801b550: 2e06 cmp r6, #6 - 801b552: d114 bne.n 801b57e <_strtod_l+0xc6> - 801b554: 3501 adds r5, #1 - 801b556: 2300 movs r3, #0 - 801b558: 9517 str r5, [sp, #92] @ 0x5c - 801b55a: 930b str r3, [sp, #44] @ 0x2c - 801b55c: 9b15 ldr r3, [sp, #84] @ 0x54 - 801b55e: 2b00 cmp r3, #0 - 801b560: f040 856f bne.w 801c042 <_strtod_l+0xb8a> - 801b564: 9b0b ldr r3, [sp, #44] @ 0x2c - 801b566: 2b00 cmp r3, #0 - 801b568: d0d4 beq.n 801b514 <_strtod_l+0x5c> - 801b56a: 4642 mov r2, r8 - 801b56c: f109 4300 add.w r3, r9, #2147483648 @ 0x80000000 - 801b570: ec43 2b10 vmov d0, r2, r3 - 801b574: b01d add sp, #116 @ 0x74 - 801b576: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 801b57a: 460d mov r5, r1 - 801b57c: e7d1 b.n 801b522 <_strtod_l+0x6a> - 801b57e: 9a18 ldr r2, [sp, #96] @ 0x60 - 801b580: b13a cbz r2, 801b592 <_strtod_l+0xda> - 801b582: 2135 movs r1, #53 @ 0x35 - 801b584: a81a add r0, sp, #104 @ 0x68 - 801b586: f7ff ff33 bl 801b3f0 <__copybits> - 801b58a: 9918 ldr r1, [sp, #96] @ 0x60 - 801b58c: 9804 ldr r0, [sp, #16] - 801b58e: f7ff faf9 bl 801ab84 <_Bfree> - 801b592: 3e01 subs r6, #1 - 801b594: 2e04 cmp r6, #4 - 801b596: d806 bhi.n 801b5a6 <_strtod_l+0xee> - 801b598: e8df f006 tbb [pc, r6] - 801b59c: 211e0314 .word 0x211e0314 - 801b5a0: 14 .byte 0x14 - 801b5a1: 00 .byte 0x00 - 801b5a2: e9dd 891a ldrd r8, r9, [sp, #104] @ 0x68 - 801b5a6: 05e0 lsls r0, r4, #23 - 801b5a8: bf48 it mi - 801b5aa: f049 4900 orrmi.w r9, r9, #2147483648 @ 0x80000000 - 801b5ae: f029 4300 bic.w r3, r9, #2147483648 @ 0x80000000 - 801b5b2: 0d1b lsrs r3, r3, #20 - 801b5b4: 051b lsls r3, r3, #20 - 801b5b6: 2b00 cmp r3, #0 - 801b5b8: d1d0 bne.n 801b55c <_strtod_l+0xa4> - 801b5ba: f7fe fafd bl 8019bb8 <__errno> - 801b5be: 2322 movs r3, #34 @ 0x22 - 801b5c0: 6003 str r3, [r0, #0] - 801b5c2: e7cb b.n 801b55c <_strtod_l+0xa4> - 801b5c4: e9dd 831a ldrd r8, r3, [sp, #104] @ 0x68 - 801b5c8: 9a19 ldr r2, [sp, #100] @ 0x64 - 801b5ca: f423 1380 bic.w r3, r3, #1048576 @ 0x100000 - 801b5ce: f202 4233 addw r2, r2, #1075 @ 0x433 - 801b5d2: ea43 5902 orr.w r9, r3, r2, lsl #20 - 801b5d6: e7e6 b.n 801b5a6 <_strtod_l+0xee> - 801b5d8: f8df 9170 ldr.w r9, [pc, #368] @ 801b74c <_strtod_l+0x294> - 801b5dc: e7e3 b.n 801b5a6 <_strtod_l+0xee> - 801b5de: f06f 4900 mvn.w r9, #2147483648 @ 0x80000000 - 801b5e2: f04f 38ff mov.w r8, #4294967295 @ 0xffffffff - 801b5e6: e7de b.n 801b5a6 <_strtod_l+0xee> - 801b5e8: 3501 adds r5, #1 - 801b5ea: 9517 str r5, [sp, #92] @ 0x5c - 801b5ec: 782b ldrb r3, [r5, #0] - 801b5ee: 2b30 cmp r3, #48 @ 0x30 - 801b5f0: d0fa beq.n 801b5e8 <_strtod_l+0x130> - 801b5f2: 2b00 cmp r3, #0 - 801b5f4: d0b2 beq.n 801b55c <_strtod_l+0xa4> - 801b5f6: f04f 0a01 mov.w sl, #1 - 801b5fa: 2700 movs r7, #0 - 801b5fc: 462b mov r3, r5 - 801b5fe: 970e str r7, [sp, #56] @ 0x38 - 801b600: 46bb mov fp, r7 - 801b602: 210a movs r1, #10 - 801b604: 4618 mov r0, r3 - 801b606: f813 4b01 ldrb.w r4, [r3], #1 - 801b60a: f1a4 0230 sub.w r2, r4, #48 @ 0x30 - 801b60e: 2a09 cmp r2, #9 - 801b610: d928 bls.n 801b664 <_strtod_l+0x1ac> - 801b612: 494d ldr r1, [pc, #308] @ (801b748 <_strtod_l+0x290>) - 801b614: 2201 movs r2, #1 - 801b616: f001 f963 bl 801c8e0 - 801b61a: 2800 cmp r0, #0 - 801b61c: d034 beq.n 801b688 <_strtod_l+0x1d0> - 801b61e: 2000 movs r0, #0 - 801b620: e9cd 0006 strd r0, r0, [sp, #24] - 801b624: 4622 mov r2, r4 - 801b626: 465c mov r4, fp - 801b628: 2a65 cmp r2, #101 @ 0x65 - 801b62a: d001 beq.n 801b630 <_strtod_l+0x178> - 801b62c: 2a45 cmp r2, #69 @ 0x45 - 801b62e: d114 bne.n 801b65a <_strtod_l+0x1a2> - 801b630: b924 cbnz r4, 801b63c <_strtod_l+0x184> - 801b632: ea5a 0300 orrs.w r3, sl, r0 - 801b636: f43f af68 beq.w 801b50a <_strtod_l+0x52> - 801b63a: 2400 movs r4, #0 - 801b63c: 9e17 ldr r6, [sp, #92] @ 0x5c - 801b63e: 1c73 adds r3, r6, #1 - 801b640: 9317 str r3, [sp, #92] @ 0x5c - 801b642: 7872 ldrb r2, [r6, #1] - 801b644: 2a2b cmp r2, #43 @ 0x2b - 801b646: d073 beq.n 801b730 <_strtod_l+0x278> - 801b648: 2a2d cmp r2, #45 @ 0x2d - 801b64a: d077 beq.n 801b73c <_strtod_l+0x284> - 801b64c: f04f 0c00 mov.w ip, #0 - 801b650: f1a2 0330 sub.w r3, r2, #48 @ 0x30 - 801b654: 2b09 cmp r3, #9 - 801b656: d97f bls.n 801b758 <_strtod_l+0x2a0> - 801b658: 9617 str r6, [sp, #92] @ 0x5c - 801b65a: 2300 movs r3, #0 - 801b65c: e09e b.n 801b79c <_strtod_l+0x2e4> - 801b65e: f04f 0a00 mov.w sl, #0 - 801b662: e7ca b.n 801b5fa <_strtod_l+0x142> - 801b664: f1bb 0f08 cmp.w fp, #8 - 801b668: bfd8 it le - 801b66a: 9a0e ldrle r2, [sp, #56] @ 0x38 - 801b66c: 9317 str r3, [sp, #92] @ 0x5c - 801b66e: bfdb ittet le - 801b670: fb01 4202 mlale r2, r1, r2, r4 - 801b674: 3a30 suble r2, #48 @ 0x30 - 801b676: fb01 4207 mlagt r2, r1, r7, r4 - 801b67a: 920e strle r2, [sp, #56] @ 0x38 - 801b67c: bfc8 it gt - 801b67e: f1a2 0730 subgt.w r7, r2, #48 @ 0x30 - 801b682: f10b 0b01 add.w fp, fp, #1 - 801b686: e7bd b.n 801b604 <_strtod_l+0x14c> - 801b688: 9b17 ldr r3, [sp, #92] @ 0x5c - 801b68a: 1c5a adds r2, r3, #1 - 801b68c: 9217 str r2, [sp, #92] @ 0x5c - 801b68e: 785a ldrb r2, [r3, #1] - 801b690: f1bb 0f00 cmp.w fp, #0 - 801b694: d033 beq.n 801b6fe <_strtod_l+0x246> - 801b696: 9006 str r0, [sp, #24] - 801b698: 465c mov r4, fp - 801b69a: f1a2 0330 sub.w r3, r2, #48 @ 0x30 - 801b69e: 2b09 cmp r3, #9 - 801b6a0: d912 bls.n 801b6c8 <_strtod_l+0x210> - 801b6a2: 2301 movs r3, #1 - 801b6a4: 9307 str r3, [sp, #28] - 801b6a6: e7bf b.n 801b628 <_strtod_l+0x170> - 801b6a8: 9b17 ldr r3, [sp, #92] @ 0x5c - 801b6aa: 1c5a adds r2, r3, #1 - 801b6ac: 9217 str r2, [sp, #92] @ 0x5c - 801b6ae: 785a ldrb r2, [r3, #1] - 801b6b0: 3001 adds r0, #1 - 801b6b2: 2a30 cmp r2, #48 @ 0x30 - 801b6b4: d0f8 beq.n 801b6a8 <_strtod_l+0x1f0> - 801b6b6: f1a2 0331 sub.w r3, r2, #49 @ 0x31 - 801b6ba: 2b08 cmp r3, #8 - 801b6bc: f200 84c6 bhi.w 801c04c <_strtod_l+0xb94> - 801b6c0: 9006 str r0, [sp, #24] - 801b6c2: 9d17 ldr r5, [sp, #92] @ 0x5c - 801b6c4: 2000 movs r0, #0 - 801b6c6: 4604 mov r4, r0 - 801b6c8: 3a30 subs r2, #48 @ 0x30 - 801b6ca: f100 0301 add.w r3, r0, #1 - 801b6ce: d010 beq.n 801b6f2 <_strtod_l+0x23a> - 801b6d0: 9906 ldr r1, [sp, #24] - 801b6d2: 4419 add r1, r3 - 801b6d4: 9106 str r1, [sp, #24] - 801b6d6: 4420 add r0, r4 - 801b6d8: 230a movs r3, #10 - 801b6da: 42a0 cmp r0, r4 - 801b6dc: d111 bne.n 801b702 <_strtod_l+0x24a> - 801b6de: 2808 cmp r0, #8 - 801b6e0: f100 0401 add.w r4, r0, #1 - 801b6e4: dc19 bgt.n 801b71a <_strtod_l+0x262> - 801b6e6: 990e ldr r1, [sp, #56] @ 0x38 - 801b6e8: 230a movs r3, #10 - 801b6ea: fb03 2301 mla r3, r3, r1, r2 - 801b6ee: 930e str r3, [sp, #56] @ 0x38 - 801b6f0: 2300 movs r3, #0 - 801b6f2: 9a17 ldr r2, [sp, #92] @ 0x5c - 801b6f4: 1c51 adds r1, r2, #1 - 801b6f6: 9117 str r1, [sp, #92] @ 0x5c - 801b6f8: 7852 ldrb r2, [r2, #1] - 801b6fa: 4618 mov r0, r3 - 801b6fc: e7cd b.n 801b69a <_strtod_l+0x1e2> - 801b6fe: 4658 mov r0, fp - 801b700: e7d7 b.n 801b6b2 <_strtod_l+0x1fa> - 801b702: 2c08 cmp r4, #8 - 801b704: f104 0401 add.w r4, r4, #1 - 801b708: dc03 bgt.n 801b712 <_strtod_l+0x25a> - 801b70a: 990e ldr r1, [sp, #56] @ 0x38 - 801b70c: 4359 muls r1, r3 - 801b70e: 910e str r1, [sp, #56] @ 0x38 - 801b710: e7e3 b.n 801b6da <_strtod_l+0x222> - 801b712: 2c10 cmp r4, #16 - 801b714: bfd8 it le - 801b716: 435f mulle r7, r3 - 801b718: e7df b.n 801b6da <_strtod_l+0x222> - 801b71a: 280f cmp r0, #15 - 801b71c: bfdc itt le - 801b71e: 230a movle r3, #10 - 801b720: fb03 2707 mlale r7, r3, r7, r2 - 801b724: e7e4 b.n 801b6f0 <_strtod_l+0x238> - 801b726: 2100 movs r1, #0 - 801b728: 2301 movs r3, #1 - 801b72a: e9cd 1306 strd r1, r3, [sp, #24] - 801b72e: e780 b.n 801b632 <_strtod_l+0x17a> - 801b730: f04f 0c00 mov.w ip, #0 - 801b734: 1cb3 adds r3, r6, #2 - 801b736: 9317 str r3, [sp, #92] @ 0x5c - 801b738: 78b2 ldrb r2, [r6, #2] - 801b73a: e789 b.n 801b650 <_strtod_l+0x198> - 801b73c: f04f 0c01 mov.w ip, #1 - 801b740: e7f8 b.n 801b734 <_strtod_l+0x27c> - 801b742: bf00 nop - 801b744: 0801df9c .word 0x0801df9c - 801b748: 0801ddcf .word 0x0801ddcf - 801b74c: 7ff00000 .word 0x7ff00000 - 801b750: 9b17 ldr r3, [sp, #92] @ 0x5c - 801b752: 1c5a adds r2, r3, #1 - 801b754: 9217 str r2, [sp, #92] @ 0x5c - 801b756: 785a ldrb r2, [r3, #1] - 801b758: 2a30 cmp r2, #48 @ 0x30 - 801b75a: d0f9 beq.n 801b750 <_strtod_l+0x298> - 801b75c: f1a2 0331 sub.w r3, r2, #49 @ 0x31 - 801b760: 2b08 cmp r3, #8 - 801b762: f63f af7a bhi.w 801b65a <_strtod_l+0x1a2> - 801b766: 9b17 ldr r3, [sp, #92] @ 0x5c - 801b768: 9305 str r3, [sp, #20] - 801b76a: f1a2 0e30 sub.w lr, r2, #48 @ 0x30 - 801b76e: 3301 adds r3, #1 - 801b770: 9317 str r3, [sp, #92] @ 0x5c - 801b772: 781a ldrb r2, [r3, #0] - 801b774: f1a2 0130 sub.w r1, r2, #48 @ 0x30 - 801b778: 2909 cmp r1, #9 - 801b77a: d93c bls.n 801b7f6 <_strtod_l+0x33e> - 801b77c: 9905 ldr r1, [sp, #20] - 801b77e: 1a5b subs r3, r3, r1 - 801b780: 2b08 cmp r3, #8 - 801b782: f644 631f movw r3, #19999 @ 0x4e1f - 801b786: dc3c bgt.n 801b802 <_strtod_l+0x34a> - 801b788: 459e cmp lr, r3 - 801b78a: 4671 mov r1, lr - 801b78c: bfa8 it ge - 801b78e: 4619 movge r1, r3 - 801b790: 9105 str r1, [sp, #20] - 801b792: f1bc 0f00 cmp.w ip, #0 - 801b796: d002 beq.n 801b79e <_strtod_l+0x2e6> - 801b798: 9b05 ldr r3, [sp, #20] - 801b79a: 425b negs r3, r3 - 801b79c: 9305 str r3, [sp, #20] - 801b79e: 2c00 cmp r4, #0 - 801b7a0: d150 bne.n 801b844 <_strtod_l+0x38c> - 801b7a2: ea5a 0000 orrs.w r0, sl, r0 - 801b7a6: f47f aed9 bne.w 801b55c <_strtod_l+0xa4> - 801b7aa: 9b07 ldr r3, [sp, #28] - 801b7ac: 2b00 cmp r3, #0 - 801b7ae: f47f aeac bne.w 801b50a <_strtod_l+0x52> - 801b7b2: 2a69 cmp r2, #105 @ 0x69 - 801b7b4: d029 beq.n 801b80a <_strtod_l+0x352> - 801b7b6: dc26 bgt.n 801b806 <_strtod_l+0x34e> - 801b7b8: 2a49 cmp r2, #73 @ 0x49 - 801b7ba: d026 beq.n 801b80a <_strtod_l+0x352> - 801b7bc: 2a4e cmp r2, #78 @ 0x4e - 801b7be: f47f aea4 bne.w 801b50a <_strtod_l+0x52> - 801b7c2: 49a1 ldr r1, [pc, #644] @ (801ba48 <_strtod_l+0x590>) - 801b7c4: a817 add r0, sp, #92 @ 0x5c - 801b7c6: f001 fb93 bl 801cef0 <__match> - 801b7ca: 2800 cmp r0, #0 - 801b7cc: f43f ae9d beq.w 801b50a <_strtod_l+0x52> - 801b7d0: 9b17 ldr r3, [sp, #92] @ 0x5c - 801b7d2: 781b ldrb r3, [r3, #0] - 801b7d4: 2b28 cmp r3, #40 @ 0x28 - 801b7d6: d12f bne.n 801b838 <_strtod_l+0x380> - 801b7d8: 499c ldr r1, [pc, #624] @ (801ba4c <_strtod_l+0x594>) - 801b7da: aa1a add r2, sp, #104 @ 0x68 - 801b7dc: a817 add r0, sp, #92 @ 0x5c - 801b7de: f001 fb9b bl 801cf18 <__hexnan> - 801b7e2: 2805 cmp r0, #5 - 801b7e4: d128 bne.n 801b838 <_strtod_l+0x380> - 801b7e6: 9b1b ldr r3, [sp, #108] @ 0x6c - 801b7e8: f8dd 8068 ldr.w r8, [sp, #104] @ 0x68 - 801b7ec: f043 49ff orr.w r9, r3, #2139095040 @ 0x7f800000 - 801b7f0: f449 09e0 orr.w r9, r9, #7340032 @ 0x700000 - 801b7f4: e6b2 b.n 801b55c <_strtod_l+0xa4> - 801b7f6: 210a movs r1, #10 - 801b7f8: fb01 220e mla r2, r1, lr, r2 - 801b7fc: f1a2 0e30 sub.w lr, r2, #48 @ 0x30 - 801b800: e7b5 b.n 801b76e <_strtod_l+0x2b6> - 801b802: 9305 str r3, [sp, #20] - 801b804: e7c5 b.n 801b792 <_strtod_l+0x2da> - 801b806: 2a6e cmp r2, #110 @ 0x6e - 801b808: e7d9 b.n 801b7be <_strtod_l+0x306> - 801b80a: 4991 ldr r1, [pc, #580] @ (801ba50 <_strtod_l+0x598>) - 801b80c: a817 add r0, sp, #92 @ 0x5c - 801b80e: f001 fb6f bl 801cef0 <__match> - 801b812: 2800 cmp r0, #0 - 801b814: f43f ae79 beq.w 801b50a <_strtod_l+0x52> - 801b818: 9b17 ldr r3, [sp, #92] @ 0x5c - 801b81a: 498e ldr r1, [pc, #568] @ (801ba54 <_strtod_l+0x59c>) - 801b81c: 3b01 subs r3, #1 - 801b81e: a817 add r0, sp, #92 @ 0x5c - 801b820: 9317 str r3, [sp, #92] @ 0x5c - 801b822: f001 fb65 bl 801cef0 <__match> - 801b826: b910 cbnz r0, 801b82e <_strtod_l+0x376> - 801b828: 9b17 ldr r3, [sp, #92] @ 0x5c - 801b82a: 3301 adds r3, #1 - 801b82c: 9317 str r3, [sp, #92] @ 0x5c - 801b82e: f8df 9234 ldr.w r9, [pc, #564] @ 801ba64 <_strtod_l+0x5ac> - 801b832: f04f 0800 mov.w r8, #0 - 801b836: e691 b.n 801b55c <_strtod_l+0xa4> - 801b838: 4887 ldr r0, [pc, #540] @ (801ba58 <_strtod_l+0x5a0>) - 801b83a: f001 f895 bl 801c968 - 801b83e: ec59 8b10 vmov r8, r9, d0 - 801b842: e68b b.n 801b55c <_strtod_l+0xa4> - 801b844: e9dd 3205 ldrd r3, r2, [sp, #20] - 801b848: 980e ldr r0, [sp, #56] @ 0x38 - 801b84a: 1a9b subs r3, r3, r2 - 801b84c: f1bb 0f00 cmp.w fp, #0 - 801b850: bf08 it eq - 801b852: 46a3 moveq fp, r4 - 801b854: 2c10 cmp r4, #16 - 801b856: 930a str r3, [sp, #40] @ 0x28 - 801b858: 46a2 mov sl, r4 - 801b85a: bfa8 it ge - 801b85c: f04f 0a10 movge.w sl, #16 - 801b860: f7e4 fe28 bl 80004b4 <__aeabi_ui2d> - 801b864: 2c09 cmp r4, #9 - 801b866: 4680 mov r8, r0 - 801b868: 4689 mov r9, r1 - 801b86a: dc13 bgt.n 801b894 <_strtod_l+0x3dc> - 801b86c: 9b0a ldr r3, [sp, #40] @ 0x28 - 801b86e: 2b00 cmp r3, #0 - 801b870: f43f ae74 beq.w 801b55c <_strtod_l+0xa4> - 801b874: 9b0a ldr r3, [sp, #40] @ 0x28 - 801b876: dd73 ble.n 801b960 <_strtod_l+0x4a8> - 801b878: 2b16 cmp r3, #22 - 801b87a: dc5a bgt.n 801b932 <_strtod_l+0x47a> - 801b87c: 4977 ldr r1, [pc, #476] @ (801ba5c <_strtod_l+0x5a4>) - 801b87e: eb01 01c3 add.w r1, r1, r3, lsl #3 - 801b882: e9d1 0100 ldrd r0, r1, [r1] - 801b886: 4642 mov r2, r8 - 801b888: 464b mov r3, r9 - 801b88a: f7e4 fe8d bl 80005a8 <__aeabi_dmul> - 801b88e: 4680 mov r8, r0 - 801b890: 4689 mov r9, r1 - 801b892: e663 b.n 801b55c <_strtod_l+0xa4> - 801b894: 4b71 ldr r3, [pc, #452] @ (801ba5c <_strtod_l+0x5a4>) - 801b896: eb03 03ca add.w r3, r3, sl, lsl #3 - 801b89a: e953 2312 ldrd r2, r3, [r3, #-72] @ 0x48 - 801b89e: f7e4 fe83 bl 80005a8 <__aeabi_dmul> - 801b8a2: 4680 mov r8, r0 - 801b8a4: 4638 mov r0, r7 - 801b8a6: 4689 mov r9, r1 - 801b8a8: f7e4 fe04 bl 80004b4 <__aeabi_ui2d> - 801b8ac: 4602 mov r2, r0 - 801b8ae: 460b mov r3, r1 - 801b8b0: 4640 mov r0, r8 - 801b8b2: 4649 mov r1, r9 - 801b8b4: f7e4 fcc2 bl 800023c <__adddf3> - 801b8b8: 2c0f cmp r4, #15 - 801b8ba: 4680 mov r8, r0 - 801b8bc: 4689 mov r9, r1 - 801b8be: ddd5 ble.n 801b86c <_strtod_l+0x3b4> - 801b8c0: 9b0a ldr r3, [sp, #40] @ 0x28 - 801b8c2: eba4 0a0a sub.w sl, r4, sl - 801b8c6: 449a add sl, r3 - 801b8c8: f1ba 0f00 cmp.w sl, #0 - 801b8cc: f340 8097 ble.w 801b9fe <_strtod_l+0x546> - 801b8d0: f02a 060f bic.w r6, sl, #15 - 801b8d4: f01a 0a0f ands.w sl, sl, #15 - 801b8d8: d151 bne.n 801b97e <_strtod_l+0x4c6> - 801b8da: f5b6 7f9a cmp.w r6, #308 @ 0x134 - 801b8de: dc5e bgt.n 801b99e <_strtod_l+0x4e6> - 801b8e0: 2300 movs r3, #0 - 801b8e2: f8df a17c ldr.w sl, [pc, #380] @ 801ba60 <_strtod_l+0x5a8> - 801b8e6: 1136 asrs r6, r6, #4 - 801b8e8: 4640 mov r0, r8 - 801b8ea: 4649 mov r1, r9 - 801b8ec: 461f mov r7, r3 - 801b8ee: 2e01 cmp r6, #1 - 801b8f0: d179 bne.n 801b9e6 <_strtod_l+0x52e> - 801b8f2: b10b cbz r3, 801b8f8 <_strtod_l+0x440> - 801b8f4: 4680 mov r8, r0 - 801b8f6: 4689 mov r9, r1 - 801b8f8: 4959 ldr r1, [pc, #356] @ (801ba60 <_strtod_l+0x5a8>) - 801b8fa: f1a9 7954 sub.w r9, r9, #55574528 @ 0x3500000 - 801b8fe: eb01 01c7 add.w r1, r1, r7, lsl #3 - 801b902: 4642 mov r2, r8 - 801b904: 464b mov r3, r9 - 801b906: e9d1 0100 ldrd r0, r1, [r1] - 801b90a: f7e4 fe4d bl 80005a8 <__aeabi_dmul> - 801b90e: 4b55 ldr r3, [pc, #340] @ (801ba64 <_strtod_l+0x5ac>) - 801b910: 460a mov r2, r1 - 801b912: 400b ands r3, r1 - 801b914: 4954 ldr r1, [pc, #336] @ (801ba68 <_strtod_l+0x5b0>) - 801b916: 428b cmp r3, r1 - 801b918: 4680 mov r8, r0 - 801b91a: d840 bhi.n 801b99e <_strtod_l+0x4e6> - 801b91c: f5a1 1180 sub.w r1, r1, #1048576 @ 0x100000 - 801b920: 428b cmp r3, r1 - 801b922: bf86 itte hi - 801b924: f8df 9144 ldrhi.w r9, [pc, #324] @ 801ba6c <_strtod_l+0x5b4> - 801b928: f04f 38ff movhi.w r8, #4294967295 @ 0xffffffff - 801b92c: f102 7954 addls.w r9, r2, #55574528 @ 0x3500000 - 801b930: e032 b.n 801b998 <_strtod_l+0x4e0> - 801b932: 9a0a ldr r2, [sp, #40] @ 0x28 - 801b934: f1c4 0325 rsb r3, r4, #37 @ 0x25 - 801b938: 4293 cmp r3, r2 - 801b93a: dbc1 blt.n 801b8c0 <_strtod_l+0x408> - 801b93c: 4d47 ldr r5, [pc, #284] @ (801ba5c <_strtod_l+0x5a4>) - 801b93e: f1c4 040f rsb r4, r4, #15 - 801b942: eb05 01c4 add.w r1, r5, r4, lsl #3 - 801b946: 4642 mov r2, r8 - 801b948: 464b mov r3, r9 - 801b94a: e9d1 0100 ldrd r0, r1, [r1] - 801b94e: f7e4 fe2b bl 80005a8 <__aeabi_dmul> - 801b952: 9b0a ldr r3, [sp, #40] @ 0x28 - 801b954: 1b1c subs r4, r3, r4 - 801b956: eb05 05c4 add.w r5, r5, r4, lsl #3 - 801b95a: e9d5 2300 ldrd r2, r3, [r5] - 801b95e: e794 b.n 801b88a <_strtod_l+0x3d2> - 801b960: 3316 adds r3, #22 - 801b962: dbad blt.n 801b8c0 <_strtod_l+0x408> - 801b964: e9dd 2305 ldrd r2, r3, [sp, #20] - 801b968: 1a9a subs r2, r3, r2 - 801b96a: 4b3c ldr r3, [pc, #240] @ (801ba5c <_strtod_l+0x5a4>) - 801b96c: eb03 03c2 add.w r3, r3, r2, lsl #3 - 801b970: e9d3 2300 ldrd r2, r3, [r3] - 801b974: 4640 mov r0, r8 - 801b976: 4649 mov r1, r9 - 801b978: f7e4 ff40 bl 80007fc <__aeabi_ddiv> - 801b97c: e787 b.n 801b88e <_strtod_l+0x3d6> - 801b97e: 4937 ldr r1, [pc, #220] @ (801ba5c <_strtod_l+0x5a4>) - 801b980: eb01 01ca add.w r1, r1, sl, lsl #3 - 801b984: 4642 mov r2, r8 - 801b986: 464b mov r3, r9 - 801b988: e9d1 0100 ldrd r0, r1, [r1] - 801b98c: f7e4 fe0c bl 80005a8 <__aeabi_dmul> - 801b990: 4680 mov r8, r0 - 801b992: 4689 mov r9, r1 - 801b994: 2e00 cmp r6, #0 - 801b996: d1a0 bne.n 801b8da <_strtod_l+0x422> - 801b998: 2300 movs r3, #0 - 801b99a: 9307 str r3, [sp, #28] - 801b99c: e0a0 b.n 801bae0 <_strtod_l+0x628> - 801b99e: 2400 movs r4, #0 - 801b9a0: 9405 str r4, [sp, #20] - 801b9a2: 940e str r4, [sp, #56] @ 0x38 - 801b9a4: 9406 str r4, [sp, #24] - 801b9a6: 9a04 ldr r2, [sp, #16] - 801b9a8: f8df 90b8 ldr.w r9, [pc, #184] @ 801ba64 <_strtod_l+0x5ac> - 801b9ac: 2322 movs r3, #34 @ 0x22 - 801b9ae: 6013 str r3, [r2, #0] - 801b9b0: f04f 0800 mov.w r8, #0 - 801b9b4: 9b0e ldr r3, [sp, #56] @ 0x38 - 801b9b6: 2b00 cmp r3, #0 - 801b9b8: f43f add0 beq.w 801b55c <_strtod_l+0xa4> - 801b9bc: 9918 ldr r1, [sp, #96] @ 0x60 - 801b9be: 9804 ldr r0, [sp, #16] - 801b9c0: f7ff f8e0 bl 801ab84 <_Bfree> - 801b9c4: 9906 ldr r1, [sp, #24] - 801b9c6: 9804 ldr r0, [sp, #16] - 801b9c8: f7ff f8dc bl 801ab84 <_Bfree> - 801b9cc: e9dd 0104 ldrd r0, r1, [sp, #16] - 801b9d0: f7ff f8d8 bl 801ab84 <_Bfree> - 801b9d4: 990e ldr r1, [sp, #56] @ 0x38 - 801b9d6: 9804 ldr r0, [sp, #16] - 801b9d8: f7ff f8d4 bl 801ab84 <_Bfree> - 801b9dc: 9804 ldr r0, [sp, #16] - 801b9de: 4621 mov r1, r4 - 801b9e0: f7ff f8d0 bl 801ab84 <_Bfree> - 801b9e4: e5ba b.n 801b55c <_strtod_l+0xa4> - 801b9e6: 07f2 lsls r2, r6, #31 - 801b9e8: d504 bpl.n 801b9f4 <_strtod_l+0x53c> - 801b9ea: e9da 2300 ldrd r2, r3, [sl] - 801b9ee: f7e4 fddb bl 80005a8 <__aeabi_dmul> - 801b9f2: 2301 movs r3, #1 - 801b9f4: 3701 adds r7, #1 - 801b9f6: 1076 asrs r6, r6, #1 - 801b9f8: f10a 0a08 add.w sl, sl, #8 - 801b9fc: e777 b.n 801b8ee <_strtod_l+0x436> - 801b9fe: d0cb beq.n 801b998 <_strtod_l+0x4e0> - 801ba00: f1ca 0a00 rsb sl, sl, #0 - 801ba04: ea4f 162a mov.w r6, sl, asr #4 - 801ba08: f01a 0a0f ands.w sl, sl, #15 - 801ba0c: d10d bne.n 801ba2a <_strtod_l+0x572> - 801ba0e: 2e1f cmp r6, #31 - 801ba10: dd2e ble.n 801ba70 <_strtod_l+0x5b8> - 801ba12: 2400 movs r4, #0 - 801ba14: 9405 str r4, [sp, #20] - 801ba16: 940e str r4, [sp, #56] @ 0x38 - 801ba18: 9406 str r4, [sp, #24] - 801ba1a: 9a04 ldr r2, [sp, #16] - 801ba1c: 2322 movs r3, #34 @ 0x22 - 801ba1e: f04f 0800 mov.w r8, #0 - 801ba22: f04f 0900 mov.w r9, #0 - 801ba26: 6013 str r3, [r2, #0] - 801ba28: e7c4 b.n 801b9b4 <_strtod_l+0x4fc> - 801ba2a: 4b0c ldr r3, [pc, #48] @ (801ba5c <_strtod_l+0x5a4>) - 801ba2c: eb03 03ca add.w r3, r3, sl, lsl #3 - 801ba30: 4640 mov r0, r8 - 801ba32: 4649 mov r1, r9 - 801ba34: e9d3 2300 ldrd r2, r3, [r3] - 801ba38: f7e4 fee0 bl 80007fc <__aeabi_ddiv> - 801ba3c: 4680 mov r8, r0 - 801ba3e: 4689 mov r9, r1 - 801ba40: 2e00 cmp r6, #0 - 801ba42: d0a9 beq.n 801b998 <_strtod_l+0x4e0> - 801ba44: e7e3 b.n 801ba0e <_strtod_l+0x556> - 801ba46: bf00 nop - 801ba48: 0801dcbd .word 0x0801dcbd - 801ba4c: 0801df88 .word 0x0801df88 - 801ba50: 0801dcb5 .word 0x0801dcb5 - 801ba54: 0801dcec .word 0x0801dcec - 801ba58: 0801de25 .word 0x0801de25 - 801ba5c: 0801dec0 .word 0x0801dec0 - 801ba60: 0801de98 .word 0x0801de98 - 801ba64: 7ff00000 .word 0x7ff00000 - 801ba68: 7ca00000 .word 0x7ca00000 - 801ba6c: 7fefffff .word 0x7fefffff - 801ba70: f016 0310 ands.w r3, r6, #16 - 801ba74: bf18 it ne - 801ba76: 236a movne r3, #106 @ 0x6a - 801ba78: 4f76 ldr r7, [pc, #472] @ (801bc54 <_strtod_l+0x79c>) - 801ba7a: 9307 str r3, [sp, #28] - 801ba7c: 4640 mov r0, r8 - 801ba7e: 4649 mov r1, r9 - 801ba80: 2300 movs r3, #0 - 801ba82: 07f2 lsls r2, r6, #31 - 801ba84: d504 bpl.n 801ba90 <_strtod_l+0x5d8> - 801ba86: e9d7 2300 ldrd r2, r3, [r7] - 801ba8a: f7e4 fd8d bl 80005a8 <__aeabi_dmul> - 801ba8e: 2301 movs r3, #1 - 801ba90: 1076 asrs r6, r6, #1 - 801ba92: f107 0708 add.w r7, r7, #8 - 801ba96: d1f4 bne.n 801ba82 <_strtod_l+0x5ca> - 801ba98: b10b cbz r3, 801ba9e <_strtod_l+0x5e6> - 801ba9a: 4680 mov r8, r0 - 801ba9c: 4689 mov r9, r1 - 801ba9e: 9b07 ldr r3, [sp, #28] - 801baa0: b1b3 cbz r3, 801bad0 <_strtod_l+0x618> - 801baa2: f3c9 520a ubfx r2, r9, #20, #11 - 801baa6: f1c2 036b rsb r3, r2, #107 @ 0x6b - 801baaa: 2b00 cmp r3, #0 - 801baac: 4649 mov r1, r9 - 801baae: dd0f ble.n 801bad0 <_strtod_l+0x618> - 801bab0: 2b1f cmp r3, #31 - 801bab2: dd57 ble.n 801bb64 <_strtod_l+0x6ac> - 801bab4: 2b34 cmp r3, #52 @ 0x34 - 801bab6: bfde ittt le - 801bab8: f04f 33ff movle.w r3, #4294967295 @ 0xffffffff - 801babc: f1c2 024b rsble r2, r2, #75 @ 0x4b - 801bac0: 4093 lslle r3, r2 - 801bac2: f04f 0800 mov.w r8, #0 - 801bac6: bfcc ite gt - 801bac8: f04f 795c movgt.w r9, #57671680 @ 0x3700000 - 801bacc: ea03 0901 andle.w r9, r3, r1 - 801bad0: 2200 movs r2, #0 - 801bad2: 2300 movs r3, #0 - 801bad4: 4640 mov r0, r8 - 801bad6: 4649 mov r1, r9 - 801bad8: f7e4 ffce bl 8000a78 <__aeabi_dcmpeq> - 801badc: 2800 cmp r0, #0 - 801bade: d198 bne.n 801ba12 <_strtod_l+0x55a> - 801bae0: 9b0e ldr r3, [sp, #56] @ 0x38 - 801bae2: 9300 str r3, [sp, #0] - 801bae4: 9804 ldr r0, [sp, #16] - 801bae6: 4623 mov r3, r4 - 801bae8: 465a mov r2, fp - 801baea: 4629 mov r1, r5 - 801baec: f7ff f8b2 bl 801ac54 <__s2b> - 801baf0: 900e str r0, [sp, #56] @ 0x38 - 801baf2: 2800 cmp r0, #0 - 801baf4: f43f af53 beq.w 801b99e <_strtod_l+0x4e6> - 801baf8: e9dd 2305 ldrd r2, r3, [sp, #20] - 801bafc: 1a9b subs r3, r3, r2 - 801bafe: 9a0a ldr r2, [sp, #40] @ 0x28 - 801bb00: 2a00 cmp r2, #0 - 801bb02: bfa8 it ge - 801bb04: 2300 movge r3, #0 - 801bb06: 9312 str r3, [sp, #72] @ 0x48 - 801bb08: 2400 movs r4, #0 - 801bb0a: ea22 73e2 bic.w r3, r2, r2, asr #31 - 801bb0e: 9314 str r3, [sp, #80] @ 0x50 - 801bb10: 9405 str r4, [sp, #20] - 801bb12: 9b0e ldr r3, [sp, #56] @ 0x38 - 801bb14: 9804 ldr r0, [sp, #16] - 801bb16: 6859 ldr r1, [r3, #4] - 801bb18: f7fe fff6 bl 801ab08 <_Balloc> - 801bb1c: 9006 str r0, [sp, #24] - 801bb1e: 2800 cmp r0, #0 - 801bb20: f43f af41 beq.w 801b9a6 <_strtod_l+0x4ee> - 801bb24: 9b0e ldr r3, [sp, #56] @ 0x38 - 801bb26: 691a ldr r2, [r3, #16] - 801bb28: 3202 adds r2, #2 - 801bb2a: f103 010c add.w r1, r3, #12 - 801bb2e: 0092 lsls r2, r2, #2 - 801bb30: 300c adds r0, #12 - 801bb32: f7fe f86e bl 8019c12 - 801bb36: ec49 8b10 vmov d0, r8, r9 - 801bb3a: 9804 ldr r0, [sp, #16] - 801bb3c: aa1a add r2, sp, #104 @ 0x68 - 801bb3e: a919 add r1, sp, #100 @ 0x64 - 801bb40: e9cd 890c strd r8, r9, [sp, #48] @ 0x30 - 801bb44: f7ff fbca bl 801b2dc <__d2b> - 801bb48: 9018 str r0, [sp, #96] @ 0x60 - 801bb4a: 2800 cmp r0, #0 - 801bb4c: f43f af2b beq.w 801b9a6 <_strtod_l+0x4ee> - 801bb50: 9804 ldr r0, [sp, #16] - 801bb52: 2101 movs r1, #1 - 801bb54: f7ff f914 bl 801ad80 <__i2b> - 801bb58: 9005 str r0, [sp, #20] - 801bb5a: 4603 mov r3, r0 - 801bb5c: b948 cbnz r0, 801bb72 <_strtod_l+0x6ba> - 801bb5e: 2300 movs r3, #0 - 801bb60: 9305 str r3, [sp, #20] - 801bb62: e720 b.n 801b9a6 <_strtod_l+0x4ee> - 801bb64: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 801bb68: fa02 f303 lsl.w r3, r2, r3 - 801bb6c: ea03 0808 and.w r8, r3, r8 - 801bb70: e7ae b.n 801bad0 <_strtod_l+0x618> - 801bb72: 9d19 ldr r5, [sp, #100] @ 0x64 - 801bb74: 9a1a ldr r2, [sp, #104] @ 0x68 - 801bb76: 2d00 cmp r5, #0 - 801bb78: bfab itete ge - 801bb7a: 9b12 ldrge r3, [sp, #72] @ 0x48 - 801bb7c: 9b14 ldrlt r3, [sp, #80] @ 0x50 - 801bb7e: 9e14 ldrge r6, [sp, #80] @ 0x50 - 801bb80: 9f12 ldrlt r7, [sp, #72] @ 0x48 - 801bb82: bfac ite ge - 801bb84: 18ef addge r7, r5, r3 - 801bb86: 1b5e sublt r6, r3, r5 - 801bb88: 9b07 ldr r3, [sp, #28] - 801bb8a: 1aed subs r5, r5, r3 - 801bb8c: 4415 add r5, r2 - 801bb8e: 4b32 ldr r3, [pc, #200] @ (801bc58 <_strtod_l+0x7a0>) - 801bb90: 3d01 subs r5, #1 - 801bb92: 429d cmp r5, r3 - 801bb94: f1c2 0236 rsb r2, r2, #54 @ 0x36 - 801bb98: da4f bge.n 801bc3a <_strtod_l+0x782> - 801bb9a: 1b5b subs r3, r3, r5 - 801bb9c: 2b1f cmp r3, #31 - 801bb9e: eba2 0203 sub.w r2, r2, r3 - 801bba2: f04f 0101 mov.w r1, #1 - 801bba6: dc3c bgt.n 801bc22 <_strtod_l+0x76a> - 801bba8: fa01 fa03 lsl.w sl, r1, r3 - 801bbac: f04f 0b00 mov.w fp, #0 - 801bbb0: 18bd adds r5, r7, r2 - 801bbb2: 9b07 ldr r3, [sp, #28] - 801bbb4: 42af cmp r7, r5 - 801bbb6: 4416 add r6, r2 - 801bbb8: 441e add r6, r3 - 801bbba: 463b mov r3, r7 - 801bbbc: bfa8 it ge - 801bbbe: 462b movge r3, r5 - 801bbc0: 42b3 cmp r3, r6 - 801bbc2: bfa8 it ge - 801bbc4: 4633 movge r3, r6 - 801bbc6: 2b00 cmp r3, #0 - 801bbc8: bfc2 ittt gt - 801bbca: 1aed subgt r5, r5, r3 - 801bbcc: 1af6 subgt r6, r6, r3 - 801bbce: 1aff subgt r7, r7, r3 - 801bbd0: 9b12 ldr r3, [sp, #72] @ 0x48 - 801bbd2: 2b00 cmp r3, #0 - 801bbd4: dd16 ble.n 801bc04 <_strtod_l+0x74c> - 801bbd6: e9dd 0104 ldrd r0, r1, [sp, #16] - 801bbda: 461a mov r2, r3 - 801bbdc: f7ff f990 bl 801af00 <__pow5mult> - 801bbe0: 9005 str r0, [sp, #20] - 801bbe2: 2800 cmp r0, #0 - 801bbe4: d0bb beq.n 801bb5e <_strtod_l+0x6a6> - 801bbe6: 4601 mov r1, r0 - 801bbe8: 9a18 ldr r2, [sp, #96] @ 0x60 - 801bbea: 9804 ldr r0, [sp, #16] - 801bbec: f7ff f8de bl 801adac <__multiply> - 801bbf0: 900f str r0, [sp, #60] @ 0x3c - 801bbf2: 2800 cmp r0, #0 - 801bbf4: f43f aed7 beq.w 801b9a6 <_strtod_l+0x4ee> - 801bbf8: 9918 ldr r1, [sp, #96] @ 0x60 - 801bbfa: 9804 ldr r0, [sp, #16] - 801bbfc: f7fe ffc2 bl 801ab84 <_Bfree> - 801bc00: 9b0f ldr r3, [sp, #60] @ 0x3c - 801bc02: 9318 str r3, [sp, #96] @ 0x60 - 801bc04: 2d00 cmp r5, #0 - 801bc06: dc1b bgt.n 801bc40 <_strtod_l+0x788> - 801bc08: 9b0a ldr r3, [sp, #40] @ 0x28 - 801bc0a: 2b00 cmp r3, #0 - 801bc0c: dd26 ble.n 801bc5c <_strtod_l+0x7a4> - 801bc0e: 9a14 ldr r2, [sp, #80] @ 0x50 - 801bc10: 9906 ldr r1, [sp, #24] - 801bc12: 9804 ldr r0, [sp, #16] - 801bc14: f7ff f974 bl 801af00 <__pow5mult> - 801bc18: 9006 str r0, [sp, #24] - 801bc1a: b9f8 cbnz r0, 801bc5c <_strtod_l+0x7a4> - 801bc1c: 2300 movs r3, #0 - 801bc1e: 9306 str r3, [sp, #24] - 801bc20: e6c1 b.n 801b9a6 <_strtod_l+0x4ee> - 801bc22: f1c5 457f rsb r5, r5, #4278190080 @ 0xff000000 - 801bc26: f505 057f add.w r5, r5, #16711680 @ 0xff0000 - 801bc2a: f505 457b add.w r5, r5, #64256 @ 0xfb00 - 801bc2e: 35e2 adds r5, #226 @ 0xe2 - 801bc30: fa01 fb05 lsl.w fp, r1, r5 - 801bc34: f04f 0a01 mov.w sl, #1 - 801bc38: e7ba b.n 801bbb0 <_strtod_l+0x6f8> - 801bc3a: f04f 0b00 mov.w fp, #0 - 801bc3e: e7f9 b.n 801bc34 <_strtod_l+0x77c> - 801bc40: 9918 ldr r1, [sp, #96] @ 0x60 - 801bc42: 9804 ldr r0, [sp, #16] - 801bc44: 462a mov r2, r5 - 801bc46: f7ff f9b7 bl 801afb8 <__lshift> - 801bc4a: 9018 str r0, [sp, #96] @ 0x60 - 801bc4c: 2800 cmp r0, #0 - 801bc4e: d1db bne.n 801bc08 <_strtod_l+0x750> - 801bc50: e6a9 b.n 801b9a6 <_strtod_l+0x4ee> - 801bc52: bf00 nop - 801bc54: 0801dfb0 .word 0x0801dfb0 - 801bc58: fffffc02 .word 0xfffffc02 - 801bc5c: 2e00 cmp r6, #0 - 801bc5e: dd07 ble.n 801bc70 <_strtod_l+0x7b8> - 801bc60: 9906 ldr r1, [sp, #24] - 801bc62: 9804 ldr r0, [sp, #16] - 801bc64: 4632 mov r2, r6 - 801bc66: f7ff f9a7 bl 801afb8 <__lshift> - 801bc6a: 9006 str r0, [sp, #24] - 801bc6c: 2800 cmp r0, #0 - 801bc6e: d0d5 beq.n 801bc1c <_strtod_l+0x764> - 801bc70: 2f00 cmp r7, #0 - 801bc72: dd08 ble.n 801bc86 <_strtod_l+0x7ce> - 801bc74: e9dd 0104 ldrd r0, r1, [sp, #16] - 801bc78: 463a mov r2, r7 - 801bc7a: f7ff f99d bl 801afb8 <__lshift> - 801bc7e: 9005 str r0, [sp, #20] - 801bc80: 2800 cmp r0, #0 - 801bc82: f43f ae90 beq.w 801b9a6 <_strtod_l+0x4ee> - 801bc86: 9a06 ldr r2, [sp, #24] - 801bc88: 9918 ldr r1, [sp, #96] @ 0x60 - 801bc8a: 9804 ldr r0, [sp, #16] - 801bc8c: f7ff fa1e bl 801b0cc <__mdiff> - 801bc90: 4604 mov r4, r0 - 801bc92: 2800 cmp r0, #0 - 801bc94: f43f ae87 beq.w 801b9a6 <_strtod_l+0x4ee> - 801bc98: 68c3 ldr r3, [r0, #12] - 801bc9a: 930f str r3, [sp, #60] @ 0x3c - 801bc9c: 2300 movs r3, #0 - 801bc9e: 9905 ldr r1, [sp, #20] - 801bca0: 60c3 str r3, [r0, #12] - 801bca2: f7ff f9f7 bl 801b094 <__mcmp> - 801bca6: 2800 cmp r0, #0 - 801bca8: da3c bge.n 801bd24 <_strtod_l+0x86c> - 801bcaa: 9b0f ldr r3, [sp, #60] @ 0x3c - 801bcac: ea53 0308 orrs.w r3, r3, r8 - 801bcb0: d15e bne.n 801bd70 <_strtod_l+0x8b8> - 801bcb2: f3c9 0313 ubfx r3, r9, #0, #20 - 801bcb6: 464d mov r5, r9 - 801bcb8: 2b00 cmp r3, #0 - 801bcba: d159 bne.n 801bd70 <_strtod_l+0x8b8> - 801bcbc: f029 4300 bic.w r3, r9, #2147483648 @ 0x80000000 - 801bcc0: 0d1b lsrs r3, r3, #20 - 801bcc2: 051b lsls r3, r3, #20 - 801bcc4: f1b3 6fd6 cmp.w r3, #112197632 @ 0x6b00000 - 801bcc8: d952 bls.n 801bd70 <_strtod_l+0x8b8> - 801bcca: 6963 ldr r3, [r4, #20] - 801bccc: b913 cbnz r3, 801bcd4 <_strtod_l+0x81c> - 801bcce: 6923 ldr r3, [r4, #16] - 801bcd0: 2b01 cmp r3, #1 - 801bcd2: dd4d ble.n 801bd70 <_strtod_l+0x8b8> - 801bcd4: 4621 mov r1, r4 - 801bcd6: 2201 movs r2, #1 - 801bcd8: 9804 ldr r0, [sp, #16] - 801bcda: f7ff f96d bl 801afb8 <__lshift> - 801bcde: 9905 ldr r1, [sp, #20] - 801bce0: 4604 mov r4, r0 - 801bce2: f7ff f9d7 bl 801b094 <__mcmp> - 801bce6: 2800 cmp r0, #0 - 801bce8: dd42 ble.n 801bd70 <_strtod_l+0x8b8> - 801bcea: 4bad ldr r3, [pc, #692] @ (801bfa0 <_strtod_l+0xae8>) - 801bcec: 9a07 ldr r2, [sp, #28] - 801bcee: 402b ands r3, r5 - 801bcf0: 2a00 cmp r2, #0 - 801bcf2: d05f beq.n 801bdb4 <_strtod_l+0x8fc> - 801bcf4: f1b3 6fd6 cmp.w r3, #112197632 @ 0x6b00000 - 801bcf8: d85c bhi.n 801bdb4 <_strtod_l+0x8fc> - 801bcfa: f1b3 7f5c cmp.w r3, #57671680 @ 0x3700000 - 801bcfe: f67f ae8c bls.w 801ba1a <_strtod_l+0x562> - 801bd02: 4ba8 ldr r3, [pc, #672] @ (801bfa4 <_strtod_l+0xaec>) - 801bd04: 4640 mov r0, r8 - 801bd06: 4649 mov r1, r9 - 801bd08: 2200 movs r2, #0 - 801bd0a: f7e4 fc4d bl 80005a8 <__aeabi_dmul> - 801bd0e: 4ba4 ldr r3, [pc, #656] @ (801bfa0 <_strtod_l+0xae8>) - 801bd10: 400b ands r3, r1 - 801bd12: 4680 mov r8, r0 - 801bd14: 4689 mov r9, r1 - 801bd16: 2b00 cmp r3, #0 - 801bd18: f47f ae50 bne.w 801b9bc <_strtod_l+0x504> - 801bd1c: 9a04 ldr r2, [sp, #16] - 801bd1e: 2322 movs r3, #34 @ 0x22 - 801bd20: 6013 str r3, [r2, #0] - 801bd22: e64b b.n 801b9bc <_strtod_l+0x504> - 801bd24: 464d mov r5, r9 - 801bd26: d162 bne.n 801bdee <_strtod_l+0x936> - 801bd28: 9a0f ldr r2, [sp, #60] @ 0x3c - 801bd2a: f3c9 0313 ubfx r3, r9, #0, #20 - 801bd2e: b342 cbz r2, 801bd82 <_strtod_l+0x8ca> - 801bd30: 4a9d ldr r2, [pc, #628] @ (801bfa8 <_strtod_l+0xaf0>) - 801bd32: 4293 cmp r3, r2 - 801bd34: d128 bne.n 801bd88 <_strtod_l+0x8d0> - 801bd36: 9b07 ldr r3, [sp, #28] - 801bd38: 4641 mov r1, r8 - 801bd3a: b1eb cbz r3, 801bd78 <_strtod_l+0x8c0> - 801bd3c: 4b98 ldr r3, [pc, #608] @ (801bfa0 <_strtod_l+0xae8>) - 801bd3e: 402b ands r3, r5 - 801bd40: f1b3 6fd4 cmp.w r3, #111149056 @ 0x6a00000 - 801bd44: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 801bd48: d819 bhi.n 801bd7e <_strtod_l+0x8c6> - 801bd4a: 0d1b lsrs r3, r3, #20 - 801bd4c: f1c3 036b rsb r3, r3, #107 @ 0x6b - 801bd50: fa02 f303 lsl.w r3, r2, r3 - 801bd54: 4299 cmp r1, r3 - 801bd56: d117 bne.n 801bd88 <_strtod_l+0x8d0> - 801bd58: 4b94 ldr r3, [pc, #592] @ (801bfac <_strtod_l+0xaf4>) - 801bd5a: 429d cmp r5, r3 - 801bd5c: d102 bne.n 801bd64 <_strtod_l+0x8ac> - 801bd5e: 3101 adds r1, #1 - 801bd60: f43f ae21 beq.w 801b9a6 <_strtod_l+0x4ee> - 801bd64: 4b8e ldr r3, [pc, #568] @ (801bfa0 <_strtod_l+0xae8>) - 801bd66: 402b ands r3, r5 - 801bd68: f503 1980 add.w r9, r3, #1048576 @ 0x100000 - 801bd6c: f04f 0800 mov.w r8, #0 - 801bd70: 9b07 ldr r3, [sp, #28] - 801bd72: 2b00 cmp r3, #0 - 801bd74: d1c5 bne.n 801bd02 <_strtod_l+0x84a> - 801bd76: e621 b.n 801b9bc <_strtod_l+0x504> - 801bd78: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff - 801bd7c: e7ea b.n 801bd54 <_strtod_l+0x89c> - 801bd7e: 4613 mov r3, r2 - 801bd80: e7e8 b.n 801bd54 <_strtod_l+0x89c> - 801bd82: ea53 0308 orrs.w r3, r3, r8 - 801bd86: d0b0 beq.n 801bcea <_strtod_l+0x832> - 801bd88: f1bb 0f00 cmp.w fp, #0 - 801bd8c: d01b beq.n 801bdc6 <_strtod_l+0x90e> - 801bd8e: ea1b 0f05 tst.w fp, r5 - 801bd92: d0ed beq.n 801bd70 <_strtod_l+0x8b8> - 801bd94: 9b0f ldr r3, [sp, #60] @ 0x3c - 801bd96: 9a07 ldr r2, [sp, #28] - 801bd98: 4640 mov r0, r8 - 801bd9a: 4649 mov r1, r9 - 801bd9c: b1b3 cbz r3, 801bdcc <_strtod_l+0x914> - 801bd9e: f7ff fb6b bl 801b478 - 801bda2: e9dd 010c ldrd r0, r1, [sp, #48] @ 0x30 - 801bda6: ec53 2b10 vmov r2, r3, d0 - 801bdaa: f7e4 fa47 bl 800023c <__adddf3> - 801bdae: 4680 mov r8, r0 - 801bdb0: 4689 mov r9, r1 - 801bdb2: e7dd b.n 801bd70 <_strtod_l+0x8b8> - 801bdb4: f5a3 1380 sub.w r3, r3, #1048576 @ 0x100000 - 801bdb8: ea6f 5913 mvn.w r9, r3, lsr #20 - 801bdbc: ea6f 5909 mvn.w r9, r9, lsl #20 - 801bdc0: f04f 38ff mov.w r8, #4294967295 @ 0xffffffff - 801bdc4: e7d4 b.n 801bd70 <_strtod_l+0x8b8> - 801bdc6: ea1a 0f08 tst.w sl, r8 - 801bdca: e7e2 b.n 801bd92 <_strtod_l+0x8da> - 801bdcc: f7ff fb54 bl 801b478 - 801bdd0: e9dd 010c ldrd r0, r1, [sp, #48] @ 0x30 - 801bdd4: ec53 2b10 vmov r2, r3, d0 - 801bdd8: f7e4 fa2e bl 8000238 <__aeabi_dsub> - 801bddc: 2200 movs r2, #0 - 801bdde: 2300 movs r3, #0 - 801bde0: 4680 mov r8, r0 - 801bde2: 4689 mov r9, r1 - 801bde4: f7e4 fe48 bl 8000a78 <__aeabi_dcmpeq> - 801bde8: 2800 cmp r0, #0 - 801bdea: d0c1 beq.n 801bd70 <_strtod_l+0x8b8> - 801bdec: e615 b.n 801ba1a <_strtod_l+0x562> - 801bdee: 9905 ldr r1, [sp, #20] - 801bdf0: 4620 mov r0, r4 - 801bdf2: f7ff facb bl 801b38c <__ratio> - 801bdf6: ec57 6b10 vmov r6, r7, d0 - 801bdfa: 2200 movs r2, #0 - 801bdfc: f04f 4380 mov.w r3, #1073741824 @ 0x40000000 - 801be00: 4630 mov r0, r6 - 801be02: 4639 mov r1, r7 - 801be04: f7e4 fe4c bl 8000aa0 <__aeabi_dcmple> - 801be08: 2800 cmp r0, #0 - 801be0a: d070 beq.n 801beee <_strtod_l+0xa36> - 801be0c: 9b0f ldr r3, [sp, #60] @ 0x3c +0801bd60 <_strtod_l>: + 801bd60: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801bd64: b09d sub sp, #116 @ 0x74 + 801bd66: 460e mov r6, r1 + 801bd68: 9215 str r2, [sp, #84] @ 0x54 + 801bd6a: 2200 movs r2, #0 + 801bd6c: 9004 str r0, [sp, #16] + 801bd6e: 9218 str r2, [sp, #96] @ 0x60 + 801bd70: f04f 0800 mov.w r8, #0 + 801bd74: f04f 0900 mov.w r9, #0 + 801bd78: 9117 str r1, [sp, #92] @ 0x5c + 801bd7a: 780a ldrb r2, [r1, #0] + 801bd7c: 2a2b cmp r2, #43 @ 0x2b + 801bd7e: 460d mov r5, r1 + 801bd80: f101 0101 add.w r1, r1, #1 + 801bd84: d01d beq.n 801bdc2 <_strtod_l+0x62> + 801bd86: d80b bhi.n 801bda0 <_strtod_l+0x40> + 801bd88: 2a0d cmp r2, #13 + 801bd8a: d806 bhi.n 801bd9a <_strtod_l+0x3a> + 801bd8c: 2a08 cmp r2, #8 + 801bd8e: d8f3 bhi.n 801bd78 <_strtod_l+0x18> + 801bd90: b17a cbz r2, 801bdb2 <_strtod_l+0x52> + 801bd92: 2300 movs r3, #0 + 801bd94: 930b str r3, [sp, #44] @ 0x2c + 801bd96: 469a mov sl, r3 + 801bd98: e083 b.n 801bea2 <_strtod_l+0x142> + 801bd9a: 2a20 cmp r2, #32 + 801bd9c: d0ec beq.n 801bd78 <_strtod_l+0x18> + 801bd9e: e7f8 b.n 801bd92 <_strtod_l+0x32> + 801bda0: 2a2d cmp r2, #45 @ 0x2d + 801bda2: d110 bne.n 801bdc6 <_strtod_l+0x66> + 801bda4: 2201 movs r2, #1 + 801bda6: 1c69 adds r1, r5, #1 + 801bda8: 9117 str r1, [sp, #92] @ 0x5c + 801bdaa: 920b str r2, [sp, #44] @ 0x2c + 801bdac: 786a ldrb r2, [r5, #1] + 801bdae: 2a00 cmp r2, #0 + 801bdb0: d137 bne.n 801be22 <_strtod_l+0xc2> + 801bdb2: 9b15 ldr r3, [sp, #84] @ 0x54 + 801bdb4: 9617 str r6, [sp, #92] @ 0x5c + 801bdb6: 2b00 cmp r3, #0 + 801bdb8: f040 8595 bne.w 801c8e6 <_strtod_l+0xb86> + 801bdbc: 4642 mov r2, r8 + 801bdbe: 464b mov r3, r9 + 801bdc0: e02a b.n 801be18 <_strtod_l+0xb8> + 801bdc2: 2200 movs r2, #0 + 801bdc4: e7ef b.n 801bda6 <_strtod_l+0x46> + 801bdc6: 2100 movs r1, #0 + 801bdc8: 910b str r1, [sp, #44] @ 0x2c + 801bdca: 2a30 cmp r2, #48 @ 0x30 + 801bdcc: f040 809b bne.w 801bf06 <_strtod_l+0x1a6> + 801bdd0: 786a ldrb r2, [r5, #1] + 801bdd2: f002 02df and.w r2, r2, #223 @ 0xdf + 801bdd6: 2a58 cmp r2, #88 @ 0x58 + 801bdd8: d15a bne.n 801be90 <_strtod_l+0x130> + 801bdda: 9302 str r3, [sp, #8] + 801bddc: 9b0b ldr r3, [sp, #44] @ 0x2c + 801bdde: 9301 str r3, [sp, #4] + 801bde0: ab18 add r3, sp, #96 @ 0x60 + 801bde2: 9300 str r3, [sp, #0] + 801bde4: 4a81 ldr r2, [pc, #516] @ (801bfec <_strtod_l+0x28c>) + 801bde6: 9804 ldr r0, [sp, #16] + 801bde8: ab19 add r3, sp, #100 @ 0x64 + 801bdea: a917 add r1, sp, #92 @ 0x5c + 801bdec: f001 fac6 bl 801d37c <__gethex> + 801bdf0: f010 060f ands.w r6, r0, #15 + 801bdf4: 4604 mov r4, r0 + 801bdf6: d005 beq.n 801be04 <_strtod_l+0xa4> + 801bdf8: 2e06 cmp r6, #6 + 801bdfa: d114 bne.n 801be26 <_strtod_l+0xc6> + 801bdfc: 3501 adds r5, #1 + 801bdfe: 2300 movs r3, #0 + 801be00: 9517 str r5, [sp, #92] @ 0x5c + 801be02: 930b str r3, [sp, #44] @ 0x2c + 801be04: 9b15 ldr r3, [sp, #84] @ 0x54 + 801be06: 2b00 cmp r3, #0 + 801be08: f040 856f bne.w 801c8ea <_strtod_l+0xb8a> + 801be0c: 9b0b ldr r3, [sp, #44] @ 0x2c 801be0e: 2b00 cmp r3, #0 - 801be10: d17b bne.n 801bf0a <_strtod_l+0xa52> - 801be12: f1b8 0f00 cmp.w r8, #0 - 801be16: d156 bne.n 801bec6 <_strtod_l+0xa0e> - 801be18: f3c9 0313 ubfx r3, r9, #0, #20 - 801be1c: 2b00 cmp r3, #0 - 801be1e: d158 bne.n 801bed2 <_strtod_l+0xa1a> - 801be20: 4b63 ldr r3, [pc, #396] @ (801bfb0 <_strtod_l+0xaf8>) - 801be22: 2200 movs r2, #0 - 801be24: 4630 mov r0, r6 - 801be26: 4639 mov r1, r7 - 801be28: f7e4 fe30 bl 8000a8c <__aeabi_dcmplt> - 801be2c: 2800 cmp r0, #0 - 801be2e: d159 bne.n 801bee4 <_strtod_l+0xa2c> - 801be30: 4b60 ldr r3, [pc, #384] @ (801bfb4 <_strtod_l+0xafc>) - 801be32: 2200 movs r2, #0 - 801be34: 4630 mov r0, r6 - 801be36: 4639 mov r1, r7 - 801be38: f7e4 fbb6 bl 80005a8 <__aeabi_dmul> - 801be3c: 4682 mov sl, r0 - 801be3e: 468b mov fp, r1 - 801be40: f10b 4300 add.w r3, fp, #2147483648 @ 0x80000000 - 801be44: f8cd a020 str.w sl, [sp, #32] - 801be48: 9309 str r3, [sp, #36] @ 0x24 - 801be4a: 4b55 ldr r3, [pc, #340] @ (801bfa0 <_strtod_l+0xae8>) - 801be4c: 4a54 ldr r2, [pc, #336] @ (801bfa0 <_strtod_l+0xae8>) - 801be4e: 402b ands r3, r5 - 801be50: 9313 str r3, [sp, #76] @ 0x4c - 801be52: 4b59 ldr r3, [pc, #356] @ (801bfb8 <_strtod_l+0xb00>) - 801be54: 402a ands r2, r5 - 801be56: 429a cmp r2, r3 - 801be58: e9dd 6708 ldrd r6, r7, [sp, #32] - 801be5c: f040 80b0 bne.w 801bfc0 <_strtod_l+0xb08> - 801be60: f1a5 7954 sub.w r9, r5, #55574528 @ 0x3500000 - 801be64: ec49 8b10 vmov d0, r8, r9 - 801be68: f7ff f9c8 bl 801b1fc <__ulp> - 801be6c: e9dd 2308 ldrd r2, r3, [sp, #32] - 801be70: ec51 0b10 vmov r0, r1, d0 - 801be74: f7e4 fb98 bl 80005a8 <__aeabi_dmul> - 801be78: 4642 mov r2, r8 - 801be7a: 464b mov r3, r9 - 801be7c: f7e4 f9de bl 800023c <__adddf3> - 801be80: 4d47 ldr r5, [pc, #284] @ (801bfa0 <_strtod_l+0xae8>) - 801be82: 4a4e ldr r2, [pc, #312] @ (801bfbc <_strtod_l+0xb04>) - 801be84: 400d ands r5, r1 - 801be86: 4295 cmp r5, r2 - 801be88: 4680 mov r8, r0 - 801be8a: d945 bls.n 801bf18 <_strtod_l+0xa60> - 801be8c: 9a0d ldr r2, [sp, #52] @ 0x34 - 801be8e: 4b47 ldr r3, [pc, #284] @ (801bfac <_strtod_l+0xaf4>) - 801be90: 429a cmp r2, r3 - 801be92: d103 bne.n 801be9c <_strtod_l+0x9e4> - 801be94: 9b0c ldr r3, [sp, #48] @ 0x30 - 801be96: 3301 adds r3, #1 - 801be98: f43f ad85 beq.w 801b9a6 <_strtod_l+0x4ee> - 801be9c: f8df 910c ldr.w r9, [pc, #268] @ 801bfac <_strtod_l+0xaf4> - 801bea0: f04f 38ff mov.w r8, #4294967295 @ 0xffffffff - 801bea4: 9918 ldr r1, [sp, #96] @ 0x60 - 801bea6: 9804 ldr r0, [sp, #16] - 801bea8: f7fe fe6c bl 801ab84 <_Bfree> - 801beac: 9906 ldr r1, [sp, #24] - 801beae: 9804 ldr r0, [sp, #16] - 801beb0: f7fe fe68 bl 801ab84 <_Bfree> - 801beb4: e9dd 0104 ldrd r0, r1, [sp, #16] - 801beb8: f7fe fe64 bl 801ab84 <_Bfree> - 801bebc: 9804 ldr r0, [sp, #16] - 801bebe: 4621 mov r1, r4 - 801bec0: f7fe fe60 bl 801ab84 <_Bfree> - 801bec4: e625 b.n 801bb12 <_strtod_l+0x65a> - 801bec6: f1b8 0f01 cmp.w r8, #1 - 801beca: d102 bne.n 801bed2 <_strtod_l+0xa1a> - 801becc: 2d00 cmp r5, #0 - 801bece: f43f ada4 beq.w 801ba1a <_strtod_l+0x562> - 801bed2: ed9f 7b2b vldr d7, [pc, #172] @ 801bf80 <_strtod_l+0xac8> - 801bed6: f8df b0d8 ldr.w fp, [pc, #216] @ 801bfb0 <_strtod_l+0xaf8> - 801beda: ed8d 7b08 vstr d7, [sp, #32] - 801bede: f04f 0a00 mov.w sl, #0 - 801bee2: e7b2 b.n 801be4a <_strtod_l+0x992> - 801bee4: f8df b0cc ldr.w fp, [pc, #204] @ 801bfb4 <_strtod_l+0xafc> - 801bee8: f04f 0a00 mov.w sl, #0 - 801beec: e7a8 b.n 801be40 <_strtod_l+0x988> - 801beee: 4b31 ldr r3, [pc, #196] @ (801bfb4 <_strtod_l+0xafc>) - 801bef0: 2200 movs r2, #0 - 801bef2: 4630 mov r0, r6 - 801bef4: 4639 mov r1, r7 - 801bef6: f7e4 fb57 bl 80005a8 <__aeabi_dmul> - 801befa: 9b0f ldr r3, [sp, #60] @ 0x3c - 801befc: 4682 mov sl, r0 - 801befe: 468b mov fp, r1 - 801bf00: 2b00 cmp r3, #0 - 801bf02: d09d beq.n 801be40 <_strtod_l+0x988> - 801bf04: e9cd ab08 strd sl, fp, [sp, #32] - 801bf08: e79f b.n 801be4a <_strtod_l+0x992> - 801bf0a: ed9f 7b1f vldr d7, [pc, #124] @ 801bf88 <_strtod_l+0xad0> - 801bf0e: ed8d 7b08 vstr d7, [sp, #32] - 801bf12: ec5b ab17 vmov sl, fp, d7 - 801bf16: e798 b.n 801be4a <_strtod_l+0x992> - 801bf18: f101 7954 add.w r9, r1, #55574528 @ 0x3500000 - 801bf1c: 9b07 ldr r3, [sp, #28] - 801bf1e: 2b00 cmp r3, #0 - 801bf20: d1c0 bne.n 801bea4 <_strtod_l+0x9ec> - 801bf22: f029 4300 bic.w r3, r9, #2147483648 @ 0x80000000 - 801bf26: 9a13 ldr r2, [sp, #76] @ 0x4c - 801bf28: 0d1b lsrs r3, r3, #20 - 801bf2a: 051b lsls r3, r3, #20 - 801bf2c: 429a cmp r2, r3 - 801bf2e: d1b9 bne.n 801bea4 <_strtod_l+0x9ec> - 801bf30: 4650 mov r0, sl - 801bf32: 4659 mov r1, fp - 801bf34: f7e4 fe80 bl 8000c38 <__aeabi_d2lz> - 801bf38: f7e4 fb08 bl 800054c <__aeabi_l2d> - 801bf3c: 4602 mov r2, r0 - 801bf3e: 460b mov r3, r1 - 801bf40: 4650 mov r0, sl - 801bf42: 4659 mov r1, fp - 801bf44: f7e4 f978 bl 8000238 <__aeabi_dsub> - 801bf48: 9a0f ldr r2, [sp, #60] @ 0x3c - 801bf4a: f3c9 0313 ubfx r3, r9, #0, #20 - 801bf4e: ea43 0308 orr.w r3, r3, r8 - 801bf52: 4313 orrs r3, r2 - 801bf54: 4606 mov r6, r0 - 801bf56: 460f mov r7, r1 - 801bf58: d06b beq.n 801c032 <_strtod_l+0xb7a> - 801bf5a: a30d add r3, pc, #52 @ (adr r3, 801bf90 <_strtod_l+0xad8>) - 801bf5c: e9d3 2300 ldrd r2, r3, [r3] - 801bf60: f7e4 fd94 bl 8000a8c <__aeabi_dcmplt> - 801bf64: 2800 cmp r0, #0 - 801bf66: f47f ad29 bne.w 801b9bc <_strtod_l+0x504> - 801bf6a: a30b add r3, pc, #44 @ (adr r3, 801bf98 <_strtod_l+0xae0>) - 801bf6c: e9d3 2300 ldrd r2, r3, [r3] - 801bf70: 4630 mov r0, r6 - 801bf72: 4639 mov r1, r7 - 801bf74: f7e4 fda8 bl 8000ac8 <__aeabi_dcmpgt> - 801bf78: 2800 cmp r0, #0 - 801bf7a: d093 beq.n 801bea4 <_strtod_l+0x9ec> - 801bf7c: e51e b.n 801b9bc <_strtod_l+0x504> - 801bf7e: bf00 nop - 801bf80: 00000000 .word 0x00000000 - 801bf84: bff00000 .word 0xbff00000 - 801bf88: 00000000 .word 0x00000000 - 801bf8c: 3ff00000 .word 0x3ff00000 - 801bf90: 94a03595 .word 0x94a03595 - 801bf94: 3fdfffff .word 0x3fdfffff - 801bf98: 35afe535 .word 0x35afe535 - 801bf9c: 3fe00000 .word 0x3fe00000 - 801bfa0: 7ff00000 .word 0x7ff00000 - 801bfa4: 39500000 .word 0x39500000 - 801bfa8: 000fffff .word 0x000fffff - 801bfac: 7fefffff .word 0x7fefffff - 801bfb0: 3ff00000 .word 0x3ff00000 - 801bfb4: 3fe00000 .word 0x3fe00000 - 801bfb8: 7fe00000 .word 0x7fe00000 - 801bfbc: 7c9fffff .word 0x7c9fffff - 801bfc0: 9b07 ldr r3, [sp, #28] - 801bfc2: b313 cbz r3, 801c00a <_strtod_l+0xb52> - 801bfc4: 9b13 ldr r3, [sp, #76] @ 0x4c - 801bfc6: f1b3 6fd4 cmp.w r3, #111149056 @ 0x6a00000 - 801bfca: d81e bhi.n 801c00a <_strtod_l+0xb52> - 801bfcc: a324 add r3, pc, #144 @ (adr r3, 801c060 <_strtod_l+0xba8>) - 801bfce: e9d3 2300 ldrd r2, r3, [r3] - 801bfd2: 4650 mov r0, sl - 801bfd4: 4659 mov r1, fp - 801bfd6: f7e4 fd63 bl 8000aa0 <__aeabi_dcmple> - 801bfda: b190 cbz r0, 801c002 <_strtod_l+0xb4a> - 801bfdc: 4659 mov r1, fp - 801bfde: 4650 mov r0, sl - 801bfe0: f7e4 fdba bl 8000b58 <__aeabi_d2uiz> - 801bfe4: 2801 cmp r0, #1 - 801bfe6: bf38 it cc - 801bfe8: 2001 movcc r0, #1 - 801bfea: f7e4 fa63 bl 80004b4 <__aeabi_ui2d> - 801bfee: 9b0f ldr r3, [sp, #60] @ 0x3c - 801bff0: 4682 mov sl, r0 - 801bff2: 468b mov fp, r1 - 801bff4: b9d3 cbnz r3, 801c02c <_strtod_l+0xb74> - 801bff6: f101 4300 add.w r3, r1, #2147483648 @ 0x80000000 - 801bffa: 9010 str r0, [sp, #64] @ 0x40 - 801bffc: 9311 str r3, [sp, #68] @ 0x44 - 801bffe: e9dd 6710 ldrd r6, r7, [sp, #64] @ 0x40 - 801c002: 9a13 ldr r2, [sp, #76] @ 0x4c - 801c004: f107 63d6 add.w r3, r7, #112197632 @ 0x6b00000 - 801c008: 1a9f subs r7, r3, r2 - 801c00a: ed9d 0b0c vldr d0, [sp, #48] @ 0x30 - 801c00e: f7ff f8f5 bl 801b1fc <__ulp> - 801c012: 4630 mov r0, r6 - 801c014: ec53 2b10 vmov r2, r3, d0 - 801c018: 4639 mov r1, r7 - 801c01a: f7e4 fac5 bl 80005a8 <__aeabi_dmul> - 801c01e: e9dd 230c ldrd r2, r3, [sp, #48] @ 0x30 - 801c022: f7e4 f90b bl 800023c <__adddf3> - 801c026: 4680 mov r8, r0 - 801c028: 4689 mov r9, r1 - 801c02a: e777 b.n 801bf1c <_strtod_l+0xa64> - 801c02c: e9cd ab10 strd sl, fp, [sp, #64] @ 0x40 - 801c030: e7e5 b.n 801bffe <_strtod_l+0xb46> - 801c032: a30d add r3, pc, #52 @ (adr r3, 801c068 <_strtod_l+0xbb0>) - 801c034: e9d3 2300 ldrd r2, r3, [r3] - 801c038: f7e4 fd28 bl 8000a8c <__aeabi_dcmplt> - 801c03c: e79c b.n 801bf78 <_strtod_l+0xac0> - 801c03e: 2300 movs r3, #0 - 801c040: 930b str r3, [sp, #44] @ 0x2c - 801c042: 9a15 ldr r2, [sp, #84] @ 0x54 - 801c044: 9b17 ldr r3, [sp, #92] @ 0x5c - 801c046: 6013 str r3, [r2, #0] - 801c048: f7ff ba8c b.w 801b564 <_strtod_l+0xac> - 801c04c: 2a65 cmp r2, #101 @ 0x65 - 801c04e: f43f ab6a beq.w 801b726 <_strtod_l+0x26e> - 801c052: 2a45 cmp r2, #69 @ 0x45 - 801c054: f43f ab67 beq.w 801b726 <_strtod_l+0x26e> - 801c058: 2301 movs r3, #1 - 801c05a: 9307 str r3, [sp, #28] - 801c05c: f7ff bba1 b.w 801b7a2 <_strtod_l+0x2ea> - 801c060: ffc00000 .word 0xffc00000 - 801c064: 41dfffff .word 0x41dfffff - 801c068: 94a03595 .word 0x94a03595 - 801c06c: 3fcfffff .word 0x3fcfffff - -0801c070 <_strtod_r>: - 801c070: 4b01 ldr r3, [pc, #4] @ (801c078 <_strtod_r+0x8>) - 801c072: f7ff ba21 b.w 801b4b8 <_strtod_l> - 801c076: bf00 nop - 801c078: 2000016c .word 0x2000016c - -0801c07c <_strtol_l.isra.0>: - 801c07c: 2b24 cmp r3, #36 @ 0x24 - 801c07e: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 801c082: 4686 mov lr, r0 - 801c084: 4690 mov r8, r2 - 801c086: d801 bhi.n 801c08c <_strtol_l.isra.0+0x10> - 801c088: 2b01 cmp r3, #1 - 801c08a: d106 bne.n 801c09a <_strtol_l.isra.0+0x1e> - 801c08c: f7fd fd94 bl 8019bb8 <__errno> - 801c090: 2316 movs r3, #22 - 801c092: 6003 str r3, [r0, #0] - 801c094: 2000 movs r0, #0 - 801c096: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 801c09a: 4834 ldr r0, [pc, #208] @ (801c16c <_strtol_l.isra.0+0xf0>) - 801c09c: 460d mov r5, r1 - 801c09e: 462a mov r2, r5 - 801c0a0: f815 4b01 ldrb.w r4, [r5], #1 - 801c0a4: 5d06 ldrb r6, [r0, r4] - 801c0a6: f016 0608 ands.w r6, r6, #8 - 801c0aa: d1f8 bne.n 801c09e <_strtol_l.isra.0+0x22> - 801c0ac: 2c2d cmp r4, #45 @ 0x2d - 801c0ae: d110 bne.n 801c0d2 <_strtol_l.isra.0+0x56> - 801c0b0: 782c ldrb r4, [r5, #0] - 801c0b2: 2601 movs r6, #1 - 801c0b4: 1c95 adds r5, r2, #2 - 801c0b6: f033 0210 bics.w r2, r3, #16 - 801c0ba: d115 bne.n 801c0e8 <_strtol_l.isra.0+0x6c> - 801c0bc: 2c30 cmp r4, #48 @ 0x30 - 801c0be: d10d bne.n 801c0dc <_strtol_l.isra.0+0x60> - 801c0c0: 782a ldrb r2, [r5, #0] - 801c0c2: f002 02df and.w r2, r2, #223 @ 0xdf - 801c0c6: 2a58 cmp r2, #88 @ 0x58 - 801c0c8: d108 bne.n 801c0dc <_strtol_l.isra.0+0x60> - 801c0ca: 786c ldrb r4, [r5, #1] - 801c0cc: 3502 adds r5, #2 - 801c0ce: 2310 movs r3, #16 - 801c0d0: e00a b.n 801c0e8 <_strtol_l.isra.0+0x6c> - 801c0d2: 2c2b cmp r4, #43 @ 0x2b - 801c0d4: bf04 itt eq - 801c0d6: 782c ldrbeq r4, [r5, #0] - 801c0d8: 1c95 addeq r5, r2, #2 - 801c0da: e7ec b.n 801c0b6 <_strtol_l.isra.0+0x3a> - 801c0dc: 2b00 cmp r3, #0 - 801c0de: d1f6 bne.n 801c0ce <_strtol_l.isra.0+0x52> - 801c0e0: 2c30 cmp r4, #48 @ 0x30 - 801c0e2: bf14 ite ne - 801c0e4: 230a movne r3, #10 - 801c0e6: 2308 moveq r3, #8 - 801c0e8: f106 4c00 add.w ip, r6, #2147483648 @ 0x80000000 - 801c0ec: f10c 3cff add.w ip, ip, #4294967295 @ 0xffffffff - 801c0f0: 2200 movs r2, #0 - 801c0f2: fbbc f9f3 udiv r9, ip, r3 - 801c0f6: 4610 mov r0, r2 - 801c0f8: fb03 ca19 mls sl, r3, r9, ip - 801c0fc: f1a4 0730 sub.w r7, r4, #48 @ 0x30 - 801c100: 2f09 cmp r7, #9 - 801c102: d80f bhi.n 801c124 <_strtol_l.isra.0+0xa8> - 801c104: 463c mov r4, r7 - 801c106: 42a3 cmp r3, r4 - 801c108: dd1b ble.n 801c142 <_strtol_l.isra.0+0xc6> - 801c10a: 1c57 adds r7, r2, #1 - 801c10c: d007 beq.n 801c11e <_strtol_l.isra.0+0xa2> - 801c10e: 4581 cmp r9, r0 - 801c110: d314 bcc.n 801c13c <_strtol_l.isra.0+0xc0> - 801c112: d101 bne.n 801c118 <_strtol_l.isra.0+0x9c> - 801c114: 45a2 cmp sl, r4 - 801c116: db11 blt.n 801c13c <_strtol_l.isra.0+0xc0> - 801c118: fb00 4003 mla r0, r0, r3, r4 - 801c11c: 2201 movs r2, #1 - 801c11e: f815 4b01 ldrb.w r4, [r5], #1 - 801c122: e7eb b.n 801c0fc <_strtol_l.isra.0+0x80> - 801c124: f1a4 0741 sub.w r7, r4, #65 @ 0x41 - 801c128: 2f19 cmp r7, #25 - 801c12a: d801 bhi.n 801c130 <_strtol_l.isra.0+0xb4> - 801c12c: 3c37 subs r4, #55 @ 0x37 - 801c12e: e7ea b.n 801c106 <_strtol_l.isra.0+0x8a> - 801c130: f1a4 0761 sub.w r7, r4, #97 @ 0x61 - 801c134: 2f19 cmp r7, #25 - 801c136: d804 bhi.n 801c142 <_strtol_l.isra.0+0xc6> - 801c138: 3c57 subs r4, #87 @ 0x57 - 801c13a: e7e4 b.n 801c106 <_strtol_l.isra.0+0x8a> - 801c13c: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 801c140: e7ed b.n 801c11e <_strtol_l.isra.0+0xa2> - 801c142: 1c53 adds r3, r2, #1 - 801c144: d108 bne.n 801c158 <_strtol_l.isra.0+0xdc> - 801c146: 2322 movs r3, #34 @ 0x22 - 801c148: f8ce 3000 str.w r3, [lr] - 801c14c: 4660 mov r0, ip - 801c14e: f1b8 0f00 cmp.w r8, #0 - 801c152: d0a0 beq.n 801c096 <_strtol_l.isra.0+0x1a> - 801c154: 1e69 subs r1, r5, #1 - 801c156: e006 b.n 801c166 <_strtol_l.isra.0+0xea> - 801c158: b106 cbz r6, 801c15c <_strtol_l.isra.0+0xe0> - 801c15a: 4240 negs r0, r0 - 801c15c: f1b8 0f00 cmp.w r8, #0 - 801c160: d099 beq.n 801c096 <_strtol_l.isra.0+0x1a> - 801c162: 2a00 cmp r2, #0 - 801c164: d1f6 bne.n 801c154 <_strtol_l.isra.0+0xd8> - 801c166: f8c8 1000 str.w r1, [r8] - 801c16a: e794 b.n 801c096 <_strtol_l.isra.0+0x1a> - 801c16c: 0801dfd9 .word 0x0801dfd9 - -0801c170 <_strtol_r>: - 801c170: f7ff bf84 b.w 801c07c <_strtol_l.isra.0> - -0801c174 <__ssputs_r>: - 801c174: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 801c178: 688e ldr r6, [r1, #8] - 801c17a: 461f mov r7, r3 - 801c17c: 42be cmp r6, r7 - 801c17e: 4682 mov sl, r0 - 801c180: 460c mov r4, r1 - 801c182: 4690 mov r8, r2 - 801c184: 4633 mov r3, r6 - 801c186: d853 bhi.n 801c230 <__ssputs_r+0xbc> - 801c188: f9b1 000c ldrsh.w r0, [r1, #12] - 801c18c: f410 6f90 tst.w r0, #1152 @ 0x480 - 801c190: d02b beq.n 801c1ea <__ssputs_r+0x76> - 801c192: 6965 ldr r5, [r4, #20] - 801c194: 6823 ldr r3, [r4, #0] - 801c196: 6909 ldr r1, [r1, #16] - 801c198: eb05 0545 add.w r5, r5, r5, lsl #1 - 801c19c: eba3 0901 sub.w r9, r3, r1 - 801c1a0: eb05 75d5 add.w r5, r5, r5, lsr #31 - 801c1a4: 1c7b adds r3, r7, #1 - 801c1a6: 106d asrs r5, r5, #1 - 801c1a8: 444b add r3, r9 - 801c1aa: 42ab cmp r3, r5 - 801c1ac: 462a mov r2, r5 - 801c1ae: bf84 itt hi - 801c1b0: 461d movhi r5, r3 - 801c1b2: 462a movhi r2, r5 - 801c1b4: 0543 lsls r3, r0, #21 - 801c1b6: d527 bpl.n 801c208 <__ssputs_r+0x94> - 801c1b8: 4611 mov r1, r2 - 801c1ba: 4650 mov r0, sl - 801c1bc: f7fe fc18 bl 801a9f0 <_malloc_r> - 801c1c0: 4606 mov r6, r0 - 801c1c2: b358 cbz r0, 801c21c <__ssputs_r+0xa8> - 801c1c4: 6921 ldr r1, [r4, #16] - 801c1c6: 464a mov r2, r9 - 801c1c8: f7fd fd23 bl 8019c12 - 801c1cc: 89a3 ldrh r3, [r4, #12] - 801c1ce: f423 6390 bic.w r3, r3, #1152 @ 0x480 - 801c1d2: f043 0380 orr.w r3, r3, #128 @ 0x80 - 801c1d6: 81a3 strh r3, [r4, #12] - 801c1d8: 6126 str r6, [r4, #16] - 801c1da: 6165 str r5, [r4, #20] - 801c1dc: 444e add r6, r9 - 801c1de: eba5 0509 sub.w r5, r5, r9 - 801c1e2: 6026 str r6, [r4, #0] - 801c1e4: 60a5 str r5, [r4, #8] - 801c1e6: 463e mov r6, r7 - 801c1e8: 463b mov r3, r7 - 801c1ea: 461f mov r7, r3 - 801c1ec: 6820 ldr r0, [r4, #0] - 801c1ee: 463a mov r2, r7 - 801c1f0: 4641 mov r1, r8 - 801c1f2: f000 fb5c bl 801c8ae - 801c1f6: 68a3 ldr r3, [r4, #8] - 801c1f8: 1b9b subs r3, r3, r6 - 801c1fa: 60a3 str r3, [r4, #8] - 801c1fc: 6823 ldr r3, [r4, #0] - 801c1fe: 443b add r3, r7 - 801c200: 6023 str r3, [r4, #0] - 801c202: 2000 movs r0, #0 - 801c204: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 801c208: 4650 mov r0, sl - 801c20a: f000 ff34 bl 801d076 <_realloc_r> - 801c20e: 4606 mov r6, r0 - 801c210: 2800 cmp r0, #0 - 801c212: d1e1 bne.n 801c1d8 <__ssputs_r+0x64> - 801c214: 6921 ldr r1, [r4, #16] - 801c216: 4650 mov r0, sl - 801c218: f7fe fb76 bl 801a908 <_free_r> - 801c21c: 230c movs r3, #12 - 801c21e: f8ca 3000 str.w r3, [sl] - 801c222: 89a3 ldrh r3, [r4, #12] - 801c224: f043 0340 orr.w r3, r3, #64 @ 0x40 - 801c228: 81a3 strh r3, [r4, #12] - 801c22a: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 801c22e: e7e9 b.n 801c204 <__ssputs_r+0x90> - 801c230: 463e mov r6, r7 - 801c232: e7db b.n 801c1ec <__ssputs_r+0x78> - -0801c234 <_svfiprintf_r>: - 801c234: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 801c238: 461f mov r7, r3 - 801c23a: 898b ldrh r3, [r1, #12] - 801c23c: 061b lsls r3, r3, #24 - 801c23e: b09c sub sp, #112 @ 0x70 - 801c240: 4606 mov r6, r0 - 801c242: 460d mov r5, r1 - 801c244: 4614 mov r4, r2 - 801c246: d510 bpl.n 801c26a <_svfiprintf_r+0x36> - 801c248: 690b ldr r3, [r1, #16] - 801c24a: b973 cbnz r3, 801c26a <_svfiprintf_r+0x36> - 801c24c: 2140 movs r1, #64 @ 0x40 - 801c24e: f7fe fbcf bl 801a9f0 <_malloc_r> - 801c252: 6028 str r0, [r5, #0] - 801c254: 6128 str r0, [r5, #16] - 801c256: b930 cbnz r0, 801c266 <_svfiprintf_r+0x32> - 801c258: 230c movs r3, #12 - 801c25a: 6033 str r3, [r6, #0] - 801c25c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 801c260: b01c add sp, #112 @ 0x70 - 801c262: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 801c266: 2340 movs r3, #64 @ 0x40 - 801c268: 616b str r3, [r5, #20] - 801c26a: 2300 movs r3, #0 - 801c26c: 9309 str r3, [sp, #36] @ 0x24 - 801c26e: 2320 movs r3, #32 - 801c270: f88d 3029 strb.w r3, [sp, #41] @ 0x29 - 801c274: 9703 str r7, [sp, #12] - 801c276: 2330 movs r3, #48 @ 0x30 - 801c278: 4f65 ldr r7, [pc, #404] @ (801c410 <_svfiprintf_r+0x1dc>) - 801c27a: f88d 302a strb.w r3, [sp, #42] @ 0x2a - 801c27e: f04f 0801 mov.w r8, #1 - 801c282: 4623 mov r3, r4 - 801c284: 4699 mov r9, r3 - 801c286: f813 2b01 ldrb.w r2, [r3], #1 - 801c28a: b10a cbz r2, 801c290 <_svfiprintf_r+0x5c> - 801c28c: 2a25 cmp r2, #37 @ 0x25 - 801c28e: d1f9 bne.n 801c284 <_svfiprintf_r+0x50> - 801c290: ebb9 0a04 subs.w sl, r9, r4 - 801c294: d00b beq.n 801c2ae <_svfiprintf_r+0x7a> - 801c296: 4653 mov r3, sl - 801c298: 4622 mov r2, r4 - 801c29a: 4629 mov r1, r5 - 801c29c: 4630 mov r0, r6 - 801c29e: f7ff ff69 bl 801c174 <__ssputs_r> - 801c2a2: 3001 adds r0, #1 - 801c2a4: f000 80a4 beq.w 801c3f0 <_svfiprintf_r+0x1bc> - 801c2a8: 9a09 ldr r2, [sp, #36] @ 0x24 - 801c2aa: 4452 add r2, sl - 801c2ac: 9209 str r2, [sp, #36] @ 0x24 - 801c2ae: f899 3000 ldrb.w r3, [r9] - 801c2b2: 2b00 cmp r3, #0 - 801c2b4: f000 809c beq.w 801c3f0 <_svfiprintf_r+0x1bc> - 801c2b8: 2300 movs r3, #0 - 801c2ba: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 801c2be: e9cd 2305 strd r2, r3, [sp, #20] - 801c2c2: f109 0901 add.w r9, r9, #1 - 801c2c6: 9304 str r3, [sp, #16] - 801c2c8: 9307 str r3, [sp, #28] - 801c2ca: f88d 3053 strb.w r3, [sp, #83] @ 0x53 - 801c2ce: 931a str r3, [sp, #104] @ 0x68 - 801c2d0: 464c mov r4, r9 - 801c2d2: 484f ldr r0, [pc, #316] @ (801c410 <_svfiprintf_r+0x1dc>) - 801c2d4: f814 1b01 ldrb.w r1, [r4], #1 - 801c2d8: 2205 movs r2, #5 - 801c2da: f7e3 ff51 bl 8000180 - 801c2de: 9b04 ldr r3, [sp, #16] - 801c2e0: b9d0 cbnz r0, 801c318 <_svfiprintf_r+0xe4> - 801c2e2: 06d8 lsls r0, r3, #27 - 801c2e4: bf44 itt mi - 801c2e6: 2220 movmi r2, #32 - 801c2e8: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 - 801c2ec: 0719 lsls r1, r3, #28 - 801c2ee: bf44 itt mi - 801c2f0: 222b movmi r2, #43 @ 0x2b - 801c2f2: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 - 801c2f6: f899 2000 ldrb.w r2, [r9] - 801c2fa: 2a2a cmp r2, #42 @ 0x2a - 801c2fc: d013 beq.n 801c326 <_svfiprintf_r+0xf2> - 801c2fe: 9a07 ldr r2, [sp, #28] - 801c300: 464c mov r4, r9 - 801c302: 2000 movs r0, #0 - 801c304: f04f 0c0a mov.w ip, #10 - 801c308: 4621 mov r1, r4 - 801c30a: f811 3b01 ldrb.w r3, [r1], #1 - 801c30e: 3b30 subs r3, #48 @ 0x30 - 801c310: 2b09 cmp r3, #9 - 801c312: d949 bls.n 801c3a8 <_svfiprintf_r+0x174> - 801c314: b968 cbnz r0, 801c332 <_svfiprintf_r+0xfe> - 801c316: e013 b.n 801c340 <_svfiprintf_r+0x10c> - 801c318: 1bc0 subs r0, r0, r7 - 801c31a: fa08 f000 lsl.w r0, r8, r0 - 801c31e: 4318 orrs r0, r3 - 801c320: 9004 str r0, [sp, #16] - 801c322: 46a1 mov r9, r4 - 801c324: e7d4 b.n 801c2d0 <_svfiprintf_r+0x9c> - 801c326: 9a03 ldr r2, [sp, #12] - 801c328: 1d11 adds r1, r2, #4 - 801c32a: 6812 ldr r2, [r2, #0] - 801c32c: 9103 str r1, [sp, #12] - 801c32e: 2a00 cmp r2, #0 - 801c330: db01 blt.n 801c336 <_svfiprintf_r+0x102> - 801c332: 9207 str r2, [sp, #28] - 801c334: e004 b.n 801c340 <_svfiprintf_r+0x10c> - 801c336: 4252 negs r2, r2 - 801c338: f043 0302 orr.w r3, r3, #2 - 801c33c: 9207 str r2, [sp, #28] - 801c33e: 9304 str r3, [sp, #16] - 801c340: 7823 ldrb r3, [r4, #0] - 801c342: 2b2e cmp r3, #46 @ 0x2e - 801c344: d10a bne.n 801c35c <_svfiprintf_r+0x128> - 801c346: 7863 ldrb r3, [r4, #1] - 801c348: 2b2a cmp r3, #42 @ 0x2a - 801c34a: d132 bne.n 801c3b2 <_svfiprintf_r+0x17e> - 801c34c: 9b03 ldr r3, [sp, #12] - 801c34e: 1d1a adds r2, r3, #4 - 801c350: 681b ldr r3, [r3, #0] - 801c352: 9203 str r2, [sp, #12] - 801c354: ea43 73e3 orr.w r3, r3, r3, asr #31 - 801c358: 3402 adds r4, #2 - 801c35a: 9305 str r3, [sp, #20] - 801c35c: f8df 90c0 ldr.w r9, [pc, #192] @ 801c420 <_svfiprintf_r+0x1ec> - 801c360: 7821 ldrb r1, [r4, #0] - 801c362: 2203 movs r2, #3 - 801c364: 4648 mov r0, r9 - 801c366: f7e3 ff0b bl 8000180 - 801c36a: b138 cbz r0, 801c37c <_svfiprintf_r+0x148> - 801c36c: 9b04 ldr r3, [sp, #16] - 801c36e: eba0 0009 sub.w r0, r0, r9 - 801c372: 2240 movs r2, #64 @ 0x40 - 801c374: 4082 lsls r2, r0 - 801c376: 4313 orrs r3, r2 - 801c378: 3401 adds r4, #1 - 801c37a: 9304 str r3, [sp, #16] - 801c37c: f814 1b01 ldrb.w r1, [r4], #1 - 801c380: 4824 ldr r0, [pc, #144] @ (801c414 <_svfiprintf_r+0x1e0>) - 801c382: f88d 1028 strb.w r1, [sp, #40] @ 0x28 - 801c386: 2206 movs r2, #6 - 801c388: f7e3 fefa bl 8000180 - 801c38c: 2800 cmp r0, #0 - 801c38e: d035 beq.n 801c3fc <_svfiprintf_r+0x1c8> - 801c390: 4821 ldr r0, [pc, #132] @ (801c418 <_svfiprintf_r+0x1e4>) - 801c392: bb18 cbnz r0, 801c3dc <_svfiprintf_r+0x1a8> - 801c394: 9b03 ldr r3, [sp, #12] - 801c396: 3307 adds r3, #7 - 801c398: f023 0307 bic.w r3, r3, #7 - 801c39c: 3308 adds r3, #8 - 801c39e: 9303 str r3, [sp, #12] - 801c3a0: 9b09 ldr r3, [sp, #36] @ 0x24 - 801c3a2: 4403 add r3, r0 - 801c3a4: 9309 str r3, [sp, #36] @ 0x24 - 801c3a6: e76c b.n 801c282 <_svfiprintf_r+0x4e> - 801c3a8: fb0c 3202 mla r2, ip, r2, r3 - 801c3ac: 460c mov r4, r1 - 801c3ae: 2001 movs r0, #1 - 801c3b0: e7aa b.n 801c308 <_svfiprintf_r+0xd4> - 801c3b2: 2300 movs r3, #0 - 801c3b4: 3401 adds r4, #1 - 801c3b6: 9305 str r3, [sp, #20] - 801c3b8: 4619 mov r1, r3 - 801c3ba: f04f 0c0a mov.w ip, #10 - 801c3be: 4620 mov r0, r4 - 801c3c0: f810 2b01 ldrb.w r2, [r0], #1 - 801c3c4: 3a30 subs r2, #48 @ 0x30 - 801c3c6: 2a09 cmp r2, #9 - 801c3c8: d903 bls.n 801c3d2 <_svfiprintf_r+0x19e> - 801c3ca: 2b00 cmp r3, #0 - 801c3cc: d0c6 beq.n 801c35c <_svfiprintf_r+0x128> - 801c3ce: 9105 str r1, [sp, #20] - 801c3d0: e7c4 b.n 801c35c <_svfiprintf_r+0x128> - 801c3d2: fb0c 2101 mla r1, ip, r1, r2 - 801c3d6: 4604 mov r4, r0 - 801c3d8: 2301 movs r3, #1 - 801c3da: e7f0 b.n 801c3be <_svfiprintf_r+0x18a> - 801c3dc: ab03 add r3, sp, #12 - 801c3de: 9300 str r3, [sp, #0] - 801c3e0: 462a mov r2, r5 - 801c3e2: 4b0e ldr r3, [pc, #56] @ (801c41c <_svfiprintf_r+0x1e8>) - 801c3e4: a904 add r1, sp, #16 - 801c3e6: 4630 mov r0, r6 - 801c3e8: f7fc fba0 bl 8018b2c <_printf_float> - 801c3ec: 1c42 adds r2, r0, #1 - 801c3ee: d1d7 bne.n 801c3a0 <_svfiprintf_r+0x16c> - 801c3f0: 89ab ldrh r3, [r5, #12] - 801c3f2: 065b lsls r3, r3, #25 - 801c3f4: f53f af32 bmi.w 801c25c <_svfiprintf_r+0x28> - 801c3f8: 9809 ldr r0, [sp, #36] @ 0x24 - 801c3fa: e731 b.n 801c260 <_svfiprintf_r+0x2c> - 801c3fc: ab03 add r3, sp, #12 - 801c3fe: 9300 str r3, [sp, #0] - 801c400: 462a mov r2, r5 - 801c402: 4b06 ldr r3, [pc, #24] @ (801c41c <_svfiprintf_r+0x1e8>) - 801c404: a904 add r1, sp, #16 - 801c406: 4630 mov r0, r6 - 801c408: f7fc fe26 bl 8019058 <_printf_i> - 801c40c: e7ee b.n 801c3ec <_svfiprintf_r+0x1b8> - 801c40e: bf00 nop - 801c410: 0801ddd1 .word 0x0801ddd1 - 801c414: 0801dddb .word 0x0801dddb - 801c418: 08018b2d .word 0x08018b2d - 801c41c: 0801c175 .word 0x0801c175 - 801c420: 0801ddd7 .word 0x0801ddd7 - -0801c424 <__sfputc_r>: - 801c424: 6893 ldr r3, [r2, #8] - 801c426: 3b01 subs r3, #1 - 801c428: 2b00 cmp r3, #0 - 801c42a: b410 push {r4} - 801c42c: 6093 str r3, [r2, #8] - 801c42e: da08 bge.n 801c442 <__sfputc_r+0x1e> - 801c430: 6994 ldr r4, [r2, #24] - 801c432: 42a3 cmp r3, r4 - 801c434: db01 blt.n 801c43a <__sfputc_r+0x16> - 801c436: 290a cmp r1, #10 - 801c438: d103 bne.n 801c442 <__sfputc_r+0x1e> - 801c43a: f85d 4b04 ldr.w r4, [sp], #4 - 801c43e: f7fd bad7 b.w 80199f0 <__swbuf_r> - 801c442: 6813 ldr r3, [r2, #0] - 801c444: 1c58 adds r0, r3, #1 - 801c446: 6010 str r0, [r2, #0] - 801c448: 7019 strb r1, [r3, #0] - 801c44a: 4608 mov r0, r1 - 801c44c: f85d 4b04 ldr.w r4, [sp], #4 - 801c450: 4770 bx lr - -0801c452 <__sfputs_r>: - 801c452: b5f8 push {r3, r4, r5, r6, r7, lr} - 801c454: 4606 mov r6, r0 - 801c456: 460f mov r7, r1 - 801c458: 4614 mov r4, r2 - 801c45a: 18d5 adds r5, r2, r3 - 801c45c: 42ac cmp r4, r5 - 801c45e: d101 bne.n 801c464 <__sfputs_r+0x12> - 801c460: 2000 movs r0, #0 - 801c462: e007 b.n 801c474 <__sfputs_r+0x22> - 801c464: f814 1b01 ldrb.w r1, [r4], #1 - 801c468: 463a mov r2, r7 - 801c46a: 4630 mov r0, r6 - 801c46c: f7ff ffda bl 801c424 <__sfputc_r> - 801c470: 1c43 adds r3, r0, #1 - 801c472: d1f3 bne.n 801c45c <__sfputs_r+0xa> - 801c474: bdf8 pop {r3, r4, r5, r6, r7, pc} - ... - -0801c478 <_vfiprintf_r>: - 801c478: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 801c47c: 460d mov r5, r1 - 801c47e: b09c sub sp, #112 @ 0x70 - 801c480: 4614 mov r4, r2 - 801c482: 461f mov r7, r3 - 801c484: 4606 mov r6, r0 - 801c486: b118 cbz r0, 801c490 <_vfiprintf_r+0x18> - 801c488: 6a03 ldr r3, [r0, #32] - 801c48a: b90b cbnz r3, 801c490 <_vfiprintf_r+0x18> - 801c48c: f7fd f9a4 bl 80197d8 <__sinit> - 801c490: 6e6b ldr r3, [r5, #100] @ 0x64 - 801c492: 07d9 lsls r1, r3, #31 - 801c494: d405 bmi.n 801c4a2 <_vfiprintf_r+0x2a> - 801c496: 89ab ldrh r3, [r5, #12] - 801c498: 059a lsls r2, r3, #22 - 801c49a: d402 bmi.n 801c4a2 <_vfiprintf_r+0x2a> - 801c49c: 6da8 ldr r0, [r5, #88] @ 0x58 - 801c49e: f7fd fbb6 bl 8019c0e <__retarget_lock_acquire_recursive> - 801c4a2: 89ab ldrh r3, [r5, #12] - 801c4a4: 071b lsls r3, r3, #28 - 801c4a6: d501 bpl.n 801c4ac <_vfiprintf_r+0x34> - 801c4a8: 692b ldr r3, [r5, #16] - 801c4aa: b99b cbnz r3, 801c4d4 <_vfiprintf_r+0x5c> - 801c4ac: 4629 mov r1, r5 - 801c4ae: 4630 mov r0, r6 - 801c4b0: f7fd fadc bl 8019a6c <__swsetup_r> - 801c4b4: b170 cbz r0, 801c4d4 <_vfiprintf_r+0x5c> - 801c4b6: 6e6b ldr r3, [r5, #100] @ 0x64 - 801c4b8: 07dc lsls r4, r3, #31 - 801c4ba: d504 bpl.n 801c4c6 <_vfiprintf_r+0x4e> - 801c4bc: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 801c4c0: b01c add sp, #112 @ 0x70 - 801c4c2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 801c4c6: 89ab ldrh r3, [r5, #12] - 801c4c8: 0598 lsls r0, r3, #22 - 801c4ca: d4f7 bmi.n 801c4bc <_vfiprintf_r+0x44> - 801c4cc: 6da8 ldr r0, [r5, #88] @ 0x58 - 801c4ce: f7fd fb9f bl 8019c10 <__retarget_lock_release_recursive> - 801c4d2: e7f3 b.n 801c4bc <_vfiprintf_r+0x44> - 801c4d4: 2300 movs r3, #0 - 801c4d6: 9309 str r3, [sp, #36] @ 0x24 - 801c4d8: 2320 movs r3, #32 - 801c4da: f88d 3029 strb.w r3, [sp, #41] @ 0x29 - 801c4de: 9703 str r7, [sp, #12] - 801c4e0: 2330 movs r3, #48 @ 0x30 - 801c4e2: 4f6a ldr r7, [pc, #424] @ (801c68c <_vfiprintf_r+0x214>) - 801c4e4: f88d 302a strb.w r3, [sp, #42] @ 0x2a - 801c4e8: f04f 0801 mov.w r8, #1 - 801c4ec: 4623 mov r3, r4 - 801c4ee: 4699 mov r9, r3 - 801c4f0: f813 2b01 ldrb.w r2, [r3], #1 - 801c4f4: b10a cbz r2, 801c4fa <_vfiprintf_r+0x82> - 801c4f6: 2a25 cmp r2, #37 @ 0x25 - 801c4f8: d1f9 bne.n 801c4ee <_vfiprintf_r+0x76> - 801c4fa: ebb9 0a04 subs.w sl, r9, r4 - 801c4fe: d00b beq.n 801c518 <_vfiprintf_r+0xa0> - 801c500: 4653 mov r3, sl - 801c502: 4622 mov r2, r4 - 801c504: 4629 mov r1, r5 - 801c506: 4630 mov r0, r6 - 801c508: f7ff ffa3 bl 801c452 <__sfputs_r> - 801c50c: 3001 adds r0, #1 - 801c50e: f000 80a4 beq.w 801c65a <_vfiprintf_r+0x1e2> - 801c512: 9a09 ldr r2, [sp, #36] @ 0x24 - 801c514: 4452 add r2, sl - 801c516: 9209 str r2, [sp, #36] @ 0x24 - 801c518: f899 3000 ldrb.w r3, [r9] - 801c51c: 2b00 cmp r3, #0 - 801c51e: f000 809c beq.w 801c65a <_vfiprintf_r+0x1e2> - 801c522: 2300 movs r3, #0 - 801c524: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 801c528: e9cd 2305 strd r2, r3, [sp, #20] - 801c52c: f109 0901 add.w r9, r9, #1 - 801c530: 9304 str r3, [sp, #16] - 801c532: 9307 str r3, [sp, #28] - 801c534: f88d 3053 strb.w r3, [sp, #83] @ 0x53 - 801c538: 931a str r3, [sp, #104] @ 0x68 - 801c53a: 464c mov r4, r9 - 801c53c: 4853 ldr r0, [pc, #332] @ (801c68c <_vfiprintf_r+0x214>) - 801c53e: f814 1b01 ldrb.w r1, [r4], #1 - 801c542: 2205 movs r2, #5 - 801c544: f7e3 fe1c bl 8000180 - 801c548: 9b04 ldr r3, [sp, #16] - 801c54a: b9d0 cbnz r0, 801c582 <_vfiprintf_r+0x10a> - 801c54c: 06d9 lsls r1, r3, #27 - 801c54e: bf44 itt mi - 801c550: 2220 movmi r2, #32 - 801c552: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 - 801c556: 071a lsls r2, r3, #28 - 801c558: bf44 itt mi - 801c55a: 222b movmi r2, #43 @ 0x2b - 801c55c: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 - 801c560: f899 2000 ldrb.w r2, [r9] - 801c564: 2a2a cmp r2, #42 @ 0x2a - 801c566: d013 beq.n 801c590 <_vfiprintf_r+0x118> - 801c568: 9a07 ldr r2, [sp, #28] - 801c56a: 464c mov r4, r9 - 801c56c: 2000 movs r0, #0 - 801c56e: f04f 0c0a mov.w ip, #10 - 801c572: 4621 mov r1, r4 - 801c574: f811 3b01 ldrb.w r3, [r1], #1 - 801c578: 3b30 subs r3, #48 @ 0x30 - 801c57a: 2b09 cmp r3, #9 - 801c57c: d949 bls.n 801c612 <_vfiprintf_r+0x19a> - 801c57e: b968 cbnz r0, 801c59c <_vfiprintf_r+0x124> - 801c580: e013 b.n 801c5aa <_vfiprintf_r+0x132> - 801c582: 1bc0 subs r0, r0, r7 - 801c584: fa08 f000 lsl.w r0, r8, r0 - 801c588: 4318 orrs r0, r3 - 801c58a: 9004 str r0, [sp, #16] - 801c58c: 46a1 mov r9, r4 - 801c58e: e7d4 b.n 801c53a <_vfiprintf_r+0xc2> - 801c590: 9a03 ldr r2, [sp, #12] - 801c592: 1d11 adds r1, r2, #4 - 801c594: 6812 ldr r2, [r2, #0] - 801c596: 9103 str r1, [sp, #12] + 801be10: d0d4 beq.n 801bdbc <_strtod_l+0x5c> + 801be12: 4642 mov r2, r8 + 801be14: f109 4300 add.w r3, r9, #2147483648 @ 0x80000000 + 801be18: ec43 2b10 vmov d0, r2, r3 + 801be1c: b01d add sp, #116 @ 0x74 + 801be1e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801be22: 460d mov r5, r1 + 801be24: e7d1 b.n 801bdca <_strtod_l+0x6a> + 801be26: 9a18 ldr r2, [sp, #96] @ 0x60 + 801be28: b13a cbz r2, 801be3a <_strtod_l+0xda> + 801be2a: 2135 movs r1, #53 @ 0x35 + 801be2c: a81a add r0, sp, #104 @ 0x68 + 801be2e: f7ff ff33 bl 801bc98 <__copybits> + 801be32: 9918 ldr r1, [sp, #96] @ 0x60 + 801be34: 9804 ldr r0, [sp, #16] + 801be36: f7ff faf9 bl 801b42c <_Bfree> + 801be3a: 3e01 subs r6, #1 + 801be3c: 2e04 cmp r6, #4 + 801be3e: d806 bhi.n 801be4e <_strtod_l+0xee> + 801be40: e8df f006 tbb [pc, r6] + 801be44: 211e0314 .word 0x211e0314 + 801be48: 14 .byte 0x14 + 801be49: 00 .byte 0x00 + 801be4a: e9dd 891a ldrd r8, r9, [sp, #104] @ 0x68 + 801be4e: 05e0 lsls r0, r4, #23 + 801be50: bf48 it mi + 801be52: f049 4900 orrmi.w r9, r9, #2147483648 @ 0x80000000 + 801be56: f029 4300 bic.w r3, r9, #2147483648 @ 0x80000000 + 801be5a: 0d1b lsrs r3, r3, #20 + 801be5c: 051b lsls r3, r3, #20 + 801be5e: 2b00 cmp r3, #0 + 801be60: d1d0 bne.n 801be04 <_strtod_l+0xa4> + 801be62: f7fe faff bl 801a464 <__errno> + 801be66: 2322 movs r3, #34 @ 0x22 + 801be68: 6003 str r3, [r0, #0] + 801be6a: e7cb b.n 801be04 <_strtod_l+0xa4> + 801be6c: e9dd 831a ldrd r8, r3, [sp, #104] @ 0x68 + 801be70: 9a19 ldr r2, [sp, #100] @ 0x64 + 801be72: f423 1380 bic.w r3, r3, #1048576 @ 0x100000 + 801be76: f202 4233 addw r2, r2, #1075 @ 0x433 + 801be7a: ea43 5902 orr.w r9, r3, r2, lsl #20 + 801be7e: e7e6 b.n 801be4e <_strtod_l+0xee> + 801be80: f8df 9170 ldr.w r9, [pc, #368] @ 801bff4 <_strtod_l+0x294> + 801be84: e7e3 b.n 801be4e <_strtod_l+0xee> + 801be86: f06f 4900 mvn.w r9, #2147483648 @ 0x80000000 + 801be8a: f04f 38ff mov.w r8, #4294967295 @ 0xffffffff + 801be8e: e7de b.n 801be4e <_strtod_l+0xee> + 801be90: 3501 adds r5, #1 + 801be92: 9517 str r5, [sp, #92] @ 0x5c + 801be94: 782b ldrb r3, [r5, #0] + 801be96: 2b30 cmp r3, #48 @ 0x30 + 801be98: d0fa beq.n 801be90 <_strtod_l+0x130> + 801be9a: 2b00 cmp r3, #0 + 801be9c: d0b2 beq.n 801be04 <_strtod_l+0xa4> + 801be9e: f04f 0a01 mov.w sl, #1 + 801bea2: 2700 movs r7, #0 + 801bea4: 462b mov r3, r5 + 801bea6: 970e str r7, [sp, #56] @ 0x38 + 801bea8: 46bb mov fp, r7 + 801beaa: 210a movs r1, #10 + 801beac: 4618 mov r0, r3 + 801beae: f813 4b01 ldrb.w r4, [r3], #1 + 801beb2: f1a4 0230 sub.w r2, r4, #48 @ 0x30 + 801beb6: 2a09 cmp r2, #9 + 801beb8: d928 bls.n 801bf0c <_strtod_l+0x1ac> + 801beba: 494d ldr r1, [pc, #308] @ (801bff0 <_strtod_l+0x290>) + 801bebc: 2201 movs r2, #1 + 801bebe: f001 f998 bl 801d1f2 + 801bec2: 2800 cmp r0, #0 + 801bec4: d034 beq.n 801bf30 <_strtod_l+0x1d0> + 801bec6: 2000 movs r0, #0 + 801bec8: e9cd 0006 strd r0, r0, [sp, #24] + 801becc: 4622 mov r2, r4 + 801bece: 465c mov r4, fp + 801bed0: 2a65 cmp r2, #101 @ 0x65 + 801bed2: d001 beq.n 801bed8 <_strtod_l+0x178> + 801bed4: 2a45 cmp r2, #69 @ 0x45 + 801bed6: d114 bne.n 801bf02 <_strtod_l+0x1a2> + 801bed8: b924 cbnz r4, 801bee4 <_strtod_l+0x184> + 801beda: ea5a 0300 orrs.w r3, sl, r0 + 801bede: f43f af68 beq.w 801bdb2 <_strtod_l+0x52> + 801bee2: 2400 movs r4, #0 + 801bee4: 9e17 ldr r6, [sp, #92] @ 0x5c + 801bee6: 1c73 adds r3, r6, #1 + 801bee8: 9317 str r3, [sp, #92] @ 0x5c + 801beea: 7872 ldrb r2, [r6, #1] + 801beec: 2a2b cmp r2, #43 @ 0x2b + 801beee: d073 beq.n 801bfd8 <_strtod_l+0x278> + 801bef0: 2a2d cmp r2, #45 @ 0x2d + 801bef2: d077 beq.n 801bfe4 <_strtod_l+0x284> + 801bef4: f04f 0c00 mov.w ip, #0 + 801bef8: f1a2 0330 sub.w r3, r2, #48 @ 0x30 + 801befc: 2b09 cmp r3, #9 + 801befe: d97f bls.n 801c000 <_strtod_l+0x2a0> + 801bf00: 9617 str r6, [sp, #92] @ 0x5c + 801bf02: 2300 movs r3, #0 + 801bf04: e09e b.n 801c044 <_strtod_l+0x2e4> + 801bf06: f04f 0a00 mov.w sl, #0 + 801bf0a: e7ca b.n 801bea2 <_strtod_l+0x142> + 801bf0c: f1bb 0f08 cmp.w fp, #8 + 801bf10: bfd8 it le + 801bf12: 9a0e ldrle r2, [sp, #56] @ 0x38 + 801bf14: 9317 str r3, [sp, #92] @ 0x5c + 801bf16: bfdb ittet le + 801bf18: fb01 4202 mlale r2, r1, r2, r4 + 801bf1c: 3a30 suble r2, #48 @ 0x30 + 801bf1e: fb01 4207 mlagt r2, r1, r7, r4 + 801bf22: 920e strle r2, [sp, #56] @ 0x38 + 801bf24: bfc8 it gt + 801bf26: f1a2 0730 subgt.w r7, r2, #48 @ 0x30 + 801bf2a: f10b 0b01 add.w fp, fp, #1 + 801bf2e: e7bd b.n 801beac <_strtod_l+0x14c> + 801bf30: 9b17 ldr r3, [sp, #92] @ 0x5c + 801bf32: 1c5a adds r2, r3, #1 + 801bf34: 9217 str r2, [sp, #92] @ 0x5c + 801bf36: 785a ldrb r2, [r3, #1] + 801bf38: f1bb 0f00 cmp.w fp, #0 + 801bf3c: d033 beq.n 801bfa6 <_strtod_l+0x246> + 801bf3e: 9006 str r0, [sp, #24] + 801bf40: 465c mov r4, fp + 801bf42: f1a2 0330 sub.w r3, r2, #48 @ 0x30 + 801bf46: 2b09 cmp r3, #9 + 801bf48: d912 bls.n 801bf70 <_strtod_l+0x210> + 801bf4a: 2301 movs r3, #1 + 801bf4c: 9307 str r3, [sp, #28] + 801bf4e: e7bf b.n 801bed0 <_strtod_l+0x170> + 801bf50: 9b17 ldr r3, [sp, #92] @ 0x5c + 801bf52: 1c5a adds r2, r3, #1 + 801bf54: 9217 str r2, [sp, #92] @ 0x5c + 801bf56: 785a ldrb r2, [r3, #1] + 801bf58: 3001 adds r0, #1 + 801bf5a: 2a30 cmp r2, #48 @ 0x30 + 801bf5c: d0f8 beq.n 801bf50 <_strtod_l+0x1f0> + 801bf5e: f1a2 0331 sub.w r3, r2, #49 @ 0x31 + 801bf62: 2b08 cmp r3, #8 + 801bf64: f200 84c6 bhi.w 801c8f4 <_strtod_l+0xb94> + 801bf68: 9006 str r0, [sp, #24] + 801bf6a: 9d17 ldr r5, [sp, #92] @ 0x5c + 801bf6c: 2000 movs r0, #0 + 801bf6e: 4604 mov r4, r0 + 801bf70: 3a30 subs r2, #48 @ 0x30 + 801bf72: f100 0301 add.w r3, r0, #1 + 801bf76: d010 beq.n 801bf9a <_strtod_l+0x23a> + 801bf78: 9906 ldr r1, [sp, #24] + 801bf7a: 4419 add r1, r3 + 801bf7c: 9106 str r1, [sp, #24] + 801bf7e: 4420 add r0, r4 + 801bf80: 230a movs r3, #10 + 801bf82: 42a0 cmp r0, r4 + 801bf84: d111 bne.n 801bfaa <_strtod_l+0x24a> + 801bf86: 2808 cmp r0, #8 + 801bf88: f100 0401 add.w r4, r0, #1 + 801bf8c: dc19 bgt.n 801bfc2 <_strtod_l+0x262> + 801bf8e: 990e ldr r1, [sp, #56] @ 0x38 + 801bf90: 230a movs r3, #10 + 801bf92: fb03 2301 mla r3, r3, r1, r2 + 801bf96: 930e str r3, [sp, #56] @ 0x38 + 801bf98: 2300 movs r3, #0 + 801bf9a: 9a17 ldr r2, [sp, #92] @ 0x5c + 801bf9c: 1c51 adds r1, r2, #1 + 801bf9e: 9117 str r1, [sp, #92] @ 0x5c + 801bfa0: 7852 ldrb r2, [r2, #1] + 801bfa2: 4618 mov r0, r3 + 801bfa4: e7cd b.n 801bf42 <_strtod_l+0x1e2> + 801bfa6: 4658 mov r0, fp + 801bfa8: e7d7 b.n 801bf5a <_strtod_l+0x1fa> + 801bfaa: 2c08 cmp r4, #8 + 801bfac: f104 0401 add.w r4, r4, #1 + 801bfb0: dc03 bgt.n 801bfba <_strtod_l+0x25a> + 801bfb2: 990e ldr r1, [sp, #56] @ 0x38 + 801bfb4: 4359 muls r1, r3 + 801bfb6: 910e str r1, [sp, #56] @ 0x38 + 801bfb8: e7e3 b.n 801bf82 <_strtod_l+0x222> + 801bfba: 2c10 cmp r4, #16 + 801bfbc: bfd8 it le + 801bfbe: 435f mulle r7, r3 + 801bfc0: e7df b.n 801bf82 <_strtod_l+0x222> + 801bfc2: 280f cmp r0, #15 + 801bfc4: bfdc itt le + 801bfc6: 230a movle r3, #10 + 801bfc8: fb03 2707 mlale r7, r3, r7, r2 + 801bfcc: e7e4 b.n 801bf98 <_strtod_l+0x238> + 801bfce: 2100 movs r1, #0 + 801bfd0: 2301 movs r3, #1 + 801bfd2: e9cd 1306 strd r1, r3, [sp, #24] + 801bfd6: e780 b.n 801beda <_strtod_l+0x17a> + 801bfd8: f04f 0c00 mov.w ip, #0 + 801bfdc: 1cb3 adds r3, r6, #2 + 801bfde: 9317 str r3, [sp, #92] @ 0x5c + 801bfe0: 78b2 ldrb r2, [r6, #2] + 801bfe2: e789 b.n 801bef8 <_strtod_l+0x198> + 801bfe4: f04f 0c01 mov.w ip, #1 + 801bfe8: e7f8 b.n 801bfdc <_strtod_l+0x27c> + 801bfea: bf00 nop + 801bfec: 0801e8fc .word 0x0801e8fc + 801bff0: 0801e72f .word 0x0801e72f + 801bff4: 7ff00000 .word 0x7ff00000 + 801bff8: 9b17 ldr r3, [sp, #92] @ 0x5c + 801bffa: 1c5a adds r2, r3, #1 + 801bffc: 9217 str r2, [sp, #92] @ 0x5c + 801bffe: 785a ldrb r2, [r3, #1] + 801c000: 2a30 cmp r2, #48 @ 0x30 + 801c002: d0f9 beq.n 801bff8 <_strtod_l+0x298> + 801c004: f1a2 0331 sub.w r3, r2, #49 @ 0x31 + 801c008: 2b08 cmp r3, #8 + 801c00a: f63f af7a bhi.w 801bf02 <_strtod_l+0x1a2> + 801c00e: 9b17 ldr r3, [sp, #92] @ 0x5c + 801c010: 9305 str r3, [sp, #20] + 801c012: f1a2 0e30 sub.w lr, r2, #48 @ 0x30 + 801c016: 3301 adds r3, #1 + 801c018: 9317 str r3, [sp, #92] @ 0x5c + 801c01a: 781a ldrb r2, [r3, #0] + 801c01c: f1a2 0130 sub.w r1, r2, #48 @ 0x30 + 801c020: 2909 cmp r1, #9 + 801c022: d93c bls.n 801c09e <_strtod_l+0x33e> + 801c024: 9905 ldr r1, [sp, #20] + 801c026: 1a5b subs r3, r3, r1 + 801c028: 2b08 cmp r3, #8 + 801c02a: f644 631f movw r3, #19999 @ 0x4e1f + 801c02e: dc3c bgt.n 801c0aa <_strtod_l+0x34a> + 801c030: 459e cmp lr, r3 + 801c032: 4671 mov r1, lr + 801c034: bfa8 it ge + 801c036: 4619 movge r1, r3 + 801c038: 9105 str r1, [sp, #20] + 801c03a: f1bc 0f00 cmp.w ip, #0 + 801c03e: d002 beq.n 801c046 <_strtod_l+0x2e6> + 801c040: 9b05 ldr r3, [sp, #20] + 801c042: 425b negs r3, r3 + 801c044: 9305 str r3, [sp, #20] + 801c046: 2c00 cmp r4, #0 + 801c048: d150 bne.n 801c0ec <_strtod_l+0x38c> + 801c04a: ea5a 0000 orrs.w r0, sl, r0 + 801c04e: f47f aed9 bne.w 801be04 <_strtod_l+0xa4> + 801c052: 9b07 ldr r3, [sp, #28] + 801c054: 2b00 cmp r3, #0 + 801c056: f47f aeac bne.w 801bdb2 <_strtod_l+0x52> + 801c05a: 2a69 cmp r2, #105 @ 0x69 + 801c05c: d029 beq.n 801c0b2 <_strtod_l+0x352> + 801c05e: dc26 bgt.n 801c0ae <_strtod_l+0x34e> + 801c060: 2a49 cmp r2, #73 @ 0x49 + 801c062: d026 beq.n 801c0b2 <_strtod_l+0x352> + 801c064: 2a4e cmp r2, #78 @ 0x4e + 801c066: f47f aea4 bne.w 801bdb2 <_strtod_l+0x52> + 801c06a: 49a1 ldr r1, [pc, #644] @ (801c2f0 <_strtod_l+0x590>) + 801c06c: a817 add r0, sp, #92 @ 0x5c + 801c06e: f001 fba7 bl 801d7c0 <__match> + 801c072: 2800 cmp r0, #0 + 801c074: f43f ae9d beq.w 801bdb2 <_strtod_l+0x52> + 801c078: 9b17 ldr r3, [sp, #92] @ 0x5c + 801c07a: 781b ldrb r3, [r3, #0] + 801c07c: 2b28 cmp r3, #40 @ 0x28 + 801c07e: d12f bne.n 801c0e0 <_strtod_l+0x380> + 801c080: 499c ldr r1, [pc, #624] @ (801c2f4 <_strtod_l+0x594>) + 801c082: aa1a add r2, sp, #104 @ 0x68 + 801c084: a817 add r0, sp, #92 @ 0x5c + 801c086: f001 fbaf bl 801d7e8 <__hexnan> + 801c08a: 2805 cmp r0, #5 + 801c08c: d128 bne.n 801c0e0 <_strtod_l+0x380> + 801c08e: 9b1b ldr r3, [sp, #108] @ 0x6c + 801c090: f8dd 8068 ldr.w r8, [sp, #104] @ 0x68 + 801c094: f043 49ff orr.w r9, r3, #2139095040 @ 0x7f800000 + 801c098: f449 09e0 orr.w r9, r9, #7340032 @ 0x700000 + 801c09c: e6b2 b.n 801be04 <_strtod_l+0xa4> + 801c09e: 210a movs r1, #10 + 801c0a0: fb01 220e mla r2, r1, lr, r2 + 801c0a4: f1a2 0e30 sub.w lr, r2, #48 @ 0x30 + 801c0a8: e7b5 b.n 801c016 <_strtod_l+0x2b6> + 801c0aa: 9305 str r3, [sp, #20] + 801c0ac: e7c5 b.n 801c03a <_strtod_l+0x2da> + 801c0ae: 2a6e cmp r2, #110 @ 0x6e + 801c0b0: e7d9 b.n 801c066 <_strtod_l+0x306> + 801c0b2: 4991 ldr r1, [pc, #580] @ (801c2f8 <_strtod_l+0x598>) + 801c0b4: a817 add r0, sp, #92 @ 0x5c + 801c0b6: f001 fb83 bl 801d7c0 <__match> + 801c0ba: 2800 cmp r0, #0 + 801c0bc: f43f ae79 beq.w 801bdb2 <_strtod_l+0x52> + 801c0c0: 9b17 ldr r3, [sp, #92] @ 0x5c + 801c0c2: 498e ldr r1, [pc, #568] @ (801c2fc <_strtod_l+0x59c>) + 801c0c4: 3b01 subs r3, #1 + 801c0c6: a817 add r0, sp, #92 @ 0x5c + 801c0c8: 9317 str r3, [sp, #92] @ 0x5c + 801c0ca: f001 fb79 bl 801d7c0 <__match> + 801c0ce: b910 cbnz r0, 801c0d6 <_strtod_l+0x376> + 801c0d0: 9b17 ldr r3, [sp, #92] @ 0x5c + 801c0d2: 3301 adds r3, #1 + 801c0d4: 9317 str r3, [sp, #92] @ 0x5c + 801c0d6: f8df 9234 ldr.w r9, [pc, #564] @ 801c30c <_strtod_l+0x5ac> + 801c0da: f04f 0800 mov.w r8, #0 + 801c0de: e691 b.n 801be04 <_strtod_l+0xa4> + 801c0e0: 4887 ldr r0, [pc, #540] @ (801c300 <_strtod_l+0x5a0>) + 801c0e2: f001 f8a9 bl 801d238 + 801c0e6: ec59 8b10 vmov r8, r9, d0 + 801c0ea: e68b b.n 801be04 <_strtod_l+0xa4> + 801c0ec: e9dd 3205 ldrd r3, r2, [sp, #20] + 801c0f0: 980e ldr r0, [sp, #56] @ 0x38 + 801c0f2: 1a9b subs r3, r3, r2 + 801c0f4: f1bb 0f00 cmp.w fp, #0 + 801c0f8: bf08 it eq + 801c0fa: 46a3 moveq fp, r4 + 801c0fc: 2c10 cmp r4, #16 + 801c0fe: 930a str r3, [sp, #40] @ 0x28 + 801c100: 46a2 mov sl, r4 + 801c102: bfa8 it ge + 801c104: f04f 0a10 movge.w sl, #16 + 801c108: f7e4 f9d4 bl 80004b4 <__aeabi_ui2d> + 801c10c: 2c09 cmp r4, #9 + 801c10e: 4680 mov r8, r0 + 801c110: 4689 mov r9, r1 + 801c112: dc13 bgt.n 801c13c <_strtod_l+0x3dc> + 801c114: 9b0a ldr r3, [sp, #40] @ 0x28 + 801c116: 2b00 cmp r3, #0 + 801c118: f43f ae74 beq.w 801be04 <_strtod_l+0xa4> + 801c11c: 9b0a ldr r3, [sp, #40] @ 0x28 + 801c11e: dd73 ble.n 801c208 <_strtod_l+0x4a8> + 801c120: 2b16 cmp r3, #22 + 801c122: dc5a bgt.n 801c1da <_strtod_l+0x47a> + 801c124: 4977 ldr r1, [pc, #476] @ (801c304 <_strtod_l+0x5a4>) + 801c126: eb01 01c3 add.w r1, r1, r3, lsl #3 + 801c12a: e9d1 0100 ldrd r0, r1, [r1] + 801c12e: 4642 mov r2, r8 + 801c130: 464b mov r3, r9 + 801c132: f7e4 fa39 bl 80005a8 <__aeabi_dmul> + 801c136: 4680 mov r8, r0 + 801c138: 4689 mov r9, r1 + 801c13a: e663 b.n 801be04 <_strtod_l+0xa4> + 801c13c: 4b71 ldr r3, [pc, #452] @ (801c304 <_strtod_l+0x5a4>) + 801c13e: eb03 03ca add.w r3, r3, sl, lsl #3 + 801c142: e953 2312 ldrd r2, r3, [r3, #-72] @ 0x48 + 801c146: f7e4 fa2f bl 80005a8 <__aeabi_dmul> + 801c14a: 4680 mov r8, r0 + 801c14c: 4638 mov r0, r7 + 801c14e: 4689 mov r9, r1 + 801c150: f7e4 f9b0 bl 80004b4 <__aeabi_ui2d> + 801c154: 4602 mov r2, r0 + 801c156: 460b mov r3, r1 + 801c158: 4640 mov r0, r8 + 801c15a: 4649 mov r1, r9 + 801c15c: f7e4 f86e bl 800023c <__adddf3> + 801c160: 2c0f cmp r4, #15 + 801c162: 4680 mov r8, r0 + 801c164: 4689 mov r9, r1 + 801c166: ddd5 ble.n 801c114 <_strtod_l+0x3b4> + 801c168: 9b0a ldr r3, [sp, #40] @ 0x28 + 801c16a: eba4 0a0a sub.w sl, r4, sl + 801c16e: 449a add sl, r3 + 801c170: f1ba 0f00 cmp.w sl, #0 + 801c174: f340 8097 ble.w 801c2a6 <_strtod_l+0x546> + 801c178: f02a 060f bic.w r6, sl, #15 + 801c17c: f01a 0a0f ands.w sl, sl, #15 + 801c180: d151 bne.n 801c226 <_strtod_l+0x4c6> + 801c182: f5b6 7f9a cmp.w r6, #308 @ 0x134 + 801c186: dc5e bgt.n 801c246 <_strtod_l+0x4e6> + 801c188: 2300 movs r3, #0 + 801c18a: f8df a17c ldr.w sl, [pc, #380] @ 801c308 <_strtod_l+0x5a8> + 801c18e: 1136 asrs r6, r6, #4 + 801c190: 4640 mov r0, r8 + 801c192: 4649 mov r1, r9 + 801c194: 461f mov r7, r3 + 801c196: 2e01 cmp r6, #1 + 801c198: d179 bne.n 801c28e <_strtod_l+0x52e> + 801c19a: b10b cbz r3, 801c1a0 <_strtod_l+0x440> + 801c19c: 4680 mov r8, r0 + 801c19e: 4689 mov r9, r1 + 801c1a0: 4959 ldr r1, [pc, #356] @ (801c308 <_strtod_l+0x5a8>) + 801c1a2: f1a9 7954 sub.w r9, r9, #55574528 @ 0x3500000 + 801c1a6: eb01 01c7 add.w r1, r1, r7, lsl #3 + 801c1aa: 4642 mov r2, r8 + 801c1ac: 464b mov r3, r9 + 801c1ae: e9d1 0100 ldrd r0, r1, [r1] + 801c1b2: f7e4 f9f9 bl 80005a8 <__aeabi_dmul> + 801c1b6: 4b55 ldr r3, [pc, #340] @ (801c30c <_strtod_l+0x5ac>) + 801c1b8: 460a mov r2, r1 + 801c1ba: 400b ands r3, r1 + 801c1bc: 4954 ldr r1, [pc, #336] @ (801c310 <_strtod_l+0x5b0>) + 801c1be: 428b cmp r3, r1 + 801c1c0: 4680 mov r8, r0 + 801c1c2: d840 bhi.n 801c246 <_strtod_l+0x4e6> + 801c1c4: f5a1 1180 sub.w r1, r1, #1048576 @ 0x100000 + 801c1c8: 428b cmp r3, r1 + 801c1ca: bf86 itte hi + 801c1cc: f8df 9144 ldrhi.w r9, [pc, #324] @ 801c314 <_strtod_l+0x5b4> + 801c1d0: f04f 38ff movhi.w r8, #4294967295 @ 0xffffffff + 801c1d4: f102 7954 addls.w r9, r2, #55574528 @ 0x3500000 + 801c1d8: e032 b.n 801c240 <_strtod_l+0x4e0> + 801c1da: 9a0a ldr r2, [sp, #40] @ 0x28 + 801c1dc: f1c4 0325 rsb r3, r4, #37 @ 0x25 + 801c1e0: 4293 cmp r3, r2 + 801c1e2: dbc1 blt.n 801c168 <_strtod_l+0x408> + 801c1e4: 4d47 ldr r5, [pc, #284] @ (801c304 <_strtod_l+0x5a4>) + 801c1e6: f1c4 040f rsb r4, r4, #15 + 801c1ea: eb05 01c4 add.w r1, r5, r4, lsl #3 + 801c1ee: 4642 mov r2, r8 + 801c1f0: 464b mov r3, r9 + 801c1f2: e9d1 0100 ldrd r0, r1, [r1] + 801c1f6: f7e4 f9d7 bl 80005a8 <__aeabi_dmul> + 801c1fa: 9b0a ldr r3, [sp, #40] @ 0x28 + 801c1fc: 1b1c subs r4, r3, r4 + 801c1fe: eb05 05c4 add.w r5, r5, r4, lsl #3 + 801c202: e9d5 2300 ldrd r2, r3, [r5] + 801c206: e794 b.n 801c132 <_strtod_l+0x3d2> + 801c208: 3316 adds r3, #22 + 801c20a: dbad blt.n 801c168 <_strtod_l+0x408> + 801c20c: e9dd 2305 ldrd r2, r3, [sp, #20] + 801c210: 1a9a subs r2, r3, r2 + 801c212: 4b3c ldr r3, [pc, #240] @ (801c304 <_strtod_l+0x5a4>) + 801c214: eb03 03c2 add.w r3, r3, r2, lsl #3 + 801c218: e9d3 2300 ldrd r2, r3, [r3] + 801c21c: 4640 mov r0, r8 + 801c21e: 4649 mov r1, r9 + 801c220: f7e4 faec bl 80007fc <__aeabi_ddiv> + 801c224: e787 b.n 801c136 <_strtod_l+0x3d6> + 801c226: 4937 ldr r1, [pc, #220] @ (801c304 <_strtod_l+0x5a4>) + 801c228: eb01 01ca add.w r1, r1, sl, lsl #3 + 801c22c: 4642 mov r2, r8 + 801c22e: 464b mov r3, r9 + 801c230: e9d1 0100 ldrd r0, r1, [r1] + 801c234: f7e4 f9b8 bl 80005a8 <__aeabi_dmul> + 801c238: 4680 mov r8, r0 + 801c23a: 4689 mov r9, r1 + 801c23c: 2e00 cmp r6, #0 + 801c23e: d1a0 bne.n 801c182 <_strtod_l+0x422> + 801c240: 2300 movs r3, #0 + 801c242: 9307 str r3, [sp, #28] + 801c244: e0a0 b.n 801c388 <_strtod_l+0x628> + 801c246: 2400 movs r4, #0 + 801c248: 9405 str r4, [sp, #20] + 801c24a: 940e str r4, [sp, #56] @ 0x38 + 801c24c: 9406 str r4, [sp, #24] + 801c24e: 9a04 ldr r2, [sp, #16] + 801c250: f8df 90b8 ldr.w r9, [pc, #184] @ 801c30c <_strtod_l+0x5ac> + 801c254: 2322 movs r3, #34 @ 0x22 + 801c256: 6013 str r3, [r2, #0] + 801c258: f04f 0800 mov.w r8, #0 + 801c25c: 9b0e ldr r3, [sp, #56] @ 0x38 + 801c25e: 2b00 cmp r3, #0 + 801c260: f43f add0 beq.w 801be04 <_strtod_l+0xa4> + 801c264: 9918 ldr r1, [sp, #96] @ 0x60 + 801c266: 9804 ldr r0, [sp, #16] + 801c268: f7ff f8e0 bl 801b42c <_Bfree> + 801c26c: 9906 ldr r1, [sp, #24] + 801c26e: 9804 ldr r0, [sp, #16] + 801c270: f7ff f8dc bl 801b42c <_Bfree> + 801c274: e9dd 0104 ldrd r0, r1, [sp, #16] + 801c278: f7ff f8d8 bl 801b42c <_Bfree> + 801c27c: 990e ldr r1, [sp, #56] @ 0x38 + 801c27e: 9804 ldr r0, [sp, #16] + 801c280: f7ff f8d4 bl 801b42c <_Bfree> + 801c284: 9804 ldr r0, [sp, #16] + 801c286: 4621 mov r1, r4 + 801c288: f7ff f8d0 bl 801b42c <_Bfree> + 801c28c: e5ba b.n 801be04 <_strtod_l+0xa4> + 801c28e: 07f2 lsls r2, r6, #31 + 801c290: d504 bpl.n 801c29c <_strtod_l+0x53c> + 801c292: e9da 2300 ldrd r2, r3, [sl] + 801c296: f7e4 f987 bl 80005a8 <__aeabi_dmul> + 801c29a: 2301 movs r3, #1 + 801c29c: 3701 adds r7, #1 + 801c29e: 1076 asrs r6, r6, #1 + 801c2a0: f10a 0a08 add.w sl, sl, #8 + 801c2a4: e777 b.n 801c196 <_strtod_l+0x436> + 801c2a6: d0cb beq.n 801c240 <_strtod_l+0x4e0> + 801c2a8: f1ca 0a00 rsb sl, sl, #0 + 801c2ac: ea4f 162a mov.w r6, sl, asr #4 + 801c2b0: f01a 0a0f ands.w sl, sl, #15 + 801c2b4: d10d bne.n 801c2d2 <_strtod_l+0x572> + 801c2b6: 2e1f cmp r6, #31 + 801c2b8: dd2e ble.n 801c318 <_strtod_l+0x5b8> + 801c2ba: 2400 movs r4, #0 + 801c2bc: 9405 str r4, [sp, #20] + 801c2be: 940e str r4, [sp, #56] @ 0x38 + 801c2c0: 9406 str r4, [sp, #24] + 801c2c2: 9a04 ldr r2, [sp, #16] + 801c2c4: 2322 movs r3, #34 @ 0x22 + 801c2c6: f04f 0800 mov.w r8, #0 + 801c2ca: f04f 0900 mov.w r9, #0 + 801c2ce: 6013 str r3, [r2, #0] + 801c2d0: e7c4 b.n 801c25c <_strtod_l+0x4fc> + 801c2d2: 4b0c ldr r3, [pc, #48] @ (801c304 <_strtod_l+0x5a4>) + 801c2d4: eb03 03ca add.w r3, r3, sl, lsl #3 + 801c2d8: 4640 mov r0, r8 + 801c2da: 4649 mov r1, r9 + 801c2dc: e9d3 2300 ldrd r2, r3, [r3] + 801c2e0: f7e4 fa8c bl 80007fc <__aeabi_ddiv> + 801c2e4: 4680 mov r8, r0 + 801c2e6: 4689 mov r9, r1 + 801c2e8: 2e00 cmp r6, #0 + 801c2ea: d0a9 beq.n 801c240 <_strtod_l+0x4e0> + 801c2ec: e7e3 b.n 801c2b6 <_strtod_l+0x556> + 801c2ee: bf00 nop + 801c2f0: 0801e61d .word 0x0801e61d + 801c2f4: 0801e8e8 .word 0x0801e8e8 + 801c2f8: 0801e615 .word 0x0801e615 + 801c2fc: 0801e64c .word 0x0801e64c + 801c300: 0801e785 .word 0x0801e785 + 801c304: 0801e820 .word 0x0801e820 + 801c308: 0801e7f8 .word 0x0801e7f8 + 801c30c: 7ff00000 .word 0x7ff00000 + 801c310: 7ca00000 .word 0x7ca00000 + 801c314: 7fefffff .word 0x7fefffff + 801c318: f016 0310 ands.w r3, r6, #16 + 801c31c: bf18 it ne + 801c31e: 236a movne r3, #106 @ 0x6a + 801c320: 4f76 ldr r7, [pc, #472] @ (801c4fc <_strtod_l+0x79c>) + 801c322: 9307 str r3, [sp, #28] + 801c324: 4640 mov r0, r8 + 801c326: 4649 mov r1, r9 + 801c328: 2300 movs r3, #0 + 801c32a: 07f2 lsls r2, r6, #31 + 801c32c: d504 bpl.n 801c338 <_strtod_l+0x5d8> + 801c32e: e9d7 2300 ldrd r2, r3, [r7] + 801c332: f7e4 f939 bl 80005a8 <__aeabi_dmul> + 801c336: 2301 movs r3, #1 + 801c338: 1076 asrs r6, r6, #1 + 801c33a: f107 0708 add.w r7, r7, #8 + 801c33e: d1f4 bne.n 801c32a <_strtod_l+0x5ca> + 801c340: b10b cbz r3, 801c346 <_strtod_l+0x5e6> + 801c342: 4680 mov r8, r0 + 801c344: 4689 mov r9, r1 + 801c346: 9b07 ldr r3, [sp, #28] + 801c348: b1b3 cbz r3, 801c378 <_strtod_l+0x618> + 801c34a: f3c9 520a ubfx r2, r9, #20, #11 + 801c34e: f1c2 036b rsb r3, r2, #107 @ 0x6b + 801c352: 2b00 cmp r3, #0 + 801c354: 4649 mov r1, r9 + 801c356: dd0f ble.n 801c378 <_strtod_l+0x618> + 801c358: 2b1f cmp r3, #31 + 801c35a: dd57 ble.n 801c40c <_strtod_l+0x6ac> + 801c35c: 2b34 cmp r3, #52 @ 0x34 + 801c35e: bfde ittt le + 801c360: f04f 33ff movle.w r3, #4294967295 @ 0xffffffff + 801c364: f1c2 024b rsble r2, r2, #75 @ 0x4b + 801c368: 4093 lslle r3, r2 + 801c36a: f04f 0800 mov.w r8, #0 + 801c36e: bfcc ite gt + 801c370: f04f 795c movgt.w r9, #57671680 @ 0x3700000 + 801c374: ea03 0901 andle.w r9, r3, r1 + 801c378: 2200 movs r2, #0 + 801c37a: 2300 movs r3, #0 + 801c37c: 4640 mov r0, r8 + 801c37e: 4649 mov r1, r9 + 801c380: f7e4 fb7a bl 8000a78 <__aeabi_dcmpeq> + 801c384: 2800 cmp r0, #0 + 801c386: d198 bne.n 801c2ba <_strtod_l+0x55a> + 801c388: 9b0e ldr r3, [sp, #56] @ 0x38 + 801c38a: 9300 str r3, [sp, #0] + 801c38c: 9804 ldr r0, [sp, #16] + 801c38e: 4623 mov r3, r4 + 801c390: 465a mov r2, fp + 801c392: 4629 mov r1, r5 + 801c394: f7ff f8b2 bl 801b4fc <__s2b> + 801c398: 900e str r0, [sp, #56] @ 0x38 + 801c39a: 2800 cmp r0, #0 + 801c39c: f43f af53 beq.w 801c246 <_strtod_l+0x4e6> + 801c3a0: e9dd 2305 ldrd r2, r3, [sp, #20] + 801c3a4: 1a9b subs r3, r3, r2 + 801c3a6: 9a0a ldr r2, [sp, #40] @ 0x28 + 801c3a8: 2a00 cmp r2, #0 + 801c3aa: bfa8 it ge + 801c3ac: 2300 movge r3, #0 + 801c3ae: 9312 str r3, [sp, #72] @ 0x48 + 801c3b0: 2400 movs r4, #0 + 801c3b2: ea22 73e2 bic.w r3, r2, r2, asr #31 + 801c3b6: 9314 str r3, [sp, #80] @ 0x50 + 801c3b8: 9405 str r4, [sp, #20] + 801c3ba: 9b0e ldr r3, [sp, #56] @ 0x38 + 801c3bc: 9804 ldr r0, [sp, #16] + 801c3be: 6859 ldr r1, [r3, #4] + 801c3c0: f7fe fff6 bl 801b3b0 <_Balloc> + 801c3c4: 9006 str r0, [sp, #24] + 801c3c6: 2800 cmp r0, #0 + 801c3c8: f43f af41 beq.w 801c24e <_strtod_l+0x4ee> + 801c3cc: 9b0e ldr r3, [sp, #56] @ 0x38 + 801c3ce: 691a ldr r2, [r3, #16] + 801c3d0: 3202 adds r2, #2 + 801c3d2: f103 010c add.w r1, r3, #12 + 801c3d6: 0092 lsls r2, r2, #2 + 801c3d8: 300c adds r0, #12 + 801c3da: f7fe f870 bl 801a4be + 801c3de: ec49 8b10 vmov d0, r8, r9 + 801c3e2: 9804 ldr r0, [sp, #16] + 801c3e4: aa1a add r2, sp, #104 @ 0x68 + 801c3e6: a919 add r1, sp, #100 @ 0x64 + 801c3e8: e9cd 890c strd r8, r9, [sp, #48] @ 0x30 + 801c3ec: f7ff fbca bl 801bb84 <__d2b> + 801c3f0: 9018 str r0, [sp, #96] @ 0x60 + 801c3f2: 2800 cmp r0, #0 + 801c3f4: f43f af2b beq.w 801c24e <_strtod_l+0x4ee> + 801c3f8: 9804 ldr r0, [sp, #16] + 801c3fa: 2101 movs r1, #1 + 801c3fc: f7ff f914 bl 801b628 <__i2b> + 801c400: 9005 str r0, [sp, #20] + 801c402: 4603 mov r3, r0 + 801c404: b948 cbnz r0, 801c41a <_strtod_l+0x6ba> + 801c406: 2300 movs r3, #0 + 801c408: 9305 str r3, [sp, #20] + 801c40a: e720 b.n 801c24e <_strtod_l+0x4ee> + 801c40c: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 801c410: fa02 f303 lsl.w r3, r2, r3 + 801c414: ea03 0808 and.w r8, r3, r8 + 801c418: e7ae b.n 801c378 <_strtod_l+0x618> + 801c41a: 9d19 ldr r5, [sp, #100] @ 0x64 + 801c41c: 9a1a ldr r2, [sp, #104] @ 0x68 + 801c41e: 2d00 cmp r5, #0 + 801c420: bfab itete ge + 801c422: 9b12 ldrge r3, [sp, #72] @ 0x48 + 801c424: 9b14 ldrlt r3, [sp, #80] @ 0x50 + 801c426: 9e14 ldrge r6, [sp, #80] @ 0x50 + 801c428: 9f12 ldrlt r7, [sp, #72] @ 0x48 + 801c42a: bfac ite ge + 801c42c: 18ef addge r7, r5, r3 + 801c42e: 1b5e sublt r6, r3, r5 + 801c430: 9b07 ldr r3, [sp, #28] + 801c432: 1aed subs r5, r5, r3 + 801c434: 4415 add r5, r2 + 801c436: 4b32 ldr r3, [pc, #200] @ (801c500 <_strtod_l+0x7a0>) + 801c438: 3d01 subs r5, #1 + 801c43a: 429d cmp r5, r3 + 801c43c: f1c2 0236 rsb r2, r2, #54 @ 0x36 + 801c440: da4f bge.n 801c4e2 <_strtod_l+0x782> + 801c442: 1b5b subs r3, r3, r5 + 801c444: 2b1f cmp r3, #31 + 801c446: eba2 0203 sub.w r2, r2, r3 + 801c44a: f04f 0101 mov.w r1, #1 + 801c44e: dc3c bgt.n 801c4ca <_strtod_l+0x76a> + 801c450: fa01 fa03 lsl.w sl, r1, r3 + 801c454: f04f 0b00 mov.w fp, #0 + 801c458: 18bd adds r5, r7, r2 + 801c45a: 9b07 ldr r3, [sp, #28] + 801c45c: 42af cmp r7, r5 + 801c45e: 4416 add r6, r2 + 801c460: 441e add r6, r3 + 801c462: 463b mov r3, r7 + 801c464: bfa8 it ge + 801c466: 462b movge r3, r5 + 801c468: 42b3 cmp r3, r6 + 801c46a: bfa8 it ge + 801c46c: 4633 movge r3, r6 + 801c46e: 2b00 cmp r3, #0 + 801c470: bfc2 ittt gt + 801c472: 1aed subgt r5, r5, r3 + 801c474: 1af6 subgt r6, r6, r3 + 801c476: 1aff subgt r7, r7, r3 + 801c478: 9b12 ldr r3, [sp, #72] @ 0x48 + 801c47a: 2b00 cmp r3, #0 + 801c47c: dd16 ble.n 801c4ac <_strtod_l+0x74c> + 801c47e: e9dd 0104 ldrd r0, r1, [sp, #16] + 801c482: 461a mov r2, r3 + 801c484: f7ff f990 bl 801b7a8 <__pow5mult> + 801c488: 9005 str r0, [sp, #20] + 801c48a: 2800 cmp r0, #0 + 801c48c: d0bb beq.n 801c406 <_strtod_l+0x6a6> + 801c48e: 4601 mov r1, r0 + 801c490: 9a18 ldr r2, [sp, #96] @ 0x60 + 801c492: 9804 ldr r0, [sp, #16] + 801c494: f7ff f8de bl 801b654 <__multiply> + 801c498: 900f str r0, [sp, #60] @ 0x3c + 801c49a: 2800 cmp r0, #0 + 801c49c: f43f aed7 beq.w 801c24e <_strtod_l+0x4ee> + 801c4a0: 9918 ldr r1, [sp, #96] @ 0x60 + 801c4a2: 9804 ldr r0, [sp, #16] + 801c4a4: f7fe ffc2 bl 801b42c <_Bfree> + 801c4a8: 9b0f ldr r3, [sp, #60] @ 0x3c + 801c4aa: 9318 str r3, [sp, #96] @ 0x60 + 801c4ac: 2d00 cmp r5, #0 + 801c4ae: dc1b bgt.n 801c4e8 <_strtod_l+0x788> + 801c4b0: 9b0a ldr r3, [sp, #40] @ 0x28 + 801c4b2: 2b00 cmp r3, #0 + 801c4b4: dd26 ble.n 801c504 <_strtod_l+0x7a4> + 801c4b6: 9a14 ldr r2, [sp, #80] @ 0x50 + 801c4b8: 9906 ldr r1, [sp, #24] + 801c4ba: 9804 ldr r0, [sp, #16] + 801c4bc: f7ff f974 bl 801b7a8 <__pow5mult> + 801c4c0: 9006 str r0, [sp, #24] + 801c4c2: b9f8 cbnz r0, 801c504 <_strtod_l+0x7a4> + 801c4c4: 2300 movs r3, #0 + 801c4c6: 9306 str r3, [sp, #24] + 801c4c8: e6c1 b.n 801c24e <_strtod_l+0x4ee> + 801c4ca: f1c5 457f rsb r5, r5, #4278190080 @ 0xff000000 + 801c4ce: f505 057f add.w r5, r5, #16711680 @ 0xff0000 + 801c4d2: f505 457b add.w r5, r5, #64256 @ 0xfb00 + 801c4d6: 35e2 adds r5, #226 @ 0xe2 + 801c4d8: fa01 fb05 lsl.w fp, r1, r5 + 801c4dc: f04f 0a01 mov.w sl, #1 + 801c4e0: e7ba b.n 801c458 <_strtod_l+0x6f8> + 801c4e2: f04f 0b00 mov.w fp, #0 + 801c4e6: e7f9 b.n 801c4dc <_strtod_l+0x77c> + 801c4e8: 9918 ldr r1, [sp, #96] @ 0x60 + 801c4ea: 9804 ldr r0, [sp, #16] + 801c4ec: 462a mov r2, r5 + 801c4ee: f7ff f9b7 bl 801b860 <__lshift> + 801c4f2: 9018 str r0, [sp, #96] @ 0x60 + 801c4f4: 2800 cmp r0, #0 + 801c4f6: d1db bne.n 801c4b0 <_strtod_l+0x750> + 801c4f8: e6a9 b.n 801c24e <_strtod_l+0x4ee> + 801c4fa: bf00 nop + 801c4fc: 0801e910 .word 0x0801e910 + 801c500: fffffc02 .word 0xfffffc02 + 801c504: 2e00 cmp r6, #0 + 801c506: dd07 ble.n 801c518 <_strtod_l+0x7b8> + 801c508: 9906 ldr r1, [sp, #24] + 801c50a: 9804 ldr r0, [sp, #16] + 801c50c: 4632 mov r2, r6 + 801c50e: f7ff f9a7 bl 801b860 <__lshift> + 801c512: 9006 str r0, [sp, #24] + 801c514: 2800 cmp r0, #0 + 801c516: d0d5 beq.n 801c4c4 <_strtod_l+0x764> + 801c518: 2f00 cmp r7, #0 + 801c51a: dd08 ble.n 801c52e <_strtod_l+0x7ce> + 801c51c: e9dd 0104 ldrd r0, r1, [sp, #16] + 801c520: 463a mov r2, r7 + 801c522: f7ff f99d bl 801b860 <__lshift> + 801c526: 9005 str r0, [sp, #20] + 801c528: 2800 cmp r0, #0 + 801c52a: f43f ae90 beq.w 801c24e <_strtod_l+0x4ee> + 801c52e: 9a06 ldr r2, [sp, #24] + 801c530: 9918 ldr r1, [sp, #96] @ 0x60 + 801c532: 9804 ldr r0, [sp, #16] + 801c534: f7ff fa1e bl 801b974 <__mdiff> + 801c538: 4604 mov r4, r0 + 801c53a: 2800 cmp r0, #0 + 801c53c: f43f ae87 beq.w 801c24e <_strtod_l+0x4ee> + 801c540: 68c3 ldr r3, [r0, #12] + 801c542: 930f str r3, [sp, #60] @ 0x3c + 801c544: 2300 movs r3, #0 + 801c546: 9905 ldr r1, [sp, #20] + 801c548: 60c3 str r3, [r0, #12] + 801c54a: f7ff f9f7 bl 801b93c <__mcmp> + 801c54e: 2800 cmp r0, #0 + 801c550: da3c bge.n 801c5cc <_strtod_l+0x86c> + 801c552: 9b0f ldr r3, [sp, #60] @ 0x3c + 801c554: ea53 0308 orrs.w r3, r3, r8 + 801c558: d15e bne.n 801c618 <_strtod_l+0x8b8> + 801c55a: f3c9 0313 ubfx r3, r9, #0, #20 + 801c55e: 464d mov r5, r9 + 801c560: 2b00 cmp r3, #0 + 801c562: d159 bne.n 801c618 <_strtod_l+0x8b8> + 801c564: f029 4300 bic.w r3, r9, #2147483648 @ 0x80000000 + 801c568: 0d1b lsrs r3, r3, #20 + 801c56a: 051b lsls r3, r3, #20 + 801c56c: f1b3 6fd6 cmp.w r3, #112197632 @ 0x6b00000 + 801c570: d952 bls.n 801c618 <_strtod_l+0x8b8> + 801c572: 6963 ldr r3, [r4, #20] + 801c574: b913 cbnz r3, 801c57c <_strtod_l+0x81c> + 801c576: 6923 ldr r3, [r4, #16] + 801c578: 2b01 cmp r3, #1 + 801c57a: dd4d ble.n 801c618 <_strtod_l+0x8b8> + 801c57c: 4621 mov r1, r4 + 801c57e: 2201 movs r2, #1 + 801c580: 9804 ldr r0, [sp, #16] + 801c582: f7ff f96d bl 801b860 <__lshift> + 801c586: 9905 ldr r1, [sp, #20] + 801c588: 4604 mov r4, r0 + 801c58a: f7ff f9d7 bl 801b93c <__mcmp> + 801c58e: 2800 cmp r0, #0 + 801c590: dd42 ble.n 801c618 <_strtod_l+0x8b8> + 801c592: 4bad ldr r3, [pc, #692] @ (801c848 <_strtod_l+0xae8>) + 801c594: 9a07 ldr r2, [sp, #28] + 801c596: 402b ands r3, r5 801c598: 2a00 cmp r2, #0 - 801c59a: db01 blt.n 801c5a0 <_vfiprintf_r+0x128> - 801c59c: 9207 str r2, [sp, #28] - 801c59e: e004 b.n 801c5aa <_vfiprintf_r+0x132> - 801c5a0: 4252 negs r2, r2 - 801c5a2: f043 0302 orr.w r3, r3, #2 - 801c5a6: 9207 str r2, [sp, #28] - 801c5a8: 9304 str r3, [sp, #16] - 801c5aa: 7823 ldrb r3, [r4, #0] - 801c5ac: 2b2e cmp r3, #46 @ 0x2e - 801c5ae: d10a bne.n 801c5c6 <_vfiprintf_r+0x14e> - 801c5b0: 7863 ldrb r3, [r4, #1] - 801c5b2: 2b2a cmp r3, #42 @ 0x2a - 801c5b4: d132 bne.n 801c61c <_vfiprintf_r+0x1a4> - 801c5b6: 9b03 ldr r3, [sp, #12] - 801c5b8: 1d1a adds r2, r3, #4 - 801c5ba: 681b ldr r3, [r3, #0] - 801c5bc: 9203 str r2, [sp, #12] - 801c5be: ea43 73e3 orr.w r3, r3, r3, asr #31 - 801c5c2: 3402 adds r4, #2 - 801c5c4: 9305 str r3, [sp, #20] - 801c5c6: f8df 90d4 ldr.w r9, [pc, #212] @ 801c69c <_vfiprintf_r+0x224> - 801c5ca: 7821 ldrb r1, [r4, #0] - 801c5cc: 2203 movs r2, #3 - 801c5ce: 4648 mov r0, r9 - 801c5d0: f7e3 fdd6 bl 8000180 - 801c5d4: b138 cbz r0, 801c5e6 <_vfiprintf_r+0x16e> - 801c5d6: 9b04 ldr r3, [sp, #16] - 801c5d8: eba0 0009 sub.w r0, r0, r9 - 801c5dc: 2240 movs r2, #64 @ 0x40 - 801c5de: 4082 lsls r2, r0 - 801c5e0: 4313 orrs r3, r2 - 801c5e2: 3401 adds r4, #1 - 801c5e4: 9304 str r3, [sp, #16] - 801c5e6: f814 1b01 ldrb.w r1, [r4], #1 - 801c5ea: 4829 ldr r0, [pc, #164] @ (801c690 <_vfiprintf_r+0x218>) - 801c5ec: f88d 1028 strb.w r1, [sp, #40] @ 0x28 - 801c5f0: 2206 movs r2, #6 - 801c5f2: f7e3 fdc5 bl 8000180 - 801c5f6: 2800 cmp r0, #0 - 801c5f8: d03e beq.n 801c678 <_vfiprintf_r+0x200> - 801c5fa: 4826 ldr r0, [pc, #152] @ (801c694 <_vfiprintf_r+0x21c>) - 801c5fc: bb18 cbnz r0, 801c646 <_vfiprintf_r+0x1ce> - 801c5fe: 9b03 ldr r3, [sp, #12] - 801c600: 3307 adds r3, #7 - 801c602: f023 0307 bic.w r3, r3, #7 - 801c606: 3308 adds r3, #8 - 801c608: 9303 str r3, [sp, #12] - 801c60a: 9b09 ldr r3, [sp, #36] @ 0x24 - 801c60c: 4403 add r3, r0 - 801c60e: 9309 str r3, [sp, #36] @ 0x24 - 801c610: e76c b.n 801c4ec <_vfiprintf_r+0x74> - 801c612: fb0c 3202 mla r2, ip, r2, r3 - 801c616: 460c mov r4, r1 - 801c618: 2001 movs r0, #1 - 801c61a: e7aa b.n 801c572 <_vfiprintf_r+0xfa> - 801c61c: 2300 movs r3, #0 - 801c61e: 3401 adds r4, #1 - 801c620: 9305 str r3, [sp, #20] - 801c622: 4619 mov r1, r3 - 801c624: f04f 0c0a mov.w ip, #10 - 801c628: 4620 mov r0, r4 - 801c62a: f810 2b01 ldrb.w r2, [r0], #1 - 801c62e: 3a30 subs r2, #48 @ 0x30 - 801c630: 2a09 cmp r2, #9 - 801c632: d903 bls.n 801c63c <_vfiprintf_r+0x1c4> - 801c634: 2b00 cmp r3, #0 - 801c636: d0c6 beq.n 801c5c6 <_vfiprintf_r+0x14e> - 801c638: 9105 str r1, [sp, #20] - 801c63a: e7c4 b.n 801c5c6 <_vfiprintf_r+0x14e> - 801c63c: fb0c 2101 mla r1, ip, r1, r2 - 801c640: 4604 mov r4, r0 - 801c642: 2301 movs r3, #1 - 801c644: e7f0 b.n 801c628 <_vfiprintf_r+0x1b0> - 801c646: ab03 add r3, sp, #12 - 801c648: 9300 str r3, [sp, #0] - 801c64a: 462a mov r2, r5 - 801c64c: 4b12 ldr r3, [pc, #72] @ (801c698 <_vfiprintf_r+0x220>) - 801c64e: a904 add r1, sp, #16 - 801c650: 4630 mov r0, r6 - 801c652: f7fc fa6b bl 8018b2c <_printf_float> - 801c656: 1c43 adds r3, r0, #1 - 801c658: d1d7 bne.n 801c60a <_vfiprintf_r+0x192> - 801c65a: 6e6b ldr r3, [r5, #100] @ 0x64 - 801c65c: 07d9 lsls r1, r3, #31 - 801c65e: d405 bmi.n 801c66c <_vfiprintf_r+0x1f4> - 801c660: 89ab ldrh r3, [r5, #12] - 801c662: 059a lsls r2, r3, #22 - 801c664: d402 bmi.n 801c66c <_vfiprintf_r+0x1f4> - 801c666: 6da8 ldr r0, [r5, #88] @ 0x58 - 801c668: f7fd fad2 bl 8019c10 <__retarget_lock_release_recursive> - 801c66c: 89ab ldrh r3, [r5, #12] - 801c66e: 065b lsls r3, r3, #25 - 801c670: f53f af24 bmi.w 801c4bc <_vfiprintf_r+0x44> - 801c674: 9809 ldr r0, [sp, #36] @ 0x24 - 801c676: e723 b.n 801c4c0 <_vfiprintf_r+0x48> - 801c678: ab03 add r3, sp, #12 - 801c67a: 9300 str r3, [sp, #0] - 801c67c: 462a mov r2, r5 - 801c67e: 4b06 ldr r3, [pc, #24] @ (801c698 <_vfiprintf_r+0x220>) - 801c680: a904 add r1, sp, #16 - 801c682: 4630 mov r0, r6 - 801c684: f7fc fce8 bl 8019058 <_printf_i> - 801c688: e7e5 b.n 801c656 <_vfiprintf_r+0x1de> - 801c68a: bf00 nop - 801c68c: 0801ddd1 .word 0x0801ddd1 - 801c690: 0801dddb .word 0x0801dddb - 801c694: 08018b2d .word 0x08018b2d - 801c698: 0801c453 .word 0x0801c453 - 801c69c: 0801ddd7 .word 0x0801ddd7 + 801c59a: d05f beq.n 801c65c <_strtod_l+0x8fc> + 801c59c: f1b3 6fd6 cmp.w r3, #112197632 @ 0x6b00000 + 801c5a0: d85c bhi.n 801c65c <_strtod_l+0x8fc> + 801c5a2: f1b3 7f5c cmp.w r3, #57671680 @ 0x3700000 + 801c5a6: f67f ae8c bls.w 801c2c2 <_strtod_l+0x562> + 801c5aa: 4ba8 ldr r3, [pc, #672] @ (801c84c <_strtod_l+0xaec>) + 801c5ac: 4640 mov r0, r8 + 801c5ae: 4649 mov r1, r9 + 801c5b0: 2200 movs r2, #0 + 801c5b2: f7e3 fff9 bl 80005a8 <__aeabi_dmul> + 801c5b6: 4ba4 ldr r3, [pc, #656] @ (801c848 <_strtod_l+0xae8>) + 801c5b8: 400b ands r3, r1 + 801c5ba: 4680 mov r8, r0 + 801c5bc: 4689 mov r9, r1 + 801c5be: 2b00 cmp r3, #0 + 801c5c0: f47f ae50 bne.w 801c264 <_strtod_l+0x504> + 801c5c4: 9a04 ldr r2, [sp, #16] + 801c5c6: 2322 movs r3, #34 @ 0x22 + 801c5c8: 6013 str r3, [r2, #0] + 801c5ca: e64b b.n 801c264 <_strtod_l+0x504> + 801c5cc: 464d mov r5, r9 + 801c5ce: d162 bne.n 801c696 <_strtod_l+0x936> + 801c5d0: 9a0f ldr r2, [sp, #60] @ 0x3c + 801c5d2: f3c9 0313 ubfx r3, r9, #0, #20 + 801c5d6: b342 cbz r2, 801c62a <_strtod_l+0x8ca> + 801c5d8: 4a9d ldr r2, [pc, #628] @ (801c850 <_strtod_l+0xaf0>) + 801c5da: 4293 cmp r3, r2 + 801c5dc: d128 bne.n 801c630 <_strtod_l+0x8d0> + 801c5de: 9b07 ldr r3, [sp, #28] + 801c5e0: 4641 mov r1, r8 + 801c5e2: b1eb cbz r3, 801c620 <_strtod_l+0x8c0> + 801c5e4: 4b98 ldr r3, [pc, #608] @ (801c848 <_strtod_l+0xae8>) + 801c5e6: 402b ands r3, r5 + 801c5e8: f1b3 6fd4 cmp.w r3, #111149056 @ 0x6a00000 + 801c5ec: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 801c5f0: d819 bhi.n 801c626 <_strtod_l+0x8c6> + 801c5f2: 0d1b lsrs r3, r3, #20 + 801c5f4: f1c3 036b rsb r3, r3, #107 @ 0x6b + 801c5f8: fa02 f303 lsl.w r3, r2, r3 + 801c5fc: 4299 cmp r1, r3 + 801c5fe: d117 bne.n 801c630 <_strtod_l+0x8d0> + 801c600: 4b94 ldr r3, [pc, #592] @ (801c854 <_strtod_l+0xaf4>) + 801c602: 429d cmp r5, r3 + 801c604: d102 bne.n 801c60c <_strtod_l+0x8ac> + 801c606: 3101 adds r1, #1 + 801c608: f43f ae21 beq.w 801c24e <_strtod_l+0x4ee> + 801c60c: 4b8e ldr r3, [pc, #568] @ (801c848 <_strtod_l+0xae8>) + 801c60e: 402b ands r3, r5 + 801c610: f503 1980 add.w r9, r3, #1048576 @ 0x100000 + 801c614: f04f 0800 mov.w r8, #0 + 801c618: 9b07 ldr r3, [sp, #28] + 801c61a: 2b00 cmp r3, #0 + 801c61c: d1c5 bne.n 801c5aa <_strtod_l+0x84a> + 801c61e: e621 b.n 801c264 <_strtod_l+0x504> + 801c620: f04f 33ff mov.w r3, #4294967295 @ 0xffffffff + 801c624: e7ea b.n 801c5fc <_strtod_l+0x89c> + 801c626: 4613 mov r3, r2 + 801c628: e7e8 b.n 801c5fc <_strtod_l+0x89c> + 801c62a: ea53 0308 orrs.w r3, r3, r8 + 801c62e: d0b0 beq.n 801c592 <_strtod_l+0x832> + 801c630: f1bb 0f00 cmp.w fp, #0 + 801c634: d01b beq.n 801c66e <_strtod_l+0x90e> + 801c636: ea1b 0f05 tst.w fp, r5 + 801c63a: d0ed beq.n 801c618 <_strtod_l+0x8b8> + 801c63c: 9b0f ldr r3, [sp, #60] @ 0x3c + 801c63e: 9a07 ldr r2, [sp, #28] + 801c640: 4640 mov r0, r8 + 801c642: 4649 mov r1, r9 + 801c644: b1b3 cbz r3, 801c674 <_strtod_l+0x914> + 801c646: f7ff fb6b bl 801bd20 + 801c64a: e9dd 010c ldrd r0, r1, [sp, #48] @ 0x30 + 801c64e: ec53 2b10 vmov r2, r3, d0 + 801c652: f7e3 fdf3 bl 800023c <__adddf3> + 801c656: 4680 mov r8, r0 + 801c658: 4689 mov r9, r1 + 801c65a: e7dd b.n 801c618 <_strtod_l+0x8b8> + 801c65c: f5a3 1380 sub.w r3, r3, #1048576 @ 0x100000 + 801c660: ea6f 5913 mvn.w r9, r3, lsr #20 + 801c664: ea6f 5909 mvn.w r9, r9, lsl #20 + 801c668: f04f 38ff mov.w r8, #4294967295 @ 0xffffffff + 801c66c: e7d4 b.n 801c618 <_strtod_l+0x8b8> + 801c66e: ea1a 0f08 tst.w sl, r8 + 801c672: e7e2 b.n 801c63a <_strtod_l+0x8da> + 801c674: f7ff fb54 bl 801bd20 + 801c678: e9dd 010c ldrd r0, r1, [sp, #48] @ 0x30 + 801c67c: ec53 2b10 vmov r2, r3, d0 + 801c680: f7e3 fdda bl 8000238 <__aeabi_dsub> + 801c684: 2200 movs r2, #0 + 801c686: 2300 movs r3, #0 + 801c688: 4680 mov r8, r0 + 801c68a: 4689 mov r9, r1 + 801c68c: f7e4 f9f4 bl 8000a78 <__aeabi_dcmpeq> + 801c690: 2800 cmp r0, #0 + 801c692: d0c1 beq.n 801c618 <_strtod_l+0x8b8> + 801c694: e615 b.n 801c2c2 <_strtod_l+0x562> + 801c696: 9905 ldr r1, [sp, #20] + 801c698: 4620 mov r0, r4 + 801c69a: f7ff facb bl 801bc34 <__ratio> + 801c69e: ec57 6b10 vmov r6, r7, d0 + 801c6a2: 2200 movs r2, #0 + 801c6a4: f04f 4380 mov.w r3, #1073741824 @ 0x40000000 + 801c6a8: 4630 mov r0, r6 + 801c6aa: 4639 mov r1, r7 + 801c6ac: f7e4 f9f8 bl 8000aa0 <__aeabi_dcmple> + 801c6b0: 2800 cmp r0, #0 + 801c6b2: d070 beq.n 801c796 <_strtod_l+0xa36> + 801c6b4: 9b0f ldr r3, [sp, #60] @ 0x3c + 801c6b6: 2b00 cmp r3, #0 + 801c6b8: d17b bne.n 801c7b2 <_strtod_l+0xa52> + 801c6ba: f1b8 0f00 cmp.w r8, #0 + 801c6be: d156 bne.n 801c76e <_strtod_l+0xa0e> + 801c6c0: f3c9 0313 ubfx r3, r9, #0, #20 + 801c6c4: 2b00 cmp r3, #0 + 801c6c6: d158 bne.n 801c77a <_strtod_l+0xa1a> + 801c6c8: 4b63 ldr r3, [pc, #396] @ (801c858 <_strtod_l+0xaf8>) + 801c6ca: 2200 movs r2, #0 + 801c6cc: 4630 mov r0, r6 + 801c6ce: 4639 mov r1, r7 + 801c6d0: f7e4 f9dc bl 8000a8c <__aeabi_dcmplt> + 801c6d4: 2800 cmp r0, #0 + 801c6d6: d159 bne.n 801c78c <_strtod_l+0xa2c> + 801c6d8: 4b60 ldr r3, [pc, #384] @ (801c85c <_strtod_l+0xafc>) + 801c6da: 2200 movs r2, #0 + 801c6dc: 4630 mov r0, r6 + 801c6de: 4639 mov r1, r7 + 801c6e0: f7e3 ff62 bl 80005a8 <__aeabi_dmul> + 801c6e4: 4682 mov sl, r0 + 801c6e6: 468b mov fp, r1 + 801c6e8: f10b 4300 add.w r3, fp, #2147483648 @ 0x80000000 + 801c6ec: f8cd a020 str.w sl, [sp, #32] + 801c6f0: 9309 str r3, [sp, #36] @ 0x24 + 801c6f2: 4b55 ldr r3, [pc, #340] @ (801c848 <_strtod_l+0xae8>) + 801c6f4: 4a54 ldr r2, [pc, #336] @ (801c848 <_strtod_l+0xae8>) + 801c6f6: 402b ands r3, r5 + 801c6f8: 9313 str r3, [sp, #76] @ 0x4c + 801c6fa: 4b59 ldr r3, [pc, #356] @ (801c860 <_strtod_l+0xb00>) + 801c6fc: 402a ands r2, r5 + 801c6fe: 429a cmp r2, r3 + 801c700: e9dd 6708 ldrd r6, r7, [sp, #32] + 801c704: f040 80b0 bne.w 801c868 <_strtod_l+0xb08> + 801c708: f1a5 7954 sub.w r9, r5, #55574528 @ 0x3500000 + 801c70c: ec49 8b10 vmov d0, r8, r9 + 801c710: f7ff f9c8 bl 801baa4 <__ulp> + 801c714: e9dd 2308 ldrd r2, r3, [sp, #32] + 801c718: ec51 0b10 vmov r0, r1, d0 + 801c71c: f7e3 ff44 bl 80005a8 <__aeabi_dmul> + 801c720: 4642 mov r2, r8 + 801c722: 464b mov r3, r9 + 801c724: f7e3 fd8a bl 800023c <__adddf3> + 801c728: 4d47 ldr r5, [pc, #284] @ (801c848 <_strtod_l+0xae8>) + 801c72a: 4a4e ldr r2, [pc, #312] @ (801c864 <_strtod_l+0xb04>) + 801c72c: 400d ands r5, r1 + 801c72e: 4295 cmp r5, r2 + 801c730: 4680 mov r8, r0 + 801c732: d945 bls.n 801c7c0 <_strtod_l+0xa60> + 801c734: 9a0d ldr r2, [sp, #52] @ 0x34 + 801c736: 4b47 ldr r3, [pc, #284] @ (801c854 <_strtod_l+0xaf4>) + 801c738: 429a cmp r2, r3 + 801c73a: d103 bne.n 801c744 <_strtod_l+0x9e4> + 801c73c: 9b0c ldr r3, [sp, #48] @ 0x30 + 801c73e: 3301 adds r3, #1 + 801c740: f43f ad85 beq.w 801c24e <_strtod_l+0x4ee> + 801c744: f8df 910c ldr.w r9, [pc, #268] @ 801c854 <_strtod_l+0xaf4> + 801c748: f04f 38ff mov.w r8, #4294967295 @ 0xffffffff + 801c74c: 9918 ldr r1, [sp, #96] @ 0x60 + 801c74e: 9804 ldr r0, [sp, #16] + 801c750: f7fe fe6c bl 801b42c <_Bfree> + 801c754: 9906 ldr r1, [sp, #24] + 801c756: 9804 ldr r0, [sp, #16] + 801c758: f7fe fe68 bl 801b42c <_Bfree> + 801c75c: e9dd 0104 ldrd r0, r1, [sp, #16] + 801c760: f7fe fe64 bl 801b42c <_Bfree> + 801c764: 9804 ldr r0, [sp, #16] + 801c766: 4621 mov r1, r4 + 801c768: f7fe fe60 bl 801b42c <_Bfree> + 801c76c: e625 b.n 801c3ba <_strtod_l+0x65a> + 801c76e: f1b8 0f01 cmp.w r8, #1 + 801c772: d102 bne.n 801c77a <_strtod_l+0xa1a> + 801c774: 2d00 cmp r5, #0 + 801c776: f43f ada4 beq.w 801c2c2 <_strtod_l+0x562> + 801c77a: ed9f 7b2b vldr d7, [pc, #172] @ 801c828 <_strtod_l+0xac8> + 801c77e: f8df b0d8 ldr.w fp, [pc, #216] @ 801c858 <_strtod_l+0xaf8> + 801c782: ed8d 7b08 vstr d7, [sp, #32] + 801c786: f04f 0a00 mov.w sl, #0 + 801c78a: e7b2 b.n 801c6f2 <_strtod_l+0x992> + 801c78c: f8df b0cc ldr.w fp, [pc, #204] @ 801c85c <_strtod_l+0xafc> + 801c790: f04f 0a00 mov.w sl, #0 + 801c794: e7a8 b.n 801c6e8 <_strtod_l+0x988> + 801c796: 4b31 ldr r3, [pc, #196] @ (801c85c <_strtod_l+0xafc>) + 801c798: 2200 movs r2, #0 + 801c79a: 4630 mov r0, r6 + 801c79c: 4639 mov r1, r7 + 801c79e: f7e3 ff03 bl 80005a8 <__aeabi_dmul> + 801c7a2: 9b0f ldr r3, [sp, #60] @ 0x3c + 801c7a4: 4682 mov sl, r0 + 801c7a6: 468b mov fp, r1 + 801c7a8: 2b00 cmp r3, #0 + 801c7aa: d09d beq.n 801c6e8 <_strtod_l+0x988> + 801c7ac: e9cd ab08 strd sl, fp, [sp, #32] + 801c7b0: e79f b.n 801c6f2 <_strtod_l+0x992> + 801c7b2: ed9f 7b1f vldr d7, [pc, #124] @ 801c830 <_strtod_l+0xad0> + 801c7b6: ed8d 7b08 vstr d7, [sp, #32] + 801c7ba: ec5b ab17 vmov sl, fp, d7 + 801c7be: e798 b.n 801c6f2 <_strtod_l+0x992> + 801c7c0: f101 7954 add.w r9, r1, #55574528 @ 0x3500000 + 801c7c4: 9b07 ldr r3, [sp, #28] + 801c7c6: 2b00 cmp r3, #0 + 801c7c8: d1c0 bne.n 801c74c <_strtod_l+0x9ec> + 801c7ca: f029 4300 bic.w r3, r9, #2147483648 @ 0x80000000 + 801c7ce: 9a13 ldr r2, [sp, #76] @ 0x4c + 801c7d0: 0d1b lsrs r3, r3, #20 + 801c7d2: 051b lsls r3, r3, #20 + 801c7d4: 429a cmp r2, r3 + 801c7d6: d1b9 bne.n 801c74c <_strtod_l+0x9ec> + 801c7d8: 4650 mov r0, sl + 801c7da: 4659 mov r1, fp + 801c7dc: f7e4 fa2c bl 8000c38 <__aeabi_d2lz> + 801c7e0: f7e3 feb4 bl 800054c <__aeabi_l2d> + 801c7e4: 4602 mov r2, r0 + 801c7e6: 460b mov r3, r1 + 801c7e8: 4650 mov r0, sl + 801c7ea: 4659 mov r1, fp + 801c7ec: f7e3 fd24 bl 8000238 <__aeabi_dsub> + 801c7f0: 9a0f ldr r2, [sp, #60] @ 0x3c + 801c7f2: f3c9 0313 ubfx r3, r9, #0, #20 + 801c7f6: ea43 0308 orr.w r3, r3, r8 + 801c7fa: 4313 orrs r3, r2 + 801c7fc: 4606 mov r6, r0 + 801c7fe: 460f mov r7, r1 + 801c800: d06b beq.n 801c8da <_strtod_l+0xb7a> + 801c802: a30d add r3, pc, #52 @ (adr r3, 801c838 <_strtod_l+0xad8>) + 801c804: e9d3 2300 ldrd r2, r3, [r3] + 801c808: f7e4 f940 bl 8000a8c <__aeabi_dcmplt> + 801c80c: 2800 cmp r0, #0 + 801c80e: f47f ad29 bne.w 801c264 <_strtod_l+0x504> + 801c812: a30b add r3, pc, #44 @ (adr r3, 801c840 <_strtod_l+0xae0>) + 801c814: e9d3 2300 ldrd r2, r3, [r3] + 801c818: 4630 mov r0, r6 + 801c81a: 4639 mov r1, r7 + 801c81c: f7e4 f954 bl 8000ac8 <__aeabi_dcmpgt> + 801c820: 2800 cmp r0, #0 + 801c822: d093 beq.n 801c74c <_strtod_l+0x9ec> + 801c824: e51e b.n 801c264 <_strtod_l+0x504> + 801c826: bf00 nop + 801c828: 00000000 .word 0x00000000 + 801c82c: bff00000 .word 0xbff00000 + 801c830: 00000000 .word 0x00000000 + 801c834: 3ff00000 .word 0x3ff00000 + 801c838: 94a03595 .word 0x94a03595 + 801c83c: 3fdfffff .word 0x3fdfffff + 801c840: 35afe535 .word 0x35afe535 + 801c844: 3fe00000 .word 0x3fe00000 + 801c848: 7ff00000 .word 0x7ff00000 + 801c84c: 39500000 .word 0x39500000 + 801c850: 000fffff .word 0x000fffff + 801c854: 7fefffff .word 0x7fefffff + 801c858: 3ff00000 .word 0x3ff00000 + 801c85c: 3fe00000 .word 0x3fe00000 + 801c860: 7fe00000 .word 0x7fe00000 + 801c864: 7c9fffff .word 0x7c9fffff + 801c868: 9b07 ldr r3, [sp, #28] + 801c86a: b313 cbz r3, 801c8b2 <_strtod_l+0xb52> + 801c86c: 9b13 ldr r3, [sp, #76] @ 0x4c + 801c86e: f1b3 6fd4 cmp.w r3, #111149056 @ 0x6a00000 + 801c872: d81e bhi.n 801c8b2 <_strtod_l+0xb52> + 801c874: a324 add r3, pc, #144 @ (adr r3, 801c908 <_strtod_l+0xba8>) + 801c876: e9d3 2300 ldrd r2, r3, [r3] + 801c87a: 4650 mov r0, sl + 801c87c: 4659 mov r1, fp + 801c87e: f7e4 f90f bl 8000aa0 <__aeabi_dcmple> + 801c882: b190 cbz r0, 801c8aa <_strtod_l+0xb4a> + 801c884: 4659 mov r1, fp + 801c886: 4650 mov r0, sl + 801c888: f7e4 f966 bl 8000b58 <__aeabi_d2uiz> + 801c88c: 2801 cmp r0, #1 + 801c88e: bf38 it cc + 801c890: 2001 movcc r0, #1 + 801c892: f7e3 fe0f bl 80004b4 <__aeabi_ui2d> + 801c896: 9b0f ldr r3, [sp, #60] @ 0x3c + 801c898: 4682 mov sl, r0 + 801c89a: 468b mov fp, r1 + 801c89c: b9d3 cbnz r3, 801c8d4 <_strtod_l+0xb74> + 801c89e: f101 4300 add.w r3, r1, #2147483648 @ 0x80000000 + 801c8a2: 9010 str r0, [sp, #64] @ 0x40 + 801c8a4: 9311 str r3, [sp, #68] @ 0x44 + 801c8a6: e9dd 6710 ldrd r6, r7, [sp, #64] @ 0x40 + 801c8aa: 9a13 ldr r2, [sp, #76] @ 0x4c + 801c8ac: f107 63d6 add.w r3, r7, #112197632 @ 0x6b00000 + 801c8b0: 1a9f subs r7, r3, r2 + 801c8b2: ed9d 0b0c vldr d0, [sp, #48] @ 0x30 + 801c8b6: f7ff f8f5 bl 801baa4 <__ulp> + 801c8ba: 4630 mov r0, r6 + 801c8bc: ec53 2b10 vmov r2, r3, d0 + 801c8c0: 4639 mov r1, r7 + 801c8c2: f7e3 fe71 bl 80005a8 <__aeabi_dmul> + 801c8c6: e9dd 230c ldrd r2, r3, [sp, #48] @ 0x30 + 801c8ca: f7e3 fcb7 bl 800023c <__adddf3> + 801c8ce: 4680 mov r8, r0 + 801c8d0: 4689 mov r9, r1 + 801c8d2: e777 b.n 801c7c4 <_strtod_l+0xa64> + 801c8d4: e9cd ab10 strd sl, fp, [sp, #64] @ 0x40 + 801c8d8: e7e5 b.n 801c8a6 <_strtod_l+0xb46> + 801c8da: a30d add r3, pc, #52 @ (adr r3, 801c910 <_strtod_l+0xbb0>) + 801c8dc: e9d3 2300 ldrd r2, r3, [r3] + 801c8e0: f7e4 f8d4 bl 8000a8c <__aeabi_dcmplt> + 801c8e4: e79c b.n 801c820 <_strtod_l+0xac0> + 801c8e6: 2300 movs r3, #0 + 801c8e8: 930b str r3, [sp, #44] @ 0x2c + 801c8ea: 9a15 ldr r2, [sp, #84] @ 0x54 + 801c8ec: 9b17 ldr r3, [sp, #92] @ 0x5c + 801c8ee: 6013 str r3, [r2, #0] + 801c8f0: f7ff ba8c b.w 801be0c <_strtod_l+0xac> + 801c8f4: 2a65 cmp r2, #101 @ 0x65 + 801c8f6: f43f ab6a beq.w 801bfce <_strtod_l+0x26e> + 801c8fa: 2a45 cmp r2, #69 @ 0x45 + 801c8fc: f43f ab67 beq.w 801bfce <_strtod_l+0x26e> + 801c900: 2301 movs r3, #1 + 801c902: 9307 str r3, [sp, #28] + 801c904: f7ff bba1 b.w 801c04a <_strtod_l+0x2ea> + 801c908: ffc00000 .word 0xffc00000 + 801c90c: 41dfffff .word 0x41dfffff + 801c910: 94a03595 .word 0x94a03595 + 801c914: 3fcfffff .word 0x3fcfffff -0801c6a0 <__sflush_r>: - 801c6a0: f9b1 200c ldrsh.w r2, [r1, #12] - 801c6a4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 801c6a8: 0716 lsls r6, r2, #28 - 801c6aa: 4605 mov r5, r0 - 801c6ac: 460c mov r4, r1 - 801c6ae: d451 bmi.n 801c754 <__sflush_r+0xb4> - 801c6b0: 684b ldr r3, [r1, #4] - 801c6b2: 2b00 cmp r3, #0 - 801c6b4: dc02 bgt.n 801c6bc <__sflush_r+0x1c> - 801c6b6: 6c0b ldr r3, [r1, #64] @ 0x40 - 801c6b8: 2b00 cmp r3, #0 - 801c6ba: dd49 ble.n 801c750 <__sflush_r+0xb0> - 801c6bc: 6ae6 ldr r6, [r4, #44] @ 0x2c - 801c6be: 2e00 cmp r6, #0 - 801c6c0: d046 beq.n 801c750 <__sflush_r+0xb0> - 801c6c2: 2300 movs r3, #0 - 801c6c4: f412 5280 ands.w r2, r2, #4096 @ 0x1000 - 801c6c8: 682f ldr r7, [r5, #0] - 801c6ca: 602b str r3, [r5, #0] - 801c6cc: d031 beq.n 801c732 <__sflush_r+0x92> - 801c6ce: 6d62 ldr r2, [r4, #84] @ 0x54 - 801c6d0: 89a3 ldrh r3, [r4, #12] - 801c6d2: 0759 lsls r1, r3, #29 - 801c6d4: d505 bpl.n 801c6e2 <__sflush_r+0x42> - 801c6d6: 6863 ldr r3, [r4, #4] - 801c6d8: 1ad2 subs r2, r2, r3 - 801c6da: 6b63 ldr r3, [r4, #52] @ 0x34 - 801c6dc: b10b cbz r3, 801c6e2 <__sflush_r+0x42> - 801c6de: 6c23 ldr r3, [r4, #64] @ 0x40 - 801c6e0: 1ad2 subs r2, r2, r3 - 801c6e2: 2300 movs r3, #0 - 801c6e4: 6ae6 ldr r6, [r4, #44] @ 0x2c - 801c6e6: 6a21 ldr r1, [r4, #32] - 801c6e8: 4628 mov r0, r5 - 801c6ea: 47b0 blx r6 - 801c6ec: 1c42 adds r2, r0, #1 - 801c6ee: f9b4 300c ldrsh.w r3, [r4, #12] - 801c6f2: d106 bne.n 801c702 <__sflush_r+0x62> - 801c6f4: 6829 ldr r1, [r5, #0] - 801c6f6: 291d cmp r1, #29 - 801c6f8: d846 bhi.n 801c788 <__sflush_r+0xe8> - 801c6fa: 4a29 ldr r2, [pc, #164] @ (801c7a0 <__sflush_r+0x100>) - 801c6fc: 40ca lsrs r2, r1 - 801c6fe: 07d6 lsls r6, r2, #31 - 801c700: d542 bpl.n 801c788 <__sflush_r+0xe8> - 801c702: 2200 movs r2, #0 - 801c704: 6062 str r2, [r4, #4] - 801c706: 04d9 lsls r1, r3, #19 - 801c708: 6922 ldr r2, [r4, #16] - 801c70a: 6022 str r2, [r4, #0] - 801c70c: d504 bpl.n 801c718 <__sflush_r+0x78> - 801c70e: 1c42 adds r2, r0, #1 - 801c710: d101 bne.n 801c716 <__sflush_r+0x76> - 801c712: 682b ldr r3, [r5, #0] - 801c714: b903 cbnz r3, 801c718 <__sflush_r+0x78> - 801c716: 6560 str r0, [r4, #84] @ 0x54 - 801c718: 6b61 ldr r1, [r4, #52] @ 0x34 - 801c71a: 602f str r7, [r5, #0] - 801c71c: b1c1 cbz r1, 801c750 <__sflush_r+0xb0> - 801c71e: f104 0344 add.w r3, r4, #68 @ 0x44 - 801c722: 4299 cmp r1, r3 - 801c724: d002 beq.n 801c72c <__sflush_r+0x8c> - 801c726: 4628 mov r0, r5 - 801c728: f7fe f8ee bl 801a908 <_free_r> - 801c72c: 2300 movs r3, #0 - 801c72e: 6363 str r3, [r4, #52] @ 0x34 - 801c730: e00e b.n 801c750 <__sflush_r+0xb0> - 801c732: 6a21 ldr r1, [r4, #32] - 801c734: 2301 movs r3, #1 - 801c736: 4628 mov r0, r5 - 801c738: 47b0 blx r6 - 801c73a: 4602 mov r2, r0 - 801c73c: 1c50 adds r0, r2, #1 - 801c73e: d1c7 bne.n 801c6d0 <__sflush_r+0x30> - 801c740: 682b ldr r3, [r5, #0] - 801c742: 2b00 cmp r3, #0 - 801c744: d0c4 beq.n 801c6d0 <__sflush_r+0x30> - 801c746: 2b1d cmp r3, #29 - 801c748: d001 beq.n 801c74e <__sflush_r+0xae> - 801c74a: 2b16 cmp r3, #22 - 801c74c: d11a bne.n 801c784 <__sflush_r+0xe4> - 801c74e: 602f str r7, [r5, #0] - 801c750: 2000 movs r0, #0 - 801c752: e01e b.n 801c792 <__sflush_r+0xf2> - 801c754: 690f ldr r7, [r1, #16] - 801c756: 2f00 cmp r7, #0 - 801c758: d0fa beq.n 801c750 <__sflush_r+0xb0> - 801c75a: 0793 lsls r3, r2, #30 - 801c75c: 680e ldr r6, [r1, #0] - 801c75e: bf08 it eq - 801c760: 694b ldreq r3, [r1, #20] - 801c762: 600f str r7, [r1, #0] - 801c764: bf18 it ne - 801c766: 2300 movne r3, #0 - 801c768: eba6 0807 sub.w r8, r6, r7 - 801c76c: 608b str r3, [r1, #8] - 801c76e: f1b8 0f00 cmp.w r8, #0 - 801c772: dded ble.n 801c750 <__sflush_r+0xb0> - 801c774: 6a21 ldr r1, [r4, #32] - 801c776: 6aa6 ldr r6, [r4, #40] @ 0x28 - 801c778: 4643 mov r3, r8 - 801c77a: 463a mov r2, r7 - 801c77c: 4628 mov r0, r5 - 801c77e: 47b0 blx r6 - 801c780: 2800 cmp r0, #0 - 801c782: dc08 bgt.n 801c796 <__sflush_r+0xf6> - 801c784: f9b4 300c ldrsh.w r3, [r4, #12] - 801c788: f043 0340 orr.w r3, r3, #64 @ 0x40 - 801c78c: 81a3 strh r3, [r4, #12] - 801c78e: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 801c792: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 801c796: 4407 add r7, r0 - 801c798: eba8 0800 sub.w r8, r8, r0 - 801c79c: e7e7 b.n 801c76e <__sflush_r+0xce> - 801c79e: bf00 nop - 801c7a0: 20400001 .word 0x20400001 +0801c918 <_strtod_r>: + 801c918: 4b01 ldr r3, [pc, #4] @ (801c920 <_strtod_r+0x8>) + 801c91a: f7ff ba21 b.w 801bd60 <_strtod_l> + 801c91e: bf00 nop + 801c920: 2000016c .word 0x2000016c -0801c7a4 <_fflush_r>: - 801c7a4: b538 push {r3, r4, r5, lr} - 801c7a6: 690b ldr r3, [r1, #16] - 801c7a8: 4605 mov r5, r0 - 801c7aa: 460c mov r4, r1 - 801c7ac: b913 cbnz r3, 801c7b4 <_fflush_r+0x10> - 801c7ae: 2500 movs r5, #0 - 801c7b0: 4628 mov r0, r5 - 801c7b2: bd38 pop {r3, r4, r5, pc} - 801c7b4: b118 cbz r0, 801c7be <_fflush_r+0x1a> - 801c7b6: 6a03 ldr r3, [r0, #32] - 801c7b8: b90b cbnz r3, 801c7be <_fflush_r+0x1a> - 801c7ba: f7fd f80d bl 80197d8 <__sinit> - 801c7be: f9b4 300c ldrsh.w r3, [r4, #12] - 801c7c2: 2b00 cmp r3, #0 - 801c7c4: d0f3 beq.n 801c7ae <_fflush_r+0xa> - 801c7c6: 6e62 ldr r2, [r4, #100] @ 0x64 - 801c7c8: 07d0 lsls r0, r2, #31 - 801c7ca: d404 bmi.n 801c7d6 <_fflush_r+0x32> - 801c7cc: 0599 lsls r1, r3, #22 - 801c7ce: d402 bmi.n 801c7d6 <_fflush_r+0x32> - 801c7d0: 6da0 ldr r0, [r4, #88] @ 0x58 - 801c7d2: f7fd fa1c bl 8019c0e <__retarget_lock_acquire_recursive> - 801c7d6: 4628 mov r0, r5 - 801c7d8: 4621 mov r1, r4 - 801c7da: f7ff ff61 bl 801c6a0 <__sflush_r> - 801c7de: 6e63 ldr r3, [r4, #100] @ 0x64 - 801c7e0: 07da lsls r2, r3, #31 - 801c7e2: 4605 mov r5, r0 - 801c7e4: d4e4 bmi.n 801c7b0 <_fflush_r+0xc> - 801c7e6: 89a3 ldrh r3, [r4, #12] - 801c7e8: 059b lsls r3, r3, #22 - 801c7ea: d4e1 bmi.n 801c7b0 <_fflush_r+0xc> - 801c7ec: 6da0 ldr r0, [r4, #88] @ 0x58 - 801c7ee: f7fd fa0f bl 8019c10 <__retarget_lock_release_recursive> - 801c7f2: e7dd b.n 801c7b0 <_fflush_r+0xc> +0801c924 <_strtol_l.isra.0>: + 801c924: 2b24 cmp r3, #36 @ 0x24 + 801c926: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 801c92a: 4686 mov lr, r0 + 801c92c: 4690 mov r8, r2 + 801c92e: d801 bhi.n 801c934 <_strtol_l.isra.0+0x10> + 801c930: 2b01 cmp r3, #1 + 801c932: d106 bne.n 801c942 <_strtol_l.isra.0+0x1e> + 801c934: f7fd fd96 bl 801a464 <__errno> + 801c938: 2316 movs r3, #22 + 801c93a: 6003 str r3, [r0, #0] + 801c93c: 2000 movs r0, #0 + 801c93e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 801c942: 4834 ldr r0, [pc, #208] @ (801ca14 <_strtol_l.isra.0+0xf0>) + 801c944: 460d mov r5, r1 + 801c946: 462a mov r2, r5 + 801c948: f815 4b01 ldrb.w r4, [r5], #1 + 801c94c: 5d06 ldrb r6, [r0, r4] + 801c94e: f016 0608 ands.w r6, r6, #8 + 801c952: d1f8 bne.n 801c946 <_strtol_l.isra.0+0x22> + 801c954: 2c2d cmp r4, #45 @ 0x2d + 801c956: d110 bne.n 801c97a <_strtol_l.isra.0+0x56> + 801c958: 782c ldrb r4, [r5, #0] + 801c95a: 2601 movs r6, #1 + 801c95c: 1c95 adds r5, r2, #2 + 801c95e: f033 0210 bics.w r2, r3, #16 + 801c962: d115 bne.n 801c990 <_strtol_l.isra.0+0x6c> + 801c964: 2c30 cmp r4, #48 @ 0x30 + 801c966: d10d bne.n 801c984 <_strtol_l.isra.0+0x60> + 801c968: 782a ldrb r2, [r5, #0] + 801c96a: f002 02df and.w r2, r2, #223 @ 0xdf + 801c96e: 2a58 cmp r2, #88 @ 0x58 + 801c970: d108 bne.n 801c984 <_strtol_l.isra.0+0x60> + 801c972: 786c ldrb r4, [r5, #1] + 801c974: 3502 adds r5, #2 + 801c976: 2310 movs r3, #16 + 801c978: e00a b.n 801c990 <_strtol_l.isra.0+0x6c> + 801c97a: 2c2b cmp r4, #43 @ 0x2b + 801c97c: bf04 itt eq + 801c97e: 782c ldrbeq r4, [r5, #0] + 801c980: 1c95 addeq r5, r2, #2 + 801c982: e7ec b.n 801c95e <_strtol_l.isra.0+0x3a> + 801c984: 2b00 cmp r3, #0 + 801c986: d1f6 bne.n 801c976 <_strtol_l.isra.0+0x52> + 801c988: 2c30 cmp r4, #48 @ 0x30 + 801c98a: bf14 ite ne + 801c98c: 230a movne r3, #10 + 801c98e: 2308 moveq r3, #8 + 801c990: f106 4c00 add.w ip, r6, #2147483648 @ 0x80000000 + 801c994: f10c 3cff add.w ip, ip, #4294967295 @ 0xffffffff + 801c998: 2200 movs r2, #0 + 801c99a: fbbc f9f3 udiv r9, ip, r3 + 801c99e: 4610 mov r0, r2 + 801c9a0: fb03 ca19 mls sl, r3, r9, ip + 801c9a4: f1a4 0730 sub.w r7, r4, #48 @ 0x30 + 801c9a8: 2f09 cmp r7, #9 + 801c9aa: d80f bhi.n 801c9cc <_strtol_l.isra.0+0xa8> + 801c9ac: 463c mov r4, r7 + 801c9ae: 42a3 cmp r3, r4 + 801c9b0: dd1b ble.n 801c9ea <_strtol_l.isra.0+0xc6> + 801c9b2: 1c57 adds r7, r2, #1 + 801c9b4: d007 beq.n 801c9c6 <_strtol_l.isra.0+0xa2> + 801c9b6: 4581 cmp r9, r0 + 801c9b8: d314 bcc.n 801c9e4 <_strtol_l.isra.0+0xc0> + 801c9ba: d101 bne.n 801c9c0 <_strtol_l.isra.0+0x9c> + 801c9bc: 45a2 cmp sl, r4 + 801c9be: db11 blt.n 801c9e4 <_strtol_l.isra.0+0xc0> + 801c9c0: fb00 4003 mla r0, r0, r3, r4 + 801c9c4: 2201 movs r2, #1 + 801c9c6: f815 4b01 ldrb.w r4, [r5], #1 + 801c9ca: e7eb b.n 801c9a4 <_strtol_l.isra.0+0x80> + 801c9cc: f1a4 0741 sub.w r7, r4, #65 @ 0x41 + 801c9d0: 2f19 cmp r7, #25 + 801c9d2: d801 bhi.n 801c9d8 <_strtol_l.isra.0+0xb4> + 801c9d4: 3c37 subs r4, #55 @ 0x37 + 801c9d6: e7ea b.n 801c9ae <_strtol_l.isra.0+0x8a> + 801c9d8: f1a4 0761 sub.w r7, r4, #97 @ 0x61 + 801c9dc: 2f19 cmp r7, #25 + 801c9de: d804 bhi.n 801c9ea <_strtol_l.isra.0+0xc6> + 801c9e0: 3c57 subs r4, #87 @ 0x57 + 801c9e2: e7e4 b.n 801c9ae <_strtol_l.isra.0+0x8a> + 801c9e4: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 801c9e8: e7ed b.n 801c9c6 <_strtol_l.isra.0+0xa2> + 801c9ea: 1c53 adds r3, r2, #1 + 801c9ec: d108 bne.n 801ca00 <_strtol_l.isra.0+0xdc> + 801c9ee: 2322 movs r3, #34 @ 0x22 + 801c9f0: f8ce 3000 str.w r3, [lr] + 801c9f4: 4660 mov r0, ip + 801c9f6: f1b8 0f00 cmp.w r8, #0 + 801c9fa: d0a0 beq.n 801c93e <_strtol_l.isra.0+0x1a> + 801c9fc: 1e69 subs r1, r5, #1 + 801c9fe: e006 b.n 801ca0e <_strtol_l.isra.0+0xea> + 801ca00: b106 cbz r6, 801ca04 <_strtol_l.isra.0+0xe0> + 801ca02: 4240 negs r0, r0 + 801ca04: f1b8 0f00 cmp.w r8, #0 + 801ca08: d099 beq.n 801c93e <_strtol_l.isra.0+0x1a> + 801ca0a: 2a00 cmp r2, #0 + 801ca0c: d1f6 bne.n 801c9fc <_strtol_l.isra.0+0xd8> + 801ca0e: f8c8 1000 str.w r1, [r8] + 801ca12: e794 b.n 801c93e <_strtol_l.isra.0+0x1a> + 801ca14: 0801e939 .word 0x0801e939 -0801c7f4 <__swhatbuf_r>: - 801c7f4: b570 push {r4, r5, r6, lr} - 801c7f6: 460c mov r4, r1 - 801c7f8: f9b1 100e ldrsh.w r1, [r1, #14] - 801c7fc: 2900 cmp r1, #0 - 801c7fe: b096 sub sp, #88 @ 0x58 - 801c800: 4615 mov r5, r2 - 801c802: 461e mov r6, r3 - 801c804: da0a bge.n 801c81c <__swhatbuf_r+0x28> - 801c806: 89a1 ldrh r1, [r4, #12] - 801c808: f011 0180 ands.w r1, r1, #128 @ 0x80 - 801c80c: d113 bne.n 801c836 <__swhatbuf_r+0x42> - 801c80e: f44f 6280 mov.w r2, #1024 @ 0x400 - 801c812: 2000 movs r0, #0 - 801c814: 6031 str r1, [r6, #0] - 801c816: 602a str r2, [r5, #0] - 801c818: b016 add sp, #88 @ 0x58 - 801c81a: bd70 pop {r4, r5, r6, pc} - 801c81c: 466a mov r2, sp - 801c81e: f000 f871 bl 801c904 <_fstat_r> - 801c822: 2800 cmp r0, #0 - 801c824: dbef blt.n 801c806 <__swhatbuf_r+0x12> - 801c826: 9901 ldr r1, [sp, #4] - 801c828: f401 4170 and.w r1, r1, #61440 @ 0xf000 - 801c82c: f5a1 5300 sub.w r3, r1, #8192 @ 0x2000 - 801c830: 4259 negs r1, r3 - 801c832: 4159 adcs r1, r3 - 801c834: e7eb b.n 801c80e <__swhatbuf_r+0x1a> - 801c836: 2100 movs r1, #0 - 801c838: 2240 movs r2, #64 @ 0x40 - 801c83a: e7ea b.n 801c812 <__swhatbuf_r+0x1e> +0801ca18 <_strtol_r>: + 801ca18: f7ff bf84 b.w 801c924 <_strtol_l.isra.0> -0801c83c <__smakebuf_r>: - 801c83c: 898b ldrh r3, [r1, #12] - 801c83e: b573 push {r0, r1, r4, r5, r6, lr} - 801c840: 079e lsls r6, r3, #30 - 801c842: 4605 mov r5, r0 - 801c844: 460c mov r4, r1 - 801c846: d507 bpl.n 801c858 <__smakebuf_r+0x1c> - 801c848: f104 0347 add.w r3, r4, #71 @ 0x47 - 801c84c: 6023 str r3, [r4, #0] - 801c84e: 6123 str r3, [r4, #16] - 801c850: 2301 movs r3, #1 - 801c852: 6163 str r3, [r4, #20] - 801c854: b002 add sp, #8 - 801c856: bd70 pop {r4, r5, r6, pc} - 801c858: ab01 add r3, sp, #4 - 801c85a: 466a mov r2, sp - 801c85c: f7ff ffca bl 801c7f4 <__swhatbuf_r> - 801c860: 9e00 ldr r6, [sp, #0] - 801c862: 4628 mov r0, r5 - 801c864: 4631 mov r1, r6 - 801c866: f7fe f8c3 bl 801a9f0 <_malloc_r> - 801c86a: f9b4 300c ldrsh.w r3, [r4, #12] - 801c86e: b938 cbnz r0, 801c880 <__smakebuf_r+0x44> - 801c870: 059a lsls r2, r3, #22 - 801c872: d4ef bmi.n 801c854 <__smakebuf_r+0x18> - 801c874: f023 0303 bic.w r3, r3, #3 - 801c878: f043 0302 orr.w r3, r3, #2 - 801c87c: 81a3 strh r3, [r4, #12] - 801c87e: e7e3 b.n 801c848 <__smakebuf_r+0xc> - 801c880: f043 0380 orr.w r3, r3, #128 @ 0x80 - 801c884: 81a3 strh r3, [r4, #12] - 801c886: 9b01 ldr r3, [sp, #4] - 801c888: 6020 str r0, [r4, #0] - 801c88a: e9c4 0604 strd r0, r6, [r4, #16] - 801c88e: 2b00 cmp r3, #0 - 801c890: d0e0 beq.n 801c854 <__smakebuf_r+0x18> - 801c892: f9b4 100e ldrsh.w r1, [r4, #14] - 801c896: 4628 mov r0, r5 - 801c898: f000 f846 bl 801c928 <_isatty_r> - 801c89c: 2800 cmp r0, #0 - 801c89e: d0d9 beq.n 801c854 <__smakebuf_r+0x18> - 801c8a0: 89a3 ldrh r3, [r4, #12] - 801c8a2: f023 0303 bic.w r3, r3, #3 - 801c8a6: f043 0301 orr.w r3, r3, #1 - 801c8aa: 81a3 strh r3, [r4, #12] - 801c8ac: e7d2 b.n 801c854 <__smakebuf_r+0x18> +0801ca1c <__ssputs_r>: + 801ca1c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 801ca20: 688e ldr r6, [r1, #8] + 801ca22: 461f mov r7, r3 + 801ca24: 42be cmp r6, r7 + 801ca26: 4682 mov sl, r0 + 801ca28: 460c mov r4, r1 + 801ca2a: 4690 mov r8, r2 + 801ca2c: 4633 mov r3, r6 + 801ca2e: d853 bhi.n 801cad8 <__ssputs_r+0xbc> + 801ca30: f9b1 000c ldrsh.w r0, [r1, #12] + 801ca34: f410 6f90 tst.w r0, #1152 @ 0x480 + 801ca38: d02b beq.n 801ca92 <__ssputs_r+0x76> + 801ca3a: 6965 ldr r5, [r4, #20] + 801ca3c: 6823 ldr r3, [r4, #0] + 801ca3e: 6909 ldr r1, [r1, #16] + 801ca40: eb05 0545 add.w r5, r5, r5, lsl #1 + 801ca44: eba3 0901 sub.w r9, r3, r1 + 801ca48: eb05 75d5 add.w r5, r5, r5, lsr #31 + 801ca4c: 1c7b adds r3, r7, #1 + 801ca4e: 106d asrs r5, r5, #1 + 801ca50: 444b add r3, r9 + 801ca52: 42ab cmp r3, r5 + 801ca54: 462a mov r2, r5 + 801ca56: bf84 itt hi + 801ca58: 461d movhi r5, r3 + 801ca5a: 462a movhi r2, r5 + 801ca5c: 0543 lsls r3, r0, #21 + 801ca5e: d527 bpl.n 801cab0 <__ssputs_r+0x94> + 801ca60: 4611 mov r1, r2 + 801ca62: 4650 mov r0, sl + 801ca64: f7fe fc18 bl 801b298 <_malloc_r> + 801ca68: 4606 mov r6, r0 + 801ca6a: b358 cbz r0, 801cac4 <__ssputs_r+0xa8> + 801ca6c: 6921 ldr r1, [r4, #16] + 801ca6e: 464a mov r2, r9 + 801ca70: f7fd fd25 bl 801a4be + 801ca74: 89a3 ldrh r3, [r4, #12] + 801ca76: f423 6390 bic.w r3, r3, #1152 @ 0x480 + 801ca7a: f043 0380 orr.w r3, r3, #128 @ 0x80 + 801ca7e: 81a3 strh r3, [r4, #12] + 801ca80: 6126 str r6, [r4, #16] + 801ca82: 6165 str r5, [r4, #20] + 801ca84: 444e add r6, r9 + 801ca86: eba5 0509 sub.w r5, r5, r9 + 801ca8a: 6026 str r6, [r4, #0] + 801ca8c: 60a5 str r5, [r4, #8] + 801ca8e: 463e mov r6, r7 + 801ca90: 463b mov r3, r7 + 801ca92: 461f mov r7, r3 + 801ca94: 6820 ldr r0, [r4, #0] + 801ca96: 463a mov r2, r7 + 801ca98: 4641 mov r1, r8 + 801ca9a: f000 fb91 bl 801d1c0 + 801ca9e: 68a3 ldr r3, [r4, #8] + 801caa0: 1b9b subs r3, r3, r6 + 801caa2: 60a3 str r3, [r4, #8] + 801caa4: 6823 ldr r3, [r4, #0] + 801caa6: 443b add r3, r7 + 801caa8: 6023 str r3, [r4, #0] + 801caaa: 2000 movs r0, #0 + 801caac: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 801cab0: 4650 mov r0, sl + 801cab2: f000 ff48 bl 801d946 <_realloc_r> + 801cab6: 4606 mov r6, r0 + 801cab8: 2800 cmp r0, #0 + 801caba: d1e1 bne.n 801ca80 <__ssputs_r+0x64> + 801cabc: 6921 ldr r1, [r4, #16] + 801cabe: 4650 mov r0, sl + 801cac0: f7fe fb76 bl 801b1b0 <_free_r> + 801cac4: 230c movs r3, #12 + 801cac6: f8ca 3000 str.w r3, [sl] + 801caca: 89a3 ldrh r3, [r4, #12] + 801cacc: f043 0340 orr.w r3, r3, #64 @ 0x40 + 801cad0: 81a3 strh r3, [r4, #12] + 801cad2: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801cad6: e7e9 b.n 801caac <__ssputs_r+0x90> + 801cad8: 463e mov r6, r7 + 801cada: e7db b.n 801ca94 <__ssputs_r+0x78> -0801c8ae : - 801c8ae: 4288 cmp r0, r1 - 801c8b0: b510 push {r4, lr} - 801c8b2: eb01 0402 add.w r4, r1, r2 - 801c8b6: d902 bls.n 801c8be - 801c8b8: 4284 cmp r4, r0 - 801c8ba: 4623 mov r3, r4 - 801c8bc: d807 bhi.n 801c8ce - 801c8be: 1e43 subs r3, r0, #1 - 801c8c0: 42a1 cmp r1, r4 - 801c8c2: d007 beq.n 801c8d4 - 801c8c4: f811 2b01 ldrb.w r2, [r1], #1 - 801c8c8: f803 2f01 strb.w r2, [r3, #1]! - 801c8cc: e7f8 b.n 801c8c0 - 801c8ce: 4402 add r2, r0 - 801c8d0: 4282 cmp r2, r0 - 801c8d2: d100 bne.n 801c8d6 - 801c8d4: bd10 pop {r4, pc} - 801c8d6: f813 1d01 ldrb.w r1, [r3, #-1]! - 801c8da: f802 1d01 strb.w r1, [r2, #-1]! - 801c8de: e7f7 b.n 801c8d0 +0801cadc <_svfiprintf_r>: + 801cadc: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 801cae0: 461f mov r7, r3 + 801cae2: 898b ldrh r3, [r1, #12] + 801cae4: 061b lsls r3, r3, #24 + 801cae6: b09c sub sp, #112 @ 0x70 + 801cae8: 4606 mov r6, r0 + 801caea: 460d mov r5, r1 + 801caec: 4614 mov r4, r2 + 801caee: d510 bpl.n 801cb12 <_svfiprintf_r+0x36> + 801caf0: 690b ldr r3, [r1, #16] + 801caf2: b973 cbnz r3, 801cb12 <_svfiprintf_r+0x36> + 801caf4: 2140 movs r1, #64 @ 0x40 + 801caf6: f7fe fbcf bl 801b298 <_malloc_r> + 801cafa: 6028 str r0, [r5, #0] + 801cafc: 6128 str r0, [r5, #16] + 801cafe: b930 cbnz r0, 801cb0e <_svfiprintf_r+0x32> + 801cb00: 230c movs r3, #12 + 801cb02: 6033 str r3, [r6, #0] + 801cb04: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801cb08: b01c add sp, #112 @ 0x70 + 801cb0a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 801cb0e: 2340 movs r3, #64 @ 0x40 + 801cb10: 616b str r3, [r5, #20] + 801cb12: 2300 movs r3, #0 + 801cb14: 9309 str r3, [sp, #36] @ 0x24 + 801cb16: 2320 movs r3, #32 + 801cb18: f88d 3029 strb.w r3, [sp, #41] @ 0x29 + 801cb1c: 9703 str r7, [sp, #12] + 801cb1e: 2330 movs r3, #48 @ 0x30 + 801cb20: 4f65 ldr r7, [pc, #404] @ (801ccb8 <_svfiprintf_r+0x1dc>) + 801cb22: f88d 302a strb.w r3, [sp, #42] @ 0x2a + 801cb26: f04f 0801 mov.w r8, #1 + 801cb2a: 4623 mov r3, r4 + 801cb2c: 4699 mov r9, r3 + 801cb2e: f813 2b01 ldrb.w r2, [r3], #1 + 801cb32: b10a cbz r2, 801cb38 <_svfiprintf_r+0x5c> + 801cb34: 2a25 cmp r2, #37 @ 0x25 + 801cb36: d1f9 bne.n 801cb2c <_svfiprintf_r+0x50> + 801cb38: ebb9 0a04 subs.w sl, r9, r4 + 801cb3c: d00b beq.n 801cb56 <_svfiprintf_r+0x7a> + 801cb3e: 4653 mov r3, sl + 801cb40: 4622 mov r2, r4 + 801cb42: 4629 mov r1, r5 + 801cb44: 4630 mov r0, r6 + 801cb46: f7ff ff69 bl 801ca1c <__ssputs_r> + 801cb4a: 3001 adds r0, #1 + 801cb4c: f000 80a4 beq.w 801cc98 <_svfiprintf_r+0x1bc> + 801cb50: 9a09 ldr r2, [sp, #36] @ 0x24 + 801cb52: 4452 add r2, sl + 801cb54: 9209 str r2, [sp, #36] @ 0x24 + 801cb56: f899 3000 ldrb.w r3, [r9] + 801cb5a: 2b00 cmp r3, #0 + 801cb5c: f000 809c beq.w 801cc98 <_svfiprintf_r+0x1bc> + 801cb60: 2300 movs r3, #0 + 801cb62: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 801cb66: e9cd 2305 strd r2, r3, [sp, #20] + 801cb6a: f109 0901 add.w r9, r9, #1 + 801cb6e: 9304 str r3, [sp, #16] + 801cb70: 9307 str r3, [sp, #28] + 801cb72: f88d 3053 strb.w r3, [sp, #83] @ 0x53 + 801cb76: 931a str r3, [sp, #104] @ 0x68 + 801cb78: 464c mov r4, r9 + 801cb7a: 484f ldr r0, [pc, #316] @ (801ccb8 <_svfiprintf_r+0x1dc>) + 801cb7c: f814 1b01 ldrb.w r1, [r4], #1 + 801cb80: 2205 movs r2, #5 + 801cb82: f7e3 fafd bl 8000180 + 801cb86: 9b04 ldr r3, [sp, #16] + 801cb88: b9d0 cbnz r0, 801cbc0 <_svfiprintf_r+0xe4> + 801cb8a: 06d8 lsls r0, r3, #27 + 801cb8c: bf44 itt mi + 801cb8e: 2220 movmi r2, #32 + 801cb90: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 + 801cb94: 0719 lsls r1, r3, #28 + 801cb96: bf44 itt mi + 801cb98: 222b movmi r2, #43 @ 0x2b + 801cb9a: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 + 801cb9e: f899 2000 ldrb.w r2, [r9] + 801cba2: 2a2a cmp r2, #42 @ 0x2a + 801cba4: d013 beq.n 801cbce <_svfiprintf_r+0xf2> + 801cba6: 9a07 ldr r2, [sp, #28] + 801cba8: 464c mov r4, r9 + 801cbaa: 2000 movs r0, #0 + 801cbac: f04f 0c0a mov.w ip, #10 + 801cbb0: 4621 mov r1, r4 + 801cbb2: f811 3b01 ldrb.w r3, [r1], #1 + 801cbb6: 3b30 subs r3, #48 @ 0x30 + 801cbb8: 2b09 cmp r3, #9 + 801cbba: d949 bls.n 801cc50 <_svfiprintf_r+0x174> + 801cbbc: b968 cbnz r0, 801cbda <_svfiprintf_r+0xfe> + 801cbbe: e013 b.n 801cbe8 <_svfiprintf_r+0x10c> + 801cbc0: 1bc0 subs r0, r0, r7 + 801cbc2: fa08 f000 lsl.w r0, r8, r0 + 801cbc6: 4318 orrs r0, r3 + 801cbc8: 9004 str r0, [sp, #16] + 801cbca: 46a1 mov r9, r4 + 801cbcc: e7d4 b.n 801cb78 <_svfiprintf_r+0x9c> + 801cbce: 9a03 ldr r2, [sp, #12] + 801cbd0: 1d11 adds r1, r2, #4 + 801cbd2: 6812 ldr r2, [r2, #0] + 801cbd4: 9103 str r1, [sp, #12] + 801cbd6: 2a00 cmp r2, #0 + 801cbd8: db01 blt.n 801cbde <_svfiprintf_r+0x102> + 801cbda: 9207 str r2, [sp, #28] + 801cbdc: e004 b.n 801cbe8 <_svfiprintf_r+0x10c> + 801cbde: 4252 negs r2, r2 + 801cbe0: f043 0302 orr.w r3, r3, #2 + 801cbe4: 9207 str r2, [sp, #28] + 801cbe6: 9304 str r3, [sp, #16] + 801cbe8: 7823 ldrb r3, [r4, #0] + 801cbea: 2b2e cmp r3, #46 @ 0x2e + 801cbec: d10a bne.n 801cc04 <_svfiprintf_r+0x128> + 801cbee: 7863 ldrb r3, [r4, #1] + 801cbf0: 2b2a cmp r3, #42 @ 0x2a + 801cbf2: d132 bne.n 801cc5a <_svfiprintf_r+0x17e> + 801cbf4: 9b03 ldr r3, [sp, #12] + 801cbf6: 1d1a adds r2, r3, #4 + 801cbf8: 681b ldr r3, [r3, #0] + 801cbfa: 9203 str r2, [sp, #12] + 801cbfc: ea43 73e3 orr.w r3, r3, r3, asr #31 + 801cc00: 3402 adds r4, #2 + 801cc02: 9305 str r3, [sp, #20] + 801cc04: f8df 90c0 ldr.w r9, [pc, #192] @ 801ccc8 <_svfiprintf_r+0x1ec> + 801cc08: 7821 ldrb r1, [r4, #0] + 801cc0a: 2203 movs r2, #3 + 801cc0c: 4648 mov r0, r9 + 801cc0e: f7e3 fab7 bl 8000180 + 801cc12: b138 cbz r0, 801cc24 <_svfiprintf_r+0x148> + 801cc14: 9b04 ldr r3, [sp, #16] + 801cc16: eba0 0009 sub.w r0, r0, r9 + 801cc1a: 2240 movs r2, #64 @ 0x40 + 801cc1c: 4082 lsls r2, r0 + 801cc1e: 4313 orrs r3, r2 + 801cc20: 3401 adds r4, #1 + 801cc22: 9304 str r3, [sp, #16] + 801cc24: f814 1b01 ldrb.w r1, [r4], #1 + 801cc28: 4824 ldr r0, [pc, #144] @ (801ccbc <_svfiprintf_r+0x1e0>) + 801cc2a: f88d 1028 strb.w r1, [sp, #40] @ 0x28 + 801cc2e: 2206 movs r2, #6 + 801cc30: f7e3 faa6 bl 8000180 + 801cc34: 2800 cmp r0, #0 + 801cc36: d035 beq.n 801cca4 <_svfiprintf_r+0x1c8> + 801cc38: 4821 ldr r0, [pc, #132] @ (801ccc0 <_svfiprintf_r+0x1e4>) + 801cc3a: bb18 cbnz r0, 801cc84 <_svfiprintf_r+0x1a8> + 801cc3c: 9b03 ldr r3, [sp, #12] + 801cc3e: 3307 adds r3, #7 + 801cc40: f023 0307 bic.w r3, r3, #7 + 801cc44: 3308 adds r3, #8 + 801cc46: 9303 str r3, [sp, #12] + 801cc48: 9b09 ldr r3, [sp, #36] @ 0x24 + 801cc4a: 4403 add r3, r0 + 801cc4c: 9309 str r3, [sp, #36] @ 0x24 + 801cc4e: e76c b.n 801cb2a <_svfiprintf_r+0x4e> + 801cc50: fb0c 3202 mla r2, ip, r2, r3 + 801cc54: 460c mov r4, r1 + 801cc56: 2001 movs r0, #1 + 801cc58: e7aa b.n 801cbb0 <_svfiprintf_r+0xd4> + 801cc5a: 2300 movs r3, #0 + 801cc5c: 3401 adds r4, #1 + 801cc5e: 9305 str r3, [sp, #20] + 801cc60: 4619 mov r1, r3 + 801cc62: f04f 0c0a mov.w ip, #10 + 801cc66: 4620 mov r0, r4 + 801cc68: f810 2b01 ldrb.w r2, [r0], #1 + 801cc6c: 3a30 subs r2, #48 @ 0x30 + 801cc6e: 2a09 cmp r2, #9 + 801cc70: d903 bls.n 801cc7a <_svfiprintf_r+0x19e> + 801cc72: 2b00 cmp r3, #0 + 801cc74: d0c6 beq.n 801cc04 <_svfiprintf_r+0x128> + 801cc76: 9105 str r1, [sp, #20] + 801cc78: e7c4 b.n 801cc04 <_svfiprintf_r+0x128> + 801cc7a: fb0c 2101 mla r1, ip, r1, r2 + 801cc7e: 4604 mov r4, r0 + 801cc80: 2301 movs r3, #1 + 801cc82: e7f0 b.n 801cc66 <_svfiprintf_r+0x18a> + 801cc84: ab03 add r3, sp, #12 + 801cc86: 9300 str r3, [sp, #0] + 801cc88: 462a mov r2, r5 + 801cc8a: 4b0e ldr r3, [pc, #56] @ (801ccc4 <_svfiprintf_r+0x1e8>) + 801cc8c: a904 add r1, sp, #16 + 801cc8e: 4630 mov r0, r6 + 801cc90: f7fc fc34 bl 80194fc <_printf_float> + 801cc94: 1c42 adds r2, r0, #1 + 801cc96: d1d7 bne.n 801cc48 <_svfiprintf_r+0x16c> + 801cc98: 89ab ldrh r3, [r5, #12] + 801cc9a: 065b lsls r3, r3, #25 + 801cc9c: f53f af32 bmi.w 801cb04 <_svfiprintf_r+0x28> + 801cca0: 9809 ldr r0, [sp, #36] @ 0x24 + 801cca2: e731 b.n 801cb08 <_svfiprintf_r+0x2c> + 801cca4: ab03 add r3, sp, #12 + 801cca6: 9300 str r3, [sp, #0] + 801cca8: 462a mov r2, r5 + 801ccaa: 4b06 ldr r3, [pc, #24] @ (801ccc4 <_svfiprintf_r+0x1e8>) + 801ccac: a904 add r1, sp, #16 + 801ccae: 4630 mov r0, r6 + 801ccb0: f7fc feba bl 8019a28 <_printf_i> + 801ccb4: e7ee b.n 801cc94 <_svfiprintf_r+0x1b8> + 801ccb6: bf00 nop + 801ccb8: 0801e731 .word 0x0801e731 + 801ccbc: 0801e73b .word 0x0801e73b + 801ccc0: 080194fd .word 0x080194fd + 801ccc4: 0801ca1d .word 0x0801ca1d + 801ccc8: 0801e737 .word 0x0801e737 -0801c8e0 : - 801c8e0: b510 push {r4, lr} - 801c8e2: b16a cbz r2, 801c900 - 801c8e4: 3901 subs r1, #1 - 801c8e6: 1884 adds r4, r0, r2 - 801c8e8: f810 2b01 ldrb.w r2, [r0], #1 - 801c8ec: f811 3f01 ldrb.w r3, [r1, #1]! - 801c8f0: 429a cmp r2, r3 - 801c8f2: d103 bne.n 801c8fc - 801c8f4: 42a0 cmp r0, r4 - 801c8f6: d001 beq.n 801c8fc - 801c8f8: 2a00 cmp r2, #0 - 801c8fa: d1f5 bne.n 801c8e8 - 801c8fc: 1ad0 subs r0, r2, r3 - 801c8fe: bd10 pop {r4, pc} - 801c900: 4610 mov r0, r2 - 801c902: e7fc b.n 801c8fe +0801cccc <__sfputc_r>: + 801cccc: 6893 ldr r3, [r2, #8] + 801ccce: 3b01 subs r3, #1 + 801ccd0: 2b00 cmp r3, #0 + 801ccd2: b410 push {r4} + 801ccd4: 6093 str r3, [r2, #8] + 801ccd6: da08 bge.n 801ccea <__sfputc_r+0x1e> + 801ccd8: 6994 ldr r4, [r2, #24] + 801ccda: 42a3 cmp r3, r4 + 801ccdc: db01 blt.n 801cce2 <__sfputc_r+0x16> + 801ccde: 290a cmp r1, #10 + 801cce0: d103 bne.n 801ccea <__sfputc_r+0x1e> + 801cce2: f85d 4b04 ldr.w r4, [sp], #4 + 801cce6: f000 b9d9 b.w 801d09c <__swbuf_r> + 801ccea: 6813 ldr r3, [r2, #0] + 801ccec: 1c58 adds r0, r3, #1 + 801ccee: 6010 str r0, [r2, #0] + 801ccf0: 7019 strb r1, [r3, #0] + 801ccf2: 4608 mov r0, r1 + 801ccf4: f85d 4b04 ldr.w r4, [sp], #4 + 801ccf8: 4770 bx lr -0801c904 <_fstat_r>: - 801c904: b538 push {r3, r4, r5, lr} - 801c906: 4d07 ldr r5, [pc, #28] @ (801c924 <_fstat_r+0x20>) - 801c908: 2300 movs r3, #0 - 801c90a: 4604 mov r4, r0 - 801c90c: 4608 mov r0, r1 - 801c90e: 4611 mov r1, r2 - 801c910: 602b str r3, [r5, #0] - 801c912: f7e9 fc8f bl 8006234 <_fstat> - 801c916: 1c43 adds r3, r0, #1 - 801c918: d102 bne.n 801c920 <_fstat_r+0x1c> - 801c91a: 682b ldr r3, [r5, #0] - 801c91c: b103 cbz r3, 801c920 <_fstat_r+0x1c> - 801c91e: 6023 str r3, [r4, #0] - 801c920: bd38 pop {r3, r4, r5, pc} - 801c922: bf00 nop - 801c924: 20013c38 .word 0x20013c38 - -0801c928 <_isatty_r>: - 801c928: b538 push {r3, r4, r5, lr} - 801c92a: 4d06 ldr r5, [pc, #24] @ (801c944 <_isatty_r+0x1c>) - 801c92c: 2300 movs r3, #0 - 801c92e: 4604 mov r4, r0 - 801c930: 4608 mov r0, r1 - 801c932: 602b str r3, [r5, #0] - 801c934: f7e9 fc8e bl 8006254 <_isatty> - 801c938: 1c43 adds r3, r0, #1 - 801c93a: d102 bne.n 801c942 <_isatty_r+0x1a> - 801c93c: 682b ldr r3, [r5, #0] - 801c93e: b103 cbz r3, 801c942 <_isatty_r+0x1a> - 801c940: 6023 str r3, [r4, #0] - 801c942: bd38 pop {r3, r4, r5, pc} - 801c944: 20013c38 .word 0x20013c38 - -0801c948 <_sbrk_r>: - 801c948: b538 push {r3, r4, r5, lr} - 801c94a: 4d06 ldr r5, [pc, #24] @ (801c964 <_sbrk_r+0x1c>) - 801c94c: 2300 movs r3, #0 - 801c94e: 4604 mov r4, r0 - 801c950: 4608 mov r0, r1 - 801c952: 602b str r3, [r5, #0] - 801c954: f7e9 fc96 bl 8006284 <_sbrk> - 801c958: 1c43 adds r3, r0, #1 - 801c95a: d102 bne.n 801c962 <_sbrk_r+0x1a> - 801c95c: 682b ldr r3, [r5, #0] - 801c95e: b103 cbz r3, 801c962 <_sbrk_r+0x1a> - 801c960: 6023 str r3, [r4, #0] - 801c962: bd38 pop {r3, r4, r5, pc} - 801c964: 20013c38 .word 0x20013c38 - -0801c968 : - 801c968: ed9f 0b01 vldr d0, [pc, #4] @ 801c970 - 801c96c: 4770 bx lr - 801c96e: bf00 nop - 801c970: 00000000 .word 0x00000000 - 801c974: 7ff80000 .word 0x7ff80000 - -0801c978 <__assert_func>: - 801c978: b51f push {r0, r1, r2, r3, r4, lr} - 801c97a: 4614 mov r4, r2 - 801c97c: 461a mov r2, r3 - 801c97e: 4b09 ldr r3, [pc, #36] @ (801c9a4 <__assert_func+0x2c>) - 801c980: 681b ldr r3, [r3, #0] - 801c982: 4605 mov r5, r0 - 801c984: 68d8 ldr r0, [r3, #12] - 801c986: b14c cbz r4, 801c99c <__assert_func+0x24> - 801c988: 4b07 ldr r3, [pc, #28] @ (801c9a8 <__assert_func+0x30>) - 801c98a: 9100 str r1, [sp, #0] - 801c98c: e9cd 3401 strd r3, r4, [sp, #4] - 801c990: 4906 ldr r1, [pc, #24] @ (801c9ac <__assert_func+0x34>) - 801c992: 462b mov r3, r5 - 801c994: f000 fbaa bl 801d0ec - 801c998: f000 fbba bl 801d110 - 801c99c: 4b04 ldr r3, [pc, #16] @ (801c9b0 <__assert_func+0x38>) - 801c99e: 461c mov r4, r3 - 801c9a0: e7f3 b.n 801c98a <__assert_func+0x12> - 801c9a2: bf00 nop - 801c9a4: 2000011c .word 0x2000011c - 801c9a8: 0801ddea .word 0x0801ddea - 801c9ac: 0801ddf7 .word 0x0801ddf7 - 801c9b0: 0801de25 .word 0x0801de25 - -0801c9b4 <_calloc_r>: - 801c9b4: b570 push {r4, r5, r6, lr} - 801c9b6: fba1 5402 umull r5, r4, r1, r2 - 801c9ba: b934 cbnz r4, 801c9ca <_calloc_r+0x16> - 801c9bc: 4629 mov r1, r5 - 801c9be: f7fe f817 bl 801a9f0 <_malloc_r> - 801c9c2: 4606 mov r6, r0 - 801c9c4: b928 cbnz r0, 801c9d2 <_calloc_r+0x1e> - 801c9c6: 4630 mov r0, r6 - 801c9c8: bd70 pop {r4, r5, r6, pc} - 801c9ca: 220c movs r2, #12 - 801c9cc: 6002 str r2, [r0, #0] - 801c9ce: 2600 movs r6, #0 - 801c9d0: e7f9 b.n 801c9c6 <_calloc_r+0x12> - 801c9d2: 462a mov r2, r5 - 801c9d4: 4621 mov r1, r4 - 801c9d6: f7fd f89d bl 8019b14 - 801c9da: e7f4 b.n 801c9c6 <_calloc_r+0x12> - -0801c9dc : - 801c9dc: 6903 ldr r3, [r0, #16] - 801c9de: ebb3 1f61 cmp.w r3, r1, asr #5 - 801c9e2: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 801c9e6: ea4f 1261 mov.w r2, r1, asr #5 - 801c9ea: f100 0414 add.w r4, r0, #20 - 801c9ee: dd45 ble.n 801ca7c - 801c9f0: f011 011f ands.w r1, r1, #31 - 801c9f4: eb04 0683 add.w r6, r4, r3, lsl #2 - 801c9f8: eb04 0582 add.w r5, r4, r2, lsl #2 - 801c9fc: d10c bne.n 801ca18 - 801c9fe: f100 0710 add.w r7, r0, #16 - 801ca02: 4629 mov r1, r5 - 801ca04: 42b1 cmp r1, r6 - 801ca06: d334 bcc.n 801ca72 - 801ca08: 1a9b subs r3, r3, r2 - 801ca0a: 009b lsls r3, r3, #2 - 801ca0c: 1eea subs r2, r5, #3 - 801ca0e: 4296 cmp r6, r2 - 801ca10: bf38 it cc - 801ca12: 2300 movcc r3, #0 - 801ca14: 4423 add r3, r4 - 801ca16: e015 b.n 801ca44 - 801ca18: f854 7022 ldr.w r7, [r4, r2, lsl #2] - 801ca1c: f1c1 0820 rsb r8, r1, #32 - 801ca20: 40cf lsrs r7, r1 - 801ca22: f105 0e04 add.w lr, r5, #4 - 801ca26: 46a1 mov r9, r4 - 801ca28: 4576 cmp r6, lr - 801ca2a: 46f4 mov ip, lr - 801ca2c: d815 bhi.n 801ca5a - 801ca2e: 1a9a subs r2, r3, r2 - 801ca30: 0092 lsls r2, r2, #2 - 801ca32: 3a04 subs r2, #4 - 801ca34: 3501 adds r5, #1 - 801ca36: 42ae cmp r6, r5 - 801ca38: bf38 it cc - 801ca3a: 2200 movcc r2, #0 - 801ca3c: 18a3 adds r3, r4, r2 - 801ca3e: 50a7 str r7, [r4, r2] - 801ca40: b107 cbz r7, 801ca44 - 801ca42: 3304 adds r3, #4 - 801ca44: 1b1a subs r2, r3, r4 - 801ca46: 42a3 cmp r3, r4 - 801ca48: ea4f 02a2 mov.w r2, r2, asr #2 - 801ca4c: bf08 it eq - 801ca4e: 2300 moveq r3, #0 - 801ca50: 6102 str r2, [r0, #16] - 801ca52: bf08 it eq - 801ca54: 6143 streq r3, [r0, #20] - 801ca56: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 801ca5a: f8dc c000 ldr.w ip, [ip] - 801ca5e: fa0c fc08 lsl.w ip, ip, r8 - 801ca62: ea4c 0707 orr.w r7, ip, r7 - 801ca66: f849 7b04 str.w r7, [r9], #4 - 801ca6a: f85e 7b04 ldr.w r7, [lr], #4 - 801ca6e: 40cf lsrs r7, r1 - 801ca70: e7da b.n 801ca28 - 801ca72: f851 cb04 ldr.w ip, [r1], #4 - 801ca76: f847 cf04 str.w ip, [r7, #4]! - 801ca7a: e7c3 b.n 801ca04 - 801ca7c: 4623 mov r3, r4 - 801ca7e: e7e1 b.n 801ca44 - -0801ca80 <__hexdig_fun>: - 801ca80: f1a0 0330 sub.w r3, r0, #48 @ 0x30 - 801ca84: 2b09 cmp r3, #9 - 801ca86: d802 bhi.n 801ca8e <__hexdig_fun+0xe> - 801ca88: 3820 subs r0, #32 - 801ca8a: b2c0 uxtb r0, r0 - 801ca8c: 4770 bx lr - 801ca8e: f1a0 0361 sub.w r3, r0, #97 @ 0x61 - 801ca92: 2b05 cmp r3, #5 - 801ca94: d801 bhi.n 801ca9a <__hexdig_fun+0x1a> - 801ca96: 3847 subs r0, #71 @ 0x47 - 801ca98: e7f7 b.n 801ca8a <__hexdig_fun+0xa> - 801ca9a: f1a0 0341 sub.w r3, r0, #65 @ 0x41 - 801ca9e: 2b05 cmp r3, #5 - 801caa0: d801 bhi.n 801caa6 <__hexdig_fun+0x26> - 801caa2: 3827 subs r0, #39 @ 0x27 - 801caa4: e7f1 b.n 801ca8a <__hexdig_fun+0xa> - 801caa6: 2000 movs r0, #0 - 801caa8: 4770 bx lr +0801ccfa <__sfputs_r>: + 801ccfa: b5f8 push {r3, r4, r5, r6, r7, lr} + 801ccfc: 4606 mov r6, r0 + 801ccfe: 460f mov r7, r1 + 801cd00: 4614 mov r4, r2 + 801cd02: 18d5 adds r5, r2, r3 + 801cd04: 42ac cmp r4, r5 + 801cd06: d101 bne.n 801cd0c <__sfputs_r+0x12> + 801cd08: 2000 movs r0, #0 + 801cd0a: e007 b.n 801cd1c <__sfputs_r+0x22> + 801cd0c: f814 1b01 ldrb.w r1, [r4], #1 + 801cd10: 463a mov r2, r7 + 801cd12: 4630 mov r0, r6 + 801cd14: f7ff ffda bl 801cccc <__sfputc_r> + 801cd18: 1c43 adds r3, r0, #1 + 801cd1a: d1f3 bne.n 801cd04 <__sfputs_r+0xa> + 801cd1c: bdf8 pop {r3, r4, r5, r6, r7, pc} ... -0801caac <__gethex>: - 801caac: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801cab0: b085 sub sp, #20 - 801cab2: 468a mov sl, r1 - 801cab4: 9302 str r3, [sp, #8] - 801cab6: 680b ldr r3, [r1, #0] - 801cab8: 9001 str r0, [sp, #4] - 801caba: 4690 mov r8, r2 - 801cabc: 1c9c adds r4, r3, #2 - 801cabe: 46a1 mov r9, r4 - 801cac0: f814 0b01 ldrb.w r0, [r4], #1 - 801cac4: 2830 cmp r0, #48 @ 0x30 - 801cac6: d0fa beq.n 801cabe <__gethex+0x12> - 801cac8: eba9 0303 sub.w r3, r9, r3 - 801cacc: f1a3 0b02 sub.w fp, r3, #2 - 801cad0: f7ff ffd6 bl 801ca80 <__hexdig_fun> - 801cad4: 4605 mov r5, r0 - 801cad6: 2800 cmp r0, #0 - 801cad8: d168 bne.n 801cbac <__gethex+0x100> - 801cada: 49a0 ldr r1, [pc, #640] @ (801cd5c <__gethex+0x2b0>) - 801cadc: 2201 movs r2, #1 - 801cade: 4648 mov r0, r9 - 801cae0: f7ff fefe bl 801c8e0 - 801cae4: 4607 mov r7, r0 - 801cae6: 2800 cmp r0, #0 - 801cae8: d167 bne.n 801cbba <__gethex+0x10e> - 801caea: f899 0001 ldrb.w r0, [r9, #1] - 801caee: 4626 mov r6, r4 - 801caf0: f7ff ffc6 bl 801ca80 <__hexdig_fun> - 801caf4: 2800 cmp r0, #0 - 801caf6: d062 beq.n 801cbbe <__gethex+0x112> - 801caf8: 4623 mov r3, r4 - 801cafa: 7818 ldrb r0, [r3, #0] - 801cafc: 2830 cmp r0, #48 @ 0x30 - 801cafe: 4699 mov r9, r3 - 801cb00: f103 0301 add.w r3, r3, #1 - 801cb04: d0f9 beq.n 801cafa <__gethex+0x4e> - 801cb06: f7ff ffbb bl 801ca80 <__hexdig_fun> - 801cb0a: fab0 f580 clz r5, r0 - 801cb0e: 096d lsrs r5, r5, #5 - 801cb10: f04f 0b01 mov.w fp, #1 - 801cb14: 464a mov r2, r9 - 801cb16: 4616 mov r6, r2 - 801cb18: 3201 adds r2, #1 - 801cb1a: 7830 ldrb r0, [r6, #0] - 801cb1c: f7ff ffb0 bl 801ca80 <__hexdig_fun> - 801cb20: 2800 cmp r0, #0 - 801cb22: d1f8 bne.n 801cb16 <__gethex+0x6a> - 801cb24: 498d ldr r1, [pc, #564] @ (801cd5c <__gethex+0x2b0>) - 801cb26: 2201 movs r2, #1 - 801cb28: 4630 mov r0, r6 - 801cb2a: f7ff fed9 bl 801c8e0 - 801cb2e: 2800 cmp r0, #0 - 801cb30: d13f bne.n 801cbb2 <__gethex+0x106> - 801cb32: b944 cbnz r4, 801cb46 <__gethex+0x9a> - 801cb34: 1c74 adds r4, r6, #1 - 801cb36: 4622 mov r2, r4 - 801cb38: 4616 mov r6, r2 - 801cb3a: 3201 adds r2, #1 - 801cb3c: 7830 ldrb r0, [r6, #0] - 801cb3e: f7ff ff9f bl 801ca80 <__hexdig_fun> - 801cb42: 2800 cmp r0, #0 - 801cb44: d1f8 bne.n 801cb38 <__gethex+0x8c> - 801cb46: 1ba4 subs r4, r4, r6 - 801cb48: 00a7 lsls r7, r4, #2 - 801cb4a: 7833 ldrb r3, [r6, #0] - 801cb4c: f003 03df and.w r3, r3, #223 @ 0xdf - 801cb50: 2b50 cmp r3, #80 @ 0x50 - 801cb52: d13e bne.n 801cbd2 <__gethex+0x126> - 801cb54: 7873 ldrb r3, [r6, #1] - 801cb56: 2b2b cmp r3, #43 @ 0x2b - 801cb58: d033 beq.n 801cbc2 <__gethex+0x116> - 801cb5a: 2b2d cmp r3, #45 @ 0x2d - 801cb5c: d034 beq.n 801cbc8 <__gethex+0x11c> - 801cb5e: 1c71 adds r1, r6, #1 - 801cb60: 2400 movs r4, #0 - 801cb62: 7808 ldrb r0, [r1, #0] - 801cb64: f7ff ff8c bl 801ca80 <__hexdig_fun> - 801cb68: 1e43 subs r3, r0, #1 - 801cb6a: b2db uxtb r3, r3 - 801cb6c: 2b18 cmp r3, #24 - 801cb6e: d830 bhi.n 801cbd2 <__gethex+0x126> - 801cb70: f1a0 0210 sub.w r2, r0, #16 - 801cb74: f811 0f01 ldrb.w r0, [r1, #1]! - 801cb78: f7ff ff82 bl 801ca80 <__hexdig_fun> - 801cb7c: f100 3cff add.w ip, r0, #4294967295 @ 0xffffffff - 801cb80: fa5f fc8c uxtb.w ip, ip - 801cb84: f1bc 0f18 cmp.w ip, #24 - 801cb88: f04f 030a mov.w r3, #10 - 801cb8c: d91e bls.n 801cbcc <__gethex+0x120> - 801cb8e: b104 cbz r4, 801cb92 <__gethex+0xe6> - 801cb90: 4252 negs r2, r2 - 801cb92: 4417 add r7, r2 - 801cb94: f8ca 1000 str.w r1, [sl] - 801cb98: b1ed cbz r5, 801cbd6 <__gethex+0x12a> - 801cb9a: f1bb 0f00 cmp.w fp, #0 - 801cb9e: bf0c ite eq - 801cba0: 2506 moveq r5, #6 - 801cba2: 2500 movne r5, #0 - 801cba4: 4628 mov r0, r5 - 801cba6: b005 add sp, #20 - 801cba8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 801cbac: 2500 movs r5, #0 - 801cbae: 462c mov r4, r5 - 801cbb0: e7b0 b.n 801cb14 <__gethex+0x68> - 801cbb2: 2c00 cmp r4, #0 - 801cbb4: d1c7 bne.n 801cb46 <__gethex+0x9a> - 801cbb6: 4627 mov r7, r4 - 801cbb8: e7c7 b.n 801cb4a <__gethex+0x9e> - 801cbba: 464e mov r6, r9 - 801cbbc: 462f mov r7, r5 - 801cbbe: 2501 movs r5, #1 - 801cbc0: e7c3 b.n 801cb4a <__gethex+0x9e> - 801cbc2: 2400 movs r4, #0 - 801cbc4: 1cb1 adds r1, r6, #2 - 801cbc6: e7cc b.n 801cb62 <__gethex+0xb6> - 801cbc8: 2401 movs r4, #1 - 801cbca: e7fb b.n 801cbc4 <__gethex+0x118> - 801cbcc: fb03 0002 mla r0, r3, r2, r0 - 801cbd0: e7ce b.n 801cb70 <__gethex+0xc4> - 801cbd2: 4631 mov r1, r6 - 801cbd4: e7de b.n 801cb94 <__gethex+0xe8> - 801cbd6: eba6 0309 sub.w r3, r6, r9 - 801cbda: 3b01 subs r3, #1 - 801cbdc: 4629 mov r1, r5 - 801cbde: 2b07 cmp r3, #7 - 801cbe0: dc0a bgt.n 801cbf8 <__gethex+0x14c> - 801cbe2: 9801 ldr r0, [sp, #4] - 801cbe4: f7fd ff90 bl 801ab08 <_Balloc> - 801cbe8: 4604 mov r4, r0 - 801cbea: b940 cbnz r0, 801cbfe <__gethex+0x152> - 801cbec: 4b5c ldr r3, [pc, #368] @ (801cd60 <__gethex+0x2b4>) - 801cbee: 4602 mov r2, r0 - 801cbf0: 21e4 movs r1, #228 @ 0xe4 - 801cbf2: 485c ldr r0, [pc, #368] @ (801cd64 <__gethex+0x2b8>) - 801cbf4: f7ff fec0 bl 801c978 <__assert_func> - 801cbf8: 3101 adds r1, #1 - 801cbfa: 105b asrs r3, r3, #1 - 801cbfc: e7ef b.n 801cbde <__gethex+0x132> - 801cbfe: f100 0a14 add.w sl, r0, #20 - 801cc02: 2300 movs r3, #0 - 801cc04: 4655 mov r5, sl - 801cc06: 469b mov fp, r3 - 801cc08: 45b1 cmp r9, r6 - 801cc0a: d337 bcc.n 801cc7c <__gethex+0x1d0> - 801cc0c: f845 bb04 str.w fp, [r5], #4 - 801cc10: eba5 050a sub.w r5, r5, sl - 801cc14: 10ad asrs r5, r5, #2 - 801cc16: 6125 str r5, [r4, #16] - 801cc18: 4658 mov r0, fp - 801cc1a: f7fe f865 bl 801ace8 <__hi0bits> - 801cc1e: 016d lsls r5, r5, #5 - 801cc20: f8d8 6000 ldr.w r6, [r8] - 801cc24: 1a2d subs r5, r5, r0 - 801cc26: 42b5 cmp r5, r6 - 801cc28: dd54 ble.n 801ccd4 <__gethex+0x228> - 801cc2a: 1bad subs r5, r5, r6 - 801cc2c: 4629 mov r1, r5 - 801cc2e: 4620 mov r0, r4 - 801cc30: f7fe fc01 bl 801b436 <__any_on> - 801cc34: 4681 mov r9, r0 - 801cc36: b178 cbz r0, 801cc58 <__gethex+0x1ac> - 801cc38: 1e6b subs r3, r5, #1 - 801cc3a: 1159 asrs r1, r3, #5 - 801cc3c: f003 021f and.w r2, r3, #31 - 801cc40: f85a 1021 ldr.w r1, [sl, r1, lsl #2] - 801cc44: f04f 0901 mov.w r9, #1 - 801cc48: fa09 f202 lsl.w r2, r9, r2 - 801cc4c: 420a tst r2, r1 - 801cc4e: d003 beq.n 801cc58 <__gethex+0x1ac> - 801cc50: 454b cmp r3, r9 - 801cc52: dc36 bgt.n 801ccc2 <__gethex+0x216> - 801cc54: f04f 0902 mov.w r9, #2 - 801cc58: 4629 mov r1, r5 - 801cc5a: 4620 mov r0, r4 - 801cc5c: f7ff febe bl 801c9dc - 801cc60: 442f add r7, r5 - 801cc62: f8d8 3008 ldr.w r3, [r8, #8] - 801cc66: 42bb cmp r3, r7 - 801cc68: da42 bge.n 801ccf0 <__gethex+0x244> - 801cc6a: 9801 ldr r0, [sp, #4] - 801cc6c: 4621 mov r1, r4 - 801cc6e: f7fd ff89 bl 801ab84 <_Bfree> - 801cc72: 9a0e ldr r2, [sp, #56] @ 0x38 - 801cc74: 2300 movs r3, #0 - 801cc76: 6013 str r3, [r2, #0] - 801cc78: 25a3 movs r5, #163 @ 0xa3 - 801cc7a: e793 b.n 801cba4 <__gethex+0xf8> - 801cc7c: f816 2d01 ldrb.w r2, [r6, #-1]! - 801cc80: 2a2e cmp r2, #46 @ 0x2e - 801cc82: d012 beq.n 801ccaa <__gethex+0x1fe> - 801cc84: 2b20 cmp r3, #32 - 801cc86: d104 bne.n 801cc92 <__gethex+0x1e6> - 801cc88: f845 bb04 str.w fp, [r5], #4 - 801cc8c: f04f 0b00 mov.w fp, #0 - 801cc90: 465b mov r3, fp - 801cc92: 7830 ldrb r0, [r6, #0] - 801cc94: 9303 str r3, [sp, #12] - 801cc96: f7ff fef3 bl 801ca80 <__hexdig_fun> - 801cc9a: 9b03 ldr r3, [sp, #12] - 801cc9c: f000 000f and.w r0, r0, #15 - 801cca0: 4098 lsls r0, r3 - 801cca2: ea4b 0b00 orr.w fp, fp, r0 - 801cca6: 3304 adds r3, #4 - 801cca8: e7ae b.n 801cc08 <__gethex+0x15c> - 801ccaa: 45b1 cmp r9, r6 - 801ccac: d8ea bhi.n 801cc84 <__gethex+0x1d8> - 801ccae: 492b ldr r1, [pc, #172] @ (801cd5c <__gethex+0x2b0>) - 801ccb0: 9303 str r3, [sp, #12] - 801ccb2: 2201 movs r2, #1 - 801ccb4: 4630 mov r0, r6 - 801ccb6: f7ff fe13 bl 801c8e0 - 801ccba: 9b03 ldr r3, [sp, #12] - 801ccbc: 2800 cmp r0, #0 - 801ccbe: d1e1 bne.n 801cc84 <__gethex+0x1d8> - 801ccc0: e7a2 b.n 801cc08 <__gethex+0x15c> - 801ccc2: 1ea9 subs r1, r5, #2 - 801ccc4: 4620 mov r0, r4 - 801ccc6: f7fe fbb6 bl 801b436 <__any_on> - 801ccca: 2800 cmp r0, #0 - 801cccc: d0c2 beq.n 801cc54 <__gethex+0x1a8> - 801ccce: f04f 0903 mov.w r9, #3 - 801ccd2: e7c1 b.n 801cc58 <__gethex+0x1ac> - 801ccd4: da09 bge.n 801ccea <__gethex+0x23e> - 801ccd6: 1b75 subs r5, r6, r5 - 801ccd8: 4621 mov r1, r4 - 801ccda: 9801 ldr r0, [sp, #4] - 801ccdc: 462a mov r2, r5 - 801ccde: f7fe f96b bl 801afb8 <__lshift> - 801cce2: 1b7f subs r7, r7, r5 - 801cce4: 4604 mov r4, r0 - 801cce6: f100 0a14 add.w sl, r0, #20 - 801ccea: f04f 0900 mov.w r9, #0 - 801ccee: e7b8 b.n 801cc62 <__gethex+0x1b6> - 801ccf0: f8d8 5004 ldr.w r5, [r8, #4] - 801ccf4: 42bd cmp r5, r7 - 801ccf6: dd6f ble.n 801cdd8 <__gethex+0x32c> - 801ccf8: 1bed subs r5, r5, r7 - 801ccfa: 42ae cmp r6, r5 - 801ccfc: dc34 bgt.n 801cd68 <__gethex+0x2bc> - 801ccfe: f8d8 300c ldr.w r3, [r8, #12] - 801cd02: 2b02 cmp r3, #2 - 801cd04: d022 beq.n 801cd4c <__gethex+0x2a0> - 801cd06: 2b03 cmp r3, #3 - 801cd08: d024 beq.n 801cd54 <__gethex+0x2a8> - 801cd0a: 2b01 cmp r3, #1 - 801cd0c: d115 bne.n 801cd3a <__gethex+0x28e> - 801cd0e: 42ae cmp r6, r5 - 801cd10: d113 bne.n 801cd3a <__gethex+0x28e> - 801cd12: 2e01 cmp r6, #1 - 801cd14: d10b bne.n 801cd2e <__gethex+0x282> - 801cd16: 9a02 ldr r2, [sp, #8] - 801cd18: f8d8 3004 ldr.w r3, [r8, #4] - 801cd1c: 6013 str r3, [r2, #0] - 801cd1e: 2301 movs r3, #1 - 801cd20: 6123 str r3, [r4, #16] - 801cd22: f8ca 3000 str.w r3, [sl] - 801cd26: 9b0e ldr r3, [sp, #56] @ 0x38 - 801cd28: 2562 movs r5, #98 @ 0x62 - 801cd2a: 601c str r4, [r3, #0] - 801cd2c: e73a b.n 801cba4 <__gethex+0xf8> - 801cd2e: 1e71 subs r1, r6, #1 - 801cd30: 4620 mov r0, r4 - 801cd32: f7fe fb80 bl 801b436 <__any_on> - 801cd36: 2800 cmp r0, #0 - 801cd38: d1ed bne.n 801cd16 <__gethex+0x26a> - 801cd3a: 9801 ldr r0, [sp, #4] - 801cd3c: 4621 mov r1, r4 - 801cd3e: f7fd ff21 bl 801ab84 <_Bfree> - 801cd42: 9a0e ldr r2, [sp, #56] @ 0x38 - 801cd44: 2300 movs r3, #0 - 801cd46: 6013 str r3, [r2, #0] - 801cd48: 2550 movs r5, #80 @ 0x50 - 801cd4a: e72b b.n 801cba4 <__gethex+0xf8> - 801cd4c: 9b0f ldr r3, [sp, #60] @ 0x3c - 801cd4e: 2b00 cmp r3, #0 - 801cd50: d1f3 bne.n 801cd3a <__gethex+0x28e> - 801cd52: e7e0 b.n 801cd16 <__gethex+0x26a> - 801cd54: 9b0f ldr r3, [sp, #60] @ 0x3c - 801cd56: 2b00 cmp r3, #0 - 801cd58: d1dd bne.n 801cd16 <__gethex+0x26a> - 801cd5a: e7ee b.n 801cd3a <__gethex+0x28e> - 801cd5c: 0801ddcf .word 0x0801ddcf - 801cd60: 0801dd65 .word 0x0801dd65 - 801cd64: 0801de26 .word 0x0801de26 - 801cd68: 1e6f subs r7, r5, #1 - 801cd6a: f1b9 0f00 cmp.w r9, #0 - 801cd6e: d130 bne.n 801cdd2 <__gethex+0x326> - 801cd70: b127 cbz r7, 801cd7c <__gethex+0x2d0> - 801cd72: 4639 mov r1, r7 - 801cd74: 4620 mov r0, r4 - 801cd76: f7fe fb5e bl 801b436 <__any_on> - 801cd7a: 4681 mov r9, r0 - 801cd7c: 117a asrs r2, r7, #5 - 801cd7e: 2301 movs r3, #1 - 801cd80: f85a 2022 ldr.w r2, [sl, r2, lsl #2] - 801cd84: f007 071f and.w r7, r7, #31 - 801cd88: 40bb lsls r3, r7 - 801cd8a: 4213 tst r3, r2 - 801cd8c: 4629 mov r1, r5 - 801cd8e: 4620 mov r0, r4 - 801cd90: bf18 it ne - 801cd92: f049 0902 orrne.w r9, r9, #2 - 801cd96: f7ff fe21 bl 801c9dc - 801cd9a: f8d8 7004 ldr.w r7, [r8, #4] - 801cd9e: 1b76 subs r6, r6, r5 - 801cda0: 2502 movs r5, #2 - 801cda2: f1b9 0f00 cmp.w r9, #0 - 801cda6: d047 beq.n 801ce38 <__gethex+0x38c> - 801cda8: f8d8 300c ldr.w r3, [r8, #12] - 801cdac: 2b02 cmp r3, #2 - 801cdae: d015 beq.n 801cddc <__gethex+0x330> - 801cdb0: 2b03 cmp r3, #3 - 801cdb2: d017 beq.n 801cde4 <__gethex+0x338> - 801cdb4: 2b01 cmp r3, #1 - 801cdb6: d109 bne.n 801cdcc <__gethex+0x320> - 801cdb8: f019 0f02 tst.w r9, #2 - 801cdbc: d006 beq.n 801cdcc <__gethex+0x320> - 801cdbe: f8da 3000 ldr.w r3, [sl] - 801cdc2: ea49 0903 orr.w r9, r9, r3 - 801cdc6: f019 0f01 tst.w r9, #1 - 801cdca: d10e bne.n 801cdea <__gethex+0x33e> - 801cdcc: f045 0510 orr.w r5, r5, #16 - 801cdd0: e032 b.n 801ce38 <__gethex+0x38c> - 801cdd2: f04f 0901 mov.w r9, #1 - 801cdd6: e7d1 b.n 801cd7c <__gethex+0x2d0> - 801cdd8: 2501 movs r5, #1 - 801cdda: e7e2 b.n 801cda2 <__gethex+0x2f6> - 801cddc: 9b0f ldr r3, [sp, #60] @ 0x3c - 801cdde: f1c3 0301 rsb r3, r3, #1 - 801cde2: 930f str r3, [sp, #60] @ 0x3c - 801cde4: 9b0f ldr r3, [sp, #60] @ 0x3c - 801cde6: 2b00 cmp r3, #0 - 801cde8: d0f0 beq.n 801cdcc <__gethex+0x320> - 801cdea: f8d4 b010 ldr.w fp, [r4, #16] - 801cdee: f104 0314 add.w r3, r4, #20 - 801cdf2: ea4f 0a8b mov.w sl, fp, lsl #2 - 801cdf6: eb03 018b add.w r1, r3, fp, lsl #2 - 801cdfa: f04f 0c00 mov.w ip, #0 - 801cdfe: 4618 mov r0, r3 - 801ce00: f853 2b04 ldr.w r2, [r3], #4 - 801ce04: f1b2 3fff cmp.w r2, #4294967295 @ 0xffffffff - 801ce08: d01b beq.n 801ce42 <__gethex+0x396> - 801ce0a: 3201 adds r2, #1 - 801ce0c: 6002 str r2, [r0, #0] - 801ce0e: 2d02 cmp r5, #2 - 801ce10: f104 0314 add.w r3, r4, #20 - 801ce14: d13c bne.n 801ce90 <__gethex+0x3e4> - 801ce16: f8d8 2000 ldr.w r2, [r8] - 801ce1a: 3a01 subs r2, #1 - 801ce1c: 42b2 cmp r2, r6 - 801ce1e: d109 bne.n 801ce34 <__gethex+0x388> - 801ce20: 1171 asrs r1, r6, #5 - 801ce22: 2201 movs r2, #1 - 801ce24: f853 3021 ldr.w r3, [r3, r1, lsl #2] - 801ce28: f006 061f and.w r6, r6, #31 - 801ce2c: fa02 f606 lsl.w r6, r2, r6 - 801ce30: 421e tst r6, r3 - 801ce32: d13a bne.n 801ceaa <__gethex+0x3fe> - 801ce34: f045 0520 orr.w r5, r5, #32 - 801ce38: 9b0e ldr r3, [sp, #56] @ 0x38 - 801ce3a: 601c str r4, [r3, #0] - 801ce3c: 9b02 ldr r3, [sp, #8] - 801ce3e: 601f str r7, [r3, #0] - 801ce40: e6b0 b.n 801cba4 <__gethex+0xf8> - 801ce42: 4299 cmp r1, r3 - 801ce44: f843 cc04 str.w ip, [r3, #-4] - 801ce48: d8d9 bhi.n 801cdfe <__gethex+0x352> - 801ce4a: 68a3 ldr r3, [r4, #8] - 801ce4c: 459b cmp fp, r3 - 801ce4e: db17 blt.n 801ce80 <__gethex+0x3d4> - 801ce50: 6861 ldr r1, [r4, #4] - 801ce52: 9801 ldr r0, [sp, #4] - 801ce54: 3101 adds r1, #1 - 801ce56: f7fd fe57 bl 801ab08 <_Balloc> - 801ce5a: 4681 mov r9, r0 - 801ce5c: b918 cbnz r0, 801ce66 <__gethex+0x3ba> - 801ce5e: 4b1a ldr r3, [pc, #104] @ (801cec8 <__gethex+0x41c>) - 801ce60: 4602 mov r2, r0 - 801ce62: 2184 movs r1, #132 @ 0x84 - 801ce64: e6c5 b.n 801cbf2 <__gethex+0x146> - 801ce66: 6922 ldr r2, [r4, #16] - 801ce68: 3202 adds r2, #2 - 801ce6a: f104 010c add.w r1, r4, #12 - 801ce6e: 0092 lsls r2, r2, #2 - 801ce70: 300c adds r0, #12 - 801ce72: f7fc fece bl 8019c12 - 801ce76: 4621 mov r1, r4 - 801ce78: 9801 ldr r0, [sp, #4] - 801ce7a: f7fd fe83 bl 801ab84 <_Bfree> - 801ce7e: 464c mov r4, r9 - 801ce80: 6923 ldr r3, [r4, #16] - 801ce82: 1c5a adds r2, r3, #1 - 801ce84: eb04 0383 add.w r3, r4, r3, lsl #2 - 801ce88: 6122 str r2, [r4, #16] - 801ce8a: 2201 movs r2, #1 - 801ce8c: 615a str r2, [r3, #20] - 801ce8e: e7be b.n 801ce0e <__gethex+0x362> - 801ce90: 6922 ldr r2, [r4, #16] - 801ce92: 455a cmp r2, fp - 801ce94: dd0b ble.n 801ceae <__gethex+0x402> - 801ce96: 2101 movs r1, #1 - 801ce98: 4620 mov r0, r4 - 801ce9a: f7ff fd9f bl 801c9dc - 801ce9e: f8d8 3008 ldr.w r3, [r8, #8] - 801cea2: 3701 adds r7, #1 - 801cea4: 42bb cmp r3, r7 - 801cea6: f6ff aee0 blt.w 801cc6a <__gethex+0x1be> - 801ceaa: 2501 movs r5, #1 - 801ceac: e7c2 b.n 801ce34 <__gethex+0x388> - 801ceae: f016 061f ands.w r6, r6, #31 - 801ceb2: d0fa beq.n 801ceaa <__gethex+0x3fe> - 801ceb4: 4453 add r3, sl - 801ceb6: f1c6 0620 rsb r6, r6, #32 - 801ceba: f853 0c04 ldr.w r0, [r3, #-4] - 801cebe: f7fd ff13 bl 801ace8 <__hi0bits> - 801cec2: 42b0 cmp r0, r6 - 801cec4: dbe7 blt.n 801ce96 <__gethex+0x3ea> - 801cec6: e7f0 b.n 801ceaa <__gethex+0x3fe> - 801cec8: 0801dd65 .word 0x0801dd65 +0801cd20 <_vfiprintf_r>: + 801cd20: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 801cd24: 460d mov r5, r1 + 801cd26: b09c sub sp, #112 @ 0x70 + 801cd28: 4614 mov r4, r2 + 801cd2a: 461f mov r7, r3 + 801cd2c: 4606 mov r6, r0 + 801cd2e: b118 cbz r0, 801cd38 <_vfiprintf_r+0x18> + 801cd30: 6a03 ldr r3, [r0, #32] + 801cd32: b90b cbnz r3, 801cd38 <_vfiprintf_r+0x18> + 801cd34: f7fd fa38 bl 801a1a8 <__sinit> + 801cd38: 6e6b ldr r3, [r5, #100] @ 0x64 + 801cd3a: 07d9 lsls r1, r3, #31 + 801cd3c: d405 bmi.n 801cd4a <_vfiprintf_r+0x2a> + 801cd3e: 89ab ldrh r3, [r5, #12] + 801cd40: 059a lsls r2, r3, #22 + 801cd42: d402 bmi.n 801cd4a <_vfiprintf_r+0x2a> + 801cd44: 6da8 ldr r0, [r5, #88] @ 0x58 + 801cd46: f7fd fbb8 bl 801a4ba <__retarget_lock_acquire_recursive> + 801cd4a: 89ab ldrh r3, [r5, #12] + 801cd4c: 071b lsls r3, r3, #28 + 801cd4e: d501 bpl.n 801cd54 <_vfiprintf_r+0x34> + 801cd50: 692b ldr r3, [r5, #16] + 801cd52: b99b cbnz r3, 801cd7c <_vfiprintf_r+0x5c> + 801cd54: 4629 mov r1, r5 + 801cd56: 4630 mov r0, r6 + 801cd58: f000 f9de bl 801d118 <__swsetup_r> + 801cd5c: b170 cbz r0, 801cd7c <_vfiprintf_r+0x5c> + 801cd5e: 6e6b ldr r3, [r5, #100] @ 0x64 + 801cd60: 07dc lsls r4, r3, #31 + 801cd62: d504 bpl.n 801cd6e <_vfiprintf_r+0x4e> + 801cd64: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801cd68: b01c add sp, #112 @ 0x70 + 801cd6a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 801cd6e: 89ab ldrh r3, [r5, #12] + 801cd70: 0598 lsls r0, r3, #22 + 801cd72: d4f7 bmi.n 801cd64 <_vfiprintf_r+0x44> + 801cd74: 6da8 ldr r0, [r5, #88] @ 0x58 + 801cd76: f7fd fba1 bl 801a4bc <__retarget_lock_release_recursive> + 801cd7a: e7f3 b.n 801cd64 <_vfiprintf_r+0x44> + 801cd7c: 2300 movs r3, #0 + 801cd7e: 9309 str r3, [sp, #36] @ 0x24 + 801cd80: 2320 movs r3, #32 + 801cd82: f88d 3029 strb.w r3, [sp, #41] @ 0x29 + 801cd86: 9703 str r7, [sp, #12] + 801cd88: 2330 movs r3, #48 @ 0x30 + 801cd8a: 4f6a ldr r7, [pc, #424] @ (801cf34 <_vfiprintf_r+0x214>) + 801cd8c: f88d 302a strb.w r3, [sp, #42] @ 0x2a + 801cd90: f04f 0801 mov.w r8, #1 + 801cd94: 4623 mov r3, r4 + 801cd96: 4699 mov r9, r3 + 801cd98: f813 2b01 ldrb.w r2, [r3], #1 + 801cd9c: b10a cbz r2, 801cda2 <_vfiprintf_r+0x82> + 801cd9e: 2a25 cmp r2, #37 @ 0x25 + 801cda0: d1f9 bne.n 801cd96 <_vfiprintf_r+0x76> + 801cda2: ebb9 0a04 subs.w sl, r9, r4 + 801cda6: d00b beq.n 801cdc0 <_vfiprintf_r+0xa0> + 801cda8: 4653 mov r3, sl + 801cdaa: 4622 mov r2, r4 + 801cdac: 4629 mov r1, r5 + 801cdae: 4630 mov r0, r6 + 801cdb0: f7ff ffa3 bl 801ccfa <__sfputs_r> + 801cdb4: 3001 adds r0, #1 + 801cdb6: f000 80a4 beq.w 801cf02 <_vfiprintf_r+0x1e2> + 801cdba: 9a09 ldr r2, [sp, #36] @ 0x24 + 801cdbc: 4452 add r2, sl + 801cdbe: 9209 str r2, [sp, #36] @ 0x24 + 801cdc0: f899 3000 ldrb.w r3, [r9] + 801cdc4: 2b00 cmp r3, #0 + 801cdc6: f000 809c beq.w 801cf02 <_vfiprintf_r+0x1e2> + 801cdca: 2300 movs r3, #0 + 801cdcc: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 801cdd0: e9cd 2305 strd r2, r3, [sp, #20] + 801cdd4: f109 0901 add.w r9, r9, #1 + 801cdd8: 9304 str r3, [sp, #16] + 801cdda: 9307 str r3, [sp, #28] + 801cddc: f88d 3053 strb.w r3, [sp, #83] @ 0x53 + 801cde0: 931a str r3, [sp, #104] @ 0x68 + 801cde2: 464c mov r4, r9 + 801cde4: 4853 ldr r0, [pc, #332] @ (801cf34 <_vfiprintf_r+0x214>) + 801cde6: f814 1b01 ldrb.w r1, [r4], #1 + 801cdea: 2205 movs r2, #5 + 801cdec: f7e3 f9c8 bl 8000180 + 801cdf0: 9b04 ldr r3, [sp, #16] + 801cdf2: b9d0 cbnz r0, 801ce2a <_vfiprintf_r+0x10a> + 801cdf4: 06d9 lsls r1, r3, #27 + 801cdf6: bf44 itt mi + 801cdf8: 2220 movmi r2, #32 + 801cdfa: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 + 801cdfe: 071a lsls r2, r3, #28 + 801ce00: bf44 itt mi + 801ce02: 222b movmi r2, #43 @ 0x2b + 801ce04: f88d 2053 strbmi.w r2, [sp, #83] @ 0x53 + 801ce08: f899 2000 ldrb.w r2, [r9] + 801ce0c: 2a2a cmp r2, #42 @ 0x2a + 801ce0e: d013 beq.n 801ce38 <_vfiprintf_r+0x118> + 801ce10: 9a07 ldr r2, [sp, #28] + 801ce12: 464c mov r4, r9 + 801ce14: 2000 movs r0, #0 + 801ce16: f04f 0c0a mov.w ip, #10 + 801ce1a: 4621 mov r1, r4 + 801ce1c: f811 3b01 ldrb.w r3, [r1], #1 + 801ce20: 3b30 subs r3, #48 @ 0x30 + 801ce22: 2b09 cmp r3, #9 + 801ce24: d949 bls.n 801ceba <_vfiprintf_r+0x19a> + 801ce26: b968 cbnz r0, 801ce44 <_vfiprintf_r+0x124> + 801ce28: e013 b.n 801ce52 <_vfiprintf_r+0x132> + 801ce2a: 1bc0 subs r0, r0, r7 + 801ce2c: fa08 f000 lsl.w r0, r8, r0 + 801ce30: 4318 orrs r0, r3 + 801ce32: 9004 str r0, [sp, #16] + 801ce34: 46a1 mov r9, r4 + 801ce36: e7d4 b.n 801cde2 <_vfiprintf_r+0xc2> + 801ce38: 9a03 ldr r2, [sp, #12] + 801ce3a: 1d11 adds r1, r2, #4 + 801ce3c: 6812 ldr r2, [r2, #0] + 801ce3e: 9103 str r1, [sp, #12] + 801ce40: 2a00 cmp r2, #0 + 801ce42: db01 blt.n 801ce48 <_vfiprintf_r+0x128> + 801ce44: 9207 str r2, [sp, #28] + 801ce46: e004 b.n 801ce52 <_vfiprintf_r+0x132> + 801ce48: 4252 negs r2, r2 + 801ce4a: f043 0302 orr.w r3, r3, #2 + 801ce4e: 9207 str r2, [sp, #28] + 801ce50: 9304 str r3, [sp, #16] + 801ce52: 7823 ldrb r3, [r4, #0] + 801ce54: 2b2e cmp r3, #46 @ 0x2e + 801ce56: d10a bne.n 801ce6e <_vfiprintf_r+0x14e> + 801ce58: 7863 ldrb r3, [r4, #1] + 801ce5a: 2b2a cmp r3, #42 @ 0x2a + 801ce5c: d132 bne.n 801cec4 <_vfiprintf_r+0x1a4> + 801ce5e: 9b03 ldr r3, [sp, #12] + 801ce60: 1d1a adds r2, r3, #4 + 801ce62: 681b ldr r3, [r3, #0] + 801ce64: 9203 str r2, [sp, #12] + 801ce66: ea43 73e3 orr.w r3, r3, r3, asr #31 + 801ce6a: 3402 adds r4, #2 + 801ce6c: 9305 str r3, [sp, #20] + 801ce6e: f8df 90d4 ldr.w r9, [pc, #212] @ 801cf44 <_vfiprintf_r+0x224> + 801ce72: 7821 ldrb r1, [r4, #0] + 801ce74: 2203 movs r2, #3 + 801ce76: 4648 mov r0, r9 + 801ce78: f7e3 f982 bl 8000180 + 801ce7c: b138 cbz r0, 801ce8e <_vfiprintf_r+0x16e> + 801ce7e: 9b04 ldr r3, [sp, #16] + 801ce80: eba0 0009 sub.w r0, r0, r9 + 801ce84: 2240 movs r2, #64 @ 0x40 + 801ce86: 4082 lsls r2, r0 + 801ce88: 4313 orrs r3, r2 + 801ce8a: 3401 adds r4, #1 + 801ce8c: 9304 str r3, [sp, #16] + 801ce8e: f814 1b01 ldrb.w r1, [r4], #1 + 801ce92: 4829 ldr r0, [pc, #164] @ (801cf38 <_vfiprintf_r+0x218>) + 801ce94: f88d 1028 strb.w r1, [sp, #40] @ 0x28 + 801ce98: 2206 movs r2, #6 + 801ce9a: f7e3 f971 bl 8000180 + 801ce9e: 2800 cmp r0, #0 + 801cea0: d03e beq.n 801cf20 <_vfiprintf_r+0x200> + 801cea2: 4826 ldr r0, [pc, #152] @ (801cf3c <_vfiprintf_r+0x21c>) + 801cea4: bb18 cbnz r0, 801ceee <_vfiprintf_r+0x1ce> + 801cea6: 9b03 ldr r3, [sp, #12] + 801cea8: 3307 adds r3, #7 + 801ceaa: f023 0307 bic.w r3, r3, #7 + 801ceae: 3308 adds r3, #8 + 801ceb0: 9303 str r3, [sp, #12] + 801ceb2: 9b09 ldr r3, [sp, #36] @ 0x24 + 801ceb4: 4403 add r3, r0 + 801ceb6: 9309 str r3, [sp, #36] @ 0x24 + 801ceb8: e76c b.n 801cd94 <_vfiprintf_r+0x74> + 801ceba: fb0c 3202 mla r2, ip, r2, r3 + 801cebe: 460c mov r4, r1 + 801cec0: 2001 movs r0, #1 + 801cec2: e7aa b.n 801ce1a <_vfiprintf_r+0xfa> + 801cec4: 2300 movs r3, #0 + 801cec6: 3401 adds r4, #1 + 801cec8: 9305 str r3, [sp, #20] + 801ceca: 4619 mov r1, r3 + 801cecc: f04f 0c0a mov.w ip, #10 + 801ced0: 4620 mov r0, r4 + 801ced2: f810 2b01 ldrb.w r2, [r0], #1 + 801ced6: 3a30 subs r2, #48 @ 0x30 + 801ced8: 2a09 cmp r2, #9 + 801ceda: d903 bls.n 801cee4 <_vfiprintf_r+0x1c4> + 801cedc: 2b00 cmp r3, #0 + 801cede: d0c6 beq.n 801ce6e <_vfiprintf_r+0x14e> + 801cee0: 9105 str r1, [sp, #20] + 801cee2: e7c4 b.n 801ce6e <_vfiprintf_r+0x14e> + 801cee4: fb0c 2101 mla r1, ip, r1, r2 + 801cee8: 4604 mov r4, r0 + 801ceea: 2301 movs r3, #1 + 801ceec: e7f0 b.n 801ced0 <_vfiprintf_r+0x1b0> + 801ceee: ab03 add r3, sp, #12 + 801cef0: 9300 str r3, [sp, #0] + 801cef2: 462a mov r2, r5 + 801cef4: 4b12 ldr r3, [pc, #72] @ (801cf40 <_vfiprintf_r+0x220>) + 801cef6: a904 add r1, sp, #16 + 801cef8: 4630 mov r0, r6 + 801cefa: f7fc faff bl 80194fc <_printf_float> + 801cefe: 1c43 adds r3, r0, #1 + 801cf00: d1d7 bne.n 801ceb2 <_vfiprintf_r+0x192> + 801cf02: 6e6b ldr r3, [r5, #100] @ 0x64 + 801cf04: 07d9 lsls r1, r3, #31 + 801cf06: d405 bmi.n 801cf14 <_vfiprintf_r+0x1f4> + 801cf08: 89ab ldrh r3, [r5, #12] + 801cf0a: 059a lsls r2, r3, #22 + 801cf0c: d402 bmi.n 801cf14 <_vfiprintf_r+0x1f4> + 801cf0e: 6da8 ldr r0, [r5, #88] @ 0x58 + 801cf10: f7fd fad4 bl 801a4bc <__retarget_lock_release_recursive> + 801cf14: 89ab ldrh r3, [r5, #12] + 801cf16: 065b lsls r3, r3, #25 + 801cf18: f53f af24 bmi.w 801cd64 <_vfiprintf_r+0x44> + 801cf1c: 9809 ldr r0, [sp, #36] @ 0x24 + 801cf1e: e723 b.n 801cd68 <_vfiprintf_r+0x48> + 801cf20: ab03 add r3, sp, #12 + 801cf22: 9300 str r3, [sp, #0] + 801cf24: 462a mov r2, r5 + 801cf26: 4b06 ldr r3, [pc, #24] @ (801cf40 <_vfiprintf_r+0x220>) + 801cf28: a904 add r1, sp, #16 + 801cf2a: 4630 mov r0, r6 + 801cf2c: f7fc fd7c bl 8019a28 <_printf_i> + 801cf30: e7e5 b.n 801cefe <_vfiprintf_r+0x1de> + 801cf32: bf00 nop + 801cf34: 0801e731 .word 0x0801e731 + 801cf38: 0801e73b .word 0x0801e73b + 801cf3c: 080194fd .word 0x080194fd + 801cf40: 0801ccfb .word 0x0801ccfb + 801cf44: 0801e737 .word 0x0801e737 -0801cecc : - 801cecc: f1c2 0208 rsb r2, r2, #8 - 801ced0: 0092 lsls r2, r2, #2 - 801ced2: b570 push {r4, r5, r6, lr} - 801ced4: f1c2 0620 rsb r6, r2, #32 - 801ced8: 6843 ldr r3, [r0, #4] - 801ceda: 6804 ldr r4, [r0, #0] - 801cedc: fa03 f506 lsl.w r5, r3, r6 - 801cee0: 432c orrs r4, r5 - 801cee2: 40d3 lsrs r3, r2 - 801cee4: 6004 str r4, [r0, #0] - 801cee6: f840 3f04 str.w r3, [r0, #4]! - 801ceea: 4288 cmp r0, r1 - 801ceec: d3f4 bcc.n 801ced8 - 801ceee: bd70 pop {r4, r5, r6, pc} +0801cf48 <__sflush_r>: + 801cf48: f9b1 200c ldrsh.w r2, [r1, #12] + 801cf4c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 801cf50: 0716 lsls r6, r2, #28 + 801cf52: 4605 mov r5, r0 + 801cf54: 460c mov r4, r1 + 801cf56: d451 bmi.n 801cffc <__sflush_r+0xb4> + 801cf58: 684b ldr r3, [r1, #4] + 801cf5a: 2b00 cmp r3, #0 + 801cf5c: dc02 bgt.n 801cf64 <__sflush_r+0x1c> + 801cf5e: 6c0b ldr r3, [r1, #64] @ 0x40 + 801cf60: 2b00 cmp r3, #0 + 801cf62: dd49 ble.n 801cff8 <__sflush_r+0xb0> + 801cf64: 6ae6 ldr r6, [r4, #44] @ 0x2c + 801cf66: 2e00 cmp r6, #0 + 801cf68: d046 beq.n 801cff8 <__sflush_r+0xb0> + 801cf6a: 2300 movs r3, #0 + 801cf6c: f412 5280 ands.w r2, r2, #4096 @ 0x1000 + 801cf70: 682f ldr r7, [r5, #0] + 801cf72: 602b str r3, [r5, #0] + 801cf74: d031 beq.n 801cfda <__sflush_r+0x92> + 801cf76: 6d62 ldr r2, [r4, #84] @ 0x54 + 801cf78: 89a3 ldrh r3, [r4, #12] + 801cf7a: 0759 lsls r1, r3, #29 + 801cf7c: d505 bpl.n 801cf8a <__sflush_r+0x42> + 801cf7e: 6863 ldr r3, [r4, #4] + 801cf80: 1ad2 subs r2, r2, r3 + 801cf82: 6b63 ldr r3, [r4, #52] @ 0x34 + 801cf84: b10b cbz r3, 801cf8a <__sflush_r+0x42> + 801cf86: 6c23 ldr r3, [r4, #64] @ 0x40 + 801cf88: 1ad2 subs r2, r2, r3 + 801cf8a: 2300 movs r3, #0 + 801cf8c: 6ae6 ldr r6, [r4, #44] @ 0x2c + 801cf8e: 6a21 ldr r1, [r4, #32] + 801cf90: 4628 mov r0, r5 + 801cf92: 47b0 blx r6 + 801cf94: 1c42 adds r2, r0, #1 + 801cf96: f9b4 300c ldrsh.w r3, [r4, #12] + 801cf9a: d106 bne.n 801cfaa <__sflush_r+0x62> + 801cf9c: 6829 ldr r1, [r5, #0] + 801cf9e: 291d cmp r1, #29 + 801cfa0: d846 bhi.n 801d030 <__sflush_r+0xe8> + 801cfa2: 4a29 ldr r2, [pc, #164] @ (801d048 <__sflush_r+0x100>) + 801cfa4: 40ca lsrs r2, r1 + 801cfa6: 07d6 lsls r6, r2, #31 + 801cfa8: d542 bpl.n 801d030 <__sflush_r+0xe8> + 801cfaa: 2200 movs r2, #0 + 801cfac: 6062 str r2, [r4, #4] + 801cfae: 04d9 lsls r1, r3, #19 + 801cfb0: 6922 ldr r2, [r4, #16] + 801cfb2: 6022 str r2, [r4, #0] + 801cfb4: d504 bpl.n 801cfc0 <__sflush_r+0x78> + 801cfb6: 1c42 adds r2, r0, #1 + 801cfb8: d101 bne.n 801cfbe <__sflush_r+0x76> + 801cfba: 682b ldr r3, [r5, #0] + 801cfbc: b903 cbnz r3, 801cfc0 <__sflush_r+0x78> + 801cfbe: 6560 str r0, [r4, #84] @ 0x54 + 801cfc0: 6b61 ldr r1, [r4, #52] @ 0x34 + 801cfc2: 602f str r7, [r5, #0] + 801cfc4: b1c1 cbz r1, 801cff8 <__sflush_r+0xb0> + 801cfc6: f104 0344 add.w r3, r4, #68 @ 0x44 + 801cfca: 4299 cmp r1, r3 + 801cfcc: d002 beq.n 801cfd4 <__sflush_r+0x8c> + 801cfce: 4628 mov r0, r5 + 801cfd0: f7fe f8ee bl 801b1b0 <_free_r> + 801cfd4: 2300 movs r3, #0 + 801cfd6: 6363 str r3, [r4, #52] @ 0x34 + 801cfd8: e00e b.n 801cff8 <__sflush_r+0xb0> + 801cfda: 6a21 ldr r1, [r4, #32] + 801cfdc: 2301 movs r3, #1 + 801cfde: 4628 mov r0, r5 + 801cfe0: 47b0 blx r6 + 801cfe2: 4602 mov r2, r0 + 801cfe4: 1c50 adds r0, r2, #1 + 801cfe6: d1c7 bne.n 801cf78 <__sflush_r+0x30> + 801cfe8: 682b ldr r3, [r5, #0] + 801cfea: 2b00 cmp r3, #0 + 801cfec: d0c4 beq.n 801cf78 <__sflush_r+0x30> + 801cfee: 2b1d cmp r3, #29 + 801cff0: d001 beq.n 801cff6 <__sflush_r+0xae> + 801cff2: 2b16 cmp r3, #22 + 801cff4: d11a bne.n 801d02c <__sflush_r+0xe4> + 801cff6: 602f str r7, [r5, #0] + 801cff8: 2000 movs r0, #0 + 801cffa: e01e b.n 801d03a <__sflush_r+0xf2> + 801cffc: 690f ldr r7, [r1, #16] + 801cffe: 2f00 cmp r7, #0 + 801d000: d0fa beq.n 801cff8 <__sflush_r+0xb0> + 801d002: 0793 lsls r3, r2, #30 + 801d004: 680e ldr r6, [r1, #0] + 801d006: bf08 it eq + 801d008: 694b ldreq r3, [r1, #20] + 801d00a: 600f str r7, [r1, #0] + 801d00c: bf18 it ne + 801d00e: 2300 movne r3, #0 + 801d010: eba6 0807 sub.w r8, r6, r7 + 801d014: 608b str r3, [r1, #8] + 801d016: f1b8 0f00 cmp.w r8, #0 + 801d01a: dded ble.n 801cff8 <__sflush_r+0xb0> + 801d01c: 6a21 ldr r1, [r4, #32] + 801d01e: 6aa6 ldr r6, [r4, #40] @ 0x28 + 801d020: 4643 mov r3, r8 + 801d022: 463a mov r2, r7 + 801d024: 4628 mov r0, r5 + 801d026: 47b0 blx r6 + 801d028: 2800 cmp r0, #0 + 801d02a: dc08 bgt.n 801d03e <__sflush_r+0xf6> + 801d02c: f9b4 300c ldrsh.w r3, [r4, #12] + 801d030: f043 0340 orr.w r3, r3, #64 @ 0x40 + 801d034: 81a3 strh r3, [r4, #12] + 801d036: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801d03a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 801d03e: 4407 add r7, r0 + 801d040: eba8 0800 sub.w r8, r8, r0 + 801d044: e7e7 b.n 801d016 <__sflush_r+0xce> + 801d046: bf00 nop + 801d048: 20400001 .word 0x20400001 -0801cef0 <__match>: - 801cef0: b530 push {r4, r5, lr} - 801cef2: 6803 ldr r3, [r0, #0] - 801cef4: 3301 adds r3, #1 - 801cef6: f811 4b01 ldrb.w r4, [r1], #1 - 801cefa: b914 cbnz r4, 801cf02 <__match+0x12> - 801cefc: 6003 str r3, [r0, #0] - 801cefe: 2001 movs r0, #1 - 801cf00: bd30 pop {r4, r5, pc} - 801cf02: f813 2b01 ldrb.w r2, [r3], #1 - 801cf06: f1a2 0541 sub.w r5, r2, #65 @ 0x41 - 801cf0a: 2d19 cmp r5, #25 - 801cf0c: bf98 it ls - 801cf0e: 3220 addls r2, #32 - 801cf10: 42a2 cmp r2, r4 - 801cf12: d0f0 beq.n 801cef6 <__match+0x6> - 801cf14: 2000 movs r0, #0 - 801cf16: e7f3 b.n 801cf00 <__match+0x10> +0801d04c <_fflush_r>: + 801d04c: b538 push {r3, r4, r5, lr} + 801d04e: 690b ldr r3, [r1, #16] + 801d050: 4605 mov r5, r0 + 801d052: 460c mov r4, r1 + 801d054: b913 cbnz r3, 801d05c <_fflush_r+0x10> + 801d056: 2500 movs r5, #0 + 801d058: 4628 mov r0, r5 + 801d05a: bd38 pop {r3, r4, r5, pc} + 801d05c: b118 cbz r0, 801d066 <_fflush_r+0x1a> + 801d05e: 6a03 ldr r3, [r0, #32] + 801d060: b90b cbnz r3, 801d066 <_fflush_r+0x1a> + 801d062: f7fd f8a1 bl 801a1a8 <__sinit> + 801d066: f9b4 300c ldrsh.w r3, [r4, #12] + 801d06a: 2b00 cmp r3, #0 + 801d06c: d0f3 beq.n 801d056 <_fflush_r+0xa> + 801d06e: 6e62 ldr r2, [r4, #100] @ 0x64 + 801d070: 07d0 lsls r0, r2, #31 + 801d072: d404 bmi.n 801d07e <_fflush_r+0x32> + 801d074: 0599 lsls r1, r3, #22 + 801d076: d402 bmi.n 801d07e <_fflush_r+0x32> + 801d078: 6da0 ldr r0, [r4, #88] @ 0x58 + 801d07a: f7fd fa1e bl 801a4ba <__retarget_lock_acquire_recursive> + 801d07e: 4628 mov r0, r5 + 801d080: 4621 mov r1, r4 + 801d082: f7ff ff61 bl 801cf48 <__sflush_r> + 801d086: 6e63 ldr r3, [r4, #100] @ 0x64 + 801d088: 07da lsls r2, r3, #31 + 801d08a: 4605 mov r5, r0 + 801d08c: d4e4 bmi.n 801d058 <_fflush_r+0xc> + 801d08e: 89a3 ldrh r3, [r4, #12] + 801d090: 059b lsls r3, r3, #22 + 801d092: d4e1 bmi.n 801d058 <_fflush_r+0xc> + 801d094: 6da0 ldr r0, [r4, #88] @ 0x58 + 801d096: f7fd fa11 bl 801a4bc <__retarget_lock_release_recursive> + 801d09a: e7dd b.n 801d058 <_fflush_r+0xc> -0801cf18 <__hexnan>: - 801cf18: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801cf1c: 680b ldr r3, [r1, #0] - 801cf1e: 6801 ldr r1, [r0, #0] - 801cf20: 115e asrs r6, r3, #5 - 801cf22: eb02 0686 add.w r6, r2, r6, lsl #2 - 801cf26: f013 031f ands.w r3, r3, #31 - 801cf2a: b087 sub sp, #28 - 801cf2c: bf18 it ne - 801cf2e: 3604 addne r6, #4 - 801cf30: 2500 movs r5, #0 - 801cf32: 1f37 subs r7, r6, #4 - 801cf34: 4682 mov sl, r0 - 801cf36: 4690 mov r8, r2 - 801cf38: 9301 str r3, [sp, #4] - 801cf3a: f846 5c04 str.w r5, [r6, #-4] - 801cf3e: 46b9 mov r9, r7 - 801cf40: 463c mov r4, r7 - 801cf42: 9502 str r5, [sp, #8] - 801cf44: 46ab mov fp, r5 - 801cf46: 784a ldrb r2, [r1, #1] - 801cf48: 1c4b adds r3, r1, #1 - 801cf4a: 9303 str r3, [sp, #12] - 801cf4c: b342 cbz r2, 801cfa0 <__hexnan+0x88> - 801cf4e: 4610 mov r0, r2 - 801cf50: 9105 str r1, [sp, #20] - 801cf52: 9204 str r2, [sp, #16] - 801cf54: f7ff fd94 bl 801ca80 <__hexdig_fun> - 801cf58: 2800 cmp r0, #0 - 801cf5a: d153 bne.n 801d004 <__hexnan+0xec> - 801cf5c: 9a04 ldr r2, [sp, #16] - 801cf5e: 9905 ldr r1, [sp, #20] - 801cf60: 2a20 cmp r2, #32 - 801cf62: d818 bhi.n 801cf96 <__hexnan+0x7e> - 801cf64: 9b02 ldr r3, [sp, #8] - 801cf66: 459b cmp fp, r3 - 801cf68: dd13 ble.n 801cf92 <__hexnan+0x7a> - 801cf6a: 454c cmp r4, r9 - 801cf6c: d206 bcs.n 801cf7c <__hexnan+0x64> - 801cf6e: 2d07 cmp r5, #7 - 801cf70: dc04 bgt.n 801cf7c <__hexnan+0x64> - 801cf72: 462a mov r2, r5 - 801cf74: 4649 mov r1, r9 - 801cf76: 4620 mov r0, r4 - 801cf78: f7ff ffa8 bl 801cecc - 801cf7c: 4544 cmp r4, r8 - 801cf7e: d954 bls.n 801d02a <__hexnan+0x112> - 801cf80: 2300 movs r3, #0 - 801cf82: f1a4 0904 sub.w r9, r4, #4 - 801cf86: f844 3c04 str.w r3, [r4, #-4] - 801cf8a: f8cd b008 str.w fp, [sp, #8] - 801cf8e: 464c mov r4, r9 - 801cf90: 461d mov r5, r3 - 801cf92: 9903 ldr r1, [sp, #12] - 801cf94: e7d7 b.n 801cf46 <__hexnan+0x2e> - 801cf96: 2a29 cmp r2, #41 @ 0x29 - 801cf98: d159 bne.n 801d04e <__hexnan+0x136> - 801cf9a: 3102 adds r1, #2 - 801cf9c: f8ca 1000 str.w r1, [sl] - 801cfa0: f1bb 0f00 cmp.w fp, #0 - 801cfa4: d053 beq.n 801d04e <__hexnan+0x136> - 801cfa6: 454c cmp r4, r9 - 801cfa8: d206 bcs.n 801cfb8 <__hexnan+0xa0> - 801cfaa: 2d07 cmp r5, #7 - 801cfac: dc04 bgt.n 801cfb8 <__hexnan+0xa0> - 801cfae: 462a mov r2, r5 - 801cfb0: 4649 mov r1, r9 - 801cfb2: 4620 mov r0, r4 - 801cfb4: f7ff ff8a bl 801cecc - 801cfb8: 4544 cmp r4, r8 - 801cfba: d938 bls.n 801d02e <__hexnan+0x116> - 801cfbc: f1a8 0204 sub.w r2, r8, #4 - 801cfc0: 4623 mov r3, r4 - 801cfc2: f853 1b04 ldr.w r1, [r3], #4 - 801cfc6: f842 1f04 str.w r1, [r2, #4]! - 801cfca: 429f cmp r7, r3 - 801cfcc: d2f9 bcs.n 801cfc2 <__hexnan+0xaa> - 801cfce: 1b3b subs r3, r7, r4 - 801cfd0: f023 0303 bic.w r3, r3, #3 - 801cfd4: 3401 adds r4, #1 - 801cfd6: 3e03 subs r6, #3 - 801cfd8: 42b4 cmp r4, r6 - 801cfda: bf88 it hi - 801cfdc: 2300 movhi r3, #0 - 801cfde: f108 0204 add.w r2, r8, #4 - 801cfe2: 4413 add r3, r2 - 801cfe4: 2100 movs r1, #0 - 801cfe6: 461a mov r2, r3 - 801cfe8: 3304 adds r3, #4 - 801cfea: 429f cmp r7, r3 - 801cfec: 6011 str r1, [r2, #0] - 801cfee: d2fa bcs.n 801cfe6 <__hexnan+0xce> - 801cff0: 683b ldr r3, [r7, #0] - 801cff2: b91b cbnz r3, 801cffc <__hexnan+0xe4> - 801cff4: 4547 cmp r7, r8 - 801cff6: d128 bne.n 801d04a <__hexnan+0x132> - 801cff8: 2301 movs r3, #1 - 801cffa: 603b str r3, [r7, #0] - 801cffc: 2005 movs r0, #5 - 801cffe: b007 add sp, #28 - 801d000: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 801d004: 3501 adds r5, #1 - 801d006: 2d08 cmp r5, #8 - 801d008: f10b 0b01 add.w fp, fp, #1 - 801d00c: dd06 ble.n 801d01c <__hexnan+0x104> - 801d00e: 4544 cmp r4, r8 - 801d010: d9bf bls.n 801cf92 <__hexnan+0x7a> - 801d012: 2300 movs r3, #0 - 801d014: f844 3c04 str.w r3, [r4, #-4] - 801d018: 2501 movs r5, #1 - 801d01a: 3c04 subs r4, #4 - 801d01c: 6822 ldr r2, [r4, #0] - 801d01e: f000 000f and.w r0, r0, #15 - 801d022: ea40 1002 orr.w r0, r0, r2, lsl #4 - 801d026: 6020 str r0, [r4, #0] - 801d028: e7b3 b.n 801cf92 <__hexnan+0x7a> - 801d02a: 2508 movs r5, #8 - 801d02c: e7b1 b.n 801cf92 <__hexnan+0x7a> - 801d02e: 9b01 ldr r3, [sp, #4] - 801d030: 2b00 cmp r3, #0 - 801d032: d0dd beq.n 801cff0 <__hexnan+0xd8> - 801d034: f1c3 0320 rsb r3, r3, #32 - 801d038: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff - 801d03c: 40da lsrs r2, r3 - 801d03e: f856 3c04 ldr.w r3, [r6, #-4] - 801d042: 4013 ands r3, r2 - 801d044: f846 3c04 str.w r3, [r6, #-4] - 801d048: e7d2 b.n 801cff0 <__hexnan+0xd8> - 801d04a: 3f04 subs r7, #4 - 801d04c: e7d0 b.n 801cff0 <__hexnan+0xd8> - 801d04e: 2004 movs r0, #4 - 801d050: e7d5 b.n 801cffe <__hexnan+0xe6> - -0801d052 <__ascii_mbtowc>: - 801d052: b082 sub sp, #8 - 801d054: b901 cbnz r1, 801d058 <__ascii_mbtowc+0x6> - 801d056: a901 add r1, sp, #4 - 801d058: b142 cbz r2, 801d06c <__ascii_mbtowc+0x1a> - 801d05a: b14b cbz r3, 801d070 <__ascii_mbtowc+0x1e> - 801d05c: 7813 ldrb r3, [r2, #0] - 801d05e: 600b str r3, [r1, #0] - 801d060: 7812 ldrb r2, [r2, #0] - 801d062: 1e10 subs r0, r2, #0 - 801d064: bf18 it ne - 801d066: 2001 movne r0, #1 - 801d068: b002 add sp, #8 - 801d06a: 4770 bx lr - 801d06c: 4610 mov r0, r2 - 801d06e: e7fb b.n 801d068 <__ascii_mbtowc+0x16> - 801d070: f06f 0001 mvn.w r0, #1 - 801d074: e7f8 b.n 801d068 <__ascii_mbtowc+0x16> - -0801d076 <_realloc_r>: - 801d076: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 801d07a: 4607 mov r7, r0 - 801d07c: 4614 mov r4, r2 - 801d07e: 460d mov r5, r1 - 801d080: b921 cbnz r1, 801d08c <_realloc_r+0x16> - 801d082: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} - 801d086: 4611 mov r1, r2 - 801d088: f7fd bcb2 b.w 801a9f0 <_malloc_r> - 801d08c: b92a cbnz r2, 801d09a <_realloc_r+0x24> - 801d08e: f7fd fc3b bl 801a908 <_free_r> - 801d092: 4625 mov r5, r4 - 801d094: 4628 mov r0, r5 - 801d096: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 801d09a: f000 f840 bl 801d11e <_malloc_usable_size_r> - 801d09e: 4284 cmp r4, r0 - 801d0a0: 4606 mov r6, r0 - 801d0a2: d802 bhi.n 801d0aa <_realloc_r+0x34> - 801d0a4: ebb4 0f50 cmp.w r4, r0, lsr #1 - 801d0a8: d8f4 bhi.n 801d094 <_realloc_r+0x1e> - 801d0aa: 4621 mov r1, r4 - 801d0ac: 4638 mov r0, r7 - 801d0ae: f7fd fc9f bl 801a9f0 <_malloc_r> - 801d0b2: 4680 mov r8, r0 - 801d0b4: b908 cbnz r0, 801d0ba <_realloc_r+0x44> - 801d0b6: 4645 mov r5, r8 - 801d0b8: e7ec b.n 801d094 <_realloc_r+0x1e> - 801d0ba: 42b4 cmp r4, r6 - 801d0bc: 4622 mov r2, r4 - 801d0be: 4629 mov r1, r5 - 801d0c0: bf28 it cs - 801d0c2: 4632 movcs r2, r6 - 801d0c4: f7fc fda5 bl 8019c12 - 801d0c8: 4629 mov r1, r5 +0801d09c <__swbuf_r>: + 801d09c: b5f8 push {r3, r4, r5, r6, r7, lr} + 801d09e: 460e mov r6, r1 + 801d0a0: 4614 mov r4, r2 + 801d0a2: 4605 mov r5, r0 + 801d0a4: b118 cbz r0, 801d0ae <__swbuf_r+0x12> + 801d0a6: 6a03 ldr r3, [r0, #32] + 801d0a8: b90b cbnz r3, 801d0ae <__swbuf_r+0x12> + 801d0aa: f7fd f87d bl 801a1a8 <__sinit> + 801d0ae: 69a3 ldr r3, [r4, #24] + 801d0b0: 60a3 str r3, [r4, #8] + 801d0b2: 89a3 ldrh r3, [r4, #12] + 801d0b4: 071a lsls r2, r3, #28 + 801d0b6: d501 bpl.n 801d0bc <__swbuf_r+0x20> + 801d0b8: 6923 ldr r3, [r4, #16] + 801d0ba: b943 cbnz r3, 801d0ce <__swbuf_r+0x32> + 801d0bc: 4621 mov r1, r4 + 801d0be: 4628 mov r0, r5 + 801d0c0: f000 f82a bl 801d118 <__swsetup_r> + 801d0c4: b118 cbz r0, 801d0ce <__swbuf_r+0x32> + 801d0c6: f04f 37ff mov.w r7, #4294967295 @ 0xffffffff 801d0ca: 4638 mov r0, r7 - 801d0cc: f7fd fc1c bl 801a908 <_free_r> - 801d0d0: e7f1 b.n 801d0b6 <_realloc_r+0x40> + 801d0cc: bdf8 pop {r3, r4, r5, r6, r7, pc} + 801d0ce: 6823 ldr r3, [r4, #0] + 801d0d0: 6922 ldr r2, [r4, #16] + 801d0d2: 1a98 subs r0, r3, r2 + 801d0d4: 6963 ldr r3, [r4, #20] + 801d0d6: b2f6 uxtb r6, r6 + 801d0d8: 4283 cmp r3, r0 + 801d0da: 4637 mov r7, r6 + 801d0dc: dc05 bgt.n 801d0ea <__swbuf_r+0x4e> + 801d0de: 4621 mov r1, r4 + 801d0e0: 4628 mov r0, r5 + 801d0e2: f7ff ffb3 bl 801d04c <_fflush_r> + 801d0e6: 2800 cmp r0, #0 + 801d0e8: d1ed bne.n 801d0c6 <__swbuf_r+0x2a> + 801d0ea: 68a3 ldr r3, [r4, #8] + 801d0ec: 3b01 subs r3, #1 + 801d0ee: 60a3 str r3, [r4, #8] + 801d0f0: 6823 ldr r3, [r4, #0] + 801d0f2: 1c5a adds r2, r3, #1 + 801d0f4: 6022 str r2, [r4, #0] + 801d0f6: 701e strb r6, [r3, #0] + 801d0f8: 6962 ldr r2, [r4, #20] + 801d0fa: 1c43 adds r3, r0, #1 + 801d0fc: 429a cmp r2, r3 + 801d0fe: d004 beq.n 801d10a <__swbuf_r+0x6e> + 801d100: 89a3 ldrh r3, [r4, #12] + 801d102: 07db lsls r3, r3, #31 + 801d104: d5e1 bpl.n 801d0ca <__swbuf_r+0x2e> + 801d106: 2e0a cmp r6, #10 + 801d108: d1df bne.n 801d0ca <__swbuf_r+0x2e> + 801d10a: 4621 mov r1, r4 + 801d10c: 4628 mov r0, r5 + 801d10e: f7ff ff9d bl 801d04c <_fflush_r> + 801d112: 2800 cmp r0, #0 + 801d114: d0d9 beq.n 801d0ca <__swbuf_r+0x2e> + 801d116: e7d6 b.n 801d0c6 <__swbuf_r+0x2a> -0801d0d2 <__ascii_wctomb>: - 801d0d2: 4603 mov r3, r0 - 801d0d4: 4608 mov r0, r1 - 801d0d6: b141 cbz r1, 801d0ea <__ascii_wctomb+0x18> - 801d0d8: 2aff cmp r2, #255 @ 0xff - 801d0da: d904 bls.n 801d0e6 <__ascii_wctomb+0x14> - 801d0dc: 228a movs r2, #138 @ 0x8a - 801d0de: 601a str r2, [r3, #0] - 801d0e0: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 801d0e4: 4770 bx lr - 801d0e6: 700a strb r2, [r1, #0] - 801d0e8: 2001 movs r0, #1 - 801d0ea: 4770 bx lr +0801d118 <__swsetup_r>: + 801d118: b538 push {r3, r4, r5, lr} + 801d11a: 4b28 ldr r3, [pc, #160] @ (801d1bc <__swsetup_r+0xa4>) + 801d11c: 4605 mov r5, r0 + 801d11e: 6818 ldr r0, [r3, #0] + 801d120: 460c mov r4, r1 + 801d122: b118 cbz r0, 801d12c <__swsetup_r+0x14> + 801d124: 6a03 ldr r3, [r0, #32] + 801d126: b90b cbnz r3, 801d12c <__swsetup_r+0x14> + 801d128: f7fd f83e bl 801a1a8 <__sinit> + 801d12c: f9b4 300c ldrsh.w r3, [r4, #12] + 801d130: 071a lsls r2, r3, #28 + 801d132: d421 bmi.n 801d178 <__swsetup_r+0x60> + 801d134: 06d8 lsls r0, r3, #27 + 801d136: d407 bmi.n 801d148 <__swsetup_r+0x30> + 801d138: 2209 movs r2, #9 + 801d13a: 602a str r2, [r5, #0] + 801d13c: f043 0340 orr.w r3, r3, #64 @ 0x40 + 801d140: 81a3 strh r3, [r4, #12] + 801d142: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801d146: e030 b.n 801d1aa <__swsetup_r+0x92> + 801d148: 0759 lsls r1, r3, #29 + 801d14a: d512 bpl.n 801d172 <__swsetup_r+0x5a> + 801d14c: 6b61 ldr r1, [r4, #52] @ 0x34 + 801d14e: b141 cbz r1, 801d162 <__swsetup_r+0x4a> + 801d150: f104 0344 add.w r3, r4, #68 @ 0x44 + 801d154: 4299 cmp r1, r3 + 801d156: d002 beq.n 801d15e <__swsetup_r+0x46> + 801d158: 4628 mov r0, r5 + 801d15a: f7fe f829 bl 801b1b0 <_free_r> + 801d15e: 2300 movs r3, #0 + 801d160: 6363 str r3, [r4, #52] @ 0x34 + 801d162: 2200 movs r2, #0 + 801d164: f9b4 300c ldrsh.w r3, [r4, #12] + 801d168: 6062 str r2, [r4, #4] + 801d16a: 6922 ldr r2, [r4, #16] + 801d16c: 6022 str r2, [r4, #0] + 801d16e: f023 0324 bic.w r3, r3, #36 @ 0x24 + 801d172: f043 0308 orr.w r3, r3, #8 + 801d176: 81a3 strh r3, [r4, #12] + 801d178: 6922 ldr r2, [r4, #16] + 801d17a: b93a cbnz r2, 801d18c <__swsetup_r+0x74> + 801d17c: 059a lsls r2, r3, #22 + 801d17e: d501 bpl.n 801d184 <__swsetup_r+0x6c> + 801d180: 0618 lsls r0, r3, #24 + 801d182: d503 bpl.n 801d18c <__swsetup_r+0x74> + 801d184: 4621 mov r1, r4 + 801d186: 4628 mov r0, r5 + 801d188: f000 fc4e bl 801da28 <__smakebuf_r> + 801d18c: f9b4 300c ldrsh.w r3, [r4, #12] + 801d190: f013 0201 ands.w r2, r3, #1 + 801d194: d00a beq.n 801d1ac <__swsetup_r+0x94> + 801d196: 2200 movs r2, #0 + 801d198: 60a2 str r2, [r4, #8] + 801d19a: 6962 ldr r2, [r4, #20] + 801d19c: 4252 negs r2, r2 + 801d19e: 61a2 str r2, [r4, #24] + 801d1a0: 6922 ldr r2, [r4, #16] + 801d1a2: b942 cbnz r2, 801d1b6 <__swsetup_r+0x9e> + 801d1a4: f013 0080 ands.w r0, r3, #128 @ 0x80 + 801d1a8: d1c8 bne.n 801d13c <__swsetup_r+0x24> + 801d1aa: bd38 pop {r3, r4, r5, pc} + 801d1ac: 0799 lsls r1, r3, #30 + 801d1ae: bf58 it pl + 801d1b0: 6962 ldrpl r2, [r4, #20] + 801d1b2: 60a2 str r2, [r4, #8] + 801d1b4: e7f4 b.n 801d1a0 <__swsetup_r+0x88> + 801d1b6: 2000 movs r0, #0 + 801d1b8: e7f7 b.n 801d1aa <__swsetup_r+0x92> + 801d1ba: bf00 nop + 801d1bc: 2000011c .word 0x2000011c -0801d0ec : - 801d0ec: b40e push {r1, r2, r3} - 801d0ee: b503 push {r0, r1, lr} - 801d0f0: 4601 mov r1, r0 - 801d0f2: ab03 add r3, sp, #12 - 801d0f4: 4805 ldr r0, [pc, #20] @ (801d10c ) - 801d0f6: f853 2b04 ldr.w r2, [r3], #4 - 801d0fa: 6800 ldr r0, [r0, #0] - 801d0fc: 9301 str r3, [sp, #4] - 801d0fe: f7ff f9bb bl 801c478 <_vfiprintf_r> - 801d102: b002 add sp, #8 - 801d104: f85d eb04 ldr.w lr, [sp], #4 - 801d108: b003 add sp, #12 - 801d10a: 4770 bx lr - 801d10c: 2000011c .word 0x2000011c +0801d1c0 : + 801d1c0: 4288 cmp r0, r1 + 801d1c2: b510 push {r4, lr} + 801d1c4: eb01 0402 add.w r4, r1, r2 + 801d1c8: d902 bls.n 801d1d0 + 801d1ca: 4284 cmp r4, r0 + 801d1cc: 4623 mov r3, r4 + 801d1ce: d807 bhi.n 801d1e0 + 801d1d0: 1e43 subs r3, r0, #1 + 801d1d2: 42a1 cmp r1, r4 + 801d1d4: d007 beq.n 801d1e6 + 801d1d6: f811 2b01 ldrb.w r2, [r1], #1 + 801d1da: f803 2f01 strb.w r2, [r3, #1]! + 801d1de: e7f8 b.n 801d1d2 + 801d1e0: 4402 add r2, r0 + 801d1e2: 4282 cmp r2, r0 + 801d1e4: d100 bne.n 801d1e8 + 801d1e6: bd10 pop {r4, pc} + 801d1e8: f813 1d01 ldrb.w r1, [r3, #-1]! + 801d1ec: f802 1d01 strb.w r1, [r2, #-1]! + 801d1f0: e7f7 b.n 801d1e2 -0801d110 : - 801d110: b508 push {r3, lr} - 801d112: 2006 movs r0, #6 - 801d114: f000 f834 bl 801d180 - 801d118: 2001 movs r0, #1 - 801d11a: f7e9 f857 bl 80061cc <_exit> - -0801d11e <_malloc_usable_size_r>: - 801d11e: f851 3c04 ldr.w r3, [r1, #-4] - 801d122: 1f18 subs r0, r3, #4 - 801d124: 2b00 cmp r3, #0 - 801d126: bfbc itt lt - 801d128: 580b ldrlt r3, [r1, r0] - 801d12a: 18c0 addlt r0, r0, r3 - 801d12c: 4770 bx lr - -0801d12e <_raise_r>: - 801d12e: 291f cmp r1, #31 - 801d130: b538 push {r3, r4, r5, lr} - 801d132: 4605 mov r5, r0 - 801d134: 460c mov r4, r1 - 801d136: d904 bls.n 801d142 <_raise_r+0x14> - 801d138: 2316 movs r3, #22 - 801d13a: 6003 str r3, [r0, #0] - 801d13c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 801d140: bd38 pop {r3, r4, r5, pc} - 801d142: 6bc2 ldr r2, [r0, #60] @ 0x3c - 801d144: b112 cbz r2, 801d14c <_raise_r+0x1e> - 801d146: f852 3021 ldr.w r3, [r2, r1, lsl #2] - 801d14a: b94b cbnz r3, 801d160 <_raise_r+0x32> - 801d14c: 4628 mov r0, r5 - 801d14e: f000 f831 bl 801d1b4 <_getpid_r> - 801d152: 4622 mov r2, r4 - 801d154: 4601 mov r1, r0 - 801d156: 4628 mov r0, r5 - 801d158: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} - 801d15c: f000 b818 b.w 801d190 <_kill_r> - 801d160: 2b01 cmp r3, #1 - 801d162: d00a beq.n 801d17a <_raise_r+0x4c> - 801d164: 1c59 adds r1, r3, #1 - 801d166: d103 bne.n 801d170 <_raise_r+0x42> - 801d168: 2316 movs r3, #22 - 801d16a: 6003 str r3, [r0, #0] - 801d16c: 2001 movs r0, #1 - 801d16e: e7e7 b.n 801d140 <_raise_r+0x12> - 801d170: 2100 movs r1, #0 - 801d172: f842 1024 str.w r1, [r2, r4, lsl #2] - 801d176: 4620 mov r0, r4 - 801d178: 4798 blx r3 - 801d17a: 2000 movs r0, #0 - 801d17c: e7e0 b.n 801d140 <_raise_r+0x12> +0801d1f2 : + 801d1f2: b510 push {r4, lr} + 801d1f4: b16a cbz r2, 801d212 + 801d1f6: 3901 subs r1, #1 + 801d1f8: 1884 adds r4, r0, r2 + 801d1fa: f810 2b01 ldrb.w r2, [r0], #1 + 801d1fe: f811 3f01 ldrb.w r3, [r1, #1]! + 801d202: 429a cmp r2, r3 + 801d204: d103 bne.n 801d20e + 801d206: 42a0 cmp r0, r4 + 801d208: d001 beq.n 801d20e + 801d20a: 2a00 cmp r2, #0 + 801d20c: d1f5 bne.n 801d1fa + 801d20e: 1ad0 subs r0, r2, r3 + 801d210: bd10 pop {r4, pc} + 801d212: 4610 mov r0, r2 + 801d214: e7fc b.n 801d210 ... -0801d180 : - 801d180: 4b02 ldr r3, [pc, #8] @ (801d18c ) - 801d182: 4601 mov r1, r0 - 801d184: 6818 ldr r0, [r3, #0] - 801d186: f7ff bfd2 b.w 801d12e <_raise_r> - 801d18a: bf00 nop - 801d18c: 2000011c .word 0x2000011c +0801d218 <_sbrk_r>: + 801d218: b538 push {r3, r4, r5, lr} + 801d21a: 4d06 ldr r5, [pc, #24] @ (801d234 <_sbrk_r+0x1c>) + 801d21c: 2300 movs r3, #0 + 801d21e: 4604 mov r4, r0 + 801d220: 4608 mov r0, r1 + 801d222: 602b str r3, [r5, #0] + 801d224: f7e9 faac bl 8006780 <_sbrk> + 801d228: 1c43 adds r3, r0, #1 + 801d22a: d102 bne.n 801d232 <_sbrk_r+0x1a> + 801d22c: 682b ldr r3, [r5, #0] + 801d22e: b103 cbz r3, 801d232 <_sbrk_r+0x1a> + 801d230: 6023 str r3, [r4, #0] + 801d232: bd38 pop {r3, r4, r5, pc} + 801d234: 20013cd8 .word 0x20013cd8 -0801d190 <_kill_r>: - 801d190: b538 push {r3, r4, r5, lr} - 801d192: 4d07 ldr r5, [pc, #28] @ (801d1b0 <_kill_r+0x20>) - 801d194: 2300 movs r3, #0 - 801d196: 4604 mov r4, r0 - 801d198: 4608 mov r0, r1 - 801d19a: 4611 mov r1, r2 - 801d19c: 602b str r3, [r5, #0] - 801d19e: f7e9 f805 bl 80061ac <_kill> - 801d1a2: 1c43 adds r3, r0, #1 - 801d1a4: d102 bne.n 801d1ac <_kill_r+0x1c> - 801d1a6: 682b ldr r3, [r5, #0] - 801d1a8: b103 cbz r3, 801d1ac <_kill_r+0x1c> - 801d1aa: 6023 str r3, [r4, #0] - 801d1ac: bd38 pop {r3, r4, r5, pc} - 801d1ae: bf00 nop - 801d1b0: 20013c38 .word 0x20013c38 +0801d238 : + 801d238: ed9f 0b01 vldr d0, [pc, #4] @ 801d240 + 801d23c: 4770 bx lr + 801d23e: bf00 nop + 801d240: 00000000 .word 0x00000000 + 801d244: 7ff80000 .word 0x7ff80000 -0801d1b4 <_getpid_r>: - 801d1b4: f7e8 bff2 b.w 800619c <_getpid> +0801d248 <__assert_func>: + 801d248: b51f push {r0, r1, r2, r3, r4, lr} + 801d24a: 4614 mov r4, r2 + 801d24c: 461a mov r2, r3 + 801d24e: 4b09 ldr r3, [pc, #36] @ (801d274 <__assert_func+0x2c>) + 801d250: 681b ldr r3, [r3, #0] + 801d252: 4605 mov r5, r0 + 801d254: 68d8 ldr r0, [r3, #12] + 801d256: b14c cbz r4, 801d26c <__assert_func+0x24> + 801d258: 4b07 ldr r3, [pc, #28] @ (801d278 <__assert_func+0x30>) + 801d25a: 9100 str r1, [sp, #0] + 801d25c: e9cd 3401 strd r3, r4, [sp, #4] + 801d260: 4906 ldr r1, [pc, #24] @ (801d27c <__assert_func+0x34>) + 801d262: 462b mov r3, r5 + 801d264: f000 fbaa bl 801d9bc + 801d268: f000 fc3a bl 801dae0 + 801d26c: 4b04 ldr r3, [pc, #16] @ (801d280 <__assert_func+0x38>) + 801d26e: 461c mov r4, r3 + 801d270: e7f3 b.n 801d25a <__assert_func+0x12> + 801d272: bf00 nop + 801d274: 2000011c .word 0x2000011c + 801d278: 0801e74a .word 0x0801e74a + 801d27c: 0801e757 .word 0x0801e757 + 801d280: 0801e785 .word 0x0801e785 -0801d1b8 : - 801d1b8: b538 push {r3, r4, r5, lr} - 801d1ba: ed2d 8b02 vpush {d8} - 801d1be: ec55 4b10 vmov r4, r5, d0 - 801d1c2: f000 f82d bl 801d220 <__ieee754_sqrt> - 801d1c6: 4622 mov r2, r4 - 801d1c8: 462b mov r3, r5 - 801d1ca: 4620 mov r0, r4 - 801d1cc: 4629 mov r1, r5 - 801d1ce: eeb0 8a40 vmov.f32 s16, s0 - 801d1d2: eef0 8a60 vmov.f32 s17, s1 - 801d1d6: f7e3 fc81 bl 8000adc <__aeabi_dcmpun> - 801d1da: b930 cbnz r0, 801d1ea - 801d1dc: 2200 movs r2, #0 - 801d1de: 2300 movs r3, #0 - 801d1e0: 4620 mov r0, r4 - 801d1e2: 4629 mov r1, r5 - 801d1e4: f7e3 fc52 bl 8000a8c <__aeabi_dcmplt> - 801d1e8: b930 cbnz r0, 801d1f8 - 801d1ea: eeb0 0a48 vmov.f32 s0, s16 - 801d1ee: eef0 0a68 vmov.f32 s1, s17 - 801d1f2: ecbd 8b02 vpop {d8} - 801d1f6: bd38 pop {r3, r4, r5, pc} - 801d1f8: f7fc fcde bl 8019bb8 <__errno> - 801d1fc: 2200 movs r2, #0 - 801d1fe: 2300 movs r3, #0 - 801d200: 2121 movs r1, #33 @ 0x21 - 801d202: 6001 str r1, [r0, #0] - 801d204: 4610 mov r0, r2 - 801d206: 4619 mov r1, r3 - 801d208: f7e3 faf8 bl 80007fc <__aeabi_ddiv> - 801d20c: ec41 0b18 vmov d8, r0, r1 - 801d210: eeb0 0a48 vmov.f32 s0, s16 - 801d214: eef0 0a68 vmov.f32 s1, s17 - 801d218: ecbd 8b02 vpop {d8} - 801d21c: bd38 pop {r3, r4, r5, pc} - 801d21e: bf00 nop +0801d284 <_calloc_r>: + 801d284: b570 push {r4, r5, r6, lr} + 801d286: fba1 5402 umull r5, r4, r1, r2 + 801d28a: b934 cbnz r4, 801d29a <_calloc_r+0x16> + 801d28c: 4629 mov r1, r5 + 801d28e: f7fe f803 bl 801b298 <_malloc_r> + 801d292: 4606 mov r6, r0 + 801d294: b928 cbnz r0, 801d2a2 <_calloc_r+0x1e> + 801d296: 4630 mov r0, r6 + 801d298: bd70 pop {r4, r5, r6, pc} + 801d29a: 220c movs r2, #12 + 801d29c: 6002 str r2, [r0, #0] + 801d29e: 2600 movs r6, #0 + 801d2a0: e7f9 b.n 801d296 <_calloc_r+0x12> + 801d2a2: 462a mov r2, r5 + 801d2a4: 4621 mov r1, r4 + 801d2a6: f7fd f82d bl 801a304 + 801d2aa: e7f4 b.n 801d296 <_calloc_r+0x12> -0801d220 <__ieee754_sqrt>: - 801d220: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 801d224: 4977 ldr r1, [pc, #476] @ (801d404 <__ieee754_sqrt+0x1e4>) - 801d226: ec55 4b10 vmov r4, r5, d0 - 801d22a: 43a9 bics r1, r5 - 801d22c: f000 80ae beq.w 801d38c <__ieee754_sqrt+0x16c> - 801d230: 2d00 cmp r5, #0 - 801d232: 462a mov r2, r5 - 801d234: 4623 mov r3, r4 - 801d236: dd55 ble.n 801d2e4 <__ieee754_sqrt+0xc4> - 801d238: 152c asrs r4, r5, #20 - 801d23a: d062 beq.n 801d302 <__ieee754_sqrt+0xe2> - 801d23c: f3c2 0213 ubfx r2, r2, #0, #20 - 801d240: 07e1 lsls r1, r4, #31 - 801d242: f2a4 37ff subw r7, r4, #1023 @ 0x3ff - 801d246: f442 1280 orr.w r2, r2, #1048576 @ 0x100000 - 801d24a: d403 bmi.n 801d254 <__ieee754_sqrt+0x34> - 801d24c: 0052 lsls r2, r2, #1 - 801d24e: eb02 72d3 add.w r2, r2, r3, lsr #31 - 801d252: 005b lsls r3, r3, #1 - 801d254: 0052 lsls r2, r2, #1 - 801d256: 2600 movs r6, #0 - 801d258: eb02 72d3 add.w r2, r2, r3, lsr #31 - 801d25c: 107f asrs r7, r7, #1 - 801d25e: 005b lsls r3, r3, #1 - 801d260: 2416 movs r4, #22 - 801d262: 46b4 mov ip, r6 - 801d264: f44f 1100 mov.w r1, #2097152 @ 0x200000 - 801d268: eb0c 0001 add.w r0, ip, r1 - 801d26c: 4290 cmp r0, r2 - 801d26e: ea4f 75d3 mov.w r5, r3, lsr #31 - 801d272: ea4f 0343 mov.w r3, r3, lsl #1 - 801d276: dc03 bgt.n 801d280 <__ieee754_sqrt+0x60> - 801d278: eb00 0c01 add.w ip, r0, r1 - 801d27c: 1a12 subs r2, r2, r0 - 801d27e: 440e add r6, r1 - 801d280: 3c01 subs r4, #1 - 801d282: eb05 0242 add.w r2, r5, r2, lsl #1 - 801d286: ea4f 0151 mov.w r1, r1, lsr #1 - 801d28a: d1ed bne.n 801d268 <__ieee754_sqrt+0x48> - 801d28c: 46a0 mov r8, r4 - 801d28e: 2520 movs r5, #32 - 801d290: f04f 4000 mov.w r0, #2147483648 @ 0x80000000 - 801d294: e00a b.n 801d2ac <__ieee754_sqrt+0x8c> - 801d296: d043 beq.n 801d320 <__ieee754_sqrt+0x100> - 801d298: 0051 lsls r1, r2, #1 - 801d29a: eb01 71d3 add.w r1, r1, r3, lsr #31 - 801d29e: 3d01 subs r5, #1 - 801d2a0: 460a mov r2, r1 - 801d2a2: ea4f 0343 mov.w r3, r3, lsl #1 - 801d2a6: ea4f 0050 mov.w r0, r0, lsr #1 - 801d2aa: d045 beq.n 801d338 <__ieee754_sqrt+0x118> - 801d2ac: 4562 cmp r2, ip - 801d2ae: eb00 0e08 add.w lr, r0, r8 - 801d2b2: ddf0 ble.n 801d296 <__ieee754_sqrt+0x76> - 801d2b4: f1be 0f00 cmp.w lr, #0 - 801d2b8: eb0e 0800 add.w r8, lr, r0 - 801d2bc: db0c blt.n 801d2d8 <__ieee754_sqrt+0xb8> - 801d2be: 46e1 mov r9, ip - 801d2c0: eba2 010c sub.w r1, r2, ip - 801d2c4: 459e cmp lr, r3 - 801d2c6: bf88 it hi - 801d2c8: f101 31ff addhi.w r1, r1, #4294967295 @ 0xffffffff - 801d2cc: 0049 lsls r1, r1, #1 - 801d2ce: 46cc mov ip, r9 - 801d2d0: eba3 030e sub.w r3, r3, lr - 801d2d4: 4404 add r4, r0 - 801d2d6: e7e0 b.n 801d29a <__ieee754_sqrt+0x7a> - 801d2d8: f1b8 0f00 cmp.w r8, #0 - 801d2dc: dbef blt.n 801d2be <__ieee754_sqrt+0x9e> - 801d2de: f10c 0901 add.w r9, ip, #1 - 801d2e2: e7ed b.n 801d2c0 <__ieee754_sqrt+0xa0> - 801d2e4: f025 4100 bic.w r1, r5, #2147483648 @ 0x80000000 - 801d2e8: 4321 orrs r1, r4 - 801d2ea: d046 beq.n 801d37a <__ieee754_sqrt+0x15a> - 801d2ec: 2d00 cmp r5, #0 - 801d2ee: d174 bne.n 801d3da <__ieee754_sqrt+0x1ba> - 801d2f0: 0ad9 lsrs r1, r3, #11 - 801d2f2: 3a15 subs r2, #21 - 801d2f4: 055b lsls r3, r3, #21 - 801d2f6: 2900 cmp r1, #0 - 801d2f8: d0fa beq.n 801d2f0 <__ieee754_sqrt+0xd0> - 801d2fa: 02ce lsls r6, r1, #11 - 801d2fc: 4614 mov r4, r2 - 801d2fe: d47d bmi.n 801d3fc <__ieee754_sqrt+0x1dc> - 801d300: 460a mov r2, r1 - 801d302: 2100 movs r1, #0 - 801d304: 0052 lsls r2, r2, #1 - 801d306: 02d5 lsls r5, r2, #11 - 801d308: 4608 mov r0, r1 - 801d30a: f101 0101 add.w r1, r1, #1 - 801d30e: d5f9 bpl.n 801d304 <__ieee754_sqrt+0xe4> - 801d310: f1c1 0520 rsb r5, r1, #32 - 801d314: fa23 f505 lsr.w r5, r3, r5 - 801d318: 432a orrs r2, r5 - 801d31a: 408b lsls r3, r1 - 801d31c: 1a24 subs r4, r4, r0 - 801d31e: e78d b.n 801d23c <__ieee754_sqrt+0x1c> - 801d320: 459e cmp lr, r3 - 801d322: d902 bls.n 801d32a <__ieee754_sqrt+0x10a> - 801d324: ea4f 014c mov.w r1, ip, lsl #1 - 801d328: e7b7 b.n 801d29a <__ieee754_sqrt+0x7a> - 801d32a: f1be 0f00 cmp.w lr, #0 - 801d32e: eb0e 0800 add.w r8, lr, r0 - 801d332: db24 blt.n 801d37e <__ieee754_sqrt+0x15e> - 801d334: 2100 movs r1, #0 - 801d336: e7cb b.n 801d2d0 <__ieee754_sqrt+0xb0> - 801d338: 4319 orrs r1, r3 - 801d33a: d012 beq.n 801d362 <__ieee754_sqrt+0x142> - 801d33c: f8df a0c8 ldr.w sl, [pc, #200] @ 801d408 <__ieee754_sqrt+0x1e8> - 801d340: f8df b0c8 ldr.w fp, [pc, #200] @ 801d40c <__ieee754_sqrt+0x1ec> - 801d344: e9da 0100 ldrd r0, r1, [sl] - 801d348: e9db 2300 ldrd r2, r3, [fp] - 801d34c: f7e2 ff74 bl 8000238 <__aeabi_dsub> - 801d350: e9da 8900 ldrd r8, r9, [sl] - 801d354: 4602 mov r2, r0 - 801d356: 460b mov r3, r1 - 801d358: 4640 mov r0, r8 - 801d35a: 4649 mov r1, r9 - 801d35c: f7e3 fba0 bl 8000aa0 <__aeabi_dcmple> - 801d360: bb10 cbnz r0, 801d3a8 <__ieee754_sqrt+0x188> - 801d362: 0865 lsrs r5, r4, #1 - 801d364: 1071 asrs r1, r6, #1 - 801d366: f101 517f add.w r1, r1, #1069547520 @ 0x3fc00000 - 801d36a: f501 1100 add.w r1, r1, #2097152 @ 0x200000 - 801d36e: eb01 5307 add.w r3, r1, r7, lsl #20 - 801d372: ea45 72c6 orr.w r2, r5, r6, lsl #31 - 801d376: ec43 2b10 vmov d0, r2, r3 - 801d37a: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 801d37e: f1b8 0f00 cmp.w r8, #0 - 801d382: dbd7 blt.n 801d334 <__ieee754_sqrt+0x114> - 801d384: f10c 0c01 add.w ip, ip, #1 - 801d388: 2100 movs r1, #0 - 801d38a: e7a1 b.n 801d2d0 <__ieee754_sqrt+0xb0> - 801d38c: 4622 mov r2, r4 - 801d38e: 462b mov r3, r5 - 801d390: 4620 mov r0, r4 - 801d392: 4629 mov r1, r5 - 801d394: f7e3 f908 bl 80005a8 <__aeabi_dmul> - 801d398: 4622 mov r2, r4 - 801d39a: 462b mov r3, r5 - 801d39c: f7e2 ff4e bl 800023c <__adddf3> - 801d3a0: ec41 0b10 vmov d0, r0, r1 - 801d3a4: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 801d3a8: f1b4 3fff cmp.w r4, #4294967295 @ 0xffffffff - 801d3ac: e9da 0100 ldrd r0, r1, [sl] - 801d3b0: e9db 2300 ldrd r2, r3, [fp] - 801d3b4: d01e beq.n 801d3f4 <__ieee754_sqrt+0x1d4> - 801d3b6: f7e2 ff41 bl 800023c <__adddf3> - 801d3ba: e9da 8900 ldrd r8, r9, [sl] - 801d3be: 4602 mov r2, r0 - 801d3c0: 460b mov r3, r1 - 801d3c2: 4640 mov r0, r8 - 801d3c4: 4649 mov r1, r9 - 801d3c6: f7e3 fb61 bl 8000a8c <__aeabi_dcmplt> - 801d3ca: b1a8 cbz r0, 801d3f8 <__ieee754_sqrt+0x1d8> - 801d3cc: 1ca3 adds r3, r4, #2 - 801d3ce: f104 0502 add.w r5, r4, #2 - 801d3d2: bf08 it eq - 801d3d4: 3601 addeq r6, #1 - 801d3d6: 086d lsrs r5, r5, #1 - 801d3d8: e7c4 b.n 801d364 <__ieee754_sqrt+0x144> - 801d3da: 4622 mov r2, r4 - 801d3dc: 462b mov r3, r5 - 801d3de: 4620 mov r0, r4 - 801d3e0: 4629 mov r1, r5 - 801d3e2: f7e2 ff29 bl 8000238 <__aeabi_dsub> - 801d3e6: 4602 mov r2, r0 - 801d3e8: 460b mov r3, r1 - 801d3ea: f7e3 fa07 bl 80007fc <__aeabi_ddiv> - 801d3ee: ec41 0b10 vmov d0, r0, r1 - 801d3f2: e7c2 b.n 801d37a <__ieee754_sqrt+0x15a> - 801d3f4: 3601 adds r6, #1 - 801d3f6: e7b5 b.n 801d364 <__ieee754_sqrt+0x144> - 801d3f8: 3401 adds r4, #1 - 801d3fa: e7b2 b.n 801d362 <__ieee754_sqrt+0x142> - 801d3fc: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff - 801d400: 460a mov r2, r1 - 801d402: e78b b.n 801d31c <__ieee754_sqrt+0xfc> - 801d404: 7ff00000 .word 0x7ff00000 - 801d408: 0801e0e8 .word 0x0801e0e8 - 801d40c: 0801e0e0 .word 0x0801e0e0 +0801d2ac : + 801d2ac: 6903 ldr r3, [r0, #16] + 801d2ae: ebb3 1f61 cmp.w r3, r1, asr #5 + 801d2b2: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 801d2b6: ea4f 1261 mov.w r2, r1, asr #5 + 801d2ba: f100 0414 add.w r4, r0, #20 + 801d2be: dd45 ble.n 801d34c + 801d2c0: f011 011f ands.w r1, r1, #31 + 801d2c4: eb04 0683 add.w r6, r4, r3, lsl #2 + 801d2c8: eb04 0582 add.w r5, r4, r2, lsl #2 + 801d2cc: d10c bne.n 801d2e8 + 801d2ce: f100 0710 add.w r7, r0, #16 + 801d2d2: 4629 mov r1, r5 + 801d2d4: 42b1 cmp r1, r6 + 801d2d6: d334 bcc.n 801d342 + 801d2d8: 1a9b subs r3, r3, r2 + 801d2da: 009b lsls r3, r3, #2 + 801d2dc: 1eea subs r2, r5, #3 + 801d2de: 4296 cmp r6, r2 + 801d2e0: bf38 it cc + 801d2e2: 2300 movcc r3, #0 + 801d2e4: 4423 add r3, r4 + 801d2e6: e015 b.n 801d314 + 801d2e8: f854 7022 ldr.w r7, [r4, r2, lsl #2] + 801d2ec: f1c1 0820 rsb r8, r1, #32 + 801d2f0: 40cf lsrs r7, r1 + 801d2f2: f105 0e04 add.w lr, r5, #4 + 801d2f6: 46a1 mov r9, r4 + 801d2f8: 4576 cmp r6, lr + 801d2fa: 46f4 mov ip, lr + 801d2fc: d815 bhi.n 801d32a + 801d2fe: 1a9a subs r2, r3, r2 + 801d300: 0092 lsls r2, r2, #2 + 801d302: 3a04 subs r2, #4 + 801d304: 3501 adds r5, #1 + 801d306: 42ae cmp r6, r5 + 801d308: bf38 it cc + 801d30a: 2200 movcc r2, #0 + 801d30c: 18a3 adds r3, r4, r2 + 801d30e: 50a7 str r7, [r4, r2] + 801d310: b107 cbz r7, 801d314 + 801d312: 3304 adds r3, #4 + 801d314: 1b1a subs r2, r3, r4 + 801d316: 42a3 cmp r3, r4 + 801d318: ea4f 02a2 mov.w r2, r2, asr #2 + 801d31c: bf08 it eq + 801d31e: 2300 moveq r3, #0 + 801d320: 6102 str r2, [r0, #16] + 801d322: bf08 it eq + 801d324: 6143 streq r3, [r0, #20] + 801d326: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 801d32a: f8dc c000 ldr.w ip, [ip] + 801d32e: fa0c fc08 lsl.w ip, ip, r8 + 801d332: ea4c 0707 orr.w r7, ip, r7 + 801d336: f849 7b04 str.w r7, [r9], #4 + 801d33a: f85e 7b04 ldr.w r7, [lr], #4 + 801d33e: 40cf lsrs r7, r1 + 801d340: e7da b.n 801d2f8 + 801d342: f851 cb04 ldr.w ip, [r1], #4 + 801d346: f847 cf04 str.w ip, [r7, #4]! + 801d34a: e7c3 b.n 801d2d4 + 801d34c: 4623 mov r3, r4 + 801d34e: e7e1 b.n 801d314 -0801d410 <_init>: - 801d410: b5f8 push {r3, r4, r5, r6, r7, lr} - 801d412: bf00 nop - 801d414: bcf8 pop {r3, r4, r5, r6, r7} - 801d416: bc08 pop {r3} - 801d418: 469e mov lr, r3 - 801d41a: 4770 bx lr +0801d350 <__hexdig_fun>: + 801d350: f1a0 0330 sub.w r3, r0, #48 @ 0x30 + 801d354: 2b09 cmp r3, #9 + 801d356: d802 bhi.n 801d35e <__hexdig_fun+0xe> + 801d358: 3820 subs r0, #32 + 801d35a: b2c0 uxtb r0, r0 + 801d35c: 4770 bx lr + 801d35e: f1a0 0361 sub.w r3, r0, #97 @ 0x61 + 801d362: 2b05 cmp r3, #5 + 801d364: d801 bhi.n 801d36a <__hexdig_fun+0x1a> + 801d366: 3847 subs r0, #71 @ 0x47 + 801d368: e7f7 b.n 801d35a <__hexdig_fun+0xa> + 801d36a: f1a0 0341 sub.w r3, r0, #65 @ 0x41 + 801d36e: 2b05 cmp r3, #5 + 801d370: d801 bhi.n 801d376 <__hexdig_fun+0x26> + 801d372: 3827 subs r0, #39 @ 0x27 + 801d374: e7f1 b.n 801d35a <__hexdig_fun+0xa> + 801d376: 2000 movs r0, #0 + 801d378: 4770 bx lr + ... -0801d41c <_fini>: - 801d41c: b5f8 push {r3, r4, r5, r6, r7, lr} - 801d41e: bf00 nop - 801d420: bcf8 pop {r3, r4, r5, r6, r7} - 801d422: bc08 pop {r3} - 801d424: 469e mov lr, r3 - 801d426: 4770 bx lr +0801d37c <__gethex>: + 801d37c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801d380: b085 sub sp, #20 + 801d382: 468a mov sl, r1 + 801d384: 9302 str r3, [sp, #8] + 801d386: 680b ldr r3, [r1, #0] + 801d388: 9001 str r0, [sp, #4] + 801d38a: 4690 mov r8, r2 + 801d38c: 1c9c adds r4, r3, #2 + 801d38e: 46a1 mov r9, r4 + 801d390: f814 0b01 ldrb.w r0, [r4], #1 + 801d394: 2830 cmp r0, #48 @ 0x30 + 801d396: d0fa beq.n 801d38e <__gethex+0x12> + 801d398: eba9 0303 sub.w r3, r9, r3 + 801d39c: f1a3 0b02 sub.w fp, r3, #2 + 801d3a0: f7ff ffd6 bl 801d350 <__hexdig_fun> + 801d3a4: 4605 mov r5, r0 + 801d3a6: 2800 cmp r0, #0 + 801d3a8: d168 bne.n 801d47c <__gethex+0x100> + 801d3aa: 49a0 ldr r1, [pc, #640] @ (801d62c <__gethex+0x2b0>) + 801d3ac: 2201 movs r2, #1 + 801d3ae: 4648 mov r0, r9 + 801d3b0: f7ff ff1f bl 801d1f2 + 801d3b4: 4607 mov r7, r0 + 801d3b6: 2800 cmp r0, #0 + 801d3b8: d167 bne.n 801d48a <__gethex+0x10e> + 801d3ba: f899 0001 ldrb.w r0, [r9, #1] + 801d3be: 4626 mov r6, r4 + 801d3c0: f7ff ffc6 bl 801d350 <__hexdig_fun> + 801d3c4: 2800 cmp r0, #0 + 801d3c6: d062 beq.n 801d48e <__gethex+0x112> + 801d3c8: 4623 mov r3, r4 + 801d3ca: 7818 ldrb r0, [r3, #0] + 801d3cc: 2830 cmp r0, #48 @ 0x30 + 801d3ce: 4699 mov r9, r3 + 801d3d0: f103 0301 add.w r3, r3, #1 + 801d3d4: d0f9 beq.n 801d3ca <__gethex+0x4e> + 801d3d6: f7ff ffbb bl 801d350 <__hexdig_fun> + 801d3da: fab0 f580 clz r5, r0 + 801d3de: 096d lsrs r5, r5, #5 + 801d3e0: f04f 0b01 mov.w fp, #1 + 801d3e4: 464a mov r2, r9 + 801d3e6: 4616 mov r6, r2 + 801d3e8: 3201 adds r2, #1 + 801d3ea: 7830 ldrb r0, [r6, #0] + 801d3ec: f7ff ffb0 bl 801d350 <__hexdig_fun> + 801d3f0: 2800 cmp r0, #0 + 801d3f2: d1f8 bne.n 801d3e6 <__gethex+0x6a> + 801d3f4: 498d ldr r1, [pc, #564] @ (801d62c <__gethex+0x2b0>) + 801d3f6: 2201 movs r2, #1 + 801d3f8: 4630 mov r0, r6 + 801d3fa: f7ff fefa bl 801d1f2 + 801d3fe: 2800 cmp r0, #0 + 801d400: d13f bne.n 801d482 <__gethex+0x106> + 801d402: b944 cbnz r4, 801d416 <__gethex+0x9a> + 801d404: 1c74 adds r4, r6, #1 + 801d406: 4622 mov r2, r4 + 801d408: 4616 mov r6, r2 + 801d40a: 3201 adds r2, #1 + 801d40c: 7830 ldrb r0, [r6, #0] + 801d40e: f7ff ff9f bl 801d350 <__hexdig_fun> + 801d412: 2800 cmp r0, #0 + 801d414: d1f8 bne.n 801d408 <__gethex+0x8c> + 801d416: 1ba4 subs r4, r4, r6 + 801d418: 00a7 lsls r7, r4, #2 + 801d41a: 7833 ldrb r3, [r6, #0] + 801d41c: f003 03df and.w r3, r3, #223 @ 0xdf + 801d420: 2b50 cmp r3, #80 @ 0x50 + 801d422: d13e bne.n 801d4a2 <__gethex+0x126> + 801d424: 7873 ldrb r3, [r6, #1] + 801d426: 2b2b cmp r3, #43 @ 0x2b + 801d428: d033 beq.n 801d492 <__gethex+0x116> + 801d42a: 2b2d cmp r3, #45 @ 0x2d + 801d42c: d034 beq.n 801d498 <__gethex+0x11c> + 801d42e: 1c71 adds r1, r6, #1 + 801d430: 2400 movs r4, #0 + 801d432: 7808 ldrb r0, [r1, #0] + 801d434: f7ff ff8c bl 801d350 <__hexdig_fun> + 801d438: 1e43 subs r3, r0, #1 + 801d43a: b2db uxtb r3, r3 + 801d43c: 2b18 cmp r3, #24 + 801d43e: d830 bhi.n 801d4a2 <__gethex+0x126> + 801d440: f1a0 0210 sub.w r2, r0, #16 + 801d444: f811 0f01 ldrb.w r0, [r1, #1]! + 801d448: f7ff ff82 bl 801d350 <__hexdig_fun> + 801d44c: f100 3cff add.w ip, r0, #4294967295 @ 0xffffffff + 801d450: fa5f fc8c uxtb.w ip, ip + 801d454: f1bc 0f18 cmp.w ip, #24 + 801d458: f04f 030a mov.w r3, #10 + 801d45c: d91e bls.n 801d49c <__gethex+0x120> + 801d45e: b104 cbz r4, 801d462 <__gethex+0xe6> + 801d460: 4252 negs r2, r2 + 801d462: 4417 add r7, r2 + 801d464: f8ca 1000 str.w r1, [sl] + 801d468: b1ed cbz r5, 801d4a6 <__gethex+0x12a> + 801d46a: f1bb 0f00 cmp.w fp, #0 + 801d46e: bf0c ite eq + 801d470: 2506 moveq r5, #6 + 801d472: 2500 movne r5, #0 + 801d474: 4628 mov r0, r5 + 801d476: b005 add sp, #20 + 801d478: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801d47c: 2500 movs r5, #0 + 801d47e: 462c mov r4, r5 + 801d480: e7b0 b.n 801d3e4 <__gethex+0x68> + 801d482: 2c00 cmp r4, #0 + 801d484: d1c7 bne.n 801d416 <__gethex+0x9a> + 801d486: 4627 mov r7, r4 + 801d488: e7c7 b.n 801d41a <__gethex+0x9e> + 801d48a: 464e mov r6, r9 + 801d48c: 462f mov r7, r5 + 801d48e: 2501 movs r5, #1 + 801d490: e7c3 b.n 801d41a <__gethex+0x9e> + 801d492: 2400 movs r4, #0 + 801d494: 1cb1 adds r1, r6, #2 + 801d496: e7cc b.n 801d432 <__gethex+0xb6> + 801d498: 2401 movs r4, #1 + 801d49a: e7fb b.n 801d494 <__gethex+0x118> + 801d49c: fb03 0002 mla r0, r3, r2, r0 + 801d4a0: e7ce b.n 801d440 <__gethex+0xc4> + 801d4a2: 4631 mov r1, r6 + 801d4a4: e7de b.n 801d464 <__gethex+0xe8> + 801d4a6: eba6 0309 sub.w r3, r6, r9 + 801d4aa: 3b01 subs r3, #1 + 801d4ac: 4629 mov r1, r5 + 801d4ae: 2b07 cmp r3, #7 + 801d4b0: dc0a bgt.n 801d4c8 <__gethex+0x14c> + 801d4b2: 9801 ldr r0, [sp, #4] + 801d4b4: f7fd ff7c bl 801b3b0 <_Balloc> + 801d4b8: 4604 mov r4, r0 + 801d4ba: b940 cbnz r0, 801d4ce <__gethex+0x152> + 801d4bc: 4b5c ldr r3, [pc, #368] @ (801d630 <__gethex+0x2b4>) + 801d4be: 4602 mov r2, r0 + 801d4c0: 21e4 movs r1, #228 @ 0xe4 + 801d4c2: 485c ldr r0, [pc, #368] @ (801d634 <__gethex+0x2b8>) + 801d4c4: f7ff fec0 bl 801d248 <__assert_func> + 801d4c8: 3101 adds r1, #1 + 801d4ca: 105b asrs r3, r3, #1 + 801d4cc: e7ef b.n 801d4ae <__gethex+0x132> + 801d4ce: f100 0a14 add.w sl, r0, #20 + 801d4d2: 2300 movs r3, #0 + 801d4d4: 4655 mov r5, sl + 801d4d6: 469b mov fp, r3 + 801d4d8: 45b1 cmp r9, r6 + 801d4da: d337 bcc.n 801d54c <__gethex+0x1d0> + 801d4dc: f845 bb04 str.w fp, [r5], #4 + 801d4e0: eba5 050a sub.w r5, r5, sl + 801d4e4: 10ad asrs r5, r5, #2 + 801d4e6: 6125 str r5, [r4, #16] + 801d4e8: 4658 mov r0, fp + 801d4ea: f7fe f851 bl 801b590 <__hi0bits> + 801d4ee: 016d lsls r5, r5, #5 + 801d4f0: f8d8 6000 ldr.w r6, [r8] + 801d4f4: 1a2d subs r5, r5, r0 + 801d4f6: 42b5 cmp r5, r6 + 801d4f8: dd54 ble.n 801d5a4 <__gethex+0x228> + 801d4fa: 1bad subs r5, r5, r6 + 801d4fc: 4629 mov r1, r5 + 801d4fe: 4620 mov r0, r4 + 801d500: f7fe fbed bl 801bcde <__any_on> + 801d504: 4681 mov r9, r0 + 801d506: b178 cbz r0, 801d528 <__gethex+0x1ac> + 801d508: 1e6b subs r3, r5, #1 + 801d50a: 1159 asrs r1, r3, #5 + 801d50c: f003 021f and.w r2, r3, #31 + 801d510: f85a 1021 ldr.w r1, [sl, r1, lsl #2] + 801d514: f04f 0901 mov.w r9, #1 + 801d518: fa09 f202 lsl.w r2, r9, r2 + 801d51c: 420a tst r2, r1 + 801d51e: d003 beq.n 801d528 <__gethex+0x1ac> + 801d520: 454b cmp r3, r9 + 801d522: dc36 bgt.n 801d592 <__gethex+0x216> + 801d524: f04f 0902 mov.w r9, #2 + 801d528: 4629 mov r1, r5 + 801d52a: 4620 mov r0, r4 + 801d52c: f7ff febe bl 801d2ac + 801d530: 442f add r7, r5 + 801d532: f8d8 3008 ldr.w r3, [r8, #8] + 801d536: 42bb cmp r3, r7 + 801d538: da42 bge.n 801d5c0 <__gethex+0x244> + 801d53a: 9801 ldr r0, [sp, #4] + 801d53c: 4621 mov r1, r4 + 801d53e: f7fd ff75 bl 801b42c <_Bfree> + 801d542: 9a0e ldr r2, [sp, #56] @ 0x38 + 801d544: 2300 movs r3, #0 + 801d546: 6013 str r3, [r2, #0] + 801d548: 25a3 movs r5, #163 @ 0xa3 + 801d54a: e793 b.n 801d474 <__gethex+0xf8> + 801d54c: f816 2d01 ldrb.w r2, [r6, #-1]! + 801d550: 2a2e cmp r2, #46 @ 0x2e + 801d552: d012 beq.n 801d57a <__gethex+0x1fe> + 801d554: 2b20 cmp r3, #32 + 801d556: d104 bne.n 801d562 <__gethex+0x1e6> + 801d558: f845 bb04 str.w fp, [r5], #4 + 801d55c: f04f 0b00 mov.w fp, #0 + 801d560: 465b mov r3, fp + 801d562: 7830 ldrb r0, [r6, #0] + 801d564: 9303 str r3, [sp, #12] + 801d566: f7ff fef3 bl 801d350 <__hexdig_fun> + 801d56a: 9b03 ldr r3, [sp, #12] + 801d56c: f000 000f and.w r0, r0, #15 + 801d570: 4098 lsls r0, r3 + 801d572: ea4b 0b00 orr.w fp, fp, r0 + 801d576: 3304 adds r3, #4 + 801d578: e7ae b.n 801d4d8 <__gethex+0x15c> + 801d57a: 45b1 cmp r9, r6 + 801d57c: d8ea bhi.n 801d554 <__gethex+0x1d8> + 801d57e: 492b ldr r1, [pc, #172] @ (801d62c <__gethex+0x2b0>) + 801d580: 9303 str r3, [sp, #12] + 801d582: 2201 movs r2, #1 + 801d584: 4630 mov r0, r6 + 801d586: f7ff fe34 bl 801d1f2 + 801d58a: 9b03 ldr r3, [sp, #12] + 801d58c: 2800 cmp r0, #0 + 801d58e: d1e1 bne.n 801d554 <__gethex+0x1d8> + 801d590: e7a2 b.n 801d4d8 <__gethex+0x15c> + 801d592: 1ea9 subs r1, r5, #2 + 801d594: 4620 mov r0, r4 + 801d596: f7fe fba2 bl 801bcde <__any_on> + 801d59a: 2800 cmp r0, #0 + 801d59c: d0c2 beq.n 801d524 <__gethex+0x1a8> + 801d59e: f04f 0903 mov.w r9, #3 + 801d5a2: e7c1 b.n 801d528 <__gethex+0x1ac> + 801d5a4: da09 bge.n 801d5ba <__gethex+0x23e> + 801d5a6: 1b75 subs r5, r6, r5 + 801d5a8: 4621 mov r1, r4 + 801d5aa: 9801 ldr r0, [sp, #4] + 801d5ac: 462a mov r2, r5 + 801d5ae: f7fe f957 bl 801b860 <__lshift> + 801d5b2: 1b7f subs r7, r7, r5 + 801d5b4: 4604 mov r4, r0 + 801d5b6: f100 0a14 add.w sl, r0, #20 + 801d5ba: f04f 0900 mov.w r9, #0 + 801d5be: e7b8 b.n 801d532 <__gethex+0x1b6> + 801d5c0: f8d8 5004 ldr.w r5, [r8, #4] + 801d5c4: 42bd cmp r5, r7 + 801d5c6: dd6f ble.n 801d6a8 <__gethex+0x32c> + 801d5c8: 1bed subs r5, r5, r7 + 801d5ca: 42ae cmp r6, r5 + 801d5cc: dc34 bgt.n 801d638 <__gethex+0x2bc> + 801d5ce: f8d8 300c ldr.w r3, [r8, #12] + 801d5d2: 2b02 cmp r3, #2 + 801d5d4: d022 beq.n 801d61c <__gethex+0x2a0> + 801d5d6: 2b03 cmp r3, #3 + 801d5d8: d024 beq.n 801d624 <__gethex+0x2a8> + 801d5da: 2b01 cmp r3, #1 + 801d5dc: d115 bne.n 801d60a <__gethex+0x28e> + 801d5de: 42ae cmp r6, r5 + 801d5e0: d113 bne.n 801d60a <__gethex+0x28e> + 801d5e2: 2e01 cmp r6, #1 + 801d5e4: d10b bne.n 801d5fe <__gethex+0x282> + 801d5e6: 9a02 ldr r2, [sp, #8] + 801d5e8: f8d8 3004 ldr.w r3, [r8, #4] + 801d5ec: 6013 str r3, [r2, #0] + 801d5ee: 2301 movs r3, #1 + 801d5f0: 6123 str r3, [r4, #16] + 801d5f2: f8ca 3000 str.w r3, [sl] + 801d5f6: 9b0e ldr r3, [sp, #56] @ 0x38 + 801d5f8: 2562 movs r5, #98 @ 0x62 + 801d5fa: 601c str r4, [r3, #0] + 801d5fc: e73a b.n 801d474 <__gethex+0xf8> + 801d5fe: 1e71 subs r1, r6, #1 + 801d600: 4620 mov r0, r4 + 801d602: f7fe fb6c bl 801bcde <__any_on> + 801d606: 2800 cmp r0, #0 + 801d608: d1ed bne.n 801d5e6 <__gethex+0x26a> + 801d60a: 9801 ldr r0, [sp, #4] + 801d60c: 4621 mov r1, r4 + 801d60e: f7fd ff0d bl 801b42c <_Bfree> + 801d612: 9a0e ldr r2, [sp, #56] @ 0x38 + 801d614: 2300 movs r3, #0 + 801d616: 6013 str r3, [r2, #0] + 801d618: 2550 movs r5, #80 @ 0x50 + 801d61a: e72b b.n 801d474 <__gethex+0xf8> + 801d61c: 9b0f ldr r3, [sp, #60] @ 0x3c + 801d61e: 2b00 cmp r3, #0 + 801d620: d1f3 bne.n 801d60a <__gethex+0x28e> + 801d622: e7e0 b.n 801d5e6 <__gethex+0x26a> + 801d624: 9b0f ldr r3, [sp, #60] @ 0x3c + 801d626: 2b00 cmp r3, #0 + 801d628: d1dd bne.n 801d5e6 <__gethex+0x26a> + 801d62a: e7ee b.n 801d60a <__gethex+0x28e> + 801d62c: 0801e72f .word 0x0801e72f + 801d630: 0801e6c5 .word 0x0801e6c5 + 801d634: 0801e786 .word 0x0801e786 + 801d638: 1e6f subs r7, r5, #1 + 801d63a: f1b9 0f00 cmp.w r9, #0 + 801d63e: d130 bne.n 801d6a2 <__gethex+0x326> + 801d640: b127 cbz r7, 801d64c <__gethex+0x2d0> + 801d642: 4639 mov r1, r7 + 801d644: 4620 mov r0, r4 + 801d646: f7fe fb4a bl 801bcde <__any_on> + 801d64a: 4681 mov r9, r0 + 801d64c: 117a asrs r2, r7, #5 + 801d64e: 2301 movs r3, #1 + 801d650: f85a 2022 ldr.w r2, [sl, r2, lsl #2] + 801d654: f007 071f and.w r7, r7, #31 + 801d658: 40bb lsls r3, r7 + 801d65a: 4213 tst r3, r2 + 801d65c: 4629 mov r1, r5 + 801d65e: 4620 mov r0, r4 + 801d660: bf18 it ne + 801d662: f049 0902 orrne.w r9, r9, #2 + 801d666: f7ff fe21 bl 801d2ac + 801d66a: f8d8 7004 ldr.w r7, [r8, #4] + 801d66e: 1b76 subs r6, r6, r5 + 801d670: 2502 movs r5, #2 + 801d672: f1b9 0f00 cmp.w r9, #0 + 801d676: d047 beq.n 801d708 <__gethex+0x38c> + 801d678: f8d8 300c ldr.w r3, [r8, #12] + 801d67c: 2b02 cmp r3, #2 + 801d67e: d015 beq.n 801d6ac <__gethex+0x330> + 801d680: 2b03 cmp r3, #3 + 801d682: d017 beq.n 801d6b4 <__gethex+0x338> + 801d684: 2b01 cmp r3, #1 + 801d686: d109 bne.n 801d69c <__gethex+0x320> + 801d688: f019 0f02 tst.w r9, #2 + 801d68c: d006 beq.n 801d69c <__gethex+0x320> + 801d68e: f8da 3000 ldr.w r3, [sl] + 801d692: ea49 0903 orr.w r9, r9, r3 + 801d696: f019 0f01 tst.w r9, #1 + 801d69a: d10e bne.n 801d6ba <__gethex+0x33e> + 801d69c: f045 0510 orr.w r5, r5, #16 + 801d6a0: e032 b.n 801d708 <__gethex+0x38c> + 801d6a2: f04f 0901 mov.w r9, #1 + 801d6a6: e7d1 b.n 801d64c <__gethex+0x2d0> + 801d6a8: 2501 movs r5, #1 + 801d6aa: e7e2 b.n 801d672 <__gethex+0x2f6> + 801d6ac: 9b0f ldr r3, [sp, #60] @ 0x3c + 801d6ae: f1c3 0301 rsb r3, r3, #1 + 801d6b2: 930f str r3, [sp, #60] @ 0x3c + 801d6b4: 9b0f ldr r3, [sp, #60] @ 0x3c + 801d6b6: 2b00 cmp r3, #0 + 801d6b8: d0f0 beq.n 801d69c <__gethex+0x320> + 801d6ba: f8d4 b010 ldr.w fp, [r4, #16] + 801d6be: f104 0314 add.w r3, r4, #20 + 801d6c2: ea4f 0a8b mov.w sl, fp, lsl #2 + 801d6c6: eb03 018b add.w r1, r3, fp, lsl #2 + 801d6ca: f04f 0c00 mov.w ip, #0 + 801d6ce: 4618 mov r0, r3 + 801d6d0: f853 2b04 ldr.w r2, [r3], #4 + 801d6d4: f1b2 3fff cmp.w r2, #4294967295 @ 0xffffffff + 801d6d8: d01b beq.n 801d712 <__gethex+0x396> + 801d6da: 3201 adds r2, #1 + 801d6dc: 6002 str r2, [r0, #0] + 801d6de: 2d02 cmp r5, #2 + 801d6e0: f104 0314 add.w r3, r4, #20 + 801d6e4: d13c bne.n 801d760 <__gethex+0x3e4> + 801d6e6: f8d8 2000 ldr.w r2, [r8] + 801d6ea: 3a01 subs r2, #1 + 801d6ec: 42b2 cmp r2, r6 + 801d6ee: d109 bne.n 801d704 <__gethex+0x388> + 801d6f0: 1171 asrs r1, r6, #5 + 801d6f2: 2201 movs r2, #1 + 801d6f4: f853 3021 ldr.w r3, [r3, r1, lsl #2] + 801d6f8: f006 061f and.w r6, r6, #31 + 801d6fc: fa02 f606 lsl.w r6, r2, r6 + 801d700: 421e tst r6, r3 + 801d702: d13a bne.n 801d77a <__gethex+0x3fe> + 801d704: f045 0520 orr.w r5, r5, #32 + 801d708: 9b0e ldr r3, [sp, #56] @ 0x38 + 801d70a: 601c str r4, [r3, #0] + 801d70c: 9b02 ldr r3, [sp, #8] + 801d70e: 601f str r7, [r3, #0] + 801d710: e6b0 b.n 801d474 <__gethex+0xf8> + 801d712: 4299 cmp r1, r3 + 801d714: f843 cc04 str.w ip, [r3, #-4] + 801d718: d8d9 bhi.n 801d6ce <__gethex+0x352> + 801d71a: 68a3 ldr r3, [r4, #8] + 801d71c: 459b cmp fp, r3 + 801d71e: db17 blt.n 801d750 <__gethex+0x3d4> + 801d720: 6861 ldr r1, [r4, #4] + 801d722: 9801 ldr r0, [sp, #4] + 801d724: 3101 adds r1, #1 + 801d726: f7fd fe43 bl 801b3b0 <_Balloc> + 801d72a: 4681 mov r9, r0 + 801d72c: b918 cbnz r0, 801d736 <__gethex+0x3ba> + 801d72e: 4b1a ldr r3, [pc, #104] @ (801d798 <__gethex+0x41c>) + 801d730: 4602 mov r2, r0 + 801d732: 2184 movs r1, #132 @ 0x84 + 801d734: e6c5 b.n 801d4c2 <__gethex+0x146> + 801d736: 6922 ldr r2, [r4, #16] + 801d738: 3202 adds r2, #2 + 801d73a: f104 010c add.w r1, r4, #12 + 801d73e: 0092 lsls r2, r2, #2 + 801d740: 300c adds r0, #12 + 801d742: f7fc febc bl 801a4be + 801d746: 4621 mov r1, r4 + 801d748: 9801 ldr r0, [sp, #4] + 801d74a: f7fd fe6f bl 801b42c <_Bfree> + 801d74e: 464c mov r4, r9 + 801d750: 6923 ldr r3, [r4, #16] + 801d752: 1c5a adds r2, r3, #1 + 801d754: eb04 0383 add.w r3, r4, r3, lsl #2 + 801d758: 6122 str r2, [r4, #16] + 801d75a: 2201 movs r2, #1 + 801d75c: 615a str r2, [r3, #20] + 801d75e: e7be b.n 801d6de <__gethex+0x362> + 801d760: 6922 ldr r2, [r4, #16] + 801d762: 455a cmp r2, fp + 801d764: dd0b ble.n 801d77e <__gethex+0x402> + 801d766: 2101 movs r1, #1 + 801d768: 4620 mov r0, r4 + 801d76a: f7ff fd9f bl 801d2ac + 801d76e: f8d8 3008 ldr.w r3, [r8, #8] + 801d772: 3701 adds r7, #1 + 801d774: 42bb cmp r3, r7 + 801d776: f6ff aee0 blt.w 801d53a <__gethex+0x1be> + 801d77a: 2501 movs r5, #1 + 801d77c: e7c2 b.n 801d704 <__gethex+0x388> + 801d77e: f016 061f ands.w r6, r6, #31 + 801d782: d0fa beq.n 801d77a <__gethex+0x3fe> + 801d784: 4453 add r3, sl + 801d786: f1c6 0620 rsb r6, r6, #32 + 801d78a: f853 0c04 ldr.w r0, [r3, #-4] + 801d78e: f7fd feff bl 801b590 <__hi0bits> + 801d792: 42b0 cmp r0, r6 + 801d794: dbe7 blt.n 801d766 <__gethex+0x3ea> + 801d796: e7f0 b.n 801d77a <__gethex+0x3fe> + 801d798: 0801e6c5 .word 0x0801e6c5 + +0801d79c : + 801d79c: f1c2 0208 rsb r2, r2, #8 + 801d7a0: 0092 lsls r2, r2, #2 + 801d7a2: b570 push {r4, r5, r6, lr} + 801d7a4: f1c2 0620 rsb r6, r2, #32 + 801d7a8: 6843 ldr r3, [r0, #4] + 801d7aa: 6804 ldr r4, [r0, #0] + 801d7ac: fa03 f506 lsl.w r5, r3, r6 + 801d7b0: 432c orrs r4, r5 + 801d7b2: 40d3 lsrs r3, r2 + 801d7b4: 6004 str r4, [r0, #0] + 801d7b6: f840 3f04 str.w r3, [r0, #4]! + 801d7ba: 4288 cmp r0, r1 + 801d7bc: d3f4 bcc.n 801d7a8 + 801d7be: bd70 pop {r4, r5, r6, pc} + +0801d7c0 <__match>: + 801d7c0: b530 push {r4, r5, lr} + 801d7c2: 6803 ldr r3, [r0, #0] + 801d7c4: 3301 adds r3, #1 + 801d7c6: f811 4b01 ldrb.w r4, [r1], #1 + 801d7ca: b914 cbnz r4, 801d7d2 <__match+0x12> + 801d7cc: 6003 str r3, [r0, #0] + 801d7ce: 2001 movs r0, #1 + 801d7d0: bd30 pop {r4, r5, pc} + 801d7d2: f813 2b01 ldrb.w r2, [r3], #1 + 801d7d6: f1a2 0541 sub.w r5, r2, #65 @ 0x41 + 801d7da: 2d19 cmp r5, #25 + 801d7dc: bf98 it ls + 801d7de: 3220 addls r2, #32 + 801d7e0: 42a2 cmp r2, r4 + 801d7e2: d0f0 beq.n 801d7c6 <__match+0x6> + 801d7e4: 2000 movs r0, #0 + 801d7e6: e7f3 b.n 801d7d0 <__match+0x10> + +0801d7e8 <__hexnan>: + 801d7e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801d7ec: 680b ldr r3, [r1, #0] + 801d7ee: 6801 ldr r1, [r0, #0] + 801d7f0: 115e asrs r6, r3, #5 + 801d7f2: eb02 0686 add.w r6, r2, r6, lsl #2 + 801d7f6: f013 031f ands.w r3, r3, #31 + 801d7fa: b087 sub sp, #28 + 801d7fc: bf18 it ne + 801d7fe: 3604 addne r6, #4 + 801d800: 2500 movs r5, #0 + 801d802: 1f37 subs r7, r6, #4 + 801d804: 4682 mov sl, r0 + 801d806: 4690 mov r8, r2 + 801d808: 9301 str r3, [sp, #4] + 801d80a: f846 5c04 str.w r5, [r6, #-4] + 801d80e: 46b9 mov r9, r7 + 801d810: 463c mov r4, r7 + 801d812: 9502 str r5, [sp, #8] + 801d814: 46ab mov fp, r5 + 801d816: 784a ldrb r2, [r1, #1] + 801d818: 1c4b adds r3, r1, #1 + 801d81a: 9303 str r3, [sp, #12] + 801d81c: b342 cbz r2, 801d870 <__hexnan+0x88> + 801d81e: 4610 mov r0, r2 + 801d820: 9105 str r1, [sp, #20] + 801d822: 9204 str r2, [sp, #16] + 801d824: f7ff fd94 bl 801d350 <__hexdig_fun> + 801d828: 2800 cmp r0, #0 + 801d82a: d153 bne.n 801d8d4 <__hexnan+0xec> + 801d82c: 9a04 ldr r2, [sp, #16] + 801d82e: 9905 ldr r1, [sp, #20] + 801d830: 2a20 cmp r2, #32 + 801d832: d818 bhi.n 801d866 <__hexnan+0x7e> + 801d834: 9b02 ldr r3, [sp, #8] + 801d836: 459b cmp fp, r3 + 801d838: dd13 ble.n 801d862 <__hexnan+0x7a> + 801d83a: 454c cmp r4, r9 + 801d83c: d206 bcs.n 801d84c <__hexnan+0x64> + 801d83e: 2d07 cmp r5, #7 + 801d840: dc04 bgt.n 801d84c <__hexnan+0x64> + 801d842: 462a mov r2, r5 + 801d844: 4649 mov r1, r9 + 801d846: 4620 mov r0, r4 + 801d848: f7ff ffa8 bl 801d79c + 801d84c: 4544 cmp r4, r8 + 801d84e: d954 bls.n 801d8fa <__hexnan+0x112> + 801d850: 2300 movs r3, #0 + 801d852: f1a4 0904 sub.w r9, r4, #4 + 801d856: f844 3c04 str.w r3, [r4, #-4] + 801d85a: f8cd b008 str.w fp, [sp, #8] + 801d85e: 464c mov r4, r9 + 801d860: 461d mov r5, r3 + 801d862: 9903 ldr r1, [sp, #12] + 801d864: e7d7 b.n 801d816 <__hexnan+0x2e> + 801d866: 2a29 cmp r2, #41 @ 0x29 + 801d868: d159 bne.n 801d91e <__hexnan+0x136> + 801d86a: 3102 adds r1, #2 + 801d86c: f8ca 1000 str.w r1, [sl] + 801d870: f1bb 0f00 cmp.w fp, #0 + 801d874: d053 beq.n 801d91e <__hexnan+0x136> + 801d876: 454c cmp r4, r9 + 801d878: d206 bcs.n 801d888 <__hexnan+0xa0> + 801d87a: 2d07 cmp r5, #7 + 801d87c: dc04 bgt.n 801d888 <__hexnan+0xa0> + 801d87e: 462a mov r2, r5 + 801d880: 4649 mov r1, r9 + 801d882: 4620 mov r0, r4 + 801d884: f7ff ff8a bl 801d79c + 801d888: 4544 cmp r4, r8 + 801d88a: d938 bls.n 801d8fe <__hexnan+0x116> + 801d88c: f1a8 0204 sub.w r2, r8, #4 + 801d890: 4623 mov r3, r4 + 801d892: f853 1b04 ldr.w r1, [r3], #4 + 801d896: f842 1f04 str.w r1, [r2, #4]! + 801d89a: 429f cmp r7, r3 + 801d89c: d2f9 bcs.n 801d892 <__hexnan+0xaa> + 801d89e: 1b3b subs r3, r7, r4 + 801d8a0: f023 0303 bic.w r3, r3, #3 + 801d8a4: 3401 adds r4, #1 + 801d8a6: 3e03 subs r6, #3 + 801d8a8: 42b4 cmp r4, r6 + 801d8aa: bf88 it hi + 801d8ac: 2300 movhi r3, #0 + 801d8ae: f108 0204 add.w r2, r8, #4 + 801d8b2: 4413 add r3, r2 + 801d8b4: 2100 movs r1, #0 + 801d8b6: 461a mov r2, r3 + 801d8b8: 3304 adds r3, #4 + 801d8ba: 429f cmp r7, r3 + 801d8bc: 6011 str r1, [r2, #0] + 801d8be: d2fa bcs.n 801d8b6 <__hexnan+0xce> + 801d8c0: 683b ldr r3, [r7, #0] + 801d8c2: b91b cbnz r3, 801d8cc <__hexnan+0xe4> + 801d8c4: 4547 cmp r7, r8 + 801d8c6: d128 bne.n 801d91a <__hexnan+0x132> + 801d8c8: 2301 movs r3, #1 + 801d8ca: 603b str r3, [r7, #0] + 801d8cc: 2005 movs r0, #5 + 801d8ce: b007 add sp, #28 + 801d8d0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801d8d4: 3501 adds r5, #1 + 801d8d6: 2d08 cmp r5, #8 + 801d8d8: f10b 0b01 add.w fp, fp, #1 + 801d8dc: dd06 ble.n 801d8ec <__hexnan+0x104> + 801d8de: 4544 cmp r4, r8 + 801d8e0: d9bf bls.n 801d862 <__hexnan+0x7a> + 801d8e2: 2300 movs r3, #0 + 801d8e4: f844 3c04 str.w r3, [r4, #-4] + 801d8e8: 2501 movs r5, #1 + 801d8ea: 3c04 subs r4, #4 + 801d8ec: 6822 ldr r2, [r4, #0] + 801d8ee: f000 000f and.w r0, r0, #15 + 801d8f2: ea40 1002 orr.w r0, r0, r2, lsl #4 + 801d8f6: 6020 str r0, [r4, #0] + 801d8f8: e7b3 b.n 801d862 <__hexnan+0x7a> + 801d8fa: 2508 movs r5, #8 + 801d8fc: e7b1 b.n 801d862 <__hexnan+0x7a> + 801d8fe: 9b01 ldr r3, [sp, #4] + 801d900: 2b00 cmp r3, #0 + 801d902: d0dd beq.n 801d8c0 <__hexnan+0xd8> + 801d904: f1c3 0320 rsb r3, r3, #32 + 801d908: f04f 32ff mov.w r2, #4294967295 @ 0xffffffff + 801d90c: 40da lsrs r2, r3 + 801d90e: f856 3c04 ldr.w r3, [r6, #-4] + 801d912: 4013 ands r3, r2 + 801d914: f846 3c04 str.w r3, [r6, #-4] + 801d918: e7d2 b.n 801d8c0 <__hexnan+0xd8> + 801d91a: 3f04 subs r7, #4 + 801d91c: e7d0 b.n 801d8c0 <__hexnan+0xd8> + 801d91e: 2004 movs r0, #4 + 801d920: e7d5 b.n 801d8ce <__hexnan+0xe6> + +0801d922 <__ascii_mbtowc>: + 801d922: b082 sub sp, #8 + 801d924: b901 cbnz r1, 801d928 <__ascii_mbtowc+0x6> + 801d926: a901 add r1, sp, #4 + 801d928: b142 cbz r2, 801d93c <__ascii_mbtowc+0x1a> + 801d92a: b14b cbz r3, 801d940 <__ascii_mbtowc+0x1e> + 801d92c: 7813 ldrb r3, [r2, #0] + 801d92e: 600b str r3, [r1, #0] + 801d930: 7812 ldrb r2, [r2, #0] + 801d932: 1e10 subs r0, r2, #0 + 801d934: bf18 it ne + 801d936: 2001 movne r0, #1 + 801d938: b002 add sp, #8 + 801d93a: 4770 bx lr + 801d93c: 4610 mov r0, r2 + 801d93e: e7fb b.n 801d938 <__ascii_mbtowc+0x16> + 801d940: f06f 0001 mvn.w r0, #1 + 801d944: e7f8 b.n 801d938 <__ascii_mbtowc+0x16> + +0801d946 <_realloc_r>: + 801d946: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 801d94a: 4607 mov r7, r0 + 801d94c: 4614 mov r4, r2 + 801d94e: 460d mov r5, r1 + 801d950: b921 cbnz r1, 801d95c <_realloc_r+0x16> + 801d952: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} + 801d956: 4611 mov r1, r2 + 801d958: f7fd bc9e b.w 801b298 <_malloc_r> + 801d95c: b92a cbnz r2, 801d96a <_realloc_r+0x24> + 801d95e: f7fd fc27 bl 801b1b0 <_free_r> + 801d962: 4625 mov r5, r4 + 801d964: 4628 mov r0, r5 + 801d966: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 801d96a: f000 f8c0 bl 801daee <_malloc_usable_size_r> + 801d96e: 4284 cmp r4, r0 + 801d970: 4606 mov r6, r0 + 801d972: d802 bhi.n 801d97a <_realloc_r+0x34> + 801d974: ebb4 0f50 cmp.w r4, r0, lsr #1 + 801d978: d8f4 bhi.n 801d964 <_realloc_r+0x1e> + 801d97a: 4621 mov r1, r4 + 801d97c: 4638 mov r0, r7 + 801d97e: f7fd fc8b bl 801b298 <_malloc_r> + 801d982: 4680 mov r8, r0 + 801d984: b908 cbnz r0, 801d98a <_realloc_r+0x44> + 801d986: 4645 mov r5, r8 + 801d988: e7ec b.n 801d964 <_realloc_r+0x1e> + 801d98a: 42b4 cmp r4, r6 + 801d98c: 4622 mov r2, r4 + 801d98e: 4629 mov r1, r5 + 801d990: bf28 it cs + 801d992: 4632 movcs r2, r6 + 801d994: f7fc fd93 bl 801a4be + 801d998: 4629 mov r1, r5 + 801d99a: 4638 mov r0, r7 + 801d99c: f7fd fc08 bl 801b1b0 <_free_r> + 801d9a0: e7f1 b.n 801d986 <_realloc_r+0x40> + +0801d9a2 <__ascii_wctomb>: + 801d9a2: 4603 mov r3, r0 + 801d9a4: 4608 mov r0, r1 + 801d9a6: b141 cbz r1, 801d9ba <__ascii_wctomb+0x18> + 801d9a8: 2aff cmp r2, #255 @ 0xff + 801d9aa: d904 bls.n 801d9b6 <__ascii_wctomb+0x14> + 801d9ac: 228a movs r2, #138 @ 0x8a + 801d9ae: 601a str r2, [r3, #0] + 801d9b0: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801d9b4: 4770 bx lr + 801d9b6: 700a strb r2, [r1, #0] + 801d9b8: 2001 movs r0, #1 + 801d9ba: 4770 bx lr + +0801d9bc : + 801d9bc: b40e push {r1, r2, r3} + 801d9be: b503 push {r0, r1, lr} + 801d9c0: 4601 mov r1, r0 + 801d9c2: ab03 add r3, sp, #12 + 801d9c4: 4805 ldr r0, [pc, #20] @ (801d9dc ) + 801d9c6: f853 2b04 ldr.w r2, [r3], #4 + 801d9ca: 6800 ldr r0, [r0, #0] + 801d9cc: 9301 str r3, [sp, #4] + 801d9ce: f7ff f9a7 bl 801cd20 <_vfiprintf_r> + 801d9d2: b002 add sp, #8 + 801d9d4: f85d eb04 ldr.w lr, [sp], #4 + 801d9d8: b003 add sp, #12 + 801d9da: 4770 bx lr + 801d9dc: 2000011c .word 0x2000011c + +0801d9e0 <__swhatbuf_r>: + 801d9e0: b570 push {r4, r5, r6, lr} + 801d9e2: 460c mov r4, r1 + 801d9e4: f9b1 100e ldrsh.w r1, [r1, #14] + 801d9e8: 2900 cmp r1, #0 + 801d9ea: b096 sub sp, #88 @ 0x58 + 801d9ec: 4615 mov r5, r2 + 801d9ee: 461e mov r6, r3 + 801d9f0: da0a bge.n 801da08 <__swhatbuf_r+0x28> + 801d9f2: 89a1 ldrh r1, [r4, #12] + 801d9f4: f011 0180 ands.w r1, r1, #128 @ 0x80 + 801d9f8: d113 bne.n 801da22 <__swhatbuf_r+0x42> + 801d9fa: f44f 6280 mov.w r2, #1024 @ 0x400 + 801d9fe: 2000 movs r0, #0 + 801da00: 6031 str r1, [r6, #0] + 801da02: 602a str r2, [r5, #0] + 801da04: b016 add sp, #88 @ 0x58 + 801da06: bd70 pop {r4, r5, r6, pc} + 801da08: 466a mov r2, sp + 801da0a: f000 f847 bl 801da9c <_fstat_r> + 801da0e: 2800 cmp r0, #0 + 801da10: dbef blt.n 801d9f2 <__swhatbuf_r+0x12> + 801da12: 9901 ldr r1, [sp, #4] + 801da14: f401 4170 and.w r1, r1, #61440 @ 0xf000 + 801da18: f5a1 5300 sub.w r3, r1, #8192 @ 0x2000 + 801da1c: 4259 negs r1, r3 + 801da1e: 4159 adcs r1, r3 + 801da20: e7eb b.n 801d9fa <__swhatbuf_r+0x1a> + 801da22: 2100 movs r1, #0 + 801da24: 2240 movs r2, #64 @ 0x40 + 801da26: e7ea b.n 801d9fe <__swhatbuf_r+0x1e> + +0801da28 <__smakebuf_r>: + 801da28: 898b ldrh r3, [r1, #12] + 801da2a: b573 push {r0, r1, r4, r5, r6, lr} + 801da2c: 079e lsls r6, r3, #30 + 801da2e: 4605 mov r5, r0 + 801da30: 460c mov r4, r1 + 801da32: d507 bpl.n 801da44 <__smakebuf_r+0x1c> + 801da34: f104 0347 add.w r3, r4, #71 @ 0x47 + 801da38: 6023 str r3, [r4, #0] + 801da3a: 6123 str r3, [r4, #16] + 801da3c: 2301 movs r3, #1 + 801da3e: 6163 str r3, [r4, #20] + 801da40: b002 add sp, #8 + 801da42: bd70 pop {r4, r5, r6, pc} + 801da44: ab01 add r3, sp, #4 + 801da46: 466a mov r2, sp + 801da48: f7ff ffca bl 801d9e0 <__swhatbuf_r> + 801da4c: 9e00 ldr r6, [sp, #0] + 801da4e: 4628 mov r0, r5 + 801da50: 4631 mov r1, r6 + 801da52: f7fd fc21 bl 801b298 <_malloc_r> + 801da56: f9b4 300c ldrsh.w r3, [r4, #12] + 801da5a: b938 cbnz r0, 801da6c <__smakebuf_r+0x44> + 801da5c: 059a lsls r2, r3, #22 + 801da5e: d4ef bmi.n 801da40 <__smakebuf_r+0x18> + 801da60: f023 0303 bic.w r3, r3, #3 + 801da64: f043 0302 orr.w r3, r3, #2 + 801da68: 81a3 strh r3, [r4, #12] + 801da6a: e7e3 b.n 801da34 <__smakebuf_r+0xc> + 801da6c: f043 0380 orr.w r3, r3, #128 @ 0x80 + 801da70: 81a3 strh r3, [r4, #12] + 801da72: 9b01 ldr r3, [sp, #4] + 801da74: 6020 str r0, [r4, #0] + 801da76: e9c4 0604 strd r0, r6, [r4, #16] + 801da7a: 2b00 cmp r3, #0 + 801da7c: d0e0 beq.n 801da40 <__smakebuf_r+0x18> + 801da7e: f9b4 100e ldrsh.w r1, [r4, #14] + 801da82: 4628 mov r0, r5 + 801da84: f000 f81c bl 801dac0 <_isatty_r> + 801da88: 2800 cmp r0, #0 + 801da8a: d0d9 beq.n 801da40 <__smakebuf_r+0x18> + 801da8c: 89a3 ldrh r3, [r4, #12] + 801da8e: f023 0303 bic.w r3, r3, #3 + 801da92: f043 0301 orr.w r3, r3, #1 + 801da96: 81a3 strh r3, [r4, #12] + 801da98: e7d2 b.n 801da40 <__smakebuf_r+0x18> + ... + +0801da9c <_fstat_r>: + 801da9c: b538 push {r3, r4, r5, lr} + 801da9e: 4d07 ldr r5, [pc, #28] @ (801dabc <_fstat_r+0x20>) + 801daa0: 2300 movs r3, #0 + 801daa2: 4604 mov r4, r0 + 801daa4: 4608 mov r0, r1 + 801daa6: 4611 mov r1, r2 + 801daa8: 602b str r3, [r5, #0] + 801daaa: f7e8 fe41 bl 8006730 <_fstat> + 801daae: 1c43 adds r3, r0, #1 + 801dab0: d102 bne.n 801dab8 <_fstat_r+0x1c> + 801dab2: 682b ldr r3, [r5, #0] + 801dab4: b103 cbz r3, 801dab8 <_fstat_r+0x1c> + 801dab6: 6023 str r3, [r4, #0] + 801dab8: bd38 pop {r3, r4, r5, pc} + 801daba: bf00 nop + 801dabc: 20013cd8 .word 0x20013cd8 + +0801dac0 <_isatty_r>: + 801dac0: b538 push {r3, r4, r5, lr} + 801dac2: 4d06 ldr r5, [pc, #24] @ (801dadc <_isatty_r+0x1c>) + 801dac4: 2300 movs r3, #0 + 801dac6: 4604 mov r4, r0 + 801dac8: 4608 mov r0, r1 + 801daca: 602b str r3, [r5, #0] + 801dacc: f7e8 fe40 bl 8006750 <_isatty> + 801dad0: 1c43 adds r3, r0, #1 + 801dad2: d102 bne.n 801dada <_isatty_r+0x1a> + 801dad4: 682b ldr r3, [r5, #0] + 801dad6: b103 cbz r3, 801dada <_isatty_r+0x1a> + 801dad8: 6023 str r3, [r4, #0] + 801dada: bd38 pop {r3, r4, r5, pc} + 801dadc: 20013cd8 .word 0x20013cd8 + +0801dae0 : + 801dae0: b508 push {r3, lr} + 801dae2: 2006 movs r0, #6 + 801dae4: f000 f834 bl 801db50 + 801dae8: 2001 movs r0, #1 + 801daea: f7e8 fded bl 80066c8 <_exit> + +0801daee <_malloc_usable_size_r>: + 801daee: f851 3c04 ldr.w r3, [r1, #-4] + 801daf2: 1f18 subs r0, r3, #4 + 801daf4: 2b00 cmp r3, #0 + 801daf6: bfbc itt lt + 801daf8: 580b ldrlt r3, [r1, r0] + 801dafa: 18c0 addlt r0, r0, r3 + 801dafc: 4770 bx lr + +0801dafe <_raise_r>: + 801dafe: 291f cmp r1, #31 + 801db00: b538 push {r3, r4, r5, lr} + 801db02: 4605 mov r5, r0 + 801db04: 460c mov r4, r1 + 801db06: d904 bls.n 801db12 <_raise_r+0x14> + 801db08: 2316 movs r3, #22 + 801db0a: 6003 str r3, [r0, #0] + 801db0c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801db10: bd38 pop {r3, r4, r5, pc} + 801db12: 6bc2 ldr r2, [r0, #60] @ 0x3c + 801db14: b112 cbz r2, 801db1c <_raise_r+0x1e> + 801db16: f852 3021 ldr.w r3, [r2, r1, lsl #2] + 801db1a: b94b cbnz r3, 801db30 <_raise_r+0x32> + 801db1c: 4628 mov r0, r5 + 801db1e: f000 f831 bl 801db84 <_getpid_r> + 801db22: 4622 mov r2, r4 + 801db24: 4601 mov r1, r0 + 801db26: 4628 mov r0, r5 + 801db28: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} + 801db2c: f000 b818 b.w 801db60 <_kill_r> + 801db30: 2b01 cmp r3, #1 + 801db32: d00a beq.n 801db4a <_raise_r+0x4c> + 801db34: 1c59 adds r1, r3, #1 + 801db36: d103 bne.n 801db40 <_raise_r+0x42> + 801db38: 2316 movs r3, #22 + 801db3a: 6003 str r3, [r0, #0] + 801db3c: 2001 movs r0, #1 + 801db3e: e7e7 b.n 801db10 <_raise_r+0x12> + 801db40: 2100 movs r1, #0 + 801db42: f842 1024 str.w r1, [r2, r4, lsl #2] + 801db46: 4620 mov r0, r4 + 801db48: 4798 blx r3 + 801db4a: 2000 movs r0, #0 + 801db4c: e7e0 b.n 801db10 <_raise_r+0x12> + ... + +0801db50 : + 801db50: 4b02 ldr r3, [pc, #8] @ (801db5c ) + 801db52: 4601 mov r1, r0 + 801db54: 6818 ldr r0, [r3, #0] + 801db56: f7ff bfd2 b.w 801dafe <_raise_r> + 801db5a: bf00 nop + 801db5c: 2000011c .word 0x2000011c + +0801db60 <_kill_r>: + 801db60: b538 push {r3, r4, r5, lr} + 801db62: 4d07 ldr r5, [pc, #28] @ (801db80 <_kill_r+0x20>) + 801db64: 2300 movs r3, #0 + 801db66: 4604 mov r4, r0 + 801db68: 4608 mov r0, r1 + 801db6a: 4611 mov r1, r2 + 801db6c: 602b str r3, [r5, #0] + 801db6e: f7e8 fd9b bl 80066a8 <_kill> + 801db72: 1c43 adds r3, r0, #1 + 801db74: d102 bne.n 801db7c <_kill_r+0x1c> + 801db76: 682b ldr r3, [r5, #0] + 801db78: b103 cbz r3, 801db7c <_kill_r+0x1c> + 801db7a: 6023 str r3, [r4, #0] + 801db7c: bd38 pop {r3, r4, r5, pc} + 801db7e: bf00 nop + 801db80: 20013cd8 .word 0x20013cd8 + +0801db84 <_getpid_r>: + 801db84: f7e8 bd88 b.w 8006698 <_getpid> + +0801db88 : + 801db88: b538 push {r3, r4, r5, lr} + 801db8a: ed2d 8b02 vpush {d8} + 801db8e: ec55 4b10 vmov r4, r5, d0 + 801db92: f000 f82d bl 801dbf0 <__ieee754_sqrt> + 801db96: 4622 mov r2, r4 + 801db98: 462b mov r3, r5 + 801db9a: 4620 mov r0, r4 + 801db9c: 4629 mov r1, r5 + 801db9e: eeb0 8a40 vmov.f32 s16, s0 + 801dba2: eef0 8a60 vmov.f32 s17, s1 + 801dba6: f7e2 ff99 bl 8000adc <__aeabi_dcmpun> + 801dbaa: b930 cbnz r0, 801dbba + 801dbac: 2200 movs r2, #0 + 801dbae: 2300 movs r3, #0 + 801dbb0: 4620 mov r0, r4 + 801dbb2: 4629 mov r1, r5 + 801dbb4: f7e2 ff6a bl 8000a8c <__aeabi_dcmplt> + 801dbb8: b930 cbnz r0, 801dbc8 + 801dbba: eeb0 0a48 vmov.f32 s0, s16 + 801dbbe: eef0 0a68 vmov.f32 s1, s17 + 801dbc2: ecbd 8b02 vpop {d8} + 801dbc6: bd38 pop {r3, r4, r5, pc} + 801dbc8: f7fc fc4c bl 801a464 <__errno> + 801dbcc: 2200 movs r2, #0 + 801dbce: 2300 movs r3, #0 + 801dbd0: 2121 movs r1, #33 @ 0x21 + 801dbd2: 6001 str r1, [r0, #0] + 801dbd4: 4610 mov r0, r2 + 801dbd6: 4619 mov r1, r3 + 801dbd8: f7e2 fe10 bl 80007fc <__aeabi_ddiv> + 801dbdc: ec41 0b18 vmov d8, r0, r1 + 801dbe0: eeb0 0a48 vmov.f32 s0, s16 + 801dbe4: eef0 0a68 vmov.f32 s1, s17 + 801dbe8: ecbd 8b02 vpop {d8} + 801dbec: bd38 pop {r3, r4, r5, pc} + 801dbee: bf00 nop + +0801dbf0 <__ieee754_sqrt>: + 801dbf0: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 801dbf4: 4977 ldr r1, [pc, #476] @ (801ddd4 <__ieee754_sqrt+0x1e4>) + 801dbf6: ec55 4b10 vmov r4, r5, d0 + 801dbfa: 43a9 bics r1, r5 + 801dbfc: f000 80ae beq.w 801dd5c <__ieee754_sqrt+0x16c> + 801dc00: 2d00 cmp r5, #0 + 801dc02: 462a mov r2, r5 + 801dc04: 4623 mov r3, r4 + 801dc06: dd55 ble.n 801dcb4 <__ieee754_sqrt+0xc4> + 801dc08: 152c asrs r4, r5, #20 + 801dc0a: d062 beq.n 801dcd2 <__ieee754_sqrt+0xe2> + 801dc0c: f3c2 0213 ubfx r2, r2, #0, #20 + 801dc10: 07e1 lsls r1, r4, #31 + 801dc12: f2a4 37ff subw r7, r4, #1023 @ 0x3ff + 801dc16: f442 1280 orr.w r2, r2, #1048576 @ 0x100000 + 801dc1a: d403 bmi.n 801dc24 <__ieee754_sqrt+0x34> + 801dc1c: 0052 lsls r2, r2, #1 + 801dc1e: eb02 72d3 add.w r2, r2, r3, lsr #31 + 801dc22: 005b lsls r3, r3, #1 + 801dc24: 0052 lsls r2, r2, #1 + 801dc26: 2600 movs r6, #0 + 801dc28: eb02 72d3 add.w r2, r2, r3, lsr #31 + 801dc2c: 107f asrs r7, r7, #1 + 801dc2e: 005b lsls r3, r3, #1 + 801dc30: 2416 movs r4, #22 + 801dc32: 46b4 mov ip, r6 + 801dc34: f44f 1100 mov.w r1, #2097152 @ 0x200000 + 801dc38: eb0c 0001 add.w r0, ip, r1 + 801dc3c: 4290 cmp r0, r2 + 801dc3e: ea4f 75d3 mov.w r5, r3, lsr #31 + 801dc42: ea4f 0343 mov.w r3, r3, lsl #1 + 801dc46: dc03 bgt.n 801dc50 <__ieee754_sqrt+0x60> + 801dc48: eb00 0c01 add.w ip, r0, r1 + 801dc4c: 1a12 subs r2, r2, r0 + 801dc4e: 440e add r6, r1 + 801dc50: 3c01 subs r4, #1 + 801dc52: eb05 0242 add.w r2, r5, r2, lsl #1 + 801dc56: ea4f 0151 mov.w r1, r1, lsr #1 + 801dc5a: d1ed bne.n 801dc38 <__ieee754_sqrt+0x48> + 801dc5c: 46a0 mov r8, r4 + 801dc5e: 2520 movs r5, #32 + 801dc60: f04f 4000 mov.w r0, #2147483648 @ 0x80000000 + 801dc64: e00a b.n 801dc7c <__ieee754_sqrt+0x8c> + 801dc66: d043 beq.n 801dcf0 <__ieee754_sqrt+0x100> + 801dc68: 0051 lsls r1, r2, #1 + 801dc6a: eb01 71d3 add.w r1, r1, r3, lsr #31 + 801dc6e: 3d01 subs r5, #1 + 801dc70: 460a mov r2, r1 + 801dc72: ea4f 0343 mov.w r3, r3, lsl #1 + 801dc76: ea4f 0050 mov.w r0, r0, lsr #1 + 801dc7a: d045 beq.n 801dd08 <__ieee754_sqrt+0x118> + 801dc7c: 4562 cmp r2, ip + 801dc7e: eb00 0e08 add.w lr, r0, r8 + 801dc82: ddf0 ble.n 801dc66 <__ieee754_sqrt+0x76> + 801dc84: f1be 0f00 cmp.w lr, #0 + 801dc88: eb0e 0800 add.w r8, lr, r0 + 801dc8c: db0c blt.n 801dca8 <__ieee754_sqrt+0xb8> + 801dc8e: 46e1 mov r9, ip + 801dc90: eba2 010c sub.w r1, r2, ip + 801dc94: 459e cmp lr, r3 + 801dc96: bf88 it hi + 801dc98: f101 31ff addhi.w r1, r1, #4294967295 @ 0xffffffff + 801dc9c: 0049 lsls r1, r1, #1 + 801dc9e: 46cc mov ip, r9 + 801dca0: eba3 030e sub.w r3, r3, lr + 801dca4: 4404 add r4, r0 + 801dca6: e7e0 b.n 801dc6a <__ieee754_sqrt+0x7a> + 801dca8: f1b8 0f00 cmp.w r8, #0 + 801dcac: dbef blt.n 801dc8e <__ieee754_sqrt+0x9e> + 801dcae: f10c 0901 add.w r9, ip, #1 + 801dcb2: e7ed b.n 801dc90 <__ieee754_sqrt+0xa0> + 801dcb4: f025 4100 bic.w r1, r5, #2147483648 @ 0x80000000 + 801dcb8: 4321 orrs r1, r4 + 801dcba: d046 beq.n 801dd4a <__ieee754_sqrt+0x15a> + 801dcbc: 2d00 cmp r5, #0 + 801dcbe: d174 bne.n 801ddaa <__ieee754_sqrt+0x1ba> + 801dcc0: 0ad9 lsrs r1, r3, #11 + 801dcc2: 3a15 subs r2, #21 + 801dcc4: 055b lsls r3, r3, #21 + 801dcc6: 2900 cmp r1, #0 + 801dcc8: d0fa beq.n 801dcc0 <__ieee754_sqrt+0xd0> + 801dcca: 02ce lsls r6, r1, #11 + 801dccc: 4614 mov r4, r2 + 801dcce: d47d bmi.n 801ddcc <__ieee754_sqrt+0x1dc> + 801dcd0: 460a mov r2, r1 + 801dcd2: 2100 movs r1, #0 + 801dcd4: 0052 lsls r2, r2, #1 + 801dcd6: 02d5 lsls r5, r2, #11 + 801dcd8: 4608 mov r0, r1 + 801dcda: f101 0101 add.w r1, r1, #1 + 801dcde: d5f9 bpl.n 801dcd4 <__ieee754_sqrt+0xe4> + 801dce0: f1c1 0520 rsb r5, r1, #32 + 801dce4: fa23 f505 lsr.w r5, r3, r5 + 801dce8: 432a orrs r2, r5 + 801dcea: 408b lsls r3, r1 + 801dcec: 1a24 subs r4, r4, r0 + 801dcee: e78d b.n 801dc0c <__ieee754_sqrt+0x1c> + 801dcf0: 459e cmp lr, r3 + 801dcf2: d902 bls.n 801dcfa <__ieee754_sqrt+0x10a> + 801dcf4: ea4f 014c mov.w r1, ip, lsl #1 + 801dcf8: e7b7 b.n 801dc6a <__ieee754_sqrt+0x7a> + 801dcfa: f1be 0f00 cmp.w lr, #0 + 801dcfe: eb0e 0800 add.w r8, lr, r0 + 801dd02: db24 blt.n 801dd4e <__ieee754_sqrt+0x15e> + 801dd04: 2100 movs r1, #0 + 801dd06: e7cb b.n 801dca0 <__ieee754_sqrt+0xb0> + 801dd08: 4319 orrs r1, r3 + 801dd0a: d012 beq.n 801dd32 <__ieee754_sqrt+0x142> + 801dd0c: f8df a0c8 ldr.w sl, [pc, #200] @ 801ddd8 <__ieee754_sqrt+0x1e8> + 801dd10: f8df b0c8 ldr.w fp, [pc, #200] @ 801dddc <__ieee754_sqrt+0x1ec> + 801dd14: e9da 0100 ldrd r0, r1, [sl] + 801dd18: e9db 2300 ldrd r2, r3, [fp] + 801dd1c: f7e2 fa8c bl 8000238 <__aeabi_dsub> + 801dd20: e9da 8900 ldrd r8, r9, [sl] + 801dd24: 4602 mov r2, r0 + 801dd26: 460b mov r3, r1 + 801dd28: 4640 mov r0, r8 + 801dd2a: 4649 mov r1, r9 + 801dd2c: f7e2 feb8 bl 8000aa0 <__aeabi_dcmple> + 801dd30: bb10 cbnz r0, 801dd78 <__ieee754_sqrt+0x188> + 801dd32: 0865 lsrs r5, r4, #1 + 801dd34: 1071 asrs r1, r6, #1 + 801dd36: f101 517f add.w r1, r1, #1069547520 @ 0x3fc00000 + 801dd3a: f501 1100 add.w r1, r1, #2097152 @ 0x200000 + 801dd3e: eb01 5307 add.w r3, r1, r7, lsl #20 + 801dd42: ea45 72c6 orr.w r2, r5, r6, lsl #31 + 801dd46: ec43 2b10 vmov d0, r2, r3 + 801dd4a: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801dd4e: f1b8 0f00 cmp.w r8, #0 + 801dd52: dbd7 blt.n 801dd04 <__ieee754_sqrt+0x114> + 801dd54: f10c 0c01 add.w ip, ip, #1 + 801dd58: 2100 movs r1, #0 + 801dd5a: e7a1 b.n 801dca0 <__ieee754_sqrt+0xb0> + 801dd5c: 4622 mov r2, r4 + 801dd5e: 462b mov r3, r5 + 801dd60: 4620 mov r0, r4 + 801dd62: 4629 mov r1, r5 + 801dd64: f7e2 fc20 bl 80005a8 <__aeabi_dmul> + 801dd68: 4622 mov r2, r4 + 801dd6a: 462b mov r3, r5 + 801dd6c: f7e2 fa66 bl 800023c <__adddf3> + 801dd70: ec41 0b10 vmov d0, r0, r1 + 801dd74: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 801dd78: f1b4 3fff cmp.w r4, #4294967295 @ 0xffffffff + 801dd7c: e9da 0100 ldrd r0, r1, [sl] + 801dd80: e9db 2300 ldrd r2, r3, [fp] + 801dd84: d01e beq.n 801ddc4 <__ieee754_sqrt+0x1d4> + 801dd86: f7e2 fa59 bl 800023c <__adddf3> + 801dd8a: e9da 8900 ldrd r8, r9, [sl] + 801dd8e: 4602 mov r2, r0 + 801dd90: 460b mov r3, r1 + 801dd92: 4640 mov r0, r8 + 801dd94: 4649 mov r1, r9 + 801dd96: f7e2 fe79 bl 8000a8c <__aeabi_dcmplt> + 801dd9a: b1a8 cbz r0, 801ddc8 <__ieee754_sqrt+0x1d8> + 801dd9c: 1ca3 adds r3, r4, #2 + 801dd9e: f104 0502 add.w r5, r4, #2 + 801dda2: bf08 it eq + 801dda4: 3601 addeq r6, #1 + 801dda6: 086d lsrs r5, r5, #1 + 801dda8: e7c4 b.n 801dd34 <__ieee754_sqrt+0x144> + 801ddaa: 4622 mov r2, r4 + 801ddac: 462b mov r3, r5 + 801ddae: 4620 mov r0, r4 + 801ddb0: 4629 mov r1, r5 + 801ddb2: f7e2 fa41 bl 8000238 <__aeabi_dsub> + 801ddb6: 4602 mov r2, r0 + 801ddb8: 460b mov r3, r1 + 801ddba: f7e2 fd1f bl 80007fc <__aeabi_ddiv> + 801ddbe: ec41 0b10 vmov d0, r0, r1 + 801ddc2: e7c2 b.n 801dd4a <__ieee754_sqrt+0x15a> + 801ddc4: 3601 adds r6, #1 + 801ddc6: e7b5 b.n 801dd34 <__ieee754_sqrt+0x144> + 801ddc8: 3401 adds r4, #1 + 801ddca: e7b2 b.n 801dd32 <__ieee754_sqrt+0x142> + 801ddcc: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff + 801ddd0: 460a mov r2, r1 + 801ddd2: e78b b.n 801dcec <__ieee754_sqrt+0xfc> + 801ddd4: 7ff00000 .word 0x7ff00000 + 801ddd8: 0801ea48 .word 0x0801ea48 + 801dddc: 0801ea40 .word 0x0801ea40 + +0801dde0 <_init>: + 801dde0: b5f8 push {r3, r4, r5, r6, r7, lr} + 801dde2: bf00 nop + 801dde4: bcf8 pop {r3, r4, r5, r6, r7} + 801dde6: bc08 pop {r3} + 801dde8: 469e mov lr, r3 + 801ddea: 4770 bx lr + +0801ddec <_fini>: + 801ddec: b5f8 push {r3, r4, r5, r6, r7, lr} + 801ddee: bf00 nop + 801ddf0: bcf8 pop {r3, r4, r5, r6, r7} + 801ddf2: bc08 pop {r3} + 801ddf4: 469e mov lr, r3 + 801ddf6: 4770 bx lr diff --git a/Debug/Trinity_Devboard_V2.map b/Debug/Trinity_Devboard_V2.map index 5315632..9215792 100644 --- a/Debug/Trinity_Devboard_V2.map +++ b/Debug/Trinity_Devboard_V2.map @@ -9,23 +9,17 @@ Archive member included to satisfy reference by file (symbol) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) (_scanf_float) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) (__stdio_exit_handler) + ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o (__sf) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) (_fwalk_sglue) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) ./Core/Src/main.o (printf) -/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) - ./Core/Src/sensors.o (puts) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) (sprintf) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) (__sread) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-vprintf.o) ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o (vprintf) -/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) (__swbuf_r) -/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) (__swsetup_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcmp.o) ./Middlewares/ST/STM32_WPAN/ble/core/template/osal.o (memcmp) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) @@ -37,9 +31,9 @@ Archive member included to satisfy reference by file (symbol) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) (_close_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) (errno) + ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o (_reclaim_reent) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) (_impure_ptr) + ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o (_impure_ptr) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) (_lseek_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) @@ -65,7 +59,7 @@ Archive member included to satisfy reference by file (symbol) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) (_dtoa_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) (_free_r) + /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) (_free_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-malloc.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) (malloc) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) @@ -88,8 +82,10 @@ Archive member included to satisfy reference by file (symbol) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) (_fflush_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fvwrite.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) (__sfvwrite_r) -/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) (__smakebuf_r) +/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) + /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) (__swbuf_r) +/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) + /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) (__swsetup_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) (memmove) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strchr.o) @@ -98,10 +94,6 @@ Archive member included to satisfy reference by file (symbol) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) (strncmp) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-localeconv.o) (__global_locale) -/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) (_fstat_r) -/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) - /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) (_isatty_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) (_sbrk_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strcmp.o) @@ -124,6 +116,12 @@ Archive member included to satisfy reference by file (symbol) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) (__ascii_wctomb) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) (fiprintf) +/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) (__smakebuf_r) +/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) + /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) (_fstat_r) +/opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) + /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) (_isatty_r) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) (abort) /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-msizer.o) @@ -524,7 +522,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Core/Src/app_entry.o .debug_macro 0x00000000 0x29 ./Core/Src/app_entry.o .debug_macro 0x00000000 0x4c ./Core/Src/app_entry.o - .debug_macro 0x00000000 0x17b ./Core/Src/app_entry.o + .debug_macro 0x00000000 0x18f ./Core/Src/app_entry.o .debug_macro 0x00000000 0x83 ./Core/Src/app_entry.o .debug_macro 0x00000000 0x2e ./Core/Src/app_entry.o .debug_macro 0x00000000 0x2e ./Core/Src/app_entry.o @@ -691,14 +689,11 @@ Discarded input sections .group 0x00000000 0xc ./Core/Src/app_freertos.o .group 0x00000000 0xc ./Core/Src/app_freertos.o .group 0x00000000 0xc ./Core/Src/app_freertos.o + .group 0x00000000 0xc ./Core/Src/app_freertos.o + .group 0x00000000 0xc ./Core/Src/app_freertos.o .text 0x00000000 0x0 ./Core/Src/app_freertos.o .data 0x00000000 0x0 ./Core/Src/app_freertos.o .bss 0x00000000 0x0 ./Core/Src/app_freertos.o - .debug_info 0x00000000 0x77 ./Core/Src/app_freertos.o - .debug_abbrev 0x00000000 0x28 ./Core/Src/app_freertos.o - .debug_aranges - 0x00000000 0x18 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x4f4 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0xad8 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x190 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x22 ./Core/Src/app_freertos.o @@ -707,17 +702,21 @@ Discarded input sections .debug_macro 0x00000000 0x103 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x6a ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x1df ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x18f ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x61 ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x2a ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x43 ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x34 ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x364 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x16 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x17b ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x16 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x179 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0xcf ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x28 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x1f ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x12 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x4f4 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0xc3 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x12c ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x4a ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x34 ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x10 ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x58 ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x8e ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x1c ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x17e ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x3c ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x14e ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x2e ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x2e ./Core/Src/app_freertos.o @@ -729,7 +728,7 @@ Discarded input sections .debug_macro 0x00000000 0x12adb ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x6c ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x350b ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x5c ./Core/Src/app_freertos.o + .debug_macro 0x00000000 0x56 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x3f5 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x286 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x30d ./Core/Src/app_freertos.o @@ -775,21 +774,6 @@ Discarded input sections .debug_macro 0x00000000 0x467 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x6d ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x362 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x61 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x2a ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x43 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x34 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x364 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x16 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x4a ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x34 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x10 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x58 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x8e ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x1c ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x17e ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x10 ./Core/Src/app_freertos.o - .debug_macro 0x00000000 0x3c ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x20 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x1c ./Core/Src/app_freertos.o .debug_macro 0x00000000 0x10 ./Core/Src/app_freertos.o @@ -802,11 +786,6 @@ Discarded input sections .debug_macro 0x00000000 0x4c ./Core/Src/app_freertos.o .debug_macro 0x00000000 0xa0 ./Core/Src/app_freertos.o .debug_macro 0x00000000 0xc4 ./Core/Src/app_freertos.o - .debug_line 0x00000000 0xbb3 ./Core/Src/app_freertos.o - .debug_str 0x00000000 0xec3eb ./Core/Src/app_freertos.o - .comment 0x00000000 0x44 ./Core/Src/app_freertos.o - .ARM.attributes - 0x00000000 0x34 ./Core/Src/app_freertos.o .group 0x00000000 0xc ./Core/Src/bmm350.o .group 0x00000000 0xc ./Core/Src/bmm350.o .group 0x00000000 0xc ./Core/Src/bmm350.o @@ -1085,6 +1064,8 @@ Discarded input sections .group 0x00000000 0xc ./Core/Src/freertos_port.o .group 0x00000000 0xc ./Core/Src/freertos_port.o .group 0x00000000 0xc ./Core/Src/freertos_port.o + .group 0x00000000 0xc ./Core/Src/freertos_port.o + .group 0x00000000 0xc ./Core/Src/freertos_port.o .text 0x00000000 0x0 ./Core/Src/freertos_port.o .data 0x00000000 0x0 ./Core/Src/freertos_port.o .bss 0x00000000 0x0 ./Core/Src/freertos_port.o @@ -1096,7 +1077,7 @@ Discarded input sections 0x00000000 0x20 ./Core/Src/freertos_port.o .debug_rnglists 0x00000000 0x13 ./Core/Src/freertos_port.o - .debug_macro 0x00000000 0x557 ./Core/Src/freertos_port.o + .debug_macro 0x00000000 0x578 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0xad8 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x22 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x8e ./Core/Src/freertos_port.o @@ -1130,7 +1111,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x29 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x4c ./Core/Src/freertos_port.o - .debug_macro 0x00000000 0x17b ./Core/Src/freertos_port.o + .debug_macro 0x00000000 0x18f ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x83 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x2e ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x2e ./Core/Src/freertos_port.o @@ -1196,14 +1177,16 @@ Discarded input sections .debug_macro 0x00000000 0x28 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x1f ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x12 ./Core/Src/freertos_port.o - .debug_macro 0x00000000 0x4f4 ./Core/Src/freertos_port.o + .debug_macro 0x00000000 0x16 ./Core/Src/freertos_port.o + .debug_macro 0x00000000 0x22 ./Core/Src/freertos_port.o + .debug_macro 0x00000000 0x4da ./Core/Src/freertos_port.o .debug_macro 0x00000000 0xc3 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x12c ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x7c ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x17 ./Core/Src/freertos_port.o .debug_macro 0x00000000 0x118 ./Core/Src/freertos_port.o - .debug_line 0x00000000 0xc10 ./Core/Src/freertos_port.o - .debug_str 0x00000000 0xec709 ./Core/Src/freertos_port.o + .debug_line 0x00000000 0xc30 ./Core/Src/freertos_port.o + .debug_str 0x00000000 0xec832 ./Core/Src/freertos_port.o .comment 0x00000000 0x44 ./Core/Src/freertos_port.o .debug_frame 0x00000000 0x34 ./Core/Src/freertos_port.o .ARM.attributes @@ -1342,7 +1325,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Core/Src/hw_timerserver.o .debug_macro 0x00000000 0x29 ./Core/Src/hw_timerserver.o .debug_macro 0x00000000 0x4c ./Core/Src/hw_timerserver.o - .debug_macro 0x00000000 0x17b ./Core/Src/hw_timerserver.o + .debug_macro 0x00000000 0x18f ./Core/Src/hw_timerserver.o .debug_macro 0x00000000 0x83 ./Core/Src/hw_timerserver.o .debug_macro 0x00000000 0x2e ./Core/Src/hw_timerserver.o .debug_macro 0x00000000 0x2e ./Core/Src/hw_timerserver.o @@ -1573,6 +1556,8 @@ Discarded input sections .group 0x00000000 0xc ./Core/Src/main.o .group 0x00000000 0xc ./Core/Src/main.o .group 0x00000000 0xc ./Core/Src/main.o + .group 0x00000000 0xc ./Core/Src/main.o + .group 0x00000000 0xc ./Core/Src/main.o .text 0x00000000 0x0 ./Core/Src/main.o .data 0x00000000 0x0 ./Core/Src/main.o .bss 0x00000000 0x0 ./Core/Src/main.o @@ -1599,7 +1584,6 @@ Discarded input sections .debug_macro 0x00000000 0x6c ./Core/Src/main.o .debug_macro 0x00000000 0x350b ./Core/Src/main.o .debug_macro 0x00000000 0x190 ./Core/Src/main.o - .debug_macro 0x00000000 0x5c ./Core/Src/main.o .debug_macro 0x00000000 0x3f5 ./Core/Src/main.o .debug_macro 0x00000000 0x286 ./Core/Src/main.o .debug_macro 0x00000000 0x30d ./Core/Src/main.o @@ -1680,7 +1664,9 @@ Discarded input sections .debug_macro 0x00000000 0x28 ./Core/Src/main.o .debug_macro 0x00000000 0x1f ./Core/Src/main.o .debug_macro 0x00000000 0x12 ./Core/Src/main.o - .debug_macro 0x00000000 0x4f4 ./Core/Src/main.o + .debug_macro 0x00000000 0x16 ./Core/Src/main.o + .debug_macro 0x00000000 0x22 ./Core/Src/main.o + .debug_macro 0x00000000 0x4da ./Core/Src/main.o .debug_macro 0x00000000 0x22 ./Core/Src/main.o .debug_macro 0x00000000 0x1c ./Core/Src/main.o .debug_macro 0x00000000 0x7f2 ./Core/Src/main.o @@ -1794,6 +1780,8 @@ Discarded input sections .group 0x00000000 0xc ./Core/Src/sensors.o .group 0x00000000 0xc ./Core/Src/sensors.o .group 0x00000000 0xc ./Core/Src/sensors.o + .group 0x00000000 0xc ./Core/Src/sensors.o + .group 0x00000000 0xc ./Core/Src/sensors.o .text 0x00000000 0x0 ./Core/Src/sensors.o .data 0x00000000 0x0 ./Core/Src/sensors.o .bss 0x00000000 0x0 ./Core/Src/sensors.o @@ -1801,8 +1789,6 @@ Discarded input sections 0x00000000 0x14 ./Core/Src/sensors.o .rodata.ICM45686_GYRO_SSF 0x00000000 0x24 ./Core/Src/sensors.o - .text.calibrate_icm - 0x00000000 0x310 ./Core/Src/sensors.o .debug_macro 0x00000000 0xad8 ./Core/Src/sensors.o .debug_macro 0x00000000 0x14e ./Core/Src/sensors.o .debug_macro 0x00000000 0x2e ./Core/Src/sensors.o @@ -1859,7 +1845,7 @@ Discarded input sections .debug_macro 0x00000000 0x110 ./Core/Src/sensors.o .debug_macro 0x00000000 0x557 ./Core/Src/sensors.o .debug_macro 0x00000000 0x433 ./Core/Src/sensors.o - .debug_macro 0x00000000 0x17b ./Core/Src/sensors.o + .debug_macro 0x00000000 0x18f ./Core/Src/sensors.o .debug_macro 0x00000000 0x83 ./Core/Src/sensors.o .debug_macro 0x00000000 0x82 ./Core/Src/sensors.o .debug_macro 0x00000000 0x1a8 ./Core/Src/sensors.o @@ -1907,7 +1893,9 @@ Discarded input sections .debug_macro 0x00000000 0x28 ./Core/Src/sensors.o .debug_macro 0x00000000 0x1f ./Core/Src/sensors.o .debug_macro 0x00000000 0x12 ./Core/Src/sensors.o - .debug_macro 0x00000000 0x4f4 ./Core/Src/sensors.o + .debug_macro 0x00000000 0x16 ./Core/Src/sensors.o + .debug_macro 0x00000000 0x22 ./Core/Src/sensors.o + .debug_macro 0x00000000 0x4da ./Core/Src/sensors.o .debug_macro 0x00000000 0x74 ./Core/Src/sensors.o .debug_macro 0x00000000 0xc3 ./Core/Src/sensors.o .debug_macro 0x00000000 0x12c ./Core/Src/sensors.o @@ -2040,7 +2028,7 @@ Discarded input sections .debug_macro 0x00000000 0x103 ./Core/Src/stm32_lpm_if.o .debug_macro 0x00000000 0x6a ./Core/Src/stm32_lpm_if.o .debug_macro 0x00000000 0x1df ./Core/Src/stm32_lpm_if.o - .debug_macro 0x00000000 0x17b ./Core/Src/stm32_lpm_if.o + .debug_macro 0x00000000 0x18f ./Core/Src/stm32_lpm_if.o .debug_macro 0x00000000 0x83 ./Core/Src/stm32_lpm_if.o .debug_macro 0x00000000 0x2e ./Core/Src/stm32_lpm_if.o .debug_macro 0x00000000 0x2e ./Core/Src/stm32_lpm_if.o @@ -2100,7 +2088,7 @@ Discarded input sections .debug_macro 0x00000000 0x6d ./Core/Src/stm32_lpm_if.o .debug_macro 0x00000000 0x362 ./Core/Src/stm32_lpm_if.o .debug_line 0x00000000 0xc40 ./Core/Src/stm32_lpm_if.o - .debug_str 0x00000000 0xe401d ./Core/Src/stm32_lpm_if.o + .debug_str 0x00000000 0xe4083 ./Core/Src/stm32_lpm_if.o .comment 0x00000000 0x44 ./Core/Src/stm32_lpm_if.o .debug_frame 0x00000000 0x2a0 ./Core/Src/stm32_lpm_if.o .ARM.attributes @@ -2275,7 +2263,7 @@ Discarded input sections .debug_macro 0x00000000 0x110 ./Core/Src/stm32wbxx_hal_msp.o .debug_macro 0x00000000 0x557 ./Core/Src/stm32wbxx_hal_msp.o .debug_macro 0x00000000 0x433 ./Core/Src/stm32wbxx_hal_msp.o - .debug_macro 0x00000000 0x17b ./Core/Src/stm32wbxx_hal_msp.o + .debug_macro 0x00000000 0x18f ./Core/Src/stm32wbxx_hal_msp.o .debug_macro 0x00000000 0x83 ./Core/Src/stm32wbxx_hal_msp.o .debug_macro 0x00000000 0x82 ./Core/Src/stm32wbxx_hal_msp.o .debug_macro 0x00000000 0x1a8 ./Core/Src/stm32wbxx_hal_msp.o @@ -2583,7 +2571,7 @@ Discarded input sections .debug_macro 0x00000000 0x110 ./Core/Src/stm32wbxx_it.o .debug_macro 0x00000000 0x557 ./Core/Src/stm32wbxx_it.o .debug_macro 0x00000000 0x433 ./Core/Src/stm32wbxx_it.o - .debug_macro 0x00000000 0x17b ./Core/Src/stm32wbxx_it.o + .debug_macro 0x00000000 0x18f ./Core/Src/stm32wbxx_it.o .debug_macro 0x00000000 0x83 ./Core/Src/stm32wbxx_it.o .debug_macro 0x00000000 0x82 ./Core/Src/stm32wbxx_it.o .debug_macro 0x00000000 0x1a8 ./Core/Src/stm32wbxx_it.o @@ -3374,8 +3362,6 @@ Discarded input sections 0x00000000 0x12c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .text.HAL_DMA_Start 0x00000000 0x86 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - .text.HAL_DMA_Abort - 0x00000000 0xbe ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .text.HAL_DMA_PollForTransfer 0x00000000 0x1b2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .text.HAL_DMA_RegisterCallback @@ -6354,8 +6340,6 @@ Discarded input sections 0x00000000 0x1dc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.HAL_SPI_Receive_DMA 0x00000000 0x240 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .text.HAL_SPI_Abort - 0x00000000 0x240 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.HAL_SPI_Abort_IT 0x00000000 0x1f4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.HAL_SPI_DMAPause @@ -6410,10 +6394,6 @@ Discarded input sections 0x00000000 0x60 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_CloseTx_ISR 0x00000000 0x7e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .text.SPI_AbortRx_ISR - 0x00000000 0xc0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .text.SPI_AbortTx_ISR - 0x00000000 0x144 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .debug_macro 0x00000000 0xad8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .debug_macro 0x00000000 0x14e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .debug_macro 0x00000000 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o @@ -7385,6 +7365,7 @@ Discarded input sections .debug_macro 0x00000000 0x3c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .debug_macro 0x00000000 0x16 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .debug_macro 0x00000000 0x29 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_macro 0x00000000 0x16 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .debug_macro 0x00000000 0x20 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o @@ -8994,7 +8975,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .debug_macro 0x00000000 0x29 ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .debug_macro 0x00000000 0x4c ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o - .debug_macro 0x00000000 0x17b ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o + .debug_macro 0x00000000 0x18f ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .debug_macro 0x00000000 0x83 ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o @@ -9073,7 +9054,7 @@ Discarded input sections .debug_macro 0x00000000 0x5c6 ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .debug_macro 0x00000000 0x1c ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .debug_line 0x00000000 0x10ec ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o - .debug_str 0x00000000 0xf08d9 ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o + .debug_str 0x00000000 0xf093f ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .comment 0x00000000 0x44 ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .debug_frame 0x00000000 0x2ac ./Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o .ARM.attributes @@ -9484,7 +9465,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .debug_macro 0x00000000 0x29 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .debug_macro 0x00000000 0x4c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o - .debug_macro 0x00000000 0x17b ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o + .debug_macro 0x00000000 0x18f ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .debug_macro 0x00000000 0x83 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o @@ -9553,7 +9534,7 @@ Discarded input sections .debug_macro 0x00000000 0x22 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .debug_macro 0x00000000 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .debug_line 0x00000000 0xe80 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o - .debug_str 0x00000000 0xed020 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o + .debug_str 0x00000000 0xed086 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .comment 0x00000000 0x44 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .debug_frame 0x00000000 0x170 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.o .ARM.attributes @@ -9955,7 +9936,7 @@ Discarded input sections .debug_macro 0x00000000 0x13a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .debug_macro 0x00000000 0xac ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .debug_macro 0x00000000 0xb2 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - .debug_macro 0x00000000 0x17b ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + .debug_macro 0x00000000 0x18f ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .debug_macro 0x00000000 0x83 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o @@ -10157,7 +10138,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .debug_macro 0x00000000 0x29 ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .debug_macro 0x00000000 0x4c ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o - .debug_macro 0x00000000 0x17b ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o + .debug_macro 0x00000000 0x18f ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .debug_macro 0x00000000 0x83 ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o @@ -10219,7 +10200,7 @@ Discarded input sections .debug_macro 0x00000000 0x1c ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .debug_macro 0x00000000 0x1c ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .debug_line 0x00000000 0xb81 ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o - .debug_str 0x00000000 0xe791c ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o + .debug_str 0x00000000 0xe7982 ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .comment 0x00000000 0x44 ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .debug_frame 0x00000000 0x84 ./Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o .ARM.attributes @@ -10352,7 +10333,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Middlewares/ST/STM32_WPAN/utilities/otp.o .debug_macro 0x00000000 0x29 ./Middlewares/ST/STM32_WPAN/utilities/otp.o .debug_macro 0x00000000 0x4c ./Middlewares/ST/STM32_WPAN/utilities/otp.o - .debug_macro 0x00000000 0x17b ./Middlewares/ST/STM32_WPAN/utilities/otp.o + .debug_macro 0x00000000 0x18f ./Middlewares/ST/STM32_WPAN/utilities/otp.o .debug_macro 0x00000000 0x83 ./Middlewares/ST/STM32_WPAN/utilities/otp.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/utilities/otp.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/utilities/otp.o @@ -10553,7 +10534,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o .debug_macro 0x00000000 0x29 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o .debug_macro 0x00000000 0x4c ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - .debug_macro 0x00000000 0x17b ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + .debug_macro 0x00000000 0x18f ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o .debug_macro 0x00000000 0x83 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o @@ -10766,7 +10747,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .debug_macro 0x00000000 0x29 ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .debug_macro 0x00000000 0x4c ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o - .debug_macro 0x00000000 0x17b ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o + .debug_macro 0x00000000 0x18f ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .debug_macro 0x00000000 0x83 ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .debug_macro 0x00000000 0x2e ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o @@ -10827,7 +10808,7 @@ Discarded input sections .debug_macro 0x00000000 0x12e ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .debug_macro 0x00000000 0x1c ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .debug_line 0x00000000 0x1208 ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o - .debug_str 0x00000000 0xe7a3e ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o + .debug_str 0x00000000 0xe7aa4 ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .comment 0x00000000 0x44 ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .debug_frame 0x00000000 0x134 ./Middlewares/ST/STM32_WPAN/utilities/stm_queue.o .ARM.attributes @@ -10921,6 +10902,8 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o @@ -10977,6 +10960,7 @@ Discarded input sections 0x00000000 0x82 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .text.osThreadFlagsGet 0x00000000 0x44 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .text.osDelay 0x00000000 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .text.osDelayUntil 0x00000000 0x64 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .text.TimerCallback @@ -11049,6 +11033,8 @@ Discarded input sections 0x00000000 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .text.FreeBlock 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .text.vApplicationStackOverflowHook + 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0xad8 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x5b ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o @@ -11074,14 +11060,16 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_macro 0x00000000 0x2e ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o @@ -11153,6 +11141,22 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o @@ -11160,7 +11164,7 @@ Discarded input sections .debug_abbrev 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_aranges 0x00000000 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o - .debug_macro 0x00000000 0xe8 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x1a7 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0xad8 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x190 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o @@ -11170,19 +11174,35 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x61 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x2a ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x43 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x364 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x4a ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x10 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x58 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x8e ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x1c ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x17e ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x10 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .debug_macro 0x00000000 0x49 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o - .debug_line 0x00000000 0x463 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o - .debug_str 0x00000000 0x9886 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_line 0x00000000 0x59a ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o + .debug_str 0x00000000 0xcad1 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .comment 0x00000000 0x44 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o .ARM.attributes 0x00000000 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o @@ -11224,6 +11244,9 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o @@ -11265,7 +11288,7 @@ Discarded input sections 0x00000000 0x98 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_rnglists 0x00000000 0x71 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o - .debug_macro 0x00000000 0x1d7 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .debug_macro 0x00000000 0x1f8 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0xad8 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x2a ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o @@ -11292,20 +11315,23 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .debug_macro 0x00000000 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x91 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_macro 0x00000000 0x23 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o - .debug_line 0x00000000 0xaea ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o - .debug_str 0x00000000 0xd40e ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .debug_line 0x00000000 0xb0a ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o + .debug_str 0x00000000 0xd537 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .comment 0x00000000 0x44 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .debug_frame 0x00000000 0x250 ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o .ARM.attributes @@ -11345,6 +11371,9 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/list.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/list.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/list.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/list.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/list.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/list.o @@ -11376,14 +11405,17 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/list.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/list.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_macro 0x00000000 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/list.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o @@ -11425,6 +11457,8 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o @@ -11489,14 +11523,16 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o @@ -11535,6 +11571,8 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o @@ -11596,7 +11634,7 @@ Discarded input sections 0x00000000 0xe8 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_rnglists 0x00000000 0xb7 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o - .debug_macro 0x00000000 0x213 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .debug_macro 0x00000000 0x234 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0xad8 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x8e ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o @@ -11622,19 +11660,21 @@ Discarded input sections .debug_macro 0x00000000 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_macro 0x00000000 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o - .debug_line 0x00000000 0xf88 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o - .debug_str 0x00000000 0xd779 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .debug_line 0x00000000 0xfa8 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o + .debug_str 0x00000000 0xd8a2 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .comment 0x00000000 0x44 ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .debug_frame 0x00000000 0x3dc ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o .ARM.attributes @@ -11680,6 +11720,8 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o @@ -11687,6 +11729,8 @@ Discarded input sections 0x00000000 0xf0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.xTaskDelayUntil 0x00000000 0x104 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .text.vTaskDelay + 0x00000000 0x6c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.eTaskGetState 0x00000000 0x110 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.uxTaskPriorityGet @@ -11738,7 +11782,7 @@ Discarded input sections .text.xTaskGenericNotifyStateClear 0x00000000 0x74 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.ulTaskGenericNotifyValueClear - 0x00000000 0x7c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x00000000 0x78 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0xad8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x2a ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o @@ -11768,14 +11812,16 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_macro 0x00000000 0x91 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o @@ -11817,6 +11863,9 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o @@ -11884,14 +11933,17 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_macro 0x00000000 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_macro 0x00000000 0x8e ./Middlewares/Third_Party/FreeRTOS/Source/timers.o @@ -11914,6 +11966,22 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o @@ -11930,14 +11998,30 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x61 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x2a ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x43 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x364 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x4a ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x10 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x58 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x8e ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x1c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x17e ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x10 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o @@ -11979,6 +12063,8 @@ Discarded input sections .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .group 0x00000000 0xc ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .text 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .data 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .bss 0x00000000 0x0 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o @@ -12023,14 +12109,16 @@ Discarded input sections .debug_macro 0x00000000 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0x1df ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .debug_macro 0x00000000 0x17b ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_macro 0x00000000 0x18f ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0x179 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0xcf ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0x1f ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .debug_macro 0x00000000 0x4f4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_macro 0x00000000 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_macro 0x00000000 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_macro 0x00000000 0x4da ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0xc3 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_macro 0x00000000 0x12c ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .group 0x00000000 0xc ./STM32_WPAN/Target/hw_ipcc.o @@ -12181,7 +12269,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 ./STM32_WPAN/Target/hw_ipcc.o .debug_macro 0x00000000 0x29 ./STM32_WPAN/Target/hw_ipcc.o .debug_macro 0x00000000 0x4c ./STM32_WPAN/Target/hw_ipcc.o - .debug_macro 0x00000000 0x17b ./STM32_WPAN/Target/hw_ipcc.o + .debug_macro 0x00000000 0x18f ./STM32_WPAN/Target/hw_ipcc.o .debug_macro 0x00000000 0x83 ./STM32_WPAN/Target/hw_ipcc.o .debug_macro 0x00000000 0x2e ./STM32_WPAN/Target/hw_ipcc.o .debug_macro 0x00000000 0x2e ./STM32_WPAN/Target/hw_ipcc.o @@ -12932,7 +13020,7 @@ Discarded input sections .debug_macro 0x00000000 0x110 ./USB_Device/Target/usbd_conf.o .debug_macro 0x00000000 0x557 ./USB_Device/Target/usbd_conf.o .debug_macro 0x00000000 0x433 ./USB_Device/Target/usbd_conf.o - .debug_macro 0x00000000 0x17b ./USB_Device/Target/usbd_conf.o + .debug_macro 0x00000000 0x18f ./USB_Device/Target/usbd_conf.o .debug_macro 0x00000000 0x83 ./USB_Device/Target/usbd_conf.o .debug_macro 0x00000000 0x82 ./USB_Device/Target/usbd_conf.o .debug_macro 0x00000000 0x1a8 ./USB_Device/Target/usbd_conf.o @@ -13091,7 +13179,7 @@ Discarded input sections .debug_macro 0x00000000 0x10 ./Utilities/lpm/tiny_lpm/stm32_lpm.o .debug_macro 0x00000000 0x3c ./Utilities/lpm/tiny_lpm/stm32_lpm.o .debug_macro 0x00000000 0x20 ./Utilities/lpm/tiny_lpm/stm32_lpm.o - .debug_macro 0x00000000 0x17b ./Utilities/lpm/tiny_lpm/stm32_lpm.o + .debug_macro 0x00000000 0x18f ./Utilities/lpm/tiny_lpm/stm32_lpm.o .debug_macro 0x00000000 0x83 ./Utilities/lpm/tiny_lpm/stm32_lpm.o .debug_macro 0x00000000 0x2e ./Utilities/lpm/tiny_lpm/stm32_lpm.o .debug_macro 0x00000000 0x2e ./Utilities/lpm/tiny_lpm/stm32_lpm.o @@ -13184,9 +13272,6 @@ Discarded input sections .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) .text._printf_r 0x00000000 0x1c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) - .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) - .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) - .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) @@ -13206,13 +13291,6 @@ Discarded input sections .debug_frame 0x00000000 0x30 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-vprintf.o) .ARM.attributes 0x00000000 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-vprintf.o) - .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) - .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) - .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) - .text.__swbuf 0x00000000 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) - .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) - .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) - .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcmp.o) .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcmp.o) .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcmp.o) @@ -13243,8 +13321,6 @@ Discarded input sections .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .text._reclaim_reent - 0x00000000 0xbc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) @@ -13377,9 +13453,13 @@ Discarded input sections .debug_frame 0x00000000 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fvwrite.o) .ARM.attributes 0x00000000 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fvwrite.o) - .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) - .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) - .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) + .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) + .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) + .text.__swbuf 0x00000000 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) + .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) + .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) + .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) @@ -13404,12 +13484,6 @@ Discarded input sections 0x00000000 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) .bss._PathLocale 0x00000000 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) - .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) - .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) - .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) - .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) - .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) - .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) @@ -13456,6 +13530,15 @@ Discarded input sections .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) .text._fprintf_r 0x00000000 0x1a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) + .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) + .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) + .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) + .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) + .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) + .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) .text 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) .data 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) .bss 0x00000000 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) @@ -13794,7 +13877,7 @@ LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools- 0x08000000 g_pfnVectors 0x0800013c . = ALIGN (0x4) -.text 0x08000140 0x1d2e8 +.text 0x08000140 0x1dcb8 0x08000140 . = ALIGN (0x4) *(.text) .text 0x08000140 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o @@ -13862,2214 +13945,2220 @@ LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools- 0x08000ca4 0x48 ./Core/Src/MadgwickAHRS.o 0x08000ca4 MadgwickAHRS_init .text.MadgwickAHRS_update - 0x08000cec 0xd6a ./Core/Src/MadgwickAHRS.o + 0x08000cec 0xdf0 ./Core/Src/MadgwickAHRS.o 0x08000cec MadgwickAHRS_update .text.MadgwickAHRS_update_IMU - 0x08001a56 0x604 ./Core/Src/MadgwickAHRS.o - 0x08001a56 MadgwickAHRS_update_IMU - *fill* 0x0800205a 0x2 - .text.invSqrt 0x0800205c 0x78 ./Core/Src/MadgwickAHRS.o - 0x0800205c invSqrt + 0x08001adc 0x68a ./Core/Src/MadgwickAHRS.o + 0x08001adc MadgwickAHRS_update_IMU + *fill* 0x08002166 0x2 + .text.invSqrt 0x08002168 0x78 ./Core/Src/MadgwickAHRS.o + 0x08002168 invSqrt .text.APPD_EnableCPU2 - 0x080020d4 0x38 ./Core/Src/app_debug.o - 0x080020d4 APPD_EnableCPU2 + 0x080021e0 0x38 ./Core/Src/app_debug.o + 0x080021e0 APPD_EnableCPU2 .text.LL_C2_PWR_SetPowerMode - 0x0800210c 0x2c ./Core/Src/app_entry.o + 0x08002218 0x2c ./Core/Src/app_entry.o .text.LL_EXTI_EnableIT_32_63 - 0x08002138 0x28 ./Core/Src/app_entry.o + 0x08002244 0x28 ./Core/Src/app_entry.o .text.LL_RCC_HSE_SetCapacitorTuning - 0x08002160 0x3c ./Core/Src/app_entry.o + 0x0800226c 0x3c ./Core/Src/app_entry.o .text.LL_RCC_SetClkAfterWakeFromStop - 0x0800219c 0x28 ./Core/Src/app_entry.o + 0x080022a8 0x28 ./Core/Src/app_entry.o .text.LL_DBGMCU_GetDeviceID - 0x080021c4 0x1c ./Core/Src/app_entry.o + 0x080022d0 0x1c ./Core/Src/app_entry.o .text.LL_DBGMCU_GetRevisionID - 0x080021e0 0x1c ./Core/Src/app_entry.o + 0x080022ec 0x1c ./Core/Src/app_entry.o .text.LL_RTC_EnableWriteProtection - 0x080021fc 0x1a ./Core/Src/app_entry.o + 0x08002308 0x1a ./Core/Src/app_entry.o .text.LL_RTC_DisableWriteProtection - 0x08002216 0x20 ./Core/Src/app_entry.o + 0x08002322 0x20 ./Core/Src/app_entry.o .text.LL_RTC_WAKEUP_SetClock - 0x08002236 0x26 ./Core/Src/app_entry.o + 0x08002342 0x26 ./Core/Src/app_entry.o .text.MX_APPE_Config - 0x0800225c 0x1c ./Core/Src/app_entry.o - 0x0800225c MX_APPE_Config + 0x08002368 0x1c ./Core/Src/app_entry.o + 0x08002368 MX_APPE_Config .text.MX_APPE_Init - 0x08002278 0x20 ./Core/Src/app_entry.o - 0x08002278 MX_APPE_Init + 0x08002384 0x20 ./Core/Src/app_entry.o + 0x08002384 MX_APPE_Init .text.Init_Smps - 0x08002298 0xe ./Core/Src/app_entry.o - 0x08002298 Init_Smps + 0x080023a4 0xe ./Core/Src/app_entry.o + 0x080023a4 Init_Smps .text.Init_Exti - 0x080022a6 0xe ./Core/Src/app_entry.o - 0x080022a6 Init_Exti + 0x080023b2 0xe ./Core/Src/app_entry.o + 0x080023b2 Init_Exti .text.Reset_Device - 0x080022b4 0xe ./Core/Src/app_entry.o + 0x080023c0 0xe ./Core/Src/app_entry.o .text.Config_HSE - 0x080022c2 0x28 ./Core/Src/app_entry.o + 0x080023ce 0x28 ./Core/Src/app_entry.o .text.System_Init - 0x080022ea 0x14 ./Core/Src/app_entry.o - *fill* 0x080022fe 0x2 + 0x080023f6 0x14 ./Core/Src/app_entry.o + *fill* 0x0800240a 0x2 .text.Init_Rtc - 0x08002300 0x20 ./Core/Src/app_entry.o + 0x0800240c 0x20 ./Core/Src/app_entry.o .text.SystemPower_Config - 0x08002320 0x1a ./Core/Src/app_entry.o - *fill* 0x0800233a 0x2 + 0x0800242c 0x1a ./Core/Src/app_entry.o + *fill* 0x08002446 0x2 .text.appe_Tl_Init - 0x0800233c 0x9c ./Core/Src/app_entry.o + 0x08002448 0x9c ./Core/Src/app_entry.o .text.APP_BLE_Init - 0x080023d8 0xe ./Core/Src/app_entry.o - 0x080023d8 APP_BLE_Init - *fill* 0x080023e6 0x2 + 0x080024e4 0xe ./Core/Src/app_entry.o + 0x080024e4 APP_BLE_Init + *fill* 0x080024f2 0x2 .text.APPE_SysStatusNot - 0x080023e8 0x40 ./Core/Src/app_entry.o + 0x080024f4 0x40 ./Core/Src/app_entry.o .text.APPE_SysUserEvtRx - 0x08002428 0x68 ./Core/Src/app_entry.o + 0x08002534 0x68 ./Core/Src/app_entry.o .text.APPE_SysEvtError - 0x08002490 0x22 ./Core/Src/app_entry.o + 0x0800259c 0x22 ./Core/Src/app_entry.o .text.APPE_SysEvtReadyProcessing - 0x080024b2 0x88 ./Core/Src/app_entry.o + 0x080025be 0x88 ./Core/Src/app_entry.o .text.ShciUserEvtProcess - 0x0800253a 0x1c ./Core/Src/app_entry.o - *fill* 0x08002556 0x2 + 0x08002646 0x1c ./Core/Src/app_entry.o + *fill* 0x08002662 0x2 .text.shci_notify_asynch_evt - 0x08002558 0x20 ./Core/Src/app_entry.o - 0x08002558 shci_notify_asynch_evt + 0x08002664 0x20 ./Core/Src/app_entry.o + 0x08002664 shci_notify_asynch_evt .text.shci_cmd_resp_release - 0x08002578 0x20 ./Core/Src/app_entry.o - 0x08002578 shci_cmd_resp_release + 0x08002684 0x20 ./Core/Src/app_entry.o + 0x08002684 shci_cmd_resp_release .text.shci_cmd_resp_wait - 0x08002598 0x24 ./Core/Src/app_entry.o - 0x08002598 shci_cmd_resp_wait + 0x080026a4 0x24 ./Core/Src/app_entry.o + 0x080026a4 shci_cmd_resp_wait + .text.vApplicationStackOverflowHook + 0x080026c8 0x12 ./Core/Src/app_freertos.o + 0x080026c8 vApplicationStackOverflowHook .text.bmm350_init - 0x080025bc 0x116 ./Core/Src/bmm350.o - 0x080025bc bmm350_init + 0x080026da 0x116 ./Core/Src/bmm350.o + 0x080026da bmm350_init .text.bmm350_set_regs - 0x080026d2 0x68 ./Core/Src/bmm350.o - 0x080026d2 bmm350_set_regs + 0x080027f0 0x68 ./Core/Src/bmm350.o + 0x080027f0 bmm350_set_regs .text.bmm350_get_regs - 0x0800273a 0xaa ./Core/Src/bmm350.o - 0x0800273a bmm350_get_regs + 0x08002858 0xaa ./Core/Src/bmm350.o + 0x08002858 bmm350_get_regs .text.bmm350_delay_us - 0x080027e4 0x36 ./Core/Src/bmm350.o - 0x080027e4 bmm350_delay_us + 0x08002902 0x36 ./Core/Src/bmm350.o + 0x08002902 bmm350_delay_us .text.bmm350_set_powermode - 0x0800281a 0xa4 ./Core/Src/bmm350.o - 0x0800281a bmm350_set_powermode + 0x08002938 0xa4 ./Core/Src/bmm350.o + 0x08002938 bmm350_set_powermode .text.bmm350_set_odr_performance - 0x080028be 0xda ./Core/Src/bmm350.o - 0x080028be bmm350_set_odr_performance + 0x080029dc 0xda ./Core/Src/bmm350.o + 0x080029dc bmm350_set_odr_performance .text.bmm350_enable_interrupt - 0x08002998 0x62 ./Core/Src/bmm350.o - 0x08002998 bmm350_enable_interrupt + 0x08002ab6 0x62 ./Core/Src/bmm350.o + 0x08002ab6 bmm350_enable_interrupt .text.bmm350_configure_interrupt - 0x080029fa 0xd6 ./Core/Src/bmm350.o - 0x080029fa bmm350_configure_interrupt + 0x08002b18 0xd6 ./Core/Src/bmm350.o + 0x08002b18 bmm350_configure_interrupt .text.bmm350_read_uncomp_mag_temp_data - 0x08002ad0 0x108 ./Core/Src/bmm350.o - 0x08002ad0 bmm350_read_uncomp_mag_temp_data + 0x08002bee 0x108 ./Core/Src/bmm350.o + 0x08002bee bmm350_read_uncomp_mag_temp_data .text.bmm350_magnetic_reset_and_wait - 0x08002bd8 0x156 ./Core/Src/bmm350.o - 0x08002bd8 bmm350_magnetic_reset_and_wait + 0x08002cf6 0x156 ./Core/Src/bmm350.o + 0x08002cf6 bmm350_magnetic_reset_and_wait .text.bmm350_get_compensated_mag_xyz_temp_data - 0x08002d2e 0x326 ./Core/Src/bmm350.o - 0x08002d2e bmm350_get_compensated_mag_xyz_temp_data + 0x08002e4c 0x326 ./Core/Src/bmm350.o + 0x08002e4c bmm350_get_compensated_mag_xyz_temp_data .text.bmm350_get_pmu_cmd_status_0 - 0x08003054 0x92 ./Core/Src/bmm350.o - 0x08003054 bmm350_get_pmu_cmd_status_0 + 0x08003172 0x92 ./Core/Src/bmm350.o + 0x08003172 bmm350_get_pmu_cmd_status_0 .text.null_ptr_check - 0x080030e6 0x40 ./Core/Src/bmm350.o - *fill* 0x08003126 0x2 + 0x08003204 0x40 ./Core/Src/bmm350.o .text.fix_sign - 0x08003128 0xb4 ./Core/Src/bmm350.o + 0x08003244 0xb4 ./Core/Src/bmm350.o .text.read_otp_word - 0x080031dc 0x144 ./Core/Src/bmm350.o + 0x080032f8 0x144 ./Core/Src/bmm350.o .text.update_mag_off_sens - 0x08003320 0x374 ./Core/Src/bmm350.o - *fill* 0x08003694 0x4 + 0x0800343c 0x374 ./Core/Src/bmm350.o .text.read_out_raw_data - 0x08003698 0xf0 ./Core/Src/bmm350.o + 0x080037b0 0xf0 ./Core/Src/bmm350.o .text.update_default_coefiecents - 0x08003788 0x108 ./Core/Src/bmm350.o + 0x080038a0 0x108 ./Core/Src/bmm350.o .text.otp_dump_after_boot - 0x08003890 0x80 ./Core/Src/bmm350.o + 0x080039a8 0x80 ./Core/Src/bmm350.o .text.set_powermode - 0x08003910 0xf4 ./Core/Src/bmm350.o + 0x08003a28 0xf4 ./Core/Src/bmm350.o .text.LL_EXTI_EnableIT_0_31 - 0x08003a04 0x28 ./Core/Src/hw_timerserver.o + 0x08003b1c 0x28 ./Core/Src/hw_timerserver.o .text.LL_EXTI_EnableRisingTrig_0_31 - 0x08003a2c 0x24 ./Core/Src/hw_timerserver.o + 0x08003b44 0x24 ./Core/Src/hw_timerserver.o .text.ReadRtcSsrValue - 0x08003a50 0x40 ./Core/Src/hw_timerserver.o + 0x08003b68 0x40 ./Core/Src/hw_timerserver.o .text.LinkTimerAfter - 0x08003a90 0x8c ./Core/Src/hw_timerserver.o + 0x08003ba8 0x8c ./Core/Src/hw_timerserver.o .text.LinkTimerBefore - 0x08003b1c 0xc0 ./Core/Src/hw_timerserver.o + 0x08003c34 0xc0 ./Core/Src/hw_timerserver.o .text.linkTimer - 0x08003bdc 0x154 ./Core/Src/hw_timerserver.o + 0x08003cf4 0x154 ./Core/Src/hw_timerserver.o .text.UnlinkTimer - 0x08003d30 0x108 ./Core/Src/hw_timerserver.o + 0x08003e48 0x108 ./Core/Src/hw_timerserver.o .text.ReturnTimeElapsed - 0x08003e38 0x80 ./Core/Src/hw_timerserver.o + 0x08003f50 0x80 ./Core/Src/hw_timerserver.o .text.RestartWakeupCounter - 0x08003eb8 0xb0 ./Core/Src/hw_timerserver.o + 0x08003fd0 0xb0 ./Core/Src/hw_timerserver.o .text.RescheduleTimerList - 0x08003f68 0x134 ./Core/Src/hw_timerserver.o + 0x08004080 0x134 ./Core/Src/hw_timerserver.o .text.HW_TS_RTC_Wakeup_Handler - 0x0800409c 0x190 ./Core/Src/hw_timerserver.o - 0x0800409c HW_TS_RTC_Wakeup_Handler + 0x080041b4 0x190 ./Core/Src/hw_timerserver.o + 0x080041b4 HW_TS_RTC_Wakeup_Handler .text.HW_TS_Init - 0x0800422c 0x1b4 ./Core/Src/hw_timerserver.o - 0x0800422c HW_TS_Init + 0x08004344 0x1b4 ./Core/Src/hw_timerserver.o + 0x08004344 HW_TS_Init .text.HW_TS_Stop - 0x080043e0 0x108 ./Core/Src/hw_timerserver.o - 0x080043e0 HW_TS_Stop + 0x080044f8 0x108 ./Core/Src/hw_timerserver.o + 0x080044f8 HW_TS_Stop .text.HW_TS_Start - 0x080044e8 0x10c ./Core/Src/hw_timerserver.o - 0x080044e8 HW_TS_Start + 0x08004600 0x10c ./Core/Src/hw_timerserver.o + 0x08004600 HW_TS_Start .text.HW_TS_RTC_Int_AppNot - 0x080045f4 0x1a ./Core/Src/hw_timerserver.o - 0x080045f4 HW_TS_RTC_Int_AppNot + 0x0800470c 0x1a ./Core/Src/hw_timerserver.o + 0x0800470c HW_TS_RTC_Int_AppNot .text.ITM_SendChar - 0x0800460e 0x4e ./Core/Src/main.o + 0x08004726 0x4e ./Core/Src/main.o .text.LL_RCC_LSE_SetDriveCapability - 0x0800465c 0x2c ./Core/Src/main.o + 0x08004774 0x2c ./Core/Src/main.o .text.LL_AHB1_GRP1_EnableClock - 0x08004688 0x32 ./Core/Src/main.o + 0x080047a0 0x32 ./Core/Src/main.o .text.LL_AHB2_GRP1_EnableClock - 0x080046ba 0x32 ./Core/Src/main.o + 0x080047d2 0x32 ./Core/Src/main.o .text.LL_HSEM_1StepLock - 0x080046ec 0x30 ./Core/Src/main.o - .text._write 0x0800471c 0x38 ./Core/Src/main.o - 0x0800471c _write - .text.main 0x08004754 0xe4 ./Core/Src/main.o - 0x08004754 main + 0x08004804 0x30 ./Core/Src/main.o + .text._write 0x08004834 0x38 ./Core/Src/main.o + 0x08004834 _write + .text.main 0x0800486c 0xe4 ./Core/Src/main.o + 0x0800486c main .text.SystemClock_Config - 0x08004838 0xec ./Core/Src/main.o - 0x08004838 SystemClock_Config + 0x08004950 0xec ./Core/Src/main.o + 0x08004950 SystemClock_Config .text.PeriphCommonClock_Config - 0x08004924 0x40 ./Core/Src/main.o - 0x08004924 PeriphCommonClock_Config + 0x08004a3c 0x40 ./Core/Src/main.o + 0x08004a3c PeriphCommonClock_Config .text.MX_I2C1_Init - 0x08004964 0x80 ./Core/Src/main.o + 0x08004a7c 0x80 ./Core/Src/main.o .text.MX_IPCC_Init - 0x080049e4 0x28 ./Core/Src/main.o + 0x08004afc 0x28 ./Core/Src/main.o .text.MX_RF_Init - 0x08004a0c 0xe ./Core/Src/main.o - *fill* 0x08004a1a 0x2 + 0x08004b24 0xe ./Core/Src/main.o + *fill* 0x08004b32 0x2 .text.MX_RTC_Init - 0x08004a1c 0x68 ./Core/Src/main.o + 0x08004b34 0x68 ./Core/Src/main.o .text.MX_SPI1_Init - 0x08004a84 0x7c ./Core/Src/main.o + 0x08004b9c 0x7c ./Core/Src/main.o .text.MX_SPI2_Init - 0x08004b00 0x7c ./Core/Src/main.o + 0x08004c18 0x7c ./Core/Src/main.o .text.MX_TIM2_Init - 0x08004b7c 0xe0 ./Core/Src/main.o + 0x08004c94 0xe0 ./Core/Src/main.o .text.MX_DMA_Init - 0x08004c5c 0x54 ./Core/Src/main.o + 0x08004d74 0x54 ./Core/Src/main.o .text.MX_GPIO_Init - 0x08004cb0 0xd4 ./Core/Src/main.o + 0x08004dc8 0xd4 ./Core/Src/main.o .text.Start_DataAnalysis - 0x08004d84 0xd4 ./Core/Src/main.o - 0x08004d84 Start_DataAnalysis + 0x08004e9c 0xd4 ./Core/Src/main.o + 0x08004e9c Start_DataAnalysis .text.Start_ICM45686 - 0x08004e58 0x2d8 ./Core/Src/main.o - 0x08004e58 Start_ICM45686 + 0x08004f70 0x324 ./Core/Src/main.o + 0x08004f70 Start_ICM45686 .text.Start_BMM350 - 0x08005130 0xcc ./Core/Src/main.o - 0x08005130 Start_BMM350 + 0x08005294 0xbc ./Core/Src/main.o + 0x08005294 Start_BMM350 .text.HAL_TIM_PeriodElapsedCallback - 0x080051fc 0x24 ./Core/Src/main.o - 0x080051fc HAL_TIM_PeriodElapsedCallback + 0x08005350 0x24 ./Core/Src/main.o + 0x08005350 HAL_TIM_PeriodElapsedCallback .text.Error_Handler - 0x08005220 0xc ./Core/Src/main.o - 0x08005220 Error_Handler + 0x08005374 0xc ./Core/Src/main.o + 0x08005374 Error_Handler .text.HAL_SPI_TxRxCpltCallback - 0x0800522c 0x5c ./Core/Src/sensors.o - 0x0800522c HAL_SPI_TxRxCpltCallback + 0x08005380 0x64 ./Core/Src/sensors.o + 0x08005380 HAL_SPI_TxRxCpltCallback .text.HAL_I2C_MemRxCpltCallback - 0x08005288 0x50 ./Core/Src/sensors.o - 0x08005288 HAL_I2C_MemRxCpltCallback + 0x080053e4 0x58 ./Core/Src/sensors.o + 0x080053e4 HAL_I2C_MemRxCpltCallback .text.HAL_I2C_MemTxCpltCallback - 0x080052d8 0x50 ./Core/Src/sensors.o - 0x080052d8 HAL_I2C_MemTxCpltCallback + 0x0800543c 0x58 ./Core/Src/sensors.o + 0x0800543c HAL_I2C_MemTxCpltCallback .text.HAL_I2C_ErrorCallback - 0x08005328 0x64 ./Core/Src/sensors.o - 0x08005328 HAL_I2C_ErrorCallback + 0x08005494 0x6c ./Core/Src/sensors.o + 0x08005494 HAL_I2C_ErrorCallback .text.HAL_GPIO_EXTI_Callback - 0x0800538c 0x68 ./Core/Src/sensors.o - 0x0800538c HAL_GPIO_EXTI_Callback + 0x08005500 0x78 ./Core/Src/sensors.o + 0x08005500 HAL_GPIO_EXTI_Callback .text.read_icm - 0x080053f4 0x4e ./Core/Src/sensors.o - 0x080053f4 read_icm + 0x08005578 0x4e ./Core/Src/sensors.o + 0x08005578 read_icm .text.read_icm_dma - 0x08005442 0x3a ./Core/Src/sensors.o - 0x08005442 read_icm_dma + 0x080055c6 0x3a ./Core/Src/sensors.o + 0x080055c6 read_icm_dma .text.write_icm - 0x0800547c 0x4a ./Core/Src/sensors.o - 0x0800547c write_icm - *fill* 0x080054c6 0x2 + 0x08005600 0x4a ./Core/Src/sensors.o + 0x08005600 write_icm + *fill* 0x0800564a 0x2 .text.init_icm - 0x080054c8 0x1ec ./Core/Src/sensors.o - 0x080054c8 init_icm - .text.enable_interrupt_icm - 0x080056b4 0x8c ./Core/Src/sensors.o - 0x080056b4 enable_interrupt_icm - .text.configure_interrupt_icm - 0x08005740 0x8c ./Core/Src/sensors.o - 0x08005740 configure_interrupt_icm + 0x0800564c 0x1dc ./Core/Src/sensors.o + 0x0800564c init_icm + .text.calibrate_icm + 0x08005828 0x324 ./Core/Src/sensors.o + 0x08005828 calibrate_icm + .text.configure_and_enable_int_icm + 0x08005b4c 0x154 ./Core/Src/sensors.o + 0x08005b4c configure_and_enable_int_icm .text.bmm_init_DWT - 0x080057cc 0x34 ./Core/Src/sensors.o - 0x080057cc bmm_init_DWT + 0x08005ca0 0x34 ./Core/Src/sensors.o + 0x08005ca0 bmm_init_DWT .text.bmm350_i2c_read - 0x08005800 0x60 ./Core/Src/sensors.o - 0x08005800 bmm350_i2c_read + 0x08005cd4 0x60 ./Core/Src/sensors.o + 0x08005cd4 bmm350_i2c_read .text.bmm350_i2c_write - 0x08005860 0x60 ./Core/Src/sensors.o - 0x08005860 bmm350_i2c_write + 0x08005d34 0x60 ./Core/Src/sensors.o + 0x08005d34 bmm350_i2c_write .text.bmm350_delay - 0x080058c0 0x50 ./Core/Src/sensors.o - 0x080058c0 bmm350_delay + 0x08005d94 0x50 ./Core/Src/sensors.o + 0x08005d94 bmm350_delay .text.init_bmm - 0x08005910 0xbc ./Core/Src/sensors.o - 0x08005910 init_bmm + 0x08005de4 0xb0 ./Core/Src/sensors.o + 0x08005de4 init_bmm .text.bmm_configure_interrupt - 0x080059cc 0x54 ./Core/Src/sensors.o - 0x080059cc bmm_configure_interrupt + 0x08005e94 0x54 ./Core/Src/sensors.o + 0x08005e94 bmm_configure_interrupt .text.LL_RCC_EnableRTC - 0x08005a20 0x22 ./Core/Src/stm32wbxx_hal_msp.o + 0x08005ee8 0x22 ./Core/Src/stm32wbxx_hal_msp.o .text.LL_AHB2_GRP1_EnableClock - 0x08005a42 0x32 ./Core/Src/stm32wbxx_hal_msp.o + 0x08005f0a 0x32 ./Core/Src/stm32wbxx_hal_msp.o .text.LL_AHB3_GRP1_EnableClock - 0x08005a74 0x32 ./Core/Src/stm32wbxx_hal_msp.o + 0x08005f3c 0x32 ./Core/Src/stm32wbxx_hal_msp.o .text.LL_APB1_GRP1_EnableClock - 0x08005aa6 0x32 ./Core/Src/stm32wbxx_hal_msp.o + 0x08005f6e 0x32 ./Core/Src/stm32wbxx_hal_msp.o .text.LL_APB2_GRP1_EnableClock - 0x08005ad8 0x32 ./Core/Src/stm32wbxx_hal_msp.o + 0x08005fa0 0x32 ./Core/Src/stm32wbxx_hal_msp.o + *fill* 0x08005fd2 0x2 + .text.LL_SYSCFG_EnableFastModePlus + 0x08005fd4 0x24 ./Core/Src/stm32wbxx_hal_msp.o .text.HAL_MspInit - 0x08005b0a 0x30 ./Core/Src/stm32wbxx_hal_msp.o - 0x08005b0a HAL_MspInit - *fill* 0x08005b3a 0x2 + 0x08005ff8 0x30 ./Core/Src/stm32wbxx_hal_msp.o + 0x08005ff8 HAL_MspInit .text.HAL_I2C_MspInit - 0x08005b3c 0x168 ./Core/Src/stm32wbxx_hal_msp.o - 0x08005b3c HAL_I2C_MspInit + 0x08006028 0x178 ./Core/Src/stm32wbxx_hal_msp.o + 0x08006028 HAL_I2C_MspInit .text.HAL_IPCC_MspInit - 0x08005ca4 0x48 ./Core/Src/stm32wbxx_hal_msp.o - 0x08005ca4 HAL_IPCC_MspInit + 0x080061a0 0x48 ./Core/Src/stm32wbxx_hal_msp.o + 0x080061a0 HAL_IPCC_MspInit .text.HAL_RTC_MspInit - 0x08005cec 0x6c ./Core/Src/stm32wbxx_hal_msp.o - 0x08005cec HAL_RTC_MspInit + 0x080061e8 0x6c ./Core/Src/stm32wbxx_hal_msp.o + 0x080061e8 HAL_RTC_MspInit .text.HAL_SPI_MspInit - 0x08005d58 0x1a4 ./Core/Src/stm32wbxx_hal_msp.o - 0x08005d58 HAL_SPI_MspInit + 0x08006254 0x1a4 ./Core/Src/stm32wbxx_hal_msp.o + 0x08006254 HAL_SPI_MspInit .text.HAL_TIM_PWM_MspInit - 0x08005efc 0x20 ./Core/Src/stm32wbxx_hal_msp.o - 0x08005efc HAL_TIM_PWM_MspInit + 0x080063f8 0x20 ./Core/Src/stm32wbxx_hal_msp.o + 0x080063f8 HAL_TIM_PWM_MspInit .text.HAL_TIM_MspPostInit - 0x08005f1c 0x52 ./Core/Src/stm32wbxx_hal_msp.o - 0x08005f1c HAL_TIM_MspPostInit + 0x08006418 0x52 ./Core/Src/stm32wbxx_hal_msp.o + 0x08006418 HAL_TIM_MspPostInit .text.LL_APB2_GRP1_EnableClock - 0x08005f6e 0x32 ./Core/Src/stm32wbxx_hal_timebase_tim.o + 0x0800646a 0x32 ./Core/Src/stm32wbxx_hal_timebase_tim.o .text.HAL_InitTick - 0x08005fa0 0xdc ./Core/Src/stm32wbxx_hal_timebase_tim.o - 0x08005fa0 HAL_InitTick + 0x0800649c 0xdc ./Core/Src/stm32wbxx_hal_timebase_tim.o + 0x0800649c HAL_InitTick .text.NMI_Handler - 0x0800607c 0x8 ./Core/Src/stm32wbxx_it.o - 0x0800607c NMI_Handler + 0x08006578 0x8 ./Core/Src/stm32wbxx_it.o + 0x08006578 NMI_Handler .text.HardFault_Handler - 0x08006084 0x8 ./Core/Src/stm32wbxx_it.o - 0x08006084 HardFault_Handler + 0x08006580 0x8 ./Core/Src/stm32wbxx_it.o + 0x08006580 HardFault_Handler .text.MemManage_Handler - 0x0800608c 0x8 ./Core/Src/stm32wbxx_it.o - 0x0800608c MemManage_Handler + 0x08006588 0x8 ./Core/Src/stm32wbxx_it.o + 0x08006588 MemManage_Handler .text.BusFault_Handler - 0x08006094 0x8 ./Core/Src/stm32wbxx_it.o - 0x08006094 BusFault_Handler + 0x08006590 0x8 ./Core/Src/stm32wbxx_it.o + 0x08006590 BusFault_Handler .text.UsageFault_Handler - 0x0800609c 0x8 ./Core/Src/stm32wbxx_it.o - 0x0800609c UsageFault_Handler + 0x08006598 0x8 ./Core/Src/stm32wbxx_it.o + 0x08006598 UsageFault_Handler .text.DebugMon_Handler - 0x080060a4 0xe ./Core/Src/stm32wbxx_it.o - 0x080060a4 DebugMon_Handler + 0x080065a0 0xe ./Core/Src/stm32wbxx_it.o + 0x080065a0 DebugMon_Handler .text.RTC_WKUP_IRQHandler - 0x080060b2 0xc ./Core/Src/stm32wbxx_it.o - 0x080060b2 RTC_WKUP_IRQHandler - *fill* 0x080060be 0x2 + 0x080065ae 0xc ./Core/Src/stm32wbxx_it.o + 0x080065ae RTC_WKUP_IRQHandler + *fill* 0x080065ba 0x2 .text.DMA1_Channel1_IRQHandler - 0x080060c0 0x14 ./Core/Src/stm32wbxx_it.o - 0x080060c0 DMA1_Channel1_IRQHandler + 0x080065bc 0x14 ./Core/Src/stm32wbxx_it.o + 0x080065bc DMA1_Channel1_IRQHandler .text.DMA1_Channel2_IRQHandler - 0x080060d4 0x14 ./Core/Src/stm32wbxx_it.o - 0x080060d4 DMA1_Channel2_IRQHandler + 0x080065d0 0x14 ./Core/Src/stm32wbxx_it.o + 0x080065d0 DMA1_Channel2_IRQHandler .text.DMA1_Channel3_IRQHandler - 0x080060e8 0x14 ./Core/Src/stm32wbxx_it.o - 0x080060e8 DMA1_Channel3_IRQHandler + 0x080065e4 0x14 ./Core/Src/stm32wbxx_it.o + 0x080065e4 DMA1_Channel3_IRQHandler .text.DMA1_Channel4_IRQHandler - 0x080060fc 0x14 ./Core/Src/stm32wbxx_it.o - 0x080060fc DMA1_Channel4_IRQHandler + 0x080065f8 0x14 ./Core/Src/stm32wbxx_it.o + 0x080065f8 DMA1_Channel4_IRQHandler .text.USB_LP_IRQHandler - 0x08006110 0x14 ./Core/Src/stm32wbxx_it.o - 0x08006110 USB_LP_IRQHandler + 0x0800660c 0x14 ./Core/Src/stm32wbxx_it.o + 0x0800660c USB_LP_IRQHandler .text.TIM1_UP_TIM16_IRQHandler - 0x08006124 0x14 ./Core/Src/stm32wbxx_it.o - 0x08006124 TIM1_UP_TIM16_IRQHandler + 0x08006620 0x14 ./Core/Src/stm32wbxx_it.o + 0x08006620 TIM1_UP_TIM16_IRQHandler .text.I2C1_EV_IRQHandler - 0x08006138 0x14 ./Core/Src/stm32wbxx_it.o - 0x08006138 I2C1_EV_IRQHandler + 0x08006634 0x14 ./Core/Src/stm32wbxx_it.o + 0x08006634 I2C1_EV_IRQHandler .text.I2C1_ER_IRQHandler - 0x0800614c 0x14 ./Core/Src/stm32wbxx_it.o - 0x0800614c I2C1_ER_IRQHandler + 0x08006648 0x14 ./Core/Src/stm32wbxx_it.o + 0x08006648 I2C1_ER_IRQHandler .text.EXTI15_10_IRQHandler - 0x08006160 0x18 ./Core/Src/stm32wbxx_it.o - 0x08006160 EXTI15_10_IRQHandler + 0x0800665c 0x18 ./Core/Src/stm32wbxx_it.o + 0x0800665c EXTI15_10_IRQHandler .text.IPCC_C1_RX_IRQHandler - 0x08006178 0xc ./Core/Src/stm32wbxx_it.o - 0x08006178 IPCC_C1_RX_IRQHandler + 0x08006674 0xc ./Core/Src/stm32wbxx_it.o + 0x08006674 IPCC_C1_RX_IRQHandler .text.IPCC_C1_TX_IRQHandler - 0x08006184 0xc ./Core/Src/stm32wbxx_it.o - 0x08006184 IPCC_C1_TX_IRQHandler + 0x08006680 0xc ./Core/Src/stm32wbxx_it.o + 0x08006680 IPCC_C1_TX_IRQHandler .text.HSEM_IRQHandler - 0x08006190 0xc ./Core/Src/stm32wbxx_it.o - 0x08006190 HSEM_IRQHandler - .text._getpid 0x0800619c 0x10 ./Core/Src/syscalls.o - 0x0800619c _getpid - .text._kill 0x080061ac 0x20 ./Core/Src/syscalls.o - 0x080061ac _kill - .text._exit 0x080061cc 0x16 ./Core/Src/syscalls.o - 0x080061cc _exit - .text._read 0x080061e2 0x3a ./Core/Src/syscalls.o - 0x080061e2 _read - .text._close 0x0800621c 0x18 ./Core/Src/syscalls.o - 0x0800621c _close - .text._fstat 0x08006234 0x20 ./Core/Src/syscalls.o - 0x08006234 _fstat - .text._isatty 0x08006254 0x16 ./Core/Src/syscalls.o - 0x08006254 _isatty - .text._lseek 0x0800626a 0x1a ./Core/Src/syscalls.o - 0x0800626a _lseek - .text._sbrk 0x08006284 0x6c ./Core/Src/sysmem.o - 0x08006284 _sbrk + 0x0800668c 0xc ./Core/Src/stm32wbxx_it.o + 0x0800668c HSEM_IRQHandler + .text._getpid 0x08006698 0x10 ./Core/Src/syscalls.o + 0x08006698 _getpid + .text._kill 0x080066a8 0x20 ./Core/Src/syscalls.o + 0x080066a8 _kill + .text._exit 0x080066c8 0x16 ./Core/Src/syscalls.o + 0x080066c8 _exit + .text._read 0x080066de 0x3a ./Core/Src/syscalls.o + 0x080066de _read + .text._close 0x08006718 0x18 ./Core/Src/syscalls.o + 0x08006718 _close + .text._fstat 0x08006730 0x20 ./Core/Src/syscalls.o + 0x08006730 _fstat + .text._isatty 0x08006750 0x16 ./Core/Src/syscalls.o + 0x08006750 _isatty + .text._lseek 0x08006766 0x1a ./Core/Src/syscalls.o + 0x08006766 _lseek + .text._sbrk 0x08006780 0x6c ./Core/Src/sysmem.o + 0x08006780 _sbrk .text.SystemInit - 0x080062f0 0xa4 ./Core/Src/system_stm32wbxx.o - 0x080062f0 SystemInit + 0x080067ec 0xa4 ./Core/Src/system_stm32wbxx.o + 0x080067ec SystemInit .text.data_initializers - 0x08006394 0x18 ./Core/Startup/startup_stm32wb55rgvx.o + 0x08006890 0x18 ./Core/Startup/startup_stm32wb55rgvx.o .text.Reset_Handler - 0x080063ac 0x58 ./Core/Startup/startup_stm32wb55rgvx.o - 0x080063ac Reset_Handler + 0x080068a8 0x58 ./Core/Startup/startup_stm32wb55rgvx.o + 0x080068a8 Reset_Handler .text.Default_Handler - 0x08006404 0x2 ./Core/Startup/startup_stm32wb55rgvx.o - 0x08006404 RTC_Alarm_IRQHandler - 0x08006404 EXTI2_IRQHandler - 0x08006404 TIM1_CC_IRQHandler - 0x08006404 TSC_IRQHandler - 0x08006404 USB_HP_IRQHandler - 0x08006404 EXTI3_IRQHandler - 0x08006404 LPTIM2_IRQHandler - 0x08006404 I2C3_ER_IRQHandler - 0x08006404 EXTI0_IRQHandler - 0x08006404 FPU_IRQHandler - 0x08006404 AES1_IRQHandler - 0x08006404 SPI1_IRQHandler - 0x08006404 PWR_SOTF_BLEACT_802ACT_RFPHASE_IRQHandler - 0x08006404 DMA2_Channel2_IRQHandler - 0x08006404 ADC1_IRQHandler - 0x08006404 PKA_IRQHandler - 0x08006404 DMA1_Channel7_IRQHandler - 0x08006404 LCD_IRQHandler - 0x08006404 DMA2_Channel1_IRQHandler - 0x08006404 QUADSPI_IRQHandler - 0x08006404 DMAMUX1_OVR_IRQHandler - 0x08006404 DMA1_Channel6_IRQHandler - 0x08006404 DMA2_Channel4_IRQHandler - 0x08006404 RCC_IRQHandler - 0x08006404 Default_Handler - 0x08006404 DMA2_Channel7_IRQHandler - 0x08006404 C2SEV_PWR_C2H_IRQHandler - 0x08006404 AES2_IRQHandler - 0x08006404 I2C3_EV_IRQHandler - 0x08006404 EXTI9_5_IRQHandler - 0x08006404 PVD_PVM_IRQHandler - 0x08006404 SPI2_IRQHandler - 0x08006404 DMA2_Channel5_IRQHandler - 0x08006404 CRS_IRQHandler - 0x08006404 DMA1_Channel5_IRQHandler - 0x08006404 EXTI4_IRQHandler - 0x08006404 RNG_IRQHandler - 0x08006404 TIM1_TRG_COM_TIM17_IRQHandler - 0x08006404 TAMP_STAMP_LSECSS_IRQHandler - 0x08006404 COMP_IRQHandler - 0x08006404 WWDG_IRQHandler - 0x08006404 LPUART1_IRQHandler - 0x08006404 DMA2_Channel6_IRQHandler - 0x08006404 TIM2_IRQHandler - 0x08006404 TIM1_BRK_IRQHandler - 0x08006404 EXTI1_IRQHandler - 0x08006404 FLASH_IRQHandler - 0x08006404 USART1_IRQHandler - 0x08006404 LPTIM1_IRQHandler - 0x08006404 SAI1_IRQHandler - 0x08006404 DMA2_Channel3_IRQHandler - *fill* 0x08006406 0x2 + 0x08006900 0x2 ./Core/Startup/startup_stm32wb55rgvx.o + 0x08006900 RTC_Alarm_IRQHandler + 0x08006900 EXTI2_IRQHandler + 0x08006900 TIM1_CC_IRQHandler + 0x08006900 TSC_IRQHandler + 0x08006900 USB_HP_IRQHandler + 0x08006900 EXTI3_IRQHandler + 0x08006900 LPTIM2_IRQHandler + 0x08006900 I2C3_ER_IRQHandler + 0x08006900 EXTI0_IRQHandler + 0x08006900 FPU_IRQHandler + 0x08006900 AES1_IRQHandler + 0x08006900 SPI1_IRQHandler + 0x08006900 PWR_SOTF_BLEACT_802ACT_RFPHASE_IRQHandler + 0x08006900 DMA2_Channel2_IRQHandler + 0x08006900 ADC1_IRQHandler + 0x08006900 PKA_IRQHandler + 0x08006900 DMA1_Channel7_IRQHandler + 0x08006900 LCD_IRQHandler + 0x08006900 DMA2_Channel1_IRQHandler + 0x08006900 QUADSPI_IRQHandler + 0x08006900 DMAMUX1_OVR_IRQHandler + 0x08006900 DMA1_Channel6_IRQHandler + 0x08006900 DMA2_Channel4_IRQHandler + 0x08006900 RCC_IRQHandler + 0x08006900 Default_Handler + 0x08006900 DMA2_Channel7_IRQHandler + 0x08006900 C2SEV_PWR_C2H_IRQHandler + 0x08006900 AES2_IRQHandler + 0x08006900 I2C3_EV_IRQHandler + 0x08006900 EXTI9_5_IRQHandler + 0x08006900 PVD_PVM_IRQHandler + 0x08006900 SPI2_IRQHandler + 0x08006900 DMA2_Channel5_IRQHandler + 0x08006900 CRS_IRQHandler + 0x08006900 DMA1_Channel5_IRQHandler + 0x08006900 EXTI4_IRQHandler + 0x08006900 RNG_IRQHandler + 0x08006900 TIM1_TRG_COM_TIM17_IRQHandler + 0x08006900 TAMP_STAMP_LSECSS_IRQHandler + 0x08006900 COMP_IRQHandler + 0x08006900 WWDG_IRQHandler + 0x08006900 LPUART1_IRQHandler + 0x08006900 DMA2_Channel6_IRQHandler + 0x08006900 TIM2_IRQHandler + 0x08006900 TIM1_BRK_IRQHandler + 0x08006900 EXTI1_IRQHandler + 0x08006900 FLASH_IRQHandler + 0x08006900 USART1_IRQHandler + 0x08006900 LPTIM1_IRQHandler + 0x08006900 SAI1_IRQHandler + 0x08006900 DMA2_Channel3_IRQHandler + *fill* 0x08006902 0x2 .text.HAL_Init - 0x08006408 0x40 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - 0x08006408 HAL_Init + 0x08006904 0x40 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + 0x08006904 HAL_Init .text.HAL_IncTick - 0x08006448 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - 0x08006448 HAL_IncTick + 0x08006944 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + 0x08006944 HAL_IncTick .text.HAL_GetTick - 0x08006470 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - 0x08006470 HAL_GetTick + 0x0800696c 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + 0x0800696c HAL_GetTick .text.HAL_GetTickPrio - 0x08006488 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - 0x08006488 HAL_GetTickPrio + 0x08006984 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + 0x08006984 HAL_GetTickPrio .text.__NVIC_SetPriorityGrouping - 0x080064a0 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x0800699c 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .text.__NVIC_GetPriorityGrouping - 0x080064e8 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x080069e4 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .text.__NVIC_EnableIRQ - 0x08006504 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006a00 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .text.__NVIC_DisableIRQ - 0x08006540 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006a3c 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .text.__NVIC_SetPendingIRQ - 0x08006588 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006a84 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .text.__NVIC_ClearPendingIRQ - 0x080065c4 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006ac0 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .text.__NVIC_SetPriority - 0x08006600 0x54 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006afc 0x54 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .text.NVIC_EncodePriority - 0x08006654 0x66 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006b50 0x66 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .text.HAL_NVIC_SetPriorityGrouping - 0x080066ba 0x16 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - 0x080066ba HAL_NVIC_SetPriorityGrouping + 0x08006bb6 0x16 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006bb6 HAL_NVIC_SetPriorityGrouping .text.HAL_NVIC_SetPriority - 0x080066d0 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - 0x080066d0 HAL_NVIC_SetPriority + 0x08006bcc 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006bcc HAL_NVIC_SetPriority .text.HAL_NVIC_EnableIRQ - 0x08006704 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - 0x08006704 HAL_NVIC_EnableIRQ + 0x08006c00 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006c00 HAL_NVIC_EnableIRQ .text.HAL_NVIC_DisableIRQ - 0x08006720 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - 0x08006720 HAL_NVIC_DisableIRQ + 0x08006c1c 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006c1c HAL_NVIC_DisableIRQ .text.HAL_NVIC_SetPendingIRQ - 0x0800673c 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - 0x0800673c HAL_NVIC_SetPendingIRQ + 0x08006c38 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006c38 HAL_NVIC_SetPendingIRQ .text.HAL_NVIC_ClearPendingIRQ - 0x08006758 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - 0x08006758 HAL_NVIC_ClearPendingIRQ + 0x08006c54 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x08006c54 HAL_NVIC_ClearPendingIRQ .text.HAL_DMA_Init - 0x08006774 0x150 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - 0x08006774 HAL_DMA_Init + 0x08006c70 0x150 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x08006c70 HAL_DMA_Init .text.HAL_DMA_Start_IT - 0x080068c4 0xf6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - 0x080068c4 HAL_DMA_Start_IT + 0x08006dc0 0xf6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x08006dc0 HAL_DMA_Start_IT + .text.HAL_DMA_Abort + 0x08006eb6 0xbe ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x08006eb6 HAL_DMA_Abort .text.HAL_DMA_Abort_IT - 0x080069ba 0xbe ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - 0x080069ba HAL_DMA_Abort_IT + 0x08006f74 0xbe ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x08006f74 HAL_DMA_Abort_IT .text.HAL_DMA_IRQHandler - 0x08006a78 0x15e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - 0x08006a78 HAL_DMA_IRQHandler + 0x08007032 0x15e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x08007032 HAL_DMA_IRQHandler .text.HAL_DMA_GetState - 0x08006bd6 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - 0x08006bd6 HAL_DMA_GetState + 0x08007190 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x08007190 HAL_DMA_GetState .text.DMA_SetConfig - 0x08006bf2 0x7c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - *fill* 0x08006c6e 0x2 + 0x080071ac 0x7c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .text.DMA_CalcDMAMUXChannelBaseAndMask - 0x08006c70 0x7c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x08007228 0x7c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .text.DMA_CalcDMAMUXRequestGenBaseAndMask - 0x08006cec 0x4c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x080072a4 0x4c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .text.HAL_GPIO_Init - 0x08006d38 0x2e0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - 0x08006d38 HAL_GPIO_Init + 0x080072f0 0x2e0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + 0x080072f0 HAL_GPIO_Init .text.HAL_GPIO_WritePin - 0x08007018 0x30 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - 0x08007018 HAL_GPIO_WritePin + 0x080075d0 0x30 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + 0x080075d0 HAL_GPIO_WritePin .text.HAL_GPIO_EXTI_IRQHandler - 0x08007048 0x30 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - 0x08007048 HAL_GPIO_EXTI_IRQHandler + 0x08007600 0x30 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + 0x08007600 HAL_GPIO_EXTI_IRQHandler .text.HAL_HSEM_IRQHandler - 0x08007078 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o - 0x08007078 HAL_HSEM_IRQHandler + 0x08007630 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + 0x08007630 HAL_HSEM_IRQHandler .text.HAL_HSEM_FreeCallback - 0x080070ac 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o - 0x080070ac HAL_HSEM_FreeCallback + 0x08007664 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + 0x08007664 HAL_HSEM_FreeCallback .text.HAL_I2C_Init - 0x080070c0 0x136 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x080070c0 HAL_I2C_Init - *fill* 0x080071f6 0x2 + 0x08007678 0x136 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007678 HAL_I2C_Init + *fill* 0x080077ae 0x2 .text.HAL_I2C_Mem_Write_DMA - 0x080071f8 0x1cc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x080071f8 HAL_I2C_Mem_Write_DMA + 0x080077b0 0x1cc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x080077b0 HAL_I2C_Mem_Write_DMA .text.HAL_I2C_Mem_Read_DMA - 0x080073c4 0x1cc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x080073c4 HAL_I2C_Mem_Read_DMA + 0x0800797c 0x1cc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x0800797c HAL_I2C_Mem_Read_DMA .text.HAL_I2C_EV_IRQHandler - 0x08007590 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x08007590 HAL_I2C_EV_IRQHandler + 0x08007b48 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007b48 HAL_I2C_EV_IRQHandler .text.HAL_I2C_ER_IRQHandler - 0x080075c4 0xc2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x080075c4 HAL_I2C_ER_IRQHandler + 0x08007b7c 0xc2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007b7c HAL_I2C_ER_IRQHandler .text.HAL_I2C_MasterTxCpltCallback - 0x08007686 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x08007686 HAL_I2C_MasterTxCpltCallback + 0x08007c3e 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007c3e HAL_I2C_MasterTxCpltCallback .text.HAL_I2C_MasterRxCpltCallback - 0x0800769a 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x0800769a HAL_I2C_MasterRxCpltCallback + 0x08007c52 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007c52 HAL_I2C_MasterRxCpltCallback .text.HAL_I2C_SlaveTxCpltCallback - 0x080076ae 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x080076ae HAL_I2C_SlaveTxCpltCallback + 0x08007c66 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007c66 HAL_I2C_SlaveTxCpltCallback .text.HAL_I2C_SlaveRxCpltCallback - 0x080076c2 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x080076c2 HAL_I2C_SlaveRxCpltCallback + 0x08007c7a 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007c7a HAL_I2C_SlaveRxCpltCallback .text.HAL_I2C_AddrCallback - 0x080076d6 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x080076d6 HAL_I2C_AddrCallback + 0x08007c8e 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007c8e HAL_I2C_AddrCallback .text.HAL_I2C_ListenCpltCallback - 0x080076f2 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x080076f2 HAL_I2C_ListenCpltCallback + 0x08007caa 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007caa HAL_I2C_ListenCpltCallback .text.HAL_I2C_AbortCpltCallback - 0x08007706 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x08007706 HAL_I2C_AbortCpltCallback + 0x08007cbe 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007cbe HAL_I2C_AbortCpltCallback .text.HAL_I2C_GetError - 0x0800771a 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - 0x0800771a HAL_I2C_GetError + 0x08007cd2 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007cd2 HAL_I2C_GetError .text.I2C_Slave_ISR_IT - 0x08007732 0x208 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007cea 0x208 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_Master_ISR_DMA - 0x0800793a 0x1e6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08007ef2 0x1e6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_Mem_ISR_DMA - 0x08007b20 0x260 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x080080d8 0x260 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_Slave_ISR_DMA - 0x08007d80 0x1c2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008338 0x1c2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_ITAddrCplt - 0x08007f42 0x108 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x080084fa 0x108 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_ITMasterSeqCplt - 0x0800804a 0x7a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008602 0x7a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_ITSlaveSeqCplt - 0x080080c4 0xbc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x0800867c 0xbc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_ITMasterCplt - 0x08008180 0x194 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008738 0x194 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_ITSlaveCplt - 0x08008314 0x2d4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x080088cc 0x2d4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_ITListenCplt - 0x080085e8 0xac ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008ba0 0xac ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_ITError - 0x08008694 0x1e0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008c4c 0x1e0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_TreatErrorCallback - 0x08008874 0x4e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008e2c 0x4e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_Flush_TXDR - 0x080088c2 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008e7a 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_DMAMasterTransmitCplt - 0x0800890a 0x96 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008ec2 0x96 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_DMAMasterReceiveCplt - 0x080089a0 0x96 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008f58 0x96 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_DMAError - 0x08008a36 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08008fee 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_DMAAbort - 0x08008a64 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x0800901c 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_TransferConfig - 0x08008aa0 0x64 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x08009058 0x64 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_Enable_IRQ - 0x08008b04 0x108 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x080090bc 0x108 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.I2C_Disable_IRQ - 0x08008c0c 0xbc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x080091c4 0xbc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .text.HAL_I2CEx_ConfigAnalogFilter - 0x08008cc8 0x96 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o - 0x08008cc8 HAL_I2CEx_ConfigAnalogFilter + 0x08009280 0x96 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + 0x08009280 HAL_I2CEx_ConfigAnalogFilter .text.HAL_I2CEx_ConfigDigitalFilter - 0x08008d5e 0x98 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o - 0x08008d5e HAL_I2CEx_ConfigDigitalFilter - *fill* 0x08008df6 0x2 + 0x08009316 0x98 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + 0x08009316 HAL_I2CEx_ConfigDigitalFilter + *fill* 0x080093ae 0x2 .text.HAL_IPCC_Init - 0x08008df8 0x64 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - 0x08008df8 HAL_IPCC_Init + 0x080093b0 0x64 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + 0x080093b0 HAL_IPCC_Init .text.HAL_IPCC_RxCallback - 0x08008e5c 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - 0x08008e5c HAL_IPCC_RxCallback + 0x08009414 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + 0x08009414 HAL_IPCC_RxCallback .text.HAL_IPCC_TxCallback - 0x08008e76 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - 0x08008e76 HAL_IPCC_TxCallback + 0x0800942e 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + 0x0800942e HAL_IPCC_TxCallback .text.IPCC_SetDefaultCallbacks - 0x08008e90 0x4c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - 0x08008e90 IPCC_SetDefaultCallbacks + 0x08009448 0x4c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + 0x08009448 IPCC_SetDefaultCallbacks .text.IPCC_Reset_Register - 0x08008edc 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - 0x08008edc IPCC_Reset_Register + 0x08009494 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + 0x08009494 IPCC_Reset_Register .text.HAL_PCD_Init - 0x08008f04 0x19c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x08008f04 HAL_PCD_Init + 0x080094bc 0x19c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x080094bc HAL_PCD_Init .text.HAL_PCD_Start - 0x080090a0 0x44 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x080090a0 HAL_PCD_Start + 0x08009658 0x44 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x08009658 HAL_PCD_Start .text.HAL_PCD_IRQHandler - 0x080090e4 0x24e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x080090e4 HAL_PCD_IRQHandler + 0x0800969c 0x24e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x0800969c HAL_PCD_IRQHandler .text.HAL_PCD_SetAddress - 0x08009332 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x08009332 HAL_PCD_SetAddress + 0x080098ea 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x080098ea HAL_PCD_SetAddress .text.HAL_PCD_EP_Open - 0x0800937a 0xbe ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x0800937a HAL_PCD_EP_Open + 0x08009932 0xbe ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x08009932 HAL_PCD_EP_Open .text.HAL_PCD_EP_Close - 0x08009438 0x90 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x08009438 HAL_PCD_EP_Close + 0x080099f0 0x90 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x080099f0 HAL_PCD_EP_Close .text.HAL_PCD_EP_Receive - 0x080094c8 0x62 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x080094c8 HAL_PCD_EP_Receive + 0x08009a80 0x62 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x08009a80 HAL_PCD_EP_Receive .text.HAL_PCD_EP_GetRxCount - 0x0800952a 0x30 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x0800952a HAL_PCD_EP_GetRxCount + 0x08009ae2 0x30 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x08009ae2 HAL_PCD_EP_GetRxCount .text.HAL_PCD_EP_Transmit - 0x0800955a 0x6e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x0800955a HAL_PCD_EP_Transmit + 0x08009b12 0x6e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x08009b12 HAL_PCD_EP_Transmit .text.HAL_PCD_EP_SetStall - 0x080095c8 0xa4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x080095c8 HAL_PCD_EP_SetStall + 0x08009b80 0xa4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x08009b80 HAL_PCD_EP_SetStall .text.HAL_PCD_EP_ClrStall - 0x0800966c 0xa8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - 0x0800966c HAL_PCD_EP_ClrStall + 0x08009c24 0xa8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x08009c24 HAL_PCD_EP_ClrStall .text.PCD_EP_ISR_Handler - 0x08009714 0x710 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x08009ccc 0x710 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o .text.HAL_PCD_EP_DB_Receive - 0x08009e24 0x212 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x0800a3dc 0x212 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o .text.HAL_PCD_EP_DB_Transmit - 0x0800a036 0x878 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x0800a5ee 0x878 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o .text.HAL_PCDEx_PMAConfig - 0x0800a8ae 0x86 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o - 0x0800a8ae HAL_PCDEx_PMAConfig + 0x0800ae66 0x86 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + 0x0800ae66 HAL_PCDEx_PMAConfig .text.HAL_PCDEx_ActivateLPM - 0x0800a934 0x54 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o - 0x0800a934 HAL_PCDEx_ActivateLPM + 0x0800aeec 0x54 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + 0x0800aeec HAL_PCDEx_ActivateLPM .text.HAL_PWR_EnableBkUpAccess - 0x0800a988 0x20 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o - 0x0800a988 HAL_PWR_EnableBkUpAccess + 0x0800af40 0x20 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + 0x0800af40 HAL_PWR_EnableBkUpAccess .text.HAL_PWREx_GetVoltageRange - 0x0800a9a8 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o - 0x0800a9a8 HAL_PWREx_GetVoltageRange + 0x0800af60 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + 0x0800af60 HAL_PWREx_GetVoltageRange .text.HAL_PWREx_EnableVddUSB - 0x0800a9c4 0x20 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o - 0x0800a9c4 HAL_PWREx_EnableVddUSB + 0x0800af7c 0x20 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + 0x0800af7c HAL_PWREx_EnableVddUSB .text.LL_RCC_HSE_IsEnabledDiv2 - 0x0800a9e4 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800af9c 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSE_Enable - 0x0800aa08 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800afc0 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSE_Disable - 0x0800aa26 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800afde 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSE_IsReady - 0x0800aa44 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800affc 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSI_Enable - 0x0800aa68 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b020 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSI_Disable - 0x0800aa86 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b03e 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSI_IsReady - 0x0800aaa4 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b05c 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSI_SetCalibTrimming - 0x0800aac8 0x2a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b080 0x2a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSI48_Enable - 0x0800aaf2 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b0aa 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSI48_Disable - 0x0800ab14 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b0cc 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_HSI48_IsReady - 0x0800ab36 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b0ee 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSE_Enable - 0x0800ab5a 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b112 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSE_Disable - 0x0800ab7c 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b134 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSE_EnableBypass - 0x0800ab9e 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b156 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSE_DisableBypass - 0x0800abc0 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b178 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSE_IsReady - 0x0800abe2 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b19a 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSI1_Enable - 0x0800ac06 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b1be 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSI1_Disable - 0x0800ac28 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b1e0 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSI1_IsReady - 0x0800ac4a 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b202 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSI2_Enable - 0x0800ac6e 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b226 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSI2_Disable - 0x0800ac90 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b248 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSI2_IsReady - 0x0800acb2 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b26a 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSI2_SetTrimming - 0x0800acd6 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b28e 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_MSI_Enable - 0x0800ad04 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b2bc 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_MSI_Disable - 0x0800ad22 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b2da 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_MSI_IsReady - 0x0800ad40 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b2f8 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_MSI_SetRange - 0x0800ad62 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b31a 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_MSI_GetRange - 0x0800ad8a 0x2a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b342 0x2a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_MSI_SetCalibTrimming - 0x0800adb4 0x2a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b36c 0x2a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_SetSysClkSource - 0x0800adde 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b396 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_GetSysClkSource - 0x0800ae06 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b3be 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_SetAHBPrescaler - 0x0800ae1e 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b3d6 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_C2_RCC_SetAHBPrescaler - 0x0800ae46 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b3fe 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_SetAHB4Prescaler - 0x0800ae72 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b42a 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_SetAPB1Prescaler - 0x0800aea0 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b458 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_SetAPB2Prescaler - 0x0800aec8 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b480 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_GetAHBPrescaler - 0x0800aef0 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b4a8 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_C2_RCC_GetAHBPrescaler - 0x0800af08 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b4c0 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_GetAHB4Prescaler - 0x0800af22 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b4da 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_GetAPB1Prescaler - 0x0800af3e 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b4f6 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_GetAPB2Prescaler - 0x0800af56 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b50e 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_PLL_Enable - 0x0800af6e 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b526 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_PLL_Disable - 0x0800af8c 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b544 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_PLL_IsReady - 0x0800afaa 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b562 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_PLL_GetN - 0x0800afce 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b586 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_PLL_GetR - 0x0800afe8 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b5a0 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_PLL_GetDivider - 0x0800b000 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b5b8 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_PLL_GetMainSource - 0x0800b018 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b5d0 0x18 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_IsActiveFlag_HPRE - 0x0800b030 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b5e8 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_IsActiveFlag_C2HPRE - 0x0800b054 0x26 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b60c 0x26 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_IsActiveFlag_SHDHPRE - 0x0800b07a 0x26 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b632 0x26 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_IsActiveFlag_PPRE1 - 0x0800b0a0 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b658 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_IsActiveFlag_PPRE2 - 0x0800b0c4 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b67c 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.HAL_RCC_OscConfig - 0x0800b0e8 0x6e8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - 0x0800b0e8 HAL_RCC_OscConfig + 0x0800b6a0 0x6e8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800b6a0 HAL_RCC_OscConfig .text.HAL_RCC_ClockConfig - 0x0800b7d0 0x280 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - 0x0800b7d0 HAL_RCC_ClockConfig + 0x0800bd88 0x280 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800bd88 HAL_RCC_ClockConfig .text.HAL_RCC_GetSysClockFreq - 0x0800ba50 0xd8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - 0x0800ba50 HAL_RCC_GetSysClockFreq + 0x0800c008 0xd8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800c008 HAL_RCC_GetSysClockFreq .text.HAL_RCC_GetHCLKFreq - 0x0800bb28 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - 0x0800bb28 HAL_RCC_GetHCLKFreq + 0x0800c0e0 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800c0e0 HAL_RCC_GetHCLKFreq .text.HAL_RCC_GetPCLK2Freq - 0x0800bb50 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - 0x0800bb50 HAL_RCC_GetPCLK2Freq + 0x0800c108 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800c108 HAL_RCC_GetPCLK2Freq .text.HAL_RCC_GetClockConfig - 0x0800bb7c 0x64 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - 0x0800bb7c HAL_RCC_GetClockConfig + 0x0800c134 0x64 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800c134 HAL_RCC_GetClockConfig .text.RCC_SetFlashLatencyFromMSIRange - 0x0800bbe0 0x70 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800c198 0x70 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.RCC_SetFlashLatency - 0x0800bc50 0xf8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0800c208 0xf8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .text.LL_RCC_LSE_IsEnabled - 0x0800bd48 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c300 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_LSE_IsReady - 0x0800bd6c 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c324 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_MSI_EnablePLLMode - 0x0800bd90 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c348 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetRFWKPClockSource - 0x0800bdae 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c366 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetSMPSClockSource - 0x0800bdda 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c392 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetSMPSPrescaler - 0x0800be02 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c3ba 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetUSARTClockSource - 0x0800be2a 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c3e2 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetLPUARTClockSource - 0x0800be56 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c40e 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetI2CClockSource - 0x0800be82 0x3a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c43a 0x3a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetLPTIMClockSource - 0x0800bebc 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c474 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetSAIClockSource - 0x0800bef0 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c4a8 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetRNGClockSource - 0x0800bf1c 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c4d4 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetCLK48ClockSource - 0x0800bf48 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c500 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetUSBClockSource - 0x0800bf74 0x16 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c52c 0x16 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetADCClockSource - 0x0800bf8a 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c542 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_SetRTCClockSource - 0x0800bfb6 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c56e 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_GetRTCClockSource - 0x0800bfe2 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c59a 0x1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_ForceBackupDomainReset - 0x0800bffc 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c5b4 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_ReleaseBackupDomainReset - 0x0800c01e 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c5d6 0x22 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_PLLSAI1_Enable - 0x0800c040 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c5f8 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_PLLSAI1_Disable - 0x0800c05e 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c616 0x1e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.LL_RCC_PLLSAI1_IsReady - 0x0800c07c 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c634 0x24 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.HAL_RCCEx_PeriphCLKConfig - 0x0800c0a0 0x2ec ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o - 0x0800c0a0 HAL_RCCEx_PeriphCLKConfig + 0x0800c658 0x2ec ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c658 HAL_RCCEx_PeriphCLKConfig .text.HAL_RCCEx_EnableMSIPLLMode - 0x0800c38c 0xc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o - 0x0800c38c HAL_RCCEx_EnableMSIPLLMode + 0x0800c944 0xc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c944 HAL_RCCEx_EnableMSIPLLMode .text.RCCEx_PLLSAI1_ConfigNP - 0x0800c398 0xb6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800c950 0xb6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.RCCEx_PLLSAI1_ConfigNQ - 0x0800c44e 0xb6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800ca06 0xb6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.RCCEx_PLLSAI1_ConfigNR - 0x0800c504 0xb6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x0800cabc 0xb6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .text.HAL_RTC_Init - 0x0800c5ba 0x110 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - 0x0800c5ba HAL_RTC_Init - *fill* 0x0800c6ca 0x2 + 0x0800cb72 0x110 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + 0x0800cb72 HAL_RTC_Init + *fill* 0x0800cc82 0x2 .text.HAL_RTC_WaitForSynchro - 0x0800c6cc 0x4c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - 0x0800c6cc HAL_RTC_WaitForSynchro + 0x0800cc84 0x4c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + 0x0800cc84 HAL_RTC_WaitForSynchro .text.RTC_EnterInitMode - 0x0800c718 0x70 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - 0x0800c718 RTC_EnterInitMode + 0x0800ccd0 0x70 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + 0x0800ccd0 RTC_EnterInitMode .text.RTC_ExitInitMode - 0x0800c788 0x4c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - 0x0800c788 RTC_ExitInitMode + 0x0800cd40 0x4c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + 0x0800cd40 RTC_ExitInitMode .text.HAL_RTCEx_SetWakeUpTimer_IT - 0x0800c7d4 0x198 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o - 0x0800c7d4 HAL_RTCEx_SetWakeUpTimer_IT + 0x0800cd8c 0x198 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + 0x0800cd8c HAL_RTCEx_SetWakeUpTimer_IT .text.HAL_SPI_Init - 0x0800c96c 0x146 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - 0x0800c96c HAL_SPI_Init + 0x0800cf24 0x146 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800cf24 HAL_SPI_Init .text.HAL_SPI_Transmit - 0x0800cab2 0x2ec ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - 0x0800cab2 HAL_SPI_Transmit + 0x0800d06a 0x2ec ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800d06a HAL_SPI_Transmit .text.HAL_SPI_TransmitReceive - 0x0800cd9e 0x43e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - 0x0800cd9e HAL_SPI_TransmitReceive + 0x0800d356 0x43e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800d356 HAL_SPI_TransmitReceive .text.HAL_SPI_TransmitReceive_DMA - 0x0800d1dc 0x30c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - 0x0800d1dc HAL_SPI_TransmitReceive_DMA + 0x0800d794 0x30c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800d794 HAL_SPI_TransmitReceive_DMA + .text.HAL_SPI_Abort + 0x0800daa0 0x240 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800daa0 HAL_SPI_Abort .text.HAL_SPI_RxCpltCallback - 0x0800d4e8 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - 0x0800d4e8 HAL_SPI_RxCpltCallback + 0x0800dce0 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800dce0 HAL_SPI_RxCpltCallback .text.HAL_SPI_RxHalfCpltCallback - 0x0800d4fc 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - 0x0800d4fc HAL_SPI_RxHalfCpltCallback + 0x0800dcf4 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800dcf4 HAL_SPI_RxHalfCpltCallback .text.HAL_SPI_TxRxHalfCpltCallback - 0x0800d510 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - 0x0800d510 HAL_SPI_TxRxHalfCpltCallback + 0x0800dd08 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800dd08 HAL_SPI_TxRxHalfCpltCallback .text.HAL_SPI_ErrorCallback - 0x0800d524 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - 0x0800d524 HAL_SPI_ErrorCallback + 0x0800dd1c 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800dd1c HAL_SPI_ErrorCallback .text.SPI_DMAReceiveCplt - 0x0800d538 0xa8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800dd30 0xa8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_DMATransmitReceiveCplt - 0x0800d5e0 0x90 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800ddd8 0x90 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_DMAHalfReceiveCplt - 0x0800d670 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800de68 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_DMAHalfTransmitReceiveCplt - 0x0800d68c 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800de84 0x1c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_DMAError - 0x0800d6a8 0x40 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800dea0 0x40 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_WaitFlagStateUntilTimeout - 0x0800d6e8 0x110 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800dee0 0x110 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_WaitFifoStateUntilTimeout - 0x0800d7f8 0x12c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800dff0 0x12c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_EndRxTransaction - 0x0800d924 0xb0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800e11c 0xb0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.SPI_EndRxTxTransaction - 0x0800d9d4 0x8c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0800e1cc 0x8c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + .text.SPI_AbortRx_ISR + 0x0800e258 0xc0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + .text.SPI_AbortTx_ISR + 0x0800e318 0x144 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .text.HAL_TIM_Base_Init - 0x0800da60 0xae ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800da60 HAL_TIM_Base_Init + 0x0800e45c 0xae ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800e45c HAL_TIM_Base_Init .text.HAL_TIM_Base_MspInit - 0x0800db0e 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800db0e HAL_TIM_Base_MspInit - *fill* 0x0800db22 0x2 + 0x0800e50a 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800e50a HAL_TIM_Base_MspInit + *fill* 0x0800e51e 0x2 .text.HAL_TIM_Base_Start_IT - 0x0800db24 0x9c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800db24 HAL_TIM_Base_Start_IT + 0x0800e520 0x9c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800e520 HAL_TIM_Base_Start_IT .text.HAL_TIM_PWM_Init - 0x0800dbc0 0xae ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800dbc0 HAL_TIM_PWM_Init + 0x0800e5bc 0xae ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800e5bc HAL_TIM_PWM_Init .text.HAL_TIM_IRQHandler - 0x0800dc6e 0x20e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800dc6e HAL_TIM_IRQHandler + 0x0800e66a 0x20e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800e66a HAL_TIM_IRQHandler .text.HAL_TIM_PWM_ConfigChannel - 0x0800de7c 0x228 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800de7c HAL_TIM_PWM_ConfigChannel + 0x0800e878 0x228 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800e878 HAL_TIM_PWM_ConfigChannel .text.HAL_TIM_OC_DelayElapsedCallback - 0x0800e0a4 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800e0a4 HAL_TIM_OC_DelayElapsedCallback + 0x0800eaa0 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800eaa0 HAL_TIM_OC_DelayElapsedCallback .text.HAL_TIM_IC_CaptureCallback - 0x0800e0b8 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800e0b8 HAL_TIM_IC_CaptureCallback + 0x0800eab4 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800eab4 HAL_TIM_IC_CaptureCallback .text.HAL_TIM_PWM_PulseFinishedCallback - 0x0800e0cc 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800e0cc HAL_TIM_PWM_PulseFinishedCallback + 0x0800eac8 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800eac8 HAL_TIM_PWM_PulseFinishedCallback .text.HAL_TIM_TriggerCallback - 0x0800e0e0 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800e0e0 HAL_TIM_TriggerCallback + 0x0800eadc 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800eadc HAL_TIM_TriggerCallback .text.TIM_Base_SetConfig - 0x0800e0f4 0xd4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800e0f4 TIM_Base_SetConfig + 0x0800eaf0 0xd4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800eaf0 TIM_Base_SetConfig .text.TIM_OC1_SetConfig - 0x0800e1c8 0xfc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800ebc4 0xfc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o .text.TIM_OC2_SetConfig - 0x0800e2c4 0xf8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - 0x0800e2c4 TIM_OC2_SetConfig + 0x0800ecc0 0xf8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800ecc0 TIM_OC2_SetConfig .text.TIM_OC3_SetConfig - 0x0800e3bc 0xf4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800edb8 0xf4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o .text.TIM_OC4_SetConfig - 0x0800e4b0 0xbc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800eeac 0xbc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o .text.TIM_OC5_SetConfig - 0x0800e56c 0xb0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800ef68 0xb0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o .text.TIM_OC6_SetConfig - 0x0800e61c 0xb4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0800f018 0xb4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o .text.HAL_TIMEx_MasterConfigSynchronization - 0x0800e6d0 0xc0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - 0x0800e6d0 HAL_TIMEx_MasterConfigSynchronization + 0x0800f0cc 0xc0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + 0x0800f0cc HAL_TIMEx_MasterConfigSynchronization .text.HAL_TIMEx_CommutCallback - 0x0800e790 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - 0x0800e790 HAL_TIMEx_CommutCallback + 0x0800f18c 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + 0x0800f18c HAL_TIMEx_CommutCallback .text.HAL_TIMEx_BreakCallback - 0x0800e7a4 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - 0x0800e7a4 HAL_TIMEx_BreakCallback + 0x0800f1a0 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + 0x0800f1a0 HAL_TIMEx_BreakCallback .text.HAL_TIMEx_Break2Callback - 0x0800e7b8 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - 0x0800e7b8 HAL_TIMEx_Break2Callback + 0x0800f1b4 0x14 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + 0x0800f1b4 HAL_TIMEx_Break2Callback .text.USB_EnableGlobalInt - 0x0800e7cc 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x0800e7cc USB_EnableGlobalInt + 0x0800f1c8 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x0800f1c8 USB_EnableGlobalInt .text.USB_DisableGlobalInt - 0x0800e7fa 0x36 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x0800e7fa USB_DisableGlobalInt + 0x0800f1f6 0x36 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x0800f1f6 USB_DisableGlobalInt .text.USB_DevInit - 0x0800e830 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x0800e830 USB_DevInit + 0x0800f22c 0x3c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x0800f22c USB_DevInit .text.USB_ActivateEndpoint - 0x0800e86c 0x9d0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x0800e86c USB_ActivateEndpoint + 0x0800f268 0x9d0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x0800f268 USB_ActivateEndpoint .text.USB_DeactivateEndpoint - 0x0800f23c 0x3da ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x0800f23c USB_DeactivateEndpoint + 0x0800fc38 0x3da ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x0800fc38 USB_DeactivateEndpoint .text.USB_EPStartXfer - 0x0800f616 0xb5e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x0800f616 USB_EPStartXfer + 0x08010012 0xb5e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x08010012 USB_EPStartXfer .text.USB_EPSetStall - 0x08010174 0xa2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x08010174 USB_EPSetStall + 0x08010b70 0xa2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x08010b70 USB_EPSetStall .text.USB_EPClearStall - 0x08010216 0x152 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x08010216 USB_EPClearStall + 0x08010c12 0x152 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x08010c12 USB_EPClearStall .text.USB_SetDevAddress - 0x08010368 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x08010368 USB_SetDevAddress + 0x08010d64 0x28 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x08010d64 USB_SetDevAddress .text.USB_DevConnect - 0x08010390 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x08010390 USB_DevConnect + 0x08010d8c 0x2e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x08010d8c USB_DevConnect .text.USB_ReadInterrupts - 0x080103be 0x20 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x080103be USB_ReadInterrupts + 0x08010dba 0x20 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x08010dba USB_ReadInterrupts .text.USB_WritePMA - 0x080103de 0x86 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x080103de USB_WritePMA + 0x08010dda 0x86 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x08010dda USB_WritePMA .text.USB_ReadPMA - 0x08010464 0x98 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - 0x08010464 USB_ReadPMA + 0x08010e60 0x98 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x08010e60 USB_ReadPMA .text.USBD_CDC_Init - 0x080104fc 0x1f0 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x08010ef8 0x1f0 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .text.USBD_CDC_DeInit - 0x080106ec 0x104 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x080110e8 0x104 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .text.USBD_CDC_Setup - 0x080107f0 0x1b8 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x080111ec 0x1b8 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .text.USBD_CDC_DataIn - 0x080109a8 0xfe ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x080113a4 0xfe ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .text.USBD_CDC_DataOut - 0x08010aa6 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x080114a2 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .text.USBD_CDC_EP0_RxReady - 0x08010b16 0x74 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - *fill* 0x08010b8a 0x2 + 0x08011512 0x74 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + *fill* 0x08011586 0x2 .text.USBD_CDC_GetFSCfgDesc - 0x08010b8c 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x08011588 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .text.USBD_CDC_GetHSCfgDesc - 0x08010bfc 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x080115f8 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .text.USBD_CDC_GetOtherSpeedCfgDesc - 0x08010c6c 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x08011668 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .text.USBD_CDC_GetDeviceQualifierDescriptor - 0x08010cdc 0x20 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - 0x08010cdc USBD_CDC_GetDeviceQualifierDescriptor + 0x080116d8 0x20 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x080116d8 USBD_CDC_GetDeviceQualifierDescriptor .text.USBD_CDC_RegisterInterface - 0x08010cfc 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - 0x08010cfc USBD_CDC_RegisterInterface + 0x080116f8 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x080116f8 USBD_CDC_RegisterInterface .text.USBD_CDC_SetTxBuffer - 0x08010d30 0x44 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - 0x08010d30 USBD_CDC_SetTxBuffer + 0x0801172c 0x44 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x0801172c USBD_CDC_SetTxBuffer .text.USBD_CDC_SetRxBuffer - 0x08010d74 0x3a ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - 0x08010d74 USBD_CDC_SetRxBuffer - *fill* 0x08010dae 0x2 + 0x08011770 0x3a ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x08011770 USBD_CDC_SetRxBuffer + *fill* 0x080117aa 0x2 .text.USBD_CDC_TransmitPacket - 0x08010db0 0x80 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - 0x08010db0 USBD_CDC_TransmitPacket + 0x080117ac 0x80 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x080117ac USBD_CDC_TransmitPacket .text.USBD_CDC_ReceivePacket - 0x08010e30 0x6c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - 0x08010e30 USBD_CDC_ReceivePacket + 0x0801182c 0x6c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x0801182c USBD_CDC_ReceivePacket .text.USBD_Init - 0x08010e9c 0x60 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08010e9c USBD_Init + 0x08011898 0x60 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011898 USBD_Init .text.USBD_RegisterClass - 0x08010efc 0x6c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08010efc USBD_RegisterClass + 0x080118f8 0x6c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080118f8 USBD_RegisterClass .text.USBD_Start - 0x08010f68 0x18 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08010f68 USBD_Start + 0x08011964 0x18 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011964 USBD_Start .text.USBD_RunTestMode - 0x08010f80 0x16 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08010f80 USBD_RunTestMode + 0x0801197c 0x16 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x0801197c USBD_RunTestMode .text.USBD_SetClassConfig - 0x08010f96 0x38 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08010f96 USBD_SetClassConfig + 0x08011992 0x38 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011992 USBD_SetClassConfig .text.USBD_ClrClassConfig - 0x08010fce 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08010fce USBD_ClrClassConfig + 0x080119ca 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080119ca USBD_ClrClassConfig .text.USBD_LL_SetupStage - 0x08011002 0xaa ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08011002 USBD_LL_SetupStage + 0x080119fe 0xaa ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x080119fe USBD_LL_SetupStage .text.USBD_LL_DataOutStage - 0x080110ac 0x178 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080110ac USBD_LL_DataOutStage + 0x08011aa8 0x178 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011aa8 USBD_LL_DataOutStage .text.USBD_LL_DataInStage - 0x08011224 0x176 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08011224 USBD_LL_DataInStage + 0x08011c20 0x176 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011c20 USBD_LL_DataInStage .text.USBD_LL_Reset - 0x0801139a 0xa6 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x0801139a USBD_LL_Reset + 0x08011d96 0xa6 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011d96 USBD_LL_Reset .text.USBD_LL_SetSpeed - 0x08011440 0x20 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08011440 USBD_LL_SetSpeed + 0x08011e3c 0x20 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011e3c USBD_LL_SetSpeed .text.USBD_LL_Suspend - 0x08011460 0x38 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08011460 USBD_LL_Suspend + 0x08011e5c 0x38 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011e5c USBD_LL_Suspend .text.USBD_LL_Resume - 0x08011498 0x30 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08011498 USBD_LL_Resume + 0x08011e94 0x30 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011e94 USBD_LL_Resume .text.USBD_LL_SOF - 0x080114c8 0x40 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080114c8 USBD_LL_SOF + 0x08011ec4 0x40 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011ec4 USBD_LL_SOF .text.USBD_CoreFindIF - 0x08011508 0x1a ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08011508 USBD_CoreFindIF + 0x08011f04 0x1a ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011f04 USBD_CoreFindIF .text.USBD_CoreFindEP - 0x08011522 0x1a ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x08011522 USBD_CoreFindEP + 0x08011f1e 0x1a ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011f1e USBD_CoreFindEP .text.USBD_GetEpDesc - 0x0801153c 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x0801153c USBD_GetEpDesc + 0x08011f38 0x70 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011f38 USBD_GetEpDesc .text.USBD_GetNextDesc - 0x080115ac 0x38 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - 0x080115ac USBD_GetNextDesc + 0x08011fa8 0x38 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x08011fa8 USBD_GetNextDesc .text.SWAPBYTE - 0x080115e4 0x3e ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - *fill* 0x08011622 0x2 + 0x08011fe0 0x3e ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + *fill* 0x0801201e 0x2 .text.USBD_StdDevReq - 0x08011624 0xe4 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08011624 USBD_StdDevReq + 0x08012020 0xe4 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012020 USBD_StdDevReq .text.USBD_StdItfReq - 0x08011708 0xd8 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08011708 USBD_StdItfReq + 0x08012104 0xd8 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012104 USBD_StdItfReq .text.USBD_StdEPReq - 0x080117e0 0x33e ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x080117e0 USBD_StdEPReq - *fill* 0x08011b1e 0x2 + 0x080121dc 0x33e ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x080121dc USBD_StdEPReq + *fill* 0x0801251a 0x2 .text.USBD_GetDescriptor - 0x08011b20 0x328 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x0801251c 0x328 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_SetAddress - 0x08011e48 0x88 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012844 0x88 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_SetConfig - 0x08011ed0 0x154 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x080128cc 0x154 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_GetConfig - 0x08012024 0x6c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012a20 0x6c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_GetStatus - 0x08012090 0x68 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012a8c 0x68 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_SetFeature - 0x080120f8 0x52 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012af4 0x52 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_ClrFeature - 0x0801214a 0x44 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012b46 0x44 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_ParseSetupRequest - 0x0801218e 0x74 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x0801218e USBD_ParseSetupRequest + 0x08012b8a 0x74 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012b8a USBD_ParseSetupRequest .text.USBD_CtlError - 0x08012202 0x22 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08012202 USBD_CtlError + 0x08012bfe 0x22 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012bfe USBD_CtlError .text.USBD_GetString - 0x08012224 0xa4 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - 0x08012224 USBD_GetString + 0x08012c20 0xa4 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012c20 USBD_GetString .text.USBD_GetLen - 0x080122c8 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x08012cc4 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .text.USBD_CtlSendData - 0x080122fc 0x3c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x080122fc USBD_CtlSendData + 0x08012cf8 0x3c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08012cf8 USBD_CtlSendData .text.USBD_CtlContinueSendData - 0x08012338 0x22 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x08012338 USBD_CtlContinueSendData + 0x08012d34 0x22 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08012d34 USBD_CtlContinueSendData .text.USBD_CtlPrepareRx - 0x0801235a 0x42 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x0801235a USBD_CtlPrepareRx + 0x08012d56 0x42 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08012d56 USBD_CtlPrepareRx .text.USBD_CtlContinueRx - 0x0801239c 0x22 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x0801239c USBD_CtlContinueRx + 0x08012d98 0x22 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08012d98 USBD_CtlContinueRx .text.USBD_CtlSendStatus - 0x080123be 0x26 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x080123be USBD_CtlSendStatus + 0x08012dba 0x26 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08012dba USBD_CtlSendStatus .text.USBD_CtlReceiveStatus - 0x080123e4 0x26 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - 0x080123e4 USBD_CtlReceiveStatus + 0x08012de0 0x26 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x08012de0 USBD_CtlReceiveStatus .text.SHCI_C2_DEBUG_Init - 0x0801240a 0x2e ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - 0x0801240a SHCI_C2_DEBUG_Init + 0x08012e06 0x2e ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + 0x08012e06 SHCI_C2_DEBUG_Init .text.SHCI_C2_Config - 0x08012438 0x2a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - 0x08012438 SHCI_C2_Config - *fill* 0x08012462 0x2 + 0x08012e34 0x2a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + 0x08012e34 SHCI_C2_Config + *fill* 0x08012e5e 0x2 .text.SHCI_GetWirelessFwInfo - 0x08012464 0x15c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - 0x08012464 SHCI_GetWirelessFwInfo + 0x08012e60 0x15c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + 0x08012e60 SHCI_GetWirelessFwInfo .text.shci_init - 0x080125c0 0x38 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - 0x080125c0 shci_init + 0x08012fbc 0x38 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x08012fbc shci_init .text.shci_user_evt_proc - 0x080125f8 0x9c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - 0x080125f8 shci_user_evt_proc + 0x08012ff4 0x9c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x08012ff4 shci_user_evt_proc .text.shci_send - 0x08012694 0x84 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - 0x08012694 shci_send - .text.TlInit 0x08012718 0x64 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x08013090 0x84 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x08013090 shci_send + .text.TlInit 0x08013114 0x64 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o .text.Cmd_SetStatus - 0x0801277c 0x50 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x08013178 0x50 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o .text.TlCmdEvtReceived - 0x080127cc 0x16 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - *fill* 0x080127e2 0x2 + 0x080131c8 0x16 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + *fill* 0x080131de 0x2 .text.TlUserEvtReceived - 0x080127e4 0x24 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x080131e0 0x24 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o .text.shci_register_io_bus - 0x08012808 0x28 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o - 0x08012808 shci_register_io_bus + 0x08013204 0x28 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + 0x08013204 shci_register_io_bus .text.TL_Enable - 0x08012830 0xc ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x08012830 TL_Enable - .text.TL_Init 0x0801283c 0x74 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x0801283c TL_Init + 0x0801322c 0xc ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x0801322c TL_Enable + .text.TL_Init 0x08013238 0x74 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x08013238 TL_Init .text.HW_IPCC_BLE_RxEvtNot - 0x080128b0 0x60 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x080128b0 HW_IPCC_BLE_RxEvtNot + 0x080132ac 0x60 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x080132ac HW_IPCC_BLE_RxEvtNot .text.HW_IPCC_BLE_AclDataAckNot - 0x08012910 0x1c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x08012910 HW_IPCC_BLE_AclDataAckNot + 0x0801330c 0x1c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x0801330c HW_IPCC_BLE_AclDataAckNot .text.TL_SYS_Init - 0x0801292c 0x54 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x0801292c TL_SYS_Init + 0x08013328 0x54 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x08013328 TL_SYS_Init .text.TL_SYS_SendCmd - 0x08012980 0x38 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x08012980 TL_SYS_SendCmd + 0x0801337c 0x38 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x0801337c TL_SYS_SendCmd .text.HW_IPCC_SYS_CmdEvtNot - 0x080129b8 0x2c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x080129b8 HW_IPCC_SYS_CmdEvtNot + 0x080133b4 0x2c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x080133b4 HW_IPCC_SYS_CmdEvtNot .text.HW_IPCC_SYS_EvtNot - 0x080129e4 0x44 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x080129e4 HW_IPCC_SYS_EvtNot + 0x080133e0 0x44 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x080133e0 HW_IPCC_SYS_EvtNot .text.TL_MM_Init - 0x08012a28 0x78 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x08012a28 TL_MM_Init + 0x08013424 0x78 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x08013424 TL_MM_Init .text.TL_MM_EvtDone - 0x08012aa0 0x30 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x08012aa0 TL_MM_EvtDone + 0x0801349c 0x30 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x0801349c TL_MM_EvtDone .text.SendFreeBuf - 0x08012ad0 0x40 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x080134cc 0x40 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .text.TL_TRACES_Init - 0x08012b10 0x24 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x08012b10 TL_TRACES_Init + 0x0801350c 0x24 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x0801350c TL_TRACES_Init .text.HW_IPCC_TRACES_EvtNot - 0x08012b34 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x08012b34 HW_IPCC_TRACES_EvtNot + 0x08013530 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x08013530 HW_IPCC_TRACES_EvtNot .text.TL_TRACES_EvtReceived - 0x08012b68 0x14 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x08012b68 TL_TRACES_EvtReceived + 0x08013564 0x14 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x08013564 TL_TRACES_EvtReceived .text.OutputDbgTrace - 0x08012b7c 0xbc ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x08013578 0xbc ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .text.OTP_Read - 0x08012c38 0x50 ./Middlewares/ST/STM32_WPAN/utilities/otp.o - 0x08012c38 OTP_Read + 0x08013634 0x50 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + 0x08013634 OTP_Read .text.LST_init_head - 0x08012c88 0x20 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - 0x08012c88 LST_init_head + 0x08013684 0x20 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x08013684 LST_init_head .text.LST_is_empty - 0x08012ca8 0x44 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - 0x08012ca8 LST_is_empty + 0x080136a4 0x44 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x080136a4 LST_is_empty .text.LST_insert_head - 0x08012cec 0x4c ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - 0x08012cec LST_insert_head + 0x080136e8 0x4c ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x080136e8 LST_insert_head .text.LST_insert_tail - 0x08012d38 0x4c ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - 0x08012d38 LST_insert_tail + 0x08013734 0x4c ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x08013734 LST_insert_tail .text.LST_remove_node - 0x08012d84 0x42 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - 0x08012d84 LST_remove_node + 0x08013780 0x42 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x08013780 LST_remove_node .text.LST_remove_head - 0x08012dc6 0x3e ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - 0x08012dc6 LST_remove_head + 0x080137c2 0x3e ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x080137c2 LST_remove_head .text.__NVIC_SetPriority - 0x08012e04 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013800 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .text.SysTick_Handler - 0x08012e58 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08012e58 SysTick_Handler + 0x08013854 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013854 SysTick_Handler .text.SVC_Setup - 0x08012e78 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013874 0x12 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .text.IRQ_Context - 0x08012e8a 0x4e ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013886 0x4e ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .text.osKernelInitialize - 0x08012ed8 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08012ed8 osKernelInitialize + 0x080138d4 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x080138d4 osKernelInitialize .text.osKernelStart - 0x08012f24 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08012f24 osKernelStart + 0x08013920 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013920 osKernelStart .text.osThreadNew - 0x08012f78 0x124 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08012f78 osThreadNew + 0x08013974 0x124 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013974 osThreadNew .text.osThreadGetId - 0x0801309c 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x0801309c osThreadGetId - *fill* 0x080130b2 0x2 + 0x08013a98 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013a98 osThreadGetId + *fill* 0x08013aae 0x2 .text.osThreadFlagsSet - 0x080130b4 0xac ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x080130b4 osThreadFlagsSet + 0x08013ab0 0xac ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013ab0 osThreadFlagsSet .text.osThreadFlagsWait - 0x08013160 0x106 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08013160 osThreadFlagsWait - .text.osDelay 0x08013266 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08013266 osDelay + 0x08013b5c 0x106 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013b5c osThreadFlagsWait .text.osMutexNew - 0x0801329a 0x10a ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x0801329a osMutexNew + 0x08013c62 0x10a ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013c62 osMutexNew .text.osMutexAcquire - 0x080133a4 0x94 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x080133a4 osMutexAcquire + 0x08013d6c 0x94 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013d6c osMutexAcquire .text.osMutexRelease - 0x08013438 0x78 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08013438 osMutexRelease + 0x08013e00 0x78 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013e00 osMutexRelease .text.osSemaphoreNew - 0x080134b0 0x110 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x080134b0 osSemaphoreNew + 0x08013e78 0x110 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013e78 osSemaphoreNew .text.osSemaphoreAcquire - 0x080135c0 0xa0 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x080135c0 osSemaphoreAcquire + 0x08013f88 0xa0 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08013f88 osSemaphoreAcquire .text.osSemaphoreRelease - 0x08013660 0x84 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08013660 osSemaphoreRelease + 0x08014028 0x84 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08014028 osSemaphoreRelease .text.osMessageQueueNew - 0x080136e4 0xe4 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x080136e4 osMessageQueueNew + 0x080140ac 0xe4 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x080140ac osMessageQueueNew .text.osMessageQueuePut - 0x080137c8 0xbc ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x080137c8 osMessageQueuePut + 0x08014190 0xbc ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08014190 osMessageQueuePut .text.osMessageQueueGet - 0x08013884 0xb8 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08013884 osMessageQueueGet + 0x0801424c 0xb8 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x0801424c osMessageQueueGet .text.vApplicationGetIdleTaskMemory - 0x0801393c 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x0801393c vApplicationGetIdleTaskMemory + 0x08014304 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08014304 vApplicationGetIdleTaskMemory .text.vApplicationGetTimerTaskMemory - 0x08013970 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - 0x08013970 vApplicationGetTimerTaskMemory + 0x08014338 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x08014338 vApplicationGetTimerTaskMemory .text.vListInitialise - 0x080139a4 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/list.o - 0x080139a4 vListInitialise + 0x0801436c 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + 0x0801436c vListInitialise .text.vListInitialiseItem - 0x080139e4 0x1a ./Middlewares/Third_Party/FreeRTOS/Source/list.o - 0x080139e4 vListInitialiseItem + 0x080143ac 0x1a ./Middlewares/Third_Party/FreeRTOS/Source/list.o + 0x080143ac vListInitialiseItem .text.vListInsert - 0x080139fe 0x72 ./Middlewares/Third_Party/FreeRTOS/Source/list.o - 0x080139fe vListInsert + 0x080143c6 0x72 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + 0x080143c6 vListInsert .text.uxListRemove - 0x08013a70 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/list.o - 0x08013a70 uxListRemove + 0x08014438 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + 0x08014438 uxListRemove .text.xQueueGenericReset - 0x08013ac4 0x124 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013ac4 xQueueGenericReset + 0x0801448c 0x124 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x0801448c xQueueGenericReset .text.xQueueGenericCreateStatic - 0x08013be8 0xc2 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013be8 xQueueGenericCreateStatic + 0x080145b0 0xc2 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080145b0 xQueueGenericCreateStatic .text.xQueueGenericCreate - 0x08013caa 0xa6 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013caa xQueueGenericCreate + 0x08014672 0xa6 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014672 xQueueGenericCreate .text.prvInitialiseNewQueue - 0x08013d50 0x46 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014718 0x46 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text.prvInitialiseMutex - 0x08013d96 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x0801475e 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text.xQueueCreateMutex - 0x08013dca 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013dca xQueueCreateMutex + 0x08014792 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014792 xQueueCreateMutex .text.xQueueCreateMutexStatic - 0x08013dfa 0x36 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013dfa xQueueCreateMutexStatic + 0x080147c2 0x36 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080147c2 xQueueCreateMutexStatic .text.xQueueGiveMutexRecursive - 0x08013e30 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013e30 xQueueGiveMutexRecursive + 0x080147f8 0x6a ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080147f8 xQueueGiveMutexRecursive .text.xQueueTakeMutexRecursive - 0x08013e9a 0x6e ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013e9a xQueueTakeMutexRecursive + 0x08014862 0x6e ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014862 xQueueTakeMutexRecursive .text.xQueueCreateCountingSemaphoreStatic - 0x08013f08 0x66 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013f08 xQueueCreateCountingSemaphoreStatic + 0x080148d0 0x66 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080148d0 xQueueCreateCountingSemaphoreStatic .text.xQueueCreateCountingSemaphore - 0x08013f6e 0x5e ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013f6e xQueueCreateCountingSemaphore + 0x08014936 0x5e ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014936 xQueueCreateCountingSemaphore .text.xQueueGenericSend - 0x08013fcc 0x204 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08013fcc xQueueGenericSend + 0x08014994 0x204 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014994 xQueueGenericSend .text.xQueueGenericSendFromISR - 0x080141d0 0x16c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x080141d0 xQueueGenericSendFromISR + 0x08014b98 0x16c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014b98 xQueueGenericSendFromISR .text.xQueueGiveFromISR - 0x0801433c 0x150 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x0801433c xQueueGiveFromISR + 0x08014d04 0x150 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014d04 xQueueGiveFromISR .text.xQueueReceive - 0x0801448c 0x1c4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x0801448c xQueueReceive + 0x08014e54 0x1c4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08014e54 xQueueReceive .text.xQueueSemaphoreTake - 0x08014650 0x200 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08014650 xQueueSemaphoreTake + 0x08015018 0x200 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08015018 xQueueSemaphoreTake .text.xQueueReceiveFromISR - 0x08014850 0x134 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08014850 xQueueReceiveFromISR + 0x08015218 0x134 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08015218 xQueueReceiveFromISR .text.vQueueDelete - 0x08014984 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08014984 vQueueDelete + 0x0801534c 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x0801534c vQueueDelete .text.prvGetDisinheritPriorityAfterTimeout - 0x080149cc 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08015394 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text.prvCopyDataToQueue - 0x080149fc 0xd4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080153c4 0xd4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text.prvCopyDataFromQueue - 0x08014ad0 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08015498 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text.prvUnlockQueue - 0x08014b1c 0xa4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080154e4 0xa4 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text.prvIsQueueEmpty - 0x08014bc0 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08015588 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text.prvIsQueueFull - 0x08014bec 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080155b4 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .text.vQueueAddToRegistry - 0x08014c1c 0xa0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08014c1c vQueueAddToRegistry + 0x080155e4 0xa0 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080155e4 vQueueAddToRegistry .text.vQueueUnregisterQueue - 0x08014cbc 0x74 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08014cbc vQueueUnregisterQueue + 0x08015684 0x74 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x08015684 vQueueUnregisterQueue .text.vQueueWaitForMessageRestricted - 0x08014d30 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x08014d30 vQueueWaitForMessageRestricted + 0x080156f8 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x080156f8 vQueueWaitForMessageRestricted .text.xTaskCreateStatic - 0x08014d98 0xca ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08014d98 xTaskCreateStatic + 0x08015760 0xca ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08015760 xTaskCreateStatic .text.xTaskCreate - 0x08014e62 0x94 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08014e62 xTaskCreate + 0x0801582a 0x94 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x0801582a xTaskCreate + *fill* 0x080158be 0x2 .text.prvInitialiseNewTask - 0x08014ef6 0x120 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - *fill* 0x08015016 0x2 + 0x080158c0 0x14c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.prvAddNewTaskToReadyList - 0x08015018 0x130 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .text.vTaskDelay - 0x08015148 0x6c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015148 vTaskDelay + 0x08015a0c 0x130 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.vTaskStartScheduler - 0x080151b4 0xd8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x080151b4 vTaskStartScheduler + 0x08015b3c 0xe8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08015b3c vTaskStartScheduler .text.vTaskSuspendAll - 0x0801528c 0x1c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x0801528c vTaskSuspendAll + 0x08015c24 0x1c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08015c24 vTaskSuspendAll .text.xTaskResumeAll - 0x080152a8 0x1fc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x080152a8 xTaskResumeAll + 0x08015c40 0x1fc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08015c40 xTaskResumeAll .text.xTaskGetTickCount - 0x080154a4 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x080154a4 xTaskGetTickCount + 0x08015e3c 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08015e3c xTaskGetTickCount .text.uxTaskGetNumberOfTasks - 0x080154c4 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x080154c4 uxTaskGetNumberOfTasks + 0x08015e5c 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08015e5c uxTaskGetNumberOfTasks .text.xTaskIncrementTick - 0x080154dc 0x230 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x080154dc xTaskIncrementTick + 0x08015e74 0x230 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08015e74 xTaskIncrementTick .text.vTaskSwitchContext - 0x0801570c 0xbc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x0801570c vTaskSwitchContext + 0x080160a4 0x114 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x080160a4 vTaskSwitchContext .text.vTaskPlaceOnEventList - 0x080157c8 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x080157c8 vTaskPlaceOnEventList + 0x080161b8 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x080161b8 vTaskPlaceOnEventList .text.vTaskPlaceOnEventListRestricted - 0x08015814 0x8c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015814 vTaskPlaceOnEventListRestricted + 0x08016204 0x8c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016204 vTaskPlaceOnEventListRestricted .text.xTaskRemoveFromEventList - 0x080158a0 0x1b0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x080158a0 xTaskRemoveFromEventList + 0x08016290 0x1b0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016290 xTaskRemoveFromEventList .text.vTaskInternalSetTimeOutState - 0x08015a50 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015a50 vTaskInternalSetTimeOutState + 0x08016440 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016440 vTaskInternalSetTimeOutState .text.xTaskCheckForTimeOut - 0x08015a7c 0xd0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015a7c xTaskCheckForTimeOut + 0x0801646c 0xd0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x0801646c xTaskCheckForTimeOut .text.vTaskMissedYield - 0x08015b4c 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015b4c vTaskMissedYield + 0x0801653c 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x0801653c vTaskMissedYield .text.prvIdleTask - 0x08015b64 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016554 0x30 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.prvInitialiseTaskLists - 0x08015b94 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016584 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.prvCheckTasksWaitingTermination - 0x08015c14 0x5c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016604 0x5c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.prvDeleteTCB - 0x08015c70 0x60 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016660 0x70 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.prvResetNextTaskUnblockTime - 0x08015cd0 0x38 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x080166d0 0x38 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.xTaskGetCurrentTaskHandle - 0x08015d08 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015d08 xTaskGetCurrentTaskHandle + 0x08016708 0x20 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016708 xTaskGetCurrentTaskHandle .text.xTaskGetSchedulerState - 0x08015d28 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015d28 xTaskGetSchedulerState + 0x08016728 0x3c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016728 xTaskGetSchedulerState .text.xTaskPriorityInherit - 0x08015d64 0x120 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015d64 xTaskPriorityInherit + 0x08016764 0x120 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016764 xTaskPriorityInherit .text.xTaskPriorityDisinherit - 0x08015e84 0x130 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015e84 xTaskPriorityDisinherit + 0x08016884 0x130 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016884 xTaskPriorityDisinherit .text.vTaskPriorityDisinheritAfterTimeout - 0x08015fb4 0x158 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08015fb4 vTaskPriorityDisinheritAfterTimeout + 0x080169b4 0x158 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x080169b4 vTaskPriorityDisinheritAfterTimeout .text.pvTaskIncrementMutexHeldCount - 0x0801610c 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x0801610c pvTaskIncrementMutexHeldCount + 0x08016b0c 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016b0c pvTaskIncrementMutexHeldCount .text.ulTaskGenericNotifyTake - 0x08016134 0xd8 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08016134 ulTaskGenericNotifyTake + 0x08016b34 0xd0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016b34 ulTaskGenericNotifyTake .text.xTaskGenericNotifyWait - 0x0801620c 0x10c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x0801620c xTaskGenericNotifyWait + 0x08016c04 0x100 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016c04 xTaskGenericNotifyWait .text.xTaskGenericNotify - 0x08016318 0x25c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08016318 xTaskGenericNotify + 0x08016d04 0x250 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016d04 xTaskGenericNotify .text.xTaskGenericNotifyFromISR - 0x08016574 0x2d0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08016574 xTaskGenericNotifyFromISR + 0x08016f54 0x2c0 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08016f54 xTaskGenericNotifyFromISR .text.vTaskGenericNotifyGiveFromISR - 0x08016844 0x218 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x08016844 vTaskGenericNotifyGiveFromISR + 0x08017214 0x214 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08017214 vTaskGenericNotifyGiveFromISR .text.prvAddCurrentTaskToDelayedList - 0x08016a5c 0xdc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x08017428 0xdc ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .text.xTimerCreateTimerTask - 0x08016b38 0x94 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - 0x08016b38 xTimerCreateTimerTask + 0x08017504 0x94 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x08017504 xTimerCreateTimerTask .text.prvReloadTimer - 0x08016bcc 0x42 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - *fill* 0x08016c0e 0x2 + 0x08017598 0x42 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + *fill* 0x080175da 0x2 .text.prvProcessExpiredTimer - 0x08016c10 0x60 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x080175dc 0x60 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text.prvTimerTask - 0x08016c70 0x26 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - *fill* 0x08016c96 0x2 + 0x0801763c 0x26 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + *fill* 0x08017662 0x2 .text.prvProcessTimerOrBlockTask - 0x08016c98 0x9c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x08017664 0x9c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text.prvGetNextExpireTime - 0x08016d34 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x08017700 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text.prvSampleTimeNow - 0x08016d7c 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x08017748 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text.prvInsertTimerInActiveList - 0x08016dbc 0x84 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x08017788 0x84 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text.prvProcessReceivedCommands - 0x08016e40 0x1bc ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x0801780c 0x1bc ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text.prvSwitchTimerLists - 0x08016ffc 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x080179c8 0x4c ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text.prvCheckForValidListAndQueue - 0x08017048 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x08017a14 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .text.pxPortInitialiseStack - 0x080170c8 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x080170c8 pxPortInitialiseStack + 0x08017a94 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017a94 pxPortInitialiseStack .text.prvTaskExitError - 0x08017130 0x5c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - *fill* 0x0801718c 0x4 + 0x08017afc 0x5c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + *fill* 0x08017b58 0x8 .text.SVC_Handler - 0x08017190 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x08017190 SVC_Handler + 0x08017b60 0x28 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017b60 SVC_Handler .text.prvPortStartFirstTask - 0x080171b8 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017b88 0x2c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .text.xPortStartScheduler - 0x080171e4 0x17c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x080171e4 xPortStartScheduler + 0x08017bb4 0x17c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017bb4 xPortStartScheduler .text.vPortEnterCritical - 0x08017360 0x64 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x08017360 vPortEnterCritical + 0x08017d30 0x64 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017d30 vPortEnterCritical .text.vPortExitCritical - 0x080173c4 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x080173c4 vPortExitCritical - *fill* 0x08017418 0x8 + 0x08017d94 0x54 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017d94 vPortExitCritical + *fill* 0x08017de8 0x8 .text.PendSV_Handler - 0x08017420 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x08017420 PendSV_Handler + 0x08017df0 0x68 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017df0 PendSV_Handler .text.xPortSysTickHandler - 0x08017488 0x44 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x08017488 xPortSysTickHandler + 0x08017e58 0x44 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017e58 xPortSysTickHandler .text.vPortSetupTimerInterrupt - 0x080174cc 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x080174cc vPortSetupTimerInterrupt + 0x08017e9c 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017e9c vPortSetupTimerInterrupt .text.vPortEnableVFP - 0x08017514 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017ee4 0x18 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .text.vPortValidateInterruptPriority - 0x0801752c 0x84 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - 0x0801752c vPortValidateInterruptPriority + 0x08017efc 0x84 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x08017efc vPortValidateInterruptPriority .text.pvPortMalloc - 0x080175b0 0x198 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - 0x080175b0 pvPortMalloc + 0x08017f80 0x198 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x08017f80 pvPortMalloc .text.vPortFree - 0x08017748 0xb4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - 0x08017748 vPortFree + 0x08018118 0xb4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x08018118 vPortFree .text.prvHeapInit - 0x080177fc 0xb8 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x080181cc 0xb8 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .text.prvInsertBlockIntoFreeList - 0x080178b4 0xb4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x08018284 0xb4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .text.LL_PWR_EnableBootC2 - 0x08017968 0x20 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018338 0x20 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C2_EXTI_EnableEvent_32_63 - 0x08017988 0x28 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018358 0x28 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_EXTI_EnableRisingTrig_32_63 - 0x080179b0 0x24 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018380 0x24 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_AHB3_GRP1_EnableClock - 0x080179d4 0x32 ./STM32_WPAN/Target/hw_ipcc.o + 0x080183a4 0x32 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C2_AHB3_GRP1_EnableClock - 0x08017a06 0x38 ./STM32_WPAN/Target/hw_ipcc.o + 0x080183d6 0x38 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C1_IPCC_EnableIT_TXF - 0x08017a3e 0x20 ./STM32_WPAN/Target/hw_ipcc.o + 0x0801840e 0x20 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C1_IPCC_EnableIT_RXO - 0x08017a5e 0x20 ./STM32_WPAN/Target/hw_ipcc.o + 0x0801842e 0x20 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C1_IPCC_EnableTransmitChannel - 0x08017a7e 0x26 ./STM32_WPAN/Target/hw_ipcc.o + 0x0801844e 0x26 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C1_IPCC_DisableTransmitChannel - 0x08017aa4 0x24 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018474 0x24 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C1_IPCC_EnableReceiveChannel - 0x08017ac8 0x24 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018498 0x24 ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C1_IPCC_ClearFlag_CHx - 0x08017aec 0x1c ./STM32_WPAN/Target/hw_ipcc.o + 0x080184bc 0x1c ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C1_IPCC_SetFlag_CHx - 0x08017b08 0x1e ./STM32_WPAN/Target/hw_ipcc.o + 0x080184d8 0x1e ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C1_IPCC_IsActiveFlag_CHx - 0x08017b26 0x2a ./STM32_WPAN/Target/hw_ipcc.o + 0x080184f6 0x2a ./STM32_WPAN/Target/hw_ipcc.o .text.LL_C2_IPCC_IsActiveFlag_CHx - 0x08017b50 0x2a ./STM32_WPAN/Target/hw_ipcc.o - *fill* 0x08017b7a 0x2 + 0x08018520 0x2a ./STM32_WPAN/Target/hw_ipcc.o + *fill* 0x0801854a 0x2 .text.HW_IPCC_Rx_Handler - 0x08017b7c 0x6c ./STM32_WPAN/Target/hw_ipcc.o - 0x08017b7c HW_IPCC_Rx_Handler + 0x0801854c 0x6c ./STM32_WPAN/Target/hw_ipcc.o + 0x0801854c HW_IPCC_Rx_Handler .text.HW_IPCC_Tx_Handler - 0x08017be8 0x6c ./STM32_WPAN/Target/hw_ipcc.o - 0x08017be8 HW_IPCC_Tx_Handler + 0x080185b8 0x6c ./STM32_WPAN/Target/hw_ipcc.o + 0x080185b8 HW_IPCC_Tx_Handler .text.HW_IPCC_Enable - 0x08017c54 0x28 ./STM32_WPAN/Target/hw_ipcc.o - 0x08017c54 HW_IPCC_Enable + 0x08018624 0x28 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018624 HW_IPCC_Enable .text.HW_IPCC_Init - 0x08017c7c 0x2c ./STM32_WPAN/Target/hw_ipcc.o - 0x08017c7c HW_IPCC_Init + 0x0801864c 0x2c ./STM32_WPAN/Target/hw_ipcc.o + 0x0801864c HW_IPCC_Init .text.HW_IPCC_BLE_EvtHandler - 0x08017ca8 0x18 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018678 0x18 ./STM32_WPAN/Target/hw_ipcc.o .text.HW_IPCC_BLE_AclDataEvtHandler - 0x08017cc0 0x38 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018690 0x38 ./STM32_WPAN/Target/hw_ipcc.o .text.HW_IPCC_SYS_Init - 0x08017cf8 0x34 ./STM32_WPAN/Target/hw_ipcc.o - 0x08017cf8 HW_IPCC_SYS_Init + 0x080186c8 0x34 ./STM32_WPAN/Target/hw_ipcc.o + 0x080186c8 HW_IPCC_SYS_Init .text.HW_IPCC_SYS_SendCmd - 0x08017d2c 0x3c ./STM32_WPAN/Target/hw_ipcc.o - 0x08017d2c HW_IPCC_SYS_SendCmd + 0x080186fc 0x3c ./STM32_WPAN/Target/hw_ipcc.o + 0x080186fc HW_IPCC_SYS_SendCmd .text.HW_IPCC_SYS_CmdEvtHandler - 0x08017d68 0x38 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018738 0x38 ./STM32_WPAN/Target/hw_ipcc.o .text.HW_IPCC_SYS_EvtHandler - 0x08017da0 0x18 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018770 0x18 ./STM32_WPAN/Target/hw_ipcc.o .text.HW_IPCC_MM_SendFreeBuf - 0x08017db8 0x5c ./STM32_WPAN/Target/hw_ipcc.o - 0x08017db8 HW_IPCC_MM_SendFreeBuf + 0x08018788 0x5c ./STM32_WPAN/Target/hw_ipcc.o + 0x08018788 HW_IPCC_MM_SendFreeBuf .text.HW_IPCC_MM_FreeBufHandler - 0x08017e14 0x48 ./STM32_WPAN/Target/hw_ipcc.o + 0x080187e4 0x48 ./STM32_WPAN/Target/hw_ipcc.o .text.HW_IPCC_TRACES_Init - 0x08017e5c 0x34 ./STM32_WPAN/Target/hw_ipcc.o - 0x08017e5c HW_IPCC_TRACES_Init + 0x0801882c 0x34 ./STM32_WPAN/Target/hw_ipcc.o + 0x0801882c HW_IPCC_TRACES_Init .text.HW_IPCC_TRACES_EvtHandler - 0x08017e90 0x18 ./STM32_WPAN/Target/hw_ipcc.o + 0x08018860 0x18 ./STM32_WPAN/Target/hw_ipcc.o .text.MX_USB_Device_Init - 0x08017ea8 0x60 ./USB_Device/App/usb_device.o - 0x08017ea8 MX_USB_Device_Init + 0x08018878 0x60 ./USB_Device/App/usb_device.o + 0x08018878 MX_USB_Device_Init .text.CDC_Init_FS - 0x08017f08 0x28 ./USB_Device/App/usbd_cdc_if.o + 0x080188d8 0x28 ./USB_Device/App/usbd_cdc_if.o .text.CDC_DeInit_FS - 0x08017f30 0x10 ./USB_Device/App/usbd_cdc_if.o + 0x08018900 0x10 ./USB_Device/App/usbd_cdc_if.o .text.CDC_Control_FS - 0x08017f40 0xbc ./USB_Device/App/usbd_cdc_if.o + 0x08018910 0xbc ./USB_Device/App/usbd_cdc_if.o .text.CDC_Receive_FS - 0x08017ffc 0x28 ./USB_Device/App/usbd_cdc_if.o + 0x080189cc 0x28 ./USB_Device/App/usbd_cdc_if.o .text.CDC_Transmit_FS - 0x08018024 0x4c ./USB_Device/App/usbd_cdc_if.o - 0x08018024 CDC_Transmit_FS + 0x080189f4 0x4c ./USB_Device/App/usbd_cdc_if.o + 0x080189f4 CDC_Transmit_FS .text.CDC_TransmitCplt_FS - 0x08018070 0x22 ./USB_Device/App/usbd_cdc_if.o - *fill* 0x08018092 0x2 + 0x08018a40 0x22 ./USB_Device/App/usbd_cdc_if.o + *fill* 0x08018a62 0x2 .text.USBD_CDC_DeviceDescriptor - 0x08018094 0x24 ./USB_Device/App/usbd_desc.o - 0x08018094 USBD_CDC_DeviceDescriptor + 0x08018a64 0x24 ./USB_Device/App/usbd_desc.o + 0x08018a64 USBD_CDC_DeviceDescriptor .text.USBD_CDC_LangIDStrDescriptor - 0x080180b8 0x24 ./USB_Device/App/usbd_desc.o - 0x080180b8 USBD_CDC_LangIDStrDescriptor + 0x08018a88 0x24 ./USB_Device/App/usbd_desc.o + 0x08018a88 USBD_CDC_LangIDStrDescriptor .text.USBD_CDC_ProductStrDescriptor - 0x080180dc 0x3c ./USB_Device/App/usbd_desc.o - 0x080180dc USBD_CDC_ProductStrDescriptor + 0x08018aac 0x3c ./USB_Device/App/usbd_desc.o + 0x08018aac USBD_CDC_ProductStrDescriptor .text.USBD_CDC_ManufacturerStrDescriptor - 0x08018118 0x28 ./USB_Device/App/usbd_desc.o - 0x08018118 USBD_CDC_ManufacturerStrDescriptor + 0x08018ae8 0x28 ./USB_Device/App/usbd_desc.o + 0x08018ae8 USBD_CDC_ManufacturerStrDescriptor .text.USBD_CDC_SerialStrDescriptor - 0x08018140 0x24 ./USB_Device/App/usbd_desc.o - 0x08018140 USBD_CDC_SerialStrDescriptor + 0x08018b10 0x24 ./USB_Device/App/usbd_desc.o + 0x08018b10 USBD_CDC_SerialStrDescriptor .text.USBD_CDC_ConfigStrDescriptor - 0x08018164 0x3c ./USB_Device/App/usbd_desc.o - 0x08018164 USBD_CDC_ConfigStrDescriptor + 0x08018b34 0x3c ./USB_Device/App/usbd_desc.o + 0x08018b34 USBD_CDC_ConfigStrDescriptor .text.USBD_CDC_InterfaceStrDescriptor - 0x080181a0 0x3c ./USB_Device/App/usbd_desc.o - 0x080181a0 USBD_CDC_InterfaceStrDescriptor + 0x08018b70 0x3c ./USB_Device/App/usbd_desc.o + 0x08018b70 USBD_CDC_InterfaceStrDescriptor .text.Get_SerialNum - 0x080181dc 0x58 ./USB_Device/App/usbd_desc.o + 0x08018bac 0x58 ./USB_Device/App/usbd_desc.o .text.IntToUnicode - 0x08018234 0x7e ./USB_Device/App/usbd_desc.o + 0x08018c04 0x7e ./USB_Device/App/usbd_desc.o .text.LL_AHB2_GRP1_EnableClock - 0x080182b2 0x32 ./USB_Device/Target/usbd_conf.o + 0x08018c82 0x32 ./USB_Device/Target/usbd_conf.o .text.LL_APB1_GRP1_EnableClock - 0x080182e4 0x32 ./USB_Device/Target/usbd_conf.o - *fill* 0x08018316 0x2 + 0x08018cb4 0x32 ./USB_Device/Target/usbd_conf.o + *fill* 0x08018ce6 0x2 .text.HAL_PCD_MspInit - 0x08018318 0xbc ./USB_Device/Target/usbd_conf.o - 0x08018318 HAL_PCD_MspInit + 0x08018ce8 0xbc ./USB_Device/Target/usbd_conf.o + 0x08018ce8 HAL_PCD_MspInit .text.HAL_PCD_SetupStageCallback - 0x080183d4 0x24 ./USB_Device/Target/usbd_conf.o - 0x080183d4 HAL_PCD_SetupStageCallback + 0x08018da4 0x24 ./USB_Device/Target/usbd_conf.o + 0x08018da4 HAL_PCD_SetupStageCallback .text.HAL_PCD_DataOutStageCallback - 0x080183f8 0x36 ./USB_Device/Target/usbd_conf.o - 0x080183f8 HAL_PCD_DataOutStageCallback + 0x08018dc8 0x36 ./USB_Device/Target/usbd_conf.o + 0x08018dc8 HAL_PCD_DataOutStageCallback .text.HAL_PCD_DataInStageCallback - 0x0801842e 0x34 ./USB_Device/Target/usbd_conf.o - 0x0801842e HAL_PCD_DataInStageCallback + 0x08018dfe 0x34 ./USB_Device/Target/usbd_conf.o + 0x08018dfe HAL_PCD_DataInStageCallback .text.HAL_PCD_SOFCallback - 0x08018462 0x1c ./USB_Device/Target/usbd_conf.o - 0x08018462 HAL_PCD_SOFCallback + 0x08018e32 0x1c ./USB_Device/Target/usbd_conf.o + 0x08018e32 HAL_PCD_SOFCallback .text.HAL_PCD_ResetCallback - 0x0801847e 0x3c ./USB_Device/Target/usbd_conf.o - 0x0801847e HAL_PCD_ResetCallback - *fill* 0x080184ba 0x2 + 0x08018e4e 0x3c ./USB_Device/Target/usbd_conf.o + 0x08018e4e HAL_PCD_ResetCallback + *fill* 0x08018e8a 0x2 .text.HAL_PCD_SuspendCallback - 0x080184bc 0x34 ./USB_Device/Target/usbd_conf.o - 0x080184bc HAL_PCD_SuspendCallback + 0x08018e8c 0x34 ./USB_Device/Target/usbd_conf.o + 0x08018e8c HAL_PCD_SuspendCallback .text.HAL_PCD_ResumeCallback - 0x080184f0 0x38 ./USB_Device/Target/usbd_conf.o - 0x080184f0 HAL_PCD_ResumeCallback + 0x08018ec0 0x38 ./USB_Device/Target/usbd_conf.o + 0x08018ec0 HAL_PCD_ResumeCallback .text.USBD_LL_Init - 0x08018528 0xc4 ./USB_Device/Target/usbd_conf.o - 0x08018528 USBD_LL_Init + 0x08018ef8 0xc4 ./USB_Device/Target/usbd_conf.o + 0x08018ef8 USBD_LL_Init .text.USBD_LL_Start - 0x080185ec 0x36 ./USB_Device/Target/usbd_conf.o - 0x080185ec USBD_LL_Start + 0x08018fbc 0x36 ./USB_Device/Target/usbd_conf.o + 0x08018fbc USBD_LL_Start .text.USBD_LL_OpenEP - 0x08018622 0x4c ./USB_Device/Target/usbd_conf.o - 0x08018622 USBD_LL_OpenEP + 0x08018ff2 0x4c ./USB_Device/Target/usbd_conf.o + 0x08018ff2 USBD_LL_OpenEP .text.USBD_LL_CloseEP - 0x0801866e 0x3e ./USB_Device/Target/usbd_conf.o - 0x0801866e USBD_LL_CloseEP + 0x0801903e 0x3e ./USB_Device/Target/usbd_conf.o + 0x0801903e USBD_LL_CloseEP .text.USBD_LL_StallEP - 0x080186ac 0x3e ./USB_Device/Target/usbd_conf.o - 0x080186ac USBD_LL_StallEP + 0x0801907c 0x3e ./USB_Device/Target/usbd_conf.o + 0x0801907c USBD_LL_StallEP .text.USBD_LL_ClearStallEP - 0x080186ea 0x3e ./USB_Device/Target/usbd_conf.o - 0x080186ea USBD_LL_ClearStallEP + 0x080190ba 0x3e ./USB_Device/Target/usbd_conf.o + 0x080190ba USBD_LL_ClearStallEP .text.USBD_LL_IsStallEP - 0x08018728 0x58 ./USB_Device/Target/usbd_conf.o - 0x08018728 USBD_LL_IsStallEP + 0x080190f8 0x58 ./USB_Device/Target/usbd_conf.o + 0x080190f8 USBD_LL_IsStallEP .text.USBD_LL_SetUSBAddress - 0x08018780 0x3e ./USB_Device/Target/usbd_conf.o - 0x08018780 USBD_LL_SetUSBAddress + 0x08019150 0x3e ./USB_Device/Target/usbd_conf.o + 0x08019150 USBD_LL_SetUSBAddress .text.USBD_LL_Transmit - 0x080187be 0x42 ./USB_Device/Target/usbd_conf.o - 0x080187be USBD_LL_Transmit + 0x0801918e 0x42 ./USB_Device/Target/usbd_conf.o + 0x0801918e USBD_LL_Transmit .text.USBD_LL_PrepareReceive - 0x08018800 0x42 ./USB_Device/Target/usbd_conf.o - 0x08018800 USBD_LL_PrepareReceive + 0x080191d0 0x42 ./USB_Device/Target/usbd_conf.o + 0x080191d0 USBD_LL_PrepareReceive .text.USBD_LL_GetRxDataSize - 0x08018842 0x26 ./USB_Device/Target/usbd_conf.o - 0x08018842 USBD_LL_GetRxDataSize + 0x08019212 0x26 ./USB_Device/Target/usbd_conf.o + 0x08019212 USBD_LL_GetRxDataSize .text.HAL_PCDEx_LPM_Callback - 0x08018868 0x6c ./USB_Device/Target/usbd_conf.o - 0x08018868 HAL_PCDEx_LPM_Callback + 0x08019238 0x6c ./USB_Device/Target/usbd_conf.o + 0x08019238 HAL_PCDEx_LPM_Callback .text.USBD_static_malloc - 0x080188d4 0x1c ./USB_Device/Target/usbd_conf.o - 0x080188d4 USBD_static_malloc + 0x080192a4 0x1c ./USB_Device/Target/usbd_conf.o + 0x080192a4 USBD_static_malloc .text.USBD_static_free - 0x080188f0 0x14 ./USB_Device/Target/usbd_conf.o - 0x080188f0 USBD_static_free + 0x080192c0 0x14 ./USB_Device/Target/usbd_conf.o + 0x080192c0 USBD_static_free .text.SystemClockConfig_Resume - 0x08018904 0xc ./USB_Device/Target/usbd_conf.o + 0x080192d4 0xc ./USB_Device/Target/usbd_conf.o .text.USBD_Get_USB_Status - 0x08018910 0x58 ./USB_Device/Target/usbd_conf.o + 0x080192e0 0x58 ./USB_Device/Target/usbd_conf.o .text.UTIL_LPM_Init - 0x08018968 0x24 ./Utilities/lpm/tiny_lpm/stm32_lpm.o - 0x08018968 UTIL_LPM_Init + 0x08019338 0x24 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + 0x08019338 UTIL_LPM_Init .text.UTIL_LPM_SetOffMode - 0x0801898c 0x60 ./Utilities/lpm/tiny_lpm/stm32_lpm.o - 0x0801898c UTIL_LPM_SetOffMode - .text.__cvt 0x080189ec 0xca /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) - 0x080189ec __cvt + 0x0801935c 0x60 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + 0x0801935c UTIL_LPM_SetOffMode + .text.__cvt 0x080193bc 0xca /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x080193bc __cvt .text.__exponent - 0x08018ab6 0x74 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) - 0x08018ab6 __exponent - *fill* 0x08018b2a 0x2 + 0x08019486 0x74 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x08019486 __exponent + *fill* 0x080194fa 0x2 .text._printf_float - 0x08018b2c 0x450 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) - 0x08018b2c _printf_float + 0x080194fc 0x450 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x080194fc _printf_float .text._printf_common - 0x08018f7c 0xda /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x08018f7c _printf_common - *fill* 0x08019056 0x2 + 0x0801994c 0xda /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x0801994c _printf_common + *fill* 0x08019a26 0x2 .text._printf_i - 0x08019058 0x24c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x08019058 _printf_i + 0x08019a28 0x24c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x08019a28 _printf_i .text._scanf_float - 0x080192a4 0x418 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) - 0x080192a4 _scanf_float - .text.std 0x080196bc 0x6c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x08019c74 0x418 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) + 0x08019c74 _scanf_float + .text.std 0x0801a08c 0x6c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) .text.stdio_exit_handler - 0x08019728 0x18 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x0801a0f8 0x18 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) .text.cleanup_stdio - 0x08019740 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x0801a110 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) .text.global_stdio_init.part.0 - 0x08019780 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x0801a150 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) .text.__sfp_lock_acquire - 0x080197c0 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - 0x080197c0 __sfp_lock_acquire + 0x0801a190 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x0801a190 __sfp_lock_acquire .text.__sfp_lock_release - 0x080197cc 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - 0x080197cc __sfp_lock_release - .text.__sinit 0x080197d8 0x30 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - 0x080197d8 __sinit + 0x0801a19c 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x0801a19c __sfp_lock_release + .text.__sinit 0x0801a1a8 0x30 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x0801a1a8 __sinit .text._fwalk_sglue - 0x08019808 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - 0x08019808 _fwalk_sglue - .text.printf 0x08019844 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) - 0x08019844 printf - 0x08019844 iprintf - .text._puts_r 0x08019868 0xaa /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) - 0x08019868 _puts_r - *fill* 0x08019912 0x2 - .text.puts 0x08019914 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) - 0x08019914 puts - .text.sprintf 0x08019924 0x44 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) - 0x08019924 sprintf - 0x08019924 siprintf - .text.__sread 0x08019968 0x22 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - 0x08019968 __sread + 0x0801a1d8 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) + 0x0801a1d8 _fwalk_sglue + .text.printf 0x0801a214 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) + 0x0801a214 printf + 0x0801a214 iprintf + .text.sprintf 0x0801a238 0x44 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) + 0x0801a238 sprintf + 0x0801a238 siprintf + .text.__sread 0x0801a27c 0x22 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) + 0x0801a27c __sread .text.__swrite - 0x0801998a 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - 0x0801998a __swrite - .text.__sseek 0x080199c2 0x26 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - 0x080199c2 __sseek + 0x0801a29e 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) + 0x0801a29e __swrite + .text.__sseek 0x0801a2d6 0x26 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) + 0x0801a2d6 __sseek .text.__sclose - 0x080199e8 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - 0x080199e8 __sclose - .text.__swbuf_r - 0x080199f0 0x7c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) - 0x080199f0 __swbuf_r - .text.__swsetup_r - 0x08019a6c 0xa8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) - 0x08019a6c __swsetup_r - .text.memset 0x08019b14 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - 0x08019b14 memset + 0x0801a2fc 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) + 0x0801a2fc __sclose + .text.memset 0x0801a304 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) + 0x0801a304 memset .text._localeconv_r - 0x08019b24 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-localeconv.o) - 0x08019b24 _localeconv_r + 0x0801a314 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-localeconv.o) + 0x0801a314 _localeconv_r .text._close_r - 0x08019b2c 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - 0x08019b2c _close_r + 0x0801a31c 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) + 0x0801a31c _close_r + .text._reclaim_reent + 0x0801a33c 0xbc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) + 0x0801a33c _reclaim_reent .text._lseek_r - 0x08019b4c 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - 0x08019b4c _lseek_r - .text._read_r 0x08019b70 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - 0x08019b70 _read_r + 0x0801a3f8 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) + 0x0801a3f8 _lseek_r + .text._read_r 0x0801a41c 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) + 0x0801a41c _read_r .text._write_r - 0x08019b94 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - 0x08019b94 _write_r - .text.__errno 0x08019bb8 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - 0x08019bb8 __errno + 0x0801a440 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) + 0x0801a440 _write_r + .text.__errno 0x0801a464 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) + 0x0801a464 __errno .text.__libc_init_array - 0x08019bc4 0x48 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - 0x08019bc4 __libc_init_array + 0x0801a470 0x48 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) + 0x0801a470 __libc_init_array .text.__retarget_lock_init_recursive - 0x08019c0c 0x2 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - 0x08019c0c __retarget_lock_init_recursive + 0x0801a4b8 0x2 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) + 0x0801a4b8 __retarget_lock_init_recursive .text.__retarget_lock_acquire_recursive - 0x08019c0e 0x2 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - 0x08019c0e __retarget_lock_acquire_recursive + 0x0801a4ba 0x2 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) + 0x0801a4ba __retarget_lock_acquire_recursive .text.__retarget_lock_release_recursive - 0x08019c10 0x2 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - 0x08019c10 __retarget_lock_release_recursive - .text.memcpy 0x08019c12 0x1c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcpy-stub.o) - 0x08019c12 memcpy - *fill* 0x08019c2e 0x2 - .text.nanf 0x08019c30 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-sf_nan.o) - 0x08019c30 nanf - .text.quorem 0x08019c3c 0x110 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) - *fill* 0x08019d4c 0x4 - .text._dtoa_r 0x08019d50 0xbb8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) - 0x08019d50 _dtoa_r - .text._free_r 0x0801a908 0x94 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - 0x0801a908 _free_r - .text.malloc 0x0801a99c 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-malloc.o) - 0x0801a99c malloc + 0x0801a4bc 0x2 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) + 0x0801a4bc __retarget_lock_release_recursive + .text.memcpy 0x0801a4be 0x1c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcpy-stub.o) + 0x0801a4be memcpy + *fill* 0x0801a4da 0x2 + .text.nanf 0x0801a4dc 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-sf_nan.o) + 0x0801a4dc nanf + .text.quorem 0x0801a4e8 0x110 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) + .text._dtoa_r 0x0801a5f8 0xbb8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) + 0x0801a5f8 _dtoa_r + .text._free_r 0x0801b1b0 0x94 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) + 0x0801b1b0 _free_r + .text.malloc 0x0801b244 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-malloc.o) + 0x0801b244 malloc .text.sbrk_aligned - 0x0801a9ac 0x44 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) + 0x0801b254 0x44 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) .text._malloc_r - 0x0801a9f0 0x100 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - 0x0801a9f0 _malloc_r + 0x0801b298 0x100 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) + 0x0801b298 _malloc_r .text.__malloc_lock - 0x0801aaf0 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - 0x0801aaf0 __malloc_lock + 0x0801b398 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) + 0x0801b398 __malloc_lock .text.__malloc_unlock - 0x0801aafc 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - 0x0801aafc __malloc_unlock - .text._Balloc 0x0801ab08 0x7c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801ab08 _Balloc - .text._Bfree 0x0801ab84 0x44 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801ab84 _Bfree + 0x0801b3a4 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) + 0x0801b3a4 __malloc_unlock + .text._Balloc 0x0801b3b0 0x7c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b3b0 _Balloc + .text._Bfree 0x0801b42c 0x44 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b42c _Bfree .text.__multadd - 0x0801abc8 0x8c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801abc8 __multadd - .text.__s2b 0x0801ac54 0x94 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801ac54 __s2b + 0x0801b470 0x8c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b470 __multadd + .text.__s2b 0x0801b4fc 0x94 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b4fc __s2b .text.__hi0bits - 0x0801ace8 0x3e /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801ace8 __hi0bits + 0x0801b590 0x3e /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b590 __hi0bits .text.__lo0bits - 0x0801ad26 0x5a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801ad26 __lo0bits - .text.__i2b 0x0801ad80 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801ad80 __i2b + 0x0801b5ce 0x5a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b5ce __lo0bits + .text.__i2b 0x0801b628 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b628 __i2b .text.__multiply - 0x0801adac 0x154 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801adac __multiply + 0x0801b654 0x154 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b654 __multiply .text.__pow5mult - 0x0801af00 0xb8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801af00 __pow5mult + 0x0801b7a8 0xb8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b7a8 __pow5mult .text.__lshift - 0x0801afb8 0xdc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801afb8 __lshift - .text.__mcmp 0x0801b094 0x36 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801b094 __mcmp - *fill* 0x0801b0ca 0x2 - .text.__mdiff 0x0801b0cc 0x130 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801b0cc __mdiff - .text.__ulp 0x0801b1fc 0x4c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801b1fc __ulp - .text.__b2d 0x0801b248 0x94 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801b248 __b2d - .text.__d2b 0x0801b2dc 0xb0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801b2dc __d2b - .text.__ratio 0x0801b38c 0x64 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801b38c __ratio + 0x0801b860 0xdc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b860 __lshift + .text.__mcmp 0x0801b93c 0x36 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b93c __mcmp + *fill* 0x0801b972 0x2 + .text.__mdiff 0x0801b974 0x130 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801b974 __mdiff + .text.__ulp 0x0801baa4 0x4c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801baa4 __ulp + .text.__b2d 0x0801baf0 0x94 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801baf0 __b2d + .text.__d2b 0x0801bb84 0xb0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801bb84 __d2b + .text.__ratio 0x0801bc34 0x64 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801bc34 __ratio .text.__copybits - 0x0801b3f0 0x46 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801b3f0 __copybits + 0x0801bc98 0x46 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801bc98 __copybits .text.__any_on - 0x0801b436 0x42 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801b436 __any_on - .text.sulp 0x0801b478 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) - *fill* 0x0801b4b4 0x4 + 0x0801bcde 0x42 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801bcde __any_on + .text.sulp 0x0801bd20 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + *fill* 0x0801bd5c 0x4 .text._strtod_l - 0x0801b4b8 0xbb8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) - 0x0801b4b8 _strtod_l + 0x0801bd60 0xbb8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + 0x0801bd60 _strtod_l .text._strtod_r - 0x0801c070 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) - 0x0801c070 _strtod_r + 0x0801c918 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + 0x0801c918 _strtod_r .text._strtol_l.isra.0 - 0x0801c07c 0xf4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtol.o) + 0x0801c924 0xf4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtol.o) .text._strtol_r - 0x0801c170 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtol.o) - 0x0801c170 _strtol_r + 0x0801ca18 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtol.o) + 0x0801ca18 _strtol_r .text.__ssputs_r - 0x0801c174 0xc0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) - 0x0801c174 __ssputs_r + 0x0801ca1c 0xc0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + 0x0801ca1c __ssputs_r .text._svfprintf_r - 0x0801c234 0x1f0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) - 0x0801c234 _svfprintf_r - 0x0801c234 _svfiprintf_r + 0x0801cadc 0x1f0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + 0x0801cadc _svfprintf_r + 0x0801cadc _svfiprintf_r .text.__sfputc_r - 0x0801c424 0x2e /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) + 0x0801cccc 0x2e /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) .text.__sfputs_r - 0x0801c452 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - 0x0801c452 __sfputs_r - *fill* 0x0801c476 0x2 + 0x0801ccfa 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) + 0x0801ccfa __sfputs_r + *fill* 0x0801cd1e 0x2 .text._vfprintf_r - 0x0801c478 0x228 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - 0x0801c478 _vfiprintf_r - 0x0801c478 _vfprintf_r + 0x0801cd20 0x228 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) + 0x0801cd20 _vfiprintf_r + 0x0801cd20 _vfprintf_r .text.__sflush_r - 0x0801c6a0 0x104 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - 0x0801c6a0 __sflush_r + 0x0801cf48 0x104 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) + 0x0801cf48 __sflush_r .text._fflush_r - 0x0801c7a4 0x50 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - 0x0801c7a4 _fflush_r - .text.__swhatbuf_r - 0x0801c7f4 0x48 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) - 0x0801c7f4 __swhatbuf_r - .text.__smakebuf_r - 0x0801c83c 0x72 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) - 0x0801c83c __smakebuf_r - .text.memmove 0x0801c8ae 0x32 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) - 0x0801c8ae memmove - .text.strncmp 0x0801c8e0 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strncmp.o) - 0x0801c8e0 strncmp - .text._fstat_r - 0x0801c904 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) - 0x0801c904 _fstat_r - .text._isatty_r - 0x0801c928 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) - 0x0801c928 _isatty_r - .text._sbrk_r 0x0801c948 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - 0x0801c948 _sbrk_r - .text.nan 0x0801c968 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-s_nan.o) - 0x0801c968 nan + 0x0801d04c 0x50 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) + 0x0801d04c _fflush_r + .text.__swbuf_r + 0x0801d09c 0x7c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) + 0x0801d09c __swbuf_r + .text.__swsetup_r + 0x0801d118 0xa8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) + 0x0801d118 __swsetup_r + .text.memmove 0x0801d1c0 0x32 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) + 0x0801d1c0 memmove + .text.strncmp 0x0801d1f2 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strncmp.o) + 0x0801d1f2 strncmp + *fill* 0x0801d216 0x2 + .text._sbrk_r 0x0801d218 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) + 0x0801d218 _sbrk_r + .text.nan 0x0801d238 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-s_nan.o) + 0x0801d238 nan .text.__assert_func - 0x0801c978 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) - 0x0801c978 __assert_func + 0x0801d248 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) + 0x0801d248 __assert_func .text._calloc_r - 0x0801c9b4 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-callocr.o) - 0x0801c9b4 _calloc_r - .text.rshift 0x0801c9dc 0xa4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x0801d284 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-callocr.o) + 0x0801d284 _calloc_r + .text.rshift 0x0801d2ac 0xa4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) .text.__hexdig_fun - 0x0801ca80 0x2a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) - 0x0801ca80 __hexdig_fun - *fill* 0x0801caaa 0x2 + 0x0801d350 0x2a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x0801d350 __hexdig_fun + *fill* 0x0801d37a 0x2 .text.__gethex - 0x0801caac 0x420 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) - 0x0801caac __gethex - .text.L_shift 0x0801cecc 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) - .text.__match 0x0801cef0 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) - 0x0801cef0 __match + 0x0801d37c 0x420 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x0801d37c __gethex + .text.L_shift 0x0801d79c 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) + .text.__match 0x0801d7c0 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) + 0x0801d7c0 __match .text.__hexnan - 0x0801cf18 0x13a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) - 0x0801cf18 __hexnan + 0x0801d7e8 0x13a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) + 0x0801d7e8 __hexnan .text.__ascii_mbtowc - 0x0801d052 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mbtowc_r.o) - 0x0801d052 __ascii_mbtowc + 0x0801d922 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mbtowc_r.o) + 0x0801d922 __ascii_mbtowc .text._realloc_r - 0x0801d076 0x5c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reallocr.o) - 0x0801d076 _realloc_r + 0x0801d946 0x5c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reallocr.o) + 0x0801d946 _realloc_r .text.__ascii_wctomb - 0x0801d0d2 0x1a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wctomb_r.o) - 0x0801d0d2 __ascii_wctomb - .text.fprintf 0x0801d0ec 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) - 0x0801d0ec fprintf - 0x0801d0ec fiprintf - .text.abort 0x0801d110 0xe /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) - 0x0801d110 abort + 0x0801d9a2 0x1a /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wctomb_r.o) + 0x0801d9a2 __ascii_wctomb + .text.fprintf 0x0801d9bc 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) + 0x0801d9bc fprintf + 0x0801d9bc fiprintf + .text.__swhatbuf_r + 0x0801d9e0 0x48 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + 0x0801d9e0 __swhatbuf_r + .text.__smakebuf_r + 0x0801da28 0x72 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + 0x0801da28 __smakebuf_r + *fill* 0x0801da9a 0x2 + .text._fstat_r + 0x0801da9c 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) + 0x0801da9c _fstat_r + .text._isatty_r + 0x0801dac0 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) + 0x0801dac0 _isatty_r + .text.abort 0x0801dae0 0xe /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) + 0x0801dae0 abort .text._malloc_usable_size_r - 0x0801d11e 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-msizer.o) - 0x0801d11e _malloc_usable_size_r + 0x0801daee 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-msizer.o) + 0x0801daee _malloc_usable_size_r .text._raise_r - 0x0801d12e 0x50 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signal.o) - 0x0801d12e _raise_r - *fill* 0x0801d17e 0x2 - .text.raise 0x0801d180 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signal.o) - 0x0801d180 raise - .text._kill_r 0x0801d190 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o) - 0x0801d190 _kill_r + 0x0801dafe 0x50 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signal.o) + 0x0801dafe _raise_r + *fill* 0x0801db4e 0x2 + .text.raise 0x0801db50 0x10 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signal.o) + 0x0801db50 raise + .text._kill_r 0x0801db60 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o) + 0x0801db60 _kill_r .text._getpid_r - 0x0801d1b4 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o) - 0x0801d1b4 _getpid_r - .text.sqrt 0x0801d1b8 0x68 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-w_sqrt.o) - 0x0801d1b8 sqrt + 0x0801db84 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o) + 0x0801db84 _getpid_r + .text.sqrt 0x0801db88 0x68 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-w_sqrt.o) + 0x0801db88 sqrt .text.__ieee754_sqrt - 0x0801d220 0x1f0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-e_sqrt.o) - 0x0801d220 __ieee754_sqrt + 0x0801dbf0 0x1f0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-e_sqrt.o) + 0x0801dbf0 __ieee754_sqrt *(.glue_7) - .glue_7 0x0801d410 0x0 linker stubs + .glue_7 0x0801dde0 0x0 linker stubs *(.glue_7t) - .glue_7t 0x0801d410 0x0 linker stubs + .glue_7t 0x0801dde0 0x0 linker stubs *(.eh_frame) - .eh_frame 0x0801d410 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o + .eh_frame 0x0801dde0 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o *(.init) - .init 0x0801d410 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crti.o - 0x0801d410 _init - .init 0x0801d414 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtn.o + .init 0x0801dde0 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crti.o + 0x0801dde0 _init + .init 0x0801dde4 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtn.o *(.fini) - .fini 0x0801d41c 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crti.o - 0x0801d41c _fini - .fini 0x0801d420 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtn.o - 0x0801d428 . = ALIGN (0x4) - 0x0801d428 _etext = . + .fini 0x0801ddec 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crti.o + 0x0801ddec _fini + .fini 0x0801ddf0 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtn.o + 0x0801ddf8 . = ALIGN (0x4) + 0x0801ddf8 _etext = . -.vfp11_veneer 0x0801d428 0x0 - .vfp11_veneer 0x0801d428 0x0 linker stubs +.vfp11_veneer 0x0801ddf8 0x0 + .vfp11_veneer 0x0801ddf8 0x0 linker stubs -.v4_bx 0x0801d428 0x0 - .v4_bx 0x0801d428 0x0 linker stubs +.v4_bx 0x0801ddf8 0x0 + .v4_bx 0x0801ddf8 0x0 linker stubs -.iplt 0x0801d428 0x0 - .iplt 0x0801d428 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o +.iplt 0x0801ddf8 0x0 + .iplt 0x0801ddf8 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o -.rodata 0x0801d428 0xcc8 - 0x0801d428 . = ALIGN (0x4) +.rodata 0x0801ddf8 0xc58 + 0x0801ddf8 . = ALIGN (0x4) *(.rodata) - .rodata 0x0801d428 0x1b ./Core/Src/app_debug.o - *fill* 0x0801d443 0x1 - .rodata 0x0801d444 0x16 ./Core/Src/app_entry.o - *fill* 0x0801d45a 0x2 - .rodata 0x0801d45c 0x20 ./Core/Src/bmm350.o - .rodata 0x0801d47c 0xba ./Core/Src/main.o - *fill* 0x0801d536 0x2 - .rodata 0x0801d538 0x455 ./Core/Src/sensors.o - *fill* 0x0801d98d 0x3 - .rodata 0x0801d990 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - .rodata 0x0801d9bc 0x5 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - *fill* 0x0801d9c1 0x3 - .rodata 0x0801d9c4 0xd ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - *fill* 0x0801d9d1 0x3 - .rodata 0x0801d9d4 0x46 ./USB_Device/App/usbd_desc.o + .rodata 0x0801ddf8 0x1b ./Core/Src/app_debug.o + *fill* 0x0801de13 0x1 + .rodata 0x0801de14 0x16 ./Core/Src/app_entry.o + *fill* 0x0801de2a 0x2 + .rodata 0x0801de2c 0x20 ./Core/Src/bmm350.o + .rodata 0x0801de4c 0xca ./Core/Src/main.o + *fill* 0x0801df16 0x2 + .rodata 0x0801df18 0x3d6 ./Core/Src/sensors.o + *fill* 0x0801e2ee 0x2 + .rodata 0x0801e2f0 0x2c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + .rodata 0x0801e31c 0x5 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + *fill* 0x0801e321 0x3 + .rodata 0x0801e324 0xd ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + *fill* 0x0801e331 0x3 + .rodata 0x0801e334 0x46 ./USB_Device/App/usbd_desc.o *(.rodata*) - *fill* 0x0801da1a 0x2 + *fill* 0x0801e37a 0x2 .rodata.aGpioConfigList - 0x0801da1c 0x130 ./Core/Src/app_debug.o + 0x0801e37c 0x130 ./Core/Src/app_debug.o .rodata.ShciUserEvtProcess_attr - 0x0801db4c 0x24 ./Core/Src/app_entry.o - 0x0801db4c ShciUserEvtProcess_attr + 0x0801e4ac 0x24 ./Core/Src/app_entry.o + 0x0801e4ac ShciUserEvtProcess_attr .rodata.Task_DataAnalys_attributes - 0x0801db70 0x24 ./Core/Src/main.o - 0x0801db70 Task_DataAnalys_attributes + 0x0801e4d0 0x24 ./Core/Src/main.o + 0x0801e4d0 Task_DataAnalys_attributes .rodata.Task_ICM45686_attributes - 0x0801db94 0x24 ./Core/Src/main.o - 0x0801db94 Task_ICM45686_attributes + 0x0801e4f4 0x24 ./Core/Src/main.o + 0x0801e4f4 Task_ICM45686_attributes .rodata.Task_BMM350_attributes - 0x0801dbb8 0x24 ./Core/Src/main.o - 0x0801dbb8 Task_BMM350_attributes + 0x0801e518 0x24 ./Core/Src/main.o + 0x0801e518 Task_BMM350_attributes .rodata.Q_ICM_attributes - 0x0801dbdc 0x18 ./Core/Src/main.o - 0x0801dbdc Q_ICM_attributes + 0x0801e53c 0x18 ./Core/Src/main.o + 0x0801e53c Q_ICM_attributes .rodata.Q_BMM_attributes - 0x0801dbf4 0x18 ./Core/Src/main.o - 0x0801dbf4 Q_BMM_attributes + 0x0801e554 0x18 ./Core/Src/main.o + 0x0801e554 Q_BMM_attributes .rodata.AHBPrescTable - 0x0801dc0c 0x40 ./Core/Src/system_stm32wbxx.o - 0x0801dc0c AHBPrescTable + 0x0801e56c 0x40 ./Core/Src/system_stm32wbxx.o + 0x0801e56c AHBPrescTable .rodata.APBPrescTable - 0x0801dc4c 0x20 ./Core/Src/system_stm32wbxx.o - 0x0801dc4c APBPrescTable + 0x0801e5ac 0x20 ./Core/Src/system_stm32wbxx.o + 0x0801e5ac APBPrescTable .rodata.MSIRangeTable - 0x0801dc6c 0x40 ./Core/Src/system_stm32wbxx.o - 0x0801dc6c MSIRangeTable + 0x0801e5cc 0x40 ./Core/Src/system_stm32wbxx.o + 0x0801e5cc MSIRangeTable .rodata.uxTopUsedPriority - 0x0801dcac 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x0801dcac uxTopUsedPriority + 0x0801e60c 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x0801e60c uxTopUsedPriority .rodata._printf_float.str1.1 - 0x0801dcb0 0x1d6 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x0801e610 0x1d6 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) 0x12 (size before relaxing) .rodata._printf_i.str1.1 - 0x0801de86 0x22 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x0801e7e6 0x22 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) .rodata._scanf_float.str1.1 - 0x0801de86 0x6 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) + 0x0801e7e6 0x6 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) .rodata._dtoa_r.str1.1 - 0x0801de86 0x8f /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) + 0x0801e7e6 0x8f /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) .rodata._Balloc.str1.1 - 0x0801de86 0x70 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801e7e6 0x70 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) .rodata.__multadd.str1.1 - 0x0801de86 0x11 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - *fill* 0x0801de86 0x2 - .rodata.p05.0 0x0801de88 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - *fill* 0x0801de94 0x4 + 0x0801e7e6 0x11 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + *fill* 0x0801e7e6 0x2 + .rodata.p05.0 0x0801e7e8 0xc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + *fill* 0x0801e7f4 0x4 .rodata.__mprec_bigtens - 0x0801de98 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801de98 __mprec_bigtens + 0x0801e7f8 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801e7f8 __mprec_bigtens .rodata.__mprec_tens - 0x0801dec0 0xc8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - 0x0801dec0 __mprec_tens + 0x0801e820 0xc8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x0801e820 __mprec_tens .rodata._strtod_l.str1.1 - 0x0801df88 0xf /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + 0x0801e8e8 0xf /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) .rodata.fpinan.0 - 0x0801df88 0x14 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) - .rodata.fpi.1 0x0801df9c 0x14 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + 0x0801e8e8 0x14 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + .rodata.fpi.1 0x0801e8fc 0x14 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) .rodata.tinytens - 0x0801dfb0 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + 0x0801e910 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) .rodata._ctype_ - 0x0801dfd8 0x101 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-ctype_.o) - 0x0801dfd8 _ctype_ + 0x0801e938 0x101 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-ctype_.o) + 0x0801e938 _ctype_ .rodata._svfprintf_r.str1.1 - 0x0801e0d9 0x11 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + 0x0801ea39 0x11 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) .rodata._vfprintf_r.str1.1 - 0x0801e0d9 0x11 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) + 0x0801ea39 0x11 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) .rodata._setlocale_r.str1.1 - 0x0801e0d9 0x9 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) + 0x0801ea39 0x9 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) .rodata.str1.1 - 0x0801e0d9 0x2 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) + 0x0801ea39 0x2 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) .rodata.__assert_func.str1.1 - 0x0801e0d9 0x3d /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) + 0x0801ea39 0x3d /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) .rodata.__gethex.str1.1 - 0x0801e0d9 0x73 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) - *fill* 0x0801e0d9 0x7 - .rodata.tiny 0x0801e0e0 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-e_sqrt.o) - .rodata.one 0x0801e0e8 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-e_sqrt.o) - 0x0801e0f0 . = ALIGN (0x4) + 0x0801ea39 0x73 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) + *fill* 0x0801ea39 0x7 + .rodata.tiny 0x0801ea40 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-e_sqrt.o) + .rodata.one 0x0801ea48 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-e_sqrt.o) + 0x0801ea50 . = ALIGN (0x4) .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) -.ARM 0x0801e0f0 0x8 - 0x0801e0f0 __exidx_start = . +.ARM 0x0801ea50 0x8 + 0x0801ea50 __exidx_start = . *(.ARM.exidx*) - .ARM.exidx 0x0801e0f0 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memchr.o) - .ARM.exidx 0x0801e0f8 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strlen.o) + .ARM.exidx 0x0801ea50 0x8 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memchr.o) + .ARM.exidx 0x0801ea58 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strlen.o) 0x8 (size before relaxing) - 0x0801e0f8 __exidx_end = . + 0x0801ea58 __exidx_end = . -.preinit_array 0x0801e0f8 0x0 - 0x0801e0f8 PROVIDE (__preinit_array_start = .) +.preinit_array 0x0801ea58 0x0 + 0x0801ea58 PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x0801e0f8 PROVIDE (__preinit_array_end = .) + 0x0801ea58 PROVIDE (__preinit_array_end = .) -.init_array 0x0801e0f8 0x4 - 0x0801e0f8 PROVIDE (__init_array_start = .) +.init_array 0x0801ea58 0x4 + 0x0801ea58 PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) *(.init_array*) - .init_array 0x0801e0f8 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o - 0x0801e0fc PROVIDE (__init_array_end = .) + .init_array 0x0801ea58 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o + 0x0801ea5c PROVIDE (__init_array_end = .) -.fini_array 0x0801e0fc 0x4 +.fini_array 0x0801ea5c 0x4 [!provide] PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x0801e0fc 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o + .fini_array 0x0801ea5c 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o [!provide] PROVIDE (__fini_array_end = .) - 0x0801e100 _sidata = LOADADDR (.data) + 0x0801ea60 _sidata = LOADADDR (.data) -.rel.dyn 0x0801e100 0x0 - .rel.iplt 0x0801e100 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o +.rel.dyn 0x0801ea60 0x0 + .rel.iplt 0x0801ea60 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o -.data 0x20000008 0x2d0 load address 0x0801e100 +.data 0x20000008 0x2d0 load address 0x0801ea60 0x20000008 . = ALIGN (0x4) 0x20000008 _sdata = . *(.data) @@ -16137,17 +16226,17 @@ LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools- 0x200002d8 . = ALIGN (0x4) 0x200002d8 _edata = . -.igot.plt 0x200002d8 0x0 load address 0x0801e3d0 +.igot.plt 0x200002d8 0x0 load address 0x0801ed30 .igot.plt 0x200002d8 0x0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/crtbegin.o SYSTEM_DRIVER_CONTEXT - 0x200002d8 0x11 load address 0x0801e3d0 + 0x200002d8 0x11 load address 0x0801ed30 SYSTEM_DRIVER_CONTEXT 0x200002d8 0x11 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o 0x200002e8 SHCI_TL_UserEventFlow 0x200002ec . = ALIGN (0x4) -.bss 0x200002ec 0x1395c load address 0x0801e3e1 +.bss 0x200002ec 0x139fc load address 0x0801ed41 0x200002ec _sbss = . 0x200002ec __bss_start__ = _sbss *(.bss) @@ -16259,150 +16348,150 @@ SYSTEM_DRIVER_CONTEXT .bss.KernelState 0x200007cc 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .bss.Idle_TCB.3 - 0x200007d0 0x5c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x200007d0 0xac ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .bss.Idle_Stack.2 - 0x2000082c 0x800 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x2000087c 0x800 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .bss.Timer_TCB.1 - 0x2000102c 0x5c ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x2000107c 0xac ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .bss.Timer_Stack.0 - 0x20001088 0x1000 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x20001128 0x1000 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .bss.xQueueRegistry - 0x20002088 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - 0x20002088 xQueueRegistry + 0x20002128 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x20002128 xQueueRegistry .bss.pxCurrentTCB - 0x200020c8 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - 0x200020c8 pxCurrentTCB + 0x20002168 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002168 pxCurrentTCB .bss.pxReadyTasksLists - 0x200020cc 0x460 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x2000216c 0x460 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xDelayedTaskList1 - 0x2000252c 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x200025cc 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xDelayedTaskList2 - 0x20002540 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x200025e0 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.pxDelayedTaskList - 0x20002554 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x200025f4 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.pxOverflowDelayedTaskList - 0x20002558 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x200025f8 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xPendingReadyList - 0x2000255c 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x200025fc 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xTasksWaitingTermination - 0x20002570 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002610 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.uxDeletedTasksWaitingCleanUp - 0x20002584 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002624 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xSuspendedTaskList - 0x20002588 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002628 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.uxCurrentNumberOfTasks - 0x2000259c 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x2000263c 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xTickCount - 0x200025a0 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002640 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.uxTopReadyPriority - 0x200025a4 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002644 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xSchedulerRunning - 0x200025a8 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002648 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xPendedTicks - 0x200025ac 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x2000264c 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xYieldPending - 0x200025b0 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002650 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xNumOfOverflows - 0x200025b4 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002654 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.uxTaskNumber - 0x200025b8 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002658 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xNextTaskUnblockTime - 0x200025bc 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x2000265c 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xIdleTaskHandle - 0x200025c0 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002660 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.uxSchedulerSuspended - 0x200025c4 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x20002664 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .bss.xActiveTimerList1 - 0x200025c8 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x20002668 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.xActiveTimerList2 - 0x200025dc 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x2000267c 0x14 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.pxCurrentTimerList - 0x200025f0 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x20002690 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.pxOverflowTimerList - 0x200025f4 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x20002694 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.xTimerQueue - 0x200025f8 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x20002698 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.xTimerTaskHandle - 0x200025fc 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x2000269c 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.xLastTime.2 - 0x20002600 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x200026a0 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.ucStaticTimerQueueStorage.1 - 0x20002604 0xa0 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x200026a4 0xa0 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.xStaticTimerQueue.0 - 0x200026a4 0x50 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x20002744 0x50 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .bss.ucMaxSysCallPriority - 0x200026f4 0x1 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - *fill* 0x200026f5 0x3 + 0x20002794 0x1 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + *fill* 0x20002795 0x3 .bss.ulMaxPRIGROUPValue - 0x200026f8 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .bss.ucHeap 0x200026fc 0xfa00 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .bss.xStart 0x200120fc 0x8 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .bss.pxEnd 0x20012104 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x20002798 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .bss.ucHeap 0x2000279c 0xfa00 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .bss.xStart 0x2001219c 0x8 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .bss.pxEnd 0x200121a4 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .bss.xFreeBytesRemaining - 0x20012108 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x200121a8 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .bss.xMinimumEverFreeBytesRemaining - 0x2001210c 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x200121ac 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .bss.xNumberOfSuccessfulAllocations - 0x20012110 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x200121b0 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .bss.xNumberOfSuccessfulFrees - 0x20012114 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x200121b4 0x4 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .bss.FreeBufCb - 0x20012118 0x4 ./STM32_WPAN/Target/hw_ipcc.o + 0x200121b8 0x4 ./STM32_WPAN/Target/hw_ipcc.o .bss.hUsbDeviceFS - 0x2001211c 0x2dc ./USB_Device/App/usb_device.o - 0x2001211c hUsbDeviceFS + 0x200121bc 0x2dc ./USB_Device/App/usb_device.o + 0x200121bc hUsbDeviceFS .bss.UserRxBufferFS - 0x200123f8 0x800 ./USB_Device/App/usbd_cdc_if.o - 0x200123f8 UserRxBufferFS + 0x20012498 0x800 ./USB_Device/App/usbd_cdc_if.o + 0x20012498 UserRxBufferFS .bss.UserTxBufferFS - 0x20012bf8 0x800 ./USB_Device/App/usbd_cdc_if.o - 0x20012bf8 UserTxBufferFS + 0x20012c98 0x800 ./USB_Device/App/usbd_cdc_if.o + 0x20012c98 UserTxBufferFS .bss.USBD_StrDesc - 0x200133f8 0x200 ./USB_Device/App/usbd_desc.o - 0x200133f8 USBD_StrDesc + 0x20013498 0x200 ./USB_Device/App/usbd_desc.o + 0x20013498 USBD_StrDesc .bss.hpcd_USB_FS - 0x200135f8 0x2dc ./USB_Device/Target/usbd_conf.o - 0x200135f8 hpcd_USB_FS - .bss.mem.0 0x200138d4 0x220 ./USB_Device/Target/usbd_conf.o + 0x20013698 0x2dc ./USB_Device/Target/usbd_conf.o + 0x20013698 hpcd_USB_FS + .bss.mem.0 0x20013974 0x220 ./USB_Device/Target/usbd_conf.o .bss.StopModeDisable - 0x20013af4 0x4 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + 0x20013b94 0x4 ./Utilities/lpm/tiny_lpm/stm32_lpm.o .bss.OffModeDisable - 0x20013af8 0x4 ./Utilities/lpm/tiny_lpm/stm32_lpm.o - .bss.__sf 0x20013afc 0x138 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - 0x20013afc __sf + 0x20013b98 0x4 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + .bss.__sf 0x20013b9c 0x138 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x20013b9c __sf .bss.__stdio_exit_handler - 0x20013c34 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - 0x20013c34 __stdio_exit_handler - .bss.errno 0x20013c38 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - 0x20013c38 errno + 0x20013cd4 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x20013cd4 __stdio_exit_handler + .bss.errno 0x20013cd8 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) + 0x20013cd8 errno .bss.__lock___malloc_recursive_mutex - 0x20013c3c 0x1 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - 0x20013c3c __lock___malloc_recursive_mutex + 0x20013cdc 0x1 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) + 0x20013cdc __lock___malloc_recursive_mutex .bss.__lock___sfp_recursive_mutex - 0x20013c3d 0x1 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - 0x20013c3d __lock___sfp_recursive_mutex - *fill* 0x20013c3e 0x2 + 0x20013cdd 0x1 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) + 0x20013cdd __lock___sfp_recursive_mutex + *fill* 0x20013cde 0x2 .bss.__malloc_sbrk_start - 0x20013c40 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - 0x20013c40 __malloc_sbrk_start + 0x20013ce0 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) + 0x20013ce0 __malloc_sbrk_start .bss.__malloc_free_list - 0x20013c44 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - 0x20013c44 __malloc_free_list + 0x20013ce4 0x4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) + 0x20013ce4 __malloc_free_list *(COMMON) - 0x20013c48 . = ALIGN (0x4) - 0x20013c48 _ebss = . - 0x20013c48 __bss_end__ = _ebss + 0x20013ce8 . = ALIGN (0x4) + 0x20013ce8 _ebss = . + 0x20013ce8 __bss_end__ = _ebss ._user_heap_stack - 0x20013c48 0x600 load address 0x0801e3e1 - 0x20013c48 . = ALIGN (0x8) + 0x20013ce8 0x600 load address 0x0801ed41 + 0x20013ce8 . = ALIGN (0x8) [!provide] PROVIDE (end = .) - 0x20013c48 PROVIDE (_end = .) - 0x20013e48 . = (. + _Min_Heap_Size) - *fill* 0x20013c48 0x200 - 0x20014248 . = (. + _Min_Stack_Size) - *fill* 0x20013e48 0x400 - 0x20014248 . = ALIGN (0x8) + 0x20013ce8 PROVIDE (_end = .) + 0x20013ee8 . = (. + _Min_Heap_Size) + *fill* 0x20013ce8 0x200 + 0x200142e8 . = (. + _Min_Stack_Size) + *fill* 0x20013ee8 0x400 + 0x200142e8 . = ALIGN (0x8) /DISCARD/ libc.a(*) @@ -16423,221 +16512,221 @@ SYSTEM_DRIVER_CONTEXT .ARM.attributes 0x000000be 0x34 ./Core/Src/app_entry.o .ARM.attributes - 0x000000f2 0x34 ./Core/Src/bmm350.o + 0x000000f2 0x34 ./Core/Src/app_freertos.o .ARM.attributes - 0x00000126 0x34 ./Core/Src/hw_timerserver.o + 0x00000126 0x34 ./Core/Src/bmm350.o .ARM.attributes - 0x0000015a 0x34 ./Core/Src/main.o + 0x0000015a 0x34 ./Core/Src/hw_timerserver.o .ARM.attributes - 0x0000018e 0x34 ./Core/Src/sensors.o + 0x0000018e 0x34 ./Core/Src/main.o .ARM.attributes - 0x000001c2 0x34 ./Core/Src/stm32wbxx_hal_msp.o + 0x000001c2 0x34 ./Core/Src/sensors.o .ARM.attributes - 0x000001f6 0x34 ./Core/Src/stm32wbxx_hal_timebase_tim.o + 0x000001f6 0x34 ./Core/Src/stm32wbxx_hal_msp.o .ARM.attributes - 0x0000022a 0x34 ./Core/Src/stm32wbxx_it.o + 0x0000022a 0x34 ./Core/Src/stm32wbxx_hal_timebase_tim.o .ARM.attributes - 0x0000025e 0x34 ./Core/Src/syscalls.o + 0x0000025e 0x34 ./Core/Src/stm32wbxx_it.o .ARM.attributes - 0x00000292 0x34 ./Core/Src/sysmem.o + 0x00000292 0x34 ./Core/Src/syscalls.o .ARM.attributes - 0x000002c6 0x34 ./Core/Src/system_stm32wbxx.o + 0x000002c6 0x34 ./Core/Src/sysmem.o .ARM.attributes - 0x000002fa 0x21 ./Core/Startup/startup_stm32wb55rgvx.o + 0x000002fa 0x34 ./Core/Src/system_stm32wbxx.o .ARM.attributes - 0x0000031b 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + 0x0000032e 0x21 ./Core/Startup/startup_stm32wb55rgvx.o .ARM.attributes - 0x0000034f 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x0000034f 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o .ARM.attributes - 0x00000383 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x00000383 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .ARM.attributes - 0x000003b7 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + 0x000003b7 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .ARM.attributes - 0x000003eb 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + 0x000003eb 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o .ARM.attributes - 0x0000041f 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x0000041f 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o .ARM.attributes - 0x00000453 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + 0x00000453 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .ARM.attributes - 0x00000487 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + 0x00000487 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o .ARM.attributes - 0x000004bb 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x000004bb 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o .ARM.attributes - 0x000004ef 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + 0x000004ef 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o .ARM.attributes - 0x00000523 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + 0x00000523 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o .ARM.attributes - 0x00000557 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + 0x00000557 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o .ARM.attributes - 0x0000058b 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x0000058b 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o .ARM.attributes - 0x000005bf 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x000005bf 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .ARM.attributes - 0x000005f3 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + 0x000005f3 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .ARM.attributes - 0x00000627 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + 0x00000627 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o .ARM.attributes - 0x0000065b 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x0000065b 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o .ARM.attributes - 0x0000068f 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0000068f 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .ARM.attributes - 0x000006c3 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + 0x000006c3 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o .ARM.attributes - 0x000006f7 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x000006f7 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o .ARM.attributes - 0x0000072b 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x0000072b 0x34 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o .ARM.attributes - 0x0000075f 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x0000075f 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .ARM.attributes - 0x00000793 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x00000793 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o .ARM.attributes - 0x000007c7 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x000007c7 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .ARM.attributes - 0x000007fb 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + 0x000007fb 0x34 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .ARM.attributes - 0x0000082f 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x0000082f 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o .ARM.attributes - 0x00000863 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + 0x00000863 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o .ARM.attributes - 0x00000897 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x00000897 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o .ARM.attributes - 0x000008cb 0x34 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + 0x000008cb 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .ARM.attributes - 0x000008ff 0x34 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x000008ff 0x34 ./Middlewares/ST/STM32_WPAN/utilities/otp.o .ARM.attributes - 0x00000933 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x00000933 0x34 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o .ARM.attributes - 0x00000967 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + 0x00000967 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .ARM.attributes - 0x0000099b 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x0000099b 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/list.o .ARM.attributes - 0x000009cf 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x000009cf 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .ARM.attributes - 0x00000a03 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x00000a03 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .ARM.attributes - 0x00000a37 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x00000a37 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .ARM.attributes - 0x00000a6b 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x00000a6b 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .ARM.attributes - 0x00000a9f 0x34 ./STM32_WPAN/Target/hw_ipcc.o + 0x00000a9f 0x34 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .ARM.attributes - 0x00000ad3 0x34 ./USB_Device/App/usb_device.o + 0x00000ad3 0x34 ./STM32_WPAN/Target/hw_ipcc.o .ARM.attributes - 0x00000b07 0x34 ./USB_Device/App/usbd_cdc_if.o + 0x00000b07 0x34 ./USB_Device/App/usb_device.o .ARM.attributes - 0x00000b3b 0x34 ./USB_Device/App/usbd_desc.o + 0x00000b3b 0x34 ./USB_Device/App/usbd_cdc_if.o .ARM.attributes - 0x00000b6f 0x34 ./USB_Device/Target/usbd_conf.o + 0x00000b6f 0x34 ./USB_Device/App/usbd_desc.o .ARM.attributes - 0x00000ba3 0x34 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + 0x00000ba3 0x34 ./USB_Device/Target/usbd_conf.o .ARM.attributes - 0x00000bd7 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x00000bd7 0x34 ./Utilities/lpm/tiny_lpm/stm32_lpm.o .ARM.attributes - 0x00000c0b 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x00000c0b 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) .ARM.attributes - 0x00000c3f 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) + 0x00000c3f 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) .ARM.attributes - 0x00000c73 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + 0x00000c73 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) .ARM.attributes - 0x00000ca7 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) + 0x00000ca7 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) .ARM.attributes - 0x00000cdb 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) + 0x00000cdb 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) .ARM.attributes - 0x00000d0f 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) + 0x00000d0f 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) .ARM.attributes 0x00000d43 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) .ARM.attributes 0x00000d77 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) .ARM.attributes - 0x00000dab 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) + 0x00000dab 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) .ARM.attributes - 0x00000ddf 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) + 0x00000ddf 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-localeconv.o) .ARM.attributes - 0x00000e13 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) + 0x00000e13 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) .ARM.attributes - 0x00000e47 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-localeconv.o) + 0x00000e47 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) .ARM.attributes - 0x00000e7b 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) + 0x00000e7b 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) .ARM.attributes - 0x00000eaf 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) + 0x00000eaf 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) .ARM.attributes - 0x00000ee3 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) + 0x00000ee3 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) .ARM.attributes - 0x00000f17 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) + 0x00000f17 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) .ARM.attributes - 0x00000f4b 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) + 0x00000f4b 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) .ARM.attributes - 0x00000f7f 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) + 0x00000f7f 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) .ARM.attributes - 0x00000fb3 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) + 0x00000fb3 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) .ARM.attributes - 0x00000fe7 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) + 0x00000fe7 0x1c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memchr.o) .ARM.attributes - 0x0000101b 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) + 0x00001003 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcpy-stub.o) .ARM.attributes - 0x0000104f 0x1c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memchr.o) + 0x00001037 0x17 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strlen.o) .ARM.attributes - 0x0000106b 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcpy-stub.o) + 0x0000104e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-sf_nan.o) .ARM.attributes - 0x0000109f 0x17 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strlen.o) + 0x00001082 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) .ARM.attributes - 0x000010b6 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-sf_nan.o) + 0x000010b6 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) .ARM.attributes - 0x000010ea 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) + 0x000010ea 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-malloc.o) .ARM.attributes - 0x0000111e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) + 0x0000111e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) .ARM.attributes - 0x00001152 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-malloc.o) + 0x00001152 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) .ARM.attributes - 0x00001186 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) + 0x00001186 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) .ARM.attributes - 0x000011ba 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) + 0x000011ba 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) .ARM.attributes - 0x000011ee 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + 0x000011ee 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtol.o) .ARM.attributes - 0x00001222 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + 0x00001222 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-ctype_.o) .ARM.attributes - 0x00001256 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtol.o) + 0x00001256 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) .ARM.attributes - 0x0000128a 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-ctype_.o) + 0x0000128a 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) .ARM.attributes - 0x000012be 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + 0x000012be 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) .ARM.attributes - 0x000012f2 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) + 0x000012f2 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) .ARM.attributes - 0x00001326 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) + 0x00001326 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) .ARM.attributes - 0x0000135a 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + 0x0000135a 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) .ARM.attributes - 0x0000138e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) + 0x0000138e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strncmp.o) .ARM.attributes - 0x000013c2 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strncmp.o) + 0x000013c2 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) .ARM.attributes - 0x000013f6 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) + 0x000013f6 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) .ARM.attributes - 0x0000142a 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) + 0x0000142a 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-s_nan.o) .ARM.attributes - 0x0000145e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) + 0x0000145e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) .ARM.attributes - 0x00001492 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) + 0x00001492 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-callocr.o) .ARM.attributes - 0x000014c6 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-s_nan.o) + 0x000014c6 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) .ARM.attributes - 0x000014fa 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) + 0x000014fa 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) .ARM.attributes - 0x0000152e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-callocr.o) + 0x0000152e 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mbtowc_r.o) .ARM.attributes - 0x00001562 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) + 0x00001562 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reallocr.o) .ARM.attributes - 0x00001596 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) + 0x00001596 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wctomb_r.o) .ARM.attributes - 0x000015ca 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mbtowc_r.o) + 0x000015ca 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) .ARM.attributes - 0x000015fe 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reallocr.o) + 0x000015fe 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) .ARM.attributes - 0x00001632 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wctomb_r.o) + 0x00001632 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) .ARM.attributes - 0x00001666 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) + 0x00001666 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) .ARM.attributes 0x0000169a 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) .ARM.attributes @@ -16678,9 +16767,9 @@ MAPPING_TABLE 0x20030000 0x28 MB_MEM1 0x20030028 0xb0 *(MB_MEM1) MB_MEM1 0x20030028 0xb0 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - 0x0801e3e1 _siMB_MEM2 = LOADADDR (.MB_MEM2) + 0x0801ed41 _siMB_MEM2 = LOADADDR (.MB_MEM2) -.MB_MEM2 0x200300d8 0x872 load address 0x0801e3e1 +.MB_MEM2 0x200300d8 0x872 load address 0x0801ed41 0x200300d8 _sMB_MEM2 = . *(MB_MEM2) MB_MEM2 0x200300d8 0x12 ./Core/Src/app_debug.o @@ -16693,125 +16782,127 @@ LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools- LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a -.debug_info 0x00000000 0x3a3c8 - .debug_info 0x00000000 0x585 ./Core/Src/MadgwickAHRS.o - .debug_info 0x00000585 0xb39 ./Core/Src/app_debug.o - .debug_info 0x000010be 0x1f6d ./Core/Src/app_entry.o - .debug_info 0x0000302b 0x1800 ./Core/Src/bmm350.o - .debug_info 0x0000482b 0x1186 ./Core/Src/hw_timerserver.o - .debug_info 0x000059b1 0x34da ./Core/Src/main.o - .debug_info 0x00008e8b 0x1ad1 ./Core/Src/sensors.o - .debug_info 0x0000a95c 0x1dd5 ./Core/Src/stm32wbxx_hal_msp.o - .debug_info 0x0000c731 0xea0 ./Core/Src/stm32wbxx_hal_timebase_tim.o - .debug_info 0x0000d5d1 0x1169 ./Core/Src/stm32wbxx_it.o - .debug_info 0x0000e73a 0x6a3 ./Core/Src/syscalls.o - .debug_info 0x0000eddd 0x168 ./Core/Src/sysmem.o - .debug_info 0x0000ef45 0x703 ./Core/Src/system_stm32wbxx.o - .debug_info 0x0000f648 0x30 ./Core/Startup/startup_stm32wb55rgvx.o - .debug_info 0x0000f678 0x12ae ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - .debug_info 0x00010926 0xccd ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - .debug_info 0x000115f3 0x839 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - .debug_info 0x00011e2c 0x6b9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - .debug_info 0x000124e5 0x3bc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o - .debug_info 0x000128a1 0x21fd ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - .debug_info 0x00014a9e 0x8fb ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o - .debug_info 0x00015399 0x7a3 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - .debug_info 0x00015b3c 0x166a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - .debug_info 0x000171a6 0x80a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o - .debug_info 0x000179b0 0x904 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o - .debug_info 0x000182b4 0x105d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o - .debug_info 0x00019311 0x14d6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - .debug_info 0x0001a7e7 0x1c45 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o - .debug_info 0x0001c42c 0xd37 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - .debug_info 0x0001d163 0x1014 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o - .debug_info 0x0001e177 0x1665 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .debug_info 0x0001f7dc 0x2bc0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - .debug_info 0x0002239c 0x189e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - .debug_info 0x00023c3a 0x1577 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - .debug_info 0x000251b1 0x12cf ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_info 0x00026480 0xe1f ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_info 0x0002729f 0xaf8 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_info 0x00027d97 0x76f ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_info 0x00028506 0x1a5e ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - .debug_info 0x00029f64 0x7cc ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - .debug_info 0x0002a730 0x1e0 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o - .debug_info 0x0002a910 0xda2 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - .debug_info 0x0002b6b2 0xd1 ./Middlewares/ST/STM32_WPAN/utilities/otp.o - .debug_info 0x0002b783 0x6d5 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - .debug_info 0x0002be58 0x34ee ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_info 0x0002f346 0x2af ./Middlewares/Third_Party/FreeRTOS/Source/list.o - .debug_info 0x0002f5f5 0x1d33 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_info 0x00031328 0x27dd ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_info 0x00033b05 0x14f1 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_info 0x00034ff6 0x50d ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .debug_info 0x00035503 0x521 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .debug_info 0x00035a24 0x109a ./STM32_WPAN/Target/hw_ipcc.o - .debug_info 0x00036abe 0x71b ./USB_Device/App/usb_device.o - .debug_info 0x000371d9 0x914 ./USB_Device/App/usbd_cdc_if.o - .debug_info 0x00037aed 0x45d ./USB_Device/App/usbd_desc.o - .debug_info 0x00037f4a 0x20c6 ./USB_Device/Target/usbd_conf.o - .debug_info 0x0003a010 0x3b8 ./Utilities/lpm/tiny_lpm/stm32_lpm.o +.debug_info 0x00000000 0x3ba51 + .debug_info 0x00000000 0x5aa ./Core/Src/MadgwickAHRS.o + .debug_info 0x000005aa 0xb39 ./Core/Src/app_debug.o + .debug_info 0x000010e3 0x1f6d ./Core/Src/app_entry.o + .debug_info 0x00003050 0xe4 ./Core/Src/app_freertos.o + .debug_info 0x00003134 0x1800 ./Core/Src/bmm350.o + .debug_info 0x00004934 0x1186 ./Core/Src/hw_timerserver.o + .debug_info 0x00005aba 0x34f8 ./Core/Src/main.o + .debug_info 0x00008fb2 0x1a3e ./Core/Src/sensors.o + .debug_info 0x0000a9f0 0x1efd ./Core/Src/stm32wbxx_hal_msp.o + .debug_info 0x0000c8ed 0xea0 ./Core/Src/stm32wbxx_hal_timebase_tim.o + .debug_info 0x0000d78d 0x1169 ./Core/Src/stm32wbxx_it.o + .debug_info 0x0000e8f6 0x6a3 ./Core/Src/syscalls.o + .debug_info 0x0000ef99 0x168 ./Core/Src/sysmem.o + .debug_info 0x0000f101 0x703 ./Core/Src/system_stm32wbxx.o + .debug_info 0x0000f804 0x30 ./Core/Startup/startup_stm32wb55rgvx.o + .debug_info 0x0000f834 0x12ae ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + .debug_info 0x00010ae2 0xccd ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + .debug_info 0x000117af 0x839 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + .debug_info 0x00011fe8 0x6b9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + .debug_info 0x000126a1 0x3bc ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + .debug_info 0x00012a5d 0x21fd ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + .debug_info 0x00014c5a 0x8fb ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + .debug_info 0x00015555 0x7a3 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + .debug_info 0x00015cf8 0x166a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + .debug_info 0x00017362 0x80a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + .debug_info 0x00017b6c 0x904 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + .debug_info 0x00018470 0x105d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + .debug_info 0x000194cd 0x14d6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + .debug_info 0x0001a9a3 0x1c45 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + .debug_info 0x0001c5e8 0xd37 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + .debug_info 0x0001d31f 0x1014 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + .debug_info 0x0001e333 0x1665 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + .debug_info 0x0001f998 0x2bc0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + .debug_info 0x00022558 0x189e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + .debug_info 0x00023df6 0x1577 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + .debug_info 0x0002536d 0x12cf ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_info 0x0002663c 0xe1f ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_info 0x0002745b 0xaf8 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_info 0x00027f53 0x76f ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_info 0x000286c2 0x1a5e ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + .debug_info 0x0002a120 0x7cc ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + .debug_info 0x0002a8ec 0x1e0 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + .debug_info 0x0002aacc 0xda2 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + .debug_info 0x0002b86e 0xd1 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + .debug_info 0x0002b93f 0x6d5 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + .debug_info 0x0002c014 0x3be2 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_info 0x0002fbf6 0x2af ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_info 0x0002fea5 0x1d33 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_info 0x00031bd8 0x2efe ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_info 0x00034ad6 0x1ba9 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_info 0x0003667f 0x50d ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_info 0x00036b8c 0x521 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_info 0x000370ad 0x109a ./STM32_WPAN/Target/hw_ipcc.o + .debug_info 0x00038147 0x71b ./USB_Device/App/usb_device.o + .debug_info 0x00038862 0x914 ./USB_Device/App/usbd_cdc_if.o + .debug_info 0x00039176 0x45d ./USB_Device/App/usbd_desc.o + .debug_info 0x000395d3 0x20c6 ./USB_Device/Target/usbd_conf.o + .debug_info 0x0003b699 0x3b8 ./Utilities/lpm/tiny_lpm/stm32_lpm.o -.debug_abbrev 0x00000000 0x8612 - .debug_abbrev 0x00000000 0x142 ./Core/Src/MadgwickAHRS.o - .debug_abbrev 0x00000142 0x242 ./Core/Src/app_debug.o - .debug_abbrev 0x00000384 0x385 ./Core/Src/app_entry.o - .debug_abbrev 0x00000709 0x22a ./Core/Src/bmm350.o - .debug_abbrev 0x00000933 0x327 ./Core/Src/hw_timerserver.o - .debug_abbrev 0x00000c5a 0x45c ./Core/Src/main.o - .debug_abbrev 0x000010b6 0x336 ./Core/Src/sensors.o - .debug_abbrev 0x000013ec 0x2a5 ./Core/Src/stm32wbxx_hal_msp.o - .debug_abbrev 0x00001691 0x248 ./Core/Src/stm32wbxx_hal_timebase_tim.o - .debug_abbrev 0x000018d9 0x1ec ./Core/Src/stm32wbxx_it.o - .debug_abbrev 0x00001ac5 0x1b6 ./Core/Src/syscalls.o - .debug_abbrev 0x00001c7b 0xbc ./Core/Src/sysmem.o - .debug_abbrev 0x00001d37 0x13b ./Core/Src/system_stm32wbxx.o - .debug_abbrev 0x00001e72 0x24 ./Core/Startup/startup_stm32wb55rgvx.o - .debug_abbrev 0x00001e96 0x367 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - .debug_abbrev 0x000021fd 0x319 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - .debug_abbrev 0x00002516 0x1e3 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - .debug_abbrev 0x000026f9 0x1ec ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - .debug_abbrev 0x000028e5 0x1e4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o - .debug_abbrev 0x00002ac9 0x260 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - .debug_abbrev 0x00002d29 0x1c8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o - .debug_abbrev 0x00002ef1 0x252 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - .debug_abbrev 0x00003143 0x2b9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - .debug_abbrev 0x000033fc 0x228 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o - .debug_abbrev 0x00003624 0x205 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o - .debug_abbrev 0x00003829 0x31c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o - .debug_abbrev 0x00003b45 0x31b ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - .debug_abbrev 0x00003e60 0x35a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o - .debug_abbrev 0x000041ba 0x1f0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - .debug_abbrev 0x000043aa 0x237 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o - .debug_abbrev 0x000045e1 0x25d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .debug_abbrev 0x0000483e 0x277 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - .debug_abbrev 0x00004ab5 0x295 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - .debug_abbrev 0x00004d4a 0x247 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - .debug_abbrev 0x00004f91 0x2c3 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_abbrev 0x00005254 0x27c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_abbrev 0x000054d0 0x26f ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_abbrev 0x0000573f 0x19a ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_abbrev 0x000058d9 0x1d7 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - .debug_abbrev 0x00005ab0 0x202 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - .debug_abbrev 0x00005cb2 0xce ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o - .debug_abbrev 0x00005d80 0x267 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - .debug_abbrev 0x00005fe7 0x81 ./Middlewares/ST/STM32_WPAN/utilities/otp.o - .debug_abbrev 0x00006068 0x189 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - .debug_abbrev 0x000061f1 0x52b ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_abbrev 0x0000671c 0xf5 ./Middlewares/Third_Party/FreeRTOS/Source/list.o - .debug_abbrev 0x00006811 0x387 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_abbrev 0x00006b98 0x385 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_abbrev 0x00006f1d 0x33f ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_abbrev 0x0000725c 0x25a ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .debug_abbrev 0x000074b6 0x256 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .debug_abbrev 0x0000770c 0x372 ./STM32_WPAN/Target/hw_ipcc.o - .debug_abbrev 0x00007a7e 0x195 ./USB_Device/App/usb_device.o - .debug_abbrev 0x00007c13 0x29d ./USB_Device/App/usbd_cdc_if.o - .debug_abbrev 0x00007eb0 0x210 ./USB_Device/App/usbd_desc.o - .debug_abbrev 0x000080c0 0x371 ./USB_Device/Target/usbd_conf.o - .debug_abbrev 0x00008431 0x1e1 ./Utilities/lpm/tiny_lpm/stm32_lpm.o +.debug_abbrev 0x00000000 0x8770 + .debug_abbrev 0x00000000 0x176 ./Core/Src/MadgwickAHRS.o + .debug_abbrev 0x00000176 0x242 ./Core/Src/app_debug.o + .debug_abbrev 0x000003b8 0x385 ./Core/Src/app_entry.o + .debug_abbrev 0x0000073d 0x9e ./Core/Src/app_freertos.o + .debug_abbrev 0x000007db 0x22a ./Core/Src/bmm350.o + .debug_abbrev 0x00000a05 0x327 ./Core/Src/hw_timerserver.o + .debug_abbrev 0x00000d2c 0x45c ./Core/Src/main.o + .debug_abbrev 0x00001188 0x2f7 ./Core/Src/sensors.o + .debug_abbrev 0x0000147f 0x2a6 ./Core/Src/stm32wbxx_hal_msp.o + .debug_abbrev 0x00001725 0x248 ./Core/Src/stm32wbxx_hal_timebase_tim.o + .debug_abbrev 0x0000196d 0x1ec ./Core/Src/stm32wbxx_it.o + .debug_abbrev 0x00001b59 0x1b6 ./Core/Src/syscalls.o + .debug_abbrev 0x00001d0f 0xbc ./Core/Src/sysmem.o + .debug_abbrev 0x00001dcb 0x13b ./Core/Src/system_stm32wbxx.o + .debug_abbrev 0x00001f06 0x24 ./Core/Startup/startup_stm32wb55rgvx.o + .debug_abbrev 0x00001f2a 0x367 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + .debug_abbrev 0x00002291 0x319 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + .debug_abbrev 0x000025aa 0x1e3 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + .debug_abbrev 0x0000278d 0x1ec ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + .debug_abbrev 0x00002979 0x1e4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + .debug_abbrev 0x00002b5d 0x260 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + .debug_abbrev 0x00002dbd 0x1c8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + .debug_abbrev 0x00002f85 0x252 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + .debug_abbrev 0x000031d7 0x2b9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + .debug_abbrev 0x00003490 0x228 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + .debug_abbrev 0x000036b8 0x205 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + .debug_abbrev 0x000038bd 0x31c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + .debug_abbrev 0x00003bd9 0x31b ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + .debug_abbrev 0x00003ef4 0x35a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + .debug_abbrev 0x0000424e 0x1f0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + .debug_abbrev 0x0000443e 0x237 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + .debug_abbrev 0x00004675 0x25d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + .debug_abbrev 0x000048d2 0x277 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + .debug_abbrev 0x00004b49 0x295 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + .debug_abbrev 0x00004dde 0x247 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + .debug_abbrev 0x00005025 0x2c3 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_abbrev 0x000052e8 0x27c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_abbrev 0x00005564 0x26f ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_abbrev 0x000057d3 0x19a ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_abbrev 0x0000596d 0x1d7 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + .debug_abbrev 0x00005b44 0x202 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + .debug_abbrev 0x00005d46 0xce ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + .debug_abbrev 0x00005e14 0x267 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + .debug_abbrev 0x0000607b 0x81 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + .debug_abbrev 0x000060fc 0x189 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + .debug_abbrev 0x00006285 0x566 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_abbrev 0x000067eb 0xf5 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_abbrev 0x000068e0 0x387 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_abbrev 0x00006c67 0x3fe ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_abbrev 0x00007065 0x355 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_abbrev 0x000073ba 0x25a ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_abbrev 0x00007614 0x256 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_abbrev 0x0000786a 0x372 ./STM32_WPAN/Target/hw_ipcc.o + .debug_abbrev 0x00007bdc 0x195 ./USB_Device/App/usb_device.o + .debug_abbrev 0x00007d71 0x29d ./USB_Device/App/usbd_cdc_if.o + .debug_abbrev 0x0000800e 0x210 ./USB_Device/App/usbd_desc.o + .debug_abbrev 0x0000821e 0x371 ./USB_Device/Target/usbd_conf.o + .debug_abbrev 0x0000858f 0x1e1 ./Utilities/lpm/tiny_lpm/stm32_lpm.o -.debug_aranges 0x00000000 0x3650 +.debug_aranges 0x00000000 0x3678 .debug_aranges 0x00000000 0x38 ./Core/Src/MadgwickAHRS.o .debug_aranges @@ -16819,116 +16910,118 @@ LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools- .debug_aranges 0x00000088 0x108 ./Core/Src/app_entry.o .debug_aranges - 0x00000190 0x128 ./Core/Src/bmm350.o + 0x00000190 0x20 ./Core/Src/app_freertos.o .debug_aranges - 0x000002b8 0xa8 ./Core/Src/hw_timerserver.o + 0x000001b0 0x128 ./Core/Src/bmm350.o .debug_aranges - 0x00000360 0xd0 ./Core/Src/main.o + 0x000002d8 0xa8 ./Core/Src/hw_timerserver.o .debug_aranges - 0x00000430 0xa8 ./Core/Src/sensors.o + 0x00000380 0xd0 ./Core/Src/main.o .debug_aranges - 0x000004d8 0xc0 ./Core/Src/stm32wbxx_hal_msp.o + 0x00000450 0xa0 ./Core/Src/sensors.o .debug_aranges - 0x00000598 0x38 ./Core/Src/stm32wbxx_hal_timebase_tim.o + 0x000004f0 0xc8 ./Core/Src/stm32wbxx_hal_msp.o .debug_aranges - 0x000005d0 0xb0 ./Core/Src/stm32wbxx_it.o + 0x000005b8 0x38 ./Core/Src/stm32wbxx_hal_timebase_tim.o .debug_aranges - 0x00000680 0xa8 ./Core/Src/syscalls.o + 0x000005f0 0xb0 ./Core/Src/stm32wbxx_it.o .debug_aranges - 0x00000728 0x20 ./Core/Src/sysmem.o + 0x000006a0 0xa8 ./Core/Src/syscalls.o .debug_aranges - 0x00000748 0x28 ./Core/Src/system_stm32wbxx.o + 0x00000748 0x20 ./Core/Src/sysmem.o .debug_aranges - 0x00000770 0x30 ./Core/Startup/startup_stm32wb55rgvx.o + 0x00000768 0x28 ./Core/Src/system_stm32wbxx.o .debug_aranges - 0x000007a0 0x280 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + 0x00000790 0x30 ./Core/Startup/startup_stm32wb55rgvx.o .debug_aranges - 0x00000a20 0x118 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x000007c0 0x280 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o .debug_aranges - 0x00000b38 0x90 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x00000a40 0x118 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .debug_aranges - 0x00000bc8 0x60 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + 0x00000b58 0x90 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .debug_aranges - 0x00000c28 0x70 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + 0x00000be8 0x60 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o .debug_aranges - 0x00000c98 0x2a0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x00000c48 0x70 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o .debug_aranges - 0x00000f38 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + 0x00000cb8 0x2a0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .debug_aranges - 0x00000f80 0xa0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + 0x00000f58 0x48 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o .debug_aranges - 0x00001020 0x138 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x00000fa0 0xa0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o .debug_aranges - 0x00001158 0x58 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + 0x00001040 0x138 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o .debug_aranges - 0x000011b0 0xd0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + 0x00001178 0x58 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o .debug_aranges - 0x00001280 0x288 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + 0x000011d0 0xd0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o .debug_aranges - 0x00001508 0x270 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x000012a0 0x288 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o .debug_aranges - 0x00001778 0x390 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x00001528 0x270 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .debug_aranges - 0x00001b08 0xe8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + 0x00001798 0x390 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .debug_aranges - 0x00001bf0 0x140 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + 0x00001b28 0xe8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o .debug_aranges - 0x00001d30 0x1d8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x00001c10 0x140 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o .debug_aranges - 0x00001f08 0x3e0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x00001d50 0x1d8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .debug_aranges - 0x000022e8 0x190 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + 0x00001f28 0x3e0 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o .debug_aranges - 0x00002478 0xc8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x00002308 0x190 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o .debug_aranges - 0x00002540 0x90 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x00002498 0xc8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o .debug_aranges - 0x000025d0 0xd8 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x00002560 0x90 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .debug_aranges - 0x000026a8 0x90 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x000025f0 0xd8 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o .debug_aranges - 0x00002738 0x50 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x000026c8 0x90 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .debug_aranges - 0x00002788 0x120 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + 0x00002758 0x50 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .debug_aranges - 0x000028a8 0x68 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x000027a8 0x120 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o .debug_aranges - 0x00002910 0x20 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + 0x000028c8 0x68 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o .debug_aranges - 0x00002930 0xa8 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x00002930 0x20 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o .debug_aranges - 0x000029d8 0x20 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + 0x00002950 0xa8 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .debug_aranges - 0x000029f8 0x78 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x000029f8 0x20 ./Middlewares/ST/STM32_WPAN/utilities/otp.o .debug_aranges - 0x00002a70 0x2b8 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x00002a18 0x78 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o .debug_aranges - 0x00002d28 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + 0x00002a90 0x2c0 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_aranges - 0x00002d68 0x170 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x00002d50 0x40 ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_aranges - 0x00002ed8 0x210 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x00002d90 0x170 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_aranges - 0x000030e8 0x108 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x00002f00 0x210 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_aranges - 0x000031f0 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x00003110 0x108 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_aranges - 0x00003270 0x60 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x00003218 0x80 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_aranges - 0x000032d0 0x138 ./STM32_WPAN/Target/hw_ipcc.o + 0x00003298 0x60 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_aranges - 0x00003408 0x20 ./USB_Device/App/usb_device.o + 0x000032f8 0x138 ./STM32_WPAN/Target/hw_ipcc.o .debug_aranges - 0x00003428 0x48 ./USB_Device/App/usbd_cdc_if.o + 0x00003430 0x20 ./USB_Device/App/usb_device.o .debug_aranges - 0x00003470 0x60 ./USB_Device/App/usbd_desc.o + 0x00003450 0x48 ./USB_Device/App/usbd_cdc_if.o .debug_aranges - 0x000034d0 0x138 ./USB_Device/Target/usbd_conf.o + 0x00003498 0x60 ./USB_Device/App/usbd_desc.o .debug_aranges - 0x00003608 0x48 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + 0x000034f8 0x138 ./USB_Device/Target/usbd_conf.o + .debug_aranges + 0x00003630 0x48 ./Utilities/lpm/tiny_lpm/stm32_lpm.o .debug_rnglists - 0x00000000 0x2962 + 0x00000000 0x297a .debug_rnglists 0x00000000 0x27 ./Core/Src/MadgwickAHRS.o .debug_rnglists @@ -16936,115 +17029,117 @@ LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools- .debug_rnglists 0x0000005f 0xc3 ./Core/Src/app_entry.o .debug_rnglists - 0x00000122 0xf2 ./Core/Src/bmm350.o + 0x00000122 0x13 ./Core/Src/app_freertos.o .debug_rnglists - 0x00000214 0x85 ./Core/Src/hw_timerserver.o + 0x00000135 0xf2 ./Core/Src/bmm350.o .debug_rnglists - 0x00000299 0x9f ./Core/Src/main.o + 0x00000227 0x85 ./Core/Src/hw_timerserver.o .debug_rnglists - 0x00000338 0x7e ./Core/Src/sensors.o + 0x000002ac 0x9f ./Core/Src/main.o .debug_rnglists - 0x000003b6 0x8d ./Core/Src/stm32wbxx_hal_msp.o + 0x0000034b 0x77 ./Core/Src/sensors.o .debug_rnglists - 0x00000443 0x26 ./Core/Src/stm32wbxx_hal_timebase_tim.o + 0x000003c2 0x93 ./Core/Src/stm32wbxx_hal_msp.o .debug_rnglists - 0x00000469 0x7f ./Core/Src/stm32wbxx_it.o + 0x00000455 0x26 ./Core/Src/stm32wbxx_hal_timebase_tim.o .debug_rnglists - 0x000004e8 0x79 ./Core/Src/syscalls.o + 0x0000047b 0x7f ./Core/Src/stm32wbxx_it.o .debug_rnglists - 0x00000561 0x13 ./Core/Src/sysmem.o + 0x000004fa 0x79 ./Core/Src/syscalls.o .debug_rnglists - 0x00000574 0x1b ./Core/Src/system_stm32wbxx.o + 0x00000573 0x13 ./Core/Src/sysmem.o .debug_rnglists - 0x0000058f 0x1f ./Core/Startup/startup_stm32wb55rgvx.o + 0x00000586 0x1b ./Core/Src/system_stm32wbxx.o .debug_rnglists - 0x000005ae 0x1db ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + 0x000005a1 0x1f ./Core/Startup/startup_stm32wb55rgvx.o .debug_rnglists - 0x00000789 0xce ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + 0x000005c0 0x1db ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o .debug_rnglists - 0x00000857 0x71 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + 0x0000079b 0xce ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o .debug_rnglists - 0x000008c8 0x45 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + 0x00000869 0x71 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o .debug_rnglists - 0x0000090d 0x4f ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + 0x000008da 0x45 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o .debug_rnglists - 0x0000095c 0x228 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + 0x0000091f 0x4f ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o .debug_rnglists - 0x00000b84 0x35 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + 0x0000096e 0x228 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o .debug_rnglists - 0x00000bb9 0x78 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + 0x00000b96 0x35 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o .debug_rnglists - 0x00000c31 0xee ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + 0x00000bcb 0x78 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o .debug_rnglists - 0x00000d1f 0x3f ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + 0x00000c43 0xee ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o .debug_rnglists - 0x00000d5e 0x99 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + 0x00000d31 0x3f ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o .debug_rnglists - 0x00000df7 0x1e8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + 0x00000d70 0x99 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o .debug_rnglists - 0x00000fdf 0x1d6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + 0x00000e09 0x1e8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o .debug_rnglists - 0x000011b5 0x2b6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + 0x00000ff1 0x1d6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o .debug_rnglists - 0x0000146b 0xb4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + 0x000011c7 0x2b6 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o .debug_rnglists - 0x0000151f 0xfd ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + 0x0000147d 0xb4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o .debug_rnglists - 0x0000161c 0x178 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + 0x00001531 0xfd ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o .debug_rnglists - 0x00001794 0x32b ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + 0x0000162e 0x178 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o .debug_rnglists - 0x00001abf 0x147 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + 0x000017a6 0x32b ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o .debug_rnglists - 0x00001c06 0x99 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + 0x00001ad1 0x147 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o .debug_rnglists - 0x00001c9f 0x6c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + 0x00001c18 0x99 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o .debug_rnglists - 0x00001d0b 0xa1 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + 0x00001cb1 0x6c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o .debug_rnglists - 0x00001dac 0x6e ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + 0x00001d1d 0xa1 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o .debug_rnglists - 0x00001e1a 0x37 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + 0x00001dbe 0x6e ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o .debug_rnglists - 0x00001e51 0xd4 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + 0x00001e2c 0x37 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o .debug_rnglists - 0x00001f25 0x4b ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + 0x00001e63 0xd4 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o .debug_rnglists - 0x00001f70 0x13 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + 0x00001f37 0x4b ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o .debug_rnglists - 0x00001f83 0x7a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + 0x00001f82 0x13 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o .debug_rnglists - 0x00001ffd 0x13 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + 0x00001f95 0x7a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o .debug_rnglists - 0x00002010 0x55 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + 0x0000200f 0x13 ./Middlewares/ST/STM32_WPAN/utilities/otp.o .debug_rnglists - 0x00002065 0x219 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + 0x00002022 0x55 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o .debug_rnglists - 0x0000227e 0x2b ./Middlewares/Third_Party/FreeRTOS/Source/list.o + 0x00002077 0x21f ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o .debug_rnglists - 0x000022a9 0x11e ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + 0x00002296 0x2b ./Middlewares/Third_Party/FreeRTOS/Source/list.o .debug_rnglists - 0x000023c7 0x1a9 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + 0x000022c1 0x11e ./Middlewares/Third_Party/FreeRTOS/Source/queue.o .debug_rnglists - 0x00002570 0xc8 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + 0x000023df 0x1a9 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o .debug_rnglists - 0x00002638 0x5d ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + 0x00002588 0xc8 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o .debug_rnglists - 0x00002695 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + 0x00002650 0x5d ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o .debug_rnglists - 0x000026dd 0xe5 ./STM32_WPAN/Target/hw_ipcc.o + 0x000026ad 0x48 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o .debug_rnglists - 0x000027c2 0x13 ./USB_Device/App/usb_device.o + 0x000026f5 0xe5 ./STM32_WPAN/Target/hw_ipcc.o .debug_rnglists - 0x000027d5 0x32 ./USB_Device/App/usbd_cdc_if.o + 0x000027da 0x13 ./USB_Device/App/usb_device.o .debug_rnglists - 0x00002807 0x43 ./USB_Device/App/usbd_desc.o + 0x000027ed 0x32 ./USB_Device/App/usbd_cdc_if.o .debug_rnglists - 0x0000284a 0xe7 ./USB_Device/Target/usbd_conf.o + 0x0000281f 0x43 ./USB_Device/App/usbd_desc.o .debug_rnglists - 0x00002931 0x31 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + 0x00002862 0xe7 ./USB_Device/Target/usbd_conf.o + .debug_rnglists + 0x00002949 0x31 ./Utilities/lpm/tiny_lpm/stm32_lpm.o -.debug_macro 0x00000000 0x318d9 +.debug_macro 0x00000000 0x32a00 .debug_macro 0x00000000 0x120 ./Core/Src/MadgwickAHRS.o .debug_macro 0x00000120 0xad8 ./Core/Src/MadgwickAHRS.o .debug_macro 0x00000bf8 0x22 ./Core/Src/MadgwickAHRS.o @@ -17084,322 +17179,339 @@ LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools- .debug_macro 0x00002352 0x16 ./Core/Src/app_debug.o .debug_macro 0x00002368 0x29 ./Core/Src/app_debug.o .debug_macro 0x00002391 0x4c ./Core/Src/app_debug.o - .debug_macro 0x000023dd 0x17b ./Core/Src/app_debug.o - .debug_macro 0x00002558 0x83 ./Core/Src/app_debug.o - .debug_macro 0x000025db 0x2e ./Core/Src/app_debug.o - .debug_macro 0x00002609 0x2e ./Core/Src/app_debug.o - .debug_macro 0x00002637 0x1c ./Core/Src/app_debug.o - .debug_macro 0x00002653 0x22 ./Core/Src/app_debug.o - .debug_macro 0x00002675 0xfb ./Core/Src/app_debug.o - .debug_macro 0x00002770 0x1011 ./Core/Src/app_debug.o - .debug_macro 0x00003781 0x11f ./Core/Src/app_debug.o - .debug_macro 0x000038a0 0x12adb ./Core/Src/app_debug.o - .debug_macro 0x0001637b 0x6c ./Core/Src/app_debug.o - .debug_macro 0x000163e7 0x14e ./Core/Src/app_debug.o - .debug_macro 0x00016535 0x350b ./Core/Src/app_debug.o - .debug_macro 0x00019a40 0x56 ./Core/Src/app_debug.o - .debug_macro 0x00019a96 0x3f5 ./Core/Src/app_debug.o - .debug_macro 0x00019e8b 0x286 ./Core/Src/app_debug.o - .debug_macro 0x0001a111 0x30d ./Core/Src/app_debug.o - .debug_macro 0x0001a41e 0x17e ./Core/Src/app_debug.o - .debug_macro 0x0001a59c 0x43 ./Core/Src/app_debug.o - .debug_macro 0x0001a5df 0x236 ./Core/Src/app_debug.o - .debug_macro 0x0001a815 0x24a ./Core/Src/app_debug.o - .debug_macro 0x0001aa5f 0x57b ./Core/Src/app_debug.o - .debug_macro 0x0001afda 0x2e ./Core/Src/app_debug.o - .debug_macro 0x0001b008 0x100 ./Core/Src/app_debug.o - .debug_macro 0x0001b108 0x1ba ./Core/Src/app_debug.o - .debug_macro 0x0001b2c2 0x1cd ./Core/Src/app_debug.o - .debug_macro 0x0001b48f 0x4a ./Core/Src/app_debug.o - .debug_macro 0x0001b4d9 0x22c ./Core/Src/app_debug.o - .debug_macro 0x0001b705 0x55 ./Core/Src/app_debug.o - .debug_macro 0x0001b75a 0xa5 ./Core/Src/app_debug.o - .debug_macro 0x0001b7ff 0x4a ./Core/Src/app_debug.o - .debug_macro 0x0001b849 0x73 ./Core/Src/app_debug.o - .debug_macro 0x0001b8bc 0x22d ./Core/Src/app_debug.o - .debug_macro 0x0001bae9 0x381 ./Core/Src/app_debug.o - .debug_macro 0x0001be6a 0x13d ./Core/Src/app_debug.o - .debug_macro 0x0001bfa7 0x141 ./Core/Src/app_debug.o - .debug_macro 0x0001c0e8 0x4ff ./Core/Src/app_debug.o - .debug_macro 0x0001c5e7 0x874 ./Core/Src/app_debug.o - .debug_macro 0x0001ce5b 0x259 ./Core/Src/app_debug.o - .debug_macro 0x0001d0b4 0x1bb1 ./Core/Src/app_debug.o - .debug_macro 0x0001ec65 0xd0 ./Core/Src/app_debug.o - .debug_macro 0x0001ed35 0x5e7 ./Core/Src/app_debug.o - .debug_macro 0x0001f31c 0x328 ./Core/Src/app_debug.o - .debug_macro 0x0001f644 0x493 ./Core/Src/app_debug.o - .debug_macro 0x0001fad7 0xf2 ./Core/Src/app_debug.o - .debug_macro 0x0001fbc9 0x2fe ./Core/Src/app_debug.o - .debug_macro 0x0001fec7 0xac9 ./Core/Src/app_debug.o - .debug_macro 0x00020990 0x110 ./Core/Src/app_debug.o - .debug_macro 0x00020aa0 0x557 ./Core/Src/app_debug.o - .debug_macro 0x00020ff7 0x433 ./Core/Src/app_debug.o - .debug_macro 0x0002142a 0x82 ./Core/Src/app_debug.o - .debug_macro 0x000214ac 0x1a8 ./Core/Src/app_debug.o - .debug_macro 0x00021654 0x45 ./Core/Src/app_debug.o - .debug_macro 0x00021699 0xf5 ./Core/Src/app_debug.o - .debug_macro 0x0002178e 0x14d ./Core/Src/app_debug.o - .debug_macro 0x000218db 0x467 ./Core/Src/app_debug.o - .debug_macro 0x00021d42 0x6d ./Core/Src/app_debug.o - .debug_macro 0x00021daf 0x362 ./Core/Src/app_debug.o - .debug_macro 0x00022111 0xa0 ./Core/Src/app_debug.o - .debug_macro 0x000221b1 0x12e ./Core/Src/app_debug.o - .debug_macro 0x000222df 0x1c ./Core/Src/app_debug.o - .debug_macro 0x000222fb 0x13a ./Core/Src/app_debug.o - .debug_macro 0x00022435 0xac ./Core/Src/app_debug.o - .debug_macro 0x000224e1 0x42a ./Core/Src/app_debug.o - .debug_macro 0x0002290b 0xac ./Core/Src/app_debug.o - .debug_macro 0x000229b7 0x1c ./Core/Src/app_debug.o - .debug_macro 0x000229d3 0x6d3 ./Core/Src/app_entry.o - .debug_macro 0x000230a6 0xc4 ./Core/Src/app_entry.o - .debug_macro 0x0002316a 0x2e ./Core/Src/app_entry.o - .debug_macro 0x00023198 0xe2 ./Core/Src/app_entry.o - .debug_macro 0x0002327a 0x791 ./Core/Src/app_entry.o - .debug_macro 0x00023a0b 0x624 ./Core/Src/app_entry.o - .debug_macro 0x0002402f 0x164 ./Core/Src/app_entry.o - .debug_macro 0x00024193 0x22 ./Core/Src/app_entry.o - .debug_macro 0x000241b5 0x34 ./Core/Src/app_entry.o - .debug_macro 0x000241e9 0x1c ./Core/Src/app_entry.o - .debug_macro 0x00024205 0x18c ./Core/Src/app_entry.o - .debug_macro 0x00024391 0x10 ./Core/Src/app_entry.o - .debug_macro 0x000243a1 0x10 ./Core/Src/app_entry.o - .debug_macro 0x000243b1 0x67 ./Core/Src/app_entry.o - .debug_macro 0x00024418 0x28 ./Core/Src/app_entry.o - .debug_macro 0x00024440 0x5c6 ./Core/Src/app_entry.o - .debug_macro 0x00024a06 0x10 ./Core/Src/app_entry.o - .debug_macro 0x00024a16 0x74 ./Core/Src/app_entry.o - .debug_macro 0x00024a8a 0xb2 ./Core/Src/app_entry.o - .debug_macro 0x00024b3c 0x134 ./Core/Src/app_entry.o - .debug_macro 0x00024c70 0x190 ./Core/Src/bmm350.o - .debug_macro 0x00024e00 0x1c ./Core/Src/bmm350.o - .debug_macro 0x00024e1c 0x7f2 ./Core/Src/bmm350.o - .debug_macro 0x0002560e 0x16 ./Core/Src/bmm350.o - .debug_macro 0x00025624 0x16 ./Core/Src/bmm350.o - .debug_macro 0x0002563a 0x479 ./Core/Src/hw_timerserver.o - .debug_macro 0x00025ab3 0x5af ./Core/Src/main.o - .debug_macro 0x00026062 0x17b ./Core/Src/main.o - .debug_macro 0x000261dd 0x65 ./Core/Src/main.o - .debug_macro 0x00026242 0x201 ./Core/Src/main.o - .debug_macro 0x00026443 0x2e ./Core/Src/main.o - .debug_macro 0x00026471 0x95 ./Core/Src/main.o - .debug_macro 0x00026506 0x10 ./Core/Src/main.o - .debug_macro 0x00026516 0x53f ./Core/Src/sensors.o - .debug_macro 0x00026a55 0x482 ./Core/Src/stm32wbxx_hal_msp.o - .debug_macro 0x00026ed7 0x28d ./Core/Src/stm32wbxx_hal_timebase_tim.o - .debug_macro 0x00027164 0x48c ./Core/Src/stm32wbxx_it.o - .debug_macro 0x000275f0 0x274 ./Core/Src/syscalls.o - .debug_macro 0x00027864 0x10 ./Core/Src/syscalls.o - .debug_macro 0x00027874 0x10 ./Core/Src/syscalls.o - .debug_macro 0x00027884 0x10 ./Core/Src/syscalls.o - .debug_macro 0x00027894 0x10 ./Core/Src/syscalls.o - .debug_macro 0x000278a4 0x1c ./Core/Src/syscalls.o - .debug_macro 0x000278c0 0x52 ./Core/Src/syscalls.o - .debug_macro 0x00027912 0x22 ./Core/Src/syscalls.o - .debug_macro 0x00027934 0x10 ./Core/Src/syscalls.o - .debug_macro 0x00027944 0x52 ./Core/Src/syscalls.o - .debug_macro 0x00027996 0xcf ./Core/Src/syscalls.o - .debug_macro 0x00027a65 0x1c ./Core/Src/syscalls.o - .debug_macro 0x00027a81 0x3d ./Core/Src/syscalls.o - .debug_macro 0x00027abe 0x35 ./Core/Src/syscalls.o - .debug_macro 0x00027af3 0x12c ./Core/Src/syscalls.o - .debug_macro 0x00027c1f 0x10 ./Core/Src/syscalls.o - .debug_macro 0x00027c2f 0x242 ./Core/Src/syscalls.o - .debug_macro 0x00027e71 0x10 ./Core/Src/syscalls.o - .debug_macro 0x00027e81 0x18a ./Core/Src/syscalls.o - .debug_macro 0x0002800b 0x16 ./Core/Src/syscalls.o - .debug_macro 0x00028021 0xce ./Core/Src/syscalls.o - .debug_macro 0x000280ef 0x116 ./Core/Src/sysmem.o - .debug_macro 0x00028205 0x23c ./Core/Src/sysmem.o - .debug_macro 0x00028441 0x28d ./Core/Src/system_stm32wbxx.o - .debug_macro 0x000286ce 0x2b1 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - .debug_macro 0x0002897f 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - .debug_macro 0x00028c0c 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - .debug_macro 0x00028e99 0x294 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - .debug_macro 0x0002912d 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o - .debug_macro 0x000293ba 0x359 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - .debug_macro 0x00029713 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o - .debug_macro 0x000299a0 0x29f ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - .debug_macro 0x00029c3f 0x299 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - .debug_macro 0x00029ed8 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o - .debug_macro 0x0002a165 0x2ff ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o - .debug_macro 0x0002a464 0x29f ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o - .debug_macro 0x0002a703 0x2ff ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - .debug_macro 0x0002aa02 0x2e2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o - .debug_macro 0x0002ace4 0x28e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - .debug_macro 0x0002af72 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o - .debug_macro 0x0002b1ff 0x295 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .debug_macro 0x0002b494 0x295 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - .debug_macro 0x0002b729 0x299 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - .debug_macro 0x0002b9c2 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - .debug_macro 0x0002bc4f 0x41c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_macro 0x0002c06b 0x9e ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_macro 0x0002c109 0x112 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_macro 0x0002c21b 0x16 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_macro 0x0002c231 0x5f ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_macro 0x0002c290 0x20f ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_macro 0x0002c49f 0x403 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_macro 0x0002c8a2 0x215 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_macro 0x0002cab7 0x40d ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_macro 0x0002cec4 0x409 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_macro 0x0002d2cd 0x409 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - .debug_macro 0x0002d6d6 0xe9 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - .debug_macro 0x0002d7bf 0x1eb ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - .debug_macro 0x0002d9aa 0x1e1 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o - .debug_macro 0x0002db8b 0x4a4 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - .debug_macro 0x0002e02f 0x88 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - .debug_macro 0x0002e0b7 0x473 ./Middlewares/ST/STM32_WPAN/utilities/otp.o - .debug_macro 0x0002e52a 0x485 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - .debug_macro 0x0002e9af 0x483 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_macro 0x0002ee32 0x91 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_macro 0x0002eec3 0x23 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_macro 0x0002eee6 0x94 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_macro 0x0002ef7a 0xa8 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_macro 0x0002f022 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_macro 0x0002f044 0x1a2 ./Middlewares/Third_Party/FreeRTOS/Source/list.o - .debug_macro 0x0002f1e6 0x239 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_macro 0x0002f41f 0x8e ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_macro 0x0002f4ad 0x28e ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_macro 0x0002f73b 0x17 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_macro 0x0002f752 0x1f1 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_macro 0x0002f943 0x97 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_macro 0x0002f9da 0x1b7 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .debug_macro 0x0002fb91 0x21d ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .debug_macro 0x0002fdae 0x49f ./STM32_WPAN/Target/hw_ipcc.o - .debug_macro 0x0003024d 0x52 ./STM32_WPAN/Target/hw_ipcc.o - .debug_macro 0x0003029f 0x442 ./USB_Device/App/usb_device.o - .debug_macro 0x000306e1 0x22 ./USB_Device/App/usb_device.o - .debug_macro 0x00030703 0x16 ./USB_Device/App/usb_device.o - .debug_macro 0x00030719 0x427 ./USB_Device/App/usbd_cdc_if.o - .debug_macro 0x00030b40 0x440 ./USB_Device/App/usbd_desc.o - .debug_macro 0x00030f80 0x1c ./USB_Device/App/usbd_desc.o - .debug_macro 0x00030f9c 0x4d9 ./USB_Device/Target/usbd_conf.o - .debug_macro 0x00031475 0x418 ./Utilities/lpm/tiny_lpm/stm32_lpm.o - .debug_macro 0x0003188d 0x4c ./Utilities/lpm/tiny_lpm/stm32_lpm.o + .debug_macro 0x000023dd 0x18f ./Core/Src/app_debug.o + .debug_macro 0x0000256c 0x83 ./Core/Src/app_debug.o + .debug_macro 0x000025ef 0x2e ./Core/Src/app_debug.o + .debug_macro 0x0000261d 0x2e ./Core/Src/app_debug.o + .debug_macro 0x0000264b 0x1c ./Core/Src/app_debug.o + .debug_macro 0x00002667 0x22 ./Core/Src/app_debug.o + .debug_macro 0x00002689 0xfb ./Core/Src/app_debug.o + .debug_macro 0x00002784 0x1011 ./Core/Src/app_debug.o + .debug_macro 0x00003795 0x11f ./Core/Src/app_debug.o + .debug_macro 0x000038b4 0x12adb ./Core/Src/app_debug.o + .debug_macro 0x0001638f 0x6c ./Core/Src/app_debug.o + .debug_macro 0x000163fb 0x14e ./Core/Src/app_debug.o + .debug_macro 0x00016549 0x350b ./Core/Src/app_debug.o + .debug_macro 0x00019a54 0x56 ./Core/Src/app_debug.o + .debug_macro 0x00019aaa 0x3f5 ./Core/Src/app_debug.o + .debug_macro 0x00019e9f 0x286 ./Core/Src/app_debug.o + .debug_macro 0x0001a125 0x30d ./Core/Src/app_debug.o + .debug_macro 0x0001a432 0x17e ./Core/Src/app_debug.o + .debug_macro 0x0001a5b0 0x43 ./Core/Src/app_debug.o + .debug_macro 0x0001a5f3 0x236 ./Core/Src/app_debug.o + .debug_macro 0x0001a829 0x24a ./Core/Src/app_debug.o + .debug_macro 0x0001aa73 0x57b ./Core/Src/app_debug.o + .debug_macro 0x0001afee 0x2e ./Core/Src/app_debug.o + .debug_macro 0x0001b01c 0x100 ./Core/Src/app_debug.o + .debug_macro 0x0001b11c 0x1ba ./Core/Src/app_debug.o + .debug_macro 0x0001b2d6 0x1cd ./Core/Src/app_debug.o + .debug_macro 0x0001b4a3 0x4a ./Core/Src/app_debug.o + .debug_macro 0x0001b4ed 0x22c ./Core/Src/app_debug.o + .debug_macro 0x0001b719 0x55 ./Core/Src/app_debug.o + .debug_macro 0x0001b76e 0xa5 ./Core/Src/app_debug.o + .debug_macro 0x0001b813 0x4a ./Core/Src/app_debug.o + .debug_macro 0x0001b85d 0x73 ./Core/Src/app_debug.o + .debug_macro 0x0001b8d0 0x22d ./Core/Src/app_debug.o + .debug_macro 0x0001bafd 0x381 ./Core/Src/app_debug.o + .debug_macro 0x0001be7e 0x13d ./Core/Src/app_debug.o + .debug_macro 0x0001bfbb 0x141 ./Core/Src/app_debug.o + .debug_macro 0x0001c0fc 0x4ff ./Core/Src/app_debug.o + .debug_macro 0x0001c5fb 0x874 ./Core/Src/app_debug.o + .debug_macro 0x0001ce6f 0x259 ./Core/Src/app_debug.o + .debug_macro 0x0001d0c8 0x1bb1 ./Core/Src/app_debug.o + .debug_macro 0x0001ec79 0xd0 ./Core/Src/app_debug.o + .debug_macro 0x0001ed49 0x5e7 ./Core/Src/app_debug.o + .debug_macro 0x0001f330 0x328 ./Core/Src/app_debug.o + .debug_macro 0x0001f658 0x493 ./Core/Src/app_debug.o + .debug_macro 0x0001faeb 0xf2 ./Core/Src/app_debug.o + .debug_macro 0x0001fbdd 0x2fe ./Core/Src/app_debug.o + .debug_macro 0x0001fedb 0xac9 ./Core/Src/app_debug.o + .debug_macro 0x000209a4 0x110 ./Core/Src/app_debug.o + .debug_macro 0x00020ab4 0x557 ./Core/Src/app_debug.o + .debug_macro 0x0002100b 0x433 ./Core/Src/app_debug.o + .debug_macro 0x0002143e 0x82 ./Core/Src/app_debug.o + .debug_macro 0x000214c0 0x1a8 ./Core/Src/app_debug.o + .debug_macro 0x00021668 0x45 ./Core/Src/app_debug.o + .debug_macro 0x000216ad 0xf5 ./Core/Src/app_debug.o + .debug_macro 0x000217a2 0x14d ./Core/Src/app_debug.o + .debug_macro 0x000218ef 0x467 ./Core/Src/app_debug.o + .debug_macro 0x00021d56 0x6d ./Core/Src/app_debug.o + .debug_macro 0x00021dc3 0x362 ./Core/Src/app_debug.o + .debug_macro 0x00022125 0xa0 ./Core/Src/app_debug.o + .debug_macro 0x000221c5 0x12e ./Core/Src/app_debug.o + .debug_macro 0x000222f3 0x1c ./Core/Src/app_debug.o + .debug_macro 0x0002230f 0x13a ./Core/Src/app_debug.o + .debug_macro 0x00022449 0xac ./Core/Src/app_debug.o + .debug_macro 0x000224f5 0x42a ./Core/Src/app_debug.o + .debug_macro 0x0002291f 0xac ./Core/Src/app_debug.o + .debug_macro 0x000229cb 0x1c ./Core/Src/app_debug.o + .debug_macro 0x000229e7 0x6d3 ./Core/Src/app_entry.o + .debug_macro 0x000230ba 0xc4 ./Core/Src/app_entry.o + .debug_macro 0x0002317e 0x2e ./Core/Src/app_entry.o + .debug_macro 0x000231ac 0xe2 ./Core/Src/app_entry.o + .debug_macro 0x0002328e 0x791 ./Core/Src/app_entry.o + .debug_macro 0x00023a1f 0x624 ./Core/Src/app_entry.o + .debug_macro 0x00024043 0x164 ./Core/Src/app_entry.o + .debug_macro 0x000241a7 0x22 ./Core/Src/app_entry.o + .debug_macro 0x000241c9 0x34 ./Core/Src/app_entry.o + .debug_macro 0x000241fd 0x1c ./Core/Src/app_entry.o + .debug_macro 0x00024219 0x18c ./Core/Src/app_entry.o + .debug_macro 0x000243a5 0x10 ./Core/Src/app_entry.o + .debug_macro 0x000243b5 0x10 ./Core/Src/app_entry.o + .debug_macro 0x000243c5 0x67 ./Core/Src/app_entry.o + .debug_macro 0x0002442c 0x28 ./Core/Src/app_entry.o + .debug_macro 0x00024454 0x5c6 ./Core/Src/app_entry.o + .debug_macro 0x00024a1a 0x10 ./Core/Src/app_entry.o + .debug_macro 0x00024a2a 0x74 ./Core/Src/app_entry.o + .debug_macro 0x00024a9e 0xb2 ./Core/Src/app_entry.o + .debug_macro 0x00024b50 0x134 ./Core/Src/app_entry.o + .debug_macro 0x00024c84 0x515 ./Core/Src/app_freertos.o + .debug_macro 0x00025199 0x16 ./Core/Src/app_freertos.o + .debug_macro 0x000251af 0x16 ./Core/Src/app_freertos.o + .debug_macro 0x000251c5 0x179 ./Core/Src/app_freertos.o + .debug_macro 0x0002533e 0xcf ./Core/Src/app_freertos.o + .debug_macro 0x0002540d 0x28 ./Core/Src/app_freertos.o + .debug_macro 0x00025435 0x1f ./Core/Src/app_freertos.o + .debug_macro 0x00025454 0x12 ./Core/Src/app_freertos.o + .debug_macro 0x00025466 0x10 ./Core/Src/app_freertos.o + .debug_macro 0x00025476 0x22 ./Core/Src/app_freertos.o + .debug_macro 0x00025498 0x4da ./Core/Src/app_freertos.o + .debug_macro 0x00025972 0xc3 ./Core/Src/app_freertos.o + .debug_macro 0x00025a35 0x12c ./Core/Src/app_freertos.o + .debug_macro 0x00025b61 0x16 ./Core/Src/app_freertos.o + .debug_macro 0x00025b77 0x190 ./Core/Src/bmm350.o + .debug_macro 0x00025d07 0x1c ./Core/Src/bmm350.o + .debug_macro 0x00025d23 0x7f2 ./Core/Src/bmm350.o + .debug_macro 0x00026515 0x16 ./Core/Src/bmm350.o + .debug_macro 0x0002652b 0x16 ./Core/Src/bmm350.o + .debug_macro 0x00026541 0x479 ./Core/Src/hw_timerserver.o + .debug_macro 0x000269ba 0x5d0 ./Core/Src/main.o + .debug_macro 0x00026f8a 0x5c ./Core/Src/main.o + .debug_macro 0x00026fe6 0x18f ./Core/Src/main.o + .debug_macro 0x00027175 0x65 ./Core/Src/main.o + .debug_macro 0x000271da 0x201 ./Core/Src/main.o + .debug_macro 0x000273db 0x2e ./Core/Src/main.o + .debug_macro 0x00027409 0x95 ./Core/Src/main.o + .debug_macro 0x0002749e 0x10 ./Core/Src/main.o + .debug_macro 0x000274ae 0x560 ./Core/Src/sensors.o + .debug_macro 0x00027a0e 0x482 ./Core/Src/stm32wbxx_hal_msp.o + .debug_macro 0x00027e90 0x28d ./Core/Src/stm32wbxx_hal_timebase_tim.o + .debug_macro 0x0002811d 0x48c ./Core/Src/stm32wbxx_it.o + .debug_macro 0x000285a9 0x274 ./Core/Src/syscalls.o + .debug_macro 0x0002881d 0x10 ./Core/Src/syscalls.o + .debug_macro 0x0002882d 0x10 ./Core/Src/syscalls.o + .debug_macro 0x0002883d 0x10 ./Core/Src/syscalls.o + .debug_macro 0x0002884d 0x10 ./Core/Src/syscalls.o + .debug_macro 0x0002885d 0x1c ./Core/Src/syscalls.o + .debug_macro 0x00028879 0x52 ./Core/Src/syscalls.o + .debug_macro 0x000288cb 0x22 ./Core/Src/syscalls.o + .debug_macro 0x000288ed 0x10 ./Core/Src/syscalls.o + .debug_macro 0x000288fd 0x52 ./Core/Src/syscalls.o + .debug_macro 0x0002894f 0xcf ./Core/Src/syscalls.o + .debug_macro 0x00028a1e 0x1c ./Core/Src/syscalls.o + .debug_macro 0x00028a3a 0x3d ./Core/Src/syscalls.o + .debug_macro 0x00028a77 0x35 ./Core/Src/syscalls.o + .debug_macro 0x00028aac 0x12c ./Core/Src/syscalls.o + .debug_macro 0x00028bd8 0x10 ./Core/Src/syscalls.o + .debug_macro 0x00028be8 0x242 ./Core/Src/syscalls.o + .debug_macro 0x00028e2a 0x10 ./Core/Src/syscalls.o + .debug_macro 0x00028e3a 0x18a ./Core/Src/syscalls.o + .debug_macro 0x00028fc4 0x16 ./Core/Src/syscalls.o + .debug_macro 0x00028fda 0xce ./Core/Src/syscalls.o + .debug_macro 0x000290a8 0x116 ./Core/Src/sysmem.o + .debug_macro 0x000291be 0x23c ./Core/Src/sysmem.o + .debug_macro 0x000293fa 0x28d ./Core/Src/system_stm32wbxx.o + .debug_macro 0x00029687 0x2b1 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + .debug_macro 0x00029938 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + .debug_macro 0x00029bc5 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + .debug_macro 0x00029e52 0x294 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + .debug_macro 0x0002a0e6 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + .debug_macro 0x0002a373 0x359 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + .debug_macro 0x0002a6cc 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + .debug_macro 0x0002a959 0x29f ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + .debug_macro 0x0002abf8 0x299 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + .debug_macro 0x0002ae91 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + .debug_macro 0x0002b11e 0x2ff ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + .debug_macro 0x0002b41d 0x29f ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + .debug_macro 0x0002b6bc 0x2ff ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + .debug_macro 0x0002b9bb 0x2e2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + .debug_macro 0x0002bc9d 0x28e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + .debug_macro 0x0002bf2b 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + .debug_macro 0x0002c1b8 0x295 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + .debug_macro 0x0002c44d 0x295 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + .debug_macro 0x0002c6e2 0x299 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + .debug_macro 0x0002c97b 0x28d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + .debug_macro 0x0002cc08 0x41c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_macro 0x0002d024 0x9e ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_macro 0x0002d0c2 0x112 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_macro 0x0002d1d4 0x5f ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_macro 0x0002d233 0x20f ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_macro 0x0002d442 0x403 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_macro 0x0002d845 0x215 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_macro 0x0002da5a 0x40d ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_macro 0x0002de67 0x409 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_macro 0x0002e270 0x409 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + .debug_macro 0x0002e679 0xe9 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + .debug_macro 0x0002e762 0x1eb ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + .debug_macro 0x0002e94d 0x1e1 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + .debug_macro 0x0002eb2e 0x4a4 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + .debug_macro 0x0002efd2 0x88 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + .debug_macro 0x0002f05a 0x473 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + .debug_macro 0x0002f4cd 0x485 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + .debug_macro 0x0002f952 0x4a4 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x0002fdf6 0x91 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x0002fe87 0x23 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x0002feaa 0x94 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x0002ff3e 0xa8 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x0002ffe6 0x22 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_macro 0x00030008 0x1c3 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_macro 0x000301cb 0x25a ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_macro 0x00030425 0x8e ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_macro 0x000304b3 0x2af ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_macro 0x00030762 0x16 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_macro 0x00030778 0x212 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_macro 0x0003098a 0x97 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_macro 0x00030a21 0x276 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_macro 0x00030c97 0x23e ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_macro 0x00030ed5 0x49f ./STM32_WPAN/Target/hw_ipcc.o + .debug_macro 0x00031374 0x52 ./STM32_WPAN/Target/hw_ipcc.o + .debug_macro 0x000313c6 0x442 ./USB_Device/App/usb_device.o + .debug_macro 0x00031808 0x22 ./USB_Device/App/usb_device.o + .debug_macro 0x0003182a 0x16 ./USB_Device/App/usb_device.o + .debug_macro 0x00031840 0x427 ./USB_Device/App/usbd_cdc_if.o + .debug_macro 0x00031c67 0x440 ./USB_Device/App/usbd_desc.o + .debug_macro 0x000320a7 0x1c ./USB_Device/App/usbd_desc.o + .debug_macro 0x000320c3 0x4d9 ./USB_Device/Target/usbd_conf.o + .debug_macro 0x0003259c 0x418 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + .debug_macro 0x000329b4 0x4c ./Utilities/lpm/tiny_lpm/stm32_lpm.o -.debug_line 0x00000000 0x3b3c3 - .debug_line 0x00000000 0xdc4 ./Core/Src/MadgwickAHRS.o - .debug_line 0x00000dc4 0xd19 ./Core/Src/app_debug.o - .debug_line 0x00001add 0x1350 ./Core/Src/app_entry.o - .debug_line 0x00002e2d 0x1344 ./Core/Src/bmm350.o - .debug_line 0x00004171 0x11a0 ./Core/Src/hw_timerserver.o - .debug_line 0x00005311 0x1404 ./Core/Src/main.o - .debug_line 0x00006715 0x110e ./Core/Src/sensors.o - .debug_line 0x00007823 0xea3 ./Core/Src/stm32wbxx_hal_msp.o - .debug_line 0x000086c6 0x882 ./Core/Src/stm32wbxx_hal_timebase_tim.o - .debug_line 0x00008f48 0xc8b ./Core/Src/stm32wbxx_it.o - .debug_line 0x00009bd3 0x7b9 ./Core/Src/syscalls.o - .debug_line 0x0000a38c 0x495 ./Core/Src/sysmem.o - .debug_line 0x0000a821 0x8a6 ./Core/Src/system_stm32wbxx.o - .debug_line 0x0000b0c7 0x83 ./Core/Startup/startup_stm32wb55rgvx.o - .debug_line 0x0000b14a 0x1070 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - .debug_line 0x0000c1ba 0xd53 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - .debug_line 0x0000cf0d 0xf3e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - .debug_line 0x0000de4b 0xc1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - .debug_line 0x0000ea65 0x95d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o - .debug_line 0x0000f3c2 0x37f7 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - .debug_line 0x00012bb9 0x957 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o - .debug_line 0x00013510 0xb7d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - .debug_line 0x0001408d 0x13b3 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - .debug_line 0x00015440 0x97a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o - .debug_line 0x00015dba 0xa90 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o - .debug_line 0x0001684a 0x1192 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o - .debug_line 0x000179dc 0x1b0a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - .debug_line 0x000194e6 0x1fc3 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o - .debug_line 0x0001b4a9 0x121d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - .debug_line 0x0001c6c6 0x14de ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o - .debug_line 0x0001dba4 0x20d9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .debug_line 0x0001fc7d 0x3cb8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - .debug_line 0x00023935 0x1c03 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - .debug_line 0x00025538 0x10b1 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - .debug_line 0x000265e9 0xf30 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_line 0x00027519 0xfe8 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_line 0x00028501 0x11c7 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_line 0x000296c8 0xaef ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_line 0x0002a1b7 0xf98 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - .debug_line 0x0002b14f 0x77c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - .debug_line 0x0002b8cb 0x58a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o - .debug_line 0x0002be55 0xf0f ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - .debug_line 0x0002cd64 0xb04 ./Middlewares/ST/STM32_WPAN/utilities/otp.o - .debug_line 0x0002d868 0xeb4 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - .debug_line 0x0002e71c 0x23f0 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_line 0x00030b0c 0x69f ./Middlewares/Third_Party/FreeRTOS/Source/list.o - .debug_line 0x000311ab 0x1779 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_line 0x00032924 0x1da9 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_line 0x000346cd 0xd11 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_line 0x000353de 0x751 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .debug_line 0x00035b2f 0x916 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .debug_line 0x00036445 0x1147 ./STM32_WPAN/Target/hw_ipcc.o - .debug_line 0x0003758c 0xab5 ./USB_Device/App/usb_device.o - .debug_line 0x00038041 0xb08 ./USB_Device/App/usbd_cdc_if.o - .debug_line 0x00038b49 0xb5e ./USB_Device/App/usbd_desc.o - .debug_line 0x000396a7 0x10f3 ./USB_Device/Target/usbd_conf.o - .debug_line 0x0003a79a 0xc29 ./Utilities/lpm/tiny_lpm/stm32_lpm.o +.debug_line 0x00000000 0x3c367 + .debug_line 0x00000000 0xe6c ./Core/Src/MadgwickAHRS.o + .debug_line 0x00000e6c 0xd19 ./Core/Src/app_debug.o + .debug_line 0x00001b85 0x1350 ./Core/Src/app_entry.o + .debug_line 0x00002ed5 0xbf7 ./Core/Src/app_freertos.o + .debug_line 0x00003acc 0x1344 ./Core/Src/bmm350.o + .debug_line 0x00004e10 0x11a0 ./Core/Src/hw_timerserver.o + .debug_line 0x00005fb0 0x1430 ./Core/Src/main.o + .debug_line 0x000073e0 0x1182 ./Core/Src/sensors.o + .debug_line 0x00008562 0xebf ./Core/Src/stm32wbxx_hal_msp.o + .debug_line 0x00009421 0x882 ./Core/Src/stm32wbxx_hal_timebase_tim.o + .debug_line 0x00009ca3 0xc8b ./Core/Src/stm32wbxx_it.o + .debug_line 0x0000a92e 0x7b9 ./Core/Src/syscalls.o + .debug_line 0x0000b0e7 0x495 ./Core/Src/sysmem.o + .debug_line 0x0000b57c 0x8a6 ./Core/Src/system_stm32wbxx.o + .debug_line 0x0000be22 0x83 ./Core/Startup/startup_stm32wb55rgvx.o + .debug_line 0x0000bea5 0x1070 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + .debug_line 0x0000cf15 0xd53 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + .debug_line 0x0000dc68 0xf3e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + .debug_line 0x0000eba6 0xc1a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + .debug_line 0x0000f7c0 0x95d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + .debug_line 0x0001011d 0x37f7 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + .debug_line 0x00013914 0x957 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + .debug_line 0x0001426b 0xb7d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + .debug_line 0x00014de8 0x13b3 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + .debug_line 0x0001619b 0x97a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + .debug_line 0x00016b15 0xa90 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + .debug_line 0x000175a5 0x1192 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + .debug_line 0x00018737 0x1b0a ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + .debug_line 0x0001a241 0x1fc3 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + .debug_line 0x0001c204 0x121d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + .debug_line 0x0001d421 0x14de ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + .debug_line 0x0001e8ff 0x20d9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + .debug_line 0x000209d8 0x3cb8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + .debug_line 0x00024690 0x1c03 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + .debug_line 0x00026293 0x10b1 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + .debug_line 0x00027344 0xf30 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_line 0x00028274 0xfe8 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_line 0x0002925c 0x11c7 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_line 0x0002a423 0xaef ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_line 0x0002af12 0xf98 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + .debug_line 0x0002beaa 0x77c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + .debug_line 0x0002c626 0x58a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + .debug_line 0x0002cbb0 0xf0f ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + .debug_line 0x0002dabf 0xb04 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + .debug_line 0x0002e5c3 0xeb4 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + .debug_line 0x0002f477 0x2435 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_line 0x000318ac 0x6bf ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_line 0x00031f6b 0x1799 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_line 0x00033704 0x1df6 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_line 0x000354fa 0xd31 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_line 0x0003622b 0x888 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_line 0x00036ab3 0x936 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_line 0x000373e9 0x1147 ./STM32_WPAN/Target/hw_ipcc.o + .debug_line 0x00038530 0xab5 ./USB_Device/App/usb_device.o + .debug_line 0x00038fe5 0xb08 ./USB_Device/App/usbd_cdc_if.o + .debug_line 0x00039aed 0xb5e ./USB_Device/App/usbd_desc.o + .debug_line 0x0003a64b 0x10f3 ./USB_Device/Target/usbd_conf.o + .debug_line 0x0003b73e 0xc29 ./Utilities/lpm/tiny_lpm/stm32_lpm.o -.debug_str 0x00000000 0x11291c - .debug_str 0x00000000 0x11291c ./Core/Src/MadgwickAHRS.o +.debug_str 0x00000000 0x112f33 + .debug_str 0x00000000 0x112f33 ./Core/Src/MadgwickAHRS.o 0x765e (size before relaxing) - .debug_str 0x0011291c 0xea7cf ./Core/Src/app_debug.o - .debug_str 0x0011291c 0xf4737 ./Core/Src/app_entry.o - .debug_str 0x0011291c 0xb3c5 ./Core/Src/bmm350.o - .debug_str 0x0011291c 0xe8476 ./Core/Src/hw_timerserver.o - .debug_str 0x0011291c 0xf2a34 ./Core/Src/main.o - .debug_str 0x0011291c 0xf058a ./Core/Src/sensors.o - .debug_str 0x0011291c 0xe9379 ./Core/Src/stm32wbxx_hal_msp.o - .debug_str 0x0011291c 0xdebf9 ./Core/Src/stm32wbxx_hal_timebase_tim.o - .debug_str 0x0011291c 0xe8975 ./Core/Src/stm32wbxx_it.o - .debug_str 0x0011291c 0x995b ./Core/Src/syscalls.o - .debug_str 0x0011291c 0x7705 ./Core/Src/sysmem.o - .debug_str 0x0011291c 0xde0f7 ./Core/Src/system_stm32wbxx.o - .debug_str 0x0011291c 0x7d ./Core/Startup/startup_stm32wb55rgvx.o - .debug_str 0x0011291c 0xdefdd ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - .debug_str 0x0011291c 0xde795 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - .debug_str 0x0011291c 0xde3bf ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - .debug_str 0x0011291c 0xde0d1 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - .debug_str 0x0011291c 0xddfad ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o - .debug_str 0x0011291c 0xdf314 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - .debug_str 0x0011291c 0xde506 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o - .debug_str 0x0011291c 0xde206 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - .debug_str 0x0011291c 0xde77d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - .debug_str 0x0011291c 0xde3b9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o - .debug_str 0x0011291c 0xde567 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o - .debug_str 0x0011291c 0xdea68 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o - .debug_str 0x0011291c 0xdef55 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - .debug_str 0x0011291c 0xdf37e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o - .debug_str 0x0011291c 0xde4b2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - .debug_str 0x0011291c 0xde7c9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o - .debug_str 0x0011291c 0xde92e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .debug_str 0x0011291c 0xdf473 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - .debug_str 0x0011291c 0xdeee5 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - .debug_str 0x0011291c 0xde2ba ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - .debug_str 0x0011291c 0xe2f63 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_str 0x0011291c 0xe2905 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_str 0x0011291c 0xe2730 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_str 0x0011291c 0xe2605 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_str 0x0011291c 0xe5bd3 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - .debug_str 0x0011291c 0x900a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - .debug_str 0x0011291c 0x8bac ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o - .debug_str 0x0011291c 0xe8cf6 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - .debug_str 0x0011291c 0xe77b8 ./Middlewares/ST/STM32_WPAN/utilities/otp.o - .debug_str 0x0011291c 0xe79ad ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - .debug_str 0x0011291c 0xea09a ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_str 0x0011291c 0xb35a ./Middlewares/Third_Party/FreeRTOS/Source/list.o - .debug_str 0x0011291c 0xde20 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_str 0x0011291c 0xe63c ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_str 0x0011291c 0xe0ba ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_str 0x0011291c 0x9bf6 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .debug_str 0x0011291c 0xcbaf ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .debug_str 0x0011291c 0xe8be5 ./STM32_WPAN/Target/hw_ipcc.o - .debug_str 0x0011291c 0xe29b9 ./USB_Device/App/usb_device.o - .debug_str 0x0011291c 0xe29f8 ./USB_Device/App/usbd_cdc_if.o - .debug_str 0x0011291c 0xe24e4 ./USB_Device/App/usbd_desc.o - .debug_str 0x0011291c 0xe9e18 ./USB_Device/Target/usbd_conf.o - .debug_str 0x0011291c 0xe70bb ./Utilities/lpm/tiny_lpm/stm32_lpm.o + .debug_str 0x00112f33 0xea835 ./Core/Src/app_debug.o + .debug_str 0x00112f33 0xf479d ./Core/Src/app_entry.o + .debug_str 0x00112f33 0xec572 ./Core/Src/app_freertos.o + .debug_str 0x00112f33 0xb3c5 ./Core/Src/bmm350.o + .debug_str 0x00112f33 0xe84dc ./Core/Src/hw_timerserver.o + .debug_str 0x00112f33 0xf2ba0 ./Core/Src/main.o + .debug_str 0x00112f33 0xf0683 ./Core/Src/sensors.o + .debug_str 0x00112f33 0xe9467 ./Core/Src/stm32wbxx_hal_msp.o + .debug_str 0x00112f33 0xdebf9 ./Core/Src/stm32wbxx_hal_timebase_tim.o + .debug_str 0x00112f33 0xe89db ./Core/Src/stm32wbxx_it.o + .debug_str 0x00112f33 0x995b ./Core/Src/syscalls.o + .debug_str 0x00112f33 0x7705 ./Core/Src/sysmem.o + .debug_str 0x00112f33 0xde0f7 ./Core/Src/system_stm32wbxx.o + .debug_str 0x00112f33 0x7d ./Core/Startup/startup_stm32wb55rgvx.o + .debug_str 0x00112f33 0xdefdd ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + .debug_str 0x00112f33 0xde795 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + .debug_str 0x00112f33 0xde3bf ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + .debug_str 0x00112f33 0xde0d1 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + .debug_str 0x00112f33 0xddfad ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + .debug_str 0x00112f33 0xdf314 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + .debug_str 0x00112f33 0xde506 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + .debug_str 0x00112f33 0xde206 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + .debug_str 0x00112f33 0xde77d ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + .debug_str 0x00112f33 0xde3b9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + .debug_str 0x00112f33 0xde567 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + .debug_str 0x00112f33 0xdea68 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + .debug_str 0x00112f33 0xdef55 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + .debug_str 0x00112f33 0xdf37e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + .debug_str 0x00112f33 0xde4b2 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + .debug_str 0x00112f33 0xde7c9 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + .debug_str 0x00112f33 0xde92e ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + .debug_str 0x00112f33 0xdf473 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + .debug_str 0x00112f33 0xdeee5 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + .debug_str 0x00112f33 0xde2ba ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + .debug_str 0x00112f33 0xe2f63 ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_str 0x00112f33 0xe2905 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_str 0x00112f33 0xe2730 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_str 0x00112f33 0xe2605 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_str 0x00112f33 0xe5bd3 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + .debug_str 0x00112f33 0x900a ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + .debug_str 0x00112f33 0x8bac ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + .debug_str 0x00112f33 0xe8d5c ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + .debug_str 0x00112f33 0xe781e ./Middlewares/ST/STM32_WPAN/utilities/otp.o + .debug_str 0x00112f33 0xe7a13 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + .debug_str 0x00112f33 0xea518 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_str 0x00112f33 0xb483 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_str 0x00112f33 0xdf49 ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_str 0x00112f33 0xec62 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_str 0x00112f33 0xe502 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_str 0x00112f33 0xce41 ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_str 0x00112f33 0xccd8 ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_str 0x00112f33 0xe8c4b ./STM32_WPAN/Target/hw_ipcc.o + .debug_str 0x00112f33 0xe29b9 ./USB_Device/App/usb_device.o + .debug_str 0x00112f33 0xe29f8 ./USB_Device/App/usbd_cdc_if.o + .debug_str 0x00112f33 0xe24e4 ./USB_Device/App/usbd_desc.o + .debug_str 0x00112f33 0xe9e7e ./USB_Device/Target/usbd_conf.o + .debug_str 0x00112f33 0xe7121 ./Utilities/lpm/tiny_lpm/stm32_lpm.o .comment 0x00000000 0x43 .comment 0x00000000 0x43 ./Core/Src/MadgwickAHRS.o 0x44 (size before relaxing) .comment 0x00000043 0x44 ./Core/Src/app_debug.o .comment 0x00000043 0x44 ./Core/Src/app_entry.o + .comment 0x00000043 0x44 ./Core/Src/app_freertos.o .comment 0x00000043 0x44 ./Core/Src/bmm350.o .comment 0x00000043 0x44 ./Core/Src/hw_timerserver.o .comment 0x00000043 0x44 ./Core/Src/main.o @@ -17454,130 +17566,130 @@ LOAD /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools- .comment 0x00000043 0x44 ./USB_Device/Target/usbd_conf.o .comment 0x00000043 0x44 ./Utilities/lpm/tiny_lpm/stm32_lpm.o -.debug_frame 0x00000000 0xee1c +.debug_frame 0x00000000 0xee28 .debug_frame 0x00000000 0xa8 ./Core/Src/MadgwickAHRS.o .debug_frame 0x000000a8 0x100 ./Core/Src/app_debug.o .debug_frame 0x000001a8 0x3e4 ./Core/Src/app_entry.o - .debug_frame 0x0000058c 0x504 ./Core/Src/bmm350.o - .debug_frame 0x00000a90 0x298 ./Core/Src/hw_timerserver.o - .debug_frame 0x00000d28 0x2f4 ./Core/Src/main.o - .debug_frame 0x0000101c 0x2a0 ./Core/Src/sensors.o - .debug_frame 0x000012bc 0x2ec ./Core/Src/stm32wbxx_hal_msp.o - .debug_frame 0x000015a8 0x90 ./Core/Src/stm32wbxx_hal_timebase_tim.o - .debug_frame 0x00001638 0x210 ./Core/Src/stm32wbxx_it.o - .debug_frame 0x00001848 0x288 ./Core/Src/syscalls.o - .debug_frame 0x00001ad0 0x34 ./Core/Src/sysmem.o - .debug_frame 0x00001b04 0x50 ./Core/Src/system_stm32wbxx.o - .debug_frame 0x00001b54 0x96c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o - .debug_frame 0x000024c0 0x454 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o - .debug_frame 0x00002914 0x22c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o - .debug_frame 0x00002b40 0x154 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o - .debug_frame 0x00002c94 0x194 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o - .debug_frame 0x00002e28 0xbe8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o - .debug_frame 0x00003a10 0xe8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o - .debug_frame 0x00003af8 0x274 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o - .debug_frame 0x00003d6c 0x530 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o - .debug_frame 0x0000429c 0x130 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o - .debug_frame 0x000043cc 0x2f4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o - .debug_frame 0x000046c0 0x9e8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o - .debug_frame 0x000050a8 0x91c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o - .debug_frame 0x000059c4 0xdf8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o - .debug_frame 0x000067bc 0x3c8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o - .debug_frame 0x00006b84 0x544 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o - .debug_frame 0x000070c8 0x820 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o - .debug_frame 0x000078e8 0x1144 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o - .debug_frame 0x00008a2c 0x6b4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o - .debug_frame 0x000090e0 0x32c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o - .debug_frame 0x0000940c 0x22c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o - .debug_frame 0x00009638 0x370 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o - .debug_frame 0x000099a8 0x234 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o - .debug_frame 0x00009bdc 0x10c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o - .debug_frame 0x00009ce8 0x4b4 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o - .debug_frame 0x0000a19c 0x170 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o - .debug_frame 0x0000a30c 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o - .debug_frame 0x0000a340 0x270 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o - .debug_frame 0x0000a5b0 0x34 ./Middlewares/ST/STM32_WPAN/utilities/otp.o - .debug_frame 0x0000a5e4 0x1c0 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o - .debug_frame 0x0000a7a4 0xbc4 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o - .debug_frame 0x0000b368 0xc4 ./Middlewares/Third_Party/FreeRTOS/Source/list.o - .debug_frame 0x0000b42c 0x62c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o - .debug_frame 0x0000ba58 0x8d4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o - .debug_frame 0x0000c32c 0x444 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o - .debug_frame 0x0000c770 0x18c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o - .debug_frame 0x0000c8fc 0x13c ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o - .debug_frame 0x0000ca38 0x4b0 ./STM32_WPAN/Target/hw_ipcc.o - .debug_frame 0x0000cee8 0x2c ./USB_Device/App/usb_device.o - .debug_frame 0x0000cf14 0xd8 ./USB_Device/App/usbd_cdc_if.o - .debug_frame 0x0000cfec 0x154 ./USB_Device/App/usbd_desc.o - .debug_frame 0x0000d140 0x518 ./USB_Device/Target/usbd_conf.o - .debug_frame 0x0000d658 0xd8 ./Utilities/lpm/tiny_lpm/stm32_lpm.o - .debug_frame 0x0000d730 0x90 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) - .debug_frame 0x0000d7c0 0x60 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_frame 0x0000d820 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) - .debug_frame 0x0000d860 0x144 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .debug_frame 0x0000d9a4 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_frame 0x0000d9d8 0x64 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) - .debug_frame 0x0000da3c 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-puts.o) - .debug_frame 0x0000da78 0x74 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) - .debug_frame 0x0000daec 0x88 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .debug_frame 0x0000db74 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_frame 0x0000dbb4 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_frame 0x0000dbe0 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - .debug_frame 0x0000dc00 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-localeconv.o) - .debug_frame 0x0000dc40 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - .debug_frame 0x0000dc6c 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .debug_frame 0x0000dca4 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_frame 0x0000dcd0 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - .debug_frame 0x0000dcfc 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - .debug_frame 0x0000dd28 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - .debug_frame 0x0000dd48 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - .debug_frame 0x0000dd74 0xb0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .debug_frame 0x0000de24 0x4c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memchr.o) - .debug_frame 0x0000de70 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_frame 0x0000de98 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strlen.o) - .debug_frame 0x0000deb8 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-sf_nan.o) - .debug_frame 0x0000ded8 0x6c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) - .debug_frame 0x0000df44 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - .debug_frame 0x0000df7c 0x30 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-malloc.o) - .debug_frame 0x0000dfac 0x50 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_frame 0x0000dffc 0x30 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - .debug_frame 0x0000e02c 0x264 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) - .debug_frame 0x0000e290 0x11c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) - .debug_frame 0x0000e3ac 0x64 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtol.o) - .debug_frame 0x0000e410 0x90 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) - .debug_frame 0x0000e4a0 0xa0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_frame 0x0000e540 0x5c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .debug_frame 0x0000e59c 0x58 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_frame 0x0000e5f4 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) - .debug_frame 0x0000e61c 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strncmp.o) - .debug_frame 0x0000e644 0x48 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) - .debug_frame 0x0000e68c 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_frame 0x0000e6b8 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_frame 0x0000e6e4 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_frame 0x0000e710 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-s_nan.o) - .debug_frame 0x0000e730 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) - .debug_frame 0x0000e770 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-callocr.o) - .debug_frame 0x0000e79c 0x74 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) - .debug_frame 0x0000e810 0x78 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) - .debug_frame 0x0000e888 0x44 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mbtowc_r.o) - .debug_frame 0x0000e8cc 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_frame 0x0000e908 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wctomb_r.o) - .debug_frame 0x0000e940 0x5c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_frame 0x0000e99c 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) - .debug_frame 0x0000e9c4 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-msizer.o) - .debug_frame 0x0000e9e4 0xcc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signal.o) - .debug_frame 0x0000eab0 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o) - .debug_frame 0x0000eaec 0x48 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-w_sqrt.o) - .debug_frame 0x0000eb34 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-e_sqrt.o) - .debug_frame 0x0000eb6c 0xac /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_addsubdf3.o) - .debug_frame 0x0000ec18 0x50 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_muldivdf3.o) - .debug_frame 0x0000ec68 0xc4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_cmpdf2.o) - .debug_frame 0x0000ed2c 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_unorddf2.o) - .debug_frame 0x0000ed4c 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_fixdfsi.o) - .debug_frame 0x0000ed70 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_fixunsdfsi.o) - .debug_frame 0x0000ed94 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_truncdfsf2.o) - .debug_frame 0x0000edb8 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_fixdfdi.o) - .debug_frame 0x0000edf0 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_fixunsdfdi.o) + .debug_frame 0x0000058c 0x2c ./Core/Src/app_freertos.o + .debug_frame 0x000005b8 0x504 ./Core/Src/bmm350.o + .debug_frame 0x00000abc 0x298 ./Core/Src/hw_timerserver.o + .debug_frame 0x00000d54 0x2f4 ./Core/Src/main.o + .debug_frame 0x00001048 0x27c ./Core/Src/sensors.o + .debug_frame 0x000012c4 0x310 ./Core/Src/stm32wbxx_hal_msp.o + .debug_frame 0x000015d4 0x90 ./Core/Src/stm32wbxx_hal_timebase_tim.o + .debug_frame 0x00001664 0x210 ./Core/Src/stm32wbxx_it.o + .debug_frame 0x00001874 0x288 ./Core/Src/syscalls.o + .debug_frame 0x00001afc 0x34 ./Core/Src/sysmem.o + .debug_frame 0x00001b30 0x50 ./Core/Src/system_stm32wbxx.o + .debug_frame 0x00001b80 0x96c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.o + .debug_frame 0x000024ec 0x454 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.o + .debug_frame 0x00002940 0x22c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.o + .debug_frame 0x00002b6c 0x154 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.o + .debug_frame 0x00002cc0 0x194 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_hsem.o + .debug_frame 0x00002e54 0xbe8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c.o + .debug_frame 0x00003a3c 0xe8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_i2c_ex.o + .debug_frame 0x00003b24 0x274 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_ipcc.o + .debug_frame 0x00003d98 0x530 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd.o + .debug_frame 0x000042c8 0x130 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pcd_ex.o + .debug_frame 0x000043f8 0x2f4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.o + .debug_frame 0x000046ec 0x9e8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.o + .debug_frame 0x000050d4 0x91c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.o + .debug_frame 0x000059f0 0xdf8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.o + .debug_frame 0x000067e8 0x3c8 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.o + .debug_frame 0x00006bb0 0x544 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc_ex.o + .debug_frame 0x000070f4 0x820 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_spi.o + .debug_frame 0x00007914 0x1144 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.o + .debug_frame 0x00008a58 0x6b4 ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.o + .debug_frame 0x0000910c 0x32c ./Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usb.o + .debug_frame 0x00009438 0x22c ./Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.o + .debug_frame 0x00009664 0x370 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.o + .debug_frame 0x000099d4 0x234 ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.o + .debug_frame 0x00009c08 0x10c ./Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.o + .debug_frame 0x00009d14 0x4b4 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.o + .debug_frame 0x0000a1c8 0x170 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.o + .debug_frame 0x0000a338 0x34 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.o + .debug_frame 0x0000a36c 0x270 ./Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.o + .debug_frame 0x0000a5dc 0x34 ./Middlewares/ST/STM32_WPAN/utilities/otp.o + .debug_frame 0x0000a610 0x1c0 ./Middlewares/ST/STM32_WPAN/utilities/stm_list.o + .debug_frame 0x0000a7d0 0xbe0 ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o + .debug_frame 0x0000b3b0 0xc4 ./Middlewares/Third_Party/FreeRTOS/Source/list.o + .debug_frame 0x0000b474 0x62c ./Middlewares/Third_Party/FreeRTOS/Source/queue.o + .debug_frame 0x0000baa0 0x8d4 ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o + .debug_frame 0x0000c374 0x444 ./Middlewares/Third_Party/FreeRTOS/Source/timers.o + .debug_frame 0x0000c7b8 0x18c ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o + .debug_frame 0x0000c944 0x13c ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o + .debug_frame 0x0000ca80 0x4b0 ./STM32_WPAN/Target/hw_ipcc.o + .debug_frame 0x0000cf30 0x2c ./USB_Device/App/usb_device.o + .debug_frame 0x0000cf5c 0xd8 ./USB_Device/App/usbd_cdc_if.o + .debug_frame 0x0000d034 0x154 ./USB_Device/App/usbd_desc.o + .debug_frame 0x0000d188 0x518 ./USB_Device/Target/usbd_conf.o + .debug_frame 0x0000d6a0 0xd8 ./Utilities/lpm/tiny_lpm/stm32_lpm.o + .debug_frame 0x0000d778 0x90 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_float.o) + .debug_frame 0x0000d808 0x60 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + .debug_frame 0x0000d868 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfscanf_float.o) + .debug_frame 0x0000d8a8 0x144 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) + .debug_frame 0x0000d9ec 0x34 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_frame 0x0000da20 0x64 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-printf.o) + .debug_frame 0x0000da84 0x74 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sprintf.o) + .debug_frame 0x0000daf8 0x88 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) + .debug_frame 0x0000db80 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) + .debug_frame 0x0000dba0 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-localeconv.o) + .debug_frame 0x0000dbe0 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) + .debug_frame 0x0000dc0c 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) + .debug_frame 0x0000dc44 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_frame 0x0000dc70 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) + .debug_frame 0x0000dc9c 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) + .debug_frame 0x0000dcc8 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) + .debug_frame 0x0000dce8 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) + .debug_frame 0x0000dd14 0xb0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) + .debug_frame 0x0000ddc4 0x4c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memchr.o) + .debug_frame 0x0000de10 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memcpy-stub.o) + .debug_frame 0x0000de38 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strlen.o) + .debug_frame 0x0000de58 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-sf_nan.o) + .debug_frame 0x0000de78 0x6c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-dtoa.o) + .debug_frame 0x0000dee4 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) + .debug_frame 0x0000df1c 0x30 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-malloc.o) + .debug_frame 0x0000df4c 0x50 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_frame 0x0000df9c 0x30 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) + .debug_frame 0x0000dfcc 0x264 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mprec.o) + .debug_frame 0x0000e230 0x11c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtod.o) + .debug_frame 0x0000e34c 0x64 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strtol.o) + .debug_frame 0x0000e3b0 0x90 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + .debug_frame 0x0000e440 0xa0 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-nano-vfprintf.o) + .debug_frame 0x0000e4e0 0x5c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) + .debug_frame 0x0000e53c 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wbuf.o) + .debug_frame 0x0000e57c 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wsetup.o) + .debug_frame 0x0000e5a8 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memmove.o) + .debug_frame 0x0000e5d0 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-strncmp.o) + .debug_frame 0x0000e5f8 0x48 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-locale.o) + .debug_frame 0x0000e640 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_frame 0x0000e66c 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libm_a-s_nan.o) + .debug_frame 0x0000e68c 0x40 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-assert.o) + .debug_frame 0x0000e6cc 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-callocr.o) + .debug_frame 0x0000e6f8 0x74 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-gethex.o) + .debug_frame 0x0000e76c 0x78 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-gdtoa-hexnan.o) + .debug_frame 0x0000e7e4 0x44 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mbtowc_r.o) + .debug_frame 0x0000e828 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reallocr.o) + .debug_frame 0x0000e864 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-wctomb_r.o) + .debug_frame 0x0000e89c 0x5c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fprintf.o) + .debug_frame 0x0000e8f8 0x58 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-makebuf.o) + .debug_frame 0x0000e950 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o) + .debug_frame 0x0000e97c 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o) + .debug_frame 0x0000e9a8 0x28 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o) + .debug_frame 0x0000e9d0 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-msizer.o) + .debug_frame 0x0000e9f0 0xcc /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signal.o) + .debug_frame 0x0000eabc 0x3c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o) + .debug_frame 0x0000eaf8 0x48 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-w_sqrt.o) + .debug_frame 0x0000eb40 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a(libm_a-e_sqrt.o) + .debug_frame 0x0000eb78 0xac /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_addsubdf3.o) + .debug_frame 0x0000ec24 0x50 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_muldivdf3.o) + .debug_frame 0x0000ec74 0xc4 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_cmpdf2.o) + .debug_frame 0x0000ed38 0x20 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_unorddf2.o) + .debug_frame 0x0000ed58 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_fixdfsi.o) + .debug_frame 0x0000ed7c 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_fixunsdfsi.o) + .debug_frame 0x0000eda0 0x24 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_arm_truncdfsf2.o) + .debug_frame 0x0000edc4 0x38 /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_fixdfdi.o) + .debug_frame 0x0000edfc 0x2c /opt/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/libgcc.a(_fixunsdfdi.o) .debug_line_str 0x00000000 0x61 diff --git a/Debug/USB_Device/Target/usbd_conf.o b/Debug/USB_Device/Target/usbd_conf.o index 6bd46d037f5617e79af5afe33c7b14c4e789f41f..09bdd0b5e265f723dcf060087154aae3f7c6182d 100644 GIT binary patch delta 148785 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

        8C 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 delta 141029 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𝔗gwPy%h}{MtCO@X8`oQ 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 diff --git a/Trinity_Devboard_V2.ioc b/Trinity_Devboard_V2.ioc index e4f7461..5682569 100644 --- a/Trinity_Devboard_V2.ioc +++ b/Trinity_Devboard_V2.ioc @@ -76,15 +76,18 @@ Dma.SPI1_TX.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT Dma.SPI1_TX.0.SyncRequestNumber=1 Dma.SPI1_TX.0.SyncSignalID=NONE FREERTOS.FootprintOK=true -FREERTOS.IPParameters=Tasks01,configMINIMAL_STACK_SIZE,FootprintOK,configTOTAL_HEAP_SIZE,Queues01 +FREERTOS.IPParameters=Tasks01,configMINIMAL_STACK_SIZE,FootprintOK,configTOTAL_HEAP_SIZE,Queues01,configCHECK_FOR_STACK_OVERFLOW,configUSE_NEWLIB_REENTRANT FREERTOS.Queues01=Q_ICM,1,ICM45686_Data,0,Dynamic,NULL,NULL;Q_BMM,1,struct bmm350_mag_temp_data,0,Dynamic,NULL,NULL FREERTOS.Tasks01=Task_DataAnalys,24,512,Start_DataAnalysis,Default,NULL,Dynamic,NULL,NULL;Task_ICM45686,24,512,Start_ICM45686,Default,NULL,Dynamic,NULL,NULL;Task_BMM350,24,512,Start_BMM350,Default,NULL,Dynamic,NULL,NULL +FREERTOS.configCHECK_FOR_STACK_OVERFLOW=2 FREERTOS.configMINIMAL_STACK_SIZE=512 FREERTOS.configTOTAL_HEAP_SIZE=64000 +FREERTOS.configUSE_NEWLIB_REENTRANT=1 File.Version=6 GPIO.groupedBy=Group By Peripherals -I2C1.IPParameters=Timing -I2C1.Timing=0x10B17DB5 +I2C1.I2C_Speed_Mode=I2C_Fast +I2C1.IPParameters=Timing,I2C_Speed_Mode +I2C1.Timing=0x00C12166 KeepUserPlacement=false MMTAppReg1.MEMORYMAP.AppRegionName=RAM MMTAppReg1.MEMORYMAP.ContextName=Cortex-M4NS @@ -229,12 +232,17 @@ PA1.GPIOParameters=GPIO_Label PA1.GPIO_Label=GPIO_STATUS_LED PA1.Locked=true PA1.Signal=S_TIM2_CH2 -PA10.GPIOParameters=GPIO_Label +PA10.GPIOParameters=GPIO_PuPd,GPIO_Label PA10.GPIO_Label=GPIO_IMU_INT +PA10.GPIO_PuPd=GPIO_NOPULL PA10.Locked=true PA10.Signal=GPXTI10 +PA11.GPIOParameters=GPIO_Speed +PA11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH PA11.Mode=Device PA11.Signal=USB_DM +PA12.GPIOParameters=GPIO_Speed +PA12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH PA12.Mode=Device PA12.Signal=USB_DP PA13.Mode=Trace_Asynchronous_SW @@ -272,8 +280,14 @@ PA9.Mode=Full_Duplex_Master PA9.Signal=SPI2_SCK PB3.Mode=Trace_Asynchronous_SW PB3.Signal=SYS_JTDO-SWO +PB8.GPIOParameters=GPIO_Speed,GPIO_FM8 +PB8.GPIO_FM8=SYSCFG_FASTMODEPLUS_PB8 +PB8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH PB8.Mode=I2C PB8.Signal=I2C1_SCL +PB9.GPIOParameters=GPIO_Speed,GPIO_FM9 +PB9.GPIO_FM9=SYSCFG_FASTMODEPLUS_PB9 +PB9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH PB9.Mode=I2C PB9.Signal=I2C1_SDA PC1.GPIOParameters=GPIO_Speed,GPIO_Label @@ -425,10 +439,10 @@ SH.S_TIM2_CH2.0=TIM2_CH2,PWM Generation2 CH2 SH.S_TIM2_CH2.ConfNb=1 SH.S_TIM2_CH3.0=TIM2_CH3,PWM Generation3 CH3 SH.S_TIM2_CH3.ConfNb=1 -SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_64 +SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_16 SPI1.CLKPhase=SPI_PHASE_2EDGE SPI1.CLKPolarity=SPI_POLARITY_HIGH -SPI1.CalculateBaudRate=1000.0 KBits/s +SPI1.CalculateBaudRate=4.0 MBits/s SPI1.DataSize=SPI_DATASIZE_8BIT SPI1.Direction=SPI_DIRECTION_2LINES SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRatePrescaler,CLKPhase,CLKPolarity @@ -441,7 +455,8 @@ SPI2.Mode=SPI_MODE_MASTER SPI2.VirtualType=VM_MASTER STM32_WPAN.BT_SIG_HEART_RATE_SENSOR=Disabled STM32_WPAN.CFG_BONDING_MODE=0 -STM32_WPAN.IPParameters=BT_SIG_HEART_RATE_SENSOR,CFG_BONDING_MODE +STM32_WPAN.CFG_LSCLK_LSE=0 +STM32_WPAN.IPParameters=BT_SIG_HEART_RATE_SENSOR,CFG_BONDING_MODE,CFG_LSCLK_LSE TIM2.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 TIM2.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 TIM2.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 diff --git a/USB_Device/Target/usbd_conf.c b/USB_Device/Target/usbd_conf.c index f2b07be..df2cfc8 100644 --- a/USB_Device/Target/usbd_conf.c +++ b/USB_Device/Target/usbd_conf.c @@ -103,7 +103,7 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF10_USB; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

        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 ofYFJIr{WZgb18BT%Sn(AuQ=#FP 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%0ALQ?+k+R3DwixpYFAZ0-Pk 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 F{vY{Kr;q>u delta 353451 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 v(yOkx{LK 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%0AEv<^oO>aN~iZ=Nm2@4!=Ss0b~Nxa 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 ){mSwg0~hh_At0@B#c2zJ$h5_5NR| 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 diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.su b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.su index 7c6fe85..444bb85 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.su +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.su @@ -80,5 +80,6 @@ ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2833:14:CreateBlock 24 static ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2850:14:AllocBlock 24 static ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2867:13:FreeBlock 24 static +../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2919:13:vApplicationStackOverflowHook 24 static,ignoring_inline_asm ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2934:13:vApplicationGetIdleTaskMemory 24 static ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:2948:13:vApplicationGetTimerTaskMemory 24 static diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.d index 917ef11..af3f97e 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/croutine.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h @@ -17,6 +18,7 @@ Middlewares/Third_Party/FreeRTOS/Source/croutine.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o index 4385b14d2fcff68bf293cfc1ee9158b8a9f801b3..0fd15caa645ffef1370a186a7a2f613a81c981c0 100644 GIT binary patch delta 31878 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 diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.d index a2c9c62..1050961 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/event_groups.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \ @@ -20,6 +21,7 @@ Middlewares/Third_Party/FreeRTOS/Source/event_groups.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o index e813bf9e479f1df2ff90962e42a21287d6ad7658..a0c17c9841db0d5946840ad239c42136d3b3ed44 100644 GIT binary patch delta 20402 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 delta 18954 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 diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.d index a46554b..a6ab4a8 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/list.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h ../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: ../Core/Inc/FreeRTOSConfig.h: @@ -15,4 +16,5 @@ Middlewares/Third_Party/FreeRTOS/Source/list.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o index 30dd0333423992a89faf8812346cfd2fbfccca00..ef66767549aa098e00891231d33c0b691d9b6aaf 100644 GIT binary patch delta 15247 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 z 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 delta 14941 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 QjuU0|56Zi{#fgId2Liq>L;wH) diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d index 24dc560..f09af0f 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h ../Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h: @@ -16,5 +17,6 @@ Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o index 48d9ac9529475e630a7d37181415dfd6da530aa6..58970db9d1261f4f97b169eee6a93ca102213669 100644 GIT binary patch delta 35640 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 Wt6k*a_Bo?v=_nSl`-8Ue&;J8x0*6}w delta 16517 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\h;d;YASe_>v@YJG9t-dgfP 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 WHSUez?v+;K!I{|A;twVyKK~CrIU-g7 delta 15578 zcmbuG2UJ$a7VpoT^6?3%h+RRz9xFuzR20QtLBwcOI*2GJ0+v`lu`8nDrylGT#SWq( zcI=3WCe}pLjIqXcP0-snk@;k+w?I(hvXim!y2J5?0_UH`454q9w_>)KQZDtYHnZX>3WFBuQ0OZB$aK zB%8Inqa{E+IS*i_Z}&@*`jr!;d94IYBr~%kCY5DvQ7*wI<0PPJd+MXhsNs+SwU<#p z)h2uxV74h;DoNE;j7#ePYa@5;uvXPDbWxp;qU>I6@LZ~NYmVOS>shEAn2mCmdIwQ9 z?SR|_}lC`rQ`4y1_{n$a$&NRrGfat*bthbJt$E|n$i*cnt}jHM(~ zD%#Z805ruaRA&D{-znAGQcpe+D@9{ zk)&hzhpjD@VVD$3jZLU5XT>N*2=Je*D(ywiN>%!Fm88EIcTLV3r+j{qsU6L|+*TcMP zEV?R1o|3erYzy(q8JyixR{1NjX5n5*%3^gX189TqawKWlKO2X}cc|T>& zVxKlgttGbZY=ZR<+mGb%)7D0I9;~MIW4rEbtaZIz?VeK+AhuBS9>gdFi^?LvdM?Bk zMQt3rhCE&@YBB6S0=mS0qp>qK!}{K?t6e|rPcEsi)X$q!(BIx!X_K)TKH1vZpqHd7 zc6OTi1coWL_L|LKPE@F9n94d-(&X;e4V7Cnck7kP)#X19SRYhwF5eq&t?J+*7q_=| zcWCP4^%2cgtF~6JJ!V(=P~|wQqpDi-)ZLi0WnHaa{|powD5~P=q*QR$Y}+5T<~Ve* z9fixLv~ttxePn&*;ARoawzAP&c1?h#QG@c^F}YVn`f2TR5hAVQ^>xtB&$6IhBN1G! zM|@pqziq|P{@YJO2Q0=BYC);Hpuw?-q$+7BN*fDEyA38CG=N*e{<4Hp| zkS2JL1|cmp>B&ygHQuECXb)1$XwuvZr0@9DY$cVGOr*grNF}(SNkzQfnJ?3zCAECf zo^&u$Mw1-Ilisk*CXB^Pq)9Jokrtato8XKz>Gm{Ir>3M!T9JB@+tMB0C%q??-4IVq z#NBwu9SFqfz_aC~4e)qr(lb6=)mc=&Z%3-FBKqV*}w=`*G3hAlVq#k_X zlP9RWa4~7~QquKqq`zB97xN{LMp8Ms326`B-gpv~3;4Dg;!#DwkCEQ?BF*$C{d$XJ z0iJK6%6?pRO{&Dt=5JprSL2I4-bQ85d8CbakozT2*^zIn*>NhT(4kA2lm=4x2-3OS zF@?vq*C=Y4ok)7|9H}p!Qce1^4xT+t`kC+R6P23Wxn^9VvdX>h$wOVbi(2{*Anlh= zYWalJV;||TaMG@Eq$L5Q-M9mVJfi1fsO2(Gy>Av!c{ty?59O;xvO7;rJ_AXo^01fk zJn-Qu^OjHjn5WFoL#dB5Ke-!rRKCSiwbKqN#||NF-JLXf3F%gTD1-3|YLY*XYYU!| zcFxo?jVHC`9ydEQpr*gL-???E{59|7%=39#61A-1E%$kOQ82YUCbhhg-_wm{Z8cPw1S^m>yFelw+HD9o*CX1sI2j@ zU&ULdNtc31i+M8U^Q~{+N-dQ$NdM+D+eTBlCclv3dwKaJ>4gcT0~_!(*~~-tq0tW7pacN4f*U(I)w*(EzcFREw#9BBUL+-hVrrS0_9x=q)WK>U1n2x7M=veCW=&v zBb72qYxLv!UoeI$4$DX@@-wTqh|0lLNr%iLb^eGnqYCL+9tjKgby^9vg!7jE{FeLk z8B+MM?&rQv=u3TOJCdH_aed6)J9nJt|0G-kEK`%T@i@}Y_&x5#cRkUbT877xrgLj- zK9yY=>7>b|!7^$7B+@55^;Vpta_1GK`)82edpd7-kj+zL!vZRoxRCm$kh=3-|D8 zcry0SruG|F(nI{P*7M_d%^#mnovHm-3!kDo-+N03YI5g+>diZi{)k!_4|rRiGK+YY z6!1w;ZXs*;qonV9k-p|fu!mX?O^vPO}v=A8}= zpz^Azq+9vvPV}U5iW6xSo>m_(r*eS8TTG;1Ws!#PoFAZ5c^bbdFV|B!p2zjQOy&K9 zNc-?3$o1p-zl1Mygik$_A4hxcWd$CtkN6a?PtmZW7fAcnCN1FpCGwtM@lbE_rFIXE z)RQ}~jvrYUp5RA$&+lrHwfhFrLL4;S|F{^cEa$m8YAuzcI+EVxFWn^GlFU;qr7N|! zKTkTcAL+C?r1K@xmfU0W3@U%xfi#~7|IiL9pKV3@@qW?-o(++qC|jfse3;ixGAuDJ z72ov+K1EM{>RXzUb;v%_gHfb2cmR`l|1JFNBQ{dIH$Q?meCw{gsiiSLru{shl#i*U z2A{JEcgdphW%`UKgKq(8EYIgt>!{q24;YD*G)ZYl9Fz1YlJq5y!Cdq=NpW*YN5V6c zR8mM9!AIpUpmK2vX|xOJDjbuGrb=rmHuKb#k?74g%;4%50&8Eb9zz#a2;R!3CIo_~S6uQ6I zP1^A+d9OFHK)&AsSSc^0w`;SUhU4K=xLl{rxL)oCbz4Qb(dd-|ZT>gKs#^*@V7=zk z>tN}94e7-PRScmtsq`(KSLHboqV*yxrhX-?eih&nYf9-`%3@uC%dGkc;4}7)7W$ku z$pEgf({x~0*^O1e7i`KT;7c}~0&?* zZHw|M1hpN?U3^4%%$lssMWN}vh0tboMnbJDVmz>%-H8QOu*Oq?m25A$ud`;YuMCjz*^Sr4A$7gI_w1u_y2F(Fzr=#VSu(z850Q{P@K!o({yAu z8Y(-|@z?21sqZ!cb84+y;)&7x?*>3aET<`GiBA_n7qK0*gKg|d1K=3b;U!LWN(wge z3;PLOxX&KhZBXz$L5c2l7)Gt_b;@tQMefjcTTVbb1W;o5SEU!P<8&`*r-t-ibU8wi z4{S^CWY-JWsYMHGycm`6nUpl6{RcqDETqtl+eH@<&n+~i;x=enN~Op<<1nl z`*J#NHeNhN%RiMrKMedw9(5XcBkS#fck%_wg7@-iI^4NR)J|ZYl28>`tn}{&ELWcF z2Xd5x5MaM@hrG62R~CALHFHRc9i0zkYTb%~4O$6BCPzCe1G$=|nLW5uYj+&jt4*e7B2Tl>%YHzc zMejnPHkD4TNK3%yO*^h7(7=;gI)$`Ydr8;(oc5AJa#K4P1l-al6K-pdE&+G7oAg9{ zqirJG)8G-(Lz^`cc%t31&`o%*b#D#4&~oUwUTQ67P$&Ga+O-4F8vJ3d8FI{M{hx1x z_DcTVANTZ)+yn9apAXi*UkaMvWLacciUpRj?2l1f&KT{nfTdBOkFw~Nz$vD#1xnZ} zy#IVtj{EkaP^0x`QI~I%pAE9|p^dUWfi^j`9@^|seQ1j~I;U1=PeI+s&VYKhpf%g{ zI16oSxl9j}?>U4;Yd?|(_+LUk@`d`pp|3+^ZZLEi`<^1UOODeAuBesy*z zP@pD|?SN_tqZ@NjEt(1(Qk(Py3e}$m0*BS%W}rxQpbL9M-8U3Csy3m4$JBdth^N#M zG;X2k2^~jAzffTRprer$*1EyC2K%vQ%j;hFHo&>D6`9Tv0VEzJ2n<{ps512z( zhG_MjMXzuN^I53>L5f=^Z;C?TKqqJ}>wF03&kxW%gHpdTziAG0B8=AmdDH$M@0OO& zrqca6z#PT^g{=M&;0O!dDps^TMP`e`oK$SQdH+&q3%Y-%mh_*4Os#%T#=l5!P5`bx&fQn`5nL>HpUq^ z#5T>rjt(=v`6B*$n2s>M{iBTU{}|&A9A~s^(`m*XIm5^k9(G$xS_Deftwqq<+vqK* z+m<%()}Bti(TUp7CZCWCEf3M{_UNucz3$UX;dkd8)W0L8LMP{a(5`{Yp}p2yq5Uhl zLPKnDY4}n#m(eWFNeHyo;7ShkqnLs8{r67bi4poKntGk92@R>@2c5xO=wVA|N9d85 z$=){wvRTu?z$*6A0a(qN)1;f(+`YgSHkZCdV}M(7aW?Rcd?yI_R{p9Za8GVk z1$ZD2rx-q!_tAjgWG@QP3}tU3Fh@bG5&uQXk0VgcR5S`=w$iT_uu8F^1lX$V+YIC= zrQ~S7!YKIr6@?DFSUHP}qMcR>amo1+xBsy}3LS1NhWgh$D_UJz(bjz!Wp%q)a=iT? z)Z$-^1GQ)!P2^{%9J*EkfpjdLi$bAYJk~%1OS(e4Dx;y@ax$RZy>Q309;H<7dD{)z z>&#kc?|SjjK7HtO*SD1owBI}WWc9xq1|1MU)}Tast%LjSfrc)iwJbx=(PQ^X^O?{Q zI~qX4R2mTe*$ile)(RT!LT4Y7M^`nrC1q9I_QTMTu{1^eQcA_qQMilR7^hF5iR>aY zX# z^VWJ7LQrV-Dv|Q9`_F^dD_o|wz-Bw*1X%CgSL%Gg!()n zH`;wdN8bK#9Jbcs7A0;#Ni%5onq#2@=1~ZOLTGEjnRI0au8x6*^rRCW^zdWKztDP1 zP#OFe?epVI%CjNb8R*ddbbO!0)Ak4Mp%}*|(k9~K$$^nS_JYRup@bP#=tcRLP>uFGI*c-V%+?5KVzoeM(mDDF zkDWdRI!>kQlic1LI=+E3G-W4)rZ%bvO&duIPuNYdndrP1I^|I;bZREW)pCZcGg!AU z5qp;{N73N<6M5=ovCReARHP_+J5&7Hwj^hK`qTCEeZB%3_=raKs6ekv@MQ|bzz!7M zkj6C8pp|r)hTJ2UqA%2i#&oBTd+dNLXk7CX&@tzIp^4fKXws~M(6N_w=(rbQHbC;F zWzb1UwEX0e=}^lfnqoUErg-dP)r){V>`OZFJXWVO@Eh~PvGHW`e@utas}6b6?-?CY z@NqwAXl$|dNh>GIl9s4!m7nH`{>RyU3ib)s9g*ZS#Cgzd9)BYRI`uaBbC<<#10J*I z3xQ{>K_u`iTiFwM%dQ;*(&f#Rr3>Wzi@*kXTt{Gw>_m=jmxG%EN9BbpDaB68ji}EB z*>ex@rR+o5aYxP!0`AHZ`Tao7ng+~LzNLW8Q>Nm$vxx7xPKrzcvMpgoLEAgp7 zfpURT;E3X03plB)ru;gq=u|6JZqxENlnRcNV&5vQ+oAeUc`_4tsSKmjc&l_80{pF9 z2?f$sZ8|VVja~s{sPjvKCF*B%&Q|q4C6%r|qxWHr`erh)LA7ZPY*A}^1KU-13$RNK zq2$@8E~fifpt>N#HA|s7m|mr$Y6Ci_ld74%3};mD1Hc7U!Lewi>bEYy71e(na7`_y z1#hWCY3@6!=T_i5b!Q3iqv}Yf^ichLJn&TA(FS;-{z@ynR^8~f{I1@l75-GSX;1Gh z>Q=f>v$PkBfqB}%Tp&YR+ZtG+J?;ruwU)C0U8_Q_et+&6EMa4jXUE)qI;nS-?S?Ksv1=n<C!*9Nh+fIH_JSa za@}f9r_5h&UP{qhVg8;j&`R^SCxNx*o>9OqbK-hnzqtp!rbXs_I@sgpHx!E#W_!B6 zC(S=noKBg0x&XyyZ31xG95edKN!&$M$0}nod~4-d*$GqjOuHLQp(@ORlcKxTw2Ay8nDoD0VTj9 zN1r3WcE=z(ogI#;uE46Qr4*PoRn2XI2UV|A7C)+*m#(V6!GQsDSV3fP zqJ2S?Fkf4%UvOjQQP4Afl&iJ)>)O`NVO6bH=3gwhwcsnoEqZKH+^CVEA>G0Q!v}`; zAJnT~x9~xIL&8HsgMtPO9OUX=@Kt80QqU*sDzmb`BCYQyR!wi|z=rAB4y;m@4${A;@1PetFgK05Z`D6@z%F*{e-pOq zEvvA)dVCdDkM+>!Rbj35?$wy9ey9p_D11kDSr4ow~YvSp` z|1@MfHOn!~C`U`uc_N-s-j>u!McL=1wRsW7xWSQ z|BD8`A``?!(*)^tAkQ-dmkF*C+$gwRaIfG&L7pTSe@4_V34S4XTaf=0&1V;;w7o03OLvWtp zV!;)HYX!Fm?i9=yJS=!p#>bmBa9%WgCU{-&j^I7P$AT{fe;0fwNPmN!=Cc>1zZy>U zI)ZM3O$A#kIDhKURy6nvb`|U+I8bn?V1(dE!6d;n!Ks3?1Q!Zs31$m!u!zDo!99Wp z1dj@y7Az6GDtJrqTfv_Me-?Z#_=h0FSCs#1$?Z!oHNX&1f8{XANU@D+ZuQUrcI>r=|wnI?AvPDQ8X4 ze<-t#Hmu{yS;y!e!^PM{!#cm5HAzn|vyL^a8_QY8>0gvtlMU+XyjpiebH4 z&YG$xms!&c>!Whk33_pvb)sRVpP0)0oupR@6EjaXthLHnKh-14tWyjteQV0bPSx|v ztkVo@&vMr3Itv#wTMTPNIqM8PxXhYvSSOXU&eS)RS!Ws6rRA)%^;c!qIfga2oOQ0= zIYO*E&#;~USfV12gN-BJpE6M@_v&6mRm6Voi8YRnLk-&#BaGuV+%TJth#%myPCc{;Sz3n)hxQ z{qNpmjOJ-*uDH~VNjO*1CI^#SC>zzj;*o)#2K3!i&J-=`CVU8a97w9SfUP*r* z#~N33Z~P&Iy>z#cn50u>Nphx18dRJFt1C{5mgu9uN@7lW=1BakoZXa3oCI_0c*S%8)8`Rz`ES9 zUW7GQSVIl#SUjYGhIO3p2OmB*tovbYV^|Nv8X(3FHLMR{tzlT-z*?G)er#B!_8+{7)PpH*eur4;NGhp2)tYZ!98(5tTt7~T@h_EK>`SF+-AF%0q zl?0r40E~Gef+@z(WsU#w_GOn3-lpkn6o$h1kuk41@Ixw1G=_fhVW=;xWrsG|us(#f zgE2M;)&Q}mDTcK{6G?J4tV>}n+wnC0hXgDOqhjnhkCqiXwirXZBWLmTqYVDOE0gAn ziPH^h9<1LPW8?8VSX0@^msy5&Nwa^vUE1TrmggAO99X9qV{>7BB-Wj$Z$iGPEj|qG z^IanPH>q}V6GRkULZ^8PDo}7Y6N&RqN@z&9RX3o?f0 z;+OG9B8<8*ba5L=YGF9E6u-Jgh%K+uJE!6iIf9>|YUq)vnE2(O4_AGSo&~GvDt?6B zSE}z%W%Xr?t$s6=HI~oX>hHjczM+i&u21{epnIg@;gjt3{%J6^v4`_`F1Nr`sHelE W#nfU_GksGUK6Mu{5Z_Zgr2hwL$FbM| diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.d index 23ff8db..b1e44cd 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/queue.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \ @@ -18,6 +19,7 @@ Middlewares/Third_Party/FreeRTOS/Source/queue.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.o index 6a51b6ebfd0c3908d5359e9fbd1e8802b0601f8d..ebd51a64b32d3e2488ea6e44240a73442c1143f5 100644 GIT binary patch delta 24063 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 JUYJt7{y%rc;!FSl diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.d index c5439ea..e726e45 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h @@ -17,6 +18,7 @@ Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o index c1b60f6528d508ea72b5011e540be1f5bca47865..e723b6334fec0caac07ff7481feafc4aa0999023 100644 GIT binary patch delta 19912 zcma)k30#fo`}ci6%ju|)h!Dz_NQzQXB%(|R$u4OTLXvfcBfF6$$9ODRq9i*ZyUf_v z#+bnjGsYNW8QYjK<~L^M{a*L;oS)45e?Ra4e4Ow1Uasf5ulu^L`+A;J9jES_=KpM3 z>Rz>U6=!&<{)DUv+t2pxXV|6B9VeG^W z#vCzT{$oXWL-!(BNH**ceoIN-HrzJ>IkCYMFMMJ<|QQORbTtNWjdelrNImOO5 z1!PuFpCGdPbvG7L)DdGcX)XpUnzOsHK1^|~>IZqp`2cg%xr`~k)%sKW$7t;8#~N8^ zSEr5Go0TaLs;j_+hl?O^@B_xAwsm`v@Rb^9ht#E&&6j+v&#Scb3dGJgsE%D|^G*db z8Ou{0f2FolgVu~~R4dYoZcgVttX-YmEYbTJGZm?_0&#OpI%9T&8c#sGdJ@2HD!`*< z5@Yr4IC;Tt9N&(iN;fZ}Q^{=-TwH1JMwn13F$gZG)ES}*Gk1oCc9UcaL~HJB3&nOH zeTTNg5I-2mur}DXXfxKP};4^$C7nLRnMwlAsYM_`7QK0?vxm-dZwnetZGB) zp|ACIRlgd)_hw8}9cf3EYoBE-%}mX1)_ezNAG2V(4Goj?SjB5C7%S3qg8Fsw z=DA6j=UMPdks9#?Hc2^|tVy*&7+j~?lbD+jTWu3tr*<^NIQeqD+J-hE<)lMDa&Ea= zMQjRVt_M=H2ZAqJva*{aZ!Wdh3D5o%wRa;TUOF4|+fN_rLYS-xqq?Ds@duv4XmJz-8 zVwE_xvTz6_!|>+08*OXHsqG5&wWU*->aU7SBbV46h8{-}tn#V#Xm!_iWNK42h|DHq zmQQA^nd(OwC*=&~bhWqYQy{v7IAwQpTeqLIa)s5oMnd1u)-v{1j}7GR;>~m2>TGNzG_uoo$n{GNR|Jb@h_k|iM{YK$z+)+fbLN7x?K>0mVPO-kDbkRc* z%cr6ceXF$37jBA?Xj^v`H+|`J>D)%fzE{L4h8Ls{J6Y$uj_4ONg|XxRR=&w>C_k=r zDzE&65>j6I$@i6i`kwNrnj<3JoETg4PWdoldDRMr@-<3pU3rqQZSA|u2cz7sQ;dM6 zOU2gz)NB&f&YQ7W@09ft%4XS=%~Aqw%4pwnl=^z~^?lEMr+edG>!@0umYrQ0>+#=! z(GldiE;uA2Z+j?hY{@VopRpLlmkufgtn@R+dMduQfUQEp_p){SiA0OF*_|e>oWoeG zQcV}mlvISLkJ4ClEjg)Dcm`u}HtBR$Vfr}KZ^caW^ty*P&kc4kyj5Lkqi-;plT9@g zZ{4OyVUw%ktuNC_WI;_Os7Pc%n8Aatr5Z?mOkJQN?)f5l6!ZbLCdL@>t=6d2%D&2Qk72^W{dmwrFmT+u8!z zi|$cUPNcA8q0N$1;e+h=Eyv~$2<>5B{ZnIQy zcF)wEDmStt4Gp6(3Nf%))moxVwJV^lZ|2UEQ;p(kyG6hPC+-Yh1%sQuTq>mknJ9l4%`ysBYRIVOqGY z+fSI*k$2Edixm$Rop>L8@fdE8#UpH8Cgs7>F5F2kF|=4xqhZ~CDuj!k)|WrWF>ii# zCUrtqk$ZfWC7^SwF?HlWFza#`7492n>brb61IgG^Qb*Qrg{fbVCTuC*gD!Zu7k``I#H>)q5F0*cL*1qxbZgjP4ZME*x<7f#v z`51Ro6t!U7<%veWP zW1!r`POZ1c6Jm`T=w|3BdztlyDbNjfBDGz~U?3h*fkQti2F~PP;2x_krukL$_QW8Cj162 zRoNUova0N+7|*y#ZIh6%PR6jy?t~rt5xy8kSOH0|vY!tyW>HyFoKThh2YyjmBAysj zmWIbwl{w%bt1S5f;et(stIrX(fkRa`HIwjiO~T;;gdeORv=httg;Tp5PMFGSq7|_2&JdR1 zII9I=swI^u$V9kj6yfQ(+$ZQ6N<2CCtj} zMD13TZj2!nRrW?9^c1GQ&Y^bA#e|RAS%?nwBFqtKGEPK&$fq=tNr}t0i_AFMf!a~1 zMvxTFd?t1|2sx^n@z3_A{}(OM7bX4j{ZPd~h(2+S7!$?g@h$uA-6f z6v8{4uwe<|6Mw=DUl9IqjxbS}J|K?TZ72^c%mOP^_MJE3v>k*^4ijcKBTN+0^%D8q zM;yyBlW2VY48jEAoBJ}gOXCS|it(o+d;Ct*$WRf8MN6rzh||BR3K6*P|S9#PvfC=2&;%?(rQt=fthf> zFnvJ?wOfmv`_tk^9gp>djf6`-zDn(#vk6}zfsuwHG>`Bcsj?lyxc$QI2O??Yz&65s z6XB96gpINYNBa=g7ukM7q~s!z0Z+v_8YDJ$>70dxW_?Wfi*Qu_aB4U1Oc*EjL>x-)QN+f&s0E}DM8R3v5gFQW-pVd>XGQHHqqTXFHt zhBRB+nDF2f!eb(d9%NBlt3-HTcqmtRk%@87tu($?EIdZ|a*Y^oDDo`xpvZr#h;)Wf z`g1g05V43bUgSjX$JCx8yz+~P{drd!nILYpi8ZKwY&c1-@gn;{LTEe+7v3dxQiLE_ExDIhOv4`-A ziA_eCGO;;0S|;Z93CRZzBCLFpMuz)Qd%6hOSaJ8u*hJ&)*3x)t7~!2lj9A!@HK~(h zPx!gW$!u|s(?olTaAqg$-o%!OU2eHSk}l#Zw>%o}KT}*Q+Luw7P3$O^H?bp42?LNx z*g!sEOdv@{3lpntrxD9pB$0_tjHihJfpJmPzSoHG7D8ZR_izEKD+;2rY$3Egd8%lILMe-Z=|Y;nNR~vtf7z$>qheZ#a539qlZ|o(NKm+ke`tt=rC0& zC0ClB_XXO$CZo*7A;1cu@Qje~Xz?)`P25ohOw0JVV05g!O(=RAA4N50CC{XQuHxSy zX6kA_KLWiS{7b|U58v0ff|f{6XHfoqBE7JpyH;8RAE^aWlRBW?(qAxN-6zE=pu^Hd zqDzt&s)l-7@>mFZCbhw75av{FOWvy0&;<0jmkexiF9#Uv*96%67fQ*|Bgn7W{4lIk zH}gd!Ku5VHfqZg>KTU^yzw)P(42|~RUBGO0X=tP67+x< zlJ1}QL*%9UkdLQ&@tUupi2csZ-k>-9Bn5e{)a@W>o|IuBzs;96;jpMHq_ZPInsm_% zv{Gs{7qnS&p(P5X^JhU@q`r$m2c*1;pc4G@0(4MnvjucU8b`i3D{Z3-u1ZtM!W+_U z%CI}q(p{i$rRMbbe^2U3a}T7gZQy_Pi8KVoRDCTa?f}h@8`DPT$onUQvgOYzgBHn? zFMw9cDQ!TjA0Lp~qU0#UuWqQC}ER;o$`7KJ& zH~b??xwm{IMPrr}xEi!TGMPauq&BNS8>Mq8hK_n8sJ6HtqANW-C?^|rC1ab_D*#6P zMj?s1RTbE^s%>4*$NA_tIky$qG?zAGvGPxXz{~jo^7AKr94)hgC(QzBd?y*Sl6RrN ztm0p603q-?z9s;4)xxjz2AA;{cvo=YM( zxwQ!N9iP$yR=nlyC@)q^&&erkq*jy=xzb5W=e1G=iupQeG+nS>>PK7JAX(<6g7c*5 zq-jVh(*da-Hevc%a)I+q z>twY%<~GT0IBKRM`IFJ0o$~MW^twyVLr>i&FF&t`(W3g*J%N#yzT}lwm97F?w;llu zUNsHarb9Jg$aPO(=<@!+c3!)I?X4|=;mgV1j=q$uo!$%p4zcb9#&1doj;e^vRMXy^ z1E%Ly0FFBl2ps={+&ZC@%AsZQJ#xU5C`#I?nVW&rYJ>r2a(mjvY7NY;5_a? z&i|Ol_<rR!?~i$fF`y^B zuoCEJ-iV69bAD_X=mq~i0Q8y%6@jiv=csnxmoAS5J(gM?qt8E2r0(SUU!(zZKyRdW zbLC}pj^@cH$^6A~$WYL7dG|$7f&62 za5{~-%4RCT8x)lymaklk1QjalJ_2o1zODhlL0R(_!y&?}|qB+#!)1&Ziz%6E34*UCgP|955cAW*hC4N0yp zQV&t8u2+|mngZ3Q6tqR%QUcnlRvZP|siu~JcB=v8wSB5I6;z^nwFeziHwJ@_sg_k1 z@Cmhyiq=WBF&(wjs!|2?m3p%u=!UwIuD_{Dt3kKb7S}*`RCkK+J#{1<(Ff{!ZRs&rQC<;JbyV_H_DK+m73?lz6VC93x_s&GC@dx5^uyMZmcGzI$C5S1g1t_^D825kG5+!k7S zouRjTY8~_wzQTtxU#=~JqZ z$E3o>pyN{U8PEyIZU^XsWOW8zlu}(lm!!YQh|AJnS)ePDe+$rdS*{H_BUeU*gs&Xd zIiTTW`IV+?&8B18{KZJa)~oWf3K+O0zj6oNlYeytJ&_>I= zAGr_Z!%U_43TVEP*An!xa{CKVp3vQe2vY4l9=fK}QtJJ&N8@<$y&e;3z6w+_{Gk^j%G@cPEWQ2BOIvGbS^jv>{9zYFmfmz)2KQ_ zftIc_$k!i~P^hA}%>j1vhzE9`dm7lIDDW(LI-#QZ$ar-z^~IjH*<-ysfbtJ3);cMaQ;O^Vjfep z;+i%C4t#UQ7_B>!+|~4a8({M&LZ5}?_ZBj_#rHmK-0ugfPA$#jfc|H5fdNNq09$Xg z*nt9XQc|}0E)3YVh=LjNF?lM?bq%m{Hf^9sMH-JW)3NEfCI;B6GE7i=Z>579yLTS2 z&-GYfT=EKFU;2fn+HXTsVE+Qz<$%q?@Zt?<5Bi%NICyFh?P$o+8Nm37PQamaDK`>) z$kJi2=K~Wn$frqh{ea1brvg((Z37N}M9ZY^A>&5m_XUoeCqg=)6WVE;HUmdLTMHah zbvkhDaSlxXsuVabWB@QDpgKMOj87&PWyX_56LKyBCqAO1K529>;D=`^(>{u)+GROL zsWF2Wz_a=pDW#3IETQw>s&yF9fAbVzz*u)+>&{Jpf&GJlK{u#;cWiJF*rg#^)pK(q z(9$bq5U6*o28?Y?9_{Ct3`}ek08Hvd2PSz7WkSkUI*MsUNx;#cO#_Y@8x9=%J2@+T zGi`p{b#l<;Gab+9Y+(1LaHB{l@e$o_!1>$9eHNV`N~1 zQVa|gWi4R~j2CLW=UFJLT6{_2Xf>R2D{xPHU|V&pA(C;6Ty~rPNZI^|e?vZa%FhIW ze&b_%g8txfRC%(bE99#MQUeO!dg&H9f0I<00xFb#=mR<;MV$tnke>R1&Pqo+Qv9z; z7b!`vn7z&yvm&^q%l&=m1t(B)z+7`&|s4i@mhjaiH%ifDX zhvjV)$rEzrU7%C)Xma~Sxhfoor_%AH^*g0*9Owt-93|gR%Efu0C(3Lx=DETqgI+07bfkV)UR4JDsf?tg`$zF6m&{V9 zI)dh@Z*G7VTGT9Z;u5v93&^To^8jgTJe`d-YIFr<3T>hKfYfYL2O_o9 zUFw73pknpNdQgeFWd!Jm8aWnpLVZGk`Aoe>XZoy~Nc+909{3n^RqZ$f^o44Ps|3EG zj&BV5M(u3^eWyOBI`)IQy*}tCbu^u+C+b`u&~x?7VbCk}em&6dYNJV@KUH^H=^wQQ zrR6Ns{8ONLrqqt0g{H90pe3feX&|fVbDGmkkrP2{Os_1&>rEZ6gx+6Q&oTpwCUsSAxDY#khlRnbwgH@0f1(2K{JC zq)j|E-Kq?FX?l|Z`pvX}od1Vu&ms%>FH;DmK$e|HP0$=WSF&l5-Orzca_n}QL7&*A zI)L)*e(Vn_uq&fI71@BLyHn#Ya;UEyD> z0o~-M>_Ol2$yg2*)S)HlC0Eixe{jnjvT&x9(GN6Fnlm4?R!Y1CIxM}V#J?w*B+x>6 z??TWD`CwbnI(aGw708Q{Nh|&ZeM?>pp4=MP<~7yjw(;b&_7lmzFu!16hZ7XO@SVQE zjuXBBcCpB`xyXdY6F@n`BTk$Wa?WF^wKHx0O*y|^%T(JDrdTYmR1=sp7QTw=TBy# zo9*1OJE+jPN?lNq^O9wtRaK`o2d$}^`6=i@)od!&53Ba1BYCV^vqI2`YJFFN3SEl! zgNj@xuLk|(@-zg1)QW~v6lC6-URCS}C% zsP0j*@v+gp|F5jOm%CSSsrJ^cy{@x&#Q&($%e{$v{D{%%6Ec$H(=#*NL;r6jN7i>UwTzGN z9?>^CDm*@>Lu|*$=!m$8==gYdU#2VX(>ua8FKp`7p?j>=eUVFX;O3sy>gzK9-A{aM z|Ck8(@tGMD5;NW7h4YH%9S*8$-F&l?^~L37;ktaMi2s)xu=9-M#I%GFqxGx*hmB`l z`O<9NzOsR}&kaxBvUv54ioE#oO@F0IeEgW?{MNjkB`>c=wX?bvd`I8{d(F7u6{~Hr{>0nDHZqk4a8)Pa8XCIHOdsW+gW+`Lz*`kgcmn z)h>DB#bYa$^bO?yDB8pj?u?v!_mY{HRv5xPDp$i84mkZ05tCR??Q95dQN@Q*`o4Sl zXm+8zhc+>kJL8bOd&$iIUy}Zs77DF?kRh#McuOosJ4=J%#vqOx2HR>sVNi2z$K5NS z$O-Yg+PHSyMT=_(Yf-ht7%CH_J8F~KagPcMjKQz9oKOgEZpXu_MEuKy2<`WFd{>p2 ze+|cICGB|&%@oG#w|IYdu~7Q%CF84F@6Y$qJi~ZB-cRci1_dj^xRcg8f;;gYC0ZD7 zFKH9QxO)}cOUk`uwyWeuIIkjEs@jzsX7yS0d;JD%#(VvSY}b4JM(o@7`nZpkd&vwn zrQAzqd&>2w#PE_X5!_GGB15>lrMg-7=yeD=v!=`secQ_kjdsR7{kg6)^Jeiz9~BsV zA2!YCqr#!zg5~_{`ZfRRZ#3kyg}k4I?f;j+xqtP)HZB+)S{i-a3?a~`q%evvRNYe&5&{E~ zTP7tZ2PY)AO7u-i322p=;_ufgxs`9L*&k&Lj}OcqN9mctLByqubs|2=7^Rdwp4QTdAvc}) z6vHV1uZS-&_8;Pl_+d0WOV>H-Y+-KHxWpL!)tCKc#=?nl zVJvY?#)c7N0s8);{T0SOCcet>r|jS|#!`%h=nRnjTw=&$O=gd0i8x|}P8bXxLwy*S zDdb{|3n0Cf24LYnVps^9gkd*@AQN92BE@g0@4=X27*y9VsEII0yVr+%_Q$$SNvxq^ zADD_e?TgZs?6PqN^}lB9fWgZQ-feI-;*%&of=hH4j41Q$rbAw+S{FlLsB=j|94tj$*8(h<1 zcY{3*_9Vl2p|6wq0ZzA}123IoJ#b7ss8yMV_ z*n({FGX{bTZf|gBgS#0VYw$pWhZ#J=;Be9hon2H!RKCxf3E{F}jV4VD$%Q}zlz1(5+&i~(1J>lxhG;N}MV8{F35 zaD$@^jxo5e!9xtDzaFP`(hMGN@KgndmL{@{f%yh6F?fZ+YYomfc$>j{4L)RWsljIr zzGCo~ine$$e^#=5F`vvW->6s>?|vpQo+bnzT z^)RE~i5Q+qHTr49@X%7DPj@ki{_=dEF+kt;Czste`ge)pIy~Zw1w;jg3!4~yZ(_JI z+UUm+d%h zq6i=qnMQvyF+#G^=;sn6G)IkoDKSFCe8x{1otZEUTrzJNFHqFI7#ywnX}p1Gj-h7l ziqRN##G7WvYFW0~bbXcrX`3CVeQul0&}Tm?H#=VQSZQd^)MuBMo1LJIv&~M_XSbJ| zour+#%}&;5PnDaUqE%UCXr8Li-Yz%$p_X8q{YanvwcPA9ZI5ksx;{$}Mz$SUG``x< zJVT#tSZ+2;>uH;vsn3R#o1LZQ*=A?!v-Ct|(>zCeX`7v^&r)XEX6I=g))?!~*Jo#! zn_Zyg*k(W0XLHNVF4Vra&1UPfl-f4Ui!{GnL-S&N_ENdoC0dqkcBwvlzuat&KJ=p8 z&@!zkm)FMMsllaMhqb(_b~_gzJl|?hbGfHZH8k(FVkmSi_pIpDmopq+kxfmtacg;P zUZyRg8F$Q}GKd*(?Ig|I*Y03Ooq?Jeqic6t$DJxRDW{`_7Q7AyltCn07fB>8SN5k*yHvrHf=k1hHJ3hbXOtq%BIFwa+2RhiFe}W<$A|NX=s-W*%#y z8!@w`+)P((9L-GB7SYV^a_dHGCut^5yF)Xjf~doyQBbarCf>Adgf!P0Btm8 z)UK%G54D%M2>fXWx%P1ZuU|10)AUJ@%owh( z@ds`uBg<)6If;wgHHnPSH6*rS_y)GF!F@8UH1;@3*AO1USVB1sk@$&yx?$yL?a)?O z35llVBo0Et*N_;iE4d7jj^#uiLL|}<8K;Xl;kM>qPQ>>^&cY0l@w%m*AhOi3G#%6D zjJ;0KHC)H1yd-U0J|Zq$9yE=!H@IQaUMJ}yLE-qXEXpsE_3n60(M7sLq-!~mNQlH3 zc6_Ldtb|B;Q&&O+VGs*V(?u>p#HpN?GKe@CA{JfbHbnZB6S)f!n`5(d5&w?wXGqM< zcNsEE7x@$-ZsoMRfQY-X&>XG8X6~j!V!Giqr&*lsHoP`ZS1>5zeM?Jmx3XEfKs8(v`e|NWF3*^C9AHh^)~?oV(&@UFAf!K*Z+KwYo?{h?MunL5SGAv0fKx z1CjC-qzodq3X-Rb41&nln%`bq#=n8cd{y7`ChgV^Y^VogpOrIZ#!}868rBvFC8j?h z;%zuBH3tR8@JOM)Mx&lok3}67r|R6Yca|1uMY~ZXLm{$7JHH!6@-Ak}4E@`*KQL?h zaVYM-OcztPJu-0x5Z!BF3)>6O~cUzIr#(KN7RePXpODMM;u1kARIB%nW7oTMC e%RF{Odjt{F(GNI_bB(R=T# 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 VyqlNy9gBaINTI7ueqc;|{vQQks5k%s diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.cyclo b/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.cyclo index 9b516d5..d4cf2a4 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.cyclo +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.cyclo @@ -25,7 +25,7 @@ ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:2550:17:uxTaskGetSystemState 4 ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:2677:12:xTaskCatchUpTicks 2 ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:2781:12:xTaskIncrementTick 14 -../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3070:6:vTaskSwitchContext 5 +../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3070:6:vTaskSwitchContext 9 ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3144:6:vTaskPlaceOnEventList 2 ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3169:6:vTaskPlaceOnUnorderedEventList 3 ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3197:10:vTaskPlaceOnEventListRestricted 3 diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.d index 953067b..849338c 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/tasks.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h \ @@ -19,6 +20,7 @@ Middlewares/Third_Party/FreeRTOS/Source/tasks.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/timers.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.o index dae82bbd4a02ccb410ac267f11dc3b1be609d4d2..d11646f748877f65e5d24af2bb9459f692fc8324 100644 GIT binary patch delta 60983 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ℑy9Qcj^&iqW#$*3K`c&MJLI%%Av99PCTPpw^ zFNB&zJ1 z7u|6aSHzm`G)A=z@K5w;Dk?ndFc+8BE+%*U0#GZ>G zLX4lB7l_~U?l&N?yT1=Nxx2VPPOL*i0t}&q;PnGr3R&=k?1e5kA0wF%TnwT(aQYTBxX3Mn+ay zu6`iJPuqZTn5ao4%&rHA@VjW3AQp}?n#3d_!g$e&K8bD;e-`s{moy)}Q>=P1zbOw< zdBGrlTOC|rla4a=gMuYIN6j7BA^JA$4!r2&I(pHkp7f&6ujxgYhPwV!DXJW({w1C+avy5^z@*a8(hoROd@NUO4;P%p;-Fi?TN|RQ*k=KiV9wOlcR&TBE5m_YLeY$lj5U(RTygbRa|VxQ03+! zo7_!CM-M+GV%kd7HrAJwO-)RWl4mv13BOBdbPo1c%*uUiZ=Kg$!vbFBJ~Rcs#L6b$ zAVmsNLdL-)wXm;H-rHjI3#j3{z^l zpHicSgxHOyaH~@5Y(q5FwdgfQeFGPz*0vnf*S9(h)UdAJW{!Hc8!0aNyL+G=mb?zy z(KQk@?bDN>U8h1|rTdkZpjpRp7Ae^idw}+tgTqi6@Maol-f;T@Kz^Tfpar)evoi2Q zyq8r*)!PsH)(=+Dnfyd`z$)%F1F)JOo(j0Y-RlGH@%gg=-}4V)ZRHPMFcE6wcOLO? zo}fK&>?y1(+^4YVG!6T5F42C&i8j2CqYl3z`B+qKC)xlf4ALf!C50W%Bf4!E(W4|a zn|_Aqgl$A4{fN4ei0qeSqUG2R3agH7qp&A?iH^KMbmADIo5fm8rV&j!PxONoL{EuH*O0YX6QmyWNhNwfOxj>6mCsBjdTt3(Gu{?r z;X_2aBnJ)jw2c}ifF7%G(s3QP$=-bGu1RoAzI@AQOhc#6=g)n zOe5MDHv_n@HPL<)Va(oB$Q3=77{7T$hYTXRybV#dndmVJPj)~|ceFi~U4+nXb*Q|6 zqMiMFm1yWSqRoXZS5kzt=AlIY7BQrW0KD-Y)!ajBQ`jE6&}OR8_@OYPX8|=_-9dD* z5aovpR9+ZQw5^bRt8mJ%8>nWE=zkAsLSZo?hPpSV^5KU>OGHSn5oZ5t7uDqF6P+fa zA+4XCm`B2lWx^721=Y;|m}vYIqU%I({rNtXpAR8gts&9K4~e!(C;Efve@!g^L|7=Q z71d7^!Ps&Sl^=x>Rdy4-v4v=-5hDJF;CO+N&k+5-DbX6A6TN?f=s6+#@3~YC5OLr# zl*&VH65V)==;vamd_0rNABcr_3Kx8uOf{3H5}k>I0TCu_b5E@J-Cz;_w?)G+u}rOx zs8dQYQMa{3w+Ia`HlcEYXsshGH2edqX&p}Voj{^%BZ;;cNVIPu(e0gyRvsdHOxVeE zoyy%rPzO<~oo%a2RhNZC9mF#4iQU=JO!dDC+1I2{dATs-SGB0zZzs_lI+Z4q1zLa4^+Jkd)NM7bT&`XX^Id6UZSYlsdOaWn2LmGi}tzk5)5{|uscHxkY5 zNAwL5o?+QkjvPWXHbcb!oV&!F5<+A}QMtn=qUUmnnuLD)gjn;-sivjy?k+~<)?&KL z!ZmldQqAkdMAel<7m4U;EH>@xCR8)@GolTJKn>Q4`1co{_H988n{7mETp`+FG11O7 ziJplj`bz=P`l8RQrc_Q4OO}i1c}EC3uaxROcOgnIg-z{1^kPS%b;l7k3H`3Mr}CwRM3;(%xBF6= zew$5Ufx>+)S5x`m8lsb9LG7$rFfm(K5FIWe;BEw!T{;teCL(#Fkopagr2D&2{R$DJ zJ47-uix`r{k|pb?^=c2IK|+ms?01bQn@_Y{B%d0L%KL;Z+v0S95JJn? zM^xWV*x(pk2~mU#dh9{`n_2bgR8#O%dC!SE(!?B^uC;=tg0W z?t*Sc4f1?AQ6H#bW>e80r~7E4K^CGPh=m6ar?QepeV)DxYG>UML|7g>*vy_FR?RGB zJ<4?$2VJNbUvBJ-sm$oGq- z(=eB^QVN8-l#P-viLqNcdk>Vg!f9G1QzxFk9C2HcfS(Ej*QTKoV)(c?1Z0lyAA zm>=`sY2t7B1WG;6_>?lhU;GdxQKm{KwgTRfBFum#QUl`FN&g#RC|2vk2vmg3DFUrs z6LF%{y+C$}SVm%{-aH7Jmf{QAX(8%`o!wSDQT)40)aY>?YKZFdyz5&iUEm#V13uu7 zGXWQQM+&A({9Y}&2Z<8Bi|$08L@#GRo7dqzoFc zT3UV#utwT63b0mk-UnDG*(l=HOPw*9vOy|Ctivr|2LLunVRHbRrQ3Y~Tcli#^xrBq zUx{@ONF$J+%->6Aw*Xd|CiFy~^`?s(!EH5N7;9Lk{u{JP_*U{%!@JW!RUXzBu!wi@ z04(M;$Tds&nuP$3Zz3lyEdVf-%B4G5*|Gi^k!5uP*Opuq8HK#3rzmJC|E+ey$STj^A4b;AubYYZjZVTZec z&f$CQWUNhmdnw>3-`@l9A%8R;g8atQpq-dEdJZWOvz@Yjtj9gj_#QN%dHh_^7At7I zmQNdkw)#3Bv~|u2&^FbZfwr4ND1npn%eNfwKETRmxuge7#{dNPiq_YKd zgi{;PQ8^SgqrW31#&TNh&7=vS;}~t=i6=UMPT{-BN7Fd#4w%k|bOg-c-LnC+_|AC1 zY#vnyFo%cJmYB!)ksIc7wJxBH*L<7ouW~c(unj!H1+bCVUIy62*Iff_=B1wiw(!N2 z@80Ems{^+2bP{4auZw_D?(p9d0FU|Ret@s|A4>pV^QC71-|#PJ6MoB+-UNKd!znX< z&)vujKk?qfX#YRqxvjwd&I2i?Ka$pN20WBbjstuvy>k)popgmv|BJL`2;iBtos9gC zRGI?#SK4+E@V2Sc2Qb5wL({l&tdWn61Z8Dx ztXDGy&2P5TUyR}pnfAl^=0$vseJuvK_K9Hil0T-ohet=6-!$81gsYV&C^r7@57O>qkD;RLr zlzU$n$L#WrGb%i<#eoKGYYE!8Cc;M8;EHJ}Wve@;;yQpYOhxdZ^4QdK7vMY7)E0o> zP1lD4{xI1G0{%7qOjevC@4E|_DK~5em}QrHe-2zL-*yLVkO#B}Y?cGo1GdNm;Q?i< z{6i_=U0I{bZLwLu$+{bz1GeHEC<^VRU_UK9G-4s+Cj zrKpKM(G@i28YvT-F#t5KErnUrz2`vVpHBl#C?o?k^O_9WJf<^fi|S%<)0e0|C)a3w= zxeAF6av}X8z6RODe3%RIk8mOXQ7#lX#z|`PDJ~RwpOYrK5vD_Z#jgYTJ@DOhT0ht; z1GIMVZqT~3I)c`3fy}2gZjV7q^kGsqHt{}aa~Bf3Rn6|8ZN?UXrp%_ym9~_|X58NZ znzhQ)Sjyj$1il7+*@zPM%OlVRx3_~f{V5Z)jdM1rJ*{33K-TG_pp$q>Tfk&qe+^&? z|7H+iDX*~tu#CHqS(bD6`G9qN9j&#Ve@~&lfj_2HzmspIy|IfQ9uC;e?csof{A5$W zAwKsi;4uGaE#NdClLI)zL+y`&XL%uQqwD+^67L2dNV)1JUlIg(%s&nUe8nRh0>0+e zMgo541IQi!<7=V-&-jQDYeozWN2skUPCIg?7(nzK&(!JY&TT%{%*gfgtdw|cR zvn0$H(qWSRu{4k-`%bb^w*OsXlqV*c_K^9fo8;+$Ii^DzV6JJ*$8`T%YMRy#>@t%- z?e`6)5({9XY0+N59@Bb?guSNEI{{9b-d+GWWx77caB-r`I8?N}O|!R3bfkt_E^mWR zn2PT$yrwDrz0plz%vpl$7;!GNU0J3!lgN^zK+)&exeLdQmGV~U{m zpHt%P;C~aeV-i^X~TPD4qz&X9m9>Ae?&c4<8rG^5xC+Oe4i#XHhM3%K7~fJOY|K7hubl2OX}vde(A{7NstI^HrKu#tzKGJKM` za~>*Q8#)2>^|b3oZOvt5nuhI?K^qSuheyuDp0g`W9v%V{_2zld=+hK5G4yBeN?Zlq z-kP=y0F7U!fF|4t0d29WBWR*C`K{#>GEm#K?}E0kL&9}^D+n}mUTe^9$NPYG5B(T4 z>n-wOc1H@l9)3BXuldrZvG-JHie5K}_P$J0^l>9gzaF_8v~SPJp#3auLHi%2oo~C+ z4K!yEc`Uac2|A$9Qqa696g>Ht^FRyAW`YjPI|4drJ1tWi{~5zl{(RIk(o=q*qMqwV<(oQDfYhw?UiUqF;4W;xi*a6UI}lH_IbW zCvQ0m+F|^5&~CGagLcol4Vu+>GiY{mvS=^o641Q#mZ14>-2^S@O^IhFtr&FJ zR?=vAS|`xrpoyR*JxKWx+sHs;@1)TFf3vYC82j)L(9Qgxbig)#q6uIJA3YMVn^(|A z`<<^pX(-gng(Ob(Mk)8GT6Url>C_;u2`dVuxPSLD(SQlryG z^D+LV{UWN~cMI^YjJog6n= zx=;GQBem%PSS_VD0<4!VjR0(xl5zn@q|7OR>TlC3l5MhFj~qB%-b1#W zEw66{m@mIa<5l@%m{!r`F|@=AxsdksYWc@vz0emcvB?)iIGbn^Um8DC7 z`|`t3z?bqis{Beu1meJvD@d51m5-3vQZ>-)McCUgnYP538Ubw zP+IH)R4V660Y{XUWas0`8S>Bjiu4KKoRULQTvU222V7C2=L75?D@`b%ZYhTv06tYR zWWaspYl_$}l{^Cc#_mkOcS?3F;3uUfrGsCUFUaZtQ`}Dgo-6k|0{&ITv;j;tzi|yP z!`zu9oNd0eA28p1hoVb0AE!3WJbN-=h20#z4!GL9r2??t{OmQrX7d$qz&7(eWN&4c zc~%&p!u%(ht*cf&k)E8vbfs4n21*&YpeWDX)FelYj( z0Q_to{1)J;Ir|jg53~IgY4Nw&m&`rcDTD4h)18ix5#~BgcmODKVord?PN$p!Yn__Y z=Gf@e_W)q4Q(_cgk5j1z*zfe5lGGum^H%^To!0vR9y<*o>3?*ZN1mK&38N@cEw7V= zi!4*^~%UQBzxn(3mP}ycdPh34L;v zCVK#%TD~>|zOrPKynk3WMgab`{7q(_ZoRbt@Q$_hHQIlb*4e#DQ~XPeB4PVqrL8yo z9;s3M`5MrYyOp3L)Vb>yDI(hn5>Ur1e= z0cM+8tN<)AU7|@>nVdLaqiJ@Dp+mFhWX0xRlf7Du>Ia&5l#JGq0O+hnkyY!+p5*_GOT599zh0g(V!`4;)2GYEzgnxTTNIB z+WPCsplx!5g%B$*FXoZ^&#whC`2$rZnA|0qgL(+>9#^{QoQff3+8bvA|y_CRcrA9j?GEzwv9RdeMD=i`wYahik zN>OS{R(18e9U2W(!lIR?ZzyhsN`%EvX){pqo2oPpQ`(_0T4@tT)W43BoUZsyP`$Q| z2bz_mu}K9^=%f+n>p!mF5H0pLZNp)Bgxomt6C%II{C0 zS1WdZsIK0#RDJj`v6{`+K0P}&#?~<@%a)eWJ}o0HySL3&(SPqDuJ%3d64SO?QH60qM*7!5bW%StWybPojlDe1X-bp-bqJvMXX;Np>kOW({c?lG!B z8~zp#tXOg_O;R6!9ADA;dOBBg_xtb=b?J@RN~bhlgR39i7@?-!4EC_ulDc=XWhQ6Y zUTdEj60Husc~$LpD@@C3z`e9BHeN@adaI%KV@>=P^vPR6+MNO(E=4z0zq%Duk$gLX zhqp`Zkd|S~%1*H*hcKJ1TQ^%;yR>YZEhLJK&dVq+9X#+&7@)L3wci=1p1)g93z@_N zRIg74Xg5aj#_HxzqSeu7Le(!nxvyS68>?RW^lz!Ie{BJ8SMExJAT zRpah$@<_`_wzcn`n%X_PYnH8JNX0MrYH_u}{X+Hg`%j$4b}uL$J#x7E<%8>5WP(&j zt^7P$EA!{|)CCV~sI|W6Rbl^PI*+y4l9O#&Ju)-9cF(40N>9s34T*;IWQz8wN!dNR zr`j@lbV===mTc>i)T>KchSu#g#Ljxy+AAxqPioipww`Gj**4NMPTl^nr5g4qNPY8B zEzL>hA==M@++SV(sCR|a;|p9nU4)T$z6#dX&cR0a_a5e1r0QJIYZU@Ue-Q9TjE=^PA1+`TWsPNDhJBEH`l)G!hni}L44<9&qP`4hbJyLDm5ztxL-Fpicg*4MWlwF)s zP*hM_p!IX-ttvOT^CGVL+-|6adh+$oFLs~yuP1+?#q{Ss8uvyJ+rJ2|O!mh2t5){% z;S$#d`|_?@OndIF-Sy?Jfv*N!kBp@Bv8PQU%#w?TmyRqhYDWi_+W%27vTI7abXyuWLu#@uKB{Tc=I~0i+VWAD zwyGutTk*)!tkmo!BYB`!Y32UfrJ9KINE5HF$+h_H(3dw(R#G-L(;Ku-m%*b(73B9G zTu_v+Ng+JcihxeaLK+Xz!b13QOV8wvN!_sxvl+0l2No5NNiH5e zytJ}KD0h+EvU+D3I|f_6a(o^BKG!vI4qZJqNCfb^CzKPP?4tHBRX`R}Qln;rn{I>zOa-}3cyL%5UX(6wnPW&;T zGBkomaCP)|k=pBx_#Wr6=?D&6T6SueN|(mGE4O0PM8}7O7KUnLBk|{H&qnib3IJcN zX%qfiWo#60B{`QMJr}$&xOns^?UP~z?c5kX1^Z2;kg5%*HI3!rzQSxsm@s!d?YnmGk_1UoQ&TI?#v-F@{lj@mXS*bip`#6=4bu5Yun3|lP)IBvt zU4O2=cBVZaS84A+x}EWaHE(p}F_od6Xn!Sk=ATMED5(WW>76Tm()kFk&FaE?%Qjn& zbZxRH_tWqPx1+TA8C>%c8Lt_oC#XybN{jEx*K1#OB(l$>pAub*-8aoVJAd{||z?tG|8{rPu)t?69up)Kpd*V2kvVnw-GkB;57 z)YteBx02C$sl)TT4ir~{$_uY?U#`7{yr78$=KwP1vo|XX;*1?U+0I_CcoCwD*N(nT46uFNOS7XRrQ?~}#Hf1hhOd@oLxg-{;~Lk-#>S=(9#tAb zr0NVprnW^#*;0FD!dBspV-p%wjvK(+^1vRL95Is|KDI#!RDQu}r}OxHFB^_BTS@82 z{J{eU+DdJOAzEfWPgF;I5~6AOJgWwVbWC!Xvl+9s%StgqE!!5N{V$(Ssa#ONW4QLk zKpwAVz87q^+0wgabkN@ONj0xxK2`JV&FgC$ig|*&2tDlL9z z%k17YIW;RQEu#Y&SmUMqeXUIg-d2kk%`aDmyurh{WYgo!lz=cRj^TbL+vwq1H#@TQ z{4xBg_FFfc4qL|ZoXXfY`8cW4Gy&h@9bilALIUE>mf1Bct(PsUYme^9xCLn^?7X&> zE+TpY9z2ovleDu7VBN+E+@Y~miv z>tplyPvKdb$26qk7Ss3+$;D>N=xSWJv^_1ke`WLxZs&@~s+H$wVyViA+1$dtL_$Yi zZ=c>3Sq^Dk>o$j9)>7v3zbgyo@%oqwp%xz(5?WLgs?A!!r#Kbpm%qw}WxS1~U27uw zXq#0Yk4w98owDIQ+hE+Dk>0*gc_fe2jol*)H!;KqES{DOLyMbWR#qmZ*zC0Sy=@{C zLZZ}7???HUj7@z57d6@&X{80jSW0TU9vGn&s=QIE!IVWwJKj6>VY{pc^@s`_P8zicjq_MyLxt7_>;3;(H&U(cI*w~Js=9|#?otBGQ{*P7$kUY6|Y7>u?a7zCI07#R#_V&Bb`3chwyo;&45gH^>zL@HDF;!pf z(YrjtEL_XAdfRy9&~WM_UN%QTpo!&*AulR(UldU?;hPCwHP-;qpC07suK}!qAp!-3 z#1?3~w(+_yc!p-Y^0l8(!2>kE?U4UA*V=D~{MDKE1`wy}MpPpW-XQ3x;d7!Uco))i z2al-M)R=e;W|G)av9Qdwfjf9Zp&452-wJ=#0`s+>cJbP^x*O8< z71Avd(&2fT@mioY+0APUcjjmXyD@jBws<#>@Ed6i)8k~h81_IrgC@;$509+9;y5eh=@C{v#GGTpI7aumfc!jgqUf~Y} z{(7~7dArcm`imB*`yZZu@s$L6f*)_znI-?HJ@Y@j&FD{GZsN_luwsL+F2>`x-Nd)2 zgQ0KD@@9o>p3$L5bm+>K8N8=x@5VM8JcX<`%VLKNzL(&8u#dnyUZep1&p{;c0x`ZP zlU#M)LcAUStBr?IK{>~pjbot(uP@k-MH+ltF@cRG89W`=-pF4)z&l>F;Hdxb@BD{f zX^f9TU%NLl>#qNFIO*tst?bRlvg-yPf&t!a2zzYsbp&6;{x$dj!4Jo`tm+!33%-Qa zG5GC*AIVx6Jid6&jtNUySEE8V;TtUXl?f)WG2k69(r~KLz8ht4e6!#>gP$Y#N$ixP zU07@i`_$lP3Vs^<+u$>?J|=jZdAsWpHxd)fWK9hIs^Dj_6oc0_oWtm^MlcuC`_E&8 z4IUpJV!ruo0(i%Z1fFBGe~q#?Tf&wZd^4<%iWQ8$*_$Q|5&T+q#o${Cem#5aXcro6 zWb{Sj)Sr%UZ~Wn{4?eFXzL(&);%j=1b}@b%>t^tjz`fZHR&4Nt^dQ>BW*8Op^#$H+ z4_jsMbh-0p6>N{e({X3*zEqa`P~*U|>RCLPE0v%?IQa#AwBr_@2$`YaQL)}Id{a@_z*7U;zmmtZ}dwcT*AfoI#B;{Mt^+%B<3LlJ8PVMVW0%7 zI4|Ym>#dxZaS=k!T^V~o?aR3b^F;?Kl(7K91=`_{dHv?-hZ^RLzg?uXLzqptl8Z0c zb%58GAswots5>&9g}QCjr6gWh3;k|WJ)|E=RzUwrLP^f> zcM*)f>VkHtgdi2;9rM1Vbz2$_tsUCF1wNGI5^BQ?Z&L?M`~~3_E{+M9VcZR#KytRF z>fwxK5@Oz82+^HlmE@#TLaa{+c_OJDdWilQH^~_1j&_nGoch6xjR-M5iZGfn`mS1< zM|=ks=4lCDi@M3J_U&A^HU57N;ldr9&7?_pa&{Cby}{TC!tsoqCTxXoVk3lOE)hoP zJ|v%AC%%lc5TNsJJ(Q?Dfa)QX5FSd8!{QVovk0B{aCV*w%e9Yg!g&z-30M;PH$n`m zPUA5@K9m>AhZwvsVJL1(gc!HQK&q$M=|s4M>01G~)Zh;rc-O$+2oZy1Y;Dpl9vzLr zluF5wBGBNGwnitiJSme+2;mB;K1=)J7Vki^hfAo2?2QP~EM!9W?bIFhy9vW_b0dT! z4iaKq4AA-Ti+Jy7)R$9zum8-0{u7M)nMObCV5S|s&1>@o+9$X1oi^wrf*5PkDL|@- zy|i2ly2I;J>}{ax6I_TuF?XJ(f|-R|f#XqZiii8IijQq^u6_oor@z=H;V)W8#t zc4NMSgzXr^f2e~3CO$!kiBA*4x9175z$HS&XUG3j+_}K{RPBF%&ChLIhLLi~ZKPaI z6o-x+)Ce&lB)38%M4^aI6z4~!lrEIodP+>`o|-}>3ZWtuT^_m!Ig}!Fl`fvockTCT zerIZ)>U5s})2n*VXMMkW?X}lh-?i6o?VB>N9XZpdIal1M?b40fuAEWZWg4~Jkw$HI zvTdiDI^Rf*nqAHB)Bko62CGUlR5h)(wW_jMeF&~LyK3SUTfm zg@h`C*GC&QU>{@5O!MKHsF3E=%e>uAb+%m>sFBj^bKrS!6dVU9!0W`MWne*Lybb0- zE4QUDg>S%}@EfRO@P57z%fBVM8@vckg_@;!|2&&V+YU6ic-jjxOur9z!*5{;YZ2Ki z!8-6n*amin{h;qE+HMW{O}I5-eOHD(Bzy-;7K_uX!FsS6%!WPTd2l400I!9!;3IG; z+?eE#t#B{=9+oa17o-Y24%(}6tl({7H#h)}fD_<#a2|XBCLiOEr{J^j1-J&j54XdQ z;a>P9JOoRYhznQ=X2BES-(x0SM-tA4gWx6b1{lHl@JaXrd=+knJK-1bFtjfxSk3kI zOs2V^BwP-!F)E55LN7LIcz6!|vayU#f9Q9Ois28@pBXcqJB+rMfh8(wmBOeU*D@-` z>l%|vXkvd;YuL>w|Dov7M*X5nCP}bw5L-rb zpe?oL+kaKUfW`g?YJJg z8M-5S2%G{RfUDp(PqqIy_J=Y`D=%sulWCN$4Nrh=U>A5Uv^OxB{{%SAsC;fm-;aI@ z{StbIF)2rk#T{Jfenr8 zG&x3hguUTVI1XL|ryE~(?tjHhy8AFJf=i97wQ!Gq4{kTE(E2&r9VM+ADrI~@>s;vL zU~||Wb~Ea?#6a{YPo4iKl5hvS+qgt;1w=n(d|Kgz-T=44&#`}xE~9h170jL>vF%#H zp`?#AE_Cinqn-b!W4P6ruk$o|5qceZqj7@^_&oM?=nv6fp}#lI*V$OJC@VlU*Z{UL%HAH`7k!z%1=|eMG2Cj*Qxl-`;VRPK zMQ=0S-Ykn~bV$LU8JRgebgQ_*J_b%TCC^zbBqTn?|r;TH5g=tt4^+Cao^JH=*aCA3;Bdei^+9{V()Eba|~MSwW68s^8W2R6;%b zW1@2{VK<}FdmG0)HxxY%Jq0}j&V>uHZ-Bcuop^^8U@h1fwyu+m9XgY6j!_#9LtlxWiN4!7*ttj1&%w2DGyKdb zzfAp1GuAWe$eS8-oy$gdOY+A+crlz{9H8q8=mCNF8Mir!ov4`3}mjrvo ziy5wp4Q@7iuCc48PUz>+FQGTV4~?Cj+l&4Imens~%hw*4G&Y1Mdn*1rlF%Ctg;R~n z@Lsr{^i9Sb9Vz;2SiD}mgG%ri*c4{NZg8M6sf>n^FdklQ?BLw3=scJYm&4cL7Ptp~ z56je#3slXh{OX}wqI-&Gm|-*t*Wz#+oClwT%it?;BP^*%OO%b)eWkT{wNw+6J>qp! z>k`?f)#o}H)hD|fbK@m)3l9D1gKoG{QLYii4-Xpp{O~f_s9{Nix*rc`7&Tt%H0B4= zdB&^aOCL!a+Vd?z-p?AR$7|_!DtX1UPBj~hI=5{$Dwl1>yW)?x+F5E zOA{Z|La|Zv8m-0piI`v0*Uqv`YeuK_PyL>GI=;GXQ%HXmZJBDo99~cj7+0tUjH~0T z-ZmM|HNDQc;YLlqM;lej@kaeBm~4E9tBjlCTQclt$81aA;@mvrHq}6yjb}Sl1D3E$ zHDKJW8ZhdY+$%=?!rNf{LN#FgS~Xxiq#7_DRt*@n>~PR%>l_LFo6b_TdW`1aJ_dA> z_c5Z;#s_Ib?ccY36QkO`g;8za#;CS$Z_HJ{Gpg;o8!vFKk5O$u(5O?x5aVdAaT(S2 zmm0@AH^Hd3_xsWR)Y`u7Z!}6IZ?!+v_G(t&_G(T)jhJs#+dpbl+dpNL)3Zjk{c@w6 zUoz%#aZ4M$Wm;{o+V*X~-KaV9C&qmJPBNl@YfCm1(yCH767Bu%UBvyE!|(~T;Pzc8e>Kg;wsO(~5#R3*9g zhuVIaQEflUsJ0(#RNG%+{KB~@Mz#GkquTx!<6-A?wad4?E@1e!*VQxM_QmYLGUH3+ zi6b8bUe~{T+aINYmh_&+%4xcTNUW0P&NEik;+U~onj2+Q z^;~XLepef-r@5QZw;OdGZLYB(6!5 zoNCV{bOBBQqXpD7x7Vm0eq*ec7T;r_cJTqwK)v5;qM=p^jPg^Kp1$e+lIEI)>lv*v z_%@QGzi4-Snj2v0jndp;W8*Y;5q_hMYWVR+-KJ;XAxtz$bJrT1YMs)keC~w4N&c!M zH?6(q8=I%Or+xgNq$~24@HZVf8@z68p(8h*oaR0x{bOTGuB5A{g$pe|VlQTKuN{|$ z_F8Y#N5SeaT!^Xfuf@rsF@|QaB|H^&fZ<9_4|E?m5DtYS;aGSDoC2pod)2EiVOdxa zR)IBPUDyzYPJ0r%6>JMb=k1F2omdCzJF)0HaYfa?@5M^+BbPXa4MK08g!a8!_UqBN zK;OHSt})3UNFLM}5u5|>gAci;lge5FbO4!#WhhDR)kexO=vHcu@S8yJQ1D*Tfw%lBkT&p72tlcPP+3j z422`$7$a49;i zcwAGZUPA!$)DbYX1z{-r{2ZtKeGr27Cv;54XdQ;a>P9On%27hhd45@eazuiqO8t zVLPq~>%xZcM0gTx1>3@ouq*5tQ}@M_a2^~AN5C;K+-@)leKouu-U4rjcfmaPAY1?! zdMf_yZG?7Y%i$XMD%=P+!7XqH+zt1^ui^JFtyG+UDVPB(87=1c}D-A2aqhNJd2iAv;VY77Nza(V_EUXBtz?!fwYzR+;C&5;*E$j%p#!R}NB=m#l!J%*j90MaO<@bz2DXDa(BC|xe0!nKg@fQQI7;;KKbC|EFx+G_6+Io!g!b}iD_FSs z=05bp@CmpWE`=-M%kZ@_#Q$3)=o}PxI#~F}Xf4u@gTLh;e!Ld#NBkGgxDh*O2LBG* z!cMRo)XJSNcu_m5ioG_h2ODeue#7Q4{ER*godf;4pQ^kMdLSGMwFKz%84Is~Q{Xfh zel_ddeVYIbJLN2VocvFMI)Y_)6@>Ou1(c(WWIBdqS z74Cw2ptfO`gA?J^@CG;&&W3a018{+-;(rkdVfE@o^jf$9 zZh~PgI4oN2A^l5u2&S>J;vbjL0fe>S%B0scTKpeN!twC0FsuP*qdUSgVJ~QpZd$Jo zi&Gb&$H4J0tTkPWwnZr)|FcNA3*HMKhWRioM!kSu1N{RdD!^Ol_h49r`UJfX>IMA1 zz&|E9{}(S7CxpePBhcY-f-H1>cmfQIPOZ`H;2E$7>DE|N3C!MgPazsrf zcr>gN;=ch2oECp^Rty;xK1=@Ik+G-&E7_49cZK2fSa^p=V6O(VV10N33_EI#ZU@hR zJz(FMTK^;A0yqkegIB_FGt7qIXU{`;Cz@gHU+Ma^(Ju;X8!K>W%1gT?=!nm}m# zjTG=dnLqgWFKPmzYlJ>dkAu1r=XEov3t(Qig`HryFwq-501km8;H6>xKU|S0s!fYZ zFWmc&r6!8<|7D*b{(tYR_m>&OH4wHhYR82OT9<;J7~(&KO)Cs-VNv1P4||B7q398C z47?l`HJ?cSwfn84l6+2 zqu|Gbnoze2czrz76?m^(LfxVf&;L7;a3%~_H2b3m!*Kn74BB7+R}HEaea8O!zw}M$ zS@16C?*ouMT)@=lkm3!W!QlnC2Cj$U%H@0LqWVfv=|y(t5dZ(3-dxa`fA2Vuyq-2K zJPzDNdLDcbhR(GRy#y|YYv8LeoSZ@*+d}$|n92X{<#e@eI9Y{G*OVq}0Z)M)Jk@i$ zkkAvJ0|&w3@DlhBSX5gVmHw-Jz~aB~K=S8Cv_IAdeEk1^>;rN9@1|4igI~k%VHj{q zQS}+H608Pm!{6!y{P=Y3Lj32jVVJpu0qD1GsTjw0f2hq@t-|74rnZ^h8$zc~LF z75BeuHA@-)!I~&I{}=TWsqmDms2x8sKN?GEqEMk1e-y7XNQGTTi6M9gS}z6e`pAL1iUn?$xI+&G7L8k-Hg5+-VN`A zkHB!hPq?=x1QzcU!C{J>19h9(p_c1nz@H4cVFz#pnN;j97JH zL->1V#b@H*3-*VD;YBd~DjttcYX9*M2NG_AvtT$I-iv-1=EG;;3-JGPq<%lYIM8tZ z|9^j^zkZ;}|MW=LaK!83Tkt)&9ex7C)b1Pfk1><+o7mL5%Q7Y(0mGb5_oMr&s}KKh z6|=)%uVKZ1TO0~6wVX}*x$t~=Ash`ahyR3A;f=6xfx}AbM=~Um9rP@Rra1P1)Er}H zJ>^nL?CRWFV-M%fOc#4Q=kMLnWlMjn#Q;5eQCjJ_&i!aqSGU)}+Or{L%Ze)HD&t7K zr%6*Qdp6_><5=g)XNU@cYs92I9P)%Es3)#7UKPK^(jE?Zu)Op%r5mR^_mS~tz3jV! zIMcbgMs=V@nc{4H^~$J_IklpAkDdfG=IOmC#`(@w)}h<8Azh4*=m3wf_+Q}MX_b_a zuh#+?7wUN(P6Qag!cWsciADF8j45Y;i72LsDX!b2E)Q^oG5v;x0WXWZbP18~5m; zIitGtIn~53oZDjjT2+3uc*wbTs*8v9Y)B0;k>)-#mPm7_Y5=h3f>d6YXr(t_`S@2K zXiY-4F^A`QpTwdj$qVN~B~ zjZS9UAGtgQBL}}mtIp)-YSPopu1@t38$4!I=khBfviqxJBY6T!+E1}Y>xn0uH%M1C zj@6@G=+?&Z+Fz`b&QFOZYKJ)ZClgdH^U(8+SMioIW%!C|bxwa#N!q`PO4Z{hCeoS3 zWLIbP6A|e~rqyY?7^S-#)p{QN4a7dbCl!e}*xs4E*_6QLqRH|4Jz}>}K=_Mn%OBX#0(2 z(UE1;_Qx6(C9Tof#$~Ev^bn(><{I=g;|k~Ii%HAiAxl`Tr`>Q^Z&Wz#LGL#ztTJtY zlK+uLg;#U*$wu`+|B5Kt`9c;(Za?znDpJ?@kyyVbr)m=ZoVmH9qs&35iW* zO4O05b+oZ%qIyQQdR968XGv`=sjj!45?lMGSWk`W{2gm{Y*pO-ylvZPOt797Tc@R1 z+eIsbwS8=zmtyS@RcuAhr^nW3Q>-1MLBZN7wyN!a-fvFyWU!tQTR%y$c8=0olXI8Y z>U5mpc)LbDg7wVUYU5V0c8l_YwR>!}AFRRJBRUYQXT{b|Db}7*+cxa??AV%{V(k^p z4A$PU)mD~6&V8co!P+;r&PcKLi<+K7&gaBd8!E%L=SEY4wSR0~kzySXZ4B0dvDJRT zhHcM_>YPf>xv_PBigi#lCRoppt?3#W!?uH?mBBhBYMGs=ULs3Y7qxA#@1Bgz)^mwj z(WLA|{TNlEWpUDLanjc@YPL<(_uCyAZOqno{oDHOMk!g_$+t@MSe*2HAjfgR*ZROD8Nj(I8n8ZmKFB^110wB0Pj zqaV%EWKBVK=SEFCDZBOMqBA=wyKI?GW={j6DQ5a0Bf7^-<7MiO>AYy8O#0}<-cITz zHmBSit!$gnhlFwx6*69trww*iW#>mZIqJbb$fZf#6DQ^*GBdJXDk#E`=uUI7nP`pJ zWxcsHkxM$cToCOxmrio|L7x&+f39(cTuzotE-u5PmS@PN{Sj*VIG2&;GCL)gi=ykz zWr$pkja`YY`wANf^Yqne?KB6BimsjL6oFf_+RqG-bds&pmF56L;E^=w| zazTs#Bf8LB${l63yRw&D?lzZPxrBNdA1yJL)|wSBi*wmyE-T~``tB7`>8^4)C>M^X zbyvB3BA3t~Cr16urM+~1oXd^oVh`B|mw!eNn~S}t=*HOP19Pb=7d4yj43nep%w@7> z-1+fAH#$=;4dl`Um#dt1yw=a1VVSvXmP_cE zH%9N8OAWa+iU;U&-8E`;ifVROV2oBWy}rMaGq$Dde?~N+ySAJsm&x(|A2XNzav9B0 z+#0Plm#o_QepBr7gSq6cEr`)sQMDd&nJAY}VwWyG+2nFZbfLKn$)IG)YU{vvJnVvm1I^k@YMyHq_jt0q;mKjYtTf3Se zODM#n(UWG$j$Sj%>=es_D6N+cdw4w?=<4)J)XkVDYv{92L_N%!U0>($XpC7mq*$Mf z^32+$fwiJyv~GrbwP1W)7#%R{Lw~VuSh2UPePtca5iX9}_Lg;gW9xx~%(_C>ld(P% z&6G7UrteZ3L>Dk*QyO!MZeR+D98sZW5i@M;kVfsS|lV zA5D>|WdEl6VO&4Dw@>1jjL|aB(;#HS`SNI^%q3d()9War1Ijn?LjS08UuBZHU1rTw z%buu3@It(Va4txIEXno1-OtRj~A(%AO5higuf|#9*uE?Za%G z@0Z9d{m{n>it@@k+SxZzyTq1J&iy5tVv%p=jH=%hw8gqOhf){on*%8>o#dhh@TFTH zyEK%Grg%T+GFmR7-d~Shu93^E6qn6%d5By##4c4Yu?a~*E|b44sLMBFmviOPJjLY| zxnz^e+p)_na;co+l76tDvHrJrDS5wKYNSPF`X!DjpCxm)D$^=-vy0vvoTy%Ww9{vq z3d)iDUHp;=b9pb`N&higuS#*r)ZMP(fIo;`7RqIawJS9{UM>eUnX+6yj9sc+_U}a< z{Zm0vx5X}v<#I;Bj>=DyOLq?VBNsg~NX3;)N}ZJ7ESJ!&|K*}j&yQU)3v$WGJX|o4 z?231^RJrs`amkX4>cJQHlh~!wKdhq_)XNOH%){l=*dTpwi5kTVWzs1n zldqx)c(hK*BUc{T*8W#OzoO#X0Po;M_$i zIqWZ%@GDs6@k@=+KQ-88nCQ^Lz%N8_C8GO3Qr*?|ZHu+>x7JaeVm-k}%9FgKI4G&xlbg${D82(r?!%BjWu{ n9H!yAwREngUB@Wb8PT2Qa`#hO3X7Hu)A=O-=;*^?iOT;6x)wH{ diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.su b/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.su index 4299fd2..8c54de2 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.su +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.su @@ -25,7 +25,7 @@ ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:2550:17:uxTaskGetSystemState 32 static ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:2677:12:xTaskCatchUpTicks 24 static,ignoring_inline_asm ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:2781:12:xTaskIncrementTick 48 static,ignoring_inline_asm -../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3070:6:vTaskSwitchContext 24 static,ignoring_inline_asm +../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3070:6:vTaskSwitchContext 32 static,ignoring_inline_asm ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3144:6:vTaskPlaceOnEventList 24 static,ignoring_inline_asm ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3169:6:vTaskPlaceOnUnorderedEventList 40 static,ignoring_inline_asm ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3197:10:vTaskPlaceOnEventListRestricted 32 static,ignoring_inline_asm diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.d b/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.d index 221036f..5a00915 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.d +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.d @@ -7,6 +7,7 @@ Middlewares/Third_Party/FreeRTOS/Source/timers.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h \ ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h \ + ../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h \ ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h \ @@ -19,6 +20,7 @@ Middlewares/Third_Party/FreeRTOS/Source/timers.o: \ ../Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h: +../Middlewares/Third_Party/FreeRTOS/Source/include/newlib-freertos.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h: ../Middlewares/Third_Party/FreeRTOS/Source/include/queue.h: diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o b/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o index 92734eb2bfdc8d45936116459b41b7a2fdb470a5..963b17d00bd13eb0decfd6a2193efd4c6f4cc340 100644 GIT binary patch delta 34378 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�K`-;k`&oY|=b8JM(FLb5Y9zB3v`f{RY> z**!kS86DHhnG}~06k&eafLAfD{uiKU4$sT)ZT$OwHKQOCX39#<%TLM20*%0|WMgjD zMt>}HR9;H<@ciN9(^JyYa?|tjf{Z5FKl!{G(5SPqUl>JG${Q00H!;SI?yh1YM&qElmzs=6~RB|oL8aQyq+ z8;efr?u?7>7*AF=hQ8j@NPXI(={SvSGinUvf;Iwq;7vrCZSn!3V>zLRTIowmxOFgd<^ToO#3 zpH*~cnlCq3I(T&>;LSIUjc>kYM^KDQOBrW`PCsp)iQs`o`5B#TDVfkB#kg_bzvzt_ zRk-1Ps7BG6nOC^4lL9cx2?xf-Bt$30#Re7S&aTLfv9Hzjf&H;;eDMzyOH0qqHMY#j zw>zy`qw?J2#+P$l<~y7R7_ZL@bfah-o|l%FZ!DeH)|fS?IxjSy%&TntFt4?-=xi+` zWPT0atfbDOcs)y}B2EW{5T z;KPy5%#=L1VQlX3{B+~hWx0*v{Z2{IG1x&J_>Fh-?UDDqzZ17ZS#7uzJfS<#;>+9-aB$w{&CojSc_i-^_Lxv*$@O0H3HTMZ+B zjoEg{sO*g4Lwm<1JChT7J3A)yjOi9qh+;?bbp4=^Am{L`oPykR$|yl?gX)F^J(mX6 zH`*?%YIv+|Xs&C(s}=QF+k_ic)_>rcm70q^C?nvz^&!Tq8^#%b4GuAGZfND%rB}%U z!*OZ1;ewA&YM$=Z-#^z`!5>rlN?ZcW z8fvWB63D}ZTdr<-XyoJsm>VkcUdGN{m5t+D2O8sV;!h5WnryqxjSsTR8#{-)6@~7Y zpp?t8@(j|#C`zox*Zu@QUUG2lqD1HRRq!4fpI*ZOB>}py=NIu8L2OJ_!jyAt7T%4NnVdP(QT3QS0D0 zUb$nE(lbY;q$OjnTqERA3k{hp)fjlFEqQd&EnaH{(bB6 zoe@N@CPgPwCZ|y8VqDLz;MJ)|PZ?Q3En5`bE%w0f#|Dx zgo#6GcsBBVSkbpf#!x1B6=NBVmQ;6-PDqN2j_nr|*39@TFVI+aY;Y|rsGbLulX6)Q z!oFZgeh~H?&OPJlv9Y#{oKbl&O6Ku(zBz?4*w(2jLq>K&#?Bv(lfdIdjqcV!@jb91 zo{#n-JR9W{CXdSLnbA8R{ptrHMaN-%qBX)Lq)e~|86hX4wCwc4{Gvf8Jh+Dw=Rq)aQOKDAJiwZvR5??KV$ zj0s{UkHpnt@XacoIb#x2a#OO>^V4(ljI}q@jSrqh6xlvdxDk|AN5v+f9A`}W(XA-* z)&}ly(zOStt}*)Sn&zVh+}o)7;U~12{EVx=RxU5D&Q$YXod+A4ck3FP?$+0xd9;x)-3@nSMngPQ9vH!{4qE$cF=J16)YjNt(nb5aIr^LoBx+EDV|M#QWy8&-(?EYnm zt>f^abp7h^>x7~&f1RXMx8jR(1H2gTOo;D|Y?B<<9j9biQ2nB1Pe12oLUmqS>C@Zz z`9Ov0QGL45&8BBkY+RDFBd&IFJ!0dddtkzd@MhKtROObBVgIwSr*mj}KJH-Yl!J@H z|7^>Pmi@Jo+s5=r9~&QQg#D9XJegjrXwp9|6mwfu-oW_sznX5TnIq|f!JI~qGc}e3 z^LknVf_F(g&s=hvSHjg@oKCotnwgxx!ky-SoL4hjhx78LuJB5@tPIIaPsuLGF`FyA zwz);Yxs;^v9v)ZGSu2IpvXy-R@ajaq9b?~2!fA0nqUv%TkxTB!twvKC&nd`w*ZO$<% znFZ;^H$AvJ&XuejBpma;CqHjX$;-oYj=9c@7n(gA@*r%^^z@Nt18+XiftzxF+*yK( zmw9u1KjjP0B=+nb-`5$Jl+>eVP^jtU!-pA9uY{S)e0Z{syM1JYS*{wdT>Qj`zs-ve z`SLniCFjtTtgIAq9H7Lku@aNwjGvxWGQN4EvH4K|KVZ!MwnOnR6?rSgj>yM~g^SA} zW~?V5D?gh3tMINy*n2^Wvyb63x|-p9-^aK|#iOe8U|#wEvOjwENyY{#zFC7; z;x#kq(k33V;=9wO5l?59J$m=-lN5u*R~%Q9X5+>jmtAKvE^XF@HWV2Or<=K;G5@=!xCM|IF+k5wcqqcq#SbI6H#d|WP0a6_ z^BB{Hd5sY#tD9{i`9WOqk;%~Wr%3)-HH^u@hU2_mq+v3Zg_?lFMsphXkO2)#&h;JusqDH){!@L;R7P^(m**2m7E1C3uEpt)r7IW zlDFF9(~43rl{G8Vz8Onzt$HYe?Z=&L?BRQxYoW@F=ga2rbjGqYW9!i zz9l}EExVLy*~Od_i=e+8i!V~_T1M8Dy^UUEh>mzGtSh@9d9tp;@Bv+^mx?bed3oUp z>~qMe|6sfo$Z1LV=vTfHN(us17hLo506o|X!tWc8Z5c|AU((@7(R1ElX z`()NfPDpE2SbxzUpBBnjG8<0Xeap1B zf0(d;nE|a8ys!X1SuXWb;oX-Nwszy-=WQUDD<)fWmdR#GejUxv z*~sTjsi3k!WdntZ=CRIlHx4xMBv4r$#tKZY zF1!XWFdGB9QxLs)m384rG2RP#*#&04EI0dg;bE?v7wu6}MJ9Str80c9TOVDw|YFO#I|B{M0i18)f+EW%!w8_}MS< zE|txFsX}G=p+KpZ`h3?~l`30QN=gbYF2gS^!#~frqF!YyO3PgsfKtqhm&(?>U{F%o zx-$HRGW@18{FXBOwle&VQarYT%665iAbw97eqR~>KpFmE8UAn?o|5~Em&%U5VCbY& z+3^<@fSEl-W8UAu{)o#3|;_B=uEvU`Ly~GDI`U27yuR83}OMG2c z!R>{Vv3e}_B|e1Zzr^F`BBfp`qwm2k^-|f@;+5Tbief(KfZtc!jJ}kIC~AChr8rh< zEb91C8UB0OzN2U#$)1&w+uW`3CJT8Ks|>#6MdLM=atbnE*2cv;mTAzh3_r3A|Ari( zjToRE+bH=~g73hJBtJ~>(dBi??H9g;mdC`hHm*HP6%~R^nC|v>m%`&`Mh8MpnE@z+#=u1dTUc?_O!(S@H ze^rWiQ3v|9bczAX0)v>Br^Q=79*nQfEX}8~P|0^dA79*Rdq{q;;4@gdFF&~(!+;@re!n_ACeIf7M>m+8lK)V zqqu87-j=)M&&ry#3~Q1ao}LmK(K0=CNb`uO$jD~RQX|76LR+S`hyt4t6~V@4MKrdL!u&Eq^3lPo}Hi^eNsZRg+(+O z(mX7pWkj?`nIzuLVwvG zKQbRka!+ne3%--&g*slGH6h*|TdWEde9Z<<-ZadQi*L?x@4_s(KgS~k#O)bNC9J?% z1|jOF3N&Xsd5x9{v2 zSuK@UbWM}&0*R|7UY2-I;v?v`e#Nig=)*~zE$Npk{ z66voNiT_OEj}rfq=uj}#2FHoNTgrzp?>=%o|1S);(dwVNTl!5q4uvx z94fKUjt4Lj(66l!u9LW5;suEhC4MLInZ!!Cu28=^62m1%OB^gQOX38Hvm}}h_@4&Y zA}fj{o{>mje@*g-62Fu9Orjlk5R%h9iLkcBFp2FYc9*zI;#rB;T(a;$;KcB=La6(-N;rd?3;Ftt|W@(T*fY6Z=c7DY1#f))Ko&>?3iQ z!~%&^CB7wbgTy@&>8gNvTr0H5*j-|Oi9;pkOPnfkmBej?wEqvu zigzU5m-tvB{jwP4fIlQp-@>dQ0Nn`DzXBnw6)gEsLcHlqc1Rvgh-0ObAtUGbAn|%w}x86;{J;y+~rA76{FN|=V* zndDna>>_c1l#iDD>x8NJwo1vbkhopqaVftk`Fn);jW^fVvhcGM{7X0nkD`7+DCR?$ zk7qy0HzDlLSX;>_NE|3}2w@-G8znzQ;sS|lCGH{Y1OFeB6<4ha_O(O@B9s*HB}`(h zrsV0ny{Nvu#2yk~lb9uOEMa%Xrb~W_#7z?S6XwGI#j@foVOPd(O8zs6KTD*)vrsxQ zX0HH*0s#{1NQ{seE0KOhRf%S-zvPEYER;BtkoNyuRA|fC8Y$Q<@wi0#FL7wX4+vW_ z_POMLmPp@yO>!TJRS8=lb|l|YVuGwsm3$V^r8H;kby+b-;tGk|B_1b4y9bhgOc;*u z-IctKkMT$We~I-7A#W@BE`(u7IFcVKF}EV^|E7#hkrfLhu9bLz5OVsfU7Fx3VPhP} zlK)=fUlP6X+(+_YLbPv6*pRVylJ72Yu&f_bN$&qCR1t!Uh{PST;UU60_ e<1O5 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 Wto<1;AMn#E&T67R*9XIi&;J7&R^(9t diff --git a/Debug/STM32_WPAN/Target/hw_ipcc.o b/Debug/STM32_WPAN/Target/hw_ipcc.o index da9c581bb7af6ee06017371988e37319d03fe6fc..5c09f194c3ece57e9858e4aeb9b20cc0978b4308 100644 GIT binary patch delta 145051 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

    2. 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

      gsd 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

      *XGZ7_ly)b>LlV=K#Pxs~^q8qgKyR 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 delta 144734 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 diff --git a/Debug/Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o b/Debug/Middlewares/ST/STM32_WPAN/utilities/dbg_trace.o index 6ed6f59a287b669d501080f827ef31ad64f63979..fa94b6632481216a623fe5d6a1176a65bcf47eee 100644 GIT binary patch delta 142156 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

      )^WKvTt!p!Dx*{wqIV+N$9%p}hV&KIbc_ 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ÀD2d{v_?WNl)mDlw!+AYCxkKdkt0O0)a`pH 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%0Af%!VGPD0StP~y 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 nGu!|<3#}cIf!b6Mel|BwF%Rrtqv diff --git a/Debug/Middlewares/ST/STM32_WPAN/utilities/otp.o b/Debug/Middlewares/ST/STM32_WPAN/utilities/otp.o index eb85e6538201d6af1c21e80f6ad6ebde503a5130..437d35b7586434130c7b92e6a8cdefb66a08262e 100644 GIT binary patch delta 140750 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�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 D?PYuW delta 140703 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

      5d6+%uqYH*ch54-fMzFN6Px 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�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

      h`b?~96!2S9OI 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

      o`AloCjXB?nP%Gg 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⁢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 z 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 U?9^aWJyg2>|NpQI`~AQF2c6=WhX4Qo diff --git a/Debug/Middlewares/ST/STM32_WPAN/utilities/stm_list.o b/Debug/Middlewares/ST/STM32_WPAN/utilities/stm_list.o index 850d7a2d92c2dc6869e2ee8b845c59da0c81cc17..b0594c9b45334d89755d6fbd5976255bdbb8c1e6 100644 GIT binary patch delta 142435 zcma&OcU%-%(*{b^n4y&$fPHSBAn!`GvD2PZ#Ku|;hL6NAUD2fpk zBN9|pP!I$WR8+*oeTwzH-~0Y`@BZ9AbLvz*6*`?$b(-M7v1bmAb*nF%Gb^T{A7`yL zUu{!o@hi#3zc*(i+5GQ+az<%#QQHWgnka1Kt*ZCIsGQ;FR}*dIGB&$9h%zqML$Hx6 z*z3zg8{uFRm5qE{jRnM~;0$|ZHgcXF>IVj%OW3Be(J9y^E7sE3jI$~mVZ>&&)kaa> z*a7^)h9JR4(cUzbWO+sJJcd-=N@H#Gwa&z;E3v*%O3Uzd5_3Y+-<6Myp`@%aA{kN+R(vsKayR9%MHe`jqDvztjC|Bc80Ou#=f z9Oo3sY!27^*Mb?c^>q|B!5p#4+}FzPxQjL++JDDZ!5q(Q)tHV07Rqfr2xN2>$aexE z!#!I5#|?7IqxZi(^1^eLFs94$h8mmg|0lLZ{!46oi~kne-s}Iw6gKu%=6@2pbP1cH zwpmNkeXEpyC26vJZKMB4lL>2k{&(osS4poGyL9>9j<;F(f6|*2zoZxbkMzR-kzQOS zT_$#EJZ!ewW(r9UtkPXX(xh$5f27I9(bAYMzxnev!-?_V$Sh%hsTuws#wxMlJ^tIp zkyUDPr7m3#|E{jOGJZ+F{*QF`|B>$gKhiy`r01!-bbXpH*fdr-l6L$z82>W?%ap$i zX#5|Ds!OV=m3gx52-LuC*~7dLh}!vYA@) z;}|p^aZpjOBf;318vLWQkzHcyQBR(Nar4F1oQ>=XQ>DhnGV*=gR?TWzy_p>)8+mO` zuHso?`Ej|8T#~cOZ(rz6RI!$eo|3-fbhk>mjY3{WV);2~xKjl+%NGvEJuPTB(xs4# zT2}TY12?-u_b=tYk8)AZiiKy?HgdIEA=emw$!Lvit7eNm{qzlGwa0oU>idbWzKFo8 zUW2V`>&Y1!G6kM34NYX?NzdO5HJCG=OAQUoMmg^G8Vy;?@Dv8TH5;+j*fh@|gQfHL zcQCnb(<*TJlxF|7zD#qr{)2_Qjl5rr|1wE_m}$w@T+!Y0jiGLzY_$eReoSk&UZ+)@ zjpD!g9x-iLOL8ALR;TU1h_{(`tl91jVp_XBYdPRK)L2iZ-0Zo?xW7r~SUl5e_y1R3 z?#T>b%{#J`{{fVH$p*6K)1FODts3$+ED(qN;;cLTzg5Q89Ko7zd9E={VUBs;Hf^#F zYe2A5|5e|v)c91G6U?-Ao^v}-d4#{jts z$ID-7^s}79F*Q!YF(`(9n^c4;4$$EEx*r`sSf7z_b7vChH=2%a>uBKaX8L_n5^&t> zO4f8sB?Z4H5!}-NGUat8@hr}i<9OMFj(IhRp4ORu_dZO>o;wJ^{FS68)ga`{waLUZ zjxZlOS!sCW7_zJIFY+cXgTw-75Jdao1lOqt*&ck6ICEQ*5o32NaU5JqoRwRMUh5Ub zX;%p$L|!6F(Rbqc>P?g_W9hfgc2e1F9qAg7OQs*$A+w@cxQ9CWpERtgihM(f)StE^ z#p5glH@y)lUZEq~f7YO5$Ld6BH=Sf#jV7K-fATVWEsZYOMT*1Pky(Fd(P-2d`rYjW z@gxM2)S%uP8!LiviTv2Snua5DNjRzw9s55g*0oiB{4tUQCiblI$%zy%EG7N{oDp_3x-p)P)?*|U_X5AIHgyLOTy_{S16ULY@* zR)u{}L*l$WoQ_TUl9~>#bo|zbj?*?$ER(A)z`euBQ2Pla8y!emWY$uG76XXMP)-mN zg2?tOr%Ca=WE!2@f_&<7lHj72(C^1;5)K?kza!#^^M0eM6Za=6SpSSTM<-Ae&wV6% z?QwL>zfSzEM-ygl5IMYHoRyl{S7~^}&Z={^jQmUJNXKS)q_Z}D1Bs{N0I8gMpOm#d zK%-sT(C=9{$(!j_muNo=J=}h#fm2_S+77~T43TFHM#5wFU9h0jQ zeQ7r`sCN|_U*&4|Jrvz`QDnsKd=*{)_uEof(sbmFY&zN4CzO8s_9pu3_5}BLQ&Kj4 z2>o{KK;B%*BIuSmL}@gYV)Fs7H^l5C$^M>7=GHnuhRQY&y+JCeY&MLJ1HY5hhfE+? zZ5}TrOE=c43P=orE?GdwL*GcOeJg_4E0KDKC8YR^j7DRUDMAm34!BdDd+& z89k>JQDn;~qD|V8OI~3l6%tG83oUfKuFM)H=cgSFC(0|e4>QTB6C~5r{koKbR4*VOgU6QM*EZ# zXE$p&`CV@e!RcO+y$yF0>(NK#hu1R#JvWYcK944zLvx8|ik=Lr^^}Y|Q-$y)hjEuo{YhJ2kn zsp^cLB2J%^MBi9JaIV+L#KZ;U>*WZd@90N7C(7yfaR-vpJRvoUdXS;Js@@B!JLq@1 zHyPUKzMQWAthXc(v4nu0J|QF8?55whn$qvC8DvCrH38WslA&9&X|$G^lrVWoMRd&APRA>lTj1{Ch;xmfg06qtMZ|ji5E;Q&-GrW1FO~Q~ z#OiR8e3i8z;lZZ}x?Nu~>&+VCm(of7jz`3Eyz1q>VYJmIr0N-$c#zKD_EZu}2q0zIV+iQt12RG}hr-pO6{(!*M)b8ZQrS3> zfMiwEkgFUiTT=DBOI}V=AvR=aU>x!Pf#o9}Wmwg*HpR=TjH^#{>zhWTcupt@-(E?- z*Iy*i2I)kJ(~?--?xgHSDADtah(0ulOc}bL;Hrg@RFIY6mOmx_5|QXPQ`I&~8^3jQ z)Z^8xv}xUxM*kjQgWu&(6gawC`wM7HCK-<2gUH^;eQ01ZFqAgix3Db4(mdQbXT1lrslR^%R!>z8gxlr}S zS$f?{euVEM#m;slHgp70gdrq+?jN4isL1~=+8A#QsKEuRw0W|V=&@KdC~dysajvv+n@DN~4kfhG zs`*4$titi~JwT3Km`3qX303o-4k1`%&}>)XI2lTm%f3M^_oOCR_|PIyR6dt5JtmF@ z{pmh${^vCK@4-xTz@^~HguaGCA7=P_i1{*E&v9z}n0b1z?`Q5r!=w|;#ZCZ=WGuBH z?J6@`a2~v6Ejqvr>jByNm0%5#Ei~giM$7J(p?6ZYViS4^GAEiZ-Im$y0QOVa$3+k< zk+nvKq{QjyeI~jMVD#wf!4LtZK&zCdbc z=l!6S3vvIkBR|I?I1^IsVc5)WXTh}ioe@B*Cx3$2Mjh7HtQ}MK0^T_?{>k9=WLAs? zt`D>RAvg{*$th?~FtKw%Jk2~<46DyDRmPuXs;p07s?0yfRM~%?sd6BZA*-#*%S@Fg zR~T~T-ym$DtK95^#U@+hSq&U(4Jm-x4H{t$$~IZ|5&>=2J{^H-6YmMDJH$mpuv3K> z^!K>*9F#um=q&b2dJf89J9;LJ(9o=MtnXVGv=E3w*xT&HgxurzXC0wpb+ zqH*l9v>V|2mC*!xL{K13`^4?EWUyrx(d@&HiCTpaZD+EPh`~iS>ejxeK&As5WF2m>*aNg=r?W>8IxMKc}M^wc`TL_;IGxjuJDquq2f%7%<>^F>kW}bA0 z!gA)|OL+W+8EHbZOV*}7I2~kL6QR#hwske~ZtOl;+-A7%BfF3QG+$XydaZ}bCZ7k| zQCV0n#=>OH7C`W{ERbO0Wm6`@iZe3zmQZnBR%;u4N|xQDvvyAwgC#PXDceO$#AmW{ zq&e8nj zPr-vSpUKF_coCx-qe1+?FhO0R^gHvT17fv9ra{h*-7T}6MQ@+XeH45>EKC2$g9rcW zEg6Ft)ZaD}{xtZ}4Q4i(HWZXrgTg==Vkv~TBX+ppIP(5rB(>7=Iz&lujQlr zknv=0FNdLCjP)nI^t_oh4zRK z^t@5^WR;!6*bOF^E|#0j{l_r&7Blt*h$#%`0?ymas9PAj!xUVH_Pb2)MK}fbm`P_b zcAxpjdJrleFfmIIsZ?fl2e|%_`AFAJ8q?4)5h@;kFM7})z|skcG&m&LUPW`Haw7jg$=_h>zGP!_oly+GL>3miNolhNcfNaoO# z@(+h)<+LU{BCFd5>VswHd|`fw>=MncLuHyrz&$@1wv7%p3YQ>8pD`>+nD zvsl)?4Vr`U*FOPzM4sh=$b`%NFkMkb%Cp}BI!c}w56qKtS&jhP@UO#?8aQ_BYo(_{ zCy%=Dt!u#m$oDvO947VLf|M}ZyDoB0Y#(12jP~u64SK&?0&oWYja(o*Xig+}20yul z(ODl?!}QsTEubvjybYMktd#y)6-|@N)n!glwx)9wIM+qJ1AXJRkHFbv&bDG;^P(ph z_~*x;5ZlgtdkAcM<_9g|cQR#ku{$u|4nW9>X>Nm9>|xd&hOjfUuK;2$46_R%ab?<# zg$3@6Kdt0FnJ&A)8O-#g#6bwNVm(ko8KD`*jxqxy;7J%Wj~3e2V~iaw4vsS;n;}pU z%)~iBd(0T>!-{<7AuY)Zm`!ewf6aX91HFZe;U5STF~LSOZk3M>;T0z1I7+1-qIR4STSr4Y&xpASO~L^D?A2Z?1ZB0cM$I@=4C@JO)-Oog^v_F zG6D8f@oYZiaugjiVN9MP`~w_(t?>H<@nS`pH5=42#e>GM;-kXV6CwSiXkG!d&x$Nc zNR%tuOn`(lJGDQWz3ked01ad>XX4z4u&rN$7{;azL350q9}m|e+4pOpFq(BVfb%4~ zP=bZ=Y+qVnoMoGy2TLORS_=&qStis9>LoVk8k%dYR|KrcU}rW3PbS-GBAj`|KF4&H zeac>1kKQx3^Dtn)WY<2ZE)Ewb#G)u(F@?;Zh^l9Jtx!`(+%P z^`K{ROXr!uX)X4J^=+?|B0%k1Ern>u@FM)~d}SB{*|mug{N1Is$$vSIY5x+v5B3A9_Xz@Jc+B3r@Ys<|y2Eupz1+i1nuU734t^djWr zF2Ty{^2-bUeSIm#7nE4mITnJc=HffF{%#X8{MUQxo;;!nuK36Dx=J)J7G@F@>A80)`w{^xh7uA{6n?U_GH2_zAs8MUTc555+Vkh|vmm zB*jB9f}TjRit_z92XTrC&4G4OvCaszQ;MTS06VQHb%Ne_MR0pW?u=p~O;*k-7Eq!+ zLE$+YEawzQ*Teer3a0@y|4UN%R|mF}@j&>B>!`d{QtZw*cfKbEu8z4%n==| zi)TJjjxd4gkNjMfu3F<7A~4o^59r<9ph|JW|5tItHXUJoGnan9u8el-KY%qTu`MpD zF=tY7oDhvna}|)Rur}hQ?l=kf=J}4lW@Ue5P;y{OXSz(LR(k@DX+~5?*%{0X9A`Et z1^2A9yU4$=v&U0SV9tjS7&6z_4!`FW{)yjzt~>*!^MhT%y1+aaVoNHk!K`I_+k?J* zM=mHEdr@9?)7dScZyt3Qo^IV-3}trA&~JcnV4AwZ%e_qFoj84-jL#HE`Y_MvQSQ%- zswE=+2bqzp;7|~=;wH{!Ff-}^uA5LMeLNtKG90~T!kE&!ARc2{)d$OQW-gUJBACDD z0_`NTo!(NV3OUWc-zjb`ft&~1i=L%Xtg!^mLpJpch-vKLAyAag&Z7KJ2HR;HkNNiw z_PIauYJA z;rHZ6zMxO*e-vg-*HTV-)`tf8J^On+!ZXL3uL9FtH<}yFA4C(nMgL4jXcjkY1ACXS zln(goW)4`Fj!1^$Wr@jvSb3bz)v8^0;P>iQLoxa{TLYYHYSI#R?Ji2vuG>)?l=TK5 zn6hCZWeYb}REHaz)COqWENc%3w)D1kgmrezRXb>NWN!L`&4p>U4l-WMxo!aVWhMzg z^Jio~A$*7_v0^NQ38Y&il!y&#`Mw`B?J#ekFR+oY_cku+E&kxqXx#bOJkP~GNpll7HRGu@_lO_>*OA^~1($#_Jhd-w zz7em6gKgwc>!V*UPy289H0|Bu#sj>7TZl~g=5DJ&4J$~>k!zxdn293_R9JPl)i4Xd>s%@H_hPg|A2FJKGHwzqytlN zoDo7blKDrv!I)*;#)D_2vh~n@*xkwnWmaB z7Myvi)IDHv(9X<(fQxqXE9lMBou7wZfv(2VUlWo@Cd3)B%wp=%1KawHd24|`&zY!} zF!lvgG!VcqnSBnhE0@{pj>b!NbTII}WeJWz^pQEw2dA$reimHVFAKU3gZyRE2Cy8E zEvNPSL0Q8qu+`WNFVpJR*yq2!UW(qg+^dN@jNnYEN5b@l+CeAakRacB+hh z4;5*$sZ=vcm-&B(V5aOJPmDd1Ir#wXi7Z=$V3uqr%_pA8R?&Rmxh$8SnmMv%QRuyp zvDMM!${y?kbe?R(H8_zkJO2Sqf$ZH7h!@J1+yYpU%qpzFrB*CU{2kP{vN<$)vXxJ# zTiQ;ZJRP7ro7{n}h#&G7RL=M*&!n`fo#HqT zh1(Tl$3k$Yq7@bKcPXA;g@B{t!9P&3TQToE^zKot+Xb_o6|xlcTohru0OqQAc^7i- zidFQ=_E2o537(f?(>vJYtti$~{nJM=fB}!M;s#a!{1ul?=mjWhFNDNFMScSi0~H@{ zqZg!@D}%j<6)w1#*${;pJIvTnMgP|baF}8|mG;B20}f^%SLD+QGD1;zIeL+bySLGc zQn)k(N{m9X12I-{u&VxZQn9l;6rNI)IDzMkVhBCj&noPe0sEXH=RH`@D^AkQdqLrK z9r70y{cFPfONs;Tu;Q}9OsSNs3P%oBTvMEAizZpoAsNIQin;bcxutN+0Wn2!*9eq5 ziZ>(CyQ`S*4HoNt#YZfO*awQ&Kj7#?MNjO~!4h(x6R-dmvLDW+1bFJDpd9%BWHw5d2Fg$j=r z7%Nh!s3!8(syKKB)Dp#jU9j|>BIzcm?-dC%fnBE9y@IYC#Vr;VepaYMF;=elQxCKX zg^6-hUlrU)h<{hqID+8+P}E5Ti!FPn0OEG6qYiRA*yi+Bw`ZGBIb#?5f--atZ0u3U z?Pjf8IzZ5gojw&*XSOM2+xD_0^n!6^kJEbAjXkvjf*$O0dV6}ZhGx*akBzDc6+Ub% z4{<*>h^ChN*#{vAZ~%Kl0_OqtM>7~2$lf)=vqS6(TRi@t) zB%Ymp4SLVAlQv^4feoi=-FbG790G}Ks58VbvU#-7Nn*1o=by=Lx25^-BX-|KbhFqP zN9cXZo~DxHbM{GNjAgSemZN#W_T3HQOEw?~#^kXEy1HMn0Xv|nfc*zs@YvU^rygUr z%0F2&cFOz_P`E>x;0r74l|@u5+ofEt0+@p`m0laWm6muF?ms8x#Gx>Mukr*Hsa=#F z8Z_?8uUjGSp?o$R0rFPH&x6E17l@py2-!x^^5D26zZR>$0Q`s4rFf02=*`KD5Pn6BOAoy8Ie;HhR zri_)N_gwjG9-18G?BAjAg;GURidSFae5GFlpcN>C`a!Nx`5^?HMatgq zq3NyCk!r6c$`L5TvG0^SYk~8<(mxO=Wy*PtAYlEdoOcx6KyD#X4{;~z!S2J{u;CCq z!nJz{O(9&hV1zA{`==v}3FF+Uju_5;_XgT=?gcG3BGACmNUmXjgffcDrsYixw{k5o zV>uxkEGM}iREIvrg^dLR;O=NT(^gEk8!aGFan_#78i3G779x)%}`xQD%=Fo_#T z=im~zAsH-JINN^!bCuK58NJT6U5X}|i(LS@o7~kx^lotr{(}13oRwzrcQ{YlKXZ@M zVE-?BpIcatu~csGXsCV2S)FKpn!$MlLq#U%>I;}BT-g}#WN}_pSbom24MEK2n%w~B zOYUYKtjOhFOsC*;ub&{Y1>E9lU@78KMx*zJ>$MzuOSrytPnU8fCUCyzCi#K*f!iDi zmp*d!XrBIw`^P#BVJqiKSEKpDZP^CuS8hrSEd9m>zJ?V)xTHb|{^TNQA#KaATnZI- ze9T!mx`XdF0($NF@!i3>i*NQAJ~{B?AEAlk1qX1RK5R{TNQ@IsWbh zu$!JU_yx5o z|MHaYON;GieDGBmmCesk0w#wK=?3*L`CfDmbNPG$HofB0Xp2uizkD*r3i(HyDC&Hj z6o?n|doWjL-}2pOK>Qu=c^u7qzAasIWxPLSyFT*O-yu$)`7GMQSk6D&DB%99;P=XL zg1+*ZuJG_XuNe*%Klm1|u(Xmt7zItXs%f-?X}fAb5PCaQwnGu8U8=PgKy*<3lLYbI zs;#tP%t_T^7{>OhUei0-MYS{&M0eFrngn>L*4KhwFO`coy!TdJsG5KJsA^t>yswH+ z1M7a(5-Oeet9nv`@qlUswz#tgRhA!+IHcN#x*;2+dVU>N1gqxJiYr7lp&PJ|sJJ3UE!BN`Fs7)shvGEdQEi}i+g;V2I9PFCwagV@53H&T)ORt3?m_v@ zbXCO`fM%-R)P@(2RF_)<^oh!01VFP?`X^|ft8R4%OSWpzJg~e}EvJM~u4+QXNAwnN3J+F=mlUKviFyRfA;*SZb z4p4twxUv)RIw8cZg=>+*Fq#QP3l6jwBt{rB8}e~NT^T@63MYclJ1wk~AP_Hn`3Ci8 zg~=T;mLNRnjox{okv%XI1%n4rk_30E8D0_wjIl!Es&I}JUK46kvNBoFEQ5+0LX(@2 zza=!xMK48IVu!IiLZ>~@bXO>956}lfNn^;R3Y!LFEKTTl5Qe4;GY&%_Qy4|_lSje@ zZ;U+=GO1#kCAgo1_%osQ6#(S zX*FMvq@p6nMi2fxA zLZbM`7)17h*j|RQB=G^gKrV@O>HT#@+^`iYu8Q@N5rpgFQyrj_#ex7Bb5q><1Y@_v zVRR+jwu(XdK)WN3r|IZDaW_>k?~79!LNHalL0bnNij&tPr0L?)E?~(Jhg3lDk+@|a zV)0m9=?R~*L`?!rdn#Uw0?Tvp4DA=m7MHAr_zUq2KBHh?idS0TQvWDEtOl^};)Y6? zy<4*8WkSM9a##SP_DIvQ(3;uvdLQ#O8rN)(Whbb4TPc5PpWh^_UsHwlY26NHC6l#1MLxEk20XPEPf6XTh*m)L9Mm6P|#+{cKmLeLiv++e`3cJ+uqh12Om3(vO;6W=*a-> zWKTwP_MwV!m$bEj>pF1*DBYr|j?(>X2k`V*L;2*Mk2*q4uZaU-MDGT)F`~~bx)b}| zi^Q>i09}a#GTbmaaDg7OgC_rt--B~c!K_g;jsbtl<+JquU$nR`EZUMv)jm{Qx1n)k zQcR#7V8Uq=%wc95<$aGb>lQ&{1ha+CVGJ{4!>@e>`#6bayFOg^mf-f~NstZXR{aLOhq&HD!FiY~phWBuZn!m)?pm(L3a}pKUgQBdjB}#bdpLLHDA0~^ z1w+w0!Ch$pA0oNOw7n>b^P2+D7*2Nx;;~$OAUNYVM;>}la)I+95YOGA`Q90>>qrFp zEcZ7BD1qZcK|IGTYlh}L*Q7Q*e-pXoo#1m4mv|LCm$-HY^e%J3v?uloH`xu%RZbX> za9-p3;6oG4I;~q_Xfn6*6U@HB$v>iZlRNJN*KTpjm%vQn+Ej<$+uZbhF#8TSha9}m zB~yOo0XND98d5p&PulYKJcV-XKR2bgG;i7U?z9>cZ@yadMQAB%v}?p z{t0(_BHYg64$gtz=iEYC7H4x~vmubfWo!oV1=op|>MywqG(XMb8dXPRUU7ZSA~N}0 za2hxZxEkkZ|MP2ZJS{Z}xvL$)TEsbFV+C8xDNaN0Th40@U`n`wZ$T{OrrDr*$1OMu z`S+Z@6O8%5ZP*5XKXMBvAFWXk3gXtzswC5y7R&+G#*wy z$`#mN`~u2=d-D}^OZ)JZ^o`1X{x25B`12#3p*MiPNNLFfd}R+PJjg#t1~HHySp&U8 z{QK)b3F5!*Mst|&SBkS0!q=vEXE>i%37d}b=h^}61i#GzrbY7YUqL*Ix4tTeGtvBm z#b7C!=7x`yoQxc!&0G}@LgWf^@GCvNV`LI`b<5lRr z%1@>Z``7qof56}C{H&E|lKCXsmUWAtLZ2X{@KdR_+<%j`xU>9 za*FwUZcj7?{9Jp0zUG@Z$H^{Poc8L>mPjJEdJt7>Z?=b-9EA7?nK z#(f9aZk2x~Se#VJRA=3z>c+rbXO-(F+JEMv3gtj`RaF#0-d%O14qWq6<=ujWx5|Y! z>g`iKr5A*c%Hub<=Brva5dwayn%AIdzsjK>PK>|mN)w0&sGMmd$N`n%Z+L%DrKHk8 zpek?*I1j5lsmKwmx=b0(XjMur#KL+_HNQT(H&o%2k-e!>Hb!$x<=za$6jjYq@Z454 zS`WcHs(9Kbd{@Q#qjyi$f)=#*RR!(Qd!YKG0-91)rJZ5gLsg9{P@krnhAov?RCIp} z%na4-^&n=dUd#aJBUMxY#2;H#^;aQKPgKij5tpSZqQ}ltm0W^P&s2vf1@v4so$_ee zs*ZG#=BNgep)XX+>BPKLZKFMzxvCN#n(|aW%^>hfHG!ti`6_!VClsh6-a^xB)sGoy z-l%Gg2C-PxJq^9LD(jpO2$rb2lNY6`F?7=3sg4eU+wWCv69Dr;wSx9Ll&QKJ+BsytC(v2R%iZ~eK zDSVznAH{eHm#D1iEhJKvXP@w)1sWgW6O|2og|>A6`3dc=fpfpW&jOmiFl8hx3=o<> zMeq&?)4yZvpwNZ#=7GXWdZix{Lg-l(B>XWHXZx^l?E{)4!uS-(1q+W-(S!(1uS>Z9 zLWQT4=r}5Dru0Ra(27XESp5~m7-7Y2 z1TR+T>jrz{gwdbi;VEG+MeVdO?*N*3;js(A&Im5^;MrNBj}1`H2}7>X{^RpP!AS5V z3XMY%*^9zde5j2Tn)g8%b4jSY2ThlSp0(lA72(oA5U&bCBiM9JxI$CPWZ^D-RC7Z( zLOH>kLg)*)c1y5p1(p<{%Xy655gJEB{H~C26B_Ob!bHUBz7W(NoYn_I-M45{g*G>! z>7g*XDR|O^jUGTt7ZT}S!CH>;S&xJ@sUSWUn$h|rONgNY!BZiDD)Y~T-SkDyb0Iws zvB(x4KLs&InDraLUJAifpU4%~9)hAg;hj5ruY|A1;7h($$f|%ufgojp^|er=Ge8T4 zGxS<15|&q>c_U1Y!C0}7{TcFag)S7J5+Q}&$)&=y*3k4$IAj3vy>RUunh(M`C7Lq9 z_B>cV2{mc`@mV-TZ~t<^v+5};JlFq7N{>3Ar8M?|0!kZM6F-xY3HG zQYgwo&sIEq7@RxA*Vxy{+KU}&)wWYCr7xo##5(k#aTFDkAii7tkPAcih&}p4p|fa9 zi-Wyl1XXKY#09hm&{d3}oxE;hg*6YYhv-Z*B2Q7<77||Ky4SGVTkJUvcJC86dLvLi zVgcoje8sbOA+TSZbsy^eMSdw*0>qX3K|CmaqD)YrxQ|L}hs1lIaj_i{Lm$H4V6jPO z^g_f>RK5%qPf$VjsCZ@{&A-FMV%qU}Ol+|gnvRS8Y=9Oa2JeBtCqze2G?8KorKO_8 zRWyf*5y$(Y7b_mwk6xVkjpm;x#X5a~a!O3ig1~9<5uNli;=J0h>8#kH42lxOj+B}| zC%TV;+<9@z3z~l>imQ3U$_5_ziVrHHi}z=}KKC_15c#rd>Gx+n5~L+-vf=^Xrg zAo|7A{4-TN*9h@S6N{^ZHC?Pj>;DYV_bntc#pzTme%P z_)r16i$wQk0DU7?(vE^+@pLhWZ^aIjYc3HDG}$T@e=5{*9O}TLgY2rJuI7)k|RB`k;?8vE?AN^0a%C>>jq+|R7Z^ydQ=LxmP79`>Cpo49G4!`cOel{_)5T> zkZ%73F;W_R9L7XR*+(H5Ew!ZGuQ5_6y+>HNC~-q+wUUa#DIhn+#7$!~TH!(-K4H zHC|d>29`6DX*2{9q)rlu=cH0vmz->vSO-jZmNj>R-en~3* z3pQPrUel)GE0Qn0d9F&D%TRGmD%t~u*QEvPp*~qUJs89rQj<1Nks>K;qq!{wUxpKR zq}J1+=&p3t9!}hoqTfL7zO?8Zz5gCao;0&hm984V`cUdr2QX<;un$1fr4-sdlqq@B zHTOs=r7zMSO9q-}JdsZ1!0asPGv(NxO1T*jeAdRE%Ovkp}H1F(Ne0~{eyDHT)J(^k!{glTr_PmLkJT^&Tb z40foSjDWySb=D@>v`amxCdM4pJEL%#9M!-52A19Gkf}g%Qa7$kcZK>e?dNw^UpWV& zi~4F)h`U^c@L?FQ}I1W-GjCx9#(gx zkMxeHt*27nqLx+h&1$JHi!l1Hek(VFLkdis9! zBGrx=@FGfGhvtFNYSb}tbErpug1>R0st$VR)$Y4tQ=Zx?G-Ba(URpEX05qi8oP!Hb>g{kTrl%05}zSSPYG<8xI1k%+T??S~R^;fF+ zK2~qN3Arcg=n|;NQr|xY6;IVm+aT)C)akp>d#-*(yI8Z;V`#t93$+^+s$Z%Z3$6ch z)xjMgpQr9Zv+q~xSI=NuzPd4eJy)PUF$%1&)sN{7Ql$Qks!?y$bLb6HtUigoSnOMM zFAk=asME?}XsP-U_SMk zYc?N%iXECCaS+(0dEf^W2MzZTn2wqRdXMbZoT>$ToitXeR_xK7FNJ4TXN_%jNbJ?D z_Q0U4X5}Rex@rDw33+$T%6`!6p=nR^NKZ{l3W#2sJyg8+)+AB!VV}n1cZ~UIVrYxU zeoZiaw&Abobq&1$&FYg7IH0LVDd&TleA*NhsM#F`y@xbIX(NA-RdcRAOgyYP=ZNkR zP1Z#i6RZ&q05n8XmuAtSn)u7;9o3Z5Q$9?S>kLQ3HH#O)-eVdg)rOC2zEKrAQX`P2 zD2?lR2t;d2kHeQ3O%_EaR&$N^HJ;S8rX=k^%9 zr%77^P4_jHXvja%oTSgwQZ?!y@GwntjP?bjYg#)Z2pO8M)xepl*+ZKR9%<^)jN-AT zs3&}RqOsDdIZHE*@@mgCJ86FMT;r#N71^2#6RZHu(fm%IwZG6L#K7Q}npBz$=W3o^ z2X>z3VjHM0(0sthT@ z)oeKo)81*e{{Zp5=0ks2@j-L@2gb@Y4#%ke^ik7n5W1f5S;TMhZDO6Nw zrd)@LubTFhu>YnRN}m&b*UT`Z`Ju62f##$)TyZs{^-KpJ1 z)5u-gp|8<%(5mO6=ctwbgcZBBizie4$w|v}f&3orjU1pkYX@IL@b_xl%!Wc2?UKtF zbJc#MGwP=8Kwqo4YnOZnjE8pUX@Giao6JE-ytT3PZrrE!FNA=Pwvy_exx?LIhrW# z9m*F)YlqPKFGf3KAi(0RT8XZtliCwC;O{Bz#CX_tT03DWB;vK{f1){~y=w!Bv)aGt zQ?dlDGfl6~Yh!mqQ=+!ddYr8b+Raq)y`()%FRshl`=fAqUC~aXN!nHI0Q&Upns#eG zps#CP=~7SD`sTsj8(M2q`pY3VwP$Io=q+udzR;ASEl7aGZEX$OQ*uXp$`gWjwOzAu z3Ek7yr>)fww7!?2DOLOVCN7VM+TQedPSf_uhH2^A8R-zn(7r1`lc{~B2j(N~FcWNg zq804{ouzHDAHF=*jm>v#Ps{qinOE9r zg^hQwf-_ z+9rt@`=&ie+lszxz2<`Dhc<>LfIqc?iD)Xd%Ey4V)#*avgq==(6`b33eLT?Y&^>ep zioNcDS-}0bQzv7=vrBh(AS~Ujv!4k~PP(@bz_Um9n5GoYI%i76@6~#6JC3QlhuoHBzx1x7Wm(HShUU%drI1_d2^l? z@96f{2Jx=$C{=9l>1NX^<-X2~gA)&QFQ38RR9zcyD0-+{ULCzO-Pw9jl&-UuQ?4>Y zSAGE!nYwh^|NTg}iN1+>tUC}2OP}bxy8|>!S7$y1pX$mFK;bjpG;j2t>wZk77l}^m z0!=wO8(PNY>YV8w$pX-$u__pWOmx@74Fa3^^Bl?^+mh)wgZ{aZml_+dS?+Fa0gr-s-J4?EuU^ zeUv8#ee@49An2>F-4rl>`Z7D5uKoJe{xBv$-&Y5g1N!E)iTg#qu?~uM% zH}rz^vmBxDu)Y>8r-JpZtHJva{YGJ8|hB#b(D~c z*Z=th#54LX$#CMV{!VLXNYGE9SH^k$UYgt`>d(=hEb9fm4Q(j6s26CXN|OH0ItX6U ze;fq6FY9L%g6E1ph=Igay)GYP$$B#tT5jkyp8$GOUq&C2-_lpyfoUoF{%wJBTR%Jo zzNG0RXM-hOf4B{L8TzD2z|7Q-YzdS{`jiTcJ+|tn>Vf@4zhnYD%+h`^FL=C*?7V^-E}9-dnwe*1{$Fg_L|Q)&HP6 z>pT4<+I{j~KehvUAM|@@Rad6JJOV5q^{c!g@JZihFns!~_a6&lx!yo;=r8(6s>oL8 z2Q`GIullov(ECl_Xg*lJ>+hFA;D^4Y^$lY3Q$LSpJC*w0^mw;5c>W0|x)lEIGT5%bn1i7+eJJT@XtN(+Zic@o4eD-a+Yy`|hT0s$ zY2YEx>SQ2lO5=%q0^K8tl{<3pBLx1@<9B z4chk~WN1&O9X9lNh31H%+zl|n26uay7GgL-%c4+&bO8cK4H5Km3Nx&JfF|59G6b9v zhMjf5a>DSDE{{mVkZk(?Fvd_uf3G#xFtH;$FPZQ$o)@Qxw59Jbvx45sP+Jwux}zxbZz9EyUV+Drc zG{<~xSVRfaB7?d)RJ<{ivS^A8Eh#xtV(=@6ic-UU`lRliVex6$``%!pzjE@yFl#Ty z$_(v`p#G!PaGBoJ<%Y?};Kdh1YCNzj3`1UF@T;MpGX%dG{CM=f8~XKx6+a9$$-6xeHLtg{8`w;LPMyL_i{C9TSK8M8~l>0liDJ6N2Ia;kjqG4ku+ znX}P)o&M&6tI^v9gKowonv1&|D~H2wFJmFiiM@^Izk|5Xm^2M~{fq|6f9^M4rmM`~ zm`<7w8vmkYdZ4j!4v2@0IkX@-VhsC?CfN9m(!L?aSW2{p8JE#CGTb8x?=pJ>h- zw^8sDjZ6_xe7dp0L5yV>EwL~y)7X$6x=)PkDx9V) zV=?XUd1^dEYprZ!QW;osjP;f1y)gbxdBi;9>8AjDWxPcd%6y}pj_MDE#!(+&Vv$ir zlj%3c^Ao{SVhq=!S87~I3(j}O*7Q26FgkpN`me@%Yv{T#7S#vwyKyLu{VD+f5ujf_IqC(-YC&R1XycE4$Nl?g-AsF4LfGkZ>?P zYyk;J(>O;+>^5cJgBMPwGOESwF%7#9f1OQ5yJ7EMllT=Dx|oJg)zsCrh34>XrfyX3 zaW`3M9pzyPmcZ$0N`45ly-f8)^t??g>HO?7{iH9=tUji{Xld(f+Cnp3KhvDKIQRQa zE|Ea(39eX z>2LZlBGPnbI#{AiQ)%CSw8`HFFfpd~^vzVPX$d92;!JHQ?|RadkPenprmia>aN5*| z{%BLY=>mo1jOiY&-_DvcXTX>Q({fjMcFttY3rC>NoBFK2J}))b*BUDwrM`yIQLA`tOL;AHx+Myi4RO+4FQvCN*W1c9-7u|$5@&v zmv%O!o0`y+F~j7$0xB|1xs>L9WV%Qb-p8g8TDCqhg;PkfOs8m_{nX^T0aiRS`H}U{ zO&#W8EZcPc2F7wsf)5nEFgavUz2>D!Oa@x6sR8+vXBtEalvgI979{dbZC^v8z|@$w zR=zgnTtu(XRC5ucS7h2xV{c5q(dLC>(~1x{@z!*d(#<8N9&P|DH9ewp_s-OK8?1P5 ziU>mxKA4*50aj+(agM(K{%A^Hil~1wO{Tv=`Pp=rcJY*(w!MMi7t>qXX;Wc}p)&ke zQxJVC`OOsj73P08Eer?f57PxI2>&#lpafT?iGK|iTl3pC7_&1c>S4@w^B-@~>@fGI z&*tpS0kp#0X|}^xPF8l8x#$lJI+)YwBVI>yPx^jlw>jr6g5YF!r3B<2^QqsV-r3wZ z6)bzr`8%P>#hgqJF;{aS?f7*w7tjmS-F$BZ#68SIr-A5cZW9dwFY`=#t9YBsrlQ$r z{%15eeat&wfyL@;PHzMie&%r6@VMXXwF6Xt^Me;)4KOdH8QcN0Q`MT(JbyC`4KyE} z1NlQ{`Z z+-yGrU=ddH3|gI?F!vdO(-mp9p}(ILWsV+z2t}Kn$73wUJe!`6v1V7Qbi|oQ(x2Qo zY4+ZX=9IZk4UC;O-?@h--W)s##4~35KcVofc_2MY63pLeZh6kEq!sFU^Fj?YTrfw| za`~d!S{@9EB=e3mD7<9$`U``X&HZ*GBv;KD_VE6ic{G*duA8@0`6Sug?QekIFt4E% z!7XzPX-Y9)XbDGeo1KfG;*R-iZxHXAM?J-9x^MQQ@2nq~FMa@Ks=09mdglTd3Hn;Byg*oPgFRRVgyB z=?H~y%&9a>DmKrhh2LBAs%-!(F~7WyUa5J78ohVs(=^9>Zx*`%?1Om-t%u6YEAG+X zzxZe#UI0y>%w2h$lF#N*7D$wvPjAN97qit1V-@E06yUGsmMYl$&3u}2Z{N+@M7aIK z95)N5{WOQt7MV(O0PUc%wFKP-n4Kk>>W14bf6j*Z4vRxNFzqdyDKWj%^1LC{|8`k& zW+5~VmbsGw>S+0v28rF42FuWMvOF9J&^?xB^v#H~rGToRdo5YlV1(-vVh8_2P|VILE@lgTt8q3T3U|9*ddGXH<} zLM(?opf}W#PTK~KTK1TM5@zvz0nTtsQ`#?Z%<>n#Z;xBn&?iCG2+I-Ln0Uf6nbt0m zmH;`ZQICoiOyQ#ep&=36?Gg(44dQJ%!u_OB0$@UbMK;4VPrKRHyaSCCk^^;JIvRM9-@$ zmM5!W;#G^0vJBTOa+(BOw-|dseX=Eg8;Cb7-Do0r(=xjjnp>7VRBlbNq@G6awxyW% zzud80Z3yVQmW`Amy=R$6i_!a*J@l@4V5!p$_NH2_1MfiMp=A@zebOvTKZBZXk^IqQ zSgx-_EHW*z)u8v0#go#4k1gq1fIhL<({e7$QuzdCKeg1DiQY4demXQgx77R&Vz#Ai z6s*Xx#L?E87nZ9p;nGWsH4%z(EtOX=mS^c|y$MaPEGe}2FyE5pftVCntaT9CB1>T- zSo+3tpXS@emiIJYcxyS~g zTJ-mT^2riFUk`k?#Lz~La!c_?E2eUSUA448G~25Ur25^CY7SJpwXb%8>cS4yd>!GTW3|on z@!sxgEof%#R4ud`SoT!2P?pWPn(85g`)_Zx>?mNnRC5^)R@Z9Tc>w)?IJ)k*DyuhM z87-|}WqSACd!nV8T8_+YSZd2OE3?wdRpz=36I#vc@>O=B$KgVRaI*A!hl#n}86jF`??n1#6v zhG-XL%4FPI4q~Sndnna2i{WYyeX|+2Du9>6NFRapXBhR4=;bofX}z_bWwbei%sEDd z4&6M4AMMc3GlB(p1THY<(v6b&jB}K>cad>ik6r=e{0CrI$XHCTXc41^wj#xhHo8)< zgz*BEvX?UY=__Bxc$cokE@x<;0HlIpae#uC7$+k@rINv40zIp2jBd(hsAjZ~hxamL zE8XjGg|Vm+%3Nhsod@VO#_grRuVJ`92GLr^%QGP1b%uNhO&z042tn%^hJ&Eez|c@4 zVWZ0=?}7Xjn zCAHjP{5=me?=q}(RpJ06fs)w<8P8KVdx)`r2M|UWQ*2b&bRUV!pf<{INCM~>qahpY zA28T_P#b47wSw4gEzYm}dKjQP{pGkE_3nNw)p4Pw?%iFh#c1T7CCOg*iJ zq0IFfsCJzB?hW9FF}o@%5PQn=?dlTDxgEast=V4uzGyb6Xn zOfL!toMFaOAUc=H@j)+-d7Q4|wVh{%(Gq)sxnL#Cmd{-9J(`P5t351Kz}!SXMIm#; z5Ckq_K1*wIG4uH*2vfq`atsVhnNichzKj`{gt>BNfdRb=rr%XGmzeSN5vgP{D3Dym zeE$TRYGx5_w=XmOHbROkHs<2rLG3DYMJA-U#ym6$foqr>>GWI6>^K69>&%~KLee_s zH;aH#&wOPa_%<-TQbDGX+4m9D-eqQ8M>D`=U&7oV^F{h54B_Tz5F2KO(IMv^vswy- z5oQFr0PZv2urWbxlxcHAcZ?bNIYfNGoI#POab`Jr;vO=`_G0i6^L4uS@GhowXwjJrC9qFDT>5%6T1Rj<7Q5nBc`~pgpEHtA_sQ z!H4y!6J$Eds-ifLFKaF3wED50q0|q5*5_n|0M<_OpdVu$A}4(y>-$t71hL+7LNAyl z|CQnoA*?9603?)^F&#o3XXR6ZL>Mb^8hYU@`&{siV12~~?Gvn$H4rV5_328;6vgUJ z1es`-OE4J5u-KGh8p|rY2dl-gp8FhB;#r?0VlaU<1y>!|C9)P#s#p^1DFqIaS<{eb zV6#hM{b>RFRMsf1t!XUb00chCnw1F_r&zCRfSArINCwdiR`x7dJ(Kk&B`=+3&0GTw zvsiPKpq9-l*bamo)}A-eJHuL&283MJ3Ob>lWj*^d=FYL+qi;zbYZC>F&$H?%AJTS# zWfcG>pT!`57?XvAq9=ooiXO zR3CGlb>0Y=I#vLMr|Vgt9YWK<@}w7_k@fy8uxMgAF9!Q&R&N^ST3E+vg>GeiF$pPd zv0h#d%e1j9aTsi8`B99ngLR*loKDt}WoWus>;3@WZk98t+rzSHPJwnWOF9X}+bq!v z^!iv`xtP4mDxge^0hVb!_ztpOqI!TKR#P7ahgp+!FU>vH9J*6wgf*WETkf+Or09*Z z*4zWg7%MOk%>$NhDNQz>8dG3yuFZ9HM+{05Uuus(e@&$n&wbQ^9k#Vf;pZz}|L zVpq?Bq|WRme*p9Vdl{u{9%R290ka)qH~$1kS9T@Ux45w#Ixy$X{(_RjJlJ(%kiwI_ zwGFh7u+LH|kr(^P`=IH~b{&U;KI|2%A;nR)V-T$E%dV#M89%n2trVR6*%6cn9l(Br z*2rUQ-)F%hkp1tQpccfQ`#V5_*&F8pF@$X&k6tMI+P79(ozl zN3eS-dU=BV&T2G~>}koM8O3h>3xYcV+)*^shVrwZkyOO>30`RNY$_qfKX5S@$?PYdl2P|`itt3D3 zRra&=mA%G(W)0?Q*yZ$(|{VE3E? z%}%z%92mBX?MVUXUiMx}qrT0a{~iYW*lz!wml16_Po_-?y}#P0Dpk}?Ns~} zgKS4iPaI;`d}R5Ze~raR9cvm3%e>qk1AOv*!DAl_>?_;3CuRhevk@82hL|J0prL~ zeFxf3941wJIdfK5pm%_?s24;Ja^9j(;33Wn-$79qPSQB=4s+t@IdtVDQ0{~qXZiC$ zaOY(1h1edPr4&@~0v6VS}&#i?ha_2yJjYL5>G;d8udoEsm3j4vmTYQp_E ztLUmpf6n-8AR534qRZfpaqMW{8pxSN8Hhog`5yuym~)#_JVQ9!+%Xr*+44LdkK-Km zV(1da8R0>qT%Rlmm3a#$nTTKa%rh2-rt)*5yLPXiglhW-*-A6sd^iJlzcK z<2ZGT@I1$JT=|$w;C#CQ43jw(JHRQ0bLhW~ALs2|fK1~!Q~B*l&W;yA`V=Rb0lak1 zY9)wea2zNTFq5-|YI09=Y_sX0o5e}51V%Pz;t52|;e<{D%o)z|Hz89lC(QRO4Fa#SG zb1LQmuY@BBh4iJIaN8M7mT`v8gGD*#B{j6K;I!RF?-EBr884Nbx?o^balYe2v}(@c z2k2eq+^5Lb70%bQ!Raa|c?PImi{fowjn`(vCk8+1;x8TcNMyc60KdvLi zV*I&(Qi^B*cXSiT9OG_?0Zbq_a4)PL#C?}MEy3JFe}Z8MckFk1xwxO{F?XE%od!)9 zw}ozP3Fkhgw>W}ZIfTIz+#el)7s)-tfrL@qh!-#y&2^?~h8XV83!qu7jhk{7qj6j( z`gX^2-+u;^3EXjf2J8~KSAGU!5_g9mgh}SQeuG{Lw}lQlsoWX6FqpLvG zxf>}kbe3zn0y5{ge{2Fw9=DUcG3U7^6M7f8XD@(Z0r$P1Az>l+`Onc5anHOC;}vst z^TD@-J4naQQf~f5=u*b5peU)4}*b*0nx z&PKU;_P`k9{>sMO18(hg5FO_R&?o#M*PY51A920tD*ngZh*q zWE;pF=l!BZ6UGasJj`%j4t=^Kc)!se{sb?10)vsfTH13(@v0ipi{`y!29+3ICmpq7 zc~4UzZyayiQXs_hn(5q^VB>v+ggd)L-iRY6lXw;u%$CgC`~jL2-rXXImdfj)o4V3? zQU!>n^M2d{<7e^;%%dH zf;OI+Jb3NAb@VOk;8~j?eJ3wG3J6`iz?q1-r)sT z1LQ8x_Yo~;1H5UpSPb$)euBP3JZ=RrhIyYiK*W2z*NR|^5uOiOeT)}P8@Y$PiWu}B z@zPdfZi2UF2vRukyXm=de)Sd7AFGfB1vUuQo@k6M@)|=l$%J}fZ>A5({-!~s~zWkZD(DUP`)MCz` zA4uoT0RE1zA=)v1>JqRB<{PP+HiUnfGI>M!yX=5)oUeNmjKcVDw1P@F|4Z{Tc>f~! zJ1ItYf-i6V)^sv(Tn4^^Z_HD-}4g&6Zk{qWJu)Sqq^!8e%K!T zb|?AQWMFuTe~*ek()rJ9gfJQWxVcawlh0Oy!)bmIC6Q`_i3el?g5tLzCZR3yAe&I4dHyv7B z;lDy(ks5yDXOOLq|CCO@^?VUM)(!mc&p`V|eg&l)H1V^4z+5x`cI~_$&Ax5LkVo z{Xs!H9o!BJE^dQ_?t+mr{4gE@F8!64r=YzI?2ibJ+9uKU5q$pz@cjhY3jpIUxInpd z0fNbV3WJ(oOkOw_Yu=))UJ1O|=P0HjwB`BeEqfEiKe!w^9p_ z0&3?4Q{Dx}1wr{`faD9dQ_$z4pqx$w1%fkFj9(~l_5nzdz*hjgV!=N=$Xg<4bpv{- zV1ib>GQl`~yvhY(JwT`syyFCrOM=zS^!`-}g!Boo5>(I|TP@JG0p_yc$$lVS5e)9b z+*N@OEeqEKf;A>JXFIS;fu1%J{Ru}g56((bwi zHG>%J5iFr&bFUzsB6hb0OxiB=3BLIOgZ%;l#bE9TzNb*#UBPcsAPfk?=}xObL3tM- zhXjSyFv75)7QrgJdjePbde}w;4wQOzU(ikG)=`0>1!|880;U4yf#73$o5uxj)64Nt zz@SUh9tqy2LYl_{$qyKOBKUDD6rB*9qB@bMf}K_nofJ%q0=k3nqaLX3C|pPx-cCZd zK!7+4nR6k`0ioRr2y@UT%%xA-A)%8Hh%Ukb(&Df%fD&_Eg-6MG>?Ztt9mseJUswx4 zj|lGsW6(=DxCmstg@Kgv=p%fcl01$I_k9j3zQR*qf{LGTFXb2c3+F9H6CmVL4c9Rt z>oOD!6mC8PVnIS%cPT=*>oo5O@1R0t3*^rBxoLg?fS z{1d`Tx{D)HxTYH*QNr*)p<%S}Ogcbfgdz!KiWRP*&2XIX2HmY5FD$0y*#zP9Vc?f2 zWV&E5Ntj}zD08xqL+?Y1Fop_RQibg&K{QR+G78X>LMQTOo)SKO7x?MIt8}GQhA@}> zd0E2ODHL)@V5iNJ1bN@!QeTejKXkv!vFOH{k(7wJpvbm zcKd1nnJ?TaK=-1sU@e*g;mfO`MWJvG-7#JyTu0aJ6bpxjVVM$P+b0mMRG3Yh_%h)- z+K-hBm6R)4Azb@9nkr%S=V+>hf*!EHEc}upj8}x6)4~3#@Bj~U*Mt+4HC`h;_5;0t zwL)$o6umAqx`9QVFpnPjdf|ukrDzZ?q^jjcVa8*~)Fj-~3bQo}eJIzeMflTlAlwkn zUWDeR@M$WVR$=Owknol;`Z5sOgnymHL)tFP?S>K^!UyC#>lCiN4w_xUmvMD3DyfA# zXusVfd_uKny~4MQ0KF}=4+M)oA>((Lq+j?pWyswT>H{FtUEw+6J0P6-3yd%*bVvsJ zkWfW|;9+4AMV{{oD`vv5Bf{wcK))}H=0S>4VZ$J#9}~XA1&0ShffFEYAxfdxx~FL05Fn4(MD3LO638JZ#<(Mqum4ji5 z=*uXWBvtgc94ty;;T`Cm6Qxs;cb>?B(xA_a)O3>17sb#{^P=dX%@Yg@MB#J{EEElr!?j3cqWrO9 z(Hlk(Eft-k?4L5xAu9we7yWx4T2zSoC~fDG$hHw$REjQA(6&nCLZ`B7Q9}Z3aapvV z;&0bPx=Endh*&q!s}(UK(OegO$+AZoA zVX#LugO1X@q7ZUP-4=aJDFuC^rH^04`_~UE0RN8YTgt+@EBc-fLk)-wRMtHx^63Ek zA<>?zm>U)qG(*vQqEY(#jEJ^R1-1JkJzZTgDzcTpvSXrW%Av~xQ7Y}z$3+R=n0qKX zNG^{@qODYA{aBPsXYeN?5xkl3e~Jd4huTj?QRJtd6is~!3QgerNrxeQrubLd@|_kpNI*MFe7F?7Z1F|ff#rxTlnZ`F{0ikKUDD*85uXX@Np*Zmogeej$ zh9PgUxR~ngOT^g}gDDj&=?;K0an<+em5X-^fLIZOW)yVzApBq)xS>sdmIqz z#r`B{gZMQHyfuoun!%z;yx$HIHjA4g(Q6Siynt{+tf8!|o8sBDGjA31w`1;>_~lS~ z^4r8cluOVqUP61t4sqX1=-VlNZaoIO#7oGL-z^?H4U8T!&jitW#eRigaa-I+3rU}N z@GL<3#q+12cSrm+rBmJ&fAT6o2E^gy86FgOT?P7(xSS5(!{Q<2FxcG_+eOh$_9Nno zaPYk^-X?~zzw~p;?Mqz zV~gj|9^OH+ol?{sB{6TH=OkGW1DTv9o)qIgAjzkqyn_<=41gSxtioOHHaizdzY(B^ zCH~(4##Qp{R`7L`yh;aMcge-gkjX>x=}VB?Q<9a0-Vw=%6n^)TgodK$Es4toq>p4$ z1dyYWegla4O3ZuF_(@80A)&t{avxL*knC*+Gf7It`FG$>0y*8!!3$CI%BEkxpn5B|qh%NwP`)3Tq5XR|#`nkl0-5<;<7(P`2+yiQyvjEs(sv7z_&~ z%3(A`l6|!KD3;8T1EfSUl@hp0B@3yDs!Y;IcQchszVw6i6_QLk@m-Rb|s_;kp5K)L61rKl)4cp&3+AYLDGD>gE3h8 z_Y$CoNayzf#1<+YxBF6~K_CPSL=4KOmLcjf`(wA4Qe!emLk z=&Jv0>AWt?RxE8?jiyBU^-Um_O4To5u1vb)7Fd)^ zzpsT!Dx{I*-M=KYeGQOG>F@i{R7u?^nouo0kPi-*r9b3g@QO5sVv;q|U+AD(EA_Y0 zj`g~9-wa4vCtXI~(0XaI#q+wG*?S{0HDl~3N zpH{*MtC$-2 z4NHHgYJ_{zXBS{_M4F!nD)*%U1E4u7{k#J*jY-8+koiE`B7@fB()V2GpF|%@SJJ}w zNV<>-qK~D8D#-Rk>b?$~CZyeefy`6sR0_3EN;@bH?jYMhnOBZ7uUZgwlBp<=c2MT) z36mU>g($(oMHaCZ&0$&WHE?p3Z5fAzZnD?xLCjtD@K-b*vOn!;{qvL^p!~5Tvf9@G z<0V^c1yOGqBNB4^$bOBZNnX=)p zF_U6k4G0ii%vvJAaKS#%{pieweE5i6G27SoDZBIEuHp-N@5C~#ON)4v10<+2>Q zA+bWXnXcNrB(vKHwJT*V^cAR*9Ua45wd_&}n#;1?*Fo)yY#twYS7j$DxOYvqa|f(m zBlD$t>{?mbO6YrCR#pZob+UEz|Lyg%BHKw|G|0T~0j5#L=>)YV8J})KZXiLK8|^OHqAwst zw=9H%UXM&a9Zj#yhgQ+svQ)7RhU$|=H^BJ)vV5R*!?ZDha zSw}y5k7Oy7V)j^O%%x1;C$b-ekYYks9Es+stp88gVp8VS0l6LIp;YzkDE}uK44vd_ zsiN6geyDi8 zT2IK?oMeiI-oYxKx7tMN%zM zzTpOxNs@=X1%}D;u$|C8MLuOc=2GQmipZwPXVPcmq`bKcy;Jg_4?!hee##Y8GUU4& zAzG$Q{vka{r{z_&iO7;KTMWM0@|Xeia^$HLc{?LlK7(GaoI{t)o|SKIL+_kiMRDOg zc_{e`&&!Kq0C_?FFb|yaS?k zeDQx5`pBQ7Z+@-(DXq!Zn|MjK&-)y6{qkJ_K)546ETR0DyYiiSC^{gQ zegqbSawFx)49PQ|1GQnfE4=h}_vF>F7I4WPX79eBt=tfX^AeR}z zXypocDCgi_%LW!sH$U4g8os<{4V$wm8dlVk?)$@_?SDaQ-h3#ir=}9At7735jUVD7yPWEm!e~@-xmV{C7i` zbBg!qvCLEWWMl5U!Y2)?T~Iia*Q!9llS9Hng^hB|iWG^PF;}ekkWLFFidR-Z?NUVo z?MBNK9QqQMD^y!StU^)k1(_}>Y}=loTd5eL3$CgZ-YMu+EB?F#{L6}XN;ABo_>=N; zuPWShV1G^VzbdF!qlhPuXRV@G3$?E+g6T+Hr#M2Mt$IaTD?l0)TH2yEDqJ^Wu1R6P z9Zj?1!XwDkqF7AD|2ObYD$fJvrs8wT9%@x=2}kdiVjpcV+7zLaAk(hc_yUM_C=53- z*r_-`U(GIsX&#zx#cXns_9*NqC8$@ifU=ctD`Kg@s!#FJ6|m@66fcCLcN7^vK#9AG z8x8;&P&n;_W`l|o0vqs$6#L(RzQc;mRBrN6aWn?KM~Vu{I(n=)d=P_A6wy?pH=&qz z5cp3OfoDN%$Zr#()X8AHP$efFkjIr@3P2@H z`K=>m(uXUVXV z>AV`RG&}@kf^v5(dWp&flpvI(Y%2oIWThq(5~e6ac7t@Pa!LS*r71I_LF}Y5LI_CP zDdl@)%XDR9Fvw&mhpNzIDiOZGyP__R_-jsV2<*arRbeemXMD!S2^o* z{FG;v7otGrobu>L_(k%RYeK>PymA>OA6-zoOohDp%DLp_zNqvcgGmaMw~nJJv?)&u z@xvA=GsA#UtW2UPWQj7O2ZN=`I4a*QQ%>^-i*luXG?b}O)>HWLl5!8_fmJGBDnnDH z6a>I()ykLJ!Tz#xt}{TcC>v>KepRWbYZI?2E9mbzYLrWtf^@CYybzjQSK2mEmR6l| zCw*<}mFNEiMuT#W1!NkPV+TRIN$Kwn_RY$}e*>gNxpEB%z{>r>W}zWquO-CJ=-xr!E`yGj!!r41;#v^oqcgQyJRp7Ii{2P4WBx+Cen@|C}V zH>!Naf@VzVOa<=`l%L7bj4L-k2INB}lTvseDc24|`p3$guc(sciPD$cF%!y4cQAaa zyi4(^N#%_%Aew{9Y(?X!;!+Bulj?(Am~&Q{&coaXR1NddJE&S64x)!teiU7EQALLU z^03Oc9J;uwdT9^hrgC7z2=1zGO78Md-K3-#PnG8{aWTdLf!z?S~Bo4)h&vw2CCkikGUXK-Y<|TSd~rQ z{SZ|F-IExqN~Kfian-Nn3<^`NrVCEPRa214V6%%*eKrNQJfZTY5~oPjYC9lCsa8{3 zai08fZ0V}wbh^q=C4CF_nJQiun$xNULXgQ)#gQ*7 zTXoqRCdpB4qTl|E>IM3bw_MdGst7x)`ir8b=Ttm$66UEc&IHJL)vY#wTu>dAVJ=^_ z`UVCsszy(NQGv=~5gwL8)wK~YDzd50I{~p+b(<2IOH?y9Lf}%>(eH_qw*6#>{`{CA3^21 z%A2we>Qr;GLAqY`0S`Z6gUYss?x$;1eN5%QO{%F50Bu&aKLdNUsD^Psx4WTQIv;a4 zRhy|oqg9nh$D3QKJtqL!rn*nAp?1|ErHpi_eqRsBPSurPAWWBP17*Q=t3Dx*XOC(X zRfP1a-k{LeZ52-hkUrH_n*bR7s;|lQa7VRvA13drez^==45%g|ApW4rsRy7#s;HA- zKdhS930vM%h3|tFBdTf7(~GD2jDo(SD$dIo98=}4!{7teoAk{eS8bq$@1g3>B7i(n zy}KQZ9;@ExgY6R)hhu}>6RH#uny0FHHQ+m`O7;YzgSsdS)Ew1oDQDS9{n_sz) z1!WGXf1t#`gX$kY2DL+KFS<9zMa^;r-eGlNEI?eI1L{RbTlZ#6GUR_8R8G)N)!W!_`jY zfrwDcQ)vHrLjAf3lacBj{;)}u`aQ}5k5>25@iRtULL1ju^{js&VVv5XeBbfveN{-3Zf;c|3Nh0E?MnG%SnoQ(HD?DRh>mO^=aynSTrZqKe&PYDfR8e&@)|a zuY;Xzr`67B=w_*pliMm=z0wtYbJSV4!SIYak|MIX>bmuyeOBFj1if?WW0d2Pr*2yd zvCpel2!MA%y|x4h`Rb6%kp7~&X#r>!s8e@A-a_@q=fSr~z49tdS*&)=!EaEa9wE1U zsZFh*N1;qTNPER{wVpzS73x>UF?dOx@&HYxI)O@Hs?>eUK&@K+0sYO*W%cS|AY4&T zpNqMxYWz1m);P7~Yp|$Md;A3{YSrI(z!ullGt2=!_X1<)GQoBqLEquTcK z2VmHw9{Ltdvs(2BShT1=8U@iC>WNN}xv7338YXE~d(t-amU`eY6m3&`UIR$Gdg^l6 zqC-8C_EnwgwRM2(QZL&KD&1;sCiwQKuTbc?SN*CAV&7KpSpzBh)YrZPzkc-_wtT?c zQD<$%zb!G2tQY7#Ubs@(Yv0lS(_7O;UlAWo zu@hj9Y8sA!y|3m^E~xowKJ-R&OfxEj+<}^M+RX-OHc=L9uqG@U@`h+$-UTT_HRp0* zgyS05ufZZrqoF*oaLxIB;1r>`w*b1F&@89gzDUjYG(XZ( zc}7!DPg1UC7=LzPcUJQ)xuVZ$wvd7IG|MPrcV2Ta7@RI>Lg_ym@-;o=9lWR+83SH{ zW=}Zg3N?=h&=hH&u)w!iQ}I3oEz#VjQm|4@I^`#o*)&&a^)J`x6d+TfaoPdvUD9+@ zhEFAu-@vI#vmz0SR%>=|!Qf?0Mk%OW(Y(4Bb5}K0O3Yo;{1FeGYBT~mV%BP+C`shH zW(8HL)oDH_|4F?jC99C1|812HIJ^L*P~&)2)tg+ zPjoftZOzJI4EAXhRA|w!iKY0?9ZimnHve}u<#b#h&_uC8dr;#<--IEJ%pJ|J=F)tS zxu=;v6%vkUa$W$#`h?CVE;(dK%wWynm;L9@QFr4^~n>O zAvz#G)tqVp-lXQaT;Mrqf9#_8gQNCWvZa%@o;LB$+U2tVdO+Jd2cQSF?)PAeL)tP* zM{&{Kper>FYcmf)8CNaiD?qww7ySq&+_mM?!QMl=l^o2T+AZ|wQAe~pE$De^yXidR zt^HXI1RrhSc03nHwa1rH{)?}+$^t3;w904k!}@DeXwwv+9cTlKW7-!ed>N=+Mp?o^ zS_c%=*#&F=M=_uf?IjroL$w~AKtHZsI*!3G?dOpYCR}?;fhIzGj|q?y+SX0r8>wCO z1PVrJGv)vxT3azjH~GY9-=-K+to9W$cbwLZE+>oE&P)Qe1Z@(fp(ScxqGNuNc9thV zlC@#w=%r{spd6P}?P>BZrfIj)hvKAGO7Gt(?akBBC0%Q#m{*2&E|qO$YLi4@bXxo3 zLRd6QyZtU2TejAu2ALdf-a*hlqn)6Td9L<%SBQUBTTUObbJ`E+tCy#}NP(8~+VNjO z?Si(H@)Gm4iH)%HMQuF!unM&EA7QXi>mLU@6=~O{fqk(yf&S&AL_6CVnw4tn{zk7% z`@f&SuiU0>X$S2J?QgF@(M#HOv}LT+j-LYGDy{k*h*qublc2e*O?nH>73~-W46kYh zG3Z^>ayCMk8tonlsMKoBgm+yV@?SVjyFCu<>$UNl0n(t&q*bX|8&7B17VW(=hTSQe`1KJ!8nnCRfn*&%3 zX}gLsIjrUW0rvN_fyXg9qODH_;(hJyAW$3Cj?#g3OndDvw0NM+^FVK0Yg-3~54DeG z0R55nCGxvI)?QqKxhGo5Kagoc`^r2>@l-qQ9H>lceVzc_L1%Xuc#gV=VRAh<>5?ck zA0KEgcl3|cJsB@!_-yz*Fg>+nW-%#1)Vco~HHFnjllY*g}?w=4y=&t*m0-YYZ zRb3eL)Ol=y@s8+{{sAX1-P{xy$XnOH6d*pjT*@jrs#`-KzPgM!x=G7VH&_NT_^%vt z2nOh8{0qLvbkcEf3e*XfL5m<=1x3e#b-}a@hUf;TflR3G)$900j_Y2b$Y_|(jq)MG zbxA9rZ-g#&3)r8~N$86fse6OY&`~-rm8nGQ)>2$5M(6m5i^IFIl(v42+PXTiXnxsk)CTS29g^p&eqM)NP>5*i*V~ z6wFW8(y> z5)x z$p-)_)iu-Y3T3(%TL4+EJH!R)3Y{e%{4VL1)49IVrmK$uMwRXu`M0Zenm3@#W!I!C%;rbYMnkLcady{7=pn>t%Pd6rvs@6lgx-_p%LgvmBt?_H2- z*ICmr*P%PN9?Ep;JgLB>OE-g#bKN>$N-*ltWi&#=Ufl}H5xcGX&>4LDbie)yzWur< zd(pe2TTbzVySjJupfaGlXNI1Gy1oB79(9v8O3ohEt+a;nVh(6Z6u>&lg=q}np(FxrI?Gv8r zx@tjlQYWCDjDz0!Ch#2fkspGllRn`iTK}B&AB>=TK(APW$%Fd$DHG$6{v$e@z5_C!knjm>LLhpL~l_NFdo&PPlXb``uZ3M$B6rnFtfc6P}$r4bB)bINQAW`}swe+g#W#pTQ(WlYh zamDHnaABD^{ZdNVO4P@~*=Dm#(lj4W|6L8*r}babfi+7XPe;>i{Rv9n z$|=XvEC;N-4cBZWj2)RKWqo>GJPP$56kuQ_n@iJ&y7cO zNxy##idO39QjDNV-{TIktM%X0-B*|OKhr_xiavsi!K?bLFCo)4ealqf)##JSwNtC# zMXSnneOm>7yE>b`mr?}k^>MTXYS5Rx3eZOVU>jI8>GQQvyIJ2z!JiiW)ojRpL!Uv8 zv77n=@}sos`Sj7frB9}`pEmuf%b07|*V28#9r{4JMYL02T7X}>OD`ecXt(}X^40g~ zE9s)AUcIgL5Ln#SH!sF$pT3#)8U6Z`XJO|%`d+$|=C1zhM35QK$9I6mpuX{0NI0Y~ zSp^}6y^qiY$9_UAZ2eEN|Sv}Z4)UP=KVvqDgtHJlNUi3dG z_(X58t;OhszU>!)KGjd7kLRSmiF{cO2G$zPIT|)dLEFi2ZV+Ug4ShO59x!ycqB&?N zp%eWf!^G<_w~JvT1=$W8ZmtA-S3}n-Xy#_vx)+e{h9wky^)RH<4QZYR8RhaEF$`wf zz{1OrMnyi}hSEpS(8ur{6`ve6l)r_ZuVL5~ji14H3fTJ_V)lbYpkc#rFhY=_Qh_Ge zFlRZM5W@>E0VLG0gVxmJh8H)X7iKs_-=c5>{(ls&ieWanNTUpU)X+ZKaApJjlShof zNV~&W!;YVT7-#5w2eQQ*=D!0e5)4N_fcS}q(FsVAWEhNvzR89?Ly$Mcu;mIMQw zz$wizM0Y2jG%(0XamsM>1P0R$0rNpK!|=b4!7$U%x)Z{jHcSr%%`C%oyc{;WY=dAL zFmeocj)KJ*!>fKk%rzXRcmIA_*)8) z21D6bz-u&w{|hQjhRrT$nhh}&B5X1E(xLx`;fyoHzG*0b6X>lr!%`6@Zy6c_!KuwK z`@a{+AlnAe4ucDYfV&N$E5V}2pr>E0*RUV45xd)ltMoDGGd#@)dcPrwJVbX4cj?G= z*Km!(=mQ4LMa&Hv=2GBc$k0mVhr@=SQ^5Y7;jL*9bi`n*zY1#i4ZA0SKWdnI0Qh4D z*BO|6V0h^Q2FDHa$;!*?fuFlo5_ zKIR;ZGoJ;Xqwxi*2XHbz+ywT{#-^Vj%mL%C6jwTEY_<`#Lq<=!1KGv6`xW3HHf}i! zYOcn|^o4RW8Ysr#ZhSil`g#~Q&?(2$*cT4SBgU<7f|HkVY!IBhjooxo^f9{9198+i zjW+MT#-Tny`WgSC3`T$BZ*;?2fbkT)jmM1qA{!8_zm` zVVLn_Dg+NVK8(U6A7R`}IjJX%(RaWi(&%3ZouZ5tJ)jb8^r!7njPZIoda*_^19)-9 zl?F8NMlVWGNHAVU%-Sx|_{n25Nya%wx=AwGSo%A3Wju#@ocV&Y0E=qK(FBm5{K>80Uzl*|?E3ylD*ef!eLc8RQeX zWz60S#yo!zdu%MGFwulDk`A0tjjvcR zH)+gtM&oE&+Xm5`Y$lgQpzUn>-3ewpXgYrvY9BIPwPDc3bb<2iTuuMbn(k(5uKCz^J?5!nS>PV$~G;eFj0=FC1p;3(4bTRo%G5=is!h*P`2Vsga~5b{ zF)i!`(W@pGs)o2`dOI5+HKzS^E~zznxPZ!aQP&f7aHu!QDOtb4RBWRB&nDB| zLSQtT>ThGR#dP*8npV@H>A=5biaiNQ+f46M1zo%80eKlZOrl^kou;+_1JN#17=;+S zO?zo)(POH31;X^24z^(Mwu${72K!6{nV{Kk%H9HEcTAbyz`JXb1<+0A1Ey!`J2_}- zqfO6{Y2g%Tf6uf#6EGvDou|>eZ+aP^cB3W@-OM;A-U|m(vR1WZq?h^v-5xIREr-oNQq0WNJbD)l-OPvL0OD@GOUWJ{W_JoydYXHS0dmAVNzav+dBz*C ztdChvsR2jLACk|`*L`bx66XpkYkTBBB%f=5IWxh%~-Dq=-5qL4?`7c7XSo6_x z491yr4}xL5`AjDe63sbFKr_i~_XJdu&HJ|jA=PaAlp+Ud=Dgcb=A?No1@$w`uj~P0 zruiePRy%FZcoqU@nX6X;GTWT<7HH>~&&>j4u6bfUK+c+vkf-OIc?w+>k!Q|72lVsi zcFG~TV19TEgBQ&^sVt|!%yI!o8o zU#l>8((dk(*@uEKmFC@4&{k#MMINzg^DEbYaM}ET+?iL*ZLVl)%q2wtsWtmh!rFE7 zbChabXD*xqD)r{y$Ys%BK0t1xMsx1-w5&9lTkZg(*}SU;O^aFM3q^03e<8R2P4j*a zkZCnO=I80~-ey*v14z5Mo05P!%-h$X=``Q}1HXN@`6#`qJ!a+}fb^PQ*oC=1 zbCm$3`^^c7Q0b0&^%#U1Fq{&vtT`x`JrX74J%44aSbKy%N0`CX71F~9s2WJb-I zn_%ZLv-(*`@xVMuxozX-w<%8Z(7cmQUXRRgAIIQh^NhzBd}7Yc2IPdfh+F`Z=6joA z83)S)^2s_{!ncF;0gEq-?teLGiKl@7A&Z#m4qYt2sUXZ@3-2pP>S{UjK6-AJ?G2#j zVY%G{7M_;2v%o)MsV0}QmnFXqklvQr8(?Q2%ZmvB@wNOt19N_sS$3f5Z*in7;bWGK zgb-+XVI2^HEN^{;L0hP$o3e$ETln-FgjqggLYQ#NZWq8rSQ5x#d%|L+BTS^_GR1eJ zEcrq7$Xg<4?-OJB`e*cFEgMc@F3xgiIT*%Uwo=+pf<;P>-b9PD4V;oJx7G!KYg?Xlc%{q!$1q(;`B>mfdN~_mmcr zW!XzdpKQyJRiE8wKUKobI$S{opz7zs-v*0P%LMt*$}By{ z!1t0R^JC0aTHg84q_da|B=hE)6zDM!7fWY{aW3Y90Q&I zdMsiWNYiTx+YT*mTio`;7JZiYN7(q!llxv`ipF`LGUJ zcaSIUkagZH7|6xi`3i^~w$7$S&D9!S1uAaV-76uQyR~Bwa~@V#lt`fd!J7UHBt2sN zj8Y=JtUr+p+}rxuJ&^ISdeg!Ds5P2GZobwyZy@?vmuyGlZ*8ajc7V0^B;-A2&Djmw zf!0}v(F9pfzW`#vR?aVwFvNN`1-($KH^mQ*Ti?BbUYPZ@8pvx4w=So+M})QGcTAqJ zzVR~HM_Qj00w&5@O%*)R)|cLf6fxF31!%`wy=mo2uzpQm<3#Hg+Ttcz-N@6EY<;{Q zGNo9p3BXIW?s^LLY1WUX0OX`~jTIoLtcg_6l5SlX2(dG4))loNlWE=m80=45chg=m z%laz?*|M!KwnB;=>oPh4ow4$AfuC!Al7QY>>uYpGJZGI;2YK_X&;3_FYt2r_PjSKO z5CYoy)@do=d(k@UOMnzuAE$z5p;b=xq(#qa zV!73o>h>$F(X`3CWKH(LFH&jkpmTPWwU+`z)z-yrXf9j7peWZB>u2iJ%8?4(30NH5WW@ExoO;$xMK%1?t^et+!4o9GO!y5f2 zh~BhrraNa_trK?W-Le*6f!u9Yd&)&`w|-9%bXgxx146g;uca_- zk2Q#%z+P)J<;mW*-rj?z&$@jI6zsP)6w*Hbj&)!?q`7N#qcr^iYr@N5F=%B6LW&`4 zk{Z;8t;Jlhzh~X@3mA@A<@7e+w=z>eZPfbwCV-4tC3GBnV4Xr<<8f;~-D~jB8s-kt zkE|;<1M;yonznjRtUu6uFkyX@P4%}=t)IF;nMvzsJ3+?5{uA=XINBFdP~ORY6WuxM zY=4nnjsy0S2-(>kv>z&g*oW+E=*kBd`ze2bsGI$BRKx6Uzx#hc@UZ`xTvDF)yWW5< zN9;>Jh4fzb*>u?Vw*Q{~e9g!H^>3*D@2I`)5UBauvvvT+&pw;7qy6olr8O?VerXA; zcg)_29@ap6@iSl_WM4p4z`^!U=%)y=Zzl&=sJ)p1osQeD>jjlCd*5jE!tHk@03^cR zLhg_g_AgTKG}33WJcw4;F7|4f{HHAFovlXD3#Gw3ubAI@wI5BGuBevG{eC-R|wQh z2A9^nj;M z4QO3rc+pm|ieWzqo2nTfQ-bF*qdE=B)G$^wLEsg}#Cg!yGQODyE$SG3d!XS}#{U{Y zevPq}3SF-=mQdkJJ)`9rFl%7EcNw6OQSc6wX=2Rx0heY*se>}4EsR+H5%`xsx+ za$%5B7KqkO#&!C(4KY4-2J2gl1QmD=Gd9wVJhvIg{{NrkMi_Ql-`ruOI)Tky#%5a9 z-DCVml^CN8-U6sL#%Mc>v2jMg9*j*eBs8JlXYj`%=>bDJ4-a;d@w@>7A2Q}rV(AfM zO)}(8G5)4y)ifh>6$qS}A>^k$%-f$rZ5L(@ht{92%o-|=abr%`0Jt+Ry$8a*%&kSTaGv87bBeApOki5*8m2_%pa%3w%m=jeI?b%7Ra!E0 zG9C0O%#E~8IK$jQMT4o#nRK)&jrq?T;Fiv8C59_x%)eX)9`vFbIuK5USfVw2xY36v)y1sHFF=O8m=%) z_d`N0GXbl9r#j|Fy2t1$)3Jw+<6dLFV*&5$%rSqkX<(LnV6c&S$ORNlOcQO8TbOPo z@Lnsk=rfG9F>g~fb_eqvnkYJ%Z?6Yt7c)E^oi~`zY2l|H<_0=H)XNN}h4KK?^Vk)u*^Wl=zQyeR8A=T^yVj%kHuL3afDz`(9$0aQnME`CU1k7%2<|ao zp)!k6<|Zoo9b*cp)Ows5N;O0iOnVi^?lZ%vkm><5vI<-#ne(Xl_7QWn3FK4E7D_rz zGgH@~<;;3^AEhDpuo9jIy$fsNHki7x8mj1bz?z`6%U;&LAAst?3ZObpPu2??@U*;G zZ_|tH&6@WGz(LmTlOQ<6n*0wfAJ&c@aPeiebI^I1)k*bdM_AQ|!NrgD4E;~cQPy`P z-kOo;wB;Sv8c~PiL(^1)L1l=X6>olT}y+kj3(&_)9kHWl9m|u!1NMk;^Jb0p?j& z>@R5Lu?!U2&1dCP6sUmp_Xx%cS?j|MnjOG(+2B9_N2U|wKdp#ZU?n6=vi z`Vv-34Nxz#UZh2MDXZxtQ_v*0DaJ8SyIXQ%_)CW6g8{&+87>{p}E6&$82( zx`EZT2;v)Ad z6Hsojo~C-n9+un380%%tmqS7yi%|q8^s@@BU^c+o`YXU7%dwiW+c#O4UPW`5_2dqK z+pK?{hNdH|xAjo}4(soQcsuX1L~L~4V}(Bi7-dx32ZT#}tJ#>JffIUt>r$Y8) zRio8tk(tL!hnhQMp=c~oB2z|M*RMI+mbZcA@s z%V^c#%KnJH!fotms;g>ezuyU8cCmZ)P^O#xCRHTeV7GRHypNq#3TFN6Q?!8^V4pnz zX7||2ZvaNwv+rPRjGYt6V|zKb2277|?o-g) zk8_4r9mhD9T%h=KexwU_0yq}R&mQModkV|~IqT`7{2;zly##sgtLDQFhe9k~o7Dq&Urap3-s29Mf+ADV*=9yeXA) zh_*#(oM$&XU{gA0>C@06gTu`NMJ8v*PS9s@G!)~^;Vh$saxN#CcBp4LRo;-4$2q3aEVh$zu3#1-Q6Ip;hdWfiYuHP%Es4no}t4Db)08u$##|V z4Xrw^alTjycVFim9E6|iIX_k5X*F<`(U+%@^Is1PY~j>xz*sA1DJ@0XIMcHM+BvId z)9!Z*cBX!FUfxR}T7K&Kqt3100WUF*e9KeGrD; z-KKMqMFoQ9PcyTkdj0L<=kKK>D&8Rx8u!kA-% zvwSz2_c>m4Rs93bheq^Hat>`r=M?9IaEO@Z=%x$Ry${sH3dyKholPFu{&duKp z?e}v3p#{}GuJj_tJh;mWpr|KzOB+=4;zq3p`F`$CyCMD{SNk(09O7zdk>%syu1SRm zU#=@%pK+M`)yo(>!gZ&zu4CM2IxOzbJ*b1%1GvveLEv%jQ^(+-K<>OxAR>s{;|=mq z?tQw$F^n5b8Io|WjKYzT+$+yRnJDgJnoFX&ch5lkSZ*BMKorN_Lph*$uA_@)uSD+g zU%@+x`(!lap62e_3%O^wk;|b>DmRQuIMTSyWuQ;zI;i+4gIhy$LMB&7)rMKzR4<6n z<<9MdqG!2}(?3_{alfT20rI&Y-bJf`JBv^Xxea@vQxUiD|D!{=~1fR<%-Tt4MHuX4XmfrM+^>-2-Y&UMflq@L?uMBl##?vIuFxes1ID2|?J-Z7YFJ9o!@;wCm)4^b|lB*L5G1>EorBz!QgFG+-JqiLe?#0|G$-BSZqh)~F!w(L=tsC8 zX8_#co}%o_U2Z%biM+@C@)Zz{axc9OxntaK<^hazA5su$f?Kv3nD@EXmtfjM?r)U! zdBpvPR+CfQC9k11&Gn#K4`<${=h3-`SAUk)pDw)Jl&W{-t;>XXH(v1+T;k6A`e)$m zIT{?|xqVBeV|io{NKcZ{8mI86D*16obnl-YXPK^5L~E zhcdpr%dWsY!h7R8bo%kqY4329*FYsMj$=IEHz3KMH%7eyytx!?KhAr(9rgzDl4)uQ z;w_}JXCb_G84wZ5TR@T4Fy67}pi?++p$_CHcwhEGQUvc?Daa#vtyG{F#XCkn-)P=h zGg!y+`d$J-98dZWn8ov+-w1HZ!BbG8CV}?_rA8BZ<}5fWi6{L4W}oI2QrS>4Z)pt( zQ+Pl4V(bjhcoSNr^1h|La2n5>vKi^TlxslA;Pq2AS|*Pz21*w1NxHlvoA)9cm^r+m zuc1sXujo%a?6bVLGC`2XbA-^MHlJ6!0fYs-T_ccN$jf*cOwaKazXkg9yi%%~DB|UR zjn)O;S}IR0=GjSL8Eifpqn?Yq2J#PUOR1#dw4Chlj-FJ(qXqgo>wd=`gxI_K)uOxrG@qoFYza!+~Q>| z0o^dK_&>C6^IGV4Fv2s<1h~UH%YpWHdEw8(CHHulW?+u;o{xjvF+XZh= z@O+p2|NTq6iarQ@zsM) zuTaj}g@2P`Z?1gp8g#nxx4jIV-1$QqbnfLJV}W2F|8IA=(u1E!3tdnC5ii){#ox1$ z&cE;HKSsq%2l$`f0JlT@tsMBvhwnr6FTVUva>8N$zjS=#2>&PrUXJo(|G-;vjK7_% z_vaT=ZD{~se;-_q^PP%eL=eA;@~px9>ZRxm;eStwl2Crd2OtRJze+_95&WYUp@k!o zzibY4i{fvmeN8m~_OlQe!~fD3gD3e(C%`6_KSJTIIDXk~I5?g^MGKQt{C6|KG=cvb z<(?Ax|IP=~B>p41*x)q3l$LDC{44W;naYo)`-IZ?Q^imwou91&vkd+q6N+X!_=!P) zS^Nu+K%dQbp1BA#h5WWy(4FHq zJcF_G{6ac!RmA`GEKn}+zjTB6Vt&y(P_%@t^6PE!(VOu zJyhD$&R_i=la8;I!Vzi=MUV1Pdz zg0Vq<$|CT-$*-WG*%04@YI1Jz>nOJ{%)dpqB;4lT8HRx)d_fs~I_~fv`vuLr{9dY~ zzQ-S{0M00XK7~WZ_@7Yy**L%Qb?~0x*UW;3_xVFV0zBY%(u0}gCw~rtDZY~K8=mF| z(vQPg(EcG>dj!ktVT+4kcQXiF1?%bD(q6&7Vwki~@bMOke|iW4OTordu!IuIUIL#g zfc=7b|3cvdf`JJTdJDdJ7T}=ZEFHc)Bp7)Ts`&_vjo{`hi2V`Zu)v+RMMnfjm*6q^ z2{uz@`cc7^`QUO)@I029PW}Qv8#)68<>#SckYHsQ{gZ02;Mq9fgb9Asf-qdL-5vIx z5bUJjbA%xJPgoHtVE98sl%O~qAX>2CX^4*z^ije0Nx@5R;@QOtjwrw-PH=1wM8peH zx*_nC;FBs4BnaBq0wfB|qmY{{*s%*JDS}nakl;8YSo$qc@jnJnLj5#B)K9QJUGNmS zEkh7d1E!e*|17k!1SUE=nk}$>4*DFyrxgIXf+sdX-?IWm1TgaiPu_tt`2snmfC~iA zoCWJb!SX{e;+(+uWoU6;@D%-Siv+#5!R&%V@EB#jiv=h5gQ7$*dJ$|c3i9Y;pK`&Y zA0eVbFp&j&D+L>Q=)5HOr3M141iN?Q8CDA}Q8D;s!71`uji4_VT&@Uw=pat5AQS;E zr#ivZ4#>SKP`iWmH9_tBz`QP4_boc>1&-AeXlf8_rPy7gpv4uvO@hFFNNN^5Nt>k> zfe)nGu7YgCamAn;6q_(8!giY(m}Jn#4p6hngMPH?*=SnCRkVL=DIkGBP-bR*V?pn-n= zcLZg0i^g5SO!}(b6ZF&fU{o;n9=MGO`g@SrgK6gm$HV_$e|~%%zrUkGce-rhn6UgJdi{lGw}2u*c&Z2BxKKc+@B@W|Lr_0N zIQb<|LWMrh!6jirvmF+O3u6l)>4flW`s_ytv$$|Vq_BJs+#MzSglf8@g|mNy+!)~p zMG$mS*hE{1Sm9T%(fNls;fIt{i5ISL1~?^TOoDfUaOPqdnkdYnm3fk|o2t=Lgh_jW zaz?oPOYlw=y3?GUCR9@(B3*bd5GWZ!`(fytDLl9d?#dD_^oG9K!fh6C$r0xKg;uU` z&=ne<70&q*n2tQ5el3{h3thH>TY<3qbBHe#u6za*=Y%uqDuVOEfL%Z-5?UKD}-!XhE@u_H-YCR;Zp$sRl@ZH0M){6r2vZlUbwJ)y}D;zxxmUIoFJ@RxfqXeM&1De^Kif&^JJI zlM>iLqEZUd2aB@3!6iiW235+0iasPkVWL?(An1f>&i{ZJA$qfy?w^PhZ9V{;DAAjA zgKe~E0cBlJiU$2*Q>UvfBQi7wVZ}MoFH{PDUgUZkPAC%1q=PucqFx)+E)l8e z$9z#_qciTMqD84-T_#df{d9#Wm~!itqNi!oeo0ig3u-&6MA}E7s22Uu2;McKHafd~ zMYJ&)owXuQ3U1bk_^F`3Dtaywo%JF<<-r?78K1#HjUp>;x0^&;Xw%*-3Z$dVEus=T z2wFu2xoEYC>=egn7p-W3z)n$0A;foyiYN}!?GQzV!?YVB=YCN1h`7I_)hD`2Z%e<( z@DET2M7I+_I4IgiIf9#_k14`CBx<55cv!@z=-_S9JUSFHBJ!l9?Hv*4X=r#?w17%5 zMn!LKLFbt0{9BMPE?PYZ*7rr9Qmo>E$Z>(zp_8IrlsbDPGBeSd68%hvPo_mPY474J z4haXv9_cQb!C_^bxP3PnNGZh>DjEi|c6nc|_b24>o?{1#~p( zsMviNtz+Wn{)XQE;C=!jF4n6n1-(c%~BG*gWDsv2xgijUC& z=U6e@0)cU2?|(rTFaC#)7M~KkyabRS4yLtUqWJn=w35Urbj0_xcr(4Z$zmxblv2cH zHgGv3cE1AFsp5B9Y5kcden=7Vbn$FTw`PbhQQ1(Y_ysoTbHwHnaLX0v7Q!WG#pl;T z(LC`RcC_-v@=%}@h&`ME3dKLrEPqaXftDiY#kO{cC=ze0h1?5bZwb^c7QgpAK#BNQ zI*)Tv{3YgGhf}F|0mVPd#2!>uSuTF-E=;Qs&wK))O1v>1OsmD4YcY0N{1=_Uydn;! zbV98-lIH9>@l~23u89MFgrV2P%-I0-;-sAr-yk;9JJ%@oA4RK4te_gpW^pEc_*%r* zNnb~+ca)%(%h zC*e`4jE7{$i%`l-!lGjz`z0d!?jDe&Q&!wtQb8G(gOXqhzaEmjxCwH7BdiG(GZItT{mz2_P`-H?#3EmNsm0togQX<#@MWZCS%>dC7bstt9GJ7^e zT$a?(N~T8gDt!;GNL+Tp&RU6>Ce%8~{J%kdUBZ*l{nz!9BFe=!NRH6%tWh$91-CUx zVyH5qS(5Jy`WA^(D%5Y4#L)M%O)^N~$acw3{h;fRyhEFgPRaI780(UJRSSK)CDr$! z{S8UoZs^n_S+@^5^-9*M!KF`ffwo%xl9CAk$ACn69M57<@>4SCZ%X_~w;_q_1yJ0Q zOy=Sl3`?Gv1E#knPASl7M6!>{XzodZ>Eg0c$yYC6Y)tYig;>WWn`$9qLgGRz^ZSyY zDJ1n!GWa*>9!YxXhchJ^{{&;x5;JWRoE_3XzC`aH>09Z*agp}W*4R~g`4({8q{ewL z&0TtkR(E@)ztY^jPx`F~S{~9r>FkTA^bNXP!b|Ez`@j9t+f>|gKstkVSKiXK??Z%- zludQpzS6<#Q1r0$9Bm(uNX4H(o}bj==L4okr6LLq2S`l@^d6U{9EWEErAO|ATaff+ zn$m)$$+R^Mk!Gy{(@^P2BRa#RUG$j3rORkJc|z)R39Sg}hy?;8rROOj93}mi^2yQC zFK9m#BOO==@{`hjIs_Rj{oSF2_&DjX7^n%-OTGY!(%+qdnj}3&w@RFrZmt7JmL}7$ zF-1B`)u3mjN2xe0Rl1=T0@I|v6namWDk*c8AswWYTc-3Dg|M@vUKEhamPYyjG85Ay*22p*~Icdx$P@I=OM*I6BDVL(% zCDKjbK>S5%2i0|yO0|@uE0b<$14_B{O9gmWNEuWdRw?!S7mw+Zbc#0LRnl)>2YI!0 zmI-v1rHl7a{If=yO9kIoq!~K_YNc%y2&|L-M<==OA#P>>{{29Faq-DQ?qF;LD7g#?a9iihFgVOyJTfHf*qqW44 zw2l75>X!7`Scn*w{zXg8+tQU(=rba9`vzLvlg^?%z^L@yEcjwf+F=9Axbz@pq9&vp z@1oOjU&`_06CLu6G{Qx_^5cntc6$%5&$ zX1Hwr7zCb>mC<3-2pRJtIwNJ*x$R#W`8+bx1fbo4p;NNcIP1urA2XQnsjAHtY}qmH-F#mdO@T z?5c%g*P3phorry--(VVk*6= zm3=|Srs`zBz60y8$`+a-@S2SMG4#DI(^GjWpyo()Fi8+V@%Dm zT^B&#A`7M{Qmaf)a@%BKbYXtGY}p_LcF1<`LuaQfp3){=vUTb3Q@3nt4mxkhve!UT zk8DvNK(DMk7@$ukr(&yq+3ga%ECVv1ZU`Eb?X}bS+nchQ2xu`Ri=fEzEm;@^PKRZW z!eHTT+1w+b7?DlVF6Ex=Vl`|UmF-;xFeba}2ZC|gvlN+{kc|mJcVG5)HEekx^QXF| zNm-W#E_o<>x&>-Kl6@KleWzrLY4^s##82)w0o0@NWfWaJCZ7`r zdVjggB7gw-!D65smp6oiO`!bABhV>GewC{2gXOKXRSS`CrRgqQ&Y<1G3Hj5vpi_iA zjH-kq<-?6=Maes_Kwh*wEDp?K9CGdf(4Ukq$^k{J{J1mJkCO*%0h@UFd*cA7nfcF`B#xOKYm5;rR&NTT?t3a17 zS3d;_8S=I*cp{l{Rx!9_$sP4{Ra&-udkWa($Tyq@POf}85(!Rc<*}53&Xar3h4_4V z#|vOnAg_7{A`0ajDaw9M{ubrD&dWbs1iB)*&KZVYkT0g{kYc%VCP0b2ei0tUMS0~S zNGO#Lu^_ihzMlgP%jFRc+S69Z-=XVgD&<>;!0nQJgB3Vc@*L!covP&?O(481KSr_s z8u?RJfGhH^D2Y=mf9edz>f~$ai0@VTz-rK4lZOt0_jUP#dEi+u-$t3u2KfRCIX24w zo(4gaJe*3Pn&n-eIRIPaF)xB?t9&ONb!d}YTY=gxe_jY~9r6rH*>%cqWP@p!{Ae1+ zdgN=9(Ag{BM|XMj$(vpVUB5h$>TU+)3+7^MP=1oqA2;Pe@$m1Ee2F)}EqP=l1P#kS zp(?}Ma^L^||JxCHB_&1f$h&-?>0SBB)o9(5Z=*uHQF-D5w8rF@sitmRuA}0z33(tb z`R>bS@z8o8&!(8)q<(`@2Um^g9%F zQ3P@5{~ufxeZ|0WQ#?UQ5qHJ!l(*cg*!K(s?o+r^WuJ$l;!liuDkkU%nwMh3Mwqr= zaegPp4k$kOfPQL<=e&S&P?2B)IHb6u1MpE?xdNSh6^_kdc33fI2k4F{>S%r9r&vQJ zE{>y$H)+9pOfg8mSbxP}3ycX+oJz*vaYfZ}pav>}o1lJ>V*ESU6slN7#nEAk%EK@w zTycN}5hoM}W}q`d@g~((MJha>L1&EO{dJIgQqfM4$5_R$OMr4p@oo_0B`7SkkNE!Iwg{G{piDTIq^aKLRB~v7AyX znTi5ebY>~CXg8RxXnqb4CP%S;9+>4S&e8GevkJp&aC4sGzk|>zUy)B|-3kuE@iV!l^=W^+_55fp>&RV>;EP5Ts|&jHhZ#oAzi0mT>pgQP*lzZ{_4RQ!VsaS9l^bZwt$(ToqKWovNQe@KNa$51%FX(huzD4I~_b8+1gQ<&Bv>d=y`6(44 zxG9hS1cC0#3^H)9veX8i`;=E7hn*hEQ%ykeRJvZI_@|e0>rAlOuXIWV{Q+gqzc9vI z`G6*qgGvFttcR2m`hfW;CkD~!tF-gM=CE=eRU#fydeMi#Pnq*SNII&_y9FbTDL?ds z2!CZO#YO{^FWrJ?jw_vtffA_v{D0sXq!hRSID(Z2=&tw>Wkw2khbkXG0!d-YYtKVO zxH9QousNahcorZ+859eONM&sdtdCMIdlKBDmAewq8Kc}c3nES`KcjR&tTNStHz-c2 zp8*ZymD?zCe@gjL8paZo-y1=msC+LQVv`)oZpyr!R!-7`O;)-qAU8$XzXLX%Q5GEn zVXCs`C@9jDIqn$CR34$kQkL=@{aHx1^5+ln?9M7vo&$NF@~jMU^Ofy&AULP&IgHkM zrslYW2{#hMw4})QuPby`jy-O z*fO9D*ad{3-@)CX^8rUcav_qb>XcWfEoVCY32z-8nr}Hc=SnkuqWjT2o5F zMwm3MKFRq2B@B+h1_vf3zcaEszg-)L8|mYXd0~g&I4m1s&rbsgsOgy z#aNhX8^!FxRqeDxJ)xRQWj_%rnG0HxDp?oY6{Wgu1Bg~_%!l?ds?#5V%SqMmlnIVi zd4{3W5vSTNLT|jPX$G`7r3#M5V3KO<04zMM%B5S}l2x;=gH4KR4NWFzREz1qG*VTb zcG#4rvc8U1y6WM4fDDxnt>ZFP?L2@i)fZ<$m#vydH*w{t0)Iefu8KjwinFS3DXy01 zP&rXqNxtd;ed7vLb#zfqp^8tJHJnp59)*bWs?X@hRit`_YPK$@3W=~-b%wTcB`UoO zP%f&@ybeE?s_xNbP^Nlq4LZwJW1pc_p?cE}%u3aa`v8|zGa>-0RIkygo@$k&{w%m% zRz34GbgNMrX?b-;wUSnTwW^i$n$)RcL>RlO>i!9>YpOT_Y`U&0KMb$ctDdGKI}NHD zDZJjOO8E|2G^xtXAZS*7PB+`Ms2-;XPpis}ws>u-B{4v0S9#N{)1hi~JOz6@Ra4EN z?@}$l3MY1}{@4z1L$z%Jojs~vK3cu1Wiwz?pXwdTjP|RFUC=q8>Pdo5gQ_?;7;#e- zLO;VHRVn=m%`Mf|3Wy(8Y5s=X+p4FjbYnzi4}>yzR9C3v@vf?NE#)7^R0rwI__(S= z2Gj}FXfnWk)r3O2Z_D-@vHt3L7_1npA~Q~tq2{fL&op6ZjGbpN%N+MPoF`_<74q3}WV z@f4_dNFACEn|#!PCZPJNmDvz@Se^7MbULD5Pl=La>J0+$_E-N$3(o*`>MCdvq@J@5 zD8cIclvoW>%Ui%RT>TEcWGB?i=u*!Jb<_Vx#MCwu)xX53llTyLQe8k3T)f&rSACvR z-+CSN3F_r@VAE-}e>BFD)eG|>H$`1Wil(VQ<6|sc{Wc|bGt?{TtCX#d?}suu>aexY zB3C_3XN2BWXTHg)r9T(K=zX58odbLX8S|@6?OYkv})C{Lm;nHw^7jhy4pzrE$Y>E|3OlN`T>PO zo7Ex;zqY8$f-%;rMtKolJ@q#l&~-Z0O!_Q!sUsJ|iXOH7f3Ut+eaMeqHuc%l7#mdo zH-gqp_1~2s98zi1_~&I zYx0FK`-EoU>u5!2>RJIJHSazLNl}_;Dt?dFoESqZMib}2*hx(zmF>i8B$OtK({#{b zjCjp%D&{_=dG{?UMNH6`HE1Sky82*DlIA1IK%dq`Z2@YsCUP}esha1R^v-DlRzO6$ zCgu=8h9=D!s%2`{+MsBb<{f$yvNc;MR*|E5j^YWq8a;i5&uW&QKxdxj6s^Y4u91HPE9y1+RA4q}T!iRs)O68;wM7$t z1O%;`|E3_mP4n(Q5ZJC^GBDPmY1jfzan(5^*bXcRS0Qqf= zH%&Vun!OZ3xT7iE2fDkOr{lo$p5`UmjE-tjDXKB1`H;TXx8aDLV<&`FT0jZ4Xs`g=pRA;e~3MbPG+G_P_aPg=?4OK>ZV1wh{CZ+DvZ z+V_mGH&46tCyeE5$A1TAf%eE_=q%K}LBZ~G+6^X}lg?|yD0W_?-Rg(l3)+<D{CaSp`YW zT6g-1w`du(z-ZUz4q>cAYoQcYr*=6l-n+DFT84IOcMn0t4ebz3UVU07?LzytyAObT zKs%!y%m%eT&V`~kwF;VLhqUnz>Hf3Z+CLK^enh*Rf`xaq>!?8RuGaTk;M~*p()DYj z+QiR5Kc;;|)$8NhkAFvNLd#hIx%agfd|}K3?JQcnPih~h-NHldKQRE0vZ9|ZOt7!c zX(lia>#orC2uE~}C4#`up_@ZC9o0D^@wAWWo~FOH@YiW+`Uuc{xd7m}E}1^Kfx214 za8QtLC1nhPb>mc37NQ#qLuaTi{u9Uz)A`c%G2yxjDk3=akeh(ygE%eTi=OYJiKn@@90F>eQ5KFVj7L5`xNgs<+Ttq4TGi zrBe5+kk+4!t2$#+;-qx*3CNzm)7X^y^66by4T_$saBWp3&!en+jao+ zs!r$yMX%}hE`f#Db!X|SrFvb*LSQ!NURVjbM%}h9U^eMa)0d-JH#!EFwCF;rFxINO z`90mg)TUdnhZgO+Dt`=i=z_<=ty8xn061N`KWP%{*7cl6>xQn+2G92Bf+oSVS2uAB zV|}`1t@js=CP_Kh0bx^;$I5uG&_@fT}H9D$$ zOkZ6C9DjWp<^2QnYiWi#uK$Covx4;rZBRHwAN3im2-QpI>ky`Yp6(+G*MGJP+Mm#S z${{d9|H?CXtt0i}G-pTYXVZC)XuZeBkPxF+4nx98{k=H=vHB(S3dHFh3u%QAum6KW zOQ-bxw7*Eu_fc3sQU43oyC&%u(dPZMei23TlJ$*LSf8SQiOOxy=;NteFICTa7AR@@ z|B@guUH?ZpK!)ByLD5Y8LkY~z(zkg)i){Ugag62Y*HJDrS6}alM(@^`G@XZjs)Fw&EA`&Nb*P*00Ei+9i6|M__hQ zzk_ZaDAlLZWqW1%{8A8<>qFjwh86myw2rIPfA|^XUDAIwL7B!Xz3)26t=5|jh*E2VPcfCH5ivJq)Y6d*o zsQ=?IP@41$yMWTHU$+MWTlC2k%Wc)qq4%*(-@&5%U%UR%W!T%HAE)$3r+)Mm(0A$g zQl&t*-sc(czM((h54ZK`Hx>Z&>Q8+FlsOaR-h=uFlq$HX=iP^h zA^o;MaJi*Vqls}?KU4;kJNo`-KyX*Dnos%nd;0h30^L#lcs`skrr$%K%5i;YGCVV( zUrIH+_w{wxK=?qv+XXJ2)Sse*M-TOf3NiLbzl-L;DSc%o2&VO~(~i&CAXo)~dkhRc z9-)h2kX|-d16KfL+ze}OLY})p*AHfny#^23M(#7D(xTSG@Lvpgdm6r20zxmtId8Dp zZy3{o_W?uH2k7)R#D4+8g9gh>u<(#!<}`Tw80sqld<{R-a{sX5xr?AXVmLPm)%*+_ zX+}G0$UX`2#|*+&jQJbxW??MAVX)EK=eQw+V&8#=QOcqO8GfMLVz8l|52hi8AN{oz!$*}4Vm{euZdw`(Y zkVJ(=mkpy29MGo5z5d8@eErtziLC|Ulr5JLX!I@52v>RTe3-LM(y#GH# zVwk&>;-6iH(Z|58+Yq<_s5cCAY0=YT*!~*mdkt?;GNjMo|1LD_H(c$2g#(6n&EPg@ zkbMYlHw_VOXbl-2F9GH)!@!-hF@;`X*-^i7P77%HjA;b)Y) zqIuMKkRk!cj8VVBP=BLsFFYGy4Eh~oK}LoX=!1=K)5-M^qof5)Lyg6hISVt|JwX?4 zd}1GXpD^Y<1tTJib7=t=X>2G%E83`?4eeu$r|9iEX z2T2J=-f4hDCHEuUxZeM z@lg+y$uw@c1-dNbGydqzF=qXQR<2P&^Xge+BCVeDjBXBe<{KSu&qBol7?-a^nl+=L+N7ebBJd zIKvyQYU8{97`tqoH3EHWjFqoLnJdN|+JMy>n-5~F&gkr*5bIT=zYyH68G~pWdEL06 z18nMzD=6#JVBDIBu}0&c^sYA(S~nE}Tj0&q3qIeW1T-9NG)sL&mPVuyEA) z9+k$88Gk(lig9Bs7gkIdooGXH-{_YBFljtc2+W5@56W#kGH$&JFl9`k8^ETGkyIz- zVmfslhPs+g&^?Q8rrUeK#oe^U2%dXQR-Avui)`9TwNsv^0SaVznO0H3+kVq4MX=(4 z=>_^Z95j9Q5cG#kMXv++n2hs5;A;|Zz+*aW+TIDZkC?c7fO*u!-iWbdrpI4L%ipA- z+L!FQtTj5gU1Lj4$11eKZzL<4uvY!#!mx@dH7E z$Y}!eSyAspjcKGR{!}QoNR4g^MZ3ojb(_fw7R&IKV;#HNVf1U@oOD5r0K&>)W z(5JoHG)#3YmrZl_!ipM`n0|3rO!3P=P;2r`g}^#f*e=jrHGM#dgKMV9ZD?ILeY_Qz zjV2}ex5>1NUb1GBqxA;}Y%%>504-WgRj&ZFnNnVWGVP|hy^z#l(#8O#)3lj_Sly;K z(xJ=^lbv4V9#h;`;N5HbJsPb(Q{x0${iYS4LehZgA4J)XB{Mr zm=00&>5j?UF#veiq{me3bk7t**^E)sF^c4kneI`5dE9ia4y_5(F*`8tn-+dXZ@$TK z9=so#mQtqhk;!Eiz?3PU!t2wf9TYNjHk&C3wZ~jj2JKzU%S&Ldt2u+{+{__AgY{lB z>qDA__L)a1A?;!IOazXn`67KWz07ZqgMPpHm^++s!2FIcZ1OheQtj_S^IN||Ctvdm zJMqdMHh)eBGmn__{)1dU^IuePcGPVD9wr?#eP6lM-IzfMuBAhY)( zx_=_rd}%f4L(H#dp*PgLcp3u3&2PUCNhi#q)zC1)yo5I9k>;dwbViwfqZ`Yj&7pLl zCdT{^op^{fx8H$?ICG*Frp23Yo`d*A^J)qRB$;ChAosMnBND8W&0kP;NQ(Ia&cQmI z&X|9U1=Cb>b`^Tl%;_xv>E;SL6_jCi*#Vt0&3{z@CCl6x50_+{chP4w#~eVV*16^< z@}R|8a~Nf(^UQ%6kehF=r@dBzc~=oyh30}6!R(ybPH}+?X8%jzS#0L!fv2OyY^UVU zMf15Oz$rDqKr!qxa|``xNV&O^HkB3TnUwIaG#{n8_mcU3~VRoYRV54~t zottVh|1E>~X7f=t9Mxi;a}}*t^S87}Ycszy3!u}SNp~A|nVadO+HJmm2~2O8lUUHV z$J}@x%zDi?X9Kg(oU;_5->m=t|28uJL}xGu&DSU;dea=*1}%onj@=wM@s@c7?S6;N zZl8k9ZF2;bhm4rFtbzJ>%ypDyzH1Jqx$K_#j}L)4Y7VEp$C&vTUC4ajT(Asd56ln! zKsRYNQ%T*F`Jc^j$+S88S8#E*1P+0~#lr1@Wv&+P4s^O%_BjH<&D|3J0o=CNlB)-W zhh;VWsyr=CaQy}s%3Z@ za?>o^=mVB+>9Rx742wDdgqfDVy`gBf#SsP#b1Yv|C2+1qLMxfGmY?Zjx;)D^%F*Rp zPTq(3LW`J|&F3uMv;;bD5tIO>$P(H_-@gl%5jqxIYx-6qbg;A35=i%2mRVZ9 z0h@Bm7=^+rEX(e}-IbOfx}jQ~#h-poS1k<*Ah>36Bj;bYcvIrM-s0fF!3`GScOY-J z?5BuHi{K4og$ppd)ABv#qq{8c-UaBkyiBve4a+2L zXnHI!%m(PS{6?9(KFh!~#P?f7-vDL6@-zh!1}$Ix0Nyt(pE)3R$WlRJ?pqco`cV#B zW}L*>ZOfvkq0EToaax1iaagQr=)G&{UI^azEOIJ89kr}-0mYc*9&Jy?EgiInpRhzz z7UaI=%9CLFz*6!Az@%khHrPD0guDQz)0Sxp{W)9D#DH#()#(s`i}e;o%UrFW+yl9r z_3jJkbhnmF0&}m`F(VIz`>YRWXYFCN7h}-Vx@rU#dRd>NY||lYQ$H;9vHH*g(AQc+ zCEACrZ+ro!N33@#1MO!$M+NG~t$)pgO9QR_AE7hIx}DNB!PW)8;7Nv9m(ctcY879D zEs@r8Dl3k%&T`OtA=>&Fh0$6Hcn2Xka)QmWlT1)6; z)+K8Lg$%2#wwVO0;xBfTg&v zV9jWUzJu0EC!pN4&YlUBA*-C~WN%r&dkW0%THUgt(>-e;&6cB9WjXvbW@RB~>~Na2 zzNG^FLuv2MBug#yPhW)moRR9NUUo8QF zx2?_};GoU71k8MG7aJk|ux;J|I*-_XY6YgBEhr9hkJ^+J#yn<=TLXCxf7{r5kQ8A1 zW(w9Hw{7_yAkemgjyMI`cGD@wV4FuPS|@Ca$QKc|2Nb@Iv`L518D-=5!B26v%j@Bb zcw6KuD0<2kM3)>T*e2*2!4z9G?a$BH!flY7YFqsO)dRK%l_1Y{*lxT6!W^5(6`JPS z-lekHv$l8s0h^CSZGX}wx7Tb7b0Ge@t&=uq^|sAZ(4xt<>Ky2rZ82Mc(qe0} zqt$9F{1UEgv;9QJ*xPN4V6-}H%jl!lY5Re)kX<&b!vrzF`Y$1JfQ`DlI;G zZMW$Tf<9Z+2*&ztvlc`B0oy;(P;}5Xb{A}J+E%^^&kou8dEj!(_G}VF4BIAXYkJ!@ z*#NmCw(fH<@Q$sy3eWDY&C>&1?%DqP6JXS~=xy5njoF@l8*IjH_F0fSVS7M@uJ>&@ zTS4)_wj>+8Cv6^-K!0fao92s0w)zENI%V5QzMQt*p;8rR`z|Uv++&y0Pu#`6b0@gC z+Pi5>>}H>}0_5)Y4dc*ouRY5b1pDlbCdxl}*k3*mO+D@J(l^q}UPAFww) zfOu~^)-HIv?F@P$4%z3&Lth_zCdE2@?XI-@J#4?*3Du6+-DsWfXP>kX5 z>+uSO+xJj3=Y)N-6_O(C8Od;Bq&v1K`yP@K?X6odm}Df4H?S~eDOOE}2M<71W-upcW z^6k^BK~P}trKI|KhdpQ+JXB;~y9&J*>^tf0F1AM%qO-)#d=3;B?MI6+R%)MTf%Rqf zfKMQ)+%BPfXN6tU3xSn(oA->M;I7Ww}uG*__V(^+h?Gof(w?94sihBEjV-VP2-|-GwjrK_T`Zw7VVnNVs zKe`?6Zn66XqSb1Diwc6N zhV9={9P+mPF1^nq_UGx|raShRzlQVg+E>x*e9xXrbtI$qBB}`(vzPx5a>wm2(tT|c zcDFwr7`$)yJPId1urH>#{G|O8nj0S48|a>pNA@Fh7-PyFLtD&gdoblvomZrM2oZZ$ zyh1rimlaXhKX6vz{>n2b*|x>i~=L zXu<*(;7;U}E9N&bv85R`MpKN5Q4?DZ&eC<-EA1(e|Oxhkrt!J_)`-h`#3+B?&m;$@&X_X;``G) zA($V(1(-tkJi6yj@B>>=oa7hw;u?hVC(-?MitpP(zkhU^e~Pl5!uYl1>ksF5)2rzW z-=-Z!1fTa0#6O&hfi0Lj8GuOfSS-;9Jn)<<@?183}pOFH_7kqCCP;~LXd;@9S{ObMC)WaVpw|*}_j!qnW z$-iw6l0N>K7^v^(x65JS0RMsyuFos}{s@q~<~ufkZ;*dC7z&5@nJYm#%rDpqFeCgF zI!tDizkV0gzTxZI>H9avzeO9h90mQf)^ZYbP~^^8a8V6X7lDih-&OE63&ml<16-=U`<)D3#Q1PuB_dJ8@d0fUcV{M#se1?)p$I4W5C z6&U;kQ!{A(=`ZNM4ru{`4+;V1m>|p=V2%rVVu2!1F#QO`1PKa5(HAWE=oN|(!Q6Ei zgcE{T+6;VBU}Xc?p@P{{z;H?+OTt*37F>0K!Z5*BN_Pksd};=nX9OHKFhmHxqYRs~ zf(JXs;rWXcTz>&+QG(^y(HSjx=R1&|6ZBJ{^t@nvEu>u#R8UOwqTrq$BryWFC*Y42 zxN2ccoIp{yqYdM8WC%D3S!zPT{Uj7BEI2Iz`~M z5sFNyg2ZkNTbkf~4~R(@T-Bp9LtwcIdNTzD^o_eF*hCT8EWw4nAjuZ2YJ;Zhf|Zm* zkt5hyi~-6O#1;Y54S_p_rEdy$CqQPNfRhTn`GQTJsNE8bF~M+KFs22xJAz5JFsZ;K zIR6+z?+QX3P}~#fCjfq-;02CfoKPfaeh0FP1;aKFQzDp1;qX$ybNXVH3G&DjUM^5j z%2$OT$_Ux_1+VG)J`k*@&tRp%76}d$sstOd!B8!jtOm3i!MFB6|4RI=Pze;xf{oup{S(2L??Pyc zpp_PGt%4l-Zng>T=0M>y!5Z51`CM>Ig8QOFP)}>DPC*iFtb8F5QF>FCpxv|RflbdjX5H)vU7G%@=}BFvzG;|bvpr_gv(xbHXUN?pN9ay*;as7F zrYSds`$^MH;m-?E%M+H+_KAGqN-oCtmhfy58cnx_HFtpYj&O@3AQlMql=*d6_$6Ju zd%`j{_zQ)5@1d_qI3Pu1vGANL_)CNz(qgn!7(x$xxiB*YQYwV0+flnO-1h_e9teXR z0kl%c2t-jOOkWL>YT-T)^wkRMS3-21Nq9FJvL6XOSAyoT(3~Rn^}?NMj75Wx)e5s4 zh5FebZ5D=681RYkDg!E7gq~c8X%nud^+CIE%oDPo3fH@!cqV)=9x|T`x6@~^L&(*D zq*JK!g1s+<+i23#E$kuRXphk3L}xqo3a4_RsZY5731s&R15;5O5H9qDidVvvchLA+ zIN*el9Tct`MB|X~+)}6*5pGR^v{B)l$slG@rt0!J-9!p)o}C zn35Gwh?cWaoD?-IHbG&iXcbNJPKowOP@ERkWaE1*S+qSW-Lh|WbrMYPD8{DJ30lm0<*Ui2He&M%1UC=h*7G?hZ-mqdfKgt#pF ziB?WABI`dX|0PzmpKgIT(d|yCzar}F!;oGT)kQ!>yy%h*_!C5LXw{G?D)|z%BvCmX zXqhZBZGo5+(FIyqq>CC|z@8!U+=n7lw0I9FuZe!6T?tttUy_+ET1FwH>!J^NC~`z! zVw!K7kSp@|2{boELA0>ADUxl2raV!u3}W&{|9%b&Z;6s@5`Cb46p3={C_)~yre zUI62DZoR}?uimPHzI%q0h?6emo31Vg_geHow zz6ME>`1c~fP8Q#%M1d5sBjt0XiEo^ON$KJZ^wU`xVwX^Q{<6dj+Vq(%4qbtPx-MQ2 zfUA}xetiivxniv^M&_n?-75&q6VC`nEnnJSrp;CE&jL_rri;H{FfmvK1=x^ z_rxrk#}$f&U&Ev#apNq2DHhMAuUQH70ezV`4LcpM|3TbKORfs>p$c@~7k^O-{s-a% zzk{(-JZ%tSs>Chi27M^@qy*|(vAYMP)rn`*NkWgr?vxwzSnU5b@HU96W&lj1m^lL` zHHpuXpSW2pqce`4h(Aq6UyJxq2m0E?Nkn357k`omny2EIgP?gPKKdcBJr|#%WPlEF z$$0d2iiINR?GjtB1Hx``A-OJk#Ea-d@>1+TFWo-z9ea#yzxY=N@C}F)mZSDc++7QX zLGk$=U>_3S`V69n#WQbWC`ZJfP-^L@Nt{kQ(%y*Q{Q*@+$*Ua5c9IlPZnv}KLs!`3 zA_?OFsjI|m1jS*=uScQKO;WNNvX4kcX!YwMxw8e0o)Z0hF!)I1l^8=`Ndq}Yj!I%^ z4ecjMr6fmxiP{Au$0UuPf#kTvbiM#Ifs&=P8V!TWM)Zv zHUVh1#BmOW!%|T<8N-CpoYkqxVSi z?Q$?YmXy-zr}dI*dQuxCxfB6wl(dDSXp-n_0J~YjqcoN$lIRUk*dkd?n?745EIN;& zP4d+$+W+1zxpocGo=PU~MDa|rolZb`E@_~=?+(cca;SGo^8SLf7m@;+gm+1tCqPWM zq=%m918q?b}e2PDgHgYT6jXBeaXT9TRyBL*d| z>tUd2NaEoEj$z3=G^rhtlHp|)I3jhh2T%{`4RU~ZOBb&IpO3VCD=2+U z(xn&Cc~t5{lUhINWy(tPmu?M*rsGl{N)-*1+R~CONE%y@+6n3WSCD;DT9A$+RJw+~ z6=Bj!7f1`2{`&-cXQUz%7$T)oa->H|lh>dzS~^D$h6~b23b@?{QwEZw$`q@5=MTYd@ zPV{9;JD*_GuSsv+hLkMnMiQMZweyFj>(bdRK%XPMehsx;>8*OO-;gdaeG5(b(x)GQ zG9vt*CdUkcxAJ6(^fD%k?y8so))PYMciAZ zF_aJ4Ce5Q4RJ-&bxo@6Id#%CnOzKw%_UF>L)llCd{q*zyet$(eiOvu0lFp@Dpj+xw z0@He=A1(%Iuhe}ZYA>a0WRTq_{gbxw4oI~Wgn1>sM?u@y(!2A}Hz@sqqEtiDvy^i+ zEFCkT7?qk)eCUmI7UgP}zt+0Prm;3Es6{cygrD|8&$QJDu9e15Wj&j6ag?D;$B z3y_5;0q-%{-VX2u%6h}0K1dcCg6k73t014bDMZ#f1}jd;LTJCpNmV+x0# zlDTYy-f-DxlhJraHiM?^5wa#)l|{*dDN!d{cKH`bJ12X86qM&>U#|tp1sR{7`-`#} zb8!b=l3k5N<7L^~5ul8dEu%EQE3)zQIl5|+Ens43;$_YeP?#Xwv<0{mWvp$Gog{ON zfHBE3UnkU3WLXq6PL*9r1xcDrJ{}4)Wn1WLcuf{h^P4Q0(F`iGWxkYydtJ7QUdT6O z88l(NDPt(1C{K1N2(^6K5G5<#l9`%cfWJWYAx)9*%8t@l+>`xDj?+Tfv0LaXl4bUQ zqgd8LGq4ibp7jt@DqArRn#yF1T_7o!6_A&pLbj0(nz}FRV*~aBnVwdBm9oh@AhSyL z7r6|pWy@S3rAC%X(UXU=91|(5m9c&Wf1OND=c+%FNoJw(vCNz@&gx}>?x;1$j!>>w zvuw>wnD#^_{SkUwWV~DqVykSaBZ@ZJI2xyRSv%#ZJeT?W24Nkt-ImbQDbwwR-WM`Y z`qFjDm>P)gmVK5)`~P}mdDmb}udM!GaJ-bMF9KzpQ#07zbqLpMvp~ti}zO z>9x$s7R8`!A4O}2WLcE#F)VYTFw=!;pB$eJT6SQ@)c97V(mAp*s`pE^mvnLwTH`^1T$yJS8vZp*Ss{LRULXp7aL%;qpHzJ>!g=Pua5(^3AmV zJ1bxM46q~R3n_LKC3o@1IK|382!Qo*^2|asUXkBf1YuX@p_I%PFBei!K0%%}85h)) zD3{X|H%T6Q5j4s24dj+gkvGuhqExxp+h|Oa-=nSl>GDQek!Q$%qx7mwdChGU*W|Zu zLTHwJstYKyPMp=o5kytM(sZpoFmf&R8h{*?q` z?#NwNp;{n6K}iUAOu(wRU z=sL!*T>g&?jTLeSa;n^y$J3JOfqcU-pjFC0NJnFp+?*Dg)pEsCfT@+6lAM68PCl&0 zkUo-cdj-^SWwzSLl&`12KeEn45eJ0Ny1JLL4xC5ZujG#@clfnj%>@6TJdAP=hvY@HcV$E#_%`@P z<#CkS`bNIyAk>e^KW_n_qvAm+8l4qtI?TdF@y9bzx+tb$Zi*Klqjp5` zgtB-%6k}^JdY%er`Z{}#+$LUEQhn4DESrQc|XRQ&x9FhwbDb;0^*g^wT5pHu8~fUxt5 zQks8WP~fm0duQPBd*a>a7m_)wu(y9fhxUtviJ4v!R8HIVsOG0PLR zdPNZ}IvNzqDe16L;Y?ZfO^QdaQM8y8?o$AxRgpw-fHp+|eNWmIk}0S?RW!c?OwSY_ z-9_+Tj=B`uIH>Pdl##+7#k>M2>{XP~r|zX9yAQQK z#ryP1=~oznz&D_1qfKA06{a)e=|)yWP>gR#(YqD6hZTFWQ5#X%{SA&$#j-eXyiwF_ zKryD6eguq;%5Q09?4n^0roM3H#1|%@Iiq|*fzAk}hCX#?m7#PeL@GD_j>ahEmi@3dS~-0Q`pzlq{ebtp za>h3(E+{wfq5h(B9wlI2Qm&+Mz-47Uyz+IwT7 zO26^oyRSS&x5oqJ_S0afRJPGnq)O=(4$5lfH^GouqcqW>*bkN4Xl+=lth@;@raEN{ zc}E^8f9Qpn$I8`G(9|o{bug_#`K=7KCS}cO*xRh^rnuA-<@S7NYEio10!gd#7bA)` z<*J2H(XJe(L$RMKov)zwOu5(tnw~3NW`LnX>97WuqEqQiNm?(IO~a^lnUveeeblYg z--o6iQ(Ndbm*7LqWPd1P#XS%m{-arw2kn!vW;SkgUaw_s0}IY1~BTwO2^&M zJEB}g-?&j_==ZSYjk1g09%IULxp~ zU#n5Lsiyr1d)-x~zX7R-YP=m(c&egY(deb}UWl5vYG)e6_^8&>0@+t3qWsUJs-{&C z=BHY~f)sxhlXiUtsIuw%bxdU~K;v=Ma&nIcs!EI~f>g~WnwkfzzM{B)i0T8HFrQHQ zJcNpqDkUE_omSP-&pCvtF3=<*Ts1fy3};lH2f!bpy6`SgoK@|i2uq}DO#*6Bs+>m< z7OmPk7wXTcCKUqOdDZf>V85VhnhExcs_m2udr1{uPWjiDRUgxwD@L`CJSVZLcvtYp zsrcj-iB}ay!=?n)YXhVus!|NVl%#5+T=rzu_sOt6MP>6F`qEXOkRKyMHRl5;%v4>Z zINUYW2|9Z#OErmpekoh^KL+$(SDo1n_8iq0skHwnSG9#wE^nx~^ow#gRr~1Un5X)D zFD%Sgh2I3iTPg;5$#1L5$PsZz6--mN0@aK{0KKc4OUEe{s^*`9!Xi~XB|j9azAQsg zqFU|)g{7*`$aPnyYNv2oxvGa^M-{3W-Sqt3R}E0E$ph8MD(J0L-9c1vLX~Q4E*Ps- zV;@3qjcRi|5I$7ZsKH;WnoLgDL21P^tH#XjHx43cO7!DJ|}rRZ)|H z>4|D?CMa7}57HpBRh6F!k~WoM25P2u)gf%dn($QhD}DB#sSYVnd#);e9~O3~_RoR( zPStdp(Y#Pugn^?=wZ|K^Zj}Q?NP1LkCRDssZOubtpQ`X<)cRG+=!~TSRmW!_d8Mj9 z3CmuqN)Lg3P}MUXeM72Ldh-vPR8CgFHln&S4&ybd`b-Zi-l$&ClwwR}qX&(ndhKR# zIH_mRb}wi3n-cW7sMo~63RiVGZRT)SM^R4r5%tn{(deNbqTSM-YHK#Yc&WcuqS0GD z=nGqX)Yoa5;H%bs1DQwFCKIJQ_^H37EFOO~*8{Qx)IAh&IHq1`0>^RnS<2Z8RImOD zMUc8=0{Vj0zkP;Uh`Q%9@P(>vhCvyrZhe5hD0Pz@>Z8>i7og&tT10NW^J=d`6c^MF z=y;KfY7cTnUsA6$od?Hd^)9#&C&Z|)TA~)KcBJD?;?x`d0`4p74=J>HRn2rqW4wAc z<=Z8we{jZFB&z=`2SbwDj+_n2>UD1eQ;K>;E=W??|E79eC5k-t z!U5>bSI?yN?k)AK72vzAUP7l$-cgUA4w3@31wF-g)zRdfyr*VOfUrXKWb)}0sppXw zr&t}ckA8opMEyQ_b4u0jbntbVx}7pN%hfY~2jB{Ic^dfdt7{bKd!SyPioQyOUTWq*~oiQPUdrjN8!rP`!|jK&VwurI&S``d$Z6JW}U*g7UFCH4Xz*uij5?mTD( zN^_nz{zYqMl!D}(rq2iJ&ud)&0?7r4hj=A>GNPrq9%iqHIg*9l7Tl_!}xFJrja&+ zGF3B)a+T9GR}SH}OxG;yf|Lx+HVO)6YT`4%a82{$Z0O6<%${RHnWM>}xpA&0YyeY)MBa_tnjE??cQnswN>QLG&cbEBtC>Mt!R~3) zhfyokY^MF-MVi*T7?NVmdfNC5B(G}CFB|46fqk^vrT zQfUcNula_a^ajm3dZ9LI`e%Z&N%M3LNSZa_&J=%mqWQW4)fUa=w*j$L!|cc4w`opM zeqy`Esuk*=YMu_F@tJ1#QcynEXlS0%q1i|8>`qN-7|_4ac+kOiU7FPiVCdF-Pbrr@ z8V3mw_G;dxh|Wt*>IIZ>o0nK6xT)fi6F9XeMjd}<)gPQ&1eHzm2 zUk#dJO&wV{qItdoC`L7#x?tKH%`GEH#xy_D8J&*W>&H7C%ck$PxAq_QC*# zYJa~4%2V3ZmoV_O)|&kIVOrCSTM!eWy;TPOvs$||0RNn} znEcZhwLuhwxuoTP2r-wnN5WCWXtUn}Nvt+34npI!-V;!}qP3u{vRAcB$DUAGHHiMk=C;X3X8Sh&`!e=?G4%(R;mpf zMy*V{hmtkQwNrjTV}YHw2!n}N@0Agok>UP)NB8xfN+D>c_PF#Y89avnI^3x?I&;6 zPQD3ao@o6pfuu!yUISZNwHlgnwrORQS=X-p{dXAgR6F!N`krY^_W;^+ZQf%vc4*s> zDs7t3sXcrFoiDWO6Ts1>t@Q)8ZmlPMlY6vNWl+(pU0e=@FSS+kp}tT1f{FX0U;8m_ zof**n>;%47+Qb!r{aVYT6q`XUn>Jk!Y4`ZSh+%E14h$pOw}(-TYTf8}3EpVSEFju6 zrcL@9t&X}liXA)YmXU?dx}cTdchPOjfC^V#2+iyd>(;X{KyJFp8xlozQ0NL4~5PG zbZ^p8J*Hchi6TgMlftIKx|g)>4AG6JmFfvyCKo79>b6{krcm8DO6WMHOZ^Cqr*+u} zp(0FofIR=rBOD{W+ax8T6jl zMbq}23%Yqlu>PWM)iKaq(j^u^{be2NI{IRCXAeP4tZo@i`QmgHqu{%uJO3SkUez6) z4~6l%McYA=psOU`OrkE0HVP-{W?e!pS$C9no22M2(swUaCpJmIk*51`0>q^2eCfp9 z4Bg$YFi@Ggd-QuI*L16vz?dxEINF7utt+Qk>UCYgB{1aZexSXdxw=0o!g52mXcl1S z>lmG=-O}x!3l+C@^^{q6R~Nnn4EJN>6Oj{rD$PwCXl|1VwGSiF9yhyKYQH`;VUMKI4F8tcwry`%ypl&Y>(2(vqeMp9NJIKW|qPtcODWf_Oy@}uGHjSWg z)W19oyiWRyUSM$6PkA4h4(s3k6nt*_6N_m7pS#|jf-pz)gPnlrp+D0JO`iIrzo6!& zKRzE8dh2`L(deW9V=09C>UTTd-%3a2-Mrt zt2~>bXwmx3ZY^8$!DPAoc=~WAfDI%ei{51^llWl zyr{oI0oF_UU~^!)tY7^W#Kh@+&O-ea{fRwbxT=3nDK_!?AIwoC=;zU;NYwA9q_iac zVv5=%>vzyCpQ4x4qAyjyX$poi&7_~`jMj90;c~QQ=T~qt?9iC2e~;d%H}qCpfcK`pjdt$j>6^9yZ@xZ~z7Dtaj&|U?tfM83Q_hO1t0L!Z_Lz1%boG>!U{RRGnb|8)_HW_|u?&^*y6(t%tp`jf9g+N%F+H)?Hq zJ4#7^rq?EdPIA^jzCLJjLhbac^(-rs;?O#eUfQ#%@F(`?qsu#Fbc z&W5f@C|nFiAvC!f7L0)Mu;Fvs%i(5_U&jEs8)6Tm(buqi6^f&ViL)_I{ss=6+Z$kD z(6slMVb)ple;zk%`3Q`G1_?#=f(*aV%RbmJe*g+k8us&`Db&Eb0WqfxrQ|s|ZCLOr z`oav~o&#mL!HUkGIAi#iZutm9H(l+shH3voSfpVa{T@P;p_G1j=NCHD!FJ82+~xnopSJdCaPz~^stc7vt>qfIj| z^D!ff11ZOi2PjWH&^YM~8iR}hIBa*7)Qu#3Itc5p8;umi%rSmA2r0S7HIxOHXT19Z`9JfG@0|hTEu)Eoptp_q(L3D8#x{EU z6c~Br>A7pPJwx}ivHd&T9)(8pTToGCEK5UUu`!vZ>m|mj98i`TooNF>nehg#Hp-2Q z96(uNJkbra?;8*N44Ds%XQ{E$*w+MTrYhrGwBD^Y#!+fejdAbiK=IJH$^iaa;}*(3 zs5AaZGoeRDH}YCPHoEQy-bQ2g7Sx)Ix%5?PHpU%=&?m+`az3{hBYZ*9YII6~ls04O zJ5b+lyi$O^r^Z2w!#y(=WB~SalkvS@(b{1w{~cobj4NrJUm3r$fZkza&}X1|W3`^# z>@7;s7-{b*g@$wXpZY@PMSIiL7wC+!XJ(^%#eNsLUlZ*AngqsV`%N2RVZMC@ttM~V zSFQ$Sk$p=DP&}~r5JF6~y-zHPTKhu-xT5v;GwAtgvbQ_|O)d7Jbc#j0eWDIhp4)T& z1>R2k9dfY0un$+E)@`pg(e|7k`}vfN{?dNVGw}D>`-;#wU>{HEtFP=2Qb20RKDrnr zqxKo(op*G2MUh|^hdI+wb8`s44N4CORvm!)I0#MxsK3Jzx=8~ak^=!P#9=zQX2Trb zq71nRhd_!nL^)VrFrj+hfyKe)y5x{C6DqDajMhV8l0zZA*Haz-*aP@k4sNvQ&vlqn zfs2>#@LMo|7C3C01HM9sXkSPvaTukY1LY2r=Afu{D1Qfhj~(84(tY8;lS1J$hmXGl zrQ`NNHLUm9{^KV4{fA@QzqkU@;O$#!t6%8$Kk2m_>5LyVnO`FWY{W zb_!N*|0n~t)NG$Ar1O^^ZQn40&W7#De=;El{|>@yh+E6-bNUGQniY`C%Fj&v5p)Ka z-AIS{<7S;=hzK%^o(+&8X36wLI%T$_2(@Ul%=ZB#&g`pCQA;&@{0VgCnEjLm_5!ox zbtuZrdf_npPnU_io*b8Reka8rc2n-aN5|;MxQ~tGW?ba>3I;Fvz6*wa`3GeNe3ic& ze}5~a1;mPyHt7BCx)T(w97i#vRTh*&vHGeT{{LP|M|!RqbHd+iG3^;QVO>0>s;;++ zgPaYAXp!`zDXa+{8*NuW*(PBlfd6#Ti2paIQi9{pIW(i%;!Q5ctf=Zdja)=wOc_i6kUZJ(K|W#Uz|h%b4?MQ?`GKD0-E1qPJ!m{;B-j%_k)8l$<54; zoTGjwGr2v4hnTIR0RAbnt=<3B0IElP3)B_6i_h)|mj(uTyBnw%mtuj=nK}1}nbJD#n7lPekU8!)^1kg?{&YESARV_9e;1Iv4(^nR|-IB+W2=p zjN7z`@+N*NByam>%Nh{<+>i^ywhYpoa%)~Ul>PD-t^KzBPFt7w?%NNW1aI?UH>mJ2XHep& zulX_BzH!t%h`y$N=E>xG_cuR4^MnBN+7D4XW}fm6`i`3qI--_jZcFdEWb=7mFeJs? zZ32cc)!ZP!=%txUPNOf~d?ypIGt6JpHOn-gupK1V%zxO2!jxsc))JlB=FKAjeBJya zC3)qTk1m3=T=S1;8hX=wcn3)G%y<0={(ST9Ng%mpF}e`;-nMwO10;7WeqljcfyJRP zkleNKq5O(_79*6iQE0J{LZU?$sT7hawrHp9^i`bJ;SZQJLKKiOGY-xgDZNW}OUyVf-x%D4fJf*$YwH7y%A*Ig3 zeiH`hkwwSbXsoxmCc~9%v^cmAMl@Nx$A$W4i`q|s{)vU@SQ%uuSZu99XRC$BG{|nV za7%&gb_;d~il-JkuRz5!i^bQ__uS$r<$ZTp@Zsg3&}k7x(ZClL^54+cW$}t;4c!*g zS}-I%7Kgro=w1ue41jrQk=%^NJ`1z+sP$XqQC9STg|~@jS+6YIi-6{}Mb+03GiY%p z4>Us-jUv>BEovx+G-6Rv1pZMATQ4xYv3TDfePb5emI0dM_^)VT?lk`FZjd;S7mz>Q zWqhYUq_~c+&%;n29{(U5jc((EDE-uZ{IWB!?8x{?e|jK1#&4$Zhv#_jLBRJKzxP*& z@gDy)8H_&T@6&6~cYF+eB#w<=wFZpG$9K?f!m9BPk8slFaI0- ziM!~RFMB5z&|~;=qK5KF`X+9;j%(LH@q!mUjT7S$xi(FBHSukFOTM1SqFo$A6K6zY zxQ8d|J_7EMiI*vyH#%{e42*9kzDrKkv5D3+;dPu8{VNKmNz2}W>=TxDbhg?_%a7^f z5^9-8wNsY$xe$HY(u}^HVU~H6Y#(mFlJlkE`as7Ej=hP_l{*C?N}(Vtfm#vUCV(WT(m;Vy)q15k>w4_6Dqb$ z{t|jiEeo!Iq|A~4Ay!?&Tg!ZNZQQmQOJAkSg7$#Ss~>T4|jpd5;N%QdS|>$c3; z0-7GnjbotcwfuWE_+MJS6OAG5x6F}aNM2b^$wl95%by$pZO}5GUiCwk*RZ6XFl_1g zE{t%oGEw@CtCa)Y+bSReV|m}o|9?>U z!0Ikt%1Wy|E09!Kt^W>1wN+6Y8f&at-5}m-TdRm9th?T=y=pD6U9RsuRu z)YE$CPbiGAUPyGiWvulaTHeH2cTu=B-J1IuWM^1sQR>Gv z>x|D~M3!~a`!FfnS`>%kx^)d57L;o}X^{M%H>_*sVbt@i9Vw8OZ|zSGqhjk^+9X?I z-9!_xQtK7w=qs}hqeRtmYn>OwR9H`_1ho6s>AqlpU|shF2rI2^o6uKfZQP2!YG8t} z2J0yg0K3up?^N_PTQB+*n4Va3Yd~UZwVqcEp>5Xt>41+hYd)Pi=g0`V3-!(n5hZuJ zFt*dD&Xut=5cVEsv|L4>8>9ImYVHh11W1lBQYmcW!T2Qsl%9-hw4U)|RLP;M+<88`UzrYxwHPb~#T@H|5Vk9G7e!^u& zU=GyBFnTXQS}fz^hZxH^M)fQhdWEr*?wPBMTpF%;29x&mCNK{5Kz$-3;Q{!P7-o~e zm&};=J#NwzhS2m8G^H}Uo`ErqQ9=RBbOw{YHI0n$8{ltZJYIsvXN*MJF7}*ZNm-5^ zj0^M@=w$pHfW9t9NjGZUj6Lqa+so)X3z;t&ho(bjALC1U{QDVg8uYzlv`~cPHRH4# z#ULYmB0Wb#jP1GL7-8h@hqO10uL4nwG5pEF?8%(_E@XQ#)igcwVZNITV|c&pY4cx-8*^6C;;#?-i@$YOrC6L_2sJ}!7Mrfz6Z=jwdLr{ntYuW2o;kV zw4$t=Tt|!VN0UpUAnozwNc!H_PrgU-i-yTdnqX7oUW_IVVrs*pm+|%m#Ukc<^jyehU@x zHUZ?cPOurxMqi@M-!>?cY<^mYidAp?GO?+7m^ejnEe){WeMFClM zhHQ4V}GpmdzFG8pQer(C7qbaI)p;u8RM zof1A1B!{QCS)*{9vhX=5-KR7cLeY^aA5cb;=ak|(|DAs}@FxPru_^X+$jb348+>7X;FLM^Dh!&E&6TGLF@06w%5rc9%{>W0k%`N6Fq_S zwC#PGSH;<`T7bS3TM1>Cq}uMvMPHij+Yg~4-L{@iG$^z!jzF!*w(TcCE4H1HiK5c> z(qv$&vbEKKz1nt-2y2*tXaS16*(W zHdv(i&}pjeyoz0G#tD2jI5#aA#SPi;FX z_B3R>Bn*7Rwu&ie9I?Is5O~?HS258 zxUiz>KuTBEQd=+{W|?hz{aLRmHW9!wtxy2QF_x2vt|;rh6{rQWHVDue#QNo3 z;0|Wpu|#7COY-K&y#8xMMC=i#yx=gFWOxECMpt;71fd!n)&*##Yu;Zwy`=YdoEa*v@)G(e0ZkE?BsOVw!(>>SAnwAb}FIg#Tz|qGFr=5!ZtYrt#IKbj; zKW0TQNO9_6tMK4dcPix z0aL9g8|~OsE`_d+Pwi+zW8l;kuc0t#YUA4|f~WS-%r9hWWid3Jn0n+Vu*XkxGC*PC zw9Ap`OPX zeM{~TS38vkMjW;?ZPh}Wo84*326wm9yTJM*cI)}5dDw9%>gs8CnfBax*(K8K+uM%2 z3<`bhevL%U*DjKrh{1M?=tU7?_bn}N&e>g|jaKLFM)+vFXg4hdLvqQkpN{pqY&Z8K zu*cX1$AUf1?zHI<%5=MA@_1(0#Y}_xJUiRjDDv$Le?rUGX_EZGrK6-S@PU&%a4HHVb|~#7(4Ca z=$rn+Ze}9*y6iZYaecb&0wYlCv5P(qzFxc6dqDEi?il$f`|SMJVVL{vva`TGVE2@Q zRfBdp0h96k4cWl_TOe01aEfQKd{V)ZADRDU-s6$5Ejh- zyOZXhA?#C2q5cHBpbS==WG}D+M<_dl4k9|o9-@rg^Xv}~g8w3W{{ToXv0La)h-JG^ z17#fBoI*iY*oVhM;Z^ppNk9?L&Y+Dr3G66J3`}Itwgk{5cGL`zB(s@UL6XAuqoFjV zvKfsKn#Nv8?}l_Xd_K4n*r_p~$z*$xhyNN|OmWsMwx9(jfsZ4V`Lz zmpw-S#(V4q7r|J_{&G8NMeMuukt$|ydl&pA?3C+3QOZuC{FyTLFvYye*{diYxq>}s z2Pp5ehnE8V1NNa`a64DBe-;2!6D^#?y&5$QQp^Y6ti==k8>rbG3%1$W9SUzJPvxdUwY<(Wa zvV(n@^mej8q+PKu*vtJv(#6(do9BdXHeUwyJ?zQ~*wV|kc7l|b?CB=jci6{nn+7ZT z*;mzI9AL93j`WJX@EN4NX1}!>*I`l2g-}Q%;BAxNxSJqtBJ|kdFU7%&Ff?{!cf~Ov;XS=bZOM z?FeTNxqUr2m&HKg$@#7ngW$!np*V;)XYLeG`fzTRfZvxh@(mCk<&GWZir6E1N!(#G4%oW}oQXks`X3sJ;! zlIeXF$5~40epfi0nJBJuGU>LC=d?F~B!RPuVlauEs2?CZiL?A&dbl|E>Gn$DFeT_q z<*c{`ThchQD1|qjQ$#cK3{E>`AZKz8Wde-p8s|?6(`9kC%fXnd#q(RhcWqd;^4=V1zN zmb;w4Y4`9wjx{}og`A)N07DUH{BFoBHgVpg$N6b&4c1BE9WIbIu4G;uEN2V*m5X&I0{;e=9>bPMMf6-;a8 zm}m=38)tnsDBC$RHv-I4&Q?l(f5!3lKppm*NbcW7G!&K z6XYm-xX!}>uG#=;9^9Ms9ce@4j z1#vBg==|Ma?v|5~7Q(G60mKtr7QIDIa#P7Y5y~B*ZGfk^um8b?JS%XMB3*^%6QN?MBIp8ppN(cGJqU~rCmQVd1sxsPb3dVxD@ zKFvQba!V+!@&Yb9Lmzy2Ujv!!2~1J9HoXcen}U zPAT9zQMmLjS0P8^J?@|F&|An|NOO=P?t&_?7jr+o0?SIc&9q)E&5bOA!Wu5;7a)AdT~E7nYPsvH zfWD4fM7QN5?k<|3Kj!YH5P3bfzX8G;xH{S|)yPesidqx*$Jqed%r!Oq4BSt+lPK8L z!p$#%`c^JC3JTk}v5(N$&fRzp(w=fp9YNnSu9{XU&$(3%AnD*n)4krw)qVw%7u-K- zP1?nsGYuAYb7%DdZx1&$4Vrqn|2#wSlAAjYDEhdu3JhgGcaEtC@CUd{R>S&N+yp-O zUvs}8-`ybhuPF2lapx{XG0eSA#~qJw<&=dp%B`a>i1%GMb!t zy}gj)%nQy2CKsNS8~9v#k0`2rm}mM93~s!NpHOq>y|bFue@A%lQbLsn?>y~I^yGEq zqS1>tm*TYEyj}gM`S5yv1AJfJzq3Gjl($R|p?*9q?R)a)eMzUB1n_Jr2mTl@B_7a@ z^Bm$)3*@NkMa! zxBn|#u6SOW6xJv3Mn1+^B=WZ9Vz`rd`+XoSnO8#L`xM?=cTuGB=8>->jrTvwl1k_K z(#Dbuo}UgVGI{gJ3ww<>!x4(Icvm(;rYV~@M7h$}dBvH~o5R~j{O608LMLOaFTec`>gct(CWSGWgqg-~NkQJMSY( z4}Qw~+a9JpLP%`ar!CxDGjIT|EK9YprSh3zn!`F?$WE8>@F){ z)FdWqVvWY$WACwR>?QVIS428e6r?Ls1rZS}fG8+P5foIUiGWHKEP#Rq@cTV^zyCQN z#+iBgZ8J}q-8vcw#}zWl=(AQFr-$-{VnA2$vr)v;`odPRC7M35c8auWkg-=pP=M7z zv6NEN9Tm?!K*mYYm(Fu=R(zpl%1OoX{xFG)V)A6*yDGNRR?kf_e?A7?6-(7%e-DYh3w&_{~dF&KQTc=HHUG*1*=$lsfWZ&2)_m;D<>8HLKn|F#2Cn4y2Mc7m{jS8cDG);=M6g16> zNQ#VpP<){k=SM|a5D;1vzfkplt3vZ^KiW@>J4k<4|$k7p`1#dG#lmOA7Kky z<=kUHw^P2ki9vg1RWKR{Wq_s~_>Rg@V&SAL&46mo$~zU{dr}#90D~^dkcSY>RaqDf zqHf9ql!4{0EF2E2ol^d3fE(hpGSC!!J(SwBFzBiLMhU%Vl&gAzw3l)<)t7iHPtE}` zALTL<+gEvhC`{s~3~r+Jr@vB>2@wO7d#D=Xtn$Dnz?@T#o&ga9l|_XZJg;0z{)`~y zI9i4VE6XX^6{38&98IY5ChcCsl=lO{DO|Z*4GAwOd(rzmLOE?Zgo#vcE(G31gRjsnO7W%)@^d8jNM4!m6D`aI0#DKA}uwI3o zl*WHS?Na3j$_{z1)TP~inR4R{80dv^LN3_9RBo~au}Wphbm&>7j3dW%wKAO&k!v){ zE40e0RW@s5v`!g7E5Fyu`{Wg=S338{MQ>1^y9!Qkl%FVk@>c2Q2E=#Db^ik7z4EyP zwHuYIrvkD``8o}vH7lo31p0%r*I@KMD%mICwI~g0Aw{dQD|wVZD|cIA@QYG2u@Th1 zDr?Qbw@n!|9$K_3qZeVYLs{R3!Eef}?;+taRrncTSgESX^?qEnh{7h;s_~D&>4a+M zA{fX<Ku{^iZv#3*)K!N^$=)s^Bp6yi_{$0C=mG zCV`lbN<*t8U)5G}XZWe|wm}$w)dKPi2dJEL&^xQ@uYEwDR*j}!j7s|$7+q00EvEB#V^tHWU@=ZLz!kz=Rp}Q1 z@tUgsEL6L$`m_km4OK3EV&hfKbh9O>rcyFpqH1kAnwzR>di5u%%9GK%rAiG(b6eF{ z1}e#_&td4LsMgFv?~ZEcb6kSb1Ql|sz1&E;eo3EM1VY0joAdeTvgwl&@fNcc{F;D zRDbS9@3BgUq7hG2Q>`IrzDgpu;8WEzdgp2iR4)@TTBu5)rD~CC&3u@qShdR@O^K?Q zzVOdf=e`1?RJCCUK%T2o$P-YentKl*<*L)yz@kFceGD$l3)Ngorg^E#b3pS-wU$nx ztyJaE!4Xxe-CclJt$Mx#kTt5_C9p-UM&(SI0(GiAevsm|YHKeLtyhif2E+!{njPT# zM%D8fK;Eiq`objdRIBJ^{a#ht7knF4>E!TfQvJFOM4MGV`~tooREzfj{iEu_7vQz1 zrj7^SR+W=Jr1+%jhy=~gs-&$z|Dw|TJr~`tDqBk0Z&R7lg>6^;McdvERh<_YepBrz zM03pSeJku`WwuKTy)3iA=YeqFtThrubIg7l2xT6cP3s1Rxn}xQFqmhSFchLaGHXnw zYhV^;1<~@&2JM5O1!n#eL8Z{FRYNZ2VzZ~C(3F^^)7IyiS?xh^Dm8oZ13;gf{Z0p) zmznuCpeZ-&(h6lN%*x2g@xp8{xlv!4>CsPsRGR$|Kz24OBVR?0nQAE+*zAmg>}%#h zxje7Ukl6wIn%#~>ufc4*mjBilcj|cTGaiQym))tDRAY^@3<#>b+Dl=dC{d8PfZx(S?ZPod`} z^-zkVMXS5gN=S2Aom&X}7_~2LmaeF0(#f}R>YigTcvbC9SLB*{2}Mz^t1pj7b3=WJ z4hxD`dy*?ULH%klKoZqImqO8->dkQaNlEIB!@%N}`t>U)dRv`GNfXKHA|o^@>c1!@ z=#IL(3J7;KYI{m-N>y7>^3gqY*M5*9T|Is+IAy4NegtTy`sqU$AxrH_34Yn?p%e#y zp#E_r1|O=oECWKGx_Tv~c%&Xg@43h7d-I_E6ZO6i7|d7OtOcj1>UUScp-}yFKWG-I zxA|hOSgkQRh{+Ol&$FQROdYrn)+<%_aD*1m)r~RWRHl|ch1JW|`zV>GLfuMPe=pPv zD7W;bx_}l-uhf-CK&?{Ugou(FV$)b7f`8D_n3*MRvqpKDzDWxM(EY6XOp$x zs?Ta}qJ5{%-U%}A)%PiVu2KD!yqZnwHp(t(RvUbe=7T!?J_eh+?X3oFEAz`20cmZ1 zJ0IvL%=1@a&fUD*A5h!Fym<=5_A=jA1Wvx@Z+bw%0Q0<2P%zAVF*#}@%xBVXB}AI1 z>ClSvqPc|(lTqeNTS4@ad2eqZMw=g<2ilj-zgvgF81tWQqj$wTi;^c|&4YeL6KCFi z1n{n!+megtn)zcZx=YNzcw#W#+~N>qN-+P>6C5(lhfW20mia64bmo}=!wc?-lK3;S#g23sW9fPIKXAgygfE%pxswJ?h&+6shQ?4@fL zVG%+sA}tolK{U!DZyyG)S$tH(YS%3mjRnmc7CtM`#9Lf@1jq!7A+$eFvp`=uAe;x48Bz7#3Ja z=Ad0KiuAow5(diWC>MS0R_OC5|u!9nsFBT3| zpVnrfV+hc8i;y0e?67bz$2It7k<=Rutt^*O)abZn_cO4pwdI{;kU3%5gEF;kEl1FE zZ)X`%i#dDCQcplSSnB--+K!gvDd^;6`IvG{oGlMh?uCox9{NzbT8^ap2RDu7G|G&3 zx7==x?kUURf#7@E@@J|!^{~|054All8zLZ+m*wMuP}JM9dOzg#v3yP5RA0--TLI~3 zIW-g4$KTSAl4=4hkBx#9XDvG&!wnH=dHx~h&RaU=f_<=M*Gdozu{5O!Scau$wZ9$0QeMVORp8NLJ{d6sSe?Vc?=QBw9}%Pnic{)weX3%GpC zsc*sXsbx>{KonSRSPhUuOQ8*-6M~Evm|-5=(g(XkTjCLJ2cvmdTolU{P+V zXO5=Uay+FA)>-Zt1EQ}jFIjEC*_#`D)p*653mL|4O+NC%S(=4I|iepHBNu+wMOrfo|7*?oitQ*>|tG zfJuk$e@_F3V|N~nNvG~w|D7Syz0=RYINAN85+E+!`*fgj?cVKA5OwSR2E9&{%Q^Jt z>kwpkj0D?`JZK4+QFH0g$uR|kA=!dn&p~79vtRIcgWiu|x&Ia!#gQdwK7-{+c5W(w zLfQ{FuTAK-L2V!L6 z5Gp~O6g3K>lg5MPrY#jC24NjcOF7)ZlRCpmS4U>^R094g4#9*KgwI&-g*}k2VB2m;@|>` z9Uo^q>6`*#QgmoNlwz!yrsD^QW?@6gG^qJnk?za#Gx7@>`H8mBsIbhG}doC3~bZ!vWxs z!G_mC-Araj4^9?4p`kjj`>gMBNSe)N)4Ml^t%?Her%XYC`vRtxR0UfdZl4)oK^@>e6f?g%NvjD19v0)-uRI|?mAX5!sawY z^j@=~g_QqN&$9nJJCF6Fc=j7MX)Q3`vZcl#`i>Q?fZXp{Z%W*5WSPs*G_iOGuy1Bd zjzYDs%<@+-Y-2sn0==EZ(~_@)t;@ooEiYaG1Uv5A6OBFRKLF2xXHgQKJAV~L=TDsC z&E#A;&21R7ya1Z|X@c(gd4kVa-aWJ~!Y%W!yTws57#aIM8P5Bm)tn<%kE;6%Kn2TbwywJPE z_AG^R(d>;HSN}3oQh|01v!)!5E9}7w2oTHqzDEuf?B zdN-Im)nCRlL)xh)uz|FXO=KmuXl^oJdcu>K2mLtOE%t^|3vaVQV*r`V>M1uig=N!W z0(aPsQuOXJ4+{BbvrV)B&SCYJV4DZbGLHOD4_OTrj^?sI`a;q?rZNGUN9>tn z$|ick^!(7vXU3GW^OOzh0K)>-PT%oD7WxlBirD5%fE2Ui|3%=LGda4SvF-oGBbYXM zs-81DBd{-Hy$zsQIji^zwwekS^*tEAU~|4e?UyWb6nd}NeSgrdWL+q6wu+6U%(-fI z;1YW8ST7}{c+Z;K(Q9O$=HT?1-EBkjh5b>C<}2I$0}$GnIYms`+14f?bg*TVEAx#F z8IH!0n=OIyoHTqer42jtA82Fc!9#zCY@WQ>7=r;k?*LT8y|fL~!gzZO7>4u0p>$z+ z0tL8Y`1(wUeTC1WfL;P$Ccx^6e9~q>-sI^Iz&DjwoB_i$UQz;K?(tOG2II3r-~BSK zNuqp!YW^L$IX>|4YK&S5E<5cOYG0k0*dz1lvkE z9^c!q%D4KY-o^o#!nA1!Ml*ndI$6yj$>re6T+idx8;3uIDpDvMu}2WU&KC+{A5U?uh0AtJA_@9;^0&Fpt>Z zy};rrlU`u1fGwiLkrMX(8;JItt(uJ6pp0!9i(WZ9?+qz%{pZ>M^aX39jn_-&c@6ll z*r?v1R>j_$W3HP0avJ*9pxzhOsb%dH2(DvwlhD+&+4MUX4eSJ!p1ozS$@1^mtP)UZ zVhOa|Ze|1XL9B(vreLm>EvG|SzOmI*1#wKn8z@d=#lLR=Z3iB>7@&^aeH(Kop+my<{|HRkI7s<;t{mS<90^qJ>r`v zC+#s`{V(vJ@R~GG%jfp=HG9f4z5`wX_v;2?g}jntdPTg1qW{G_joefvJd^6MpYh@l z;Fa>H6wiImduq<1TgFw<;8e~#-lD1CCKTOz!PD1+%uD{3QYc>Wk1NotAW-qn1h81z@}6Y_s)2Wo zwH*RNAX8q1gb~c62NaKF)s&HWk@cfBQ51Vb`8Z{4ndTs*sbD7bC4I>Tkm5D0_9G_i z*ys@urh$#?3>I(MceHr)3`z!~{6}I{VFcMe`mA53arxXpp z$uiEMNn$^)0OT#UsuCjJW)XBVB(uq3uwM#WwFbRA>=QX?@3QXkXj0j)bO1vd`$U_n zd(453N=avV8hzkru(MU@X0i#iP|jk7Zvk_ky~>9Tv)NgH%;m7jSgqh~JC9QLAF}z* z5IdKRo(9M~c6cH9K4M=7L*B=%odNF&3qFgve3r8iO(~mCUgqcQ{AutjV~glbTFxqU zH9)Lj4<2Il1#8#?m^!ve4cf2SW=d$PXHUuZ+`#OP01|6MI(6|an@W!VcWeulY`1t~uU^JnHh1^~qCMm#bT2*P`MoLrme0S@0b+&x znhcVb@NXlbMHvsHH(M3oa0j4o`Sk}N<0Qyp|L^hdL|OEI=VpM(!tW?=ZBcD4_%43> z1+pyJ{U=B*WzR9PY|A^0ERQkqfpW+_-=ODDztO^JP^6GWuUs?0107Tbz z>VksR!&UgCZX%fLTO*;#$M10$DQdG0r3?3 z^8uRE>`6Eb;=!KMF$$i{%L|BSmYZwCW0H9pucr%mfX2WO2i91hp$ni}qp(Y#oJj6In5NDsHlIzky*A zvnqvz_t+n|ftbz=EYM`Iz15h@Vm7ql$z~q~NRh*CJq6z?mQe{#)$AT+YSb|GZJ4K) zok;`fIyUAoKwdM`%^HaRj_oAR%6qmf0Aw23PbC;^VMz_ZXl38*F!+ger=qFP>_Zup z`NC|;Tl$UNSqr=q{O&jC>%dzA0CJj7v4l*%oKY=L0Kb%g!E-$Q9zf3XyN56s!q4o3 zX0g0;$$xcw0Pj*Lf|(N=N_USln?bL8S2l0zggH{|Hld(&WY=luaFLzn5G#tU(dYr@ z5;LUqtZ2637-YH32226b7&d^GX;;|ca?HiD`Lx@QWAooYimU7zWv^dn$DaV?CUez7 zbBkF~sZc8Gz7z;)Y%{`KxL^~gh%uc#yN>1|YZ0J%E_+~)xjg1qNA`cj%qY_Fn3aZO z^a<;K80_=eJX%;kWv6{Dw;aBHV;&qm?LF} zG_wlA`@n9OK&6jttn9yQx{G}7t*j*l!hB*YXHow3XO>QHF>8LA+@L481<`iqK^6c# z$sk=2U9XYC=bAMtHIhWg0_Q^yrl=o#PQ7rz`w(d5&(0T$5BpdDu3q# z+E~Kdg4#VEd>KtTUljs`3|@K*O(yR%2?%-od)hfX;tQ$R<}n{hZ<;4Od^G0r`4-xP zm-6@L(0k5LQQSgP#kG2%Tg}h^3BGUnR}a9vBQ?l5k7}dbDuE z7IW7%LS`W*ZwPU}K+UVKX(SkDY2aP$EU@_ZQ$e~exqa_PtjHcr!(T9YDnQFuKpEs-r`Q$H~EO# zlrrKgHjKugpZF_96a2+#BOzgcxR6Tq&Wa&jz~P*D%n*Zt;u?y+oEJ5k<+yl3VmAX2 z4Hlo#Mm|Keq8DeVxQ7<(Vd6x}Dhn42DZq0<)LsWN5#m2f!8cAE^$X^%ikG{B{WbAY z6MEOhg}nh1FESr!mLL`wfl8w2PAQW&#R=p+N)puqOma(%{GQymx5fG-P)im^QCK`h zETw$rJK}b7(cTrm%LdU@G1vqkX`<{jINcMo%AsMpIQ%)J&k&8@fp(^tOeqanBHxPZ zdtW?C8GYGeG_7HB#J{L2;emLW^7I~xOI(4FEBcy}|0Pd+a14`=#If`;e=JV4gltbl zKYG#Ri~rJ+rcrF88?jCFBqJP`RCEB6y>yAbvM$m-@+Ep8(HCO-N;Aoo6(~iO0xw(| zxej8-NRuA{GDAAk3&K2=6wkr_J&q&ogy+vuwv5vr7yr6Qv~BM@=zHkc&y99lLq^cr z_m45l@c*e1lyJFiIUF1RK^M#BJqF-2*}yp%FPAN#B=#4wVMjpxrEGUsK-J2e4xm>j zv!i6m2H8d0bbpYgzJ!P$Ws6`^4NjFAO;3WAJXQmY6Y|Xqp{bpG2BjN1$`da`x07-? zl@Pef2Mz=ocext;rPK1mR8Vk6zWWFCyyeMrFy||ObPJIF@(g+&&dF2W0whSjb|?f5 zmB&_MFhaiPGmH@>UlIWhnp^T0i!pjvo-sFcEU zN;P!PS+xw}moddmH03OpvcfBvf?mQeSQm2bzhpxxBK?ZZAiqH+drC31D)uS`Hm+v5 ze*@ti>)svcjVxn3r1-%4rK0)7zV8g1*zgB*q=+MLKu-MsZuafn$Qpl|tpvT{OU6T- z5!dOU*pW-sAU3La5!j6`C;^)>JB@)e)`olpy+#UQlo1ue3cM~;In zR*!!MLD!^_?i+jCfas>?4%FFD2pq=o9v~=-`P89 zHMqDF62iXUOMyAp$OJZBwP zUgaA;Liz-LkhX=1Jo*KQ-Q|CcgB+#C>Rc{2=Kz*lYn z%|h?_jWjGsC6?;G#G7E;&=<3j;yFUVC8%|W<11wD7c`5Bs1!Z5n?P7A|mE#V;~ z(980iP}Erip#p`b{=hgdWFCdSLBgVbpdBov?tv{r1b<4Q3Kg140eML!Gr^g(n8OPeZ%JQKdM!d$A3v-()abC zTQ3!FgC-v&2lB17N*9O0=3gW}7b>(%gOkx%$!clMU@Mb?AcBib)0>Je-DP9RfpkVT z%^HZ_GLiD>ePy~sfbS=>{(`IPFH55{2hPgYQo89m*#W8sIxqX-0xm?b>H%#?AuXG%nX(fa zH#X%OW=!M^|& zVS)Cqdc{p8XXtwt_kBDeQzd2^h2&W>AR4LGVfdUq>O30f^D=tg}`z-Oh zAb{K#eOCkTvABOdnrGq@I*tFe82KY?T`y+QYra|hV-pyD5a*47plxD%EF`p%4)~+- zkj7|wf<=IIwGtX$lr~d7=?%$XEF`@zmC;wSShD;TT0E2X@4{TU^!F~z)k|7OF!xcK zLLng=+3hu;W-Dv|3k+Rl)4GDakE}HmG6l;{o*~T=yZQI3quQ6a!u;~zdqtj3L|IS|Vpt<|^)xg@j>?)}3PyPnnLsc4Q7~;sDEDRm( z+yvxfEae6|$63x~T(%Qzm;oAF_Hh9Q?O5Gi^c-0oEf-u^M=_|nvhB}cC^yC_Ro8>< zqUGrs_V5xKZ??)D?0wi+^4$5ckF-$nXEu}uc#d5}6}3hRWcn26IL{8mU^IvokRrjL zk6s8XTmX?n*#KGsMzb~Pz`x9VeuU8RYzAdwB(T*KcD~7ue1#OZ*a}mi-e%#Xa5@`J z%kT{LH@y#YSp=PqpU3QIi(kx)=rPtjV-DqD@rnhOLEuVOy9HLRVr@f!QO)#hFj&K) z*WfzWvWxjZtYf3TK#JFFRR&lzvBrOZ{(*gd2fnS$-5OGSX49{O_E)xtG9yp$Vi^Rr z;mc@;agzT|$CkKo8Hw$x;g?d-y75`#FzU{mEzmo~9r5CUD{NaFq&UmF(vJNc|3vZD zK;DTy^5?mB3YsA9PDQ)HJlz{CLU?FDP(g_60n8P~!S_*0 z=1X2p%fwfFp%vt<Ftj33F z=wykHd~`psXyHq!=&+R=OF;a@wbp~^XTF-O{)PWdiH=|S0g80B@g1`<*v?N=reX(I zl5f;YaHn%$&k7Tl{NJK1k%~kYMdbo$v3e==UV_LN9;KhDxMSH}Y=1S5+}bWPdj zlYqR$o++|Y= z@ppN(J>WOKpiu3mAIazZ?>O36ZtY7ir)@9wDVt?qawLZKpCXlxF-}`oD>nHEu7m@d zlL3m3ESf&ae$0CodZ8?n(#68qPu8Fp&ZbZu^#ztfuB&(KDD7v$_{h27d!3ik#w>}a zlLtPP+l4};EI!~BntYy1%S=rvSEzu2FzG#L@P@}80{ajA-wF(NaEEGu+6(Efpync6 z&%~gI5H}A*1BC~)q74;RT>_aXp_OjP7-6ykqQwaf$in*1gk7Sj-gxoo5D;H&Kxb#H z)u)~3hJN!vYtwoSxuO5<`xt+>C73{w9rm=c*}ZcSIPNuB0lV#gX^+2}-VcCg#a`E8 z`ULxK3`}OrOlbXV&t@!ym@Z6C3t(4fPIVaGte*BozHBEscY|2>X_yOPt^S}A%KjRO zUKo42So5FlOn!iP5o|NPSt8j5+JwZi)s&AA$3~TaMH2h&cQm(H{}52iVhYLtz0V9b zph3zBg;JleqqL)c#$J%GwvpA6 zCXegz%YR4G=u0_zUwoZbNrv>pccr-(H`?Ww;<=xMSf8mO%yk${OC)3@fbix z^B+YFUgm#$LWvljO6I=8M~?#gSblc~2IF{L7jV#A<#V2c=rvxm9r)Mz7+O%>;GapE zcy2?l#{}-y2^iUYPCYOl@Xi0gKzaNr9g_H%AE5AJKJW1Xg9ZE)xzvk!DS4`&acdRO zOZi<|2|wrAE76qk?}mX&IlsLJy$TJor@*k1=X?W;D&9afowZy;_NwFC#-nNA6Z}E# zEzigRr$)Z%8nkHU>69AO!VlBxu9eTG0Lo{6btsxIJeM}=Z9Io+gxmQmJ)n2+B+5#) z73wD9D%%N3f1t4!Gz$hmZU;em9H8#P?knh>5}fIa6)Z%|f%u_J}Jvu01Qvr)^PNEWJBvfG(e`C3y?rr=5a6#kwtg{KU@~j32I-L-B|;o z39_0t;N6uiS&8O}%z6l9dMdLUinm{qo!`Y{60J*>>kAn3g*ey!-jbuydszosmL_Ib5LN1`XD1=g}k{2nY8 zy+47>Ro08L2d}Z62LW=O4e!9<4R&@4ns~N~KAs7zi9)z{+4?ewoyuZeAzB(UrR?x~ ztaT`^Q#x~;2eW0c+|6h*nJz^e?z5si%xNC50$TUxGHnlF6tW$wL8gd3`vls>Y|2r< zlrRVKAiiWSbePF2W=o%dO4dxCm?}1&4ymeUx^Ru-Jy|>&>=CrR2ar0ZPa&q)OyPwHu7Ul!6$-v#gUEl`qG9urf#1pm+7^Cd)^>pT%t|Os{)Gj1!r)i-ehs8(V;wVK z;C2>L1?_G4<#P0Fxj>Fv7oI#Hc&>c1J$hce2T9@0XT<{2hdcj{#usl!C=tZF{r7D1 zxT%mgglj62=&Es@IEZ+O2XBTj(Y%u$!)Ht3XEiaPyo#oJ}(H(9Ue=GLU*|VM*c>zsypwL@Ct%5M`_#<+JzUONx%dU|ZUI&LJzQSLF(PmyW0&;)g zf6|t)g=^#({KO;38*xlnPt`wG!lN1t9v8k2!=Sa`Pxs6Tp@Htzlfu#(^jw5_?%?Yx zwAesHFF`&Xnt2P(jzISj1`3eES1{cR_CdlNx&?xT1ziwLhl@=?N$8=%&3#ZNL1?2J zB2j3}1<{*=O%Vo@gmdKexhJ%_fp)r(aR_r6!W>$|WD0-$gbVvf2)qW6$HKLZKz}0m z{Q!BN3bV_>zCidvO{NsguAo;TOj!rW7sB)YwEli6MEimLD?u?2qm{xkHE37iM<*a@ zwNPyaxod1d2u0abR)#q3!qx0 zn0f{v7e&oI%v}`~v=Z)a&Chczl84qb7 zg(uHSsz(4hC;dpjO&2IxQZ~wY=`B^LMo9JKY>kx8&w-#9rCI-iVU+a!UPyRJ@}wYA zv{aD{(Jo8poneF+N#jGVlX$6%9>^p}>kH6Jl9_%)halBNsPzAagK zfp)s2MSK4Y=`Ov=Go>N)*2sFDW4)M<&vDrkt?J@W1-m#Nlk8?m(rN) zw0?di?dG`IDy7|{V6O(rF#+~^BQ-n+=v(RTX@I=LI~APXOTOfIZIlL*bEHYC{shQ2 zX+?K%YRAG5kR8$%dH}vjRr`T{Og3&BOkyS5`2@{z*+wNqbChXOx{i~q^edg_>MWZ^ z2`VRL_4**{B0EPu2Upqp{!rUZ_T4V@+-19t0RNP1Fs=Dc%jA?E?IA0rZJ(zsWj&NR zBb)FeK)hs)n?TH4rZpEmAKBl(Kqg;VB4s)I$%fKP*I#Dc0K5QMO&Z7ZcUD$41Ex7A z>n~z7P_~I&TjyoJk|Q!m7DIPuu&mJ%WI|-21JH!Z#9=T(m@Jzr|HEY= zwX490lB*pd@C&&_Nz@&3)gXYzX~od*Waeo_8v^o;RtLG)Y_(%4eiop;yb(mNYA-f` zhN;?ir1m3il^*b_wcV5czxTLTOIPrk5<)e3)1s>IS2H6s4jRt#p}@fG*;G6;$4UXy z&D%=Jhs*X(0IwB8!$D`|*EVSJ&)G2if3=L<-)o(|gXPz?)8b;oPFn14UL1x0@9vPftWkRM$)k*o@_Gh4ZWGEKJH&%wwtz@!EAv$Aj6n5 zm9Jc2+5LbX!*0{hGhAb%hG6hIt3OKX&l_yJ704ton=BAbVor2GW-?ni14?AF-t^te zVnLL^^Ozl{_e?&spxn*^HmC>mDP)HziK>WcDEXs=89L#bRkHa9fLFy{k~5&1O{4_$ zTJ~@`NWW%3(#Z(*YT#yZ5g87+tOkU<@DQIGNYc|MS;a{nGG>*$Zf!cLG=_Upf_}EF% zDV5)#P0~H?fp^z`OWeMb>Aly_Z3o2pEtFyfzmMMn^Z|)DwoV%IB?N!R2mK193AKNM z-o&5e^!!ii)){I{UVjD?e;uYwuql=@{GDn|0q-RNyYc_!arAVo>^~nQR!^YHr?msf zTf2T!5N0E3a5Z5aw3`AP z&Abc!LhuJZX%%j@kNoTm2;ai*k;kEx|85R4pZQ1HwH_CitDuFo!0Fj?5{jEa%~|M2 zuA7s>xpJ`Z6zZeF{)`Y#3lMK1#~h>sg&T4Vo)?nbVW|k=#%YTGMG6_TYK;=|YXEai zxHAFluM3^u!j8#;<|nX75ln`mxg-2a>*_2)n?mIGh2%S+oh?jIU@%A6PS^c`@XQ@^ z4}~4{TFMoiCILBzG;0w2kHAj&y}SKuG5S_;pN9+kPB5XD-+MtIk5{Ac&j=tk z3EtIEty$>VjKL4WujRo1C`j>8twm^eL(?G?PzvHV!Js!lj)}?i%NSOoM8W3cqUl*q(~}x;QVY5+Vmia5tN6I_u7Cs-v6_t>pMSS=Q zbFJbf+8lfmji`+GvzTcJeZPn&V=?$utWQVNCU#Q*uU%|z1^W*1lr`|aiOEaJ|9VV1 zdkvCWNzHp9#c|2^8zvp4S`(0Ql769YzO!_O&doR}?feCDyGXse0q=~oWjUyMVP619 zZ>jG}nAAryK#~}iqK8zV5-AOiz~Duxoz~1zQsaE6dr9g17IBXxGc^VuOR}So@QL)*6T;+6dJ!P@RLUGd@BacxHU}0el5{#itwa(i ziQ$#B#R>S8QU)#UswAyC2vaScr_fl9nTk@>TxI9!fp?ePc?N{jvXdJ@%|kYwl1t9WdhZ0}1=)+sfQ*n$r3!>d zSv!kPl=TT6E{j zel>?h3uFPCq4pb@#}UwcCwtxnkc~2pME=qy8CQeM2U!~}j9X>)g8=hcmPt;wud>!j zz;Ba{8Vbk`+0}lqtg}3|11wI;uY^Hg7x@x$M7zn2XghF9zAFU8PRn0U#GI#Gi-Mcp z@^zFi<||)&7E<`hpVIEwUv8&41QuuI3#S4!P+sB&GUw$oNo!EYDVI?%Nxp3tXy1}|_W_j@xgVY3dRPA14RfjTLr!SY z;w5?oayP2dE0nJ$Z$hy=U<^bnl{Zryp-kTB z0eLIrTd1<&mHaVf8&%8m0)ba6FQcOf>g2m0sg+Mv4@p|4lpJ<~rxkJ# zgXvmobCAi@ifqRtY-vttE*lQP~W-@^#5 z+NK?Vbkk_h)do>_?KA1XKc(Hc2r#F$htn44y!Q4fmWq?HCGqUe~rb36Oa0_>W{??NAE+C21E; zfS$LsHG`Wlnyj5hkIY@|sr0f>)1IvbzUkVV&48b!eUcoqIoeL-YI~^dJOtwBX>X?p z_haq9mtd|^`#3o>s3MsuDz4)DGDN<)ICuJNnLeU(%}}TbQ39|-&6M-J?UP$uC!bA z(Y2z0jGyjr2cYjI-3A4E(YlxBLYK?BH6nU3x{*o1yP`Y)K17St?M>d&1l=2_0isFN zJ+c?t-_)H+G2$fM>{P(q(ru*6oUGd~8Y~{_KEDatdAgR#xLQwi8y`Zar@CDpzzCJP zqe1~$tvlEkgSEQf(PgUBorqTpegSXlZ@_EN-I53@?{q7=LYPL~L@IV|)^%G4bw6ly zlfyygqwZ`$MMpeb4HpQ{votJZz%$=ceA|gJeU!6cY^I*ZXoFf@bTTrdP@XJ@Zz`l&5!O6%>4|cb|IsdTE+rm@L%0 zK#`{sy?s;@U#izm@6a;60jX#z^cGM8)GNKY;b32>w~u^^)p|Y2RZypQzZvq@>&;sW z4d3V`QW*Qa-tb76t65K7kGYR}$s8B7RqyBH;QLwck8R+9bLA+l*;)T%J^eiFN&WB{ zz;Mw|^~0#EekvK*UB9k7bn?>w>;-&p{YRA2;-mi^GU?%j8@&ST{q*%|9T=d0@DMm% z(jT!0cDk$|5es=^^`}Jx{i^;3EznHSANK>AJNi$T0VGvly%$Q{(^po|ugRzDFF6R% zOnuLjut|>osthy_^yhB??OgroCJ^nBey^us@mOD^*mS;rF-0UR^s{JX|3W{Ef;=zv zZ^ondN`L5G5UbMPZi%Kw-;O?Gwfdez>3-DLrF`%=`fI0w!+ZT-)9CqY)IawUpiTM` zWv?~sk9z?!AN7xF0kl}oD2E!=qt?@GOp~Pu#1H}YL z>SN$kgvQsvrwoms!9q3cP<;+pq}^a!EXZ^i?EDNne>0d*&$mC`?k+yng4K+K_1RB7 z1THqr)&aw3hS!I~2+s}m!+}_4c;qg~R2U8~K=aCQYaj-z4R6s8BG(v(6k)K|FtaCm zuMH2a!(4-*EiIki7%m@--aEte5g^uNs7HI9kA?>;X#dw@*m*u+S`BCBLYU8nJ?k;~ z)o>XVrnMPXQ?5maq4i|oTN&+ogt-$&1r$-VF-rCUh^^5I__6Vefz$t{$H8amePWOQ>adeKH!d(pdWl&~6Pt{BayOp{onJN^(R&PX*1HoR)I zw*#m9~iwU zgQ5?O9AW^PXEgUOG>?s9DJ?JG=#nvL}F}eluJ&o)9K*r0sU>1b(G48JmDg2CM z1k42($57BR(0IrS^n#7&(Ecyfc4M@WEx`uk85DeXw`q;c)VLWy( zNWV0$@&J0J@gg|}n~ci`0rG=!m7M%9Eyiw(f!}I;_8ve#8P6g&&KF~of6!|;wst`C z&G=3);9HrrUIG4blj+OQSetaERhEs(rF2lUH`#In@I`PWSlm6IUZtrnrLmMUz7JTS=oYX;cYU6T=hOCnxi1ub2GHG1|nzv0#LLgzX$#Zx5{@pS0Ek-xZWZHX(m|-%TM9ehlL4^`oCbBoc&oTPDUtmo| zYr2|zV0NZ^1JH9YokBHTjvCWi%9C_5-O>sJJDWQDLYb4M!^Z;O&-4tP6BJ+?W(xM_ zOy5{R&_Gkuod5|k^&&r2i0Q62C>mzkd=l&`aEz=8hmTI!;M{V@(n%2$)wR@&! z|Dwq-mHvP*S*Dgb=w+Mwdq9{6rlvz-i(J!83K~8#{pBMD^G#hB1Ej$88kHRvnI0Jg zd7qg^)2_M9bU+$NSD4PxtOom6rrPfTT5W1n2@&f|lUp!YZ|Zawy*H)}=h1s_I?N6j zO{Qv;zDOTTYbwC0)zo$psC_ZLLyESUo@#^=-%JmXfBSgnH~EmlqjMUie|dHuYK7jJ z&I5n>e_eeETuoc_|J{3^bM9?WQ8GNw!!yrb=CRCUnTKa6^YF~WGrOe}X)+!{6e)yC zB#DxwqEKc<6e`MGiu!+7{C>~x|M}3qd+jxR_d4gEv-jF-?+ZEA!b1z<9*Z#_=qC5I z@E!p_AF>GQi(dF!+&u@R0Twf2VE3>^!}I9x5sS;+Ks;)3brQT6VzJs3#FG}Q=%;W_ zS=2U!mQag@N5K+i(eybmow4XhD;-f59cabtg2k{lAVyn^bp&UO#UEBseaXTqnbv<| zEe7U*HO(TuI*QvCohka8VKFrbChl3pCZm>P(U=Yxd1*1HHhP$6v1vR|6j+R@0bi6^ z7}9>hZx+od^ygK*tQ$DJtJ~21bg+7Jdh`cZx1=PJ@al)0(7}t<+s%PoO!d`xr0DVU zdi$zD+x6;4mRD}T?t9B`cfsjVBfB0fc-ClV4*|Vz zjVSu1w2&G-jBsVn)d+71-Dx$t)6M#z#*}|Sd|tzI3j|-(D9wez_chWeCA7Ro^i!w_ zsyY5ObYH6ZWj+k1)_mrJwp%sdsgTR6nP&p@`88kdLhVz{1PTJX)Ee0oEMB!DXh?8O zU+ZZw)Wp|%(H~~ zen0&gE#y-jgh;iNMscb*!BK|tGqp0%K(b2d;=GN!} z%Dlu-{9S7O3E-ERQ3%(O9s3BTO)N7N`n*`=1=tH>lUjgynt45kXgq5;1*h3n_NY~J znj5$4#bCBWRw;P9TrmdP5zBjkKEbacoHMCb7Fz9-szJr9opfOqSku^jSz{VludxXL zOefa9F)D6sTLjv@S-qYRJi%BRAVo2I1u9e6!YW|7&3bPJQGcI3EC<4;tYLjv&1Od} zq2>jP$_HyM%aUR2HT#_s77Ey|&M1mlPuj!viJkcb?8VHv9$3Dz{=J~Ij7=(n!SAe{ z8#s@OIj3MENIWWr>SLlqN1#0;8XbgOgvjg*Ef@8|#~8i3B&IPKj1{ve8~=*vJ0F;? zinu!{5`;6I1C=Pg(HJ&KRM~;co+8+L$lny4R_#*7lve0(nnb$Nth&{TwI_kSx|f+hJ*l7L7-w5j2kvk+Rd!wUd&Y0u-ktOPa=n zN^9sQ4wtUem;Q{@H47{e(w)0N7$ariUc#DM3XQqrB!^v4eMP!Q%M>@Hiw6KLReC%Y z#T_ZB6)dDne>|uAKT~p}-8xxPGWGYh6g2@wo>brnC%ly|(*kaZltw$0P)Pq_)%^^&JIg}AremKG%U%A8_zN956cpe#_1 zYD)QUN9D1T=r)ma+dx~ey!IyDEplI4);TU;UIyLavhNB=oRRJ4p@@(Vn?Tz|dG}1P z#K_4bK)fU;T!!3b9MlRevGO_^1jfk&JE850Jo*{D7B5G1085Izg=RQ6WP9k;V>xQW zLR2&5Srkpxei=KOLa7%P@xahx;0S-j15TVHbwBAjA8VZ+p`4trObL7#ekli73M~N-wx< zSf>ksCK#@rjarJ~ATJ2qHk_CML-!3Y*9MAA!_#zR#|uMaeLkvrhE`J*HXTNu%0jC@vV8P6x{!qh>S>d2ZCx3$-#M z7jv{Z8Ar^3z-HseZ-K(gc-B!AzQ!vMZ>W6YS071hUC93p_!sbs*;yLoRj`-i&=E(z z)SFcBMRX|lM*jUS3U}Vb0TNqzV>kGJ2X8{l|2ugWExhmNk2{0Kk2kac@*rM~wj~Ag zDU`zy$_;548OA+n<8e5jtO4f*KEE2wMsxjgT33$ewmGO?sk1>S64KMI%cIe)Bwfbs<&O5gGv9!p`NB8_`(&3oohy zOT|3V3Ky<~Z>H>~ue^04+Df@@5d_M(W(UMwMa}h)a}(AS0`L*C2(SUvzC`1_3u4czp*FH^jJp3a27~DH4b(#G?$X(9bejD(sajuX z+aonP2%dw|j(F6LO3Q=b#4stR1Zplylc{ToQpy+zW=LZXfcR8u+Z_n=rK^-4{!aQp z^MfzaA9M?Rla^3w&PI6?je9rC;}@gbUh;y|P`y*G8jDNeD}SQcjQ)^ZOaq8xa?6wO zY`8r21A2d69&dxrT#{`%(s&R5s?YX@-pQXSFgPWH&K|eVh{I=x2OFVm>T_BspLU(L zdQ4w!2YoX}(=9Qxz795K)ha>HW?vlu&N;(q;5YYnWBi@BE|%h7|Li#ldSunO}D1E~gKc%n4sz3wuVD$vb<#1wa5>aty=}%zPgZXU&gBP3i7%EjZA{1&4 zvO*2?__K3#O%AhY$|k^(+wE~@C>y;OYQk98La;`$3J(ZgU{yZ> z@)g$0ADH9WtAAiOg*6`ySU1^V%G^m~^IZV@Hd|W<>ejcja$VP;=u}^U$`Lzp4gtA1+bkXB$txQ~}l2ekcs z2Zfdo@aQur{CLx`P7gN*;fcg@N!z!jO2@J!cr{HrrSJ@ zf0KbbiKoS*Et$8fg+AqQyTuSM;C`i0_L(PEW-0P*l;yHTNV{+k?hvbXLA9UwlUDqL zg#UPo`nM{@sOgcrx{MYaaWU{UL1$bI_Kh@#Gw{z($xeWo0HuibMI2S$ zj)3hT#q9&yf|Y}hVEdRN>Z1o?%A*S?&L~5dLvNh&xFf|MuPR2F;7L*%WB}0(rA`az zzooRL`Nlov{2A!Jue`Vhr4N+>UjX5e68Z{&9xIROQTIgo?HrV5DQY(;%T`{!KwGZT zm*&E+mE-X!@|Ad+>=!7#4@3NoGSU_n3X#D?`#--Zz3E+1qQp_e-%&f`GCb(4efR;z zChck3&grI=HlVgeJNw@MJdfX9g{CBSWEyNHvod;}r?B=k8o0p(jT>$<;{mXl%0Bl2 z$TaqbVkWoPd&>WL%uY5#?Fsv=Z%LPg)uPPuTvnAP%P(02y1fe7qYmIHV(+V?2k)5e z2e{)s8yAh@16z^;tRLCbp=g{@@;Kgs@hn;+$HMH&Gf6&x!H@{U57C%0a4o^AA|CkNV zARbAR*I?dh1S}on6H-td=f*Dp?F4tFjGqv$^Mi?#JfaUUo#MJ{(0Pu3r>)PCd}lC} zUFNY@DgGPFhu4MRb-trHEG6;Ul!11af36KD+~Z3qALc$UPeNM`kGBVBF86(c+DpEO z*3b%h$8>NO@qrV8{vEe!3@{};E*!P5ydVugOZh2!0hjSz%>d>bA6^Qb-+6z`nQ@vM ze-a3!6?`)-A32KS^w4$^_h>TbE^g4%YpeL+4>cZQWMvYfXh3H}?iPY#%c|IQ4tV#7 zQSAX{uV`@zx+8E15PBFVUeyNirZ^D=;zKd08RXuGenl|!QAjk@)t8Eo45gdYx*N3Z zl-`~|?T|E;@|}Vtf7*l?DVfrk^^#=27`;!B=2P4U2V0XbUP=K*aCf0}rvMKABE2I& zmrKWJ;l)Mvr@PfdzDaxJ4$9r>dmAL@R4!BFXQhDRyk5Rv3`?vhp29axjZ5Oe5F7RUbv z^BvL56+KTE>+1tnhEOx1=&o3P0s{BMtJk#u>b}@X^WF!-DHoU@3iD{NJ`!zdYW-N$ zTLd*vM8DCnmnoVwK}WJg^WK25EY$9eE4RVyRah6eUu< znrL&B-5*1#6Mm5qKHMT(Q25AQu4)f~t@6nID0ayFAl=w%*ue%gOW z&UZoECpj}0ZJ*@?dewZ9^LC-FSdMpumJ<0~Ahdjy>(CRcR6cQ8i|1dN{B2h0l#b@mwow^F2hh1I9VvHUtI`#@Wr(NzQv`#a zN=;h3^ip;Vg}Ar!ly>#{D3AA}wnu4+j4N!)n)?uiuM&_<=MU^tPHq6;{mT0D0Chka zPH`ANW%)7)9#rf`qBx}Vrd&{e#qd790LK(VT1GprJaz!y6Ut&r;0;l7`+?=8GPN!W zoXbsv`g6*@u_z*yC;ve1yiz9&aL1YKGEO_$91=;|_AyYJtWAFlOexxF_0Z89 zTJ0&QxvBj(4CYg{bH1T1O&dhVe%;b`$604M?$f6l+U{t_s&rdx8@D6pX*X1XFYaoa z?St3uX>TNgcwf7ik^~=UFFt_kXWE|n9N5j)RxF0LJni4(0VZENBM`kP&<-Wy8*M!& zV0x=<{u+P_wHlf!e9`{419HV$OG@)8(Z+5B!mrwXM^Kb%ImM*Pv}=7(eAA|00r9)` zULiQkwe6Qcb%i!!2k<)TVomhmane=zqS&ZAm<`>|I^W&k*{XY|LE)iGpp->V-5?Xl zd+83))%MnT2czbrtEdBkZMxy*VA-zgItd7O=q8PT+&$>_^|T^q_}IiP#L8JvE) zx8rc_59-!`05M26=p3CU9juF^5!NwXcW($D*SVYmYq+jAO<2z8ZdPVm>MAJ5|DrBD zA9iDOsd%v>IrsuasV?hwQPNJVE;5>KYh4FQKe?hSr-xs>E{t~GU)7y?0l5TS2kP!M zU0d4AmZ)=>O8NiSbz^96L6Xjbw(2D7)Rm~E=yGer#0_08c{W3rT^q!^x&#^p-P6sW zjGX(rTnbV?(EaWXxre&F9l-fW*MQECdam2`1Z^*L(i=AEV;T@S0MgY*DnZd zg}N;vAnJ>B8|Z2MPB)$=Z~g}Feuu<4gTf9V#u((Df!(VHA(eYa41#aL?kj^T%V46| zphb1m+zj(Op=-MhPt&V8(9rKYiWtKOy`bf;;e5(Td1+{O69$V7iz(s6$*6$B3R{fI zXw`k2-e~+Tfbuo+r#F0nQ8Xo(o-}f$<2@scTGNiyi$<|c$zMjHA5o+m%^wG7&yCj6 zxb%xrS}dHu)p*`ASUPCjrxh$k7@wv6V;x`RlI#i`? z4p>fB(a)#7ahIwr{{S>Ms#L88`A1c9S3viZDq|X;_Ogm~Fi;d!IYMzq7nAg9AiA2I zq_2vH$#u#=@-|7Xg4zy~J%dr~Ht9?WqI*pmE^=)afhK#> z0Xx{_nm!uT5R+6w5o*$-D|&I(#G*NHN13d0gr$onw&UqZVS-~!a9^3YpM}z7lQHg) zziEZl-<|cyc#=Osh^_rbDIz#Wqvx){xt2 zI>ZG^_n6k9S@Ay8R()acfa%JrkUMJH)fPI>n~on0Vzg=aJm|b)I(R?il1zKofR;O^ z3og<6^JCL4!{M)NQ{w>eyfU3YBa1htt)!em^Pc) zMWAc$W}}k<&D(6?S8#4On{WhR_mj)`cEk7t9_a zmkht=Y}VBZJjrG!Gl1fj*?epm`Z2t%Ndx=w_lCi#6U^4(@5GtwK$$d*80^2$mXB%e zDIzvAjE+>AHK!1W=LEFI=Xt&AzzGX(aj0CFL2uo~9!`*5*7Pts@Nf8WXjqlFhw@L> z?pOy8ZMZfX1~#%uPf>AZv*_jT!p78x{3hnG06p8nUNYEnXI`{~wH2`~X!2lRT7q*I zd$SMPce7(M9OK8X4TRhwHh%&H4zrJEAs)ig+CcS5wk8y4&N6Fjh@WHnguhXyF{|-F zl*2rlpvY%aIf%uq7A1<6v01x*ZeRZMH*1)-e!mxLdt1`2H!6)L`J;Ex2Dvf*lqfN7 zMq5xE7VL$Usk3f@XPS)Vet!Yv(hp-` zVA+P*P_g_^n*OfSwSc1a9qAnW4K1sqclut7(CWzYX)@%*Jj&7Wjm*Lh49;x!Drj+G z74K1OVrS^d=E^o)g$g%zB^ z9)Vbv@D#*2mbDCWSJ;{@dT5Jh=9HM5z*f@$=^AVL8{`w&KeW5%Iy>7DwPe6wICOw|8_0#JY@0pf#MNc^bD+zS+Fm3KVcI%z+^Ih7$~yXdSet% zSthNSKVwtq7RYANWgtFhPv{l>f_-}m2jwvRE1*CE!@qETAv;lo+B>%X9auiH#Up6` zkE6QQ!fnMYG8@zqc9Lc^Us-#qm9kEOXe(m}w*%TY_Gu}I-&v>zc*_}E41*O+zZ))b zg%bdEII# zcJbGgvaIq}HfZ$a7ki>>`?=LenD^uQr(ikAkI-)ALp*yAIQ@AEjiv+m_kL(Q%u{6u z9N}#!MJ$jviAJ}Na@Vdv7{ptYLN1t>(*E{i{0?b3uICSyfb|65dll6X9vFbelblV5 z!PDHOEjkm*8`F0rjQ1V{-Qj%IDJVU|j~;+r1Rrt-wX@uoQU}lTF`vL0#cggt`~t6^ zh*~taqp8zHUN!>Vj^WD`2wdXT?cuICu7BPR@Z)(X%@7j!!aOuy$HIaX6iHn}Z z!%u=@PlIXx{Sdf&!Px%zyD*sY$`@__8-^E$ zl)%`M!L(;?>Gyk3z3inw=*wR|0OyJgt8uIRd-)RhSAM+-K&yP{c&gQtX@=0D1z0;+LLThwWHTsvXBP{J0C6`Koj_FCGkq!q z_plDMptzSEIs(AHtUd*{_c4WzFWt{NHv@_TY$XMj{Mc`e&~}i8(uUkaOmhk5{qakL z029E1+N13-TS>#@Bh0`F0)gz4ABaa;(L&e_V`p7qD4gBz1Y$HR?MCCTi|i%6CllEY zFLdoXt4G@_GMKJ6TymFHZ4C4GSQHH|?z2#j@ppEH=cyw#{!k;JEqZfg^>RR*{hg`ly+i||KE@~%u%OSXSr}?cI)Iz!W zPKZbFo-t5%mfxNV@mT&B`6-TDRt0AQFTgT}9^dv_G%ZQy-9u2MaG&!4oW`qufu&pg zJEbCI@NN@<@Gf838oj`&@wLJEh_A2$XBJPU$k|gqjokf$-=*}39R83J$Y1j-qacvS zpVN=Gzvb62!zG3MB@Klucp;tjrFRyW8^Os1! zbTmZF?+;67Mcu>b#Rbudj?%g;#?}F6f@pCF2-8H3G6E{*Uq$gmOec3g7Y@I{Qh^Ag zr`kL5nKEBLi^)r%x=b%JFGJ0CsjVGQ9FS6PqwtfiRzN;L>bVuHfs(~u5QC*sa_I@F zs0ReYq%LugyC%KBcIF?$)xgO>*U{`eY<1d2&%@3x))43tvlVc=N)&GFR;3mobl1>6 z!ye%sLD%;*EJeS2T^@o4>(|v_&t`lo6b(LZgU>^(?C^K!$HA~M%s&h&Y-{g>QoFK1 zQ0DMAkXoGJ{}V!^cHU6gpZ|qRFrXdn^tbys6O`c|HsBtijexF6U;hTQ$wukmnbORg z#vk@;i_knf>J~aQXM8NM&8?UM`n-`3!TQf0%4ME!L)(}aWJkf^LOpH6{dW`vM_0Ng zfoIj{s`$LxhBmsb*;)mL*M6h%&bqObq_f_r5n4C2`3%ka+;QlHBO5;$DxBCbeNR+3 zvVk<>bY^SlE#$)HXi(e4%4yNSm93(bcQ>Y^ki}-^dDkNPQ+&#oEz70#mwn9362*RYJ`36o zusf|F=*QA&0TYM9{|-z+Y_~gDf|=EDpg6{MEx`>P#^xdvkEcnjHRSLktrS&^W_G?n z5zmJGiQ+2jSc1OaU_P|N^d?)ikh+F{4dN*Sq&wHoLg#FxT7c8vQO4&X>uAX$kge}h zY5nj@h@WDPG`v2|j?tVWlvP;&d|g#=JK7>G0b1(6tfk zu0U+$7~17NYR?7y9UVZFF$VOe9jkK%Wn4SjX*#~!6lj=m_%u5A_xsN1=)~ESXEdpF z16n5|8yI)p6k4^i57L0gL0_994O6@R3DUG48$p_WlwR~Rvfl&U%s=w+cf(hT@47PI z7XQ<2#RJ-w)tLla%Tr3gzG5w99R2&U0H0Srrs4mp1^H-Q-L5t0YeHLqe{Hq(ps$nZ z9ko8B12AtGbDCb(`Wg~g9og|`kal9{X~MaYjj=(KGrL6D!ai)k3IN&0y3^gaof*+p z*}-}(f~tK?8w}3@HJK?bC{g_G9qgXnGhmbH(B6AIaz zQuy^9o7Dz_AK0pa(EEw)zXirG%#W6Ai&@}x)Jj+yrPzMevztz+ma>}8=wTVVS`})( zu`Sgh_??x~5gFyomiAp#uwie(;>c4d71N1Ndkk&vTuW<#TY39GQS;zYe*%~%A8!e) z-h2sVIBw&O7oxvAcn&Se@8X=s+XuMM6zIf|zA@=O$R}(AnnQdoP4WHtKw1P0;2Vna4n+fCXDEJ=Er=`K*89w3& z`Vzs9b%*M+{6j1pc#dyA0!){nCZi(6* zUYG*T4BlZPdYH+3&IB=w->wDSFZpE(F~8zNDI=$d8^%KSJ6@G;h!S3_2ef?U$@CO0 zqbJ20$}2o2JSh<>QdHAGOO!Z3 zTdJZ(-6wSZY=Za{0*Hyiol*&tgz_Fmx(K+49^Mt*+M)1mvh zsP72k3o(Bnz!V76a1h@J)fQmhisz?LD-^>h()>lVqwsODcrXoMO2n+)VEHQ6Z=?8c zshHIe*Qrb}UugR#Mw@`=yJ$*T_pZ_j+Sa;RGByN@yYx3LFYJ(x_5q5WQrr{(#Tmf! zP}?nq2Ec?WZMuuv9_i|Fh#!*NDQ(MN>g5R(0aBwW=>1`7*H}3Hh_sE8C-i~RC`x-d zD&4S!e30~vULwKLgl}-kF-cIs`M7kl6^JJ!H@bC0q$V4H;-vKFA;_PS;#NT0X=&YG zAcji&Xs1({@+7?$TM-+kt@Q{kgp4&h+Z*KL0fl8w@7=GS5xMJfOKWPyfG zGtL4~*Sd{x7xc(<#9!-GCqN%KDH=Q@7OlhQg}<%FXZ_X7(CdNU=>+Kj`?43bFn0gw z&qUY8joXsyI2w1f8sLh?)_Z!wew%@GDuBLiTl%)NvoQtJU&<8p$?5?ujCJat0DLAJd+urhr}R2Q0U&Ej4gT6RBFFYVUIU-|?xvW^pa*o+)!?#m&@i+(29yyl z5@bi_(;#qEN&)C&{9D7;-|r^@%0&IrR!}iHqXzy?+mZ?M)B906_#87jTXn7-O_LXH zryR^hN9p;q_(UPZmZ-Gsv^0f*b6Efd6qgS;2-(&9Xy&xx8m(S$Vg_pb@H{iR$5X+=+9?0&cN_H z#)m@wGrOlk+c)M-=>dm%*Gw1;=gU+S5xg74gU;~pJ1ug@`d`&~j2drIo64!Z`xaqD2=viu|r{T?V^ZqAG2Icq$gogoS5f1)YYIEj))( z{@G^f0OiPTk+Saq=>f^J8(0rZk0|UHEG@@N8eg{VG;j)+atfg>Q7UzSn(I;!atM_> zk~JO%{3$?{mbzYhZ0(r(J$eJ+hngP}sHn1UBY(%M55|9U4iqzwA^ zQW%ZAKS+~K1NTSi1Pxn1N$Y0=#TRMPUqDeTU8iF$N~DoxD85Qx=?*QGQuCp^Ou9)K z;oqdGw4J3~TC@Xxu8^ufz`fxppP*r)lYAf>wT*IBnrk@AhAD6teogoxopR1KJZAq;MjJJVd$U5>LtFSg1HzQAoBaupgN1aJj5JE8K3ELY%bi!@rWy9O$pECERE?TF0b_Eib`Lutn}roN?)$2^yS)0U#>T_qFZr8 zr86B_r8k{er8}Kjr9WL5IaJxgm^ZrT&MF=2{ll?7KOB4Thhq=1yhz@bchuLLzG&gB zxwHEW?AK?AeSf==_M=AI;FI0hek1!2wHsIOFSkyod1R;4BCoYtXS3YitxJ}O?2;wD zIHsCaF>2>Fe6t)me6zBAMx7su#*FG`Z`*I&&_TWJNA~MyJ9?yz?dW>#A|Jm|+I>^& zWrhl3HD@iP`^>Y z9bayY|5fncBr?9-G%qUh_<6Hlzt@{Jb!w*$Gyj?~b7q&RGp(k#oiVF})%02I+gZ)D zYHKyK%dAL)duA=Vs`KTl4(d*ms&m|O%&Ovlwa6SZ^Ujlb+g!EoLUUW*IX80QLUT*T zt#eh^MdtrJy9%X)vAPf?q+(V9ppRN*HHuJmG8Na=lPLIb6SaIbc;}d?wreVR53H$Vdb`HF z1@l(J7MYu?Eti;^RWUO~43BFx-LWQH>;|8tu=3qV_P+v z*8kCAGIOnY6WQzkBfnN#tpoWY$aVhX=Jl$n8`eR~1JE1%LbtA_rV_mr^s-;*bE>Iz z*PAz1J|q9Os+n4QiFpHDq6O=rTIs9N{PABO;HVgowT=2|G>@Az^|vMF^|?b6)no(I zY8Eri{QuPA!cE=)74t#1{Z9pVSg)P}yK-R((-?KAw8nLMwVYHW9A%oZzo>Yo4%3@A zQGN?zn$O|~>%fbupC007n3lNmA7D$=x5T#lB-2#+!G=4pha-$14rQ7RzZf5$sCqfV zQ2lVG>GPiM$IhkrXX?O~H;D2;>OC9C{c9*OFM={@=rTV#m zJr(q2zpy`3--2DSNnn~*|Kp&iYR^q@&_d)XIsLESJvTvX5%!?>_^%tRM9m~}%NtB% z^BO#=u{1T?Q^$T{~wQdl<@Rey^{k&==YL(3(`ByMa)1S~|)yYIk!p5*2 zKe3E&te)Bog_E>g^WhhT!RmKnwZ)$A@}J&6uMXP+(ok&7PBQ!fr(RptZwsWWTXK!r zFTGyeT`dG%X;g!2#{I-|UhUxy@pZ^Cv-)8i-yctqIS0MMR4)+e{_67Zf=Dd^M+hA>=!jPhpBZvfXxB3sM$Y( z98wo}fHe`R*b9Eq5UR$2th8^=HPe26IXjP5O*~<2cPoxB!~Z_|xb=8-3em5&=D$9v z*m?D&Cp13;x$A%I!1f(vR$Fc4W!{93pQze;0a9vDt}$PuuJOX-DO){2O--ZJYiNR= mx2VdmFPLfC|3v6*ZpQ0Gt3AEZ{6?MWjpkL8%r&nn&HO)V;N#~2 delta 142742 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 diff --git a/Debug/Middlewares/ST/STM32_WPAN/utilities/stm_queue.o b/Debug/Middlewares/ST/STM32_WPAN/utilities/stm_queue.o index 071613f300596a343d1d273676308281776ba28d..203f4f4b8eae5239dce477181127b52c2e859a20 100644 GIT binary patch delta 142062 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

    ~8 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 E14cHGl>h($ diff --git a/Debug/Core/Src/stm32wbxx_hal_msp.cyclo b/Debug/Core/Src/stm32wbxx_hal_msp.cyclo index e6b23f9..425e67b 100644 --- a/Debug/Core/Src/stm32wbxx_hal_msp.cyclo +++ b/Debug/Core/Src/stm32wbxx_hal_msp.cyclo @@ -7,15 +7,16 @@ ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:1038:22:LL_APB1_GRP1_DisableClock 1 ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:1274:22:LL_APB2_GRP1_EnableClock 1 ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:1328:22:LL_APB2_GRP1_DisableClock 1 +../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_system.h:567:22:LL_SYSCFG_EnableFastModePlus 1 ../Core/Src/stm32wbxx_hal_msp.c:71:6:HAL_MspInit 1 ../Core/Src/stm32wbxx_hal_msp.c:101:6:HAL_I2C_MspInit 5 -../Core/Src/stm32wbxx_hal_msp.c:189:6:HAL_I2C_MspDeInit 2 -../Core/Src/stm32wbxx_hal_msp.c:227:6:HAL_IPCC_MspInit 2 -../Core/Src/stm32wbxx_hal_msp.c:255:6:HAL_IPCC_MspDeInit 2 -../Core/Src/stm32wbxx_hal_msp.c:281:6:HAL_RTC_MspInit 3 -../Core/Src/stm32wbxx_hal_msp.c:323:6:HAL_RTC_MspDeInit 2 -../Core/Src/stm32wbxx_hal_msp.c:349:6:HAL_SPI_MspInit 5 -../Core/Src/stm32wbxx_hal_msp.c:461:6:HAL_SPI_MspDeInit 3 -../Core/Src/stm32wbxx_hal_msp.c:515:6:HAL_TIM_PWM_MspInit 2 -../Core/Src/stm32wbxx_hal_msp.c:532:6:HAL_TIM_MspPostInit 2 -../Core/Src/stm32wbxx_hal_msp.c:566:6:HAL_TIM_PWM_MspDeInit 2 +../Core/Src/stm32wbxx_hal_msp.c:193:6:HAL_I2C_MspDeInit 2 +../Core/Src/stm32wbxx_hal_msp.c:231:6:HAL_IPCC_MspInit 2 +../Core/Src/stm32wbxx_hal_msp.c:259:6:HAL_IPCC_MspDeInit 2 +../Core/Src/stm32wbxx_hal_msp.c:285:6:HAL_RTC_MspInit 3 +../Core/Src/stm32wbxx_hal_msp.c:327:6:HAL_RTC_MspDeInit 2 +../Core/Src/stm32wbxx_hal_msp.c:353:6:HAL_SPI_MspInit 5 +../Core/Src/stm32wbxx_hal_msp.c:465:6:HAL_SPI_MspDeInit 3 +../Core/Src/stm32wbxx_hal_msp.c:519:6:HAL_TIM_PWM_MspInit 2 +../Core/Src/stm32wbxx_hal_msp.c:536:6:HAL_TIM_MspPostInit 2 +../Core/Src/stm32wbxx_hal_msp.c:570:6:HAL_TIM_PWM_MspDeInit 2 diff --git a/Debug/Core/Src/stm32wbxx_hal_msp.o b/Debug/Core/Src/stm32wbxx_hal_msp.o index 993aca380ed48fdea3c9cf874def79caeeca9ae0..638c24e195aeb20a983fe473ee3c8a05ca66f19b 100644 GIT binary patch delta 332517 zcmZ6z1$Y(5_dh(dd-ty2-3tK%gb*OO1$T!6CAhaxq_nscX`#?w9D+lT;O_2H+yW%H zg#ZZ>+%>`9&)Iw1-}nFKd9pKS=IGeYoH={n?rpf}Si>n{zOW7H8UCb_^kn&1Bi@j6 zy$j2a^9mvl?IyaD?hjcz;K1aX; z01E>Zi;yl3iHUvw{3Mq~`eW`A4v=jqHR zj6APm*wq+sGA3O-R@wGF_O{Qe%eDcNb@-Fn^lBJVLsT&`PLX(#>pP$|Hk$g)VChmQLuu(q!p{ zFRc|8B<#PSvkb!Vksg*&_<$8OlW^R3Ph-JC-_at=EbPW)$|BsJ>t|I1s~GP9bkeh2;{S{-(2Vp>;o%6&7~b0xKeXey6jdLhYg= zix5iGaj{}TjvO*8F6>2rln`!RGFeGs!!piF2^ne#th8`)oy^JzRo9rTtdOp@&dLe< zLKrJAoLecf3PP{%G*(gQT3=w51lJRpRmN;}&tGUVckl{>Nzq~fbgjFFFTabq3kJId zn$3!qUq^#V-$GEBAyQ-Ra+$-ZMvzk$Y0Pvo(2dDptVH4UGH10gtT}%!S3PN7jdQr*JO&XJ<8+x+( zj37ziFHq*HQKJcSaqoEK8IS0pGD-47F5cSZVUpVqDZJrFnMtxAGWb*jkircg=xnBF z=X55id=Vf+k#rs=f_2@dO<-++b=pXYNuB`f5=?1S60pTT5rs<%;x&kZl*!1`JIXMn zwNGPGCXOy7rqLl*4xiF}8^&%n-jK>%Qg%KI86KAz%H;Tu?hD4cl#~1Xbm9CY;nbM| zoIC*>J|0C(zpcLw?A`i|z+>*bgZ@HZL?k;)e|W&sGMZUZU2+#SUs{H6@SaIGD z)#Q2czLGBZp*pN>{ZJ%7^9$%M`JqO<774uUH?SEWIS^`Jaq4`m6`x4pRX=JQ zUR!__34W+OA3qh1c+F4Pi7$u&(?ow=7amy)Ot1T)9(+wXjQ<;cs1H9zbT|EU{kbp} z5|aFN1G!01vLEsd;Y0U8;4MEml+PtiZ~F;H@<(maPj~!vWBGEbyX&u;z*l^L^(p?k zDXtoroA>;{bpH4jn&Q46is2=n0D9nu=JAchghH`o0eUp83fRUWpq+~ys?QMZfW~QWD=EfZU z#IbTQW052X8=@Nrm8!I?1g4}SIP09vYhi;UseUNPzf5X^GgE?j_QB|L-Cq~N^Nj!$ zeIzKCFXkbwh5qtFylN~~D%%f5@G=bmdHqmH{yR3LQaV3Wmj5;qeUsh~Rphh6FxZ3q zP*pynB8EZ+KU9-X?2hr3(GS&eHEe=+vZHS#kNE2HF)7#&HsaG=P$jb;YQ}pTfU@|Z zRy=bCKw14z8=fvJpb$UQo_}!GWk1x3_b!aOP(Rd#?=Jx;yC3So^Hl&8=7;+5_cbNv zlXCdM{#cGtF zhbHh`jR58ILsR%KV}P084^8KpCKFV^5618zGXNI!L-Uw25T`Avkl@1@FhZn~LRj>K zjHP|C*U--8{YW<7HxVsc!4C!TW+l*D75z{!Q#LmPze>U$4NGtkuP(gR@m`rl%XCdY z4&!|Xg1(j?!Yj8XCii!O*M(i7!UwOz`cXT;jsF!4sE*)sIxd7aO%LVj`YXd+P3tvb z-}`}Z9z#|2{7^ps>KQ3`Rq!k%?@Uu!eZl{_m-hl_-~cWzH?QSl4IKbeyA6Ow4uGk> zca57hb^shZ%GyLs3Oe%w+eEU;nJk(AEiB2DHis}PnhJ$bXLOM|2oufdZyB?tA5;Pb!J)q&s_CkUm*4PR2 z?F0Q#GhR2H$Si4)A8f@N0F-5z~9n$xGfteyAAO{0!X( zA=&+qi=XQSf-pa%@CWIDnZpkme6bA7oPNmWbGD-$a`~YkzM>GObhsZ1=08+I1Lqb4 z!+|LU`@+UN;%pP!Ma6Z$B6jOC?KhRY^`MaO;SBZx!VpQtnc&S30cV2KMO;i|?%X#` zrW6wM04YFFyblp{--}Tz%pT#vsmwj+l){u!VoOv6g{eiKAr+f`Fqm4*=WGF)c(ad- zsU;o2CH{powOZBz6fqP#Sha!!7-HRmGE*x%fGr9^CR3|9K#=(OAZKb#2M8AP{_J6D zT?YtZ?gEJ-Q|pOC{!>wH9BM(imX|d6PXyNs5k{48YcNW#>mj4Ibiz@lh4=v!I-zE& z`=i0yt9|p>Q2hKviK+dwQl5!Q8z}U9X0pg7zFP!^24*Jv!^Q4fz~j%*0wB*V&Nzdb zAz2E7CZAZgAGG^huLPiwPaNF*x?RPQd~9`L?a!btk~eG%GA+WX!2AP zGsHrLv01BwLsjwAZ$KNDgv+O?TL8HtP2{R~2E4m5DVU4=>Vp=hh&YZr|{GIJ{iKBbSOe^DbmLgv2 zuQ08=0~li4DQ>1!asZpTkNvDOt%}$g+(L134rQ} zhalZQ*!7;npn>q^FPa@)=euy~w8LFEW9m3|RN$cWp@*7@hi_?3DM9PJM4EwUSHB)r2#BfA*cI2^U*Eh9w6>dy)P5#5oxJ z`r%M4bF6?EjQOA+4W*G*NSx3JvSJ+|LflzhVfx98iQrIDJo!Rr`swV+0LqHNUJujH zIzUBd8t4~8X&O{@rh$GrbRtx!=5)M%HS`F8>duJPeb*e`HN^={A?UgT)Dd6*s51Sg z14N43&p~Rk12n>$7`rEl4yew$bQ#iB=Rt<3&hU~>fW5RAHPVmhDEIT*F!ifQrT+Fc z>RNci2|^M&%_lTlYGC?rE{!z}M_l+MjQZkB5bJ~#AZS{S2wG+#zsNTa) zA%>wM(}oQ)t7vqJM&4N+j9+t6o{3XZ-OT8$(+d@=nhbAE7Y7It|12spqiarQ{FQVX z$>^3VEAYxLCsk(gLk4eq&CSegeh6puC!QXGB0Iu( za|}7NqQ5enYuIX-RsB#tejBc3vxXlk#6MpIRND_l@Lg-*T8i{TC3!m>XU#@_s4QO^ z2aiWHKU9&MDvW9AhpO@(BINx*5Z1q%e0XMfMSk*E*5L&v1M1+1BAGJft-{P-cuCmg z9}S*j&0)H58izwBEc3cBdg5<#jHiPaWH`w>Vb=%8Om_`$&@y5Hpz4Gl6ym9P3aPj` z(qJC{D~yRpeCq*K3oKXOzg^7Ze}^ezm4g!V)OKnNG3#ladA@f5TWp8E_SAQPATb1f z6;C4v2xjiWUq$9=BK}GO!#%6gXAF!;&)P7``&R_d`s}2M^S<&i&&KRDQ^TA==-HgT z1FCW`X#=ctD?4Fyym*D!m9&anCU*3qwIUpW{@1ou!U0_3Z~1g)m39C{%>7q1U0Sbxy61cT?fC%RPbv3HmiQ&-N-*eV4p>WCwUnkN$-hzEJ z7kp!?8R$A!B6VH#37NTsn?j%;}#B@0)wBka5|G&y~Nw#q!Wuw&yx(+$?9hW z2in&fke%}W_O<>9rIvDuKPEw)LD{{iDJ#DJA~9=lD0$KL2 zK4)dFDmEMl>xMaaHO1X)&0q;mLq5^259H5c2 zFk9oDwYZtHFk2HHpp~;QTa%rIxsB7^)>L0;0oc>lS&Xe{XOV4>H#@f7*iK``$pQW< zJ@DcOqLdL?_w=a{w?w3ZpkTYmB$SC|YYWW&cUbh!Z8H1cVX>;U&g_4O#e_JC+5f%Y z!!;kX121^7Lq{B%{jb^}=Dw0@F#CJ440tc=d8&WhoWQz4Fs1G^SmRUnYD)a`0>O zoSA_s!D-Kg>aS(sx5oAt_`4QE`+D4kYMpQ#^v1j^p`QvT#&_`)gwJ@ogbcZ{>lKRN zX$!US3=`&V!dZ|h-T%Tny)`cZGM^D?ci>-;hF=h^@a(uk&=Mc3wO1(tiURA`ZNUbgFX-iO0VuxV*?K zbMAxPL_Pq_;G?d6Nn)8_m(^KjdIx8|bWmqmom>g{RkAs`-tlgh-ACCRF<2ARo!}XN z`qjg{Hg``0Llua)Xeu!fJK|mf9YR)7DJjS@mYQWS4KCY*ROCEpRxoJ@Ug=q_4%iU) zbV#oMA4%>+>@350`ZxcPP!7(Ez0e?ENCP)ZU%{QV_gJjR=%kL4fnC-~QP6AOR4q_5oo z>q8mpF&_)Zlh2C+EA6x3rs9e;mPvm4-v+?g2rOGTggI!N2raR6O`VVcb`2VtB?{_aa?3b)S>x4RFe(pW~BMTM(K3;EF*6`0=^K$)MD|$-)YFvuG zkUzX3czVj`kSa*!a(L^eFN>yEGE$LFC1PESFI8fcXlP7-v0gX5fH|X=a>|YLT-W{R zDo-C>t3c)EMR=9W#FY~dcizlip3Yr0ct~arHtCD-f4OJ;x8_f$CMdv2FP8(1a4lc* z{}C8{tw3pRN81In=g7eGIuuz0f*f7b=gnL_`ejBPcKdk`1&08Y@Q;=9us==ZaY5b2|F`FTY&T`wIq#hI@H#PkLSSWc4)9 z5t|F{SAy>UFb(XIa(_Gof(d|JZhY0 zT6B}bjeO~)Ox7DW22=(qL)|Y05?nIm0cvS83p+WR)`JoeQHwa21X}*Z)366BpeyPhFx12e|*M zmdu%=3#C;;|EE-3!m~?R7MuXr(qaB`KR0oyg==D>mWJ9Va(O^Fo9C3WckG8P=l?QD z;2B&lF*KLIOw8_Y370PbXUi>RC^87`kS)*uPz7Y%cIExwLJ{{$0kRaHFOYl4^E){) z8i5G^V~+TgYyOI90-S85sY`sx3;DC6?=9E;)#qG={bhlgG>*GmLKi0pMWhUgd$Bl$ z6b%$b^9U(J5)P698^!5DIw?boKETOdEPxXRpDximPjQbJJUpuESPQt1T&&BB8!kC%|5>D+!CEA4Fs; zU8)rj%-R@Z;V#jNlnPF*0K}r<|2CUl->-6Tcz`r(1Iaxxx_q&c75*&=YAm_BNi-sZ zn@FK|YH9zr=sw<*MpQFDhwuQtl(*um=+(u-LteyTUTEL@C5iTb>{>}eeDtGYMSTlu zz~|2Hn{a2d8ZB_$z<33mkl22-n8YFvP=0Mk_@r5JMD9qep9;@1OHHNP;+TOFD|HZl zXx4Qbu{&Dq?z>W9!ljMDp3CDc49qiDsk9`s2P}1ggE^Df=XuS#PdlE zAzL8jI9IzxdFPtg{(iI(>7KQ5+wo)K=-Z8`?jBdGE z)px|A=>;mu|Cw-Z%%PI?^(jAZG~vwtorDd%MXGNfL$#I1QNBC=C3aRO93R~fu%jbn z>`>VPx|?H>bOFt-WTfW37Di7Qaaa)f1CbR+u#LoiTSaX%6UQKl4I4+Szg5DW5KDeS zwQYZ-{Li}y=jj5Xn%kTVc#NZ;n%sY6DsET0UgN~Sxn^1$C z=6&6SY@HuL&(a=hkG@X%TEw)0ERvo=LlTpD9z7Ep(DTu7YRvpP*?KpU6dll?l=}%0 zBNChbj6`lJ!uwAqwH_x=SpMZzU>q4?Xt{Az?d~l4aqK zNldtxN*>iC6_>Oo+G)qBZQebg{I{OOXU_$~cfFnvM{zx@4X(1l_6w;C+|a@6O^gwa zaC+R#No-*P*>vgvX`1gb5@FWAK|^(* z?=}e-*@2MyeMhRyY)?of5t$~jo5`ea*bb^K^^%^W=(3d6I7OH@#*na>M8f~LkxD8d zo>5{&lZiI}ek!jpi1Ja0^_19$3WQ&^J4xKwgPx~@DT<8AEgXIK5bE!{sAAJ6Vz)b% zbR6Z(=5ZUTd}U3->G6s32gedsrz<38R~1sUpz~h1MnMED1FnUj&?U;he?|D?22z`C zzeh@>#ZZ3!Aw>8>bW@8z2`xDs)LB(XQ;2){R67#QKZsQe9LdhxQkM&g6N zlG2{zR9;~%b>G>mMAc$3;dtqt2@myU(lf94B=z_apv8oE_q1oZ~S$vFN#3 zQeHQW|4t!JZ?z&8MX?KVv$VFPX-T{`+-x>p8*Vmy9F@DV!FIELB}kQzEl7+47ZBbZ z&bXO(obq85E68?qrBTv6jMjr8SS67#DN}e;l!ixBKL4d|coy)5Ux%oIw`ui{Xvxvg zC37<%mA(HDda|4`1SORd5WOZPw=eK7SRJz&HfY+@?B|a z^xEISzbMt2Od*za2Oa{S?@#pypL(nAqdc;DHMBuVAS-VLSWi#6+Ago^Kq{rzQxYwz;D^`8d$fwe;Djq57~?k>zKL<&tG3G zfib;)EQInuw(J78zcbMqIhsH2h@vUnH3>pv_=e3uo5%meTh=En=Pk|v+{7m%Izrma zi`)a<7Jj@PpsjrR7f@{Db$^4{?Og8zxyShD&TuAEBj%YxBf4a>WC;JRG`^7#*{C z;tP<)@NJI}{XCnGqD$jBJQkaH_j+FE2Qb^fv%?|alO_w5GehMW!t7EIKVNv*2dK-1 zliAS?n}o}$fVK%kM*`X-tftLvywGz5c;660I)m=H@TF2f9joeilxIoWgm%bLoI0fF z+od3{bTtk=-gGQt1X0=o<#z$}7@?|LZV$e*c`Si+Z`L9(8&>W9J|e0x`D zy^A}_@8*v7d$^zNp_59_ynVm^Uf8~W0!c3;y}5~ z7l#7n3g2D|-FrT>90aEFpWwcb(s))6$VUss!r&p7#t0P- zLf}|o^l&uIOrgO9B(sEf^gfRfKGPm-g)lrGa#spjQc<@`ct+!ChcKKL!<|B8b7-+k z@D_oH<3iymm=r5SQ?H#B+LM3bs?deb^EZV@_rWDe=tbMBJ3{FUwEw>^JPk)9J`vjf zOqvRBX;(Q^OgIF>QR2i?D4ZZZh=(x~#U^xki4m)2MBQw0AsqA4GO^J)K+DC2BLQs| zzxx9^Z4nO-frf{~K|ey@!{Yv*0zDj7d=#*9Jw{B26s|m`_fPIhX95$rdO{WGRpVPC zWYt_l2e;Zmi%`<}Sp+TzXvN7=xj7WbfAw#eQK+;Bct!7*L%#T)e5fsTU@5T6KB|Xj zg-mTxQn~Rh;8*ju0%y~H+RrF&GozXh>UEk^4%+m{+z?2;`~8LH?mJ){ zj2IA0r_U9<`BWgS;U^lQl{fJG2|(MzCl*894!&bCNWZ!})`zff?sasM8Y)-bh&CG| zFQq1!DCejPlo|4^qR?ud?5zu>Co31Qb&)Qqy00lvQ`GenfiuPmPXWawtJ8b%PO+!` z4CsMft~c%w$oLI>{$%vxbsp6cI^N{bhzLL=`ZEe~zReSwg7F>RZ8WsJ%PUPmGF{ku z077R77iNOtETJTw4q}A*Kf!`ILidxX^UW2y4~7c!h1LQ(W`WS|3KUx;Jo^WQi-noD zA$O^;rwJ&Q38NoC%k9Ga^N_nkctj_y^FktgyV3>WIK0NvCE*qw#V!k-8JJxa(w3nv zLFfU0fRreV$p)0`LceBE^rlc1AHzsVKH-l=Q0kVjXdA%WLShyqcLhERyiIX{feZ^wpT78 z6;npQv^236y*ECJE^h9Joz(-K4|LRM+3-fI7{!8XvDo(_N+C zK&Kh5Hn{DVX1NkYBr&e)Ux6~$^(+&hd9Jk2+| zl$N`CZ-y2tT&M2S{9ol7LN2q_uGmwkTzAJ3{f}$qTVU>W1=HN!@0x^NN(6zH}X;E$J)Qyf)zd#&xQ$OCNTTps(b=< zA6=^(f&8=2b!H>DeR0|3yc{Z}rGS2zG#H<(N+YDQYcU{3N@`xHHd@+;LzFZ|s*lS` zDN34C4RqtAl0Ttvf;1H_bZMg0vec22}2m63At_S87MD;(gMUiJ(6q^&bYN2c?U&J-aH2 zIJip*(t)#pu1gcfLGBGHg--HG(k4W|O370G8_@8!RCyu_??~a~EKiZXdLZbYln!wL z(gUf>0`h-9l#1j)V^&;JNPm6@UcikR3Kcu)l2>O%m zyI18CG5;R8gUGS<2mxh4ee7=e4w9a^E4_kF&)qF?yp>+MSLTG=SMCmLz~+s+L?IBo zbti2Gv`{WYg^T2^Ibr=0`CW79v{YVs8<{>L77$Z4LY8$mhaC7v$gWG zZ;;?yC+~a#LpR8O(sjv3IsOeQH_LfwW4c9NLtEBuaxnRKw#y4!p>U`C=67K3lJ}7h zZjapm2=x6&E<{%)`{V<(BJP(*RDi&P@(}8SL-PBRKsh4k84fN-<;vt#I4<|?jU?75 zukHkjlXCJ?fT!g6UJxHI=Wa_qBBw8mhB_;kUkQ89$=g4n?t*;2HRN8D%PfI1SLDI# z0bP}6%mSB0xmz=!T$ewPza~k}ksF1{a{i0Jydy7s2rcf)A?>O0<@h8t>;u`iDhqHP z%YQWl_(b;nO|33xqDlQiUY!}JujDQGyjFTG-(CQl-pY1G)V-4n{Df9Zm0SOgBuzF( zpzx!7^B@%cB$s&#ExyR{pF#IkcDF%u4ORB`f`nm8=mFR{La9*~Vn-@Fe3gMZTKV}g ztQezAc!XrD5*!88ZHhSo$xfwaRj9v98Ao2of0S3a6_oZWQQIMDzv5{On+_YtR=Gzr=bSP+ z1PWhNN;ZMQmy}KU09{c!CxPizY|-StF?}xaEzLCnEdZiY7KHAk5ePQN99Dd?*nj~ zq<*=M!l`OI+5}8fUD+Xby1H^H{-rEXaO z-f`-CS`$vI|ByH4j9P9tv^b|WdIJ&X)z2KfFR9Up=#(z2sVQK3RgK62BNEgJg~2mX ztxfN^>*~duNRrf3Wq^{bmi-kdchrc#(aU#zs*O-j>7H7U-0}C-1ab~NR6lNoz(;D! z(J<|)YE4DqGqv4($bF$^ECFsW)o8kWeXX9ah`Kk3@&fcuJ^mCT-m4pW0!mZA;gfFZ zgX$)IKdCXZfcaVdPzKOfHQh_J#W&Sgj;@J@X}6}Kg@$Ved9+4qwR3@Rls1xXxyEQ` zmqXxKt$+wcmuWj^pm4c1gO;n6+V#Oubd}cjH*i~{WgH9fYqcyh&@$__DfIQ)2F*h| zp-tM46(DG{mghH+Z`B&B;JHmJ>)QZuhn6W66gxE)k=xR4?QU5ld$ibUP-d@YjRezu znl%e-4r)uND-LPDUqAyN)xM2E-7!szM`5hir4K}$&~C(o{FFBGKA<=)?*!DH)>05t zD4o$}mjci8+R0p?yP)N5K+EhUEyrSLdReQw928fz0klC$&~n}an?x;+4!75}+$TVP zQ%j147D?J{I9;V%+FJzONw>8<;JG&L3j80^OYL+z$bF@?SOxkwTAog*e5=KM1e-Li6*b}qt>8ZpKULq_ z1clS|Tvx$ny1v^3x*7WPoPcKO5wl@hj6PLD$IQ{M&^B_eezQH2`FfLhU@p)%{Rn1@ z^gXmfEY_dkDBzQp>f`Bnv`jB?0G+-IGx)TIj^e=EvNn3RRKgA&J&>Pa}YNy^M4A5@0b1>{s*F!q*(nUy<|@6kLVigl-`g= zLcIQhPRghCakLvft2exf20o{^%>lX#dS`O-T-0y=36#tFZ#6)EMbGdVbP2jS8*On- z@3IJV*L`~2Ug&m1zkL8WN%}H!?Ir8a=0L^UdVDvqxuY+x4!z&%?-1@Leb)aHP#0x{ z(Ys=tQMWgA8gJwn24f}|`S*kAM8o|Sg_DeDhejtALW+OGWU?^ZRO!@t3z)Ni<}> zWt~x-zhE%<71(eGIu_hS9^69x=m1r?`EcZm6r2dmqC0QEx`;gc@hn!2d_Kja-a&kc zryuYvd6F)_OHCdLZlw0(GnWLn!2KlYb$%-cI=g?e})c z(;L#{m77xo?UCEij^`h_7DY$wm7f)cmHXsM#bNV7c|FA!9Fi+rfDX&)@O=Qbn{kVg z9F_lUh}JwNw}}IET;4PkipI)Wwu1bG9R1!0@T9zD9!xtWC%r~#oP0F|a^vMfCYYX< zHvK zDA(j4vOs*Ie5n=auFHR%14@$osy3~^$?_l10p5~t{|#ks%em;Ren(zH8`KnedttQ9 zJ^AB5Xqo%+>pQ@FAcxa!`a^jaE}*1GazTWpVGG-gy!=n)(#;_0nOyI0pgfm@U!w4Z z+@3;OUdqjngZ!1;x+YLw%U3a+eb~{a8wu2R@&Gz$y_c`-0+cF09*MR{LstU&Ajg%3 zh>vocj9~Lgeobb7mbYtwzR05)=)TI2T~OwmytODWhblkQMbt25!7JE{-EIh=kxH*- z;5kZ3q^OzEO5r&m_l;HZEkch*DZes+6O@@vpyEX3$KkMdk`hm&WwH{p1Olfhb7w%( zRHa#eB-51o)4_YX((_LUoS~eiDLqSR`6HTZj&cF9&eB{Z<4nk%r^Jz4a=tQwwkivh zix*J1Q0bNp&?28wEgozZE8iv}S)$Z?jqX~m+*k*0tChzhaMmbo=yyBTD+B2jzCkJR z67(CDedGt*q~z^^qy|BA4<3@5v8T%Eg-BpH= z7AeZ4)6npql8bzb_myE3dhIRe&ptPrI_UGeXaC-g1&#FEH}`kZRY-|nW;Xd7sM>}+|STAM$O#>1hds6KHoDo>L>s1M;0$_oYJ81=U*`x?NNwE<(3U z>c?)NxU4p%$dM~*ozW<~s{TPo$prQLO`yM~*2BltIAiQQ2koz`a3*2ssMxh(=%~Mw z3n)o#KyI{Twc>kNc1xX1Gv>BBnL6f<`a9j8;r!9cf}|9+X8};$Q`OU`ysv&=A8a0| z$qdc?Pz~)3flt(+1}J>0{_+6OGxf$s&^=e@mxC2A)JD|lFV((-Q1?pRwGUigt4}H5 z@{Kx=HfnFxLKL*~P8~%dMeo%Y<4~8X`f}6tNt&9R88{!*cn@s)sK$SR-k;Q2Bf;&n zIt|gQ(ihbP$pWt&<4g#*WQxvb%yr$EhsZn%UJ@+EUo1+5X5MsX#UOC;LF8e)6%yC zv$Z=4;!(()(|Lc8Pq03$+pSPG6)ArnP9X7F7$qy+r%r6%w3#&w+56 z*6k{i<=UD{P-cZTjT{{-wH@TWSf%aw8JMfJdNgF$Xo(0<##yXB9XdB?ZrX8d)IKf% z!6q&80}3~5(~?chzb#t9$xwK!_R58}+^!8E*T@d7%RD4IwcS&|ZI@QF2e|FlFz~V3 zYBdj|Zm+iYdnEg`f~(Q82egglPGrj;{c;B~F>Z;)_9 zt56he=)0*krbxFWt#%qJleLZ%{dP;sNB22*v?m8acvs7^9FkJB2;zND%eNQC+}EP> zLEr;zQ4*4eT5LrSJkpwc50uARp)W|DXuGzd?y0tz;$xp_3-lI8 zP`XgRO;>A+^lSjfhqeuW-R7qTn$^UF}UN>}EC_Zoe~co3}B zUx;9~PQNq(_O91=O-Hgp*Xag$qkfRKFq`#xs{w7%SI-8tRiB+o^KYBpi<)h_-ZU8$ zJM`>y^Sn!c;y=5#q5IlBdJ=8Y{?TtxeDPlW_5&!oPaiP?S{%?xtJqx`Ej_Tc}qn(cH?XtkmSbYeEzMatPye0qlNxcou131^7+X#v{J$nvl zaavC<3Y;@~_TeBrtEUYB;W>S19F#e)_c#oK3;NK!(BhKbmHb(k^=~nNuIL{=gW#&Z z6+g#0`yMS%l(W-xTVh`7t$TQ zZ+ft~tLOd$Ns4~93n=dC#oj{1eLYuS5IoS=Xwc%Z-mof|KGE$N(D13Qq@nPcesvg7 zp6fBR*?OU`NdfsQy*xg4lV0oN7%<=HNd}nt-s%OZFW%|t=(zA+Pbdk2X?j`%5Pr~e zUPN1b)Q{mqY3Y+b<`AII`i}3R=okG)UJ!iK$K8UYp~kT5Fm#yF=_u-k8%^4Q%Ls$r zf-NJBzU2KFZ8Tp9f-%O!H{deXI6!wbQ9h#%sWHxYHW7U|-snjeW)qE`FQL;U^s|97!#I5#TFf-cZ-l^E#)0b4KE`->5z5Rq z5WImQZ_K8<@Oeg_V~{)F==KYgSz!2Xj0d>TxJKUTMaJ945V6FFc?X@A8nZ8haG4QP z1l*Pzjb@;5g>j5rWh;%bA0c;*@wzKe)*4kPfM=cYyf3({Hy&_cZZKA?hB6zC^b{Dp z$=FsI25vU?8qjHrQJ!AnTMf;37&zOEsj1+$-SD-5_#H+9edDpy2w4e*cNycGfMSoa zCmjm^F}ja}_`ODv1F(LdafN=ZXuolq&iMz7+Rs6L&{#m1Jco>r_>E8Lu#w9Kmm@}} zg+MuKn1_IJ%(ycN@{Sva2hhcDtns-fN>3PBN<&1PaUvIzcw-8=+D;oKdP33}*4cmvGOG z`#z8&J4~=v%>r{0Vos9x%*K#$xK%O z^pi~&;yk4(X1A|MrkdMnMVw|%KLRbH%}VK@;dJv2IihBme@}z>S>{oS>Wnda;?r1Z zw&^Ve%sD=@NH*9z*X;j0zHCGd<~PNOa# z(e!1djo>D;D}`)sHru+vbgTLCC6aAsDxHkCn_@Gt*&ipc=I#GDx5KYp}}_6 zyh3*Y=gh6Nyq`CJ7zKeB@Z&77_oBIw!a6URb&^4F*$ll2EfUPFbm4o=%yXLJFA~im zA0XnonT`&eH_YJTX!VW?TzkJ~ZFZ3*@nxN(b{NW`|qot*2&jx}|((n%O*f&;jGz}ul;=Yz6dvc%HUJv$nNJbI6FiGTAY!5?$5hl!_N+aF zx+$I&1wcO4)3!0>PV=mxFY2N_X=hM4-7|vj?q_)B(&fWUPvaj@=bP;brx1@hp3(G0 z(_ByL5kT`i)-F)Y_k7I;g%^0daex+jl6Rs>7kNgv0`JA1j}#cQ#B*f{2$p*0&?>OZ z^OWN3mV4UJCVGWu1Kpmj^tAg4$tq7Ib>@H`?(8$F#5 zpmdX`@-7&&*%P!B6k9y4TR_A%&y9>I-0o>kLtuxe^L2>W>8VcvnY%m>2SNMYo^g#) zxW_}kI4%&&(S`F-&+Qx_ zJmzUnfzro4xu}I=J=#o&KjA4#p%N!OnNoog=V?dY-gr-#iR83rC3(Zoct%H|?yTo) zKS(;~8MqbX=RMgEL&FOm&VhN!Q=lW5UG}gsXoM@CFdxN+T=nFqV1ootSK3ls^Q6{+ zF^QfiIyPVT%q7R#P0z4uKZQp6KRaddpLiz81Odd9@At-tmMXZdbbNsd5~= zQ#|R5L;M5J!Fu5G(4$hw;v>)Sm9YM?=Nv`5Jn<}HwEukSX-32AnMcD9i%8EsL*gOu zg=ghvsP@t`mZ3>sdG=R9;cJin7qoce$+-bc-+H>xd-I*=7=6K)>e)eIqiLQ}Pk{2l z6LbY4K6)yVzy6b_7<~is*;6(c$rn$Zen`H0%wDwr9BO@B4!wt2ryjwI;nqwA7LKx# zX&*V-iuwd@V=Sp3pt060YP~4yP!|-AvnG)*y2%!& zsE8?+b{DLtT5$&GrdhR4B8j$I{!H=LGpwTYa-3;3eg=wJRutX;##rfp1;uRZhhw0h zV|A+uXs*>gCnU|YF3~Y^fpvlc>K0n}%7bo^^)V+3ms(k0g4r@Fg+9hwZmpsH$qFl9 zb#Pf}4Wor(m8C@@S#7PZ15DovWm6-dgn+8h?Xj6-TnsnsgGK zx5*ksR|1=@@bAEFt2LnmL~OHOk!NbV^b_z<9o<@AB)n%R#GQ4{t>HSBy>A!{XnOjV^-o*@IG!e zqOl%p&3yrVPgoBqI_RV|ejK1v)&q*RjkB7^fgs*`@f>xhtyy#;IAfhi1naZbICAuy zx4s?)biqo!hT(D1^0lD#`I1$MF1#*VKVJvM6{{94x>v2bw2@1&Qfc#%Xj#+1`?@u3 zHjKGp9idR=WNRIHmTy@jX=%7^4I2!mcdRRQQFzzNc^vJOVzIgCpL&E(x5c*0VBbuV>c7KOpJ3wQ(qPdSTt9*!`DQ z&~z|;W%a%c^0(Gz9rnJnM*4vA-daX)(Nt?IO@K6O5#2j~u&U53{%F-Y1w}tuY537d z>9ZBq#|NA*Rt?$!ezoo%M)J)%L2*b!?FpM;#W4Gq^Pm`R|G5y!2>bK|uo-EyFc>q+ zzD6gY(Y8g?Fv=d;0g}eqBWdW3w?EU4VuHOvK;1;Uk{gAS>`BvM_GJ4h9b~51g9VB| zoN6a8f)>;49Gf6F+MZ6EkLh+4g}2VI50jfhDYu`|qs_@(wE`l@A_{XK$heA05e zPz2~#*wbkbveF)&1*ofRM$YTicESO{q`EVM>t>)Y!874?b-E#a>zc?2`Go{5fxB(#Lhhl zg-7j?>tX#d`#4>tAGaG6gif*cL;CLFgneoYP~z+obp0G}C)4}(w9o!XE6f?YB3;>@ zwF}ZQ<(xgAVk6Jn$8TdGUa$+z0m?=DH~QlAlKp}FMwjj77Fy;xm2ex?QX@=x*32RzdDfyKoGkB>O3TCR9qceVgd3kXv>ZI>+6$ zhtniUv7rm5jJ=OS4e#5zuR;9>cFrM49@>*qQ25BMo&e0pcGZD^p4b;R0(xqn90R&% zcDZff`P?2l1_Uqcc3%O#w6l}z{gwUVHc(#MjrKwNH}+&7x$fWEh43>0(mT8HHbC#~ z`q|NlsrEA&I;GjI$dB^Lp0p2jpY2QZ3F#O6D1Gen)vijh#oz3PbZ9mPGy zcz4pZ@@((fspzda-i8z%G|wxUK$-7dcooS4?}ftj{pCV$#y2o#k+*+&B#XU!Xml^} z2GMzHnU{XwL|X1WLe~i^ycXSZt@4hgGtX*opOX-=#=EQn=+=6}qoCnB?^p6qZ}6TZ zr`tyFJ^_ue$y+lM1a9^Yr*H4Jcze>>W1CmcPv2i{_uiu0fgRot0&9Dl_?DCF^ zhZVcM?J7XT9&cxQXYBR%UIcshd4Hyuto`1UM$qYi_XtIl9`xpIgStcB+AW~=VejS_ zKsn;wC86-BH}nw%#(Hb@gZLBPKP1qd^nU0I6yGUt1KMuHc}tZ6n|N>34j6OE`*$zM zz3i2ac;T2U=xT|*lWxnQ)xeM8t|*^ zQ`n$gZC^zdX*KrKUq@4GUrdhaI{N_H#n#(@_9j>~*n5ySw9&r41H|szcmD=Go9x>c z0J7O;A3X-u9@u|y2rw=7aTI)QwP#-iwTJfig21B9{v!&VwcCGB{)|WVU6c^lVZTU= z!N>MBmqDh}{^vQE>$3lcoX_3%ofKz%VqYT#$W!|@lquX}-x-Uh*M8SG0O_;;g6?hT zx3{$|hE4J1yEl`<|6d`8M|q_AHYzO_bQN)I2ob^GlKp`FNEf-#5k{!cK{@#iRZk&HJ6&_pq6{a~4B#(ys4e>ur` zht5SYj4;|MpJMz$0n5{jGi7MbFgBkCXdI(O1(0~gTgiBa35?7pNO+!+83<|@7?T%a zFp1HCBb!|sW9J1>NoVXPuT=))+sELL$&gaQ{#C|_T!3UTzS)dkHlxZ!@rN8nR4(kC z%LscLKa4!a7u_&TK4XHeBq?D0a|2|qGulI-MG+(KWAMGfh}WShW}MrBxtk2mC`2n^ z#L#yC7GrxGXy0bopMYq081MZG$h(YE3IUffUZvpLJw_E39hNipHPimHf-yY>h?R^< z^!2J@IM9B*nlXI^25T5*%1Wwb?559T9peMqGS)NRsmEXgLr)={Mn*h6t@{k|6&Rt3 z@c|RP2aMbXDB8mKX$>@MWmHpi>>=X{Z86&zYI2x9Vze8eIMfmA!K^SxN{Lk7-UTOe^h|s*o3)Z z#ty2M7-5uC75FHl2>(N4H^vA~g@ogb52!$Vf-!3pcn&t^q7n$~$ZXyZ_D)PKE#|Jw zPv}(U#{7d^rS8n>6p{60Mw`I!Ak&LV>b;nIQRQlPn3>^=IUnW$+KV4yZlw?0QKp%4 z?ERS|bS?>CzVQS21~G-?{|sh+c?}>T%xYp3&a`pqoPL}+pFG47%#SHv6UBTsj3%1d zPHx|m%*B+#dYZY3_K|0p-4wlvWp1T1sCecNlq#6OR8rwfB6B7cm0n<~ZbQN(=2{9P zTx7DmAxtv!#8wbXVP5QjN~uiM&uG$_vu$Mj4CcZ2(PT2azX#E5Cg(VW$zeX63c0T_ zXU>7~^O?+f7%X5~=`merN>d>A4Q4vU=!%(tkY#Q%t2bk?l=<~_^lmfXe;YF0VZOHz z==YcxC~i^CbV`P370f+108-7g*l7P*!@T?@q^X6y0NTKe90p7y^B^VS-Dmzvj>HGd z$(^9q!ucu$xgrh)Ge^D4O$ zhndb!^t)j8X<@ZdrmdUKe`CybmEbha+)jS=31&qddJe2;I(0j;>d4LJ#A4DX*qP-` zUqlzyDmi+ttl0^86mG2C!$5FnHNK0-GKcf5O_yMj3#|9V z077=^5?XkZkvma3rI4OaLMpjOP9LvPM4R`G{uN?FZ+ z0rEEM-C3Y=hh?NHoVzT4XUvtcG6!Lcd#t}`$5_s4qM%U)OCJYaDp^&u->qWx+ZF($ zn$<`)sbT#^=j>Wm*FH#5$NHPZuV+p933Cmsjm4O2WbHW(PWM>_bZ15r>n*zQrkNFK z2Wk&kPnGDkurxv-w6gwu41|ZQq(=1GSi5u4YiAj^!FZ2Y_i3(!b@^S|e?DdvMMH~D z)-`fBcd<76gIYIh+B(2IVg2R=DW0-wQ(=T2)+hF$*2_wyI9wmAbswzW&+0Uy8DLqC zVDK61S~u_pSw(9xIK*Ib|q$4|s1!0`nO}%KG*)jRx>%tDDBc?06l|C(Q>}zW==g!XR#GD6vv<7$w*pHvU z2%hZ!$N_nfeQzBep%?oExmdi}Y&SfSL+n`kh8<=Pa47%Yhy5niBphKMUI~0(wnHK? z{Mc*LfpL_5gRUv^XWyr5H3HaQQ1mm9J>c4~PO;O+ zpy6q@R}C=EuL3VvA?l-z*2UIQ9ZMoW-+eF2mDGV9)KtTq67ZMKI7g_Pj4K zcb=`G@8bnFhaw$GY&DhUTx5?PKy!(GRfxIEHumpjXp`A%KgVbad+!D?Ol23*$K(oo zX)+Mg*tdQ}lg=(-fkh^pO~>V{Y;yoOWwGy6pvh+Y|ADz2_Nic)B$qwl0qyhH0dJs} z&t5~(lLGd~UZ8oMy@^f)MeI|==my)?ML8qI>}yn+bd%ljK1NH}F;w_j%C4A&-fi~X z7lC+(y=DNtdu;C|pjOVdQE5&Edm*KcSF=CZ4<%~Y?!K6-WqaI%Fb(XOFM-#{{$~`n zxX)fkr@3}EF1^DGz;>o=mJar~EfN@y*=0#!*vbCW3DmmS8b;Op8qnQ$N)Q30EB1kxqC4;$bN^;B|~fx*>{*- z`6}ccVb3Su+bBEqCbS-7xBN))hjI45lp{02{y~eL14mQ_YL1*)>40(Kuzmu*GiO>E zh`MkJ>4~^VF*+~%b5vWvB7k#{zP*8*A^KS!<7}S- zBLs17jsPT>6Hc4q5RUtKm?V@lmz+Ui9Obt_2jq-dV zIXkp~jN-h8sEy4onzN1$2q!tq13@%~^ZjM$bc(ZB05YdJs~-dO3}-bZ48(F;(7WJm>R=u;>L&MIq3WI1I{2y2v?0 zKE_L&htZJGcA3*gANyp^^vBRQg=0r9gjCL1a+zG=lv1i$8s~l|5HmSn(XR3;$A#Xw zEY4m!Pi1pnqP=MjXM%Pl*Erk$g@n1Bd*o%v27gp~Gk?r-s&w+no9I3%%7=eTsDY2wVz0;guqFZ3mTz;V0|PAwc6IW5)6dzy1ib-HCuMRx<9wD6xd%D%^d1ax?mUC^!yI2P%#Co; zD7HAtdHFlg9OF39r(v9P?LDARaGdEY?ZEA!Xo4g6GF=qo#C4lR@1HYw1~NhHT)2#7 zz;NfrAAp7)+yJWHJHS0O8`M0xfdYUW$Dg&k8szV1EeqaBIV@xbC;7(Hh^oOYWYBJ_Do1|j60){?mrCTcGFiRnA<}orXk$O zt>}evugpOc#x+d?emGau2-?TFFU$tR2<{xx_Y9X!pVC;aOC=!Ba_M?kyEty^KcEuN z{hhvu3EWWngeGzep91e3_w`(u>pa(o(yA_SMX9v@C2_C1gW5&z7RqzD#Py?8&&%As zbD(cB*SiGDq;Ow<9vG?I7H9OXaJ7^~o5ua!AA{-K^7qlp;9jBda3=S~xA4%ea(#M$ zp2gi>3MsO=pUy%rhnxBdl(@!qqE|GR+e=#!TOPN*ANcuP7mA4%aAnWXT<2C$fTxh_ zHV&8~?o)E|-{7WD(ta`b!N*YaCf6naND234D(Ae#eVy)gDCIglf-bkY-_kkz4)@8Y zK)=h)8U)QU?n)^%yT_eEb!+9^&*`*XVdJi#D^Du9|57Gn6}Oe*{?**nZh+QsMN!~e z%iTg(&ed`K$f;V-U787o4cv9rm}}%JXMoy$?$3nR#7(ON!)ERa6vcnQP0oX$E!-DQ z!A`B*xyNDrhuoNRuwfhb-H$NW&b6^9w(*GjVHz+xxI2bH<}vr}Pr<&E>$ee27uTJ# z*}AzaDck-D_c=O#_Hu`4FVV*hngnY7-0~}c9N-%0u=9+&R}Er=+`V*l-w@Y*3B4oS z#gsuc!hNp-bEDkAe&CI9_t?q+GtRY9q;Z1V?E{@0ct;umK3&nDd@(SsM>(A5DKY9i5 zmQa3DAkS$Sc*l6J(7GGMd;So5!8|b?$3l3^X*CSxy+0S4h4EPTfga9lryS?wynt*7 z8i7j*ApHs6`_3=n{fp!=H^V|vyaVJ=h~_c60D6*Ftpa`wZ^I7IKE-n*pVDcb7v&Y7 z;jL7GMJ#Xq4A4Hy`>_cIisKD@4D@(j=5C0cz_YesE|GVR4xHzBwl~l_&r742;sxG{ z6KIln-yV1g@83mU8iji<@%m`jahVtW4cI61)Gc6`!n31rKq~J(h3K#FR?{vzgSROj zCe7q^(-M1?SMfEhmc?7J0ZlgV$-6L64sS6%ifg=|Iw5Z^uVOU@^LPt7AWS}QW-#~_ z@B#!-!gih4l7PuVUgAJX={6 z6z$}h$Pd}Yn^%v?Zl0FD2~T)$Ob4~6yhJ+X^za%~!06@eCKo^-FIf+2{k*_q=ne4R zqG#}ow~-=IgFGXpy$h~DeT4@z#_L^&-Z-z$_6rzJ@QzWC z&4E8D29i4R|D}uNP35WR!w8iw{cT?fe5q>Tm)qMG=zeLxMzx5m7ALV}@ z4DtQ>f07Xb_(kMG59HU9ukjdvVjjxuJ|DSac4zs^=*JSrUqe~9@%$rif_(yi3$3k*{OUf)dyYTl zDp;K7Z!rV!0)GIGn2;kU&>;57c3otR7K3+ZE$!FSpNzM1^1ln;58KaVbB$l|XecVssIQ~*G7_;1F5 z?=?PW8bEUS>GWgCQ(ZCMnSBK&s+!&)qLMi!M=w7T>?OA`8~8kH`w@#U&3S~U%mpSxzFDehtVefCJNFu z^Vd=e)dPOkCumyuKkfw4R(=lY`;Z@;3)*e``Og8Noj-FOdXM;b=+oWFA8?0dy7-@d z0@B_5X}K7D!cXsneV_98)4eo3{IInE>E+v8g_!K)ry9}i=Re;Mm;t^a1kE%4(?0<^ z$d4c|>%$mA_Zpj3)Og1tEq z=CHu&BM|iwd^-X=9TAk#9ksrK%@pkN6U4X!;izC{H8}YTE;vK&06`9=Yy}DgOmH|R za8`g=kf3)TK!OE&Y%`1DBlD!;eyu+q0Di?%qb8*LNIy}b0-A% z)}Vug@g2ZjF;r+`JbPZrMTkt^&njFEYR?xmCXpRM9uHbK~D#{c1i=b1!VElcU zq(BhxHwLc@)-DG7Lc#8fU|1x`TLO?9f-c&$6bs&_oa38<)(jw&2-F%hw*>R(^0rbz z`D!5C7F5$G*mg(IyBQdF1>^J$EfWa-|2hfg(1)>H@Nzult`M9ipKPVzZxr_0RS7A>y!jPC>ID+ICZ<6!nLM72g4s6A-4`6AO?Z>wZ91km z3kFSiXb)_HCzLDQBB;I#o!SIWlw;j4Ncb3oj|4?jy4oQS)Izk!0^=GqodPD^zS1QS zO~<3?7A&LG#U}#0_2Bzdu#)au=@A^s2S~5riU0_Gf{i^O-7lCQ2Vw())zuh$CRo-A znFa+mIh7a=2_D2i(qX|8y1Q;fFe?hwMg{isKy6GAq5in5y>26bN%zctHvceT1dmXpRVxmxLEjX!{&w{Dem` z&^s!;{Ra^Ig?$nT8X$b>a}Wy@){rCOn6T9cy&&P#6+j3U9;W=y5aGf@m^^t5mq0wh&v;DhKD;aW$4 zqzR8*1?_a91MR>vgy9TGktzIq18gS``XM)u2`+)O4YDL-=X}nqr~)6cBC-C6t?1 zB78(On74!?a?+Oy4YWV@ZNOWpusz_3xc>}w!23vrJtUMJxP^gvsL z`Z$2J3YXC@|Dn*A!f|avm)nrOUD)mlyhp-3a*B4?gg?;LqmPARTKzkP$HyT|m+&mP zQ@VxSv1pzMm!1XaQ=$1hnjWDG9in@MGw5cCKH=F*!0Q*jd>ED;5Kb-z$TQ(Rih~ad zSIk2*B+PRGg-(WlU&$fnvYo!buM?IU#JK_t!!6SrZK9C`$Vk zIys5Hr9>=e5%X6xE}~nv0OBf&?Es#eNJ_2;chR2|;PDV0O9I0KqVpPP=qcJt$IpYJ zH|}82OO)jYQ+kVXX&ZV-2+=(!ez=9@R zw3@=S$3>H$potLqQO3y$QMrvCSER_%3=yM5XI{Z%w8)=I9ZrhEK7eX5q7N1@1Muq8PN zc~NdVh+Pm3E`s(+qK!?I|8h~(N5x;4MA)t1RTDYWeM!lpA5Wo|B09MR7^$KMl(%z5 zq@$=&nyBx#rWQrQ80O%?p!7xWOX(uGSCgQC{lPgkF9#@`d+Dh=v z7ZuQ%v_RxoK=nu0MVo1}Rw&x?EmSKKm6QADhG+?`pT(kK`aRwhjsFY2C88uxfZP&& zu?s9pMW|liZB1tLc znnahVl%-jeLdT*9qKVC*(jxkqaspaK4ztmFD0Hhq7(U)}gcq9^&x2r?+ zeJB_`wuvgHlC=1I6DK1I*J?r1frApEJY5S#j6iOU^nr*3-Aow#U50O=^KteZ+;7s(D1*O0ipC@f90w zBK*WpO&C2Yp0NS6{l(=}hZi8eLRqYVVxs||$HY~XF%u;ArOfnT@glnPDMUQw3xI@* z&CZ|_CSLSDnsD(^FFdB>;%fSIM~J_t{rw4X$0!CP#Y!?z6wuL&7B76u1~MnbgP~v; zBlfreflrB-d=4#6iwo&cct*Tn2>7w$xo(&{E3TuBSe$tKCuriu-Pa&mg1C4By+rYZ z8bmLMFVh;AB=)95-9_=Lqp;y6v2rfvE{oGB(w8j0@+am}#J^sm`)^alP4?(s5y#La z0@uW6X`i1f{&PA&^Tdnv&>~-)Hwusf@s%i$xh~#JZ*!qIE{j`+>XbpPF5@n$OFE)%~=Pwk%g zhhY#c7dOrVMum7fT?jfr~)Fy|oovk{~nB^v`l#YwV{GKigRk`;6zy^CaoZaZ|9#3W+WLy~_J z!W@u9Z9~sf68{vE9+ZUb!=RVs#0B6VmTZ~~1Rsg?2{;{*n8je>D|!40=KLhbThTiz zIfZ}jv-6kKQq(m-;;{{)1xofT1I=Jb9woSjNNn`ifp(#iqf>zqCRs{O-B3&5>?Omm)IL7pURD zNOzCJ7N?{OX#;0FE#15i);lX*bO%BuNSBj)JyH5p25RS|A5sO~dFf0JdKaa;{D6@z zeSxZvGo)X91ZtVmp#?y=DxKC0kSysKeL}OPp|n)xNONWZ{hCxxcb?=*Pf*x1PZ}tJ zy!p~9PoNjrq_1{^=yj>i2evGfhCBjBk@RC1z}%4X8bGaB%A`*?{*0d9*b?cf2LQPx z{qH~El}hV9K=ih>k(Px!(z-Mdy(>L*7a(O)4@&>OCoQ0lNV)W%TA)`-=k0`ORnp58 zaHy8re)a)Ojr7Mvn5|yQybn$d(lN>%Zj>IP{p)>cYdY|oq$y6|)GWPB%isfPQ6wa6 zkq!ibZ>!X^2ZIl#+vwEXCjEq>dF|3~X}j=9`qxGbc1Y{#hxk~!fx>v5Qcv1Hc1g=^ zTzqD`rQ2wO|3o_D4vg?rI)%;&JyK`-eDq4cq_nI)>ECp2?U$acgxUkrwpRf1OzQb2 zI1Ng(vmy47)Iv9^4NHTm%4S4bwH1S-(qAd}eoQ*O6H<&z_k9SO6H*WI(mBXnqv-u} zl*JYS(Mgsc1{i1AY|5o|kxg3xVO(YUC1Bwu`;PL!+-30;X7Z4EjbZM9>^OOrJ!PN& z1mk(j;?_gZLo$!!7(6U{c@e1i$g(LP@`y~c6dZhI``3YrpDb}Bs2r7ft*87?f7yTE zK*Ru<(@xkTP{t~OhR0+B>7W)Q`?w37f@R-ip%)@cdkwu%Sy~9lgvnM=AUa&Of`_@| zvbX4IN61z<0sVyRHr>+^Df_A&AW^cS-@!gwc0LCnCuMuIkSRtcy-4x*Q?ffNAn9q@ z4a%%NBYQszMu?TIb;saYnP4A4<7AiVb%>WahyaoxW3tdolx2?s@|-ODBlOP8?tB0i z7i69QTjvSfdXJ~Ov_9M~jS|4F%Qn+~tWaj9JjxkjKM&tkQM)p!AjXqsw}CJz4i(Qt7Xk~=+(&P zQz2We%&-gyb+R)Q>Z_NnzJR7d7P=Y|Hp<)@p~QWet^X>tZ;~y41WwJePigP;K<3#7 z*;-^(vp}s?=0p4Khq8XE0BDmXzYWNC*^eP$@ksXb4w$4vcBu@~KbFl1flQq;C*s>B z>vsS`x2*S7pg)lc zKL)uE%eU+Yh_C#ubb$EDzwiX7qjI0m(D=(U_JK-(eBoQ*6ezF$7wExq?j7KT$Uho| zEkfmTD%uQ__w5GFaQVi+fpA>zyMxxhNI4?{M5E+7A`>lFsi4y-`B{38PRlzV!BA)9 zC%OR=CwHSdk$Cyq(=bVb{5|sUo|o_X4MZ=d59PyX2_i>Njg)mrK5b7oc9HqYRjI z6oXyzZO9(7>y|(F5bU4GFYSbcPvtJOVD`u>=_UVIiTNT|0IV5j;1Js7)&j$l>M80Ml9_*-`a}#r8@;^CHdtCnKGbl45ub_Re zgCf!kWE>S`w6kzhZ0AEXXT=C*=D8>W9s<%;p>4sSn?gz{K?fA$v>JLUYN$fvpkm8c zfb>#KvwaJ`-U>E(_YWz07eV~Pig>z2$49Y??om3TSV5BdDw6Cm=ch>83Vn|%zW*GJ zzasTCSOh4xB}1k_#f30vcuXzK=YEKR*B}aLVW`u$%^Fl`2RDz z6h#>QOi~qVufX_M6y5QdOjBgHqe)k^ehd~Fihtbkqsdehtq0Mo3d1bSWhq{uyL+=0 zdnidON3qKVgVz*xFGJB>#r;0Wo2U5F7wGwlLJG+gDBht90YyJGOSQ6^+Z#t*cb%#Dn(%fI8-a_xG-0ZVioN{Y_*ETM}bkN zSV_^|dc{w)HE&RK{)x#(#q~2AkZSFMm4lQ#AEF#Ip%<#$PMP>&%HPOc6|USu_q88a{_-x25TWcQchw0c z*9s{jm8Vu=FiLrY+*Q%a`6Sax<)9o?VwC&xD585x$@l|&Pb*bT7(JtOaYGZUY^50N zS>-EVLG3tYayisaR37%m;5j9m*1z-09!dtkpnNzFq9rM>6@&IgrIgOemz2}ypm$m6 zPisxGva1nzDN08+h@~nwQS$l~yo;27ou-^hoA`8PsSz+4%Ks=1m#IuCg}tsSCsC?( zmhySZx64*8&Vs%<%FN|pcuko=8TGl!VcLA;DL;N2Aoe&t}6@wLQ|;x zl9K<5lob@JyP=$w0@B4w+Z3r7XFPrc`-yJ&br;x$`gB`Hph! z2N3wKvUWLoWy-6|0CG?H9_4|RE0bvFR-wGI3xZZEHRQjnQtqXEkZR?kuK-e`JY0am zTIB{66s%MFdBSS-%0!f3;Qv3A+g#CYROS|d%zdQ+MZtDWO3%}fyIDCY2^bHQdnwubdTStGKvaV$CRya7~2`y39b(kS8du*%d15FgbfS~-rW)=|QYuWB3ZY5i2PmqF~P>hA04`Kz|k6?Ort z_8JTZs(Nj7v&S)&`y*fksSLY7G+5Q~4SFFe*EWb2s#-zrvM|+;y$~i`^^qLCRBK}(%w?5R5D=18iG!F+QT0=NC{^_ny((8!N-v0(rV?+Z z_b**#rO---s{IlsGgaSFwCbuVq715KsocobnXU3&1^gUUJ^h5Psmkfy%vFs|!0LIb zH-AKvud1&GUV&=CtC+j4DsKi}p{oB5Oj4x!UIM%uDxcK=DOTN}XzNXtTPEHAQlgqc z%l<9ZzsVRaRlREuYIjwe>7-hw(oo>qS>QJScOzUp7 z>KJ)wYgB1+@U2xfzXoD;DmTi>saGi)VT1rh2f_0(gP7kzCz zRc}rP?JiYVE#&Q1#k_^NC#pSEyYf_Zg-R8ARIOAQ(yRLV5~%dqRL{mhv|klTS`4Tz z(p44DRN*?PJ*aY`L-3I5G%b9?svmhEI-=^OJ26I8bIBt%rkYFXDC4SAw3(hzZJr6* z4(dr~K+I7cPz_<6)E(qCc2#flf=S%eHj47PtKa?}jfdLyMmabgP)lEe6rO57%5prY ze)Sc6w7t|>0yN%g?$=;{NF6GJ7Khc=cR|!gy_|k?N7P#qfak0JZ~++lsbBmTCON9^ zqHHIB^%_e23{d|@i9Ug9{Y^-COs%Ry6QmBKk4UikLmO4jhN#~=3=u=sx2a|>Ont%z zhT-bRi@@Tz+C-6(2(|Z1pmsw2D>oooT8TJ=lh&#zPW8!%U|b}j(z2KAy%Xd2b(MDV?@{*TPu zq&`b|P0eclY!G{(eu@0kwifl;A7J2Cbq3WVJX9CZ4RLMiXYZqFSDQ63_ak*IL*Md94170*;;PzsO795heVF_ixORBiYj413i7{RsBG>d66s>{D0d zfo8utZ6?GXP|N57h-WsnFFADv)qDTOU_tPZ(409jVAo740PxD?W<^nYM8#26VnkA%Yux3v`AVV}8bN~s} z?7%QwvswfEuNi%IB<}PdYkykTW(>xhE zrD%ek&`Z^vBPab8O|Tw#X_{C1(M#71lHVpnQ+f$hGBuKDKwi}h-2|g7&5y|9vCG!P zn&|z@(FEOw6xTGlq-d_@*zXWAPjiyo^7$IO-Jn*WiCO|Fu4^)MfGpIkY5_=*<}Q_A z+|Ud?4`E6)yI;rPElq_PR7y3b%Rs-ac_k4>xT6tQf$v?-eo8_p(|j`on)ft|Te1JO zE7v%61EWF{{}1phH7xQLRB7~0XsR{aegJ5V<`Eq%YBe+efQEG%4+^f=YkFww)u0j6 z?Wc{J0NS+N*BssmhD{nRIT@QZbKZk!4>V_J7u%w_d<(W{)ug?F!H1e5s@J!*X@V%D zw_OuUQHe(yudSHu(CiGr;A4&XO|b9O2;YLDU78bAchRkRZ7~==(Y*5_s6Ev*l9Rqi zGl?E-uV&_C%=Kw*kPZ7a)P zS}%H;L$rAP@TzIQru>F5?QU|?hijj!!r*c3Ys)}0LhEm<$LI;|$FyWcYIBaE7p1-R z6iu{NL+{^7?PL`&VzlEFhCih}45zu>Y3)`@uR5dM)dY}O?c?PT`>d8j+2?WEYVya& zYbR5*C_%fAJf(@+*_0l2PWvze#LjCE?M8D!>k~x&&m`@=KEPbmR?~L!lJ-Lt@Gol{ z$m5c%T}|0+DcW}_6)9CK9s%DgTE!wjrfC!Z1xUKqoqm=XTE|?>Wol<%fofN^)5vR; zqur*5gx9q8lwy{vowNsYdDMZ4?zH-O^^|W3W`apK^C^YXhhb=#F-7DO9_wolhRmGVO1a zjCxPYrn>5K?GQP(DzqNW0IAd-!WPwLSEc=98z!r@LwnHFXoD$QRjb`WC*wNp%&8Eq zUVAeMayMutk?1vQo9JoX*Sb<^Rg*Sx3WzpqJ!>)eKpRI7twsCOd^D}vh2$cAsLiIL zh&FAj0}$G^?NrI~NNc(e4z><0=PM}sSQ|>d{!Z-`SHN^>k9t70ZtZ=_<$I!iM9Cgc zwL|X!WJudZ)zZV-Fv>a_(Vjkl!BOo^s^1&aUOWKwacy=9XijLwW1!-otEvK|qppkI zCKuiP?=a`8`!W`dn@zX(I>d0-#cfC9q4SA_YzK6039yBy?r+*6AJm=92dI~B=rMYS zb$RrK@X<{x0nsD6gJ%KhtJ_CMH9uX-Nm%x%ZqNVYq`I%-VT1tPAv%f&>dt%zkYl>8 zt7w9Bd+5^;tg{u6<0eEmRR!yX>TX^FXqfJODaeHDW>Wy*xb8Il+ew}CK?oD0+dlvUozi_wiGineQ%3=LM)yV%da=5t>p=Rf zE~*eT<8*J@k|AQePQDkk6Li6py^yFYM_}0QoGw}h(DSt}u{E(!EYed>3_a zZs1kX;a?{3s_3%pVEklVO&$hQbQzyPid5ZB@=;#VeM%WvX}TTBppvfJ^eIHk(Dg=u zeWq^W9r~4B)$O9Ihq83vYyx7o?yF&#Bu6*(1e$BQt6I>`)oqUgMxO3{ibCe==1_)f zfo@qDde?R8D6lBhJ&b`aMY``_1*aRj=vyFNtji_$=}lcZ1(Zs3Tk667mafhhwkXwo zxPjik+qwk0FZ_;f|5_m4)y*I$f0=IOVyJdcx0JH9%5~lJwXM)O{Q(Ipb!*=QnJV2f zf6%Vh#Rq|XjZQ>a(Y3l_tZH_3y7CkVQ?I-H1|)3IY3W9*MxDVM9PaCO3}diKS9^x? z&zf~7UxT6#bPM)_T8r*^a^$z_)-MFiL!GY#QncxKkHMl{cX0>UKhkxQz8$)h5B6O~Bx=w59ELa*-aP2k(7tERHle%%prEDz}Zp$azJGo40{ zc2M`{)noeZ6_^XszesgU!Fql^v<}hRN*pm7s-HfNCQR=_ z&Y*C8L^5a}*ALU)HbU=Ce+qR%|2CCBMe0MR05MAM*9|SA^)tx>e^S4*2!k>DmsX*7 zO8-?6#6GP*cm(D;qj#rgAFKa{j)7vid9F6c+OFiDc$xDo6x>hF`g_>z8;7-TN%uaPe+SwHR%?Njv6pG7ZKf9E!y z_7(jHYr!H-?@CeAbbT;+J~H$Xbj@m}KBWf|Ue!mb$^Vk2w@^Z4w*C}-eRA|YtAKw^ zpE(9jx%%afK+MyBl7qQ?{n9Ovw?Lop3us^0`@IV?h5G!Puv3w~q7>5K&~xc&73=3x zXym4Tgt7oi^gmNj{gyuMH;^vXucmCjyZT@S<$spx=lljT_w*UJAxydcd^%`X=sn1h zQK{dy37}Q_h|kcg)^9ru$Qu0!8|JFj@22;*PXEsbn5);vzX+2w=!FzXYSiz(0Lc6L zXLL+&(&tdhNV9(1&wzZOFW3lSTJ#J5r2Lmw{Z{gLKGd(H3XwMbVLIxy>)%xY=8;~h z0!D}aA96iB*1t>D$DR7W>8sbJUq%JA-TL?kfPA9oB!c}@eJ>>v_vl}Df)c&@T5|dK z>2duzUOYYX6$}pOD`-poOy8*lf^AU0loq}r{YR?+GptYe1DrA)n_Om_n3aM z5zV-Mc{%t_=wrNr=wNt{?Br;Or<7$UL-I~gaW-u5fG#eEpC~cV)v$Ish`Aa3=}sAU z!}kY(=VACL1t13ui^?H|r_FG0HSBfJkhd4Ky$qQ{=y@A{r2zUNL)}L}JZz{V*SnA5 zEBdqTBZh*f__6sK=9yr8Kf`tk-W)Zg(W2^aSVT4qFdQP6MWA6Wowbe`=F#yp$S~TA z!C=FOeUKu=5dH}`gc@vfIgmTdu-6`w;f5!^7(H%SL>`C;gTpy6JYjf6jk!pJ?bY_8Xu3_*VY?)_pO~*6HH~dGTiUNZx{SvMl#hUPF}R2Y)O0aIz{-UmZf87dZmVYQ)tEt(p`&%Z+6T7!NNMC%Of zK9H$51SG*E4TezKhBg{1r$YPthVXj;X)>g)Mz7gWdj{G+Fod-Nvc+(D8>qAzMv^K1 z@X)ZV5oFp7TTPI=-O#)WQam!$eGi5mhR9rq_Shi%3v-=@ClrP3G7M7atJ|PAgW(f{ z8|nMh&_hWRJqFVk;M;2$qi<24p{p0{`wicJ44MOm&*>2R%<%EgU_WSRn2g3YWYCZ| zcGzI0D(?}4Km;3 z>w*CqX*@#ig(zd)62L?o?~rfwr18W9^kR%mI5haX=5v$=+78WQmRX=@lP%0 z&Kmbs;xWe=_fS4Zypbb;^a(~>Fn~ABC}yEKXRN;s(aswgwgQm3U|dg; z@nyOV?YdFH2g5?+oY^2#WL&%l*1KVhqYR&786pJ2t`Yb|L(xxEu)bf;-$t> zH_Y8O78o&i#~2w8mF^mKr@_9=7)41U_l$>HDF3Y7IFCwTDvS%Gfl+DPoeb5gjIF&O zQ*9i+hQS(RF;!F48b237(K=%meT3?bk7-eCFiy~ZyU|!cX<7G;ub9BF$(TO?$Y!H( z3dDY3{LBYUi?N0dXRXF}e*w*h#*e1a{a#{sZ!H|9?Q!$-!+4eMX%KgZ;)fIwTDk zM;t(G$avKS?1zmB6nY*py1j@&+o;iX2D)QLCpsaI8|RSMY{EF60YnE=Uo++$O{?9( z-pO?61R7^k`K-9x@Edcr+F!fX3o2Ti)A5h|; zNx%bpFVidJU-mXF^8vykn`s^GDi52ma^O`nEnEnUBc|8L8|rJC`WaySOkr<8ile5O z=kY7?H)W~;8DRSEDOd!WW-)<&%(UeOdO@aJ%fTYpq^1~9h^g`|42GJ-q(qo0U=)Ml zrm9O2=D2CqJ7^+Iw$*yToG{fnfp4T~@r!t{QKqDKfe~#=9D{}@O}EJH8)KS7=00VL zrkl%7o6eK>_>8H7($Hc}>u585*0k{uK;lfpCFsSQM!!UpV2UN@Vxq}NABuA(N6L~q zZ<<1}t_!ARHfobh?Ufk4XiAlU(kSx=#I@mDVR7yUq9Mj&{pyxG{C>D0g zHAN-R`j=-?QEFYjsev-_3rwv(=v_D6`xy)iO-p(}yU4_w4n=R6eo+9V*c6@)zBf%D z&Vy(rrbI28TPAldno?5~1q^SSR>q=t$Mn@!2y@qTk}AN;FIe@7%&7y!uy-7#uoDHV;7?7gTbhjGf-#4xL3e=iR zKivmpvuS}3_&zXslFy;VR5cw+w3?pyf!IUSdAc3C&GaheF14F3%m&CK)6tn!f7@Z| z{t84No91+YQ>SU?Ou%%Rj!?v~+w?NkzC1B0Z(#1JY5i}2>@mF=iMd|W@$-eL86aNfd{WTcT)Z2`J7kXh3y_Cx=1b>bAs=(nQotNB ze@h++UvnVA_?fp|gosDYLB$~BZ#Gl4b$~hB8GHlH&yPThW9Fl401{-LPbCMz=7W^i zA7aiHfl8=(N-Lg7n7MQWO}Kf}0t_BE+f(vTgt?s__6f7?t_XZ1&70{E9c6y{|11%6 z|NGGQr1{tjU=d@!K$k6?GOw7x;Ayk&ID|Q4zBmrNSaT?O!q1wQegW0u%;AMFLcF=9 z9&-uitTZr8G|O8d_Bpfj7Z^Nm{+fdM7t9|rFqdRLZ==-Xi{^pnfq%)&ps&wm^KWlK zm}IkGKa@!^H*Es@RC7%@K(3fQDFV83v!2`&NL= zQ}Z8hL#H0I4~15G&9#vr+Gj5Q9FYBHyKljF!0dbhw4a$*`JgvwuKNyiL+1Ilu&Flu&s33`s1KcR#d+qjuQ$;K1rz;aAFSiWllqN63?Gmvqz)KCc7*)nYa zJr~Q9&oJj|8KPu=H%l~~OWZBlAApR9MM#%wAFxa;0WnWYJ>7$Q(6YZC=JK*cPr{tH zC6yNOLlzdDj1OCQlc1oF%@Ro4jU$#jbYk?i7)T30OT-0W9JO>%q|x89I|Wh%SdLTr zTcD-L7krOdQlElMkR^k1pMou4E=3b!VMPKY)WUN`@3^Hl1|SiZU;{{>unc|#Dv=fj zB^yRrvgn$DXp7BA&Y6>z)O0Y6u@uT+np2kVC}%6yvX#7TXDu^EF&JlAzYoG(w49j* zgiDr%bY8t|*-D9W$(BQuy^~^Tqnw;n%Lsv7v4m3`F3l25=_u)zZv!AjhQ*Ic)iW(~ zj{xMV#lc1wGGtly21C+pOM4S6n`7Da9%x^)tXqh=T+938z|XTRB=2Ir#ho%63M_j` z{Ogwa6x1)YR8knB$YK|d=7vSv4@HYDA1nmTo0gfB6k1{lri-y|S#JFaDy0@569#Wv zV!x#I?~dii=|H?|v1LQ3GRsa{R_<9$rO>|IvYRplDl7rC1*)_xvj=3AWkVxaR9iOA zg4#8fHz@d1Yl*u8vFj|YML*E} zXAdmBR9@O*aUthut3^ErWFA^xqMV*K%Y-Lbv|GwQMemWtgTe_N7D+Me{Mgb-e^u0J zF~@^im*opTG~Jdpc98IiW&an@_o*e+0fRjji3fW9mVdj@8?a2=NAt{5)lBt&gO>PK zuphDnMuFO}<-ymGV#Lz+GBg~u%=rO>W0vCW;5%;VrZkBO%QqAkcCd<8W6se!_6BG> zSrf)F=xhyq1CTD(Hg7bp)?Y#(jGOhC4CZ#XZl@TVhc)SIus>j3@hvp7d0Lws0D92s zM!{DvtAqmR-qu)3<~d~bP63O<)^IBF@v%9?f~B)YrX+Zu=R@-XhN)gT!4gHw~{+Q%qssIy>OfLl|LZHajP?ZZz8Pg z$VVDwU8INh(bk>YF?iBCoi>Lt)>WHAqgib)teYaKX) z#}sFsJOX*+t!r*!Fu}S(15Sxn7F{cJ&Z;FR#d+(0ZvgUw)%G^|nUky^ECs`h){T21 z%q8n*CqVSF^=HyB*;*h5Mv8T6AbP3R7f*oN6{~UrgK1WGKj5WX1#5tpVSR&AY%;C8 zU%=p1Yvsp~KFexPIXT(Z>8pT{Yi*hbvGc4g8$l)Cnriz9hy~X7>AQa2%8fu%XdU|r zG8I`@`=YsF-B=H5#nyMI!1AUwjS^T&tlQ4w8Q!u!|2;rTt>01Q>TRn#CCuExt&2do zXI;D$2<29LN~ox?YIOjqw03+4yejLFzd@ziy1OK>aHd_A(1E>2|m;b*&*2CnFXtusWA>dZ)>#M-xq4gQXS=+2L=~AY4YY2S| z9$Dv5x?hLYNFJic)&U&3>^iOYDU9A_-Bj`l-oI|^5(+##vHo5U5uaL%(!svRy75&= z+G|ZK1E)SKV-kA(R(LI%I85fMtiR>uN!JuluYZNYZWV}3w z;(z-YKhuiHiSa2dbDSAPe?l1-#zG1#xiZ3un;YW-osaC!XqgLo4@P?dxOp;k^n&tY z{6;ZnZ^o=N*z3bMMY|kd#_C959$+ka1(N(2ZKKf8pD|wx%m7AEGIR=Ltfs}g{UC#P z3#dViG}_T0VwC=a-eATEJ&hrZ>y&$cm|-GUS|}snUCd<|BZ}7I;f%u+DU4v`EWva~ zGXA6llqkl$CX5|pY<&z7(Tox*`ix-=c7sbSBZ`(sag5bvXdP$pR)8+v&In-vo?!gm z0E&~0stjnF!1!W0>`i2-*$|P$h@woYWX6vSV5TtUP{=Hm5&Z(#q%ji2(CHMzK&3aQ z8ILII{S3oI)t>1LUk`A}VB{RY{GMaXr#*NUV;7aUpJx;;2eVv;-KYn*JjMgck;!Kq z{{&_iF}|lbLNVh!EjKPO_WTGo6%2POT&iUJOcA9kjFl9CyUJjZKca@w&;l;Cj2wFH z)G>Tt#8h5mOpx5`4DB6oX<#H=frgC?Pgj5@#(7F>Y-N06KL$wD?qr;xbxIdwzzd+8p-)6-4`Y!d=JFO}Wg6)E8L$2aFu-_;JZg6t+bPU6 z#<)mHc;k#?UqIjkhU!PKo?yJUADs^wy+Od7WMq`n`tvd47Hv4E7$HIoPBXII0roSw zqfpI>`MMswotb(H*|{=*9D&(x%>U@f6?f)I%D3}m-lcE47js?{2)vmKUxbD}%%TDS zU*~^o?Y;(=m}z%t(4c9blOYvxqVj(wH~N zL3N55zYJring3BB?F_T>ZOmml^Yaq0$zXPQgLfwL9SU}xW&T3Gopa1AdXr``um1ZeG?|`A#-3SfO3HK4c%6Ltd=#H*Z|g_ z$3Y&*I=a9P^$)Usqu0kF*5|Z831-cpWp@bcL(1bk!n#kz=|@?fT!2v47hm8`2xDFS z7y`ptfpFk6 zmd7Fb{+(di?t>zM<@W)YCbA}`!6u2dcO2qVSW77(Bb7DU17p%yZWPo%!|I{3o^+P~ zBPg1|x-uIelXZJDFwe4HqjN*gv942w&Use33|eHfR>p%ohxJDv<~Nt+Ru1w!mU77g zJb(GDH_3-q$V!?(ZxL%_FbIoTz4S7ANC&cBkv0r1Y zpj7MYEW=!|sb{StpT!N9FZqocSi7j2w~^&O42mY!wd(-QtexR7w1rhiZv9qP-(j$6 zV=cCTuAQ}&_U;`lPAO1svi4CDP$z5Cj{se)+2rT#VZB37YA}O?C z%EnA&EE-`w^%uY>YbHJ7cUh0-Li_uyhubjE zW2{rpL5p#giUBPiu;x*mW`Y$-JFkbV6;bG%WPMDIlSiyxI+Nxx%l@teBBohi{)(w_ zWY?2Zc0b#bJn$~;uoY;zvQsGF@5WZWik3Tjw-CyBu*bfHqMq#dkJ0jCr&5Bf54))! zB7E8Xl&)}q{WW=%{n*AnVEVI%euAO_Y-}p21C%Ws&MvM9cNe5dn%s&j}7upuo;x~bCSJUNcHatY!7EhN@O<$;gTe=1$09s zvuBk-QVKivON^zmcT*-~8oT)rxSeAEZiK+o>?!&*pJD$|3xag^A}ZI)VBe>-kWBV2 zie;W^$1><+7vN(VNH4O904cztsd# zz^cO;#U7iRlirKr!*LZ;)-T~E0*cwXKzsPRTK}0FrpN@JdW4DAs?q&A( z4j8LoKj)0jN_IR|N?c*ra4}ZJK7((YeNHty*AF;X*_W!oyM|p)(a&1;`xn8xj$KTt zyw}(@v`e|pZkPv@diI@RsCI+h_$O3rU`Nu+q>(KoUt<&7b0+AT*|Ha)Obgpc{^?fs zqG*h@u|L#8?RNGhFN}4t#T3P`-(=Tq2e(dk>`P$N#jbyZ-fs2_XCbMF&0?a}%a(hC zX&*bq7gpS2m+!+|^s__C!EJ#3Vhd~(Lrv zuZ~7*l+A90_`B?$k3n$H&i?8zNE&B%Ql$R@+pQO^33mAov>vh-Ujpw*cKsd*e8k>D zr#wGq&;A-Brr7E9QJiLn(QCtz^AjZ+PmXgnRP^EmeGT2bIrVoj=)-w+69|1d!BiT2fb%nDMEG%v z7sCpF&KF}~6TsO^8}mSpA_n3Qa@qnx7sSb>8ihlgAzE(-bEe6)6T*3pX8kZ{=3#&% zoUW(9>?nt8{|PFFa@Nr~k71mTD1Z>oIo*I(1jnHV3P*DGQrsho!}tqh$2j@VKzuZ3 zst71CoYUJe7Rz}}3N7L|8+qV;oU@)jTqikCkk>eYvxZi69A&^ME_m4a+% zId``}i*p=r+5u&8KFbC9c}`ghTG^aEv_;I}Ec+Jv=5pp!g^a7`f0z)O7_H}4olQ*XUr^CQdfJi<&v-V$o{h1TO{CR!$Le$I)_RXPd+9lN%vta{aHcqSJz>l=XWbuQ7?&}+%z8^P~ zcKiO^?e766fa^rwjXTzVXl}+v zSQx|2rt1{T{ogFejpIH`a*uP>ThJNLHGYK2Kf!&Pk}ghiU!ZMK0ymmYen{ksDCr`J zo7)Q3$=oCJaCuX>ku$(0m0L(zaA{m5W#UQW_9*R;beh|5fZQ|O0J_W4xe`jc$lxZ1 zVTLlfZxsXeEZ0D5>T_KEA7GlrT}`Ita4VjIq+IS!%D2noJ|GWzKDRy;pn$t90?HI} zZ_(L3Mcii<5LC>a{0!g%_dhlCE#Weylz(=S>p2GkOSy)b5MRb!dmSp4bAPme%_VN` zdCb>k?)N)jeFfL=L$oTn%cz3&3O6MVHdS#CbYrZVTYCYLu5#b+fuc3s)s%oz%RLYa z)#|v00Dx=Uwib|I=lW2dYdtpsMSb=;H@Jr7;MTzXj!rOYz_$~18oPzh)=cL9|; zv~b_u2#Qv26?uW$xZk#eTRZn3x}qK2d-VOg$;~MR?@sQwe?x8;SKfayQbl?jH95Wn$dtmcIhk#<(L@7#rs*+%WcldnO5LPjJ2Ff!Raux36Mi zC%LmfgTP1J&nd3-nETWju%5DW-=wweH226RP&o1)QxJ7OFJK+?cH+IE0HHH4#uJ1t zyk#u_uDn&0QSZj9Ne3Hu9+N!b9=ue_ZS&-9Bxku7Z`Lwkdh?P}p|%h2W;S^G@;>%M7rAm!p-V@la z&k5lb(vILLZ;Z0hLV3F-7z^WlLYcAQJYVtvM)1DhjIl`GDthjtcpi0NeT=tZ9wsQ7 z=X)CDF}%Nihla7dKkT&ei{n*0VemL_#!6@!&--N!a8B^#bXsg8FV6vTlX&(|p?5N` z&5E%U-se>KkjmRci?lS}!!nSc;`z}!;WSU@1-di5-Wgz)&Rb2#P-O5{(Or_sbD@>_ zS>A6mfO3v^DTls)S-j6a1DhOP>Uvy?T;9WI2+ZT3@R!MmP!BMkaB@EpnI z(a3Y9GZCA3-_QoRg{Qa<5v@En7h`R_4NTB=@Rm{x=O*vtAAs4(lVw4tZl08)YCXI; z3+epbUfw}kDfjal=v1Zwo|qOdgS-Sv!ye+T836CwJmxRZ=??FgZ_zo-+es(3jPO#a zjA@kjF}=y}@{;L8aF2H-5?b8nCBF*sW4ty>wI1i)p$y^&yv|mPP4GVL0(i(1Rf3Cs zk~iEA-5&Ga_yqJ*yzLrjG0m%>WrHJsc?itj&;M^F=$-fzLtyH{A8x?KbLC&9u!|eN zg5H)M{A^0&^yI&@9aqbX&!zj=m;VVBjUC`moC1L#|6hN!{P}5};1a-pMTO2lJKy01 zdJpnr>4pm8|1}7O5Apvb@ge+W^i&+?bKU~V5&pGDQ1mGON-`!WlyB%kD~!LB9{+Iu zZ#4iB{J4Ffi{$@E2lGVn%L{>Wj2}TRxM;qK#$x%dpF%<$|CLUl9Ov7wgh1{IKASw3 zC;6Nt^d|5((84p3zb6qCN&HT#=}6`ur`Uc5zb+m0nf$F^L$$N~&6J07j-O2amn?q8 zKWLrj|3i+5Z2otYB$C7L+KE;!Ur(OhJpO6&0_F2(Ji=H3KhT~G!a{xpxx|Y2){_ue z%%5Bc)C;g4s3rWN4WPfskE5-8DL;YSk!Ac69_%gWd(uAa5`SzS-Q;{O?T#w=k46A0 z`M-YvBd+j2`x?_##a~9D#cIA*3JF*F<&-;7!~gdPWm(noLz^M6j(`0$z%{YVA#cF| zr91ctc2FS8SFn34=ne?}yn~kAPaqh>pugZel_LcR{3u^NNN}6JJck60{{y#R!CMgk zM+7I!Fr`NY4`?A4Dwr)mD@^cgCDaZV+&vGJ2!R)ENFoKLPlG&4u$dx_#{~HSkPt0M z=VLBn1fP-zFjf%nhR!&yoz2Hg&p4s4XQSeGU1eFRFr=#o>Sb;70xf?KpBpA?O=4H>$U=CvbrU!+~Dd-d=9HrE$U}1MDP(p+oN}%>(;SW@1azwb~X)rq~JWHqZg$mc7qWsS= z;j&Yp2p6uUt#O3#**<6yDdc>GnTZl+FGcH^aObrnBG@Ca>-(uIBNF_s}b`z%z;6o%!3;;iroC(xf0ZXh4$d0{C9l(U6j zQ3hj<2yReIrJvxN<$)$W#czYHU?i4mrMImmm3)pTZF zzi|6@j133{Q808+SpFXr9TKi=1DD&vlyFSR9pT2O0EUGX_9r1}L@1%p_o#601#r77 zl>P`w<3e>D*gOz!*^kzQ@Xc*d_@S`*V-QRVC&;@oB`iDx5!1p^dX+kgyeP+Pzli@0 z#+*cDb+F!5RImeb-9(eLo^ls0xP&ne(dT(k)Ketwr}&?j$gm6a-lAVA8gW1r{|iL; zi8^SNik2+L*g=uC3v|JvzgxjOMD*Dv%=%%`;dlrE{>JTuaL`rf;#)vc}wEm10g`R}mIMKgFQ2&JJ-~T{yQZz>O zw+W)HIpCHoYWxknQ$+EURGKP^bBEm1qJBP|S3ZH9O73*i;AI4 zwP>LSI4D2Ub|H$*miNE$@n z?*f}9QSOHT&7y~9NNN$;=~A?cLa4HMw5S`qB&OwoqHlstL_vw{%TNJYc zV|PUVZ3O*@NOKWjR8&mSm%E~3Dv7)&%AnxSebHZZyw{j$Hmx(pMJFj({6Mt)H(*YP zB9_3iN1~%gG4@zwe~y0WGbK7V3%%2#GD`Mv6klC}&i&%FeBd~V3nszTS^Qrn40RE= zQ>Klp_=`V);x2ynUoiC$PhAC_r}$U;WO#`m(5K2RWt zD(EL3-38z;zH8?|Zh-ivI|vVoXZ#PnLE@{lc{n7#ML90P;>b0S6e51^HFO>p*S&?# zBjO*2!R@Gc&#$<3Ld6GCaP7jy0a=h6A>QwaS&I~_UV=_h;^#gA`7!bQK?sT#cTng# zMqEh=da+_=I{p7BPW;{n;C({8el;jgice56aDw>d?*S6Uzf+(lNi3kqXtH=+Hl`#+ z{Q5gEJ5@YNSwm^!!a|Il67LGa*lF?VJJ8~cSWbK4ba5O7Gcv?qkOv`CtRDpCS@A&? zP|k@LAt$6+rJ&uXl>8HK6Dcn<)gwnvB*-i65O} zm>_wo3?dRGG4$m~lE{yNJXsR)8hEBi7SfVDRkFqbm}!#a*Xa9qMj|G!O1eaH8Omfx zO7!5CDQV$iy3b1HgaVwCoTIo_mZXO^h36%LI)H3R?Q#(0NaEK3C0BCc7jVgw)X@nW z`I3)rVDbti|0F?fq2x`v+C`EVX-8cw`92>g7bK|%=>MA~lFm1w=|xEjZBa`lZTm4; zCh^@0f#s5LdSWk0?i_^Pl@j?4bY786JOj0>B*PSTsg~5x0`RKjMJkJ{kxZK*w^rgq zw@001^&3#_nnX6S$I44CyxcF@{qKvGF>(m{!9D2%WVNiNYR>$aquf(v&f$LW}aVac9{7#xxG zQVeNS^4_0l-IZ*aiLrZLrbKlQ zY2QV#@sw7)3`{TShiw4f(pCGQuaETnB^&yclk+)RI=u%r#Yo5LII~!(IvF5N%2^2U$E7QDP&;1wH|=LmNMF^1 z%Sq`5AMi|&7W6`1qIA1G7Lt;rUAsV-EVVub71N|oI0NUD^!N}&oR;Q(1=KUr&!`SB zU3%qraLbVXL9>=AjgG-Qos|xkp>?DIzYB`?GMm5N9r02@ww9a zdzke+X#@o$^QDf3l(=0W{X76x6iQ!u6Iv8W-RZ$Cmi~PQ+%8BrQ{=ludOZ{r7o~q( z0-I9lmT!P^NgDnuL|m2{a$s+TbgmqomD1hS5O_t}zZa@iN&li`@M`HlG;3F-&sTs; zjdT`y4r`@diS+-?I%$>*o`S2hrIi zoi_$H&C-qa7;BLxQ8=Mh>PpMV4rwc;8{L$;w879$Y0^p%bV+Ne+__t-{ti0zNYm+F z?UhE)rvKmeNkfIO;+FJXKDhNuE7Kr;Kw3|4`9bM3UxQ*u8cfG$+?J-$&2mS&z7+Js z(yKMlVnq5c57v)LjW0vQU8yM_0`Eyn=zDNqTJaW`jY+E;F~8$d$BiI(APwbXY(o0; zx8P}iDD6xDw@Io0QlLJPE+@SoOP|e!_$g^CC0p&61<_mDN!GFeW6rX`&mqD^W~MYl zSJ?oik-Etgl(X+Cdq9~sUb1M4_Ik@U9Ko26Y&%7Ld}TlX4sbx0o`z08*}fIHTK;yK z2W>L~Wa}xG6DV_|Ao)Srwql3~l7(ys>LFRuD;NuwsVKe_A`?)y;bB?UEr27k^lYFU zmCYk}O1NyD7AO(2dCy@=B4xjR1q-8OUKb$gnCu<;>_^K=448x%S-%seGFE0^NJ-ss zvSqXoJ1)Cb2ubm>J4V6WjZc+pOJaeJ3C#*q$8y=WM8HLB~vyl1U%2m26kY&&dEION5Cyh_SgTw z=DbYliB`5ubr34%$R?=_H&^!fTQJR&mG1?&eA#aTm{uSwSO|hb*$iLkR3u~W14^;% z^1mRzAbUWkl9k8?10naK?0x#Am&$fi1$dcEMeq8{vOHRbR>;oo!V!FPDrM~B09RyR zOafHNHa7rN%Wl!FcU6|K9H=$2KV4u`txP`+Hgz&9*?UbU`X9h`*%XB@>Sc?my!(c1 zYZd4kWM@8w+(wxw9n6|!qnVJ~EPFTzW^J-k8Bp3~Y3FJG*CG3r14D1hLcKxJDVs;j zx-QvDD_Y&MN(xW)$o?Jz=#}lK&v&2fopKP|k}YKbvtM?u5Mu+fZIr<=C==5PY)E#W zTyVE#yD5|Kj%+UFb`HyK?*-2hneq#88I^6DoP+1@u53F+Kkvyl(suj4tm;irjLG(n zz@~B80A0!lvfa7hJs~?v@BD|d!ROJMlufP&<|ElsCU{TFY>`mLQNDf>T=vU<`V^PK zNq#sCW6tuN_aV?l{xT)XxyzNo!1RzG_5rYa%01`{;w2BEY6@?8gB$erk^e?+MPKD@pPkxLdtN!u^0WbsPZ&Mm*pxk{JiXN1o*$EINpZ^5}9+JmU^fOrgPAob@ zX%U*%N2)PFpPDIKd?Z#Xjlb2JPVYK{visQw| zgZzOKD?h@(%*M(8peHq6{vzEoC**+?V>l_l%Ymc>`6-I}B+B2UfMK#c#1k5($XB?7 zJXKy(hp{yIQ7XJWC7*o<2A+}I7g(W2y8P>Y2+WX2Q;JQd{6(s8JS#UIhfY~?hj55E zFaOE|DB1D^ibvT`1>LDtwWAd>XA{`Mw;Wl*s!( zg4!45|Bi#aR4%1wt4tnkr`1lm`~ym$zAXQpg6kFXrXujJl&{+dy|2hWnE}))dBgye zxhns%159h=p&1ZSD|aI2W}RF~8S&TTY4Pa1Ay23GRD=8_O5|vi>u9^(B#)v5=4SbJ zDrIhwH+}|!R{6g3(B=)5D}dKj%?`H$2Zkq=PNc2xe> zGH7^L-V;LW&-?O|6iXeG&!H;0art~ow40Fg$XW4Feu0*ulk&IPVEtqHY9U%v^5H48 zrsdj?(Q;IriUz@cMF`cgIw@L(N6nKFU2!o zQT?B{qLvFoeH6E7W8$mWF9rPp#WW>@`zi9$V4=UlNS~|##rKrF6sUNK3gHea_$R?8 zNU_uen+_>nyp2|{BKAM19ikYSz&ssRbb5fx5k-RqT#hQTD0UmFI7vS^3{$*B$rko- z#TPSy6QQ_7ADKwSj_bgQQv6Fnm}80@3I{|hMoS<*Mj==YLt_<%e}g_w(MJi;#}%_q zVlLwq1#Ey5ia)u)JgNAXs>Ko%e%mmkiHeNp0g@C!^z}|wbW=J>isB+w_@>$w2kF*L zQ#?lzrBjO1@4)7?LedG|XA}=RFeT{!HAOyvJ8R}9gCZI=|B$1v@(V#ZSdR}{HfU|OX(LaAca ziYB_rYZP-Snoz57r!=KHg{=tSy29^U*jcX#Ukq?VVR47}21S7Vb)YsXW;_YAn-r(` z(5+cv1cdKG8oj=j0h^+yecE!F9$n8+POUX-}ioBf|>r%9kKcibQkqVR^ zMdNaq)T_Ai1X_Ixbv`8BQlwo3LBFDf(n$ss;uL^E#hQ7P|1zZbX$!z@g=`)u?kG~2 zuwqy-gU&G%-lK{#`en*pMgCjhc2AK`>!SM#jWfiLDcJPB7*|{)FZn}7GzXZI ziiSwgJyLX1q48tI3;kd{rBG2Qbz1Qand_+hs)Noyb5g!Rr5(=7&RH0AQ9ePh9akln zJX3B;cR#e;m48Su=ArDT)vT9tIu+u*mAmP?>!VaqRNPnT|2AgrfHIKWuYSt5zaiIO z8B6=O04383%s{1zj@Uh<{E+gCf|bv;(D^SR%GNWWIII+X2%ICzZIQ6)s51L`a0^w= z4u%$C%1^hTGhF#4<(5V$1$6BrmEN?;ic&6~0b`CS>o$USwDJKxzA?(Rf1xv0IWhnc zrxXofMvp6f$1w>fl}}JIT!J#&2+Qn=O7kBuCQ11_g)ftppEpB`6y?!efK=sPN`pyL z&ZWfdQ_3oOiJexy`Yj}#QFc&zM!M2#FBHvCZruppnaVzAT%WVbaPl>tQ?92|i?ft( zP$utr<)@1iQ>J@^uwHqP4u!d)Y@|?ZgVLWi zXN}54$~bFMI#GnOSy>PO@)o7*IcVRiR2VT&ZOX66mE5lUg33)gl(T8maZ`EwXN+|! zGbo3>ODUKG@^0mKb~-1kN9pVhrFxa0QPp#w@-FSQZYlRX1)P4Rx0O#)4Csz>&0;VeRx+rxYDBr7vS{up-`fwm`^vowF*c^OlZSO&Iav?7 z2g+z#nNKL)f2U>lBV{So6FgQ9(vvf#9OPkeTKO&Q6C72W`RLrQx>*PmC)Fz289S@O zCV=9iDxsx_tE%_^zcs2Q^y+q3MS7sqL$%ugOi$GpsRpbBn+rh%$T+CLst{Vj#SAXV`pFg>Jtojk*bRm(P`^N8vq<(eE- zee@XILREX|l@_L2Pg~P)RUIA87NL58g%jF_xjaNTKdbRRBfY&Z^WS;Auan`sM=I zWT}Gv0nV#-W`SF_>T}vu=BR#d!KKVqxl}@Ko=U9+n|##*7W6GpbOablXi%jH zLD#5S`x-!#YA@9vHLG-UfYPFRh60AID&8q5)28zK2lCog_G}6hcc|W>!)kA;*e?L5 zQ#FtLOc``71sBw_&;E5K&7H3%%EzL zmJ&m%kLVXxw^acNkZ?yeKr78*)wV;pbw*TUo1n!#)j7KhB;8jnDZylnsmz}NXIzy@ zk*Ei%?paWOLiPPjO#UO)OO!+LST#fmep9L^>tXM-YUOcg;i&eV1A_f(yB`#FQkSlT zPR?rcJ#@OLJ2W70Ra>J$;HLgSjWKt%aT3ft)KyIS{&}j`ABPrR>e{aXywzMDRP<4= z89>Wd{ry?!Jl^M|7-opn6?6Bpp=GTY|A5_336XJ)~|Xr)s!b@FH}IP%{_9 zq)7Gaa&U=KFLnSpre1gpGZU>A(7(xI)cRiXzr;dsXcMPi_Y%Mfbs`-%ep2lnjcH3z z9~ehxqWbV8xFxCAd=C0#bv12NQ`8^Rxq7MUmff&0O}%ahlsTntqD=48YW`1Xol%$k z2QKOAT&hFJP+xEcd8T?hrKA_AyWsV;&nZ;DHUJSt>SfLV#p08zfLQQ zi|UV_gZOfF4EgRZsnuQ(e_5SK&ZG+Ue*~`iC|s}Z(S!bm`u*dO+n^4k+|Wif zm*Trk>Sg3yX;w3eLEoZoB`;E|`c;zKrjC)p>~^&atR+G4i4do(@~Q^=U?yFNWTH0 zlO`t~z**C_0peXWIYx}RY8=|pa?|JppmWzOI06(8P0Ifu&{Oloa-eu=yK6rb#%e;RHdaPz`SpW+qHiNn5pWjWfMOqBP&- z;F=%PoERqmXS7B^X~Hp@-K}WFYP@eiV4Nm33EYlrp7REMyyh9oCpn>+@Pqm%HPMcs zPte$&hBAqo=NX_&(pV@VF%mo*%BfC|m$!{An_`RhxdT+swlc(_V4 zj}j}YHUE&W|EgyGhX6I2Zz+aTtC3}3tWNVORrp@hcx?yWbxp!BSl4S5Z-A%$hUQBO zZ8m7;lgqJDv-Js}Hfd&43RJV^b#iO8X#RZ$Oj|YLb!fF|J{baLyXKA#+&VN9luL9| zvojY=J2iY-ru1mCPoc9{qo%^HKFyQMKzB=%OnEo`8tHQw8_*o3oZ&&craT)HJfsnY z1Kif^sKM0S(O6dk3~N4a1JeZ~4VGNZuyvBv2!T2mT(@?(gY*6eFWucNko zC3M@b-A8GLPTC|o>B3p-O4Zsf+J;gHbk*ilB+E_9eHH@UkxmIKJhTFO96Yt7RD$NE zeSZ%+y|u3HP|ZjCt{eouTJ`~;9MCq==G#yEx&vDN+Qs%7hzQV*{R(b@+9j?aJgEJL z7AQg5OO)esNLx+|-e7IH3WOorunrh=SbK!B*Nr=fV3xM@SzMU&+K#2P|I604g<>#A``${-bFOw%0CdXJUh##! z`P!NE92ID1Jp+nD?T-EEEYe1N4uWFsg&<7A1+BCWl1j9_Vt|X=-`+u+JEjsZk4u|q8ZiNq}S1TRr}i8 z05#g=T$o*}9k2q_Y4_0k;+l4T8U$X~rqlUY_1bgEkaR=a7zxmzt?dG6)V@P&kS6V{ zVxTl@Ykq-FE!rn3ir=cWy8+nSwA(HNr(Ih_zs2m(&RveyO|6BTg`L`sm1uQoU-txR zw|4Q1Kq;pJ!A0k?1FT(j_7~`d?xx%G5tzE`UY`L&J#;QT!12_{>oMk~W6lQ~Z`~ioVB@1J z@_{kFx`*^KIiT~Qd(}@@N8c}h-O&?}8=w=5!6i_)@i)*N)Xlg7)Rx1HFjTjkj(iByy?qQeh3jN%FczWvC>B~o z>da3=M3hdy4w%Puro{l!x_2l?I!5>XtGGR4b(u>+5T`3WhtA`=_ZLG#ysqF3)IOo} z*Z`E1xz2HeKx;-R4Cg&(*1PkejD-xB-Gf z-49wif2l|py$lz&SQm5~%3RR>Qw~s~>;4DeqHgEw5MQoav4IrWF6(xXN4i3H z%>kfN7xX6tUeVnP1ZI^kjpC%$x?C>^ysEoHFU=a=D*8~@>Q*g>fpt2i5;Jp6w+ibM z{C`E)Wk7GeuKE@5zM+$mi?uteRM#=AU zPq)tlM%>rg8h|;bOQrmkab3kpaCx9hAn*EwE~^M8J=DEP{`g7VOj_JMvg^(^!HUPa zHGiWyrQ>{$*0fH~1*)Td34L()>%XBbjFWzy76P61yUD-pqA#aPdsqF_&jQm;-!Tjk z?)o(q81v8%&44YQdhSjrqlv` z6QSoMV=Pi15(f~aKXn3~$Mjc?z>L<<^hGO1f8#EuD^@?xPM+F0{R8rt9@p=B4e2E~oSb6vH{KU-L7- z8GY!-&^}$ig0ibJ^wDbpGWDgjjytR0BLz68&#$0&QkLF{oM-3tzivfuw*F7@GUVvb zlVdGc-%ByvJbe&-0iqNUAaDFGdeHnXDR9YiOc%GzXxiCUil1oSL!`8(7K{O{VG6} z-mwVWs`W#Z*MC)issQvg`uAz&SF7JjcS)UojS^$m^j|N45!dxU(xEW*`eOl@wHx}U zh5#D$Ur+#`QGbd;noatuk3i6@zl@iGeNKy>NiLpNJ)7J=ZMa;(Y1cnXubmEk(ksyE zroO%x^qu;>=K#9&#mk^mx85)dl6v%RX3T7_{wgKB_32p@8NHa)8b)8CW8 zv~m5%T3|lVzem?_LjU#=h<~X6i@ep7`c&F5KGJ*L1DD78cc~CyO23snHPiaHKLl_x z#8dIIvw^=IC@zLq$=Bd&HxwB_=w@jD9+KP*Lll4TFnmMHUr)oz7onn;;Wu*mdmDUS zM(co~F%ug48J1Gu-QO_Z0hj@XRXGqCXqem$oemo6r@$rHa99r3A%^3$@H}kD+YBv2 z4W&N=CCspZhgP`3{&okLMj2*P^3pNGid_KFhGYNl5i^)Rhuq@^n*svk4b}95OE3sN z0!pG`@@3E`87ApGl~lvi^rA^Kh%ZC#DMK15nr`r*do{zbl;XOXhFbbIW*ORgpv-y0 zCv+M`wqevxMM8OoD|BDw8#1WSxWLdtXKxi7zUYPe7YzB|0=2}jT>;E8!)ugbUT&BO z1n*0Ra5`nS($Gvh`YVP;^7&O69vy-B8biYSXw@3NoC0~B;T9K0)Ejo|pv4VCkP`$o z7*=ey!@_36W^%u_7+NAQ*lIX^9~O2PDmH-drePU_zKnE zJ~UKTgQ=5oE$z;njYA@6>S7F}$f~PRu@;?f#%E}M?r!}1KJ@i4<~l$bPvgK4T3$vs zCjcK~SswKDHR{Q|cfeRenWBEi`p-b;Z!D)ZNPsb~3T7WPK3E9yAY)?a3_O2_jL*}P z9&BU%r})aYHTWLyct*(HUlRru!<~_|pmyL>Rs4P>V=o zDLE9PjG+#&{+RLJO0=Sl4wOCBMfR^Qk=MxG~EGWA=EXjst-wjC$I) zo;1F46ClC(31xF98rRX^3X+V?J3*Li6j01M#pp*7=v3pWUx1lrO!*qEGe!YbBc&Vn zeGbeFWBEaVOk>6YsCL%)8)bE!GhTm;R+e#?_N(WO0hEG~Z8z%ZGn`}mDF(f{#!Om& z<{5`6S2N#OL3QW_#=qYKVWIKaUFa+__ETzHv2k!6l(}F`p#-oJW71X#ylBjbL#x!d zUW!(kv5EswZZr}3CFA#(!R)fJ(FF1eW5n~2S824zQ{>=^aWS33R%P7U2NBiA=glCz zYV?|iYhPnbK%T^$TI1$!bk-Tq#z5{hW26L_*NspA15j@qqF~4kxu;Ovr6B=8(su-8ez1njOXtyBj9|rZJJW>z&4rD8SQYT&e}PZsW`z zw0exyB3y%B<1AX3^cnX|qjk&p$>(6&Zycn=mjUDFPXcq$_%oH)3>lyG$JlLSGG#s7 zG2W%J@L^-19&{tdo#a6nHKzN3?yhl5Jl*p5jAA-A{JznV$~VT0Me!gUH-51Noezu$ zlYly5OrpOdJT#8e$t#n_J3rzsn=&3Mgrd{NFOP!G(ew|UyX|ahXoYweQ}9h#?`m56 zB2YX`>Mud=X^QCwxtFP53>06}5k2K!A29th2TebdehL>a#PlYm03SA8^aaHc)2>o5 zJ!(2nwH2YJm*^W8X1YU}U*V?NSx_y)w7(SMBTcWpj8>FsIaM4TGdX?;@@P}AKLo~@ zW~O2+)>NJabK^{TZ$Y(q(-xe(V4ris^oZW%Cr#Tf04Krp31yfkn)W;o)Fji4n_!b- zx-^POOf}_LAwJC%*aDPOCO$i5E=2-N&t4Vq($cmzvJJiq10ASvtD8+?4S%FfW-_FreXO(>EVMQiW-W96T#c zRyv}v%5bM=4(FJ2b~U>ofp7r zKlA0Ic4+EvUSkGffcaNC-yqN&RExob=HRoS2r@sl2W$?Rqtl^iuz4%RJwnW8JunZO z=TKSP5p(QOXmQk>G=d2VHJ4GuAj}*~NoC?j*lKpCnzuId|2~Bl?U;Owb(r6t2ZEdCs8FDEnk(@Vo6}`}p#-gN zvx;^SJ?6(x1N54opM-{e=3g++b8eY`90E$eIlBoLZNS{#1J;9P`~PS^He~)_E|}gn zCpuvg?wA|Rz!^4MUjX5V`IUT2WPMg1=qoLeS}HvC*^XWwE~m za&JpJEm(alIlUP3waoH^y$38x@}&7$-s%AGw{(n=|1-eyQ!OY0Et~96>Y!y~GnfWh zoID`@kR|FeTEUi;*MJgYdF=&oJ8Y?^H_Q>s2xVu5S+3p2 zdekg}f1v#_OPm@4qb-XfakXMB-_kof)^h1RI{!1y61W~Bj$4{WAtK)LBKgNpShmwG zaMH4h76=KJC&;ywXo>v+Op`3HW&$PI@-OAPrdYIlz&q8#Cr4hI<;!O1bjq?P5wm_8 zh63e`WzSroq+6CzHd=;d)fIqDix5sx`<$~DsTyXVv$Xj@i!96VBnHo03MrVGZP`q_ z!5oVdt=V!dLJH92S;n@3Am3u^1n&aN0(yK4E!9+}Qe^R*fZSrsP1=fIun4cAv&3@q z3MT)erDYn-N-a@Gz`D$Gkj~n(ms{pFgW{4U`gN#y*|L@vaut>nObD#B%$W~1S1h}> zL2i}BrUqfPnvZ;+xD8}Q#$+nx@9k|5$i4gQgr%; zWpf7T8Z76ixV+Kg7z30hyCwD(aGEX7ln>ovc}&jSR*RhO$2Q9fG32&e`m11Xhoz9b zF*hy0tOb3iWt0*Hx-3_p1n+K(dnjhD$I?!@UcHvhI-vAff^)$0mgPxW+V)$zw}bV7 zWgCSG1})3xWAcV9_S_lhy=}QpUiv$hEfr{uS}xJ`y=(dLHE_FU$-WJn?pw-=q0E@& z^DcCbTUHfdN*`DbQ?k^A<-11EJ+yecU`i(~B~CzjWU&=v?6GCxX8=={u2K+8TNZx+ zeI2c@Zi2l1)+sxct~y!QQpnEP%22^37wgZ{5a?1$og1>FJbJCq;jXI(H0m&xC{l(H-Wtl!dVKhV14 zBIpiUmrmKCTafiGy?qW@hmyc1*jn6(!4T`Z9E=^d-lIPi9HWw3F{PjPEK0aU4x+sR@rh0OtijV0qc{jm)(GpY^{F`fhpF9 z;}Do?UAYpbrCC={RN<8M)j4RLwi@mNoUyvmzxL9txf)2wu*RJSd8RdRDReq(<-loX zpL5RYi~m5($+9k*0_u6|Z}DhlThkZea^+YhvJZrofo%z=5lqpkSy}BB+ zR%m@~F|;VM_Eo^%VykN&w7+28cpaT3*4r)MS!R9tBMG6t)ylaHayRqGqCK<^r>8zqp{T4y|hGIdtr2M~D8 z`ow+A({*bl#qa8^tqURPhPCo0K!f!(WgRtI`Q$EcvZk*FXtoO6A)&=Ox)TJgcI#Ik zptsFBpWcD()|Y02cZcSOiJa*0^5*9BqlT>)vk*r**HB?Z_}BIomQW0Jzxv*F%z< zjkONs?zULkX?oZ`qclNJn{E|=m+cvHKziGbkSE;N)=bWV1GXXiSD^Q^&8LW;zbz;d z*C4dLXwoTKBrQ0js zw%G_aCv1K);GDGWrd);uTi%D@mSnp^OSfcO3+17t*nTI+TB>cA4wz}S-g8jql&yRW zGkV50@HwqzeQkw#DrJ-te?ix58@q&7 zi>)~rEbZU4Rhh@@X?oG>gIrt18!u8 z-zay=)1iVK8D0*?UjV!vo-cwGJ`Ne*faw8;N7KOcbEqb-q`$+yRUim(_;5QeQ=mgC zEe;PlIJ*M#ki+x8VJz5T^(wSN9PH(k9CO$Kdw#s-9k$R;^{B)0YN#0IASOe@9d?dk zEW*J`n2`?4enBhBVdh%QMYO|jlr0$JFhG&0SchM|(HZCPZ3MJG?hr?*sqqfEe?id` z4tqyo=Sc@2N`Ovqc%3Q*6CITHR@P8y-2UynC_YV*SUIbpv%&h!nrCFAyEmxMNR%*O^?+K2knWgpu0tzx@$`BVr z5fMc|L8c5vPyyMp5!s3gsLcQ8^nV^7FZbRvKIeYdz2}^J-|6J|%y!(e7VNo>Kbi6=G8%2(L_hX=LIBLyd_D#oV+7MIh_`CzsZaIGVDQqfrtY<>n zZO3p8DDODlp-=l=$Hv)^Qs(%HH;gEE9PWnb3dhIf-@51MlMj8Bj$Zq~SLK)(MDx#T z$Dlt^t#M4Ib0q2=zo!Ad@7UM^p$(3~1}JQFY>me_H94-P%|XqM;u!$b;%Gk%O|6cv zCV-^PaS!>h9yoqc2)+)-ALu@Q=;$Md=uXGnG}O8r<3~~Jb{zc-ih3O9!a)4~nB!ZU zfb_9rP&JAH$FxqUc;e_!-lwOIzx1Pc=2%H@;z7sb6wMfNoV*1w!;abHV1DkHLs_#g z96uI;@}=Xy%jnK`>?nW{V~(3BQaJ9o(;mfyqZ@hGCmrvQ%g}}OEjgh~t}Hzro8!i^ zDa7atFg{db6fZfd4Q{7lJ|XVSO0_ zn|xVX%Ki0YInXwu0M@(!T)RM4C>IKYSi48&tG6tsEKv<8?+u}NrKQC z#`=f63=ynX$!!(M;?t7)80%jx5Js_HW}xvnD~UEIoMdG#N8c${Zv_yZX04-zc{HoC z9*r@q*Sx_H%UaWjA&F!C{3Z~dW%Ue0Lp;mvM_6`_Wl;qwi7eAX@(5gD>9V0WiFJ;= z`xjXUC=7pz^(*azO=g9pL+E8z&}}fLuvXISER|LL3an3K{ksSjUSXx&2gy}dToM}7 zSz$`>Ww3^-0qq*=dJa%zvhGlHI*S!v487T`U|MSBuu@Hw&z#Fjo(U9rtbHp%Q^3kC zgQ112g_QhI#LA%H&kdI5W02fr)lqc1n01`8C2p}QXi-_h>LM5HrAhe268dwZ|}P*Kc5W z$vXB8`bJm_g26Y+`hZgECRovX>G!86S)&w>b760I0uDF!heI&!0QEi-I%{ z_Jt2IY@TeP1cP{py_cRUFZKfZ#(A^PNKhPR@1UPM^^i(z&G+w3M7&$GuUPbrbTmL8G|?74MNk;E=lfd3+U zGiBN&vuE9frpxRv98gPPKcTNuD!W_+plR%%j)LzBTNePJ>Ff>UpvqvMB+6@SbDGIy zvWqD0pT+*{SJblECLROubJ@c*Z_Z<{_#KSb*?UVslh1x?0i*@&059+tvVWx8`Uac3 z1SB`v3^nu?v+WhYdyAc!08J(A^>hwkDSQ18WLB~RX|7hq=3WFtH9I*S3TxPH6gaPC zFQO<@9s5@k`R*FnXUJvJ$nIW(&L(z+C#+~@Gby~)!k)DO{H^T4B7kXQTT(o_ojvpt z#RK*{dJA;0IrMva57|G@K+(x=p}<`id-zqT=w@G{Oz$4{{xeYD%l=6X(S7W0dKLDw z4@{#e?j!abdMY2Y|A|BA0DGYoz&v4Jl){Rq?7f%K_>BD*IWh*>?v#Ey#Qv40DZ}h@ z2cYmdo702Z3w8`eL0+=Ip9RVh_UczrjIxs{6@HAJYY&-|>>&k&xp30s!RN}k8$kJ= zZXA{^P#oZ74TImE!+8~*9-Pq^Aob*o< zqB!RCf;-O9HNco?PH`A&F`NpD6UB1Q(sK~UvG@bEGaTuC@So>YTt+RCQ%u|bFL3fN z08A36i2|$_IZ3C1;u1$f%aat&{X4KMmD4r}$}~>IcGRwLPSe3yrmLLpO`u8Vtfh%U z1}Bt!JJ&dck033RGeEi0S)2v5gD0D_;uLB*oU{Wd3OHwJ*GVDgm(#GRi1Q<*!Q9|< zQ_9Fq&J-Hp+nk5wGQ7jNMX{s196uWTGS2IdaeGv8nt14|HgT%HM_I#B_@lFy!~G1k zMvjSQ(M_C>wxF?@GqD>8TR7J@LrgozJPWcPa6Y61Bsw^A1hC>E=lpsMa3^PqI~ck+ zVtP2bIq&R)5j`9~nqc>GxD<)%<9ulal77x6%9DM>G0n7vv}c^2Vt^Xt9H-ai5T~A| z1jC$-6f_>?bW_x4j1xfq({auNios5B_FhBn0JrOPNOR{p(5u0NYfrL0x#jk#9p+Z< zghC(g=c~Zr%l#kCp!~R>+=8$G?$>n?9msvpG>+CF?mU{31atMYEiZ(-mE7c^TqPX^ zd6c{B18554#x&6_#I2*8x(Mz~I&mqIJ2(Q$W84??hB(E|=VL5Rb8k`vI+|PA3z8V_ zo@W@RcYjTC%;uiiy&tD1GW(sIZxsP+vd7FEfc3Rxw9-!@qce(p0qqmGZ zNV!kt+-s9ytl(~^tj>Gf=6n>D+-w@)D(($Bh9n= z_dw`F?k<{qbaKNSQ0w9lpFm0A1Fe2 zrf>roLwW6+L3)%|OcRta-rE;pb~x`eofi)d&Fe|U7)JA!{g-OSQ&2=TmUpuRQsQ{>9Z-LUH`jC) zNYC;dU!XOfx9=;^oa4=>$!P-5qyztX-W!zdo5<^;Ee98Pr>;PD5^v!cU|-~|qxs_{ z-u#cDKAHCl!M@C^6`@Gs{Z6~SQh8Rrus)5~*@M~@Uf?$9yUKgr92(MjNpG7VJAqGTmjFD4t^=**-#2b5$_u9>A1n0LgB}o zygojPV&00y0CS5smy#7rc#Y(7Ddjyl1P!-&>9fIbhj*O~dZx z2Q(GD8Hwn;$CG~x^_9Fd@`zRO{KnB&&1)@#-Wpz#HEOlIpCh5Lju-EgXg&|Y39WiI#emc53epZDqr zWIy6rKSuGG=SY6Y0bT&z&QEw&0`NWM*~)S4pYcR=JDUc1D?UNz5O4YiP%+F)afaUK zyu_ zFh7`|vkoL7e9dwo4CVht^Ms@Pi#5O$#y6c)L0UN9r3*y_zu_^iK_tJJBGAY9Pr5-G z#Wy+v>2dyL^7WtKbDGe2l0Ux}45#>i{|zxQd<6wsV)>SfF=}yqZ+iUC@M|oK$FP-WeHj@@D;D3HHm-wduY1Im;H<45K%`T0w5eNy;!l*5$DAEu`wjlc62NUrebk@x8;|4}3O()q;{WXs@pZ3m`n z{I|N%m&tFXM2;-}Z8}3Wn}7H#@_**=vnec)%WoJ1V;(>KIXbWNa|lyDznW4I3;3ga zP!{r|egobj{))wreS`nf0gX5L7gJ$jG5;$rRNUe(s|I@se+s?)O8F~CAo@06w;H0$ z`0bREP|knlJ&3O0-)pAz-#z}Wr?~c&{M{60s^YJA!T?wE-#LO>4L|%e`fB;klp}VZ z&!X+l4g5dPg1?bJNNd_={yz&Kw1xju7K&E>Z)9N`e>rJt=l? z{$g{OJ;3krfTkyW>HCoVly6R{4A1zXe}iO@ACLs~L;Nl}iglP@6Nu~coc}G|z%Te! zlm_#XfBqQsnMU{@uLtQUKVOKubd2x$DKw4q_xu696a14jd70!VzmGl_!HqXDq^^SJ z(ZK5_SfmE!0l{5@<}P5`q3{r#DS|>z!GaH=;-KKzQ;0q!SXBhQUV?!Eka!E0QKHRZ zK{y>D;$sqIMS#Os@WVSO`~?5|7aabAu(jYgBKSBRgAgD%ss=}(Kv4rQL4qyz023^z z&H{=M0mBDkLIu0y(05c|W(K`s0=)zb;er_23>+bN`YvEc3VLZJa!k-bnFUdT)PvA> zTwu!D3`0){zPE(XlLF=uaGVl+`Ze^P7SzxTJz6ks2L2eq;#=s873BDUGEOi=andsa zABxDH6(}7+5--^PD@e`@%38smC|Ku#+693N?UzatsJsB}qM)P}`Ys6$6~Mq`fse@x zDlQ9bX+uDYz=JlCqzd#Ckew#zW<%2z!3H{q?5aQ>1ZnAlJZJP}2+C+H^fke8`o?7n z&QnA-OYng!NU{ZAy?~}1K^|q+8i>3qS1i;!6$aL+J7Z=qn9 zH>yPfcL#9X5PV8W=r;w&S2+8x&BG^tp+1x7Vo`I2R z6Iju3w+kL3x!Ur9Aap5Yc0e=+=%HXIg|j;a870uyBe>g6`DeX?Y-hCg36f}$)h~Ew zAH+Noc<4d%SRmO7#sPsJWj;R84{#qqi zuucdKA!s};eDMc3qJ_2eGlDU~Ge5wJSfK}bW8#EHg&SVS02c|LG@|i_@JK0; z-W2{ur`Qw=4V3wHOL&fwyh?<7-T-^4F!~PqZVTV|8I5;@DHNo>EBs{|6qX6?>QJi? zK1hd@d%`I{qgE-**?_((;qOOGKw2%FavDXA(C0_c)C$>$(0N}tz7et;gbU9?cB60) z2P93xmE*WenuTxcF%~VtU+8eoR^e;#*jTm;zb8k+1EKkJsOS*hqE$|(FxCc`x`aQ| zi4)zz9}Yr8k5EJz{Jp~PcPakYC!9;a8qhEFkA%ICgd;R-84%We0!>eZpCzGqDztb5 zng)f9U64H_Tt&OKhK1AUnAYdQzIkYTA#8KS$i5V2lCxk$nEnM+j0s=MgRpVoZaa`n z2-jAiZ&J9Mrt&VL(>NfEI@B z(Z>{DIxI@s11o$)e-#0*ujpzT!1#&G&O(L1sGEX6M?{xsiW(r=Os}Lsk%(5*L86BQ zEm-u=2x=jsb>vkvg^FfVJng7R{TEupL~~DoCR|kXK8gs@2b8NBDVjx-yknw8N)%Bd zLk`p*7kx;%p(jKI`+)wW=&n5)Pl-hFxG<+h-vLdQ?R9=b#~0^zkkTixbW8 zLUBg4i(KbtO(GYHM8}J4KLX=9(QB#7K->2zMSp5|olcZ28m3gU%c7GTP)iZnP&_PERL=){nn*?KigZ!_L9l0tcI`)TO?3TV zP-coub##JsmPk!Pvqc*>!I&J;FLP1kir#F2m^_gm?T5QAnn4STe36n1vkOFHDu^i* zF<4+P5?!aQ3O7WvDA;^cluX&H#iB6s0NxV)Kr6Nqk=_{tR4NJ&M&oVK>}ME+JECnS z+H!DLl&XcoGEoD$U&}?Mv^cB~RnkLwPsE_8UZv=@2pCf(da4CuwP@aYFw}_lG(uXf zX#G3TTPK>v2SdFmMh4jTMe|RguR%1F2=+#iJMHdn5=lNqW3%Yg7ZBDWs%@l|W~<1L zT*GZ57jm(-i}IeKcp!T1Z-D6#m0bYILs9=D)H+2o%pt8yl>8OOqEGa{3!v;5y-J6w zJrW^UginU(h69QLQLh+ao`}99ui{hD8??pmnW%3+fDVexXM=r6l*pm;Uxr1yqtW?X zv~CtUUx@g$xA&zegkr}dA{X-KkBVw~fN)Gy-vDXjqUAq8#e`_>5c(!XYv`i8h<~9M zqpNtw7#iKgImUh*h6}(o?)F2$bI99TR4F{tk=ZJqCq7;wbnK zEPcgqG(&}-xGfl_9TA@+msWsSnhi05;@GbMG)TPv65t1mKgIcJmLcNmpTTfcED3^& zFma(17{bLR5g>^W|3>SfNO2-9(~pT`ebE;sX550J6XN&Dw_-Xee%=n6Q{vHms78zL zQe-Gb{7C~EW5v#tP!%V>u^Y8B;?-ABix)F#LUc|X_zx~jf_U%0xT5F9ugrt&L~-~! z6c@xlJ3+-oahnjBE{P?cAW0V2QiSBPIF4KgDPkMiK$mI~&ntnLG%=5o0@lc32GFQiSM*<$ujXv`6RcpoTo#Xn^LXrB0RAVwx%e1@LC0`Y}#)C$Gr z-$7H6c;+hHEH}iTJb`65#m4_K#KjrD=qnM=r+Hkd*z^Go;jz3eHd_Eqcf`G;P;pnh zDi5;D#mA$;Um;$$6!7nfKcmf;m11@!_^ZUZzk{z@{N5A({Qaf4lY%iL;yD{2dsOT}A>c8whH^{C z#rzY{J0ZSLL24Jtf?UXUmE5D;Za2xtfw1X-WG?L$aF^WOgpu)(aF0Qur{o|Tq7O+b zrlZeGQlv$rx8xvYmH0{=>Otuz@s6eQ2mK|}|AE3Il5om$43OvpAT&twGj00_mc&=W ziV%qfEk;8n*ET}hQ3-ntjbV~OC!h$Ih-u{%DbdTI;+Q0%8!DnC8wb#LT+&brh7*!+ zeu3yyk_^hEKP_3Y5Z5(Y60wNHd@~FbiIOlnfBu4`;0S6-63YhkU6RO^7};dW86j$yB^MhZGey!&DJQ9tIp+Z; zO=7(j3|Azbw9zSDvYFgIrVNSKIY7K7Irj;KW=X8cZJaIfprZzJB;}Nflq(sUipD(2 z50;R2U1C}c{sPHr%EBp>d_lXfiX^A$H&Aa#W)?xkO-URr5sM{v$U${W(r*D_rIJ5S zgZ;Lox&i}qN770OnB^wPqM2x|kW|$|#XU*i_u#0M_)?y2m1H^na!R$tk+OYjB$Jf9 zTPq24#GPL!;jcnpy`=pi#N3wz&06XjS~NLU}%zj9Rx+#VKfh6lEDD03l(K7#`Wcy*j@03hoq3Du)o(pN+66-u@>XF>? zM`N!<_7o`kBvNvy_e;KWfwV`G!!!whEa`t0QU)Yr)o6SoN&X8APbGg-ob#FFOWL?F zD5;zdTZSZ;O!+`FESVrN&m~0@815I6iZod9Qj)EKg(DIj9X>ZI`H?2IW0E)i1m(Eo zpc>L9B(~%aoRp-W2SOKV7p+oUrJJsU#7(-APG>kEeU~D3?$WQOL9~Z-p*z5MN|ztQ z$Q+bju=qrBy?a9U*=DDvC(yb^2Bumwrq~3ZIbjy1;i*D)xoiXle2) z%Kwa!?)@IEvC4=Zzt~AnhPeO_DT{ex5E_Dvt%j zWognZ6e-du1ZHOgZJ(rHj{tu~6!_0@8}4iInhmLu#PA?3R>IS?eWI)8Aky zm5z)0fw5Xz zMM7n%JccH#h8bL3pE|c^z`ERKBSyzjWoR(DYckoNj>usZ|wBdm?3jgTANI&pt!#ne@k>A$w4o zOS^c7rI{&Ue=e<~ulEaS%@^o_M0PF-&;n#bE)9q$z)dyiHkp|V%c zLDNy$6>^$~$t0B55iS!-aSbA5A+Ep_DNCM*+A-N-4fLLnT_wlKNg0b~?WbhlkT)|% z_GUeV#mX!VV2_h&r$fUTnZ;(1oRz&wkA1wXZw;M)c235pq>BVuRSHNi$hwY#KS?&5 z);t$w(RBXHCE2zZC`^`RQKrmg*$71nQ)K5a!kARqk1nXC$;>Gvb47M510+{v4`u<{ zHQ5UK8fMBoXnK<+n>GU)vSl`@usTOJaEkKJuFD!}#+olXML+pfAR9f3TA?h4J{?6e z!36k=Wj)gY=9VmyG9pT3>4)MHWW6UhOj8LYVeI_8V=|>5z#S;Cm?hobLQi zStiZ)yJT+PgP~V8Op6UupDdXY#`|S2$RF}ZW>3zB$1*bmWDm&VlF|1>R(%)7Je9q4 z1IIJjm8$?cD2t{Cen_UH`*B#tpe(rOvWY#=^g`A`ISemlW)o02B8#E)s8QK|3J8zM zzE=R@q-+5_=q@JtR&u|($}K6wz)kLD1pfiK;1D3X%db%=*F)}H2Qi-V9GYVulvmQ+ z^pO0~RDki4pQwQ*Z~3zgpgb&JOnW+flrIn@ z*Qg*RSZ)#yqBBIEO8Wvr<;OJWJSzWb6G+44Iwi~wm#c!IDMG%T@;D>q3_svLCg1la zMm9?REnV&7@<(=%azY+;17J?d$A5;DQ}RMu|DBdMy@PRzmU~m|C`O(f3Of_!97{;K zAa^pAp*2bFMmO6<`JO%Cza-aEP(E26M}FJO@(`NhrpW)k0EMaY84J*uCLg2CMOWlo z-$CP5d9@NFlP=Gv6?ukyBc)eelfQQZMW%eX5Hhpm?;QkXwtOqSeRAZUlx>?UKevd! ze|hqCRcI}cZ=rc)p*-;cq!r0)=d@rrh%H#?4u(wc_(ut9!`q9Bd(6%(+cNp7N`ZL{1n0w`MK;<>1` z%IoPZ&?eU$#fY}c_q`6v2l9knkl7(GZGy0e@)I;8>6Cx;25jk)AHql6WZ5n6B?o4Y zypEQ(z4BN0g0xQ_ngV0`xrE0)om$wy(o z1&zLnj!J;>SLi9{@rYtyF^T}i7xaYs1GHe1;u0O%5~{GHbe5xv{!D-h zQ!J#wVYp*+3Tw9yT5O!15+o>2+`Wsn?Ke6bb^Pbk_c{(e$1O8fOsDO_oT$!SI7 zBuJta&VPX!#PCZR+{%UsC5sCX*^LN6(HU!#XZ;Y4%O%Zg90z|a(h6D?>`6-^wdPg5)*kJc4M zJw0ky6*ZKony&b>9Evg&AJcx{Yl>x*ij=8{Gto>eOCcw}YqnzX2T+)&U^PP8b;UnP zke#pSCGT&M;tx-d+)&tuK>bZc{`=rBQGB-wgIKC?TLiw_it;JwD^qZvL1DRKG3`XF zP_Pd{?>)tp&tOEQB98JK8Wp>{A+t&GqaVfpniU;vNNZ69P{vEEV&W(m+Z1on-t7*> zW(p%dRLseNO`Qt43u;{ob4q~jRylzJ7(}m#95bEWZyh zj}><>LH&T@CB3|!C@k(k-&4gqVXxr%d#3Psj_RP|*;=R{QhZ3qXACR$KL&~y3b8d9 zUn-I*#y6s{A@}&GVrL#|V~W+g!7#2czXXN}#dmb<+oZyuHt@J8-KSzmT$O4Hjkqbd zN>MwYT(S$W-IdQ=fWkxBfp4S9(o;Eyez)nMvi&n4J)}(Ef=(~xiuJe#KFSg%?DbW8 zo=2abGG;vt^;fDXN%@GfECaOwWhMg%1C>2*Lw%4kZW<5SQ*%0DTqB}KWGQaDnT4U|5R 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�>kH9eA&xxGQ*<8pc`3%?c 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Ù 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⪚w>>1ujm_)8l$gE2r_qXKE5H2f0!4oW8}FdHP5 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%0DD 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 bh;c5Jul;FHmNYlM@)+u)jQSyA=HveW60O&B diff --git a/Debug/Core/Src/stm32wbxx_hal_msp.su b/Debug/Core/Src/stm32wbxx_hal_msp.su index b99c3ee..8c88171 100644 --- a/Debug/Core/Src/stm32wbxx_hal_msp.su +++ b/Debug/Core/Src/stm32wbxx_hal_msp.su @@ -7,15 +7,16 @@ ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:1038:22:LL_APB1_GRP1_DisableClock 16 static ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:1274:22:LL_APB2_GRP1_EnableClock 24 static ../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_bus.h:1328:22:LL_APB2_GRP1_DisableClock 16 static +../Drivers/STM32WBxx_HAL_Driver/Inc/stm32wbxx_ll_system.h:567:22:LL_SYSCFG_EnableFastModePlus 16 static ../Core/Src/stm32wbxx_hal_msp.c:71:6:HAL_MspInit 8 static ../Core/Src/stm32wbxx_hal_msp.c:101:6:HAL_I2C_MspInit 120 static -../Core/Src/stm32wbxx_hal_msp.c:189:6:HAL_I2C_MspDeInit 16 static -../Core/Src/stm32wbxx_hal_msp.c:227:6:HAL_IPCC_MspInit 16 static -../Core/Src/stm32wbxx_hal_msp.c:255:6:HAL_IPCC_MspDeInit 16 static -../Core/Src/stm32wbxx_hal_msp.c:281:6:HAL_RTC_MspInit 96 static -../Core/Src/stm32wbxx_hal_msp.c:323:6:HAL_RTC_MspDeInit 16 static -../Core/Src/stm32wbxx_hal_msp.c:349:6:HAL_SPI_MspInit 40 static -../Core/Src/stm32wbxx_hal_msp.c:461:6:HAL_SPI_MspDeInit 16 static -../Core/Src/stm32wbxx_hal_msp.c:515:6:HAL_TIM_PWM_MspInit 16 static -../Core/Src/stm32wbxx_hal_msp.c:532:6:HAL_TIM_MspPostInit 40 static -../Core/Src/stm32wbxx_hal_msp.c:566:6:HAL_TIM_PWM_MspDeInit 16 static +../Core/Src/stm32wbxx_hal_msp.c:193:6:HAL_I2C_MspDeInit 16 static +../Core/Src/stm32wbxx_hal_msp.c:231:6:HAL_IPCC_MspInit 16 static +../Core/Src/stm32wbxx_hal_msp.c:259:6:HAL_IPCC_MspDeInit 16 static +../Core/Src/stm32wbxx_hal_msp.c:285:6:HAL_RTC_MspInit 96 static +../Core/Src/stm32wbxx_hal_msp.c:327:6:HAL_RTC_MspDeInit 16 static +../Core/Src/stm32wbxx_hal_msp.c:353:6:HAL_SPI_MspInit 40 static +../Core/Src/stm32wbxx_hal_msp.c:465:6:HAL_SPI_MspDeInit 16 static +../Core/Src/stm32wbxx_hal_msp.c:519:6:HAL_TIM_PWM_MspInit 16 static +../Core/Src/stm32wbxx_hal_msp.c:536:6:HAL_TIM_MspPostInit 40 static +../Core/Src/stm32wbxx_hal_msp.c:570:6:HAL_TIM_PWM_MspDeInit 16 static diff --git a/Debug/Core/Src/stm32wbxx_it.o b/Debug/Core/Src/stm32wbxx_it.o index 437a9973736079fe550b1e867c82bfc07b839702..d56d3974eae34d04de362734fa683331a2ba2ee2 100644 GIT binary patch delta 144379 zcmY&=2UHZv_IG#B^mLq@jF@xIy1K48XI-racPntHnHdW@Il^CsanV!*< zur>g_7>I}Vm-|{qQ`y#?5Rrsv5-?F$^%w66Am&+f9HF@T-(a4u7!tV_p9C0N45{2_ z6_CiP$3baggfjsNx(cQ+Z=TT_{=?1)7Xv=)Dzcvg$_VwU?AZrdW!ZmNhLN?}a_m|B z;3|}YkP57o)G>_kF5qv$=26KP$g2NAa*H*vq*^hgWrS`45klSCHA-@fcGQ0jt4q+I z|21sYJdx3kE{058$Ao}yLe<*3FYs%8F|s_DnvW1pD26I?X|Z6RSPWHXgn0qI#Ja|% z^cDqs-;bG740Pcd?UNbpKgCcFzIQ)nZt?Fv z+-8G;(f(Tu4dBwCOwrCO1_yKZ145+gu0;nC^hMlm4nZHT&E>B02>QZb(Y5k8^I?iP z_wP24ye)<}Zd!ZPeIneV|r4{nbSLiPi7E~szAF%hWzSxnlF3z>Bp5R zfleS6R}SE|2lP=&vj+mED3x5}{zL~-HD$DThehq=Rve?JF@UdT*D;J{TN3b^gPg>$ zn)^_|X-YSM-Hg^dP0#SPH3e|Bn7&~Pq91rv#`E6428Ly{&EiFdZ=$Jy3VV57z2hj^ z&jl)@Yv6ug8TR(yS{I{h?1r>#VFAPFn!5p!jcCC!x|VK0Wqa2U7+q^OU}E2^dPdjQ z4cOTGqcx1KgBvKpt{-AxbY0y*8Af~Y0jj!dIzp@4LS5hIWMQ*wWZ}Mi4Lp)HvI{O9 z`prNteIKkax`CQFP>DoZ!oQcwjMB}_6JYo9wLGJnU7CI~Y~)bb^G``~NXtr_V9&oL z$^FV~$4JPS@9_>m6}I6O)GRFZ9z50A=96IDVucqOrZyYe9%M@ha544S;SzjZ>aJ?c ze)9yAw;O2A9<2hV<)vs~YQ+w_0uxr2mLZ`H8#M`Jt4q#EoQ^kA3kp~$Z?k@aC~wb3%V^;JruW&r!#g_^)Bq6eVCtoe9AfWED(x)F{AX^LRJ zy}VE_9Cd7oa(YJiZ;J(1;TfTcJH%R6HR>4QzYW%FoXiOSZLn}6`)`BIuLZLIHrSEA z93yo6PlJ^lkFm7Ne;e$RPfvi|HT9s?-D1MjJp9yDTugoN?iMXmUh}<*mZ_{MSyRJQ z(8wbdrlRJr?L1Rm<2PHw)X*$*C`?VwusI?#iqVb@2se~=)wqC>TQho}z?d}aTj(KT z%u+4WhS9cylR}8*Cp3taB(!$u9F`d%ob*8VaJRN_svP|;ZfzmfgMy)D|L(&w!r5|_ zP*a&zb71g!51P5EvokaZK%55+HZ@th4ne!*5l8QSZMLu6cMlQn zxkYzi3x9{62X3GXJ86)_2+~70)Pvm-5NG_&Rq6>0{-J3MR=X%Ry#clCIF)C_<_gWn z3|o7O!icTh0L%KM!u67v8x-< zvBUpBO?Nkd;Z8^oSYj&YivI=30eaHMveCb?j5x>*aBS!Ri4ljo0S#;VtTN&VH=t#k z{sl|^)Kj2!Z1NQ}*;qFqviAs>;09zittEISyLnW0|7VDvrgyIl*y|F283r_)i?Ok* z_h=b$mb@GVA}F+bc{5l3`QEJTm~nN zmRLRH&;TWkD?`7FyR0<6bagEDwCt?9A|p*G9gYf>o%k0NxF(iH|71*Rc1tZY$^E+z ztI|L=xiob+KTf5A?61-lI3Z#-Ld zEb7W|t{oyHPhhKk2UMP;CX*+z4XaYCwc@DJtOtqEB6|tf3a1|8X2ZFcVZZz zDQwk-fI4vh1Z=kTbnSnpW#qN&-;jkh|GnoNW0+e}VScF!enYo93eysnGlmh0!nAV# zdOHk)`=ApVroLgBHf~(z4IR_g{mbR4GVPi{zSA*YVwCkd=QD@OsFg*h7dnGlNwl2s z(KGsnto1aAlt`LO8H*GjFwO3$-N%B+pWt-QsVWH%#&WMTnlDe(eI^t=7#&HsbPG6S zce-X_K+-MdbTv$K^Ek)J3szx*%a za!)-|%Z(^e%%Ts|FlF5cTQOq)VgqCRKZGXKcq^c*qr596M#DTK(ZzJuqPi@T{y%V) z^DJ}qf8b7+dFJ&0z#hv*<^aLPw%Qg(@=OT9)EC%LTXHomvzlP)K7b7%T=0KzMcani zDl_H(5Vl4aMP|hRz$=f+&eobLwF-5N#>2!r=CxHAO_!q+v8F$Lr?(lo^fa;2om^19p~bP%4AR=%)Ftq+5)(SXcyG ziZ3-bprBMaRaY9@0!;{8mM`}spiJq8?2v%or8ieeJ0U@nSj?meU~BUB+YfY@8^~U* zCXlPe+gAq|%k*Hs1Pm`TxK52IEO<2@E&fM~R#W~L-nop&AX`%99b?AO>sG2I?+gie zQpU-Z`#s=GnLq38e}%120Sd=MvWK9-xB?Jj}pHH)bOalE)MAKQHAvh znBh^1?HJ(WQO7lIGJMuD7&dt3_jUq3bp|~D?1yzQv+NfR&(8;VJcpg3-{C{ChGrZ! zSUdwX5}wyEmGaDSo_O<5s(3y*Lcg0~!seOoeMnmM-t=7fig@?0Ci;8b>G{;Y zDoJSkj4=HTBy*xa{g!*XU7b$ORLXJ@sro002SOfSCGn~b4l5lEHXWI1=Z%PqTj^BGfQP` zC3r?LllpB-N%7#aRP{#{QXFcc@cvPXo*$42fxSbCt#3b~iTFwizRsuGz||yrPD3(l z!xO4))Q5g|KSJ^AA4Xiux>GzfH^_~oSya0qM`Bz&v%DOMIP{E2o4Nf+?Me({OY-C2 zwWPT1J7T!GkVFqXL_STcL4qEhBg%H4Nd3Ni!k;=yl>hY# z3f9!nX%8^+|Cy<0#w=*?=Cz)N+$vxMDE5!D7HmQGGg-9E@ z!+WMD`FbXgtlo#!CeQf0@xGNw(17mr^lL|IZUxYDy!-dC#T3hj?hfeJgA9%7OT3$R zke0YSQkl4oXhf{^(DW|Mems*ELy8B*Q+4B-#yreJv4#rA_XWmzJ zi)(w8C2@qWiewniWVR%OYPqGY^CGU_>Jg^nK{DdsH)PP{Ux}-onVbn3`~Qj>O%%#ChIwG$Q+ zetHV29NvYV<*-BInF|j|!v3jb=uQu!{}Bz0ip3#imPx;t1W~_HN)zUFeZnl-MZZ7RCofO!C$4u#NPP-&B0OW=LS`vj$i%DX ziRMuo!npPwCDMn1WY=T25$|Qfw7*3{yH25J1rIXlW*?$?6GMu-^rPRN|B$$fIfSuK zCmPFpGI~K{x9NY8nyWcvR(&ni{vJhsUmZ@rn<0yb*~GPmNOSK}@Vh-Gp@{>CD7Fhl zV(KU&dTk?v{&_<7-f@dq`jTkYMU!#muMy>9FH$xsgXlGf2=moFLc~5I-apR}e$+hr zJ*N$6yw-&1cT94T%36QXbG@C!rTtF!K0ZmL1CA4Zg?pe4x=3^lA5$%-Jy2R3tv{!@1x-qr?F}DI~)sfyuj|sZ0-|@#{Xw)Na&bzWLGcj z%n%O)3EGZD7zWO#R2x--l!dEg#M!9T4mQ*64`!`VSA1#T#0~WbFQ*s$S-(ih} zg_}f_t+7i(Kbu07jU&j2^8;8K{|6UODjkV*{|O?>tVzs1SR+EcJD3aS5JRgpQs49e z(Ts9WzGog&=gM6}LT@%B`exXF^31Ck!lz?#$}_VcxYfTWqh0PHuHz1BzIo~3axqC^ zMAXVXXq%MZA`;qoI&nQ>s6}&+5`7^K z2QcgmCH$lrL|?fa;iKF$i*X~bP=#+bX1xhq`lsA5zB@>)!*`AC8>$q_7`O(Y$jAw@_$G8xFg>zIUf6sI2Z$>U?Q zNYLC@6qm;D5T+Kh$yW)iD-vakdApU zge<*vhWv0~+R!obO2WTF;tiRj`eaJpAX4+OGd09PcfVQjH+93{t>oC05%fF2NyAPO zMoAP5@BF0;u$5g{j52(U8h_zg^I|$w)!I*^fBkRY;csJ)4+wYjF-OsoE!ND%@7BvI zz_j1=IS}0Dv<)-8OscINv%o&iDqf3FOo19~A9 z&Hp|*AL<9*90>YBwGttEa1Ih3{1E048f>&>7oOv{ya3I#W3_>wt3L^8i({5T&T{s* zF+lmT%~n8Xu!}u@08WRpKmA}xBzx%^phIl)Hc)n$z4{z{M_6_sAmoHTf+Lz8ITLD+ zu_WH#k8WJ`A(VIeQU=O9*E*oU-1K43N(K~`zu>fqrY%?rLbRldqP5ztM?4#&E2VCr; zrjQoJ`j!E^FPGmAzXZBx&p?50Knp|7`~L=WK;NF!Kew=shT3 zvXKK(_mN%M1p12Dkw`bV_)qL=+VC&umX!zT3a-+5C|t=cT7bxGNWU5xx`L@4v%}lib)^P;rIZ=M9(Qxo)jt?@i80 z`Gs_@4ejS2a?7a6T#vY%LNI1=)11)zoJ+2RAim~~j3!GtPg+$j(abmp#$_6>1R#Ah z;g=DhwVGQqAUjyI+kv_e&0yrt_#GObBtVgx?n?n3*6f=J(ML2T7Q?~|nzQ|3Z=9yg zp#QXR`HM?g#J|!s8aXOYeGM0@%uD>wc+zeFW@f&V~7 zr6eR3`5N3zxKVo{5?p+}u66Od;p^(CZK9z)SMx;7Qhdu-!+~ji4oQ2yZKI)()nRES zD0__iOk>G_U;e;z_&wTtjJ?+k#!Lz93!>?Lae~j!bS{SzbKcPIb0@oUHHh}IYx^L| zQEcHokR4&0)g!)m4*$UzFA|TfaPdkHTgP=BqRiT1+ zD;56xigh1DXsRUi2Whsn(g!pvjP0L-W1Z3aHDqU-UeKiR!Zc<&j`nvdnWX5=PKg7h~L4LeFiI!aeXd9 z?{O}dc3QVM>jp5SaBXN=n97}{tymh@_b2$$xrSk=yUXQmhOqnGLJRmFaPM4X=|gS{ z?ZzK*JO-Re(<}O04 zbGZsQjOE{O!V^ShiN;CGGf$0S6l8j7s**5oP3~j}Tdrw_<3)ajX4zvGu)8(me!z-7 zn(fp`DVozb$mMTqe3~L8X_~AQD7>Q?n*roq%?nz7-qQ@E_0t1Qt!XGSG%>Uvd8Czm;4KogW&ox!|LD);p4J6C?R~pkG1?~S@vuG`3=W60e zeV%5{4@i5f$$t;h0?n_fXs36Yp0xBY)bydf&<9P&1*j|1T=a%(pEPS}-uR+9c?|4d zHP5I+eAfihF5!pf#6dXdsTIsnxKul`C-|0WLzbg%xpr|pgYjpjcCm zng+9Dw0Tn@`m{EIcEz#U?)2`S)pkq-`#J3g+CW`!X)A98f1Gv=E%+{JU+7@PWo@^5 zDB`vEE(4jM-4+3VuW4&M0rI-`QfY{}p)KD7P?GjT07#OxJ`14YmNrQPy|=X;zk(rE z+uj$VF%jeT1D~$FI28)-Y0Yh6;eG8;%ED%7UE#E6eW>-LP5)!5)+JN*hocbvfEqEW-6hJ1_yrJniR|@Hbz(g_fiRTGw!h zey=?}jk=DuwFnD8YP0vCu1M=|hOp0C*+p5ZFIwMT;QyxWz8liMYoF8nvV?D8Mx7_W z#{xz#zW*L{2ygyyb(prCpN&lvzk(mRAAGC$MoqxCnm;xINFRPg4^Xb<;~T+IU;e-; zu>0}i-{4!%_bdlw06(KTL~rERmcjm)58?+X;1A(X)dqGGfAA0j9Lj5KAlflg;a{%> zGK>FE2ZmERRM(vXbwhXXA)q9kJ`vJx>3nIunW8K5gWajRF`dDX zraMy^B=slU2lIOb zSH;bcwoe%H2`csrbKkDcIzu&5G{kA=H8K$#`HdjTt+3O|RrDELAct!G~d z?Ms3tN2u2e&}#wPRzzJ0rkDDy5aIqANX`mT%QUn zE{M--0U0OG9suMeu_WyVFN<$RqDT;*dO*rm@of(BPyBUp8|~T?#SuSX_f7G5D6B{p z!|A2GEmr6PgHy$^6=41y@i|RE>Eig3sJka_rWEac@l*vcWQYfvg8iZB84sHti^(+F zW{S;QKz){|QWHKESL$K*GqI=}py%R9T#n^kuf!?;Qq;w^ly}G#J;#FajredRihOYv z?OzK-FX|BQ#V=Nn6pBx&TYeP#Q1FYyskDUsEFQqUF#d~p$qycW6Fc^Uitl1>APoH} z?mq%eOQdPxkg`;IvmKC^bfP=rwA>|Cz5whBY0f$Duad^T1GHKi)dQ7lr6QV>*Ga$K z2hv~irHto#X;?Yv4V3zAhTaWQnISMHNHU!Td$1IF2b7y6RAWeyJV(OcEz){gn}$iD z8WiDD95#6THtEz=Sg}KLbuR%Gk&;I<$lfKfPf+ZZ@~S~-yyV>pVy;Q6X<)oAnRla^ zZb;>6Pmv@IIsq$^r7f?a;+FK`BaBIveCL8BO&Y!kGSj89mEgo(sZ?#qyf4+HDei$Z zQ!-Akz`3JPCI?`XM^D+T%k z`9^YXfZn%K`38`dFFAE!cqjGz4R!A&Zx+x8sqhU{e3T>_i9bpHyQ!I^{$%f0NgE8x zZ&FxI7r-CV#FeX-Rv2vi zDRRB8s7#eVZ-J$0@}x*`q|0q-eR5Zxuo-ptiK$x%qU@|p7Q zTM*|bat0-|p32o}@XMBKABQi`<$v~}?uGmha;1EZyrnmw*RqL{60SFLXeV&w$&)EX zlP~jj=q->Z>;eCKxyyLe70MlHqyI_nK|%a1Tce@gU%A>D$o0zPn-CMI%r%2=gVKc- zhe67bV1z4J*^>$OO-h+7FnhBSJqpDZrCuT^!<67b5EkxIikhRjwke$lLE3gjkKA@(Xv2^9O4)*?s_C}CExA5$y`;o(lOXI#glqMqO$oVq}@=GX*GIN`RxIqWJO;I zd@0JGFTrCpmxy-=x87Sg^chj0~>U!{7}T(MepO@>Wt)ZB$Y`l#8*A#<&| z>=lsf)G3tp^;PF|0-vAyy#wmjt3zU3@Hap;?*=wdjiGUFgBq6!D>kZ~$(SJ3gA&of zYE~UUA?lC=h)k$@{0z+Aq6X056|VZz+5I+kYaXOrRFzziTv8btZ7-{y|A769y7wSL z60go_2`LGxe|6MdRfE@4{{5O7ON`gm5m6`-)gcGr=nd6LUL>j4w}CWW{XpBIyK3kX zc>h3k;LZ~NSpBUb>N3@(bT<1$eM5Q6EVbJgnD$hiMZRRKVVD1tPbqI-3+WZ}lMseV zTYe&5m22YWhKsLK4Hs$ns%LkCzS@-PsHmPa6v}FRGD2+4(@$V=tw;HAwDwNgK-D?u zh2M1tEdgb{E;xzc>sN?@j}6{2)--DYFwN@N@w<6i z8lEjQ&mqnAOH<@o`Idf^nrgM)20_1`q&M+5k7IbYIZHjU?FoO>w#&k;JHGvuS@_+7 zqZ9k?llMZw;JW8QIbmUC7_=aH9Wcw-7E4h0vE51ow}qWU>B_wNb#g!)%O^GFy&`(i9m zp99JiM$^jwiI9CAdb5Ptv_8!idgDqd|4e8ci@N7RWn|{DXnjVf=`V$Y9Q=JHjBfJwRl>xjF4_-l6^G!PEk0bdCqm3N(Yy{tgjnt^nk!Q5Oq1sx zu|9=uuQ<3qq#Y0^`M|U&@%wAA9~9eD9_)~~doqgCV$o8N#EJ_CAh2h|M>HOt6)hjZ za84{sHk}tkSHqU3=TSbT+3 zFRboQ)3Ps1EF{;Sis#6RY_Zm5Solm_NGZkVVs*ND^Fl0I4w)}S7p>)9iM#)Ru-9Vg z-YVX|T=8U8c=1N`qNQD)m_=!^w_+_ExMBlvozgr7VrfeDz7w5q(Dv`eF-C;6Q2d7m z+z(=PFHn9I{gT06BsO$G*e9_I?vrCz(DD~p_*E=l9(CWu!8G`P7kyd-`XPSK1>{;H zCDNTUPbrL2ZC=tle38a`OD~OJTp{fn3Qa4e%pZ`pN-BH^lGRdVDOj;aYC@;1K2q!= zFszfX=tu9A{HT-rOSj6y?LetA?T|J|v2>!cQCdWY0zuN{VX!w?`a&18LR?b0cxc)r z)oY8E*(_bJ0sc_wGaZO+k($wkw=n5&4lLX%{edgae1!C7FpxVW4@zksk_P<>zROZt zbwCMH2zA7((w8bIu1WLj19@G#UjQc(r5PmbhP0T@-;<<}a6mUD*VFBwNtVtx1$axk z{Rx^V?xU>?*$JLFgT6_B=@IvbT8Jb>7+yoS_rJIDzl`c>U=#6v_$DVwiWF{xxN&$3*GGE#` z6Lker&{;@%CneE^%lFd!#efPWi7xGYkecS$heS(_iv?KMC*-J^5YoLtd^Y*Vayu&OHYVdCy&6H zCGRV*sD{E%eo+e~{&Fbg8`sOP>4I8-{O3qG6DTKWp=pDhn+9Vx%8Tlu2$H=ofgxDF zMDJgSoD~nsO>)sl2-_@Y_MrPWp|W=tqPImJ`U90=^2_@uw#pear-#dBXtl9T_UVk) zj*wTrL$O_UB*C>E@|-jjk@A=uFlMJ*gBEeSs zXww-bm!nm~LAhBt7+i;B@e8nr<@AD3a>A_WQQl3Bwj8}7k3imI#(e3s$3x(u3eKS)&#x2 z)BYEEBVBCzD*xCA=$qWQ9iSg_N!qadlsnSV?GmL|B4a^S(&srWU8A&V3xz&PZQ2~HRlL5z&~-|7Z3N#}nMsGPeo7U(YO-EY zX+adA{HzOxKt;`i*&CE0|=qHtY57-o=9Kyv4>|K{oYW}pctq1sGl@>2x=oy8jJlHv)SNvk2 z{(@3fL}25T3zHz_qEbK;!6l{BD#YoEGO`3@y5f~xboDJksY;=_s$5tI+1Hc-QQ)|) z%&Gt@ZYU`YK$4{VH5ZIG70XO8CM%uJ!qHnwoikuaQC?Pq6{$*^6O?I6<9`6%QRaRC zL%OoLC#<-uRHR+%Jw>4b=7BQW8^{covd#mV9x9FL>ck^OqLz8Aq>X_wnaX8KA!R91 zJj6Uz#!W$ytu&edhG$BLERZ}`^66;og>p>`D{_=l%^>u(^3@*}<|--gfqbJxQm#2q zDOm*QtuiwU>;+0fT?Fr);%fH;;CrQ?9_kB~TDZ zfrozTe9CeAt0uB(y(&^-HBimegJgsHBokI_RBeZ$Fi7qDE36MzjWh;^sM(b5+^l-i zS$L>=E{^8EEo%D_uqI4BK}qJV>K~My4p*pGwb@mKMIiU7nK^dhE*au?{s{DRHhtviw;oxDl zzoNnWcSPMtv-nYU!9~zSt3`#7c1&G45bBSspXeKp6Y9I4AUUaq_JJ3t)YB@Er_~_Z zm&B^CPQd#!>Z$P{IjiQ-)vI%A!CSDOS9La6aY5}gA2!9Q*YLd*G8Efr=DDN}JWu)W z%WD1_D7>PcoD22w>Z%T4Oi(}K>ow#g{L7+9RL4`Q?S?vQ6f`BN4_CsAo9a+}E5;|Q z&(8ySOTA4Wnxv@NHc;MH_jy1{su~mwnQ3Z5B`~C`PpHq`RR_|I$$M%CT4uQJtIcv@ z_XBkt<=8UR6ZgRXP>nkcjz{VoI(B=k_M?NrOtnr3jCrDVJPtA0YPAH&ex?@Qg!<=d zX-X2mQ2l7<^iu6+1p6!XuVhf>sISK(2(Q&9r9qOb&ZpbrZ`6bPp*GK@hF^lvd^IHz zJ*hw)TM_*4)J^}Qf!?cwZU9-RPWlGq2es#2@PAYb%EQqj^+qi0{iIf>Ou%P#0-dsa zQB&eT`CT2j6taJ)&t^c=PqoKNXjr13gwKt6PyOS@U|*`A{T$YN>0QI|T@k-be_=65 zm+SjfL*)v6D&;;_>ZAIBW|jW0q0qZp{|FzV@@w=1uS2hoKKT@o>-3Lnf!$ZXGaa)1 z^j{f3{(3!)i0k!LPQ!`-eRDG`4Ac*%?C=Ktg%!{cqz|K8ox%D77oA#!=$qF8=_dXD zvha7ae)n`hq5A8TyWOI%`4T}4)0^m?e7OFvDiE_xAAzr?`3QXoHRX2w)vADY=#NH& zAyOYhY5Se}#g9?9OMi$iukY0lrGBwbA3+28e*Gre@*L3rwu$DyD1GUBu=}9CBdr4u z>7(h&=3)KeukiP%zTZ>Gj@F+F26Rjx+Ye%n>u*|N(+PbAIwd)&|9B5lV)Tte(afjx z?aKp-)pzv)-x>W!TBe-U*Qd?oIsNcSD9-Eir$W&M{e=R${}rdNK=-jO>PJ#i{<8ia zeOq-!Kj1TH;`Kpvu`oejpFX>~s$WM-k!$)PgJI!y{jCFFNYtk!fFVi0fjZkw{ZQHz zChI@a@P12wcL@}x=&R8|=xu!$y4IPhA5Pbx)AaT3(EjhPenKh8zNepj9gO$&i65Zi zf&R<^sL0SCZ-A&j)URCy=#l@V~=eL?wB--z7K(O0C?sMq?_v?6ik>d$hp`;ERnJ`&{f^nHq8>05pF zCh+I$r|=*x&^M=Rpzrl{X-QG2Ur-Yke$fBifa0TmMF5;B(od%$>63mlWn(_;vjf5K zMPG_OVfvgkxtK- z8(g6fv%;_z7qI!2hU+wutTF_Yg}ti{hv~FpjbY;lxaMQHrwUW0=UhxZv~(J6G4!A_bE8bVKl|B#{Z z5S%$|s1pH_BZdWop(5JgCjoiP&?FI795=K|hl&%1?erPWNkhY_us+7Hz6X$}42AUi z#~MCVgXlAcEluIeSwov-@SQVgMaqAlH%#n=CW$kwSpcCI4bjv;E*YZBgYmM#^$Z+W z3hS)h8Ftb=wL6CU9w1FO{Q3!%cMWA}Npa6mp*5VjZ`eTF z<_Crt9n?QG7-)U+$S}tWD;^sL4S>*0gN42pd18o+hP_#aezX{VYFI`$c(M)g_?(@8 zVc6akQeGNn(3Qnk2JfA8{*+@_b`&aJ8-|flxrV$l;CN%msQ`{V!^{$Z-Wpo$fob`M z)8BzCFq~-%E8ZF6zoG8Eq0vDIEi`;-2k3(#iniNDh8o);?32NZzFYci$WMTVFNSv0 zK=RdKodV=H!`l)lT;B~Ivrzsp6iox;5@X^P*zIX7`wCtxHELLRxXd_$){)DNAKt_5 z6~>n10j)H~(5;G9#!aJuTx}dp7X#NAulI**KE{lA1b?mZ-3TaLXRHtp(Z0r1YEVC; zGYgddMi*_s*1L>Z=TQb2)96THgRvn^jvI|HX)_ySG`xa}VB^8cd(PXj5Sf&+7_Zn|gnr)v^Z3h+mjlOi4cEISIhu}vUC(|vFUA@`0u^#>Dw(uCvC6?NMAXc1Qp+&e(Mrf`8E{P_E;W5s3o44#qOMkbT8yFo81O zIF9n43C2zILEcqko#lY88N*sb({m_a8xLC{^saGN1=w`oxS2k*ePC?A z3C?5~kJ44;$Hs;Z2+cJ9Ekeo@;hAyrTd+Sj_P;IQ z{d-|7O$(cs#N&YeFSN6=gR#rPwR=D)8- z{|xYdGrkxDn(xMCv;h2Jj609wr}586s9R!MwGUo+nmn$-wWX$?8&P6X46PYqlB4m_lLr*rrWfE3ODiVz_-n`wl;)CnBK03`t2^$L|SU@Ftw%I zHj$>~^})Z>^e?SJcA2CyAl+?pQSy3^>CR!O-)qWUiDIA0Mz^N-n?A0E>;tB$S@1W? zbZQ`=gC^xC7!H}5^*|dOHO*}e3!_aJ_CVM%(~AXAbll|G2^vnATmz~?;Ykzs9+fes z9lt~NDbxPbkbT;S0R}u zBkkj!nnLL%$u{W~NPA{#N8jf>H*LBF^Iw>zQpV(^Df}sruS|jTd1#Jl^1pyyo5t+| zlxrG5OSU(r^+zBx&vbVQ7~YyjeFv0pin)!t0@Jrl%74ByjgEo&?@b#ibzf+@8V~4$ zsTTfH6#vmw`8I-BWV)||O`lBDD39{h^z$t0zL^Tzz~ApC7yje~|HCwb?iT+vwWM?7 zCFX?&ka(KY17OTj^RV(T&CA>=3s!iWd0N9SH>W1+@cykZw=Rz$tTYd&3k9ppH~&IY ztTs2NZOR(6oD9gv{HPA>UTe;e2je<(*XpSAHRsSbeF5gA>rfbI{zkj?4dxxIAZ4R@ zUm)s&%u6%C7i@k<$I2n*eaq1lo6P0tc2KDK16k$DTF+MHdRrnU8J)`+4(lnocg5 z2lay4apw25Y`$n7Ojj%}nNwb(F5Wz!&RG)7u4hFMdes~~6W}%Txf`(Uy4l*?lpuxF~4<9griyJ4UIwi)I65%jbxk4tOd<8^O!_f z@!V`b4{0yVJ2pbaOY<|jdGyMxP(CBaJT(=q{n}i)3Xr*Gf4Y|U#(X9gn)1xQQS$k% z`7WKa=9?wj_!XFSl(~OrF4~Uby?JI27ibF2sUhI_U~bSAK7BO*+84+ob8VWUKbgO| zV8v&1QZ;D$VosnH$yf6q<3aMxJe!WJzndfI!?+*jYP7WeY2HkSuS+a9$AQGt(t~pD zOD!e)L!p-?eF7kF%V7Ela+&2tS=#?Cx9psS$`zKJbhy3JqC`TPpJmK>@cUavHUsH; zOI!;;8!Ug)a(|2PELlI`(>vcQZuowEeRfy8y*5-|bb1xs#a*cN9|P9x5jEGO!qUtG2veSyeau}q^c zl;SPFT!EMbOT`VKyk;?UgWl_w8T8^LS~4b~?uKRb515u@iK6BHP0K5MFUsGtT%tKO z#WHRxC~sR%(h+c~H8RtKC?vr z4$q!j%F>bO3riNAH@>vE^66{S9Ltm%Q1RMg6;b3`UJOQ&X9@ZV6>lvyX|Bn)42yxm z1(v2&;Qc$x4}a9Xx8zcCq|ma4Ch8)~&4UQSCriO8$o_1Zl8w4AmLKcD_ti2_2K3F+ zstv68ZYe_+{;*tj<$?64CHfN>msoRez+g}7&G}Hj)EY*U`7&z+?aG#0U%vz83TypU z2+3+|IGud2u^y&R>V2%0euWdh)^-74_p|n(wYa~v4h?XD)_7VIZ?L+)0lCpCkAU6~ ztA_HQo2wKlmA*$1pGngSVR4QdPz4_cqlO7)2KI~|E0wf3N6glOwtZ|FN=4H^$& zC#}M3n*U;~^TxupSnCb}*fZ7>El`}bnnywC1?yb8))!|@6=3&8>m2-9F8+%3Oe-Mc ztr8`%60DAsF#Edo9G%f6TK{(639zP20y5cp6YC)w{Iablvf#`!>-=6| zcy7(4Te+{S)eB)^j4eE(+kDnRkwx-%J?epsteUj3)F?Hxc%Y#kRO>Yla|)xfdT7L0payqB$Wb*S*R zCDWJZ%WS>&pedHyidKSQg>6}FFs!r*YrwF|c56PM)wW^qHm{1P+hc1& zhZ=ir=PH9?pG}+rP5W)HXrMS?t4$w9MA>?e0LejH>Q#^&vX!CF91hz`yXd2-Bes#0 z{5on|NO{+2Th~<39JAH`8yv@N&FK5u6Sfj`0(R1-&qTOlY#siDF{f;H`eR9_Z4n0$ zr&wDu{gs9@wq#1PowZ$k4q@kP{rW@nd7C%obS~I_{t10?Hjdu+i?#{8`!fJr$*Ty$ zW!s1$FzSlUm<}l3_8a|uh6LL)Ix4(sOWz8PYqs1HaP7Kn+#isZX!E5P=ccWYw#&)3 z`~QIQmTgomNJ+63(FfkQZDW?9F4Z>wGh&fu3!oL_9oxYf(2#CxwujFD?%M3@zHuef4 z^VH_6h3stGEy|xfv&|?ChUYeq95B4Fy?+eorA>|l^vX8vFS>u0V_Qv?uWdEy_Cl_W z-vMLZ*di(2oM$_+9@5_0rc>kP+xmLJiUM1M{RqN4TL67X{@yl+&fyAeLn+z*!RGCO z;-hV) zfj*yEWk2u+L0D}Mr3B;}dyipgLLd7MO0lf9w^#v1>s)qk8pM3|TeU*WW&; z7x>rP7wrW{fZciw9D(+QG_7o~=L|)$(e9+v&meouGw=o5x7CJ<5PNmH@VLqTmlu$m z?O(D%8EP*$2Vq<6R`;IN?!Op@Zne+;1MJ~;*8xiJZL^o&jzC4&+kFOqq`f<>(0AJB z(Rs@*dlvmgpWXHml$O|IZ_pByd+lQiQMb?DzZazKw_9j)cEEnQJ6bEsuFFT=LHoo` z2+$#WeqYobwzs13@rZp69dsPEx9kQ*(RTcuXOze62TGyxxP5U7iWBykoq#-P?>ia_ zW9)-yFgaysDGhqs?xY=Rto^0|D$d%c({}lsJ!Cf+&f6X7Pq07e_pdMCQaAvUF*ZqMEj(7P;tW^)(XfZ`{oR^ zQ?k8VLqNCeZRi{>#oq7}pfr0pB`5FLQ|Qy2bo&Au)Ze$aSqLW{*sm-@U4}g^8OA)e z`*nrFO#7HGh{Y3o58BPWvR`XT>(3m!y(tvFwjbUAj$C`xF(`av|F{&=^6cqX0KK&z zwF1hwPoqU%f&KRmkoL}gnO2!8e<9TPuT;q7X z2}mDD9-V%!bu6V_iff&t5^a`z9nDu#mv?wX0}61oUj}W|JlZHBmQ!;3aqwVit2y>ii57Ap4IlWOA?x;N* z#Wu&y`%o0&ax|*|((R7*bg^lN!;>}$kq$NpLU%e29Ds^ljs|p7V7FuNOHl4{c+q`< zy^im@0qt`frB8zPJ7PFc9&p_6gZ7DX_{%^ZbPSWwOAa~uU4XE|j+fccaKzE&I@pgo z`Ys1$w8LeiB;zrMLYM!JJ8V0_al)}M8~&bj_|fN_F^>0iGw77Vup7l`M~h4_o^@o? zs`8wp1nw~L=N;a(pSs{ELu=DG$8p+|UUVeWiQgqhRwkreb`(-eUU4MQekk6t$P>r} z$21o$8oytf#r+mg5zr z1ydaJQ^0WBv4_?^sg8Lc=;d&1p=%v?9Ay_G7U_=74(Pq>I8SN8dyY94$h_|ea8J<> z9KLiFJi~E|=Jbb-U^*^(2Wj=+jchd*U(o;bW;p~!Oh#6r_kM*_{J*^a~U z(DckPn(iJxci8CKI427QQ)p4us6_j*~Pr{BRtkmD^9pw^ATk;;e%0ql@=+uG3}bsO#)^M$Chh1J0Q=B1Son-UHu3=Z*K^JLKF(X^F!w=cLgH;t^-%W2ijp zd_5o1qMh^Up2IO`8eR1~?)=dL{+@7NrBBjNI#+##`7zG8rGQR3r_*2jIqmdX2Pv`6 zr40a`aZa{D?^$QR+Gy8v&J?=ib>6v@ZtY!gzHA66&Y9W)`Yt+ME$AJ+nE~urd4Gv!EQe7t&^D!u~Y*Dkkl>)75=b_U<3h zJ7T}*7eLS0w=`1z%dGtyqhP#mA5;#SIs2UyX?$QG=n0z~7y}fgc4Uk*88PJ8a$}78LkoAtJ~}t!!KnEW!{x~c zx(RkKMn*Q}e|j@UpMVG-##uU2a+uLYM*)v8qUl-zUxs!yOgqXLpjeI{;|%R^{TY6X z!5_d_Odii;jAc{cJI-*R?`|MtpATw53=3_?f*FPMH4I@mT3}fy;~1rEg)xRG$2pwg zPwN_61moTV*c8b)LswUxV2po<5sG3w%S92*SWCg57=||&{3jU|KLIb`e zvoRQfC{q|S2LY4H7^f_P^NbzE;7?$u zOd;=TMoc~wy~a35XB=u6Jlg%%GSvQHsAJUFL(zK1%9UVfU_{blr;#yhI}4cWjOCO} z-o(hIJd_)Zscsa_3~nnLTNslmU~FaVegew0FlEWdipEbf-0AB*!?0`v*ev7p`%mNjyU*CO8Pz#P8fC#fV0=tL zHV5W=QQ&Z7K1~@fPRyZn^c`Rxt3+{-$)gNP7p9!DyIh%ny$-oK1>frkHYC{g^w0 zp}s$}jRqlrxnLN5$Cwf1Ydp^ErcF{H)9DauK}?VDU|}$G_Yw?V2=lLn&?%I;bv`r< zV?INX(QxK_nUEX79A^VMk~#7PR6D_}C#RP!ih1HRV4|6ZrvVeg45Sp(lgwGVC@Plu z-g>~qF@2KJc#4^Q2QcwW9i@sTFpto~lF0PD0g}_qN6ZkP#H^!l>lx+{?G%%l4RkQ> zEVD`tzH`jS6M>n+w5Mc?ROTk~#GSV>-}@RCrZKl`fp&q}N=KE_na%d7U1a7afg^)C zbs7p^V%F_KUnX-iO(t2)JPHKV@!KG$vDnD7>r_qS^PUFCzXOSR~Gz_cSrf&**ab&xo+&i{%&C)NSVggU@l@h4O}$f~Af zDQ8w*6y5)Gh;`~akh-xp(fsVrTHTLM4^|QW!Hk_JYjG%a@?y>0!r*(ew&p<@AJ)t7 z0Q4{`avI}wg!RS-2=rzBKn}#CtWR9P;Kw?74U+s>2Fi*KV6CDL<}nuYaY#7M8h;*O zfvh(W#I)H3v39yra8G?XQzs6ZHN(-mNcvp#$R>PN8FrJyg8wf=Jy zCs<);0UE^`phK9^tQB-HK8D4c2enVK98)1FmX&D$WgKh#F{pNm^+hiP#j|=Te4oIg ze;;ILOJoJSi`LVu4{1G^#2Wblpl4Wye9$DbB6mRiS=L=TwtSX64&z+FN{<6&A*-4Ln~GS&OQCNu zE8s6QmazV!@81=cG!_C&S--9XNg1n{^0v!aFOZ9~g0&$B43(@3If|>SJ;NC7DweHr zH8`qSU(ghMjm6yrjvCghi@{OLdgi~^iM5O#(t6f%3a2-)Jjo~9$ojDms$FNDd>M*1 zvAoD@e1jF|fT3(=tt9tP3oHK07L)D95^w_2M!#_OllJgW(=vZK89tBDT3 z53@okb#a8X>nq5;!*V_W_PeZ}OpuJS;+SB#$7-Q#`^H!+V_@evYg;4vKPOnvc0s90 z)=mo0PO*5jMxACA)7^D5tgj=1Hp?m?Z_IrbhY7|x)+2O!@&W66njan5sg(5O$Yy*A zY$tXFeMJwj-=y5#gY4giV5l?uW11fivA1l&;JL6H_26@5Cp|{%Pd9csWfHry2Va0P z9_)wz2EQl!5=9)m*bx-v@@CsV0%d&IOPH|mFgu9SevYsM=(Fw1-ti%@kFry;Z#6yXrY88o;jn2w=z9SIH4^ob5*GiGl0^dRBwj5%rY+63qV71Dzr4a+=^m*@u?H zm@sxSADV`PGP?cYFPB0Fgh1f6ET-VXL8_QO8|({_gaG96@1W}kTq*k{>|^dy{P zcPfCE!oEy-f~oA$g#bOz7F9#FH1-o^V7S2UdI+HD?1n`kxya632+$06paV!Qu^*xn z{F&?@X$6+WZh8b-WV0u;AU=ov#U)T)W``(H4aQ z$hIy6V-Z^u2}#B5uL{st!e-?{#1(e47-*&JssYr>*uN#BC}-~q2SWv$Pq}H8?6)a? zca~-|@A7UFQv*9*-9l2A6 z*$d)PjIh^5gYphL;1r6x>@k`&N7*<3+kml4&Vyl$ecl}-JI>B10LcXVFA79YvI|Wp zrr6&f1j;m9MF+WO*c%E+?kqcnzApFKH#4CA9Q&7B=zPGoj{>O!hu4mQa^z(H0GpgR z>nRcI0B7g7C=PNSRD#5rv!w%khd7BVP;=o-QO=?(XVpmvbmR2V$hdRr3Sqqmr-!Z! z^yE}|!cH#^a~s{i>diUi2=P9gDcWKl<~&0w(?>XyZv)1c^Chh%j&k0j#BD#$9~7tY z=S)8gLjyRIbi(l%Cr$>{j&ok8xg?O2PHvbWPTVgL7|i+N2aIzFXM%DkLOFAkV-m($ zM`7ABibLd7Uf+@qk0=7i8uhZv6jO_+9)^H(k!V>v3C zyW=={525cA$H5P(#dCPyf-iyN>JNPrIg7tU?KH>zC5TVrF#kg18P3wb(3s2#x)1Ho za#r*J%yy3Bz692%a30X!GL^GwJ+wH_!BF5;<9z=K?7hHAiA61)lerxn7dfnIkYsS? zDDC_bhjR_snVi_~K$69IK%Sax&LI@9>bC7iT$FkazIY(%Y;qxuGDWt_L@`&rKMpy#oIbAKP?R&t8mL2{MD z+zt^{oHdl*QOy~osOdFMq7aldoc*tXua*;^gu$!h#O(!TJtu}d;SHQU6gFw(*e)#t z>2=NyIswEFcRS}{O5*F_RFj3B zoH-n2vFqY2plwk%XKXuAdN}V=?h z8VX5+9K9BuL!2%29^B@X(S~)Hv-=d}j&LGrMRSM4tOw&=PCrevqnw;@G~VNM&{}Pb z<7NfJIA^B_eG?q(HZ)Fh>}dv{;+RL!IL%p|46qrFv=|a*IdM80RJ_lLCZE(C=kUAW zf55p2@0pzg_n$Nv>d1Y5HyE9`{uDVlz?~-V(;=>ODSiVNuJj5_bLE~|2tGG%4jnso z=f=~<&4c?EJ;0vafef&FaXG7Dpf`6frGNWyqbNLlnCtR1{r`s}+zATa`f~qAxotH9b3fTp4_fZz>F>a0ml*hT8J>U=IzIPTy5ck7+2n^-$LV?)zvw!S%+H3;8eHXDEFjn!CjUm>6zkCxS!t!e>|7%g1!VUlZ#PHB#`p|6lTNwxa<|a=l&jpQ-okTH#eH-H;;U`k7sxw#jr-;WNUGsBThUs}Eu>$qj@vd4 z(0cBg`KUE;KcbwiMs8a*NUn3MR?r*6-9)(}E!-(`W43a=$?e<5z56l1+PNq5p-cz2 zoD#M>xqs4B*2S%Dh4$TC39Zh0xHd&6s=eHKYf!z(RX9V$Ep8kanhtQ+>A*P1)m;P0 z5LYz~wA*lUN)r=AK*pt(0Y*fTQESKc^8t==*oMD+`ewSB|o6% z&f72wMLl?d`_Smg3p)*VAKu6Fz;Kwimuxx0bEfCQm$&w9^d05NaXq)4AMedZ^!f7! zXfqnX`+6HxJI4F`0~CubjP2K@R9Pj)#G@jzEBM(G8Z~dd_JI&KM;kQfX z70Ds*EbqFG?w>fvo26Ggh4&-va#DGn3Wzw*dz&)M(|EOIV7$PKr5oqddHq4q_aZOf z7exk7`y7faUcnj^*}N@ub|r_GN%_~8c|GTVnadlBL}LNZiCox)JSI(yMLcdEielaq zpOXKxgeO*`^9s*U1JY97FJFVdj91I7={c|X5_ngjndop3t9SL}k=gEqeBaaixn zKS(<_SAGc{@%7+GSK>GHMxhz5q%%e=~UpPw-!$a6k-S_a+!l@@-=ykQ>WqZGnh5 z{>?uydI|jRYoJpS|2J~4pW(+aftJkw`FWUjmM?k+wN(C~FBmfUg_!`&;;&l)v}}I* zn_$S{e{usPm-$anL@1Ykls;8?{B{%A^ZDI$a~lrK2|k~03;cA%B>U!WIslp*{9R`- zY_0r%>mjL)zeI_~cK#z~6dn8xl=DSNKA1FF)Z98gKG{ zqh0eY{@WDI>*Mcz41E3k!X0QF;D1a3nnC_t6Zv0;_&?DC@-{z;F1#A%H|~O@5q?EA z2H_5WH|-Pd@;NkpjPe&yTGl=OfkrTl@&9Oo+2j0=o&w1P->ieANq%%X)Slv3K8(j} zn!kol+05|S-=J}pznyaL@AE&VGbD5Tw-;0X=L3Ekx#=7Pf7AEGQLuv2znuivLqKyt zFi3u*gMz{}P{vtsgr>AZf&dwmaS;e!hZU}ZRg|>rCfG=xWp_b2t&+S1zfpdYw_si< z8hr%wmjmUnVCn_*9TB`v86dubu1|qtJ1V&T8DRVbB^#lezu>12Q3MD|c3>=y3EruI zg~tVTSwIUElu>d^kl@Q))Pe<%K7(3_-~$RohYGqV^&?Es@gn-d1-|raM+jye!5%4C zc^(Fy5cuB$Nt7UcHw=sxxSt0}j7{*W5=xyE96JY^SiviF4N37{k$l!eRUMA8G;2qV7w$~r3|4=ftG@FS%SoV@MjBF&?Ar| z@Suc@%YqsKYPo{XHlxTB{J0TT={=l!RU{_>vy^2Em;_(byq4Wo8Lz{fuowQCkIR)e8M zQ2j27R>1-as<#RDY@j_;yI@HTI64H4X|TRiFfaf~U4rju?bI!(Xa{JIAjk@|UcuY> zXuK)dPkX#uf>;Ux_X!NgA);T~;qCOAF}f#U*iAw*0F8tCZ2q@apCk5hs@ zrD&WMNIB4cM$r5iG@KROn?!M6&_OfAoS=+O7C#UODBZz9_}dcnISLya0PQ3!NJOKv z@FDnwY<7o)uhWz7BDC%Xn!E65COSQYNOQy&Kq#e*LNDQa;}GaAbo7JXKEj_JK;kPr zM-J1Y!V@l#-WA2ID>g&Um!6DN%9$2gr52HylpqEJlt zu$&ft6^kKB5*8{U;;hh_K+g%6Ekuzb{EP=hQ-yzyfbYD}h0;ROgg@0`C@%>Ax{T3I zw+Zduhlq>9z#ddHg~ME^m?bQF8MSO-0{zUFg?8_u$Q9o4g1|iCHrfW}3xmmtRUpiy ztGDxln*U?F`QsMt-WnCt`yB$W93po@7tq@u*0IL+*m=s#M zDjcHd+%@6Kd5~KpY;8lWR`^IXiaOyfSCG^T*B(Z#L8zmhTcdESAK2H0-TxhY5Z*oj zv>U=ny0WNQ`1dww(ISi?4{f{f1Nz599l{nf*gJ*G&q9kXVd`I~bqhD!zCve@@Dtjw z_6mo^XuT<1Lwo64!gXBK`h;T2H|Q6R%tEyR;qrgMKPW8gM&pn$laI#R!eKiU!@|NY zh#wIi+YJrx2)P|F^sdl@W}i{vz4=h)o^ZAW&||^@+G>ppC6)A%nh@M==k^jX*v|}wuJw>q_AlFM2^%-j3 zqG#WR`aYsR=@Om8qR;}EeMEGb6!jG?eHML3MW-l@+fVfOY83t=Z6rhlh~}M#PRB$8 z0kH76sBZ^~K+!kvz?LA>qakA(|IxBEi z^u@za^qfdaXID~0b8gT+RkYs=nCC?X2?|@9=*@D_To8HF3M^feO)u_6(Wer;r_$L^qMcv*|^u8$XFluw61OLUi zMKQF7cMvaKYy+C3_+o zKcKwR5V7|bu!o8{w0I8__kRh7aB=ivP)3M%le;QXyiE)(PKe)GhsG%Jo;P7jv^WVm z+3aG(EquV76n~!%nppAp_mCSW&Td8HDe+%UDB{JxP`+J)SQG}iiQ>Fk4EGuFE>EB( zi+9lX@2vRc6W}{1-v2U4Qp6E-%}=V>pZ3Y;#minpElq5rPt67Kei+`ka65By@C%5`Rl^xNLD-HO4DP{JaUZ%i@c4%q&;DHwX6SiHlZ3 zV7^#S8TAF?1(dp9DBkx!$So4zc^tK3v4jp-m58%`MR7&!9RTf1#p`LqS7sA`auL|& z;*up0SRsCfey2+Dhjbs`Rk0(vtE*8f!gQQ9P%3AQ<5XYCGu~~dh0)`f`?Z5#HTdSD+ z-)2X=Y$0@O7e7P^jU8ekoeAy~?~j4rUE+gh!O<>9RLUQq4@I^{a+(Yez$!GH*@QmdBS?HTADO7;rtYq0gpgbpeAsBrrl7Q`CNR{lQI|$B8 zK8%7gX_9y7s+J3q9`Zq_OTs-+yD0gc*6FqkNtGvbyCnH_7tk^#OWQGeS(2sXOU{;z z(c!TiNikiXby;F0S7)xI`(yCuNz@-g(R|5$dN&IsniBn!zydqWZ@hTLY!#-{+* zA_=6NoL0%MMhrrmWF!g7v`cKxDztV;25I%)DM|SlMVI8YSHRdU$)hb-kHkO$o?gkZ z*T8X8a{oI#5Vs_6DpB-FK6?yu`z7AAs~eD9qSI4@l17?sha?&E0DW81egparODeSJ z8`BQH+5}HY zexMKEw8WbM&>6`ZJye^Od`KR#`;y2%fHEi9M>ohmkoYM9?I3-Q(y|<-Z#F?0C#jI) zXwFi5PYlT+sa$CTsEc&tW)!Z{e`_JhP5S2yRCJdrmjKN}`p+Ynv^}LCEJWcYZKUKf zZ|N^DfW$|dLe8(l(v`7L`-t>^lpo>%Q@H1Q26l`CC3297-Gz7J5#m#(`CngVGdEyN0?vGm0(lJ--&P_cA+F={1J z!)uUxMfxZCI7_92x4}>*y|5EzmrEa_S)f9?mv*6*(qFHDUb@nX->^ZtBMlsl(l4h$a$WjUFVLE#|13k_ z4e0_cBsEK~`+}rJnx{cutF*cp&~4JdohaI++62h$kaq3^NvHHt%4_P9+P>67Qn!>v z3+*0h*k{n9S2`j(rZJgO-pkFP|Qf>S+HVO`jrG)+?QTGiDFKAj{;#2q)~lP+d)=Mxgw6T z=i(vINf!GfY6oP4H^F{T7TgPcon=>O33N#I@^0|C$ZqVlK~q;*T_tGTWFg~#ahGl0 zj^EHj*8BuSc*^n@q2?v4rG<^REQ0R*@{u{yI{&cjo9|H^k$q0_5?>jMk}i(Q9;cis zKiQTo=<}C-T#3E_S$!Rp36!lQJA-7iH$fRJdrM09&xgo-egaLX>_I7tFxe%#5hPqT zJRgG)AuFSAYox50vb#>mR)?a9lCkLQcC>8qA{ZJYAY;stLRIU?IW+|1=;p#)Y4`54xn~Xc8Z+z8M1wH@LiIP z52BVSDp}nG7wES$>83 zg)+%rkQB-Kz6Dyb?8r(`mdMIvpu8gE(ecnySsOXq%Vhf~gQHSbM0c=Wl}QaisgjK) zg1uTccN&9mO*T~qxizxCDG8z0CiA)jjyliY6rACvh`;0-IeXY4{J9ntG^Em@5y%37>>#MHiKkb zX6XUSgsk2OwI^i@ZQH;xCHsdic$}8KUJcM0nKPY_nU#5t!lwH&PCvbBvTOAqc_90n zuJv<}uOCFsQGT0tica!gItF+^Uc49r56X8^x~;SP+cxmI%1>GWz~`$-iC-N#1gv2FCcvQ`SSb!}8C_8+t_U`ZPrN$|ZCk?NK?0j>q`P zmo-C#zx}*D1{Ma&x4nm2kUX4T=3sfnBVZ4azexEFq4Gg; z(uc|aXr%M+;qtx}0F996wxBgqK71NzC*-<7)S~1k@1Tg5C(!#BBVR{8i<5F+CFI7+ zA4`E2aq^RoK+-9BNC!ybr<{)0WVKP}%+(V`^zp2wit8Tk?s`jX}I zv*+RcJ1c+VSAd?Am(ji`MV>>iOsYJQmXqh@zl*@1Cf`Ae;R|x^$AC$fuR4X|qP%bv zax>)fUIyhQdBWcy$&_!P$1+R)P8RyI<)-tnEJywXIT`Zgdb+GKU!FiIW(D#czoO4p zD8EA6g(CU$3!rzge7zTFO62EgCcYwHK?g-j$VBg9{mPhEv&HS&+h<5??z)(ErfiJu9s($W2?a?_wNKv zqdbDvsMqD|$qCgYZ{3UHhI~DRyqo2Lze4>MdG~yfw8~49pm&@6$O+Wi<<7Lg=#c;V z5VYu&FMk}MU2k8%UdbyXhvS> zj>cKJ9i891FBj8_Vov^55ilRf{b&{JpkOwF(ox~n04)wG=4>?0IxEgZp*W;?leSeZ ziVa&(xGG{}pqiVaiKZ=g#gDW?_E0R#2BoJWvkx^Nh2d-bl!q0|DMWunu|FP^z6x*J zsvT8GPC~q&qV2ypslx3v1|dKZOIz_{3dheua$Mn^Me&C~g*(j+K?)l=Zh{rbQjA`R zqV6n6LlsB(fC*D9q5wd+B7^?tL4;!KDUd`e{Jw*RCluK=po~&U zDK_K*x?B-K?$ZiIF9nn;6)x>~AZ%9^7hNzIRf_G~VRp4*KHaH!O%c2nj5UhU4}e{( z;4Fh_bqY61(yCXiG{Uq7#l}6*uu*Z<1eogzPgh_!DO8kIeM8arCrFwV&(J+8Es6@d zprciB&Ik?L6uDe5v@5J;LxLxk|V!Y@!m3! z+*DlV0PU8dlCll^6ahbhpU0Y03x3Fu)g-23palE1yq9?V_@QqRbh}ye}Z(l2SpQ|4d~fc|Nj~tLhzP429zhs^)RS3(dpwMq*#azN$%H`ouV4(FlKS!GWt6o*tJv}AKp{ooEhS5=TL9yD&MFX>#HyXw~s7%vZ% z?;pVSRPC5R%}cdfgqpW%7bR!d#g^i?Kdy?Q?Ps9s4e~_=slFPc^=Gi^;yVx#qN;ozdWWiv3(*;- zdV)Tc;i{HqG)AZ_$q*Q+dP<7E6Ds%P7?LQ}&!-?FS~W-8&luHX8-RUM#oiAMV^ucF z2#iyGL+9>Ksje(V5wG$vLA3;x<|Wh;RpnAT|8QD0heS-fB-PF*P@GX!p9M{_YNtEI zpH+pffZTJcVLis_yz0m~)Y4R!$!m2%b<+oO(^c0-An>B`SV(M^MXD z?Ldx;U6yL`R;Zn=iX<0Jj_PR&hhJ8G(m>}Qa#edM0Fb9zwigQLtCnR!Zh`7yiZK+b zwq@WqC{hiQTfSKJD?JG%s#SCY!xhy)82Cz6KTo5vOtpxLa+L!efvHgKTnVsB)yDVG zcvbZx9WJO+EqD!m)v6G>kMEi)PtmF>h{uq$sp4rF+OE3i4d@P) zmY&s4)uq)Ki!Rk@G#a~Azc+)j$EN!Fd%*OnTHnRs-&B2c9Wb|4i*?YuPi6NRwCGpm zehGmCs#o)%+Mw$FKhQU%T1_b@w^eW6hlazdO=<`nQC%f_@2I5oRl2Kse+}f0s?umK zx~KZB7vjfMTUG*dT(y)ou@fpAkD~IEs_*}YVoG&=ABt&J-4bBWsFu@FiCI-EMQ`q_ ze76E^PIbE)0w1Vqyg=!oo(;rUI;veBMW2(pPl4a}fO^#oEIg=A_ycmC)zRd9KBV?+ z1&WJ0hW;O(tJ)9+W!%)C+G4@suC`i0GkGuhrXtjD4 zMU48>1{5dNh*98GQy0)t_c(PI?dVUb-=HSMqk9LCeta`WzFz3{66iH4|r-VS^RCVZLSa@D-d=8Ci>QyfQ?SlHZ z`H+;ZPIH8$i|U6d#Gj#d+y}}_>UHFb&QyO+1DvIvrH4CP?Hvw*IqFsE5Oi7n?6rvE7)OGarzoKqa0;W{G zh_ai@)IqC3Qm$S$50Wa>UnIiNO7+d3(0En-P6ha?)L~BOt5zqd(05Jkmk32`)YC!G z&{nIqQI<%Zy1oUZ_39jQpfspIr|Yg7)ti!F+I4l+02-Urm$K1#LtXM0V=;HvqL>X0z1_j3dwY--N1bQMKhM2)w6WPX`9a)Dm)qjjN0P0oW9@fcR;(EsR3XGiuo* zXq{E#f=s+>YK|0I%&GG_!T3P^LM9j;G{<|;=ct*cv2@aeg`hZ~@uz9ypeA%FD4jL) zr!W?WG_Le72wXIxCSba1!aZP%n`Vsi-rP0fA7O-tM#O@6PmRb%4rVWn!Ur7Qnh+~$ zJ{rsgc-1tw>8^((8awia`f6$^^n6tFl?7V(X-p5}De>0`Y0VU%iR*)iV;VU{FOO?P z1*ipT&V2+CL7L1b!5*w}P@pkHliLmUP|cGM&={sso~HcIa7~Z_MTBOM4Vp*|_fN<@ zq2WFZW1=+QQU+wSCYciaVl;;+hICSMhK4&<6G%7p#%c1%d3;K9lG4!PHTU(POwfe+ zfFx0qSBctb&E%&jk~9)>E}qe}(nOK0dFsFS@2uv_R2Xwk6GcUe#)BfOshaNukaS)n zUI8uAG^H>9#xzg9jlOYB>>!Mo(BylfHmUh(3j|JS zHZ#FKtx2X>=#0h|MJv`>jf!qqysv561ij}p%Ihc|Xgp`o=b+7U2cx6bbrh1Ew3{h1 zb3psc+o&DXu9yRivo@b5zeC#d6w-0g230`|SM4A<1l+Wq^ozJ_=Y>K;5A9PLka%hz zA3&p*w!`)dM$cOt_y;8UXp7Ebgbr(edml7Mw8zN<;j8r}lB3$0L}=)zZ7BtezxLc= zGzMt5*&z3r_LWIUI<9SA4U#~uo{k&@Y2D~E7_9yM1)zjzBN|~+sP_HaD8jS}ln)uM z{q{@x*TE6m%RfMTq&AoCM>wHvHGw8d8}wh6h?f67YB5N2hlrEf47zL~R{QcC1|d%C zMmC+&*8K`&;8{6{V2Lj8qQ?#)!*Y?Ch?+UGs{M(gUPkR`1Rh$1N zRIAcHPwCs$+H!iEu4x14R_Pk;H98VmtKCV*KI*jZxx&tR?fYY3XwcsN6b!aTZPD|< zzOG&J3R;`Am)F6x8`@PN;BVGmrDVqz?KwF>TeUspS#Hx-5?Z_VD|hsDXyb+e)2X#& zps!2YzXP^(YaQiKv`5>W4|{vH^Wgp7{j) zgW7fqAPi~mkpJ|y_73GU4{P&F(Kw>rM7h~_v^*7dz|i~JLq!0c)BZ%s z#t*cc=zlsn=*sD6qN7elspU?(Rtg~>&b5=S0hmBf1B) zWAxRT$cm#n133%*bQ{J18W0F!dDC zgprBWO|Hdw#p~WAZ(D*+RS1SeUBVtHldAhf3+(f{XKBBhrZZEb+y&hal)aO#`v}ywlcRHGL*QlId@pF4tF!CG$mZ#` zE(UhK&i!5V73k#m!C$ER;UsEBx>Cw)DAq0O26lh8s+;ta5IQrC2Xr@>gGdovR{)#`HTvr?zC ztAh3Qx+}L(H0YKbKx3nB!Ly*eu5+b-EZ3x4Z-m)5bb%E7Y1XBtLG2dZ<8*4PRkw=n zOlZ?p(^sWk_sB+Q-=W)l4Slvw-G{G(qf4j%5=FNzu>`+%kM0CHM|*YlF9GJJZZ|C; zZ|OLm5YeZ*vmCX4os7Z>13F0_#(7W|5CXIz-SGsV+}6#|JU6UcL3g2!==@f|-aEPq z+HBm_y-#k5F`aA>wQ-xSx((%o?)@HMPwLv*Abv{sa5T`Sbwlf*#f+};DOfnG<9&t3 z`?{nbAa_m|LYYtxbl*{2*g-#kBl;ZmOXR?I(tFGU!vVe31j>W@X)hGc`f}RPAJVU) z;}b6W9*VKK>TP@J@p991KZkgCeZK=pJ@or&GVs*zq5!&={%=a=@z&oUN1%`XO*-Ur zSbuaD79PQ5fN`H#$PZalMT$-3rvlD^UdL^XP7uV0|22 zS`eat(dL9|sQzoZGB-^B*zeFHT)&Oxn+W|Wa;iq@A5+7aX#LrpXpGT+xR+iI{dYUT z7pqTx8LGwUuhEq&r}RtTgZA`l}=O+eq%diP3DCh5Bv5OhZWZ#@i5 z*4H1V`1@J?vy{McPR}DhbBg}&)exAff9G!~b6&qA0-$O7AIQQB`pku3NZ0QXxhPjJ{QxKh`uR&K z{!plY=5xRl>FX)ux>)}X&FdxlJ>e*>=%3vNol5nwJ}AocZ?^-jT>pXr{1y6gB(T_3 z>JOd5Pk2>-gZvp)`qfKdcC|j{HAuRqH%Dr(28g(+&!9N#EqwzAeSP{inhg5&qeWmJ(61&B(V%|UlfbkM>4zzfep@dn zM(42p8wxy(=;b${;vN0@6o|j8uY3v?j_SA70_~nYfDQ?a=_Rh3PU+{JfojwGNy^@t(K~#NzFB?vMvU5h{d&r8pVOyDqVa)EKkyzzI2g7*21Z9i zKK=7XC&O2?%sF5f{|U+*G`vEAC1=A+bZG66;ZM3B*~KvP1o&MInb|;dGw^AGayQJ; zN5;dzNP@kd1{v*gybQ}DK$ogculfv?|nKrbuC!fw2%jVYuNa zCBsD+Oq7!vX=tHjxD$p=c`zx;5PB0R(T1;Sc@$&tw_QQ?q~SgTjIoA?DJmalSW^y; zQ-(o0w-Ik}VZz=7!`CK=NHk-fgbtKRhIy|5=8WNK22hd>ay@i9Yk1uTN#_hv zl=Yrscsm?msRjcrqR$&19KiUd8+s3d@}fbPW`G5FK8Q){q1 zkD;tHyhhpf^@gQ4fpXozD1(MghJPLD{_7it9rwY}YIxianzk95@LJfl8@?xRcZVUJ zVppApF?xc#4862W={6j5N6};OpnHLO4Zr`5LFhA_NCIEK;iLU11`HYVKr(8WPhqBU zLqj~Cgb9P&ddQtLoZbv&rVLLyQT$=ru*MIhGloA30CV4vO&iWR!*7eh@xajRio(%& zryHs{8N1#E_5q`qB6iNkp%IvU$au*CjV?z2KY{IL`h=Wgt-0E36|jtcgA8hvro zp`DlU$KS!{V_Zm^=fg(9zxdH?M~sh^L4==C_caQCW5#lj1{kZIz;Ywl z(fB`%%q6221+X)XwtW-;$TIE@09v;3ng&Yc7!%2Jl52d4vb*w(VoLeSH_G)8Uuc}B zG>IakvL3Z!W5Pd>d&T%3P5q_D^?!i9%($Eu7!}6%NK&OSnZo~9jqPuuugcgu49sfd z1TA#08KZ5KwoqeiqK!$dvCS1Qb;k7}=&U!ceHkJej0fm)iALip6Z)ErAJDh)hEXz% zzGma{%P8864NS1N8yBTQ(GKIR2qc}xGvsCHGR}sg=r$(W1GC4tQH!DMHU32li<`zD zo}%~fmT_$xTKkM53YqsCU%Cj;0pp*vs~a@FPWfCz#y*O(-ZrkLX>!=Ojut&5#_303 z{axey9FU9}O&3tRXRIK~F=GyWRmP3$MfeRSj7{`9Oc^~X!)DsJcpJpd7&jHt{%_8B zXEDS-FfOC%!@=~+3m|ngJx5;vC(}#+-S}xbN*VD7O^N@4-`V6sEBiyHlWS3PF*#A7 z#nrT$LS}BJ=jakDchmNBAn`CQY=9A-rbLI(`!Ru z4>N6~{ILj=H)4x+ktP!*FrP5(x`5v<%2Z1W-DuM^&7?7=X7Uc&PMTh=Lu;&QyE_EN znJW6h5pO#70YDQ>=N^LGM3c`1iX@YU5;D%1yy%j@WYfzO)K4+#9l)1rs-Jx-IzbOEhZ_2MkQD7Qzhu(#z%H^mPneuc{6#xC5UYsi?XF5VwYFfDlBxR;= zDF{<;y6lT_sxWONk65MYyGAfvHO-JWv&wYL9Yu}F_H8j}YE5fC08O3A{U~VaP1Z*N z(_kthpGBi7&ktjH-L&X2fHs+)q*?EV$)g@cv#Itt3~ezr{euB&HHnS@rOhOH3w-US zX$sSJn8xT+*J<*mB%m(SVY*?h+w?X0d3#O$whdssX*%Tynp-CEesuPm<_my5VA`1k zn+8p0`j7FqO}nb0#jt7P-yj(=?W+RG9aHHaDDIl}(RMckxkkF>^Ff#?`!c6BKnb>sFxVZeB#YD^GLSO^EO^U!!yd zZ}T+eT=|$IZ-Vl$Sx;-}Bjzvu`~MF|&GjO5`kBYcZR~GWP@3>D^Iybq+`M-iI0DTd ze2B&nbIUlC2{o@CMiFLS#DX&6=6`A0h%o<6{@O_MGqi&_VSe=~G)9>nqv?@1Gg#=0 zF|XT=+DY?Onx|sTAFZbKXPlWuX+NjT*I&V~#hafv2uTU%1Uj#kXpW-?;6Hd2Y#B_iMBo$%=>=> zO1gQ800VTpVw zyR+q<_-f+6%c;=CN;4n>O2D2KJ2kp}!$;)+|{8EAE?D zeF_nCWpm!^!dvt$hwyQX^3uv^+^ZEN6>?JaLCCKCjp? z>Mj<4ir2VW5^@3KW>Hr`MR&_~T19(U!tS8Y)AH74FnU=AzJ;RRmJ$)h$;a|1xxf!w zzL^Bd5zCjfG557>phI#;Ev`qv=V!UG2Zg^Si6)@{OU8NVd(83%4f=7*ZFjnVBG3{{ z$JBx>OLjrUV9U33&tr(il>!K%mIF6X3$q-fOB};3BeZmju$=h?eUTOo{U3)D7B#u6 zqAZVnkG^P2^lQ)}#&T2z5hpEg(}(MnWd(VS<1N>ZqA|hJMSIyq%P>wB+w4wTt|ovn z$@0Yiz<9<|^#o{=EpBv#`>bVNCFGv7)P+Fr6pOSTFsYVj9s0_o1t%(W#@nAXDyGUU_@;>miH++=Cb8g zy3{wv#j0%F|qsHR8 z3RcuwhF3vEou&CDjB}&qts;KQS^bm z&GO6RsI^=EX@uGx7C*{G@3h==fihi|)~A8lZSkta1JPr#SwjKZYbk#ZBYV^G6s@an zS;i?*w$Jjb1B!l&g%W25EX9Q&8MJ&f4P}Nba};^IZTVmUL=0Pg2!$3SmWMSEf5-9* z5904yE`0}qqn1Q^neSO@&j4)9viBR1j9YHFfqlaAu#Mctla|etAU|bk@d5U<<;2e* zow3ZLLu<2^_O*byZ~2V{k~z!UE->bS<&8anaj^bK-WW$K|0$q2S+@nE?|}7XG5QW# zdnjV(Y#l3s+J~$;wP1I#Zu}LP?$&?l4jvC{!E>}#^t7fj!0%-pTLfdgtxcameIM)F zwA(*y%~FEoi1qVLX!Nyy>H@T*)=P8@*U!554oLj1V*17fSR>0Zc*m?Sh63fd^~6IE zA81Yg6LN#BDfCkWTfcBbV~F){E=&rwruNhMqcE$Lay-MW0ZE{VuohDuN~Coa{kMV> z*3dPuFv_}}ex_*aCyzjGjJ0P30#90xZ$)FQ_4AJ~_;J=Z=%$KO)=?*D7;jxiXKoU# zC6rs1XpKXvi`{8!upKl^vIaZ^lrz?c@6!F($yV&-@v2!pDe2;z)sC*iO|hEkDND8T zx1x65+U<`4O0&L8&&37nbF`*Tx9;Bw(2G_EnU-k{odb53)tUu?*;WDVwQ{UJM^Rk1 z{zivwa;*c8f+Wv+o&M!rzO`#L3R{8IN*l03>!#N*z(rQ&!w^_(T{#cpORNcX7_TeV z2TK7{YF(NRk}~VzAE8CLwVBTURahUV1FV(St+BA_sx_h;eO1<1FF{hZb)*A|UbD84 zPqoHsWkHKttII)XSoeR9t~;*F>id_5nw6Gm{j$`uWo2e5pS}0qq;1nOv(hYEYJC_A z2nYfy-~dF~TR=qFf+!nB5Sg+CWTWDM-}`+3y03fhd7p8gb?-Un-p6sQ3Gh0*WBq1` zsCUevU41tk*$cp}!7;HB#Z5=kTTrIav63=KnjDq1)uGw(+&TbS9Ia16?N-N^u7O*d z;}W`}w;ZiBmu`0qpy@(~W9~M{?R1RX51qOk7q5nf-HyvCh|=Tu6h&)$9qn0{p=rOP zS2(Hzj^EH;$UBbz=K|h?jwdu=I^_6E3A7k?ypV~$5yy{celzMge;(M3Ifm1;Zrrhk zGBG9`-&hLO?m9-6pzoezBROU6I}XM}?McU7$hL5J;COHe2KJ%jrxwV2~=(!JP)LsSalZ>(_0El3)Q|S3S#fbR@DxPM%MGL=3 zM#*k;MlmMH(;CfqJsV787*|$+B%X0n54j19KS}*W#_u|aPh#x51>VVwRn35>FoN;{ zPi36n1@UJXy);~DjJ633emdjnH^3}|;Yzclvy9I%Gq*crGEP56>p8}^v{uVvY@jT< zY{t{8aVc^bOv;VPWz-j=$YadUhQNGAIQeD@7@<;J^g>3e4mMq6G|(QQBF2sw6eWz$ z=tF;*@eTz@uP~PSgIOtK>pB3+7}w;mteo*`KPc@Lj5o`mO(kQGC#lvRP#~?H?sy)$nlaWbhA~rHwX@T6#cTzBZ6{>?lUrK&^O7j&!J4J2Mkdq*gRzXPRX~A86wI8m|`4OK#OTc z@&?qLnG=-9;=;^c1iUNr6dlgFmsxxr*LNS2nSgO}XC~9z(v!KK(m3}sSN@2r<;9Gk z`}hDegf@-&GVdk;;KxkfkJ>@z7xpf&@n^R4&>FxzLiuNb%yZELG3uRWC^aw31&|XicqHiKfr}C$KC_$aAs8@ zNKP{Q$ORX{WKiE}=4ms<|00>KEue{Fa)M!R43j~g%UGs18jW$xKWX9_&vcIgB7ymn z2l^73`4rpFVBV!|!)KY7X|qfwGdK{conx*)4xU-emv^Feo*6}shzraOlq8bPoctBF z9OifA+0A8MaH9W@j8iew;Zxu* zF`uWUdbyz8L)01?QGvB4vQ8`mUncfx5n>6jNWO6rPxT=^d zZ^4LaCX-FiUk&pSB~M&sYL7tRHD+=n1lBTV(HrqPv)dbpI_3!<7*o&O{5QnkVE#rQ z>IUWqvXzXS-eTdE;W;mVj*2`S*ze7uyi$4RmJ|^#X6#dM%*Mo9^S+@kWA?8}z zF+0qBFb|53Fi+^A{V3C81*{)qYWZj!XNFCom|*@%IY@Vz5Wr0grW#xox6k~J<95*iP$lg zkb&B9R%a;&=me|pJV-)Wt#qP580*+vz{6Q@QlRl9Yt#!8B3NHDFczm+h4wlO&1u#& z<$*=A)_o1qDAwd1=oHP`N7I!U)>?`c#Il%_9~j5lm;sV_)-1{!O<>*ALPR2KoZJ#g ztk-GRRx(RXyRTAMuWkh{m8GP=iJf6F_kmd&Yi9*W(plMDD3if@LQLPkv#hh%z%7&Y zVgYLBSgZG8pt4v8WWb+ieJDfi0!vN4gKXBtXQ6ivD~1++xvVwh*UMwgI|~u{tTkVP zO9AWKMbNO273~d@i>&7+p;{5Ei{5X=tY@;o^T_q za#nX9bgN>;&@{A~RXl;BhIQ!+kkqpHJ^)^4WzpKBjy0Ros~T9pkWcp}YeEc?MwUO# z`de6^&{w#XKd_+iliOT0!-(emem1 zMA{cQF3P}qyz zNp4hcw(tNDKI}CM!21B(kA<=DWgBWC!jIj&1Gt0i?d1RTXV1w6WdOTI1EzuO+E5I_ zA@*#VbsS+==Yu4Oy(k}Q2eYdefmsN<^l30VYG>!s@qEYFp2=W(oc%^B5GUAnER7vP z*>>8%5XSy=14bsCeVc*ClkDTmp=bnqoVFpIV*g+V;52(J=^Mr7)8^P{_Ng~vVGMhM z{L``Q`E+68*s4F!7|+h5IeY@U>*eXJAsa`sEKKB!>Nrod1&TSI3b)UZQoHF%Y+=YsMYn@gJ$YT0LXAi2(7 z@gs^l_Vb%TQqSJjhrz$WuCJi=UjuvSG??CG-?@#e*34FZkIokM$21jbWxx0WiZ=Es zO7^(LekKsS+u3U!pl=7eXC@ju*|uMS>tc6MzIZqL(q+JV*#Eks=wrYBHTwG5x)9ho zz+Od%58Pq@+yX9x>?@)4{0*^}^HCjU|4cc!BkVKu`5tA57l7Ls`xhF$d+bHQU~`{+ z(FJlR**|QAz7Nkmz#ZYNS_+aNPM8U!9?Z#(fxr;XtHBtcqZ|fBYmae$3&IKR;2RLs#0VDv6= z`sp~O63*`_Q2Pq!k8a>fIjnZn$~dm)p-ef)lR}ymoa2pPR>`T!fuL&6LJHp0a9R(+ zma80llRHFQEyhA4a3~UVcKcF z-osf%Zk%4urw4$z&Dld9#6Hd;3KjNqPV3M(z*$F&(L0#(GJrdaekzz z&tuMWsgOIxX?+E?Y0e*SL4-5+>T_sx;dWg>qbqmiIGDO|8!}+%UM`*<+}7MP+d<;N zZK6F6p4`k*;P!Jj(kH`KcZSRUx%>OU#h%IC`8KpU$Ms4D?<{UH3#8|{ zH|hA%3)~g7@hF>nDjSF#uCND+=5oV-0x*xef%1{_xo2Jl(*iE{9l#5@9~gkU$Yp+s zS`jyz-j>DOk4WGZ?iUeYR?5wzDQX$_#b01&xt%*oe!U9rCb}e*-0bB5R&nQ9Kw8ZW zp^#_|*M)XnUgds68y&B410O=eTJ9R!b$Ok;mqKQB+#R2QvYwkp=fB+GZaoIG8@OzG z%irWKbq2FW?z2TGnz(mqUenCoy%CfxT)TJ%3pTyn-Dv>a=DzC*$^q`XG||4pZTkfzgWUFy zfE(iGx}i4A4WQ>>g!}s(6rYqH!b#(sxG2V}q?tYwC^buN5@ODt7B$Riac9ezj=F?WC2p*pjUrzBJ z(nRbuZwIYwB6)wl2!T;N4?pxp^ZuhGu&@_3tSFnIYq??l*Az}xgP z`U-h((u&%Ck+(GuG)276ydb`qSMnA#y~Hb}C29#T(G7iw|VL!416EYiFP&i^WIwq+yJld z2sFRLd(Td*pFy6AlFWyA3|fo~^Cs`2bA=JT>2coaYap56HBUjr zUEbsi;C7F9nC6%Fd5h*l!%5y;^1VFZZKJF4khjGVfGM7+3(Tf@v*^3%%x_o+)m->K zE#w1n=9^}htW1T<0omPSY{OzxTZUI`VC@n=_|cAOs>4@qJCwMGEL`8{s1_as06HH<|B|KVS-=@kD8 z9btBwua80z$l*yk-n=Q`q z8`eW$7JnQ0w$JlZYfxO^|M>&-&E}6#N^uUKKMG}X`K1(r%;PI)*-dgt z80UI^98Ga<@LOL-V*~#!a@gJEdw8O;kw4TANlpBDv_NX+CkX&(;jj4s19XeOopOxY z`9ccwb?`l30HBlq$|m%6@eggraCP&!uR*6C{`DuJeJ|hs*BX?!`9Cnht&cw^1)BEr zXVO8y1N=04jo#r$9RtZAzmakwhxp-iKMwPQiebzM|L3)^ev}_cCufZD9nL}EIDgMe z&}o9d;vF!%%YQ(puH56h>H)aVUq*X6C;1)Ufae3gw><&e9`Z#CLHdYaL3vM)`IBi7 zKgHkZ0HBND6FMKlRiK%RJ~zQl9YpLE^zR1AKEZaf-d*qs6Mg#y894xW3F0Wk>n*4Y zMxT$sLZO}mf}gjb@D+SbOI<&K=@ksnK>_w)1K}^|h=LXYf-Db=bD-eC1&BB#_-89f z4-2Hr(04>Iy9$j#0{u?#4i@}!8%2nqBnu=*1wYVB~A0_zwA|yo%3TfdGBbfUtc*hEc ze?ViLU{*4Uc)`e%keeX*W(Cwv6ud}t&m_T4NHAApAe5e?j2l4i&Qnb{0r;1kckE zPPqaVIr#GgIy!hKUr_Kg00n}l==^~~!Rp;0xhRNvJ)sP1v`gPR0&cmQB(`sDYv&q@C0T4Top*& zVbe9i0PU@=74*?c@VelC$M@6;Iw)pQFPK(=Q0o$yDc`DF@OS`4k6;?# zY=>UKvJwDp3$~I=qEC=rfWCe~<*QI_Kv4ZN2I!7p*M}$u1>UrD91>g!!H^6KK0Ss} z9}&1Yfy=0X@gKyG3GDl1XdM^4PiyQ6f!k6b?h4)>gH87YD;VH?U+~*G@SYS5(>wox z;LbeM9t!5scJoJqI?9Zk79>-w#aS482V7i)PikPjtI+ub`rL&24yElsc!fN{i42_p?A8n!V7D_yzl#lRJ@+BS+=C1-bU*S4Bna@x78HH013SVM_ z(qH)29^eCnA5#WSps;8=ibKMcUqawv;g?rHc|@o=g~lM^B&FU23zdIE&@o{ddFGD` z-#7>^Cxjm^BM(xjFx>@`!i2+gqV-AP$ zneLewVK6z4V}+a7KvJA=$!Zkw!V=n~kthuDgoa5%H!>+%*h$BpqzGGRvu&zSF$e?G zgb#G|{Yw{~ybXaF!tW@r=BzOIF=#S{uhOQaETK;*M4T5+(w5Wpg z9lOI7p$lbAmkCQKqFydMPD}L);hKM;ccrj#8r-UcGg`pAM)=K5Fuf{NrlIkgkWU`X zT47c?;MaxsPowdM@E>|lH3u*6~Cd@E4)NE%WYu`Egk!W3CY0q z3wJGnqygbS8DM%xxb`(P4hcW{-<>bqLA4R#7)5GFg^hEe;h6AjAm9^r;i3?9-W9&S z93t)seFwpNQn-aY6c2<#ntMJJHc-6mvCx%^+LUnT2x`;9Sx%@qi{7U_crGG41?F5u z1?Qo~K9N7kbr+pa!?p7eO%uRV^mGdV`$dP@=<^Z{e+Ff|MfR6h!B8L3qQxLRAnIlV z?<*Rj3~)cug?OlVP*g!N9)FS58*BnZ)wJde6p3iZ)*;bq1=t)G$%nx7i0ITFs2wCK zqP?@hA}(LH3uQ3SmO&WoHVzvY5RR02h_Mek8ILyqY0&r!=2J$Vu& zd7@>sipUqe6N<(H(XTWWDHQc|K*B{)-Zk<;7Ks|P7^q@V+#(d0M1!+Xl!&DC(!DI& zKzX!RL~6>VEEQEw!n88c>oZYQiegg0v`RG5g1%}|2i@dXMd1`exF$M7@LG}WBJ`~j zZKjhx>P0i2M{z^+_b!NU5GA}pK9HNDZTC@a6qQkos7drT8&))nj*-GGqTz)oT192o zz@|+kY=+!hq7qu$cZkNfqOVhQPlo%dOEfnXB;6tjEd_c+J~L4371f;pEs%JAj)3@%7-FVIB<_dwaip#h-RSQCGXTlGfO6;_4^SxmWx&y>|AAS!*$R?&4<;qUIq^<)Y71Jd46@UShW- zi1!vd(|6ZLypclT2gLU&tl}$9A)l+C_{HBL_n>%y)^GmeyE;$?h+q8*wZmdIB^4bJ z&u9dfAhF$xlHG#E(4Fe;vy4xM~J`Tfbx|1ub*%qpB8`Ji6T<`n7j{B;*d!ULag|8ni|K6eKGfQ zh!+poe}ftc;$VtdCW`-Rffh;PtJx@$#s5dSFDc^o{UAvdkI_r)jCdghy3)iyQDi$^ zymdDe%@D8q47|^Z7ybohGR0eeg@|+FGV=OoiSJWB&Uvwu1NttAwKPr17JIw{W;x=+ zXYA>YVY&Fr02CGCS@dXEiWibYrb;}u01~Rj-%>!ZMjX9{p1-SN z_Fpjcnpi|{)LL=RUI6RGyXhpD8{#I4zcz>$&Oq&^_#G~Wtx^2-UKCB@^8w)9ES`N9 z+P8>js4z~gVix(2+r&$519wa8M2n7gvHBLOp*AQkDZn)t67P5cOozq& zlyx#9e(Ocx#>FqW05>7NG#`C;#qQ)*y(gZ9P45o(#jku0+@$y?@UZk{{oLgoAd;D$3UOmo(gjrU8=2 zw0;bf++PiWha?LE!St}?sV~qNEZJZ|V~FH%2uAj(g!d5Kj!D|)qwl!HhnA)%B=3=% zGE~w?i8Nu7V|1CqCAVpkc2bg9i&}&v{#(d9B^jkC@M(#CwGO~Y$#^fWQ73OMaoJsz&mp zGm5K{r~g55O>%?0f3=bYl+;@Xht$5t?>MKBwHk zZpoonAihVkf%Z!EN*aF#;I`zGUtxWpWbsz?^-H$B0>FSIfTj|6BtjJiVNi03&Q}?d z%sq#`Vab=2+%qDn{1RG>OFnm|9Owy2T@D80u0*&VH1{M53Q^sc2p*zwQquP%2LF*{ z=QL`MC7yc$oRaiYvgx$svq)&+EWPyrH5ch&n$o*Umo9@&Zqn**aM>%pA_ZWd^!cM8 zahLv|6n!4jurZ8`r&LQWDf@n@;w0?#l4`z0;VnJ>2~_lvKA?c$0qH){`=E5wDd7F3 z{6rK1(mKjV4U`^w0ey$0!X_|1EUhF*>IrEt<B(E7I4wrIeNwM(Na~mBXrJqVG$9gN+>!Q>J9$vL={@ufNxdRq;jmP9 z7$hUoL$pd6m;O)%n7<|lSvm5g9Rg+d$z^g#CUpSiVOj2OP#%$aC4qO4?6YMk zf@OgvAPJEbQBM9*ndUHbIwm_d4e*g3;754Oq?udCX|VnJ^vAK39>Ws z03^!3rf*}C%&P&oWZ6%?&>}^4o%~IyGS@<|J|lCPfQD(ZLb?Of?Xu}_0L+lZJq;0O zWs!g2F3ptnmV(VWS$Y8kX34%v2b=RUT{=iE$P($(o-H%H41A6(aUsO#$`W4ympob7 zI}njCyGC)R0-1~gU4^nwUkC1@%-;oe7RiEs2W7GBojE8j$?PF?27HO^>7@{HSvJIh z+$*w4K2$7~#nYO$Om@ZZemEQ#`- znq-GQLD4Mxc|Mr7$f`a-tyNao17QpQn8P z1M+ipIESyigBIU@@~6zG9hA?jp);uc<()r+TY!Aye*gx`|DXxVA^A9c;SbAYG~qoW z-$@%~g5)V}FeX@DNcou|a=$Q89+g{~q5Uy=^4GXbq4L9&5gjI9K+j*ed_5CJoRoLY zKx2fwp3+%Q$$xwXjZt#_CWy61%YEq@#K=GV05tLP;xGtIkgpe`mMG7B28bm2X1WH+ z^3xRJNRe05ua{Egyg@XckuNz0$~1WqO^?#$Z-`LKkO%$%lC$z}H-jWo9`Y2%@SOag zXJKHLeCK>znDcV|%V2iFF8}B#5ZUteuYo2<{--aL%9X$127B}5DteCc<$uzC#sc{> zl;Tt<=dK6fqFj9#gHR;5lt5Ck{HxU{F3DeNLSKn|#uRFou zW_n*-mv=@$M4dd22C-gV6$42(X_7D9h_PsvAE19z zwa8s4#i3RHp`GsMHu)=bD#0!Jqvud-mw!#p!VdY`eAGJSt7%I?m%L>jNV?@qAAxs| z+>s)#z4D|N!REGHNxy&Wlh=2k=$HS;1Id8=k8BLy9eE`^+Jo`|A+#8gN7Ac*R33I7 zBxCaWpK1L!E?@p1xJ}4IT!6SMf4vyu@5yUFL*spUA#FCClxu2meICf4q!;o-c_3wS zKa%HA(CD$8eG|1Qc@Rx5r{!mUMx(PLoiejr6sO(*Pglin6fbd8v}^?BUd85LztxvtRLQDXjNWbkZ4B-U^2cVB@2>-~wX~C|;-38(&2$ z-K&0zQTl!zRP>CX(OqK^W11&WeD)C%p2wJ+nsUR2m9 zTc${{4ta47#ftanV{u9G=3aUit~jShQK8tf69Ow0?@~TM zm0}acNvjplc|u@~qMTluR}}&Dp}wZ*rSns36?Kjnnd^%D&mg`|VHZizTCYfW9=vZT zj+2YELGkD;YBv=DW6-ow@v07pCdFU0TcKHTh2qLBipvWy2(5}5N*iud46X#XTMB_6 zlxbJYr6ku5MMwjNq*D=I2wS=o+or&*Te0va`g#;~TrlfZEVlmw;BAG^2^iC-=%+WI;7Wv~JDy~y1^drUMcWH+HSfTv~)hR^^C0|Y}hTa9K zvoe}KxGqXHEn!@h>y@B%Q<}-Yy;r$`-YNT(<|jbuuJj&+2oGgY1^PUdgOp&hUm3m~ z%6KVzX2CLVt6Y>q-# zf|N}>SQxCVc@Dr3<<52hk1B_&Q5;hq8iV-bO8NIt=7chngK-X3{vC(DFl7(=^VVDQD9>KUpc`!KM@?s~Ox-#RIiqa)21S~3=BLm;U3rgO!Wqix zWoSIB+)WdrOl1_MoSst#76NC_QvONKv-8U0O=!KKe2E^5Y~@jMtmPsH zT~j_o6O3A=L5#lZN&#)Rt5X(BVN<o!7*Mx~bp zfF|VuIZSF++MNS%om!NClKZDs`Eo31+LU5??c7pUErd?(%FjE1?@<1khN4sH@CU}S zOL=DswQgmI2(=#NOv-ZWRaWH!cU$?-J~Z|z%hS-Pq|wT%KOT;G!&D{NPigm zK*?Q&v3RJwK?}x5$|vX)%E!uYDEog(xrC19npSqu3)NM%fZR@Qs=vMh$zIiqmbz#O+15D5#Kb( zKiyY(s`Ku!B40J-6E zR=J0vvqe=r4hwIof{XyRtIBC-T!-qP_hCi1D(MUK^{BiLLtwA!@EP>=s|4gw7*Ksz z1^69R4o!iERmF5WkEmWa2wO%~9$P>%q5Ap&RJ*J4{9mL`l~4|y9@te;)nMwXo+3A! zoBDkYTKB3ao<`$7^%%YL-PK>cg~CHE9f880>T5D6vtQkR8#OO=|Gy}F)bSb6_kj9+ z4Q%mMcT;+(pZfcC;BruXlukAES5KC~>_GLsrvN{sw$Yh|ht>AWGp%AWqPYUZ# zs*{(X7NOomPU}-@)iaQETCFPuE>dluL@i3~_YvUH>Hs_C?Zl`fC{7fsp3{jUPQ8&* zxZ~9u-iG)D^{ih3OjPfpn01o+!A0Pc)rH$YnW7HZfLfaRciMuKuAcb?C^OWCLnzLw zWgbv1Q{B5BlFq3g(SDgMwSasT=hZ6mCtOgwacS+5t*$?X)*SUb3RvcUbe)m(}GA6j#(w z5xi7A^D>x~sU>p2%hjn1A+JLH-dW0jsZ{?Y(O9dlj)2_j>W;NgrcN!SFjKvH#Yz})LtT~%$_BNc3XM0_9W-HWRzFEeKrQOb zDTr@XU-%ai+SEmqpLt6yz*!7-hjulK@+>>lpHqORQ~e4D+`7~+cA?g-PGI30^r%0i ziAk?|TN(7et?pP4rhV#uN_^>8kI+#81M2y6!R3znt{?ga)r*-hbV#kK27Fk(k6t?? z>eV#S9aZzZfE!c46bqjAarIIY@Du6}Y0t)8bwdPz_te)nq4B=DJ{F{t>IbV(d!SxG zxgrnMAJIE>O1&)|icYJ0LV$DDe77Bv+%%h8Abzi=x9OgqCTOTJW7rY)69DnwQ$YNJZOJXBent_p-Daffu}U`1oWNO6kLG4k(%FL zhicIp4UJQb#y+1WWU(4WA!y<>Uu6OjujyO_(ge-QTVRuD`T*){T(Vq*+9d zc(W!%0bHBr-~jq=X_iw2t6d|c$$N(;gQlUKn%5>Fp-Xd&K8n2>Y}>qDK(#Tmjs%cLK<(Os#eXqwgHag2_LL+j7 zGIuo_o&?~YCgg9_?rZ*C47rmU_am_7fhLv`$RBEcq1D18%}LrH`&gralfv#WrQz)Y z&9r6>y*He--(P}27wylq$HY~eM0b*#)|qmN_G;f<05jT_rc9m zyJaD`?AIE$0PdxAo&}t@R&xes`)E}SV0J+JOfPiu)%wiAsQGDUABUp$gW3xE(EDq@ zod?nY?anLc4AlCc0pgH$&EH^iSer*{(j!_`1^R-te+oevto>v;iV*EMeQ=LzeTFeW z$Fx%vF*vT3P*T|m?a)ayhH8Ib1-W6`SLn=`aP6OzL~v5OpZ3#7*tN_5KzU00Ml^Vz z*5)B5>JX_tO(}g*+7~~B_-O4rl=~Z_{p}!%SZ(bV;N!F$GdeBpyw-(6&lj}0F949OoficyagN{I6H;fuV|fPAgNT#dIzm# z+7NoRlxt-YaI4Tp7K2-*_PY;YT9r150*BSwTo(Xpw5w>l&Q{-(8&NoaM}wT*+uMb~!%L*lC2Q3>8|x?_|p zwpTZo1E%|Qrp-{zUB?fCP9D1OB>;Hpeho(BeqAHoUS7J=SD}ozu9YUNKDrNYqwj#u zpWaixIum)){B+AG^W>mTNe4^Y{dFs@0TG~kk5Z8Wbw4+P=^@=)l*D&f_b+YFJ)*0v z1xb+Z%tCMr)>YCQCPX(#*;&VRj2`HFLbqcLj0n}a)7K$P=Q11ChwIk<1MN@hPRk)M zLic7UuGT4?h~C+!b&n}0C(^FV{TL#mbe2(wh}LZ+|9FfpqylVWbA+-WxA;EKvS-3{TKo(bahhzR_fe0LvEFBDLF8!b?&(+ zYINah7+OO_R<{`OwX}F>>a%=)CBDY}Ku!r9hi*F=a&D(ivBxXxA-$6Zj6@^XGu; z)D6u6?=D>ny~(?E-IVLqqnpDANw2Ot8$568exs>vpRRE;SoiDpQ>b7-x8o5c+|i|k z&cO3GsB@-UcStu)bJS7Ye`kRh(;Z$4ZsWQP+FUuIi!OjNcXg#*XuPMJm5GtLuM4GQ zsY%^a^}s#QZE?epKGdCd1IZ&D<0ASV>#FG;IHhCd0x+%n#{zww^)tSLJQuyfO!?QY zdT)B)xaq6JuxYRU#ytq!r~j!R+}!o0w2bu7=hLLtQ~zN+c<m{ihnmnCq+gVc&R~5fQdAv6^e4&peN-RehsI<27>aEi*Jts;`-J{V2x_7F zq+xIg(|=6c1H<*-&@omg^(Evci_j+|qw$n}*&P(8^@SAMi_~xV9e^mie$PAL9j&*h zp?8da7kN%%^)@$@&aRcSzCioDJTo zdj4$G&gj1zN0FxA`Xg}ZdIkMqAVcqV4)C-3e_w=7nfmw1X?9L;|7Q=%Ed8FlAU&`D z?lfu_^v}+~<;vC@Xbq5~@1$(BTzxYSjd^-6O8w8*TWGsTfqvO6Xi=!orNbXC>T`0S zeUW}Goj_BpUtb5Fm-R{Ez+KV*QVKw+-fRsB9nAiJhlJcKf}dUrZ(^t%4mU5rzme$PSl)$6xD3rRQh zEIOg2LBF1|j&ACAlDoK3-?JP=lm4JHBsA-@HUZG0Ut4L1h*o`iDnzvDPd)+OxAc+! z+eD(@N>5yezHc_Tb?S$f0pF#6o+drr`U`aARFD2BCFJ+&x4jMcZT+veVPT*Ch7DZ$ z^>4fn4F~jTU8vpBrb+hJ&sp@R1F1RFm16Me@FD;)qoZgAfUxhD*%lyn$s_?RMRVTS#_ zz=azw&_3~#2Hrdv5n)KCz0Ic#&gH1tBMrW^`zp$ChHkHD!!9}4#2C1rfF{=PIps3M z8JgALmS8AIg}_9^H07Zr89p?FX|lnA1IiQwkFuRo4fiK7+-ZiNoWU&J5c&n(`G!4j zqITA>Y5>Y)8bU{aJ7=gkj>hwL!w8)!e!&pA9HiNX1vGumF}&)E#$3b97ocLEVT7EU z1qSbKm|bYNOj#)x4c%)|D>5{;0Z?r4q)=>$;aQ4MUN$J{NcAg*u~_t#8eYdZJCqp? z_Cv#R!%2VCstikm&{u7+&%FnQYYgtoq0Lo89WB7F8CFn2aIL|ST&&j(909o18FnXP zoazlponUjr@P8EbX)r8FK;KQnby_?(8YFZEb(7(pQq-Ca=V&`!i=j^r)~$xMKcTVB zuzMeh4#Nn=D?1Ha?cErYF2l!kdv+V<(IE^yhM29W^%~xsg`(fU8w7s95aAErcMMTu zuyDeVK&f$e4GsPP+%v3v54HP-S7|{qX=qDC@z8J~AC!*_Hz~C7*pN@>QcM~AQ$RUw zm_vC&uExfCdj8yu+v#+Gy~f$@7>j+zF%y`&8&5rpYv5^IOSx0~jdpTmco{#~hQizU z6-~Q+jC*Jq=xgkz(2Ae&eey~kG%{ZYz~9)m6_+W%_=wJq4>WFc2jyYo=Rc$Gh;bbq z*B4}b`^9;9{(_B|72+*#d_@4gj~YLsqgIa_6DgQ-!uZ1kicn)LrO|{L-L|0?Zd~;y zm_`_rC|mH9v63QDr;Vp5Z#2^QA`MBDF_2PIqmAi*LeUtbaR_$C8s||0be!=6THwYT zcZdCN|DQ4M7T6>jC%r(EWc-L0Ey>18y2(?FtTng>XNs>nMVpY1~DQ%X3D(H;OFdU_0RFjW7KTf!W4oeW>LaZ;;<7*La_vt$gF-zo4kS zz*u+&Obd-=;kt^~%AF z5OA;QdGgu2o8niX=3z3o;}-BV`6q&8ziD+HjPWwfehj>~N#q4XeN4NKz@`JH^_2VT zYkG>d5&4@oy5p7&Fy-(eAguCZ=vy;DUyy9ve%k47KpfRnjZw+>P$1p4_R+|Q3IwoOzUYn zc+*tm2HuS(KNSQvnM!yVr)JY>+JoL=sv^&DtLdEuDB4ZKkD+~s$!i06cABIO;MrxG zr-Z)Ursed~>@n#VfwI@sxf;c7yJ@2Wh(6PgvGu{hXIrKEogDa^gNyBGidsR zR=-20TePqkHa((nz=&znW~e`EQj+Il%w)#9%wgPA`yMDKOhL5vxNF);r!Y^N+F0m& zU^);8+(T2X7m6vzA_Ait2vw^Xl~|DccF2w`KP1cw$FU#eGHqs zSz`pk)7(N&)qeA*SHQ;0>_sPqc$;IxV6Tt4eHA1fFwaT?7hm%iw4cV$T-O7VgXU>E z6vW@`NvrMvGmG-41IB{3ZPoHp=X>47F%; z#kUY2WBw``8pfJkR@z~9y!mc1fC=Wpy(kjRJ!;^S%)_-1k!+sr1bmA5UCOjMW8SkG z_%!n#dcmce^|b9c!yHSQqG!zwM}W&T`vpMJEc2IcU1{E2U^e^?V4*p%6f_sj0Z&3wk$Lz(NGdj8q1a-HIq5@?TsE&* z0sIwn#Fr>a&DY2kR%TA2{XFI7%RLy9TJxXeX1i|wE){?}b1V&hz4yVkyF-(Clw2mwW{;21*<$|N9SXOaU!d?-oB0zd@VCq-E<%}h^W{8{beKPzMA2!E zoQBz5X8uC-b(`OO9z~Bio&tBh=H6!^;}dJuF?cvi7tnY4*L}(tHmVdRa0k+T>?hJph3R zEkiT`^tb#@vxWdm9i6!lXlbRD{2|Lb4*>|VxX^U&sO78o(Rj>anG3*ii+u;33Ub2I zO$T|0T1FaS%qh!LM^HO$IYIM2`x|3EpC;tEW@&euGU#g2MvC;rLq%aaoy6OLtmZcEwLSCz2!+ibl$M+T8Ub- zrSuOJEtX*|8e1&_(zMMINm02D%fc-1?zBwTVJy2WJx;K<+u}tIpB_sbEjW8EF6-#l zvn<&SBl;}UTnck~@}Unk)@koS&wD5RF-e=>&&yODMfACoID>CAe$Z zKtbb&mU4>vJhIsOAosC_LowJXiyM86-K@bcgWF!~zyfHv&st8r-K{UvtHIlP{96e0 zvHr6LfCJXu5h#4E>M}6%w?5qn)&bUo6ZHKHw2uD?O%GXPXjFAx?}+u}_s}WG zYI_Hgf~|knfLn-lCWQlzS|d_`KW2S_RwBo(H(F3TY4xYEh_J>}1p1V9#vL@Cwn~OD zPO;XFn;{|2dU+F6i?=?p2P6sBrr*HYo@$+<1^OB5+ZM=8vxdJ0(sXNnIq+Fl5#>Of zw_c~Su`XEUls21fRXT%Bp7nM5EaY1+OHeDY-gkqfLhDMJ6JNA4&9J4&`Yz=Q6kFfF z2emI*Rg^kaVx1<>N2xVagQCoCT`>zZ<<=(Jn_ppFLOU%gtxN|9tg^mJE~#oOpT4^_ z*1<N=PPVPHuF8h^dTS&t&Td$LpxAAr)s_!jll4i; z_-wXD($R-4)=@Tiwp#7k?*iXuT@{AvEo&T|U)OHUq$p&Eb(0OIbz0l#x$m;_yTP>E zT1JzP9%~4t682gh#?W`$IL1c$|$%DSOed}z}~U05`oL0^>PX%3|X(y z(sbDB-375D)?;>Zo{d_&YjE+#th2qrX59MJE))~i@#PS4*D8MpZ0=cizXG}UttGT@ zoW#Wg;DOa454;~**V6u@M^=abVA^AA&QkE4vNCBXr>%P^RmIuXWPzeCwhVg0U2WoB z;NoVp4p97kug&>W;P=_mCZVFc?G-wu!Nc|j#aldWTWPMi-?rcq@LslPQs3LQbrdxp z+sF*`9kA6u2e_||Pd9|0tvCt#9<-V0W$kYZqt$PK?cENj7HDJ9H2;uo|L-Uc+XgrP z@B9~Aju@mtw$+EgJJ|MWJj@QU&8E2UQQHbSH{+O1Mqjn#wrA$R-V?T^cOX90cEukg zVYY@FxP!uN|GkOYNt?74k|JzJXpj0STPnqFPunu5fQz*KMN7meo5#-(A8lJ1OZ(qr zY*)yW7i-I3jm|jR;D68}-WIS4_yn7svV9Y6t+eGJ$rhUi-pRI}2e3EA7EQCHRNK;z zApVT)aU5!Cw)br)(rp_S1D;{aZG-r;wiSJ-W!m2T2_tjPcKS(3$gxANp&2bf!DYdmwytB-*aItNsstRklIOMX0vh@+dR6#+IN2 z%~e}Q5<0KhhA8c>*7hOoiMno^GmO4ETWB@p*4v!PEq}u{d=vs3Y}4#z+-lo71bf?TvMpeC%l6v4=xevxOX)O=4%-Y52<)_7 zqc~od?FEXpb=!`SpSj1j`85neuWcv-_}jMXW)yukcgkMqw-x;d_<-&9ODOKxdesga_l zE>2E0AaQm2w*fder?3A&vDaza1p4+l{f?v@2Y07`o}opShm)G}Y(1UU4g$a5DZB#$ zy__;A7V7PEj?$HUoJyk5c)+QS61IJv!s9XAeol4SC=NP}2_ebf$xPqt0H+(Y7!7nv zqhS6aCqDs54m&-u1{xl5YNoTggPe9)p-iw-&NsCF3vnvw0n?*S?jyJc$DCp*0)5=c zvj?Onoc@(T(@>{x$k!j{w2t0P;ZB?Aem?2+&n~bz?Nm>JmPn`m9^j&!j?v>E?exJU zYB5gd=ixHNI`z}Y#5r-u=NIqf(gHw&lPgZRz&}u&o*;j3lG7q`b0<4}u7ac#rxo-V zraC3j?w&JF<7!AsbNY2Tu1~sC2!%E?oLICk^sJNgGDtF=w!VhOb574vE+bCP8;ZDkmGdd8)%s8ben@qVb61Vg2Dp%PA*db{y#_89Z+@k#bYV( z5P14#AM)KXJ3bCtZkCz$=RG}DHUA$tpog5p9HMN~jp$`V0QkR_nVMnHyw zgFSwq(?4A9y=Q#R{jPh@J?Fk0r(1*Q%yrsKm~J|KKzrSJPS=GXz2&6SV=VHWN~S?} zfz#?KXuR#@mjVm#IKBK4Dhiz{s=$8N$>M*|d(SDFCdx%ltG|Ni5~oVKOr=igRr`Tf9JaEdPFLk9;9!-d3d3de(W^y1o&&6 zKBkzsdZ$|YEs_SO-)^92bYlJp$|ff%1wS-9v5{bD)#5bI7MPwmeY^ndtxi6>z}M!a zdJmNCPNtP_qWaY7gaeRvI6c!sZ>Q60ikk0oT0&<5bURHX3!gdd)q&%=(;-XX?s0Oa zeDGeUpqY^U!l}`O;-ypJ?;v^QlyC{^Upr|jhN#bJb_lLdzmuMB-~p$dw0}P6H2)~{ z4LLcPR)KWbsqrV=r6W#j7edph6YF>A9dp`7lb3O)12fU*D(IlKmYX1vcJAB->$RZt z5X2F*{Q@&b6rO_p`B3O3xU(K4-hwGFAlgSDD1csH!L%13@e|Db7YO|Yy;Gq+KrlJX z1T=wy&u4-$NU)n$gTaEU%fJyL@JYoWgbD)0;5Z<-PzEqzf;2mT2^TcofK3MlQv)F8 zkRXsUNFxNXqbLpwWONOV2>K`)I8yM*TYw!U$flLZQGp@_e8&XSe4sB{;QBqqe;yaK zn?vXcL54p#P6}F<1jtY8NPyqy)CpdHzBf~l*a zB2IApXOP4TGMd4DQP4uyK0$C#hkNyspl(0xyewc;VPLNaPTzuoiGq*)-@x;iBsfb6 z0m*_viru&>u%!&+Yl4Xzp(#bMvj@YLDwr1xX=wtd6;PNi2%%h`3_$>W<7AVRwKsf?S@*d?1^k-npO+jWNWabGzONUz1ErEwWs`-Ld z4&W#d6gdOiZNdDhu<4G#;t7Nn3VQ#C;;vxzM8Ll%SVJ$kB0=oCkX-)?5Tw#)uu?F{L0^?gFibHc)dKsUf$gC{ z{|n$h5=`9;6*YoK*P-IEpkIu}TERLBU#%0YTa3nf!4mR(Gze1YcbXdo?~qfcNwAfM zyIF9Kf~#8uadRN^iGcSj2B=lAd>m5R1b^p4Uxz?QIiH;Z(=It~j4r_rIwql8@cus# z^Gxtu1)ArAP3yqeBe+J9&%J_c)xiBiP%HzqmxAyqko`*VoCl$=1q*0rW>m0+556%$ z#B`913xt%m;VQgLTS#s~n-Va%3t2+w^$?7D7LL+HtVZ~HC1gJq8qYy?t#EubNa}=7 zMsSzZ3qRFiEE#4i6Ed37Ync-lznPr>K=8RlP(uOqggk`7y#px&ibZ6n(!H zeTPJYreDAjA(~GvfWx8_6s>qfw3de=QnZF*HKRnEXp(nSWG6*&Ok~K0`e@M^iVZz3 zYPJFT6C$ZS8c&K&ko)wM$lDvxPK(lZKt+t`UK})>5iz$zSgdH9JBqWSbc)A1C(>S} z?_Zp#hxQN8i*f`Yy&#%TOQ(1dcQ=ZQA}-wm38L_BsJ|p~8OD%a7R8@|iYuZRO6f`z zU8D6-lBjYyYRRG`I?wW|C~Pa(uZeckx*|=K>H+q2k!mlB43Xw9P+k`?;%NPML-d@& zW-~?QYhX;4$ns4T*`jAOh&iHll)jNGa-fC9O;Ldp%+3?l%OK{K=r(=$@^~D$sN%R@&Fc!w$O_0uE=Z~2I!vX4_`DEiOf1N2*si)$LafbUlc%-o)Xcm zKBy=a_0i(6O!PfHl;xsnw5wMk`Y-~!B{D}vH}cMB44^$szq)*=zS=f`aKvP zi55!%yGGP`7=4dLZSi2Q6;;#DXq{-{EHu`O>L?qcLDW|dDW*oz546eMB;t~bwOO>A z5>Z=3ujnp&B4Q+frd1T)gIb&DPcuks7X>W<&@R!s^Pub&J)k+$GtnQkhx%MJnTeuD z)V&d4dPQ?++vJ5Po&)xmBEOvg`bu=0j`?^kilbDLK9eXZ2A%z)MU&7uAnN0QaZofN z2SSHLdF0O@7WsDo;fUz%8b})zy+d>HG0|Mw*c}(`q>Jt1&uJ4yMIyw)o2{AjuIshGArGijDOA<%#D+qIOICY$Y`1izAkRvOqjQAMxAb z$^S)&i>oLe`XOkQBkvNRvr)$Jk0TA|Bth|rLTJck%LS293SqQu>a(6rZM(xL%3p(E$*z#VLEh z*C+O;z_EUDNIe)#gW}p9;2#n%UIy92;-3HZj>TRSTRJK(ItsmG;#uFL<|3Tsk_zS7I+jqo1VbQ!oTd;%YF4 zL6VavfG`;6pZtxB7b1zLD92DquPAH7b)TQsN`8A8jndP^Z;SBvAJgYMR+9S?7M_)SLYqJ5C1)t^=7PlHE{utns5*h-qNM*{G$u%X zBcPWgjm7A@A~{T(WQmfvA5cq@=qLy_S+a)=y(-xl4^7u36>GteA_)zG=rqX+a{Hu9 z7XNqtZiZyVI}mz9BG?S1nUaTe)L@pRi$amIB~4an%#lo_Lj-aqHnYK>CkbzcrdyII z%D&2%d|VG{1rpk?+7!A#tZT+Xs@pde~GcSwqpjRT9~8^i@l~-H1E?q2yOer+p-0Hvo2x zq>^&w9!s7%WAJJv@!x=F z((1@fIw>0@?$RvE0rQX^ASdvCX|*LpdrE(zh!-#ETgNam-qKil985mam%jk1ue6>V zAOX^YtH2m2H9CPbNSZ*O{a~q@Cbc0_?E;_(l{(PjJK@r1ibXgmT}&&sL(&*JvFwPn zmqO?xr2}awqNG{$t%#Ox_kytF(z9*gJ0WfN1jA|RL3-X}Oj4Kc(0WE%Y5>PM>E~ae z7AKv;gu?UE*%Y~XQM%m&qzTgdgRdMHc!J!RfyOK)bPmLuIv zG3B|^5%S&Ll9qi6z4=n%XCNt%UZK0JP&%2S*6&LH-UEhv(ixOzStM<^g~2P9>Pw*M zzI1sMpp{5JqAlxEsV})2%cKv!L{ToSq6K4xG~RRsjFnO)?JreHKM4STwRF#1G(MCX z3Q&6_t!V}SW9jlRD6ExETm;HGssDG-TQ6N&jceZ^ox+8ojnZ~9v`N}Z`<2boNn63t zBJCnC&=cug+Hr4{E~a?MHmQVOQ0>w?DJDRCD*c>X*&Wie_rc#O?OX@-UDCy0qSh@v zMOi`5rGvCL-y_{u0n>V=ZG_^5w2Zu(FQtdnko`(pMOi_8(vAyY@0VVqulIoT9|}tz zlwPJ?sv+t3d%!m=-Qa>^R5~(3zkxC)&7fedap{vPjI68d9||;Zll4%foVzUX3{>ow zMbd_pr>u7=Z1R$=eF*s8GWI|^5KGH;nPtImf7&Y z7b07F7SKXvb7*7efb1K5@UZ_Ub9x2FgED_wi5!wSQLt5n%gq@Mq$-y2g%O3~jS=r5X zAUP)+$p!2<*#tT?%XD6L>z3`RT;+>wQI6?+A~g()zL~bRn}|^g&DHmFj#h7_94YQ-jL0)g@#Po z#LKu$S+aTbLe4eG=Fp7wrtGE)n(|~!isrs0TSK3Yd|7TE`0vQhIRZ?f>??|hxGS4m zkJ>$1NfG*rWW}$*P%L|Q28#Q#I11Y-kn1Njx$G(J(^Sap=uo8x zvL4FqtCX1!Xk=8#d>tf zN=y_m-Yr{0d)CinBlM|zF8kaF**!AXWc2mQ{0d;q3t6=XI9|$5T>{WovOAPc`&xFA z?#Dja+=bxlmqmL4?||$s#V`!YqQ;?cNcJ~{M-9u?(Js@7EK3Z8%UX-!_$EGv^d=}kom*u8i z;J+fjk6n4IM0v}bxFSjN?KH(rmj8Sa3a`q4Bd_E&`7k9HrO5xJNT^hKx)LLkCSSe< zjp_0i6ke4fXLq2uE)UFw%p39#y+N5N-%D?wEO{+O+h)ssDcQ`FBNyIAYo0un=8?DL z_nILsUw*V0@C)Rn_v8#ZK&(jab_be@R=_rN6o#0;I4^6x3(qDro$m1ed4 zm!|+zBmZeXpgoqqrh^!2f z7WqqxY<(hs(Ewqs@-F&Gj5hg~lVD4`{8RdfKb4zu_yF7?Uv3VLPC4^mkao$VFTU0`%ooGL-9yW-l{kmjKXq72miipY;q z^HhXW5|@{vc|K}B3g$%g`6|)`7(G8l0DT?&74MybrU1oL+Q$x5MAMroSm8@Ck0FZg zLKLBjE0kt(K;cDc`(cWgbX$ch=FcPl%OOQGg|kE`F40@yuwrK^8jmPeY=ni83bPg< zJ*qfE6VGFc-zb74T2V)7xW^R{7BKCE;uAU%OVv!G`cKQ}<%IR#FB#q$@ZsGo+;^NKvWJufI$P*z{O;wU8vT~uVz4RKi^ zjzV!o5lC*UM8!UunbT3Vcs6JF*DPF9A`qzrTBEZ8lj1z%>X^PP7C~pwj<;urNsZ`EnG&N+tyIx$5rKCCp2DDK79*9Q$xT{(l&Hf|{O^i9rGiav$HETt1UY_gRb6kyL$ZhT4cXSqrv z&C+fvKcvZ4p0a^LWeSvgXi<1unL}TtJIXi6i&Utrq80gFrQ1pk+O>xhc!xDx`vOHZ~X>owaWZ4AgojN(q>h?a(@#{Yf!#apw^^3bOQD^E8mpk zO13C}Er6yc%D=wDz_u#?*bd4z<+qh*C$NxKZWUM%Xf@99V|hxJl_jPJUNaAH6r+RIfFV z=B~P(2uvO-=_rc*D*5|B;i(#3jlxS+KbkDs9Ho> zP={0{G&7G-%{~B|4y&fng!zc-P!m){s@Pj$(=pZOKLJIw>brNK@VF}Czf&+&OaBJ@ zN!6KIXgsA#pbeJOs*4>t6FQKfSa?bDX~CtPL=Tv6vnCSDPHfq zYUu;iE~u_ju4}w%H+fDjs&YKRpPVYX))w~CkS5=>+ z!uo5fI}~7^rb^8QL%OPP9`t3XST<<9uId+)|K*12f0MwNsfr{|c$Vtq-{8+y3DUuz zqk4lvE^}44N?^rJRT_O8^HeYXfQ7eIi}QgnUzK_h>;0%)P? z;d)59r|Lclg+(gOF4$SDI!S|mU-dMU&Oa+r^$mlxRJD5}iZa!T#o#Dcz3PSR3RMrq znmkbPXiZwF+H4OLRVpSq&#G0z525#=YSVQfe55kd08@>MUjc^4DlxfeYE?XPH#evf zT~RcuGMyl^Nfk~3QO&AJ_O$+MQSHhE=@V6d286b%%(Fn#rV4o%wRY7_aveTZ&7{wM zhw2msaCWMMi(z4xD*ipF?^Zpg$cASsi<4k@u9`Ol${v+B?U3}Uj@iNNm#V+%VSc4b znvdFR)hb)4?^8uC0*R?#wUgpW22`uv!9S?_>`inIsg}^Ie^}LR2WTUzjT13mqpFX8 zg%x8e8BHn1Ro`s`iK}|z7BIM}b1B`+UF}_iJ`eTmOE6-;dIjZjc&i&JCfr9Y%mjn4 z`iEmc=%@af4KV&D^|%_O0qWpD7!#;Yqjf@%de+wv8m#_j1^7eMFVwI%RGk_I*$31E zwBrz_{^wsXgsXX6FdS6>u?(^gslTT)Pa@Qe#i$)tD^`IoO3fJp0{= zM(uq88e-L^^W@h%t9C0zaZbJUGDzdpRvEx{UhR4j92e9pi@_1E?xd;pMfH|X(3hY- zvj?y*sTINKyR5zvfW|B8trTyUs7~?%iX?Rz<-sPaH5Bl6RlR!#FkMskQ|v{G`XlFRF!#Ac}fp*7ES^~aOJctfq62D3BO?^F6ymO3B|_GYUiBS4a) zeq#gra@BkDfc~cX3Pq3Ssec)P-dpPHwBF5ES1$)&f!dXv*0ZmsSBq8VYT`u?V3JRe{&BqAF0zgxFR)bJ9=3^R{M9+??2S4 zHwHplo%&c3MyOtGQw_Zh>R;M%?HkpjOTpNr-a<*P&FXu!jo6}|huto#C+d@w+}^6T zrX8#{b1KNLou6B%r zg+1zJlswj}K0x>S3-!KD5c*PGd>;y5saHG#$7^*x#rgHAJ19)IU!D93iUIX!??CUM zdLMY}*G)H_e?XAaU0$D?*>iL-WQy*t=h2 z?greR8Zm9PdubNZBkrx4M`3q9nt%u3_torq0Y*Q~#re?WuleyGU<%NP1EDEUlj{P? zAkE-*=4cCNgL2}Tf8Ky)24r#VOg^CDG zI2|s3Sn~z#3LMc`P%vtw#+pt9iPEg1Fwmo#Q>S3|G0i#JmX6kRhNADdriX%$PH1?P zrgBm<(-O5)8t!G-a$586H-HwS`RWH0XEf_8K@zKxg+TpTjmhgT(45mOCHGOB#+SwU2e)OK=835rV$wB^xu|AnPTv5>bC+(`I4TdLXA%~DDP_i@m)tU+9AbzN6Xa|@_nssy0Sfg1; z)BVSq@i(BTR`VwX1Jr5Ml;TjY3Ee^YM-7@y^hRyeESe3{CJkpUXqq)Yc>;cmCa4;< zCz^T+7i`tM`x?00G|wqKv0d{kWs5!4ygP)(4o&NqpzPFi(LAF|vydV$yEWnyK>tj$ zo6fa+u9=$xh8|4|`6zoeZ>Z?|_d>JkJs^Fl8K7LfSDFtfQ1-RvgBFnXX}W0RqFR-+nw`fQJB!nQ-jxMuAkTr^j0#z7Qr z+P*?ix@)flLzsv55XG37_G?YA!QrXhNFjk<+I%BS^VW{;K+Q*6YYs+Vt^OED{j?QR zq26D6Y!dhbwC2MYl0faYd@uxQRkUjptc{@%?+~p$dCNkzF`uCCfL2Wr{0Fr;Wc?xS z_LBg5M0=3V^@%iTzX-qxMQO+KKzdaBIn5Q1X)lu_KUzC*8)8msITTcSO1r-a3QucO zXe%j3>s1YfXS9bYBrjIGiGH*yPWuUM!kpJO%!iZ<+V9Swh}RBY0_8>RpI0C=LHmX^ z7%pkI(cA8_))YtaO;@xD3>1mlk0}NzN$d0+wPfuy`lesidXdm;+W1JQNYQddU`*GB z2|<#fji*KXb!`oKH*RQ`e~VGe)J~)Q*(~k*vW4X5C32GJEns3qfK)Z~NjIPvj zmYL95rJbaJ-fC_CKal-Un?ot2kF>dqfTBjr*@|1>v3A;CXsXq&I0G?t+I@7SPQCU? zCaiDJPO*iQMs3?sj7*cZrxCSg?JbHsZP7-Z1o|i1`!qRh)jAx2qBd=bCq%bvdjjeC zd#ZI@gU$}^%>4k>sr{Qmx4N_!C|0^#d*U4Wo@qN$!0}wW`w$v?v_ zyC7{udwmp)qgtCf(2Qv>*+BNV)`mP{uDT4`M|aaL3xrU2-NrTG_t2fBREPaKPl|H% z)TNLg-%B@Y1$J*;S_*1Dx*nRa`szaHY4X$kM49LQy3_>d3(yS|0~uITf`q-Sl)6hjc+JFbEO4%e3x1towpK5=V44Q-L>9 zmze}jQM$fA0qv+x?+($&bVeTVM(e`f2H$br-?WW)LiZMZZ%>+ZOJ<_=lM!WZ|A6{<-2#fU zy{Pk{DPMxlZVY^vbSqW@=w+Q5?NDCPjraAQQFgx_H{fyrHu{2WXkP)ov)VbPg05 zl&$N%3`{w?M$(k4`+g2!-_kAVK`mc5`W`eC=t50z!QMjMhR?upSEro$G?k_z2=7T6!?9{dBnwL0b|6m_}_6!2EBtWfOsg)FQX|`RZw8}i*Y(rnqf?i& z3nX2-R23S#b!%y<_F5-;idvuUjaN|EultU^N&~uA%{Z}H?{Pk0p!omQ3t2Y`0^?^5`Fi4+GZ-Ef~dRo7Q>g^~=^?-iGn`jKv z4?IQ@u75yo^@I8zyt++R5&AI+R2=4yF6mF~MdM|?d@)SAqEE6! zk*F`BJ=7%q`h8$GCF|RRpyI0Dc@o52)1Rc!{}la?ejrWN8+;%wO<$)6N4oy=GW2EW zCzCVix_)pgP-N+QC=DW8pE?s#a`ZQ7x}K{)`6KY&)LTpiWuE>!qP(TwMPG+}J%f#L zD$tvU;eNVp(*Illp?CD}(tEN{znPpQcl9b7{CoO8&qH>RzJeV2#d=%vVc*y9>I7wp zUb_-Sss0+pt(EDyMW~hQC!Ph~O8wo#kW!@|cmtxV^+pNRmiMqhg# zU>@sDhkk+3TK$vvaPQRVi)UfH>h&kd-_)S5rA>)O{nu-Ov`Ig<2t~90)6*bn(Q9*{ z@QMD+FeqE~Ve|@Z(^tI%h7P@3Do8r@+b2P9m)`mhpm?rlq@d{0Z>R-Buii8tC|>Eu z{`;BZ*ZRN7Z`-H0S_otM^`czBAJDI$Ip(0g;S=Z`(npgMYFIz%O)!q=`wS??^@WyT za5Yq6R%_*EXr$GGyJ0U)*F6jkVrbfLFphxI)6nArVO|FNTNog3!+uXR1{r=_MYm_L zVa8kxaH!!Xc_$ATZh8QIm|^e?_`?lMij+HOcohf6Lxz@Y$c`{1nL}@+;VEs{M;YvM zAmylG202cS88k}(Cfd+_9+bxoH)$St!mxm5lP3)}v=Mg75JRWyoiTkvK#6JaC*hl+)7og5h5Z@`^W{qu2XIgCAv9CK$$ONB6Qp zejI&Q48F9KPBeTs14WYIm>5HnY&c{NOjivBIC9YHn&JFkP?Tb*|AN+ksfJRDBu+Ez zV*o|Ep^*aBGYpaWu<5$Nkv>^B42NT&KGRTK0~Of@;|HM3F?$vIcPPoU&`?d0lXnenQIKi6XRxIOSdl@n8aCZG ztWSiB62ocwsfbd;AD^ODW^gB`LAhb;eDFUoys;TYrNKnEY_&l~bBTwBAuxcNyXf~974>T~ z7>>|fpw(bn3Ys=U2suUD4fgJ+JvGdyHBX0O7OgM34O=Gy#dCvnGcHAs;qo7l-D`Mp z3Q}Ge)Snw#0e$Yq%k>cIVcaJ{ZNIUAmaU$~edN~gGVUTTxv%j> zA^1X#7yY2=fbo+iT;(w13wlw68$Y8s^@GL}rf9StGVY-`mI&i$I7km0&Gvx*h|#Yd zjgiJp322NmT3&|iqsA}E<9W=eT874GqlsddjvIfV(?(7hhqpuaNn<$8I8Pb7{&PDS zvl&1UWAwEL$r+=o1cMiA9P7pHan>j)q4<|`#&QG1Trg(Q3nSimZyAiaXzbpN#suTC zg|P6FaqSnVT{iwed+dqE;4IXVjDN;LcCv9Q?a^H|-k?<3YsQr4XiPC`Y9K7lxSFy9 z(v34dL6Kp+V+Ho>#t$jb`-buCUljk6W&DkHF|&=`;}DZ$e7P32JmZhw!I)dd1lp&~ zH`dKWUxD#ETG8J&{$PZPJI3dIfL3UHdYx@rm@!e>gOc{Gk#(R7)G#i5{B)!GB ziIzoAjBOzxX*CM3LW-%)_$QqR+irY*ADvH)tW~IW7{AK~?oMO(4m5Tdf1=slD`U`e z6#d2?a-a+w7m|~4%=puK)ZCpy}h!WafP&!Kg4i1XE>7>jV{y$w(p z;XF!FI8n};=U|UEIs5Ga%}M9vGPIs{E>%KBtn=I;2#s@=l6NBB+584-mz=kg`!&(I z$_9*AodsK9;VtJtT1^%>$E^Zok#lS`P&{x>l0r(gGmrM)Yn-(s08{ULgbltX=eMJv z=!x^21F)>!*>u7MVmh5qxnh93oxjzB|C#d(4Qf5kU!R4-UguDXMStmR_5%E`oc%Ru z>~sG81StER=S+jNA?Ma|kc>JHk$2wJMM}Bm9xg}UM9s@(a}g+gUBr(8G|;8(Fo1@- zIMYpf(1mY`1h&I2pOSAj+NJ0zYA0O|6hcLe%O~-uoplN2;BuXJ>8GHnOD^F}P?+qJ zP4D#-7qh)Uf5SyVi~by!-^+3BZn>Br1<*S#u@psm&*kSV@ZER$Q-HoQ7r$93s$HhO z2fjL&WPh4}wzyd7p|HcHm?kK$+kVi&`oL{dHvwYUHb?rIfrxE_0Q5y|E27ud@omoI zC{AxXoDCJR+YZtxK^L|$9bo9CZPUJnill8tdSFV~)p-Di)_qWAM8`cf@ENB6-OXBlYua^(Yz?UHX2LHU)A))z}V=;O3Z*abYx z6DTwA>l)J_#C;=I!`2l~DYkuO)FA#}rKaWUw?p(kUp<2?UX#s%xV3+2@c(yjkQaL0 ztZpd#K72AHtZx;9@`v(T4AzF0-GH@m76oW+n*JE{n=j=7+?EnbXZ`VRKji=PXd^&u z{flP;sZ%-~oGg$X1+y?N3k;(F(HcM;sf19;uk^#%(mmu}l7-MpP_g$NjEZt2!WXPm zl1UJ)-Vp~b&1o6rXtUqL|GKZ~YxnmY+P&Rxww=-wJk6}*AD|nw zy^!W^KDQhs0p=Thpd!$`Vkszt%-0R02sU@3mw$+P5_yV4&3Ekw-vM(Y-7;Y&^Ow`m z8E*cyJF3a%JARB18eL-bWyyl*0xQMHA2 zIyxU(O#SOk0n6@wNl3qUet@s%94VGEl|NExwU{r9@Is0pF-zsD?m4x)41 zB4Y`#xmu=KqUL7lKs&tdmT~0&^{`wR4l(;J4-{Z5JuT}`qtVN9KSfJ=TfRIE(|jzA z5kTQ$Cj*v5L0Ve--^aM%ho2KsJC27&u5R-XFf2k z*Gj(uwLz;D<|u}&awysF=me)4FdUn(X%lME6SmXIK&K|mm14L|rzh0A0C&uUuPD9Y z%!F$OXu3LKjIL8OmC6Szu{yqd5#3)k-Tgs>2L8Yg@?i3Wed zJbFnEOnBDEgu8O^jZFxrdHc9&!mA>Xx=yU4Jz=+r z8)rfG5$j#=;x3D{{xA)IqpZ8BcGNl|AF_{G2hxKZZJqNqWFNP_c@yeSSXa<2@rrc> zoivwdoj3tShV@_sWL~%al+3!QEWYN8T6J|FT4bjQfuW8kXB}$O96`I)=A`>sa+Jah-wWA0mz1E)NAbDZ^h;}SrT3iKtqjSLe3pZdJ zv~G9-nj!0Rv;rKquBMfohs_}h7ujz!nhDvSHa0vIUN+^)=<~K&6bmW7HviCM!p~*_ zB?*Sv?0X;T!)>AmQ9EdJ_a0;(viXQ2<__CbRf^OEvE9@?lVKKhZ(ttlX_vH464 zY>#cSDaEAT=7TpNrorX}%?%oDGRy(A$!609khIv81_R6!o1wo@Yqe>XplGx43P90r zvxNf5dTl1s&HcjW5d)ZB*=+d|eXngkZ3o^yoB9TtfA`yzd0_MgZ8GRXI%KoP7ubev z+}lwbv0+n4;;4-<6ddC=yJul6Ty4Xa0k50wRu2q`yX|}t`u5wZ69LB4)_ybiylfAX z%hkvB9Bq30+77QrpP#KitqxDxt{#MjQ?^VBu`^w;RZv1;yscyvNH5xU(`z=t*7YD% zq}l#&5oD*^{!F0?*KKQ?F%~y$eJF+`)AlSKA(&;moesCjvGo`LU#@N19FXMM{zLmd zw`|X@0$;H$;}?LrZ!01XOo?r@8Tv|X3n;F#%w#(l3Nhuj8CAemVY@gK{10p`=((@7 zoka(R;1n6!L9Djzprh*>Y!5fU!baQX8|Z7cP2Pc#ZLuwS1d>);Rt&Y;UB%#xb!Jtq|Z^q%%pz&e+NN#>#Mj1sT z_%Yu33t;>iC(2L+FfwSl6394~i6V%>4g{EBMj5%(Ll{*9UWqW)II9M`nPuhhY;0z%LkMu@L%_VW2~kUNQcn zjJns1dL#P!8A9^t4=_AZaA5`+Q^S+g)xJ6{w!!3vYYc6`iAYq6cVp6Y`d*h$TK5zrk0<5QTCsLgZ489fO$sD`O#P(yo50sF zDbhq9y2eQ_X{P*Sk`ry@w@$kB9yr=2ng0Zi_DRe3!-|ecd(~*{oU|euPfquwaf*6; zHffnJNP_HtA&-2peJ4%AL+l^C2fd;88_t67fc?9a;t^&aYzfif_J=%Ci?DBB0=0+j zZ@o|c-zfXd4S;{leir#`qU|HxKy%qXc_ma_v9J0D_eG-p%{%BzvM;@eBH7-5BQDxi z`$d%fa?SoN3G`;!-$p#SRkr<(Gic1QA0LJKT>FM^fH2Q~PY)E`wYOb|;-0-K8wiW+ z*&As7S!_Qq4K(HUgK29zlgVq9O?w_2fiX>S*d;+1{> z0g$}5-(-cN&wc@AoA=wlrX<|~`%0Sh4B9W?!ImNWar!BQVf$zs@Qv8(N`QXU{yoHQ z;rE~H8~=+Hun(s62v>(?hoRox;l_I~#=~LjGsxcWaC9aZJspN7q4080JOib-!xEZk z`#4NxgVN6-m%R1<4q2HP*#L(fbdp%0L#RLO4R)xZD2NaT3!0dOI!qgc^#>e6Ceia3 z=8#J7{BVa>3imkZ5O)Fmha7Id0%L?j6S)!(I}FVO{745L9X{maIGd7ueI0XY!^h9@ zXD`S;;5a=1e36beVPJ@I40Z#wqmG#Y5Pi(C{YNk)IDY>z*snPXC>SEeaYY{bQcaFi zXi1yqxZ58z_Z+Lq6dCNT#7o!K5~iIJ3g2Xg$<5I8whK3v^4-)lVipgs5Lv9>SjXk z6USrcptsfWr#5u9IVM@5vE8ve8AI~a@ipz03^^X8_4%-40eM+Q9N!!Q!>FS_{owGJ z5J#fY^aA7e#`|au+X1*nUb0VnCoNF7s&jM9+@EKISMciX1;R~Dngid=p4jQ<`r5+ z9$?06fFg{^p#8jXX7DQ14l=Jwq5cr_gLeTtf;rP3jfa_z3!wf8Q>dfoFOs=_3R zK{AjYW9CypW;9bkyHCfNH~XRD1al{OM^7?0H$(3!<{Vn3oMw8=L@kDSH5?3Qm}6f7 zXe`r;!cosLuYLsfIA$0{lb>h)JOI%bn2ru;jA#D$*}cfjT}JVD3Cw9<1KTC$&?Jyv zVZJ*V(h`}qu~3o3?4Va^GIMGaG+kxZ-@%YxW7>R&#uR1~&Dv9$@ehGMjcNN3BE_O2#{Pv7&1OEKwOtPLr>`mhKbIN10ONI&84?ZtJZ9`K zC~h&O3n9ChY4Z*)#eJsr0!S-iZU_KlDRbm!81smkzX~H$!}K6$^ke4012op++5>$Z zlh1{wdS(}8)i*HbH=?nTDSZ!=P0R4VCZJ%ehizQG4~&Zh0mGeG#Bq-#_WKKUZ%qe zP`+Tc(hKz^b2)i@Uom%j1Mh35wHF%um>brk)^B2_WkU7{Y%s4c-Fs(U{7F8dV(U2WlbK>bXFbB$MRV7 z=AgL6>Z6F&d{zu4*O#z9x{acgCAmiVS7j^)1B~UYX93Vu!TN>{{CL3HI|GcBtQTYG zt75%JAH`~x(u|B^B#^t(qf2IC9X zIy$H8CF>jod%j|+HbCKP*7Q6KX&~bI z*_Cg=rT}*IzZjB0wvu)wgV-njfwTzr(&tckm~HW^D zu0!-$_C^Z)iDUPTpz*wkeU@&8i|h@PL7KoeP!iiEw$>I3FS8XXKyiirm=Z@4*?w0+ znZ!0Z0%$UO@Ewp`Whc>o?KO7H*FcfNzDwJfsca6t8q(OeDOe?)-TDwD8Ei%mpj~IH zXFT0@< z#=Ky^Cb!W`cHnH(Ua{Abcm6f|5!u_vHm7Zme)i+15H`R*MSCHG>|EN*9b(7KrSorw z+2iy^9${ajYd^|%+=R|CcIGdTHqPGl6pgN&d-c%k#wjPSraNch-{|w;7%kAZpA$f* z)p~Na{EH#=;&grpVcwjj3O|mf3WMO!`I+`X0yw+4^!x>K{;C3h z5T|fCAO>^ZOoyfrPSAD~p_~YE>Kx#N?F3^OXTbqT3+Jq|fb4@DH}V`F;*4HLV+7~r z8Z;i}M9hVzBbdAH~OKt z8=UDX@MUsXwt$w!sdt31Y|eH^=*{8y(&9Upqwfd9O^(T&R%dw}BOTjyixag5o%x&# zwC`HLsl0;5+nh$)IK9J}N$CxRobnn-yUR(X;kw6J^g9@eI97iHVKJw02n_c*=Orjg zIN5$cQOfz52B?hF^ayy%IgxkKSHY>E&+Y?GjfwPDa^#f#S;bjPQ7+Y-?N?BH$jPKV ziboulJuIx@u&zMGW6oJx+|_dKSAwsO^9w~-)N_7&8$|=hdOwOr&YPQ1G;x-=fv=g< z*al%OoVO^X_X+1CB`j;@a8zJ#a!ydHeyc%rNH=E!RglLp19jW%f{{?WT)3iO1n=uS4g1BdcRAfxq1@}_J3qj^ zKsJSO_5Y$VoVz&`3mwkHLJ_may*O3p|S=>kq)Uvte%YiQxhQ3=|A$dIV zxu)o4xP=P1met_D&D}`ulsnw3v|n1t-Jn3@UG6E`=e@^u-3LuY-1^7hFXlcd1mAsb zH?3DoxI4+!Qp#mygQScb+=0GwuFFbTU%|CAf&BsZ54!f1+?^XhQpL3-KV&sG*i-?9 z54k%iwfYg)nzBi1xI3!=|1sD4L-f^hXVL_{j?1EG%X;qeR!D2$9$AN4Be#W%S`+v5 zOaN`>#;X9kh5Jz|41L0FDuVh}Zhrz4wsEx$Xl&<(Ux2Wu+!@~J>)>{BXdc)qUg%RuvtdxqAe&$%hI6zJiOQx|7JhvsdFFbiWzQq7}@y^g%+MAcX7Akyr z?@|1ZFK_mLzH44-0UG^z`DKt2!291QYJt2dzX5#^&k6ZR`29oPI%fzC;js{PU=_-H zrx?WnUKE9JhVhD$0WF;Obuvf}^8TP`heNy$nqWlm>a#I2hk2@%s2$;r((Mt+`#v6+ zqIks%Q9H_;83-ee@!lnmax`y2GT4vvA}CAm1aA)|tD8>p#;$_n6z?4&iqkwP9qbUp zE1?LDGrV{IhsIdmUKL2s@^Zo;?Htef92(4i&|mtC7y{QjV|*(UV^K2g||lr>l1nZ`xt#mCf-Bx)F$%=fcva=7UFWUe4^20C+KmvJ$?K;m>nvW`4Gc*( zPqYDiIXw0WAk5`e|AW4pJSIIVdA!X_(RYhy+CoPv-hu&Y;5AWRP$Tb;dmw4znbY*BnYVo*G_~*~|2>Ah9pmV0 z<-N*AUmGu^0_^R)Jc?$0$`kxf>zWSU4Ivn{2(uQyB*Q@k~h-_l&^RR?NITWcm5Sj>*I~Y0bxHcm!>%bJTDRM zz(HORO^Akg+J2}V<}m}v|2e{|q@R-+7OoxKQZHHzyai7k>@q_jvRFx{h)3;eQhY6u$hyPk_RYe>@UW{P{JM zeiFbxJq$&G{5eIm{~pA@L{8aY{(4&Kh46nDgFlqdr%>hte1FP84dcfgfx>Y9$DgBi zkUyI|Cx`emUO-v|-v!55Ssmt|ryJ@BeiC+=|nWkj^wADa*mGAC^Y6`!k0;H+@TSi!)#$V?SXzBb&a`YNXm7EIzk|H&#e7@xuifV>Z$V)R z-@6e&OZi(e&{)QwTLLNN{I|&8Tfv`q5$q566UmuV$@e>f#wz}8S_oD1d(FV`kYDjP z`X2F3Q!b*jh95(@dyn~RDQ3Ht|G&FXSjTTk0j7Gsh+K{h{FPkP8u@PImuuqhyM?iA z=Knb#(pvb5lw9?Mucd9KR=(mJP`2@(@5VT_^BrALJmtSjC)9QDM=4OZlmD#;*t_^& zns%Y==6BLw`7{3iY5ETM8n6F`Z>}U%t*bZ>ob%bwI_ERajkSRFo^}Z1+vHh? z+ni_oyhCIun&uA6a?!l#Q1}p>UUnF!gA}hitd0W0>kgx)Ly0#XQZ}M_+u@IYz~Ws8 z|CvzfeTV6`;QOJ&_b-9|vBTQC0BPy4>NuL#4mqQE{rRaw6qg6?(B!hS&{0!Z0-`%L zg9?GaOVhCg$~b8{o`<5lHT7L#3ujG_9l+nCIi82Xy_yUBiFMJ~wEn%6%Q4XO)>!6q{l`8{;zz*vXw(+CBlc_R)ByF>?B-aE zpXLx3TprN$?*`EhYI3T#%iGszO-wX6#c0Ob z!FoqDJ@|zlt6BR8go)FP;E#E{W(2!^6Et1Q0FtON=Ga7%M$aMKqnbVZa3yPAO@R$l zG+X)0aZD4(5+2v=X3ygZO@FRg(4W+7<68Sv%}Fj1JEa-G3$ZlKZQf$0YnF`!OonC` zpGT3YnKcY7vNWqhFqf^__BE)T)|74l-WiSl0eWXO&Gry2N3+rkAm=nYYS7EoICK5S zdCjg3pmIUuKLB%intM+``l4Plfqh~5nqHS6)Fn;3Of;7@>A!+gfo6>_w78=AYY;%L zYJ$B%=9*^lARu1XJiCjz8=8}eFn6J*4?`Ada_#`~re+i8Qx$9KILW(2V-W<9Qq2aw zxo>IK&4RqQHT@T3u1uqk$wGTaGdLELcQsST!Rq%kS92k0xu!Gk_A6j@T$uZsvLdjr z)^xK6wOUOhhhpnA^Vu<7uLzw;K6cD#ivLLS?^E;|HTymR z6c|0xe8F~V(hS!h!01!W_GN&1rdi4Hspp!;@wh*lHD!4a?SQGxjZreb7weg1nEKwBb;qMKgRB23s|UxZ?4XCe{uz z?a&TncfO-`!?&D&wo^Ni<0iYbgG#~4Njql=KzD1W@H^C5JA;eK_Gs_CgZ6v1$}})^ z(LTEd%eZP2>d?4pb7DZvUE7aC^qyLqw~*dTyPg+--dc~znA@j)#5bFd_5|nB?bpg2 zBJ|a659IiRpY{M(+a1uRL_?T^T336p_t%bPzfXYnd2iqcYUA0T5u|;%3c?)H{-i_i zu-3l-yNUWt*G6mr)$4%%UMq1~ z;0LWC*H(ViTJd#l(GKNpZ>#nYui-ywZ7b01uvKw@#nHCHK#%SvTc0psT(%921<@U|jeXlqjhPENYCW84MG z_BVCoK4P#~H79SEk#v9dmbdt-R&BtE0^@-aTCmuMEm{ z(~=>5g)Z_ItX`=r?+a5_=@M^q{NcWC1?QGl>#p!>sYaL1C&<+5PH{x3PIqK5diA=Q zT4?b=ci#(x4Z6(3AoEC9+#a+Wb@puTCfyT0$LXo=;TlkRrt4e@37_i}8NFs*BPW-< z&`slXl$W|rmoWIE<2<^U%ORfAooGLPc`5a zXjk4F_=oMBTOmxeothoBv39qA!1al<`_}}b#oHY+f%XY@fi0k!Xm=_ccu96W_>*(g z&YX|PNw(XcgI!|Z$Rd_UGZQbp0Inr7pk4KYtI#gsdgm+7)-Ofvk5Y# z+ck6ri+nqS3BbQ(_n2LsSL{L!fN<5$_#FhjW@mo|%?-P0JpfW@cb3Z-!tH&z5--Aj zlsni*+Hd2fZIpc_JCXF!_9eU*h_Nr{ix+F}&n)8XOAJ9Y!G73Q44$;_(-CT?+N*d~ zc*@>rKAJT9jGKT=w~yfL$_)FNN5Co5{-YDFR+fFm3UIn$KbAw~dG9HetIuN4(;JoJ$JPrSzP`f#mm-IO{6@a%aDYouiyc(Yz_7%j+8!d7Is~r($SsHPR$$zA2w#P! z%pvY7=I%K7a4Gpc2iGuIt-@jJXt1bs7|;n#gTwu{fPCn%XDDbsa`^cKq-b4cbnf z!UJH0-JN>zzSFr=xEAPpI=TJ`hI>2BPQsi^r`)kXaP2hiDCXQcH6+4L?w!v60(6f~ zWxNRY?9@r&^`}>-d4n+O-KiSgHk`}Z^@$oJy18utPLB?y5PUy*a1D$vE#zcNKe|~4 z0taXq=Q16nm+X-6Ck?xX185Jw?E`80D1Zdf{2s9EA-a!~Z&Zoo{t8z+pYEK2q?gF~ zF8g0E(?MQ>6_A@dK(A13944=l{t~!fBX9P+T&K(brB2g;Ft8}3J4>Nk5ruDs`Zp=* z5ZD(}5Ib&4$h!mhmQpb9w{Ow@p8$EA26HlbC2dKQ+NeI#lxUC+6t1xV(FchP-Xh-TPr52tDu=n12)#59ZW&dq^mUZd zMwKLmJOS;ak~Np>oseGD{of_|;dnX(`SEjp)%|?>;o)Un(z)pJxCf0j5NB*F2r1_*~(>YoSfPADKGuMdR&RWeIz!{ zkZ-uQYv@1@h7POC2Fx$l)?jvc_x>0e5zcvpzYZCKkx|DUL73l$@_9p}=X8QfV-|59 z@z{v(Fg{NE6y_M;jf3tJukk|T_s<7|{vTI3cjC|G``G_6W6@L?Yo-tG24&X$Sp1#+ zt{lj7ig>{=*WL>x=4GV099eSpYe)L|JA!>L_Q3`Wpm-Y!JaC{Emt zq9dG!9Ze68V=jhzzJOVe&<`ikizR1Hkd32b{1S?%t?j@ffif2WB$48}f^QN9sxWty zaycrOOw->%Z2d91UxV&(+T0y#pQJzz)u&Qg3OJpnkpm&j8CuT;ZD%QpmpM6<&+emh zWPAoP<&yDEXn3B+a~4h>C2#=lBHe6)zWJ2TZ?sF4_5)~Mrt;Ykw18IdNAU_RO#tZ< zJyo#(vy>`dp?ixOSAg$rYUEE=6)oY7)P0)Cxd_!H@!GbAqWPY!rN#V{1a%as28(){ z+aEGLprIU;XrRhX7<@=;wxRck7EeRdNaG4&lE+jY1oS7=b}0~=NPpoo5PeG81(5q0 z9pa$Kb9yotO*0w0f&B{_&Wp4UG@ut4ex&=Mz;B_{5745Omgi&8S-hSGggs(>H#B=i z@mb)xh}6#L?GskX;NT;Ai~*JXB8=mezG5aHKIA7B=-K!OMDPO`_@Jn515khQV=^WK z#D_xk0!8po10hSyS&zZ<;w!jq|9jW#`{(@(fkyt^AN?3g;`GoX^m%(o6-!Sp11F9` zdZUS_u!WdQAe+PJCDMgCP%eq&T+lm8Q7M>9rv43(BZVeE0m)-@=p&lrbe$b#C+O;S za5zaFTyZf{=|d}er)ajGD`V3rgBRonoL^7i?=NLmQQfZCg+jpou;_q zfILHqFJa=dRNo)g$f2Bj=$#{L&c!I8G~St9q1a?7ewCW}@wi6gMnbgfbgd5ry+Qsq zpi)TRHR%CUL{l$<;Z4dsj9xKy83ZyV^ff1tm(m(uVBI2`hNAWKcQSfUsfNo&pOI4=@O@5IUC?_+>%Roi_tbb7y${syOCWrtv=9i|LQmd8 z>{iM$1p80)ih~@k!eAMmPB-CzR6A7X4#tibH{ZOzpyDUs*1`MduxQ~ecCh$r6JVmn z&EsGnBl_{C>!`?zg80c|SOMft5uG^Fnl1u))s-RUuSAn6RK?(%EAAZx!}G$S48mLx zUhJR96H&&XQXwYPf?>T#=fvcfLjMv{I7$`6z)znd4O*=Nar}#-`emRPO|I+{jiJ^1 zfpvuP_$iE~B+jIW!|eyv<0-=&kSA$6ABcI1g4s=#Mn@9>l1@dOJf1=F?-C>L{TjChO_>0kD5Sum3BcBS#L=Kct<%qG_ZuH&A;_MMZ#YBK0b0|CH8M zflM=<<9*Nzs=NcyUei*}EOETRVz#jS$pD^qUPxS8??hUVr(B zS6pMTU&L}mC`c?X1I!`e_ZC_l7HMf{qQom-ND(bYb3J^FILf=Cqv97%v`H3oQAUgE z?1dbyNf+sj=w*npycf+B!wz8Zyg0_0-512nu@Eg!)J{TkO`Lv#IsJ99{1&vhAsX7D zTPWUgwqTK{;uG6$it`sitynzduUUz3?Eu75(cJ;mZi%@ZZM`je@)EvGT;Uh^9g#B- zb9coSe)ruID$d*}7giDIRfu6*K&4XLehGe6ViQLl@9RYkmpNC9oX#LqBhu%hS1Zmh z1+_Zy_uqVBL=`_E4}_Y}$ZilR9w75j90`EDAH;Th7-*-I&u$wRX-zPQ`bmGiz~BjK zp#hqklD!$&H%mYAhuvR}{4Wz;R=&evrmVN&wf{x=d;Vptn{vWmcnHk9yfA+^h%Xw#o2$iRIB2pY_;*~ErM_H9yv&XldCPm-fM*PPEz#I3DD&0XV@%EAbUqJVvbj~f>Pp%80 zoiF*$1QkE(a}Xd0D44Uw^asgFh1Q>@6aYVf4!s4nK$?&Ufr6;-pOEMfU0_WPQ*ZV~ z1e1mnxX&#eDTZ}eQPj;+4qk)?Ly8r>o_H&3@h47u-_+Lxa&4Z#JFT7cT^O|6MRmMKaibWHbGp-2 z&Ped3cy>|x(Q+G*K1`9EMj1>SR$(rh9&_SX3^lQ2M=5Ow29s%u8X)=GY86 zjxuN-A3&H%J^A&KMeSw-G@I6Q_RVRk=bPaSRYpRjv$SmidN~x&p7V30=TlH~DTc!y z=gE_|yBDaCz4Cc<*#_trsi+RUd@AM5)Ft|kzXF%_w1Yij1vG_saaXA0CX8OC);b7t zjcmMNj_Z^^0fRRvdouVI(rCVYi)a}iCU=uOBQRG?ucxEAM@|{QE2jkkU|2!3_)S_# zai+klBGVEK-lstu0P>KwcLwQ4q(9A>W{s4|QGv%4xCNk3=%nS6z7g%u0VVm0MV|ACcc*n#m(NJQY_-VPo8rOr72UDRM?MtjbEo@v@11ZJfSfKIbJ@I{+by9MgbjgJBDykYG4nqOE3nhQ?y zQgvaP-W((r`EgWjv5h}SEO8$Ugr!5nF|xc1m({PSd4#|Jt{4r{8^U;xv?Xf~V79G1 z4ib(Oumbw+q^@^C+=+f*fAC&<)*U!5WXSc?Zj{O)Z7-U@!3S^3;RVhF83y$^j^ zgmyor9)m@EsesS7@T1lMAReH0BLI4k-Yf?ve;RiYAOZAjI}n1XX&!_Kq1Fay5K8A< zplvvH84Vqx>3d#v#n5~%nLJ9pBY~Gp?RamILjUq!ES>(~2R=hjcopys|Na{=%%bvY zhWEhRy-zp zmbU>Y{)Tv#_!bJ3VP1@qfp??q`HfaFcBYtap$of{xeAiWz54T7j)3#2?m2^>p} zr0JZo7DYQauoO+zoSq*;Y3%VhLdION5KHB4(8Q5N0U+b)HyL6j&~__;BvR{R@J*sm zJ0Z(aO6Ed~WIZ)Z1ho`eavzh&Nbqj|IC(yU6ep;OUn;3oavLC-^vD=ZHq~~lBZPe= z@FK-_&eDhy#r)hxiyg60DNc;<0xHKvKMSDeh{n@;z?>7ooGqLylKD9~FIFKgjdxn} zNi=!FjE`5kD9X;F$rq2LU!wFZkq@i%+mip1~yrnxC>d23cII`SU;p4b?LUb%R) z6>8Us>@U!(7wZOsZ<8=T2#}{@(J;=xek0Vp-F_ZuxBF+$Mkmgha=8;sul`t=)I?k^)@T&%w}Bmf6qcB{zK!V&3u_PDj}% z7qiyl9F(Vgg*kuOW*X)K8N#&MoQa>h_dcvznLGj6tE`DlBv2$8qjU@%nP$YHTCdF3ozyKuREThNSuQ$Ed!ZYxx-BGJuc^RG~$Fjhn=A(<=nUErOIAh z{+lL$^oK3eWf;@~92J&R%Du{nk?)4h9^W_cB;Co5_xC+3GNmIx_bS@KpysK#6oH{H60;z8Aby1eL_?JqcYqh8EME=C zWW|MjLs5|*PtrnF#bc;*Zyc8 zt2S^L6Jw$w^vSX9Bs`6Yx#Zf(qU%pQ2V>6)W9(CSp-aNUgRa|J|p*H5)4lnii zeju|?{feO5e)XSR>2W~)_;d99)gz{0E>P`pAH73rSAHHs)LWhbBwS5DL!~J7gIWy6 zs()w$h6(CvC%_?F9WWh(=hUhKfaIxzCSmT9`dB9Ce_v4#5BhvKaq^TdVL&bUC48+WYfyOKX8DC&IJ2|*v7*O@idWB9FCJ0A4!)}LyX5c~RPNDeu5B!*D+Z9h zg2s(QQ%U34U!#Bwd@v(UNtB+abz7b2@>|zk9yG z-}Q;_L3%@1jv;L<|A4=n#`MSE&8s+cyTzI#B3rv~f$TPeK(ODQ-vRLY?}vl(4l;Vg z_4kfspab!p^oKLxcF}775INDUM^JJ%jpoPDnJ#nzC0Du@2uLrQ`#pGjQ#lv;`H^=R zAOoqCeFZ`E18-PE$=C^yQFK2RazxYVpFkysDoucwK*b#TN}+?_2t0qssQ)xz9H;kO zB65OmErS#p^w)gYDT~f;f}!>(G1%_>@Ab8Z*UMiYVRwDM*Zg4^)b9lFMpk#m--&KR zAj;G(?I1}QZHNZ%2)ft|qean14p+p`vUdNU(wE;A3IHNv2OkZ4cP;m6$OH zAg@K&5X`lTI8LbiBn~cs6nmrs&e_~6eb*79xkzs(ptnytdLNCCW2Wh)~IwLoH#_Ru||SF1_Lm-w3JO7T6+Evf>?Rlysy5kcrXC3NoRRKdR+SH1VlR_rE@aENhzNnl~m~gSAm?8F7a+NP5SB% zzqHe({hoZANbfm;CR18=4b-xvlkWgpDyf8<5&OqtC8k$?7|olo z0f)9h_<^}I@b|~oOyK_XRXE>~p3xxZOdf|Z;X*yl(Q~5<*ggJ7wNB|lb4DMJ6GN)M+U>@@0F2LphAn%^8y-2l_lSQ&Z^$w5W!QWuUiXV`&9PqLOP(z z*aJj=RT!5#1gfll0)CJx>piaSA=Q_s&Qh$NlDN41X z45}om^4ehTsH*ZMzi9BUt%(95`;>kS%x?|WK#abv-J#rf->>4A#`lfv=;>F=>!w}g zphDwKy-r{zinMECuM9c^@6`WDd8R^&-87Ojdz@*0Hiq}mb@pTKr5*eXds939Q0=2& z&bsrVj{Gg$PlGwt%a?}z0eXjMj3ws6Y1RTg@FU0u65~Pbe;cE*WXmZD33TQFJ4^8I zFlnqY5=AfUpg=S=arh>NCMzJ71OGWxKSu$-p?99#Ilm>Ju5*S*0oBfhuvf@!G0>lj z8E)u(5HrsKR9QkKOsz_)N>tlIVI)m zfN)NF@)tk~B>lvdkfutCj{(d($!;x_*)JF3#ipE+1KA;vCa>=a)y~SD41ky;CtU~o zOLEB(fLxY;T>!iyIczbSyYfPI4?dEoa}Gw?$F&z zK`0tuB~H!+BjN??_Q_7KHko2-LY%{2pDVushi@VD7b(pJET>r&fqw?KO z%)L?uFN3_hRar|w%~>^o-#A{XZ##f}fJ%vmOcAR2PE1pk$c2dcss&>}{ib_7PqRy!WY z;3f6&Oc1@SUjOp{e-8AE0M+-)_P7||84BQkKm1pW^h@Eh^!j`AYW9cCeBH{Ac=nV6ETFVVsSF1je_l(C>%Iwsqt* zqwQLL8qUGZLsWkVS2TnQgE(n5lpe85DAz&7*u? zhhL=0{64%+54%CZ8x+KQ{4$E=$5?-tR#k&V4fS{gfoo|f7k$)`!B4=brz9^7KA^$u z^lzZtJD7V&r5v7kM9x>hqM2;x0sSQvJ_p}7l)e|Xct@vCfc6LaZZhzkM2i6g-7V~S zi{T-{R)UJB7|3FK>4nW1wBEvllZ^I>Wu4IT5xxS=Vd0z#DT2i%j**6lq!w@r75~(s z7bcR=p$QjF|I6UX;k_#yCEtNcl<>L%b480RF5!<6bO3Wl#FY^cCRS|WGwR|*hCAeq z7y837Fk6Cfy$-~SV#y^S=8Lv_(JK{ci-CAcRDA)&O0jn)2CKw(1TF51TkIUI7N38_ zV2!BKL*82PwK)*##LI1%s~7VkAmKBS_BF(QF1GE3DVs(4B=CD7?uWD0#C`oSFnlGN zW~2LB{M-!MZ^Uk6Aifn_7J%qGagDto??u`sfP4^D9P9chE=~sD7E$~+h_;FyoP&B$ z$|=EIu+#>UB>f4AqT{nQP!q4%^_{v1z#!UyHe*ns`7UYWUya|~t;8wJ+0 ze`2z8R>uHg?sZNenCHUltoeO6g7Sji#t>*>Z4Dq7dGm>Ki!ZZhXUQhc3|qR3^8l9} zzz1Jhp6~{D+RDdVS-EBppTe|mSSc^YV-Bf1}lt_vmjVl#JKCK`hP0bI06+@r#EpdcGyMc2o4ciTY_JD&!-hlWFKOG{?wU1B4UQ;Wp4u(Y{dLG+v^?yccv7lUCxo?G>AlQTU(zMwL9k ze|{^e0P5)I5-=X)uny9WJyC~|aeZwe^Y|oBm}WvKJ5r}6c!JLKZ)ah4Mn*OM&J1<~ z{1UgvfLYp;ozBbOviof1{_zlX)fX20{@u`>-CY}pvr0Q?9)GVL>Gm#M2^V^Q0Tf+n zGJleT=qjf%M^PhZjYX5S6X?az^o?ka&<*xoJ*Azzp@|mRlfXAs9N?{4mgvP>ja;!H z86sU0cbm`@3uktd>+gwRuBxjQRhJ;d6H&PX>|YA027|4leKSD!N_~7l%~NtJz@V>W z%1hZ$$v+BBl(ae-WD=yYQ_xG6Vmm;z<5D)#u>N-o?%RTasiWEPIWKrOU>3wp$KS=T zcz?I_2R-|tmp{J^pj92YT4&89UfKN9I1L=vo6UmVHa6_VU;WaXfOI4;_BlC`J3A5q_o#LjIF(ZqJ7O#7w;rHbNt3oh>ni%dIX3sn=Vv~&znV6GgKiD&=?)gP zWVsWFbu@Sk$kdaX3o;&14}J_A$ci(39#SKJ6&}%b-rzUWKfL08LG$MV@+Af6pwer~ zC;`Y@nj8v-@960WK<*SiZP42#zU>c$eWKt4J1u-fdJK#aDAutrAxN}8jpmSO$Hni5 z#aNCg28&KAG$G=vIlvDUE2cr-Ffoa}L-E3hvs4m9(^#-b6w#w0VUlo`FnCmS;1iLO zh1XDUND&Q#A=5E&laKv6E`H-o0R0K^Srv$$6pma}lPa3#1M!sb@&K7M@g=9nr3-5b z7zJV_?>?`Jc?)5n8^SdhAVs2L5iWDFaN&fZQn8SbaG*FM}8M;w5DPju$*ZMpED zg{DGu;6m?8k?;?CReEu$3mDdlu?9e_6AQT9wn2RPD};F{Y)7GaEXIX_T9e4m1E=TW zuQX`!Lb!8o&})&$tGhQs)epUQV#xqB?*+v{-jCwWOR#7WS1f_vDsFMYu(LFLB(Cxv zNpKO)UP(XW2gvOrh3^39KItCsF?^)DjW7vzfcy|gNu6xa9F35j_l&fT<4R|x27hq4DYYF9kTS_c z&py3M$tVW+b<(;hG>y_~_J}^0R#^h$jWjk87%h_Df2Dl#LoN>UkdN&Jh@ZTI&-)6N zA9CO~Qa(`yb0x`5?Lj+DHsy8xX?fX6D0*IAJRXBr8v<%+|g69<;>!PO40X_@G#C6gVke{ zSwk_Gq8M{_`YGkAFIZ$Nh3`P+hSIbM_N`PlcY_oUlu4YD(ySQ2?if7ma(u&Acgbu5JXkIF&Ihfv=BIo7C!;QXfo$d zR1CTER{98a_yr2bQop~zA&#osVlIJd@9_HbD4B7^S_)mA0nzY<91D!&)bSr!@dOd4 z51yno99&AJW`2L1qTk1WMH(I10cz=F$Jg*2HQ$11a_OTlL_1GmyrRB9y?=t(d9-~J z<}Om-ki}h4!f!+i9bvW1~YMTp?hgAIxoF36pu3u{;n;OhLrU!fg z))Q(RiRQJQCh{-DyrJp5EqqI7-2wBCoH)DcJv~)n@B^9fcIG1up9BN9(A5TLzgvXY zq30~@*mLVCstrNSOBiqk$U))5hqC*NfhPeOAnx};6DR`taSRum{(H7X(-_DbDfB~f z`Kk#Qc8}ui`7eY?5+gZ~lPYd>gcPR)4(8!^;X__(ri+1GoR%TFd<8pY3aeWf%n}N( zBeKP!-oQI85_zM2MmQ;;c~(RufPIb-LqYnS*t7swD_2;KgJlZDYJCh?ToL0qf^=1E zWe?#sQ85b`*M-d~aJnTj*aLH0{QV<9%ET-V(%um(|Ha^4@#$~$YQ#R?h}DX<>^^%e z7Pf;hPehxS=rxI%iy+KXv5!5W&qV8e3_cgH)4`!xObOwn%@@LzKgTb{LEaL+7Okcj zd@JnOd9Xve!mn~iY0)DL?v$>we_)rS<$K0SD&Tw7L+VqHo~LwjKlpk{Z8_!iptOrC zX8ffbFQ5lV-HkvjP+G_tBjJ+iKfsHSO55_GiILLPQIIA|y3Px!bm<-65E+sgdk-_E zfp;*NCH>7_p9|6qKhVyT%5ng5QEERK4D+QN{(!r|6ko$qu z!iO6?lMMO8{ajkN1*$bm!~22S3+ZnY^jf4k4n6FUHJlo~Q;sUZ_1z^OSPu!^<^G)I zSy7$F%+YwS8nQ#?3BI9+Lf54{W}m-hpi%90H9vXrY&(PX3W7HXeXY{Ef1Pq|fr z!Hdc=ev{`bU-Db)lG5M;VJ<84xrDz!(VvD&S5Qn3nXW2Jw*%pt;=Kk2x~{C?JLrZ| zu4kt~q0*VNUW=4e4x!vsdhoG6#meRD5V%CK$pr0ErMoAH-ctIo!{WBmf%75Cl${*z zxT6$%1MjY~y9jgllx@$^lq>n1rCyaC)X7T@81jvTQ7fHY;(T0Qphb*#)At z;D=%W*{ZDO2jG*kX#>!AsLqUqNgP#HH__}=O>=-~uBulym~&IzZISW(xvT7kpzEO; z!>$%j)et^!!b|1Z7ixQ}7H>mupGw{ad>_??!|3f-Ill!NUsW7$`}|a9OQFmGRb)4S z98}F;0%HCu`#;eOP<{3#WC~QJNRTi{^$)*v52-%znK_45>)-RC8NsT+KVX^=)kUuM z2vrSZ*H)OSm0vXBs#3l?BUDp6gG{8#nD^OHs;dKGglLt^Q9#D1^4Sk^MAddR(34eG z93D(jHH-zwG1X8G{2W)Mn1k2})oafFIjK6s+03b`C7e5{zpi@CWwWKKmD$k#t!iy5 zFcQ=aUJ&@cx)VnkTh*2Q0eakE&IJtKFfeZi$R`G~*uCa#n7{$F!-liofanRsc^|+& z*YHf`bMc{4jhzXkQxAh$4NHiTTfgBQEYE*=Gif71AE zx&CW*#%#=ZjFC-$U=gHjo)QY0TfRRJ`dgRrgSSn8sQ?VN7jQC&GaVd>W)E%QWxES? zb;8whqq#Kzcc+~xXgnz|4^sc)P|0%$;75CTZ|F}0G`N2QNp|LIM(qy(GMYN` z(|d&cx$-fY*1JOPlXQZghE#Ig#cP*SRIwXEq|@+AAeu!}5zInvWY%~nkxyIsyLXBH z<_w-93YiLoVp_wA2&F{5pwBI;*b2PcbdyUS?~sQF%u!2$Tu)p_HnRazPv3F|dINQ0 z55prWj0EXMdYs2WyC*2$0sCjvi*5Iwe&OuW4|KZ?dLJpM4rE&Bn-LgnrN_K^_(W@# zVQ_~SPzMcNglai@ZelKHeR+tr$$<0{8#5uyJ`wUOgxN0&Cxe);aG8j!;3w{EhZG0J zHHDK_!$i>@z(k0BA2E4U?Be}jve;Y%GAW{MH;8szSbYGsRAHTi!E~{9B6P|X^LdkW zL3FwFe@oonZ+Qp$RSO4`zm_?`T76# zEq_Qx76f8ql=V!Y{YD1(J9+{~yr+E=j@g+d{B+Dt;PvagDg`482C%nwkqujNNx)^y zE{{sW-&GyhiM%$49eMxWdn8UrA&pD9?&pOYJN=Jw}V52xb27Lp;*dwSI@=mSNvUX7UMF3|3Y;4NApswnu}ZQ zmH03o!oL>3axCJFSZN0`??esnT6apr?4ZRiDV(1zH>vG=P;-~2v+Kq~`o0=0{G`To zusLnUhq42DUe9E*#UM*494FHZW0SFH)s`GME?WTkNiy#RkR9?GE%bGipZ0;GJLRYBe%~dR@tWC5 z_PYplciEhi9zFE(aJXcVUS?aee%=4(esfVnn5&Bwtfv;1j*0Y z4RJ_5#$`x{{Au|l&!5HnrX9+@ zG)U^G{Ne~Hb}Ffyo$IO`{cn+?+&d4V?uz4140Q{GlqoMltESCdtK4> zNAHG`z>By-Wf!NT6e%6HLc*I$9lP9%l^#hTR-zp9aKEL08SpN zFF%7xJyk!S1#K_Y3Vz`CslMRc%l#@-c8U0^&X=J%pz7!cL64|%jsY@Og`c>C@l^&@ zAQrEhdiZhKlX}%u&Js#h&0~E}sVsY=NmI>GV1#tlnIqcXjwDu<%fyIRbq>)luw-_Ext#<7)e;ogzVOzk2N`%=xKPih<{^ z9%BH~f$Cndpc$l&84r*{YE%7obc5AZoT(M6p5q5HVQM4JK8jF3VMkiD`W{EYQq|*! zgJGJw4f__;)#DzZm!V$54@aiDtRB5Ab^DFbFkAhEcN}NcOSvfEoch*2%;l<`+|is@ z_vMRyLEV`VkUZ$gNsAZNZd|8bqF%~@iBh#8m)qS^cV=%wnYs(|N|bx*+Z;!zP+#Gb zC9Bl)xU`@~?ZxRv_3FHM;5DeHS)=z*{W+hM)2Mdiqkx*!{rUs)sru#?3_e#6zszP< zPvi>F*Xpl2^Pxp=)dj_1_(6SfHeg!S*>^!^hk@N05Z!6u%H@(y2IoqEalqiaTJ#PY zq;bH@-(Zj}Xa^XqR_OJgRf-}y=5@r9}M0$82c}-NSVQ4c9-5Yn9r#z4M5{!xMK%6xf@#cfb^b*dpbg1 zFGFAcoOtUEk6NPLXBd_M&vjDT-@Nio+VTKR*?hH2!Tn#BA3_UsU7-g6ggx(Qw z0_`}%=f6PE1j8wVAmLHNUYjv^%y2xryiOPz%|S2K@H-!Xq#362iNTqM{cnSGmSOyG z=$UP(m#_&`&KQ>PBXiC$j21f!|*;Y zT8a#FW#Phs53m)3+VNRS2;lTz%cP3dJTp{+#%W{!zb)Wes1`hP10=m`_GW@ zg<(5Auen|tcI4>PD?=+zvUp?o<0DXWHtMH^+$j52XOknkoMpnVFXsc1hOEf!-(=LGKPUE6V zUVrX3Zr2Wo&c;JID8ASDdv@W$s95v46-;_!=w&HbQit%Kel8av)Jn=V3ryIBU z0Ysl+{KI-ElWF{pUCvp?NAduZZQR!x49^(1Jq{Mvj7OdU?Hk6Ub8xk88kh6AIVHx+ z3t*sH5q&L^ab8ymSn z3Cjf03=?av>&Y~Ezlm*V(w{wUmrc~{Xe=<%@GIr2N&Z{Nbi-uyA}Cm7vW~+-#U@wv zgD`o^L|q1qJ0_#JDE^*FF26%7OiHk^RjN#uaspJ1$)HKE-;Ix_q#IXcG1T z@-~`uTLulEm~1OU^US1sBGi6i^1c~!uS|yXPVtSʷq&Sc^$aBwq~IIr2=)bfQM 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
    T9>OO!keOH);{|8sK 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�L7CNutB=+wkiN&uRf$GX9@ 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 diff --git a/Debug/Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o b/Debug/Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.o index c69c30c2d9b9c1e16a0e83f8b1c58640c0cc43ef..d04bb4c75babc30e7780f815554bfe698c65f2e9 100644 GIT binary patch delta 149922 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 z zILIwluKY&sw=(TE>i#Hob|d+#1pkH>F6yrwLg%VZ-~o%9ddEIsZdA|Y*nv&z^u=J` ztRB?NfYe8QBm$Mb>Ylu>Z;RTh5^`JB(R}Q}ZuP}V(9mCP{|9J$)MFZfBtU&H0*%?L z9&U}?KJ~U9uuP!(J>PkP)OYS6308OGP{$B;5y$#Qszc^O?jdzO9xWbLkLCd0D7D2p zj{irHuPrK1sq68m{*LYT9h!A> zq2W%={Xodwr%8wecA#b#-v+}q*GGWlpvJ2yYz?+&$kq~rCv-UbDGc*=BRz|sP(2Nh~%UW}} zGm<-+M)P5dERAV0%yw5pe0s<|O)>`w-q%Fgfg@Lw(-GpIYU2I^?TzMg403NZ?HePP zuhDYhJI$A9==5H*o1n!9O*5V;eAhgF4t)zXOPT`Zhi3ME)cw>LZd^fHq-mUi%3qqi zTqMPs1+P%}Ta!K&q<=J9zM>U>HKCSBT(r%`g2YwZ<{c8aCV5rBT}xFUca!$#dhl)5 zw&r(>`DlZdLv3GeH23xv?a9hWwrZF2VyT}tWjNH{rp+)cf=Rb)pJoC(Ks%KKKlW;~ zurWm0r~P^jq=8yb4*d(#uBngYpf<27KqItiybU>0+gk^@hqR}@f-**H&hwQM+Rr7C zmf8c;VaoH`gOeaPUR!}LoeNscPVimSuH&Gc1Z|C1JpNDAx<&)$lGcV-S(CKmc<23P zZ4@85m8_k36S*teZtUPm(K_+okyLGi4zF`3S`aTJ3O-zj~<6;Q+a3T3aV1a8`0`^b2hW2Z6rS zR^+kpdu_j_sQaK@Wre~5ZN+m?^rO~=Z>1q7-3Ec-v`HIZ6vmrKEg|BvNtF@M;;u

  • <95)ypCC*c=N_*Aj6(GK^H_es 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 z%0D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 diff --git a/Debug/Core/Src/sensors.su b/Debug/Core/Src/sensors.su index 9c99ffb..f17631b 100644 --- a/Debug/Core/Src/sensors.su +++ b/Debug/Core/Src/sensors.su @@ -1,18 +1,17 @@ ../Core/Src/sensors.c:18:6:HAL_SPI_TxRxCpltCallback 24 static,ignoring_inline_asm -../Core/Src/sensors.c:29:6:HAL_I2C_MemRxCpltCallback 24 static,ignoring_inline_asm -../Core/Src/sensors.c:38:6:HAL_I2C_MemTxCpltCallback 24 static,ignoring_inline_asm -../Core/Src/sensors.c:47:6:HAL_I2C_ErrorCallback 24 static,ignoring_inline_asm -../Core/Src/sensors.c:56:6:HAL_GPIO_EXTI_Callback 24 static,ignoring_inline_asm -../Core/Src/sensors.c:75:19:read_icm 40 static -../Core/Src/sensors.c:82:19:read_icm_dma 32 static -../Core/Src/sensors.c:88:19:write_icm 32 static -../Core/Src/sensors.c:95:6:init_icm 24 static -../Core/Src/sensors.c:208:6:calibrate_icm 168 static -../Core/Src/sensors.c:250:6:enable_interrupt_icm 24 static -../Core/Src/sensors.c:271:6:configure_interrupt_icm 24 static -../Core/Src/sensors.c:293:6:bmm_init_DWT 4 static -../Core/Src/sensors.c:304:22:bmm350_i2c_read 40 static -../Core/Src/sensors.c:320:22:bmm350_i2c_write 40 static -../Core/Src/sensors.c:335:6:bmm350_delay 24 static -../Core/Src/sensors.c:346:8:init_bmm 24 static -../Core/Src/sensors.c:385:8:bmm_configure_interrupt 32 static +../Core/Src/sensors.c:27:6:HAL_I2C_MemRxCpltCallback 24 static,ignoring_inline_asm +../Core/Src/sensors.c:36:6:HAL_I2C_MemTxCpltCallback 24 static,ignoring_inline_asm +../Core/Src/sensors.c:45:6:HAL_I2C_ErrorCallback 24 static,ignoring_inline_asm +../Core/Src/sensors.c:55:6:HAL_GPIO_EXTI_Callback 24 static,ignoring_inline_asm +../Core/Src/sensors.c:70:19:read_icm 40 static +../Core/Src/sensors.c:77:19:read_icm_dma 32 static +../Core/Src/sensors.c:83:19:write_icm 32 static +../Core/Src/sensors.c:90:6:init_icm 24 static +../Core/Src/sensors.c:160:6:calibrate_icm 168 static +../Core/Src/sensors.c:228:6:configure_and_enable_int_icm 24 static +../Core/Src/sensors.c:284:6:bmm_init_DWT 4 static +../Core/Src/sensors.c:295:22:bmm350_i2c_read 40 static +../Core/Src/sensors.c:327:22:bmm350_i2c_write 40 static +../Core/Src/sensors.c:355:6:bmm350_delay 24 static +../Core/Src/sensors.c:366:8:init_bmm 24 static +../Core/Src/sensors.c:405:8:bmm_configure_interrupt 32 static diff --git a/Debug/Core/Src/stm32_lpm_if.o b/Debug/Core/Src/stm32_lpm_if.o index 00c1f92056f57d2f2acd4b67361805dddc37ba1a..b8b7125ec6b75c66d85020523db02b72f86748c4 100644 GIT binary patch delta 140199 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