diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e2ce420 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + "files.associations": { + "usart.h": "c", + "modbus_log.h": "c", + "ucos_ii.h": "c", + "app_cfg.h": "c", + "tim.h": "c", + "tool.h": "c", + "main.h": "c", + "ctype.h": "c", + "math.h": "c", + "stm32f4xx_hal.h": "c", + "stm32f4xx_hal_conf.h": "c", + "intrinsics.h": "c", + "gpio.h": "c" + } +} \ No newline at end of file diff --git a/PLSR/PLSR/Core/Inc/flash_save.h b/PLSR/PLSR/Core/Inc/flash_save.h new file mode 100644 index 0000000..1f278fd --- /dev/null +++ b/PLSR/PLSR/Core/Inc/flash_save.h @@ -0,0 +1,161 @@ +#ifndef FLASH_SAVE_H +#define FLASH_SAVE_H + +#include "stm32f4xx_hal.h" +#include + +// 实际需要的寄存器数量(优化内存使用) +#define MODBUS_ACTUAL_REG_COUNT 76 // 实际使用的寄存器数量 + +// Modbus 地址宏定义 +// 基本配置参数地址 (0x1000-0x100C) +#define MODBUS_ADDR_PULSE_OUTPUT_PIN 0x1000 // 脉冲发送端子 +#define MODBUS_ADDR_DIRECTION_OUTPUT_PIN 0x1001 // 脉冲方向端子 +#define MODBUS_ADDR_EXT_INPUT_PIN 0x1002 // EXT信号 +#define MODBUS_ADDR_DIRECTION_DELAY_TIME 0x1003 // 脉冲方向延时时间 +#define MODBUS_ADDR_DIRECTION_LOGIC 0x1004 // 脉冲方向逻辑 +#define MODBUS_ADDR_ACCEL_DECEL_MODE 0x1005 // 脉冲加减速模式 +#define MODBUS_ADDR_RUN_MODE 0x1006 // 运行模式 +#define MODBUS_ADDR_TOTAL_SEGMENTS 0x1007 // 脉冲总段数 +#define MODBUS_ADDR_START_SEGMENT 0x1008 // 起始执行段数 +#define MODBUS_ADDR_DEFAULT_SPEED_LOW 0x1009 // 脉冲默认速度低16位 +#define MODBUS_ADDR_DEFAULT_SPEED_HIGH 0x100A // 脉冲默认速度高16位 +#define MODBUS_ADDR_DEFAULT_ACCEL_TIME 0x100B // 脉冲默认速度加速时间 +#define MODBUS_ADDR_DEFAULT_DECEL_TIME 0x100C // 脉冲默认速度减速时间 + +// 段参数地址基址定义 +#define MODBUS_ADDR_SEGMENT_BASE 0x1100 // 段参数基址 +#define MODBUS_ADDR_SEGMENT_OFFSET 0x0010 // 段间地址偏移 + +// 段参数偏移定义 +#define MODBUS_OFFSET_FREQ_LOW 0x0000 // 脉冲频率低16位偏移 +#define MODBUS_OFFSET_FREQ_HIGH 0x0001 // 脉冲频率高16位偏移 +#define MODBUS_OFFSET_PULSE_COUNT_LOW 0x0002 // 脉冲个数低16位偏移 +#define MODBUS_OFFSET_PULSE_COUNT_HIGH 0x0003 // 脉冲个数高16位偏移 +#define MODBUS_OFFSET_WAIT_CONDITION 0x0004 // 等待条件偏移 +#define MODBUS_OFFSET_JUMP_NUMBER 0x0005 // 跳转编号偏移 + +// 各段参数地址宏定义 +#define MODBUS_ADDR_SEG1_FREQ_LOW 0x1100 // 第1段脉冲频率低16位 +#define MODBUS_ADDR_SEG1_FREQ_HIGH 0x1101 // 第1段脉冲频率高16位 +#define MODBUS_ADDR_SEG1_PULSE_COUNT_LOW 0x1102 // 第1段脉冲个数低16位 +#define MODBUS_ADDR_SEG1_PULSE_COUNT_HIGH 0x1103 // 第1段脉冲个数高16位 +#define MODBUS_ADDR_SEG1_WAIT_CONDITION 0x1104 // 第1段等待条件 +#define MODBUS_ADDR_SEG1_JUMP_NUMBER 0x1105 // 第1段跳转编号 + +#define MODBUS_ADDR_SEG2_FREQ_LOW 0x1110 // 第2段脉冲频率低16位 +#define MODBUS_ADDR_SEG2_FREQ_HIGH 0x1111 // 第2段脉冲频率高16位 +#define MODBUS_ADDR_SEG2_PULSE_COUNT_LOW 0x1112 // 第2段脉冲个数低16位 +#define MODBUS_ADDR_SEG2_PULSE_COUNT_HIGH 0x1113 // 第2段脉冲个数高16位 +#define MODBUS_ADDR_SEG2_WAIT_CONDITION 0x1114 // 第2段等待条件 +#define MODBUS_ADDR_SEG2_JUMP_NUMBER 0x1115 // 第2段跳转编号 + +#define MODBUS_ADDR_SEG3_FREQ_LOW 0x1120 // 第3段脉冲频率低16位 +#define MODBUS_ADDR_SEG3_FREQ_HIGH 0x1121 // 第3段脉冲频率高16位 +#define MODBUS_ADDR_SEG3_PULSE_COUNT_LOW 0x1122 // 第3段脉冲个数低16位 +#define MODBUS_ADDR_SEG3_PULSE_COUNT_HIGH 0x1123 // 第3段脉冲个数高16位 +#define MODBUS_ADDR_SEG3_WAIT_CONDITION 0x1124 // 第3段等待条件 +#define MODBUS_ADDR_SEG3_JUMP_NUMBER 0x1125 // 第3段跳转编号 + +#define MODBUS_ADDR_SEG4_FREQ_LOW 0x1130 // 第4段脉冲频率低16位 +#define MODBUS_ADDR_SEG4_FREQ_HIGH 0x1131 // 第4段脉冲频率高16位 +#define MODBUS_ADDR_SEG4_PULSE_COUNT_LOW 0x1132 // 第4段脉冲个数低16位 +#define MODBUS_ADDR_SEG4_PULSE_COUNT_HIGH 0x1133 // 第4段脉冲个数高16位 +#define MODBUS_ADDR_SEG4_WAIT_CONDITION 0x1134 // 第4段等待条件 +#define MODBUS_ADDR_SEG4_JUMP_NUMBER 0x1135 // 第4段跳转编号 + +#define MODBUS_ADDR_SEG5_FREQ_LOW 0x1140 // 第5段脉冲频率低16位 +#define MODBUS_ADDR_SEG5_FREQ_HIGH 0x1141 // 第5段脉冲频率高16位 +#define MODBUS_ADDR_SEG5_PULSE_COUNT_LOW 0x1142 // 第5段脉冲个数低16位 +#define MODBUS_ADDR_SEG5_PULSE_COUNT_HIGH 0x1143 // 第5段脉冲个数高16位 +#define MODBUS_ADDR_SEG5_WAIT_CONDITION 0x1144 // 第5段等待条件 +#define MODBUS_ADDR_SEG5_JUMP_NUMBER 0x1145 // 第5段跳转编号 + +#define MODBUS_ADDR_SEG6_FREQ_LOW 0x1150 // 第6段脉冲频率低16位 +#define MODBUS_ADDR_SEG6_FREQ_HIGH 0x1151 // 第6段脉冲频率高16位 +#define MODBUS_ADDR_SEG6_PULSE_COUNT_LOW 0x1152 // 第6段脉冲个数低16位 +#define MODBUS_ADDR_SEG6_PULSE_COUNT_HIGH 0x1153 // 第6段脉冲个数高16位 +#define MODBUS_ADDR_SEG6_WAIT_CONDITION 0x1154 // 第6段等待条件 +#define MODBUS_ADDR_SEG6_JUMP_NUMBER 0x1155 // 第6段跳转编号 + +#define MODBUS_ADDR_SEG7_FREQ_LOW 0x1160 // 第7段脉冲频率低16位 +#define MODBUS_ADDR_SEG7_FREQ_HIGH 0x1161 // 第7段脉冲频率高16位 +#define MODBUS_ADDR_SEG7_PULSE_COUNT_LOW 0x1162 // 第7段脉冲个数低16位 +#define MODBUS_ADDR_SEG7_PULSE_COUNT_HIGH 0x1163 // 第7段脉冲个数高16位 +#define MODBUS_ADDR_SEG7_WAIT_CONDITION 0x1164 // 第7段等待条件 +#define MODBUS_ADDR_SEG7_JUMP_NUMBER 0x1165 // 第7段跳转编号 + +#define MODBUS_ADDR_SEG8_FREQ_LOW 0x1170 // 第8段脉冲频率低16位 +#define MODBUS_ADDR_SEG8_FREQ_HIGH 0x1171 // 第8段脉冲频率高16位 +#define MODBUS_ADDR_SEG8_PULSE_COUNT_LOW 0x1172 // 第8段脉冲个数低16位 +#define MODBUS_ADDR_SEG8_PULSE_COUNT_HIGH 0x1173 // 第8段脉冲个数高16位 +#define MODBUS_ADDR_SEG8_WAIT_CONDITION 0x1174 // 第8段等待条件 +#define MODBUS_ADDR_SEG8_JUMP_NUMBER 0x1175 // 第8段跳转编号 + +#define MODBUS_ADDR_SEG9_FREQ_LOW 0x1180 // 第9段脉冲频率低16位 +#define MODBUS_ADDR_SEG9_FREQ_HIGH 0x1181 // 第9段脉冲频率高16位 +#define MODBUS_ADDR_SEG9_PULSE_COUNT_LOW 0x1182 // 第9段脉冲个数低16位 +#define MODBUS_ADDR_SEG9_PULSE_COUNT_HIGH 0x1183 // 第9段脉冲个数高16位 +#define MODBUS_ADDR_SEG9_WAIT_CONDITION 0x1184 // 第9段等待条件 +#define MODBUS_ADDR_SEG9_JUMP_NUMBER 0x1185 // 第9段跳转编号 + +#define MODBUS_ADDR_SEG10_FREQ_LOW 0x1190 // 第10段脉冲频率低16位 +#define MODBUS_ADDR_SEG10_FREQ_HIGH 0x1191 // 第10段脉冲频率高16位 +#define MODBUS_ADDR_SEG10_PULSE_COUNT_LOW 0x1192 // 第10段脉冲个数低16位 +#define MODBUS_ADDR_SEG10_PULSE_COUNT_HIGH 0x1193 // 第10段脉冲个数高16位 +#define MODBUS_ADDR_SEG10_WAIT_CONDITION 0x1194 // 第10段等待条件 +#define MODBUS_ADDR_SEG10_JUMP_NUMBER 0x1195 // 第10段跳转编号 + +// 监控值地址 (0x2000-0x2001) +#define MODBUS_ADDR_PULSE_COUNT_MONITOR_LOW 0x2000 // 脉冲个数监控值低16位 +#define MODBUS_ADDR_PULSE_COUNT_MONITOR_HIGH 0x2001 // 脉冲个数监控值高16位 +#define MODBUS_ADDR_PULSE_COUNT_LOW 0x2000 // 脉冲个数监控值低16位(别名) +#define MODBUS_ADDR_PULSE_COUNT_HIGH 0x2001 // 脉冲个数监控值高16位(别名) + +// 控制按钮地址 (0x3000) +#define MODBUS_ADDR_PULSE_SEND_BUTTON 0x3000 // 脉冲发送按钮 + +// 特殊值定义 +#define MODBUS_INVALID_ADDRESS 0xFFFF // 无效地址标识 + +// 地址映射结构体 +typedef struct { + uint16_t modbus_addr; ///< Modbus地址s + uint16_t array_index; ///< 数组索引 +} modbus_addr_map_t; + + +// 备份SRAM相关定义 +#define BACKUP_SRAM_BASE 0x40024000 +#define BACKUP_MAGIC_NUMBER 0x12345678 +#define BKPSRAM_BASE_ADDR ((uint32_t)0x40024000) + +#define OFFSET_REGS 0x00 // 假设占字节 +/** + * @brief 备份数据结构 + * @note 使用MODBUS_ACTUAL_REG_COUNT(76)作为数组大小,减少内存占用 + */ +typedef struct { + uint16_t holding_regs[MODBUS_ACTUAL_REG_COUNT]; ///< 保持寄存器数组,大小为76 + uint32_t holding_crc; ///< 保持寄存器CRC校验值 + uint32_t magic_number; ///< 魔法数字,用于验证数据有效性 + uint32_t save_timestamp; ///< 保存时间戳(可选) +} BackupData_t; + +void DMA_Start_CopyToBKPSRAM(uint8_t *src, uint32_t len,uint32_t offset); +void DMA_Start_CopyFromBKPSRAM(uint8_t *dst, uint32_t len, uint32_t offset); +// ==================== 备份SRAM相关函数 ==================== +void BackupSRAM_Init(void); +void BackupSRAM_SaveRegData(void); +uint8_t BackupSRAM_RestoreData(void); +void BackupSRAM_ClearData(void); + +// 全局变量声明 +extern BackupData_t* backup_data; + +// Modbus寄存器操作函数 +void FlashSave_Set_Holding_Register(uint16_t address, uint16_t value); +uint16_t FlashSave_Get_Holding_Register(uint16_t address); + + +#endif // FLASH_SAVE_H \ No newline at end of file diff --git a/PLSR/PLSR/Core/Inc/modbus_crc.h b/PLSR/PLSR/Core/Inc/modbus_crc.h new file mode 100644 index 0000000..5018593 --- /dev/null +++ b/PLSR/PLSR/Core/Inc/modbus_crc.h @@ -0,0 +1,9 @@ +#ifndef __MODBUS_CRC_H +#define __MODBUS_CRC_H + +#include "stm32f4xx.h" + +uint16_t Modbus_CRC16(uint8_t *data, uint16_t length); +uint8_t Modbus_CheckCRC(uint8_t *data, uint16_t length); + +#endif \ No newline at end of file diff --git a/PLSR/PLSR/Core/Inc/modbus_log.h b/PLSR/PLSR/Core/Inc/modbus_log.h new file mode 100644 index 0000000..b71718d --- /dev/null +++ b/PLSR/PLSR/Core/Inc/modbus_log.h @@ -0,0 +1,17 @@ +#ifndef MODBUS_LOG_H +#define MODBUS_LOG_H +#include "usart.h" + +#define MODBUS_LOG_MAX 128 ///> 最多保存128条记录 + +typedef struct { + uint8_t element_type; ///> 软元件类型:0x01=保持寄存器,0x02=线圈,0x03=输入寄存器,0x04=离散输入 + uint8_t function_code; ///> 功能码:0x01, 0x03, 0x10等 + uint16_t start_address; ///> 操作起始地址 + uint16_t data_len; ///> 数据长度(读写寄存器数) + uint8_t operation_type; ///> 0x01=读, 0x02=写 + uint8_t error_code; ///> 0=无错,其它=异常码(如0x02地址非法) +}ModbusLog; +void Modbus_Log(uint8_t element, uint8_t func, uint16_t addr, uint16_t len, uint8_t op_type, uint8_t err); +extern ModbusLog modbus_logs[MODBUS_LOG_MAX]; +#endif \ No newline at end of file diff --git a/PLSR/PLSR/Core/Src/flash_save.c b/PLSR/PLSR/Core/Src/flash_save.c new file mode 100644 index 0000000..28f1c56 --- /dev/null +++ b/PLSR/PLSR/Core/Src/flash_save.c @@ -0,0 +1,308 @@ +#include "flash_save.h" +#include "modbus_crc.h" +#include "stm32f4xx_hal.h" +#include + +// 前向声明,避免循环依赖 +typedef struct { + uint8_t slave_address; +} ModbusSlave_t; +extern ModbusSlave_t ModbusSlave; + +// Modbus地址映射表(将Modbus地址映射到紧凑的数组索引) +static const modbus_addr_map_t modbus_address_map[MODBUS_ACTUAL_REG_COUNT] = { + // 基本配置参数 (0x1000-0x100C) -> 索引 0-12 + {MODBUS_ADDR_PULSE_OUTPUT_PIN, 0}, {MODBUS_ADDR_DIRECTION_OUTPUT_PIN, 1}, {MODBUS_ADDR_EXT_INPUT_PIN, 2}, + {MODBUS_ADDR_DIRECTION_DELAY_TIME, 3}, {MODBUS_ADDR_DIRECTION_LOGIC, 4}, {MODBUS_ADDR_ACCEL_DECEL_MODE, 5}, + {MODBUS_ADDR_RUN_MODE, 6}, {MODBUS_ADDR_TOTAL_SEGMENTS, 7}, {MODBUS_ADDR_START_SEGMENT, 8}, + {MODBUS_ADDR_DEFAULT_SPEED_LOW, 9}, {MODBUS_ADDR_DEFAULT_SPEED_HIGH, 10}, {MODBUS_ADDR_DEFAULT_ACCEL_TIME, 11}, {MODBUS_ADDR_DEFAULT_DECEL_TIME, 12}, + + // 第1段参数 (0x1100-0x1105) -> 索引 13-18 + {MODBUS_ADDR_SEG1_FREQ_LOW, 13}, {MODBUS_ADDR_SEG1_FREQ_HIGH, 14}, {MODBUS_ADDR_SEG1_PULSE_COUNT_LOW, 15}, + {MODBUS_ADDR_SEG1_PULSE_COUNT_HIGH, 16}, {MODBUS_ADDR_SEG1_WAIT_CONDITION, 17}, {MODBUS_ADDR_SEG1_JUMP_NUMBER, 18}, + + // 第2段参数 (0x1110-0x1115) -> 索引 19-24 + {MODBUS_ADDR_SEG2_FREQ_LOW, 19}, {MODBUS_ADDR_SEG2_FREQ_HIGH, 20}, {MODBUS_ADDR_SEG2_PULSE_COUNT_LOW, 21}, + {MODBUS_ADDR_SEG2_PULSE_COUNT_HIGH, 22}, {MODBUS_ADDR_SEG2_WAIT_CONDITION, 23}, {MODBUS_ADDR_SEG2_JUMP_NUMBER, 24}, + + // 第3段参数 (0x1120-0x1125) -> 索引 25-30 + {MODBUS_ADDR_SEG3_FREQ_LOW, 25}, {MODBUS_ADDR_SEG3_FREQ_HIGH, 26}, {MODBUS_ADDR_SEG3_PULSE_COUNT_LOW, 27}, + {MODBUS_ADDR_SEG3_PULSE_COUNT_HIGH, 28}, {MODBUS_ADDR_SEG3_WAIT_CONDITION, 29}, {MODBUS_ADDR_SEG3_JUMP_NUMBER, 30}, + + // 第4段参数 (0x1130-0x1135) -> 索引 31-36 + {MODBUS_ADDR_SEG4_FREQ_LOW, 31}, {MODBUS_ADDR_SEG4_FREQ_HIGH, 32}, {MODBUS_ADDR_SEG4_PULSE_COUNT_LOW, 33}, + {MODBUS_ADDR_SEG4_PULSE_COUNT_HIGH, 34}, {MODBUS_ADDR_SEG4_WAIT_CONDITION, 35}, {MODBUS_ADDR_SEG4_JUMP_NUMBER, 36}, + + // 第5段参数 (0x1140-0x1145) -> 索引 37-42 + {MODBUS_ADDR_SEG5_FREQ_LOW, 37}, {MODBUS_ADDR_SEG5_FREQ_HIGH, 38}, {MODBUS_ADDR_SEG5_PULSE_COUNT_LOW, 39}, + {MODBUS_ADDR_SEG5_PULSE_COUNT_HIGH, 40}, {MODBUS_ADDR_SEG5_WAIT_CONDITION, 41}, {MODBUS_ADDR_SEG5_JUMP_NUMBER, 42}, + + // 第6段参数 (0x1150-0x1155) -> 索引 43-48 + {MODBUS_ADDR_SEG6_FREQ_LOW, 43}, {MODBUS_ADDR_SEG6_FREQ_HIGH, 44}, {MODBUS_ADDR_SEG6_PULSE_COUNT_LOW, 45}, + {MODBUS_ADDR_SEG6_PULSE_COUNT_HIGH, 46}, {MODBUS_ADDR_SEG6_WAIT_CONDITION, 47}, {MODBUS_ADDR_SEG6_JUMP_NUMBER, 48}, + + // 第7段参数 (0x1160-0x1165) -> 索引 49-54 + {MODBUS_ADDR_SEG7_FREQ_LOW, 49}, {MODBUS_ADDR_SEG7_FREQ_HIGH, 50}, {MODBUS_ADDR_SEG7_PULSE_COUNT_LOW, 51}, + {MODBUS_ADDR_SEG7_PULSE_COUNT_HIGH, 52}, {MODBUS_ADDR_SEG7_WAIT_CONDITION, 53}, {MODBUS_ADDR_SEG7_JUMP_NUMBER, 54}, + + // 第8段参数 (0x1170-0x1175) -> 索引 55-60 + {MODBUS_ADDR_SEG8_FREQ_LOW, 55}, {MODBUS_ADDR_SEG8_FREQ_HIGH, 56}, {MODBUS_ADDR_SEG8_PULSE_COUNT_LOW, 57}, + {MODBUS_ADDR_SEG8_PULSE_COUNT_HIGH, 58}, {MODBUS_ADDR_SEG8_WAIT_CONDITION, 59}, {MODBUS_ADDR_SEG8_JUMP_NUMBER, 60}, + + // 第9段参数 (0x1180-0x1185) -> 索引 61-66 + {MODBUS_ADDR_SEG9_FREQ_LOW, 61}, {MODBUS_ADDR_SEG9_FREQ_HIGH, 62}, {MODBUS_ADDR_SEG9_PULSE_COUNT_LOW, 63}, + {MODBUS_ADDR_SEG9_PULSE_COUNT_HIGH, 64}, {MODBUS_ADDR_SEG9_WAIT_CONDITION, 65}, {MODBUS_ADDR_SEG9_JUMP_NUMBER, 66}, + + // 第10段参数 (0x1190-0x1195) -> 索引 67-72 + {MODBUS_ADDR_SEG10_FREQ_LOW, 67}, {MODBUS_ADDR_SEG10_FREQ_HIGH, 68}, {MODBUS_ADDR_SEG10_PULSE_COUNT_LOW, 69}, + {MODBUS_ADDR_SEG10_PULSE_COUNT_HIGH, 70}, {MODBUS_ADDR_SEG10_WAIT_CONDITION, 71}, {MODBUS_ADDR_SEG10_JUMP_NUMBER, 72}, + + // 监控值 (0x2000-0x2001) -> 索引 73-74 + {MODBUS_ADDR_PULSE_COUNT_MONITOR_LOW, 73}, {MODBUS_ADDR_PULSE_COUNT_MONITOR_HIGH, 74}, + + // 控制按钮 (0x3000) -> 索引 75 + {MODBUS_ADDR_PULSE_SEND_BUTTON, 75} +}; + +// 备份SRAM中的数据指针声明在头文件中 + +/** + * @brief 根据Modbus地址获取数组索引 + * @param modbus_addr: Modbus地址 + * @retval 数组索引,如果地址无效返回0xFFFF + */ +static uint16_t FlashSave_Get_Array_Index(uint16_t modbus_addr) +{ + for (uint16_t i = 0; i < MODBUS_ACTUAL_REG_COUNT; i++) { + if (modbus_address_map[i].modbus_addr == modbus_addr) + { + return modbus_address_map[i].array_index; + } + } + return MODBUS_INVALID_ADDRESS; // 无效地址 +} + +/** + * @brief 设置保持寄存器值 + * @param address: 寄存器地址 + * @param value: 寄存器值 + * @retval None + */ +void FlashSave_Set_Holding_Register(uint16_t address, uint16_t value) +{ + uint16_t array_index = FlashSave_Get_Array_Index(address); + if (array_index != MODBUS_INVALID_ADDRESS && backup_data != NULL) { + backup_data->holding_regs[array_index] = value; + } +} + +/** + * @brief 获取保持寄存器值 + * @param address: 寄存器地址 + * @retval uint16_t: 寄存器值 + */ +uint16_t FlashSave_Get_Holding_Register(uint16_t address) +{ + uint16_t array_index = FlashSave_Get_Array_Index(address); + if (array_index != MODBUS_INVALID_ADDRESS && backup_data != NULL) + { + return backup_data->holding_regs[array_index]; + } + return 0; +} + +volatile uint8_t dma_bkpsram_done_flag = 0; + +// 添加备份域访问使能函数 +void EnableBackupDomain(void) { + // 1. 使能PWR时钟 + __HAL_RCC_PWR_CLK_ENABLE(); + + // 2. 使能备份域访问 + HAL_PWR_EnableBkUpAccess(); +} + +// DMA句柄 +DMA_HandleTypeDef hdma_backup; + +// 备份数据指针定义,指向备份SRAM中的数据结构 +BackupData_t* backup_data = (BackupData_t*)BKPSRAM_BASE_ADDR; + +// Error_Handler函数已在main.c中定义,此处移除重复定义 + +void DMA_Backup_Init(void) +{ + EnableBackupDomain(); + __HAL_RCC_DMA2_CLK_ENABLE(); + + // 配置DMA2 Stream0用于内存到备份SRAM传输 + hdma_backup.Instance = DMA2_Stream0; + hdma_backup.Init.Channel = DMA_CHANNEL_0; + hdma_backup.Init.Direction = DMA_MEMORY_TO_MEMORY; + hdma_backup.Init.PeriphInc = DMA_PINC_ENABLE; + hdma_backup.Init.MemInc = DMA_MINC_ENABLE; + hdma_backup.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_backup.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_backup.Init.Mode = DMA_NORMAL; + hdma_backup.Init.Priority = DMA_PRIORITY_HIGH; + hdma_backup.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + hdma_backup.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_HALFFULL; + hdma_backup.Init.MemBurst = DMA_MBURST_SINGLE; + hdma_backup.Init.PeriphBurst = DMA_PBURST_SINGLE; + + HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn); +} + +void DMA_Start_CopyToBKPSRAM(uint8_t *src, uint32_t len, uint32_t offset) +{ + EnableBackupDomain(); + + // 停止之前的DMA传输 + HAL_DMA_Abort(&hdma_backup); + + // 清除标志位 + dma_bkpsram_done_flag = 0; + + // 使用HAL库函数启动DMA传输 + if(HAL_DMA_Start_IT(&hdma_backup, (uint32_t)src, BKPSRAM_BASE_ADDR + offset, len) != HAL_OK) + { + // DMA启动失败,设置标志位避免死等 + dma_bkpsram_done_flag = 1; + } +} + +void DMA_Start_CopyFromBKPSRAM(uint8_t *dst, uint32_t len, uint32_t offset) +{ + EnableBackupDomain(); + + // 停止之前的DMA传输 + HAL_DMA_Abort(&hdma_backup); + + // 清除标志位 + dma_bkpsram_done_flag = 0; + + // 使用HAL库函数启动DMA传输 + HAL_DMA_Start_IT(&hdma_backup, BKPSRAM_BASE_ADDR + offset, (uint32_t)dst, len); + dma_bkpsram_done_flag = 1; +} + + +// DMA传输完成回调函数 +void HAL_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma) +{ + if(hdma->Instance == DMA2_Stream0) + { + dma_bkpsram_done_flag = 1; + } +} + + + + +/** + * @brief 初始化备份域和PVD + */ +void BackupSRAM_Init(void) +{ + // 1. 使能PWR和备份域时钟 + __HAL_RCC_PWR_CLK_ENABLE(); + __HAL_RCC_BKPSRAM_CLK_ENABLE(); + + // 2. 使能备份域访问 + HAL_PWR_EnableBkUpAccess(); + + // 3. 使能备份SRAM + HAL_PWREx_EnableBkUpReg(); + + // 4. 等待备份稳压器就绪 + while(__HAL_PWR_GET_FLAG(PWR_FLAG_BRR) == RESET); + + // 初始化DMA + DMA_Backup_Init(); +} + + +/** + * @brief 保存数据到备份SRAM + * @note 该函数执行时间很短,适合在掉电中断中调用 + */ +void BackupSRAM_SaveRegData(void) +{ + // 检查备份SRAM是否可用 + if(__HAL_PWR_GET_FLAG(PWR_FLAG_BRR) == RESET) + { + return; + } + + /* 使用DMA传输76个uint16_t寄存器到备份SRAM */ + DMA_Start_CopyToBKPSRAM((uint8_t*)backup_data->holding_regs, + MODBUS_ACTUAL_REG_COUNT * sizeof(uint16_t), + OFFSET_REGS); + + // 使用HAL_GetTick()实现100ms超时机制 + uint32_t start_tick = HAL_GetTick(); + while(!dma_bkpsram_done_flag) + { + if((HAL_GetTick() - start_tick) > 100) // 100ms超时 + { + HAL_DMA_Abort(&hdma_backup); // 超时则中止DMA传输 + break; + } + HAL_Delay(1); // 让出CPU时间 + } + + // 计算CRC校验 + backup_data->holding_crc = 0xffff; +} + +/** + * @brief 从备份SRAM恢复数据 + * @param[out] 无直接输出参数,数据恢复到backup_data->holding_regs + * @return 1-恢复成功, 0-恢复失败 + * @note 恢复MODBUS_ACTUAL_REG_COUNT(76)个uint16_t寄存器数据 + */ +uint8_t BackupSRAM_RestoreData(void) +{ + if(backup_data->holding_crc != 0xffff) + { + //printf("Backup holding registers CRC error\r\n"); + return 0; + } + + /* 确保数据长度为4字节对齐,提高DMA传输效率 */ + uint32_t transfer_len = MODBUS_ACTUAL_REG_COUNT * sizeof(uint16_t); + if(transfer_len % 4 != 0) + { + transfer_len = ((transfer_len + 3) / 4) * 4; // 向上对齐到4字节边界 + } + + // 恢复保持寄存器 + DMA_Start_CopyFromBKPSRAM((uint8_t*)backup_data->holding_regs, + transfer_len, OFFSET_REGS); + + // 使用HAL_GetTick()实现100ms超时机制 + uint32_t start_tick = HAL_GetTick(); + while(!dma_bkpsram_done_flag) + { + if((HAL_GetTick() - start_tick) > 100) // 100ms超时 + { + HAL_DMA_Abort(&hdma_backup); // 超时则中止DMA传输 + return 0; // 超时失败 + } + HAL_Delay(1); // 让出CPU时间 + } + + return 1; // 恢复成功 +} + +/** + * @brief 清除备份SRAM数据 + */ +void BackupSRAM_ClearData(void) +{ + memset((void*)backup_data, 0, sizeof(BackupData_t)); +} + + + diff --git a/PLSR/PLSR/Core/Src/modbus_crc.c b/PLSR/PLSR/Core/Src/modbus_crc.c new file mode 100644 index 0000000..3d74634 --- /dev/null +++ b/PLSR/PLSR/Core/Src/modbus_crc.c @@ -0,0 +1,71 @@ +#include "modbus_crc.h" + +static const uint16_t crc_table[256] = +{ + 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, + 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, + 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, + 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, + 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, + 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, + 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, + 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, + 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, + 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, + 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, + 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, + 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, + 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, + 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, + 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, + 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, + 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, + 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, + 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, + 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, + 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, + 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, + 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, + 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, + 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, + 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, + 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, + 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, + 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, + 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, + 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040 +}; + +/** + * @brief 计算Modbus CRC16校验码 + * @param data 数据指针 + * @param length 数据长度 + * @return CRC16校验码 + */ +uint16_t Modbus_CRC16(uint8_t *data, uint16_t length) +{ + uint16_t crc = 0xFFFF; + + while(length--) + { + crc = (crc >> 8) ^ crc_table[(crc ^ *data++) & 0xFF]; + } + + return crc; +} + +/** + * @brief 检查Modbus帧的CRC校验 + * @param data 帧数据指针 + * @param length 帧长度(包括CRC) + * @return 1:校验正确, 0:校验错误 + */ +uint8_t Modbus_CheckCRC(uint8_t *data, uint16_t length) +{ + if(length < 3) return 0; + + uint16_t crc_calculated = Modbus_CRC16(data, length - 2); + uint16_t crc_received = (data[length-1] << 8) | data[length-2]; + + return (crc_calculated == crc_received) ? 1 : 0; +} \ No newline at end of file diff --git a/PLSR/PLSR/Core/Src/modbus_log.c b/PLSR/PLSR/Core/Src/modbus_log.c new file mode 100644 index 0000000..c2c335d --- /dev/null +++ b/PLSR/PLSR/Core/Src/modbus_log.c @@ -0,0 +1,24 @@ +#include "modbus_log.h" + +uint16_t log_write_index = 0; +ModbusLog modbus_logs[MODBUS_LOG_MAX]; +/*@brief 记录Modbus操作日志 + @param element 软元件类型:0x01=保持寄存器,0x02=线圈,0x03=输入寄存器,0x04=离散输入 + @param func 功能码:0x01, 0x03, 0x10等 + @param addr 操作起始地址 + @param len 数据长度(读写寄存器数) + @param op_type 0x01=读, 0x02=写 + @param err 错误码:0=无错,其它=异常码(如0x02地址非法) + */ +void Modbus_Log(uint8_t element, uint8_t func, uint16_t addr, uint16_t len, uint8_t op_type, uint8_t err) +{ + ModbusLog* log = &modbus_logs[log_write_index]; + log->element_type = element; + log->function_code = func; + log->start_address = addr; + log->data_len = len; + log->operation_type = op_type; + log->error_code = err; + + log_write_index = (log_write_index + 1) % MODBUS_LOG_MAX; +} diff --git a/PLSR/PLSR/Core/Src/tools.c b/PLSR/PLSR/Core/Src/tools.c new file mode 100644 index 0000000..d9946c0 --- /dev/null +++ b/PLSR/PLSR/Core/Src/tools.c @@ -0,0 +1,964 @@ +#include "tim.h" +void PLSR_Fix_Compensated(uint32_t frequency, uint32_t* ccr) +{ + if (frequency >= 100000) // >= 100kHz + { + *ccr *= 1.05f; // 5% 补偿 + } + else if (frequency >= 50000) // 50-100kHz + { + *ccr *= 1.04f; // 3% 补偿 + } + else if (frequency >= 20000) // 20-50kHz + { + *ccr *= 1.02f; // 2% 补偿 + } +} +/** + * @brief 计算定时器参数 + * @param frequency: 目标频率(Hz) + * @param prescaler: 预分频器值指针 + * @param period: 周期值指针 + * @retval None + * @note 根据目标频率计算TIM10的预分频器和周期值 + */ +void PLSR_CalculateTimerParams(uint32_t frequency, uint16_t* prescaler, uint32_t* period) +{ + if (frequency < PLSR_PWM_FREQ_MIN) frequency = PLSR_PWM_FREQ_MIN; + if (frequency > PLSR_PWM_FREQ_MAX) frequency = PLSR_PWM_FREQ_MAX; + uint32_t timer_clock = 0; + if(PlsrRoute.output_port == 0 || PlsrRoute.output_port == 1) + { + timer_clock = 168000000UL; // TIM10/TIM11时钟 (APB2 84MHz) + } + else + { + timer_clock = 84000000UL; // TIM13/TIM14时钟 (APB1 42MHz) + } + uint32_t divider = (timer_clock + frequency / 2) / frequency; // 四舍五入 + if (divider < 2) divider = 2; // 至少 2 + + // 限制 ARR <= 65535 + uint32_t psc = (divider + 65535) / 65536; // 向上取整 + if (psc > 0xFFFF) psc = 0xFFFF; + + uint32_t arr = (divider / psc) - 1; + if (arr < 1) arr = 1; + if (arr > 65535) arr = 65535; + + *prescaler = (uint16_t)(psc - 1); + *period = arr; +} + +// ==================== PLSR 路径计算函数实现 ==================== +//在加速度较小时,可能会出现计算脉冲数为0的情况,此时会导致无法进入加速状态 +/** + * @brief 计算段脉冲数分配(简化版) + * @param route: 路径控制结构体指针 + * @retval None + * @note 为最后一段或等待脉冲结束的段设计,不区分算法类型 + */ +void Calculate_PluseNum_Simplified(PLSR_RouteConfig_t *route) +{ + int32_t accel_pulse_num = 0; // 加速过程脉冲数 + int32_t decel_pulse_num = 0; // 减速过程脉冲数 + int32_t const_pulse_num = 0; // 匀速过程脉冲数 + uint32_t accel_time = 0; // 加速时间(ms) + uint32_t decel_time = 0; // 减速时间(ms) + + // 参数有效性检查 + if (route == NULL || route->current_section_num == 0) return; + + // 边界检查 + if (route->current_section_num > PLSR_MAX_SECTIONS) return; + + // 获取当前段配置(段号从1开始,数组索引从0开始) + PLSR_SectionConfig_t* current_section = &route->section[route->current_section_num - 1]; + + uint32_t v0 = route->current_freq; // 起始频率 + uint32_t vt = current_section->target_freq; // 目标频率 + uint32_t a = route->accel_rate; // 加速度 + uint32_t d = route->decel_rate; // 减速度 + // 使用实际可发脉冲数,不再区分相对/绝对模式 + int32_t total_pulses = current_section->actual_pulse; // 总脉冲数 + + + // 防止除零错误 + if (a == 0) a = 1; + if (d == 0) d = 1; + + if (vt > v0) + { + // 情况1:目标频率大于当前频率,需要加速 + route->run_state = PLSR_STATE_ACCEL; + + // 计算从v0加速到vt所需的时间和脉冲数 + accel_time = (vt - v0) / a; // 加速时间(ms) + if (accel_time == 0) accel_time = 1; // 至少1ms + + // 加速阶段脉冲数 = (起始频率 + 目标频率) * 时间 / 2000 + // 使用梯形积分公式:面积 = (上底 + 下底) * 高 / 2 + uint64_t temp_accel = (uint64_t)(v0 + vt) * accel_time; + int32_t required_accel_pulses = (int32_t)(temp_accel / 2000); + if(required_accel_pulses == 0) required_accel_pulses = 1; // 至少1个脉冲 + + if (required_accel_pulses <= total_pulses) + { + // 脉冲数足够完成加速,剩余脉冲用于匀速 + accel_pulse_num = required_accel_pulses; + const_pulse_num = total_pulses - required_accel_pulses; + decel_pulse_num = 0; + } + else + { + // 脉冲数不够完成完整加速,全部用于加速 + accel_pulse_num = total_pulses; + const_pulse_num = 0; + decel_pulse_num = 0; + + // 重新计算实际能达到的最大频率 + // 根据:pulses = (v0 + v_actual) * t / 2000,且 t = (v_actual - v0) / a + // 代入得:pulses = (v0 + v_actual) * (v_actual - v0) / (2000 * a) + // 整理得:pulses * 2000 * a = v_actual^2 - v0^2 + // 所以:v_actual^2 = pulses * 2000 * a + v0^2 + + uint64_t v_actual_squared = (uint64_t)total_pulses * 2000ULL * a + (uint64_t)v0 * v0; + + // 检查是否溢出 + if (v_actual_squared <= 0xFFFFFFFFULL) + { + uint32_t v_actual = integer_sqrt_64((uint32_t)v_actual_squared); + + // 确保不超过目标频率 + if (v_actual > vt) + v_actual = vt; + } + } + } + else if (vt < v0) + { + // 情况2:目标频率小于当前频率,需要减速 + route->run_state = PLSR_STATE_DECEL; + + // 计算从v0减速到vt所需的时间和脉冲数 + decel_time = (v0 - vt) / d; // 减速时间(ms) + if (decel_time == 0) decel_time = 1; // 至少1ms + + // 减速阶段脉冲数 = (起始频率 + 目标频率) * 时间 / 2000 + uint64_t temp_decel = (uint64_t)(v0 + vt) * decel_time; + int32_t required_decel_pulses = (int32_t)(temp_decel / 2000); + if(required_decel_pulses == 0) required_decel_pulses = 1; // 至少1个脉冲 + + if (required_decel_pulses <= total_pulses) + { + // 脉冲数足够完成减速,剩余脉冲用于匀速 + decel_pulse_num = required_decel_pulses; + const_pulse_num = total_pulses - required_decel_pulses; + accel_pulse_num = 0; + } + else + { + // 脉冲数不够完成完整减速,全部用于减速 + decel_pulse_num = total_pulses; + const_pulse_num = 0; + accel_pulse_num = 0; + + // 重新计算实际能减速到的最低频率 + // 根据:pulses = (v0 + v_actual) * t / 2000,且 t = (v0 - v_actual) / d + // 代入得:pulses = (v0 + v_actual) * (v0 - v_actual) / (2000 * d) + // 整理得:pulses * 2000 * d = v0^2 - v_actual^2 + // 所以:v_actual^2 = v0^2 - pulses * 2000 * d + + uint64_t v0_squared = (uint64_t)v0 * v0; // 起始频率的平方 + uint64_t reduction = (uint64_t)total_pulses * 2000ULL * d; // 减速所需的脉冲数 + + if (v0_squared > reduction) + { + uint32_t v_actual_squared = (uint32_t)(v0_squared - reduction); + uint32_t v_actual = integer_sqrt_64(v_actual_squared); + + // 确保不低于目标频率(理论上不应该,但防御性编程) + if (v_actual < vt) + v_actual = vt; + } + } + } + else + { + // 情况3:目标频率等于当前频率,全部为匀速 + route->run_state = PLSR_STATE_CONST; + accel_pulse_num = 0; + const_pulse_num = total_pulses; + decel_pulse_num = 0; + } + + // 保存计算结果 + route->accel_pulse_count = accel_pulse_num; + route->const_pulse_count = const_pulse_num; + route->decel_pulse_count = decel_pulse_num; +} + +void Calculate_PluseNum(PLSR_RouteConfig_t *route) +{ + int32_t part1_pulse_num = 0; // 第一部分脉冲数 + int32_t part2_pulse_num = 0; // 第二部分脉冲数 + int32_t part3_pulse_num = 0; // 第三部分脉冲数 + uint32_t part1_time = 0; // 第一部分时间(ms) + uint32_t part3_time = 0; // 第三部分时间(ms) + + // 参数有效性检查 + if (route == NULL || route->current_section_num == 0) return; + + // 边界检查 + if (route->current_section_num > PLSR_MAX_SECTIONS) return; + + // 获取当前段配置(段号从1开始,数组索引从0开始) + PLSR_SectionConfig_t* current_section = &route->section[route->current_section_num - 1]; + + // 只处理线性加减速算法 + if (route->accel_config.accel_algorithm == PLSR_ACCEL_LINEAR) + { + uint32_t v0 = route->current_freq; // 起始频率 + uint32_t vt_desired = current_section->target_freq; // 期望目标频率 + uint32_t vt = vt_desired; // 实际目标频率(可能会被调整) + uint32_t a = route->accel_rate; // 加速度 + uint32_t d = route->decel_rate; // 减速度 + + // 在PLSR_Section_StartNewSection中已经根据模式计算了actual_pulse + int32_t total_pulses = current_section->actual_pulse; // 总脉冲数 + + // 防止除零错误 + if (a == 0) a = 1; + if (d == 0) d = 1; + + // 初始计算:按理想情况计算各部分脉冲数 + PLSR_RunState_t part1_state = PLSR_STATE_CONST; + PLSR_RunState_t part2_state = PLSR_STATE_CONST; + PLSR_RunState_t part3_state = PLSR_STATE_DECEL; + + // 计算理想情况下的第一部分:v0 -> vt + if (v0 < vt) + { + part1_state = PLSR_STATE_ACCEL; + part1_time = (vt - v0) / a; + if (part1_time == 0) part1_time = 1; + + uint64_t temp_calc = (uint64_t)(v0 + vt) * part1_time; + part1_pulse_num = (uint32_t)(temp_calc / 2000); + if(part1_pulse_num == 0) part1_pulse_num = 1; + } + else if (v0 > vt) + { + part1_state = PLSR_STATE_DECEL; + part1_time = (v0 - vt) / d; + if (part1_time == 0) part1_time = 1; + + uint64_t temp_calc = (uint64_t)(v0 + vt) * part1_time; + part1_pulse_num = (uint32_t)(temp_calc / 2000); + if(part1_pulse_num == 0) part1_pulse_num = 1; + } + else + { + part1_pulse_num = 0; + part1_time = 0; + } + + // 计算理想情况下的第三部分:vt -> 0 + if (vt > 0) + { + part3_time = vt / d; + if (part3_time == 0) part3_time = 1; + + uint64_t temp_calc = (uint64_t)vt * part3_time; + part3_pulse_num = (uint32_t)(temp_calc / 2000); + if(part3_pulse_num == 0) part3_pulse_num = 1; + } + else + { + part3_pulse_num = 0; + part3_time = 0; + } + + // 检查脉冲数是否足够 + int32_t used_pulses = part1_pulse_num + part3_pulse_num; + + if (used_pulses <= total_pulses) + { + // 脉冲数足够,计算匀速部分 + part2_pulse_num = total_pulses - used_pulses; + } + else + { + // 脉冲数不足,需要重新规划运动 + part2_pulse_num = 0; // 没有匀速阶段 + + // 优化策略:寻找最优的中间频率vm,使得总脉冲数刚好等于available_pulses + uint32_t vm = OptimalIntermediateFrequency(v0, vt_desired, total_pulses, a, d); + + if (vm != v0) // 找到了有效的中间频率 + { + vt = vm; // 更新实际目标频率 + + // 重新计算第一部分 + if (v0 < vm) + { + part1_state = PLSR_STATE_ACCEL; + // 使用运动学公式:s = (v0 + vm) * t / 2,其中 t = (vm - v0) / a + // 所以:s = (v0 + vm) * (vm - v0) / (2 * a) = (vm^2 - v0^2) / (2 * a) + uint64_t numerator = (uint64_t)vm * vm - (uint64_t)v0 * v0; + part1_pulse_num = (uint32_t)(numerator / (2000ULL * a)); + if (part1_pulse_num == 0) part1_pulse_num = 1; + + part1_time = (vm - v0) / a; + if (part1_time == 0) part1_time = 1; + } + else if (v0 > vm) + { + part1_state = PLSR_STATE_DECEL; + // 减速情况:s = (v0^2 - vm^2) / (2 * d) + uint64_t numerator = (uint64_t)v0 * v0 - (uint64_t)vm * vm; + part1_pulse_num = (uint32_t)(numerator / (2000ULL * d)); + if (part1_pulse_num == 0) part1_pulse_num = 1; + + part1_time = (v0 - vm) / d; + if (part1_time == 0) part1_time = 1; + } + else + { + part1_state = PLSR_STATE_CONST; + part1_pulse_num = 0; + part1_time = 0; + } + + // 重新计算第三部分:vm -> 0 + if (vm > 0) + { + part3_state = PLSR_STATE_DECEL; + // s = vm^2 / (2 * d) + uint64_t numerator = (uint64_t)vm * vm; + part3_pulse_num = (uint32_t)(numerator / (2000ULL * d)); + if (part3_pulse_num == 0) part3_pulse_num = 1; + + part3_time = vm / d; + if (part3_time == 0) part3_time = 1; + } + else + { + part3_pulse_num = 0; + part3_time = 0; + } + + // 确保总脉冲数完全匹配 + int32_t calculated_total = part1_pulse_num + part3_pulse_num; + if (calculated_total != total_pulses) + { + if (calculated_total > total_pulses) + { + // 脉冲数超出限制,按比例缩减 + if (part1_pulse_num > 0 && part3_pulse_num > 0) + { + // 两个阶段都有脉冲,按比例分配 + part1_pulse_num = ((part1_pulse_num * total_pulses) + calculated_total / 2) / calculated_total; //解决脉冲数过小时导致的问题 + part3_pulse_num = total_pulses - part1_pulse_num; + } + else if (part1_pulse_num > 0) + { + // 只有第一阶段有脉冲 + part1_pulse_num = total_pulses; + } + else if (part3_pulse_num > 0) + { + // 只有第三阶段有脉冲 + part3_pulse_num = total_pulses; + } + } + else + { + // 脉冲数不足,将剩余脉冲分配给匀速阶段 + int32_t remaining_pulses = total_pulses - calculated_total; + + // 将剩余脉冲分配给第二阶段(匀速阶段) + // 这样既不影响加减速的数学精确性,又能充分利用所有脉冲 + part2_pulse_num = remaining_pulses; + + // 更新第二阶段状态为匀速 + part2_state = PLSR_STATE_CONST; + } + } + } + else + { + // 无法找到有效的运动规划,保持当前频率 + part1_state = PLSR_STATE_DECEL; + part1_pulse_num = total_pulses; + part1_time = (total_pulses * 1000) / v0; + part3_pulse_num = 0; + part3_time = 0; + vt = 0; // 实际目标频率等于起始频率 + } + } + + // 保存计算结果到结构体 + if (part1_state == PLSR_STATE_ACCEL) + { + route->accel_pulse_count = part1_pulse_num; + } + else + { + route->accel_pulse_count = (part1_state == PLSR_STATE_DECEL) ? part1_pulse_num : 0; + } + + route->const_pulse_count = part2_pulse_num; + route->decel_pulse_count = part3_pulse_num; + + route->part1_state = part1_state; + route->part2_state = part2_state; + route->part3_state = part3_state; + route->part1_target_freq = vt; + route->part2_target_freq = vt; + route->part3_target_freq = 0; + + // 设置初始运行状态 + if (part1_pulse_num > 0) + { + route->run_state = part1_state; + route->target_freq = vt; + } else if (part2_pulse_num > 0) + { + route->run_state = PLSR_STATE_CONST; + route->target_freq = vt; + } else if (part3_pulse_num > 0) + { + route->run_state = PLSR_STATE_DECEL; + route->target_freq = 0; + } else + { + route->run_state = PLSR_STATE_CONST; + route->target_freq = v0; + } + } +} + + +/** + * @brief 计算最优中间频率 + */ +uint32_t OptimalIntermediateFrequency(uint32_t v0, uint32_t vt_desired, + int32_t total_pulses, uint32_t a, uint32_t d) +{ + if (total_pulses <= 0 || a == 0 || d == 0) { + return v0; // 无法优化 + } + + uint32_t vm = v0; + + // 统一平方项 + uint64_t v0_sq = square_u32(v0); + + if (v0 < vt_desired) + { + // 加速情况 + // 公式:vm^2 = [(total + v0^2/(2a)) * 2ad] / (a+d) + uint64_t rhs = (uint64_t)total_pulses * SCALE_FACTOR + (v0_sq / a); //total*2000 + v0^2/a + uint64_t vm_sq = (rhs * a * d) / (a + d); + + if (vm_sq > 0xFFFFFFFFULL) vm_sq = 0xFFFFFFFFULL; + vm = integer_sqrt_64((uint32_t)vm_sq); + + if (vm > vt_desired * 2) vm = vt_desired * 2; + + // 验证是否超出 total_pulses + uint64_t s1 = (square_u32(vm) - v0_sq) / (SCALE_FACTOR * a); + uint64_t s3 = square_u32(vm) / (SCALE_FACTOR * d); + if (s1 + s3 > (uint64_t)total_pulses) { + vm = BinarySearchOptimalFreq(v0, vt_desired, total_pulses, a, d, 1); + } + + } + else if (v0 > vt_desired) + { + // 减速情况 + uint64_t required = v0_sq / (SCALE_FACTOR * d); + if (required <= (uint64_t)total_pulses) { + vm = (vt_desired < v0) ? vt_desired : v0 / 2; + } else + { + uint64_t reduction = (uint64_t)total_pulses * SCALE_FACTOR * d; + vm = (v0_sq > reduction) ? integer_sqrt_64((uint32_t)(v0_sq - reduction)) : 0; + } + } + + return vm; +} + +/** + * @brief 二分搜索寻找最优频率 + * @param v0 起始频率 + * @param vt_desired 期望目标频率 + * @param total_pulses 可用总脉冲数 + * @param a 加速度 + * @param d 减速度 + * @param is_accel 是否为加速情况 + * @return 最优频率 + */ +uint32_t BinarySearchOptimalFreq(uint32_t v0, uint32_t vt_desired, + int32_t total_pulses, uint32_t a, uint32_t d, + uint8_t is_accel) +{ + uint32_t low = is_accel ? v0 : 0; + uint32_t high = is_accel ? (vt_desired * 2) : v0; + uint32_t best_vm = v0; + + for (int iterations = 0; iterations < 20; iterations++) // 限制迭代次数 + { + uint32_t mid = low + (high - low) / 2; + + // 计算当前频率下的脉冲数 + uint32_t s1, s3; + if (is_accel) + { + s1 = ((uint64_t)mid * mid - (uint64_t)v0 * v0) / (2000ULL * a); + } + else + { + s1 = ((uint64_t)v0 * v0 - (uint64_t)mid * mid) / (2000ULL * d); + } + s3 = ((uint64_t)mid * mid) / (2000ULL * d); + + int32_t total_calc = s1 + s3; + + if (total_calc == total_pulses) { + return mid; // 找到精确解 + } else if (total_calc < total_pulses) { + best_vm = mid; + low = mid + 1; + } else { + high = mid - 1; + } + + if (low > high) break; + } + + return best_vm; +} + + +uint64_t square_u32(uint32_t x) +{ + return (uint64_t)x * (uint64_t)x; +} + +static inline int clzll(uint64_t x) { + if (x == 0) return 64; + uint32_t hi = (uint32_t)(x >> 32); + if (hi) return __CLZ(hi); + else return 32 + __CLZ((uint32_t)x); +} + +uint64_t integer_sqrt_64(uint64_t n) +{ + if (n == 0 || n == 1) return n; + + int bitlen = 64 - clzll(n); + uint64_t x = 1ULL << ((bitlen + 1) / 2); + + for (int i = 0; i < 6; i++) { + uint64_t y = (x + n / x) >> 1; + if (y >= x) break; + x = y; + } + + // 修正 + while ((x+1) > 0 && (x+1) <= UINT64_MAX / (x+1) && (x+1)*(x+1) <= n) x++; + while (x*x > n) x--; + + return x; +} + +/** + * @brief 更新加减速度 + * @param route: 路径控制结构体指针 + * @retval None + * @note 根据默认频率和加减速时间重新计算加减速度 + * 计算得到的加速度单位为Hz/ms,在PLSR_Calculate_FreqByPosition函数中 + * 会将其转换为Hz/s^2以符合物理公式要求 + */ +void PLSR_Accel_UpdateRates(PLSR_RouteConfig_t* route) +{ + if (route == NULL) return; + + // 计算加速度 (Hz/ms) + if (route->default_accel_time_ms > 0) + { + route->accel_rate = route->default_freq / route->default_accel_time_ms; + } + else + { + route->accel_rate = 0; // 避免除零错误 + } + + // 计算减速度 (Hz/ms) + if (route->default_decel_time_ms > 0) + { + route->decel_rate = route->default_freq / route->default_decel_time_ms; + } + else + { + route->decel_rate = 0; // 避免除零错误 + } +} + +/* ==================== 快速立方根近似 ==================== */ +static uint32_t cbrt_approx(uint64_t x) +{ + if (x == 0) return 0; + + /* 使用位操作快速初始估算 */ + uint32_t guess; + if (x >= 1000000000ULL) guess = 1000; + else if (x >= 1000000ULL) guess = 100; + else if (x >= 1000ULL) guess = 10; + else guess = 1; + + /* 牛顿法迭代:x_{n+1} = (2*x_n + a/x_n²) / 3 */ + for (int i = 0; i < 3; i++) { + uint64_t guess_sq = (uint64_t)guess * guess; + if (guess_sq == 0) break; + guess = (uint32_t)((2ULL * guess + x / guess_sq) / 3); + } + + return guess; +} + +/* ==================== S曲线参数初始化函数 ==================== */ +void SCurve_InitializeParameters(PLSR_RouteConfig_t* route) +{ + if (route == NULL) return; + + /* 输入参数验证和预处理 */ + const uint32_t accel_rate = (route->accel_rate == 0) ? 1 : route->accel_rate; // Hz/ms + const uint32_t decel_rate = (route->decel_rate == 0) ? 1 : route->decel_rate; // Hz/ms + + /* ============ 加速段参数计算 ============ */ + uint32_t vel_start_accel = route->initial_freq; + uint32_t vel_target_accel = route->part1_target_freq; + if (vel_target_accel > PLSR_PWM_FREQ_MAX) { + vel_target_accel = PLSR_PWM_FREQ_MAX; + } + + uint32_t delta_vel_accel = (vel_target_accel > vel_start_accel) ? + (vel_target_accel - vel_start_accel) : 0; + + if (delta_vel_accel > 0) { + /* 计算加速时间参数 */ + uint32_t total_accel_time_ms = CLAMP_MIN(delta_vel_accel / accel_rate, 1); + uint32_t jerk_time_ms = CLAMP_MIN(total_accel_time_ms / 2, 1); + + /* 关键公式:Δv = J·Tj²,因此 J = Δv / Tj² */ + uint32_t jerk = (uint32_t)DIV_ROUND((uint64_t)delta_vel_accel * 1000ULL, + (uint64_t)jerk_time_ms * jerk_time_ms); + uint32_t max_accel = (jerk * jerk_time_ms) / 1000; // 转换单位 + + /* 脉冲数计算 - 使用精确积分公式 */ + uint64_t T = jerk_time_ms; + uint64_t T_sq = T * T; + uint64_t T_cu = T_sq * T; + + /* 第一阶段: s₁ = v₀·T + (1/6)·J·T³ */ + uint64_t phase1_displacement = (uint64_t)vel_start_accel * T + + ((uint64_t)jerk * T_cu) / 6000; // 除以6000而不是6是因为单位换算 + uint32_t phase1_pulses = (uint32_t)DIV_ROUND(phase1_displacement, 1000); + + /* 第二阶段:中间速度计算 */ + uint32_t vel_mid = vel_start_accel + (uint32_t)((jerk * T_sq) / 2000); + + /* 第二阶段位移:s₂ = v_mid·T - (1/6)·J·T³ (注意减号,因为是减jerk阶段)*/ + uint64_t phase2_displacement = (uint64_t)vel_mid * T - + ((uint64_t)jerk * T_cu) / 6000; + uint32_t phase2_pulses = (uint32_t)DIV_ROUND(phase2_displacement, 1000); + + /* 归一化到实际脉冲总数,防止舍入误差 */ + uint32_t calculated_total = phase1_pulses + phase2_pulses; + uint32_t actual_total = route->accel_pulse_count; + if (calculated_total != actual_total && calculated_total > 0) { + if (actual_total > calculated_total) { + phase2_pulses += (actual_total - calculated_total); + } else { + phase1_pulses = (uint32_t)(((uint64_t)phase1_pulses * actual_total) / calculated_total); + phase2_pulses = actual_total - phase1_pulses; + } + } + + /* 存储加速段参数 */ + route->scurve.accel_jerk = jerk; + route->scurve.accel_max = max_accel; + route->scurve.accel_jerk_time_ms = jerk_time_ms; + route->scurve.accel_phase1_pulses = phase1_pulses; + route->scurve.accel_phase2_pulses = phase2_pulses; + } else { + /* 无加速段,清零参数 */ + route->scurve.accel_jerk = 0; + route->scurve.accel_max = 0; + route->scurve.accel_jerk_time_ms = 0; + route->scurve.accel_phase1_pulses = 0; + route->scurve.accel_phase2_pulses = 0; + } + + /* ============ 减速段参数计算 ============ */ + uint32_t vel_start_decel = route->initial_freq; + uint32_t vel_target_decel = route->part3_target_freq; + if (vel_start_decel > PLSR_PWM_FREQ_MAX) { + vel_start_decel = PLSR_PWM_FREQ_MAX; + } + + uint32_t delta_vel_decel = (vel_start_decel > vel_target_decel) ? + (vel_start_decel - vel_target_decel) : 0; + + if (delta_vel_decel > 0) { + /* 计算减速时间参数 */ + uint32_t total_decel_time_ms = CLAMP_MIN(delta_vel_decel / decel_rate, 1); + uint32_t jerk_time_ms = CLAMP_MIN(total_decel_time_ms / 2, 1); + + /* 减速jerk计算 */ + uint32_t jerk = (uint32_t)DIV_ROUND((uint64_t)delta_vel_decel * 1000ULL, + (uint64_t)jerk_time_ms * jerk_time_ms); + uint32_t max_decel = (jerk * jerk_time_ms) / 1000; + + /* 减速段脉冲数计算 */ + uint64_t T = jerk_time_ms; + uint64_t T_sq = T * T; + uint64_t T_cu = T_sq * T; + + /* 第一阶段(减速开始): s₁ = v₀·T - (1/6)·J·T³ (减号,因为是减速)*/ + uint64_t phase1_displacement = (uint64_t)vel_start_decel * T - + ((uint64_t)jerk * T_cu) / 6000; + /* 防止负数 */ + if ((int64_t)phase1_displacement < 0) phase1_displacement = 0; + uint32_t phase1_pulses = (uint32_t)DIV_ROUND(phase1_displacement, 1000); + + /* 第二阶段:中间速度 */ + uint32_t vel_mid = (vel_start_decel > (jerk * T_sq) / 2000) ? + vel_start_decel - (jerk * T_sq) / 2000 : 0; + + /* 第二阶段位移:s₂ = v_mid·T + (1/6)·J·T³ (加号,因为是减jerk阶段)*/ + uint64_t phase2_displacement = (uint64_t)vel_mid * T + + ((uint64_t)jerk * T_cu) / 6000; + uint32_t phase2_pulses = (uint32_t)DIV_ROUND(phase2_displacement, 1000); + + /* 归一化到实际脉冲总数 */ + uint32_t calculated_total = phase1_pulses + phase2_pulses; + uint32_t actual_total = route->decel_pulse_count; + if (calculated_total != actual_total && calculated_total > 0) { + if (actual_total > calculated_total) { + phase2_pulses += (actual_total - calculated_total); + } else { + phase1_pulses = (uint32_t)(((uint64_t)phase1_pulses * actual_total) / calculated_total); + phase2_pulses = actual_total - phase1_pulses; + } + } + + /* 存储减速段参数 */ + route->scurve.decel_jerk = jerk; + route->scurve.decel_max = max_decel; + route->scurve.decel_jerk_time_ms = jerk_time_ms; + route->scurve.decel_phase1_pulses = phase1_pulses; + route->scurve.decel_phase2_pulses = phase2_pulses; + } + else + { + /* 无减速段,清零参数 */ + route->scurve.decel_jerk = 0; + route->scurve.decel_max = 0; + route->scurve.decel_jerk_time_ms = 0; + route->scurve.decel_phase1_pulses = 0; + route->scurve.decel_phase2_pulses = 0; + } +} + +/* ==================== 第一阶段多项式求解(加速或减速开始阶段)==================== */ +static uint32_t SCurve_SolvePhase1_Polynomial(uint32_t vel_start, uint32_t jerk, + uint64_t displacement, uint8_t is_deceleration) +{ + if (jerk == 0) return vel_start; + + /* 方程: s = v₀·t ± (1/6)·J·t³ + 对于加速: s = v₀·t + (1/6)·J·t³ (正号) + 对于减速: s = v₀·t - (1/6)·J·t³ (负号) + */ + + if (vel_start == 0) + { + /* 特殊情况:从零速开始 */ + if (is_deceleration) return 0; /* 减速从0开始不合理 */ + + /* 纯立方方程: s = (1/6)·J·t³ => t = ∛(6s/J) */ + uint64_t t_cubed = (6000ULL * displacement) / jerk; /* 乘1000是单位换算 */ + uint32_t time_ms = cbrt_approx(t_cubed); + + /* v = (1/2)·J·t² */ + uint64_t velocity = ((uint64_t)jerk * time_ms * time_ms) / 2000; + return CLAMP_FREQUENCY(velocity); + } + + /* 使用多项式近似求解 */ + /* 设 x = J·s/(v₀³), 则 t/τ ≈ 1 + x/6 - x²/36,其中 τ = s/v₀ */ + uint64_t v0_sq = (uint64_t)vel_start * vel_start; + uint64_t v0_cu = v0_sq * vel_start; + + /* 基础时间估计: τ = s/v₀ */ + uint64_t tau_ms = displacement / vel_start; + + /* 修正项计算: x = J·s/(v₀³) */ + uint64_t x_numerator = (uint64_t)jerk * displacement; + uint64_t x = x_numerator / v0_cu; + + /* 多项式修正: t ≈ τ·(1 + x/6 - x²/36) */ + uint64_t correction = x / 6; + if (x < 36) { /* 防止溢出和负数 */ + uint64_t x_sq = x * x; + if (correction > x_sq / 36) { + correction -= x_sq / 36; + } + } + + uint64_t time_ms = tau_ms + (tau_ms * correction) / 1000; + if (time_ms == 0) time_ms = 1; + + /* 计算速度: v = v₀ ± (1/2)·J·t² */ + uint64_t time_sq = (time_ms * time_ms) / 1000; /* 防止溢出 */ + uint64_t accel_term = ((uint64_t)jerk * time_sq) / 2; + + uint64_t velocity; + if (is_deceleration) { + /* 减速: v = v₀ - (1/2)·J·t² */ + velocity = ((uint64_t)vel_start * 1000 > accel_term) ? + ((uint64_t)vel_start * 1000 - accel_term) / 1000 : 0; + } else { + /* 加速: v = v₀ + (1/2)·J·t² */ + velocity = vel_start + accel_term / 1000; + } + + return CLAMP_FREQUENCY(velocity); +} + +/* ==================== 第二阶段多项式求解(jerk减小阶段)==================== */ +static uint32_t SCurve_SolvePhase2_Polynomial(uint32_t vel_start, uint32_t jerk, + uint32_t jerk_time_ms, uint64_t displacement, + uint8_t is_deceleration) +{ + if (jerk == 0 || jerk_time_ms == 0) return vel_start; + + /* 第二阶段的起点速度计算 */ + uint64_t T_sq = (uint64_t)jerk_time_ms * jerk_time_ms; + uint32_t vel_mid; + + if (is_deceleration) { + /* 减速段:第二阶段起点是第一阶段结束点 */ + vel_mid = ((uint64_t)vel_start * 1000 > (jerk * T_sq) / 2) ? + vel_start - (uint32_t)((jerk * T_sq) / 2000) : 0; + } else { + /* 加速段:第二阶段起点 */ + vel_mid = vel_start + (uint32_t)((jerk * T_sq) / 2000); + } + + /* 第二阶段方程求解 */ + /* 加速第二阶段: s = v_mid·t - (1/6)·J·t³ (减jerk) + 减速第二阶段: s = v_mid·t + (1/6)·J·t³ (减jerk,但整体仍是减速)*/ + + if (vel_mid == 0) { + /* 特殊情况处理 */ + uint64_t t_cubed = (6000ULL * displacement) / jerk; + uint32_t time_ms = cbrt_approx(t_cubed); + + uint64_t velocity; + if (is_deceleration) { + velocity = ((uint64_t)jerk * time_ms * time_ms) / 2000; + } else { + velocity = vel_mid > ((uint64_t)jerk * time_ms * time_ms) / 2000 ? + vel_mid - ((uint64_t)jerk * time_ms * time_ms) / 2000 : 0; + } + return CLAMP_FREQUENCY(velocity); + } + + /* 多项式近似求解 */ + uint64_t v_mid_sq = (uint64_t)vel_mid * vel_mid; + uint64_t v_mid_cu = v_mid_sq * vel_mid; + + /* 基础时间: τ = s/v_mid */ + uint64_t tau_ms = displacement / vel_mid; + + /* 修正项: x = J·s/(v_mid³) */ + uint64_t x = ((uint64_t)jerk * displacement) / v_mid_cu; + + /* 第二阶段的修正(负jerk效应)*/ + uint64_t correction = x / 6; + uint64_t time_ms = (tau_ms > correction) ? tau_ms - correction : tau_ms; + if (time_ms == 0) time_ms = 1; + + /* 计算最终速度 */ + uint64_t time_sq = (time_ms * time_ms) / 1000; + uint64_t jerk_term = ((uint64_t)jerk * time_sq) / 2000; + + uint64_t velocity; + if (is_deceleration) { + /* 减速第二阶段: v = v_mid + (1/2)·J·t² (注意这里是加号,因为jerk方向改变)*/ + velocity = vel_mid + jerk_term; + } else { + /* 加速第二阶段: v = v_mid - (1/2)·J·t² (减jerk阶段)*/ + velocity = (vel_mid > jerk_term) ? vel_mid - jerk_term : 0; + } + + return CLAMP_FREQUENCY(velocity); +} + +/* ==================== 主要的多项式近似速度计算函数 ==================== */ +uint32_t SCurve_CalculateVelocityByPosition_Polynomial(PLSR_RouteConfig_t* route, + uint8_t is_acceleration, + uint32_t executed_pulses) +{ + if (route == NULL) return 0; + + uint32_t vel_start, jerk, jerk_time_ms; + uint32_t phase1_pulses, phase2_pulses; + + if (is_acceleration) { + /* 加速段参数 */ + vel_start = route->initial_freq; + jerk = route->scurve.accel_jerk; + jerk_time_ms = route->scurve.accel_jerk_time_ms; + phase1_pulses = route->scurve.accel_phase1_pulses; + phase2_pulses = route->scurve.accel_phase2_pulses; + } else { + /* 减速段参数 */ + vel_start = route->initial_freq; + jerk = route->scurve.decel_jerk; + jerk_time_ms = route->scurve.decel_jerk_time_ms; + phase1_pulses = route->scurve.decel_phase1_pulses; + phase2_pulses = route->scurve.decel_phase2_pulses; + } + + /* 参数有效性检查 */ + if (jerk == 0 || jerk_time_ms == 0) return vel_start; + if ((phase1_pulses + phase2_pulses) == 0) return vel_start; + + /* 将脉冲转换为位移 (Hz·ms) */ + uint64_t displacement = (uint64_t)executed_pulses * 1000ULL; + + /* 判断当前处于哪个阶段并求解 */ + if (executed_pulses <= phase1_pulses) { + /* 第一阶段:正jerk或负jerk开始 */ + return SCurve_SolvePhase1_Polynomial(vel_start, jerk, displacement, !is_acceleration); + } else if (executed_pulses <= (phase1_pulses + phase2_pulses)) { + /* 第二阶段:jerk减小阶段 */ + uint64_t phase2_displacement = (uint64_t)(executed_pulses - phase1_pulses) * 1000ULL; + return SCurve_SolvePhase2_Polynomial(vel_start, jerk, jerk_time_ms, + phase2_displacement, !is_acceleration); + } else { + /* 超出范围,返回目标速度 */ + if (is_acceleration) { + return CLAMP_FREQUENCY(route->part1_target_freq); + } else { + return CLAMP_FREQUENCY(route->part3_target_freq); + } + } +} \ No newline at end of file diff --git a/PLSR/PLSR/EWARM/settings/test.1.dnx b/PLSR/PLSR/EWARM/settings/test.1.dnx index bdf21f1..6036b0f 100644 --- a/PLSR/PLSR/EWARM/settings/test.1.dnx +++ b/PLSR/PLSR/EWARM/settings/test.1.dnx @@ -12,12 +12,12 @@ 50 - 46232557 - _ 0 _ 0 0 2 + 46232557 + 630028761 diff --git a/PLSR/PLSR/EWARM/test.1.dep b/PLSR/PLSR/EWARM/test.1.dep index da22127..45c4779 100644 --- a/PLSR/PLSR/EWARM/test.1.dep +++ b/PLSR/PLSR/EWARM/test.1.dep @@ -5,670 +5,682 @@ test.1 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_pwr.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_rng.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dac.c - $PROJ_DIR$\..\UCOS\Config\app_hooks.c - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_uart.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_pwr.o - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c - $PROJ_DIR$\..\UCOS\Ports\os_cpu_c.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_gpio.c - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_spi.o - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_exti.c - $PROJ_DIR$\..\UCOS\Ports\os_cpu_a.asm - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_rcc.c - $PROJ_DIR$\..\UCOS\Ports\os_dbg.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_i2c.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_wwdg.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dma.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_spi.c - $PROJ_DIR$\..\UCOS\Source\ucos_ii.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_crc.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_tim.c - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_wwdg.o - $PROJ_DIR$\test.1\Obj\os_cpu_a.o - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_usart.c - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_tim.o - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sram.c - $PROJ_DIR$\..\Core\Src\stm32f4xx_hal_timebase_tim.c - $PROJ_DIR$\..\Core\Src\main.c + $PROJ_DIR$\..\Core\Src\usart.c + $PROJ_DIR$\..\Core\Src\tools.c $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c + $PROJ_DIR$\startup_stm32f407xx.s + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c - $PROJ_DIR$\..\Core\Src\modbus_crc.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c - $PROJ_DIR$\..\Core\Src\flash_save.c - $PROJ_DIR$\..\Core\Src\usart.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c - $PROJ_DIR$\..\Core\Src\tim.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c $PROJ_DIR$\..\Core\Src\dma.c - $PROJ_DIR$\..\Core\Src\modbus_log.c - $PROJ_DIR$\..\Core\Src\stm32f4xx_hal_msp.c - $PROJ_DIR$\..\Core\Src\stm32f4xx_it.c - $PROJ_DIR$\startup_stm32f407xx.s + $PROJ_DIR$\..\Core\Src\modbus_crc.c $PROJ_DIR$\..\Core\Src\system_stm32f4xx.c + $PROJ_DIR$\..\Core\Src\tim.c $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c + $PROJ_DIR$\..\Core\Src\flash_save.c + $PROJ_DIR$\..\Core\Src\stm32f4xx_hal_timebase_tim.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c + $PROJ_DIR$\..\Core\Src\main.c + $PROJ_DIR$\..\Core\Src\modbus_log.c $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c + $PROJ_DIR$\..\Core\Src\stm32f4xx_hal_msp.c + $PROJ_DIR$\..\Core\Src\stm32f4xx_it.c $PROJ_DIR$\..\Core\Src\gpio.c - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c - $PROJ_DIR$\..\Core\Src\tools.c - $PROJ_DIR$\test.1\Obj\flash_save.o - $TOOLKIT_DIR$\inc\c\DLib_Product.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h - $PROJ_DIR$\..\Core\Inc\main.h - $PROJ_DIR$\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h - $TOOLKIT_DIR$\inc\c\stdint.h - $TOOLKIT_DIR$\inc\c\iccarm_builtin.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h - $PROJ_DIR$\test.1\Exe\test.1.hex - $PROJ_DIR$\..\Drivers\CMSIS\Include\cmsis_version.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal.o - $PROJ_DIR$\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_dma.o - $PROJ_DIR$\test.1\Obj\modbus_log.o - $PROJ_DIR$\..\Drivers\CMSIS\Include\core_cm4.h - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_cortex.o - $TOOLKIT_DIR$\inc\c\DLib_Config_Full.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h - $PROJ_DIR$\test.1\Exe\test.1.out + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_gpio.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_usart.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_wwdg.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c + $PROJ_DIR$\..\UCOS\Source\ucos_ii.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dac.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_i2c.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_pwr.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_rcc.c + $PROJ_DIR$\..\UCOS\Ports\os_cpu_c.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sram.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_spi.c + $PROJ_DIR$\..\UCOS\Config\app_hooks.c + $PROJ_DIR$\..\UCOS\Ports\os_cpu_a.asm + $TOOLKIT_DIR$\inc\c\ctype.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h + $TOOLKIT_DIR$\lib\m7M_tls.a + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_crc.c + $PROJ_DIR$\..\UCOS\Ports\os_dbg.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_exti.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dma.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_rng.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_tim.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_flash_ex.o + $TOOLKIT_DIR$\inc\c\intrinsics.h + $TOOLKIT_DIR$\inc\c\math.h + $TOOLKIT_DIR$\inc\c\DLib_Product_string.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_msp.o + $TOOLKIT_DIR$\lib\dl7M_tlf.a + $PROJ_DIR$\..\UCOS\Config\app_cfg.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_dma_ex.o + $PROJ_DIR$\..\UCOS\Source\os_trace.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_rcc.o + $PROJ_DIR$\test.1\Obj\os_dbg.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_sram.o + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h + $PROJ_DIR$\test.1\List\test.1.map + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h + $PROJ_DIR$\stm32f407xx_flash.icf + $PROJ_DIR$\..\UCOS\Config\os_cfg.h + $PROJ_DIR$\..\Core\Inc\modbus_crc.h + $PROJ_DIR$\test.1\Obj\tools.o + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_exti.o + $TOOLKIT_DIR$\inc\c\iar_intrinsics_common.h + $TOOLKIT_DIR$\lib\shb_l.a + $TOOLKIT_DIR$\lib\rt7M_tl.a + $TOOLKIT_DIR$\inc\c\DLib_Product_stdlib.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h + $PROJ_DIR$\..\Core\Inc\gpio.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_pwr_ex.o + $PROJ_DIR$\..\Core\Inc\stm32f4xx_hal_conf.h + $TOOLKIT_DIR$\inc\c\stdarg.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_tim_ex.o $TOOLKIT_DIR$\inc\c\ycheck.h - $PROJ_DIR$\test.1\Obj\tim.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_exti.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_usart.o $PROJ_DIR$\..\Core\Inc\tim.h - $PROJ_DIR$\..\Core\Inc\stm32f4xx_hal_conf.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h + $PROJ_DIR$\..\Drivers\CMSIS\Include\mpu_armv7.h $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_timebase_tim.o - $PROJ_DIR$\..\Drivers\CMSIS\Include\cmsis_compiler.h - $PROJ_DIR$\..\Drivers\CMSIS\Include\cmsis_iccarm.h - $TOOLKIT_DIR$\inc\c\ysizet.h - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_flash.o + $PROJ_DIR$\test.1\Obj\os_cpu_c.o $PROJ_DIR$\test.1\Obj\startup_stm32f407xx.o - $TOOLKIT_DIR$\inc\c\yvals.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_dma.o $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_rcc_ex.o - $TOOLKIT_DIR$\inc\c\DLib_Defaults.h - $PROJ_DIR$\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_tim_ex.o - $PROJ_DIR$\..\Drivers\CMSIS\Include\mpu_armv7.h - $TOOLKIT_DIR$\inc\c\stddef.h $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_i2c_ex.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_sram.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_usart.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_i2c.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_dma.o + $TOOLKIT_DIR$\inc\c\ysizet.h + $PROJ_DIR$\..\Drivers\CMSIS\Include\cmsis_compiler.h $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_rcc.o + $TOOLKIT_DIR$\inc\c\DLib_Defaults.h $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_crc.o + $PROJ_DIR$\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_gpio.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_rcc.o - $PROJ_DIR$\test.1\Obj\os_dbg.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_exti.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_pwr_ex.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_i2c.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_dac.o + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_exti.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_flash.o + $TOOLKIT_DIR$\inc\c\yvals.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_i2c.o + $TOOLKIT_DIR$\inc\c\stddef.h $PROJ_DIR$\test.1\Obj\app_hooks.o - $PROJ_DIR$\test.1\Obj\ucos_ii.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_pwr.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_tim.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_gpio.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_rng.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_usart.o - $PROJ_DIR$\test.1\Obj\os_cpu_c.o - $PROJ_DIR$\test.1\Obj\main.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_it.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_flash_ramfunc.o - $PROJ_DIR$\test.1\Obj\usart.o + $PROJ_DIR$\test.1\Exe\test.1.out + $PROJ_DIR$\test.1\Obj\tim.o $PROJ_DIR$\..\Core\Inc\usart.h - $PROJ_DIR$\test.1\Obj\dma.o - $PROJ_DIR$\test.1\Obj\gpio.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_crc.o + $PROJ_DIR$\..\Drivers\CMSIS\Include\cmsis_iccarm.h + $TOOLKIT_DIR$\inc\c\DLib_float_setup.h + $TOOLKIT_DIR$\inc\c\stdlib.h $PROJ_DIR$\..\Core\Inc\flash_save.h + $PROJ_DIR$\test.1\Obj\os_cpu_a.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_dac.o $PROJ_DIR$\..\UCOS\Source\ucos_ii.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h - $TOOLKIT_DIR$\inc\c\stdio.h - $PROJ_DIR$\..\Core\Inc\modbus_log.h + $PROJ_DIR$\test.1\Obj\gpio.o + $PROJ_DIR$\test.1\Obj\system_stm32f4xx.o + $PROJ_DIR$\..\UCOS\Ports\os_cpu.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_flash_ramfunc.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_gpio.o $PROJ_DIR$\test.1\Obj\modbus_crc.o - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h + $PROJ_DIR$\..\Core\Inc\modbus_log.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_it.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_crc.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_pwr.o $TOOLKIT_DIR$\inc\c\string.h - $PROJ_DIR$\..\UCOS\Ports\os_cpu.h - $TOOLKIT_DIR$\inc\c\stdlib.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_rng.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_i2c.o + $TOOLKIT_DIR$\inc\c\stdio.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h - $TOOLKIT_DIR$\inc\c\DLib_float_setup.h - $PROJ_DIR$\test.1\Obj\system_stm32f4xx.o - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h - $PROJ_DIR$\..\UCOS\Config\os_cfg.h - $PROJ_DIR$\..\UCOS\Source\os_trace.h - $TOOLKIT_DIR$\inc\c\ctype.h - $TOOLKIT_DIR$\inc\c\stdarg.h - $TOOLKIT_DIR$\inc\c\DLib_Product_string.h - $PROJ_DIR$\..\UCOS\Config\app_cfg.h - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_flash_ex.o - $PROJ_DIR$\test.1\Obj\tools.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_dma_ex.o - $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_msp.o - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h - $TOOLKIT_DIR$\inc\c\math.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h - $TOOLKIT_DIR$\inc\c\intrinsics.h - $TOOLKIT_DIR$\inc\c\iar_intrinsics_common.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h - $TOOLKIT_DIR$\lib\m7M_tls.a - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h - $PROJ_DIR$\test.1\List\test.1.map - $TOOLKIT_DIR$\lib\dl7M_tlf.a - $TOOLKIT_DIR$\lib\rt7M_tl.a - $PROJ_DIR$\..\Core\Inc\modbus_crc.h - $TOOLKIT_DIR$\inc\c\DLib_Product_stdlib.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h - $PROJ_DIR$\..\Core\Inc\gpio.h - $PROJ_DIR$\stm32f407xx_flash.icf - $TOOLKIT_DIR$\lib\shb_l.a + $PROJ_DIR$\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_usart.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_dma.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_tim.o + $PROJ_DIR$\..\Drivers\CMSIS\Include\core_cm4.h + $PROJ_DIR$\test.1\Obj\usart.o + $PROJ_DIR$\test.1\Obj\modbus_log.o + $PROJ_DIR$\test.1\Obj\dma.o + $PROJ_DIR$\test.1\Obj\main.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_spi.o + $PROJ_DIR$\test.1\Obj\ucos_ii.o + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h + $TOOLKIT_DIR$\inc\c\iccarm_builtin.h + $TOOLKIT_DIR$\inc\c\DLib_Config_Full.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_wwdg.o + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h + $PROJ_DIR$\test.1\Obj\flash_save.o + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_pwr.o + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_uart.o + $PROJ_DIR$\..\Drivers\CMSIS\Include\cmsis_version.h + $PROJ_DIR$\..\Core\Inc\main.h + $PROJ_DIR$\test.1\Exe\test.1.hex + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal.o + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h + $TOOLKIT_DIR$\inc\c\DLib_Product.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_hal_cortex.o + $TOOLKIT_DIR$\inc\c\stdint.h + $PROJ_DIR$\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h + $PROJ_DIR$\test.1\Obj\stm32f4xx_ll_tim.o + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h [ROOT_NODE] ILINK - 80 164 + 116 73 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_pwr.c + $PROJ_DIR$\..\Core\Src\usart.c ICCARM - 116 + 147 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c + $PROJ_DIR$\..\Core\Src\tools.c ICCARM - 108 + 78 + + + ICCARM + 93 164 173 88 94 153 171 107 146 170 91 112 105 155 168 163 103 119 154 95 142 157 114 102 161 158 167 74 48 67 140 68 79 109 52 85 33 72 141 118 139 136 61 47 121 84 89 77 122 132 60 120 125 64 76 128 66 86 59 81 + + - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c ICCARM - 102 + 144 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_rng.c + $PROJ_DIR$\startup_stm32f407xx.s - ICCARM - 119 + AARM + 98 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dac.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c ICCARM - 113 + 101 - $PROJ_DIR$\..\UCOS\Config\app_hooks.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c ICCARM - 114 + 111 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c ICCARM - 6 + 134 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c ICCARM - 93 + 129 - $PROJ_DIR$\..\UCOS\Ports\os_cpu_c.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c ICCARM - 121 + 160 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c ICCARM - 97 + 110 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c + $PROJ_DIR$\..\Core\Src\dma.c ICCARM - 111 + 149 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_gpio.c + $PROJ_DIR$\..\Core\Src\modbus_crc.c ICCARM - 118 + 131 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_exti.c + $PROJ_DIR$\..\Core\Src\system_stm32f4xx.c ICCARM - 110 + 127 - $PROJ_DIR$\..\UCOS\Ports\os_cpu_a.asm + $PROJ_DIR$\..\Core\Src\tim.c - AARM - 28 + ICCARM + 117 + + + ICCARM + 93 164 173 88 94 153 171 107 146 170 91 112 105 155 168 163 103 119 154 95 142 157 114 102 161 158 167 74 48 67 140 68 79 109 52 85 33 72 141 118 139 136 61 47 121 84 89 77 122 132 60 120 125 64 76 128 66 86 59 81 + + - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_rcc.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c ICCARM - 105 + 65 - $PROJ_DIR$\..\UCOS\Ports\os_dbg.c + $PROJ_DIR$\..\Core\Src\flash_save.c ICCARM - 109 + 159 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c + $PROJ_DIR$\..\Core\Src\stm32f4xx_hal_timebase_tim.c ICCARM - 117 + 96 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_i2c.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c ICCARM - 112 + 169 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_wwdg.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c ICCARM - 27 + 166 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dma.c + $PROJ_DIR$\..\Core\Src\main.c ICCARM - 104 + 150 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_spi.c + $PROJ_DIR$\..\Core\Src\modbus_log.c ICCARM - 14 + 148 - $PROJ_DIR$\..\UCOS\Source\ucos_ii.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c ICCARM - 115 + 108 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_crc.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c ICCARM - 106 + 58 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_tim.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c ICCARM - 30 + 113 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_usart.c + $PROJ_DIR$\..\Core\Src\stm32f4xx_hal_msp.c ICCARM - 120 + 62 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sram.c + $PROJ_DIR$\..\Core\Src\stm32f4xx_it.c ICCARM - 101 + 133 - $PROJ_DIR$\..\Core\Src\stm32f4xx_hal_timebase_tim.c + $PROJ_DIR$\..\Core\Src\gpio.c ICCARM - 86 + 126 + + + ICCARM + 86 164 173 88 94 153 171 107 146 170 91 112 105 155 168 163 103 119 154 95 142 157 114 102 161 158 167 74 48 67 140 68 79 109 52 85 33 72 141 93 118 139 136 61 47 121 84 89 77 122 132 60 120 125 64 76 128 66 59 81 + + - $PROJ_DIR$\..\Core\Src\main.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_gpio.c ICCARM - 122 + 130 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_usart.c ICCARM - 74 + 143 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c ICCARM - 7 + 92 - $PROJ_DIR$\..\Core\Src\modbus_crc.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_wwdg.c ICCARM - 135 + 156 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c ICCARM - 72 + 162 - $PROJ_DIR$\..\Core\Src\flash_save.c + $PROJ_DIR$\..\UCOS\Source\ucos_ii.c ICCARM - 59 + 152 - $PROJ_DIR$\..\Core\Src\usart.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dac.c ICCARM - 125 + 124 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_i2c.c ICCARM - 150 + 138 - $PROJ_DIR$\..\Core\Src\tim.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_pwr.c ICCARM - 82 + 135 - - - ICCARM - 84 62 66 85 96 71 63 95 76 64 81 92 94 78 60 70 87 88 65 98 73 61 99 89 79 67 68 169 160 163 136 154 162 132 157 170 143 156 140 126 133 137 148 146 139 168 147 167 130 134 155 141 131 149 144 138 145 171 158 159 - - - $PROJ_DIR$\..\Core\Src\dma.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_rcc.c ICCARM - 127 + 104 - $PROJ_DIR$\..\Core\Src\modbus_log.c + $PROJ_DIR$\..\UCOS\Ports\os_cpu_c.c ICCARM - 75 + 97 - $PROJ_DIR$\..\Core\Src\stm32f4xx_hal_msp.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c ICCARM - 153 + 87 - $PROJ_DIR$\..\Core\Src\stm32f4xx_it.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c ICCARM - 123 + 69 - $PROJ_DIR$\startup_stm32f407xx.s + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c - AARM - 91 + ICCARM + 100 - $PROJ_DIR$\..\Core\Src\system_stm32f4xx.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sram.c ICCARM - 142 + 71 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c ICCARM - 152 + 90 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_spi.c ICCARM - 90 + 151 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c + $PROJ_DIR$\..\UCOS\Config\app_hooks.c ICCARM - 83 + 115 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c + $PROJ_DIR$\..\UCOS\Ports\os_cpu_a.asm - ICCARM - 124 + AARM + 123 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_crc.c ICCARM - 107 + 106 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c + $PROJ_DIR$\..\UCOS\Ports\os_dbg.c ICCARM - 103 + 70 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_exti.c ICCARM - 100 + 80 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dma.c ICCARM - 77 + 99 - $PROJ_DIR$\..\Core\Src\gpio.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_rng.c ICCARM - 128 + 137 - $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_tim.c ICCARM - 129 + 172 - $PROJ_DIR$\..\Core\Src\tools.c + $PROJ_DIR$\..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c ICCARM - 151 + 145 @@ -676,18 +688,18 @@ $PROJ_DIR$\test.1\Exe\test.1.out - ILINK - 164 + OBJCOPY + 165 - OBJCOPY - 69 + ILINK + 73 ILINK - 172 114 127 59 128 122 135 75 28 121 109 91 72 77 129 74 152 83 90 150 124 107 103 100 153 7 111 108 93 101 117 97 86 6 102 27 123 106 113 104 110 118 112 116 105 119 14 30 120 142 82 151 115 125 173 166 161 165 + 75 115 149 159 126 150 131 148 123 97 70 98 166 169 134 144 65 110 111 58 129 108 113 101 62 160 87 69 100 71 145 90 96 162 92 156 133 106 124 99 80 130 138 135 104 137 151 172 143 127 117 78 152 147 82 83 49 63 diff --git a/PLSR/PLSR/EWARM/test.1/Exe/test.1.hex b/PLSR/PLSR/EWARM/test.1/Exe/test.1.hex new file mode 100644 index 0000000..bb62a21 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Exe/test.1.hex @@ -0,0 +1,2626 @@ +:020000040800F2 +:1000000030450020DDA10008DD9E0008DF9E0008CD +:10001000FD9E0008FF9E0008019F000800000000F0 +:10002000000000000000000000000000039F000826 +:10003000059F000800000000079F00080F9F0008B0 +:100040001DA2000821A2000825A2000829A200087C +:100050002DA2000831A2000835A2000839A200082C +:100060003DA2000841A2000845A2000849A20008DC +:100070004DA2000851A2000855A2000859A200088C +:100080005DA2000861A2000865A2000869A200083C +:100090006DA2000871A2000875A20008B99F0008AF +:1000A00079A200081B9F00087DA2000881A2000819 +:1000B000419F000885A2000889A200088DA20008BF +:1000C00091A2000895A2000899A200089DA200082C +:1000D000A1A200082B9F0008A5A20008A9A2000861 +:1000E000C39F0008ADA20008B1A20008B5A2000895 +:1000F000B9A20008BDA20008C1A20008C5A200085C +:10010000C9A20008CDA20008D1A20008D5A200080B +:10011000D9A20008DDA200084B9F0008E1A2000858 +:10012000799F0008E5A20008559F0008E9A2000891 +:10013000EDA20008F1A20008F5A20008F9A200084B +:10014000FDA2000801A3000805A3000809A30008F8 +:100150000DA3000811A30008679F000815A300085D +:1001600019A300081DA3000821A3000825A3000867 +:1001700029A300082DA3000831A3000800000000F7 +:1001800035A3000839A3000810B586B0102100225D +:1001900002AC200001F0CAFD082100226C462000BC +:1001A00001F0C4FDDFF8E84B5FF0804020600020E4 +:1001B00060600020A0600020E0600020206100203E +:1001C000A061200001F002FE002801D002F044FCF2 +:1001D0004FF4005002900020039000200490002073 +:1001E000059002A9200002F0F9F8002801D002F0E1 +:1001F00033FC00200090002001906946200002F0AE +:100200002DFC002801D002F027FC06B010BD1CB563 +:10021000082100226C46200001F088FDDFF87C48B0 +:10022000DFF8700B2060532060600020A06040F277 +:10023000E730E0608020A061200001F0C7FD0028C9 +:1002400001D002F009FC00200090002001906946D6 +:10025000200002F003FC002801D002F0FDFB13BDDA +:1002600018B587B01C2100226C46200001F05EFD0D +:10027000DFF82C48DFF8200B20605320606000205E +:10028000A06042F20F70E060002020618020A06139 +:10029000200001F09BFD002801D002F0DDFB2000D2 +:1002A00001F044FE002801D002F0D6FB602000904F +:1002B00041F288300190002002900020049000223A +:1002C0006946200001F0F5FF002801D002F0C4FBD0 +:1002D000200000F05DF908B010BD18B587B01C21F2 +:1002E00000226C46200001F021FDDFF8B04ADFF863 +:1002F000B00A2060A72060600020A06042F20F706A +:10030000E060002020618020A061200001F05EFDFF +:10031000002801D002F0A0FB200001F007FE002819 +:1003200001D002F099FB6020009000200190002095 +:1003300002900020049000226946200001F0B9FFDD +:10034000002801D002F088FB200000F021F908B05D +:1003500010BD18B587B01C2100226C46200001F0AA +:10036000E5FCDFF8404ADFF8400A20605320606077 +:100370000020A06042F20F70E06000202061802029 +:10038000A061200001F022FD002801D002F064FBF2 +:10039000200001F0CBFD002801D002F05DFB6020C1 +:1003A0000090002001900020029000200490002284 +:1003B0006946200001F07DFF002801D002F04CFBCF +:1003C000200000F0E5F808B010BD18B587B01C217A +:1003D00000226C46200001F0A9FCDFF8D049DFF8CC +:1003E000600C2060532060600020A06042F20F701B +:1003F000E060002020618020A061200001F0E6FC88 +:10040000002801D002F028FB200001F08FFD002819 +:1004100001D002F021FB602000900020019000201C +:1004200002900020049000226946200001F041FF64 +:10043000002801D002F010FB200000F0A9F808B05D +:1004400010BD38B586B004001421002201AD28008B +:1004500001F06CFC2068B0F1804F31D10020009099 +:10046000DFF8440C016851F001010160006810F0F0 +:1004700001000090009800200090DFF83409016826 +:1004800051F001010160006810F001000090009837 +:100490004FF40040019002200290002003900320BE +:1004A00004900120059001A9DFF8080902F02CFB57 +:1004B000002200211C2002F0ECFC1C2002F0FEFCBB +:1004C0002068DFF8D018884215D100200090DFF8AE +:1004D000D80B016851F010010160006810F01000A5 +:1004E0000090009803220321362002F0D2FC36202F +:1004F00002F0E4FC4AE02068DFF89C1888420DD145 +:1005000000200090DFF8B008016851F4003101606C +:10051000006810F400300090009837E02068DFF8A1 +:10052000801888420DD100200090DFF88C08016807 +:1005300051F480210160006810F480200090009840 +:1005400024E02068DFF8601888420DD10020009078 +:10055000DFF8540B016851F080010160006810F071 +:1005600080000090009811E02068DFF8D41A8842DB +:100570000CD100200090DFF8300B016851F480713D +:100580000160006810F480700090009807B030BDE2 +:1005900038B586B00400142100226D46280001F011 +:1005A000C5FB2068DFF8F01788421CD100200590B9 +:1005B000DFF8FC07016851F020010160006810F0CD +:1005C0002000059005984020009002200190002016 +:1005D000029003200390032004906946DFF8EC0B9F +:1005E00002F092FA66E02068DFF8B41788421CD166 +:1005F00000200590DFF8B807016851F02001016084 +:10060000006810F0200005900598802000900220DE +:10061000019000200290032003900320049069467B +:10062000DFF8A80B02F070FA44E02068DFF87817D2 +:1006300088421DD100200590DFF87407016851F051 +:1006400020010160006810F02000059005984FF42B +:1006500080700090022001900020029003200390FF +:10066000092004906946DFF8640B02F04DFA21E09E +:100670002068DFF8CC1988421CD100200590DFF8F3 +:100680003007016851F020010160006810F020007F +:10069000059005984FF40070009002200190002012 +:1006A000029003200390092004906946DFF81C0B98 +:1006B00002F02AFA07B030BD80B5FFF7D1FDFFF791 +:1006C0000CFEFFF746FEFFF780FEFFF75DFDFFF72C +:1006D0009EFD0021DFF8C80301F0E6FC02F01EFDDC +:1006E00001BD38B5DFF8E85A95F80001012830D18E +:1006F000DFF8AC43E068401C400800906946286879 +:1007000002F04AFD0020DFF8CC1A087095F833019A +:10071000002805D002280DD006D3032810D015E0FC +:1007200000982168486314E00098DFF870160968A3 +:1007300048630EE00098DFF86C160968486308E02B +:100740000098DFF868160968486302E0009821689D +:10075000486331BD0120DFF87C1A0870DFF8700AA9 +:1007600090F83301002805D002280ED007D30328C3 +:1007700011D016E00020CA490968486315E000203E +:10078000DFF81816096848630FE00020DFF8141638 +:100790000968486309E00020DFF81016096848631B +:1007A00003E00020BE49096848637047DFF8200A6B +:1007B00090F83301002805D0022810D008D3032870 +:1007C00014D01AE04FF6FF70B5490968486319E084 +:1007D0004FF6FF70DFF8C4150968486312E04FF662 +:1007E000FF70DFF8C015096848630BE04FF6FF7033 +:1007F000DFF8B8150968486304E04FF6FF70A849B0 +:100800000968486370471FB504000020ADF8000078 +:100810000020019000200290002C03D0DFF8F00BA4 +:10082000844200D37CE001AA6946200002F0E7FC84 +:100830000198401C4008029002A9200002F0ACFC84 +:10084000019800286CD0DFF8880990F8330100285F +:1008500005D002282AD015D303283BD04EE090497A +:10086000BDF800000A68906201980A68D062019899 +:10087000C860DFF860090078002802D10298096892 +:1008800048634DE0DFF81415BDF800000A68906277 +:1008900001980A68D0620198C860DFF838090078CA +:1008A000002802D102980968486339E0DFF8F4149F +:1008B000BDF800000A68906201980A68D062019849 +:1008C000C860DFF810090078002802D10298096892 +:1008D000486325E0DFF8D414BDF800000A68906290 +:1008E00001980A68D0620198C860DFF8E8080078CB +:1008F000002802D102980968486311E06849BDF8F0 +:1009000000000A68906201980A68D0620198C86085 +:10091000DFF8C0080078002802D10298096848630F +:100920001FBD2DE9F0410400DFF8E80A046025004E +:1009300053266F1EDFF86481404601F0CBFA300089 +:1009400080B2D8F800108862D8F80000C762C8F8F2 +:100950000C700020D8F8001048620121404601F0D8 +:1009600026FDBDE8F08180B54C4801F066FA01BD76 +:1009700080B54A4801F0AEFA01BD10B4DFF8982AFC +:100980001168814217DA1368C31ADFF8001D0C687A +:100990001C190C60DFF8741C0978002905D0DFF8F9 +:1009A000701C0C681C190C6004E0DFF8641C0C68F7 +:1009B000E41A0C601060DFF8581C0968DFF8D02CCE +:1009C0001368A3F892100B001B141268A2F894305D +:1009D00010BC704738B5DFF8F84794F832010001D1 +:1009E000204410F1480500202063002060630020AF +:1009F000A06394F8300100281BD1200001F0D6F844 +:100A0000012810D16868012806DBDFF8881C0A6815 +:100A1000686882180A600CE0DFF8781C0A68686869 +:100A2000121A0A6005E0DFF8640C0068DFF8641C45 +:100A30000860042084F8360194F83201B4F8FC1000 +:100A400080B2884207D394F832010001204490F824 +:100A5000570000280AD094F83201B4F8FC1080B294 +:100A6000884207D3B4F8FC00012803D1200000F02D +:100A7000E9FA10E0042084F82C0194F83201000116 +:100A8000204490F85400002803D00020206000206B +:100A9000A06001F019F931BD000000009C32002077 +:100AA000E43200202DE9F84F04002068B0F1804FB7 +:100AB00040F00C81DFF8185795F83201B5F8FC10BA +:100AC00080B288420AD395F83601012806D095F8FD +:100AD0002C01032802D1FFF769FE01E0FFF73AFE7F +:100AE000DFF8B40B0668DFF8B40B0178012902D1F6 +:100AF000761E00210170DFF8A80B016871180160F3 +:100B00000168A9620068FFF738FF95F836010128EF +:100B100007D0C0F0D980032800F0D380C0F09580C2 +:100B2000D2E0686B01283FDB686B022820DB0220E3 +:100B300085F8360195F82E0185F82C01A8696860C2 +:100B4000A869A860686828602868DFF8581B884290 +:100B500002D22868FFF757FE8D48696B0268D162A0 +:100B6000696BC160012100684162FFF7BAFDADE029 +:100B7000022085F8360195F82E0185F82C01A86928 +:100B80006860A869A860686828602868FFF73BFE6D +:100B9000FFF7A7FD7E48696B0268D162696BC1608F +:100BA00001210068416291E0A86B012847DB95F8BC +:100BB000320100012844806C6969884205D195F8AA +:100BC0003601012801D168682860A86B022816DB6D +:100BD000032085F8360195F82F0185F82C01E86986 +:100BE00068602868A8606A48A96B0268D162A96B2E +:100BF000C160012100684162FFF773FD66E00320D8 +:100C000085F8360195F82F0185F82C01E8696860B0 +:100C10002868A86000270021280000F045FD8046D4 +:100C20004046FFF7F0FDFFF75CFD5948A96B0268ED +:100C3000D162A96BC16001210068416246E00420D5 +:100C400085F83601FFF7C6FE40E0A86B012835DBCA +:100C5000A86B022814DB032085F8360195F82F01D4 +:100C600085F82C01E86968604948A96B0268D1627F +:100C7000A96BC160012100684162FFF732FD25E0E8 +:100C8000032085F8360195F82F0185F82C01E869D5 +:100C9000686000270021280000F006FD80464046DD +:100CA000FFF7B1FDFFF71DFD3948A96B0268D1625E +:100CB000A96BC16001210068416207E0FFF78AFE6D +:100CC00004E0FFF787FE01E0FFF784FE206831496A +:100CD00088425BD12E480068456ADFF8C4693768EE +:100CE000EF19DFF8EC84C8F828703800FFF745FEEC +:100CF00098F8320141F2F00919EB00195FF0060B88 +:100D000098F832A10BFB0AFA1AF1070A98F8320197 +:100D10000BFB00FB1BF1080BDFF8740998F832118C +:100D200009014144026853469BB232F8132000681F +:100D30005B469BB230F8130052EA00428A6498F88E +:100D4000320100014044806CDFF8C81B096888420A +:100D500011D098F8360104280DD00120DFF83C1995 +:100D60000870FFF7F7FC306828183060404600F044 +:100D700033FAFFF7B6FC98F82C01012803D098F855 +:100D80002C01032802D1404600F0C6FDBDE8F18FDA +:100D90005432002000100040004401402C33002059 +:100DA0000048014074330020001C0040BC33002088 +:100DB000303802400000024044380240F8B50400D8 +:100DC0004FF4805002F0C7F884F8330141F201007B +:100DD00002F0C1F884F8350141F2020002F0BBF8DC +:100DE00084F8340141F2030002F0B5F8A4F8F800E9 +:100DF00041F2040002F0AFF8A4F8FA0041F2050055 +:100E000002F0A9F884F8540041F2060002F0A3F8B9 +:100E100084F8300141F2070002F09DF8A4F8FC00CC +:100E200041F2080002F097F8A4F8FE0041F2090030 +:100E300002F091F80500ADB241F20A0002F08BF821 +:100E400055EA0045656241F20B0002F084F86064E7 +:100E500041F20C0002F07FF8A064200002F0B7FE1F +:100E60000020E060002020610020A0600025280014 +:100E7000C0B2B4F8FC1080B2884243D2681C29008A +:100E8000C9B20901214481F866002800C0B20601F8 +:100E900016F58856300080B202F05DF80700BFB248 +:100EA000701C80B202F057F857EA00472800C0B221 +:100EB000000120448765B01C80B202F04CF80700A6 +:100EC000BFB2F01C80B202F046F857EA0047280093 +:100ED000C0B200012044C765301D80B202F03BF86B +:100EE0002900C9B20901214481F86400701D80B253 +:100EF00002F031F82900C9B20901214481F86700E4 +:100F00006D1CB4E7F1BD10B50400002084F80001A9 +:100F100000202060002060600020A060002084F895 +:100F200031014FF47A7060626064A064200002F0C6 +:100F30004EFE002084F82C01002060630020206217 +:100F40000020E063002020640020E0620020A06216 +:100F50006420FFF7E6FC10BD70B50400002C6DD0D6 +:100F600094F80001012869D09948FFF7CCFF2000D0 +:100F7000FFF724FF012084F80001B4F8FE0084F894 +:100F80003201E0682060E068A060002084F82C0155 +:100F90000020DFF80C1708600020DFF8F01B087055 +:100FA0000020DFF874140860FF20DFF8E41B0870ED +:100FB0000120DFF8581608700020DFF8E0160870EE +:100FC0000020DFF8D01B096848620020DFF8C81B4A +:100FD000096848620020DFF8C41B096848620020E5 +:100FE000DFF8BC1B09684862DFF8B85B002029689D +:100FF00048620020DFF8B01B0968486294F83401A9 +:10100000002806D1172001F059FF282001F05DFFCC +:1010100005E0282001F052FF172001F056FF2000C4 +:1010200000F0DAF806003000C0B2012806D1FFF760 +:101030009AFC280000F001FFFFF753FB70BD000091 +:101040000020004038B50400002C2BD0FFF7AEFB89 +:10105000FFF78EFCDFF84C5B280000F03BFF02201E +:1010600084F80001002084F82C010020206000207A +:10107000A06001202968486200202062FF20DFF87C +:10108000101B08700120DFF8841508700020206311 +:10109000002060630020A063002060600020DFF873 +:1010A0007418086031BD0000403802402DE9F0415D +:1010B00004000D00002C01D0002D01D1002083E0A0 +:1010C00094F83001012806D1A868002801D401272E +:1010D00007E0002705E06868002801D4012700E048 +:1010E0000027DFF8AC0A01783A00D2B2914201D071 +:1010F000012600E0002607703800C0B2002804D0A6 +:101100000120DFF80815087003E00020DFF8FC1468 +:101110000870B4F8FA00012809D13800C0B20028DC +:1011200002D05FF001080BE05FF0000808E0380033 +:10113000C0B2002802D05FF0000801E05FF00108B3 +:1011400094F83501002805D0022815D00BD30328C8 +:101150001AD021E04246D2B24FF40071DFF89C0B66 +:1011600001F0E3FD18E04246D2B24FF48071DFF89F +:101170008C0B01F0DAFD0FE04246D2B28021DFF89D +:101180007C0B01F0D2FD07E04246D2B24021DFF8ED +:101190006C0B01F0CAFDFFE7B4F8F800002811D08D +:1011A0003000C0B200280DD0B4F8F8000B2805DBE1 +:1011B000B4F8F800401E02F02DFD03E0B4F8F8008A +:1011C00002F028FD3000C0B2BDE8F08100140240FA +:1011D0004C2900201C35002070B5040094F8320121 +:1011E0000001204410F148052868DFF8281708603E +:1011F000DFF80C0B90F8301101290ED16968DFF887 +:1012000010040068091AA960DFF89004007801282A +:1012100039D1A868401CA86035E0DFF8801409784F +:1012200001291DD101688160686801280ADBDFF8A7 +:101230006404016868684118DFF850040068091AFE +:10124000A96009E0DFF84C0401686868091ADFF852 +:101250003C040068091AA960A868401CA86012E054 +:101260006868012807DB6968DFF838090068406AA8 +:10127000091AA96007E069684942DFF8280900688F +:10128000406A091AA96029002000FFF70FFF060035 +:101290003000C0B2002803D0002020600020A060F1 +:1012A000A868002803D5A8684042A86006E0A8689E +:1012B000002803D1FFF78EFB0020A7E0A87BB4F83D +:1012C000FC1080B2884203D1200002F0DEF87CE0FE +:1012D000287B002876D1200001F0D4FF206B012864 +:1012E00012DB606B01280FDB012084F82D012868D8 +:1012F0006061022084F82E012868A061022084F831 +:101300002F012868E06160E0A06B012816DB606BAC +:10131000012813DB032084F82D0128686061022076 +:1013200084F82E012868A061022084F82F01286823 +:10133000E061A06B20630020A06346E0206B0128E1 +:1013400012DB606B00280FD1012084F82D01286882 +:101350006061022084F82E012868A061022084F8D0 +:101360002F012868E06130E0A06B012816DB606B7C +:10137000002813D1032084F82D0128686061022021 +:1013800084F82E012868A061022084F82F012868C3 +:10139000E061A06B20630020A06316E0022084F8C7 +:1013A0002D0128686061022084F82E012868A06160 +:1013B000022084F82F012868E061002020630020CB +:1013C000A06302E0200002F060F8206B012803DB3C +:1013D000012084F8360110E0606B012803DB022055 +:1013E00084F8360109E0A06B012803DB032084F8B0 +:1013F000360102E0042084F836012868606020008D +:1014000000F00CF8200000F048FC012070BD000046 +:10141000A18601000C000020B4340020F8B50400BF +:1014200094F83601042800F0E68094F8360101288B +:1014300007D0C0F0DC80032800F0C480C0F0AD808D +:10144000D5E094F82D01012808D094F82D01032847 +:1014500004D094F82D01022840F09B8094F82D01CF +:1014600084F82C016069606094F82C01012823D174 +:101470000027DFF88C680121300000F015F9050025 +:10148000256094F82C01012808D120686168884201 +:1014900004D3606820602068FFF7B5F92068FFF783 +:1014A000B2F9306843F6982188422BD30121DFF846 +:1014B000E40600F07CFF25E00027DFF84458002117 +:1014C000280000F0F1F80600266094F82C010328AB +:1014D0000BD160682168884207D36068002804D077 +:1014E000606820602068FFF78EF92068FFF78BF9AD +:1014F000286843F69821884204D30121DFF8940636 +:1015000000F055FFDFF884160878002836D12068EF +:10151000002833D00120087094F83301002805D04A +:10152000022814D00DD3032817D01CE0DFF864562E +:101530000021280000F031FD0121280000F037FFD4 +:1015400011E00021DFF8500600F027FD0BE000213C +:10155000DFF8480600F021FD05E00021DFF8400635 +:1015600000F01BFDFFE7DFF83C06216B0268D1624B +:10157000216BC16001210068416246E0DFF824066A +:10158000216B0268D162216BC16001210068416258 +:101590003BE0022084F8360142E7606B01280DDB56 +:1015A000DFF80006616B0268D162616BC16094F87C +:1015B0002E0184F82C01A069606026E0032084F8E5 +:1015C00036012DE7A06B01280DDBDFF8D805A16BF4 +:1015D0000268D162A16BC16094F82F0184F82C01DC +:1015E000E069606011E0042084F8360118E7042007 +:1015F00084F8360114E7DFF8AC0500210268D162F7 +:101600000021C160022084F82C01F1BDDD00002022 +:10161000A4340020F8B504000D00002C34D094F858 +:1016200032010001204410F14806F77B94F83001A4 +:10163000002816D12800C0B200280BD00020716805 +:10164000002902D57168494200E07168E06A091812 +:10165000E16206E00D480168E1620068DFF8A41667 +:1016600008603800C0B2002804D1B07B401C84F868 +:10167000320101E084F83271002084F82C0120004E +:1016800000F00BFB2068A060F1BD0000A03400203A +:1016900000000020AC3400202C000040DF000020BF +:1016A000B0340020915F01002DE9F34F89B0099813 +:1016B000002801D1002029E1DFF8E8040068406A31 +:1016C000049000200021049A521E002A02D55FF0E7 +:1016D000000803E0DDF81080B8F1010818F10100FE +:1016E0000390DFF824060068804512D19DF8280099 +:1016F000DFF81816097888420BD1099890F8320162 +:10170000DFF80C160978884203D1DFF80806006874 +:10171000FCE0099880680290002200239DF82800D0 +:10172000002806D00998C06C4FF47A71A1FB00AB79 +:1017300005E00998006D4FF47A71A1FB00AB002021 +:10174000069000200590B8F1000F01D1029E5BE0E9 +:101750009DF82800002820D002980299A1FB0001E2 +:10176000CDE90001DDE900015FEAE879A8FB0A2381 +:1017700008FB0B3309FB0A3302240025A4FB026794 +:1017800004FB037705FB0277841951EB0705200062 +:10179000290002F09AF9060036E002980299A1FBAE +:1017A0000001CDE9000102200021DDE900235FEA0C +:1017B000E879A8FB0A4508FB0B5509FB0A55A0FB75 +:1017C000046700FB057701FB0477BB421BD301D8FC +:1017D000B24218D3DDE900235FEAE879A8FB0A45A5 +:1017E00008FB0B5509FB0A55A0FB046700FB0577B6 +:1017F00001FB0477941B73EB07052000290002F01E +:1018000064F9060000E000269DF82800002823D097 +:1018100002980299A1FB0001CDE90601DDE906016C +:10182000CDE900010398C117A0FB0A2300FB0B338D +:1018300001FB0A3302200021A0FB024500FB0355F7 +:1018400001FB0255DDE9000104194D41200029008A +:1018500002F03BF902003EE002980299A1FB000170 +:10186000CDE9060102220023DDE90601CDE90001F0 +:10187000039CE517A4FB0A0104FB0B1105FB0A11ED +:10188000A2FB004502FB015503FB0055DDE9000109 +:10189000A9421FD301D8A0421CD3DDE90601CDE93E +:1018A0000001039CE517A4FB0A0104FB0B1105FBD7 +:1018B0000A11A2FB004502FB015503FB0055DDE9BF +:1018C0000001041B71EB05052000290002F0FDF862 +:1018D000020000E0002290194008DFF83C14884222 +:1018E00002D3DFF838140800DFF81C14C1F80080B8 +:1018F000DFF8201408609DF82810DFF81034197004 +:10190000099991F83211DFF8083419700BB0BDE86D +:10191000F08F0000A834002070B50400002C00F007 +:10192000918094F82C01012809D1206861688842CF +:1019300005D3606820602068FEF765FF82E094F8B8 +:101940002C0103280CD160682168884208D36068A4 +:10195000002805D0606820602068FEF754FF71E021 +:1019600094F82C01032809D160682168884205D3C6 +:101970006068002802D1FFF72DF863E094F82C018D +:10198000012840D101212000FFF78EFE050060688C +:10199000854201D3606855E02068854204D0256007 +:1019A0002068FEF730FF4DE078490878002849D1DB +:1019B0002068002846D001200870FEF792FE94F8B7 +:1019C0003301002805D0022812D00CD3032814D0EC +:1019D00018E0704E0021300000F0DFFA01213000E5 +:1019E00000F0E5FC0EE000216B4800F0D6FA09E0BB +:1019F00000216A4800F0D1FA04E00021684800F0B4 +:101A0000CCFAFFE71EE094F82C0103281AD100213C +:101A10002000FFF749FE05006068A84207D3606810 +:101A200005006068002802D1FEF7D4FF0AE02068B4 +:101A3000854207D025602068002802D02068FEF784 +:101A4000E2FEFFE770BD2DE9F0410400002C00F03C +:101A50009A8094F80001022800F0958094F83201F1 +:101A60000001204410F14805287B012857D1FEF7DA +:101A700071FE200000F0EAF800284FD0A84F494E30 +:101A800039683068406A41183960DFF87882386810 +:101A9000C8F80000200000F089F8002804D00020D9 +:101AA00020600020A06007E03868401E3860D8F849 +:101AB0000000401EC8F8000094F83201B4F8FC1091 +:101AC00080B288421BD300206060032084F82C0180 +:101AD0002068A0607FF07F403168C862F06000201D +:101AE000316848622068002806D1022084F800018D +:101AF0002000FFF7A7FA0EE0FEF7F3FD0BE0002051 +:101B00003168486200212000FFF784FD2000FFF7C4 +:101B100063FBFEF7E6FD02F02BF934E033E094F8C6 +:101B20002C0104282FD194F83201B4F8FC1080B2B3 +:101B3000884205D3022084F80001FEF737FE22E038 +:101B4000287B002802D0287B05280ED1200000F039 +:101B50002DF8002817D001212000FFF75BFD2000A1 +:101B6000FFF73AFBFEF7BDFD0DE0200000F03FF867 +:101B7000002808D000212000FFF74CFD2000FFF7CF +:101B80002BFBFEF7AEFDBDE8F08100001B35002009 +:101B9000DE000020E43200202C33002074330020CB +:101BA000BC330020543200209C3200200100002968 +:101BB00001D100201AE091F832010001084410F12F +:101BC0004802107B002802D0107B05280DD19368B5 +:101BD000002B00D55B42C86AC318886A984201DBB3 +:101BE000012000E00020C0B200E00020704770B586 +:101BF0000400002C01D1002027E094F832010001FC +:101C0000204410F1480515F10C063078002804D066 +:101C1000012806D0052808D016E02000FFF7C6FFEF +:101C200013E0200000F012F80FE0200000F00EF8A2 +:101C3000002804D12000FFF7B9FF002801D00120BF +:101C400000E00020C0B200E0012070BD01000029CA +:101C500001D100200FE091F832010001084410F199 +:101C6000480313F10C025078002803D00020507074 +:101C7000012000E00020704710B400280BD090F83D +:101C8000321109010144483111F10C02254B1C7835 +:101C9000547000241C7010BC7047002808D090F8C5 +:101CA000321109010144483111F10C020023537033 +:101CB000704710B51C4C002002F043FE20602068E5 +:101CC000002800D1FEE710BD80B51749086800283C +:101CD00002D0086802F0D6FE01BD1CB504006A46B9 +:101CE00000211148006802F054FE9DF80000002811 +:101CF000F5D10348FFF7A7FEF1E70000001C024002 +:101D00004C290020AC34002010000020E00000200E +:101D1000E1000020B8340020A1860100A086010067 +:101D2000B03400201A350020BC34002062F30F22AA +:101D300062F31F42401810F0030308D0C91A1FD3E2 +:101D4000DB0748BF00F8012D28BF20F8022D130043 +:101D500030B414461546103928BF20E93C00FAD8A3 +:101D6000490728BF20E90C0048BF40F8042D89002E +:101D700028BF20F8022D48BF00F8012D30BC704765 +:101D8000C91818BF00F8012DCB0728BF00F8012D96 +:101D9000704730B4002513E050F8042BD30744BF3C +:101DA000A9F101039A18091F042942F8045BFAD229 +:101DB00013468C0744BF15809B1CC90748BF1D7084 +:101DC00050F8041B0029E7D130BC704710B504005F +:101DD000002C01D101202FE094F83D00002805D10E +:101DE000002084F83C002000FEF72BFB022084F842 +:101DF0003D00211D206800F06BFB012084F84600A7 +:101E0000012084F83E00012084F83F00012084F87E +:101E10004000012084F84100012084F842000120A4 +:101E200084F84300012084F84400012084F8450030 +:101E3000012084F83D00002010BD010091F83D0014 +:101E4000012801D0012044E0022081F83D0008680B +:101E5000C06850F001000B68D8600868DFF8B03047 +:101E6000984221D00868B0F1804F1DD00868DFF893 +:101E7000A430984218D00868DFF89C30984213D0FC +:101E80000868DFF8983098420ED00868DFF8903084 +:101E9000984209D00868DFF88C30984204D008686E +:101EA000DFF8843098420DD10868806810F0070090 +:101EB0000200062A0CD00868006850F001000B6888 +:101EC000186005E00868006850F001000B681860B1 +:101ED0000020704701000868C068400840000A6898 +:101EE000D0600868006A41F2111210420BD10868F4 +:101EF000006A40F24442104205D108680068400878 +:101F000040000A681060012081F83D000020704701 +:101F1000000001400004004000080040000C0040A8 +:101F200000040140004001400018004010B50400CA +:101F3000002C01D101202FE094F83D00002805D1AC +:101F4000002084F83C00200003F014FA022084F8FA +:101F50003D00211D206800F0BBFA012084F84600F6 +:101F6000012084F83E00012084F83F00012084F81D +:101F70004000012084F84100012084F84200012043 +:101F800084F84300012084F84400012084F84500CF +:101F9000012084F83D00002010BD70B505000C0044 +:101FA000002C02D195F83E000BE0042C02D195F8EC +:101FB0003F0006E0082C02D195F8400001E095F8BA +:101FC0004100012801D001206DE0002C04D1022045 +:101FD00085F83E00C0B211E0042C04D1022085F83F +:101FE0003F00C0B20AE0082C04D1022085F840006E +:101FF000C0B203E0022085F84100C0B201222100F6 +:10200000286800F0E2FBDFF850112868884204D00D +:102010002868DFF84821904201D1012000E000202B +:10202000C0B2002805D02868406C50F400402A68EF +:1020300050642868884221D02868B0F1804F1DD0B4 +:102040002868DFF81C11884218D02868DFF81411BE +:10205000884213D02868DFF8101188420ED0286813 +:10206000DFF8F810884209D02868DFF800118842AC +:1020700004D02868DFF8F81088420DD128688068FD +:1020800010F007000600062E0CD02868006850F0FB +:1020900001002968086005E02868006850F0010028 +:1020A00029680860002070BD38B505000C000022CA +:1020B0002100286800F089FB2868DFF89C1088421E +:1020C00004D02868DFF89410884201D1012000E094 +:1020D0000020C0B2002811D02868006A41F2111116 +:1020E00008420BD12868006A40F24441084205D1F9 +:1020F0002868406C30F40040296848642868006A09 +:1021000041F2111108420BD12868006A40F24441A3 +:10211000084205D128680068400840002968086026 +:10212000002C04D1012085F83E00C0B211E0042C3F +:1021300004D1012085F83F00C0B20AE0082C04D188 +:10214000012085F84000C0B203E0012085F841007D +:10215000C0B2002032BD0000000001400004014078 +:102160000004004000080040000C00400040014016 +:102170000018004070B504002068C5682068066932 +:10218000B00718D5A80716D57FF0020021680861AE +:10219000012020772068806910F0030F03D0200011 +:1021A00003F0E9F805E0200003F0E6F8200003F072 +:1021B000E4F800202077700718D5680716D57FF05F +:1021C000040021680861022020772068806910F4EB +:1021D000407F03D0200003F0CEF805E0200003F09C +:1021E000CBF8200003F0C9F800202077300718D57D +:1021F000280716D57FF008002168086104202077A1 +:102200002068C06910F0030F03D0200003F0B3F87A +:1022100005E0200003F0B0F8200003F0AEF8002045 +:102220002077F00618D5E80616D57FF01000216853 +:102230000861082020772068C06910F4407F03D02F +:10224000200003F098F805E0200003F095F8200046 +:1022500003F093F800202077F00708D5E80706D5AB +:102260007FF00100216808612000FEF71BFC3006AA +:1022700008D5280606D57FF0800021680861200077 +:1022800003F07CF8700608D5680606D57FF040009C +:1022900021680861200003F072F8B00608D5A8068E +:1022A00006D57FF0200021680861200003F068F85F +:1022B00070BDF8B504000D001700002694F83C002E +:1022C000012801D1022071E0012084F83C0038008F +:1022D000002806D004281BD0082831D00C2846D06E +:1022E0005DE02900206800F05AF92068806950F00C +:1022F0000800216888612068806930F00400216846 +:10230000886120688169286901432068816148E00B +:102310002900206800F075F92068806950F4006099 +:10232000216888612068806930F480602168886154 +:1023300020688069296950EA01202168886130E0BD +:102340002900206800F095F92068C06950F0080065 +:102350002168C8612068C06930F004002168C86144 +:102360002068C169286901432068C16119E029001A +:10237000206800F0B4F92068C06950F4006021685A +:10238000C8612068C06930F480602168C861206835 +:10239000C069296950EA01202168C86101E0012073 +:1023A0000600002084F83C003000C0B2F2BD0200FC +:1023B00092F83C00012801D102200EE0012082F8B1 +:1023C0003C00022082F83D0010684161012082F843 +:1023D0003D00002082F83C0000207047F8B5040062 +:1023E0000D00002694F83C00012801D102206EE087 +:1023F000012084F83C00022084F83D0020688768B2 +:1024000037F0770737F47F4720688760286800280F +:102410004ED010284CD020284AD0302848D0402810 +:102420003CD0502826D060282ED0702807D0B0F598 +:10243000805F03D0B0F5005F0FD03EE03FE0EB6877 +:102440006A68A968206800F0B4F92068806850F0D4 +:10245000770007002068876031E0EB686A68A96848 +:10246000206800F0A6F92068806850F48040216858 +:10247000886024E0EA686968206800F06DF95021FE +:10248000206800F08EF91AE0EA686968206800F0B8 +:1024900075F96021206800F084F910E0EA68696845 +:1024A000206800F059F94021206800F07AF906E030 +:1024B0002968206800F075F901E00120060001207C +:1024C00084F83D00002084F83C003000C0B2F2BD2A +:1024D00010B40468DFF85432984212D0B0F1804F43 +:1024E0000FD0DFF84C2290420BD0DFF84822904208 +:1024F00007D0DFF84422904203D0DFF84022904218 +:1025000003D134F070044A68144398422AD0B0F1E1 +:10251000804F27D0DFF81822904223D0DFF8142212 +:1025200090421FD0DFF8102290421BD0DFF80C221F +:10253000904217D0DFF80822904213D0DFF804222F +:1025400090420FD0DFF8002290420BD0DFF8FC2140 +:10255000904207D0DFF8F821904203D0DFF8F42151 +:10256000904203D134F44074CA68144334F08004B8 +:102570004A6914438A68C2620A688262984202D039 +:102580006E4A904201D10A690263026852F0040265 +:10259000026001224261046010BC7047000070B408 +:1025A000036A026A5208520002624568846934F084 +:1025B0007004A408A4000A68144333F002038A6874 +:1025C00013435A4EB04202D05C4A904205D133F0D8 +:1025D0000803CA68134333F00403B04202D0574AD9 +:1025E000904207D135F4807535F400754A6915437A +:1025F0008A691543456084614A684263036270BC1E +:10260000704770B4026A036A33F0100303624468CF +:10261000836933F4E04333F440730D6853EA0523D0 +:1026200032F020028D6852EA0512404DA84202D0D5 +:10263000424EB04206D132F08002CE6852EA061213 +:1026400032F04002A84202D03C4DA84209D134F4F5 +:10265000806434F400644D6954EA85048D6954EA59 +:102660008504446083614D688563026270BC704775 +:10267000000070B4036A026A32F480720262456834 +:10268000C46934F07004A408A4000A68144333F445 +:1026900000738A6853EA0223244A904202D0274EEC +:1026A000B04206D133F40063CE6853EA062333F414 +:1026B0008063904202D0214A904209D135F480557E +:1026C00035F400554A6955EA02158A6955EA02153A +:1026D0004560C4614A68C263036270BC704730B42D +:1026E000036A026A32F4805202624468C26932F4B8 +:1026F000E04232F440720D6852EA052233F400538E +:102700008D6853EA0533094DA84202D00B4DA8420B +:1027100004D134F480444D6954EA85144460C261A4 +:102720004D680564036230BC704700000000014042 +:102730000004004000080040000C0040000401407C +:1027400000400140004401400048014000180040A2 +:10275000001C00400020004010B4046A036A5B08BB +:102760005B000362836933F0F00353EA021334F031 +:102770000A040C438361046210BC704710B4046AFD +:10278000036A33F010030362836933F4704353EA3E +:10279000023334F0A00454EA01148361046210BCD3 +:1027A0007047836833F0700351F00702134383606E +:1027B000704730B4846834F47F4452EA010555EA26 +:1027C00003252C43846030BC704730B4012411F0E1 +:1027D0001F0314FA03F3046A9C430462046A11F0B1 +:1027E0001F0512FA05F52C43046230BC7047B1F5A1 +:1027F000807F02D34FF0FF30704701700120704797 +:102800000078401E8041C043C00F704718B585B0A6 +:1028100002F0B8FD00F028F801F010FA02F0CCFD4B +:1028200003F05CFA00F031FCFDF746FF01F0DEFA40 +:102830007F4803210491002103914FF4807102919C +:10284000019003210091032310F57F7200210FF204 +:10285000C50002F04DF904002000C0B2002800D0ED +:10286000FEE701F070FBFEE710B592B030210022C8 +:1028700006AC2000FFF75AFA1421002201AC200018 +:10288000FFF754FA002000906A48016851F0805127 +:102890000160006810F080500090009800200090C7 +:1028A0006548016851F480410160006810F480407F +:1028B00000900098012006905FF48030079002207D +:1028C0000C905FF480000D9006200E90A8200F90D1 +:1028D000022010900420119006A803F01FFA00288F +:1028E00001D000F0B9F80F200190022002900020E2 +:1028F00003904FF4A05004904FF4805005900521B0 +:1029000001A803F001FC002801D000F0A5F812B0E6 +:1029100010BD0000F0B585B004004848006803F021 +:10292000C1FD01F02DFBFFF7C4F9454803210491D7 +:102930000021039180210291019002210091022344 +:1029400010F5FE7200213F4802F0D2F80500280081 +:10295000C0B2002800D0FEE73B48032104910021CB +:1029600003914FF48071029101900421009104239E +:1029700010F57F7200210FF2450002F0B9F8060051 +:10298000324803210491002103914FF48071029198 +:10299000019005210091052310F57F7200210FF2AF +:1029A000350002F0A5F807003800C0B2002800D0BA +:1029B000FEE7FF2002F006F905B0F0BD10B50400F7 +:1029C00002F068FE012300220021002002F020FB1B +:1029D000F6E7000038B504004FF4FA6002F0DBFAC5 +:1029E00000251B4800210268A2F89210002100680F +:1029F000A0F894104FF4405000F0ADFA012806D131 +:102A0000012005000020134981F8000108E028009A +:102A1000C0B2012804D10F48FEF79EFA002005003D +:102A20000A2300220021002002F0F2FAE2E700006F +:102A3000CC08002040380240007000400800002010 +:102A40004C230020DB1C0008CC0C0020CC10002004 +:102A5000000000204C29002072B6FEE730B40200CE +:102A600092F83C00012801D102203CE0012082F8CC +:102A70003C00022082F83D001068436810688468BA +:102A800033F0700308680343106843601068174D03 +:102A9000A8421BD01068B0F1804F17D01068144DB9 +:102AA000A84213D01068134DA8420FD01068124DE1 +:102AB000A8420BD01068114DA84207D01068104DE5 +:102AC000A84203D010680F4DA84205D134F080040D +:102AD0004868044310688460012082F83D000020AB +:102AE00082F83C00002030BC70470000000001402C +:102AF0000004004000080040000C004000040140B9 +:102B00000040014000180040F8B5002300240025D3 +:102B10000026102E80F00881012717FA06F2130014 +:102B20000A681A4014009C4240F0FC800A7912F0B6 +:102B30000302012A04D00A7912F00302022A1FD1EB +:102B4000D0F808C05FF0030E3200D2B252001EFA75 +:102B500002FE3CEA0E0CD1F80CE03200D2B2520078 +:102B60001EFA02FE5EEA0C0CC0F808C04268B740CC +:102B7000BA434F68C7F30017B7403A4315004560A2 +:102B80000A7912F00302032A14D0C7685FF0030C1D +:102B90003200D2B252001CFA02FC37EA0C07D1F81C +:102BA00008C03200D2B252001CFA02FC5CEA0707ED +:102BB0003D00C5600A7912F00302022A1ED13200DC +:102BC000D20800EB8202176A5FF00F0C16F00702C2 +:102BD000D2B292001CFA02FC37EA0C07D1F810C0FE +:102BE00016F00702D2B292001CFA02FC5CEA070758 +:102BF0003D003200D20800EB8202156207685FF0E8 +:102C0000030C3200D2B252001CFA02FC37EA0C0765 +:102C100091F804C01CF0030C3200D2B252001CFA2E +:102C200002FC5CEA07073D0005604A6812F4403F79 +:102C300078D000220092DFF83021176857F48047DF +:102C40001760126812F480420092009ADFF81CC1EB +:102C5000320092085CF822705FF00F0E16F003024B +:102C6000D2B292001EFA02FE37EA0E07404A9042A4 +:102C700001D1002523E03F4A904201D101251EE009 +:102C80003D4A904201D1022519E03C4A904201D1CF +:102C9000032514E03A4A904201D104250FE0394A55 +:102CA000904201D105250AE0374A904201D106251C +:102CB00005E0364A904201D1072500E00825EDB233 +:102CC00016F00302D2B2920095402F4332009208D0 +:102CD0004CF822702E4D2A68A243D1F804C05FEA56 +:102CE000CC2C00D522432A602A4F3D68A543D1F859 +:102CF00004C05FEA8C2C00D525433D60264F3A681E +:102D0000A243D1F804C05FEA8C3C00D522433A606C +:102D1000224F3D68A543D1F804C05FEACC3C00D502 +:102D200025433D60761CF4E6F1BD1300DBB2002BB9 +:102D300003D00B009BB2836103E00B009BB21B042A +:102D40008361704710B5040015480168220092B2F3 +:102D5000114206D0210089B20160200080B200F04B +:102D6000E2FF10BD00000000443802400838014076 +:102D7000000002400004024000080240000C024033 +:102D8000001002400014024000180240001C0240E3 +:102D9000083C01400C3C0140043C0140003C014027 +:102DA000143C014010B410F00703DFF82C412268F6 +:102DB0004FF6FF010A40DFF8241151EA03210A43CC +:102DC000226010BC7047DFF810010068C0F30220D9 +:102DD00070470000010049B200290AD4012210F016 +:102DE0001F018A40DFF8F81003005BB25B0941F86D +:102DF00023207047010049B200290DD4012210F0B0 +:102E00001F018A40374903005BB25B0941F8232068 +:102E1000BFF34F8FBFF36F8F704710B4020052B2F1 +:102E2000002A05D40A01304B040064B21A5508E0A8 +:102E30000A012E4B040064B214F00F04234403F87B +:102E4000042C10BC704770B4030013F00704D4F1D5 +:102E50000700052801D3042001E0D4F10700251D57 +:102E6000072D01D2002500E0E51E012616FA00F02C +:102E7000401E0140A94016FA05F56D1E2A40114377 +:102E8000080070BC704710B504002000FFF78AFFEF +:102E900010BD2DE9F04104000D0016000027FFF7DA +:102EA00092FF8046320029004046FFF7CCFF010028 +:102EB000200040B2FFF7B1FFBDE8F08110B504007B +:102EC000200040B2FFF786FF10BD10B504002000BF +:102ED00040B2FFF78FFF10BD0CED00E00000FA05D7 +:102EE00000E100E080E100E000E400E018ED00E037 +:102EF00010B401000020020092B24C2A0FDA9E4A60 +:102F000003009BB232F823300C00A4B2A34204D1D8 +:102F100080B202EB8000408803E0401CEBE74FF6F4 +:102F2000FF7010BC704738B504000D00200080B25F +:102F3000FFF7DEFF0100080080B24FF6FF729042FB +:102F400008D08E4A1068002804D010680A0092B297 +:102F500020F8125031BD10B50400200080B2FFF7F8 +:102F6000C7FF0100080080B24FF6FF72904208D000 +:102F7000824A1068002804D0106889B230F8110025 +:102F800000E0002010BD80B5002000907C48016862 +:102F900051F080510160006810F08050009000985E +:102FA00003F0AAFA01BD80B5FFF7EDFF0020009005 +:102FB0007448016851F480010160006810F48000D9 +:102FC00000900098704871490160002141608021A3 +:102FD00081604FF40071C1604FF480610161002194 +:102FE0004161002181610021C1615FF40031016212 +:102FF00000214162012181620021C162002101633F +:10300000002205213820FFF744FF3820FFF756FF44 +:1030100001BD2DE9F04104000D001600FFF7B3FFDC +:10302000DFF86481404603F02CFB594F00203870D4 +:103030002B0006F1804212F510322100404603F0C9 +:10304000DAFA002801D001203870BDE8F0812DE9BE +:10305000F04104000D001600FFF795FF4A4F3800BD +:1030600003F00FFBDFF82881002088F800002B0018 +:10307000220006F1804111F51031380003F0BBFA4F +:10308000012088F80000BDE8F08180B500200090A4 +:103090003B48016851F080510160006810F0805099 +:1030A00000900098002000903648016851F480217B +:1030B0000160006810F480200090009803F01CFA72 +:1030C00003F0CAFC334800680007FBD5FFF76BFF2D +:1030D00001BD38B52F48006800071ED5274C0022D7 +:1030E00098212068FFF795FF03F0D2FC05002848DF +:1030F000007800280CD103F0CBFC401B652803D3DB +:10310000214803F0BEFA03E0012000F083FDEEE762 +:103110004FF6FF702168C1F8980031BD38B51748E7 +:103120000168D1F898104FF6FF72914201D000204B +:1031300021E0982414F0030F02D0E41CA408A4009A +:10314000002221000068FFF782FF03F0A1FC0500C8 +:103150000F48007800280DD103F09AFC401B652829 +:1031600004D3094803F08DFA002004E0012000F0A8 +:1031700051FDEDE7012032BDAC9C000800000020AD +:103180004038024030380240EC2F002010640240EA +:103190001835002004700040DFF8642A90420CD3F8 +:1031A00091ED000AB8EE400ADFED330A20EE200A66 +:1031B000BCEEC00A81ED000A20E04CF25032904291 +:1031C0000CD391ED000AB8EE400ADFED2C0A20EE98 +:1031D000200ABCEEC00A81ED000A0FE044F620622E +:1031E00090420BD391ED000AB8EE400ADFED240ABD +:1031F00020EE200ABCEEC00A81ED000A7047F0B450 +:10320000002801D101231800DFF8F839984202D3D1 +:10321000DFF8EC3918000024DFF8EC5995F8333169 +:10322000002B03D095F83331012B02D1DFF8DC59A4 +:1032300001E0DFF8DC5915EB5003B3FBF0F4022C8E +:1032400001D202231C004FF6FF773E19360CB6F56B +:10325000803F00D33E00B4FBF6F35B1E002B02D18F +:103260005FF0010C6346B3F5803F00D33B00BF190C +:103270000F801360F0BC70476666863FB81E853FBE +:103280005C8F823F2DE9F84F8EB0814600200B9075 +:1032900000200A9000200790002005900020049054 +:1032A000B9F1000F03D099F83201002800D1E9E00C +:1032B00099F832010B2880F2E58099F8320100017B +:1032C000484448300690D9F800B00698D0F800A0DD +:1032D000D9F84C000390D9F8500002900698806805 +:1032E00000900398002801D1012003900298002843 +:1032F00001D101200290D34554D2012089F82C013C +:10330000BAEB0B000399B0FBF1F00590059800288B +:1033100001D1012005901AEB0B000599A1FB0001DA +:10332000CDE90801DDE908014FF4FA62002303F05A +:10333000B5FB01900198002801D10120019000986F +:103340000199884206DB019E0098019FC71B5FF030 +:10335000000891E0009E00275FF00008009CE51740 +:10336000039A0023A2FB040102FB051103FB0411D5 +:103370004FF4FA620023A2FB004502FB015503FB58 +:103380000055EBFB0B45002001218D4274D801D381 +:10339000844271D22000002100F097FB82456BD25D +:1033A000514669E0DA4560D2032089F82C01BBEB75 +:1033B0000A000299B0FBF1F004900498002801D1B2 +:1033C000012004901AEB0B000499A1FB0001CDE948 +:1033D0000C01DDE90C014FF4FA62002303F05EFBFF +:1033E00001900198002801D10120019000980199D5 +:1033F000884206DBDDF804800098019FC71B002689 +:103400003AE0DDF8008000270026ABFB0B01CDE998 +:103410000A01009CE517029A0023A2FB040102FBAB +:10342000051103FB04114FF4FA620023A2FB0045CF +:1034300002FB015503FB0055CDE90845DDE90823F2 +:10344000DDE90A018B4217D801D3824214D2DDE9AB +:103450000A010400DDE90801241A2000002100F01F +:1034600034FB504508D2514606E0022089F82C0171 +:103470000026009F5FF00008C9F83060C9F834707A +:10348000C9F838800FB0BDE8F08F2DE9F84F8CB047 +:1034900005000024002006905FF0000A5FF000099C +:1034A00000200390002D03D095F83201002800D1B0 +:1034B000A0E195F832010B2880F29C8195F8320149 +:1034C000000128444830099095F85400002840F045 +:1034D00091812F68099800680890089EE86C059013 +:1034E000286D04900998806801900598002801D102 +:1034F000012005900498002801D1012004905FF07C +:10350000020B02208DF8090003208DF80800B74255 +:103510001DD201208346F01B0599B0FBF1F08146D6 +:10352000B9F1000F01D101208146F019A9FB00017A +:10353000CDE90A01DDE90A014FF4FA62002303F044 +:10354000ADFA0400002C26D10120040023E0BE4285 +:103550001DD203208346B81B0499B0FBF1F08146CD +:10356000B9F1000F01D101208146F019A9FB00013A +:10357000CDE90A01DDE90A014FF4FA62002303F004 +:103580008DFA0400002C06D10120040003E0002085 +:10359000040000208146002E1BD00498B6FBF0F0FA +:1035A00003900398002801D1012003900398A0FB09 +:1035B0000601CDE90A01DDE90A014FF4FA620023B0 +:1035C00003F06CFA8246BAF1000F06D10120824660 +:1035D00003E000208246002003901AEB04000790CD +:1035E00001980799884204DB01990798091A069106 +:1035F000C5E00020069004980090059B019A089968 +:10360000380000F0FAF88046B84500F0A78046463A +:10361000474524D201208346A8FB0823A7FB0701C6 +:10362000101A73EB0101CDE90A01DDE90A01059ADF +:103630004FF4FA63A3FB022303F030FA0400002CDA +:1036400001D101200400B8EB07000599B0FBF1F0AF +:103650008146B9F1000F2FD1012081462CE0B845F9 +:1036600024D203208346A7FB0723A8FB0801101AD6 +:1036700073EB0101CDE90A01DDE90A01049A4FF477 +:10368000FA63A3FB022303F009FA0400002C01D122 +:1036900001200400B7EB08000499B0FBF1F081466B +:1036A000B9F1000F08D10120814605E002208346D0 +:1036B0000020040000208146B8F1000F1FD0032035 +:1036C0008DF80800A8FB0801CDE90A01DDE90A012F +:1036D000049A4FF4FA63A3FB022303F0DFF9824656 +:1036E000BAF1000F01D1012082460498B8FBF0F036 +:1036F00003900398002806D10120039003E00020E6 +:103700008246002003901AEB04010198814236D0D2 +:10371000019888421BDA012C0EDBBAF1010F0BDB9A +:10372000019A022091FBF0F002FB040494FBF1F4F7 +:103730000198001B824622E0012C02DB0198040064 +:103740001DE0BAF1010F1ADB0198824617E00198DB +:10375000401A069002228DF8092010E003208346CB +:103760000198040001994FF47A704143B1FBF7F0DE +:103770008146002082460020039000200600584623 +:10378000C0B2012801D12C6307E05846C0B203281B +:1037900001D1200000E00020286306986863C5F886 +:1037A00038A085F82DB19DF8090085F82E019DF807 +:1037B000080085F82F016E61AE610020E861012CE0 +:1037C00003DB85F82CB16E6014E00698012804DB59 +:1037D000022085F82C016E600CE0BAF1010F05DBC8 +:1037E000032085F82C010020686003E0022085F8A2 +:1037F0002C016F600DB0BDE8F08F2DE9FF4F87B051 +:10380000149F0998012804DB0A98002801D0002F92 +:1038100001D10798DFE0079E079800F041F9040006 +:103820000D0007980899884280F08A804FF4FA6A60 +:103830005FF0000B0998C117AAFB00890AFB0199E8 +:103840000BFB0099200029000A9A002303F026F9B7 +:1038500018EB000059EB0101CDE90401DDE9048911 +:103860000A980021A0FB082300FB093301FB083361 +:10387000B8465FF00009A8FB020108FB031109FB31 +:1038800002110A9ABA18002303F008F98046894603 +:1038900000200121894507D301D8804504D35FF07A +:1038A000FF300021804689464046002100F00DF996 +:1038B000060008984000B04202D208984000060076 +:1038C000300000F0EDF8001BA941CDE900010A9895 +:1038D0000021AAFB00230AFB01330BFB0033DDE9C7 +:1038E000000103F0DBF8CDE90201300000F0D8F868 +:1038F000CDE9000138000021AAFB00230AFB0133B7 +:103900000BFB0033DDE9000103F0C8F882468B466B +:10391000099AD317DDE9020110EB0A0051EB0B0104 +:103920008B4257D801D3824254D201200190009794 +:103930000A9B099A0899079800F050F8060049E098 +:1039400008980799884245D24FF4FA685FF0000959 +:1039500020002900BA465FF0000BA8FB0A2308FBF1 +:103960000B3309FB0A3303F099F8CDE900010998FC +:10397000C117DDE9002399420BD301D8904208D347 +:1039800008980799884201D2089E23E0079E76088E +:1039900020E00998C117BA465FF0000BAAFB00238C +:1039A0000AFB01330BFB0033A8FB020108FB0311E8 +:1039B00009FB021180468946A9450AD801D3A045D2 +:1039C00007D22000B0EB0800002100F07EF80600CE +:1039D00000E0002630000BB0BDE8F08F2DE9FF4F6E +:1039E0000400DDF834A0DDF838904846C0B2002865 +:1039F00001D0250000E000254846C0B2002803D0D1 +:103A000001985FEA400B00E0A34600940026142EC4 +:103A100042DABBEB050015EB50074846C0B2002860 +:103A20000FD0A7FB0723A4FB0401101A73EB0101BD +:103A3000039A4FF4FA63A3FB022303F02FF88046A6 +:103A40000DE0A4FB0423A7FB0701101A73EB01018F +:103A50004FF4FA62A2FB0A2303F020F88046A7FB8A +:103A600007014FF4FA62A2FB0A2303F017F80200E1 +:103A700012EB08010298814201D138000DE0029852 +:103A8000814203DA0097781C050001E0781E834626 +:103A9000AB4501D3761CBAE7009804B0BDE8F08FBF +:103AA000A0FB0001704702000B00002B03D1002A8D +:103AB00001D1402008E01900002902D0B1FA81F0BC +:103AC00002E0B2FA82F0203070472DE9F84F04008E +:103AD0000D00002D01D1002C05D0012000218D42C8 +:103AE00004D1844202D1200029006EE02000290088 +:103AF000FFF7D9FFD0F1400601200021721C0223FC +:103B000092FBF3F203F0E2F8804689460027062F85 +:103B100016DA2000290042464B4602F0BFFF18EBA0 +:103B2000000059EB010149085FEA3000494503D321 +:103B300001D8404500D303E0804689467F1CE6E774 +:103B4000B8F1FF3079F1FF31002901D100282AD0E6 +:103B50005FF0FF305FF0FF31B8F1FF3279F1FF33F2 +:103B600002F09CFFB8F1FF3279F1FF3399421AD38A +:103B700001D8904217D3B8F1FF3079F1FF31B8F195 +:103B8000FF3279F1FF33A2FB00AB02FB01BB03FB69 +:103B900000BB5D4507D301D8544504D3B8F1FF38C5 +:103BA00079F1FF39CCE7A8FB080108FB091109FBF3 +:103BB00008118D4207D801D3844204D2B8F101081C +:103BC00079F10009EFE740464946BDE8F48F002847 +:103BD00015D0416C002905D0416A426CB1FBF2F16D +:103BE000C16401E00021C164816C002905D0416AF3 +:103BF000826CB1FBF2F1016501E0002101657047C3 +:103C0000A0860100A18601004C290020007A030A49 +:103C100000BD010570B5040002F03AFF0500260062 +:103C200016F1010F02D004480078361802F030FF78 +:103C3000401BB042FAD370BDDC00002038B586B01E +:103C40001421002201AC2000FEF770F80020009043 +:103C50004948016851F002010160016811F0020158 +:103C60000091009900210091016851F0010101606B +:103C7000016811F001010091009900210091016893 +:103C800051F040010160016811F04001009100997C +:103C900000210091016851F080010160016811F07C +:103CA00080010091009900210091016851F02001EC +:103CB0000160006810F02000009000982F4C002256 +:103CC0004FF470712000FFF730F8202001905FF46E +:103CD000041502950120039001A92948FEF714FF5D +:103CE0004FF48050019002950120039001A92548CE +:103CF000FEF70AFF4FF4707001900120029000203F +:103D000003900020049001A92000FEF7FDFE002290 +:103D100001211720FFF7BDF8002201212820FFF71D +:103D2000B8F807B030BD70B50400200080B2B0F51F +:103D3000805F03D0200080B2202818D102F0A8FEB6 +:103D4000050011490878002811D1104E3068281A52 +:103D500040F2F51290420AD30120087001200C496C +:103D600008700C48FDF788FFFDF7AEFF356070BDA9 +:103D7000002005490870704730380240001C02409E +:103D8000000402400018024019350020943400203D +:103D90001A3500204C2900202DE9F04104000D00C7 +:103DA00016000027002C02D1042030701CE0002DEA +:103DB00002D10C20307017E0DFF86C080078002882 +:103DC00002D0122030700FE02078401E032809D85E +:103DD00002F08EFF80466561404602F08DFF0020B4 +:103DE000307001E001203070BDE8F08180B502F054 +:103DF000BBFA00F068FA00F092FA00F0EFFA00F077 +:103E000031FA00F0F7FC00F03FFD00F071FD00F02A +:103E1000A8FA00F0C4FA01F066F902F0BBFA02F069 +:103E2000C9FF01BDDFF85C090078012807D1DFF880 +:103E3000F8070178FF2902D00178491C017070470A +:103E400010B50024DFF83C090078012833D102F0D6 +:103E50004FFF0400DFF8D0170878002802D0087858 +:103E6000401E08700878002822D1DFF8C0070078CB +:103E700000281DD100F023FBDFF81409DFF82C190E +:103E8000DFF810290B7852F8232002600978DFF858 +:103E90000829127891420BD00168096C491C00680E +:103EA0000164DFF8F8080168491C016002F03FFF77 +:103EB000200002F021FF10BD10B50024DFF8C40877 +:103EC0000078012812D102F013FF0400DFF8580730 +:103ED0000078002807D1DFF854070178FF2902D0C5 +:103EE0000178491C0170200002F006FF10BD10B5DA +:103EF0000024DFF890080078012823D102F0F8FEB2 +:103F00000400DFF824070078002818D1DFF81C1718 +:103F1000087800280FD00878401E0870087800281C +:103F200005D1200002F0E8FE00F09AFA0AE0200035 +:103F300002F0E2FE06E0200002F0DEFE02E02000D9 +:103F400002F0DAFE10BD80B5DFF8380800780028EE +:103F500015D100F0B4FADFF854080178DFF83828FA +:103F60001170DFF82C18DFF82C28007852F82000A8 +:103F700008600868DFF83818086002F0C0FE01BD6C +:103F8000F8B50024022001F006F802F0B1FE0500A9 +:103F9000DFF80C7800203860280002F0ADFE6420C5 +:103FA00000F0F9FF02F0A4FE06003868DFF8F4170D +:103FB00008600120DFF8FC170870300002F09CFE5A +:103FC000F1BDF8B5002702F050FA02F091FE0600AC +:103FD000DFF8D4070168491C0160300002F08CFE54 +:103FE000DFF8A007007801285CD1DFF8CC07017862 +:103FF000002903D0022907D003D30AE001200500DD +:104000000BE00020050008E001210D0001210170F6 +:1040100003E001210D00002101702800C0B200283A +:1040200040D0DFF898070068040094F83A003F2871 +:1040300038D002F05DFE0600606B00282DD0606B6A +:10404000401E6063606B002827D194F8380010F0A0 +:10405000370F09D094F8380010F0C80084F8380001 +:10406000012084F8390002E0002084F8390094F837 +:104070003800000711D4DFF848170A7894F83E009A +:1040800002430A70DFF83C1794F83C000A5C94F88D +:104090003D00024394F83C000A546469300002F089 +:1040A0002BFEC2E7F1BD70472DE9F84F04000D006B +:1040B00016001F00DFF81007A17A10F801804146B2 +:1040C000C9B22144C97A10F801904046C0B2C0007C +:1040D00050FA89FADFF8BC065146C9B250F821B04F +:1040E0000020CBF83400CBF828509BF83800B043C0 +:1040F0008BF838008BF839709BF83800000711D422 +:10410000DFF8BC160A789BF83E0002430A70DFF81D +:10411000B4164046C0B20A5C9BF83D0002434046DC +:10412000C0B20A542100584600F049F8DBF82000DC +:10413000002809D0DBF82010584600F05DF8002078 +:10414000CBF82000CBF824405046C0B2BDE8F28F37 +:1041500030B4DFF834261168C861116891F83C105A +:104160000144CB7A116891F83D100B43116891F826 +:104170003C100144CB72837A116891F83E100B43D6 +:104180008372116891F83C30DFF838461900C9B2E3 +:10419000655C116891F83D108D431900C9B26554F2 +:1041A0001900C9B2615C002907D1DFF814462578EF +:1041B000116891F83E108D43257030BC704710B4E3 +:1041C00090F83C301A00D2B20A44D47A90F83D20DC +:1041D00094431A00D2B20A44D4721A00D2B20A44EA +:1041E000D27A002A04D18C7A90F83E2094438C72C3 +:1041F0000022C26110BC7047F0B402000B0092F8BC +:104200003C4092F83E5092F83D601F00386800280C +:1042100017D02100C9B20144C97AB143A4465FFA5C +:104220008CFC84448CF80B102100C9B20144C97A7B +:10423000002902D1817AA94381723F1D39680800A3 +:10424000E5E7F0BC70470021817200210A00D2B27C +:10425000082A06D200220B00DBB20344DA72491CA2 +:10426000F4E77047F8B5DFF86475F021380000F026 +:10427000EDF80021080080B2092814D2481C04007F +:1042800018200A0092B242433A441500220092B22A +:1042900000FB02F038440600002028706E609CA0ED +:1042A0006861491CE6E70A0092B21820424307EB16 +:1042B0000200002202700022426095A24261DFF8F3 +:1042C00010251760F1BD0020DFF8DC140860002025 +:1042D000DFF8541308700020D44908700020DFF87C +:1042E000F41408700020DFF89C1408700020DFF838 +:1042F000AC1408600020DFF8A81408600020DFF884 +:10430000D81408600020DFF89C1408600020DFF853 +:10431000A41408700020DFF8C4140870704700204F +:10432000DFF89C14087000200100C9B2082907D2E8 +:104330000021DFF890240300DBB2D154401CF3E7E6 +:104340000021DFF8542411700021DFF8602411707F +:104350000021DFF83C2411600021DFF854241160B3 +:10436000704780B586B0DFF87804032104910021FE +:1043700003918021029101904FF6FF7100913F233C +:1043800010F5FE7200210FF2651000F0B1FB05AAD6 +:10439000DFF858143F2000F0D2FC07B000BD80B514 +:1043A00086B0DFF8400403210491002103914FF40B +:1043B0008071029101904FF6FE7100913E2310F53D +:1043C0007F7200210FF24D1000F092FB05AADFF87A +:1043D00020143E2000F0B3FC07B000BDF8B5DFF8B4 +:1043E00008744FF4FD61380000F030F84FF480712C +:1043F000DFF8A00300F02AF800210800C0B2152859 +:1044000012D2481C04005C200A00D2B242433A4453 +:1044100015002200D2B200FB02F0384406006E61A3 +:104420003BA06865491CE8E70A00D2B25C20424321 +:1044300007EB02000022426135A242650022DFF84C +:104440007C331A60DFF804241760F1BD0A0092B2D1 +:10445000002A04D000220270401C491EF6E7704773 +:1044600038B5002502F044FC04006F4800780028AD +:1044700021D16E48007800281DD100F020F8DFF827 +:104480001003DFF82813DFF80C230B7852F82320F1 +:1044900002600978DFF80023127891420BD001689E +:1044A000096C491C00680164DFF8F0020168491CCE +:1044B000016002F038FC200002F01EFC31BD10B497 +:1044C000DFF80413DFF8F8020078085C0200D2B2CB +:1044D000D200DFF8F0320400E4B21B5DC95C511871 +:1044E000DFF8C822117010BC7047000038B5040016 +:1044F000002502F0FDFB0500DFF8A4020168491C5D +:104500000160280002F0F8FB01F051FFF1E7000024 +:104510003F0000002DE9F04706000025DFF8940277 +:104520000078002803D1C82000F035FDF6E7DFF859 +:10453000747238686421B0FBF1F038603868002884 +:1045400006D10020DFF834130870FF2000F0A0FC33 +:1045500002F0CEFB8046DFF8489239686420414380 +:10456000C9F80010404602F0C7FB012000F013FD1F +:1045700002F0BEFB05000020C9F80000280002F090 +:10458000BBFB642000F007FD02F0B2FB8046DFF8C1 +:1045900048A2D9F80000CAF80000404602F0ACFB7F +:1045A000DAF800003968B0FBF1F0D0F164000400E3 +:1045B000200040B2002803D4DFF8C002047009E0F4 +:1045C0000020DFF8B8120870DAF800006421B0FBB0 +:1045D000F1F0386001F0F5FE00F001F8C5E77CB5B8 +:1045E00000263000C0B240281CD269463000C0B25C +:1045F00000F0F4FB05002800C0B2002810D1654887 +:104600003100C9B250F821000400002C08D0012C60 +:1046100006D0A068E16800EB8100E06401982065A5 +:10462000761CDEE773BD00001F350020203500201A +:104630002DE9FE4F06000D9F0E9D5FF0000902F070 +:1046400057FB8046DFF804020468002C00F09380DA +:1046500061690160404602F04FFB0098206084F8D9 +:104660003A60002084F83800002084F839000020E7 +:10467000606367600C98E0600198A0602582BDF8D7 +:1046800008006082002084F83F003000C0B2C008FB +:1046900084F83C0016F0070084F83B00012194F8F0 +:1046A0003C0011FA00F084F83E0094F83B00814091 +:1046B00084F83D100020E06100202062002060624C +:1046C0000020E0620020A062002020640020A0649E +:1046D000002060640020E064002020652BA060655D +:1046E0005FF000094846C0B2002808D100204946C2 +:1046F000C9B204EB8101886519F10109F2E72000D4 +:1047000001F0ADFE02F0F4FA824622483100C9B24F +:1047100040F82140504602F0EFFA200001F03BFE45 +:1047200002F0E6FA8346DFF8941008686061002022 +:10473000A0610868002801D0086884610C60DFF877 +:1047400080100A7894F83E0002430A70DFF8741073 +:1047500094F83C000A5C94F83D00024394F83C0055 +:104760000A54DFF870000178491C0170584602F0C5 +:10477000C3FA002003E0404602F0BEFA4220BDE842 +:10478000FE8F000024350020D83400203F000000B8 +:10479000E0340020842A002021350020C03400208D +:1047A000D4340020CC340020F03400202235002006 +:1047B000D83400201E35002026350020E4340020A7 +:1047C000233500208C340020DC9D0008842E00203E +:1047D000C434002025350020D034002027350020A7 +:1047E0004C270020CC180020E4000020ACA10008D9 +:1047F000BCA10008F8B5DFF8EC7050213800FFF7D5 +:1048000025FE0020010089B2042912D2411C0C00AF +:10481000010089B2090139440D00210089B2090162 +:1048200039440E00002129706E6015A1E960401C1A +:10483000E8E7010089B20901394400220A70002228 +:104840004A600FA2CA600F4A1760F1BDDC34002035 +:1048500030B442680168002A07D1C3681C00616057 +:10486000002906D000234B6003E01160002900D02E +:104870004A6083680025DD6230BC70471D3500202A +:104880003F000000C834002038B5DFF860507821C0 +:104890002800FFF7DBFD0021080080B2042810D2B9 +:1048A00018200A0092B242432A4414000A0092B22D +:1048B00000FB02F028441830606009A06061491CC8 +:1048C000EAE70A0092B21820424305EB02000022F8 +:1048D000426003A24261DFF81020156031BD000084 +:1048E0003F0000006C310020E8340020742F0020CD +:1048F000F8B5DFF8DC7460213800FFF7A7FD002170 +:10490000080080B2032810D2481C040018200A00B6 +:1049100092B242433A441500220092B200FB02F0E8 +:10492000384406002E60491CEAE70A0092B21820BB +:10493000424307EB020000220260DFF8B02117605B +:10494000F1BDF8B505000027DFF88C0400780028D9 +:1049500001D000201BE002F0CBF90600DFF888113F +:104960000C680868002802D00868406808603000B9 +:1049700002F0C2F9002C09D003202070258100200C +:1049800060603EA060612000FFF75DFC2000F2BD8A +:1049900000002DE9F84304000D0016000027002C4C +:1049A00002D10420307066E02078032802D0012074 +:1049B000307060E0DFF820040078002802D0022088 +:1049C000307058E0DFF8A0050078002802D00D20F4 +:1049D000307050E002F08CF980462089002808D021 +:1049E0002089401E2081404602F086F90020307068 +:1049F00041E0234F386890F8380050F001003968E2 +:104A000081F838000020396881F83900386845633A +:104A10002000FFF79DFB404602F06EF9FFF720FDF6 +:104A200002F066F98146386890F83900002802D013 +:104A3000022803D005E00020307008E00E2030701E +:104A400005E021003868FFF7BAFB0A20307000202B +:104A5000396881F838000020396881F83900002071 +:104A60003968C861002039680862002039684862E6 +:104A7000484602F041F9BDE8F18300003F00000024 +:104A8000D834002070B504000025002C01D104208A +:104A900028E02078032801D0012023E002F028F943 +:104AA0000600A07A00280CD000230122002120005B +:104AB000FFF7FAFA300002F01FF9FFF7D1FC0020EF +:104AC00010E020894FF6FF71884207D02089401CF2 +:104AD0002081300002F010F9002003E0300002F0E5 +:104AE0000BF9332070BD0000C4340020EC340020EA +:104AF0002DE9F74F84B01D00119E129F149C5FF0AA +:104B000000092800C0B2402801D32A2057E002F053 +:104B1000EFF88046DFF8C0020078002804D0404655 +:104B200002F0EAF83C204AE0DFF8DC942800C0B24A +:104B300059F8200000283ED101202900C9B249F8C7 +:104B40002100404602F0D8F8220092B2390030002D +:104B500000F015FA23009BB2069A0599049801F01B +:104B600034FC8246200080B2029013980190009796 +:104B7000BDF84030320051462800C0B2FFF758FD62 +:104B800083465846C0B2002807D1DFF83C050078BC +:104B900001280DD1FFF764FC0AE002F0A9F8804675 +:104BA00000202900C9B249F82100404602F0A4F8CB +:104BB0005846C0B203E0404602F09EF8282007B0F5 +:104BC000BDE8F08F2DE9F04706000024DFF8080269 +:104BD0000078002801D04020AFE03000C0B23F286C +:104BE00001D13E20A9E03000C0B23F2805D33000FB +:104BF000C0B2FF2801D02A209FE002F079F8070018 +:104C00003000C0B2FF2805D1DFF80004006890F83A +:104C10003A000600DFF8F0833000C0B258F82040B8 +:104C2000002C04D1380002F067F8432085E0012C05 +:104C300004D1380002F060F83D207EE0DFF88014F7 +:104C400094F83C000A5C94F83D00824394F83C00E0 +:104C50000A5494F83C00085C002806D1DFF864147C +:104C60000A7894F83E0082430A70E069002803D075 +:104C7000E1692000FFF7A3FA206A002803D0216A27 +:104C80002000FFF7B9FAE56A002D02D02800FFF7EF +:104C9000DFFD00206063002084F83800002084F8E5 +:104CA0003900DFF8C4A29AF80000FF2804D09AF86F +:104CB0000000401C8AF80000380002F01DF8FFF7E1 +:104CC000F2F902F015F881469AF80000002804D0A5 +:104CD0009AF80000401E8AF80000200001F061FBF5 +:104CE000DFF8E8030178491E017000203100C9B2E5 +:104CF00048F82100A069002807D100206169886177 +:104D00006069DFF8CC13086005E06069A16948615B +:104D1000A06961698861DFF8BC03016861610460B2 +:104D20002CA06065484601F0E7FFDFF89C0300789F +:104D3000012801D1FFF794FB0020BDE8F0872DE9A1 +:104D4000F04107000C00160000253800C0B24028D2 +:104D500006D33800C0B2FF2802D02A20307034E0D9 +:104D6000002C02D10C2030702FE01B480078002866 +:104D700002D01220307028E001F0BAFF80463800DF +:104D8000C0B2FF2805D1DFF88402006890F83A002D +:104D90000700DFF874023900C9B250F82150002D25 +:104DA00005D1404601F0A8FF432030700DE0012DF1 +:104DB00005D1404601F0A0FF4320307005E06C654E +:104DC000404601F099FF00203070BDE8F0810000FE +:104DD0004C3000203F0000001F3500202DE9F04737 +:104DE00006000C0000253000C0B2402805D330007A +:104DF000C0B2FF2801D02A2048E0002C01D10920B0 +:104E000044E0002020600020606001F071FF070096 +:104E10003000C0B2FF2805D1DFF8F001006890F83B +:104E20003A000600DFF8E0013100C9B250F8215025 +:104E3000002D04D1380001F05FFF432026E0012D52 +:104E400004D1380001F058FF43201FE0287CC00740 +:104E500004D4380001F050FF452017E05FF000084F +:104E6000D5F80C90D5F808A0380001F045FF504661 +:104E700010F1040A0068002802D118F10108F6E7D1 +:104E8000C4F80080B9EB080060600020BDE8F0873E +:104E90002DE9F041050000242800C0B23F2801D1CF +:104EA00047205EE02800C0B23F2805D32800C0B2EA +:104EB000FF2801D02A2054E001F01AFF0600280044 +:104EC000C0B2FF2806D15148006890F83A000500AA +:104ED00001270AE028004D49096891F83A10C0B24C +:104EE000884201D1012700E0002747482900C9B2C4 +:104EF00050F82140002C04D1300001F0FDFE482084 +:104F00002FE0012C04D1300001F0F6FE432028E010 +:104F100094F83C80DFF8A8114046C0B20A5C94F8CF +:104F20003D0082434046C0B20A544046C0B2085CCD +:104F3000002806D1DFF800140A7894F83E00824376 +:104F40000A7094F8380050F0080084F838003000F7 +:104F500001F0D2FE3800C0B2012801D1FFF780FA7B +:104F60000020BDE8F08100002035002080B52748F2 +:104F7000006801F020FAFF20FFF724FE01BDD307EF +:104F800008D5930706D5002904D0491E00230360E5 +:104F9000001DF8E7704770B504000026DFF89C0399 +:104FA000007800282DD1DFF898030078002828D158 +:104FB000002C26D001F09CFE06001449086890F8E9 +:104FC0003C0005003E4A2800C0B2135C086890F817 +:104FD0003D0083432800C0B213542800C0B2105CC7 +:104FE000002807D1DFF850231378086890F83E00B6 +:104FF0008343137008684463300001F07DFEFFF7BF +:105000002FFA70BD00000000842A0020D834002050 +:105010002DE9F04104000D0016001F00DFF81C030D +:105020000078002801D0552048E0DFF8140300780C +:10503000002801D0322041E02000C0B200280DD16C +:105040002800C0B2002809D13000C0B2002805D124 +:10505000380080B2002801D154202FE02800C0B2CF +:105060003C2801D3512029E03000C0B23C2801D3B4 +:10507000522023E0380080B2B0F57A7F01D353206C +:105080001CE04FF47A712200D2B24FF46163AC4657 +:105090005FFA8CFC3C2000FB0CFC03FB02C252FAC2 +:1050A00086F8380080B248434FF47A72B0FBF2F0D1 +:1050B00001FB08084046FFF76EFF0020BDE8F081C5 +:1050C0008C34002023350020243500202535002095 +:1050D000E4340020DC34002080B59B480068FFF7F2 +:1050E000D1FCC0B202BD2DE9FC47DFF86C824FF461 +:1050F00020714046FFF7AAF940219848FFF7A6F92A +:105100000027380080B20F2817D2781C040028200E +:10511000390089B2414341440D00210089B200FBAE +:1051200001F04044060064202870002085F8250026 +:10513000EE6080A028627F1CE3E7390089B2282056 +:10514000414308EB0109642089F80000002089F838 +:1051500025000020C9F80C0076A0C9F82000002026 +:105160007849086000207A49088010207949088031 +:105170007648C0F80080DFF8E8810120FFF7E1FB06 +:10518000C8F80000DFF8C0A10020FFF7DAFBCAF87A +:1051900000006A467349D8F80000FEF7FDFD6A4634 +:1051A0007149DAF80000FEF7F7FD00F002F8BDE8FB +:1051B000F38780B586B06D480321049100210391E7 +:1051C0004FF48071029101904FF6FD7100913D23E3 +:1051D00010F57F7200210FF2D500FFF789FC05AAB8 +:1051E00063493D20FFF7ABFD07B000BD30B403229B +:1051F00080F825200A00D2B2012A05D1C469514A9B +:105200001268141944610DE08269002A05D1C4694D +:105210004C4A12681419446104E08469494A1268CE +:1052200014194461057D15F007054C4A2C00A4B201 +:1052300002EBC4042268002A05D120600022C2606B +:105240000122A28007E0226813002060C360186179 +:10525000A288521CA2800022026130BC704730B488 +:10526000037D13F007033D4A1C00A4B202EBC40403 +:105270002268824206D1C2682260002A09D0002535 +:10528000156106E00269C5682900D160002900D0D7 +:105290000A61012580F825500025C56000250561BB +:1052A000A5886D1EA58030BC704700002DE9FC4725 +:1052B00081466A46002124480068FFF76AFBFEF732 +:1052C000FBFDDFF880A0DAF80000401CCAF80000FF +:1052D0009AF8000010F0070080462048414689B245 +:1052E00000EBC100070038680400002C1FD0E06804 +:1052F0000500DAF800006169884216D12000FFF746 +:10530000AEFF94F82400022804D101212000FFF709 +:105310006DFF02E0022084F825006068060030007E +:10532000002802D0A1682000B0472C00DDE7FEF77E +:10533000DEFDBEE73F000000233500201F350020C2 +:1053400020350020F4340020FC34002000350020FB +:105350000E3500200C350020CC2000204C340020DD +:10536000F834002074A1000888A10008CC1C00209B +:10537000CCA100087047704770477047704770476E +:105380007047010080B50B48016851F4007101605D +:10539000016851F480610160016851F4807101601D +:1053A0000320FDF770FD052001F0E4FD01F042FE51 +:1053B000002002BD003C024010B5DFF8CC48DFF809 +:1053C000CC0820605FF4E13060604FF48050A06052 +:1053D0000020E0604FF4C06020610C20606100207C +:1053E000A0610020E061200001F048FE002801D00B +:1053F000FDF732FB2068C06850F010002168C860DB +:105400004FF48072DFF88818200001F02DFF012092 +:1054100000F03CF910BDF8B586B00400142100225C +:1054200001AD2800FCF782FC2068DFF86018884294 +:1054300040F08D8000200090DFF85808016851F09E +:1054400010010160006810F010000090009800202A +:105450000090DFF84458286850F001002860286860 +:1054600010F00100009000984FF4C06001900220FD +:10547000029000200390032004900720059001A9CA +:10548000DFF81808FDF740FB00200090286850F472 +:1054900080002860286810F4800000900098DFF8F1 +:1054A0000058DFF8000828605FF000666E6000209A +:1054B000A8600020E8604FF480672F6100206861D9 +:1054C0000020A8610020E8610020286200206862B6 +:1054D000280001F01FF8002801D0FDF7BDFAE563B0 +:1054E000AC63DFF8C457DFF8C40728606E60402063 +:1054F000A8600020E8602F61002068610020A8619A +:105500000020E8610020286200206862280001F085 +:1055100001F8002801D0FDF79FFAA563AC630022D3 +:1055200006213A20FDF7B5FC3A20FDF7C7FC002222 +:1055300004214620FDF7ADFC4620FDF7BFFC00220C +:1055400004212520FDF7A5FC2520FDF7B7FC07B0B9 +:10555000F0BD11B581B00C005FF0FF33012201A94D +:10556000DFF8240701F0C7FD019816BDF8B5DFF894 +:10557000184720680068C00642D5002000902068C7 +:10558000006800902068406800900098200001F0BA +:1055900086FEDFF81C17E06B00684068D0F580706D +:1055A00008800888002824D0002002000B8892B2CE +:1055B0009A421ED2DFF8FC261388B3F5807F16DAF4 +:1055C000DFF8F436DFF8C8560600B6B2AD5DDFF896 +:1055D000EC661F88F5551D886D1C4FF4807695FB91 +:1055E000F6F706FB17551D8013885B1C1380401CC3 +:1055F000DBE74FF48072DFF89816200001F034FEEC +:10560000F1BD2DE9F04704000E00DFF8B45628780C +:10561000002801D0002022E0300080B240F20111C9 +:10562000884201DB00201AE03700BFB2A046DFF855 +:105630009496CA463A004146504602F0F9FB0120D2 +:105640002870320092B24946DFF83C0601F0B9FDFD +:10565000002803D000202870002000E00120BDE8D1 +:10566000F08738B504000D002A0092B22100DFF85F +:10567000180601F0A6FD31BD0168DFF81026914241 +:1056800003D10021DFF8382611707047DFF8381693 +:10569000087070472DE9F041C0B0DFF8185628882F +:1056A000082870DB0024288800286CD0DFF81C064E +:1056B0006E46DFF808160288895C220092B2B15467 +:1056C0000188491C4FF4807291FBF2F302FB131125 +:1056D00001802888401E2880641C200080B2052894 +:1056E000E1DB6846210089B2084410F8010C6946E4 +:1056F000220092B2114411F8027C57EA0027A11E41 +:1057000089B2684602F0E8FB80463800414680B224 +:1057100089B28842C7D19DF80000DFF8AC1509783E +:105720008842C0D175782800C0B2032808D0062866 +:1057300012D010280AD0462814D0472818D01DE0CF +:10574000210089B2684600F0E4F81CE0210089B22B +:10575000684600F0CDF916E0210089B2684600F0F5 +:1057600069F910E0210089B2684600F043F80AE0C8 +:10577000210089B2684600F009F804E00121280000 +:10578000C0B200F061FA40B0BDE8F0817CB5040021 +:105790000D00280080B2052804D00321472000F026 +:1057A00053FA26E0DFF8200500788DF80000472046 +:1057B0008DF8010000208DF802000020DFF81015A0 +:1057C0000860DFF810050021016006683000010064 +:1057D00089B24FF40050FDF7A6FB30000014010021 +:1057E00089B242F20100FDF79EFB0321684600F0FA +:1057F00012FA73BD2DE9FE4304000D00280080B2AB +:1058000008280ED0032001900120009000230022E0 +:105810004621012002F07CFB0321462000F014FA0F +:1058200075E0A078E67856EA00262079677957EA8D +:105830000027380080B2002803D0380080B21F282B +:1058400010DB04200190012000903B009BB232004D +:1058500092B24621012002F05BFB0421462000F0B9 +:10586000F3F954E0300080B2802810DB0220019070 +:10587000012000903B009BB2320092B246210120F1 +:1058800002F046FB0221462000F0DEF93FE05FF027 +:1058900000084046390080B289B2884237D240467B +:1058A00080B210FA86F0802831DA404680B210FAD1 +:1058B00086F0802190FBF1F201FB1200DFF8181452 +:1058C00001EBC00999F800008DF80000684699F8CE +:1058D00001104170B9F8021089B2090A8170B9F853 +:1058E0000210C170B9F8041089B2090A0171B9F83F +:1058F0000410417199F80610817199F80710C1716F +:1059000008216846FFF7ADFE18F10108C1E7BDE8C0 +:10591000F7832DE9F047C0B004000D00280080B2E5 +:10592000082804D00321032000F08EF97FE0A0783E +:10593000E67856EA00262079677957EA002738008A +:1059400080B2002803D0380080B27E2804DB022118 +:10595000032000F079F96AE0DFF86C0300788DF835 +:1059600000006846032141703900C9B249008170C6 +:105970005FF000084046390080B289B288424DD2BB +:1059800018EB060A504680B2FDF7E5FA8146484614 +:1059900080B200282FD1504680B2B0F5805F2AD067 +:1059A000504680B2B0F5805F05DB504680B241F2D0 +:1059B0000D0188421FDB504680B2B0F5885F05DBE1 +:1059C000504680B241F29611884214DB504680B2B4 +:1059D000B0F5005F05DB504680B242F2020188421A +:1059E00009DB504680B2B0F5405F04D002210320AD +:1059F00000F02AF91BE0484680B2000A6946424698 +:105A000092B201EB4201C8706846414689B200EB90 +:105A1000410080F8049018F10108ABE7380080B22B +:105A20004000C01C010089B2684600F0F4F840B0A4 +:105A3000BDE8F087FEB504000D00280080B20828FC +:105A400004D00321062000F0FFF850E0A078E678AB +:105A500056EA00262079677957EA0027300080B29D +:105A6000B0F5805F05DB300080B241F20D01884265 +:105A70001FDB300080B2B0F5885F05DB300080B2FC +:105A800041F29611884214DB300080B2B0F5005F1D +:105A900005DB300080B242F20201884209DB3000AF +:105AA00080B2B0F5405F04D00221062000F0CCF8AF +:105AB0001DE0390089B2300080B2FDF734FAFDF7FD +:105AC00008FB814800788DF8000006208DF8010061 +:105AD0006846310089B2090A8170C670390089B2FE +:105AE000090A017147710621684600F094F8F7BD74 +:105AF0002DE9FC4704000D00280080B2092804DAD3 +:105B00000321102000F0A0F883E0A078E67856EAA0 +:105B100000262079677957EA0027380080B20028EC +:105B200003D0380080B27C2804DB0221102000F072 +:105B30008BF86EE05FF000084046390080B289B211 +:105B400088422FD218EB0609484680B2B0F5805F34 +:105B500005DB484680B241F20D0188421FDB484612 +:105B600080B2B0F5885F05DB484680B241F29611FD +:105B7000884214DB484680B2B0F5005F05DB48463A +:105B800080B242F20201884209DB484680B2B0F599 +:105B9000405F04D00221102000F056F839E018F1DF +:105BA0000108C9E75FF000084046390080B289B2B9 +:105BB000884217D218EB0609404680B204EB400039 +:105BC000C079414689B204EB410191F808A05AEA34 +:105BD000002A514689B2484680B2FDF7A4F918F16F +:105BE0000108E1E7FDF775FA374800788DF8000005 +:105BF000684610214170310089B2090A8170C6706F +:105C0000390089B2090A017147710621684600F01E +:105C100002F8BDE8F38770B504000D00290089B2D1 +:105C2000200002F059F90600280080B22654300006 +:105C300080B2000A290089B221444870A91C89B2A7 +:105C40002000FFF7DEFC70BD7CB504000D001E488F +:105C500000788DF8000054F080008DF801008DF878 +:105C600002500321684602F037F9060030008DF833 +:105C70000300300080B2000A8DF804000521684658 +:105C8000FFF7BFFC73BD000004340020001001408A +:105C9000842C00204438024030380240000002408A +:105CA000AC300020406402400C310020B864024057 +:105CB000163500201435002010350020842B0020DC +:105CC00028350020842D00202935002012350020A1 +:105CD000A0340020A4340020CC14002080B5002083 +:105CE00000900D48016851F480010160006810F4D3 +:105CF000800000900098002200213A20FDF7C9F8AA +:105D00003A20FDF7DBF8002200214620FDF7C1F81C +:105D10004620FDF7D3F801BD303802402DE9F843A5 +:105D20000400002C01D10120D8E12078C0075FD504 +:105D3000DFF8AC03016811F00C01042909D00068F8 +:105D400010F00C0008280ED1DFF89803006840021C +:105D500009D5DFF894030068800349D560680028FE +:105D600046D10120BAE16068B0F5803F06D1DFF886 +:105D70007803016851F48031016018E06068B0F583 +:105D8000A02F0AD1DFF86003016851F4802101607F +:105D9000016851F48031016009E0DFF84C030168CB +:105DA00031F480310160016831F480210160606864 +:105DB00000280ED000F06CFE0500DFF82C03006810 +:105DC000800315D400F064FE401B6528F5D3032042 +:105DD00084E100F05DFE0500DFF80C03006880033D +:105DE00006D500F055FE401B6528F5D3032075E16C +:105DF000207880074CD5DFF8E802016811F00C0F1D +:105E000008D0006810F00C00082814D1B5480068CC +:105E1000400210D4B4480168890704D5E16801291B +:105E200001D001205AE1016831F0F801226951EAFC +:105E3000C20101602CE0E068002818D00120AB49C5 +:105E4000086000F025FE0500A7480168890706D410 +:105E500000F01EFE401B0328F6D303203EE101683C +:105E600031F0F801226951EAC201016010E000201E +:105E70009E49086000F00CFE05009B480068800702 +:105E800006D500F005FE401B0328F6D3032025E1CC +:105E90002078000724D56069002810D0012094499B +:105EA000086000F0F5FD050092480068800717D4EF +:105EB00000F0EEFD401B0328F6D303200EE1002086 +:105EC0008B49086000F0E4FD05008A4800688007FF +:105ED00006D500F0DDFD401B0328F6D30320FDE0CE +:105EE000207840077CD50027DFF80C82D8F8000026 +:105EF000C0000FD400200090D8F8000050F080506F +:105F0000C8F80000D8F8000010F080500090009809 +:105F100001200700DFF8E491D9F80000C00513D490 +:105F2000D9F8000050F48070C9F8000000F0B0FD0E +:105F30000500D9F80000C00506D400F0A9FD401BFB +:105F40000328F6D30320C9E0A068012805D16C48D6 +:105F5000016851F00101016015E0A068052809D130 +:105F60006748016851F004010160016851F00101C6 +:105F7000016008E062480168490849000160016861 +:105F800031F004010160A06800280FD000F080FD0E +:105F900005005B480068800718D400F079FD401BBD +:105FA00041F289318842F4D3032097E000F070FD7C +:105FB000050053480068800708D500F069FD401BC4 +:105FC00041F289318842F4D3032087E03800C0B21F +:105FD000012805D1D8F8000030F08050C8F8000042 +:105FE000A069002879D03E48006810F00C0008280D +:105FF00047D0A069022833D1424F0020386000F01A +:1060000047FD8046DFF8E090D9F80000800107D511 +:1060100000F03EFDB0EB08000328F3D303205DE061 +:10602000E169206A0143606A51EA8011A06A400870 +:10603000401E51EA0041E06A51EA006129480160CE +:106040000120386000F024FD0500D9F8000080012F +:1060500043D400F01DFD401B0328F6D303203DE090 +:1060600000202849086000F013FD05001E48006864 +:10607000800132D500F00CFD401B0328F6D303202D +:106080002CE0A069012801D1012027E01548006813 +:106090000600A06901281ED016F48000E16988423C +:1060A00019D116F03F00216A884214D147F6C0701A +:1060B0003040616AB0EB811F0DD116F44030A16A07 +:1060C0004908491EB0EB014F05D116F07060E16A36 +:1060D000B0EB016F01D0012000E00020BDE8F283A9 +:1060E00008380240043802400038024000004742AD +:1060F000800E474274380240403802400070004031 +:1061000070380240600047422DE9F04104000D0064 +:10611000002C01D1012095E0654F386810F0070090 +:10612000A84207D23D70386810F00700A84201D09D +:10613000012087E02078800716D52078400704D515 +:106140005C48016851F4E05101602078000704D5F3 +:106150005848016851F46041016056490A6832F0BC +:10616000F002A06802430A602078C00738D5606852 +:10617000012805D150480068800313D4012061E054 +:106180006068022802D06068032805D14A48006888 +:10619000800107D4012055E047480068800701D4FA +:1061A00001204FE0DFF80C81D8F800108908890041 +:1061B00060680143C8F8001000F06AFC0600D8F8D7 +:1061C000000010F00C006168B0EB810F08D000F007 +:1061D0005FFC801B41F289318842F0D3032031E01B +:1061E000386810F00700854207D23D70386810F01B +:1061F0000700A84201D0012024E02078400706D5FE +:106200002C490A6832F4E052E06802430A602078C0 +:10621000000707D52748016831F46041226951EA37 +:10622000C201016000F052F82449224A1268C2F308 +:106230000312895CC840224908602248006800F0C7 +:1062400099FE0020BDE8F0811D480068704780B5C8 +:10625000FFF7FAFF1C49174A1268C2F38222895CD1 +:10626000C84002BD80B5FFF7EFFF1749114A126819 +:10627000C2F34232895CC84002BD0F2202600D4A5F +:10628000136813F003034360136813F0F003836093 +:10629000136813F4E053C3601268D20812F4E0529A +:1062A0000261034A126812F007020A607047000098 +:1062B000003C024008380240003802409CA100081F +:1062C000080000200400002010A200082DE9F04181 +:1062D00000240025002600271F48006810F00C004D +:1062E000002804D0042804D0082804D031E01B483A +:1062F00030E01B482EE0DFF86C80D8F8000010F08A +:106300003F000400D8F8000040020CD5D8F8000087 +:10631000C0F388101249A1FB00012200002300F005 +:10632000BDFB05000BE0D8F80000C0F388100B4956 +:10633000A1FB00012200002300F0B0FB0500D8F80B +:106340000000C0F30140401C40000600B5FBF6F021 +:1063500000E00248BDE8F081083802400024F40063 +:10636000001BB700043802405C4A1100802000285E +:1063700004D0401E00230B60091DF8E7584B12F5AE +:1063800000721A601A68D208D2001A600022554BB7 +:106390001A807047704710B50400200001F0DAFD44 +:1063A00010BD10B50400200001F0D5FD10BD80B572 +:1063B00001F0D2FD01BD10B50400200001F0CEFDBA +:1063C00010BD80B501F0C9FD01BD30B40400101D41 +:1063D000C008C000001F5FF080750560001F0460EA +:1063E000001F414D0560001F5FF012350560001F62 +:1063F0005FF003350560001F5FF002350560001F88 +:106400005FF001350560001F0160001F7FF002058D +:106410000560001F5FF011350560001F5FF010354B +:106420000560001F5FF009350560001F5FF008354B +:106430000560001F5FF007350560001F5FF006353F +:106440000560001F5FF005350560001F5FF0043533 +:10645000056030BC704780B501F081FD01BD10B50D +:106460000400200001F07CFD10BD80B501F079FD35 +:106470001C480188491C01800188642903D300213C +:106480000180FEF729FE01BD10B500F031FC0400CB +:10649000FDF7C8FC200000F02FFCFDF792FDFDF792 +:1064A000CFFC10BD38B504004FF47A70B4FBF0F5A2 +:1064B000280000F001F831BD411E0C4A11600C4A61 +:1064C000116821F07F4111600A4A136853F00503F7 +:1064D0001360136853F00203136070474C250020CB +:1064E000983400200A3500206D4F000814E000E0C9 +:1064F00020ED00E010E000E081B0012003490860D9 +:10650000034800680090009801B0704720000E42D8 +:106510000070004070B50400002600F0B9FA0500D4 +:10652000002C01D1012065E0606A0028022084F877 +:106530003500002084F834002068006840084000DE +:106540002168086020680068C0070BD500F0A0FA39 +:10655000401B0628F6D320206065032084F8350010 +:10656000032047E020680168DFF8440401406268C6 +:10657000A0680243E0680243206902436069024365 +:10658000A0690243E0690243206A02431143606A42 +:10659000042803D1E26A206B0243114320680160A2 +:1065A00020684669F608F600606A0643606A0428B7 +:1065B00010D1A06A0643E06A00280BD0200000F04A +:1065C000FDF9002806D040206065012084F83500E0 +:1065D00001200FE020684661200000F0CFF90100A3 +:1065E0003F22E06D82408A6000206065012084F8CF +:1065F0003500002070BD2DE9F84304000D001600A1 +:106600001F005FF00008D4F8589094F83400012877 +:1066100001D1022033E0012084F8340094F83500E1 +:10662000012825D1022084F83500002060653B0058 +:1066300032002900200000F08AF93F21E06D8140FE +:10664000C9F808102068006850F01600216808603A +:10665000206C002805D02068006850F008002168F0 +:1066600008602068006850F001002168086004E0BC +:10667000002084F83400022080464046C0B2BDE8C5 +:10668000F28370B50400A56D00F002FA060094F8DC +:106690003500022806D080206065002084F8340090 +:1066A00001203BE02068006830F016002168086097 +:1066B0002068406930F0800021684861206C002823 +:1066C00002D1A06C002805D02068006830F00800D6 +:1066D0002168086020680068400840002168086060 +:1066E00020680068C0070ED500F0D2F9801B06288C +:1066F000F6D320206065032084F83500002084F85C +:10670000340003200AE03F21E06D8140A9600120B0 +:1067100084F83500002084F83400002070BD0100AA +:1067200091F83500022803D080204865012009E057 +:10673000052081F8350008680068400840000A68B4 +:10674000106000207047F8B5040000200090DFF8CA +:10675000640200684FF41651B0FBF1F5A66D37687E +:106760000821E06D11FA00F0074210D0206800689F +:1067700040070CD52068006830F0040022681060E3 +:10678000E06D8140B160606D50F001006065E06DCA +:106790003900C140C8070BD520684069000607D5FD +:1067A0000121E06D8140B160606D50F002006065D4 +:1067B0000421E06D11FA00F007420AD02068006859 +:1067C000800706D5E06D8140B160606D50F0040037 +:1067D00060651021E06D11FA00F007422CD02068AE +:1067E0000068000728D5E06D8140B160206800682E +:1067F000400311D520680068000306D4206C0028EF +:106800001AD02000216C884716E0A06C002813D015 +:106810002000A16C88470FE020680068C00505D4FF +:106820002068006830F0080021680860206C0028AB +:1068300002D02000216C88472021E06D11FA00F081 +:1068400007425FD020680068C0065BD5E06D8140DC +:10685000B16094F83500052828D12068006830F030 +:106860001600216808602068406930F080002168C7 +:106870004861206C002802D1A06C002805D0206857 +:10688000006830F00800216808603F21E06D814019 +:10689000B160012084F83500002084F83400206DB8 +:1068A000002802D02000216D88474FE02068006852 +:1068B000400311D520680068000306D4606C0028EE +:1068C00020D02000616C88471CE0E06B002819D0C4 +:1068D0002000E16B884715E020680068C0050BD4F4 +:1068E0002068006830F0100021680860012084F8FA +:1068F0003500002084F83400E06B002802D020002E +:10690000E16B8847606D002820D0606DC00717D507 +:10691000052084F8350020680068400840002168A0 +:1069200008600098401C0090854203D320680068EE +:10693000C007F6D4012084F83500002084F8340024 +:10694000E06C002802D02000E16C8847F1BD30B433 +:106950000468246834F4802405682C60046863604B +:106960008468402C04D10468A2600468E16003E0FC +:106970000468A1600468E26030BC7047017801F0EF +:10698000FF0110391822B1FBF2F10B4A525CC265CB +:10699000042905D30268920A9202121D826503E05F +:1069A0000268920A92028265806D704700000000C2 +:1069B0003F8010F00800002008A2000810B4020078 +:1069C0000020936A9169002916D1002B05D0022B73 +:1069D00003D008D3032B0DD00DE0D16AC90101D536 +:1069E0000121080035E0D16AB1F1C07F01D1012158 +:1069F00008002EE02DE02CE09169B1F5005F18D180 +:106A0000002B05D0022B03D005D3032B09D00FE0B8 +:106A1000012108001DE0D16AC90101D5012108004A +:106A200017E0D16AB1F1C07F01D10121080010E067 +:106A30000FE019000029022902D9C91E03D008E07D +:106A40000121080005E0D16AC90101D50121080032 +:106A5000FFE7C0B210BC704738B5002401200A49D6 +:106A6000086000F015F8050008480068000708D421 +:106A700000F00EF8401B40F2E9318842F4D30320C5 +:106A800000E0002032BD0000A4000E42047000406F +:106A900001480068704700BF9C340020BBBBE1B1D7 +:106AA000B2F5803F80F07E80022A1ED98C46B1FB71 +:106AB000F2F102FB11C31B0443EA1043B3FBF2FCE7 +:106AC00002FB1C3380B240EA0343B3FBF2F002FB4B +:106AD000103240EA0C4000237047022A05D9844650 +:106AE000B0FBF2F002FB10C270474AB105D100F0D2 +:106AF000010249085FEA3000704700220023704716 +:106B000001F030BA0B0002000021002070479042D3 +:106B100071EB030CF6D3B3F5803F2FD2F0B5B3FA87 +:106B200083F7B1FA81F4A7F10F0E3D1B5340CEF16C +:106B3000200602FA0EF2F3415340B5F10F0746D892 +:106B40000F3C2C444140C4F12006A040F14141409B +:106B5000B1FBF3F603FB1611A2FB0645001BA9418E +:106B600002D2761E8018594180EA010221FA0EF302 +:106B700062FA0EF200215A403046F0BD30B4B1FB4B +:106B8000F3FC03FB1C11A2FB0C45001BA94103D223 +:106B9000ACF1010C8018594130BC02460B466046EE +:106BA00000217047B2F1807F65D3F0B5B2FA82F769 +:106BB000B1FA81F4C7F10F063D1B22FA06F307F183 +:106BC000110EF24120355A40B5F10F07B8D94140B6 +:106BD000C4F12006A040F1414140B1FBF3FC03FBAE +:106BE0001C11A2FB0C45001BA94103D2BCF1010CF6 +:106BF000801859410F2F12D30F3FC90341EA50416A +:106C0000B1FBF3F603FB1611A2FB0645D4EBC03033 +:106C1000A94102D2761E8018594146EACC3C07B3FE +:106C20004140C7F12006B840F1414140B1FBF3F6C5 +:106C300003FB1611A2FB0645001BA94102D2761EDA +:106C40008018594180EA010221FA0EF3C7F12004AD +:106C500062FA0EF20CFA07F05A402CFA04F13043B3 +:106C6000F0BD80EA010221FA0EF3002162FA0EF271 +:106C700060465A40F0BD8C46B1FBF2F102FB11C3F5 +:106C80001B0243EA1063B3FBF2FC02FB1C331B0242 +:106C90004CEA002043EA1063B3FBF2FC02FB1C3316 +:106CA0001B024CEA002043EA1063B3FBF2FC02FB38 +:106CB0001C331B024CEA002043EA1063B3FBF2FCD6 +:106CC00002FB1C324CEA002000237047D2B2203A6B +:106CD00022BF00FA02F1002070475242D041D2F1A7 +:106CE000200291404140D040904041407047010017 +:106CF000EFF3108072B6704780F310887047234816 +:106D000023490160002080F30988FFF7A4FB214894 +:106D1000016881F308882048012101701F4820493B +:106D2000016062B6FEE71D481D49016070471B48BF +:106D30001B490160704772B6EFF3098000280BD041 +:106D40002438184909680860F0C044464D46564644 +:106D50005F46F0C0734608C0FFF77DFB1248134939 +:106D60000A7802700F4812490A68026010681030F1 +:106D7000F0C8A046A946B246BB4608C89E4680F366 +:106D800009882438F0C862B67047000020ED00E0A2 +:106D90000000FF00983400202435002004ED00E0BE +:106DA00000000010D83400202135002022350020BA +:106DB000E03400202DE9F84F354800903548009028 +:106DC000354800903548009035480090354800908F +:106DD000354800903548009035480090354800907F +:106DE000354800903548009035480090354800906F +:106DF000354800903548009035480090354800905F +:106E0000354800903548009035480090354800904E +:106E1000354800903548009035480090354800903E +:106E2000354800903548009035480090354800902E +:106E3000354800903548009035480090354800901E +:106E4000354800903548009035480090354800900E +:106E500035480090354800903548009035480090FE +:106E60003548009035483649364A374B374C384D0F +:106E7000384E394FDFF8E4C0DFF8E4E0DFF8E480B3 +:106E8000DFF8E490DFF8E4A0DFF8E4B0BDE8F18FCC +:106E90008253000818A20008D67E00083690000829 +:106EA000EE6C0008CA900008429100083A9200086F +:106EB0006A920008A6930008E2930008069400086E +:106EC000EA94000832970008769700082A9900088B +:106ED000969A0008CE9F00081CA1000846A1000851 +:106EE0003CA300083EA3000840A3000842A30008FA +:106EF00044A3000846A3000848A300084AA30008CA +:106F00004CA300084EA3000850A3000852A3000899 +:106F100054A3000856A3000858A300085AA3000869 +:106F20005CA300085EA3000860A3000862A3000839 +:106F300066A3000868A300086AA300086CA3000801 +:106F4000CC2000204C34002070A3000872A300085D +:106F500074A3000876A3000878A300087AA30008A9 +:106F60007CA300087EA3000880A300086EA300088D +:106F700082A300082DE9F84787B004000025002609 +:106F8000002000902648016851F00101016000686E +:106F900010F001000090009801A902A8FFF76DF918 +:106FA000FFF760F947001F48B7FBF0F8B8F1010898 +:106FB000DFF874901D48C9F8000040F2E730C9F8C6 +:106FC0000C00C9F804800020C9F810000020C9F89E +:106FD00008000020C9F818004846FAF7F7FE824674 +:106FE0005046C0B2002816D14846FAF726FF82461E +:106FF0005046C0B200280ED11920FBF75FFF102CBD +:1070000007D2002221001920FBF743FF0848046043 +:1070100001E0012082465046C0B208B0BDE8F087CA +:107020004438024040420F000C3200200000014072 +:107030000400002080B5002000900E48016851F443 +:1070400080410160006810F48040009000980020AA +:1070500000900948016851F080510160006810F00B +:1070600080500090009800220F217FF00100FBF774 +:1070700010FF01BD443802404038024010B5040002 +:10708000002C01D1012035E0A0690028FFD194F83F +:107090004100002805D1002084F840002000FEF7C0 +:1070A000BAF9242084F841002068C06830F4005008 +:1070B0002168C860200000F031FD2068006930F4CC +:1070C0009040216808612068406930F02A002168FA +:1070D00048612068C06850F400502168C8600020F2 +:1070E0006064202084F84100202084F842000020C1 +:1070F0006063002010BD2DE9FC4706000D0017005D +:107100009846002496F84100202857D1002D03D03E +:10711000380080B2002801D1012050E000207064C6 +:10712000212086F84100FFF7B3FC8146B784F7843D +:10713000B068B0F5805F05D13069002802D1002425 +:10714000AA4602E02C005FF0000AF08C002821D053 +:10715000CDF800804B4600228021300000F028FB53 +:10716000002804D0202086F84100032027E0002CCE +:1071700008D1BAF80000C005C00D316848601AF1A6 +:10718000020A03E0207831684860641CF08C401EDD +:10719000F084DAE7CDF800804B4600224021300031 +:1071A00000F006FB002804D0202086F841000320D0 +:1071B00005E0202086F84100002000E00220BDE824 +:1071C000F68773B50400150094F84100202843D1D8 +:1071D0000198002803D0280080B2002801D10120A6 +:1071E0003BE001982062A584E584002060642120B2 +:1071F00084F841001948A16BC8631948A16B086461 +:107200001848A16BC8640020A16B086501AE2B0073 +:107210009BB22068021D3168A06BFFF7ECF90028D3 +:1072200006D010206064202084F84100012014E082 +:107230007FF04000216808602068143050E8000F9B +:1072400050F080000100206810F1140242E80010A4 +:107250000028F1D1002000E0022076BD277600084A +:107260007B7600085977000870B505000C00160001 +:1072700095F84200202810D1002C03D0300080B2B5 +:10728000002801D1012009E000202863320092B2D9 +:107290002100280000F0CEFA00E0022070BD70B599 +:1072A0000600002031684C69E40914F0010496F8E6 +:1072B0004110212918D1002C16D03068143050E824 +:1072C000000F30F080000100306810F1140242E835 +:1072D00000100028F1D1B06B002802D0B06BFFF78E +:1072E000D0F9300000F00AFB30684569AD0915F0AF +:1072F000010596F84200222818D1002D16D03068DA +:10730000143050E8000F30F040000100306810F1F8 +:10731000140242E800100028F1D1F06B002802D0DE +:10732000F06BFFF7AEF9300000F0FAFA002070BD04 +:107330002DE9FC470600306807683068D0F80C80FB +:107340003068D0F814900020002517F00F04002CAE +:1073500008D1B80606D55FEA886003D5300000F092 +:1073600060FB5EE1002C00F080805FEAC97002D40F +:1073700018F4907F79D017F00100C0B2002806D031 +:107380005FEAC85003D5706C50F001007064780754 +:1073900008D519F00100C0B2002803D0706C50F07D +:1073A00002007064B80708D519F00100C0B20028C7 +:1073B00003D0706C50F00400706438070BD55FEA9E +:1073C000886004D419F00100C0B2002803D0706CAA +:1073D00050F008007064706C002845D0B80605D5E0 +:1073E0005FEA886002D5300000F01BFB306840691E +:1073F000800910F001000500706C000701D4002D19 +:107400002DD0300000F08CFA30684069400622D55B +:107410003068143050E8000F30F040000100306850 +:1074200010F1140242E800100028F1D1F06B00289E +:107430000DD00FF25550F16B0865F06BFFF76FF947 +:10744000002811D0F06BF16B096D88470CE030001B +:1074500000F089FD08E0300000F085FD04E0300018 +:1074600000F081FD00207064DBE0306B012840F00B +:10747000C680F80640F1C3805FEAC86040F1BF8073 +:1074800000200090306800680090306840680090EC +:1074900000983068406940066ED5F06B0068D0F8FF +:1074A00004A0504680B2002855D05046B18D80B21D +:1074B000884250D2A6F82EA0F06BC069B0F5807F4C +:1074C0003FD030680C3050E8000F30F4807001007D +:1074D000306810F10C0242E800100028F1D1306849 +:1074E000143050E8000F400840000100306810F1EF +:1074F000140242E800100028F1D13068143050E83E +:10750000000F30F040000100306810F1140242E832 +:1075100000100028F1D1202086F8420000203063BE +:1075200030680C3050E8000F30F010000100306877 +:1075300010F10C0242E800100028F1D1F06BFFF7C7 +:10754000A0F802207063B18DF08D091A89B2300065 +:1075500000F00AFD0FE05046B18D80B288420AD19A +:10756000F06BC069B0F5807F05D102207063B18DEA +:10757000300000F0F9FC54E0B08DB6F82EA0B0EB6E +:107580000A0AF08D002839D0504680B2002835D044 +:1075900030680C3050E8000F30F490700100306813 +:1075A00010F10C0242E800100028F1D130681430CC +:1075B00050E8000F400840000100306810F114024C +:1075C00042E800100028F1D1202086F84200002077 +:1075D000306330680C3050E8000F30F010000100CC +:1075E000306810F10C0242E800100028F1D10220AE +:1075F0007063514689B2300000F0B6FC11E03806E5 +:1076000006D55FEA086003D5300000F0C7F908E04E +:10761000780606D55FEA486003D5300000F0F1F93E +:10762000FFE7BDE8F38738B50400A56B2068006864 +:10763000C0051ED40020E8842868143050E8000FEC +:1076400030F080000100286810F1140242E80010B8 +:107650000028F1D128680C3050E8000F50F04000AD +:107660000100286810F10C0242E800100028F1D156 +:1076700002E02800FEF700F831BD38B50400A56B24 +:10768000280000F072FC31BD38B50400A56B2068FD +:107690000068C0053FD40020E88528680C3050E819 +:1076A000000F30F480700100286810F10C0242E8ED +:1076B00000100028F1D12868143050E8000F40086D +:1076C00040000100286810F1140242E80010002870 +:1076D000F1D12868143050E8000F30F0400001006C +:1076E000286810F1140242E800100028F1D120208F +:1076F00085F84200286B01280DD128680C3050E82D +:10770000000F30F010000100286810F10C0242E870 +:1077100000100028F1D100206863286B012804D1F3 +:10772000A98D280000F020FC02E0280000F01EFCDB +:1077300031BD38B50400A56B01206863286B0128B2 +:1077400006D1A98D490889B2280000F00DFC02E09D +:10775000280000F00CFC31BDF8B506000020B76B26 +:1077600039684C69E40914F0010497F841102129A3 +:1077700006D1002C04D00020F884380000F0BEF8B8 +:1077800038684569AD0915F0010597F842002228CF +:1077900006D1002D04D00020F885380000F0C0F894 +:1077A000786C50F010007864380000F0DCFBF1BD1C +:1077B0002DE9FC4105000E0017009846089C28683A +:1077C00000683040B04201D1012000E000203900C3 +:1077D000C9B288422BD114F1010FF0D0FFF758F94C +:1077E000B0EB0800844201D3002C01D103201FE03C +:1077F0002868C0684007E2D5802EE0D0402EDED059 +:10780000286800680007DAD5002000902868006822 +:1078100000902868406800900098280000F080F8E8 +:1078200008206864002085F84000012000E0002066 +:10783000BDE8F68173B5040015000198A062A58526 +:1078400000206064222084F84200DFF8CC05E16B60 +:10785000C863DFF8C805E16B0864DFF8C405E16BB5 +:10786000C8640020E16B086501AE2B009BB2326852 +:107870002068011DE06BFEF7BEFE002806D0102038 +:107880006064202084F84200012036E0002000904F +:107890002068006800902068406800900098206987 +:1078A00000280DD020680C3050E8000F50F4807094 +:1078B0000100206810F10C0242E800100028F1D10C +:1078C0002068143050E8000F50F0010001002068DB +:1078D00010F1140242E800100028F1D120681430A1 +:1078E00050E8000F50F040000100206810F1140231 +:1078F00042E800100028F1D1002076BD01680C316B +:1079000051E8001F31F0C0010A00016811F10C03B9 +:1079100043E800210029F1D1202180F8411070476F +:1079200001680C3151E8001F31F490710A000168C0 +:1079300011F10C0343E800210029F1D10168143151 +:1079400051E8001F490849000A00016811F11403B9 +:1079500043E800210029F1D1016B01290DD1016813 +:107960000C3151E8001F31F010010A00016811F1DB +:107970000C0343E800210029F1D1202180F84210B6 +:10798000002101637047000038B50400A56B00209A +:10799000E885280000F0E7FA31BD0000010091F809 +:1079A000410021282BD18868B0F5805F0DD108698E +:1079B00000280AD1086A02001088C005C00D0B68B3 +:1079C0005860086A801C086205E0086A431C0B6264 +:1079D00000780B685860C88C401EC88480B20028AC +:1079E0000BD10868C06830F080000B68D860086868 +:1079F000C06850F040000B68D860002000E0022012 +:107A0000704710B504002068C06830F0400021685D +:107A1000C860202084F841002000FDF72DFE0020E2 +:107A200010BD7CB504000025002694F842002228F1 +:107A300072D1A068B0F5805F0DD1206900280AD10D +:107A4000A06A060020684068C005C00D3080A06AAA +:107A5000801CA06217E0A06A0500A068B0F5805FF6 +:107A600005D0A068002806D12069002803D120682D +:107A70004068287004E02068406810F07F0028709B +:107A8000A06A401CA062E08D401EE08580B2002804 +:107A900040D12068C06830F020002168C8602068AC +:107AA000C06830F480702168C86020684069400870 +:107AB000400021684861202084F842000020606373 +:107AC000206B012821D10020206320680C3050E871 +:107AD000000F30F010000100206810F10C0242E8A5 +:107AE00000100028F1D120680068C00608D50020E9 +:107AF000009020680068009020684068009000981E +:107B0000A18D200000F030FA02E0200000F02EFAF3 +:107B1000002002E0002000E0022076BD2DE9F84FB1 +:107B200084B005002868016931F44051E8680143D8 +:107B300028680161D5F808B0286950EA0B0B68691C +:107B400050EA0B0BE86950EA0B0B2868C168B5488E +:107B500001405BEA01012868C1602868416931F48D +:107B60004071A8690143286841612868AE4988428C +:107B700003D02868AD49884203D1FEF773FB0400A7 +:107B800002E0FEF764FB0400E869B0F5004F40F046 +:107B9000A1805FF0640A022600275FF019085FF0F9 +:107BA000000922000023A8FB020108FB031109FBC6 +:107BB0000211CDE9000168680021A6FB002306FB45 +:107BC000013307FB0033DDE90001FEF767FF6421A5 +:107BD000B0FBF1F0039022000023A8FB020108FB98 +:107BE000031109FB0211CDE9000168680021A6FB21 +:107BF000002306FB013307FB0033DDE90001FEF73C +:107C00004DFF029022000023A8FB020108FB031194 +:107C100009FB0211CDE9000168680021A6FB0023E1 +:107C200006FB013307FB0033DDE90001FEF736FFF9 +:107C30006421B0FBF1F102980AFB1101C800323057 +:107C40006421B0FBF1F0400010F4F870039910EBE0 +:107C50000110029022000023A8FB020108FB03117F +:107C600009FB0211CDE9000168680021A6FB002391 +:107C700006FB013307FB0033DDE90001FEF70EFFD1 +:107C8000009022000023A8FB020108FB031109FB5E +:107C900002118046894668680021A6FB002306FB86 +:107CA000013307FB003340464946FEF7F7FE6421E7 +:107CB000B0FBF1F100980AFB110A5FEACA0032300A +:107CC0006421B0FBF1F111F007010298091828684E +:107CD00081609EE0042600275FF0640A5FF01908C7 +:107CE0005FF0000922000023A8FB020108FB03113A +:107CF00009FB0211CDE9000168680021A6FB002301 +:107D000006FB013307FB0033DDE90001FEF7C6FE89 +:107D10006421B0FBF1F0039022000023A8FB0201D4 +:107D200008FB031109FB0211CDE90001686800217D +:107D3000A6FB002306FB013307FB0033DDE900014E +:107D4000FEF7ACFE029022000023A8FB020108FB14 +:107D5000031109FB0211CDE9000168680021A6FBAF +:107D6000002306FB013307FB0033DDE90001FEF7CA +:107D700095FE6421B0FBF1F102980AFB11010801A4 +:107D800032306421B0FBF1F010F0F000039910EBF9 +:107D90000110029022000023A8FB020108FB03113E +:107DA00009FB0211CDE9000168680021A6FB002350 +:107DB00006FB013307FB0033DDE90001FEF76EFE31 +:107DC000009022000023A8FB020108FB031109FB1D +:107DD00002118046894668680021A6FB002306FB45 +:107DE000013307FB003340464946FEF757FE642146 +:107DF000B0FBF1F100980AFB110A5FEA0A10323079 +:107E00006421B0FBF1F111F00F0102980918286804 +:107E1000816005B0BDE8F08F8976000833770008EF +:107E200059770008F369FFFF00100140001401407A +:107E300062B38B0708D0521E11F8013B00F8013BDA +:107E400000F024808B07F6D1830740F0208000BF2C +:107E5000103A07D330B4B1E83810103AA0E838101F +:107E6000F9D230BC530724BFB1E80810A0E80810CD +:107E700044BF51F8043B40F8043BD20724BF31F81B +:107E8000022B20F8022B44BF0B7803707047121F9F +:107E900017D35B0009D151F8043B20F8023B1B0CBF +:107EA000121F20F8023BF6D20BE051F8043B00F819 +:107EB000013B1B0A20F8023B1B0C121F00F8013B80 +:107EC000F3D238BF121D521E24BF11F8013B00F837 +:107ED000013BF8D870470A0030B403004FF6FF703A +:107EE0000A00511E92B2002A0DD00400A4B2074D20 +:107EF00080B21A78504000F0FF0035F8100090EA88 +:107F000014205B1CECE780B230BC7047AC9A0008D0 +:107F10002DE9F041069D079C0C4F0D4EB7F800C0AF +:107F200006EBCC06307071707280B380B571F4715D +:107F3000B7F800C01CF1010C5FF0800E9CFBFEF84E +:107F40000EFB18CCA7F800C0BDE8F0810835002072 +:107F5000CC140020704770477047704770477047D7 +:107F60007047704770477047704770477047704759 +:107F70002DE9F14FB2B09946924600230691CDE922 +:107F800000333C9A0F930DF14A0114914A7011E0AD +:107F9000329E57462C4617F8011B0698B04700281A +:107FA000069000F026810F98401C641E0F90F2D1BD +:107FB0003296AA449AF80000252808D10021002210 +:107FC00009910A920B910C920D910E920FE06A4664 +:107FD0004FF0FF31504601F063F8050002D10F98D1 +:107FE00000F066BED4D50125E3E741F001011AF89F +:107FF000010F2028F9D023280CD02B2804D02D28BD +:1080000005D0302809D00BE041F00201EFE741F044 +:108010000401ECE741F00801E9E741F01001E6E76F +:108020002A280FD1D9F8002052F8040BC9F80020F3 +:108030000028119003D54042119041F004010AF14B +:10804000010A14E01192DFF8EC3B0AE01198984223 +:1080500005DA00EB800402EB4402303A11920AF197 +:10806000010A9AF80020A2F130000A28EED39AF80B +:1080700000002E2803D04FF0FF32109229E01AF8AA +:10808000010F2A2809D1D9F8000050F8042BC9F8AB +:10809000000010920AF1010A1BE02D280CBF0AF122 +:1080A000010A002000221092DFF8882B0BE040B973 +:1080B000109B934205DA03EB830504EB4504303C47 +:1080C00010940AF1010A9AF80040A4F130030A2B37 +:1080D000EDD3ADF848100FF660309AF8001000F0BC +:1080E000E9FF08B11AF8010B8DF84A009DF84A0023 +:1080F000682805D19AF8000068280CD1622106E0B2 +:108100006C2804BF9AF800006C2804D171218DF806 +:108110004A100AF1010A1FA808901AF801BBBBF126 +:1081200025012DD01C3900F06181091F022940F280 +:108130005D810E392AD0491F00F0B384093900F05F +:108140005581891E00F04985491E00F0F584491EBD +:10815000022940F24B81091F00F0EE84491F00F014 +:10816000BA80491E00F09D84491E65D0C91E21D0E9 +:10817000891E00F09684C91E00F0938400F04CBD67 +:1081800025238DF87C30012109912AE06C208DF89F +:108190004A00D9F8000050F8042BC9F80000002A62 +:1081A00043D11499487800283DD04FF0FF340FF6A2 +:1081B000902012E09DF84A006C28EAD0D9F800001F +:1081C00050F8044BC9F800000794D4B914994878C2 +:1081D00098B14FF0FF340FF6842000F077FF201A9B +:1081E00007D132981FAA04A900F065FD00287FF589 +:1081F000E1AE4FF0FF3000F05BBD0FF67C20079042 +:10820000EFE7109D002D04D5204600F07FFF0446C7 +:1082100007E02A46204600F095FF002814BF041B03 +:108220002C460A94DDE70FF65422329804A900F098 +:10823000C8FD0028D5D5DCE7D9F8001051F8040BAB +:10824000C9F8001020F00004002121F0FF351FAB19 +:10825000CDE904450793DDE9042308993C2413B9CB +:108260000AB9109898B102F00F053035641EEEB2CD +:108270003A2EA8BF2735120942EA03721B090D5591 +:1082800008BF002A03D007980D19A842EBD308199C +:108290000790C4F13C0210980A92824209DABDF8B4 +:1082A0004810821A4FF6EF7001400C92ADF848105A +:1082B00097E7002895D59DF8480000F01400102895 +:1082C0008FD1119B09990C985B1A1B1A9A1A002AD4 +:1082D00087DD0C9285E71499487820B14FF0FF3480 +:1082E0000FF69C1079E79DF84A00622862D0682852 +:1082F00019D06A2840D06C2806D071284DD0742837 +:108300002DD07A281ED064E0D9F8001051F8040B63 +:10831000C9F8001020B94FF0FF340FF67C105CE76D +:108320000F9901605DE7D9F8001051F8040BC9F806 +:10833000001020B94FF0FF340FF65C104DE70F9995 +:1083400001804EE7D9F8001051F8040BC9F800106D +:108350000028E5D14FF0FF340FF63C103DE7D9F887 +:10836000001051F8040BC9F800100028D8D14FF0C4 +:10837000FF340FF6241030E7D9F8001051F8040B41 +:10838000C9F8001020B94FF0FF340FF60C1024E7A5 +:108390000F9AD317C0E9002323E7D9F8001051F84A +:1083A000040BC9F800100028F2D14FF0FF340FF68B +:1083B000E80012E7D9F8001051F8040BC9F80010D2 +:1083C00020B94FF0FF340FF6D00006E70F99017087 +:1083D00007E7D9F8001051F8040BC9F8001000287D +:1083E0009ED14FF0FF340FF6B000F6E6D9F800202A +:1083F000D21D22F00702C9F80020D2E9000108329C +:10840000C9F80020CDE90401C80F02D009982D2138 +:108410000AE0BDF84800810702D509982B2103E046 +:10842000C00705D5099820211FAA1154401C0990A6 +:10843000DDE9042309991FA8CDE92E2308444BF058 +:1084400020016129079015AC0BD01099002902D5A5 +:108450000621109105E001BF4BF0200167290122A0 +:108460001092DDE9042359004915491C10D11A0363 +:108470000ED0ABF1610503211A2D0A9102D20FF63D +:10848000A43101E00FF6A0310322FFF7D1FCA8E6EA +:1084900059004915491C0AD11A0308D1ABF16105ED +:1084A00003211A2D0A9116D30FF68431ECE7DDE98A +:1084B0000401CDE93001DDE9302323F00047B7F5B1 +:1084C000801F22F000060DD20022002F08BF002ED0 +:1084D000029203D116E00FF65431D5E702AA00F05C +:1084E0005DFE0FE0DFF8EC0ADFF8EC1A00EB175046 +:1084F0000290DDE930234FF0FF301940DFF8DC7ADD +:1085000010403943CDE904014BF0200061280DD122 +:10851000079830210170821CBBF1610F07920CBFDC +:108520007821582141700998801C0990DDE90401E7 +:1085300020F0000231F0004308BF002A02D10026DB +:10854000002571E14BF02008B8F1610F40F0BE80CA +:108550001098002847BF21210391401C0390039FDE +:10856000DDE92E017F1C00220023DDE9044500F037 +:108570004DFE02998DF8542038BF85F00045091F43 +:10858000002F02910DF155065DDDDFF8541ACDE99B +:10859000302140F2FF732E9320462946002200230B +:1085A00000F04CFE4FD24800400D00F11C0215D0E7 +:1085B000002A13DD2E9B9A420ADBDDE9300121F00F +:1085C000004205F000400243DDE93001114611E0B0 +:1085D0006FF31E5141EA025120460BE024F00000E7 +:1085E00035F0004108BF00280FBF29461C2229464C +:1085F00000F03CFE04460D4600F0D6FEFF1F002FA3 +:10860000804609DD00F0EEFE02460B462046294674 +:1086100000F0FAFE04460D46F01D0721B8F1000FE8 +:108620000CDD491E5EBF08F00F0200F8012D4FEA75 +:108630002818F3D502E0002200F8012D491EFAD5D2 +:10864000C61D002FA8DC0DF15500361A039886428E +:10865000D8BF304600280DF1550430D4B04206DAB8 +:108660000DF155010A5C082AA8BF0F2100DA00218C +:10867000024615AB134400E0401E13F80159521E88 +:108680008D42F9D00F2904D10DF155018B5C5B1C93 +:108690008B54002A04D50299091D15AC401C029187 +:1086A000411E0CD46218ABF13A0613783033DDB2B8 +:1086B0003A2DA8BFF318491E02F80139F5D51099D3 +:1086C000002940F1AF80421E1092ABE00299DFF822 +:1086D000142947F29750414391FBF2F2DDE92E4510 +:1086E000029225F00045D2F1070204DD204629461A +:1086F00000F04CFC0BE052420020DFF8EC1800F0D8 +:1087000045FC02460B462046294600F0EFFE044693 +:10871000B8F1660F109806BF029F0A3706273F1868 +:10872000142FC8BF142730208DF854000D460020A8 +:10873000DFF8B818CDE92E010DF15506002F33DD15 +:108740002046294600F0F6FF01460A4606F10803D6 +:1087500004200A26B2FBF6F606EB860EA2EB4E02CA +:10876000303203F8012C0A22B6FBF2F202EB820E41 +:10877000A6EB4E063036401E03F8026DE9D1083FE5 +:10878000002F03F10806D9DD084600F0E7FF024696 +:108790000B462046294600F037FEDDE92E2300F087 +:1087A000EBFF04460D46CBE70DF15500361A0DF1EF +:1087B000550404E00298401E761E0290641C207846 +:1087C0003028F7D0B8F1660F02D10299491C04E0B5 +:1087D000B8F1650F0CBF01210021109808188642DE +:1087E000B8BF701E00281DD4B04204DA215C3429C1 +:1087F000C8BF392100DC30210246631E9D1800E00D +:10880000401E15F80169521E8E42F9D0392902D155 +:10881000A15C491CA154002A04D50299491C1C469C +:10882000401C02910646029D00F03EFC406A07781B +:10883000DDF8408030B2002802DC01260FF2F4742B +:108840004BF02000662808BF6D1C16D0672846D163 +:1088500028B210F1040F48DB404546DA9DF8480085 +:108860006D1C010703D430B24045B8BF804628B222 +:10887000B8EB000848BF4FF000080FFA85FB0798D7 +:108880000A99BBF1000F00F3B2804A1C0A92302310 +:108890004354B8F1000F03DC9DF84800010704D5EC +:1088A0000A98411C0A9107990F5418EB0B0FB8BF97 +:1088B000C8F100052DB268420D90A84432B290452F +:1088C000B8BF4646079B0A9836B20B9632462146F9 +:1088D0001844FFF7ADFAA8EB06000E90CBE0BBF111 +:1088E000610F17D14FF0700B19E030B2404504DA38 +:1088F0009DF848100A0758BF8046B8F1010848BFE4 +:108900004FF00008BBF1670F14BF4FF0450B4FF05D +:10891000650B04E0BBF1410F08BF4FF0500B0A9804 +:10892000411C0A91B8F1000F079914F8012B0A5461 +:1089300003DC9DF8480001071AD50A98411C0A91EA +:10894000B8F1000F07990F5412DD761E30B2804542 +:1089500007980A9BB8BF464632B221461844FFF733 +:1089600067FA0A9936B271180A91A8EB06000D90C1 +:1089700007980A9908442AB2002A80F800B003D464 +:108980002B224270811C04E02D2141701546811C70 +:108990006D4200202EAA0A2409E02B4693FBF4F531 +:1089A00005EB8506A3EB460302F8013B401C2DB204 +:1089B000002DF2DC012806DC4BF02002652A04BF02 +:1089C000302201F8012B00282EAA08D1302001F80E +:1089D000010B06E0401E135C303301F8013B002818 +:1089E000F8DC079A0A981044091A0B9143E00844EE +:1089F00031B22AB2914219DA32B22146FFF718FA9F +:108A00000A9936B27118ABEB0606B8F1000F0A915D +:108A10000D9603DC9DF84800020704D507984754DB +:108A20000B99491C0B91CDF8388024E02146FFF7C3 +:108A3000FFF90A98761B5844B8F1000F0A9003DC3E +:108A40009DF848100A0703D5411C0A9107990F5455 +:108A500030B2804507980A9BB8BF464632B204EB55 +:108A60000B011844FFF7E4F90A9836B230180A905F +:108A7000A8EB06000D909DF8480000F014001028A7 +:108A80007FF4AFAB099A0A990D988A180B9982184E +:108A90000E988A18821811988242BFF6A2AB821AE9 +:108AA00017E49DF84A00622808D068280ED06A288A +:108AB00014D06C281FD0712810D01CE0D9F80010F9 +:108AC00051F8040BC9F80010C0B21AE0D9F8001030 +:108AD00051F8040BC9F8001080B212E0D9F8002058 +:108AE000D21D22F00702C9F80020D2E900010832A5 +:108AF000C9F8002006E0D9F8001051F8040BC9F8B5 +:108B000000100021CDE904019DF8480001075AD565 +:108B1000DDE90423002B08BF002A54D04BF02000CD +:108B2000782850D109981FA930220A54401C431CB0 +:108B3000099301F800B046E09DF84A00622808D089 +:108B400068280ED06A2814D06C281FD0712810D045 +:108B50001CE0D9F8001051F8040BC9F8001040B21D +:108B60001AE0D9F8001051F8040BC9F8001000B24F +:108B700012E0D9F80020D21D22F00702C9F8002027 +:108B8000D2E900010832C9F8002006E0D9F8001047 +:108B900051F8040BC9F80010C117CDE904010029F0 +:108BA00002D509982D210AE0BDF84800810702D5B9 +:108BB00009982B2103E0C00705D5099820211FAA99 +:108BC0001154401C09901FA809990144079104A859 +:108BD000594600F056F9FFF704BB9DF84A006C288F +:108BE0000BD001210991D9F8000050F8041BC9F8F5 +:108BF00000008DF87C10FFF7F4BAD9F8000050F8A7 +:108C0000041BC9F8000015914FF0FF3210920021AB +:108C1000169115AAFFF709BB25210122BBF1000F10 +:108C20008DF87C1009923FF4DCAA8DF87DB002210A +:108C3000FFF7AABACBCCCC0C686A6C747A4C0000F3 +:108C40007072696E74665F733A2062616420256C8D +:108C50007320617267756D656E7400007072696E65 +:108C600074665F733A2062616420257320617267C5 +:108C7000756D656E740000000000000000000000CB +:108C80007072696E74665F733A20256E2064697332 +:108C9000616C6C6F776564007072696E74663A20FF +:108CA00062616420256E20617267756D656E740067 +:108CB00033B0BDE8F08F2DE9FC410F4606469046E3 +:108CC0007A6B7869396ABC6A121AB869521A796A79 +:108CD000121AF869521A121A97F83800141B410731 +:108CE0000FD42020002C8DF800000ADD254601233A +:108CF0006A463946304600F07DF900285DD16D1E88 +:108D0000F5D17B6942463946304600F073F90028B8 +:108D100053D130208DF800003D6A002D09DD01237C +:108D20006A463946304600F065F9002845D16D1E87 +:108D3000F5D1BB69FA683946304600F05BF9002886 +:108D40003BD130208DF800007D6A002D08DD012325 +:108D50006A463946304600F04DF970BB6D1EF6D1BB +:108D6000F868B969FB6942183946304600F042F9A3 +:108D700018BB30208DF80000BD6A002D08DD0123EE +:108D80006A463946304600F035F9B0B96D1EF6D165 +:108D900097F8380041070DD52020002C8DF80000F1 +:108DA00008DD01236A463946304600F023F920B930 +:108DB000641EF6D10020BDE8F6814FF0FF30BDE81B +:108DC000F6812DE9F8470D46A3B02F6B002F8246A0 +:108DD000904648BF6FF0004700F09FFD696B401858 +:108DE00001AA0021C2E90011812828BF4FF0FF30FD +:108DF00044D289461EE0A74230DB686920188128EA +:108E00000BD30021696303AA29465046FFF753FF9D +:108E10005FEA000922D40020686103AB6E69224634 +:108E200069469819FFF704F8A6196E6158F8040B03 +:108E3000A0B13F1B002F11DDD8F8001001AA684631 +:108E400000F030F90446002C05D4D8F800000028C2 +:108E5000D1D1641ECFD54FF0FF390EE0B9F1000F2C +:108E6000504604D103AA2946FFF725FF8146B9F1F0 +:108E7000000F02D1002068616863484624B0BDE855 +:108E8000F0872DE9FC4307466F293E6908BF082497 +:108E900005D041F02000782814BF0A2410243C2576 +:108EA000D7E90023642918BF69299046994605D15E +:108EB000002B03D5D8F1000869EB4909B9F1000F7F +:108EC00008BFB8F1000F0CD1386B50B9082C39D15C +:108ED00097F83800010735D530203B2586F83B0050 +:108EE00030E08DF80010404649462246E317FDF772 +:108EF000D5FD3032D0B26D1E3A28019504DB9DF8C5 +:108F00000000A0F151018A18725540464946224698 +:108F1000E317FDF7C3FD80465FEA010908BFB8F11A +:108F2000000F03D0F86871198842DCD3082C09D1EE +:108F300097F83800010705D5705D302802D06D1E06 +:108F400030207055C5F13C02BA617119F960386B77 +:108F5000824208DA821A3A624FF6EF70398F014086 +:108F60003987BDE8F38300280ED597F8380000F064 +:108F70001400102808D17B6B7969386A5B1A1B1AB8 +:108F80009A1A002AC8BF3A62BDE8F3832DE9D0439C +:108F900006460F4614464FF00008DFF8549012E0E2 +:108FA000E00707D542464B463046394600F0E4FB21 +:108FB00006460F464046494642464B4600F0DCFB1B +:108FC000641080468946002CEAD130463946BDE817 +:108FD000D083000002FCFFFFFFFF0F800000E03F96 +:108FE0000000F07FA08601000000F03F84D7974189 +:108FF00000002440F8B505460E4617461C460020E2 +:109000005CB117F8011BB068A847B06030B1F06AD6 +:10901000401CF0620020641EF3D1F2BD4FF0FF301F +:10902000F2BD00006E616E004E414E00696E66003A +:10903000494E4600300001001C48704770B4536828 +:10904000D41801E05B1C491E042B08DA00291FBF5D +:10905000057804F8015B10F8016B002EF2D1536023 +:1090600070BC704738B514461D4661B1FFF7E6FF86 +:1090700061686A6B204690476FF00102811A02D046 +:10908000491E01D001E003E005E00021616032BD2E +:109090006FF0010032BD4FF0FF3032BDDA6B104788 +:1090A000024BDFE7014BF9E7014870474C00002015 +:1090B00014000020C9B202788A421AB11CBF10F80D +:1090C000012FF9E718BF00207047180080B500B9DC +:1090D00006A005490B681BB122220021984701E038 +:1090E00000F020FC222002BD04350020636F6E7367 +:1090F000747261696E742068616E646C65723A2086 +:10910000626164206D6573736167650000F101033E +:10911000810704D010F8011B820781B1FAD10268DF +:10912000A2F10131914311F0803104BF50F8042FB6 +:10913000F6E709BAB1FA81F100EBD100401CC01A80 +:109140007047F000C9B2830706D0521E22D310F830 +:10915000013B9942F7D11FE0083A13D302F1040210 +:1091600041EA012141EA014150F8043B121F21BFAD +:109170004B40A3F1013C2CEA030C1CF0803FF3D0E0 +:10918000C9B2001F083210F8013B521E28BF91EAF5 +:10919000030FF8D818BF0120401E704710B51446C1 +:1091A00000F002F8226010BDC1F30A5343B14A0037 +:1091B00012F5001F28D2A3F2FE32A1EB0251704734 +:1091C00050EA410C20D001F0004C31EA0C01B1FA18 +:1091D00081F204BFB0FA80F3D2180B3AB2F1200347 +:1091E0002CBF00FA03F1914041EA0C013EBFC2F1ED +:1091F000200C20FA0CF319439040524240F2FD3308 +:10920000D21A01EB03517047002270474FF4001C43 +:109210001CEB410F94BF1CEB430F09E041EA030C28 +:1092200050EA4C0C52EA0C0C03D2994208BF90420F +:10923000704714BF8B428242704701004FF4001CFC +:109240001CEB410F94BF1CEB430F09E041EA030CF8 +:1092500050EA4C0C52EA0C0C03D28B4208BF8242FB +:10926000704714BF9942904270470100124254D493 +:1092700040F2FF7C1CEA11530FD0634531D09B189C +:1092800063453CBF01EB0251704701F0004141EAE8 +:109290000C510020AFF30080704750EA410320D00A +:1092A00001F0004C91EA0C011CD0B1FA81F30B3BA8 +:1092B0009A420DD9D21A994051EA0C01C3F1200CFF +:1092C00020FA0CFC61449840531C40F2FF7CD7E725 +:1092D000914041EA0C01C2F1200C20FA0CF3194331 +:1092E00090407047B0FA80F31533202BE0D3202A4A +:1092F000EED3203A203B9A4209D9D21A00FA03F160 +:1093000041EA0C010020531C40F2FF7CB8E700FA50 +:1093100002F141EA0C0100207047524240F2FF7C0A +:109320001CEA11530DD06345DBD0B2EB030C3CBFFC +:10933000A1EB025170470CF1010221EA035141F403 +:10934000801150EA410CCCD001F0004C352A27DCCA +:1093500030B481EA0C01B2F1200309DAC2F1200332 +:10936000044601FA03F5D0402843D1409C400CE06C +:10937000C3F12002450020FA03F418BF44F00104B1 +:1093800021FA03F091400C43002174F1004550F1A3 +:10939000000051EB0C01244230BC7FF47BAF7047DE +:1093A0006146002076E71000C1F30A5340F2FE3216 +:1093B0009B1A14DDD3F120034FEAE17208DDC902E4 +:1093C00041EA505141F00040D84080185040704769 +:1093D00003F2E13010B1D24382F000407047002028 +:1093E00070471400C11768B14840401AB0FA80F2C3 +:1093F0009040D21CC907C2F5846241EA025202EBD6 +:10940000D02140057047020070B44FF0004591EA4A +:10941000030F40F18B826B40841A71EB030603D279 +:10942000001BB141121973414FF4001C1CEB410F9A +:1094300034BF7CEB430442E00C0DA4EB1356352EF5 +:109440004FDC45EAC323DB0A45EAC121C912B6F164 +:1094500020050DDD63FA05F6EB4086EA03051242AE +:1094600018BF45F00105C01851F100010CD213E0FE +:1094700062FA06F5F2405540F3415A40B340F340DA +:109480005A408018594107D349085FEA30005FEA23 +:10949000350528BF45F0010501F58011420875F139 +:1094A000004250F1000041EB04514E0016F5001F40 +:1094B00070BC38BF70470020090D090570471CEBD0 +:1094C000410F10D252EA43060BD0BCEB410F05D836 +:1094D0000C0DAB43661E342EB6DD02E0AB438018A4 +:1094E000594170BC704770BC70470500F0B540F240 +:1094F000FF7581EA030C0CF0004C15EA11541DBFF6 +:1095000015EA1357AC42AF42E5E0BC41C1F3130189 +:10951000C3F31303801A994143F4801304D2641EE9 +:109520004000494180185941C90241EA5051B1FBFC +:10953000F3F603FB1611A2FB0675D7EBC020A94179 +:1095400002D2761E80185941C90241EA5051B1FB3E +:10955000F3FE03FB1E11A2FB0E75D7EBC020A94141 +:1095600003D2AEF1010E80185941890241EA9051AF +:10957000760546EA8E2EB1FBF3F603FB1611A2FB2D +:109580000675D7EB8020A94102D2761E801859417A +:10959000C90241EA50514EEA060EB1FBF3F603FB55 +:1095A0001611A2FB0675D7EBC020A94102D2761E88 +:1095B00080185941C90241EA5051B1FBF3F703FB4E +:1095C0001711A2FB0735D3EBC020A94167F10007B3 +:1095D0000CBF004247F0010766F3D5274FEA1E3162 +:1095E000B80814F5806412DDBD0775F1004250EB38 +:1095F0000E5051EB045111F5801F5CBF41EA0C0184 +:10960000F0BD4CF07F6141F0E0410020F0BDBD07AE +:109610006D0840EA0E5041F48011D4F10104B4F118 +:1096200020060ADAC4F120060200E04001FA06F33F +:10963000E1401843B24015430EE0342C13DCC6F170 +:10964000200445EA40056D0820FA06F2154321FA88 +:1096500006F0A1400D43002175F1004250F10000D9 +:1096600051EB0C01F0BD00205FEA0C01F0BDCFB959 +:1096700092185B41B3FA83F704BFB2FA82F6BF19BE +:109680000B3FB7F120062FBF02FA06F3BB40C7F12C +:10969000200622FA06F638BF3343BA401CB1E4195B +:1096A000641E33E77F4231F00041B1FA81F404BF18 +:1096B000B0FA80F6A4190B3CB4F120062FBF00FAD3 +:1096C00006F1A140C4F1200620FA06F638BF314366 +:1096D000A0403C1B1AE7AC421ABF05EA1357AF4241 +:1096E00012E050EA41061CBF52EA4306BFE750EAC7 +:1096F0004107304661461CBF41EA0551F0BD52EAC0 +:10970000430C08BFC143F0BD00204FF4001616EB18 +:10971000410F98BF16EB430F08BF16EB410F24BF54 +:10972000C14305E016EB430F0CBF61464CEA0551FF +:10973000F0BD0100400D491840EA81200CD2490DCE +:10974000A1F58061491C40F0004005DBD1F11F010B +:1097500054BFC840C017704700207047014648B149 +:10976000B0FA80F18840C91CC1F58461090501EB9C +:10977000D021400570473F00B0B581EA030C0CF0E2 +:10978000004C40F2FF7515EA11541DBF15EA13573E +:10979000AC42AF4239E0E41923EA455343F4801365 +:1097A000C90241F0004141EA505EC7021100A7FB27 +:1097B000020200284FF00000EEFB01204FF00001F4 +:1097C000E3FB072118BF42F0010240180021494184 +:1097D000E3FB0E01A4F580640F0302D25200404166 +:1097E000494154F101046CDD470872F1004250F127 +:1097F000000051EB0451A1F580115CBF41EA0C015E +:10980000B0BD4CEA05510020B0BD05EA1357AC428B +:1098100014BFAF4241E050EA410E1CBF52EA430E72 +:1098200002E061460020B0BD24423C441BD15FEA07 +:10983000070EF6D0090302BF01460020AEF1140E58 +:10984000B1FA81F7AEEB070401FA07FE0C37C7F156 +:10985000200100FA07F7C8404EEA000E23EA4553FC +:1098600043F48013A2E733F00043B3FA83F704BF55 +:10987000B2FA82FE77440B3FE41BB7F1200E2FBFF4 +:1098800002FA0EF3BB40C7F1200E22FA0EFE38BFDB +:1098900043EA0E03BA40641C82E750EA410E14BF4B +:1098A00052EA430E6FF000014FF4001717EB430F1D +:1098B0008ABF194617EB410FB5E74CEA0551002066 +:1098C000B0BDD4F10104B4F120070FDAC4F12007D0 +:1098D000520828BF42F0010210FA07F501FA07F713 +:1098E000E1BF2A43E0403843E1400FE0352C98DCEB +:1098F000C7F1200452EA400220FA07F218BF42F0F2 +:10990000010231FA07F0A1400A43002172F100423E +:1099100050F1000051EB0C01B0BD80B5FFF78CFB9E +:10992000006C02BD012000F0B7B80100841A71EB91 +:10993000030604D26E40001BB141121973414FF46B +:10994000001C1CEB410F34BF7CEB430683E00C0D85 +:10995000A4EB1356362E00F37C80012E45EAC32378 +:1099600041DC43EA525312BFD20292025B08240543 +:1099700045EAC12141EA5051D2EBC020994125D49A +:1099800007D1B0FA80F610FA06F162D00020203636 +:1099900008E0B1FA81F6B140C6F1200220FA02F2E5 +:1099A0001143B0404FEAF474B4EB465434F001066E +:1099B0004FEA74040AD8D6F50016760D04F0004478 +:1099C000F04061FA06F25040F1404840C00A40EAD7 +:1099D000415021F0004128BF5FEA500550F10000DE +:1099E00044EBD12135E0DB0A45EAC121C90AB6F1D1 +:1099F00020050EDD42EA0242120CC5F1200603FAF0 +:109A000006F6EB4042EA06056D42984161F100011D +:109A10000DE062FA06F5F240554063FA06FC82EA70 +:109A20000C02F3405A406D42904161EB030111F486 +:109A3000801F05D1641E620502D06D00404149417E +:109A400021F48011430875F1004350F1000041EB0F +:109A5000045170BC70471CEB410F15D223F000433A +:109A600052EA43060BD04FEA4C0CBCEB410F04D832 +:109A70000C0D661E342EB7DDEBE7801A994150EAD3 +:109A8000410608BF0021E4E708BF1CEB430F28BFD5 +:109A90006FF00001DDE7010080B5AFF30080024AFE +:109AA00011001820ABBEFBE7260002000000C1C079 +:109AB00081C1400101C3C003800241C201C6C0068A +:109AC000800741C70005C1C581C4400401CCC00C5A +:109AD000800D41CD000FC1CF81CE400E000AC1CA1A +:109AE00081CB400B01C9C009800841C801D8C0180A +:109AF000801941D9001BC1DB81DA401A001EC1DE8A +:109B000081DF401F01DDC01D801C41DC0014C1D479 +:109B100081D5401501D7C017801641D601D2C01299 +:109B2000801341D30011C1D181D0401001F0C03069 +:109B3000803141F10033C1F381F240320036C1F689 +:109B400081F7403701F5C035803441F4003CC1FC59 +:109B500081FD403D01FFC03F803E41FE01FAC03A19 +:109B6000803B41FB0039C1F981F840380028C1E849 +:109B700081E9402901EBC02B802A41EA01EEC02E89 +:109B8000802F41EF002DC1ED81EC402C01E4C02479 +:109B9000802541E50027C1E781E640260022C1E299 +:109BA00081E3402301E1C021802041E001A0C060A9 +:109BB000806141A10063C1A381A240620066C1A689 +:109BC00081A7406701A5C065806441A4006CC1AC59 +:109BD00081AD406D01AFC06F806E41AE01AAC06A19 +:109BE000806B41AB0069C1A981A840680078C1B809 +:109BF00081B9407901BBC07B807A41BA01BEC07E89 +:109C0000807F41BF007DC1BD81BC407C01B4C07478 +:109C1000807541B50077C1B781B640760072C1B298 +:109C200081B3407301B1C071807041B00050C190E8 +:109C3000819140510193C053805241920196C05688 +:109C4000805741970055C19581944054019CC05C58 +:109C5000805D419D005FC19F819E405E005AC19A18 +:109C6000819B405B0199C059805841980188C04848 +:109C700080494189004BC18B818A404A004EC18E88 +:109C8000818F404F018DC04D804C418C0044C18478 +:109C9000818540450187C047804641860182C04298 +:109CA000804341830041C181818040400010000019 +:109CB0000110010002100200031003000410040050 +:109CC0000510050006100600071007000810080020 +:109CD000091009000A100A000B100B000C100C00F0 +:109CE00000110D0001110E0002110F0003111000F0 +:109CF00004111100051112001011130011111400AC +:109D00001211150013111600141117001511180067 +:109D10002011190021111A0022111B0023111C000F +:109D200024111D0025111E0030111F0031112000CB +:109D30003211210033112200341123003511240087 +:109D4000401125004111260042112700431128002F +:109D50004411290045112A0050112B0051112C00EB +:109D600052112D0053112E0054112F0055113000A7 +:109D7000601131006111320062113300631134004F +:109D8000641135006511360070113700711138000B +:109D90007211390073113A0074113B0075113C00C7 +:109DA00080113D0081113E0082113F00831140006F +:109DB000841141008511420090114300911144002B +:109DC00092114500931146009411470095114800E7 +:109DD0000020490001204A0000304B000000010033 +:109DE0000200010003000100020001000400010064 +:109DF0000200010003000100020001000500010053 +:109E00000200010003000100020001000400010043 +:109E10000200010003000100020001000600010031 +:109E20000200010003000100020001000400010023 +:109E30000200010003000100020001000500010012 +:109E40000200010003000100020001000400010003 +:109E500002000100030001000200010007000100F0 +:109E600002000100030001000200010004000100E3 +:109E700002000100030001000200010005000100D2 +:109E800002000100030001000200010004000100C3 +:109E900002000100030001000200010006000100B1 +:109EA00002000100030001000200010004000100A3 +:109EB0000200010003000100020001000500010092 +:109EC0000200010003000100020001000400010083 +:109ED000020001000300010002000100FEE7F8B5E6 +:109EE000EFF30884A56929480668294807683B00FC +:109EF00032002900274800F06BF8FEE7FEE7FEE796 +:109F0000FEE77047704780B5FCF715FF01BD80B5CF +:109F100000F072F8FCF7B8FA01BD80B51E48F8F7FA +:109F200029F91E48F8F726F901BD80B5F9F77AFF3F +:109F3000FBF71CFB1A48FDF7FBF9F9F781FF01BDA0 +:109F400080B51848F8F716F901BD80B51648F8F73E +:109F500011F901BD80B5F9F765FF1448FCF7F3FB73 +:109F6000F9F76EFF01BD80B5F9F75CFF1048FCF70B +:109F7000EAFBF9F765FF01BD80B5F9F753FF0D481E +:109F8000FCF7E1FBF9F75CFF01BD000028ED00E004 +:109F90002CED00E088A000080C320020E432002004 +:109FA00004340020543200209C320020AC300020C9 +:109FB0000C310020EC2F002080B52020F8F7C2FEE5 +:109FC00001BD80B54FF48050F8F7BCFE01BD05001F +:109FD0000EB4C0B5024603A800210190009101AB68 +:109FE0000121044878440C30FDF7C2FF06BC5DF83F +:109FF00010FB00BF5F01000003480168034A1278AC +:10A0000089180160704700BF9C340020DC000020EC +:10A01000F0B40246106895681318506803EB5004BA +:10A02000C0071CD54D441AE013F8017B05F8017BED +:10A03000491EF9D198B113F8011BC6F38106032E0E +:10A0400008BF13F8016B01EB06214942801C29442B +:10A0500005D011F8016B05F8016B401EF9D1A34240 +:10A060000ED013F8016B16F0030104BF13F8011BA7 +:10A07000C91C30090F28DBD113F8010B0F30D7E7CB +:10A08000F0BC02F10C00704750433A203078253084 +:10A0900038582C20434653523A20307825303858CF +:10A0A0002C20484653523A203078253038580A0040 +:10A0B00010B5074979441831064C7C44163404E045 +:10A0C0000A68081D114488470146A142F8D110BD15 +:10A0D0002C000000480000004EF68851CEF200012E +:10A0E000086840F470000860BFF34F8FBFF36F8FB4 +:10A0F0004FF00070E1EE100A70470000977CFFFF00 +:10A1000048340000E40000200000000005FFFFFFCD +:10A1100079020000C40000000000002001000000DF +:10A1200000F00DF8002801D0FFF7C2FFAFF3008068 +:10A130000020AFF30080F8F769FB00F002F801207F +:10A14000704700F001B8180007463846FFF7A4FC36 +:10A15000FBE738B504460D46284600F005F8A8424E +:10A1600018BF0024204632BD0149FBF7F2B900BFF9 +:10A170009400002075432F4F532D494920546D7290 +:10A180004C6F636B0000000075432F4F532D4949FE +:10A1900020546D725369676E616C0000000000000E +:10A1A00000000000010203040607080975432F4F51 +:10A1B000532D49492049646C6500000075432F4FB9 +:10A1C000532D4949205374617400000075432F4F8B +:10A1D000532D494920546D7200000000014880470A +:10A1E00001480047EDA10008FDA1000802480168F0 +:10A1F00051F470010160704788ED00E0AFF300801A +:10A20000FFF76AFFFFF78CFF000610160006101616 +:10A21000000000000102030478563412FFF7FEBF6D +:10A22000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF62 +:10A23000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF52 +:10A24000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF42 +:10A25000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF32 +:10A26000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF22 +:10A27000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF12 +:10A28000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF02 +:10A29000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFF2 +:10A2A000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFE2 +:10A2B000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFD2 +:10A2C000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFC2 +:10A2D000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFB2 +:10A2E000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBFA2 +:10A2F000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF92 +:10A30000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF81 +:10A31000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF71 +:10A32000FFF7FEBFFFF7FEBFFFF7FEBFFFF7FEBF61 +:10A33000FFF7FEBFFFF7FEBFFFF7FEBF780001008B +:10A3400004000100040018000800010004000100DE +:10A350000100010080000100160001000100000161 +:10A3600001000100010040005C00E803010074727C +:10A3700001001000010008000A0028008002080007 +:10A3800040001A182E004300001004004002401044 +:10A390000001100624F400E8030000FF01F00207AA +:10A3A00088A300080452FF01F20084141001000089 +:10A3B000860C12014CF0031614000020000120024C +:10A3C000012800082C43EF273C2101200A02040148 +:10A3D00001BC3100200C320020082104211B61083F +:0BA3E00012D860F212C4642301019A3D +:040000050800A1FD51 +:00000001FF diff --git a/PLSR/PLSR/EWARM/test.1/Exe/test.1.out b/PLSR/PLSR/EWARM/test.1/Exe/test.1.out new file mode 100644 index 0000000..e6c2a83 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Exe/test.1.out differ diff --git a/PLSR/PLSR/EWARM/test.1/List/test.1.map b/PLSR/PLSR/EWARM/test.1/List/test.1.map new file mode 100644 index 0000000..9eaf1f4 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/List/test.1.map @@ -0,0 +1,1611 @@ +############################################################################### +# +# IAR ELF Linker V8.40.1.212/W32 for ARM 30/Aug/2025 17:12:07 +# Copyright 2007-2019 IAR Systems AB. +# +# Output file = +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Exe\test.1.out +# Map file = +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\List\test.1.map +# Command line = +# -f C:\Users\Mortal\AppData\Local\Temp\EW24DB.tmp +# (e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\app_hooks.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\dma.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\flash_save.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\gpio.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\main.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\modbus_crc.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\modbus_log.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\os_cpu_a.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\os_cpu_c.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\os_dbg.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\startup_stm32f407xx.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_cortex.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_crc.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_dma.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_dma_ex.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_exti.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_flash.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_flash_ex.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_flash_ramfunc.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_gpio.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_i2c.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_i2c_ex.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_msp.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_pwr.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_pwr_ex.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_rcc.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_rcc_ex.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_sram.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_tim.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_tim_ex.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_timebase_tim.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_uart.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_usart.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_hal_wwdg.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_it.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_crc.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_dac.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_dma.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_exti.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_gpio.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_i2c.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_pwr.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_rcc.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_rng.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_spi.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_tim.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\stm32f4xx_ll_usart.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\system_stm32f4xx.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\tim.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\tools.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\ucos_ii.o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\usart.o +# --redirect _Printf=_PrintfFull --redirect _Scanf=_ScanfFull +# --no_out_extension -o +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Exe\test.1.out +# --map +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\List\test.1.map +# --config +# e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/stm32f407xx_flash.icf +# --semihosting --entry __iar_program_start --vfe --enable_stack_usage +# --text_out locale) +# +############################################################################### + +******************************************************************************* +*** MESSAGES +*** + +Warning[Ls014]: [stack usage analysis] at least one function does not have + stack usage information. Example: "OSStartHighRdy". A complete list + of such functions is in the map file. +Warning[Ls016]: [stack usage analysis] the program contains at least one + indirect call. Example: from "HAL_DMA_IRQHandler". A complete list of + such functions is in the map file. + + +******************************************************************************* +*** RUNTIME MODEL ATTRIBUTES +*** + +CppFlavor = * +__SystemLibrary = DLib +__dlib_version = 6 + + +******************************************************************************* +*** HEAP SELECTION +*** + +The basic heap was selected because no calls to memory allocation +functions were found in the application outside of system library +functions, and there are calls to deallocation functions in the +application. + + +******************************************************************************* +*** PLACEMENT SUMMARY +*** + +"A0": place at address 0x800'0000 { ro section .intvec }; +"P1": place in [from 0x800'0000 to 0x80f'ffff] { ro }; +define block CSTACK with size = 4K, alignment = 8 { }; +define block HEAP with size = 1536, alignment = 8 { }; +"P2": place in [from 0x2000'0000 to 0x2001'ffff] { + rw, block CSTACK, block HEAP }; +initialize by copy { rw }; + + Section Kind Address Size Object + ------- ---- ------- ---- ------ +"A0": 0x188 + .intvec ro code 0x800'0000 0x188 startup_stm32f407xx.o [1] + - 0x800'0188 0x188 + +"P1": 0xa263 + .text ro code 0x800'0188 0x1ba4 tim.o [1] + .text ro code 0x800'1d2c 0x66 ABImemset.o [4] + .text ro code 0x800'1d92 0x3a zero_init3.o [4] + .text ro code 0x800'1dcc 0xa22 stm32f4xx_hal_tim.o [1] + .text ro code 0x800'27ee 0x1e xencoding_8859_1.o [2] + .text ro code 0x800'280c 0x250 main.o [1] + .text ro code 0x800'2a5c 0xac stm32f4xx_hal_tim_ex.o [1] + .text ro code 0x800'2b08 0x29c stm32f4xx_hal_gpio.o [1] + .text ro code 0x800'2da4 0x14c stm32f4xx_hal_cortex.o [1] + .text ro code 0x800'2ef0 0x2a8 flash_save.o [1] + .text ro code 0x800'3198 0xa7c tools.o [1] + .text ro code 0x800'3c14 0x28 stm32f4xx_hal.o [1] + .text ro code 0x800'3c3c 0x15c gpio.o [1] + .text ro code 0x800'3d98 0x15dc ucos_ii.o [1] + .text ro code 0x800'5374 0x2 stm32f4xx_hal_tim.o [1] + .text ro code 0x800'5376 0x2 stm32f4xx_hal_tim.o [1] + .text ro code 0x800'5378 0x2 stm32f4xx_hal_tim.o [1] + .text ro code 0x800'537a 0x2 stm32f4xx_hal_tim.o [1] + .text ro code 0x800'537c 0x2 stm32f4xx_hal_tim_ex.o [1] + .text ro code 0x800'537e 0x2 stm32f4xx_hal_tim.o [1] + .text ro code 0x800'5380 0x2 stm32f4xx_hal_tim_ex.o [1] + .rodata const 0x800'5382 0x2 os_dbg.o [1] + .text ro code 0x800'5384 0x34 stm32f4xx_hal.o [1] + .text ro code 0x800'53b8 0x924 usart.o [1] + .text ro code 0x800'5cdc 0x40 dma.o [1] + .text ro code 0x800'5d1c 0x3ec stm32f4xx_hal_rcc.o [1] + .text ro code 0x800'6108 0x260 stm32f4xx_hal_rcc.o [1] + .text ro code 0x800'6368 0x190 os_cpu_c.o [1] + .text ro code 0x800'64f8 0x1c stm32f4xx_hal_pwr.o [1] + .text ro code 0x800'6514 0x544 stm32f4xx_hal_dma.o [1] + .text ro code 0x800'6a58 0x38 stm32f4xx_hal_pwr_ex.o [1] + .text ro code 0x800'6a90 0xc stm32f4xx_hal.o [1] + .text ro code 0x800'6a9c 0x230 I64DivMod.o [4] + .text ro code 0x800'6ccc 0x22 I64Shl.o [4] + .rodata const 0x800'6cee 0x2 os_dbg.o [1] + CODE ro code 0x800'6cf0 0xc4 os_cpu_a.o [1] + .text ro code 0x800'6db4 0x1c0 os_dbg.o [1] + .text ro code 0x800'6f74 0xc0 stm32f4xx_hal_timebase_tim.o [1] + .text ro code 0x800'7034 0x48 stm32f4xx_hal_msp.o [1] + .text ro code 0x800'707c 0xdb4 stm32f4xx_hal_uart.o [1] + .text ro code 0x800'7e30 0xa6 ABImemcpy.o [4] + .rodata const 0x800'7ed6 0x2 os_dbg.o [1] + .text ro code 0x800'7ed8 0x38 modbus_crc.o [1] + .text ro code 0x800'7f10 0x44 modbus_log.o [1] + .text ro code 0x800'7f54 0x10 app_hooks.o [1] + .text ro code 0x800'7f64 0x2 I64DivZer.o [4] + .text ro code 0x800'7f66 0x2 stm32f4xx_hal_uart.o [1] + .text ro code 0x800'7f68 0x2 stm32f4xx_hal_uart.o [1] + .text ro code 0x800'7f6a 0x2 stm32f4xx_hal_uart.o [1] + .text ro code 0x800'7f6c 0x2 stm32f4xx_hal_uart.o [1] + .text ro code 0x800'7f6e 0x2 stm32f4xx_hal_uart.o [1] + .text ro code 0x800'7f70 0x10c6 xprintffull.o [2] + .rodata const 0x800'9036 0x2 os_dbg.o [1] + .text ro code 0x800'9038 0x7c xlocale_c.o [2] + .text ro code 0x800'90b4 0x16 strchr.o [4] + .rodata const 0x800'90ca 0x2 os_dbg.o [1] + .text ro code 0x800'90cc 0x40 xfail_s.o [2] + .text ro code 0x800'910c 0x36 strlen.o [4] + .rodata const 0x800'9142 0x2 os_dbg.o [1] + .text ro code 0x800'9144 0x58 memchr.o [4] + .text ro code 0x800'919c 0x70 frexp.o [3] + .text ro code 0x800'920c 0x2e DblCmpLe.o [3] + .rodata const 0x800'923a 0x2 os_dbg.o [1] + .text ro code 0x800'923c 0x2e DblCmpGe.o [3] + .rodata const 0x800'926a 0x2 os_dbg.o [1] + .text ro code 0x800'926c 0x13a ldexp.o [3] + .rodata const 0x800'93a6 0x2 os_dbg.o [1] + .text ro code 0x800'93a8 0x3a DblToS32.o [3] + .rodata const 0x800'93e2 0x2 os_dbg.o [1] + .text ro code 0x800'93e4 0x22 S32ToDbl.o [3] + .rodata const 0x800'9406 0x2 os_dbg.o [1] + .text ro code 0x800'9408 0xe2 DblSub.o [3] + .rodata const 0x800'94ea 0x2 os_dbg.o [1] + .text ro code 0x800'94ec 0x246 DblDiv.o [3] + .rodata const 0x800'9732 0x2 os_dbg.o [1] + .text ro code 0x800'9734 0x28 DblToU32.o [3] + .text ro code 0x800'975c 0x1a U32ToDbl.o [3] + .rodata const 0x800'9776 0x2 os_dbg.o [1] + .text ro code 0x800'9778 0x1a2 DblMul.o [3] + .text ro code 0x800'991a 0xa xmbcurmax.o [2] + .text ro code 0x800'9924 0x6 abort.o [2] + .rodata const 0x800'992a 0x2 os_dbg.o [1] + .text ro code 0x800'992c 0x16a DblAdd.o [3] + .rodata const 0x800'9a96 0x2 os_dbg.o [1] + .text ro code 0x800'9a98 0x14 exit.o [5] + .rodata const 0x800'9aac 0x200 modbus_crc.o [1] + .rodata const 0x800'9cac 0x130 flash_save.o [1] + .rodata const 0x800'9ddc 0x100 ucos_ii.o [1] + .text ro code 0x800'9edc 0xf2 stm32f4xx_it.o [1] + .rodata const 0x800'9fce 0x2 os_dbg.o [1] + .text ro code 0x800'9fd0 0x28 printf.o [2] + .text ro code 0x800'9ff8 0x18 stm32f4xx_hal.o [1] + .text ro code 0x800'a010 0x78 lz77_init_single.o [4] + .rodata const 0x800'a088 0x28 stm32f4xx_it.o [1] + .text ro code 0x800'a0b0 0x28 data_init.o [4] + .text ro code 0x800'a0d8 0x22 fpinit_M.o [3] + .iar.init_table const 0x800'a0fc 0x20 - Linker created - + .rodata const 0x800'a11c 0x2 os_dbg.o [1] + .text ro code 0x800'a120 0x1e cmain.o [4] + .text ro code 0x800'a13e 0x4 low_level_init.o [2] + .text ro code 0x800'a142 0x4 exit.o [2] + .rodata const 0x800'a146 0x2 os_dbg.o [1] + .text ro code 0x800'a148 0xa cexit.o [4] + .text ro code 0x800'a152 0x16 xprout.o [2] + .text ro code 0x800'a168 0xc putchar.o [2] + .rodata const 0x800'a174 0x14 ucos_ii.o [1] + .rodata const 0x800'a188 0x14 ucos_ii.o [1] + .rodata const 0x800'a19c 0x10 system_stm32f4xx.o [1] + .rodata const 0x800'a1ac 0x10 ucos_ii.o [1] + .rodata const 0x800'a1bc 0x10 ucos_ii.o [1] + .rodata const 0x800'a1cc 0x10 ucos_ii.o [1] + .text ro code 0x800'a1dc 0x10 startup_stm32f407xx.o [1] + .text ro code 0x800'a1ec 0x10 system_stm32f4xx.o [1] + .text ro code 0x800'a1fc 0xc cstartup_M.o [4] + .rodata const 0x800'a208 0x8 stm32f4xx_hal_dma.o [1] + .rodata const 0x800'a210 0x8 system_stm32f4xx.o [1] + .rodata const 0x800'a218 0x4 os_dbg.o [1] + .text ro code 0x800'a21c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a220 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a224 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a228 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a22c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a230 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a234 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a238 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a23c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a240 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a244 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a248 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a24c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a250 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a254 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a258 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a25c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a260 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a264 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a268 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a26c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a270 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a274 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a278 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a27c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a280 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a284 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a288 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a28c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a290 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a294 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a298 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a29c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2a0 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2a4 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2a8 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2ac 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2b0 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2b4 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2b8 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2bc 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2c0 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2c4 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2c8 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2cc 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2d0 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2d4 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2d8 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2dc 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2e0 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2e4 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2e8 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2ec 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2f0 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2f4 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2f8 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a2fc 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a300 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a304 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a308 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a30c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a310 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a314 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a318 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a31c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a320 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a324 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a328 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a32c 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a330 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a334 0x4 startup_stm32f407xx.o [1] + .text ro code 0x800'a338 0x4 startup_stm32f407xx.o [1] + .rodata const 0x800'a33c 0x2 os_dbg.o [1] + .rodata const 0x800'a33e 0x2 os_dbg.o [1] + .rodata const 0x800'a340 0x2 os_dbg.o [1] + .rodata const 0x800'a342 0x2 os_dbg.o [1] + .rodata const 0x800'a344 0x2 os_dbg.o [1] + .rodata const 0x800'a346 0x2 os_dbg.o [1] + .rodata const 0x800'a348 0x2 os_dbg.o [1] + .rodata const 0x800'a34a 0x2 os_dbg.o [1] + .rodata const 0x800'a34c 0x2 os_dbg.o [1] + .rodata const 0x800'a34e 0x2 os_dbg.o [1] + .rodata const 0x800'a350 0x2 os_dbg.o [1] + .rodata const 0x800'a352 0x2 os_dbg.o [1] + .rodata const 0x800'a354 0x2 os_dbg.o [1] + .rodata const 0x800'a356 0x2 os_dbg.o [1] + .rodata const 0x800'a358 0x2 os_dbg.o [1] + .rodata const 0x800'a35a 0x2 os_dbg.o [1] + .rodata const 0x800'a35c 0x2 os_dbg.o [1] + .rodata const 0x800'a35e 0x2 os_dbg.o [1] + .rodata const 0x800'a360 0x2 os_dbg.o [1] + .rodata const 0x800'a362 0x2 os_dbg.o [1] + .rodata const 0x800'a364 0x2 os_dbg.o [1] + .rodata const 0x800'a366 0x2 os_dbg.o [1] + .rodata const 0x800'a368 0x2 os_dbg.o [1] + .rodata const 0x800'a36a 0x2 os_dbg.o [1] + .rodata const 0x800'a36c 0x2 os_dbg.o [1] + .rodata const 0x800'a36e 0x2 os_dbg.o [1] + .rodata const 0x800'a370 0x2 os_dbg.o [1] + .rodata const 0x800'a372 0x2 os_dbg.o [1] + .rodata const 0x800'a374 0x2 os_dbg.o [1] + .rodata const 0x800'a376 0x2 os_dbg.o [1] + .rodata const 0x800'a378 0x2 os_dbg.o [1] + .rodata const 0x800'a37a 0x2 os_dbg.o [1] + .rodata const 0x800'a37c 0x2 os_dbg.o [1] + .rodata const 0x800'a37e 0x2 os_dbg.o [1] + .rodata const 0x800'a380 0x2 os_dbg.o [1] + .rodata const 0x800'a382 0x2 os_dbg.o [1] + .rodata const 0x800'a384 0x2 xlocale_c.o [2] + .rodata const 0x800'a386 0x2 xlocale_c.o [2] + .rodata const 0x800'a388 0x1 xlocale_c.o [2] + .rodata const 0x800'a389 0x0 zero_init3.o [4] + .rodata const 0x800'a389 0x0 lz77_init_single.o [4] + Initializer bytes const 0x800'a389 0x62 + - 0x800'a3eb 0xa263 + +"P2", part 1 of 3: 0xe2 + P2-1 0x2000'0000 0xe2 + .data inited 0x2000'0000 0x4 flash_save.o [1] + .data inited 0x2000'0004 0x4 stm32f4xx_hal.o [1] + .data inited 0x2000'0008 0x4 system_stm32f4xx.o [1] + .data inited 0x2000'000c 0x4 tim.o [1] + .data inited 0x2000'0010 0x4 tim.o [1] + .data inited 0x2000'0014 0x38 xlocale_c.o [2] + .data inited 0x2000'004c 0x48 xlocale_c.o [2] + .data inited 0x2000'0094 0x48 xfiles.o [2] + .data inited 0x2000'00dc 0x1 stm32f4xx_hal.o [1] + .data inited 0x2000'00dd 0x1 tim.o [1] + .data inited 0x2000'00de 0x1 tim.o [1] + .data inited 0x2000'00df 0x1 tim.o [1] + .data inited 0x2000'00e0 0x1 tim.o [1] + .data inited 0x2000'00e1 0x1 tim.o [1] + - 0x2000'00e2 0xe2 + +"P2", part 2 of 3: 0x3448 + .bss zero 0x2000'00e4 0x7e8 ucos_ii.o [1] + .bss zero 0x2000'08cc 0x400 main.o [1] + .bss zero 0x2000'0ccc 0x400 main.o [1] + .bss zero 0x2000'10cc 0x400 main.o [1] + .bss zero 0x2000'14cc 0x400 modbus_log.o [1] + .bss zero 0x2000'18cc 0x400 ucos_ii.o [1] + .bss zero 0x2000'1ccc 0x400 ucos_ii.o [1] + .bss zero 0x2000'20cc 0x280 ucos_ii.o [1] + .bss zero 0x2000'234c 0x200 main.o [1] + .bss zero 0x2000'254c 0x200 os_cpu_c.o [1] + .bss zero 0x2000'274c 0x200 ucos_ii.o [1] + .bss zero 0x2000'294c 0x138 tim.o [1] + .bss zero 0x2000'2a84 0x100 ucos_ii.o [1] + .bss zero 0x2000'2b84 0x100 usart.o [1] + .bss zero 0x2000'2c84 0x100 usart.o [1] + .bss zero 0x2000'2d84 0x100 usart.o [1] + .bss zero 0x2000'2e84 0xf0 ucos_ii.o [1] + .bss zero 0x2000'2f74 0x78 ucos_ii.o [1] + .bss zero 0x2000'2fec 0x60 flash_save.o [1] + .bss zero 0x2000'304c 0x60 ucos_ii.o [1] + .bss zero 0x2000'30ac 0x60 usart.o [1] + .bss zero 0x2000'310c 0x60 usart.o [1] + .bss zero 0x2000'316c 0x50 ucos_ii.o [1] + .bss zero 0x2000'31bc 0x50 xfiles.o [2] + .bss zero 0x2000'320c 0x48 stm32f4xx_hal_timebase_tim.o [1] + .bss zero 0x2000'3254 0x48 tim.o [1] + .bss zero 0x2000'329c 0x48 tim.o [1] + .bss zero 0x2000'32e4 0x48 tim.o [1] + .bss zero 0x2000'332c 0x48 tim.o [1] + .bss zero 0x2000'3374 0x48 tim.o [1] + .bss zero 0x2000'33bc 0x48 tim.o [1] + .bss zero 0x2000'3404 0x48 usart.o [1] + .bss zero 0x2000'344c 0x40 ucos_ii.o [1] + .bss zero 0x2000'348c 0x8 ucos_ii.o [1] + .bss zero 0x2000'3494 0x4 gpio.o [1] + .bss zero 0x2000'3498 0x4 os_cpu_c.o [1] + .bss zero 0x2000'349c 0x4 stm32f4xx_hal.o [1] + .bss zero 0x2000'34a0 0x4 tim.o [1] + .bss zero 0x2000'34a4 0x4 tim.o [1] + .bss zero 0x2000'34a8 0x4 tim.o [1] + .bss zero 0x2000'34ac 0x4 tim.o [1] + .bss zero 0x2000'34b0 0x4 tim.o [1] + .bss zero 0x2000'34b4 0x4 tim.o [1] + .bss zero 0x2000'34b8 0x4 tim.o [1] + .bss zero 0x2000'34bc 0x4 tim.o [1] + .bss zero 0x2000'34c0 0x4 ucos_ii.o [1] + .bss zero 0x2000'34c4 0x4 ucos_ii.o [1] + .bss zero 0x2000'34c8 0x4 ucos_ii.o [1] + .bss zero 0x2000'34cc 0x4 ucos_ii.o [1] + .bss zero 0x2000'34d0 0x4 ucos_ii.o [1] + .bss zero 0x2000'34d4 0x4 ucos_ii.o [1] + .bss zero 0x2000'34d8 0x4 ucos_ii.o [1] + .bss zero 0x2000'34dc 0x4 ucos_ii.o [1] + .bss zero 0x2000'34e0 0x4 ucos_ii.o [1] + .bss zero 0x2000'34e4 0x4 ucos_ii.o [1] + .bss zero 0x2000'34e8 0x4 ucos_ii.o [1] + .bss zero 0x2000'34ec 0x4 ucos_ii.o [1] + .bss zero 0x2000'34f0 0x4 ucos_ii.o [1] + .bss zero 0x2000'34f4 0x4 ucos_ii.o [1] + .bss zero 0x2000'34f8 0x4 ucos_ii.o [1] + .bss zero 0x2000'34fc 0x4 ucos_ii.o [1] + .bss zero 0x2000'3500 0x4 ucos_ii.o [1] + .bss zero 0x2000'3504 0x4 xfail_s.o [2] + .bss zero 0x2000'3508 0x2 modbus_log.o [1] + .bss zero 0x2000'350a 0x2 os_cpu_c.o [1] + .bss zero 0x2000'350c 0x2 ucos_ii.o [1] + .bss zero 0x2000'350e 0x2 ucos_ii.o [1] + .bss zero 0x2000'3510 0x2 usart.o [1] + .bss zero 0x2000'3512 0x2 usart.o [1] + .bss zero 0x2000'3514 0x2 usart.o [1] + .bss zero 0x2000'3516 0x2 usart.o [1] + .bss zero 0x2000'3518 0x1 flash_save.o [1] + .bss zero 0x2000'3519 0x1 gpio.o [1] + .bss zero 0x2000'351a 0x1 tim.o [1] + .bss zero 0x2000'351b 0x1 tim.o [1] + .bss zero 0x2000'351c 0x1 tim.o [1] + .bss zero 0x2000'351d 0x1 ucos_ii.o [1] + .bss zero 0x2000'351e 0x1 ucos_ii.o [1] + .bss zero 0x2000'351f 0x1 ucos_ii.o [1] + .bss zero 0x2000'3520 0x1 ucos_ii.o [1] + .bss zero 0x2000'3521 0x1 ucos_ii.o [1] + .bss zero 0x2000'3522 0x1 ucos_ii.o [1] + .bss zero 0x2000'3523 0x1 ucos_ii.o [1] + .bss zero 0x2000'3524 0x1 ucos_ii.o [1] + .bss zero 0x2000'3525 0x1 ucos_ii.o [1] + .bss zero 0x2000'3526 0x1 ucos_ii.o [1] + .bss zero 0x2000'3527 0x1 ucos_ii.o [1] + .bss zero 0x2000'3528 0x1 usart.o [1] + .bss zero 0x2000'3529 0x1 usart.o [1] + - 0x2000'352a 0x3446 + +"P2", part 3 of 3: 0x1000 + CSTACK 0x2000'3530 0x1000 + CSTACK uninit 0x2000'3530 0x1000 + - 0x2000'4530 0x1000 + +Unused ranges: + + From To Size + ---- -- ---- + 0x800'a3eb 0x80f'ffff 0xf'5c15 + 0x2000'00e2 0x2000'00e3 0x2 + 0x2000'352c 0x2000'352f 0x4 + 0x2000'4530 0x2001'ffff 0x1'bad0 + + +******************************************************************************* +*** INIT TABLE +*** + + Address Size + ------- ---- +Zero (__iar_zero_init3) + 1 destination range, total size 0x3446: + 0x2000'00e4 0x3446 + +Copy/lz77 (__iar_lz77_init_single3) + 1 source range, total size 0x62 (43% of destination): + 0x800'a389 0x62 + 1 destination range, total size 0xe2: + 0x2000'0000 0xe2 + + +******************************************************************************* +*** STACK USAGE +*** + + Call Graph Root Category Max Use Total Use + ------------------------ ------- --------- + Program entry 284 284 + Uncalled function 696 3'868 + + +Program entry + "__iar_program_start": 0x800'a1fd + + Maximum call chain *?* 284 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "__iar_program_start" 0 + "__cmain" 0 + "main" 32 + "SystemClock_Config" 80 + "HAL_RCC_ClockConfig" 24 + "HAL_InitTick" 64 + "HAL_TIM_Base_Init" 8 + "HAL_TIM_Base_MspInit" 40 + "HAL_NVIC_SetPriority" 24 + "NVIC_EncodePriority" in stm32f4xx_hal_cortex.o [1] + 12 + +Uncalled function + "KeyTask" in main.o [1]: 0x800'29d5 + + Maximum call chain *?* 268 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "KeyTask" in main.o [1] 16 + "PLSR_Route_Start" 16 + "PLSR_Section_StartNewSection" 16 + "Calculate_PluseNum" 88 + "OptimalIntermediateFrequency" 80 + "BinarySearchOptimalFreq" 52 + "__aeabi_uldivmod" 0 + "__aeabi_ldiv0" 0 + +Uncalled function + "MODBUSTask" in main.o [1]: 0x800'29bd + + Maximum call chain *?* 696 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "MODBUSTask" in main.o [1] 8 + "Modbus_Process" 280 + "Modbus_Process_Read_Holding_Regs" in usart.o [1] + 288 + "Modbus_Send_Exception" in usart.o [1] 24 + "USART1_SendData_DMA" 32 + "HAL_UART_Transmit_DMA" 24 + "HAL_DMA_Start_IT" 32 + "DMA_SetConfig" in stm32f4xx_hal_dma.o [1] 8 + +Uncalled function + "StartupTask" in main.o [1]: 0x800'2915 + + Maximum call chain *?* 160 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "StartupTask" in main.o [1] 40 + "OSTaskCreateExt" 64 + "OS_TCBInit" 48 + "OSTCBInitHook" 8 + "App_TCBInitHook" 0 + +Uncalled function + "OSTaskSwHook": 0x800'6457 + + Maximum call chain 8 bytes + + "OSTaskSwHook" 8 + "App_TaskSwHook" 0 + +Uncalled function + "UART_DMAAbortOnError" in stm32f4xx_hal_uart.o [1]: 0x800'7989 + + Maximum call chain 16 bytes + + "UART_DMAAbortOnError" in stm32f4xx_hal_uart.o [1] + 16 + "HAL_UART_ErrorCallback" 0 + +Uncalled function + "UART_DMAError" in stm32f4xx_hal_uart.o [1]: 0x800'7759 + + Maximum call chain 24 bytes + + "UART_DMAError" in stm32f4xx_hal_uart.o [1] 24 + "UART_EndTxTransfer" in stm32f4xx_hal_uart.o [1] + 0 + +Uncalled function + "UART_DMAReceiveCplt" in stm32f4xx_hal_uart.o [1]: 0x800'7689 + + Maximum call chain 16 bytes + + "UART_DMAReceiveCplt" in stm32f4xx_hal_uart.o [1] + 16 + "HAL_UARTEx_RxEventCallback" 0 + +Uncalled function + "UART_DMARxHalfCplt" in stm32f4xx_hal_uart.o [1]: 0x800'7733 + + Maximum call chain 16 bytes + + "UART_DMARxHalfCplt" in stm32f4xx_hal_uart.o [1] + 16 + "HAL_UARTEx_RxEventCallback" 0 + +Uncalled function + "UART_DMATransmitCplt" in stm32f4xx_hal_uart.o [1]: 0x800'7627 + + Maximum call chain 16 bytes + + "UART_DMATransmitCplt" in stm32f4xx_hal_uart.o [1] + 16 + "HAL_UART_TxCpltCallback" 0 + +Uncalled function + "UART_DMATxHalfCplt" in stm32f4xx_hal_uart.o [1]: 0x800'767b + + Maximum call chain 16 bytes + + "UART_DMATxHalfCplt" in stm32f4xx_hal_uart.o [1] + 16 + "HAL_UART_TxHalfCpltCallback" 0 + +Uncalled function + "BusFault_Handler": 0x800'9eff + + Maximum call chain 0 bytes + + "BusFault_Handler" 0 + +Uncalled function + "DMA2_Stream0_IRQHandler": 0x800'9f79 + + Maximum call chain *?* 32 bytes + (** call graph contains indirect calls (example: "HAL_DMA_IRQHandler") + functions with no stack usage info (example: "OSIntCtxSw") **) + + "DMA2_Stream0_IRQHandler" 8 + "HAL_DMA_IRQHandler" 24 + +Uncalled function + "DMA2_Stream2_IRQHandler": 0x800'9f55 + + Maximum call chain *?* 32 bytes + (** call graph contains indirect calls (example: "HAL_DMA_IRQHandler") + functions with no stack usage info (example: "OSIntCtxSw") **) + + "DMA2_Stream2_IRQHandler" 8 + "HAL_DMA_IRQHandler" 24 + +Uncalled function + "DMA2_Stream7_IRQHandler": 0x800'9f67 + + Maximum call chain *?* 32 bytes + (** call graph contains indirect calls (example: "HAL_DMA_IRQHandler") + functions with no stack usage info (example: "OSIntCtxSw") **) + + "DMA2_Stream7_IRQHandler" 8 + "HAL_DMA_IRQHandler" 24 + +Uncalled function + "DebugMon_Handler": 0x800'9f05 + + Maximum call chain 0 bytes + + "DebugMon_Handler" 0 + +Uncalled function + "EXTI15_10_IRQHandler": 0x800'9fc3 + + Maximum call chain *?* 112 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "EXTI15_10_IRQHandler" 8 + "HAL_GPIO_EXTI_IRQHandler" 8 + "HAL_GPIO_EXTI_Callback" 16 + "PLSR_SectionSwitchSignal" 8 + "OSSemPost" 16 + "OS_EventTaskRdy" 40 + "OS_EventTaskRemoveMulti" 16 + +Uncalled function + "EXTI9_5_IRQHandler": 0x800'9fb9 + + Maximum call chain *?* 112 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "EXTI9_5_IRQHandler" 8 + "HAL_GPIO_EXTI_IRQHandler" 8 + "HAL_GPIO_EXTI_Callback" 16 + "PLSR_SectionSwitchSignal" 8 + "OSSemPost" 16 + "OS_EventTaskRdy" 40 + "OS_EventTaskRemoveMulti" 16 + +Uncalled function + "HardFault_Handler": 0x800'9edf + + Maximum call chain 624 bytes + + "HardFault_Handler" 24 + "printf" 24 + "_PrintfFull" 240 + "_PutstrFull" in xprintffull.o [2] 176 + "_PuttxtFull" in xprintffull.o [2] 32 + "_PutcharsFull" in xprintffull.o [2] 24 + "_Prout" 16 + "putchar" 0 + "fputc" 16 + "HAL_UART_Transmit" 40 + "UART_WaitOnFlagUntilTimeout" in stm32f4xx_hal_uart.o [1] + 32 + "UART_EndRxTransfer" in stm32f4xx_hal_uart.o [1] + 0 + +Uncalled function + "MemManage_Handler": 0x800'9efd + + Maximum call chain 0 bytes + + "MemManage_Handler" 0 + +Uncalled function + "NMI_Handler": 0x800'9edd + + Maximum call chain 0 bytes + + "NMI_Handler" 0 + +Uncalled function + "PendSV_Handler": 0x800'9f07 + + Maximum call chain *?* 8 bytes + (** call graph contains functions with no stack usage info (example: "OS_CPU_PendSVHandler") **) + + "PendSV_Handler" 8 + "OS_CPU_PendSVHandler" - no info - + +Uncalled function + "SVC_Handler": 0x800'9f03 + + Maximum call chain 0 bytes + + "SVC_Handler" 0 + +Uncalled function + "SysTick_Handler": 0x800'9f0f + + Maximum call chain *?* 128 bytes + (** call graph contains functions with no stack usage info (example: "OSIntCtxSw") **) + + "SysTick_Handler" 8 + "OS_CPU_SysTickHandler" 8 + "OSTimeTick" 24 + "OSTimeTickHook" 8 + "OSTmrSignal" 8 + "OSSemPost" 16 + "OS_EventTaskRdy" 40 + "OS_EventTaskRemoveMulti" 16 + +Uncalled function + "TIM1_UP_TIM10_IRQHandler": 0x800'9f1b + + Maximum call chain *?* 300 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "TIM1_UP_TIM10_IRQHandler" 8 + "HAL_TIM_IRQHandler" 16 + "HAL_TIM_PeriodElapsedCallback" 40 + "PLSR_Section_StartNewSection" 16 + "Calculate_PluseNum" 88 + "OptimalIntermediateFrequency" 80 + "BinarySearchOptimalFreq" 52 + "__aeabi_uldivmod" 0 + "__aeabi_ldiv0" 0 + +Uncalled function + "TIM2_IRQHandler": 0x800'9f41 + + Maximum call chain *?* 300 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "TIM2_IRQHandler" 8 + "HAL_TIM_IRQHandler" 16 + "HAL_TIM_PeriodElapsedCallback" 40 + "PLSR_Section_StartNewSection" 16 + "Calculate_PluseNum" 88 + "OptimalIntermediateFrequency" 80 + "BinarySearchOptimalFreq" 52 + "__aeabi_uldivmod" 0 + "__aeabi_ldiv0" 0 + +Uncalled function + "TIM6_DAC_IRQHandler": 0x800'9f4b + + Maximum call chain *?* 300 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "TIM6_DAC_IRQHandler" 8 + "HAL_TIM_IRQHandler" 16 + "HAL_TIM_PeriodElapsedCallback" 40 + "PLSR_Section_StartNewSection" 16 + "Calculate_PluseNum" 88 + "OptimalIntermediateFrequency" 80 + "BinarySearchOptimalFreq" 52 + "__aeabi_uldivmod" 0 + "__aeabi_ldiv0" 0 + +Uncalled function + "USART1_IRQHandler": 0x800'9f2b + + Maximum call chain *?* 112 bytes + (** call graph contains indirect calls (example: "HAL_UART_IRQHandler") + functions with no stack usage info (example: "OSIntCtxSw") **) + + "USART1_IRQHandler" 8 + "USART1_IDLE_IRQHandler" 24 + "HAL_UART_Receive_DMA" 16 + "UART_Start_Receive_DMA" 24 + "HAL_DMA_Start_IT" 32 + "DMA_SetConfig" in stm32f4xx_hal_dma.o [1] 8 + +Uncalled function + "UsageFault_Handler": 0x800'9f01 + + Maximum call chain 0 bytes + + "UsageFault_Handler" 0 + +Uncalled function + "SystemInit": 0x800'a1ed + + Maximum call chain 0 bytes + + "SystemInit" 0 + +Uncalled function + "PLSR_SectionSwitchTask": 0x800'1cdb + + Maximum call chain *?* 276 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "PLSR_SectionSwitchTask" 16 + "PLSR_TaskSectionSwitch" 24 + "PLSR_Section_StartNewSection" 16 + "Calculate_PluseNum" 88 + "OptimalIntermediateFrequency" 80 + "BinarySearchOptimalFreq" 52 + "__aeabi_uldivmod" 0 + "__aeabi_ldiv0" 0 + +Uncalled function + "OSTmr_Task" in ucos_ii.o [1]: 0x800'52ad + + Maximum call chain *?* 92 bytes + (** call graph contains indirect calls (example: "OSTmr_Task" in ucos_ii.o [1]) + functions with no stack usage info (example: "OS_CPU_SR_Restore") **) + + "OSTmr_Task" in ucos_ii.o [1] 40 + "OSSemPend" 32 + "OS_Sched" 16 + "OS_SchedNew" in ucos_ii.o [1] 4 + +Uncalled function + "OS_TaskIdle": 0x800'44ed + + Maximum call chain *?* 24 bytes + (** call graph contains functions with no stack usage info (example: "OS_CPU_SR_Restore") **) + + "OS_TaskIdle" 16 + "OSTaskIdleHook" 8 + "App_TaskIdleHook" 0 + +Uncalled function + "OS_TaskReturn": 0x800'4f6d + + Maximum call chain *?* 60 bytes + (** call graph contains functions with no stack usage info (example: "OSCtxSw") **) + + "OS_TaskReturn" 8 + "OSTaskDel" 32 + "OS_Sched" 16 + "OS_SchedNew" in ucos_ii.o [1] 4 + +Uncalled function + "OS_TaskStat": 0x800'4515 + + Maximum call chain *?* 88 bytes + (** call graph contains functions with no stack usage info (example: "OS_CPU_SR_Restore") **) + + "OS_TaskStat" 32 + "OS_TaskStatStkChk" 24 + "OSTaskStkChk" 32 + "OS_CPU_SR_Restore" - no info - + +The following functions appear to be called, but have no stack +usage information: + + "OSCtxSw": 0x800'6d27 + "OSIntCtxSw": 0x800'6d2f + "OSStartHighRdy": 0x800'6cff + "OS_CPU_PendSVHandler": 0x800'6d37 + "OS_CPU_SR_Restore": 0x800'6cf9 + "OS_CPU_SR_Save": 0x800'6cf1 + +The following functions perform unknown indirect calls: + + "HAL_DMA_IRQHandler": 0x800'6747 + "HAL_UART_IRQHandler": 0x800'7331 + "OSTmr_Task" in ucos_ii.o [1]: 0x800'52ad + + +******************************************************************************* +*** MODULE SUMMARY +*** + + Module ro code ro data rw data + ------ ------- ------- ------- +command line/config: + ------------------------------------------------------- + Total: + +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj: [1] + app_hooks.o 16 + dma.o 64 + flash_save.o 680 305 101 + gpio.o 348 5 + main.o 592 3'584 + modbus_crc.o 56 512 + modbus_log.o 68 1'026 + os_cpu_a.o 196 + os_cpu_c.o 400 518 + os_dbg.o 448 114 + startup_stm32f407xx.o 696 + stm32f4xx_hal.o 128 2 9 + stm32f4xx_hal_cortex.o 332 + stm32f4xx_hal_dma.o 1'348 8 + stm32f4xx_hal_gpio.o 668 + stm32f4xx_hal_msp.o 72 + stm32f4xx_hal_pwr.o 28 + stm32f4xx_hal_pwr_ex.o 56 + stm32f4xx_hal_rcc.o 1'612 + stm32f4xx_hal_tim.o 2'604 + stm32f4xx_hal_tim_ex.o 176 + stm32f4xx_hal_timebase_tim.o 192 72 + stm32f4xx_hal_uart.o 3'518 + stm32f4xx_it.o 242 40 + system_stm32f4xx.o 16 26 4 + tim.o 7'076 6 792 + tools.o 2'684 + ucos_ii.o 5'596 344 6'171 + usart.o 2'340 1'042 + ------------------------------------------------------- + Total: 32'252 1'357 13'324 + +dl7M_tlf.a: [2] + abort.o 6 + exit.o 4 + low_level_init.o 4 + printf.o 40 + putchar.o 12 + xencoding_8859_1.o 30 + xfail_s.o 64 4 + xfiles.o 31 152 + xlocale_c.o 124 61 128 + xmbcurmax.o 10 + xprintffull.o 4'294 + xprout.o 22 + ------------------------------------------------------- + Total: 4'610 92 284 + +m7M_tls.a: [3] + DblAdd.o 362 + DblCmpGe.o 46 + DblCmpLe.o 46 + DblDiv.o 582 + DblMul.o 418 + DblSub.o 226 + DblToS32.o 58 + DblToU32.o 40 + S32ToDbl.o 34 + U32ToDbl.o 26 + fpinit_M.o 34 + frexp.o 112 + ldexp.o 314 + ------------------------------------------------------- + Total: 2'298 + +rt7M_tl.a: [4] + ABImemcpy.o 166 + ABImemset.o 102 + I64DivMod.o 560 + I64DivZer.o 2 + I64Shl.o 34 + cexit.o 10 + cmain.o 30 + cstartup_M.o 12 + data_init.o 40 + lz77_init_single.o 120 + memchr.o 88 + strchr.o 22 + strlen.o 54 + zero_init3.o 58 + ------------------------------------------------------- + Total: 1'298 + +shb_l.a: [5] + exit.o 20 + ------------------------------------------------------- + Total: 20 + + Gaps 2 2 + Linker created 32 4'096 +----------------------------------------------------------- + Grand Total: 40'480 1'483 17'704 + + +******************************************************************************* +*** ENTRY LIST +*** + +Entry Address Size Type Object +----- ------- ---- ---- ------ +.iar.init_table$$Base 0x800'a0fc -- Gb - Linker created - +.iar.init_table$$Limit 0x800'a11c -- Gb - Linker created - +?main 0x800'a121 Code Gb cmain.o [4] +AHBPrescTable 0x800'a19c 0x10 Data Gb system_stm32f4xx.o [1] +APBPrescTable 0x800'a210 0x8 Data Gb system_stm32f4xx.o [1] +App_TCBInitHook 0x800'7f61 0x2 Code Gb app_hooks.o [1] +App_TaskCreateHook 0x800'7f55 0x2 Code Gb app_hooks.o [1] +App_TaskDelHook 0x800'7f57 0x2 Code Gb app_hooks.o [1] +App_TaskIdleHook 0x800'7f59 0x2 Code Gb app_hooks.o [1] +App_TaskReturnHook 0x800'7f5d 0x2 Code Gb app_hooks.o [1] +App_TaskStatHook 0x800'7f5b 0x2 Code Gb app_hooks.o [1] +App_TaskSwHook 0x800'7f5f 0x2 Code Gb app_hooks.o [1] +App_TimeTickHook 0x800'7f63 0x2 Code Gb app_hooks.o [1] +BackupSRAM_Init 0x800'308b 0x48 Code Gb flash_save.o [1] +BackupSRAM_RestoreData 0x800'311d 0x5c Code Gb flash_save.o [1] +BackupSRAM_SaveRegData 0x800'30d3 0x4a Code Gb flash_save.o [1] +BinarySearchOptimalFreq + 0x800'39dd 0xc4 Code Gb tools.o [1] +BusFault_Handler 0x800'9eff 0x2 Code Gb stm32f4xx_it.o [1] +CSTACK$$Base 0x2000'3530 -- Gb - Linker created - +CSTACK$$Limit 0x2000'4530 -- Gb - Linker created - +CacheMore 0x800'903d 0x28 Code Lc xlocale_c.o [2] +Calculate_PluseNum 0x800'348b 0x370 Code Gb tools.o [1] +Calculate_PluseNum_Simplified + 0x800'3285 0x206 Code Gb tools.o [1] +DMA2_Stream0_IRQHandler + 0x800'9f79 0x12 Code Gb stm32f4xx_it.o [1] +DMA2_Stream2_IRQHandler + 0x800'9f55 0x12 Code Gb stm32f4xx_it.o [1] +DMA2_Stream7_IRQHandler + 0x800'9f67 0x12 Code Gb stm32f4xx_it.o [1] +DMA_Backup_Init 0x800'2fa7 0x6c Code Gb flash_save.o [1] +DMA_CalcBaseAndBitshift + 0x800'697d 0x30 Code Lc stm32f4xx_hal_dma.o [1] +DMA_CalcBaseAndBitshift::flagBitshiftOffset + 0x800'a208 0x8 Data Lc stm32f4xx_hal_dma.o [1] +DMA_CheckFifoParam 0x800'69bd 0x9c Code Lc stm32f4xx_hal_dma.o [1] +DMA_SetConfig 0x800'694f 0x2e Code Lc stm32f4xx_hal_dma.o [1] +DMA_Start_CopyFromBKPSRAM + 0x800'304f 0x3c Code Gb flash_save.o [1] +DMA_Start_CopyToBKPSRAM + 0x800'3013 0x3c Code Gb flash_save.o [1] +DebugMon_Handler 0x800'9f05 0x2 Code Gb stm32f4xx_it.o [1] +EXTI15_10_IRQHandler 0x800'9fc3 0xc Code Gb stm32f4xx_it.o [1] +EXTI9_5_IRQHandler 0x800'9fb9 0xa Code Gb stm32f4xx_it.o [1] +EnableBackupDomain 0x800'2f87 0x20 Code Gb flash_save.o [1] +Error_Handler 0x800'2a59 0x4 Code Gb main.o [1] +FirstFlag 0x2000'351b 0x1 Data Lc tim.o [1] +FlashSave_Get_Array_Index + 0x800'2ef1 0x36 Code Lc flash_save.o [1] +FlashSave_Get_Holding_Register + 0x800'2f57 0x30 Code Gb flash_save.o [1] +FlashSave_Set_Holding_Register + 0x800'2f27 0x30 Code Gb flash_save.o [1] +HAL_DMA_Abort 0x800'6683 0x9c Code Gb stm32f4xx_hal_dma.o [1] +HAL_DMA_Abort_IT 0x800'671f 0x28 Code Gb stm32f4xx_hal_dma.o [1] +HAL_DMA_IRQHandler 0x800'6747 0x208 Code Gb stm32f4xx_hal_dma.o [1] +HAL_DMA_Init 0x800'6515 0xe2 Code Gb stm32f4xx_hal_dma.o [1] +HAL_DMA_Start_IT 0x800'65f7 0x8c Code Gb stm32f4xx_hal_dma.o [1] +HAL_Delay 0x800'3c15 0x28 Code Wk stm32f4xx_hal.o [1] +HAL_GPIO_EXTI_Callback 0x800'3d27 0x4a Code Gb gpio.o [1] +HAL_GPIO_EXTI_IRQHandler + 0x800'2d45 0x20 Code Gb stm32f4xx_hal_gpio.o [1] +HAL_GPIO_Init 0x800'2b09 0x222 Code Gb stm32f4xx_hal_gpio.o [1] +HAL_GPIO_WritePin 0x800'2d2b 0x1a Code Gb stm32f4xx_hal_gpio.o [1] +HAL_GetTick 0x800'6a91 0xc Code Wk stm32f4xx_hal.o [1] +HAL_IncTick 0x800'9ff9 0x18 Code Wk stm32f4xx_hal.o [1] +HAL_Init 0x800'5385 0x30 Code Gb stm32f4xx_hal.o [1] +HAL_InitTick 0x800'6f75 0xac Code Gb stm32f4xx_hal_timebase_tim.o [1] +HAL_MspInit 0x800'7035 0x48 Code Gb stm32f4xx_hal_msp.o [1] +HAL_NVIC_DisableIRQ 0x800'2ecb 0xe Code Gb stm32f4xx_hal_cortex.o [1] +HAL_NVIC_EnableIRQ 0x800'2ebd 0xe Code Gb stm32f4xx_hal_cortex.o [1] +HAL_NVIC_SetPriority 0x800'2e93 0x2a Code Gb stm32f4xx_hal_cortex.o [1] +HAL_NVIC_SetPriorityGrouping + 0x800'2e87 0xc Code Gb stm32f4xx_hal_cortex.o [1] +HAL_PWREx_EnableBkUpReg + 0x800'6a59 0x2e Code Gb stm32f4xx_hal_pwr_ex.o [1] +HAL_PWR_EnableBkUpAccess + 0x800'64f9 0x14 Code Gb stm32f4xx_hal_pwr.o [1] +HAL_RCC_ClockConfig 0x800'6109 0x140 Code Gb stm32f4xx_hal_rcc.o [1] +HAL_RCC_GetClockConfig 0x800'627b 0x34 Code Gb stm32f4xx_hal_rcc.o [1] +HAL_RCC_GetHCLKFreq 0x800'6249 0x6 Code Gb stm32f4xx_hal_rcc.o [1] +HAL_RCC_GetPCLK1Freq 0x800'624f 0x16 Code Gb stm32f4xx_hal_rcc.o [1] +HAL_RCC_GetPCLK2Freq 0x800'6265 0x16 Code Gb stm32f4xx_hal_rcc.o [1] +HAL_RCC_OscConfig 0x800'5d1d 0x3ec Code Wk stm32f4xx_hal_rcc.o [1] +HAL_TIMEx_BreakCallback + 0x800'537d 0x2 Code Wk stm32f4xx_hal_tim_ex.o [1] +HAL_TIMEx_CommutCallback + 0x800'5381 0x2 Code Wk stm32f4xx_hal_tim_ex.o [1] +HAL_TIMEx_MasterConfigSynchronization + 0x800'2a5d 0x8e Code Gb stm32f4xx_hal_tim_ex.o [1] +HAL_TIM_Base_Init 0x800'1dcd 0x6e Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_Base_MspInit 0x800'0443 0x14e Code Gb tim.o [1] +HAL_TIM_Base_Start_IT 0x800'1e3b 0x9a Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_Base_Stop_IT 0x800'1ed5 0x3c Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_ConfigClockSource + 0x800'23dd 0xf4 Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_GenerateEvent 0x800'23af 0x2e Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_IRQHandler 0x800'2175 0x13e Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_MspPostInit 0x800'0591 0x128 Code Gb tim.o [1] +HAL_TIM_PWM_ConfigChannel + 0x800'22b3 0xfc Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_PWM_Init 0x800'1f2d 0x6e Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_PWM_Start 0x800'1f9b 0x10e Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_PWM_Stop 0x800'20a9 0xae Code Gb stm32f4xx_hal_tim.o [1] +HAL_TIM_PeriodElapsedCallback + 0x800'0aa5 0x2ec Code Gb tim.o [1] +HAL_UART_DMAStop 0x800'729f 0x92 Code Gb stm32f4xx_hal_uart.o [1] +HAL_UART_IRQHandler 0x800'7331 0x2f6 Code Gb stm32f4xx_hal_uart.o [1] +HAL_UART_Init 0x800'707d 0x7a Code Gb stm32f4xx_hal_uart.o [1] +HAL_UART_MspInit 0x800'5417 0x13c Code Gb usart.o [1] +HAL_UART_Receive_DMA 0x800'7269 0x36 Code Gb stm32f4xx_hal_uart.o [1] +HAL_UART_Transmit 0x800'70f7 0xcc Code Gb stm32f4xx_hal_uart.o [1] +HAL_UART_Transmit_DMA 0x800'71c3 0x9a Code Gb stm32f4xx_hal_uart.o [1] +HAL_UART_TxCpltCallback + 0x800'5679 0x14 Code Gb usart.o [1] +HardFault_Handler 0x800'9edf 0x1e Code Gb stm32f4xx_it.o [1] +KeyTask 0x800'29d5 0x5a Code Lc main.o [1] +KeyTaskStk 0x2000'10cc 0x400 Data Lc main.o [1] +MODBUSTask 0x800'29bd 0x16 Code Lc main.o [1] +MODBUSTaskStk 0x2000'0ccc 0x400 Data Lc main.o [1] +MX_DMA_Init 0x800'5cdd 0x40 Code Gb dma.o [1] +MX_GPIO_Init 0x800'3c3d 0xea Code Gb gpio.o [1] +MX_TIM10_Init 0x800'0261 0x7a Code Gb tim.o [1] +MX_TIM11_Init 0x800'02db 0x78 Code Gb tim.o [1] +MX_TIM13_Init 0x800'0353 0x78 Code Gb tim.o [1] +MX_TIM14_Init 0x800'03cb 0x78 Code Gb tim.o [1] +MX_TIM2_Init 0x800'0189 0x86 Code Gb tim.o [1] +MX_TIM6_Init 0x800'020f 0x52 Code Gb tim.o [1] +MX_USART1_UART_Init 0x800'53b9 0x5e Code Gb usart.o [1] +MemManage_Handler 0x800'9efd 0x2 Code Gb stm32f4xx_it.o [1] +ModbusSlave 0x2000'3529 0x1 Data Gb usart.o [1] +Modbus_CRC16 0x800'7ed9 0x34 Code Gb modbus_crc.o [1] +Modbus_Clear_Pluse 0x800'578d 0x68 Code Gb usart.o [1] +Modbus_Handle_SendLog 0x800'57f5 0x11e Code Gb usart.o [1] +Modbus_Init 0x800'568d 0x8 Code Gb usart.o [1] +Modbus_Log 0x800'7f11 0x44 Code Gb modbus_log.o [1] +Modbus_Process 0x800'5695 0xf8 Code Gb usart.o [1] +Modbus_Process_Read_Holding_Regs + 0x800'5913 0x122 Code Lc usart.o [1] +Modbus_Process_Write_Multiple_Regs + 0x800'5af1 0x126 Code Lc usart.o [1] +Modbus_Process_Write_Reg + 0x800'5a35 0xbc Code Lc usart.o [1] +Modbus_Send_Exception 0x800'5c49 0x3e Code Lc usart.o [1] +Modbus_Send_Response 0x800'5c17 0x32 Code Lc usart.o [1] +NMI_Handler 0x800'9edd 0x2 Code Gb stm32f4xx_it.o [1] +NVIC_EncodePriority 0x800'2e47 0x40 Code Lc stm32f4xx_hal_cortex.o [1] +OSCPUUsage 0x2000'351d 0x1 Data Gb ucos_ii.o [1] +OSCtxSw 0x800'6d27 Code Gb os_cpu_a.o [1] +OSCtxSwCtr 0x2000'34c0 0x4 Data Gb ucos_ii.o [1] +OSDataSize 0x800'a382 0x2 Data Gb os_dbg.o [1] +OSDebugEn 0x800'5382 0x2 Data Gb os_dbg.o [1] +OSDebugInit 0x800'6db5 0x1c0 Code Gb os_dbg.o [1] +OSEndiannessTest 0x800'a218 0x4 Data Gb os_dbg.o [1] +OSEventEn 0x800'6cee 0x2 Data Gb os_dbg.o [1] +OSEventFreeList 0x2000'34c4 0x4 Data Gb ucos_ii.o [1] +OSEventMax 0x800'7ed6 0x2 Data Gb os_dbg.o [1] +OSEventMultiEn 0x800'923a 0x2 Data Gb os_dbg.o [1] +OSEventNameEn 0x800'9036 0x2 Data Gb os_dbg.o [1] +OSEventNameSet 0x800'3d99 0x54 Code Gb ucos_ii.o [1] +OSEventSize 0x800'90ca 0x2 Data Gb os_dbg.o [1] +OSEventTbl 0x2000'2e84 0xf0 Data Gb ucos_ii.o [1] +OSEventTblSize 0x800'9142 0x2 Data Gb os_dbg.o [1] +OSFlagEn 0x800'926a 0x2 Data Gb os_dbg.o [1] +OSFlagFreeList 0x2000'34c8 0x4 Data Gb ucos_ii.o [1] +OSFlagGrpSize 0x800'93a6 0x2 Data Gb os_dbg.o [1] +OSFlagMax 0x800'94ea 0x2 Data Gb os_dbg.o [1] +OSFlagNameEn 0x800'9732 0x2 Data Gb os_dbg.o [1] +OSFlagNodeSize 0x800'93e2 0x2 Data Gb os_dbg.o [1] +OSFlagTbl 0x2000'316c 0x50 Data Gb ucos_ii.o [1] +OSFlagWidth 0x800'9406 0x2 Data Gb os_dbg.o [1] +OSIdleCtr 0x2000'34d4 0x4 Data Gb ucos_ii.o [1] +OSIdleCtrMax 0x2000'34cc 0x4 Data Gb ucos_ii.o [1] +OSIdleCtrRun 0x2000'34d0 0x4 Data Gb ucos_ii.o [1] +OSInit 0x800'3ded 0x38 Code Gb ucos_ii.o [1] +OSInitHookBegin 0x800'6369 0x2c Code Gb os_cpu_c.o [1] +OSInitHookEnd 0x800'6395 0x2 Code Gb os_cpu_c.o [1] +OSIntCtxSw 0x800'6d2f Code Gb os_cpu_a.o [1] +OSIntEnter 0x800'3e25 0x1c Code Gb ucos_ii.o [1] +OSIntExit 0x800'3e41 0x78 Code Gb ucos_ii.o [1] +OSIntNesting 0x2000'351f 0x1 Data Gb ucos_ii.o [1] +OSLockNesting 0x2000'3520 0x1 Data Gb ucos_ii.o [1] +OSLowestPrio 0x800'9776 0x2 Data Gb os_dbg.o [1] +OSMboxEn 0x800'992a 0x2 Data Gb os_dbg.o [1] +OSMemEn 0x800'9a96 0x2 Data Gb os_dbg.o [1] +OSMemFreeList 0x2000'34e8 0x4 Data Gb ucos_ii.o [1] +OSMemMax 0x800'9fce 0x2 Data Gb os_dbg.o [1] +OSMemNameEn 0x800'a11c 0x2 Data Gb os_dbg.o [1] +OSMemSize 0x800'a146 0x2 Data Gb os_dbg.o [1] +OSMemTbl 0x2000'2f74 0x78 Data Gb ucos_ii.o [1] +OSMemTblSize 0x800'a33c 0x2 Data Gb os_dbg.o [1] +OSMutexEn 0x800'a33e 0x2 Data Gb os_dbg.o [1] +OSPrioCur 0x2000'3521 0x1 Data Gb ucos_ii.o [1] +OSPrioHighRdy 0x2000'3522 0x1 Data Gb ucos_ii.o [1] +OSPtrSize 0x800'a340 0x2 Data Gb os_dbg.o [1] +OSQEn 0x800'a342 0x2 Data Gb os_dbg.o [1] +OSQFreeList 0x2000'34ec 0x4 Data Gb ucos_ii.o [1] +OSQMax 0x800'a344 0x2 Data Gb os_dbg.o [1] +OSQSize 0x800'a346 0x2 Data Gb os_dbg.o [1] +OSQTbl 0x2000'304c 0x60 Data Gb ucos_ii.o [1] +OSRdyGrp 0x2000'3523 0x1 Data Gb ucos_ii.o [1] +OSRdyTbl 0x2000'348c 0x8 Data Gb ucos_ii.o [1] +OSRdyTblSize 0x800'a348 0x2 Data Gb os_dbg.o [1] +OSRunning 0x2000'3524 0x1 Data Gb ucos_ii.o [1] +OSSchedLock 0x800'3eb9 0x36 Code Gb ucos_ii.o [1] +OSSchedUnlock 0x800'3eef 0x58 Code Gb ucos_ii.o [1] +OSSemCreate 0x800'4943 0x4e Code Gb ucos_ii.o [1] +OSSemEn 0x800'a34a 0x2 Data Gb os_dbg.o [1] +OSSemPend 0x800'4993 0xe8 Code Gb ucos_ii.o [1] +OSSemPost 0x800'4a85 0x62 Code Gb ucos_ii.o [1] +OSStart 0x800'3f47 0x3a Code Gb ucos_ii.o [1] +OSStartHighRdy 0x800'6cff Code Gb os_cpu_a.o [1] +OSStatInit 0x800'3f81 0x42 Code Gb ucos_ii.o [1] +OSStatRdy 0x2000'351e 0x1 Data Gb ucos_ii.o [1] +OSStkWidth 0x800'a34c 0x2 Data Gb os_dbg.o [1] +OSTCBCur 0x2000'34d8 0x4 Data Gb ucos_ii.o [1] +OSTCBFreeList 0x2000'34dc 0x4 Data Gb ucos_ii.o [1] +OSTCBHighRdy 0x2000'34e0 0x4 Data Gb ucos_ii.o [1] +OSTCBInitHook 0x800'645f 0xc Code Gb os_cpu_c.o [1] +OSTCBList 0x2000'34e4 0x4 Data Gb ucos_ii.o [1] +OSTCBPrioTbl 0x2000'2a84 0x100 Data Gb ucos_ii.o [1] +OSTCBPrioTblMax 0x800'a366 0x2 Data Gb os_dbg.o [1] +OSTCBSize 0x800'a368 0x2 Data Gb os_dbg.o [1] +OSTCBTbl 0x2000'00e4 0x7e8 Data Gb ucos_ii.o [1] +OSTaskCreateEn 0x800'a34e 0x2 Data Gb os_dbg.o [1] +OSTaskCreateExt 0x800'4af1 0xd4 Code Gb ucos_ii.o [1] +OSTaskCreateExtEn 0x800'a350 0x2 Data Gb os_dbg.o [1] +OSTaskCreateHook 0x800'6397 0xc Code Gb os_cpu_c.o [1] +OSTaskCtr 0x2000'3525 0x1 Data Gb ucos_ii.o [1] +OSTaskDel 0x800'4bc5 0x17a Code Gb ucos_ii.o [1] +OSTaskDelEn 0x800'a352 0x2 Data Gb os_dbg.o [1] +OSTaskDelHook 0x800'63a3 0xc Code Gb os_cpu_c.o [1] +OSTaskIdleHook 0x800'63af 0x8 Code Gb os_cpu_c.o [1] +OSTaskIdleStk 0x2000'274c 0x200 Data Gb ucos_ii.o [1] +OSTaskIdleStkSize 0x800'a354 0x2 Data Gb os_dbg.o [1] +OSTaskMax 0x800'a358 0x2 Data Gb os_dbg.o [1] +OSTaskNameEn 0x800'a35a 0x2 Data Gb os_dbg.o [1] +OSTaskNameSet 0x800'4d3f 0x90 Code Gb ucos_ii.o [1] +OSTaskProfileEn 0x800'a356 0x2 Data Gb os_dbg.o [1] +OSTaskRegNextAvailID 0x2000'3527 0x1 Data Gb ucos_ii.o [1] +OSTaskRegTblSize 0x800'a364 0x2 Data Gb os_dbg.o [1] +OSTaskReturnHook 0x800'63b7 0xc Code Gb os_cpu_c.o [1] +OSTaskStatEn 0x800'a35c 0x2 Data Gb os_dbg.o [1] +OSTaskStatHook 0x800'63c3 0x8 Code Gb os_cpu_c.o [1] +OSTaskStatStk 0x2000'18cc 0x400 Data Gb ucos_ii.o [1] +OSTaskStatStkChkEn 0x800'a360 0x2 Data Gb os_dbg.o [1] +OSTaskStatStkSize 0x800'a35e 0x2 Data Gb os_dbg.o [1] +OSTaskStkChk 0x800'4ddd 0xb4 Code Gb ucos_ii.o [1] +OSTaskStkInit 0x800'63cb 0x8c Code Gb os_cpu_c.o [1] +OSTaskSuspend 0x800'4e91 0xd6 Code Gb ucos_ii.o [1] +OSTaskSwHook 0x800'6457 0x8 Code Gb os_cpu_c.o [1] +OSTaskSwHookEn 0x800'a362 0x2 Data Gb os_dbg.o [1] +OSTickStepState 0x2000'3526 0x1 Data Gb ucos_ii.o [1] +OSTicksPerSec 0x800'a36a 0x2 Data Gb os_dbg.o [1] +OSTime 0x2000'34f0 0x4 Data Gb ucos_ii.o [1] +OSTimeDly 0x800'4f97 0x6e Code Gb ucos_ii.o [1] +OSTimeDlyHMSM 0x800'5011 0xb0 Code Gb ucos_ii.o [1] +OSTimeTick 0x800'3fc3 0xe4 Code Gb ucos_ii.o [1] +OSTimeTickHook 0x800'646b 0x1e Code Gb os_cpu_c.o [1] +OSTimeTickHookEn 0x800'a36c 0x2 Data Gb os_dbg.o [1] +OSTmrCfgMax 0x800'a372 0x2 Data Gb os_dbg.o [1] +OSTmrCfgNameEn 0x800'a374 0x2 Data Gb os_dbg.o [1] +OSTmrCfgTicksPerSec 0x800'a378 0x2 Data Gb os_dbg.o [1] +OSTmrCfgWheelSize 0x800'a376 0x2 Data Gb os_dbg.o [1] +OSTmrCtr 0x2000'350a 0x2 Data Lc os_cpu_c.o [1] +OSTmrEn 0x800'a370 0x2 Data Gb os_dbg.o [1] +OSTmrFree 0x2000'350c 0x2 Data Gb ucos_ii.o [1] +OSTmrFreeList 0x2000'3500 0x4 Data Gb ucos_ii.o [1] +OSTmrSem 0x2000'34f8 0x4 Data Gb ucos_ii.o [1] +OSTmrSemSignal 0x2000'34fc 0x4 Data Gb ucos_ii.o [1] +OSTmrSignal 0x800'50d9 0xe Code Gb ucos_ii.o [1] +OSTmrSize 0x800'a37a 0x2 Data Gb os_dbg.o [1] +OSTmrTaskStk 0x2000'1ccc 0x400 Data Gb ucos_ii.o [1] +OSTmrTbl 0x2000'20cc 0x280 Data Gb ucos_ii.o [1] +OSTmrTblSize 0x800'a37c 0x2 Data Gb os_dbg.o [1] +OSTmrTime 0x2000'34f4 0x4 Data Gb ucos_ii.o [1] +OSTmrUsed 0x2000'350e 0x2 Data Gb ucos_ii.o [1] +OSTmrWheelSize 0x800'a37e 0x2 Data Gb os_dbg.o [1] +OSTmrWheelTbl 0x2000'344c 0x40 Data Gb ucos_ii.o [1] +OSTmrWheelTblSize 0x800'a380 0x2 Data Gb os_dbg.o [1] +OSTmr_Init 0x800'50e7 0xcc Code Gb ucos_ii.o [1] +OSTmr_InitTask 0x800'51b3 0x3a Code Lc ucos_ii.o [1] +OSTmr_Link 0x800'51ed 0x72 Code Lc ucos_ii.o [1] +OSTmr_Task 0x800'52ad 0x88 Code Lc ucos_ii.o [1] +OSTmr_Unlink 0x800'525f 0x4c Code Lc ucos_ii.o [1] +OSUnMapTbl 0x800'9ddc 0x100 Data Gb ucos_ii.o [1] +OSVersionNbr 0x800'a36e 0x2 Data Gb os_dbg.o [1] +OS_CPU_ExceptStk 0x2000'254c 0x200 Data Gb os_cpu_c.o [1] +OS_CPU_ExceptStkBase 0x2000'3498 0x4 Data Gb os_cpu_c.o [1] +OS_CPU_PendSVHandler 0x800'6d37 Code Gb os_cpu_a.o [1] +OS_CPU_SR_Restore 0x800'6cf9 Code Gb os_cpu_a.o [1] +OS_CPU_SR_Save 0x800'6cf1 Code Gb os_cpu_a.o [1] +OS_CPU_SysTickHandler 0x800'6489 0x1c Code Gb os_cpu_c.o [1] +OS_CPU_SysTickInit 0x800'64b9 0x24 Code Gb os_cpu_c.o [1] +OS_CPU_SysTickInitFreq 0x800'64a5 0x14 Code Gb os_cpu_c.o [1] +OS_Dummy 0x800'40a7 0x2 Code Gb ucos_ii.o [1] +OS_EventTaskRdy 0x800'40a9 0xa8 Code Gb ucos_ii.o [1] +OS_EventTaskRemove 0x800'41bf 0x3a Code Gb ucos_ii.o [1] +OS_EventTaskRemoveMulti + 0x800'41f9 0x4e Code Gb ucos_ii.o [1] +OS_EventTaskWait 0x800'4151 0x6e Code Gb ucos_ii.o [1] +OS_EventWaitListInit 0x800'4247 0x1e Code Gb ucos_ii.o [1] +OS_FlagInit 0x800'47f5 0x58 Code Gb ucos_ii.o [1] +OS_FlagUnlink 0x800'4851 0x2c Code Gb ucos_ii.o [1] +OS_InitEventList 0x800'4265 0x62 Code Lc ucos_ii.o [1] +OS_InitMisc 0x800'42c7 0x58 Code Lc ucos_ii.o [1] +OS_InitRdyList 0x800'431f 0x44 Code Lc ucos_ii.o [1] +OS_InitTCBList 0x800'43dd 0x70 Code Lc ucos_ii.o [1] +OS_InitTaskIdle 0x800'4363 0x3c Code Lc ucos_ii.o [1] +OS_InitTaskStat 0x800'439f 0x3e Code Lc ucos_ii.o [1] +OS_MemClr 0x800'444d 0x14 Code Gb ucos_ii.o [1] +OS_MemInit 0x800'4889 0x56 Code Gb ucos_ii.o [1] +OS_QInit 0x800'48f1 0x52 Code Gb ucos_ii.o [1] +OS_Sched 0x800'4461 0x5e Code Gb ucos_ii.o [1] +OS_SchedNew 0x800'44bf 0x2c Code Lc ucos_ii.o [1] +OS_TCBInit 0x800'4631 0x152 Code Gb ucos_ii.o [1] +OS_TaskIdle 0x800'44ed 0x22 Code Gb ucos_ii.o [1] +OS_TaskReturn 0x800'4f6d 0x12 Code Gb ucos_ii.o [1] +OS_TaskStat 0x800'4515 0xca Code Gb ucos_ii.o [1] +OS_TaskStatStkChk 0x800'45df 0x48 Code Gb ucos_ii.o [1] +OS_TaskStkClr 0x800'4f7f 0x18 Code Gb ucos_ii.o [1] +OptimalIntermediateFrequency + 0x800'37fb 0x1e2 Code Gb tools.o [1] +PLSR_Accel_Process 0x800'1919 0x12e Code Gb tim.o [1] +PLSR_Accel_UpdateRates 0x800'3bcf 0x32 Code Gb tools.o [1] +PLSR_CalculateTimerParams + 0x800'31ff 0x7a Code Gb tools.o [1] +PLSR_Calculate_FreqByPosition + 0x800'16a9 0x26a Code Gb tim.o [1] +PLSR_Calculate_FreqByPosition::s_last_calculated_freq + 0x2000'34b8 0x4 Data Lc tim.o [1] +PLSR_Calculate_FreqByPosition::s_last_executed_pulses + 0x2000'0010 0x4 Data Lc tim.o [1] +PLSR_Calculate_FreqByPosition::s_last_is_accel + 0x2000'00e0 0x1 Data Lc tim.o [1] +PLSR_Calculate_FreqByPosition::s_last_section_num + 0x2000'00e1 0x1 Data Lc tim.o [1] +PLSR_ClearExtEvent 0x800'1c9b 0x18 Code Gb tim.o [1] +PLSR_ClearGpioTriggerFlag + 0x800'3d71 0x8 Code Gb gpio.o [1] +PLSR_Fix_Compensated 0x800'3199 0x66 Code Gb tools.o [1] +PLSR_HandleSectionEnd 0x800'09d5 0xc4 Code Gb tim.o [1] +PLSR_PWM_Init 0x800'06b9 0x2a Code Gb tim.o [1] +PLSR_PWM_SetFrequency 0x800'0807 0x11c Code Gb tim.o [1] +PLSR_PWM_Start 0x800'06e3 0x72 Code Gb tim.o [1] +PLSR_Route_Init 0x800'0f07 0x52 Code Gb tim.o [1] +PLSR_Route_PWM_Stop 0x800'07ad 0x5a Code Gb tim.o [1] +PLSR_Route_Set 0x800'0dbd 0x14a Code Gb tim.o [1] +PLSR_Route_Start 0x800'0f59 0xe6 Code Gb tim.o [1] +PLSR_Route_Stop 0x800'1045 0x62 Code Gb tim.o [1] +PLSR_SectionSwitchInit 0x800'1cb3 0x16 Code Gb tim.o [1] +PLSR_SectionSwitchSignal + 0x800'1cc9 0x12 Code Gb tim.o [1] +PLSR_SectionSwitchTask 0x800'1cdb 0x20 Code Gb tim.o [1] +PLSR_Section_CheckPulseComplete + 0x800'1bad 0x42 Code Gb tim.o [1] +PLSR_Section_CheckWaitCondition + 0x800'1bef 0x5e Code Gb tim.o [1] +PLSR_Section_PWM_Stop 0x800'0755 0x58 Code Gb tim.o [1] +PLSR_Section_StartNewSection + 0x800'11d9 0x236 Code Gb tim.o [1] +PLSR_Section_SwitchNext + 0x800'1615 0x76 Code Gb tim.o [1] +PLSR_SetDirectionPin 0x800'10ad 0x120 Code Lc tim.o [1] +PLSR_SetExtEvent 0x800'1c79 0x22 Code Gb tim.o [1] +PLSR_SetupThreePartExecution + 0x800'141d 0x1f0 Code Gb tim.o [1] +PLSR_TIM6_SetUpdateFreq + 0x800'0923 0x44 Code Gb tim.o [1] +PLSR_TIM6_Start 0x800'0967 0xa Code Gb tim.o [1] +PLSR_TIM6_Stop 0x800'0971 0xa Code Gb tim.o [1] +PLSR_TaskSectionSwitch 0x800'1a47 0x144 Code Gb tim.o [1] +PLSR_UpdateGlobalPulseCount + 0x800'097b 0x5a Code Lc tim.o [1] +PLSR_Wait_CheckExtEvent + 0x800'1c4d 0x2c Code Gb tim.o [1] +PartUpdatePluse 0x2000'34b0 0x4 Data Lc tim.o [1] +PendSV_Handler 0x800'9f07 0x8 Code Gb stm32f4xx_it.o [1] +PlsrCurrentTargetFreq 0x2000'34a8 0x4 Data Gb tim.o [1] +PlsrExtEventFlag 0x2000'351a 0x1 Data Gb tim.o [1] +PlsrLocation 0x2000'34a4 0x4 Data Gb tim.o [1] +PlsrModFlag 0x2000'00df 0x1 Data Gb tim.o [1] +PlsrRoute 0x2000'294c 0x138 Data Gb tim.o [1] +PlsrTotalPulseCount 0x2000'34a0 0x4 Data Gb tim.o [1] +Region$$Table$$Base 0x800'a0fc -- Gb - Linker created - +Region$$Table$$Limit 0x800'a11c -- Gb - Linker created - +SVC_Handler 0x800'9f03 0x2 Code Gb stm32f4xx_it.o [1] +SectionSwitchTaskStk 0x2000'234c 0x200 Data Lc main.o [1] +SectionUpdatePluse 0x2000'34ac 0x4 Data Gb tim.o [1] +StartupTask 0x800'2915 0xa8 Code Lc main.o [1] +StartupTaskStk 0x2000'08cc 0x400 Data Lc main.o [1] +StopFlag 0x2000'351c 0x1 Data Gb tim.o [1] +SysTick_Handler 0x800'9f0f 0xc Code Gb stm32f4xx_it.o [1] +SystemClock_Config 0x800'2869 0xaa Code Gb main.o [1] +SystemCoreClock 0x2000'0008 0x4 Data Gb system_stm32f4xx.o [1] +SystemInit 0x800'a1ed 0xc Code Gb system_stm32f4xx.o [1] +TIM1_UP_TIM10_IRQHandler + 0x800'9f1b 0x10 Code Gb stm32f4xx_it.o [1] +TIM2_IRQHandler 0x800'9f41 0xa Code Gb stm32f4xx_it.o [1] +TIM6_DAC_IRQHandler 0x800'9f4b 0xa Code Gb stm32f4xx_it.o [1] +TIM_Base_SetConfig 0x800'24d1 0xcc Code Gb stm32f4xx_hal_tim.o [1] +TIM_CCxChannelCmd 0x800'27cb 0x24 Code Gb stm32f4xx_hal_tim.o [1] +TIM_ETR_SetConfig 0x800'27b3 0x18 Code Gb stm32f4xx_hal_tim.o [1] +TIM_ITRx_SetConfig 0x800'27a3 0x10 Code Lc stm32f4xx_hal_tim.o [1] +TIM_OC1_SetConfig 0x800'259f 0x64 Code Lc stm32f4xx_hal_tim.o [1] +TIM_OC2_SetConfig 0x800'2603 0x6e Code Gb stm32f4xx_hal_tim.o [1] +TIM_OC3_SetConfig 0x800'2673 0x6c Code Lc stm32f4xx_hal_tim.o [1] +TIM_OC4_SetConfig 0x800'26df 0x4c Code Lc stm32f4xx_hal_tim.o [1] +TIM_TI1_ConfigInputStage + 0x800'2759 0x24 Code Lc stm32f4xx_hal_tim.o [1] +TIM_TI2_ConfigInputStage + 0x800'277d 0x26 Code Lc stm32f4xx_hal_tim.o [1] +UART_DMAAbortOnError 0x800'7989 0x12 Code Lc stm32f4xx_hal_uart.o [1] +UART_DMAError 0x800'7759 0x58 Code Lc stm32f4xx_hal_uart.o [1] +UART_DMAReceiveCplt 0x800'7689 0xaa Code Lc stm32f4xx_hal_uart.o [1] +UART_DMARxHalfCplt 0x800'7733 0x26 Code Lc stm32f4xx_hal_uart.o [1] +UART_DMATransmitCplt 0x800'7627 0x54 Code Lc stm32f4xx_hal_uart.o [1] +UART_DMATxHalfCplt 0x800'767b 0xe Code Lc stm32f4xx_hal_uart.o [1] +UART_EndRxTransfer 0x800'7921 0x66 Code Lc stm32f4xx_hal_uart.o [1] +UART_EndTransmit_IT 0x800'7a03 0x20 Code Lc stm32f4xx_hal_uart.o [1] +UART_EndTxTransfer 0x800'78fd 0x24 Code Lc stm32f4xx_hal_uart.o [1] +UART_Receive_IT 0x800'7a23 0xfa Code Lc stm32f4xx_hal_uart.o [1] +UART_SetConfig 0x800'7b1d 0x2fc Code Lc stm32f4xx_hal_uart.o [1] +UART_Start_Receive_DMA 0x800'7835 0xc8 Code Gb stm32f4xx_hal_uart.o [1] +UART_Transmit_IT 0x800'799d 0x66 Code Lc stm32f4xx_hal_uart.o [1] +UART_WaitOnFlagUntilTimeout + 0x800'77b1 0x84 Code Lc stm32f4xx_hal_uart.o [1] +USART1_IDLE_IRQHandler 0x800'556d 0x96 Code Gb usart.o [1] +USART1_IRQHandler 0x800'9f2b 0x16 Code Gb stm32f4xx_it.o [1] +USART1_SendData 0x800'5663 0x16 Code Gb usart.o [1] +USART1_SendData_DMA 0x800'5603 0x60 Code Gb usart.o [1] +UsageFault_Handler 0x800'9f01 0x2 Code Gb stm32f4xx_it.o [1] +Usart1_Rx_Count 0x2000'3514 0x2 Data Gb usart.o [1] +_Encoding_8859_1_Mbrlen + 0x800'2801 0x2 Code Gb xencoding_8859_1.o [2] +_Encoding_8859_1_Wctomb + 0x800'27ef 0x12 Code Gb xencoding_8859_1.o [2] +_LitobFull 0x800'8e83 0x10a Code Lc xprintffull.o [2] +_Locale_lconv 0x2000'0014 0x38 Data Lc xlocale_c.o [2] +_PrintfFull 0x800'7f71 0xcc4 Code Gb xprintffull.o [2] +_Prout 0x800'a153 0x16 Code Gb xprout.o [2] +_PutcharsFull 0x800'8ff5 0x2e Code Lc xprintffull.o [2] +_PutstrFull 0x800'8dc3 0xc0 Code Lc xprintffull.o [2] +_PuttxtFull 0x800'8cb7 0x10c Code Lc xprintffull.o [2] +__NVIC_DisableIRQ 0x800'2df5 0x26 Code Lc stm32f4xx_hal_cortex.o [1] +__NVIC_EnableIRQ 0x800'2dd5 0x20 Code Lc stm32f4xx_hal_cortex.o [1] +__NVIC_GetPriorityGrouping + 0x800'2dc7 0xc Code Lc stm32f4xx_hal_cortex.o [1] +__NVIC_SetPriority 0x800'2e1b 0x2c Code Lc stm32f4xx_hal_cortex.o [1] +__NVIC_SetPriorityGrouping + 0x800'2da5 0x22 Code Lc stm32f4xx_hal_cortex.o [1] +__aeabi_cdcmple 0x800'920d Code Gb DblCmpLe.o [3] +__aeabi_cdrcmple 0x800'923d Code Gb DblCmpGe.o [3] +__aeabi_d2iz 0x800'93a9 Code Gb DblToS32.o [3] +__aeabi_d2uiz 0x800'9735 Code Gb DblToU32.o [3] +__aeabi_ddiv 0x800'94ed Code Gb DblDiv.o [3] +__aeabi_dmul 0x800'9779 Code Gb DblMul.o [3] +__aeabi_dsub 0x800'9409 Code Gb DblSub.o [3] +__aeabi_i2d 0x800'93e5 Code Gb S32ToDbl.o [3] +__aeabi_ldiv0 0x800'7f65 Code Gb I64DivZer.o [4] +__aeabi_llsl 0x800'6ccd Code Gb I64Shl.o [4] +__aeabi_memcpy 0x800'7e31 Code Gb ABImemcpy.o [4] +__aeabi_memcpy4 0x800'7e51 Code Gb ABImemcpy.o [4] +__aeabi_memcpy8 0x800'7e51 Code Gb ABImemcpy.o [4] +__aeabi_memset 0x800'1d2d Code Gb ABImemset.o [4] +__aeabi_ui2d 0x800'975d Code Gb U32ToDbl.o [3] +__aeabi_uldivmod 0x800'6a9d Code Gb I64DivMod.o [4] +__cmain 0x800'a121 Code Gb cmain.o [4] +__exit 0x800'9a99 0x14 Code Gb exit.o [5] +__iar_Fail_s 0x800'90cd 0x1c Code Gb xfail_s.o [2] +__iar_Mbcurmax 0x800'991b 0xa Code Gb xmbcurmax.o [2] +__iar_Memchr 0x800'9145 Code Gb memchr.o [4] +__iar_Memset 0x800'1d2d Code Gb ABImemset.o [4] +__iar_Memset_word 0x800'1d35 Code Gb ABImemset.o [4] +__iar_Stdout 0x2000'0094 0x48 Data Gb xfiles.o [2] +__iar_Strchr 0x800'90b5 Code Gb strchr.o [4] +__iar_dadd 0x800'9419 Code Gb DblSub.o [3] +__iar_data_init3 0x800'a0b1 0x28 Code Gb data_init.o [4] +__iar_dsub 0x800'992d Code Gb DblAdd.o [3] +__iar_dsubStart 0x800'993f Code Gb DblAdd.o [3] +__iar_frexp 0x800'91a9 Code Gb frexp.o [3] +__iar_frexpl 0x800'91a9 Code Gb frexp.o [3] +__iar_globLocale 0x2000'004c 0x48 Data Lc xlocale_c.o [2] +__iar_global_Locale 0x800'9039 0x4 Code Gb xlocale_c.o [2] +__iar_init_vfp 0x800'a0d9 Code Gb fpinit_M.o [3] +__iar_ldexp64 0x800'926d Code Gb ldexp.o [3] +__iar_lz77_init_single3 + 0x800'a011 0x78 Code Gb lz77_init_single.o [4] +__iar_program_start 0x800'a1fd Code Gb cstartup_M.o [4] +__iar_scalbln64 0x800'926d Code Gb ldexp.o [3] +__iar_scalbn64 0x800'926d Code Gb ldexp.o [3] +__iar_softfp___iar_frexp64 + 0x800'919d Code Gb frexp.o [3] +__iar_softfp_frexp 0x800'919d Code Gb frexp.o [3] +__iar_softfp_frexpl 0x800'919d Code Gb frexp.o [3] +__iar_zero_init3 0x800'1d93 0x3a Code Gb zero_init3.o [4] +__low_level_init 0x800'a13f 0x4 Code Gb low_level_init.o [2] +__vector_table 0x800'0000 Data Gb startup_stm32f407xx.o [1] +_call_main 0x800'a12d Code Gb cmain.o [4] +_exit 0x800'a149 Code Gb cexit.o [4] +_gLocale_mblen 0x800'90a1 0x4 Code Gb xlocale_c.o [2] +_gLocale_mblenInt 0x800'9065 0x2c Code Gb xlocale_c.o [2] +_gLocale_wctomb 0x800'90a5 0x4 Code Gb xlocale_c.o [2] +_gLocale_wctombInt 0x800'909d 0x4 Code Gb xlocale_c.o [2] +_main 0x800'a13b Code Gb cmain.o [4] +abort 0x800'9925 0x6 Code Gb abort.o [2] +backup_data 0x2000'0000 0x4 Data Gb flash_save.o [1] +clzll 0x800'3aa7 0x24 Code Lc tools.o [1] +crc_table 0x800'9aac 0x200 Data Lc modbus_crc.o [1] +dma_bkpsram_done_flag 0x2000'3518 0x1 Data Gb flash_save.o [1] +exit 0x800'a143 0x4 Code Gb exit.o [2] +fputc 0x800'5553 0x1a Code Gb usart.o [1] +hdma_backup 0x2000'2fec 0x60 Data Gb flash_save.o [1] +hdma_usart1_rx 0x2000'30ac 0x60 Data Gb usart.o [1] +hdma_usart1_tx 0x2000'310c 0x60 Data Gb usart.o [1] +htim1 0x2000'320c 0x48 Data Gb stm32f4xx_hal_timebase_tim.o [1] +htim10 0x2000'32e4 0x48 Data Gb tim.o [1] +htim11 0x2000'332c 0x48 Data Gb tim.o [1] +htim13 0x2000'3374 0x48 Data Gb tim.o [1] +htim14 0x2000'33bc 0x48 Data Gb tim.o [1] +htim2 0x2000'3254 0x48 Data Gb tim.o [1] +htim6 0x2000'329c 0x48 Data Gb tim.o [1] +huart1 0x2000'3404 0x48 Data Gb usart.o [1] +integer_sqrt_64 0x800'3acb 0x104 Code Gb tools.o [1] +ldexp 0x800'926d Code Gb ldexp.o [3] +ldexpl 0x800'926d Code Gb ldexp.o [3] +localeconv 0x800'90a9 0x4 Code Gb xlocale_c.o [2] +log_write_index 0x2000'3508 0x2 Data Gb modbus_log.o [1] +main 0x800'280d 0x5c Code Gb main.o [1] +memchr 0x800'9145 Code Gb memchr.o [4] +modbus_address_map 0x800'9cac 0x130 Data Lc flash_save.o [1] +modbus_logs 0x2000'14cc 0x400 Data Gb modbus_log.o [1] +obuf 0x2000'31bc 0x50 Data Lc xfiles.o [2] +printf 0x800'9fd1 0x28 Code Gb printf.o [2] +putchar 0x800'a169 0xc Code Gb putchar.o [2] +s_last_direction 0x2000'00de 0x1 Data Lc tim.o [1] +s_last_total_pulse 0x2000'34b4 0x4 Data Lc tim.o [1] +s_last_trigger_time 0x2000'3494 0x4 Data Lc gpio.o [1] +s_pulse_count_direction + 0x2000'00dd 0x1 Data Lc tim.o [1] +s_section_switch_sem 0x2000'34bc 0x4 Data Lc tim.o [1] +s_tim6_update_freq_us 0x2000'000c 0x4 Data Lc tim.o [1] +s_trigger_flag 0x2000'3519 0x1 Data Lc gpio.o [1] +scalbln 0x800'926d Code Gb ldexp.o [3] +scalblnl 0x800'926d Code Gb ldexp.o [3] +scalbn 0x800'926d Code Gb ldexp.o [3] +scalbnl 0x800'926d Code Gb ldexp.o [3] +scale 0x800'8f8d 0x46 Code Lc xprintffull.o [2] +sec_hand 0x2000'3504 0x4 Data Lc xfail_s.o [2] +square_u32 0x800'3aa1 0x6 Code Gb tools.o [1] +strchr 0x800'90b5 Code Gb strchr.o [4] +strlen 0x800'910d Code Gb strlen.o [4] +usart1_dma_rx_buffer 0x2000'2c84 0x100 Data Gb usart.o [1] +usart1_dma_rx_len 0x2000'3516 0x2 Data Gb usart.o [1] +usart1_dma_tx_buffer 0x2000'2d84 0x100 Data Gb usart.o [1] +usart1_rx_buffer 0x2000'2b84 0x100 Data Gb usart.o [1] +usart1_rx_head 0x2000'3510 0x2 Data Gb usart.o [1] +usart1_rx_tail 0x2000'3512 0x2 Data Gb usart.o [1] +usart1_tx_busy 0x2000'3528 0x1 Data Gb usart.o [1] +uwTick 0x2000'349c 0x4 Data Gb stm32f4xx_hal.o [1] +uwTickFreq 0x2000'00dc 0x1 Data Gb stm32f4xx_hal.o [1] +uwTickPrio 0x2000'0004 0x4 Data Gb stm32f4xx_hal.o [1] + + +[1] = e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj +[2] = dl7M_tlf.a +[3] = m7M_tls.a +[4] = rt7M_tl.a +[5] = shb_l.a + + 40'480 bytes of readonly code memory + 1'483 bytes of readonly data memory + 17'704 bytes of readwrite data memory + +Errors: none +Warnings: 2 diff --git a/PLSR/PLSR/EWARM/test.1/Obj/app_hooks.o b/PLSR/PLSR/EWARM/test.1/Obj/app_hooks.o new file mode 100644 index 0000000..0a44cff Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/app_hooks.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/dma.o b/PLSR/PLSR/EWARM/test.1/Obj/dma.o new file mode 100644 index 0000000..3632bd5 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/dma.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/flash_save.o b/PLSR/PLSR/EWARM/test.1/Obj/flash_save.o new file mode 100644 index 0000000..27ece15 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/flash_save.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/flash_save.pbi b/PLSR/PLSR/EWARM/test.1/Obj/flash_save.pbi new file mode 100644 index 0000000..78a0185 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/flash_save.pbi differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/flash_save.pbi.dep b/PLSR/PLSR/EWARM/test.1/Obj/flash_save.pbi.dep new file mode 100644 index 0000000..363b5e5 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/flash_save.pbi.dep @@ -0,0 +1,59 @@ +flash_save.pbi: \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\flash_save.c \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\flash_save.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\stm32f4xx_hal_conf.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include\stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\core_cm4.h \ + E:\Software\IAR\arm\inc\c\stdint.h E:\Software\IAR\arm\inc\c\ycheck.h \ + E:\Software\IAR\arm\inc\c\yvals.h \ + E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ + E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h \ + E:\Software\IAR\arm\inc\c\DLib_Product.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_version.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_compiler.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\cmsis_iccarm.h \ + E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/mpu_armv7.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ + E:\Software\IAR\arm\inc\c\stddef.h E:\Software\IAR\arm\inc\c\ysizet.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_gpio.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_exti.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_dma.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_cortex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_flash.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_pwr.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_tim.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_uart.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/usart.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/main.h \ + E:\Software\IAR\arm\inc\c\stdio.h E:\Software\IAR\arm\inc\c\string.h \ + E:\Software\IAR\arm\inc\c\DLib_Product_string.h \ + E:\Software\IAR\arm\inc\c\ctype.h E:\Software\IAR\arm\inc\c\stdlib.h \ + E:\Software\IAR\arm\inc\c\DLib_Product_stdlib.h \ + E:\Software\IAR\arm\inc\c\stdarg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_crc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/flash_save.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_log.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/tim.h \ + E:\Software\IAR\arm\inc\c\math.h \ + E:\Software\IAR\arm\inc\c\DLib_float_setup.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports\os_cpu.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source/os_trace.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/gpio.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\modbus_crc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\usart.h diff --git a/PLSR/PLSR/EWARM/test.1/Obj/flash_save.xcl b/PLSR/PLSR/EWARM/test.1/Obj/flash_save.xcl new file mode 100644 index 0000000..510aa82 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/flash_save.xcl @@ -0,0 +1,384 @@ +"e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\flash_save.c" +-std=c11 +-ferror-limit=0 +-fbracket-depth=512 +-MD +-MF +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\flash_save.pbi.dep +-o +flash_save.pbi +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source +-I +E:\Software\IAR\arm\inc +-I +E:\Software\IAR\arm\inc\c +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Device\ST\STM32F4xx\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Source +-D__CHAR_BITS__=8 +-D__CHAR_MAX__=0xff +-D__CHAR_MIN__=0 +-D__CHAR_SIZE__=1 +-D__UNSIGNED_CHAR_MAX__=0xff +-D__SIGNED_CHAR_MAX__=127 +-D__SIGNED_CHAR_MIN__=(-__SIGNED_CHAR_MAX__-1) +-D__CHAR_ALIGN__=1 +-D__SHORT_SIZE__=2 +-D__UNSIGNED_SHORT_MAX__=0xffff +-D__SIGNED_SHORT_MAX__=32767 +-D__SIGNED_SHORT_MIN__=(-__SIGNED_SHORT_MAX__-1) +-D__SHORT_ALIGN__=2 +-D__INT_SIZE__=4 +-D__UNSIGNED_INT_MAX__=0xffffffffU +-D__SIGNED_INT_MAX__=2147483647 +-D__SIGNED_INT_MIN__=(-__SIGNED_INT_MAX__-1) +-D__INT_ALIGN__=4 +-D__LONG_SIZE__=4 +-D__UNSIGNED_LONG_MAX__=0xffffffffUL +-D__SIGNED_LONG_MAX__=2147483647L +-D__SIGNED_LONG_MIN__=(-__SIGNED_LONG_MAX__-1) +-D__LONG_ALIGN__=4 +-D__LONG_LONG_SIZE__=8 +-D__UNSIGNED_LONG_LONG_MAX__=0xffffffffffffffffULL +-D__SIGNED_LONG_LONG_MAX__=9223372036854775807LL +-D__SIGNED_LONG_LONG_MIN__=(-__SIGNED_LONG_LONG_MAX__-1) +-D__LONG_LONG_ALIGN__=8 +-D__INT8_T_TYPE__=signed char +-D__INT8_T_MAX__=127 +-D__INT8_T_MIN__=(-__INT8_T_MAX__-1) +-D__UINT8_T_TYPE__=unsigned char +-D__UINT8_T_MAX__=0xff +-D__INT8_SIZE_PREFIX__="hh" +-D__INT16_T_TYPE__=signed short int +-D__INT16_T_MAX__=32767 +-D__INT16_T_MIN__=(-__INT16_T_MAX__-1) +-D__UINT16_T_TYPE__=unsigned short int +-D__UINT16_T_MAX__=0xffff +-D__INT16_SIZE_PREFIX__="h" +-D__INT32_T_TYPE__=signed int +-D__INT32_T_MAX__=2147483647 +-D__INT32_T_MIN__=(-__INT32_T_MAX__-1) +-D__UINT32_T_TYPE__=unsigned int +-D__UINT32_T_MAX__=0xffffffffU +-D__INT32_SIZE_PREFIX__="" +-D__INT64_T_TYPE__=signed long long int +-D__INT64_T_MAX__=9223372036854775807LL +-D__INT64_T_MIN__=(-__INT64_T_MAX__-1) +-D__UINT64_T_TYPE__=unsigned long long int +-D__UINT64_T_MAX__=0xffffffffffffffffULL +-D__INT64_SIZE_PREFIX__="ll" +-D__INT_LEAST8_T_TYPE__=signed char +-D__INT_LEAST8_T_MAX__=127 +-D__INT_LEAST8_T_MIN__=(-__INT_LEAST8_T_MAX__-1) +-D__UINT_LEAST8_T_TYPE__=unsigned char +-D__UINT_LEAST8_T_MAX__=0xff +-D__INT8_C_SUFFIX__= +-D__UINT8_C_SUFFIX__= +-D__INT_LEAST8_SIZE_PREFIX__="hh" +-D__INT_LEAST16_T_TYPE__=signed short int +-D__INT_LEAST16_T_MAX__=32767 +-D__INT_LEAST16_T_MIN__=(-__INT_LEAST16_T_MAX__-1) +-D__UINT_LEAST16_T_TYPE__=unsigned short int +-D__UINT_LEAST16_T_MAX__=0xffff +-D__INT16_C_SUFFIX__= +-D__UINT16_C_SUFFIX__= +-D__INT_LEAST16_SIZE_PREFIX__="h" +-D__INT_LEAST32_T_TYPE__=signed int +-D__INT_LEAST32_T_MAX__=2147483647 +-D__INT_LEAST32_T_MIN__=(-__INT_LEAST32_T_MAX__-1) +-D__UINT_LEAST32_T_TYPE__=unsigned int +-D__UINT_LEAST32_T_MAX__=0xffffffffU +-D__INT32_C_SUFFIX__= +-D__UINT32_C_SUFFIX__=U +-D__INT_LEAST32_SIZE_PREFIX__="" +-D__INT_LEAST64_T_TYPE__=signed long long int +-D__INT_LEAST64_T_MAX__=9223372036854775807LL +-D__INT_LEAST64_T_MIN__=(-__INT_LEAST64_T_MAX__-1) +-D__UINT_LEAST64_T_TYPE__=unsigned long long int +-D__UINT_LEAST64_T_MAX__=0xffffffffffffffffULL +-D__INT64_C_SUFFIX__=LL +-D__UINT64_C_SUFFIX__=ULL +-D__INT_LEAST64_SIZE_PREFIX__="ll" +-D__INT_FAST8_T_TYPE__=signed int +-D__INT_FAST8_T_MAX__=2147483647 +-D__INT_FAST8_T_MIN__=(-__INT_FAST8_T_MAX__-1) +-D__UINT_FAST8_T_TYPE__=unsigned int +-D__UINT_FAST8_T_MAX__=0xffffffffU +-D__INT_FAST8_SIZE_PREFIX__="" +-D__INT_FAST16_T_TYPE__=signed int +-D__INT_FAST16_T_MAX__=2147483647 +-D__INT_FAST16_T_MIN__=(-__INT_FAST16_T_MAX__-1) +-D__UINT_FAST16_T_TYPE__=unsigned int +-D__UINT_FAST16_T_MAX__=0xffffffffU +-D__INT_FAST16_SIZE_PREFIX__="" +-D__INT_FAST32_T_TYPE__=signed int +-D__INT_FAST32_T_MAX__=2147483647 +-D__INT_FAST32_T_MIN__=(-__INT_FAST32_T_MAX__-1) +-D__UINT_FAST32_T_TYPE__=unsigned int +-D__UINT_FAST32_T_MAX__=0xffffffffU +-D__INT_FAST32_SIZE_PREFIX__="" +-D__INT_FAST64_T_TYPE__=signed long long int +-D__INT_FAST64_T_MAX__=9223372036854775807LL +-D__INT_FAST64_T_MIN__=(-__INT_FAST64_T_MAX__-1) +-D__UINT_FAST64_T_TYPE__=unsigned long long int +-D__UINT_FAST64_T_MAX__=0xffffffffffffffffULL +-D__INT_FAST64_SIZE_PREFIX__="ll" +-D__INTMAX_T_TYPE__=signed long long int +-D__INTMAX_T_MAX__=9223372036854775807LL +-D__INTMAX_T_MIN__=(-__INTMAX_T_MAX__-1) +-D__UINTMAX_T_TYPE__=unsigned long long int +-D__UINTMAX_T_MAX__=0xffffffffffffffffULL +-D__INTMAX_C_SUFFIX__=LL +-D__UINTMAX_C_SUFFIX__=ULL +-D__INTMAX_SIZE_PREFIX__="ll" +-D__ATOMIC_BOOL_LOCK_FREE=2 +-D__ATOMIC_CHAR_LOCK_FREE=2 +-D__ATOMIC_CHAR16_T_LOCK_FREE=2 +-D__ATOMIC_CHAR32_T_LOCK_FREE=2 +-D__ATOMIC_WCHAR_T_LOCK_FREE=2 +-D__ATOMIC_SHORT_LOCK_FREE=2 +-D__ATOMIC_INT_LOCK_FREE=2 +-D__ATOMIC_LONG_LOCK_FREE=2 +-D__ATOMIC_LLONG_LOCK_FREE=0 +-D__ATOMIC_POINTER_LOCK_FREE=2 +-D__FLOAT_SIZE__=4 +-D__FLOAT_ALIGN__=4 +-D__DOUBLE_SIZE__=8 +-D__DOUBLE_ALIGN__=8 +-D__LONG_DOUBLE_SIZE__=8 +-D__LONG_DOUBLE_ALIGN__=8 +-D____FP16_SIZE__=2 +-D____FP16_ALIGN__=2 +-D__NAN_HAS_HIGH_MANTISSA_BIT_SET__=0 +-D__SUBNORMAL_FLOATING_POINTS__=1 +-D__SIZE_T_TYPE__=unsigned int +-D__SIZE_T_MAX__=0xffffffffU +-D__PTRDIFF_T_TYPE__=signed int +-D__PTRDIFF_T_MAX__=2147483647 +-D__PTRDIFF_T_MIN__=(-__PTRDIFF_T_MAX__-1) +-D__INTPTR_T_TYPE__=signed int +-D__INTPTR_T_MAX__=2147483647 +-D__INTPTR_T_MIN__=(-__INTPTR_T_MAX__-1) +-D__UINTPTR_T_TYPE__=unsigned int +-D__UINTPTR_T_MAX__=0xffffffffU +-D__INTPTR_SIZE_PREFIX__="" +-D__JMP_BUF_ELEMENT_TYPE__=unsigned long long int +-D__JMP_BUF_NUM_ELEMENTS__=16 +-D__TID__=0xcf60 +-D__VER__=8040001 +-D__BUILD_NUMBER__=212 +-D__IAR_SYSTEMS_ICC__=9 +-D_MAX_ALIGNMENT=8 +-D__LITTLE_ENDIAN__=1 +-D__BOOL_TYPE__=unsigned char +-D__BOOL_SIZE__=1 +-D__WCHAR_T_TYPE__=unsigned int +-D__WCHAR_T_SIZE__=4 +-D__WCHAR_T_MAX__=0xffffffffU +-D__DEF_PTR_MEM__=__data +-D__DEF_PTR_SIZE__=4 +-D__DATA_MEM0__=__data +-D__DATA_MEM0_POINTER_OK__=1 +-D__DATA_MEM0_UNIQUE_POINTER__=1 +-D__DATA_MEM0_VAR_OK__=1 +-D__DATA_MEM0_INTPTR_TYPE__=int +-D__DATA_MEM0_UINTPTR_TYPE__=unsigned int +-D__DATA_MEM0_INTPTR_SIZE_PREFIX__="" +-D__DATA_MEM0_MAX_SIZE__=0x7fffffffU +-D_RSIZE_MAX=0x7fffffffU +-D__DATA_MEM0_HEAP_SEGMENT__="HEAP" +-D__DATA_MEM0_PAGE_SIZE__=0 +-D__DATA_MEM0_HEAP__=0 +-D__CODE_MEM0__=__code +-D__CODE_MEM0_POINTER_OK__=1 +-D__CODE_MEM0_UNIQUE_POINTER__=1 +-D__HEAP_MEM0__=0 +-D__HEAP_DEFAULT_MEM__=0 +-D__HEAPND_MEMORY_LIST1__()= +-D__MULTIPLE_HEAPS__=0 +-D__DEF_HEAP_MEM__=__data +-D__DEF_STACK_MEM_INDEX__=0 +-D__PRAGMA_PACK_ON__=1 +-D__MULTIPLE_INHERITANCE__=1 +-D__AAPCS_VFP__=1 +-D__ARM4TM__=4 +-D__ARM5TM__=5 +-D__ARM5T__=5 +-D__ARM5__=5 +-D__ARM6MEDIA__=6 +-D__ARM6M__=11 +-D__ARM6SM__=12 +-D__ARM6T2__=6 +-D__ARM6__=6 +-D__ARM7EM__=13 +-D__ARM7M__=7 +-D__ARM7__=7 +-D__ARMVFPV1__=1 +-D__ARMVFPV2__=2 +-D__ARMVFPV3_D16__=1 +-D__ARMVFPV3_FP16__=1 +-D__ARMVFPV3__=3 +-D__ARMVFPV4__=4 +-D__ARMVFP_D16__=1 +-D__ARMVFP_FP16__=1 +-D__ARMVFP_SP__=1 +-D__ARMVFP__=__ARMVFPV4__ +-D__ARM_32BIT_STATE=1 +-D__ARM_ACLE=201 +-D__ARM_ALIGN_MAX_PWR=8 +-D__ARM_ALIGN_MAX_STACK_PWR=3 +-D__ARM_ARCH=7 +-D__ARM_ARCH_ISA_THUMB=2 +-D__ARM_ARCH_PROFILE='M' +-D__ARM_FEATURE_CLZ=1 +-D__ARM_FEATURE_COPROC=15 +-D__ARM_FEATURE_DSP=1 +-D__ARM_FEATURE_FMA=1 +-D__ARM_FEATURE_IDIV=1 +-D__ARM_FEATURE_LDREX=7 +-D__ARM_FEATURE_QBIT=1 +-D__ARM_FEATURE_SAT=1 +-D__ARM_FEATURE_SIMD32=1 +-D__ARM_FEATURE_UNALIGNED=1 +-D__ARM_FP=6 +-D__ARM_FP16_ARGS=1 +-D__ARM_FP16_FORMAT_IEEE=1 +-D__ARM_MEDIA__=1 +-D__ARM_PCS_VFP=1 +-D__ARM_PROFILE_M__=1 +-D__ARM_SIZE_MINIMAL_ENUM=1 +-D__ARM_SIZE_WCHAR_T=4 +-D__CODE_SIZE_LIMIT=0 +-D__CORE__=__ARM7EM__ +-D__CPU_MODE__=1 +-D__ICCARM_INTRINSICS_VERSION__=2 +-D__ICCARM__=1 +-D__INTERWORKING__=1 +-D__PLAIN_INT_BITFIELD_IS_SIGNED__=0 +-D__HAS_WEAK__=1 +-D__HAS_PACKED__=1 +-D__HAS_JOINED_TYPES__=1 +-D__HAS_LOCATED_DECLARATION__=1 +-D__HAS_LOCATED_WITH_INIT__=1 +-D__IAR_COMPILERBASE__=656644 +-D__IAR_COMPILERBASE_STR__=10.5.4.1177 +-D__UNICODE_SOURCE_SUPPORTED__=1 +-D__VTABLE_MEM__= +-D__PRAGMA_REDEFINE_EXTNAME=1 +-D__STDC__=1 +-D__STDC_VERSION__=201710L +-D__MEMORY_ORDER_RELAXED__=0 +-D__MEMORY_ORDER_CONSUME__=1 +-D__MEMORY_ORDER_ACQUIRE__=2 +-D__MEMORY_ORDER_RELEASE__=3 +-D__MEMORY_ORDER_ACQ_REL__=4 +-D__MEMORY_ORDER_SEQ_CST__=5 +-D__STDC_UTF_16__=1 +-D__STDC_UTF_32__=1 +-D__STDC_LIB_EXT1__=201112L +-D__STDC_NO_THREADS__=1 +-D__STDC_ISO_10646__=201103L +-D__STDC_HOSTED__=1 +-D__EDG_IA64_ABI=1 +-D__EDG_IA64_ABI_VARIANT_CTORS_AND_DTORS_RETURN_THIS=1 +-D__EDG_IA64_ABI_USE_INT_STATIC_INIT_GUARD=1 +-D__cpp_hex_float=201603L +-D__cpp_unicode_literals=200710L +-D__cpp_static_assert=200410L +-D__EDG__=1 +-D__EDG_VERSION__=500 +-D__EDG_SIZE_TYPE__=unsigned int +-D__EDG_PTRDIFF_TYPE__=int +-D__EDG_DELTA_TYPE=int +-D__EDG_IA64_VTABLE_ENTRY_TYPE=int +-D__EDG_VIRTUAL_FUNCTION_INDEX_TYPE=unsigned short +-D__EDG_LOWER_VARIABLE_LENGTH_ARRAYS=1 +-D__EDG_IA64_ABI_USE_VARIANT_ARRAY_COOKIES=1 +-D__EDG_ABI_COMPATIBILITY_VERSION=9999 +-D__EDG_ABI_CHANGES_FOR_RTTI=1 +-D__EDG_ABI_CHANGES_FOR_ARRAY_NEW_AND_DELETE=1 +-D__EDG_ABI_CHANGES_FOR_PLACEMENT_DELETE=1 +-D__EDG_BSD=0 +-D__EDG_SYSV=0 +-D__EDG_ANSIC=1 +-D__EDG_CPP11_IL_EXTENSIONS_SUPPORTED=1 +-D__EDG_FLOAT80_ENABLING_POSSIBLE=0 +-D__EDG_FLOAT128_ENABLING_POSSIBLE=0 +-D__EDG_INT128_EXTENSIONS_ALLOWED=0 +-DUSE_HAL_DRIVER=1 +-DSTM32F407xx=1 +-DHAL_UART_MODULE_ENABLED=1 +-D_DLIB_CONFIG_FILE_HEADER_NAME="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D_DLIB_CONFIG_FILE_STRING="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D__VERSION__="IAR ANSI C/C++ Compiler V8.40.1.212/W32 for ARM" +-D_VA_DEFINED= +-D_VA_LIST=struct __va_list +-D__ICCARM_OLD_DEFINED_VAARGS__=1 +-D__VA_STACK_ALIGN__=8 +-D__CODE_MEMORY_LIST1__()=__CODE_MEM_HELPER1__(__code, 0 ) +-D__CODE_MEMORY_LIST2__(_P1)=__CODE_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_MEMORY_LIST3__(_P1,_P2)=__CODE_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_MEMORY_LIST1__()=__DATA_MEM_HELPER1__(__data, 0 ) +-D__DATA_MEMORY_LIST2__(_P1)=__DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_MEMORY_LIST3__(_P1,_P2)=__DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__CODE_PTR_MEMORY_LIST1__()=__CODE_PTR_MEM_HELPER1__(__code, 0 ) +-D__CODE_PTR_MEMORY_LIST2__(_P1)=__CODE_PTR_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_PTR_MEMORY_LIST3__(_P1,_P2)=__CODE_PTR_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_PTR_MEMORY_LIST1__()=__DATA_PTR_MEM_HELPER1__(__data, 0 ) +-D__DATA_PTR_MEMORY_LIST2__(_P1)=__DATA_PTR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_PTR_MEMORY_LIST3__(_P1,_P2)=__DATA_PTR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VAR_MEMORY_LIST1__()=__VAR_MEM_HELPER1__(__data, 0 ) +-D__VAR_MEMORY_LIST2__(_P1)=__VAR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__VAR_MEMORY_LIST3__(_P1,_P2)=__VAR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VARD_MEMORY_LIST1__()=__VARD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAP_MEMORY_LIST1__()=__HEAP_MEM_HELPER1__(__data, 0 ) +-D__HEAP_MEMORY_LIST2__(_P1)=__HEAP_MEM_HELPER2__(__data, 0 , _P1 ) +-D__HEAP_MEMORY_LIST3__(_P1,_P2)=__HEAP_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__HVAR_MEMORY_LIST1__()=__HVAR_MEM_HELPER1__(__data, 0 ) +-D__HEAPD_MEMORY_LIST1__()=__HEAPD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAPU_MEMORY_LIST1__()=__HEAPU_MEM_HELPER1__(__data, 0 ) +-D__TOPM_DATA_MEMORY_LIST1__()= +-D__TOPM_DATA_MEMORY_LIST2__(_P1)= +-D__TOPM_DATA_MEMORY_LIST3__(_P1,_P2)= +-D__TOPP_DATA_MEMORY_LIST1__()=__TOPP_DATA_MEM_HELPER1__(__data, 0 ) +-D__TOPP_DATA_MEMORY_LIST2__(_P1)=__TOPP_DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__TOPP_DATA_MEMORY_LIST3__(_P1,_P2)=__TOPP_DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__DATA_MEM0_SIZE_TYPE__=unsigned int +-D__DATA_MEM0_INDEX_TYPE__=signed int +-D__iar_fp2bits32(x)=0 +-D__iar_fp2bits64(x)=0 +-D__iar_fpgethi64(x)=0 +-D__iar_atomic_add_fetch(x,y,z)=0 +-D__iar_atomic_sub_fetch(x,y,z)=0 +-D__iar_atomic_load(x,y)=0ULL +-D__iar_atomic_compare_exchange_weak(a,b,c,d,e)=0 diff --git a/PLSR/PLSR/EWARM/test.1/Obj/gpio.o b/PLSR/PLSR/EWARM/test.1/Obj/gpio.o new file mode 100644 index 0000000..34c11f3 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/gpio.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/main.o b/PLSR/PLSR/EWARM/test.1/Obj/main.o new file mode 100644 index 0000000..6cd5b68 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/main.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.o b/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.o new file mode 100644 index 0000000..ac295a7 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.pbi b/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.pbi new file mode 100644 index 0000000..53e151e Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.pbi differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.pbi.dep b/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.pbi.dep new file mode 100644 index 0000000..5cf4b20 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.pbi.dep @@ -0,0 +1,38 @@ +modbus_crc.pbi: \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\modbus_crc.c \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\modbus_crc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include\stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\core_cm4.h \ + E:\Software\IAR\arm\inc\c\stdint.h E:\Software\IAR\arm\inc\c\ycheck.h \ + E:\Software\IAR\arm\inc\c\yvals.h \ + E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ + E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h \ + E:\Software\IAR\arm\inc\c\DLib_Product.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_version.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_compiler.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\cmsis_iccarm.h \ + E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/mpu_armv7.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\stm32f4xx_hal_conf.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ + E:\Software\IAR\arm\inc\c\stddef.h E:\Software\IAR\arm\inc\c\ysizet.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_gpio.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_exti.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_dma.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_cortex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_flash.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_pwr.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_tim.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_uart.h diff --git a/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.xcl b/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.xcl new file mode 100644 index 0000000..befcfed --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/modbus_crc.xcl @@ -0,0 +1,384 @@ +"e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\modbus_crc.c" +-std=c11 +-ferror-limit=0 +-fbracket-depth=512 +-MD +-MF +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\modbus_crc.pbi.dep +-o +modbus_crc.pbi +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source +-I +E:\Software\IAR\arm\inc +-I +E:\Software\IAR\arm\inc\c +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Device\ST\STM32F4xx\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Source +-D__CHAR_BITS__=8 +-D__CHAR_MAX__=0xff +-D__CHAR_MIN__=0 +-D__CHAR_SIZE__=1 +-D__UNSIGNED_CHAR_MAX__=0xff +-D__SIGNED_CHAR_MAX__=127 +-D__SIGNED_CHAR_MIN__=(-__SIGNED_CHAR_MAX__-1) +-D__CHAR_ALIGN__=1 +-D__SHORT_SIZE__=2 +-D__UNSIGNED_SHORT_MAX__=0xffff +-D__SIGNED_SHORT_MAX__=32767 +-D__SIGNED_SHORT_MIN__=(-__SIGNED_SHORT_MAX__-1) +-D__SHORT_ALIGN__=2 +-D__INT_SIZE__=4 +-D__UNSIGNED_INT_MAX__=0xffffffffU +-D__SIGNED_INT_MAX__=2147483647 +-D__SIGNED_INT_MIN__=(-__SIGNED_INT_MAX__-1) +-D__INT_ALIGN__=4 +-D__LONG_SIZE__=4 +-D__UNSIGNED_LONG_MAX__=0xffffffffUL +-D__SIGNED_LONG_MAX__=2147483647L +-D__SIGNED_LONG_MIN__=(-__SIGNED_LONG_MAX__-1) +-D__LONG_ALIGN__=4 +-D__LONG_LONG_SIZE__=8 +-D__UNSIGNED_LONG_LONG_MAX__=0xffffffffffffffffULL +-D__SIGNED_LONG_LONG_MAX__=9223372036854775807LL +-D__SIGNED_LONG_LONG_MIN__=(-__SIGNED_LONG_LONG_MAX__-1) +-D__LONG_LONG_ALIGN__=8 +-D__INT8_T_TYPE__=signed char +-D__INT8_T_MAX__=127 +-D__INT8_T_MIN__=(-__INT8_T_MAX__-1) +-D__UINT8_T_TYPE__=unsigned char +-D__UINT8_T_MAX__=0xff +-D__INT8_SIZE_PREFIX__="hh" +-D__INT16_T_TYPE__=signed short int +-D__INT16_T_MAX__=32767 +-D__INT16_T_MIN__=(-__INT16_T_MAX__-1) +-D__UINT16_T_TYPE__=unsigned short int +-D__UINT16_T_MAX__=0xffff +-D__INT16_SIZE_PREFIX__="h" +-D__INT32_T_TYPE__=signed int +-D__INT32_T_MAX__=2147483647 +-D__INT32_T_MIN__=(-__INT32_T_MAX__-1) +-D__UINT32_T_TYPE__=unsigned int +-D__UINT32_T_MAX__=0xffffffffU +-D__INT32_SIZE_PREFIX__="" +-D__INT64_T_TYPE__=signed long long int +-D__INT64_T_MAX__=9223372036854775807LL +-D__INT64_T_MIN__=(-__INT64_T_MAX__-1) +-D__UINT64_T_TYPE__=unsigned long long int +-D__UINT64_T_MAX__=0xffffffffffffffffULL +-D__INT64_SIZE_PREFIX__="ll" +-D__INT_LEAST8_T_TYPE__=signed char +-D__INT_LEAST8_T_MAX__=127 +-D__INT_LEAST8_T_MIN__=(-__INT_LEAST8_T_MAX__-1) +-D__UINT_LEAST8_T_TYPE__=unsigned char +-D__UINT_LEAST8_T_MAX__=0xff +-D__INT8_C_SUFFIX__= +-D__UINT8_C_SUFFIX__= +-D__INT_LEAST8_SIZE_PREFIX__="hh" +-D__INT_LEAST16_T_TYPE__=signed short int +-D__INT_LEAST16_T_MAX__=32767 +-D__INT_LEAST16_T_MIN__=(-__INT_LEAST16_T_MAX__-1) +-D__UINT_LEAST16_T_TYPE__=unsigned short int +-D__UINT_LEAST16_T_MAX__=0xffff +-D__INT16_C_SUFFIX__= +-D__UINT16_C_SUFFIX__= +-D__INT_LEAST16_SIZE_PREFIX__="h" +-D__INT_LEAST32_T_TYPE__=signed int +-D__INT_LEAST32_T_MAX__=2147483647 +-D__INT_LEAST32_T_MIN__=(-__INT_LEAST32_T_MAX__-1) +-D__UINT_LEAST32_T_TYPE__=unsigned int +-D__UINT_LEAST32_T_MAX__=0xffffffffU +-D__INT32_C_SUFFIX__= +-D__UINT32_C_SUFFIX__=U +-D__INT_LEAST32_SIZE_PREFIX__="" +-D__INT_LEAST64_T_TYPE__=signed long long int +-D__INT_LEAST64_T_MAX__=9223372036854775807LL +-D__INT_LEAST64_T_MIN__=(-__INT_LEAST64_T_MAX__-1) +-D__UINT_LEAST64_T_TYPE__=unsigned long long int +-D__UINT_LEAST64_T_MAX__=0xffffffffffffffffULL +-D__INT64_C_SUFFIX__=LL +-D__UINT64_C_SUFFIX__=ULL +-D__INT_LEAST64_SIZE_PREFIX__="ll" +-D__INT_FAST8_T_TYPE__=signed int +-D__INT_FAST8_T_MAX__=2147483647 +-D__INT_FAST8_T_MIN__=(-__INT_FAST8_T_MAX__-1) +-D__UINT_FAST8_T_TYPE__=unsigned int +-D__UINT_FAST8_T_MAX__=0xffffffffU +-D__INT_FAST8_SIZE_PREFIX__="" +-D__INT_FAST16_T_TYPE__=signed int +-D__INT_FAST16_T_MAX__=2147483647 +-D__INT_FAST16_T_MIN__=(-__INT_FAST16_T_MAX__-1) +-D__UINT_FAST16_T_TYPE__=unsigned int +-D__UINT_FAST16_T_MAX__=0xffffffffU +-D__INT_FAST16_SIZE_PREFIX__="" +-D__INT_FAST32_T_TYPE__=signed int +-D__INT_FAST32_T_MAX__=2147483647 +-D__INT_FAST32_T_MIN__=(-__INT_FAST32_T_MAX__-1) +-D__UINT_FAST32_T_TYPE__=unsigned int +-D__UINT_FAST32_T_MAX__=0xffffffffU +-D__INT_FAST32_SIZE_PREFIX__="" +-D__INT_FAST64_T_TYPE__=signed long long int +-D__INT_FAST64_T_MAX__=9223372036854775807LL +-D__INT_FAST64_T_MIN__=(-__INT_FAST64_T_MAX__-1) +-D__UINT_FAST64_T_TYPE__=unsigned long long int +-D__UINT_FAST64_T_MAX__=0xffffffffffffffffULL +-D__INT_FAST64_SIZE_PREFIX__="ll" +-D__INTMAX_T_TYPE__=signed long long int +-D__INTMAX_T_MAX__=9223372036854775807LL +-D__INTMAX_T_MIN__=(-__INTMAX_T_MAX__-1) +-D__UINTMAX_T_TYPE__=unsigned long long int +-D__UINTMAX_T_MAX__=0xffffffffffffffffULL +-D__INTMAX_C_SUFFIX__=LL +-D__UINTMAX_C_SUFFIX__=ULL +-D__INTMAX_SIZE_PREFIX__="ll" +-D__ATOMIC_BOOL_LOCK_FREE=2 +-D__ATOMIC_CHAR_LOCK_FREE=2 +-D__ATOMIC_CHAR16_T_LOCK_FREE=2 +-D__ATOMIC_CHAR32_T_LOCK_FREE=2 +-D__ATOMIC_WCHAR_T_LOCK_FREE=2 +-D__ATOMIC_SHORT_LOCK_FREE=2 +-D__ATOMIC_INT_LOCK_FREE=2 +-D__ATOMIC_LONG_LOCK_FREE=2 +-D__ATOMIC_LLONG_LOCK_FREE=0 +-D__ATOMIC_POINTER_LOCK_FREE=2 +-D__FLOAT_SIZE__=4 +-D__FLOAT_ALIGN__=4 +-D__DOUBLE_SIZE__=8 +-D__DOUBLE_ALIGN__=8 +-D__LONG_DOUBLE_SIZE__=8 +-D__LONG_DOUBLE_ALIGN__=8 +-D____FP16_SIZE__=2 +-D____FP16_ALIGN__=2 +-D__NAN_HAS_HIGH_MANTISSA_BIT_SET__=0 +-D__SUBNORMAL_FLOATING_POINTS__=1 +-D__SIZE_T_TYPE__=unsigned int +-D__SIZE_T_MAX__=0xffffffffU +-D__PTRDIFF_T_TYPE__=signed int +-D__PTRDIFF_T_MAX__=2147483647 +-D__PTRDIFF_T_MIN__=(-__PTRDIFF_T_MAX__-1) +-D__INTPTR_T_TYPE__=signed int +-D__INTPTR_T_MAX__=2147483647 +-D__INTPTR_T_MIN__=(-__INTPTR_T_MAX__-1) +-D__UINTPTR_T_TYPE__=unsigned int +-D__UINTPTR_T_MAX__=0xffffffffU +-D__INTPTR_SIZE_PREFIX__="" +-D__JMP_BUF_ELEMENT_TYPE__=unsigned long long int +-D__JMP_BUF_NUM_ELEMENTS__=16 +-D__TID__=0xcf60 +-D__VER__=8040001 +-D__BUILD_NUMBER__=212 +-D__IAR_SYSTEMS_ICC__=9 +-D_MAX_ALIGNMENT=8 +-D__LITTLE_ENDIAN__=1 +-D__BOOL_TYPE__=unsigned char +-D__BOOL_SIZE__=1 +-D__WCHAR_T_TYPE__=unsigned int +-D__WCHAR_T_SIZE__=4 +-D__WCHAR_T_MAX__=0xffffffffU +-D__DEF_PTR_MEM__=__data +-D__DEF_PTR_SIZE__=4 +-D__DATA_MEM0__=__data +-D__DATA_MEM0_POINTER_OK__=1 +-D__DATA_MEM0_UNIQUE_POINTER__=1 +-D__DATA_MEM0_VAR_OK__=1 +-D__DATA_MEM0_INTPTR_TYPE__=int +-D__DATA_MEM0_UINTPTR_TYPE__=unsigned int +-D__DATA_MEM0_INTPTR_SIZE_PREFIX__="" +-D__DATA_MEM0_MAX_SIZE__=0x7fffffffU +-D_RSIZE_MAX=0x7fffffffU +-D__DATA_MEM0_HEAP_SEGMENT__="HEAP" +-D__DATA_MEM0_PAGE_SIZE__=0 +-D__DATA_MEM0_HEAP__=0 +-D__CODE_MEM0__=__code +-D__CODE_MEM0_POINTER_OK__=1 +-D__CODE_MEM0_UNIQUE_POINTER__=1 +-D__HEAP_MEM0__=0 +-D__HEAP_DEFAULT_MEM__=0 +-D__HEAPND_MEMORY_LIST1__()= +-D__MULTIPLE_HEAPS__=0 +-D__DEF_HEAP_MEM__=__data +-D__DEF_STACK_MEM_INDEX__=0 +-D__PRAGMA_PACK_ON__=1 +-D__MULTIPLE_INHERITANCE__=1 +-D__AAPCS_VFP__=1 +-D__ARM4TM__=4 +-D__ARM5TM__=5 +-D__ARM5T__=5 +-D__ARM5__=5 +-D__ARM6MEDIA__=6 +-D__ARM6M__=11 +-D__ARM6SM__=12 +-D__ARM6T2__=6 +-D__ARM6__=6 +-D__ARM7EM__=13 +-D__ARM7M__=7 +-D__ARM7__=7 +-D__ARMVFPV1__=1 +-D__ARMVFPV2__=2 +-D__ARMVFPV3_D16__=1 +-D__ARMVFPV3_FP16__=1 +-D__ARMVFPV3__=3 +-D__ARMVFPV4__=4 +-D__ARMVFP_D16__=1 +-D__ARMVFP_FP16__=1 +-D__ARMVFP_SP__=1 +-D__ARMVFP__=__ARMVFPV4__ +-D__ARM_32BIT_STATE=1 +-D__ARM_ACLE=201 +-D__ARM_ALIGN_MAX_PWR=8 +-D__ARM_ALIGN_MAX_STACK_PWR=3 +-D__ARM_ARCH=7 +-D__ARM_ARCH_ISA_THUMB=2 +-D__ARM_ARCH_PROFILE='M' +-D__ARM_FEATURE_CLZ=1 +-D__ARM_FEATURE_COPROC=15 +-D__ARM_FEATURE_DSP=1 +-D__ARM_FEATURE_FMA=1 +-D__ARM_FEATURE_IDIV=1 +-D__ARM_FEATURE_LDREX=7 +-D__ARM_FEATURE_QBIT=1 +-D__ARM_FEATURE_SAT=1 +-D__ARM_FEATURE_SIMD32=1 +-D__ARM_FEATURE_UNALIGNED=1 +-D__ARM_FP=6 +-D__ARM_FP16_ARGS=1 +-D__ARM_FP16_FORMAT_IEEE=1 +-D__ARM_MEDIA__=1 +-D__ARM_PCS_VFP=1 +-D__ARM_PROFILE_M__=1 +-D__ARM_SIZE_MINIMAL_ENUM=1 +-D__ARM_SIZE_WCHAR_T=4 +-D__CODE_SIZE_LIMIT=0 +-D__CORE__=__ARM7EM__ +-D__CPU_MODE__=1 +-D__ICCARM_INTRINSICS_VERSION__=2 +-D__ICCARM__=1 +-D__INTERWORKING__=1 +-D__PLAIN_INT_BITFIELD_IS_SIGNED__=0 +-D__HAS_WEAK__=1 +-D__HAS_PACKED__=1 +-D__HAS_JOINED_TYPES__=1 +-D__HAS_LOCATED_DECLARATION__=1 +-D__HAS_LOCATED_WITH_INIT__=1 +-D__IAR_COMPILERBASE__=656644 +-D__IAR_COMPILERBASE_STR__=10.5.4.1177 +-D__UNICODE_SOURCE_SUPPORTED__=1 +-D__VTABLE_MEM__= +-D__PRAGMA_REDEFINE_EXTNAME=1 +-D__STDC__=1 +-D__STDC_VERSION__=201710L +-D__MEMORY_ORDER_RELAXED__=0 +-D__MEMORY_ORDER_CONSUME__=1 +-D__MEMORY_ORDER_ACQUIRE__=2 +-D__MEMORY_ORDER_RELEASE__=3 +-D__MEMORY_ORDER_ACQ_REL__=4 +-D__MEMORY_ORDER_SEQ_CST__=5 +-D__STDC_UTF_16__=1 +-D__STDC_UTF_32__=1 +-D__STDC_LIB_EXT1__=201112L +-D__STDC_NO_THREADS__=1 +-D__STDC_ISO_10646__=201103L +-D__STDC_HOSTED__=1 +-D__EDG_IA64_ABI=1 +-D__EDG_IA64_ABI_VARIANT_CTORS_AND_DTORS_RETURN_THIS=1 +-D__EDG_IA64_ABI_USE_INT_STATIC_INIT_GUARD=1 +-D__cpp_hex_float=201603L +-D__cpp_unicode_literals=200710L +-D__cpp_static_assert=200410L +-D__EDG__=1 +-D__EDG_VERSION__=500 +-D__EDG_SIZE_TYPE__=unsigned int +-D__EDG_PTRDIFF_TYPE__=int +-D__EDG_DELTA_TYPE=int +-D__EDG_IA64_VTABLE_ENTRY_TYPE=int +-D__EDG_VIRTUAL_FUNCTION_INDEX_TYPE=unsigned short +-D__EDG_LOWER_VARIABLE_LENGTH_ARRAYS=1 +-D__EDG_IA64_ABI_USE_VARIANT_ARRAY_COOKIES=1 +-D__EDG_ABI_COMPATIBILITY_VERSION=9999 +-D__EDG_ABI_CHANGES_FOR_RTTI=1 +-D__EDG_ABI_CHANGES_FOR_ARRAY_NEW_AND_DELETE=1 +-D__EDG_ABI_CHANGES_FOR_PLACEMENT_DELETE=1 +-D__EDG_BSD=0 +-D__EDG_SYSV=0 +-D__EDG_ANSIC=1 +-D__EDG_CPP11_IL_EXTENSIONS_SUPPORTED=1 +-D__EDG_FLOAT80_ENABLING_POSSIBLE=0 +-D__EDG_FLOAT128_ENABLING_POSSIBLE=0 +-D__EDG_INT128_EXTENSIONS_ALLOWED=0 +-DUSE_HAL_DRIVER=1 +-DSTM32F407xx=1 +-DHAL_UART_MODULE_ENABLED=1 +-D_DLIB_CONFIG_FILE_HEADER_NAME="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D_DLIB_CONFIG_FILE_STRING="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D__VERSION__="IAR ANSI C/C++ Compiler V8.40.1.212/W32 for ARM" +-D_VA_DEFINED= +-D_VA_LIST=struct __va_list +-D__ICCARM_OLD_DEFINED_VAARGS__=1 +-D__VA_STACK_ALIGN__=8 +-D__CODE_MEMORY_LIST1__()=__CODE_MEM_HELPER1__(__code, 0 ) +-D__CODE_MEMORY_LIST2__(_P1)=__CODE_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_MEMORY_LIST3__(_P1,_P2)=__CODE_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_MEMORY_LIST1__()=__DATA_MEM_HELPER1__(__data, 0 ) +-D__DATA_MEMORY_LIST2__(_P1)=__DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_MEMORY_LIST3__(_P1,_P2)=__DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__CODE_PTR_MEMORY_LIST1__()=__CODE_PTR_MEM_HELPER1__(__code, 0 ) +-D__CODE_PTR_MEMORY_LIST2__(_P1)=__CODE_PTR_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_PTR_MEMORY_LIST3__(_P1,_P2)=__CODE_PTR_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_PTR_MEMORY_LIST1__()=__DATA_PTR_MEM_HELPER1__(__data, 0 ) +-D__DATA_PTR_MEMORY_LIST2__(_P1)=__DATA_PTR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_PTR_MEMORY_LIST3__(_P1,_P2)=__DATA_PTR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VAR_MEMORY_LIST1__()=__VAR_MEM_HELPER1__(__data, 0 ) +-D__VAR_MEMORY_LIST2__(_P1)=__VAR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__VAR_MEMORY_LIST3__(_P1,_P2)=__VAR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VARD_MEMORY_LIST1__()=__VARD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAP_MEMORY_LIST1__()=__HEAP_MEM_HELPER1__(__data, 0 ) +-D__HEAP_MEMORY_LIST2__(_P1)=__HEAP_MEM_HELPER2__(__data, 0 , _P1 ) +-D__HEAP_MEMORY_LIST3__(_P1,_P2)=__HEAP_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__HVAR_MEMORY_LIST1__()=__HVAR_MEM_HELPER1__(__data, 0 ) +-D__HEAPD_MEMORY_LIST1__()=__HEAPD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAPU_MEMORY_LIST1__()=__HEAPU_MEM_HELPER1__(__data, 0 ) +-D__TOPM_DATA_MEMORY_LIST1__()= +-D__TOPM_DATA_MEMORY_LIST2__(_P1)= +-D__TOPM_DATA_MEMORY_LIST3__(_P1,_P2)= +-D__TOPP_DATA_MEMORY_LIST1__()=__TOPP_DATA_MEM_HELPER1__(__data, 0 ) +-D__TOPP_DATA_MEMORY_LIST2__(_P1)=__TOPP_DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__TOPP_DATA_MEMORY_LIST3__(_P1,_P2)=__TOPP_DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__DATA_MEM0_SIZE_TYPE__=unsigned int +-D__DATA_MEM0_INDEX_TYPE__=signed int +-D__iar_fp2bits32(x)=0 +-D__iar_fp2bits64(x)=0 +-D__iar_fpgethi64(x)=0 +-D__iar_atomic_add_fetch(x,y,z)=0 +-D__iar_atomic_sub_fetch(x,y,z)=0 +-D__iar_atomic_load(x,y)=0ULL +-D__iar_atomic_compare_exchange_weak(a,b,c,d,e)=0 diff --git a/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.o b/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.o new file mode 100644 index 0000000..ca449eb Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.pbi b/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.pbi new file mode 100644 index 0000000..f255833 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.pbi differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.pbi.dep b/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.pbi.dep new file mode 100644 index 0000000..7f559a3 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.pbi.dep @@ -0,0 +1,57 @@ +modbus_log.pbi: \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\modbus_log.c \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\modbus_log.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/usart.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/main.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\stm32f4xx_hal_conf.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include\stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\core_cm4.h \ + E:\Software\IAR\arm\inc\c\stdint.h E:\Software\IAR\arm\inc\c\ycheck.h \ + E:\Software\IAR\arm\inc\c\yvals.h \ + E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ + E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h \ + E:\Software\IAR\arm\inc\c\DLib_Product.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_version.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_compiler.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\cmsis_iccarm.h \ + E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/mpu_armv7.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ + E:\Software\IAR\arm\inc\c\stddef.h E:\Software\IAR\arm\inc\c\ysizet.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_gpio.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_exti.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_dma.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_cortex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_flash.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_pwr.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_tim.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_uart.h \ + E:\Software\IAR\arm\inc\c\stdio.h E:\Software\IAR\arm\inc\c\string.h \ + E:\Software\IAR\arm\inc\c\DLib_Product_string.h \ + E:\Software\IAR\arm\inc\c\ctype.h E:\Software\IAR\arm\inc\c\stdlib.h \ + E:\Software\IAR\arm\inc\c\DLib_Product_stdlib.h \ + E:\Software\IAR\arm\inc\c\stdarg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_crc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/flash_save.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_log.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/tim.h \ + E:\Software\IAR\arm\inc\c\math.h \ + E:\Software\IAR\arm\inc\c\DLib_float_setup.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports\os_cpu.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source/os_trace.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/gpio.h diff --git a/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.xcl b/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.xcl new file mode 100644 index 0000000..6ef7c53 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/modbus_log.xcl @@ -0,0 +1,384 @@ +"e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\modbus_log.c" +-std=c11 +-ferror-limit=0 +-fbracket-depth=512 +-MD +-MF +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\modbus_log.pbi.dep +-o +modbus_log.pbi +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source +-I +E:\Software\IAR\arm\inc +-I +E:\Software\IAR\arm\inc\c +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Device\ST\STM32F4xx\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Source +-D__CHAR_BITS__=8 +-D__CHAR_MAX__=0xff +-D__CHAR_MIN__=0 +-D__CHAR_SIZE__=1 +-D__UNSIGNED_CHAR_MAX__=0xff +-D__SIGNED_CHAR_MAX__=127 +-D__SIGNED_CHAR_MIN__=(-__SIGNED_CHAR_MAX__-1) +-D__CHAR_ALIGN__=1 +-D__SHORT_SIZE__=2 +-D__UNSIGNED_SHORT_MAX__=0xffff +-D__SIGNED_SHORT_MAX__=32767 +-D__SIGNED_SHORT_MIN__=(-__SIGNED_SHORT_MAX__-1) +-D__SHORT_ALIGN__=2 +-D__INT_SIZE__=4 +-D__UNSIGNED_INT_MAX__=0xffffffffU +-D__SIGNED_INT_MAX__=2147483647 +-D__SIGNED_INT_MIN__=(-__SIGNED_INT_MAX__-1) +-D__INT_ALIGN__=4 +-D__LONG_SIZE__=4 +-D__UNSIGNED_LONG_MAX__=0xffffffffUL +-D__SIGNED_LONG_MAX__=2147483647L +-D__SIGNED_LONG_MIN__=(-__SIGNED_LONG_MAX__-1) +-D__LONG_ALIGN__=4 +-D__LONG_LONG_SIZE__=8 +-D__UNSIGNED_LONG_LONG_MAX__=0xffffffffffffffffULL +-D__SIGNED_LONG_LONG_MAX__=9223372036854775807LL +-D__SIGNED_LONG_LONG_MIN__=(-__SIGNED_LONG_LONG_MAX__-1) +-D__LONG_LONG_ALIGN__=8 +-D__INT8_T_TYPE__=signed char +-D__INT8_T_MAX__=127 +-D__INT8_T_MIN__=(-__INT8_T_MAX__-1) +-D__UINT8_T_TYPE__=unsigned char +-D__UINT8_T_MAX__=0xff +-D__INT8_SIZE_PREFIX__="hh" +-D__INT16_T_TYPE__=signed short int +-D__INT16_T_MAX__=32767 +-D__INT16_T_MIN__=(-__INT16_T_MAX__-1) +-D__UINT16_T_TYPE__=unsigned short int +-D__UINT16_T_MAX__=0xffff +-D__INT16_SIZE_PREFIX__="h" +-D__INT32_T_TYPE__=signed int +-D__INT32_T_MAX__=2147483647 +-D__INT32_T_MIN__=(-__INT32_T_MAX__-1) +-D__UINT32_T_TYPE__=unsigned int +-D__UINT32_T_MAX__=0xffffffffU +-D__INT32_SIZE_PREFIX__="" +-D__INT64_T_TYPE__=signed long long int +-D__INT64_T_MAX__=9223372036854775807LL +-D__INT64_T_MIN__=(-__INT64_T_MAX__-1) +-D__UINT64_T_TYPE__=unsigned long long int +-D__UINT64_T_MAX__=0xffffffffffffffffULL +-D__INT64_SIZE_PREFIX__="ll" +-D__INT_LEAST8_T_TYPE__=signed char +-D__INT_LEAST8_T_MAX__=127 +-D__INT_LEAST8_T_MIN__=(-__INT_LEAST8_T_MAX__-1) +-D__UINT_LEAST8_T_TYPE__=unsigned char +-D__UINT_LEAST8_T_MAX__=0xff +-D__INT8_C_SUFFIX__= +-D__UINT8_C_SUFFIX__= +-D__INT_LEAST8_SIZE_PREFIX__="hh" +-D__INT_LEAST16_T_TYPE__=signed short int +-D__INT_LEAST16_T_MAX__=32767 +-D__INT_LEAST16_T_MIN__=(-__INT_LEAST16_T_MAX__-1) +-D__UINT_LEAST16_T_TYPE__=unsigned short int +-D__UINT_LEAST16_T_MAX__=0xffff +-D__INT16_C_SUFFIX__= +-D__UINT16_C_SUFFIX__= +-D__INT_LEAST16_SIZE_PREFIX__="h" +-D__INT_LEAST32_T_TYPE__=signed int +-D__INT_LEAST32_T_MAX__=2147483647 +-D__INT_LEAST32_T_MIN__=(-__INT_LEAST32_T_MAX__-1) +-D__UINT_LEAST32_T_TYPE__=unsigned int +-D__UINT_LEAST32_T_MAX__=0xffffffffU +-D__INT32_C_SUFFIX__= +-D__UINT32_C_SUFFIX__=U +-D__INT_LEAST32_SIZE_PREFIX__="" +-D__INT_LEAST64_T_TYPE__=signed long long int +-D__INT_LEAST64_T_MAX__=9223372036854775807LL +-D__INT_LEAST64_T_MIN__=(-__INT_LEAST64_T_MAX__-1) +-D__UINT_LEAST64_T_TYPE__=unsigned long long int +-D__UINT_LEAST64_T_MAX__=0xffffffffffffffffULL +-D__INT64_C_SUFFIX__=LL +-D__UINT64_C_SUFFIX__=ULL +-D__INT_LEAST64_SIZE_PREFIX__="ll" +-D__INT_FAST8_T_TYPE__=signed int +-D__INT_FAST8_T_MAX__=2147483647 +-D__INT_FAST8_T_MIN__=(-__INT_FAST8_T_MAX__-1) +-D__UINT_FAST8_T_TYPE__=unsigned int +-D__UINT_FAST8_T_MAX__=0xffffffffU +-D__INT_FAST8_SIZE_PREFIX__="" +-D__INT_FAST16_T_TYPE__=signed int +-D__INT_FAST16_T_MAX__=2147483647 +-D__INT_FAST16_T_MIN__=(-__INT_FAST16_T_MAX__-1) +-D__UINT_FAST16_T_TYPE__=unsigned int +-D__UINT_FAST16_T_MAX__=0xffffffffU +-D__INT_FAST16_SIZE_PREFIX__="" +-D__INT_FAST32_T_TYPE__=signed int +-D__INT_FAST32_T_MAX__=2147483647 +-D__INT_FAST32_T_MIN__=(-__INT_FAST32_T_MAX__-1) +-D__UINT_FAST32_T_TYPE__=unsigned int +-D__UINT_FAST32_T_MAX__=0xffffffffU +-D__INT_FAST32_SIZE_PREFIX__="" +-D__INT_FAST64_T_TYPE__=signed long long int +-D__INT_FAST64_T_MAX__=9223372036854775807LL +-D__INT_FAST64_T_MIN__=(-__INT_FAST64_T_MAX__-1) +-D__UINT_FAST64_T_TYPE__=unsigned long long int +-D__UINT_FAST64_T_MAX__=0xffffffffffffffffULL +-D__INT_FAST64_SIZE_PREFIX__="ll" +-D__INTMAX_T_TYPE__=signed long long int +-D__INTMAX_T_MAX__=9223372036854775807LL +-D__INTMAX_T_MIN__=(-__INTMAX_T_MAX__-1) +-D__UINTMAX_T_TYPE__=unsigned long long int +-D__UINTMAX_T_MAX__=0xffffffffffffffffULL +-D__INTMAX_C_SUFFIX__=LL +-D__UINTMAX_C_SUFFIX__=ULL +-D__INTMAX_SIZE_PREFIX__="ll" +-D__ATOMIC_BOOL_LOCK_FREE=2 +-D__ATOMIC_CHAR_LOCK_FREE=2 +-D__ATOMIC_CHAR16_T_LOCK_FREE=2 +-D__ATOMIC_CHAR32_T_LOCK_FREE=2 +-D__ATOMIC_WCHAR_T_LOCK_FREE=2 +-D__ATOMIC_SHORT_LOCK_FREE=2 +-D__ATOMIC_INT_LOCK_FREE=2 +-D__ATOMIC_LONG_LOCK_FREE=2 +-D__ATOMIC_LLONG_LOCK_FREE=0 +-D__ATOMIC_POINTER_LOCK_FREE=2 +-D__FLOAT_SIZE__=4 +-D__FLOAT_ALIGN__=4 +-D__DOUBLE_SIZE__=8 +-D__DOUBLE_ALIGN__=8 +-D__LONG_DOUBLE_SIZE__=8 +-D__LONG_DOUBLE_ALIGN__=8 +-D____FP16_SIZE__=2 +-D____FP16_ALIGN__=2 +-D__NAN_HAS_HIGH_MANTISSA_BIT_SET__=0 +-D__SUBNORMAL_FLOATING_POINTS__=1 +-D__SIZE_T_TYPE__=unsigned int +-D__SIZE_T_MAX__=0xffffffffU +-D__PTRDIFF_T_TYPE__=signed int +-D__PTRDIFF_T_MAX__=2147483647 +-D__PTRDIFF_T_MIN__=(-__PTRDIFF_T_MAX__-1) +-D__INTPTR_T_TYPE__=signed int +-D__INTPTR_T_MAX__=2147483647 +-D__INTPTR_T_MIN__=(-__INTPTR_T_MAX__-1) +-D__UINTPTR_T_TYPE__=unsigned int +-D__UINTPTR_T_MAX__=0xffffffffU +-D__INTPTR_SIZE_PREFIX__="" +-D__JMP_BUF_ELEMENT_TYPE__=unsigned long long int +-D__JMP_BUF_NUM_ELEMENTS__=16 +-D__TID__=0xcf60 +-D__VER__=8040001 +-D__BUILD_NUMBER__=212 +-D__IAR_SYSTEMS_ICC__=9 +-D_MAX_ALIGNMENT=8 +-D__LITTLE_ENDIAN__=1 +-D__BOOL_TYPE__=unsigned char +-D__BOOL_SIZE__=1 +-D__WCHAR_T_TYPE__=unsigned int +-D__WCHAR_T_SIZE__=4 +-D__WCHAR_T_MAX__=0xffffffffU +-D__DEF_PTR_MEM__=__data +-D__DEF_PTR_SIZE__=4 +-D__DATA_MEM0__=__data +-D__DATA_MEM0_POINTER_OK__=1 +-D__DATA_MEM0_UNIQUE_POINTER__=1 +-D__DATA_MEM0_VAR_OK__=1 +-D__DATA_MEM0_INTPTR_TYPE__=int +-D__DATA_MEM0_UINTPTR_TYPE__=unsigned int +-D__DATA_MEM0_INTPTR_SIZE_PREFIX__="" +-D__DATA_MEM0_MAX_SIZE__=0x7fffffffU +-D_RSIZE_MAX=0x7fffffffU +-D__DATA_MEM0_HEAP_SEGMENT__="HEAP" +-D__DATA_MEM0_PAGE_SIZE__=0 +-D__DATA_MEM0_HEAP__=0 +-D__CODE_MEM0__=__code +-D__CODE_MEM0_POINTER_OK__=1 +-D__CODE_MEM0_UNIQUE_POINTER__=1 +-D__HEAP_MEM0__=0 +-D__HEAP_DEFAULT_MEM__=0 +-D__HEAPND_MEMORY_LIST1__()= +-D__MULTIPLE_HEAPS__=0 +-D__DEF_HEAP_MEM__=__data +-D__DEF_STACK_MEM_INDEX__=0 +-D__PRAGMA_PACK_ON__=1 +-D__MULTIPLE_INHERITANCE__=1 +-D__AAPCS_VFP__=1 +-D__ARM4TM__=4 +-D__ARM5TM__=5 +-D__ARM5T__=5 +-D__ARM5__=5 +-D__ARM6MEDIA__=6 +-D__ARM6M__=11 +-D__ARM6SM__=12 +-D__ARM6T2__=6 +-D__ARM6__=6 +-D__ARM7EM__=13 +-D__ARM7M__=7 +-D__ARM7__=7 +-D__ARMVFPV1__=1 +-D__ARMVFPV2__=2 +-D__ARMVFPV3_D16__=1 +-D__ARMVFPV3_FP16__=1 +-D__ARMVFPV3__=3 +-D__ARMVFPV4__=4 +-D__ARMVFP_D16__=1 +-D__ARMVFP_FP16__=1 +-D__ARMVFP_SP__=1 +-D__ARMVFP__=__ARMVFPV4__ +-D__ARM_32BIT_STATE=1 +-D__ARM_ACLE=201 +-D__ARM_ALIGN_MAX_PWR=8 +-D__ARM_ALIGN_MAX_STACK_PWR=3 +-D__ARM_ARCH=7 +-D__ARM_ARCH_ISA_THUMB=2 +-D__ARM_ARCH_PROFILE='M' +-D__ARM_FEATURE_CLZ=1 +-D__ARM_FEATURE_COPROC=15 +-D__ARM_FEATURE_DSP=1 +-D__ARM_FEATURE_FMA=1 +-D__ARM_FEATURE_IDIV=1 +-D__ARM_FEATURE_LDREX=7 +-D__ARM_FEATURE_QBIT=1 +-D__ARM_FEATURE_SAT=1 +-D__ARM_FEATURE_SIMD32=1 +-D__ARM_FEATURE_UNALIGNED=1 +-D__ARM_FP=6 +-D__ARM_FP16_ARGS=1 +-D__ARM_FP16_FORMAT_IEEE=1 +-D__ARM_MEDIA__=1 +-D__ARM_PCS_VFP=1 +-D__ARM_PROFILE_M__=1 +-D__ARM_SIZE_MINIMAL_ENUM=1 +-D__ARM_SIZE_WCHAR_T=4 +-D__CODE_SIZE_LIMIT=0 +-D__CORE__=__ARM7EM__ +-D__CPU_MODE__=1 +-D__ICCARM_INTRINSICS_VERSION__=2 +-D__ICCARM__=1 +-D__INTERWORKING__=1 +-D__PLAIN_INT_BITFIELD_IS_SIGNED__=0 +-D__HAS_WEAK__=1 +-D__HAS_PACKED__=1 +-D__HAS_JOINED_TYPES__=1 +-D__HAS_LOCATED_DECLARATION__=1 +-D__HAS_LOCATED_WITH_INIT__=1 +-D__IAR_COMPILERBASE__=656644 +-D__IAR_COMPILERBASE_STR__=10.5.4.1177 +-D__UNICODE_SOURCE_SUPPORTED__=1 +-D__VTABLE_MEM__= +-D__PRAGMA_REDEFINE_EXTNAME=1 +-D__STDC__=1 +-D__STDC_VERSION__=201710L +-D__MEMORY_ORDER_RELAXED__=0 +-D__MEMORY_ORDER_CONSUME__=1 +-D__MEMORY_ORDER_ACQUIRE__=2 +-D__MEMORY_ORDER_RELEASE__=3 +-D__MEMORY_ORDER_ACQ_REL__=4 +-D__MEMORY_ORDER_SEQ_CST__=5 +-D__STDC_UTF_16__=1 +-D__STDC_UTF_32__=1 +-D__STDC_LIB_EXT1__=201112L +-D__STDC_NO_THREADS__=1 +-D__STDC_ISO_10646__=201103L +-D__STDC_HOSTED__=1 +-D__EDG_IA64_ABI=1 +-D__EDG_IA64_ABI_VARIANT_CTORS_AND_DTORS_RETURN_THIS=1 +-D__EDG_IA64_ABI_USE_INT_STATIC_INIT_GUARD=1 +-D__cpp_hex_float=201603L +-D__cpp_unicode_literals=200710L +-D__cpp_static_assert=200410L +-D__EDG__=1 +-D__EDG_VERSION__=500 +-D__EDG_SIZE_TYPE__=unsigned int +-D__EDG_PTRDIFF_TYPE__=int +-D__EDG_DELTA_TYPE=int +-D__EDG_IA64_VTABLE_ENTRY_TYPE=int +-D__EDG_VIRTUAL_FUNCTION_INDEX_TYPE=unsigned short +-D__EDG_LOWER_VARIABLE_LENGTH_ARRAYS=1 +-D__EDG_IA64_ABI_USE_VARIANT_ARRAY_COOKIES=1 +-D__EDG_ABI_COMPATIBILITY_VERSION=9999 +-D__EDG_ABI_CHANGES_FOR_RTTI=1 +-D__EDG_ABI_CHANGES_FOR_ARRAY_NEW_AND_DELETE=1 +-D__EDG_ABI_CHANGES_FOR_PLACEMENT_DELETE=1 +-D__EDG_BSD=0 +-D__EDG_SYSV=0 +-D__EDG_ANSIC=1 +-D__EDG_CPP11_IL_EXTENSIONS_SUPPORTED=1 +-D__EDG_FLOAT80_ENABLING_POSSIBLE=0 +-D__EDG_FLOAT128_ENABLING_POSSIBLE=0 +-D__EDG_INT128_EXTENSIONS_ALLOWED=0 +-DUSE_HAL_DRIVER=1 +-DSTM32F407xx=1 +-DHAL_UART_MODULE_ENABLED=1 +-D_DLIB_CONFIG_FILE_HEADER_NAME="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D_DLIB_CONFIG_FILE_STRING="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D__VERSION__="IAR ANSI C/C++ Compiler V8.40.1.212/W32 for ARM" +-D_VA_DEFINED= +-D_VA_LIST=struct __va_list +-D__ICCARM_OLD_DEFINED_VAARGS__=1 +-D__VA_STACK_ALIGN__=8 +-D__CODE_MEMORY_LIST1__()=__CODE_MEM_HELPER1__(__code, 0 ) +-D__CODE_MEMORY_LIST2__(_P1)=__CODE_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_MEMORY_LIST3__(_P1,_P2)=__CODE_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_MEMORY_LIST1__()=__DATA_MEM_HELPER1__(__data, 0 ) +-D__DATA_MEMORY_LIST2__(_P1)=__DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_MEMORY_LIST3__(_P1,_P2)=__DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__CODE_PTR_MEMORY_LIST1__()=__CODE_PTR_MEM_HELPER1__(__code, 0 ) +-D__CODE_PTR_MEMORY_LIST2__(_P1)=__CODE_PTR_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_PTR_MEMORY_LIST3__(_P1,_P2)=__CODE_PTR_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_PTR_MEMORY_LIST1__()=__DATA_PTR_MEM_HELPER1__(__data, 0 ) +-D__DATA_PTR_MEMORY_LIST2__(_P1)=__DATA_PTR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_PTR_MEMORY_LIST3__(_P1,_P2)=__DATA_PTR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VAR_MEMORY_LIST1__()=__VAR_MEM_HELPER1__(__data, 0 ) +-D__VAR_MEMORY_LIST2__(_P1)=__VAR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__VAR_MEMORY_LIST3__(_P1,_P2)=__VAR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VARD_MEMORY_LIST1__()=__VARD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAP_MEMORY_LIST1__()=__HEAP_MEM_HELPER1__(__data, 0 ) +-D__HEAP_MEMORY_LIST2__(_P1)=__HEAP_MEM_HELPER2__(__data, 0 , _P1 ) +-D__HEAP_MEMORY_LIST3__(_P1,_P2)=__HEAP_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__HVAR_MEMORY_LIST1__()=__HVAR_MEM_HELPER1__(__data, 0 ) +-D__HEAPD_MEMORY_LIST1__()=__HEAPD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAPU_MEMORY_LIST1__()=__HEAPU_MEM_HELPER1__(__data, 0 ) +-D__TOPM_DATA_MEMORY_LIST1__()= +-D__TOPM_DATA_MEMORY_LIST2__(_P1)= +-D__TOPM_DATA_MEMORY_LIST3__(_P1,_P2)= +-D__TOPP_DATA_MEMORY_LIST1__()=__TOPP_DATA_MEM_HELPER1__(__data, 0 ) +-D__TOPP_DATA_MEMORY_LIST2__(_P1)=__TOPP_DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__TOPP_DATA_MEMORY_LIST3__(_P1,_P2)=__TOPP_DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__DATA_MEM0_SIZE_TYPE__=unsigned int +-D__DATA_MEM0_INDEX_TYPE__=signed int +-D__iar_fp2bits32(x)=0 +-D__iar_fp2bits64(x)=0 +-D__iar_fpgethi64(x)=0 +-D__iar_atomic_add_fetch(x,y,z)=0 +-D__iar_atomic_sub_fetch(x,y,z)=0 +-D__iar_atomic_load(x,y)=0ULL +-D__iar_atomic_compare_exchange_weak(a,b,c,d,e)=0 diff --git a/PLSR/PLSR/EWARM/test.1/Obj/os_cpu_a.o b/PLSR/PLSR/EWARM/test.1/Obj/os_cpu_a.o new file mode 100644 index 0000000..4f8002b Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/os_cpu_a.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/os_cpu_c.o b/PLSR/PLSR/EWARM/test.1/Obj/os_cpu_c.o new file mode 100644 index 0000000..4028f61 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/os_cpu_c.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/os_dbg.o b/PLSR/PLSR/EWARM/test.1/Obj/os_dbg.o new file mode 100644 index 0000000..df3eda3 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/os_dbg.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/startup_stm32f407xx.o b/PLSR/PLSR/EWARM/test.1/Obj/startup_stm32f407xx.o new file mode 100644 index 0000000..d9d3628 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/startup_stm32f407xx.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal.o new file mode 100644 index 0000000..c62056d Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_cortex.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_cortex.o new file mode 100644 index 0000000..c2082ce Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_cortex.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_crc.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_crc.o new file mode 100644 index 0000000..5375b32 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_crc.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_dma.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_dma.o new file mode 100644 index 0000000..ea18222 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_dma.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_dma_ex.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_dma_ex.o new file mode 100644 index 0000000..5fa73fb Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_dma_ex.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_exti.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_exti.o new file mode 100644 index 0000000..964cba4 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_exti.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash.o new file mode 100644 index 0000000..e5ac25f Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash_ex.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash_ex.o new file mode 100644 index 0000000..1e0d819 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash_ex.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash_ramfunc.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash_ramfunc.o new file mode 100644 index 0000000..3521ae8 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_flash_ramfunc.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_gpio.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_gpio.o new file mode 100644 index 0000000..30fac2b Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_gpio.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_i2c.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_i2c.o new file mode 100644 index 0000000..faec69b Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_i2c.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_i2c_ex.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_i2c_ex.o new file mode 100644 index 0000000..763f9d6 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_i2c_ex.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_msp.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_msp.o new file mode 100644 index 0000000..488ff07 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_msp.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_pwr.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_pwr.o new file mode 100644 index 0000000..b7ab0fc Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_pwr.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_pwr_ex.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_pwr_ex.o new file mode 100644 index 0000000..432005a Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_pwr_ex.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_rcc.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_rcc.o new file mode 100644 index 0000000..3226639 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_rcc.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_rcc_ex.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_rcc_ex.o new file mode 100644 index 0000000..4037893 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_rcc_ex.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_sram.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_sram.o new file mode 100644 index 0000000..44c247c Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_sram.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_tim.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_tim.o new file mode 100644 index 0000000..95dbd6a Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_tim.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_tim_ex.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_tim_ex.o new file mode 100644 index 0000000..6c141af Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_tim_ex.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_timebase_tim.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_timebase_tim.o new file mode 100644 index 0000000..2a08cd9 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_timebase_tim.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_uart.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_uart.o new file mode 100644 index 0000000..2d9cbac Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_uart.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_usart.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_usart.o new file mode 100644 index 0000000..d153fa3 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_usart.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_wwdg.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_wwdg.o new file mode 100644 index 0000000..c32a488 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_hal_wwdg.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_it.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_it.o new file mode 100644 index 0000000..e3650ca Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_it.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_crc.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_crc.o new file mode 100644 index 0000000..7ebdc4f Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_crc.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_dac.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_dac.o new file mode 100644 index 0000000..2205bc3 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_dac.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_dma.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_dma.o new file mode 100644 index 0000000..5355eab Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_dma.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_exti.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_exti.o new file mode 100644 index 0000000..fbc99b0 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_exti.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_gpio.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_gpio.o new file mode 100644 index 0000000..12acd37 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_gpio.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_i2c.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_i2c.o new file mode 100644 index 0000000..9080f50 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_i2c.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_pwr.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_pwr.o new file mode 100644 index 0000000..63e8d4d Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_pwr.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_rcc.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_rcc.o new file mode 100644 index 0000000..465831b Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_rcc.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_rng.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_rng.o new file mode 100644 index 0000000..55a051d Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_rng.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_spi.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_spi.o new file mode 100644 index 0000000..9f23ba1 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_spi.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_tim.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_tim.o new file mode 100644 index 0000000..a1c154b Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_tim.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_usart.o b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_usart.o new file mode 100644 index 0000000..c0667a2 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/stm32f4xx_ll_usart.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/system_stm32f4xx.o b/PLSR/PLSR/EWARM/test.1/Obj/system_stm32f4xx.o new file mode 100644 index 0000000..c8e72ea Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/system_stm32f4xx.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tim.o b/PLSR/PLSR/EWARM/test.1/Obj/tim.o new file mode 100644 index 0000000..e1741a5 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/tim.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tool.o b/PLSR/PLSR/EWARM/test.1/Obj/tool.o new file mode 100644 index 0000000..05af899 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/tool.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tool.pbi b/PLSR/PLSR/EWARM/test.1/Obj/tool.pbi new file mode 100644 index 0000000..32eeebe Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/tool.pbi differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tool.pbi.dep b/PLSR/PLSR/EWARM/test.1/Obj/tool.pbi.dep new file mode 100644 index 0000000..77725b7 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/tool.pbi.dep @@ -0,0 +1,56 @@ +tool.pbi: \ + E:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\tool.c \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\tool.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/tim.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/main.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\stm32f4xx_hal_conf.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include\stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\core_cm4.h \ + E:\Software\IAR\arm\inc\c\stdint.h E:\Software\IAR\arm\inc\c\ycheck.h \ + E:\Software\IAR\arm\inc\c\yvals.h \ + E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ + E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h \ + E:\Software\IAR\arm\inc\c\DLib_Product.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_version.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_compiler.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\cmsis_iccarm.h \ + E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/mpu_armv7.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ + E:\Software\IAR\arm\inc\c\stddef.h E:\Software\IAR\arm\inc\c\ysizet.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_gpio.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_exti.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_dma.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_cortex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_flash.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_pwr.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_tim.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_uart.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/usart.h \ + E:\Software\IAR\arm\inc\c\stdio.h E:\Software\IAR\arm\inc\c\string.h \ + E:\Software\IAR\arm\inc\c\DLib_Product_string.h \ + E:\Software\IAR\arm\inc\c\ctype.h E:\Software\IAR\arm\inc\c\stdlib.h \ + E:\Software\IAR\arm\inc\c\DLib_Product_stdlib.h \ + E:\Software\IAR\arm\inc\c\stdarg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_crc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/flash_save.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_log.h \ + E:\Software\IAR\arm\inc\c\math.h \ + E:\Software\IAR\arm\inc\c\DLib_float_setup.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports\os_cpu.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source/os_trace.h diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tool.xcl b/PLSR/PLSR/EWARM/test.1/Obj/tool.xcl new file mode 100644 index 0000000..24363d7 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/tool.xcl @@ -0,0 +1,384 @@ +"E:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\tool.c" +-std=c11 +-ferror-limit=0 +-fbracket-depth=512 +-MD +-MF +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\tool.pbi.dep +-o +tool.pbi +-I +E:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source +-I +E:\Software\IAR\arm\inc +-I +E:\Software\IAR\arm\inc\c +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Device\ST\STM32F4xx\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Source +-D__CHAR_BITS__=8 +-D__CHAR_MAX__=0xff +-D__CHAR_MIN__=0 +-D__CHAR_SIZE__=1 +-D__UNSIGNED_CHAR_MAX__=0xff +-D__SIGNED_CHAR_MAX__=127 +-D__SIGNED_CHAR_MIN__=(-__SIGNED_CHAR_MAX__-1) +-D__CHAR_ALIGN__=1 +-D__SHORT_SIZE__=2 +-D__UNSIGNED_SHORT_MAX__=0xffff +-D__SIGNED_SHORT_MAX__=32767 +-D__SIGNED_SHORT_MIN__=(-__SIGNED_SHORT_MAX__-1) +-D__SHORT_ALIGN__=2 +-D__INT_SIZE__=4 +-D__UNSIGNED_INT_MAX__=0xffffffffU +-D__SIGNED_INT_MAX__=2147483647 +-D__SIGNED_INT_MIN__=(-__SIGNED_INT_MAX__-1) +-D__INT_ALIGN__=4 +-D__LONG_SIZE__=4 +-D__UNSIGNED_LONG_MAX__=0xffffffffUL +-D__SIGNED_LONG_MAX__=2147483647L +-D__SIGNED_LONG_MIN__=(-__SIGNED_LONG_MAX__-1) +-D__LONG_ALIGN__=4 +-D__LONG_LONG_SIZE__=8 +-D__UNSIGNED_LONG_LONG_MAX__=0xffffffffffffffffULL +-D__SIGNED_LONG_LONG_MAX__=9223372036854775807LL +-D__SIGNED_LONG_LONG_MIN__=(-__SIGNED_LONG_LONG_MAX__-1) +-D__LONG_LONG_ALIGN__=8 +-D__INT8_T_TYPE__=signed char +-D__INT8_T_MAX__=127 +-D__INT8_T_MIN__=(-__INT8_T_MAX__-1) +-D__UINT8_T_TYPE__=unsigned char +-D__UINT8_T_MAX__=0xff +-D__INT8_SIZE_PREFIX__="hh" +-D__INT16_T_TYPE__=signed short int +-D__INT16_T_MAX__=32767 +-D__INT16_T_MIN__=(-__INT16_T_MAX__-1) +-D__UINT16_T_TYPE__=unsigned short int +-D__UINT16_T_MAX__=0xffff +-D__INT16_SIZE_PREFIX__="h" +-D__INT32_T_TYPE__=signed int +-D__INT32_T_MAX__=2147483647 +-D__INT32_T_MIN__=(-__INT32_T_MAX__-1) +-D__UINT32_T_TYPE__=unsigned int +-D__UINT32_T_MAX__=0xffffffffU +-D__INT32_SIZE_PREFIX__="" +-D__INT64_T_TYPE__=signed long long int +-D__INT64_T_MAX__=9223372036854775807LL +-D__INT64_T_MIN__=(-__INT64_T_MAX__-1) +-D__UINT64_T_TYPE__=unsigned long long int +-D__UINT64_T_MAX__=0xffffffffffffffffULL +-D__INT64_SIZE_PREFIX__="ll" +-D__INT_LEAST8_T_TYPE__=signed char +-D__INT_LEAST8_T_MAX__=127 +-D__INT_LEAST8_T_MIN__=(-__INT_LEAST8_T_MAX__-1) +-D__UINT_LEAST8_T_TYPE__=unsigned char +-D__UINT_LEAST8_T_MAX__=0xff +-D__INT8_C_SUFFIX__= +-D__UINT8_C_SUFFIX__= +-D__INT_LEAST8_SIZE_PREFIX__="hh" +-D__INT_LEAST16_T_TYPE__=signed short int +-D__INT_LEAST16_T_MAX__=32767 +-D__INT_LEAST16_T_MIN__=(-__INT_LEAST16_T_MAX__-1) +-D__UINT_LEAST16_T_TYPE__=unsigned short int +-D__UINT_LEAST16_T_MAX__=0xffff +-D__INT16_C_SUFFIX__= +-D__UINT16_C_SUFFIX__= +-D__INT_LEAST16_SIZE_PREFIX__="h" +-D__INT_LEAST32_T_TYPE__=signed int +-D__INT_LEAST32_T_MAX__=2147483647 +-D__INT_LEAST32_T_MIN__=(-__INT_LEAST32_T_MAX__-1) +-D__UINT_LEAST32_T_TYPE__=unsigned int +-D__UINT_LEAST32_T_MAX__=0xffffffffU +-D__INT32_C_SUFFIX__= +-D__UINT32_C_SUFFIX__=U +-D__INT_LEAST32_SIZE_PREFIX__="" +-D__INT_LEAST64_T_TYPE__=signed long long int +-D__INT_LEAST64_T_MAX__=9223372036854775807LL +-D__INT_LEAST64_T_MIN__=(-__INT_LEAST64_T_MAX__-1) +-D__UINT_LEAST64_T_TYPE__=unsigned long long int +-D__UINT_LEAST64_T_MAX__=0xffffffffffffffffULL +-D__INT64_C_SUFFIX__=LL +-D__UINT64_C_SUFFIX__=ULL +-D__INT_LEAST64_SIZE_PREFIX__="ll" +-D__INT_FAST8_T_TYPE__=signed int +-D__INT_FAST8_T_MAX__=2147483647 +-D__INT_FAST8_T_MIN__=(-__INT_FAST8_T_MAX__-1) +-D__UINT_FAST8_T_TYPE__=unsigned int +-D__UINT_FAST8_T_MAX__=0xffffffffU +-D__INT_FAST8_SIZE_PREFIX__="" +-D__INT_FAST16_T_TYPE__=signed int +-D__INT_FAST16_T_MAX__=2147483647 +-D__INT_FAST16_T_MIN__=(-__INT_FAST16_T_MAX__-1) +-D__UINT_FAST16_T_TYPE__=unsigned int +-D__UINT_FAST16_T_MAX__=0xffffffffU +-D__INT_FAST16_SIZE_PREFIX__="" +-D__INT_FAST32_T_TYPE__=signed int +-D__INT_FAST32_T_MAX__=2147483647 +-D__INT_FAST32_T_MIN__=(-__INT_FAST32_T_MAX__-1) +-D__UINT_FAST32_T_TYPE__=unsigned int +-D__UINT_FAST32_T_MAX__=0xffffffffU +-D__INT_FAST32_SIZE_PREFIX__="" +-D__INT_FAST64_T_TYPE__=signed long long int +-D__INT_FAST64_T_MAX__=9223372036854775807LL +-D__INT_FAST64_T_MIN__=(-__INT_FAST64_T_MAX__-1) +-D__UINT_FAST64_T_TYPE__=unsigned long long int +-D__UINT_FAST64_T_MAX__=0xffffffffffffffffULL +-D__INT_FAST64_SIZE_PREFIX__="ll" +-D__INTMAX_T_TYPE__=signed long long int +-D__INTMAX_T_MAX__=9223372036854775807LL +-D__INTMAX_T_MIN__=(-__INTMAX_T_MAX__-1) +-D__UINTMAX_T_TYPE__=unsigned long long int +-D__UINTMAX_T_MAX__=0xffffffffffffffffULL +-D__INTMAX_C_SUFFIX__=LL +-D__UINTMAX_C_SUFFIX__=ULL +-D__INTMAX_SIZE_PREFIX__="ll" +-D__ATOMIC_BOOL_LOCK_FREE=2 +-D__ATOMIC_CHAR_LOCK_FREE=2 +-D__ATOMIC_CHAR16_T_LOCK_FREE=2 +-D__ATOMIC_CHAR32_T_LOCK_FREE=2 +-D__ATOMIC_WCHAR_T_LOCK_FREE=2 +-D__ATOMIC_SHORT_LOCK_FREE=2 +-D__ATOMIC_INT_LOCK_FREE=2 +-D__ATOMIC_LONG_LOCK_FREE=2 +-D__ATOMIC_LLONG_LOCK_FREE=0 +-D__ATOMIC_POINTER_LOCK_FREE=2 +-D__FLOAT_SIZE__=4 +-D__FLOAT_ALIGN__=4 +-D__DOUBLE_SIZE__=8 +-D__DOUBLE_ALIGN__=8 +-D__LONG_DOUBLE_SIZE__=8 +-D__LONG_DOUBLE_ALIGN__=8 +-D____FP16_SIZE__=2 +-D____FP16_ALIGN__=2 +-D__NAN_HAS_HIGH_MANTISSA_BIT_SET__=0 +-D__SUBNORMAL_FLOATING_POINTS__=1 +-D__SIZE_T_TYPE__=unsigned int +-D__SIZE_T_MAX__=0xffffffffU +-D__PTRDIFF_T_TYPE__=signed int +-D__PTRDIFF_T_MAX__=2147483647 +-D__PTRDIFF_T_MIN__=(-__PTRDIFF_T_MAX__-1) +-D__INTPTR_T_TYPE__=signed int +-D__INTPTR_T_MAX__=2147483647 +-D__INTPTR_T_MIN__=(-__INTPTR_T_MAX__-1) +-D__UINTPTR_T_TYPE__=unsigned int +-D__UINTPTR_T_MAX__=0xffffffffU +-D__INTPTR_SIZE_PREFIX__="" +-D__JMP_BUF_ELEMENT_TYPE__=unsigned long long int +-D__JMP_BUF_NUM_ELEMENTS__=16 +-D__TID__=0xcf60 +-D__VER__=8040001 +-D__BUILD_NUMBER__=212 +-D__IAR_SYSTEMS_ICC__=9 +-D_MAX_ALIGNMENT=8 +-D__LITTLE_ENDIAN__=1 +-D__BOOL_TYPE__=unsigned char +-D__BOOL_SIZE__=1 +-D__WCHAR_T_TYPE__=unsigned int +-D__WCHAR_T_SIZE__=4 +-D__WCHAR_T_MAX__=0xffffffffU +-D__DEF_PTR_MEM__=__data +-D__DEF_PTR_SIZE__=4 +-D__DATA_MEM0__=__data +-D__DATA_MEM0_POINTER_OK__=1 +-D__DATA_MEM0_UNIQUE_POINTER__=1 +-D__DATA_MEM0_VAR_OK__=1 +-D__DATA_MEM0_INTPTR_TYPE__=int +-D__DATA_MEM0_UINTPTR_TYPE__=unsigned int +-D__DATA_MEM0_INTPTR_SIZE_PREFIX__="" +-D__DATA_MEM0_MAX_SIZE__=0x7fffffffU +-D_RSIZE_MAX=0x7fffffffU +-D__DATA_MEM0_HEAP_SEGMENT__="HEAP" +-D__DATA_MEM0_PAGE_SIZE__=0 +-D__DATA_MEM0_HEAP__=0 +-D__CODE_MEM0__=__code +-D__CODE_MEM0_POINTER_OK__=1 +-D__CODE_MEM0_UNIQUE_POINTER__=1 +-D__HEAP_MEM0__=0 +-D__HEAP_DEFAULT_MEM__=0 +-D__HEAPND_MEMORY_LIST1__()= +-D__MULTIPLE_HEAPS__=0 +-D__DEF_HEAP_MEM__=__data +-D__DEF_STACK_MEM_INDEX__=0 +-D__PRAGMA_PACK_ON__=1 +-D__MULTIPLE_INHERITANCE__=1 +-D__AAPCS_VFP__=1 +-D__ARM4TM__=4 +-D__ARM5TM__=5 +-D__ARM5T__=5 +-D__ARM5__=5 +-D__ARM6MEDIA__=6 +-D__ARM6M__=11 +-D__ARM6SM__=12 +-D__ARM6T2__=6 +-D__ARM6__=6 +-D__ARM7EM__=13 +-D__ARM7M__=7 +-D__ARM7__=7 +-D__ARMVFPV1__=1 +-D__ARMVFPV2__=2 +-D__ARMVFPV3_D16__=1 +-D__ARMVFPV3_FP16__=1 +-D__ARMVFPV3__=3 +-D__ARMVFPV4__=4 +-D__ARMVFP_D16__=1 +-D__ARMVFP_FP16__=1 +-D__ARMVFP_SP__=1 +-D__ARMVFP__=__ARMVFPV4__ +-D__ARM_32BIT_STATE=1 +-D__ARM_ACLE=201 +-D__ARM_ALIGN_MAX_PWR=8 +-D__ARM_ALIGN_MAX_STACK_PWR=3 +-D__ARM_ARCH=7 +-D__ARM_ARCH_ISA_THUMB=2 +-D__ARM_ARCH_PROFILE='M' +-D__ARM_FEATURE_CLZ=1 +-D__ARM_FEATURE_COPROC=15 +-D__ARM_FEATURE_DSP=1 +-D__ARM_FEATURE_FMA=1 +-D__ARM_FEATURE_IDIV=1 +-D__ARM_FEATURE_LDREX=7 +-D__ARM_FEATURE_QBIT=1 +-D__ARM_FEATURE_SAT=1 +-D__ARM_FEATURE_SIMD32=1 +-D__ARM_FEATURE_UNALIGNED=1 +-D__ARM_FP=6 +-D__ARM_FP16_ARGS=1 +-D__ARM_FP16_FORMAT_IEEE=1 +-D__ARM_MEDIA__=1 +-D__ARM_PCS_VFP=1 +-D__ARM_PROFILE_M__=1 +-D__ARM_SIZE_MINIMAL_ENUM=1 +-D__ARM_SIZE_WCHAR_T=4 +-D__CODE_SIZE_LIMIT=0 +-D__CORE__=__ARM7EM__ +-D__CPU_MODE__=1 +-D__ICCARM_INTRINSICS_VERSION__=2 +-D__ICCARM__=1 +-D__INTERWORKING__=1 +-D__PLAIN_INT_BITFIELD_IS_SIGNED__=0 +-D__HAS_WEAK__=1 +-D__HAS_PACKED__=1 +-D__HAS_JOINED_TYPES__=1 +-D__HAS_LOCATED_DECLARATION__=1 +-D__HAS_LOCATED_WITH_INIT__=1 +-D__IAR_COMPILERBASE__=656644 +-D__IAR_COMPILERBASE_STR__=10.5.4.1177 +-D__UNICODE_SOURCE_SUPPORTED__=1 +-D__VTABLE_MEM__= +-D__PRAGMA_REDEFINE_EXTNAME=1 +-D__STDC__=1 +-D__STDC_VERSION__=201710L +-D__MEMORY_ORDER_RELAXED__=0 +-D__MEMORY_ORDER_CONSUME__=1 +-D__MEMORY_ORDER_ACQUIRE__=2 +-D__MEMORY_ORDER_RELEASE__=3 +-D__MEMORY_ORDER_ACQ_REL__=4 +-D__MEMORY_ORDER_SEQ_CST__=5 +-D__STDC_UTF_16__=1 +-D__STDC_UTF_32__=1 +-D__STDC_LIB_EXT1__=201112L +-D__STDC_NO_THREADS__=1 +-D__STDC_ISO_10646__=201103L +-D__STDC_HOSTED__=1 +-D__EDG_IA64_ABI=1 +-D__EDG_IA64_ABI_VARIANT_CTORS_AND_DTORS_RETURN_THIS=1 +-D__EDG_IA64_ABI_USE_INT_STATIC_INIT_GUARD=1 +-D__cpp_hex_float=201603L +-D__cpp_unicode_literals=200710L +-D__cpp_static_assert=200410L +-D__EDG__=1 +-D__EDG_VERSION__=500 +-D__EDG_SIZE_TYPE__=unsigned int +-D__EDG_PTRDIFF_TYPE__=int +-D__EDG_DELTA_TYPE=int +-D__EDG_IA64_VTABLE_ENTRY_TYPE=int +-D__EDG_VIRTUAL_FUNCTION_INDEX_TYPE=unsigned short +-D__EDG_LOWER_VARIABLE_LENGTH_ARRAYS=1 +-D__EDG_IA64_ABI_USE_VARIANT_ARRAY_COOKIES=1 +-D__EDG_ABI_COMPATIBILITY_VERSION=9999 +-D__EDG_ABI_CHANGES_FOR_RTTI=1 +-D__EDG_ABI_CHANGES_FOR_ARRAY_NEW_AND_DELETE=1 +-D__EDG_ABI_CHANGES_FOR_PLACEMENT_DELETE=1 +-D__EDG_BSD=0 +-D__EDG_SYSV=0 +-D__EDG_ANSIC=1 +-D__EDG_CPP11_IL_EXTENSIONS_SUPPORTED=1 +-D__EDG_FLOAT80_ENABLING_POSSIBLE=0 +-D__EDG_FLOAT128_ENABLING_POSSIBLE=0 +-D__EDG_INT128_EXTENSIONS_ALLOWED=0 +-DUSE_HAL_DRIVER=1 +-DSTM32F407xx=1 +-DHAL_UART_MODULE_ENABLED=1 +-D_DLIB_CONFIG_FILE_HEADER_NAME="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D_DLIB_CONFIG_FILE_STRING="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D__VERSION__="IAR ANSI C/C++ Compiler V8.40.1.212/W32 for ARM" +-D_VA_DEFINED= +-D_VA_LIST=struct __va_list +-D__ICCARM_OLD_DEFINED_VAARGS__=1 +-D__VA_STACK_ALIGN__=8 +-D__CODE_MEMORY_LIST1__()=__CODE_MEM_HELPER1__(__code, 0 ) +-D__CODE_MEMORY_LIST2__(_P1)=__CODE_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_MEMORY_LIST3__(_P1,_P2)=__CODE_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_MEMORY_LIST1__()=__DATA_MEM_HELPER1__(__data, 0 ) +-D__DATA_MEMORY_LIST2__(_P1)=__DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_MEMORY_LIST3__(_P1,_P2)=__DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__CODE_PTR_MEMORY_LIST1__()=__CODE_PTR_MEM_HELPER1__(__code, 0 ) +-D__CODE_PTR_MEMORY_LIST2__(_P1)=__CODE_PTR_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_PTR_MEMORY_LIST3__(_P1,_P2)=__CODE_PTR_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_PTR_MEMORY_LIST1__()=__DATA_PTR_MEM_HELPER1__(__data, 0 ) +-D__DATA_PTR_MEMORY_LIST2__(_P1)=__DATA_PTR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_PTR_MEMORY_LIST3__(_P1,_P2)=__DATA_PTR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VAR_MEMORY_LIST1__()=__VAR_MEM_HELPER1__(__data, 0 ) +-D__VAR_MEMORY_LIST2__(_P1)=__VAR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__VAR_MEMORY_LIST3__(_P1,_P2)=__VAR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VARD_MEMORY_LIST1__()=__VARD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAP_MEMORY_LIST1__()=__HEAP_MEM_HELPER1__(__data, 0 ) +-D__HEAP_MEMORY_LIST2__(_P1)=__HEAP_MEM_HELPER2__(__data, 0 , _P1 ) +-D__HEAP_MEMORY_LIST3__(_P1,_P2)=__HEAP_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__HVAR_MEMORY_LIST1__()=__HVAR_MEM_HELPER1__(__data, 0 ) +-D__HEAPD_MEMORY_LIST1__()=__HEAPD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAPU_MEMORY_LIST1__()=__HEAPU_MEM_HELPER1__(__data, 0 ) +-D__TOPM_DATA_MEMORY_LIST1__()= +-D__TOPM_DATA_MEMORY_LIST2__(_P1)= +-D__TOPM_DATA_MEMORY_LIST3__(_P1,_P2)= +-D__TOPP_DATA_MEMORY_LIST1__()=__TOPP_DATA_MEM_HELPER1__(__data, 0 ) +-D__TOPP_DATA_MEMORY_LIST2__(_P1)=__TOPP_DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__TOPP_DATA_MEMORY_LIST3__(_P1,_P2)=__TOPP_DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__DATA_MEM0_SIZE_TYPE__=unsigned int +-D__DATA_MEM0_INDEX_TYPE__=signed int +-D__iar_fp2bits32(x)=0 +-D__iar_fp2bits64(x)=0 +-D__iar_fpgethi64(x)=0 +-D__iar_atomic_add_fetch(x,y,z)=0 +-D__iar_atomic_sub_fetch(x,y,z)=0 +-D__iar_atomic_load(x,y)=0ULL +-D__iar_atomic_compare_exchange_weak(a,b,c,d,e)=0 diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tools.o b/PLSR/PLSR/EWARM/test.1/Obj/tools.o new file mode 100644 index 0000000..be5f252 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/tools.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tools.pbi b/PLSR/PLSR/EWARM/test.1/Obj/tools.pbi new file mode 100644 index 0000000..80e323f Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/tools.pbi differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tools.pbi.dep b/PLSR/PLSR/EWARM/test.1/Obj/tools.pbi.dep new file mode 100644 index 0000000..e1dcaeb --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/tools.pbi.dep @@ -0,0 +1,57 @@ +tools.pbi: \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\tools.c \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\tim.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/main.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\stm32f4xx_hal_conf.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include\stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\core_cm4.h \ + E:\Software\IAR\arm\inc\c\stdint.h E:\Software\IAR\arm\inc\c\ycheck.h \ + E:\Software\IAR\arm\inc\c\yvals.h \ + E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ + E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h \ + E:\Software\IAR\arm\inc\c\DLib_Product.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_version.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_compiler.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\cmsis_iccarm.h \ + E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/mpu_armv7.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ + E:\Software\IAR\arm\inc\c\stddef.h E:\Software\IAR\arm\inc\c\ysizet.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_gpio.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_exti.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_dma.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_cortex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_flash.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_pwr.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_tim.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_uart.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/usart.h \ + E:\Software\IAR\arm\inc\c\stdio.h E:\Software\IAR\arm\inc\c\string.h \ + E:\Software\IAR\arm\inc\c\DLib_Product_string.h \ + E:\Software\IAR\arm\inc\c\ctype.h E:\Software\IAR\arm\inc\c\stdlib.h \ + E:\Software\IAR\arm\inc\c\DLib_Product_stdlib.h \ + E:\Software\IAR\arm\inc\c\stdarg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_crc.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/flash_save.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_log.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/tim.h \ + E:\Software\IAR\arm\inc\c\math.h \ + E:\Software\IAR\arm\inc\c\DLib_float_setup.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports\os_cpu.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source/os_trace.h \ + e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/gpio.h diff --git a/PLSR/PLSR/EWARM/test.1/Obj/tools.xcl b/PLSR/PLSR/EWARM/test.1/Obj/tools.xcl new file mode 100644 index 0000000..950d903 --- /dev/null +++ b/PLSR/PLSR/EWARM/test.1/Obj/tools.xcl @@ -0,0 +1,384 @@ +"e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\tools.c" +-std=c11 +-ferror-limit=0 +-fbracket-depth=512 +-MD +-MF +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\test.1\Obj\tools.pbi.dep +-o +tools.pbi +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source +-I +E:\Software\IAR\arm\inc +-I +E:\Software\IAR\arm\inc\c +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Device\ST\STM32F4xx\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Drivers\CMSIS\Include +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Config +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports +-I +e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Source +-D__CHAR_BITS__=8 +-D__CHAR_MAX__=0xff +-D__CHAR_MIN__=0 +-D__CHAR_SIZE__=1 +-D__UNSIGNED_CHAR_MAX__=0xff +-D__SIGNED_CHAR_MAX__=127 +-D__SIGNED_CHAR_MIN__=(-__SIGNED_CHAR_MAX__-1) +-D__CHAR_ALIGN__=1 +-D__SHORT_SIZE__=2 +-D__UNSIGNED_SHORT_MAX__=0xffff +-D__SIGNED_SHORT_MAX__=32767 +-D__SIGNED_SHORT_MIN__=(-__SIGNED_SHORT_MAX__-1) +-D__SHORT_ALIGN__=2 +-D__INT_SIZE__=4 +-D__UNSIGNED_INT_MAX__=0xffffffffU +-D__SIGNED_INT_MAX__=2147483647 +-D__SIGNED_INT_MIN__=(-__SIGNED_INT_MAX__-1) +-D__INT_ALIGN__=4 +-D__LONG_SIZE__=4 +-D__UNSIGNED_LONG_MAX__=0xffffffffUL +-D__SIGNED_LONG_MAX__=2147483647L +-D__SIGNED_LONG_MIN__=(-__SIGNED_LONG_MAX__-1) +-D__LONG_ALIGN__=4 +-D__LONG_LONG_SIZE__=8 +-D__UNSIGNED_LONG_LONG_MAX__=0xffffffffffffffffULL +-D__SIGNED_LONG_LONG_MAX__=9223372036854775807LL +-D__SIGNED_LONG_LONG_MIN__=(-__SIGNED_LONG_LONG_MAX__-1) +-D__LONG_LONG_ALIGN__=8 +-D__INT8_T_TYPE__=signed char +-D__INT8_T_MAX__=127 +-D__INT8_T_MIN__=(-__INT8_T_MAX__-1) +-D__UINT8_T_TYPE__=unsigned char +-D__UINT8_T_MAX__=0xff +-D__INT8_SIZE_PREFIX__="hh" +-D__INT16_T_TYPE__=signed short int +-D__INT16_T_MAX__=32767 +-D__INT16_T_MIN__=(-__INT16_T_MAX__-1) +-D__UINT16_T_TYPE__=unsigned short int +-D__UINT16_T_MAX__=0xffff +-D__INT16_SIZE_PREFIX__="h" +-D__INT32_T_TYPE__=signed int +-D__INT32_T_MAX__=2147483647 +-D__INT32_T_MIN__=(-__INT32_T_MAX__-1) +-D__UINT32_T_TYPE__=unsigned int +-D__UINT32_T_MAX__=0xffffffffU +-D__INT32_SIZE_PREFIX__="" +-D__INT64_T_TYPE__=signed long long int +-D__INT64_T_MAX__=9223372036854775807LL +-D__INT64_T_MIN__=(-__INT64_T_MAX__-1) +-D__UINT64_T_TYPE__=unsigned long long int +-D__UINT64_T_MAX__=0xffffffffffffffffULL +-D__INT64_SIZE_PREFIX__="ll" +-D__INT_LEAST8_T_TYPE__=signed char +-D__INT_LEAST8_T_MAX__=127 +-D__INT_LEAST8_T_MIN__=(-__INT_LEAST8_T_MAX__-1) +-D__UINT_LEAST8_T_TYPE__=unsigned char +-D__UINT_LEAST8_T_MAX__=0xff +-D__INT8_C_SUFFIX__= +-D__UINT8_C_SUFFIX__= +-D__INT_LEAST8_SIZE_PREFIX__="hh" +-D__INT_LEAST16_T_TYPE__=signed short int +-D__INT_LEAST16_T_MAX__=32767 +-D__INT_LEAST16_T_MIN__=(-__INT_LEAST16_T_MAX__-1) +-D__UINT_LEAST16_T_TYPE__=unsigned short int +-D__UINT_LEAST16_T_MAX__=0xffff +-D__INT16_C_SUFFIX__= +-D__UINT16_C_SUFFIX__= +-D__INT_LEAST16_SIZE_PREFIX__="h" +-D__INT_LEAST32_T_TYPE__=signed int +-D__INT_LEAST32_T_MAX__=2147483647 +-D__INT_LEAST32_T_MIN__=(-__INT_LEAST32_T_MAX__-1) +-D__UINT_LEAST32_T_TYPE__=unsigned int +-D__UINT_LEAST32_T_MAX__=0xffffffffU +-D__INT32_C_SUFFIX__= +-D__UINT32_C_SUFFIX__=U +-D__INT_LEAST32_SIZE_PREFIX__="" +-D__INT_LEAST64_T_TYPE__=signed long long int +-D__INT_LEAST64_T_MAX__=9223372036854775807LL +-D__INT_LEAST64_T_MIN__=(-__INT_LEAST64_T_MAX__-1) +-D__UINT_LEAST64_T_TYPE__=unsigned long long int +-D__UINT_LEAST64_T_MAX__=0xffffffffffffffffULL +-D__INT64_C_SUFFIX__=LL +-D__UINT64_C_SUFFIX__=ULL +-D__INT_LEAST64_SIZE_PREFIX__="ll" +-D__INT_FAST8_T_TYPE__=signed int +-D__INT_FAST8_T_MAX__=2147483647 +-D__INT_FAST8_T_MIN__=(-__INT_FAST8_T_MAX__-1) +-D__UINT_FAST8_T_TYPE__=unsigned int +-D__UINT_FAST8_T_MAX__=0xffffffffU +-D__INT_FAST8_SIZE_PREFIX__="" +-D__INT_FAST16_T_TYPE__=signed int +-D__INT_FAST16_T_MAX__=2147483647 +-D__INT_FAST16_T_MIN__=(-__INT_FAST16_T_MAX__-1) +-D__UINT_FAST16_T_TYPE__=unsigned int +-D__UINT_FAST16_T_MAX__=0xffffffffU +-D__INT_FAST16_SIZE_PREFIX__="" +-D__INT_FAST32_T_TYPE__=signed int +-D__INT_FAST32_T_MAX__=2147483647 +-D__INT_FAST32_T_MIN__=(-__INT_FAST32_T_MAX__-1) +-D__UINT_FAST32_T_TYPE__=unsigned int +-D__UINT_FAST32_T_MAX__=0xffffffffU +-D__INT_FAST32_SIZE_PREFIX__="" +-D__INT_FAST64_T_TYPE__=signed long long int +-D__INT_FAST64_T_MAX__=9223372036854775807LL +-D__INT_FAST64_T_MIN__=(-__INT_FAST64_T_MAX__-1) +-D__UINT_FAST64_T_TYPE__=unsigned long long int +-D__UINT_FAST64_T_MAX__=0xffffffffffffffffULL +-D__INT_FAST64_SIZE_PREFIX__="ll" +-D__INTMAX_T_TYPE__=signed long long int +-D__INTMAX_T_MAX__=9223372036854775807LL +-D__INTMAX_T_MIN__=(-__INTMAX_T_MAX__-1) +-D__UINTMAX_T_TYPE__=unsigned long long int +-D__UINTMAX_T_MAX__=0xffffffffffffffffULL +-D__INTMAX_C_SUFFIX__=LL +-D__UINTMAX_C_SUFFIX__=ULL +-D__INTMAX_SIZE_PREFIX__="ll" +-D__ATOMIC_BOOL_LOCK_FREE=2 +-D__ATOMIC_CHAR_LOCK_FREE=2 +-D__ATOMIC_CHAR16_T_LOCK_FREE=2 +-D__ATOMIC_CHAR32_T_LOCK_FREE=2 +-D__ATOMIC_WCHAR_T_LOCK_FREE=2 +-D__ATOMIC_SHORT_LOCK_FREE=2 +-D__ATOMIC_INT_LOCK_FREE=2 +-D__ATOMIC_LONG_LOCK_FREE=2 +-D__ATOMIC_LLONG_LOCK_FREE=0 +-D__ATOMIC_POINTER_LOCK_FREE=2 +-D__FLOAT_SIZE__=4 +-D__FLOAT_ALIGN__=4 +-D__DOUBLE_SIZE__=8 +-D__DOUBLE_ALIGN__=8 +-D__LONG_DOUBLE_SIZE__=8 +-D__LONG_DOUBLE_ALIGN__=8 +-D____FP16_SIZE__=2 +-D____FP16_ALIGN__=2 +-D__NAN_HAS_HIGH_MANTISSA_BIT_SET__=0 +-D__SUBNORMAL_FLOATING_POINTS__=1 +-D__SIZE_T_TYPE__=unsigned int +-D__SIZE_T_MAX__=0xffffffffU +-D__PTRDIFF_T_TYPE__=signed int +-D__PTRDIFF_T_MAX__=2147483647 +-D__PTRDIFF_T_MIN__=(-__PTRDIFF_T_MAX__-1) +-D__INTPTR_T_TYPE__=signed int +-D__INTPTR_T_MAX__=2147483647 +-D__INTPTR_T_MIN__=(-__INTPTR_T_MAX__-1) +-D__UINTPTR_T_TYPE__=unsigned int +-D__UINTPTR_T_MAX__=0xffffffffU +-D__INTPTR_SIZE_PREFIX__="" +-D__JMP_BUF_ELEMENT_TYPE__=unsigned long long int +-D__JMP_BUF_NUM_ELEMENTS__=16 +-D__TID__=0xcf60 +-D__VER__=8040001 +-D__BUILD_NUMBER__=212 +-D__IAR_SYSTEMS_ICC__=9 +-D_MAX_ALIGNMENT=8 +-D__LITTLE_ENDIAN__=1 +-D__BOOL_TYPE__=unsigned char +-D__BOOL_SIZE__=1 +-D__WCHAR_T_TYPE__=unsigned int +-D__WCHAR_T_SIZE__=4 +-D__WCHAR_T_MAX__=0xffffffffU +-D__DEF_PTR_MEM__=__data +-D__DEF_PTR_SIZE__=4 +-D__DATA_MEM0__=__data +-D__DATA_MEM0_POINTER_OK__=1 +-D__DATA_MEM0_UNIQUE_POINTER__=1 +-D__DATA_MEM0_VAR_OK__=1 +-D__DATA_MEM0_INTPTR_TYPE__=int +-D__DATA_MEM0_UINTPTR_TYPE__=unsigned int +-D__DATA_MEM0_INTPTR_SIZE_PREFIX__="" +-D__DATA_MEM0_MAX_SIZE__=0x7fffffffU +-D_RSIZE_MAX=0x7fffffffU +-D__DATA_MEM0_HEAP_SEGMENT__="HEAP" +-D__DATA_MEM0_PAGE_SIZE__=0 +-D__DATA_MEM0_HEAP__=0 +-D__CODE_MEM0__=__code +-D__CODE_MEM0_POINTER_OK__=1 +-D__CODE_MEM0_UNIQUE_POINTER__=1 +-D__HEAP_MEM0__=0 +-D__HEAP_DEFAULT_MEM__=0 +-D__HEAPND_MEMORY_LIST1__()= +-D__MULTIPLE_HEAPS__=0 +-D__DEF_HEAP_MEM__=__data +-D__DEF_STACK_MEM_INDEX__=0 +-D__PRAGMA_PACK_ON__=1 +-D__MULTIPLE_INHERITANCE__=1 +-D__AAPCS_VFP__=1 +-D__ARM4TM__=4 +-D__ARM5TM__=5 +-D__ARM5T__=5 +-D__ARM5__=5 +-D__ARM6MEDIA__=6 +-D__ARM6M__=11 +-D__ARM6SM__=12 +-D__ARM6T2__=6 +-D__ARM6__=6 +-D__ARM7EM__=13 +-D__ARM7M__=7 +-D__ARM7__=7 +-D__ARMVFPV1__=1 +-D__ARMVFPV2__=2 +-D__ARMVFPV3_D16__=1 +-D__ARMVFPV3_FP16__=1 +-D__ARMVFPV3__=3 +-D__ARMVFPV4__=4 +-D__ARMVFP_D16__=1 +-D__ARMVFP_FP16__=1 +-D__ARMVFP_SP__=1 +-D__ARMVFP__=__ARMVFPV4__ +-D__ARM_32BIT_STATE=1 +-D__ARM_ACLE=201 +-D__ARM_ALIGN_MAX_PWR=8 +-D__ARM_ALIGN_MAX_STACK_PWR=3 +-D__ARM_ARCH=7 +-D__ARM_ARCH_ISA_THUMB=2 +-D__ARM_ARCH_PROFILE='M' +-D__ARM_FEATURE_CLZ=1 +-D__ARM_FEATURE_COPROC=15 +-D__ARM_FEATURE_DSP=1 +-D__ARM_FEATURE_FMA=1 +-D__ARM_FEATURE_IDIV=1 +-D__ARM_FEATURE_LDREX=7 +-D__ARM_FEATURE_QBIT=1 +-D__ARM_FEATURE_SAT=1 +-D__ARM_FEATURE_SIMD32=1 +-D__ARM_FEATURE_UNALIGNED=1 +-D__ARM_FP=6 +-D__ARM_FP16_ARGS=1 +-D__ARM_FP16_FORMAT_IEEE=1 +-D__ARM_MEDIA__=1 +-D__ARM_PCS_VFP=1 +-D__ARM_PROFILE_M__=1 +-D__ARM_SIZE_MINIMAL_ENUM=1 +-D__ARM_SIZE_WCHAR_T=4 +-D__CODE_SIZE_LIMIT=0 +-D__CORE__=__ARM7EM__ +-D__CPU_MODE__=1 +-D__ICCARM_INTRINSICS_VERSION__=2 +-D__ICCARM__=1 +-D__INTERWORKING__=1 +-D__PLAIN_INT_BITFIELD_IS_SIGNED__=0 +-D__HAS_WEAK__=1 +-D__HAS_PACKED__=1 +-D__HAS_JOINED_TYPES__=1 +-D__HAS_LOCATED_DECLARATION__=1 +-D__HAS_LOCATED_WITH_INIT__=1 +-D__IAR_COMPILERBASE__=656644 +-D__IAR_COMPILERBASE_STR__=10.5.4.1177 +-D__UNICODE_SOURCE_SUPPORTED__=1 +-D__VTABLE_MEM__= +-D__PRAGMA_REDEFINE_EXTNAME=1 +-D__STDC__=1 +-D__STDC_VERSION__=201710L +-D__MEMORY_ORDER_RELAXED__=0 +-D__MEMORY_ORDER_CONSUME__=1 +-D__MEMORY_ORDER_ACQUIRE__=2 +-D__MEMORY_ORDER_RELEASE__=3 +-D__MEMORY_ORDER_ACQ_REL__=4 +-D__MEMORY_ORDER_SEQ_CST__=5 +-D__STDC_UTF_16__=1 +-D__STDC_UTF_32__=1 +-D__STDC_LIB_EXT1__=201112L +-D__STDC_NO_THREADS__=1 +-D__STDC_ISO_10646__=201103L +-D__STDC_HOSTED__=1 +-D__EDG_IA64_ABI=1 +-D__EDG_IA64_ABI_VARIANT_CTORS_AND_DTORS_RETURN_THIS=1 +-D__EDG_IA64_ABI_USE_INT_STATIC_INIT_GUARD=1 +-D__cpp_hex_float=201603L +-D__cpp_unicode_literals=200710L +-D__cpp_static_assert=200410L +-D__EDG__=1 +-D__EDG_VERSION__=500 +-D__EDG_SIZE_TYPE__=unsigned int +-D__EDG_PTRDIFF_TYPE__=int +-D__EDG_DELTA_TYPE=int +-D__EDG_IA64_VTABLE_ENTRY_TYPE=int +-D__EDG_VIRTUAL_FUNCTION_INDEX_TYPE=unsigned short +-D__EDG_LOWER_VARIABLE_LENGTH_ARRAYS=1 +-D__EDG_IA64_ABI_USE_VARIANT_ARRAY_COOKIES=1 +-D__EDG_ABI_COMPATIBILITY_VERSION=9999 +-D__EDG_ABI_CHANGES_FOR_RTTI=1 +-D__EDG_ABI_CHANGES_FOR_ARRAY_NEW_AND_DELETE=1 +-D__EDG_ABI_CHANGES_FOR_PLACEMENT_DELETE=1 +-D__EDG_BSD=0 +-D__EDG_SYSV=0 +-D__EDG_ANSIC=1 +-D__EDG_CPP11_IL_EXTENSIONS_SUPPORTED=1 +-D__EDG_FLOAT80_ENABLING_POSSIBLE=0 +-D__EDG_FLOAT128_ENABLING_POSSIBLE=0 +-D__EDG_INT128_EXTENSIONS_ALLOWED=0 +-DUSE_HAL_DRIVER=1 +-DSTM32F407xx=1 +-DHAL_UART_MODULE_ENABLED=1 +-D_DLIB_CONFIG_FILE_HEADER_NAME="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D_DLIB_CONFIG_FILE_STRING="E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h" +-D__VERSION__="IAR ANSI C/C++ Compiler V8.40.1.212/W32 for ARM" +-D_VA_DEFINED= +-D_VA_LIST=struct __va_list +-D__ICCARM_OLD_DEFINED_VAARGS__=1 +-D__VA_STACK_ALIGN__=8 +-D__CODE_MEMORY_LIST1__()=__CODE_MEM_HELPER1__(__code, 0 ) +-D__CODE_MEMORY_LIST2__(_P1)=__CODE_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_MEMORY_LIST3__(_P1,_P2)=__CODE_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_MEMORY_LIST1__()=__DATA_MEM_HELPER1__(__data, 0 ) +-D__DATA_MEMORY_LIST2__(_P1)=__DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_MEMORY_LIST3__(_P1,_P2)=__DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__CODE_PTR_MEMORY_LIST1__()=__CODE_PTR_MEM_HELPER1__(__code, 0 ) +-D__CODE_PTR_MEMORY_LIST2__(_P1)=__CODE_PTR_MEM_HELPER2__(__code, 0 , _P1 ) +-D__CODE_PTR_MEMORY_LIST3__(_P1,_P2)=__CODE_PTR_MEM_HELPER3__(__code, 0 , _P1 , _P2 ) +-D__DATA_PTR_MEMORY_LIST1__()=__DATA_PTR_MEM_HELPER1__(__data, 0 ) +-D__DATA_PTR_MEMORY_LIST2__(_P1)=__DATA_PTR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__DATA_PTR_MEMORY_LIST3__(_P1,_P2)=__DATA_PTR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VAR_MEMORY_LIST1__()=__VAR_MEM_HELPER1__(__data, 0 ) +-D__VAR_MEMORY_LIST2__(_P1)=__VAR_MEM_HELPER2__(__data, 0 , _P1 ) +-D__VAR_MEMORY_LIST3__(_P1,_P2)=__VAR_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__VARD_MEMORY_LIST1__()=__VARD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAP_MEMORY_LIST1__()=__HEAP_MEM_HELPER1__(__data, 0 ) +-D__HEAP_MEMORY_LIST2__(_P1)=__HEAP_MEM_HELPER2__(__data, 0 , _P1 ) +-D__HEAP_MEMORY_LIST3__(_P1,_P2)=__HEAP_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__HVAR_MEMORY_LIST1__()=__HVAR_MEM_HELPER1__(__data, 0 ) +-D__HEAPD_MEMORY_LIST1__()=__HEAPD_MEM_HELPER1__(__data, 0, _ ) +-D__HEAPU_MEMORY_LIST1__()=__HEAPU_MEM_HELPER1__(__data, 0 ) +-D__TOPM_DATA_MEMORY_LIST1__()= +-D__TOPM_DATA_MEMORY_LIST2__(_P1)= +-D__TOPM_DATA_MEMORY_LIST3__(_P1,_P2)= +-D__TOPP_DATA_MEMORY_LIST1__()=__TOPP_DATA_MEM_HELPER1__(__data, 0 ) +-D__TOPP_DATA_MEMORY_LIST2__(_P1)=__TOPP_DATA_MEM_HELPER2__(__data, 0 , _P1 ) +-D__TOPP_DATA_MEMORY_LIST3__(_P1,_P2)=__TOPP_DATA_MEM_HELPER3__(__data, 0 , _P1 , _P2 ) +-D__DATA_MEM0_SIZE_TYPE__=unsigned int +-D__DATA_MEM0_INDEX_TYPE__=signed int +-D__iar_fp2bits32(x)=0 +-D__iar_fp2bits64(x)=0 +-D__iar_fpgethi64(x)=0 +-D__iar_atomic_add_fetch(x,y,z)=0 +-D__iar_atomic_sub_fetch(x,y,z)=0 +-D__iar_atomic_load(x,y)=0ULL +-D__iar_atomic_compare_exchange_weak(a,b,c,d,e)=0 diff --git a/PLSR/PLSR/EWARM/test.1/Obj/ucos_ii.o b/PLSR/PLSR/EWARM/test.1/Obj/ucos_ii.o new file mode 100644 index 0000000..d5ea9e7 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/ucos_ii.o differ diff --git a/PLSR/PLSR/EWARM/test.1/Obj/usart.o b/PLSR/PLSR/EWARM/test.1/Obj/usart.o new file mode 100644 index 0000000..8015cb3 Binary files /dev/null and b/PLSR/PLSR/EWARM/test.1/Obj/usart.o differ diff --git a/~$参数表-初版.xlsx b/~$参数表-初版.xlsx new file mode 100644 index 0000000..2e332a9 Binary files /dev/null and b/~$参数表-初版.xlsx differ diff --git a/~$测试大纲.doc b/~$测试大纲.doc new file mode 100644 index 0000000..abc7c6b Binary files /dev/null and b/~$测试大纲.doc differ diff --git a/~WRL0004.tmp b/~WRL0004.tmp new file mode 100644 index 0000000..4dcfb50 Binary files /dev/null and b/~WRL0004.tmp differ diff --git a/~WRL0005.tmp b/~WRL0005.tmp new file mode 100644 index 0000000..a77b1f4 Binary files /dev/null and b/~WRL0005.tmp differ diff --git a/测试大纲.docx b/测试大纲.docx new file mode 100644 index 0000000..99b862e Binary files /dev/null and b/测试大纲.docx differ