From 5c82782300979c810c4f0be50bb92a30ccc33928 Mon Sep 17 00:00:00 2001 From: hold the blade Date: Sun, 7 Dec 2025 01:06:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=89=88=E6=9C=AC=EF=BC=8C3?= =?UTF-8?q?=E4=B8=BB=E6=9C=BA=E8=BD=AE=E8=AF=A2=EF=BC=8C=E9=AB=98=E9=80=9F?= =?UTF-8?q?=E5=87=BA=E5=8F=91=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PressureSensorBoardMaster/.mxproject | 31 - .../PressureSensorBoardMaster/Core/Src/main.c | 666 ++++++++++--- .../PressureSensorBoardMaster.uvguix.kkkjt | 24 +- .../PressureSensorBoardMaster.axf | Bin 524632 -> 528476 bytes .../PressureSensorBoardMaster.build_log.htm | 6 +- .../PressureSensorBoardMaster.hex | 874 +++++++++--------- .../PressureSensorBoardMaster.htm | 589 ++++++------ .../PressureSensorBoardMaster.map | 839 +++++++++-------- ...rBoardMaster_PressureSensorBoardMaster.dep | 2 +- .../PressureSensorBoardMaster/main.crf | Bin 528766 -> 531833 bytes .../MDK-ARM/PressureSensorBoardMaster/main.o | Bin 602048 -> 608700 bytes 11 files changed, 1739 insertions(+), 1292 deletions(-) delete mode 100644 Software/master/PressureSensorBoardMaster/.mxproject diff --git a/Software/master/PressureSensorBoardMaster/.mxproject b/Software/master/PressureSensorBoardMaster/.mxproject deleted file mode 100644 index ce894cb..0000000 --- a/Software/master/PressureSensorBoardMaster/.mxproject +++ /dev/null @@ -1,31 +0,0 @@ -[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 c9393de..ae8790d 100644 --- a/Software/master/PressureSensorBoardMaster/Core/Src/main.c +++ b/Software/master/PressureSensorBoardMaster/Core/Src/main.c @@ -21,46 +21,109 @@ /* USER CODE BEGIN PD */ // 串口定义 #define SLAVE_UART &huart1 -#define DEBUG_UART &huart2 +#define OUTPUT_PORT &huart2 // DMA接收缓冲区大小 -#define RX_BUFFER_SIZE 64 +#define RX_BUFFER_SIZE 256 // 增大缓冲区 +#define OUTPUT_FRAME_SIZE 98 +#define SLAVE_COUNT 3 +#define MATRIX_POINTS_PER_SLAVE 30 +#define TOTAL_MATRIX_POINTS 90 + +// 超时定义 +#define RESPONSE_TIMEOUT_MS 40 +#define STATE_DELAY_MS 10 // 命令定义 -const uint8_t status_cmd[4] = {0x03, 0x01, 0xC0, 0x80}; -const uint8_t matrix_cmd[4] = {0x03, 0x03, 0x41, 0x41}; +const uint8_t status_cmds[3][4] = { + {0x01, 0x01, 0xC0, 0x80}, // 从机1状态查询 + {0x02, 0x01, 0xC0, 0x80}, // 从机2状态查询 + {0x03, 0x01, 0xC0, 0x80} // 从机3状态查询 +}; + +const uint8_t matrix_cmds[3][4] = { + {0x01, 0x03, 0x41, 0x41}, // 从机1矩阵查询 + {0x02, 0x03, 0x41, 0x41}, // 从机2矩阵查询 + {0x03, 0x03, 0x41, 0x41} // 从机3矩阵查询 +}; /* USER CODE END PD */ /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN PV */ -// DMA接收缓冲区 -uint8_t rx_buffer[RX_BUFFER_SIZE]; - -// 接收状态管理 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 address; // 从机地址 + uint8_t is_online; // 是否在线(状态查询回复) + uint8_t is_ready; // 是否就绪(矩阵查询回复) + uint8_t matrix[30]; // 30个矩阵点 +} SlaveInfo_t; + +// 状态机状态 +typedef enum { + STATE_SEND_SLAVE1_STA = 0, + STATE_WAIT_SLAVE1_STA, + STATE_SEND_SLAVE1_MAT, + STATE_WAIT_SLAVE1_MAT, + STATE_SEND_SLAVE2_STA, + STATE_WAIT_SLAVE2_STA, + STATE_SEND_SLAVE2_MAT, + STATE_WAIT_SLAVE2_MAT, + STATE_SEND_SLAVE3_STA, + STATE_WAIT_SLAVE3_STA, + STATE_SEND_SLAVE3_MAT, + STATE_WAIT_SLAVE3_MAT, + STATE_OUTPUT_DATA, + STATE_DELAY +} SystemState_t; + +// DMA接收缓冲区(双缓冲区) +__ALIGN_BEGIN uint8_t rx_buffer[RX_BUFFER_SIZE] __ALIGN_END; +__ALIGN_BEGIN uint8_t rx_backup_buffer[16] __ALIGN_END; // 用于处理接收到的数据 + +// 从机信息数组 +SlaveInfo_t slaves[SLAVE_COUNT]; + +// 全局矩阵数据 +uint8_t global_matrix[TOTAL_MATRIX_POINTS]; + +// 输出帧 +uint8_t output_frame[OUTPUT_FRAME_SIZE]; + +// 状态机变量 +SystemState_t current_state = STATE_SEND_SLAVE1_STA; +uint32_t state_start_time = 0; +uint8_t current_slave_index = 0; + +// DMA相关变量 +volatile uint8_t dma_receive_done = 0; +volatile uint32_t dma_last_pos = 0; +volatile uint8_t rx_overflow = 0; + +// 接收数据解析状态 +typedef enum { + RX_IDLE, + RX_WAITING_STATUS, // 等待状态回复(5字节) + RX_WAITING_MATRIX // 等待矩阵回复(10字节) +} RxState_t; + +RxState_t rx_state = RX_IDLE; +uint8_t expected_length = 0; +uint8_t rx_data[16]; +uint8_t rx_index = 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); +void Process_Status_Reply(uint8_t slave_index, uint8_t *data, uint8_t len); +void Process_Matrix_Reply(uint8_t slave_index, uint8_t *data, uint8_t len); +void Build_Output_Frame(void); +uint8_t Check_CRC(uint8_t *data, uint8_t len); +void DMA_RX_Process(void); +void UART_DMA_Init(void); +void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart); /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ @@ -100,17 +163,28 @@ int main(void) MX_USART1_UART_Init(); MX_USART2_UART_Init(); /* USER CODE BEGIN 2 */ - - // 启动DMA循环接收 + // 初始化从机信息 + for(int i = 0; i < SLAVE_COUNT; i++) { + slaves[i].address = i + 1; + slaves[i].is_online = 0; + slaves[i].is_ready = 0; + memset(slaves[i].matrix, 0, 30); + } + // 初始化全局矩阵 + memset(global_matrix, 0, TOTAL_MATRIX_POINTS); + + // 初始化输出帧 + memset(output_frame, 0, OUTPUT_FRAME_SIZE); + + // 初始化接收缓冲区 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(); + // 启动DMA接收(使用正常模式) + // 初始化UART DMA接收(使用循环模式) + UART_DMA_Init(); + + // 记录状态开始时间 + state_start_time = HAL_GetTick(); /* USER CODE END 2 */ /* Infinite loop */ @@ -118,20 +192,294 @@ int main(void) while (1) { uint32_t current_time = HAL_GetTick(); + uint32_t elapsed_time = current_time - state_start_time; - // 每40ms发送一次命令 - if((current_time - last_send_time) > 40) { - last_send_time = current_time; - Send_Command(); + // 处理DMA接收到的数据 + DMA_RX_Process(); + // 状态机处理 + switch(current_state) { + + // ---------- 从机1状态查询 ---------- + case STATE_SEND_SLAVE1_STA: + current_slave_index = 0; + + // 设置接收状态为等待状态回复 + rx_state = RX_WAITING_STATUS; + expected_length = 5; + rx_index = 0; + + // 发送状态查询命令 + HAL_UART_Transmit(SLAVE_UART, (uint8_t*)status_cmds[0], 4, 10); + + // 记录开始时间并切换到等待状态 + state_start_time = current_time; + current_state = STATE_WAIT_SLAVE1_STA; + break; + + case STATE_WAIT_SLAVE1_STA: + // 检查是否已收到完整数据 + if(rx_index >= expected_length) { + // 处理状态回复 + Process_Status_Reply(0, rx_data, rx_index); + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到发送矩阵查询状态 + current_state = STATE_SEND_SLAVE1_MAT; + state_start_time = current_time; + } + // 超时处理 + else if(elapsed_time >= RESPONSE_TIMEOUT_MS) { + // 超时,标记从机离线 + slaves[0].is_online = 0; + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到发送矩阵查询状态 + current_state = STATE_SEND_SLAVE1_MAT; + state_start_time = current_time; + } + break; + + // ---------- 从机1矩阵查询 ---------- + case STATE_SEND_SLAVE1_MAT: + // 设置接收状态为等待矩阵回复 + rx_state = RX_WAITING_MATRIX; + expected_length = 10; + rx_index = 0; + + // 发送矩阵查询命令 + HAL_UART_Transmit(SLAVE_UART, (uint8_t*)matrix_cmds[0], 4, 10); + + // 记录开始时间并切换到等待状态 + state_start_time = current_time; + current_state = STATE_WAIT_SLAVE1_MAT; + break; + + case STATE_WAIT_SLAVE1_MAT: + // 检查是否已收到完整数据 + if(rx_index >= expected_length) { + // 处理矩阵回复 + Process_Matrix_Reply(0, rx_data, rx_index); + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到从机2状态查询 + current_state = STATE_SEND_SLAVE2_STA; + state_start_time = current_time; + } + // 超时处理 + else if(elapsed_time >= RESPONSE_TIMEOUT_MS) { + // 超时,标记矩阵未就绪 + slaves[0].is_ready = 0; + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到从机2状态查询 + current_state = STATE_SEND_SLAVE2_STA; + state_start_time = current_time; + } + break; + + // ---------- 从机2状态查询 ---------- + case STATE_SEND_SLAVE2_STA: + current_slave_index = 1; + + // 设置接收状态为等待状态回复 + rx_state = RX_WAITING_STATUS; + expected_length = 5; + rx_index = 0; + + // 发送状态查询命令 + HAL_UART_Transmit(SLAVE_UART, (uint8_t*)status_cmds[1], 4, 10); + + // 记录开始时间并切换到等待状态 + state_start_time = current_time; + current_state = STATE_WAIT_SLAVE2_STA; + break; + + case STATE_WAIT_SLAVE2_STA: + // 检查是否已收到完整数据 + if(rx_index >= expected_length) { + // 处理状态回复 + Process_Status_Reply(1, rx_data, rx_index); + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到发送矩阵查询状态 + current_state = STATE_SEND_SLAVE2_MAT; + state_start_time = current_time; + } + // 超时处理 + else if(elapsed_time >= RESPONSE_TIMEOUT_MS) { + // 超时,标记从机离线 + slaves[1].is_online = 0; + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到发送矩阵查询状态 + current_state = STATE_SEND_SLAVE2_MAT; + state_start_time = current_time; + } + break; + + // ---------- 从机2矩阵查询 ---------- + case STATE_SEND_SLAVE2_MAT: + // 设置接收状态为等待矩阵回复 + rx_state = RX_WAITING_MATRIX; + expected_length = 10; + rx_index = 0; + + // 发送矩阵查询命令 + HAL_UART_Transmit(SLAVE_UART, (uint8_t*)matrix_cmds[1], 4, 10); + + // 记录开始时间并切换到等待状态 + state_start_time = current_time; + current_state = STATE_WAIT_SLAVE2_MAT; + break; + + case STATE_WAIT_SLAVE2_MAT: + // 检查是否已收到完整数据 + if(rx_index >= expected_length) { + // 处理矩阵回复 + Process_Matrix_Reply(1, rx_data, rx_index); + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到从机3状态查询 + current_state = STATE_SEND_SLAVE3_STA; + state_start_time = current_time; + } + // 超时处理 + else if(elapsed_time >= RESPONSE_TIMEOUT_MS) { + // 超时,标记矩阵未就绪 + slaves[1].is_ready = 0; + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到从机3状态查询 + current_state = STATE_SEND_SLAVE3_STA; + state_start_time = current_time; + } + break; + + // ---------- 从机3状态查询 ---------- + case STATE_SEND_SLAVE3_STA: + current_slave_index = 2; + + // 设置接收状态为等待状态回复 + rx_state = RX_WAITING_STATUS; + expected_length = 5; + rx_index = 0; + + // 发送状态查询命令 + HAL_UART_Transmit(SLAVE_UART, (uint8_t*)status_cmds[2], 4, 10); + + // 记录开始时间并切换到等待状态 + state_start_time = current_time; + current_state = STATE_WAIT_SLAVE3_STA; + break; + + case STATE_WAIT_SLAVE3_STA: + // 检查是否已收到完整数据 + if(rx_index >= expected_length) { + // 处理状态回复 + Process_Status_Reply(2, rx_data, rx_index); + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到发送矩阵查询状态 + current_state = STATE_SEND_SLAVE3_MAT; + state_start_time = current_time; + } + // 超时处理 + else if(elapsed_time >= RESPONSE_TIMEOUT_MS) { + // 超时,标记从机离线 + slaves[2].is_online = 0; + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到发送矩阵查询状态 + current_state = STATE_SEND_SLAVE3_MAT; + state_start_time = current_time; + } + break; + + // ---------- 从机3矩阵查询 ---------- + case STATE_SEND_SLAVE3_MAT: + // 设置接收状态为等待矩阵回复 + rx_state = RX_WAITING_MATRIX; + expected_length = 10; + rx_index = 0; + + // 发送矩阵查询命令 + HAL_UART_Transmit(SLAVE_UART, (uint8_t*)matrix_cmds[2], 4, 10); + + // 记录开始时间并切换到等待状态 + state_start_time = current_time; + current_state = STATE_WAIT_SLAVE3_MAT; + break; + + case STATE_WAIT_SLAVE3_MAT: + // 检查是否已收到完整数据 + if(rx_index >= expected_length) { + // 处理矩阵回复 + Process_Matrix_Reply(2, rx_data, rx_index); + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到输出数据状态 + current_state = STATE_OUTPUT_DATA; + state_start_time = current_time; + } + // 超时处理 + else if(elapsed_time >= RESPONSE_TIMEOUT_MS) { + // 超时,标记矩阵未就绪 + slaves[2].is_ready = 0; + + // 重置接收状态 + rx_state = RX_IDLE; + + // 切换到输出数据状态 + current_state = STATE_OUTPUT_DATA; + state_start_time = current_time; + } + break; + + // ---------- 输出数据 ---------- + case STATE_OUTPUT_DATA: + // 构建输出帧 + Build_Output_Frame(); + + // 通过串口2发送输出帧 + HAL_UART_Transmit(OUTPUT_PORT, output_frame, OUTPUT_FRAME_SIZE, 100); + + // 添加短暂延时后重新开始循环 + current_state = STATE_DELAY; + state_start_time = current_time; + break; + + case STATE_DELAY: + // 短暂延时后重新开始循环 + if(elapsed_time >= 50) { + current_state = STATE_SEND_SLAVE1_STA; + state_start_time = current_time; + } + break; } - // 检查是否在等待回复 - if(rx_state.waiting) { - Check_And_Process_Reply(); - } - - // 小延时 - HAL_Delay(1); +// HAL_Delay(10); } /* USER CODE END 3 */ } @@ -180,107 +528,161 @@ void SystemClock_Config(void) } /* USER CODE BEGIN 4 */ - -// 输出十六进制数据(只发送原始字节) -void Output_Pure_Hex(const uint8_t *data, uint8_t len) +// 初始化UART DMA接收(使用循环模式) +void UART_DMA_Init(void) { - if(data && len > 0) { - HAL_UART_Transmit(DEBUG_UART, data, len, 50); - } -} - -// 输出调试信息(十六进制前缀 + 数据) -void Output_Hex_With_CRLF(const uint8_t *data, uint8_t len) -{ - 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); -} - -// 发送命令函数 -void Send_Command(void) -{ - // 获取当前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; + // 启动DMA循环接收 + HAL_UART_Receive_DMA(SLAVE_UART, rx_buffer, RX_BUFFER_SIZE); - // 根据当前命令类型发送 - 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; + // 记录初始DMA位置 + dma_last_pos = RX_BUFFER_SIZE - __HAL_DMA_GET_COUNTER(huart1.hdmarx); + + // 使能UART空闲中断(可选,如果需要) +// __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE); +} + +// DMA接收处理函数 +void DMA_RX_Process(void) +{ + static uint32_t last_processed_pos = 0; + uint32_t current_pos; + + // 获取当前DMA写入位置 + current_pos = RX_BUFFER_SIZE - __HAL_DMA_GET_COUNTER(huart1.hdmarx); + + // 计算接收到的数据长度 + uint32_t received_len; + if(current_pos >= last_processed_pos) { + received_len = current_pos - last_processed_pos; } 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; + // DMA缓冲区已回绕 + received_len = (RX_BUFFER_SIZE - last_processed_pos) + current_pos; + rx_overflow = 1; // 标记溢出(如果发生) } - // 切换命令类型 - current_cmd = !current_cmd; - - // 发送后延时,确保发送完成 - HAL_Delay(2); -} - - -// 检查并处理回复 -void Check_And_Process_Reply(void) -{ - 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 == 0) { + return; } - // 检查是否收到完整帧 - if(received_len >= rx_state.expected_len) { - // 提取接收到的数据 - uint8_t received_data[16]; - uint8_t data_index = 0; + // 处理接收到的数据 + for(uint32_t i = 0; i < received_len; i++) { + uint32_t index = (last_processed_pos + i) % RX_BUFFER_SIZE; + uint8_t received_byte = rx_buffer[index]; - 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]; + // 只有在等待回复时才处理数据 + if(rx_state != RX_IDLE && rx_index < expected_length) { + // 检查是否是预期的从机地址 + if(rx_index == 0 && + (rx_state == RX_WAITING_STATUS || rx_state == RX_WAITING_MATRIX)) { + uint8_t expected_addr = slaves[current_slave_index].address; + if(received_byte != expected_addr) { + // 不是预期的从机地址,清空接收缓冲区 + rx_index = 0; + continue; + } + } + + // 存储接收到的字节 + rx_data[rx_index++] = received_byte; + + // 如果收到完整数据包,立即处理 + if(rx_index >= expected_length) { + // 数据处理将在状态机中完成 + break; + } } - - // 输出接收到的数据到调试串口(纯十六进制,加换行) - 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; + } + + // 更新处理位置 + last_processed_pos = current_pos; +} + +// UART接收完成回调函数 +void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) +{ + if(huart == SLAVE_UART) { + dma_receive_done = 1; } } +// 处理状态查询回复(5字节) +void Process_Status_Reply(uint8_t slave_index, uint8_t *data, uint8_t len) +{ + // 检查地址和功能码 + if(len >= 5 && + data[0] == slaves[slave_index].address && + data[1] == 0x01 && + data[2] == 0x01) { + // 状态查询成功回复,从机在线 + slaves[slave_index].is_online = 1; + } else { + // 回复不正确,从机离线 + slaves[slave_index].is_online = 0; + } +} + +// 处理矩阵查询回复(10字节) +void Process_Matrix_Reply(uint8_t slave_index, uint8_t *data, uint8_t len) +{ + // 检查地址和功能码 + if(len >= 10 && + data[0] == slaves[slave_index].address && + data[1] == 0x03 && + data[2] == 0x05) { + // 矩阵查询成功回复,从机就绪 + slaves[slave_index].is_ready = 1; + + // 解析5个数据字节(每个字节6个位) + for(int row = 0; row < 5; row++) { + uint8_t data_byte = data[3 + row]; + + // 拆解每个字节的6个位(注意:可能需要确认位顺序,这里是低6位) + for(int col = 0; col < 6; col++) { + // 获取每个位的值(0或1) + uint8_t bit_value = (data_byte >> col) & 0x01; + uint8_t matrix_index = row * 6 + col; + + // 更新从机矩阵 + slaves[slave_index].matrix[matrix_index] = bit_value; + + // 更新全局矩阵(根据从机地址计算偏移) + uint8_t global_index = slave_index * MATRIX_POINTS_PER_SLAVE + matrix_index; + if(global_index < TOTAL_MATRIX_POINTS) { + global_matrix[global_index] = bit_value; + } + } + } + } else { + // 回复不正确,从机未就绪 + slaves[slave_index].is_ready = 0; + } +} + +// 构建输出帧(98字节) +void Build_Output_Frame(void) +{ + uint8_t index = 0; + + // 同步头(2字节) + output_frame[index++] = 0xAA; + output_frame[index++] = 0x55; + + // 从机在线状态(3字节)- 根据状态查询回复更新 + for(int i = 0; i < SLAVE_COUNT; i++) { + output_frame[index++] = slaves[i].is_online; + } + + // 从机就绪状态(3字节)- 根据矩阵查询回复更新 + for(int i = 0; i < SLAVE_COUNT; i++) { + output_frame[index++] = slaves[i].is_ready; + } + + // 全局矩阵数据(90字节)- 根据矩阵查询回复更新 + for(int i = 0; i < TOTAL_MATRIX_POINTS; i++) { + output_frame[index++] = global_matrix[i]; + } +} /* USER CODE END 4 */ /** diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.kkkjt b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.kkkjt index bb7ed5a..d9963f0 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.kkkjt +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.kkkjt @@ -93,18 +93,18 @@ 2 3 - -1 - -1 + -32000 + -32000 -1 -1 - 0 - 301 - 1741 - 1100 + 544 + 159 + 1599 + 1644 @@ -1805,8 +1805,8 @@ 59392 File - 2851 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000968616C5F64656C6179960000000000000012000968616C5F64656C61791463757272656E745F7461736B5F696E6465782B2B0C52533438355F4F75747075741748414C5F554152545F547843706C7443616C6C6261636B0A426173655F53746172740A636F6E74726F6C6C6572067461726765741148414C5F4750494F5F577269746550696E155F5F48414C5F444D415F4745545F434F554E544552045F73696E05666C6F6174055F73717274056874696D32155F5F48414C5F54494D5F5345545F434F4D50415245057374617465134D61747269785F436F6D70726573735F526F770B6D61747269785F646174610C6465766963655F7374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2858 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000968616C5F64656C6179960000000000000014000235300C6F75747075745F6672616D650A44454255475F554152540972785F627566666572066D656D7365740968616C5F64656C61791463757272656E745F7461736B5F696E6465782B2B0C52533438355F4F75747075741748414C5F554152545F547843706C7443616C6C6261636B0A426173655F53746172740A636F6E74726F6C6C6572067461726765741148414C5F4750494F5F577269746550696E155F5F48414C5F444D415F4745545F434F554E544552045F73696E05666C6F6174055F73717274056874696D32155F5F48414C5F54494D5F5345545F434F4D504152450573746174650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3606,9 +3606,9 @@ 0 ../Core/Src/main.c - 8 - 277 - 122 + 12 + 453 + 464 1 0 diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.axf b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.axf index 2fb0d49f7a915355f4f8f1f18a47c622110189aa..9c0ec8346e521f0f8b4d70441cfa2e8359d4df03 100644 GIT binary patch delta 22961 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 d{OIf~9e!Dh-o~g;CU;V!CdA{~(rhey~ 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 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 99eb958..105c17d 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm @@ -28,11 +28,11 @@ 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(315): warning: #1-D: last line of file ends without a newline +../Core/Src/main.c(717): 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=6556 RO-data=320 RW-data=24 ZI-data=1992 +Program Size: Code=7236 RO-data=336 RW-data=36 ZI-data=2476 FromELF: creating hex file... "PressureSensorBoardMaster\PressureSensorBoardMaster.axf" - 0 Error(s), 1 Warning(s). @@ -58,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:02 +Build Time Elapsed: 00:00:01 diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.hex b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.hex index 2ff7da5..528fb14 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.hex +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.hex @@ -1,435 +1,479 @@ :020000040800F2 -:10000000E007002089010008D3140008C31300088A -:10001000D11400088F020008E91900080000000050 -:100020000000000000000000000000000B150008A8 -:10003000630300080000000009150008911500087E +:10000000D009002089010008771500086514000850 +:100010007515000831030008B51A0008000000003B +:100020000000000000000000000000002D16000885 +:1000300013040008000000007D1500082F160008BA :10004000A3010008A3010008A3010008A301000800 :10005000A3010008A3010008A3010008A3010008F0 :10006000A3010008A3010008A3010008A3010008E0 -:10007000A3010008A3010008A30100082D03000844 +:10007000A3010008A3010008A3010008350300083C :10008000A3010008A3010008A3010008A3010008C0 :10009000A3010008A3010008A3010008A3010008B0 :1000A000A3010008A3010008A3010008A3010008A0 :1000B000A3010008A3010008A3010008A301000890 :1000C000A3010008A3010008A3010008A301000880 -:1000D000A3010008DD190008A3010008A30100081E +:1000D000A3010008A91A0008A3010008A301000851 :1000E000A3010008A3010008A301000800F002F822 :1000F00000F03AF80AA090E8000C82448344AAF188 :100100000107DA4501D100F02FF8AFF2090EBAE885 :100110000F0013F0010F18BFFB1A43F0010318473B -:100120009C190000BC190000103A24BF78C878C19F +:10012000541C0000741C0000103A24BF78C878C129 :10013000FAD8520724BF30C830C144BF04680C60ED :10014000704700000023002400250026103A28BF35 :1001500078C1FBD8520728BF30C148BF0B60704739 -:100160001FB51FBD10B510BD00F058F81146FFF7C0 -:10017000F7FF01F04BFC00F076F803B4FFF7F2FF55 -:1001800003BC00F07DF8000009488047094800479B +:100160001FB51FBD10B510BD00F07AF81146FFF79E +:10017000F7FF01F0B1FC00F098F803B4FFF7F2FFCD +:1001800003BC00F09FF80000094880470948004779 :10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737 :1001A000FEE7FEE704480549054A064B7047000094 -: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 +:1001B00093160008ED000008D0030020D0090020AD +:1001C000D0050020D00500204FF000020429C0F027 +:1001D000128010F0030C00F01B80CCF1040CBCF179 +:1001E000020F18BF00F8012BA8BF20F8022BA1EBCB +:1001F0000C0100F00DB85FEAC17C24BF00F8012BB0 +:1002000000F8012B48BF00F8012B70474FF00002A7 +:1002100000B5134694469646203922BFA0E80C50FC +:10022000A0E80C50B1F12001BFF4F7AF090728BFD7 +:10023000A0E80C5048BF0CC05DF804EB890028BF53 +:1002400040F8042B08BF704748BF20F8022B11F07C +:10025000804F18BF00F8012B7047704770477047F8 +:10026000754600F02BF8AE4605006946534620F06F +:100270000700854618B020B5FFF794FFBDE8204081 +:100280004FF000064FF000074FF000084FF0000B52 +:1002900021F00701AC46ACE8C009ACE8C009ACE805 +:1002A000C009ACE8C0098D46704710B50446AFF3ED +:1002B00000802046BDE81040FFF75FBF0048704750 +:1002C0007003002001491820ABBEFEE726000200A3 +:1002D00070470000154910B5AA20087055204870D5 +:1002E00002200022A1F1BD0302EB42141C44521C67 +:1002F00064780C54401CC0B2032AF5DB5FF00002A6 +:1003000002EB42141C44521CA4780C54401CC0B292 +:10031000032AF5DB054B00225A3B9C5C0C54401C25 +:10032000521CC0B25A2AF8DB10BD0000E1010020C7 +:10033000FEE70000014800F0DFB800002C030020B9 +:100340002DE9F0472348C06B00684068C0F5807312 +:10035000214801698B4201D35C1A04E0C1F5807227 +:10036000D4180122C270002C31D0002246790579C0 +:1003700090F801A028E08F18DFF860C0FFB21CF8E9 +:10038000077005B390F806C0E146B4451BD25FEA9A +:10039000090C0ED1012D01D0022D0AD1DFF84080C9 +:1003A0000AEB4A1C18F80CC0674502D00027877179 +:1003B00009E0DFF830C00CF8097009F10107FFB25D +:1003C0008771B74202D2521CA242D4D30361BDE866 +:1003D000F0870000540200200000002024000020CC +:1003E000240100204302002030B590F84050012441 +:1003F000AC40C56B6C60046863604368102B036895 +:1004000003D099600068C26030BD9A600068C16026 +:1004100030BD704772B6FEE710B590F8211000228B +:10042000022905D00421816380F82020012010BD1D +:1004300001680B6823F00E030B6001680B6823F062 +:1004400001030B6090F84030C46B012101FA03F303 +:10045000636080F8211080F82020104610BD000055 +:1004600010B590F821100024022903D004218163E3 +:1004700001243DE001680A6822F00E020A6001686A +:100480000A6822F001020A601A4A0168914201D109 +:10049000012121E0174A1432914201D110211BE0C1 +:1004A000144A2832914201D1891515E0114A3C3293 +:1004B000914201D189140FE00E4A5032914202D18B +:1004C0004FF4803108E00B4A6432914202D14FF47C +:1004D000801101E04FF08071064A083A5160012115 +:1004E00080F82110002180F82010416B01B188476D +:1004F000204610BD080002402DE9F05FC16B0C687A +:1005000001680B68D0F840C0042202FA0CF2494D91 +:10051000DFF824A1494E4A4FDFF828B1DFF828E17F +:1005200022422CD05A072AD50A68920603D40A68B8 +:1005300022F004020A600168A94201D1042219E0F4 +:10054000514501D1402215E0B14202D14FF4806201 +:1005500010E0B94202D14FF480420BE0594502D17C +:100560004FF4802206E0714502D14FF4800201E091 +:100570004FF080622F4908394A60C16A3BE04FF072 +:10058000020808FA0CF818EA040F4FF000094FF0BF +:10059000010235D05FEA837832D50B689B0605D41B +:1005A0000B6823F00A030B6080F821200168A94240 +:1005B00001D1022219E0514501D1202215E0B142BA +:1005C00002D14FF4007210E0B94202D14FF4005250 +:1005D0000BE0594502D14FF4003206E0714502D1DB +:1005E0004FF4001201E04FF00072124908394A60DE +:1005F00080F82090816A00291AD0BDE8F05F084792 +:10060000082505FA0CF5254212D01B0710D50B68FA +:1006100023F00E030B6090F84010C36B02FA01F157 +:100620005960826380F8212080F82090016BE2E716 +:10063000BDE8F09F080002401C000240300002406C +:1006400044000240580002406C00024030B528B31C +:1006500008C8134914221944B1FBF2F18900C1639F +:1006600010498163022141771A6843F6F0718A4389 +:10067000D0E900142143D0E902452C432143046909 +:1006800021434469214384692143114319600021B6 +:100690004163012242770177084630BD012030BD19 +:1006A000F8FFFDBF0000024070B5044690F820003E +:1006B000002501280CD0012084F8200094F8216046 +:1006C0000020012E06D084F820000225284670BDA7 +:1006D000022070BD022684F82160A06320680668AD +:1006E00026F0010606602046FFF77EFEE06A00283D +:1006F0002068016802D041F00E0106E021F00401FB +:1007000001602068016841F00A0101602068016809 +:1007100041F001010160D9E72DE9F84FDFF8B89108 +:100720000024A9F1040B23460F2709F1040AABF1B9 +:10073000040EC9E00125A5402A40AA427DD1674E9A +:10074000D1F804C0ACEB0608B44532D014DCBCF1DF +:10075000030F3AD009DCBCF1000F2AD0BCF1010F25 +:100760001CD0BCF1020F31D11DE0BCF1110F17D02C +:10077000BCF1120F2AD119E0B8F5881F19D006DC98 +:10078000B8F5803F15D0B8F5801F1FD111E0B8F53E +:10079000001F0ED0B8F5041F18D10AE0CB6815E091 +:1007A000CB681B1D12E0CB6808330FE0CB680C331D +:1007B0000CE08B682BB1012B4FF0080303D045618F +:1007C00004E0042302E0056100E00023FF2A01D8D1 +:1007D000064601E000F104064FEA840501D9A5F1BF +:1007E0002005D6F8008007FA05FC28EA0C0803FA71 +:1007F00005F548EA0508C6F800804D68ED0062D5A9 +:10080000374DAE6946F00106AE61AD6924F00306CE +:1008100005F001050095334D06EB050CDCF808509A +:10082000A607360F07FA06F825EA0805DFF8B880AC +:10083000404503D14FF0000817E044E0DFF8AC80FA +:10084000404502D14FF001080FE0DFF8A480404599 +:1008500002D14FF0020808E0DFF89880404502D14D +:100860004FF0030801E04FF0040808FA06F848EAE0 +:100870000508CCF808804D68D9F80060ED024D46B7 +:1008800001D5164300E096432E604D68DAF800600B +:10089000AD02554601D5164300E096432E604D68E3 +:1008A000DBF80060AD035D4601D5164300E09643DA +:1008B0002E604D68DEF80060ED03754601D51643E5 +:1008C00000E096432E60641C0D682A46E5407FF4E4 +:1008D00031AFBDE8F88F000008040140000011109E +:1008E000001002400000014000080140000C0140DF +:1008F00000100140001401400AB101617047090471 +:10090000FBE70000014880687047000014000020E9 +:100910000248816802781144816070471400002009 +:10092000074810B5016841F010010160032000F094 +:1009300075F80F2000F006F800F024F8002010BD34 +:100940000020024070B50D4D04464FF47A712878AE +:10095000B1FBF0F00A490968B1FBF0F000F0F0FAE1 +:1009600048B9102C07D200222146501E00F036F85C +:1009700000206C6070BD012070BD000014000020DC +:10098000200000200C4808B5816941F00101816117 +:10099000816901F001010091C16941F08051C1619B +:1009A000C06900F0805000900448416821F0E06187 +:1009B00041F00071416008BD00100240000001409C +:1009C000002809DB00F01F0201219140400980004E +:1009D00000F1E020C0F8001170470000F0B40E4BA9 +:1009E0001B680C46C3F30223C3F10705042D00D98D +:1009F0000425191D072901D2002300E0DB1E012672 +:100A000006FA05F1491E214099409E40761E164087 +:100A10003143F0BC01F04FB80CED00E0064900F0A6 +:100A2000070208684FF6FF03184040EA0220034A15 +:100A300010430860704700000CED00E00000FA056C +:100A4000704700002DE9F0470F46050061D0434E86 +:100A5000306800F00700B84209D2306820F0070083 +:100A600038433060306800F00700B84251D1286840 +:100A70003B4C810712D5400703D5606840F4E06025 +:100A800060602878000703D5606840F460506060BB +:100A90006068A96820F0F000084360602878C0070B +:100AA00028D06868012810D02168022810D0890752 +:100AB00000292EDA616821F0030101436160FFF72C +:100AC00021FF804641F288390DE021688903EFE774 +:100AD0008901EDE7FFF716FFA0EB0801494502D9B0 +:100AE0000320BDE8F0876068696800F00C00B0EB97 +:100AF000810FEFD1306800F00700B8420BD93068A1 +:100B000020F0070038433060306800F00700B8423A +:100B100001D00120E5E72878400705D56068E9683D +:100B200020F4E060084360602878000706D560681C +:100B3000296920F4605040EAC100606000F03EF88E +:100B40006168084AC1F30311515CC8400649086056 +:100B500006480068FFF7F6FE0020C2E700200240CA +:100B6000001002405A1D000820000020180000203C +:100B700001490120C8647047000042420448054909 +:100B800000684968044AC1F30221515CC8407047BB +:100B900020000020001002406A1D0008044805499A +:100BA00000684968044AC1F3C221515CC8407047DB +:100BB00020000020001002406A1D00080E4A516803 +:100BC0000E4801F00C03042B11D0082B0FD10C4858 +:100BD000C1F38343C903C05C0AD55168084AC1F315 +:100BE0004041921E515C054A5043B0FBF1F0704702 +:100BF00004494843704700000010024000127A0088 +:100C00004A1D000800093D0010B5044CA06800060C +:100C100003D5FFF715FF8020A07210BD0010024021 +:100C20002DE9F84F040070D02078C04DC00749D09E +:100C30006868C0F38100012807D06868C0F38100AC +:100C4000022809D16868C00306D52868800339D511 +:100C500060680028E7D035E06068B0F5803F0BD0D1 +:100C600010B1B0F5A02F11D0286820F48030286092 +:100C7000286820F4802002E0286840F48030286052 +:100C8000606890B1FFF73EFE06460AE0286840F42F +:100C900080202860F0E700BFFFF734FE801B642847 +:100CA00073D828688003F7D50CE0FFF72BFE0646C3 +:100CB00005E000BFFFF726FE801B6428F0D82868F7 +:100CC0008003F7D420789A4E80074FF001094FF047 +:100CD000000839D5686810F00C0F07D06868C0F3B9 +:100CE0008100022809D16868C00306D428688007FB +:100CF00014D52069012808D110E02069B0B1C6F8E8 +:100D00000090FFF7FFFD074605E00AE1FFF7FAFD57 +:100D1000C01B0228C4D828688007F7D528686169F5 +:100D200020F0F80040EAC10028600DE0C6F800801D +:100D3000FFF7E8FD074604E0FFF7E4FDC01B0228CB +:100D400023D828688007F7D4207800072CD5794865 +:100D5000A169D9B1C0F80090FFF7D4FD074604E0BF +:100D6000FFF7D0FDC01B02280FD8686A8007F7D5AF +:100D700071484FF4FA510068B0FBF1F0009000BFE9 +:100D80000098411E0091FAD20EE080E0C0F8008089 +:100D9000FFF7B8FD074604E0FFF7B4FDC01B0228CB +:100DA00075D8686A8007F7D42078400760D5E8696D +:100DB0000027C00008D4E86940F08050E861E86985 +:100DC000012700F0805000905C480168C90513D4E9 +:100DD0000168834641F480710160FFF793FD82460C +:100DE00006E000BFFFF78EFDA0EB0A0064284ED896 +:100DF000DBF80000C005F5D5E06801280AD008B18D +:100E0000052813D0286A20F001002862286A20F003 +:100E1000040002E0286A40F001002862E06841F224 +:100E2000883B98B1FFF76EFD82460BE0286A40F0E0 +:100E300004002862EEE700BFFFF764FDA0EB0A01A3 +:100E400059455AD8286A8007F6D50CE0FFF75AFDB5 +:100E5000824605E0FFF756FDA0EB0A0159454CD844 +:100E6000286A8007F6D41FB1E86920F08050E86155 +:100E7000E06988B36968C1F38101022944D002287E +:100E8000C6F8608004D0FFF73DFD044638E034E04A +:100E9000FFF738FD074604E0FFF734FDC01B0228CA +:100EA0002BD828688001F7D4206AB0F5803F05D19F +:100EB0006868A16820F4003008436860D4E908013C +:100EC0000843696821F4741108436860C6F86090AB +:100ED000FFF718FD044606E025E000BFFFF712FD0E +:100EE000001B022809D828688001F7D51BE000BF45 +:100EF000FFF708FD001B022802D90320BDE8F88F88 +:100F000028688001F4D40EE00128F7D06868226ACE +:100F100000F48031914204D1616A00F4701088427B +:100F200001D00120EAE70020E8E7000000100240BD +:100F30000000424280044242200000200070004035 +:100F400010B5401EB0F1807F01D3012010BD4FF0DD +:100F5000E02460610F21601700F0ADFD0020A0616A +:100F600007202061002010BD70477047F8B5016868 +:100F700004460868CA684B6910F00F0F4FF000056F +:100F800059D003F0010602F49077374365D0C107CA +:100F900005D0D10503D5616C41F0010161644107C1 +:100FA00005D5D90703D0616C41F002016164810766 +:100FB00005D5D90703D0616C41F0040161640107D4 +:100FC00007D502F02001314303D0616C41F00801E4 +:100FD0006164616C00293AD0800604D5900602D580 +:100FE000204600F022FC20684069616CC0F380104C +:100FF000090700D460B3204600F0E2FB2068406996 +:10100000400621D52068143050E8001F21F040012F +:1010100040E80012002AF5D1E06BA8B16D494163A8 +:10102000E06BFFF71DFA002811D0E06B416B01B0B7 +:10103000BDE8F040084783060FD593060DD520463E +:10104000BDE8F84000F0F1BB2046FFF78EFFF8BD89 +:101050002046FFF78AFF6564F8BD266B2023012E2A +:101060007CD1C6067AD5D60678D50868486800903F +:1010700048694FF00206400640D5E16B08684068B9 +:101080000004000CE8D0A28D8242E5D9E085886991 +:1010900020282DD020680C3050E8001F21F48071EA +:1010A00040E80012002AF5D12068143050E8001FF3 +:1010B00021F0010140E80012002AF5D12068143027 +:1010C00050E8001F21F0400140E80012002AF5D14D +:1010D00084F84230256320680C3050E8001F21F06E +:1010E000100140E80012002AF5D1E06BFFF794F9F7 +:1010F0006663A08DE18D401A81B22AE0A08DE18D5A +:10110000401A81B2E08D0028A6D00029A4D0226820 +:101110000C3252E8000F20F4907042E80007002FD4 +:10112000F5D12068143050E8002F22F0010240E889 +:101130000027002FF5D184F84230256320680C3059 +:1011400050E8002F22F0100240E80023002BF5D1D8 +:1011500066632046FFF708FFF8BDFFE705062BD5BD +:10116000150629D594F841002128F5D1A068B0F5DD +:10117000805F01D12069B0B1206A411C21622168E1 +:1011800000784860E08C401E0004000CE084E3D14D +:101190002068C16821F08001C1602068C16841F009 +:1011A0004001C160D8E7206A0088C0F308004860A9 +:1011B000206A801C2062E5E74006CDD55006CBD5DD +:1011C000CA68204622F04002CA6084F8413000F02C +:1011D00048F9C1E79516000870B5040004D094F8EA +:1011E0004100002510B106E0012070BD84F8405098 +:1011F000204600F023F8242084F841002068C168CC +:1012000021F40051C160204600F070FB20680169A4 +:1012100021F4904101612068416921F02A01416176 +:101220002068C16841F40051C1606564202084F8E1 +:10123000410084F842006563002070BDF0B585B0C0 +:1012400000240094019402940394054603684848DE +:10125000DFF818C102210322464E071563453ED12F +:10126000836943F480438361836903F48043049377 +:10127000836943F0040383618069039200F00400F2 +:1012800004900802CDE9000169463046FFF744FAB0 +:10129000CDE90074694630460294FFF73DFA374EB7 +:1012A0003548C6E900048020C6E9024020203461A8 +:1012B000C6E905404FF44050F0613046FFF7C6F9EB +:1012C00008B1FFF7A7F8EE630022114625207562EA +:1012D000FFF784FB2520FFF773FB05B0F0BD284D19 +:1012E000AB421ED1C36943F40033C361C36903F445 +:1012F00000330493836943F004038361806903929C +:1013000000F0040004900420CDE900016946304655 +:10131000FFF702FA0820CDE900046946304602943E +:1013200020E0184DAB42D8D1C36943F48023C36198 +:10133000C36903F480230493836943F00803836142 +:101340008069CDE9007100F00800CDE903200E4D61 +:1013500069462846FFF7E0F9E814CDE9000469463C +:1013600028460294FFF7D8F9B7E70000003801409B +:101370000010024000080140580002402C030020E9 +:101380000044004000480040000C014090F842300A +:10139000202B01D00220704721B11AB10023036332 +:1013A00000F000BB012070470349884202D1034985 +:1013B00001208870704700005402002000000020C7 +:1013C00070472DE9F843044690F8410098461646C8 +:1013D0000D46202802D00220BDE8F88385B17EB1F9 +:1013E00000206064212084F84100FFF78BFAA68476 +:1013F0008146E684A0682027B0F5805F02D003E034 +:101400000120E9E7206910B12E4600250EE00026F4 +:101410000CE08021204600F00DFBA8B9C6B116F8FB +:10142000010B21684860E08C401EE084E08C4B4654 +:101430004FF00002CDF800800028EAD14FF04001C3 +:10144000204600F0F7FA40B184F841700320C3E76A +:1014500035F8020BC0F30800E3E784F84170002080 +:10146000BAE77047FEE70000094808B5416941F056 +:10147000010141614069002200F00100009001215A +:101480000F20FFF7ABFABDE808400F20FFF798BA2E +:101490000010024030B585B0002418480094019433 +:1014A00002940394816941F020018161816901F016 +:1014B00020010491816941F004018161816901F099 +:1014C00004010491816941F00801816180690C4D3A +:1014D00000F0080004900122F0212846FFF70CFAE2 +:1014E000F02000900120CDE901040220039069461C +:1014F0002846FFF711F905B030BD0000001002408A +:10150000000C01400C4810B50A4901604FF4165117 +:101510004160002181600C22C160C0E90412816138 +:10152000C161FFF759FE002803D0BDE81040FEF767 +:1015300071BF10BD00380140540200200C4810B5A6 +:101540000A4901604FF416514160002181600C226C +:10155000C160C0E904128161C161FFF73DFE00284E +:1015600003D0BDE81040FEF755BF10BD0044004059 +:101570009C020020FEE7FFF747FBFEE770470000F4 +:101580002DE9F0431D4D00EB401463190A2A09D3DD +:101590000A782C5DA24205D14A78032A02D18A78C2 +:1015A000052A03D000209870BDE8F08301229A70CC +:1015B0000022C0EB00188818DFF84090C5780020A2 +:1015C00002EB420709F1630900EB4706F6B203EBB1 +:1015D000060C25FA00F406EB480604F00104F6B206 +:1015E0008CF803405A2E01D209F80640401C062808 +:1015F000EADB521C052ADEDBD6E7000024010020CE +:1016000010B5094B00EB4014E018052A09D30A78FD +:101610001B5D9A4205D14A78012A02D189780129B5 +:1016200000D00021417010BD240100207047FFF759 +:101630006FB930B58FB028216846FEF7E7FD142159 +:101640000AA8FEF7E3FD01210804CDE900100024FB +:10165000029402250491CDE907504FF4E01009905F +:101660006846FFF7DDFA08B172B6FEE70F20CDE954 +:101670000A054FF48060CDE90C4002210AA80E94BF +:10168000FFF7E0F908B172B6FEE7FFF771FA0FB0A5 +:1016900030BD704710B5406A0021C185C184FFF795 +:1016A00064FC10BD70B5446A2068406994F841102C +:1016B000C0F3C0100025212904D118B1E5842046CB +:1016C00000F0A5F82068406994F84210C0F380103B +:1016D000222904D118B1E585204600F071F8606C2C +:1016E00040F0100060642046FFF73FFC70BD10B56D +:1016F0000146406A096809684FF0000289062ED445 +:10170000C28501680C3151E8003F23F4807341E841 +:101710000034002CF5D10168143151E8003F23F06A +:10172000010341E80034002CF5D10168143151E87F +:10173000003F23F0400341E80034002CF5D1202184 +:1017400080F84210016B012909D101680C3151E880 +:10175000003F23F0100341E80034002CF5D1426330 +:10176000016B012902D0FFF71FFE10BD818DFFF72D +:10177000FBFB10BD10B5406A01214163016B0129DB +:1017800002D0FFF71DFE10BD818D4908FFF7ECFB6D +:1017900010BD000010B54FF4807206490648FFF7EF +:1017A000F5FD0548C06B006840680449C0F58070CD +:1017B000C86010BD2400002054020020000000205A +:1017C00001680C3151E8002F22F4907241E80023A7 +:1017D000002BF5D10168143151E8002F22F00102ED +:1017E00041E80023002BF5D1016B012909D10168E3 +:1017F0000C3151E8002F22F0100241E80023002BA9 +:10180000F5D1202180F84210002101637047016862 +:101810000C3151E8002F22F0C00241E80023002BD8 +:10182000F5D1202180F84110704708B590F842109A +:10183000222901D0022008BD82684FF480539A42C9 +:1018400001D1016921B1816A9A421BD04AB10AE0F3 +:101850000268816A5268C2F308020A80816A891CA0 +:1018600008E0026972B10268526802F07F020A70F1 +:10187000816A491C8162C18D491E0904090CC18518 +:1018800003D01BE002685268F1E70168CA6822F0E1 +:101890002002CA600168CA6822F48072CA600168C6 +:1018A0004A6922F001024A61202180F84210002199 +:1018B0004163026B012A03D0FFF776FD002008BDCB +:1018C000016301680C3151E8002F22F0100241E859 +:1018D0000023002BF5D101680A68D20602D50A68F8 +:1018E00049680091818DFFF73FFBE7E770B504463B +:1018F00000680169E26821F44051114301612169E6 +:10190000A0680843616908432168CA6841F20C6312 +:101910009A430243CA6020684169A26921F4407178 +:10192000114341611E492068884202D1FFF736F910 +:1019300001E0FFF723F900EBC00101EB0012606842 +:1019400064218000B2FBF0F3B3FBF1F36FF01806F3 +:101950007343B2FBF0F5B2FBF0F605EB83053223DF +:1019600003EB0515B5FBF1F5B6FBF1F605F0F00557 +:1019700005EB0615B2FBF0F6B2FBF0F0B0FBF1F0B0 +:101980006FF01802504306EB800003EB0010B0FB31 +:10199000F1F0216800F00F002844886070BD00005D +:1019A0000038014038B58162044682850020134624 +:1019B0006064222284F84220E56B1B4AAA62E56B30 +:1019C0001A4AEA62E56B1A4A2A63E26B50630A46D6 +:1019D0002168E06B091DFEF767FE2068016840681A +:1019E0000090206948B120680C3050E8001F41F495 +:1019F000807140E80012002AF5D12068143050E8C8 +:101A0000001F41F0010140E80012002AF5D12068D2 +:101A1000143050E8001F41F0400140E80012002A55 +:101A2000F5D1002038BD0000EF160008751700083A +:101A3000A51600082DE9F843984617460D460446BA +:101A4000089E24E0701C22D0FEF75CFFA0EB08008B +:101A5000B0421AD8CEB12068C168490717D5802D89 +:101A600015D0402D13D00168C94309070FD4016870 +:101A70000025406800902046FFF7A2FE0820606421 +:101A800084F840500120BDE8F8830320FBE720687C +:101A9000006835EA000004D00020B842D2D000200F +:101AA000F1E70120F9E700000148FFF75FBA000005 +:101AB00054020020FEE70907090E002804DB00F1AC +:101AC000E02080F80014704700F00F0000F1E020E3 +:101AD00080F8141D70470000FEF722FFFFF7A9FDF4 +:101AE000FFF7D8FCFFF7C0FCFFF70CFDFFF726FD62 +:101AF0000024884E254604EB4412611CB046B154C4 +:101B000002EB08001E2145708570C01CFEF75CFBCF +:101B1000641C032CEFDB7F485A216330FEF754FB33 +:101B20007C486221BD30FEF74FFB4FF480717A484C +:101B3000FEF76CFBFFF72EFEFEF7E4FE774C4FF04E +:101B4000010A4FF00A0B4FF00209A060FEF7DAFE1F +:101B50000646A068371AFEF7F3FB20780E28F5D268 +:101B6000DFE800F007132635455666758596A7B75A +:101B7000C8D36570052084F804A060710A23574615 +:101B8000A5710422664967483DE0A27960798242E6 +:101B900006D365490020FFF733FD05E0A660D5E7D1 +:101BA000282FD3D388F80150257184F80090F5E7E9 +:101BB00084F804905A4984F805B0A5710A230422D8 +:101BC0000C315848FFF7FDFB0320A6607FE0A279A7 +:101BD0006079824204D354490020FFF7D1FC03E02E +:101BE000282FB3D388F802502571042080E084F8B0 +:101BF00001A084F804A0052749496771A5710A234B +:101C00000422091D4748FFF7DCFBA66027709DE70B +:101C1000A2796079824204D343490120FFF7F0FCA6 +:101C200003E0282F92D388F82250257106205FE028 +:101C300084F804903A4984F805B0A5710A23042277 +:101C400010313848FFF7BDFB0720A6603FE0A279BE +:101C50006079824204D334490120FFF791FC03E00C +:101C6000282F9CD388F823502571082040E084F861 +:101C7000019084F804A0052060712949A5710A2308 +:101C8000042208312748FFF79CFB0920A6601EE0CC +:101C9000A2796079824204D323490220FFF7B0FC85 +:101CA00003E0282FB3D388F84350257184F800B09F +:101CB00074E784F804901A4984F805B0A5710A23E2 +:101CC000042214311748FFF77CFB0B20A66020701C +:101CD0003CE7A2796079824204D313490220FFF7DE +:101CE0004FFC03E0282F92D388F8445025710C2034 +:101CF000207053E7FEF7EEFA0B4964236222623943 +:101D00000A48FFF75EFB0D20F2E7322FE0D3257083 +:101D100044E70000240100202400002000000020EF +:101D2000301D000854020020430200209C020020C5 +:101D30000101C0800201C0800301C0800103414154 +:101D40000203414103034141010202030405060766 +:101D500008090A0B0C0D0E0F101000000000000007 +:101D60000000010203040607080900000000010248 +:101D700003040000941D000800000020240000005F +:101D800028010008B81D000824000020AC0900004C +:101D900044010008000000000000000000000000F6 +:101DA0000000000000000000010000001000000022 +:081DB0000000000000127A009F :04000005080000ED02 :00000001FF diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.htm b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.htm index 50da6b5..a30fe94 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 22:50:54 2025 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sun Dec 07 01:04:45 2025

-

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

+

Maximum Stack Usage = 136 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

@@ -22,9 +22,9 @@ Mutually Recursive functions

  • BusFault_Handler   ⇒   BusFault_Handler
  • HardFault_Handler   ⇒   HardFault_Handler
  • MemManage_Handler   ⇒   MemManage_Handler
    -
  • UART_EndRxTransfer   ⇒   UART_EndRxTransfer
    +
  • 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 = 144 + Unknown Stack Size +

          [Stack]
          • Max Depth = 136 + 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,35 +359,47 @@ 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_memclr4 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text)) +

            __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))

            [Stack]

            • Max Depth = 4
            • Call Chain = __aeabi_memclr4

            [Called By]
            • >>   main -
            • >>   SystemClock_Config +
            • >>   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) +

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

            [Called By]

            • >>   __rt_memclr +
            -

            __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
              @@ -396,26 +408,34 @@ 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) + +

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

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

                [Stack]

                • Max Depth = 8
                • Call Chain = Build_Output_Frame +
                +
                [Called By]
                • >>   main +

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

                [Calls]

                • >>   BusFault_Handler @@ -424,277 +444,259 @@ 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) - -

                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 +

                  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_GetTick -
                  • >>   Output_Hex_With_CRLF +
                    [Calls]
                    • >>   HAL_DMA_IRQHandler +
                    +
                    [Address Reference Count : 1]
                    • startup_stm32f103xb.o(RESET) +
                    +

                    DMA_RX_Process (Thumb, 146 bytes, Stack size 32 bytes, main.o(i.DMA_RX_Process)) +

                    [Stack]

                    • Max Depth = 32
                    • Call Chain = DMA_RX_Process

                    [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 -
                    -
                    [Address Reference Count : 1]
                    • startup_stm32f103xb.o(RESET) -

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

                    • startup_stm32f103xb.o(RESET)
                    -

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

                    [Called By]

                    • >>   HAL_UART_MspInit -
                    • >>   MX_USART2_UART_Init -
                    • >>   MX_USART1_UART_Init +

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

                      [Called By]

                      • >>   HAL_UART_MspInit +
                      • >>   MX_USART2_UART_Init +
                      • >>   MX_USART1_UART_Init
                      -

                      HAL_DMA_Abort (Thumb, 70 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Abort)) +

                      HAL_DMA_Abort (Thumb, 70 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Abort))

                      [Stack]

                      • Max Depth = 8
                      • Call Chain = HAL_DMA_Abort
                      -
                      [Called By]
                      • >>   HAL_UART_IRQHandler +
                        [Called By]
                        • >>   HAL_UART_IRQHandler
                        -

                        HAL_DMA_Abort_IT (Thumb, 148 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT)) +

                        HAL_DMA_Abort_IT (Thumb, 148 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT))

                        [Stack]

                        • Max Depth = 8
                        • Call Chain = HAL_DMA_Abort_IT
                        -
                        [Called By]
                        • >>   HAL_UART_IRQHandler +
                          [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
                          -

                          HAL_DMA_Init (Thumb, 84 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Init)) +

                          HAL_DMA_Init (Thumb, 84 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Init))

                          [Stack]

                          • Max Depth = 12
                          • Call Chain = HAL_DMA_Init
                          -
                          [Called By]
                          • >>   HAL_UART_MspInit +
                            [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 +
                                [Called By]
                                • >>   UART_Start_Receive_DMA
                                -

                                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 -
                                -
                                [Called By]
                                • >>   main -
                                • >>   Send_Command -
                                - -

                                HAL_GPIO_Init (Thumb, 446 bytes, Stack size 40 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)) +

                                HAL_GPIO_Init (Thumb, 446 bytes, Stack size 40 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init))

                                [Stack]

                                • Max Depth = 40
                                • Call Chain = HAL_GPIO_Init
                                -
                                [Called By]
                                • >>   HAL_UART_MspInit -
                                • >>   MX_GPIO_Init +
                                  [Called By]
                                  • >>   HAL_UART_MspInit +
                                  • >>   MX_GPIO_Init
                                  -

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

                                  [Called By]

                                  • >>   MX_GPIO_Init +

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

                                    [Called By]

                                    • >>   MX_GPIO_Init
                                    -

                                    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_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
                                      • >>   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
                                      -

                                      HAL_Init (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal.o(i.HAL_Init)) +

                                      HAL_Init (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal.o(i.HAL_Init))

                                      [Stack]

                                      • Max Depth = 40
                                      • Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                      -
                                      [Calls]
                                      • >>   HAL_MspInit -
                                      • >>   HAL_InitTick -
                                      • >>   HAL_NVIC_SetPriorityGrouping +
                                        [Calls]
                                        • >>   HAL_MspInit +
                                        • >>   HAL_InitTick +
                                        • >>   HAL_NVIC_SetPriorityGrouping

                                        [Called By]
                                        • >>   main
                                        -

                                        HAL_InitTick (Thumb, 54 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_InitTick)) +

                                        HAL_InitTick (Thumb, 54 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_InitTick))

                                        [Stack]

                                        • Max Depth = 32
                                        • Call Chain = HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                        -
                                        [Calls]
                                        • >>   HAL_NVIC_SetPriority -
                                        • >>   HAL_SYSTICK_Config +
                                          [Calls]
                                          • >>   HAL_NVIC_SetPriority +
                                          • >>   HAL_SYSTICK_Config
                                          -
                                          [Called By]
                                          • >>   HAL_RCC_ClockConfig -
                                          • >>   HAL_Init +
                                            [Called By]
                                            • >>   HAL_RCC_ClockConfig +
                                            • >>   HAL_Init
                                            -

                                            HAL_MspInit (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(i.HAL_MspInit)) +

                                            HAL_MspInit (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(i.HAL_MspInit))

                                            [Stack]

                                            • Max Depth = 8
                                            • Call Chain = HAL_MspInit
                                            -
                                            [Called By]
                                            • >>   HAL_Init +
                                              [Called By]
                                              • >>   HAL_Init
                                              -

                                              HAL_NVIC_EnableIRQ (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)) -

                                              [Called By]

                                              • >>   HAL_UART_MspInit -
                                              • >>   MX_DMA_Init +

                                                HAL_NVIC_EnableIRQ (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)) +

                                                [Called By]

                                                • >>   HAL_UART_MspInit +
                                                • >>   MX_DMA_Init
                                                -

                                                HAL_NVIC_SetPriority (Thumb, 60 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)) +

                                                HAL_NVIC_SetPriority (Thumb, 60 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority))

                                                [Stack]

                                                • Max Depth = 16
                                                • Call Chain = HAL_NVIC_SetPriority
                                                -
                                                [Calls]
                                                • >>   __NVIC_SetPriority +
                                                  [Calls]
                                                  • >>   __NVIC_SetPriority
                                                  -
                                                  [Called By]
                                                  • >>   HAL_UART_MspInit -
                                                  • >>   MX_DMA_Init -
                                                  • >>   HAL_InitTick +
                                                    [Called By]
                                                    • >>   HAL_UART_MspInit +
                                                    • >>   MX_DMA_Init +
                                                    • >>   HAL_InitTick
                                                    -

                                                    HAL_NVIC_SetPriorityGrouping (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)) -

                                                    [Called By]

                                                    • >>   HAL_Init +

                                                      HAL_NVIC_SetPriorityGrouping (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)) +

                                                      [Called By]

                                                      • >>   HAL_Init
                                                      -

                                                      HAL_RCC_CSSCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback)) -

                                                      [Called By]

                                                      • >>   HAL_RCC_NMI_IRQHandler +

                                                        HAL_RCC_CSSCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback)) +

                                                        [Called By]

                                                        • >>   HAL_RCC_NMI_IRQHandler
                                                        -

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

                                                        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_GetTick -
                                                        • >>   HAL_RCC_GetSysClockFreq -
                                                        • >>   HAL_InitTick +
                                                          [Calls]
                                                          • >>   HAL_GetTick +
                                                          • >>   HAL_RCC_GetSysClockFreq +
                                                          • >>   HAL_InitTick
                                                          -
                                                          [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)) -

                                                              [Called By]

                                                              • >>   UART_SetConfig +

                                                                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)) -

                                                                [Called By]

                                                                • >>   UART_SetConfig +

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

                                                                  [Called By]

                                                                  • >>   UART_SetConfig
                                                                  -

                                                                  HAL_RCC_GetSysClockFreq (Thumb, 58 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)) -

                                                                  [Called By]

                                                                  • >>   HAL_RCC_ClockConfig +

                                                                    HAL_RCC_GetSysClockFreq (Thumb, 58 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)) +

                                                                    [Called By]

                                                                    • >>   HAL_RCC_ClockConfig
                                                                    -

                                                                    HAL_RCC_NMI_IRQHandler (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler)) +

                                                                    HAL_RCC_NMI_IRQHandler (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler))

                                                                    [Stack]

                                                                    • Max Depth = 8
                                                                    • Call Chain = HAL_RCC_NMI_IRQHandler
                                                                    -
                                                                    [Calls]
                                                                    • >>   HAL_RCC_CSSCallback +
                                                                      [Calls]
                                                                      • >>   HAL_RCC_CSSCallback

                                                                      [Called By]
                                                                      • >>   NMI_Handler
                                                                      -

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

                                                                      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)) +

                                                                          HAL_SYSTICK_Config (Thumb, 40 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config))

                                                                          [Stack]

                                                                          • Max Depth = 8
                                                                          • Call Chain = HAL_SYSTICK_Config
                                                                          -
                                                                          [Calls]
                                                                          • >>   __NVIC_SetPriority +
                                                                            [Calls]
                                                                            • >>   __NVIC_SetPriority
                                                                            -
                                                                            [Called By]
                                                                            • >>   HAL_InitTick +
                                                                              [Called By]
                                                                              • >>   HAL_InitTick
                                                                              -

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

                                                                              [Called By]

                                                                              • >>   UART_Receive_IT +

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

                                                                                [Called By]

                                                                                • >>   UART_Receive_IT
                                                                                • >>   UART_DMARxHalfCplt
                                                                                • >>   UART_DMAReceiveCplt -
                                                                                • >>   HAL_UART_IRQHandler +
                                                                                • >>   HAL_UART_IRQHandler
                                                                                -

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

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

                                                                                [Called By]

                                                                                • >>   UART_DMAError
                                                                                • >>   UART_DMAAbortOnError -
                                                                                • >>   HAL_UART_IRQHandler +
                                                                                • >>   HAL_UART_IRQHandler
                                                                                -

                                                                                HAL_UART_IRQHandler (Thumb, 616 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler)) +

                                                                                HAL_UART_IRQHandler (Thumb, 616 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler))

                                                                                [Stack]

                                                                                • Max Depth = 32
                                                                                • Call Chain = HAL_UART_IRQHandler ⇒ UART_Receive_IT
                                                                                -
                                                                                [Calls]
                                                                                • >>   UART_Receive_IT -
                                                                                • >>   UART_EndRxTransfer -
                                                                                • >>   HAL_UART_TxCpltCallback -
                                                                                • >>   HAL_UART_ErrorCallback -
                                                                                • >>   HAL_UARTEx_RxEventCallback -
                                                                                • >>   HAL_DMA_Abort_IT -
                                                                                • >>   HAL_DMA_Abort +
                                                                                  [Calls]
                                                                                  • >>   UART_Receive_IT +
                                                                                  • >>   UART_EndRxTransfer +
                                                                                  • >>   HAL_UART_TxCpltCallback +
                                                                                  • >>   HAL_UART_ErrorCallback +
                                                                                  • >>   HAL_UARTEx_RxEventCallback +
                                                                                  • >>   HAL_DMA_Abort_IT +
                                                                                  • >>   HAL_DMA_Abort

                                                                                  [Called By]
                                                                                  • >>   USART1_IRQHandler
                                                                                  -

                                                                                  HAL_UART_Init (Thumb, 100 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Init)) +

                                                                                  HAL_UART_Init (Thumb, 100 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Init))

                                                                                  [Stack]

                                                                                  • Max Depth = 96
                                                                                  • Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
                                                                                  -
                                                                                  [Calls]
                                                                                  • >>   UART_SetConfig -
                                                                                  • >>   HAL_UART_MspInit +
                                                                                    [Calls]
                                                                                    • >>   UART_SetConfig +
                                                                                    • >>   HAL_UART_MspInit
                                                                                    -
                                                                                    [Called By]
                                                                                    • >>   MX_USART2_UART_Init -
                                                                                    • >>   MX_USART1_UART_Init +
                                                                                      [Called By]
                                                                                      • >>   MX_USART2_UART_Init +
                                                                                      • >>   MX_USART1_UART_Init
                                                                                      -

                                                                                      HAL_UART_MspInit (Thumb, 302 bytes, Stack size 40 bytes, usart.o(i.HAL_UART_MspInit)) +

                                                                                      HAL_UART_MspInit (Thumb, 302 bytes, Stack size 40 bytes, usart.o(i.HAL_UART_MspInit))

                                                                                      [Stack]

                                                                                      • Max Depth = 80
                                                                                      • Call Chain = HAL_UART_MspInit ⇒ HAL_GPIO_Init
                                                                                      -
                                                                                      [Calls]
                                                                                      • >>   HAL_DMA_Init -
                                                                                      • >>   HAL_NVIC_SetPriority -
                                                                                      • >>   HAL_NVIC_EnableIRQ -
                                                                                      • >>   HAL_GPIO_Init -
                                                                                      • >>   Error_Handler +
                                                                                        [Calls]
                                                                                        • >>   HAL_DMA_Init +
                                                                                        • >>   HAL_NVIC_SetPriority +
                                                                                        • >>   HAL_NVIC_EnableIRQ +
                                                                                        • >>   HAL_GPIO_Init +
                                                                                        • >>   Error_Handler
                                                                                        -
                                                                                        [Called By]
                                                                                        • >>   HAL_UART_Init +
                                                                                          [Called By]
                                                                                          • >>   HAL_UART_Init
                                                                                          -

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

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

                                                                                          [Stack]

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

                                                                                            HAL_UART_RxCpltCallback (Thumb, 14 bytes, Stack size 0 bytes, main.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)) +

                                                                                            [Called By]

                                                                                            • >>   UART_DMARxHalfCplt +
                                                                                            + +

                                                                                            HAL_UART_Transmit (Thumb, 160 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)) +

                                                                                            [Stack]

                                                                                            • Max Depth = 64
                                                                                            • Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout +
                                                                                            +
                                                                                            [Calls]
                                                                                            • >>   UART_WaitOnFlagUntilTimeout +
                                                                                            • >>   HAL_GetTick

                                                                                            [Called By]
                                                                                            • >>   main
                                                                                            -

                                                                                            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)) -

                                                                                            [Called By]

                                                                                            • >>   UART_DMARxHalfCplt -
                                                                                            - -

                                                                                            HAL_UART_Transmit (Thumb, 160 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)) -

                                                                                            [Stack]

                                                                                            • Max Depth = 64
                                                                                            • Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout -
                                                                                            -
                                                                                            [Calls]
                                                                                            • >>   UART_WaitOnFlagUntilTimeout -
                                                                                            • >>   HAL_GetTick -
                                                                                            -
                                                                                            [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)) -

                                                                                            [Called By]

                                                                                            • >>   HAL_UART_IRQHandler +

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

                                                                                              [Called By]

                                                                                              • >>   HAL_UART_IRQHandler

                                                                                              HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.HardFault_Handler)) @@ -704,38 +706,38 @@ Global Symbols


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

                                                                                            MX_DMA_Init (Thumb, 40 bytes, Stack size 8 bytes, dma.o(i.MX_DMA_Init)) +

                                                                                            MX_DMA_Init (Thumb, 40 bytes, Stack size 8 bytes, dma.o(i.MX_DMA_Init))

                                                                                            [Stack]

                                                                                            • Max Depth = 24
                                                                                            • Call Chain = MX_DMA_Init ⇒ HAL_NVIC_SetPriority
                                                                                            -
                                                                                            [Calls]
                                                                                            • >>   HAL_NVIC_SetPriority -
                                                                                            • >>   HAL_NVIC_EnableIRQ +
                                                                                              [Calls]
                                                                                              • >>   HAL_NVIC_SetPriority +
                                                                                              • >>   HAL_NVIC_EnableIRQ

                                                                                              [Called By]
                                                                                              • >>   main
                                                                                              -

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

                                                                                              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_WritePin -
                                                                                              • >>   HAL_GPIO_Init +
                                                                                                [Calls]
                                                                                                • >>   HAL_GPIO_WritePin +
                                                                                                • >>   HAL_GPIO_Init

                                                                                                [Called By]
                                                                                                • >>   main
                                                                                                -

                                                                                                MX_USART1_UART_Init (Thumb, 48 bytes, Stack size 8 bytes, usart.o(i.MX_USART1_UART_Init)) +

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

                                                                                                [Stack]

                                                                                                • Max Depth = 104
                                                                                                • Call Chain = MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
                                                                                                -
                                                                                                [Calls]
                                                                                                • >>   HAL_UART_Init -
                                                                                                • >>   Error_Handler +
                                                                                                  [Calls]
                                                                                                  • >>   HAL_UART_Init +
                                                                                                  • >>   Error_Handler

                                                                                                  [Called By]
                                                                                                  • >>   main
                                                                                                  -

                                                                                                  MX_USART2_UART_Init (Thumb, 48 bytes, Stack size 8 bytes, usart.o(i.MX_USART2_UART_Init)) +

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

                                                                                                  [Stack]

                                                                                                  • Max Depth = 104
                                                                                                  • Call Chain = MX_USART2_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
                                                                                                  -
                                                                                                  [Calls]
                                                                                                  • >>   HAL_UART_Init -
                                                                                                  • >>   Error_Handler +
                                                                                                    [Calls]
                                                                                                    • >>   HAL_UART_Init +
                                                                                                    • >>   Error_Handler

                                                                                                    [Called By]
                                                                                                    • >>   main
                                                                                                    @@ -750,49 +752,40 @@ Global Symbols

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

                                                                                                    [Stack]

                                                                                                    • Max Depth = 8
                                                                                                    • Call Chain = NMI_Handler ⇒ HAL_RCC_NMI_IRQHandler
                                                                                                    -
                                                                                                    [Calls]
                                                                                                    • >>   HAL_RCC_NMI_IRQHandler +
                                                                                                      [Calls]
                                                                                                      • >>   HAL_RCC_NMI_IRQHandler

                                                                                                      [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)
                                                                                                      -

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

                                                                                                      • startup_stm32f103xb.o(RESET) -
                                                                                                      -

                                                                                                      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 -
                                                                                                      • >>   HAL_GetTick -
                                                                                                      • >>   HAL_Delay -
                                                                                                      • >>   Output_Hex_With_CRLF +

                                                                                                        Process_Matrix_Reply (Thumb, 122 bytes, Stack size 28 bytes, main.o(i.Process_Matrix_Reply)) +

                                                                                                        [Stack]

                                                                                                        • Max Depth = 28
                                                                                                        • Call Chain = Process_Matrix_Reply

                                                                                                        [Called By]
                                                                                                        • >>   main
                                                                                                        +

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

                                                                                                        [Stack]

                                                                                                        • Max Depth = 8
                                                                                                        • Call Chain = Process_Status_Reply +
                                                                                                        +
                                                                                                        [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) +

                                                                                                        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_ClockConfig -
                                                                                                          • >>   __aeabi_memclr4 +
                                                                                                            [Calls]
                                                                                                            • >>   HAL_RCC_OscConfig +
                                                                                                            • >>   HAL_RCC_EnableCSS +
                                                                                                            • >>   HAL_RCC_ClockConfig +
                                                                                                            • >>   __aeabi_memclr4

                                                                                                            [Called By]
                                                                                                            • >>   main
                                                                                                            @@ -800,18 +793,26 @@ Global Symbols

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

                                                                                                            • startup_stm32f103xb.o(.text)
                                                                                                            -

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

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

                                                                                                            [Stack]

                                                                                                            • Max Depth = 52
                                                                                                            • Call Chain = UART_DMA_Init ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig +
                                                                                                            +
                                                                                                            [Calls]
                                                                                                            • >>   HAL_UART_Receive_DMA +
                                                                                                            +
                                                                                                            [Called By]
                                                                                                            • >>   main +
                                                                                                            + +

                                                                                                            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 +
                                                                                                                [Called By]
                                                                                                                • >>   HAL_UART_Receive_DMA

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

                                                                                                                [Stack]

                                                                                                                • Max Depth = 32
                                                                                                                • Call Chain = USART1_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ UART_Receive_IT
                                                                                                                -
                                                                                                                [Calls]
                                                                                                                • >>   HAL_UART_IRQHandler +
                                                                                                                  [Calls]
                                                                                                                  • >>   HAL_UART_IRQHandler

                                                                                                                  [Address Reference Count : 1]
                                                                                                                  • startup_stm32f103xb.o(RESET)
                                                                                                                  @@ -822,22 +823,24 @@ Global Symbols

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

                                                                                                                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 +

                                                                                                                  main (Thumb, 570 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
                                                                                                                  -
                                                                                                                  [Calls]
                                                                                                                  • >>   MX_USART2_UART_Init -
                                                                                                                  • >>   MX_USART1_UART_Init -
                                                                                                                  • >>   MX_GPIO_Init -
                                                                                                                  • >>   MX_DMA_Init -
                                                                                                                  • >>   HAL_UART_Receive_DMA -
                                                                                                                  • >>   HAL_Init -
                                                                                                                  • >>   HAL_GetTick -
                                                                                                                  • >>   HAL_Delay -
                                                                                                                  • >>   SystemClock_Config -
                                                                                                                  • >>   Send_Command -
                                                                                                                  • >>   Output_Hex_With_CRLF -
                                                                                                                  • >>   Check_And_Process_Reply -
                                                                                                                  • >>   __aeabi_memclr4 +
                                                                                                                    [Calls]
                                                                                                                    • >>   MX_USART2_UART_Init +
                                                                                                                    • >>   MX_USART1_UART_Init +
                                                                                                                    • >>   MX_GPIO_Init +
                                                                                                                    • >>   MX_DMA_Init +
                                                                                                                    • >>   HAL_UART_Transmit +
                                                                                                                    • >>   HAL_Init +
                                                                                                                    • >>   HAL_GetTick +
                                                                                                                    • >>   UART_DMA_Init +
                                                                                                                    • >>   SystemClock_Config +
                                                                                                                    • >>   Process_Status_Reply +
                                                                                                                    • >>   Process_Matrix_Reply +
                                                                                                                    • >>   DMA_RX_Process +
                                                                                                                    • >>   Build_Output_Frame +
                                                                                                                    • >>   __aeabi_memclr4 +
                                                                                                                    • >>   __aeabi_memclr

                                                                                                                    [Called By]
                                                                                                                    • >>   __rt_entry_main
                                                                                                                    @@ -848,87 +851,87 @@ Local Symbols

                                                                                                                    UART_DMAAbortOnError (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError))

                                                                                                                    [Stack]

                                                                                                                    • Max Depth = 8
                                                                                                                    • Call Chain = UART_DMAAbortOnError
                                                                                                                    -
                                                                                                                    [Calls]
                                                                                                                    • >>   HAL_UART_ErrorCallback +
                                                                                                                      [Calls]
                                                                                                                      • >>   HAL_UART_ErrorCallback

                                                                                                                      [Address Reference Count : 1]
                                                                                                                      • stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler)

                                                                                                                      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 -
                                                                                                                      • >>   UART_EndRxTransfer -
                                                                                                                      • >>   HAL_UART_ErrorCallback +
                                                                                                                        [Calls]
                                                                                                                        • >>   UART_EndTxTransfer +
                                                                                                                        • >>   UART_EndRxTransfer +
                                                                                                                        • >>   HAL_UART_ErrorCallback

                                                                                                                        [Address Reference Count : 1]
                                                                                                                        • stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)

                                                                                                                        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 -
                                                                                                                        • >>   HAL_UARTEx_RxEventCallback +
                                                                                                                          [Calls]
                                                                                                                          • >>   HAL_UART_RxCpltCallback +
                                                                                                                          • >>   HAL_UARTEx_RxEventCallback

                                                                                                                          [Address Reference Count : 1]
                                                                                                                          • stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)

                                                                                                                          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 -
                                                                                                                          • >>   HAL_UARTEx_RxEventCallback +
                                                                                                                            [Calls]
                                                                                                                            • >>   HAL_UART_RxHalfCpltCallback +
                                                                                                                            • >>   HAL_UARTEx_RxEventCallback

                                                                                                                            [Address Reference Count : 1]
                                                                                                                            • stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)
                                                                                                                            -

                                                                                                                            UART_EndRxTransfer (Thumb, 78 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndRxTransfer)) -

                                                                                                                            [Calls]

                                                                                                                            • >>   UART_EndRxTransfer +

                                                                                                                              UART_EndRxTransfer (Thumb, 78 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndRxTransfer)) +

                                                                                                                              [Calls]

                                                                                                                              • >>   UART_EndRxTransfer
                                                                                                                              -
                                                                                                                              [Called By]
                                                                                                                              • >>   UART_WaitOnFlagUntilTimeout -
                                                                                                                              • >>   UART_EndRxTransfer +
                                                                                                                                [Called By]
                                                                                                                                • >>   UART_WaitOnFlagUntilTimeout +
                                                                                                                                • >>   UART_EndRxTransfer
                                                                                                                                • >>   UART_DMAError -
                                                                                                                                • >>   HAL_UART_IRQHandler +
                                                                                                                                • >>   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)) +

                                                                                                                                    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 -
                                                                                                                                    • >>   HAL_UARTEx_RxEventCallback +
                                                                                                                                      [Calls]
                                                                                                                                      • >>   HAL_UART_RxCpltCallback +
                                                                                                                                      • >>   HAL_UARTEx_RxEventCallback
                                                                                                                                      -
                                                                                                                                      [Called By]
                                                                                                                                      • >>   HAL_UART_IRQHandler +
                                                                                                                                        [Called By]
                                                                                                                                        • >>   HAL_UART_IRQHandler
                                                                                                                                        -

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

                                                                                                                                        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 +
                                                                                                                                            [Called By]
                                                                                                                                            • >>   HAL_UART_Init
                                                                                                                                            -

                                                                                                                                            UART_WaitOnFlagUntilTimeout (Thumb, 114 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)) +

                                                                                                                                            UART_WaitOnFlagUntilTimeout (Thumb, 114 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))

                                                                                                                                            [Stack]

                                                                                                                                            • Max Depth = 32
                                                                                                                                            • Call Chain = UART_WaitOnFlagUntilTimeout
                                                                                                                                            -
                                                                                                                                            [Calls]
                                                                                                                                            • >>   UART_EndRxTransfer -
                                                                                                                                            • >>   HAL_GetTick +
                                                                                                                                              [Calls]
                                                                                                                                              • >>   UART_EndRxTransfer +
                                                                                                                                              • >>   HAL_GetTick
                                                                                                                                              -
                                                                                                                                              [Called By]
                                                                                                                                              • >>   HAL_UART_Transmit +
                                                                                                                                                [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)) -

                                                                                                                                                  [Called By]

                                                                                                                                                  • >>   HAL_NVIC_SetPriority -
                                                                                                                                                  • >>   HAL_SYSTICK_Config +

                                                                                                                                                    __NVIC_SetPriority (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)) +

                                                                                                                                                    [Called By]

                                                                                                                                                    • >>   HAL_NVIC_SetPriority +
                                                                                                                                                    • >>   HAL_SYSTICK_Config

                                                                                                                                                    diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.map b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.map index 038d76c..c60abdb 100644 --- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.map +++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.map @@ -25,42 +25,41 @@ 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.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.Build_Output_Frame) refers to main.o(.bss) for .bss + main.o(i.DMA_RX_Process) refers to usart.o(.bss) for huart1 + main.o(i.DMA_RX_Process) refers to main.o(.data) for .data + main.o(i.DMA_RX_Process) refers to main.o(.bss) for .bss + main.o(i.HAL_UART_RxCpltCallback) refers to usart.o(.bss) for huart1 + main.o(i.HAL_UART_RxCpltCallback) refers to main.o(.data) for .data + main.o(i.Process_Matrix_Reply) refers to main.o(.bss) for .bss + main.o(i.Process_Status_Reply) refers to main.o(.bss) for .bss 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 main.o(i.SystemClock_Config) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS) for HAL_RCC_EnableCSS + main.o(i.UART_DMA_Init) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) for HAL_UART_Receive_DMA + main.o(i.UART_DMA_Init) refers to main.o(.bss) for .bss + main.o(i.UART_DMA_Init) refers to usart.o(.bss) for huart1 + main.o(i.UART_DMA_Init) refers to main.o(.data) for .data main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Init) for HAL_Init 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_USART1_UART_Init) for MX_USART1_UART_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 rt_memclr.o(.text) for __aeabi_memclr 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.Output_Hex_With_CRLF) for Output_Hex_With_CRLF + main.o(i.main) refers to main.o(i.UART_DMA_Init) for UART_DMA_Init 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(i.DMA_RX_Process) for DMA_RX_Process + main.o(i.main) refers to main.o(i.Process_Status_Reply) for Process_Status_Reply + main.o(i.main) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit + main.o(i.main) refers to main.o(i.Process_Matrix_Reply) for Process_Matrix_Reply + main.o(i.main) refers to main.o(i.Build_Output_Frame) for Build_Output_Frame main.o(i.main) refers to main.o(.bss) for .bss - main.o(i.main) refers to usart.o(.bss) for huart1 main.o(i.main) refers to main.o(.data) for .data + main.o(i.main) refers to main.o(.constdata) for .constdata + main.o(i.main) refers to usart.o(.bss) for huart1 gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init dma.o(i.MX_DMA_Init) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority @@ -142,7 +141,7 @@ Section Cross References stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) for UART_EndTxTransfer stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback - stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback + stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to main.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) for HAL_UART_RxHalfCpltCallback @@ -152,7 +151,7 @@ Section Cross References stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback) for HAL_UART_TxHalfCpltCallback stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback) for HAL_UART_AbortTransmitCpltCallback - stm32f1xx_hal_uart.o(i.UART_Receive_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback + stm32f1xx_hal_uart.o(i.UART_Receive_IT) refers to main.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback stm32f1xx_hal_uart.o(i.UART_Receive_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback stm32f1xx_hal_uart.o(i.UART_SetConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) for HAL_RCC_GetPCLK2Freq stm32f1xx_hal_uart.o(i.UART_SetConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) for HAL_RCC_GetPCLK1Freq @@ -257,6 +256,7 @@ 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 @@ -365,7 +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.Output_Pure_Hex), (28 bytes). + Removing main.o(.bss), (16 bytes). Removing gpio.o(.rev16_text), (4 bytes). Removing gpio.o(.revsh_text), (4 bytes). Removing gpio.o(.rrx_text), (6 bytes). @@ -423,6 +423,7 @@ Removing Unused input sections from the image. Removing stm32f1xx_hal_uart.o(i.HAL_UART_MspInit), (2 bytes). Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive), (176 bytes). Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT), (28 bytes). + Removing stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback), (2 bytes). Removing stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA), (120 bytes). Removing stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_IT), (50 bytes). Removing stm32f1xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback), (2 bytes). @@ -443,6 +444,7 @@ Removing Unused input sections from the image. Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGStandbyMode), (16 bytes). Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGStopMode), (16 bytes). Removing stm32f1xx_hal.o(i.HAL_DeInit), (32 bytes). + Removing stm32f1xx_hal.o(i.HAL_Delay), (36 bytes). Removing stm32f1xx_hal.o(i.HAL_GetDEVID), (16 bytes). Removing stm32f1xx_hal.o(i.HAL_GetHalVersion), (8 bytes). Removing stm32f1xx_hal.o(i.HAL_GetREVID), (12 bytes). @@ -576,7 +578,7 @@ Removing Unused input sections from the image. Removing system_stm32f1xx.o(.rrx_text), (6 bytes). Removing system_stm32f1xx.o(i.SystemCoreClockUpdate), (104 bytes). -213 unused section(s) (total 9552 bytes) removed from the image. +215 unused section(s) (total 9578 bytes) removed from the image. ============================================================================== @@ -605,53 +607,54 @@ 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 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/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 boardinit3.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 rtexit.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.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/kernel.s 0x00000000 Number 0 rtexit.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 use_no_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 libspace.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/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.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 no_argv.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 libshutdown.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit.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_w.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memclr.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_exit.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_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_cppl_inner.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_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.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.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.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 @@ -724,111 +727,114 @@ 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 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) + .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.Build_Output_Frame 0x080002d4 Section 0 main.o(i.Build_Output_Frame) + i.BusFault_Handler 0x08000330 Section 0 stm32f1xx_it.o(i.BusFault_Handler) + i.DMA1_Channel5_IRQHandler 0x08000334 Section 0 stm32f1xx_it.o(i.DMA1_Channel5_IRQHandler) + i.DMA_RX_Process 0x08000340 Section 0 main.o(i.DMA_RX_Process) + i.DMA_SetConfig 0x080003e8 Section 0 stm32f1xx_hal_dma.o(i.DMA_SetConfig) + DMA_SetConfig 0x080003e9 Thumb Code 42 stm32f1xx_hal_dma.o(i.DMA_SetConfig) + i.DebugMon_Handler 0x08000412 Section 0 stm32f1xx_it.o(i.DebugMon_Handler) + i.Error_Handler 0x08000414 Section 0 main.o(i.Error_Handler) + i.HAL_DMA_Abort 0x08000418 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) + i.HAL_DMA_Abort_IT 0x08000460 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) + i.HAL_DMA_IRQHandler 0x080004f8 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler) + i.HAL_DMA_Init 0x0800064c Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Init) + i.HAL_DMA_Start_IT 0x080006a8 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) + i.HAL_GPIO_Init 0x08000718 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) + i.HAL_GPIO_WritePin 0x080008f8 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) + i.HAL_GetTick 0x08000904 Section 0 stm32f1xx_hal.o(i.HAL_GetTick) + i.HAL_IncTick 0x08000910 Section 0 stm32f1xx_hal.o(i.HAL_IncTick) + i.HAL_Init 0x08000920 Section 0 stm32f1xx_hal.o(i.HAL_Init) + i.HAL_InitTick 0x08000944 Section 0 stm32f1xx_hal.o(i.HAL_InitTick) + i.HAL_MspInit 0x08000984 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit) + i.HAL_NVIC_EnableIRQ 0x080009c0 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) + i.HAL_NVIC_SetPriority 0x080009dc Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) + i.HAL_NVIC_SetPriorityGrouping 0x08000a1c Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) + i.HAL_RCC_CSSCallback 0x08000a40 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback) + i.HAL_RCC_ClockConfig 0x08000a44 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) + i.HAL_RCC_EnableCSS 0x08000b70 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS) + i.HAL_RCC_GetPCLK1Freq 0x08000b7c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) + i.HAL_RCC_GetPCLK2Freq 0x08000b9c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) + i.HAL_RCC_GetSysClockFreq 0x08000bbc Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) + i.HAL_RCC_NMI_IRQHandler 0x08000c08 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) + i.HAL_RCC_OscConfig 0x08000c20 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) + i.HAL_SYSTICK_Config 0x08000f40 Section 0 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) + i.HAL_UARTEx_RxEventCallback 0x08000f68 Section 0 stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) + i.HAL_UART_ErrorCallback 0x08000f6a Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) + i.HAL_UART_IRQHandler 0x08000f6c Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) + i.HAL_UART_Init 0x080011d8 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init) + i.HAL_UART_MspInit 0x0800123c Section 0 usart.o(i.HAL_UART_MspInit) + i.HAL_UART_Receive_DMA 0x0800138c Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) + i.HAL_UART_RxCpltCallback 0x080013a8 Section 0 main.o(i.HAL_UART_RxCpltCallback) + i.HAL_UART_RxHalfCpltCallback 0x080013c0 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) + i.HAL_UART_Transmit 0x080013c2 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) + i.HAL_UART_TxCpltCallback 0x08001462 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) + i.HardFault_Handler 0x08001464 Section 0 stm32f1xx_it.o(i.HardFault_Handler) + i.MX_DMA_Init 0x08001468 Section 0 dma.o(i.MX_DMA_Init) + i.MX_GPIO_Init 0x08001494 Section 0 gpio.o(i.MX_GPIO_Init) + i.MX_USART1_UART_Init 0x08001504 Section 0 usart.o(i.MX_USART1_UART_Init) + i.MX_USART2_UART_Init 0x0800153c Section 0 usart.o(i.MX_USART2_UART_Init) + i.MemManage_Handler 0x08001574 Section 0 stm32f1xx_it.o(i.MemManage_Handler) + i.NMI_Handler 0x08001576 Section 0 stm32f1xx_it.o(i.NMI_Handler) + i.PendSV_Handler 0x0800157c Section 0 stm32f1xx_it.o(i.PendSV_Handler) + i.Process_Matrix_Reply 0x08001580 Section 0 main.o(i.Process_Matrix_Reply) + i.Process_Status_Reply 0x08001600 Section 0 main.o(i.Process_Status_Reply) + i.SVC_Handler 0x0800162c Section 0 stm32f1xx_it.o(i.SVC_Handler) + i.SysTick_Handler 0x0800162e Section 0 stm32f1xx_it.o(i.SysTick_Handler) + i.SystemClock_Config 0x08001632 Section 0 main.o(i.SystemClock_Config) + i.SystemInit 0x08001692 Section 0 system_stm32f1xx.o(i.SystemInit) + i.UART_DMAAbortOnError 0x08001694 Section 0 stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) + UART_DMAAbortOnError 0x08001695 Thumb Code 16 stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) + i.UART_DMAError 0x080016a4 Section 0 stm32f1xx_hal_uart.o(i.UART_DMAError) + UART_DMAError 0x080016a5 Thumb Code 74 stm32f1xx_hal_uart.o(i.UART_DMAError) + i.UART_DMAReceiveCplt 0x080016ee Section 0 stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) + UART_DMAReceiveCplt 0x080016ef Thumb Code 134 stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) + i.UART_DMARxHalfCplt 0x08001774 Section 0 stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) + UART_DMARxHalfCplt 0x08001775 Thumb Code 30 stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) + i.UART_DMA_Init 0x08001794 Section 0 main.o(i.UART_DMA_Init) + i.UART_EndRxTransfer 0x080017c0 Section 0 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) + UART_EndRxTransfer 0x080017c1 Thumb Code 78 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) + i.UART_EndTxTransfer 0x0800180e Section 0 stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) + UART_EndTxTransfer 0x0800180f Thumb Code 28 stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) + i.UART_Receive_IT 0x0800182a Section 0 stm32f1xx_hal_uart.o(i.UART_Receive_IT) + UART_Receive_IT 0x0800182b Thumb Code 194 stm32f1xx_hal_uart.o(i.UART_Receive_IT) + i.UART_SetConfig 0x080018ec Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig) + UART_SetConfig 0x080018ed Thumb Code 178 stm32f1xx_hal_uart.o(i.UART_SetConfig) + i.UART_Start_Receive_DMA 0x080019a4 Section 0 stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) + i.UART_WaitOnFlagUntilTimeout 0x08001a34 Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) + UART_WaitOnFlagUntilTimeout 0x08001a35 Thumb Code 114 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) + i.USART1_IRQHandler 0x08001aa8 Section 0 stm32f1xx_it.o(i.USART1_IRQHandler) + i.UsageFault_Handler 0x08001ab4 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) + i.__NVIC_SetPriority 0x08001ab6 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + __NVIC_SetPriority 0x08001ab7 Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + i.main 0x08001ad8 Section 0 main.o(i.main) + .constdata 0x08001d30 Section 24 main.o(.constdata) + .constdata 0x08001d48 Section 18 stm32f1xx_hal_rcc.o(.constdata) + aPredivFactorTable 0x08001d48 Data 2 stm32f1xx_hal_rcc.o(.constdata) + aPLLMULFactorTable 0x08001d4a Data 16 stm32f1xx_hal_rcc.o(.constdata) + .constdata 0x08001d5a Section 16 system_stm32f1xx.o(.constdata) + .constdata 0x08001d6a Section 8 system_stm32f1xx.o(.constdata) + .data 0x20000000 Section 20 main.o(.data) + last_processed_pos 0x20000010 Data 4 main.o(.data) + .data 0x20000014 Section 12 stm32f1xx_hal.o(.data) + .data 0x20000020 Section 4 system_stm32f1xx.o(.data) + .bss 0x20000024 Section 559 main.o(.bss) + .bss 0x20000254 Section 284 usart.o(.bss) + .bss 0x20000370 Section 96 libspace.o(.bss) + HEAP 0x200003d0 Section 512 startup_stm32f103xb.o(HEAP) + Heap_Mem 0x200003d0 Data 512 startup_stm32f103xb.o(HEAP) + STACK 0x200005d0 Section 1024 startup_stm32f103xb.o(STACK) + Stack_Mem 0x200005d0 Data 1024 startup_stm32f103xb.o(STACK) + __initial_sp 0x200009d0 Data 0 startup_stm32f103xb.o(STACK) Global Symbols @@ -960,100 +966,114 @@ 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_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) + __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) + __semihosting_library_function 0x080002d3 Thumb Code 0 indicate_semi.o(.text) + Build_Output_Frame 0x080002d5 Thumb Code 86 main.o(i.Build_Output_Frame) + BusFault_Handler 0x08000331 Thumb Code 2 stm32f1xx_it.o(i.BusFault_Handler) + DMA1_Channel5_IRQHandler 0x08000335 Thumb Code 6 stm32f1xx_it.o(i.DMA1_Channel5_IRQHandler) + DMA_RX_Process 0x08000341 Thumb Code 146 main.o(i.DMA_RX_Process) + DebugMon_Handler 0x08000413 Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler) + Error_Handler 0x08000415 Thumb Code 4 main.o(i.Error_Handler) + HAL_DMA_Abort 0x08000419 Thumb Code 70 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) + HAL_DMA_Abort_IT 0x08000461 Thumb Code 148 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) + HAL_DMA_IRQHandler 0x080004f9 Thumb Code 316 stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler) + HAL_DMA_Init 0x0800064d Thumb Code 84 stm32f1xx_hal_dma.o(i.HAL_DMA_Init) + HAL_DMA_Start_IT 0x080006a9 Thumb Code 112 stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) + HAL_GPIO_Init 0x08000719 Thumb Code 446 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) + HAL_GPIO_WritePin 0x080008f9 Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) + HAL_GetTick 0x08000905 Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick) + HAL_IncTick 0x08000911 Thumb Code 12 stm32f1xx_hal.o(i.HAL_IncTick) + HAL_Init 0x08000921 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Init) + HAL_InitTick 0x08000945 Thumb Code 54 stm32f1xx_hal.o(i.HAL_InitTick) + HAL_MspInit 0x08000985 Thumb Code 52 stm32f1xx_hal_msp.o(i.HAL_MspInit) + HAL_NVIC_EnableIRQ 0x080009c1 Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) + HAL_NVIC_SetPriority 0x080009dd Thumb Code 60 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) + HAL_NVIC_SetPriorityGrouping 0x08000a1d Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) + HAL_RCC_CSSCallback 0x08000a41 Thumb Code 2 stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback) + HAL_RCC_ClockConfig 0x08000a45 Thumb Code 280 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) + HAL_RCC_EnableCSS 0x08000b71 Thumb Code 8 stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS) + HAL_RCC_GetPCLK1Freq 0x08000b7d Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) + HAL_RCC_GetPCLK2Freq 0x08000b9d Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) + HAL_RCC_GetSysClockFreq 0x08000bbd Thumb Code 58 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) + HAL_RCC_NMI_IRQHandler 0x08000c09 Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) + HAL_RCC_OscConfig 0x08000c21 Thumb Code 778 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) + HAL_SYSTICK_Config 0x08000f41 Thumb Code 40 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) + HAL_UARTEx_RxEventCallback 0x08000f69 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) + HAL_UART_ErrorCallback 0x08000f6b Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) + HAL_UART_IRQHandler 0x08000f6d Thumb Code 616 stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) + HAL_UART_Init 0x080011d9 Thumb Code 100 stm32f1xx_hal_uart.o(i.HAL_UART_Init) + HAL_UART_MspInit 0x0800123d Thumb Code 302 usart.o(i.HAL_UART_MspInit) + HAL_UART_Receive_DMA 0x0800138d Thumb Code 28 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) + HAL_UART_RxCpltCallback 0x080013a9 Thumb Code 14 main.o(i.HAL_UART_RxCpltCallback) + HAL_UART_RxHalfCpltCallback 0x080013c1 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) + HAL_UART_Transmit 0x080013c3 Thumb Code 160 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) + HAL_UART_TxCpltCallback 0x08001463 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) + HardFault_Handler 0x08001465 Thumb Code 2 stm32f1xx_it.o(i.HardFault_Handler) + MX_DMA_Init 0x08001469 Thumb Code 40 dma.o(i.MX_DMA_Init) + MX_GPIO_Init 0x08001495 Thumb Code 102 gpio.o(i.MX_GPIO_Init) + MX_USART1_UART_Init 0x08001505 Thumb Code 48 usart.o(i.MX_USART1_UART_Init) + MX_USART2_UART_Init 0x0800153d Thumb Code 48 usart.o(i.MX_USART2_UART_Init) + MemManage_Handler 0x08001575 Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler) + NMI_Handler 0x08001577 Thumb Code 6 stm32f1xx_it.o(i.NMI_Handler) + PendSV_Handler 0x0800157d Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler) + Process_Matrix_Reply 0x08001581 Thumb Code 122 main.o(i.Process_Matrix_Reply) + Process_Status_Reply 0x08001601 Thumb Code 40 main.o(i.Process_Status_Reply) + SVC_Handler 0x0800162d Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler) + SysTick_Handler 0x0800162f Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler) + SystemClock_Config 0x08001633 Thumb Code 96 main.o(i.SystemClock_Config) + SystemInit 0x08001693 Thumb Code 2 system_stm32f1xx.o(i.SystemInit) + UART_DMA_Init 0x08001795 Thumb Code 32 main.o(i.UART_DMA_Init) + UART_Start_Receive_DMA 0x080019a5 Thumb Code 130 stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) + USART1_IRQHandler 0x08001aa9 Thumb Code 6 stm32f1xx_it.o(i.USART1_IRQHandler) + UsageFault_Handler 0x08001ab5 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) + main 0x08001ad9 Thumb Code 570 main.o(i.main) + status_cmds 0x08001d30 Data 12 main.o(.constdata) + matrix_cmds 0x08001d3c Data 12 main.o(.constdata) + AHBPrescTable 0x08001d5a Data 16 system_stm32f1xx.o(.constdata) + APBPrescTable 0x08001d6a Data 8 system_stm32f1xx.o(.constdata) + Region$$Table$$Base 0x08001d74 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08001d94 Number 0 anon$$obj.o(Region$$Table) + current_state 0x20000000 Data 1 main.o(.data) + current_slave_index 0x20000001 Data 1 main.o(.data) + dma_receive_done 0x20000002 Data 1 main.o(.data) + rx_overflow 0x20000003 Data 1 main.o(.data) + rx_state 0x20000004 Data 1 main.o(.data) + expected_length 0x20000005 Data 1 main.o(.data) + rx_index 0x20000006 Data 1 main.o(.data) + state_start_time 0x20000008 Data 4 main.o(.data) + dma_last_pos 0x2000000c Data 4 main.o(.data) + uwTickFreq 0x20000014 Data 1 stm32f1xx_hal.o(.data) + uwTickPrio 0x20000018 Data 4 stm32f1xx_hal.o(.data) + uwTick 0x2000001c Data 4 stm32f1xx_hal.o(.data) + SystemCoreClock 0x20000020 Data 4 system_stm32f1xx.o(.data) + rx_buffer 0x20000024 Data 256 main.o(.bss) + slaves 0x20000124 Data 99 main.o(.bss) + global_matrix 0x20000187 Data 90 main.o(.bss) + output_frame 0x200001e1 Data 98 main.o(.bss) + rx_data 0x20000243 Data 16 main.o(.bss) + huart1 0x20000254 Data 72 usart.o(.bss) + huart2 0x2000029c Data 72 usart.o(.bss) + huart3 0x200002e4 Data 72 usart.o(.bss) + hdma_usart1_rx 0x2000032c Data 68 usart.o(.bss) + __libspace_start 0x20000370 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x200003d0 Data 0 libspace.o(.bss) @@ -1063,165 +1083,173 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001af4, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001db8, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001adc, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001d94, 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 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) + 0x080000ec 0x080000ec 0x00000008 Code RO 1820 * !!!main c_w.l(__main.o) + 0x080000f4 0x080000f4 0x00000034 Code RO 1979 !!!scatter c_w.l(__scatter.o) + 0x08000128 0x08000128 0x0000001a Code RO 1981 !!handler_copy c_w.l(__scatter_copy.o) 0x08000142 0x08000142 0x00000002 PAD - 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) + 0x08000144 0x08000144 0x0000001c Code RO 1983 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000160 0x08000160 0x00000002 Code RO 1847 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x08000162 0x08000162 0x00000000 Code RO 1854 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1856 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1859 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1861 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1863 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1866 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1868 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1870 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1872 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1874 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1876 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1878 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1880 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1882 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1884 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1886 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1890 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1892 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1894 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1896 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000002 Code RO 1897 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x08000164 0x08000164 0x00000002 Code RO 1917 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000166 0x08000166 0x00000000 Code RO 1930 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1932 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1934 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1937 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1940 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1942 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1945 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000002 Code RO 1946 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) + 0x08000168 0x08000168 0x00000000 Code RO 1822 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000168 0x08000168 0x00000000 Code RO 1824 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000168 0x08000168 0x00000006 Code RO 1836 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800016e 0x0800016e 0x00000000 Code RO 1826 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800016e 0x0800016e 0x00000004 Code RO 1827 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000000 Code RO 1829 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000008 Code RO 1830 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800017a 0x0800017a 0x00000002 Code RO 1851 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800017c 0x0800017c 0x00000000 Code RO 1899 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800017c 0x0800017c 0x00000004 Code RO 1900 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000180 0x08000180 0x00000006 Code RO 1901 .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 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 + 0x080001c8 0x080001c8 0x00000044 Code RO 1814 .text c_w.l(rt_memclr.o) + 0x0800020c 0x0800020c 0x0000004e Code RO 1816 .text c_w.l(rt_memclr_w.o) + 0x0800025a 0x0800025a 0x00000006 Code RO 1818 .text c_w.l(heapauxi.o) + 0x08000260 0x08000260 0x0000004a Code RO 1838 .text c_w.l(sys_stackheap_outer.o) + 0x080002aa 0x080002aa 0x00000012 Code RO 1840 .text c_w.l(exit.o) + 0x080002bc 0x080002bc 0x00000008 Code RO 1848 .text c_w.l(libspace.o) + 0x080002c4 0x080002c4 0x0000000c Code RO 1909 .text c_w.l(sys_exit.o) + 0x080002d0 0x080002d0 0x00000002 Code RO 1920 .text c_w.l(use_no_semi.o) + 0x080002d2 0x080002d2 0x00000000 Code RO 1922 .text c_w.l(indicate_semi.o) + 0x080002d2 0x080002d2 0x00000002 PAD + 0x080002d4 0x080002d4 0x0000005c Code RO 13 i.Build_Output_Frame main.o + 0x08000330 0x08000330 0x00000002 Code RO 287 i.BusFault_Handler stm32f1xx_it.o + 0x08000332 0x08000332 0x00000002 PAD + 0x08000334 0x08000334 0x0000000c Code RO 288 i.DMA1_Channel5_IRQHandler stm32f1xx_it.o + 0x08000340 0x08000340 0x000000a8 Code RO 14 i.DMA_RX_Process main.o + 0x080003e8 0x080003e8 0x0000002a Code RO 1178 i.DMA_SetConfig stm32f1xx_hal_dma.o + 0x08000412 0x08000412 0x00000002 Code RO 289 i.DebugMon_Handler stm32f1xx_it.o + 0x08000414 0x08000414 0x00000004 Code RO 15 i.Error_Handler main.o + 0x08000418 0x08000418 0x00000046 Code RO 1179 i.HAL_DMA_Abort stm32f1xx_hal_dma.o + 0x0800045e 0x0800045e 0x00000002 PAD + 0x08000460 0x08000460 0x00000098 Code RO 1180 i.HAL_DMA_Abort_IT stm32f1xx_hal_dma.o + 0x080004f8 0x080004f8 0x00000154 Code RO 1184 i.HAL_DMA_IRQHandler stm32f1xx_hal_dma.o + 0x0800064c 0x0800064c 0x0000005c Code RO 1185 i.HAL_DMA_Init stm32f1xx_hal_dma.o + 0x080006a8 0x080006a8 0x00000070 Code RO 1189 i.HAL_DMA_Start_IT stm32f1xx_hal_dma.o + 0x08000718 0x08000718 0x000001e0 Code RO 1115 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o + 0x080008f8 0x080008f8 0x0000000a Code RO 1119 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o + 0x08000902 0x08000902 0x00000002 PAD + 0x08000904 0x08000904 0x0000000c Code RO 809 i.HAL_GetTick stm32f1xx_hal.o + 0x08000910 0x08000910 0x00000010 Code RO 815 i.HAL_IncTick stm32f1xx_hal.o + 0x08000920 0x08000920 0x00000024 Code RO 816 i.HAL_Init stm32f1xx_hal.o + 0x08000944 0x08000944 0x00000040 Code RO 817 i.HAL_InitTick stm32f1xx_hal.o + 0x08000984 0x08000984 0x0000003c Code RO 375 i.HAL_MspInit stm32f1xx_hal_msp.o + 0x080009c0 0x080009c0 0x0000001a Code RO 1275 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o + 0x080009da 0x080009da 0x00000002 PAD + 0x080009dc 0x080009dc 0x00000040 Code RO 1281 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08000a1c 0x08000a1c 0x00000024 Code RO 1282 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o + 0x08000a40 0x08000a40 0x00000002 Code RO 972 i.HAL_RCC_CSSCallback stm32f1xx_hal_rcc.o + 0x08000a42 0x08000a42 0x00000002 PAD + 0x08000a44 0x08000a44 0x0000012c Code RO 973 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o + 0x08000b70 0x08000b70 0x0000000c Code RO 976 i.HAL_RCC_EnableCSS stm32f1xx_hal_rcc.o + 0x08000b7c 0x08000b7c 0x00000020 Code RO 980 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o + 0x08000b9c 0x08000b9c 0x00000020 Code RO 981 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o + 0x08000bbc 0x08000bbc 0x0000004c Code RO 982 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o + 0x08000c08 0x08000c08 0x00000018 Code RO 984 i.HAL_RCC_NMI_IRQHandler stm32f1xx_hal_rcc.o + 0x08000c20 0x08000c20 0x00000320 Code RO 985 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o + 0x08000f40 0x08000f40 0x00000028 Code RO 1286 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o + 0x08000f68 0x08000f68 0x00000002 Code RO 447 i.HAL_UARTEx_RxEventCallback stm32f1xx_hal_uart.o + 0x08000f6a 0x08000f6a 0x00000002 Code RO 461 i.HAL_UART_ErrorCallback stm32f1xx_hal_uart.o + 0x08000f6c 0x08000f6c 0x0000026c Code RO 464 i.HAL_UART_IRQHandler stm32f1xx_hal_uart.o + 0x080011d8 0x080011d8 0x00000064 Code RO 465 i.HAL_UART_Init stm32f1xx_hal_uart.o + 0x0800123c 0x0800123c 0x00000150 Code RO 234 i.HAL_UART_MspInit usart.o + 0x0800138c 0x0800138c 0x0000001c Code RO 469 i.HAL_UART_Receive_DMA stm32f1xx_hal_uart.o + 0x080013a8 0x080013a8 0x00000018 Code RO 16 i.HAL_UART_RxCpltCallback main.o + 0x080013c0 0x080013c0 0x00000002 Code RO 472 i.HAL_UART_RxHalfCpltCallback stm32f1xx_hal_uart.o + 0x080013c2 0x080013c2 0x000000a0 Code RO 473 i.HAL_UART_Transmit stm32f1xx_hal_uart.o + 0x08001462 0x08001462 0x00000002 Code RO 476 i.HAL_UART_TxCpltCallback stm32f1xx_hal_uart.o + 0x08001464 0x08001464 0x00000002 Code RO 290 i.HardFault_Handler stm32f1xx_it.o + 0x08001466 0x08001466 0x00000002 PAD + 0x08001468 0x08001468 0x0000002c Code RO 209 i.MX_DMA_Init dma.o + 0x08001494 0x08001494 0x00000070 Code RO 185 i.MX_GPIO_Init gpio.o + 0x08001504 0x08001504 0x00000038 Code RO 235 i.MX_USART1_UART_Init usart.o + 0x0800153c 0x0800153c 0x00000038 Code RO 236 i.MX_USART2_UART_Init usart.o + 0x08001574 0x08001574 0x00000002 Code RO 291 i.MemManage_Handler stm32f1xx_it.o + 0x08001576 0x08001576 0x00000006 Code RO 292 i.NMI_Handler stm32f1xx_it.o + 0x0800157c 0x0800157c 0x00000002 Code RO 293 i.PendSV_Handler stm32f1xx_it.o + 0x0800157e 0x0800157e 0x00000002 PAD + 0x08001580 0x08001580 0x00000080 Code RO 17 i.Process_Matrix_Reply main.o + 0x08001600 0x08001600 0x0000002c Code RO 18 i.Process_Status_Reply main.o + 0x0800162c 0x0800162c 0x00000002 Code RO 294 i.SVC_Handler stm32f1xx_it.o + 0x0800162e 0x0800162e 0x00000004 Code RO 295 i.SysTick_Handler stm32f1xx_it.o + 0x08001632 0x08001632 0x00000060 Code RO 19 i.SystemClock_Config main.o + 0x08001692 0x08001692 0x00000002 Code RO 1776 i.SystemInit system_stm32f1xx.o + 0x08001694 0x08001694 0x00000010 Code RO 478 i.UART_DMAAbortOnError stm32f1xx_hal_uart.o + 0x080016a4 0x080016a4 0x0000004a Code RO 479 i.UART_DMAError stm32f1xx_hal_uart.o + 0x080016ee 0x080016ee 0x00000086 Code RO 480 i.UART_DMAReceiveCplt stm32f1xx_hal_uart.o + 0x08001774 0x08001774 0x0000001e Code RO 482 i.UART_DMARxHalfCplt stm32f1xx_hal_uart.o + 0x08001792 0x08001792 0x00000002 PAD + 0x08001794 0x08001794 0x0000002c Code RO 20 i.UART_DMA_Init main.o + 0x080017c0 0x080017c0 0x0000004e Code RO 488 i.UART_EndRxTransfer stm32f1xx_hal_uart.o + 0x0800180e 0x0800180e 0x0000001c Code RO 489 i.UART_EndTxTransfer stm32f1xx_hal_uart.o + 0x0800182a 0x0800182a 0x000000c2 Code RO 490 i.UART_Receive_IT stm32f1xx_hal_uart.o + 0x080018ec 0x080018ec 0x000000b8 Code RO 491 i.UART_SetConfig stm32f1xx_hal_uart.o + 0x080019a4 0x080019a4 0x00000090 Code RO 492 i.UART_Start_Receive_DMA stm32f1xx_hal_uart.o + 0x08001a34 0x08001a34 0x00000072 Code RO 494 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o + 0x08001aa6 0x08001aa6 0x00000002 PAD + 0x08001aa8 0x08001aa8 0x0000000c Code RO 296 i.USART1_IRQHandler stm32f1xx_it.o + 0x08001ab4 0x08001ab4 0x00000002 Code RO 297 i.UsageFault_Handler stm32f1xx_it.o + 0x08001ab6 0x08001ab6 0x00000020 Code RO 1288 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08001ad6 0x08001ad6 0x00000002 PAD + 0x08001ad8 0x08001ad8 0x00000258 Code RO 21 i.main main.o + 0x08001d30 0x08001d30 0x00000018 Data RO 24 .constdata main.o + 0x08001d48 0x08001d48 0x00000012 Data RO 986 .constdata stm32f1xx_hal_rcc.o + 0x08001d5a 0x08001d5a 0x00000010 Data RO 1777 .constdata system_stm32f1xx.o + 0x08001d6a 0x08001d6a 0x00000008 Data RO 1778 .constdata system_stm32f1xx.o + 0x08001d72 0x08001d72 0x00000002 PAD + 0x08001d74 0x08001d74 0x00000020 Data RO 1977 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001adc, Size: 0x000007e0, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001d94, Size: 0x000009d0, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 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 + 0x20000000 0x08001d94 0x00000014 Data RW 25 .data main.o + 0x20000014 0x08001da8 0x0000000c Data RW 823 .data stm32f1xx_hal.o + 0x20000020 0x08001db4 0x00000004 Data RW 1779 .data system_stm32f1xx.o + 0x20000024 - 0x0000022f Zero RW 22 .bss main.o + 0x20000253 0x08001db8 0x00000001 PAD + 0x20000254 - 0x0000011c Zero RW 238 .bss usart.o + 0x20000370 - 0x00000060 Zero RW 1849 .bss c_w.l(libspace.o) + 0x200003d0 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o + 0x200005d0 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o ============================================================================== @@ -1233,23 +1261,23 @@ Image component sizes 44 4 0 0 0 822 dma.o 112 10 0 0 0 979 gpio.o - 560 58 8 8 76 398724 main.o + 1200 104 24 20 559 402466 main.o 64 26 236 0 1536 844 startup_stm32f103xb.o - 164 28 0 12 0 6165 stm32f1xx_hal.o + 128 24 0 12 0 5529 stm32f1xx_hal.o 198 14 0 0 0 29139 stm32f1xx_hal_cortex.o 808 36 0 0 0 5218 stm32f1xx_hal_dma.o 490 34 0 0 0 2988 stm32f1xx_hal_gpio.o 60 8 0 0 0 942 stm32f1xx_hal_msp.o 1278 92 18 0 0 6947 stm32f1xx_hal_rcc.o - 1914 24 0 0 0 15270 stm32f1xx_hal_uart.o + 1912 24 0 0 0 14720 stm32f1xx_hal_uart.o 48 12 0 0 0 5125 stm32f1xx_it.o 2 0 24 4 0 1215 system_stm32f1xx.o 448 50 0 0 284 2769 usart.o ---------------------------------------------------------------------- - 6202 396 320 24 1896 477147 Object Totals + 6812 438 336 36 2380 479703 Object Totals 0 0 32 0 0 0 (incl. Generated) - 12 0 2 0 0 0 (incl. Padding) + 20 0 2 0 1 0 (incl. Padding) ---------------------------------------------------------------------- @@ -1270,6 +1298,7 @@ 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 @@ -1278,17 +1307,17 @@ Image component sizes 2 0 0 0 0 68 use_no_semi.o ---------------------------------------------------------------------- - 354 16 0 0 96 664 Library Totals - 4 0 0 0 0 0 (incl. Padding) + 424 16 0 0 96 732 Library Totals + 6 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 350 16 0 0 96 664 c_w.l + 418 16 0 0 96 732 c_w.l ---------------------------------------------------------------------- - 354 16 0 0 96 664 Library Totals + 424 16 0 0 96 732 Library Totals ---------------------------------------------------------------------- @@ -1297,15 +1326,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 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 + 7236 454 336 36 2476 476791 Grand Totals + 7236 454 336 36 2476 476791 ELF Image Totals + 7236 454 336 36 0 0 ROM Totals ============================================================================== - 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) + Total RO Size (Code + RO Data) 7572 ( 7.39kB) + Total RW Size (RW Data + ZI Data) 2512 ( 2.45kB) + Total ROM Size (Code + RO Data + RW Data) 7608 ( 7.43kB) ============================================================================== diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster_PressureSensorBoardMaster.dep b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster_PressureSensorBoardMaster.dep index f481fa1..9eef1c7 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)(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) +F (../Core/Src/main.c)(0x6934622C)(--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) diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.crf b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/main.crf index afad68f8cde604375ce370e381415b594d7eaa0f..7646514482c0827fd9d2a153792b0041c5c10494 100644 GIT binary patch delta 6582 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 delta 18503 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