From 854c2e9fbf6ff237507102a7e49412b4baf2b568 Mon Sep 17 00:00:00 2001 From: hold the blade Date: Sat, 6 Dec 2025 23:00:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E4=BB=8E=E6=9C=BA=E5=BF=AB=E9=80=9F?= =?UTF-8?q?=E6=8E=A5=E6=94=B6=E7=89=88=E6=9C=AC=EF=BC=8C=E5=BE=85=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=AE=8C=E6=95=B4=E5=92=8C=E7=8A=B6=E6=80=81=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PressureSensorBoardMaster/.mxproject | 31 + .../PressureSensorBoardMaster/Core/Src/main.c | 551 +++-------- .../PressureSensorBoardMaster.uvguix.kkkjt | 67 +- .../PressureSensorBoardMaster.axf | Bin 529444 -> 524632 bytes .../PressureSensorBoardMaster.build_log.htm | 32 +- .../PressureSensorBoardMaster.hex | 849 +++++++++-------- .../PressureSensorBoardMaster.htm | 350 +++---- .../PressureSensorBoardMaster.map | 866 ++++++++---------- ...rBoardMaster_PressureSensorBoardMaster.dep | 5 +- .../PressureSensorBoardMaster/main.crf | Bin 535712 -> 528766 bytes .../MDK-ARM/PressureSensorBoardMaster/main.d | 1 - .../MDK-ARM/PressureSensorBoardMaster/main.o | Bin 615528 -> 602048 bytes 12 files changed, 1180 insertions(+), 1572 deletions(-) create mode 100644 Software/master/PressureSensorBoardMaster/.mxproject diff --git a/Software/master/PressureSensorBoardMaster/.mxproject b/Software/master/PressureSensorBoardMaster/.mxproject new file mode 100644 index 0000000..ce894cb --- /dev/null +++ b/Software/master/PressureSensorBoardMaster/.mxproject @@ -0,0 +1,31 @@ +[PreviousGenFiles] +AdvancedFolderStructure=true +HeaderFileListSize=6 +HeaderFiles#0=..\Core\Inc\gpio.h +HeaderFiles#1=..\Core\Inc\dma.h +HeaderFiles#2=..\Core\Inc\usart.h +HeaderFiles#3=..\Core\Inc\stm32f1xx_it.h +HeaderFiles#4=..\Core\Inc\stm32f1xx_hal_conf.h +HeaderFiles#5=..\Core\Inc\main.h +HeaderFolderListSize=1 +HeaderPath#0=..\Core\Inc +HeaderFiles=; +SourceFileListSize=6 +SourceFiles#0=..\Core\Src\gpio.c +SourceFiles#1=..\Core\Src\dma.c +SourceFiles#2=..\Core\Src\usart.c +SourceFiles#3=..\Core\Src\stm32f1xx_it.c +SourceFiles#4=..\Core\Src\stm32f1xx_hal_msp.c +SourceFiles#5=..\Core\Src\main.c +SourceFolderListSize=1 +SourcePath#0=..\Core\Src +SourceFiles=; + +[PreviousLibFiles] +LibFiles=Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_usart.h;Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_bus.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_rcc.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_system.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_utils.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_gpio.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_dma.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_cortex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_pwr.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_exti.h;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_usart.h;Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_bus.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_rcc.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_system.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_utils.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h;Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_gpio.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_dma.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_cortex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_pwr.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h;Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_exti.h;Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xb.h;Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h;Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h;Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h;Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\system_stm32f1xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h; + +[PreviousUsedKeilFiles] +SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\dma.c;..\Core\Src\usart.c;..\Core\Src\stm32f1xx_it.c;..\Core\Src\stm32f1xx_hal_msp.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c;..\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\system_stm32f1xx.c;..\Core\Src\system_stm32f1xx.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c;..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c;..\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\system_stm32f1xx.c;..\Core\Src\system_stm32f1xx.c;;; +HeaderPath=..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include;..\Core\Inc; +CDefines=USE_HAL_DRIVER;STM32F103xB;USE_HAL_DRIVER;USE_HAL_DRIVER; + diff --git a/Software/master/PressureSensorBoardMaster/Core/Src/main.c b/Software/master/PressureSensorBoardMaster/Core/Src/main.c index 9f21482..c9393de 100644 --- a/Software/master/PressureSensorBoardMaster/Core/Src/main.c +++ b/Software/master/PressureSensorBoardMaster/Core/Src/main.c @@ -14,105 +14,58 @@ /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ -#include #include /* USER CODE END Includes */ -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN PTD */ -// �ӻ���Ϣ�ṹ -typedef struct { - uint8_t address; // �ӻ���ַ - uint8_t is_online; // �Ƿ����� - uint8_t is_responded; // �Ƿ�ظ� - uint8_t matrix_data[5]; // �������� - uint8_t retry_count; // ���Լ��� -} SlaveDevice_t; - -// ����״̬ -typedef enum { - STATE_IDLE = 0, // ����״̬ - STATE_WORKING = 1, // ������ - STATE_COMPLETE = 2, // Ӧ����� - STATE_OUTTIME = 3 // Ӧ��ʱ -} CommState_t; - - -/* USER CODE END PTD */ - /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ -#define SLAVE_COUNT 3 -#define TOTAL_MATRIX_POINTS 90 -#define output_frame_len 98 +// 串口定义 +#define SLAVE_UART &huart1 +#define DEBUG_UART &huart2 + +// DMA接收缓冲区大小 #define RX_BUFFER_SIZE 64 -#define sta_query_len 5 -#define matrix_query_len 10 -// ͨ�Ŷ˿ڶ��� -#define RS485_SLAVE_PORT &huart1 -#define RS485_OUTPUT_PORT &huart2 -#define RS232_OUTPUT_PORT &huart3 - -//��ѯ״̬���� -#define S1_Pin GPIO_PIN_4 -#define S1_GPIO_Port GPIOB -#define S2_Pin GPIO_PIN_5 -#define S2_GPIO_Port GPIOB -#define S3_Pin GPIO_PIN_6 -#define S3_GPIO_Port GPIOB +// 命令定义 +const uint8_t status_cmd[4] = {0x03, 0x01, 0xC0, 0x80}; +const uint8_t matrix_cmd[4] = {0x03, 0x03, 0x41, 0x41}; /* USER CODE END PD */ -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN PV */ -// �ӻ��豸���� -SlaveDevice_t slaves[SLAVE_COUNT] = { - {0x01, 0, 0, {0}, 0}, // �ӻ�1 - {0x02, 0, 0, {0}, 0}, // �ӻ�2 - {0x03, 0, 0, {0}, 0} // �ӻ�3 -}; - -CommState_t query_state[SLAVE_COUNT] = {0,0,0}; - - -// ȫ�־���״̬ -uint8_t global_matrix[TOTAL_MATRIX_POINTS] = {0}; - -// ͨ�Ż����� -uint8_t tx_buffer[16]; +// DMA接收缓冲区 uint8_t rx_buffer[RX_BUFFER_SIZE]; -uint8_t output_frame[output_frame_len]; -uint16_t last_dma_pos = 0; -// ϵͳ״̬ +// 接收状态管理 +typedef struct { + uint16_t dma_start_pos; // 发送命令时的DMA位置 + uint16_t expected_len; // 期望接收长度 + uint32_t start_time; // 开始等待时间 + uint8_t waiting; // 是否在等待回复 + uint8_t cmd_type; // 0=状态查询, 1=矩阵查询 +} ReceiveState_t; -uint8_t current_task_index = 0; -uint8_t expecting_response_from = 0; +ReceiveState_t rx_state = {0}; + +// 系统状态 +uint8_t current_cmd = 0; +uint32_t last_send_time = 0; /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); /* USER CODE BEGIN PFP */ - +void Send_Command(void); +void Check_And_Process_Reply(void); +void Output_Hex_Data(const uint8_t *data, uint8_t len); +void Output_Debug_Hex(const char *prefix, const uint8_t *data, uint8_t len); +void Output_Hex_With_CRLF(const uint8_t *data, uint8_t len); /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ -uint8_t Slave1_Sta_Query(void); -uint8_t Slave1_Matrix_Query(void); -uint8_t Slave2_Sta_Query(void); -uint8_t Slave2_Matrix_Query(void); -uint8_t Slave3_Sta_Query(void); -uint8_t Slave3_Matrix_Query(void); -uint8_t Process_Reply(uint8_t data_len); -uint8_t RS485_Output(void); -uint16_t Calculate_CRC16(uint8_t *data, uint8_t length); + /* USER CODE END 0 */ /** @@ -121,7 +74,6 @@ uint16_t Calculate_CRC16(uint8_t *data, uint8_t length); */ int main(void) { - /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ @@ -145,122 +97,41 @@ int main(void) /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); - MX_USART2_UART_Init(); MX_USART1_UART_Init(); - MX_USART3_UART_Init(); + MX_USART2_UART_Init(); /* USER CODE BEGIN 2 */ - memset(rx_buffer, 0, RX_BUFFER_SIZE); - // ��������DMA���գ�Normalģʽ�� - HAL_UART_Receive_DMA(RS485_SLAVE_PORT, rx_buffer, RX_BUFFER_SIZE); - __HAL_UART_ENABLE_IT(RS485_SLAVE_PORT, UART_IT_IDLE); + // 启动DMA循环接收 + memset(rx_buffer, 0, RX_BUFFER_SIZE); + HAL_UART_Receive_DMA(SLAVE_UART, rx_buffer, RX_BUFFER_SIZE); + + // 发送启动信息(十六进制格式) + const uint8_t start_msg[2] = {0xAA, 0x55}; + Output_Hex_With_CRLF(start_msg, 2); + + + last_send_time = HAL_GetTick(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) - { - - current_task_index++; - if(current_task_index > 7) current_task_index = 1; - - switch(current_task_index) - { - - case 1: - //��ȷ����ǰ�����ִ��״̬��������Ϊ��ɡ���ʱ�Ϳ���ʱ�ٽ��ж� - //ִ�к��� - //������״̬����Ϊ���� - //����ʱ�� - // - //��ʱ���ж�����ÿ�ζ���ȡ�Ƿ��յ�������Ļظ���Ȼ������ظ���־λ �����־λΪ0����ȷ��Ϊ���� �����Ƿ����ߣ���ʹ������������1 - // - - - Slave1_Sta_Query(); - HAL_Delay(40); - - - break; - case 2: - - - Slave1_Matrix_Query(); - HAL_Delay(40); - - - break; - case 3: - - - Slave2_Sta_Query(); - HAL_Delay(40); - - - - - - - break; - case 4: - - - Slave2_Matrix_Query(); - HAL_Delay(40); - - - - - - - break; - case 5: - - - Slave3_Sta_Query(); - HAL_Delay(40); - - - - - - - break; - case 6: - - - Slave3_Matrix_Query(); - HAL_Delay(40); - - - - - break; - case 7: - RS485_Output(); - HAL_Delay(40); - - - - break; - default: - - - break; - - - } - - - - - -// HAL_TIM_Base_Start_IT(&htim3); - - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - + { + uint32_t current_time = HAL_GetTick(); + + // 每40ms发送一次命令 + if((current_time - last_send_time) > 40) { + last_send_time = current_time; + Send_Command(); + } + + // 检查是否在等待回复 + if(rx_state.waiting) { + Check_And_Process_Reply(); + } + + // 小延时 + HAL_Delay(1); } /* USER CODE END 3 */ } @@ -310,239 +181,104 @@ void SystemClock_Config(void) /* USER CODE BEGIN 4 */ -uint8_t Slave1_Sta_Query(void) +// 输出十六进制数据(只发送原始字节) +void Output_Pure_Hex(const uint8_t *data, uint8_t len) { - uint8_t frame_index = 0; - - // ������ѯ֡ - tx_buffer[frame_index++] = 0x01; - tx_buffer[frame_index++] = 0x01; - - // CRCУ�� - uint16_t crc = Calculate_CRC16(tx_buffer, frame_index); - tx_buffer[frame_index++] = crc & 0xFF; - tx_buffer[frame_index++] = (crc >> 8) & 0xFF; - - // ���� - HAL_UART_Transmit(RS485_SLAVE_PORT, tx_buffer, frame_index, 10); - + if(data && len > 0) { + HAL_UART_Transmit(DEBUG_UART, data, len, 50); + } } -uint8_t Slave1_Matrix_Query(void) +// 输出调试信息(十六进制前缀 + 数据) +void Output_Hex_With_CRLF(const uint8_t *data, uint8_t len) { - uint8_t frame_index = 0; - - // ������ѯ֡ - tx_buffer[frame_index++] = 0x01; - tx_buffer[frame_index++] = 0x03; - - // CRCУ�� - uint16_t crc = Calculate_CRC16(tx_buffer, frame_index); - tx_buffer[frame_index++] = crc & 0xFF; - tx_buffer[frame_index++] = (crc >> 8) & 0xFF; - - // ���� - HAL_UART_Transmit(RS485_SLAVE_PORT, tx_buffer, frame_index, 10); - - + if(data && len > 0) { + HAL_UART_Transmit(DEBUG_UART, data, len, 50); + } + // 添加CRLF换行 + const uint8_t crlf[2] = {0x0D, 0x0A}; + HAL_UART_Transmit(DEBUG_UART, crlf, 2, 50); } -uint8_t Slave2_Sta_Query(void) +// 发送命令函数 +void Send_Command(void) { - uint8_t frame_index = 0; + // 获取当前DMA接收位置 + DMA_HandleTypeDef *hdma = huart1.hdmarx; + rx_state.dma_start_pos = RX_BUFFER_SIZE - __HAL_DMA_GET_COUNTER(hdma); + rx_state.start_time = HAL_GetTick(); + rx_state.waiting = 1; - // ������ѯ֡ - tx_buffer[frame_index++] = 0x02; - tx_buffer[frame_index++] = 0x01; - - // CRCУ�� - uint16_t crc = Calculate_CRC16(tx_buffer, frame_index); - tx_buffer[frame_index++] = crc & 0xFF; - tx_buffer[frame_index++] = (crc >> 8) & 0xFF; - - // ���� - HAL_UART_Transmit(RS485_SLAVE_PORT, tx_buffer, frame_index, 10); - - -} - -uint8_t Slave2_Matrix_Query(void) -{ - uint8_t frame_index = 0; - - // ������ѯ֡ - tx_buffer[frame_index++] = 0x02; - tx_buffer[frame_index++] = 0x03; - - // CRCУ�� - uint16_t crc = Calculate_CRC16(tx_buffer, frame_index); - tx_buffer[frame_index++] = crc & 0xFF; - tx_buffer[frame_index++] = (crc >> 8) & 0xFF; - - // ���� - HAL_UART_Transmit(RS485_SLAVE_PORT, tx_buffer, frame_index, 10); - -} - -uint8_t Slave3_Sta_Query(void) -{ - HAL_GPIO_WritePin(S1_GPIO_Port, S1_Pin, GPIO_PIN_RESET); - uint8_t frame_index = 0; - - // ������ѯ֡ - tx_buffer[frame_index++] = 0x03; - tx_buffer[frame_index++] = 0x01; - - // CRCУ�� - uint16_t crc = Calculate_CRC16(tx_buffer, frame_index); - tx_buffer[frame_index++] = crc & 0xFF; - tx_buffer[frame_index++] = (crc >> 8) & 0xFF; - - // ���� - HAL_UART_Transmit(RS485_SLAVE_PORT, tx_buffer, frame_index, 10); - -} - -uint8_t Slave3_Matrix_Query(void) -{ - uint8_t frame_index = 0; - - // ������ѯ֡ - tx_buffer[frame_index++] = 0x03; - tx_buffer[frame_index++] = 0x03; - - // CRCУ�� - uint16_t crc = Calculate_CRC16(tx_buffer, frame_index); - tx_buffer[frame_index++] = crc & 0xFF; - tx_buffer[frame_index++] = (crc >> 8) & 0xFF; - - // ���� - HAL_UART_Transmit(RS485_SLAVE_PORT, tx_buffer, frame_index, 10); - - -} - -uint8_t Process_Reply(uint8_t data_len) -{ - if(data_len == 5) - { - HAL_GPIO_WritePin(S3_GPIO_Port, S3_Pin, GPIO_PIN_RESET); - uint8_t index =0; - uint8_t addr = rx_buffer[index++]; - uint8_t ret2 = rx_buffer[index++]; - uint8_t ret3 = rx_buffer[index++]; - if((addr == expecting_response_from) && (ret2 == 0x01) && (ret3 == 0x01)) - { - slaves[addr-1].is_online = 1; - slaves[addr-1].is_responded = 1; // ����ظ���ʾ�ӻ����� - - } - - } - else if(data_len == 10) - { - - uint8_t index =0; - uint8_t col,row,buf,global_index,value; - uint8_t addr = rx_buffer[index++]; - uint8_t ret2 = rx_buffer[index++]; - uint8_t ret3 = rx_buffer[index++]; - if((ret2 == 0x03) && (ret3 == 0x05)) - { - for(row = 0; row < 5; row++) - { - buf = rx_buffer[index++]; - for(col = 0; col < 6; col++) - { - value = ((buf >> col)& 0x01); - global_index = (addr-1)*30 + (row*6) + col; - if(global_index < TOTAL_MATRIX_POINTS) - global_matrix[global_index] = value; - } - } - slaves[addr-1].is_online = 1; // ������� - query_state[addr-1] = STATE_COMPLETE; // ��ѯ��� - - } - - } - - memset(rx_buffer, 0, RX_BUFFER_SIZE); - -} - -uint8_t RS485_Output(void) -{ - uint8_t index =0; - output_frame[index++] = 0xAA; - output_frame[index++] = 0x55; - - // �ӻ�����״̬ (3�ֽ�) - for(uint8_t i = 0; i < SLAVE_COUNT; i++) - { - output_frame[index++] = slaves[i].is_online; + // 根据当前命令类型发送 + if(current_cmd == 0) { + // 发送状态查询命令到从机 + HAL_UART_Transmit(SLAVE_UART, status_cmd, 4, 50); + + // 输出到调试串口(纯十六进制,可选换行) + Output_Hex_With_CRLF(status_cmd, 4); + + rx_state.expected_len = 5; + rx_state.cmd_type = 0; + } else { + // 发送矩阵查询命令到从机 + HAL_UART_Transmit(SLAVE_UART, matrix_cmd, 4, 50); + + // 输出到调试串口(纯十六进制,可选换行) + Output_Hex_With_CRLF(matrix_cmd, 4); + + rx_state.expected_len = 10; + rx_state.cmd_type = 1; } - // �ӻ�����״̬ (3�ֽ�) - for(uint8_t i = 0; i < SLAVE_COUNT; i++) - { - output_frame[index++] = slaves[i].is_responded; - } + // 切换命令类型 + current_cmd = !current_cmd; - for(uint8_t i = 0; i < TOTAL_MATRIX_POINTS; i++) - { - output_frame[index++] = global_matrix[i]; - } - // ͨ��RS485���� - HAL_UART_Transmit(RS485_OUTPUT_PORT, output_frame, index, 100); - - - - + // 发送后延时,确保发送完成 + HAL_Delay(2); } -/** - * @brief ����CRC16У�� - */ -uint16_t Calculate_CRC16(uint8_t *data, uint8_t length) + +// 检查并处理回复 +void Check_And_Process_Reply(void) { - uint16_t crc = 0xFFFF; - for(uint8_t i = 0; i < length; i++) - { - crc ^= data[i]; - for(uint8_t j = 0; j < 8; j++) - { - if(crc & 0x0001) - crc = (crc >> 1) ^ 0xA001; - else - crc = crc >> 1; + DMA_HandleTypeDef *hdma = huart1.hdmarx; + uint16_t current_counter = __HAL_DMA_GET_COUNTER(hdma); + uint16_t current_pos = RX_BUFFER_SIZE - current_counter; + + // 计算从发送命令到现在接收到的字节数 + int16_t received_len; + if(current_pos >= rx_state.dma_start_pos) { + received_len = current_pos - rx_state.dma_start_pos; + } else { + // 处理环形缓冲区回绕的情况 + received_len = (RX_BUFFER_SIZE - rx_state.dma_start_pos) + current_pos; + } + + // 检查是否收到完整帧 + if(received_len >= rx_state.expected_len) { + // 提取接收到的数据 + uint8_t received_data[16]; + uint8_t data_index = 0; + + for(int i = 0; i < rx_state.expected_len; i++) { + uint16_t buffer_index = (rx_state.dma_start_pos + i) % RX_BUFFER_SIZE; + received_data[data_index++] = rx_buffer[buffer_index]; } + + // 输出接收到的数据到调试串口(纯十六进制,加换行) + Output_Hex_With_CRLF(received_data, rx_state.expected_len); + + // 重置接收状态 + rx_state.waiting = 0; + + } else if((HAL_GetTick() - rx_state.start_time) > 50) { + // 超时处理(100ms) - 输出超时标记 0xFF + const uint8_t timeout_marker[1] = {0xFF}; + Output_Hex_With_CRLF(timeout_marker, 1); + + // 重置接收状态 + rx_state.waiting = 0; } - return crc; -} - -void HAL_UART_IdleCallback(UART_HandleTypeDef *huart) -{ - if(huart->Instance == USART1) - { - HAL_GPIO_WritePin(S1_GPIO_Port, S1_Pin, GPIO_PIN_RESET); - uint8_t received_len = RX_BUFFER_SIZE - __HAL_DMA_GET_COUNTER(huart1.hdmarx); - if(received_len > 0) - { - // ��������DMA���� -// HAL_UART_DMAStop(&huart1); - HAL_GPIO_WritePin(S2_GPIO_Port, S2_Pin, GPIO_PIN_RESET); - // ������յ������� - Process_Reply(received_len); - - } - memset(rx_buffer, 0, RX_BUFFER_SIZE); - HAL_UART_Receive_DMA(RS485_SLAVE_PORT, rx_buffer, RX_BUFFER_SIZE); - __HAL_UART_ENABLE_IT(RS485_SLAVE_PORT, UART_IT_IDLE); - - - } - } /* USER CODE END 4 */ @@ -554,12 +290,13 @@ void HAL_UART_IdleCallback(UART_HandleTypeDef *huart) void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ - __disable_irq(); - while (1) - { - } + __disable_irq(); + while (1) + { + } /* USER CODE END Error_Handler_Debug */ } + #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number @@ -571,8 +308,8 @@ void Error_Handler(void) void assert_failed(uint8_t *file, uint32_t line) { /* USER CODE BEGIN 6 */ - /* User can add his own implementation to report the file name and line number, + /* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* USER CODE END 6 */ } -#endif /* USE_FULL_ASSERT */ +#endif /* USE_FULL_ASSERT */ \ No newline at end of file diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.kkkjt b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.kkkjt index 63ee67f..bb7ed5a 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.kkkjt +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.kkkjt @@ -15,17 +15,17 @@ 38003 Registers - 140 100 + 140 90 346 Code Coverage - 514 656 + 1010 160 204 Performance Analyzer - 352 175 175 468 + 1170 @@ -34,7 +34,7 @@ 35141 Event Statistics - 250 50 874 + 200 50 700 1506 @@ -93,8 +93,8 @@ 2 3 - -32000 - -32000 + -1 + -1 -1 @@ -102,16 +102,16 @@ 0 - 208 - 1648 + 301 + 1741 1100 0 - 791 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000004000000000000000100000064433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF72433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000BECEA100FFFFFFFF8A433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F756172742E63000000001473746D3332663178785F68616C5F756172742E6300000000BECEA100FFFFFFFF85433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C2E63000000000F73746D3332663178785F68616C2E6300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000069030000 + 965 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000000000000100000064433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF72433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000FFDC7800FFFFFFFF8A433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F756172742E63000000001473746D3332663178785F68616C5F756172742E6300000000BECEA100FFFFFFFF85433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C2E63000000000F73746D3332663178785F68616C2E6300000000F0A0A100FFFFFFFF89433A5C55736572735C6B6B6B6A745C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F646D612E68000000001373746D3332663178785F68616C5F646D612E6800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F400000066000000800700005A030000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000ED00000039030000 + 0300000066000000ED0000002A030000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000ED00000039030000 + 0300000066000000ED0000002A030000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000ED00000039030000 + 0300000066000000ED0000002A030000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000ED00000039030000 + 0300000066000000ED0000002A030000 16 @@ -490,7 +490,7 @@ 0 16 - 000000006A03000080070000E6030000 + 030000005E0300007D070000CD030000 16 @@ -530,7 +530,7 @@ 0 16 - 030000006D0300007D070000CD030000 + 030000005E0300007D070000CD030000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000ED00000039030000 + 0300000066000000ED0000002A030000 16 @@ -1160,7 +1160,7 @@ 38007 38007 - 0 + 1 0 0 0 @@ -1170,7 +1170,7 @@ 0 16 - 030000006D0300007D070000CD030000 + 030000005E0300007D070000CD030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 030000006D0300007D070000CD030000 + 030000005E0300007D070000CD030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 030000006D0300007D070000CD030000 + 030000005E0300007D070000CD030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 030000006D0300007D070000CD030000 + 030000005E0300007D070000CD030000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000052030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000069030000000000004F000000F0000000520300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000520300008007000056030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000006D03000080070000FD030000000000005603000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000043030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F00000005A030000000000004F000000F0000000430300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004303000080070000470300000100000001000010040000000100000005FDFFFFBD000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000005E03000080070000FD030000000000004703000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2585 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000002000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000968616C5F64656C6179960000000000000002000968616C5F64656C61791463757272656E745F7461736B5F696E6465782B2B0000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2851 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000968616C5F64656C6179960000000000000012000968616C5F64656C61791463757272656E745F7461736B5F696E6465782B2B0C52533438355F4F75747075741748414C5F554152545F547843706C7443616C6C6261636B0A426173655F53746172740A636F6E74726F6C6C6572067461726765741148414C5F4750494F5F577269746550696E155F5F48414C5F444D415F4745545F434F554E544552045F73696E05666C6F6174055F73717274056874696D32155F5F48414C5F54494D5F5345545F434F4D50415245057374617465134D61747269785F436F6D70726573735F526F770B6D61747269785F646174610C6465766963655F7374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3606,9 +3606,9 @@ 0 ../Core/Src/main.c - 15 - 505 - 120 + 8 + 277 + 122 1 0 @@ -3640,6 +3640,15 @@ 0 + + ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h + 54 + 314 + 366 + 1 + + 0 + diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.axf b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.axf index 8f57764c48dd9f12d9eb8c241e0733e695156e30..2fb0d49f7a915355f4f8f1f18a47c622110189aa 100644 GIT binary patch delta 16833 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 delta 20199 zcmb`P33wDm`v0qXre`Jxkc-^H(hICFdv!5o{ynd38jzojt8 zrC8=*rmMI!a}2ilXg4By)Vrm}8&9oRp4zR^L6Yo+;L}L-k<` zL+UNTtUhkx$xGJY{g;$Z(J!&fyyw=JoR^iJPka;1S$&6nuCEWzPuAt68>ze8BSaIg zM7qt`b% z%Z8K}R~-6bVMu_TohkAgMI;XRbvMsYU0Ub&HrS0e@}OXw@n)2o@KT23AKGGs_|L;sgT4zQ7I z$Vtwe&0n-MT-S&K9Kl%h$UeKbC2;qIge{DtfZF#Py@ti7s_ zjR)K8JprSY1dB7l?ennUsveg4c_4e$B(Kov8_BD6w5vA`$|(qU5fKy3SpA zo@nfRjkDkv$8*)s)APOXOQ)TE4!B2z>=`nXB^+LQcu7mcyNzOCa+V`RIxm8Z$O|aujoXgu4^&USC}vwmv5+r$df4$FVW_ygNSeRCB}U&0=>< zk?pG&7(*?MjZN`1H*9ZiX*hJHrD0-IOT!@CPvKsU`(V?Mg!qxo4I>+eB*x~(q9k5# zj2X$w4wq%shw#HiQKNY`XYG*qL%W=Adn$Xco7-9INd4*bM_;mftLg~q7#b1v9SR}j zN(fT=LsJKQ-f$%lpIxum@mX@kdcNhFhTJQZk!?+>&gO>kSKj&JF{7%X<8+FnvFQVw z(6R~o;3E~?Y284@EjG-jKKyyV#hRDF!4~h<6g3J<+6tWj#9H z5;%v3-@8Ov%4dbMqpy%I6S_0#xHI9-3ZK8ky412vd5AOVFBP3_s;+~-hxj=7dqe6b zLFen8Z?j-%6uKMw-^t;fqg|(Sa}hG=&x4RDf4yb;! zHAP6dcEAHAO7aCnKpcU413hZ-VYjGjQe&877bI7G;3707F02X7X)G+9xG7wBtQeG% zs5XT$$7Ye05+&xRIEr8F=u4ff4;|rY6zu(jl?mD4S27gfuLw!zjCh|B7A2JU9Kz}% z`t}H)c-gR&nn}JSD!PZ>sYq!`;hGG=--a~$yn zrJE0dnrfzbPz$H9ttg|DU`n{;i+)VutqSlJrOezU z@nLEdFB3ndb`KqibOpjMrHf*$6}{5p)Ckm)9-?nr)HP>R=5RyjpH2#gY_r9pw5XVs zuwA2D_=-CdZi+QoJeSsA&qW2|kA=`_Xwt+s3HxCoOO|{b^<#?dl!)oM%vP6VV-W+qf9>hE*e--|Hu73;T<`8->Usxf`@JKw z?&0dG)r{@-{$uD{Ts?m`V{5#dve#H`b@!uK`gyOKZYksAGqR>ZSa|M1L5Z*R4#<&`yfbzcW% zVo29+j9q`3^KDk!@apQSYS+l(%94uGYQ{P1@wF1rrMRS|x^&JQrrRq?tV{VES5;+2 zd1a{-aT3ACT~%39S|X*2<*=gr;a1jVc5zL0d9BA)Qe0Ea!Uk|9$Yd~i>q&*fF- zr*oCM1*ho0pqtO-{o{f(u4Y5HLOgJ9qR-{sb#F3Psf)=LA9%X?TwZlyIqyzA5WUg~Uq44)?9kRz{xe7{ahE-KgFQ0*~nk>9)7Y*lXEkZacKDsZ#=kltH6S+z~TfRtN zlHhZB^OyAE-OJGJra-YZ2*F;k@Lk+CGHbMJL|*PVm+#@~7UHR;`_yXKMti3%vv741 z`r!&O>;9A=-397nV`Ar=q2k>A+g0jc9}y2PPYTjqpgd?pS6ou5CuYL?r!>R$@t+cG zB&!b;jupS!sN+5l=L4zIIp6`OO43u}wg(zj>gbP)+g2tRu0<<rcvVzs2|ky1t=5NUI`sxO_pZY7X|wXG%d42)TdEek zPtg#4au%}dCTf8g#5vKl(#80{eBGB`;Pi?=9)rgAj51>gV^W0L&#D$fFb0m;Z3@Xt zqD91GE$V)>w`39hc#`27^7x$t3p+8#i?}D>SzO_Zp0UV-781Qm;+om+>e3l3L%T8~n2CNYbAMkQHTD4t2> zR9AJauiFmEK@revKeEYsd&n5(s5W_w6e@{Un#J2x5^Xh!SrP1+=qHt>upUb;= zYcRLb5V|Q$to^?pfj%d5Oz9v(p9&Xs|M!hb1MZFDe10C@aZw-pZx9QgP4T(B&pf-5+uSI(Ph!PQJ9|rK z_0BoA`H-HA^?tL{%55~07!@skdM-ga<9Eemk~9Rhpo|K3IQAjG5#1bxu;f5A(*zN0oPA{W-%dZymJxti>!nWa`v|*v5>cHs?nj?OPdjomF=w>^&<&{>J6ijUMAx$De znW#E=x(B_9Y5shXytHt>iQBSEr_P-*rmC{dlWrtt{Qdnjnx#&~eIw@SgMa1x5hQBj zur|w9y{J6+RyfUZX^gXytQRSKF}G=N7TUw@+@}#U54@|=#Q2QJIoQ>3%{=(7N|Wc$ zMb1l3!!_%r_f?u;Zx*8tISp6Uq4!mqh+hAluMA++;Er3jM=tz{Bi2#Pe)!DwrG8FE8x_hUk7Vc%b z`=n(V+`C1em(QhdM>6VgZ|&tPl_|C{lU(|P@9)wh_SG)kOx$qvRA3E^x8RP>5Yb1k z36Pj41|2=w=SC+GR+p;C0ODx=0Jm%D14qeySTiP@vt|Uv`7wT?2j&*(af#D6y#0D^YG@w zHHiWWr-nm=`NHdvv9k(arP#Df6Yb%FTxtf2(ARECsu<4LY1qAkn?IqbEazQ?WcA=5 zN%l8I-0|AUWNIQb#H~koxu0<|k)j%;gsyaoxPsQH4p9Rch_TPJ3V%Tf)Mrb5U6|9j z#?LLS#-K`{ut>}0?Q-Iq%jEGX)2oYTm%7R^TdVcWyl$OVJ&oz__dUKC`%r`)S~PnI z_ZEuqIfcL08sQjyKG!ZzX^dy?S9=FN}7}eI5sq{A=YL^!7ok--W0uL;ipif2{ELEdlujnFFtNjhkEJo{KrZUiqZeW_bT?y}Z@08U9G| z?o^r)Y&?RUWF&`=S6Jk6B^IKAxMeCoPN4Keo>yc9Qt^gN=WbeJ5c5wx>zOvUy1KNo z##K{1XO@4%SE;?BBQLFWmrkoGubg45|qO>M~WA&8VoFT3q2W7JgXBUAhkIPq444bxoZ+eL5DILhjSWD|9g? z8dChAE`CfGSLua`^q|vXA?tO``?{v0cutM0WOlL3U4_`GYUuf4a4>cOpBAG!zO6e%jsTvoo171Q6|$5)B2?|i^RMB_Vqv6bn4_ak266=&l)PxkJ7 zuYhA!-ul67JX@Ul;AwtF)Yg5(lZEKC6pe4n>O^Bl$PV~qTtF5?qeCRZ3z-kX&eXs%3!`xOluj(KNsGX4SeOEJboQ_(4Yv(_)L44^D8$@FVgo;rp*WM4{ah?cUxT@MBZQ-^AxGc65Ta2n& z9JX$%GXf4zI5bXZ=(co5VOnjp-EG2&^QG}y-Lv@2;_-9ker7UBrG@rIk>!lQg#jQM2gU|P_gw? zgKeZ*cCYqUARiG$qZ4ShTd_tH9D(VjjgnrXhuxos9tisd1xhu_7E3veP{U9V$VMy@ z5@}fw9%+lA6t(k6;|F+r&Ezru_dOQrG4`hSK0KZ?JjU2!e>b|eWYUWpo-X-3A(hDR zzfWeF9@};F!iC4h7Ua+Bd&p_NT>fsfZL!ju6Q0+R=l`y7R_U?2=oJNzjqr%_2%`t8 zQi4PEr_3$2F?h;UF`^*sKo32XY;19GC0XvlXFOG;WXl3n!)S7HOE4Y*o*h!RUysB? z?-4v#)Ol#{g^h}U^r!;5sNuRKfPzkg^E$-WS&b$kB;k58T9tjRRka+C)!Qfm(7k-9n|(NNPjriWyTPv1o&kmxqs{}9xFP$ys>s3(NJGktD+ z`mQecO8hTkN|w~7L4!L-V*7&si5C) zEe93!Z*PdP@LTgKR(_^KUaui!swpN+An zqTB8`7GJxy>&Du9sO!gK0bTpUSbLmUH7`J0G1eZaIP$c0W9{8}k#=ybJ%#VnJ{xOK zQXGX^;5d6XCHNMt?>Kt`pQIIxgV9dyo^kduc+s2~XHQ4R^7A-*8b7Z&^Xxs8OqZ6B zXOGcJ^XwsfxprqB?6+zg^XzF#>NM>{o;_U&F4Y?H5XqNXm+|(lN_v?#cs!CkMJpO_ zPjJ@E#8eo=y6;hiT37wyW?gYBY_s;nczYuJ9vyGLfoE$i<0<61T916BVU1RpPZ7-1 zvI^|sTH1PhC+y}hhGi9aU8wyn-`J|O8r%~EL3;48I$h4yavnp9{{#@B*EWNMYRr4S{xQae_N z5?`hL%O{MS0Do(=LG-m=n?3<1YqaGP>?!Fb>#>!Ms88d*+Nux4j9Qw)iXPQ=POzsc zQy$aar|(IRYu1VOY^8RCHfo~XsVx7qRx!~Y7vj{dSEAv@V?1-7X*(y{W7Ufrv9PcG zbD}*``Eir>#YB68CrLLP_#|U}P~dNZezVj7nGt*0Uwm8perD~ajb!NyaKjc;fd13? zwg69h{%Q)bpX+x*WKWwy^q(WQh1h4SDZu`}4bb=6DEU7$0gsVs^8}Ov^i{Sq+t8I6 zR_!KzWU?K%!Up1NA52~WU1b9H8N|Og@0uA1fBy5WB(O2fqJ8^zvn!SlN!y&N9Mm?I zS_ty*HQ8ej_)na)kDKk$>sstqt?m|kk>?Ob8b}x}&N|?e4m0QorWe#nKPLStKPEj* z2c$jeX~R`A>7Cg2l}vit29^xHhZSL4Rtm^~wrM5n3Gidm(?+nrp7t9hlb*I_C6j;J z$dycb+VPbf!usPy=qDh9B0r`8D*TxAZf*8td+*{`O=4Q_ZwnU<3|j+|$s6suOQvAU z{FwB#eeSPcrd^qA@9No(y;~_JGurKyOu-!YW75;Uu)qGiACvx~ACrF^u4uI z1!O>bdy@4Mz{0O&($f;MWYW{(vSiZJgitc+X?1hRBatPvQw7M<@WI)qQ$rM1H zACsPDs{VRfGLlSsn)ym5|Fq;Pne;TJlI$S^S_GB?GN8$fWYW{}rDW363`sKSX+2dk z>1kRbne?<0D4Fy$=P}r$cLKCF>2E;ueaRF6?V3rZ0BE08GU=ycZZDbiwBIM0^t8_< zne?<4;NyY5UT7vJ$^Hg3X_ia@&_cgt^mlA$oc7QZd&W>Y)Q>SQ=JytceF-L+gR$1C z{{Vsf5$6!&oIZMT-Tr2swdN`IvHDsi*?Lo7gQilF_rgJwTgk7(As;FE zKM$5qkoae?d}71_$bfu8#9cXBfqWz+=m!Iu(!-ygpb=nNkB~eT+=nq|Fup0{1^CA0 zbmGH;+)ef|$xt?zT4;4vUc~e=l#Phudx%pjFfKCKZ1S)RO#3@zLLLs8^k+=`C78C& zqOp$)4j7$YxCe)PZTkP#Syv zm7et2A8Ngj0Z&UwdqK+*uzcf?heu5MH%uIeMj$ULkzppD52oV*WJBRS3Z~tAAEQR> zf`HDnNQ2{G*;SK=vtZdX6aNcLrxT=o02XFxT~cy)aFZYZ0Zc~>q<#XJ4tMD6L4Xwy zv_L@3T>&ow(*XqOVKtbJ?~gL{o4|AkL+bZ{>6rgALw^EH=Om>59GHFrKvQfA{}Pza z7m(gVIl|Hjy8;2GOu9h~m=64q0qHZqH-qC1eHNI`wMcydcn0{0p`Qk(^8`{~15N|) zGW3hVMn~$=BiI0e>^UjI7r}R+5>*=>-T}*to^haElCPZ)0@E2Rl9K;X;6h{6LOcmv zenui%~NDZ`BLb{dS<3N2?ZgLgqs zb&ME?HuOvH|0qYH0X_kJ5|1|VQWGBp%K<4R;0>@GfD(UVvX7;8ALF9%^T8NVd-QaW zhp7;BMo-lPMpR4PVA@P3Kcrs>rbCsI1y~NbNxu~=N7%%B!E!`R{3=*plmJzqG#mXt z35Gx*hqB~h0+>#W$_OzWY#qvy{sFKY@)2(a(>V@lzX$vS*a-n;=r~wj6d$9?r9D_; z59&LRoW@0}Y7=ia@mJc35{#f-G@|hHw%){hP5cg+_WQ{TrI;!W9m%CiA^9|z42Y=} zq%)f65G(A{_ThP2zHBdOX*4mdz{wNq6yVkL@&r5SJJQ0NaZx#te>%lZBGNnC={=WP z210NVZ#|JoR)KlNxUt$6)!$WF@9y zzWxZN!(hH&5id1Z*4i!Lh0x1N__B7Q+}^d{8HnXYRpWCLQ|pt9CR7!sbkbfew`X|F zPxuP_VF9VNN}0pCTAioG7MY)`>HWvF3C5`!N-NUoX}Pw&;5TeeU=Hl3`;`xVC)17} zGVv}GztfH}WWe3FA{unqFk0|zc^lw9-4LydSz9Hi$egT9ims%Feqap}^_z^JP z4Eja=~b4f3*<50RGl^lZ1h>GQoZVQvk$t6oojQhKwXQZ!)+7#_^I? z4%6_4fU~Ggj*~b$&`!YF>n8qCn|ucf%7T8+zrZ6+oMGZD6OT7>v5D_6@#6OE zVQbq9*ftX%HStF#{ulVKel^f>4Pz(#ILhE`>da83lfbV_JvO&lPY5~~17WJtfAD8` zxY^*bMgWt+SZ(ul$Iwp$-)0Ot$p1ayKT3vv4cO(!JHW+Y8kmRCNdG7V&p<$fBue24 z@By&ihQRL`3^hvxUovqJmS0{m?8$#;@S9+=rv#-LOk)P(p}g>+(xZF0 z2*KUhqbf8EegVG?b{ibn6#-%u#tEigBm!IxK8Ps(p7 zgeby)fY*YfjRb!HK8#%@hsOxuTL@ltf%nL5FCJ@3<3(^IdB@*n@gZ4ehK^_IK#-n zDe#9_i$v?w^`C)%0n6~NfE)cdCIKsf;LV18Pw=0^u}UL741<9FpAj)dI05_wSmvM@ z{5p8Lp|1qrgyrKt2Hyw9f$>&e2gX>imA8TEeVM0ywt!DO(kbT06tVA-sy zz<&l8$sB{}KQbu>KM4L9i=p=!yaoIjmWikpP>DVdrvDP97<>Zk>5NsGRfgaV2;`~_ zja=)%a@B_TYj7RxVUCe7XU$;a|E1_0o4NbvaN{MU_hHBBMsgSUgF1p2cPugBj5;yIkOG>H^FjEBNWq-Pr&;W?ciN@ z;W3@lFVATIzXZxN+8vQ7&oB;?v^&$$DsB5Uiy<-{{%Do98m2QtW;)f;Ds8odq5fl? zpz;j;cRv|Z=giSg)Y{*Mp!JB&UU9d5jx8`_T2$i%%(W{P|6jXZt$==W z0!J5^3dfMOWmp%;a)~m2vSSEat+bwx+TGf7kJ`sv>-Q6Z-#eY+e=uc^e)eArdCZ=X z(f(9Q+liF6(lbtHCJHN(!%C;0vw xNa5NYjyRk9Pj+TaUi*e4QK{Ln_IpQ)vTBDG%N;4vUxql?1~d+NQOl<5{{b1Sod*B_ diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm index fd8b6f8..99eb958 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm @@ -28,33 +28,13 @@ Project File Date: 12/06/2025 *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\keil\ARM\ARMCC\Bin' Build target 'PressureSensorBoardMaster' compiling main.c... -../Core/Src/main.c(81): warning: #188-D: enumerated type mixed with another type - CommState_t query_state[SLAVE_COUNT] = {0,0,0}; -../Core/Src/main.c(81): warning: #188-D: enumerated type mixed with another type - CommState_t query_state[SLAVE_COUNT] = {0,0,0}; -../Core/Src/main.c(81): warning: #188-D: enumerated type mixed with another type - CommState_t query_state[SLAVE_COUNT] = {0,0,0}; -../Core/Src/main.c(329): warning: #940-D: missing return statement at end of non-void function "Slave1_Sta_Query" - } -../Core/Src/main.c(348): warning: #940-D: missing return statement at end of non-void function "Slave1_Matrix_Query" - } -../Core/Src/main.c(367): warning: #940-D: missing return statement at end of non-void function "Slave2_Sta_Query" - } -../Core/Src/main.c(385): warning: #940-D: missing return statement at end of non-void function "Slave2_Matrix_Query" - } -../Core/Src/main.c(404): warning: #940-D: missing return statement at end of non-void function "Slave3_Sta_Query" - } -../Core/Src/main.c(423): warning: #940-D: missing return statement at end of non-void function "Slave3_Matrix_Query" - } -../Core/Src/main.c(472): warning: #940-D: missing return statement at end of non-void function "Process_Reply" - } -../Core/Src/main.c(502): warning: #940-D: missing return statement at end of non-void function "RS485_Output" - } -../Core/Src/main.c: 11 warnings, 0 errors +../Core/Src/main.c(315): warning: #1-D: last line of file ends without a newline + #endif /* USE_FULL_ASSERT */ +../Core/Src/main.c: 1 warning, 0 errors linking... -Program Size: Code=6852 RO-data=312 RW-data=48 ZI-data=2184 +Program Size: Code=6556 RO-data=320 RW-data=24 ZI-data=1992 FromELF: creating hex file... -"PressureSensorBoardMaster\PressureSensorBoardMaster.axf" - 0 Error(s), 11 Warning(s). +"PressureSensorBoardMaster\PressureSensorBoardMaster.axf" - 0 Error(s), 1 Warning(s).

Software Packages used:

@@ -78,7 +58,7 @@ Package Vendor: Keil * Component: ARM::CMSIS:CORE@6.1.1 Include file: CMSIS/Core/Include/tz_context.h -Build Time Elapsed: 00:00:01 +Build Time Elapsed: 00:00:02 diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.hex b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.hex index 92f3779..2ff7da5 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.hex +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.hex @@ -1,454 +1,435 @@ :020000040800F2 -:10000000B808002089010008E71400089F130008C1 -:10001000E5140008D3020008F11A000800000000EF -:100020000000000000000000000000006115000852 -:100030003F03000800000000ED14000899160008B6 +:10000000E007002089010008D3140008C31300088A +:10001000D11400088F020008E91900080000000050 +:100020000000000000000000000000000B150008A8 +:10003000630300080000000009150008911500087E :10004000A3010008A3010008A3010008A301000800 :10005000A3010008A3010008A3010008A3010008F0 :10006000A3010008A3010008A3010008A3010008E0 -:10007000A3010008A3010008A30100080903000868 +:10007000A3010008A3010008A30100082D03000844 :10008000A3010008A3010008A3010008A3010008C0 :10009000A3010008A3010008A3010008A3010008B0 :1000A000A3010008A3010008A3010008A3010008A0 :1000B000A3010008A3010008A3010008A301000890 :1000C000A3010008A3010008A3010008A301000880 -:1000D000A3010008E51A0008A3010008A301000815 +:1000D000A3010008DD190008A3010008A30100081E :1000E000A3010008A3010008A301000800F002F822 :1000F00000F03AF80AA090E8000C82448344AAF188 :100100000107DA4501D100F02FF8AFF2090EBAE885 :100110000F0013F0010F18BFFB1A43F0010318473B -:10012000BC1A0000DC1A0000103A24BF78C878C15D +:100120009C190000BC190000103A24BF78C878C19F :10013000FAD8520724BF30C830C144BF04680C60ED :10014000704700000023002400250026103A28BF35 :1001500078C1FBD8520728BF30C148BF0B60704739 -:100160001FB51FBD10B510BD00F07AF81146FFF79E -:10017000F7FF01F0CFFC00F098F803B4FFF7F2FFAF -:1001800003BC00F09FF80000094880470948004779 +:100160001FB51FBD10B510BD00F058F81146FFF7C0 +:10017000F7FF01F04BFC00F076F803B4FFF7F2FF55 +:1001800003BC00F07DF8000009488047094800479B :10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737 :1001A000FEE7FEE704480549054A064B7047000094 -:1001B000FD160008ED000008B8020020B808002075 -:1001C000B8040020B80400204FF000020429C0F059 -:1001D000128010F0030C00F01B80CCF1040CBCF179 -:1001E000020F18BF00F8012BA8BF20F8022BA1EBCB -:1001F0000C0100F00DB85FEAC17C24BF00F8012BB0 -:1002000000F8012B48BF00F8012B70474FF00002A7 -:1002100000B5134694469646203922BFA0E80C50FC -:10022000A0E80C50B1F12001BFF4F7AF090728BFD7 -:10023000A0E80C5048BF0CC05DF804EB890028BF53 -:1002400040F8042B08BF704748BF20F8022B11F07C -:10025000804F18BF00F8012B7047704770477047F8 -:10026000754600F02BF8AE4605006946534620F06F -:100270000700854618B020B5FFF794FFBDE8204081 -:100280004FF000064FF000074FF000084FF0000B52 -:1002900021F00701AC46ACE8C009ACE8C009ACE805 -:1002A000C009ACE8C0098D46704710B50446AFF3ED -:1002B00000802046BDE81040FFF75FBF0048704750 -:1002C0005802002001491820ABBEFEE726000200BC -:1002D0007047FEE770B505464FF6FF7000224AF200 -:1002E00001040EE0AB5C58400023C60702D084EA4C -:1002F000500000E040085B1CDBB2082BF5D3521C19 -:10030000D2B28A42EED370BD014800F08BB8000033 -:100310001402002030B590F840500124AC40C56B69 -:100320006C60046863604368102B036803D09960B5 -:100330000068C26030BD9A600068C16030BD70471F -:1003400072B6FEE710B590F821100022022905D000 -:100350000421816380F82020012010BD01680B6812 -:1003600023F00E030B6001680B6823F001030B60A0 -:1003700090F84030C46B012101FA03F3636080F808 -:10038000211080F82020104610BD000010B590F814 -:1003900021100024022903D00421816301243DE0BF -:1003A00001680A6822F00E020A6001680A6822F0F9 -:1003B00001020A601A4A0168914201D1012121E03B -:1003C000174A1432914201D110211BE0144A2832FD -:1003D000914201D1891515E0114A3C32914201D177 -:1003E00089140FE00E4A5032914202D14FF480310D -:1003F00008E00B4A6432914202D14FF4801101E0CF -:100400004FF08071064A083A5160012180F82110AE -:10041000002180F82010416B01B18847204610BDB3 -:10042000080002402DE9F05FC16B0C6801680B68A1 -:10043000D0F840C0042202FA0CF2494DDFF824A1A2 -:10044000494E4A4FDFF828B1DFF828E122422CD08C -:100450005A072AD50A68920603D40A6822F00402D1 -:100460000A600168A94201D1042219E0514501D175 -:10047000402215E0B14202D14FF4806210E0B9424F -:1004800002D14FF480420BE0594502D14FF4802253 -:1004900006E0714502D14FF4800201E04FF0806226 -:1004A0002F4908394A60C16A3BE04FF0020808FA58 -:1004B0000CF818EA040F4FF000094FF0010235D094 -:1004C0005FEA837832D50B689B0605D40B6823F06E -:1004D0000A030B6080F821200168A94201D10222A1 -:1004E00019E0514501D1202215E0B14202D14FF46B -:1004F000007210E0B94202D14FF400520BE05945AE -:1005000002D14FF4003206E0714502D14FF40012DF -:1005100001E04FF00072124908394A6080F82090DB -:10052000816A00291AD0BDE8F05F0847082505FA5E -:100530000CF5254212D01B0710D50B6823F00E03D3 -:100540000B6090F84010C36B02FA01F159608263AE -:1005500080F8212080F82090016BE2E7BDE8F09F51 -:10056000080002401C0002403000024044000240EB -:10057000580002406C00024030B528B308C8134947 -:1005800014221944B1FBF2F18900C163104981635F -:10059000022141771A6843F6F0718A43D0E90014CA -:1005A0002143D0E902452C43214304692143446996 -:1005B00021438469214311431960002141630122D1 -:1005C00042770177084630BD012030BDF8FFFDBFFE -:1005D0000000024070B5044690F820000025012874 -:1005E0000CD0012084F8200094F821600020012E16 -:1005F00006D084F820000225284670BD022070BD78 -:10060000022684F82160A0632068066826F00106AF -:1006100006602046FFF77EFEE06A00282068016839 -:1006200002D041F00E0106E021F0040101602068D3 -:10063000016841F00A0101602068016841F0010190 -:100640000160D9E770B5044600F004F90546601C66 -:1006500002D004480078044400F0FCF8401BA0429B -:10066000FAD370BD200000202DE9F84FDFF8B891D3 -:100670000024A9F1040B23460F2709F1040AABF16A -:10068000040EC9E00125A5402A40AA427DD1674E4B -:10069000D1F804C0ACEB0608B44532D014DCBCF190 -:1006A000030F3AD009DCBCF1000F2AD0BCF1010FD6 -:1006B0001CD0BCF1020F31D11DE0BCF1110F17D0DD -:1006C000BCF1120F2AD119E0B8F5881F19D006DC49 -:1006D000B8F5803F15D0B8F5801F1FD111E0B8F5EF -:1006E000001F0ED0B8F5041F18D10AE0CB6815E042 -:1006F000CB681B1D12E0CB6808330FE0CB680C33CE -:100700000CE08B682BB1012B4FF0080303D045613F -:1007100004E0042302E0056100E00023FF2A01D881 -:10072000064601E000F104064FEA840501D9A5F16F -:100730002005D6F8008007FA05FC28EA0C0803FA21 -:1007400005F548EA0508C6F800804D68ED0062D559 -:10075000374DAE6946F00106AE61AD6924F003067F -:1007600005F001050095334D06EB050CDCF808504B -:10077000A607360F07FA06F825EA0805DFF8B8805D -:10078000404503D14FF0000817E044E0DFF8AC80AB -:10079000404502D14FF001080FE0DFF8A48040454A -:1007A00002D14FF0020808E0DFF89880404502D1FE -:1007B0004FF0030801E04FF0040808FA06F848EA91 -:1007C0000508CCF808804D68D9F80060ED024D4668 -:1007D00001D5164300E096432E604D68DAF80060BC -:1007E000AD02554601D5164300E096432E604D6894 -:1007F000DBF80060AD035D4601D5164300E096438B -:100800002E604D68DEF80060ED03754601D5164395 -:1008100000E096432E60641C0D682A46E5407FF494 -:1008200031AFBDE8F88F000008040140000011104E -:10083000001002400000014000080140000C01408F -:1008400000100140001401400AB101617047090421 -:10085000FBE700000148806870470000200000208E -:1008600002488168027811448160704720000020AE -:10087000074810B5016841F010010160032000F045 -:1008800075F80F2000F006F800F024F8002010BDE5 -:100890000020024070B50D4D04464FF47A7128785F -:1008A000B1FBF0F00A490968B1FBF0F000F0F0FA92 -:1008B00048B9102C07D200222146501E00F036F80D -:1008C00000206C6070BD012070BD00002000002081 -:1008D0002C0000200C4808B5816941F001018161BC -:1008E000816901F001010091C16941F08051C1614C -:1008F000C06900F0805000900448416821F0E06138 -:1009000041F00071416008BD00100240000001404C -:10091000002809DB00F01F020121914040098000FE -:1009200000F1E020C0F8001170470000F0B40E4B59 -:100930001B680C46C3F30223C3F10705042D00D93D -:100940000425191D072901D2002300E0DB1E012622 -:1009500006FA05F1491E214099409E40761E164038 -:100960003143F0BC01F0C5B80CED00E0064900F0E1 -:10097000070208684FF6FF03184040EA0220034AC6 -:1009800010430860704700000CED00E00000FA051D -:10099000704700002DE9F0470F46050061D0434E37 -:1009A000306800F00700B84209D2306820F0070034 -:1009B00038433060306800F00700B84251D12868F1 -:1009C0003B4C810712D5400703D5606840F4E060D6 -:1009D00060602878000703D5606840F4605060606C -:1009E0006068A96820F0F000084360602878C007BC -:1009F00028D06868012810D02168022810D0890703 -:100A000000292EDA616821F0030101436160FFF7DC -:100A100021FF804641F288390DE021688903EFE724 -:100A20008901EDE7FFF716FFA0EB0801494502D960 -:100A30000320BDE8F0876068696800F00C00B0EB47 -:100A4000810FEFD1306800F00700B8420BD9306851 -:100A500020F0070038433060306800F00700B842EB -:100A600001D00120E5E72878400705D56068E968EE -:100A700020F4E060084360602878000706D56068CD -:100A8000296920F4605040EAC100606000F03EF83F -:100A90006168084AC1F30311515CC8400649086007 -:100AA00006480068FFF7F6FE0020C2E7002002407B -:100AB00000100240C21B00082C000020240000206F -:100AC00001490120C86470470000424204480549BA -:100AD00000684968044AC1F30221515CC84070476C -:100AE0002C00002000100240D21B000804480549D9 -:100AF00000684968044AC1F3C221515CC84070478C -:100B00002C00002000100240D21B00080E4A516841 -:100B10000E4801F00C03042B11D0082B0FD10C4808 -:100B2000C1F38343C903C05C0AD55168084AC1F3C5 -:100B30004041921E515C054A5043B0FBF1F07047B2 -:100B400004494843704700000010024000127A0038 -:100B5000B21B000800093D0010B5044CA068000657 -:100B600003D5FFF715FF8020A07210BD00100240D2 -:100B70002DE9F84F040070D02078C04DC00749D04F -:100B80006868C0F38100012807D06868C0F381005D -:100B9000022809D16868C00306D52868800339D5C2 -:100BA00060680028E7D035E06068B0F5803F0BD082 -:100BB00010B1B0F5A02F11D0286820F48030286043 -:100BC000286820F4802002E0286840F48030286003 -:100BD000606890B1FFF73EFE06460AE0286840F4E0 -:100BE00080202860F0E700BFFFF734FE801B6428F8 -:100BF00073D828688003F7D50CE0FFF72BFE064674 -:100C000005E000BFFFF726FE801B6428F0D82868A7 -:100C10008003F7D420789A4E80074FF001094FF0F7 -:100C2000000839D5686810F00C0F07D06868C0F369 -:100C30008100022809D16868C00306D428688007AB -:100C400014D52069012808D110E02069B0B1C6F898 -:100C50000090FFF7FFFD074605E00AE1FFF7FAFD08 -:100C6000C01B0228C4D828688007F7D528686169A6 -:100C700020F0F80040EAC10028600DE0C6F80080CE -:100C8000FFF7E8FD074604E0FFF7E4FDC01B02287C -:100C900023D828688007F7D4207800072CD5794816 -:100CA000A169D9B1C0F80090FFF7D4FD074604E070 -:100CB000FFF7D0FDC01B02280FD8686A8007F7D560 -:100CC00071484FF4FA510068B0FBF1F0009000BF9A -:100CD0000098411E0091FAD20EE080E0C0F800803A -:100CE000FFF7B8FD074604E0FFF7B4FDC01B02287C -:100CF00075D8686A8007F7D42078400760D5E8691E -:100D00000027C00008D4E86940F08050E861E86935 -:100D1000012700F0805000905C480168C90513D499 -:100D20000168834641F480710160FFF793FD8246BC -:100D300006E000BFFFF78EFDA0EB0A0064284ED846 -:100D4000DBF80000C005F5D5E06801280AD008B13D -:100D5000052813D0286A20F001002862286A20F0B4 -:100D6000040002E0286A40F001002862E06841F2D5 -:100D7000883B98B1FFF76EFD82460BE0286A40F091 -:100D800004002862EEE700BFFFF764FDA0EB0A0154 -:100D900059455AD8286A8007F6D50CE0FFF75AFD66 -:100DA000824605E0FFF756FDA0EB0A0159454CD8F5 -:100DB000286A8007F6D41FB1E86920F08050E86106 -:100DC000E06988B36968C1F38101022944D002282F -:100DD000C6F8608004D0FFF73DFD044638E034E0FB -:100DE000FFF738FD074604E0FFF734FDC01B02287B -:100DF0002BD828688001F7D4206AB0F5803F05D150 -:100E00006868A16820F4003008436860D4E90801EC -:100E10000843696821F4741108436860C6F860905B -:100E2000FFF718FD044606E025E000BFFFF712FDBE -:100E3000001B022809D828688001F7D51BE000BFF5 -:100E4000FFF708FD001B022802D90320BDE8F88F38 -:100E500028688001F4D40EE00128F7D06868226A7F -:100E600000F48031914204D1616A00F4701088422C -:100E700001D00120EAE70020E8E70000001002406E -:100E800000004242800442422C00002000700040DA -:100E900010B5401EB0F1807F01D3012010BD4FF08E -:100EA000E02460610F21601700F023FE0020A061A4 -:100EB00007202061002010BD70477047F8B5016819 -:100EC00004460868CA684B6910F00F0F4FF0000520 -:100ED00059D003F0010602F49077374365D0C1077B -:100EE00005D0D10503D5616C41F001016164410772 -:100EF00005D5D90703D0616C41F002016164810717 -:100F000005D5D90703D0616C41F004016164010784 -:100F100007D502F02001314303D0616C41F0080194 -:100F20006164616C00293AD0800604D5900602D530 -:100F3000204600F098FC20684069616CC0F3801086 -:100F4000090700D460B3204600F058FC20684069CF -:100F5000400621D52068143050E8001F21F04001E0 -:100F600040E80012002AF5D1E06BA8B16D49416359 -:100F7000E06BFFF70BFA002811D0E06B416B01B07A -:100F8000BDE8F040084783060FD593060DD52046EF -:100F9000BDE8F84000F067BC2046FFF78EFFF8BDC3 -:100FA0002046FFF78AFF6564F8BD266B2023012EDB -:100FB0007CD1C6067AD5D60678D5086848680090F0 -:100FC00048694FF00206400640D5E16B086840686A -:100FD0000004000CE8D0A28D8242E5D9E085886942 -:100FE00020282DD020680C3050E8001F21F480719B -:100FF00040E80012002AF5D12068143050E8001FA4 -:1010000021F0010140E80012002AF5D120681430D7 -:1010100050E8001F21F0400140E80012002AF5D1FD -:1010200084F84230256320680C3050E8001F21F01E -:10103000100140E80012002AF5D1E06BFFF782F9B9 -:101040006663A08DE18D401A81B22AE0A08DE18D0A -:10105000401A81B2E08D0028A6D00029A4D02268D1 -:101060000C3252E8000F20F4907042E80007002F85 -:10107000F5D12068143050E8002F22F0010240E83A -:101080000027002FF5D184F84230256320680C300A -:1010900050E8002F22F0100240E80023002BF5D189 -:1010A00066632046FFF708FFF8BDFFE705062BD56E -:1010B000150629D594F841002128F5D1A068B0F58E -:1010C000805F01D12069B0B1206A411C2162216892 -:1010D00000784860E08C401E0004000CE084E3D1FE -:1010E0002068C16821F08001C1602068C16841F0BA -:1010F0004001C160D8E7206A0088C0F3080048605A -:10110000206A801C2062E5E74006CDD55006CBD58D -:10111000CA68204622F04002CA6084F8413000F0DC -:101120003DF9C1E7FF16000870B5040004D094F83B -:101130004100002510B106E0012070BD84F8405048 -:10114000204600F023F8242084F841002068C1687C -:1011500021F40051C160204600F0E6FB20680169DF -:1011600021F4904101612068416921F02A01416127 -:101170002068C16841F40051C1606564202084F892 -:10118000410084F842006563002070BDF0B585B071 -:10119000002400940194029403940546036848488F -:1011A000DFF818C102210322464E071563453ED1E0 -:1011B000836943F480438361836903F48043049328 -:1011C000836943F0040383618069039200F00400A3 -:1011D00004900802CDE9000169463046FFF744FA61 -:1011E000CDE90074694630460294FFF73DFA374E68 -:1011F0003548C6E900048020C6E902402020346159 -:10120000C6E905404FF44050F0613046FFF7B4F9AD -:1012100008B1FFF795F8EE630022114625207562AC -:10122000FFF784FB2520FFF773FB05B0F0BD284DC9 -:10123000AB421ED1C36943F40033C361C36903F4F5 -:1012400000330493836943F004038361806903924C -:1012500000F0040004900420CDE900016946304606 -:10126000FFF702FA0820CDE90004694630460294EF -:1012700020E0184DAB42D8D1C36943F48023C36149 -:10128000C36903F480230493836943F008038361F3 -:101290008069CDE9007100F00800CDE903200E4D12 -:1012A00069462846FFF7E0F9E814CDE900046946ED -:1012B00028460294FFF7D8F9B7E70000003801404C -:1012C00000100240000801405800024014020020B3 -:1012D0000044004000480040000C014090F84230BB -:1012E000202B01D00220704721B11AB100230363E3 -:1012F00000F076BB01207047704770472DE9F84336 -:10130000044690F84100984616460D46202802D023 -:101310000220BDE8F88385B17EB100206064212001 -:1013200084F84100FFF796FAA6848146E684A06817 -:101330002027B0F5805F02D003E00120E9E72069B3 -:1013400010B12E4600250EE000260CE0802120463C -:1013500000F08EFBA8B9C6B116F8010B21684860F1 -:10136000E08C401EE084E08C4B464FF00002CDF84C -:1013700000800028EAD14FF04001204600F078FBC1 -:1013800040B184F841700320C3E735F8020BC0F385 -:101390000800E3E784F841700020BAE77047FEE7F1 -:1013A000094808B5416941F00101416140690022E5 -:1013B00000F00100009001210F20FFF7B7FABDE80F -:1013C00008400F20FFF7A4BA0010024030B585B0E6 -:1013D000002418480094019402940394816941F018 -:1013E00020018161816901F020010491816941F04E -:1013F00004018161816901F004010491816941F076 -:101400000801816180690C4D00F008000490012200 -:10141000F0212846FFF718FAF02000900120CDE9CE -:1014200001040220039069462846FFF71DF905B024 -:1014300030BD000000100240000C01400C4810B507 -:101440000A4901604FF416514160002181600C226D -:10145000C160C0E904128161C161FFF765FE002827 -:1014600003D0BDE81040FEF76BBF10BD003801404F -:101470003C0100200C4810B50A4901604FF4165198 -:101480004160002181600C22C160C0E904128161C9 -:10149000C161FFF749FE002803D0BDE81040FEF708 -:1014A0004FBF10BD00440040840100200C4810B51F -:1014B0000A4901604FF416514160002181600C22FD -:1014C000C160C0E904128161C161FFF72DFE0028EF -:1014D00003D0BDE81040FEF733BF10BD0048004008 -:1014E000CC010020FEE7FFF737FBFEE77047000066 -:1014F000184830B4AA210170552141700222164BC0 -:10150000002100BF01EBC1041C44491C64788454D1 -:10151000521CC9B2D2B20329F4D3002101EBC10499 -:101520001C44491CA4788454521CC9B2D2B2032969 -:10153000F4D3084B0021AA3B5C5C8454521C491C28 -:10154000C9B2D2B25A29F7D330BC64230149034847 -:10155000FFF7D4BEDA00002005000020840100203F -:101560007047000010B50A4C0120022120700320B2 -:1015700060702046FEF7AEFEA070000AE0702146C3 -:101580000422BDE810400A230248FFF7B7BE00005E -:101590008A0000203C01002010B5094C01200221E6 -:1015A000207060702046FEF795FEA070000AE07083 -:1015B00021460422BDE810400A230248FFF79EBEE0 -:1015C0008A0000203C01002010B5094C02210320B4 -:1015D000217060702046FEF77DFEA070000AE0706A -:1015E00021460422BDE810400A230248FFF786BEC8 -:1015F0008A0000203C01002010B5094C0221012086 -:10160000217060702046FEF765FEA070000AE07051 -:1016100021460422BDE810400A230248FFF76EBEAF -:101620008A0000203C01002010B5094C0320022153 -:10163000207060702046FEF74DFEA070000AE0703A -:1016400021460422BDE810400A230248FFF756BE97 -:101650008A0000203C01002010B5002210210B4818 -:10166000FFF7F2F80A4C032002212070012060707D -:101670002046FEF72FFEA070000AE07021460422EB -:10168000BDE810400A230348FFF738BE000C0140B4 -:101690008A0000203C010020FFF7E2B830B58FB08F -:1016A00028216846FEF7B2FD14210AA8FEF7AEFD18 -:1016B00001210804CDE900100024029402250491C0 -:1016C000CDE907504FF4E01009906846FFF750FA53 -:1016D00008B172B6FEE70F20CDE90A054FF480602D -:1016E000CDE90C4002210AA80E94FFF753F908B186 -:1016F00072B6FEE7FFF7E4F90FB030BD704710B5E2 -:10170000406A0021C185C184FFF7D7FB10BD70B5C9 -:10171000446A2068406994F84110C0F3C010002565 -:10172000212904D118B1E584204600F08EF8206804 -:10173000406994F84210C0F38010222904D118B1F6 -:10174000E585204600F05AF8606C40F010006064B7 -:101750002046FFF7B2FB70BD10B50146406A09682C -:1017600009684FF0000289062ED4C28501680C3149 -:1017700051E8003F23F4807341E80034002CF5D198 -:101780000168143151E8003F23F0010341E80034BF -:10179000002CF5D10168143151E8003F23F04003DB -:1017A00041E80034002CF5D1202180F84210016B73 -:1017B000012909D101680C3151E8003F23F01003E1 -:1017C00041E80034002CF5D14263016B012902D0BD -:1017D000FFF792FD10BD818DFFF76EFB10BD10B5B8 -:1017E000406A01214163016B012902D0FFF785FDA9 -:1017F00010BD818D4908FFF75FFB10BD01680C31FA -:1018000051E8002F22F4907241E80023002BF5D11B -:101810000168143151E8002F22F0010241E8002351 -:10182000002BF5D1016B012909D101680C3151E878 -:10183000002F22F0100241E80023002BF5D12021D7 -:1018400080F8421000210163704701680C3151E8B3 -:10185000002F22F0C00241E80023002BF5D1202107 -:1018600080F84110704708B590F84210222901D045 -:10187000022008BD82684FF480539A4201D1016969 -:1018800021B1816A9A421BD04AB10AE00268816A9A -:101890005268C2F308020A80816A891C08E0026962 -:1018A00072B10268526802F07F020A70816A491CB4 -:1018B0008162C18D491E0904090CC18503D01BE05A -:1018C00002685268F1E70168CA6822F02002CA6023 -:1018D0000168CA6822F48072CA6001684A6922F00D -:1018E00001024A61202180F8421000214163026B0D -:1018F000012A03D0FFF700FD002008BD0163016845 -:101900000C3151E8002F22F0100241E80023002B97 -:10191000F5D101680A68D20602D50A6849680091C3 -:10192000818DFFF7C9FAE7E770B5044600680169E1 -:10193000E26821F44051114301612169A068084324 -:10194000616908432168CA6841F20C639A43024303 -:10195000CA6020684169A26921F440711143416164 -:101960001E492068884202D1FFF7C0F801E0FFF766 -:10197000ADF800EBC00101EB00126068642180004B -:10198000B2FBF0F3B3FBF1F36FF018067343B2FB55 -:10199000F0F5B2FBF0F605EB8305322303EB0515FA -:1019A000B5FBF1F5B6FBF1F605F0F00505EB061514 -:1019B000B2FBF0F6B2FBF0F0B0FBF1F06FF0180202 -:1019C000504306EB800003EB0010B0FBF1F0216800 -:1019D00000F00F002844886070BD0000003801400E -:1019E00038B5816204468285002013466064222255 -:1019F00084F84220E56B1B4AAA62E56B1A4AEA6248 -:101A0000E56B1A4A2A63E26B50630A462168E06B71 -:101A1000091DFEF7DFFD206801684068009020691D -:101A200048B120680C3050E8001F41F4807140E854 -:101A30000012002AF5D12068143050E8001F41F050 -:101A4000010140E80012002AF5D12068143050E866 -:101A5000001F41F0400140E80012002AF5D10020AB -:101A600038BD000059170008DF1700080F170008DD -:101A70002DE9F843984617460D460446089E24E093 -:101A8000701C22D0FEF7E6FEA0EB0800B0421AD888 -:101A9000CEB12068C168490717D5802D15D0402DDB -:101AA00013D00168C94309070FD4016800254068B5 -:101AB00000902046FFF7A2FE0820606484F84050A2 -:101AC0000120BDE8F8830320FBE72068006835EAC1 -:101AD000000004D00020B842D2D00020F1E701205D -:101AE000F9E700000148FFF7E9B900003C010020D8 -:101AF000FEE70907090E002804DB00F1E02080F86A -:101B00000014704700F00F0000F1E02080F8141D71 -:101B100070470000FEF7ACFEFFF7C0FDFFF756FC74 -:101B2000FFF73EFCFFF7A6FCFFF788FCFFF7BEFCC3 -:101B300040211C48FEF748FB40221A491A48FFF78B -:101B4000CDFB19480068C16841F01001C160174C15 -:101B500001252078401CC0B22070072800D92570CC -:101B600020780828F5D2DFE800F00405080B0E11F4 -:101B70001417EEE7FFF710FD10E0FFF7F3FC0DE0A0 -:101B8000FFF73AFD0AE0FFF71FFD07E0FFF764FDEE -:101B900004E0FFF749FD01E0FFF7AAFC2820FEF76B -:101BA00051FDD6E79A0000203C01002000000020F3 -:101BB000010202030405060708090A0B0C0D0E0FAB -:101BC00010100000000000000000010203040607DE -:101BD000080900000000010203040000FC1B0008CB -:101BE0000000002030000000280100082C1C000824 -:101BF00030000020880800004401000800000000B8 -:101C000000010000000000000000020000000000D1 -:101C100000000003000000000000000001000000C0 -:0C1C2000100000000000000000127A001C +:1001B000F5150008ED000008E0010020E007002030 +:1001C000E0030020E00300204FF0000200B51346DA +:1001D00094469646203922BFA0E80C50A0E80C5067 +:1001E000B1F12001BFF4F7AF090728BFA0E80C5018 +:1001F00048BF0CC05DF804EB890028BF40F8042B11 +:1002000008BF704748BF20F8022B11F0804F18BF7D +:1002100000F8012B7047704770477047754600F033 +:100220002BF8AE4605006946534620F00700854688 +:1002300018B020B5FFF7B6FFBDE820404FF000062C +:100240004FF000074FF000084FF0000B21F00701BE +:10025000AC46ACE8C009ACE8C009ACE8C009ACE801 +:10026000C0098D46704710B50446AFF300802046A4 +:10027000BDE81040FFF781BF0048704780010020B3 +:1002800001491820ABBEFEE7260002007047FEE7DA +:100290002DE9FF412248C06B00684068214C80B2C4 +:1002A000C0F14000218880B2814201D8401A02E0AA +:1002B000C1F140010844618800B2002581421EDC82 +:1002C000DFF860C0002108466F460CF10C0C268850 +:1002D00063880FE032184FEAE27E02EB9E6E2EF04A +:1002E0003F0EA2EB0E0292B21CF802207A54491C77 +:1002F000C9B2401C8342EDDCD9B238460AE000F0B6 +:10030000BBFA6168401A322807D907A001210068AA +:100310000090684601F0E0F82572BDE8FF8100001A +:100320006400002018000020FF000000014800F0D9 +:100330008BB800003C01002030B590F840500124FB +:10034000AC40C56B6C60046863604368102B036845 +:1003500003D099600068C26030BD9A600068C160D7 +:1003600030BD704772B6FEE710B590F8211000223C +:10037000022905D00421816380F82020012010BDCE +:1003800001680B6823F00E030B6001680B6823F013 +:1003900001030B6090F84030C46B012101FA03F3B4 +:1003A000636080F8211080F82020104610BD000006 +:1003B00010B590F821100024022903D00421816394 +:1003C00001243DE001680A6822F00E020A6001681B +:1003D0000A6822F001020A601A4A0168914201D1BA +:1003E000012121E0174A1432914201D110211BE072 +:1003F000144A2832914201D1891515E0114A3C3244 +:10040000914201D189140FE00E4A5032914202D13B +:100410004FF4803108E00B4A6432914202D14FF42C +:10042000801101E04FF08071064A083A51600121C5 +:1004300080F82110002180F82010416B01B188471D +:10044000204610BD080002402DE9F05FC16B0C682A +:1004500001680B68D0F840C0042202FA0CF2494D42 +:10046000DFF824A1494E4A4FDFF828B1DFF828E130 +:1004700022422CD05A072AD50A68920603D40A6869 +:1004800022F004020A600168A94201D1042219E0A5 +:10049000514501D1402215E0B14202D14FF48062B2 +:1004A00010E0B94202D14FF480420BE0594502D12D +:1004B0004FF4802206E0714502D14FF4800201E042 +:1004C0004FF080622F4908394A60C16A3BE04FF023 +:1004D000020808FA0CF818EA040F4FF000094FF070 +:1004E000010235D05FEA837832D50B689B0605D4CC +:1004F0000B6823F00A030B6080F821200168A942F1 +:1005000001D1022219E0514501D1202215E0B1426A +:1005100002D14FF4007210E0B94202D14FF4005200 +:100520000BE0594502D14FF4003206E0714502D18B +:100530004FF4001201E04FF00072124908394A608E +:1005400080F82090816A00291AD0BDE8F05F084742 +:10055000082505FA0CF5254212D01B0710D50B68AB +:1005600023F00E030B6090F84010C36B02FA01F108 +:100570005960826380F8212080F82090016BE2E7C7 +:10058000BDE8F09F080002401C000240300002401D +:1005900044000240580002406C00024030B528B3CD +:1005A00008C8134914221944B1FBF2F18900C16350 +:1005B00010498163022141771A6843F6F0718A433A +:1005C000D0E900142143D0E902452C4321430469BA +:1005D0002143446921438469214311431960002167 +:1005E0004163012242770177084630BD012030BDCA +:1005F000F8FFFDBF0000024070B5044690F82000EF +:10060000002501280CD0012084F8200094F82160F6 +:100610000020012E06D084F820000225284670BD57 +:10062000022070BD022684F82160A063206806685D +:1006300026F0010606602046FFF77EFEE06A0028ED +:100640002068016802D041F00E0106E021F00401AB +:1006500001602068016841F00A01016020680168BA +:1006600041F001010160D9E770B5044600F004F9DA +:100670000546601C02D004480078044400F0FCF8F1 +:10068000401BA042FAD370BD080000202DE9F84FAE +:10069000DFF8B8910024A9F1040B23460F2709F1D4 +:1006A000040AABF1040EC9E00125A5402A40AA4284 +:1006B0007DD1674ED1F804C0ACEB0608B44532D00A +:1006C00014DCBCF1030F3AD009DCBCF1000F2AD0D6 +:1006D000BCF1010F1CD0BCF1020F31D11DE0BCF107 +:1006E000110F17D0BCF1120F2AD119E0B8F5881FED +:1006F00019D006DCB8F5803F15D0B8F5801F1FD1A2 +:1007000011E0B8F5001F0ED0B8F5041F18D10AE0AB +:10071000CB6815E0CB681B1D12E0CB6808330FE0F7 +:10072000CB680C330CE08B682BB1012B4FF0080326 +:1007300003D0456104E0042302E0056100E00023EA +:10074000FF2A01D8064601E000F104064FEA8405BD +:1007500001D9A5F12005D6F8008007FA05FC28EAA2 +:100760000C0803FA05F548EA0508C6F800804D684C +:10077000ED0062D5374DAE6946F00106AE61AD6958 +:1007800024F0030605F001050095334D06EB050C3A +:10079000DCF80850A607360F07FA06F825EA080520 +:1007A000DFF8B880404503D14FF0000817E044E07F +:1007B000DFF8AC80404502D14FF001080FE0DFF8D0 +:1007C000A480404502D14FF0020808E0DFF898808D +:1007D000404502D14FF0030801E04FF0040808FA49 +:1007E00006F848EA0508CCF808804D68D9F800609A +:1007F000ED024D4601D5164300E096432E604D684C +:10080000DAF80060AD02554601D5164300E0964384 +:100810002E604D68DBF80060AD035D4601D51643E0 +:1008200000E096432E604D68DEF80060ED037546EB +:1008300001D5164300E096432E60641C0D682A46DD +:10084000E5407FF431AFBDE8F88F000008040140B7 +:10085000000011100010024000000140000801409B +:10086000000C014000100140001401400AB1016178 +:1008700070470904FBE700000148806870470000EA +:1008800008000020024881680278114481607047A6 +:1008900008000020074810B5016841F01001016010 +:1008A000032000F075F80F2000F006F800F024F89F +:1008B000002010BD0020024070B50D4D04464FF4DD +:1008C0007A712878B1FBF0F00A490968B1FBF0F0C1 +:1008D00000F0F0FA48B9102C07D200222146501E31 +:1008E00000F036F800206C6070BD012070BD000083 +:1008F00008000020140000200C4808B5816941F070 +:1009000001018161816901F001010091C16941F03A +:100910008051C161C06900F0805000900448416876 +:1009200021F0E06141F00071416008BD001002401B +:1009300000000140002809DB00F01F020121914066 +:100940004009800000F1E020C0F80011704700006D +:10095000F0B40E4B1B680C46C3F30223C3F107052A +:10096000042D00D90425191D072901D2002300E018 +:10097000DB1E012606FA05F1491E214099409E40E2 +:10098000761E16403143F0BC01F02FB80CED00E0AC +:10099000064900F0070208684FF6FF03184040EAD6 +:1009A0000220034A10430860704700000CED00E08D +:1009B0000000FA05704700002DE9F0470F460500DA +:1009C00061D0434E306800F00700B84209D2306869 +:1009D00020F0070038433060306800F00700B8426C +:1009E00051D128683B4C810712D5400703D5606878 +:1009F00040F4E06060602878000703D5606840F448 +:100A0000605060606068A96820F0F0000843606092 +:100A10002878C00728D06868012810D021680228EB +:100A200010D0890700292EDA616821F00301014303 +:100A30006160FFF721FF804641F288390DE02168AF +:100A40008903EFE78901EDE7FFF716FFA0EB080147 +:100A5000494502D90320BDE8F0876068696800F065 +:100A60000C00B0EB810FEFD1306800F00700B84206 +:100A70000BD9306820F0070038433060306800F050 +:100A80000700B84201D00120E5E72878400705D5E6 +:100A90006068E96820F4E060084360602878000737 +:100AA00006D56068296920F4605040EAC1006060A2 +:100AB00000F03EF86168084AC1F30311515CC84078 +:100AC0000649086006480068FFF7F6FE0020C2E706 +:100AD0000020024000100240A21A0008140000206A +:100AE0000C00002001490120C86470470000424208 +:100AF0000448054900684968044AC1F30221515C71 +:100B0000C84070471400002000100240B21A0008CC +:100B10000448054900684968044AC1F3C221515C90 +:100B2000C84070471400002000100240B21A0008AC +:100B30000E4A51680E4801F00C03042B11D0082B0B +:100B40000FD10C48C1F38343C903C05C0AD5516877 +:100B5000084AC1F34041921E515C054A5043B0FB24 +:100B6000F1F070470449484370470000001002400C +:100B700000127A00921A000800093D0010B5044CDA +:100B8000A068000603D5FFF715FF8020A07210BDF6 +:100B9000001002402DE9F84F040070D02078C04DBD +:100BA000C00749D06868C0F38100012807D0686891 +:100BB000C0F38100022809D16868C00306D52868FF +:100BC000800339D560680028E7D035E06068B0F56B +:100BD000803F0BD010B1B0F5A02F11D0286820F4C1 +:100BE00080302860286820F4802002E0286840F4E3 +:100BF00080302860606890B1FFF73EFE06460AE04C +:100C0000286840F480202860F0E700BFFFF734FE3A +:100C1000801B642873D828688003F7D50CE0FFF7A1 +:100C20002BFE064605E000BFFFF726FE801B64286A +:100C3000F0D828688003F7D420789A4E80074FF0C8 +:100C400001094FF0000839D5686810F00C0F07D083 +:100C50006868C0F38100022809D16868C00306D41F +:100C60002868800714D52069012808D110E0206980 +:100C7000B0B1C6F80090FFF7FFFD074605E00AE1B6 +:100C8000FFF7FAFDC01B0228C4D828688007F7D5F3 +:100C90002868616920F0F80040EAC10028600DE092 +:100CA000C6F80080FFF7E8FD074604E0FFF7E4FD23 +:100CB000C01B022823D828688007F7D420780007B3 +:100CC0002CD57948A169D9B1C0F80090FFF7D4FDBF +:100CD000074604E0FFF7D0FDC01B02280FD8686A62 +:100CE0008007F7D571484FF4FA510068B0FBF1F076 +:100CF000009000BF0098411E0091FAD20EE080E003 +:100D0000C0F80080FFF7B8FD074604E0FFF7B4FD28 +:100D1000C01B022875D8686A8007F7D4207840077E +:100D200060D5E8690027C00008D4E86940F0805029 +:100D3000E861E869012700F0805000905C48016894 +:100D4000C90513D40168834641F480710160FFF73F +:100D500093FD824606E000BFFFF78EFDA0EB0A0080 +:100D600064284ED8DBF80000C005F5D5E0680128FE +:100D70000AD008B1052813D0286A20F001002862A3 +:100D8000286A20F0040002E0286A40F0010028628E +:100D9000E06841F2883B98B1FFF76EFD82460BE0B8 +:100DA000286A40F004002862EEE700BFFFF764FD08 +:100DB000A0EB0A0159455AD8286A8007F6D50CE0FD +:100DC000FFF75AFD824605E0FFF756FDA0EB0A014A +:100DD00059454CD8286A8007F6D41FB1E86920F03D +:100DE0008050E861E06988B36968C1F38101022934 +:100DF00044D00228C6F8608004D0FFF73DFD0446C9 +:100E000038E034E0FFF738FD074604E0FFF734FD33 +:100E1000C01B02282BD828688001F7D4206AB0F5BF +:100E2000803F05D16868A16820F4003008436860FD +:100E3000D4E908010843696821F474110843686023 +:100E4000C6F86090FFF718FD044606E025E000BFF5 +:100E5000FFF712FD001B022809D828688001F7D58A +:100E60001BE000BFFFF708FD001B022802D903208A +:100E7000BDE8F88F28688001F4D40EE00128F7D08F +:100E80006868226A00F48031914204D1616A00F4FA +:100E90007010884201D00120EAE70020E8E7000056 +:100EA0000010024000004242800442421400002030 +:100EB0000070004010B5401EB0F1807F01D30120CA +:100EC00010BD4FF0E02460610F21601700F08DFD30 +:100ED0000020A06107202061002010BD70477047EE +:100EE000F8B5016804460868CA684B6910F00F0F2E +:100EF0004FF0000559D003F0010602F49077374314 +:100F000065D0C10705D0D10503D5616C41F0010161 +:100F10006164410705D5D90703D0616C41F0020136 +:100F20006164810705D5D90703D0616C41F00401E4 +:100F30006164010707D502F02001314303D0616CE1 +:100F400041F008016164616C00293AD0800604D543 +:100F5000900602D5204600F002FC20684069616CD2 +:100F6000C0F38010090700D460B3204600F0C2FB34 +:100F700020684069400621D52068143050E8001FE1 +:100F800021F0400140E80012002AF5D1E06BA8B141 +:100F90006D494163E06BFFF70BFA002811D0E06B5D +:100FA000416B01B0BDE8F040084783060FD59306BA +:100FB0000DD52046BDE8F84000F0D1BB2046FFF734 +:100FC0008EFFF8BD2046FFF78AFF6564F8BD266BEB +:100FD0002023012E7CD1C6067AD5D60678D508689E +:100FE0004868009048694FF00206400640D5E16B22 +:100FF000086840680004000CE8D0A28D8242E5D960 +:10100000E085886920282DD020680C3050E8001F2A +:1010100021F4807140E80012002AF5D120681430D4 +:1010200050E8001F21F0010140E80012002AF5D12C +:101030002068143050E8001F21F0400140E8001201 +:10104000002AF5D184F84230256320680C3050E83E +:10105000001F21F0100140E80012002AF5D1E06BDA +:10106000FFF782F96663A08DE18D401A81B22AE014 +:10107000A08DE18D401A81B2E08D0028A6D0002914 +:10108000A4D022680C3252E8000F20F4907042E89D +:101090000007002FF5D12068143050E8002F22F00F +:1010A000010240E80027002FF5D184F84230256383 +:1010B00020680C3050E8002F22F0100240E8002396 +:1010C000002BF5D166632046FFF708FFF8BDFFE768 +:1010D00005062BD5150629D594F841002128F5D110 +:1010E000A068B0F5805F01D12069B0B1206A411CD1 +:1010F0002162216800784860E08C401E0004000CEA +:10110000E084E3D12068C16821F08001C1602068DB +:10111000C16841F04001C160D8E7206A0088C0F38F +:1011200008004860206A801C2062E5E74006CDD5B3 +:101130005006CBD5CA68204622F04002CA6084F827 +:10114000413000F03DF9C1E7F715000870B5040023 +:1011500004D094F84100002510B106E0012070BDD4 +:1011600084F84050204600F023F8242084F8410001 +:101170002068C16821F40051C160204600F050FB96 +:101180002068016921F4904101612068416921F0E2 +:101190002A0141612068C16841F40051C160656461 +:1011A000202084F8410084F842006563002070BD6F +:1011B000F0B585B000240094019402940394054690 +:1011C00003684848DFF818C102210322464E07157C +:1011D00063453ED1836943F480438361836903F4AB +:1011E00080430493836943F004038361806903921D +:1011F00000F0040004900802CDE900016946304681 +:10120000FFF744FACDE90074694630460294FFF7CF +:101210003DFA374E3548C6E900048020C6E9024051 +:1012200020203461C6E905404FF44050F06130465B +:10123000FFF7B4F908B1FFF795F8EE630022114605 +:1012400025207562FFF784FB2520FFF773FB05B0AF +:10125000F0BD284DAB421ED1C36943F40033C361D6 +:10126000C36903F400330493836943F00403836187 +:101270008069039200F0040004900420CDE900018D +:1012800069463046FFF702FA0820CDE900046946B6 +:101290003046029420E0184DAB42D8D1C36943F4E4 +:1012A0008023C361C36903F480230493836943F0FB +:1012B000080383618069CDE9007100F00800CDE981 +:1012C00003200E4D69462846FFF7E0F9E814CDE902 +:1012D0000004694628460294FFF7D8F9B7E70000F2 +:1012E0000038014000100240000801405800024050 +:1012F0003C0100200044004000480040000C014038 +:1013000090F84230202B01D00220704721B11AB151 +:101310000023036300F0E0BA012070477047704774 +:101320002DE9F843044690F84100984616460D46CC +:10133000202802D00220BDE8F88385B17EB10020CC +:101340006064212084F84100FFF796FAA684814664 +:10135000E684A0682027B0F5805F02D003E001207A +:10136000E9E7206910B12E4600250EE000260CE0CA +:101370008021204600F0F8FAA8B9C6B116F8010B92 +:1013800021684860E08C401EE084E08C4B464FF0C2 +:101390000002CDF800800028EAD14FF0400120463D +:1013A00000F0E2FA40B184F841700320C3E735F859 +:1013B000020BC0F30800E3E784F841700020BAE7AD +:1013C0007047FEE7094808B5416941F001014161F4 +:1013D0004069002200F00100009001210F20FFF77A +:1013E000B7FABDE808400F20FFF7A4BA001002408A +:1013F00030B585B0002418480094019402940394F9 +:10140000816941F020018161816901F0200104912D +:10141000816941F004018161816901F00401049155 +:10142000816941F00801816180690C4D00F008007C +:1014300004900122F0212846FFF718FAF0200090CE +:101440000120CDE901040220039069462846FFF7F8 +:101450001DF905B030BD000000100240000C014035 +:101460000C4810B50A4901604FF416514160002143 +:1014700081600C22C160C0E904128161C161FFF783 +:1014800065FE002803D0BDE81040FEF76BBF10BD1D +:1014900000380140640000200C4810B50A49016082 +:1014A0004FF416514160002181600C22C160C0E9F7 +:1014B00004128161C161FFF749FE002803D0BDE835 +:1014C0001040FEF74FBF10BD00440040AC000020AC +:1014D000FEE7FFF753FBFEE708B530B129B10A4636 +:1014E000014632230648FFF71BFF06A0322300689F +:1014F0000090022269460248FFF712FF08BD000073 +:10150000AC0000200D0A00007047704770B51C4801 +:10151000C06B006840681B4CC0F140002080FFF7A2 +:10152000ABF9194D01266060267228784FF032031E +:101530004FF0040298B115491148FFF7F1FE04215C +:101540001248FFF7C9FF0A20608066722878A8B1A8 +:1015500000202870BDE870400220FFF785B80B49D5 +:101560000748091FFFF7DCFE08480421001FFFF7AA +:10157000B3FF0520608000206072E7E70120E8E704 +:101580006400002018000020000000208C1A0008D1 +:10159000FFF778B930B58FB028216846FEF714FE02 +:1015A00014210AA8FEF710FE01210804CDE900105D +:1015B0000024029402250491CDE907504FF4E01075 +:1015C00009906846FFF7E6FA08B172B6FEE70F2009 +:1015D000CDE90A054FF48060CDE90C4002210AA84C +:1015E0000E94FFF7E9F908B172B6FEE7FFF77AFA51 +:1015F0000FB030BD704710B5406A0021C185C1846D +:10160000FFF76DFC10BD70B5446A2068406994F81E +:101610004110C0F3C0100025212904D118B1E58480 +:10162000204600F08EF82068406994F84210C0F31C +:101630008010222904D118B1E585204600F05AF81F +:10164000606C40F0100060642046FFF748FC70BDFD +:1016500010B50146406A096809684FF00002890622 +:101660002ED4C28501680C3151E8003F23F4807309 +:1016700041E80034002CF5D10168143151E8003FF5 +:1016800023F0010341E80034002CF5D10168143146 +:1016900051E8003F23F0400341E80034002CF5D12D +:1016A000202180F84210016B012909D101680C3119 +:1016B00051E8003F23F0100341E80034002CF5D13D +:1016C0004263016B012902D0FFF728FE10BD818D16 +:1016D000FFF704FC10BD10B5406A01214163016BA6 +:1016E000012902D0FFF71BFE10BD818D4908FFF7CD +:1016F000F5FB10BD01680C3151E8002F22F4907207 +:1017000041E80023002BF5D10168143151E8002F86 +:1017100022F0010241E80023002BF5D1016B0129E1 +:1017200009D101680C3151E8002F22F0100241E884 +:101730000023002BF5D1202180F842100021016305 +:10174000704701680C3151E8002F22F0C00241E8D7 +:101750000023002BF5D1202180F84110704708B5F7 +:1017600090F84210222901D0022008BD82684FF46F +:1017700080539A4201D1016921B1816A9A421BD0FA +:101780004AB10AE00268816A5268C2F308020A801C +:10179000816A891C08E0026972B10268526802F02D +:1017A0007F020A70816A491C8162C18D491E090449 +:1017B000090CC18503D01BE002685268F1E701689B +:1017C000CA6822F02002CA600168CA6822F48072E6 +:1017D000CA6001684A6922F001024A61202180F84A +:1017E000421000214163026B012A03D0FFF796FDEE +:1017F000002008BD016301680C3151E8002F22F080 +:10180000100241E80023002BF5D101680A68D206D6 +:1018100002D50A6849680091818DFFF75FFBE7E711 +:1018200070B5044600680169E26821F44051114333 +:1018300001612169A0680843616908432168CA6899 +:1018400041F20C639A430243CA6020684169A2696D +:1018500021F44071114341611E492068884202D140 +:10186000FFF756F901E0FFF743F900EBC00101EB88 +:101870000012606864218000B2FBF0F3B3FBF1F367 +:101880006FF018067343B2FBF0F5B2FBF0F605EB10 +:101890008305322303EB0515B5FBF1F5B6FBF1F635 +:1018A00005F0F00505EB0615B2FBF0F6B2FBF0F023 +:1018B000B0FBF1F06FF01802504306EB800003EB31 +:1018C0000010B0FBF1F0216800F00F0028448860A0 +:1018D00070BD00000038014038B581620446828541 +:1018E000002013466064222284F84220E56B1B4AE4 +:1018F000AA62E56B1A4AEA62E56B1A4A2A63E26B4E +:1019000050630A462168E06B091DFEF775FE2068EA +:10191000016840680090206948B120680C3050E8A8 +:10192000001F41F4807140E80012002AF5D12068C0 +:10193000143050E8001F41F0010140E80012002A75 +:10194000F5D12068143050E8001F41F0400140E814 +:101950000012002AF5D1002038BD00005116000801 +:10196000D7160008071600082DE9F84398461746D1 +:101970000D460446089E24E0701C22D0FEF77CFF32 +:10198000A0EB0800B0421AD8CEB12068C168490760 +:1019900017D5802D15D0402D13D00168C9430907F4 +:1019A0000FD401680025406800902046FFF7A2FE92 +:1019B0000820606484F840500120BDE8F8830320CB +:1019C000FBE72068006835EA000004D00020B84238 +:1019D000D2D00020F1E70120F9E700000148FFF72D +:1019E0007FBA000064000020FEE70907090E002806 +:1019F00004DB00F1E02080F80014704700F00F00D5 +:101A000000F1E02080F8141D7047000008B5FEF7D3 +:101A100041FFFFF7BFFDFFF7EBFCFFF7D3FCFFF73C +:101A20001FFDFFF739FD40211348FEF7CDFB402293 +:101A300011491248FFF764FC11A0022100680090D0 +:101A40006846FFF749FDFEF717FF0E4C0A4D0C3DA7 +:101A5000C4F80400FEF710FF6168411A282902D972 +:101A60006060FFF753FD287A08B1FEF711FC0120F2 +:101A7000FEF7FAFDEEE700002400002064000020DD +:101A8000AA550000000000200301C080030341416B +:101A9000010202030405060708090A0B0C0D0E0FCC +:101AA00010100000000000000000010203040607FF +:101AB000080900000000010203040000DC1A00080D +:101AC000000000201800000028010008F41A000897 +:101AD00018000020C80700004401000800000000B2 +:101AE00000000000010000001000000000000000E5 +:041AF00000127A0066 :04000005080000ED02 :00000001FF diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.htm b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.htm index 47cf1f5..50da6b5 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.htm +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.htm @@ -3,16 +3,16 @@ Static Call Graph - [PressureSensorBoardMaster\PressureSensorBoardMaster.axf]

Static Call Graph for image PressureSensorBoardMaster\PressureSensorBoardMaster.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Dec 06 16:10:45 2025 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Dec 06 22:50:54 2025

-

Maximum Stack Usage = 136 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 144 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority

Functions with no stack information

@@ -24,7 +24,7 @@ Mutually Recursive functions

  • MemManage_Handler   ⇒   MemManage_Handler
  • UART_EndRxTransfer   ⇒   UART_EndRxTransfer
  • UsageFault_Handler   ⇒   UsageFault_Handler
    -
  • UART_EndTxTransfer   ⇒   UART_EndTxTransfer
    +
  • UART_EndTxTransfer   ⇒   UART_EndTxTransfer

    @@ -107,9 +107,9 @@ Global Symbols

    [Calls]
    • >>   __rt_entry
    -

    __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

    __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

    __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

    __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

    __scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)

    [Calls]

    • >>   __scatterload_copy @@ -117,80 +117,80 @@ Global Symbols
      [Called By]
      • >>   __scatterload_copy
      -

      __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) +

      __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

      __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))

      [Called By]

      • >>   __rt_entry_li
      -

      __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) +

      __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) -

      __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) +

      __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) -

      __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) +

      __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) -

      __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) +

      __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) -

      __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) +

      __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) -

      __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) +

      __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) -

      __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) +

      __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) -

      __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) +

      __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) -

      __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) +

      __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) -

      __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) +

      __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) -

      __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) +

      __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) -

      __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) +

      __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) -

      __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) +

      __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) -

      __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) +

      __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) -

      __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) +

      __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) -

      __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) +

      __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) -

      __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) +

      __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) -

      __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) +

      __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) -

      __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) +

      __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) -

      __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) +

      __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) -

      __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) +

      __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

      __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))

      [Called By]

      • >>   __rt_exit_ls
      -

      __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) +

      __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) -

      __rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) +

      __rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) -

      __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)) +

      __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)) -

      __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)) +

      __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)) -

      __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)) +

      __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)) -

      __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) +

      __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) -

      __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)) +

      __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)) -

      __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)) +

      __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

      __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))

      [Called By]

      • >>   __scatterload_rt2
      • >>   __main
      -

      __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) +

      __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))

      __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))

      [Stack]

      • Max Depth = 8 + Unknown Stack Size @@ -203,19 +203,19 @@ Global Symbols

        [Calls]
        • >>   __rt_lib_init
        -

        __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) +

        __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))

        __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)) -

        [Stack]

        • Max Depth = 136 + Unknown Stack Size +

          [Stack]
          • Max Depth = 144 + Unknown Stack Size
          • Call Chain = __rt_entry_main ⇒ main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority

          [Calls]
          • >>   main
          • >>   exit
          -

          __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) +

          __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) -

          __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000)) +

          __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))

          [Called By]

          • >>   exit
          @@ -223,7 +223,7 @@ Global Symbols

          [Calls]
          • >>   __rt_lib_shutdown
          -

          __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) +

          __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

          __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))

          [Calls]

          • >>   _sys_exit @@ -359,46 +359,35 @@ Global Symbols

            WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
            [Address Reference Count : 1]

            • startup_stm32f103xb.o(RESET)
            -

            __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f103xb.o(.text)) +

            __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f103xb.o(.text))

            [Called By]

            • >>   __user_setup_stackheap
            -

            __aeabi_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text)) -

            [Called By]

            • >>   main -
            - -

            __rt_memclr (Thumb, 68 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED) -

            [Calls]

            • >>   _memset_w -
            - -

            _memset (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr.o(.text), UNUSED) - -

            __aeabi_memclr4 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text)) +

            __aeabi_memclr4 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))

            [Stack]

            • Max Depth = 4
            • Call Chain = __aeabi_memclr4
            -
            [Called By]
            • >>   SystemClock_Config +
              [Called By]
              • >>   main +
              • >>   SystemClock_Config
              -

              __aeabi_memclr8 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) +

              __aeabi_memclr8 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) -

              __rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) +

              __rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) -

              _memset_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) -

              [Called By]

              • >>   __rt_memclr -
              +

              _memset_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) -

              __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

              __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

              __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

              __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))

              [Stack]

              • Max Depth = 8 + Unknown Stack Size
              • Call Chain = __user_setup_stackheap
              -
              [Calls]
              • >>   __user_initial_stackheap -
              • >>   __user_perproc_libspace +
                [Calls]
                • >>   __user_initial_stackheap +
                • >>   __user_perproc_libspace

                [Called By]
                • >>   __rt_entry_sh
                @@ -407,26 +396,26 @@ Global Symbols

                [Stack]
                • Max Depth = 8 + Unknown Stack Size
                • Call Chain = exit
                -
                [Calls]
                • >>   __rt_exit +
                  [Calls]
                  • >>   __rt_exit

                  [Called By]
                  • >>   __rt_entry_main
                  -

                  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

                  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) -

                  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text)) +

                  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))

                  [Called By]

                  • >>   __user_setup_stackheap
                  -

                  __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

                  __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

                  _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))

                  [Called By]

                  • >>   __rt_exit_exit
                  -

                  __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

                  __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

                  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

                  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

                  BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.BusFault_Handler))

                  [Calls]

                  • >>   BusFault_Handler @@ -435,23 +424,21 @@ Global Symbols

                  [Address Reference Count : 1]
                  • startup_stm32f103xb.o(RESET)
                  -

                  __semihosting_library_function (Thumb, 0 bytes, Stack size 0 bytes, indicate_semi.o(.text), UNUSED) +

                  __semihosting_library_function (Thumb, 0 bytes, Stack size 0 bytes, indicate_semi.o(.text), UNUSED) -

                  Calculate_CRC16 (Thumb, 52 bytes, Stack size 16 bytes, main.o(i.Calculate_CRC16)) -

                  [Stack]

                  • Max Depth = 16
                  • Call Chain = Calculate_CRC16 +

                    Check_And_Process_Reply (Thumb, 142 bytes, Stack size 40 bytes, main.o(i.Check_And_Process_Reply)) +

                    [Stack]

                    • Max Depth = 112
                    • Call Chain = Check_And_Process_Reply ⇒ Output_Hex_With_CRLF ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
                    -
                    [Called By]
                    • >>   Slave3_Sta_Query -
                    • >>   Slave3_Matrix_Query -
                    • >>   Slave2_Sta_Query -
                    • >>   Slave2_Matrix_Query -
                    • >>   Slave1_Sta_Query -
                    • >>   Slave1_Matrix_Query +
                      [Calls]
                      • >>   HAL_GetTick +
                      • >>   Output_Hex_With_CRLF +
                      +
                      [Called By]
                      • >>   main

                      DMA1_Channel5_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.DMA1_Channel5_IRQHandler))

                      [Stack]

                      • Max Depth = 40
                      • Call Chain = DMA1_Channel5_IRQHandler ⇒ HAL_DMA_IRQHandler
                      -
                      [Calls]
                      • >>   HAL_DMA_IRQHandler +
                        [Calls]
                        • >>   HAL_DMA_IRQHandler

                        [Address Reference Count : 1]
                        • startup_stm32f103xb.o(RESET)
                        @@ -460,7 +447,6 @@ Global Symbols

                      Error_Handler (Thumb, 4 bytes, Stack size 0 bytes, main.o(i.Error_Handler))

                      [Called By]

                      • >>   HAL_UART_MspInit -
                      • >>   MX_USART3_UART_Init
                      • >>   MX_USART2_UART_Init
                      • >>   MX_USART1_UART_Init
                      @@ -477,7 +463,7 @@ Global Symbols
                      [Called By]
                      • >>   HAL_UART_IRQHandler
                      -

                      HAL_DMA_IRQHandler (Thumb, 316 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler)) +

                      HAL_DMA_IRQHandler (Thumb, 316 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler))

                      [Stack]

                      • Max Depth = 40
                      • Call Chain = HAL_DMA_IRQHandler

                      [Called By]
                      • >>   DMA1_Channel5_IRQHandler @@ -489,20 +475,21 @@ Global Symbols
                        [Called By]
                        • >>   HAL_UART_MspInit
                        -

                        HAL_DMA_Start_IT (Thumb, 112 bytes, Stack size 16 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT)) +

                        HAL_DMA_Start_IT (Thumb, 112 bytes, Stack size 16 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT))

                        [Stack]

                        • Max Depth = 28
                        • Call Chain = HAL_DMA_Start_IT ⇒ DMA_SetConfig
                        -
                        [Calls]
                        • >>   DMA_SetConfig +
                          [Calls]
                          • >>   DMA_SetConfig

                          [Called By]
                          • >>   UART_Start_Receive_DMA
                          -

                          HAL_Delay (Thumb, 32 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_Delay)) +

                          HAL_Delay (Thumb, 32 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_Delay))

                          [Stack]

                          • Max Depth = 16
                          • Call Chain = HAL_Delay
                          -
                          [Calls]
                          • >>   HAL_GetTick +
                            [Calls]
                            • >>   HAL_GetTick

                            [Called By]
                            • >>   main +
                            • >>   Send_Command

                            HAL_GPIO_Init (Thumb, 446 bytes, Stack size 40 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)) @@ -514,18 +501,20 @@ Global Symbols

                            HAL_GPIO_WritePin (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin))

                            [Called By]

                            • >>   MX_GPIO_Init -
                            • >>   Slave3_Sta_Query
                            -

                            HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick)) +

                            HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick))

                            [Called By]

                            • >>   UART_WaitOnFlagUntilTimeout
                            • >>   HAL_UART_Transmit
                            • >>   HAL_RCC_OscConfig
                            • >>   HAL_RCC_ClockConfig -
                            • >>   HAL_Delay +
                            • >>   HAL_Delay +
                            • >>   main +
                            • >>   Send_Command +
                            • >>   Check_And_Process_Reply
                            -

                            HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick)) +

                            HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick))

                            [Called By]

                            • >>   SysTick_Handler
                            @@ -581,22 +570,22 @@ Global Symbols

                            HAL_RCC_ClockConfig (Thumb, 280 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig))

                            [Stack]

                            • Max Depth = 64
                            • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority
                            -
                            [Calls]
                            • >>   HAL_RCC_GetSysClockFreq +
                              [Calls]
                              • >>   HAL_GetTick +
                              • >>   HAL_RCC_GetSysClockFreq
                              • >>   HAL_InitTick -
                              • >>   HAL_GetTick
                              -
                              [Called By]
                              • >>   SystemClock_Config +
                                [Called By]
                                • >>   SystemClock_Config
                                -

                                HAL_RCC_EnableCSS (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS)) -

                                [Called By]

                                • >>   SystemClock_Config +

                                  HAL_RCC_EnableCSS (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS)) +

                                  [Called By]

                                  • >>   SystemClock_Config
                                  -

                                  HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)) +

                                  HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))

                                  [Called By]

                                  • >>   UART_SetConfig
                                  -

                                  HAL_RCC_GetPCLK2Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)) +

                                  HAL_RCC_GetPCLK2Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq))

                                  [Called By]

                                  • >>   UART_SetConfig
                                  @@ -615,9 +604,9 @@ Global Symbols

                                  HAL_RCC_OscConfig (Thumb, 778 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig))

                                  [Stack]

                                  • Max Depth = 40
                                  • Call Chain = HAL_RCC_OscConfig
                                  -
                                  [Calls]
                                  • >>   HAL_GetTick +
                                    [Calls]
                                    • >>   HAL_GetTick
                                    -
                                    [Called By]
                                    • >>   SystemClock_Config +
                                      [Called By]
                                      • >>   SystemClock_Config

                                      HAL_SYSTICK_Config (Thumb, 40 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)) @@ -661,8 +650,7 @@ Global Symbols
                                      [Calls]

                                      • >>   UART_SetConfig
                                      • >>   HAL_UART_MspInit
                                      -
                                      [Called By]
                                      • >>   MX_USART3_UART_Init -
                                      • >>   MX_USART2_UART_Init +
                                        [Called By]
                                        • >>   MX_USART2_UART_Init
                                        • >>   MX_USART1_UART_Init
                                        @@ -686,12 +674,12 @@ Global Symbols
                                        [Called By]
                                        • >>   main
                                        -

                                        HAL_UART_RxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback)) +

                                        HAL_UART_RxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback))

                                        [Called By]

                                        • >>   UART_Receive_IT
                                        • >>   UART_DMAReceiveCplt
                                        -

                                        HAL_UART_RxHalfCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback)) +

                                        HAL_UART_RxHalfCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback))

                                        [Called By]

                                        • >>   UART_DMARxHalfCplt
                                        @@ -699,15 +687,10 @@ Global Symbols

                                        [Stack]
                                        • Max Depth = 64
                                        • Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout

                                        [Calls]
                                        • >>   UART_WaitOnFlagUntilTimeout -
                                        • >>   HAL_GetTick +
                                        • >>   HAL_GetTick
                                        -
                                        [Called By]
                                        • >>   Slave3_Sta_Query -
                                        • >>   Slave3_Matrix_Query -
                                        • >>   Slave2_Sta_Query -
                                        • >>   Slave2_Matrix_Query -
                                        • >>   Slave1_Sta_Query -
                                        • >>   Slave1_Matrix_Query -
                                        • >>   RS485_Output +
                                          [Called By]
                                          • >>   Send_Command +
                                          • >>   Output_Hex_With_CRLF

                                          HAL_UART_TxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback)) @@ -733,8 +716,8 @@ Global Symbols

                                          MX_GPIO_Init (Thumb, 102 bytes, Stack size 32 bytes, gpio.o(i.MX_GPIO_Init))

                                          [Stack]

                                          • Max Depth = 72
                                          • Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init
                                          -
                                          [Calls]
                                          • >>   HAL_GPIO_Init -
                                          • >>   HAL_GPIO_WritePin +
                                            [Calls]
                                            • >>   HAL_GPIO_WritePin +
                                            • >>   HAL_GPIO_Init

                                            [Called By]
                                            • >>   main
                                            @@ -757,15 +740,6 @@ Global Symbols
                                            [Called By]
                                            • >>   main
                                            -

                                            MX_USART3_UART_Init (Thumb, 48 bytes, Stack size 8 bytes, usart.o(i.MX_USART3_UART_Init)) -

                                            [Stack]

                                            • Max Depth = 104
                                            • Call Chain = MX_USART3_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init -
                                            -
                                            [Calls]
                                            • >>   HAL_UART_Init -
                                            • >>   Error_Handler -
                                            -
                                            [Called By]
                                            • >>   main -
                                            -

                                            MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.MemManage_Handler))

                                            [Calls]

                                            • >>   MemManage_Handler
                                            @@ -780,87 +754,45 @@ Global Symbols

                                          [Address Reference Count : 1]
                                          • startup_stm32f103xb.o(RESET)
                                          +

                                          Output_Hex_With_CRLF (Thumb, 38 bytes, Stack size 8 bytes, main.o(i.Output_Hex_With_CRLF)) +

                                          [Stack]

                                          • Max Depth = 72
                                          • Call Chain = Output_Hex_With_CRLF ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout +
                                          +
                                          [Calls]
                                          • >>   HAL_UART_Transmit +
                                          +
                                          [Called By]
                                          • >>   main +
                                          • >>   Send_Command +
                                          • >>   Check_And_Process_Reply +
                                          +

                                          PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.PendSV_Handler))
                                          [Address Reference Count : 1]

                                          • startup_stm32f103xb.o(RESET)
                                          -

                                          RS485_Output (Thumb, 100 bytes, Stack size 8 bytes, main.o(i.RS485_Output)) -

                                          [Stack]

                                          • Max Depth = 72
                                          • Call Chain = RS485_Output ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout -
                                          -
                                          [Calls]
                                          • >>   HAL_UART_Transmit -
                                          -
                                          [Called By]
                                          • >>   main -
                                          -

                                          SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SVC_Handler))
                                          [Address Reference Count : 1]

                                          • startup_stm32f103xb.o(RESET)
                                          -

                                          Slave1_Matrix_Query (Thumb, 42 bytes, Stack size 8 bytes, main.o(i.Slave1_Matrix_Query)) -

                                          [Stack]

                                          • Max Depth = 72
                                          • Call Chain = Slave1_Matrix_Query ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout +

                                            Send_Command (Thumb, 116 bytes, Stack size 16 bytes, main.o(i.Send_Command)) +

                                            [Stack]

                                            • Max Depth = 88
                                            • Call Chain = Send_Command ⇒ Output_Hex_With_CRLF ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout

                                            [Calls]
                                            • >>   HAL_UART_Transmit -
                                            • >>   Calculate_CRC16 -
                                            -
                                            [Called By]
                                            • >>   main -
                                            - -

                                            Slave1_Sta_Query (Thumb, 40 bytes, Stack size 8 bytes, main.o(i.Slave1_Sta_Query)) -

                                            [Stack]

                                            • Max Depth = 72
                                            • Call Chain = Slave1_Sta_Query ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout -
                                            -
                                            [Calls]
                                            • >>   HAL_UART_Transmit -
                                            • >>   Calculate_CRC16 -
                                            -
                                            [Called By]
                                            • >>   main -
                                            - -

                                            Slave2_Matrix_Query (Thumb, 40 bytes, Stack size 8 bytes, main.o(i.Slave2_Matrix_Query)) -

                                            [Stack]

                                            • Max Depth = 72
                                            • Call Chain = Slave2_Matrix_Query ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout -
                                            -
                                            [Calls]
                                            • >>   HAL_UART_Transmit -
                                            • >>   Calculate_CRC16 -
                                            -
                                            [Called By]
                                            • >>   main -
                                            - -

                                            Slave2_Sta_Query (Thumb, 40 bytes, Stack size 8 bytes, main.o(i.Slave2_Sta_Query)) -

                                            [Stack]

                                            • Max Depth = 72
                                            • Call Chain = Slave2_Sta_Query ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout -
                                            -
                                            [Calls]
                                            • >>   HAL_UART_Transmit -
                                            • >>   Calculate_CRC16 -
                                            -
                                            [Called By]
                                            • >>   main -
                                            - -

                                            Slave3_Matrix_Query (Thumb, 40 bytes, Stack size 8 bytes, main.o(i.Slave3_Matrix_Query)) -

                                            [Stack]

                                            • Max Depth = 72
                                            • Call Chain = Slave3_Matrix_Query ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout -
                                            -
                                            [Calls]
                                            • >>   HAL_UART_Transmit -
                                            • >>   Calculate_CRC16 -
                                            -
                                            [Called By]
                                            • >>   main -
                                            - -

                                            Slave3_Sta_Query (Thumb, 52 bytes, Stack size 8 bytes, main.o(i.Slave3_Sta_Query)) -

                                            [Stack]

                                            • Max Depth = 72
                                            • Call Chain = Slave3_Sta_Query ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout -
                                            -
                                            [Calls]
                                            • >>   HAL_UART_Transmit -
                                            • >>   HAL_GPIO_WritePin -
                                            • >>   Calculate_CRC16 +
                                            • >>   HAL_GetTick +
                                            • >>   HAL_Delay +
                                            • >>   Output_Hex_With_CRLF

                                            [Called By]
                                            • >>   main

                                            SysTick_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SysTick_Handler)) -

                                            [Calls]

                                            • >>   HAL_IncTick +

                                              [Calls]
                                              • >>   HAL_IncTick

                                              [Address Reference Count : 1]
                                              • startup_stm32f103xb.o(RESET)
                                              -

                                              SystemClock_Config (Thumb, 96 bytes, Stack size 72 bytes, main.o(i.SystemClock_Config)) +

                                              SystemClock_Config (Thumb, 96 bytes, Stack size 72 bytes, main.o(i.SystemClock_Config))

                                              [Stack]

                                              • Max Depth = 136
                                              • Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority

                                              [Calls]
                                              • >>   HAL_RCC_OscConfig -
                                              • >>   HAL_RCC_EnableCSS +
                                              • >>   HAL_RCC_EnableCSS
                                              • >>   HAL_RCC_ClockConfig -
                                              • >>   __aeabi_memclr4 +
                                              • >>   __aeabi_memclr4

                                              [Called By]
                                              • >>   main
                                              @@ -871,7 +803,7 @@ Global Symbols

                                              UART_Start_Receive_DMA (Thumb, 130 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA))

                                              [Stack]

                                              • Max Depth = 44
                                              • Call Chain = UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
                                              -
                                              [Calls]
                                              • >>   HAL_DMA_Start_IT +
                                                [Calls]
                                                • >>   HAL_DMA_Start_IT

                                                [Called By]
                                                • >>   HAL_UART_Receive_DMA
                                                @@ -890,26 +822,22 @@ Global Symbols

                                              [Address Reference Count : 1]
                                              • startup_stm32f103xb.o(RESET)
                                              -

                                              main (Thumb, 144 bytes, Stack size 0 bytes, main.o(i.main)) -

                                              [Stack]

                                              • Max Depth = 136
                                              • Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority +

                                                main (Thumb, 106 bytes, Stack size 8 bytes, main.o(i.main)) +

                                                [Stack]

                                                • Max Depth = 144
                                                • Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                                -
                                                [Calls]
                                                • >>   MX_USART3_UART_Init -
                                                • >>   MX_USART2_UART_Init +
                                                  [Calls]
                                                  • >>   MX_USART2_UART_Init
                                                  • >>   MX_USART1_UART_Init
                                                  • >>   MX_GPIO_Init
                                                  • >>   MX_DMA_Init
                                                  • >>   HAL_UART_Receive_DMA
                                                  • >>   HAL_Init -
                                                  • >>   HAL_Delay -
                                                  • >>   SystemClock_Config -
                                                  • >>   Slave3_Sta_Query -
                                                  • >>   Slave3_Matrix_Query -
                                                  • >>   Slave2_Sta_Query -
                                                  • >>   Slave2_Matrix_Query -
                                                  • >>   Slave1_Sta_Query -
                                                  • >>   Slave1_Matrix_Query -
                                                  • >>   RS485_Output -
                                                  • >>   __aeabi_memclr +
                                                  • >>   HAL_GetTick +
                                                  • >>   HAL_Delay +
                                                  • >>   SystemClock_Config +
                                                  • >>   Send_Command +
                                                  • >>   Output_Hex_With_CRLF +
                                                  • >>   Check_And_Process_Reply +
                                                  • >>   __aeabi_memclr4

                                                  [Called By]
                                                  • >>   __rt_entry_main
                                                  @@ -927,7 +855,7 @@ Local Symbols

                                                  UART_DMAError (Thumb, 74 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_DMAError))

                                                  [Stack]

                                                  • Max Depth = 16
                                                  • Call Chain = UART_DMAError
                                                  -
                                                  [Calls]
                                                  • >>   UART_EndTxTransfer +
                                                    [Calls]
                                                    • >>   UART_EndTxTransfer
                                                    • >>   UART_EndRxTransfer
                                                    • >>   HAL_UART_ErrorCallback
                                                    @@ -936,7 +864,7 @@ Local Symbols

                                                    UART_DMAReceiveCplt (Thumb, 134 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt))

                                                    [Stack]

                                                    • Max Depth = 8
                                                    • Call Chain = UART_DMAReceiveCplt
                                                    -
                                                    [Calls]
                                                    • >>   HAL_UART_RxCpltCallback +
                                                      [Calls]
                                                      • >>   HAL_UART_RxCpltCallback
                                                      • >>   HAL_UARTEx_RxEventCallback

                                                      [Address Reference Count : 1]
                                                      • stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) @@ -944,7 +872,7 @@ Local Symbols

                                                        UART_DMARxHalfCplt (Thumb, 30 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt))

                                                        [Stack]

                                                        • Max Depth = 8
                                                        • Call Chain = UART_DMARxHalfCplt
                                                        -
                                                        [Calls]
                                                        • >>   HAL_UART_RxHalfCpltCallback +
                                                          [Calls]
                                                          • >>   HAL_UART_RxHalfCpltCallback
                                                          • >>   HAL_UARTEx_RxEventCallback

                                                          [Address Reference Count : 1]
                                                          • stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) @@ -958,17 +886,17 @@ Local Symbols
                                                          • >>   HAL_UART_IRQHandler
                                                          -

                                                          UART_EndTxTransfer (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndTxTransfer)) -

                                                          [Calls]

                                                          • >>   UART_EndTxTransfer +

                                                            UART_EndTxTransfer (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndTxTransfer)) +

                                                            [Calls]

                                                            • >>   UART_EndTxTransfer
                                                            -
                                                            [Called By]
                                                            • >>   UART_EndTxTransfer +
                                                              [Called By]
                                                              • >>   UART_EndTxTransfer
                                                              • >>   UART_DMAError

                                                              UART_Receive_IT (Thumb, 194 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_Receive_IT))

                                                              [Stack]

                                                              • Max Depth = 8
                                                              • Call Chain = UART_Receive_IT
                                                              -
                                                              [Calls]
                                                              • >>   HAL_UART_RxCpltCallback +
                                                                [Calls]
                                                                • >>   HAL_UART_RxCpltCallback
                                                                • >>   HAL_UARTEx_RxEventCallback

                                                                [Called By]
                                                                • >>   HAL_UART_IRQHandler @@ -977,8 +905,8 @@ Local Symbols

                                                                  UART_SetConfig (Thumb, 178 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_SetConfig))

                                                                  [Stack]

                                                                  • Max Depth = 16
                                                                  • Call Chain = UART_SetConfig
                                                                  -
                                                                  [Calls]
                                                                  • >>   HAL_RCC_GetPCLK2Freq -
                                                                  • >>   HAL_RCC_GetPCLK1Freq +
                                                                    [Calls]
                                                                    • >>   HAL_RCC_GetPCLK2Freq +
                                                                    • >>   HAL_RCC_GetPCLK1Freq

                                                                    [Called By]
                                                                    • >>   HAL_UART_Init
                                                                    @@ -987,15 +915,15 @@ Local Symbols

                                                                    [Stack]
                                                                    • Max Depth = 32
                                                                    • Call Chain = UART_WaitOnFlagUntilTimeout

                                                                    [Calls]
                                                                    • >>   UART_EndRxTransfer -
                                                                    • >>   HAL_GetTick +
                                                                    • >>   HAL_GetTick

                                                                    [Called By]
                                                                    • >>   HAL_UART_Transmit
                                                                    -

                                                                    DMA_SetConfig (Thumb, 42 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(i.DMA_SetConfig)) +

                                                                    DMA_SetConfig (Thumb, 42 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(i.DMA_SetConfig))

                                                                    [Stack]

                                                                    • Max Depth = 12
                                                                    • Call Chain = DMA_SetConfig
                                                                    -
                                                                    [Called By]
                                                                    • >>   HAL_DMA_Start_IT +
                                                                      [Called By]
                                                                      • >>   HAL_DMA_Start_IT

                                                                      __NVIC_SetPriority (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)) diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.map b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.map index e7a3f8f..038d76c 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.map +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.map @@ -25,45 +25,22 @@ Section Cross References startup_stm32f103xb.o(.text) refers to __main.o(!!!main) for __main startup_stm32f103xb.o(.text) refers to startup_stm32f103xb.o(HEAP) for Heap_Mem startup_stm32f103xb.o(.text) refers to startup_stm32f103xb.o(STACK) for Stack_Mem - main.o(i.HAL_UART_IdleCallback) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - main.o(i.HAL_UART_IdleCallback) refers to main.o(i.Process_Reply) for Process_Reply - main.o(i.HAL_UART_IdleCallback) refers to rt_memclr.o(.text) for __aeabi_memclr - main.o(i.HAL_UART_IdleCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) for HAL_UART_Receive_DMA - main.o(i.HAL_UART_IdleCallback) refers to usart.o(.bss) for huart1 - main.o(i.HAL_UART_IdleCallback) refers to main.o(.bss) for .bss - main.o(i.Process_Reply) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - main.o(i.Process_Reply) refers to rt_memclr.o(.text) for __aeabi_memclr - main.o(i.Process_Reply) refers to main.o(.data) for .data - main.o(i.Process_Reply) refers to main.o(.bss) for .bss - main.o(i.RS485_Output) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit - main.o(i.RS485_Output) refers to main.o(.bss) for .bss - main.o(i.RS485_Output) refers to main.o(.data) for .data - main.o(i.RS485_Output) refers to usart.o(.bss) for huart2 - main.o(i.Slave1_Matrix_Query) refers to main.o(i.Calculate_CRC16) for Calculate_CRC16 - main.o(i.Slave1_Matrix_Query) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit - main.o(i.Slave1_Matrix_Query) refers to main.o(.bss) for .bss - main.o(i.Slave1_Matrix_Query) refers to usart.o(.bss) for huart1 - main.o(i.Slave1_Sta_Query) refers to main.o(i.Calculate_CRC16) for Calculate_CRC16 - main.o(i.Slave1_Sta_Query) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit - main.o(i.Slave1_Sta_Query) refers to main.o(.bss) for .bss - main.o(i.Slave1_Sta_Query) refers to usart.o(.bss) for huart1 - main.o(i.Slave2_Matrix_Query) refers to main.o(i.Calculate_CRC16) for Calculate_CRC16 - main.o(i.Slave2_Matrix_Query) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit - main.o(i.Slave2_Matrix_Query) refers to main.o(.bss) for .bss - main.o(i.Slave2_Matrix_Query) refers to usart.o(.bss) for huart1 - main.o(i.Slave2_Sta_Query) refers to main.o(i.Calculate_CRC16) for Calculate_CRC16 - main.o(i.Slave2_Sta_Query) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit - main.o(i.Slave2_Sta_Query) refers to main.o(.bss) for .bss - main.o(i.Slave2_Sta_Query) refers to usart.o(.bss) for huart1 - main.o(i.Slave3_Matrix_Query) refers to main.o(i.Calculate_CRC16) for Calculate_CRC16 - main.o(i.Slave3_Matrix_Query) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit - main.o(i.Slave3_Matrix_Query) refers to main.o(.bss) for .bss - main.o(i.Slave3_Matrix_Query) refers to usart.o(.bss) for huart1 - main.o(i.Slave3_Sta_Query) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - main.o(i.Slave3_Sta_Query) refers to main.o(i.Calculate_CRC16) for Calculate_CRC16 - main.o(i.Slave3_Sta_Query) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit - main.o(i.Slave3_Sta_Query) refers to main.o(.bss) for .bss - main.o(i.Slave3_Sta_Query) refers to usart.o(.bss) for huart1 + main.o(i.Check_And_Process_Reply) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick + main.o(i.Check_And_Process_Reply) refers to main.o(i.Output_Hex_With_CRLF) for Output_Hex_With_CRLF + main.o(i.Check_And_Process_Reply) refers to usart.o(.bss) for huart1 + main.o(i.Check_And_Process_Reply) refers to main.o(.bss) for .bss + main.o(i.Output_Hex_With_CRLF) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit + main.o(i.Output_Hex_With_CRLF) refers to usart.o(.bss) for huart2 + main.o(i.Output_Pure_Hex) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit + main.o(i.Output_Pure_Hex) refers to usart.o(.bss) for huart2 + main.o(i.Send_Command) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick + main.o(i.Send_Command) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit + main.o(i.Send_Command) refers to main.o(i.Output_Hex_With_CRLF) for Output_Hex_With_CRLF + main.o(i.Send_Command) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay + main.o(i.Send_Command) refers to usart.o(.bss) for huart1 + main.o(i.Send_Command) refers to main.o(.bss) for .bss + main.o(i.Send_Command) refers to main.o(.data) for .data + main.o(i.Send_Command) refers to main.o(.constdata) for .constdata main.o(i.SystemClock_Config) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 main.o(i.SystemClock_Config) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) for HAL_RCC_OscConfig main.o(i.SystemClock_Config) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) for HAL_RCC_ClockConfig @@ -72,18 +49,14 @@ Section Cross References main.o(i.main) refers to main.o(i.SystemClock_Config) for SystemClock_Config main.o(i.main) refers to gpio.o(i.MX_GPIO_Init) for MX_GPIO_Init main.o(i.main) refers to dma.o(i.MX_DMA_Init) for MX_DMA_Init - main.o(i.main) refers to usart.o(i.MX_USART2_UART_Init) for MX_USART2_UART_Init main.o(i.main) refers to usart.o(i.MX_USART1_UART_Init) for MX_USART1_UART_Init - main.o(i.main) refers to usart.o(i.MX_USART3_UART_Init) for MX_USART3_UART_Init - main.o(i.main) refers to rt_memclr.o(.text) for __aeabi_memclr + main.o(i.main) refers to usart.o(i.MX_USART2_UART_Init) for MX_USART2_UART_Init + main.o(i.main) refers to rt_memclr_w.o(.text) for __aeabi_memclr4 main.o(i.main) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) for HAL_UART_Receive_DMA - main.o(i.main) refers to main.o(i.Slave1_Sta_Query) for Slave1_Sta_Query - main.o(i.main) refers to main.o(i.Slave1_Matrix_Query) for Slave1_Matrix_Query - main.o(i.main) refers to main.o(i.Slave2_Sta_Query) for Slave2_Sta_Query - main.o(i.main) refers to main.o(i.Slave2_Matrix_Query) for Slave2_Matrix_Query - main.o(i.main) refers to main.o(i.Slave3_Sta_Query) for Slave3_Sta_Query - main.o(i.main) refers to main.o(i.Slave3_Matrix_Query) for Slave3_Matrix_Query - main.o(i.main) refers to main.o(i.RS485_Output) for RS485_Output + main.o(i.main) refers to main.o(i.Output_Hex_With_CRLF) for Output_Hex_With_CRLF + main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick + main.o(i.main) refers to main.o(i.Send_Command) for Send_Command + main.o(i.main) refers to main.o(i.Check_And_Process_Reply) for Check_And_Process_Reply main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay main.o(i.main) refers to main.o(.bss) for .bss main.o(i.main) refers to usart.o(.bss) for huart1 @@ -284,7 +257,6 @@ Section Cross References stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash.o(.bss) for pFlash system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.data) for .data system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.constdata) for .constdata - rt_memclr.o(.text) refers to rt_memclr_w.o(.text) for _memset_w __main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main @@ -393,9 +365,7 @@ Removing Unused input sections from the image. Removing main.o(.rev16_text), (4 bytes). Removing main.o(.revsh_text), (4 bytes). Removing main.o(.rrx_text), (6 bytes). - Removing main.o(i.HAL_UART_IdleCallback), (104 bytes). - Removing main.o(i.Process_Reply), (220 bytes). - Removing main.o(.data), (2 bytes). + Removing main.o(i.Output_Pure_Hex), (28 bytes). Removing gpio.o(.rev16_text), (4 bytes). Removing gpio.o(.revsh_text), (4 bytes). Removing gpio.o(.rrx_text), (6 bytes). @@ -406,6 +376,7 @@ Removing Unused input sections from the image. Removing usart.o(.revsh_text), (4 bytes). Removing usart.o(.rrx_text), (6 bytes). Removing usart.o(i.HAL_UART_MspDeInit), (124 bytes). + Removing usart.o(i.MX_USART3_UART_Init), (56 bytes). Removing stm32f1xx_it.o(.rev16_text), (4 bytes). Removing stm32f1xx_it.o(.revsh_text), (4 bytes). Removing stm32f1xx_it.o(.rrx_text), (6 bytes). @@ -605,7 +576,7 @@ Removing Unused input sections from the image. Removing system_stm32f1xx.o(.rrx_text), (6 bytes). Removing system_stm32f1xx.o(i.SystemCoreClockUpdate), (104 bytes). -214 unused section(s) (total 9794 bytes) removed from the image. +213 unused section(s) (total 9552 bytes) removed from the image. ============================================================================== @@ -634,54 +605,53 @@ Image Symbol Table ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c 0x00000000 Number 0 stm32f1xx_hal_rcc.o ABSOLUTE ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c 0x00000000 Number 0 stm32f1xx_hal_rcc_ex.o ABSOLUTE ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 0x00000000 Number 0 stm32f1xx_hal_uart.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE - ../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/longlong.s 0x00000000 Number 0 llushr.o ABSOLUTE - ../clib/memcpset.s 0x00000000 Number 0 rt_memclr.o ABSOLUTE ../clib/memcpset.s 0x00000000 Number 0 rt_memclr_w.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE ../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE @@ -754,117 +724,111 @@ Image Symbol Table .ARM.Collect$$rtexit$$00000003 0x0800017c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003) .ARM.Collect$$rtexit$$00000004 0x08000180 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004) .text 0x08000188 Section 64 startup_stm32f103xb.o(.text) - .text 0x080001c8 Section 68 rt_memclr.o(.text) - .text 0x0800020c Section 78 rt_memclr_w.o(.text) - .text 0x0800025a Section 0 heapauxi.o(.text) - .text 0x08000260 Section 74 sys_stackheap_outer.o(.text) - .text 0x080002aa Section 0 exit.o(.text) - .text 0x080002bc Section 8 libspace.o(.text) - .text 0x080002c4 Section 0 sys_exit.o(.text) - .text 0x080002d0 Section 2 use_no_semi.o(.text) - .text 0x080002d2 Section 0 indicate_semi.o(.text) - i.BusFault_Handler 0x080002d2 Section 0 stm32f1xx_it.o(i.BusFault_Handler) - i.Calculate_CRC16 0x080002d4 Section 0 main.o(i.Calculate_CRC16) - i.DMA1_Channel5_IRQHandler 0x08000308 Section 0 stm32f1xx_it.o(i.DMA1_Channel5_IRQHandler) - i.DMA_SetConfig 0x08000314 Section 0 stm32f1xx_hal_dma.o(i.DMA_SetConfig) - DMA_SetConfig 0x08000315 Thumb Code 42 stm32f1xx_hal_dma.o(i.DMA_SetConfig) - i.DebugMon_Handler 0x0800033e Section 0 stm32f1xx_it.o(i.DebugMon_Handler) - i.Error_Handler 0x08000340 Section 0 main.o(i.Error_Handler) - i.HAL_DMA_Abort 0x08000344 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) - i.HAL_DMA_Abort_IT 0x0800038c Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) - i.HAL_DMA_IRQHandler 0x08000424 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler) - i.HAL_DMA_Init 0x08000578 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Init) - i.HAL_DMA_Start_IT 0x080005d4 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) - i.HAL_Delay 0x08000644 Section 0 stm32f1xx_hal.o(i.HAL_Delay) - i.HAL_GPIO_Init 0x08000668 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) - i.HAL_GPIO_WritePin 0x08000848 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) - i.HAL_GetTick 0x08000854 Section 0 stm32f1xx_hal.o(i.HAL_GetTick) - i.HAL_IncTick 0x08000860 Section 0 stm32f1xx_hal.o(i.HAL_IncTick) - i.HAL_Init 0x08000870 Section 0 stm32f1xx_hal.o(i.HAL_Init) - i.HAL_InitTick 0x08000894 Section 0 stm32f1xx_hal.o(i.HAL_InitTick) - i.HAL_MspInit 0x080008d4 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit) - i.HAL_NVIC_EnableIRQ 0x08000910 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) - i.HAL_NVIC_SetPriority 0x0800092c Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) - i.HAL_NVIC_SetPriorityGrouping 0x0800096c Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) - i.HAL_RCC_CSSCallback 0x08000990 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback) - i.HAL_RCC_ClockConfig 0x08000994 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) - i.HAL_RCC_EnableCSS 0x08000ac0 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS) - i.HAL_RCC_GetPCLK1Freq 0x08000acc Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) - i.HAL_RCC_GetPCLK2Freq 0x08000aec Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) - i.HAL_RCC_GetSysClockFreq 0x08000b0c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) - i.HAL_RCC_NMI_IRQHandler 0x08000b58 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) - i.HAL_RCC_OscConfig 0x08000b70 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) - i.HAL_SYSTICK_Config 0x08000e90 Section 0 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) - i.HAL_UARTEx_RxEventCallback 0x08000eb8 Section 0 stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) - i.HAL_UART_ErrorCallback 0x08000eba Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) - i.HAL_UART_IRQHandler 0x08000ebc Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) - i.HAL_UART_Init 0x08001128 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init) - i.HAL_UART_MspInit 0x0800118c Section 0 usart.o(i.HAL_UART_MspInit) - i.HAL_UART_Receive_DMA 0x080012dc Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) - i.HAL_UART_RxCpltCallback 0x080012f8 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) - i.HAL_UART_RxHalfCpltCallback 0x080012fa Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) - i.HAL_UART_Transmit 0x080012fc Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) - i.HAL_UART_TxCpltCallback 0x0800139c Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) - i.HardFault_Handler 0x0800139e Section 0 stm32f1xx_it.o(i.HardFault_Handler) - i.MX_DMA_Init 0x080013a0 Section 0 dma.o(i.MX_DMA_Init) - i.MX_GPIO_Init 0x080013cc Section 0 gpio.o(i.MX_GPIO_Init) - i.MX_USART1_UART_Init 0x0800143c Section 0 usart.o(i.MX_USART1_UART_Init) - i.MX_USART2_UART_Init 0x08001474 Section 0 usart.o(i.MX_USART2_UART_Init) - i.MX_USART3_UART_Init 0x080014ac Section 0 usart.o(i.MX_USART3_UART_Init) - i.MemManage_Handler 0x080014e4 Section 0 stm32f1xx_it.o(i.MemManage_Handler) - i.NMI_Handler 0x080014e6 Section 0 stm32f1xx_it.o(i.NMI_Handler) - i.PendSV_Handler 0x080014ec Section 0 stm32f1xx_it.o(i.PendSV_Handler) - i.RS485_Output 0x080014f0 Section 0 main.o(i.RS485_Output) - i.SVC_Handler 0x08001560 Section 0 stm32f1xx_it.o(i.SVC_Handler) - i.Slave1_Matrix_Query 0x08001564 Section 0 main.o(i.Slave1_Matrix_Query) - i.Slave1_Sta_Query 0x08001598 Section 0 main.o(i.Slave1_Sta_Query) - i.Slave2_Matrix_Query 0x080015c8 Section 0 main.o(i.Slave2_Matrix_Query) - i.Slave2_Sta_Query 0x080015f8 Section 0 main.o(i.Slave2_Sta_Query) - i.Slave3_Matrix_Query 0x08001628 Section 0 main.o(i.Slave3_Matrix_Query) - i.Slave3_Sta_Query 0x08001658 Section 0 main.o(i.Slave3_Sta_Query) - i.SysTick_Handler 0x08001698 Section 0 stm32f1xx_it.o(i.SysTick_Handler) - i.SystemClock_Config 0x0800169c Section 0 main.o(i.SystemClock_Config) - i.SystemInit 0x080016fc Section 0 system_stm32f1xx.o(i.SystemInit) - i.UART_DMAAbortOnError 0x080016fe Section 0 stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) - UART_DMAAbortOnError 0x080016ff Thumb Code 16 stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) - i.UART_DMAError 0x0800170e Section 0 stm32f1xx_hal_uart.o(i.UART_DMAError) - UART_DMAError 0x0800170f Thumb Code 74 stm32f1xx_hal_uart.o(i.UART_DMAError) - i.UART_DMAReceiveCplt 0x08001758 Section 0 stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) - UART_DMAReceiveCplt 0x08001759 Thumb Code 134 stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) - i.UART_DMARxHalfCplt 0x080017de Section 0 stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) - UART_DMARxHalfCplt 0x080017df Thumb Code 30 stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) - i.UART_EndRxTransfer 0x080017fc Section 0 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) - UART_EndRxTransfer 0x080017fd Thumb Code 78 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) - i.UART_EndTxTransfer 0x0800184a Section 0 stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) - UART_EndTxTransfer 0x0800184b Thumb Code 28 stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) - i.UART_Receive_IT 0x08001866 Section 0 stm32f1xx_hal_uart.o(i.UART_Receive_IT) - UART_Receive_IT 0x08001867 Thumb Code 194 stm32f1xx_hal_uart.o(i.UART_Receive_IT) - i.UART_SetConfig 0x08001928 Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig) - UART_SetConfig 0x08001929 Thumb Code 178 stm32f1xx_hal_uart.o(i.UART_SetConfig) - i.UART_Start_Receive_DMA 0x080019e0 Section 0 stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) - i.UART_WaitOnFlagUntilTimeout 0x08001a70 Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) - UART_WaitOnFlagUntilTimeout 0x08001a71 Thumb Code 114 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) - i.USART1_IRQHandler 0x08001ae4 Section 0 stm32f1xx_it.o(i.USART1_IRQHandler) - i.UsageFault_Handler 0x08001af0 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) - i.__NVIC_SetPriority 0x08001af2 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - __NVIC_SetPriority 0x08001af3 Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - i.main 0x08001b14 Section 0 main.o(i.main) - .constdata 0x08001bb0 Section 18 stm32f1xx_hal_rcc.o(.constdata) - aPredivFactorTable 0x08001bb0 Data 2 stm32f1xx_hal_rcc.o(.constdata) - aPLLMULFactorTable 0x08001bb2 Data 16 stm32f1xx_hal_rcc.o(.constdata) - .constdata 0x08001bc2 Section 16 system_stm32f1xx.o(.constdata) - .constdata 0x08001bd2 Section 8 system_stm32f1xx.o(.constdata) - .data 0x20000000 Section 32 main.o(.data) - .data 0x20000020 Section 12 stm32f1xx_hal.o(.data) - .data 0x2000002c Section 4 system_stm32f1xx.o(.data) - .bss 0x20000030 Section 268 main.o(.bss) - .bss 0x2000013c Section 284 usart.o(.bss) - .bss 0x20000258 Section 96 libspace.o(.bss) - HEAP 0x200002b8 Section 512 startup_stm32f103xb.o(HEAP) - Heap_Mem 0x200002b8 Data 512 startup_stm32f103xb.o(HEAP) - STACK 0x200004b8 Section 1024 startup_stm32f103xb.o(STACK) - Stack_Mem 0x200004b8 Data 1024 startup_stm32f103xb.o(STACK) - __initial_sp 0x200008b8 Data 0 startup_stm32f103xb.o(STACK) + .text 0x080001c8 Section 78 rt_memclr_w.o(.text) + .text 0x08000216 Section 0 heapauxi.o(.text) + .text 0x0800021c Section 74 sys_stackheap_outer.o(.text) + .text 0x08000266 Section 0 exit.o(.text) + .text 0x08000278 Section 8 libspace.o(.text) + .text 0x08000280 Section 0 sys_exit.o(.text) + .text 0x0800028c Section 2 use_no_semi.o(.text) + .text 0x0800028e Section 0 indicate_semi.o(.text) + i.BusFault_Handler 0x0800028e Section 0 stm32f1xx_it.o(i.BusFault_Handler) + i.Check_And_Process_Reply 0x08000290 Section 0 main.o(i.Check_And_Process_Reply) + i.DMA1_Channel5_IRQHandler 0x0800032c Section 0 stm32f1xx_it.o(i.DMA1_Channel5_IRQHandler) + i.DMA_SetConfig 0x08000338 Section 0 stm32f1xx_hal_dma.o(i.DMA_SetConfig) + DMA_SetConfig 0x08000339 Thumb Code 42 stm32f1xx_hal_dma.o(i.DMA_SetConfig) + i.DebugMon_Handler 0x08000362 Section 0 stm32f1xx_it.o(i.DebugMon_Handler) + i.Error_Handler 0x08000364 Section 0 main.o(i.Error_Handler) + i.HAL_DMA_Abort 0x08000368 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) + i.HAL_DMA_Abort_IT 0x080003b0 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) + i.HAL_DMA_IRQHandler 0x08000448 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler) + i.HAL_DMA_Init 0x0800059c Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Init) + i.HAL_DMA_Start_IT 0x080005f8 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) + i.HAL_Delay 0x08000668 Section 0 stm32f1xx_hal.o(i.HAL_Delay) + i.HAL_GPIO_Init 0x0800068c Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) + i.HAL_GPIO_WritePin 0x0800086c Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) + i.HAL_GetTick 0x08000878 Section 0 stm32f1xx_hal.o(i.HAL_GetTick) + i.HAL_IncTick 0x08000884 Section 0 stm32f1xx_hal.o(i.HAL_IncTick) + i.HAL_Init 0x08000894 Section 0 stm32f1xx_hal.o(i.HAL_Init) + i.HAL_InitTick 0x080008b8 Section 0 stm32f1xx_hal.o(i.HAL_InitTick) + i.HAL_MspInit 0x080008f8 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit) + i.HAL_NVIC_EnableIRQ 0x08000934 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) + i.HAL_NVIC_SetPriority 0x08000950 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) + i.HAL_NVIC_SetPriorityGrouping 0x08000990 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) + i.HAL_RCC_CSSCallback 0x080009b4 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback) + i.HAL_RCC_ClockConfig 0x080009b8 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) + i.HAL_RCC_EnableCSS 0x08000ae4 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS) + i.HAL_RCC_GetPCLK1Freq 0x08000af0 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) + i.HAL_RCC_GetPCLK2Freq 0x08000b10 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) + i.HAL_RCC_GetSysClockFreq 0x08000b30 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) + i.HAL_RCC_NMI_IRQHandler 0x08000b7c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) + i.HAL_RCC_OscConfig 0x08000b94 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) + i.HAL_SYSTICK_Config 0x08000eb4 Section 0 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) + i.HAL_UARTEx_RxEventCallback 0x08000edc Section 0 stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) + i.HAL_UART_ErrorCallback 0x08000ede Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) + i.HAL_UART_IRQHandler 0x08000ee0 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) + i.HAL_UART_Init 0x0800114c Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init) + i.HAL_UART_MspInit 0x080011b0 Section 0 usart.o(i.HAL_UART_MspInit) + i.HAL_UART_Receive_DMA 0x08001300 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) + i.HAL_UART_RxCpltCallback 0x0800131c Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) + i.HAL_UART_RxHalfCpltCallback 0x0800131e Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) + i.HAL_UART_Transmit 0x08001320 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) + i.HAL_UART_TxCpltCallback 0x080013c0 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) + i.HardFault_Handler 0x080013c2 Section 0 stm32f1xx_it.o(i.HardFault_Handler) + i.MX_DMA_Init 0x080013c4 Section 0 dma.o(i.MX_DMA_Init) + i.MX_GPIO_Init 0x080013f0 Section 0 gpio.o(i.MX_GPIO_Init) + i.MX_USART1_UART_Init 0x08001460 Section 0 usart.o(i.MX_USART1_UART_Init) + i.MX_USART2_UART_Init 0x08001498 Section 0 usart.o(i.MX_USART2_UART_Init) + i.MemManage_Handler 0x080014d0 Section 0 stm32f1xx_it.o(i.MemManage_Handler) + i.NMI_Handler 0x080014d2 Section 0 stm32f1xx_it.o(i.NMI_Handler) + i.Output_Hex_With_CRLF 0x080014d8 Section 0 main.o(i.Output_Hex_With_CRLF) + i.PendSV_Handler 0x08001508 Section 0 stm32f1xx_it.o(i.PendSV_Handler) + i.SVC_Handler 0x0800150a Section 0 stm32f1xx_it.o(i.SVC_Handler) + i.Send_Command 0x0800150c Section 0 main.o(i.Send_Command) + i.SysTick_Handler 0x08001590 Section 0 stm32f1xx_it.o(i.SysTick_Handler) + i.SystemClock_Config 0x08001594 Section 0 main.o(i.SystemClock_Config) + i.SystemInit 0x080015f4 Section 0 system_stm32f1xx.o(i.SystemInit) + i.UART_DMAAbortOnError 0x080015f6 Section 0 stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) + UART_DMAAbortOnError 0x080015f7 Thumb Code 16 stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) + i.UART_DMAError 0x08001606 Section 0 stm32f1xx_hal_uart.o(i.UART_DMAError) + UART_DMAError 0x08001607 Thumb Code 74 stm32f1xx_hal_uart.o(i.UART_DMAError) + i.UART_DMAReceiveCplt 0x08001650 Section 0 stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) + UART_DMAReceiveCplt 0x08001651 Thumb Code 134 stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) + i.UART_DMARxHalfCplt 0x080016d6 Section 0 stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) + UART_DMARxHalfCplt 0x080016d7 Thumb Code 30 stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) + i.UART_EndRxTransfer 0x080016f4 Section 0 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) + UART_EndRxTransfer 0x080016f5 Thumb Code 78 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) + i.UART_EndTxTransfer 0x08001742 Section 0 stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) + UART_EndTxTransfer 0x08001743 Thumb Code 28 stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) + i.UART_Receive_IT 0x0800175e Section 0 stm32f1xx_hal_uart.o(i.UART_Receive_IT) + UART_Receive_IT 0x0800175f Thumb Code 194 stm32f1xx_hal_uart.o(i.UART_Receive_IT) + i.UART_SetConfig 0x08001820 Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig) + UART_SetConfig 0x08001821 Thumb Code 178 stm32f1xx_hal_uart.o(i.UART_SetConfig) + i.UART_Start_Receive_DMA 0x080018d8 Section 0 stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) + i.UART_WaitOnFlagUntilTimeout 0x08001968 Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) + UART_WaitOnFlagUntilTimeout 0x08001969 Thumb Code 114 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) + i.USART1_IRQHandler 0x080019dc Section 0 stm32f1xx_it.o(i.USART1_IRQHandler) + i.UsageFault_Handler 0x080019e8 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) + i.__NVIC_SetPriority 0x080019ea Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + __NVIC_SetPriority 0x080019eb Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + i.main 0x08001a0c Section 0 main.o(i.main) + .constdata 0x08001a88 Section 8 main.o(.constdata) + .constdata 0x08001a90 Section 18 stm32f1xx_hal_rcc.o(.constdata) + aPredivFactorTable 0x08001a90 Data 2 stm32f1xx_hal_rcc.o(.constdata) + aPLLMULFactorTable 0x08001a92 Data 16 stm32f1xx_hal_rcc.o(.constdata) + .constdata 0x08001aa2 Section 16 system_stm32f1xx.o(.constdata) + .constdata 0x08001ab2 Section 8 system_stm32f1xx.o(.constdata) + .data 0x20000000 Section 8 main.o(.data) + .data 0x20000008 Section 12 stm32f1xx_hal.o(.data) + .data 0x20000014 Section 4 system_stm32f1xx.o(.data) + .bss 0x20000018 Section 76 main.o(.bss) + .bss 0x20000064 Section 284 usart.o(.bss) + .bss 0x20000180 Section 96 libspace.o(.bss) + HEAP 0x200001e0 Section 512 startup_stm32f103xb.o(HEAP) + Heap_Mem 0x200001e0 Data 512 startup_stm32f103xb.o(HEAP) + STACK 0x200003e0 Section 1024 startup_stm32f103xb.o(STACK) + Stack_Mem 0x200003e0 Data 1024 startup_stm32f103xb.o(STACK) + __initial_sp 0x200007e0 Data 0 startup_stm32f103xb.o(STACK) Global Symbols @@ -996,111 +960,100 @@ Image Symbol Table USB_LP_CAN1_RX0_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f103xb.o(.text) WWDG_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f103xb.o(.text) __user_initial_stackheap 0x080001a5 Thumb Code 0 startup_stm32f103xb.o(.text) - __aeabi_memclr 0x080001c9 Thumb Code 0 rt_memclr.o(.text) - __rt_memclr 0x080001c9 Thumb Code 68 rt_memclr.o(.text) - _memset 0x080001cd Thumb Code 0 rt_memclr.o(.text) - __aeabi_memclr4 0x0800020d Thumb Code 0 rt_memclr_w.o(.text) - __aeabi_memclr8 0x0800020d Thumb Code 0 rt_memclr_w.o(.text) - __rt_memclr_w 0x0800020d Thumb Code 78 rt_memclr_w.o(.text) - _memset_w 0x08000211 Thumb Code 0 rt_memclr_w.o(.text) - __use_two_region_memory 0x0800025b Thumb Code 2 heapauxi.o(.text) - __rt_heap_escrow$2region 0x0800025d Thumb Code 2 heapauxi.o(.text) - __rt_heap_expand$2region 0x0800025f Thumb Code 2 heapauxi.o(.text) - __user_setup_stackheap 0x08000261 Thumb Code 74 sys_stackheap_outer.o(.text) - exit 0x080002ab Thumb Code 18 exit.o(.text) - __user_libspace 0x080002bd Thumb Code 8 libspace.o(.text) - __user_perproc_libspace 0x080002bd Thumb Code 0 libspace.o(.text) - __user_perthread_libspace 0x080002bd Thumb Code 0 libspace.o(.text) - _sys_exit 0x080002c5 Thumb Code 8 sys_exit.o(.text) - __I$use$semihosting 0x080002d1 Thumb Code 0 use_no_semi.o(.text) - __use_no_semihosting_swi 0x080002d1 Thumb Code 2 use_no_semi.o(.text) - BusFault_Handler 0x080002d3 Thumb Code 2 stm32f1xx_it.o(i.BusFault_Handler) - __semihosting_library_function 0x080002d3 Thumb Code 0 indicate_semi.o(.text) - Calculate_CRC16 0x080002d5 Thumb Code 52 main.o(i.Calculate_CRC16) - DMA1_Channel5_IRQHandler 0x08000309 Thumb Code 6 stm32f1xx_it.o(i.DMA1_Channel5_IRQHandler) - DebugMon_Handler 0x0800033f Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler) - Error_Handler 0x08000341 Thumb Code 4 main.o(i.Error_Handler) - HAL_DMA_Abort 0x08000345 Thumb Code 70 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) - HAL_DMA_Abort_IT 0x0800038d Thumb Code 148 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) - HAL_DMA_IRQHandler 0x08000425 Thumb Code 316 stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler) - HAL_DMA_Init 0x08000579 Thumb Code 84 stm32f1xx_hal_dma.o(i.HAL_DMA_Init) - HAL_DMA_Start_IT 0x080005d5 Thumb Code 112 stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) - HAL_Delay 0x08000645 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Delay) - HAL_GPIO_Init 0x08000669 Thumb Code 446 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) - HAL_GPIO_WritePin 0x08000849 Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) - HAL_GetTick 0x08000855 Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick) - HAL_IncTick 0x08000861 Thumb Code 12 stm32f1xx_hal.o(i.HAL_IncTick) - HAL_Init 0x08000871 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Init) - HAL_InitTick 0x08000895 Thumb Code 54 stm32f1xx_hal.o(i.HAL_InitTick) - HAL_MspInit 0x080008d5 Thumb Code 52 stm32f1xx_hal_msp.o(i.HAL_MspInit) - HAL_NVIC_EnableIRQ 0x08000911 Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) - HAL_NVIC_SetPriority 0x0800092d Thumb Code 60 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) - HAL_NVIC_SetPriorityGrouping 0x0800096d Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) - HAL_RCC_CSSCallback 0x08000991 Thumb Code 2 stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback) - HAL_RCC_ClockConfig 0x08000995 Thumb Code 280 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) - HAL_RCC_EnableCSS 0x08000ac1 Thumb Code 8 stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS) - HAL_RCC_GetPCLK1Freq 0x08000acd Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) - HAL_RCC_GetPCLK2Freq 0x08000aed Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) - HAL_RCC_GetSysClockFreq 0x08000b0d Thumb Code 58 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) - HAL_RCC_NMI_IRQHandler 0x08000b59 Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) - HAL_RCC_OscConfig 0x08000b71 Thumb Code 778 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) - HAL_SYSTICK_Config 0x08000e91 Thumb Code 40 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) - HAL_UARTEx_RxEventCallback 0x08000eb9 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) - HAL_UART_ErrorCallback 0x08000ebb Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) - HAL_UART_IRQHandler 0x08000ebd Thumb Code 616 stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) - HAL_UART_Init 0x08001129 Thumb Code 100 stm32f1xx_hal_uart.o(i.HAL_UART_Init) - HAL_UART_MspInit 0x0800118d Thumb Code 302 usart.o(i.HAL_UART_MspInit) - HAL_UART_Receive_DMA 0x080012dd Thumb Code 28 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) - HAL_UART_RxCpltCallback 0x080012f9 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) - HAL_UART_RxHalfCpltCallback 0x080012fb Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) - HAL_UART_Transmit 0x080012fd Thumb Code 160 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) - HAL_UART_TxCpltCallback 0x0800139d Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) - HardFault_Handler 0x0800139f Thumb Code 2 stm32f1xx_it.o(i.HardFault_Handler) - MX_DMA_Init 0x080013a1 Thumb Code 40 dma.o(i.MX_DMA_Init) - MX_GPIO_Init 0x080013cd Thumb Code 102 gpio.o(i.MX_GPIO_Init) - MX_USART1_UART_Init 0x0800143d Thumb Code 48 usart.o(i.MX_USART1_UART_Init) - MX_USART2_UART_Init 0x08001475 Thumb Code 48 usart.o(i.MX_USART2_UART_Init) - MX_USART3_UART_Init 0x080014ad Thumb Code 48 usart.o(i.MX_USART3_UART_Init) - MemManage_Handler 0x080014e5 Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler) - NMI_Handler 0x080014e7 Thumb Code 6 stm32f1xx_it.o(i.NMI_Handler) - PendSV_Handler 0x080014ed Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler) - RS485_Output 0x080014f1 Thumb Code 100 main.o(i.RS485_Output) - SVC_Handler 0x08001561 Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler) - Slave1_Matrix_Query 0x08001565 Thumb Code 42 main.o(i.Slave1_Matrix_Query) - Slave1_Sta_Query 0x08001599 Thumb Code 40 main.o(i.Slave1_Sta_Query) - Slave2_Matrix_Query 0x080015c9 Thumb Code 40 main.o(i.Slave2_Matrix_Query) - Slave2_Sta_Query 0x080015f9 Thumb Code 40 main.o(i.Slave2_Sta_Query) - Slave3_Matrix_Query 0x08001629 Thumb Code 40 main.o(i.Slave3_Matrix_Query) - Slave3_Sta_Query 0x08001659 Thumb Code 52 main.o(i.Slave3_Sta_Query) - SysTick_Handler 0x08001699 Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler) - SystemClock_Config 0x0800169d Thumb Code 96 main.o(i.SystemClock_Config) - SystemInit 0x080016fd Thumb Code 2 system_stm32f1xx.o(i.SystemInit) - UART_Start_Receive_DMA 0x080019e1 Thumb Code 130 stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) - USART1_IRQHandler 0x08001ae5 Thumb Code 6 stm32f1xx_it.o(i.USART1_IRQHandler) - UsageFault_Handler 0x08001af1 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) - main 0x08001b15 Thumb Code 144 main.o(i.main) - AHBPrescTable 0x08001bc2 Data 16 system_stm32f1xx.o(.constdata) - APBPrescTable 0x08001bd2 Data 8 system_stm32f1xx.o(.constdata) - Region$$Table$$Base 0x08001bdc Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08001bfc Number 0 anon$$obj.o(Region$$Table) - current_task_index 0x20000000 Data 1 main.o(.data) - expecting_response_from 0x20000001 Data 1 main.o(.data) - query_state 0x20000002 Data 3 main.o(.data) - slaves 0x20000005 Data 27 main.o(.data) - uwTickFreq 0x20000020 Data 1 stm32f1xx_hal.o(.data) - uwTickPrio 0x20000024 Data 4 stm32f1xx_hal.o(.data) - uwTick 0x20000028 Data 4 stm32f1xx_hal.o(.data) - SystemCoreClock 0x2000002c Data 4 system_stm32f1xx.o(.data) - global_matrix 0x20000030 Data 90 main.o(.bss) - tx_buffer 0x2000008a Data 16 main.o(.bss) - rx_buffer 0x2000009a Data 64 main.o(.bss) - output_frame 0x200000da Data 98 main.o(.bss) - huart1 0x2000013c Data 72 usart.o(.bss) - huart2 0x20000184 Data 72 usart.o(.bss) - huart3 0x200001cc Data 72 usart.o(.bss) - hdma_usart1_rx 0x20000214 Data 68 usart.o(.bss) - __libspace_start 0x20000258 Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x200002b8 Data 0 libspace.o(.bss) + __aeabi_memclr4 0x080001c9 Thumb Code 0 rt_memclr_w.o(.text) + __aeabi_memclr8 0x080001c9 Thumb Code 0 rt_memclr_w.o(.text) + __rt_memclr_w 0x080001c9 Thumb Code 78 rt_memclr_w.o(.text) + _memset_w 0x080001cd Thumb Code 0 rt_memclr_w.o(.text) + __use_two_region_memory 0x08000217 Thumb Code 2 heapauxi.o(.text) + __rt_heap_escrow$2region 0x08000219 Thumb Code 2 heapauxi.o(.text) + __rt_heap_expand$2region 0x0800021b Thumb Code 2 heapauxi.o(.text) + __user_setup_stackheap 0x0800021d Thumb Code 74 sys_stackheap_outer.o(.text) + exit 0x08000267 Thumb Code 18 exit.o(.text) + __user_libspace 0x08000279 Thumb Code 8 libspace.o(.text) + __user_perproc_libspace 0x08000279 Thumb Code 0 libspace.o(.text) + __user_perthread_libspace 0x08000279 Thumb Code 0 libspace.o(.text) + _sys_exit 0x08000281 Thumb Code 8 sys_exit.o(.text) + __I$use$semihosting 0x0800028d Thumb Code 0 use_no_semi.o(.text) + __use_no_semihosting_swi 0x0800028d Thumb Code 2 use_no_semi.o(.text) + BusFault_Handler 0x0800028f Thumb Code 2 stm32f1xx_it.o(i.BusFault_Handler) + __semihosting_library_function 0x0800028f Thumb Code 0 indicate_semi.o(.text) + Check_And_Process_Reply 0x08000291 Thumb Code 142 main.o(i.Check_And_Process_Reply) + DMA1_Channel5_IRQHandler 0x0800032d Thumb Code 6 stm32f1xx_it.o(i.DMA1_Channel5_IRQHandler) + DebugMon_Handler 0x08000363 Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler) + Error_Handler 0x08000365 Thumb Code 4 main.o(i.Error_Handler) + HAL_DMA_Abort 0x08000369 Thumb Code 70 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) + HAL_DMA_Abort_IT 0x080003b1 Thumb Code 148 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) + HAL_DMA_IRQHandler 0x08000449 Thumb Code 316 stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler) + HAL_DMA_Init 0x0800059d Thumb Code 84 stm32f1xx_hal_dma.o(i.HAL_DMA_Init) + HAL_DMA_Start_IT 0x080005f9 Thumb Code 112 stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) + HAL_Delay 0x08000669 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Delay) + HAL_GPIO_Init 0x0800068d Thumb Code 446 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) + HAL_GPIO_WritePin 0x0800086d Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) + HAL_GetTick 0x08000879 Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick) + HAL_IncTick 0x08000885 Thumb Code 12 stm32f1xx_hal.o(i.HAL_IncTick) + HAL_Init 0x08000895 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Init) + HAL_InitTick 0x080008b9 Thumb Code 54 stm32f1xx_hal.o(i.HAL_InitTick) + HAL_MspInit 0x080008f9 Thumb Code 52 stm32f1xx_hal_msp.o(i.HAL_MspInit) + HAL_NVIC_EnableIRQ 0x08000935 Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) + HAL_NVIC_SetPriority 0x08000951 Thumb Code 60 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) + HAL_NVIC_SetPriorityGrouping 0x08000991 Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) + HAL_RCC_CSSCallback 0x080009b5 Thumb Code 2 stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback) + HAL_RCC_ClockConfig 0x080009b9 Thumb Code 280 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) + HAL_RCC_EnableCSS 0x08000ae5 Thumb Code 8 stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS) + HAL_RCC_GetPCLK1Freq 0x08000af1 Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) + HAL_RCC_GetPCLK2Freq 0x08000b11 Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) + HAL_RCC_GetSysClockFreq 0x08000b31 Thumb Code 58 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) + HAL_RCC_NMI_IRQHandler 0x08000b7d Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) + HAL_RCC_OscConfig 0x08000b95 Thumb Code 778 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) + HAL_SYSTICK_Config 0x08000eb5 Thumb Code 40 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) + HAL_UARTEx_RxEventCallback 0x08000edd Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) + HAL_UART_ErrorCallback 0x08000edf Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) + HAL_UART_IRQHandler 0x08000ee1 Thumb Code 616 stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) + HAL_UART_Init 0x0800114d Thumb Code 100 stm32f1xx_hal_uart.o(i.HAL_UART_Init) + HAL_UART_MspInit 0x080011b1 Thumb Code 302 usart.o(i.HAL_UART_MspInit) + HAL_UART_Receive_DMA 0x08001301 Thumb Code 28 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) + HAL_UART_RxCpltCallback 0x0800131d Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) + HAL_UART_RxHalfCpltCallback 0x0800131f Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) + HAL_UART_Transmit 0x08001321 Thumb Code 160 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) + HAL_UART_TxCpltCallback 0x080013c1 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) + HardFault_Handler 0x080013c3 Thumb Code 2 stm32f1xx_it.o(i.HardFault_Handler) + MX_DMA_Init 0x080013c5 Thumb Code 40 dma.o(i.MX_DMA_Init) + MX_GPIO_Init 0x080013f1 Thumb Code 102 gpio.o(i.MX_GPIO_Init) + MX_USART1_UART_Init 0x08001461 Thumb Code 48 usart.o(i.MX_USART1_UART_Init) + MX_USART2_UART_Init 0x08001499 Thumb Code 48 usart.o(i.MX_USART2_UART_Init) + MemManage_Handler 0x080014d1 Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler) + NMI_Handler 0x080014d3 Thumb Code 6 stm32f1xx_it.o(i.NMI_Handler) + Output_Hex_With_CRLF 0x080014d9 Thumb Code 38 main.o(i.Output_Hex_With_CRLF) + PendSV_Handler 0x08001509 Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler) + SVC_Handler 0x0800150b Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler) + Send_Command 0x0800150d Thumb Code 116 main.o(i.Send_Command) + SysTick_Handler 0x08001591 Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler) + SystemClock_Config 0x08001595 Thumb Code 96 main.o(i.SystemClock_Config) + SystemInit 0x080015f5 Thumb Code 2 system_stm32f1xx.o(i.SystemInit) + UART_Start_Receive_DMA 0x080018d9 Thumb Code 130 stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) + USART1_IRQHandler 0x080019dd Thumb Code 6 stm32f1xx_it.o(i.USART1_IRQHandler) + UsageFault_Handler 0x080019e9 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) + main 0x08001a0d Thumb Code 106 main.o(i.main) + status_cmd 0x08001a88 Data 4 main.o(.constdata) + matrix_cmd 0x08001a8c Data 4 main.o(.constdata) + AHBPrescTable 0x08001aa2 Data 16 system_stm32f1xx.o(.constdata) + APBPrescTable 0x08001ab2 Data 8 system_stm32f1xx.o(.constdata) + Region$$Table$$Base 0x08001abc Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08001adc Number 0 anon$$obj.o(Region$$Table) + current_cmd 0x20000000 Data 1 main.o(.data) + last_send_time 0x20000004 Data 4 main.o(.data) + uwTickFreq 0x20000008 Data 1 stm32f1xx_hal.o(.data) + uwTickPrio 0x2000000c Data 4 stm32f1xx_hal.o(.data) + uwTick 0x20000010 Data 4 stm32f1xx_hal.o(.data) + SystemCoreClock 0x20000014 Data 4 system_stm32f1xx.o(.data) + rx_state 0x20000018 Data 12 main.o(.bss) + rx_buffer 0x20000024 Data 64 main.o(.bss) + huart1 0x20000064 Data 72 usart.o(.bss) + huart2 0x200000ac Data 72 usart.o(.bss) + huart3 0x200000f4 Data 72 usart.o(.bss) + hdma_usart1_rx 0x2000013c Data 68 usart.o(.bss) + __libspace_start 0x20000180 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x200001e0 Data 0 libspace.o(.bss) @@ -1110,173 +1063,165 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001c2c, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001af4, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001bfc, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001adc, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x08000000 0x08000000 0x000000ec Data RO 3 RESET startup_stm32f103xb.o - 0x080000ec 0x080000ec 0x00000008 Code RO 1848 * !!!main c_w.l(__main.o) - 0x080000f4 0x080000f4 0x00000034 Code RO 2007 !!!scatter c_w.l(__scatter.o) - 0x08000128 0x08000128 0x0000001a Code RO 2009 !!handler_copy c_w.l(__scatter_copy.o) + 0x080000ec 0x080000ec 0x00000008 Code RO 1805 * !!!main c_w.l(__main.o) + 0x080000f4 0x080000f4 0x00000034 Code RO 1964 !!!scatter c_w.l(__scatter.o) + 0x08000128 0x08000128 0x0000001a Code RO 1966 !!handler_copy c_w.l(__scatter_copy.o) 0x08000142 0x08000142 0x00000002 PAD - 0x08000144 0x08000144 0x0000001c Code RO 2011 !!handler_zi c_w.l(__scatter_zi.o) - 0x08000160 0x08000160 0x00000002 Code RO 1875 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x08000162 0x08000162 0x00000000 Code RO 1882 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1884 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1887 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1889 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1891 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1894 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1896 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1898 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1900 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1902 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1904 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1906 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1908 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1910 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1912 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1914 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1918 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1920 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1922 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1924 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000002 Code RO 1925 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) - 0x08000164 0x08000164 0x00000002 Code RO 1945 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000166 0x08000166 0x00000000 Code RO 1958 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1960 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1962 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1965 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1968 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1970 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1973 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000002 Code RO 1974 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) - 0x08000168 0x08000168 0x00000000 Code RO 1850 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000168 0x08000168 0x00000000 Code RO 1852 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000168 0x08000168 0x00000006 Code RO 1864 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x0800016e 0x0800016e 0x00000000 Code RO 1854 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x0800016e 0x0800016e 0x00000004 Code RO 1855 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000000 Code RO 1857 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000008 Code RO 1858 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x0800017a 0x0800017a 0x00000002 Code RO 1879 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x0800017c 0x0800017c 0x00000000 Code RO 1927 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x0800017c 0x0800017c 0x00000004 Code RO 1928 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000180 0x08000180 0x00000006 Code RO 1929 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000144 0x08000144 0x0000001c Code RO 1968 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000160 0x08000160 0x00000002 Code RO 1832 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x08000162 0x08000162 0x00000000 Code RO 1839 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1841 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1844 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1846 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1848 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1851 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1853 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1855 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1857 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1859 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1861 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1863 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1865 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1867 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1869 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1871 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1875 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1877 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1879 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1881 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000002 Code RO 1882 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x08000164 0x08000164 0x00000002 Code RO 1902 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000166 0x08000166 0x00000000 Code RO 1915 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1917 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1919 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1922 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1925 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1927 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1930 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000002 Code RO 1931 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) + 0x08000168 0x08000168 0x00000000 Code RO 1807 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000168 0x08000168 0x00000000 Code RO 1809 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000168 0x08000168 0x00000006 Code RO 1821 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800016e 0x0800016e 0x00000000 Code RO 1811 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800016e 0x0800016e 0x00000004 Code RO 1812 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000000 Code RO 1814 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000008 Code RO 1815 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800017a 0x0800017a 0x00000002 Code RO 1836 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800017c 0x0800017c 0x00000000 Code RO 1884 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800017c 0x0800017c 0x00000004 Code RO 1885 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000180 0x08000180 0x00000006 Code RO 1886 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000186 0x08000186 0x00000002 PAD 0x08000188 0x08000188 0x00000040 Code RO 4 .text startup_stm32f103xb.o - 0x080001c8 0x080001c8 0x00000044 Code RO 1842 .text c_w.l(rt_memclr.o) - 0x0800020c 0x0800020c 0x0000004e Code RO 1844 .text c_w.l(rt_memclr_w.o) - 0x0800025a 0x0800025a 0x00000006 Code RO 1846 .text c_w.l(heapauxi.o) - 0x08000260 0x08000260 0x0000004a Code RO 1866 .text c_w.l(sys_stackheap_outer.o) - 0x080002aa 0x080002aa 0x00000012 Code RO 1868 .text c_w.l(exit.o) - 0x080002bc 0x080002bc 0x00000008 Code RO 1876 .text c_w.l(libspace.o) - 0x080002c4 0x080002c4 0x0000000c Code RO 1937 .text c_w.l(sys_exit.o) - 0x080002d0 0x080002d0 0x00000002 Code RO 1948 .text c_w.l(use_no_semi.o) - 0x080002d2 0x080002d2 0x00000000 Code RO 1950 .text c_w.l(indicate_semi.o) - 0x080002d2 0x080002d2 0x00000002 Code RO 315 i.BusFault_Handler stm32f1xx_it.o - 0x080002d4 0x080002d4 0x00000034 Code RO 13 i.Calculate_CRC16 main.o - 0x08000308 0x08000308 0x0000000c Code RO 316 i.DMA1_Channel5_IRQHandler stm32f1xx_it.o - 0x08000314 0x08000314 0x0000002a Code RO 1206 i.DMA_SetConfig stm32f1xx_hal_dma.o - 0x0800033e 0x0800033e 0x00000002 Code RO 317 i.DebugMon_Handler stm32f1xx_it.o - 0x08000340 0x08000340 0x00000004 Code RO 14 i.Error_Handler main.o - 0x08000344 0x08000344 0x00000046 Code RO 1207 i.HAL_DMA_Abort stm32f1xx_hal_dma.o - 0x0800038a 0x0800038a 0x00000002 PAD - 0x0800038c 0x0800038c 0x00000098 Code RO 1208 i.HAL_DMA_Abort_IT stm32f1xx_hal_dma.o - 0x08000424 0x08000424 0x00000154 Code RO 1212 i.HAL_DMA_IRQHandler stm32f1xx_hal_dma.o - 0x08000578 0x08000578 0x0000005c Code RO 1213 i.HAL_DMA_Init stm32f1xx_hal_dma.o - 0x080005d4 0x080005d4 0x00000070 Code RO 1217 i.HAL_DMA_Start_IT stm32f1xx_hal_dma.o - 0x08000644 0x08000644 0x00000024 Code RO 833 i.HAL_Delay stm32f1xx_hal.o - 0x08000668 0x08000668 0x000001e0 Code RO 1143 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o - 0x08000848 0x08000848 0x0000000a Code RO 1147 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o - 0x08000852 0x08000852 0x00000002 PAD - 0x08000854 0x08000854 0x0000000c Code RO 837 i.HAL_GetTick stm32f1xx_hal.o - 0x08000860 0x08000860 0x00000010 Code RO 843 i.HAL_IncTick stm32f1xx_hal.o - 0x08000870 0x08000870 0x00000024 Code RO 844 i.HAL_Init stm32f1xx_hal.o - 0x08000894 0x08000894 0x00000040 Code RO 845 i.HAL_InitTick stm32f1xx_hal.o - 0x080008d4 0x080008d4 0x0000003c Code RO 403 i.HAL_MspInit stm32f1xx_hal_msp.o - 0x08000910 0x08000910 0x0000001a Code RO 1303 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o - 0x0800092a 0x0800092a 0x00000002 PAD - 0x0800092c 0x0800092c 0x00000040 Code RO 1309 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x0800096c 0x0800096c 0x00000024 Code RO 1310 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o - 0x08000990 0x08000990 0x00000002 Code RO 1000 i.HAL_RCC_CSSCallback stm32f1xx_hal_rcc.o - 0x08000992 0x08000992 0x00000002 PAD - 0x08000994 0x08000994 0x0000012c Code RO 1001 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o - 0x08000ac0 0x08000ac0 0x0000000c Code RO 1004 i.HAL_RCC_EnableCSS stm32f1xx_hal_rcc.o - 0x08000acc 0x08000acc 0x00000020 Code RO 1008 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o - 0x08000aec 0x08000aec 0x00000020 Code RO 1009 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o - 0x08000b0c 0x08000b0c 0x0000004c Code RO 1010 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o - 0x08000b58 0x08000b58 0x00000018 Code RO 1012 i.HAL_RCC_NMI_IRQHandler stm32f1xx_hal_rcc.o - 0x08000b70 0x08000b70 0x00000320 Code RO 1013 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o - 0x08000e90 0x08000e90 0x00000028 Code RO 1314 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o - 0x08000eb8 0x08000eb8 0x00000002 Code RO 475 i.HAL_UARTEx_RxEventCallback stm32f1xx_hal_uart.o - 0x08000eba 0x08000eba 0x00000002 Code RO 489 i.HAL_UART_ErrorCallback stm32f1xx_hal_uart.o - 0x08000ebc 0x08000ebc 0x0000026c Code RO 492 i.HAL_UART_IRQHandler stm32f1xx_hal_uart.o - 0x08001128 0x08001128 0x00000064 Code RO 493 i.HAL_UART_Init stm32f1xx_hal_uart.o - 0x0800118c 0x0800118c 0x00000150 Code RO 262 i.HAL_UART_MspInit usart.o - 0x080012dc 0x080012dc 0x0000001c Code RO 497 i.HAL_UART_Receive_DMA stm32f1xx_hal_uart.o - 0x080012f8 0x080012f8 0x00000002 Code RO 499 i.HAL_UART_RxCpltCallback stm32f1xx_hal_uart.o - 0x080012fa 0x080012fa 0x00000002 Code RO 500 i.HAL_UART_RxHalfCpltCallback stm32f1xx_hal_uart.o - 0x080012fc 0x080012fc 0x000000a0 Code RO 501 i.HAL_UART_Transmit stm32f1xx_hal_uart.o - 0x0800139c 0x0800139c 0x00000002 Code RO 504 i.HAL_UART_TxCpltCallback stm32f1xx_hal_uart.o - 0x0800139e 0x0800139e 0x00000002 Code RO 318 i.HardFault_Handler stm32f1xx_it.o - 0x080013a0 0x080013a0 0x0000002c Code RO 237 i.MX_DMA_Init dma.o - 0x080013cc 0x080013cc 0x00000070 Code RO 213 i.MX_GPIO_Init gpio.o - 0x0800143c 0x0800143c 0x00000038 Code RO 263 i.MX_USART1_UART_Init usart.o - 0x08001474 0x08001474 0x00000038 Code RO 264 i.MX_USART2_UART_Init usart.o - 0x080014ac 0x080014ac 0x00000038 Code RO 265 i.MX_USART3_UART_Init usart.o - 0x080014e4 0x080014e4 0x00000002 Code RO 319 i.MemManage_Handler stm32f1xx_it.o - 0x080014e6 0x080014e6 0x00000006 Code RO 320 i.NMI_Handler stm32f1xx_it.o - 0x080014ec 0x080014ec 0x00000002 Code RO 321 i.PendSV_Handler stm32f1xx_it.o - 0x080014ee 0x080014ee 0x00000002 PAD - 0x080014f0 0x080014f0 0x00000070 Code RO 17 i.RS485_Output main.o - 0x08001560 0x08001560 0x00000002 Code RO 322 i.SVC_Handler stm32f1xx_it.o - 0x08001562 0x08001562 0x00000002 PAD - 0x08001564 0x08001564 0x00000034 Code RO 18 i.Slave1_Matrix_Query main.o - 0x08001598 0x08001598 0x00000030 Code RO 19 i.Slave1_Sta_Query main.o - 0x080015c8 0x080015c8 0x00000030 Code RO 20 i.Slave2_Matrix_Query main.o - 0x080015f8 0x080015f8 0x00000030 Code RO 21 i.Slave2_Sta_Query main.o - 0x08001628 0x08001628 0x00000030 Code RO 22 i.Slave3_Matrix_Query main.o - 0x08001658 0x08001658 0x00000040 Code RO 23 i.Slave3_Sta_Query main.o - 0x08001698 0x08001698 0x00000004 Code RO 323 i.SysTick_Handler stm32f1xx_it.o - 0x0800169c 0x0800169c 0x00000060 Code RO 24 i.SystemClock_Config main.o - 0x080016fc 0x080016fc 0x00000002 Code RO 1804 i.SystemInit system_stm32f1xx.o - 0x080016fe 0x080016fe 0x00000010 Code RO 506 i.UART_DMAAbortOnError stm32f1xx_hal_uart.o - 0x0800170e 0x0800170e 0x0000004a Code RO 507 i.UART_DMAError stm32f1xx_hal_uart.o - 0x08001758 0x08001758 0x00000086 Code RO 508 i.UART_DMAReceiveCplt stm32f1xx_hal_uart.o - 0x080017de 0x080017de 0x0000001e Code RO 510 i.UART_DMARxHalfCplt stm32f1xx_hal_uart.o - 0x080017fc 0x080017fc 0x0000004e Code RO 516 i.UART_EndRxTransfer stm32f1xx_hal_uart.o - 0x0800184a 0x0800184a 0x0000001c Code RO 517 i.UART_EndTxTransfer stm32f1xx_hal_uart.o - 0x08001866 0x08001866 0x000000c2 Code RO 518 i.UART_Receive_IT stm32f1xx_hal_uart.o - 0x08001928 0x08001928 0x000000b8 Code RO 519 i.UART_SetConfig stm32f1xx_hal_uart.o - 0x080019e0 0x080019e0 0x00000090 Code RO 520 i.UART_Start_Receive_DMA stm32f1xx_hal_uart.o - 0x08001a70 0x08001a70 0x00000072 Code RO 522 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o - 0x08001ae2 0x08001ae2 0x00000002 PAD - 0x08001ae4 0x08001ae4 0x0000000c Code RO 324 i.USART1_IRQHandler stm32f1xx_it.o - 0x08001af0 0x08001af0 0x00000002 Code RO 325 i.UsageFault_Handler stm32f1xx_it.o - 0x08001af2 0x08001af2 0x00000020 Code RO 1316 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x08001b12 0x08001b12 0x00000002 PAD - 0x08001b14 0x08001b14 0x0000009c Code RO 25 i.main main.o - 0x08001bb0 0x08001bb0 0x00000012 Data RO 1014 .constdata stm32f1xx_hal_rcc.o - 0x08001bc2 0x08001bc2 0x00000010 Data RO 1805 .constdata system_stm32f1xx.o - 0x08001bd2 0x08001bd2 0x00000008 Data RO 1806 .constdata system_stm32f1xx.o - 0x08001bda 0x08001bda 0x00000002 PAD - 0x08001bdc 0x08001bdc 0x00000020 Data RO 2005 Region$$Table anon$$obj.o + 0x080001c8 0x080001c8 0x0000004e Code RO 1801 .text c_w.l(rt_memclr_w.o) + 0x08000216 0x08000216 0x00000006 Code RO 1803 .text c_w.l(heapauxi.o) + 0x0800021c 0x0800021c 0x0000004a Code RO 1823 .text c_w.l(sys_stackheap_outer.o) + 0x08000266 0x08000266 0x00000012 Code RO 1825 .text c_w.l(exit.o) + 0x08000278 0x08000278 0x00000008 Code RO 1833 .text c_w.l(libspace.o) + 0x08000280 0x08000280 0x0000000c Code RO 1894 .text c_w.l(sys_exit.o) + 0x0800028c 0x0800028c 0x00000002 Code RO 1905 .text c_w.l(use_no_semi.o) + 0x0800028e 0x0800028e 0x00000000 Code RO 1907 .text c_w.l(indicate_semi.o) + 0x0800028e 0x0800028e 0x00000002 Code RO 274 i.BusFault_Handler stm32f1xx_it.o + 0x08000290 0x08000290 0x0000009c Code RO 13 i.Check_And_Process_Reply main.o + 0x0800032c 0x0800032c 0x0000000c Code RO 275 i.DMA1_Channel5_IRQHandler stm32f1xx_it.o + 0x08000338 0x08000338 0x0000002a Code RO 1165 i.DMA_SetConfig stm32f1xx_hal_dma.o + 0x08000362 0x08000362 0x00000002 Code RO 276 i.DebugMon_Handler stm32f1xx_it.o + 0x08000364 0x08000364 0x00000004 Code RO 14 i.Error_Handler main.o + 0x08000368 0x08000368 0x00000046 Code RO 1166 i.HAL_DMA_Abort stm32f1xx_hal_dma.o + 0x080003ae 0x080003ae 0x00000002 PAD + 0x080003b0 0x080003b0 0x00000098 Code RO 1167 i.HAL_DMA_Abort_IT stm32f1xx_hal_dma.o + 0x08000448 0x08000448 0x00000154 Code RO 1171 i.HAL_DMA_IRQHandler stm32f1xx_hal_dma.o + 0x0800059c 0x0800059c 0x0000005c Code RO 1172 i.HAL_DMA_Init stm32f1xx_hal_dma.o + 0x080005f8 0x080005f8 0x00000070 Code RO 1176 i.HAL_DMA_Start_IT stm32f1xx_hal_dma.o + 0x08000668 0x08000668 0x00000024 Code RO 792 i.HAL_Delay stm32f1xx_hal.o + 0x0800068c 0x0800068c 0x000001e0 Code RO 1102 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o + 0x0800086c 0x0800086c 0x0000000a Code RO 1106 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o + 0x08000876 0x08000876 0x00000002 PAD + 0x08000878 0x08000878 0x0000000c Code RO 796 i.HAL_GetTick stm32f1xx_hal.o + 0x08000884 0x08000884 0x00000010 Code RO 802 i.HAL_IncTick stm32f1xx_hal.o + 0x08000894 0x08000894 0x00000024 Code RO 803 i.HAL_Init stm32f1xx_hal.o + 0x080008b8 0x080008b8 0x00000040 Code RO 804 i.HAL_InitTick stm32f1xx_hal.o + 0x080008f8 0x080008f8 0x0000003c Code RO 362 i.HAL_MspInit stm32f1xx_hal_msp.o + 0x08000934 0x08000934 0x0000001a Code RO 1262 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o + 0x0800094e 0x0800094e 0x00000002 PAD + 0x08000950 0x08000950 0x00000040 Code RO 1268 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08000990 0x08000990 0x00000024 Code RO 1269 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o + 0x080009b4 0x080009b4 0x00000002 Code RO 959 i.HAL_RCC_CSSCallback stm32f1xx_hal_rcc.o + 0x080009b6 0x080009b6 0x00000002 PAD + 0x080009b8 0x080009b8 0x0000012c Code RO 960 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o + 0x08000ae4 0x08000ae4 0x0000000c Code RO 963 i.HAL_RCC_EnableCSS stm32f1xx_hal_rcc.o + 0x08000af0 0x08000af0 0x00000020 Code RO 967 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o + 0x08000b10 0x08000b10 0x00000020 Code RO 968 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o + 0x08000b30 0x08000b30 0x0000004c Code RO 969 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o + 0x08000b7c 0x08000b7c 0x00000018 Code RO 971 i.HAL_RCC_NMI_IRQHandler stm32f1xx_hal_rcc.o + 0x08000b94 0x08000b94 0x00000320 Code RO 972 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o + 0x08000eb4 0x08000eb4 0x00000028 Code RO 1273 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o + 0x08000edc 0x08000edc 0x00000002 Code RO 434 i.HAL_UARTEx_RxEventCallback stm32f1xx_hal_uart.o + 0x08000ede 0x08000ede 0x00000002 Code RO 448 i.HAL_UART_ErrorCallback stm32f1xx_hal_uart.o + 0x08000ee0 0x08000ee0 0x0000026c Code RO 451 i.HAL_UART_IRQHandler stm32f1xx_hal_uart.o + 0x0800114c 0x0800114c 0x00000064 Code RO 452 i.HAL_UART_Init stm32f1xx_hal_uart.o + 0x080011b0 0x080011b0 0x00000150 Code RO 221 i.HAL_UART_MspInit usart.o + 0x08001300 0x08001300 0x0000001c Code RO 456 i.HAL_UART_Receive_DMA stm32f1xx_hal_uart.o + 0x0800131c 0x0800131c 0x00000002 Code RO 458 i.HAL_UART_RxCpltCallback stm32f1xx_hal_uart.o + 0x0800131e 0x0800131e 0x00000002 Code RO 459 i.HAL_UART_RxHalfCpltCallback stm32f1xx_hal_uart.o + 0x08001320 0x08001320 0x000000a0 Code RO 460 i.HAL_UART_Transmit stm32f1xx_hal_uart.o + 0x080013c0 0x080013c0 0x00000002 Code RO 463 i.HAL_UART_TxCpltCallback stm32f1xx_hal_uart.o + 0x080013c2 0x080013c2 0x00000002 Code RO 277 i.HardFault_Handler stm32f1xx_it.o + 0x080013c4 0x080013c4 0x0000002c Code RO 196 i.MX_DMA_Init dma.o + 0x080013f0 0x080013f0 0x00000070 Code RO 172 i.MX_GPIO_Init gpio.o + 0x08001460 0x08001460 0x00000038 Code RO 222 i.MX_USART1_UART_Init usart.o + 0x08001498 0x08001498 0x00000038 Code RO 223 i.MX_USART2_UART_Init usart.o + 0x080014d0 0x080014d0 0x00000002 Code RO 278 i.MemManage_Handler stm32f1xx_it.o + 0x080014d2 0x080014d2 0x00000006 Code RO 279 i.NMI_Handler stm32f1xx_it.o + 0x080014d8 0x080014d8 0x00000030 Code RO 15 i.Output_Hex_With_CRLF main.o + 0x08001508 0x08001508 0x00000002 Code RO 280 i.PendSV_Handler stm32f1xx_it.o + 0x0800150a 0x0800150a 0x00000002 Code RO 281 i.SVC_Handler stm32f1xx_it.o + 0x0800150c 0x0800150c 0x00000084 Code RO 17 i.Send_Command main.o + 0x08001590 0x08001590 0x00000004 Code RO 282 i.SysTick_Handler stm32f1xx_it.o + 0x08001594 0x08001594 0x00000060 Code RO 18 i.SystemClock_Config main.o + 0x080015f4 0x080015f4 0x00000002 Code RO 1763 i.SystemInit system_stm32f1xx.o + 0x080015f6 0x080015f6 0x00000010 Code RO 465 i.UART_DMAAbortOnError stm32f1xx_hal_uart.o + 0x08001606 0x08001606 0x0000004a Code RO 466 i.UART_DMAError stm32f1xx_hal_uart.o + 0x08001650 0x08001650 0x00000086 Code RO 467 i.UART_DMAReceiveCplt stm32f1xx_hal_uart.o + 0x080016d6 0x080016d6 0x0000001e Code RO 469 i.UART_DMARxHalfCplt stm32f1xx_hal_uart.o + 0x080016f4 0x080016f4 0x0000004e Code RO 475 i.UART_EndRxTransfer stm32f1xx_hal_uart.o + 0x08001742 0x08001742 0x0000001c Code RO 476 i.UART_EndTxTransfer stm32f1xx_hal_uart.o + 0x0800175e 0x0800175e 0x000000c2 Code RO 477 i.UART_Receive_IT stm32f1xx_hal_uart.o + 0x08001820 0x08001820 0x000000b8 Code RO 478 i.UART_SetConfig stm32f1xx_hal_uart.o + 0x080018d8 0x080018d8 0x00000090 Code RO 479 i.UART_Start_Receive_DMA stm32f1xx_hal_uart.o + 0x08001968 0x08001968 0x00000072 Code RO 481 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o + 0x080019da 0x080019da 0x00000002 PAD + 0x080019dc 0x080019dc 0x0000000c Code RO 283 i.USART1_IRQHandler stm32f1xx_it.o + 0x080019e8 0x080019e8 0x00000002 Code RO 284 i.UsageFault_Handler stm32f1xx_it.o + 0x080019ea 0x080019ea 0x00000020 Code RO 1275 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08001a0a 0x08001a0a 0x00000002 PAD + 0x08001a0c 0x08001a0c 0x0000007c Code RO 19 i.main main.o + 0x08001a88 0x08001a88 0x00000008 Data RO 21 .constdata main.o + 0x08001a90 0x08001a90 0x00000012 Data RO 973 .constdata stm32f1xx_hal_rcc.o + 0x08001aa2 0x08001aa2 0x00000010 Data RO 1764 .constdata system_stm32f1xx.o + 0x08001ab2 0x08001ab2 0x00000008 Data RO 1765 .constdata system_stm32f1xx.o + 0x08001aba 0x08001aba 0x00000002 PAD + 0x08001abc 0x08001abc 0x00000020 Data RO 1962 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001bfc, Size: 0x000008b8, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001adc, Size: 0x000007e0, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08001bfc 0x00000020 Data RW 27 .data main.o - 0x20000020 0x08001c1c 0x0000000c Data RW 851 .data stm32f1xx_hal.o - 0x2000002c 0x08001c28 0x00000004 Data RW 1807 .data system_stm32f1xx.o - 0x20000030 - 0x0000010c Zero RW 26 .bss main.o - 0x2000013c - 0x0000011c Zero RW 266 .bss usart.o - 0x20000258 - 0x00000060 Zero RW 1877 .bss c_w.l(libspace.o) - 0x200002b8 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o - 0x200004b8 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o + 0x20000000 0x08001adc 0x00000008 Data RW 22 .data main.o + 0x20000008 0x08001ae4 0x0000000c Data RW 810 .data stm32f1xx_hal.o + 0x20000014 0x08001af0 0x00000004 Data RW 1766 .data system_stm32f1xx.o + 0x20000018 - 0x0000004c Zero RW 20 .bss main.o + 0x20000064 - 0x0000011c Zero RW 225 .bss usart.o + 0x20000180 - 0x00000060 Zero RW 1834 .bss c_w.l(libspace.o) + 0x200001e0 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o + 0x200003e0 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o ============================================================================== @@ -1288,7 +1233,7 @@ Image component sizes 44 4 0 0 0 822 dma.o 112 10 0 0 0 979 gpio.o - 728 86 0 32 268 402200 main.o + 560 58 8 8 76 398724 main.o 64 26 236 0 1536 844 startup_stm32f103xb.o 164 28 0 12 0 6165 stm32f1xx_hal.o 198 14 0 0 0 29139 stm32f1xx_hal_cortex.o @@ -1299,12 +1244,12 @@ Image component sizes 1914 24 0 0 0 15270 stm32f1xx_hal_uart.o 48 12 0 0 0 5125 stm32f1xx_it.o 2 0 24 4 0 1215 system_stm32f1xx.o - 504 58 0 0 284 3315 usart.o + 448 50 0 0 284 2769 usart.o ---------------------------------------------------------------------- - 6430 432 312 48 2088 481169 Object Totals + 6202 396 320 24 1896 477147 Object Totals 0 0 32 0 0 0 (incl. Generated) - 16 0 2 0 0 0 (incl. Padding) + 12 0 2 0 0 0 (incl. Padding) ---------------------------------------------------------------------- @@ -1325,7 +1270,6 @@ Image component sizes 2 0 0 0 0 0 libshutdown.o 2 0 0 0 0 0 libshutdown2.o 8 4 0 0 96 68 libspace.o - 68 0 0 0 0 68 rt_memclr.o 78 0 0 0 0 80 rt_memclr_w.o 2 0 0 0 0 0 rtexit.o 10 0 0 0 0 0 rtexit2.o @@ -1334,17 +1278,17 @@ Image component sizes 2 0 0 0 0 68 use_no_semi.o ---------------------------------------------------------------------- - 422 16 0 0 96 732 Library Totals + 354 16 0 0 96 664 Library Totals 4 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 418 16 0 0 96 732 c_w.l + 350 16 0 0 96 664 c_w.l ---------------------------------------------------------------------- - 422 16 0 0 96 732 Library Totals + 354 16 0 0 96 664 Library Totals ---------------------------------------------------------------------- @@ -1353,15 +1297,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 6852 448 312 48 2184 477997 Grand Totals - 6852 448 312 48 2184 477997 ELF Image Totals - 6852 448 312 48 0 0 ROM Totals + 6556 412 320 24 1992 474271 Grand Totals + 6556 412 320 24 1992 474271 ELF Image Totals + 6556 412 320 24 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 7164 ( 7.00kB) - Total RW Size (RW Data + ZI Data) 2232 ( 2.18kB) - Total ROM Size (Code + RO Data + RW Data) 7212 ( 7.04kB) + Total RO Size (Code + RO Data) 6876 ( 6.71kB) + Total RW Size (RW Data + ZI Data) 2016 ( 1.97kB) + Total ROM Size (Code + RO Data + RW Data) 6900 ( 6.74kB) ============================================================================== diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster_PressureSensorBoardMaster.dep b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster_PressureSensorBoardMaster.dep index bf82bbe..f481fa1 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster_PressureSensorBoardMaster.dep +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster_PressureSensorBoardMaster.dep @@ -1,7 +1,7 @@ Dependencies for Project 'PressureSensorBoardMaster', Target 'PressureSensorBoardMaster': (DO NOT MODIFY !) CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC -F (startup_stm32f103xb.s)(0x6933D92D)(--cpu Cortex-M3 -g --apcs=interwork -I.\RTE\_PressureSensorBoardMaster -IC:\keil\ARM\CMSIS\6.2.0\CMSIS\Core\Include -IC:\keil\Keil\STM32F1xx_DFP\2.4.1\Device\Include --pd "__UVISION_VERSION SETA 543" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup_stm32f103xb.lst --xref -o pressuresensorboardmaster\startup_stm32f103xb.o --depend pressuresensorboardmaster\startup_stm32f103xb.d) -F (../Core/Src/main.c)(0x6933E503)(--c99 -c --cpu Cortex-M3 -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I.\RTE\_PressureSensorBoardMaster -IC:\keil\ARM\CMSIS\6.2.0\CMSIS\Core\Include -IC:\keil\Keil\STM32F1xx_DFP\2.4.1\Device\Include -D__UVISION_VERSION="543" -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o pressuresensorboardmaster\main.o --omf_browse pressuresensorboardmaster\main.crf --depend pressuresensorboardmaster\main.d) +F (startup_stm32f103xb.s)(0x6933F402)(--cpu Cortex-M3 -g --apcs=interwork -I.\RTE\_PressureSensorBoardMaster -IC:\keil\ARM\CMSIS\6.2.0\CMSIS\Core\Include -IC:\keil\Keil\STM32F1xx_DFP\2.4.1\Device\Include --pd "__UVISION_VERSION SETA 543" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup_stm32f103xb.lst --xref -o pressuresensorboardmaster\startup_stm32f103xb.o --depend pressuresensorboardmaster\startup_stm32f103xb.d) +F (../Core/Src/main.c)(0x693442CB)(--c99 -c --cpu Cortex-M3 -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I.\RTE\_PressureSensorBoardMaster -IC:\keil\ARM\CMSIS\6.2.0\CMSIS\Core\Include -IC:\keil\Keil\STM32F1xx_DFP\2.4.1\Device\Include -D__UVISION_VERSION="543" -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o pressuresensorboardmaster\main.o --omf_browse pressuresensorboardmaster\main.crf --depend pressuresensorboardmaster\main.d) I (../Core/Inc/main.h)(0x6933CEFA) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x68F635ED) I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6933CEFA) @@ -31,7 +31,6 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x68F635ED) I (../Core/Inc/dma.h)(0x6933CEF9) I (../Core/Inc/usart.h)(0x6933CEFA) I (../Core/Inc/gpio.h)(0x6933CEF9) -I (C:\keil\ARM\ARMCC\include\stdio.h)(0x5E8E3CC2) I (C:\keil\ARM\ARMCC\include\string.h)(0x5E8E3CC2) F (../Core/Src/gpio.c)(0x6933CEF9)(--c99 -c --cpu Cortex-M3 -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I.\RTE\_PressureSensorBoardMaster -IC:\keil\ARM\CMSIS\6.2.0\CMSIS\Core\Include -IC:\keil\Keil\STM32F1xx_DFP\2.4.1\Device\Include -D__UVISION_VERSION="543" -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o pressuresensorboardmaster\gpio.o --omf_browse pressuresensorboardmaster\gpio.crf --depend pressuresensorboardmaster\gpio.d) I (../Core/Inc/gpio.h)(0x6933CEF9) diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.crf b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.crf index abd715ac9c1e1a55141b72280ad268cabe94e71a..afad68f8cde604375ce370e381415b594d7eaa0f 100644 GIT binary patch delta 5123 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 AKL7v# delta 12068 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 F{{_?Ag=GK$ diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.d b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.d index e339dda..351e75e 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.d +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.d @@ -29,5 +29,4 @@ pressuresensorboardmaster\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ pressuresensorboardmaster\main.o: ../Core/Inc/dma.h pressuresensorboardmaster\main.o: ../Core/Inc/usart.h pressuresensorboardmaster\main.o: ../Core/Inc/gpio.h -pressuresensorboardmaster\main.o: C:\keil\ARM\ARMCC\Bin\..\include\stdio.h pressuresensorboardmaster\main.o: C:\keil\ARM\ARMCC\Bin\..\include\string.h diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.o b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.o index 52ed03c5f1fa9206ede9c35beef0cfb3fb111ed2..f9be1978a2afab6271ce0c301e44644d68c6da24 100644 GIT binary patch delta 19469 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 Sa_SvEQ++?nI-H!n=>GwBJ(Fnw delta 28922 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 L42XnrE7Jb}An<*p