forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-12 f03cf3ae7a36954e64fc014e6bb7afd20c5a5247
增加IAP功能,准备测试上位机升级
57 files modified
2 files added
44821 ■■■■ changed files
CORE/main.c 3 ●●●●● patch | view | raw | blame | history
CORE/main.h 2 ●●● patch | view | raw | blame | history
Function/BOOTLOADER_IAP/bootloader_iap.c 57 ●●●● patch | view | raw | blame | history
Function/BOOTLOADER_IAP/bootloader_iap.h 2 ●●● patch | view | raw | blame | history
Function/E2P/EEPROM.c 95 ●●●● patch | view | raw | blame | history
Function/E2P/EEPROM.h 29 ●●●● patch | view | raw | blame | history
Function/OTHER_FUN/other_fun.c 10 ●●●●● patch | view | raw | blame | history
Function/STORAGE/sizhu_event_record.c 77 ●●●●● patch | view | raw | blame | history
Function/STORAGE/sizhu_event_record.h 30 ●●●● patch | view | raw | blame | history
Function/STORAGE/sizhu_history_record.c 37 ●●●●● patch | view | raw | blame | history
Function/STORAGE/sizhu_history_record.h 2 ●●● patch | view | raw | blame | history
Function/STORAGE/system_flash_mem_manage.c 7 ●●●● patch | view | raw | blame | history
Function/STORAGE/system_flash_mem_manage.h 2 ●●● patch | view | raw | blame | history
Function/STORAGE/system_mem_para.c 11 ●●●●● patch | view | raw | blame | history
Function/UPPER_COMPUTER/upper_com.c 11 ●●●●● patch | view | raw | blame | history
Function/UPPER_COMPUTER/upper_com_data_pro.c 43 ●●●●● patch | view | raw | blame | history
Function/UPPER_COMPUTER/upper_com_data_pro.h 5 ●●●● patch | view | raw | blame | history
Function/UPPER_COMPUTER/upper_com_iap_pro.c 154 ●●●●● patch | view | raw | blame | history
Function/UPPER_COMPUTER/upper_com_iap_pro.h 58 ●●●●● patch | view | raw | blame | history
Function/VALVE/valve_control.c 2 ●●● patch | view | raw | blame | history
HARDWARE/SPI/SPI.h 1 ●●●● patch | view | raw | blame | history
KEIL_MDKARM/JLinkLog.txt 25541 ●●●● patch | view | raw | blame | history
KEIL_MDKARM/Listings/SZV103_FM33A0_MainSystem.map 3783 ●●●● patch | view | raw | blame | history
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.axf patch | view | raw | blame | history
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.build_log.htm 2 ●●● patch | view | raw | blame | history
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.hex 9643 ●●●● patch | view | raw | blame | history
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.htm 4770 ●●●● patch | view | raw | blame | history
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.lnp 3 ●●●● patch | view | raw | blame | history
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem_SZV103_FM33A0_MainSystem.dep 84 ●●●● patch | view | raw | blame | history
KEIL_MDKARM/Objects/bootloader_iap.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/bootloader_iap.d 2 ●●●●● patch | view | raw | blame | history
KEIL_MDKARM/Objects/bootloader_iap.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/flash.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/flash.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/main.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/main.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/sizhu_alarm_record.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/sizhu_alarm_record.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/sizhu_event_record.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/sizhu_event_record.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/sizhu_history_record.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/sizhu_history_record.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/system_flash_mem_manage.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/system_flash_mem_manage.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/system_fm33a0xxev.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/system_fm33a0xxev.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/system_mem_para.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/system_mem_para.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/upper_com.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/upper_com.d 2 ●●●●● patch | view | raw | blame | history
KEIL_MDKARM/Objects/upper_com.o patch | view | raw | blame | history
KEIL_MDKARM/Objects/upper_com_data_pro.crf patch | view | raw | blame | history
KEIL_MDKARM/Objects/upper_com_data_pro.o patch | view | raw | blame | history
KEIL_MDKARM/RTE/Device/FM33A06XEV/system_FM33A0XXEV.c 2 ●●● patch | view | raw | blame | history
KEIL_MDKARM/SZV103_FM33A0_MainSystem.uvguix.PC 207 ●●●●● patch | view | raw | blame | history
KEIL_MDKARM/SZV103_FM33A0_MainSystem.uvoptx 120 ●●●●● patch | view | raw | blame | history
KEIL_MDKARM/SZV103_FM33A0_MainSystem.uvprojx 11 ●●●● patch | view | raw | blame | history
README.md 10 ●●●●● patch | view | raw | blame | history
Soft/system_run_fun.c 3 ●●●● patch | view | raw | blame | history
CORE/main.c
@@ -139,6 +139,9 @@
        if(lcd_wake_up_flag_g == SET)  //ΪÁ˰´¼üÏÔʾûÓÐÑÓ³Ù¸Ð
            lcdDisplayPro();
        
        /*ÉÏλ»ú½»»¥,º¬¼æÈÝmodbus±»²É¼¯´¦Àí*/
        upperComPro();
    }
}
CORE/main.h
@@ -82,7 +82,7 @@
  //  <o> ÉÏλ»ú¼¤»îʱ¼ä
  //  <i>ÉÏλ»úµÇ¼ºóµÄ¿ÉÓÃʱ¼ä£»Óн»»¥ÔòÖØÖÃʱ¼ä¡¢·¶Î§ ~Ãë
  //     < - >
#define UC_ACTIVE_TIME 60
#define UC_ACTIVE_TIME 3600
  //     <o> Ô¶´«Ð­ÒéÃÜÔ¿°æ±¾
Function/BOOTLOADER_IAP/bootloader_iap.c
@@ -1,9 +1,9 @@
#include "bootloader_iap.h"
#include "flash.h"
#include "off_chip_flash.h"
#include "delay.h"
#include "mbcrc1.h"
#include "system_general_para.h"
BOOTLOAD_PARA_STRUCT __attribute__ ((aligned (4))) bootload_para_g = {0};
@@ -19,19 +19,29 @@
    if(temp_boot_para.boot_update_flag == IAP_UPDATA_FLAG)
    {
        /*¹Ø±ÕÈ«²¿ÍâÉè*/
        delay_ms(500);
        __disable_irq();//¹Ø±ÕÈ«¾ÖÖжÏʹÄÜ
        delay_ms(100);
        RMU->SOFTRST = 0x5C5CAABB; //Èí¼þ¸´Î»
    }
}
uint8_t lzma_flag = 0; // ÕâÊÇΪÁ˱£ÁôÔ­À´µÄÁ÷³ÌÉèÖõģ¬
    // Óë´ËÓйصĽÔΪ´ËÓÃ;£¬²»ÐèÒª±£ÁôÔ­Á÷³ÌʱӦɾȥ
ErrorStatus_STM32 IapBootload_WriteCfgFlash_Handler(void)
{
    if(Flash_AppPageErase(BOOTLOAD_CONFIG_START_ADDRESS) != SUCCESS_0)
        return ERROR_1;
    if(lzma_flag == 0)
    {
    bootload_para_g.boot_update_flag = IAP_UPDATA_FLAG;//УÑéͨ¹ý±êÖ¾
    }else if(lzma_flag == 1){
        bootload_para_g.boot_update_flag = 0x87654321;
        // lzma_flag = 0;
    }else{
        bootload_para_g.boot_update_flag = 0x55555555; // Õâ¸ö²»Ó¦¸Ã·¢Éú
    }
    //дÈëflash    
    if(Flash_App_Write_String(BOOTLOAD_CONFIG_START_ADDRESS,(uint32_t *)&bootload_para_g, BOOTLOAT_PARA_SIZE)!= SUCCESS_0)//½«cfgдÈëflash
        return ERROR_1;
@@ -51,7 +61,7 @@
    ErrorStatus_STM32 result = SUCCESS_0; 
    uint16_t crc_16 = 0;
    uint32_t crc_crc = 0,offset = 0;
    if(data_len != (BOOTLOAT_PARA_SIZE - sizeof(bootload_para_g.boot_update_flag)))
    if(data_len != (BOOTLOAT_PARA_SIZE - SIZEOF_OF(BOOTLOAD_PARA_STRUCT,boot_update_flag)))
        return (ErrorStatus_STM32)1;
    memcpy(&bootload_para_g,pInputData,data_len);
    /*ÑéÖ¤CFGµÄÕýÈ·ÐÔ*/
@@ -75,23 +85,29 @@
    if (crc_crc != bootload_para_g.user_prog_crc16)//ÓëÅäÖÃÎļþÖеijÌÐòCRCÖµ½øÐбȶÔ
        return (ErrorStatus_STM32)8;
    
    E2P_PWR_ON;
    OUT_FLASH_CTRL_ENABLE;
    //²Á³ý¸ø¶¨ÆðʼµØÖ·ºÍ´óСµÄFlash£¬Æ¬Íâflash
    for (offset = 0; offset < bootload_para_g.diff_prog_length; offset += OUT_FLASH_SECTOR_SIZE)
    {
        Flash_OUT_Erase_Sector((BOOTLOAD_DIFF_PROG_START_ADDRESS + offset)/OUT_FLASH_SECTOR_SIZE);
        IWDT_Clr();             //Çåϵͳ¿´ÃŹ·    
    }
    E2P_PWR_OFF;
    OUT_FLASH_CTRL_DISABLE;
    //²Á³ý²îÒì³ÌÐòmap±í£¬Æ¬ÄÚflash
    for (offset = 0; offset < bootload_para_g.diff_prog_map_length; offset += BOOTLOAD_PAGE_SIZE)
    {
        if(Flash_AppPageErase(BOOTLOAD_DIFF_SECTOR_MAP_ADDRESS + offset)!= SUCCESS_0)
            return (ErrorStatus_STM32)9;
    }    
    lzma_flag = 1;
    return result;
}
ErrorStatus_STM32 BootLoader_IapConfigLzmaSetHander(uint8_t *pInputData,uint32_t data_len)
{
    lzma_flag = 1;
    return BootLoader_IapConfigSetHander(pInputData, data_len);
}
/******************************************
 * func: BootLoader_IapDiffDataHandler
 * desc: ÕýʽдÈë²îÒìÊý¾Ý£¨´æ´¢ÔÚÆ¬ÍâFlash£©
@@ -103,22 +119,29 @@
 *****************************************/
ErrorStatus_STM32 BootLoader_IapDiffDataHandler(uint8_t *pInputData,uint32_t offset_addr,uint16_t data_len)
{
    int i=0;
    ErrorStatus_STM32 result = SUCCESS_0; 
    //дÈ볤¶ÈÄÜ´óÓÚÒ³³¤¶È,±¾À´Ó¦¸Ã²»ÄÜ´óÓÚOUT_FLASH_SECTOR_SIZE£¬µ«ÊÇÈÔÈ»²ÉÓÃÒ»´Î×î´ó512×Ö½Ú£¨Æ¬ÄÚµÄÒ»¸öÒ³Çø´óС£©
    if(data_len > BOOTLOAD_PAGE_SIZE)    
        return (ErrorStatus_STM32)2;
    
    if(offset_addr>=BOOTLOAD_DIFF_PROG_LEN_MAX)//´úÂë²»Äܳ¬¹ý×î´ó³¤¶È
    if(offset_addr>=BOOTLOAD_DIFF_PROG_LEN_MAX || offset_addr + data_len >= BOOTLOAD_DIFF_PROG_LEN_MAX)//´úÂë²»Äܳ¬¹ý×î´ó³¤¶È
        return (ErrorStatus_STM32)3;
    
    if((bootload_para_g.diff_prog_start_addr+offset_addr)<BOOTLOAD_DIFF_PROG_START_ADDRESS)
        return (ErrorStatus_STM32)4;    
    if((bootload_para_g.diff_prog_start_addr+offset_addr+data_len)>(BOOTLOAD_DIFF_PROG_START_ADDRESS+BOOTLOAD_DIFF_PROG_LEN_MAX))
        return (ErrorStatus_STM32)5;
    //дÈëflash    
    memcpy(FlashWrBuf, pInputData, data_len);//¶Á³öÊý¾Ý 4×Ö½Ú¶ÔÆë
    //дÈëÆ¬Íâflash
    E2P_PWR_ON;
    OUT_FLASH_CTRL_ENABLE;
    if(offset_addr == 0){ // ÉÏλ»úËÆºõ´«ÊäµÄ»¹ÊÇ512×Ö½Ú¶ÔÆëµÄ³¤¶È£¬µÈ´ýÉÏλ»úÐÞ¸´ºó¿Éɾ
        bootload_para_g.diff_prog_length = 0;
    }
    Out_Flash_MultipleWrite(FlashWrBuf,BOOTLOAD_DIFF_PROG_START_ADDRESS + offset_addr,data_len);
    E2P_PWR_OFF;
    OUT_FLASH_CTRL_DISABLE;
    bootload_para_g.diff_prog_length += data_len;
    return result;
}
@@ -136,9 +159,13 @@
    uint32_t crc16 = 0xFFFF;
    uint16_t page_len = 0,i = 0,j = 0;
    uint8_t dataBuf[512],map;
    E2P_PWR_ON;
    OUT_FLASH_CTRL_ENABLE;
    if(lzma_flag == 0)
    {
    //²îÒì³ÌÐòУÑé,´ÓÍâÆ¬flash¶ÁÈ¡,Ôݶ¨Ò»´Î¶ÁÈ¡512×Ö½Ú£¬Ó¦¸Ã¿ÉÒÔ¶ÁÈ¡¸ü¶à
    page_len = bootload_para_g.diff_prog_length >> 9;//  µÈ¼ÛÓÚ / 512
        OUT_FLASH_CTRL_ENABLE;
    for(i = 0; i < page_len;i++)
    {
        Out_Flash_MultipleRead(dataBuf,BOOTLOAD_DIFF_PROG_START_ADDRESS + i * BOOTLOAD_PAGE_SIZE,BOOTLOAD_PAGE_SIZE);
@@ -146,9 +173,11 @@
        //flash¶Á512×Ö½Ú´ó¸Å10ms
        IWDT_Clr();             //Çåϵͳ¿´ÃŹ·    
    }
        OUT_FLASH_CTRL_DISABLE;
    crc16 |= (crc16 << 16);
    if(crc16 != bootload_para_g.diff_prog_crc16)//ÓëÅäÖÃÎļþÖеijÌÐòCRCÖµ½øÐбȶÔ
        result = (ErrorStatus_STM32)1;
    }
    //²îÒì³ÌÐòmap±íУÑé    
    crc16 = usMBCRC16(0xFFFF,(unsigned char*)BOOTLOAD_DIFF_SECTOR_MAP_ADDRESS, bootload_para_g.diff_prog_map_length);
    crc16 |= (crc16 << 16);
@@ -160,9 +189,12 @@
    if (crc16 != bootload_para_g.user_prog_crc16)//ÓëÅäÖÃÎļþÖеijÌÐòCRCÖµ½øÐбȶÔ
        result = (ErrorStatus_STM32)3;
    IWDT_Clr();             //Çåϵͳ¿´ÃŹ·    
    if(lzma_flag == 0)
    {
    //гÌÐòУÑé
    crc16 =0xFFFF; 
    page_len = bootload_para_g.new_prog_length/BOOTLOAD_PAGE_SIZE;
        OUT_FLASH_CTRL_ENABLE;
    for(i = 0;i < page_len;i++)
    {
        map = *(unsigned char *)(BOOTLOAD_DIFF_SECTOR_MAP_ADDRESS+i/8);
@@ -176,12 +208,14 @@
            crc16 = usMBCRC16(crc16, (unsigned char *)(BOOTLOAD_USER_PROG_START_ADDRESS+i*BOOTLOAD_PAGE_SIZE), BOOTLOAD_PAGE_SIZE);    
        IWDT_Clr();             //Çåϵͳ¿´ÃŹ·        
    }
        OUT_FLASH_CTRL_DISABLE;
    crc16 |= (crc16 << 16);
    if (crc16 != bootload_para_g.new_prog_crc16)//ÓëÅäÖÃÎļþÖеijÌÐòCRCÖµ½øÐбȶÔ
        result = (ErrorStatus_STM32)4;
    }
    if(IapBootload_WriteCfgFlash_Handler() != SUCCESS_0)
        result = (ErrorStatus_STM32)5;
    E2P_PWR_OFF;
    OUT_FLASH_CTRL_DISABLE;
    return result;
}
@@ -207,4 +241,3 @@
        return (ErrorStatus_STM32)5;
    return result;
}
Function/BOOTLOADER_IAP/bootloader_iap.h
@@ -55,7 +55,7 @@
ErrorStatus_STM32 BootLoader_IapDiffDataHandler(uint8_t *pInputData,uint32_t offset_addr,uint16_t data_len);
ErrorStatus_STM32 BootLoader_IapConfigCheckHandler(void);
ErrorStatus_STM32 BootLoader_IapDiffMapSetHandler(uint8_t *pInputData,uint32_t offset_addr,uint16_t data_len);
ErrorStatus_STM32 BootLoader_IapConfigLzmaSetHander(uint8_t *pInputData,uint32_t data_len);
void OTA_UpdataResetHandler(void);
Function/E2P/EEPROM.c
@@ -30,6 +30,19 @@
    OutputIO(EEPROM_CS1_PORT,EEPROM_CS1_PIN,OUT_PUSHPULL);
    OutputIO(EEPROM_CS2_PORT,EEPROM_CS2_PIN,OUT_PUSHPULL);
    CloseIO(EEPROM_WP_PORT,EEPROM_WP_PIN);
    E2P_PWR_ON;
    EEPROM_CS_HIGH;
    EEPROM_CS_2_HIGH;
}
void E2P_Ctrl_Gpio_sleep(void)
{
    CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý
    OutputIO(EEPROM_PWR_PORT,EEPROM_PWR_PIN,OUT_PUSHPULL);
    OutputIO(EEPROM_CS1_PORT,EEPROM_CS1_PIN,OUT_PUSHPULL);
    OutputIO(EEPROM_CS2_PORT,EEPROM_CS2_PIN,OUT_PUSHPULL);
    CloseIO(EEPROM_WP_PORT,EEPROM_WP_PIN);
    E2P_PWR_OFF;
    EEPROM_CS_LOW;
    EEPROM_CS_2_LOW;
@@ -473,29 +486,11 @@
    FM_ReadWriteByte((uint8_t)(addr));
    for(index = 0;index < bytes;index ++)
      data[index] = FM_ReadWriteByte(0xff);
    EEPROM_CS_DISABLE;
    EEPROM_Wait_Busy();    
    EEPROM_CS_DISABLE;
}
uint8_t  EEPROM_MultipleWrite_CS_2(uint8_t *data,u32 addr,u16 bytes)
{
    Fram_cs_flag = EEPROM_CS_2;
    EEPROM_MultipleWrite(data,  addr,  bytes) ;
    Fram_cs_flag = EEPROM_CS_1;
    return 0;
}
uint8_t  EEPROM_MultipleRead_CS_2(uint8_t *data,u32 addr,u16 bytes)
{
    Fram_cs_flag = EEPROM_CS_2;
    EEPROM_MultipleRead(data,  addr,  bytes) ;
    Fram_cs_flag = EEPROM_CS_1;
    return 0;
}
@@ -504,75 +499,37 @@
    uint8_t   u8_temp;
    uint8_t   u8_temp_s[256];
    uint8_t   u8_temp_s2[256];
    uint8_t    buf_test[10] = {0};
    static uint16_t    WR_times = 0;
    static uint16_t    WR_times_suc = 0;
    
    u16   count_i = 0;
    
    E2P_Ctrl_Gpio_Init();
    SPI3_Init();
    delay_ms(10);
    delay_ms(100);
    EEPROM_CTRL_ENABLE;
    delay_ms(100);
    EEPROM_MultipleRead(buf_test, 256, 10);
    
    EEPROM_MultipleRead(u8_temp_s2,1000,1);  //?²âÊÔ·¢ÏÖµÚÒ»´Î²Ù×÷ÎÞЧ£¬ÐèÒªÏȲÙ×÷Ò»´Î£¬ºóÐø²Ù×÷¶¼ÊÇÕý³£µÄ¡£
    
    for(count_i=0;count_i<256;count_i++)
    {
        u8_temp_s[count_i] = count_i;
        u8_temp_s2[count_i] = 0;
    }
    EEPROM_CTRL_DISABLE;
    
    delay_ms(10);
    memset(buf_test,0,sizeof(buf_test));
    
    
    EEPROM_CTRL_ENABLE;
    EEPROM_MultipleWrite(u8_temp_s,0,256);
    delay_ms(1);
    EEPROM_MultipleRead(u8_temp_s2,0,256);
    delay_ms(10);
    EEPROM_MultipleRead(buf_test, 256, 10);
    
    EEPROM_CTRL_DISABLE;
    
    
    E2P_Ctrl_Gpio_Init();
    SPI3_Init();
    for(count_i=0;count_i<256;count_i++)
    {
        u8_temp_s[count_i] = 255-count_i;
        u8_temp_s2[count_i] = 0;
    while(1){
        IWDT_Clr();
        delay_ms(500);
    }
    EEPROM_CTRL_ENABLE;
    EEPROM_MultipleWrite(u8_temp_s,0,256);
    delay_ms(1);
    EEPROM_MultipleRead(u8_temp_s2,0,256);
    EEPROM_CTRL_DISABLE;
    E2P_Ctrl_Gpio_Init();
    SPI3_Init();
    for(count_i=0;count_i<256;count_i++)
    {
        u8_temp_s[count_i] = 8;
        u8_temp_s2[count_i] = 0;
    }
    EEPROM_CTRL_ENABLE;
    EEPROM_MultipleWrite(u8_temp_s,0,256);
    delay_ms(1);
    EEPROM_MultipleRead(u8_temp_s2,0,256);
    EEPROM_CTRL_DISABLE;
    
//    while(WR_times <1024)
//    {
Function/E2P/EEPROM.h
@@ -88,11 +88,11 @@
//¿ØÖÆÊ¹ÄÜ£¬E2P²Ù×÷ǰºóµ÷ÓÃ
#define  EEPROM_CTRL_ENABLE        do{E2P_Ctrl_Gpio_Init();E2P_PWR_ON;EEPROM_CS_ENABLE;}while(0)
#define  EEPROM_CTRL_DISABLE        do{E2P_Ctrl_Gpio_Init();}while(0)
#define  EEPROM_CTRL_ENABLE        do{SPI3_Init();E2P_Ctrl_Gpio_Init();E2P_PWR_ON;EEPROM_CS_ENABLE;}while(0)
#define  EEPROM_CTRL_DISABLE        do{SPI3_sleep();E2P_Ctrl_Gpio_sleep();}while(0)
#define  EEPROM_2_CTRL_ENABLE        do{E2P_Ctrl_Gpio_Init();E2P_PWR_ON;EEPROM_CS_2_ENABLE;}while(0)
#define  EEPROM_2_CTRL_DISABLE        do{E2P_Ctrl_Gpio_Init();}while(0)
#define  EEPROM_2_CTRL_ENABLE        do{SPI3_Init();E2P_Ctrl_Gpio_Init();E2P_PWR_ON;EEPROM_CS_2_ENABLE;}while(0)
#define  EEPROM_2_CTRL_DISABLE        do{SPI3_sleep();E2P_Ctrl_Gpio_sleep();}while(0)
#define    FM_ReadWriteByte(dat) SpiWriteAndRead(dat)
@@ -101,20 +101,20 @@
uint8_t      EEPROM_MultipleWrite(uint8_t *data,u32 addr,u16 bytes);
void     EEPROM_MultipleRead(uint8_t *data, u32 addr, u16 bytes);
void  EEPROM_data_write(uint8 data,u32 addr16);
uint8 EEPROM_data_read(uint32 addr16);
//void  EEPROM_data_write(uint8 data,u32 addr16);
//uint8 EEPROM_data_read(uint32 addr16);
void  EEPROM_stat_write(uint8 stat);
uint8 EEPROM_stat_read(void); 
void  EEPROM_sleep(void); 
void  EEPROM_ID_read(uint8 *dst);
float EEPROM_data_read_float(uint32 addr16);
void EEPROM_data_write_float(uint32 addr16, float data);
double EEPROM_data_read_double(uint32 addr16);
void EEPROM_data_write_double(uint32 addr16, double data);
u32 EEPROM_data_read_uint32(uint32 addr16);
void EEPROM_data_write_uint32(uint32 addr16, uint32 data);
u16 EEPROM_data_read_uint16(uint32 addr16);
void EEPROM_data_write_uint16(uint32 addr16, uint16 data);
//float EEPROM_data_read_float(uint32 addr16);
//void EEPROM_data_write_float(uint32 addr16, float data);
//double EEPROM_data_read_double(uint32 addr16);
//void EEPROM_data_write_double(uint32 addr16, double data);
//u32 EEPROM_data_read_uint32(uint32 addr16);
//void EEPROM_data_write_uint32(uint32 addr16, uint32 data);
//u16 EEPROM_data_read_uint16(uint32 addr16);
//void EEPROM_data_write_uint16(uint32 addr16, uint16 data);
void EEPROM_WP_enable(void);
void EEPROM_WP_disable(void);
@@ -127,6 +127,7 @@
void EEPROM_test(void);
void E2P_Ctrl_Gpio_Init(void);
void E2P_Ctrl_Gpio_sleep(void);
#endif
Function/OTHER_FUN/other_fun.c
@@ -89,8 +89,16 @@
void OtherFunPro(void)
{
    #ifdef    LED_TEST
//    led_init();
//    LED_TOG;
    if((sys_clockBCD_g.sec &0x04) == 0){
    led_init();
    LED_TOG;
    LED_ON;
    }else{
    led_init();
    LED_OFF;
    }
    #else
    led_Close();
    #endif
Function/STORAGE/sizhu_event_record.c
@@ -66,6 +66,7 @@
{
}
//·§¿Ø¼Ç¼
void sizhuValveActionLogHandle(VALVE_CTRL_SOURCE_T valve_ctrl_source, VALVE_CTRL_TYPE_T valve_action_type,uint16_t valve_action_ID)
{
    LOG_SIZHU_VALVE_ACTION_RECORD_SAVE_T    valve_ctrl_log_l;
@@ -76,7 +77,7 @@
    return;  //?û¾­¹ý²âÊÔ£¬ÏÈÆÁ±Î
    arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g,(uint8_t *)&valve_ctrl_log_l.record_time_BCD,sizeof(sys_clockBCD_g), LITTLE_ENDIAN);
    
    valve_ctrl_log_l.valve_action_source = valve_ctrl_source; // ÕýÏò±ê¿öÀÛ»ýÁ¿
    valve_ctrl_log_l.valve_action_source = valve_ctrl_source;
    valve_ctrl_log_l.valve_action_type = valve_action_type;
    valve_ctrl_log_l.valve_action_id = valve_action_ID;
    valve_ctrl_log_l.open_valve_times = save_valve_para_g.open_times;   
@@ -104,10 +105,76 @@
    }
}
//»Ö¸´³ö³§ÉèÖüǼ
void sizhuFactoryResetLogHandle(FACTORY_RESET_SOURCE modify_source, uint16_t manufactuer_code)
{
    LOG_SIZHU_FACTORY_RESET_RECORD_SAVE_T    factory_reset_log_l;
    LOG_SIZHU_FACTORY_RESET_RECORD_SAVE_T    previous_log_l;
    uint32_t    previous_addr = 0;
void sizhu_factory_reset_log_data_handle(uint8_t reset_source, uint16_t factory_id)
{
    return;  //?û¾­¹ý²âÊÔ£¬ÏÈÆÁ±Î
    arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g,(uint8_t *)&factory_reset_log_l.record_time_BCD,sizeof(sys_clockBCD_g), LITTLE_ENDIAN);
    factory_reset_log_l.modify_source = modify_source;
    factory_reset_log_l.factory_id = manufactuer_code;
    FLASH_LOG_ADDR_CHECK(log_event_ctrl_g.factory_reset_log,FACTORY_RESET_EVENT_LOG_START_ADDR,FACTORY_RESET_EVENT_LOG_LENGTH,FACTORY_RESET_EVENT_LOG_MAX_NUM);
    if(log_event_ctrl_g.factory_reset_log.log_count != 0){
        previous_addr = FlashLogPreviousAddrGet(log_event_ctrl_g.factory_reset_log.log_addr_save,FACTORY_RESET_EVENT_LOG_START_ADDR,FACTORY_RESET_EVENT_LOG_LENGTH,FACTORY_RESET_EVENT_LOG_END_ADDR);
        if(FlashMultipleReadAndCrcCheck((uint8_t *)&previous_log_l,previous_addr,FACTORY_RESET_EVENT_LOG_LENGTH)== PASS)
            factory_reset_log_l.serial_number = previous_log_l.serial_number +1;
        else
            factory_reset_log_l.serial_number = 0;
    }else{
        factory_reset_log_l.serial_number = 0;
}
void sizhu_calibration_time_log_data_handle(uint8_t calibration_source,uint16_t factory_id)
{
    //¼ÆËãCRC
    factory_reset_log_l.CRC16_MODBUS = usMBCRC16(0xFFFF, (uint8_t * )&factory_reset_log_l.record_time_BCD, sizeof(LOG_SIZHU_FACTORY_RESET_RECORD_SAVE_T) - sizeof(factory_reset_log_l.CRC16_MODBUS) );
    FlashMultipleWriteAndReadCheck((uint8_t *)&factory_reset_log_l,log_event_ctrl_g.factory_reset_log.log_addr_save,FACTORY_RESET_EVENT_LOG_LENGTH);
    FLASH_LOG_CRTL_PARA_HANDLE(log_event_ctrl_g.factory_reset_log,FACTORY_RESET_EVENT_LOG_START_ADDR,FACTORY_RESET_EVENT_LOG_LENGTH,FACTORY_RESET_EVENT_LOG_MAX_NUM);
    //?²ÎÊý´æ´¢
    if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_event_ctrl_g,LOG_EVENT_CTRL_ADDR,LOG_EVENT_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_event_ctrl_g))==FAIL){
}
}
//Уʱ¼Ç¼
void sizhuSetTimeLogHandle(SET_TIME_SOURCE modify_source, uint16_t manufactuer_code,sClockBCD time_after_cali)
{
    LOG_SIZHU_CALIBRATION_TIME_RECORD_SAVE_T    set_time_log_l;
    LOG_SIZHU_CALIBRATION_TIME_RECORD_SAVE_T    previous_log_l;
    uint32_t    previous_addr = 0;
    return;  //?û¾­¹ý²âÊÔ£¬ÏÈÆÁ±Î
    arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g,(uint8_t *)&set_time_log_l.record_time_BCD,sizeof(sys_clockBCD_g), LITTLE_ENDIAN);
    set_time_log_l.modify_source = modify_source;
    set_time_log_l.factory_id = manufactuer_code;
    arrayA_2_arrayB((uint8_t *)&time_after_cali,(uint8_t *)&set_time_log_l.set_time_BCD,sizeof(sys_clockBCD_g), LITTLE_ENDIAN);
    FLASH_LOG_ADDR_CHECK(log_event_ctrl_g.set_time_log,SET_TIME_EVENT_LOG_START_ADDR,SET_TIME_EVENT_LOG_LENGTH,SET_TIME_EVENT_LOG_MAX_NUM);
    if(log_event_ctrl_g.set_time_log.log_count != 0){
        previous_addr = FlashLogPreviousAddrGet(log_event_ctrl_g.set_time_log.log_addr_save,SET_TIME_EVENT_LOG_START_ADDR,SET_TIME_EVENT_LOG_LENGTH,SET_TIME_EVENT_LOG_END_ADDR);
        if(FlashMultipleReadAndCrcCheck((uint8_t *)&previous_log_l,previous_addr,SET_TIME_EVENT_LOG_LENGTH)== PASS)
            set_time_log_l.serial_number = previous_log_l.serial_number +1;
        else
            set_time_log_l.serial_number = 0;
    }else{
        set_time_log_l.serial_number = 0;
    }
    //¼ÆËãCRC
    set_time_log_l.CRC16_MODBUS = usMBCRC16(0xFFFF, (uint8_t * )&set_time_log_l.record_time_BCD, sizeof(LOG_SIZHU_CALIBRATION_TIME_RECORD_SAVE_T) - sizeof(set_time_log_l.CRC16_MODBUS) );
    FlashMultipleWriteAndReadCheck((uint8_t *)&set_time_log_l,log_event_ctrl_g.set_time_log.log_addr_save,SET_TIME_EVENT_LOG_LENGTH);
    FLASH_LOG_CRTL_PARA_HANDLE(log_event_ctrl_g.set_time_log,SET_TIME_EVENT_LOG_START_ADDR,SET_TIME_EVENT_LOG_LENGTH,SET_TIME_EVENT_LOG_MAX_NUM);
    //?²ÎÊý´æ´¢
    if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_event_ctrl_g,LOG_EVENT_CTRL_ADDR,LOG_EVENT_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_event_ctrl_g))==FAIL){
    }
}
Function/STORAGE/sizhu_event_record.h
@@ -24,6 +24,27 @@
#define    SET_TIME_EVENT_LOG_END_ADDR                SET_TIME_EVENT_LOG_START_ADDR + SET_TIME_EVENT_LOG_LENGTH * (SET_TIME_EVENT_LOG_MAX_NUM -1)
/************************´æ´¢¿Õ¼ä¹æ»®**************************/
typedef enum
{
    FACTORY_RESET_SOURCE_UP_COMM    = 1U,
    FACTORY_RESET_SOURCE_BLE_APP,
    FACTORY_RESET_SOURCE_WRC,    //Ô¶´«
} FACTORY_RESET_SOURCE; // »Ö¸´³ö³§ÉèÖÃÀ´Ô´
typedef enum
{
    SET_TIME_SOURCE_AUTO    = 1U,  //×Ô¶¯Ð£Ê±
    SET_TIME_SOURCE_WRC_COMMAND,
    SET_TIME_SOURCE_UP_COMM,
    SET_TIME_SOURCE_BLE_APP,
} SET_TIME_SOURCE; // »Ö¸´³ö³§ÉèÖÃÀ´Ô´
#pragma pack(1)
//·§ÃŲÙ×÷¼Ç¼
typedef struct
@@ -49,7 +70,7 @@
    
    sClockBCD         record_time_BCD;
    
    uint8_t            modify_source;
    FACTORY_RESET_SOURCE            modify_source;
    u16           factory_id;
    
}LOG_SIZHU_FACTORY_RESET_RECORD_SAVE_T;
@@ -62,7 +83,7 @@
    
    sClockBCD         record_time_BCD; //¼Ç¼ʱ¼ä£¬¿ÉÒÔµ±×öУ׼ǰʱ¼ä
    
    uint8_t       modify_source;
    SET_TIME_SOURCE       modify_source;
    u16           factory_id;
    
    sClockBCD         set_time_BCD; //ÉèÖõÄʱ¼ä£¬Ò²¾ÍÊÇУ׼ºóµÄʱ¼ä
@@ -89,11 +110,10 @@
uint8_t sizhu_calibration_time_log_save(uint8_t calibration_source,uint16_t factory_id, uint8_t * para_alarm_ptr);
void sizhu_factory_reset_log_data_handle(uint8_t reset_source, uint16_t factory_id);
void sizhu_calibration_time_log_data_handle(uint8_t calibration_source,uint16_t factory_id);
void sizhuValveActionLogHandle(VALVE_CTRL_SOURCE_T valve_ctrl_source, VALVE_CTRL_TYPE_T valve_action_type,uint16_t valve_action_ID);
void sizhuFactoryResetLogHandle(FACTORY_RESET_SOURCE modify_source, uint16_t manufactuer_code);
void sizhuSetTimeLogHandle(SET_TIME_SOURCE modify_source, uint16_t manufactuer_code,sClockBCD time_after_cali);
#endif
Function/STORAGE/sizhu_history_record.c
@@ -89,7 +89,7 @@
{
    SIZHU_HISTORY_INTERVAL_T    sizhu_history_interval_l;
    
    return;  //?û¾­¹ý²âÊÔ£¬ÏÈÆÁ±Î
//    return;  //?û¾­¹ý²âÊÔ£¬ÏÈÆÁ±Î
    
    arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g,(uint8_t *)&sizhu_history_interval_l.record_time_BCD,sizeof(sys_clockBCD_g), LITTLE_ENDIAN);
    
@@ -176,11 +176,44 @@
{
    static uint8_t  test_start_flag =0;
        ErrorStatus    test_Status = PASS;
    uint16_t    count_i = 0;
    uint16_t    record_num = 0;
    uint16_t    have_record_num = 0;
    uint32_t    read_addr;
    uint32_t    err_addr;
    uint32_t    err_count;
    SIZHU_HISTORY_INTERVAL_T    history_interval_l;
    
    if(test_start_flag == 1){
        test_start_flag = 0;
        //¼ä¸ô¼Ç¼²âÊÔ
        have_record_num = 0;
        record_num = log_sizhu_history_ctrl_g.per_interval_log.log_count;
        read_addr = log_sizhu_history_ctrl_g.per_interval_log.log_addr_save;
        for(count_i = 0;count_i < record_num;count_i++){
                have_record_num ++;
        
            if(read_addr <= HISTORY_INTERVAL_START_ADDR)
                read_addr = HISTORY_INTERVAL_END_ADDR;
            else
                read_addr -= HISTORY_INTERVAL_LENGTH;
        
            if(FlashMultipleReadAndCrcCheck((uint8_t *)&history_interval_l,read_addr,HISTORY_INTERVAL_LENGTH)== PASS){
        
            }else{
                test_Status = FAIL;
                break;
            }
        }
        if(test_Status == FAIL){
            err_addr = read_addr;
            err_count = log_sizhu_history_ctrl_g.per_interval_log.log_count - count_i;
        }
        
    }
    
@@ -245,7 +278,7 @@
    }
    
    
    HistoryRecordTest();
    HistoryRecordTest(); //?²âÊÔº¯Êý£¬²âÊÔÍêÐèҪעÊÍ
    
}
Function/STORAGE/sizhu_history_record.h
@@ -69,7 +69,7 @@
    SYSTEM_STATUS_WORD_T  status_word;
}SIZHU_HISTORY_INTERVAL_T;
}SIZHU_HISTORY_INTERVAL_T;  //84
//Ô¡¢ÈÕ¡¢Ê±ÈÕÖ¾ÄÚÈÝ
typedef struct 
Function/STORAGE/system_flash_mem_manage.c
@@ -13,9 +13,12 @@
        return FAIL;
    
    OUT_FLASH_CTRL_ENABLE;
    Out_Flash_MultipleWrite(write_data,addr,length);
    
    Out_Flash_MultipleRead(buf_l,addr,length);
    OUT_FLASH_CTRL_DISABLE;
    
    return ucharcmp(write_data,buf_l,length);
}
@@ -46,7 +49,7 @@
    
    if(length >1024)    
        return FAIL;
    OUT_FLASH_CTRL_ENABLE;
    Out_Flash_MultipleRead(buf_l,addrA,length);
    crc_modbus = buf_l[0] + ((uint16_t)buf_l[1]<<8);
    if(crc_modbus != usMBCRC16(0xFFFF,&buf_l[2], length - sizeof(crc_modbus) )){
@@ -62,6 +65,8 @@
        arrayA_2_arrayB(buf_l,read_data,length,LITTLE_ENDIAN);
    }
    
    OUT_FLASH_CTRL_DISABLE;
    return return_flag;
}
Function/STORAGE/system_flash_mem_manage.h
@@ -13,7 +13,7 @@
*/
/*³ÌÐòÉý¼¶´æ´¢Çø*/
/*³ÌÐòÉý¼¶´æ´¢Çø£¬Áô¹»¿Õ¼ä£¬ÖÁÉÙÁô2*412*1024+ 0x1000£¬¾ßÌ嶨ÒåÔÚÉý¼¶³ÌÐò²¿·Ö*/
#define PROGRAM_UPDATE_STORAGE_START_ADDR        0
#define PROGRAM_UPDATE_STORAGE_LENGTH           (1024*1024)
Function/STORAGE/system_mem_para.c
@@ -91,7 +91,7 @@
    .ip_port2 = 9692,                                                      \
    .ip2_connect_type = LINK_TCP,                           \
    .bat_power_data_interval = 60,                           \
    .ext_power_data_interval = 60,                           \
    .ext_power_data_interval = 5,                           \
    .time_start_type = WRC_TIME_START_INTERVAL,     \
    .bat_power_send_interval = 1440,                       \
    .ext_power_send_interval = 60,                           \
@@ -151,9 +151,11 @@
    if(length >1024)    
        return FAIL;
    
    EEPROM_CTRL_ENABLE;
    EEPROM_MultipleWrite(write_data,addr,length);
    
    EEPROM_MultipleRead(buf_l,addr,length);
    EEPROM_CTRL_DISABLE;
    
    return ucharcmp(write_data,buf_l,length);
}
@@ -162,6 +164,8 @@
ErrorStatus    eepABWriteAndReadCheck(uint8_t * write_data,uint32_t addrA,uint32_t addrB,uint16_t length)
{
    ErrorStatus    return_flag = PASS;
    if(eepWriteAndReadCheck(write_data,addrA,length)==FAIL)
    {
        if(eepWriteAndReadCheck(write_data,addrA,length)==FAIL)
@@ -193,6 +197,7 @@
    if(length >1024)    
        return FAIL;
    
    EEPROM_CTRL_ENABLE;
    for(count_i=0;count_i< read_times;count_i++)
    {
        memset (buf_l,0,sizeof (buf_l));
@@ -205,6 +210,7 @@
            break;
        }
    }
    EEPROM_CTRL_DISABLE;
    
    if(read_flag == PASS)
    {
@@ -212,6 +218,7 @@
        return PASS;
    }else
    {
        EEPROM_CTRL_ENABLE;
        for(count_i=0;count_i< read_times;count_i++)
        {
            memset (buf_l,0,sizeof (buf_l));
@@ -229,9 +236,11 @@
        {
            arrayA_2_arrayB(buf_l, read_data, length, LITTLE_ENDIAN) ;
            EEPROM_MultipleWrite(buf_l,addrA,length);//AÇøÐ£Ñé´íÎó£¬BÇøÕýÈ·£¬Ôò½«BÇøÊý¾ÝдÈëAÇø
            EEPROM_CTRL_DISABLE;
            return PASS;
        }else
        {
            EEPROM_CTRL_DISABLE;
            return FAIL;
        }                
    }    
Function/UPPER_COMPUTER/upper_com.c
@@ -6,6 +6,7 @@
#include "uart.h"
#include "upper_com_data_pro.h"
#include "mb.h"
#include "upper_com_iap_pro.h"
UC_RECV_PARA_T  __attribute__ ((aligned (4))) uc_recv_para_g = {.uc_recv_flag = RESET};
@@ -170,6 +171,7 @@
    uint8_t    *data_p;
    if (uc_login_state_g == UC_OK && local_random_code_g == uc_recv_data_union_p->uc_protocol_head_s.random_number)
    {
        uc_respond_data_p->uc_protocol_head_s.data_table_id = uc_recv_data_union_p->uc_protocol_head_s.data_table_id;
        data_category_ID= BSWAP_16(uc_recv_data_union_p->uc_protocol_head_s.data_table_id);
        data_p = uc_recv_data_union_p->uc_recv_buf + UC_PROTOCOL_HEAD_LENGTH +sizeof (uc_recv_data_union_p->uc_protocol_head_s.data_table_id);
        switch(data_category_ID)//?ÐèÒªÍêÉÆ
@@ -218,7 +220,7 @@
//                case SYSTEM_FUNCTION_CTRL_WORD_ID : COM_system_function_ctrl_word_inf_handle(WriteOrRead, com_frame_receive_inf_in.data_category_ID,(DataPtr +2)) ;break;
//                case SYSTEM_ALARM_CTRL_WORD_ID : COM_system_alarm_ctrl_word_inf_handle(WriteOrRead, com_frame_receive_inf_in.data_category_ID,(DataPtr +2)) ;break;
//                case SYSTEM_ALARM_REPORT_CTRL_WORD_ID : COM_system_alarm_report_ctrl_word_inf_handle(WriteOrRead, com_frame_receive_inf_in.data_category_ID,(DataPtr +2)) ;break;
//                case DEVICE_REAL_TIME_ID : COM_time_set_handle(WriteOrRead, com_frame_receive_inf_in.data_category_ID,(DataPtr +2)) ;break;
                case DEVICE_REAL_TIME_ID : COM_time_set_handle(uc_recv_data_union_p->uc_protocol_head_s.cmd_code,data_category_ID,data_p,uc_respond_data_p) ;break;
//                case DEBUG_STATE_SET_ID : COM_debug_state_handle(WriteOrRead, com_frame_receive_inf_in.data_category_ID,(DataPtr +2)) ;break;
//                case DEBUG_PARA_SET_ID : COM_debug_para_set_handle(WriteOrRead, com_frame_receive_inf_in.data_category_ID,(DataPtr +2)) ;break;
//                case ORIGINAL_WAVEFORM_DATA_READ_ID : COM_original_para_set_handle(WriteOrRead, com_frame_receive_inf_in.data_category_ID,(DataPtr +2)) ;break;
@@ -303,13 +305,14 @@
//                    {
//                        uc_rw_result_g = Upper_ComputerLogProcess(Upper_ComputerPermissionsGet(uc_rec_para_p->uc_recv_buf_union.uc_recv_buf[2]),
//                                                                                                            &uc_rec_para_p->uc_recv_buf_union.uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH],
//                                                                                                            &uc_temp_result_buffer[0][UC_PROTOCOL_HEAD_LENGTH + UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH]);
//                                                                                                            &uc_temp_result_buffer[0][UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH]);
//                        __SYS_DELAY_SEC_TIME_SET_(UC_active_time,UC_ACTIVE_TIME);//ÉèÖü¤»îʱ¼ä//ÖØÖü¤»îʱ¼ä
//                    }
                    break;
                case UC_CMD_IAP://? 
//                    uc_rw_result_g = Upper_ComputerIapProcess(uc_table_id, &uc_rec_para_p->uc_recv_buf_union.uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_DATA_TABLE_BYTES_LENGTH]);
//                    __SYS_DELAY_SEC_TIME_SET_(UC_active_time,UC_ACTIVE_TIME);//ÉèÖü¤»îʱ¼ä//ÖØÖü¤»îʱ¼ä
                        Upper_ComputerIapHandler(&uc_recv_para_g.uc_recv_buf_union,&uc_respond_data_g);
                        Upper_ComputerRespond(&uc_respond_data_g);
                        __SYS_DELAY_SEC_TIME_SET_(UC_active_time,UC_ACTIVE_TIME);//ÉèÖü¤»îʱ¼ä//ÖØÖü¤»îʱ¼ä
                    break;
                default:
                    break;
Function/UPPER_COMPUTER/upper_com_data_pro.c
@@ -1,12 +1,12 @@
#include "upper_com_data_pro.h"
#include "upper_com.h"
#include "system_mem_para.h"
#include "sizhu_event_record.h"
//É豸»ù´¡ÐÅÏ¢ÉèÖúͶÁÈ¡
void COM_equipment_basic_inf_handle(uint8_t WriteOrRead,u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)  //DataPtrÉèÖÃʱָÏòIDÖ®ºóµÄÕæÊµÊý¾Ý
void COM_equipment_basic_inf_handle(uint8_t WriteOrRead,u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    uint16_t count_i;
    uint8_t * respond_buf_p;
@@ -17,7 +17,9 @@
        //´¦ÀíÊý¾Ý
        
        
        //´æ´¢Êý¾Ý
        //´æ´¢Êý¾Ý,¼Ç¼
        
        
        //Ó¦´ðÊý¾Ý´¦Àí
@@ -30,7 +32,7 @@
    {
        //Ó¦´ðÊý¾Ý´¦Àí
//        uc_respond_data_p->uc_protocol_head_s.data_field_length = UC_PROTOCOL_TABLE_ID_LENGTH + N;
        arrayA_2_arrayB((uint8_t*)equipment_basic_inf_g.specification_model , &respond_buf_p[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_HEAD_LENGTH], sizeof (equipment_basic_inf_g.specification_model), LITTLE_ENDIAN)  ;
        arrayA_2_arrayB((uint8_t*)equipment_basic_inf_g.specification_model , &respond_buf_p[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH], sizeof (equipment_basic_inf_g.specification_model), LITTLE_ENDIAN)  ;
    }else
    {
    }
@@ -48,9 +50,42 @@
void COM_time_set_handle(uint8_t WriteOrRead,u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    uint16_t count_i;
    uint8_t * respond_buf_p;
    uint16_t    plant_number;
    sClockBCD    time_after_cali;
    respond_buf_p= uc_respond_data_p->uc_recv_buf;
    if(WriteOrRead==UC_CMD_WRITE)
    {
        //´¦ÀíÊý¾Ý
        arrayA_2_arrayB(DataPtr,(uint8_t *)&time_after_cali,sizeof(time_after_cali),LITTLE_ENDIAN);
        Set_Extern_Rtc_Time(DataPtr[0],DataPtr[1],DataPtr[2],1,DataPtr[3],DataPtr[4],DataPtr[5]);
        //´æ´¢Êý¾Ý,¼Ç¼
        plant_number = uc_recv_para_g.uc_recv_buf_union.uc_protocol_head_s.plant_number[0]<<8;
        plant_number = plant_number +uc_recv_para_g.uc_recv_buf_union.uc_protocol_head_s.plant_number[1];
        sizhuSetTimeLogHandle(SET_TIME_SOURCE_UP_COMM , plant_number, time_after_cali);
        //Ó¦´ðÊý¾Ý´¦Àí
        uc_respond_data_p->uc_protocol_head_s.data_field_length = UC_PROTOCOL_TABLE_ID_LENGTH + 1;
        respond_buf_p[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = 0;
    }else if(WriteOrRead==UC_CMD_READ)
    {
        //Ó¦´ðÊý¾Ý´¦Àí
        uc_respond_data_p->uc_protocol_head_s.data_field_length = UC_PROTOCOL_TABLE_ID_LENGTH + sizeof (sys_clockBCD_g);
        arrayA_2_arrayB((uint8_t*)&sys_clockBCD_g , &respond_buf_p[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH], sizeof (sys_clockBCD_g), LITTLE_ENDIAN)  ;
    }else
    {
    }
}
Function/UPPER_COMPUTER/upper_com_data_pro.h
@@ -31,9 +31,6 @@
#define    REVERSE_REAL_FLOW_POINT_SECOND_ID                                                                  21     //·´Ïòʵ¼ÊÁ÷Á¿¶þ´ÎÐÞÕý²ÎÊý
#define    REVERSE_FLOW_POINT_OTHER_ID                                                                        22     //·´ÏòÁ÷Á¿ÆäËûÐÞÕý²ÎÊý
#define    ASSIST_ALGORITHM_PARA_CONFIG_ID                                                                                    0x0017    //¸¨ÖúËã·¨¡¢Í¨µÀÆ«²îÅäÖÃ
#define    AA_REAL_CH_DEVIATION_ID                                                                                                    0x0018    //¸¨ÖúËã·¨ÕæÊµÍ¨µÀÆ«²î
#define    AA_TIME_DIFF_OFFSET_ID                                                                                                    0x0019    //¸¨ÖúË㷨ʱ¼ä²î²¹³¥
#define    FLOW_LIMIT_ID                                                                                      30     //Á÷Á¿ÅäÖòÎÊý
#define    PRESSURE_PARA_ID                                                                                  31     //ѹÁ¦ÅäÖòÎÊý
@@ -101,7 +98,7 @@
void COM_equipment_basic_inf_handle(uint8_t WriteOrRead,u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p) ;
void COM_time_set_handle(uint8_t WriteOrRead,u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p);
#endif
Function/UPPER_COMPUTER/upper_com_iap_pro.c
New file
@@ -0,0 +1,154 @@
#include "upper_com_iap_pro.h"
#include "upper_com.h"
#include "flash.h"
/*IAP¸üгÌÐòÁ÷³Ì£º9601 -> 9604 -> 9602 -> 9603 -> 9600*/
ErrorStatus_STM32 UC_IapResetHandler(u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    /*¹Ø±ÕÈ«²¿ÍâÉè*/
    __disable_irq();//¹Ø±ÕÈ«¾ÖÖжÏʹÄÜ
    delay_ms(100);
    RMU->SOFTRST = 0x5C5CAABB; //?Èí¼þ¸´Î»
    return SUCCESS_0;
}
/******************************************
 * func: UC_IapConfigSetHander
 * desc: IAPÏà¹ØµÄһЩÅäÖòÎÊýÉèÖÃ
 * input:  pInputData£º²ÎÊýÊý¾Ý£¬Ïê¼ûBOOTLOAD_PARA_STRUCT½á¹¹Ìå
 * output: none
 * return: SUCCESS_0£º³É¹¦  ERROR_1/ÆäËû£ºÊ§°Ü
 *****************************************/
ErrorStatus_STM32 UC_IapConfigSetHandler(u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    uint8_t return_flag = SUCCESS_0;
    uint32_t data_len = uc_recv_para_g.uc_recv_buf_union.uc_protocol_head_s.data_field_length - UC_PROTOCOL_TABLE_ID_LENGTH;//¼õÈ¥±íºÅ
    return_flag = BootLoader_IapConfigSetHander(DataPtr,data_len);
    if(return_flag == SUCCESS_0){
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = 0;
    }else{
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = return_flag;
    }
    uc_respond_data_p->uc_protocol_head_s.data_field_length = UC_PROTOCOL_TABLE_ID_LENGTH + 1;
    return (ErrorStatus_STM32)return_flag;
}
ErrorStatus_STM32 UC_IapConfigLzmaSetHandler(u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    uint8_t return_flag = SUCCESS_0;
    uint32_t data_len = uc_recv_para_g.uc_recv_buf_union.uc_protocol_head_s.data_field_length - UC_PROTOCOL_TABLE_ID_LENGTH;//¼õÈ¥±íºÅ
    return_flag = BootLoader_IapConfigLzmaSetHander(DataPtr,data_len);
    if(return_flag == SUCCESS_0){
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = 0;
    }else{
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = return_flag;
    }
    uc_respond_data_p->uc_protocol_head_s.data_field_length = UC_PROTOCOL_TABLE_ID_LENGTH + 1;
    return (ErrorStatus_STM32)return_flag;
}
/******************************************
 * func: UC_IapDiffDataHander
 * desc: ÕýʽдÈë²îÒìÊý¾Ý£¨´æ´¢ÔÚÆ¬ÍâFlash£©
 * input:  pInputData£º²îÒìÊý¾Ý£¬ÓÉÉÏλ»ú´ÓHexÎļþÌáÈ¡
 * output: none
 * return: SUCCESS_0£º³É¹¦  ERROR_1/ÆäËû£ºÊ§°Ü
 *****************************************/
ErrorStatus_STM32 UC_IapDiffDataHandler(u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    uint8_t return_flag = SUCCESS_0;
    uint32_t offset_addr = (DataPtr[3] << 24) | (DataPtr[2] << 16) | (DataPtr[1] << 8) | DataPtr[0];
    uint32_t data_len = uc_recv_para_g.uc_recv_buf_union.uc_protocol_head_s.data_field_length - 4 //¼õÈ¥µØÖ·
                            - UC_PROTOCOL_TABLE_ID_LENGTH;//¼õÈ¥±íºÅ
    //Êý¾Ý´Ó[4]¿ªÊ¼
    return_flag = BootLoader_IapDiffDataHandler(&DataPtr[4],offset_addr,data_len);
    if(return_flag == SUCCESS_0){
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = 0;
    }else{
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = return_flag;
    }
    uc_respond_data_p->uc_protocol_head_s.data_field_length = UC_PROTOCOL_TABLE_ID_LENGTH + 1;
    return (ErrorStatus_STM32)return_flag;
}
/******************************************
 * func: UC_IapConfigCheckHander
 * desc: IAPÍê³ÉºóºË²éÊý¾ÝºÍ²ÎÊý
 * input:  none
 * output: none
 * return: SUCCESS_0£º³É¹¦  ERROR_1/ÆäËû£ºÊ§°Ü
 *****************************************/
ErrorStatus_STM32 UC_IapConfigCheckHandler(u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    uint8_t return_flag = SUCCESS_0;
    return_flag = BootLoader_IapConfigCheckHandler();
    if(return_flag == SUCCESS_0){
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = 0;
    }else{
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = return_flag;
    }
    uc_respond_data_p->uc_protocol_head_s.data_field_length = UC_PROTOCOL_TABLE_ID_LENGTH + 1;
    return (ErrorStatus_STM32)return_flag;
}
/******************************************
 * func: UC_IapDiffMapSetHander
 * desc: IAPÏà¹ØµÄ²îÒì±í²ÎÊýÉèÖÃ
 * input:  pInputData£º²ÎÊýÊý¾Ý£¬Ïê¼ûÉÏλ»úЭÒé
 * output: none
 * return: SUCCESS_0£º³É¹¦  ERROR_1/ÆäËû£ºÊ§°Ü
 *****************************************/
ErrorStatus_STM32 UC_IapDiffMapSetHandler(u16 data_category_ID,uint8_t *DataPtr,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    uint8_t return_flag = SUCCESS_0;
    uint32_t offset_addr = (DataPtr[3] << 24) | (DataPtr[2] << 16) | (DataPtr[1] << 8) | DataPtr[0];
    uint32_t data_len = uc_recv_para_g.uc_recv_buf_union.uc_protocol_head_s.data_field_length - 4 //¼õÈ¥µØÖ·
                        - UC_PROTOCOL_TABLE_ID_LENGTH;//¼õÈ¥±íºÅ
        //Êý¾Ý´ÓpInputData[4]¿ªÊ¼
    return_flag = BootLoader_IapDiffMapSetHandler(&DataPtr[4],offset_addr,data_len);
    if(return_flag == SUCCESS_0){
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = 0;
    }else{
        uc_respond_data_p->uc_recv_buf[UC_PROTOCOL_HEAD_LENGTH + UC_PROTOCOL_TABLE_ID_LENGTH] = return_flag;
    }
    uc_respond_data_p->uc_protocol_head_s.data_field_length = UC_PROTOCOL_TABLE_ID_LENGTH + 1;
    return (ErrorStatus_STM32)return_flag;
}
/*ÉÏλ»úдÊý¾Ý´¦Àíº¯Êý*/
void Upper_ComputerIapHandler(UC_RECV_DATA_UNION_T *uc_recv_data_union_p,UC_RECV_DATA_UNION_T *uc_respond_data_p)
{
    uint16_t    data_category_ID;
    uint8_t    *data_p;
        uc_respond_data_p->uc_protocol_head_s.data_table_id = uc_recv_data_union_p->uc_protocol_head_s.data_table_id;
        data_category_ID= BSWAP_16(uc_recv_data_union_p->uc_protocol_head_s.data_table_id);
        data_p = uc_recv_data_union_p->uc_recv_buf + UC_PROTOCOL_HEAD_LENGTH +sizeof (uc_recv_data_union_p->uc_protocol_head_s.data_table_id);
        switch(data_category_ID)//?ÐèÒªÍêÉÆ
            {
                case UIC_APP_RESET : UC_IapResetHandler(data_category_ID,data_p,uc_respond_data_p) ;break;
                case UIC_APP_CONFIG : UC_IapConfigSetHandler(data_category_ID,data_p,uc_respond_data_p) ;break;
                case UIC_APP_DIFF_DATA : UC_IapDiffDataHandler(data_category_ID,data_p,uc_respond_data_p) ;break;
                case UIC_APP_CONFIG_CHECK : UC_IapConfigCheckHandler(data_category_ID,data_p,uc_respond_data_p) ;break;
                case UIC_APP_DIFF_MAP : UC_IapDiffMapSetHandler(data_category_ID,data_p,uc_respond_data_p) ;break;
                case UIC_APP_CONFIG_LZMA : UC_IapConfigLzmaSetHandler(data_category_ID,data_p,uc_respond_data_p) ;break;
                default : break;
            }
}
Function/UPPER_COMPUTER/upper_com_iap_pro.h
New file
@@ -0,0 +1,58 @@
#ifndef _UPPER_COM_IAP_PRO_H_
#define _UPPER_COM_IAP_PRO_H_
#include "define_all.h"
#include "bootloader_iap.h"
#include "upper_com.h"
typedef enum
{
    UIC_APP_RESET = 0x9600,
    UIC_APP_CONFIG,
    UIC_APP_DIFF_DATA,
    UIC_APP_CONFIG_CHECK,
    UIC_APP_DIFF_MAP,
    UIC_APP_CONFIG_LZMA
}UC_IAP_CMD;
void Upper_ComputerIapHandler(UC_RECV_DATA_UNION_T *uc_recv_data_union_p,UC_RECV_DATA_UNION_T *uc_respond_data_p);
#endif
Function/VALVE/valve_control.c
@@ -378,7 +378,7 @@
        if(valve_ctrl_para_g.force_open_status !=SET){
            valve_ctrl_para_g.force_open_status =SET;
            //¿ªÊ¼Æô¶¯Ç¿¿ª
            sizhuValveActionLogHandle(VALVE_CTRL_FORCE_OPEN, VC_FORCE_OPEN,ALARM_ID_NORMAL);
        }
            
        
HARDWARE/SPI/SPI.h
@@ -13,6 +13,7 @@
void SPI3_Init(void);
void SPI3_sleep(void);
uint8_t SpiWriteAndRead(uint32_t data);
KEIL_MDKARM/JLinkLog.txt
Diff too large
KEIL_MDKARM/Listings/SZV103_FM33A0_MainSystem.map
Diff too large
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.axf
Binary files differ
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.build_log.htm
@@ -22,7 +22,7 @@
 
<h2>Project:</h2>
E:\GasFlowmeter\Internet_of_things_valve\SZV103\SZV103_FM33A0xxEV_SiZhu\KEIL_MDKARM\SZV103_FM33A0_MainSystem.uvprojx
Project File Date:  06/04/2024
Project File Date:  06/12/2024
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 for Certification (build 960)', folder: 'D:\Program Files\MDK5\ARM\ARMCC\Bin'
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.hex
Diff too large
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.htm
Diff too large
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem.lnp
@@ -38,6 +38,7 @@
".\objects\system_mem_para.o"
".\objects\upper_com.o"
".\objects\upper_com_data_pro.o"
".\objects\upper_com_iap_pro.o"
".\objects\wireless_remote_comm.o"
".\objects\wrc_sizhu_v4.o"
".\objects\lcd.o"
@@ -94,7 +95,7 @@
".\objects\mbrtu.o"
".\objects\startup_fm33a0xxev.o"
".\objects\system_fm33a0xxev.o"
--library_type=microlib --strict --scatter ".\sct\fm33a06xev_test.sct"
--library_type=microlib --strict --scatter ".\Objects\SZV103_FM33A0_MainSystem.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".\Listings\SZV103_FM33A0_MainSystem.map" -o .\Objects\SZV103_FM33A0_MainSystem.axf
KEIL_MDKARM/Objects/SZV103_FM33A0_MainSystem_SZV103_FM33A0_MainSystem.dep
@@ -181,7 +181,7 @@
I (..\Function\FLOW_METER_DATA_COLLECT\pulse_and_alarm_line.h)(0x665FC254)
I (..\Function\FLOW_METER_DATA_COLLECT\rs485_data_analysis_pro.h)(0x665E7D02)
I (..\Soft\linked_list.h)(0x665E7D03)
F (..\Core\main.c)(0x6662C2CE)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
F (..\Core\main.c)(0x66693E6F)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
I (..\Core\main.h)(0x666839A3)
I (..\Core\define_all.h)(0x665E7D02)
I (..\Core\Include\FM33A0XXEV.h)(0x665E7D02)
@@ -257,7 +257,7 @@
I (..\Function\POWER_MANAGE\power_manage.h)(0x665E7D02)
I (..\Function\UPPER_COMPUTER\upper_com.h)(0x665E7D02)
I (..\Function\STORAGE\sizhu_history_record.h)(0x6667E120)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x66627084)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x6669555D)
I (..\Function\OFF_CHIP_FLASH\off_chip_flash.h)(0x6660065A)
I (..\Function\FLOW_METER_DATA_COLLECT\pulse_and_alarm_line.h)(0x665FC254)
I (..\Function\FLOW_METER_DATA_COLLECT\rs485_data_analysis_pro.h)(0x665E7D02)
@@ -983,7 +983,7 @@
I (..\Core\bintohex.h)(0x665E7D02)
I (..\Hardware\CLOCK\user_init.h)(0x665E7D02)
I (..\Hardware\DELAY\delay.h)(0x665E7D02)
I (..\Function\BOOTLOADER_IAP\bootloader_iap.h)(0x665E7D02)
I (..\Function\BOOTLOADER_IAP\bootloader_iap.h)(0x66690380)
F (..\Function\EXTERN_RTC\extern_rtc.c)(0x665E7D02)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\extern_rtc.o --omf_browse .\objects\extern_rtc.crf --depend .\objects\extern_rtc.d)
I (..\Function\EXTERN_RTC\extern_rtc.h)(0x665E7D02)
I (..\Core\define_all.h)(0x665E7D02)
@@ -1153,8 +1153,8 @@
I (..\Hardware\SPI\spi.h)(0x6667F377)
I (..\Hardware\UART\uart.h)(0x665EACB7)
I (..\Core\main.h)(0x666839A3)
F (..\Function\BOOTLOADER_IAP\bootloader_iap.c)(0x665E7D02)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\bootloader_iap.o --omf_browse .\objects\bootloader_iap.crf --depend .\objects\bootloader_iap.d)
I (..\Function\BOOTLOADER_IAP\bootloader_iap.h)(0x665E7D02)
F (..\Function\BOOTLOADER_IAP\bootloader_iap.c)(0x666965E3)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\bootloader_iap.o --omf_browse .\objects\bootloader_iap.crf --depend .\objects\bootloader_iap.d)
I (..\Function\BOOTLOADER_IAP\bootloader_iap.h)(0x66690380)
I (..\Core\define_all.h)(0x665E7D02)
I (..\Core\Include\FM33A0XXEV.h)(0x665E7D02)
I (..\Core\Include\core_cm0plus.h)(0x665E7D02)
@@ -1208,6 +1208,8 @@
I (..\Function\modbus\port\port.h)(0x665E7D02)
I (D:\Program Files\MDK5\ARM\ARMCC\include\assert.h)(0x5E8E3CC2)
I (D:\Program Files\MDK5\ARM\ARMCC\include\inttypes.h)(0x5E8E3CC2)
I (..\Soft\system_general_para.h)(0x665E7D03)
I (..\Function\EXTERN_RTC\extern_rtc.h)(0x665E7D02)
F (..\Function\E2P\EEPROM.c)(0x6667F602)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\eeprom.o --omf_browse .\objects\eeprom.crf --depend .\objects\eeprom.d)
I (..\Function\E2P\eeprom.h)(0x6667F973)
I (..\Core\define_all.h)(0x665E7D02)
@@ -1449,7 +1451,7 @@
I (..\Function\STORAGE\system_eep_mem_manage.h)(0x66611F3C)
I (..\Function\E2P\eeprom.h)(0x6667F973)
I (..\Hardware\SPI\spi.h)(0x6667F377)
F (..\Function\OTHER_FUN\other_fun.c)(0x666278F7)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\other_fun.o --omf_browse .\objects\other_fun.crf --depend .\objects\other_fun.d)
F (..\Function\OTHER_FUN\other_fun.c)(0x666962E0)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\other_fun.o --omf_browse .\objects\other_fun.crf --depend .\objects\other_fun.d)
I (..\Function\OTHER_FUN\other_fun.h)(0x665E7D02)
I (..\Core\define_all.h)(0x665E7D02)
I (..\Core\Include\FM33A0XXEV.h)(0x665E7D02)
@@ -1621,7 +1623,7 @@
I (..\Function\modbus\port\port.h)(0x665E7D02)
I (D:\Program Files\MDK5\ARM\ARMCC\include\assert.h)(0x5E8E3CC2)
I (D:\Program Files\MDK5\ARM\ARMCC\include\inttypes.h)(0x5E8E3CC2)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x66627084)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x6669555D)
I (..\Function\OFF_CHIP_FLASH\off_chip_flash.h)(0x6660065A)
F (..\Function\STORAGE\sizhu_event_record.c)(0x66681038)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\sizhu_event_record.o --omf_browse .\objects\sizhu_event_record.crf --depend .\objects\sizhu_event_record.d)
I (..\Function\STORAGE\sizhu_event_record.h)(0x6668105C)
@@ -1681,7 +1683,7 @@
I (..\Function\modbus\port\port.h)(0x665E7D02)
I (D:\Program Files\MDK5\ARM\ARMCC\include\assert.h)(0x5E8E3CC2)
I (D:\Program Files\MDK5\ARM\ARMCC\include\inttypes.h)(0x5E8E3CC2)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x66627084)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x6669555D)
I (..\Function\OFF_CHIP_FLASH\off_chip_flash.h)(0x6660065A)
I (..\Function\E2P\eeprom.h)(0x6667F973)
I (..\Hardware\SPI\spi.h)(0x6667F377)
@@ -1740,7 +1742,7 @@
I (..\Function\VALVE\valve_control.h)(0x6662B320)
I (..\Function\WirelessRemoteComm\wireless_remote_comm.h)(0x66617DDB)
I (..\Function\FLOW_METER_DATA_COLLECT\rs485_read_data.h)(0x665E7D02)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x66627084)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x6669555D)
I (..\Function\OFF_CHIP_FLASH\off_chip_flash.h)(0x6660065A)
I (..\Function\E2P\eeprom.h)(0x6667F973)
I (..\Hardware\SPI\spi.h)(0x6667F377)
@@ -1855,7 +1857,7 @@
I (..\Hardware\DELAY\delay.h)(0x665E7D02)
I (..\Hardware\SPI\spi.h)(0x6667F377)
F (..\Function\STORAGE\system_flash_mem_manage.c)(0x6667B38A)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\system_flash_mem_manage.o --omf_browse .\objects\system_flash_mem_manage.crf --depend .\objects\system_flash_mem_manage.d)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x66627084)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x6669555D)
I (..\Function\OFF_CHIP_FLASH\off_chip_flash.h)(0x6660065A)
I (..\Core\define_all.h)(0x665E7D02)
I (..\Core\Include\FM33A0XXEV.h)(0x665E7D02)
@@ -1972,13 +1974,13 @@
I (..\Function\STORAGE\system_eep_mem_manage.h)(0x66611F3C)
I (..\Function\FLOW_METER_DATA_COLLECT\rs485_data_analysis_pro.h)(0x665E7D02)
I (..\Function\FLOW_METER_DATA_COLLECT\pulse_and_alarm_line.h)(0x665FC254)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x66627084)
I (..\Function\STORAGE\system_flash_mem_manage.h)(0x6669555D)
I (..\Function\OFF_CHIP_FLASH\off_chip_flash.h)(0x6660065A)
I (..\Function\STORAGE\sizhu_history_record.h)(0x6667E120)
I (..\Function\STORAGE\sizhu_alarm_record.h)(0x6662727C)
I (..\Function\STORAGE\sizhu_event_record.h)(0x6668105C)
I (..\Function\STORAGE\sizhu_para_modify_record.h)(0x666192E5)
F (..\Function\UPPER_COMPUTER\upper_com.c)(0x666837E2)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\upper_com.o --omf_browse .\objects\upper_com.crf --depend .\objects\upper_com.d)
F (..\Function\UPPER_COMPUTER\upper_com.c)(0x66690439)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\upper_com.o --omf_browse .\objects\upper_com.crf --depend .\objects\upper_com.d)
I (..\Function\UPPER_COMPUTER\upper_com.h)(0x665E7D02)
I (..\Core\define_all.h)(0x665E7D02)
I (..\Core\Include\FM33A0XXEV.h)(0x665E7D02)
@@ -2042,7 +2044,9 @@
I (..\Function\modbus\include\mb.h)(0x665E7D02)
I (..\Function\modbus\include\mbport.h)(0x665E7D02)
I (..\Function\modbus\include\mbproto.h)(0x665E7D02)
F (..\Function\UPPER_COMPUTER\upper_com_data_pro.c)(0x666837E2)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\upper_com_data_pro.o --omf_browse .\objects\upper_com_data_pro.crf --depend .\objects\upper_com_data_pro.d)
I (..\Function\UPPER_COMPUTER\upper_com_iap_pro.h)(0x66690512)
I (..\Function\BOOTLOADER_IAP\bootloader_iap.h)(0x66690380)
F (..\Function\UPPER_COMPUTER\upper_com_data_pro.c)(0x66695244)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\upper_com_data_pro.o --omf_browse .\objects\upper_com_data_pro.crf --depend .\objects\upper_com_data_pro.d)
I (..\Function\UPPER_COMPUTER\upper_com_data_pro.h)(0x66681946)
I (..\Core\define_all.h)(0x665E7D02)
I (..\Core\Include\FM33A0XXEV.h)(0x665E7D02)
@@ -2098,6 +2102,58 @@
I (..\Soft\sizhu_ctrl_word.h)(0x6662786C)
I (..\Function\FLOW_METER_DATA_COLLECT\rs485_read_data.h)(0x665E7D02)
I (..\Function\STORAGE\sizhu_event_record.h)(0x6668105C)
F (..\Function\UPPER_COMPUTER\upper_com_iap_pro.c)(0x666957C1)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\upper_com_iap_pro.o --omf_browse .\objects\upper_com_iap_pro.crf --depend .\objects\upper_com_iap_pro.d)
I (..\Function\UPPER_COMPUTER\upper_com_iap_pro.h)(0x66690512)
I (..\Core\define_all.h)(0x665E7D02)
I (..\Core\Include\FM33A0XXEV.h)(0x665E7D02)
I (..\Core\Include\core_cm0plus.h)(0x665E7D02)
I (D:\Program Files\MDK5\ARM\ARMCC\include\stdint.h)(0x6522440D)
I (..\Core\Include\core_cminstr.h)(0x665E7D02)
I (..\Core\Include\core_cmfunc.h)(0x665E7D02)
I (..\Core\Include\system_FM33A0XXEV.h)(0x665E7D02)
I (D:\Program Files\MDK5\ARM\ARMCC\include\stdio.h)(0x5E8E3CC2)
I (..\Core\fm33a0xxev_include_all.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_aes.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_adc.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_bstim.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_comp.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_rmu.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_crc.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_lcd.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_dma.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_gpio.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_i2c.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_iwdt.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_lpuart.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_flash.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_pmu.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_cmu.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_rtc.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_dbg.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_spi.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_rng.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_u7816.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_uart.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_lptim.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_wwdt.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_svd.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_pae.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_hash.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_qspi.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_bt.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_et.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_vrtc.h)(0x665E7D02)
I (..\Drivers\fm33a0xxev_cdif.h)(0x665E7D02)
I (D:\Program Files\MDK5\ARM\ARMCC\include\stdlib.h)(0x5E8E3CC2)
I (D:\Program Files\MDK5\ARM\ARMCC\include\string.h)(0x5E8E3CC2)
I (..\Core\bintohex.h)(0x665E7D02)
I (..\Hardware\CLOCK\user_init.h)(0x665E7D02)
I (..\Hardware\DELAY\delay.h)(0x665E7D02)
I (..\Function\BOOTLOADER_IAP\bootloader_iap.h)(0x66690380)
I (..\Function\UPPER_COMPUTER\upper_com.h)(0x665E7D02)
I (..\Soft\system_general_para.h)(0x665E7D03)
I (..\Function\EXTERN_RTC\extern_rtc.h)(0x665E7D02)
I (..\Hardware\ON_CHIP_FLASH\flash.h)(0x665E7D02)
F (..\Function\WirelessRemoteComm\wireless_remote_comm.c)(0x666278F7)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\wireless_remote_comm.o --omf_browse .\objects\wireless_remote_comm.crf --depend .\objects\wireless_remote_comm.d)
I (..\Function\WirelessRemoteComm\wireless_remote_comm.h)(0x66617DDB)
I (..\Core\define_all.h)(0x665E7D02)
@@ -3640,7 +3696,7 @@
I (..\Function\modbus\include\mbframe.h)(0x665E7D02)
I (..\Function\modbus\rtu\mbcrc.h)(0x665E7D02)
F (RTE/Device/FM33A06XEV/startup_FM33A0XXEV.s)(0x665E7D03)(--cpu Cortex-M0 -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" --pd "__UVISION_VERSION SETA 538" --pd "_RTE_ SETA 1" --pd "_RTE_ SETA 1" --list .\listings\startup_fm33a0xxev.lst --xref -o .\objects\startup_fm33a0xxev.o --depend .\objects\startup_fm33a0xxev.d)
F (RTE/Device/FM33A06XEV/system_FM33A0XXEV.c)(0x665E7D03)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\system_fm33a0xxev.o --omf_browse .\objects\system_fm33a0xxev.crf --depend .\objects\system_fm33a0xxev.d)
F (RTE/Device/FM33A06XEV/system_FM33A0XXEV.c)(0x66693B49)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Core -I ..\Drivers -I ..\Core\Include -I ..\Hardware -I .\RTE\Device -I ..\Hardware\CLOCK -I ..\Hardware\DELAY -I ..\Hardware\GPIO -I ..\Hardware\UART -I ..\Hardware\TIM -I ..\Function\KEY -I ..\Hardware\EXTI -I ..\Hardware\RTC -I ..\Hardware\ADC -I ..\Hardware\I2C -I ..\Function\LCD -I ..\Function\EXTERN_RTC -I ..\Hardware\SPI -I ..\Function\GPRS -I ..\Function\HARDWARE_WATCHDOG -I ..\Function\IR_NEC -I ..\Function\MEASURE_INTERACTION -I ..\Function\POWER_MANAGE -I ..\Function\STORAGE -I ..\Function\UPPER_COMPUTER -I ..\Function\VALVE -I ..\Soft -I ..\MultiButton -I ..\USMART -I ..\Hardware\DMA -I ..\Hardware\ON_CHIP_FLASH -I ..\Hardware\SVD -I ..\Function\OFF_CHIP_FLASH -I ..\Hardware\CRC -I ..\Function\BOOTLOADER_IAP -I ..\Hardware\COMP -I ..\CmBackTrace -I ..\Function\E2P -I ..\Function\FLOW_METER_DATA_COLLECT -I ..\Function\WirelessRemoteComm -I ..\Function\POWER_MANAGE -I ..\Function\BILLING -I ..\Function\modbus -I ..\Function\modbus\functions -I ..\Function\modbus\include -I ..\Function\modbus\port -I ..\Function\modbus\rtu -I ..\Function\OTHER_FUN -I ..\Function\SYS_SLEEP -I.\RTE\_SZV103_FM33A0_MainSystem -I"D:\Program Files\MDK5\Packs\Keil\FM33A0XXEV_DFP\0.0.4\Device\Include" -D__UVISION_VERSION="538" -D_RTE_ -D_RTE_ -D__VTOR_PRESENT -o .\objects\system_fm33a0xxev.o --omf_browse .\objects\system_fm33a0xxev.crf --depend .\objects\system_fm33a0xxev.d)
I (D:\Program Files\MDK5\ARM\ARMCC\include\stdint.h)(0x6522440D)
I (..\Core\Include\FM33A0XXEV.h)(0x665E7D02)
I (..\Core\Include\core_cm0plus.h)(0x665E7D02)
KEIL_MDKARM/Objects/bootloader_iap.crf
Binary files differ
KEIL_MDKARM/Objects/bootloader_iap.d
@@ -55,3 +55,5 @@
.\objects\bootloader_iap.o: ..\Function\modbus\port\port.h
.\objects\bootloader_iap.o: D:\Program Files\MDK5\ARM\ARMCC\Bin\..\include\assert.h
.\objects\bootloader_iap.o: D:\Program Files\MDK5\ARM\ARMCC\Bin\..\include\inttypes.h
.\objects\bootloader_iap.o: ..\Soft\system_general_para.h
.\objects\bootloader_iap.o: ..\Function\EXTERN_RTC\extern_rtc.h
KEIL_MDKARM/Objects/bootloader_iap.o
Binary files differ
KEIL_MDKARM/Objects/flash.crf
Binary files differ
KEIL_MDKARM/Objects/flash.o
Binary files differ
KEIL_MDKARM/Objects/main.crf
Binary files differ
KEIL_MDKARM/Objects/main.o
Binary files differ
KEIL_MDKARM/Objects/sizhu_alarm_record.crf
Binary files differ
KEIL_MDKARM/Objects/sizhu_alarm_record.o
Binary files differ
KEIL_MDKARM/Objects/sizhu_event_record.crf
Binary files differ
KEIL_MDKARM/Objects/sizhu_event_record.o
Binary files differ
KEIL_MDKARM/Objects/sizhu_history_record.crf
Binary files differ
KEIL_MDKARM/Objects/sizhu_history_record.o
Binary files differ
KEIL_MDKARM/Objects/system_flash_mem_manage.crf
Binary files differ
KEIL_MDKARM/Objects/system_flash_mem_manage.o
Binary files differ
KEIL_MDKARM/Objects/system_fm33a0xxev.crf
Binary files differ
KEIL_MDKARM/Objects/system_fm33a0xxev.o
Binary files differ
KEIL_MDKARM/Objects/system_mem_para.crf
Binary files differ
KEIL_MDKARM/Objects/system_mem_para.o
Binary files differ
KEIL_MDKARM/Objects/upper_com.crf
Binary files differ
KEIL_MDKARM/Objects/upper_com.d
@@ -64,3 +64,5 @@
.\objects\upper_com.o: ..\Function\modbus\include\mb.h
.\objects\upper_com.o: ..\Function\modbus\include\mbport.h
.\objects\upper_com.o: ..\Function\modbus\include\mbproto.h
.\objects\upper_com.o: ..\Function\UPPER_COMPUTER\upper_com_iap_pro.h
.\objects\upper_com.o: ..\Function\BOOTLOADER_IAP\bootloader_iap.h
KEIL_MDKARM/Objects/upper_com.o
Binary files differ
KEIL_MDKARM/Objects/upper_com_data_pro.crf
Binary files differ
KEIL_MDKARM/Objects/upper_com_data_pro.o
Binary files differ
KEIL_MDKARM/RTE/Device/FM33A06XEV/system_FM33A0XXEV.c
@@ -87,7 +87,7 @@
         do not use global variables because this function is called before
         reaching pre-main. RW section maybe overwritten afterwards.          */
    //ÉèÖÃÖжÏÏòÁ¿Æ«ÒÆ
//    SCB->VTOR = 0x00019000 & SCB_VTOR_TBLOFF_Msk;
    SCB->VTOR = 0x00019000 & SCB_VTOR_TBLOFF_Msk;
    SystemCoreClock = __SYSTEM_CLOCK;
  //return;
}
KEIL_MDKARM/SZV103_FM33A0_MainSystem.uvguix.PC
@@ -15,12 +15,12 @@
    <View>
      <WinId>38003</WinId>
      <ViewName>Registers</ViewName>
      <TableColWidths>198 199</TableColWidths>
      <TableColWidths>198 105</TableColWidths>
    </View>
    <View>
      <WinId>346</WinId>
      <ViewName>Code Coverage</ViewName>
      <TableColWidths>905 100</TableColWidths>
      <TableColWidths>905 194</TableColWidths>
    </View>
    <View>
      <WinId>204</WinId>
@@ -46,7 +46,7 @@
      <WinId>1936</WinId>
      <ViewName>Watch 1</ViewName>
      <UserString></UserString>
      <TableColWidths>242 133 133</TableColWidths>
      <TableColWidths>200 133 133</TableColWidths>
    </View>
    <View>
      <WinId>1937</WinId>
@@ -93,25 +93,25 @@
      <flags>2</flags>
      <showCmd>3</showCmd>
      <MinPosition>
        <xPos>-1</xPos>
        <yPos>-1</yPos>
        <xPos>-32000</xPos>
        <yPos>-32000</yPos>
      </MinPosition>
      <MaxPosition>
        <xPos>-1</xPos>
        <yPos>-1</yPos>
      </MaxPosition>
      <NormalPosition>
        <Top>107</Top>
        <Left>393</Left>
        <Right>1377</Right>
        <Bottom>1146</Bottom>
        <Top>7</Top>
        <Left>601</Left>
        <Right>1585</Right>
        <Bottom>1046</Bottom>
      </NormalPosition>
    </WindowPosition>
    <MDIClientArea>
      <RegID>0</RegID>
      <MDITabState>
        <Len>1124</Len>
        <Data>01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000007000000000000000100000053453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C436F72655C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF7E453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C4B45494C5F4D444B41524D5C5254455C4465766963655C464D33334130365845565C737461727475705F464D33334130585845562E730000000014737461727475705F464D33334130585845562E7300000000FFDC7800FFFFFFFF6D453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C53544F524147455C73697A68755F6576656E745F7265636F72642E63000000001473697A68755F6576656E745F7265636F72642E6300000000BECEA100FFFFFFFF74453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C55505045525F434F4D50555445525C75707065725F636F6D5F646174615F70726F2E63000000001475707065725F636F6D5F646174615F70726F2E6300000000F0A0A100FFFFFFFF6B453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C55505045525F434F4D50555445525C75707065725F636F6D2E63000000000B75707065725F636F6D2E6300000000BCA8E100FFFFFFFF62453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C536F66745C73797374656D5F67656E6572616C5F706172612E68000000001573797374656D5F67656E6572616C5F706172612E68000000009CC1B600FFFFFFFF53453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C436F72655C6D61696E2E6800000000066D61696E2E6800000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000052010000660000008007000040030000</Data>
        <Len>1774</Len>
        <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000C000000020000000100000053453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C436F72655C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF66453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C4F544845525F46554E5C6F746865725F66756E2E63000000000B6F746865725F66756E2E6300000000FFDC7800FFFFFFFF73453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C55505045525F434F4D50555445525C75707065725F636F6D5F6961705F70726F2E63000000001375707065725F636F6D5F6961705F70726F2E6300000000BECEA100FFFFFFFF6B453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C55505045525F434F4D50555445525C75707065725F636F6D2E63000000000B75707065725F636F6D2E6300000000F0A0A100FFFFFFFF60453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C447269766572735C666D33336130787865765F7370692E630000000010666D33336130787865765F7370692E6300000000BCA8E100FFFFFFFF5A453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C48617264776172655C5350495C5350492E6300000000055350492E63000000009CC1B600FFFFFFFF70453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C424F4F544C4F414445525F4941505C626F6F746C6F616465725F6961702E630000000010626F6F746C6F616465725F6961702E6300000000F7B88600FFFFFFFF70453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C4F46465F434849505F464C4153485C6F66665F636869705F666C6173682E6300000000106F66665F636869705F666C6173682E6300000000D9ADC200FFFFFFFF70453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C4F46465F434849505F464C4153485C6F66665F636869705F666C6173682E6800000000106F66665F636869705F666C6173682E6800000000A5C2D700FFFFFFFF5D453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C4532505C656570726F6D2E680000000008656570726F6D2E6800000000B3A6BE00FFFFFFFF5D453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C4532505C454550524F4D2E630000000008454550524F4D2E6300000000EAD6A300FFFFFFFF72453A5C476173466C6F776D657465725C496E7465726E65745F6F665F7468696E67735F76616C76655C535A563130335C535A563130335F464D33334130787845565F53695A68755C46756E6374696F6E5C53544F524147455C73797374656D5F666C6173685F6D656D5F6D616E6167652E63000000001973797374656D5F666C6173685F6D656D5F6D616E6167652E6300000000F6FA7D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000052010000660000008007000006030000</Data>
      </MDITabState>
    </MDIClientArea>
    <ViewEx>
@@ -130,11 +130,11 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>000000004F0000004E01000029030000</Data>
          <Data>000000004F0000004E010000EF020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>00000000660000004E01000040030000</Data>
          <Data>00000000660000004E01000058020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
@@ -150,7 +150,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000004B01000010030000</Data>
          <Data>03000000660000004B010000D6020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -170,7 +170,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000004B01000010030000</Data>
          <Data>03000000660000004B010000D6020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -450,7 +450,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000004B01000010030000</Data>
          <Data>03000000660000004B010000D6020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -470,7 +470,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000004B01000010030000</Data>
          <Data>03000000660000004B010000D6020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -490,7 +490,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000440300007D070000C5030000</Data>
          <Data>030000000A0300007D070000C5030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -530,7 +530,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000440300007D070000C5030000</Data>
          <Data>030000000A0300007D070000C5030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -1150,7 +1150,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000004B01000010030000</Data>
          <Data>03000000660000004B01000028020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -1170,7 +1170,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000440300007D070000C5030000</Data>
          <Data>030000000A0300007D070000C5030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -1190,7 +1190,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000440300007D070000C5030000</Data>
          <Data>030000000A0300007D07000073040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -1250,7 +1250,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000440300007D070000C5030000</Data>
          <Data>030000000A0300007D07000073040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -1270,7 +1270,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000440300007D070000C5030000</Data>
          <Data>030000000A0300007D07000073040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -1799,14 +1799,14 @@
      </Window>
      <DockMan>
        <Len>3332</Len>
        <Data>000000000B000000000000000010000001000000FFFFFFFFFFFFFFFF4E0100004F000000520100002903000001000000020000100400000001000000F3FEFFFF6806000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000FFFF02000B004354616262656450616E65001000000100000000000000660000004E01000040030000000000004F0000004E010000290300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D60100004589000001800020000000000000F40000006600000090050000F4000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002C02000090050000CE020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000029030000800700002D03000001000000010000100400000001000000A0FDFFFF24010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000004403000080070000F5030000000000002D03000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
        <Data>000000000B000000000000000010000001000000FFFFFFFFFFFFFFFF4E0100004F00000052010000EF02000001000000020000100400000001000000F3FEFFFF6806000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000FFFF02000B004354616262656450616E65001000000100000000000000660000004E01000058020000000000004F0000004E010000EF0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D60100004589000001800020000000000000F40000006600000090050000F4000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002C02000090050000CE020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000EF02000080070000F30200000100000001000010040000000100000013FEFFFF97010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000005C02000080070000F503000000000000F302000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
      </DockMan>
      <ToolBar>
        <RegID>59392</RegID>
        <Name>File</Name>
        <Buttons>
          <Len>3022</Len>
          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001573697A687553657454696D654C6F6748616E646C65960000000000000014001573697A687553657454696D654C6F6748616E646C6510454550524F4D5F576169745F427573790F5370695772697465416E64526561640853706957726974650E656570414252656164436865636B11486973746F72795265636F7264546573741C466C6173684D756C7469706C6552656164416E64437263436865636B154F55545F464C4153485F4354524C5F454E41424C45124C494D49545F545249474745525F504F5254094B4559325F504F52541073697A6875416C61726D5265636F72642B73797374656D5F7374617475735F776F72645F672E7374617475735F776F72642E76616C76655F6C6F636B0E56616C76654374726C4F726465720D56616C76654374726C486164652276616C76655F6374726C5F706172615F672E76616C76655F6374726C5F6F726465721473697A68755F70726576696F75735F6C6F675F6C106C6F675F616C61726D5F6374726C5F671173697A68755F616C61726D5F6C6F675F6C0856435F434C4F53451076616C76655F6374726C5F6F726465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
          <Len>3025</Len>
          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000174F75745F466C6173685F4D756C7469706C65577269746596000000000000001400174F75745F466C6173685F4D756C7469706C655772697465164F75745F466C6173685F4D756C7469706C655265616410466C6173685F45726173655F4368697016466C6173685F4F55545F45726173655F536563746F720F466C6173685F576169745F427573790F466C6173685F506F776572446F776E0C466C6173685F57414B4555500A4532505F5057525F4F4E0F5370695772697465416E645265616411535049785F4953525F525842465F43686B1D50524F4752414D5F5550444154455F53544F524147455F4C454E4754482150524F4752414D5F5550444154455F53544F524147455F53544152545F414444520730783139303030114572726F725374617475735F53544D33321855707065725F436F6D707574657249617048616E646C65720A30783543354341414242164F54415F557064617461526573657448616E646C65721475705F636F6D6D5F52585F444D415F636865636B1255505F434F4D4D5F52455F524543565F454E1255505F434F4D4D5F55415254585F4952516E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
        </Buttons>
        <OriginalItems>
          <Len>1423</Len>
@@ -1838,7 +1838,7 @@
        <Name>Debug</Name>
        <Buttons>
          <Len>2373</Len>
          <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
          <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
        </Buttons>
        <OriginalItems>
          <Len>898</Len>
@@ -1871,11 +1871,11 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9B0100004F00000092050000DD000000</Data>
          <Data>3D0100004F00000092050000DD000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>9B0100006600000092050000F4000000</Data>
          <Data>3D0100006600000092050000F4000000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
@@ -1891,7 +1891,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000009401000005030000</Data>
          <Data>03000000660000003601000005030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -1911,7 +1911,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000009401000005030000</Data>
          <Data>03000000660000003601000005030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2031,7 +2031,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9E010000660000008F050000C4000000</Data>
          <Data>40010000660000008F050000C4000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2191,7 +2191,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000009401000005030000</Data>
          <Data>03000000660000003601000005030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2211,7 +2211,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000009401000005030000</Data>
          <Data>03000000660000003601000005030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2291,7 +2291,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9B0100006300000092050000DD000000</Data>
          <Data>3D0100006300000092050000DD000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2311,7 +2311,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9E010000660000008F050000C4000000</Data>
          <Data>40010000660000008F050000C4000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2391,7 +2391,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9E010000660000008F050000C4000000</Data>
          <Data>40010000660000008F050000C4000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2411,7 +2411,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9E010000660000008F050000C4000000</Data>
          <Data>40010000660000008F050000C4000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2431,7 +2431,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9E010000660000008F050000C4000000</Data>
          <Data>40010000660000008F050000C4000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2451,7 +2451,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9E010000660000008F050000C4000000</Data>
          <Data>40010000660000008F050000C4000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -2891,7 +2891,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000009401000005030000</Data>
          <Data>03000000660000003601000005030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -3031,7 +3031,7 @@
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>9E010000660000008F050000C4000000</Data>
          <Data>40010000660000008F050000C4000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
@@ -3540,14 +3540,14 @@
      </Window>
      <DockMan>
        <Len>3415</Len>
        <Data>000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF9B010000DD00000092050000E1000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000009B0100006600000092050000F40000009B0100004F00000092050000DD0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF970100004F0000009B0100001E03000001000000020000100400000001000000D2FEFFFF59040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000009701000035030000000000004F000000970100001E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000036020000A80500003A02000000000000010000000400000001000000B0FEFFFF0000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFFC0030000AA020000C40300004C03000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000001E03000092050000220300000100000001000010040000000100000005FEFFFFF7000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000003903000092050000F5030000000000002203000092050000DE0300000000000040820056060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365010000007794000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF920500004F00000096050000DE0300000100000002000010040000000100000024FCFFFF6502000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800040000001000000960500006600000080070000F5030000960500004F00000080070000DE03000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000</Data>
        <Data>000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF3D010000DD00000092050000E1000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000003D0100006600000092050000F40000003D0100004F00000092050000DD0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF390100004F0000003D0100001E030000010000000200001004000000010000001EFFFFFFA5040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000003901000035030000000000004F000000390100001E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000036020000A80500003A02000000000000010000000400000001000000B0FEFFFF0000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFFC0030000AA020000C40300004C03000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000001E03000092050000220300000100000001000010040000000100000005FEFFFFF7000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000003903000092050000F5030000000000002203000092050000DE0300000000000040820056060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365010000007794000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF920500004F00000096050000DE0300000100000002000010040000000100000024FCFFFF6502000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800040000001000000960500006600000080070000F5030000960500004F00000080070000DE03000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000</Data>
      </DockMan>
      <ToolBar>
        <RegID>59392</RegID>
        <Name>File</Name>
        <Buttons>
          <Len>3017</Len>
          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000010454550524F4D5F576169745F42757379960000000000000014001573697A687553657454696D654C6F6748616E646C6510454550524F4D5F576169745F427573790F5370695772697465416E64526561640853706957726974650E656570414252656164436865636B11486973746F72795265636F7264546573741C466C6173684D756C7469706C6552656164416E64437263436865636B154F55545F464C4153485F4354524C5F454E41424C45124C494D49545F545249474745525F504F5254094B4559325F504F52541073697A6875416C61726D5265636F72642B73797374656D5F7374617475735F776F72645F672E7374617475735F776F72642E76616C76655F6C6F636B0E56616C76654374726C4F726465720D56616C76654374726C486164652276616C76655F6374726C5F706172615F672E76616C76655F6374726C5F6F726465721473697A68755F70726576696F75735F6C6F675F6C106C6F675F616C61726D5F6374726C5F671173697A68755F616C61726D5F6C6F675F6C0856435F434C4F53451076616C76655F6374726C5F6F726465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
          <Len>3025</Len>
          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000174F75745F466C6173685F4D756C7469706C65577269746596000000000000001400174F75745F466C6173685F4D756C7469706C655772697465164F75745F466C6173685F4D756C7469706C655265616410466C6173685F45726173655F4368697016466C6173685F4F55545F45726173655F536563746F720F466C6173685F576169745F427573790F466C6173685F506F776572446F776E0C466C6173685F57414B4555500A4532505F5057525F4F4E0F5370695772697465416E645265616411535049785F4953525F525842465F43686B1D50524F4752414D5F5550444154455F53544F524147455F4C454E4754482150524F4752414D5F5550444154455F53544F524147455F53544152545F414444520730783139303030114572726F725374617475735F53544D33321855707065725F436F6D707574657249617048616E646C65720A30783543354341414242164F54415F557064617461526573657448616E646C65721475705F636F6D6D5F52585F444D415F636865636B1255505F434F4D4D5F52455F524543565F454E1255505F434F4D4D5F55415254585F4952516E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
        </Buttons>
        <OriginalItems>
          <Len>1423</Len>
@@ -3563,7 +3563,7 @@
        <Name>Build</Name>
        <Buttons>
          <Len>955</Len>
          <Data>00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
          <Data>00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
        </Buttons>
        <OriginalItems>
          <Len>583</Len>
@@ -3579,7 +3579,7 @@
        <Name>Debug</Name>
        <Buttons>
          <Len>2362</Len>
          <Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
          <Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
        </Buttons>
        <OriginalItems>
          <Len>898</Len>
@@ -3603,66 +3603,111 @@
    <ActiveMDIGroup>0</ActiveMDIGroup>
    <MDIGroup>
      <Size>100</Size>
      <ActiveTab>0</ActiveTab>
      <ActiveTab>2</ActiveTab>
      <Doc>
        <Name>..\Core\main.c</Name>
        <ColumnNumber>12</ColumnNumber>
        <TopLine>64</TopLine>
        <CurrentLine>78</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>RTE/Device/FM33A06XEV/startup_FM33A0XXEV.s</Name>
        <ColumnNumber>0</ColumnNumber>
        <TopLine>88</TopLine>
        <CurrentLine>101</CurrentLine>
        <TopLine>98</TopLine>
        <CurrentLine>38</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\STORAGE\sizhu_event_record.c</Name>
        <ColumnNumber>26</ColumnNumber>
        <TopLine>129</TopLine>
        <CurrentLine>145</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\UPPER_COMPUTER\upper_com_data_pro.c</Name>
        <Name>..\Function\OTHER_FUN\other_fun.c</Name>
        <ColumnNumber>1</ColumnNumber>
        <TopLine>49</TopLine>
        <CurrentLine>54</CurrentLine>
        <TopLine>60</TopLine>
        <CurrentLine>90</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\UPPER_COMPUTER\upper_com_iap_pro.c</Name>
        <ColumnNumber>1</ColumnNumber>
        <TopLine>30</TopLine>
        <CurrentLine>31</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\UPPER_COMPUTER\upper_com.c</Name>
        <ColumnNumber>62</ColumnNumber>
        <ColumnNumber>26</ColumnNumber>
        <TopLine>289</TopLine>
        <CurrentLine>297</CurrentLine>
        <CurrentLine>313</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Soft\system_general_para.h</Name>
        <ColumnNumber>0</ColumnNumber>
        <TopLine>179</TopLine>
        <CurrentLine>192</CurrentLine>
        <Name>..\Drivers\fm33a0xxev_spi.c</Name>
        <ColumnNumber>3</ColumnNumber>
        <TopLine>633</TopLine>
        <CurrentLine>645</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Core\main.h</Name>
        <Name>..\Hardware\SPI\spi.c</Name>
        <ColumnNumber>23</ColumnNumber>
        <TopLine>26</TopLine>
        <CurrentLine>54</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\BOOTLOADER_IAP\bootloader_iap.c</Name>
        <ColumnNumber>1</ColumnNumber>
        <TopLine>123</TopLine>
        <CurrentLine>146</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\OFF_CHIP_FLASH\off_chip_flash.c</Name>
        <ColumnNumber>28</ColumnNumber>
        <TopLine>188</TopLine>
        <CurrentLine>196</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\OFF_CHIP_FLASH\off_chip_flash.h</Name>
        <ColumnNumber>29</ColumnNumber>
        <TopLine>30</TopLine>
        <CurrentLine>42</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\E2P\eeprom.h</Name>
        <ColumnNumber>0</ColumnNumber>
        <TopLine>54</TopLine>
        <CurrentLine>86</CurrentLine>
        <TopLine>57</TopLine>
        <CurrentLine>73</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\E2P\EEPROM.c</Name>
        <ColumnNumber>0</ColumnNumber>
        <TopLine>19</TopLine>
        <CurrentLine>33</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
      <Doc>
        <Name>..\Function\STORAGE\system_flash_mem_manage.c</Name>
        <ColumnNumber>0</ColumnNumber>
        <TopLine>1</TopLine>
        <CurrentLine>20</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
KEIL_MDKARM/SZV103_FM33A0_MainSystem.uvoptx
@@ -816,6 +816,18 @@
      <RteFlg>0</RteFlg>
      <bShared>0</bShared>
    </File>
    <File>
      <GroupNumber>5</GroupNumber>
      <FileNumber>41</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
      <bDave2>0</bDave2>
      <PathWithFileName>..\Function\UPPER_COMPUTER\upper_com_iap_pro.c</PathWithFileName>
      <FilenameWithoutPath>upper_com_iap_pro.c</FilenameWithoutPath>
      <RteFlg>0</RteFlg>
      <bShared>0</bShared>
    </File>
  </Group>
  <Group>
@@ -826,7 +838,7 @@
    <RteFlg>0</RteFlg>
    <File>
      <GroupNumber>6</GroupNumber>
      <FileNumber>41</FileNumber>
      <FileNumber>42</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -838,7 +850,7 @@
    </File>
    <File>
      <GroupNumber>6</GroupNumber>
      <FileNumber>42</FileNumber>
      <FileNumber>43</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -858,7 +870,7 @@
    <RteFlg>0</RteFlg>
    <File>
      <GroupNumber>7</GroupNumber>
      <FileNumber>43</FileNumber>
      <FileNumber>44</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -870,7 +882,7 @@
    </File>
    <File>
      <GroupNumber>7</GroupNumber>
      <FileNumber>44</FileNumber>
      <FileNumber>45</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -882,7 +894,7 @@
    </File>
    <File>
      <GroupNumber>7</GroupNumber>
      <FileNumber>45</FileNumber>
      <FileNumber>46</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -910,7 +922,7 @@
    <RteFlg>0</RteFlg>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>46</FileNumber>
      <FileNumber>47</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -922,7 +934,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>47</FileNumber>
      <FileNumber>48</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -934,7 +946,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>48</FileNumber>
      <FileNumber>49</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -946,7 +958,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>49</FileNumber>
      <FileNumber>50</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -958,7 +970,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>50</FileNumber>
      <FileNumber>51</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -970,7 +982,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>51</FileNumber>
      <FileNumber>52</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -982,7 +994,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>52</FileNumber>
      <FileNumber>53</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -994,7 +1006,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>53</FileNumber>
      <FileNumber>54</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1006,7 +1018,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>54</FileNumber>
      <FileNumber>55</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1018,7 +1030,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>55</FileNumber>
      <FileNumber>56</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1030,7 +1042,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>56</FileNumber>
      <FileNumber>57</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1042,7 +1054,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>57</FileNumber>
      <FileNumber>58</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1054,7 +1066,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>58</FileNumber>
      <FileNumber>59</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1066,7 +1078,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>59</FileNumber>
      <FileNumber>60</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1078,7 +1090,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>60</FileNumber>
      <FileNumber>61</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1090,7 +1102,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>61</FileNumber>
      <FileNumber>62</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1102,7 +1114,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>62</FileNumber>
      <FileNumber>63</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1114,7 +1126,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>63</FileNumber>
      <FileNumber>64</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1126,7 +1138,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>64</FileNumber>
      <FileNumber>65</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1138,7 +1150,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>65</FileNumber>
      <FileNumber>66</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1150,7 +1162,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>66</FileNumber>
      <FileNumber>67</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1162,7 +1174,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>67</FileNumber>
      <FileNumber>68</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1174,7 +1186,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>68</FileNumber>
      <FileNumber>69</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1186,7 +1198,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>69</FileNumber>
      <FileNumber>70</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1198,7 +1210,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>70</FileNumber>
      <FileNumber>71</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1210,7 +1222,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>71</FileNumber>
      <FileNumber>72</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1222,7 +1234,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>72</FileNumber>
      <FileNumber>73</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1234,7 +1246,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>73</FileNumber>
      <FileNumber>74</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1246,7 +1258,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>74</FileNumber>
      <FileNumber>75</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1258,7 +1270,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>75</FileNumber>
      <FileNumber>76</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1270,7 +1282,7 @@
    </File>
    <File>
      <GroupNumber>9</GroupNumber>
      <FileNumber>76</FileNumber>
      <FileNumber>77</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1290,7 +1302,7 @@
    <RteFlg>0</RteFlg>
    <File>
      <GroupNumber>10</GroupNumber>
      <FileNumber>77</FileNumber>
      <FileNumber>78</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1302,7 +1314,7 @@
    </File>
    <File>
      <GroupNumber>10</GroupNumber>
      <FileNumber>78</FileNumber>
      <FileNumber>79</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1314,7 +1326,7 @@
    </File>
    <File>
      <GroupNumber>10</GroupNumber>
      <FileNumber>79</FileNumber>
      <FileNumber>80</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1334,7 +1346,7 @@
    <RteFlg>0</RteFlg>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>80</FileNumber>
      <FileNumber>81</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1346,7 +1358,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>81</FileNumber>
      <FileNumber>82</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1358,7 +1370,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>82</FileNumber>
      <FileNumber>83</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1370,7 +1382,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>83</FileNumber>
      <FileNumber>84</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1382,7 +1394,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>84</FileNumber>
      <FileNumber>85</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1394,7 +1406,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>85</FileNumber>
      <FileNumber>86</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1406,7 +1418,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>86</FileNumber>
      <FileNumber>87</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1418,7 +1430,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>87</FileNumber>
      <FileNumber>88</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1430,7 +1442,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>88</FileNumber>
      <FileNumber>89</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1442,7 +1454,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>89</FileNumber>
      <FileNumber>90</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1454,7 +1466,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>90</FileNumber>
      <FileNumber>91</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1466,7 +1478,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>91</FileNumber>
      <FileNumber>92</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1478,7 +1490,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>92</FileNumber>
      <FileNumber>93</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1490,7 +1502,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>93</FileNumber>
      <FileNumber>94</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
@@ -1502,7 +1514,7 @@
    </File>
    <File>
      <GroupNumber>11</GroupNumber>
      <FileNumber>94</FileNumber>
      <FileNumber>95</FileNumber>
      <FileType>1</FileType>
      <tvExp>0</tvExp>
      <tvExpOptDlg>0</tvExpOptDlg>
KEIL_MDKARM/SZV103_FM33A0_MainSystem.uvprojx
@@ -275,8 +275,8 @@
              </OCR_RVCT3>
              <OCR_RVCT4>
                <Type>1</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x80000</Size>
                <StartAddress>0x19000</StartAddress>
                <Size>0x67000</Size>
              </OCR_RVCT4>
              <OCR_RVCT5>
                <Type>1</Type>
@@ -361,7 +361,7 @@
            </VariousControls>
          </Aads>
          <LDads>
            <umfTarg>0</umfTarg>
            <umfTarg>1</umfTarg>
            <Ropi>0</Ropi>
            <Rwpi>0</Rwpi>
            <noStLib>0</noStLib>
@@ -603,6 +603,11 @@
              <FileType>1</FileType>
              <FilePath>..\Function\UPPER_COMPUTER\upper_com_data_pro.c</FilePath>
            </File>
            <File>
              <FileName>upper_com_iap_pro.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Function\UPPER_COMPUTER\upper_com_iap_pro.c</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
README.md
@@ -101,3 +101,13 @@
1、增加报警记录的存储函数;
2、增加阀控事件记录的存储函数;
3、修改阀门命令函数,增加阀控来源,阀控来源增加强开。
4、准备添加历史数据记录存储功能的测试函数。
##2024年6月11日:
1、EEPROM(SPI3)操作测试,发现第一次操作有问题是电源和CS引脚初始化有影响,初始化为电源有效、两个CS拉高,之后再正常操作EEPROM就正常。
2、EEPROM操作完把电源和两个CS都拉低,但是发现有0.2V左右电压,  将SPI功能和引脚都关闭,电压接近0。
3、增加恢复出厂时间记录函数、设置时间事件记录;
4、上位机增加时间的读取设置。
##2024年6月12日:
1. 增加IAP功能,程序首地址指向0x19000;
2. 升级过程中涉及到片外FLASH操作的都加上了使能控制。
3. 测试上位机差分升级发现有点问题。
Soft/system_run_fun.c
@@ -104,14 +104,13 @@
    SYSTEM_EEP_IDENTIFICATION_T        sys_eep_id_A_l={0};
    SYSTEM_EEP_IDENTIFICATION_T        sys_eep_id_B_l={0};
    uint8_t     eep_none_flag = 1; //0´ú±í¿Õ£¬·Ç0´ú±í·Ç¿Õ
    uint8_t    buf_test[8];
    uint8_t    buf_test[10];
    
    //?²âÊÔÌí¼Ó
//    EEPROM_test();
    
    
    EEPROM_CTRL_ENABLE;
    EEPROM_MultipleRead(buf_test, 0, 1);//?·¢ÏÖ´æ´¢µÚÒ»´Î²Ù×÷ÓÐÎÊÌ⣬ҪÏȲÙ×÷Ò»´Î£¬ºóÐø²Ù×÷¶¼Õý³£
    
    //¶ÁÈ¡²ÎÊý³õʼ»¯ÅäÖñêʶ 
    //Èç¹û±êʶÎÞ·¨Ê¶±ðÔò´ú±í´æ´¢ÐèҪȫ²¿Ð´ÈëĬÈÏÖµ