= 1)&&(UART_DEFINE<= 30))
+ 452 2 {
+ 453 3 if(RI)
+ 454 3 {
+ 455 4 //BootMcuWdtClear(); //在该程序循环中,未接收到UART通讯,
+ -则判定通讯异常,触发看门狗
+ 456 4 ucUartBuf[ucUartBufPT] = SBUF;
+ 457 4 ucUartBufPT++;
+ 458 4 if(ucUartBufPT >= 140) //该指针不会超过140
+ 459 4 {
+ 460 5 ucUartBufPT = 0;
+ 461 5 }
+ 462 4 if(ucUartBufPT == 1)
+ 463 4 {
+ 464 5 if(ucUartBuf[HEARD1] != 0x5A) //检查帧头是否Wie0x5AA5
+ 465 5 {
+ 466 6 ucUartBufPT = 0;
+ 467 6 }
+ 468 5
+ 469 5 }
+ 470 4 else if(ucUartBufPT == 2)
+ 471 4 {
+ 472 5
+ 473 5 if(ucUartBuf[HEARD2] != 0xA5)
+ 474 5 {
+ 475 6 ucUartBufPT = 0;
+ 476 6 }
+C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 9
+
+ 477 5 else
+ 478 5 {
+ 479 6 uiUartRcvChkSum = 0; //帧头判断正确
+ 480 6 ucUartErrCode = 0;
+ 481 6 }
+ 482 5 }
+ 483 4 else
+ 484 4 {
+ 485 5
+ 486 5 if(ucUartBufPT < (ucUartBuf[LENGTH]+9))
+ 487 5 {
+ 488 6 if(ucUartBufPT <= (ucUartBuf[LENGTH]+7))
+ 489 6 {
+ 490 7 uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1];
+ 491 7 }
+ 492 6
+ 493 6 if(ucUartBufPT == (TARGET+1)) //检查ID
+ 494 6 {
+ 495 7
+ 496 7 if(ucUartBuf[TARGET] != IAP_BMSID)
+ 497 7 {
+ 498 8 ucUartBufPT = 0;
+ 499 8 }
+ 500 7 }
+ 501 6 else if(ucUartBufPT == (COMMAND+1)) //检测COMMAND
+ 502 6 {
+ 503 7 if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE)
+ 504 7 && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN)
+ 505 7 && (ucUartBuf[COMMAND] != IAP_CMD_TRANS)
+ 506 7 && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY)
+ 507 7 && (ucUartBuf[COMMAND] != IAP_CMD_RESET))
+ 508 7 {
+ 509 8 ucUartErrCode |= IAPERROR_CMD;
+ 510 8 }
+ 511 7 }
+ 512 6 }
+ 513 5 else
+ 514 5 {
+ 515 6 BootMcuWdtClear();
+ 516 6 UartCmdProcess();
+ 517 6 }
+ 518 5 }
+ 519 4 RI = 0;
+ 520 4 }
+ 521 3
+ 522 3 if(TI)
+ 523 3 {
+ 524 4 BootMcuWdtClear(); //在该程序循环中,未接收到UART通讯,则
+ -判定通讯异常,触发看门狗
+ 525 4
+ 526 4 if(ucUartBufPT >= (ucUartBuf[LENGTH]+8))
+ 527 4 {
+ 528 5 UartRxEn(); //Allow UART receive data
+ 529 5 ucUartBufPT = 0;
+ 530 5 ucUartBuf[0] = 0;
+ 531 5 ucUartBuf[1] = 0;
+ 532 5 ucUartBuf[2] = 0;
+ 533 5 bUartSndOverFlg = 1;
+ 534 5 }
+ 535 4 else
+ 536 4 {
+ 537 5 ucUartBufPT++;
+C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 10
+
+ 538 5 UartTxEn(ucUartBuf[ucUartBufPT]);
+ 539 5 }
+ 540 4
+ 541 4 TI = 0;
+ 542 4 }
+ 543 3
+ 544 3 if(ucIapRestCommand == IAP_CMD_RESET)
+ 545 3 {
+ 546 4 BootMcuWdtClear();
+ 547 4 if(bUartSndOverFlg) //Reset帧回复结束
+ 548 4 {
+ 549 5 bUartSndOverFlg = 0;
+ 550 5 ucIapRestCommand = 0;
+ 551 5 ((void(code*)(void))0x0000)();
+ 552 5 }
+ 553 4 }
+ 554 3 }
+ 555 2 #elif ((UART_DEFINE >= 31)&&(UART_DEFINE<= 60))
+ {
+ INSCON = 0x40;
+ if(RI1)
+ {
+ //BootMcuWdtClear(); //在该程序循环中,未接收到UART通讯,
+ -则判定通讯异常,触发看门狗
+ ucUartBuf[ucUartBufPT] = SBUF1;
+ INSCON = 0x00;
+ ucUartBufPT++;
+ if(ucUartBufPT >= 140) //该指针不会超过140
+ {
+ ucUartBufPT = 0;
+ }
+ if(ucUartBufPT == 1)
+ {
+ if(ucUartBuf[HEARD1] != 0x5A) //检查帧头是否Wie0x5AA5
+ {
+ ucUartBufPT = 0;
+ }
+
+ }
+ else if(ucUartBufPT == 2)
+ {
+
+ if(ucUartBuf[HEARD2] != 0xA5)
+ {
+ ucUartBufPT = 0;
+ }
+ else
+ {
+ uiUartRcvChkSum = 0; //帧头判断正确
+ ucUartErrCode = 0;
+ }
+ }
+ else
+ {
+
+ if(ucUartBufPT < (ucUartBuf[LENGTH]+9))
+ {
+ if(ucUartBufPT <= (ucUartBuf[LENGTH]+7))
+ {
+ uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1];
+ }
+
+C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 11
+
+ if(ucUartBufPT == (TARGET+1)) //检查ID
+ {
+
+ if(ucUartBuf[TARGET] != IAP_BMSID)
+ {
+ ucUartBufPT = 0;
+ }
+ }
+ else if(ucUartBufPT == (COMMAND+1)) //检测COMMAND
+ {
+ if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE)
+ && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN)
+ && (ucUartBuf[COMMAND] != IAP_CMD_TRANS)
+ && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY)
+ && (ucUartBuf[COMMAND] != IAP_CMD_RESET))
+ {
+ ucUartErrCode |= IAPERROR_CMD;
+ }
+ }
+ }
+ else
+ {
+ BootMcuWdtClear();
+ UartCmdProcess();
+ }
+ }
+ INSCON = 0x40;
+ RI1 = 0;
+ INSCON = 0x00;
+ }
+ INSCON = 0x40;
+
+ if(TI1)
+ {
+ INSCON = 0x00;
+ BootMcuWdtClear(); //在该程序循环中,未接收到UART通讯,则
+ -判定通讯异常,触发看门狗
+
+ if(ucUartBufPT >= (ucUartBuf[LENGTH]+8))
+ {
+ UartRxEn(); //Allow UART receive data
+ ucUartBufPT = 0;
+ ucUartBuf[0] = 0;
+ ucUartBuf[1] = 0;
+ ucUartBuf[2] = 0;
+ bUartSndOverFlg = 1;
+ }
+ else
+ {
+ ucUartBufPT++;
+ UartTxEn(ucUartBuf[ucUartBufPT]);
+ }
+ INSCON = 0x40;
+
+ TI1 = 0;
+ INSCON = 0x00;
+ }
+
+ if(ucIapRestCommand == IAP_CMD_RESET)
+ {
+ BootMcuWdtClear();
+ if(bUartSndOverFlg) //Reset帧回复结束
+C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 12
+
+ {
+ bUartSndOverFlg = 0;
+ ucIapRestCommand = 0;
+ ((void(code*)(void))0x0000)();
+ }
+ }
+ }
+ #elif ( UART_DEFINE == 61)
+ {
+ INSCON = 0x40;
+ if(RI2)
+ {
+ //BootMcuWdtClear(); //在该程序循环中,未接收到UART通讯,
+ -则判定通讯异常,触发看门狗
+ ucUartBuf[ucUartBufPT] = SBUF2;
+ INSCON = 0x00;
+ ucUartBufPT++;
+ if(ucUartBufPT >= 140) //该指针不会超过140
+ {
+ ucUartBufPT = 0;
+ }
+ if(ucUartBufPT == 1)
+ {
+ if(ucUartBuf[HEARD1] != 0x5A) //检查帧头是否Wie0x5AA5
+ {
+ ucUartBufPT = 0;
+ }
+
+ }
+ else if(ucUartBufPT == 2)
+ {
+
+ if(ucUartBuf[HEARD2] != 0xA5)
+ {
+ ucUartBufPT = 0;
+ }
+ else
+ {
+ uiUartRcvChkSum = 0; //帧头判断正确
+ ucUartErrCode = 0;
+ }
+ }
+ else
+ {
+
+ if(ucUartBufPT < (ucUartBuf[LENGTH]+9))
+ {
+ if(ucUartBufPT <= (ucUartBuf[LENGTH]+7))
+ {
+ uiUartRcvChkSum += ucUartBuf[ucUartBufPT-1];
+ }
+
+ if(ucUartBufPT == (TARGET+1)) //检查ID
+ {
+
+ if(ucUartBuf[TARGET] != IAP_BMSID)
+ {
+ ucUartBufPT = 0;
+ }
+ }
+ else if(ucUartBufPT == (COMMAND+1)) //检测COMMAND
+ {
+C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 13
+
+ if((ucUartBuf[COMMAND] != IAP_CMD_HANDSHAKE)
+ && (ucUartBuf[COMMAND] != IAP_CMD_BEGIN)
+ && (ucUartBuf[COMMAND] != IAP_CMD_TRANS)
+ && (ucUartBuf[COMMAND] != IAP_CMD_VERIFY)
+ && (ucUartBuf[COMMAND] != IAP_CMD_RESET))
+ {
+ ucUartErrCode |= IAPERROR_CMD;
+ }
+ }
+ }
+ else
+ {
+ BootMcuWdtClear();
+ UartCmdProcess();
+ }
+ }
+ INSCON = 0x40;
+ RI2 = 0;
+ INSCON = 0x00;
+ }
+ INSCON = 0x40;
+
+ if(TI2)
+ {
+ INSCON = 0x00;
+ BootMcuWdtClear(); //在该程序循环中,未接收到UART通讯,则
+ -判定通讯异常,触发看门狗
+
+ if(ucUartBufPT >= (ucUartBuf[LENGTH]+8))
+ {
+ UartRxEn(); //Allow UART receive data
+ ucUartBufPT = 0;
+ ucUartBuf[0] = 0;
+ ucUartBuf[1] = 0;
+ ucUartBuf[2] = 0;
+ bUartSndOverFlg = 1;
+ }
+ else
+ {
+ ucUartBufPT++;
+ UartTxEn(ucUartBuf[ucUartBufPT]);
+ }
+ INSCON = 0x40;
+
+ TI2 = 0;
+ INSCON = 0x00;
+ }
+
+ if(ucIapRestCommand == IAP_CMD_RESET)
+ {
+ BootMcuWdtClear();
+ if(bUartSndOverFlg) //Reset帧回复结束
+ {
+ bUartSndOverFlg = 0;
+ ucIapRestCommand = 0;
+ ((void(code*)(void))0x0000)();
+ }
+ }
+ }
+ #endif
+ 780 2 }
+ 781 1 }
+C51 COMPILER V9.01 IAPISP 12/22/2023 12:15:06 PAGE 14
+
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 2211 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 662 ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = 18 24
+ IDATA SIZE = ---- ----
+ BIT SIZE = 3 1
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/IapIsp.obj b/output/IapIsp.obj
new file mode 100644
index 0000000..aed0c79
Binary files /dev/null and b/output/IapIsp.obj differ
diff --git a/output/Initial.lst b/output/Initial.lst
new file mode 100644
index 0000000..9c0b57c
--- /dev/null
+++ b/output/Initial.lst
@@ -0,0 +1,660 @@
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE INITIAL
+OBJECT MODULE PLACED IN .\output\Initial.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\Initial.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Loa
+ -d.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\co
+ -de_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Initial.lst) OBJECT(.\output\Ini
+ -tial.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 /*************************************************************************************************
+ 13 * 函数名: InitVar
+ 14 * 参 数: 无
+ 15 * 返回值: 无
+ 16 * 描 述: 初始化变量,主要是非0变量。在ClrRam()函数中,已将所有Xdata/Idata/Data区全部清零
+ 17 *************************************************************************************************/
+ 18 void InitVar(void)
+ 19 {
+ 20 1 ucBalanceStep = BALANCE_ENABLE;
+ 21 1 MemorySet((U8 xdata *)slCadcCurBuf, 0, sizeof(slCadcCurBuf));
+ 22 1 MemorySet((U8 xdata *)Info.uiVCell, 0, sizeof(Info.uiVCell));
+ 23 1 Info.uiTS[0] = 2731;
+ 24 1 Info.uiTS[1] = 2731;
+ 25 1
+ 26 1 bSlowDischarge = 0;
+ 27 1 bMidDischarge = 0;
+ 28 1 ucDsgingSpeed = 2;
+ 29 1 bFastDischarge = 1;
+ 30 1 bPorSelfTestFlg = 1;
+ 31 1
+ 32 1 ucTempeMiddle = 80;
+ 33 1 }
+ 34
+ 35 /*************************************************************************************************
+ 36 * 函数名: SysParaInit
+ 37 * 参 数: 无
+ 38 * 返回值: 无
+ 39 * 描 述: 从MCU Flash参数区读取数据,并针对部分变量进行初始化
+ 40 *************************************************************************************************/
+ 41 void SysParaInit(void)
+ 42 {
+ 43 1 if(McuFlashCheckFlg(MCUFLASH_BK1_FLG_ADDR))
+ 44 1 {
+ 45 2 McuFlashRead(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR, 512);
+ 46 2 if(!McuFlashCheckFlg(MCUFLASH_BK2_FLG_ADDR))
+ 47 2 {
+ 48 3 McuFlashWrite(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR); //更新备份区2
+ 49 3 }
+ 50 2 }
+ 51 1 else if(McuFlashCheckFlg(MCUFLASH_BK2_FLG_ADDR))
+ 52 1 {
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 2
+
+ 53 2 McuFlashRead(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR, 512);
+ 54 2 McuFlashWrite(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR); //更新备份区1
+ 55 2 }
+ 56 1 else
+ 57 1 {
+ 58 2 bMcuFlashErr = 1;
+ 59 2 return;
+ 60 2 }
+ 61 1
+ 62 1 uiPackConfig = E2uiPackConfigMap;
+ 63 1 Info.uiPackConfig = uiPackConfig;
+ 64 1 Info.ulFCC = E2ulFCC;
+ 65 1 Info.uiCycleCount = E2uiCycleCount;
+ 66 1
+ 67 1 ucCellNum = (uiPackConfig&0x0007)+3; //根据配置初始化电芯串数和Offset
+ 68 1
+ 69 1 if(ucCellNum==5 || ucCellNum==10)
+ 70 1 {
+ 71 2 ucCellNumOffset = 0;
+ 72 2 }
+ 73 1 else if(ucCellNum==4 || ucCellNum==9)
+ 74 1 {
+ 75 2 ucCellNumOffset = 1;
+ 76 2 }
+ 77 1 else
+ 78 1 {
+ 79 2 ucCellNumOffset = 2;
+ 80 2 }
+ 81 1 }
+ 82
+ 83 /*************************************************************************************************
+ 84 * 函数名: InitIRQ
+ 85 * 参 数: 无
+ 86 * 返回值: 无
+ 87 * 描 述: 初始化中断
+ 88 *************************************************************************************************/
+ 89 void InitIRQ(void)
+ 90 {
+ 91 1 IrqDis(); //关闭总中断源
+ 92 1 #if (UART0_DEFINE != 0)
+ 93 1 IrqUart0En(); //初始化UART0中断使能,根据具体使用UART模块来进行选择 //检查UART
+ -0是否正常,如果不正常,则复位指针向量
+ 94 1 #endif
+ 95 1 #if (UART1_DEFINE != 0)
+ IrqUart1En(); //初始化UART1中断使能,根据具体使用UART模块来进行选择
+ #endif
+ 98 1 #if (UART2_DEFINE != 0)
+ IrqUart2En(); //初始化UART2中断使能,根据具体使用UART模块来进行选择
+ #endif
+ 101 1
+ 102 1 IrqTimer3FlgClr(); //使能Timer3中断
+ 103 1 IrqTimer3En();
+ 104 1
+ 105 1 IrqINT4xChEn(INT4_EXS45 | INT4_EXS46);
+ 106 1 IrqINT4Trig(INT4_TRIG_FALLING); //下降沿触发
+ 107 1 IrqINT4FlgClr(); //清外部中断标志
+ 108 1 IrqINT4En(); //使能外部中断4
+ 109 1
+ 110 1 IrqEn();
+ 111 1 }
+ 112
+ 113
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 3
+
+ 114 /*************************************************************************************************
+ 115 * 函数名: InitGPIO
+ 116 * 参 数: 无
+ 117 * 返回值: 无
+ 118 * 描 述: 初始化I/O端口,未使用的I/O,默认配置为输出低电平,降低MCU功耗
+ 119 P0.7[TXD], P0.6[RXD], P0.5[SCL], P0.4[SDA], P0.3[BLPW], P0.2[], P0.1[], P0.0[],
+ 120 P0.7ST[1], P0.6ST[1], P0.5ST[1], P0.4ST[1], P0.3ST[1], P0.2ST[0], P0.1ST[0], P0.0ST[0], P0 = 0xF8;
+ 121 P0.7CR[1], P0.6CR[0], P0.5CR[0], P0.4CR[0], P0.3CR[1], P0.2CR[1], P0.1CR[1], P0.0CR[1], P0CR = 0x8
+ -F;
+ 122 P0.7PC[1], P0.6PC[1], P0.5PC[0], P0.4PC[0], P0.3PC[1], P0.2PC[0], P0.1PC[0], P0.0PC[0], P0PCR = 0x
+ -C8;
+ 123
+ 124 P1.7[RESET],P1.6[], P1.5[], P1.4[], P1.3[], P1.2[], P1.1[], P1.0[],
+ 125 P1.7ST[1], P1.6ST[0], P1.5ST[0], P1.4ST[0], P1.3ST[0], P1.2ST[0], P1.1ST[0], P1.0ST[0], P1 = 0x80;
+ 126 P1.7CR[0], P1.6CR[1], P1.5CR[1], P1.4CR[1], P1.3CR[1], P1.2CR[1], P1.1CR[1], P1.0CR[1], P1CR = 0x7
+ -F;
+ 127 P1.7PC[1], P1.6PC[0], P1.5PC[0], P1.4PC[0], P1.3PC[0], P1.2PC[0], P1.1PC[0], P1.0PC[0], P1PCR = 0x
+ -80;
+ 128
+ 129 P2.7[KEY_M],P2.6[ALARM],P2.5[CTLD], P2.4[LED5], P2.3[LED4], P2.2[LED3], P2.1[LED2], P2.0[LED1],
+ 130 P2.7ST[1], P2.6ST[1], P2.5ST[1], P2.4ST[0], P2.3ST[0], P2.2ST[0], P2.1ST[0], P2.0ST[0], P2 = 0xE0;
+ 131 P2.7CR[0], P2.6CR[0], P2.5CR[1], P2.4CR[1], P2.3CR[1], P2.2CR[1], P2.1CR[1], P2.0CR[1], P2CR = 0x3
+ -F;
+ 132 P2.7PC[1], P2.6PC[1], P2.5PC[0], P2.4PC[0], P2.3PC[0], P2.2PC[0], P2.1PC[0], P2.0PC[0], P2PCR = 0x
+ -C0;
+ 133
+ 134 P3.7[], P3.6[], P3.5[LED6], P3.4[XTAL1],P3.3[XTAL2],P3.2[], P3.1[], P3.0[KLED],
+ 135 P3.7ST[0], P3.6ST[0], P3.5ST[0], P3.4ST[1], P3.3ST[1], P3.2ST[0], P3.1ST[0], P3.0ST[1], P3 = 0x19;
+ 136 P3.7CR[1], P3.6CR[1], P3.5CR[1], P3.4CR[0], P3.3CR[0], P3.2CR[1], P3.1CR[1], P3.0CR[0], P3CR = 0xE
+ -6;
+ 137 P3.7PC[0], P3.6PC[0], P3.5PC[0], P3.4PC[1], P3.3PC[1], P3.2PC[0], P3.1PC[0], P3.0PC[1], P3PCR = 0x
+ -19;
+ 138 *************************************************************************************************/
+ 139 /*************************************************************************************************
+ 140 * 函数名: InitGPIO_SL
+ 141 * 参 数: 无
+ 142 * 返回值: 无
+ 143 * 描 述: 初始化I/O端口,未使用的I/O,默认配置为输出低电平,降低MCU功耗
+ 144 P0.7[TX], P0.6[RX], P0.5[SCL], P0.4[SDA], P0.3[], P0.2[], P0.1[], P0.0[], IO状态:P0.[
+ -7,6,5,4,3]有效
+ 145 P0.7ST[1], P0.6ST[1], P0.5ST[1], P0.4ST[1], P0.3ST[0], P0.2ST[0], P0.1ST[0], P0.0ST[0], P0 = 0xF0;
+ - IO状态:P0.[7,6,5,4,3]有效
+ 146 P0.7CR[1], P0.6CR[0], P0.5CR[0], P0.4CR[0], P0.3CR[1], P0.2CR[1], P0.1CR[1], P0.0CR[1], P0CR = 0x8
+ -F; IO方向:P0.[7,6,5,4,3]有效,1输出,0输入
+ 147 P0.7PC[1], P0.6PC[1], P0.5PC[0], P0.4PC[0], P0.3PC[0], P0.2PC[0], P0.1PC[0], P0.0PC[0], P0PCR = 0x
+ -C0; 内部上拉:1开启,0关闭
+ 148
+ 149 P1.7[RESET],P1.6[], P1.5[], P1.4[], P1.3[], P1.2[], P1.1[], P1.0[], IO状态:P1.[7,6,5,4
+ -,3,2]有效
+ 150 P1.7ST[1], P1.6ST[0], P1.5ST[0], P1.4ST[0], P1.3ST[0], P1.2ST[0], P1.1ST[0], P1.0ST[0], P1 = 0x80;
+ - IO状态:P1.[7,6,5,4,3,2]有效
+ 151 P1.7CR[0], P1.6CR[1], P1.5CR[1], P1.4CR[1], P1.3CR[1], P1.2CR[1], P1.1CR[1], P1.0CR[1], P1CR = 0x7
+ -F; IO方向:P1.[7,6,5,4,3,2]有效,1输出,0输入
+ 152 P1.7PC[1], P1.6PC[0], P1.5PC[0], P1.4PC[0], P1.3PC[0], P1.2PC[0], P1.1PC[0], P1.0PC[0], P1PCR = 0x
+ -80; 内部上拉:1开启,0关闭
+ 153
+ 154 P2.7[], P2.6[ALARM],P2.5[], P2.4[LED], P2.3[], P2.2[], P2.1[], P2.0[485_DE], IO状态:P2.[7,6,5,
+ -4,3,2,1,0]有效
+ 155 P2.7ST[0], P2.6ST[1], P2.5ST[0], P2.4ST[0], P2.3ST[0], P2.2ST[1], P2.1ST[1], P2.0ST[0], P2 = 0x46;
+ - IO状态:P2.[7,6,5,4,3,2,1,0]有效
+ 156 P2.7CR[1], P2.6CR[0], P2.5CR[1], P2.4CR[1], P2.3CR[1], P2.2CR[0], P2.1CR[1], P2.0CR[1], P2CR = 0xB
+ -B; IO方向:P2.[7,6,5,4,3,2,1,0]有效,1输出,0输入
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 4
+
+ 157 P2.7PC[0], P2.6PC[1], P2.5PC[0], P2.4PC[0], P2.3PC[0], P2.2PC[1], P2.1PC[1], P2.0PC[1], P2PCR = 0x
+ -46; 内部上拉:1开启,0关闭
+ 158
+ 159 P3.7[], P3.6[], P3.5[BAT_V_C], P3.4[XTAL1],P3.3[XTAL2],P3.2[], P3.1[], P3.0[BAT_V], I
+ -O状态:P3.[5,4,3,...,0]有效
+ 160 P3.7ST[0], P3.6ST[0], P3.5ST[0], P3.4ST[1], P3.3ST[1], P3.2ST[0], P3.1ST[0], P3.0ST[0], P3 = 0
+ -x18; IO状态:P3.[5,4,3,...,0]有效
+ 161 P3.7CR[1], P3.6CR[1], P3.5CR[1], P3.4CR[0], P3.3CR[0], P3.2CR[1], P3.1CR[1], P3.0CR[0], P3CR =
+ - 0xE6; IO方向:P3.[5,4,3,...,0]有效,1输出,0输入
+ 162 P3.7PC[0], P3.6PC[0], P3.5PC[0], P3.4PC[1], P3.3PC[1], P3.2PC[0], P3.1PC[0], P3.0PC[0], P3PCR = 0
+ -x18; 内部上拉:1开启,0关闭
+ 163 *************************************************************************************************/
+ 164 void InitGPIO(void)
+ 165 {
+ 166 1
+ 167 1 P0 = 0xF0;
+ 168 1 P0CR = 0x8F;
+ 169 1 P0PCR = 0xC0;
+ 170 1
+ 171 1 P1 = 0x80;
+ 172 1 P1CR = 0x7F;
+ 173 1 P1PCR = 0x80;
+ 174 1
+ 175 1 P2 = 0x46;
+ 176 1 P2CR = 0xBB;
+ 177 1 P2PCR = 0x46;
+ 178 1
+ 179 1 P3 = 0x18;
+ 180 1 P3CR = 0xE6;
+ 181 1 P3PCR = 0x18;
+ 182 1
+ 183 1 //UART0相关IO配置 串口功能映射时注意配置相应IO口的寄存器值,保证功能可正常实现
+ 184 1 #if (UART0_DEFINE == 1)
+ 185 1 P0 |= 0xC0;
+ 186 1 P0PCR |= 0x80;
+ 187 1 #endif
+ 188 1
+ 189 1 #if (UART0_DEFINE == 2)
+ P0 |= 0x40;
+ P2 |= 0x10;
+ P2PCR |= 0x10;
+ #endif
+ 194 1
+ 195 1 #if (UART0_DEFINE == 3)
+ P0 |= 0x40;
+ P2 |= 0x20;
+ P2PCR |= 0x20;
+ #endif
+ 200 1
+ 201 1 #if (UART0_DEFINE == 4)
+ P0 |= 0x41;
+ P0PCR |= 0x01;
+ #endif
+ 205 1
+ 206 1 #if (UART0_DEFINE == 5)
+ P0 |= 0x42;
+ P0PCR |= 0x02;
+ #endif
+ 210 1
+ 211 1 #if (UART0_DEFINE == 6)
+ P0 |= 0xC0;
+ P0PCR |= 0x40;
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 5
+
+ #endif
+ 215 1
+ 216 1 #if (UART0_DEFINE == 7)
+ P0 |= 0x80;
+ P2 |= 0x10;
+ P2PCR |= 0x10;
+ #endif
+ 221 1
+ 222 1 #if (UART0_DEFINE == 8)
+ P0 |= 0x80;
+ P2 |= 0x20;
+ P2PCR |= 0x20;
+ #endif
+ 227 1
+ 228 1 #if (UART0_DEFINE == 9)
+ P0 |= 0x81;
+ P0PCR |= 0x01;
+ #endif
+ 232 1
+ 233 1 #if (UART0_DEFINE == 10)
+ P0 |= 0x82;
+ P0PCR |= 0x02;
+ #endif
+ 237 1
+ 238 1 #if (UART0_DEFINE == 11)
+ P0 |= 0x40;
+ P2 |= 0x10;
+ P0PCR |= 0x40;
+ #endif
+ 243 1
+ 244 1 #if (UART0_DEFINE == 12)
+ P0 |= 0x80;
+ P2 |= 0x10;
+ P0PCR |= 0x80;
+ #endif
+ 249 1
+ 250 1 #if (UART0_DEFINE == 13)
+ P2 |= 0x30;
+ P2PCR |= 0x20;
+ #endif
+ 254 1
+ 255 1 #if (UART0_DEFINE == 14)
+ P0 |= 0x01;
+ P2 |= 0x10;
+ P0PCR |= 0x01;
+ #endif
+ 260 1
+ 261 1 #if (UART0_DEFINE == 15)
+ P0 |= 0x02;
+ P2 |= 0x10;
+ P0PCR |= 0x02;
+ #endif
+ 266 1
+ 267 1 #if (UART0_DEFINE == 16)
+ P0 |= 0x40;
+ P2 |= 0x20;
+ P0PCR |= 0x40;
+ #endif
+ 272 1
+ 273 1 #if (UART0_DEFINE == 17)
+ P0 |= 0x80;
+ P2 |= 0x20;
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 6
+
+ P0PCR |= 0x80;
+ #endif
+ 278 1
+ 279 1 #if (UART0_DEFINE == 18)
+ P2 |= 0x30;
+ P2PCR |= 0x10;
+ #endif
+ 283 1
+ 284 1 #if (UART0_DEFINE == 19)
+ P0 |= 0x01;
+ P2 |= 0x20;
+ P0PCR |= 0x01;
+ #endif
+ 289 1
+ 290 1 #if (UART0_DEFINE == 20)
+ P0 |= 0x02;
+ P2 |= 0x20;
+ P0PCR |= 0x02;
+ #endif
+ 295 1
+ 296 1 #if (UART0_DEFINE == 21)
+ P0 |= 0x81;
+ P0PCR |= 0x80;
+ #endif
+ 300 1
+ 301 1 #if (UART0_DEFINE == 22)
+ P0 |= 0x01;
+ P2 |= 0x10;
+ P2PCR |= 0x10;
+ #endif
+ 306 1
+ 307 1 #if (UART0_DEFINE == 23)
+ P0 |= 0x01;
+ P2 |= 0x20;
+ P2PCR |= 0x20;
+ #endif
+ 312 1
+ 313 1 #if (UART0_DEFINE == 24)
+ P0 |= 0x41;
+ P0PCR |= 0x40;
+ #endif
+ 317 1
+ 318 1 #if (UART0_DEFINE == 25)
+ P0 |= 0x03;
+ P0PCR |= 0x02;
+ #endif
+ 322 1
+ 323 1 #if (UART0_DEFINE == 26)
+ P0 |= 0x82;
+ P0PCR |= 0x80;
+ #endif
+ 327 1
+ 328 1 #if (UART0_DEFINE == 27)
+ P0 |= 0x02;
+ P2 |= 0x10;
+ P2PCR |= 0x10;
+ #endif
+ 333 1
+ 334 1 #if (UART0_DEFINE == 28)
+ P0 |= 0x02;
+ P2 |= 0x20;
+ P2PCR |= 0x20;
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 7
+
+ #endif
+ 339 1
+ 340 1 #if (UART0_DEFINE == 29)
+ P0 |= 0x42;
+ P0PCR |= 0x40;
+ #endif
+ 344 1
+ 345 1 #if (UART0_DEFINE == 30)
+ P0 |= 0x03;
+ P0PCR |= 0x01;
+ #endif
+ 349 1
+ 350 1 //UART1相关IO配置
+ 351 1 #if (UART1_DEFINE == 1)
+ P1 |= 0x03;
+ P1PCR |= 0x02;
+ #endif
+ 355 1
+ 356 1 #if (UART1_DEFINE == 2)
+ P1 |= 0x01;
+ P3 |= 0x08;
+ P3PCR |= 0x08;
+ #endif
+ 361 1
+ 362 1 #if (UART1_DEFINE == 3)
+ P1 |= 0x01;
+ P3 |= 0x10;
+ P3PCR |= 0x10;
+ #endif
+ 367 1
+ 368 1 #if (UART1_DEFINE == 4)
+ P1 |= 0x01;
+ P2 |= 0x40;
+ P2PCR |= 0x40;
+ #endif
+ 373 1
+ 374 1 #if (UART1_DEFINE == 5)
+ P1 |= 0x01;
+ P2 |= 0x80;
+ P2PCR |= 0x80;
+ #endif
+ 379 1
+ 380 1 #if (UART1_DEFINE == 6)
+ P1 |= 0x03;
+ P1PCR |= 0x01;
+ #endif
+ 384 1
+ 385 1 #if (UART1_DEFINE == 7)
+ P1 |= 0x02;
+ P3 |= 0x08;
+ P3PCR |= 0x08;
+ #endif
+ 390 1
+ 391 1 #if (UART1_DEFINE == 8)
+ P1 |= 0x02;
+ P3 |= 0x10;
+ P3PCR |= 0x10;
+ #endif
+ 396 1
+ 397 1 #if (UART1_DEFINE == 9)
+ P1 |= 0x02;
+ P2 |= 0x40;
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 8
+
+ P2PCR |= 0x40;
+ #endif
+ 402 1
+ 403 1 #if (UART1_DEFINE == 10)
+ P1 |= 0x02;
+ P2 |= 0x80;
+ P2PCR |= 0x80;
+ #endif
+ 408 1
+ 409 1 #if (UART1_DEFINE == 11)
+ P1 |= 0x01;
+ P3 |= 0x08;
+ P1PCR |= 0x01;
+ #endif
+ 414 1
+ 415 1 #if (UART1_DEFINE == 12)
+ P1 |= 0x02;
+ P3 |= 0x08;
+ P1PCR |= 0x01;
+ #endif
+ 420 1
+ 421 1 #if (UART1_DEFINE == 13)
+ P3 |= 0x18;
+ P3PCR |= 0x10;
+ #endif
+ 425 1
+ 426 1 #if (UART1_DEFINE == 14)
+ P3 |= 0x08;
+ P2 |= 0x40;
+ P2PCR |= 0x40;
+ #endif
+ 431 1
+ 432 1 #if (UART1_DEFINE == 15)
+ P3 |= 0x08;
+ P2 |= 0x80;
+ P2PCR |= 0x80;
+ #endif
+ 437 1
+ 438 1 #if (UART1_DEFINE == 16)
+ P1 |= 0x01;
+ P3 |= 0x10;
+ P1PCR |= 0x01;
+ #endif
+ 443 1
+ 444 1 #if (UART1_DEFINE == 17)
+ P1 |= 0x02;
+ P3 |= 0x10;
+ P1PCR |= 0x02;
+ #endif
+ 449 1
+ 450 1 #if (UART1_DEFINE == 18)
+ P3 |= 0x18;
+ P3PCR |= 0x08;
+ #endif
+ 454 1
+ 455 1 #if (UART1_DEFINE == 19)
+ P3 |= 0x10;
+ P2 |= 0x40;
+ P2PCR |= 0x40;
+ #endif
+ 460 1
+ 461 1 #if (UART1_DEFINE == 20)
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 9
+
+ P3 |= 0x10;
+ P2 |= 0x80;
+ P2PCR |= 0x80;
+ #endif
+ 466 1
+ 467 1 #if (UART1_DEFINE == 21)
+ P1 |= 0x01;
+ P2 |= 0x40;
+ P1PCR |= 0x01;
+ #endif
+ 472 1
+ 473 1 #if (UART1_DEFINE == 22)
+ P1 |= 0x02;
+ P2 |= 0x40;
+ P1PCR |= 0x02;
+ #endif
+ 478 1
+ 479 1 #if (UART1_DEFINE == 23)
+ P2 |= 0x40;
+ P3 |= 0x08;
+ P3PCR |= 0x08;
+ #endif
+ 484 1
+ 485 1 #if (UART1_DEFINE == 24)
+ P3 |= 0x10;
+ P2 |= 0x40;
+ P3PCR |= 0x10;
+ #endif
+ 490 1
+ 491 1 #if (UART1_DEFINE == 25)
+ P2 |= 0xC0;
+ P2PCR |= 0x80;
+ #endif
+ 495 1
+ 496 1 #if (UART1_DEFINE == 26)
+ P1 |= 0x01;
+ P2 |= 0x80;
+ P1PCR |= 0x01;
+ #endif
+ 501 1
+ 502 1 #if (UART1_DEFINE == 27)
+ P1 |= 0x02;
+ P2 |= 0x80;
+ P1PCR |= 0x02;
+ #endif
+ 507 1
+ 508 1 #if (UART1_DEFINE == 28)
+ P2 |= 0x80;
+ P3 |= 0x08;
+ P3PCR |= 0x08;
+ #endif
+ 513 1
+ 514 1 #if (UART1_DEFINE == 29)
+ P3 |= 0x10;
+ P2 |= 0x80;
+ P3PCR |= 0x10;
+ #endif
+ 519 1
+ 520 1 #if (UART1_DEFINE == 30)
+ P2 |= 0xC0;
+ P2PCR |= 0x40;
+ #endif
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 10
+
+ 524 1
+ 525 1 //UART2相关IO配置,当前demo板此串口做LED灯显示功能,不支持串口通讯,故demo板配置为不使能uart2串口功能
+ 526 1 #if (UART2_DEFINE == 1)
+ P2 |= 0x06;
+ P2PCR |= 0x04;
+ #endif
+ 530 1 }
+ 531
+ 532 /*************************************************************************************************
+ 533 * 函数名: Initial
+ 534 * 参 数: 无
+ 535 * 返回值: 无
+ 536 * 描 述: 初始化
+ 537 *************************************************************************************************/
+ 538 void Initial(void)
+ 539 {
+ 540 1 McuClockSet(MCU_CLK_24MHz); //设置系统工作在24MHz
+ 541 1
+ 542 1 InitGPIO(); //初始化GPIO
+ 543 1
+ 544 1 // ClrRam(); //清空MCU RAM(XDATA、IDATA、DATA)
+ 545 1
+ 546 1 SysParaInit(); //初始化系统参数
+ 547 1
+ 548 1 InitVar(); //初始化变量
+ 549 1
+ 550 1 McuTimer3Set(TIM_CLK_128KHz, 5); //初始化Timer,采用128KHz外置晶振,周期为5mS
+ 551 1
+ 552 1 #if (UART0_DEFINE != 0)
+ 553 1 UART0Init(); //初始化UART0模块,9600Bps
+ 554 1 #endif
+ 555 1
+ 556 1 #if (UART1_DEFINE != 0)
+ UART1Init(); //初始化UART0模块,9600Bps
+ #endif
+ 559 1
+ 560 1 #if (UART2_DEFINE != 0)
+ UART2Init(); //初始化UART0模块,9600Bps
+ #endif
+ 563 1
+ 564 1 TwiInit(); //初始化TWI模块,通讯频率为100Khz
+ 565 1
+ 566 1 McuPWM2Set(4000, 100); //初始化PWM2,占空比100%
+ 567 1
+ 568 1 AFEInitReg(); //初始化AFE寄存器
+ 569 1 if(!AFEInit()) //初始化AFE,MCU是由AFE的V33供电的,当MCU工作时,AFE已经准备好通讯了
+ 570 1 {
+ 571 2 bAfeErr = 1;
+ 572 2 }
+ 573 1 AFEClrFlg(); //清零AFE状态寄存器
+ 574 1
+ 575 1 if(bEnEEPRomBK)
+ 576 1 {
+ 577 2 if(!E2PRomInit())
+ 578 2 {
+ 579 3 bE2PRErr = 1; //外挂EEPROM模块出错
+ 580 3 }
+ 581 2
+ 582 2 if(!RTCInitTime(&RTC))
+ 583 2 {
+ 584 3 bRTCErr = 1; //外置RTC模块出错
+ 585 3 }
+C51 COMPILER V9.01 INITIAL 02/06/2025 15:28:44 PAGE 11
+
+ 586 2 }
+ 587 1
+ 588 1 InitIRQ(); //初始化中断
+ 589 1 }
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 376 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/Initial.obj b/output/Initial.obj
new file mode 100644
index 0000000..281b32e
Binary files /dev/null and b/output/Initial.obj differ
diff --git a/output/Interrupt.lst b/output/Interrupt.lst
new file mode 100644
index 0000000..56ccc0b
--- /dev/null
+++ b/output/Interrupt.lst
@@ -0,0 +1,113 @@
+C51 COMPILER V9.01 INTERRUPT 02/06/2025 15:28:45 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE INTERRUPT
+OBJECT MODULE PLACED IN .\output\Interrupt.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\Interrupt.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_L
+ -oad.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\
+ -code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Interrupt.lst) OBJECT(.\output
+ -\Interrupt.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 /*************************************************************************************************
+ 13 * 函数名: InterruptINT4
+ 14 * 参 数: 无
+ 15 * 返回值: 无
+ 16 * 描 述: 中断入口函数,判断对应的外部中断后,会调用APP处理函数
+ 17 *************************************************************************************************/
+ 18 void InterruptINT4(void) interrupt 10
+ 19 {
+ 20 1 _push_(INSCON);
+ 21 1 McuBank0Sel();
+ 22 1
+ 23 1 if(IF40)
+ 24 1 {
+ 25 2 IF40 = 0;
+ 26 2 InterruptINT4App(0x01);
+ 27 2 }
+ 28 1 if(IF41)
+ 29 1 {
+ 30 2 IF41 = 0;
+ 31 2 InterruptINT4App(0x02);
+ 32 2 }
+ 33 1 if(IF42)
+ 34 1 {
+ 35 2 IF42 = 0;
+ 36 2 InterruptINT4App(0x04);
+ 37 2 }
+ 38 1 if(IF43)
+ 39 1 {
+ 40 2 IF43 = 0;
+ 41 2 InterruptINT4App(0x08);
+ 42 2 }
+ 43 1 if(IF44)
+ 44 1 {
+ 45 2 IF44 = 0;
+ 46 2 InterruptINT4App(0x10);
+ 47 2 }
+ 48 1 if(IF45)
+ 49 1 {
+ 50 2 IF45 = 0;
+ 51 2 InterruptINT4App(0x20);
+ 52 2 }
+C51 COMPILER V9.01 INTERRUPT 02/06/2025 15:28:45 PAGE 2
+
+ 53 1 if(IF46)
+ 54 1 {
+ 55 2 IF46 = 0;
+ 56 2 InterruptINT4App(0x40);
+ 57 2 }
+ 58 1 if(IF47)
+ 59 1 {
+ 60 2 IF47 = 0;
+ 61 2 InterruptINT4App(0x80);
+ 62 2 }
+ 63 1
+ 64 1 _pop_(INSCON);
+ 65 1 }
+ 66
+ 67
+ 68 /*************************************************************************************************
+ 69 * 函数名: InterruptTimer3
+ 70 * 参 数: 无
+ 71 * 返回值: 无
+ 72 * 描 述: 中断入口函数,会调用APP处理函数
+ 73 *************************************************************************************************/
+ 74 void InterruptTimer3(void) interrupt 5
+ 75 {
+ 76 1 _push_(INSCON);
+ 77 1
+ 78 1 McuBank1Sel();
+ 79 1 TF3 = 0;
+ 80 1 McuBank0Sel();
+ 81 1
+ 82 1 InterruptTimer3App();
+ 83 1
+ 84 1 _pop_(INSCON);
+ 85 1 }
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 143 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/Interrupt.obj b/output/Interrupt.obj
new file mode 100644
index 0000000..76cfefc
Binary files /dev/null and b/output/Interrupt.obj differ
diff --git a/output/InterruptApp.lst b/output/InterruptApp.lst
new file mode 100644
index 0000000..65d3d0f
--- /dev/null
+++ b/output/InterruptApp.lst
@@ -0,0 +1,98 @@
+C51 COMPILER V9.01 INTERRUPTAPP 02/06/2025 15:28:45 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE INTERRUPTAPP
+OBJECT MODULE PLACED IN .\output\InterruptApp.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\InterruptApp.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCor
+ -e_Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include
+ -;.\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\InterruptApp.lst) OBJECT(.\
+ -output\InterruptApp.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 BOOL bTimer5msFlg;
+ 13 BOOL bTimer50msFlg;
+ 14 BOOL bTimer1sFlg;
+ 15 U8 ucTimer50ms;
+ 16 U8 ucTimer1s;
+ 17
+ 18 /*************************************************************************************************
+ 19 * 函数名: InterruptINT4App
+ 20 * 参 数: IntSource:外部中断4的中断源
+ 21 * 返回值: 无
+ 22 * 描 述: 外部中断处理,包括ALARM中断和按键中断,用于低功耗唤醒系统
+ 23 *************************************************************************************************/
+ 24 void InterruptINT4App(U8 IntSource)
+ 25 {
+ 26 1 if(IntSource == INT4_EXS45) //Alarm
+ 27 1 {
+ 28 2 if(bPDFlg || bSleepFlg)
+ 29 2 {
+ 30 3 McuClockSet(MCU_CLK_24MHz);
+ 31 3 bWakeupFlg = 1;
+ 32 3 }
+ 33 2 }
+ 34 1 else if(IntSource == INT4_EXS46) //Key wakeup
+ 35 1 {
+ 36 2 if(bPDFlg || bSleepFlg)
+ 37 2 {
+ 38 3 McuClockSet(MCU_CLK_24MHz);
+ 39 3 bWakeupFlg = 1;
+ 40 3 }
+ 41 2 }
+ 42 1 }
+ 43
+ 44
+ 45 /*************************************************************************************************
+ 46 * 函数名: InterruptTimer3App
+ 47 * 参 数: 无
+ 48 * 返回值: 无
+ 49 * 描 述: 定时器,周期为5mS,产生5mS、50mS、1S三个标志
+ 50 *************************************************************************************************/
+ 51 void InterruptTimer3App(void)
+ 52 {
+C51 COMPILER V9.01 INTERRUPTAPP 02/06/2025 15:28:45 PAGE 2
+
+ 53 1
+ 54 1 bTimer5msFlg = 1; //5ms标志为预留标志
+ 55 1
+ 56 1 if(++ucTimer50ms >= TIME_5MS_50MS)
+ 57 1 {
+ 58 2 ucTimer50ms = 0;
+ 59 2 bTimer50msFlg = 1;
+ 60 2 }
+ 61 1
+ 62 1 if(++ucTimer1s >= TIME_5MS_1S)
+ 63 1 {
+ 64 2 ucTimer1s = 0;
+ 65 2 bTimer1sFlg = 1;
+ 66 2 }
+ 67 1
+ 68 1 KeyScan(); //扫描按键
+ 69 1 }
+ 70
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 72 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 2 ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = 3 ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/InterruptApp.obj b/output/InterruptApp.obj
new file mode 100644
index 0000000..a46ae14
Binary files /dev/null and b/output/InterruptApp.obj differ
diff --git a/output/KeyApp.lst b/output/KeyApp.lst
new file mode 100644
index 0000000..09f9d19
--- /dev/null
+++ b/output/KeyApp.lst
@@ -0,0 +1,130 @@
+C51 COMPILER V9.01 KEYAPP 02/06/2025 15:28:45 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE KEYAPP
+OBJECT MODULE PLACED IN .\output\KeyApp.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\KeyApp.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load
+ -.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\cod
+ -e_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\KeyApp.lst) OBJECT(.\output\KeyAp
+ -p.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 U8 xdata ucDsgingSpeed;
+ 13
+ 14 /*************************************************************************************************
+ 15 * 函数名: KeySwitchSpeed
+ 16 * 参 数: 无
+ 17 * 返回值: 无
+ 18 * 描 述: 按键调速,分为三挡
+ 19 *************************************************************************************************/
+ 20 void KeySwitchSpeed(void)
+ 21 {
+ 22 1 bSlowDischarge = 0;
+ 23 1 bMidDischarge = 0;
+ 24 1 bFastDischarge = 0;
+ 25 1 if(bDSGING)
+ 26 1 {
+ 27 2 if(ucDsgingSpeed == 0)
+ 28 2 {
+ 29 3 ucDsgingSpeed = 1;
+ 30 3 bMidDischarge = 1;
+ 31 3 McuPWM2Set(E2uiDSG1PWMFreq ,E2ucDSG1PWMRatioH);
+ 32 3 McuPWM2En();
+ 33 3 }
+ 34 2 else if(ucDsgingSpeed == 1)
+ 35 2 {
+ 36 3 ucDsgingSpeed = 2;
+ 37 3 bFastDischarge = 1;
+ 38 3 McuPWM2Set(E2uiDSG1PWMFreq, 100);
+ 39 3 McuPWM2En();
+ 40 3 }
+ 41 2 else
+ 42 2 {
+ 43 3 ucDsgingSpeed = 0;
+ 44 3 bSlowDischarge = 1;
+ 45 3 McuPWM2Set(E2uiDSG1PWMFreq ,E2ucDSG1PWMRatioL);
+ 46 3 McuPWM2En();
+ 47 3 }
+ 48 2 }
+ 49 1 else
+ 50 1 {
+ 51 2 bSlowDischarge = 0;
+ 52 2 bMidDischarge = 0;
+C51 COMPILER V9.01 KEYAPP 02/06/2025 15:28:45 PAGE 2
+
+ 53 2 bFastDischarge = 0;
+ 54 2 }
+ 55 1 }
+ 56
+ 57
+ 58 /*************************************************************************************************
+ 59 * 函数名: KeyProcess
+ 60 * 参 数: 无
+ 61 * 返回值: 无
+ 62 * 描 述: 当检测到有效按键后,处理对应按键
+ 63 *************************************************************************************************/
+ 64 void KeyProcess(void)
+ 65 {
+ 66 1 if(bKeyFlg)
+ 67 1 {
+ 68 2 bKeyFlg = 0; //同一按键一直被按下,如果持续的时间足够长,则会先触发长按,
+ -后触发长按持续,但目前我们没有用到长按持续状态
+ 69 2 switch(ucKeyValue)
+ 70 2 {
+ 71 3 case KEY_ON_S:
+ 72 3 KeySwitchSpeed();
+ 73 3 break;
+ 74 3
+ 75 3 case KEY_LED_S:
+ 76 3 bLedDisFlg = 1;
+ 77 3 ucLedTimeCnt = 0;
+ 78 3 break;
+ 79 3
+ 80 3 case KEY_LED_L: //长按LED进PD模式
+ 81 3 bPDFlg = 1;
+ 82 3 break;
+ 83 3
+ 84 3 case KEY_ON_L: //长按唤醒按键2S,蓝牙电源开启/关闭
+ 85 3 bLedDisBleFlg = ~bLedDisBleFlg;
+ 86 3 if(bLedDisBleFlg)
+ 87 3 {
+ 88 4 BlueToothPowerEn();
+ 89 4 }
+ 90 3 else
+ 91 3 {
+ 92 4 BlueToothPowerDis();
+ 93 4 }
+ 94 3 break;
+ 95 3
+ 96 3 default:
+ 97 3 break;
+ 98 3 }
+ 99 2 }
+ 100 1 }
+ 101
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 150 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 1 ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/KeyApp.obj b/output/KeyApp.obj
new file mode 100644
index 0000000..7c55667
Binary files /dev/null and b/output/KeyApp.obj differ
diff --git a/output/KeyScan.lst b/output/KeyScan.lst
new file mode 100644
index 0000000..2654c7c
--- /dev/null
+++ b/output/KeyScan.lst
@@ -0,0 +1,165 @@
+C51 COMPILER V9.01 KEYSCAN 02/06/2025 15:28:45 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE KEYSCAN
+OBJECT MODULE PLACED IN .\output\KeyScan.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\KeyScan.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Loa
+ -d.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\co
+ -de_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\KeyScan.lst) OBJECT(.\output\Key
+ -Scan.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 BOOL bKeyFlg;
+ 13 U16 data uiKeyValidCnt;
+ 14 U16 data uiKeyInvalidCnt;
+ 15 U8 data ucKeyValue;
+ 16 U8 data ucKeyOldValue;
+ 17 U8 data ucKeyValueBK;
+ 18
+ 19 /*************************************************************************************************
+ 20 * 函数名: ScanKey
+ 21 * 参 数: 无
+ 22 * 返回值: 无
+ 23 * 描 述: 1. 短按时,按键必须弹起后,才能识别为短按按键。
+ 24 2. 长按和长按持续,按键无需弹起,就能识别为长按按键或长按持续。
+ 25 3. 按键有优先级,多个按键被同时按下时,仅处理第一个被按下的按键。
+ 26 4.同一个按键一直被按着,先触发长按,后触发长按持续,长按和长按持续都会被触发。
+ 27 5. bKeyFlg:当检测到有效按键后,置位1
+ 28 6. ucKeyValue:高4bit表示按键状态(短按、长按、长按继续、长按结束);低4bit表示键值
+ 29 7. ucKeyValueBK 保存按键状态:无按键、有按键1、有按键2
+ 30 8. uiKeyValidCnt 按键按下滤波计数器
+ 31 9. uiKeyInvalidCnt 按键弹起滤波计数器
+ 32 *************************************************************************************************/
+ 33 void KeyScan(void)
+ 34 {
+ 35 1 if(!bKeyFlg)
+ 36 1 {
+ 37 2 ucKeyValueBK = KEYVAL_NULL; //先默认无按键按下
+ 38 2
+ 39 2 #ifdef KEY_NUM1_DEF //1个按键
+ if(!KEY_1_IO_RD)
+ {
+ ucKeyValueBK = KEYVAL_1;
+ }
+ #endif
+ 45 2 #ifdef KEY_NUM2_DEF //2个按键
+ 46 2 if(!KEY_1_IO_RD)
+ 47 2 {
+ 48 3 ucKeyValueBK = KEYVAL_1; //按键按下后,获取新键值
+ 49 3 }
+ 50 2 else if(!KEY_2_IO_RD)
+ 51 2 {
+ 52 3 ucKeyValueBK = KEYVAL_2; //按键按下后,获取新键值
+C51 COMPILER V9.01 KEYSCAN 02/06/2025 15:28:45 PAGE 2
+
+ 53 3 }
+ 54 2 #endif
+ 55 2 #ifdef KEY_NUM3_DEF //3个按键
+ if(!KEY_1_IO_RD)
+ {
+ ucKeyValueBK = KEYVAL_1;
+ }
+ else if(!KEY_2_IO_RD)
+ {
+ ucKeyValueBK = KEYVAL_2;
+ }
+ else if(!KEY_3_IO_RD)
+ {
+ ucKeyValueBK = KEYVAL_3;
+ }
+ #endif
+ 69 2 if(ucKeyValueBK != ucKeyOldValue) //ucKeyValueBK中存放了新的键值,如果新键值跟
+ -老键值不同,
+ 70 2 {
+ 71 3 uiKeyInvalidCnt++; //按键弹起滤波计数器,当按键第一次按下时会清0,
+ -当按键弹起时会一直计数
+ 72 3 if(uiKeyValidCnt >= KEY_S_TIME) //按键按下滤波计数器,当按键被按下后一直计数,
+ -醇鸷笸V辜剖
+ 73 3 { //按下又弹起且未触发长按时,如果uiKeyValidCnt >
+ -= KEY_S_TIME,则可能是短按
+ 74 4 if(uiKeyInvalidCnt >= KEY_S_TIME) //按键弹起滤波计数器达到短按消抖时间,则认为是一次
+ -按下和弹起都消抖过的有效按键
+ 75 4 {
+ 76 5 if(uiKeyValidCnt >= KEY_L_TIME) //在此区分是短按,还是长按结束
+ 77 5 {
+ 78 6 ucKeyValue = ucKeyOldValue | KEY_STATE_LE; //按下的时间超过长按时间,认为是长按已经结束了。该状态目
+ -前未使用
+ 79 6 }
+ 80 5 else
+ 81 5 {
+ 82 6 ucKeyValue = ucKeyOldValue | KEY_STATE_S; //按下的时间没有超过长按时间,认为是一次有效的短按按键
+ 83 6 }
+ 84 5 bKeyFlg = 1; //短按有效,暂停按键检测,去处理按键事件
+ 85 5 goto scanend;
+ 86 5 }
+ 87 4 // else
+ 88 4 // {
+ 89 4 // uiKeyValidCnt++; //该行应该删掉,否则当KEY_S_TIME等于KEY_L_TIME的一
+ -爰耙陨鲜保岚讯贪次笫侗鹞ぐ唇崾
+ 90 4 // }
+ 91 4 }
+ 92 3 else //每当按键按下的时间连短按消抖时间都不够时,认
+ -俏扌О醇匦鲁跏蓟
+ 93 3 {
+ 94 4 goto scanend;
+ 95 4 }
+ 96 3 }
+ 97 2 else //ucKeyValueBK中存放了新的键值,新键值跟老键
+ -值相同,说明是同一个按键。
+ 98 2 {
+ 99 3 if(ucKeyValueBK != KEYVAL_NULL) //继续处理被按下的按键
+ 100 3 {
+ 101 4 uiKeyInvalidCnt = 0; //清弹起计数器
+ 102 4 uiKeyValidCnt++; //累加按下计数器
+ 103 4 if(uiKeyValidCnt == KEY_L_TIME) //当按下时间达到长按滤波时间时,认为此按键为长按键
+ 104 4 {
+ 105 5 ucKeyValue = ucKeyOldValue | KEY_STATE_L;
+C51 COMPILER V9.01 KEYSCAN 02/06/2025 15:28:45 PAGE 3
+
+ 106 5 bKeyFlg = 1;
+ 107 5 }
+ 108 4 else if(uiKeyValidCnt == KEY_LC_TIME) //当按下时间达到长按持续滤波时间时,认为此按键为长
+ -按持续
+ 109 4 {
+ 110 5 uiKeyValidCnt = KEY_L_TIME;
+ 111 5 ucKeyValue = ucKeyOldValue | KEY_STATE_LC;
+ 112 5 bKeyFlg = 1;
+ 113 5 }
+ 114 4 }
+ 115 3 else //新键值是空键值,说明全部按键都释放了
+ 116 3 {
+ 117 4 ucKeyValue = KEYVAL_NULL; //全部按键都释放了,需要重新初始化检测寄存器
+ 118 4 scanend:
+ 119 4 uiKeyValidCnt = 0;
+ 120 4 uiKeyInvalidCnt = 0;
+ 121 4 ucKeyOldValue = ucKeyValueBK;
+ 122 4 }
+ 123 3 }
+ 124 2 }
+ 125 1 }
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 162 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = 7 ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = 1 ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/KeyScan.obj b/output/KeyScan.obj
new file mode 100644
index 0000000..7c4a6af
Binary files /dev/null and b/output/KeyScan.obj differ
diff --git a/output/Led.lst b/output/Led.lst
new file mode 100644
index 0000000..99abca4
--- /dev/null
+++ b/output/Led.lst
@@ -0,0 +1,184 @@
+C51 COMPILER V9.01 LED 02/06/2025 15:28:45 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE LED
+OBJECT MODULE PLACED IN .\output\Led.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\Led.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.OR
+ -C) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_c
+ -lassb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Led.lst) OBJECT(.\output\Led.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 BOOL bLedDisFlg; //LED显示标志
+ 13 BOOL bLedDisBleFlg; //蓝牙开启时显示
+ 14 U8 xdata ucLedTimeCnt;
+ 15 U8 xdata ucLedChgFlickCnt;
+ 16 U8 xdata ucLedBleFlickCnt;
+ 17
+ 18 /*************************************************************************************************
+ 19 * 函数名: LedGetDisNum
+ 20 * 参 数: Rsoc:剩余容量百分比
+ 21 * 返回值: 无
+ 22 * 描 述: 根据剩余容量百分比,计算当前显示的LED数
+ 23 *************************************************************************************************/
+ 24 U8 LedGetDisNum(U16 Rsoc)
+ 25 {
+ 26 1 if(Rsoc > 80)
+ 27 1 {
+ 28 2 return 5;
+ 29 2 }
+ 30 1 else if(Rsoc > 60)
+ 31 1 {
+ 32 2 return 4;
+ 33 2 }
+ 34 1 else if(Rsoc > 40)
+ 35 1 {
+ 36 2 return 3;
+ 37 2 }
+ 38 1 else if(Rsoc > 20)
+ 39 1 {
+ 40 2 return 2;
+ 41 2 }
+ 42 1 else if(Rsoc > 0)
+ 43 1 {
+ 44 2 return 1;
+ 45 2 }
+ 46 1 else
+ 47 1 {
+ 48 2 return 0;
+ 49 2 }
+ 50 1 }
+ 51
+ 52
+ 53 /*************************************************************************************************
+C51 COMPILER V9.01 LED 02/06/2025 15:28:45 PAGE 2
+
+ 54 * 函数名: LedAutoOff
+ 55 * 参 数: 无
+ 56 * 返回值: 无
+ 57 * 描 述: 按键显示LED持续5S后,关闭LED显示
+ 58 *************************************************************************************************/
+ 59 void LedAutoOff(void)
+ 60 {
+ 61 1 if(bLedDisFlg)
+ 62 1 {
+ 63 2 if(++ucLedTimeCnt >= 100) //100*50mS
+ 64 2 {
+ 65 3 ucLedTimeCnt = 0;
+ 66 3 bLedDisFlg = 0;
+ 67 3 }
+ 68 2 }
+ 69 1 }
+ 70
+ 71 /*************************************************************************************************
+ 72 * 函数名: LedDisplay
+ 73 * 参 数: 无
+ 74 * 返回值: 无
+ 75 * 描 述: 显示LED
+ 76 充电时,充电LED指示灯以500mS周期闪烁
+ 77 蓝牙开启时,蓝牙指示灯以250mS周期闪烁
+ 78 显示容量时,LED开启5s后,自动熄灭
+ 79 *************************************************************************************************/
+ 80 void LedDisplay(void)
+ 81 {
+ 82 1 U8 LedDisNum;
+ 83 1
+ 84 1 if(bCHGING) //显示充电状态
+ 85 1 {
+ 86 2 if(++ucLedChgFlickCnt >= 10) //10*50mS
+ 87 2 {
+ 88 3 ucLedChgFlickCnt = 0;
+ 89 3 IO_LED_CHARGE ^= 1;
+ 90 3 }
+ 91 2 }
+ 92 1 else
+ 93 1 {
+ 94 2 IO_LED_CHARGE = 0;
+ 95 2 }
+ 96 1
+ 97 1 if(bLedDisBleFlg) //显示蓝牙开启状态
+ 98 1 {
+ 99 2 if(++ucLedBleFlickCnt >= 5) //5*50mS
+ 100 2 {
+ 101 3 ucLedBleFlickCnt = 0;
+ 102 3 // IO_LED_BLE ^= 1;
+ 103 3 }
+ 104 2 }
+ 105 1 else
+ 106 1 {
+ 107 2 // IO_LED_BLE = 0;
+ 108 2 }
+ 109 1
+ 110 1 if(bLedDisFlg) //显示容量信息
+ 111 1 {
+ 112 2 LedDisNum = LedGetDisNum(Info.uiRSOC);
+ 113 2 if(LedDisNum == 0)
+ 114 2 {
+ 115 3 // LEDAllOff();
+C51 COMPILER V9.01 LED 02/06/2025 15:28:45 PAGE 3
+
+ 116 3 }
+ 117 2 if(LedDisNum == 1)
+ 118 2 {
+ 119 3 // LED1On();
+ 120 3 }
+ 121 2 else if(LedDisNum == 2)
+ 122 2 {
+ 123 3 // LED1On();
+ 124 3 LED2On();
+ 125 3 }
+ 126 2 else if(LedDisNum == 3)
+ 127 2 {
+ 128 3 // LED1On();
+ 129 3 LED2On();
+ 130 3 LED3On();
+ 131 3 }
+ 132 2 else if(LedDisNum == 4)
+ 133 2 {
+ 134 3 // LED1On();
+ 135 3 LED2On();
+ 136 3 LED3On();
+ 137 3 LED4On();
+ 138 3 }
+ 139 2 else if(LedDisNum == 5)
+ 140 2 {
+ 141 3 // LEDAllOn();
+ 142 3 }
+ 143 2 }
+ 144 1 else
+ 145 1 {
+ 146 2 // LEDAllOff();
+ 147 2 }
+ 148 1
+ 149 1 LedAutoOff(); //定时5s关闭容量LED显示
+ 150 1 }
+ 151
+ 152
+ 153
+ 154
+ 155
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 174 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 3 ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = 2 ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/Led.obj b/output/Led.obj
new file mode 100644
index 0000000..c4e8983
Binary files /dev/null and b/output/Led.obj differ
diff --git a/output/LowPower.lst b/output/LowPower.lst
new file mode 100644
index 0000000..dea6d2e
--- /dev/null
+++ b/output/LowPower.lst
@@ -0,0 +1,264 @@
+C51 COMPILER V9.01 LOWPOWER 02/06/2025 15:28:45 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE LOWPOWER
+OBJECT MODULE PLACED IN .\output\LowPower.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\LowPower.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Lo
+ -ad.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\c
+ -ode_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\LowPower.lst) OBJECT(.\output\L
+ -owPower.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 BOOL bSleepFlg; //系统进入IDLE标志
+ 13 BOOL bPDFlg;
+ 14 BOOL bWakeupFlg;
+ 15 BOOL bPCEnterPDFlg; //PC通知系统进入SLEEP标志
+ 16 U8 xdata ucSleepTimerCnt;
+ 17 U8 xdata ucPDTimerCnt;
+ 18 U8 xdata ucResetFlag;
+ 19
+ 20 /*************************************************************************************************
+ 21 * 函数名: WakeUpProcess
+ 22 * 参 数: 无
+ 23 * 返回值: 无
+ 24 * 描 述: 从Sleep模式唤醒,可通过电流检测和按键唤醒
+ 25 *************************************************************************************************/
+ 26 void WakeUpProcess(void)
+ 27 {
+ 28 1 if(bWakeupFlg)
+ 29 1 {
+ 30 2 bWakeupFlg = 0;
+ 31 2 if(bSleepFlg)
+ 32 2 {
+ 33 3 McuClockSet(MCU_CLK_24MHz);
+ 34 3 IrqEn();
+ 35 3
+ 36 3 bSleepFlg = 0;
+ 37 3 ucSleepTimerCnt = 0;
+ 38 3 Delay1ms(1);
+ 39 3
+ 40 3 #if (UART0_DEFINE != 0)
+ 41 3 IrqUart0En(); //开启uart0中断
+ 42 3 #endif
+ 43 3 IrqTimer3En(); //开启Timer3中断
+ 44 3 McuTwiEn(); //开启MCU Twi模块
+ 45 3
+ 46 3 AfeAlarmDis(AFE_ALARM_SC | AFE_ALARM_OV | AFE_ALARM_CD);
+ 47 3 AfeTempADCEn(); //开启AFE温度采集
+ 48 3 AfeWDTEn(); //开启AFE WDT
+ 49 3 }
+ 50 2 ucSleepTimerCnt = 0;
+ 51 2 ucPDTimerCnt = 0;
+ 52 2 ucUart0TimeoutCnt = 0;
+C51 COMPILER V9.01 LOWPOWER 02/06/2025 15:28:45 PAGE 2
+
+ 53 2 ucUart1TimeoutCnt = 0;
+ 54 2 ucUart2TimeoutCnt = 0;
+ 55 2 }
+ 56 1 }
+ 57
+ 58
+ 59 /*************************************************************************************************
+ 60 * 函数名: SystemIntoPD
+ 61 * 参 数: 无
+ 62 * 返回值: 无
+ 63 * 描 述: 系统进入掉电模式
+ 64 *************************************************************************************************/
+ 65 void SystemIntoPD(void)
+ 66 {
+ 67 1 while(1)
+ 68 1 {
+ 69 2 McuWDTClear(); //清除看门狗
+ 70 2
+ 71 2 IrqDis(); //关闭中断源
+ 72 2 // LEDAllOff(); //关闭LED显示
+ 73 2 BlueToothPowerDis(); //关闭蓝牙模块
+ 74 2 AFEMosCtl(0); //关闭MOS驱动
+ 75 2
+ 76 2 AFEEnterPD(); //关闭3.3V电源
+ 77 2 }
+ 78 1 }
+ 79
+ 80
+ 81 /*************************************************************************************************
+ 82 * 函数名: SystemIntoSleep
+ 83 * 参 数: 无
+ 84 * 返回值: 无
+ 85 * 描 述: 低功耗处理,进入IDLE或者PD
+ 86 *************************************************************************************************/
+ 87 void SystemIntoSleep(void)
+ 88 {
+ 89 1 // LEDAllOff(); //关闭LED显示
+ 90 1 BlueToothPowerDis(); //关闭蓝牙模块
+ 91 1 bLedDisBleFlg = 0;
+ 92 1
+ 93 1 AfeWDTDis(); //关闭AFE WDT
+ 94 1 AfeTempADCDis(); //关闭AFE温度采集
+ 95 1 AfeAlarmEn(AFE_ALARM_SC | AFE_ALARM_OV | AFE_ALARM_CD); //开启SC,OV,CD的Alarm功能
+ 96 1 McuTwiDis(); //关闭MCU Twi模块降低功耗
+ 97 1 McuPWM2Dis(); //关闭MCU PWM模块
+ 98 1 if(bDSGMOS) //DSG开启时,直接输出高电平
+ 99 1 {
+ 100 2 IO_DSG_PWM = 1;
+ 101 2 }
+ 102 1 else
+ 103 1 {
+ 104 2 IO_DSG_PWM = 0;
+ 105 2 }
+ 106 1 Delay1ms(1);
+ 107 1
+ 108 1 IrqDis(); //关闭总中断源
+ 109 1 #if (UART0_DEFINE != 0)
+ 110 1 IrqUart0Dis();
+ 111 1 #endif
+ 112 1 #if (UART1_DEFINE != 0)
+ IrqUart1Dis();
+ #endif
+C51 COMPILER V9.01 LOWPOWER 02/06/2025 15:28:45 PAGE 3
+
+ 115 1 #if (UART2_DEFINE != 0)
+ IrqUart2Dis();
+ #endif
+ 118 1 IrqTimer3Dis(); //关闭Timer3中断
+ 119 1 IrqINT4FlgClr(); //保留外部中断4,清标志
+ 120 1 McuClockSet(MCU_CLK_128KHz); //设置系统时钟为128KHz
+ 121 1 IrqEn();
+ 122 1
+ 123 1 McuIntoPD(); //MCU进入PD,可通过外部按键或ALARM唤醒。由于在系
+ -辰鴖leep后可能没有关DSG MOS,可能因为持续的小电流而将电芯耗空,但是,AFE内部预留FUSE,在VDD电压低于4V时会关闭LDO,使V33
+ -系纭
+ 124 1 }
+ 125
+ 126
+ 127
+ 128
+ 129 /*************************************************************************************************
+ 130 * 函数名: LowPowerCheck
+ 131 * 参 数: 无
+ 132 * 返回值: 无
+ 133 * 描 述: 检测是否进入IDLE或者PD
+ 134 *************************************************************************************************/
+ 135 void LowPowerCheck(void)
+ 136 {
+ 137 1 if(bPCEnterPDFlg && (bUart0SndAckFlg||bUart1SndAckFlg||bUart2SndAckFlg)) //上位机发送
+ -名字强制进入PD
+ 138 1 {
+ 139 2 bPCEnterPDFlg = 0;
+ 140 2 bPDFlg = 1;
+ 141 2 }
+ 142 1 else if(bCTO) //发生断线后,延时进入PD
+ 143 1 {
+ 144 2 if(++ucPDTimerCnt >= E2ucLowPowerDeley)
+ 145 2 {
+ 146 3 ucPDTimerCnt = E2ucLowPowerDeley;
+ 147 3 bPDFlg = 1;
+ 148 3 }
+ 149 2 }
+ 150 1 else if(!bLedDisFlg) //LED显示关闭后开始检测进入低功耗
+ 151 1 {
+ 152 2 if(!bCHGING && !bDSGING) //非充非放状态
+ 153 2 {
+ 154 3 if(bUV) //发生欠压保护后,延时进入PD
+ 155 3 {
+ 156 4 if(++ucPDTimerCnt >= E2ucLowPowerDeley)
+ 157 4 {
+ 158 5 ucPDTimerCnt = E2ucLowPowerDeley;
+ 159 5 bPDFlg = 1;
+ 160 5 }
+ 161 4 }
+ 162 3 else //未发生欠压保护,且未发生其他保护,则延时进入IDLE
+ 163 3 {
+ 164 4 ucPDTimerCnt = 0;
+ 165 4 if(!(bOTC | bUTC | bOV | bOCC | bOTD | bUTD | bUV | bOCD1 | bOCD2 | bAFE_SC | bLedDisBleFl
+ -g))
+ 166 4 {
+ 167 5 if(++ucSleepTimerCnt >= E2ucLowPowerDeley)
+ 168 5 {
+ 169 6 ucSleepTimerCnt = E2ucLowPowerDeley;
+ 170 6 bSleepFlg = 1;
+ 171 6 }
+ 172 5 }
+C51 COMPILER V9.01 LOWPOWER 02/06/2025 15:28:45 PAGE 4
+
+ 173 4 else
+ 174 4 {
+ 175 5 ucSleepTimerCnt = 0;
+ 176 5 }
+ 177 4 }
+ 178 3 }
+ 179 2 else
+ 180 2 {
+ 181 3 ucSleepTimerCnt = 0;
+ 182 3 ucPDTimerCnt = 0;
+ 183 3 }
+ 184 2 }
+ 185 1 else
+ 186 1 {
+ 187 2 ucSleepTimerCnt = 0;
+ 188 2 ucPDTimerCnt = 0;
+ 189 2 }
+ 190 1 }
+ 191
+ 192
+ 193 /*************************************************************************************************
+ 194 * 函数名: LowPowerProcess
+ 195 * 参 数: 无
+ 196 * 返回值: 无
+ 197 * 描 述: 低功耗处理,进入IDLE或者PD
+ 198 *************************************************************************************************/
+ 199 void LowPowerProcess(void)
+ 200 {
+ 201 1 if(!bSleepFlg && !bPDFlg)
+ 202 1 {
+ 203 2 IrqDis();
+ 204 2 if(!(bKeyFlg | bCaliFlg | bMcuFlashWrFlg | bWakeupFlg | bISPFlg | bTimer50msFlg | bTimer1sFlg) && (ucRes
+ -etFlag!=0x12))
+ 205 2 {
+ 206 3 IrqEn();
+ 207 3 McuIntoIdle();
+ 208 3 }
+ 209 2 IrqEn();
+ 210 2 }
+ 211 1 else if(bPDFlg)
+ 212 1 {
+ 213 2 bMcuFlashWrFlg = 1;
+ 214 2 McuFlashProcess();
+ 215 2 SystemIntoPD();
+ 216 2 }
+ 217 1 else if(bSleepFlg)
+ 218 1 {
+ 219 2 SystemIntoSleep();
+ 220 2 }
+ 221 1
+ 222 1 WakeUpProcess(); //系统从低功耗唤醒
+ 223 1 }
+ 224
+ 225
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 342 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 3 ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+C51 COMPILER V9.01 LOWPOWER 02/06/2025 15:28:45 PAGE 5
+
+ IDATA SIZE = ---- ----
+ BIT SIZE = 4 ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/LowPower.obj b/output/LowPower.obj
new file mode 100644
index 0000000..dea5ead
Binary files /dev/null and b/output/LowPower.obj differ
diff --git a/output/MCUCore_Load b/output/MCUCore_Load
new file mode 100644
index 0000000..d6467ce
Binary files /dev/null and b/output/MCUCore_Load differ
diff --git a/output/MCUCore_Load.ORC b/output/MCUCore_Load.ORC
new file mode 100644
index 0000000..9e46527
--- /dev/null
+++ b/output/MCUCore_Load.ORC
@@ -0,0 +1,118 @@
+F7FF AFEADCDIS
+F7FF AFEADCEN
+F7FF AFECADCDIS
+F7FF AFECADCEN
+F7FF AFECHGERCHECKDIS
+F7FF AFECHGERCHECKEN
+F7FF AFECLRFLG
+F7FF AFEENTERPD
+F7FF AFEGETTEMPE
+F7FF AFEGETVOL
+F7FF AFEINIT
+F7FF AFELOADCHECKDIS
+F7FF AFELOADCHECKEN
+F7FF AFERAMCHECK
+F7FF AFERDFLG
+F7FF AFERDSTATUS
+F7FF AFETEMPADCDIS
+F7FF AFETEMPADCEN
+F300 AFETWICHECK
+F7FF AFEWDTDIS
+F7FF AFEWDTEN
+F7FF BALPROCESS
+E301 CALICURZERO
+F7FF CALIRTCTIME
+F7FF CHGERCHECK
+F300 CTOCHECKVOL
+F300 CTOTURNONCHECK
+F7FF E2PROMBKBOOT
+F7FF E2PROMINIT
+F300 E2PROMTWICHECK
+FFBF GASGAUGEVARIN
+FF8F GASGAUGEVAROUT
+C000 INITGPIO
+E000 INITIRQ
+F797 INITVAR
+F301 INTERRUPTINT4
+F300 INTERRUPTTIMER3
+F300 INTERRUPTTIMER3APP
+E300 INTERRUPTUART0
+F38F INTERRUPTUART0APPTX
+F000 KEYSCAN
+F300 LEDAUTOOFF
+F303 LEDDISPLAY
+F7FF LOADCHECK
+F301 LOWPOWERCHECK
+F7FF LOWPOWERPROCESS
+F7BF MCUFLASHPROCESS
+F300 MCUFLASHWRWAITCHECK
+C000 MCUINTOIDLE
+C000 MCUINTOPD
+F7FF MOSCTRL
+C000 MOSSTATUSCHECK
+F78F PORPROTECTOTC
+F78F PORPROTECTOTD
+F782 PORPROTECTOV
+F78F PORPROTECTUTC
+F78F PORPROTECTUTD
+F782 PORPROTECTUV
+F7FF PROTECTOCRECOVER
+F7AF PROTECTOTC
+F7AF PROTECTOTD
+F7FF PROTECTOV
+F7AF PROTECTUTC
+F7AF PROTECTUTD
+F78B PROTECTUV
+F300 RAMCHECKPROCESS
+F300 RTCTWICHECK
+FFBF SYSPARAINIT
+F7FF SYSTEMINTOPD
+F7FF SYSTEMINTOSLEEP
+E000 TWIINIT
+F375 UART0CALICUROFFSET
+F377 UART0CALIRTC
+F377 UART0CALITS1
+F377 UART0CALITS2
+F377 UART0CALIVOLTAGE
+F300 UART0CHECK
+E300 UART0HANDSHAKE
+F7BF UART0IAPCHECKHANDSHAKE
+F3FF UART0RDCMDPROCESS
+F7FF UART0RDE2PROM
+F375 UART0READSUBCLASSID
+F375 UART0WRITEMANUFACTURE
+F7FF UART1RDE2PROM
+F7FF UART2RDE2PROM
+F7FF WAKEUPPROCESS
+F7FF _AFEALARMDIS
+F7FF _AFEALARMEN
+F7FF _AFEBALCTL
+F7FF _AFEMOSCTL
+F7FF _AFEREADREG
+F7FF _AFEWRITEREG
+F365 _CRC8CAL
+F03E _DELAY1MS
+F7FF _E2PROMREAD
+F7FF _E2PROMWRITE
+F7CF _GETCYCLEGAIN
+F301 _INTERRUPTINT4APP
+F001 _LEDGETDISNUM
+F301 _MCUCLOCKSET
+F31C _MCUFLASHBLANKCHECK
+F303 _MCUFLASHCHECKFLG
+F7AF _MCUFLASHDATACHECK
+F307 _MCUFLASHREAD
+F7BF _MCUFLASHWRITE
+F035 _MCUFLASHWRONEBYTE
+F33F _MCUFLASHWRSECTOR
+F78D _MEMORYCOPY
+F781 _MEMORYSET
+C000 _PUTCHAR
+F7FF _RTCMODIFYTIME
+F7FF _RTCREAD
+F7FF _RTCWRITE
+F00C _TWICHECKSTATUS
+F7FF _TWIREAD
+F7FF _TWIWRITE
+F37F _UART0READINFO
+F7FF _UART0WRITEINFO
diff --git a/output/MCUCore_Load.build_log.htm b/output/MCUCore_Load.build_log.htm
new file mode 100644
index 0000000..1929aa6
--- /dev/null
+++ b/output/MCUCore_Load.build_log.htm
@@ -0,0 +1,66 @@
+
+
+
+礦ision Build Log
+Tool Versions:
+IDE-Version: μVision V5.22.0.0
+Copyright (C) 2016 ARM Ltd and ARM Germany GmbH. All rights reserved.
+License Information: yang Microsoft, Microsoft, LIC=58E4T-RQU60-GVC1T-RJBYK-PG19C-5N7J7
+
+Tool Versions:
+Toolchain: PK51 Prof. Developers Kit Version: 9.01
+Toolchain Path: C:\Keil_v5\C51\BIN
+C Compiler: C51.exe V9.01
+Assembler: A51.exe V8.02
+Linker/Locator: BL51.exe V6.22
+Library Manager: LIB51.exe V4.24
+Hex Converter: OH51.exe V2.6
+CPU DLL: S8051.DLL V3.72
+Dialog DLL: DP51.DLL V2.59
+Target DLL: SH51A.dll V1.0.0.0
+Dialog DLL: TP51.DLL V2.58
+
+Project:
+C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231222\SH39F003&F004_DemoCode_V2.15_20231213\MCUCore.uvproj
+Project File Date: 12/22/2023
+
+Output:
+Rebuild target 'McuFlash_Load'
+compiling Main.c...
+compiling Initial.c...
+compiling InterruptApp.c...
+compiling Led.c...
+compiling KeyApp.c...
+compiling LowPower.c...
+compiling UartApp.c...
+compiling Memory.c...
+compiling AFE.c...
+compiling Balance.c...
+compiling Calculate.c...
+compiling Calibrate.c...
+compiling ChargerLoad.c...
+compiling ExtE2PRom.c...
+compiling Interrupt.c...
+compiling KeyScan.c...
+compiling McuFlash.c...
+compiling McuLib.c...
+compiling MosCtrl.c...
+compiling PorSelfTest.c...
+compiling Protect.c...
+compiling RTC.c...
+compiling TWI.c...
+compiling Uart.c...
+compiling Thermistor.c...
+compiling TwiIO.c...
+assembling STARTUP.A51...
+compiling GasGaugeInter_V4_13.c...
+compiling BootApp.c...
+compiling BootIAP.c...
+linking...
+Program Size: data=151.4 xdata=1528 code=29687
+creating hex file from ".\output\MCUCore_Load"...
+".\output\MCUCore_Load" - 0 Error(s), 0 Warning(s).
+Build Time Elapsed: 00:00:04
+
+
+
diff --git a/output/MCUCore_Load.hex b/output/MCUCore_Load.hex
new file mode 100644
index 0000000..a01a66c
--- /dev/null
+++ b/output/MCUCore_Load.hex
@@ -0,0 +1,2217 @@
+:105C500053797374656D436C6F636B3A20384D48AC
+:105C60007A000D0A00424154303A252E3266206DEA
+:105C7000560D0A00424154313A252E3266206D56A7
+:105C80000D0A00424154323A252E3266206D560DDF
+:105C90000A00424154333A252E3266206D560D0AD1
+:105CA00000424154343A252E3266206D560D0A00CA
+:105CB000544F54414C3A252E3266206D560D0A0041
+:105CC00054454D50303A252E326620430D0A00547B
+:105CD000454D50312E303A252E326620430D0A00B4
+:105CE00054454D50312E313A252E326620430D0A4F
+:015CF00000B3
+:0E7F5100C29CD2A08F993099FDC2A0C2992285
+:1030A6001270A27BFF7A5C7950122C8E30702053FE
+:1030B600B1F8C270127E00127F77127C9312787B71
+:1030C6001270541272F8127ABF126410127DEC203C
+:1030D6006F0302336FB2A47BFF7A5C7962122C8E87
+:1030E600900285E0FCA3E0FDE4121F1D7B007A80C0
+:1030F600796D7845121D72C004C005C006C00790E0
+:1031060000BFE0FCA3E0FDE4121F1DA804A905AA68
+:1031160006AB07D007D006D005D004121E7B90025E
+:10312600BA1224847BFF7A5C7965122C8E90028712
+:10313600E0FCA3E0FDE4121F1D7B007A80796D7828
+:1031460045121D72C004C005C006C0079000BFE04E
+:10315600FCA3E0FDE4121F1DA804A905AA06AB07FF
+:10316600D007D006D005D004121E7B9002BA1224D6
+:10317600847BFF7A5C7974122C8E900289E0FCA322
+:10318600E0FDE4121F1D7B007A80796D7845121DE3
+:1031960072C004C005C006C0079000BFE0FCA3E0F3
+:1031A600FDE4121F1DA804A905AA06AB07D007D087
+:1031B60006D005D004121E7B9002BA1224847BFF2F
+:1031C6007A5C7983122C8E90028BE0FCA3E0FDE4FE
+:1031D600121F1D7B007A80796D7845121D72C0041E
+:1031E600C005C006C0079000BFE0FCA3E0FDE412E6
+:1031F6001F1DA804A905AA06AB07D007D006D0054F
+:10320600D004121E7B9002BA1224847BFF7A5C796A
+:1032160092122C8E90028DE0FCA3E0FDE4121F1D9D
+:103226007B007A80796D7845121D72C004C005C096
+:1032360006C0079000BFE0FCA3E0FDE4121F1DA836
+:1032460004A905AA06AB07D007D006D005D00412FC
+:103256001E7B9002BA1224847BFF7A5C79A1122C21
+:103266008E900289E0FEA3E0FF900288E02FFF9097
+:103276000287E03EFE90028CE02FFF90028BE03E3C
+:10328600FE90028EE02FFD90028DE03EFCE4121FC0
+:103296001D7B007A80796D7845121D72C004C005C9
+:1032A600C006C0079000BFE0FCA3E0FDE4121F1DAE
+:1032B600A804A905AA06AB07D007D006D005D004F6
+:1032C600121E7B9002BA1224847BFF7A5C79B012BC
+:1032D6002C8E7BFF7A5C7962122C8E90029DE0FC2C
+:1032E600A3E0FDE4121F1DE4FBFA79887841121D64
+:1032F60072E4FBFA79C87842121E7BE4FBFA7987FE
+:1033060078C3121C819002BA1224847BFF7A5C79FE
+:10331600C0122C8E900299E0FCA3E0FDE4121F1D62
+:103326009002BA1224847BFF7A5C79CF122C8E909D
+:10333600029BE0FCA3E0FDE4121F1D9002BA1224DA
+:10334600847BFF7A5C79E0122C8EC26F12255912AB
+:10335600691F127D62127CEF127D0C1268564003C3
+:10336600125CF1127DD71250D7127AEC127D291217
+:103376006EC912526E125905900206E524F0A3E5B5
+:0E33860025F0A3E522F0A3E523F00230B222E9
+:107646009005367401F07E027F3C7B40E4FD127BA0
+:10765600437E027F0A7B14E4127B43900224740A61
+:10766600F0A374ABF0A3740AF0A374ABF0C22CC2FF
+:107676002D9003FF7402F0D22ED27E90027C7450BD
+:02768600F022F0
+:105CF1007FFE7E01127B6D501F7B007A02E4FDFC6A
+:105D0100FFFE126A9F7FFE7E03127B6D402CE4FD35
+:105D1100FF7E02125EC580227FFE7E03127B6D50E4
+:105D2100167B007A02E4FDFCFF7E02126A9FE4FD0D
+:105D3100FFFE125EC58003D27122900000E0F520C3
+:105D4100A3E0F521900238E520F0A3E521F09000D1
+:105D51001A12241E90022C122484900022E0FFA328
+:105D6100E0900236CFF0A3EFF0E52154072403F5CC
+:105D71001364056005E513B40A04E4F51422E51380
+:105D810064046005E513B409047514012275140255
+:015D910022EF
+:107CD100C2AFD2ACC086758640C28FD086D2AD43CA
+:0E7CE100BA6043E840E4F5D843A908D2AF22C8
+:107B18007580F075E18F75E9C075908075E27F75A5
+:107B2800EA8075A04675E3BB75EB4675B01875E439
+:0B7B3800E675EC184380C043E9802292
+:1070A200E4FF127C51127B18125CF11276467D05C8
+:1070B2007C007F44127A8F126980127DAB7D647FDF
+:1070C200A07E0F12631212618A1261034002D25D26
+:1070D2001278043007121263934002D2397E047F81
+:0C70E20097125FEA4002D27B127CD122A0
+:10102E00EFB4200E206603306919E4FF127C51D212
+:10103E006822EFB4400D206603306907E4FF127C8E
+:04104E0051D26822F1
+:107C2D00D26E90049FE004F0C3940A4004E4F0D2B5
+:107C3D007090049EE004F0C394C84004E4F0D26F49
+:047C4D00125BAE22F6
+:10774900D3EF9450EE940040037F0522D3EF943C8D
+:10775900EE940040037F0422D3EF9428EE94004076
+:10776900037F0322D3EF9414EE940040037F022297
+:0F777900D3EF9400EE940040037F01227F0022A3
+:107E140030740F9003FEE004F0C394644004E4F073
+:037E2400C2742203
+:106B5B00302A149003FCE004F0C3940A400BE4F0D9
+:106B6B00A2B5B392B58002C2B530750D9003FDE0AE
+:106B7B0004F0C394054002E4F030742C900234E02E
+:106B8B00FEA3E0FF127749EF6401601CEFB402042F
+:106B9B00D2A18014EFB40306D2A1D2A2800AEFB423
+:0B6BAB000406D2A1D2A2D2A3127E14D5
+:016BB60022BC
+:1067F000C22CC22DC22E302B569003FFE07018041D
+:10680000F0D22D900089E0FEA3E0FF90008CE0FD27
+:1068100012631243B701229003FFE0B40116740221
+:10682000F0D22E900089E0FEA3E0FF7D6412631297
+:1068300043B70122E49003FFF0D22C900089E0FEE0
+:10684000A3E0FF90008BE0FD12631243B70122C268
+:066850002CC22DC22E2215
+:107A5F00307D2CC27DE50824FE600F24F1601614E2
+:107A6F006010241170191267F022D274E49003FE93
+:107A7F00F022D26622B275307503C28322D28322DE
+:1076C90030683CC268306924E4FF127C51D2AFC2F1
+:1076D90069E490053CF07F011273D1D2ACD2ADD2EE
+:1076E900CE7F70127D94127EE5127E73E490053C84
+:1076F900F0A3F09003F4F09003F5F09003F6F02274
+:107F0B0053B1F8C2AFD283E4FF127DC2127BBB80A8
+:027F1B00EF2253
+:1078ED00D283C275127E86127EF87F70127F2FC2F0
+:1078FD00CE53B77E302904D2A58002C2A57F0112D6
+:10790D0073D1C2AFC2ACC2ADE4F5D87F80127C5149
+:06791D00D2AF127F6B22C5
+:105F5C0030670E204306204403304505C267D266E5
+:105F6C002230161490002AE0FF90053DE004F0C3A7
+:105F7C009F406AEFF0D2662220745B202A50202BBF
+:105F8C004D30191490002AE0FF90053DE004F0C359
+:105F9C009F404AEFF0D26622E490053DF0A21272C7
+:105FAC00107218721A721172137219721B721C729F
+:105FBC00157275401390002AE0FF90053CE004F048
+:105FCC009F401AEFF0D26922E490053CF022E49055
+:0E5FDC00053CF0A3F022E490053CF0A3F02277
+:10770900206926206623C2AFA27C727D72727268DC
+:10771900724C7270726F400D90053EE06412600504
+:10772900D2AF127F5FD2AF801330660AD272125283
+:107739006E127F0B80063069031278ED1276C9222A
+:10734100000000300062007400000089008E009986
+:1073510000A200AA00BB00BF00FE00000000000068
+:10736100000000000020005000820094000000A9ED
+:1073710000AE00B900C200CA00DB00DF011E000040
+:08738100000000000000000004
+:107F1D00900402E07006C29C75995A22C29C759914
+:027F2D00FF2231
+:086486009005EEEEF0A3EFF02B
+:10648E007B017A047900900402E02403FD127D461C
+:10649E00900402E02403F582E43404F583E06F7087
+:1064AE0041FF900402E0FEEFC39E502953B1F874F1
+:1064BE00032FF582E43404F583E0FE9005EEE0FC54
+:1064CE00A3E0F5828C83EEF09005EEE475F00112F8
+:1064DE0022480F80CDD273E49005FAF0C29C7599D4
+:0764EE005A22C29C7599FFC0
+:0164F5002284
+:1068BC00900402E0D3948C4002E4F0E4FD900402D6
+:1068CC00E0FCEDC39C501D53B1F88F828E83E0FB2E
+:1068DC0074032DF582E43404F583EBF00FBF000153
+:1068EC000E0D80D97B017A047900EC2403FD127D16
+:1068FC0046900402E02403F582E43404F583EFF0BF
+:10690C00C29C9003F7E02400F582E43404F583E0A4
+:02691C00F599EB
+:01691E002256
+:1074EF007B017A047900900402E02403FD127D46AB
+:1074FF00900402E02403F582E43404F583E0B50739
+:10750F001E900404E0FFB4410890053E7412F08011
+:10751F0006EFB40502D267C243C29C75995A22C2C4
+:05752F009C7599FF228C
+:1078B6007B017A047900900402E02403FD127D46E0
+:1078C600900402E02403F582E43404F583E0B5076E
+:1078D60010900403E09003EFF0C243C29C75995ADE
+:0778E60022C29C7599FF22EC
+:1046AE00900401E0FF12250647020147020247026D
+:1046BE00034702044702054702064702074702085E
+:1046CE0047020947020A47130B47230C472B0D4796
+:1046DE00330E473B0F471B10474311474B124753AF
+:1046EE0013475B14476315476B16477317477B18C1
+:1046FE0000004783EF25E02408F582E43402AF8200
+:10470E00FE1268BC227E027F1E1268BC227E027FD1
+:10471E00201268BC227E027F241268BC227E027F99
+:10472E00261268BC227E027F281268BC227E027F7F
+:10473E002A1268BC227E027F2C1268BC227E027F67
+:10474E00301268BC227E027F341268BC227E027F49
+:10475E00361268BC227E027F061268BC227E027F61
+:10476E00081268BC227E027F381268BC227E027F4D
+:10477E003A1268BC22900402E0C394804009D23AF7
+:10478E009003DF7401F022900401E0B478109003DE
+:10479E00EFE0B40C09D23A9003EC7401F0229004CD
+:1047AE0001E0B478229003EFE025E02441F582E4A5
+:1047BE003473F583E493FE740193FF9005F0EEF0ED
+:1047CE00A3EFF01268BC22900401E0B479219003AB
+:1047DE00EFE025E02465F582E43473F583E493FE7F
+:0F47EE00740193FF9005F0EEF0A3EFF01268BC9A
+:0147FD002299
+:106E26007B017A047900900402E02403FD127D467A
+:106E3600900402E02403F582E43404F583E06F70E5
+:106E46002B900403E0FEA3E0FDEEEDFF9005DFEEE0
+:106E5600F0A3EFF04E7006C29C7599FF22D27C908B
+:106E660005DAE04401F0C29C75995A22C29C7599D4
+:026E7600FF22F9
+:10532F007B017A047900900402E02403FD127D468C
+:10533F00900402E02403F582E43404F583E06F6007
+:10534F00030253E6900404E0FFE4FCFDFE78101224
+:10535F0023FFC004C005C006C007900403E0FFE4AC
+:10536F00FCFDFE78181223FFD003D002D001D0002D
+:10537F00122396C004C005C006C007900405E0FFC5
+:10538F00E4FCFDFE78081223FFD003D002D001D039
+:10539F0000122396A804A905AA06AB07A3E0FFE411
+:1053AF00FCFDFE1223969005D61224849002A1E0F4
+:1053BF007002A3E0600C9005D612241EEC4D4E4FE8
+:1053CF007006C29C7599FF22D27C9005DAE04410DA
+:0D53DF00F0C29C75995A22C29C7599FF225C
+:107923007B017A047900900402E02403FD127D4672
+:10793300900402E02403F582E43404F583E0B50700
+:107943000FD27C9005DAE04420F0C29C75995A224C
+:06795300C29C7599FF22A1
+:107266007B017A047900900402E02403FD127D4636
+:10727600900402E02403F582E43404F583E06F70A1
+:1072860022D27C900403E0FEA3E0FDEEEDFF900524
+:10729600DBEEF0A3EFF09005DAE04404F0C29C7553
+:0972A600995A22C29C7599FF223D
+:1072AF007B017A047900900402E02403FD127D46ED
+:1072BF00900402E02403F582E43404F583E06F7058
+:1072CF0022D27C900403E0FEA3E0FDEEEDFF9005DB
+:1072DF00DDEEF0A3EFF09005DAE04408F0C29C7504
+:0972EF00995A22C29C7599FF22F4
+:106DD2007B017A047900900402E02403FD127D46CF
+:106DE200900402E02403F582E43404F583E06F703A
+:106DF2002DFF74032FF582E43404F583E0FE74E181
+:106E02002FF582E43405F583EEF00FEFB407E3D2F9
+:106E12007C9005DAE04480F0C29C75995A22C29CAB
+:036E22007599FF60
+:016E2500224A
+:105B0700900401E01225065B33185B37775B537807
+:105B17005B75795B3FA05B47A15B4BA25B3BA35BDC
+:105B270043A45B4FAF5B97B000005BAD1274EF22ED
+:105B37001278B62212532F22126E262212792322AE
+:105B4700127266221272AF22126DD2229003EFE018
+:105B570025E02441F582E43473F583E493FE740170
+:105B670093FF9005F2EEF0A3EFF012648622900304
+:105B7700EFE025E02465F582E43473F583E493FED2
+:105B8700740193FF9005F2EEF0A3EFF01264862202
+:105B9700900403E0B4550AD23AD238C29C75995A98
+:065BA70022C29C7599FF6B
+:015BAD0022D5
+:10454700E49005F4F0A3F09003F7E0FFB4021A90AB
+:104557000401E064A56006E49003F7F022E4900309
+:10456700FAF0A3F09003F0F022900402E0FD7C0043
+:104577002409FBEC33FA7E00C3EF9BEA6480F874EE
+:104587008098505FED2407FDEC33FCD3EF9DEC647E
+:1045970080F874809850189003F7E024FFF582E4C0
+:1045A7003403F583E0FF9003FAEE8FF01222489070
+:1045B70003F7E0FFB40511900404E06407700302F9
+:1045C70046ADE49003F7F022EF640660030246ADC0
+:1045D700900405E0640670030246AD9003F0E044E2
+:1045E70020F022E49003F7F0900402E0FD2408F5A0
+:1045F70082E43404F583E0FE74072DF582E4340485
+:10460700F583E07C002400FFEC3EFE9003FAE06EA9
+:104617007003A3E06F60079003F0E04480F090031D
+:10462700F0E0FF6006900406F08007D24CE49004A7
+:1046370006F0E4900402F0900405740BF090040374
+:10464700E0FFA3E0900403F0A3EFF07F02900402E1
+:10465700E0FE2407FDE433FCEFC39DEC6480F874AF
+:104667008098501874002FF582E43404F583E0FD38
+:104677009005F4E48DF01222480F80D19005F4E004
+:10468700FCA3E0FF74072EF582E43404F583EFF012
+:10469700ECFF900402E02408F582E43404F583EF8C
+:0646A700F0C29C75995A57
+:0146AD0022EA
+:105E2E009003F7E02400F582E43404F583EFF0905C
+:105E3E0003F7E004F0E0C3948C4002E4F09003F723
+:105E4E00E064017027900400E0FF54FEB59A10EF55
+:105E5E0020E006D246C2498013D249C246800D9038
+:105E6E000400E0645A6005E49003F7F030460D90AC
+:105E7E0003F7E0640370301246AE802B3049259054
+:105E8E000402E02403FFE433FE9003F7E0D39FEE19
+:105E9E006480F8748098400F125B07C249E4900347
+:105EAE00F7F08003124547C243E490053CF090059D
+:075EBE003DF09003F4F02217
+:1059B100900400E0B45A06A3E064A56003304C44AF
+:1059C100900402E02408FFE433FE9003F7E0C39F54
+:1059D100EE6480F87480984014D29CE4F0C2469042
+:1059E1000400F0A3F0A3F0A3F0D24380609003F78A
+:1059F100E004F0C29CE02400F582E43404F583E085
+:105A0100F59980499003F7E0FF6016900402E024C5
+:105A110003FDE433FCC3EF9DEC6480F8748098408F
+:105A210017D29CE49003F7F0C246900400F0A3F073
+:105A3100A3F0A3F0D24380159003F7E004F0C29CD9
+:105A4100E02400F582E43404F583E0F599E490055F
+:0B5A51003CF090053DF09003F4F022C3
+:107DEC009003F4E004F0C394044008E4F09003F72B
+:047DFC00F0D29C2203
+:107D6200305F119002B1E004F0C39405400BD25D84
+:0A7D72007405F022E49002B1F02243
+:0E5A5C009002BEEFF0A3EDF0A3EAF0A3EBF092
+:105A6A00C24EE4A3F0305D03025AFFA3F09002BFD6
+:105A7A00E0FF9002C3E0C39F507B9002C2E0FF04A4
+:105A8A00F0EFC39405503E9002BEE0FD7C00900208
+:105A9A00F77401F0A3F09002C0E0FFA3E09002F9CE
+:105AAA00CFF0A3EFF0E4FB7F361247FE924E304E62
+:105ABA0004801280C5E4F5C87F011273D1127DAB50
+:105ACA001273D180B59002C2E0C3940540048025C8
+:105ADA008015E49002C2F09002BEE004F09002C089
+:105AEA00E475F0011222487F011273D19002C3E0DB
+:0C5AFA0004F0025A77A24EB3925FA24E55
+:015B0600227C
+:0E671C009002C1EFF0A3EDF0A3EAF0A3EBF0C2
+:10672A00C24EE4A3F0205D4D9002C5E0FF04F0EFF5
+:10673A00C3940550409002C1E0FD7C00A3E09002A2
+:10674A00EDF0A37401F09002C3E0FFA3E09002EF22
+:10675A00CFF0A3EFF0E4FB7F36123D83924E304E2A
+:10676A0004801280C3E4F5C87F011273D1127DAB95
+:0C677A001273D180B3A24EB3925FA24E06
+:0167860022F0
+:107804007A027BA37D02E4FF12671C502E9002A330
+:10781400E07004A3E060249002A7E04480F07A02C0
+:107824007BA77D017F04125A5C9002A7E0547FF08D
+:0C7834007A027BA77D017F04125A5C22BF
+:10618A00E49002A6F0A37450F0E4A3F0A374F8F02C
+:10619A00E4A3F0A3F0A37470F0A37401F0A3740352
+:1061AA00F0A374FFF0E4A3F03000199002A7E044D2
+:1061BA0008F09002ACE0FF9000BBE0540FFEEF4EF7
+:1061CA009002ACF030013E9002A7E04404F0900245
+:1061DA00ADE0FF9000BBE054F0FEEF4E9002ADF050
+:1061EA009000BCE0FEA3E0FF7C007D3212252CE487
+:1061FA007B257A01F9F8122304AD07AC06EC90026C
+:05620A00AEF0A3EFF06F
+:01620F00226C
+:10610300D24D9002BD7403F09002BDE0FF14F0EF96
+:1061130060727A027BA67D0B7F03125A5C505C90FF
+:1061230002BC7403F09002BCE0FFD3940B504E7A90
+:10613300027BBA7D0212671C9002BCE0FF7E007BEB
+:106143000124A3F9EE3402FA122189FD9002BAE088
+:10615300B5051374A42FF9EE3402FA122189FF90C6
+:1061630002BBE06F600C9002BCE064076004C24DA8
+:10617300800B9002BCE02402F080AAC24D304D880F
+:0661830080028084A24DA1
+:0161890022F3
+:1077C7007A027BA37D02E4FF12671C502F9002A46C
+:1077D700E0FF30E102D25CEF30E002D25E9002A31C
+:1077E700E0FF30E307206B04D215D26DEF30E202E1
+:0D77F700D2149002A4E030E20312610322DC
+:107D7C007A027BB77D027F0212671C500A9002B711
+:077D8C00E09002A5F0F526CE
+:017D930022CD
+:10691F009002B97403F09002B9E0FFD3940B50507A
+:10692F007A027BB77D0212671C9002B9E0FF7E00EE
+:10693F007B0124A3F9EE3402FA122189FD9002B7EC
+:10694F00E0B5051374A42FF9EE3402FA122189FF72
+:10695F009002B8E06F60109002B9E064076008120F
+:10696F006103400CD266229002B9E02402F080A6A7
+:01697F0022F5
+:107BBB009002B07433F07A027BB07D017F0D125AC4
+:107BCB005C50129002A7E04420F07A027BA77D0163
+:067BDB007F04125A5C2237
+:107DC2009002A8E054FCF04FF07A027BA87D017F7C
+:057DD20005125A5C22BD
+:107E27009002A7E04401F07A027BA77D017F04124C
+:037E37005A5C2270
+:107E3A009002A7E054FEF07A027BA77D017F04122C
+:037E4A005A5C225D
+:107E4D009002A7E04402F07A027BA77D017F041225
+:037E5D005A5C224A
+:107E60009002A7E054FDF07A027BA77D017F041207
+:037E70005A5C2237
+:107788009002B9EEF0A3EFF09002B9E0FEA3E07822
+:1077980005CEC313CE13D8F99002AAF07A027BAAB9
+:1077A8007D017F07125A5C50159002B9E0A3E09062
+:0F77B80002ABF07A027BAB7D017F08125A5C2294
+:107E73009002A7E04410F07A027BA77D017F0412F1
+:037E83005A5C2224
+:107E86009002A7E054EFF07A027BA77D017F0412EF
+:037E96005A5C2211
+:107E99009002A9E044F8F07A027BA97D017F0612DD
+:037EA9005A5C22FE
+:107EAC009002A9E05407F07A027BA97D017F0612AB
+:037EBC005A5C22EB
+:107EBF009002A9E044E0F07A027BA97D017F0612CF
+:037ECF005A5C22D8
+:107ED2009002A9E0541FF07A027BA97D017F06126D
+:037EE2005A5C22C5
+:107EE5009002A9E04408F07A027BA97D017F061281
+:037EF5005A5C22B2
+:107EF8009002A9E054F7F07A027BA97D017F06126F
+:037F08005A5C229E
+:107F2F009002A6E04FF07A027BA67D017F03125AE2
+:027F3F005C22C2
+:107D94009002A6E0FEEFF4FFEE5FF07A027BA67D90
+:077DA400017F03125A5C226B
+:10494500306103024A88306203024A882003030269
+:104955004A88E490053AF0A3F0C3900063E095120D
+:10496500900062E09511500330181ED3900065E069
+:104975009512900064E09511400320180C20100951
+:10498500201206201103301308C263E4900539F0A4
+:1049950022C39000A3E095129000A2E09511400378
+:1049A500024A81C3E5129510FFE511950FFED390DC
+:1049B50000A5E09F9000A4E09E4003024A8190007C
+:1049C500A6E0FEA3E0FFEE3395E0FDFC9002201289
+:1049D5002437C31223B15003024A81206306900590
+:1049E50039E004F09000A8E075F00AA4FF900539BD
+:1049F500E0C39FE5F06480F87480985003024A880C
+:104A0500AD14E5142513FFE433FEEDC39FEE64807A
+:104A1500F87480985063ED25E0240AF582E43402A9
+:104A2500F583E0FEA3E0C39510FFEE950FFED3904E
+:104A350000A5E09F9000A4E09E503BED25E0240AF0
+:104A4500F582E43402F583E0FEA3E0FF9000A2E0E6
+:104A5500FAA3E0FBC3EF9BEE9A401B74017E00A80E
+:104A650005088005C333CE33CED8F9FF90053AE06B
+:104A75004EF0A3E04FF00D8089D26322C263E4902B
+:034A85000539F000
+:014A8800220B
+:10795900C24D30052D20162A306527C39002B4E0A8
+:1079690094B49002B3E094005011D24D900538E0E0
+:1079790004F0C3940A400BD2168007C265E490054F
+:0479890038F0A24DE3
+:01798D0022D7
+:10579800C3E5129510FFE511950FFEC3EF94B0EE27
+:1057A8009404500AE5129464E51194055002D265F8
+:1057B800900536E024FE605514605914606A146040
+:1057C8007C2404600302585120620330637B3064F8
+:1057D8001590053AE05455FFA3E054559002B7CF11
+:1057E800F0A3EFF0801390053AE054AAFFA3E05429
+:1057F800AA9002B7CFF0A3EFF09002B7E0FEA3E0C3
+:10580800FF1277889005367402F0D261229005362F
+:105818007403F0221279594030E4FFFE1277889021
+:1058280005367404F0B2642212795940079005369F
+:105838007405F0229005367401F0B26422900536A2
+:095848007401F0C262C263C26186
+:015851002234
+:107BE10030052220161F900537E004F0C3942D4084
+:107BF10014742DF020610EE4F0D26290053A740302
+:067C0100F0A374FFF02265
+:0A7F7700124945127BE112579822CF
+:1079F800FFD8FFE2FFECFFF60000000A00190023A1
+:107A0800002D00370041004B0055FFFBFFFCFFFD38
+:107A1800FFFEFFFFFFFF000000010001000200035E
+:047A28000004000551
+:04380C008F828E8396
+:103810007E037FE8AD82AC8312252CC006C007AEC4
+:1038200083AF82C3E49FFF74109EFEAB07FAE4F9F6
+:10383000F8D007D0061223049002BA122484E47F41
+:103840000AFEFDFC9002BA122437D31223C7401D92
+:103850009002BA12241EC3EF940AFFEE9400FEED0C
+:103860009400FDEC9400FC9002BA122484904A89E2
+:10387000E493FE740193FFE4FCFD9002BA12243736
+:10388000C31223C7400D9002B87408F0A374B7F0B8
+:103890000239F3904BC9E493FE740193FFE4FCFDFD
+:1038A0009002BA122437D31223C7500D9002B87475
+:1038B0000EF0A374F7F00239F390027CE09002B7A7
+:1038C000F075F002904A891224DAE493FE740193B1
+:1038D000FFE4FCFD9002BA122437D31223C7403B09
+:1038E00090027CE0149002B7F09002B7E0FFC3941E
+:1038F00000406975F002EF904A891224DAE493FEE1
+:10390000740193FFE4FCFD9002BA122437D3122312
+:10391000C740499002B7E014F080CE90027CE004EA
+:103920009002B7F09002B7E0FFC394A0502875F062
+:1039300002EF904A891224DAE493FE740193FFE4C3
+:10394000FCFD9002BA122437D31223C7500890020C
+:10395000B7E004F080CE9002B7E014F09002B7E038
+:1039600090027CF075F002904A891224DAE493FE0A
+:10397000740193FFE4FCFD9002BA12243712226B0B
+:10398000E47B0AFAF9F8122279C004C005C006C027
+:10399000079002B7E0FF75F002904A8B1224DAE438
+:1039A00093FC740193FD75F002EF904A891224DABA
+:1039B000C37401939DFFE4939CFEAB07FAE4F9F80E
+:1039C000D007D006D005D004122304AB07AA069076
+:1039D000027CE024CEFFE434FFFE7C007D0A12214D
+:1039E000E1EF2BFFEE3ACF24ABCF340A9002B8F0D0
+:0B39F000A3EFF09002B8E0FEA3E0FFA0
+:0139FB0022A9
+:1071D200D24D9002C0E514F0E5132514FFE433FE0E
+:1071E2009002C0E0C39FEE6480F87480985028E05B
+:1071F200FF25E02485F582E43402AB82FAEF25E034
+:10720200240EFF7D0212671C4005C24DA24D229042
+:0972120002C0E004F080C1A24DAD
+:01721B002250
+:10738900D24D7A027B997D027F2212671C4002C28C
+:107399004D7A027B9B7D027F2412671C4002C24DFD
+:1073A9007A027B9D7D027F2612671C4002C24DE551
+:1073B90013D39405400F7A027B9F7D027F281267C1
+:0773C9001C4002C24DA24D61
+:0173D000229A
+:104F22001273894003024FFF900299E0FEA3E0FF53
+:104F320012380C9000C6E02FFF9000C5E03EFEC282
+:104F4200AC900224F0A3EFF0D2AC90029DE0FEA35D
+:104F5200E0FF7C007D1112252CE47B0AFAF9F8129D
+:104F62002304EF241FFFE43EFEC2AC900228F0A30C
+:104F7200EFF0D2ACE513D39405402A90029FE0FEF5
+:104F8200A3E0FF7C007D1112252CE47B0AFAF9F8DC
+:104F9200122304EF241FFFE43EFEC2AC90022AF06B
+:104FA200A3EFF0D2AC900224E0FCA3E0FD90020259
+:104FB200ECF0A3EDF0900204ECF0A3EDF0300D3D27
+:104FC20090029BE0FEA3E0FF12380C9000C8E02F95
+:104FD200FF9000C7E03EFEC2AC900226F0A3EFF0C5
+:104FE200D2ACD3900203E09F900202E09E4006EE14
+:0D4FF200F0A3EFF022900204EEF0A3EFF028
+:014FFF00228F
+:104BCB009002B81224A9000000009002BC1224A984
+:104BDB0000000000E4900200F0A3F09002B3741701
+:104BEB00F0A37470F01271D24003024D029002B721
+:104BFB00E514F0E5132514FFE433FE9002B7E0FD56
+:104C0B00C39FEE6480F87480984003024CD9ED2565
+:104C1B00E02485F582E43402F583E0FEA3E0FF7C1B
+:104C2B000E7DD812252CC006C0079000BFE0FEA356
+:104C3B00E0FFFBAA06E4F9F8D007D0061223049094
+:104C4B0002BC122484900200E0FEA3E0FFE4FCFD12
+:104C5B009002BC122437D31223C7400E9002BC1211
+:104C6B00241E900200EEF0A3EFF09002B3E0FEA33F
+:104C7B00E0FFE4FCFD9002BC122437C31223C750A3
+:104C8B000E9002BC12241E9002B3EEF0A3EFF020A4
+:104C9B006133C2AC9002BC12241E9002B7E025E037
+:104CAB00240AF582E43402F583EEF0A3EFF0D2ACE4
+:104CBB009002B812241E9002BC12243712225E906E
+:104CCB0002B81224849002B7E004F0024BFE20617C
+:104CDB0026900200E0F511A3E0F5129002B3E0F587
+:104CEB000FA3E0F510C2AC9002B812241E90021E66
+:074CFB00EEF0A3EFF0D2ACD4
+:014D0200228E
+:10585200E49002BCF0A3F0A3F09002BEE0FFC39478
+:105862000C40030258FCEF25E024F8F582E4347979
+:10587200F583E493FE740193FFFBAA06EA3395E0F5
+:10588200F9F89002BEE025E024FAF582E43479F5D5
+:1058920083E493FE740193FFEE3395E0FDFC122244
+:1058A2005EE47B02FAF9F8127602E47B0AFAF9F86E
+:1058B200122279EF24ABFBEE340AFAE43DF9E43C20
+:1058C200F8900228E0FEA3E0FFE4FCFDC31223B13E
+:1058D200401F9002BEE025E02412F582E4347AF5FE
+:1058E20083E493FF7401939002BCCFF0A3EFF080A6
+:1058F200099002BEE004F002585B9002BCE0FEA3F5
+:02590200E0FFC4
+:015904002280
+:1040EF009002B81224A9000000007A027BA17D0281
+:1040FF007F2A12671C9002A1E0FEA3E0FFEE30E4DE
+:10410F000944E09002A1F0A3EFF01258529000C3BF
+:10411F00E0FCA3E0FDC39002A2E09DFD9002A1E0B0
+:10412F009CCD2FFFED3EFE3395E0FDFC7B187AFC16
+:10413F0079FF78FF122279C006C0079000C1E0FE18
+:10414F00A3E0FFFBAA06EA3395E0F9F8D007D00603
+:10415F0012760290027D12248490027D12241E900A
+:10416F0002B2E025E025E0243CF582E43402F58339
+:10417F001224849002B2E004F0C394104002E4F0E1
+:10418F00E49002B7F09002B7E0FFC394105026A35B
+:10419F00122437EF25E025E0243CF582E43402F5C4
+:1041AF008312241E12225E9002B81224849002B74A
+:1041BF00E004F080D0E47B10FAF9F89002B81224F2
+:1041CF001E127602900281122484C22BC22A900002
+:1041DF0028E0FEA3E0FFC3E49FFFE49EFE3395E0DB
+:1041EF00FDFC900281122437C31223B15021900598
+:1041FF00F7E004F0C3940A4067740AF0D22BC2AC04
+:10420F0090028112241E900220122484D2AC22909C
+:10421F000028E0FEA3E0FFEE3395E0FDFC90028165
+:10422F00122437D31223B140299005F6E004F094FD
+:10423F000A402D740AF0D22A7D647FA07E0F12638C
+:10424F0012C2AC90028112241E900220122484D23A
+:10425F00AC22C2AC9002201224A900000000D2AC04
+:01426F00222C
+:107E00001277C7C25E124BCB124F22305C05C25CA8
+:047E10001240EF220B
+:10664300E49002B7F0A3F0AF14E513FDE5142DFDBC
+:10665300E433FCEFC39DEC6480F8748098501DEF25
+:1066630025E02485F582E43402F583E0FCA3E0FD14
+:106673009002B7EC8DF01222480F80CD9002B7E064
+:10668300FEA3E0FF7C0E7DD812252CC006C0079028
+:1066930005DFE0FEA3E0FFFBAA06E4F9F8D007D08C
+:0C66A300061223049000BFEEF0A3EFF0FD
+:0166AF0022C8
+:107840009000C3E0FEA3E0FFC39002A2E09FFF9080
+:1078500002A1E09EFE3395E0FDFC7B187AFC79FFE7
+:1078600078FF1222799005D6122437127602EF4E55
+:0A78700060089000C1EEF0A3EFF0F5
+:01787A0022EB
+:107F41009002A1E0FFA3E09000C3CFF0A3EFF022E5
+:10753400900299E0FEA3E0FF12380CC39005DCE052
+:107544009FFF9005DBE09EFE9000C5E0FCA3E0FDFC
+:10755400C3EF9DFDEE9CFCC3ED9496EC6480948097
+:107564005012ED946AEC6480947F40089000C5EE5C
+:04757400F0A3EFF0A1
+:0175780022F0
+:1075790090029BE0FEA3E0FF12380CC39005DEE009
+:107589009FFF9005DDE09EFE9000C7E0FCA3E0FDB3
+:10759900C3EF9DFDEE9CFCC3ED9496EC6480948052
+:1075A9005012ED946AEC6480947F40089000C7EE15
+:0475B900F0A3EFF05C
+:0175BD0022AB
+:1075BE009005E1E0900497F09005E2E0900498F0D9
+:1075CE009005E3E0900499F09005E4E090049AF0C1
+:1075DE009005E5E090049BF09005E6E090049CF0A9
+:1075EE009005E7E090049DF07E047F97125D92D2A5
+:0475FE003AD23D221E
+:106EC900307C4BC27C9005DAE030E00312664390D7
+:106ED90005DAE030E4031278409005DAE030E503A2
+:106EE900127F419005DAE030E2031275349005DA39
+:106EF900E030E3031275799005DAE030E7031275A3
+:0F6F0900BEE49005DAF0D2739005FA7402F0221C
+:10705400306D0DC26DD26BE49005F9F0127E4D22B5
+:10706400306B3A127D7C203134900087E075F00259
+:10707400A4FFAEF09005F9E004F0C39FEE6480F83D
+:107084007480984018C26BE4F0127E60307902C2BA
+:0E70940019C21BC21C301505C2151278042249
+:1072F800306C0DC26CD26AE49005F8F0127E272239
+:10730800306A35127D7C20302F900087E075F002BE
+:10731800A4FFAEF09005F8E004F0C39FEE6480F897
+:107328007480984013C26AE4F0127E3A307807C23B
+:0973380018C214127804C21A22D2
+:107CEF00300719303B119003E4E004F0C3940540D2
+:0D7CFF000BD2397405F022E49003E4F0226A
+:1069E1009002E1EEF0A3EFF0A3EDF0A3EAF0A3EB48
+:0169F100F0B5
+:1069F200C24D203941E4A3F09002E1E0FCA3E0FDA6
+:106A0200A3E09002F7F0E4A3F09002E4E0FFA3E039
+:106A12009002F9CFF0A3EFF07B017FA01247FE5066
+:106A220004D24D80117F011273D19002E6E004F08E
+:0D6A3200E0C3940540C2A24DB3923BA24DBB
+:016A3F002234
+:106A40009002C3EEF0A3EFF0A3EDF0A3EAF0A3EB06
+:016A5000F055
+:106A5100C24E203941E4A3F09002C3E0FCA3E0FD63
+:106A6100A3E09002EDF0E4A3F09002C6E0FFA3E002
+:106A71009002EFCFF0A3EFF07B017FA0123D835096
+:106A810004D24E80117F011273D19002C8E004F04C
+:0D6A9100E0C3940540C2A24EB3923BA24E5A
+:016A9E0022D5
+:1066B0007E027FBA7B08E4FD127B43E49002B8F0CF
+:1066C000A3F09002B8E0FEA3E0FFE4FCFD7BFF7ABC
+:1066D00007F9F8D31223B1402E53B1F89002B8E075
+:1066E000FEA3E07805C333CE33CED8F9241FFFE4F0
+:1066F0003EFE7A027BBA7D011269E19002B8E47530
+:10670000F00112224880BB7A027BBA7D087FE07ECE
+:0B671000FF1269E1E49003DDF0A3F04C
+:01671B00225B
+:10639300C24D7A027BB77D087FE07EFF126A40928E
+:1063A3004D9002B8E0FF9002B7E02F9002B9F09051
+:1063B30002BCE0FF9002BBE02F9002BDF09002BA56
+:1063C300E0FF9002B9E0B507179002B7E0FEA3E043
+:1063D3007C002400FFEC3E9003DDF0A3EFF0802A65
+:1063E3009002BEE0FF9002BDE0B507179002BBE04C
+:1063F300FEA3E07C002400FFEC3E9003DDF0A3EF5E
+:0C640300F08007E49003DDF0A3F0A24D50
+:01640F00226A
+:1070EE00E49002C1F07E047F97123BC17E047F972D
+:1070FE007C027DB87B07127A2CE4FF74B82FF582E0
+:10710E00E43402F583E0FE9002C1E02EF00FEFB4FE
+:10711E0007E99002C1E09002BFF0A3745AF07A0220
+:0B712E007BB87D097FF07EFF1269E155
+:017139002233
+:107688009003DDE0FCA3E0FDEC9002D9F0AF05A388
+:10769800EFF09002D9E02F9002DCF09002D9E09050
+:1076A80002DDF09002DAE09002DEF09002DCE09079
+:1076B80002E0F07A027BD97D087FE07EFF1269E163
+:0176C800229F
+:053F3C009002B8EFF057
+:103F41006410701A7E037FE57C027DB97B03127ACF
+:103F51002C7E037FE97C027DBC127A2C801F7E04BB
+:103F61007F97123BC17E047F977C027DB97B031250
+:103F71007A2C7E047F9A7C027DBC127A2C900206F8
+:103F8100E0FCA3E0FDEC9002BFF0A3EDF09002088D
+:103F9100E0FCA3E0FDEC9002C1F0A3EDF090022C57
+:103FA10012241E78181223D89002C3EFF090022C2D
+:103FB10012241E78101223D89002C4EFF090022C24
+:103FC10012241E78081223D89002C5EFF090022C1B
+:103FD10012241E9002C6EFF090023012241E7818AF
+:103FE1001223D89002C7EFF090023012241E7810ED
+:103FF1001223D89002C8EFF090023012241E7808E4
+:104001001223D89002C9EFF090023012241E9002C0
+:10401100CAEFF090021EE0FCA3E0FDAE047818CEDA
+:10402100C313CE13D8F99002CBF0EDAE047810CEC5
+:10403100C313CE13D8F99002CCF090021EE0FCA37A
+:10404100E0FDEC9002CDF0A3EDF090022012241ED1
+:1040510078181223EB9002CFEFF090022012241E69
+:1040610078101223EB9002D0EFF090022012241E60
+:1040710078081223EB9002D1EFF090022012241E57
+:104081009002D2EFF0900224E0FCA3E0FDEC90025C
+:10409100D3F0A3EDF0900236E0FCA3E0FDEC90023A
+:1040A100D5F0A3EDF09002B8E09002D7F0A3745AD6
+:1040B100F09003DDE0FEA3E0FF7A027BB97D2012E0
+:1040C10069E19003DDE475F0201222489003DDE000
+:1040D100FEA3E0FFE4FCFD7BE07AFFF9F8D31223B5
+:0D40E100B15007E49003DDF0A3F0127688E3
+:0140EE0022AF
+:106787009003EFE02480FFE434FFEF7D00C454F072
+:10679700FC900401E02488FFE434FFFEEF7807C390
+:1067A70033CE33CED8F92DFFEE3CFE900402E0FD48
+:1067B7007A047B03126A407B017A04790090040211
+:1067C700E02403FD127D46900402E02403F582E4F1
+:1067D7003404F583EFF0C29C9003F7E02400F582C0
+:0867E700E43404F583E0F599A8
+:0167EF002287
+:1064F6009003EFE02480FFE434FFEF7D00C454F006
+:10650600FC9004A1E02488FFE434FFFEEF7807C383
+:1065160033CE33CED8F92DFFEE3CFE9004A2E0FD3B
+:106526007A047BA3126A407B017A0479A09004A2C4
+:10653600E02403FD127D469004A2E024A3F582E444
+:106546003404F583EFF0758640C2A49003F8E02486
+:0E655600A0F582E43404F583E0F5A1E4F586B7
+:016564002214
+:106565009003EFE02480FFE434FFEF7D00C454F096
+:10657500FC900541E02488FFE434FFFEEF7807C373
+:1065850033CE33CED8F92DFFEE3CFE900542E0FD2B
+:106595007A057B43126A407B017A05794090054272
+:1065A500E02403FD127D46900542E02443F582E494
+:1065B5003405F583EFF0758640C2949003F9E02425
+:0E65C50040F582E43405F583E0F591E4F586B7
+:0165D30022A5
+:1074A9007E047F97123BC17E047F977C047D037B1A
+:1074B90007127A2C7B017A047900900402E02403F4
+:1074C900FD127D46900402E02403F582E43404F5BC
+:1074D90083EFF0C29C9003F7E02400F582E43404C2
+:0674E900F583E0F5992295
+:10713A007E047F97123BC17E047F977C047DA37BEC
+:10714A0007127A2C7B017A0479A09004A2E0240326
+:10715A00FD127D469004A2E024A3F582E43404F5EE
+:10716A0083EFF0758640C2A49003F8E024A0F5826C
+:0C717A00E43404F583E0F5A1E4F586227E
+:107186007E047F97123BC17E047F977C057D437BFF
+:1071960007127A2C7B017A057940900542E0240398
+:1071A600FD127D46900542E02443F582E43405F560
+:1071B60083EFF0758640C2949003F9E02440F5828F
+:0C71C600E43405F583E0F591E4F5862241
+:105905002007030259B0203A030259B0C23A303891
+:1059150005C2381266B09003DFE0FF7008A3E0709F
+:1059250004A3E06021EF6008E49003DFF0126787CD
+:105935009003E0E06005E4F01265659003E1E06046
+:1059450005E4F01265659003ECE0FF7008A3E070D4
+:1059550004A3E06021EF6008E49003ECF01274A961
+:105965009003EDE06005E4F012713A9003EEE0601B
+:1059750005E4F0127186303D05C23D1270EE303CF3
+:105985000CC23C9002B77410F0FF123F3C30420C41
+:10599500C2429002B77401F0FF123F3C303F0CC287
+:0B59A5003F9002B77402F0FF123F3C7D
+:0159B00022D4
+:1050D7002007030251A990002EE0FF9003DAE004B5
+:1050E700F0C39F4009E4F07E047F97123BC1900311
+:1050F700DBE475F001122248FEC3E5F09410EE944C
+:105107000E400BE49003DBF0A3F0D23AD23D202A05
+:105117001ED241304006C240D23AD24230190B303B
+:105127003E08C23ED23AD23F8005201902D23E3015
+:10513700416990002CE0FEA3E0FFEE3395E0FDFC13
+:10514700900220122437C31223B1404F9003E2E0AC
+:105157007002A3E070147E047F97123BC17E047F28
+:10516700977C037DE57B07127A2C90002BE0FF7E6E
+:10517700007C007D3C1221E19003E2E475F001120E
+:105187002248FCD3E5F09FEC9E4017E49003E2F041
+:10519700A3F0D240C241D23AD23C22E49003E2F0DB
+:0351A700A3F02250
+:031053000265D45F
+:1065D400C0E0C083C082C0D075D000C007C086753B
+:1065E400860030D807C2D87F0112102E30D907C2D6
+:1065F400D97F0212102E30DA07C2DA7F0412102E6D
+:1066040030DB07C2DB7F0812102E30DC07C2DC7FD0
+:106614001012102E30DD07C2DD7F2012102E30DE66
+:1066240007C2DE7F4012102E30DF07C2DF7F8012E8
+:0F663400102ED086D007D0D0D082D083D0E032C5
+:03102B00021003AD
+:10100300C0E0C083C082C0D0C086758640C28F75E1
+:101013008600127C2DD086D0D0D082D083D0E0320F
+:105BAE00307D03025C4F75090F20A7057509018032
+:105BBE000620B003750902E509650C6038050EE58F
+:105BCE000E7002050DC3E50B940AE50A94004065BC
+:105BDE00E50E940AE50D94004067E50B9490E50AF6
+:105BEE0094014008E50C4440F5088003850C08D26A
+:105BFE007D80428040E509640F6037E4F50DF50EB7
+:105C0E00050BE50B7002050AB4900EE50AB4010906
+:105C1E00E50C4410F508D27D22E50BB4B023E50A5D
+:105C2E00B4041E750A01750B90E50C4420F508D2DC
+:105C3E007D2275080FE4F50AF50BF50DF50E8509B5
+:015C4E000C49
+:015C4F002232
+:10798E00AB07AA06C2AF43A701EAF5F7AF038FFB19
+:10799E00AF058FFC75F26E75F30575F40A75F50972
+:1079AE00EAADF7B50509E475F606000000000053D0
+:0579BE00A7FED2AF227C
+:107C0700D250E4FDFCEF2DFBEE3C8B82F583E49331
+:107C17006004C250800D0DBD00010CE4B505E6EC13
+:057C2700B402E2A250CE
+:017C2C002235
+:086C6D009002BDEEF0A3EFF070
+:106C7500D250AE04AF05E4A3F0A3F09002BFE0FC50
+:106C8500A3E0FDC3EC940250369002BEE02DFD90CA
+:106C950002BDE03C8D82F583E493FD9002BFE0FAEE
+:106CA500A3E02FF582EE3AF583E0FCED6C6004C2BB
+:106CB50050800C9002BFE475F00112224880BCA2FE
+:016CC500507E
+:016CC60022AB
+:086077009002BDEEF0A3EFF072
+:10607F00C250AF05A3ECF0A3EFF0E4FDFC9002BD1E
+:10608F00E0FAA3E0FB2DF5FBEB2DEA3CF5F7A3E0DF
+:10609F00FEA3E02DF582EE3CF583E0F5FC75F26E84
+:1060AF0020AF3D75F305E5A7603275F40A9005FB47
+:1060BF00E06455702375F5099002BEE02D9002BD86
+:1060CF00E03CABF7B5030DE475F6060000000000E9
+:1060DF00D2508010C2508019C2508015C25080110A
+:1060EF00C250800D0DBD00010CED7003EC64027009
+:0360FF008CA25020
+:01610200227A
+:0E5EC5009002B9EEF0A3EFF0A3ECF0A3EDF025
+:105ED300C24F53B1F8C2AF43A7019002B9E0FF7EAE
+:105EE30000F5F775F2E620AF5B75F305E5A760549F
+:105EF30075F40A9005FBE06455704975F509ADF733
+:105F0300EF6D7001EE703D75F60600000000009025
+:105F130002B9E0FEA3E0FF127C0750289002B9E02B
+:105F2300FEA3E0FFA3E0FCA3E0FD12607750159011
+:105F330002B9E0FEA3E0FFA3E0FCA3E0FD126C6D59
+:105F43005002D24FE4F5F2F5F3F5F4F5F5F5F65317
+:085F5300A7FEF5F7D2AFA24F43
+:015F5B002223
+:10526E00C24DC24E20720302532EC2729005FB74C1
+:10527E0055F0E513D39405400C9002B77427F0A3B4
+:10528E007410F0800A9002B77413F0A37488F09033
+:10529E0002B7E0FEA3E0FFC390021FE09F90021E44
+:1052AE00E09E406B9001FEE0645A7004A3E064A59A
+:1052BE00705DFDFCFFFE125EC54023E4FDFCFFFEAB
+:1052CE00125EC54019D24D74FF9001FEF0A3F0FDA1
+:1052DE007FFE7E0112798E7DFF7FFF12798EE4FDB7
+:1052EE00FCFF7E02125EC5402AE4FDFCFF7E021228
+:1052FE005EC5401FD24E74FF9001FEF0A3F0FD7FFD
+:10530E00FE7E0312798E7DFF7FFF12798E8004D28E
+:10531E004DD24EE49005FBF0304D05304E02D27169
+:01532E00225C
+:0E6A9F009002B7EEF0A3EFF0A3EAF0A3EBF045
+:106AAD00D24DAE04AF058E158F16C2AF43A701535D
+:106ABD00B1F8E4FFFED39002BAE09F9002B9E09ED8
+:106ACD0040279002B8E02FFD9002B7E03E8D82F591
+:106ADD0083E493851682851583F00516E5167002FD
+:106AED0005150FBF00010E80CC53A7FED2AFA24DEE
+:016AFD002276
+:107DD7003073119005FAE004F0C394024006C273B1
+:057DE700E4F0D272225D
+:107B6D00C24D43A701EEC313FEEF1325E0FFEE3325
+:107B7D008F82F583740193B4A507E493B45A02D2AE
+:067B8D004D53A7FEA24DBE
+:017B930022CF
+:057A8F009002B7EFF0CA
+:107A9400758640758830AE04AF057C1F7D40122585
+:107AA4002CE4FB7A01F9F8122304C3E49FFFE49E5B
+:0A7AB400FE8F8CF58DD28AE4F58672
+:017ABE0022A5
+:057C51009002B7EFF006
+:107C5600A2AFE433FFC2AF43B20800000000000049
+:0C7C6600000053B26043B20424FF92AF50
+:017C720022EF
+:106210009005E8EEF0A3EFF0A3EDF075C7B09005A0
+:10622000E8E0FEA3E0FFFBAA06E4F9F87FD87EB819
+:106230007D05FC1276028FCC9005E8E0FEA3E0FF1E
+:10624000FBAA06E4F9F87FD87EB87D05FC12760239
+:1062500078081223EB8FCDAFCDEFFEADCC7C00E400
+:106260002DFFEC3EFE9005EAE0FBFD1221E17D648E
+:106270001221F38FCEAFCDEFFEADCC7C00E42DFF2D
+:10628000EC3EFEAD031221E17D641221F3EEF5CF69
+:0162900022EB
+:106291009005EBEEF0A3EFF0A3EDF075B6B090052D
+:1062A100EBE0FEA3E0FFFBAA06E4F9F87FD87EB895
+:1062B1007D05FC1276028FAE9005EBE0FEA3E0FFB8
+:1062C100FBAA06E4F9F87FD87EB87D05FC127602B8
+:1062D10078081223EB8FAFAFAFEFFEADAE7C00E4D9
+:1062E1002DFFEC3EFE9005EDE0FBFD1221E17D640A
+:1062F1001221F38FA4AFAFEFFEADAE7C00E42DFF12
+:10630100EC3EFEAD031221E17D641221F3EEF5A511
+:016311002269
+:106312009002BCEEF0A3EFF0A3EDF075B7B09002DF
+:10632200BCE0FEA3E0FFFBAA06E4F9F87FD87EB842
+:106332007D05FC1276028FBC9002BCE0FEA3E0FF5A
+:10634200FBAA06E4F9F87FD87EB87D05FC12760236
+:1063520078081223EB8FBDAFBDEFFEADBC7C00E42D
+:106362002DFFEC3EFE9002BEE0FBFD1221E17D64BA
+:106372001221F38FBEAFBDEFFEADBC7C00E42DFF5A
+:10638200EC3EFEAD031221E17D641221F3EEF5BF76
+:0163920022E8
+:1073D100E5B2547070067C067D868020E5B254705B
+:1073E100FEBE20067C037D438012E5B25470FEBED2
+:1073F10040067C017DA180047C007D8BE4FEEEC310
+:107401009F5014E4FBFAC3EB9DEA9C50070BBB00B1
+:07741100010A80F20E80E782
+:017418002251
+:1068560090002FE0645A705A900061E0645A7052BA
+:10686600900073E0645A704A900088E0645A70425F
+:1068760090008DE0645A703A900098E0645A703245
+:106886009000A1E0645A702A9000A9E0B45A2390BF
+:1068960000BAE0B45A1C9000BEE0B45A159000CA83
+:1068A600E0B45A0E9001FEE0645A7004A3E064A5B9
+:0668B6006002C322D322A0
+:087B43009002C3EEF0A3EFF085
+:107B4B00E4FFEFC39B501A9002C3E0F8A3E0F58269
+:107B5B008883EDF09002C3E475F0011222480F8088
+:017B6B00E138
+:017B6C0022F6
+:087A2C009002D9EEF0A3EFF087
+:107A3400E4FFEFC39B50239002D9E0F8A3E0F58262
+:107A44008883E08D828C83F00DBD00010C9002D9F7
+:0A7A5400E475F0011222480F80D8FB
+:017A5E002205
+:0C7F5F00758E55438701000000000022D1
+:0C7F6B00758E55438702000000000022C4
+:107AEC0090053EE064127023204306204403304589
+:107AFC001A207317207214C2AFE4F5A8F5A9F58803
+:0C7B0C00F5E8F59DF59CF59812000022AC
+:10721C00D228D229201403301602C22820110F20A4
+:10722C00130C201B09201C06201503301602C22942
+:10723C00202B0E201009201206201803301A02C22F
+:10724C0028202A05301902C229201B06201C0330D5
+:0A725C001502C228301A02C22922CE
+:107ABF0012721CA276302801B34008A27730290138
+:107ACF00B35019A2289276A2299277A229E433FF04
+:0D7ADF0025E0FFA228E4334FFF127DC222F4
+:10741900201844C3900063E09512900062E0951132
+:10742900501F9003BCE475F001122248FEC3E5F039
+:107439009401EE94004020D218E49003BCF0A3F02C
+:1074490022D3900065E09512900064E09511400701
+:08745900E49003BCF0A3F02253
+:10746100201944D3900075E09510900074E0950FB9
+:10747100401F9003BEE475F001122248FEC3E5F0FF
+:107481009401EE94004020D219E49003BEF0A3F0E1
+:1074910022C3900077E09510900076E0950F500799
+:0874A100E49003BEF0A3F02209
+:106F180020104B90008EE0FEA3E0FF900204E0FCFE
+:106F2800A3E0FDD39FEC9E401F9003CEE475F001D3
+:106F3800122248FEC3E5F09401EE94004020D210DE
+:106F4800E49003CEF0A3F022900090E0FEA3E0FFCF
+:0F6F5800C3ED9FEC9E5007E49003CEF0A3F02210
+:106F670020124B900092E0FEA3E0FF900202E0FCAB
+:106F7700A3E0FDC39FEC9E501F9003D2E475F00180
+:106F8700122248FEC3E5F09401EE94004020D2128D
+:106F9700E49003D2F0A3F022900094E0FEA3E0FF78
+:0F6FA700D3ED9FEC9E4007E49003D2F0A3F022BD
+:106FB60020114B900099E0FEA3E0FF900204E0FC54
+:106FC600A3E0FDD39FEC9E401F9003D0E475F00133
+:106FD600122248FEC3E5F09401EE94004020D2113F
+:106FE600E49003D0F0A3F02290009BE0FEA3E0FF24
+:0F6FF600C3ED9FEC9E5007E49003D0F0A3F02270
+:1070050020134B90009DE0FEA3E0FF900202E0FC00
+:10701500A3E0FDC39FEC9E501F9003D4E475F001DF
+:10702500122248FEC3E5F09401EE94004020D213ED
+:10703500E49003D4F0A3F02290009FE0FEA3E0FFCC
+:0F704500D3ED9FEC9E4007E49003D4F0A3F0221C
+:10787B00307E37124BCB124F2212741912746112D5
+:10788B006F18126F67126FB612700590053FE00408
+:10789B00F0C394024014C27E205D09203906207B80
+:0B78AB0003307103D266221243DF227B
+:1051AA0020185C201459C3900063E09512900062A5
+:1051BA00E095115033900066E075F00AA4FFAEF056
+:1051CA009003BCE475F001122248FCC3E5F09FECA1
+:1051DA009E500302526DD218C278E49003BCF0A329
+:1051EA00F09003D6F0A3F022D3900065E0951290D8
+:1051FA000064E09511406CE49003BCF0A3F0222017
+:10520A007861D3900065E09512900064E0951140B2
+:10521A003C900067E075F00AA4FFAEF09003D6E474
+:10522A0075F001122248FCC3E5F09FEC9E40343031
+:10523A000E06D278D26C8007C218C214127804E41F
+:10524A009003BCF0A3F09003D6F0A3F022C3900021
+:10525A0063E09512900062E095115007E49003D63E
+:04526A00F0A3F0229B
+:1053EC00201959D3900075E09510900074E0950F3A
+:1053FC004033900078E075F00AA4FFAEF09003BE45
+:10540C00E475F001122248FCC3E5F09FEC9E5003BA
+:10541C000254A7D219C279E49003BEF0A3F0900312
+:10542C00D8F0A3F022C3900077E09510900076E0BE
+:10543C00950F5067E49003BEF0A3F02220795CC373
+:10544C00900077E09510900076E0950F5037900023
+:10545C0079E075F00AA4FFAEF09003D8E475F00182
+:10546C00122248FCC3E5F09FEC9E402F300F06D271
+:10547C0079D26D8002C219E49003BEF0A3F09003C0
+:10548C00D8F0A3F022D3900075E09510900074E052
+:0C549C00950F4007E49003D8F0A3F02225
+:1054A80020105E90008EE0FEA3E0FF900204E0FC76
+:1054B800A3E0FDD39FEC9E4031900096E075F01478
+:1054C800A4FFAEF09003CEE475F001122248FAC3AF
+:1054D800E5F09FEA9E5003025563D210E49003CE94
+:1054E800F0A3F09003C0F0A3F022900090E0FEA398
+:1054F800E0FFC3ED9FEC9E5062E49003CEF0A3F072
+:1055080022900090E0FEA3E0FF900204E0FCA3E0FC
+:10551800FDC39FEC9E502E900096E075F014A4FFFA
+:10552800AEF09003C0E475F001122248FAC3E5F02A
+:105538009FEA9E4026C210E49003CEF0A3F09003A9
+:10554800C0F0A3F02290008EE0FEA3E0FFD3ED9F11
+:0C555800EC9E4007E49003C0F0A3F0229A
+:1055640020125E900092E0FEA3E0FF900202E0FCB5
+:10557400A3E0FDC39FEC9E5031900096E075F014BB
+:10558400A4FFAEF09003D2E475F001122248FAC3EE
+:10559400E5F09FEA9E500302561FD212E49003D214
+:1055A400F0A3F09003C4F0A3F022900094E0FEA3D3
+:1055B400E0FFD3ED9FEC9E4062E49003D2F0A3F0B1
+:1055C40022900094E0FEA3E0FF900202E0FCA3E03E
+:1055D400FDD39FEC9E402E900096E075F014A4FF3E
+:1055E400AEF09003C4E475F001122248FAC3E5F06A
+:1055F4009FEA9E4026C212E49003D2F0A3F09003E7
+:10560400C4F0A3F022900092E0FEA3E0FFC3ED9F5C
+:0C561400EC9E5007E49003C4F0A3F022C9
+:1056200020115E900099E0FEA3E0FF900204E0FCF0
+:10563000A3E0FDD39FEC9E4031900096E075F014FE
+:10564000A4FFAEF09003D0E475F001122248FAC333
+:10565000E5F09FEA9E50030256DBD211E49003D09E
+:10566000F0A3F09003C2F0A3F02290009BE0FEA311
+:10567000E0FFC3ED9FEC9E5062E49003D0F0A3F0F6
+:105680002290009BE0FEA3E0FF900204E0FCA3E078
+:10569000FDC39FEC9E502E900096E075F014A4FF81
+:1056A000AEF09003C2E475F001122248FAC3E5F0AF
+:1056B0009FEA9E4026C211E49003D0F0A3F090032D
+:1056C000C2F0A3F022900099E0FEA3E0FFD3ED9F8B
+:0C56D000EC9E4007E49003C2F0A3F0221F
+:1056DC0020135E90009DE0FEA3E0FF900202E0FC30
+:1056EC00A3E0FDC39FEC9E5031900096E075F01442
+:1056FC00A4FFAEF09003D4E475F001122248FAC373
+:10570C00E5F09FEA9E5003025797D213E49003D41E
+:10571C00F0A3F09003C6F0A3F02290009FE0FEA34C
+:10572C00E0FFD3ED9FEC9E4062E49003D4F0A3F035
+:10573C002290009FE0FEA3E0FF900202E0FCA3E0B9
+:10574C00FDD39FEC9E402E900096E075F014A4FFC4
+:10575C00AEF09003C6E475F001122248FAC3E5F0EE
+:10576C009FEA9E4026C213E49003D4F0A3F090036A
+:10577C00C6F0A3F02290009DE0FEA3E0FFC3ED9FD6
+:0C578C00EC9E5007E49003C6F0A3F0224E
+:106CC700201A5590006D12241E90027D122437D38E
+:106CD7001223B1402A900071E075F00AA4FFAEF0CC
+:106CE7009003CAE475F001122248FCC3E5F09FEC5B
+:106CF7009E4025D21AD26CE49003CAF0A3F022205A
+:106D07006A16D39003CBE094009003CAE094004046
+:096D17000774FFF5F01222482276
+:106D2000201B5590007D12241E90027D122437C333
+:106D30001223B1502A900081E075F00AA4FFAEF052
+:106D40009003B8E475F001122248FCC3E5F09FEC13
+:106D50009E4025E49003B8F0A3F0D21BD26D222010
+:106D60006B16D39003B9E094009003B8E094004010
+:096D70000774FFF5F0122248221D
+:106D7900201C5590008212241E90027D122437C3D4
+:106D89001223B1502A900086E075F002A4FFAEF0FC
+:106D99009003BAE475F001122248FCD3E5F09FECA8
+:106DA9009E4025E49003BAF0A3F0D21CD26D2220B4
+:106DB9006B16D39003BBE094009003BAE0940040B3
+:096DC9000774FFF5F012224822C4
+:107C9300207E1B1251AA1253EC1254A812556412DF
+:0F7CA30056201256DC126CC7126D20126D79221A
+:10641000300272201B06201C03301539900072E0F8
+:1064200075F014A4FFAEF09003CCE475F0011222D5
+:1064300048FCC3E5F09FEC9E401BE49005F9F0900A
+:1064400003CCF0A3F0C21BC21CC26DC26B30150599
+:10645000C215127804301A2D900072E075F014A461
+:10646000FFAEF09003C8E475F001122248FCD3E5BA
+:10647000F09FEC9E400FE49003C8F0A3F0C21A9086
+:0664800005F8F0C26A22DB
+:107D0C00300719307A11900496E004F0C3940540C2
+:0D7D1C000BD27B7405F022E4900496F02257
+:0E6BB7009002EEEFF0A3EDF0A3EAF0A3EBF0F6
+:106BC500C250207B40E4A3F09002EEE0FD7C00A3E0
+:106BD500E09002F7F0E4A3F09002F0E0FFA3E0906C
+:106BE50002F9CFF0A3EFF0E4FB7FDE1247FE50047D
+:106BF500D25080117F011273D19002F2E004F0E0CF
+:0C6C0500C3940540C3A250B3927AA25081
+:016C11002260
+:0E6C12009002E4EFF0A3EDF0A3EAF0A3EBF0A4
+:106C2000C24F207B40E4A3F09002E4E0FD7C00A38F
+:106C3000E09002EDF0E4A3F09002E6E0FFA3E09024
+:106C400002EFCFF0A3EFF0E4FB7FDE123D835004B0
+:106C5000D24F80117F011273D19002E8E004F0E07E
+:0C6C6000C3940540C3A24FB3927AA24F28
+:016C6C002205
+:083BC1009002D9EEF0A3EFF031
+:103BC900C24E7A027BDB7D09E4FF126C12400302CC
+:103BD9003D809002E2E030E003023D739002DDE0B7
+:103BE90020E703023C929002DBE0FF5470945040BE
+:103BF90003023C92EF540F94094003023C92E054B3
+:103C09007F94594003023C92A3E0FF5470945050B2
+:103C190078EF540F94095071E0547F9459506AA376
+:103C2900E0FF543094205061EF540F9409505AE04A
+:103C3900542F94245053A3E0FF54309430504AEF4A
+:103C4900540F94095043E0543FFF9431503BEF60C7
+:103C590038A3E0FF54109410502FEF540F940950DB
+:103C690028E0541FFF94125020EF601DA3E0FF5479
+:103C7900F094905014EF540F9409500DE09499501A
+:103C890008A3E05407940640779002D9E0FEA3E028
+:103C9900FFF5828E83E09002DBF08F828E83A3E0B2
+:103CA9009002DCF09002D9E0A3E0F5828E83A3A311
+:103CB900E09002DDF08F828E83A3A3A3E09002DE61
+:103CC900F09002D9E0A3E02404F582E43EF583E014
+:103CD9009002DFF0EF2405F582E43EF583E09002DF
+:103CE900E0F09002D9E0A3E02406F582E43EF583F2
+:103CF900E09002E1F07E027FDB125D92924E8077C6
+:103D09009002DBE0FF9002D9E0FCA3E0FDF5828C94
+:103D190083EFF09002DCE08D828C83A3F09002DDCA
+:103D2900E0541F8D828C83A3A3F09002DEE08D8284
+:103D39008C83A3A3A3F09002DFE0FFED2404F582B6
+:103D4900E43CF583EFF09002E0E0FFED2405F58215
+:103D5900E43CF583EFF09002E1E0FFED2406F58203
+:103D6900E43CF583EFF0D24E800D9002D9E0FEA33A
+:093D7900E0FF125D92924EA24E91
+:013D8200221E
+:085D92009002E4EEF0A3EFF033
+:105D9A00C24FA37490F07A027BE67D017F07126BF3
+:105DAA00B7924F9002E4E0FEA3E0FFF5828E83E013
+:105DBA009002E7F08F828E83A3E09002E8F09002CF
+:105DCA00E4E0FCA3E0FDF5828C83A3A3E044809089
+:105DDA0002E9F08D828C83A3A3A3E09002EAF090FB
+:105DEA0002E4E0A3E0FF2404F582E43EF583E090B8
+:105DFA0002EBF0EF2405F582E43EF583E09002EC35
+:105E0A00F09002E4E0A3E02406F582E43EF583E0A4
+:105E1A009002EDF07A027BE77D07E4FF126BB792FE
+:035E2A004FA24F35
+:015E2D002252
+:085FEA009002B7EEF0A3EFF006
+:105FF200C24DE49002C2F07E027FB97B09FD127BA2
+:10600200437A027BB97D097FF07EFF126A40E4FF8A
+:1060120074B92FF582E43402F583E0FE9002C2E007
+:106022002EF00FEFB407E99002C2E0FF9002C0E049
+:10603200B50706A3E0645A601BE49002B9F0A3F02E
+:10604200A37412F0A37401F0A37405F0A37420F0FA
+:10605200A37405F07E027FB99002B7E0FCA3E0FDD5
+:106062007B07127A2C9002B7E0FEA3E0FF123BC13D
+:04607200924DA24D5C
+:016076002207
+:104E220000070E091C1B1215383F363124232A2D88
+:104E320070777E796C6B6265484F464154535A5D78
+:104E4200E0E7EEE9FCFBF2F5D8DFD6D1C4C3CACD68
+:104E520090979E998C8B8285A8AFA6A1B4B3BABD58
+:104E6200C7C0C9CEDBDCD5D2FFF8F1F6E3E4EDEA48
+:104E7200B7B0B9BEABACA5A28F88818693949D9A38
+:104E82002720292E3B3C35321F18111603040D0A28
+:104E92005750595E4B4C45426F68616673747D7A18
+:104EA200898E878095929B9CB1B6BFB8ADAAA3A408
+:104EB200F9FEF7F0E5E2EBECC1C6CFC8DDDAD3D4F8
+:104EC200696E676075727B7C51565F584D4A4344E8
+:104ED200191E171005020B0C21262F283D3A3334D8
+:104EE2004E49404752555C5B7671787F6A6D6463C8
+:104EF2003E39303722252C2B0601080F1A1D1413B8
+:104F0200AEA9A0A7B2B5BCBB9691989F8A8D8483A7
+:104F1200DED9D0D7C2C5CCCBE6E1E8EFFAFDF4F397
+:107D4600E4FFEDD3940040131221896F904E2293E5
+:0B7D5600FF740129F9E43AFA1D80E7F0
+:017D610022FF
+:107B9400D2527D807CBBE5C820E31053B1F8ED4C94
+:107BA4006009ED1D70011C80ED80EBE5D154F86F88
+:067BB4006002C252A25261
+:017BBA0022A8
+:1047FE009002F6EBF09002F3EFF0A3ECF0A3EDF0E5
+:10480E00D2519002FF74BBF0A37480F09002FBEFC4
+:10481E00F0A3EDF09002F9E0FEA3E0F5828E83E0C6
+:10482E009002FDF07B017A0279FB7D03127D4690AA
+:10483E0002FEEFF09002F7E0D394005003024942DB
+:10484E0043E6C043D10143C80175C8607F08127B9F
+:10485E0094400C7F10127B944005C25102491F9068
+:10486E0002F3E0F58D75C8407F18127B944005C2A7
+:10487E005102491F9002F6E0B401159002F4E0F5E2
+:10488E008D75C8407F28127B944005C25102491F86
+:10489E009002F4E0A3E0F58D75C8407F28127B945A
+:1048AE004004C251806B9002F8E06401702EA3E0C8
+:1048BE00FEA3E0F5828E83E0F58D75C8407F281249
+:1048CE007B944004C25180499002FEE0F58D75C87C
+:1048DE00407F28127B944039C2518035E4FE90020D
+:1048EE00F7E0FFEEC39F50299002F9E0FCA3E0F53C
+:1048FE00828C83E0F58D75C8407F28127B9440042E
+:10490E00C251800D9002F9E475F0011222480E801A
+:10491E00CD75C850E5C830E41B53B1F89002FFE0E6
+:10492E007002A3E0600E9002FF74FFF5F0122248B1
+:06493E0080E280E0A251BE
+:014944002250
+:0A3D8300AA079002EAECF0A3EDF0AD
+:103D8D00D250E4900320F0A374BBF0A37480F090A4
+:103D9D0002F2EAF0A3EDF0EA4401A3F09002EDE0A7
+:103DAD00D394005003023F3943E6C043D10143C8C9
+:103DBD000175C8607F08127B94400C7F10127B94B4
+:103DCD004005C250023F168A8D75C8407F18127B80
+:103DDD00944005C250023F16EBB401159002EAE083
+:103DED00F58D75C8407F28127B944005C250023F67
+:103DFD00169002EAE0A3E0F58D75C8407F28127B8E
+:103E0D00944005C250023F1675C8607F08127B941E
+:103E1D00400C7F10127B944005C250023F16EA44BD
+:103E2D0001F58D75C8407F40127B944005C250024C
+:103E3D003F16E49002F1F09002EDE0FF9002F1E008
+:103E4D00FEC39F50579002EEE07031EF14B5060A95
+:103E5D0075C8407F58127B94800875C8447F5012F6
+:103E6D007B949002EFE0FEA3E0F5828E83E58DF06A
+:103E7D009002EFE475F001122248801875C8447F56
+:103E8D0050127B949002F1E024F5F582E43402F5B2
+:103E9D0083E58DF09002F1E004F0809B9002EEE05E
+:103EAD006401706575C8407F58127B94900320E5BE
+:103EBD008DF07B017A0279F29002EDE02403FD1280
+:103ECD007D46900320E0B5073EE49002F1F09002AC
+:103EDD00EDE0FF9002F1E0FEC39F502D74F52EF53D
+:103EED0082E43402F583E0FF9002EFE0FCA3E0F5FD
+:103EFD00828C83EFF09002EFE475F001122248906E
+:103F0D0002F1E004F080C7C25075C850E5C830E436
+:103F1D001B53B1F8900321E07002A3E0600E9003F3
+:0E3F2D002174FFF5F012224880E280E0A250DD
+:013F3B002263
+:107DAB0075C632E4F5E6F5D1758A2075D10275C832
+:077DBB00407589FFF58D22E0
+:0369800075C432A9
+:10698300E4F5877598509002B7747FF0A374CCF048
+:106993009002B7E0F59D759CCCE0FEA3E0FFFBE41D
+:1069A300C39BFF74809EFEE49400FDE49400FCE42A
+:1069B3007B10FAF9F8122279EC121F18A804A90522
+:1069C300AA06AB077F557E557D507C44121C7D1271
+:0D69D3001F568F9E439D80759A0A759BFF8D
+:0169E0002294
+:03102300027CB29A
+:067CB200C0E0C083C082A7
+:107CB800C086758600309808C2989002B6E599F09B
+:027CC800D08664
+:077CCA00D082D083D0E0322C
+:104A890080B678FA71C46B0C64C760C25B2755EBBA
+:104A990051074C7449A2458441AA3E0D3AAB384AA4
+:104AA900354132682FBB2D382B7A29362715251425
+:104AB900233121C320101E761CF41B881A79192F63
+:104AC90017F816D215BC14DD13E212F41213113EB5
+:104AD90010970FD50F1E0E700DCC0D3E0CA90C1B97
+:104AE9000B940B140AA80A3309C5095B08F7089D3A
+:104AF900084207EB0798074A070406BC06770636FB
+:104B090005F705BD0584054D051904E804B9048BAD
+:104B190004600436040E03E803C303A0037E035EA6
+:104B2900033F0321030402E902CF02B6029E028673
+:104B39000270025B02470232021F020D01FC01EB07
+:104B490001DA01CB01BC01AE01A001920185017915
+:104B5900016D01620156014B01410137012E01240A
+:104B6900011B0113010B010300FB00F300EC00E53D
+:104B790000DF00D800D200CC00C600C000BA00B5E2
+:104B890000B000AB00A700A2009D0099009500911C
+:104B9900008D008900850082007F007B0078007508
+:104BA9000072006F006C0069006600640061005FBC
+:104BB900005C005A0058005600530051004F004E47
+:024BC900004C9E
+:03100000027C73FC
+:107C730075819F007808760008B8A0FAE4900000A8
+:107C8300F0A3A882A983B8DCF7B907F4000230A6F1
+:1039FC00A2AF924DC2AF900234E0FFA3E09003253A
+:103A0C00CFF0A3EFF090022C12241E90034312244B
+:103A1C008490023012241E90037612248490023675
+:103A2C00E0FFA3E0900364CFF0A3EFF0900220122C
+:103A3C00241E90037B122484900224E0FFA3E090C8
+:103A4C000374CFF0A3EFF090021EE0FEA3E0FFE4BE
+:103A5C00FCFD90034D12248485111C85121D850FCD
+:103A6C001A85101B90035F1224A900000000E4903B
+:103A7C000372F0A3F0A24D92AF90034C741EF09021
+:103A8C00036B745AF0A3740BF0A3740FF0900366DD
+:103A9C001224A9FFFF7748E490036AF090036F04A7
+:103AAC00F09003877414F090033C743EF0A3748080
+:103ABC00F0A3E4F0A37411F09003707406F0A374F7
+:103ACC0022F0900389743CF0900003E02438FE90BF
+:103ADC000002E034FF900323F0A3CEF09003577460
+:103AEC000FF090035E740AF0900014E0FFA3E090D6
+:103AFC00037FCFF0A3EFF090034B745AF0E513FB68
+:103B0C007A007C117D94FF7E001221E1E4FCFD9093
+:103B1C00032D1224847C0B7DB8AF037E001221E1AF
+:103B2C00E4FCFD900353122484900363743CF090E6
+:103B3C0003887414F0900331740FF090037A7414AA
+:103B4C00F090036E740AF09003271224A900000071
+:103B5C0028900342741EF0900340740BF0A3744140
+:103B6C00F0900351740BF0A37441F0900381E4F0D6
+:103B7C00A37432F0900347E4F0A37405F09003387B
+:103B8C00E4F0A37469F0900383E4F0A37464F09000
+:103B9C000349E4F0A3741EF090033AE4F0A37462BA
+:103BAC00F09003857401F0A37490F090035CE4F042
+:043BBC00A3744BF0B3
+:013BC00022E2
+:106E7800A2AF924DC2AF900325E0FFA3E090023489
+:106E8800CFF0A3EFF090034312241E90022C12249B
+:106E98008490037612241E90023012248490036496
+:106EA800E0FFA3E0900236CFF0A3EFF0A25A9222BF
+:106EB800A25B92209000B9E024FF9221A24D92AFEC
+:016EC80022A7
+:067F81005AA569963CC3FD
+:104D03007F647E00E49002B9F09002B9E0FDC394A1
+:104D13000A4003024E21ED25E02402F582E434002B
+:104D2300F583E0FCA3E0D3951DEC951C5003024EE4
+:104D3300189002B9E0705790007AE0FCA3E0FDD32D
+:104D4300951DEC951C5003301906E4FEFF024E211D
+:104D5300C3E51D9DFFE51C9CFE7C007D0A12252CEE
+:104D6300EEC0E0EFC0E090007AE0FEA3E0FFC39066
+:104D73000003E09FFF900002E09EFECBEFCBFAE43E
+:104D8300F9F8D0E0FFD0E0FE122304024E21900296
+:104D9300B9E025E02400F582E43400F583E0FEA3C6
+:104DA300E0FFC3E51D9FFFE51C9EFE7C007D0A120C
+:104DB300252CECC0E0EDC0E0EEC0E0EFC0E09002D7
+:104DC300B9E0FF25E02400F582E43400F583E0FC3C
+:104DD300A3E0FDEF25E02402F582E43400F583E04F
+:104DE300FEA3E0C39DFFEE9CFECBEFCBFAE4F9F804
+:104DF300D0E0FFD0E0FED0E0FDD0E0FC122304CDF4
+:104E0300EFCDCCEECC9002B9E075F00AA42DFFE50E
+:0F4E1300F03CFE80099002B9E004F0024D0C2241
+:104270009002B9EEF0A3EFF09000AAE0F9FDD3EFC1
+:104280009DEE9400500302434990036BE0FF9002BF
+:10429000B9E0FCA3E0FDD39FEC94004078ED94647A
+:1042A000EC940050709002B9E0FAA3E0FBC3746490
+:1042B0009BFFE49AFE7C007D0A1221E1E9FDC3EB3D
+:1042C0009DFDEA9CFCD3ED9FEC9E50030243DE90E3
+:1042D00002B9E0FEA3E0FF9000AAF07C007D0A1284
+:1042E00021E19003A8EEF0A3EFF09002B9E0FEA365
+:1042F000E0FFE4FD90001AE0F8A3E0F9A3E0FAA3E0
+:10430000E0FB122279E47B64FAF9F81223049000AE
+:10431000AB122484229002B9E07004A3E0646460CC
+:10432000030243DE9000AA7464F09003A87403F0C3
+:10433000A374E8F090001AE0FCA3E0FDA3E0FEA364
+:10434000E0FF9000AB122484229000AAE0FD9002CE
+:10435000B9E0FEA3E0FFC3ED9FFDE49EFC90034C9B
+:10436000E0FBD3ED9BEC9400403F9000AAEFF07C83
+:10437000007D0A1221E19003A8EEF0A3EFF0900275
+:10438000B9E0FEA3E0FFE4FD90001AE0F8A3E0F935
+:10439000A3E0FAA3E0FB122279E47B64FAF9F812B5
+:1043A00023049000AB122484229002B9E07002A38F
+:1043B000E0702B9000AA04F09003A8E4F0A3740A24
+:1043C000F0E47B64FAF9F890001AE0FCA3E0FDA3A6
+:0F43D000E0FEA3E0FF1223049000AB122484222E
+:1043DF001239FC124D039002B7EEF0A3EFF0E47F19
+:1043EF00E87E03FDFC9000ABE0F8A3E0F9A3E0FA50
+:1043FF00A3E0FB12227990001AE0F8A3E0F9A3E002
+:10440F00FAA3E0FB1223049003A8EEF0A3EFF090C1
+:10441F0002B7E0FEA3E0FF1242709000AAE0FF7E19
+:10442F0000900325EEF0FAA3EFF0FB90001AE0FCEA
+:10443F00A3E0FDA3E0FEA3E0FF900343122484CF8B
+:10444F00EBCF7E00E4FCFD900343E0F8A3E0F9A37B
+:10445F00E0FAA3E0FB122279E47B64FAF9F8122365
+:10446F00049003761224849000ABE0FCA3E0FDA33C
+:10447F00E0FEA3E0FF90035812248490033412242B
+:10448F00A9000000009003A6E0FFA3E090032BCF4C
+:10449F00F0A3EFF0E47830F608F67838F608F678FF
+:1044AF0034122490000000009003AC1224A90000E5
+:1044BF000000E490039CF0A3F09003B2F0A3F090FF
+:1044CF0003AAF0A3F0C25BC257C2599003A5F090A4
+:1044DF0003A4F0783AF608F67832F608F69003A8B7
+:1044EF00E0FFA3E09003B0CFF0A3EFF0C25AC256A3
+:1044FF009003B41224A900000000E49003A6F0A3D7
+:10450F00F090038E1224A90000000090039712244C
+:10451F00A9000000009003921224A900000000E4FB
+:10452F0090039BF0900396F0C25890038A1224A92F
+:08453F0000000000126E78225A
+:10500000124D039002B7EEF0A3EFF0900331E0FFF2
+:10501000E4FCFDFE90001AE0F8A3E0F9A3E0FAA397
+:10502000E0FB122279E47B0AFAF9F8122304C8ECB7
+:10503000C8C9EDC9CAEECACBEFCB90037BE0FCA395
+:10504000E0FDA3E0FEA3E0FFD31223C7500302500C
+:10505000D690037AE0FF7E009002B7E0FCA3E0FD6B
+:10506000D39FEC9E4070D3900380E0951D90037F0A
+:10507000E0951C4061ED9FFBEC9EFA9003A8E0FEDA
+:10508000A3E0FF7C007D0A1221F3C3EF9BEE9A5050
+:105090004590036EE0FFC39002B8E09FFF9002B717
+:1050A000E09400FE7C007D0A1221E19003A8EEF05E
+:1050B000A3EFF0E4FD90001AE0F8A3E0F9A3E0FA12
+:1050C000A3E0FB122279E47BE87A03F9F8122304C7
+:0750D0009000AB12248422C2
+:102559001239FC900340E0FEA3E0FFD3900375E03D
+:102569009F900374E09E401EE4FFFEFDFC900397DC
+:10257900E0F8A3E0F9A3E0FAA3E0FBD31223B1400A
+:1025890005301802D25BC3900380E0951D90037F4C
+:10259900E0951C5012900396E004F0E09405400E7B
+:1025A9007405F0D2578007C257E4900396F0900063
+:1025B90028E0FEA3E0FFEE3395E0FDFC90037BE00D
+:1025C900F8A3E0F9A3E0FAA3E0FBD31223B1500387
+:1025D9000227C1E49003B2F0A3F09003AAF0A3F09C
+:1025E90090039BE004F0E0D3940540057405F0D214
+:1025F900589000B9E06010D25AE4F09003B4122464
+:10260900A900000000C256900372E0FEA3E0FFEEAD
+:102619003395E0FDFC900281E0F8A3E0F9A3E0FA2C
+:10262900A3E02FFFEA3EFEE93DFDE83CFC90038E66
+:10263900122484E4FFFEFDFC90038EE0F8A3E0F988
+:10264900A3E0FAA3E0FBD31223B14021900281E079
+:10265900A3E0A3E0FEA3E0FF900373E02FFF900344
+:1026690072E03EFE783BEF26F618EE36F6C3783B6D
+:10267900E6941018E6940E500302270B0874F0260E
+:10268900F61874F136F690001AE0FCA3E0FDA3E019
+:10269900FEA3E0FF9000ABE0F8A3E0F9A3E0FAA302
+:1026A900E0FBC31223C750219000ABE0FCA3E0FD7F
+:1026B900A3E0FEA3E02401FFE43EFEE43DFDE43C8B
+:1026C900FC9000AB122484801490001AE0FCA3E073
+:1026D900FDA3E0FEA3E0FF9000AB122484305A8DE5
+:1026E9009003B4E0FCA3E0FDA3E0FEA3E02401FF16
+:1026F900E43EFEE43DFDE43CFC9003B41224840274
+:102709002676900340E0FEA3E0FFD3900375E09F97
+:10271900900374E09E404490006AE0FEA3E0FFEE5F
+:102729003395E0FDFC900281E0F8A3E0F9A3E0FA1B
+:10273900A3E0FBC31223B15022C3900069E0951DA9
+:10274900900068E0951C501390006CE0FF9003A581
+:10275900E004F0C39F4004EFF0D25B90006AE0FE12
+:10276900A3E0FFEE3395E0FDFC900281E0F8A3E0E1
+:10277900F9A3E0FAA3E0FBC31223B1503590034D4E
+:10278900E0FCA3E0FDA3E0FEA3E0FF90032DE0F849
+:10279900A3E0F9A3E0FAA3E0FBC31223C750139007
+:1027A9000363E0FF9003A4E004F0C39F4004EFF04B
+:1027B900D259125000022AFF900028E0FEA3E0FF40
+:1027C900C3E49FFFE49EFE3395E0FDFC90037BE0AC
+:1027D900F8A3E0F9A3E0FAA3E0FBC31223B1400395
+:1027E9000229B6E49003A5F09003A4F0C259C25B94
+:1027F9009003AAF0A3F09003B3F090039BF0C258A2
+:1028090090035FE0FCA3E0FDA3E0FEA3E0FF9002DC
+:1028190081E0F8A3E0F9A3E0FAA3E02FFBEA3EFA8E
+:10282900E93DF9E83CF8900372E0FEA3E0FFEE33DE
+:1028390095E0FDFCEB2FFFEA3EFEE93DFDE83CFC9F
+:1028490090038E12248490038EE0FCA3E0FDA3E0A4
+:10285900FEA3E0FFEC33500AC37833E69FF618E68F
+:102869009EF6C37833E6941018E6940E50030229B5
+:102879004BC37833E6941018E6940E40670874F059
+:1028890026F61874F136F69000B3E0FCA3E0FDA338
+:10289900E0FEA3E02401FFE43EFEE43DFDE43CFC50
+:1028A9009000B3122484E47F01FEFDFC9000ABE0AC
+:1028B900F8A3E0F9A3E0FAA3E0FBD31223C740B1E0
+:1028C9009000ABE0FCA3E0FDA3E0FEA3E024FFFF42
+:1028D900EE34FFFEED34FFFDEC34FFFC9000AB124B
+:1028E9002484808D90001EE0FCA3E0FDA3E0FEA3FC
+:1028F900E0FF9000B3E0F8A3E0F9A3E0FAA3E0FB5E
+:10290900C31223C7403C9000B3E0FCA3E0FDA3E061
+:10291900FEA3E0FF90001EE0F8A3E0F9A3E0FAA30C
+:10292900E0FBEF9BFFEE9AFEED99FDEC98FC900021
+:10293900B3122484900023E004F07006900022E092
+:1029490004F0900351E0FEA3E0FFD3900375E09FEC
+:10295900900374E09E5003022AFF9000AFE0FCA3AD
+:10296900E0FDA3E0FEA3E0FF900281E0F8A3E0F917
+:10297900A3E0FAA3E0FBD31223B15003022AFFD349
+:1029890090007BE0951B90007AE0951A5003022A8B
+:10299900FF90007CE0FF9003B2E004F09F50030237
+:1029A9002AFFEFF09000B97401F0022AFF90037238
+:1029B900E0FAA3E0FBFFCEEACEEE3395E0FDFC336F
+:1029C9004003022AA9C37833E69BFF18E69AFEF66C
+:1029D90008EFF6C39410EE940E5003022AA974F07E
+:1029E90026F61874F136F69000B3E0FCA3E0FDA3D7
+:1029F900E0FEA3E02401FFE43EFEE43DFDE43CFCEF
+:102A09009000B3122484E47F01FEFDFC9000ABE04A
+:102A1900F8A3E0F9A3E0FAA3E0FBD31223C740220D
+:102A29009000ABE0FCA3E0FDA3E0FEA3E024FFFFE0
+:102A3900EE34FFFEED34FFFDEC34FFFC9000AB12E9
+:102A4900248490001EE0FCA3E0FDA3E0FEA3E0FFC8
+:102A59009000B3E0F8A3E0F9A3E0FAA3E0FBC31206
+:102A690023C7403C9000B3E0FCA3E0FDA3E0FEA334
+:102A7900E0FF90001EE0F8A3E0F9A3E0FAA3E0FB71
+:102A8900EF9BFFEE9AFEED99FDEC98FC9000B312D6
+:102A99002484900023E004F07006900022E004F002
+:102AA900900389E0FF9003AAE475F001122248FC23
+:102AB900C3E5F09FEC9400403A900351E0FEA3E097
+:102AC900FFD3900375E09F900374E09E4025D39057
+:102AD900007BE0951B90007AE0951A401690007CE7
+:102AE900E0FF9003B3E004F09F4008EFF09000B9D5
+:102AF9007401F0123394E47FE87E03FDFC9000AB8F
+:102B0900E0F8A3E0F9A3E0FAA3E0FB122279900030
+:102B19001AE0F8A3E0F9A3E0FAA3E0FB122304907A
+:102B290003A8EEF0A3EFF0900028E0FEA3E0FFC3B6
+:102B3900E49FFFE49EFE3395E0FDFC90037BE0F803
+:102B4900A3E0F9A3E0FAA3E0FBC31223B1400C20F0
+:102B59001509201A06201B03301C02C25A121056EE
+:102B69009000AAE0FF7E00900325EEF0FAA3EFF0B3
+:102B7900FB90001AE0FCA3E0FDA3E0FEA3E0FF90B8
+:102B89000343122484CFEBCF7E00E4FCFD90034382
+:102B9900E0F8A3E0F9A3E0FAA3E0FB122279E47BD1
+:102BA90064FAF9F81223049003761224849000221F
+:102BB900E0FFA3E0900364CFF0A3EFF09003A8E057
+:102BC900FFA3E09003B0CFF0A3EFF090038EE0FCF9
+:102BD900A3E0FDA3E0FEA3E0FF90039712248490F5
+:102BE90000ABE0FCA3E0FDA3E0FEA3E0FF900358E7
+:102BF9001224849003ACE0FCA3E0FDA3E0FEA3E073
+:102C0900FF9003341224849003A6E0FFA3E090030D
+:0A2C19002BCFF0A3EFF0126E78222B
+:1079C3001239FC90038A122443900327E0F8A3E0C2
+:1079D300F9A3E0FAA3E0FBC31223C75014900327D3
+:1079E300E0FCA3E0FDA3E0FEA3E0FF90038A1224E2
+:0579F30084126E7822F1
+:1035EC009005FCE4F0A37464F01239FC124D0390C6
+:1035FC0005FCEEF0A3EFF04E702E9000AA04F090B4
+:10360C0003A8E4F0A3740AF0E47B64FAF9F89000E0
+:10361C001AE0FCA3E0FDA3E0FEA3E0FF122304905C
+:10362C0000AB1224840236F6900327E0FCA3E0FDE5
+:10363C00A3E0FEA3E0FF90038AE0F8A3E0F9A3E087
+:10364C00FAA3E0FBC31223C7400E9005FCE0FEA3D7
+:10365C00E0FF1242700236F6E47F64FEFDFC90003F
+:10366C001AE0F8A3E0F9A3E0FAA3E0FB12227990A8
+:10367C0000ABE0F8A3E0F9A3E0FAA3E0FB1223040B
+:10368C00C8ECC8C9EDC9CAEECACBEFCB90034CE06D
+:10369C00FF9005FDE02FFF9005FCE03400FEE4FCFC
+:1036AC00FDD31223C740439005FCE0FAA3E0FB7C5A
+:1036BC00007D0AFFCEEACE1221E19003A8EEF0A322
+:1036CC00EFF0CFEBCFCEEACEE4FD90001AE0F8A3FA
+:1036DC00E0F9A3E0FAA3E0FB122279E47B64FAF9A7
+:1036EC00F81223049000AB122484E47830F608F628
+:1036FC007838F608F6783412249000000000900315
+:10370C00AC1224A900000000E490039CF0A3F090FC
+:10371C0003B2F0A3F09003AAF0A3F0C25BC257C2AD
+:10372C00599003A5F09003A4F0783AF608F6783295
+:10373C00F608F69003A8E0FFA3E09003B0CFF0A347
+:10374C00EFF0C25AC2569003B41224A90000000034
+:10375C00E49003A6F0A3F090038E1224A9000000BD
+:10376C00009003971224A9000000009003921224E9
+:10377C00A900000000E490039BF0900396F0C2585F
+:10378C0090038A1224A9000000009000AAE0FF7E9A
+:10379C0000900325EEF0FAA3EFF0FB90001AE0FC8A
+:1037AC00A3E0FDA3E0FEA3E0FF900343122484CF2B
+:1037BC00EBCF7E00E4FCFD900343E0F8A3E0F9A31B
+:1037CC00E0FAA3E0FB122279E47B64FAF9F8122305
+:1037DC00049003761224849000ABE0FCA3E0FDA3DC
+:1037EC00E0FEA3E0FF9003581224849003341224CB
+:1037FC00A900000000E490032BF0A3F0126E7822D5
+:10339400305A09305B06C25AD2568021305B1E90E7
+:1033A40003A87403F0A374E8F090001AE0FCA3E00F
+:1033B400FDA3E0FEA3E0FF9000AB1224843056038B
+:1033C4000234449000B7E0FCA3E0FD900022E0FE4C
+:1033D400A3E0FFC39DFDEE9CFCC390035DE09D90C4
+:1033E400035CE09C40030235EB205B030235EB12E7
+:1033F4006AFEE4FCFDFE90001AE0F8A3E0F9A3E005
+:10340400FAA3E0FB122279ECC0E0EDC0E0EEC0E0EC
+:10341400EFC0E09000B7E0FEA3E0FF126AFECBEF3E
+:10342400CBE4FAF9F8D0E0FFD0E0FED0E0FDD0E044
+:10343400FC1223049003B41224840235A00235A0A4
+:10344400C256E47F32FEFDFC900016E0F8A3E0F9DA
+:10345400A3E0FAA3E0FB122279E47B64FAF9F81200
+:1034640023049002B71224849002B7E0FCA3E0FD89
+:10347400A3E0FEA3E0FF9003B4E0F8A3E0F9A3E027
+:10348400FAA3E02FFFEA3EFEE93DFDE83CFC900094
+:1034940016E0F8A3E0F9A3E0FAA3E0FBC31223C704
+:1034A40040030235EB900342E0FFE4FCFDFE900094
+:1034B4001AE0F8A3E0F9A3E0FAA3E0FB122279E40E
+:1034C4007B64FAF9F81223049002B7122484900260
+:1034D400B7E0FCA3E0FDA3E0FEA3E0FF90001AE048
+:1034E400F8A3E0F9A3E0FAA3E02FFFEA3EFEE93DEA
+:1034F400FDE83CFC9003B4E0F8A3E0F9A3E0FAA3F0
+:10350400E0FBD31223C7402E9002B7E0FCA3E0FDFA
+:10351400A3E0FEA3E0FF90001AE0F8A3E0F9A3E023
+:10352400FAA3E02FFFEA3EFEE93DFDE83CFC9003F0
+:10353400B412248480669002B7E0FCA3E0FDA3E00B
+:10354400FEA3E0FF9003B4E0F8A3E0F9A3E0FAA33C
+:10355400E02FFFEA3EFEE93DFDE83CFC90001AE066
+:10356400F8A3E0F9A3E0FAA3E0FBD31223C7402CAD
+:103574009002B7E0F8A3E0F9A3E0FAA3E0FB90001F
+:103584001AE0FCA3E0FDA3E0FEA3E09BFFEE9AFE9D
+:10359400ED99FDEC98FC9003B41224849003B4E0FC
+:1035A400FCA3E0FDA3E0FEA3E0FF90001A12248434
+:1035B4009003A87403F0A374E8F090001AE0FCA34D
+:1035C400E0FDA3E0FEA3E0FF9000AB122484900092
+:1035D40022E0FFA3E09000B7CFF0A3EFF09003B494
+:0835E4001224A90000000022DE
+:106AFE00C3900386E09F900385E09E5004795580F5
+:106B0E0048C3900384E09F900383E09E5016900349
+:106B1E0049E0FCA3E0FD1221F390033AE0A3E0C3A9
+:106B2E009FF98025C3900382E09F900381E09E50E1
+:106B3E0016900347E0FCA3E0FD1221F3900338E02A
+:0D6B4E00A3E0C39FF980027964CFE9CF2254
+:10105600E49002B7F0A3F0FFA3F0A3F0A3F090038F
+:101066009EE0645A6028A2AF924DC2AF75A701E414
+:10107600EF90124093FE749E2FF582E43403F583BD
+:10108600EEF00FEFB406E9E4F5A7A24D92AF900398
+:10109600A3E064C36003021C48FF749E2FF582E43C
+:1010A6003403F583E0FEEF907F81936E6003021CAC
+:1010B600480FEFB406E48003021C48900028E0FEC7
+:1010C600A3E0FFEE3395E0FDFC90037BE0F8A3E0A0
+:1010D600F9A3E0FAA3E0FBD31223B150030214F103
+:1010E6002058030214F1E47830F608F67838F6084A
+:1010F600F69000AAE0D394634003021C48C3900311
+:1011060080E0951D90037FE0951C401E90034BE008
+:10111600FF7E007C007D0A1221E1D39003A9E09FA7
+:101126009003A8E09E50030213C930575A90034B10
+:10113600E0FBFF7E007C007D0A1221E19003A9E01E
+:101146002496FD9003A8E03400FCC3ED9FEC9E506E
+:1011560036EBFF7E007C007D0A1221E1EEF0A3EF64
+:10116600F0CFEBCFE4FDFE90001AE0F8A3E0F9A380
+:10117600E0FAA3E0FB122279E47B64FAF9F8122381
+:10118600049000AB12248490034DE0FCA3E0FDA381
+:10119600E0FEA3E0FF90032DE0F8A3E0F9A3E0FA58
+:1011A600A3E0FBD31223C7500302123090034DE095
+:1011B600F8A3E0F9A3E0FAA3E0FB90032DE0FCA37B
+:1011C600E0FDA3E0FEA3E09BFBEE9AFAED99F9ECB5
+:1011D60098F8900387E0FFE4FCFDFE122279E47B99
+:1011E6000AFAF9F8122279EEC0E0EFC0E090001496
+:1011F600E0FEA3E0FFC3900069E09FFF900068E077
+:101206009EFECBEFCBFAE4F9F8D0E0FFD0E0FE1279
+:101216002304EFC0E0AF13CBEFCBE4FAF9F8D0E04C
+:10122600FF122304900392122484C3900063E09576
+:101236001DFF900062E0951CFE900387E0FD7C0098
+:1012460012252CE47B0AFAF9F8122279EEC0E0EFB7
+:10125600C0E0900014E0FEA3E0FFC3900069E09FA9
+:10126600FF900068E09EFECBEFCBFAE4F9F8D0E001
+:10127600FFD0E0FE1223049002BC12248490039255
+:10128600E0FCA3E0FDA3E0FEA3E0FF9002BCE0F8D3
+:10129600A3E0F9A3E0FAA3E0FBC31223C75014901E
+:1012A60002BCE0FCA3E0FDA3E0FEA3E0FF900392F6
+:1012B600122484E47F24FEFDFC90001AE0F8A3E0EB
+:1012C600F9A3E0FAA3E0FB122279900392E0F8A3D7
+:1012D600E0F9A3E0FAA3E0FB122279EEC0E0EFC04A
+:1012E600E09000AAE0FFC374659FFFE49400FECB84
+:1012F600EFCBFAE4F9F8D0E0FFD0E0FE122304E4E5
+:101306007B0AFAF9F81223049003921224849000BF
+:101316006AE0FEA3E0FFEE3395E0FDFC90038EE06D
+:10132600F8A3E0F9A3E0FAA3E0FBD31223B1406CE3
+:1013360090038EE0FCA3E0FDA3E0FEA3E0FFC8EC73
+:10134600C8A3E0FCA3E0FDA3E0FEA3E0FF12230494
+:10135600ECC0E0EDC0E0EEC0E0EFC0E090006AE077
+:10136600FEA3E0FFFBCAEECAEA3395E0F9F8900364
+:101376008EE0FCA3E0FDA3E0FEA3E0C39BFFEE9A94
+:10138600FEED99FDEC98FCD0E0FBD0E0FAD0E0F958
+:10139600D0E0F8122279900392122484900063E040
+:1013A60024FFFF900062E034FFFEC3E51D9FE51CAD
+:1013B6009E50030214839003921224A90000000099
+:1013C6000214839003A8E0FEA3E0FF7C007D0A12CE
+:1013D60021F3EF2401FFE43EFE9000AAE0FB7A0031
+:1013E600C39FEA9E503C9003A8E0FEA3E0FF7C006A
+:1013F6007D0A1221F3EB2401FDEA33FCD3ED9FECC9
+:101406009E401FE47F24FEFDFC90001AE0F8A3E056
+:10141600F9A3E0FAA3E0FB12227990039212248446
+:10142600805B9000ABE0F8A3E0F9A3E0FAA3E0FB51
+:1014360090001AE0FCA3E0FDA3E0FEA3E0C39BFF3F
+:10144600EE9AFEED99FDEC98FCE47B107A0EF9F825
+:10145600122279EEC0E0EFC0E09000AAE0FFC3746C
+:10146600649FFFE49400FECBEFCBFAE4F9F8D0E0FA
+:10147600FFD0E0FE12230490039212248490038E80
+:10148600E0FCA3E0FDA3E0FEA3E0FFFBCAEECAC9B1
+:10149600EDC9C8ECC8A3E0FCA3E0FDA3E0FEA3E011
+:1014A600FF1223049002BAEEF0A3EFF020590330A6
+:1014B6005B0D900388E0FF9002BAE4F0A3EFF09092
+:1014C60003A6E475F001122248FEC39002BBE09524
+:1014D600F09002BAE09E4003021C489000AAE00485
+:1014E600F0E49003A6F0A3F0021C48900028E0FE6A
+:1014F600A3E0FFC3E49FFFE49EFE3395E0FDFC906E
+:10150600037BE0F8A3E0F9A3E0FAA3E0FBC3122310
+:10151600B14003021BE89000AAE094015003021CAC
+:1015260048900323E0FEA3E0FFAD137C0012252CB8
+:1015360090034DE0F8A3E0F9A3E0FAA3E0FBC312A1
+:1015460023C7402DD390007BE0951B90007AE09551
+:101556001A501E900357E0FF7E007C007D0A122180
+:10156600E1C39003A9E09F9003A8E09E4003021800
+:101576000B90036CE0FEA3E0FFD3900375E09F9011
+:101586000374E09E500302180B900366E0FCA3E090
+:10159600FDA3E0FEA3E0FF90037BE0F8A3E0F9A340
+:1015A600E0FAA3E0FBD31223B1500302180B7839FB
+:1015B600E61846700302180B900397E0FCA3E0FDC3
+:1015C600A3E0FEA3E024D0FFEE3407FEE43DFDE4F5
+:1015D6003CFC90038EE0F8A3E0F9A3E0FAA3E0FB5D
+:1015E600C31223B1400302180B900397E0FCA3E05B
+:1015F600FDA3E0FEA3E02430FFEE34F8FEED34FF59
+:10160600FDEC34FFFC90038EE0F8A3E0A3E0A3E03A
+:10161600D31223B1500302180B90035EE07E00251F
+:101626001BFFEE351AFEC3EF783996EE1896400387
+:101636000217FA90039CE0FEA3E0FF9400EE9400EC
+:1016460050030217FAEF9401EE9400500890039CA1
+:10165600E4F0A304F090034DE0FCA3E0FDA3E0FE5C
+:10166600A3E0FF783412242AD31223C750030217AB
+:1016760013900353E0F8A3E0F9A3E0FAA3E0FB908C
+:10168600034DE0FCA3E0FDA3E0FEA3E09BFBEE9A86
+:10169600FAED99F9EC98F890039CE0FEA3E0FFE4DC
+:1016A600FCFD122279ECC0E0EDC0E0EEC0E0EFC038
+:1016B600E090034DE0F8A3E0F9A3E0FAA3E0FBE82D
+:1016C600C0E07834122412D0E0F8C3EF9BFBEE9A08
+:1016D600FAED99F9EC98F8D0E0FFD0E0FED0E0FD05
+:1016E600D0E0FC122304EEC0E0EFC0E09000AAE0D8
+:1016F60024FFFFE434FFFECBEFCBFAE4F9F8D0E0A9
+:10170600FFD0E0FE1223049003921224849000740A
+:10171600E0FEA3E0FFC3E51B9FFFE51A9EFE9003D4
+:101726009CE0FCA3E0FD12252CEEC0E0EFC0E0C378
+:101736007839E6951BFF18E6951AFECBEFCBFAE44F
+:10174600F9F8D0E0FFD0E0FE122304EEC0E0EFC0CF
+:10175600E09000AAE024FFFFE434FFFECBEFCBFAD3
+:10176600E4F9F8D0E0FFD0E0FE1223049002BC12A8
+:101776002484900392E0FCA3E0FDA3E0FEA3E0FF37
+:101786009002BCE0F8A3E0F9A3E0FAA3E0FBC312E1
+:1017960023C750149002BCE0FCA3E0FDA3E0FEA327
+:1017A600E0FF9003921224847838A61A08A61B90AC
+:1017B600034DE0FCA3E0FDA3E0FEA3E0FF783412B6
+:1017C6002478E490039CF0A3F0900392E0F8A3E061
+:1017D600F9A3E0FAA3E0FB90038EE0FCA3E0FDA3EF
+:1017E600E0FEA3E0FF1223A31222799003921224B3
+:1017F60084021B7690039DE004F0700690039CE043
+:1018060004F0021B767838A61A08A61B90034DE052
+:10181600FCA3E0FDA3E0FEA3E0FF7834122478E405
+:1018260090039CF0A3F090036CE0FEA3E0FFC3904E
+:101836000375E09F900374E09E4021900366E0FCF0
+:10184600A3E0FDA3E0FEA3E0FF90037BE0F8A3E0A6
+:10185600F9A3E0FAA3E0FB1223B1501D90001AE0B1
+:10186600FCA3E0FDA3E0FEA3E0FF9003AC122484FA
+:10187600E47830F608F60219FA7830E6FE08E6FF54
+:101886002414FDE43EFC900374E0FAA3E0FBD39D30
+:10189600EA9C5011EB2414FDE43AFCD3EF9DEE9C38
+:1018A60050030219FA900374E0FEA3E0FF7830EECD
+:1018B600F608EFF62487FFEE34F59002B7F0A3EFB3
+:1018C600F090033EE0FEA3E0FFFBCAEECAE4F9F89F
+:1018D6009002B7E0FEA3E0FFEE3395E0FDFC122296
+:1018E60079C8ECC8C9EDC9CAEECACBEFCB90033CA8
+:1018F600E0FEA3E0FFE4C3EF9BFBEE9AFAE499F95E
+:10190600E498F89002B7E0FEA3E0FFEE3395E0FD21
+:10191600FC122279E47B107A27F9F8127602C8ECD9
+:10192600C8C9EDC9CAEECACBEFCB900370E0FEA3DF
+:10193600E0FFE4FCFDEB2FFFEA3EFEED39FDEC385F
+:10194600FC90001AE0F8A3E0F9A3E0FAA3E0FB128A
+:101956002279E47BD07A07F9F81223049003AC12BB
+:10196600248490001AE0FCA3E0FDA3E0FEA3E0FFC0
+:101976009003ACE0F8A3E0F9A3E0FAA3E0FBD312EE
+:1019860023C7401690001AE0FCA3E0FDA3E0FEA3E7
+:10199600E0FF9003AC122484805AE47F06FEFDFC2F
+:1019A60090001AE0F8A3E0F9A3E0FAA3E0FB122204
+:1019B60079E47B0AFAF9F81223049003ACE0F8A361
+:1019C600E0F9A3E0FAA3E0FBC31223C75026E47FA5
+:1019D60006FEFDFC90001AE0F8A3E0F9A3E0FAA3E6
+:1019E600E0FB122279E47B0AFAF9F8122304900349
+:1019F600AC1224849003ACE0F8A3E0F9A3E0FAA3C8
+:101A0600E0FB90001AE0FCA3E0FDA3E0FEA3E0C328
+:101A16009BFFEE9AFEED99FDEC98FCE47B0DFAF93E
+:101A2600F8122279E47B0AFAF9F81223049000AB43
+:101A3600E0F8A3E0F9A3E0FAA3E0FBC31223C75042
+:101A460020E47F24FEFDFC90001AE0F8A3E0F9A351
+:101A5600E0FAA3E0FB122279900392122484021B7F
+:101A6600769000ABE0FCA3E0FDA3E0FEA3E0FF90D0
+:101A760003ACE0F8A3E0F9A3E0FAA3E02FFFEA3E07
+:101A8600FEE93DFDE83CFC90001AE0F8A3E0F9A36E
+:101A9600E0FAA3E0FBC3EF9BFFEE9AFEED99FDECA7
+:101AA60098FCE47B64FAF9F81222799003ACE0F82A
+:101AB600A3E0F9A3E0FAA3E0FB1223049002B9EF36
+:101AC600F02401FFE433FE9000AAE0FDC39FEE641C
+:101AD60080F87480985035ED2401FFE433FE9002BF
+:101AE600B9E0FDD3EF9D7480F86E98401FE47F2423
+:101AF600FEFDFC9003ACE0F8A3E0F9A3E0FAA3E056
+:101B0600FB12227990039212248480649000ABE049
+:101B1600FCA3E0FDA3E0FEA3E0FF9003ACE0F8A386
+:101B2600E0F9A3E0FAA3E02FFFEA3EFEE93DFDE877
+:101B36003CFC90001AE0F8A3E0F9A3E0FAA3E0FB6E
+:101B4600C3EF9BFFEE9AFEED99FDEC98FCE47B104B
+:101B56007A0EF9F8122279EFC0E09000AAE0FFFBB6
+:101B6600E4FAF9F8D0E0FF122304900392122484D9
+:101B760090038EE0FCA3E0FDA3E0FEA3E0FF1223AA
+:101B8600A3CBEFCBCAEECAC9EDC9C8ECC8A3E0FC2B
+:101B9600A3E0FDA3E0FEA3E0FF1223049002BAEE49
+:101BA600F0A3EFF09003A6E475F001122248FCD3EF
+:101BB600E5F09FEC9E400D9000AAE014F0E490033F
+:101BC600A6F0A3F030197B90036FE0FF9000AAE027
+:101BD600D39F506E90036AE060689000AA7401F08B
+:101BE6008060E47838F608F6783412249000000015
+:101BF60000E47830F608F69000AAE0D3940140425B
+:101C0600900372E0FEA3E0FFEE3395E0FDFC335057
+:101C1600319003A8E0FEA3E0FF7C007D0A1221F3C9
+:101C2600CAEECACBEFCB9003B0E0FEA3E0FF7C0088
+:101C36007D0A1221F3D3EF9BEE9A40069000AAE0AC
+:101C460014F0E4FFFEFDFC900397E0F8A3E0F9A38F
+:101C5600E0FAA3E0FBD31223B14009301806900046
+:101C6600AA7464F09002BAE0FFA3E0900332CFF0CA
+:041C7600A3EFF022C6
+:107D2900304C19204306204403304510C24CC2434D
+:0D7D3900C244C245C2AF127E861200A622CF
+:10000000020D7A021003000000000002100B000035
+:10001000000000021013000000000002101B00008E
+:10002000000000021023000000000002102B00005E
+:10003000000000021033000000000002103B00002E
+:10004000000000021043000000000002104B0000FE
+:10005000000000021053000000000002105B0000CE
+:10006000000000021063000000000002106B00009E
+:10007000000000021073000000000002107B00006E
+:10008000000000021083000000000002108B00003E
+:10009000000000021093000000000002109B00000E
+:1000A0000000000210A3E4F526F525F524F523F55C
+:1000B00030F52FF52EF52DF52C120D5E209803024C
+:1000C000018E7400252BF582E43402F583E599F066
+:1000D000052BE52BC3948C4003E4F52BE52BB401F1
+:1000E0000D900200E0645A700302018C806BE52BD6
+:1000F000B40214900201E064A56002805CE4F53172
+:10010000F532F52202018C900202E0FF7E00240904
+:10011000FDEE33FCAB2B7A00C3EB9DEC6480F874EE
+:1001200080985062EF2407FFEE33FED3EB9FEE641E
+:1001300080F8748098501574FF252BF582E4340103
+:10014000F583E02532F532E43531F531E52BB405A0
+:100150000D900204E064076033E4F52B802EE52B5C
+:1001600064067028900205E0FF6406601FEF6407D4
+:10017000601AEF64086015EF64096010EF640A60AC
+:100180000B432230800653B1F8120A9DC298309971
+:100190004453B1F8900202E02408FFE433FEC3E5C3
+:1001A0002B9FEE6480F87480984013E4F586D29C0F
+:1001B000F52B900200F0A3F0A3F0D2028015052BDE
+:1001C000E4F586C29C7400252BF582E43402F583A5
+:1001D000E0F599C299E52C640A60030200BC53B1B2
+:1001E000F82002030200BCC202F52C12000002003B
+:1001F000BCC200900206E0FFC395214014E5212413
+:1002000004FDE433FCD3EF9DEC6480F874809840E7
+:100210000A900206E060047405F022900206E0F500
+:1002200021E4F0900202E070152526F526E525343C
+:1002300002F525E43524F524E43523F52322E521D0
+:100240005403F50AE4F508F509900202E0FD7C008C
+:10025000C3E5099DE5089C503274072509F582E441
+:100260003402F583E0FBAF0A7E00120638E5092F61
+:10027000FFE5083EFE74002FF58274003EF583EB27
+:10028000F00509E50970C2050880BEE50A6403604F
+:100290000302044F751D551208955003020386E4AE
+:1002A000FF7E02FDFCAB26AA25A924A8231207186D
+:1002B000401AE5269400F526E5259402F525E52467
+:1002C0009400F524E5239400F5238009E4F526F550
+:1002D00025F524F523E4F50F30015E2526F50EE51E
+:1002E000253410F50DE43524F50CE43523F50BE445
+:1002F000252AFFE529340CFEE43528FDE43527FCEA
+:10030000AB0EAA0DA90CA80BC31207184040E42598
+:100310002AFBE529340CFAE43528F9E43527F8C33B
+:10032000E50E9BF50EE50D9AF50DE50C99F50CE53E
+:100330000B98F50B750F018015E42526F50EE525C4
+:100340003484F50DE43524F50CE43523F50B751DE7
+:1003500055AF0EAE0DAD0CAC0B850F15120B7EAF6D
+:100360000EAE0DAD0CAC0B850F15120C8C500E1291
+:10037000089540129002067403F002044C900206A5
+:100380007402F002044CE4F50A75F004E50AA424B2
+:1003900002F582E5F03400F583E0FFE4FCFDFE7831
+:1003A0001012073CC004C005C006C00775F004E584
+:1003B0000AA42403F582E5F03400F583E0FFE4FCB1
+:1003C000FDFE781812073CD003D002D001D000EF18
+:1003D0004BFFEE4AFEED49FDEC48FCC004C005C0F1
+:1003E00006C00775F004E50AA42401F582E5F0349F
+:1003F00000F583E0FFE4FCFDFE780812073CD00323
+:10040000D002D001D000EF4BFBEE4AFAED49F9ECF7
+:1004100048F875F004E50AA42400F582E5F03400FC
+:10042000F583E0FFEB4FFFEAFEE9FDE8FCE5302F46
+:10043000F530E52F3EF52FE52E3DF52EE52D3CF56B
+:100440002D050AE50A64806003020389E4F51D2294
+:10045000E4F526F525F524F523F530F52FF52EF5F1
+:100460002DF52AF529F528F527900209E0FFE4FC8F
+:10047000FDFE781012073CC004C005C006C007A3EB
+:10048000E0FFE4FCFDFE781812073CD003D002D058
+:1004900001D000EF4BFFEE4AFEED49FDEC48FCC0F9
+:1004A00004C005C006C007900208E0FFE4FCFDFEA2
+:1004B000780812073CD003D002D001D000EF4BFBEC
+:1004C000EE4AFAED49F9EC48F8900207E0FFEB4FED
+:1004D000F52AEAF529E9F528E8F527200006900233
+:1004E00006740AF0E4FF7E78FDFCAB2AAA29A9284D
+:1004F000A827D312071840052001028017E4FF7EC9
+:10050000ECFDFCAB2AAA29A928A827D3120718407A
+:100510000A3001079002067401F022E4900206F00E
+:10052000F521751D55F515FF7E0EFDFC120B7EE4C1
+:10053000F515FF7E0EFDFC120C8C502B30012E7534
+:100540001BA5E4F51C7FFF7E0FFDFC120B15E4F5E7
+:100550001B7FFF7E0FFDFC120D94EF64A5600E90D3
+:1005600002067403F080069002067402F0E4F51DA2
+:10057000900206E06003020631FB7A02F9F8AF2A26
+:10058000AE29AD28AC271206868F09E4F508E508E8
+:10059000C395094003020637E4F50A300107F50E5A
+:1005A000750D108006E4F50E750D84F50CF50BE560
+:1005B0000825E0FEE4FCFD250EF50EE50D3EF50DEB
+:1005C000ED350CF50CEC350BF50B300135E5092458
+:1005D000FEFBE434FFFAED34FFF9EC34FFF8AF082A
+:1005E000E4FED3120718501A750A01E5082402FF29
+:1005F000C3EF9509FFEF25E0FEE4F50E8E0DF50C37
+:10060000F50B751D55AF0EAE0DAD0CAC0B850A1577
+:10061000120B7EAF0EAE0DAD0CAC0B850A15120C95
+:100620008C40069002067402F0E4F51D05080205F0
+:100630008E9002067405F022EF8DF0A4A8F0CF8C06
+:10064000F0A428CE8DF0A42EFE2275F0087582004D
+:10065000EF2FFFEE33FECD33CDCC33CCC58233C587
+:10066000829BED9AEC99E58298400CF582EE9BFE18
+:10067000ED9AFDEC99FC0FD5F0D6E4CEFBE4CDFA73
+:10068000E4CCF9A88222B800C1B90059BA002DEC17
+:100690008BF084CFCECDFCE5F0CBF97818EF2FFFAF
+:1006A000EE33FEED33FDEC33FCEB33FB10D7039957
+:1006B0004004EB99FB0FD8E5E4F9FA227818EF2F04
+:1006C000FFEE33FEED33FDEC33FCC933C910D70523
+:1006D0009BE99A4007EC9BFCE99AF90FD8E0E4C942
+:1006E000FAE4CCFB2275F010EF2FFFEE33FEED3372
+:1006F000FDCC33CCC833C810D7079BEC9AE899409F
+:100700000AED9BFDEC9AFCE899F80FD5F0DAE4CD00
+:10071000FBE4CCFAE4C8F922EB9FF5F0EA9E42F044
+:10072000E99D42F0E89C45F022E8600FECC313FC21
+:10073000ED13FDEE13FEEF13FFD8F122E8600FEF8B
+:10074000C333FFEE33FEED33FDEC33FCD8F122EC86
+:100750008EF0A4CCC5F0CCCDF8EFA4CEC5F02DFD25
+:10076000E43CFCE8A42EC8C5F03DFDE43CFCEFA44D
+:10077000FFE5F028FEE43DFDE43CFC22E4F50853EF
+:10078000B1F8E508C3943A501FE4F50AAF08FE7CBF
+:1007900002FD12074FE42FF510EE3410F50FE43D83
+:1007A000F50EE43CF50D8021750A01AF087E007C52
+:1007B000027D0012074FE42FF510EE348CF50FED9B
+:1007C00034FFF50EEC34FFF50D751D55AF10AE0F6F
+:1007D000AD0EAC0D850A15120B7EAF10AE0FAD0E2F
+:1007E000AC0D850A15120C8C4003020883E4F50B4E
+:1007F000F50CAE0BAF0CE4FCFDFB7A02F9F8D3125A
+:1008000007185003020886AF087E007C027D0012A4
+:10081000074FA804A905AA06AB07E4250CFFE50BC2
+:100820003484FEE433FDE433FCEB2FFFEA3EFEE9C3
+:100830003DFDE83CFCE4F51B120D948F09E50C2509
+:1008400010FFE50B350FFEE4350EFDE4350DFC859C
+:10085000091B850A1C120B15E50C2510FFE50B354D
+:100860000FFEE4350EFDE4350DFC850A1B120D94D8
+:10087000EF650960037F0222050CE50C7002050B91
+:100880000207F27F01220508E508C3943C500302E9
+:10089000077F7F0022D203E4F510F511AE10AF11EF
+:1008A000E4FCFDFB7A02F9F8D312071850030209A1
+:1008B0008CE4F51630015E2526F515E5253410F596
+:1008C00014E43524F513E43523F512E4252AFFE575
+:1008D00029340CFEE43528FDE43527FCAB15AA14B9
+:1008E000A913A812C31207184040E4252AFBE529E2
+:1008F000340CFAE43528F9E43527F8C3E5159BF5FF
+:1009000015E5149AF514E51399F513E51298F51207
+:100910007516018015E42526F515E5253484F514B2
+:10092000E43524F513E43523F512AF15AE14AD13F9
+:10093000AC1274002511F58274003510F583E0F5D2
+:100940001B85161C120B15AF15AE14AD13AC12851A
+:10095000161B120D9474002511F58274003510F5E4
+:1009600083E06F6004C2038023E5262401F526E4BA
+:100970003525F525E43524F524E43523F523051143
+:10098000E511600302089C051002089CA203227E68
+:10099000007D007C00900209E0FFE4781012073C23
+:1009A000C004C005C006C007A3E0FFE4FCFDFE785C
+:1009B0001812073CD003D002D001D000EF4BFFEE5D
+:1009C0004AFEED49FDEC48FCC004C005C006C00766
+:1009D000900208E0FFE4FCFDFE780812073CD0031B
+:1009E000D002D001D000EF4BFBEE4AFAED49F9EC12
+:1009F00048F8900207E0FFEB4FFFEAFEE9FDE8FC54
+:100A0000AB30AA2FA92EA82DC31207186007900299
+:100A1000067408F022E4900206F022E4F508F509D5
+:100A2000900202F0900205740BF0900203E0FFA325
+:100A3000E0900203F0A3EFF07F02900202E0FE24B8
+:100A400007FDE433FCEFC39DEC6480F8748098509C
+:100A50001774002FF582E43402F583E02509F509C7
+:100A6000E43508F5080F80D274072EF582E43402CD
+:100A7000F583E509F0E508FF900202E02408F5821D
+:100A8000E43402F583EFF0C202E4F586C29C740000
+:100A9000252BF582E43402F583E0F59922E4F52B69
+:100AA000900202E0FD2408F582E43402F583E0FEC2
+:100AB00074072DF582E43402F583E07C002400FF06
+:100AC000EC3EFEEF65327003EE6531600343228039
+:100AD000E5226006900206F08038900205E0FEB440
+:100AE0000605120CD5802BEEB407051204508022A7
+:100AF000900205E0B408051201F18016900205E0AD
+:100B0000B4090512098F800A900205E0B40A0312A5
+:100B10000BDE020A1B8F1A8E198D188C17851CA7E5
+:100B2000AF1AAE19AD18AC1778081207298FF7E580
+:100B30001AFF8FFB851BFC75F26E20AF3D75F30528
+:100B4000E5A7651C703475F40AE51DB4552C75F5E0
+:100B500009AF1AAE19AD18AC177808120729A80406
+:100B6000A905AA06AB07AFF7E4FCFDFEC312071800
+:100B7000700875F6060000000000E4F5A7228F1447
+:100B80008E138D128C118515A7AF14AE13AD12AC58
+:100B90001178081207298FF775F2E620AF3C75F33C
+:100BA00005E5A76515703375F40AE51DB4552B7579
+:100BB000F509AF14AE13AD12AC117808120729A8CD
+:100BC00004A905AA06AB07AFF7E4FCFDFEC31207B4
+:100BD00018700775F60600000000E4F5A722E490FF
+:100BE0000206F0752C0A751D55F515FF7E0EFDFCED
+:100BF000120B7EE4F515FF7E0EFDFC120C8C502AC4
+:100C0000200130751B5AE4F51C7FFF7E0FFDFC129E
+:100C10000B15E4F51B7FFF7E0FFDFC120D94EF64B6
+:100C20005A6010900206740380059002067402F068
+:100C3000E4F52CE4F51D2253B1F8120DACE4F51BDC
+:100C40007FFF7E0FFDFC120D94EF645A7026C201E7
+:100C5000751D55120D3850028005120D385005E4EF
+:100C6000F51D8024E4F51D758E55438702000000B4
+:100C7000000080F0E4F51B7FFF7E0FFDFC120D9459
+:100C8000BFA505D2010200A6121000228F148E13F8
+:100C90008D128C11D2048515A7E4F516F517AE1642
+:100CA000AF17E4FCFDFB7A02F9F8D3120718401FD6
+:100CB000E5172514FFE51635138F82F583E493605D
+:100CC00004C204800A0517E51770D3051680CFE427
+:100CD000F5A7A20422E4900206F0A3E0FFB4490FB6
+:100CE000A3E0B4410AA3E0B45005C201D20022EF50
+:100CF000B44911900208E0B4530AA3E0B45005D2FD
+:100D000001D20022900206740AF0C200227580F817
+:100D100075E18F75E9C875908075E27F75EA807519
+:100D2000A0E075E33F75EBC075B01975E4E675ECAE
+:100D3000194380C043E98022D20312077CEF701967
+:100D4000F515FF7E0EFDFC120B7EE4F515FF7E0E01
+:100D5000FDFC120C8C92038002C203A2032275C414
+:100D600032E4F587759850759D7F759C64759E0477
+:100D7000439D80759A0A759BFF2275817F75B20825
+:100D8000000000000000000043B20478FFE4F6D841
+:100D9000FD020C378F1A8E198D188C17E4851BA74E
+:100DA000851A8285198393FFE4F5A722120DB512E7
+:100DB0000D0DC20022E4F5A8F5A9F5AA2200000055
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:101C7A00021FC2E86480F8E933E83360110460F0B7
+:101C8A00ED33EC337009E8FCE9FDEAFEEBFF2204D0
+:101C9A0060DED3EB9FEA9EE99DE8C2E78CF0C2F7CB
+:101CAA0095F0400CE8CCF8E9CDF9EACEFAEBCFFB97
+:101CBA00121F8D85D0F05804700320D5B3E8047044
+:101CCA00075002B2D5021FCC92D5EC0460F7E4CCDF
+:101CDA00C0E0C398F8603B94186008400DD0E0FB60
+:101CEA00021FA4E4FBFAC9FC8028E830E406E4C930
+:101CFA00FBE4CAFCE830E305E4C9CACBFCE85407B4
+:101D0A006010F8C3E913F9EA13FAEB13FBEC13FCBE
+:101D1A00D8F130F52FC3E49CFCEF9BFFEE9AFEED61
+:101D2A0099FDD0E0FBEF4E4D4C701222DB03021FEF
+:101D3A00C9EC2CFCEF33FFEE33FEED33FDED30E75B
+:101D4A00EB021FA4EF2BFFEE3AFEED39FDD0E0FBCC
+:101D5A0050130BBB0003021FCCED13FDEE13FEEF75
+:081D6A0013FFEC13FC021FA49F
+:101D7200EC4D6011E8497017ED33EC3304600DE46B
+:101D8200FCFFFEFD22E933E8330470F8021FC212A1
+:101D92001F8D58046009E4CC2481500628500902A2
+:101DA2001FCC284003021FC9C0E0EB4A7044B9802F
+:101DB20006D0E0FB021FB8EF4E701CBD8008EBFF9F
+:101DC200EAFEE9FD80EBE98DF0A4FEE5F0021E5B80
+:101DD200E9CDF9EAFEEBFFEF89F0A4FCE5F0CE894C
+:101DE200F0A42EFFE435F0CD89F0A42DFEE435F009
+:101DF2008067EF4E7005BD80D780C3EF8BF0A4AC37
+:101E0200F0EE8BF0A42CFCE435F0F8EF8AF0A42C71
+:101E1200E5F038FCE433CB8DF0A42CFCE5F03BF884
+:101E2200EE8AF0A42CFCE5F038F8E433CF89F0A474
+:101E32002CFCE5F038CF3400CE89F0A42FFFE5F07A
+:101E42003EFEE433C98DF0A42EFEE5F039CD8AF0D2
+:101E5200A42FFFE5F03EFEE43DFD33D0E0FB50074A
+:101E62000BBB000F021FCCEC2CFCEF33FFEE33FE5A
+:061E7200ED33FD021FA488
+:101E7800021FCCEC5D046005E859047003021FC220
+:101E8800121F8D580460F6EC4860F2EC7004FDFEF9
+:101E9800FF22C860DB2481C85009C398600250063D
+:101EA800021FC99850CAF582E9294B4A7005AB82CE
+:101EB800021FB875F0007C1A7880C3EF9BEE9AED8C
+:101EC80099400DC3EF9BFFEE9AFEED99FDE842F0B5
+:101ED800DC23ACF0D0E0FFD0E0FED0E0FDAB822008
+:101EE800E7101BEB60BAEC2CFCEF33FFEE33FEED92
+:101EF80033FD021FA4E803F830E705C0F075F000D1
+:101F0800EF2FFFEE33FEED33FD40B830E7C280AA75
+:101F180075F020800E75F010800575F0087D007E44
+:101F2800007F003392D530D5031223A3EC33401041
+:101F3800EF33FFEE33FEED33FDEC33FCD5F0ED224D
+:0E1F4800E5F0247EA2D513CC92E7CDCEFF2289
+:101F5600EDD2E7CD33EC3392D524814006E4FFFE83
+:101F6600FDFC22FCE4CFCECDCC24E0501174FF80E2
+:101F7600EDC3CC13CCCD13CDCE13CECF13CF04707F
+:071F8600F030D5DE0223A3B9
+:102C2300E51524BAF582E43402F583E00515229014
+:102C330002B73054039002BAE475F0011224E6029D
+:102C43002189204DE97F2ED24D8018EF540F249017
+:102C5300D43440D4FF30510BEF24BFB41A005003D7
+:102C63002461FFE516600215160519E519700205C2
+:102C73001830540E9002B7E475F0011224E6EF0207
+:102C830021CF027F517403D2548003E4C254F5155B
+:102C93009002B71224FDE4F516F518F519E5166050
+:102CA300077F20122C6680F57517FFC24EC24DC2F6
+:102CB3004FC250C252C253C255122C32FF700D3054
+:102CC30054057F00122C77AF19AE1822B4255FC2CA
+:102CD300D5C251122C32FF24D0B40A00501A75F019
+:102CE3000A781630D50508B6FF0106C6A426F620D5
+:102CF300D5047002D25080D924CFB41A00EF500407
+:102D0300C2E5D251022F69D24E80C6D24D80C0D2C5
+:102D13004F80BCD2D580BAD25280B47F20122C66A9
+:102D2300204F077401B5160040F1122C23FF122C1B
+:102D330066022CA0D255D2538095122C23FB122C61
+:102D430023FA122C23F94A4B700679677A307BFFFA
+:102D5300204F2EE516602A7E008E82758300122195
+:102D6300A260060EEE651770F0C2D5EBC0E0EAC0B4
+:102D7300E0E9C0E0EE122FCAD0E0F9D0E0FAD0E0EB
+:102D8300FB122189FF60AAEBC0E0EAC0E0E9C0E0E2
+:102D9300122C66D0E02401F9D0E03400FAD0E0FB35
+:102DA300E5170460DCD517D98087D24F80A2122F94
+:102DB300AC60F7E517700104121FD7A917600DE582
+:102DC30017600914F517123054EF60F3EA30E70285
+:102DD300F404C3995079EAF425170430E701E404B5
+:102DE300F517800D122FAC60C1EA05172517121FC6
+:102DF300D7EA9002E6F030E701E4251704D517047B
+:102E030020520114122FCAE4C0E01230549002E69B
+:102E1300E0601320E70714F0122C4E802204F0D058
+:102E2300E014C0E07F00122C4EE5176007122C451A
+:102E33001517800B305203122C45D0E0022CA0D082
+:102E4300E00480C4122FAC609EE51704121FD790D4
+:102E530002E6EAF0E5172052026001042404122F6F
+:012E6300CAA4
+:102E640074FF04C0E0123054122C4EE517205202B5
+:102E74006003122C45D0E0B517E87F45122C58901A
+:102E840002E6E07F2B30E7047F2DF404C0E0122C2F
+:102E940066D0E075F00A84C0F0122C4FD0E0122CFA
+:102EA4004F022CA0791080027908C253C2558008C1
+:102EB400D2D5790A8004790AC2D5E517047002F5DF
+:102EC40017E4FAFDFEFF122C23FC7B08204E13129C
+:102ED4002C23FD7B10304D0A122C23FE122C23FFD1
+:102EE4007B20EC3382D592D55013C3E4304D069F3A
+:102EF400FFE49EFEE4204E039DFDE49CFCE4CBF83D
+:102F0400C24EEC700CCFCECDCCE824F8F870F38030
+:102F140017C3EF33FFEE33FEED33FDEC33FCEB333D
+:102F2400FB994002FB0FD8E9EB304E05F8D0E0C422
+:102F340048B24EC0E00AEC4D4E4F78207B0070C280
+:102F4400EAB5170040BCC0E0122FCCD0F0D0E0208E
+:102F54004E04C4C0E0C4B24EC0F0122C4FD0F0D521
+:102F6400F0EB022CA01225062D3D532EA8582D0E51
+:102F74004C2D0A422EAC4F2EB4442EB4492D23437B
+:102F84002EBA552DE7462E47452DB1473087502D93
+:102F9400122D2D162E2D392B2D1A232D372030705E
+:102FA4002A2CD24800002D31E517B4FF037517060B
+:102FB400122C23FC122C23FD122C23FE122C23FF93
+:102FC4009002DF022014790AA2D52050143052094D
+:102FD400B910020404B9080104A2D5205302500117
+:102FE40004204F68924FB516005034C0E07F203063
+:102FF40050197F30A24F72537252500F123023C2B5
+:103004004FC253C252C2557F30800F305203E9C0C1
+:10301400E0122C66305203D0E0F9D0E0B516CC3083
+:1030240052177F30B9100C122C667F583051077F2D
+:10303400788003B90803122C66304F057F2D022CCB
+:10304400667F202055F87F2B2053F322924F80CFA8
+:103054007F00B40700500B24DFF582E43402F583CB
+:10306400E0FF22286E756C6C2900D24E122C23309E
+:103074004EF8C24E781630D50108F6022CD22D50E7
+:10308400434958122C232403B405004001E4903032
+:103094008293122C57743A122C57D250751604028C
+:0230A4002EA854
+:101F8D00E9D2E7C933E833F892D5EDD2E7CD33EC9A
+:071F9D0033FC5002B2D52213
+:101FA400EC30E7100FBF000C0EBE00080DBD00049E
+:101FB4000BEB6014A2D5EB13FCED92E7FD2274FF4A
+:101FC400FCFDFEFF22E480F8A2D574FF13FC7D80A3
+:031FD400E480EFB7
+:101FD700F920E73624F950037907E4F42402FBE5F6
+:101FE70082158270021583DBF6E024FB501BE96043
+:101FF70014E4F0E582158270021583E004F0B40A58
+:0D20070008E4F0D9EE7401F00A22C2D522DF
+:10201400ED33EC3392D5FA602AB4FF33EDC2E77B9B
+:10202400FF60067A207939E4227A20794220D504A7
+:102034007A20793D224E614E002B494E46002D49AF
+:102044004E4600E47A08F0A3DAFC7B00740722C051
+:1020540083C082ECC0E0EDC0E0EEC0E0EFC0E0EA97
+:1020640075F010A4CAABF075F04DA42BFBE435F069
+:10207400FCEA2410FAEB34C5FBEC34D9FCEDC2E7DE
+:10208400FF75F056A4F42411C5F0F434C58FF0A400
+:102094002AE5F03BE43CF020E714122149D0E0FFAC
+:1020A400D0E0FED0E0FDD0E0FC121E7B8014F404EE
+:1020B400122149D0E0FFD0E0FED0E0FDD0E0FC12D8
+:1020C4001D72D082D083E0FAEDD2E7CD33EC332415
+:1020D40082FBE4C3CF33CFCE33CECD33CD33DBF36A
+:1020E4007B0775F00A846004F0A31B0AE5F0F0A3F3
+:1020F4008FF0740AA4FFACF08EF0740AA42CFEAC2A
+:10210400F050010C8DF0740AA42CFDE435F0F0A31A
+:05211400DBDE74072270
+:102119003F8000004120000042C80000447A0000CE
+:10212900461C400047C35000497424004B18968050
+:102139004CBEBC205A0E1BCA6753C21C749DC5AE47
+:10214900FB60065407601C2323122177EB54386087
+:1021590009122163122172121D72ECF8EDF9EEFADF
+:10216900EFCB22EB12217280F1543803241C902109
+:1021790019FE93FC0EEE93FD0EEE930ECE93FF2205
+:10218900BB010689828A83E0225002E722BBFE0254
+:09219900E32289828A83E4932287
+:1021A200BB010CE58229F582E5833AF583E02250F2
+:1021B20006E92582F8E622BBFE06E92582F8E2223C
+:0D21C200E58229F582E5833AF583E4932256
+:1021CF00BB010689828A83F0225002F722BBFE01EF
+:0221DF00F322E9
+:1021E100EF8DF0A4A8F0CF8CF0A428CE8DF0A42E12
+:0221F100FE22CC
+:1021F300BC000BBE0029EF8DF084FFADF022E4CCD0
+:10220300F875F008EF2FFFEE33FEEC33FCEE9DEC98
+:10221300984005FCEE9DFE0FD5F0E9E4CEFD22EDDE
+:10222300F8F5F0EE8420D21CFEADF075F008EF2F28
+:10223300FFED33FD4007985006D5F0F222C398FD19
+:052243000FD5F0EA22B6
+:10224800C5F0F8A3E028F0C5F0F8E5821582700221
+:062258001583E038F022BE
+:0D225E00EF2BFFEE3AFEED39FDEC38FC22CF
+:0E226B00C3EF9BFFEE9AFEED99FDEC98FC226E
+:10227900E88FF0A4CC8BF0A42CFCE98EF0A42CFC04
+:102289008AF0EDA42CFCEA8EF0A4CDA8F08BF0A482
+:102299002DCC3825F0FDE98FF0A42CCD35F0FCEBE1
+:1022A9008EF0A4FEA9F0EB8FF0A4CFC5F02ECD39A6
+:0F22B900FEE43CFCEAA42DCE35F0FDE43CFC2213
+:1022C80075F008758200EF2FFFEE33FECD33CDCCCD
+:1022D80033CCC58233C5829BED9AEC99E582984050
+:1022E8000CF582EE9BFEED9AFDEC99FC0FD5F0D62D
+:1022F800E4CEFBE4CDFAE4CCF9A88222B800C1B957
+:102308000059BA002DEC8BF084CFCECDFCE5F0CB94
+:10231800F97818EF2FFFEE33FEED33FDEC33FCEBCD
+:1023280033FB10D703994004EB99FB0FD8E5E4F988
+:10233800FA227818EF2FFFEE33FEED33FDEC33FC75
+:10234800C933C910D7059BE99A4007EC9BFCE99A69
+:10235800F90FD8E0E4C9FAE4CCFB2275F010EF2FAE
+:10236800FFEE33FEED33FDCC33CCC833C810D707AE
+:102378009BEC9AE899400AED9BFDEC9AFCE899F8E9
+:0E2388000FD5F0DAE4CDFBE4CCFAE4C8F9227C
+:10760200C2D5E830E70FB2D5E4C39BFBE49AFAE4B3
+:1076120099F9E498F8EC30E717B2D51276381223CC
+:1076220004E4C39BFBE49AFAE499F9E498F8800332
+:1076320012230430D50DE4C39FFFE49EFEE49DFDBA
+:04764200E49CFC22A6
+:0D239600EF4BFFEE4AFEED49FDEC48FC2246
+:0E23A300C3E49FFFE49EFEE49DFDE49CFC224B
+:1023B100EB9FF5F0EA9E42F0E99D42F0EC6480C8A3
+:0623C10064809845F02243
+:1023C700EB9FF5F0EA9E42F0E99D42F0E89C45F06C
+:0123D70022E3
+:1023D800E8600FECC313FCED13FDEE13FEEF13FFE3
+:0323E800D8F12207
+:1023EB00E86010ECA2E713FCED13FDEE13FEEF1308
+:0423FB00FFD8F022F5
+:1023FF00E8600FEFC333FFEE33FEED33FDEC33FC3C
+:03240F00D8F122DF
+:0C241200E6FC08E6FD08E6FE08E6FF22F6
+:0C241E00E0FCA3E0FDA3E0FEA3E0FF2231
+:0D242A00E6FB08E6F908E6FA08E6CBF82222
+:0C243700E0F8A3E0F9A3E0FAA3E0FB2228
+:102443007401FF3395E0FEFDFCA3A3A3E02FFFF08F
+:10245300E582158270021583E03EFEF0E582158267
+:1024630070021583E03DFDF0E5821582700215834D
+:05247300E03CFCF0223A
+:0C247800ECF608EDF608EEF608EFF62290
+:0C248400ECF0A3EDF0A3EEF0A3EFF022CB
+:10249000D083D082E493F608740193F60874029313
+:0924A000F608740393F67404734A
+:1024A900A8828583F0D083D0821224C01224C0125E
+:1024B90024C01224C0E473E493A3C583C5F0C58383
+:1024C900C8C582C8F0A3C583C5F0C583C8C582C87D
+:0124D90022E0
+:0C24DA00A42582F582E5F03583F583220D
+:1024E600F8E0FBA3A3E0F925F0F0E582158270027F
+:0724F6001583E0FA38F02223
+:0924FD00EBF0A3EAF0A3E9F022E0
+:10250600D083D082F8E4937012740193700DA3A364
+:1025160093F8740193F5828883E473740293686078
+:06252600EFA3A3A380DF78
+:10252C00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D3C
+:10253C00FDE43CFCE8A42EC8C5F03DFDE43CFCEFFA
+:0D254C00A4FFE5F028FEE43DFDE43CFC2288
+:00000001FF
diff --git a/output/MCUCore_Load.lnp b/output/MCUCore_Load.lnp
new file mode 100644
index 0000000..5f1e025
--- /dev/null
+++ b/output/MCUCore_Load.lnp
@@ -0,0 +1,36 @@
+".\output\Main.obj",
+".\output\Initial.obj",
+".\output\InterruptApp.obj",
+".\output\Led.obj",
+".\output\KeyApp.obj",
+".\output\LowPower.obj",
+".\output\UartApp.obj",
+".\output\Memory.obj",
+".\output\AFE.obj",
+".\output\Balance.obj",
+".\output\Calculate.obj",
+".\output\Calibrate.obj",
+".\output\ChargerLoad.obj",
+".\output\ExtE2PRom.obj",
+".\output\Interrupt.obj",
+".\output\KeyScan.obj",
+".\output\McuFlash.obj",
+".\output\McuLib.obj",
+".\output\MosCtrl.obj",
+".\output\PorSelfTest.obj",
+".\output\Protect.obj",
+".\output\RTC.obj",
+".\output\TWI.obj",
+".\output\Uart.obj",
+".\output\Thermistor.obj",
+".\output\TwiIO.obj",
+".\output\STARTUP.obj",
+".\output\GasGaugeInter_V4_13.obj",
+".\code_gasguage\GasGaugeV4_13.LIB",
+".\output\BootApp.obj",
+".\output\BootIAP.obj"
+TO ".\output\MCUCore_Load" REGFILE (.\output\MCUCore_Load.ORC)
+PRINT(".\output\MCUCore_Load.m51") RAMSIZE(256)
+DISABLEWARNING (16)
+CODE( 0X0000-0XFBFF , ?CO?BootIAP(0x0000) )
+XDATA( 0X0200-0X0AFE )
diff --git a/output/MCUCore_Load.m51 b/output/MCUCore_Load.m51
new file mode 100644
index 0000000..bc65522
--- /dev/null
+++ b/output/MCUCore_Load.m51
@@ -0,0 +1,6642 @@
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 1
+
+
+BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
+D:\TOOL\KEIL\C51\BIN\BL51.EXE .\output\Main.obj, .\output\Initial.obj, .\output\InterruptApp.obj, .\output\Led.obj, .\ou
+>> tput\KeyApp.obj, .\output\LowPower.obj, .\output\UartApp.obj, .\output\Memory.obj, .\output\AFE.obj, .\output\Balance
+>> .obj, .\output\Calculate.obj, .\output\Calibrate.obj, .\output\ChargerLoad.obj, .\output\ExtE2PRom.obj, .\output\Inte
+>> rrupt.obj, .\output\KeyScan.obj, .\output\McuFlash.obj, .\output\McuLib.obj, .\output\MosCtrl.obj, .\output\PorSelfTe
+>> st.obj, .\output\Protect.obj, .\output\RTC.obj, .\output\TWI.obj, .\output\Uart.obj, .\output\Thermistor.obj, .\outpu
+>> t\TwiIO.obj, .\output\STARTUP.obj, .\output\GasGaugeInter_V4_13.obj, .\code_gasguage\GasGaugeV4_13.LIB, .\output\Boot
+>> App.obj, .\output\BootIAP.obj TO .\output\MCUCore_Load REGFILE (.\output\MCUCore_Load.ORC) PRINT (.\output\MCUCore_Lo
+>> ad.m51) RAMSIZE (256) DISABLEWARNING (16) CODE (0X0000-0XFBFF, ?CO?BOOTIAP (0X0000)) XDATA (0X0200-0X0AFE)
+
+
+MEMORY MODEL: LARGE WITH FLOATING POINT ARITHMETIC
+
+
+INPUT MODULES INCLUDED:
+ .\output\Main.obj (MAIN)
+ .\output\Initial.obj (INITIAL)
+ .\output\InterruptApp.obj (INTERRUPTAPP)
+ .\output\Led.obj (LED)
+ .\output\KeyApp.obj (KEYAPP)
+ .\output\LowPower.obj (LOWPOWER)
+ .\output\UartApp.obj (UARTAPP)
+ .\output\Memory.obj (MEMORY)
+ .\output\AFE.obj (AFE)
+ .\output\Balance.obj (BALANCE)
+ .\output\Calculate.obj (CALCULATE)
+ .\output\Calibrate.obj (CALIBRATE)
+ .\output\ChargerLoad.obj (CHARGERLOAD)
+ .\output\ExtE2PRom.obj (EXTE2PROM)
+ .\output\Interrupt.obj (INTERRUPT)
+ .\output\KeyScan.obj (KEYSCAN)
+ .\output\McuFlash.obj (MCUFLASH)
+ .\output\McuLib.obj (MCULIB)
+ .\output\MosCtrl.obj (MOSCTRL)
+ .\output\PorSelfTest.obj (PORSELFTEST)
+ .\output\Protect.obj (PROTECT)
+ .\output\RTC.obj (RTC)
+ .\output\TWI.obj (TWI)
+ .\output\Uart.obj (UART)
+ .\output\Thermistor.obj (THERMISTOR)
+ .\output\TwiIO.obj (TWIIO)
+ .\output\STARTUP.obj (?C_STARTUP)
+ .\output\GasGaugeInter_V4_13.obj (GASGAUGEINTER_V4_13)
+ .\code_gasguage\GasGaugeV4_13.LIB (GASGAUGEV4_12)
+ .\output\BootApp.obj (BOOTAPP)
+ .\output\BootIAP.obj (BOOTIAP)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPADD)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPMUL)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPDIV)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FCAST)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?CASTF)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (PRINTF)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPGETOPN)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPROUND)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FPCONVERT)
+ D:\TOOL\KEIL\C51\LIB\C51FPL.LIB (?C?FTNPWR)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?CLDPTR)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?CLDOPTR)
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 2
+
+
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?CSTPTR)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?IMUL)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?UIDIV)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?IILDX)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LADD)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSUB)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LMUL)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?ULDIV)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?SLDIV)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LOR)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LNEG)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?SLCMP)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?ULCMP)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?ULSHR)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?SLSHR)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSHL)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LLDIDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LLDXDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LLDIDATA0)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LLDXDATA0)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LILDXDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSTIDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSTXDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSTKIDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LSTKXDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?OFFXADD)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?PLDIXDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?PSTXDATA)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?CCASE)
+ D:\TOOL\KEIL\C51\LIB\C51L.LIB (?C?LIMUL)
+
+
+LINK MAP OF MODULE: .\output\MCUCore_Load (MAIN)
+
+
+ TYPE BASE LENGTH RELOCATION SEGMENT NAME
+ -----------------------------------------------------
+
+ * * * * * * * D A T A M E M O R Y * * * * * * *
+ REG 0000H 0008H ABSOLUTE "REG BANK 0"
+ DATA 0008H 0007H UNIT ?DT?KEYSCAN
+ DATA 000FH 0006H UNIT ?DT?AFE
+ DATA 0015H 0005H UNIT _DATA_GROUP_
+ DATA 001AH 0004H UNIT ?DT?GASGAUGEINTER_V4_13
+ IDATA 001EH 0001H UNIT ?ID?EXTE2PROM
+ 001FH 0001H *** GAP ***
+ DATA 0020H 0007H BIT_ADDR ?BA?MEMORY
+ BIT 0027H.0 0001H.3 UNIT ?BI?EXTE2PROM
+ BIT 0028H.3 0001H.2 UNIT ?BI?UARTAPP
+ BIT 0029H.5 0001H.1 UNIT _BIT_GROUP_
+ BIT 002AH.6 0000H.6 UNIT ?BI?GASGAUGEV4_12
+ BIT 002BH.4 0000H.5 UNIT ?BI?AFE
+ BIT 002CH.1 0000H.5 UNIT ?BI?BALANCE
+ BIT 002CH.6 0000H.4 UNIT ?BI?LOWPOWER
+ BIT 002DH.2 0000H.4 UNIT ?BI?CHARGERLOAD
+ BIT 002DH.6 0000H.3 UNIT ?BI?INTERRUPTAPP
+ BIT 002EH.1 0000H.3 UNIT ?BI?MCUFLASH
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 3
+
+
+ BIT 002EH.4 0000H.2 UNIT ?BI?LED
+ BIT 002EH.6 0000H.2 UNIT ?BI?MOSCTRL
+ BIT 002FH.0 0000H.2 UNIT ?BI?PROTECT
+ BIT 002FH.2 0000H.2 UNIT ?BI?RTC
+ BIT 002FH.4 0000H.1 UNIT ?BI?CALIBRATE
+ BIT 002FH.5 0000H.1 UNIT ?BI?KEYSCAN
+ BIT 002FH.6 0000H.1 UNIT ?BI?PORSELFTEST
+ 002FH.7 0000H.1 *** GAP ***
+ IDATA 0030H 000CH UNIT ?ID?GASGAUGEV4_12
+ 003CH 0064H *** GAP ***
+ IDATA 00A0H 0060H ABSOLUTE
+
+ * * * * * * * X D A T A M E M O R Y * * * * * * *
+ XDATA 0000H 0002H ABSOLUTE
+ XDATA 0002H 0014H ABSOLUTE
+ XDATA 0016H 0004H ABSOLUTE
+ XDATA 001AH 0004H ABSOLUTE
+ XDATA 001EH 0004H ABSOLUTE
+ XDATA 0022H 0002H ABSOLUTE
+ XDATA 0024H 0002H ABSOLUTE
+ XDATA 0026H 0002H ABSOLUTE
+ XDATA 0028H 0002H ABSOLUTE
+ XDATA 002AH 0001H ABSOLUTE
+ XDATA 002BH 0001H ABSOLUTE
+ XDATA 002CH 0002H ABSOLUTE
+ XDATA 002EH 0001H ABSOLUTE
+ XDATA 002FH 0001H ABSOLUTE
+ XDATA 0030H 0002H ABSOLUTE
+ XDATA 0032H 0002H ABSOLUTE
+ XDATA 0034H 0001H ABSOLUTE
+ XDATA 0035H 000CH ABSOLUTE
+ XDATA 0041H 0004H ABSOLUTE
+ XDATA 0045H 0002H ABSOLUTE
+ XDATA 0047H 000CH ABSOLUTE
+ XDATA 0053H 000CH ABSOLUTE
+ XDATA 005FH 0002H ABSOLUTE
+ XDATA 0061H 0001H ABSOLUTE
+ XDATA 0062H 0002H ABSOLUTE
+ XDATA 0064H 0002H ABSOLUTE
+ XDATA 0066H 0001H ABSOLUTE
+ XDATA 0067H 0001H ABSOLUTE
+ XDATA 0068H 0002H ABSOLUTE
+ XDATA 006AH 0002H ABSOLUTE
+ XDATA 006CH 0001H ABSOLUTE
+ XDATA 006DH 0004H ABSOLUTE
+ XDATA 0071H 0001H ABSOLUTE
+ XDATA 0072H 0001H ABSOLUTE
+ XDATA 0073H 0001H ABSOLUTE
+ XDATA 0074H 0002H ABSOLUTE
+ XDATA 0076H 0002H ABSOLUTE
+ XDATA 0078H 0001H ABSOLUTE
+ XDATA 0079H 0001H ABSOLUTE
+ XDATA 007AH 0002H ABSOLUTE
+ XDATA 007CH 0001H ABSOLUTE
+ XDATA 007DH 0004H ABSOLUTE
+ XDATA 0081H 0001H ABSOLUTE
+ XDATA 0082H 0004H ABSOLUTE
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 4
+
+
+ XDATA 0086H 0001H ABSOLUTE
+ XDATA 0087H 0001H ABSOLUTE
+ XDATA 0088H 0001H ABSOLUTE
+ XDATA 0089H 0002H ABSOLUTE
+ XDATA 008BH 0001H ABSOLUTE
+ XDATA 008CH 0001H ABSOLUTE
+ XDATA 008DH 0001H ABSOLUTE
+ XDATA 008EH 0002H ABSOLUTE
+ XDATA 0090H 0002H ABSOLUTE
+ XDATA 0092H 0002H ABSOLUTE
+ XDATA 0094H 0002H ABSOLUTE
+ XDATA 0096H 0001H ABSOLUTE
+ XDATA 0097H 0001H ABSOLUTE
+ XDATA 0098H 0001H ABSOLUTE
+ XDATA 0099H 0002H ABSOLUTE
+ XDATA 009BH 0002H ABSOLUTE
+ XDATA 009DH 0002H ABSOLUTE
+ XDATA 009FH 0002H ABSOLUTE
+ XDATA 00A1H 0001H ABSOLUTE
+ XDATA 00A2H 0002H ABSOLUTE
+ XDATA 00A4H 0002H ABSOLUTE
+ XDATA 00A6H 0002H ABSOLUTE
+ XDATA 00A8H 0001H ABSOLUTE
+ XDATA 00A9H 0001H ABSOLUTE
+ XDATA 00AAH 0001H ABSOLUTE
+ XDATA 00ABH 0004H ABSOLUTE
+ XDATA 00AFH 0004H ABSOLUTE
+ XDATA 00B3H 0004H ABSOLUTE
+ XDATA 00B7H 0002H ABSOLUTE
+ XDATA 00B9H 0001H ABSOLUTE
+ XDATA 00BAH 0001H ABSOLUTE
+ XDATA 00BBH 0001H ABSOLUTE
+ XDATA 00BCH 0002H ABSOLUTE
+ XDATA 00BEH 0001H ABSOLUTE
+ XDATA 00BFH 0002H ABSOLUTE
+ XDATA 00C1H 0002H ABSOLUTE
+ XDATA 00C3H 0002H ABSOLUTE
+ XDATA 00C5H 0002H ABSOLUTE
+ XDATA 00C7H 0002H ABSOLUTE
+ XDATA 00C9H 0001H ABSOLUTE
+ XDATA 00CAH 0001H ABSOLUTE
+ XDATA 00CBH 0133H ABSOLUTE
+ XDATA 01FEH 0002H ABSOLUTE
+ XDATA 0200H 00B5H UNIT ?XD?AFE
+ XDATA 02B5H 006EH UNIT _XDATA_GROUP_
+ XDATA 0323H 0067H UNIT ?XD?GASGAUGEINTER_V4_13
+ XDATA 038AH 002EH UNIT ?XD?GASGAUGEV4_12
+ XDATA 03B8H 0022H UNIT ?XD?PROTECT
+ XDATA 03DAH 0015H UNIT ?XD?EXTE2PROM
+ XDATA 03EFH 000DH UNIT ?XD?UARTAPP
+ XDATA 03FCH 0003H UNIT ?XD?LED
+ XDATA 03FFH 0001H UNIT ?XD?KEYAPP
+ XDATA 0400H 0096H ABSOLUTE
+ XDATA 0496H 0008H UNIT ?XD?RTC
+ XDATA 049EH 0002H UNIT ?XD?INTERRUPTAPP
+ XDATA 04A0H 0096H ABSOLUTE
+ XDATA 0536H 0006H UNIT ?XD?BALANCE
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 5
+
+
+ XDATA 053CH 0003H UNIT ?XD?LOWPOWER
+ XDATA 053FH 0001H UNIT ?XD?PORSELFTEST
+ XDATA 0540H 0096H ABSOLUTE
+ XDATA 05D6H 0012H UNIT ?XD?CALIBRATE
+ XDATA 05E8H 0003H UNIT ?XD?_MCUPWM0SET?MCULIB
+ XDATA 05EBH 0003H UNIT ?XD?_MCUPWM1SET?MCULIB
+ XDATA 05EEH 0002H UNIT ?XD?_UART0WRITEINFO?UARTAPP
+ XDATA 05F0H 0002H UNIT ?XD?UART0RDCMDPROCESS?UARTAPP
+ XDATA 05F2H 0002H UNIT ?XD?UART0WRCMDPROCESS?UARTAPP
+ XDATA 05F4H 0002H UNIT ?XD?UART0IAPCHECKHANDSHAKE?UARTAPP
+ XDATA 05F6H 0002H UNIT ?XD?CALCULATE
+ XDATA 05F8H 0002H UNIT ?XD?CHARGERLOAD
+ XDATA 05FAH 0002H UNIT ?XD?MCUFLASH
+ XDATA 05FCH 0002H UNIT ?XD?GASGAUGEWKUP?GASGAUGEV4_12
+
+ * * * * * * * C O D E M E M O R Y * * * * * * *
+ CODE 0000H 1000H UNIT ?CO?BOOTIAP
+ CODE 1000H 0003H ABSOLUTE
+ CODE 1003H 0020H UNIT ?PR?INTERRUPTTIMER3?INTERRUPT
+ CODE 1023H 0003H ABSOLUTE
+ 1026H 0005H *** GAP ***
+ CODE 102BH 0003H ABSOLUTE
+ CODE 102EH 0024H UNIT ?PR?_INTERRUPTINT4APP?INTERRUPTAPP
+ 1052H 0001H *** GAP ***
+ CODE 1053H 0003H ABSOLUTE
+ CODE 1056H 0C24H UNIT ?PR?DATAFILTER?GASGAUGEV4_12
+ CODE 1C7AH 08DFH UNIT ?C?LIB_CODE
+ CODE 2559H 06CAH UNIT ?PR?GASGAUGEMANAGE?GASGAUGEV4_12
+ CODE 2C23H 0483H UNIT ?PR?PRINTF?PRINTF
+ CODE 30A6H 02EEH UNIT ?PR?MAIN?MAIN
+ CODE 3394H 0258H UNIT ?PR?FCCUPDATE?GASGAUGEV4_12
+ CODE 35ECH 0220H UNIT ?PR?GASGAUGEWKUP?GASGAUGEV4_12
+ CODE 380CH 01F0H UNIT ?PR?_CALCUTEMP?CALCULATE
+ CODE 39FCH 01C5H UNIT ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13
+ CODE 3BC1H 01C2H UNIT ?PR?_RTCREADTIME?RTC
+ CODE 3D83H 01B9H UNIT ?PR?_TWIREAD?TWI
+ CODE 3F3CH 01B3H UNIT ?PR?_E2PROMBKDATA?EXTE2PROM
+ CODE 40EFH 0181H UNIT ?PR?AFECALCUCURR?CALCULATE
+ CODE 4270H 016FH UNIT ?PR?_GASGAUGEINITSOC?GASGAUGEV4_12
+ CODE 43DFH 0168H UNIT ?PR?GASGAUGEINIT?GASGAUGEV4_12
+ CODE 4547H 0167H UNIT ?PR?UART0IAPCHECKHANDSHAKE?UARTAPP
+ CODE 46AEH 0150H UNIT ?PR?UART0RDCMDPROCESS?UARTAPP
+ CODE 47FEH 0147H UNIT ?PR?_TWIWRITE?TWI
+ CODE 4945H 0144H UNIT ?PR?BALTURNONCHECK?BALANCE
+ CODE 4A89H 0142H UNIT ?CO?THERMISTOR
+ CODE 4BCBH 0138H UNIT ?PR?AFECALCUVOL?CALCULATE
+ CODE 4D03H 011FH UNIT ?PR?GASGAUGEGETOCV?GASGAUGEV4_12
+ CODE 4E22H 0100H UNIT ?CO?TWI
+ CODE 4F22H 00DEH UNIT ?PR?AFECALCUTEMPE?CALCULATE
+ CODE 5000H 00D7H UNIT ?PR?CORRECTCHGDFRC?GASGAUGEV4_12
+ CODE 50D7H 00D3H UNIT ?PR?E2PROMBKCHECK?EXTE2PROM
+ CODE 51AAH 00C4H UNIT ?PR?PROTECTOV?PROTECT
+ CODE 526EH 00C1H UNIT ?PR?MCUFLASHPROCESS?MCUFLASH
+ CODE 532FH 00BDH UNIT ?PR?UART0CALICURRENT?UARTAPP
+ CODE 53ECH 00BCH UNIT ?PR?PROTECTUV?PROTECT
+ CODE 54A8H 00BCH UNIT ?PR?PROTECTOTC?PROTECT
+ CODE 5564H 00BCH UNIT ?PR?PROTECTUTC?PROTECT
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 6
+
+
+ CODE 5620H 00BCH UNIT ?PR?PROTECTOTD?PROTECT
+ CODE 56DCH 00BCH UNIT ?PR?PROTECTUTD?PROTECT
+ CODE 5798H 00BAH UNIT ?PR?BALPROCESS?BALANCE
+ CODE 5852H 00B3H UNIT ?PR?OFFSETCALCULATE?CALCULATE
+ CODE 5905H 00ACH UNIT ?PR?E2PROMBKPROCESS?EXTE2PROM
+ CODE 59B1H 00ABH UNIT ?PR?INTERRUPTUART0APPTX?UARTAPP
+ CODE 5A5CH 00ABH UNIT ?PR?_AFEWRITEREG?AFE
+ CODE 5B07H 00A7H UNIT ?PR?UART0WRCMDPROCESS?UARTAPP
+ CODE 5BAEH 00A2H UNIT ?PR?KEYSCAN?KEYSCAN
+ CODE 5C50H 00A1H UNIT ?CO?MAIN
+ CODE 5CF1H 00A1H UNIT ?PR?SYSPARAINIT?INITIAL
+ CODE 5D92H 009CH UNIT ?PR?_RTCMODIFYTIME?RTC
+ CODE 5E2EH 0097H UNIT ?PR?_INTERRUPTUART0APPRX?UARTAPP
+ CODE 5EC5H 0097H UNIT ?PR?_MCUFLASHWRITE?MCUFLASH
+ CODE 5F5CH 008EH UNIT ?PR?LOWPOWERCHECK?LOWPOWER
+ CODE 5FEAH 008DH UNIT ?PR?_RTCINITTIME?RTC
+ CODE 6077H 008CH UNIT ?PR?_MCUFLASHWRSECTOR?MCUFLASH
+ CODE 6103H 0087H UNIT ?PR?AFEINIT?AFE
+ CODE 618AH 0086H UNIT ?PR?AFEINITREG?AFE
+ CODE 6210H 0081H UNIT ?PR?_MCUPWM0SET?MCULIB
+ CODE 6291H 0081H UNIT ?PR?_MCUPWM1SET?MCULIB
+ CODE 6312H 0081H UNIT ?PR?_MCUPWM2SET?MCULIB
+ CODE 6393H 007DH UNIT ?PR?E2PROMINIT?EXTE2PROM
+ CODE 6410H 0076H UNIT ?PR?PROTECTOCRECOVER?PROTECT
+ CODE 6486H 0070H UNIT ?PR?_UART0WRITEINFO?UARTAPP
+ CODE 64F6H 006FH UNIT ?PR?UART1RDE2PROM?EXTE2PROM
+ CODE 6565H 006FH UNIT ?PR?UART2RDE2PROM?EXTE2PROM
+ CODE 65D4H 006FH UNIT ?PR?INTERRUPTINT4?INTERRUPT
+ CODE 6643H 006DH UNIT ?PR?CALIVOLTAGE?CALIBRATE
+ CODE 66B0H 006CH UNIT ?PR?E2PROMERASE?EXTE2PROM
+ CODE 671CH 006BH UNIT ?PR?_AFEREADREG?AFE
+ CODE 6787H 0069H UNIT ?PR?UART0RDE2PROM?EXTE2PROM
+ CODE 67F0H 0066H UNIT ?PR?KEYSWITCHSPEED?KEYAPP
+ CODE 6856H 0066H UNIT ?PR?RAMCHECKPROCESS?MCULIB
+ CODE 68BCH 0063H UNIT ?PR?_UART0READINFO?UARTAPP
+ CODE 691FH 0061H UNIT ?PR?AFERAMCHECK?AFE
+ CODE 6980H 0061H UNIT ?PR?UART0INIT?UART
+ CODE 69E1H 005FH UNIT ?PR?_E2PROMWRITE?EXTE2PROM
+ CODE 6A40H 005FH UNIT ?PR?_E2PROMREAD?EXTE2PROM
+ CODE 6A9FH 005FH UNIT ?PR?_MCUFLASHREAD?MCUFLASH
+ CODE 6AFEH 005DH UNIT ?PR?_GETCYCLEGAIN?GASGAUGEV4_12
+ CODE 6B5BH 005CH UNIT ?PR?LEDDISPLAY?LED
+ CODE 6BB7H 005BH UNIT ?PR?_RTCWRITE?RTC
+ CODE 6C12H 005BH UNIT ?PR?_RTCREAD?RTC
+ CODE 6C6DH 005AH UNIT ?PR?_MCUFLASHDATACHECK?MCUFLASH
+ CODE 6CC7H 0059H UNIT ?PR?PROTECTOCC?PROTECT
+ CODE 6D20H 0059H UNIT ?PR?PROTECTOCD1?PROTECT
+ CODE 6D79H 0059H UNIT ?PR?PROTECTOCD2?PROTECT
+ CODE 6DD2H 0054H UNIT ?PR?UART0CALIRTC?UARTAPP
+ CODE 6E26H 0052H UNIT ?PR?UART0CALIVOLTAGE?UARTAPP
+ CODE 6E78H 0051H UNIT ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13
+ CODE 6EC9H 004FH UNIT ?PR?CALIPROCESS?CALIBRATE
+ CODE 6F18H 004FH UNIT ?PR?PORPROTECTOTC?PORSELFTEST
+ CODE 6F67H 004FH UNIT ?PR?PORPROTECTUTC?PORSELFTEST
+ CODE 6FB6H 004FH UNIT ?PR?PORPROTECTOTD?PORSELFTEST
+ CODE 7005H 004FH UNIT ?PR?PORPROTECTUTD?PORSELFTEST
+ CODE 7054H 004EH UNIT ?PR?LOADCHECK?CHARGERLOAD
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 7
+
+
+ CODE 70A2H 004CH UNIT ?PR?INITIAL?INITIAL
+ CODE 70EEH 004CH UNIT ?PR?E2PROMBKRTC?EXTE2PROM
+ CODE 713AH 004CH UNIT ?PR?UART1RDRTC?EXTE2PROM
+ CODE 7186H 004CH UNIT ?PR?UART2RDRTC?EXTE2PROM
+ CODE 71D2H 004AH UNIT ?PR?AFEGETVOL?CALCULATE
+ CODE 721CH 004AH UNIT ?PR?MOSSTATUSCHECK?MOSCTRL
+ CODE 7266H 0049H UNIT ?PR?UART0CALITS1?UARTAPP
+ CODE 72AFH 0049H UNIT ?PR?UART0CALITS2?UARTAPP
+ CODE 72F8H 0049H UNIT ?PR?CHGERCHECK?CHARGERLOAD
+ CODE 7341H 0048H UNIT ?CO?UARTAPP
+ CODE 7389H 0048H UNIT ?PR?AFEGETTEMPE?CALCULATE
+ CODE 73D1H 0048H UNIT ?PR?_DELAY1MS?MCULIB
+ CODE 7419H 0048H UNIT ?PR?PORPROTECTOV?PORSELFTEST
+ CODE 7461H 0048H UNIT ?PR?PORPROTECTUV?PORSELFTEST
+ CODE 74A9H 0046H UNIT ?PR?UART0RDRTC?EXTE2PROM
+ CODE 74EFH 0045H UNIT ?PR?UART0WRITEMANUFACTURE?UARTAPP
+ CODE 7534H 0045H UNIT ?PR?CALITS1?CALIBRATE
+ CODE 7579H 0045H UNIT ?PR?CALITS2?CALIBRATE
+ CODE 75BEH 0044H UNIT ?PR?CALIRTCTIME?CALIBRATE
+ CODE 7602H 0044H UNIT ?C?LDIV
+ CODE 7646H 0042H UNIT ?PR?INITVAR?INITIAL
+ CODE 7688H 0041H UNIT ?PR?E2PROMBKBOOT?EXTE2PROM
+ CODE 76C9H 0040H UNIT ?PR?WAKEUPPROCESS?LOWPOWER
+ CODE 7709H 0040H UNIT ?PR?LOWPOWERPROCESS?LOWPOWER
+ CODE 7749H 003FH UNIT ?PR?_LEDGETDISNUM?LED
+ CODE 7788H 003FH UNIT ?PR?_AFEBALCTL?AFE
+ CODE 77C7H 003DH UNIT ?PR?AFERDFLG?AFE
+ CODE 7804H 003CH UNIT ?PR?AFECLRFLG?AFE
+ CODE 7840H 003BH UNIT ?PR?CALICURRENTGAIN?CALIBRATE
+ CODE 787BH 003BH UNIT ?PR?PORSELFTEST?PORSELFTEST
+ CODE 78B6H 0037H UNIT ?PR?UART0READSUBCLASSID?UARTAPP
+ CODE 78EDH 0036H UNIT ?PR?SYSTEMINTOSLEEP?LOWPOWER
+ CODE 7923H 0036H UNIT ?PR?UART0CALICUROFFSET?UARTAPP
+ CODE 7959H 0035H UNIT ?PR?CTOCHECKVOL?BALANCE
+ CODE 798EH 0035H UNIT ?PR?_MCUFLASHWRONEBYTE?MCUFLASH
+ CODE 79C3H 0035H UNIT ?PR?GASGAUGEIDLE?GASGAUGEV4_12
+ CODE 79F8H 0034H UNIT ?CO?CALCULATE
+ CODE 7A2CH 0033H UNIT ?PR?_MEMORYCOPY?MCULIB
+ CODE 7A5FH 0030H UNIT ?PR?KEYPROCESS?KEYAPP
+ CODE 7A8FH 0030H UNIT ?PR?_MCUTIMER3SET?MCULIB
+ CODE 7ABFH 002DH UNIT ?PR?MOSCTRL?MOSCTRL
+ CODE 7AECH 002CH UNIT ?PR?SYSTEMRESETPROCESS?MCULIB
+ CODE 7B18H 002BH UNIT ?PR?INITGPIO?INITIAL
+ CODE 7B43H 002AH UNIT ?PR?_MEMORYSET?MCULIB
+ CODE 7B6DH 0027H UNIT ?PR?_MCUFLASHCHECKFLG?MCUFLASH
+ CODE 7B94H 0027H UNIT ?PR?_TWICHECKSTATUS?TWI
+ CODE 7BBBH 0026H UNIT ?PR?AFEENTERPD?AFE
+ CODE 7BE1H 0026H UNIT ?PR?CTOTURNONCHECK?BALANCE
+ CODE 7C07H 0026H UNIT ?PR?_MCUFLASHBLANKCHECK?MCUFLASH
+ CODE 7C2DH 0024H UNIT ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP
+ CODE 7C51H 0022H UNIT ?PR?_MCUCLOCKSET?MCULIB
+ CODE 7C73H 0020H UNIT ?C_C51STARTUP
+ CODE 7C93H 001FH UNIT ?PR?PROTECTPROCESS?PROTECT
+ CODE 7CB2H 001FH UNIT ?PR?INTERRUPTUART0?UART
+ CODE 7CD1H 001EH UNIT ?PR?INITIRQ?INITIAL
+ CODE 7CEFH 001DH UNIT ?PR?E2PROMTWICHECK?EXTE2PROM
+ CODE 7D0CH 001DH UNIT ?PR?RTCTWICHECK?RTC
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 8
+
+
+ CODE 7D29H 001DH UNIT ?PR?ISPPROCESS?BOOTAPP
+ CODE 7D46H 001CH UNIT ?PR?_CRC8CAL?TWI
+ CODE 7D62H 001AH UNIT ?PR?AFETWICHECK?AFE
+ CODE 7D7CH 0018H UNIT ?PR?AFERDSTATUS?AFE
+ CODE 7D94H 0017H UNIT ?PR?_AFEALARMDIS?AFE
+ CODE 7DABH 0017H UNIT ?PR?TWIINIT?TWI
+ CODE 7DC2H 0015H UNIT ?PR?_AFEMOSCTL?AFE
+ CODE 7DD7H 0015H UNIT ?PR?MCUFLASHWRWAITCHECK?MCUFLASH
+ CODE 7DECH 0014H UNIT ?PR?UART0CHECK?UARTAPP
+ CODE 7E00H 0014H UNIT ?PR?AFEINFOPROCESS?CALCULATE
+ CODE 7E14H 0013H UNIT ?PR?LEDAUTOOFF?LED
+ CODE 7E27H 0013H UNIT ?PR?AFECHGERCHECKEN?AFE
+ CODE 7E3AH 0013H UNIT ?PR?AFECHGERCHECKDIS?AFE
+ CODE 7E4DH 0013H UNIT ?PR?AFELOADCHECKEN?AFE
+ CODE 7E60H 0013H UNIT ?PR?AFELOADCHECKDIS?AFE
+ CODE 7E73H 0013H UNIT ?PR?AFEWDTEN?AFE
+ CODE 7E86H 0013H UNIT ?PR?AFEWDTDIS?AFE
+ CODE 7E99H 0013H UNIT ?PR?AFEADCEN?AFE
+ CODE 7EACH 0013H UNIT ?PR?AFEADCDIS?AFE
+ CODE 7EBFH 0013H UNIT ?PR?AFECADCEN?AFE
+ CODE 7ED2H 0013H UNIT ?PR?AFECADCDIS?AFE
+ CODE 7EE5H 0013H UNIT ?PR?AFETEMPADCEN?AFE
+ CODE 7EF8H 0013H UNIT ?PR?AFETEMPADCDIS?AFE
+ CODE 7F0BH 0012H UNIT ?PR?SYSTEMINTOPD?LOWPOWER
+ CODE 7F1DH 0012H UNIT ?PR?UART0HANDSHAKE?UARTAPP
+ CODE 7F2FH 0012H UNIT ?PR?_AFEALARMEN?AFE
+ CODE 7F41H 0010H UNIT ?PR?CALICURZERO?CALIBRATE
+ CODE 7F51H 000EH UNIT ?PR?_PUTCHAR?MAIN
+ CODE 7F5FH 000CH UNIT ?PR?MCUINTOIDLE?MCULIB
+ CODE 7F6BH 000CH UNIT ?PR?MCUINTOPD?MCULIB
+ CODE 7F77H 000AH UNIT ?PR?BALANCEPROCESS?BALANCE
+ CODE 7F81H 0006H UNIT ?CO?GASGAUGEV4_12
+
+
+
+OVERLAY MAP OF MODULE: .\output\MCUCore_Load (MAIN)
+
+
+SEGMENT BIT_GROUP DATA_GROUP XDATA_GROUP
+ +--> CALLED SEGMENT START LENGTH START LENGTH START LENGTH
+------------------------------------------------------------------------------------------------------
+?PR?INTERRUPTINT4?INTERRUPT ----- ----- ----- ----- ----- -----
+ +--> ?PR?_INTERRUPTINT4APP?INTERRUPTAPP
+
+?PR?_INTERRUPTINT4APP?INTERRUPTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+
+?PR?_MCUCLOCKSET?MCULIB ----- ----- ----- ----- 02B7H 0001H
+
+*** NEW ROOT ***************************************************
+
+?PR?INTERRUPTTIMER3?INTERRUPT ----- ----- ----- ----- ----- -----
+ +--> ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP
+
+?PR?INTERRUPTTIMER3APP?INTERRUPTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?KEYSCAN?KEYSCAN
+
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 9
+
+
+*** NEW ROOT ***************************************************
+
+?PR?INTERRUPTUART0?UART ----- ----- ----- ----- 02B6H 0001H
+
+*** NEW ROOT ***************************************************
+
+?C_C51STARTUP ----- ----- ----- ----- ----- -----
+ +--> ?PR?MAIN?MAIN
+
+?PR?MAIN?MAIN ----- ----- ----- ----- ----- -----
+ +--> ?PR?INITIAL?INITIAL
+ +--> ?CO?MAIN
+ +--> ?PR?PRINTF?PRINTF
+ +--> ?PR?AFEINFOPROCESS?CALCULATE
+ +--> ?PR?BALANCEPROCESS?BALANCE
+ +--> ?PR?PROTECTPROCESS?PROTECT
+ +--> ?PR?PORSELFTEST?PORSELFTEST
+ +--> ?PR?LOADCHECK?CHARGERLOAD
+ +--> ?PR?CHGERCHECK?CHARGERLOAD
+ +--> ?PR?MOSCTRL?MOSCTRL
+ +--> ?PR?PROTECTOCRECOVER?PROTECT
+ +--> ?PR?UART0CHECK?UARTAPP
+ +--> ?PR?GASGAUGEMANAGE?GASGAUGEV4_12
+ +--> ?PR?AFERAMCHECK?AFE
+ +--> ?PR?AFETWICHECK?AFE
+ +--> ?PR?E2PROMTWICHECK?EXTE2PROM
+ +--> ?PR?RTCTWICHECK?RTC
+ +--> ?PR?RAMCHECKPROCESS?MCULIB
+ +--> ?PR?SYSPARAINIT?INITIAL
+ +--> ?PR?MCUFLASHWRWAITCHECK?MCUFLASH
+ +--> ?PR?E2PROMBKCHECK?EXTE2PROM
+ +--> ?PR?SYSTEMRESETPROCESS?MCULIB
+ +--> ?PR?ISPPROCESS?BOOTAPP
+ +--> ?PR?CALIPROCESS?CALIBRATE
+ +--> ?PR?MCUFLASHPROCESS?MCUFLASH
+ +--> ?PR?E2PROMBKPROCESS?EXTE2PROM
+
+?PR?INITIAL?INITIAL ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+ +--> ?PR?INITGPIO?INITIAL
+ +--> ?PR?SYSPARAINIT?INITIAL
+ +--> ?PR?INITVAR?INITIAL
+ +--> ?PR?_MCUTIMER3SET?MCULIB
+ +--> ?PR?UART0INIT?UART
+ +--> ?PR?TWIINIT?TWI
+ +--> ?PR?_MCUPWM2SET?MCULIB
+ +--> ?PR?AFEINITREG?AFE
+ +--> ?PR?AFEINIT?AFE
+ +--> ?PR?AFECLRFLG?AFE
+ +--> ?PR?E2PROMINIT?EXTE2PROM
+ +--> ?PR?_RTCINITTIME?RTC
+ +--> ?PR?INITIRQ?INITIAL
+
+?PR?SYSPARAINIT?INITIAL ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUFLASHCHECKFLG?MCUFLASH
+ +--> ?PR?_MCUFLASHREAD?MCUFLASH
+ +--> ?PR?_MCUFLASHWRITE?MCUFLASH
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 10
+
+
+
+?PR?_MCUFLASHCHECKFLG?MCUFLASH 0029H.5 0000H.1 ----- ----- ----- -----
+
+?PR?_MCUFLASHREAD?MCUFLASH 0029H.5 0000H.1 0015H 0002H 02B7H 0004H
+
+?PR?_MCUFLASHWRITE?MCUFLASH 0029H.7 0000H.1 ----- ----- 02B9H 0004H
+ +--> ?PR?_MCUFLASHBLANKCHECK?MCUFLASH
+ +--> ?PR?_MCUFLASHWRSECTOR?MCUFLASH
+ +--> ?PR?_MCUFLASHDATACHECK?MCUFLASH
+
+?PR?_MCUFLASHBLANKCHECK?MCUFLASH 002AH.0 0000H.1 ----- ----- ----- -----
+
+?PR?_MCUFLASHWRSECTOR?MCUFLASH 002AH.0 0000H.1 ----- ----- 02BDH 0004H
+
+?PR?_MCUFLASHDATACHECK?MCUFLASH 002AH.0 0000H.1 ----- ----- 02BDH 0004H
+
+?PR?INITVAR?INITIAL ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MEMORYSET?MCULIB
+
+?PR?_MEMORYSET?MCULIB ----- ----- ----- ----- 02C3H 0002H
+
+?PR?_MCUTIMER3SET?MCULIB ----- ----- ----- ----- 02B7H 0001H
+
+?PR?UART0INIT?UART ----- ----- ----- ----- 02B7H 0002H
+
+?PR?_MCUPWM2SET?MCULIB ----- ----- ----- ----- 02BCH 0003H
+
+?PR?AFEINIT?AFE 0029H.5 0000H.1 ----- ----- 02BAH 0004H
+ +--> ?PR?_AFEWRITEREG?AFE
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?_AFEWRITEREG?AFE 0029H.6 0000H.1 ----- ----- 02BEH 0006H
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?TWIINIT?TWI
+
+?PR?_TWIWRITE?TWI 002AH.1 0000H.1 ----- ----- 02F3H 000EH
+ +--> ?PR?_CRC8CAL?TWI
+ +--> ?PR?_TWICHECKSTATUS?TWI
+
+?PR?_CRC8CAL?TWI ----- ----- ----- ----- ----- -----
+ +--> ?CO?TWI
+
+?PR?_TWICHECKSTATUS?TWI 002AH.2 0000H.1 ----- ----- ----- -----
+
+?PR?_AFEREADREG?AFE 0029H.6 0000H.1 ----- ----- 02C1H 0005H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?TWIINIT?TWI
+
+?PR?_TWIREAD?TWI 002AH.0 0000H.1 ----- ----- 02E9H 003AH
+ +--> ?PR?_TWICHECKSTATUS?TWI
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?AFECLRFLG?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?_AFEWRITEREG?AFE
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 11
+
+
+
+?PR?E2PROMINIT?EXTE2PROM 0029H.5 0000H.1 ----- ----- 02B7H 0008H
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+
+?PR?_E2PROMREAD?EXTE2PROM 0029H.6 0000H.1 ----- ----- 02C3H 0006H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?_RTCINITTIME?RTC 0029H.5 0000H.1 ----- ----- 02B7H 000CH
+ +--> ?PR?_MEMORYSET?MCULIB
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_RTCREADTIME?RTC
+
+?PR?_MEMORYCOPY?MCULIB ----- ----- ----- ----- 02D9H 0002H
+
+?PR?_RTCREADTIME?RTC 0029H.6 0000H.1 ----- ----- 02D9H 000BH
+ +--> ?PR?_RTCREAD?RTC
+ +--> ?PR?_RTCMODIFYTIME?RTC
+
+?PR?_RTCREAD?RTC 0029H.7 0000H.1 ----- ----- 02E4H 0005H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?_RTCMODIFYTIME?RTC 0029H.7 0000H.1 ----- ----- 02E4H 000AH
+ +--> ?PR?_RTCWRITE?RTC
+
+?PR?_RTCWRITE?RTC 002AH.0 0000H.1 ----- ----- 02EEH 0005H
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?PRINTF?PRINTF 0029H.5 0001H.1 0015H 0005H 02B7H 0030H
+ +--> ?PR?_PUTCHAR?MAIN
+
+?PR?AFEINFOPROCESS?CALCULATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFERDFLG?AFE
+ +--> ?PR?AFECALCUVOL?CALCULATE
+ +--> ?PR?AFECALCUTEMPE?CALCULATE
+ +--> ?PR?AFECALCUCURR?CALCULATE
+
+?PR?AFERDFLG?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?AFEINIT?AFE
+
+?PR?AFECALCUVOL?CALCULATE ----- ----- ----- ----- 02B7H 0009H
+ +--> ?PR?AFEGETVOL?CALCULATE
+
+?PR?AFEGETVOL?CALCULATE 0029H.5 0000H.1 ----- ----- 02C0H 0001H
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?AFECALCUTEMPE?CALCULATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFEGETTEMPE?CALCULATE
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?AFEGETTEMPE?CALCULATE 0029H.5 0000H.1 ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 12
+
+
+?PR?_CALCUTEMP?CALCULATE ----- ----- ----- ----- 02B7H 0007H
+ +--> ?CO?THERMISTOR
+
+?PR?AFECALCUCURR?CALCULATE ----- ----- ----- ----- 02B7H 0005H
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?OFFSETCALCULATE?CALCULATE
+ +--> ?PR?_MCUPWM2SET?MCULIB
+
+?PR?OFFSETCALCULATE?CALCULATE ----- ----- ----- ----- 02BCH 0003H
+ +--> ?CO?CALCULATE
+
+?PR?BALANCEPROCESS?BALANCE ----- ----- ----- ----- ----- -----
+ +--> ?PR?BALTURNONCHECK?BALANCE
+ +--> ?PR?CTOTURNONCHECK?BALANCE
+ +--> ?PR?BALPROCESS?BALANCE
+
+?PR?BALPROCESS?BALANCE ----- ----- ----- ----- 02B7H 0002H
+ +--> ?PR?_AFEBALCTL?AFE
+ +--> ?PR?CTOCHECKVOL?BALANCE
+
+?PR?_AFEBALCTL?AFE ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?CTOCHECKVOL?BALANCE 0029H.5 0000H.1 ----- ----- ----- -----
+
+?PR?PROTECTPROCESS?PROTECT ----- ----- ----- ----- ----- -----
+ +--> ?PR?PROTECTOV?PROTECT
+ +--> ?PR?PROTECTUV?PROTECT
+ +--> ?PR?PROTECTOTC?PROTECT
+ +--> ?PR?PROTECTUTC?PROTECT
+ +--> ?PR?PROTECTOTD?PROTECT
+ +--> ?PR?PROTECTUTD?PROTECT
+ +--> ?PR?PROTECTOCC?PROTECT
+ +--> ?PR?PROTECTOCD1?PROTECT
+ +--> ?PR?PROTECTOCD2?PROTECT
+
+?PR?PROTECTOV?PROTECT ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?PORSELFTEST?PORSELFTEST ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECALCUVOL?CALCULATE
+ +--> ?PR?AFECALCUTEMPE?CALCULATE
+ +--> ?PR?PORPROTECTOV?PORSELFTEST
+ +--> ?PR?PORPROTECTUV?PORSELFTEST
+ +--> ?PR?PORPROTECTOTC?PORSELFTEST
+ +--> ?PR?PORPROTECTUTC?PORSELFTEST
+ +--> ?PR?PORPROTECTOTD?PORSELFTEST
+ +--> ?PR?PORPROTECTUTD?PORSELFTEST
+ +--> ?PR?GASGAUGEINIT?GASGAUGEV4_12
+
+?PR?GASGAUGEINIT?GASGAUGEV4_12 ----- ----- ----- ----- 02B7H 0002H
+ +--> ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13
+ +--> ?PR?GASGAUGEGETOCV?GASGAUGEV4_12
+ +--> ?PR?_GASGAUGEINITSOC?GASGAUGEV4_12
+ +--> ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13
+
+?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 0029H.5 0000H.1 ----- ----- ----- -----
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 13
+
+
+
+?PR?GASGAUGEGETOCV?GASGAUGEV4_12 ----- ----- ----- ----- 02B9H 0001H
+
+?PR?_GASGAUGEINITSOC?GASGAUGEV4_12 ----- ----- ----- ----- 02B9H 0002H
+
+?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 0029H.5 0000H.1 ----- ----- ----- -----
+
+?PR?LOADCHECK?CHARGERLOAD ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFELOADCHECKEN?AFE
+ +--> ?PR?AFERDSTATUS?AFE
+ +--> ?PR?AFELOADCHECKDIS?AFE
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?AFELOADCHECKEN?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFERDSTATUS?AFE ----- ----- ----- ----- 02B7H 0002H
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?AFELOADCHECKDIS?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?CHGERCHECK?CHARGERLOAD ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECHGERCHECKEN?AFE
+ +--> ?PR?AFERDSTATUS?AFE
+ +--> ?PR?AFECHGERCHECKDIS?AFE
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?AFECHGERCHECKEN?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFECHGERCHECKDIS?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?MOSCTRL?MOSCTRL ----- ----- ----- ----- ----- -----
+ +--> ?PR?MOSSTATUSCHECK?MOSCTRL
+ +--> ?PR?_AFEMOSCTL?AFE
+
+?PR?_AFEMOSCTL?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?PROTECTOCRECOVER?PROTECT ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?GASGAUGEMANAGE?GASGAUGEV4_12 ----- ----- ----- ----- ----- -----
+ +--> ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13
+ +--> ?PR?CORRECTCHGDFRC?GASGAUGEV4_12
+ +--> ?PR?FCCUPDATE?GASGAUGEV4_12
+ +--> ?PR?DATAFILTER?GASGAUGEV4_12
+ +--> ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13
+
+?PR?CORRECTCHGDFRC?GASGAUGEV4_12 ----- ----- ----- ----- 02B7H 0002H
+ +--> ?PR?GASGAUGEGETOCV?GASGAUGEV4_12
+
+?PR?FCCUPDATE?GASGAUGEV4_12 ----- ----- ----- ----- 02B7H 0004H
+ +--> ?PR?_GETCYCLEGAIN?GASGAUGEV4_12
+
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 14
+
+
+?PR?DATAFILTER?GASGAUGEV4_12 0029H.5 0000H.1 ----- ----- 02B7H 0009H
+ +--> ?CO?GASGAUGEV4_12
+
+?PR?AFERAMCHECK?AFE ----- ----- ----- ----- 02B7H 0003H
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?AFEINIT?AFE
+
+?PR?E2PROMBKCHECK?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+
+?PR?ISPPROCESS?BOOTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFEWDTDIS?AFE
+
+?PR?AFEWDTDIS?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?CALIPROCESS?CALIBRATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?CALIVOLTAGE?CALIBRATE
+ +--> ?PR?CALICURRENTGAIN?CALIBRATE
+ +--> ?PR?CALICURZERO?CALIBRATE
+ +--> ?PR?CALITS1?CALIBRATE
+ +--> ?PR?CALITS2?CALIBRATE
+ +--> ?PR?CALIRTCTIME?CALIBRATE
+
+?PR?CALIVOLTAGE?CALIBRATE ----- ----- ----- ----- 02B7H 0002H
+
+?PR?CALITS1?CALIBRATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?CALITS2?CALIBRATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?CALIRTCTIME?CALIBRATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCMODIFYTIME?RTC
+
+?PR?MCUFLASHPROCESS?MCUFLASH 0029H.5 0000H.2 ----- ----- 02B7H 0002H
+ +--> ?PR?_MCUFLASHWRITE?MCUFLASH
+ +--> ?PR?_MCUFLASHWRONEBYTE?MCUFLASH
+
+?PR?E2PROMBKPROCESS?EXTE2PROM ----- ----- ----- ----- 02B7H 0001H
+ +--> ?PR?E2PROMERASE?EXTE2PROM
+ +--> ?PR?UART0RDE2PROM?EXTE2PROM
+ +--> ?PR?UART2RDE2PROM?EXTE2PROM
+ +--> ?PR?UART0RDRTC?EXTE2PROM
+ +--> ?PR?UART1RDRTC?EXTE2PROM
+ +--> ?PR?UART2RDRTC?EXTE2PROM
+ +--> ?PR?E2PROMBKRTC?EXTE2PROM
+ +--> ?PR?_E2PROMBKDATA?EXTE2PROM
+
+?PR?E2PROMERASE?EXTE2PROM ----- ----- ----- ----- 02B8H 000AH
+ +--> ?PR?_MEMORYSET?MCULIB
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+?PR?_E2PROMWRITE?EXTE2PROM 0029H.5 0000H.1 ----- ----- 02E1H 0006H
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 15
+
+
+
+?PR?UART0RDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART2RDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0RDRTC?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART1RDRTC?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART2RDRTC?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?E2PROMBKRTC?EXTE2PROM ----- ----- ----- ----- 02B8H 000AH
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+?PR?_E2PROMBKDATA?EXTE2PROM ----- ----- ----- ----- 02B8H 0021H
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+ +--> ?PR?E2PROMBKBOOT?EXTE2PROM
+
+?PR?E2PROMBKBOOT?EXTE2PROM ----- ----- ----- ----- 02D9H 0008H
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+
+
+SYMBOL TABLE OF MODULE: .\output\MCUCore_Load (MAIN)
+
+ VALUE TYPE NAME
+ ----------------------------------
+
+ ------- MODULE MAIN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A0H.0 PUBLIC P2_0
+ B:00A0H.4 PUBLIC P2_4
+ B:0098H.1 PUBLIC TI
+ C:30A6H PUBLIC main
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 16
+
+
+ D:0099H PUBLIC SBUF
+ D:00B1H PUBLIC RSTSTAT
+ B:0098H.4 PUBLIC REN
+ C:7F51H PUBLIC _putchar
+ ------- PROC _PUTCHAR
+ D:0007H SYMBOL c
+ C:7F51H LINE# 13
+ C:7F51H LINE# 14
+ C:7F51H LINE# 15
+ C:7F53H LINE# 16
+ C:7F55H LINE# 17
+ C:7F57H LINE# 18
+ C:7F5AH LINE# 19
+ C:7F5CH LINE# 20
+ C:7F5EH LINE# 21
+ C:7F5EH LINE# 22
+ ------- ENDPROC _PUTCHAR
+ ------- PROC MAIN
+ C:30A6H LINE# 32
+ C:30A6H LINE# 33
+ C:30A6H LINE# 34
+ C:30A9H LINE# 36
+ C:30B2H LINE# 38
+ C:30B2H LINE# 39
+ C:30B2H LINE# 42
+ C:30B5H LINE# 43
+ C:30B5H LINE# 44
+ C:30B8H LINE# 46
+ C:30BAH LINE# 47
+ C:30BDH LINE# 49
+ C:30C0H LINE# 51
+ C:30C3H LINE# 53
+ C:30C6H LINE# 55
+ C:30C9H LINE# 57
+ C:30CCH LINE# 59
+ C:30CFH LINE# 61
+ C:30D2H LINE# 66
+ C:30D5H LINE# 76
+ C:30D5H LINE# 78
+ C:30DBH LINE# 79
+ C:30DBH LINE# 80
+ C:30DDH LINE# 82
+ C:30E6H LINE# 83
+ C:3133H LINE# 84
+ C:3180H LINE# 85
+ C:31CDH LINE# 86
+ C:321AH LINE# 87
+ C:3267H LINE# 88
+ C:32D8H LINE# 89
+ C:32E1H LINE# 90
+ C:331AH LINE# 92
+ C:3335H LINE# 93
+ C:3350H LINE# 95
+ C:3352H LINE# 96
+ C:3355H LINE# 98
+ C:3358H LINE# 100
+ C:335BH LINE# 101
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 17
+
+
+ C:335EH LINE# 102
+ C:3361H LINE# 104
+ C:3366H LINE# 105
+ C:3366H LINE# 106
+ C:3369H LINE# 107
+ C:3369H LINE# 109
+ C:336CH LINE# 111
+ C:336FH LINE# 116
+ C:336FH LINE# 118
+ C:3372H LINE# 120
+ C:3375H LINE# 122
+ C:3378H LINE# 124
+ C:337BH LINE# 126
+ C:337EH LINE# 130
+ C:3388H LINE# 131
+ C:3390H LINE# 133
+ ------- ENDPROC MAIN
+ ------- ENDMOD MAIN
+
+ ------- MODULE INITIAL
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:7CD1H PUBLIC InitIRQ
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00A9H PUBLIC IEN1
+ D:00E8H PUBLIC EXF0
+ D:00D8H PUBLIC EXF1
+ D:00E1H PUBLIC P0CR
+ D:00E2H PUBLIC P1CR
+ D:00E3H PUBLIC P2CR
+ D:00E4H PUBLIC P3CR
+ D:00BAH PUBLIC IENC
+ C:7646H PUBLIC InitVar
+ C:7B18H PUBLIC InitGPIO
+ B:00A8H.4 PUBLIC ES0
+ B:00A8H.5 PUBLIC ET3
+ D:0086H PUBLIC INSCON
+ B:0088H.7 PUBLIC TF3
+ C:70A2H PUBLIC Initial
+ C:5CF1H PUBLIC SysParaInit
+ D:00E9H PUBLIC P0PCR
+ D:00EAH PUBLIC P1PCR
+ D:00EBH PUBLIC P2PCR
+ D:00ECH PUBLIC P3PCR
+ ------- PROC INITVAR
+ C:7646H LINE# 18
+ C:7646H LINE# 19
+ C:7646H LINE# 20
+ C:764CH LINE# 21
+ C:7657H LINE# 22
+ C:7661H LINE# 23
+ C:766BH LINE# 24
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 18
+
+
+ C:7673H LINE# 26
+ C:7675H LINE# 27
+ C:7677H LINE# 28
+ C:767DH LINE# 29
+ C:767FH LINE# 30
+ C:7681H LINE# 32
+ C:7687H LINE# 33
+ ------- ENDPROC INITVAR
+ ------- PROC SYSPARAINIT
+ C:5CF1H LINE# 41
+ C:5CF1H LINE# 42
+ C:5CF1H LINE# 43
+ C:5CFAH LINE# 44
+ C:5CFAH LINE# 45
+ C:5D06H LINE# 46
+ C:5D0FH LINE# 47
+ C:5D0FH LINE# 48
+ C:5D17H LINE# 49
+ C:5D17H LINE# 50
+ C:5D19H LINE# 51
+ C:5D22H LINE# 52
+ C:5D22H LINE# 53
+ C:5D2FH LINE# 54
+ C:5D36H LINE# 55
+ C:5D38H LINE# 57
+ C:5D38H LINE# 58
+ C:5D3BH LINE# 60
+ C:5D3BH LINE# 62
+ C:5D45H LINE# 63
+ C:5D4FH LINE# 64
+ C:5D5BH LINE# 65
+ C:5D6AH LINE# 67
+ C:5D72H LINE# 69
+ C:5D7BH LINE# 70
+ C:5D7BH LINE# 71
+ C:5D7EH LINE# 72
+ C:5D7FH LINE# 73
+ C:5D8AH LINE# 74
+ C:5D8AH LINE# 75
+ C:5D8DH LINE# 76
+ C:5D8EH LINE# 78
+ C:5D8EH LINE# 79
+ C:5D91H LINE# 80
+ C:5D91H LINE# 81
+ ------- ENDPROC SYSPARAINIT
+ ------- PROC INITIRQ
+ C:7CD1H LINE# 89
+ C:7CD1H LINE# 90
+ C:7CD1H LINE# 91
+ C:7CD3H LINE# 93
+ C:7CD5H LINE# 102
+ C:7CDEH LINE# 103
+ C:7CE0H LINE# 105
+ C:7CE3H LINE# 106
+ C:7CE6H LINE# 107
+ C:7CE9H LINE# 108
+ C:7CECH LINE# 110
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 19
+
+
+ C:7CEEH LINE# 111
+ ------- ENDPROC INITIRQ
+ ------- PROC INITGPIO
+ C:7B18H LINE# 164
+ C:7B18H LINE# 165
+ C:7B18H LINE# 167
+ C:7B1BH LINE# 168
+ C:7B1EH LINE# 169
+ C:7B21H LINE# 171
+ C:7B24H LINE# 172
+ C:7B27H LINE# 173
+ C:7B2AH LINE# 175
+ C:7B2DH LINE# 176
+ C:7B30H LINE# 177
+ C:7B33H LINE# 179
+ C:7B36H LINE# 180
+ C:7B39H LINE# 181
+ C:7B3CH LINE# 185
+ C:7B3FH LINE# 186
+ C:7B42H LINE# 530
+ ------- ENDPROC INITGPIO
+ ------- PROC INITIAL
+ C:70A2H LINE# 538
+ C:70A2H LINE# 539
+ C:70A2H LINE# 540
+ C:70A7H LINE# 542
+ C:70AAH LINE# 546
+ C:70ADH LINE# 548
+ C:70B0H LINE# 550
+ C:70B9H LINE# 553
+ C:70BCH LINE# 564
+ C:70BFH LINE# 566
+ C:70C8H LINE# 568
+ C:70CBH LINE# 569
+ C:70D0H LINE# 570
+ C:70D0H LINE# 571
+ C:70D2H LINE# 572
+ C:70D2H LINE# 573
+ C:70D5H LINE# 575
+ C:70D8H LINE# 576
+ C:70D8H LINE# 577
+ C:70DDH LINE# 578
+ C:70DDH LINE# 579
+ C:70DFH LINE# 580
+ C:70DFH LINE# 582
+ C:70E8H LINE# 583
+ C:70E8H LINE# 584
+ C:70EAH LINE# 585
+ C:70EAH LINE# 586
+ C:70EAH LINE# 588
+ C:70EDH LINE# 589
+ ------- ENDPROC INITIAL
+ ------- ENDMOD INITIAL
+
+ ------- MODULE INTERRUPTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 20
+
+
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ X:049EH PUBLIC ucTimer1s
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:102EH PUBLIC _InterruptINT4App
+ B:002DH.6 PUBLIC bTimer5msFlg
+ X:049FH PUBLIC ucTimer50ms
+ B:002DH.7 PUBLIC bTimer1sFlg
+ C:7C2DH PUBLIC InterruptTimer3App
+ B:002EH.0 PUBLIC bTimer50msFlg
+ ------- PROC _INTERRUPTINT4APP
+ D:0007H SYMBOL IntSource
+ C:102EH LINE# 24
+ C:102EH LINE# 25
+ C:102EH LINE# 26
+ C:1032H LINE# 27
+ C:1032H LINE# 28
+ C:1038H LINE# 29
+ C:1038H LINE# 30
+ C:103DH LINE# 31
+ C:103FH LINE# 32
+ C:103FH LINE# 33
+ C:1040H LINE# 34
+ C:1044H LINE# 35
+ C:1044H LINE# 36
+ C:104AH LINE# 37
+ C:104AH LINE# 38
+ C:104FH LINE# 39
+ C:1051H LINE# 40
+ C:1051H LINE# 41
+ C:1051H LINE# 42
+ ------- ENDPROC _INTERRUPTINT4APP
+ ------- PROC INTERRUPTTIMER3APP
+ C:7C2DH LINE# 51
+ C:7C2DH LINE# 52
+ C:7C2DH LINE# 54
+ C:7C2FH LINE# 56
+ C:7C3AH LINE# 57
+ C:7C3AH LINE# 58
+ C:7C3CH LINE# 59
+ C:7C3EH LINE# 60
+ C:7C3EH LINE# 62
+ C:7C49H LINE# 63
+ C:7C49H LINE# 64
+ C:7C4BH LINE# 65
+ C:7C4DH LINE# 66
+ C:7C4DH LINE# 68
+ C:7C50H LINE# 69
+ ------- ENDPROC INTERRUPTTIMER3APP
+ ------- ENDMOD INTERRUPTAPP
+
+ ------- MODULE LED
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 21
+
+
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:7749H PUBLIC _LedGetDisNum
+ B:00A0H.1 PUBLIC P2_1
+ B:00A0H.2 PUBLIC P2_2
+ B:00A0H.3 PUBLIC P2_3
+ X:03FCH PUBLIC ucLedChgFlickCnt
+ B:00B0H.5 PUBLIC P3_5
+ X:03FDH PUBLIC ucLedBleFlickCnt
+ X:03FEH PUBLIC ucLedTimeCnt
+ B:002EH.4 PUBLIC bLedDisFlg
+ B:002EH.5 PUBLIC bLedDisBleFlg
+ C:7E14H PUBLIC LedAutoOff
+ C:6B5BH PUBLIC LedDisplay
+ ------- PROC _LEDGETDISNUM
+ D:0006H SYMBOL Rsoc
+ C:7749H LINE# 24
+ C:7749H LINE# 25
+ C:7749H LINE# 26
+ C:7752H LINE# 27
+ C:7752H LINE# 28
+ C:7755H LINE# 29
+ C:7755H LINE# 30
+ C:775EH LINE# 31
+ C:775EH LINE# 32
+ C:7761H LINE# 33
+ C:7761H LINE# 34
+ C:776AH LINE# 35
+ C:776AH LINE# 36
+ C:776DH LINE# 37
+ C:776DH LINE# 38
+ C:7776H LINE# 39
+ C:7776H LINE# 40
+ C:7779H LINE# 41
+ C:7779H LINE# 42
+ C:7782H LINE# 43
+ C:7782H LINE# 44
+ C:7785H LINE# 45
+ C:7785H LINE# 47
+ C:7785H LINE# 48
+ C:7787H LINE# 49
+ C:7787H LINE# 50
+ ------- ENDPROC _LEDGETDISNUM
+ ------- PROC LEDAUTOOFF
+ C:7E14H LINE# 59
+ C:7E14H LINE# 60
+ C:7E14H LINE# 61
+ C:7E17H LINE# 62
+ C:7E17H LINE# 63
+ C:7E22H LINE# 64
+ C:7E22H LINE# 65
+ C:7E24H LINE# 66
+ C:7E26H LINE# 67
+ C:7E26H LINE# 68
+ C:7E26H LINE# 69
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 22
+
+
+ ------- ENDPROC LEDAUTOOFF
+ ------- PROC LEDDISPLAY
+ ------- DO
+ D:0007H SYMBOL LedDisNum
+ ------- ENDDO
+ C:6B5BH LINE# 80
+ C:6B5BH LINE# 81
+ C:6B5BH LINE# 84
+ C:6B5EH LINE# 85
+ C:6B5EH LINE# 86
+ C:6B69H LINE# 87
+ C:6B69H LINE# 88
+ C:6B6BH LINE# 89
+ C:6B70H LINE# 90
+ C:6B70H LINE# 91
+ C:6B72H LINE# 93
+ C:6B72H LINE# 94
+ C:6B74H LINE# 95
+ C:6B74H LINE# 97
+ C:6B77H LINE# 98
+ C:6B77H LINE# 99
+ C:6B82H LINE# 100
+ C:6B82H LINE# 101
+ C:6B84H LINE# 103
+ C:6B84H LINE# 104
+ C:6B84H LINE# 106
+ C:6B84H LINE# 108
+ C:6B84H LINE# 110
+ C:6B87H LINE# 111
+ C:6B87H LINE# 112
+ C:6B92H LINE# 113
+ C:6B92H LINE# 114
+ C:6B92H LINE# 116
+ C:6B92H LINE# 117
+ C:6B97H LINE# 118
+ C:6B97H LINE# 120
+ C:6B97H LINE# 121
+ C:6B9BH LINE# 122
+ C:6B9BH LINE# 124
+ C:6B9DH LINE# 125
+ C:6B9FH LINE# 126
+ C:6BA3H LINE# 127
+ C:6BA3H LINE# 129
+ C:6BA5H LINE# 130
+ C:6BA7H LINE# 131
+ C:6BA9H LINE# 132
+ C:6BADH LINE# 133
+ C:6BADH LINE# 135
+ C:6BAFH LINE# 136
+ C:6BB1H LINE# 137
+ C:6BB3H LINE# 138
+ C:6BB3H LINE# 139
+ C:6BB3H LINE# 140
+ C:6BB3H LINE# 142
+ C:6BB3H LINE# 143
+ C:6BB3H LINE# 145
+ C:6BB3H LINE# 147
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 23
+
+
+ C:6BB3H LINE# 149
+ C:6BB6H LINE# 150
+ ------- ENDPROC LEDDISPLAY
+ ------- ENDMOD LED
+
+ ------- MODULE KEYAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ D:00B7H PUBLIC PWM2CON
+ C:7A5FH PUBLIC KeyProcess
+ B:0080H.3 PUBLIC P0_3
+ C:67F0H PUBLIC KeySwitchSpeed
+ X:03FFH PUBLIC ucDsgingSpeed
+ ------- PROC KEYSWITCHSPEED
+ C:67F0H LINE# 20
+ C:67F0H LINE# 21
+ C:67F0H LINE# 22
+ C:67F2H LINE# 23
+ C:67F4H LINE# 24
+ C:67F6H LINE# 25
+ C:67F9H LINE# 26
+ C:67F9H LINE# 27
+ C:67FFH LINE# 28
+ C:67FFH LINE# 29
+ C:6801H LINE# 30
+ C:6803H LINE# 31
+ C:6813H LINE# 32
+ C:6816H LINE# 33
+ C:6817H LINE# 34
+ C:681EH LINE# 35
+ C:681EH LINE# 36
+ C:6821H LINE# 37
+ C:6823H LINE# 38
+ C:6830H LINE# 39
+ C:6833H LINE# 40
+ C:6834H LINE# 42
+ C:6834H LINE# 43
+ C:6839H LINE# 44
+ C:683BH LINE# 45
+ C:684BH LINE# 46
+ C:684EH LINE# 47
+ C:684EH LINE# 48
+ C:684FH LINE# 50
+ C:684FH LINE# 51
+ C:6851H LINE# 52
+ C:6853H LINE# 53
+ C:6855H LINE# 54
+ C:6855H LINE# 55
+ ------- ENDPROC KEYSWITCHSPEED
+ ------- PROC KEYPROCESS
+ C:7A5FH LINE# 64
+ C:7A5FH LINE# 65
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 24
+
+
+ C:7A5FH LINE# 66
+ C:7A62H LINE# 67
+ C:7A62H LINE# 68
+ C:7A64H LINE# 69
+ C:7A75H LINE# 70
+ C:7A75H LINE# 71
+ C:7A75H LINE# 72
+ C:7A78H LINE# 73
+ C:7A79H LINE# 75
+ C:7A79H LINE# 76
+ C:7A7BH LINE# 77
+ C:7A80H LINE# 78
+ C:7A81H LINE# 80
+ C:7A81H LINE# 81
+ C:7A83H LINE# 82
+ C:7A84H LINE# 84
+ C:7A84H LINE# 85
+ C:7A86H LINE# 86
+ C:7A89H LINE# 87
+ C:7A89H LINE# 88
+ C:7A8BH LINE# 89
+ C:7A8CH LINE# 91
+ C:7A8CH LINE# 92
+ C:7A8EH LINE# 93
+ C:7A8EH LINE# 94
+ C:7A8EH LINE# 96
+ C:7A8EH LINE# 97
+ C:7A8EH LINE# 98
+ C:7A8EH LINE# 99
+ C:7A8EH LINE# 100
+ ------- ENDPROC KEYPROCESS
+ ------- ENDMOD KEYAPP
+
+ ------- MODULE LOWPOWER
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ X:053CH PUBLIC ucSleepTimerCnt
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ B:00C8H.6 PUBLIC ENTWI
+ D:00B7H PUBLIC PWM2CON
+ B:002CH.6 PUBLIC bPDFlg
+ B:0080H.3 PUBLIC P0_3
+ D:00D8H PUBLIC EXF1
+ B:00A0H.5 PUBLIC P2_5
+ X:053DH PUBLIC ucPDTimerCnt
+ C:78EDH PUBLIC SystemIntoSleep
+ C:5F5CH PUBLIC LowPowerCheck
+ B:002CH.7 PUBLIC bPCEnterPDFlg
+ C:7709H PUBLIC LowPowerProcess
+ C:76C9H PUBLIC WakeUpProcess
+ D:00B1H PUBLIC RSTSTAT
+ C:7F0BH PUBLIC SystemIntoPD
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 25
+
+
+ B:00A8H.4 PUBLIC ES0
+ B:00A8H.5 PUBLIC ET3
+ X:053EH PUBLIC ucResetFlag
+ B:002DH.0 PUBLIC bWakeupFlg
+ B:002DH.1 PUBLIC bSleepFlg
+ ------- PROC WAKEUPPROCESS
+ C:76C9H LINE# 26
+ C:76C9H LINE# 27
+ C:76C9H LINE# 28
+ C:76CCH LINE# 29
+ C:76CCH LINE# 30
+ C:76CEH LINE# 31
+ C:76D1H LINE# 32
+ C:76D1H LINE# 33
+ C:76D6H LINE# 34
+ C:76D8H LINE# 36
+ C:76DAH LINE# 37
+ C:76DFH LINE# 38
+ C:76E4H LINE# 41
+ C:76E6H LINE# 43
+ C:76E8H LINE# 44
+ C:76EAH LINE# 46
+ C:76EFH LINE# 47
+ C:76F2H LINE# 48
+ C:76F5H LINE# 49
+ C:76F5H LINE# 50
+ C:76FAH LINE# 51
+ C:76FCH LINE# 52
+ C:7700H LINE# 53
+ C:7704H LINE# 54
+ C:7708H LINE# 55
+ C:7708H LINE# 56
+ ------- ENDPROC WAKEUPPROCESS
+ ------- PROC SYSTEMINTOPD
+ C:7F0BH LINE# 65
+ C:7F0BH LINE# 66
+ C:7F0BH LINE# 67
+ C:7F0BH LINE# 68
+ C:7F0BH LINE# 69
+ C:7F0EH LINE# 71
+ C:7F10H LINE# 73
+ C:7F12H LINE# 74
+ C:7F17H LINE# 76
+ C:7F1AH LINE# 77
+ ------- ENDPROC SYSTEMINTOPD
+ ------- PROC SYSTEMINTOSLEEP
+ C:78EDH LINE# 87
+ C:78EDH LINE# 88
+ C:78EDH LINE# 90
+ C:78EFH LINE# 91
+ C:78F1H LINE# 93
+ C:78F4H LINE# 94
+ C:78F7H LINE# 95
+ C:78FCH LINE# 96
+ C:78FEH LINE# 97
+ C:7901H LINE# 98
+ C:7904H LINE# 99
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 26
+
+
+ C:7904H LINE# 100
+ C:7906H LINE# 101
+ C:7908H LINE# 103
+ C:7908H LINE# 104
+ C:790AH LINE# 105
+ C:790AH LINE# 106
+ C:790FH LINE# 108
+ C:7911H LINE# 110
+ C:7913H LINE# 118
+ C:7915H LINE# 119
+ C:7918H LINE# 120
+ C:791DH LINE# 121
+ C:791FH LINE# 123
+ C:7922H LINE# 124
+ ------- ENDPROC SYSTEMINTOSLEEP
+ ------- PROC LOWPOWERCHECK
+ C:5F5CH LINE# 135
+ C:5F5CH LINE# 136
+ C:5F5CH LINE# 137
+ C:5F68H LINE# 138
+ C:5F68H LINE# 139
+ C:5F6AH LINE# 140
+ C:5F6CH LINE# 141
+ C:5F6DH LINE# 142
+ C:5F70H LINE# 143
+ C:5F70H LINE# 144
+ C:5F7FH LINE# 145
+ C:5F7FH LINE# 146
+ C:5F81H LINE# 147
+ C:5F83H LINE# 148
+ C:5F83H LINE# 149
+ C:5F84H LINE# 150
+ C:5F87H LINE# 151
+ C:5F87H LINE# 152
+ C:5F8DH LINE# 153
+ C:5F8DH LINE# 154
+ C:5F90H LINE# 155
+ C:5F90H LINE# 156
+ C:5F9FH LINE# 157
+ C:5F9FH LINE# 158
+ C:5FA1H LINE# 159
+ C:5FA3H LINE# 160
+ C:5FA3H LINE# 161
+ C:5FA4H LINE# 163
+ C:5FA4H LINE# 164
+ C:5FA9H LINE# 165
+ C:5FC1H LINE# 166
+ C:5FC1H LINE# 167
+ C:5FCFH LINE# 168
+ C:5FCFH LINE# 169
+ C:5FD1H LINE# 170
+ C:5FD3H LINE# 171
+ C:5FD3H LINE# 172
+ C:5FD4H LINE# 174
+ C:5FD4H LINE# 175
+ C:5FD9H LINE# 176
+ C:5FD9H LINE# 177
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 27
+
+
+ C:5FD9H LINE# 178
+ C:5FDAH LINE# 180
+ C:5FDAH LINE# 181
+ C:5FDFH LINE# 182
+ C:5FE1H LINE# 183
+ C:5FE1H LINE# 184
+ C:5FE2H LINE# 186
+ C:5FE2H LINE# 187
+ C:5FE7H LINE# 188
+ C:5FE9H LINE# 189
+ C:5FE9H LINE# 190
+ ------- ENDPROC LOWPOWERCHECK
+ ------- PROC LOWPOWERPROCESS
+ C:7709H LINE# 199
+ C:7709H LINE# 200
+ C:7709H LINE# 201
+ C:770FH LINE# 202
+ C:770FH LINE# 203
+ C:7711H LINE# 204
+ C:7729H LINE# 205
+ C:7729H LINE# 206
+ C:772BH LINE# 207
+ C:772EH LINE# 208
+ C:772EH LINE# 209
+ C:7730H LINE# 210
+ C:7732H LINE# 211
+ C:7735H LINE# 212
+ C:7735H LINE# 213
+ C:7737H LINE# 214
+ C:773AH LINE# 215
+ C:773DH LINE# 216
+ C:773FH LINE# 217
+ C:7742H LINE# 218
+ C:7742H LINE# 219
+ C:7745H LINE# 220
+ C:7745H LINE# 222
+ C:7748H LINE# 223
+ ------- ENDPROC LOWPOWERPROCESS
+ ------- ENDMOD LOWPOWER
+
+ ------- MODULE UARTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ C:46AEH PUBLIC Uart0RdCmdProcess
+ D:0090H PUBLIC P1
+ C:78B6H PUBLIC Uart0ReadSubClassID
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ B:0028H.3 PUBLIC bUart0SndAckFlg
+ D:0080H PUBLIC P5
+ B:0028H.4 PUBLIC bUart1SndAckFlg
+ B:0028H.5 PUBLIC bUart2SndAckFlg
+ X:03EFH PUBLIC ucSubClassID
+ C:5E2EH PUBLIC _InterruptUart0AppRx
+ C:5B07H PUBLIC Uart0WrCmdProcess
+ C:59B1H PUBLIC InterruptUart0AppTx
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 28
+
+
+ X:03F0H PUBLIC ucUartErrCode
+ C:6E26H PUBLIC Uart0CaliVoltage
+ C:7266H PUBLIC Uart0CaliTS1
+ C:72AFH PUBLIC Uart0CaliTS2
+ C:7341H PUBLIC Page1WrRdFuncTable
+ C:7365H PUBLIC Page2WrRdFuncTable
+ C:7DECH PUBLIC Uart0Check
+ D:0099H PUBLIC SBUF
+ C:532FH PUBLIC Uart0CaliCurrent
+ C:6DD2H PUBLIC Uart0CaliRTC
+ X:03F1H PUBLIC ucUart0SndLength
+ X:03F2H PUBLIC ucUart1SndLength
+ X:03F3H PUBLIC ucUart2SndLength
+ D:00B1H PUBLIC RSTSTAT
+ X:03F4H PUBLIC ucUart0TimeoutCnt
+ X:03F5H PUBLIC ucUart1TimeoutCnt
+ X:03F6H PUBLIC ucUart2TimeoutCnt
+ X:0400H PUBLIC ucUart0Buf
+ X:04A0H PUBLIC ucUart1Buf
+ X:0540H PUBLIC ucUart2Buf
+ B:0028H.6 PUBLIC bUart0ReadFlg
+ B:0028H.7 PUBLIC bUart1ReadFlg
+ B:0029H.0 PUBLIC bUart2ReadFlg
+ C:4547H PUBLIC Uart0IapCheckHandshake
+ B:0029H.1 PUBLIC bUart0WriteFlg
+ C:68BCH PUBLIC _Uart0ReadInfo
+ C:7F1DH PUBLIC Uart0Handshake
+ B:0029H.2 PUBLIC bUart1WriteFlg
+ B:0029H.3 PUBLIC bUart2WriteFlg
+ C:74EFH PUBLIC Uart0WriteManufacture
+ C:7923H PUBLIC Uart0CaliCurOffset
+ B:0098H.4 PUBLIC REN
+ B:0029H.4 PUBLIC bISPFlg
+ C:6486H PUBLIC _Uart0WriteInfo
+ X:03F7H PUBLIC ucUart0BufPT
+ X:03F8H PUBLIC ucUart1BufPT
+ X:03F9H PUBLIC ucUart2BufPT
+ D:009AH PUBLIC SADDR
+ X:03FAH PUBLIC uiReceCheckSum
+ ------- PROC UART0HANDSHAKE
+ C:7F1DH LINE# 110
+ C:7F1DH LINE# 111
+ C:7F1DH LINE# 112
+ C:7F23H LINE# 113
+ C:7F23H LINE# 114
+ C:7F28H LINE# 115
+ C:7F29H LINE# 117
+ C:7F29H LINE# 118
+ C:7F2EH LINE# 119
+ C:7F2EH LINE# 120
+ ------- ENDPROC UART0HANDSHAKE
+ ------- PROC _UART0WRITEINFO
+ X:05EEH SYMBOL ptr
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:6486H LINE# 170
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 29
+
+
+ C:648EH LINE# 171
+ C:648EH LINE# 174
+ C:64AFH LINE# 175
+ C:64AFH LINE# 176
+ C:64BAH LINE# 177
+ C:64BAH LINE# 178
+ C:64BDH LINE# 179
+ C:64D6H LINE# 180
+ C:64E0H LINE# 181
+ C:64E3H LINE# 182
+ C:64E5H LINE# 183
+ C:64EAH LINE# 185
+ C:64EFH LINE# 186
+ C:64F0H LINE# 188
+ C:64F0H LINE# 189
+ C:64F5H LINE# 190
+ C:64F5H LINE# 191
+ ------- ENDPROC _UART0WRITEINFO
+ ------- PROC _UART0READINFO
+ D:0006H SYMBOL ptr
+ ------- DO
+ D:0005H SYMBOL i
+ ------- ENDDO
+ C:68BCH LINE# 263
+ C:68BCH LINE# 264
+ C:68BCH LINE# 267
+ C:68C5H LINE# 268
+ C:68C5H LINE# 269
+ C:68C7H LINE# 270
+ C:68C7H LINE# 271
+ C:68D3H LINE# 272
+ C:68D3H LINE# 273
+ C:68D6H LINE# 274
+ C:68E8H LINE# 275
+ C:68EDH LINE# 276
+ C:68F0H LINE# 277
+ C:690CH LINE# 279
+ C:691EH LINE# 280
+ ------- ENDPROC _UART0READINFO
+ ------- PROC UART0WRITEMANUFACTURE
+ C:74EFH LINE# 346
+ C:74EFH LINE# 347
+ C:74EFH LINE# 348
+ C:7510H LINE# 349
+ C:7510H LINE# 350
+ C:7518H LINE# 351
+ C:7518H LINE# 352
+ C:751EH LINE# 353
+ C:7520H LINE# 354
+ C:7524H LINE# 355
+ C:7524H LINE# 356
+ C:7526H LINE# 357
+ C:7526H LINE# 358
+ C:7528H LINE# 359
+ C:752DH LINE# 360
+ C:752EH LINE# 362
+ C:752EH LINE# 363
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 30
+
+
+ C:7533H LINE# 364
+ C:7533H LINE# 365
+ ------- ENDPROC UART0WRITEMANUFACTURE
+ ------- PROC UART0READSUBCLASSID
+ C:78B6H LINE# 437
+ C:78B6H LINE# 438
+ C:78B6H LINE# 439
+ C:78D7H LINE# 440
+ C:78D7H LINE# 441
+ C:78DFH LINE# 443
+ C:78E1H LINE# 444
+ C:78E6H LINE# 445
+ C:78E7H LINE# 447
+ C:78E7H LINE# 448
+ C:78ECH LINE# 449
+ C:78ECH LINE# 450
+ ------- ENDPROC UART0READSUBCLASSID
+ ------- PROC UART0RDCMDPROCESS
+ ------- DO
+ X:05F0H SYMBOL rdaddr
+ ------- ENDDO
+ C:46AEH LINE# 506
+ C:46AEH LINE# 507
+ C:46AEH LINE# 510
+ C:4702H LINE# 511
+ C:4702H LINE# 512
+ C:4702H LINE# 513
+ C:4702H LINE# 514
+ C:4702H LINE# 515
+ C:4702H LINE# 516
+ C:4702H LINE# 517
+ C:4702H LINE# 518
+ C:4702H LINE# 519
+ C:4702H LINE# 520
+ C:4702H LINE# 521
+ C:4702H LINE# 522
+ C:4712H LINE# 523
+ C:4713H LINE# 525
+ C:4713H LINE# 526
+ C:471AH LINE# 527
+ C:471BH LINE# 529
+ C:471BH LINE# 530
+ C:4722H LINE# 531
+ C:4723H LINE# 533
+ C:4723H LINE# 534
+ C:472AH LINE# 535
+ C:472BH LINE# 537
+ C:472BH LINE# 538
+ C:4732H LINE# 539
+ C:4733H LINE# 541
+ C:4733H LINE# 542
+ C:473AH LINE# 543
+ C:473BH LINE# 545
+ C:473BH LINE# 546
+ C:4742H LINE# 547
+ C:4743H LINE# 549
+ C:4743H LINE# 550
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 31
+
+
+ C:474AH LINE# 551
+ C:474BH LINE# 553
+ C:474BH LINE# 554
+ C:4752H LINE# 555
+ C:4753H LINE# 557
+ C:4753H LINE# 558
+ C:475AH LINE# 559
+ C:475BH LINE# 561
+ C:475BH LINE# 562
+ C:4762H LINE# 563
+ C:4763H LINE# 565
+ C:4763H LINE# 566
+ C:476AH LINE# 567
+ C:476BH LINE# 569
+ C:476BH LINE# 570
+ C:4772H LINE# 571
+ C:4773H LINE# 573
+ C:4773H LINE# 574
+ C:477AH LINE# 575
+ C:477BH LINE# 577
+ C:477BH LINE# 578
+ C:4782H LINE# 579
+ C:4783H LINE# 581
+ C:4783H LINE# 582
+ C:478CH LINE# 583
+ C:478CH LINE# 584
+ C:478EH LINE# 585
+ C:4794H LINE# 586
+ C:4795H LINE# 587
+ C:47A3H LINE# 588
+ C:47A3H LINE# 589
+ C:47A5H LINE# 590
+ C:47ABH LINE# 591
+ C:47ACH LINE# 592
+ C:47B3H LINE# 593
+ C:47B3H LINE# 594
+ C:47D1H LINE# 595
+ C:47D4H LINE# 596
+ C:47D5H LINE# 597
+ C:47DCH LINE# 598
+ C:47DCH LINE# 599
+ C:47FAH LINE# 600
+ C:47FDH LINE# 601
+ C:47FDH LINE# 602
+ C:47FDH LINE# 603
+ C:47FDH LINE# 604
+ ------- ENDPROC UART0RDCMDPROCESS
+ ------- PROC UART0CALIVOLTAGE
+ C:6E26H LINE# 830
+ C:6E26H LINE# 831
+ C:6E26H LINE# 832
+ C:6E47H LINE# 833
+ C:6E47H LINE# 834
+ C:6E5AH LINE# 836
+ C:6E5DH LINE# 837
+ C:6E5DH LINE# 838
+ C:6E62H LINE# 839
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 32
+
+
+ C:6E63H LINE# 841
+ C:6E63H LINE# 842
+ C:6E65H LINE# 843
+ C:6E6CH LINE# 844
+ C:6E71H LINE# 845
+ C:6E71H LINE# 846
+ C:6E72H LINE# 848
+ C:6E72H LINE# 849
+ C:6E77H LINE# 850
+ C:6E77H LINE# 851
+ ------- ENDPROC UART0CALIVOLTAGE
+ ------- PROC UART0CALICURRENT
+ C:532FH LINE# 923
+ C:532FH LINE# 924
+ C:532FH LINE# 925
+ C:5353H LINE# 926
+ C:5353H LINE# 930
+ C:53BBH LINE# 932
+ C:53D1H LINE# 933
+ C:53D1H LINE# 934
+ C:53D6H LINE# 935
+ C:53D7H LINE# 937
+ C:53D7H LINE# 938
+ C:53D9H LINE# 939
+ C:53E0H LINE# 940
+ C:53E5H LINE# 941
+ C:53E5H LINE# 942
+ C:53E6H LINE# 944
+ C:53E6H LINE# 945
+ C:53EBH LINE# 946
+ C:53EBH LINE# 947
+ ------- ENDPROC UART0CALICURRENT
+ ------- PROC UART0CALICUROFFSET
+ C:7923H LINE# 950
+ C:7923H LINE# 951
+ C:7923H LINE# 952
+ C:7944H LINE# 953
+ C:7944H LINE# 954
+ C:7946H LINE# 955
+ C:794DH LINE# 957
+ C:7952H LINE# 958
+ C:7953H LINE# 960
+ C:7953H LINE# 961
+ C:7958H LINE# 962
+ C:7958H LINE# 963
+ ------- ENDPROC UART0CALICUROFFSET
+ ------- PROC UART0CALITS1
+ C:7266H LINE# 1073
+ C:7266H LINE# 1074
+ C:7266H LINE# 1075
+ C:7287H LINE# 1076
+ C:7287H LINE# 1077
+ C:7289H LINE# 1078
+ C:729CH LINE# 1079
+ C:72A3H LINE# 1081
+ C:72A8H LINE# 1082
+ C:72A9H LINE# 1084
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 33
+
+
+ C:72A9H LINE# 1085
+ C:72AEH LINE# 1086
+ C:72AEH LINE# 1087
+ ------- ENDPROC UART0CALITS1
+ ------- PROC UART0CALITS2
+ C:72AFH LINE# 1090
+ C:72AFH LINE# 1091
+ C:72AFH LINE# 1092
+ C:72D0H LINE# 1093
+ C:72D0H LINE# 1094
+ C:72D2H LINE# 1095
+ C:72E5H LINE# 1096
+ C:72ECH LINE# 1098
+ C:72F1H LINE# 1099
+ C:72F2H LINE# 1101
+ C:72F2H LINE# 1102
+ C:72F7H LINE# 1103
+ C:72F7H LINE# 1104
+ ------- ENDPROC UART0CALITS2
+ ------- PROC UART0CALIRTC
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:6DD2H LINE# 1196
+ C:6DD2H LINE# 1197
+ C:6DD2H LINE# 1200
+ C:6DF3H LINE# 1201
+ C:6DF3H LINE# 1202
+ C:6DF4H LINE# 1203
+ C:6DF4H LINE# 1204
+ C:6E0CH LINE# 1205
+ C:6E11H LINE# 1206
+ C:6E13H LINE# 1207
+ C:6E1AH LINE# 1208
+ C:6E1FH LINE# 1209
+ C:6E20H LINE# 1211
+ C:6E20H LINE# 1212
+ C:6E25H LINE# 1213
+ C:6E25H LINE# 1214
+ ------- ENDPROC UART0CALIRTC
+ ------- PROC UART0WRCMDPROCESS
+ ------- DO
+ X:05F2H SYMBOL rdaddr
+ ------- ENDDO
+ C:5B07H LINE# 1280
+ C:5B07H LINE# 1281
+ C:5B07H LINE# 1283
+ C:5B33H LINE# 1284
+ C:5B33H LINE# 1285
+ C:5B33H LINE# 1286
+ C:5B36H LINE# 1287
+ C:5B37H LINE# 1288
+ C:5B37H LINE# 1289
+ C:5B3AH LINE# 1290
+ C:5B3BH LINE# 1291
+ C:5B3BH LINE# 1292
+ C:5B3EH LINE# 1293
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 34
+
+
+ C:5B3FH LINE# 1294
+ C:5B3FH LINE# 1295
+ C:5B42H LINE# 1296
+ C:5B43H LINE# 1297
+ C:5B43H LINE# 1298
+ C:5B46H LINE# 1299
+ C:5B47H LINE# 1300
+ C:5B47H LINE# 1301
+ C:5B4AH LINE# 1302
+ C:5B4BH LINE# 1303
+ C:5B4BH LINE# 1304
+ C:5B4EH LINE# 1305
+ C:5B4FH LINE# 1307
+ C:5B4FH LINE# 1308
+ C:5B52H LINE# 1309
+ C:5B53H LINE# 1310
+ C:5B53H LINE# 1311
+ C:5B71H LINE# 1312
+ C:5B74H LINE# 1313
+ C:5B75H LINE# 1314
+ C:5B75H LINE# 1315
+ C:5B93H LINE# 1316
+ C:5B96H LINE# 1317
+ C:5B97H LINE# 1319
+ C:5B97H LINE# 1320
+ C:5B9EH LINE# 1321
+ C:5B9EH LINE# 1322
+ C:5BA0H LINE# 1323
+ C:5BA2H LINE# 1324
+ C:5BA7H LINE# 1325
+ C:5BA8H LINE# 1327
+ C:5BA8H LINE# 1328
+ C:5BADH LINE# 1329
+ C:5BADH LINE# 1330
+ C:5BADH LINE# 1331
+ C:5BADH LINE# 1332
+ ------- ENDPROC UART0WRCMDPROCESS
+ ------- PROC UART0IAPCHECKHANDSHAKE
+ ------- DO
+ D:0007H SYMBOL i
+ D:0007H SYMBOL databak
+ X:05F4H SYMBOL checksum
+ ------- ENDDO
+ C:4547H LINE# 1466
+ C:4547H LINE# 1467
+ C:4547H LINE# 1469
+ C:454EH LINE# 1471
+ C:4556H LINE# 1472
+ C:4556H LINE# 1473
+ C:455EH LINE# 1474
+ C:455EH LINE# 1475
+ C:4563H LINE# 1476
+ C:4564H LINE# 1478
+ C:4564H LINE# 1479
+ C:456BH LINE# 1480
+ C:456FH LINE# 1481
+ C:456FH LINE# 1482
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 35
+
+
+ C:4570H LINE# 1484
+ C:4570H LINE# 1485
+ C:458BH LINE# 1486
+ C:458BH LINE# 1487
+ C:459EH LINE# 1488
+ C:459EH LINE# 1489
+ C:45B6H LINE# 1490
+ C:45B6H LINE# 1491
+ C:45BEH LINE# 1492
+ C:45BEH LINE# 1493
+ C:45C9H LINE# 1494
+ C:45C9H LINE# 1495
+ C:45CEH LINE# 1496
+ C:45CEH LINE# 1497
+ C:45CFH LINE# 1498
+ C:45D7H LINE# 1499
+ C:45D7H LINE# 1500
+ C:45E2H LINE# 1501
+ C:45E2H LINE# 1502
+ C:45E9H LINE# 1503
+ C:45E9H LINE# 1504
+ C:45E9H LINE# 1505
+ C:45EAH LINE# 1507
+ C:45EAH LINE# 1508
+ C:45EFH LINE# 1509
+ C:461EH LINE# 1510
+ C:461EH LINE# 1511
+ C:4625H LINE# 1512
+ C:4625H LINE# 1514
+ C:462CH LINE# 1515
+ C:462CH LINE# 1516
+ C:4630H LINE# 1517
+ C:4632H LINE# 1519
+ C:4632H LINE# 1520
+ C:4634H LINE# 1521
+ C:4639H LINE# 1522
+ C:4639H LINE# 1524
+ C:463EH LINE# 1525
+ C:4644H LINE# 1527
+ C:4649H LINE# 1528
+ C:464FH LINE# 1529
+ C:4652H LINE# 1531
+ C:466BH LINE# 1532
+ C:466BH LINE# 1533
+ C:4680H LINE# 1534
+ C:4683H LINE# 1536
+ C:4697H LINE# 1537
+ C:46A8H LINE# 1539
+ C:46ADH LINE# 1540
+ C:46ADH LINE# 1541
+ C:46ADH LINE# 1542
+ ------- ENDPROC UART0IAPCHECKHANDSHAKE
+ ------- PROC _INTERRUPTUART0APPRX
+ D:0007H SYMBOL RxData
+ C:5E2EH LINE# 1729
+ C:5E2EH LINE# 1730
+ C:5E2EH LINE# 1731
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 36
+
+
+ C:5E3DH LINE# 1732
+ C:5E43H LINE# 1733
+ C:5E49H LINE# 1734
+ C:5E49H LINE# 1735
+ C:5E4BH LINE# 1736
+ C:5E4BH LINE# 1737
+ C:5E53H LINE# 1738
+ C:5E53H LINE# 1739
+ C:5E5DH LINE# 1740
+ C:5E5DH LINE# 1741
+ C:5E61H LINE# 1742
+ C:5E61H LINE# 1743
+ C:5E63H LINE# 1744
+ C:5E65H LINE# 1745
+ C:5E67H LINE# 1747
+ C:5E67H LINE# 1748
+ C:5E69H LINE# 1749
+ C:5E6BH LINE# 1750
+ C:5E6BH LINE# 1751
+ C:5E6DH LINE# 1752
+ C:5E75H LINE# 1753
+ C:5E75H LINE# 1754
+ C:5E7AH LINE# 1755
+ C:5E7AH LINE# 1756
+ C:5E7AH LINE# 1758
+ C:5E7DH LINE# 1759
+ C:5E7DH LINE# 1760
+ C:5E85H LINE# 1761
+ C:5E85H LINE# 1762
+ C:5E88H LINE# 1763
+ C:5E88H LINE# 1764
+ C:5E8AH LINE# 1765
+ C:5E8DH LINE# 1766
+ C:5E8DH LINE# 1767
+ C:5EA6H LINE# 1768
+ C:5EA6H LINE# 1769
+ C:5EA9H LINE# 1770
+ C:5EABH LINE# 1771
+ C:5EB0H LINE# 1772
+ C:5EB0H LINE# 1773
+ C:5EB2H LINE# 1775
+ C:5EB2H LINE# 1776
+ C:5EB5H LINE# 1777
+ C:5EB5H LINE# 1778
+ C:5EB7H LINE# 1780
+ C:5EBCH LINE# 1781
+ C:5EC0H LINE# 1782
+ C:5EC4H LINE# 1783
+ ------- ENDPROC _INTERRUPTUART0APPRX
+ ------- PROC INTERRUPTUART0APPTX
+ C:59B1H LINE# 1792
+ C:59B1H LINE# 1793
+ C:59B1H LINE# 1794
+ C:59C1H LINE# 1795
+ C:59C1H LINE# 1796
+ C:59DAH LINE# 1797
+ C:59DAH LINE# 1798
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 37
+
+
+ C:59DCH LINE# 1799
+ C:59DEH LINE# 1800
+ C:59E0H LINE# 1801
+ C:59E4H LINE# 1802
+ C:59E6H LINE# 1803
+ C:59E8H LINE# 1804
+ C:59EAH LINE# 1805
+ C:59ECH LINE# 1806
+ C:59EEH LINE# 1808
+ C:59EEH LINE# 1809
+ C:59F4H LINE# 1810
+ C:5A03H LINE# 1811
+ C:5A03H LINE# 1812
+ C:5A05H LINE# 1813
+ C:5A22H LINE# 1814
+ C:5A22H LINE# 1815
+ C:5A24H LINE# 1816
+ C:5A29H LINE# 1817
+ C:5A2BH LINE# 1818
+ C:5A2FH LINE# 1819
+ C:5A31H LINE# 1820
+ C:5A33H LINE# 1821
+ C:5A35H LINE# 1822
+ C:5A37H LINE# 1823
+ C:5A39H LINE# 1825
+ C:5A39H LINE# 1826
+ C:5A3FH LINE# 1827
+ C:5A4EH LINE# 1828
+ C:5A4EH LINE# 1830
+ C:5A53H LINE# 1831
+ C:5A57H LINE# 1832
+ C:5A5BH LINE# 1833
+ ------- ENDPROC INTERRUPTUART0APPTX
+ ------- PROC UART0CHECK
+ C:7DECH LINE# 1842
+ C:7DECH LINE# 1843
+ C:7DECH LINE# 1844
+ C:7DF7H LINE# 1845
+ C:7DF7H LINE# 1846
+ C:7DF9H LINE# 1847
+ C:7DFDH LINE# 1848
+ C:7DFFH LINE# 1849
+ C:7DFFH LINE# 1850
+ ------- ENDPROC UART0CHECK
+ ------- ENDMOD UARTAPP
+
+ ------- MODULE MEMORY
+ C:0000H SYMBOL _ICE_DUMMY_
+ B:0020H.2 PUBLIC bOCRC_EN
+ X:0024H PUBLIC E2uiLearnLowTempe
+ D:0080H PUBLIC P0
+ D:0022H PUBLIC uiBatStatus
+ D:0090H PUBLIC P1
+ X:001EH PUBLIC E2ulCycleThreshold
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ B:0025H.6 PUBLIC bFastDischarge
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 38
+
+
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:0023H.0 PUBLIC bOV
+ X:002AH PUBLIC E2ucLowPowerDeley
+ B:0023H.1 PUBLIC bUV
+ X:00B3H PUBLIC E2ulCycleThresholdCount
+ B:0025H.5 PUBLIC bMidDischarge
+ B:0020H.6 PUBLIC bOCPM
+ B:0025H.2 PUBLIC bCHGING
+ X:006DH PUBLIC E2slOCCCurrent
+ X:00C5H PUBLIC E2siTS0Offset
+ X:0087H PUBLIC E2ucLoadRDelay
+ X:00C7H PUBLIC E2siTS1Offset
+ X:0071H PUBLIC E2ucOCCDelay
+ X:00ABH PUBLIC E2ulDfRC
+ B:0025H.4 PUBLIC bSlowDischarge
+ B:0021H.3 PUBLIC bLEDNum0
+ B:0021H.4 PUBLIC bLEDNum1
+ X:00BCH PUBLIC E2uiAFEOVvol
+ X:002FH PUBLIC E2ucRamCheckFlg0
+ X:006AH PUBLIC E2siChgEndCurr
+ X:0061H PUBLIC E2ucRamCheckFlg1
+ B:0025H.3 PUBLIC bDSGING
+ X:0073H PUBLIC E2ucRamCheckFlg2
+ X:008CH PUBLIC E2ucDSG1PWMRatioH
+ X:0088H PUBLIC E2ucRamCheckFlg3
+ X:0064H PUBLIC E2uiOVRvol
+ X:002CH PUBLIC E2siChgBKCur
+ X:00B9H PUBLIC E2ucDsgEndFlg
+ X:008DH PUBLIC E2ucRamCheckFlg5
+ X:0053H PUBLIC E2ucDeviceChem
+ X:0098H PUBLIC E2ucRamCheckFlg6
+ B:0022H.5 PUBLIC bAFE_SC
+ B:0025H.0 PUBLIC bCHGMOS
+ B:0020H.3 PUBLIC bBAL_EN
+ X:001AH PUBLIC E2ulFCC
+ X:00A1H PUBLIC E2ucRamCheckFlg7
+ X:008BH PUBLIC E2ucDSG1PWMRatioL
+ X:00A9H PUBLIC E2ucRamCheckFlg8
+ X:00BAH PUBLIC E2ucRamCheckFlg9
+ X:0076H PUBLIC E2uiUVRvol
+ X:0047H PUBLIC E2ucDeviceName
+ X:0090H PUBLIC E2uiTempOTCR
+ X:009BH PUBLIC E2uiTempOTDR
+ B:0021H.5 PUBLIC bTempNum
+ X:00C3H PUBLIC E2siCadcOffset
+ X:0097H PUBLIC E2ucTempRDelay
+ D:0026H PUBLIC ucAFEStatus
+ X:00AFH PUBLIC E2slDsgEndCurr
+ X:0094H PUBLIC E2uiTempUTCR
+ B:0020H.7 PUBLIC bEnEEPRomBK
+ X:00BFH PUBLIC E2uiVPackGain
+ X:00BEH PUBLIC E2ucRamCheckFlgA
+ X:00A4H PUBLIC E2uiBalanceVolDiff
+ X:009FH PUBLIC E2uiTempUTDR
+ X:00CAH PUBLIC E2ucRamCheckFlgB
+ B:0025H.1 PUBLIC bDSGMOS
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 39
+
+
+ X:01FEH PUBLIC E2uiCheckFlag
+ X:00A2H PUBLIC E2uiBalanceVol
+ B:0022H.4 PUBLIC bAFE_OV
+ X:0068H PUBLIC E2uiChgEndVol
+ X:00AAH PUBLIC E2ucSOC
+ X:0035H PUBLIC E2ucMNFName
+ B:0023H.2 PUBLIC bOCC
+ D:0020H PUBLIC uiPackConfig
+ X:0067H PUBLIC E2ucOVRDelay
+ X:002EH PUBLIC E2ucRTCBKDelay
+ X:0041H PUBLIC E2ulMNFDate
+ B:0020H.5 PUBLIC bCTO_EN
+ X:00B7H PUBLIC E2uiLastCCount
+ X:0002H PUBLIC E2uiVOC
+ X:0079H PUBLIC E2ucUVRDelay
+ X:007AH PUBLIC E2uiDsgEndVol
+ X:00C9H PUBLIC E2ucCalibrated
+ B:0026H.4 PUBLIC bAfeCHG
+ X:00C1H PUBLIC E2siCadcGain
+ B:0026H.2 PUBLIC bAfeChging
+ X:00CBH PUBLIC Reserved
+ B:0021H.0 PUBLIC bCellNum1
+ X:007DH PUBLIC E2slOCD1Current
+ B:0022H.6 PUBLIC bCTO
+ B:0022H.0 PUBLIC bOTC
+ B:0021H.1 PUBLIC bCellNum2
+ X:0082H PUBLIC E2slOCD2Current
+ B:0022H.1 PUBLIC bOTD
+ B:0021H.2 PUBLIC bCellNum3
+ X:0081H PUBLIC E2ucOCD1Delay
+ X:0086H PUBLIC E2ucOCD2Delay
+ X:00A6H PUBLIC E2siBalCurrent
+ B:0024H.2 PUBLIC bVDQ
+ B:0026H.5 PUBLIC bAfeDSG
+ B:0022H.2 PUBLIC bUTC
+ X:0062H PUBLIC E2uiOVvol
+ X:0028H PUBLIC E2siDfilterCur
+ B:0026H.3 PUBLIC bAfeDsging
+ B:0022H.3 PUBLIC bUTD
+ X:0000H PUBLIC E2uiPackConfigMap
+ X:0074H PUBLIC E2uiUVvol
+ X:0022H PUBLIC E2uiCycleCount
+ X:008EH PUBLIC E2uiTempOTC
+ X:0099H PUBLIC E2uiTempOTD
+ X:0026H PUBLIC E2Reserve
+ B:0021H.6 PUBLIC bChgerLock
+ X:0096H PUBLIC E2ucTempDelay
+ B:0026H.0 PUBLIC bAfeChger
+ X:0092H PUBLIC E2uiTempUTC
+ X:009DH PUBLIC E2uiTempUTD
+ X:0034H PUBLIC E2ucID
+ X:00BBH PUBLIC E2ucAFEProtectConfig
+ X:0032H PUBLIC E2uiHWVersion
+ X:005FH PUBLIC E2uiChemID
+ X:002BH PUBLIC E2ucChgBKDelay
+ X:0066H PUBLIC E2ucOVDelay
+ D:0024H PUBLIC uiPackStatus
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 40
+
+
+ B:0023H.3 PUBLIC bOCD1
+ B:0023H.4 PUBLIC bOCD2
+ B:0024H.0 PUBLIC bFC
+ B:0020H.4 PUBLIC bPF_EN
+ X:0072H PUBLIC E2ucOCCRDelay
+ X:0016H PUBLIC E2ulDesignCapacity
+ B:0024H.1 PUBLIC bFD
+ B:0020H.0 PUBLIC bSC_EN
+ X:0045H PUBLIC E2uiSerialNum
+ X:0030H PUBLIC E2uiSWVersion
+ X:00A8H PUBLIC E2ucBalanceDelay
+ X:0089H PUBLIC E2uiDSG1PWMFreq
+ X:0078H PUBLIC E2ucUVDelay
+ X:006CH PUBLIC E2ucChgEndDelay
+ B:0021H.7 PUBLIC bLoadLock
+ B:0026H.1 PUBLIC bAfeLoad
+ I:00A0H PUBLIC STACK
+ B:0020H.1 PUBLIC bOV_EN
+ X:007CH PUBLIC E2ucDsgEndDelay
+ ------- ENDMOD MEMORY
+
+ ------- MODULE AFE
+ C:0000H SYMBOL _ICE_DUMMY_
+ X:0200H PUBLIC uiVadcVmax
+ D:000FH PUBLIC uiCellVmin
+ D:0080H PUBLIC P0
+ D:0011H PUBLIC uiCellVmax
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:618AH PUBLIC AFEInitReg
+ X:0202H PUBLIC uiTempeMin
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:0204H PUBLIC uiTempeMax
+ B:002BH.4 PUBLIC bCADCFlg
+ C:7E99H PUBLIC AfeADCEn
+ C:7804H PUBLIC AFEClrFlg
+ C:7D7CH PUBLIC AFERdStatus
+ D:0013H PUBLIC ucCellNum
+ X:0206H PUBLIC Info
+ C:7EF8H PUBLIC AfeTempADCDis
+ X:023CH PUBLIC slCadcCurBuf
+ B:002BH.5 PUBLIC bAfeErr
+ B:002BH.6 PUBLIC bVADCFlg
+ C:77C7H PUBLIC AFERdFlg
+ C:7D94H PUBLIC _AfeAlarmDis
+ C:7E86H PUBLIC AfeWDTDis
+ B:002BH.7 PUBLIC bAfeI2CRWErrFlg
+ C:7DC2H PUBLIC _AFEMosCtl
+ C:7EE5H PUBLIC AfeTempADCEn
+ X:027CH PUBLIC ucTempeMiddle
+ C:7F2FH PUBLIC _AfeAlarmEn
+ C:7E73H PUBLIC AfeWDTEn
+ X:027DH PUBLIC slCadcCurrent
+ X:0281H PUBLIC slCadcCurAverage
+ C:7ED2H PUBLIC AfeCADCDis
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 41
+
+
+ C:7E3AH PUBLIC AFEChgerCheckDis
+ C:7788H PUBLIC _AfeBalCtl
+ X:0285H PUBLIC AFE
+ C:7EBFH PUBLIC AfeCADCEn
+ C:7E27H PUBLIC AFEChgerCheckEn
+ C:691FH PUBLIC AFERamCheck
+ C:7E60H PUBLIC AFELoadCheckDis
+ D:00C8H PUBLIC TWICON
+ X:02A3H PUBLIC REG
+ C:7BBBH PUBLIC AFEEnterPD
+ C:6103H PUBLIC AFEInit
+ C:7D62H PUBLIC AFETwiCheck
+ C:7E4DH PUBLIC AFELoadCheckEn
+ C:671CH PUBLIC _AFEReadReg
+ X:02B1H PUBLIC ucAfeI2CErrDelayCnt
+ X:02B2H PUBLIC ucCadcCnt
+ C:7EACH PUBLIC AfeADCDis
+ D:0014H PUBLIC ucCellNumOffset
+ C:5A5CH PUBLIC _AFEWriteReg
+ B:002CH.0 PUBLIC bAfeAlarmFlg
+ X:02B3H PUBLIC uiVadcVmin
+ ------- PROC AFETWICHECK
+ C:7D62H LINE# 43
+ C:7D62H LINE# 44
+ C:7D62H LINE# 45
+ C:7D65H LINE# 46
+ C:7D65H LINE# 47
+ C:7D70H LINE# 48
+ C:7D70H LINE# 49
+ C:7D72H LINE# 50
+ C:7D75H LINE# 51
+ C:7D75H LINE# 52
+ C:7D76H LINE# 54
+ C:7D76H LINE# 55
+ C:7D7BH LINE# 56
+ C:7D7BH LINE# 57
+ ------- ENDPROC AFETWICHECK
+ ------- PROC _AFEWRITEREG
+ X:02BEH SYMBOL Reg
+ X:02BFH SYMBOL Length
+ X:02C0H SYMBOL WrBuf
+ ------- DO
+ B:0029H.6 SYMBOL Result
+ X:02C2H SYMBOL Times
+ X:02C3H SYMBOL i
+ ------- ENDDO
+ C:5A5CH LINE# 67
+ C:5A6AH LINE# 68
+ C:5A6AH LINE# 69
+ C:5A6CH LINE# 70
+ C:5A6FH LINE# 73
+ C:5A75H LINE# 74
+ C:5A75H LINE# 75
+ C:5A84H LINE# 76
+ C:5A84H LINE# 77
+ C:5A91H LINE# 78
+ C:5A91H LINE# 80
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 42
+
+
+ C:5A91H LINE# 81
+ C:5AB8H LINE# 82
+ C:5AB8H LINE# 88
+ C:5ABBH LINE# 89
+ C:5ABBH LINE# 90
+ C:5ABDH LINE# 91
+ C:5ABFH LINE# 93
+ C:5ABFH LINE# 94
+ C:5AC2H LINE# 95
+ C:5AC7H LINE# 96
+ C:5ACAH LINE# 97
+ C:5ACDH LINE# 98
+ C:5ACDH LINE# 99
+ C:5ACFH LINE# 100
+ C:5AD8H LINE# 101
+ C:5AD8H LINE# 102
+ C:5ADAH LINE# 103
+ C:5ADCH LINE# 105
+ C:5ADCH LINE# 106
+ C:5AE1H LINE# 107
+ C:5AE7H LINE# 108
+ C:5AF1H LINE# 109
+ C:5AF1H LINE# 110
+ C:5AF6H LINE# 111
+ C:5AFFH LINE# 112
+ C:5AFFH LINE# 113
+ C:5B04H LINE# 115
+ C:5B06H LINE# 116
+ ------- ENDPROC _AFEWRITEREG
+ ------- PROC _AFEREADREG
+ X:02C1H SYMBOL Reg
+ X:02C2H SYMBOL Length
+ X:02C3H SYMBOL RdBuf
+ ------- DO
+ B:0029H.6 SYMBOL Result
+ X:02C5H SYMBOL Times
+ ------- ENDDO
+ C:671CH LINE# 126
+ C:672AH LINE# 127
+ C:672AH LINE# 128
+ C:672CH LINE# 129
+ C:672FH LINE# 131
+ C:6732H LINE# 132
+ C:6732H LINE# 133
+ C:673FH LINE# 134
+ C:673FH LINE# 136
+ C:6768H LINE# 140
+ C:676BH LINE# 141
+ C:676BH LINE# 142
+ C:676DH LINE# 143
+ C:676FH LINE# 145
+ C:676FH LINE# 146
+ C:6772H LINE# 147
+ C:6777H LINE# 148
+ C:677AH LINE# 149
+ C:677DH LINE# 150
+ C:677DH LINE# 151
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 43
+
+
+ C:677FH LINE# 152
+ C:677FH LINE# 153
+ C:6784H LINE# 155
+ C:6786H LINE# 156
+ ------- ENDPROC _AFEREADREG
+ ------- PROC AFECLRFLG
+ C:7804H LINE# 165
+ C:7804H LINE# 166
+ C:7804H LINE# 167
+ C:7811H LINE# 168
+ C:7811H LINE# 169
+ C:781BH LINE# 170
+ C:781BH LINE# 171
+ C:7822H LINE# 172
+ C:782DH LINE# 173
+ C:7834H LINE# 174
+ C:783FH LINE# 175
+ C:783FH LINE# 176
+ C:783FH LINE# 177
+ ------- ENDPROC AFECLRFLG
+ ------- PROC AFEINITREG
+ ------- DO
+ D:0004H SYMBOL TempVar
+ ------- ENDDO
+ C:618AH LINE# 186
+ C:618AH LINE# 187
+ C:618AH LINE# 190
+ C:618FH LINE# 191
+ C:6193H LINE# 192
+ C:6196H LINE# 193
+ C:619AH LINE# 194
+ C:619DH LINE# 195
+ C:619FH LINE# 196
+ C:61A3H LINE# 197
+ C:61A7H LINE# 198
+ C:61ABH LINE# 199
+ C:61AFH LINE# 200
+ C:61B2H LINE# 202
+ C:61B5H LINE# 203
+ C:61B5H LINE# 204
+ C:61BCH LINE# 205
+ C:61CEH LINE# 206
+ C:61CEH LINE# 207
+ C:61D1H LINE# 208
+ C:61D1H LINE# 209
+ C:61D8H LINE# 210
+ C:61EAH LINE# 211
+ C:6207H LINE# 212
+ C:620CH LINE# 213
+ C:620FH LINE# 214
+ C:620FH LINE# 215
+ ------- ENDPROC AFEINITREG
+ ------- PROC AFEINIT
+ ------- DO
+ X:02BAH SYMBOL RdBuf
+ X:02BCH SYMBOL i
+ B:0029H.5 SYMBOL Result
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 44
+
+
+ X:02BDH SYMBOL j
+ ------- ENDDO
+ C:6103H LINE# 225
+ C:6103H LINE# 226
+ C:6103H LINE# 229
+ C:6105H LINE# 230
+ C:610BH LINE# 232
+ C:6115H LINE# 233
+ C:6115H LINE# 234
+ C:6122H LINE# 235
+ C:6122H LINE# 236
+ C:6132H LINE# 237
+ C:6132H LINE# 238
+ C:613BH LINE# 240
+ C:6169H LINE# 241
+ C:6169H LINE# 242
+ C:6171H LINE# 243
+ C:6171H LINE# 244
+ C:6173H LINE# 245
+ C:6175H LINE# 246
+ C:6175H LINE# 247
+ C:6175H LINE# 248
+ C:617EH LINE# 249
+ C:617EH LINE# 251
+ C:617EH LINE# 252
+ C:6180H LINE# 253
+ C:6180H LINE# 254
+ C:6183H LINE# 255
+ C:6183H LINE# 256
+ C:6185H LINE# 257
+ C:6185H LINE# 258
+ C:6187H LINE# 259
+ C:6189H LINE# 261
+ ------- ENDPROC AFEINIT
+ ------- PROC AFERDFLG
+ C:77C7H LINE# 272
+ C:77C7H LINE# 273
+ C:77C7H LINE# 274
+ C:77D4H LINE# 275
+ C:77D4H LINE# 276
+ C:77DCH LINE# 277
+ C:77DCH LINE# 278
+ C:77DEH LINE# 279
+ C:77DEH LINE# 281
+ C:77E2H LINE# 282
+ C:77E2H LINE# 283
+ C:77E4H LINE# 284
+ C:77E4H LINE# 286
+ C:77EFH LINE# 287
+ C:77EFH LINE# 288
+ C:77F1H LINE# 289
+ C:77F3H LINE# 290
+ C:77F3H LINE# 291
+ C:77F7H LINE# 292
+ C:77F7H LINE# 293
+ C:77F9H LINE# 294
+ C:77F9H LINE# 296
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 45
+
+
+ C:7800H LINE# 297
+ C:7800H LINE# 298
+ C:7803H LINE# 299
+ C:7803H LINE# 300
+ C:7803H LINE# 301
+ ------- ENDPROC AFERDFLG
+ ------- PROC AFERDSTATUS
+ ------- DO
+ X:02B7H SYMBOL RegTemp
+ ------- ENDDO
+ C:7D7CH LINE# 310
+ C:7D7CH LINE# 311
+ C:7D7CH LINE# 313
+ C:7D89H LINE# 314
+ C:7D89H LINE# 315
+ C:7D93H LINE# 316
+ C:7D93H LINE# 317
+ ------- ENDPROC AFERDSTATUS
+ ------- PROC AFERAMCHECK
+ ------- DO
+ X:02B7H SYMBOL RdBuf
+ X:02B9H SYMBOL i
+ ------- ENDDO
+ C:691FH LINE# 326
+ C:691FH LINE# 327
+ C:691FH LINE# 331
+ C:692FH LINE# 332
+ C:692FH LINE# 333
+ C:6938H LINE# 335
+ C:6966H LINE# 336
+ C:6966H LINE# 337
+ C:696EH LINE# 338
+ C:696EH LINE# 339
+ C:6973H LINE# 340
+ C:6973H LINE# 341
+ C:6975H LINE# 342
+ C:6975H LINE# 343
+ C:6976H LINE# 344
+ C:6976H LINE# 345
+ C:6976H LINE# 346
+ C:697FH LINE# 347
+ ------- ENDPROC AFERAMCHECK
+ ------- PROC AFEENTERPD
+ C:7BBBH LINE# 356
+ C:7BBBH LINE# 357
+ C:7BBBH LINE# 358
+ C:7BC1H LINE# 359
+ C:7BCEH LINE# 360
+ C:7BCEH LINE# 361
+ C:7BD5H LINE# 362
+ C:7BE0H LINE# 363
+ C:7BE0H LINE# 364
+ ------- ENDPROC AFEENTERPD
+ ------- PROC _AFEMOSCTL
+ D:0007H SYMBOL MosStatus
+ C:7DC2H LINE# 373
+ C:7DC2H LINE# 374
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 46
+
+
+ C:7DC2H LINE# 375
+ C:7DC9H LINE# 376
+ C:7DCBH LINE# 377
+ C:7DD6H LINE# 378
+ ------- ENDPROC _AFEMOSCTL
+ ------- PROC AFECHGERCHECKEN
+ C:7E27H LINE# 388
+ C:7E27H LINE# 389
+ C:7E27H LINE# 390
+ C:7E2EH LINE# 391
+ C:7E39H LINE# 392
+ ------- ENDPROC AFECHGERCHECKEN
+ ------- PROC AFECHGERCHECKDIS
+ C:7E3AH LINE# 395
+ C:7E3AH LINE# 396
+ C:7E3AH LINE# 397
+ C:7E41H LINE# 398
+ C:7E4CH LINE# 399
+ ------- ENDPROC AFECHGERCHECKDIS
+ ------- PROC AFELOADCHECKEN
+ C:7E4DH LINE# 402
+ C:7E4DH LINE# 403
+ C:7E4DH LINE# 404
+ C:7E54H LINE# 405
+ C:7E5FH LINE# 406
+ ------- ENDPROC AFELOADCHECKEN
+ ------- PROC AFELOADCHECKDIS
+ C:7E60H LINE# 409
+ C:7E60H LINE# 410
+ C:7E60H LINE# 411
+ C:7E67H LINE# 412
+ C:7E72H LINE# 413
+ ------- ENDPROC AFELOADCHECKDIS
+ ------- PROC _AFEBALCTL
+ X:02B9H SYMBOL BalChTemp
+ C:7788H LINE# 422
+ C:7790H LINE# 423
+ C:7790H LINE# 424
+ C:77A4H LINE# 425
+ C:77B1H LINE# 426
+ C:77B1H LINE# 427
+ C:77BBH LINE# 428
+ C:77C6H LINE# 429
+ C:77C6H LINE# 430
+ ------- ENDPROC _AFEBALCTL
+ ------- PROC AFEWDTEN
+ C:7E73H LINE# 439
+ C:7E73H LINE# 440
+ C:7E73H LINE# 441
+ C:7E7AH LINE# 442
+ C:7E85H LINE# 443
+ ------- ENDPROC AFEWDTEN
+ ------- PROC AFEWDTDIS
+ C:7E86H LINE# 446
+ C:7E86H LINE# 447
+ C:7E86H LINE# 448
+ C:7E8DH LINE# 449
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 47
+
+
+ C:7E98H LINE# 450
+ ------- ENDPROC AFEWDTDIS
+ ------- PROC AFEADCEN
+ C:7E99H LINE# 459
+ C:7E99H LINE# 460
+ C:7E99H LINE# 461
+ C:7EA0H LINE# 462
+ C:7EABH LINE# 463
+ ------- ENDPROC AFEADCEN
+ ------- PROC AFEADCDIS
+ C:7EACH LINE# 466
+ C:7EACH LINE# 467
+ C:7EACH LINE# 468
+ C:7EB3H LINE# 469
+ C:7EBEH LINE# 470
+ ------- ENDPROC AFEADCDIS
+ ------- PROC AFECADCEN
+ C:7EBFH LINE# 472
+ C:7EBFH LINE# 473
+ C:7EBFH LINE# 474
+ C:7EC6H LINE# 475
+ C:7ED1H LINE# 476
+ ------- ENDPROC AFECADCEN
+ ------- PROC AFECADCDIS
+ C:7ED2H LINE# 479
+ C:7ED2H LINE# 480
+ C:7ED2H LINE# 481
+ C:7ED9H LINE# 482
+ C:7EE4H LINE# 483
+ ------- ENDPROC AFECADCDIS
+ ------- PROC AFETEMPADCEN
+ C:7EE5H LINE# 485
+ C:7EE5H LINE# 486
+ C:7EE5H LINE# 487
+ C:7EECH LINE# 488
+ C:7EF7H LINE# 489
+ ------- ENDPROC AFETEMPADCEN
+ ------- PROC AFETEMPADCDIS
+ C:7EF8H LINE# 492
+ C:7EF8H LINE# 493
+ C:7EF8H LINE# 494
+ C:7EFFH LINE# 495
+ C:7F0AH LINE# 496
+ ------- ENDPROC AFETEMPADCDIS
+ ------- PROC _AFEALARMEN
+ D:0007H SYMBOL AlarmFlg
+ C:7F2FH LINE# 505
+ C:7F2FH LINE# 506
+ C:7F2FH LINE# 507
+ C:7F35H LINE# 508
+ C:7F40H LINE# 509
+ ------- ENDPROC _AFEALARMEN
+ ------- PROC _AFEALARMDIS
+ D:0007H SYMBOL AlarmFlg
+ C:7D94H LINE# 511
+ C:7D94H LINE# 512
+ C:7D94H LINE# 513
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 48
+
+
+ C:7D9FH LINE# 514
+ C:7DAAH LINE# 515
+ ------- ENDPROC _AFEALARMDIS
+ ------- ENDMOD AFE
+
+ ------- MODULE BALANCE
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ B:002CH.1 PUBLIC bBalancingFlg
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ B:002CH.2 PUBLIC bCellOpenDecFlag
+ D:0080H PUBLIC P5
+ C:7F77H PUBLIC BalanceProcess
+ X:0536H PUBLIC ucBalanceStep
+ X:0537H PUBLIC ucCellOpenDecCnt
+ X:0538H PUBLIC ucCtoCnt
+ B:002CH.3 PUBLIC bBalanceFlg
+ C:7BE1H PUBLIC CTOTurnOnCheck
+ X:0539H PUBLIC ucBalanceTimeCnt
+ B:002CH.4 PUBLIC bBalanceOddFlg
+ X:053AH PUBLIC uiBalanceChannel
+ B:002CH.5 PUBLIC bCTOValidFlg
+ C:4945H PUBLIC BalTurnOnCheck
+ C:5798H PUBLIC BalProcess
+ C:7959H PUBLIC CTOCheckVol
+ ------- PROC BALTURNONCHECK
+ ------- DO
+ D:0005H SYMBOL i
+ ------- ENDDO
+ C:4945H LINE# 32
+ C:4945H LINE# 33
+ C:4945H LINE# 36
+ C:4951H LINE# 37
+ C:4951H LINE# 38
+ C:4957H LINE# 39
+ C:4957H LINE# 40
+ C:495EH LINE# 41
+ C:498EH LINE# 44
+ C:498EH LINE# 45
+ C:4990H LINE# 46
+ C:4995H LINE# 47
+ C:4996H LINE# 49
+ C:4996H LINE# 50
+ C:49E0H LINE# 51
+ C:49E0H LINE# 52
+ C:49E3H LINE# 53
+ C:49E3H LINE# 54
+ C:49E9H LINE# 55
+ C:49E9H LINE# 56
+ C:4A05H LINE# 57
+ C:4A05H LINE# 58
+ C:4A1BH LINE# 59
+ C:4A1BH LINE# 60
+ C:4A60H LINE# 61
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 49
+
+
+ C:4A60H LINE# 62
+ C:4A7BH LINE# 63
+ C:4A7BH LINE# 64
+ C:4A7EH LINE# 65
+ C:4A80H LINE# 66
+ C:4A80H LINE# 67
+ C:4A81H LINE# 69
+ C:4A81H LINE# 70
+ C:4A83H LINE# 71
+ C:4A88H LINE# 72
+ C:4A88H LINE# 73
+ C:4A88H LINE# 74
+ C:4A88H LINE# 75
+ C:4A88H LINE# 76
+ ------- ENDPROC BALTURNONCHECK
+ ------- PROC CTOCHECKVOL
+ ------- DO
+ B:0029H.5 SYMBOL bResult
+ ------- ENDDO
+ C:7959H LINE# 87
+ C:7959H LINE# 88
+ C:7959H LINE# 89
+ C:795BH LINE# 91
+ C:795EH LINE# 92
+ C:795EH LINE# 93
+ C:7961H LINE# 94
+ C:7961H LINE# 95
+ C:7964H LINE# 96
+ C:7964H LINE# 97
+ C:7973H LINE# 98
+ C:7973H LINE# 99
+ C:7975H LINE# 100
+ C:7980H LINE# 101
+ C:7980H LINE# 102
+ C:7982H LINE# 103
+ C:7982H LINE# 104
+ C:7984H LINE# 106
+ C:7984H LINE# 107
+ C:7986H LINE# 108
+ C:798BH LINE# 109
+ C:798BH LINE# 110
+ C:798BH LINE# 111
+ C:798BH LINE# 128
+ C:798BH LINE# 130
+ C:798DH LINE# 131
+ ------- ENDPROC CTOCHECKVOL
+ ------- PROC BALPROCESS
+ ------- DO
+ X:02B7H SYMBOL BalChTemp
+ ------- ENDDO
+ C:5798H LINE# 144
+ C:5798H LINE# 145
+ C:5798H LINE# 150
+ C:57B6H LINE# 151
+ C:57B6H LINE# 152
+ C:57B8H LINE# 153
+ C:57B8H LINE# 155
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 50
+
+
+ C:57D0H LINE# 156
+ C:57D0H LINE# 157
+ C:57D0H LINE# 158
+ C:57D6H LINE# 159
+ C:57D6H LINE# 160
+ C:57D9H LINE# 161
+ C:57D9H LINE# 162
+ C:57ECH LINE# 163
+ C:57EEH LINE# 165
+ C:57EEH LINE# 166
+ C:5801H LINE# 167
+ C:5801H LINE# 168
+ C:580CH LINE# 169
+ C:5812H LINE# 170
+ C:5814H LINE# 171
+ C:5814H LINE# 172
+ C:5815H LINE# 174
+ C:5815H LINE# 175
+ C:581BH LINE# 176
+ C:581CH LINE# 178
+ C:581CH LINE# 179
+ C:5821H LINE# 180
+ C:5821H LINE# 181
+ C:5827H LINE# 182
+ C:582DH LINE# 183
+ C:582FH LINE# 184
+ C:582FH LINE# 185
+ C:5830H LINE# 187
+ C:5830H LINE# 188
+ C:5835H LINE# 189
+ C:5835H LINE# 190
+ C:583BH LINE# 191
+ C:583CH LINE# 193
+ C:583CH LINE# 194
+ C:5842H LINE# 195
+ C:5844H LINE# 196
+ C:5844H LINE# 197
+ C:5845H LINE# 199
+ C:5845H LINE# 200
+ C:584BH LINE# 201
+ C:584DH LINE# 202
+ C:584FH LINE# 203
+ C:5851H LINE# 204
+ C:5851H LINE# 205
+ C:5851H LINE# 206
+ ------- ENDPROC BALPROCESS
+ ------- PROC CTOTURNONCHECK
+ C:7BE1H LINE# 215
+ C:7BE1H LINE# 216
+ C:7BE1H LINE# 220
+ C:7BE7H LINE# 222
+ C:7BE7H LINE# 223
+ C:7BF2H LINE# 224
+ C:7BF2H LINE# 225
+ C:7BF5H LINE# 226
+ C:7BF8H LINE# 227
+ C:7BF8H LINE# 228
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 51
+
+
+ C:7BFAH LINE# 229
+ C:7BFCH LINE# 230
+ C:7C06H LINE# 231
+ C:7C06H LINE# 232
+ C:7C06H LINE# 233
+ C:7C06H LINE# 234
+ ------- ENDPROC CTOTURNONCHECK
+ ------- PROC BALANCEPROCESS
+ C:7F77H LINE# 242
+ C:7F77H LINE# 243
+ C:7F77H LINE# 244
+ C:7F7AH LINE# 246
+ C:7F7DH LINE# 248
+ C:7F80H LINE# 249
+ ------- ENDPROC BALANCEPROCESS
+ ------- ENDMOD BALANCE
+
+ ------- MODULE CALCULATE
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:5852H PUBLIC OffsetCalculate
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:380CH PUBLIC _CalcuTemp
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:79F8H PUBLIC siCurTempOffset
+ C:40EFH PUBLIC AfeCalcuCurr
+ C:4BCBH PUBLIC AfeCalcuVol
+ C:7389H PUBLIC AfeGetTempe
+ X:05F6H PUBLIC ucChgingCheckCnt
+ C:7E00H PUBLIC AFEInfoProcess
+ X:05F7H PUBLIC ucDsgingCheckCnt
+ B:00A8H.4 PUBLIC ES0
+ C:71D2H PUBLIC AfeGetVol
+ C:4F22H PUBLIC AfeCalcuTempe
+ ------- PROC _CALCUTEMP
+ D:0082H SYMBOL getdata
+ ------- DO
+ X:02B7H SYMBOL i
+ X:02B8H SYMBOL Temperature
+ X:02BAH SYMBOL Tempcalcu
+ ------- ENDDO
+ C:380CH LINE# 22
+ C:3810H LINE# 23
+ C:3810H LINE# 31
+ C:383EH LINE# 32
+ C:3850H LINE# 33
+ C:3850H LINE# 34
+ C:386DH LINE# 35
+ C:386DH LINE# 38
+ C:3886H LINE# 39
+ C:3886H LINE# 40
+ C:3890H LINE# 41
+ C:3893H LINE# 42
+ C:38ACH LINE# 43
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 52
+
+
+ C:38ACH LINE# 44
+ C:38B6H LINE# 45
+ C:38B9H LINE# 47
+ C:38B9H LINE# 48
+ C:38C1H LINE# 49
+ C:38E0H LINE# 50
+ C:38E0H LINE# 51
+ C:38F3H LINE# 52
+ C:38F3H LINE# 53
+ C:3913H LINE# 54
+ C:3913H LINE# 55
+ C:3913H LINE# 56
+ C:3913H LINE# 57
+ C:391BH LINE# 58
+ C:391BH LINE# 60
+ C:391BH LINE# 61
+ C:392EH LINE# 62
+ C:392EH LINE# 63
+ C:394EH LINE# 64
+ C:394EH LINE# 65
+ C:394EH LINE# 66
+ C:394EH LINE# 67
+ C:3956H LINE# 68
+ C:395CH LINE# 69
+ C:395CH LINE# 70
+ C:3964H LINE# 72
+ C:39F3H LINE# 73
+ C:39F3H LINE# 74
+ C:39FBH LINE# 75
+ ------- ENDPROC _CALCUTEMP
+ ------- PROC AFEGETVOL
+ ------- DO
+ X:02C0H SYMBOL i
+ B:0029H.5 SYMBOL Result
+ ------- ENDDO
+ C:71D2H LINE# 84
+ C:71D2H LINE# 85
+ C:71D2H LINE# 87
+ C:71D4H LINE# 89
+ C:71F1H LINE# 90
+ C:71F1H LINE# 91
+ C:720CH LINE# 92
+ C:720CH LINE# 93
+ C:720EH LINE# 94
+ C:7211H LINE# 95
+ C:7211H LINE# 96
+ C:7219H LINE# 98
+ C:721BH LINE# 99
+ ------- ENDPROC AFEGETVOL
+ ------- PROC AFEGETTEMPE
+ ------- DO
+ B:0029H.5 SYMBOL Result
+ ------- ENDDO
+ C:7389H LINE# 101
+ C:7389H LINE# 102
+ C:7389H LINE# 103
+ C:738BH LINE# 105
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 53
+
+
+ C:7398H LINE# 106
+ C:7398H LINE# 107
+ C:739AH LINE# 108
+ C:739AH LINE# 109
+ C:73A7H LINE# 110
+ C:73A7H LINE# 111
+ C:73A9H LINE# 112
+ C:73A9H LINE# 114
+ C:73B6H LINE# 115
+ C:73B6H LINE# 116
+ C:73B8H LINE# 117
+ C:73B8H LINE# 118
+ C:73BFH LINE# 119
+ C:73BFH LINE# 120
+ C:73CCH LINE# 121
+ C:73CCH LINE# 122
+ C:73CEH LINE# 123
+ C:73CEH LINE# 124
+ C:73CEH LINE# 126
+ C:73D0H LINE# 127
+ ------- ENDPROC AFEGETTEMPE
+ ------- PROC AFECALCUTEMPE
+ ------- DO
+ D:0006H SYMBOL TempeData
+ ------- ENDDO
+ C:4F22H LINE# 136
+ C:4F22H LINE# 137
+ C:4F22H LINE# 140
+ C:4F2AH LINE# 141
+ C:4F2AH LINE# 142
+ C:4F41H LINE# 144
+ C:4F43H LINE# 152
+ C:4F4AH LINE# 154
+ C:4F4CH LINE# 162
+ C:4F6BH LINE# 164
+ C:4F6DH LINE# 172
+ C:4F74H LINE# 175
+ C:4F76H LINE# 184
+ C:4F7DH LINE# 185
+ C:4F7DH LINE# 186
+ C:4F9CH LINE# 188
+ C:4F9EH LINE# 196
+ C:4FA5H LINE# 198
+ C:4FA7H LINE# 206
+ C:4FA7H LINE# 208
+ C:4FB7H LINE# 209
+ C:4FBFH LINE# 210
+ C:4FC2H LINE# 211
+ C:4FC2H LINE# 212
+ C:4FD9H LINE# 214
+ C:4FDBH LINE# 222
+ C:4FE2H LINE# 224
+ C:4FE4H LINE# 233
+ C:4FF1H LINE# 234
+ C:4FF1H LINE# 235
+ C:4FF6H LINE# 236
+ C:4FF7H LINE# 238
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 54
+
+
+ C:4FF7H LINE# 239
+ C:4FFFH LINE# 240
+ C:4FFFH LINE# 241
+ C:4FFFH LINE# 242
+ C:4FFFH LINE# 243
+ ------- ENDPROC AFECALCUTEMPE
+ ------- PROC AFECALCUVOL
+ ------- DO
+ X:02B7H SYMBOL i
+ X:02B8H SYMBOL TempPackVol
+ X:02BCH SYMBOL TempCellVol
+ ------- ENDDO
+ C:4BCBH LINE# 253
+ C:4BCBH LINE# 254
+ C:4BCBH LINE# 256
+ C:4BDFH LINE# 257
+ C:4BE6H LINE# 258
+ C:4BF0H LINE# 260
+ C:4BF8H LINE# 261
+ C:4BF8H LINE# 262
+ C:4C19H LINE# 263
+ C:4C19H LINE# 264
+ C:4C50H LINE# 266
+ C:4C67H LINE# 267
+ C:4C67H LINE# 268
+ C:4C75H LINE# 269
+ C:4C75H LINE# 270
+ C:4C8CH LINE# 271
+ C:4C8CH LINE# 272
+ C:4C9AH LINE# 273
+ C:4C9AH LINE# 275
+ C:4C9DH LINE# 276
+ C:4C9DH LINE# 278
+ C:4C9FH LINE# 286
+ C:4CB9H LINE# 288
+ C:4CBBH LINE# 296
+ C:4CD0H LINE# 297
+ C:4CD0H LINE# 298
+ C:4CD9H LINE# 300
+ C:4CDCH LINE# 301
+ C:4CDCH LINE# 302
+ C:4CE6H LINE# 303
+ C:4CF0H LINE# 306
+ C:4CF2H LINE# 314
+ C:4D00H LINE# 316
+ C:4D02H LINE# 324
+ C:4D02H LINE# 325
+ C:4D02H LINE# 326
+ ------- ENDPROC AFECALCUVOL
+ ------- PROC OFFSETCALCULATE
+ ------- DO
+ X:02BCH SYMBOL siCadcTempOffset
+ X:02BEH SYMBOL i
+ ------- ENDDO
+ C:5852H LINE# 347
+ C:5852H LINE# 348
+ C:5852H LINE# 349
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 55
+
+
+ C:5859H LINE# 352
+ C:5868H LINE# 353
+ C:5868H LINE# 354
+ C:58D4H LINE# 355
+ C:58D4H LINE# 356
+ C:58F1H LINE# 357
+ C:58F3H LINE# 358
+ C:58F3H LINE# 359
+ C:58FCH LINE# 360
+ C:5904H LINE# 361
+ ------- ENDPROC OFFSETCALCULATE
+ ------- PROC AFECALCUCURR
+ ------- DO
+ X:02B7H SYMBOL i
+ X:02B8H SYMBOL Tempdata
+ ------- ENDDO
+ C:40EFH LINE# 369
+ C:40EFH LINE# 370
+ C:40EFH LINE# 372
+ C:40F9H LINE# 374
+ C:4104H LINE# 376
+ C:4110H LINE# 377
+ C:4110H LINE# 378
+ C:4119H LINE# 379
+ C:4119H LINE# 380
+ C:4168H LINE# 382
+ C:4182H LINE# 383
+ C:418DH LINE# 384
+ C:418DH LINE# 385
+ C:418FH LINE# 386
+ C:418FH LINE# 387
+ C:419EH LINE# 388
+ C:419EH LINE# 389
+ C:41BCH LINE# 390
+ C:41C4H LINE# 391
+ C:41D9H LINE# 393
+ C:41DBH LINE# 394
+ C:41DDH LINE# 395
+ C:41FDH LINE# 396
+ C:41FDH LINE# 397
+ C:4208H LINE# 398
+ C:4208H LINE# 399
+ C:420BH LINE# 400
+ C:420DH LINE# 402
+ C:420FH LINE# 410
+ C:421BH LINE# 412
+ C:421DH LINE# 420
+ C:421DH LINE# 421
+ C:421EH LINE# 422
+ C:4238H LINE# 423
+ C:4238H LINE# 424
+ C:4242H LINE# 425
+ C:4242H LINE# 426
+ C:4245H LINE# 427
+ C:4247H LINE# 428
+ C:4250H LINE# 430
+ C:4252H LINE# 438
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 56
+
+
+ C:425EH LINE# 440
+ C:4260H LINE# 448
+ C:4260H LINE# 449
+ C:4261H LINE# 451
+ C:4261H LINE# 453
+ C:4263H LINE# 461
+ C:426DH LINE# 463
+ C:426FH LINE# 471
+ C:426FH LINE# 472
+ ------- ENDPROC AFECALCUCURR
+ ------- PROC AFEINFOPROCESS
+ C:7E00H LINE# 481
+ C:7E00H LINE# 482
+ C:7E00H LINE# 483
+ C:7E03H LINE# 485
+ C:7E05H LINE# 486
+ C:7E08H LINE# 487
+ C:7E0BH LINE# 489
+ C:7E0EH LINE# 490
+ C:7E0EH LINE# 491
+ C:7E10H LINE# 492
+ C:7E13H LINE# 493
+ C:7E13H LINE# 494
+ ------- ENDPROC AFEINFOPROCESS
+ ------- ENDMOD CALCULATE
+
+ ------- MODULE CALIBRATE
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:05D6H PUBLIC slExtCur
+ C:7F41H PUBLIC CaliCurZero
+ X:05DAH PUBLIC ucExtcaliSwitch1
+ C:6643H PUBLIC CaliVoltage
+ C:7534H PUBLIC CaliTS1
+ C:7579H PUBLIC CaliTS2
+ X:05DBH PUBLIC uiExtTemp1
+ X:05DDH PUBLIC uiExtTemp2
+ C:6EC9H PUBLIC CaliProcess
+ C:7840H PUBLIC CaliCurrentGain
+ X:05DFH PUBLIC ulExtVPack
+ X:05E1H PUBLIC ucExtRTC
+ C:75BEH PUBLIC CaliRTCTime
+ B:002FH.4 PUBLIC bCaliFlg
+ ------- PROC CALIVOLTAGE
+ ------- DO
+ D:0007H SYMBOL i
+ X:02B7H SYMBOL VPackTemp
+ ------- ENDDO
+ C:6643H LINE# 26
+ C:6643H LINE# 27
+ C:6643H LINE# 29
+ C:664AH LINE# 31
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 57
+
+
+ C:6662H LINE# 32
+ C:6662H LINE# 33
+ C:667CH LINE# 34
+ C:667FH LINE# 36
+ C:66AFH LINE# 37
+ ------- ENDPROC CALIVOLTAGE
+ ------- PROC CALICURRENTGAIN
+ ------- DO
+ D:0006H SYMBOL TempGain
+ ------- ENDDO
+ C:7840H LINE# 46
+ C:7840H LINE# 47
+ C:7840H LINE# 50
+ C:786EH LINE# 51
+ C:7872H LINE# 52
+ C:7872H LINE# 53
+ C:787AH LINE# 54
+ C:787AH LINE# 55
+ ------- ENDPROC CALICURRENTGAIN
+ ------- PROC CALICURZERO
+ C:7F41H LINE# 64
+ C:7F41H LINE# 65
+ C:7F41H LINE# 66
+ C:7F50H LINE# 67
+ ------- ENDPROC CALICURZERO
+ ------- PROC CALITS1
+ ------- DO
+ D:0006H SYMBOL Tempe
+ ------- ENDDO
+ C:7534H LINE# 76
+ C:7534H LINE# 77
+ C:7534H LINE# 80
+ C:754CH LINE# 81
+ C:7570H LINE# 82
+ C:7570H LINE# 83
+ C:7578H LINE# 84
+ C:7578H LINE# 85
+ ------- ENDPROC CALITS1
+ ------- PROC CALITS2
+ ------- DO
+ D:0006H SYMBOL Tempe
+ ------- ENDDO
+ C:7579H LINE# 87
+ C:7579H LINE# 88
+ C:7579H LINE# 91
+ C:7591H LINE# 92
+ C:75B5H LINE# 93
+ C:75B5H LINE# 94
+ C:75BDH LINE# 95
+ C:75BDH LINE# 96
+ ------- ENDPROC CALITS2
+ ------- PROC CALIRTCTIME
+ C:75BEH LINE# 106
+ C:75BEH LINE# 107
+ C:75BEH LINE# 108
+ C:75C6H LINE# 109
+ C:75CEH LINE# 110
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 58
+
+
+ C:75D6H LINE# 111
+ C:75DEH LINE# 112
+ C:75E6H LINE# 113
+ C:75EEH LINE# 114
+ C:75F6H LINE# 116
+ C:75FDH LINE# 118
+ C:75FFH LINE# 119
+ C:7601H LINE# 120
+ ------- ENDPROC CALIRTCTIME
+ ------- PROC CALIPROCESS
+ C:6EC9H LINE# 131
+ C:6EC9H LINE# 132
+ C:6EC9H LINE# 133
+ C:6ECCH LINE# 134
+ C:6ECCH LINE# 135
+ C:6ECEH LINE# 137
+ C:6ED5H LINE# 138
+ C:6ED5H LINE# 139
+ C:6ED8H LINE# 140
+ C:6ED8H LINE# 142
+ C:6EDFH LINE# 143
+ C:6EDFH LINE# 144
+ C:6EE2H LINE# 145
+ C:6EE2H LINE# 147
+ C:6EE9H LINE# 148
+ C:6EE9H LINE# 149
+ C:6EECH LINE# 150
+ C:6EECH LINE# 152
+ C:6EF3H LINE# 153
+ C:6EF3H LINE# 154
+ C:6EF6H LINE# 155
+ C:6EF6H LINE# 157
+ C:6EFDH LINE# 158
+ C:6EFDH LINE# 159
+ C:6F00H LINE# 160
+ C:6F00H LINE# 162
+ C:6F07H LINE# 163
+ C:6F07H LINE# 164
+ C:6F0AH LINE# 165
+ C:6F0AH LINE# 167
+ C:6F0FH LINE# 168
+ C:6F11H LINE# 169
+ C:6F17H LINE# 170
+ C:6F17H LINE# 171
+ ------- ENDPROC CALIPROCESS
+ ------- ENDMOD CALIBRATE
+
+ ------- MODULE CHARGERLOAD
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:05F8H PUBLIC ucChgerRCnt
+ B:002DH.2 PUBLIC bChgerChkingFlg
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 59
+
+
+ C:72F8H PUBLIC ChgerCheck
+ X:05F9H PUBLIC ucLoadRCnt
+ B:002DH.3 PUBLIC bLoadChkingFlg
+ B:002DH.4 PUBLIC bChgerStartCheckFlg
+ C:7054H PUBLIC LoadCheck
+ B:002DH.5 PUBLIC bLoadStartCheckFlg
+ ------- PROC LOADCHECK
+ C:7054H LINE# 26
+ C:7054H LINE# 27
+ C:7054H LINE# 28
+ C:7057H LINE# 29
+ C:7057H LINE# 30
+ C:7059H LINE# 31
+ C:705BH LINE# 32
+ C:7060H LINE# 33
+ C:7063H LINE# 34
+ C:7064H LINE# 35
+ C:7067H LINE# 36
+ C:7067H LINE# 37
+ C:706AH LINE# 38
+ C:706DH LINE# 39
+ C:706DH LINE# 40
+ C:7089H LINE# 41
+ C:7089H LINE# 42
+ C:708BH LINE# 43
+ C:708DH LINE# 44
+ C:7090H LINE# 45
+ C:7093H LINE# 46
+ C:7093H LINE# 47
+ C:7095H LINE# 48
+ C:7095H LINE# 49
+ C:7097H LINE# 50
+ C:7099H LINE# 51
+ C:709CH LINE# 52
+ C:709CH LINE# 53
+ C:709EH LINE# 54
+ C:70A1H LINE# 55
+ C:70A1H LINE# 56
+ C:70A1H LINE# 57
+ C:70A1H LINE# 58
+ C:70A1H LINE# 59
+ ------- ENDPROC LOADCHECK
+ ------- PROC CHGERCHECK
+ C:72F8H LINE# 68
+ C:72F8H LINE# 69
+ C:72F8H LINE# 70
+ C:72FBH LINE# 71
+ C:72FBH LINE# 72
+ C:72FDH LINE# 73
+ C:72FFH LINE# 74
+ C:7304H LINE# 75
+ C:7307H LINE# 76
+ C:7308H LINE# 77
+ C:730BH LINE# 78
+ C:730BH LINE# 79
+ C:730EH LINE# 80
+ C:7311H LINE# 81
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 60
+
+
+ C:7311H LINE# 82
+ C:732DH LINE# 83
+ C:732DH LINE# 84
+ C:732FH LINE# 85
+ C:7331H LINE# 86
+ C:7334H LINE# 87
+ C:7337H LINE# 88
+ C:7337H LINE# 89
+ C:7339H LINE# 90
+ C:733BH LINE# 91
+ C:733EH LINE# 92
+ C:733EH LINE# 93
+ C:7340H LINE# 94
+ C:7340H LINE# 95
+ C:7340H LINE# 96
+ C:7340H LINE# 97
+ ------- ENDPROC CHGERCHECK
+ ------- ENDMOD CHARGERLOAD
+
+ ------- MODULE EXTE2PROM
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:6787H PUBLIC Uart0RdE2PRom
+ C:64F6H PUBLIC Uart1RdE2PRom
+ D:0080H PUBLIC P0
+ C:6565H PUBLIC Uart2RdE2PRom
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ C:3F3CH PUBLIC _E2PRomBKData
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:69E1H PUBLIC _E2PRomWrite
+ C:6393H PUBLIC E2PRomInit
+ C:7CEFH PUBLIC E2PRomTwiCheck
+ X:03DAH PUBLIC ucRTCBKTime1
+ B:00A0H.4 PUBLIC REN1
+ B:0090H.4 PUBLIC REN2
+ X:03DBH PUBLIC uiRTCBKTime2
+ C:7688H PUBLIC E2PRomBKBoot
+ B:0027H.0 PUBLIC bE2PErase
+ X:03DDH PUBLIC uiE2PDataAddr
+ B:0027H.1 PUBLIC bE2PRErr
+ B:0027H.2 PUBLIC bE2PProcessFlg
+ X:03DFH PUBLIC bUart0E2PRdData
+ X:03E0H PUBLIC bUart1E2PRdData
+ X:03E1H PUBLIC bUart2E2PRdData
+ I:001EH PUBLIC ucUpDataLimitTime
+ D:0099H PUBLIC SBUF
+ X:03E2H PUBLIC uiCHGValidTime
+ D:00B1H PUBLIC RSTSTAT
+ X:03E4H PUBLIC ucE2PTwiRWErrDelayCnt
+ D:0086H PUBLIC INSCON
+ B:0027H.3 PUBLIC bE2PTwiRWErrFlg
+ B:0027H.4 PUBLIC bE2PBKChgStart
+ X:03E5H PUBLIC ucRTCBuf
+ D:00A1H PUBLIC SBUF1
+ B:0027H.5 PUBLIC bE2PBKRtc
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 61
+
+
+ D:0091H PUBLIC SBUF2
+ X:03ECH PUBLIC bUart0RTCRdTime
+ B:0027H.6 PUBLIC bE2PBKDsgEndValid
+ B:0098H.4 PUBLIC REN
+ X:03EDH PUBLIC bUart1RTCRdTime
+ C:50D7H PUBLIC E2PRomBKCheck
+ X:03EEH PUBLIC bUart2RTCRdTime
+ C:5905H PUBLIC E2PRomBKProcess
+ C:66B0H PUBLIC E2PRomErase
+ C:74A9H PUBLIC Uart0RdRTC
+ C:70EEH PUBLIC E2PRomBKRTC
+ C:713AH PUBLIC Uart1RdRTC
+ B:0027H.7 PUBLIC bE2PBKDsgEnd
+ C:7186H PUBLIC Uart2RdRTC
+ B:0028H.0 PUBLIC bChgToDsgFlg
+ B:0028H.1 PUBLIC bDsgToChgFlg
+ B:0028H.2 PUBLIC bE2PBKChgStop
+ C:6A40H PUBLIC _E2PRomRead
+ ------- PROC E2PROMTWICHECK
+ C:7CEFH LINE# 43
+ C:7CEFH LINE# 44
+ C:7CEFH LINE# 45
+ C:7CF2H LINE# 46
+ C:7CF2H LINE# 47
+ C:7CF5H LINE# 48
+ C:7CF5H LINE# 49
+ C:7D00H LINE# 50
+ C:7D00H LINE# 51
+ C:7D02H LINE# 52
+ C:7D05H LINE# 53
+ C:7D05H LINE# 54
+ C:7D06H LINE# 56
+ C:7D06H LINE# 57
+ C:7D0BH LINE# 58
+ C:7D0BH LINE# 59
+ C:7D0BH LINE# 60
+ ------- ENDPROC E2PROMTWICHECK
+ ------- PROC _E2PROMWRITE
+ X:02E1H SYMBOL WrAddr
+ X:02E3H SYMBOL Length
+ X:02E4H SYMBOL WrBuf
+ ------- DO
+ B:0029H.5 SYMBOL Result
+ X:02E6H SYMBOL i
+ ------- ENDDO
+ C:69E1H LINE# 69
+ C:69F2H LINE# 70
+ C:69F2H LINE# 71
+ C:69F4H LINE# 74
+ C:69F7H LINE# 75
+ C:69F7H LINE# 76
+ C:69FAH LINE# 77
+ C:69FAH LINE# 79
+ C:6A23H LINE# 80
+ C:6A23H LINE# 81
+ C:6A25H LINE# 82
+ C:6A27H LINE# 83
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 62
+
+
+ C:6A27H LINE# 91
+ C:6A2CH LINE# 92
+ C:6A38H LINE# 93
+ C:6A38H LINE# 94
+ C:6A3DH LINE# 96
+ C:6A3FH LINE# 97
+ ------- ENDPROC _E2PROMWRITE
+ ------- PROC _E2PROMREAD
+ X:02C3H SYMBOL RdAddr
+ X:02C5H SYMBOL Length
+ X:02C6H SYMBOL RdBuf
+ ------- DO
+ B:0029H.6 SYMBOL Result
+ X:02C8H SYMBOL i
+ ------- ENDDO
+ C:6A40H LINE# 106
+ C:6A51H LINE# 107
+ C:6A51H LINE# 108
+ C:6A53H LINE# 111
+ C:6A56H LINE# 112
+ C:6A56H LINE# 113
+ C:6A59H LINE# 114
+ C:6A59H LINE# 116
+ C:6A82H LINE# 117
+ C:6A82H LINE# 118
+ C:6A84H LINE# 119
+ C:6A86H LINE# 120
+ C:6A86H LINE# 128
+ C:6A8BH LINE# 129
+ C:6A97H LINE# 130
+ C:6A97H LINE# 131
+ C:6A9CH LINE# 133
+ C:6A9EH LINE# 134
+ ------- ENDPROC _E2PROMREAD
+ ------- PROC E2PROMERASE
+ ------- DO
+ X:02B8H SYMBOL i
+ X:02BAH SYMBOL WrBuf
+ ------- ENDDO
+ C:66B0H LINE# 144
+ C:66B0H LINE# 145
+ C:66B0H LINE# 149
+ C:66BBH LINE# 151
+ C:66D9H LINE# 152
+ C:66D9H LINE# 153
+ C:66DCH LINE# 154
+ C:66FBH LINE# 155
+ C:6707H LINE# 157
+ C:6714H LINE# 158
+ C:671BH LINE# 159
+ ------- ENDPROC E2PROMERASE
+ ------- PROC E2PROMINIT
+ ------- DO
+ B:0029H.5 SYMBOL Result
+ X:02B7H SYMBOL RdBuf
+ ------- ENDDO
+ C:6393H LINE# 168
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 63
+
+
+ C:6393H LINE# 169
+ C:6393H LINE# 170
+ C:6395H LINE# 174
+ C:63A4H LINE# 176
+ C:63B2H LINE# 177
+ C:63C0H LINE# 179
+ C:63CCH LINE# 180
+ C:63CCH LINE# 181
+ C:63E1H LINE# 182
+ C:63E3H LINE# 183
+ C:63EFH LINE# 184
+ C:63EFH LINE# 185
+ C:6404H LINE# 186
+ C:6406H LINE# 188
+ C:6406H LINE# 189
+ C:640DH LINE# 190
+ C:640DH LINE# 192
+ C:640FH LINE# 193
+ ------- ENDPROC E2PROMINIT
+ ------- PROC E2PROMBKRTC
+ ------- DO
+ X:02B8H SYMBOL WrBuf
+ D:0007H SYMBOL i
+ X:02C1H SYMBOL checksum
+ ------- ENDDO
+ C:70EEH LINE# 202
+ C:70EEH LINE# 203
+ C:70EEH LINE# 205
+ C:70F3H LINE# 207
+ C:70FAH LINE# 208
+ C:7107H LINE# 209
+ C:7109H LINE# 210
+ C:7109H LINE# 211
+ C:711BH LINE# 212
+ C:7120H LINE# 213
+ C:7128H LINE# 214
+ C:712CH LINE# 216
+ C:7139H LINE# 217
+ ------- ENDPROC E2PROMBKRTC
+ ------- PROC E2PROMBKBOOT
+ ------- DO
+ X:02D9H SYMBOL WrBuf
+ ------- ENDDO
+ C:7688H LINE# 226
+ C:7688H LINE# 227
+ C:7688H LINE# 230
+ C:7695H LINE# 231
+ C:769AH LINE# 232
+ C:76A3H LINE# 234
+ C:76ABH LINE# 235
+ C:76B3H LINE# 236
+ C:76BBH LINE# 238
+ C:76C8H LINE# 239
+ ------- ENDPROC E2PROMBKBOOT
+ ------- PROC _E2PROMBKDATA
+ X:02B8H SYMBOL BKType
+ ------- DO
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 64
+
+
+ X:02B9H SYMBOL WrBuf
+ ------- ENDDO
+ C:3F3CH LINE# 248
+ C:3F41H LINE# 249
+ C:3F41H LINE# 252
+ C:3F45H LINE# 253
+ C:3F45H LINE# 254
+ C:3F52H LINE# 255
+ C:3F5DH LINE# 256
+ C:3F5FH LINE# 258
+ C:3F5FH LINE# 259
+ C:3F66H LINE# 260
+ C:3F73H LINE# 261
+ C:3F7EH LINE# 262
+ C:3F7EH LINE# 264
+ C:3F8BH LINE# 265
+ C:3F8EH LINE# 266
+ C:3F9BH LINE# 267
+ C:3F9EH LINE# 268
+ C:3FAEH LINE# 269
+ C:3FBEH LINE# 270
+ C:3FCEH LINE# 271
+ C:3FD9H LINE# 272
+ C:3FE9H LINE# 273
+ C:3FF9H LINE# 274
+ C:4009H LINE# 275
+ C:4014H LINE# 276
+ C:402BH LINE# 277
+ C:403BH LINE# 278
+ C:4048H LINE# 279
+ C:404BH LINE# 280
+ C:405BH LINE# 281
+ C:406BH LINE# 282
+ C:407BH LINE# 283
+ C:4086H LINE# 284
+ C:4093H LINE# 285
+ C:4096H LINE# 286
+ C:40A3H LINE# 287
+ C:40A6H LINE# 288
+ C:40AEH LINE# 289
+ C:40B2H LINE# 291
+ C:40C3H LINE# 293
+ C:40CDH LINE# 294
+ C:40E4H LINE# 295
+ C:40E4H LINE# 296
+ C:40EBH LINE# 297
+ C:40EBH LINE# 299
+ C:40EEH LINE# 300
+ ------- ENDPROC _E2PROMBKDATA
+ ------- PROC UART0RDE2PROM
+ ------- DO
+ D:0006H SYMBOL RdAddr
+ ------- ENDDO
+ C:6787H LINE# 309
+ C:6787H LINE# 310
+ C:6787H LINE# 313
+ C:67B2H LINE# 314
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 65
+
+
+ C:67BEH LINE# 316
+ C:67DDH LINE# 317
+ C:67EFH LINE# 318
+ ------- ENDPROC UART0RDE2PROM
+ ------- PROC UART1RDE2PROM
+ ------- DO
+ D:0006H SYMBOL RdAddr
+ ------- ENDDO
+ C:64F6H LINE# 326
+ C:64F6H LINE# 327
+ C:64F6H LINE# 330
+ C:6521H LINE# 331
+ C:652DH LINE# 333
+ C:654CH LINE# 334
+ C:6564H LINE# 335
+ ------- ENDPROC UART1RDE2PROM
+ ------- PROC UART2RDE2PROM
+ ------- DO
+ D:0006H SYMBOL RdAddr
+ ------- ENDDO
+ C:6565H LINE# 343
+ C:6565H LINE# 344
+ C:6565H LINE# 347
+ C:6590H LINE# 348
+ C:659CH LINE# 350
+ C:65BBH LINE# 351
+ C:65D3H LINE# 352
+ ------- ENDPROC UART2RDE2PROM
+ ------- PROC UART0RDRTC
+ C:74A9H LINE# 361
+ C:74A9H LINE# 362
+ C:74A9H LINE# 363
+ C:74B0H LINE# 364
+ C:74BDH LINE# 366
+ C:74DCH LINE# 367
+ C:74EEH LINE# 368
+ ------- ENDPROC UART0RDRTC
+ ------- PROC UART1RDRTC
+ C:713AH LINE# 377
+ C:713AH LINE# 378
+ C:713AH LINE# 379
+ C:7141H LINE# 380
+ C:714EH LINE# 382
+ C:716DH LINE# 383
+ C:7185H LINE# 384
+ ------- ENDPROC UART1RDRTC
+ ------- PROC UART2RDRTC
+ C:7186H LINE# 392
+ C:7186H LINE# 393
+ C:7186H LINE# 394
+ C:718DH LINE# 395
+ C:719AH LINE# 397
+ C:71B9H LINE# 398
+ C:71D1H LINE# 399
+ ------- ENDPROC UART2RDRTC
+ ------- PROC E2PROMBKPROCESS
+ ------- DO
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 66
+
+
+ X:02B7H SYMBOL BKType
+ ------- ENDDO
+ C:5905H LINE# 407
+ C:5905H LINE# 408
+ C:5905H LINE# 411
+ C:5911H LINE# 412
+ C:5911H LINE# 413
+ C:5913H LINE# 417
+ C:5916H LINE# 418
+ C:5916H LINE# 419
+ C:5918H LINE# 420
+ C:591BH LINE# 421
+ C:591BH LINE# 423
+ C:592AH LINE# 424
+ C:592AH LINE# 425
+ C:592DH LINE# 426
+ C:592DH LINE# 427
+ C:5932H LINE# 428
+ C:5935H LINE# 429
+ C:5935H LINE# 430
+ C:593BH LINE# 431
+ C:593BH LINE# 432
+ C:593DH LINE# 433
+ C:5940H LINE# 434
+ C:5940H LINE# 435
+ C:5946H LINE# 436
+ C:5946H LINE# 437
+ C:5948H LINE# 438
+ C:594BH LINE# 439
+ C:594BH LINE# 441
+ C:594BH LINE# 443
+ C:595AH LINE# 444
+ C:595AH LINE# 445
+ C:595DH LINE# 446
+ C:595DH LINE# 447
+ C:5962H LINE# 448
+ C:5965H LINE# 449
+ C:5965H LINE# 450
+ C:596BH LINE# 451
+ C:596BH LINE# 452
+ C:596DH LINE# 453
+ C:5970H LINE# 454
+ C:5970H LINE# 455
+ C:5976H LINE# 456
+ C:5976H LINE# 457
+ C:5978H LINE# 458
+ C:597BH LINE# 459
+ C:597BH LINE# 460
+ C:597BH LINE# 462
+ C:597EH LINE# 463
+ C:597EH LINE# 464
+ C:5980H LINE# 465
+ C:5983H LINE# 466
+ C:5983H LINE# 468
+ C:5986H LINE# 469
+ C:5986H LINE# 470
+ C:5988H LINE# 471
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 67
+
+
+ C:598EH LINE# 472
+ C:5992H LINE# 473
+ C:5992H LINE# 475
+ C:5995H LINE# 476
+ C:5995H LINE# 477
+ C:5997H LINE# 478
+ C:599DH LINE# 479
+ C:59A1H LINE# 480
+ C:59A1H LINE# 482
+ C:59A4H LINE# 483
+ C:59A4H LINE# 484
+ C:59A6H LINE# 485
+ C:59ACH LINE# 486
+ C:59B0H LINE# 487
+ C:59B0H LINE# 488
+ C:59B0H LINE# 489
+ ------- ENDPROC E2PROMBKPROCESS
+ ------- PROC E2PROMBKCHECK
+ C:50D7H LINE# 498
+ C:50D7H LINE# 499
+ C:50D7H LINE# 500
+ C:50DDH LINE# 501
+ C:50DDH LINE# 505
+ C:50ECH LINE# 506
+ C:50ECH LINE# 507
+ C:50EEH LINE# 508
+ C:50F5H LINE# 509
+ C:50F5H LINE# 511
+ C:510AH LINE# 512
+ C:510AH LINE# 513
+ C:5111H LINE# 514
+ C:5113H LINE# 515
+ C:5115H LINE# 516
+ C:5115H LINE# 518
+ C:5118H LINE# 519
+ C:5118H LINE# 520
+ C:511AH LINE# 521
+ C:511DH LINE# 522
+ C:511DH LINE# 523
+ C:511FH LINE# 524
+ C:5121H LINE# 525
+ C:5123H LINE# 526
+ C:5123H LINE# 527
+ C:5129H LINE# 528
+ C:5129H LINE# 529
+ C:512BH LINE# 530
+ C:512DH LINE# 531
+ C:512FH LINE# 532
+ C:5131H LINE# 533
+ C:5134H LINE# 534
+ C:5134H LINE# 535
+ C:5136H LINE# 536
+ C:5136H LINE# 537
+ C:5136H LINE# 539
+ C:5153H LINE# 540
+ C:5153H LINE# 541
+ C:515DH LINE# 542
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 68
+
+
+ C:515DH LINE# 543
+ C:5164H LINE# 544
+ C:5171H LINE# 545
+ C:5171H LINE# 547
+ C:5192H LINE# 548
+ C:5192H LINE# 549
+ C:5199H LINE# 550
+ C:519BH LINE# 551
+ C:519DH LINE# 552
+ C:519FH LINE# 553
+ C:51A1H LINE# 554
+ C:51A1H LINE# 555
+ C:51A2H LINE# 557
+ C:51A2H LINE# 558
+ C:51A9H LINE# 559
+ C:51A9H LINE# 560
+ C:51A9H LINE# 561
+ ------- ENDPROC E2PROMBKCHECK
+ ------- ENDMOD EXTE2PROM
+
+ ------- MODULE INTERRUPT
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:1003H PUBLIC InterruptTimer3
+ D:0086H PUBLIC INSCON
+ B:0088H.7 PUBLIC TF3
+ B:00D8H.0 PUBLIC IF40
+ C:65D4H PUBLIC InterruptINT4
+ B:00D8H.1 PUBLIC IF41
+ B:00D8H.2 PUBLIC IF42
+ B:00D8H.3 PUBLIC IF43
+ B:00D8H.4 PUBLIC IF44
+ B:00D8H.5 PUBLIC IF45
+ B:00D8H.6 PUBLIC IF46
+ B:00D8H.7 PUBLIC IF47
+ ------- PROC INTERRUPTINT4
+ C:65D4H LINE# 18
+ C:65E1H LINE# 20
+ C:65E3H LINE# 21
+ C:65E6H LINE# 23
+ C:65E9H LINE# 24
+ C:65E9H LINE# 25
+ C:65EBH LINE# 26
+ C:65F0H LINE# 27
+ C:65F0H LINE# 28
+ C:65F3H LINE# 29
+ C:65F3H LINE# 30
+ C:65F5H LINE# 31
+ C:65FAH LINE# 32
+ C:65FAH LINE# 33
+ C:65FDH LINE# 34
+ C:65FDH LINE# 35
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 69
+
+
+ C:65FFH LINE# 36
+ C:6604H LINE# 37
+ C:6604H LINE# 38
+ C:6607H LINE# 39
+ C:6607H LINE# 40
+ C:6609H LINE# 41
+ C:660EH LINE# 42
+ C:660EH LINE# 43
+ C:6611H LINE# 44
+ C:6611H LINE# 45
+ C:6613H LINE# 46
+ C:6618H LINE# 47
+ C:6618H LINE# 48
+ C:661BH LINE# 49
+ C:661BH LINE# 50
+ C:661DH LINE# 51
+ C:6622H LINE# 52
+ C:6622H LINE# 53
+ C:6625H LINE# 54
+ C:6625H LINE# 55
+ C:6627H LINE# 56
+ C:662CH LINE# 57
+ C:662CH LINE# 58
+ C:662FH LINE# 59
+ C:662FH LINE# 60
+ C:6631H LINE# 61
+ C:6636H LINE# 62
+ C:6636H LINE# 64
+ C:6638H LINE# 65
+ ------- ENDPROC INTERRUPTINT4
+ ------- PROC INTERRUPTTIMER3
+ C:1003H LINE# 74
+ C:100BH LINE# 76
+ C:100DH LINE# 78
+ C:1010H LINE# 79
+ C:1012H LINE# 80
+ C:1015H LINE# 82
+ C:1018H LINE# 84
+ C:101AH LINE# 85
+ ------- ENDPROC INTERRUPTTIMER3
+ ------- ENDMOD INTERRUPT
+
+ ------- MODULE KEYSCAN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0008H PUBLIC ucKeyValue
+ D:0080H PUBLIC P5
+ D:0009H PUBLIC ucKeyValueBK
+ B:00B0H.0 PUBLIC P3_0
+ B:00A0H.7 PUBLIC P2_7
+ D:000AH PUBLIC uiKeyValidCnt
+ D:000CH PUBLIC ucKeyOldValue
+ B:002FH.5 PUBLIC bKeyFlg
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 70
+
+
+ C:5BAEH PUBLIC KeyScan
+ D:000DH PUBLIC uiKeyInvalidCnt
+ ------- PROC KEYSCAN
+ ------- DO
+ C:5C43H SYMBOL scanend
+ ------- ENDDO
+ C:5BAEH LINE# 33
+ C:5BAEH LINE# 34
+ C:5BAEH LINE# 35
+ C:5BB4H LINE# 36
+ C:5BB4H LINE# 37
+ C:5BB7H LINE# 46
+ C:5BBAH LINE# 47
+ C:5BBAH LINE# 48
+ C:5BBDH LINE# 49
+ C:5BBFH LINE# 50
+ C:5BC2H LINE# 51
+ C:5BC2H LINE# 52
+ C:5BC5H LINE# 53
+ C:5BC5H LINE# 69
+ C:5BCBH LINE# 70
+ C:5BCBH LINE# 71
+ C:5BD3H LINE# 72
+ C:5BDEH LINE# 73
+ C:5BDEH LINE# 74
+ C:5BE8H LINE# 75
+ C:5BE8H LINE# 76
+ C:5BF2H LINE# 77
+ C:5BF2H LINE# 78
+ C:5BF8H LINE# 79
+ C:5BFAH LINE# 81
+ C:5BFAH LINE# 82
+ C:5BFDH LINE# 83
+ C:5BFDH LINE# 84
+ C:5BFFH LINE# 85
+ C:5C01H LINE# 86
+ C:5C01H LINE# 91
+ C:5C01H LINE# 93
+ C:5C01H LINE# 94
+ C:5C03H LINE# 95
+ C:5C03H LINE# 96
+ C:5C03H LINE# 98
+ C:5C03H LINE# 99
+ C:5C09H LINE# 100
+ C:5C09H LINE# 101
+ C:5C0EH LINE# 102
+ C:5C16H LINE# 103
+ C:5C1EH LINE# 104
+ C:5C1EH LINE# 105
+ C:5C24H LINE# 106
+ C:5C26H LINE# 107
+ C:5C27H LINE# 108
+ C:5C31H LINE# 109
+ C:5C31H LINE# 110
+ C:5C37H LINE# 111
+ C:5C3DH LINE# 112
+ C:5C3FH LINE# 113
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 71
+
+
+ C:5C3FH LINE# 114
+ C:5C40H LINE# 116
+ C:5C40H LINE# 117
+ C:5C43H LINE# 118
+ C:5C43H LINE# 119
+ C:5C48H LINE# 120
+ C:5C4CH LINE# 121
+ C:5C4FH LINE# 122
+ C:5C4FH LINE# 123
+ C:5C4FH LINE# 124
+ C:5C4FH LINE# 125
+ ------- ENDPROC KEYSCAN
+ ------- ENDMOD KEYSCAN
+
+ ------- MODULE MCUFLASH
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:00F3H PUBLIC IB_CON2
+ D:0080H PUBLIC P0
+ D:00F4H PUBLIC IB_CON3
+ D:0090H PUBLIC P1
+ D:00F5H PUBLIC IB_CON4
+ D:00A0H PUBLIC P2
+ D:00F6H PUBLIC IB_CON5
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ X:05FAH PUBLIC bMcuFlashWrWaitCnt
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00FCH PUBLIC IB_DATA
+ C:7B6DH PUBLIC _McuFlashCheckFlg
+ C:6A9FH PUBLIC _McuFlashRead
+ C:798EH PUBLIC _McuFlashWrOneByte
+ B:002EH.1 PUBLIC bMcuFlashErr
+ C:5EC5H PUBLIC _McuFlashWrite
+ X:05FBH PUBLIC ucMcuFlashWrValid
+ D:00FBH PUBLIC IB_OFFSET
+ D:00B1H PUBLIC RSTSTAT
+ D:00A7H PUBLIC FLASHCON
+ C:6077H PUBLIC _McuFlashWrSector
+ C:7DD7H PUBLIC McuFlashWrWaitCheck
+ B:002EH.2 PUBLIC bMcuFlashWrFlg
+ C:7C07H PUBLIC _McuFlashBlankCheck
+ C:6C6DH PUBLIC _McuFlashDataCheck
+ D:00F7H PUBLIC XPAGE
+ B:002EH.3 PUBLIC bMcuFlashWrWaitFlg
+ C:526EH PUBLIC McuFlashProcess
+ D:00F2H PUBLIC IB_CON1
+ ------- PROC _MCUFLASHWRONEBYTE
+ D:0002H SYMBOL McuFlashAddr
+ D:0005H SYMBOL WrData
+ C:798EH LINE# 24
+ C:7992H LINE# 25
+ C:7992H LINE# 26
+ C:7994H LINE# 27
+ C:7997H LINE# 29
+ C:799AH LINE# 30
+ C:799EH LINE# 31
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 72
+
+
+ C:79A2H LINE# 33
+ C:79A5H LINE# 34
+ C:79A8H LINE# 35
+ C:79ABH LINE# 36
+ C:79AEH LINE# 37
+ C:79B5H LINE# 38
+ C:79B5H LINE# 39
+ C:79B8H LINE# 40
+ C:79B9H LINE# 41
+ C:79BAH LINE# 42
+ C:79BBH LINE# 43
+ C:79BCH LINE# 44
+ C:79BDH LINE# 45
+ C:79BDH LINE# 47
+ C:79C0H LINE# 48
+ C:79C2H LINE# 49
+ ------- ENDPROC _MCUFLASHWRONEBYTE
+ ------- PROC _MCUFLASHBLANKCHECK
+ D:0006H SYMBOL McuFlashAddr
+ ------- DO
+ B:002AH.0 SYMBOL Result
+ D:0004H SYMBOL i
+ ------- ENDDO
+ C:7C07H LINE# 58
+ C:7C07H LINE# 59
+ C:7C07H LINE# 60
+ C:7C09H LINE# 63
+ C:7C0CH LINE# 64
+ C:7C0CH LINE# 65
+ C:7C19H LINE# 66
+ C:7C19H LINE# 67
+ C:7C1BH LINE# 68
+ C:7C1DH LINE# 69
+ C:7C1DH LINE# 70
+ C:7C2AH LINE# 72
+ C:7C2CH LINE# 73
+ ------- ENDPROC _MCUFLASHBLANKCHECK
+ ------- PROC _MCUFLASHDATACHECK
+ X:02BDH SYMBOL McuFlashAddr
+ D:0004H SYMBOL XramAddr
+ ------- DO
+ B:002AH.0 SYMBOL Result
+ D:0006H SYMBOL ptr
+ X:02BFH SYMBOL i
+ ------- ENDDO
+ C:6C6DH LINE# 82
+ C:6C75H LINE# 83
+ C:6C75H LINE# 84
+ C:6C77H LINE# 85
+ C:6C7BH LINE# 88
+ C:6C8EH LINE# 89
+ C:6C8EH LINE# 90
+ C:6CB4H LINE# 91
+ C:6CB4H LINE# 92
+ C:6CB6H LINE# 93
+ C:6CB8H LINE# 94
+ C:6CB8H LINE# 95
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 73
+
+
+ C:6CC4H LINE# 97
+ C:6CC6H LINE# 98
+ ------- ENDPROC _MCUFLASHDATACHECK
+ ------- PROC _MCUFLASHWRSECTOR
+ X:02BDH SYMBOL McuFlashAddr
+ D:0004H SYMBOL XramAddr
+ ------- DO
+ B:002AH.0 SYMBOL Result
+ D:0004H SYMBOL i
+ X:02BFH SYMBOL ptr
+ ------- ENDDO
+ C:6077H LINE# 107
+ C:607FH LINE# 108
+ C:607FH LINE# 109
+ C:6081H LINE# 111
+ C:6089H LINE# 113
+ C:608CH LINE# 114
+ C:608CH LINE# 115
+ C:6097H LINE# 116
+ C:609DH LINE# 117
+ C:60ACH LINE# 118
+ C:60AFH LINE# 119
+ C:60B2H LINE# 120
+ C:60B2H LINE# 121
+ C:60B5H LINE# 122
+ C:60B9H LINE# 123
+ C:60B9H LINE# 124
+ C:60BCH LINE# 125
+ C:60C4H LINE# 126
+ C:60C4H LINE# 127
+ C:60C7H LINE# 128
+ C:60D7H LINE# 129
+ C:60D7H LINE# 130
+ C:60DAH LINE# 131
+ C:60DBH LINE# 132
+ C:60DCH LINE# 133
+ C:60DDH LINE# 134
+ C:60DEH LINE# 135
+ C:60DFH LINE# 136
+ C:60E1H LINE# 137
+ C:60E3H LINE# 139
+ C:60E3H LINE# 140
+ C:60E5H LINE# 141
+ C:60E7H LINE# 142
+ C:60E7H LINE# 143
+ C:60E7H LINE# 145
+ C:60E7H LINE# 146
+ C:60E9H LINE# 147
+ C:60EBH LINE# 148
+ C:60EBH LINE# 149
+ C:60EBH LINE# 151
+ C:60EBH LINE# 152
+ C:60EDH LINE# 153
+ C:60EFH LINE# 154
+ C:60EFH LINE# 155
+ C:60EFH LINE# 157
+ C:60EFH LINE# 158
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 74
+
+
+ C:60F1H LINE# 159
+ C:60F3H LINE# 160
+ C:60F3H LINE# 161
+ C:6100H LINE# 163
+ C:6102H LINE# 164
+ ------- ENDPROC _MCUFLASHWRSECTOR
+ ------- PROC _MCUFLASHWRITE
+ X:02B9H SYMBOL McuFlashAddr
+ X:02BBH SYMBOL XramAddr
+ ------- DO
+ B:0029H.7 SYMBOL Result
+ ------- ENDDO
+ C:5EC5H LINE# 177
+ C:5ED3H LINE# 178
+ C:5ED3H LINE# 179
+ C:5ED5H LINE# 181
+ C:5ED8H LINE# 182
+ C:5EDAH LINE# 183
+ C:5EDDH LINE# 185
+ C:5EE6H LINE# 186
+ C:5EE9H LINE# 187
+ C:5EECH LINE# 188
+ C:5EECH LINE# 189
+ C:5EEFH LINE# 190
+ C:5EF3H LINE# 191
+ C:5EF3H LINE# 192
+ C:5EF6H LINE# 193
+ C:5EFEH LINE# 194
+ C:5EFEH LINE# 195
+ C:5F01H LINE# 196
+ C:5F0AH LINE# 197
+ C:5F0AH LINE# 198
+ C:5F0DH LINE# 199
+ C:5F0EH LINE# 200
+ C:5F0FH LINE# 201
+ C:5F10H LINE# 202
+ C:5F11H LINE# 203
+ C:5F12H LINE# 205
+ C:5F1FH LINE# 206
+ C:5F1FH LINE# 207
+ C:5F32H LINE# 208
+ C:5F32H LINE# 209
+ C:5F45H LINE# 210
+ C:5F45H LINE# 211
+ C:5F47H LINE# 212
+ C:5F47H LINE# 213
+ C:5F47H LINE# 214
+ C:5F47H LINE# 215
+ C:5F47H LINE# 216
+ C:5F47H LINE# 217
+ C:5F47H LINE# 218
+ C:5F47H LINE# 220
+ C:5F4AH LINE# 221
+ C:5F4CH LINE# 222
+ C:5F4EH LINE# 223
+ C:5F50H LINE# 224
+ C:5F52H LINE# 226
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 75
+
+
+ C:5F55H LINE# 227
+ C:5F57H LINE# 228
+ C:5F59H LINE# 230
+ C:5F5BH LINE# 231
+ ------- ENDPROC _MCUFLASHWRITE
+ ------- PROC MCUFLASHPROCESS
+ ------- DO
+ B:0029H.5 SYMBOL McuFlashBk1WrFailFlg
+ B:0029H.6 SYMBOL McuFlashBk2WrFailFlg
+ X:02B7H SYMBOL VoltageMin
+ ------- ENDDO
+ C:526EH LINE# 244
+ C:526EH LINE# 245
+ C:526EH LINE# 246
+ C:5272H LINE# 249
+ C:5278H LINE# 250
+ C:5278H LINE# 251
+ C:527AH LINE# 253
+ C:5280H LINE# 254
+ C:5287H LINE# 255
+ C:5287H LINE# 256
+ C:5291H LINE# 257
+ C:5293H LINE# 259
+ C:5293H LINE# 260
+ C:529DH LINE# 261
+ C:529DH LINE# 263
+ C:52C0H LINE# 264
+ C:52C0H LINE# 265
+ C:52C9H LINE# 266
+ C:52C9H LINE# 267
+ C:52D3H LINE# 268
+ C:52D3H LINE# 269
+ C:52D5H LINE# 270
+ C:52DDH LINE# 271
+ C:52E5H LINE# 272
+ C:52ECH LINE# 273
+ C:52ECH LINE# 274
+ C:52ECH LINE# 276
+ C:52F7H LINE# 277
+ C:52F7H LINE# 278
+ C:5302H LINE# 279
+ C:5302H LINE# 280
+ C:5304H LINE# 281
+ C:530CH LINE# 282
+ C:5314H LINE# 283
+ C:531BH LINE# 284
+ C:531BH LINE# 285
+ C:531BH LINE# 286
+ C:531DH LINE# 288
+ C:531DH LINE# 289
+ C:531FH LINE# 290
+ C:5321H LINE# 291
+ C:5321H LINE# 292
+ C:5326H LINE# 294
+ C:532CH LINE# 295
+ C:532CH LINE# 296
+ C:532EH LINE# 297
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 76
+
+
+ C:532EH LINE# 298
+ C:532EH LINE# 299
+ ------- ENDPROC MCUFLASHPROCESS
+ ------- PROC _MCUFLASHREAD
+ X:02B7H SYMBOL SourceAddr
+ D:0004H SYMBOL TargetAddr
+ X:02B9H SYMBOL Length
+ ------- DO
+ D:0006H SYMBOL i
+ B:0029H.5 SYMBOL Result
+ D:0015H SYMBOL TargetAddr1
+ ------- ENDDO
+ C:6A9FH LINE# 308
+ C:6AADH LINE# 309
+ C:6AADH LINE# 311
+ C:6AAFH LINE# 312
+ C:6AB7H LINE# 314
+ C:6AB9H LINE# 315
+ C:6ABCH LINE# 316
+ C:6ABFH LINE# 317
+ C:6ACFH LINE# 318
+ C:6ACFH LINE# 319
+ C:6AE7H LINE# 320
+ C:6AEFH LINE# 321
+ C:6AF6H LINE# 322
+ C:6AF9H LINE# 323
+ C:6AFBH LINE# 325
+ C:6AFDH LINE# 326
+ ------- ENDPROC _MCUFLASHREAD
+ ------- PROC MCUFLASHWRWAITCHECK
+ C:7DD7H LINE# 335
+ C:7DD7H LINE# 336
+ C:7DD7H LINE# 337
+ C:7DDAH LINE# 338
+ C:7DDAH LINE# 339
+ C:7DE5H LINE# 340
+ C:7DE5H LINE# 341
+ C:7DE7H LINE# 342
+ C:7DE9H LINE# 343
+ C:7DEBH LINE# 344
+ C:7DEBH LINE# 345
+ C:7DEBH LINE# 346
+ ------- ENDPROC MCUFLASHWRWAITCHECK
+ ------- PROC _MCUFLASHCHECKFLG
+ D:0006H SYMBOL McuFlashAddr
+ ------- DO
+ B:0029H.5 SYMBOL Result
+ ------- ENDDO
+ C:7B6DH LINE# 355
+ C:7B6DH LINE# 356
+ C:7B6DH LINE# 357
+ C:7B6FH LINE# 359
+ C:7B72H LINE# 360
+ C:7B8CH LINE# 361
+ C:7B8CH LINE# 362
+ C:7B8EH LINE# 363
+ C:7B8EH LINE# 364
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 77
+
+
+ C:7B91H LINE# 366
+ C:7B93H LINE# 367
+ ------- ENDPROC _MCUFLASHCHECKFLG
+ ------- ENDMOD MCUFLASH
+
+ ------- MODULE MCULIB
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ C:73D1H PUBLIC _Delay1ms
+ D:009DH PUBLIC SBRTH
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00C7H PUBLIC PWM0CON
+ D:00B6H PUBLIC PWM1CON
+ D:00B7H PUBLIC PWM2CON
+ D:009CH PUBLIC SBRTL
+ C:7A8FH PUBLIC _McuTimer3Set
+ D:00A8H PUBLIC IEN0
+ D:00A9H PUBLIC IEN1
+ D:00E8H PUBLIC EXF0
+ D:008EH PUBLIC SUSLO
+ C:7A2CH PUBLIC _MemoryCopy
+ C:7B43H PUBLIC _MemorySet
+ D:0087H PUBLIC PCON
+ D:00CFH PUBLIC PWM0DH
+ D:00A5H PUBLIC PWM1DH
+ D:00BFH PUBLIC PWM2DH
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ D:00CEH PUBLIC PWM0DL
+ D:00A4H PUBLIC PWM1DL
+ D:00BEH PUBLIC PWM2DL
+ D:00B2H PUBLIC CLKCON
+ D:00CDH PUBLIC PWM0PH
+ D:00AFH PUBLIC PWM1PH
+ D:00BDH PUBLIC PWM2PH
+ D:00CCH PUBLIC PWM0PL
+ D:00AEH PUBLIC PWM1PL
+ C:7F5FH PUBLIC McuIntoIdle
+ C:7C51H PUBLIC _McuClockSet
+ D:00BCH PUBLIC PWM2PL
+ D:0086H PUBLIC INSCON
+ D:008DH PUBLIC TH3
+ D:008CH PUBLIC TL3
+ C:7F6BH PUBLIC McuIntoPD
+ B:0088H.2 PUBLIC TR3
+ C:6856H PUBLIC RamCheckProcess
+ D:0088H PUBLIC T3CON
+ C:7AECH PUBLIC SystemResetProcess
+ C:6210H PUBLIC _McuPWM0Set
+ C:6291H PUBLIC _McuPWM1Set
+ C:6312H PUBLIC _McuPWM2Set
+ ------- PROC _MCUTIMER3SET
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 78
+
+
+ X:02B7H SYMBOL ClkSource
+ D:0004H SYMBOL XmS
+ ------- DO
+ D:0006H SYMBOL TempVal
+ ------- ENDDO
+ C:7A8FH LINE# 20
+ C:7A94H LINE# 21
+ C:7A94H LINE# 24
+ C:7A97H LINE# 67
+ C:7A9AH LINE# 68
+ C:7AB5H LINE# 70
+ C:7AB7H LINE# 71
+ C:7AB9H LINE# 72
+ C:7ABBH LINE# 74
+ C:7ABEH LINE# 75
+ ------- ENDPROC _MCUTIMER3SET
+ ------- PROC _MCUCLOCKSET
+ X:02B7H SYMBOL SysClock
+ ------- DO
+ D:0007H SYMBOL ea
+ ------- ENDDO
+ C:7C51H LINE# 84
+ C:7C56H LINE# 85
+ C:7C56H LINE# 88
+ C:7C5BH LINE# 89
+ C:7C5DH LINE# 91
+ C:7C60H LINE# 93
+ C:7C61H LINE# 94
+ C:7C62H LINE# 95
+ C:7C63H LINE# 96
+ C:7C64H LINE# 97
+ C:7C65H LINE# 98
+ C:7C66H LINE# 99
+ C:7C67H LINE# 100
+ C:7C68H LINE# 102
+ C:7C6BH LINE# 104
+ C:7C6EH LINE# 106
+ C:7C72H LINE# 107
+ ------- ENDPROC _MCUCLOCKSET
+ ------- PROC _MCUPWM0SET
+ X:05E8H SYMBOL PwmFreq
+ X:05EAH SYMBOL DutyRatio
+ C:6210H LINE# 116
+ C:621BH LINE# 117
+ C:621BH LINE# 118
+ C:621EH LINE# 119
+ C:6238H LINE# 120
+ C:6257H LINE# 121
+ C:6275H LINE# 122
+ C:6290H LINE# 123
+ ------- ENDPROC _MCUPWM0SET
+ ------- PROC _MCUPWM1SET
+ X:05EBH SYMBOL PwmFreq
+ X:05EDH SYMBOL DutyRatio
+ C:6291H LINE# 125
+ C:629CH LINE# 126
+ C:629CH LINE# 127
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 79
+
+
+ C:629FH LINE# 128
+ C:62B9H LINE# 129
+ C:62D8H LINE# 130
+ C:62F6H LINE# 131
+ C:6311H LINE# 132
+ ------- ENDPROC _MCUPWM1SET
+ ------- PROC _MCUPWM2SET
+ X:02BCH SYMBOL PwmFreq
+ X:02BEH SYMBOL DutyRatio
+ C:6312H LINE# 134
+ C:631DH LINE# 135
+ C:631DH LINE# 136
+ C:6320H LINE# 137
+ C:633AH LINE# 138
+ C:6359H LINE# 139
+ C:6377H LINE# 140
+ C:6392H LINE# 141
+ ------- ENDPROC _MCUPWM2SET
+ ------- PROC _DELAY1MS
+ D:0007H SYMBOL Xms
+ ------- DO
+ D:0006H SYMBOL i
+ D:0002H SYMBOL j
+ D:0004H SYMBOL Tcnt
+ ------- ENDDO
+ C:73D1H LINE# 154
+ C:73D1H LINE# 155
+ C:73D1H LINE# 159
+ C:73D7H LINE# 160
+ C:73D7H LINE# 161
+ C:73DBH LINE# 162
+ C:73DDH LINE# 163
+ C:73E5H LINE# 164
+ C:73E5H LINE# 165
+ C:73E9H LINE# 166
+ C:73EBH LINE# 167
+ C:73F3H LINE# 168
+ C:73F3H LINE# 169
+ C:73F7H LINE# 170
+ C:73F9H LINE# 172
+ C:73F9H LINE# 173
+ C:73FDH LINE# 174
+ C:73FDH LINE# 177
+ C:7404H LINE# 178
+ C:7404H LINE# 179
+ C:740EH LINE# 180
+ C:740EH LINE# 181
+ C:7415H LINE# 182
+ C:7418H LINE# 183
+ ------- ENDPROC _DELAY1MS
+ ------- PROC RAMCHECKPROCESS
+ C:6856H LINE# 220
+ C:6856H LINE# 221
+ C:6856H LINE# 222
+ C:68B8H LINE# 234
+ C:68B8H LINE# 235
+ C:68BAH LINE# 236
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 80
+
+
+ C:68BAH LINE# 238
+ C:68BAH LINE# 239
+ C:68BBH LINE# 240
+ C:68BBH LINE# 241
+ ------- ENDPROC RAMCHECKPROCESS
+ ------- PROC _MEMORYSET
+ X:02C3H SYMBOL pt
+ D:0005H SYMBOL setval
+ D:0003H SYMBOL length
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:7B43H LINE# 252
+ C:7B4BH LINE# 253
+ C:7B4BH LINE# 255
+ C:7B52H LINE# 256
+ C:7B52H LINE# 257
+ C:7B5FH LINE# 258
+ C:7B69H LINE# 259
+ C:7B6CH LINE# 260
+ ------- ENDPROC _MEMORYSET
+ ------- PROC _MEMORYCOPY
+ X:02D9H SYMBOL source
+ D:0004H SYMBOL target
+ D:0003H SYMBOL length
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:7A2CH LINE# 271
+ C:7A34H LINE# 272
+ C:7A34H LINE# 274
+ C:7A3BH LINE# 275
+ C:7A3BH LINE# 276
+ C:7A4CH LINE# 277
+ C:7A51H LINE# 278
+ C:7A5BH LINE# 279
+ C:7A5EH LINE# 280
+ ------- ENDPROC _MEMORYCOPY
+ ------- PROC MCUINTOIDLE
+ C:7F5FH LINE# 289
+ C:7F5FH LINE# 290
+ C:7F5FH LINE# 291
+ C:7F62H LINE# 292
+ C:7F65H LINE# 293
+ C:7F66H LINE# 294
+ C:7F67H LINE# 295
+ C:7F68H LINE# 296
+ C:7F69H LINE# 297
+ C:7F6AH LINE# 298
+ ------- ENDPROC MCUINTOIDLE
+ ------- PROC MCUINTOPD
+ C:7F6BH LINE# 300
+ C:7F6BH LINE# 301
+ C:7F6BH LINE# 302
+ C:7F6EH LINE# 303
+ C:7F71H LINE# 304
+ C:7F72H LINE# 305
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 81
+
+
+ C:7F73H LINE# 306
+ C:7F74H LINE# 307
+ C:7F75H LINE# 308
+ C:7F76H LINE# 309
+ ------- ENDPROC MCUINTOPD
+ ------- PROC SYSTEMRESETPROCESS
+ C:7AECH LINE# 318
+ C:7AECH LINE# 319
+ C:7AECH LINE# 320
+ C:7B03H LINE# 322
+ C:7B03H LINE# 323
+ C:7B05H LINE# 324
+ C:7B08H LINE# 325
+ C:7B0AH LINE# 326
+ C:7B0CH LINE# 327
+ C:7B0EH LINE# 329
+ C:7B10H LINE# 330
+ C:7B12H LINE# 331
+ C:7B14H LINE# 333
+ C:7B17H LINE# 334
+ C:7B17H LINE# 335
+ ------- ENDPROC SYSTEMRESETPROCESS
+ ------- ENDMOD MCULIB
+
+ ------- MODULE MOSCTRL
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:721CH PUBLIC MosStatusCheck
+ C:7ABFH PUBLIC MosCtrl
+ B:002EH.6 PUBLIC bCHGMOSBk
+ B:002EH.7 PUBLIC bDSGMOSBk
+ ------- PROC MOSSTATUSCHECK
+ C:721CH LINE# 20
+ C:721CH LINE# 21
+ C:721CH LINE# 22
+ C:721EH LINE# 23
+ C:7220H LINE# 25
+ C:7226H LINE# 26
+ C:7226H LINE# 27
+ C:7228H LINE# 28
+ C:7228H LINE# 30
+ C:723AH LINE# 31
+ C:723AH LINE# 32
+ C:723CH LINE# 33
+ C:723CH LINE# 35
+ C:723FH LINE# 36
+ C:723FH LINE# 37
+ C:724BH LINE# 38
+ C:724BH LINE# 39
+ C:724DH LINE# 40
+ C:724DH LINE# 41
+ C:724DH LINE# 43
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 82
+
+
+ C:7250H LINE# 44
+ C:7250H LINE# 45
+ C:7253H LINE# 46
+ C:7253H LINE# 47
+ C:7255H LINE# 48
+ C:7255H LINE# 49
+ C:7255H LINE# 51
+ C:725EH LINE# 52
+ C:725EH LINE# 53
+ C:7260H LINE# 54
+ C:7260H LINE# 56
+ C:7263H LINE# 57
+ C:7263H LINE# 58
+ C:7265H LINE# 59
+ C:7265H LINE# 60
+ ------- ENDPROC MOSSTATUSCHECK
+ ------- PROC MOSCTRL
+ C:7ABFH LINE# 70
+ C:7ABFH LINE# 71
+ C:7ABFH LINE# 72
+ C:7AC2H LINE# 74
+ C:7AD2H LINE# 75
+ C:7AD2H LINE# 76
+ C:7AD6H LINE# 77
+ C:7ADAH LINE# 79
+ C:7AEBH LINE# 80
+ C:7AEBH LINE# 81
+ ------- ENDPROC MOSCTRL
+ ------- ENDMOD MOSCTRL
+
+ ------- MODULE PORSELFTEST
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ C:6F18H PUBLIC PorProtectOTC
+ D:0090H PUBLIC P1
+ C:6FB6H PUBLIC PorProtectOTD
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:6F67H PUBLIC PorProtectUTC
+ C:7005H PUBLIC PorProtectUTD
+ C:7419H PUBLIC PorProtectOV
+ C:7461H PUBLIC PorProtectUV
+ X:053FH PUBLIC ucPorSelfTestDelayCnt
+ B:002FH.6 PUBLIC bPorSelfTestFlg
+ C:787BH PUBLIC PorSelfTest
+ ------- PROC PORPROTECTOV
+ C:7419H LINE# 20
+ C:7419H LINE# 21
+ C:7419H LINE# 22
+ C:741CH LINE# 23
+ C:741CH LINE# 24
+ C:742BH LINE# 25
+ C:742BH LINE# 26
+ C:7440H LINE# 27
+ C:7440H LINE# 28
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 83
+
+
+ C:7442H LINE# 29
+ C:7449H LINE# 30
+ C:7449H LINE# 31
+ C:744AH LINE# 32
+ C:7459H LINE# 33
+ C:7459H LINE# 34
+ C:7460H LINE# 35
+ C:7460H LINE# 36
+ C:7460H LINE# 37
+ ------- ENDPROC PORPROTECTOV
+ ------- PROC PORPROTECTUV
+ C:7461H LINE# 46
+ C:7461H LINE# 47
+ C:7461H LINE# 48
+ C:7464H LINE# 49
+ C:7464H LINE# 50
+ C:7473H LINE# 51
+ C:7473H LINE# 52
+ C:7488H LINE# 53
+ C:7488H LINE# 54
+ C:748AH LINE# 55
+ C:7491H LINE# 56
+ C:7491H LINE# 57
+ C:7492H LINE# 58
+ C:74A1H LINE# 59
+ C:74A1H LINE# 60
+ C:74A8H LINE# 61
+ C:74A8H LINE# 62
+ C:74A8H LINE# 63
+ ------- ENDPROC PORPROTECTUV
+ ------- PROC PORPROTECTOTC
+ C:6F18H LINE# 72
+ C:6F18H LINE# 73
+ C:6F18H LINE# 74
+ C:6F1BH LINE# 75
+ C:6F1BH LINE# 76
+ C:6F31H LINE# 77
+ C:6F31H LINE# 78
+ C:6F46H LINE# 79
+ C:6F46H LINE# 80
+ C:6F48H LINE# 81
+ C:6F4FH LINE# 82
+ C:6F4FH LINE# 83
+ C:6F50H LINE# 84
+ C:6F5FH LINE# 85
+ C:6F5FH LINE# 86
+ C:6F66H LINE# 87
+ C:6F66H LINE# 88
+ C:6F66H LINE# 89
+ ------- ENDPROC PORPROTECTOTC
+ ------- PROC PORPROTECTUTC
+ C:6F67H LINE# 98
+ C:6F67H LINE# 99
+ C:6F67H LINE# 100
+ C:6F6AH LINE# 101
+ C:6F6AH LINE# 102
+ C:6F80H LINE# 103
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 84
+
+
+ C:6F80H LINE# 104
+ C:6F95H LINE# 105
+ C:6F95H LINE# 106
+ C:6F97H LINE# 107
+ C:6F9EH LINE# 108
+ C:6F9EH LINE# 109
+ C:6F9FH LINE# 110
+ C:6FAEH LINE# 111
+ C:6FAEH LINE# 112
+ C:6FB5H LINE# 113
+ C:6FB5H LINE# 114
+ C:6FB5H LINE# 115
+ ------- ENDPROC PORPROTECTUTC
+ ------- PROC PORPROTECTOTD
+ C:6FB6H LINE# 124
+ C:6FB6H LINE# 125
+ C:6FB6H LINE# 126
+ C:6FB9H LINE# 127
+ C:6FB9H LINE# 128
+ C:6FCFH LINE# 129
+ C:6FCFH LINE# 130
+ C:6FE4H LINE# 131
+ C:6FE4H LINE# 132
+ C:6FE6H LINE# 133
+ C:6FEDH LINE# 134
+ C:6FEDH LINE# 135
+ C:6FEEH LINE# 136
+ C:6FFDH LINE# 137
+ C:6FFDH LINE# 138
+ C:7004H LINE# 139
+ C:7004H LINE# 140
+ C:7004H LINE# 141
+ ------- ENDPROC PORPROTECTOTD
+ ------- PROC PORPROTECTUTD
+ C:7005H LINE# 150
+ C:7005H LINE# 151
+ C:7005H LINE# 152
+ C:7008H LINE# 153
+ C:7008H LINE# 154
+ C:701EH LINE# 155
+ C:701EH LINE# 156
+ C:7033H LINE# 157
+ C:7033H LINE# 158
+ C:7035H LINE# 159
+ C:703CH LINE# 160
+ C:703CH LINE# 161
+ C:703DH LINE# 162
+ C:704CH LINE# 163
+ C:704CH LINE# 164
+ C:7053H LINE# 165
+ C:7053H LINE# 166
+ C:7053H LINE# 167
+ ------- ENDPROC PORPROTECTUTD
+ ------- PROC PORSELFTEST
+ C:787BH LINE# 176
+ C:787BH LINE# 177
+ C:787BH LINE# 178
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 85
+
+
+ C:787EH LINE# 179
+ C:787EH LINE# 180
+ C:7881H LINE# 181
+ C:7884H LINE# 182
+ C:7887H LINE# 183
+ C:788AH LINE# 185
+ C:788DH LINE# 186
+ C:7890H LINE# 187
+ C:7893H LINE# 188
+ C:7896H LINE# 190
+ C:78A1H LINE# 191
+ C:78A1H LINE# 192
+ C:78A3H LINE# 193
+ C:78AFH LINE# 194
+ C:78AFH LINE# 195
+ C:78B1H LINE# 196
+ C:78B2H LINE# 198
+ C:78B2H LINE# 199
+ C:78B5H LINE# 200
+ C:78B5H LINE# 201
+ C:78B5H LINE# 202
+ C:78B5H LINE# 203
+ ------- ENDPROC PORSELFTEST
+ ------- ENDMOD PORSELFTEST
+
+ ------- MODULE PROTECT
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ X:03B8H PUBLIC uiOCD1DelayCnt
+ D:00A0H PUBLIC P2
+ X:03BAH PUBLIC uiOCD2DelayCnt
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:51AAH PUBLIC ProtectOV
+ C:53ECH PUBLIC ProtectUV
+ B:002FH.0 PUBLIC bOVLock
+ B:002FH.1 PUBLIC bUVLock
+ X:03BCH PUBLIC uiOVDelayCnt
+ X:03BEH PUBLIC uiUVDelayCnt
+ X:03C0H PUBLIC uiOTCRDelayCnt
+ X:03C2H PUBLIC uiOTDRDelayCnt
+ X:03C4H PUBLIC uiUTCRDelayCnt
+ X:03C6H PUBLIC uiUTDRDelayCnt
+ C:6CC7H PUBLIC ProtectOCC
+ C:7C93H PUBLIC ProtectProcess
+ C:54A8H PUBLIC ProtectOTC
+ C:5620H PUBLIC ProtectOTD
+ X:03C8H PUBLIC uiOCCRcnt
+ X:03CAH PUBLIC uiOCCDelayCnt
+ X:03CCH PUBLIC uiOCDRcnt
+ C:5564H PUBLIC ProtectUTC
+ C:56DCH PUBLIC ProtectUTD
+ C:6410H PUBLIC ProtectOCRecover
+ X:03CEH PUBLIC uiOTCDelayCnt
+ X:03D0H PUBLIC uiOTDDelayCnt
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 86
+
+
+ X:03D2H PUBLIC uiUTCDelayCnt
+ X:03D4H PUBLIC uiUTDDelayCnt
+ C:6D20H PUBLIC ProtectOCD1
+ C:6D79H PUBLIC ProtectOCD2
+ X:03D6H PUBLIC uiOVRDelayCnt
+ X:03D8H PUBLIC uiUVRDelayCnt
+ ------- PROC PROTECTOV
+ C:51AAH LINE# 39
+ C:51AAH LINE# 40
+ C:51AAH LINE# 41
+ C:51B0H LINE# 42
+ C:51B0H LINE# 43
+ C:51BFH LINE# 44
+ C:51BFH LINE# 45
+ C:51E0H LINE# 46
+ C:51E0H LINE# 47
+ C:51E2H LINE# 48
+ C:51E4H LINE# 49
+ C:51EBH LINE# 50
+ C:51F1H LINE# 51
+ C:51F1H LINE# 52
+ C:51F2H LINE# 53
+ C:5201H LINE# 54
+ C:5201H LINE# 55
+ C:5208H LINE# 56
+ C:5208H LINE# 57
+ C:5209H LINE# 58
+ C:520CH LINE# 59
+ C:520CH LINE# 60
+ C:521BH LINE# 61
+ C:521BH LINE# 62
+ C:5239H LINE# 63
+ C:5239H LINE# 64
+ C:523CH LINE# 65
+ C:523CH LINE# 66
+ C:523EH LINE# 67
+ C:5240H LINE# 68
+ C:5242H LINE# 70
+ C:5242H LINE# 71
+ C:5244H LINE# 72
+ C:5246H LINE# 73
+ C:5249H LINE# 74
+ C:5249H LINE# 75
+ C:5250H LINE# 76
+ C:5256H LINE# 77
+ C:5256H LINE# 78
+ C:5257H LINE# 79
+ C:5266H LINE# 80
+ C:5266H LINE# 81
+ C:526DH LINE# 82
+ C:526DH LINE# 83
+ C:526DH LINE# 84
+ ------- ENDPROC PROTECTOV
+ ------- PROC PROTECTUV
+ C:53ECH LINE# 92
+ C:53ECH LINE# 93
+ C:53ECH LINE# 94
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 87
+
+
+ C:53EFH LINE# 95
+ C:53EFH LINE# 96
+ C:53FEH LINE# 97
+ C:53FEH LINE# 98
+ C:541FH LINE# 99
+ C:541FH LINE# 100
+ C:5421H LINE# 101
+ C:5423H LINE# 102
+ C:542AH LINE# 103
+ C:5430H LINE# 104
+ C:5430H LINE# 105
+ C:5431H LINE# 106
+ C:5440H LINE# 107
+ C:5440H LINE# 108
+ C:5447H LINE# 109
+ C:5447H LINE# 110
+ C:5448H LINE# 111
+ C:544BH LINE# 112
+ C:544BH LINE# 113
+ C:545AH LINE# 114
+ C:545AH LINE# 115
+ C:5478H LINE# 116
+ C:5478H LINE# 117
+ C:547BH LINE# 118
+ C:547BH LINE# 119
+ C:547DH LINE# 120
+ C:547FH LINE# 121
+ C:5481H LINE# 123
+ C:5481H LINE# 124
+ C:5483H LINE# 125
+ C:5483H LINE# 126
+ C:548AH LINE# 127
+ C:5490H LINE# 128
+ C:5490H LINE# 129
+ C:5491H LINE# 130
+ C:54A0H LINE# 131
+ C:54A0H LINE# 132
+ C:54A7H LINE# 133
+ C:54A7H LINE# 134
+ C:54A7H LINE# 135
+ ------- ENDPROC PROTECTUV
+ ------- PROC PROTECTOTC
+ C:54A8H LINE# 143
+ C:54A8H LINE# 144
+ C:54A8H LINE# 145
+ C:54ABH LINE# 146
+ C:54ABH LINE# 147
+ C:54C1H LINE# 148
+ C:54C1H LINE# 149
+ C:54E2H LINE# 150
+ C:54E2H LINE# 151
+ C:54E4H LINE# 152
+ C:54EBH LINE# 153
+ C:54F1H LINE# 154
+ C:54F1H LINE# 155
+ C:54F2H LINE# 156
+ C:5501H LINE# 157
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 88
+
+
+ C:5501H LINE# 158
+ C:5508H LINE# 159
+ C:5508H LINE# 160
+ C:5509H LINE# 162
+ C:5509H LINE# 163
+ C:551FH LINE# 164
+ C:551FH LINE# 165
+ C:553DH LINE# 166
+ C:553DH LINE# 167
+ C:553FH LINE# 168
+ C:5546H LINE# 169
+ C:554CH LINE# 170
+ C:554CH LINE# 171
+ C:554DH LINE# 172
+ C:555CH LINE# 173
+ C:555CH LINE# 174
+ C:5563H LINE# 175
+ C:5563H LINE# 176
+ C:5563H LINE# 177
+ ------- ENDPROC PROTECTOTC
+ ------- PROC PROTECTUTC
+ C:5564H LINE# 186
+ C:5564H LINE# 187
+ C:5564H LINE# 188
+ C:5567H LINE# 189
+ C:5567H LINE# 190
+ C:557DH LINE# 191
+ C:557DH LINE# 192
+ C:559EH LINE# 193
+ C:559EH LINE# 194
+ C:55A0H LINE# 195
+ C:55A7H LINE# 196
+ C:55ADH LINE# 197
+ C:55ADH LINE# 198
+ C:55AEH LINE# 199
+ C:55BDH LINE# 200
+ C:55BDH LINE# 201
+ C:55C4H LINE# 202
+ C:55C4H LINE# 203
+ C:55C5H LINE# 205
+ C:55C5H LINE# 206
+ C:55DBH LINE# 207
+ C:55DBH LINE# 208
+ C:55F9H LINE# 209
+ C:55F9H LINE# 210
+ C:55FBH LINE# 211
+ C:5602H LINE# 212
+ C:5608H LINE# 213
+ C:5608H LINE# 214
+ C:5609H LINE# 215
+ C:5618H LINE# 216
+ C:5618H LINE# 217
+ C:561FH LINE# 218
+ C:561FH LINE# 219
+ C:561FH LINE# 220
+ ------- ENDPROC PROTECTUTC
+ ------- PROC PROTECTOTD
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 89
+
+
+ C:5620H LINE# 229
+ C:5620H LINE# 230
+ C:5620H LINE# 231
+ C:5623H LINE# 232
+ C:5623H LINE# 233
+ C:5639H LINE# 234
+ C:5639H LINE# 235
+ C:565AH LINE# 236
+ C:565AH LINE# 237
+ C:565CH LINE# 238
+ C:5663H LINE# 239
+ C:5669H LINE# 240
+ C:5669H LINE# 241
+ C:566AH LINE# 242
+ C:5679H LINE# 243
+ C:5679H LINE# 244
+ C:5680H LINE# 245
+ C:5680H LINE# 246
+ C:5681H LINE# 248
+ C:5681H LINE# 249
+ C:5697H LINE# 250
+ C:5697H LINE# 251
+ C:56B5H LINE# 252
+ C:56B5H LINE# 253
+ C:56B7H LINE# 254
+ C:56BEH LINE# 255
+ C:56C4H LINE# 256
+ C:56C4H LINE# 257
+ C:56C5H LINE# 258
+ C:56D4H LINE# 259
+ C:56D4H LINE# 260
+ C:56DBH LINE# 261
+ C:56DBH LINE# 262
+ C:56DBH LINE# 263
+ ------- ENDPROC PROTECTOTD
+ ------- PROC PROTECTUTD
+ C:56DCH LINE# 272
+ C:56DCH LINE# 273
+ C:56DCH LINE# 274
+ C:56DFH LINE# 275
+ C:56DFH LINE# 276
+ C:56F5H LINE# 277
+ C:56F5H LINE# 278
+ C:5716H LINE# 279
+ C:5716H LINE# 280
+ C:5718H LINE# 281
+ C:571FH LINE# 282
+ C:5725H LINE# 283
+ C:5725H LINE# 284
+ C:5726H LINE# 285
+ C:5735H LINE# 286
+ C:5735H LINE# 287
+ C:573CH LINE# 288
+ C:573CH LINE# 289
+ C:573DH LINE# 291
+ C:573DH LINE# 292
+ C:5753H LINE# 293
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 90
+
+
+ C:5753H LINE# 294
+ C:5771H LINE# 295
+ C:5771H LINE# 296
+ C:5773H LINE# 297
+ C:577AH LINE# 298
+ C:5780H LINE# 299
+ C:5780H LINE# 300
+ C:5781H LINE# 301
+ C:5790H LINE# 302
+ C:5790H LINE# 303
+ C:5797H LINE# 304
+ C:5797H LINE# 305
+ C:5797H LINE# 306
+ ------- ENDPROC PROTECTUTD
+ ------- PROC PROTECTOCC
+ C:6CC7H LINE# 316
+ C:6CC7H LINE# 317
+ C:6CC7H LINE# 318
+ C:6CCAH LINE# 319
+ C:6CCAH LINE# 320
+ C:6CDCH LINE# 321
+ C:6CDCH LINE# 322
+ C:6CFAH LINE# 323
+ C:6CFAH LINE# 324
+ C:6CFCH LINE# 325
+ C:6CFEH LINE# 326
+ C:6D05H LINE# 327
+ C:6D05H LINE# 328
+ C:6D06H LINE# 329
+ C:6D09H LINE# 330
+ C:6D09H LINE# 331
+ C:6D18H LINE# 332
+ C:6D18H LINE# 333
+ C:6D1FH LINE# 334
+ C:6D1FH LINE# 335
+ C:6D1FH LINE# 336
+ C:6D1FH LINE# 337
+ ------- ENDPROC PROTECTOCC
+ ------- PROC PROTECTOCD1
+ C:6D20H LINE# 346
+ C:6D20H LINE# 347
+ C:6D20H LINE# 348
+ C:6D23H LINE# 349
+ C:6D23H LINE# 350
+ C:6D35H LINE# 351
+ C:6D35H LINE# 352
+ C:6D53H LINE# 353
+ C:6D53H LINE# 354
+ C:6D5AH LINE# 355
+ C:6D5CH LINE# 356
+ C:6D5EH LINE# 357
+ C:6D5EH LINE# 358
+ C:6D5FH LINE# 359
+ C:6D62H LINE# 360
+ C:6D62H LINE# 361
+ C:6D71H LINE# 362
+ C:6D71H LINE# 363
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 91
+
+
+ C:6D78H LINE# 364
+ C:6D78H LINE# 365
+ C:6D78H LINE# 366
+ C:6D78H LINE# 367
+ ------- ENDPROC PROTECTOCD1
+ ------- PROC PROTECTOCD2
+ C:6D79H LINE# 376
+ C:6D79H LINE# 377
+ C:6D79H LINE# 378
+ C:6D7CH LINE# 379
+ C:6D7CH LINE# 380
+ C:6D8EH LINE# 381
+ C:6D8EH LINE# 382
+ C:6DACH LINE# 383
+ C:6DACH LINE# 384
+ C:6DB3H LINE# 385
+ C:6DB5H LINE# 386
+ C:6DB7H LINE# 387
+ C:6DB7H LINE# 388
+ C:6DB8H LINE# 389
+ C:6DBBH LINE# 390
+ C:6DBBH LINE# 391
+ C:6DCAH LINE# 392
+ C:6DCAH LINE# 393
+ C:6DD1H LINE# 394
+ C:6DD1H LINE# 395
+ C:6DD1H LINE# 396
+ C:6DD1H LINE# 397
+ ------- ENDPROC PROTECTOCD2
+ ------- PROC PROTECTPROCESS
+ C:7C93H LINE# 406
+ C:7C93H LINE# 407
+ C:7C93H LINE# 408
+ C:7C96H LINE# 409
+ C:7C96H LINE# 410
+ C:7C99H LINE# 411
+ C:7C9CH LINE# 413
+ C:7C9FH LINE# 414
+ C:7CA2H LINE# 415
+ C:7CA5H LINE# 416
+ C:7CA8H LINE# 418
+ C:7CABH LINE# 419
+ C:7CAEH LINE# 420
+ C:7CB1H LINE# 421
+ C:7CB1H LINE# 422
+ ------- ENDPROC PROTECTPROCESS
+ ------- PROC PROTECTOCRECOVER
+ C:6410H LINE# 431
+ C:6410H LINE# 432
+ C:6410H LINE# 433
+ C:6413H LINE# 434
+ C:6413H LINE# 435
+ C:641CH LINE# 436
+ C:641CH LINE# 437
+ C:643AH LINE# 438
+ C:643AH LINE# 439
+ C:643FH LINE# 440
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 92
+
+
+ C:6445H LINE# 441
+ C:6447H LINE# 442
+ C:6449H LINE# 443
+ C:644BH LINE# 444
+ C:644DH LINE# 445
+ C:6450H LINE# 446
+ C:6450H LINE# 447
+ C:6452H LINE# 448
+ C:6455H LINE# 449
+ C:6455H LINE# 450
+ C:6455H LINE# 451
+ C:6455H LINE# 453
+ C:6458H LINE# 454
+ C:6458H LINE# 455
+ C:6476H LINE# 456
+ C:6476H LINE# 457
+ C:647DH LINE# 458
+ C:647FH LINE# 459
+ C:6483H LINE# 460
+ C:6485H LINE# 461
+ C:6485H LINE# 462
+ C:6485H LINE# 463
+ C:6485H LINE# 464
+ ------- ENDPROC PROTECTOCRECOVER
+ ------- ENDMOD PROTECT
+
+ ------- MODULE RTC
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ C:7D0CH PUBLIC RTCTwiCheck
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:5FEAH PUBLIC _RTCInitTime
+ B:002FH.2 PUBLIC bRTCTwiRWErr
+ C:6C12H PUBLIC _RTCRead
+ C:5D92H PUBLIC _RTCModifyTime
+ X:0496H PUBLIC ucRTCTwiRWErrDelayCnt
+ X:0497H PUBLIC RTC
+ B:002FH.3 PUBLIC bRTCErr
+ C:6BB7H PUBLIC _RTCWrite
+ C:3BC1H PUBLIC _RTCReadTime
+ ------- PROC RTCTWICHECK
+ C:7D0CH LINE# 23
+ C:7D0CH LINE# 24
+ C:7D0CH LINE# 25
+ C:7D0FH LINE# 26
+ C:7D0FH LINE# 27
+ C:7D12H LINE# 28
+ C:7D12H LINE# 29
+ C:7D1DH LINE# 30
+ C:7D1DH LINE# 31
+ C:7D1FH LINE# 32
+ C:7D22H LINE# 33
+ C:7D22H LINE# 34
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 93
+
+
+ C:7D23H LINE# 36
+ C:7D23H LINE# 37
+ C:7D28H LINE# 38
+ C:7D28H LINE# 39
+ C:7D28H LINE# 40
+ ------- ENDPROC RTCTWICHECK
+ ------- PROC _RTCWRITE
+ X:02EEH SYMBOL WrAddr
+ X:02EFH SYMBOL Length
+ X:02F0H SYMBOL WrBuf
+ ------- DO
+ B:002AH.0 SYMBOL Result
+ X:02F2H SYMBOL i
+ ------- ENDDO
+ C:6BB7H LINE# 49
+ C:6BC5H LINE# 50
+ C:6BC5H LINE# 51
+ C:6BC7H LINE# 54
+ C:6BCAH LINE# 55
+ C:6BCAH LINE# 56
+ C:6BCDH LINE# 57
+ C:6BCDH LINE# 59
+ C:6BF5H LINE# 60
+ C:6BF5H LINE# 61
+ C:6BF7H LINE# 62
+ C:6BF9H LINE# 63
+ C:6BF9H LINE# 71
+ C:6BFEH LINE# 72
+ C:6C0AH LINE# 73
+ C:6C0AH LINE# 74
+ C:6C0FH LINE# 76
+ C:6C11H LINE# 77
+ ------- ENDPROC _RTCWRITE
+ ------- PROC _RTCREAD
+ X:02E4H SYMBOL RdAddr
+ X:02E5H SYMBOL Length
+ X:02E6H SYMBOL RdBuf
+ ------- DO
+ B:0029H.7 SYMBOL Result
+ X:02E8H SYMBOL i
+ ------- ENDDO
+ C:6C12H LINE# 86
+ C:6C20H LINE# 87
+ C:6C20H LINE# 88
+ C:6C22H LINE# 91
+ C:6C25H LINE# 92
+ C:6C25H LINE# 93
+ C:6C28H LINE# 94
+ C:6C28H LINE# 96
+ C:6C50H LINE# 97
+ C:6C50H LINE# 98
+ C:6C52H LINE# 99
+ C:6C54H LINE# 100
+ C:6C54H LINE# 108
+ C:6C59H LINE# 109
+ C:6C65H LINE# 110
+ C:6C65H LINE# 111
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 94
+
+
+ C:6C6AH LINE# 113
+ C:6C6CH LINE# 114
+ ------- ENDPROC _RTCREAD
+ ------- PROC _RTCREADTIME
+ X:02D9H SYMBOL RtcRdVal
+ ------- DO
+ X:02DBH SYMBOL rtcbuf
+ B:0029H.6 SYMBOL Result
+ ------- ENDDO
+ C:3BC1H LINE# 122
+ C:3BC9H LINE# 123
+ C:3BC9H LINE# 125
+ C:3BCBH LINE# 127
+ C:3BDBH LINE# 128
+ C:3BDBH LINE# 129
+ C:3BE5H LINE# 130
+ C:3BE5H LINE# 131
+ C:3C92H LINE# 139
+ C:3C92H LINE# 140
+ C:3CA3H LINE# 141
+ C:3CADH LINE# 142
+ C:3CBEH LINE# 143
+ C:3CCAH LINE# 144
+ C:3CDDH LINE# 145
+ C:3CEBH LINE# 146
+ C:3CFEH LINE# 148
+ C:3D07H LINE# 149
+ C:3D09H LINE# 151
+ C:3D09H LINE# 152
+ C:3D1CH LINE# 153
+ C:3D26H LINE# 154
+ C:3D33H LINE# 155
+ C:3D3FH LINE# 156
+ C:3D4FH LINE# 157
+ C:3D5FH LINE# 158
+ C:3D6FH LINE# 160
+ C:3D71H LINE# 161
+ C:3D71H LINE# 162
+ C:3D73H LINE# 164
+ C:3D73H LINE# 165
+ C:3D80H LINE# 166
+ C:3D80H LINE# 167
+ C:3D80H LINE# 169
+ C:3D82H LINE# 170
+ ------- ENDPROC _RTCREADTIME
+ ------- PROC _RTCMODIFYTIME
+ X:02E4H SYMBOL RtcMdyVal
+ ------- DO
+ B:0029H.7 SYMBOL Result
+ X:02E6H SYMBOL rtcdata
+ X:02E7H SYMBOL rtctemp
+ ------- ENDDO
+ C:5D92H LINE# 179
+ C:5D9AH LINE# 180
+ C:5D9AH LINE# 181
+ C:5D9CH LINE# 185
+ C:5DA0H LINE# 186
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 95
+
+
+ C:5DADH LINE# 188
+ C:5DBEH LINE# 189
+ C:5DC8H LINE# 190
+ C:5DDDH LINE# 191
+ C:5DE9H LINE# 192
+ C:5DFDH LINE# 193
+ C:5E0BH LINE# 194
+ C:5E1EH LINE# 196
+ C:5E2BH LINE# 198
+ C:5E2DH LINE# 199
+ ------- ENDPROC _RTCMODIFYTIME
+ ------- PROC _RTCINITTIME
+ X:02B7H SYMBOL RtcInitVal
+ ------- DO
+ B:0029H.5 SYMBOL Result
+ X:02B9H SYMBOL rtcbuf
+ D:0007H SYMBOL i
+ X:02C2H SYMBOL checksum
+ ------- ENDDO
+ C:5FEAH LINE# 208
+ C:5FF2H LINE# 209
+ C:5FF2H LINE# 210
+ C:5FF4H LINE# 213
+ C:5FF9H LINE# 215
+ C:6003H LINE# 217
+ C:6010H LINE# 218
+ C:6012H LINE# 219
+ C:6012H LINE# 220
+ C:6024H LINE# 221
+ C:6029H LINE# 223
+ C:603BH LINE# 224
+ C:603BH LINE# 225
+ C:6040H LINE# 226
+ C:6042H LINE# 227
+ C:6046H LINE# 228
+ C:604AH LINE# 229
+ C:604EH LINE# 230
+ C:6052H LINE# 231
+ C:6056H LINE# 232
+ C:6056H LINE# 234
+ C:6067H LINE# 235
+ C:6074H LINE# 237
+ C:6076H LINE# 238
+ ------- ENDPROC _RTCINITTIME
+ ------- ENDMOD RTC
+
+ ------- MODULE TWI
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ D:008AH PUBLIC TWIBR
+ D:00C6H PUBLIC TWICR
+ D:0089H PUBLIC TWTFREE
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 96
+
+
+ C:3D83H PUBLIC _TwiRead
+ D:00B1H PUBLIC RSTSTAT
+ C:7D46H PUBLIC _CRC8cal
+ D:00E6H PUBLIC TWITOUT
+ C:47FEH PUBLIC _TwiWrite
+ C:7DABH PUBLIC TwiInit
+ D:008DH PUBLIC TWIDAT
+ D:00C8H PUBLIC TWICON
+ D:00D1H PUBLIC TWISTA
+ C:7B94H PUBLIC _TWICheckStatus
+ C:4E22H PUBLIC CRC8Table
+ ------- PROC _CRC8CAL
+ D:0001H SYMBOL p
+ D:0005H SYMBOL counter
+ ------- DO
+ D:0007H SYMBOL crc8
+ ------- ENDDO
+ C:7D46H LINE# 38
+ C:7D46H LINE# 39
+ C:7D46H LINE# 40
+ C:7D48H LINE# 42
+ C:7D4EH LINE# 43
+ C:7D4EH LINE# 44
+ C:7D57H LINE# 45
+ C:7D5EH LINE# 46
+ C:7D61H LINE# 47
+ C:7D61H LINE# 48
+ ------- ENDPROC _CRC8CAL
+ ------- PROC _TWICHECKSTATUS
+ D:0007H SYMBOL Status
+ ------- DO
+ B:002AH.2 SYMBOL Result
+ D:0004H SYMBOL timeoutcount
+ ------- ENDDO
+ C:7B94H LINE# 59
+ C:7B94H LINE# 60
+ C:7B94H LINE# 61
+ C:7B96H LINE# 62
+ C:7B9AH LINE# 64
+ C:7B9FH LINE# 65
+ C:7B9FH LINE# 66
+ C:7BA2H LINE# 67
+ C:7BA6H LINE# 68
+ C:7BA6H LINE# 69
+ C:7BABH LINE# 70
+ C:7BADH LINE# 72
+ C:7BADH LINE# 73
+ C:7BADH LINE# 74
+ C:7BADH LINE# 75
+ C:7BAFH LINE# 76
+ C:7BB6H LINE# 77
+ C:7BB6H LINE# 78
+ C:7BB8H LINE# 79
+ C:7BB8H LINE# 81
+ C:7BBAH LINE# 82
+ ------- ENDPROC _TWICHECKSTATUS
+ ------- PROC _TWIWRITE
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 97
+
+
+ X:02F3H SYMBOL SlaveID
+ X:02F4H SYMBOL WrAddr
+ X:02F6H SYMBOL AddrType
+ X:02F7H SYMBOL Length
+ X:02F8H SYMBOL CrcFlg
+ X:02F9H SYMBOL WrBuf
+ ------- DO
+ D:0006H SYMBOL i
+ X:02FBH SYMBOL TempBuf
+ B:002AH.1 SYMBOL Result
+ X:02FFH SYMBOL timeoutcount
+ C:491FH SYMBOL WrErr
+ ------- ENDDO
+ C:47FEH LINE# 98
+ C:480EH LINE# 99
+ C:480EH LINE# 102
+ C:4810H LINE# 103
+ C:481AH LINE# 105
+ C:481FH LINE# 106
+ C:4822H LINE# 107
+ C:4832H LINE# 108
+ C:4842H LINE# 110
+ C:484EH LINE# 111
+ C:484EH LINE# 112
+ C:4857H LINE# 113
+ C:485AH LINE# 114
+ C:4868H LINE# 115
+ C:4868H LINE# 116
+ C:486AH LINE# 117
+ C:486DH LINE# 118
+ C:486DH LINE# 120
+ C:4873H LINE# 121
+ C:4876H LINE# 122
+ C:487DH LINE# 123
+ C:487DH LINE# 124
+ C:487FH LINE# 125
+ C:4882H LINE# 126
+ C:4882H LINE# 128
+ C:4889H LINE# 129
+ C:4889H LINE# 130
+ C:488FH LINE# 131
+ C:4892H LINE# 132
+ C:4899H LINE# 133
+ C:4899H LINE# 134
+ C:489BH LINE# 135
+ C:489EH LINE# 136
+ C:489EH LINE# 137
+ C:489EH LINE# 139
+ C:48A6H LINE# 140
+ C:48A9H LINE# 141
+ C:48B0H LINE# 142
+ C:48B0H LINE# 143
+ C:48B2H LINE# 144
+ C:48B4H LINE# 145
+ C:48B4H LINE# 147
+ C:48BCH LINE# 148
+ C:48BCH LINE# 149
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 98
+
+
+ C:48C8H LINE# 150
+ C:48CBH LINE# 151
+ C:48D2H LINE# 152
+ C:48D2H LINE# 153
+ C:48D4H LINE# 154
+ C:48D6H LINE# 155
+ C:48D6H LINE# 157
+ C:48DCH LINE# 158
+ C:48DFH LINE# 159
+ C:48E6H LINE# 160
+ C:48E6H LINE# 161
+ C:48E8H LINE# 162
+ C:48EAH LINE# 163
+ C:48EAH LINE# 164
+ C:48EAH LINE# 166
+ C:48EAH LINE# 167
+ C:48F6H LINE# 168
+ C:48F6H LINE# 169
+ C:4904H LINE# 170
+ C:4907H LINE# 171
+ C:490EH LINE# 172
+ C:490EH LINE# 173
+ C:4910H LINE# 174
+ C:4912H LINE# 175
+ C:4912H LINE# 176
+ C:491CH LINE# 177
+ C:491FH LINE# 178
+ C:491FH LINE# 179
+ C:491FH LINE# 180
+ C:4922H LINE# 181
+ C:4927H LINE# 182
+ C:4927H LINE# 183
+ C:492AH LINE# 184
+ C:4934H LINE# 185
+ C:4934H LINE# 186
+ C:493EH LINE# 187
+ C:4940H LINE# 189
+ C:4940H LINE# 190
+ C:4940H LINE# 191
+ C:4940H LINE# 192
+ C:4942H LINE# 193
+ C:4942H LINE# 195
+ C:4944H LINE# 196
+ ------- ENDPROC _TWIWRITE
+ ------- PROC _TWIREAD
+ D:0002H SYMBOL SlaveID
+ X:02EAH SYMBOL RdAddr
+ D:0003H SYMBOL AddrType
+ X:02EDH SYMBOL Length
+ X:02EEH SYMBOL CrcFlg
+ X:02EFH SYMBOL RdBuf
+ ------- DO
+ B:002AH.0 SYMBOL Result
+ X:02F1H SYMBOL i
+ X:02F2H SYMBOL TempBuf
+ X:0320H SYMBOL RdCrc
+ X:0321H SYMBOL timeoutcount
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 99
+
+
+ C:3F16H SYMBOL RdErr
+ ------- ENDDO
+ C:3D83H LINE# 210
+ C:3D8DH LINE# 211
+ C:3D8DH LINE# 212
+ C:3D8FH LINE# 215
+ C:3D94H LINE# 216
+ C:3D9CH LINE# 218
+ C:3DA1H LINE# 219
+ C:3DA4H LINE# 221
+ C:3DA9H LINE# 223
+ C:3DB5H LINE# 224
+ C:3DB5H LINE# 225
+ C:3DBEH LINE# 226
+ C:3DC1H LINE# 227
+ C:3DCFH LINE# 228
+ C:3DCFH LINE# 229
+ C:3DD1H LINE# 230
+ C:3DD4H LINE# 231
+ C:3DD4H LINE# 233
+ C:3DD6H LINE# 234
+ C:3DD9H LINE# 235
+ C:3DE0H LINE# 236
+ C:3DE0H LINE# 237
+ C:3DE2H LINE# 238
+ C:3DE5H LINE# 239
+ C:3DE5H LINE# 241
+ C:3DE9H LINE# 242
+ C:3DE9H LINE# 243
+ C:3DEFH LINE# 244
+ C:3DF2H LINE# 245
+ C:3DF9H LINE# 246
+ C:3DF9H LINE# 247
+ C:3DFBH LINE# 248
+ C:3DFEH LINE# 249
+ C:3DFEH LINE# 250
+ C:3DFEH LINE# 252
+ C:3E06H LINE# 253
+ C:3E09H LINE# 254
+ C:3E10H LINE# 255
+ C:3E10H LINE# 256
+ C:3E12H LINE# 257
+ C:3E15H LINE# 258
+ C:3E15H LINE# 271
+ C:3E18H LINE# 272
+ C:3E26H LINE# 273
+ C:3E26H LINE# 274
+ C:3E28H LINE# 275
+ C:3E2BH LINE# 276
+ C:3E2BH LINE# 278
+ C:3E30H LINE# 279
+ C:3E33H LINE# 280
+ C:3E3AH LINE# 281
+ C:3E3AH LINE# 282
+ C:3E3CH LINE# 283
+ C:3E3FH LINE# 284
+ C:3E3FH LINE# 286
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 100
+
+
+ C:3E52H LINE# 287
+ C:3E52H LINE# 288
+ C:3E58H LINE# 289
+ C:3E58H LINE# 290
+ C:3E5DH LINE# 291
+ C:3E5DH LINE# 292
+ C:3E60H LINE# 293
+ C:3E65H LINE# 294
+ C:3E67H LINE# 296
+ C:3E67H LINE# 297
+ C:3E6AH LINE# 298
+ C:3E6FH LINE# 299
+ C:3E6FH LINE# 300
+ C:3E7DH LINE# 301
+ C:3E87H LINE# 302
+ C:3E89H LINE# 304
+ C:3E89H LINE# 305
+ C:3E8CH LINE# 306
+ C:3E91H LINE# 307
+ C:3EA1H LINE# 308
+ C:3EA1H LINE# 309
+ C:3EA9H LINE# 311
+ C:3EB1H LINE# 312
+ C:3EB1H LINE# 313
+ C:3EB4H LINE# 314
+ C:3EB9H LINE# 315
+ C:3EBFH LINE# 316
+ C:3ED6H LINE# 317
+ C:3ED6H LINE# 318
+ C:3EE9H LINE# 319
+ C:3EE9H LINE# 320
+ C:3F02H LINE# 321
+ C:3F0CH LINE# 322
+ C:3F14H LINE# 323
+ C:3F14H LINE# 325
+ C:3F14H LINE# 326
+ C:3F16H LINE# 327
+ C:3F16H LINE# 328
+ C:3F16H LINE# 329
+ C:3F16H LINE# 330
+ C:3F16H LINE# 331
+ C:3F19H LINE# 332
+ C:3F1EH LINE# 333
+ C:3F1EH LINE# 334
+ C:3F21H LINE# 335
+ C:3F2BH LINE# 336
+ C:3F2BH LINE# 337
+ C:3F35H LINE# 338
+ C:3F37H LINE# 340
+ C:3F37H LINE# 341
+ C:3F37H LINE# 342
+ C:3F37H LINE# 343
+ C:3F39H LINE# 344
+ C:3F39H LINE# 346
+ C:3F3BH LINE# 347
+ ------- ENDPROC _TWIREAD
+ ------- PROC TWIINIT
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 101
+
+
+ C:7DABH LINE# 367
+ C:7DABH LINE# 368
+ C:7DABH LINE# 369
+ C:7DAEH LINE# 370
+ C:7DB1H LINE# 371
+ C:7DB3H LINE# 372
+ C:7DB6H LINE# 373
+ C:7DB9H LINE# 397
+ C:7DBCH LINE# 398
+ C:7DBFH LINE# 399
+ C:7DC1H LINE# 400
+ ------- ENDPROC TWIINIT
+ ------- ENDMOD TWI
+
+ ------- MODULE UART
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C4H PUBLIC UART0CR
+ D:00C0H PUBLIC P4
+ C:6980H PUBLIC UART0Init
+ D:009DH PUBLIC SBRTH
+ D:0080H PUBLIC P5
+ D:009CH PUBLIC SBRTL
+ B:0098H.0 PUBLIC RI
+ B:0098H.1 PUBLIC TI
+ D:0099H PUBLIC SBUF
+ D:0087H PUBLIC PCON
+ D:0098H PUBLIC SCON
+ C:7CB2H PUBLIC InterruptUART0
+ D:0086H PUBLIC INSCON
+ D:009BH PUBLIC SADEN
+ D:009AH PUBLIC SADDR
+ D:009EH PUBLIC SFINE
+ ------- PROC UART0INIT
+ ------- DO
+ X:02B7H SYMBOL TempVal
+ ------- ENDDO
+ C:6980H LINE# 19
+ C:6980H LINE# 20
+ C:6980H LINE# 22
+ C:6983H LINE# 84
+ C:6983H LINE# 86
+ C:6986H LINE# 87
+ C:6989H LINE# 92
+ C:6993H LINE# 93
+ C:6999H LINE# 94
+ C:699CH LINE# 95
+ C:69D7H LINE# 97
+ C:69DAH LINE# 98
+ C:69DDH LINE# 99
+ C:69E0H LINE# 100
+ C:69E0H LINE# 101
+ ------- ENDPROC UART0INIT
+ ------- PROC INTERRUPTUART0
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 102
+
+
+ ------- DO
+ X:02B6H SYMBOL RxData
+ ------- ENDDO
+ C:7CB2H LINE# 110
+ C:7CB8H LINE# 114
+ C:7CBAH LINE# 115
+ C:7CBDH LINE# 117
+ C:7CC0H LINE# 118
+ C:7CC0H LINE# 119
+ C:7CC2H LINE# 120
+ C:7CC8H LINE# 122
+ C:7CC8H LINE# 124
+ C:7CC8H LINE# 125
+ C:7CC8H LINE# 129
+ C:7CC8H LINE# 131
+ C:7CCAH LINE# 132
+ ------- ENDPROC INTERRUPTUART0
+ ------- ENDMOD UART
+
+ ------- MODULE THERMISTOR
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:4A89H PUBLIC NTC103AT
+ ------- ENDMOD THERMISTOR
+
+ ------- MODULE TWIIO
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ ------- ENDMOD TWIIO
+
+ ------- MODULE ?C_STARTUP
+ C:7C73H SEGMENT ?C_C51STARTUP
+ C:1000H PUBLIC ?C_STARTUP
+ N:00B2H SYMBOL CLKCON
+ D:0083H SYMBOL DPH
+ D:0082H SYMBOL DPL
+ C:7C79H SYMBOL FOR_EACH_IDATA
+ C:7C83H SYMBOL FOR_EACH_XDATA
+ D:0081H SYMBOL SP
+ C:7C73H SYMBOL STARTUP1
+ C:1000H LINE# 12
+ C:7C73H LINE# 18
+ C:7C76H LINE# 19
+ C:7C77H LINE# 22
+ C:7C79H LINE# 24
+ C:7C7BH LINE# 25
+ C:7C7CH LINE# 26
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 103
+
+
+ C:7C7FH LINE# 28
+ C:7C80H LINE# 29
+ C:7C83H LINE# 31
+ C:7C84H LINE# 32
+ C:7C85H LINE# 33
+ C:7C87H LINE# 34
+ C:7C89H LINE# 35
+ C:7C8CH LINE# 36
+ C:7C8FH LINE# 37
+ C:7C90H LINE# 38
+ ------- ENDMOD ?C_STARTUP
+
+ ------- MODULE GASGAUGEINTER_V4_13
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ X:0323H PUBLIC E2uiDsgCorrectVol
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ X:0325H PUBLIC Info_uiRSOC
+ X:0327H PUBLIC E2ulIdleSocTimes
+ X:032BH PUBLIC Info_uiRsocCnt
+ X:032DH PUBLIC E2ulChgerEndVol
+ X:0331H PUBLIC E2ucChgCurRatio
+ X:0332H PUBLIC Info_uiSocDecTime
+ X:0334H PUBLIC Info_ulTempDsgFcc
+ X:0338H PUBLIC E2ui_CYCLECOUNTA_B
+ X:033AH PUBLIC E2ui_CYCLECOUNTB_B
+ X:033CH PUBLIC E2uiTempFCC_K1
+ X:033EH PUBLIC E2uiTempFCC_K2
+ X:0340H PUBLIC E2uiChgEndTemp
+ X:0342H PUBLIC E2ucFccUpdatePercent
+ X:0343H PUBLIC Info_ulFCC
+ X:0347H PUBLIC E2ui_CYCLECOUNTA_K
+ X:0349H PUBLIC E2ui_CYCLECOUNTB_K
+ X:034BH PUBLIC E2ucChgCorrectSOC
+ X:034CH PUBLIC E2ucInitSocDif
+ X:034DH PUBLIC Info_ulVoltage
+ X:0351H PUBLIC E2uiDsgEndTemp
+ X:0353H PUBLIC E2ulLoadEndVol
+ X:0357H PUBLIC E2ucDsgCorrectSOC
+ X:0358H PUBLIC Info_ulDfilterRC
+ X:035CH PUBLIC E2uiUpdateCycleCount
+ X:035EH PUBLIC E2ucDsgVolDet
+ D:001AH PUBLIC uiCellVminG
+ X:035FH PUBLIC slAdcCur2
+ D:001CH PUBLIC uiCellVmaxG
+ X:0363H PUBLIC E2ucChgerEndDelay
+ X:0364H PUBLIC Info_uiCycleCount
+ X:0366H PUBLIC E2slDsgAdjMaxCurr
+ X:036AH PUBLIC E2ucDsgAdjLowFlg
+ X:036BH PUBLIC E2ucInitUpSoc
+ X:036CH PUBLIC E2uiDsgAdjLowTemp
+ X:036EH PUBLIC E2ucChgChangeSocRatio
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 104
+
+
+ X:036FH PUBLIC E2ucDsgAdjLowSoc
+ X:0370H PUBLIC E2uiTempFCC_B
+ X:0372H PUBLIC siCurCompens
+ X:0374H PUBLIC Info_uiTemp
+ X:0376H PUBLIC Info_ulRC
+ X:037AH PUBLIC E2ucChgChangeSocDif
+ C:39FCH PUBLIC GasGaugeVarIn
+ X:037BH PUBLIC Info_slCurr
+ C:6E78H PUBLIC GasGaugeVarOut
+ X:037FH PUBLIC E2uiChgCorrectVol
+ X:0381H PUBLIC E2ui_CYCLECOUNTA
+ X:0383H PUBLIC E2ui_CYCLECOUNTB
+ X:0385H PUBLIC E2ui_CYCLECOUNTC
+ X:0387H PUBLIC E2ucChgAdjRatio
+ X:0388H PUBLIC E2ucChg100Ratio
+ X:0389H PUBLIC E2ucFullDsgDelay
+ ------- PROC GASGAUGEVARIN
+ ------- DO
+ B:0029H.5 SYMBOL eabak
+ ------- ENDDO
+ C:39FCH LINE# 114
+ C:39FCH LINE# 115
+ C:39FCH LINE# 118
+ C:3A00H LINE# 119
+ C:3A02H LINE# 120
+ C:3A11H LINE# 121
+ C:3A1DH LINE# 122
+ C:3A29H LINE# 123
+ C:3A38H LINE# 124
+ C:3A44H LINE# 125
+ C:3A53H LINE# 126
+ C:3A64H LINE# 127
+ C:3A6AH LINE# 128
+ C:3A70H LINE# 130
+ C:3A7AH LINE# 131
+ C:3A81H LINE# 133
+ C:3A85H LINE# 135
+ C:3A8BH LINE# 136
+ C:3A91H LINE# 137
+ C:3A99H LINE# 138
+ C:3AA3H LINE# 139
+ C:3AA8H LINE# 140
+ C:3AADH LINE# 141
+ C:3AB3H LINE# 142
+ C:3ABDH LINE# 143
+ C:3AC4H LINE# 144
+ C:3ACEH LINE# 145
+ C:3AD4H LINE# 146
+ C:3AE8H LINE# 147
+ C:3AEEH LINE# 148
+ C:3AF4H LINE# 150
+ C:3B03H LINE# 151
+ C:3B09H LINE# 152
+ C:3B21H LINE# 153
+ C:3B35H LINE# 154
+ C:3B3BH LINE# 155
+ C:3B41H LINE# 157
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 105
+
+
+ C:3B47H LINE# 158
+ C:3B4DH LINE# 159
+ C:3B53H LINE# 161
+ C:3B5DH LINE# 163
+ C:3B63H LINE# 164
+ C:3B6DH LINE# 165
+ C:3B77H LINE# 167
+ C:3B80H LINE# 168
+ C:3B89H LINE# 169
+ C:3B92H LINE# 170
+ C:3B9BH LINE# 171
+ C:3BA4H LINE# 172
+ C:3BADH LINE# 173
+ C:3BB7H LINE# 174
+ C:3BC0H LINE# 203
+ ------- ENDPROC GASGAUGEVARIN
+ ------- PROC GASGAUGEVAROUT
+ ------- DO
+ B:0029H.5 SYMBOL eabak
+ ------- ENDDO
+ C:6E78H LINE# 211
+ C:6E78H LINE# 212
+ C:6E78H LINE# 215
+ C:6E7CH LINE# 216
+ C:6E7EH LINE# 217
+ C:6E8DH LINE# 218
+ C:6E99H LINE# 219
+ C:6EA5H LINE# 220
+ C:6EB4H LINE# 221
+ C:6EB8H LINE# 222
+ C:6EBCH LINE# 223
+ C:6EC4H LINE# 224
+ C:6EC8H LINE# 252
+ ------- ENDPROC GASGAUGEVAROUT
+ ------- ENDMOD GASGAUGEINTER_V4_13
+
+ ------- MODULE BOOTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ C:7D29H PUBLIC ISPProcess
+ ------- PROC ISPPROCESS
+ C:7D29H LINE# 17
+ C:7D29H LINE# 18
+ C:7D29H LINE# 19
+ C:7D35H LINE# 20
+ C:7D35H LINE# 21
+ C:7D37H LINE# 22
+ C:7D39H LINE# 23
+ C:7D3BH LINE# 24
+ C:7D3DH LINE# 25
+ C:7D3FH LINE# 26
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 106
+
+
+ C:7D42H LINE# 27
+ C:7D45H LINE# 28
+ C:7D45H LINE# 29
+ ------- ENDPROC ISPPROCESS
+ ------- ENDMOD BOOTAPP
+
+ ------- MODULE BOOTIAP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:0000H PUBLIC g_loadercode
+ ------- ENDMOD BOOTIAP
+
+ ------- MODULE ?C?FPADD
+ C:1C81H PUBLIC ?C?FPADD
+ C:1C7DH PUBLIC ?C?FPSUB
+ ------- ENDMOD ?C?FPADD
+
+ ------- MODULE ?C?FPMUL
+ C:1D72H PUBLIC ?C?FPMUL
+ ------- ENDMOD ?C?FPMUL
+
+ ------- MODULE ?C?FPDIV
+ C:1E7BH PUBLIC ?C?FPDIV
+ ------- ENDMOD ?C?FPDIV
+
+ ------- MODULE ?C?FCAST
+ C:1F22H PUBLIC ?C?FCASTC
+ C:1F1DH PUBLIC ?C?FCASTI
+ C:1F18H PUBLIC ?C?FCASTL
+ ------- ENDMOD ?C?FCAST
+
+ ------- MODULE ?C?CASTF
+ C:1F56H PUBLIC ?C?CASTF
+ ------- ENDMOD ?C?CASTF
+
+ ------- MODULE PRINTF
+ X:02B7H PUBLIC ?_PRINTF?BYTE
+ X:02B7H PUBLIC ?_SPRINTF?BYTE
+ C:2C8EH PUBLIC _PRINTF
+ C:2C88H PUBLIC _SPRINTF
+ ------- ENDMOD PRINTF
+
+ ------- MODULE ?C?FPROUND
+ C:1FD7H PUBLIC ?C?FPROUND
+ ------- ENDMOD ?C?FPROUND
+
+ ------- MODULE ?C?FPCONVERT
+ C:2014H PUBLIC ?C?FPCONVERT
+ ------- ENDMOD ?C?FPCONVERT
+
+ ------- MODULE ?C?FTNPWR
+ C:2149H PUBLIC ?C?FTNPWR
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 107
+
+
+ ------- ENDMOD ?C?FTNPWR
+
+ ------- MODULE ?C?CLDPTR
+ C:2189H PUBLIC ?C?CLDPTR
+ ------- ENDMOD ?C?CLDPTR
+
+ ------- MODULE ?C?CLDOPTR
+ C:21A2H PUBLIC ?C?CLDOPTR
+ ------- ENDMOD ?C?CLDOPTR
+
+ ------- MODULE ?C?CSTPTR
+ C:21CFH PUBLIC ?C?CSTPTR
+ ------- ENDMOD ?C?CSTPTR
+
+ ------- MODULE ?C?IMUL
+ C:21E1H PUBLIC ?C?IMUL
+ ------- ENDMOD ?C?IMUL
+
+ ------- MODULE ?C?UIDIV
+ C:21F3H PUBLIC ?C?UIDIV
+ ------- ENDMOD ?C?UIDIV
+
+ ------- MODULE ?C?IILDX
+ C:2248H PUBLIC ?C?IILDX
+ ------- ENDMOD ?C?IILDX
+
+ ------- MODULE ?C?LADD
+ C:225EH PUBLIC ?C?LADD
+ ------- ENDMOD ?C?LADD
+
+ ------- MODULE ?C?LSUB
+ C:226BH PUBLIC ?C?LSUB
+ ------- ENDMOD ?C?LSUB
+
+ ------- MODULE ?C?LMUL
+ C:2279H PUBLIC ?C?LMUL
+ ------- ENDMOD ?C?LMUL
+
+ ------- MODULE ?C?ULDIV
+ C:2304H PUBLIC ?C?ULDIV
+ ------- ENDMOD ?C?ULDIV
+
+ ------- MODULE ?C?SLDIV
+ C:7602H PUBLIC ?C?SLDIV
+ ------- ENDMOD ?C?SLDIV
+
+ ------- MODULE ?C?LOR
+ C:2396H PUBLIC ?C?LOR
+ ------- ENDMOD ?C?LOR
+
+ ------- MODULE ?C?LNEG
+ C:23A3H PUBLIC ?C?LNEG
+ ------- ENDMOD ?C?LNEG
+
+ ------- MODULE ?C?SLCMP
+ C:23B1H PUBLIC ?C?SLCMP
+ ------- ENDMOD ?C?SLCMP
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 108
+
+
+
+ ------- MODULE ?C?ULCMP
+ C:23C7H PUBLIC ?C?ULCMP
+ ------- ENDMOD ?C?ULCMP
+
+ ------- MODULE ?C?ULSHR
+ C:23D8H PUBLIC ?C?ULSHR
+ ------- ENDMOD ?C?ULSHR
+
+ ------- MODULE ?C?SLSHR
+ C:23EBH PUBLIC ?C?SLSHR
+ ------- ENDMOD ?C?SLSHR
+
+ ------- MODULE ?C?LSHL
+ C:23FFH PUBLIC ?C?LSHL
+ ------- ENDMOD ?C?LSHL
+
+ ------- MODULE ?C?LLDIDATA
+ C:2412H PUBLIC ?C?LLDIDATA
+ ------- ENDMOD ?C?LLDIDATA
+
+ ------- MODULE ?C?LLDXDATA
+ C:241EH PUBLIC ?C?LLDXDATA
+ ------- ENDMOD ?C?LLDXDATA
+
+ ------- MODULE ?C?LLDIDATA0
+ C:242AH PUBLIC ?C?LLDIDATA0
+ ------- ENDMOD ?C?LLDIDATA0
+
+ ------- MODULE ?C?LLDXDATA0
+ C:2437H PUBLIC ?C?LLDXDATA0
+ ------- ENDMOD ?C?LLDXDATA0
+
+ ------- MODULE ?C?LILDXDATA
+ C:244CH PUBLIC ?C?LILDXDATA
+ C:2443H PUBLIC ?C?LILDXDATA1
+ C:2445H PUBLIC ?C?LILDXDATA8
+ ------- ENDMOD ?C?LILDXDATA
+
+ ------- MODULE ?C?LSTIDATA
+ C:2478H PUBLIC ?C?LSTIDATA
+ ------- ENDMOD ?C?LSTIDATA
+
+ ------- MODULE ?C?LSTXDATA
+ C:2484H PUBLIC ?C?LSTXDATA
+ ------- ENDMOD ?C?LSTXDATA
+
+ ------- MODULE ?C?LSTKIDATA
+ C:2490H PUBLIC ?C?LSTKIDATA
+ ------- ENDMOD ?C?LSTKIDATA
+
+ ------- MODULE ?C?LSTKXDATA
+ C:24A9H PUBLIC ?C?LSTKXDATA
+ ------- ENDMOD ?C?LSTKXDATA
+
+ ------- MODULE ?C?OFFXADD
+ C:24DAH PUBLIC ?C?OFFXADD
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 109
+
+
+ ------- ENDMOD ?C?OFFXADD
+
+ ------- MODULE ?C?PLDIXDATA
+ C:24E6H PUBLIC ?C?PLDIXDATA
+ ------- ENDMOD ?C?PLDIXDATA
+
+ ------- MODULE ?C?PSTXDATA
+ C:24FDH PUBLIC ?C?PSTXDATA
+ ------- ENDMOD ?C?PSTXDATA
+
+ ------- MODULE ?C?CCASE
+ C:2506H PUBLIC ?C?CCASE
+ ------- ENDMOD ?C?CCASE
+
+ ------- MODULE ?C?LIMUL
+ C:252CH PUBLIC ?C?LIMUL
+ ------- ENDMOD ?C?LIMUL
+
+
+
+FUNCTION REGISTER MASKS
+
+
+FUNCTION . . . . . . . . . REG MASK
+-----------------------------------
+
+AFEADCDIS. . . . . . . . . @0xf7ff
+AFEADCEN . . . . . . . . . @0xf7ff
+AFECADCDIS . . . . . . . . @0xf7ff
+AFECADCEN. . . . . . . . . @0xf7ff
+AFECHGERCHECKDIS . . . . . @0xf7ff
+AFECHGERCHECKEN. . . . . . @0xf7ff
+AFECLRFLG. . . . . . . . . @0xf7ff
+AFEENTERPD . . . . . . . . @0xf7ff
+AFEGETTEMPE. . . . . . . . @0xf7ff
+AFEGETVOL. . . . . . . . . @0xf7ff
+AFEINIT. . . . . . . . . . @0xf7ff
+AFELOADCHECKDIS. . . . . . @0xf7ff
+AFELOADCHECKEN . . . . . . @0xf7ff
+AFERAMCHECK. . . . . . . . @0xf7ff
+AFERDFLG . . . . . . . . . @0xf7ff
+AFERDSTATUS. . . . . . . . @0xf7ff
+AFETEMPADCDIS. . . . . . . @0xf7ff
+AFETEMPADCEN . . . . . . . @0xf7ff
+AFETWICHECK. . . . . . . . @0xf300
+AFEWDTDIS. . . . . . . . . @0xf7ff
+AFEWDTEN . . . . . . . . . @0xf7ff
+BALPROCESS . . . . . . . . @0xf7ff
+CALICURZERO. . . . . . . . @0xe301
+CALIRTCTIME. . . . . . . . @0xf7ff
+CHGERCHECK . . . . . . . . @0xf7ff
+CTOCHECKVOL. . . . . . . . @0xf300
+CTOTURNONCHECK . . . . . . @0xf300
+E2PROMBKBOOT . . . . . . . @0xf7ff
+E2PROMINIT . . . . . . . . @0xf7ff
+E2PROMTWICHECK . . . . . . @0xf300
+GASGAUGEVARIN. . . . . . . @0xffbf
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 110
+
+
+GASGAUGEVAROUT . . . . . . @0xff8f
+INITGPIO . . . . . . . . . @0xc000
+INITIRQ. . . . . . . . . . @0xe000
+INITVAR. . . . . . . . . . @0xf797
+INTERRUPTINT4. . . . . . . @0xf301
+INTERRUPTTIMER3. . . . . . @0xf300
+INTERRUPTTIMER3APP . . . . @0xf300
+INTERRUPTUART0 . . . . . . @0xe300
+INTERRUPTUART0APPTX. . . . @0xf38f
+KEYSCAN. . . . . . . . . . @0xf000
+LEDAUTOOFF . . . . . . . . @0xf300
+LEDDISPLAY . . . . . . . . @0xf303
+LOADCHECK. . . . . . . . . @0xf7ff
+LOWPOWERCHECK. . . . . . . @0xf301
+LOWPOWERPROCESS. . . . . . @0xf7ff
+MCUFLASHPROCESS. . . . . . @0xf7bf
+MCUFLASHWRWAITCHECK. . . . @0xf300
+MCUINTOIDLE. . . . . . . . @0xc000
+MCUINTOPD. . . . . . . . . @0xc000
+MOSCTRL. . . . . . . . . . @0xf7ff
+MOSSTATUSCHECK . . . . . . @0xc000
+PORPROTECTOTC. . . . . . . @0xf78f
+PORPROTECTOTD. . . . . . . @0xf78f
+PORPROTECTOV . . . . . . . @0xf782
+PORPROTECTUTC. . . . . . . @0xf78f
+PORPROTECTUTD. . . . . . . @0xf78f
+PORPROTECTUV . . . . . . . @0xf782
+PROTECTOCRECOVER . . . . . @0xf7ff
+PROTECTOTC . . . . . . . . @0xf7af
+PROTECTOTD . . . . . . . . @0xf7af
+PROTECTOV. . . . . . . . . @0xf7ff
+PROTECTUTC . . . . . . . . @0xf7af
+PROTECTUTD . . . . . . . . @0xf7af
+PROTECTUV. . . . . . . . . @0xf78b
+RAMCHECKPROCESS. . . . . . @0xf300
+RTCTWICHECK. . . . . . . . @0xf300
+SYSPARAINIT. . . . . . . . @0xffbf
+SYSTEMINTOPD . . . . . . . @0xf7ff
+SYSTEMINTOSLEEP. . . . . . @0xf7ff
+TWIINIT. . . . . . . . . . @0xe000
+UART0CALICUROFFSET . . . . @0xf375
+UART0CALIRTC . . . . . . . @0xf377
+UART0CALITS1 . . . . . . . @0xf377
+UART0CALITS2 . . . . . . . @0xf377
+UART0CALIVOLTAGE . . . . . @0xf377
+UART0CHECK . . . . . . . . @0xf300
+UART0HANDSHAKE . . . . . . @0xe300
+UART0IAPCHECKHANDSHAKE . . @0xf7bf
+UART0RDCMDPROCESS. . . . . @0xf3ff
+UART0RDE2PROM. . . . . . . @0xf7ff
+UART0READSUBCLASSID. . . . @0xf375
+UART0WRITEMANUFACTURE. . . @0xf375
+UART1RDE2PROM. . . . . . . @0xf7ff
+UART2RDE2PROM. . . . . . . @0xf7ff
+WAKEUPPROCESS. . . . . . . @0xf7ff
+_AFEALARMDIS . . . . . . . @0xf7ff
+_AFEALARMEN. . . . . . . . @0xf7ff
+BL51 BANKED LINKER/LOCATER V6.22 02/06/2025 15:28:46 PAGE 111
+
+
+_AFEBALCTL . . . . . . . . @0xf7ff
+_AFEMOSCTL . . . . . . . . @0xf7ff
+_AFEREADREG. . . . . . . . @0xf7ff
+_AFEWRITEREG . . . . . . . @0xf7ff
+_CRC8CAL . . . . . . . . . @0xf365
+_DELAY1MS. . . . . . . . . @0xf03e
+_E2PROMREAD. . . . . . . . @0xf7ff
+_E2PROMWRITE . . . . . . . @0xf7ff
+_GETCYCLEGAIN. . . . . . . @0xf7cf
+_INTERRUPTINT4APP. . . . . @0xf301
+_LEDGETDISNUM. . . . . . . @0xf001
+_MCUCLOCKSET . . . . . . . @0xf301
+_MCUFLASHBLANKCHECK. . . . @0xf31c
+_MCUFLASHCHECKFLG. . . . . @0xf303
+_MCUFLASHDATACHECK . . . . @0xf7af
+_MCUFLASHREAD. . . . . . . @0xf307
+_MCUFLASHWRITE . . . . . . @0xf7bf
+_MCUFLASHWRONEBYTE . . . . @0xf035
+_MCUFLASHWRSECTOR. . . . . @0xf33f
+_MEMORYCOPY. . . . . . . . @0xf78d
+_MEMORYSET . . . . . . . . @0xf781
+_PUTCHAR . . . . . . . . . @0xc000
+_RTCMODIFYTIME . . . . . . @0xf7ff
+_RTCREAD . . . . . . . . . @0xf7ff
+_RTCWRITE. . . . . . . . . @0xf7ff
+_TWICHECKSTATUS. . . . . . @0xf00c
+_TWIREAD . . . . . . . . . @0xf7ff
+_TWIWRITE. . . . . . . . . @0xf7ff
+_UART0READINFO . . . . . . @0xf37f
+_UART0WRITEINFO. . . . . . @0xf7ff
+
+*** WARNING L15: MULTIPLE CALL TO SEGMENT
+ SEGMENT: ?PR?_MCUCLOCKSET?MCULIB
+ CALLER1: ?PR?INTERRUPTINT4?INTERRUPT
+ CALLER2: ?C_C51STARTUP
+
+Program Size: data=154.7 xdata=1534 code=32641
+LINK/LOCATE RUN COMPLETE. 1 WARNING(S), 0 ERROR(S)
diff --git a/output/MCUCore_Load.plg b/output/MCUCore_Load.plg
new file mode 100644
index 0000000..3a4c682
--- /dev/null
+++ b/output/MCUCore_Load.plg
@@ -0,0 +1,9 @@
+
+
+
+礦ision Build Log
+Project:
+E:\Y\keil\ZDBMS\SH39F003&F004_DemoCode_V2.15\MCUCore.uvproj
+Project File Date: 01/23/2025
+
+Output:
diff --git a/output/Main.lst b/output/Main.lst
new file mode 100644
index 0000000..7ccd90e
--- /dev/null
+++ b/output/Main.lst
@@ -0,0 +1,167 @@
+C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE MAIN
+OBJECT MODULE PLACED IN .\output\Main.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\Main.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.O
+ -RC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_
+ -classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Main.lst) OBJECT(.\output\Main.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10 #include "stdio.h"
+ 11
+ 12 // 发送字符串
+ 13 char putchar(char c)
+ 14 {
+ 15 1 REN = 0; // 开启发送
+ 16 1 IO_485_DE = 1; // 开启485发送
+ 17 1 SBUF = c; // 发
+ 18 1 while(!TI);
+ 19 1 IO_485_DE = 0; // 关闭485发送
+ 20 1 TI = 0;
+ 21 1 return c;
+ 22 1 }
+ 23
+ 24 /*************************************************************************************************
+ 25 * 函数名: main
+ 26 * 参 数: 无
+ 27 * 返回值: 无
+ 28 * 描 述: 主函数,当初始化结束后,程序会在While(1)中死循环
+ 29 1.可通过定时器来触发各个功能模块的执行
+ 30 2.可通过其他中断源来触发对应模块的执行
+ 31 *************************************************************************************************/
+ 32 void main(void)
+ 33 {
+ 34 1 Initial(); //初始化系统
+ 35 1
+ 36 1 printf("SystemClock: 8MHz");
+ 37 1
+ 38 1 while(1)
+ 39 1 {
+ 40 2 //KeyProcess(); //按键处理
+ 41 2
+ 42 2 if(bTimer50msFlg) //50mS处理和AFE相关的数据采集、计算、保护等
+ 43 2 {
+ 44 3 McuWDTClear(); //定时清狗
+ 45 3
+ 46 3 bTimer50msFlg = 0;
+ 47 3 AFEInfoProcess(); //获取AFE信息,计算电压、温度、电流
+ 48 3
+ 49 3 BalanceProcess(); //平衡及断线处理
+ 50 3
+ 51 3 ProtectProcess(); //电压、电流、温度保护
+ 52 3
+ 53 3 PorSelfTest(); //第一次上电保护检测(延时较短,暂定50mS一次检测)
+C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 2
+
+ 54 3
+ 55 3 LoadCheck(); //检测负载是否释放
+ 56 3
+ 57 3 ChgerCheck(); //检测充电器是否释放
+ 58 3
+ 59 3 MosCtrl(); //MOS状态检测及控制
+ 60 3
+ 61 3 ProtectOCRecover(); //过流保护自恢复
+ 62 3
+ 63 3 //LedDisplay(); //LED显示
+ 64 3
+ 65 3 #if (UART0_DEFINE != 0)
+ 66 3 Uart0Check(); //检查UART0是否正常,如果不正常,则复位指针向量
+ 67 3 #endif
+ 68 3
+ 69 3 #if (UART1_DEFINE != 0)
+ Uart1Check(); //检查UART1是否正常,如果不正常,则复位指针向量
+ #endif
+ 72 3
+ 73 3 #if (UART2_DEFINE != 0)
+ Uart2Check(); //检查UART2是否正常,如果不正常,则复位指针向量
+ #endif
+ 76 3 }
+ 77 2
+ 78 2 if(bTimer1sFlg) //1s定时周期
+ 79 2 {
+ 80 3 IO_LED = ~IO_LED; //LED
+ 81 3
+ 82 3 printf("\r\n");
+ 83 3 printf("BAT0:%.2f mV\r\n", AFE.uiCell[0]*1.0*CALIVOL/E2uiVPackGain);
+ 84 3 printf("BAT1:%.2f mV\r\n", AFE.uiCell[1]*1.0*CALIVOL/E2uiVPackGain);
+ 85 3 printf("BAT2:%.2f mV\r\n", AFE.uiCell[2]*1.0*CALIVOL/E2uiVPackGain);
+ 86 3 printf("BAT3:%.2f mV\r\n", AFE.uiCell[3]*1.0*CALIVOL/E2uiVPackGain);
+ 87 3 printf("BAT4:%.2f mV\r\n", AFE.uiCell[4]*1.0*CALIVOL/E2uiVPackGain);
+ 88 3 printf("TOTAL:%.2f mV\r\n",(AFE.uiCell[1]+AFE.uiCell[2]+AFE.uiCell[3]+AFE.uiCell[4])*1.0*CALIVOL/E2uiVP
+ -ackGain);
+ 89 3 printf("\r\n");
+ 90 3 printf("TEMP0:%.2f C\r\n", AFE.uiICTempe[0]*17.0/100.0-270);
+ 91 3 // printf("TEMP1:%.2f C\r\n", (CalcuTemp(AFE.uiTS[0]) + E2siTS0Offset)*1.0);
+ 92 3 printf("TEMP1.0:%.2f C\r\n", AFE.uiTS[0]*1.0);
+ 93 3 printf("TEMP1.1:%.2f C\r\n", AFE.uiTS[1]*1.0);
+ 94 3
+ 95 3 bTimer1sFlg = 0;
+ 96 3 GasGaugeManage(); //Calculate the battery charge and discharge capacity
+ 97 3
+ 98 3 AFERamCheck(); //检测AFE寄存器是否误写
+ 99 3
+ 100 3 AFETwiCheck(); //检测AFE有无连续5S通讯错误
+ 101 3 E2PRomTwiCheck(); //检测EEPROM有无连续5S通讯错误
+ 102 3 RTCTwiCheck(); //检测RTC有无连续5S通讯错误
+ 103 3
+ 104 3 if(!RamCheckProcess()) //检测参数变量区是否误写
+ 105 3 {
+ 106 4 SysParaInit();
+ 107 4 }
+ 108 3
+ 109 3 McuFlashWrWaitCheck(); //检测是否需要更新参数到MCU Flash
+ 110 3
+ 111 3 E2PRomBKCheck(); //备份EEPROM
+ 112 3
+ 113 3 //LowPowerCheck(); //低功耗检测
+ 114 3
+C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 3
+
+ 115 3
+ 116 3 }
+ 117 2
+ 118 2 SystemResetProcess(); //系统复位
+ 119 2
+ 120 2 ISPProcess(); //在线升级代码
+ 121 2
+ 122 2 CaliProcess(); //校准
+ 123 2
+ 124 2 McuFlashProcess(); //备份参数到MCU Flash区
+ 125 2
+ 126 2 E2PRomBKProcess(); //外挂EEPROM备份
+ 127 2
+ 128 2 //LowPowerProcess(); //低功耗处理
+ 129 2
+ 130 2 Info.uiPackStatus = uiPackStatus; //更新PACK和Battery的信息,可通过UART反馈给主机
+ 131 2 Info.uiBatStatus = uiBatStatus;
+ 132 2
+ 133 2 }
+ 134 1 }
+ 135
+ 136
+ 137
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 764 ----
+ CONSTANT SIZE = 161 ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/Main.obj b/output/Main.obj
new file mode 100644
index 0000000..99838b0
Binary files /dev/null and b/output/Main.obj differ
diff --git a/output/McuFlash.lst b/output/McuFlash.lst
new file mode 100644
index 0000000..51d8254
--- /dev/null
+++ b/output/McuFlash.lst
@@ -0,0 +1,407 @@
+C51 COMPILER V9.01 MCUFLASH 02/06/2025 15:28:45 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE MCUFLASH
+OBJECT MODULE PLACED IN .\output\McuFlash.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\McuFlash.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Lo
+ -ad.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\c
+ -ode_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\McuFlash.lst) OBJECT(.\output\M
+ -cuFlash.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 BOOL bMcuFlashWrWaitFlg;
+ 13 BOOL bMcuFlashWrFlg;
+ 14 BOOL bMcuFlashErr;
+ 15 U8 xdata ucMcuFlashWrValid;
+ 16 U8 xdata bMcuFlashWrWaitCnt;
+ 17
+ 18 /*************************************************************************************************
+ 19 * 函数名: McuFlashWrOneByte
+ 20 * 参 数: McuFlashAddr:起始地址;WrData:写入的注释
+ 21 * 返回值: 无
+ 22 * 描 述: 写1个字节
+ 23 *************************************************************************************************/
+ 24 void McuFlashWrOneByte(U16 McuFlashAddr, U8 WrData)
+ 25 {
+ 26 1 IrqDis();
+ 27 1 McuFlashEn();
+ 28 1
+ 29 1 XPAGE = McuFlashAddr>>8;
+ 30 1 IB_OFFSET = McuFlashAddr % 256;
+ 31 1 IB_DATA = WrData;
+ 32 1
+ 33 1 IB_CON1 = 0x6E;
+ 34 1 IB_CON2 = 0x05;
+ 35 1 IB_CON3 = 0x0A;
+ 36 1 IB_CON4 = 0x09;
+ 37 1 if(XPAGE == (McuFlashAddr>>8))
+ 38 1 {
+ 39 2 IB_CON5 = 0x06;
+ 40 2 _nop_();
+ 41 2 _nop_();
+ 42 2 _nop_();
+ 43 2 _nop_();
+ 44 2 _nop_();
+ 45 2 }
+ 46 1
+ 47 1 McuFlashDis();
+ 48 1 IrqEn();
+ 49 1 }
+ 50
+ 51
+ 52 /*************************************************************************************************
+C51 COMPILER V9.01 MCUFLASH 02/06/2025 15:28:45 PAGE 2
+
+ 53 * 函数名: McuFlashBlankCheck
+ 54 * 参 数: McuFlashAddr:起始地址
+ 55 * 返回值: 0:非全0,Erase失败;1:全0,Erase成功
+ 56 * 描 述: 当Erase完1个Sector,需检查是否全为0
+ 57 *************************************************************************************************/
+ 58 BOOL McuFlashBlankCheck(U16 McuFlashAddr)
+ 59 {
+ 60 1 BOOL Result = 1;
+ 61 1 U16 i;
+ 62 1
+ 63 1 for(i=0; i>8;
+ 117 2 IB_DATA = *(ptr+i);
+ 118 2 IB_CON1 = 0x6E;
+ 119 2 if(!EA)
+ 120 2 {
+ 121 3 IB_CON2 = 0x05;
+ 122 3 if(FLASHCON)
+ 123 3 {
+ 124 4 IB_CON3 = 0x0A;
+ 125 4 if(ucMcuFlashWrValid == 0x55)
+ 126 4 {
+ 127 5 IB_CON4 = 0x09;
+ 128 5 if(XPAGE == ((McuFlashAddr+i)>>8))
+ 129 5 {
+ 130 6 IB_CON5 = 0x06;
+ 131 6 _nop_();
+ 132 6 _nop_();
+ 133 6 _nop_();
+ 134 6 _nop_();
+ 135 6 _nop_();
+ 136 6 Result = 1;
+ 137 6 }
+ 138 5 else
+ 139 5 {
+ 140 6 Result = 0;
+ 141 6 break;
+ 142 6 }
+ 143 5 }
+ 144 4 else
+ 145 4 {
+ 146 5 Result = 0;
+ 147 5 break;
+ 148 5 }
+ 149 4 }
+ 150 3 else
+ 151 3 {
+ 152 4 Result = 0;
+ 153 4 break;
+ 154 4 }
+ 155 3 }
+ 156 2 else
+ 157 2 {
+ 158 3 Result = 0;
+ 159 3 break;
+ 160 3 }
+ 161 2 }
+ 162 1
+ 163 1 return Result;
+ 164 1 }
+ 165
+ 166
+ 167 /*************************************************************************************************
+ 168 * 函数名: McuFlashWrite
+ 169 * 参 数: McuFlashAddr:写入的地址,长度固定为1个Sector
+ 170 * 返回值: 0:写入失败;1:写入成功
+ 171 * 描 述: 写MCU Flash的1个Sector:
+ 172 1.Erase Sector
+ 173 2.检查当前Sector是否全为0
+ 174 3.将XRAM数据写入
+ 175 4.校验XRAM和MCU Flash区数据是否一致
+ 176 *************************************************************************************************/
+C51 COMPILER V9.01 MCUFLASH 02/06/2025 15:28:45 PAGE 4
+
+ 177 BOOL McuFlashWrite(U16 McuFlashAddr, U16 XramAddr)
+ 178 {
+ 179 1 BOOL Result = 0;
+ 180 1
+ 181 1 McuWDTClear(); //清看门狗
+ 182 1 IrqDis(); //关闭中断源
+ 183 1 McuFlashEn();
+ 184 1
+ 185 1 XPAGE = McuFlashAddr >> 8;
+ 186 1 IB_CON1 = 0xE6;
+ 187 1 if(!EA)
+ 188 1 {
+ 189 2 IB_CON2 = 0x05;
+ 190 2 if(FLASHCON)
+ 191 2 {
+ 192 3 IB_CON3 = 0x0A;
+ 193 3 if(ucMcuFlashWrValid == 0x55)
+ 194 3 {
+ 195 4 IB_CON4 = 0x09;
+ 196 4 if(XPAGE == (McuFlashAddr >> 8))
+ 197 4 {
+ 198 5 IB_CON5 = 0x06;
+ 199 5 _nop_();
+ 200 5 _nop_();
+ 201 5 _nop_();
+ 202 5 _nop_();
+ 203 5 _nop_();
+ 204 5
+ 205 5 if(McuFlashBlankCheck(McuFlashAddr)) //查空
+ 206 5 {
+ 207 6 if(McuFlashWrSector(McuFlashAddr, XramAddr)) //写入
+ 208 6 {
+ 209 7 if(McuFlashDataCheck(McuFlashAddr, XramAddr)) //校验
+ 210 7 {
+ 211 8 Result = 1;
+ 212 8 }
+ 213 7 }
+ 214 6 }
+ 215 5 }
+ 216 4 }
+ 217 3 }
+ 218 2 }
+ 219 1
+ 220 1 IB_CON1 = 0;
+ 221 1 IB_CON2 = 0;
+ 222 1 IB_CON3 = 0;
+ 223 1 IB_CON4 = 0;
+ 224 1 IB_CON5 = 0;
+ 225 1
+ 226 1 McuFlashDis();
+ 227 1 XPAGE = 0x00;
+ 228 1 IrqEn();
+ 229 1
+ 230 1 return Result;
+ 231 1 }
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238 /*************************************************************************************************
+C51 COMPILER V9.01 MCUFLASH 02/06/2025 15:28:45 PAGE 5
+
+ 239 * 函数名: McuFlashProcess
+ 240 * 参 数: 无
+ 241 * 返回值: 无
+ 242 * 描 述: 写MCU Flash,同时更新备份1区和2区
+ 243 *************************************************************************************************/
+ 244 void McuFlashProcess(void)
+ 245 {
+ 246 1 BOOL McuFlashBk1WrFailFlg = 0, McuFlashBk2WrFailFlg = 0;
+ 247 1 U16 VoltageMin;
+ 248 1
+ 249 1 if(bMcuFlashWrFlg)
+ 250 1 {
+ 251 2 bMcuFlashWrFlg = 0;
+ 252 2
+ 253 2 ucMcuFlashWrValid = 0x55; //防误写检验标志
+ 254 2 if(ucCellNum > 5) //6~10串应用,需要总电压超过10V
+ 255 2 {
+ 256 3 VoltageMin = 10000;
+ 257 3 }
+ 258 2 else //3~5串应用,需要总电压超过5V
+ 259 2 {
+ 260 3 VoltageMin = 5000;
+ 261 3 }
+ 262 2
+ 263 2 if((Info.ulVoltage>=VoltageMin) && (E2uiCheckFlag==0x5AA5))
+ 264 2 {
+ 265 3 if(!McuFlashWrite(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR)) //连续写两次,如果都错误则置位错误标志
+ 266 3 {
+ 267 4 if(!McuFlashWrite(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR))
+ 268 4 {
+ 269 5 McuFlashBk1WrFailFlg = 1;
+ 270 5 E2uiCheckFlag = 0xFFFF;
+ 271 5 McuFlashWrOneByte(MCUFLASH_BK1_ADDR+510,0xFF);
+ 272 5 McuFlashWrOneByte(MCUFLASH_BK1_ADDR+511,0xFF);
+ 273 5 }
+ 274 4 }
+ 275 3
+ 276 3 if(!McuFlashWrite(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR))
+ 277 3 {
+ 278 4 if(!McuFlashWrite(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR))
+ 279 4 {
+ 280 5 McuFlashBk2WrFailFlg = 1;
+ 281 5 E2uiCheckFlag = 0xFFFF;
+ 282 5 McuFlashWrOneByte(MCUFLASH_BK2_ADDR+510,0xFF);
+ 283 5 McuFlashWrOneByte(MCUFLASH_BK2_ADDR+511,0xFF);
+ 284 5 }
+ 285 4 }
+ 286 3 }
+ 287 2 else
+ 288 2 {
+ 289 3 McuFlashBk1WrFailFlg = 1;
+ 290 3 McuFlashBk2WrFailFlg = 1;
+ 291 3 }
+ 292 2 ucMcuFlashWrValid = 0x00;
+ 293 2
+ 294 2 if(McuFlashBk1WrFailFlg && McuFlashBk2WrFailFlg) //如果Flash两个区都操作错误,则置位Flash错误标志
+ 295 2 {
+ 296 3 bMcuFlashErr = 1;
+ 297 3 }
+ 298 2 }
+ 299 1 }
+ 300
+C51 COMPILER V9.01 MCUFLASH 02/06/2025 15:28:45 PAGE 6
+
+ 301
+ 302 /*************************************************************************************************
+ 303 * 函数名: McuFlashRead
+ 304 * 参 数: SourceAddr:源地址;TargetAddr:目标地址;Length:数据长度
+ 305 * 返回值: 0:数据正确;1:数据错误
+ 306 * 描 述: 判断MCU Flash参数区的最后一个字节是否为0x5AA5,检查数据区是否被破坏
+ 307 *************************************************************************************************/
+ 308 BOOL McuFlashRead(U16 SourceAddr, U8 xdata *TargetAddr, U16 Length)
+ 309 {
+ 310 1 U16 i;
+ 311 1 BOOL Result = 1;
+ 312 1 U8 xdata *data TargetAddr1 = TargetAddr; //*后面的data关键字的作用,是把指针TargetAddr1
+ -定义在data区中
+ 313 1
+ 314 1 IrqDis();
+ 315 1 McuFlashEn();
+ 316 1 McuWDTClear();
+ 317 1 for(i=0; i= MCU_FLASH_WATI_DELAY)
+ 340 2 {
+ 341 3 bMcuFlashWrWaitFlg = 0;
+ 342 3 bMcuFlashWrWaitCnt = 0;
+ 343 3 bMcuFlashWrFlg = 1;
+ 344 3 }
+ 345 2 }
+ 346 1 }
+ 347
+ 348
+ 349 /*************************************************************************************************
+ 350 * 函数名: McuFlashCheckFlg
+ 351 * 参 数: McuFlashAddr:MCU Flash区的地址
+ 352 * 返回值: 0:数据正确;1:数据错误
+ 353 * 描 述: 判断MCU Flash参数区的最后一个字节是否为0x5AA5,检查数据区是否被破坏
+ 354 *************************************************************************************************/
+ 355 BOOL McuFlashCheckFlg(U16 McuFlashAddr)
+ 356 {
+ 357 1 BOOL Result = 0;
+ 358 1
+ 359 1 McuFlashEn();
+ 360 1 if(CWORD[McuFlashAddr/2] == 0x5AA5)
+ 361 1 {
+C51 COMPILER V9.01 MCUFLASH 02/06/2025 15:28:45 PAGE 7
+
+ 362 2 Result = 1;
+ 363 2 }
+ 364 1 McuFlashDis();
+ 365 1
+ 366 1 return Result;
+ 367 1 }
+ 368
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 820 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 2 18
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- 2
+ IDATA SIZE = ---- ----
+ BIT SIZE = 3 8
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/McuFlash.obj b/output/McuFlash.obj
new file mode 100644
index 0000000..652db2a
Binary files /dev/null and b/output/McuFlash.obj differ
diff --git a/output/McuFlash_IAP b/output/McuFlash_IAP
new file mode 100644
index 0000000..e803f6b
Binary files /dev/null and b/output/McuFlash_IAP differ
diff --git a/output/McuFlash_IAP.ORC b/output/McuFlash_IAP.ORC
new file mode 100644
index 0000000..fd17411
--- /dev/null
+++ b/output/McuFlash_IAP.ORC
@@ -0,0 +1,112 @@
+F7FF AFEADCDIS
+F7FF AFEADCEN
+F7FF AFECADCDIS
+F7FF AFECADCEN
+F7FF AFECHGERCHECKDIS
+F7FF AFECHGERCHECKEN
+F7FF AFECLRFLG
+F7FF AFEENTERPD
+F7FF AFEGETTEMPE
+F7FF AFEGETVOL
+F7FF AFEINIT
+F7FF AFELOADCHECKDIS
+F7FF AFELOADCHECKEN
+F7FF AFERAMCHECK
+F7FF AFERDFLG
+F7FF AFERDSTATUS
+F7FF AFETEMPADCDIS
+F7FF AFETEMPADCEN
+F300 AFETWICHECK
+F7FF AFEWDTDIS
+F7FF AFEWDTEN
+F7FF BALPROCESS
+E301 CALICURZERO
+F7FF CALIRTCTIME
+F7FF CHGERCHECK
+F383 CLRRAM
+F300 CTOCHECKVOL
+F300 CTOTURNONCHECK
+F7FF E2PROMBKBOOT
+F7FF E2PROMINIT
+F300 E2PROMTWICHECK
+F7BF IAPCHECKHANDSHAKE
+8000 INITGPIO
+E000 INITIRQ
+F797 INITVAR
+F003 INTERRUPTINT4
+F300 INTERRUPTTIMER3
+F300 INTERRUPTTIMER3APP
+F38F INTERRUPTUARTAPPTX
+F000 KEYSCAN
+F300 LEDAUTOOFF
+F303 LEDDISPLAY
+F7FF LOADCHECK
+F301 LOWPOWERCHECK
+F7FF LOWPOWERPROCESS
+F7BF MCUFLASHPROCESS
+F300 MCUFLASHWRWAITCHECK
+C000 MCUINTOIDLE
+C000 MCUINTOPD
+F7FF MOSCTRL
+C000 MOSSTATUSCHECK
+F78F PORPROTECTOTC
+F78F PORPROTECTOTD
+F782 PORPROTECTOV
+F78F PORPROTECTUTC
+F78F PORPROTECTUTD
+F782 PORPROTECTUV
+F7FF PROTECTOCRECOVER
+F7AF PROTECTOTC
+F7AF PROTECTOTD
+F78B PROTECTOV
+F7AF PROTECTUTC
+F7AF PROTECTUTD
+F78B PROTECTUV
+F300 RAMCHECKPROCESS
+F375 READSUBCLASSID
+F300 RTCTWICHECK
+FFBF SYSPARAINIT
+F7FF SYSTEMINTOPD
+F7FF SYSTEMINTOSLEEP
+F375 UARTCALICUROFFSET
+F377 UARTCALIRTC
+F377 UARTCALITS1
+F377 UARTCALITS2
+F377 UARTCALIVOLTAGE
+F300 UARTCHECK
+E300 UARTHANDSHAKE
+F3FF UARTRDCMDPROCESS
+F7FF UARTRDE2PROM
+F7FF WAKEUPPROCESS
+F375 WRITEMANUFACTURE
+F7FF _AFEALARMDIS
+F7FF _AFEALARMEN
+F7FF _AFEBALCTL
+F7FF _AFEMOSCTL
+F7FF _AFEREADREG
+F7FF _AFEWRITEREG
+F365 _CRC8CAL
+F03E _DELAY1MS
+F7FF _E2PROMREAD
+F7FF _E2PROMWRITE
+F003 _INTERRUPTINT4APP
+F001 _LEDGETDISNUM
+F003 _MCUCLOCKSET
+F31C _MCUFLASHBLANKCHECK
+F303 _MCUFLASHCHECKFLG
+F7AF _MCUFLASHDATACHECK
+F307 _MCUFLASHREAD
+F7BF _MCUFLASHWRITE
+F035 _MCUFLASHWRONEBYTE
+F33F _MCUFLASHWRSECTOR
+F78D _MEMORYCOPY
+F781 _MEMORYSET
+F7FF _RTCMODIFYTIME
+F7FF _RTCREAD
+F7FF _RTCWRITE
+F00C _TWICHECKSTATUS
+F48F _TWIINIT
+F7FF _TWIREAD
+F7FF _TWIWRITE
+F37F _UARTREADINFO
+F7FF _UARTWRITEINFO
diff --git a/output/McuFlash_IAP.build_log.htm b/output/McuFlash_IAP.build_log.htm
new file mode 100644
index 0000000..03ed719
--- /dev/null
+++ b/output/McuFlash_IAP.build_log.htm
@@ -0,0 +1,65 @@
+
+
+
+礦ision Build Log
+Tool Versions:
+IDE-Version: μVision V5.22.0.0
+Copyright (C) 2016 ARM Ltd and ARM Germany GmbH. All rights reserved.
+License Information: andy Microsoft, Microsoft, LIC=AT28G-VMFRM-7EZHC-7ARCJ-EDBAB-G6KE1
+
+Tool Versions:
+Toolchain: PK51 Prof. Developers Kit Version: 9.00
+Toolchain Path: C:\Keil_v5\C51\BIN
+C Compiler: C51.exe V9.00
+Assembler: A51.exe V8.01
+Linker/Locator: BL51.exe V6.22
+Library Manager: LIB51.exe V4.24
+Hex Converter: OH51.exe V2.6
+CPU DLL: S8051.DLL V3.72
+Dialog DLL: DP51.DLL V2.59
+Target DLL: SH51A.dll V1.0.0.0
+Dialog DLL: TP51.DLL V2.58
+
+Project:
+E:\BP-Project\0-SVN\bp-protect\bp-protect-sw-development\SH39F004\Demo Code\SH39F003&F004_DemoCode_V2.11\MCUCore.uvproj
+Project File Date: 12/14/2021
+
+Output:
+Build target 'McuFlalsh_IAP'
+compiling Main.c...
+compiling Initial.c...
+compiling InterruptApp.c...
+compiling Led.c...
+compiling KeyApp.c...
+compiling LowPower.c...
+compiling UartApp.c...
+compiling Memory.c...
+compiling AFE.c...
+compiling Balance.c...
+compiling Calculate.c...
+compiling Calibrate.c...
+compiling ChargerLoad.c...
+compiling ExtE2PRom.c...
+compiling Interrupt.c...
+compiling KeyScan.c...
+compiling McuFlash.c...
+compiling McuLib.c...
+compiling MosCtrl.c...
+compiling PorSelfTest.c...
+compiling Protect.c...
+compiling RTC.c...
+compiling TWI.c...
+compiling Uart.c...
+compiling Thermistor.c...
+assembling STARTUP.A51...
+compiling GasGauge.c...
+compiling BootApp.c...
+compiling DataFlash.c...
+linking...
+Program Size: data=143.6 xdata=1080 code=23457
+creating hex file from ".\output\McuFlash_IAP"...
+".\output\McuFlash_IAP" - 0 Error(s), 0 Warning(s).
+Build Time Elapsed: 00:00:09
+
+
+
diff --git a/output/McuFlash_IAP.hex b/output/McuFlash_IAP.hex
new file mode 100644
index 0000000..d631f03
--- /dev/null
+++ b/output/McuFlash_IAP.hex
@@ -0,0 +1,1637 @@
+:104EEB001256A253B1F8126319306720C2671266CB
+:104EFB00061267941264EC1260C91259CA125E4B07
+:104F0B00126349124F631244281265F2306622C2B3
+:104F1B0066121FE912537812657F126529126546D6
+:104F2B001251F540031246C91265DD123B50124A6D
+:104F3B00DE12646012672512583F123C2312564C46
+:104F4B00126053900206E524F0A3E525F0A3E522B9
+:084F5B00F0A3E523F0808C2295
+:105F16009003867401F07E027F3C7B40E4FD1263B1
+:105F2600767E027F0A7B14E4126376900224740A5A
+:105F3600F0A374ABF0A3740AF0A374ABF0C22CC246
+:105F46002D9003A07402F0D22ED27590027C74506C
+:025F5600F02237
+:1046C9007FFE7E011263A0501F7B007A02E4FDFC8D
+:1046D900FFFE1253197FFE7E031263A0402CE4FDF6
+:1046E900FF7E0212489D80227FFE7E031263A05046
+:1046F900167B007A02E4FDFCFF7E02125319E4FDE9
+:10470900FFFE12489D8003D26822900000E0F52048
+:10471900A3E0F521900238E520F0A3E521F090000F
+:10472900B61215FD90022C1216159000CAE0FFA3CF
+:10473900E0900236CFF0A3EFF0E52154072403F50A
+:104749001364056005E513B40A04E4F51422E513BE
+:1047590064046005E513B409047514012275140293
+:01476900222D
+:10650B00C2AFD2ACC086758640C28FD086D2AD43A7
+:0E651B00BA6043E840E4F5D843A908D2AF22A5
+:10102E007580F875E18F75E9C875908075E27F75EA
+:10103E00EA8075A0E075E33F75EBC075B01975E4F5
+:05104E00E675EC19221B
+:1056A200E4FF12579D12102E1262B31246C9125F06
+:1056B200167D057C007F441236F17F807E251249DB
+:1056C200347F641261047D647FA07E0F124D7412D8
+:1056D2004BEC12675C4002D24C1260173007121278
+:1056E2004DF54002D23A7E037F781249C54002D27C
+:0556F2007212650B229D
+:10648500EFB4200E205503305819E4FF12579DD262
+:106495005722EFB4400D205503305807E4FF12573B
+:0464A5009DD257220B
+:1064A900D265900399E004F0C3940A4004E4F0D261
+:1064B90067900398E004F0C394C84004E4F0D266FE
+:0464C900124627222E
+:105F9900D3EF9450EE940040037F0522D3EF943C55
+:105FA900EE940040037F0422D3EF9428EE9400403E
+:105FB900037F0322D3EF9414EE940040037F02225F
+:0F5FC900D3EF9400EE940040037F01227F00226B
+:10662E00306B0F90038EE004F0C394644004E4F0EA
+:03663E00C26B220A
+:10442800302A1490038CE004F0C3940A400BE4F0A3
+:10443800A2B5B392B58002C2B5306C1490038DE07A
+:1044480004F0C39405400BE4F0A2A0B392A080024C
+:10445800C2A0306B67900234E0FEA3E0FF125F99C0
+:10446800EF700D206C02C2A0C2A1C2A2C2A3C2A456
+:10447800EFB40107206C52D2A0804EEFB40209209D
+:104488006C02D2A0D2A18041EFB4030B206C02D2FF
+:10449800A0D2A1D2A28032EFB4040D206C02D2A027
+:1044A800D2A1D2A2D2A38021EF6405701C206C0295
+:1044B800D2A0D2A1D2A2D2A3D2A4800D206C02C2D3
+:0C44C800A0C2A1C2A2C2A3C2A412662E10
+:0144D40022C5
+:1053D500C22CC22DC22E9003A0E0701804F0D22D6D
+:1053E50090008AE0FEA3E0FF90008DE0FD124D7471
+:1053F50043B701229003A0E0B401167402F0D22E47
+:1054050090008AE0FEA3E0FF7D64124D7443B7016E
+:1054150022E49003A0F0D22C90008AE0FEA3E0FFE6
+:0C54250090008CE0FD124D7443B7012292
+:1063190030742CC274E50824FE600F24F160161451
+:106329006010241170191253D522D26BE490038E98
+:10633900F022D25522B26C306C03C28322D283225E
+:10613D00305734C257305824E4FF12579DD2AFC2A6
+:10614D0058E490038FF07F01125C1AD2ACD2ADD21D
+:10615D00CE7F701265B11266FF12668DE490038FCB
+:08616D00F0A3F0900380F02282
+:1064CD0053B1F8C2AF206C02C2A0C2A1C2A2C2A336
+:0F64DD00C2A4D283E4FF1265C81263EE80E222EC
+:105ED300206C02C2A0C2A1C2A2C2A3C2A4D283C226
+:105EE3006C1266A01267127F7012674AC2CE53B754
+:105EF3007E302904D2A58002C2A57F01125C1AC29A
+:105F0300AFC2ACC2ADE4F5D87F8012579DD2AF12B9
+:035F13006788227A
+:104ADE00305608305B05C256D2552230161490005F
+:104AEE002AE0FF900390E004F0C39F406AEFF0D2FB
+:104AFE005522206B5B202A50202B4D30191490002C
+:104B0E002AE0FF900390E004F0C39F404AEFF0D2FA
+:104B1E005522E4900390F0A21272107218721A725B
+:104B2E001172137219721B721C7215726C401390F3
+:104B3E00002AE0FF90038FE004F09F401AEFF0D2BE
+:104B4E005822E490038FF022E490038FF0A3F0221A
+:084B5E00E490038FF0A3F022A4
+:10605300205826205523C2AFA273727472697257F7
+:10606300725C72677266400D900391E06412600582
+:10607300D2AF12677CD2AF800E3055051264CD804B
+:0B60830006305803125ED312613D226C
+:105B8A0000000030006200750000008A008F009A51
+:105B9A0000A300AB00CD00D100FE00000000000011
+:105BAA00000000000020005000820095000000AABA
+:105BBA0000AF00BA00C300CB00ED00F1011E0000E7
+:085BCA000000000000000000D3
+:10673800900A02E07006C29C75995A22C29C75990B
+:02674800FF222E
+:084B66009002B7EEF0A3EFF09E
+:104B6E007B017A0A7900900A02E02403FD12656344
+:104B7E00900A02E02403F582E4340AF583E06F70B4
+:104B8E0057FF900A02E0FEEFC39E502953B1F8740E
+:104B9E00032FF582E4340AF583E0FE9002B7E0FCC1
+:104BAE00A3E0F5828C83EEF09002B7E475F001126B
+:104BBE0014330F80CDE4900068F0A3F0A3F0A3F0BF
+:104BCE00A3F0A3F090007BF0A3F0A3F0D26A9003C1
+:0D4BDE009EF0C29C75995A22C29C7599FFE9
+:014BEB0022A7
+:104E7200900A02E0D3948C4002E4F0E4900068F0DF
+:104E8200A3F0A3F0A3F0A3F0A3F090007BF0A3F0B3
+:104E9200A3F0FD900A02E0FCEDC39C501D53B1F853
+:104EA2008F828E83E0FB74032DF582E4340AF5834E
+:104EB200EBF00FBF00010E0D80D97B017A0A790059
+:104EC200EC2403FD126563900A02E02403F582E4F8
+:104ED200340AF583EFF0C29C900383E02400F5824C
+:084EE200E4340AF583E0F599C0
+:014EEA0022A5
+:105D38007B017A0A7900900A02E02403FD12656368
+:105D4800900A02E02403F582E4340AF583E0B507FB
+:105D58001E900A04E0FFB441089003917412F08089
+:105D680006EFB40502D256C25BC29C75995A22C28C
+:055D78009C7599FF225B
+:106175007B017A0A7900900A02E02403FD12656327
+:10618500900A02E02403F582E4340AF583E0B507BA
+:1061950010900A03E0900381F0C25BC29C75995A86
+:0761A50022C29C7599FF2244
+:1031DC00900A01E0FF12165E3230013230023230BA
+:1031EC0003323004323005323006323007323008C8
+:1031FC0032300932300A32410B32510C32590D3215
+:10320C00610E32690F3249103271113279123281EA
+:10321C001332891432911532991632A11732A9182A
+:10322C00000032B1EF25E02408F582E43402AF82CD
+:10323C00FE124E72227E027F1E124E72227E027F80
+:10324C0020124E72227E027F24124E72227E027F48
+:10325C0026124E72227E027F28124E72227E027F2E
+:10326C002A124E72227E027F2C124E72227E027F16
+:10327C0030124E72227E027F34124E72227E027FF8
+:10328C0036124E72227E027F06124E72227E027F10
+:10329C0008124E72227E027F38124E72227E027FFC
+:1032AC003A124E7222900A02E0C394804005D23B3F
+:1032BC00D23D22900A01E0B4780C900381E0B40C6A
+:1032CC0005D23BD23822900A01E0B47822900381D7
+:1032DC00E025E0248AF582E4345BF583E493FE7404
+:1032EC000193FF9002B5EEF0A3EFF0124E72229014
+:1032FC000A01E0B47921900381E025E024AEF58247
+:10330C00E4345BF583E493FE740193FF9002B5EE15
+:07331C00F0A3EFF0124E7266
+:013323002287
+:10574B007B017A0A7900900A02E02403FD1265635B
+:10575B00900A02E02403F582E4340AF583E06F70CB
+:10576B002B900A03E0FEA3E0FDEEEDFF900350EE5D
+:10577B00F0A3EFF04E7006C29C7599FF22D2739086
+:10578B00034BE04401F0C29C75995A22C29C759957
+:02579B00FF22EB
+:103CE4007B017A0A7900900A02E02403FD126563DD
+:103CF400900A02E02403F582E4340AF583E06F605D
+:103D040003023D9B900A04E0FFE4FCFDFE781012E0
+:103D140015EAC004C005C006C007900A03E0FFE42A
+:103D2400FCFDFE78181215EAD003D002D001D000B1
+:103D3400121581C004C005C006C007900A05E0FF43
+:103D4400E4FCFDFE78081215EAD003D002D001D0BD
+:103D540000121581A804A905AA06AB07A3E0FFE495
+:103D6400FCFDFE1215819003471216159002A1E086
+:103D74007002A3E0600C9003471215FDEC4D4E4F0A
+:103D84007006C29C7599FF22D27390034BE04410D5
+:0D3D9400F0C29C75995A22C29C7599FF22BD
+:1061AC007B017A0A7900900A02E02403FD126563F0
+:1061BC00900A02E02403F582E4340AF583E0B50783
+:1061CC000FD27390034BE04420F0C29C75995A2275
+:0661DC00C29C7599FF2230
+:105AF8007B017A0A7900900A02E02403FD126563AB
+:105B0800900A02E02403F582E4340AF583E06F701A
+:105B180022D273900A03E0FEA3E0FDEEEDFF9003AE
+:105B28004CEEF0A3EFF090034BE04404F0C29C75F8
+:095B3800995A22C29C7599FF22C2
+:105B41007B017A0A7900900A02E02403FD12656361
+:105B5100900A02E02403F582E4340AF583E06F70D1
+:105B610022D273900A03E0FEA3E0FDEEEDFF900365
+:105B71004EEEF0A3EFF090034BE04408F0C29C75A9
+:095B8100995A22C29C7599FF2279
+:1056F7007B017A0A7900900A02E02403FD126563B0
+:10570700900A02E02403F582E4340AF583E06F701F
+:105717002DFF74032FF582E4340AF583E0FE7452FB
+:105727002FF582E43403F583EEF00FEFB407E3D2ED
+:105737007390034BE04480F0C29C75995A22C29C37
+:035747007599FF52
+:01574A00223C
+:10458000900A01E012165E45AC1845B07745CC782C
+:1045900045EE7945B8A045C0A145C4A245B4A345A0
+:1045A000BCA445C8AF4610B000004626125D3822B4
+:1045B00012617522123CE42212574B221261AC2286
+:1045C000125AF822125B41221256F722900381E020
+:1045D00025E0248AF582E4345BF583E493FE7401DC
+:1045E00093FF9002B5EEF0A3EFF0124B662290031A
+:1045F00081E025E024AEF582E4345BF583E493FEAC
+:10460000740193FF9002B5EEF0A3EFF0124B662217
+:10461000900A03E0B4550AD23BD239C29C75995A2C
+:0646200022C29C7599FF07
+:014626002271
+:10307500E49002B5F0A3F0900383E0FFB4021A9048
+:103085000A01E064A56006E4900383F022E490035E
+:1030950084F0A3F0900382F022900A02E0FD7C0008
+:1030A5002409FBEC33FA7E00C3EF9BEA6480F874D5
+:1030B5008098505FED2407FDEC33FCD3EF9DEC6465
+:1030C50080F87480985018900383E024FFF582E41B
+:1030D5003409F583E0FF900384EE8FF012143390EA
+:1030E5000383E0FFB40511900A04E064077003024E
+:1030F50031DBE4900383F022EF640660030231DBE9
+:10310500900A05E0640670030231DB900382E04417
+:1031150020F022E4900383F0900A02E0FD2408F5F4
+:1031250082E4340AF583E0FE74072DF582E4340A5F
+:10313500F583E07C002400FFEC3EFE900384E06E06
+:103145007003A3E06F6007900382E04480F0900372
+:1031550082E0FF6006900A06F08007D25CE4900AE0
+:1031650006F0E4900A02F0900A05740BF0900A0349
+:10317500E0FFA3E0900A03F0A3EFF07F02900A02BC
+:10318500E0FE2407FDE433FCEFC39DEC6480F87496
+:103195008098501874002FF582E4340AF583E0FD19
+:1031A5009002B5E48DF01214330F80D19002B5E092
+:1031B500FCA3E0FF74072EF582E4340AF583EFF0F3
+:1031C500ECFF900A02E02408F582E4340AF583EF67
+:0631D500F0C29C75995A3E
+:0131DB0022D1
+:10480600900383E02400F582E4340AF583EFF09008
+:104816000383E004F0E0C3948C4002E4F090038349
+:10482600E064017027900A00E0FF54FEB59A10EF8D
+:1048360020E006D259C25A8013D25AC259800D902E
+:104846000A00E0645A6005E4900383F030590D9045
+:104856000383E0640370301231DC802B305A2590DC
+:104866000A02E02403FFE433FE900383E0D39FEEC5
+:104876006480F8748098400F124580C25AE4900311
+:1048860083F08003123075C25BE490038FF09003CF
+:0748960090F0900380F02276
+:1044D500900A00E0B45A06A3E064A56003305C448A
+:1044E500900A02E02408FFE433FE900383E0C39FB3
+:1044F500EE6480F87480984014D29CE4F0C2599020
+:104505000A00F0A3F0A3F0A3F0D25B8060900383D0
+:10451500E004F0C29CE02400F582E4340AF583E06F
+:10452500F5998049900383E0FF6016900A02E02424
+:1045350003FDE433FCC3EF9DEC6480F87480984080
+:1045450017D29CE4900383F0C259900A00F0A3F0BF
+:10455500A3F0A3F0D25B8015900383E004F0C29C26
+:10456500E02400F582E4340AF583E0F599E490034C
+:0B4575008FF0900390F0900380F02284
+:1065F200900380E004F0C394044008E4F090038325
+:04660200F0D29C2214
+:10657F00304E119002B1E004F0C39405400BD24CA1
+:0A658F007405F022E49002B1F0223E
+:0E4376009002BDEFF0A3EDF0A3EAF0A3EBF090
+:10438400C246E4A3F0304C03024420A3F09002BEE2
+:10439400E0FF9002C2E0C39F40030244209002C1A8
+:1043A400E0FF04F0EFC3940550429002BDE0FD7CB1
+:1043B400009002F97401F0A3F09002BFE0FFA3E0C3
+:1043C4009002FBCFF0A3EFF0E4FB7F36123324928C
+:1043D40046304604801680C5E4F5C87F01125C1A95
+:1043E4007F641261047F01125C1A80B19002C1E003
+:1043F400C39405400480258015E49002C1F0900226
+:10440400BDE004F09002BFE475F0011214337F01A3
+:10441400125C1A9002C2E004F0024391A246B392E5
+:034424004EA2465F
+:014427002272
+:0E4FD9009002C3EFF0A3EDF0A3EAF0A3EBF01B
+:104FE700C246E4A3F0204C519002C7E0FF04F0EF63
+:104FF700C3940550449002C3E0FD7C00A3E09002F7
+:10500700EFF0A37401F09002C5E0FFA3E09002F176
+:10501700CFF0A3EFF0E4FB7F361229B0924630467B
+:1050270004801680C3E4F5C87F01125C1A7F6412FE
+:1050370061047F01125C1A80AFA246B3924EA2466A
+:015047002246
+:106017007A027BA37D02E4FF124FD9502E9002A390
+:10602700E07004A3E060249002A7E04480F07A02C5
+:106037007BA77D017F041243769002A7E0547FF08F
+:0C6047007A027BA77D017F0412437622C1
+:104BEC00E49002A6F0A37450F0E4A3F0A374F8F0E0
+:104BFC00E4A3F0A3F0A37470F0A37401F0A3740306
+:104C0C00F0A374FFF0E4A3F03000199002A7E04485
+:104C1C0008F09002ACE0FF9000CDE0540FFEEF4E98
+:104C2C009002ACF030013E9002A7E04404F09002F8
+:104C3C00ADE0FF9000CDE054F0FEEF4E9002ADF0F1
+:104C4C009000CEE0FEA3E0FF7C007D32121684E4DF
+:104C5C007B257A01F9F81214EFAD07AC06EC900243
+:054C6C00AEF0A3EFF023
+:014C71002220
+:0F675C007A027BA67D0B7F031243769245A245FE
+:01676B00220B
+:106280007A027BA37D02E4FF124FD950259002A42D
+:10629000E0FF30E102D24BEF30E002D24D9002A39A
+:1062A000E030E304D215D2609002A4E030E20312A1
+:0362B000675C2206
+:106599007A027BB97D027F02124FD9500A9002B963
+:0765A900E09002A5F0F526C9
+:0165B00022C8
+:105378009002BB7403F09002BBE0FFD3940B504C37
+:105388007A027BB97D02124FD99002BBE0FF7E0002
+:105398007B0124A3F9EE3402FA1213B3FD9002B98B
+:1053A800E0B5051374A42FF9EE3402FA1213B3FF13
+:1053B8009002BAE06F600C9002BBE06407600412D0
+:0C53C800675C229002BBE02402F080AA87
+:0153D40022B6
+:1063EE009002B07433F07A027BB07D017F0D1243C0
+:1063FE007650129002A7E04420F07A027BA77D012E
+:06640E007F041243762218
+:1065C8009002A8E054FCF04FF07A027BA87D017F8E
+:0565D8000512437622CC
+:106641009002A7E04401F07A027BA77D017F04124A
+:036651004376226B
+:106654009002A7E054FEF07A027BA77D017F04122A
+:0366640043762258
+:106667009002A7E04402F07A027BA77D017F041223
+:0366770043762245
+:10667A009002A7E054FDF07A027BA77D017F041205
+:03668A0043762232
+:105FD8009002BBEEF0A3EFF09002BBE0FEA3E078E6
+:105FE80005CEC313CE13D8F99002AAF07A027BAA81
+:105FF8007D017F0712437650159002BBE0A3E09025
+:0F60080002ABF07A027BAB7D017F081243762258
+:10668D009002A7E04410F07A027BA77D017F0412EF
+:03669D004376221F
+:1066A0009002A7E054EFF07A027BA77D017F0412ED
+:0366B0004376220C
+:1066B3009002A9E044F8F07A027BA97D017F0612DB
+:0366C300437622F9
+:1066C6009002A9E05407F07A027BA97D017F0612A9
+:0366D600437622E6
+:1066D9009002A9E044E0F07A027BA97D017F0612CD
+:0366E900437622D3
+:1066EC009002A9E0541FF07A027BA97D017F06126B
+:0366FC00437622C0
+:1066FF009002A9E04408F07A027BA97D017F06127F
+:03670F00437622AC
+:106712009002A9E054F7F07A027BA97D017F06126C
+:0367220043762299
+:10674A009002A6E04FF07A027BA67D017F031243F6
+:02675A007622A5
+:1065B1009002A6E0FEEFF4FFEE5FF07A027BA67D8B
+:0765C100017F031243762263
+:10346B003050030235AE3051030235AE2003030258
+:10347B0035AEE490038AF0A3F0C3900063E095129D
+:10348B00900062E09511500330181ED3900065E058
+:10349B009512900064E09511400320180C20100940
+:1034AB00201206201103301308C252E4900389F056
+:1034BB0022C39000A4E095129000A3E09511400365
+:1034CB000235A7C3E5129510FFE511950FFED390BA
+:1034DB0000A6E09F9000A5E09E40030235A7900058
+:1034EB00A7E0FEA3E0FFEE3395E0FDFC9002201277
+:1034FB001609C312159C50030235A72052069003E0
+:10350B0089E004F09000A9E075F00AA4FF9003890C
+:10351B00E0C39FE5F06480F874809850030235AEE9
+:10352B00AD14E5142513FFE433FEEDC39FEE648069
+:10353B00F87480985063ED25E0240AF582E4340298
+:10354B00F583E0FEA3E0C39510FFEE950FFED3903D
+:10355B0000A6E09F9000A5E09E503BED25E0240ADD
+:10356B00F582E43402F583E0FEA3E0FF9000A3E0D4
+:10357B00FAA3E0FBC3EF9BEE9A401B74017E00A8FD
+:10358B0005088005C333CE33CED8F9FF90038AE00C
+:10359B004EF0A3E04FF00D8089D25222C252E4903C
+:0335AB000389F0A1
+:0135AE0022FA
+:1061E200C24530052D20162A305427C39002B4E050
+:1061F20094B49002B3E094005011D245900388E029
+:1062020004F0C3940A400BD2168007C254E49003F0
+:0462120088F0A24529
+:016216002265
+:10420900C3E5129510FFE511950FFEC3EF94B0EECB
+:104219009404500AE5129464E51194055002D254AD
+:10422900900386E024FE605514605914606A146096
+:104239007C240460030242C220510330527B305374
+:104249001590038AE05455FFA3E054559002B9CF65
+:10425900F0A3EFF0801390038AE054AAFFA3E0547F
+:10426900AA9002B9CFF0A3EFF09002B9E0FEA3E063
+:10427900FF125FD89003867402F0D2502290038611
+:104289007403F0221261E24030E4FFFE125FD8901D
+:1042990003867404F0B253221261E2400790038648
+:1042A9007405F0229003867401F0B25322900386BC
+:0942B9007401F0C251C252C2505E
+:0142C20022D9
+:1064140030052220161F900387E004F0C3942D401A
+:1064240014742DF020500EE4F0D25190038A7403BA
+:06643400F0A374FFF0224A
+:0A67940012346B1264141242092241
+:10624C00FFD8FFE2FFECFFF60000000A0019002364
+:10625C00002D00370041004B0055FFFBFFFCFFFDFC
+:10626C00FFFEFFFFFFFF0000000100010002000322
+:04627C000004000515
+:0427C0008F828E83F3
+:1027C4007E037FE8AD82AC83121684C006C007AED8
+:1027D40083AF82C3E49FFF74109EFEAB07FAE4F953
+:1027E400F8D007D0061214EF9002BC121615E47F3D
+:1027F4000AFEFDFC9002BC121609D31215B2401D4C
+:102804009002BC1215FDC3EF940AFFEE9400FEED96
+:102814009400FDEC9400FC9002BC1216159035AFA8
+:10282400E493FE740193FFE4FCFD9002BC121609CC
+:10283400C31215B2400D9002BA7408F0A374B7F035
+:102844000229A79036EFE493FE740193FFE4FCFDA4
+:102854009002BC121609D31215B2500D9002BA742C
+:102864000EF0A374F7F00229A790027CE09002B95D
+:10287400F075F0029035AF121652E493FE74019392
+:10288400FFE4FCFD9002BC121609D31215B2403BC2
+:1028940090027CE0149002B9F09002B9E0FFC39476
+:1028A40000406975F002EF9035AF121652E493FEC2
+:1028B400740193FFE4FCFD9002BC121609D31215B7
+:1028C400B240499002B9E014F080CE90027CE0045A
+:1028D4009002B9F09002B9E0FFC394A0502875F0BB
+:1028E40002EF9035AF121652E493FE740193FFE4A5
+:1028F400FCFD9002BC121609D31215B250089002C6
+:10290400B9E004F080CE9002B9E014F09002B9E08E
+:1029140090027CF075F0029035AF121652E493FEEB
+:10292400740193FFE4FCFD9002BC121609121456C4
+:10293400E47B0AFAF9F8121464C004C005C006C0A6
+:10294400079002B9E0FF75F0029035B1121652E417
+:1029540093FC740193FD75F002EF9035AF1216529B
+:10296400C37401939DFFE4939CFEAB07FAE4F9F86A
+:10297400D007D006D005D0041214EFAB07AA0690F6
+:10298400027CE024CEFFE434FFFE7C007D0A1213B7
+:10299400CCEF2BFFEE3ACF24ABCF340A9002BAF03F
+:0B29A400A3EFF09002BAE0FEA3E0FFFA
+:0129AF002205
+:105A6400D2459002C2E514F0E5132514FFE433FE99
+:105A74009002C2E0C39FEE6480F87480985028E0DE
+:105A8400FF25E02485F582E43402AB82FAEF25E0B9
+:105A9400240EFF7D02124FD94005C245A245229033
+:095AA40002C2E004F080C1A24539
+:015AAD0022D6
+:105BD200D2457A027B997D027F22124FD94002C2BE
+:105BE200457A027B9B7D027F24124FD94002C24537
+:105BF2007A027B9D7D027F26124FD94002C245E583
+:105C020013D39405400F7A027B9F7D027F28124FA7
+:075C1200D94002C245A24582
+:015C19002268
+:103A6200125BD24003023B4F900299E0FEA3E0FFBB
+:103A72001227C09000D8E02FFF9000D7E03EFEC290
+:103A8200AC900224F0A3EFF0D2AC90029DE0FEA332
+:103A9200E0FFE4FCFD1212F47B9A7A9979D9783F1F
+:103AA20012114EE4FBFA79F8784112105D121332CA
+:103AB200C2AC900228EEF0A3EFF0D2ACE513D3949F
+:103AC20005403290029FE0FEA3E0FFE4FCFD1212EB
+:103AD200F47B9A7A9979D9783F12114EE4FBFA79FC
+:103AE200F8784112105D121332C2AC90022AEEF045
+:103AF200A3EFF0D2AC900224E0FCA3E0FD9002021E
+:103B0200ECF0A3EDF0900204ECF0A3EDF0300D3DEB
+:103B120090029BE0FEA3E0FF1227C09000DAE02FA4
+:103B2200FF9000D9E03EFEC2AC900226F0A3EFF077
+:103B3200D2ACD3900203E09F900202E09E4006EED8
+:0D3B4200F0A3EFF022900204EEF0A3EFF0EC
+:013B4F002253
+:10382A009002BA121621000000009002BE12162160
+:10383A0000000000E4900200F0A3F09002B37417B5
+:10384A00F0A37470F0125A6440030239619002B90D
+:10385A00E514F0E5132514FFE433FE9002B9E0FD08
+:10386A00C39FEE6480F87480984003023938ED25CE
+:10387A00E02485F582E43402F583E0FEA3E0FF7CD0
+:10388A000E7DD8121684C006C0079000D1E0FEA3B0
+:10389A00E0FFFBAA06E4F9F8D007D0061214EF906D
+:1038AA0002BE121615900200E0FEA3E0FFE4FCFD42
+:1038BA009002BE121609D31215B2400E9002BE1221
+:1038CA0015FD900200EEF0A3EFF09002B3E0FEA324
+:1038DA00E0FFE4FCFD9002BE121609C31215B250B5
+:1038EA000E9002BE1215FD9002B3EEF0A3EFF02087
+:1038FA005033C2AC9002BE1215FD9002B9E025E029
+:10390A00240AF582E43402F583EEF0A3EFF0D2AC98
+:10391A009002BA1215FD9002BE12160912144990AD
+:10392A0002BA1216159002B9E004F002385D20506E
+:10393A0026900200E0F511A3E0F5129002B3E0F53B
+:10394A000FA3E0F510C2AC9002BA1215FD90021E48
+:07395A00EEF0A3EFF0D2AC88
+:013961002243
+:1042C300E49002BEF0A3F0A3F09002C0E0FFC39419
+:1042D3000C400302436DEF25E0244CF582E4346285
+:1042E300F583E493FE740193FFFBAA06EA3395E09A
+:1042F300F9F89002C0E025E0244EF582E43462F53B
+:1043030083E493FE740193FFEE3395E0FDFC1214F6
+:1043130049E47B02FAF9F8125E8FE47B0AFAF9F8B2
+:10432300121464EF24ABFBEE340AFAE43DF9E43CE7
+:10433300F8900228E0FEA3E0FFE4FCFDC312159C05
+:10434300401F9002C0E025E02466F582E43462F564
+:1043530083E493FF7401939002BECFF0A3EFF08048
+:10436300099002C0E004F00242CC9002BEE0FEA33A
+:02437300E0FF69
+:014375002225
+:102EFD009002BA121621000000007A027BA17D0219
+:102F0D007F2A124FD99002A1E0FEA3E0FFEE30E43C
+:102F1D000944E09002A1F0A3EFF01242C39000D556
+:102F2D00E0FCA3E0FDC39002A2E09DFD9002A1E0B4
+:102F3D009CCD2FFFED3EFE3395E0FDFC7B187AFC1A
+:102F4D0079FF78FF121464C006C0079000D3E0FE2D
+:102F5D00A3E0FFFBAA06EA3395E0F9F8D007D00607
+:102F6D00125E8F90027D12161590027D1215FD9046
+:102F7D0002B2E025E025E0243CF582E43402F5833D
+:102F8D001216159002B2E004F0C394104002E4F062
+:102F9D00E49002B9F09002B9E0FFC394105026A35B
+:102FAD00121609EF25E025E0243CF582E43402F504
+:102FBD00831215FD1214499002BA1216159002B91A
+:102FCD00E004F080D0E47B10FAF9F89002BA121503
+:102FDD00FD125E8F900281121615C22BC22A90002F
+:102FED0028E0FEA3E0FFC3E49FFFE49EFE3395E0DF
+:102FFD00FDFC900281121609C312159C50219003FD
+:10300D009BE004F0C3940A405E740AF0D22BC2AC6C
+:10301D009002811215FD900220121615D2AC22904D
+:10302D000028E0FEA3E0FFEE3395E0FDFC90028169
+:10303D00121609D312159C402090039AE004F094C7
+:10304D000A4024740AF0D22AC2AC9002811215FDF6
+:10305D00900220121615D2AC22C2AC90022012168C
+:07306D002100000000D2ACBD
+:013074002239
+:10660600126280C24D12382A123A62304B05C24BD2
+:04661600122EFD2221
+:10504800E49002B9F0A3F0AF14E513FDE5142DFDCB
+:10505800E433FCEFC39DEC6480F8748098501DEF36
+:1050680025E02485F582E43402F583E0FCA3E0FD25
+:105078009002B9EC8DF01214330F80CD9002B9E094
+:10508800FEA3E0FF7C0E7DD8121684C006C00790F0
+:105098000350E0FEA3E0FFFBAA06E4F9F8D007D02E
+:0C50A800061214EF9000D1EEF0A3EFF020
+:0150B40022D9
+:10608E009000D5E0FEA3E0FFC39002A2E09FFF9038
+:10609E0002A1E09EFE3395E0FDFC7B187AFC79FFB1
+:1060AE0078FF121464900347121609125E8FEF4E9A
+:0A60BE0060089000D3EEF0A3EFF0AD
+:0160C80022B5
+:10676C009002A1E0FFA3E09000D5CFF0A3EFF022C0
+:105D7D00900299E0FEA3E0FF1227C0C390034DE00F
+:105D8D009FFF90034CE09EFE9000D7E0FCA3E0FD4A
+:105D9D00C3EF9DFDEE9CFCC3ED9496EC6480948066
+:105DAD005012ED946AEC6480947F40089000D7EE19
+:045DBD00F0A3EFF070
+:015DC10022BF
+:105DC20090029BE0FEA3E0FF1227C0C390034FE0C6
+:105DD2009FFF90034EE09EFE9000D9E0FCA3E0FD01
+:105DE200C3EF9DFDEE9CFCC3ED9496EC6480948021
+:105DF2005012ED946AEC6480947F40089000D9EED2
+:045E0200F0A3EFF02A
+:015E06002279
+:105E0700900352E0900378F0900353E0900379F009
+:105E1700900354E090037AF0900355E090037BF0F1
+:105E2700900356E090037CF0900357E090037DF0D9
+:105E3700900358E090037EF07E037F7812476AD282
+:045E47003BD23F22E9
+:10583F0030734BC27390034BE030E003125048902B
+:10584F00034BE030E40312608E90034BE030E5032E
+:10585F0012676C90034BE030E203125D7D90034BB7
+:10586F00E030E303125DC290034BE030E703125EBA
+:0F587F0007E490034BF0D26A90039E7402F0226C
+:1059CA0030600DC260D25EE490039DF012666722D9
+:1059DA00305E3A126599203134900088E075F00201
+:1059EA00A4FFAEF090039DE004F0C39FEE6480F83C
+:1059FA007480984018C25EE4F012667A307002C26F
+:0E5A0A0019C21BC21C301505C21512601722EE
+:105E4B00305F0DC25FD25DE490039CF0126641227D
+:105E5B00305D3012659920302A900088E075F00291
+:105E6B00A4FFAEF090039CE004F0C39FEE6480F8B7
+:105E7B00748098400EC25DE4F0126654306F02C21B
+:045E8B0018C21A22FD
+:10652900300719303C11900360E004F0C394054032
+:0D6539000BD23A7405F022E4900360F022CA
+:10525B009002E3EEF0A3EFF0A3EDF0A3EAF0A3EBE3
+:01526B00F052
+:10526C00C245203A41E4A3F09002E3E0FCA3E0FD48
+:10527C00A3E09002F9F0E4A3F09002E6E0FFA3E0D3
+:10528C009002FBCFF0A3EFF07B017FA012332450F0
+:10529C0004D24580117F01125C1A9002E8E004F000
+:0D52AC00E0C3940540C2A245B3923CA24568
+:0152B90022D2
+:1052BA009002C5EEF0A3EFF0A3EDF0A3EAF0A3EBA2
+:0152CA00F0F3
+:1052CB00C246203A41E4A3F09002C5E0FCA3E0FD06
+:1052DB00A3E09002EFF0E4A3F09002C8E0FFA3E09C
+:1052EB009002F1CFF0A3EFF07B017FA01229B05019
+:1052FB0004D24680117F01125C1A9002CAE004F0BE
+:0D530B00E0C3940540C2A246B3923CA24606
+:015318002272
+:1050B5007E027FBC7B08E4FD126376E49002BAF0C1
+:1050C500A3F09002BAE0FEA3E0FFE4FCFD7BFF7ACB
+:1050D50007F9F8D312159C402E53B1F89002BAE0A7
+:1050E500FEA3E07805C333CE33CED8F9241FFFE401
+:1050F5003EFE7A027BBC7D0112525B9002BAE475DA
+:10510500F00112143380BB7A027BBC7D087FE07E00
+:0B511500FF12525BE490035CF0A3F07B
+:01512000226C
+:104DF500C2457A027BB97D087FE07EFF1252BA92E6
+:104E0500459002BAE0FF9002B9E02F9002BBF09006
+:104E150002BEE0FF9002BDE02F9002BFF09002BC01
+:104E2500E0FF9002BBE0B507179002B9E0FEA3E0F2
+:104E35007C002400FFEC3E90035CF0A3EFF0802A99
+:104E45009002C0E0FF9002BFE0B507179002BDE0F9
+:104E5500FEA3E07C002400FFEC3E90035CF0A3EF92
+:0C4E6500F08007E490035CF0A3F0A2458D
+:014E7100221E
+:105A1800E49002C3F07E037F78122B887E037F78A0
+:105A28007C027DBA7B071262E6E4FF74BA2FF58226
+:105A3800E43402F583E0FE9002C3E02EF00FEFB4E9
+:105A480007E99002C3E09002C1F0A3745AF07A0209
+:0B5A58007BBA7D097FF07EFF12525BDD
+:015A63002220
+:105F580090035CE0FCA3E0FDEC9002DBF0AF05A34E
+:105F6800EFF09002DBE02F9002DEF09002DBE09091
+:105F780002DFF09002DCE09002E0F09002DEE090B8
+:105F880002E2F07A027BDB7D087FE07EFF12525B43
+:015F980022E6
+:052D4A009002BAEFF059
+:102D4F006410701A7E037F617C027DBB7B0312626D
+:102D5F00E67E037F657C027DBE1262E6801F7E03E6
+:102D6F007F78122B887E037F787C027DBB7B0312DA
+:102D7F0062E67E037F7B7C027DBE1262E6900206D6
+:102D8F00E0FCA3E0FDEC9002C1F0A3EDF09002088F
+:102D9F00E0FCA3E0FDEC9002C3F0A3EDF090022C59
+:102DAF001215FD78181215C39002C5EFF090022C82
+:102DBF001215FD78101215C39002C6EFF090022C79
+:102DCF001215FD78081215C39002C7EFF090022C70
+:102DDF001215FD9002C8EFF09002301215FD781811
+:102DEF001215C39002C9EFF09002301215FD781042
+:102DFF001215C39002CAEFF09002301215FD780839
+:102E0F001215C39002CBEFF09002301215FD900215
+:102E1F00CCEFF090021EE0FCA3E0FDAE047818CEDC
+:102E2F00C313CE13D8F99002CDF0EDAE047810CEC7
+:102E3F00C313CE13D8F99002CEF090021EE0FCA37C
+:102E4F00E0FDEC9002CFF0A3EDF09002201215FD03
+:102E5F0078181215D69002D1EFF09002201215FDBE
+:102E6F0078101215D69002D2EFF09002201215FDB5
+:102E7F0078081215D69002D3EFF09002201215FDAC
+:102E8F009002D4EFF0900224E0FCA3E0FDEC90025E
+:102E9F00D5F0A3EDF0900236E0FCA3E0FDEC90023C
+:102EAF00D7F0A3EDF09002BAE09002D9F0A3745AD4
+:102EBF00F090035CE0FEA3E0FF7A027BBB7D201263
+:102ECF00525B90035CE475F02012143390035CE0C6
+:102EDF00FEA3E0FFE4FCFD7BE07AFFF9F8D31215C7
+:0D2EEF009C5007E490035CF0A3F0125F58C4
+:012EFC0022B3
+:10518C00900381E02480FFE434FFEF7D00C454F0F1
+:10519C00FC900A01E02488FFE434FFFEEF7807C39B
+:1051AC0033CE33CED8F92DFFEE3CFE900A02E0FD53
+:1051BC007A0A7B031252BA7B017A0A7900900A02AE
+:1051CC00E02403FD126563900A02E02403F582E4F7
+:1051DC00340AF583EFF0C29C900383E02400F5823F
+:0851EC00E4340AF583E0F599B3
+:0151F4002298
+:105CF2007E037F78122B887E037F787C0A7D037B6C
+:105D0200071262E67B017A0A7900900A02E0240314
+:105D1200FD126563900A02E02403F582E4340AF579
+:105D220083EFF0C29C900383E02400F582E4340AFE
+:065D3200F583E0F5992263
+:10564C00300752303B4FC23B303905C2391250B58E
+:10565C00303D05C23D12518C303805C238125CF217
+:10566C00303F05C23F125A18303E0CC23E9002B970
+:10567C007410F0FF122D4A30440CC2449002B974DD
+:10568C0001F0FF122D4A30410CC2419002B9740254
+:05569C00F0FF122D4A91
+:0156A10022E6
+:103B5000200703023C2290002EE0FF900359E0046E
+:103B6000F0C39F4009E4F07E037F78122B88900316
+:103B70005AE475F001121433FEC3E5F09410EE948C
+:103B80000E400BE490035AF0A3F0D23BD23F202A20
+:103B90001ED243304206C242D23BD24430190B30CF
+:103BA0004008C240D23BD2418005201902D24030A9
+:103BB000436990002CE0FEA3E0FFEE3395E0FDFCAE
+:103BC000900220121609C312159C404F90035EE02C
+:103BD0007002A3E070147E037F78122B887E037F2F
+:103BE000787C037D617B071262E690002BE0FF7E0C
+:103BF000007C007D3C1213CC90035EE475F0011252
+:103C00001433FCD3E5F09FEC9E4017E490035EF084
+:103C1000A3F0D242C243D23BD23E22E490035EF0F4
+:033C2000A3F022EC
+:0310530002512126
+:10512100C0E0C0D075D000C006C007C0867586003B
+:1051310030D807C2D87F0112648530D907C2D97F20
+:105141000212648530DA07C2DA7F0412648530DB2B
+:1051510007C2DB7F0812648530DC07C2DC7F1012D6
+:10516100648530DD07C2DD7F2012648530DE07C231
+:10517100DE7F4012648530DF07C2DF7F80126485E5
+:0B518100D086D007D006D0D0D0E0329E
+:03102B00021003AD
+:10100300C0E0C083C082C0D0C086758640C28F75E1
+:1010130086001264A9D086D0D0D082D083D0E032AB
+:104627003074030246C875090F20A7057509018074
+:104637000620B003750902E509650C6038050EE52B
+:104647000E7002050DC3E50B940AE50A9400406558
+:10465700E50E940AE50D94004067E50B9490E50A92
+:1046670094014008E50C4440F5088003850C08D206
+:104677007480428040E509640F6037E4F50DF50E5C
+:10468700050BE50B7002050AB4900EE50AB40109A3
+:10469700E50C4410F508D27422E50BB4B023E50A03
+:1046A700B4041E750A01750B90E50C4420F508D279
+:1046B700742275080FE4F50AF50BF50DF50E85095B
+:0146C7000CE6
+:0146C80022CF
+:10621700AB07AA06C2AF43A701EAF5F7AF038FFBA7
+:10622700AF058FFC75F26E75F30575F40A75F50900
+:10623700EAADF7B50509E475F6060000000000535E
+:05624700A7FED2AF220A
+:10643A00D248E4FDFCEF2DFBEE3C8B82F583E4931E
+:10644A006004C248800D0DBD00010CE4B505E6EC00
+:05645A00B402E2A248BB
+:01645F00221A
+:0854E7009002BFEEF0A3EFF00C
+:1054EF00D248AE04AF05E4A3F0A3F09002C1E0FCF4
+:1054FF00A3E0FDC3EC940250369002C0E02DFD9066
+:10550F0002BFE03C8D82F583E493FD9002C1E0FA87
+:10551F00A3E02FF582EE3AF583E0FCED6C6004C258
+:10552F0048800C9002C1E475F00112143380BCA2C4
+:01553F004823
+:015540002248
+:084A52009002BFEEF0A3EFF0AB
+:104A5A00C248AF05A3ECF0A3EFF0E4FDFC9002BF5F
+:104A6A00E0FAA3E0FB2DF5FBEB2DEA3CF5F7A3E01A
+:104A7A00FEA3E02DF582EE3CF583E0F5FC75F26EBF
+:104A8A0020AF3D75F305E5A7603275F40A90039FE0
+:104A9A00E06455702375F5099002C0E02D9002BFBD
+:104AAA00E03CABF7B5030DE475F606000000000024
+:104ABA00D2488010C2488019C2488015C248801165
+:104ACA00C248800D0DBD00010CED7003EC6402704C
+:034ADA008CA24863
+:014ADD0022B6
+:0E489D009002BBEEF0A3EFF0A3ECF0A3EDF061
+:1048AB00C24753B1F8C2AF43A7019002BBE0FF7EF2
+:1048BB0000F5F775F2E620AF5B75F305E5A76054DD
+:1048CB0075F40A90039FE06455704975F509ADF7CF
+:1048DB00EF6D7001EE703D75F60600000000009064
+:1048EB0002BBE0FEA3E0FF12643A50289002BBE04B
+:1048FB00FEA3E0FFA3E0FCA3E0FD124A525015908B
+:10490B0002BBE0FEA3E0FFA3E0FCA3E0FD1254E733
+:10491B005002D247E4F5F2F5F3F5F4F5F5F5F6535D
+:08492B00A7FEF5F7D2AFA24789
+:014933002261
+:103C2300C245C246206903023CE3C26990039F7404
+:103C330055F0E513D39405400C9002B97427F0A313
+:103C43007410F0800A9002B97413F0A37488F09092
+:103C530002B9E0FEA3E0FFC390021FE09F90021EA3
+:103C6300E09E406B9001FEE0645A7004A3E064A5FB
+:103C7300705DFDFCFFFE12489D4023E4FDFCFFFE4A
+:103C830012489D4019D24574FF9001FEF0A3F0FD48
+:103C93007FFE7E011262177DFF7FFF126217E4FD34
+:103CA300FCFF7E0212489D402AE4FDFCFF7E0212C7
+:103CB300489D401FD24674FF9001FEF0A3F0FD7FA4
+:103CC300FE7E031262177DFF7FFF1262178004D20C
+:103CD30045D246E490039FF0204505204602D26872
+:013CE30022BE
+:0E5319009002B9EEF0A3EFF0A3EAF0A3EBF0E0
+:10532700D245AE04AF058E158F16C2AF43A7015302
+:10533700B1F8E4FFFED39002BCE09F9002BBE09E71
+:1053470040279002BAE02FFD9002B9E03E8D82F52A
+:1053570083E493851682851583F00516E51670029A
+:1053670005150FBF00010E80CC53A7FED2AFA24593
+:015377002213
+:1065DD00306A1190039EE004F0C394024006C26A33
+:0565ED00E4F0D2692278
+:1063A000C24543A701EEC313FEEF1325E0FFEE3312
+:1063B0008F82F583740193B4A507E493B45A02D293
+:0663C0004553A7FEA245B3
+:0163C60022B4
+:0D36F1009002BAECF0A3EDF09002B9EFF0FA
+:1036FE00758640EF64557051A3E0FEA3E0FFC394BE
+:10370E00E8EE940350187588027C007D2012168412
+:10371E00C3E49FFFE49EA3F0A3EFF0023818758870
+:10372E00229002BAE0FEA3E0FF7C007D20121684F8
+:10373E00E47B40FAF9F81214EFC3E49FFFE49E9085
+:10374E0002BCF0A3EFF00238189002B9E0644470A6
+:10375E005BA3E0FEA3E0FFC394A0EE940F5023758D
+:10376E0088127C007D80121684E47B08FAF9F81228
+:10377E0014EFC3E49FFFE49E9002BCF0A3EFF002AF
+:10378E0038187588329002BAE0FEA3E0FF7C007D07
+:10379E0080121684E4FB7A01F9F81214EFC3E49F49
+:1037AE00FFE49E9002BCF0A3EFF0805E9002B9E0C1
+:1037BE007058A3E0FEA3E0FFC394F4EE94015022F0
+:1037CE007588307C5D7DC0121684E4FB7A01F9F8B1
+:1037DE001214EFC3E49FFFE49E9002BCF0A3EFF03F
+:1037EE0080287588329002BAE0FEA3E0FF7C007D4F
+:1037FE0080121684E4FB7A01F9F81214EFC3E49FE9
+:10380E00FFE49E9002BCF0A3EFF09002BCE0FEA39A
+:0B381E00E0F58CEEF58DD28AE4F58613
+:01382900227C
+:10579D00A2AFE433FEC2AFEF600D64206009EF6489
+:1057AD00406004EFB46007EF4408F5B28010EF6479
+:1057BD00806004EFB4A00753B2FB0053B2F70000B2
+:1057CD00000000000000EF600D64206009EF6440F0
+:1057DD006004EFB4600343B204AF06EE24FF92AF52
+:0157ED002299
+:104C7200900392EEF0A3EFF0A3EDF075C7B09003AE
+:104C820092E0FEA3E0FFFBAA06E4F9F87FD87EB823
+:104C92007D05FC125E8F8FCC900392E0FEA3E0FFB5
+:104CA200FBAA06E4F9F87FD87EB87D05FC125E8F78
+:104CB20078081215D68FCDAFCDEFFEADCC7C00E4D7
+:104CC2002DFFEC3EFE900394E0FBFD1213CC7D64BD
+:104CD2001213DE8FCEAFCDEFFEADCC7C00E42DFF04
+:104CE200EC3EFEAD031213CC7D641213DEEEF5CF63
+:014CF200229F
+:104CF300900395EEF0A3EFF0A3EDF075B6B090033B
+:104D030095E0FEA3E0FFFBAA06E4F9F87FD87EB89E
+:104D13007D05FC125E8F8FAE900395E0FEA3E0FF4E
+:104D2300FBAA06E4F9F87FD87EB87D05FC125E8FF6
+:104D330078081215D68FAFAFAFEFFEADAE7C00E4AF
+:104D43002DFFEC3EFE900397E0FBFD1213CC7D6438
+:104D53001213DE8FA4AFAFEFFEADAE7C00E42DFFE8
+:104D6300EC3EFEAD031213CC7D641213DEEEF5A50B
+:014D7300221D
+:104D74009002B9EEF0A3EFF0A3EDF075B7B0900296
+:104D8400B9E0FEA3E0FFFBAA06E4F9F87FD87EB8F9
+:104D94007D05FC125E8F8FBC9002B9E0FEA3E0FF9C
+:104DA400FBAA06E4F9F87FD87EB87D05FC125E8F75
+:104DB40078081215D68FBDAFBDEFFEADBC7C00E404
+:104DC4002DFFEC3EFE9002BBE0FBFD1213CC7D6494
+:104DD4001213DE8FBEAFBDEFFEADBC7C00E42DFF31
+:104DE400EC3EFEAD031213CC7D641213DEEEF5BF70
+:014DF400229C
+:105C1A00E5B2547070067C067D868020E5B2547029
+:105C2A00FEBE20067C037D438012E5B25470FEBEA0
+:105C3A0040067C017DA180047C007D8BE4FEEEC3DE
+:105C4A009F5014E4FBFAC3EB9DEA9C50070BBB0080
+:075C5A00010A80F20E80E751
+:015C61002220
+:1062B3007F08AE07A806E4F60FEFD3949F40F3E4FC
+:1062C300781EF608F6781EE6FE08E6FFD394FFEE86
+:1062D300940A500E8F828E83E4F006E6187001064E
+:0262E30080E356
+:0162E5002296
+:1051F50090002FE0645A705A900061E0645A705232
+:10520500900074E0645A704A900089E0645A7042D4
+:1052150090008EE0645A703A900099E0645A7032BA
+:105225009000A2E0645A702A9000AAE0B45A239034
+:1052350000CCE0B45A1C9000D0E0B45A159000DCC4
+:10524500E0B45A0E9001FEE0645A7004A3E064A530
+:065255006002C322D32217
+:086376009002C5EEF0A3EFF068
+:10637E00E4FFEFC39B501A9002C5E0F8A3E0F5824C
+:10638E008883EDF09002C5E475F0011214330F808E
+:01639E00E11D
+:01639F0022DB
+:0862E6009002DBEEF0A3EFF0E3
+:1062EE00E4FFEFC39B50239002DBE0F8A3E0F582BE
+:1062FE008883E08D828C83F00DBD00010C9002DB53
+:0A630E00E475F0011214330F80D87B
+:016318002262
+:0C677C00758E55438701000000000022CC
+:0C678800758E55438702000000000022BF
+:10646000900391E06412701C305B19206A16206959
+:1064700013C2AFF5A8F5A9F588F5E8F59DF59CF5EB
+:0564800098120000224B
+:105AAE00D228D229201403301602C22820110F202A
+:105ABE00130C201B09201C06201503301602C229C8
+:105ACE00202B0E201009201206201803301A02C2B5
+:105ADE0028202A05301902C229201B06201C03305B
+:0A5AEE001502C228301A02C2292254
+:10634900125AAEA26D302801B34008A26E3029015D
+:10635900B35019A228926DA229926EA229E433FFA3
+:0D63690025E0FFA228E4334FFF1265C82293
+:105C6200201844C3900063E09512900062E0951101
+:105C7200501F900329E475F001121433FEC3E5F0BE
+:105C82009401EE94004020D218E4900329F0A3F08E
+:105C920022D3900065E09512900064E095114007D0
+:085CA200E4900329F0A3F022B5
+:105CAA00201944D3900076E09510900075E0950F86
+:105CBA00401F90032BE475F001121433FEC3E5F084
+:105CCA009401EE94004020D219E490032BF0A3F043
+:105CDA0022C3900078E09510900077E0950F500766
+:085CEA00E490032BF0A3F0226B
+:10588E0020104B90008FE0FEA3E0FF900204E0FC9E
+:10589E00A3E0FDD39FEC9E401F90033BE475F00107
+:1058AE00121433FEC3E5F09401EE94004020D210A2
+:1058BE00E490033BF0A3F022900091E0FEA3E0FF02
+:0F58CE00C3ED9FEC9E5007E490033BF0A3F02244
+:1058DD0020124B900093E0FEA3E0FF900202E0FC4B
+:1058ED00A3E0FDC39FEC9E501F90033FE475F001B4
+:1058FD00121433FEC3E5F09401EE94004020D21251
+:10590D00E490033FF0A3F022900095E0FEA3E0FFAA
+:0F591D00D3ED9FEC9E4007E490033FF0A3F022F0
+:10592C0020114B90009AE0FEA3E0FF900204E0FCF3
+:10593C00A3E0FDD39FEC9E401F90033DE475F00166
+:10594C00121433FEC3E5F09401EE94004020D21102
+:10595C00E490033DF0A3F02290009CE0FEA3E0FF56
+:0F596C00C3ED9FEC9E5007E490033DF0A3F022A3
+:10597B0020134B90009EE0FEA3E0FF900202E0FCA0
+:10598B00A3E0FDC39FEC9E501F900341E475F00113
+:10599B00121433FEC3E5F09401EE94004020D213B1
+:1059AB00E4900341F0A3F0229000A0E0FEA3E0FFFF
+:0F59BB00D3ED9FEC9E4007E4900341F0A3F02250
+:1060C90030753712382A123A62125C62125CAA12CF
+:1060D900588E1258DD12592C12597B9003A1E004F5
+:1060E900F0C394024014C275204C09203A0620726C
+:0B60F90003306803D2552212230F224F
+:103DA100201859C3900063E09512900062E09511CC
+:103DB1005033900066E075F00AA4FFAEF09003293D
+:103DC100E475F001121433FCC3E5F09FEC9E50033F
+:103DD100023E5CD218C26FE4900329F0A3F0900375
+:103DE10043F0A3F022D3900065E09512900064E0C7
+:103DF10095114067E4900329F0A3F022206F5CD372
+:103E0100900065E09512900064E0951140379000B4
+:103E110067E075F00AA4FFAEF0900343E475F0018A
+:103E2100121433FCC3E5F09FEC9E402F300E06D2F6
+:103E31006FD25F8002C218E4900329F0A3F09003CF
+:103E410043F0A3F022C3900063E09512900062E07A
+:0C3E510095115007E4900343F0A3F02209
+:103E5D00201959D3900076E09510900075E0950FDC
+:103E6D004033900079E075F00AA4FFAEF090032B7B
+:103E7D00E475F001121433FCC3E5F09FEC9E500382
+:103E8D00023F18D219C270E490032BF0A3F09003F7
+:103E9D0045F0A3F022C3900078E09510900077E0F4
+:103EAD00950F5067E490032BF0A3F02220705CC3B4
+:103EBD00900078E09510900077E0950F50379000C6
+:103ECD007AE075F00AA4FFAEF0900345E475F001B9
+:103EDD00121433FCC3E5F09FEC9E402F300F06D239
+:103EED0070D2608002C219E490032BF0A3F090030E
+:103EFD0045F0A3F022D3900076E09510900075E088
+:0C3F0D00950F4007E4900345F0A3F0225C
+:103F190020105E90008FE0FEA3E0FF900204E0FC19
+:103F2900A3E0FDD39FEC9E4031900097E075F0141B
+:103F3900A4FFAEF090033BE475F001121433FAC309
+:103F4900E5F09FEA9E5003023FD4D210E490033B70
+:103F5900F0A3F090032DF0A3F022900091E0FEA3CE
+:103F6900E0FFC3ED9FEC9E5062E490033BF0A3F0A9
+:103F790022900091E0FEA3E0FF900204E0FCA3E0A0
+:103F8900FDC39FEC9E502E900097E075F014A4FF9E
+:103F9900AEF090032DE475F001121433FAC3E5F085
+:103FA9009FEA9E4026C210E490033BF0A3F09003E1
+:103FB9002DF0A3F02290008FE0FEA3E0FFD3ED9F48
+:0C3FC900EC9E4007E490032DF0A3F022D2
+:103FD50020125E900093E0FEA3E0FF900202E0FC59
+:103FE500A3E0FDC39FEC9E5031900097E075F0145F
+:103FF500A4FFAEF090033FE475F001121433FAC349
+:10400500E5F09FEA9E5003024090D212E490033FF0
+:10401500F0A3F0900331F0A3F022900095E0FEA309
+:10402500E0FFD3ED9FEC9E4062E490033FF0A3F0E8
+:1040350022900095E0FEA3E0FF900202E0FCA3E0E1
+:10404500FDD39FEC9E402E900097E075F014A4FFE1
+:10405500AEF0900331E475F001121433FAC3E5F0C4
+:104065009FEA9E4026C212E490033FF0A3F090031E
+:1040750031F0A3F022900093E0FEA3E0FFC3ED9F93
+:0C408500EC9E5007E4900331F0A3F02201
+:1040910020115E90009AE0FEA3E0FF900204E0FC94
+:1040A100A3E0FDD39FEC9E4031900097E075F014A2
+:1040B100A4FFAEF090033DE475F001121433FAC38E
+:1040C100E5F09FEA9E500302414CD211E490033D7A
+:1040D100F0A3F090032FF0A3F02290009CE0FEA348
+:1040E100E0FFC3ED9FEC9E5062E490033DF0A3F02E
+:1040F1002290009CE0FEA3E0FF900204E0FCA3E01C
+:10410100FDC39FEC9E502E900097E075F014A4FF24
+:10411100AEF090032FE475F001121433FAC3E5F009
+:104121009FEA9E4026C211E490033DF0A3F0900364
+:104131002FF0A3F02290009AE0FEA3E0FFD3ED9FC1
+:0C414100EC9E4007E490032FF0A3F02256
+:10414D0020135E90009EE0FEA3E0FF900202E0FCD3
+:10415D00A3E0FDC39FEC9E5031900097E075F014E5
+:10416D00A4FFAEF0900341E475F001121433FAC3CD
+:10417D00E5F09FEA9E5003024208D213E4900341FA
+:10418D00F0A3F0900333F0A3F0229000A0E0FEA383
+:10419D00E0FFD3ED9FEC9E4062E4900341F0A3F06D
+:1041AD00229000A0E0FEA3E0FF900202E0FCA3E05D
+:1041BD00FDD39FEC9E402E900097E075F014A4FF68
+:1041CD00AEF0900333E475F001121433FAC3E5F049
+:1041DD009FEA9E4026C213E4900341F0A3F09003A2
+:1041ED0033F0A3F02290009EE0FEA3E0FFC3ED9F0D
+:0C41FD00EC9E5007E4900333F0A3F02286
+:10554100201A5590006D1215FD90027D121609D397
+:1055510012159C402A900071E075F00AA4FFAEF08C
+:10556100900337E475F001121433FCC3E5F09FECAE
+:105571009E4025D21AD25FE4900337F0A3F0222097
+:105581005D16D3900338E09400900337E094004017
+:095591000774FFF5F01214332237
+:10559A00201B5590007E1215FD90027D121609C33C
+:1055AA0012159C502A900082E075F00AA4FFAEF012
+:1055BA00900325E475F001121433FCC3E5F09FEC67
+:1055CA009E4025E4900325F0A3F0D21BD26022204E
+:1055DA005E16D3900326E09400900325E0940040E1
+:0955EA000774FFF5F012143322DE
+:1055F300201C559000831215FD90027D121609C3DD
+:1056030012159C502A900087E075F002A4FFAEF0BB
+:10561300900327E475F001121433FCD3E5F09FECFB
+:105623009E4025E4900327F0A3F0D21CD2602220F1
+:105633005E16D3900328E09400900327E094004083
+:095643000774FFF5F01214332284
+:1064EC0020751B123DA1123E5D123F19123FD512B1
+:0F64FC00409112414D12554112559A1255F322FB
+:104F6300300272201B06201C03301539900072E0BA
+:104F730075F014A4FFAEF0900339E475F001121438
+:104F830033FCC3E5F09FEC9E401BE490039DF0903F
+:104F93000339F0A3F0C21BC21CC260C25E30150508
+:104FA300C215126017301A2D900072E075F014A428
+:104FB300FFAEF0900335E475F001121433FCD3E532
+:104FC300F09FEC9E400FE4900335F0A3F0C21A90DB
+:064FD300039CF0C25D2208
+:10654600300719307111900377E004F0C3940540C9
+:0D6556000BD2727405F022E4900377F0225E
+:0E5431009002F0EFF0A3EDF0A3EAF0A3EBF091
+:10543F00C248207240E4A3F09002F0E0FD7C00A38C
+:10544F00E09002F9F0E4A3F09002F2E0FFA3E09005
+:10545F0002FBCFF0A3EFF0E4FB7FDE123324500406
+:10546F00D24880117F01125C1A9002F4E004F0E040
+:0C547F00C3940540C3A248B39271A24838
+:01548B0022FE
+:0E548C009002E6EFF0A3EDF0A3EAF0A3EBF040
+:10549A00C247207240E4A3F09002E6E0FD7C00A33C
+:1054AA00E09002EFF0E4A3F09002E8E0FFA3E090BE
+:1054BA0002F1CFF0A3EFF0E4FB7FDE1229B0500433
+:1054CA00D24780117F01125C1A9002EAE004F0E0F0
+:0C54DA00C3940540C3A247B39271A247DF
+:0154E60022A3
+:082B88009002DBEEF0A3EFF078
+:102B9000C2467A027BDD7D09E4FF12548C400302B9
+:102BA0002D479002E4E030E003022D3A9002DFE08E
+:102BB00020E703022C599002DDE0FF54709450404E
+:102BC00003022C59EF540F94094003022C59E0548E
+:102BD0007F94594003022C59A3E0FF547094505045
+:102BE00078EF540F94095071E0547F9459506AA3C0
+:102BF000E0FF543094205061EF540F9409505AE094
+:102C0000542F94245053A3E0FF54309430504AEF93
+:102C1000540F94095043E0543FFF9431503BEF6010
+:102C200038A3E0FF54109410502FEF540F94095024
+:102C300028E0541FFF94125020EF601DA3E0FF54C2
+:102C4000F094905014EF540F9409500DE094995063
+:102C500008A3E05407940640779002DBE0FEA3E06F
+:102C6000FFF5828E83E09002DDF08F828E83A3E0F9
+:102C70009002DEF09002DBE0A3E0F5828E83A3A356
+:102C8000E09002DFF08F828E83A3A3A3E09002E0A6
+:102C9000F09002DBE0A3E02404F582E43EF583E05B
+:102CA0009002E1F0EF2405F582E43EF583E0900226
+:102CB000E2F09002DBE0A3E02406F582E43EF58337
+:102CC000E09002E3F07E027FDD12476A9246807751
+:102CD0009002DDE0FF9002DBE0FCA3E0FDF5828CDA
+:102CE00083EFF09002DEE08D828C83A3F09002DF10
+:102CF000E0541F8D828C83A3A3F09002E0E08D82CC
+:102D00008C83A3A3A3F09002E1E0FFED2404F582FD
+:102D1000E43CF583EFF09002E2E0FFED2405F5825C
+:102D2000E43CF583EFF09002E3E0FFED2406F5824A
+:102D3000E43CF583EFF0D246800D9002DBE0FEA389
+:092D4000E0FF12476A9246A24628
+:012D49002267
+:08476A009002E6EEF0A3EFF06F
+:10477200C247A37490F07A027BE87D017F0712544E
+:104782003192479002E6E0FEA3E0FFF5828E83E0DD
+:104792009002E9F08F828E83A3E09002EAF0900209
+:1047A200E6E0FCA3E0FDF5828C83A3A3E0448090C5
+:1047B20002EBF08D828C83A3A3A3E09002ECF09035
+:1047C20002E6E0A3E0FF2404F582E43EF583E090F4
+:1047D20002EDF0EF2405F582E43EF583E09002EE6F
+:1047E200F09002E6E0A3E02406F582E43EF583E0E1
+:1047F2009002EFF07A027BE97D07E4FF12543192D6
+:0348020047A24783
+:014805002290
+:0849C5009002B9EEF0A3EFF03F
+:1049CD00C245E49002C4F07E027FBB7B09FD1263F9
+:1049DD00767A027BBB7D097FF07EFF1252BAE4FF2F
+:1049ED0074BB2FF582E43402F583E0FE9002C4E03F
+:1049FD002EF00FEFB407E99002C4E0FF9002C2E081
+:104A0D00B50706A3E0645A601BE49002BBF0A3F067
+:104A1D00A37412F0A37401F0A37405F0A37420F035
+:104A2D00A37405F07E027FBB9002B9E0FCA3E0FD0C
+:104A3D007B071262E69002B9E0FEA3E0FF122B881D
+:044A4D009245A245A7
+:014A51002242
+:1039620000070E091C1B1215383F363124232A2D5D
+:1039720070777E796C6B6265484F464154535A5D4D
+:10398200E0E7EEE9FCFBF2F5D8DFD6D1C4C3CACD3D
+:1039920090979E998C8B8285A8AFA6A1B4B3BABD2D
+:1039A200C7C0C9CEDBDCD5D2FFF8F1F6E3E4EDEA1D
+:1039B200B7B0B9BEABACA5A28F88818693949D9A0D
+:1039C2002720292E3B3C35321F18111603040D0AFD
+:1039D2005750595E4B4C45426F68616673747D7AED
+:1039E200898E878095929B9CB1B6BFB8ADAAA3A4DD
+:1039F200F9FEF7F0E5E2EBECC1C6CFC8DDDAD3D4CD
+:103A0200696E676075727B7C51565F584D4A4344BC
+:103A1200191E171005020B0C21262F283D3A3334AC
+:103A22004E49404752555C5B7671787F6A6D64639C
+:103A32003E39303722252C2B0601080F1A1D14138C
+:103A4200AEA9A0A7B2B5BCBB9691989F8A8D84837C
+:103A5200DED9D0D7C2C5CCCBE6E1E8EFFAFDF4F36C
+:10656300E4FFEDD3940040131213B36F9039629399
+:0B657300FF740129F9E43AFA1D80E7EB
+:01657E0022FA
+:1063C700D24A7D807CBBE5C820E31053B1F8ED4C81
+:1063D7006009ED1D70011C80ED80EBE5D154F86F6D
+:0663E7006002C24AA24A56
+:0163ED00228D
+:103324009002F8EBF09002F5EFF0A3ECF0A3EDF0CF
+:10333400D24990030174BBF0A37480F09002FDEFB6
+:10334400F0A3EDF09002FBE0FEA3E0F5828E83E0B3
+:103354009002FFF07B017A0279FD7D031265639090
+:103364000300EFF09002F9E0D394005003023468B4
+:1033740043E6C043D10143C80175C8607F081263A6
+:10338400C7400C7F101263C74005C2490234459000
+:1033940002F5E0F58D75C8407F181263C74005C279
+:1033A400490234459002F8E0B401159002F6E0F5C4
+:1033B4008D75C8407F281263C74005C24902344551
+:1033C4009002F6E0A3E0F58D75C8407F281263C72C
+:1033D4004004C249806B9002FAE06401702EA3E0BD
+:1033E400FEA3E0F5828E83E0F58D75C8407F281238
+:1033F40063C74004C2498049900300E0F58D75C855
+:10340400407F281263C74039C2498035E4FE9002E8
+:10341400F9E0FFEEC39F50299002FBE0FCA3E0F526
+:10342400828C83E0F58D75C8407F281263C7400401
+:10343400C249800D9002FBE475F0011214330E8032
+:10344400CD75C850E5C830E41B53B1F8900301E0D2
+:103454007002A3E0600E90030174FFF5F0121433C0
+:0634640080E280E0A249B5
+:01346A00223F
+:0A29B000AA079002ECECF0A3EDF092
+:1029BA00D248E4900322F0A374BBF0A37480F09091
+:1029CA0002F4EAF0A3EDF09002EFE0FE9002F6F0D6
+:1029DA00EA4401A3F0EED394005003022B8543E6A8
+:1029EA00C043D10143C80175C8607F081263C7405C
+:1029FA000C7F101263C74005C248022B628A8D758C
+:102A0A00C8407F181263C74005C248022B62EBB464
+:102A1A0001159002ECE0F58D75C8407F281263C756
+:102A2A004005C248022B629002ECE0A3E0F58D75E6
+:102A3A00C8407F281263C74005C248022B62EAB425
+:102A4A0036159002EFE0F58D75C8407F281263C7EE
+:102A5A004005C248022B6275C8607F081263C740EE
+:102A6A000C7F101263C74005C248022B62EA440178
+:102A7A00F58D75C8407F401263C74005C248022BD6
+:102A8A0062E49002F3F09002EFE0FF9002F3E0FEBE
+:102A9A00C39F50579002F0E07031EF14B5060A75E3
+:102AAA00C8407F581263C7800875C8447F501263B4
+:102ABA00C79002F1E0FEA3E0F5828E83E58DF090E7
+:102ACA0002F1E475F001121433801875C8447F507E
+:102ADA001263C79002F3E024F8F582E43402F58326
+:102AEA00E58DF09002F3E004F0809B9002F0E06440
+:102AFA0001706575C8407F581263C7900322E58D3F
+:102B0A00F07B017A0279F49002EFE02404FD126569
+:102B1A0063900322E0B5073EE49002F3F09002EFDF
+:102B2A00E0FF9002F3E0FEC39F502D74F82EF58269
+:102B3A00E43402F583E0FF9002F1E0FCA3E0F582C1
+:102B4A008C83EFF09002F1E475F0011214339002D5
+:102B5A00F3E004F080C7C24875C850E5C830E41BEA
+:102B6A0053B1F8900323E07002A3E0600E900323B0
+:0D2B7A0074FFF5F012143380E280E0A248F1
+:012B8700222B
+:1061040075C632E4F5E6EFFD7C007E5D7FC01213B8
+:10611400DEEF24F0FFEE34FFC313FEEF13FFEEC4F3
+:10612400F854F0C868EFC4540F48F58A75D1027565
+:09613400C8407589FFE4F58D22D5
+:084934009002B9EEF0A3EFF0D0
+:10493C0075C432E4F587759850AB07AA06F9F87F71
+:10494C00607EE37D16FC125E8FC3E49FFF74809E35
+:10495C00AD07FCF59D8F9CFEAB07FAE4C39BFF747F
+:10496C00809AFEE49400FDE49400FCE47B10FAF9D8
+:10497C00F8121464EC1212F4C004C005C006C0078F
+:10498C009002B9E0FCA3E0FDE41212F9A804A90519
+:10499C00AA06AB077F007E1B7DB77C4B121257D04B
+:1049AC0003D002D001D0001210591213328F9E4343
+:0849BC009D80759A0A759BFFAE
+:0149C40022D0
+:031023000257EE83
+:1057EE00C0E0C0F0C083C082C0D075D000C000C081
+:0D57FE0001C002C003C004C005C006C00702
+:10580B00C086758600309807C298AF99124806304B
+:09581B009905C2991244D5D0860A
+:10582400D007D006D005D004D003D002D001D000D8
+:0B583400D0D0D082D083D0F0D0E03282
+:1035AF00FFFFFFFFF07FDFCDD0DAC222B4F4A8C255
+:1035BF009D769300894E804F77F770386906625673
+:1035CF005C1F565650F44BF1474642EC3EDD3B1420
+:1035DF003728343F312A2E462B97291226B62481BD
+:1035EF002270207F1EAE1CFA1B6119E11878172676
+:1035FF0015E714BC13A2129911A010B50FD80F081C
+:10360F000E440D8A0CDC0C370B9C0B090A7E09FB50
+:10361F00097E090A089B083207CF0770071706C3F0
+:10362F000673062705DF059B055A051D04E204AB4B
+:10363F0004770445041503E803BC0393036C0346A6
+:10364F000325030302E302C502A8028C027102588C
+:10365F0002400229021301FE01EA01D701C501B39D
+:10366F0001A301930183017501670159014D0140C8
+:10367F0001350129011F0114010A010100F800EFB2
+:10368F0000E600DE00D700CF00C800C100BA00B4CA
+:10369F0000AE00A800A2009D00980092008E008945
+:1036AF0000840080007C007800740070006D006959
+:1036BF00006600630060005D005A0057005400521E
+:1036CF00004F004D004A00480046004400420040B1
+:1036DF00003E003C003B0039003700360035003417
+:0236EF000032A7
+:0310000002661A6B
+:10661A0075819F75B208000000000000000043B2B7
+:04662A0004024EEB2D
+:10230F007F647E00C262E4781BF608F67817F60841
+:10231F00F608F608F6781DF6900373F0A3F0900315
+:10232F006CF0A3F0900370F0A3F0A3F090036EF0A5
+:10233F00900375F0A3F0C263C2619002B9F09002EE
+:10234F00B9E0FDC3940A4003022452ED25E02402B4
+:10235F00F582E43400F583E0FCA3E0D39512EC950D
+:10236F001150030224499002B9E070529000B1E07D
+:10237F00FCA3E0FDD39512EC95115003301906E440
+:10238F00FEFF022452C3E5129DFFE5119CFE7C0067
+:10239F007D0A121684C006C0079000B1E0FEA3E0CC
+:1023AF00FFC3900003E09FFF900002E09EFEAB078B
+:1023BF00FAE4F9F8D007D0061214EF022452900273
+:1023CF00B9E025E02400F582E43400F583E0FEA3B4
+:1023DF00E0FFC3E5129FFFE5119EFE7C007D0A1210
+:1023EF001684C004C005C006C0079002B9E0FF25DF
+:1023FF00E02400F582E43400F583E0FCA3E0FDEF78
+:10240F0025E02402F582E43400F583E0FEA3E0C367
+:10241F009DFFEE9CFEAB07FAE4F9F8D007D006D08B
+:10242F0005D0041214EFAD07AC069002B9E075F0B9
+:10243F000AA42DFFE5F03CFE80099002B9E004F0FC
+:10244F0002234DD3900011E09512900010E09511EA
+:10245F0050047E007F649000B5E0FD7C00D3EF9DBB
+:10246F00EE9C40067E00AF05801EC3ED9FFDEC9EE7
+:10247F00FCD3ED941EEC940040079000B5EFF08074
+:10248F00079000B5E0FF7E00900234EEF0A3EFF06E
+:10249F009000BA1215FD90022C121615900234E01E
+:1024AF00FEA3E0FFE4FCFD90022C12160912146447
+:1024BF00E47B64FAF9F81214EF90023012161590BB
+:1024CF00022C1215FD900373EEF0A3EFF090023083
+:1024DF001215FD90036CEEF0A3EFF0900234E0FEC6
+:1024EF00A3E0FF7C007D0A1213CC900370EEF0A3E3
+:1024FF00EFF09000CAE0FEA3E0FFD394C8EE940083
+:10250F004006781D764B803DD3EF9464EE940040E7
+:10251F00107C007D051213DEC3745F9F781DF6805B
+:10252F00249000CAE0FEA3E0FFD39432EE94004063
+:10253F00107C007D0A1213DEC374699F781DF6802C
+:10254F0004781D7664E47819F608F6900372F0901B
+:0B255F000375F0A3F0C26290036EF061
+:01256A00224E
+:101FE900E49002B9F0A3F0900368121621000000F2
+:101FF90000900028E0FEA3E0FFEE3395E0FDFC90A1
+:102009000220121609D312159C500302216FE49085
+:102019000372F0900375F0A3F0C262781DE6FFE445
+:10202900FCFDFE9000BE121609121464E47B64FAEA
+:10203900F9F81214EF9002B9EEF0A3EFF0900373E0
+:10204900E06E7003A3E06F602F900234E0FCA3E020
+:10205900FD9002B9E0FEA3E0FF1213CC7C007D6481
+:102069001213DE90036CEEF0A3EFF0C2ACE4FCFDBA
+:10207900900230121615D2AC9002B9E0FFA3E0909D
+:102089000373CFF0A3EFF09002811215FD781CEFD6
+:1020990026F618EE36F6C3781CE6941018E6940E68
+:1020A90040380874F026F61874F136F6900373E098
+:1020B900FEA3E0FFC390036DE09F90036CE09E5088
+:1020C90009E475F00112143380CC90036CEEF0A38F
+:1020D900EFF0E4781BF608F680BC900373E0FEA3EA
+:1020E900E0FF90036CE0FCA3E0FDC39FEC9E502A47
+:1020F9007E037FE8121684C006C007900373E0FED2
+:10210900A3E0FFFBAA06E4F9F8D007D0061214EF02
+:10211900900370EEF0A3EFF0800A9003707403F05F
+:10212900A374E8F09000ADE0FEA3E0FFEE3395E084
+:10213900FDFC900281121609C312159C5022C3900E
+:1021490000ACE095129000ABE0951150139000AFF0
+:10215900E0FF90036EE004F0C39F4004EFF0D26407
+:1021690012256B022240900028E0FEA3E0FFC3E4A1
+:102179009FFFE49EFE3395E0FDFC900220121609B4
+:10218900C312159C4003022240E490036EF0C2641E
+:102199009002811215FD90036812161590036812BA
+:1021A90015FDEC33500AC37818E69FF618E69EF63B
+:1021B900C37818E6941018E6940E4078C37818E6A8
+:1021C900941018E6940E403B0874F026F61874F142
+:1021D90036F69000C61215FDEF2401FFE43EFEE439
+:1021E9003DFDE43CFC9000C6121615D390036DE04A
+:1021F900940190036CE0940040C274FFF5F012144E
+:102209003380B99000C21215FD9000C6121609C399
+:102219001215B2401F9000C61215FD9000C2121689
+:10222900091214569000C61216159000CAE475F0EA
+:1022390001121433121B8B301832C2AC900373E0B5
+:10224900FEA3E0FF90036CEEF0A3EFF0E4FCFD9039
+:1022590002301216159002301215FD90022C12163A
+:1022690015900234E4F0A37464F0D2AC900373E0E7
+:10227900FEA3E0FF90036CE0FAA3E0FBD39FEA9E84
+:10228900400A90036CEEF0A3EFF0801DEF25E0FF0C
+:10229900EE33FE7C007D641213DEC3EB9FEA9E5091
+:1022A9000890036CEEF0A3EFF090036CE0FEA3E05E
+:1022B900FF7C037DE8121684C006C007900373E013
+:1022C900FEA3E0FFFBAA06E4F9F8D007D006121432
+:1022D900EF900370EEF0A3EFF01216B1C2AC9002CA
+:1022E90034E0A3E09000B5F090022C1215FD9000A7
+:1022F900BA1216159000CAE0FFA3E0900236CFF09B
+:05230900A3EFF0D2ACCF
+:01230E0022AC
+:10256B00E49002BBF09002BBE0FFC394095020EF54
+:10257B0025E02402F582E43400F583E0FEA3E0C3FA
+:10258B009512EE951150089002BBE004F080D63006
+:10259B006458C3900371E094E7900370E094035088
+:1025AB004990036DE004F0700690036CE004F0902A
+:1025BB00036CE0FEA3E0FFE4FCFDEEC0E0EFC0E047
+:1025CB00900373E0FEA3E0FFFBCAEECAE4F9F8D078
+:1025DB00E0FFD0E0FE1214EFE47BE87A03F9F81287
+:1025EB001464900370EEF0A3EFF09002BBE0701A4E
+:1025FB00D39000B2E095129000B1E0951150030218
+:10260B0027BFE4900234F0A3F022900014E0FEA365
+:10261B00E0FFC39512EE951140030226BF9000AC6C
+:10262B00E095129000ABE0951150030226BF306489
+:10263B00030226BF900371E09484900370E094032F
+:10264B0040030227BFC3E5129FFFE5119EFE7C00EE
+:10265B007D64121684EEC0E0EFC0E0900014E0FE43
+:10266B00A3E0FFC39000ACE09FFF9000ABE09EFEA9
+:10267B00CBEFCBFAE4F9F8D0E0FFD0E0FE1214EF89
+:10268B00EF2484FFEE3403900370F0A3EFF090037C
+:10269B0073E0FEA3E0FF900370E0FCA3E0FD1216D5
+:1026AB0084E47BE87A03F9F81214EF90036CEEF0F4
+:1026BB00A3EFF0223064030227BF9002BBE0F97551
+:1026CB00F064A42432FFE435F0FE900370E0FCA329
+:1026DB00E0FDD39FEC9E5011E975F064A4FFC3EDB0
+:1026EB009FEC95F040030227BF9002BBE0FF25E073
+:1026FB002400F582E43400F583E0FCA3E0FDEF2534
+:10270B00E02402F582E43400F583E0FEA3E06D7073
+:10271B0002EE6C70030227BFC3E5129DFFE5119C0F
+:10272B00FE7C007D64121684ECC0E0EDC0E0EEC0D0
+:10273B00E0EFC0E09002BBE0FF25E02400F582E46F
+:10274B003400F583E0FCA3E0FDEF25E02402F582E5
+:10275B00E43400F583E0FEA3E0C39DFFEE9CFECBCB
+:10276B00EFCBFAE4F9F8D0E0FFD0E0FED0E0FDD0FB
+:10277B00E0FC1214EFCDEFCDCCEECC9002BBE075AC
+:10278B00F064A42DFEE5F03C900370F0A3CEF09026
+:10279B000373E0FEA3E0FF900370E0FCA3E0FD12E7
+:1027AB001684E47BE87A03F9F81214EF90036CEECD
+:0427BB00F0A3EFF0A8
+:0127BF0022F7
+:101B8B00E49002BBF0A3F0A3F0A3F0A3F0A3F0A3A7
+:101B9B00F0A3F0A3F07819E6FE08E6FF2414FDE4A9
+:101BAB003EFC900204E0FAA3E0FBD39DEA9C5011AB
+:101BBB00EB2414FDE43AFCD3EF9DEE9C5003021D85
+:101BCB0092900204E0FEA3E0FF7819EEF608EFF620
+:101BDB002487FFEE34F5FE9002BDF0A3EFF07C00FE
+:101BEB007D111213CCC374689FFF74429EFECBEF22
+:101BFB00CBFA3395E0F9F89002BDE0FEA3E0FFEEDF
+:101C0B003395E0FDFC121464E47B107A27F9F8128B
+:101C1B005E8FEF2422FFEE3406FEE43DFDE43CFC38
+:101C2B009000B6E0F8A3E0F9A3E0FAA3E0FB1214EE
+:101C3B0064E47BD07A07F9F81214EF9002C2EEF04D
+:101C4B00A3EFF0E4FCFD9000B6E0F8A3E0F9A3E00D
+:101C5B00FAA3E0FBC31215B250159000B6E0A3E057
+:101C6B00A3E0FFA3E09002C2CFF0A3EFF08065E406
+:101C7B007F06FEFDFC9000B6E0F8A3E0F9A3E0FAC6
+:101C8B00A3E0FB121464E47B0AFAF9F81214EFC810
+:101C9B00ECC8C9EDC9CAEECACBEFCB9002C2E0FECD
+:101CAB00A3E0FFE4FCFDD31215B24028E47F06FE4F
+:101CBB00FDFC9000B6E0F8A3E0F9A3E0FAA3E0FB8B
+:101CCB00121464E47B0AFAF9F81214EF9002C2EED4
+:101CDB00F0A3EFF09002C2E0FEA3E0FF781DE6FD5B
+:101CEB007C00121684E47B64FAF9F81214EF90026C
+:101CFB00C2EEF0A3EFF0900373E0FCA3E0FDD39FE3
+:101D0B00EC9E501BC39002C3E09DFF9002C2E09C6F
+:101D1B00FE90036DE02FF090036CE03EF0804A9054
+:101D2B0002C2E0FEA3E0FFC3900374E09FFF9003A9
+:101D3B0073E09EFEC390036DE09F90036CE09E40AA
+:101D4B000CA3E09FF090036CE09EF0801C9002C20D
+:101D5B00E0FEA3E0FF7C007D061213CC7D64121322
+:101D6B00DE90036CEEF0A3EFF0C39000B2E09510A1
+:101D7B009000B1E0950F500F9002C2E0FFA3E090EE
+:101D8B000373CFF0A3EFF0D3900205E094DD900244
+:101D9B0004E0940A5003021FE874FF7FFAFEFDFC77
+:101DAB009000B6E0F8A3E0F9A3E0FAA3E0FB12146D
+:101DBB0064C8ECC8C9EDC9CAEECACBEFCB90022000
+:101DCB00E0FCA3E0FDA3E0FEA3E0FFC31215B240CD
+:101DDB0003021FE8900373E0FEA3E0FF7C007D0687
+:101DEB001213CC7D641213DE9002BBEEF0A3EFF066
+:101DFB00900368E0FCA3E0FDA3E0FEA3E0FF126705
+:101E0B009EE47B0AFAF9F81214649000B6E0F8A38A
+:101E1B00E0F9A3E0FAA3E0FB1214EF9002BFEFF09E
+:101E2B00E47F19FEFDFC900368E0F8A3E0F9A3E062
+:101E3B00FAA3E0FB121464E47BE87A03F9F8125E70
+:101E4B008FEF2416FFEE340D9002C0F0A3EFF0C31A
+:101E5B009000B2E095109000B1E0950F50429002C7
+:101E6B00BBE0FEA3E0FFC390036DE09F90036CE02B
+:101E7B009E502DC3900371E0942C900370E094015D
+:101E8B00501E20621B9000B0E0FF900375E004F041
+:101E9B00C39F5003021F93EFF0D263C261021F93E3
+:101EAB009002C0E0FEA3E0FFC39510EE950F5042E9
+:101EBB009002BBE0FCA3E0FDC390036DE09D90039B
+:101ECB006CE09C502DC3900371E0942C900370E058
+:101EDB009401501E20621B9000B0E0FD900375E052
+:101EEB0004F0C39D5003021F93EDF0D263C2610255
+:101EFB001F93D3EF9510EE950F403D9002BBE0FE84
+:101F0B00A3E0FFD390036DE09F90036CE09E40280D
+:101F1B00900371E0942C900370E09401501A2062AE
+:101F2B00179000B0E0FF900376E004F0C39F405899
+:101F3B00EFF0C263D2618050D39000B2E095109065
+:101F4B0000B1E0950F403D9002BBE0FEA3E0FFD354
+:101F5B0090036DE09F90036CE09E4028900371E02E
+:101F6B00942C900370E09401501A2062179000B0EB
+:101F7B00E0FF900376E004F0C39F400CEFF0C263E8
+:101F8B00D2618004C263C261C39000B2E09510902D
+:101F9B0000B1E0950F40469000B0E0FF900372E077
+:101FAB0004F09F4038EFF0D2629002BFE0941E50D5
+:101FBB001D900374E025E0FF900373E033FE7C007B
+:101FCB007D641213DE90036CEEF0A3EFF02290020F
+:0D1FDB00BBE0FFA3E090036CCFF0A3EFF09C
+:011FE80022D6
+:1016B1009002BC121621000000009002C0121621F7
+:1016C10000000000900370E0FEA3E0FF7C007D0AB3
+:1016D1001213DE9002BBEFF0900220E0FCA3E0FDCC
+:1016E100A3E0FEA3E0FFEC4D4E4F7003021B63909D
+:1016F10002BBE0FFC3900235E09F900234E094000A
+:101701004003021871E4FFFEFDFC900220E0F8A303
+:10171100E0F9A3E0FAA3E0FB12159C500302187153
+:101721009002BBE0FF900234E0FCA3E0FDEF9DFFDF
+:10173100E49CFEC3EF9401EE9400500302183F7C39
+:10174100007D64121684E47B1EFAF9F81214EF90FE
+:1017510002BC1216159002BCE0FCA3E0FDA3E0FE62
+:10176100A3E0FF90022CE0F8A3E0F9A3E0FAA3E0E4
+:10177100FB121464E47B107A27F9F81214EF90023B
+:10178100C0121615900230E0FCA3E0FDA3E0FEA319
+:10179100E0FF9002C0E0F8A3E0F9A3E0FAA3E0FBC8
+:1017A100EF2BFFEE3AFEED39FDEC38FC90023012E2
+:1017B1001615900373E0FEA3E0FFE4FCFD90022CFC
+:1017C100121615E47F64FEFDFC900230E0F8A3E000
+:1017D100F9A3E0FAA3E0FB12146490022CE0F8A351
+:1017E100E0F9A3E0FAA3E0FB1214EFC8ECC8C9EDDD
+:1017F100C9CAEECACBEFCB900234E0FEA3E0FFE40E
+:10180100FCFDC31215B25003021B63E47F64FEFDAD
+:10181100FC900230E0F8A3E0F9A3E0FAA3E0FB12A8
+:10182100146490022CE0F8A3E0F9A3E0FAA3E0FB32
+:101831001214EF900234EEF0A3EFF0021B63900359
+:1018410073E0FEA3E0FFE4FCFD90022C121615905C
+:10185100036CE0FEA3E0FFE4FCFD900230121615DC
+:101861009002BBE0FF900234E4F0A3EFF0021B63AF
+:101871009002BBE0F9FF900234E0FAA3E0FBD39FB2
+:10188100EA94005003021AE9900220E0FCA3E0FD73
+:10189100A3E0FEA3E0FFEC334003021AE9E9FFEB0A
+:1018A1006F7001EA703220632F20612C900373E086
+:1018B100FEA3E0FFE4FCFD90022C12161590036CD0
+:1018C100E0FEA3E0FFE4FCFD900230121615E9FFF3
+:1018D100900234E4F0A3EFF0900234E0FEA3E0FFC5
+:1018E100D39401EE94005003021AAB900076E024E9
+:1018F10064FD900075E03400FCD3E5109DE50F9C7C
+:101901005003021A98EF940FEE94004003021A98C4
+:10191100206306206103021A9874FF7FFDFEFDFC1F
+:101921009000B6E0F8A3E0F9A3E0FAA3E0FB1214FB
+:1019310064C8ECC8C9EDC9CAEECACBEFCB9002208E
+:10194100E0FCA3E0FDA3E0FEA3E0FFD31215B2404B
+:1019510035900220E0FCA3E0FDA3E0FEA3E0FF122E
+:10196100158EE47B02FAF9F81214649000B6E0F8DF
+:10197100A3E0F9A3E0FAA3E0FB1214EF9002C5EE95
+:10198100F0A3EFF080089002C5E4F0A304F090000A
+:1019910075E0FEA3E0FFC39510EE950F5017C3E568
+:1019A100109FFFE50F9EFE7C007D821213DE9002E8
+:1019B100C4EFF080069002C47401F09000B6E0FC20
+:1019C100A3E0FDA3E0FEA3E0FF12158EE47B24FA61
+:1019D100F9F8121464ECC0E0EDC0E0EEC0E0EFC035
+:1019E100E0900220E0FCA3E0FDA3E0FEA3E0FFFB0A
+:1019F100CAEECAC9EDC9C8ECC8D0E0FFD0E0FED03C
+:101A0100E0FDD0E0FC1214EFCDEFCDCCEECC900296
+:101A110034E0A3E0FF9002BBE0FEC3EF9E04FB9025
+:101A210002C4E0FF7E001213CCCDEBCD7C0012137B
+:101A3100DEA3E0FCA3E0FD1213DE90036FE004F0EF
+:101A4100D39FE49E4013900235E024FFF0900234CE
+:101A5100E034FFF0E490036FF0900234E0FEA3E085
+:101A6100FF7C007D0A1213CC900370EEF0A3EFF01F
+:101A7100900373E0FEA3E0FF900370E0FCA3E0FDA0
+:101A8100121684E47BE87A03F9F81214EF90036CE0
+:101A9100EEF0A3EFF08013900235E024FFF0900206
+:101AA10034E034FFF0E490036FF0900373E0FEA3A1
+:101AB100E0FFE4FCFD90022C121615900234E0FECA
+:101AC100A3E0FFE4FCFD90022CE0F8A3E0F9A3E021
+:101AD100FAA3E0FB121464E47B64FAF9F81214EF40
+:101AE100900230121615807A9002BBE0FB7A0090CA
+:101AF1000234E07003A3E06B702C900373E0FEA34B
+:101B0100E0FFE4FCFD90022C12161590036CE0FE40
+:101B1100A3E0FFE4FCFD900230121615900234EAB6
+:101B2100F0A3EBF0803C900373E0FEA3E0FFE4FC44
+:101B3100FD90022C121615900234E0FEA3E0FFE4A2
+:101B4100FCFD90022CE0F8A3E0F9A3E0FAA3E0FB8E
+:101B5100121464E47B64FAF9F81214EF9002301263
+:101B61001615900234E0FEA3E0FFD39464EE9400D6
+:101B7100400A900234E4F0A37464F022C3EE9400AE
+:091B81005007E4900234F0A3F0D7
+:011B8A002238
+:10672500305C0F305B0CC25CC25BC2AF1266A0125C
+:0367350000A62299
+:108400002B370C800D480DDE0E740ED80F3C0FA0DC
+:10841000100410361068000008980000089800004A
+:10842000083400000AAB00C8006414010064055A57
+:10843000021101200053696E6F7765616C746800EA
+:1084400000202206200000534833394630303400E3
+:108450000000004C494F4E000000000000000000EA
+:10846000005A109A10360202000000000000000BB3
+:10847000B8020A005A0A8C0BB80202000000FFFF83
+:10848000B1E002FFFF63C002045A0FA01E465A0C5F
+:108490009F0C6D0AAB0ADD03035A0D670CD10A4726
+:1084A0000A795A105400140064025A1068006405D6
+:1084B000050B540AAB6400000898000008980000FF
+:1084C0000898000008340000000000005A741130C1
+:1084D0005A0A22FFAE000100000000005A0000000E
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F00000000000000000000000000000005AA57C
+:108600002B370C800D480DDE0E740ED80F3C0FA0DA
+:108610001004103610680000089800000898000048
+:10862000083400000AAB00C8006414010064055A55
+:10863000021101200053696E6F7765616C746800E8
+:1086400000202206200000534833394630303400E1
+:108650000000004C494F4E000000000000000000E8
+:10866000005A109A10360202000000000000000BB1
+:10867000B8020A005A0A8C0BB80202000000FFFF81
+:10868000B1E002FFFF63C002045A0FA01E465A0C5D
+:108690009F0C6D0AAB0ADD03035A0D670CD10A4724
+:1086A0000A795A105400140064025A1068006405D4
+:1086B000050B540AAB6400000898000008980000FD
+:1086C0000898000008340000000000005A741130BF
+:1086D0005A0A22FFAE000100000000005A0000000C
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F00000000000000000000000000000005AA57A
+:1010560002139EE86480F8E933E83360110460F017
+:10106600ED33EC337009E8FCE9FDEAFEEBFF220400
+:1010760060DED3EB9FEA9EE99DE8C2E78CF0C2F7FB
+:1010860095F0400CE8CCF8E9CDF9EACEFAEBCFFBC7
+:1010960012136985D0F05804700320D5B3E80470A4
+:1010A600075002B2D50213A892D5EC0460F7E4CC3F
+:1010B600C0E0C398F8603B94186008400DD0E0FB90
+:1010C600021380E4FBFAC9FC8028E830E406E4C990
+:1010D600FBE4CAFCE830E305E4C9CACBFCE85407E4
+:1010E6006010F8C3E913F9EA13FAEB13FBEC13FCEF
+:1010F600D8F130F52FC3E49CFCEF9BFFEE9AFEED92
+:1011060099FDD0E0FBEF4E4D4C701222DB0302132B
+:10111600A5EC2CFCEF33FFEE33FEED33FDED30E7AF
+:10112600EB021380EF2BFFEE3AFEED39FDD0E0FB2C
+:1011360050130BBB00030213A8ED13FDEE13FEEFD5
+:0811460013FFEC13FC021380FF
+:10114E00EC4D6011E8497017ED33EC3304600DE49B
+:10115E00FCFFFEFD22E933E8330470F802139E1201
+:10116E00136958046009E4CC248150062850090202
+:10117E0013A82840030213A5C0E0EB4A7044B980BF
+:10118E0006D0E0FB021394EF4E701CBD8008EBFFFF
+:10119E00EAFEE9FD80EBE98DF0A4FEE5F0021237E0
+:1011AE00E9CDF9EAFEEBFFEF89F0A4FCE5F0CE897C
+:1011BE00F0A42EFFE435F0CD89F0A42DFEE435F039
+:1011CE008067EF4E7005BD80D780C3EF8BF0A4AC67
+:1011DE00F0EE8BF0A42CFCE435F0F8EF8AF0A42CA2
+:1011EE00E5F038FCE433CB8DF0A42CFCE5F03BF8B5
+:1011FE00EE8AF0A42CFCE5F038F8E433CF89F0A4A5
+:10120E002CFCE5F038CF3400CE89F0A42FFFE5F0AA
+:10121E003EFEE433C98DF0A42EFEE5F039CD8AF002
+:10122E00A42FFFE5F03EFEE43DFD33D0E0FB50077A
+:10123E000BBB000F0213A8EC2CFCEF33FFEE33FEBA
+:06124E00ED33FD021380E8
+:101254000213A8EC5D046005E85904700302139EB0
+:10126400121369580460F6EC4860F2EC7004FDFE59
+:10127400FF22C860DB2481C85009C398600250066D
+:101284000213A59850CAF582E9294B4A7005AB822E
+:1012940002139475F0007C1A7880C3EF9BEE9AEDEC
+:1012A40099400DC3EF9BFFEE9AFEED99FDE842F0E5
+:1012B400DC23ACF0D0E0FFD0E0FED0E0FDAB822038
+:1012C400E7101BEB60BAEC2CFCEF33FFEE33FEEDC2
+:1012D40033FD021380E803F830E705C0F075F00031
+:1012E400EF2FFFEE33FEED33FD40B830E7C280AAA6
+:1012F40075F020800E75F010800575F0087D007E75
+:10130400007F003392D530D50312158EEC33401094
+:10131400EF33FFEE33FEED33FDEC33FCD5F0ED227D
+:0E132400E5F0247EA2D513CC92E7CDCEFF22B9
+:10133200EDD2E7CD33EC3392D524814006E4FFFEB3
+:10134200FDFC22FCE4CFCECDCC24E0501174FF8012
+:10135200EDC3CC13CCCD13CDCE13CECF13CF0470AF
+:07136200F030D5DE02158E0C
+:10136900E9D2E7C933E833F892D5EDD2E7CD33ECCA
+:0713790033FC5002B2D52243
+:10138000EC30E7100FBF000C0EBE00080DBD0004CE
+:101390000BEB6014A2D5EB13FCED92E7FD2274FF7A
+:1013A000FCFDFEFF22E480F8A2D574FF13FC7D80D3
+:0313B000E480EFE7
+:1013B300BB010689828A83E0225002E722BBFE0238
+:0913C300E32289828A83E493226B
+:1013CC00EF8DF0A4A8F0CF8CF0A428CE8DF0A42E35
+:0213DC00FE22EF
+:1013DE00BC000BBE0029EF8DF084FFADF022E4CCF3
+:1013EE00F875F008EF2FFFEE33FEEC33FCEE9DECBC
+:1013FE00984005FCEE9DFE0FD5F0E9E4CEFD22ED02
+:10140E00F8F5F0EE8420D21CFEADF075F008EF2F4B
+:10141E00FFED33FD4007985006D5F0F222C398FD3C
+:05142E000FD5F0EA22D9
+:10143300C5F0F8A3E028F0C5F0F8E5821582700244
+:061443001583E038F022E1
+:0D144900EF2BFFEE3AFEED39FDEC38FC22F2
+:0E145600C3EF9BFFEE9AFEED99FDEC98FC2291
+:10146400E88FF0A4CC8BF0A42CFCE98EF0A42CFC27
+:101474008AF0EDA42CFCEA8EF0A4CDA8F08BF0A4A5
+:101484002DCC3825F0FDE98FF0A42CCD35F0FCEB04
+:101494008EF0A4FEA9F0EB8FF0A4CFC5F02ECD39C9
+:0F14A400FEE43CFCEAA42DCE35F0FDE43CFC2236
+:1014B30075F008758200EF2FFFEE33FECD33CDCCF0
+:1014C30033CCC58233C5829BED9AEC99E582984073
+:1014D3000CF582EE9BFEED9AFDEC99FC0FD5F0D650
+:1014E300E4CEFBE4CDFAE4CCF9A88222B800C1B97A
+:1014F3000059BA002DEC8BF084CFCECDFCE5F0CBB8
+:10150300F97818EF2FFFEE33FEED33FDEC33FCEBF0
+:1015130033FB10D703994004EB99FB0FD8E5E4F9AB
+:10152300FA227818EF2FFFEE33FEED33FDEC33FC98
+:10153300C933C910D7059BE99A4007EC9BFCE99A8C
+:10154300F90FD8E0E4C9FAE4CCFB2275F010EF2FD1
+:10155300FFEE33FEED33FDCC33CCC833C810D707D1
+:101563009BEC9AE899400AED9BFDEC9AFCE899F80C
+:0E1573000FD5F0DAE4CDFBE4CCFAE4C8F9229F
+:105E8F00C2D5E830E70FB2D5E4C39BFBE49AFAE43E
+:105E9F0099F9E498F8EC30E717B2D5125EC51214F1
+:105EAF00EFE4C39BFBE49AFAE499F9E498F88003D2
+:105EBF001214EF30D50DE4C39FFFE49EFEE49DFD69
+:045ECF00E49CFC2231
+:0D158100EF4BFFEE4AFEED49FDEC48FC2269
+:0E158E00C3E49FFFE49EFEE49DFDE49CFC226E
+:10159C00EB9FF5F0EA9E42F0E99D42F0EC6480C8C6
+:0615AC0064809845F02266
+:1015B200EB9FF5F0EA9E42F0E99D42F0E89C45F08F
+:0115C2002206
+:1015C300E8600FECC313FCED13FDEE13FEEF13FF06
+:0315D300D8F1222A
+:1015D600E86010ECA2E713FCED13FDEE13FEEF132B
+:0415E600FFD8F02218
+:1015EA00E8600FEFC333FFEE33FEED33FDEC33FC5F
+:0315FA00D8F12203
+:0C15FD00E0FCA3E0FDA3E0FEA3E0FF2261
+:0C160900E0F8A3E0F9A3E0FAA3E0FB2264
+:0C161500ECF0A3EDF0A3EEF0A3EFF02248
+:10162100A8828583F0D083D0821216381216381220
+:101631001638121638E473E493A3C583C5F0C58345
+:10164100C8C582C8F0A3C583C5F0C583C8C582C813
+:011651002276
+:0C165200A42582F582E5F03583F58322A3
+:10165E00D083D082F8E4937012740193700DA3A31B
+:10166E0093F8740193F5828883E47374029368602F
+:06167E00EFA3A3A380DF2F
+:10168400EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02DF3
+:10169400FDE43CFCE8A42EC8C5F03DFDE43CFCEFB1
+:0D16A400A4FFE5F028FEE43DFDE43CFC223F
+:08679E00EC30E70312158E2216
+:00000001FF
diff --git a/output/McuFlash_IAP.lnp b/output/McuFlash_IAP.lnp
new file mode 100644
index 0000000..69a4d6c
--- /dev/null
+++ b/output/McuFlash_IAP.lnp
@@ -0,0 +1,35 @@
+".\output\Main.obj",
+".\output\Initial.obj",
+".\output\InterruptApp.obj",
+".\output\Led.obj",
+".\output\KeyApp.obj",
+".\output\LowPower.obj",
+".\output\UartApp.obj",
+".\output\Memory.obj",
+".\output\AFE.obj",
+".\output\Balance.obj",
+".\output\Calculate.obj",
+".\output\Calibrate.obj",
+".\output\ChargerLoad.obj",
+".\output\ExtE2PRom.obj",
+".\output\Interrupt.obj",
+".\output\KeyScan.obj",
+".\output\McuFlash.obj",
+".\output\McuLib.obj",
+".\output\MosCtrl.obj",
+".\output\PorSelfTest.obj",
+".\output\Protect.obj",
+".\output\RTC.obj",
+".\output\TWI.obj",
+".\output\Uart.obj",
+".\output\Thermistor.obj",
+".\output\STARTUP.obj",
+".\output\GasGauge.obj",
+".\code_gasguage\GasGaugeLib.LIB",
+".\output\BootApp.obj",
+".\output\DataFlash.obj"
+TO ".\output\McuFlash_IAP" REGFILE (.\output\McuFlash_IAP.ORC)
+PRINT(".\output\McuFlash_IAP.m51") RAMSIZE(256)
+DISABLEWARNING (16)
+CODE( 0X1000-0X87FF , ?CO?DATAFLASH(0x8400) )
+XDATA( 0X0200-0X0AFE )
diff --git a/output/McuFlash_IAP.m51 b/output/McuFlash_IAP.m51
new file mode 100644
index 0000000..fdb448a
--- /dev/null
+++ b/output/McuFlash_IAP.m51
@@ -0,0 +1,6914 @@
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 1
+
+
+BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
+C:\KEIL_V5\C51\BIN\BL51.EXE .\output\Main.obj, .\output\Initial.obj, .\output\InterruptApp.obj, .\output\Led.obj, .\outp
+>> ut\KeyApp.obj, .\output\LowPower.obj, .\output\UartApp.obj, .\output\Memory.obj, .\output\AFE.obj, .\output\Balance.o
+>> bj, .\output\Calculate.obj, .\output\Calibrate.obj, .\output\ChargerLoad.obj, .\output\ExtE2PRom.obj, .\output\Interr
+>> upt.obj, .\output\KeyScan.obj, .\output\McuFlash.obj, .\output\McuLib.obj, .\output\MosCtrl.obj, .\output\PorSelfTest
+>> .obj, .\output\Protect.obj, .\output\RTC.obj, .\output\TWI.obj, .\output\Uart.obj, .\output\Thermistor.obj, .\output\
+>> STARTUP.obj, .\output\GasGauge.obj, .\code_gasguage\GasGaugeLib.LIB, .\output\BootApp.obj, .\output\DataFlash.obj TO
+>> .\output\McuFlash_IAP REGFILE (.\output\McuFlash_IAP.ORC) PRINT (.\output\McuFlash_IAP.m51) RAMSIZE (256) DISABLEWARN
+>> ING (16) CODE (0X1000-0X87FF, ?CO?DATAFLASH (0X8400)) XDATA (0X0200-0X0AFE)
+
+
+MEMORY MODEL: LARGE WITH FLOATING POINT ARITHMETIC
+
+
+INPUT MODULES INCLUDED:
+ .\output\Main.obj (MAIN)
+ .\output\Initial.obj (INITIAL)
+ .\output\InterruptApp.obj (INTERRUPTAPP)
+ .\output\Led.obj (LED)
+ .\output\KeyApp.obj (KEYAPP)
+ .\output\LowPower.obj (LOWPOWER)
+ .\output\UartApp.obj (UARTAPP)
+ .\output\Memory.obj (MEMORY)
+ .\output\AFE.obj (AFE)
+ .\output\Balance.obj (BALANCE)
+ .\output\Calculate.obj (CALCULATE)
+ .\output\Calibrate.obj (CALIBRATE)
+ .\output\ChargerLoad.obj (CHARGERLOAD)
+ .\output\ExtE2PRom.obj (EXTE2PROM)
+ .\output\Interrupt.obj (INTERRUPT)
+ .\output\KeyScan.obj (KEYSCAN)
+ .\output\McuFlash.obj (MCUFLASH)
+ .\output\McuLib.obj (MCULIB)
+ .\output\MosCtrl.obj (MOSCTRL)
+ .\output\PorSelfTest.obj (PORSELFTEST)
+ .\output\Protect.obj (PROTECT)
+ .\output\RTC.obj (RTC)
+ .\output\TWI.obj (TWI)
+ .\output\Uart.obj (UART)
+ .\output\Thermistor.obj (THERMISTOR)
+ .\output\STARTUP.obj (?C_STARTUP)
+ .\output\GasGauge.obj (GASGAUGE)
+ .\code_gasguage\GasGaugeLib.LIB (GASGAUGELIB)
+ .\output\BootApp.obj (BOOTAPP)
+ .\output\DataFlash.obj (DATAFLASH)
+ C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FPADD)
+ C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FPMUL)
+ C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FPDIV)
+ C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FCAST)
+ C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?CASTF)
+ C:\KEIL_V5\C51\LIB\C51FPL.LIB (?C?FPGETOPN)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?CLDPTR)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?IMUL)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?UIDIV)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?IILDX)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LADD)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSUB)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LMUL)
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 2
+
+
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULDIV)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLDIV)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LOR)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LNEG)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLCMP)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULCMP)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULSHR)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLSHR)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSHL)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDXDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDXDATA0)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTXDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTKXDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?OFFXADD)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?CCASE)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LIMUL)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (LABS)
+
+
+LINK MAP OF MODULE: .\output\McuFlash_IAP (MAIN)
+
+
+ TYPE BASE LENGTH RELOCATION SEGMENT NAME
+ -----------------------------------------------------
+
+ * * * * * * * D A T A M E M O R Y * * * * * * *
+ REG 0000H 0008H ABSOLUTE "REG BANK 0"
+ DATA 0008H 0007H UNIT ?DT?KEYSCAN
+ DATA 000FH 0006H UNIT ?DT?AFE
+ DATA 0015H 0002H UNIT _DATA_GROUP_
+ IDATA 0017H 0007H UNIT ?ID?GASGAUGE
+ IDATA 001EH 0002H UNIT _IDATA_GROUP_
+ DATA 0020H 0007H BIT_ADDR ?BA?MEMORY
+ BIT 0027H.0 0001H.5 UNIT ?BI?EXTE2PROM
+ BIT 0028H.5 0000H.6 UNIT _BIT_GROUP_
+ BIT 0029H.3 0000H.5 UNIT ?BI?AFE
+ BIT 002AH.0 0000H.5 UNIT ?BI?BALANCE
+ BIT 002AH.5 0000H.4 UNIT ?BI?LOWPOWER
+ BIT 002BH.1 0000H.4 UNIT ?BI?UARTAPP
+ BIT 002BH.5 0000H.4 UNIT ?BI?CHARGERLOAD
+ BIT 002CH.1 0000H.4 UNIT ?BI?GASGAUGE
+ BIT 002CH.5 0000H.3 UNIT ?BI?INTERRUPTAPP
+ BIT 002DH.0 0000H.3 UNIT ?BI?MCUFLASH
+ BIT 002DH.3 0000H.2 UNIT ?BI?LED
+ BIT 002DH.5 0000H.2 UNIT ?BI?MOSCTRL
+ BIT 002DH.7 0000H.2 UNIT ?BI?PROTECT
+ BIT 002EH.1 0000H.2 UNIT ?BI?RTC
+ BIT 002EH.3 0000H.1 UNIT ?BI?CALIBRATE
+ BIT 002EH.4 0000H.1 UNIT ?BI?KEYSCAN
+ BIT 002EH.5 0000H.1 UNIT ?BI?PORSELFTEST
+ 002EH.6 0000H.2 *** GAP ***
+ IDATA 002FH 0001H UNIT ?ID?EXTE2PROM
+ 0030H 0070H *** GAP ***
+ IDATA 00A0H 0060H ABSOLUTE
+
+ * * * * * * * X D A T A M E M O R Y * * * * * * *
+ XDATA 0000H 0002H ABSOLUTE
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 3
+
+
+ XDATA 0002H 0014H ABSOLUTE
+ XDATA 0016H 0004H ABSOLUTE
+ XDATA 001AH 0004H ABSOLUTE
+ XDATA 001EH 0004H ABSOLUTE
+ XDATA 0022H 0002H ABSOLUTE
+ XDATA 0024H 0002H ABSOLUTE
+ XDATA 0026H 0002H ABSOLUTE
+ XDATA 0028H 0002H ABSOLUTE
+ XDATA 002AH 0001H ABSOLUTE
+ XDATA 002BH 0001H ABSOLUTE
+ XDATA 002CH 0002H ABSOLUTE
+ XDATA 002EH 0001H ABSOLUTE
+ XDATA 002FH 0001H ABSOLUTE
+ XDATA 0030H 0002H ABSOLUTE
+ XDATA 0032H 0002H ABSOLUTE
+ XDATA 0034H 0001H ABSOLUTE
+ XDATA 0035H 000CH ABSOLUTE
+ XDATA 0041H 0004H ABSOLUTE
+ XDATA 0045H 0002H ABSOLUTE
+ XDATA 0047H 000CH ABSOLUTE
+ XDATA 0053H 000CH ABSOLUTE
+ XDATA 005FH 0002H ABSOLUTE
+ XDATA 0061H 0001H ABSOLUTE
+ XDATA 0062H 0002H ABSOLUTE
+ XDATA 0064H 0002H ABSOLUTE
+ XDATA 0066H 0001H ABSOLUTE
+ XDATA 0067H 0001H ABSOLUTE
+ XDATA 0068H 0005H ABSOLUTE
+ XDATA 006DH 0004H ABSOLUTE
+ XDATA 0071H 0001H ABSOLUTE
+ XDATA 0072H 0001H ABSOLUTE
+ XDATA 0073H 0001H ABSOLUTE
+ XDATA 0074H 0001H ABSOLUTE
+ XDATA 0075H 0002H ABSOLUTE
+ XDATA 0077H 0002H ABSOLUTE
+ XDATA 0079H 0001H ABSOLUTE
+ XDATA 007AH 0001H ABSOLUTE
+ XDATA 007BH 0003H ABSOLUTE
+ XDATA 007EH 0004H ABSOLUTE
+ XDATA 0082H 0001H ABSOLUTE
+ XDATA 0083H 0004H ABSOLUTE
+ XDATA 0087H 0001H ABSOLUTE
+ XDATA 0088H 0001H ABSOLUTE
+ XDATA 0089H 0001H ABSOLUTE
+ XDATA 008AH 0002H ABSOLUTE
+ XDATA 008CH 0001H ABSOLUTE
+ XDATA 008DH 0001H ABSOLUTE
+ XDATA 008EH 0001H ABSOLUTE
+ XDATA 008FH 0002H ABSOLUTE
+ XDATA 0091H 0002H ABSOLUTE
+ XDATA 0093H 0002H ABSOLUTE
+ XDATA 0095H 0002H ABSOLUTE
+ XDATA 0097H 0001H ABSOLUTE
+ XDATA 0098H 0001H ABSOLUTE
+ XDATA 0099H 0001H ABSOLUTE
+ XDATA 009AH 0002H ABSOLUTE
+ XDATA 009CH 0002H ABSOLUTE
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 4
+
+
+ XDATA 009EH 0002H ABSOLUTE
+ XDATA 00A0H 0002H ABSOLUTE
+ XDATA 00A2H 0001H ABSOLUTE
+ XDATA 00A3H 0002H ABSOLUTE
+ XDATA 00A5H 0002H ABSOLUTE
+ XDATA 00A7H 0002H ABSOLUTE
+ XDATA 00A9H 0001H ABSOLUTE
+ XDATA 00AAH 0001H ABSOLUTE
+ XDATA 00ABH 0002H ABSOLUTE
+ XDATA 00ADH 0002H ABSOLUTE
+ XDATA 00AFH 0001H ABSOLUTE
+ XDATA 00B0H 0001H ABSOLUTE
+ XDATA 00B1H 0002H ABSOLUTE
+ XDATA 00B3H 0002H ABSOLUTE
+ XDATA 00B5H 0001H ABSOLUTE
+ XDATA 00B6H 0004H ABSOLUTE
+ XDATA 00BAH 0004H ABSOLUTE
+ XDATA 00BEH 0004H ABSOLUTE
+ XDATA 00C2H 0004H ABSOLUTE
+ XDATA 00C6H 0004H ABSOLUTE
+ XDATA 00CAH 0002H ABSOLUTE
+ XDATA 00CCH 0001H ABSOLUTE
+ XDATA 00CDH 0001H ABSOLUTE
+ XDATA 00CEH 0002H ABSOLUTE
+ XDATA 00D0H 0001H ABSOLUTE
+ XDATA 00D1H 0002H ABSOLUTE
+ XDATA 00D3H 0002H ABSOLUTE
+ XDATA 00D5H 0002H ABSOLUTE
+ XDATA 00D7H 0002H ABSOLUTE
+ XDATA 00D9H 0002H ABSOLUTE
+ XDATA 00DBH 0001H ABSOLUTE
+ XDATA 00DCH 0001H ABSOLUTE
+ XDATA 00DDH 0121H ABSOLUTE
+ XDATA 01FEH 0002H ABSOLUTE
+ XDATA 0200H 00B5H UNIT ?XD?AFE
+ XDATA 02B5H 0070H UNIT _XDATA_GROUP_
+ XDATA 0325H 0022H UNIT ?XD?PROTECT
+ XDATA 0347H 0012H UNIT ?XD?CALIBRATE
+ XDATA 0359H 000FH UNIT ?XD?EXTE2PROM
+ XDATA 0368H 000FH UNIT ?XD?GASGAUGE
+ XDATA 0377H 0008H UNIT ?XD?RTC
+ XDATA 037FH 0007H UNIT ?XD?UARTAPP
+ XDATA 0386H 0006H UNIT ?XD?BALANCE
+ XDATA 038CH 0003H UNIT ?XD?LED
+ XDATA 038FH 0003H UNIT ?XD?LOWPOWER
+ XDATA 0392H 0003H UNIT ?XD?_MCUPWM0SET?MCULIB
+ XDATA 0395H 0003H UNIT ?XD?_MCUPWM1SET?MCULIB
+ XDATA 0398H 0002H UNIT ?XD?INTERRUPTAPP
+ XDATA 039AH 0002H UNIT ?XD?CALCULATE
+ XDATA 039CH 0002H UNIT ?XD?CHARGERLOAD
+ XDATA 039EH 0002H UNIT ?XD?MCUFLASH
+ XDATA 03A0H 0001H UNIT ?XD?KEYAPP
+ XDATA 03A1H 0001H UNIT ?XD?PORSELFTEST
+ 03A2H 065EH *** GAP ***
+ XDATA 0A00H 0096H ABSOLUTE
+
+ * * * * * * * C O D E M E M O R Y * * * * * * *
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 5
+
+
+ 0000H 1000H *** GAP ***
+ CODE 1000H 0003H ABSOLUTE
+ CODE 1003H 0020H UNIT ?PR?INTERRUPTTIMER3?INTERRUPT
+ CODE 1023H 0003H ABSOLUTE
+ 1026H 0005H *** GAP ***
+ CODE 102BH 0003H ABSOLUTE
+ CODE 102EH 0025H UNIT ?PR?INITGPIO?INITIAL
+ CODE 1053H 0003H ABSOLUTE
+ CODE 1056H 065BH UNIT ?C?LIB_CODE
+ CODE 16B1H 04DAH UNIT ?PR?DATAFILTER?GASGAUGELIB
+ CODE 1B8BH 045EH UNIT ?PR?CORRECTDSGSOC?GASGAUGELIB
+ CODE 1FE9H 0326H UNIT ?PR?GASGAUGEMANAGE?GASGAUGE
+ CODE 230FH 025CH UNIT ?PR?GASGAUGEINIT?GASGAUGE
+ CODE 256BH 0255H UNIT ?PR?CORRECTCHGSOC?GASGAUGELIB
+ CODE 27C0H 01F0H UNIT ?PR?_CALCUTEMP?CALCULATE
+ CODE 29B0H 01D8H UNIT ?PR?_TWIREAD?TWI
+ CODE 2B88H 01C2H UNIT ?PR?_RTCREADTIME?RTC
+ CODE 2D4AH 01B3H UNIT ?PR?_E2PROMBKDATA?EXTE2PROM
+ CODE 2EFDH 0178H UNIT ?PR?AFECALCUCURR?CALCULATE
+ CODE 3075H 0167H UNIT ?PR?IAPCHECKHANDSHAKE?UARTAPP
+ CODE 31DCH 0148H UNIT ?PR?UARTRDCMDPROCESS?UARTAPP
+ CODE 3324H 0147H UNIT ?PR?_TWIWRITE?TWI
+ CODE 346BH 0144H UNIT ?PR?BALTURNONCHECK?BALANCE
+ CODE 35AFH 0142H UNIT ?CO?THERMISTOR
+ CODE 36F1H 0139H UNIT ?PR?_MCUTIMER3SET?MCULIB
+ CODE 382AH 0138H UNIT ?PR?AFECALCUVOL?CALCULATE
+ CODE 3962H 0100H UNIT ?CO?TWI
+ CODE 3A62H 00EEH UNIT ?PR?AFECALCUTEMPE?CALCULATE
+ CODE 3B50H 00D3H UNIT ?PR?E2PROMBKCHECK?EXTE2PROM
+ CODE 3C23H 00C1H UNIT ?PR?MCUFLASHPROCESS?MCUFLASH
+ CODE 3CE4H 00BDH UNIT ?PR?UARTCALICURRENT?UARTAPP
+ CODE 3DA1H 00BCH UNIT ?PR?PROTECTOV?PROTECT
+ CODE 3E5DH 00BCH UNIT ?PR?PROTECTUV?PROTECT
+ CODE 3F19H 00BCH UNIT ?PR?PROTECTOTC?PROTECT
+ CODE 3FD5H 00BCH UNIT ?PR?PROTECTUTC?PROTECT
+ CODE 4091H 00BCH UNIT ?PR?PROTECTOTD?PROTECT
+ CODE 414DH 00BCH UNIT ?PR?PROTECTUTD?PROTECT
+ CODE 4209H 00BAH UNIT ?PR?BALPROCESS?BALANCE
+ CODE 42C3H 00B3H UNIT ?PR?OFFSETCALCULATE?CALCULATE
+ CODE 4376H 00B2H UNIT ?PR?_AFEWRITEREG?AFE
+ CODE 4428H 00ADH UNIT ?PR?LEDDISPLAY?LED
+ CODE 44D5H 00ABH UNIT ?PR?INTERRUPTUARTAPPTX?UARTAPP
+ CODE 4580H 00A7H UNIT ?PR?UARTWRCMDPROCESS?UARTAPP
+ CODE 4627H 00A2H UNIT ?PR?KEYSCAN?KEYSCAN
+ CODE 46C9H 00A1H UNIT ?PR?SYSPARAINIT?INITIAL
+ CODE 476AH 009CH UNIT ?PR?_RTCMODIFYTIME?RTC
+ CODE 4806H 0097H UNIT ?PR?_INTERRUPTUARTAPPRX?UARTAPP
+ CODE 489DH 0097H UNIT ?PR?_MCUFLASHWRITE?MCUFLASH
+ CODE 4934H 0091H UNIT ?PR?_UART0INIT?UART
+ CODE 49C5H 008DH UNIT ?PR?_RTCINITTIME?RTC
+ CODE 4A52H 008CH UNIT ?PR?_MCUFLASHWRSECTOR?MCUFLASH
+ CODE 4ADEH 0088H UNIT ?PR?LOWPOWERCHECK?LOWPOWER
+ CODE 4B66H 0086H UNIT ?PR?_UARTWRITEINFO?UARTAPP
+ CODE 4BECH 0086H UNIT ?PR?AFEINITREG?AFE
+ CODE 4C72H 0081H UNIT ?PR?_MCUPWM0SET?MCULIB
+ CODE 4CF3H 0081H UNIT ?PR?_MCUPWM1SET?MCULIB
+ CODE 4D74H 0081H UNIT ?PR?_MCUPWM2SET?MCULIB
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 6
+
+
+ CODE 4DF5H 007DH UNIT ?PR?E2PROMINIT?EXTE2PROM
+ CODE 4E72H 0079H UNIT ?PR?_UARTREADINFO?UARTAPP
+ CODE 4EEBH 0078H UNIT ?PR?MAIN?MAIN
+ CODE 4F63H 0076H UNIT ?PR?PROTECTOCRECOVER?PROTECT
+ CODE 4FD9H 006FH UNIT ?PR?_AFEREADREG?AFE
+ CODE 5048H 006DH UNIT ?PR?CALIVOLTAGE?CALIBRATE
+ CODE 50B5H 006CH UNIT ?PR?E2PROMERASE?EXTE2PROM
+ CODE 5121H 006BH UNIT ?PR?INTERRUPTINT4?INTERRUPT
+ CODE 518CH 0069H UNIT ?PR?UARTRDE2PROM?EXTE2PROM
+ CODE 51F5H 0066H UNIT ?PR?RAMCHECKPROCESS?MCULIB
+ CODE 525BH 005FH UNIT ?PR?_E2PROMWRITE?EXTE2PROM
+ CODE 52BAH 005FH UNIT ?PR?_E2PROMREAD?EXTE2PROM
+ CODE 5319H 005FH UNIT ?PR?_MCUFLASHREAD?MCUFLASH
+ CODE 5378H 005DH UNIT ?PR?AFERAMCHECK?AFE
+ CODE 53D5H 005CH UNIT ?PR?KEYSWITCHSPEED?KEYAPP
+ CODE 5431H 005BH UNIT ?PR?_RTCWRITE?RTC
+ CODE 548CH 005BH UNIT ?PR?_RTCREAD?RTC
+ CODE 54E7H 005AH UNIT ?PR?_MCUFLASHDATACHECK?MCUFLASH
+ CODE 5541H 0059H UNIT ?PR?PROTECTOCC?PROTECT
+ CODE 559AH 0059H UNIT ?PR?PROTECTOCD1?PROTECT
+ CODE 55F3H 0059H UNIT ?PR?PROTECTOCD2?PROTECT
+ CODE 564CH 0056H UNIT ?PR?E2PROMBKPROCESS?EXTE2PROM
+ CODE 56A2H 0055H UNIT ?PR?INITIAL?INITIAL
+ CODE 56F7H 0054H UNIT ?PR?UARTCALIRTC?UARTAPP
+ CODE 574BH 0052H UNIT ?PR?UARTCALIVOLTAGE?UARTAPP
+ CODE 579DH 0051H UNIT ?PR?_MCUCLOCKSET?MCULIB
+ CODE 57EEH 0051H UNIT ?PR?INTERRUPTUART0?UART
+ CODE 583FH 004FH UNIT ?PR?CALIPROCESS?CALIBRATE
+ CODE 588EH 004FH UNIT ?PR?PORPROTECTOTC?PORSELFTEST
+ CODE 58DDH 004FH UNIT ?PR?PORPROTECTUTC?PORSELFTEST
+ CODE 592CH 004FH UNIT ?PR?PORPROTECTOTD?PORSELFTEST
+ CODE 597BH 004FH UNIT ?PR?PORPROTECTUTD?PORSELFTEST
+ CODE 59CAH 004EH UNIT ?PR?LOADCHECK?CHARGERLOAD
+ CODE 5A18H 004CH UNIT ?PR?E2PROMBKRTC?EXTE2PROM
+ CODE 5A64H 004AH UNIT ?PR?AFEGETVOL?CALCULATE
+ CODE 5AAEH 004AH UNIT ?PR?MOSSTATUSCHECK?MOSCTRL
+ CODE 5AF8H 0049H UNIT ?PR?UARTCALITS1?UARTAPP
+ CODE 5B41H 0049H UNIT ?PR?UARTCALITS2?UARTAPP
+ CODE 5B8AH 0048H UNIT ?CO?UARTAPP
+ CODE 5BD2H 0048H UNIT ?PR?AFEGETTEMPE?CALCULATE
+ CODE 5C1AH 0048H UNIT ?PR?_DELAY1MS?MCULIB
+ CODE 5C62H 0048H UNIT ?PR?PORPROTECTOV?PORSELFTEST
+ CODE 5CAAH 0048H UNIT ?PR?PORPROTECTUV?PORSELFTEST
+ CODE 5CF2H 0046H UNIT ?PR?UARTRDRTC?EXTE2PROM
+ CODE 5D38H 0045H UNIT ?PR?WRITEMANUFACTURE?UARTAPP
+ CODE 5D7DH 0045H UNIT ?PR?CALITS1?CALIBRATE
+ CODE 5DC2H 0045H UNIT ?PR?CALITS2?CALIBRATE
+ CODE 5E07H 0044H UNIT ?PR?CALIRTCTIME?CALIBRATE
+ CODE 5E4BH 0044H UNIT ?PR?CHGERCHECK?CHARGERLOAD
+ CODE 5E8FH 0044H UNIT ?C?LDIV
+ CODE 5ED3H 0043H UNIT ?PR?SYSTEMINTOSLEEP?LOWPOWER
+ CODE 5F16H 0042H UNIT ?PR?INITVAR?INITIAL
+ CODE 5F58H 0041H UNIT ?PR?E2PROMBKBOOT?EXTE2PROM
+ CODE 5F99H 003FH UNIT ?PR?_LEDGETDISNUM?LED
+ CODE 5FD8H 003FH UNIT ?PR?_AFEBALCTL?AFE
+ CODE 6017H 003CH UNIT ?PR?AFECLRFLG?AFE
+ CODE 6053H 003BH UNIT ?PR?LOWPOWERPROCESS?LOWPOWER
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 7
+
+
+ CODE 608EH 003BH UNIT ?PR?CALICURRENTGAIN?CALIBRATE
+ CODE 60C9H 003BH UNIT ?PR?PORSELFTEST?PORSELFTEST
+ CODE 6104H 0039H UNIT ?PR?_TWIINIT?TWI
+ CODE 613DH 0038H UNIT ?PR?WAKEUPPROCESS?LOWPOWER
+ CODE 6175H 0037H UNIT ?PR?READSUBCLASSID?UARTAPP
+ CODE 61ACH 0036H UNIT ?PR?UARTCALICUROFFSET?UARTAPP
+ CODE 61E2H 0035H UNIT ?PR?CTOCHECKVOL?BALANCE
+ CODE 6217H 0035H UNIT ?PR?_MCUFLASHWRONEBYTE?MCUFLASH
+ CODE 624CH 0034H UNIT ?CO?CALCULATE
+ CODE 6280H 0033H UNIT ?PR?AFERDFLG?AFE
+ CODE 62B3H 0033H UNIT ?PR?CLRRAM?MCULIB
+ CODE 62E6H 0033H UNIT ?PR?_MEMORYCOPY?MCULIB
+ CODE 6319H 0030H UNIT ?PR?KEYPROCESS?KEYAPP
+ CODE 6349H 002DH UNIT ?PR?MOSCTRL?MOSCTRL
+ CODE 6376H 002AH UNIT ?PR?_MEMORYSET?MCULIB
+ CODE 63A0H 0027H UNIT ?PR?_MCUFLASHCHECKFLG?MCUFLASH
+ CODE 63C7H 0027H UNIT ?PR?_TWICHECKSTATUS?TWI
+ CODE 63EEH 0026H UNIT ?PR?AFEENTERPD?AFE
+ CODE 6414H 0026H UNIT ?PR?CTOTURNONCHECK?BALANCE
+ CODE 643AH 0026H UNIT ?PR?_MCUFLASHBLANKCHECK?MCUFLASH
+ CODE 6460H 0025H UNIT ?PR?SYSTEMRESETPROCESS?MCULIB
+ CODE 6485H 0024H UNIT ?PR?_INTERRUPTINT4APP?INTERRUPTAPP
+ CODE 64A9H 0024H UNIT ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP
+ CODE 64CDH 001FH UNIT ?PR?SYSTEMINTOPD?LOWPOWER
+ CODE 64ECH 001FH UNIT ?PR?PROTECTPROCESS?PROTECT
+ CODE 650BH 001EH UNIT ?PR?INITIRQ?INITIAL
+ CODE 6529H 001DH UNIT ?PR?E2PROMTWICHECK?EXTE2PROM
+ CODE 6546H 001DH UNIT ?PR?RTCTWICHECK?RTC
+ CODE 6563H 001CH UNIT ?PR?_CRC8CAL?TWI
+ CODE 657FH 001AH UNIT ?PR?AFETWICHECK?AFE
+ CODE 6599H 0018H UNIT ?PR?AFERDSTATUS?AFE
+ CODE 65B1H 0017H UNIT ?PR?_AFEALARMDIS?AFE
+ CODE 65C8H 0015H UNIT ?PR?_AFEMOSCTL?AFE
+ CODE 65DDH 0015H UNIT ?PR?MCUFLASHWRWAITCHECK?MCUFLASH
+ CODE 65F2H 0014H UNIT ?PR?UARTCHECK?UARTAPP
+ CODE 6606H 0014H UNIT ?PR?AFEINFOPROCESS?CALCULATE
+ CODE 661AH 0014H UNIT ?C_C51STARTUP
+ CODE 662EH 0013H UNIT ?PR?LEDAUTOOFF?LED
+ CODE 6641H 0013H UNIT ?PR?AFECHGERCHECKEN?AFE
+ CODE 6654H 0013H UNIT ?PR?AFECHGERCHECKDIS?AFE
+ CODE 6667H 0013H UNIT ?PR?AFELOADCHECKEN?AFE
+ CODE 667AH 0013H UNIT ?PR?AFELOADCHECKDIS?AFE
+ CODE 668DH 0013H UNIT ?PR?AFEWDTEN?AFE
+ CODE 66A0H 0013H UNIT ?PR?AFEWDTDIS?AFE
+ CODE 66B3H 0013H UNIT ?PR?AFEADCEN?AFE
+ CODE 66C6H 0013H UNIT ?PR?AFEADCDIS?AFE
+ CODE 66D9H 0013H UNIT ?PR?AFECADCEN?AFE
+ CODE 66ECH 0013H UNIT ?PR?AFECADCDIS?AFE
+ CODE 66FFH 0013H UNIT ?PR?AFETEMPADCEN?AFE
+ CODE 6712H 0013H UNIT ?PR?AFETEMPADCDIS?AFE
+ CODE 6725H 0013H UNIT ?PR?ISPPROCESS?BOOTAPP
+ CODE 6738H 0012H UNIT ?PR?UARTHANDSHAKE?UARTAPP
+ CODE 674AH 0012H UNIT ?PR?_AFEALARMEN?AFE
+ CODE 675CH 0010H UNIT ?PR?AFEINIT?AFE
+ CODE 676CH 0010H UNIT ?PR?CALICURZERO?CALIBRATE
+ CODE 677CH 000CH UNIT ?PR?MCUINTOIDLE?MCULIB
+ CODE 6788H 000CH UNIT ?PR?MCUINTOPD?MCULIB
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 8
+
+
+ CODE 6794H 000AH UNIT ?PR?BALANCEPROCESS?BALANCE
+ CODE 679EH 0008H UNIT ?PR?_LABS?LABS
+ 67A6H 1C5AH *** GAP ***
+ CODE 8400H 0400H UNIT ?CO?DATAFLASH
+
+
+
+OVERLAY MAP OF MODULE: .\output\McuFlash_IAP (MAIN)
+
+
+SEGMENT BIT_GROUP DATA_GROUP IDATA_GROUP XDATA_GROUP
+ +--> CALLED SEGMENT START LENGTH START LENGTH START LENGTH START LENGTH
+-----------------------------------------------------------------------------------------------------------------------
+?PR?INTERRUPTINT4?INTERRUPT ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_INTERRUPTINT4APP?INTERRUPTAPP
+
+?PR?_INTERRUPTINT4APP?INTERRUPTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+
+*** NEW ROOT ***************************************************
+
+?PR?INTERRUPTTIMER3?INTERRUPT ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP
+
+?PR?INTERRUPTTIMER3APP?INTERRUPTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?KEYSCAN?KEYSCAN
+
+*** NEW ROOT ***************************************************
+
+?PR?INTERRUPTUART0?UART ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_INTERRUPTUARTAPPRX?UARTAPP
+ +--> ?PR?INTERRUPTUARTAPPTX?UARTAPP
+
+?PR?_INTERRUPTUARTAPPRX?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?UARTRDCMDPROCESS?UARTAPP
+ +--> ?PR?UARTWRCMDPROCESS?UARTAPP
+ +--> ?PR?IAPCHECKHANDSHAKE?UARTAPP
+
+?PR?UARTRDCMDPROCESS?UARTAPP ----- ----- ----- ----- ----- ----- 02B5H 0002H
+ +--> ?PR?_UARTREADINFO?UARTAPP
+ +--> ?CO?UARTAPP
+
+?PR?_UARTREADINFO?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?_CRC8CAL?TWI ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?CO?TWI
+
+?PR?UARTWRCMDPROCESS?UARTAPP ----- ----- ----- ----- ----- ----- 02B5H 0002H
+ +--> ?PR?WRITEMANUFACTURE?UARTAPP
+ +--> ?PR?READSUBCLASSID?UARTAPP
+ +--> ?PR?UARTCALICURRENT?UARTAPP
+ +--> ?PR?UARTCALIVOLTAGE?UARTAPP
+ +--> ?PR?UARTCALICUROFFSET?UARTAPP
+ +--> ?PR?UARTCALITS1?UARTAPP
+ +--> ?PR?UARTCALITS2?UARTAPP
+ +--> ?PR?UARTCALIRTC?UARTAPP
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 9
+
+
+ +--> ?CO?UARTAPP
+ +--> ?PR?_UARTWRITEINFO?UARTAPP
+
+?PR?WRITEMANUFACTURE?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?READSUBCLASSID?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UARTCALICURRENT?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UARTCALIVOLTAGE?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UARTCALICUROFFSET?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UARTCALITS1?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UARTCALITS2?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UARTCALIRTC?UARTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?_UARTWRITEINFO?UARTAPP ----- ----- ----- ----- ----- ----- 02B7H 0002H
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?IAPCHECKHANDSHAKE?UARTAPP ----- ----- ----- ----- ----- ----- 02B5H 0002H
+
+*** NEW ROOT ***************************************************
+
+?C_C51STARTUP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?MAIN?MAIN
+
+?PR?MAIN?MAIN ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?INITIAL?INITIAL
+ +--> ?PR?KEYPROCESS?KEYAPP
+ +--> ?PR?AFEINFOPROCESS?CALCULATE
+ +--> ?PR?BALANCEPROCESS?BALANCE
+ +--> ?PR?PROTECTPROCESS?PROTECT
+ +--> ?PR?PORSELFTEST?PORSELFTEST
+ +--> ?PR?LOADCHECK?CHARGERLOAD
+ +--> ?PR?CHGERCHECK?CHARGERLOAD
+ +--> ?PR?MOSCTRL?MOSCTRL
+ +--> ?PR?PROTECTOCRECOVER?PROTECT
+ +--> ?PR?LEDDISPLAY?LED
+ +--> ?PR?UARTCHECK?UARTAPP
+ +--> ?PR?GASGAUGEMANAGE?GASGAUGE
+ +--> ?PR?AFERAMCHECK?AFE
+ +--> ?PR?AFETWICHECK?AFE
+ +--> ?PR?E2PROMTWICHECK?EXTE2PROM
+ +--> ?PR?RTCTWICHECK?RTC
+ +--> ?PR?RAMCHECKPROCESS?MCULIB
+ +--> ?PR?SYSPARAINIT?INITIAL
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 10
+
+
+ +--> ?PR?MCUFLASHWRWAITCHECK?MCUFLASH
+ +--> ?PR?E2PROMBKCHECK?EXTE2PROM
+ +--> ?PR?LOWPOWERCHECK?LOWPOWER
+ +--> ?PR?SYSTEMRESETPROCESS?MCULIB
+ +--> ?PR?ISPPROCESS?BOOTAPP
+ +--> ?PR?CALIPROCESS?CALIBRATE
+ +--> ?PR?MCUFLASHPROCESS?MCUFLASH
+ +--> ?PR?E2PROMBKPROCESS?EXTE2PROM
+ +--> ?PR?LOWPOWERPROCESS?LOWPOWER
+
+?PR?INITIAL?INITIAL ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+ +--> ?PR?INITGPIO?INITIAL
+ +--> ?PR?CLRRAM?MCULIB
+ +--> ?PR?SYSPARAINIT?INITIAL
+ +--> ?PR?INITVAR?INITIAL
+ +--> ?PR?_MCUTIMER3SET?MCULIB
+ +--> ?PR?_UART0INIT?UART
+ +--> ?PR?_TWIINIT?TWI
+ +--> ?PR?_MCUPWM2SET?MCULIB
+ +--> ?PR?AFEINITREG?AFE
+ +--> ?PR?AFEINIT?AFE
+ +--> ?PR?AFECLRFLG?AFE
+ +--> ?PR?E2PROMINIT?EXTE2PROM
+ +--> ?PR?_RTCINITTIME?RTC
+ +--> ?PR?INITIRQ?INITIAL
+
+?PR?CLRRAM?MCULIB ----- ----- ----- ----- 001EH 0002H ----- -----
+
+?PR?SYSPARAINIT?INITIAL ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUFLASHCHECKFLG?MCUFLASH
+ +--> ?PR?_MCUFLASHREAD?MCUFLASH
+ +--> ?PR?_MCUFLASHWRITE?MCUFLASH
+
+?PR?_MCUFLASHCHECKFLG?MCUFLASH 0028H.5 0000H.1 ----- ----- ----- ----- ----- -----
+
+?PR?_MCUFLASHREAD?MCUFLASH 0028H.5 0000H.1 0015H 0002H ----- ----- 02B9H 0004H
+
+?PR?_MCUFLASHWRITE?MCUFLASH 0028H.7 0000H.1 ----- ----- ----- ----- 02BBH 0004H
+ +--> ?PR?_MCUFLASHBLANKCHECK?MCUFLASH
+ +--> ?PR?_MCUFLASHWRSECTOR?MCUFLASH
+ +--> ?PR?_MCUFLASHDATACHECK?MCUFLASH
+
+?PR?_MCUFLASHBLANKCHECK?MCUFLASH 0029H.0 0000H.1 ----- ----- ----- ----- ----- -----
+
+?PR?_MCUFLASHWRSECTOR?MCUFLASH 0029H.0 0000H.1 ----- ----- ----- ----- 02BFH 0004H
+
+?PR?_MCUFLASHDATACHECK?MCUFLASH 0029H.0 0000H.1 ----- ----- ----- ----- 02BFH 0004H
+
+?PR?INITVAR?INITIAL ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MEMORYSET?MCULIB
+
+?PR?_MEMORYSET?MCULIB ----- ----- ----- ----- ----- ----- 02C5H 0002H
+
+?PR?_MCUTIMER3SET?MCULIB ----- ----- ----- ----- ----- ----- 02B9H 0005H
+
+?PR?_UART0INIT?UART ----- ----- ----- ----- ----- ----- 02B9H 0002H
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 11
+
+
+
+?PR?_MCUPWM2SET?MCULIB ----- ----- ----- ----- ----- ----- 02B9H 0003H
+
+?PR?AFEINIT?AFE 0028H.5 0000H.1 ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?_AFEWRITEREG?AFE 0028H.6 0000H.1 ----- ----- ----- ----- 02BDH 0006H
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?_TWIINIT?TWI
+
+?PR?_TWIWRITE?TWI 0029H.1 0000H.1 ----- ----- ----- ----- 02F5H 000EH
+ +--> ?PR?_CRC8CAL?TWI
+ +--> ?PR?_TWICHECKSTATUS?TWI
+
+?PR?_TWICHECKSTATUS?TWI 0029H.2 0000H.1 ----- ----- ----- ----- ----- -----
+
+?PR?AFECLRFLG?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?_AFEREADREG?AFE 0028H.6 0000H.1 ----- ----- ----- ----- 02C3H 0005H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?_TWIINIT?TWI
+
+?PR?_TWIREAD?TWI 0029H.0 0000H.1 ----- ----- ----- ----- 02EBH 003AH
+ +--> ?PR?_TWICHECKSTATUS?TWI
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?E2PROMINIT?EXTE2PROM 0028H.5 0000H.1 ----- ----- ----- ----- 02B9H 0008H
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+
+?PR?_E2PROMREAD?EXTE2PROM 0028H.6 0000H.1 ----- ----- ----- ----- 02C5H 0006H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?_RTCINITTIME?RTC 0028H.5 0000H.1 ----- ----- ----- ----- 02B9H 000CH
+ +--> ?PR?_MEMORYSET?MCULIB
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_RTCREADTIME?RTC
+
+?PR?_MEMORYCOPY?MCULIB ----- ----- ----- ----- ----- ----- 02DBH 0002H
+
+?PR?_RTCREADTIME?RTC 0028H.6 0000H.1 ----- ----- ----- ----- 02DBH 000BH
+ +--> ?PR?_RTCREAD?RTC
+ +--> ?PR?_RTCMODIFYTIME?RTC
+
+?PR?_RTCREAD?RTC 0028H.7 0000H.1 ----- ----- ----- ----- 02E6H 0005H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?_RTCMODIFYTIME?RTC 0028H.7 0000H.1 ----- ----- ----- ----- 02E6H 000AH
+ +--> ?PR?_RTCWRITE?RTC
+
+?PR?_RTCWRITE?RTC 0029H.0 0000H.1 ----- ----- ----- ----- 02F0H 0005H
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 12
+
+
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?KEYPROCESS?KEYAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?KEYSWITCHSPEED?KEYAPP
+
+?PR?KEYSWITCHSPEED?KEYAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUPWM2SET?MCULIB
+
+?PR?AFEINFOPROCESS?CALCULATE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFERDFLG?AFE
+ +--> ?PR?AFECALCUVOL?CALCULATE
+ +--> ?PR?AFECALCUTEMPE?CALCULATE
+ +--> ?PR?AFECALCUCURR?CALCULATE
+
+?PR?AFERDFLG?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?AFEINIT?AFE
+
+?PR?AFECALCUVOL?CALCULATE ----- ----- ----- ----- ----- ----- 02B9H 0009H
+ +--> ?PR?AFEGETVOL?CALCULATE
+
+?PR?AFEGETVOL?CALCULATE 0028H.5 0000H.1 ----- ----- ----- ----- 02C2H 0001H
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?AFECALCUTEMPE?CALCULATE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFEGETTEMPE?CALCULATE
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?AFEGETTEMPE?CALCULATE 0028H.5 0000H.1 ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?_CALCUTEMP?CALCULATE ----- ----- ----- ----- ----- ----- 02B9H 0007H
+ +--> ?CO?THERMISTOR
+
+?PR?AFECALCUCURR?CALCULATE ----- ----- ----- ----- ----- ----- 02B9H 0005H
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?OFFSETCALCULATE?CALCULATE
+
+?PR?OFFSETCALCULATE?CALCULATE ----- ----- ----- ----- ----- ----- 02BEH 0003H
+ +--> ?CO?CALCULATE
+
+?PR?BALANCEPROCESS?BALANCE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?BALTURNONCHECK?BALANCE
+ +--> ?PR?CTOTURNONCHECK?BALANCE
+ +--> ?PR?BALPROCESS?BALANCE
+
+?PR?BALPROCESS?BALANCE ----- ----- ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?_AFEBALCTL?AFE
+ +--> ?PR?CTOCHECKVOL?BALANCE
+
+?PR?_AFEBALCTL?AFE ----- ----- ----- ----- ----- ----- 02BBH 0002H
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?CTOCHECKVOL?BALANCE 0028H.5 0000H.1 ----- ----- ----- ----- ----- -----
+
+?PR?PROTECTPROCESS?PROTECT ----- ----- ----- ----- ----- ----- ----- -----
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 13
+
+
+ +--> ?PR?PROTECTOV?PROTECT
+ +--> ?PR?PROTECTUV?PROTECT
+ +--> ?PR?PROTECTOTC?PROTECT
+ +--> ?PR?PROTECTUTC?PROTECT
+ +--> ?PR?PROTECTOTD?PROTECT
+ +--> ?PR?PROTECTUTD?PROTECT
+ +--> ?PR?PROTECTOCC?PROTECT
+ +--> ?PR?PROTECTOCD1?PROTECT
+ +--> ?PR?PROTECTOCD2?PROTECT
+
+?PR?PORSELFTEST?PORSELFTEST ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECALCUVOL?CALCULATE
+ +--> ?PR?AFECALCUTEMPE?CALCULATE
+ +--> ?PR?PORPROTECTOV?PORSELFTEST
+ +--> ?PR?PORPROTECTUV?PORSELFTEST
+ +--> ?PR?PORPROTECTOTC?PORSELFTEST
+ +--> ?PR?PORPROTECTUTC?PORSELFTEST
+ +--> ?PR?PORPROTECTOTD?PORSELFTEST
+ +--> ?PR?PORPROTECTUTD?PORSELFTEST
+ +--> ?PR?GASGAUGEINIT?GASGAUGE
+
+?PR?GASGAUGEINIT?GASGAUGE ----- ----- ----- ----- ----- ----- 02B9H 0001H
+
+?PR?LOADCHECK?CHARGERLOAD ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFELOADCHECKEN?AFE
+ +--> ?PR?AFERDSTATUS?AFE
+ +--> ?PR?AFELOADCHECKDIS?AFE
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?AFELOADCHECKEN?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFERDSTATUS?AFE ----- ----- ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?AFELOADCHECKDIS?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?CHGERCHECK?CHARGERLOAD ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECHGERCHECKEN?AFE
+ +--> ?PR?AFERDSTATUS?AFE
+ +--> ?PR?AFECHGERCHECKDIS?AFE
+
+?PR?AFECHGERCHECKEN?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFECHGERCHECKDIS?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?MOSCTRL?MOSCTRL ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?MOSSTATUSCHECK?MOSCTRL
+ +--> ?PR?_AFEMOSCTL?AFE
+
+?PR?_AFEMOSCTL?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?PROTECTOCRECOVER?PROTECT ----- ----- ----- ----- ----- ----- ----- -----
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 14
+
+
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?LEDDISPLAY?LED ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_LEDGETDISNUM?LED
+ +--> ?PR?LEDAUTOOFF?LED
+
+?PR?GASGAUGEMANAGE?GASGAUGE ----- ----- ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?CORRECTCHGSOC?GASGAUGELIB
+ +--> ?PR?CORRECTDSGSOC?GASGAUGELIB
+ +--> ?PR?DATAFILTER?GASGAUGELIB
+
+?PR?CORRECTCHGSOC?GASGAUGELIB ----- ----- ----- ----- ----- ----- 02BBH 0001H
+
+?PR?CORRECTDSGSOC?GASGAUGELIB ----- ----- ----- ----- ----- ----- 02BBH 0009H
+ +--> ?PR?_LABS?LABS
+
+?PR?DATAFILTER?GASGAUGELIB ----- ----- ----- ----- ----- ----- 02BBH 000CH
+
+?PR?AFERAMCHECK?AFE ----- ----- ----- ----- ----- ----- 02B9H 0003H
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?AFEINIT?AFE
+
+?PR?E2PROMBKCHECK?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+
+?PR?ISPPROCESS?BOOTAPP ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFEWDTDIS?AFE
+
+?PR?AFEWDTDIS?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?CALIPROCESS?CALIBRATE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?CALIVOLTAGE?CALIBRATE
+ +--> ?PR?CALICURRENTGAIN?CALIBRATE
+ +--> ?PR?CALICURZERO?CALIBRATE
+ +--> ?PR?CALITS1?CALIBRATE
+ +--> ?PR?CALITS2?CALIBRATE
+ +--> ?PR?CALIRTCTIME?CALIBRATE
+
+?PR?CALIVOLTAGE?CALIBRATE ----- ----- ----- ----- ----- ----- 02B9H 0002H
+
+?PR?CALITS1?CALIBRATE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?CALITS2?CALIBRATE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?CALIRTCTIME?CALIBRATE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCMODIFYTIME?RTC
+
+?PR?MCUFLASHPROCESS?MCUFLASH 0028H.5 0000H.2 ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?_MCUFLASHWRITE?MCUFLASH
+ +--> ?PR?_MCUFLASHWRONEBYTE?MCUFLASH
+
+?PR?E2PROMBKPROCESS?EXTE2PROM ----- ----- ----- ----- ----- ----- 02B9H 0001H
+ +--> ?PR?E2PROMERASE?EXTE2PROM
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 15
+
+
+ +--> ?PR?UARTRDE2PROM?EXTE2PROM
+ +--> ?PR?UARTRDRTC?EXTE2PROM
+ +--> ?PR?E2PROMBKRTC?EXTE2PROM
+ +--> ?PR?_E2PROMBKDATA?EXTE2PROM
+
+?PR?E2PROMERASE?EXTE2PROM ----- ----- ----- ----- ----- ----- 02BAH 000AH
+ +--> ?PR?_MEMORYSET?MCULIB
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+?PR?_E2PROMWRITE?EXTE2PROM 0028H.5 0000H.1 ----- ----- ----- ----- 02E3H 0006H
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?UARTRDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UARTRDRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?E2PROMBKRTC?EXTE2PROM ----- ----- ----- ----- ----- ----- 02BAH 000AH
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+?PR?_E2PROMBKDATA?EXTE2PROM ----- ----- ----- ----- ----- ----- 02BAH 0021H
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+ +--> ?PR?E2PROMBKBOOT?EXTE2PROM
+
+?PR?E2PROMBKBOOT?EXTE2PROM ----- ----- ----- ----- ----- ----- 02DBH 0008H
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+?PR?LOWPOWERPROCESS?LOWPOWER ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?MCUINTOIDLE?MCULIB
+ +--> ?PR?SYSTEMINTOPD?LOWPOWER
+ +--> ?PR?SYSTEMINTOSLEEP?LOWPOWER
+ +--> ?PR?WAKEUPPROCESS?LOWPOWER
+
+?PR?SYSTEMINTOPD?LOWPOWER ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEMOSCTL?AFE
+ +--> ?PR?AFEENTERPD?AFE
+
+?PR?AFEENTERPD?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?SYSTEMINTOSLEEP?LOWPOWER ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFEWDTDIS?AFE
+ +--> ?PR?AFETEMPADCDIS?AFE
+ +--> ?PR?_AFEALARMEN?AFE
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+ +--> ?PR?MCUINTOPD?MCULIB
+
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 16
+
+
+?PR?AFETEMPADCDIS?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?_AFEALARMEN?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?WAKEUPPROCESS?LOWPOWER ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?_AFEALARMDIS?AFE
+ +--> ?PR?AFETEMPADCEN?AFE
+ +--> ?PR?AFEWDTEN?AFE
+
+?PR?_AFEALARMDIS?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFETEMPADCEN?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFEWDTEN?AFE ----- ----- ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+
+
+SYMBOL TABLE OF MODULE: .\output\McuFlash_IAP (MAIN)
+
+ VALUE TYPE NAME
+ ----------------------------------
+
+ ------- MODULE MAIN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:4EEBH PUBLIC main
+ D:00B1H PUBLIC RSTSTAT
+ ------- PROC MAIN
+ C:4EEBH LINE# 21
+ C:4EEBH LINE# 22
+ C:4EEBH LINE# 23
+ C:4EEEH LINE# 25
+ C:4EEEH LINE# 26
+ C:4EEEH LINE# 27
+ C:4EF1H LINE# 29
+ C:4EF4H LINE# 31
+ C:4EF7H LINE# 32
+ C:4EF7H LINE# 33
+ C:4EF9H LINE# 34
+ C:4EFCH LINE# 36
+ C:4EFFH LINE# 38
+ C:4F02H LINE# 40
+ C:4F05H LINE# 42
+ C:4F08H LINE# 44
+ C:4F0BH LINE# 46
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 17
+
+
+ C:4F0EH LINE# 48
+ C:4F11H LINE# 50
+ C:4F14H LINE# 52
+ C:4F17H LINE# 53
+ C:4F17H LINE# 55
+ C:4F1AH LINE# 56
+ C:4F1AH LINE# 57
+ C:4F1CH LINE# 58
+ C:4F1FH LINE# 60
+ C:4F22H LINE# 62
+ C:4F25H LINE# 63
+ C:4F28H LINE# 64
+ C:4F2BH LINE# 66
+ C:4F30H LINE# 67
+ C:4F30H LINE# 68
+ C:4F33H LINE# 69
+ C:4F33H LINE# 71
+ C:4F36H LINE# 73
+ C:4F39H LINE# 75
+ C:4F3CH LINE# 76
+ C:4F3CH LINE# 78
+ C:4F3FH LINE# 80
+ C:4F42H LINE# 82
+ C:4F45H LINE# 84
+ C:4F48H LINE# 86
+ C:4F4BH LINE# 88
+ C:4F4EH LINE# 90
+ C:4F58H LINE# 91
+ C:4F60H LINE# 92
+ ------- ENDPROC MAIN
+ ------- ENDMOD MAIN
+
+ ------- MODULE INITIAL
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:650BH PUBLIC InitIRQ
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00A9H PUBLIC IEN1
+ D:00E8H PUBLIC EXF0
+ D:00D8H PUBLIC EXF1
+ D:00E1H PUBLIC P0CR
+ D:00E2H PUBLIC P1CR
+ D:00E3H PUBLIC P2CR
+ D:00E4H PUBLIC P3CR
+ D:00BAH PUBLIC IENC
+ C:5F16H PUBLIC InitVar
+ C:102EH PUBLIC InitGPIO
+ B:00A8H.4 PUBLIC ES0
+ B:00A8H.5 PUBLIC ET3
+ D:0086H PUBLIC INSCON
+ B:0088H.7 PUBLIC TF3
+ C:56A2H PUBLIC Initial
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 18
+
+
+ C:46C9H PUBLIC SysParaInit
+ D:00E9H PUBLIC P0PCR
+ D:00EAH PUBLIC P1PCR
+ D:00EBH PUBLIC P2PCR
+ D:00ECH PUBLIC P3PCR
+ ------- PROC INITVAR
+ C:5F16H LINE# 18
+ C:5F16H LINE# 19
+ C:5F16H LINE# 20
+ C:5F1CH LINE# 21
+ C:5F27H LINE# 22
+ C:5F31H LINE# 23
+ C:5F3BH LINE# 24
+ C:5F43H LINE# 26
+ C:5F45H LINE# 27
+ C:5F47H LINE# 28
+ C:5F4DH LINE# 29
+ C:5F4FH LINE# 30
+ C:5F51H LINE# 32
+ C:5F57H LINE# 33
+ ------- ENDPROC INITVAR
+ ------- PROC SYSPARAINIT
+ C:46C9H LINE# 41
+ C:46C9H LINE# 42
+ C:46C9H LINE# 43
+ C:46D2H LINE# 44
+ C:46D2H LINE# 45
+ C:46DEH LINE# 46
+ C:46E7H LINE# 47
+ C:46E7H LINE# 48
+ C:46EFH LINE# 49
+ C:46EFH LINE# 50
+ C:46F1H LINE# 51
+ C:46FAH LINE# 52
+ C:46FAH LINE# 53
+ C:4707H LINE# 54
+ C:470EH LINE# 55
+ C:4710H LINE# 57
+ C:4710H LINE# 58
+ C:4713H LINE# 60
+ C:4713H LINE# 62
+ C:471DH LINE# 63
+ C:4727H LINE# 64
+ C:4733H LINE# 65
+ C:4742H LINE# 67
+ C:474AH LINE# 69
+ C:4753H LINE# 70
+ C:4753H LINE# 71
+ C:4756H LINE# 72
+ C:4757H LINE# 73
+ C:4762H LINE# 74
+ C:4762H LINE# 75
+ C:4765H LINE# 76
+ C:4766H LINE# 78
+ C:4766H LINE# 79
+ C:4769H LINE# 80
+ C:4769H LINE# 81
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 19
+
+
+ ------- ENDPROC SYSPARAINIT
+ ------- PROC INITIRQ
+ C:650BH LINE# 89
+ C:650BH LINE# 90
+ C:650BH LINE# 91
+ C:650DH LINE# 93
+ C:650FH LINE# 95
+ C:6518H LINE# 96
+ C:651AH LINE# 98
+ C:651DH LINE# 99
+ C:6520H LINE# 100
+ C:6523H LINE# 101
+ C:6526H LINE# 103
+ C:6528H LINE# 104
+ ------- ENDPROC INITIRQ
+ ------- PROC INITGPIO
+ C:102EH LINE# 131
+ C:102EH LINE# 132
+ C:102EH LINE# 133
+ C:1031H LINE# 134
+ C:1034H LINE# 135
+ C:1037H LINE# 137
+ C:103AH LINE# 138
+ C:103DH LINE# 139
+ C:1040H LINE# 141
+ C:1043H LINE# 142
+ C:1046H LINE# 143
+ C:1049H LINE# 145
+ C:104CH LINE# 146
+ C:104FH LINE# 147
+ C:1052H LINE# 148
+ ------- ENDPROC INITGPIO
+ ------- PROC INITIAL
+ C:56A2H LINE# 156
+ C:56A2H LINE# 157
+ C:56A2H LINE# 158
+ C:56A7H LINE# 160
+ C:56AAH LINE# 162
+ C:56ADH LINE# 164
+ C:56B0H LINE# 166
+ C:56B3H LINE# 168
+ C:56BCH LINE# 170
+ C:56C3H LINE# 172
+ C:56C8H LINE# 174
+ C:56D1H LINE# 176
+ C:56D4H LINE# 177
+ C:56D9H LINE# 178
+ C:56D9H LINE# 179
+ C:56DBH LINE# 180
+ C:56DBH LINE# 181
+ C:56DEH LINE# 183
+ C:56E1H LINE# 184
+ C:56E1H LINE# 185
+ C:56E6H LINE# 186
+ C:56E6H LINE# 187
+ C:56E8H LINE# 188
+ C:56E8H LINE# 190
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 20
+
+
+ C:56F1H LINE# 191
+ C:56F1H LINE# 192
+ C:56F3H LINE# 193
+ C:56F3H LINE# 194
+ C:56F3H LINE# 196
+ C:56F6H LINE# 197
+ ------- ENDPROC INITIAL
+ ------- ENDMOD INITIAL
+
+ ------- MODULE INTERRUPTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ X:0398H PUBLIC ucTimer1s
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:6485H PUBLIC _InterruptINT4App
+ B:002CH.5 PUBLIC bTimer5msFlg
+ X:0399H PUBLIC ucTimer50ms
+ B:002CH.6 PUBLIC bTimer1sFlg
+ C:64A9H PUBLIC InterruptTimer3App
+ B:002CH.7 PUBLIC bTimer50msFlg
+ ------- PROC _INTERRUPTINT4APP
+ D:0007H SYMBOL IntSource
+ C:6485H LINE# 24
+ C:6485H LINE# 25
+ C:6485H LINE# 26
+ C:6489H LINE# 27
+ C:6489H LINE# 28
+ C:648FH LINE# 29
+ C:648FH LINE# 30
+ C:6494H LINE# 31
+ C:6496H LINE# 32
+ C:6496H LINE# 33
+ C:6497H LINE# 34
+ C:649BH LINE# 35
+ C:649BH LINE# 36
+ C:64A1H LINE# 37
+ C:64A1H LINE# 38
+ C:64A6H LINE# 39
+ C:64A8H LINE# 40
+ C:64A8H LINE# 41
+ C:64A8H LINE# 42
+ ------- ENDPROC _INTERRUPTINT4APP
+ ------- PROC INTERRUPTTIMER3APP
+ C:64A9H LINE# 51
+ C:64A9H LINE# 52
+ C:64A9H LINE# 53
+ C:64ABH LINE# 55
+ C:64B6H LINE# 56
+ C:64B6H LINE# 57
+ C:64B8H LINE# 58
+ C:64BAH LINE# 59
+ C:64BAH LINE# 61
+ C:64C5H LINE# 62
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 21
+
+
+ C:64C5H LINE# 63
+ C:64C7H LINE# 64
+ C:64C9H LINE# 65
+ C:64C9H LINE# 67
+ C:64CCH LINE# 68
+ ------- ENDPROC INTERRUPTTIMER3APP
+ ------- ENDMOD INTERRUPTAPP
+
+ ------- MODULE LED
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:5F99H PUBLIC _LedGetDisNum
+ B:00A0H.0 PUBLIC P2_0
+ B:00A0H.1 PUBLIC P2_1
+ B:00A0H.2 PUBLIC P2_2
+ B:00A0H.3 PUBLIC P2_3
+ B:00A0H.4 PUBLIC P2_4
+ X:038CH PUBLIC ucLedChgFlickCnt
+ B:00B0H.5 PUBLIC P3_5
+ X:038DH PUBLIC ucLedBleFlickCnt
+ X:038EH PUBLIC ucLedTimeCnt
+ B:002DH.3 PUBLIC bLedDisFlg
+ B:002DH.4 PUBLIC bLedDisBleFlg
+ C:662EH PUBLIC LedAutoOff
+ C:4428H PUBLIC LedDisplay
+ ------- PROC _LEDGETDISNUM
+ D:0006H SYMBOL Rsoc
+ C:5F99H LINE# 24
+ C:5F99H LINE# 25
+ C:5F99H LINE# 26
+ C:5FA2H LINE# 27
+ C:5FA2H LINE# 28
+ C:5FA5H LINE# 29
+ C:5FA5H LINE# 30
+ C:5FAEH LINE# 31
+ C:5FAEH LINE# 32
+ C:5FB1H LINE# 33
+ C:5FB1H LINE# 34
+ C:5FBAH LINE# 35
+ C:5FBAH LINE# 36
+ C:5FBDH LINE# 37
+ C:5FBDH LINE# 38
+ C:5FC6H LINE# 39
+ C:5FC6H LINE# 40
+ C:5FC9H LINE# 41
+ C:5FC9H LINE# 42
+ C:5FD2H LINE# 43
+ C:5FD2H LINE# 44
+ C:5FD5H LINE# 45
+ C:5FD5H LINE# 47
+ C:5FD5H LINE# 48
+ C:5FD7H LINE# 49
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 22
+
+
+ C:5FD7H LINE# 50
+ ------- ENDPROC _LEDGETDISNUM
+ ------- PROC LEDAUTOOFF
+ C:662EH LINE# 59
+ C:662EH LINE# 60
+ C:662EH LINE# 61
+ C:6631H LINE# 62
+ C:6631H LINE# 63
+ C:663CH LINE# 64
+ C:663CH LINE# 65
+ C:663EH LINE# 66
+ C:6640H LINE# 67
+ C:6640H LINE# 68
+ C:6640H LINE# 69
+ ------- ENDPROC LEDAUTOOFF
+ ------- PROC LEDDISPLAY
+ ------- DO
+ D:0007H SYMBOL LedDisNum
+ ------- ENDDO
+ C:4428H LINE# 80
+ C:4428H LINE# 81
+ C:4428H LINE# 84
+ C:442BH LINE# 85
+ C:442BH LINE# 86
+ C:4436H LINE# 87
+ C:4436H LINE# 88
+ C:4438H LINE# 89
+ C:443DH LINE# 90
+ C:443DH LINE# 91
+ C:443FH LINE# 93
+ C:443FH LINE# 94
+ C:4441H LINE# 95
+ C:4441H LINE# 97
+ C:4444H LINE# 98
+ C:4444H LINE# 99
+ C:444FH LINE# 100
+ C:444FH LINE# 101
+ C:4451H LINE# 102
+ C:4456H LINE# 103
+ C:4456H LINE# 104
+ C:4458H LINE# 106
+ C:4458H LINE# 107
+ C:445AH LINE# 108
+ C:445AH LINE# 110
+ C:445DH LINE# 111
+ C:445DH LINE# 112
+ C:4468H LINE# 113
+ C:446BH LINE# 114
+ C:446BH LINE# 115
+ C:4478H LINE# 116
+ C:4478H LINE# 117
+ C:447CH LINE# 118
+ C:447CH LINE# 119
+ C:4481H LINE# 120
+ C:4483H LINE# 121
+ C:4487H LINE# 122
+ C:4487H LINE# 123
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 23
+
+
+ C:448CH LINE# 124
+ C:448EH LINE# 125
+ C:4490H LINE# 126
+ C:4494H LINE# 127
+ C:4494H LINE# 128
+ C:4499H LINE# 129
+ C:449BH LINE# 130
+ C:449DH LINE# 131
+ C:449FH LINE# 132
+ C:44A3H LINE# 133
+ C:44A3H LINE# 134
+ C:44A8H LINE# 135
+ C:44AAH LINE# 136
+ C:44ACH LINE# 137
+ C:44AEH LINE# 138
+ C:44B0H LINE# 139
+ C:44B5H LINE# 140
+ C:44B5H LINE# 141
+ C:44C2H LINE# 142
+ C:44C2H LINE# 143
+ C:44C4H LINE# 145
+ C:44C4H LINE# 146
+ C:44D1H LINE# 147
+ C:44D1H LINE# 149
+ C:44D4H LINE# 150
+ ------- ENDPROC LEDDISPLAY
+ ------- ENDMOD LED
+
+ ------- MODULE KEYAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ D:00B7H PUBLIC PWM2CON
+ C:6319H PUBLIC KeyProcess
+ B:0080H.3 PUBLIC P0_3
+ C:53D5H PUBLIC KeySwitchSpeed
+ X:03A0H PUBLIC ucDsgingSpeed
+ ------- PROC KEYSWITCHSPEED
+ C:53D5H LINE# 20
+ C:53D5H LINE# 21
+ C:53D5H LINE# 22
+ C:53D7H LINE# 23
+ C:53D9H LINE# 24
+ C:53DBH LINE# 26
+ C:53E1H LINE# 27
+ C:53E1H LINE# 28
+ C:53E3H LINE# 29
+ C:53E5H LINE# 30
+ C:53F5H LINE# 31
+ C:53F8H LINE# 32
+ C:53F9H LINE# 33
+ C:5400H LINE# 34
+ C:5400H LINE# 35
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 24
+
+
+ C:5403H LINE# 36
+ C:5405H LINE# 37
+ C:5412H LINE# 38
+ C:5415H LINE# 39
+ C:5416H LINE# 41
+ C:5416H LINE# 42
+ C:541BH LINE# 43
+ C:541DH LINE# 44
+ C:542DH LINE# 45
+ C:5430H LINE# 46
+ C:5430H LINE# 47
+ ------- ENDPROC KEYSWITCHSPEED
+ ------- PROC KEYPROCESS
+ C:6319H LINE# 56
+ C:6319H LINE# 57
+ C:6319H LINE# 58
+ C:631CH LINE# 59
+ C:631CH LINE# 60
+ C:631EH LINE# 61
+ C:632FH LINE# 62
+ C:632FH LINE# 63
+ C:632FH LINE# 64
+ C:6332H LINE# 65
+ C:6333H LINE# 67
+ C:6333H LINE# 68
+ C:6335H LINE# 69
+ C:633AH LINE# 70
+ C:633BH LINE# 72
+ C:633BH LINE# 73
+ C:633DH LINE# 74
+ C:633EH LINE# 76
+ C:633EH LINE# 77
+ C:6340H LINE# 78
+ C:6343H LINE# 79
+ C:6343H LINE# 80
+ C:6345H LINE# 81
+ C:6346H LINE# 83
+ C:6346H LINE# 84
+ C:6348H LINE# 85
+ C:6348H LINE# 86
+ C:6348H LINE# 88
+ C:6348H LINE# 89
+ C:6348H LINE# 90
+ C:6348H LINE# 91
+ C:6348H LINE# 92
+ ------- ENDPROC KEYPROCESS
+ ------- ENDMOD KEYAPP
+
+ ------- MODULE LOWPOWER
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ X:038FH PUBLIC ucSleepTimerCnt
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 25
+
+
+ B:00A8H.7 PUBLIC EA
+ B:00C8H.6 PUBLIC ENTWI
+ D:00B7H PUBLIC PWM2CON
+ B:002AH.5 PUBLIC bPDFlg
+ B:00A0H.0 PUBLIC P2_0
+ B:0080H.3 PUBLIC P0_3
+ B:00A0H.1 PUBLIC P2_1
+ B:00A0H.2 PUBLIC P2_2
+ B:00A0H.3 PUBLIC P2_3
+ D:00D8H PUBLIC EXF1
+ B:00A0H.4 PUBLIC P2_4
+ B:00A0H.5 PUBLIC P2_5
+ X:0390H PUBLIC ucPDTimerCnt
+ C:5ED3H PUBLIC SystemIntoSleep
+ C:4ADEH PUBLIC LowPowerCheck
+ B:002AH.6 PUBLIC bPCEnterPDFlg
+ C:6053H PUBLIC LowPowerProcess
+ C:613DH PUBLIC WakeUpProcess
+ D:00B1H PUBLIC RSTSTAT
+ C:64CDH PUBLIC SystemIntoPD
+ B:00A8H.4 PUBLIC ES0
+ B:00A8H.5 PUBLIC ET3
+ X:0391H PUBLIC ucResetFlag
+ B:002AH.7 PUBLIC bWakeupFlg
+ B:002BH.0 PUBLIC bSleepFlg
+ ------- PROC WAKEUPPROCESS
+ C:613DH LINE# 26
+ C:613DH LINE# 27
+ C:613DH LINE# 28
+ C:6140H LINE# 29
+ C:6140H LINE# 30
+ C:6142H LINE# 31
+ C:6145H LINE# 32
+ C:6145H LINE# 33
+ C:614AH LINE# 34
+ C:614CH LINE# 36
+ C:614EH LINE# 37
+ C:6153H LINE# 38
+ C:6158H LINE# 40
+ C:615AH LINE# 41
+ C:615CH LINE# 42
+ C:615EH LINE# 44
+ C:6163H LINE# 45
+ C:6166H LINE# 46
+ C:6169H LINE# 47
+ C:6169H LINE# 48
+ C:616EH LINE# 49
+ C:6170H LINE# 50
+ C:6174H LINE# 51
+ C:6174H LINE# 52
+ ------- ENDPROC WAKEUPPROCESS
+ ------- PROC SYSTEMINTOPD
+ C:64CDH LINE# 61
+ C:64CDH LINE# 62
+ C:64CDH LINE# 63
+ C:64CDH LINE# 64
+ C:64CDH LINE# 65
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 26
+
+
+ C:64D0H LINE# 67
+ C:64D2H LINE# 68
+ C:64DFH LINE# 69
+ C:64E1H LINE# 70
+ C:64E6H LINE# 72
+ C:64E9H LINE# 73
+ ------- ENDPROC SYSTEMINTOPD
+ ------- PROC SYSTEMINTOSLEEP
+ C:5ED3H LINE# 83
+ C:5ED3H LINE# 84
+ C:5ED3H LINE# 85
+ C:5EE0H LINE# 86
+ C:5EE2H LINE# 87
+ C:5EE4H LINE# 89
+ C:5EE7H LINE# 90
+ C:5EEAH LINE# 91
+ C:5EEFH LINE# 92
+ C:5EF1H LINE# 93
+ C:5EF4H LINE# 94
+ C:5EF7H LINE# 95
+ C:5EF7H LINE# 96
+ C:5EF9H LINE# 97
+ C:5EFBH LINE# 99
+ C:5EFBH LINE# 100
+ C:5EFDH LINE# 101
+ C:5EFDH LINE# 102
+ C:5F02H LINE# 104
+ C:5F04H LINE# 105
+ C:5F06H LINE# 106
+ C:5F08H LINE# 107
+ C:5F0BH LINE# 108
+ C:5F10H LINE# 109
+ C:5F12H LINE# 111
+ C:5F15H LINE# 112
+ ------- ENDPROC SYSTEMINTOSLEEP
+ ------- PROC LOWPOWERCHECK
+ C:4ADEH LINE# 123
+ C:4ADEH LINE# 124
+ C:4ADEH LINE# 125
+ C:4AE4H LINE# 126
+ C:4AE4H LINE# 127
+ C:4AE6H LINE# 128
+ C:4AE8H LINE# 129
+ C:4AE9H LINE# 130
+ C:4AECH LINE# 131
+ C:4AECH LINE# 132
+ C:4AFBH LINE# 133
+ C:4AFBH LINE# 134
+ C:4AFDH LINE# 135
+ C:4AFFH LINE# 136
+ C:4AFFH LINE# 137
+ C:4B00H LINE# 138
+ C:4B03H LINE# 139
+ C:4B03H LINE# 140
+ C:4B09H LINE# 141
+ C:4B09H LINE# 142
+ C:4B0CH LINE# 143
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 27
+
+
+ C:4B0CH LINE# 144
+ C:4B1BH LINE# 145
+ C:4B1BH LINE# 146
+ C:4B1DH LINE# 147
+ C:4B1FH LINE# 148
+ C:4B1FH LINE# 149
+ C:4B20H LINE# 151
+ C:4B20H LINE# 152
+ C:4B25H LINE# 153
+ C:4B3DH LINE# 154
+ C:4B3DH LINE# 155
+ C:4B4BH LINE# 156
+ C:4B4BH LINE# 157
+ C:4B4DH LINE# 158
+ C:4B4FH LINE# 159
+ C:4B4FH LINE# 160
+ C:4B50H LINE# 162
+ C:4B50H LINE# 163
+ C:4B55H LINE# 164
+ C:4B55H LINE# 165
+ C:4B55H LINE# 166
+ C:4B56H LINE# 168
+ C:4B56H LINE# 169
+ C:4B5BH LINE# 170
+ C:4B5DH LINE# 171
+ C:4B5DH LINE# 172
+ C:4B5EH LINE# 174
+ C:4B5EH LINE# 175
+ C:4B63H LINE# 176
+ C:4B65H LINE# 177
+ C:4B65H LINE# 178
+ ------- ENDPROC LOWPOWERCHECK
+ ------- PROC LOWPOWERPROCESS
+ C:6053H LINE# 187
+ C:6053H LINE# 188
+ C:6053H LINE# 189
+ C:6059H LINE# 190
+ C:6059H LINE# 191
+ C:605BH LINE# 192
+ C:6073H LINE# 193
+ C:6073H LINE# 194
+ C:6075H LINE# 195
+ C:6078H LINE# 196
+ C:6078H LINE# 197
+ C:607AH LINE# 198
+ C:607CH LINE# 199
+ C:607FH LINE# 200
+ C:607FH LINE# 201
+ C:6082H LINE# 202
+ C:6084H LINE# 203
+ C:6087H LINE# 204
+ C:6087H LINE# 205
+ C:608AH LINE# 206
+ C:608AH LINE# 208
+ C:608DH LINE# 209
+ ------- ENDPROC LOWPOWERPROCESS
+ ------- ENDMOD LOWPOWER
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 28
+
+
+
+ ------- MODULE UARTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:65F2H PUBLIC UartCheck
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ C:3CE4H PUBLIC UartCaliCurrent
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ C:56F7H PUBLIC UartCaliRTC
+ D:0080H PUBLIC P5
+ X:037FH PUBLIC ucUartSndLength
+ C:3075H PUBLIC IapCheckHandshake
+ X:0380H PUBLIC ucUartTimeoutCnt
+ X:0381H PUBLIC ucSubClassID
+ C:5D38H PUBLIC WriteManufacture
+ X:0A00H PUBLIC ucUartBuf
+ B:002BH.1 PUBLIC bUartReadFlg
+ X:0382H PUBLIC ucUartErrCode
+ B:002BH.2 PUBLIC bUartWriteFlg
+ C:4E72H PUBLIC _UartReadInfo
+ C:6738H PUBLIC UartHandshake
+ C:5B8AH PUBLIC Page1WrRdFuncTable
+ C:5BAEH PUBLIC Page2WrRdFuncTable
+ D:0099H PUBLIC SBUF
+ C:61ACH PUBLIC UartCaliCurOffset
+ C:6175H PUBLIC ReadSubClassID
+ D:00B1H PUBLIC RSTSTAT
+ C:4B66H PUBLIC _UartWriteInfo
+ X:0383H PUBLIC ucUartBufPT
+ C:31DCH PUBLIC UartRdCmdProcess
+ B:002BH.3 PUBLIC bUartSndAckFlg
+ C:4806H PUBLIC _InterruptUartAppRx
+ C:4580H PUBLIC UartWrCmdProcess
+ C:44D5H PUBLIC InterruptUartAppTx
+ B:0098H.4 PUBLIC REN
+ B:002BH.4 PUBLIC bISPFlg
+ D:009AH PUBLIC SADDR
+ C:574BH PUBLIC UartCaliVoltage
+ C:5AF8H PUBLIC UartCaliTS1
+ C:5B41H PUBLIC UartCaliTS2
+ X:0384H PUBLIC uiReceCheckSum
+ ------- PROC UARTHANDSHAKE
+ C:6738H LINE# 90
+ C:6738H LINE# 91
+ C:6738H LINE# 92
+ C:673EH LINE# 93
+ C:673EH LINE# 94
+ C:6743H LINE# 95
+ C:6744H LINE# 97
+ C:6744H LINE# 98
+ C:6749H LINE# 99
+ C:6749H LINE# 100
+ ------- ENDPROC UARTHANDSHAKE
+ ------- PROC _UARTWRITEINFO
+ X:02B7H SYMBOL ptr
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 29
+
+
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:4B66H LINE# 109
+ C:4B6EH LINE# 110
+ C:4B6EH LINE# 113
+ C:4B8FH LINE# 114
+ C:4B8FH LINE# 115
+ C:4B9AH LINE# 116
+ C:4B9AH LINE# 117
+ C:4B9DH LINE# 118
+ C:4BB6H LINE# 119
+ C:4BC0H LINE# 120
+ C:4BC3H LINE# 122
+ C:4BC8H LINE# 123
+ C:4BCAH LINE# 124
+ C:4BCCH LINE# 125
+ C:4BCEH LINE# 126
+ C:4BD0H LINE# 127
+ C:4BD2H LINE# 129
+ C:4BD6H LINE# 130
+ C:4BD8H LINE# 131
+ C:4BDAH LINE# 133
+ C:4BDCH LINE# 134
+ C:4BE0H LINE# 136
+ C:4BE5H LINE# 137
+ C:4BE6H LINE# 139
+ C:4BE6H LINE# 140
+ C:4BEBH LINE# 141
+ C:4BEBH LINE# 142
+ ------- ENDPROC _UARTWRITEINFO
+ ------- PROC _UARTREADINFO
+ D:0006H SYMBOL ptr
+ ------- DO
+ D:0005H SYMBOL i
+ ------- ENDDO
+ C:4E72H LINE# 151
+ C:4E72H LINE# 152
+ C:4E72H LINE# 155
+ C:4E7BH LINE# 156
+ C:4E7BH LINE# 157
+ C:4E7DH LINE# 158
+ C:4E7DH LINE# 160
+ C:4E82H LINE# 161
+ C:4E84H LINE# 162
+ C:4E86H LINE# 163
+ C:4E88H LINE# 164
+ C:4E8AH LINE# 165
+ C:4E8CH LINE# 167
+ C:4E90H LINE# 168
+ C:4E92H LINE# 169
+ C:4E94H LINE# 171
+ C:4E9FH LINE# 172
+ C:4E9FH LINE# 173
+ C:4EA2H LINE# 174
+ C:4EB4H LINE# 175
+ C:4EB9H LINE# 176
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 30
+
+
+ C:4EBCH LINE# 177
+ C:4ED8H LINE# 179
+ C:4EEAH LINE# 180
+ ------- ENDPROC _UARTREADINFO
+ ------- PROC WRITEMANUFACTURE
+ C:5D38H LINE# 191
+ C:5D38H LINE# 192
+ C:5D38H LINE# 193
+ C:5D59H LINE# 194
+ C:5D59H LINE# 195
+ C:5D61H LINE# 196
+ C:5D61H LINE# 197
+ C:5D67H LINE# 198
+ C:5D69H LINE# 199
+ C:5D6DH LINE# 200
+ C:5D6DH LINE# 201
+ C:5D6FH LINE# 202
+ C:5D6FH LINE# 203
+ C:5D71H LINE# 204
+ C:5D76H LINE# 205
+ C:5D77H LINE# 207
+ C:5D77H LINE# 208
+ C:5D7CH LINE# 209
+ C:5D7CH LINE# 210
+ ------- ENDPROC WRITEMANUFACTURE
+ ------- PROC READSUBCLASSID
+ C:6175H LINE# 219
+ C:6175H LINE# 220
+ C:6175H LINE# 221
+ C:6196H LINE# 222
+ C:6196H LINE# 223
+ C:619EH LINE# 225
+ C:61A0H LINE# 226
+ C:61A5H LINE# 227
+ C:61A6H LINE# 229
+ C:61A6H LINE# 230
+ C:61ABH LINE# 231
+ C:61ABH LINE# 232
+ ------- ENDPROC READSUBCLASSID
+ ------- PROC UARTRDCMDPROCESS
+ ------- DO
+ X:02B5H SYMBOL rdaddr
+ ------- ENDDO
+ C:31DCH LINE# 241
+ C:31DCH LINE# 242
+ C:31DCH LINE# 245
+ C:3230H LINE# 246
+ C:3230H LINE# 247
+ C:3230H LINE# 248
+ C:3230H LINE# 249
+ C:3230H LINE# 250
+ C:3230H LINE# 251
+ C:3230H LINE# 252
+ C:3230H LINE# 253
+ C:3230H LINE# 254
+ C:3230H LINE# 255
+ C:3230H LINE# 256
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 31
+
+
+ C:3230H LINE# 257
+ C:3240H LINE# 258
+ C:3241H LINE# 260
+ C:3241H LINE# 261
+ C:3248H LINE# 262
+ C:3249H LINE# 264
+ C:3249H LINE# 265
+ C:3250H LINE# 266
+ C:3251H LINE# 268
+ C:3251H LINE# 269
+ C:3258H LINE# 270
+ C:3259H LINE# 272
+ C:3259H LINE# 273
+ C:3260H LINE# 274
+ C:3261H LINE# 276
+ C:3261H LINE# 277
+ C:3268H LINE# 278
+ C:3269H LINE# 280
+ C:3269H LINE# 281
+ C:3270H LINE# 282
+ C:3271H LINE# 284
+ C:3271H LINE# 285
+ C:3278H LINE# 286
+ C:3279H LINE# 288
+ C:3279H LINE# 289
+ C:3280H LINE# 290
+ C:3281H LINE# 292
+ C:3281H LINE# 293
+ C:3288H LINE# 294
+ C:3289H LINE# 296
+ C:3289H LINE# 297
+ C:3290H LINE# 298
+ C:3291H LINE# 300
+ C:3291H LINE# 301
+ C:3298H LINE# 302
+ C:3299H LINE# 304
+ C:3299H LINE# 305
+ C:32A0H LINE# 306
+ C:32A1H LINE# 308
+ C:32A1H LINE# 309
+ C:32A8H LINE# 310
+ C:32A9H LINE# 312
+ C:32A9H LINE# 313
+ C:32B0H LINE# 314
+ C:32B1H LINE# 316
+ C:32B1H LINE# 317
+ C:32BAH LINE# 318
+ C:32BAH LINE# 319
+ C:32BCH LINE# 320
+ C:32BEH LINE# 321
+ C:32BFH LINE# 322
+ C:32CDH LINE# 323
+ C:32CDH LINE# 324
+ C:32CFH LINE# 325
+ C:32D1H LINE# 326
+ C:32D2H LINE# 327
+ C:32D9H LINE# 328
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 32
+
+
+ C:32D9H LINE# 329
+ C:32F7H LINE# 330
+ C:32FAH LINE# 331
+ C:32FBH LINE# 332
+ C:3302H LINE# 333
+ C:3302H LINE# 334
+ C:3320H LINE# 335
+ C:3323H LINE# 336
+ C:3323H LINE# 337
+ C:3323H LINE# 338
+ C:3323H LINE# 339
+ ------- ENDPROC UARTRDCMDPROCESS
+ ------- PROC UARTCALIVOLTAGE
+ C:574BH LINE# 348
+ C:574BH LINE# 349
+ C:574BH LINE# 350
+ C:576CH LINE# 351
+ C:576CH LINE# 352
+ C:577FH LINE# 354
+ C:5782H LINE# 355
+ C:5782H LINE# 356
+ C:5787H LINE# 357
+ C:5788H LINE# 359
+ C:5788H LINE# 360
+ C:578AH LINE# 361
+ C:5791H LINE# 362
+ C:5796H LINE# 363
+ C:5796H LINE# 364
+ C:5797H LINE# 366
+ C:5797H LINE# 367
+ C:579CH LINE# 368
+ C:579CH LINE# 369
+ ------- ENDPROC UARTCALIVOLTAGE
+ ------- PROC UARTCALICURRENT
+ C:3CE4H LINE# 378
+ C:3CE4H LINE# 379
+ C:3CE4H LINE# 380
+ C:3D08H LINE# 381
+ C:3D08H LINE# 385
+ C:3D70H LINE# 387
+ C:3D86H LINE# 388
+ C:3D86H LINE# 389
+ C:3D8BH LINE# 390
+ C:3D8CH LINE# 392
+ C:3D8CH LINE# 393
+ C:3D8EH LINE# 394
+ C:3D95H LINE# 395
+ C:3D9AH LINE# 396
+ C:3D9AH LINE# 397
+ C:3D9BH LINE# 399
+ C:3D9BH LINE# 400
+ C:3DA0H LINE# 401
+ C:3DA0H LINE# 402
+ ------- ENDPROC UARTCALICURRENT
+ ------- PROC UARTCALICUROFFSET
+ C:61ACH LINE# 405
+ C:61ACH LINE# 406
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 33
+
+
+ C:61ACH LINE# 407
+ C:61CDH LINE# 408
+ C:61CDH LINE# 409
+ C:61CFH LINE# 410
+ C:61D6H LINE# 412
+ C:61DBH LINE# 413
+ C:61DCH LINE# 415
+ C:61DCH LINE# 416
+ C:61E1H LINE# 417
+ C:61E1H LINE# 418
+ ------- ENDPROC UARTCALICUROFFSET
+ ------- PROC UARTCALITS1
+ C:5AF8H LINE# 427
+ C:5AF8H LINE# 428
+ C:5AF8H LINE# 429
+ C:5B19H LINE# 430
+ C:5B19H LINE# 431
+ C:5B1BH LINE# 432
+ C:5B2EH LINE# 433
+ C:5B35H LINE# 435
+ C:5B3AH LINE# 436
+ C:5B3BH LINE# 438
+ C:5B3BH LINE# 439
+ C:5B40H LINE# 440
+ C:5B40H LINE# 441
+ ------- ENDPROC UARTCALITS1
+ ------- PROC UARTCALITS2
+ C:5B41H LINE# 444
+ C:5B41H LINE# 445
+ C:5B41H LINE# 446
+ C:5B62H LINE# 447
+ C:5B62H LINE# 448
+ C:5B64H LINE# 449
+ C:5B77H LINE# 450
+ C:5B7EH LINE# 452
+ C:5B83H LINE# 453
+ C:5B84H LINE# 455
+ C:5B84H LINE# 456
+ C:5B89H LINE# 457
+ C:5B89H LINE# 458
+ ------- ENDPROC UARTCALITS2
+ ------- PROC UARTCALIRTC
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:56F7H LINE# 467
+ C:56F7H LINE# 468
+ C:56F7H LINE# 471
+ C:5718H LINE# 472
+ C:5718H LINE# 473
+ C:5719H LINE# 474
+ C:5719H LINE# 475
+ C:5731H LINE# 476
+ C:5736H LINE# 477
+ C:5738H LINE# 478
+ C:573FH LINE# 479
+ C:5744H LINE# 480
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 34
+
+
+ C:5745H LINE# 482
+ C:5745H LINE# 483
+ C:574AH LINE# 484
+ C:574AH LINE# 485
+ ------- ENDPROC UARTCALIRTC
+ ------- PROC UARTWRCMDPROCESS
+ ------- DO
+ X:02B5H SYMBOL rdaddr
+ ------- ENDDO
+ C:4580H LINE# 494
+ C:4580H LINE# 495
+ C:4580H LINE# 497
+ C:45ACH LINE# 498
+ C:45ACH LINE# 499
+ C:45ACH LINE# 500
+ C:45AFH LINE# 501
+ C:45B0H LINE# 502
+ C:45B0H LINE# 503
+ C:45B3H LINE# 504
+ C:45B4H LINE# 505
+ C:45B4H LINE# 506
+ C:45B7H LINE# 507
+ C:45B8H LINE# 508
+ C:45B8H LINE# 509
+ C:45BBH LINE# 510
+ C:45BCH LINE# 511
+ C:45BCH LINE# 512
+ C:45BFH LINE# 513
+ C:45C0H LINE# 514
+ C:45C0H LINE# 515
+ C:45C3H LINE# 516
+ C:45C4H LINE# 517
+ C:45C4H LINE# 518
+ C:45C7H LINE# 519
+ C:45C8H LINE# 521
+ C:45C8H LINE# 522
+ C:45CBH LINE# 523
+ C:45CCH LINE# 524
+ C:45CCH LINE# 525
+ C:45EAH LINE# 526
+ C:45EDH LINE# 527
+ C:45EEH LINE# 528
+ C:45EEH LINE# 529
+ C:460CH LINE# 530
+ C:460FH LINE# 531
+ C:4610H LINE# 533
+ C:4610H LINE# 534
+ C:4617H LINE# 535
+ C:4617H LINE# 536
+ C:4619H LINE# 537
+ C:461BH LINE# 538
+ C:4620H LINE# 539
+ C:4621H LINE# 541
+ C:4621H LINE# 542
+ C:4626H LINE# 543
+ C:4626H LINE# 544
+ C:4626H LINE# 545
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 35
+
+
+ C:4626H LINE# 546
+ ------- ENDPROC UARTWRCMDPROCESS
+ ------- PROC IAPCHECKHANDSHAKE
+ ------- DO
+ D:0007H SYMBOL i
+ D:0007H SYMBOL databak
+ X:02B5H SYMBOL checksum
+ ------- ENDDO
+ C:3075H LINE# 555
+ C:3075H LINE# 556
+ C:3075H LINE# 558
+ C:307CH LINE# 560
+ C:3084H LINE# 561
+ C:3084H LINE# 562
+ C:308CH LINE# 563
+ C:308CH LINE# 564
+ C:3091H LINE# 565
+ C:3092H LINE# 567
+ C:3092H LINE# 568
+ C:3099H LINE# 569
+ C:309DH LINE# 570
+ C:309DH LINE# 571
+ C:309EH LINE# 573
+ C:309EH LINE# 574
+ C:30B9H LINE# 575
+ C:30B9H LINE# 576
+ C:30CCH LINE# 577
+ C:30CCH LINE# 578
+ C:30E4H LINE# 579
+ C:30E4H LINE# 580
+ C:30ECH LINE# 581
+ C:30ECH LINE# 582
+ C:30F7H LINE# 583
+ C:30F7H LINE# 584
+ C:30FCH LINE# 585
+ C:30FCH LINE# 586
+ C:30FDH LINE# 587
+ C:3105H LINE# 588
+ C:3105H LINE# 589
+ C:3110H LINE# 590
+ C:3110H LINE# 591
+ C:3117H LINE# 592
+ C:3117H LINE# 593
+ C:3117H LINE# 594
+ C:3118H LINE# 596
+ C:3118H LINE# 597
+ C:311DH LINE# 598
+ C:314CH LINE# 599
+ C:314CH LINE# 600
+ C:3153H LINE# 601
+ C:3153H LINE# 603
+ C:315AH LINE# 604
+ C:315AH LINE# 605
+ C:315EH LINE# 606
+ C:3160H LINE# 608
+ C:3160H LINE# 609
+ C:3162H LINE# 610
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 36
+
+
+ C:3167H LINE# 611
+ C:3167H LINE# 613
+ C:316CH LINE# 614
+ C:3172H LINE# 616
+ C:3177H LINE# 617
+ C:317DH LINE# 618
+ C:3180H LINE# 620
+ C:3199H LINE# 621
+ C:3199H LINE# 622
+ C:31AEH LINE# 623
+ C:31B1H LINE# 625
+ C:31C5H LINE# 626
+ C:31D6H LINE# 628
+ C:31DBH LINE# 629
+ C:31DBH LINE# 630
+ C:31DBH LINE# 631
+ ------- ENDPROC IAPCHECKHANDSHAKE
+ ------- PROC _INTERRUPTUARTAPPRX
+ D:0007H SYMBOL RxData
+ C:4806H LINE# 645
+ C:4806H LINE# 646
+ C:4806H LINE# 647
+ C:4815H LINE# 648
+ C:481BH LINE# 649
+ C:4821H LINE# 650
+ C:4821H LINE# 651
+ C:4823H LINE# 652
+ C:4823H LINE# 653
+ C:482BH LINE# 654
+ C:482BH LINE# 655
+ C:4835H LINE# 656
+ C:4835H LINE# 657
+ C:4839H LINE# 658
+ C:4839H LINE# 659
+ C:483BH LINE# 660
+ C:483DH LINE# 661
+ C:483FH LINE# 663
+ C:483FH LINE# 664
+ C:4841H LINE# 665
+ C:4843H LINE# 666
+ C:4843H LINE# 667
+ C:4845H LINE# 668
+ C:484DH LINE# 669
+ C:484DH LINE# 670
+ C:4852H LINE# 671
+ C:4852H LINE# 672
+ C:4852H LINE# 674
+ C:4855H LINE# 675
+ C:4855H LINE# 676
+ C:485DH LINE# 677
+ C:485DH LINE# 678
+ C:4860H LINE# 679
+ C:4860H LINE# 680
+ C:4862H LINE# 681
+ C:4865H LINE# 682
+ C:4865H LINE# 683
+ C:487EH LINE# 684
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 37
+
+
+ C:487EH LINE# 685
+ C:4881H LINE# 686
+ C:4883H LINE# 687
+ C:4888H LINE# 688
+ C:4888H LINE# 689
+ C:488AH LINE# 691
+ C:488AH LINE# 692
+ C:488DH LINE# 693
+ C:488DH LINE# 694
+ C:488FH LINE# 696
+ C:4894H LINE# 697
+ C:4898H LINE# 698
+ C:489CH LINE# 699
+ ------- ENDPROC _INTERRUPTUARTAPPRX
+ ------- PROC INTERRUPTUARTAPPTX
+ C:44D5H LINE# 708
+ C:44D5H LINE# 709
+ C:44D5H LINE# 710
+ C:44E5H LINE# 711
+ C:44E5H LINE# 712
+ C:44FEH LINE# 713
+ C:44FEH LINE# 714
+ C:4500H LINE# 715
+ C:4502H LINE# 716
+ C:4504H LINE# 717
+ C:4508H LINE# 718
+ C:450AH LINE# 719
+ C:450CH LINE# 720
+ C:450EH LINE# 721
+ C:4510H LINE# 722
+ C:4512H LINE# 724
+ C:4512H LINE# 725
+ C:4518H LINE# 726
+ C:4527H LINE# 727
+ C:4527H LINE# 728
+ C:4529H LINE# 729
+ C:4546H LINE# 730
+ C:4546H LINE# 731
+ C:4548H LINE# 732
+ C:454DH LINE# 733
+ C:454FH LINE# 734
+ C:4553H LINE# 735
+ C:4555H LINE# 736
+ C:4557H LINE# 737
+ C:4559H LINE# 738
+ C:455BH LINE# 739
+ C:455DH LINE# 741
+ C:455DH LINE# 742
+ C:4563H LINE# 743
+ C:4572H LINE# 744
+ C:4572H LINE# 746
+ C:4577H LINE# 747
+ C:457BH LINE# 748
+ C:457FH LINE# 749
+ ------- ENDPROC INTERRUPTUARTAPPTX
+ ------- PROC UARTCHECK
+ C:65F2H LINE# 758
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 38
+
+
+ C:65F2H LINE# 759
+ C:65F2H LINE# 760
+ C:65FDH LINE# 761
+ C:65FDH LINE# 762
+ C:65FFH LINE# 763
+ C:6603H LINE# 764
+ C:6605H LINE# 765
+ C:6605H LINE# 766
+ ------- ENDPROC UARTCHECK
+ ------- ENDMOD UARTAPP
+
+ ------- MODULE MEMORY
+ C:0000H SYMBOL _ICE_DUMMY_
+ B:0020H.2 PUBLIC bOCRC_EN
+ X:00B3H PUBLIC E2uiLearnLowTempe
+ D:0080H PUBLIC P0
+ D:0022H PUBLIC uiBatStatus
+ D:0090H PUBLIC P1
+ X:00C2H PUBLIC E2ulCycleThreshold
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ B:0025H.6 PUBLIC bFastDischarge
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:0023H.0 PUBLIC bOV
+ X:002AH PUBLIC E2ucLowPowerDeley
+ B:0023H.1 PUBLIC bUV
+ X:00C6H PUBLIC E2ulCycleThresholdCount
+ B:0025H.5 PUBLIC bMidDischarge
+ B:0020H.6 PUBLIC bOCPM
+ B:0025H.2 PUBLIC bCHGING
+ X:006DH PUBLIC E2slOCCCurrent
+ X:00D7H PUBLIC E2siTS0Offset
+ X:0088H PUBLIC E2ucLoadRDelay
+ X:00D9H PUBLIC E2siTS1Offset
+ X:0071H PUBLIC E2ucOCCDelay
+ X:0024H PUBLIC E2uiLearnLowTemp
+ B:0025H.4 PUBLIC bSlowDischarge
+ B:0021H.3 PUBLIC bLEDNum0
+ B:0021H.4 PUBLIC bLEDNum1
+ X:00CEH PUBLIC E2uiAFEOVvol
+ X:001EH PUBLIC E2ulCycleThreshold_Rsv
+ X:002FH PUBLIC E2ucRamCheckFlg0
+ X:00ADH PUBLIC E2siChgEndCurr
+ X:0061H PUBLIC E2ucRamCheckFlg1
+ B:0025H.3 PUBLIC bDSGING
+ X:0074H PUBLIC E2ucRamCheckFlg2
+ X:008DH PUBLIC E2ucDSG1PWMRatioH
+ X:0089H PUBLIC E2ucRamCheckFlg3
+ X:0064H PUBLIC E2uiOVRvol
+ X:002CH PUBLIC E2siChgBKCur
+ X:008EH PUBLIC E2ucRamCheckFlg5
+ X:0053H PUBLIC E2ucDeviceChem
+ X:0099H PUBLIC E2ucRamCheckFlg6
+ B:0022H.5 PUBLIC bAFE_SC
+ B:0025H.0 PUBLIC bCHGMOS
+ B:0020H.3 PUBLIC bBAL_EN
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 39
+
+
+ X:00B6H PUBLIC E2ulFCC
+ X:00A2H PUBLIC E2ucRamCheckFlg7
+ X:008CH PUBLIC E2ucDSG1PWMRatioL
+ X:00AAH PUBLIC E2ucRamCheckFlg8
+ X:00CCH PUBLIC E2ucRamCheckFlg9
+ X:0077H PUBLIC E2uiUVRvol
+ X:0047H PUBLIC E2ucDeviceName
+ X:0091H PUBLIC E2uiTempOTCR
+ X:009CH PUBLIC E2uiTempOTDR
+ X:0026H PUBLIC E2uiNearFCC
+ B:0021H.5 PUBLIC bTempNum
+ X:00D5H PUBLIC E2siCadcOffset
+ X:0098H PUBLIC E2ucTempRDelay
+ D:0026H PUBLIC ucAFEStatus
+ X:0095H PUBLIC E2uiTempUTCR
+ B:0020H.7 PUBLIC bEnEEPRomBK
+ X:00D1H PUBLIC E2uiVPackGain
+ X:00D0H PUBLIC E2ucRamCheckFlgA
+ X:00A5H PUBLIC E2uiBalanceVolDiff
+ X:00A0H PUBLIC E2uiTempUTDR
+ X:00DCH PUBLIC E2ucRamCheckFlgB
+ B:0025H.1 PUBLIC bDSGMOS
+ X:01FEH PUBLIC E2uiCheckFlag
+ X:00A3H PUBLIC E2uiBalanceVol
+ B:0022H.4 PUBLIC bAFE_OV
+ X:00B5H PUBLIC E2ucSOC
+ X:00ABH PUBLIC E2uiChgEndVol
+ X:0035H PUBLIC E2ucMNFName
+ B:0023H.2 PUBLIC bOCC
+ X:00BEH PUBLIC E2ulChgFCC
+ D:0020H PUBLIC uiPackConfig
+ X:0067H PUBLIC E2ucOVRDelay
+ X:002EH PUBLIC E2ucRTCBKDelay
+ X:0041H PUBLIC E2ulMNFDate
+ B:0020H.5 PUBLIC bCTO_EN
+ X:00BAH PUBLIC E2ulLastFCC
+ X:0002H PUBLIC E2uiVOC
+ X:007AH PUBLIC E2ucUVRDelay
+ X:00DBH PUBLIC E2ucCalibrated
+ X:00B1H PUBLIC E2uiDsgEndVol
+ B:0026H.4 PUBLIC bAfeCHG
+ X:00D3H PUBLIC E2siCadcGain
+ X:001AH PUBLIC E2ulFCC_Rsv
+ B:0026H.2 PUBLIC bAfeChging
+ X:00DDH PUBLIC Reserved
+ X:0068H PUBLIC E2ucReserved0
+ X:007BH PUBLIC E2ucReserved1
+ B:0021H.0 PUBLIC bCellNum1
+ X:007EH PUBLIC E2slOCD1Current
+ X:0073H PUBLIC E2ucReserved2
+ B:0022H.6 PUBLIC bCTO
+ B:0022H.0 PUBLIC bOTC
+ B:0021H.1 PUBLIC bCellNum2
+ X:0083H PUBLIC E2slOCD2Current
+ B:0022H.1 PUBLIC bOTD
+ B:0021H.2 PUBLIC bCellNum3
+ X:0082H PUBLIC E2ucOCD1Delay
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 40
+
+
+ X:0087H PUBLIC E2ucOCD2Delay
+ B:0024H.2 PUBLIC bVDQ
+ X:00A7H PUBLIC E2siBalCurrent
+ B:0026H.5 PUBLIC bAfeDSG
+ B:0022H.2 PUBLIC bUTC
+ X:0062H PUBLIC E2uiOVvol
+ X:0028H PUBLIC E2siDfilterCur
+ B:0026H.3 PUBLIC bAfeDsging
+ B:0022H.3 PUBLIC bUTD
+ X:0000H PUBLIC E2uiPackConfigMap
+ X:0075H PUBLIC E2uiUVvol
+ X:00CAH PUBLIC E2uiCycleCount
+ X:008FH PUBLIC E2uiTempOTC
+ X:009AH PUBLIC E2uiTempOTD
+ B:0021H.6 PUBLIC bChgerLock
+ X:0097H PUBLIC E2ucTempDelay
+ B:0026H.0 PUBLIC bAfeChger
+ X:0093H PUBLIC E2uiTempUTC
+ X:009EH PUBLIC E2uiTempUTD
+ X:0034H PUBLIC E2ucID
+ X:00CDH PUBLIC E2ucAFEProtectConfig
+ X:0032H PUBLIC E2uiHWVersion
+ X:005FH PUBLIC E2uiChemID
+ X:002BH PUBLIC E2ucChgBKDelay
+ X:0066H PUBLIC E2ucOVDelay
+ D:0024H PUBLIC uiPackStatus
+ B:0023H.3 PUBLIC bOCD1
+ B:0023H.4 PUBLIC bOCD2
+ B:0024H.0 PUBLIC bFC
+ B:0020H.4 PUBLIC bPF_EN
+ X:0072H PUBLIC E2ucOCCRDelay
+ X:0016H PUBLIC E2ulDesignCapacity
+ B:0024H.1 PUBLIC bFD
+ B:0020H.0 PUBLIC bSC_EN
+ X:0045H PUBLIC E2uiSerialNum
+ X:0030H PUBLIC E2uiSWVersion
+ X:00A9H PUBLIC E2ucBalanceDelay
+ X:008AH PUBLIC E2uiDSG1PWMFreq
+ X:0079H PUBLIC E2ucUVDelay
+ X:00AFH PUBLIC E2ucChgEndDelay
+ B:0021H.7 PUBLIC bLoadLock
+ B:0026H.1 PUBLIC bAfeLoad
+ X:0022H PUBLIC E2uiCycleCount_Rsv
+ I:00A0H PUBLIC STACK
+ B:0020H.1 PUBLIC bOV_EN
+ X:00B0H PUBLIC E2ucDsgEndDelay
+ ------- ENDMOD MEMORY
+
+ ------- MODULE AFE
+ C:0000H SYMBOL _ICE_DUMMY_
+ X:0200H PUBLIC uiVadcVmax
+ D:000FH PUBLIC uiCellVmin
+ D:0080H PUBLIC P0
+ D:0011H PUBLIC uiCellVmax
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 41
+
+
+ C:4BECH PUBLIC AFEInitReg
+ X:0202H PUBLIC uiTempeMin
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:0204H PUBLIC uiTempeMax
+ B:0029H.3 PUBLIC bCADCFlg
+ C:66B3H PUBLIC AfeADCEn
+ C:6017H PUBLIC AFEClrFlg
+ C:6599H PUBLIC AFERdStatus
+ D:0013H PUBLIC ucCellNum
+ X:0206H PUBLIC Info
+ C:6712H PUBLIC AfeTempADCDis
+ X:023CH PUBLIC slCadcCurBuf
+ B:0029H.4 PUBLIC bAfeErr
+ B:0029H.5 PUBLIC bVADCFlg
+ C:6280H PUBLIC AFERdFlg
+ C:65B1H PUBLIC _AfeAlarmDis
+ C:66A0H PUBLIC AfeWDTDis
+ B:0029H.6 PUBLIC bAfeI2CRWErrFlg
+ C:65C8H PUBLIC _AFEMosCtl
+ C:66FFH PUBLIC AfeTempADCEn
+ X:027CH PUBLIC ucTempeMiddle
+ C:674AH PUBLIC _AfeAlarmEn
+ C:668DH PUBLIC AfeWDTEn
+ X:027DH PUBLIC slCadcCurrent
+ X:0281H PUBLIC slCadcCurAverage
+ C:66ECH PUBLIC AfeCADCDis
+ C:6654H PUBLIC AFEChgerCheckDis
+ C:5FD8H PUBLIC _AfeBalCtl
+ X:0285H PUBLIC AFE
+ C:66D9H PUBLIC AfeCADCEn
+ C:6641H PUBLIC AFEChgerCheckEn
+ C:5378H PUBLIC AFERamCheck
+ C:667AH PUBLIC AFELoadCheckDis
+ D:00C8H PUBLIC TWICON
+ X:02A3H PUBLIC REG
+ C:63EEH PUBLIC AFEEnterPD
+ C:675CH PUBLIC AFEInit
+ C:657FH PUBLIC AFETwiCheck
+ C:6667H PUBLIC AFELoadCheckEn
+ C:4FD9H PUBLIC _AFEReadReg
+ X:02B1H PUBLIC ucAfeI2CErrDelayCnt
+ X:02B2H PUBLIC ucCadcCnt
+ C:66C6H PUBLIC AfeADCDis
+ D:0014H PUBLIC ucCellNumOffset
+ C:4376H PUBLIC _AFEWriteReg
+ B:0029H.7 PUBLIC bAfeAlarmFlg
+ X:02B3H PUBLIC uiVadcVmin
+ ------- PROC AFETWICHECK
+ C:657FH LINE# 43
+ C:657FH LINE# 44
+ C:657FH LINE# 45
+ C:6582H LINE# 46
+ C:6582H LINE# 47
+ C:658DH LINE# 48
+ C:658DH LINE# 49
+ C:658FH LINE# 50
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 42
+
+
+ C:6592H LINE# 51
+ C:6592H LINE# 52
+ C:6593H LINE# 54
+ C:6593H LINE# 55
+ C:6598H LINE# 56
+ C:6598H LINE# 57
+ ------- ENDPROC AFETWICHECK
+ ------- PROC _AFEWRITEREG
+ X:02BDH SYMBOL Reg
+ X:02BEH SYMBOL Length
+ X:02BFH SYMBOL WrBuf
+ ------- DO
+ B:0028H.6 SYMBOL Result
+ X:02C1H SYMBOL Times
+ X:02C2H SYMBOL i
+ ------- ENDDO
+ C:4376H LINE# 67
+ C:4384H LINE# 68
+ C:4384H LINE# 69
+ C:4386H LINE# 70
+ C:4389H LINE# 73
+ C:438FH LINE# 74
+ C:438FH LINE# 75
+ C:43A1H LINE# 76
+ C:43A1H LINE# 77
+ C:43AEH LINE# 78
+ C:43AEH LINE# 79
+ C:43D5H LINE# 80
+ C:43D8H LINE# 81
+ C:43D8H LINE# 82
+ C:43DAH LINE# 83
+ C:43DCH LINE# 85
+ C:43DCH LINE# 86
+ C:43DFH LINE# 87
+ C:43E4H LINE# 88
+ C:43E9H LINE# 89
+ C:43EEH LINE# 90
+ C:43EEH LINE# 91
+ C:43F0H LINE# 92
+ C:43F9H LINE# 93
+ C:43F9H LINE# 94
+ C:43FBH LINE# 95
+ C:43FDH LINE# 97
+ C:43FDH LINE# 98
+ C:4402H LINE# 99
+ C:4408H LINE# 100
+ C:4412H LINE# 101
+ C:4412H LINE# 102
+ C:4417H LINE# 103
+ C:4420H LINE# 104
+ C:4420H LINE# 105
+ C:4425H LINE# 107
+ C:4427H LINE# 108
+ ------- ENDPROC _AFEWRITEREG
+ ------- PROC _AFEREADREG
+ X:02C3H SYMBOL Reg
+ X:02C4H SYMBOL Length
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 43
+
+
+ X:02C5H SYMBOL RdBuf
+ ------- DO
+ B:0028H.6 SYMBOL Result
+ X:02C7H SYMBOL Times
+ ------- ENDDO
+ C:4FD9H LINE# 118
+ C:4FE7H LINE# 119
+ C:4FE7H LINE# 120
+ C:4FE9H LINE# 121
+ C:4FECH LINE# 123
+ C:4FEFH LINE# 124
+ C:4FEFH LINE# 125
+ C:4FFCH LINE# 126
+ C:4FFCH LINE# 127
+ C:5025H LINE# 128
+ C:5028H LINE# 129
+ C:5028H LINE# 130
+ C:502AH LINE# 131
+ C:502CH LINE# 133
+ C:502CH LINE# 134
+ C:502FH LINE# 135
+ C:5034H LINE# 136
+ C:5039H LINE# 137
+ C:503EH LINE# 138
+ C:503EH LINE# 139
+ C:5040H LINE# 140
+ C:5040H LINE# 141
+ C:5045H LINE# 143
+ C:5047H LINE# 144
+ ------- ENDPROC _AFEREADREG
+ ------- PROC AFECLRFLG
+ C:6017H LINE# 153
+ C:6017H LINE# 154
+ C:6017H LINE# 155
+ C:6024H LINE# 156
+ C:6024H LINE# 157
+ C:602EH LINE# 158
+ C:602EH LINE# 159
+ C:6035H LINE# 160
+ C:6040H LINE# 161
+ C:6047H LINE# 162
+ C:6052H LINE# 163
+ C:6052H LINE# 164
+ C:6052H LINE# 165
+ ------- ENDPROC AFECLRFLG
+ ------- PROC AFEINITREG
+ ------- DO
+ D:0004H SYMBOL TempVar
+ ------- ENDDO
+ C:4BECH LINE# 174
+ C:4BECH LINE# 175
+ C:4BECH LINE# 178
+ C:4BF1H LINE# 179
+ C:4BF5H LINE# 180
+ C:4BF8H LINE# 181
+ C:4BFCH LINE# 182
+ C:4BFFH LINE# 183
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 44
+
+
+ C:4C01H LINE# 184
+ C:4C05H LINE# 185
+ C:4C09H LINE# 186
+ C:4C0DH LINE# 187
+ C:4C11H LINE# 188
+ C:4C14H LINE# 190
+ C:4C17H LINE# 191
+ C:4C17H LINE# 192
+ C:4C1EH LINE# 193
+ C:4C30H LINE# 194
+ C:4C30H LINE# 195
+ C:4C33H LINE# 196
+ C:4C33H LINE# 197
+ C:4C3AH LINE# 198
+ C:4C4CH LINE# 199
+ C:4C69H LINE# 200
+ C:4C6EH LINE# 201
+ C:4C71H LINE# 202
+ C:4C71H LINE# 203
+ ------- ENDPROC AFEINITREG
+ ------- PROC AFEINIT
+ ------- DO
+ B:0028H.5 SYMBOL Result
+ ------- ENDDO
+ C:675CH LINE# 213
+ C:675CH LINE# 214
+ C:675CH LINE# 229
+ C:6769H LINE# 230
+ C:676BH LINE# 231
+ ------- ENDPROC AFEINIT
+ ------- PROC AFERDFLG
+ C:6280H LINE# 242
+ C:6280H LINE# 243
+ C:6280H LINE# 244
+ C:628DH LINE# 245
+ C:628DH LINE# 246
+ C:6295H LINE# 247
+ C:6295H LINE# 248
+ C:6297H LINE# 249
+ C:6297H LINE# 251
+ C:629BH LINE# 252
+ C:629BH LINE# 253
+ C:629DH LINE# 254
+ C:629DH LINE# 256
+ C:62A4H LINE# 257
+ C:62A4H LINE# 258
+ C:62A6H LINE# 259
+ C:62A8H LINE# 260
+ C:62A8H LINE# 262
+ C:62AFH LINE# 263
+ C:62AFH LINE# 264
+ C:62B2H LINE# 265
+ C:62B2H LINE# 266
+ C:62B2H LINE# 267
+ ------- ENDPROC AFERDFLG
+ ------- PROC AFERDSTATUS
+ ------- DO
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 45
+
+
+ X:02B9H SYMBOL RegTemp
+ ------- ENDDO
+ C:6599H LINE# 276
+ C:6599H LINE# 277
+ C:6599H LINE# 279
+ C:65A6H LINE# 280
+ C:65A6H LINE# 281
+ C:65B0H LINE# 282
+ C:65B0H LINE# 283
+ ------- ENDPROC AFERDSTATUS
+ ------- PROC AFERAMCHECK
+ ------- DO
+ X:02B9H SYMBOL RdBuf
+ X:02BBH SYMBOL i
+ ------- ENDDO
+ C:5378H LINE# 292
+ C:5378H LINE# 293
+ C:5378H LINE# 297
+ C:5388H LINE# 298
+ C:5388H LINE# 299
+ C:5391H LINE# 301
+ C:53BFH LINE# 302
+ C:53BFH LINE# 303
+ C:53C7H LINE# 304
+ C:53C7H LINE# 305
+ C:53CAH LINE# 306
+ C:53CBH LINE# 307
+ C:53CBH LINE# 308
+ C:53CBH LINE# 309
+ C:53D4H LINE# 310
+ ------- ENDPROC AFERAMCHECK
+ ------- PROC AFEENTERPD
+ C:63EEH LINE# 319
+ C:63EEH LINE# 320
+ C:63EEH LINE# 321
+ C:63F4H LINE# 322
+ C:6401H LINE# 323
+ C:6401H LINE# 324
+ C:6408H LINE# 325
+ C:6413H LINE# 326
+ C:6413H LINE# 327
+ ------- ENDPROC AFEENTERPD
+ ------- PROC _AFEMOSCTL
+ D:0007H SYMBOL MosStatus
+ C:65C8H LINE# 336
+ C:65C8H LINE# 337
+ C:65C8H LINE# 338
+ C:65CFH LINE# 339
+ C:65D1H LINE# 340
+ C:65DCH LINE# 341
+ ------- ENDPROC _AFEMOSCTL
+ ------- PROC AFECHGERCHECKEN
+ C:6641H LINE# 351
+ C:6641H LINE# 352
+ C:6641H LINE# 353
+ C:6648H LINE# 354
+ C:6653H LINE# 355
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 46
+
+
+ ------- ENDPROC AFECHGERCHECKEN
+ ------- PROC AFECHGERCHECKDIS
+ C:6654H LINE# 358
+ C:6654H LINE# 359
+ C:6654H LINE# 360
+ C:665BH LINE# 361
+ C:6666H LINE# 362
+ ------- ENDPROC AFECHGERCHECKDIS
+ ------- PROC AFELOADCHECKEN
+ C:6667H LINE# 365
+ C:6667H LINE# 366
+ C:6667H LINE# 367
+ C:666EH LINE# 368
+ C:6679H LINE# 369
+ ------- ENDPROC AFELOADCHECKEN
+ ------- PROC AFELOADCHECKDIS
+ C:667AH LINE# 372
+ C:667AH LINE# 373
+ C:667AH LINE# 374
+ C:6681H LINE# 375
+ C:668CH LINE# 376
+ ------- ENDPROC AFELOADCHECKDIS
+ ------- PROC _AFEBALCTL
+ X:02BBH SYMBOL BalChTemp
+ C:5FD8H LINE# 385
+ C:5FE0H LINE# 386
+ C:5FE0H LINE# 387
+ C:5FF4H LINE# 388
+ C:6001H LINE# 389
+ C:6001H LINE# 390
+ C:600BH LINE# 391
+ C:6016H LINE# 392
+ C:6016H LINE# 393
+ ------- ENDPROC _AFEBALCTL
+ ------- PROC AFEWDTEN
+ C:668DH LINE# 402
+ C:668DH LINE# 403
+ C:668DH LINE# 404
+ C:6694H LINE# 405
+ C:669FH LINE# 406
+ ------- ENDPROC AFEWDTEN
+ ------- PROC AFEWDTDIS
+ C:66A0H LINE# 409
+ C:66A0H LINE# 410
+ C:66A0H LINE# 411
+ C:66A7H LINE# 412
+ C:66B2H LINE# 413
+ ------- ENDPROC AFEWDTDIS
+ ------- PROC AFEADCEN
+ C:66B3H LINE# 422
+ C:66B3H LINE# 423
+ C:66B3H LINE# 424
+ C:66BAH LINE# 425
+ C:66C5H LINE# 426
+ ------- ENDPROC AFEADCEN
+ ------- PROC AFEADCDIS
+ C:66C6H LINE# 429
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 47
+
+
+ C:66C6H LINE# 430
+ C:66C6H LINE# 431
+ C:66CDH LINE# 432
+ C:66D8H LINE# 433
+ ------- ENDPROC AFEADCDIS
+ ------- PROC AFECADCEN
+ C:66D9H LINE# 435
+ C:66D9H LINE# 436
+ C:66D9H LINE# 437
+ C:66E0H LINE# 438
+ C:66EBH LINE# 439
+ ------- ENDPROC AFECADCEN
+ ------- PROC AFECADCDIS
+ C:66ECH LINE# 442
+ C:66ECH LINE# 443
+ C:66ECH LINE# 444
+ C:66F3H LINE# 445
+ C:66FEH LINE# 446
+ ------- ENDPROC AFECADCDIS
+ ------- PROC AFETEMPADCEN
+ C:66FFH LINE# 448
+ C:66FFH LINE# 449
+ C:66FFH LINE# 450
+ C:6706H LINE# 451
+ C:6711H LINE# 452
+ ------- ENDPROC AFETEMPADCEN
+ ------- PROC AFETEMPADCDIS
+ C:6712H LINE# 455
+ C:6712H LINE# 456
+ C:6712H LINE# 457
+ C:6719H LINE# 458
+ C:6724H LINE# 459
+ ------- ENDPROC AFETEMPADCDIS
+ ------- PROC _AFEALARMEN
+ D:0007H SYMBOL AlarmFlg
+ C:674AH LINE# 468
+ C:674AH LINE# 469
+ C:674AH LINE# 470
+ C:6750H LINE# 471
+ C:675BH LINE# 472
+ ------- ENDPROC _AFEALARMEN
+ ------- PROC _AFEALARMDIS
+ D:0007H SYMBOL AlarmFlg
+ C:65B1H LINE# 474
+ C:65B1H LINE# 475
+ C:65B1H LINE# 476
+ C:65BCH LINE# 477
+ C:65C7H LINE# 478
+ ------- ENDPROC _AFEALARMDIS
+ ------- ENDMOD AFE
+
+ ------- MODULE BALANCE
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ B:002AH.0 PUBLIC bBalancingFlg
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 48
+
+
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ B:002AH.1 PUBLIC bCellOpenDecFlag
+ D:0080H PUBLIC P5
+ C:6794H PUBLIC BalanceProcess
+ X:0386H PUBLIC ucBalanceStep
+ X:0387H PUBLIC ucCellOpenDecCnt
+ X:0388H PUBLIC ucCtoCnt
+ B:002AH.2 PUBLIC bBalanceFlg
+ C:6414H PUBLIC CTOTurnOnCheck
+ X:0389H PUBLIC ucBalanceTimeCnt
+ B:002AH.3 PUBLIC bBalanceOddFlg
+ X:038AH PUBLIC uiBalanceChannel
+ B:002AH.4 PUBLIC bCTOValidFlg
+ C:346BH PUBLIC BalTurnOnCheck
+ C:4209H PUBLIC BalProcess
+ C:61E2H PUBLIC CTOCheckVol
+ ------- PROC BALTURNONCHECK
+ ------- DO
+ D:0005H SYMBOL i
+ ------- ENDDO
+ C:346BH LINE# 32
+ C:346BH LINE# 33
+ C:346BH LINE# 36
+ C:3477H LINE# 37
+ C:3477H LINE# 38
+ C:347DH LINE# 39
+ C:347DH LINE# 40
+ C:3484H LINE# 41
+ C:34B4H LINE# 44
+ C:34B4H LINE# 45
+ C:34B6H LINE# 46
+ C:34BBH LINE# 47
+ C:34BCH LINE# 49
+ C:34BCH LINE# 50
+ C:3506H LINE# 51
+ C:3506H LINE# 52
+ C:3509H LINE# 53
+ C:3509H LINE# 54
+ C:350FH LINE# 55
+ C:350FH LINE# 56
+ C:352BH LINE# 57
+ C:352BH LINE# 58
+ C:3541H LINE# 59
+ C:3541H LINE# 60
+ C:3586H LINE# 61
+ C:3586H LINE# 62
+ C:35A1H LINE# 63
+ C:35A1H LINE# 64
+ C:35A4H LINE# 65
+ C:35A6H LINE# 66
+ C:35A6H LINE# 67
+ C:35A7H LINE# 69
+ C:35A7H LINE# 70
+ C:35A9H LINE# 71
+ C:35AEH LINE# 72
+ C:35AEH LINE# 73
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 49
+
+
+ C:35AEH LINE# 74
+ C:35AEH LINE# 75
+ C:35AEH LINE# 76
+ ------- ENDPROC BALTURNONCHECK
+ ------- PROC CTOCHECKVOL
+ ------- DO
+ B:0028H.5 SYMBOL bResult
+ ------- ENDDO
+ C:61E2H LINE# 87
+ C:61E2H LINE# 88
+ C:61E2H LINE# 89
+ C:61E4H LINE# 91
+ C:61E7H LINE# 92
+ C:61E7H LINE# 93
+ C:61EAH LINE# 94
+ C:61EAH LINE# 95
+ C:61EDH LINE# 96
+ C:61EDH LINE# 97
+ C:61FCH LINE# 98
+ C:61FCH LINE# 99
+ C:61FEH LINE# 100
+ C:6209H LINE# 101
+ C:6209H LINE# 102
+ C:620BH LINE# 103
+ C:620BH LINE# 104
+ C:620DH LINE# 106
+ C:620DH LINE# 107
+ C:620FH LINE# 108
+ C:6214H LINE# 109
+ C:6214H LINE# 110
+ C:6214H LINE# 111
+ C:6214H LINE# 128
+ C:6214H LINE# 130
+ C:6216H LINE# 131
+ ------- ENDPROC CTOCHECKVOL
+ ------- PROC BALPROCESS
+ ------- DO
+ X:02B9H SYMBOL BalChTemp
+ ------- ENDDO
+ C:4209H LINE# 144
+ C:4209H LINE# 145
+ C:4209H LINE# 150
+ C:4227H LINE# 151
+ C:4227H LINE# 152
+ C:4229H LINE# 153
+ C:4229H LINE# 155
+ C:4241H LINE# 156
+ C:4241H LINE# 157
+ C:4241H LINE# 158
+ C:4247H LINE# 159
+ C:4247H LINE# 160
+ C:424AH LINE# 161
+ C:424AH LINE# 162
+ C:425DH LINE# 163
+ C:425FH LINE# 165
+ C:425FH LINE# 166
+ C:4272H LINE# 167
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 50
+
+
+ C:4272H LINE# 168
+ C:427DH LINE# 169
+ C:4283H LINE# 170
+ C:4285H LINE# 171
+ C:4285H LINE# 172
+ C:4286H LINE# 174
+ C:4286H LINE# 175
+ C:428CH LINE# 176
+ C:428DH LINE# 178
+ C:428DH LINE# 179
+ C:4292H LINE# 180
+ C:4292H LINE# 181
+ C:4298H LINE# 182
+ C:429EH LINE# 183
+ C:42A0H LINE# 184
+ C:42A0H LINE# 185
+ C:42A1H LINE# 187
+ C:42A1H LINE# 188
+ C:42A6H LINE# 189
+ C:42A6H LINE# 190
+ C:42ACH LINE# 191
+ C:42ADH LINE# 193
+ C:42ADH LINE# 194
+ C:42B3H LINE# 195
+ C:42B5H LINE# 196
+ C:42B5H LINE# 197
+ C:42B6H LINE# 199
+ C:42B6H LINE# 200
+ C:42BCH LINE# 201
+ C:42BEH LINE# 202
+ C:42C0H LINE# 203
+ C:42C2H LINE# 204
+ C:42C2H LINE# 205
+ C:42C2H LINE# 206
+ ------- ENDPROC BALPROCESS
+ ------- PROC CTOTURNONCHECK
+ C:6414H LINE# 215
+ C:6414H LINE# 216
+ C:6414H LINE# 220
+ C:641AH LINE# 222
+ C:641AH LINE# 223
+ C:6425H LINE# 224
+ C:6425H LINE# 225
+ C:6428H LINE# 226
+ C:642BH LINE# 227
+ C:642BH LINE# 228
+ C:642DH LINE# 229
+ C:642FH LINE# 230
+ C:6439H LINE# 231
+ C:6439H LINE# 232
+ C:6439H LINE# 233
+ C:6439H LINE# 234
+ ------- ENDPROC CTOTURNONCHECK
+ ------- PROC BALANCEPROCESS
+ C:6794H LINE# 242
+ C:6794H LINE# 243
+ C:6794H LINE# 244
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 51
+
+
+ C:6797H LINE# 246
+ C:679AH LINE# 248
+ C:679DH LINE# 249
+ ------- ENDPROC BALANCEPROCESS
+ ------- ENDMOD BALANCE
+
+ ------- MODULE CALCULATE
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:42C3H PUBLIC OffsetCalculate
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:27C0H PUBLIC _CalcuTemp
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:624CH PUBLIC siCurTempOffset
+ C:2EFDH PUBLIC AfeCalcuCurr
+ C:382AH PUBLIC AfeCalcuVol
+ C:5BD2H PUBLIC AfeGetTempe
+ X:039AH PUBLIC ucChgingCheckCnt
+ C:6606H PUBLIC AFEInfoProcess
+ X:039BH PUBLIC ucDsgingCheckCnt
+ B:00A8H.4 PUBLIC ES0
+ C:5A64H PUBLIC AfeGetVol
+ C:3A62H PUBLIC AfeCalcuTempe
+ ------- PROC _CALCUTEMP
+ D:0082H SYMBOL getdata
+ ------- DO
+ X:02B9H SYMBOL i
+ X:02BAH SYMBOL Temperature
+ X:02BCH SYMBOL Tempcalcu
+ ------- ENDDO
+ C:27C0H LINE# 22
+ C:27C4H LINE# 23
+ C:27C4H LINE# 31
+ C:27F2H LINE# 32
+ C:2804H LINE# 33
+ C:2804H LINE# 34
+ C:2821H LINE# 35
+ C:2821H LINE# 38
+ C:283AH LINE# 39
+ C:283AH LINE# 40
+ C:2844H LINE# 41
+ C:2847H LINE# 42
+ C:2860H LINE# 43
+ C:2860H LINE# 44
+ C:286AH LINE# 45
+ C:286DH LINE# 47
+ C:286DH LINE# 48
+ C:2875H LINE# 49
+ C:2894H LINE# 50
+ C:2894H LINE# 51
+ C:28A7H LINE# 52
+ C:28A7H LINE# 53
+ C:28C7H LINE# 54
+ C:28C7H LINE# 55
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 52
+
+
+ C:28C7H LINE# 56
+ C:28C7H LINE# 57
+ C:28CFH LINE# 58
+ C:28CFH LINE# 60
+ C:28CFH LINE# 61
+ C:28E2H LINE# 62
+ C:28E2H LINE# 63
+ C:2902H LINE# 64
+ C:2902H LINE# 65
+ C:2902H LINE# 66
+ C:2902H LINE# 67
+ C:290AH LINE# 68
+ C:2910H LINE# 69
+ C:2910H LINE# 70
+ C:2918H LINE# 72
+ C:29A7H LINE# 73
+ C:29A7H LINE# 74
+ C:29AFH LINE# 75
+ ------- ENDPROC _CALCUTEMP
+ ------- PROC AFEGETVOL
+ ------- DO
+ X:02C2H SYMBOL i
+ B:0028H.5 SYMBOL Result
+ ------- ENDDO
+ C:5A64H LINE# 84
+ C:5A64H LINE# 85
+ C:5A64H LINE# 87
+ C:5A66H LINE# 89
+ C:5A83H LINE# 90
+ C:5A83H LINE# 91
+ C:5A9EH LINE# 92
+ C:5A9EH LINE# 93
+ C:5AA0H LINE# 94
+ C:5AA3H LINE# 95
+ C:5AA3H LINE# 96
+ C:5AABH LINE# 98
+ C:5AADH LINE# 99
+ ------- ENDPROC AFEGETVOL
+ ------- PROC AFEGETTEMPE
+ ------- DO
+ B:0028H.5 SYMBOL Result
+ ------- ENDDO
+ C:5BD2H LINE# 101
+ C:5BD2H LINE# 102
+ C:5BD2H LINE# 103
+ C:5BD4H LINE# 105
+ C:5BE1H LINE# 106
+ C:5BE1H LINE# 107
+ C:5BE3H LINE# 108
+ C:5BE3H LINE# 109
+ C:5BF0H LINE# 110
+ C:5BF0H LINE# 111
+ C:5BF2H LINE# 112
+ C:5BF2H LINE# 114
+ C:5BFFH LINE# 115
+ C:5BFFH LINE# 116
+ C:5C01H LINE# 117
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 53
+
+
+ C:5C01H LINE# 118
+ C:5C08H LINE# 119
+ C:5C08H LINE# 120
+ C:5C15H LINE# 121
+ C:5C15H LINE# 122
+ C:5C17H LINE# 123
+ C:5C17H LINE# 124
+ C:5C17H LINE# 126
+ C:5C19H LINE# 127
+ ------- ENDPROC AFEGETTEMPE
+ ------- PROC AFECALCUTEMPE
+ ------- DO
+ D:0006H SYMBOL TempeData
+ ------- ENDDO
+ C:3A62H LINE# 136
+ C:3A62H LINE# 137
+ C:3A62H LINE# 140
+ C:3A6AH LINE# 141
+ C:3A6AH LINE# 142
+ C:3A81H LINE# 143
+ C:3A83H LINE# 144
+ C:3A8AH LINE# 145
+ C:3A8CH LINE# 147
+ C:3AB2H LINE# 148
+ C:3AB4H LINE# 149
+ C:3ABCH LINE# 150
+ C:3ABEH LINE# 152
+ C:3AC5H LINE# 153
+ C:3AC5H LINE# 154
+ C:3AEBH LINE# 155
+ C:3AEDH LINE# 156
+ C:3AF5H LINE# 157
+ C:3AF7H LINE# 158
+ C:3AF7H LINE# 160
+ C:3B07H LINE# 161
+ C:3B0FH LINE# 162
+ C:3B12H LINE# 163
+ C:3B12H LINE# 164
+ C:3B29H LINE# 165
+ C:3B2BH LINE# 166
+ C:3B32H LINE# 167
+ C:3B34H LINE# 169
+ C:3B41H LINE# 170
+ C:3B41H LINE# 171
+ C:3B46H LINE# 172
+ C:3B47H LINE# 174
+ C:3B47H LINE# 175
+ C:3B4FH LINE# 176
+ C:3B4FH LINE# 177
+ C:3B4FH LINE# 178
+ C:3B4FH LINE# 179
+ ------- ENDPROC AFECALCUTEMPE
+ ------- PROC AFECALCUVOL
+ ------- DO
+ X:02B9H SYMBOL i
+ X:02BAH SYMBOL TempPackVol
+ X:02BEH SYMBOL TempCellVol
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 54
+
+
+ ------- ENDDO
+ C:382AH LINE# 189
+ C:382AH LINE# 190
+ C:382AH LINE# 192
+ C:383EH LINE# 193
+ C:3845H LINE# 194
+ C:384FH LINE# 196
+ C:3857H LINE# 197
+ C:3857H LINE# 198
+ C:3878H LINE# 199
+ C:3878H LINE# 200
+ C:38AFH LINE# 202
+ C:38C6H LINE# 203
+ C:38C6H LINE# 204
+ C:38D4H LINE# 205
+ C:38D4H LINE# 206
+ C:38EBH LINE# 207
+ C:38EBH LINE# 208
+ C:38F9H LINE# 209
+ C:38F9H LINE# 211
+ C:38FCH LINE# 212
+ C:38FCH LINE# 213
+ C:38FEH LINE# 214
+ C:3918H LINE# 215
+ C:391AH LINE# 216
+ C:392FH LINE# 217
+ C:392FH LINE# 218
+ C:3938H LINE# 220
+ C:393BH LINE# 221
+ C:393BH LINE# 222
+ C:3945H LINE# 223
+ C:394FH LINE# 225
+ C:3951H LINE# 226
+ C:395FH LINE# 227
+ C:3961H LINE# 228
+ C:3961H LINE# 229
+ C:3961H LINE# 230
+ ------- ENDPROC AFECALCUVOL
+ ------- PROC OFFSETCALCULATE
+ ------- DO
+ X:02BEH SYMBOL siCadcTempOffset
+ X:02C0H SYMBOL i
+ ------- ENDDO
+ C:42C3H LINE# 251
+ C:42C3H LINE# 252
+ C:42C3H LINE# 253
+ C:42CAH LINE# 256
+ C:42D9H LINE# 257
+ C:42D9H LINE# 258
+ C:4345H LINE# 259
+ C:4345H LINE# 260
+ C:4362H LINE# 261
+ C:4364H LINE# 262
+ C:4364H LINE# 263
+ C:436DH LINE# 264
+ C:4375H LINE# 265
+ ------- ENDPROC OFFSETCALCULATE
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 55
+
+
+ ------- PROC AFECALCUCURR
+ ------- DO
+ X:02B9H SYMBOL i
+ X:02BAH SYMBOL Tempdata
+ ------- ENDDO
+ C:2EFDH LINE# 273
+ C:2EFDH LINE# 274
+ C:2EFDH LINE# 276
+ C:2F07H LINE# 278
+ C:2F12H LINE# 280
+ C:2F1EH LINE# 281
+ C:2F1EH LINE# 282
+ C:2F27H LINE# 283
+ C:2F27H LINE# 284
+ C:2F76H LINE# 286
+ C:2F90H LINE# 287
+ C:2F9BH LINE# 288
+ C:2F9BH LINE# 289
+ C:2F9DH LINE# 290
+ C:2F9DH LINE# 291
+ C:2FACH LINE# 292
+ C:2FACH LINE# 293
+ C:2FCAH LINE# 294
+ C:2FD2H LINE# 295
+ C:2FE7H LINE# 297
+ C:2FE9H LINE# 298
+ C:2FEBH LINE# 299
+ C:300BH LINE# 300
+ C:300BH LINE# 301
+ C:3016H LINE# 302
+ C:3016H LINE# 303
+ C:3019H LINE# 304
+ C:301BH LINE# 305
+ C:301DH LINE# 306
+ C:3029H LINE# 307
+ C:302BH LINE# 308
+ C:302BH LINE# 309
+ C:302CH LINE# 310
+ C:3046H LINE# 311
+ C:3046H LINE# 312
+ C:3050H LINE# 313
+ C:3050H LINE# 314
+ C:3053H LINE# 315
+ C:3055H LINE# 316
+ C:3057H LINE# 317
+ C:3063H LINE# 318
+ C:3065H LINE# 319
+ C:3065H LINE# 320
+ C:3066H LINE# 322
+ C:3066H LINE# 323
+ C:3068H LINE# 324
+ C:3072H LINE# 325
+ C:3074H LINE# 326
+ C:3074H LINE# 327
+ ------- ENDPROC AFECALCUCURR
+ ------- PROC AFEINFOPROCESS
+ C:6606H LINE# 336
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 56
+
+
+ C:6606H LINE# 337
+ C:6606H LINE# 338
+ C:6609H LINE# 340
+ C:660BH LINE# 341
+ C:660EH LINE# 342
+ C:6611H LINE# 344
+ C:6614H LINE# 345
+ C:6614H LINE# 346
+ C:6616H LINE# 347
+ C:6619H LINE# 348
+ C:6619H LINE# 349
+ ------- ENDPROC AFEINFOPROCESS
+ ------- ENDMOD CALCULATE
+
+ ------- MODULE CALIBRATE
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:0347H PUBLIC slExtCur
+ C:676CH PUBLIC CaliCurZero
+ X:034BH PUBLIC ucExtcaliSwitch1
+ C:5048H PUBLIC CaliVoltage
+ C:5D7DH PUBLIC CaliTS1
+ C:5DC2H PUBLIC CaliTS2
+ X:034CH PUBLIC uiExtTemp1
+ X:034EH PUBLIC uiExtTemp2
+ C:583FH PUBLIC CaliProcess
+ C:608EH PUBLIC CaliCurrentGain
+ X:0350H PUBLIC ulExtVPack
+ X:0352H PUBLIC ucExtRTC
+ C:5E07H PUBLIC CaliRTCTime
+ B:002EH.3 PUBLIC bCaliFlg
+ ------- PROC CALIVOLTAGE
+ ------- DO
+ D:0007H SYMBOL i
+ X:02B9H SYMBOL VPackTemp
+ ------- ENDDO
+ C:5048H LINE# 26
+ C:5048H LINE# 27
+ C:5048H LINE# 29
+ C:504FH LINE# 31
+ C:5067H LINE# 32
+ C:5067H LINE# 33
+ C:5081H LINE# 34
+ C:5084H LINE# 36
+ C:50B4H LINE# 37
+ ------- ENDPROC CALIVOLTAGE
+ ------- PROC CALICURRENTGAIN
+ ------- DO
+ D:0006H SYMBOL TempGain
+ ------- ENDDO
+ C:608EH LINE# 46
+ C:608EH LINE# 47
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 57
+
+
+ C:608EH LINE# 50
+ C:60BCH LINE# 51
+ C:60C0H LINE# 52
+ C:60C0H LINE# 53
+ C:60C8H LINE# 54
+ C:60C8H LINE# 55
+ ------- ENDPROC CALICURRENTGAIN
+ ------- PROC CALICURZERO
+ C:676CH LINE# 64
+ C:676CH LINE# 65
+ C:676CH LINE# 66
+ C:677BH LINE# 67
+ ------- ENDPROC CALICURZERO
+ ------- PROC CALITS1
+ ------- DO
+ D:0006H SYMBOL Tempe
+ ------- ENDDO
+ C:5D7DH LINE# 76
+ C:5D7DH LINE# 77
+ C:5D7DH LINE# 80
+ C:5D95H LINE# 81
+ C:5DB9H LINE# 82
+ C:5DB9H LINE# 83
+ C:5DC1H LINE# 84
+ C:5DC1H LINE# 85
+ ------- ENDPROC CALITS1
+ ------- PROC CALITS2
+ ------- DO
+ D:0006H SYMBOL Tempe
+ ------- ENDDO
+ C:5DC2H LINE# 87
+ C:5DC2H LINE# 88
+ C:5DC2H LINE# 91
+ C:5DDAH LINE# 92
+ C:5DFEH LINE# 93
+ C:5DFEH LINE# 94
+ C:5E06H LINE# 95
+ C:5E06H LINE# 96
+ ------- ENDPROC CALITS2
+ ------- PROC CALIRTCTIME
+ C:5E07H LINE# 106
+ C:5E07H LINE# 107
+ C:5E07H LINE# 108
+ C:5E0FH LINE# 109
+ C:5E17H LINE# 110
+ C:5E1FH LINE# 111
+ C:5E27H LINE# 112
+ C:5E2FH LINE# 113
+ C:5E37H LINE# 114
+ C:5E3FH LINE# 116
+ C:5E46H LINE# 118
+ C:5E48H LINE# 119
+ C:5E4AH LINE# 120
+ ------- ENDPROC CALIRTCTIME
+ ------- PROC CALIPROCESS
+ C:583FH LINE# 131
+ C:583FH LINE# 132
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 58
+
+
+ C:583FH LINE# 133
+ C:5842H LINE# 134
+ C:5842H LINE# 135
+ C:5844H LINE# 137
+ C:584BH LINE# 138
+ C:584BH LINE# 139
+ C:584EH LINE# 140
+ C:584EH LINE# 142
+ C:5855H LINE# 143
+ C:5855H LINE# 144
+ C:5858H LINE# 145
+ C:5858H LINE# 147
+ C:585FH LINE# 148
+ C:585FH LINE# 149
+ C:5862H LINE# 150
+ C:5862H LINE# 152
+ C:5869H LINE# 153
+ C:5869H LINE# 154
+ C:586CH LINE# 155
+ C:586CH LINE# 157
+ C:5873H LINE# 158
+ C:5873H LINE# 159
+ C:5876H LINE# 160
+ C:5876H LINE# 162
+ C:587DH LINE# 163
+ C:587DH LINE# 164
+ C:5880H LINE# 165
+ C:5880H LINE# 167
+ C:5885H LINE# 168
+ C:5887H LINE# 169
+ C:588DH LINE# 170
+ C:588DH LINE# 171
+ ------- ENDPROC CALIPROCESS
+ ------- ENDMOD CALIBRATE
+
+ ------- MODULE CHARGERLOAD
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:039CH PUBLIC ucChgerRCnt
+ B:002BH.5 PUBLIC bChgerChkingFlg
+ C:5E4BH PUBLIC ChgerCheck
+ X:039DH PUBLIC ucLoadRCnt
+ B:002BH.6 PUBLIC bLoadChkingFlg
+ B:002BH.7 PUBLIC bChgerStartCheckFlg
+ C:59CAH PUBLIC LoadCheck
+ B:002CH.0 PUBLIC bLoadStartCheckFlg
+ ------- PROC LOADCHECK
+ C:59CAH LINE# 26
+ C:59CAH LINE# 27
+ C:59CAH LINE# 28
+ C:59CDH LINE# 29
+ C:59CDH LINE# 30
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 59
+
+
+ C:59CFH LINE# 31
+ C:59D1H LINE# 32
+ C:59D6H LINE# 33
+ C:59D9H LINE# 34
+ C:59DAH LINE# 35
+ C:59DDH LINE# 36
+ C:59DDH LINE# 37
+ C:59E0H LINE# 38
+ C:59E3H LINE# 39
+ C:59E3H LINE# 40
+ C:59FFH LINE# 41
+ C:59FFH LINE# 42
+ C:5A01H LINE# 43
+ C:5A03H LINE# 44
+ C:5A06H LINE# 45
+ C:5A09H LINE# 46
+ C:5A09H LINE# 47
+ C:5A0BH LINE# 48
+ C:5A0BH LINE# 49
+ C:5A0DH LINE# 50
+ C:5A0FH LINE# 51
+ C:5A12H LINE# 52
+ C:5A12H LINE# 53
+ C:5A14H LINE# 54
+ C:5A17H LINE# 55
+ C:5A17H LINE# 56
+ C:5A17H LINE# 57
+ C:5A17H LINE# 58
+ C:5A17H LINE# 59
+ ------- ENDPROC LOADCHECK
+ ------- PROC CHGERCHECK
+ C:5E4BH LINE# 68
+ C:5E4BH LINE# 69
+ C:5E4BH LINE# 70
+ C:5E4EH LINE# 71
+ C:5E4EH LINE# 72
+ C:5E50H LINE# 73
+ C:5E52H LINE# 74
+ C:5E57H LINE# 75
+ C:5E5AH LINE# 76
+ C:5E5BH LINE# 77
+ C:5E5EH LINE# 78
+ C:5E5EH LINE# 79
+ C:5E61H LINE# 80
+ C:5E64H LINE# 81
+ C:5E64H LINE# 82
+ C:5E80H LINE# 83
+ C:5E80H LINE# 84
+ C:5E82H LINE# 85
+ C:5E84H LINE# 86
+ C:5E87H LINE# 87
+ C:5E8AH LINE# 88
+ C:5E8AH LINE# 89
+ C:5E8CH LINE# 90
+ C:5E8CH LINE# 91
+ C:5E8EH LINE# 92
+ C:5E8EH LINE# 93
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 60
+
+
+ C:5E8EH LINE# 94
+ C:5E8EH LINE# 95
+ ------- ENDPROC CHGERCHECK
+ ------- ENDMOD CHARGERLOAD
+
+ ------- MODULE EXTE2PROM
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ C:2D4AH PUBLIC _E2PRomBKData
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:525BH PUBLIC _E2PRomWrite
+ C:4DF5H PUBLIC E2PRomInit
+ C:6529H PUBLIC E2PRomTwiCheck
+ X:0359H PUBLIC ucRTCBKTime1
+ B:0027H.0 PUBLIC bRTCRdTime
+ X:035AH PUBLIC uiRTCBKTime2
+ C:5F58H PUBLIC E2PRomBKBoot
+ B:0027H.1 PUBLIC bE2PErase
+ X:035CH PUBLIC uiE2PDataAddr
+ B:0027H.2 PUBLIC bE2PRErr
+ B:0027H.3 PUBLIC bE2PProcessFlg
+ I:002FH PUBLIC ucUpDataLimitTime
+ D:0099H PUBLIC SBUF
+ X:035EH PUBLIC uiCHGValidTime
+ D:00B1H PUBLIC RSTSTAT
+ C:5CF2H PUBLIC UartRdRTC
+ X:0360H PUBLIC ucE2PTwiRWErrDelayCnt
+ C:518CH PUBLIC UartRdE2PRom
+ B:0027H.4 PUBLIC bE2PTwiRWErrFlg
+ B:0027H.5 PUBLIC bE2PRdData
+ B:0027H.6 PUBLIC bE2PBKChgStart
+ X:0361H PUBLIC ucRTCBuf
+ B:0027H.7 PUBLIC bE2PBKRtc
+ B:0028H.0 PUBLIC bE2PBKDsgEndValid
+ B:0098H.4 PUBLIC REN
+ C:3B50H PUBLIC E2PRomBKCheck
+ C:564CH PUBLIC E2PRomBKProcess
+ C:50B5H PUBLIC E2PRomErase
+ C:5A18H PUBLIC E2PRomBKRTC
+ B:0028H.1 PUBLIC bE2PBKDsgEnd
+ B:0028H.2 PUBLIC bChgToDsgFlg
+ B:0028H.3 PUBLIC bDsgToChgFlg
+ B:0028H.4 PUBLIC bE2PBKChgStop
+ C:52BAH PUBLIC _E2PRomRead
+ ------- PROC E2PROMTWICHECK
+ C:6529H LINE# 39
+ C:6529H LINE# 40
+ C:6529H LINE# 41
+ C:652CH LINE# 42
+ C:652CH LINE# 43
+ C:652FH LINE# 44
+ C:652FH LINE# 45
+ C:653AH LINE# 46
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 61
+
+
+ C:653AH LINE# 47
+ C:653CH LINE# 48
+ C:653FH LINE# 49
+ C:653FH LINE# 50
+ C:6540H LINE# 52
+ C:6540H LINE# 53
+ C:6545H LINE# 54
+ C:6545H LINE# 55
+ C:6545H LINE# 56
+ ------- ENDPROC E2PROMTWICHECK
+ ------- PROC _E2PROMWRITE
+ X:02E3H SYMBOL WrAddr
+ X:02E5H SYMBOL Length
+ X:02E6H SYMBOL WrBuf
+ ------- DO
+ B:0028H.5 SYMBOL Result
+ X:02E8H SYMBOL i
+ ------- ENDDO
+ C:525BH LINE# 65
+ C:526CH LINE# 66
+ C:526CH LINE# 67
+ C:526EH LINE# 70
+ C:5271H LINE# 71
+ C:5271H LINE# 72
+ C:5274H LINE# 73
+ C:5274H LINE# 74
+ C:529DH LINE# 75
+ C:529DH LINE# 76
+ C:529FH LINE# 77
+ C:52A1H LINE# 78
+ C:52A1H LINE# 79
+ C:52A6H LINE# 80
+ C:52B2H LINE# 81
+ C:52B2H LINE# 82
+ C:52B7H LINE# 84
+ C:52B9H LINE# 85
+ ------- ENDPROC _E2PROMWRITE
+ ------- PROC _E2PROMREAD
+ X:02C5H SYMBOL RdAddr
+ X:02C7H SYMBOL Length
+ X:02C8H SYMBOL RdBuf
+ ------- DO
+ B:0028H.6 SYMBOL Result
+ X:02CAH SYMBOL i
+ ------- ENDDO
+ C:52BAH LINE# 94
+ C:52CBH LINE# 95
+ C:52CBH LINE# 96
+ C:52CDH LINE# 99
+ C:52D0H LINE# 100
+ C:52D0H LINE# 101
+ C:52D3H LINE# 102
+ C:52D3H LINE# 103
+ C:52FCH LINE# 104
+ C:52FCH LINE# 105
+ C:52FEH LINE# 106
+ C:5300H LINE# 107
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 62
+
+
+ C:5300H LINE# 108
+ C:5305H LINE# 109
+ C:5311H LINE# 110
+ C:5311H LINE# 111
+ C:5316H LINE# 113
+ C:5318H LINE# 114
+ ------- ENDPROC _E2PROMREAD
+ ------- PROC E2PROMERASE
+ ------- DO
+ X:02BAH SYMBOL i
+ X:02BCH SYMBOL WrBuf
+ ------- ENDDO
+ C:50B5H LINE# 124
+ C:50B5H LINE# 125
+ C:50B5H LINE# 129
+ C:50C0H LINE# 131
+ C:50DEH LINE# 132
+ C:50DEH LINE# 133
+ C:50E1H LINE# 134
+ C:5100H LINE# 135
+ C:510CH LINE# 137
+ C:5119H LINE# 138
+ C:5120H LINE# 139
+ ------- ENDPROC E2PROMERASE
+ ------- PROC E2PROMINIT
+ ------- DO
+ B:0028H.5 SYMBOL Result
+ X:02B9H SYMBOL RdBuf
+ ------- ENDDO
+ C:4DF5H LINE# 148
+ C:4DF5H LINE# 149
+ C:4DF5H LINE# 150
+ C:4DF7H LINE# 154
+ C:4E06H LINE# 156
+ C:4E14H LINE# 157
+ C:4E22H LINE# 159
+ C:4E2EH LINE# 160
+ C:4E2EH LINE# 161
+ C:4E43H LINE# 162
+ C:4E45H LINE# 163
+ C:4E51H LINE# 164
+ C:4E51H LINE# 165
+ C:4E66H LINE# 166
+ C:4E68H LINE# 168
+ C:4E68H LINE# 169
+ C:4E6FH LINE# 170
+ C:4E6FH LINE# 172
+ C:4E71H LINE# 173
+ ------- ENDPROC E2PROMINIT
+ ------- PROC E2PROMBKRTC
+ ------- DO
+ X:02BAH SYMBOL WrBuf
+ D:0007H SYMBOL i
+ X:02C3H SYMBOL checksum
+ ------- ENDDO
+ C:5A18H LINE# 182
+ C:5A18H LINE# 183
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 63
+
+
+ C:5A18H LINE# 185
+ C:5A1DH LINE# 187
+ C:5A24H LINE# 188
+ C:5A31H LINE# 189
+ C:5A33H LINE# 190
+ C:5A33H LINE# 191
+ C:5A45H LINE# 192
+ C:5A4AH LINE# 193
+ C:5A52H LINE# 194
+ C:5A56H LINE# 196
+ C:5A63H LINE# 197
+ ------- ENDPROC E2PROMBKRTC
+ ------- PROC E2PROMBKBOOT
+ ------- DO
+ X:02DBH SYMBOL WrBuf
+ ------- ENDDO
+ C:5F58H LINE# 206
+ C:5F58H LINE# 207
+ C:5F58H LINE# 210
+ C:5F65H LINE# 211
+ C:5F6AH LINE# 212
+ C:5F73H LINE# 214
+ C:5F7BH LINE# 215
+ C:5F83H LINE# 216
+ C:5F8BH LINE# 218
+ C:5F98H LINE# 219
+ ------- ENDPROC E2PROMBKBOOT
+ ------- PROC _E2PROMBKDATA
+ X:02BAH SYMBOL BKType
+ ------- DO
+ X:02BBH SYMBOL WrBuf
+ ------- ENDDO
+ C:2D4AH LINE# 228
+ C:2D4FH LINE# 229
+ C:2D4FH LINE# 232
+ C:2D53H LINE# 233
+ C:2D53H LINE# 234
+ C:2D60H LINE# 235
+ C:2D6BH LINE# 236
+ C:2D6DH LINE# 238
+ C:2D6DH LINE# 239
+ C:2D74H LINE# 240
+ C:2D81H LINE# 241
+ C:2D8CH LINE# 242
+ C:2D8CH LINE# 244
+ C:2D99H LINE# 245
+ C:2D9CH LINE# 246
+ C:2DA9H LINE# 247
+ C:2DACH LINE# 248
+ C:2DBCH LINE# 249
+ C:2DCCH LINE# 250
+ C:2DDCH LINE# 251
+ C:2DE7H LINE# 252
+ C:2DF7H LINE# 253
+ C:2E07H LINE# 254
+ C:2E17H LINE# 255
+ C:2E22H LINE# 256
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 64
+
+
+ C:2E39H LINE# 257
+ C:2E49H LINE# 258
+ C:2E56H LINE# 259
+ C:2E59H LINE# 260
+ C:2E69H LINE# 261
+ C:2E79H LINE# 262
+ C:2E89H LINE# 263
+ C:2E94H LINE# 264
+ C:2EA1H LINE# 265
+ C:2EA4H LINE# 266
+ C:2EB1H LINE# 267
+ C:2EB4H LINE# 268
+ C:2EBCH LINE# 269
+ C:2EC0H LINE# 271
+ C:2ED1H LINE# 273
+ C:2EDBH LINE# 274
+ C:2EF2H LINE# 275
+ C:2EF2H LINE# 276
+ C:2EF9H LINE# 277
+ C:2EF9H LINE# 279
+ C:2EFCH LINE# 280
+ ------- ENDPROC _E2PROMBKDATA
+ ------- PROC UARTRDE2PROM
+ ------- DO
+ D:0006H SYMBOL RdAddr
+ ------- ENDDO
+ C:518CH LINE# 289
+ C:518CH LINE# 290
+ C:518CH LINE# 293
+ C:51B7H LINE# 294
+ C:51C3H LINE# 296
+ C:51E2H LINE# 297
+ C:51F4H LINE# 298
+ ------- ENDPROC UARTRDE2PROM
+ ------- PROC UARTRDRTC
+ C:5CF2H LINE# 307
+ C:5CF2H LINE# 308
+ C:5CF2H LINE# 309
+ C:5CF9H LINE# 310
+ C:5D06H LINE# 312
+ C:5D25H LINE# 313
+ C:5D37H LINE# 314
+ ------- ENDPROC UARTRDRTC
+ ------- PROC E2PROMBKPROCESS
+ ------- DO
+ X:02B9H SYMBOL BKType
+ ------- ENDDO
+ C:564CH LINE# 323
+ C:564CH LINE# 324
+ C:564CH LINE# 327
+ C:5652H LINE# 328
+ C:5652H LINE# 329
+ C:5654H LINE# 333
+ C:5657H LINE# 334
+ C:5657H LINE# 335
+ C:5659H LINE# 336
+ C:565CH LINE# 337
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 65
+
+
+ C:565CH LINE# 339
+ C:565FH LINE# 340
+ C:565FH LINE# 341
+ C:5661H LINE# 342
+ C:5664H LINE# 343
+ C:5664H LINE# 345
+ C:5667H LINE# 346
+ C:5667H LINE# 347
+ C:5669H LINE# 348
+ C:566CH LINE# 349
+ C:566CH LINE# 351
+ C:566FH LINE# 352
+ C:566FH LINE# 353
+ C:5671H LINE# 354
+ C:5674H LINE# 355
+ C:5674H LINE# 357
+ C:5677H LINE# 358
+ C:5677H LINE# 359
+ C:5679H LINE# 360
+ C:567FH LINE# 361
+ C:5683H LINE# 362
+ C:5683H LINE# 364
+ C:5686H LINE# 365
+ C:5686H LINE# 366
+ C:5688H LINE# 367
+ C:568EH LINE# 368
+ C:5692H LINE# 369
+ C:5692H LINE# 371
+ C:5695H LINE# 372
+ C:5695H LINE# 373
+ C:5697H LINE# 374
+ C:569DH LINE# 375
+ C:56A1H LINE# 376
+ C:56A1H LINE# 377
+ C:56A1H LINE# 378
+ ------- ENDPROC E2PROMBKPROCESS
+ ------- PROC E2PROMBKCHECK
+ C:3B50H LINE# 387
+ C:3B50H LINE# 388
+ C:3B50H LINE# 389
+ C:3B56H LINE# 390
+ C:3B56H LINE# 394
+ C:3B65H LINE# 395
+ C:3B65H LINE# 396
+ C:3B67H LINE# 397
+ C:3B6EH LINE# 398
+ C:3B6EH LINE# 400
+ C:3B83H LINE# 401
+ C:3B83H LINE# 402
+ C:3B8AH LINE# 403
+ C:3B8CH LINE# 404
+ C:3B8EH LINE# 405
+ C:3B8EH LINE# 407
+ C:3B91H LINE# 408
+ C:3B91H LINE# 409
+ C:3B93H LINE# 410
+ C:3B96H LINE# 411
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 66
+
+
+ C:3B96H LINE# 412
+ C:3B98H LINE# 413
+ C:3B9AH LINE# 414
+ C:3B9CH LINE# 415
+ C:3B9CH LINE# 416
+ C:3BA2H LINE# 417
+ C:3BA2H LINE# 418
+ C:3BA4H LINE# 419
+ C:3BA6H LINE# 420
+ C:3BA8H LINE# 421
+ C:3BAAH LINE# 422
+ C:3BADH LINE# 423
+ C:3BADH LINE# 424
+ C:3BAFH LINE# 425
+ C:3BAFH LINE# 426
+ C:3BAFH LINE# 428
+ C:3BCCH LINE# 429
+ C:3BCCH LINE# 430
+ C:3BD6H LINE# 431
+ C:3BD6H LINE# 432
+ C:3BDDH LINE# 433
+ C:3BEAH LINE# 434
+ C:3BEAH LINE# 436
+ C:3C0BH LINE# 437
+ C:3C0BH LINE# 438
+ C:3C12H LINE# 439
+ C:3C14H LINE# 440
+ C:3C16H LINE# 441
+ C:3C18H LINE# 442
+ C:3C1AH LINE# 443
+ C:3C1AH LINE# 444
+ C:3C1BH LINE# 446
+ C:3C1BH LINE# 447
+ C:3C22H LINE# 448
+ C:3C22H LINE# 449
+ C:3C22H LINE# 450
+ ------- ENDPROC E2PROMBKCHECK
+ ------- ENDMOD EXTE2PROM
+
+ ------- MODULE INTERRUPT
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:1003H PUBLIC InterruptTimer3
+ D:0086H PUBLIC INSCON
+ B:0088H.7 PUBLIC TF3
+ B:00D8H.0 PUBLIC IF40
+ C:5121H PUBLIC InterruptINT4
+ B:00D8H.1 PUBLIC IF41
+ B:00D8H.2 PUBLIC IF42
+ B:00D8H.3 PUBLIC IF43
+ B:00D8H.4 PUBLIC IF44
+ B:00D8H.5 PUBLIC IF45
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 67
+
+
+ B:00D8H.6 PUBLIC IF46
+ B:00D8H.7 PUBLIC IF47
+ ------- PROC INTERRUPTINT4
+ C:5121H LINE# 18
+ C:512CH LINE# 20
+ C:512EH LINE# 21
+ C:5131H LINE# 23
+ C:5134H LINE# 24
+ C:5134H LINE# 25
+ C:5136H LINE# 26
+ C:513BH LINE# 27
+ C:513BH LINE# 28
+ C:513EH LINE# 29
+ C:513EH LINE# 30
+ C:5140H LINE# 31
+ C:5145H LINE# 32
+ C:5145H LINE# 33
+ C:5148H LINE# 34
+ C:5148H LINE# 35
+ C:514AH LINE# 36
+ C:514FH LINE# 37
+ C:514FH LINE# 38
+ C:5152H LINE# 39
+ C:5152H LINE# 40
+ C:5154H LINE# 41
+ C:5159H LINE# 42
+ C:5159H LINE# 43
+ C:515CH LINE# 44
+ C:515CH LINE# 45
+ C:515EH LINE# 46
+ C:5163H LINE# 47
+ C:5163H LINE# 48
+ C:5166H LINE# 49
+ C:5166H LINE# 50
+ C:5168H LINE# 51
+ C:516DH LINE# 52
+ C:516DH LINE# 53
+ C:5170H LINE# 54
+ C:5170H LINE# 55
+ C:5172H LINE# 56
+ C:5177H LINE# 57
+ C:5177H LINE# 58
+ C:517AH LINE# 59
+ C:517AH LINE# 60
+ C:517CH LINE# 61
+ C:5181H LINE# 62
+ C:5181H LINE# 64
+ C:5183H LINE# 65
+ ------- ENDPROC INTERRUPTINT4
+ ------- PROC INTERRUPTTIMER3
+ C:1003H LINE# 74
+ C:100BH LINE# 76
+ C:100DH LINE# 78
+ C:1010H LINE# 79
+ C:1012H LINE# 80
+ C:1015H LINE# 82
+ C:1018H LINE# 84
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 68
+
+
+ C:101AH LINE# 85
+ ------- ENDPROC INTERRUPTTIMER3
+ ------- ENDMOD INTERRUPT
+
+ ------- MODULE KEYSCAN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0008H PUBLIC ucKeyValue
+ D:0080H PUBLIC P5
+ D:0009H PUBLIC ucKeyValueBK
+ B:00B0H.0 PUBLIC P3_0
+ B:00A0H.7 PUBLIC P2_7
+ D:000AH PUBLIC uiKeyValidCnt
+ D:000CH PUBLIC ucKeyOldValue
+ B:002EH.4 PUBLIC bKeyFlg
+ C:4627H PUBLIC KeyScan
+ D:000DH PUBLIC uiKeyInvalidCnt
+ ------- PROC KEYSCAN
+ ------- DO
+ C:46BCH SYMBOL scanend
+ ------- ENDDO
+ C:4627H LINE# 33
+ C:4627H LINE# 34
+ C:4627H LINE# 35
+ C:462DH LINE# 36
+ C:462DH LINE# 37
+ C:4630H LINE# 46
+ C:4633H LINE# 47
+ C:4633H LINE# 48
+ C:4636H LINE# 49
+ C:4638H LINE# 50
+ C:463BH LINE# 51
+ C:463BH LINE# 52
+ C:463EH LINE# 53
+ C:463EH LINE# 69
+ C:4644H LINE# 70
+ C:4644H LINE# 71
+ C:464CH LINE# 72
+ C:4657H LINE# 73
+ C:4657H LINE# 74
+ C:4661H LINE# 75
+ C:4661H LINE# 76
+ C:466BH LINE# 77
+ C:466BH LINE# 78
+ C:4671H LINE# 79
+ C:4673H LINE# 81
+ C:4673H LINE# 82
+ C:4676H LINE# 83
+ C:4676H LINE# 84
+ C:4678H LINE# 85
+ C:467AH LINE# 86
+ C:467AH LINE# 91
+ C:467AH LINE# 93
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 69
+
+
+ C:467AH LINE# 94
+ C:467CH LINE# 95
+ C:467CH LINE# 96
+ C:467CH LINE# 98
+ C:467CH LINE# 99
+ C:4682H LINE# 100
+ C:4682H LINE# 101
+ C:4687H LINE# 102
+ C:468FH LINE# 103
+ C:4697H LINE# 104
+ C:4697H LINE# 105
+ C:469DH LINE# 106
+ C:469FH LINE# 107
+ C:46A0H LINE# 108
+ C:46AAH LINE# 109
+ C:46AAH LINE# 110
+ C:46B0H LINE# 111
+ C:46B6H LINE# 112
+ C:46B8H LINE# 113
+ C:46B8H LINE# 114
+ C:46B9H LINE# 116
+ C:46B9H LINE# 117
+ C:46BCH LINE# 118
+ C:46BCH LINE# 119
+ C:46C1H LINE# 120
+ C:46C5H LINE# 121
+ C:46C8H LINE# 122
+ C:46C8H LINE# 123
+ C:46C8H LINE# 124
+ C:46C8H LINE# 125
+ ------- ENDPROC KEYSCAN
+ ------- ENDMOD KEYSCAN
+
+ ------- MODULE MCUFLASH
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:00F3H PUBLIC IB_CON2
+ D:0080H PUBLIC P0
+ D:00F4H PUBLIC IB_CON3
+ D:0090H PUBLIC P1
+ D:00F5H PUBLIC IB_CON4
+ D:00A0H PUBLIC P2
+ D:00F6H PUBLIC IB_CON5
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ X:039EH PUBLIC bMcuFlashWrWaitCnt
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00FCH PUBLIC IB_DATA
+ C:63A0H PUBLIC _McuFlashCheckFlg
+ C:5319H PUBLIC _McuFlashRead
+ C:6217H PUBLIC _McuFlashWrOneByte
+ B:002DH.0 PUBLIC bMcuFlashErr
+ C:489DH PUBLIC _McuFlashWrite
+ X:039FH PUBLIC ucMcuFlashWrValid
+ D:00FBH PUBLIC IB_OFFSET
+ D:00B1H PUBLIC RSTSTAT
+ D:00A7H PUBLIC FLASHCON
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 70
+
+
+ C:4A52H PUBLIC _McuFlashWrSector
+ C:65DDH PUBLIC McuFlashWrWaitCheck
+ B:002DH.1 PUBLIC bMcuFlashWrFlg
+ C:643AH PUBLIC _McuFlashBlankCheck
+ C:54E7H PUBLIC _McuFlashDataCheck
+ D:00F7H PUBLIC XPAGE
+ B:002DH.2 PUBLIC bMcuFlashWrWaitFlg
+ C:3C23H PUBLIC McuFlashProcess
+ D:00F2H PUBLIC IB_CON1
+ ------- PROC _MCUFLASHWRONEBYTE
+ D:0002H SYMBOL McuFlashAddr
+ D:0005H SYMBOL WrData
+ C:6217H LINE# 24
+ C:621BH LINE# 25
+ C:621BH LINE# 26
+ C:621DH LINE# 27
+ C:6220H LINE# 29
+ C:6223H LINE# 30
+ C:6227H LINE# 31
+ C:622BH LINE# 33
+ C:622EH LINE# 34
+ C:6231H LINE# 35
+ C:6234H LINE# 36
+ C:6237H LINE# 37
+ C:623EH LINE# 38
+ C:623EH LINE# 39
+ C:6241H LINE# 40
+ C:6242H LINE# 41
+ C:6243H LINE# 42
+ C:6244H LINE# 43
+ C:6245H LINE# 44
+ C:6246H LINE# 45
+ C:6246H LINE# 47
+ C:6249H LINE# 48
+ C:624BH LINE# 49
+ ------- ENDPROC _MCUFLASHWRONEBYTE
+ ------- PROC _MCUFLASHBLANKCHECK
+ D:0006H SYMBOL McuFlashAddr
+ ------- DO
+ B:0029H.0 SYMBOL Result
+ D:0004H SYMBOL i
+ ------- ENDDO
+ C:643AH LINE# 58
+ C:643AH LINE# 59
+ C:643AH LINE# 60
+ C:643CH LINE# 63
+ C:643FH LINE# 64
+ C:643FH LINE# 65
+ C:644CH LINE# 66
+ C:644CH LINE# 67
+ C:644EH LINE# 68
+ C:6450H LINE# 69
+ C:6450H LINE# 70
+ C:645DH LINE# 72
+ C:645FH LINE# 73
+ ------- ENDPROC _MCUFLASHBLANKCHECK
+ ------- PROC _MCUFLASHDATACHECK
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 71
+
+
+ X:02BFH SYMBOL McuFlashAddr
+ D:0004H SYMBOL XramAddr
+ ------- DO
+ B:0029H.0 SYMBOL Result
+ D:0006H SYMBOL ptr
+ X:02C1H SYMBOL i
+ ------- ENDDO
+ C:54E7H LINE# 82
+ C:54EFH LINE# 83
+ C:54EFH LINE# 84
+ C:54F1H LINE# 85
+ C:54F5H LINE# 88
+ C:5508H LINE# 89
+ C:5508H LINE# 90
+ C:552EH LINE# 91
+ C:552EH LINE# 92
+ C:5530H LINE# 93
+ C:5532H LINE# 94
+ C:5532H LINE# 95
+ C:553EH LINE# 97
+ C:5540H LINE# 98
+ ------- ENDPROC _MCUFLASHDATACHECK
+ ------- PROC _MCUFLASHWRSECTOR
+ X:02BFH SYMBOL McuFlashAddr
+ D:0004H SYMBOL XramAddr
+ ------- DO
+ B:0029H.0 SYMBOL Result
+ D:0004H SYMBOL i
+ X:02C1H SYMBOL ptr
+ ------- ENDDO
+ C:4A52H LINE# 107
+ C:4A5AH LINE# 108
+ C:4A5AH LINE# 109
+ C:4A5CH LINE# 111
+ C:4A64H LINE# 113
+ C:4A67H LINE# 114
+ C:4A67H LINE# 115
+ C:4A72H LINE# 116
+ C:4A78H LINE# 117
+ C:4A87H LINE# 118
+ C:4A8AH LINE# 119
+ C:4A8DH LINE# 120
+ C:4A8DH LINE# 121
+ C:4A90H LINE# 122
+ C:4A94H LINE# 123
+ C:4A94H LINE# 124
+ C:4A97H LINE# 125
+ C:4A9FH LINE# 126
+ C:4A9FH LINE# 127
+ C:4AA2H LINE# 128
+ C:4AB2H LINE# 129
+ C:4AB2H LINE# 130
+ C:4AB5H LINE# 131
+ C:4AB6H LINE# 132
+ C:4AB7H LINE# 133
+ C:4AB8H LINE# 134
+ C:4AB9H LINE# 135
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 72
+
+
+ C:4ABAH LINE# 136
+ C:4ABCH LINE# 137
+ C:4ABEH LINE# 139
+ C:4ABEH LINE# 140
+ C:4AC0H LINE# 141
+ C:4AC2H LINE# 142
+ C:4AC2H LINE# 143
+ C:4AC2H LINE# 145
+ C:4AC2H LINE# 146
+ C:4AC4H LINE# 147
+ C:4AC6H LINE# 148
+ C:4AC6H LINE# 149
+ C:4AC6H LINE# 151
+ C:4AC6H LINE# 152
+ C:4AC8H LINE# 153
+ C:4ACAH LINE# 154
+ C:4ACAH LINE# 155
+ C:4ACAH LINE# 157
+ C:4ACAH LINE# 158
+ C:4ACCH LINE# 159
+ C:4ACEH LINE# 160
+ C:4ACEH LINE# 161
+ C:4ADBH LINE# 163
+ C:4ADDH LINE# 164
+ ------- ENDPROC _MCUFLASHWRSECTOR
+ ------- PROC _MCUFLASHWRITE
+ X:02BBH SYMBOL McuFlashAddr
+ X:02BDH SYMBOL XramAddr
+ ------- DO
+ B:0028H.7 SYMBOL Result
+ ------- ENDDO
+ C:489DH LINE# 177
+ C:48ABH LINE# 178
+ C:48ABH LINE# 179
+ C:48ADH LINE# 181
+ C:48B0H LINE# 182
+ C:48B2H LINE# 183
+ C:48B5H LINE# 185
+ C:48BEH LINE# 186
+ C:48C1H LINE# 187
+ C:48C4H LINE# 188
+ C:48C4H LINE# 189
+ C:48C7H LINE# 190
+ C:48CBH LINE# 191
+ C:48CBH LINE# 192
+ C:48CEH LINE# 193
+ C:48D6H LINE# 194
+ C:48D6H LINE# 195
+ C:48D9H LINE# 196
+ C:48E2H LINE# 197
+ C:48E2H LINE# 198
+ C:48E5H LINE# 199
+ C:48E6H LINE# 200
+ C:48E7H LINE# 201
+ C:48E8H LINE# 202
+ C:48E9H LINE# 203
+ C:48EAH LINE# 205
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 73
+
+
+ C:48F7H LINE# 206
+ C:48F7H LINE# 207
+ C:490AH LINE# 208
+ C:490AH LINE# 209
+ C:491DH LINE# 210
+ C:491DH LINE# 211
+ C:491FH LINE# 212
+ C:491FH LINE# 213
+ C:491FH LINE# 214
+ C:491FH LINE# 215
+ C:491FH LINE# 216
+ C:491FH LINE# 217
+ C:491FH LINE# 218
+ C:491FH LINE# 220
+ C:4922H LINE# 221
+ C:4924H LINE# 222
+ C:4926H LINE# 223
+ C:4928H LINE# 224
+ C:492AH LINE# 226
+ C:492DH LINE# 227
+ C:492FH LINE# 228
+ C:4931H LINE# 230
+ C:4933H LINE# 231
+ ------- ENDPROC _MCUFLASHWRITE
+ ------- PROC MCUFLASHPROCESS
+ ------- DO
+ B:0028H.5 SYMBOL McuFlashBk1WrFailFlg
+ B:0028H.6 SYMBOL McuFlashBk2WrFailFlg
+ X:02B9H SYMBOL VoltageMin
+ ------- ENDDO
+ C:3C23H LINE# 244
+ C:3C23H LINE# 245
+ C:3C23H LINE# 246
+ C:3C27H LINE# 249
+ C:3C2DH LINE# 250
+ C:3C2DH LINE# 251
+ C:3C2FH LINE# 253
+ C:3C35H LINE# 254
+ C:3C3CH LINE# 255
+ C:3C3CH LINE# 256
+ C:3C46H LINE# 257
+ C:3C48H LINE# 259
+ C:3C48H LINE# 260
+ C:3C52H LINE# 261
+ C:3C52H LINE# 263
+ C:3C75H LINE# 264
+ C:3C75H LINE# 265
+ C:3C7EH LINE# 266
+ C:3C7EH LINE# 267
+ C:3C88H LINE# 268
+ C:3C88H LINE# 269
+ C:3C8AH LINE# 270
+ C:3C92H LINE# 271
+ C:3C9AH LINE# 272
+ C:3CA1H LINE# 273
+ C:3CA1H LINE# 274
+ C:3CA1H LINE# 276
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 74
+
+
+ C:3CACH LINE# 277
+ C:3CACH LINE# 278
+ C:3CB7H LINE# 279
+ C:3CB7H LINE# 280
+ C:3CB9H LINE# 281
+ C:3CC1H LINE# 282
+ C:3CC9H LINE# 283
+ C:3CD0H LINE# 284
+ C:3CD0H LINE# 285
+ C:3CD0H LINE# 286
+ C:3CD2H LINE# 288
+ C:3CD2H LINE# 289
+ C:3CD4H LINE# 290
+ C:3CD6H LINE# 291
+ C:3CD6H LINE# 292
+ C:3CDBH LINE# 294
+ C:3CE1H LINE# 295
+ C:3CE1H LINE# 296
+ C:3CE3H LINE# 297
+ C:3CE3H LINE# 298
+ C:3CE3H LINE# 299
+ ------- ENDPROC MCUFLASHPROCESS
+ ------- PROC _MCUFLASHREAD
+ X:02B9H SYMBOL SourceAddr
+ D:0004H SYMBOL TargetAddr
+ X:02BBH SYMBOL Length
+ ------- DO
+ D:0006H SYMBOL i
+ B:0028H.5 SYMBOL Result
+ D:0015H SYMBOL TargetAddr1
+ ------- ENDDO
+ C:5319H LINE# 308
+ C:5327H LINE# 309
+ C:5327H LINE# 311
+ C:5329H LINE# 312
+ C:5331H LINE# 314
+ C:5333H LINE# 315
+ C:5336H LINE# 316
+ C:5339H LINE# 317
+ C:5349H LINE# 318
+ C:5349H LINE# 319
+ C:5361H LINE# 320
+ C:5369H LINE# 321
+ C:5370H LINE# 322
+ C:5373H LINE# 323
+ C:5375H LINE# 325
+ C:5377H LINE# 326
+ ------- ENDPROC _MCUFLASHREAD
+ ------- PROC MCUFLASHWRWAITCHECK
+ C:65DDH LINE# 335
+ C:65DDH LINE# 336
+ C:65DDH LINE# 337
+ C:65E0H LINE# 338
+ C:65E0H LINE# 339
+ C:65EBH LINE# 340
+ C:65EBH LINE# 341
+ C:65EDH LINE# 342
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 75
+
+
+ C:65EFH LINE# 343
+ C:65F1H LINE# 344
+ C:65F1H LINE# 345
+ C:65F1H LINE# 346
+ ------- ENDPROC MCUFLASHWRWAITCHECK
+ ------- PROC _MCUFLASHCHECKFLG
+ D:0006H SYMBOL McuFlashAddr
+ ------- DO
+ B:0028H.5 SYMBOL Result
+ ------- ENDDO
+ C:63A0H LINE# 355
+ C:63A0H LINE# 356
+ C:63A0H LINE# 357
+ C:63A2H LINE# 359
+ C:63A5H LINE# 360
+ C:63BFH LINE# 361
+ C:63BFH LINE# 362
+ C:63C1H LINE# 363
+ C:63C1H LINE# 364
+ C:63C4H LINE# 366
+ C:63C6H LINE# 367
+ ------- ENDPROC _MCUFLASHCHECKFLG
+ ------- ENDMOD MCUFLASH
+
+ ------- MODULE MCULIB
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ C:5C1AH PUBLIC _Delay1ms
+ D:009DH PUBLIC SBRTH
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00C7H PUBLIC PWM0CON
+ D:00B6H PUBLIC PWM1CON
+ D:00B7H PUBLIC PWM2CON
+ D:009CH PUBLIC SBRTL
+ C:36F1H PUBLIC _McuTimer3Set
+ D:00A8H PUBLIC IEN0
+ D:00A9H PUBLIC IEN1
+ D:00E8H PUBLIC EXF0
+ D:008EH PUBLIC SUSLO
+ C:62E6H PUBLIC _MemoryCopy
+ C:6376H PUBLIC _MemorySet
+ D:0087H PUBLIC PCON
+ D:00CFH PUBLIC PWM0DH
+ D:00A5H PUBLIC PWM1DH
+ D:00BFH PUBLIC PWM2DH
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ D:00CEH PUBLIC PWM0DL
+ D:00A4H PUBLIC PWM1DL
+ D:00BEH PUBLIC PWM2DL
+ D:00B2H PUBLIC CLKCON
+ D:00CDH PUBLIC PWM0PH
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 76
+
+
+ D:00AFH PUBLIC PWM1PH
+ D:00BDH PUBLIC PWM2PH
+ D:00CCH PUBLIC PWM0PL
+ D:00AEH PUBLIC PWM1PL
+ C:677CH PUBLIC McuIntoIdle
+ C:579DH PUBLIC _McuClockSet
+ C:62B3H PUBLIC ClrRam
+ D:00BCH PUBLIC PWM2PL
+ D:0086H PUBLIC INSCON
+ D:008DH PUBLIC TH3
+ D:008CH PUBLIC TL3
+ C:6788H PUBLIC McuIntoPD
+ B:0088H.2 PUBLIC TR3
+ C:51F5H PUBLIC RamCheckProcess
+ D:0088H PUBLIC T3CON
+ C:6460H PUBLIC SystemResetProcess
+ C:4C72H PUBLIC _McuPWM0Set
+ C:4CF3H PUBLIC _McuPWM1Set
+ C:4D74H PUBLIC _McuPWM2Set
+ ------- PROC _MCUTIMER3SET
+ X:02B9H SYMBOL ClkSource
+ X:02BAH SYMBOL XmS
+ ------- DO
+ X:02BCH SYMBOL TempVal
+ ------- ENDDO
+ C:36F1H LINE# 20
+ C:36FEH LINE# 21
+ C:36FEH LINE# 24
+ C:3701H LINE# 26
+ C:3706H LINE# 27
+ C:3706H LINE# 28
+ C:3714H LINE# 29
+ C:3714H LINE# 30
+ C:3717H LINE# 31
+ C:3729H LINE# 32
+ C:372CH LINE# 34
+ C:372CH LINE# 35
+ C:372FH LINE# 36
+ C:3754H LINE# 37
+ C:3754H LINE# 38
+ C:3757H LINE# 39
+ C:375FH LINE# 40
+ C:375FH LINE# 41
+ C:376DH LINE# 42
+ C:376DH LINE# 43
+ C:3770H LINE# 44
+ C:378DH LINE# 45
+ C:3790H LINE# 47
+ C:3790H LINE# 48
+ C:3793H LINE# 49
+ C:37B8H LINE# 50
+ C:37B8H LINE# 51
+ C:37BAH LINE# 52
+ C:37C0H LINE# 53
+ C:37C0H LINE# 54
+ C:37CEH LINE# 55
+ C:37CEH LINE# 56
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 77
+
+
+ C:37D1H LINE# 57
+ C:37EEH LINE# 58
+ C:37F0H LINE# 60
+ C:37F0H LINE# 61
+ C:37F3H LINE# 62
+ C:3818H LINE# 63
+ C:3818H LINE# 64
+ C:3818H LINE# 66
+ C:3821H LINE# 67
+ C:3824H LINE# 68
+ C:3826H LINE# 70
+ C:3829H LINE# 71
+ ------- ENDPROC _MCUTIMER3SET
+ ------- PROC _MCUCLOCKSET
+ D:0007H SYMBOL SysClock
+ ------- DO
+ D:0006H SYMBOL ea
+ ------- ENDDO
+ C:579DH LINE# 80
+ C:579DH LINE# 81
+ C:579DH LINE# 84
+ C:57A2H LINE# 85
+ C:57A4H LINE# 87
+ C:57B4H LINE# 89
+ C:57B4H LINE# 90
+ C:57B9H LINE# 91
+ C:57BBH LINE# 92
+ C:57C4H LINE# 93
+ C:57C4H LINE# 94
+ C:57C7H LINE# 95
+ C:57C8H LINE# 96
+ C:57CBH LINE# 97
+ C:57CBH LINE# 98
+ C:57CCH LINE# 99
+ C:57CDH LINE# 100
+ C:57CEH LINE# 101
+ C:57CFH LINE# 102
+ C:57D0H LINE# 103
+ C:57D1H LINE# 104
+ C:57D2H LINE# 105
+ C:57D3H LINE# 106
+ C:57E3H LINE# 108
+ C:57E3H LINE# 109
+ C:57E6H LINE# 110
+ C:57E6H LINE# 112
+ C:57EDH LINE# 113
+ ------- ENDPROC _MCUCLOCKSET
+ ------- PROC _MCUPWM0SET
+ X:0392H SYMBOL PwmFreq
+ X:0394H SYMBOL DutyRatio
+ C:4C72H LINE# 122
+ C:4C7DH LINE# 123
+ C:4C7DH LINE# 124
+ C:4C80H LINE# 125
+ C:4C9AH LINE# 126
+ C:4CB9H LINE# 127
+ C:4CD7H LINE# 128
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 78
+
+
+ C:4CF2H LINE# 129
+ ------- ENDPROC _MCUPWM0SET
+ ------- PROC _MCUPWM1SET
+ X:0395H SYMBOL PwmFreq
+ X:0397H SYMBOL DutyRatio
+ C:4CF3H LINE# 131
+ C:4CFEH LINE# 132
+ C:4CFEH LINE# 133
+ C:4D01H LINE# 134
+ C:4D1BH LINE# 135
+ C:4D3AH LINE# 136
+ C:4D58H LINE# 137
+ C:4D73H LINE# 138
+ ------- ENDPROC _MCUPWM1SET
+ ------- PROC _MCUPWM2SET
+ X:02B9H SYMBOL PwmFreq
+ X:02BBH SYMBOL DutyRatio
+ C:4D74H LINE# 140
+ C:4D7FH LINE# 141
+ C:4D7FH LINE# 142
+ C:4D82H LINE# 143
+ C:4D9CH LINE# 144
+ C:4DBBH LINE# 145
+ C:4DD9H LINE# 146
+ C:4DF4H LINE# 147
+ ------- ENDPROC _MCUPWM2SET
+ ------- PROC _DELAY1MS
+ D:0007H SYMBOL Xms
+ ------- DO
+ D:0006H SYMBOL i
+ D:0002H SYMBOL j
+ D:0004H SYMBOL Tcnt
+ ------- ENDDO
+ C:5C1AH LINE# 160
+ C:5C1AH LINE# 161
+ C:5C1AH LINE# 165
+ C:5C20H LINE# 166
+ C:5C20H LINE# 167
+ C:5C24H LINE# 168
+ C:5C26H LINE# 169
+ C:5C2EH LINE# 170
+ C:5C2EH LINE# 171
+ C:5C32H LINE# 172
+ C:5C34H LINE# 173
+ C:5C3CH LINE# 174
+ C:5C3CH LINE# 175
+ C:5C40H LINE# 176
+ C:5C42H LINE# 178
+ C:5C42H LINE# 179
+ C:5C46H LINE# 180
+ C:5C46H LINE# 183
+ C:5C4DH LINE# 184
+ C:5C4DH LINE# 185
+ C:5C57H LINE# 186
+ C:5C57H LINE# 187
+ C:5C5EH LINE# 188
+ C:5C61H LINE# 189
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 79
+
+
+ ------- ENDPROC _DELAY1MS
+ ------- PROC CLRRAM
+ ------- DO
+ D:0000H SYMBOL ptr1
+ D:0006H SYMBOL ptr2
+ D:0007H SYMBOL i
+ I:001EH SYMBOL j
+ ------- ENDDO
+ C:62B3H LINE# 199
+ C:62B3H LINE# 200
+ C:62B3H LINE# 206
+ C:62B5H LINE# 207
+ C:62B5H LINE# 208
+ C:62B9H LINE# 209
+ C:62BBH LINE# 210
+ C:62C2H LINE# 212
+ C:62D7H LINE# 213
+ C:62D7H LINE# 214
+ C:62D7H LINE# 215
+ C:62DDH LINE# 216
+ C:62E5H LINE# 217
+ ------- ENDPROC CLRRAM
+ ------- PROC RAMCHECKPROCESS
+ C:51F5H LINE# 226
+ C:51F5H LINE# 227
+ C:51F5H LINE# 228
+ C:5257H LINE# 240
+ C:5257H LINE# 241
+ C:5259H LINE# 242
+ C:5259H LINE# 244
+ C:5259H LINE# 245
+ C:525AH LINE# 246
+ C:525AH LINE# 247
+ ------- ENDPROC RAMCHECKPROCESS
+ ------- PROC _MEMORYSET
+ X:02C5H SYMBOL pt
+ D:0005H SYMBOL setval
+ D:0003H SYMBOL length
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:6376H LINE# 258
+ C:637EH LINE# 259
+ C:637EH LINE# 261
+ C:6385H LINE# 262
+ C:6385H LINE# 263
+ C:6392H LINE# 264
+ C:639CH LINE# 265
+ C:639FH LINE# 266
+ ------- ENDPROC _MEMORYSET
+ ------- PROC _MEMORYCOPY
+ X:02DBH SYMBOL source
+ D:0004H SYMBOL target
+ D:0003H SYMBOL length
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 80
+
+
+ C:62E6H LINE# 277
+ C:62EEH LINE# 278
+ C:62EEH LINE# 280
+ C:62F5H LINE# 281
+ C:62F5H LINE# 282
+ C:6306H LINE# 283
+ C:630BH LINE# 284
+ C:6315H LINE# 285
+ C:6318H LINE# 286
+ ------- ENDPROC _MEMORYCOPY
+ ------- PROC MCUINTOIDLE
+ C:677CH LINE# 295
+ C:677CH LINE# 296
+ C:677CH LINE# 297
+ C:677FH LINE# 298
+ C:6782H LINE# 299
+ C:6783H LINE# 300
+ C:6784H LINE# 301
+ C:6785H LINE# 302
+ C:6786H LINE# 303
+ C:6787H LINE# 304
+ ------- ENDPROC MCUINTOIDLE
+ ------- PROC MCUINTOPD
+ C:6788H LINE# 306
+ C:6788H LINE# 307
+ C:6788H LINE# 308
+ C:678BH LINE# 309
+ C:678EH LINE# 310
+ C:678FH LINE# 311
+ C:6790H LINE# 312
+ C:6791H LINE# 313
+ C:6792H LINE# 314
+ C:6793H LINE# 315
+ ------- ENDPROC MCUINTOPD
+ ------- PROC SYSTEMRESETPROCESS
+ C:6460H LINE# 324
+ C:6460H LINE# 325
+ C:6460H LINE# 326
+ C:6471H LINE# 328
+ C:6471H LINE# 329
+ C:6473H LINE# 330
+ C:6475H LINE# 331
+ C:6477H LINE# 332
+ C:6479H LINE# 333
+ C:647BH LINE# 335
+ C:647DH LINE# 336
+ C:647FH LINE# 337
+ C:6481H LINE# 339
+ C:6484H LINE# 340
+ C:6484H LINE# 341
+ ------- ENDPROC SYSTEMRESETPROCESS
+ ------- ENDMOD MCULIB
+
+ ------- MODULE MOSCTRL
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 81
+
+
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:5AAEH PUBLIC MosStatusCheck
+ C:6349H PUBLIC MosCtrl
+ B:002DH.5 PUBLIC bCHGMOSBk
+ B:002DH.6 PUBLIC bDSGMOSBk
+ ------- PROC MOSSTATUSCHECK
+ C:5AAEH LINE# 20
+ C:5AAEH LINE# 21
+ C:5AAEH LINE# 22
+ C:5AB0H LINE# 23
+ C:5AB2H LINE# 25
+ C:5AB8H LINE# 26
+ C:5AB8H LINE# 27
+ C:5ABAH LINE# 28
+ C:5ABAH LINE# 30
+ C:5ACCH LINE# 31
+ C:5ACCH LINE# 32
+ C:5ACEH LINE# 33
+ C:5ACEH LINE# 35
+ C:5AD1H LINE# 36
+ C:5AD1H LINE# 37
+ C:5ADDH LINE# 38
+ C:5ADDH LINE# 39
+ C:5ADFH LINE# 40
+ C:5ADFH LINE# 41
+ C:5ADFH LINE# 43
+ C:5AE2H LINE# 44
+ C:5AE2H LINE# 45
+ C:5AE5H LINE# 46
+ C:5AE5H LINE# 47
+ C:5AE7H LINE# 48
+ C:5AE7H LINE# 49
+ C:5AE7H LINE# 51
+ C:5AF0H LINE# 52
+ C:5AF0H LINE# 53
+ C:5AF2H LINE# 54
+ C:5AF2H LINE# 56
+ C:5AF5H LINE# 57
+ C:5AF5H LINE# 58
+ C:5AF7H LINE# 59
+ C:5AF7H LINE# 60
+ ------- ENDPROC MOSSTATUSCHECK
+ ------- PROC MOSCTRL
+ C:6349H LINE# 70
+ C:6349H LINE# 71
+ C:6349H LINE# 72
+ C:634CH LINE# 74
+ C:635CH LINE# 75
+ C:635CH LINE# 76
+ C:6360H LINE# 77
+ C:6364H LINE# 79
+ C:6375H LINE# 80
+ C:6375H LINE# 81
+ ------- ENDPROC MOSCTRL
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 82
+
+
+ ------- ENDMOD MOSCTRL
+
+ ------- MODULE PORSELFTEST
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ C:588EH PUBLIC PorProtectOTC
+ D:0090H PUBLIC P1
+ C:592CH PUBLIC PorProtectOTD
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:58DDH PUBLIC PorProtectUTC
+ C:597BH PUBLIC PorProtectUTD
+ C:5C62H PUBLIC PorProtectOV
+ C:5CAAH PUBLIC PorProtectUV
+ X:03A1H PUBLIC ucPorSelfTestDelayCnt
+ B:002EH.5 PUBLIC bPorSelfTestFlg
+ C:60C9H PUBLIC PorSelfTest
+ ------- PROC PORPROTECTOV
+ C:5C62H LINE# 20
+ C:5C62H LINE# 21
+ C:5C62H LINE# 22
+ C:5C65H LINE# 23
+ C:5C65H LINE# 24
+ C:5C74H LINE# 25
+ C:5C74H LINE# 26
+ C:5C89H LINE# 27
+ C:5C89H LINE# 28
+ C:5C8BH LINE# 29
+ C:5C92H LINE# 30
+ C:5C92H LINE# 31
+ C:5C93H LINE# 32
+ C:5CA2H LINE# 33
+ C:5CA2H LINE# 34
+ C:5CA9H LINE# 35
+ C:5CA9H LINE# 36
+ C:5CA9H LINE# 37
+ ------- ENDPROC PORPROTECTOV
+ ------- PROC PORPROTECTUV
+ C:5CAAH LINE# 46
+ C:5CAAH LINE# 47
+ C:5CAAH LINE# 48
+ C:5CADH LINE# 49
+ C:5CADH LINE# 50
+ C:5CBCH LINE# 51
+ C:5CBCH LINE# 52
+ C:5CD1H LINE# 53
+ C:5CD1H LINE# 54
+ C:5CD3H LINE# 55
+ C:5CDAH LINE# 56
+ C:5CDAH LINE# 57
+ C:5CDBH LINE# 58
+ C:5CEAH LINE# 59
+ C:5CEAH LINE# 60
+ C:5CF1H LINE# 61
+ C:5CF1H LINE# 62
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 83
+
+
+ C:5CF1H LINE# 63
+ ------- ENDPROC PORPROTECTUV
+ ------- PROC PORPROTECTOTC
+ C:588EH LINE# 72
+ C:588EH LINE# 73
+ C:588EH LINE# 74
+ C:5891H LINE# 75
+ C:5891H LINE# 76
+ C:58A7H LINE# 77
+ C:58A7H LINE# 78
+ C:58BCH LINE# 79
+ C:58BCH LINE# 80
+ C:58BEH LINE# 81
+ C:58C5H LINE# 82
+ C:58C5H LINE# 83
+ C:58C6H LINE# 84
+ C:58D5H LINE# 85
+ C:58D5H LINE# 86
+ C:58DCH LINE# 87
+ C:58DCH LINE# 88
+ C:58DCH LINE# 89
+ ------- ENDPROC PORPROTECTOTC
+ ------- PROC PORPROTECTUTC
+ C:58DDH LINE# 98
+ C:58DDH LINE# 99
+ C:58DDH LINE# 100
+ C:58E0H LINE# 101
+ C:58E0H LINE# 102
+ C:58F6H LINE# 103
+ C:58F6H LINE# 104
+ C:590BH LINE# 105
+ C:590BH LINE# 106
+ C:590DH LINE# 107
+ C:5914H LINE# 108
+ C:5914H LINE# 109
+ C:5915H LINE# 110
+ C:5924H LINE# 111
+ C:5924H LINE# 112
+ C:592BH LINE# 113
+ C:592BH LINE# 114
+ C:592BH LINE# 115
+ ------- ENDPROC PORPROTECTUTC
+ ------- PROC PORPROTECTOTD
+ C:592CH LINE# 124
+ C:592CH LINE# 125
+ C:592CH LINE# 126
+ C:592FH LINE# 127
+ C:592FH LINE# 128
+ C:5945H LINE# 129
+ C:5945H LINE# 130
+ C:595AH LINE# 131
+ C:595AH LINE# 132
+ C:595CH LINE# 133
+ C:5963H LINE# 134
+ C:5963H LINE# 135
+ C:5964H LINE# 136
+ C:5973H LINE# 137
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 84
+
+
+ C:5973H LINE# 138
+ C:597AH LINE# 139
+ C:597AH LINE# 140
+ C:597AH LINE# 141
+ ------- ENDPROC PORPROTECTOTD
+ ------- PROC PORPROTECTUTD
+ C:597BH LINE# 150
+ C:597BH LINE# 151
+ C:597BH LINE# 152
+ C:597EH LINE# 153
+ C:597EH LINE# 154
+ C:5994H LINE# 155
+ C:5994H LINE# 156
+ C:59A9H LINE# 157
+ C:59A9H LINE# 158
+ C:59ABH LINE# 159
+ C:59B2H LINE# 160
+ C:59B2H LINE# 161
+ C:59B3H LINE# 162
+ C:59C2H LINE# 163
+ C:59C2H LINE# 164
+ C:59C9H LINE# 165
+ C:59C9H LINE# 166
+ C:59C9H LINE# 167
+ ------- ENDPROC PORPROTECTUTD
+ ------- PROC PORSELFTEST
+ C:60C9H LINE# 176
+ C:60C9H LINE# 177
+ C:60C9H LINE# 178
+ C:60CCH LINE# 179
+ C:60CCH LINE# 180
+ C:60CFH LINE# 181
+ C:60D2H LINE# 182
+ C:60D5H LINE# 183
+ C:60D8H LINE# 185
+ C:60DBH LINE# 186
+ C:60DEH LINE# 187
+ C:60E1H LINE# 188
+ C:60E4H LINE# 190
+ C:60EFH LINE# 191
+ C:60EFH LINE# 192
+ C:60F1H LINE# 193
+ C:60FDH LINE# 194
+ C:60FDH LINE# 195
+ C:60FFH LINE# 196
+ C:6100H LINE# 198
+ C:6100H LINE# 199
+ C:6103H LINE# 200
+ C:6103H LINE# 201
+ C:6103H LINE# 202
+ C:6103H LINE# 203
+ ------- ENDPROC PORSELFTEST
+ ------- ENDMOD PORSELFTEST
+
+ ------- MODULE PROTECT
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 85
+
+
+ D:0090H PUBLIC P1
+ X:0325H PUBLIC uiOCD1DelayCnt
+ D:00A0H PUBLIC P2
+ X:0327H PUBLIC uiOCD2DelayCnt
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:3DA1H PUBLIC ProtectOV
+ C:3E5DH PUBLIC ProtectUV
+ B:002DH.7 PUBLIC bOVLock
+ B:002EH.0 PUBLIC bUVLock
+ X:0329H PUBLIC uiOVDelayCnt
+ X:032BH PUBLIC uiUVDelayCnt
+ X:032DH PUBLIC uiOTCRDelayCnt
+ X:032FH PUBLIC uiOTDRDelayCnt
+ X:0331H PUBLIC uiUTCRDelayCnt
+ X:0333H PUBLIC uiUTDRDelayCnt
+ C:5541H PUBLIC ProtectOCC
+ C:64ECH PUBLIC ProtectProcess
+ C:3F19H PUBLIC ProtectOTC
+ C:4091H PUBLIC ProtectOTD
+ X:0335H PUBLIC uiOCCRcnt
+ X:0337H PUBLIC uiOCCDelayCnt
+ X:0339H PUBLIC uiOCDRcnt
+ C:3FD5H PUBLIC ProtectUTC
+ C:414DH PUBLIC ProtectUTD
+ C:4F63H PUBLIC ProtectOCRecover
+ X:033BH PUBLIC uiOTCDelayCnt
+ X:033DH PUBLIC uiOTDDelayCnt
+ X:033FH PUBLIC uiUTCDelayCnt
+ X:0341H PUBLIC uiUTDDelayCnt
+ C:559AH PUBLIC ProtectOCD1
+ C:55F3H PUBLIC ProtectOCD2
+ X:0343H PUBLIC uiOVRDelayCnt
+ X:0345H PUBLIC uiUVRDelayCnt
+ ------- PROC PROTECTOV
+ C:3DA1H LINE# 39
+ C:3DA1H LINE# 40
+ C:3DA1H LINE# 41
+ C:3DA4H LINE# 42
+ C:3DA4H LINE# 43
+ C:3DB3H LINE# 44
+ C:3DB3H LINE# 45
+ C:3DD4H LINE# 46
+ C:3DD4H LINE# 47
+ C:3DD6H LINE# 48
+ C:3DD8H LINE# 49
+ C:3DDFH LINE# 50
+ C:3DE5H LINE# 51
+ C:3DE5H LINE# 52
+ C:3DE6H LINE# 53
+ C:3DF5H LINE# 54
+ C:3DF5H LINE# 55
+ C:3DFCH LINE# 56
+ C:3DFCH LINE# 57
+ C:3DFDH LINE# 58
+ C:3E00H LINE# 59
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 86
+
+
+ C:3E00H LINE# 60
+ C:3E0FH LINE# 61
+ C:3E0FH LINE# 62
+ C:3E2DH LINE# 63
+ C:3E2DH LINE# 64
+ C:3E30H LINE# 65
+ C:3E30H LINE# 66
+ C:3E32H LINE# 67
+ C:3E34H LINE# 68
+ C:3E36H LINE# 70
+ C:3E36H LINE# 71
+ C:3E38H LINE# 72
+ C:3E38H LINE# 73
+ C:3E3FH LINE# 74
+ C:3E45H LINE# 75
+ C:3E45H LINE# 76
+ C:3E46H LINE# 77
+ C:3E55H LINE# 78
+ C:3E55H LINE# 79
+ C:3E5CH LINE# 80
+ C:3E5CH LINE# 81
+ C:3E5CH LINE# 82
+ ------- ENDPROC PROTECTOV
+ ------- PROC PROTECTUV
+ C:3E5DH LINE# 90
+ C:3E5DH LINE# 91
+ C:3E5DH LINE# 92
+ C:3E60H LINE# 93
+ C:3E60H LINE# 94
+ C:3E6FH LINE# 95
+ C:3E6FH LINE# 96
+ C:3E90H LINE# 97
+ C:3E90H LINE# 98
+ C:3E92H LINE# 99
+ C:3E94H LINE# 100
+ C:3E9BH LINE# 101
+ C:3EA1H LINE# 102
+ C:3EA1H LINE# 103
+ C:3EA2H LINE# 104
+ C:3EB1H LINE# 105
+ C:3EB1H LINE# 106
+ C:3EB8H LINE# 107
+ C:3EB8H LINE# 108
+ C:3EB9H LINE# 109
+ C:3EBCH LINE# 110
+ C:3EBCH LINE# 111
+ C:3ECBH LINE# 112
+ C:3ECBH LINE# 113
+ C:3EE9H LINE# 114
+ C:3EE9H LINE# 115
+ C:3EECH LINE# 116
+ C:3EECH LINE# 117
+ C:3EEEH LINE# 118
+ C:3EF0H LINE# 119
+ C:3EF2H LINE# 121
+ C:3EF2H LINE# 122
+ C:3EF4H LINE# 123
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 87
+
+
+ C:3EF4H LINE# 124
+ C:3EFBH LINE# 125
+ C:3F01H LINE# 126
+ C:3F01H LINE# 127
+ C:3F02H LINE# 128
+ C:3F11H LINE# 129
+ C:3F11H LINE# 130
+ C:3F18H LINE# 131
+ C:3F18H LINE# 132
+ C:3F18H LINE# 133
+ ------- ENDPROC PROTECTUV
+ ------- PROC PROTECTOTC
+ C:3F19H LINE# 141
+ C:3F19H LINE# 142
+ C:3F19H LINE# 143
+ C:3F1CH LINE# 144
+ C:3F1CH LINE# 145
+ C:3F32H LINE# 146
+ C:3F32H LINE# 147
+ C:3F53H LINE# 148
+ C:3F53H LINE# 149
+ C:3F55H LINE# 150
+ C:3F5CH LINE# 151
+ C:3F62H LINE# 152
+ C:3F62H LINE# 153
+ C:3F63H LINE# 154
+ C:3F72H LINE# 155
+ C:3F72H LINE# 156
+ C:3F79H LINE# 157
+ C:3F79H LINE# 158
+ C:3F7AH LINE# 160
+ C:3F7AH LINE# 161
+ C:3F90H LINE# 162
+ C:3F90H LINE# 163
+ C:3FAEH LINE# 164
+ C:3FAEH LINE# 165
+ C:3FB0H LINE# 166
+ C:3FB7H LINE# 167
+ C:3FBDH LINE# 168
+ C:3FBDH LINE# 169
+ C:3FBEH LINE# 170
+ C:3FCDH LINE# 171
+ C:3FCDH LINE# 172
+ C:3FD4H LINE# 173
+ C:3FD4H LINE# 174
+ C:3FD4H LINE# 175
+ ------- ENDPROC PROTECTOTC
+ ------- PROC PROTECTUTC
+ C:3FD5H LINE# 184
+ C:3FD5H LINE# 185
+ C:3FD5H LINE# 186
+ C:3FD8H LINE# 187
+ C:3FD8H LINE# 188
+ C:3FEEH LINE# 189
+ C:3FEEH LINE# 190
+ C:400FH LINE# 191
+ C:400FH LINE# 192
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 88
+
+
+ C:4011H LINE# 193
+ C:4018H LINE# 194
+ C:401EH LINE# 195
+ C:401EH LINE# 196
+ C:401FH LINE# 197
+ C:402EH LINE# 198
+ C:402EH LINE# 199
+ C:4035H LINE# 200
+ C:4035H LINE# 201
+ C:4036H LINE# 203
+ C:4036H LINE# 204
+ C:404CH LINE# 205
+ C:404CH LINE# 206
+ C:406AH LINE# 207
+ C:406AH LINE# 208
+ C:406CH LINE# 209
+ C:4073H LINE# 210
+ C:4079H LINE# 211
+ C:4079H LINE# 212
+ C:407AH LINE# 213
+ C:4089H LINE# 214
+ C:4089H LINE# 215
+ C:4090H LINE# 216
+ C:4090H LINE# 217
+ C:4090H LINE# 218
+ ------- ENDPROC PROTECTUTC
+ ------- PROC PROTECTOTD
+ C:4091H LINE# 227
+ C:4091H LINE# 228
+ C:4091H LINE# 229
+ C:4094H LINE# 230
+ C:4094H LINE# 231
+ C:40AAH LINE# 232
+ C:40AAH LINE# 233
+ C:40CBH LINE# 234
+ C:40CBH LINE# 235
+ C:40CDH LINE# 236
+ C:40D4H LINE# 237
+ C:40DAH LINE# 238
+ C:40DAH LINE# 239
+ C:40DBH LINE# 240
+ C:40EAH LINE# 241
+ C:40EAH LINE# 242
+ C:40F1H LINE# 243
+ C:40F1H LINE# 244
+ C:40F2H LINE# 246
+ C:40F2H LINE# 247
+ C:4108H LINE# 248
+ C:4108H LINE# 249
+ C:4126H LINE# 250
+ C:4126H LINE# 251
+ C:4128H LINE# 252
+ C:412FH LINE# 253
+ C:4135H LINE# 254
+ C:4135H LINE# 255
+ C:4136H LINE# 256
+ C:4145H LINE# 257
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 89
+
+
+ C:4145H LINE# 258
+ C:414CH LINE# 259
+ C:414CH LINE# 260
+ C:414CH LINE# 261
+ ------- ENDPROC PROTECTOTD
+ ------- PROC PROTECTUTD
+ C:414DH LINE# 270
+ C:414DH LINE# 271
+ C:414DH LINE# 272
+ C:4150H LINE# 273
+ C:4150H LINE# 274
+ C:4166H LINE# 275
+ C:4166H LINE# 276
+ C:4187H LINE# 277
+ C:4187H LINE# 278
+ C:4189H LINE# 279
+ C:4190H LINE# 280
+ C:4196H LINE# 281
+ C:4196H LINE# 282
+ C:4197H LINE# 283
+ C:41A6H LINE# 284
+ C:41A6H LINE# 285
+ C:41ADH LINE# 286
+ C:41ADH LINE# 287
+ C:41AEH LINE# 289
+ C:41AEH LINE# 290
+ C:41C4H LINE# 291
+ C:41C4H LINE# 292
+ C:41E2H LINE# 293
+ C:41E2H LINE# 294
+ C:41E4H LINE# 295
+ C:41EBH LINE# 296
+ C:41F1H LINE# 297
+ C:41F1H LINE# 298
+ C:41F2H LINE# 299
+ C:4201H LINE# 300
+ C:4201H LINE# 301
+ C:4208H LINE# 302
+ C:4208H LINE# 303
+ C:4208H LINE# 304
+ ------- ENDPROC PROTECTUTD
+ ------- PROC PROTECTOCC
+ C:5541H LINE# 314
+ C:5541H LINE# 315
+ C:5541H LINE# 316
+ C:5544H LINE# 317
+ C:5544H LINE# 318
+ C:5556H LINE# 319
+ C:5556H LINE# 320
+ C:5574H LINE# 321
+ C:5574H LINE# 322
+ C:5576H LINE# 323
+ C:5578H LINE# 324
+ C:557FH LINE# 325
+ C:557FH LINE# 326
+ C:5580H LINE# 327
+ C:5583H LINE# 328
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 90
+
+
+ C:5583H LINE# 329
+ C:5592H LINE# 330
+ C:5592H LINE# 331
+ C:5599H LINE# 332
+ C:5599H LINE# 333
+ C:5599H LINE# 334
+ C:5599H LINE# 335
+ ------- ENDPROC PROTECTOCC
+ ------- PROC PROTECTOCD1
+ C:559AH LINE# 344
+ C:559AH LINE# 345
+ C:559AH LINE# 346
+ C:559DH LINE# 347
+ C:559DH LINE# 348
+ C:55AFH LINE# 349
+ C:55AFH LINE# 350
+ C:55CDH LINE# 351
+ C:55CDH LINE# 352
+ C:55D4H LINE# 353
+ C:55D6H LINE# 354
+ C:55D8H LINE# 355
+ C:55D8H LINE# 356
+ C:55D9H LINE# 357
+ C:55DCH LINE# 358
+ C:55DCH LINE# 359
+ C:55EBH LINE# 360
+ C:55EBH LINE# 361
+ C:55F2H LINE# 362
+ C:55F2H LINE# 363
+ C:55F2H LINE# 364
+ C:55F2H LINE# 365
+ ------- ENDPROC PROTECTOCD1
+ ------- PROC PROTECTOCD2
+ C:55F3H LINE# 374
+ C:55F3H LINE# 375
+ C:55F3H LINE# 376
+ C:55F6H LINE# 377
+ C:55F6H LINE# 378
+ C:5608H LINE# 379
+ C:5608H LINE# 380
+ C:5626H LINE# 381
+ C:5626H LINE# 382
+ C:562DH LINE# 383
+ C:562FH LINE# 384
+ C:5631H LINE# 385
+ C:5631H LINE# 386
+ C:5632H LINE# 387
+ C:5635H LINE# 388
+ C:5635H LINE# 389
+ C:5644H LINE# 390
+ C:5644H LINE# 391
+ C:564BH LINE# 392
+ C:564BH LINE# 393
+ C:564BH LINE# 394
+ C:564BH LINE# 395
+ ------- ENDPROC PROTECTOCD2
+ ------- PROC PROTECTPROCESS
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 91
+
+
+ C:64ECH LINE# 404
+ C:64ECH LINE# 405
+ C:64ECH LINE# 406
+ C:64EFH LINE# 407
+ C:64EFH LINE# 408
+ C:64F2H LINE# 409
+ C:64F5H LINE# 411
+ C:64F8H LINE# 412
+ C:64FBH LINE# 413
+ C:64FEH LINE# 414
+ C:6501H LINE# 416
+ C:6504H LINE# 417
+ C:6507H LINE# 418
+ C:650AH LINE# 419
+ C:650AH LINE# 420
+ ------- ENDPROC PROTECTPROCESS
+ ------- PROC PROTECTOCRECOVER
+ C:4F63H LINE# 429
+ C:4F63H LINE# 430
+ C:4F63H LINE# 431
+ C:4F66H LINE# 432
+ C:4F66H LINE# 433
+ C:4F6FH LINE# 434
+ C:4F6FH LINE# 435
+ C:4F8DH LINE# 436
+ C:4F8DH LINE# 437
+ C:4F92H LINE# 438
+ C:4F98H LINE# 439
+ C:4F9AH LINE# 440
+ C:4F9CH LINE# 441
+ C:4F9EH LINE# 442
+ C:4FA0H LINE# 443
+ C:4FA3H LINE# 444
+ C:4FA3H LINE# 445
+ C:4FA5H LINE# 446
+ C:4FA8H LINE# 447
+ C:4FA8H LINE# 448
+ C:4FA8H LINE# 449
+ C:4FA8H LINE# 451
+ C:4FABH LINE# 452
+ C:4FABH LINE# 453
+ C:4FC9H LINE# 454
+ C:4FC9H LINE# 455
+ C:4FD0H LINE# 456
+ C:4FD2H LINE# 457
+ C:4FD6H LINE# 458
+ C:4FD8H LINE# 459
+ C:4FD8H LINE# 460
+ C:4FD8H LINE# 461
+ C:4FD8H LINE# 462
+ ------- ENDPROC PROTECTOCRECOVER
+ ------- ENDMOD PROTECT
+
+ ------- MODULE RTC
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 92
+
+
+ C:6546H PUBLIC RTCTwiCheck
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:49C5H PUBLIC _RTCInitTime
+ B:002EH.1 PUBLIC bRTCTwiRWErr
+ C:548CH PUBLIC _RTCRead
+ C:476AH PUBLIC _RTCModifyTime
+ X:0377H PUBLIC ucRTCTwiRWErrDelayCnt
+ X:0378H PUBLIC RTC
+ B:002EH.2 PUBLIC bRTCErr
+ C:5431H PUBLIC _RTCWrite
+ C:2B88H PUBLIC _RTCReadTime
+ ------- PROC RTCTWICHECK
+ C:6546H LINE# 23
+ C:6546H LINE# 24
+ C:6546H LINE# 25
+ C:6549H LINE# 26
+ C:6549H LINE# 27
+ C:654CH LINE# 28
+ C:654CH LINE# 29
+ C:6557H LINE# 30
+ C:6557H LINE# 31
+ C:6559H LINE# 32
+ C:655CH LINE# 33
+ C:655CH LINE# 34
+ C:655DH LINE# 36
+ C:655DH LINE# 37
+ C:6562H LINE# 38
+ C:6562H LINE# 39
+ C:6562H LINE# 40
+ ------- ENDPROC RTCTWICHECK
+ ------- PROC _RTCWRITE
+ X:02F0H SYMBOL WrAddr
+ X:02F1H SYMBOL Length
+ X:02F2H SYMBOL WrBuf
+ ------- DO
+ B:0029H.0 SYMBOL Result
+ X:02F4H SYMBOL i
+ ------- ENDDO
+ C:5431H LINE# 49
+ C:543FH LINE# 50
+ C:543FH LINE# 51
+ C:5441H LINE# 54
+ C:5444H LINE# 55
+ C:5444H LINE# 56
+ C:5447H LINE# 57
+ C:5447H LINE# 58
+ C:546FH LINE# 59
+ C:546FH LINE# 60
+ C:5471H LINE# 61
+ C:5473H LINE# 62
+ C:5473H LINE# 63
+ C:5478H LINE# 64
+ C:5484H LINE# 65
+ C:5484H LINE# 66
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 93
+
+
+ C:5489H LINE# 68
+ C:548BH LINE# 69
+ ------- ENDPROC _RTCWRITE
+ ------- PROC _RTCREAD
+ X:02E6H SYMBOL RdAddr
+ X:02E7H SYMBOL Length
+ X:02E8H SYMBOL RdBuf
+ ------- DO
+ B:0028H.7 SYMBOL Result
+ X:02EAH SYMBOL i
+ ------- ENDDO
+ C:548CH LINE# 78
+ C:549AH LINE# 79
+ C:549AH LINE# 80
+ C:549CH LINE# 83
+ C:549FH LINE# 84
+ C:549FH LINE# 85
+ C:54A2H LINE# 86
+ C:54A2H LINE# 87
+ C:54CAH LINE# 88
+ C:54CAH LINE# 89
+ C:54CCH LINE# 90
+ C:54CEH LINE# 91
+ C:54CEH LINE# 92
+ C:54D3H LINE# 93
+ C:54DFH LINE# 94
+ C:54DFH LINE# 95
+ C:54E4H LINE# 97
+ C:54E6H LINE# 98
+ ------- ENDPROC _RTCREAD
+ ------- PROC _RTCREADTIME
+ X:02DBH SYMBOL RtcRdVal
+ ------- DO
+ X:02DDH SYMBOL rtcbuf
+ B:0028H.6 SYMBOL Result
+ ------- ENDDO
+ C:2B88H LINE# 106
+ C:2B90H LINE# 107
+ C:2B90H LINE# 109
+ C:2B92H LINE# 111
+ C:2BA2H LINE# 112
+ C:2BA2H LINE# 113
+ C:2BACH LINE# 114
+ C:2BACH LINE# 115
+ C:2C59H LINE# 123
+ C:2C59H LINE# 124
+ C:2C6AH LINE# 125
+ C:2C74H LINE# 126
+ C:2C85H LINE# 127
+ C:2C91H LINE# 128
+ C:2CA4H LINE# 129
+ C:2CB2H LINE# 130
+ C:2CC5H LINE# 132
+ C:2CCEH LINE# 133
+ C:2CD0H LINE# 135
+ C:2CD0H LINE# 136
+ C:2CE3H LINE# 137
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 94
+
+
+ C:2CEDH LINE# 138
+ C:2CFAH LINE# 139
+ C:2D06H LINE# 140
+ C:2D16H LINE# 141
+ C:2D26H LINE# 142
+ C:2D36H LINE# 144
+ C:2D38H LINE# 145
+ C:2D38H LINE# 146
+ C:2D3AH LINE# 148
+ C:2D3AH LINE# 149
+ C:2D47H LINE# 150
+ C:2D47H LINE# 151
+ C:2D47H LINE# 153
+ C:2D49H LINE# 154
+ ------- ENDPROC _RTCREADTIME
+ ------- PROC _RTCMODIFYTIME
+ X:02E6H SYMBOL RtcMdyVal
+ ------- DO
+ B:0028H.7 SYMBOL Result
+ X:02E8H SYMBOL rtcdata
+ X:02E9H SYMBOL rtctemp
+ ------- ENDDO
+ C:476AH LINE# 163
+ C:4772H LINE# 164
+ C:4772H LINE# 165
+ C:4774H LINE# 169
+ C:4778H LINE# 170
+ C:4785H LINE# 172
+ C:4796H LINE# 173
+ C:47A0H LINE# 174
+ C:47B5H LINE# 175
+ C:47C1H LINE# 176
+ C:47D5H LINE# 177
+ C:47E3H LINE# 178
+ C:47F6H LINE# 180
+ C:4803H LINE# 182
+ C:4805H LINE# 183
+ ------- ENDPROC _RTCMODIFYTIME
+ ------- PROC _RTCINITTIME
+ X:02B9H SYMBOL RtcInitVal
+ ------- DO
+ B:0028H.5 SYMBOL Result
+ X:02BBH SYMBOL rtcbuf
+ D:0007H SYMBOL i
+ X:02C4H SYMBOL checksum
+ ------- ENDDO
+ C:49C5H LINE# 192
+ C:49CDH LINE# 193
+ C:49CDH LINE# 194
+ C:49CFH LINE# 197
+ C:49D4H LINE# 199
+ C:49DEH LINE# 201
+ C:49EBH LINE# 202
+ C:49EDH LINE# 203
+ C:49EDH LINE# 204
+ C:49FFH LINE# 205
+ C:4A04H LINE# 207
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 95
+
+
+ C:4A16H LINE# 208
+ C:4A16H LINE# 209
+ C:4A1BH LINE# 210
+ C:4A1DH LINE# 211
+ C:4A21H LINE# 212
+ C:4A25H LINE# 213
+ C:4A29H LINE# 214
+ C:4A2DH LINE# 215
+ C:4A31H LINE# 216
+ C:4A31H LINE# 218
+ C:4A42H LINE# 219
+ C:4A4FH LINE# 221
+ C:4A51H LINE# 222
+ ------- ENDPROC _RTCINITTIME
+ ------- ENDMOD RTC
+
+ ------- MODULE TWI
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ D:008AH PUBLIC TWIBR
+ D:00C6H PUBLIC TWICR
+ D:0089H PUBLIC TWTFREE
+ C:29B0H PUBLIC _TwiRead
+ D:00B1H PUBLIC RSTSTAT
+ C:6563H PUBLIC _CRC8cal
+ D:00E6H PUBLIC TWITOUT
+ C:3324H PUBLIC _TwiWrite
+ C:6104H PUBLIC _TwiInit
+ D:008DH PUBLIC TWIDAT
+ D:00C8H PUBLIC TWICON
+ D:00D1H PUBLIC TWISTA
+ C:63C7H PUBLIC _TWICheckStatus
+ C:3962H PUBLIC CRC8Table
+ ------- PROC _CRC8CAL
+ D:0001H SYMBOL p
+ D:0005H SYMBOL counter
+ ------- DO
+ D:0007H SYMBOL crc8
+ ------- ENDDO
+ C:6563H LINE# 37
+ C:6563H LINE# 38
+ C:6563H LINE# 39
+ C:6565H LINE# 41
+ C:656BH LINE# 42
+ C:656BH LINE# 43
+ C:6574H LINE# 44
+ C:657BH LINE# 45
+ C:657EH LINE# 46
+ C:657EH LINE# 47
+ ------- ENDPROC _CRC8CAL
+ ------- PROC _TWICHECKSTATUS
+ D:0007H SYMBOL Status
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 96
+
+
+ ------- DO
+ B:0029H.2 SYMBOL Result
+ D:0004H SYMBOL timeoutcount
+ ------- ENDDO
+ C:63C7H LINE# 58
+ C:63C7H LINE# 59
+ C:63C7H LINE# 60
+ C:63C9H LINE# 61
+ C:63CDH LINE# 63
+ C:63D2H LINE# 64
+ C:63D2H LINE# 65
+ C:63D5H LINE# 66
+ C:63D9H LINE# 67
+ C:63D9H LINE# 68
+ C:63DEH LINE# 69
+ C:63E0H LINE# 71
+ C:63E0H LINE# 72
+ C:63E0H LINE# 73
+ C:63E0H LINE# 74
+ C:63E2H LINE# 75
+ C:63E9H LINE# 76
+ C:63E9H LINE# 77
+ C:63EBH LINE# 78
+ C:63EBH LINE# 80
+ C:63EDH LINE# 81
+ ------- ENDPROC _TWICHECKSTATUS
+ ------- PROC _TWIWRITE
+ X:02F5H SYMBOL SlaveID
+ X:02F6H SYMBOL WrAddr
+ X:02F8H SYMBOL AddrType
+ X:02F9H SYMBOL Length
+ X:02FAH SYMBOL CrcFlg
+ X:02FBH SYMBOL WrBuf
+ ------- DO
+ D:0006H SYMBOL i
+ X:02FDH SYMBOL TempBuf
+ B:0029H.1 SYMBOL Result
+ X:0301H SYMBOL timeoutcount
+ C:3445H SYMBOL WrErr
+ ------- ENDDO
+ C:3324H LINE# 97
+ C:3334H LINE# 98
+ C:3334H LINE# 101
+ C:3336H LINE# 102
+ C:3340H LINE# 104
+ C:3345H LINE# 105
+ C:3348H LINE# 106
+ C:3358H LINE# 107
+ C:3368H LINE# 109
+ C:3374H LINE# 110
+ C:3374H LINE# 111
+ C:337DH LINE# 112
+ C:3380H LINE# 113
+ C:338EH LINE# 114
+ C:338EH LINE# 115
+ C:3390H LINE# 116
+ C:3393H LINE# 117
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 97
+
+
+ C:3393H LINE# 119
+ C:3399H LINE# 120
+ C:339CH LINE# 121
+ C:33A3H LINE# 122
+ C:33A3H LINE# 123
+ C:33A5H LINE# 124
+ C:33A8H LINE# 125
+ C:33A8H LINE# 127
+ C:33AFH LINE# 128
+ C:33AFH LINE# 129
+ C:33B5H LINE# 130
+ C:33B8H LINE# 131
+ C:33BFH LINE# 132
+ C:33BFH LINE# 133
+ C:33C1H LINE# 134
+ C:33C4H LINE# 135
+ C:33C4H LINE# 136
+ C:33C4H LINE# 138
+ C:33CCH LINE# 139
+ C:33CFH LINE# 140
+ C:33D6H LINE# 141
+ C:33D6H LINE# 142
+ C:33D8H LINE# 143
+ C:33DAH LINE# 144
+ C:33DAH LINE# 146
+ C:33E2H LINE# 147
+ C:33E2H LINE# 148
+ C:33EEH LINE# 149
+ C:33F1H LINE# 150
+ C:33F8H LINE# 151
+ C:33F8H LINE# 152
+ C:33FAH LINE# 153
+ C:33FCH LINE# 154
+ C:33FCH LINE# 156
+ C:3402H LINE# 157
+ C:3405H LINE# 158
+ C:340CH LINE# 159
+ C:340CH LINE# 160
+ C:340EH LINE# 161
+ C:3410H LINE# 162
+ C:3410H LINE# 163
+ C:3410H LINE# 165
+ C:3410H LINE# 166
+ C:341CH LINE# 167
+ C:341CH LINE# 168
+ C:342AH LINE# 169
+ C:342DH LINE# 170
+ C:3434H LINE# 171
+ C:3434H LINE# 172
+ C:3436H LINE# 173
+ C:3438H LINE# 174
+ C:3438H LINE# 175
+ C:3442H LINE# 176
+ C:3445H LINE# 177
+ C:3445H LINE# 178
+ C:3445H LINE# 179
+ C:3448H LINE# 180
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 98
+
+
+ C:344DH LINE# 181
+ C:344DH LINE# 182
+ C:3450H LINE# 183
+ C:345AH LINE# 184
+ C:345AH LINE# 185
+ C:3464H LINE# 186
+ C:3466H LINE# 188
+ C:3466H LINE# 189
+ C:3466H LINE# 190
+ C:3466H LINE# 191
+ C:3468H LINE# 192
+ C:3468H LINE# 194
+ C:346AH LINE# 195
+ ------- ENDPROC _TWIWRITE
+ ------- PROC _TWIREAD
+ D:0002H SYMBOL SlaveID
+ X:02ECH SYMBOL RdAddr
+ D:0003H SYMBOL AddrType
+ X:02EFH SYMBOL Length
+ X:02F0H SYMBOL CrcFlg
+ X:02F1H SYMBOL RdBuf
+ ------- DO
+ B:0029H.0 SYMBOL Result
+ X:02F3H SYMBOL i
+ X:02F4H SYMBOL TempBuf
+ X:0322H SYMBOL RdCrc
+ X:0323H SYMBOL timeoutcount
+ C:2B62H SYMBOL RdErr
+ ------- ENDDO
+ C:29B0H LINE# 209
+ C:29BAH LINE# 210
+ C:29BAH LINE# 211
+ C:29BCH LINE# 214
+ C:29C1H LINE# 215
+ C:29C9H LINE# 217
+ C:29CEH LINE# 218
+ C:29D1H LINE# 219
+ C:29DAH LINE# 220
+ C:29DFH LINE# 222
+ C:29E8H LINE# 223
+ C:29E8H LINE# 224
+ C:29F1H LINE# 225
+ C:29F4H LINE# 226
+ C:2A02H LINE# 227
+ C:2A02H LINE# 228
+ C:2A04H LINE# 229
+ C:2A07H LINE# 230
+ C:2A07H LINE# 232
+ C:2A09H LINE# 233
+ C:2A0CH LINE# 234
+ C:2A13H LINE# 235
+ C:2A13H LINE# 236
+ C:2A15H LINE# 237
+ C:2A18H LINE# 238
+ C:2A18H LINE# 240
+ C:2A1CH LINE# 241
+ C:2A1CH LINE# 242
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 99
+
+
+ C:2A22H LINE# 243
+ C:2A25H LINE# 244
+ C:2A2CH LINE# 245
+ C:2A2CH LINE# 246
+ C:2A2EH LINE# 247
+ C:2A31H LINE# 248
+ C:2A31H LINE# 249
+ C:2A31H LINE# 251
+ C:2A39H LINE# 252
+ C:2A3CH LINE# 253
+ C:2A43H LINE# 254
+ C:2A43H LINE# 255
+ C:2A45H LINE# 256
+ C:2A48H LINE# 257
+ C:2A48H LINE# 259
+ C:2A4CH LINE# 260
+ C:2A4CH LINE# 261
+ C:2A52H LINE# 262
+ C:2A55H LINE# 263
+ C:2A5CH LINE# 264
+ C:2A5CH LINE# 265
+ C:2A5EH LINE# 266
+ C:2A61H LINE# 267
+ C:2A61H LINE# 268
+ C:2A61H LINE# 270
+ C:2A64H LINE# 271
+ C:2A72H LINE# 272
+ C:2A72H LINE# 273
+ C:2A74H LINE# 274
+ C:2A77H LINE# 275
+ C:2A77H LINE# 277
+ C:2A7CH LINE# 278
+ C:2A7FH LINE# 279
+ C:2A86H LINE# 280
+ C:2A86H LINE# 281
+ C:2A88H LINE# 282
+ C:2A8BH LINE# 283
+ C:2A8BH LINE# 285
+ C:2A9EH LINE# 286
+ C:2A9EH LINE# 287
+ C:2AA4H LINE# 288
+ C:2AA4H LINE# 289
+ C:2AA9H LINE# 290
+ C:2AA9H LINE# 291
+ C:2AACH LINE# 292
+ C:2AB1H LINE# 293
+ C:2AB3H LINE# 295
+ C:2AB3H LINE# 296
+ C:2AB6H LINE# 297
+ C:2ABBH LINE# 298
+ C:2ABBH LINE# 299
+ C:2AC9H LINE# 300
+ C:2AD3H LINE# 301
+ C:2AD5H LINE# 303
+ C:2AD5H LINE# 304
+ C:2AD8H LINE# 305
+ C:2ADDH LINE# 306
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 100
+
+
+ C:2AEDH LINE# 307
+ C:2AEDH LINE# 308
+ C:2AF5H LINE# 310
+ C:2AFDH LINE# 311
+ C:2AFDH LINE# 312
+ C:2B00H LINE# 313
+ C:2B05H LINE# 314
+ C:2B0BH LINE# 315
+ C:2B22H LINE# 316
+ C:2B22H LINE# 317
+ C:2B35H LINE# 318
+ C:2B35H LINE# 319
+ C:2B4EH LINE# 320
+ C:2B58H LINE# 321
+ C:2B60H LINE# 322
+ C:2B60H LINE# 324
+ C:2B60H LINE# 325
+ C:2B62H LINE# 326
+ C:2B62H LINE# 327
+ C:2B62H LINE# 328
+ C:2B62H LINE# 329
+ C:2B62H LINE# 330
+ C:2B65H LINE# 331
+ C:2B6AH LINE# 332
+ C:2B6AH LINE# 333
+ C:2B6DH LINE# 334
+ C:2B77H LINE# 335
+ C:2B77H LINE# 336
+ C:2B81H LINE# 337
+ C:2B83H LINE# 339
+ C:2B83H LINE# 340
+ C:2B83H LINE# 341
+ C:2B83H LINE# 342
+ C:2B85H LINE# 343
+ C:2B85H LINE# 345
+ C:2B87H LINE# 346
+ ------- ENDPROC _TWIREAD
+ ------- PROC _TWIINIT
+ D:0007H SYMBOL FreqKHz
+ C:6104H LINE# 355
+ C:6104H LINE# 356
+ C:6104H LINE# 357
+ C:6107H LINE# 358
+ C:610AH LINE# 359
+ C:6130H LINE# 360
+ C:6133H LINE# 361
+ C:6136H LINE# 362
+ C:6139H LINE# 363
+ C:613CH LINE# 364
+ ------- ENDPROC _TWIINIT
+ ------- ENDMOD TWI
+
+ ------- MODULE UART
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 101
+
+
+ D:00B0H PUBLIC P3
+ D:00C4H PUBLIC UART0CR
+ D:00C0H PUBLIC P4
+ C:4934H PUBLIC _UART0Init
+ D:009DH PUBLIC SBRTH
+ D:0080H PUBLIC P5
+ D:009CH PUBLIC SBRTL
+ B:0098H.0 PUBLIC RI
+ B:0098H.1 PUBLIC TI
+ C:57EEH PUBLIC InterruptUart0
+ D:0099H PUBLIC SBUF
+ D:0087H PUBLIC PCON
+ D:0098H PUBLIC SCON
+ D:0086H PUBLIC INSCON
+ D:009BH PUBLIC SADEN
+ D:009AH PUBLIC SADDR
+ D:009EH PUBLIC SFINE
+ ------- PROC _UART0INIT
+ X:02B9H SYMBOL Bps
+ ------- DO
+ D:0004H SYMBOL TempVal
+ ------- ENDDO
+ C:4934H LINE# 19
+ C:493CH LINE# 20
+ C:493CH LINE# 23
+ C:493FH LINE# 24
+ C:4942H LINE# 25
+ C:4945H LINE# 26
+ C:495FH LINE# 27
+ C:4961H LINE# 28
+ C:4963H LINE# 29
+ C:49BBH LINE# 30
+ C:49BEH LINE# 31
+ C:49C1H LINE# 32
+ C:49C4H LINE# 33
+ ------- ENDPROC _UART0INIT
+ ------- PROC INTERRUPTUART0
+ ------- DO
+ D:0007H SYMBOL RxData
+ ------- ENDDO
+ C:57EEH LINE# 44
+ C:580BH LINE# 48
+ C:580DH LINE# 49
+ C:5810H LINE# 51
+ C:5813H LINE# 52
+ C:5813H LINE# 53
+ C:5815H LINE# 54
+ C:5817H LINE# 55
+ C:581AH LINE# 56
+ C:581AH LINE# 58
+ C:581DH LINE# 59
+ C:581DH LINE# 60
+ C:581FH LINE# 61
+ C:5822H LINE# 62
+ C:5822H LINE# 64
+ C:5824H LINE# 65
+ ------- ENDPROC INTERRUPTUART0
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 102
+
+
+ ------- ENDMOD UART
+
+ ------- MODULE THERMISTOR
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:35AFH PUBLIC NTC103AT
+ ------- ENDMOD THERMISTOR
+
+ ------- MODULE ?C_STARTUP
+ C:661AH SEGMENT ?C_C51STARTUP
+ C:1000H PUBLIC ?C_STARTUP
+ N:00B2H SYMBOL CLKCON
+ D:0081H SYMBOL SP
+ C:661AH SYMBOL STARTUP1
+ C:1000H LINE# 12
+ C:661AH LINE# 18
+ C:661DH LINE# 19
+ C:6620H LINE# 20
+ C:6621H LINE# 21
+ C:6622H LINE# 22
+ C:6623H LINE# 23
+ C:6624H LINE# 24
+ C:6625H LINE# 25
+ C:6626H LINE# 26
+ C:6627H LINE# 27
+ C:6628H LINE# 28
+ C:662BH LINE# 29
+ ------- ENDMOD ?C_STARTUP
+
+ ------- MODULE GASGAUGE
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ I:0017H PUBLIC uiRCDischarge
+ I:0019H PUBLIC uiTempBK
+ X:0368H PUBLIC slCur
+ C:230FH PUBLIC GasGaugeInit
+ X:036CH PUBLIC uiDfRC
+ B:002CH.1 PUBLIC bRSOCFast
+ B:002CH.2 PUBLIC bDsgEndFlg
+ X:036EH PUBLIC ucCHGEndDelay
+ X:036FH PUBLIC ucRSOCCnt
+ I:001BH PUBLIC uiRCCharge
+ B:002CH.3 PUBLIC bRSOCSlow
+ X:0370H PUBLIC uiDfRSOC
+ X:0372H PUBLIC ucDSGEndDelay
+ B:00A8H.4 PUBLIC ES0
+ I:001DH PUBLIC ucCycleGain
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 103
+
+
+ C:1FE9H PUBLIC GasGaugeManage
+ X:0373H PUBLIC uiDfFCC
+ X:0375H PUBLIC ucDSGDelay1
+ X:0376H PUBLIC ucDSGDelay2
+ B:002CH.4 PUBLIC bCHGEndFlg
+ ------- PROC GASGAUGEINIT
+ ------- DO
+ X:02B9H SYMBOL i
+ D:0006H SYMBOL RSOCtemp
+ ------- ENDDO
+ C:230FH LINE# 40
+ C:230FH LINE# 41
+ C:230FH LINE# 43
+ C:2313H LINE# 46
+ C:2315H LINE# 47
+ C:231BH LINE# 48
+ C:2320H LINE# 49
+ C:2324H LINE# 50
+ C:2327H LINE# 51
+ C:232DH LINE# 52
+ C:2333H LINE# 53
+ C:2339H LINE# 54
+ C:233BH LINE# 55
+ C:233FH LINE# 56
+ C:2343H LINE# 57
+ C:2345H LINE# 58
+ C:2347H LINE# 59
+ C:2349H LINE# 61
+ C:235AH LINE# 62
+ C:235AH LINE# 63
+ C:2375H LINE# 64
+ C:2375H LINE# 65
+ C:237BH LINE# 66
+ C:237BH LINE# 67
+ C:238EH LINE# 68
+ C:238EH LINE# 69
+ C:2391H LINE# 70
+ C:2394H LINE# 72
+ C:2394H LINE# 73
+ C:23CAH LINE# 74
+ C:23CAH LINE# 75
+ C:23CDH LINE# 76
+ C:23CDH LINE# 78
+ C:23CDH LINE# 79
+ C:2447H LINE# 80
+ C:2449H LINE# 81
+ C:2449H LINE# 82
+ C:2449H LINE# 83
+ C:2452H LINE# 85
+ C:2461H LINE# 86
+ C:2461H LINE# 87
+ C:2465H LINE# 88
+ C:2465H LINE# 90
+ C:2473H LINE# 91
+ C:2473H LINE# 92
+ C:2477H LINE# 93
+ C:2479H LINE# 95
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 104
+
+
+ C:2479H LINE# 96
+ C:2489H LINE# 97
+ C:2489H LINE# 98
+ C:248EH LINE# 99
+ C:2490H LINE# 101
+ C:2490H LINE# 102
+ C:2497H LINE# 103
+ C:2497H LINE# 104
+ C:2497H LINE# 106
+ C:249FH LINE# 107
+ C:24ABH LINE# 108
+ C:24CEH LINE# 110
+ C:24DCH LINE# 111
+ C:24EAH LINE# 112
+ C:2501H LINE# 114
+ C:2511H LINE# 115
+ C:2511H LINE# 116
+ C:2515H LINE# 117
+ C:2517H LINE# 118
+ C:2520H LINE# 119
+ C:2520H LINE# 120
+ C:252EH LINE# 121
+ C:2530H LINE# 122
+ C:2540H LINE# 123
+ C:2540H LINE# 124
+ C:254EH LINE# 125
+ C:2550H LINE# 127
+ C:2550H LINE# 128
+ C:2554H LINE# 129
+ C:2554H LINE# 131
+ C:255AH LINE# 132
+ C:255EH LINE# 133
+ C:2562H LINE# 134
+ C:2564H LINE# 135
+ C:2566H LINE# 136
+ C:256AH LINE# 137
+ ------- ENDPROC GASGAUGEINIT
+ ------- PROC GASGAUGEMANAGE
+ ------- DO
+ X:02B9H SYMBOL chgdffcc
+ ------- ENDDO
+ C:1FE9H LINE# 146
+ C:1FE9H LINE# 147
+ C:1FE9H LINE# 148
+ C:1FF0H LINE# 150
+ C:1FFAH LINE# 152
+ C:2017H LINE# 153
+ C:2017H LINE# 154
+ C:201CH LINE# 155
+ C:2020H LINE# 156
+ C:2022H LINE# 157
+ C:2024H LINE# 159
+ C:2046H LINE# 161
+ C:2052H LINE# 162
+ C:2052H LINE# 163
+ C:2074H LINE# 164
+ C:2076H LINE# 165
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 105
+
+
+ C:207FH LINE# 166
+ C:2081H LINE# 167
+ C:2081H LINE# 168
+ C:2090H LINE# 170
+ C:209FH LINE# 171
+ C:20ABH LINE# 172
+ C:20ABH LINE# 173
+ C:20B5H LINE# 174
+ C:20CAH LINE# 175
+ C:20CAH LINE# 176
+ C:20D1H LINE# 177
+ C:20D3H LINE# 179
+ C:20D3H LINE# 180
+ C:20DBH LINE# 181
+ C:20E1H LINE# 182
+ C:20E1H LINE# 183
+ C:20E3H LINE# 185
+ C:20F9H LINE# 186
+ C:20F9H LINE# 187
+ C:2121H LINE# 188
+ C:2123H LINE# 190
+ C:2123H LINE# 191
+ C:212DH LINE# 192
+ C:212DH LINE# 194
+ C:2147H LINE# 195
+ C:2147H LINE# 196
+ C:2156H LINE# 197
+ C:2156H LINE# 198
+ C:2165H LINE# 199
+ C:2165H LINE# 200
+ C:2167H LINE# 201
+ C:2169H LINE# 202
+ C:2169H LINE# 203
+ C:2169H LINE# 204
+ C:2169H LINE# 206
+ C:216CH LINE# 208
+ C:216FH LINE# 209
+ C:2192H LINE# 210
+ C:2192H LINE# 211
+ C:2197H LINE# 212
+ C:2199H LINE# 214
+ C:21A5H LINE# 215
+ C:21AFH LINE# 216
+ C:21AFH LINE# 217
+ C:21B9H LINE# 218
+ C:21B9H LINE# 219
+ C:21C5H LINE# 220
+ C:21C5H LINE# 221
+ C:21D1H LINE# 222
+ C:21D1H LINE# 223
+ C:21DBH LINE# 224
+ C:21F4H LINE# 225
+ C:2203H LINE# 226
+ C:2203H LINE# 227
+ C:220AH LINE# 228
+ C:220AH LINE# 229
+ C:220CH LINE# 230
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 106
+
+
+ C:221EH LINE# 231
+ C:221EH LINE# 232
+ C:2233H LINE# 233
+ C:223DH LINE# 234
+ C:223DH LINE# 235
+ C:223DH LINE# 237
+ C:2240H LINE# 238
+ C:2240H LINE# 240
+ C:2243H LINE# 241
+ C:2243H LINE# 242
+ C:2245H LINE# 243
+ C:2255H LINE# 244
+ C:225EH LINE# 245
+ C:226AH LINE# 246
+ C:2273H LINE# 247
+ C:2275H LINE# 248
+ C:2275H LINE# 250
+ C:228BH LINE# 251
+ C:228BH LINE# 252
+ C:2293H LINE# 253
+ C:2295H LINE# 254
+ C:22AAH LINE# 255
+ C:22AAH LINE# 256
+ C:22B2H LINE# 257
+ C:22B2H LINE# 258
+ C:22E2H LINE# 260
+ C:22E5H LINE# 262
+ C:22E7H LINE# 263
+ C:22F1H LINE# 264
+ C:22FDH LINE# 265
+ C:230CH LINE# 266
+ C:230EH LINE# 267
+ ------- ENDPROC GASGAUGEMANAGE
+ ------- ENDMOD GASGAUGE
+
+ ------- MODULE GASGAUGELIB
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:256BH PUBLIC CorrectCHGSOC
+ C:1B8BH PUBLIC CorrectDSGSOC
+ C:16B1H PUBLIC DataFilter
+ ------- PROC CORRECTCHGSOC
+ ------- DO
+ X:02BBH SYMBOL i
+ ------- ENDDO
+ C:256BH LINE# 17
+ C:256BH LINE# 18
+ C:256BH LINE# 20
+ C:257AH LINE# 21
+ C:257AH LINE# 22
+ C:2592H LINE# 23
+ C:2592H LINE# 24
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 107
+
+
+ C:2592H LINE# 25
+ C:2592H LINE# 26
+ C:259AH LINE# 27
+ C:259DH LINE# 28
+ C:259DH LINE# 29
+ C:25ACH LINE# 30
+ C:25ACH LINE# 31
+ C:25BAH LINE# 32
+ C:25F5H LINE# 33
+ C:25F5H LINE# 34
+ C:25F5H LINE# 35
+ C:25FBH LINE# 36
+ C:25FBH LINE# 37
+ C:260DH LINE# 38
+ C:260DH LINE# 39
+ C:2614H LINE# 40
+ C:2614H LINE# 41
+ C:2615H LINE# 42
+ C:263FH LINE# 43
+ C:263FH LINE# 44
+ C:2650H LINE# 45
+ C:2650H LINE# 46
+ C:2699H LINE# 47
+ C:26BEH LINE# 48
+ C:26BEH LINE# 49
+ C:26BFH LINE# 50
+ C:26C5H LINE# 51
+ C:26C5H LINE# 52
+ C:26F4H LINE# 53
+ C:26F4H LINE# 54
+ C:2723H LINE# 55
+ C:2723H LINE# 56
+ C:279AH LINE# 57
+ C:27BFH LINE# 58
+ C:27BFH LINE# 59
+ C:27BFH LINE# 60
+ C:27BFH LINE# 61
+ ------- ENDPROC CORRECTCHGSOC
+ ------- PROC CORRECTDSGSOC
+ ------- DO
+ X:02BBH SYMBOL DfRCtemp
+ X:02BDH SYMBOL j
+ X:02BFH SYMBOL c_cur
+ X:02C0H SYMBOL vol5per
+ X:02C2H SYMBOL tempfcc
+ ------- ENDDO
+ C:1B8BH LINE# 70
+ C:1B8BH LINE# 71
+ C:1B8BH LINE# 73
+ C:1B92H LINE# 74
+ C:1B96H LINE# 75
+ C:1B98H LINE# 76
+ C:1B9CH LINE# 77
+ C:1BA0H LINE# 79
+ C:1BCCH LINE# 80
+ C:1BCCH LINE# 81
+ C:1BDBH LINE# 82
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 108
+
+
+ C:1BE9H LINE# 83
+ C:1C4EH LINE# 84
+ C:1C65H LINE# 85
+ C:1C65H LINE# 86
+ C:1C78H LINE# 87
+ C:1C7AH LINE# 88
+ C:1CB7H LINE# 89
+ C:1CB7H LINE# 90
+ C:1CDFH LINE# 91
+ C:1CDFH LINE# 92
+ C:1D01H LINE# 94
+ C:1D0FH LINE# 95
+ C:1D0FH LINE# 96
+ C:1D28H LINE# 97
+ C:1D2AH LINE# 98
+ C:1D4CH LINE# 99
+ C:1D4CH LINE# 100
+ C:1D56H LINE# 101
+ C:1D58H LINE# 103
+ C:1D58H LINE# 104
+ C:1D74H LINE# 105
+ C:1D74H LINE# 106
+ C:1D83H LINE# 107
+ C:1D83H LINE# 108
+ C:1D92H LINE# 109
+ C:1D92H LINE# 110
+ C:1D92H LINE# 111
+ C:1DDFH LINE# 112
+ C:1DDFH LINE# 113
+ C:1DFBH LINE# 114
+ C:1E2BH LINE# 115
+ C:1E5AH LINE# 117
+ C:1E90H LINE# 118
+ C:1E90H LINE# 119
+ C:1EA2H LINE# 120
+ C:1EA2H LINE# 121
+ C:1EA4H LINE# 122
+ C:1EA6H LINE# 123
+ C:1EA8H LINE# 124
+ C:1EA8H LINE# 125
+ C:1EABH LINE# 126
+ C:1EE2H LINE# 127
+ C:1EE2H LINE# 128
+ C:1EF4H LINE# 129
+ C:1EF4H LINE# 130
+ C:1EF6H LINE# 131
+ C:1EF8H LINE# 132
+ C:1EFAH LINE# 133
+ C:1EFAH LINE# 134
+ C:1EFDH LINE# 135
+ C:1F2CH LINE# 136
+ C:1F2CH LINE# 137
+ C:1F3BH LINE# 138
+ C:1F3BH LINE# 139
+ C:1F3DH LINE# 140
+ C:1F3FH LINE# 141
+ C:1F41H LINE# 142
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 109
+
+
+ C:1F41H LINE# 143
+ C:1F43H LINE# 144
+ C:1F78H LINE# 145
+ C:1F78H LINE# 146
+ C:1F87H LINE# 147
+ C:1F87H LINE# 148
+ C:1F89H LINE# 149
+ C:1F8BH LINE# 150
+ C:1F8DH LINE# 151
+ C:1F8DH LINE# 152
+ C:1F8FH LINE# 154
+ C:1F8FH LINE# 155
+ C:1F91H LINE# 156
+ C:1F93H LINE# 157
+ C:1F93H LINE# 159
+ C:1FA2H LINE# 160
+ C:1FA2H LINE# 161
+ C:1FB0H LINE# 162
+ C:1FB0H LINE# 163
+ C:1FB2H LINE# 164
+ C:1FB4H LINE# 165
+ C:1FBCH LINE# 166
+ C:1FBCH LINE# 167
+ C:1FD8H LINE# 168
+ C:1FD9H LINE# 170
+ C:1FD9H LINE# 171
+ C:1FE8H LINE# 172
+ C:1FE8H LINE# 173
+ C:1FE8H LINE# 174
+ C:1FE8H LINE# 175
+ C:1FE8H LINE# 176
+ ------- ENDPROC CORRECTDSGSOC
+ ------- PROC DATAFILTER
+ ------- DO
+ X:02BBH SYMBOL dsoc
+ X:02BCH SYMBOL Filter_dsoc
+ X:02C0H SYMBOL k
+ X:02C4H SYMBOL difvol
+ D:0003H SYMBOL difsoc
+ D:0004H SYMBOL curspeed
+ D:0006H SYMBOL ucrsocdectime
+ X:02C5H SYMBOL curratio
+ ------- ENDDO
+ C:16B1H LINE# 184
+ C:16B1H LINE# 185
+ C:16B1H LINE# 187
+ C:16BBH LINE# 188
+ C:16C5H LINE# 195
+ C:16D9H LINE# 197
+ C:16F0H LINE# 198
+ C:16F0H LINE# 199
+ C:1721H LINE# 200
+ C:1721H LINE# 201
+ C:1740H LINE# 202
+ C:1740H LINE# 203
+ C:1756H LINE# 204
+ C:1785H LINE# 205
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 110
+
+
+ C:17B3H LINE# 206
+ C:17C4H LINE# 207
+ C:180CH LINE# 208
+ C:180CH LINE# 209
+ C:183CH LINE# 210
+ C:183CH LINE# 211
+ C:183FH LINE# 213
+ C:183FH LINE# 214
+ C:1850H LINE# 215
+ C:1861H LINE# 216
+ C:186EH LINE# 217
+ C:186EH LINE# 218
+ C:1871H LINE# 219
+ C:189EH LINE# 220
+ C:189EH LINE# 221
+ C:18ADH LINE# 222
+ C:18ADH LINE# 223
+ C:18BEH LINE# 224
+ C:18CFH LINE# 225
+ C:18D9H LINE# 226
+ C:18D9H LINE# 227
+ C:18ECH LINE# 228
+ C:18ECH LINE# 229
+ C:191AH LINE# 230
+ C:191AH LINE# 231
+ C:1952H LINE# 232
+ C:1952H LINE# 233
+ C:1985H LINE# 234
+ C:1987H LINE# 236
+ C:1987H LINE# 237
+ C:198FH LINE# 238
+ C:198FH LINE# 239
+ C:199FH LINE# 240
+ C:199FH LINE# 241
+ C:19B4H LINE# 242
+ C:19B6H LINE# 244
+ C:19B6H LINE# 245
+ C:19BCH LINE# 246
+ C:19BCH LINE# 247
+ C:1A0FH LINE# 248
+ C:1A20H LINE# 249
+ C:1A3BH LINE# 251
+ C:1A47H LINE# 252
+ C:1A47H LINE# 253
+ C:1A55H LINE# 254
+ C:1A5AH LINE# 255
+ C:1A5AH LINE# 256
+ C:1A71H LINE# 257
+ C:1A96H LINE# 258
+ C:1A98H LINE# 260
+ C:1A98H LINE# 261
+ C:1AA6H LINE# 262
+ C:1AABH LINE# 263
+ C:1AABH LINE# 264
+ C:1AABH LINE# 265
+ C:1ABCH LINE# 266
+ C:1AE7H LINE# 267
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 111
+
+
+ C:1AE9H LINE# 268
+ C:1AFBH LINE# 269
+ C:1AFBH LINE# 270
+ C:1B0CH LINE# 271
+ C:1B1DH LINE# 272
+ C:1B25H LINE# 273
+ C:1B27H LINE# 275
+ C:1B27H LINE# 276
+ C:1B38H LINE# 277
+ C:1B63H LINE# 278
+ C:1B63H LINE# 279
+ C:1B63H LINE# 280
+ C:1B73H LINE# 281
+ C:1B73H LINE# 282
+ C:1B7CH LINE# 283
+ C:1B7DH LINE# 284
+ C:1B83H LINE# 285
+ C:1B83H LINE# 286
+ C:1B8AH LINE# 287
+ C:1B8AH LINE# 288
+ ------- ENDPROC DATAFILTER
+ ------- ENDMOD GASGAUGELIB
+
+ ------- MODULE BOOTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ C:6725H PUBLIC ISPProcess
+ ------- PROC ISPPROCESS
+ C:6725H LINE# 18
+ C:6725H LINE# 19
+ C:6725H LINE# 20
+ C:672BH LINE# 21
+ C:672BH LINE# 22
+ C:672DH LINE# 23
+ C:672FH LINE# 24
+ C:6731H LINE# 25
+ C:6734H LINE# 26
+ C:6737H LINE# 27
+ C:6737H LINE# 28
+ ------- ENDPROC ISPPROCESS
+ ------- ENDMOD BOOTAPP
+
+ ------- MODULE DATAFLASH
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:8400H PUBLIC dataflash
+ ------- ENDMOD DATAFLASH
+
+ ------- MODULE ?C?FPADD
+ C:105DH PUBLIC ?C?FPADD
+ C:1059H PUBLIC ?C?FPSUB
+ ------- ENDMOD ?C?FPADD
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 112
+
+
+
+ ------- MODULE ?C?FPMUL
+ C:114EH PUBLIC ?C?FPMUL
+ ------- ENDMOD ?C?FPMUL
+
+ ------- MODULE ?C?FPDIV
+ C:1257H PUBLIC ?C?FPDIV
+ ------- ENDMOD ?C?FPDIV
+
+ ------- MODULE ?C?FCAST
+ C:12FEH PUBLIC ?C?FCASTC
+ C:12F9H PUBLIC ?C?FCASTI
+ C:12F4H PUBLIC ?C?FCASTL
+ ------- ENDMOD ?C?FCAST
+
+ ------- MODULE ?C?CASTF
+ C:1332H PUBLIC ?C?CASTF
+ ------- ENDMOD ?C?CASTF
+
+ ------- MODULE ?C?CLDPTR
+ C:13B3H PUBLIC ?C?CLDPTR
+ ------- ENDMOD ?C?CLDPTR
+
+ ------- MODULE ?C?IMUL
+ C:13CCH PUBLIC ?C?IMUL
+ ------- ENDMOD ?C?IMUL
+
+ ------- MODULE ?C?UIDIV
+ C:13DEH PUBLIC ?C?UIDIV
+ ------- ENDMOD ?C?UIDIV
+
+ ------- MODULE ?C?IILDX
+ C:1433H PUBLIC ?C?IILDX
+ ------- ENDMOD ?C?IILDX
+
+ ------- MODULE ?C?LADD
+ C:1449H PUBLIC ?C?LADD
+ ------- ENDMOD ?C?LADD
+
+ ------- MODULE ?C?LSUB
+ C:1456H PUBLIC ?C?LSUB
+ ------- ENDMOD ?C?LSUB
+
+ ------- MODULE ?C?LMUL
+ C:1464H PUBLIC ?C?LMUL
+ ------- ENDMOD ?C?LMUL
+
+ ------- MODULE ?C?ULDIV
+ C:14EFH PUBLIC ?C?ULDIV
+ ------- ENDMOD ?C?ULDIV
+
+ ------- MODULE ?C?SLDIV
+ C:5E8FH PUBLIC ?C?SLDIV
+ ------- ENDMOD ?C?SLDIV
+
+ ------- MODULE ?C?LOR
+ C:1581H PUBLIC ?C?LOR
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 113
+
+
+ ------- ENDMOD ?C?LOR
+
+ ------- MODULE ?C?LNEG
+ C:158EH PUBLIC ?C?LNEG
+ ------- ENDMOD ?C?LNEG
+
+ ------- MODULE ?C?SLCMP
+ C:159CH PUBLIC ?C?SLCMP
+ ------- ENDMOD ?C?SLCMP
+
+ ------- MODULE ?C?ULCMP
+ C:15B2H PUBLIC ?C?ULCMP
+ ------- ENDMOD ?C?ULCMP
+
+ ------- MODULE ?C?ULSHR
+ C:15C3H PUBLIC ?C?ULSHR
+ ------- ENDMOD ?C?ULSHR
+
+ ------- MODULE ?C?SLSHR
+ C:15D6H PUBLIC ?C?SLSHR
+ ------- ENDMOD ?C?SLSHR
+
+ ------- MODULE ?C?LSHL
+ C:15EAH PUBLIC ?C?LSHL
+ ------- ENDMOD ?C?LSHL
+
+ ------- MODULE ?C?LLDXDATA
+ C:15FDH PUBLIC ?C?LLDXDATA
+ ------- ENDMOD ?C?LLDXDATA
+
+ ------- MODULE ?C?LLDXDATA0
+ C:1609H PUBLIC ?C?LLDXDATA0
+ ------- ENDMOD ?C?LLDXDATA0
+
+ ------- MODULE ?C?LSTXDATA
+ C:1615H PUBLIC ?C?LSTXDATA
+ ------- ENDMOD ?C?LSTXDATA
+
+ ------- MODULE ?C?LSTKXDATA
+ C:1621H PUBLIC ?C?LSTKXDATA
+ ------- ENDMOD ?C?LSTKXDATA
+
+ ------- MODULE ?C?OFFXADD
+ C:1652H PUBLIC ?C?OFFXADD
+ ------- ENDMOD ?C?OFFXADD
+
+ ------- MODULE ?C?CCASE
+ C:165EH PUBLIC ?C?CCASE
+ ------- ENDMOD ?C?CCASE
+
+ ------- MODULE ?C?LIMUL
+ C:1684H PUBLIC ?C?LIMUL
+ ------- ENDMOD ?C?LIMUL
+
+ ------- MODULE LABS
+ C:679EH PUBLIC _LABS
+ ------- ENDMOD LABS
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 114
+
+
+
+
+
+FUNCTION REGISTER MASKS
+
+
+FUNCTION . . . . . . . . . REG MASK
+-----------------------------------
+
+AFEADCDIS. . . . . . . . . @0xf7ff
+AFEADCEN . . . . . . . . . @0xf7ff
+AFECADCDIS . . . . . . . . @0xf7ff
+AFECADCEN. . . . . . . . . @0xf7ff
+AFECHGERCHECKDIS . . . . . @0xf7ff
+AFECHGERCHECKEN. . . . . . @0xf7ff
+AFECLRFLG. . . . . . . . . @0xf7ff
+AFEENTERPD . . . . . . . . @0xf7ff
+AFEGETTEMPE. . . . . . . . @0xf7ff
+AFEGETVOL. . . . . . . . . @0xf7ff
+AFEINIT. . . . . . . . . . @0xf7ff
+AFELOADCHECKDIS. . . . . . @0xf7ff
+AFELOADCHECKEN . . . . . . @0xf7ff
+AFERAMCHECK. . . . . . . . @0xf7ff
+AFERDFLG . . . . . . . . . @0xf7ff
+AFERDSTATUS. . . . . . . . @0xf7ff
+AFETEMPADCDIS. . . . . . . @0xf7ff
+AFETEMPADCEN . . . . . . . @0xf7ff
+AFETWICHECK. . . . . . . . @0xf300
+AFEWDTDIS. . . . . . . . . @0xf7ff
+AFEWDTEN . . . . . . . . . @0xf7ff
+BALPROCESS . . . . . . . . @0xf7ff
+CALICURZERO. . . . . . . . @0xe301
+CALIRTCTIME. . . . . . . . @0xf7ff
+CHGERCHECK . . . . . . . . @0xf7ff
+CLRRAM . . . . . . . . . . @0xf383
+CTOCHECKVOL. . . . . . . . @0xf300
+CTOTURNONCHECK . . . . . . @0xf300
+E2PROMBKBOOT . . . . . . . @0xf7ff
+E2PROMINIT . . . . . . . . @0xf7ff
+E2PROMTWICHECK . . . . . . @0xf300
+IAPCHECKHANDSHAKE. . . . . @0xf7bf
+INITGPIO . . . . . . . . . @0x8000
+INITIRQ. . . . . . . . . . @0xe000
+INITVAR. . . . . . . . . . @0xf797
+INTERRUPTINT4. . . . . . . @0xf003
+INTERRUPTTIMER3. . . . . . @0xf300
+INTERRUPTTIMER3APP . . . . @0xf300
+INTERRUPTUARTAPPTX . . . . @0xf38f
+KEYSCAN. . . . . . . . . . @0xf000
+LEDAUTOOFF . . . . . . . . @0xf300
+LEDDISPLAY . . . . . . . . @0xf303
+LOADCHECK. . . . . . . . . @0xf7ff
+LOWPOWERCHECK. . . . . . . @0xf301
+LOWPOWERPROCESS. . . . . . @0xf7ff
+MCUFLASHPROCESS. . . . . . @0xf7bf
+MCUFLASHWRWAITCHECK. . . . @0xf300
+MCUINTOIDLE. . . . . . . . @0xc000
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 115
+
+
+MCUINTOPD. . . . . . . . . @0xc000
+MOSCTRL. . . . . . . . . . @0xf7ff
+MOSSTATUSCHECK . . . . . . @0xc000
+PORPROTECTOTC. . . . . . . @0xf78f
+PORPROTECTOTD. . . . . . . @0xf78f
+PORPROTECTOV . . . . . . . @0xf782
+PORPROTECTUTC. . . . . . . @0xf78f
+PORPROTECTUTD. . . . . . . @0xf78f
+PORPROTECTUV . . . . . . . @0xf782
+PROTECTOCRECOVER . . . . . @0xf7ff
+PROTECTOTC . . . . . . . . @0xf7af
+PROTECTOTD . . . . . . . . @0xf7af
+PROTECTOV. . . . . . . . . @0xf78b
+PROTECTUTC . . . . . . . . @0xf7af
+PROTECTUTD . . . . . . . . @0xf7af
+PROTECTUV. . . . . . . . . @0xf78b
+RAMCHECKPROCESS. . . . . . @0xf300
+READSUBCLASSID . . . . . . @0xf375
+RTCTWICHECK. . . . . . . . @0xf300
+SYSPARAINIT. . . . . . . . @0xffbf
+SYSTEMINTOPD . . . . . . . @0xf7ff
+SYSTEMINTOSLEEP. . . . . . @0xf7ff
+UARTCALICUROFFSET. . . . . @0xf375
+UARTCALIRTC. . . . . . . . @0xf377
+UARTCALITS1. . . . . . . . @0xf377
+UARTCALITS2. . . . . . . . @0xf377
+UARTCALIVOLTAGE. . . . . . @0xf377
+UARTCHECK. . . . . . . . . @0xf300
+UARTHANDSHAKE. . . . . . . @0xe300
+UARTRDCMDPROCESS . . . . . @0xf3ff
+UARTRDE2PROM . . . . . . . @0xf7ff
+WAKEUPPROCESS. . . . . . . @0xf7ff
+WRITEMANUFACTURE . . . . . @0xf375
+_AFEALARMDIS . . . . . . . @0xf7ff
+_AFEALARMEN. . . . . . . . @0xf7ff
+_AFEBALCTL . . . . . . . . @0xf7ff
+_AFEMOSCTL . . . . . . . . @0xf7ff
+_AFEREADREG. . . . . . . . @0xf7ff
+_AFEWRITEREG . . . . . . . @0xf7ff
+_CRC8CAL . . . . . . . . . @0xf365
+_DELAY1MS. . . . . . . . . @0xf03e
+_E2PROMREAD. . . . . . . . @0xf7ff
+_E2PROMWRITE . . . . . . . @0xf7ff
+_INTERRUPTINT4APP. . . . . @0xf003
+_LEDGETDISNUM. . . . . . . @0xf001
+_MCUCLOCKSET . . . . . . . @0xf003
+_MCUFLASHBLANKCHECK. . . . @0xf31c
+_MCUFLASHCHECKFLG. . . . . @0xf303
+_MCUFLASHDATACHECK . . . . @0xf7af
+_MCUFLASHREAD. . . . . . . @0xf307
+_MCUFLASHWRITE . . . . . . @0xf7bf
+_MCUFLASHWRONEBYTE . . . . @0xf035
+_MCUFLASHWRSECTOR. . . . . @0xf33f
+_MEMORYCOPY. . . . . . . . @0xf78d
+_MEMORYSET . . . . . . . . @0xf781
+_RTCMODIFYTIME . . . . . . @0xf7ff
+_RTCREAD . . . . . . . . . @0xf7ff
+BL51 BANKED LINKER/LOCATER V6.22 06/21/2022 07:40:42 PAGE 116
+
+
+_RTCWRITE. . . . . . . . . @0xf7ff
+_TWICHECKSTATUS. . . . . . @0xf00c
+_TWIINIT . . . . . . . . . @0xf48f
+_TWIREAD . . . . . . . . . @0xf7ff
+_TWIWRITE. . . . . . . . . @0xf7ff
+_UARTREADINFO. . . . . . . @0xf37f
+_UARTWRITEINFO . . . . . . @0xf7ff
+
+Program Size: data=143.6 xdata=1080 code=23457
+LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/McuFlash_ISP b/output/McuFlash_ISP
new file mode 100644
index 0000000..b045a90
Binary files /dev/null and b/output/McuFlash_ISP differ
diff --git a/output/McuFlash_ISP.ORC b/output/McuFlash_ISP.ORC
new file mode 100644
index 0000000..269c7fa
--- /dev/null
+++ b/output/McuFlash_ISP.ORC
@@ -0,0 +1,117 @@
+F7FF AFEADCDIS
+F7FF AFEADCEN
+F7FF AFECADCDIS
+F7FF AFECADCEN
+F7FF AFECHGERCHECKDIS
+F7FF AFECHGERCHECKEN
+F7FF AFECLRFLG
+F7FF AFEENTERPD
+F7FF AFEGETTEMPE
+F7FF AFEGETVOL
+F7FF AFEINIT
+F7FF AFELOADCHECKDIS
+F7FF AFELOADCHECKEN
+F7FF AFERAMCHECK
+F7FF AFERDFLG
+F7FF AFERDSTATUS
+F7FF AFETEMPADCDIS
+F7FF AFETEMPADCEN
+F300 AFETWICHECK
+F7FF AFEWDTDIS
+F7FF AFEWDTEN
+F7FF BALPROCESS
+E301 CALICURZERO
+F7FF CALIRTCTIME
+F7FF CHGERCHECK
+F300 CTOCHECKVOL
+F300 CTOTURNONCHECK
+F7FF E2PROMBKBOOT
+F7FF E2PROMINIT
+F300 E2PROMTWICHECK
+FFBF GASGAUGEVARIN
+FF8F GASGAUGEVAROUT
+C000 INITGPIO
+E000 INITIRQ
+F797 INITVAR
+F003 INTERRUPTINT4
+F300 INTERRUPTTIMER3
+F300 INTERRUPTTIMER3APP
+F38F INTERRUPTUART0APPTX
+F000 KEYSCAN
+F300 LEDAUTOOFF
+F303 LEDDISPLAY
+F7FF LOADCHECK
+F301 LOWPOWERCHECK
+F7FF LOWPOWERPROCESS
+F7BF MCUFLASHPROCESS
+F300 MCUFLASHWRWAITCHECK
+C000 MCUINTOIDLE
+C000 MCUINTOPD
+F7FF MOSCTRL
+C000 MOSSTATUSCHECK
+F78F PORPROTECTOTC
+F78F PORPROTECTOTD
+F782 PORPROTECTOV
+F78F PORPROTECTUTC
+F78F PORPROTECTUTD
+F782 PORPROTECTUV
+F7FF PROTECTOCRECOVER
+F7AF PROTECTOTC
+F7AF PROTECTOTD
+F7FF PROTECTOV
+F7AF PROTECTUTC
+F7AF PROTECTUTD
+F78B PROTECTUV
+F300 RAMCHECKPROCESS
+F300 RTCTWICHECK
+FFBF SYSPARAINIT
+F7FF SYSTEMINTOPD
+F7FF SYSTEMINTOSLEEP
+E000 TWIINIT
+F375 UART0CALICUROFFSET
+F377 UART0CALIRTC
+F377 UART0CALITS1
+F377 UART0CALITS2
+F377 UART0CALIVOLTAGE
+F300 UART0CHECK
+E300 UART0HANDSHAKE
+F7BF UART0IAPCHECKHANDSHAKE
+E000 UART0INIT
+F3FF UART0RDCMDPROCESS
+F7FF UART0RDE2PROM
+F375 UART0READSUBCLASSID
+F375 UART0WRITEMANUFACTURE
+F7FF UART1RDE2PROM
+F7FF UART2RDE2PROM
+F7FF WAKEUPPROCESS
+F7FF _AFEALARMDIS
+F7FF _AFEALARMEN
+F7FF _AFEBALCTL
+F7FF _AFEMOSCTL
+F7FF _AFEREADREG
+F7FF _AFEWRITEREG
+F365 _CRC8CAL
+F03E _DELAY1MS
+F7FF _E2PROMREAD
+F7FF _E2PROMWRITE
+F7CF _GETCYCLEGAIN
+F003 _INTERRUPTINT4APP
+F001 _LEDGETDISNUM
+F003 _MCUCLOCKSET
+F31C _MCUFLASHBLANKCHECK
+F303 _MCUFLASHCHECKFLG
+F7AF _MCUFLASHDATACHECK
+F307 _MCUFLASHREAD
+F7BF _MCUFLASHWRITE
+F035 _MCUFLASHWRONEBYTE
+F33F _MCUFLASHWRSECTOR
+F78D _MEMORYCOPY
+F781 _MEMORYSET
+F7FF _RTCMODIFYTIME
+F7FF _RTCREAD
+F7FF _RTCWRITE
+F00C _TWICHECKSTATUS
+F7FF _TWIREAD
+F7FF _TWIWRITE
+F37F _UART0READINFO
+F7FF _UART0WRITEINFO
diff --git a/output/McuFlash_ISP.build_log.htm b/output/McuFlash_ISP.build_log.htm
new file mode 100644
index 0000000..613509d
--- /dev/null
+++ b/output/McuFlash_ISP.build_log.htm
@@ -0,0 +1,66 @@
+
+
+
+礦ision Build Log
+Tool Versions:
+IDE-Version: μVision V5.22.0.0
+Copyright (C) 2016 ARM Ltd and ARM Germany GmbH. All rights reserved.
+License Information: yang Microsoft, Microsoft, LIC=58E4T-RQU60-GVC1T-RJBYK-PG19C-5N7J7
+
+Tool Versions:
+Toolchain: PK51 Prof. Developers Kit Version: 9.01
+Toolchain Path: C:\Keil_v5\C51\BIN
+C Compiler: C51.exe V9.01
+Assembler: A51.exe V8.02
+Linker/Locator: BL51.exe V6.22
+Library Manager: LIB51.exe V4.24
+Hex Converter: OH51.exe V2.6
+CPU DLL: S8051.DLL V3.72
+Dialog DLL: DP51.DLL V2.59
+Target DLL: SH51A.dll V1.0.0.0
+Dialog DLL: TP51.DLL V2.58
+
+Project:
+C:\Users\wenhua.wang\Desktop\demo方案&user guide优化\SH39F003&F004_DemoCode_V2.15_20231213\SH39F003&F004_DemoCode_V2.15_20231222\SH39F003&F004_DemoCode_V2.15_20231213\MCUCore.uvproj
+Project File Date: 12/22/2023
+
+Output:
+Rebuild target 'McuFlahs_ISP'
+compiling Main.c...
+compiling Initial.c...
+compiling InterruptApp.c...
+compiling Led.c...
+compiling KeyApp.c...
+compiling LowPower.c...
+compiling UartApp.c...
+compiling Memory.c...
+compiling AFE.c...
+compiling Balance.c...
+compiling Calculate.c...
+compiling Calibrate.c...
+compiling ChargerLoad.c...
+compiling ExtE2PRom.c...
+compiling Interrupt.c...
+compiling KeyScan.c...
+compiling McuFlash.c...
+compiling McuLib.c...
+compiling MosCtrl.c...
+compiling PorSelfTest.c...
+compiling Protect.c...
+compiling RTC.c...
+compiling TWI.c...
+compiling Uart.c...
+compiling Thermistor.c...
+compiling TwiIO.c...
+assembling STARTUP.A51...
+compiling GasGaugeInter_V4_13.c...
+compiling BootApp.c...
+compiling DataFlash.c...
+linking...
+Program Size: data=151.4 xdata=1528 code=26615
+creating hex file from ".\output\McuFlash_ISP"...
+".\output\McuFlash_ISP" - 0 Error(s), 0 Warning(s).
+Build Time Elapsed: 00:00:03
+
+
+
diff --git a/output/McuFlash_ISP.hex b/output/McuFlash_ISP.hex
new file mode 100644
index 0000000..32505dd
--- /dev/null
+++ b/output/McuFlash_ISP.hex
@@ -0,0 +1,1827 @@
+:10587600126561126F2B306D2353B1F8C26D12722F
+:10588600961273ED12712C126D7D1265131267B7A5
+:10589600126F5B1258EE124D5F127282306C22C28A
+:1058A6006C121C7A125DF91271F812716912718606
+:1058B600125D30400312515712726D124531125368
+:1058C600C2126F881271A31263881246C8124E0C58
+:1058D600126C0B900206E524F0A3E525F0A3E52261
+:0858E600F0A3E523F0808C2201
+:106B48009005367401F07E027F3C7B40E4FD126FB5
+:106B5800DF7E027F0A7B14E4126FDF900224740A3E
+:106B6800F0A374ABF0A3740AF0A374ABF0C22CC208
+:106B78002D90053F7402F0D22ED27B90027C745087
+:026B8800F022F9
+:105157007FFE7E01127009501F7B007A02E4FDFC7E
+:10516700FFFE125F187FFE7E03127009402CE4FDDC
+:10517700FF7E0212532B80227FFE7E03127009509E
+:10518700167B007A02E4FDFCFF7E02125F18E4FD45
+:10519700FFFE12532B8003D26E22900000E0F52011
+:1051A700A3E0F521900238E520F0A3E521F0900077
+:1051B7001A12259A90022C122600900022E0FFA3D3
+:1051C700E0900236CFF0A3EFF0E52154072403F572
+:1051D7001364056005E513B40A04E4F51422E51326
+:1051E70064046005E513B4090475140122751402FB
+:0151F7002295
+:10714B00C2AFD2ACC086758640C28FD086D2AD435B
+:0E715B00BA6043E840E4F5D843A908D2AF2259
+:106FB40075803875E10F75E90875908075E27F7505
+:106FC400EA8075A0E075E33F75EBC075B01975E410
+:0B6FD400E675EC194380C043E9802201
+:10656100E4FF126295126FB4125157126B487D0508
+:106571007C007F44123EEC1271DC1272417D647F1B
+:10658100A07E0F1257781255F01255694002D25A67
+:10659100126D063007121257F94002D2397E047F7C
+:0C65A100971254504002D27812714B2225
+:10102E00EFB4200E206303306619E4FF126295D2EE
+:10103E006522EFB4400D206303306607E4FF1262B1
+:04104E0095D26522B0
+:1070C900D26B9003FFE004F0C3940A4004E4F0D2C9
+:1070D9006D9003FEE004F0C394C84004E4F0D26C60
+:0470E9001250B5226A
+:106C4B00D3EF9450EE940040037F0522D3EF943C96
+:106C5B00EE940040037F0422D3EF9428EE9400407F
+:106C6B00037F0322D3EF9414EE940040037F0222A0
+:0F6C7B00D3EF9400EE940040037F01227F0022AC
+:1072AA0030710F90053EE004F0C394644004E4F0AA
+:0372BA00C271227C
+:104D5F00302A1490053CE004F0C3940A400BE4F0B1
+:104D6F00A2B5B392B58002C2B530721490053DE082
+:104D7F0004F0C39405400BE4F0A2A0B392A080020C
+:104D8F00C2A0307167900234E0FEA3E0FF126C4BBB
+:104D9F00EF700D207202C2A0C2A1C2A2C2A3C2A410
+:104DAF00EFB40107207252D2A0804EEFB402092057
+:104DBF007202D2A0D2A18041EFB4030B207202D2B3
+:104DCF00A0D2A1D2A28032EFB4040D207202D2A0E1
+:104DDF00D2A1D2A2D2A38021EF6405701C2072024F
+:104DEF00D2A0D2A1D2A2D2A3D2A4800D207202C28D
+:0C4DFF00A0C2A1C2A2C2A3C2A41272AA48
+:014E0B002284
+:105CCA00C22CC22DC22E302B5690053FE07018040C
+:105CDA00F0D22D900089E0FEA3E0FF90008CE0FD59
+:105CEA0012577843B7012290053FE0B401167402B7
+:105CFA00F0D22E900089E0FEA3E0FF7D641257786F
+:105D0A0043B70122E490053FF0D22C900089E0FECF
+:105D1A00A3E0FF90008BE0FD12577843B70122C23F
+:065D2A002CC22DC22E2246
+:106F2B00307A2CC27AE50824FE600F24F160161427
+:106F3B00601024117019125CCA22D271E490053EC4
+:106F4B00F022D26322B272307203C28322D2832226
+:106BCB0030653CC265306624E4FF126295D2AFC2D9
+:106BDB0066E49005E8F07F01126890D2ACD2ADD29A
+:106BEB00CE7F7012722A12737B127309E49005E840
+:106BFB00F0A3F09003F6F09003F7F09003F8F02277
+:10710D0053B1F8C2AF207202C2A0C2A1C2A2C2A3E3
+:0F711D00C2A4D283E4FF12725812705780E2228C
+:106B0500207202C2A0C2A1C2A2C2A3C2A4D283C2E1
+:106B15007212731C12738E7F701273B3C2CE53B789
+:106B25007E302904D2A58002C2A57F01126890C2D9
+:106B3500AFC2ACC2ADE4F5D87F80126295D2AF1278
+:036B450073E122D7
+:1053C20030640E204306204403304505C264D26394
+:1053D2002230161490002AE0FF9005E9E004F0C3A1
+:1053E2009F406AEFF0D2632220715B202A50202B6B
+:1053F2004D30191490002AE0FF9005E9E004F0C353
+:105402009F404AEFF0D26322E49005E9F0A21272C3
+:10541200107218721A721172137219721B721C7244
+:10542200157272401390002AE0FF9005E8E004F044
+:105432009F401AEFF0D26622E49005E8F022E49051
+:0E54420005E8F0A3F022E49005E8F0A3F022C4
+:106C0B00206626206323C2AFA279727A726F7265F7
+:106C1B00724C726D726C400D9005EAE06412600567
+:106C2B00D2AF1273D5D2AF801330630AD26F124634
+:106C3B00C812710D8006306603126B05126BCB22E6
+:10680000000000300062007400000089008E0099D2
+:1068100000A200AA00BB00BF00FE000000000000B4
+:10682000000000000020005000820094000000A939
+:1068300000AE00B900C200CA00DB00DF011E00008C
+:08684000000000000000000050
+:1073A100900402E07006C29C75995A22C29C75999C
+:0273B100FF22B9
+:085964009002B7EEF0A3EFF092
+:10596C007B017A047900900402E02403FD1271C0DB
+:10597C00900402E02403F582E43404F583E06F70B4
+:10598C0041FF900402E0FEEFC39E502953B1F8741E
+:10599C00032FF582E43404F583E0FE9002B7E0FCBB
+:1059AC00A3E0F5828C83EEF09002B7E475F001125F
+:1059BC0023C40F80CDD270E49005F3F0C29C75998E
+:0759CC005A22C29C7599FFED
+:0159D30022B1
+:105D9600900402E0D3948C4002E4F0E4FD90040207
+:105DA600E0FCEDC39C501D53B1F88F828E83E0FB5F
+:105DB60074032DF582E43404F583EBF00FBF000184
+:105DC6000E0D80D97B017A047900EC2403FD127153
+:105DD600C0900402E02403F582E43404F583EFF076
+:105DE600C29C9003F9E02400F582E43404F583E0D4
+:025DF600F5991D
+:015DF8002288
+:1069AE007B017A047900900402E02403FD1271C089
+:1069BE00900402E02403F582E43404F583E0B50785
+:1069CE001E900404E0FFB441089005EA7412F080B2
+:1069DE0006EFB40502D264C243C29C75995A22C214
+:0569EE009C7599FF22D9
+:106DB8007B017A047900900402E02403FD1271C07B
+:106DC800900402E02403F582E43404F583E0B50777
+:106DD80010900403E09003F1F0C243C29C75995AE5
+:076DE80022C29C7599FF22F5
+:1039CF00900401E0FF1226623A23013A23023A23C0
+:1039DF00033A23043A23053A23063A23073A2308E6
+:1039EF003A23093A230A3A340B3A440C3A4C0D3A2B
+:1039FF00540E3A5C0F3A3C103A64113A6C123A7416
+:103A0F00133A7C143A84153A8C163A94173A9C1848
+:103A1F0000003AA4EF25E02408F582E43402AF82D7
+:103A2F00FE125D96227E027F1E125D96227E027F1F
+:103A3F0020125D96227E027F24125D96227E027FE7
+:103A4F0026125D96227E027F28125D96227E027FCD
+:103A5F002A125D96227E027F2C125D96227E027FB5
+:103A6F0030125D96227E027F34125D96227E027F97
+:103A7F0036125D96227E027F06125D96227E027FAF
+:103A8F0008125D96227E027F38125D96227E027F9B
+:103A9F003A125D9622900402E0C394804009D23A14
+:103AAF009003E17401F022900401E0B478109003C8
+:103ABF00F1E0B40C09D23A9003EE7401F0229004B5
+:103ACF0001E0B478229003F1E025E02400F582E4D0
+:103ADF003468F583E493FE740193FF9002B5EEF022
+:103AEF00A3EFF0125D9622900401E0B479219003C8
+:103AFF00F1E025E02424F582E43468F583E493FEB5
+:0F3B0F00740193FF9002B5EEF0A3EFF0125D96F4
+:013B1E002284
+:106243007B017A047900900402E02403FD1271C0FB
+:10625300900402E02403F582E43404F583E06F70D4
+:106263002B900403E0FEA3E0FDEEEDFF9005DFEECF
+:10627300F0A3EFF04E7006C29C7599FF22D279907D
+:1062830005DAE04401F0C29C75995A22C29C7599C3
+:02629300FF22E8
+:104789007B017A047900900402E02403FD1271C0D0
+:10479900900402E02403F582E43404F583E06F60B9
+:1047A90003024840900404E0FFE4FCFDFE78101287
+:1047B900257BC004C005C006C007900403E0FFE4E0
+:1047C900FCFDFE781812257BD003D002D001D00061
+:1047D900122512C004C005C006C007900405E0FFF9
+:1047E900E4FCFDFE780812257BD003D002D001D06D
+:1047F90000122512A804A905AA06AB07A3E0FFE445
+:10480900FCFDFE1225129005D61226009002A1E0A9
+:104819007002A3E0600C9005D612259AEC4D4E4F1C
+:104829007006C29C7599FF22D2799005DAE044108E
+:0D483900F0C29C75995A22C29C7599FF220D
+:106DEF007B017A047900900402E02403FD1271C044
+:106DFF00900402E02403F582E43404F583E0B50740
+:106E0F000FD2799005DAE04420F0C29C75995A228E
+:066E1F00C29C7599FF22E0
+:106725007B017A047900900402E02403FD1271C014
+:10673500900402E02403F582E43404F583E06F70ED
+:1067450022D279900403E0FEA3E0FDEEEDFF900573
+:10675500DBEEF0A3EFF09005DAE04404F0C29C759F
+:09676500995A22C29C7599FF2289
+:10676E007B017A047900900402E02403FD1271C0CB
+:10677E00900402E02403F582E43404F583E06F70A4
+:10678E0022D279900403E0FEA3E0FDEEEDFF90052A
+:10679E00DDEEF0A3EFF09005DAE04408F0C29C7550
+:0967AE00995A22C29C7599FF2240
+:1061EF007B017A047900900402E02403FD1271C050
+:1061FF00900402E02403F582E43404F583E06F7029
+:10620F002DFF74032FF582E43404F583E0FE74E16F
+:10621F002FF582E43405F583EEF00FEFB407E3D2E8
+:10622F00799005DAE04480F0C29C75995A22C29C9D
+:03623F007599FF4F
+:016242002239
+:10500E00900401E0122662503A18503E77505A78BA
+:10501E00507C795046A0504EA15052A25042A350FF
+:10502E004AA45056AF509EB0000050B41269AE2242
+:10503E00126DB8221247892212624322126DEF229C
+:10504E001267252212676E221261EF229003F1E0A1
+:10505E0025E02400F582E43468F583E493FE7401C0
+:10506E0093FF9002B5EEF0A3EFF012596422900375
+:10507E00F1E025E02424F582E43468F583E493FE20
+:10508E00740193FF9002B5EEF0A3EFF01259642273
+:10509E00900403E0B4550AD23AD238C29C75995A9C
+:0650AE0022C29C7599FF6F
+:0150B40022D9
+:10386800E49002B5F0A3F09003F9E0FFB4021A90D7
+:103878000401E064A56006E49003F9F022E49003F3
+:10388800FCF0A3F09003F2F022900402E0FD7C002B
+:103898002409FBEC33FA7E00C3EF9BEA6480F874DA
+:1038A8008098505FED2407FDEC33FCD3EF9DEC646A
+:1038B80080F874809850189003F9E024FFF582E4AA
+:1038C8003403F583E0FF9003FCEE8FF01223C490DD
+:1038D80003F9E0FFB40511900404E06407700302E3
+:1038E80039CEE49003F9F022EF640660030239CE82
+:1038F800900405E0640670030239CE9003F2E044B8
+:1039080020F022E49003F9F0900402E0FD2408F589
+:1039180082E43404F583E0FE74072DF582E4340470
+:10392800F583E07C002400FFEC3EFE9003FCE06E93
+:103938007003A3E06F60079003F2E04480F0900307
+:10394800F2E0FF6006900406F08007D24CE4900491
+:1039580006F0E4900402F0900405740BF090040360
+:10396800E0FFA3E0900403F0A3EFF07F02900402CD
+:10397800E0FE2407FDE433FCEFC39DEC6480F8749B
+:103988008098501874002FF582E43404F583E0FD24
+:103998009002B5E48DF01223C40F80D19002B5E0F7
+:1039A800FCA3E0FF74072EF582E43404F583EFF0FE
+:1039B800ECFF900402E02408F582E43404F583EF78
+:0639C800F0C29C75995A43
+:0139CE0022D6
+:105294009003F9E02400F582E43404F583EFF09000
+:1052A40003F9E004F0E0C3948C4002E4F09003F9C5
+:1052B400E064017027900400E0FF54FEB59A10EFFB
+:1052C40020E006D246C2498013D249C246800D90DE
+:1052D4000400E0645A6005E49003F9F030460D9050
+:1052E40003F9E0640370301239CF802B30492590E4
+:1052F4000402E02403FFE433FE9003F9E0D39FEEBD
+:105304006480F8748098400F12500EC249E49003F0
+:10531400F9F08003123868C243E49005E8F0900580
+:07532400E9F09003F6F0220E
+:104EB800900400E0B45A06A3E064A56003304C44B3
+:104EC800900402E02408FFE433FE9003F9E0C39F56
+:104ED800EE6480F87480984014D29CE4F0C2469046
+:104EE8000400F0A3F0A3F0A3F0D24380609003F98C
+:104EF800E004F0C29CE02400F582E43404F583E089
+:104F0800F59980499003F9E0FF6016900402E024C7
+:104F180003FDE433FCC3EF9DEC6480F87480984093
+:104F280017D29CE49003F9F0C246900400F0A3F075
+:104F3800A3F0A3F0D24380159003F9E004F0C29CDB
+:104F4800E02400F582E43404F583E0F599E4900563
+:0B4F5800E8F09005E9F09003F6F0226D
+:107282009003F6E004F0C394044008E4F09003F99C
+:04729200F0D29C2278
+:1071F800305C119002B1E004F0C39405400BD25A00
+:0A7208007405F022E49002B1F022B8
+:0E4F63009002C0EFF0A3EDF0A3EAF0A3EBF094
+:104F7100C254E4A3F0305A03025006A3F09002C1D8
+:104F8100E0FF9002C5E0C39F507B9002C4E0FF04A4
+:104F9100F0EFC39405503E9002C0E0FD7C0090020A
+:104FA100F97401F0A3F09002C2E0FFA3E09002FBCC
+:104FB100CFF0A3EFF0E4FB7F36123B1F9254305445
+:104FC10004801280C5E4F5C87F0112689012724115
+:104FD10012689080B59002C4E0C394054004802516
+:104FE1008015E49002C4F09002C0E004F09002C287
+:104FF100E475F0011223C47F011268909002C5E0AC
+:0C50010004F0024F7EA254B3925CA25453
+:01500D002280
+:0E5B8B009002C3EFF0A3EDF0A3EAF0A3EBF05D
+:105B9900C254E4A3F0205A4D9002C7E0FF04F0EF8D
+:105BA900C3940550409002C3E0FD7C00A3E090023D
+:105BB900EFF0A37401F09002C5E0FFA3E09002F1B9
+:105BC900CFF0A3EFF0E4FB7F361230A492543054A7
+:105BD90004801280C3E4F5C87F01126890127241F3
+:0C5BE90012689080B3A254B3925CA254E6
+:015BF500228D
+:106D06007A027BA37D02E4FF125B8B502E9002A3D6
+:106D1600E07004A3E060249002A7E04480F07A02C9
+:106D26007BA77D017F04124F639002A7E0547FF09A
+:0C6D36007A027BA77D017F04124F6322CC
+:1055F000E49002A6F0A37450F0E4A3F0A374F8F0D2
+:10560000E4A3F0A3F0A37470F0A37401F0A37403F7
+:10561000F0A374FFF0E4A3F03000199002A7E04477
+:1056200008F09002ACE0FF9000BBE0540FFEEF4E9C
+:105630009002ACF030013E9002A7E04404F09002EA
+:10564000ADE0FF9000BBE054F0FEEF4E9002ADF0F5
+:105650009000BCE0FEA3E0FF7C007D32122688E4CF
+:105660007B257A01F9F8122480AD07AC06EC900294
+:05567000AEF0A3EFF015
+:015675002212
+:10556900D2539002BF7403F09002BFE0FF14F0EF32
+:1055790060727A027BA67D0B7F03124F63505C90A9
+:1055890002BE7403F09002BEE0FFD3940B504E7A32
+:10559900027BBC7D02125B8B9002BEE0FF7E007B2A
+:1055A9000124A3F9EE3402FA122344FD9002BCE06F
+:1055B900B5051374A42FF9EE3402FA122344FF90AF
+:1055C90002BDE06F600C9002BEE064076004C25344
+:1055D900800B9002BEE02402F080AAC253305388A7
+:0655E90080028084A25341
+:0155EF002299
+:106CC9007A027BA37D02E4FF125B8B502F9002A412
+:106CD900E0FF30E102D259EF30E002D25B9002A32B
+:106CE900E0FF30E307206804D215D26AEF30E202F0
+:0D6CF900D2149002A4E030E203125569228B
+:107212007A027BB97D027F02125B8B500A9002B91F
+:07722200E09002A5F0F52643
+:017229002242
+:105DF9009002BB7403F09002BBE0FFD3940B5050A8
+:105E09007A027BB97D02125B8B9002BBE0FF7E00B8
+:105E19007B0124A3F9EE3402FA122344FD9002B95E
+:105E2900E0B5051374A42FF9EE3402FA122344FFE6
+:105E39009002BAE06F60109002BBE064076008123C
+:105E49005569400CD263229002BBE02402F080A67F
+:015E59002226
+:107057009002B07433F07A027BB07D017F0D124F3E
+:107067006350129002A7E04420F07A027BA77D01CB
+:067077007F04124F6322AA
+:107258009002A8E054FCF04FF07A027BA87D017FF1
+:0572680005124F632236
+:1072BD009002A7E04401F07A027BA77D017F0412C2
+:0372CD004F6322EA
+:1072D0009002A7E054FEF07A027BA77D017F0412A2
+:0372E0004F6322D7
+:1072E3009002A7E04402F07A027BA77D017F04129B
+:0372F3004F6322C4
+:1072F6009002A7E054FDF07A027BA77D017F04127D
+:037306004F6322B0
+:106C8A009002BBEEF0A3EFF09002BBE0FEA3E07827
+:106C9A0005CEC313CE13D8F99002AAF07A027BAAC2
+:106CAA007D017F07124F6350159002BBE0A3E0906D
+:0F6CBA0002ABF07A027BAB7D017F08124F6322A1
+:107309009002A7E04410F07A027BA77D017F041266
+:037319004F63229D
+:10731C009002A7E054EFF07A027BA77D017F041264
+:03732C004F63228A
+:10732F009002A9E044F8F07A027BA97D017F061252
+:03733F004F632277
+:107342009002A9E05407F07A027BA97D017F061220
+:037352004F632264
+:107355009002A9E044E0F07A027BA97D017F061244
+:037365004F632251
+:107368009002A9E0541FF07A027BA97D017F0612E2
+:037378004F63223E
+:10737B009002A9E04408F07A027BA97D017F0612F6
+:03738B004F63222B
+:10738E009002A9E054F7F07A027BA97D017F0612E4
+:03739E004F632218
+:1073B3009002A6E04FF07A027BA67D017F03124F75
+:0273C300632243
+:10722A009002A6E0FEEFF4FFEE5FF07A027BA67D05
+:07723A00017F03124F6322E4
+:103C6600305E03023DA9305F03023DA92003030233
+:103C76003DA9E490053AF0A3F0C3900063E09512E5
+:103C8600900062E09511500330181ED3900065E055
+:103C96009512900064E09511400320180C2010093D
+:103CA600201206201103301308C260E4900539F093
+:103CB60022C39000A3E095129000A2E09511400364
+:103CC600023DA2C3E5129510FFE511950FFED390B4
+:103CD60000A5E09F9000A4E09E4003023DA2900054
+:103CE600A6E0FEA3E0FFEE3395E0FDFC9002201275
+:103CF60025B3C312252D5003023DA2206006900570
+:103D060039E004F09000A8E075F00AA4FF900539A8
+:103D1600E0C39FE5F06480F87480985003023DA9E3
+:103D2600AD14E5142513FFE433FEEDC39FEE648066
+:103D3600F87480985063ED25E0240AF582E4340295
+:103D4600F583E0FEA3E0C39510FFEE950FFED3903A
+:103D560000A5E09F9000A4E09E503BED25E0240ADC
+:103D6600F582E43402F583E0FEA3E0FF9000A2E0D2
+:103D7600FAA3E0FBC3EF9BEE9A401B74017E00A8FA
+:103D860005088005C333CE33CED8F9FF90053AE057
+:103D96004EF0A3E04FF00D8089D26022C260E4901D
+:033DA6000539F0EC
+:013DA90022F7
+:106E2500C25330052D20162A306227C39002B4E0E4
+:106E350094B49002B3E094005011D253900538E019
+:106E450004F0C3940A400BD2168007C262E4900591
+:046E550038F0A2531C
+:016E59002216
+:104BF200C3E5129510FFE511950FFEC3EF94B0EED9
+:104C02009404500AE5129464E51194055002D262AC
+:104C1200900536E024FE605514605914606A1460F1
+:104C22007C24046003024CAB205F0330607B306164
+:104C32001590053AE05455FFA3E054559002B9CFC0
+:104C4200F0A3EFF0801390053AE054AAFFA3E054DA
+:104C5200AA9002B9CFF0A3EFF09002B9E0FEA3E070
+:104C6200FF126C8A9005367402F0D25E22900536ED
+:104C72007403F022126E254030E4FFFE126C8A901B
+:104C820005367404F0B26122126E25400790053693
+:104C92007405F0229005367401F0B2612290053657
+:094CA2007401F0C25FC260C25E41
+:014CAB0022E6
+:10707D0030052220161F900537E004F0C3942D40F3
+:10708D0014742DF0205E0EE4F0D25F90053A740377
+:06709D00F0A374FFF022D5
+:0A73ED00123C6612707D124BF22272
+:106EC400FFD8FFE2FFECFFF60000000A00190023E0
+:106ED400002D00370041004B0055FFFBFFFCFFFD78
+:106EE400FFFEFFFFFFFF000000010001000200039E
+:046EF4000004000591
+:042B2D008F828E8382
+:102B31007E037FE8AD82AC83122688C006C007AE53
+:102B410083AF82C3E49FFF74109EFEAB07FAE4F9E2
+:102B5100F8D007D0061224809002BC122600E47F30
+:102B61000AFEFDFC9002BC1225B3D3122543401D81
+:102B71009002BC12259AC3EF940AFFEE9400FEED79
+:102B81009400FDEC9400FC9002BC122600903DAA3A
+:102B9100E493FE740193FFE4FCFD9002BC1225B3A3
+:102BA100C3122543400D9002BA7408F0A374B7F024
+:102BB100022D14903EEAE493FE740193FFE4FCFDC0
+:102BC1009002BC1225B3D3122543500D9002BA7462
+:102BD1000EF0A374F7F0022D1490027CE09002B97C
+:102BE100F075F002903DAA122656E493FE7401930B
+:102BF100FFE4FCFD9002BC1225B3D3122543403BF8
+:102C010090027CE0149002B9F09002B9E0FFC39405
+:102C110000406975F002EF903DAA122656E493FE3A
+:102C2100740193FFE4FCFD9002BC1225B3D312257D
+:102C31004340499002B9E014F080CE90027CE00458
+:102C41009002B9F09002B9E0FFC394A0502875F04A
+:102C510002EF903DAA122656E493FE740193FFE41D
+:102C6100FCFD9002BC1225B3D312254350089002FB
+:102C7100B9E004F080CE9002B9E014F09002B9E01E
+:102C810090027CF075F002903DAA122656E493FE64
+:102C9100740193FFE4FCFD9002BC1225B31223E7FB
+:102CA100E47B0AFAF9F81223F5C004C005C006C096
+:102CB100079002B9E0FF75F002903DAC122656E490
+:102CC10093FC740193FD75F002EF903DAA12265614
+:102CD100C37401939DFFE4939CFEAB07FAE4F9F8FA
+:102CE100D007D006D005D004122480AB07AA0690E5
+:102CF100027CE024CEFFE434FFFE7C007D0A122337
+:102D01005DEF2BFFEE3ACF24ABCF340A9002BAF03D
+:0B2D1100A3EFF09002BAE0FEA3E0FF89
+:012D1C002294
+:10669100D2539002C2E514F0E5132514FFE433FE52
+:1066A1009002C2E0C39FEE6480F87480985028E0A5
+:1066B100FF25E02485F582E43402AB82FAEF25E080
+:1066C100240EFF7D02125B8B4005C253A253229020
+:0966D10002C2E004F080C1A253F2
+:0166DA00229D
+:10684800D2537A027B997D027F22125B8B4002C26F
+:10685800537A027B9B7D027F24125B8B4002C253DA
+:106868007A027B9D7D027F26125B8B4002C253E534
+:1068780013D39405400F7A027B9F7D027F28125B19
+:076888008B4002C253A25332
+:01688F0022E6
+:10437C001268484003024459900299E0FEA3E0FF02
+:10438C00122B2D9000C6E02FFF9000C5E03EFEC220
+:10439C00AC900224F0A3EFF0D2AC90029DE0FEA30F
+:1043AC00E0FF7C007D11122688E47B0AFAF9F812F2
+:1043BC002480EF241FFFE43EFEC2AC900228F0A341
+:1043CC00EFF0D2ACE513D39405402A90029FE0FEA7
+:1043DC00A3E0FF7C007D11122688E47B0AFAF9F831
+:1043EC00122480EF241FFFE43EFEC2AC90022AF0A0
+:1043FC00A3EFF0D2AC900224E0FCA3E0FD9002020B
+:10440C00ECF0A3EDF0900204ECF0A3EDF0300D3DD8
+:10441C0090029BE0FEA3E0FF122B2D9000C8E02F32
+:10442C00FF9000C7E03EFEC2AC900226F0A3EFF076
+:10443C00D2ACD3900203E09F900202E09E4006EEC5
+:0D444C00F0A3EFF022900204EEF0A3EFF0D9
+:014459002240
+:104025009002BA122625000000009002BE12262535
+:1040350000000000E4900200F0A3F09002B37417B2
+:10404500F0A37470F0126691400302415C9002B9CE
+:10405500E514F0E5132514FFE433FE9002B9E0FD05
+:10406500C39FEE6480F87480984003024133ED25C8
+:10407500E02485F582E43402F583E0FEA3E0FF7CCD
+:104085000E7DD8122688C006C0079000BFE0FEA3AB
+:10409500E0FFFBAA06E4F9F8D007D00612248090C9
+:1040A50002BE122600900200E0FEA3E0FFE4FCFD44
+:1040B5009002BE1225B3D3122543400E9002BE12C4
+:1040C500259A900200EEF0A3EFF09002B3E0FEA374
+:1040D500E0FFE4FCFD9002BE1225B3C31225435058
+:1040E5000E9002BE12259A9002B3EEF0A3EFF020D7
+:1040F5005E33C2AC9002BE12259A9002B9E025E06B
+:10410500240AF582E43402F583EEF0A3EFF0D2AC95
+:104115009002BA12259A9002BE1225B31223DA90A4
+:1041250002BA1226009002B9E004F0024058205E5F
+:1041350026900200E0F511A3E0F5129002B3E0F538
+:104145000FA3E0F510C2AC9002BA12259A90021E98
+:07415500EEF0A3EFF0D2AC85
+:01415C002240
+:104CAC00E49002BEF0A3F0A3F09002C0E0FFC39426
+:104CBC000C4003024D56EF25E024C4F582E4346E1B
+:104CCC00F583E493FE740193FFFBAA06EA3395E0A7
+:104CDC00F9F89002C0E025E024C6F582E4346EF5C4
+:104CEC0083E493FE740193FFEE3395E0FDFC1223F5
+:104CFC00DAE47B02FAF9F8126AC1E47B0AFAF9F8F1
+:104D0C001223F5EF24ABFBEE340AFAE43DF9E43C54
+:104D1C00F8900228E0FEA3E0FFE4FCFDC312252D71
+:104D2C00401F9002C0E025E024DEF582E4346EF5ED
+:104D3C0083E493FF7401939002BECFF0A3EFF08055
+:104D4C00099002C0E004F0024CB59002BEE0FEA354
+:024D5C00E0FF76
+:014D5E002232
+:103410009002BA122625000000007A027BA17D02EC
+:103420007F2A125B8B9002A1E0FEA3E0FFEE30E466
+:103430000944E09002A1F0A3EFF0124CAC9000C35D
+:10344000E0FCA3E0FDC39002A2E09DFD9002A1E09C
+:103450009CCD2FFFED3EFE3395E0FDFC7B187AFC02
+:1034600079FF78FF1223F5C006C0079000C1E0FE87
+:10347000A3E0FFFBAA06EA3395E0F9F8D007D006EF
+:10348000126AC190027D12260090027D12259A9048
+:1034900002B2E025E025E0243CF582E43402F58325
+:1034A0001226009002B2E004F0C394104002E4F04F
+:1034B000E49002B9F09002B9E0FFC394105026A343
+:1034C0001225B3EF25E025E0243CF582E43402F533
+:1034D0008312259A1223DA9002BA1226009002B9BA
+:1034E000E004F080D0E47B10FAF9F89002BA1225DB
+:1034F0009A126AC1900281122600C22BC22A900041
+:1035000028E0FEA3E0FFC3E49FFFE49EFE3395E0C6
+:10351000FDFC9002811225B3C312252D5021900489
+:103520009FE004F0C3940A4067740AF0D22BC2AC47
+:1035300090028112259A900220122600D2AC22908D
+:103540000028E0FEA3E0FFEE3395E0FDFC90028151
+:103550001225B3D312252D402990049EE004F09447
+:103560000A402D740AF0D22A7D647FA07E0F125784
+:1035700078C2AC90028112259A900220122600D2C5
+:10358000AC22C2AC90022012262500000000D2AC72
+:013590002218
+:10729600126CC9C25B12402512437C305905C25993
+:0472A600123410226C
+:105AB200E49002B9F0A3F0AF14E513FDE5142DFD57
+:105AC200E433FCEFC39DEC6480F8748098501DEFC2
+:105AD20025E02485F582E43402F583E0FCA3E0FDB1
+:105AE2009002B9EC8DF01223C40F80CD9002B9E080
+:105AF200FEA3E0FF7C0E7DD8122688C006C0079068
+:105B020005DFE0FEA3E0FFFBAA06E4F9F8D007D028
+:0C5B1200061224809000BFEEF0A3EFF01C
+:015B1E002264
+:106D42009000C3E0FEA3E0FFC39002A2E09FFF9089
+:106D520002A1E09EFE3395E0FDFC7B187AFC79FFF0
+:106D620078FF1223F59005D61225B3126AC1EF4EB1
+:0A6D720060089000C1EEF0A3EFF0FE
+:016D7C0022F4
+:1073C5009002A1E0FFA3E09000C3CFF0A3EFF0226D
+:1069F300900299E0FEA3E0FF122B2DC39005DCE08B
+:106A03009FFF9005DBE09EFE9000C5E0FCA3E0FD48
+:106A1300C3EF9DFDEE9CFCC3ED9496EC64809480E3
+:106A23005012ED946AEC6480947F40089000C5EEA8
+:046A3300F0A3EFF0ED
+:016A3700223C
+:106A380090029BE0FEA3E0FF122B2DC39005DEE041
+:106A48009FFF9005DDE09EFE9000C7E0FCA3E0FDFF
+:106A5800C3EF9DFDEE9CFCC3ED9496EC648094809E
+:106A68005012ED946AEC6480947F40089000C7EE61
+:046A7800F0A3EFF0A8
+:016A7C0022F7
+:106A7D009005E1E0900497F09005E2E0900498F025
+:106A8D009005E3E0900499F09005E4E090049AF00D
+:106A9D009005E5E090049BF09005E6E090049CF0F5
+:106AAD009005E7E090049DF07E047F971251F8D297
+:046ABD003AD23D226A
+:1063880030794BC2799005DAE030E003125AB290C6
+:1063980005DAE030E403126D429005DAE030E503F7
+:1063A8001273C59005DAE030E2031269F39005DA5A
+:1063B800E030E303126A389005DAE030E703126A46
+:0F63C8007DE49005DAF0D2709005F37402F022B4
+:10651300306A0DC26AD268E49005F2F01272E32287
+:1065230030683A127212203134900087E075F0021D
+:10653300A4FFAEF09005F2E004F0C39FEE6480F890
+:106543007480984018C268E4F01272F6307602C282
+:0E65530019C21BC21C301505C215126D06229E
+:1067B70030690DC269D267E49005F1F01272BD220B
+:1067C70030673512721220302F900087E075F00283
+:1067D700A4FFAEF09005F1E004F0C39FEE6480F8EB
+:1067E7007480984013C267E4F01272D0307507C204
+:0967F70018C214126D06C21A2228
+:10716900300719303B119003E6E004F0C394054061
+:0D7179000BD2397405F022E49003E6F022F9
+:105E5A009002E3EEF0A3EFF0A3EDF0A3EAF0A3EBD8
+:015E6A00F047
+:105E6B00C253203941E4A3F09002E3E0FCA3E0FD30
+:105E7B00A3E09002F9F0E4A3F09002E6E0FFA3E0C8
+:105E8B009002FBCFF0A3EFF07B017FA0123B1F50E2
+:105E9B0004D25380117F011268909002E8E004F065
+:0D5EAB00E0C3940540C2A253B3923BA25342
+:015EB80022C7
+:105EB9009002C5EEF0A3EFF0A3EDF0A3EAF0A3EB97
+:015EC900F0E8
+:105ECA00C254203941E4A3F09002C5E0FCA3E0FDEE
+:105EDA00A3E09002EFF0E4A3F09002C8E0FFA3E091
+:105EEA009002F1CFF0A3EFF07B017FA01230A45013
+:105EFA0004D25480117F011268909002CAE004F023
+:0D5F0A00E0C3940540C2A254B3923BA254E0
+:015F17002267
+:105B1F007E027FBC7B08E4FD126FDFE49002BAF0D7
+:105B2F00A3F09002BAE0FEA3E0FFE4FCFD7BFF7A56
+:105B3F0007F9F8D312252D402E53B1F89002BAE091
+:105B4F00FEA3E07805C333CE33CED8F9241FFFE48C
+:105B5F003EFE7A027BBC7D01125E5A9002BAE4755A
+:105B6F00F0011223C480BB7A027BBC7D087FE07EEC
+:0B5B7F00FF125E5AE49003DFF0A3F079
+:015B8A0022F8
+:1057F900C2537A027BB97D087FE07EFF125EB992BF
+:10580900539002BAE0FF9002B9E02F9002BBF090EA
+:1058190002BEE0FF9002BDE02F9002BFF09002BCF3
+:10582900E0FF9002BBE0B507179002B9E0FEA3E0E4
+:105839007C002400FFEC3E9003DFF0A3EFF0802A08
+:105849009002C0E0FF9002BFE0B507179002BDE0EB
+:10585900FEA3E07C002400FFEC3E9003DFF0A3EF01
+:0C586900F08007E49003DFF0A3F0A253EE
+:015875002210
+:1065AD00E49002C3F07E047F97122EE27E047F9763
+:1065BD007C027DBA7B07126EF8E4FF74BA2FF58268
+:1065CD00E43402F583E0FE9002C3E02EF00FEFB449
+:1065DD0007E99002C3E09002C1F0A3745AF07A0269
+:0B65ED007BBA7D097FF07EFF125E5A32
+:0165F8002280
+:106B8A009003DFE0FCA3E0FDEC9002DBF0AF05A38D
+:106B9A00EFF09002DBE02F9002DEF09002DBE09053
+:106BAA0002DFF09002DCE09002E0F09002DEE0907A
+:106BBA0002E2F07A027BDB7D087FE07EFF125E5AFA
+:016BCA0022A8
+:05325D009002BAEFF041
+:103262006410701A7E037FE77C027DBB7B03126EC3
+:10327200F87E037FEB7C027DBE126EF8801F7E0417
+:103282007F97122EE27E047F977C027DBB7B031226
+:103292006EF87E047F9A7C027DBE126EF890020662
+:1032A200E0FCA3E0FDEC9002C1F0A3EDF090020877
+:1032B200E0FCA3E0FDEC9002C3F0A3EDF090022C41
+:1032C20012259A78181225549002C5EFF090022C1C
+:1032D20012259A78101225549002C6EFF090022C13
+:1032E20012259A78081225549002C7EFF090022C0A
+:1032F20012259A9002C8EFF090023012259A78189F
+:103302001225549002C9EFF090023012259A7810DB
+:103312001225549002CAEFF090023012259A7808D2
+:103322001225549002CBEFF090023012259A9002AF
+:10333200CCEFF090021EE0FCA3E0FDAE047818CEC4
+:10334200C313CE13D8F99002CDF0EDAE047810CEAF
+:10335200C313CE13D8F99002CEF090021EE0FCA364
+:10336200E0FDEC9002CFF0A3EDF090022012259A3E
+:1033720078181225679002D1EFF090022012259A58
+:1033820078101225679002D2EFF090022012259A4F
+:1033920078081225679002D3EFF090022012259A46
+:1033A2009002D4EFF0900224E0FCA3E0FDEC900246
+:1033B200D5F0A3EDF0900236E0FCA3E0FDEC900224
+:1033C200D7F0A3EDF09002BAE09002D9F0A3745ABC
+:1033D200F09003DFE0FEA3E0FF7A027BBB7D2012C8
+:1033E2005E5A9003DFE475F0201223C49003DFE0FD
+:1033F200FEA3E0FFE4FCFD7BE07AFFF9F8D312259F
+:0D3402002D5007E49003DFF0A3F0126B8A59
+:01340F00229A
+:105C61009003F1E02480FFE434FFEF7D00C454F0A1
+:105C7100FC900401E02488FFE434FFFEEF7807C3C1
+:105C810033CE33CED8F92DFFEE3CFE900402E0FD79
+:105C91007A047B03125EB97B017A047900900402D5
+:105CA100E02403FD1271C0900402E02403F582E4B4
+:105CB1003404F583EFF0C29C9003F9E02400F582EF
+:085CC100E43404F583E0F599D9
+:015CC90022B8
+:1059D4009003F1E02480FFE434FFEF7D00C454F031
+:1059E400FC9004A1E02488FFE434FFFEEF7807C3B1
+:1059F40033CE33CED8F92DFFEE3CFE9004A2E0FD69
+:105A04007A047BA3125EB97B017A0479A09004A284
+:105A1400E02403FD1271C09004A2E024A3F582E403
+:105A24003404F583EFF0758640C2A49003FAE024B1
+:0E5A3400A0F582E43404F583E0F5A1E4F586E4
+:015A42002241
+:105A43009003F1E02480FFE434FFEF7D00C454F0C1
+:105A5300FC900541E02488FFE434FFFEEF7807C3A0
+:105A630033CE33CED8F92DFFEE3CFE900542E0FD58
+:105A73007A057B43125EB97B017A05794090054232
+:105A8300E02403FD1271C0900542E02443F582E453
+:105A93003405F583EFF0758640C2949003FBE02450
+:0E5AA30040F582E43405F583E0F591E4F586E4
+:015AB10022D2
+:106968007E047F97122EE27E047F977C047D037B52
+:1069780007126EF87B017A047900900402E0240380
+:10698800FD1271C0900402E02403F582E43404F59A
+:1069980083EFF0C29C9003F9E02400F582E434040C
+:0669A800F583E0F59922E1
+:1065F9007E047F97122EE27E047F977C047DA37B25
+:1066090007126EF87B017A0479A09004A2E02403B2
+:10661900FD1271C09004A2E024A3F582E43404F5CC
+:1066290083EFF0758640C2A49003FAE024A0F582B6
+:0C663900E43404F583E0F5A1E4F58622CA
+:106645007E047F97122EE27E047F977C057D437B37
+:1066550007126EF87B017A057940900542E0240324
+:10666500FD1271C0900542E02443F582E43405F53E
+:1066750083EFF0758640C2949003FBE02440F582D9
+:0C668500E43405F583E0F591E4F586228D
+:104E0C00200703024EB7203A03024EB7C23A30389D
+:104E1C0005C238125B1F9003E1E0FF7008A3E0703D
+:104E2C0004A3E06021EF6008E49003E1F0125C6100
+:104E3C009003E2E06005E4F0125A439003E3E06073
+:104E4C0005E4F0125A439003EEE0FF7008A3E07003
+:104E5C0004A3E06021EF6008E49003EEF0126968AF
+:104E6C009003EFE06005E4F01265F99003F0E06068
+:104E7C0005E4F0126645303D05C23D1265AD303C8F
+:104E8C000CC23C9002B97410F0FF12325D30420C2F
+:104E9C00C2429002B97401F0FF12325D303F0CC275
+:0B4EAC003F9002B97402F0FF12325D6B
+:014EB70022D8
+:1045310020070302460390002EE0FF9003DCE00415
+:10454100F0C39F4009E4F07E047F97122EE29003AE
+:10455100DDE475F0011223C4FEC3E5F09410EE947E
+:104561000E400BE49003DDF0A3F0D23AD23D202AB5
+:104571001ED241304006C240D23AD24230190B30ED
+:104581003E08C23ED23AD23F8005201902D23E30C7
+:10459100416990002CE0FEA3E0FFEE3395E0FDFCC5
+:1045A1009002201225B3C312252D404F9003E4E061
+:1045B1007002A3E070147E047F97122EE27E047FC6
+:1045C100977C037DE77B07126EF890002BE0FF7E5E
+:1045D100007C007D3C12235D9003E4E475F0011240
+:1045E10023C4FCD3E5F09FEC9E4017E49003E4F074
+:1045F100A3F0D240C241D23AD23C22E49003E4F08B
+:03460100A3F02201
+:03105300025BF647
+:105BF600C0E0C0D075D000C006C007C0867586005C
+:105C060030D807C2D87F0112102E30D907C2D97FEB
+:105C16000212102E30DA07C2DA7F0412102E30DBA1
+:105C260007C2DB7F0812102E30DC07C2DC7F1012A1
+:105C3600102E30DD07C2DD7F2012102E30DE07C2A7
+:105C4600DE7F4012102E30DF07C2DF7F8012102E5B
+:0B5C5600D086D007D006D0D0D0E032BE
+:03102B00021003AD
+:10100300C0E0C083C082C0D0C086758640C28F75E1
+:1010130086001270C9D086D0D0D082D083D0E0327F
+:1050B500307A0302515675090F20A705750901803D
+:1050C5000620B003750902E509650C6038050EE593
+:1050D5000E7002050DC3E50B940AE50A94004065C0
+:1050E500E50E940AE50D94004067E50B9490E50AFA
+:1050F50094014008E50C4440F5088003850C08D26E
+:105105007A80428040E509640F6037E4F50DF50EBD
+:10511500050BE50B7002050AB4900EE50AB401090A
+:10512500E50C4410F508D27A22E50BB4B023E50A64
+:10513500B4041E750A01750B90E50C4420F508D2E0
+:105145007A2275080FE4F50AF50BF50DF50E8509BC
+:015155000C4D
+:015156002236
+:106E5A00AB07AA06C2AF43A701EAF5F7AF038FFB58
+:106E6A00AF058FFC75F26E75F30575F40A75F509B1
+:106E7A00EAADF7B50509E475F6060000000000530F
+:056E8A00A7FED2AF22BB
+:1070A300D256E4FDFCEF2DFBEE3C8B82F583E4939B
+:1070B3006004C256800D0DBD00010CE4B505E6EC7D
+:0570C300B402E2A25638
+:0170C80022A5
+:08608A009002BFEEF0A3EFF05D
+:10609200D256AE04AF05E4A3F0A3F09002C1E0FC37
+:1060A200A3E0FDC3EC940250369002C0E02DFD90B7
+:1060B20002BFE03C8D82F583E493FD9002C1E0FAD9
+:1060C200A3E02FF582EE3AF583E0FCED6C6004C2AA
+:1060D20056800C9002C1E475F0011223C480BCA268
+:0160E2005667
+:0160E300229A
+:0854DD009002BFEEF0A3EFF016
+:1054E500C256AF05A3ECF0A3EFF0E4FDFC9002BFBC
+:1054F500E0FAA3E0FB2DF5FBEB2DEA3CF5F7A3E085
+:10550500FEA3E02DF582EE3CF583E0F5FC75F26E29
+:1055150020AF3D75F305E5A7603275F40A9005F4F3
+:10552500E06455702375F5099002C0E02D9002BF27
+:10553500E03CABF7B5030DE475F60600000000008E
+:10554500D2568010C2568019C2568015C256801197
+:10555500C256800D0DBD00010CED7003EC640270A8
+:035565008CA256BF
+:015568002220
+:0E532B009002BBEEF0A3EFF0A3ECF0A3EDF0C8
+:10533900C25553B1F8C2AF43A7019002BBE0FF7E4B
+:1053490000F5F775F2E620AF5B75F305E5A7605444
+:1053590075F40A9005F4E06455704975F509ADF7DF
+:10536900EF6D7001EE703D75F606000000000090CB
+:1053790002BBE0FEA3E0FF1270A350289002BBE03D
+:10538900FEA3E0FFA3E0FCA3E0FD1254DD5015905D
+:1053990002BBE0FEA3E0FFA3E0FCA3E0FD12608AEC
+:1053A9005002D255E4F5F2F5F3F5F4F5F5F5F653B7
+:0853B900A7FEF5F7D2AFA255E3
+:0153C10022C9
+:1046C800C253C254206F03024788C26F9005F47426
+:1046D80055F0E513D39405400C9002B97427F0A364
+:1046E8007410F0800A9002B97413F0A37488F090E3
+:1046F80002B9E0FEA3E0FFC390021FE09F90021EF4
+:10470800E09E406B9001FEE0645A7004A3E064A54B
+:10471800705DFDFCFFFE12532B4023E4FDFCFFFE01
+:1047280012532B4019D25374FF9001FEF0A3F0FDF1
+:104738007FFE7E01126E5A7DFF7FFF126E5AE4FDE6
+:10474800FCFF7E0212532B402AE4FDFCFF7E02127E
+:10475800532B401FD25474FF9001FEF0A3F0FD7F4D
+:10476800FE7E03126E5A7DFF7FFF126E5A8004D2BE
+:1047780053D254E49005F4F0305305305402D26E0D
+:01478800220E
+:0E5F18009002B9EEF0A3EFF0A3EAF0A3EBF0D5
+:105F2600D253AE04AF058E198F1AC2AF43A70153E1
+:105F3600B1F8E4FFFED39002BCE09F9002BBE09E66
+:105F460040279002BAE02FFD9002B9E03E8D82F51F
+:105F560083E493851A82851983F0051AE51A70027F
+:105F660005190FBF00010E80CC53A7FED2AFA25376
+:015F76002208
+:10726D003070119005F3E004F0C394024006C27033
+:05727D00E4F0D26F22D5
+:10700900C25343A701EEC313FEEF1325E0FFEE338E
+:107019008F82F583740193B4A507E493B45A02D21D
+:067029005353A7FEA25321
+:01702F00223E
+:0D3EEC009002BAECF0A3EDF09002B9EFF0F7
+:103EF900758640EF64557051A3E0FEA3E0FFC394BB
+:103F0900E8EE940350187588027C007D20122688FB
+:103F1900C3E49FFFE49EA3F0A3EFF002401375886A
+:103F2900229002BAE0FEA3E0FF7C007D20122688E1
+:103F3900E47B40FAF9F8122480C3E49FFFE49E90E1
+:103F490002BCF0A3EFF00240139002B9E0644470A0
+:103F59005BA3E0FEA3E0FFC394A0EE940F5023758A
+:103F690088127C007D80122688E47B08FAF9F81211
+:103F79002480C3E49FFFE49E9002BCF0A3EFF0020B
+:103F890040137588329002BAE0FEA3E0FF7C007D01
+:103F990080122688E4FB7A01F9F8122480C3E49F91
+:103FA900FFE49E9002BCF0A3EFF0805E9002B9E0BE
+:103FB9007058A3E0FEA3E0FFC394F4EE94015022ED
+:103FC9007588307C5D7DC0122688E4FB7A01F9F89A
+:103FD900122480C3E49FFFE49E9002BCF0A3EFF09B
+:103FE90080287588329002BAE0FEA3E0FF7C007D4C
+:103FF90080122688E4FB7A01F9F8122480C3E49F31
+:10400900FFE49E9002BCF0A3EFF09002BCE0FEA397
+:0B401900E0F58CEEF58DD28AE4F58610
+:014024002279
+:10629500A2AFE433FEC2AFEF600D64206009EF6486
+:1062A500406004EFB46007EF4408F5B28010EF6476
+:1062B500806004EFB4A00753B2FB0053B2F70000AF
+:1062C500000000000000EF600D64206009EF6440ED
+:1062D5006004EFB4600343B204AF06EE24FF92AF4F
+:0162E5002296
+:105676009005EBEEF0A3EFF0A3EDF075C7B0900543
+:10568600EBE0FEA3E0FFFBAA06E4F9F87FD87EB8BC
+:105696007D05FC126AC18FCC9005EBE0FEA3E0FF0E
+:1056A600FBAA06E4F9F87FD87EB87D05FC126AC12C
+:1056B60078081225678FCDAFCDEFFEADCC7C00E428
+:1056C6002DFFEC3EFE9005EDE0FBFD12235D7D64B3
+:1056D60012236F8FCEAFCDEFFEADCC7C00E42DFF55
+:1056E600EC3EFEAD0312235D7D6412236FEEF5CF13
+:0156F6002291
+:1056F7009005EEEEF0A3EFF0A3EDF075B6B09005D0
+:10570700EEE0FEA3E0FFFBAA06E4F9F87FD87EB837
+:105717007D05FC126AC18FAE9005EEE0FEA3E0FFA7
+:10572700FBAA06E4F9F87FD87EB87D05FC126AC1AA
+:1057370078081225678FAFAFAFEFFEADAE7C00E400
+:105747002DFFEC3EFE9005F0E0FBFD12235D7D642E
+:1057570012236F8FA4AFAFEFFEADAE7C00E42DFF39
+:10576700EC3EFEAD0312235D7D6412236FEEF5A5BB
+:01577700220F
+:105778009002BEEEF0A3EFF0A3EDF075B7B0900283
+:10578800BEE0FEA3E0FFFBAA06E4F9F87FD87EB8E6
+:105798007D05FC126AC18FBC9002BEE0FEA3E0FF4B
+:1057A800FBAA06E4F9F87FD87EB87D05FC126AC129
+:1057B80078081225678FBDAFBDEFFEADBC7C00E455
+:1057C8002DFFEC3EFE9002C0E0FBFD12235D7D64E0
+:1057D80012236F8FBEAFBDEFFEADBC7C00E42DFF82
+:1057E800EC3EFEAD0312235D7D6412236FEEF5BF20
+:0157F800228E
+:10689000E5B2547070067C067D868020E5B25470A7
+:1068A000FEBE20067C037D438012E5B25470FEBE1E
+:1068B00040067C017DA180047C007D8BE4FEEEC35C
+:1068C0009F5014E4FBFAC3EB9DEA9C50070BBB00FE
+:0768D000010A80F20E80E7CF
+:0168D700229E
+:105D300090002FE0645A705A900061E0645A7052EB
+:105D4000900073E0645A704A900088E0645A704290
+:105D500090008DE0645A703A900098E0645A703276
+:105D60009000A1E0645A702A9000A9E0B45A2390F0
+:105D700000BAE0B45A1C9000BEE0B45A159000CAB4
+:105D8000E0B45A0E9001FEE0645A7004A3E064A5EA
+:065D90006002C322D322D1
+:086FDF009002C5EEF0A3EFF0F3
+:106FE700E4FFEFC39B501A9002C5E0F8A3E0F582D7
+:106FF7008883EDF09002C5E475F0011223C40F8079
+:01700700E1A7
+:017008002265
+:086EF8009002DBEEF0A3EFF0C5
+:106F0000E4FFEFC39B50239002DBE0F8A3E0F5829F
+:106F10008883E08D828C83F00DBD00010C9002DB34
+:0A6F2000E475F0011223C40F80D8BD
+:016F2A002244
+:0C73D500758E5543870100000000002267
+:0C73E100758E554387020000000000225A
+:106F88009005EAE06412702320430620440330454C
+:106F98001A207017206F14C2AFE4F5A8F5A9F58878
+:0C6FA800F5E8F59DF59CF598120000221C
+:1066DB00D228D229201403301602C22820110F20F1
+:1066EB00130C201B09201C06201503301602C2298F
+:1066FB00202B0E201009201206201803301A02C27C
+:10670B0028202A05301902C229201B06201C033021
+:0A671B001502C228301A02C229221A
+:106F5B001266DBA273302801B34008A274302901FA
+:106F6B00B35019A2289273A2299274A229E433FF79
+:0D6F7B0025E0FFA228E4334FFF12725822D8
+:1068D800201844C3900063E09512900062E095117F
+:1068E800501F9003BEE475F0011223C4FEC3E5F007
+:1068F8009401EE94004020D218E49003BEF0A3F077
+:1069080022D3900065E09512900064E0951140074D
+:08691800E49003BEF0A3F0229D
+:10692000201944D3900075E09510900074E0950F05
+:10693000401F9003C0E475F0011223C4FEC3E5F0CC
+:106940009401EE94004020D219E49003C0F0A3F02B
+:1069500022C3900077E09510900076E0950F5007E5
+:08696000E49003C0F0A3F02253
+:1063D70020104B90008EE0FEA3E0FF900204E0FC4B
+:1063E700A3E0FDD39FEC9E401F9003D0E475F0011E
+:1063F7001223C4FEC3E5F09401EE94004020D210AE
+:10640700E49003D0F0A3F022900090E0FEA3E0FF19
+:0F641700C3ED9FEC9E5007E49003D0F0A3F0225A
+:1064260020124B900092E0FEA3E0FF900202E0FCF7
+:10643600A3E0FDC39FEC9E501F9003D4E475F001CA
+:106446001223C4FEC3E5F09401EE94004020D2125C
+:10645600E49003D4F0A3F022900094E0FEA3E0FFC2
+:0F646600D3ED9FEC9E4007E49003D4F0A3F02207
+:1064750020114B900099E0FEA3E0FF900204E0FCA0
+:10648500A3E0FDD39FEC9E401F9003D2E475F0017D
+:106495001223C4FEC3E5F09401EE94004020D2110E
+:1064A500E49003D2F0A3F02290009BE0FEA3E0FF6E
+:0F64B500C3ED9FEC9E5007E49003D2F0A3F022BA
+:1064C40020134B90009DE0FEA3E0FF900202E0FC4D
+:1064D400A3E0FDC39FEC9E501F9003D6E475F0012A
+:1064E4001223C4FEC3E5F09401EE94004020D213BD
+:1064F400E49003D6F0A3F02290009FE0FEA3E0FF17
+:0F650400D3ED9FEC9E4007E49003D6F0A3F02266
+:106D7D00307B3712402512437C1268D812692012DD
+:106D8D0063D71264261264751264C49005F7E0048B
+:106D9D00F0C394024014C27B205A09203906207892
+:0B6DAD0003306E03D263221237002275
+:1046040020185C201459C3900063E0951290006256
+:10461400E095115033900066E075F00AA4FFAEF007
+:104624009003BEE475F0011223C4FCC3E5F09FECD3
+:104634009E50030246C7D218C275E49003BEF0A38D
+:10464400F09003D8F0A3F022D3900065E095129087
+:104654000064E09511406CE49003BEF0A3F02220C6
+:104664007561D3900065E09512900064E095114067
+:104674003C900067E075F00AA4FFAEF09003D8E424
+:1046840075F0011223C4FCC3E5F09FEC9E40343066
+:104694000E06D275D2698007C218C214126D06E4E0
+:1046A4009003BEF0A3F09003D8F0A3F022C39000CF
+:1046B40063E09512900062E095115007E49003D8EE
+:0446C400F0A3F0224D
+:10484600201959D3900075E09510900074E0950FEB
+:104856004033900078E075F00AA4FFAEF09003C0F4
+:10486600E475F0011223C4FCC3E5F09FEC9E5003EF
+:10487600024901D219C276E49003C0F0A3F0900376
+:10488600DAF0A3F022C3900077E09510900076E06E
+:10489600950F5067E49003C0F0A3F02220765CC326
+:1048A600900077E09510900076E0950F50379000D5
+:1048B60079E075F00AA4FFAEF09003DAE475F00132
+:1048C6001223C4FCC3E5F09FEC9E402F300F06D2A6
+:1048D60076D26A8002C219E49003C0F0A3F0900376
+:1048E600DAF0A3F022D3900075E09510900074E002
+:0C48F600950F4007E49003DAF0A3F022D5
+:1049020020105E90008EE0FEA3E0FF900204E0FC27
+:10491200A3E0FDD39FEC9E4031900096E075F01429
+:10492200A4FFAEF09003D0E475F0011223C4FAC3E1
+:10493200E5F09FEA9E50030249BDD210E49003D0F5
+:10494200F0A3F09003C2F0A3F022900090E0FEA347
+:10495200E0FFC3ED9FEC9E5062E49003D0F0A3F021
+:1049620022900090E0FEA3E0FF900204E0FCA3E0AE
+:10497200FDC39FEC9E502E900096E075F014A4FFAC
+:10498200AEF09003C2E475F0011223C4FAC3E5F05D
+:104992009FEA9E4026C210E49003D0F0A3F0900359
+:1049A200C2F0A3F02290008EE0FEA3E0FFD3ED9FC1
+:0C49B200EC9E4007E49003C2F0A3F0224A
+:1049BE0020125E900092E0FEA3E0FF900202E0FC67
+:1049CE00A3E0FDC39FEC9E5031900096E075F0146D
+:1049DE00A4FFAEF09003D4E475F0011223C4FAC321
+:1049EE00E5F09FEA9E5003024A79D212E49003D476
+:1049FE00F0A3F09003C6F0A3F022900094E0FEA383
+:104A0E00E0FFD3ED9FEC9E4062E49003D4F0A3F060
+:104A1E0022900094E0FEA3E0FF900202E0FCA3E0EF
+:104A2E00FDD39FEC9E402E900096E075F014A4FFEF
+:104A3E00AEF09003C6E475F0011223C4FAC3E5F09C
+:104A4E009FEA9E4026C212E49003D4F0A3F0900396
+:104A5E00C6F0A3F022900092E0FEA3E0FFC3ED9F0C
+:0C4A6E00EC9E5007E49003C6F0A3F02279
+:104A7A0020115E900099E0FEA3E0FF900204E0FCA2
+:104A8A00A3E0FDD39FEC9E4031900096E075F014B0
+:104A9A00A4FFAEF09003D2E475F0011223C4FAC366
+:104AAA00E5F09FEA9E5003024B35D211E49003D2FF
+:104ABA00F0A3F09003C4F0A3F02290009BE0FEA3C1
+:104ACA00E0FFC3ED9FEC9E5062E49003D2F0A3F0A6
+:104ADA002290009BE0FEA3E0FF900204E0FCA3E02A
+:104AEA00FDC39FEC9E502E900096E075F014A4FF33
+:104AFA00AEF09003C4E475F0011223C4FAC3E5F0E2
+:104B0A009FEA9E4026C211E49003D2F0A3F09003DC
+:104B1A00C4F0A3F022900099E0FEA3E0FFD3ED9F3A
+:0C4B2A00EC9E4007E49003C4F0A3F022CE
+:104B360020135E90009DE0FEA3E0FF900202E0FCE1
+:104B4600A3E0FDC39FEC9E5031900096E075F014F3
+:104B5600A4FFAEF09003D6E475F0011223C4FAC3A5
+:104B6600E5F09FEA9E5003024BF1D213E49003D680
+:104B7600F0A3F09003C8F0A3F02290009FE0FEA3FC
+:104B8600E0FFD3ED9FEC9E4062E49003D6F0A3F0E5
+:104B96002290009FE0FEA3E0FF900202E0FCA3E06B
+:104BA600FDD39FEC9E402E900096E075F014A4FF76
+:104BB600AEF09003C8E475F0011223C4FAC3E5F021
+:104BC6009FEA9E4026C213E49003D6F0A3F090031A
+:104BD600C8F0A3F02290009DE0FEA3E0FFC3ED9F86
+:0C4BE600EC9E5007E49003C8F0A3F022FE
+:1060E400201A5590006D12259A90027D1225B3D383
+:1060F40012252D402A900071E075F00AA4FFAEF03D
+:106104009003CCE475F0011223C4FCC3E5F09FECCA
+:106114009E4025D21AD269E49003CCF0A3F0222049
+:106124006716D39003CDE094009003CCE094004034
+:096134000774FFF5F01223C422E8
+:10613D00201B5590007D12259A90027D1225B3C328
+:10614D0012252D502A900081E075F00AA4FFAEF0C3
+:10615D009003BAE475F0011223C4FCC3E5F09FEC83
+:10616D009E4025E49003BAF0A3F0D21BD26A222000
+:10617D006816D39003BBE094009003BAE0940040FE
+:09618D000774FFF5F01223C4228F
+:10619600201C5590008212259A90027D1225B3C3C9
+:1061A60012252D502A900086E075F002A4FFAEF06D
+:1061B6009003BCE475F0011223C4FCD3E5F09FEC18
+:1061C6009E4025E49003BCF0A3F0D21CD26A2220A4
+:1061D6006816D39003BDE094009003BCE0940040A1
+:0961E6000774FFF5F01223C42236
+:10712C00207B1B1246041248461249021249BE1219
+:0F713C004A7A124B361260E412613D12619622BC
+:1058EE00300272201B06201C03301539900072E026
+:1058FE0075F014A4FFAEF09003CEE475F001122300
+:10590E00C4FCC3E5F09FEC9E401BE49005F2F090C2
+:10591E0003CEF0A3F0C21BC21CC26AC268301505CA
+:10592E00C215126D06301A2D900072E075F014A497
+:10593E00FFAEF09003CAE475F0011223C4FCD3E568
+:10594E00F09FEC9E400FE49003CAF0A3F0C21A90B1
+:06595E0005F1F0C2672212
+:10718600300719307711900496E004F0C394054057
+:0D7196000BD2787405F022E4900496F022EC
+:0E5FD4009002F0EFF0A3EDF0A3EAF0A3EBF0E3
+:105FE200C256207840E4A3F09002F0E0FD7C00A3CA
+:105FF200E09002F9F0E4A3F09002F2E0FFA3E09057
+:1060020002FBCFF0A3EFF0E4FB7FDE123B1F500454
+:10601200D25680117F011268909002F4E004F0E001
+:0C602200C3940540C3A256B39277A25667
+:01602E00224F
+:0E602F009002E6EFF0A3EDF0A3EAF0A3EBF091
+:10603D00C255207840E4A3F09002E6E0FD7C00A379
+:10604D00E09002EFF0E4A3F09002E8E0FFA3E0900F
+:10605D0002F1CFF0A3EFF0E4FB7FDE1230A4500489
+:10606D00D25580117F011268909002EAE004F0E0B1
+:0C607D00C3940540C3A255B39277A2550E
+:0160890022F4
+:082EE2009002DBEEF0A3EFF01B
+:102EEA00C2547A027BDD7D09E4FF12602F4003029F
+:102EFA0030A19002E4E030E0030230949002DFE077
+:102F0A0020E703022FB39002DDE0FF547094504093
+:102F1A0003022FB3EF540F94094003022FB3E05476
+:102F2A007F94594003022FB3A3E0FF54709450508A
+:102F3A0078EF540F94095071E0547F9459506AA362
+:102F4A00E0FF543094205061EF540F9409505AE036
+:102F5A00542F94245053A3E0FF54309430504AEF36
+:102F6A00540F94095043E0543FFF9431503BEF60B3
+:102F7A0038A3E0FF54109410502FEF540F940950C7
+:102F8A0028E0541FFF94125020EF601DA3E0FF5465
+:102F9A00F094905014EF540F9409500DE094995006
+:102FAA0008A3E05407940640779002DBE0FEA3E012
+:102FBA00FFF5828E83E09002DDF08F828E83A3E09C
+:102FCA009002DEF09002DBE0A3E0F5828E83A3A3F9
+:102FDA00E09002DFF08F828E83A3A3A3E09002E049
+:102FEA00F09002DBE0A3E02404F582E43EF583E0FE
+:102FFA009002E1F0EF2405F582E43EF583E09002C9
+:10300A00E2F09002DBE0A3E02406F582E43EF583D9
+:10301A00E09002E3F07E027FDD1251F8925480774D
+:10302A009002DDE0FF9002DBE0FCA3E0FDF5828C7C
+:10303A0083EFF09002DEE08D828C83A3F09002DFB2
+:10304A00E0541F8D828C83A3A3F09002E0E08D826E
+:10305A008C83A3A3A3F09002E1E0FFED2404F582A0
+:10306A00E43CF583EFF09002E2E0FFED2405F582FF
+:10307A00E43CF583EFF09002E3E0FFED2406F582ED
+:10308A00E43CF583EFF0D254800D9002DBE0FEA31E
+:09309A00E0FF1251F89254A25417
+:0130A300220A
+:0851F8009002E6EEF0A3EFF0D7
+:10520000C255A37490F07A027BE87D017F07125F9C
+:10521000D492559002E6E0FEA3E0FFF5828E83E093
+:105220009002E9F08F828E83A3E09002EAF0900270
+:10523000E6E0FCA3E0FDF5828C83A3A3E04480902C
+:1052400002EBF08D828C83A3A3A3E09002ECF0909C
+:1052500002E6E0A3E0FF2404F582E43EF583E0905B
+:1052600002EDF0EF2405F582E43EF583E09002EED6
+:10527000F09002E6E0A3E02406F582E43EF583E048
+:105280009002EFF07A027BE97D07E4FF125FD4928F
+:0352900055A255CF
+:0152930022F8
+:085450009002B9EEF0A3EFF0A9
+:10545800C253E49002C4F07E027FBB7B09FD126F49
+:10546800DF7A027BBB7D097FF07EFF125EB9E4FF25
+:1054780074BB2FF582E43402F583E0FE9002C4E0A9
+:105488002EF00FEFB407E99002C4E0FF9002C2E0EB
+:10549800B50706A3E0645A601BE49002BBF0A3F0D2
+:1054A800A37412F0A37401F0A37405F0A37420F0A0
+:1054B800A37405F07E027FBB9002B9E0FCA3E0FD77
+:1054C8007B07126EF89002B9E0FEA3E0FF122EE20D
+:0454D8009253A253F6
+:0154DC0022AD
+:10427C0000070E091C1B1215383F363124232A2D3A
+:10428C0070777E796C6B6265484F464154535A5D2A
+:10429C00E0E7EEE9FCFBF2F5D8DFD6D1C4C3CACD1A
+:1042AC0090979E998C8B8285A8AFA6A1B4B3BABD0A
+:1042BC00C7C0C9CEDBDCD5D2FFF8F1F6E3E4EDEAFA
+:1042CC00B7B0B9BEABACA5A28F88818693949D9AEA
+:1042DC002720292E3B3C35321F18111603040D0ADA
+:1042EC005750595E4B4C45426F68616673747D7ACA
+:1042FC00898E878095929B9CB1B6BFB8ADAAA3A4BA
+:10430C00F9FEF7F0E5E2EBECC1C6CFC8DDDAD3D4A9
+:10431C00696E676075727B7C51565F584D4A434499
+:10432C00191E171005020B0C21262F283D3A333489
+:10433C004E49404752555C5B7671787F6A6D646379
+:10434C003E39303722252C2B0601080F1A1D141369
+:10435C00AEA9A0A7B2B5BCBB9691989F8A8D848359
+:10436C00DED9D0D7C2C5CCCBE6E1E8EFFAFDF4F349
+:1071C000E4FFEDD3940040131223446F90427C936C
+:0B71D000FF740129F9E43AFA1D80E782
+:0171DB002291
+:10703000D2587D807CBBE5C820E31053B1F8ED4CFD
+:107040006009ED1D70011C80ED80EBE5D154F86FF7
+:067050006002C258A258C4
+:017056002217
+:103B1F009002F8EBF09002F5EFF0A3ECF0A3EDF0CC
+:103B2F00D25790030174BBF0A37480F09002FDEFA5
+:103B3F00F0A3EDF09002FBE0FEA3E0F5828E83E0B0
+:103B4F009002FFF07B017A0279FD7D031271C09024
+:103B5F000300EFF09002F9E0D394005003023C63AE
+:103B6F0043E6C043D10143C80175C8607F08127096
+:103B7F0030400C7F101270304005C257023C40900D
+:103B8F0002F5E0F58D75C8407F181270304005C200
+:103B9F0057023C409002F8E0B401159002F6E0F5B0
+:103BAF008D75C8407F281270304005C257023C40C7
+:103BBF009002F6E0A3E0F58D75C8407F28127030B3
+:103BCF004004C257806B9002FAE06401702EA3E0AC
+:103BDF00FEA3E0F5828E83E0F58D75C8407F281235
+:103BEF0070304004C2578049900300E0F58D75C8CE
+:103BFF00407F281270304039C2578035E4FE900262
+:103C0F00F9E0FFEEC39F50299002FBE0FCA3E0F523
+:103C1F00828C83E0F58D75C8407F28127030400488
+:103C2F00C257800D9002FBE475F0011223C40E8081
+:103C3F00CD75C850E5C830E41B53B1F8900301E0CF
+:103C4F007002A3E0600E90030174FFF5F01223C41D
+:063C5F0080E280E0A257A4
+:013C6500223C
+:0A30A400AA079002ECECF0A3EDF097
+:1030AE00D256E4900322F0A374BBF0A37480F09088
+:1030BE0002F4EAF0A3EDF0EA4401A3F09002EFE08F
+:1030CE00D39400500302325A43E6C043D10143C8A1
+:1030DE000175C8607F08127030400C7F101270307E
+:1030EE004005C2560232378A8D75C8407F1812705D
+:1030FE00304005C256023237EBB401159002ECE0B7
+:10310E00F58D75C8407F281270304005C2560232C8
+:10311E00379002ECE0A3E0F58D75C8407F28127061
+:10312E00304005C25602323775C8607F08127030C3
+:10313E00400C7F101270304005C256023237EA44FE
+:10314E0001F58D75C8407F401270304005C25602A1
+:10315E003237E49002F3F09002EFE0FF9002F3E0DA
+:10316E00FEC39F50579002F0E07031EF14B5060A7F
+:10317E0075C8407F58127030800875C8447F501251
+:10318E0070309002F1E0FEA3E0F5828E83E58DF0C3
+:10319E009002F1E475F0011223C4801875C8447FC3
+:1031AE00501270309002F3E024F7F582E43402F509
+:1031BE0083E58DF09002F3E004F0809B9002F0E046
+:1031CE006401706575C8407F58127030900322E517
+:1031DE008DF07B017A0279F49002EFE02403FD1268
+:1031EE0071C0900322E0B5073EE49002F3F0900226
+:1031FE00EFE0FF9002F3E0FEC39F502D74F72EF523
+:10320E0082E43402F583E0FF9002F1E0FCA3E0F5E6
+:10321E00828C83EFF09002F1E475F0011223C490DA
+:10322E0002F3E004F080C7C25675C850E5C830E41A
+:10323E001B53B1F8900323E07002A3E0600E9003DD
+:0E324E002374FFF5F01223C480E280E0A25644
+:01325C00224F
+:1072410075C632E4F5E6F5D1758A7043D10675C885
+:07725100407589FFF58D2255
+:1071DC0075C432E4F587759850759D7F759C647500
+:0C71EC009E04439D80759A0A759BFF224B
+:031023000262E680
+:1062E600C0E0C0F0C083C082C0D075D000C000C07E
+:0D62F60001C002C003C004C005C006C007FF
+:10630300C086758600309807C298AF9912529430B0
+:096313009905C299124EB8D0861A
+:10631C00D007D006D005D004D003D002D001D000D5
+:0B632C00D0D0D082D083D0F0D0E0327F
+:103DAA00FFFFFFFFF07FDFCDD0DAC222B4F4A8C252
+:103DBA009D769300894E804F77F770386906625670
+:103DCA005C1F565650F44BF1474642EC3EDD3B141D
+:103DDA003728343F312A2E462B97291226B62481BA
+:103DEA002270207F1EAE1CFA1B6119E11878172673
+:103DFA0015E714BC13A2129911A010B50FD80F0819
+:103E0A000E440D8A0CDC0C370B9C0B090A7E09FB4D
+:103E1A00097E090A089B083207CF0770071706C3ED
+:103E2A000673062705DF059B055A051D04E204AB48
+:103E3A0004770445041503E803BC0393036C0346A3
+:103E4A000325030302E302C502A8028C0271025889
+:103E5A0002400229021301FE01EA01D701C501B39A
+:103E6A0001A301930183017501670159014D0140C5
+:103E7A0001350129011F0114010A010100F800EFAF
+:103E8A0000E600DE00D700CF00C800C100BA00B4C7
+:103E9A0000AE00A800A2009D00980092008E008942
+:103EAA0000840080007C007800740070006D006956
+:103EBA00006600630060005D005A0057005400521B
+:103ECA00004F004D004A00480046004400420040AE
+:103EDA00003E003C003B0039003700360035003414
+:023EEA000032A4
+:031000000270ED8E
+:1070ED0075819F007808760008B8A0FAE49000003A
+:1070FD00F0A3A882A983B8DCF7B907F4000258768B
+:102D1D00A2AF9253C2AF900234E0FFA3E09003271D
+:102D2D00CFF0A3EFF090022C12259A9003451226B6
+:102D3D000090023012259A900378122600900236E8
+:102D4D00E0FFA3E0900366CFF0A3EFF09002201216
+:102D5D00259A90037D122600900224E0FFA3E090B7
+:102D6D000376CFF0A3EFF090021EE0FEA3E0FFE4A8
+:102D7D00FCFD90034F122600851117851218850F43
+:102D8D001585101690036112262500000000E490B1
+:102D9D000374F0A3F0A25392AF90034E741EF09003
+:102DAD00036D745AF0A3740BF0A3740FF0900368C5
+:102DBD00122625FFFF7748E490036CF09003710411
+:102DCD00F09003897414F090033E743EF0A3748068
+:102DDD00F0A3E4F0A37411F09003727406F0A374E1
+:102DED0022F090038B743CF0900003E02438FE90A9
+:102DFD000002E034FF900325F0A3CEF09003597448
+:102E0D000FF0900360740AF0900014E0FFA3E090BF
+:102E1D000381CFF0A3EFF090034D745AF0E513FB4F
+:102E2D007A007C117D94FF7E0012235DE4FCFD9001
+:102E3D00032F1226007C0B7DB8AF037E0012235D9D
+:102E4D00E4FCFD900355122600900365743CF09050
+:102E5D00038A7414F0900333740FF090037C741490
+:102E6D00F0900370740AF0900329122625000000DB
+:102E7D0028900344741EF0900342740BF0A3744128
+:102E8D00F0900353740BF0A37441F0900383E4F0BE
+:102E9D00A37432F0900349E4F0A37405F090033A63
+:102EAD00E4F0A37469F0900385E4F0A37464F090EA
+:102EBD00034BE4F0A3741EF090033CE4F0A37462A2
+:102ECD00F09003877401F0A37490F090035EE4F02A
+:042EDD00A3744BF09F
+:012EE10022CE
+:10633700A2AF9253C2AF900327E0FFA3E0900234CD
+:10634700CFF0A3EFF090034512259A90022C122666
+:106357000090037812259A90023012260090036667
+:10636700E0FFA3E0900236CFF0A3EFF0A251922214
+:10637700A25292209000B9E024FF9221A25392AF3B
+:0163870022F3
+:0673F7005AA569963CC393
+:10415D007F647E00E49002BBF09002BBE0FDC3944F
+:10416D000A400302427BED25E02402F582E434008F
+:10417D00F583E0FCA3E0D39518EC951750030242AC
+:10418D00729002BBE0705790007AE0FCA3E0FDD383
+:10419D009518EC95175003301906E4FEFF02427B8B
+:1041AD00C3E5189DFFE5179CFE7C007D0A1226884D
+:1041BD00EEC0E0EFC0E090007AE0FEA3E0FFC39018
+:1041CD000003E09FFF900002E09EFECBEFCBFAE4F0
+:1041DD00F9F8D0E0FFD0E0FE12248002427B90027D
+:1041ED00BBE025E02400F582E43400F583E0FEA376
+:1041FD00E0FFC3E5189FFFE5179EFE7C007D0A12C8
+:10420D002688ECC0E0EDC0E0EEC0E0EFC0E090022B
+:10421D00BBE0FF25E02400F582E43400F583E0FCEB
+:10422D00A3E0FDEF25E02402F582E43400F583E000
+:10423D00FEA3E0C39DFFEE9CFECBEFCBFAE4F9F8B5
+:10424D00D0E0FFD0E0FED0E0FDD0E0FC122480CD28
+:10425D00EFCDCCEECC9002BBE075F00AA42DFFE5BE
+:0F426D00F03CFE80099002BBE004F002416622A3
+:103591009002BBEEF0A3EFF09000AAE0F9FDD3EFAB
+:1035A1009DEE9400500302366A90036DE0FF900295
+:1035B100BBE0FCA3E0FDD39FEC94004078ED946464
+:1035C100EC940050709002BBE0FAA3E0FBC374647A
+:1035D1009BFFE49AFE7C007D0A12235DE9FDC3EBAB
+:1035E1009DFDEA9CFCD3ED9FEC9E50030236FF90BB
+:1035F10002BBE0FEA3E0FF9000AAF07C007D0A126E
+:10360100235D9003AAEEF0A3EFF09002BBE0FEA3CE
+:10361100E0FFE4FD90001AE0F8A3E0F9A3E0FAA3CB
+:10362100E0FB1223F5E47B64FAF9F81224809000A0
+:10363100AB122600229002BBE07004A3E064646038
+:10364100030236FF9000AA7464F09003AA7403F099
+:10365100A374E8F090001AE0FCA3E0FDA3E0FEA350
+:10366100E0FF9000AB122600229000AAE0FD90023C
+:10367100BBE0FEA3E0FFC3ED9FFDE49EFC90034E83
+:10368100E0FBD3ED9BEC9400403F9000AAEFF07C6F
+:10369100007D0A12235D9003AAEEF0A3EFF09002E1
+:1036A100BBE0FEA3E0FFE4FD90001AE0F8A3E0F91F
+:1036B100A3E0FAA3E0FB1223F5E47B64FAF9F81224
+:1036C10024809000AB122600229002BBE07002A37E
+:1036D100E0702B9000AA04F09003AAE4F0A3740A0E
+:1036E100F0E47B64FAF9F890001AE0FCA3E0FDA392
+:0F36F100E0FEA3E0FF1224809000AB122600221F
+:10370000122D1D12415D9002B9EEF0A3EFF0E47F9F
+:10371000E87E03FDFC9000ABE0F8A3E0F9A3E0FA3B
+:10372000A3E0FB1223F590001AE0F8A3E0F9A3E070
+:10373000FAA3E0FB1224809003AAEEF0A3EFF0902E
+:1037400002B9E0FEA3E0FF1235919000AAE0FF7EEF
+:1037500000900327EEF0FAA3EFF0FB90001AE0FCD4
+:10376000A3E0FDA3E0FEA3E0FF900345122600CFF7
+:10377000EBCF7E00E4FCFD900345E0F8A3E0F9A365
+:10378000E0FAA3E0FB1223F5E47B64FAF9F81224D3
+:10379000809003781226009000ABE0FCA3E0FDA32C
+:1037A000E0FEA3E0FF90035A122600900336122693
+:1037B00025000000009003A8E0FFA3E090032DCFB8
+:1037C000F0A3EFF0E47830F608F67838F608F678EB
+:1037D0003412260C000000009003AE1226250000D3
+:1037E0000000E490039EF0A3F09003B4F0A3F090E7
+:1037F00003ACF0A3F0C252C24EC2509003A7F090A7
+:1038000003A6F0783AF608F67832F608F69003AA9E
+:10381000E0FFA3E09003B2CFF0A3EFF0C251C24D9E
+:103820009003B612262500000000E49003A8F0A340
+:10383000F0900390122625000000009003991226B4
+:10384000250000000090039412262500000000E4EB
+:1038500090039DF0900398F0C24F90038C122625A0
+:08386000000000001263372292
+:10445A0012415D9002B9EEF0A3EFF0900333E0FF52
+:10446A00E4FCFDFE90001AE0F8A3E0F9A3E0FAA349
+:10447A00E0FB1223F5E47B0AFAF9F8122480C8EC6F
+:10448A00C8C9EDC9CAEECACBEFCB90037DE0FCA345
+:10449A00E0FDA3E0FEA3E0FFD3122543500302454B
+:1044AA003090037CE0FF7E009002B9E0FCA3E0FDBF
+:1044BA00D39FEC9E4070D3900382E09518900381BD
+:1044CA00E095174061ED9FFBEC9EFA9003AAE0FE8F
+:1044DA00A3E0FF7C007D0A12236FC3EF9BEE9A5084
+:1044EA0045900370E0FFC39002BAE09FFF9002B9C3
+:1044FA00E09400FE7C007D0A12235D9003AAEEF090
+:10450A00A3EFF0E4FD90001AE0F8A3E0F9A3E0FAC3
+:10451A00A3E0FB1223F5E47BE87A03F9F81224807E
+:07452A009000AB12260022F5
+:101C7A00122D1D900342E0FEA3E0FFD3900377E00C
+:101C8A009F900376E09E401EE4FFFEFDFC900399C0
+:101C9A00E0F8A3E0F9A3E0FAA3E0FBD312252D4074
+:101CAA0005301802D252C3900382E095189003813E
+:101CBA00E095175012900398E004F0E09405400E66
+:101CCA007405F0D24E8007C24EE4900398F090005B
+:101CDA0028E0FEA3E0FFEE3395E0FDFC90037DE0F3
+:101CEA00F8A3E0F9A3E0FAA3E0FBD312252D5003F1
+:101CFA00021EE2E49003B4F0A3F09003ACF0A3F068
+:101D0A0090039DE004F0E0D3940540057405F0D2F9
+:101D1A004F9000B9E06010D251E4F09003B6122659
+:101D2A002500000000C24D900374E0FEA3E0FFEE20
+:101D3A003395E0FDFC900281E0F8A3E0F9A3E0FA14
+:101D4A00A3E02FFFEA3EFEE93DFDE83CFC9003904C
+:101D5A00122600E4FFFEFDFC900390E0F8A3E0F9F0
+:101D6A00A3E0FAA3E0FBD312252D4021900281E0E3
+:101D7A00A3E0A3E0FEA3E0FF900375E02FFF90032A
+:101D8A0074E03EFE783BEF26F618EE36F6C3783B53
+:101D9A00E6941018E6940E5003021E2C0874F026DE
+:101DAA00F61874F136F690001AE0FCA3E0FDA3E001
+:101DBA00FEA3E0FF9000ABE0F8A3E0F9A3E0FAA3EA
+:101DCA00E0FBC312254350219000ABE0FCA3E0FDE9
+:101DDA00A3E0FEA3E02401FFE43EFEE43DFDE43C73
+:101DEA00FC9000AB122600801490001AE0FCA3E0DD
+:101DFA00FDA3E0FEA3E0FF9000AB12260030518D58
+:101E0A009003B6E0FCA3E0FDA3E0FEA3E02401FFFB
+:101E1A00E43EFEE43DFDE43CFC9003B612260002DB
+:101E2A001D97900342E0FEA3E0FFD3900377E09F63
+:101E3A00900376E09E404490006AE0FEA3E0FFEE45
+:101E4A003395E0FDFC900281E0F8A3E0F9A3E0FA03
+:101E5A00A3E0FBC312252D5022C3900069E0951818
+:101E6A00900068E09517501390006CE0FF9003A76C
+:101E7A00E004F0C39F4004EFF0D25290006AE0FE03
+:101E8A00A3E0FFEE3395E0FDFC900281E0F8A3E0C9
+:101E9A00F9A3E0FAA3E0FBC312252D503590034FB6
+:101EAA00E0FCA3E0FDA3E0FEA3E0FF90032FE0F82F
+:101EBA00A3E0F9A3E0FAA3E0FBC312254350139071
+:101ECA000365E0FF9003A6E004F0C39F4004EFF02F
+:101EDA00D25012445A022220900028E0FEA3E0FFCA
+:101EEA00C3E49FFFE49EFE3395E0FDFC90037DE092
+:101EFA00F8A3E0F9A3E0FAA3E0FBC312252D4003FF
+:101F0A000220D7E49003A7F09003A6F0C250C25271
+:101F1A009003ACF0A3F09003B5F090039DF0C24F8C
+:101F2A00900361E0FCA3E0FDA3E0FEA3E0FF9002C2
+:101F3A0081E0F8A3E0F9A3E0FAA3E02FFBEA3EFA76
+:101F4A00E93DF9E83CF8900374E0FEA3E0FFEE33C4
+:101F5A0095E0FDFCEB2FFFEA3EFEE93DFDE83CFC87
+:101F6A00900390122600900390E0FCA3E0FDA3E00A
+:101F7A00FEA3E0FFEC33500AC37833E69FF618E677
+:101F8A009EF6C37833E6941018E6940E50030220A6
+:101F9A006CC37833E6941018E6940E40670874F020
+:101FAA0026F61874F136F69000B3E0FCA3E0FDA320
+:101FBA00E0FEA3E02401FFE43EFEE43DFDE43CFC38
+:101FCA009000B3122600E47F01FEFDFC9000ABE016
+:101FDA00F8A3E0F9A3E0FAA3E0FBD312254340B14A
+:101FEA009000ABE0FCA3E0FDA3E0FEA3E024FFFF2A
+:101FFA00EE34FFFEED34FFFDEC34FFFC9000AB1233
+:10200A002600808D90001EE0FCA3E0FDA3E0FEA365
+:10201A00E0FF9000B3E0F8A3E0F9A3E0FAA3E0FB45
+:10202A00C3122543403C9000B3E0FCA3E0FDA3E0CB
+:10203A00FEA3E0FF90001EE0F8A3E0F9A3E0FAA3F4
+:10204A00E0FBEF9BFFEE9AFEED99FDEC98FC900009
+:10205A00B3122600900023E004F07006900022E0FC
+:10206A0004F0900353E0FEA3E0FFD3900377E09FD0
+:10207A00900376E09E50030222209000AFE0FCA37A
+:10208A00E0FDA3E0FEA3E0FF900281E0F8A3E0F9FF
+:10209A00A3E0FAA3E0FBD312252D5003022220D39A
+:1020AA0090007BE0951690007AE095155003022285
+:1020BA002090007CE0FF9003B4E004F09F500302FC
+:1020CA002220EFF09000B97401F0022220900374EC
+:1020DA00E0FAA3E0FBFFCEEACEEE3395E0FDFC3357
+:1020EA0040030221CAC37833E69BFF18E69AFEF63C
+:1020FA0008EFF6C39410EE940E50030221CA74F04E
+:10210A0026F61874F136F69000B3E0FCA3E0FDA3BE
+:10211A00E0FEA3E02401FFE43EFEE43DFDE43CFCD6
+:10212A009000B3122600E47F01FEFDFC9000ABE0B4
+:10213A00F8A3E0F9A3E0FAA3E0FBD3122543402277
+:10214A009000ABE0FCA3E0FDA3E0FEA3E024FFFFC8
+:10215A00EE34FFFEED34FFFDEC34FFFC9000AB12D1
+:10216A00260090001EE0FCA3E0FDA3E0FEA3E0FF32
+:10217A009000B3E0F8A3E0F9A3E0FAA3E0FBC312EE
+:10218A002543403C9000B3E0FCA3E0FDA3E0FEA39E
+:10219A00E0FF90001EE0F8A3E0F9A3E0FAA3E0FB59
+:1021AA00EF9BFFEE9AFEED99FDEC98FC9000B312BE
+:1021BA002600900023E004F07006900022E004F06C
+:1021CA0090038BE0FF9003ACE475F0011223C4FC8A
+:1021DA00C3E5F09FEC9400403A900353E0FEA3E07D
+:1021EA00FFD3900377E09F900376E09E4025D3903B
+:1021FA00007BE0951690007AE09515401690007CD9
+:10220A00E0FF9003B5E004F09F4008EFF09000B9BA
+:10221A007401F01226B5E47FE87E03FDFC9000AB62
+:10222A00E0F8A3E0F9A3E0FAA3E0FB1223F590009B
+:10223A001AE0F8A3E0F9A3E0FAA3E0FB12248090E5
+:10224A0003AAEEF0A3EFF0900028E0FEA3E0FFC39C
+:10225A00E49FFFE49EFE3395E0FDFC90037DE0F8E9
+:10226A00A3E0F9A3E0FAA3E0FBC312252D400C205A
+:10227A001509201A06201B03301C02C251121056DF
+:10228A009000AAE0FF7E00900327EEF0FAA3EFF099
+:10229A00FB90001AE0FCA3E0FDA3E0FEA3E0FF90A0
+:1022AA000345122600CFEBCF7E00E4FCFD900345E8
+:1022BA00E0F8A3E0F9A3E0FAA3E0FB1223F5E47B3C
+:1022CA0064FAF9F81224809003781226009000220A
+:1022DA00E0FFA3E0900366CFF0A3EFF09003AAE03B
+:1022EA00FFA3E09003B2CFF0A3EFF0900390E0FCDD
+:1022FA00A3E0FDA3E0FEA3E0FF900399122600905D
+:10230A0000ABE0FCA3E0FDA3E0FEA3E0FF90035ACC
+:10231A001226009003AEE0FCA3E0FDA3E0FEA3E0DA
+:10232A00FF9003361226009003A8E0FFA3E0900373
+:0A233A002DCFF0A3EFF0126337225D
+:106E8F00122D1D90038C1225BF900329E0F8A3E06B
+:106E9F00F9A3E0FAA3E0FBC3122543501490032992
+:106EAF00E0FCA3E0FDA3E0FEA3E0FF90038C12261D
+:056EBF00001263372200
+:10290D009005F5E4F0A37464F0122D1D12415D9055
+:10291D0005F5EEF0A3EFF04E702E9000AA04F090A6
+:10292D0003AAE4F0A3740AF0E47B64FAF9F89000CA
+:10293D001AE0FCA3E0FDA3E0FEA3E0FF12248090CB
+:10294D0000AB122600022A17900329E0FCA3E0FD3C
+:10295D00A3E0FEA3E0FF90038CE0F8A3E0F9A3E071
+:10296D00FAA3E0FBC3122543400E9005F5E0FEA34C
+:10297D00E0FF123591022A17E47F64FEFDFC900002
+:10298D001AE0F8A3E0F9A3E0FAA3E0FB1223F59017
+:10299D0000ABE0F8A3E0F9A3E0FAA3E0FB1224807A
+:1029AD00C8ECC8C9EDC9CAEECACBEFCB90034EE057
+:1029BD00FF9005F6E02FFF9005F5E03400FEE4FCF6
+:1029CD00FDD312254340439005F5E0FAA3E0FB7CCF
+:1029DD00007D0AFFCEEACE12235D9003AAEEF0A38E
+:1029ED00EFF0CFEBCFCEEACEE4FD90001AE0F8A3E6
+:1029FD00E0F9A3E0FAA3E0FB1223F5E47B64FAF916
+:102A0D00F81224809000AB122600E47830F608F618
+:102A1D007838F608F6783412260C00000000900382
+:102A2D00AE12262500000000E490039EF0A3F09066
+:102A3D0003B4F0A3F09003ACF0A3F0C252C24EC2A7
+:102A4D00509003A7F09003A6F0783AF608F6783286
+:102A5D00F608F69003AAE0FFA3E09003B2CFF0A32F
+:102A6D00EFF0C251C24D9003B612262500000000B2
+:102A7D00E49003A8F0A3F090039012262500000027
+:102A8D000090039912262500000000900394122651
+:102A9D002500000000E490039DF0900398F0C24FD4
+:102AAD0090038C122625000000009000AAE0FF7E06
+:102ABD0000900327EEF0FAA3EFF0FB90001AE0FC74
+:102ACD00A3E0FDA3E0FEA3E0FF900345122600CF97
+:102ADD00EBCF7E00E4FCFD900345E0F8A3E0F9A305
+:102AED00E0FAA3E0FB1223F5E47B64FAF9F8122473
+:102AFD00809003781226009000ABE0FCA3E0FDA3CC
+:102B0D00E0FEA3E0FF90035A122600900336122632
+:102B1D002500000000E490032DF0A3F0126337228E
+:1026B500305109305206C251D24D802130521E9000
+:1026C50003AA7403F0A374E8F090001AE0FCA3E0F9
+:1026D500FDA3E0FEA3E0FF9000AB122600304D0302
+:1026E5000227659000B7E0FCA3E0FD900022E0FE24
+:1026F500A3E0FFC39DFDEE9CFCC390035FE09D90AE
+:10270500035EE09C400302290C20520302290C12AF
+:102715005F77E4FCFDFE90001AE0F8A3E0F9A3E082
+:10272500FAA3E0FB1223F5ECC0E0EDC0E0EEC0E05B
+:10273500EFC0E09000B7E0FEA3E0FF125F77CBEFBC
+:10274500CBE4FAF9F8D0E0FFD0E0FED0E0FDD0E030
+:10275500FC1224809003B61226000228C10228C16B
+:10276500C24DE47F32FEFDFC900016E0F8A3E0F9CF
+:10277500A3E0FAA3E0FB1223F5E47B64FAF9F8126F
+:1027850024809002B91226009002B9E0FCA3E0FD76
+:10279500A3E0FEA3E0FF9003B6E0F8A3E0F9A3E011
+:1027A500FAA3E02FFFEA3EFEE93DFDE83CFC900080
+:1027B50016E0F8A3E0F9A3E0FAA3E0FBC312254372
+:1027C500400302290C900344E0FFE4FCFDFE900069
+:1027D5001AE0F8A3E0F9A3E0FAA3E0FB1223F5E47D
+:1027E5007B64FAF9F81224809002B912260090024F
+:1027F500B9E0FCA3E0FDA3E0FEA3E0FF90001AE032
+:10280500F8A3E0F9A3E0FAA3E02FFFEA3EFEE93DD5
+:10281500FDE83CFC9003B6E0F8A3E0F9A3E0FAA3D9
+:10282500E0FBD3122543402E9002B9E0FCA3E0FD66
+:10283500A3E0FEA3E0FF90001AE0F8A3E0F9A3E00F
+:10284500FAA3E02FFFEA3EFEE93DFDE83CFC9003DC
+:10285500B612260080669002B9E0FCA3E0FDA3E075
+:10286500FEA3E0FF9003B6E0F8A3E0F9A3E0FAA326
+:10287500E02FFFEA3EFEE93DFDE83CFC90001AE052
+:10288500F8A3E0F9A3E0FAA3E0FBD3122543402C1B
+:102895009002B9E0F8A3E0F9A3E0FAA3E0FB900009
+:1028A5001AE0FCA3E0FDA3E0FEA3E09BFFEE9AFE89
+:1028B500ED99FDEC98FC9003B61226009003B6E066
+:1028C500FCA3E0FDA3E0FEA3E0FF90001A122600A2
+:1028D5009003AA7403F0A374E8F090001AE0FCA337
+:1028E500E0FDA3E0FEA3E0FF9000AB122600900000
+:1028F50022E0FFA3E09000B7CFF0A3EFF09003B67E
+:0829050012262500000000224B
+:105F7700C3900388E09F900387E09E500479558083
+:105F870048C3900386E09F900385E09E50169003D8
+:105F97004BE0FCA3E0FD12236F90033CE0A3E0C3BA
+:105FA7009FF98025C3900384E09F900383E09E5070
+:105FB70016900349E0FCA3E0FD12236F90033AE03B
+:0D5FC700A3E0C39FF980027964CFE9CF22E7
+:10105600E49002B9F0A3F0FFA3F0A3F0A3F090038D
+:10106600A0E0645A6028A2AF9253C2AF75A701E40C
+:10107600EF90124093FE74A02FF582E43403F583BB
+:10108600EEF00FEFB406E9E4F5A7A25392AF900392
+:10109600A5E064C36003021C48FF74A02FF582E438
+:1010A6003403F583E0FEEF9073F7936E6003021C42
+:1010B600480FEFB406E48003021C48900028E0FEC7
+:1010C600A3E0FFEE3395E0FDFC90037DE0F8A3E09E
+:1010D600F9A3E0FAA3E0FBD312252D50030214F185
+:1010E600204F030214F1E47830F608F67838F60853
+:1010F600F69000AAE0D394634003021C48C3900311
+:1011060082E09518900381E09517401E90034DE00C
+:10111600FF7E007C007D0A12235DD39003ABE09F27
+:101126009003AAE09E50030213C9304E5A90034D15
+:10113600E0FBFF7E007C007D0A12235D9003ABE09E
+:101146002496FD9003AAE03400FCC3ED9FEC9E506C
+:1011560036EBFF7E007C007D0A12235DEEF0A3EFE6
+:10116600F0CFEBCFE4FDFE90001AE0F8A3E0F9A380
+:10117600E0FAA3E0FB1223F5E47B64FAF9F8122403
+:10118600809000AB12260090034FE0FCA3E0FDA385
+:10119600E0FEA3E0FF90032FE0F8A3E0F9A3E0FA56
+:1011A600A3E0FBD3122543500302123090034FE015
+:1011B600F8A3E0F9A3E0FAA3E0FB90032FE0FCA379
+:1011C600E0FDA3E0FEA3E09BFBEE9AFAED99F9ECB5
+:1011D60098F8900389E0FFE4FCFDFE1223F5E47B1A
+:1011E6000AFAF9F81223F5EEC0E0EFC0E090001419
+:1011F600E0FEA3E0FFC3900069E09FFF900068E077
+:101206009EFECBEFCBFAE4F9F8D0E0FFD0E0FE1279
+:101216002480EFC0E0AF13CBEFCBE4FAF9F8D0E0CF
+:10122600FF122480900394122600C3900063E09579
+:1012360018FF900062E09517FE900389E0FD7C00A0
+:10124600122688E47B0AFAF9F81223F5EEC0E0EFDD
+:10125600C0E0900014E0FEA3E0FFC3900069E09FA9
+:10126600FF900068E09EFECBEFCBFAE4F9F8D0E001
+:10127600FFD0E0FE1224809002BE12260090039456
+:10128600E0FCA3E0FDA3E0FEA3E0FF9002BEE0F8D1
+:10129600A3E0F9A3E0FAA3E0FBC3122543501490A0
+:1012A60002BEE0FCA3E0FDA3E0FEA3E0FF900394F2
+:1012B600122600E47F24FEFDFC90001AE0F8A3E06D
+:1012C600F9A3E0FAA3E0FB1223F5900394E0F8A358
+:1012D600E0F9A3E0FAA3E0FB1223F5EEC0E0EFC0CD
+:1012E600E09000AAE0FFC374659FFFE49400FECB84
+:1012F600EFCBFAE4F9F8D0E0FFD0E0FE122480E468
+:101306007B0AFAF9F81224809003941226009000C2
+:101316006AE0FEA3E0FFEE3395E0FDFC900390E06B
+:10132600F8A3E0F9A3E0FAA3E0FBD312252D406C65
+:10133600900390E0FCA3E0FDA3E0FEA3E0FFC8EC71
+:10134600C8A3E0FCA3E0FDA3E0FEA3E0FF12248017
+:10135600ECC0E0EDC0E0EEC0E0EFC0E090006AE077
+:10136600FEA3E0FFFBCAEECAEA3395E0F9F8900364
+:1013760090E0FCA3E0FDA3E0FEA3E0C39BFFEE9A92
+:10138600FEED99FDEC98FCD0E0FBD0E0FAD0E0F958
+:10139600D0E0F81223F5900394122600900063E043
+:1013A60024FFFF900062E034FFFEC3E5189FE517B7
+:1013B6009E50030214839003941226250000000019
+:1013C6000214839003AAE0FEA3E0FF7C007D0A12CC
+:1013D600236FEF2401FFE43EFE9000AAE0FB7A00B3
+:1013E600C39FEA9E503C9003AAE0FEA3E0FF7C0068
+:1013F6007D0A12236FEB2401FDEA33FCD3ED9FEC4B
+:101406009E401FE47F24FEFDFC90001AE0F8A3E056
+:10141600F9A3E0FAA3E0FB1223F590039412260049
+:10142600805B9000ABE0F8A3E0F9A3E0FAA3E0FB51
+:1014360090001AE0FCA3E0FDA3E0FEA3E0C39BFF3F
+:10144600EE9AFEED99FDEC98FCE47B107A0EF9F825
+:101456001223F5EEC0E0EFC0E09000AAE0FFC374EF
+:10146600649FFFE49400FECBEFCBFAE4F9F8D0E0FA
+:10147600FFD0E0FE12248090039412260090039081
+:10148600E0FCA3E0FDA3E0FEA3E0FFFBCAEECAC9B1
+:10149600EDC9C8ECC8A3E0FCA3E0FDA3E0FEA3E011
+:1014A600FF1224809002BCEEF0A3EFF02050033030
+:1014B600520D90038AE0FF9002BCE4F0A3EFF09097
+:1014C60003A8E475F0011223C4FEC39002BDE095A3
+:1014D600F09002BCE09E4003021C489000AAE00483
+:1014E600F0E49003A8F0A3F0021C48900028E0FE68
+:1014F600A3E0FFC3E49FFFE49EFE3395E0FDFC906E
+:10150600037DE0F8A3E0F9A3E0FAA3E0FBC312250C
+:101516002D4003021BE89000AAE094015003021C30
+:1015260048900325E0FEA3E0FFAD137C0012268859
+:1015360090034FE0F8A3E0F9A3E0FAA3E0FBC3129F
+:101546002543402DD390007BE0951690007AE095D8
+:1015560015501E900359E0FF7E007C007D0A122381
+:101566005DC39003ABE09F9003AAE09E4003021880
+:101576000B90036EE0FEA3E0FFD3900377E09F900D
+:101586000376E09E500302180B900368E0FCA3E08C
+:10159600FDA3E0FEA3E0FF90037DE0F8A3E0F9A33E
+:1015A600E0FAA3E0FBD312252D500302180B78397D
+:1015B600E61846700302180B900399E0FCA3E0FDC1
+:1015C600A3E0FEA3E024D0FFEE3407FEE43DFDE4F5
+:1015D6003CFC900390E0F8A3E0F9A3E0FAA3E0FB5B
+:1015E600C312252D400302180B900399E0FCA3E0DB
+:1015F600FDA3E0FEA3E02430FFEE34F8FEED34FF59
+:10160600FDEC34FFFC900390E0F8A3E0A3E0A3E038
+:10161600D312252D500302180B900360E07E00259F
+:1016260016FFEE3515FEC3EF783996EE1896400391
+:101636000217FA90039EE0FEA3E0FF9400EE9400EA
+:1016460050030217FAEF9401EE9400500890039E9F
+:10165600E4F0A304F090034FE0FCA3E0FDA3E0FE5A
+:10166600A3E0FF78341225A6D312254350030217B0
+:1016760013900355E0F8A3E0F9A3E0FAA3E0FB908A
+:10168600034FE0FCA3E0FDA3E0FEA3E09BFBEE9A84
+:10169600FAED99F9EC98F890039EE0FEA3E0FFE4DA
+:1016A600FCFD1223F5ECC0E0EDC0E0EEC0E0EFC0BB
+:1016B600E090034FE0F8A3E0F9A3E0FAA3E0FBE82B
+:1016C600C0E0783412258ED0E0F8C3EF9BFBEE9A8B
+:1016D600FAED99F9EC98F8D0E0FFD0E0FED0E0FD05
+:1016E600D0E0FC122480EEC0E0EFC0E09000AAE05B
+:1016F60024FFFFE434FFFECBEFCBFAE4F9F8D0E0A9
+:10170600FFD0E0FE1224809003941226009000740D
+:10171600E0FEA3E0FFC3E5169FFFE5159EFE9003DE
+:101726009EE0FCA3E0FD122688EEC0E0EFC0E0C319
+:101736007839E69516FF18E69515FECBEFCBFAE459
+:10174600F9F8D0E0FFD0E0FE122480EEC0E0EFC052
+:10175600E09000AAE024FFFFE434FFFECBEFCBFAD3
+:10176600E4F9F8D0E0FFD0E0FE1224809002BE1229
+:101776002600900394E0FCA3E0FDA3E0FEA3E0FFB7
+:101786009002BEE0F8A3E0F9A3E0FAA3E0FBC312DF
+:10179600254350149002BEE0FCA3E0FDA3E0FEA3A7
+:1017A600E0FF9003941226007838A61508A6169036
+:1017B600034FE0FCA3E0FDA3E0FEA3E0FF783412B4
+:1017C60025F4E490039EF0A3F0900394E0F8A3E0E0
+:1017D600F9A3E0FAA3E0FB900390E0FCA3E0FDA3ED
+:1017E600E0FEA3E0FF12251F1223F59003941226B4
+:1017F60000021B7690039FE004F0700690039EE0C3
+:1018060004F0021B767838A61508A61690034FE05A
+:10181600FCA3E0FDA3E0FEA3E0FF78341225F4E488
+:1018260090039EF0A3F090036EE0FEA3E0FFC3904A
+:101836000377E09F900376E09E4021900368E0FCEA
+:10184600A3E0FDA3E0FEA3E0FF90037DE0F8A3E0A4
+:10185600F9A3E0FAA3E0FB12252D501D90001AE033
+:10186600FCA3E0FDA3E0FEA3E0FF9003AE1226007A
+:10187600E47830F608F60219FA7830E6FE08E6FF54
+:101886002414FDE43EFC900376E0FAA3E0FBD39D2E
+:10189600EA9C5011EB2414FDE43AFCD3EF9DEE9C38
+:1018A60050030219FA900376E0FEA3E0FF7830EECB
+:1018B600F608EFF62487FFEE34F59002B9F0A3EFB1
+:1018C600F0900340E0FEA3E0FFFBCAEECAE4F9F89D
+:1018D6009002B9E0FEA3E0FFEE3395E0FDFC122393
+:1018E600F5C8ECC8C9EDC9CAEECACBEFCB90033E2A
+:1018F600E0FEA3E0FFE4C3EF9BFBEE9AFAE499F95E
+:10190600E498F89002B9E0FEA3E0FFEE3395E0FD1F
+:10191600FC1223F5E47B107A27F9F8126AC1C8ECA9
+:10192600C8C9EDC9CAEECACBEFCB900372E0FEA3DD
+:10193600E0FFE4FCFDEB2FFFEA3EFEED39FDEC385F
+:10194600FC90001AE0F8A3E0F9A3E0FAA3E0FB128A
+:1019560023F5E47BD07A07F9F81224809003AE12BF
+:10196600260090001AE0FCA3E0FDA3E0FEA3E0FF42
+:101976009003AEE0F8A3E0F9A3E0FAA3E0FBD312EC
+:101986002543401690001AE0FCA3E0FDA3E0FEA369
+:10199600E0FF9003AE122600805AE47F06FEFDFCAF
+:1019A60090001AE0F8A3E0F9A3E0FAA3E0FB122303
+:1019B600F5E47B0AFAF9F81224809003AEE0F8A366
+:1019C600E0F9A3E0FAA3E0FBC31225435026E47F27
+:1019D60006FEFDFC90001AE0F8A3E0F9A3E0FAA3E6
+:1019E600E0FB1223F5E47B0AFAF9F812248090034F
+:1019F600AE1226009003AEE0F8A3E0F9A3E0FAA346
+:101A0600E0FB90001AE0FCA3E0FDA3E0FEA3E0C328
+:101A16009BFFEE9AFEED99FDEC98FCE47B0DFAF93E
+:101A2600F81223F5E47B0AFAF9F81224809000AB49
+:101A3600E0F8A3E0F9A3E0FAA3E0FBC312254350C4
+:101A460020E47F24FEFDFC90001AE0F8A3E0F9A351
+:101A5600E0FAA3E0FB1223F5900394122600021B82
+:101A6600769000ABE0FCA3E0FDA3E0FEA3E0FF90D0
+:101A760003AEE0F8A3E0F9A3E0FAA3E02FFFEA3E05
+:101A8600FEE93DFDE83CFC90001AE0F8A3E0F9A36E
+:101A9600E0FAA3E0FBC3EF9BFFEE9AFEED99FDECA7
+:101AA60098FCE47B64FAF9F81223F59003AEE0F8AB
+:101AB600A3E0F9A3E0FAA3E0FB1224809002BBEFB7
+:101AC600F02401FFE433FE9000AAE0FDC39FEE641C
+:101AD60080F87480985035ED2401FFE433FE9002BF
+:101AE600BBE0FDD3EF9D7480F86E98401FE47F2421
+:101AF600FEFDFC9003AEE0F8A3E0F9A3E0FAA3E054
+:101B0600FB1223F590039412260080649000ABE04C
+:101B1600FCA3E0FDA3E0FEA3E0FF9003AEE0F8A384
+:101B2600E0F9A3E0FAA3E02FFFEA3EFEE93DFDE877
+:101B36003CFC90001AE0F8A3E0F9A3E0FAA3E0FB6E
+:101B4600C3EF9BFFEE9AFEED99FDEC98FCE47B104B
+:101B56007A0EF9F81223F5EFC0E09000AAE0FFFB39
+:101B6600E4FAF9F8D0E0FF122480900394122600DC
+:101B7600900390E0FCA3E0FDA3E0FEA3E0FF1225A6
+:101B86001FCBEFCBCAEECAC9EDC9C8ECC8A3E0FCAF
+:101B9600A3E0FDA3E0FEA3E0FF1224809002BCEECA
+:101BA600F0A3EFF09003A8E475F0011223C4FCD370
+:101BB600E5F09FEC9E400D9000AAE014F0E490033F
+:101BC600A8F0A3F030197B900371E0FF9000AAE023
+:101BD600D39F506E90036CE060689000AA7401F089
+:101BE6008060E47838F608F6783412260C00000097
+:101BF60000E47830F608F69000AAE0D3940140425B
+:101C0600900374E0FEA3E0FFEE3395E0FDFC335055
+:101C1600319003AAE0FEA3E0FF7C007D0A12236F49
+:101C2600CAEECACBEFCB9003B2E0FEA3E0FF7C0086
+:101C36007D0A12236FD3EF9BEE9A40069000AAE02E
+:101C460014F0E4FFFEFDFC900399E0F8A3E0F9A38D
+:101C5600E0FAA3E0FBD312252D40093018069000C8
+:101C6600AA7464F09002BCE0FFA3E0900334CFF0C6
+:041C7600A3EFF022C6
+:1071A300304C19204306204403304510C24CC243DF
+:0D71B300C244C245C2AF12731C1200A622D6
+:10F8000033270C800D480DDE0E740ED80F3C0FA070
+:10F8100010041036106800000FA000000FA00000B8
+:10F820000BB800000B410000006414010064055A8D
+:10F83000021501300073696E6F7765616C74680042
+:10F840000020231222000053483339463030340060
+:10F850000000004C494F4E00000000000000000076
+:10F86000005A109A10360202104000640500000B86
+:10F87000B802025A0A8C0BB802020B5405FFFFB102
+:10F88000E002FFFF63C002045A0FA01E465A0C9FFD
+:10F890000C6D0AAB0ADD03035A0D670CD10A470A47
+:10F8A000795A105400140064025A6400000BB8FF27
+:10F8B000FFEC78000000000000005A7411305A0A72
+:10F8C00022FFAE000100000000005A00000000000E
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F00000000000000000000000000000005AA508
+:10FA000033270C800D480DDE0E740ED80F3C0FA06E
+:10FA100010041036106800000FA000000FA00000B6
+:10FA20000BB800000B410000006414010064055A8B
+:10FA3000021501300073696E6F7765616C74680040
+:10FA4000002023122200005348333946303034005E
+:10FA50000000004C494F4E00000000000000000074
+:10FA6000005A109A10360202104000640500000B84
+:10FA7000B802025A0A8C0BB802020B5405FFFFB100
+:10FA8000E002FFFF63C002045A0FA01E465A0C9FFB
+:10FA90000C6D0AAB0ADD03035A0D670CD10A470A45
+:10FAA000795A105400140064025A6400000BB8FF25
+:10FAB000FFEC78000000000000005A7411305A0A70
+:10FAC00022FFAE000100000000005A00000000000C
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF00000000000000000000000000000005AA506
+:10234400BB010689828A83E0225002E722BBFE0297
+:09235400E32289828A83E49322CA
+:10235D00EF8DF0A4A8F0CF8CF0A428CE8DF0A42E94
+:02236D00FE224E
+:10236F00BC000BBE0029EF8DF084FFADF022E4CC52
+:10237F00F875F008EF2FFFEE33FEEC33FCEE9DEC1B
+:10238F00984005FCEE9DFE0FD5F0E9E4CEFD22ED61
+:10239F00F8F5F0EE8420D21CFEADF075F008EF2FAB
+:1023AF00FFED33FD4007985006D5F0F222C398FD9C
+:0523BF000FD5F0EA2239
+:1023C400C5F0F8A3E028F0C5F0F8E58215827002A4
+:0623D4001583E038F02241
+:0D23DA00EF2BFFEE3AFEED39FDEC38FC2252
+:0E23E700C3EF9BFFEE9AFEED99FDEC98FC22F1
+:1023F500E88FF0A4CC8BF0A42CFCE98EF0A42CFC87
+:102405008AF0EDA42CFCEA8EF0A4CDA8F08BF0A404
+:102415002DCC3825F0FDE98FF0A42CCD35F0FCEB63
+:102425008EF0A4FEA9F0EB8FF0A4CFC5F02ECD3928
+:0F243500FEE43CFCEAA42DCE35F0FDE43CFC2295
+:1024440075F008758200EF2FFFEE33FECD33CDCC4F
+:1024540033CCC58233C5829BED9AEC99E5829840D2
+:102464000CF582EE9BFEED9AFDEC99FC0FD5F0D6AF
+:10247400E4CEFBE4CDFAE4CCF9A88222B800C1B9D9
+:102484000059BA002DEC8BF084CFCECDFCE5F0CB17
+:10249400F97818EF2FFFEE33FEED33FDEC33FCEB50
+:1024A40033FB10D703994004EB99FB0FD8E5E4F90B
+:1024B400FA227818EF2FFFEE33FEED33FDEC33FCF8
+:1024C400C933C910D7059BE99A4007EC9BFCE99AEC
+:1024D400F90FD8E0E4C9FAE4CCFB2275F010EF2F31
+:1024E400FFEE33FEED33FDCC33CCC833C810D70731
+:1024F4009BEC9AE899400AED9BFDEC9AFCE899F86C
+:0E2504000FD5F0DAE4CDFBE4CCFAE4C8F922FE
+:106AC100C2D5E830E70FB2D5E4C39BFBE49AFAE400
+:106AD10099F9E498F8EC30E717B2D5126AF7122465
+:106AE10080E4C39BFBE49AFAE499F9E498F8800303
+:106AF10012248030D50DE4C39FFFE49EFEE49DFD8A
+:046B0100E49CFC22F2
+:0D251200EF4BFFEE4AFEED49FDEC48FC22C8
+:0E251F00C3E49FFFE49EFEE49DFDE49CFC22CD
+:10252D00EB9FF5F0EA9E42F0E99D42F0EC6480C825
+:06253D0064809845F022C5
+:10254300EB9FF5F0EA9E42F0E99D42F0E89C45F0EE
+:012553002265
+:10255400E8600FECC313FCED13FDEE13FEEF13FF65
+:03256400D8F12289
+:10256700E86010ECA2E713FCED13FDEE13FEEF138A
+:04257700FFD8F02277
+:10257B00E8600FEFC333FFEE33FEED33FDEC33FCBE
+:03258B00D8F12262
+:0C258E00E6FC08E6FD08E6FE08E6FF2279
+:0C259A00E0FCA3E0FDA3E0FEA3E0FF22B4
+:0D25A600E6FB08E6F908E6FA08E6CBF822A5
+:0C25B300E0F8A3E0F9A3E0FAA3E0FB22AB
+:1025BF007401FF3395E0FEFDFCA3A3A3E02FFFF012
+:1025CF00E582158270021583E03EFEF0E5821582EA
+:1025DF0070021583E03DFDF0E582158270021583D0
+:0525EF00E03CFCF022BD
+:0C25F400ECF608EDF608EEF608EFF62213
+:0C260000ECF0A3EDF0A3EEF0A3EFF0224D
+:10260C00D083D082E493F608740193F60874029395
+:09261C00F608740393F6740473CC
+:10262500A8828583F0D083D08212263C12263C12E4
+:10263500263C12263CE473E493A3C583C5F0C58309
+:10264500C8C582C8F0A3C583C5F0C583C8C582C8FF
+:012655002262
+:0C265600A42582F582E5F03583F583228F
+:10266200D083D082F8E4937012740193700DA3A307
+:1026720093F8740193F5828883E47374029368601B
+:06268200EFA3A3A380DF1B
+:10268800EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02DDF
+:10269800FDE43CFCE8A42EC8C5F03DFDE43CFCEF9D
+:0D26A800A4FFE5F028FEE43DFDE43CFC222B
+:00000001FF
diff --git a/output/McuFlash_ISP.lnp b/output/McuFlash_ISP.lnp
new file mode 100644
index 0000000..5dd26e0
--- /dev/null
+++ b/output/McuFlash_ISP.lnp
@@ -0,0 +1,36 @@
+".\output\Main.obj",
+".\output\Initial.obj",
+".\output\InterruptApp.obj",
+".\output\Led.obj",
+".\output\KeyApp.obj",
+".\output\LowPower.obj",
+".\output\UartApp.obj",
+".\output\Memory.obj",
+".\output\AFE.obj",
+".\output\Balance.obj",
+".\output\Calculate.obj",
+".\output\Calibrate.obj",
+".\output\ChargerLoad.obj",
+".\output\ExtE2PRom.obj",
+".\output\Interrupt.obj",
+".\output\KeyScan.obj",
+".\output\McuFlash.obj",
+".\output\McuLib.obj",
+".\output\MosCtrl.obj",
+".\output\PorSelfTest.obj",
+".\output\Protect.obj",
+".\output\RTC.obj",
+".\output\TWI.obj",
+".\output\Uart.obj",
+".\output\Thermistor.obj",
+".\output\TwiIO.obj",
+".\output\STARTUP.obj",
+".\output\GasGaugeInter_V4_13.obj",
+".\code_gasguage\GasGaugeV4_13.LIB",
+".\output\BootApp.obj",
+".\output\DataFlash.obj"
+TO ".\output\McuFlash_ISP" REGFILE (.\output\McuFlash_ISP.ORC)
+PRINT(".\output\McuFlash_ISP.m51") RAMSIZE(256)
+DISABLEWARNING (16)
+CODE( 0X1000-0XFBFF , ?CO?DATAFLASH(0xF800) )
+XDATA( 0X0200-0X0AFE )
diff --git a/output/McuFlash_ISP.m51 b/output/McuFlash_ISP.m51
new file mode 100644
index 0000000..85fcc35
--- /dev/null
+++ b/output/McuFlash_ISP.m51
@@ -0,0 +1,6696 @@
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 1
+
+
+BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
+C:\KEIL_V5\C51\BIN\BL51.EXE .\output\Main.obj, .\output\Initial.obj, .\output\InterruptApp.obj, .\output\Led.obj, .\outp
+>> ut\KeyApp.obj, .\output\LowPower.obj, .\output\UartApp.obj, .\output\Memory.obj, .\output\AFE.obj, .\output\Balance.o
+>> bj, .\output\Calculate.obj, .\output\Calibrate.obj, .\output\ChargerLoad.obj, .\output\ExtE2PRom.obj, .\output\Interr
+>> upt.obj, .\output\KeyScan.obj, .\output\McuFlash.obj, .\output\McuLib.obj, .\output\MosCtrl.obj, .\output\PorSelfTest
+>> .obj, .\output\Protect.obj, .\output\RTC.obj, .\output\TWI.obj, .\output\Uart.obj, .\output\Thermistor.obj, .\output\
+>> TwiIO.obj, .\output\STARTUP.obj, .\output\GasGaugeInter_V4_13.obj, .\code_gasguage\GasGaugeV4_13.LIB, .\output\BootAp
+>> p.obj, .\output\DataFlash.obj TO .\output\McuFlash_ISP REGFILE (.\output\McuFlash_ISP.ORC) PRINT (.\output\McuFlash_I
+>> SP.m51) RAMSIZE (256) DISABLEWARNING (16) CODE (0X1000-0XFBFF, ?CO?DATAFLASH (0XF800)) XDATA (0X0200-0X0AFE)
+
+
+MEMORY MODEL: LARGE
+
+
+INPUT MODULES INCLUDED:
+ .\output\Main.obj (MAIN)
+ .\output\Initial.obj (INITIAL)
+ .\output\InterruptApp.obj (INTERRUPTAPP)
+ .\output\Led.obj (LED)
+ .\output\KeyApp.obj (KEYAPP)
+ .\output\LowPower.obj (LOWPOWER)
+ .\output\UartApp.obj (UARTAPP)
+ .\output\Memory.obj (MEMORY)
+ .\output\AFE.obj (AFE)
+ .\output\Balance.obj (BALANCE)
+ .\output\Calculate.obj (CALCULATE)
+ .\output\Calibrate.obj (CALIBRATE)
+ .\output\ChargerLoad.obj (CHARGERLOAD)
+ .\output\ExtE2PRom.obj (EXTE2PROM)
+ .\output\Interrupt.obj (INTERRUPT)
+ .\output\KeyScan.obj (KEYSCAN)
+ .\output\McuFlash.obj (MCUFLASH)
+ .\output\McuLib.obj (MCULIB)
+ .\output\MosCtrl.obj (MOSCTRL)
+ .\output\PorSelfTest.obj (PORSELFTEST)
+ .\output\Protect.obj (PROTECT)
+ .\output\RTC.obj (RTC)
+ .\output\TWI.obj (TWI)
+ .\output\Uart.obj (UART)
+ .\output\Thermistor.obj (THERMISTOR)
+ .\output\TwiIO.obj (TWIIO)
+ .\output\STARTUP.obj (?C_STARTUP)
+ .\output\GasGaugeInter_V4_13.obj (GASGAUGEINTER_V4_13)
+ .\code_gasguage\GasGaugeV4_13.LIB (GASGAUGEV4_12)
+ .\output\BootApp.obj (BOOTAPP)
+ .\output\DataFlash.obj (DATAFLASH)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?CLDPTR)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?IMUL)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?UIDIV)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?IILDX)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LADD)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSUB)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LMUL)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULDIV)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLDIV)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LOR)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LNEG)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLCMP)
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 2
+
+
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULCMP)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULSHR)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLSHR)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSHL)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDIDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDXDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDIDATA0)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LLDXDATA0)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LILDXDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTIDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTXDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTKIDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTKXDATA)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?OFFXADD)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?CCASE)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LIMUL)
+
+
+LINK MAP OF MODULE: .\output\McuFlash_ISP (MAIN)
+
+
+ TYPE BASE LENGTH RELOCATION SEGMENT NAME
+ -----------------------------------------------------
+
+ * * * * * * * D A T A M E M O R Y * * * * * * *
+ REG 0000H 0008H ABSOLUTE "REG BANK 0"
+ DATA 0008H 0007H UNIT ?DT?KEYSCAN
+ DATA 000FH 0006H UNIT ?DT?AFE
+ DATA 0015H 0004H UNIT ?DT?GASGAUGEINTER_V4_13
+ DATA 0019H 0002H UNIT _DATA_GROUP_
+ IDATA 001BH 0001H UNIT ?ID?EXTE2PROM
+ 001CH 0004H *** GAP ***
+ DATA 0020H 0007H BIT_ADDR ?BA?MEMORY
+ BIT 0027H.0 0001H.3 UNIT ?BI?EXTE2PROM
+ BIT 0028H.3 0001H.2 UNIT ?BI?UARTAPP
+ BIT 0029H.5 0000H.6 UNIT ?BI?GASGAUGEV4_12
+ BIT 002AH.3 0000H.6 UNIT _BIT_GROUP_
+ BIT 002BH.1 0000H.5 UNIT ?BI?AFE
+ BIT 002BH.6 0000H.5 UNIT ?BI?BALANCE
+ BIT 002CH.3 0000H.4 UNIT ?BI?LOWPOWER
+ BIT 002CH.7 0000H.4 UNIT ?BI?CHARGERLOAD
+ BIT 002DH.3 0000H.3 UNIT ?BI?INTERRUPTAPP
+ BIT 002DH.6 0000H.3 UNIT ?BI?MCUFLASH
+ BIT 002EH.1 0000H.2 UNIT ?BI?LED
+ BIT 002EH.3 0000H.2 UNIT ?BI?MOSCTRL
+ BIT 002EH.5 0000H.2 UNIT ?BI?PROTECT
+ BIT 002EH.7 0000H.2 UNIT ?BI?RTC
+ BIT 002FH.1 0000H.1 UNIT ?BI?CALIBRATE
+ BIT 002FH.2 0000H.1 UNIT ?BI?KEYSCAN
+ BIT 002FH.3 0000H.1 UNIT ?BI?PORSELFTEST
+ 002FH.4 0000H.4 *** GAP ***
+ IDATA 0030H 000CH UNIT ?ID?GASGAUGEV4_12
+ 003CH 0064H *** GAP ***
+ IDATA 00A0H 0060H ABSOLUTE
+
+ * * * * * * * X D A T A M E M O R Y * * * * * * *
+ XDATA 0000H 0002H ABSOLUTE
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 3
+
+
+ XDATA 0002H 0014H ABSOLUTE
+ XDATA 0016H 0004H ABSOLUTE
+ XDATA 001AH 0004H ABSOLUTE
+ XDATA 001EH 0004H ABSOLUTE
+ XDATA 0022H 0002H ABSOLUTE
+ XDATA 0024H 0002H ABSOLUTE
+ XDATA 0026H 0002H ABSOLUTE
+ XDATA 0028H 0002H ABSOLUTE
+ XDATA 002AH 0001H ABSOLUTE
+ XDATA 002BH 0001H ABSOLUTE
+ XDATA 002CH 0002H ABSOLUTE
+ XDATA 002EH 0001H ABSOLUTE
+ XDATA 002FH 0001H ABSOLUTE
+ XDATA 0030H 0002H ABSOLUTE
+ XDATA 0032H 0002H ABSOLUTE
+ XDATA 0034H 0001H ABSOLUTE
+ XDATA 0035H 000CH ABSOLUTE
+ XDATA 0041H 0004H ABSOLUTE
+ XDATA 0045H 0002H ABSOLUTE
+ XDATA 0047H 000CH ABSOLUTE
+ XDATA 0053H 000CH ABSOLUTE
+ XDATA 005FH 0002H ABSOLUTE
+ XDATA 0061H 0001H ABSOLUTE
+ XDATA 0062H 0002H ABSOLUTE
+ XDATA 0064H 0002H ABSOLUTE
+ XDATA 0066H 0001H ABSOLUTE
+ XDATA 0067H 0001H ABSOLUTE
+ XDATA 0068H 0002H ABSOLUTE
+ XDATA 006AH 0002H ABSOLUTE
+ XDATA 006CH 0001H ABSOLUTE
+ XDATA 006DH 0004H ABSOLUTE
+ XDATA 0071H 0001H ABSOLUTE
+ XDATA 0072H 0001H ABSOLUTE
+ XDATA 0073H 0001H ABSOLUTE
+ XDATA 0074H 0002H ABSOLUTE
+ XDATA 0076H 0002H ABSOLUTE
+ XDATA 0078H 0001H ABSOLUTE
+ XDATA 0079H 0001H ABSOLUTE
+ XDATA 007AH 0002H ABSOLUTE
+ XDATA 007CH 0001H ABSOLUTE
+ XDATA 007DH 0004H ABSOLUTE
+ XDATA 0081H 0001H ABSOLUTE
+ XDATA 0082H 0004H ABSOLUTE
+ XDATA 0086H 0001H ABSOLUTE
+ XDATA 0087H 0001H ABSOLUTE
+ XDATA 0088H 0001H ABSOLUTE
+ XDATA 0089H 0002H ABSOLUTE
+ XDATA 008BH 0001H ABSOLUTE
+ XDATA 008CH 0001H ABSOLUTE
+ XDATA 008DH 0001H ABSOLUTE
+ XDATA 008EH 0002H ABSOLUTE
+ XDATA 0090H 0002H ABSOLUTE
+ XDATA 0092H 0002H ABSOLUTE
+ XDATA 0094H 0002H ABSOLUTE
+ XDATA 0096H 0001H ABSOLUTE
+ XDATA 0097H 0001H ABSOLUTE
+ XDATA 0098H 0001H ABSOLUTE
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 4
+
+
+ XDATA 0099H 0002H ABSOLUTE
+ XDATA 009BH 0002H ABSOLUTE
+ XDATA 009DH 0002H ABSOLUTE
+ XDATA 009FH 0002H ABSOLUTE
+ XDATA 00A1H 0001H ABSOLUTE
+ XDATA 00A2H 0002H ABSOLUTE
+ XDATA 00A4H 0002H ABSOLUTE
+ XDATA 00A6H 0002H ABSOLUTE
+ XDATA 00A8H 0001H ABSOLUTE
+ XDATA 00A9H 0001H ABSOLUTE
+ XDATA 00AAH 0001H ABSOLUTE
+ XDATA 00ABH 0004H ABSOLUTE
+ XDATA 00AFH 0004H ABSOLUTE
+ XDATA 00B3H 0004H ABSOLUTE
+ XDATA 00B7H 0002H ABSOLUTE
+ XDATA 00B9H 0001H ABSOLUTE
+ XDATA 00BAH 0001H ABSOLUTE
+ XDATA 00BBH 0001H ABSOLUTE
+ XDATA 00BCH 0002H ABSOLUTE
+ XDATA 00BEH 0001H ABSOLUTE
+ XDATA 00BFH 0002H ABSOLUTE
+ XDATA 00C1H 0002H ABSOLUTE
+ XDATA 00C3H 0002H ABSOLUTE
+ XDATA 00C5H 0002H ABSOLUTE
+ XDATA 00C7H 0002H ABSOLUTE
+ XDATA 00C9H 0001H ABSOLUTE
+ XDATA 00CAH 0001H ABSOLUTE
+ XDATA 00CBH 0133H ABSOLUTE
+ XDATA 01FEH 0002H ABSOLUTE
+ XDATA 0200H 00B5H UNIT ?XD?AFE
+ XDATA 02B5H 0070H UNIT _XDATA_GROUP_
+ XDATA 0325H 0067H UNIT ?XD?GASGAUGEINTER_V4_13
+ XDATA 038CH 002EH UNIT ?XD?GASGAUGEV4_12
+ XDATA 03BAH 0022H UNIT ?XD?PROTECT
+ XDATA 03DCH 0015H UNIT ?XD?EXTE2PROM
+ XDATA 03F1H 000DH UNIT ?XD?UARTAPP
+ XDATA 03FEH 0002H UNIT ?XD?INTERRUPTAPP
+ XDATA 0400H 0096H ABSOLUTE
+ XDATA 0496H 0008H UNIT ?XD?RTC
+ XDATA 049EH 0002H UNIT ?XD?CALCULATE
+ XDATA 04A0H 0096H ABSOLUTE
+ XDATA 0536H 0006H UNIT ?XD?BALANCE
+ XDATA 053CH 0003H UNIT ?XD?LED
+ XDATA 053FH 0001H UNIT ?XD?KEYAPP
+ XDATA 0540H 0096H ABSOLUTE
+ XDATA 05D6H 0012H UNIT ?XD?CALIBRATE
+ XDATA 05E8H 0003H UNIT ?XD?LOWPOWER
+ XDATA 05EBH 0003H UNIT ?XD?_MCUPWM0SET?MCULIB
+ XDATA 05EEH 0003H UNIT ?XD?_MCUPWM1SET?MCULIB
+ XDATA 05F1H 0002H UNIT ?XD?CHARGERLOAD
+ XDATA 05F3H 0002H UNIT ?XD?MCUFLASH
+ XDATA 05F5H 0002H UNIT ?XD?GASGAUGEWKUP?GASGAUGEV4_12
+ XDATA 05F7H 0001H UNIT ?XD?PORSELFTEST
+
+ * * * * * * * C O D E M E M O R Y * * * * * * *
+ 0000H 1000H *** GAP ***
+ CODE 1000H 0003H ABSOLUTE
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 5
+
+
+ CODE 1003H 0020H UNIT ?PR?INTERRUPTTIMER3?INTERRUPT
+ CODE 1023H 0003H ABSOLUTE
+ 1026H 0005H *** GAP ***
+ CODE 102BH 0003H ABSOLUTE
+ CODE 102EH 0024H UNIT ?PR?_INTERRUPTINT4APP?INTERRUPTAPP
+ 1052H 0001H *** GAP ***
+ CODE 1053H 0003H ABSOLUTE
+ CODE 1056H 0C24H UNIT ?PR?DATAFILTER?GASGAUGEV4_12
+ CODE 1C7AH 06CAH UNIT ?PR?GASGAUGEMANAGE?GASGAUGEV4_12
+ CODE 2344H 0371H UNIT ?C?LIB_CODE
+ CODE 26B5H 0258H UNIT ?PR?FCCUPDATE?GASGAUGEV4_12
+ CODE 290DH 0220H UNIT ?PR?GASGAUGEWKUP?GASGAUGEV4_12
+ CODE 2B2DH 01F0H UNIT ?PR?_CALCUTEMP?CALCULATE
+ CODE 2D1DH 01C5H UNIT ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13
+ CODE 2EE2H 01C2H UNIT ?PR?_RTCREADTIME?RTC
+ CODE 30A4H 01B9H UNIT ?PR?_TWIREAD?TWI
+ CODE 325DH 01B3H UNIT ?PR?_E2PROMBKDATA?EXTE2PROM
+ CODE 3410H 0181H UNIT ?PR?AFECALCUCURR?CALCULATE
+ CODE 3591H 016FH UNIT ?PR?_GASGAUGEINITSOC?GASGAUGEV4_12
+ CODE 3700H 0168H UNIT ?PR?GASGAUGEINIT?GASGAUGEV4_12
+ CODE 3868H 0167H UNIT ?PR?UART0IAPCHECKHANDSHAKE?UARTAPP
+ CODE 39CFH 0150H UNIT ?PR?UART0RDCMDPROCESS?UARTAPP
+ CODE 3B1FH 0147H UNIT ?PR?_TWIWRITE?TWI
+ CODE 3C66H 0144H UNIT ?PR?BALTURNONCHECK?BALANCE
+ CODE 3DAAH 0142H UNIT ?CO?THERMISTOR
+ CODE 3EECH 0139H UNIT ?PR?_MCUTIMER3SET?MCULIB
+ CODE 4025H 0138H UNIT ?PR?AFECALCUVOL?CALCULATE
+ CODE 415DH 011FH UNIT ?PR?GASGAUGEGETOCV?GASGAUGEV4_12
+ CODE 427CH 0100H UNIT ?CO?TWI
+ CODE 437CH 00DEH UNIT ?PR?AFECALCUTEMPE?CALCULATE
+ CODE 445AH 00D7H UNIT ?PR?CORRECTCHGDFRC?GASGAUGEV4_12
+ CODE 4531H 00D3H UNIT ?PR?E2PROMBKCHECK?EXTE2PROM
+ CODE 4604H 00C4H UNIT ?PR?PROTECTOV?PROTECT
+ CODE 46C8H 00C1H UNIT ?PR?MCUFLASHPROCESS?MCUFLASH
+ CODE 4789H 00BDH UNIT ?PR?UART0CALICURRENT?UARTAPP
+ CODE 4846H 00BCH UNIT ?PR?PROTECTUV?PROTECT
+ CODE 4902H 00BCH UNIT ?PR?PROTECTOTC?PROTECT
+ CODE 49BEH 00BCH UNIT ?PR?PROTECTUTC?PROTECT
+ CODE 4A7AH 00BCH UNIT ?PR?PROTECTOTD?PROTECT
+ CODE 4B36H 00BCH UNIT ?PR?PROTECTUTD?PROTECT
+ CODE 4BF2H 00BAH UNIT ?PR?BALPROCESS?BALANCE
+ CODE 4CACH 00B3H UNIT ?PR?OFFSETCALCULATE?CALCULATE
+ CODE 4D5FH 00ADH UNIT ?PR?LEDDISPLAY?LED
+ CODE 4E0CH 00ACH UNIT ?PR?E2PROMBKPROCESS?EXTE2PROM
+ CODE 4EB8H 00ABH UNIT ?PR?INTERRUPTUART0APPTX?UARTAPP
+ CODE 4F63H 00ABH UNIT ?PR?_AFEWRITEREG?AFE
+ CODE 500EH 00A7H UNIT ?PR?UART0WRCMDPROCESS?UARTAPP
+ CODE 50B5H 00A2H UNIT ?PR?KEYSCAN?KEYSCAN
+ CODE 5157H 00A1H UNIT ?PR?SYSPARAINIT?INITIAL
+ CODE 51F8H 009CH UNIT ?PR?_RTCMODIFYTIME?RTC
+ CODE 5294H 0097H UNIT ?PR?_INTERRUPTUART0APPRX?UARTAPP
+ CODE 532BH 0097H UNIT ?PR?_MCUFLASHWRITE?MCUFLASH
+ CODE 53C2H 008EH UNIT ?PR?LOWPOWERCHECK?LOWPOWER
+ CODE 5450H 008DH UNIT ?PR?_RTCINITTIME?RTC
+ CODE 54DDH 008CH UNIT ?PR?_MCUFLASHWRSECTOR?MCUFLASH
+ CODE 5569H 0087H UNIT ?PR?AFEINIT?AFE
+ CODE 55F0H 0086H UNIT ?PR?AFEINITREG?AFE
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 6
+
+
+ CODE 5676H 0081H UNIT ?PR?_MCUPWM0SET?MCULIB
+ CODE 56F7H 0081H UNIT ?PR?_MCUPWM1SET?MCULIB
+ CODE 5778H 0081H UNIT ?PR?_MCUPWM2SET?MCULIB
+ CODE 57F9H 007DH UNIT ?PR?E2PROMINIT?EXTE2PROM
+ CODE 5876H 0078H UNIT ?PR?MAIN?MAIN
+ CODE 58EEH 0076H UNIT ?PR?PROTECTOCRECOVER?PROTECT
+ CODE 5964H 0070H UNIT ?PR?_UART0WRITEINFO?UARTAPP
+ CODE 59D4H 006FH UNIT ?PR?UART1RDE2PROM?EXTE2PROM
+ CODE 5A43H 006FH UNIT ?PR?UART2RDE2PROM?EXTE2PROM
+ CODE 5AB2H 006DH UNIT ?PR?CALIVOLTAGE?CALIBRATE
+ CODE 5B1FH 006CH UNIT ?PR?E2PROMERASE?EXTE2PROM
+ CODE 5B8BH 006BH UNIT ?PR?_AFEREADREG?AFE
+ CODE 5BF6H 006BH UNIT ?PR?INTERRUPTINT4?INTERRUPT
+ CODE 5C61H 0069H UNIT ?PR?UART0RDE2PROM?EXTE2PROM
+ CODE 5CCAH 0066H UNIT ?PR?KEYSWITCHSPEED?KEYAPP
+ CODE 5D30H 0066H UNIT ?PR?RAMCHECKPROCESS?MCULIB
+ CODE 5D96H 0063H UNIT ?PR?_UART0READINFO?UARTAPP
+ CODE 5DF9H 0061H UNIT ?PR?AFERAMCHECK?AFE
+ CODE 5E5AH 005FH UNIT ?PR?_E2PROMWRITE?EXTE2PROM
+ CODE 5EB9H 005FH UNIT ?PR?_E2PROMREAD?EXTE2PROM
+ CODE 5F18H 005FH UNIT ?PR?_MCUFLASHREAD?MCUFLASH
+ CODE 5F77H 005DH UNIT ?PR?_GETCYCLEGAIN?GASGAUGEV4_12
+ CODE 5FD4H 005BH UNIT ?PR?_RTCWRITE?RTC
+ CODE 602FH 005BH UNIT ?PR?_RTCREAD?RTC
+ CODE 608AH 005AH UNIT ?PR?_MCUFLASHDATACHECK?MCUFLASH
+ CODE 60E4H 0059H UNIT ?PR?PROTECTOCC?PROTECT
+ CODE 613DH 0059H UNIT ?PR?PROTECTOCD1?PROTECT
+ CODE 6196H 0059H UNIT ?PR?PROTECTOCD2?PROTECT
+ CODE 61EFH 0054H UNIT ?PR?UART0CALIRTC?UARTAPP
+ CODE 6243H 0052H UNIT ?PR?UART0CALIVOLTAGE?UARTAPP
+ CODE 6295H 0051H UNIT ?PR?_MCUCLOCKSET?MCULIB
+ CODE 62E6H 0051H UNIT ?PR?INTERRUPTUART0?UART
+ CODE 6337H 0051H UNIT ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13
+ CODE 6388H 004FH UNIT ?PR?CALIPROCESS?CALIBRATE
+ CODE 63D7H 004FH UNIT ?PR?PORPROTECTOTC?PORSELFTEST
+ CODE 6426H 004FH UNIT ?PR?PORPROTECTUTC?PORSELFTEST
+ CODE 6475H 004FH UNIT ?PR?PORPROTECTOTD?PORSELFTEST
+ CODE 64C4H 004FH UNIT ?PR?PORPROTECTUTD?PORSELFTEST
+ CODE 6513H 004EH UNIT ?PR?LOADCHECK?CHARGERLOAD
+ CODE 6561H 004CH UNIT ?PR?INITIAL?INITIAL
+ CODE 65ADH 004CH UNIT ?PR?E2PROMBKRTC?EXTE2PROM
+ CODE 65F9H 004CH UNIT ?PR?UART1RDRTC?EXTE2PROM
+ CODE 6645H 004CH UNIT ?PR?UART2RDRTC?EXTE2PROM
+ CODE 6691H 004AH UNIT ?PR?AFEGETVOL?CALCULATE
+ CODE 66DBH 004AH UNIT ?PR?MOSSTATUSCHECK?MOSCTRL
+ CODE 6725H 0049H UNIT ?PR?UART0CALITS1?UARTAPP
+ CODE 676EH 0049H UNIT ?PR?UART0CALITS2?UARTAPP
+ CODE 67B7H 0049H UNIT ?PR?CHGERCHECK?CHARGERLOAD
+ CODE 6800H 0048H UNIT ?CO?UARTAPP
+ CODE 6848H 0048H UNIT ?PR?AFEGETTEMPE?CALCULATE
+ CODE 6890H 0048H UNIT ?PR?_DELAY1MS?MCULIB
+ CODE 68D8H 0048H UNIT ?PR?PORPROTECTOV?PORSELFTEST
+ CODE 6920H 0048H UNIT ?PR?PORPROTECTUV?PORSELFTEST
+ CODE 6968H 0046H UNIT ?PR?UART0RDRTC?EXTE2PROM
+ CODE 69AEH 0045H UNIT ?PR?UART0WRITEMANUFACTURE?UARTAPP
+ CODE 69F3H 0045H UNIT ?PR?CALITS1?CALIBRATE
+ CODE 6A38H 0045H UNIT ?PR?CALITS2?CALIBRATE
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 7
+
+
+ CODE 6A7DH 0044H UNIT ?PR?CALIRTCTIME?CALIBRATE
+ CODE 6AC1H 0044H UNIT ?C?LDIV
+ CODE 6B05H 0043H UNIT ?PR?SYSTEMINTOSLEEP?LOWPOWER
+ CODE 6B48H 0042H UNIT ?PR?INITVAR?INITIAL
+ CODE 6B8AH 0041H UNIT ?PR?E2PROMBKBOOT?EXTE2PROM
+ CODE 6BCBH 0040H UNIT ?PR?WAKEUPPROCESS?LOWPOWER
+ CODE 6C0BH 0040H UNIT ?PR?LOWPOWERPROCESS?LOWPOWER
+ CODE 6C4BH 003FH UNIT ?PR?_LEDGETDISNUM?LED
+ CODE 6C8AH 003FH UNIT ?PR?_AFEBALCTL?AFE
+ CODE 6CC9H 003DH UNIT ?PR?AFERDFLG?AFE
+ CODE 6D06H 003CH UNIT ?PR?AFECLRFLG?AFE
+ CODE 6D42H 003BH UNIT ?PR?CALICURRENTGAIN?CALIBRATE
+ CODE 6D7DH 003BH UNIT ?PR?PORSELFTEST?PORSELFTEST
+ CODE 6DB8H 0037H UNIT ?PR?UART0READSUBCLASSID?UARTAPP
+ CODE 6DEFH 0036H UNIT ?PR?UART0CALICUROFFSET?UARTAPP
+ CODE 6E25H 0035H UNIT ?PR?CTOCHECKVOL?BALANCE
+ CODE 6E5AH 0035H UNIT ?PR?_MCUFLASHWRONEBYTE?MCUFLASH
+ CODE 6E8FH 0035H UNIT ?PR?GASGAUGEIDLE?GASGAUGEV4_12
+ CODE 6EC4H 0034H UNIT ?CO?CALCULATE
+ CODE 6EF8H 0033H UNIT ?PR?_MEMORYCOPY?MCULIB
+ CODE 6F2BH 0030H UNIT ?PR?KEYPROCESS?KEYAPP
+ CODE 6F5BH 002DH UNIT ?PR?MOSCTRL?MOSCTRL
+ CODE 6F88H 002CH UNIT ?PR?SYSTEMRESETPROCESS?MCULIB
+ CODE 6FB4H 002BH UNIT ?PR?INITGPIO?INITIAL
+ CODE 6FDFH 002AH UNIT ?PR?_MEMORYSET?MCULIB
+ CODE 7009H 0027H UNIT ?PR?_MCUFLASHCHECKFLG?MCUFLASH
+ CODE 7030H 0027H UNIT ?PR?_TWICHECKSTATUS?TWI
+ CODE 7057H 0026H UNIT ?PR?AFEENTERPD?AFE
+ CODE 707DH 0026H UNIT ?PR?CTOTURNONCHECK?BALANCE
+ CODE 70A3H 0026H UNIT ?PR?_MCUFLASHBLANKCHECK?MCUFLASH
+ CODE 70C9H 0024H UNIT ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP
+ CODE 70EDH 0020H UNIT ?C_C51STARTUP
+ CODE 710DH 001FH UNIT ?PR?SYSTEMINTOPD?LOWPOWER
+ CODE 712CH 001FH UNIT ?PR?PROTECTPROCESS?PROTECT
+ CODE 714BH 001EH UNIT ?PR?INITIRQ?INITIAL
+ CODE 7169H 001DH UNIT ?PR?E2PROMTWICHECK?EXTE2PROM
+ CODE 7186H 001DH UNIT ?PR?RTCTWICHECK?RTC
+ CODE 71A3H 001DH UNIT ?PR?ISPPROCESS?BOOTAPP
+ CODE 71C0H 001CH UNIT ?PR?_CRC8CAL?TWI
+ CODE 71DCH 001CH UNIT ?PR?UART0INIT?UART
+ CODE 71F8H 001AH UNIT ?PR?AFETWICHECK?AFE
+ CODE 7212H 0018H UNIT ?PR?AFERDSTATUS?AFE
+ CODE 722AH 0017H UNIT ?PR?_AFEALARMDIS?AFE
+ CODE 7241H 0017H UNIT ?PR?TWIINIT?TWI
+ CODE 7258H 0015H UNIT ?PR?_AFEMOSCTL?AFE
+ CODE 726DH 0015H UNIT ?PR?MCUFLASHWRWAITCHECK?MCUFLASH
+ CODE 7282H 0014H UNIT ?PR?UART0CHECK?UARTAPP
+ CODE 7296H 0014H UNIT ?PR?AFEINFOPROCESS?CALCULATE
+ CODE 72AAH 0013H UNIT ?PR?LEDAUTOOFF?LED
+ CODE 72BDH 0013H UNIT ?PR?AFECHGERCHECKEN?AFE
+ CODE 72D0H 0013H UNIT ?PR?AFECHGERCHECKDIS?AFE
+ CODE 72E3H 0013H UNIT ?PR?AFELOADCHECKEN?AFE
+ CODE 72F6H 0013H UNIT ?PR?AFELOADCHECKDIS?AFE
+ CODE 7309H 0013H UNIT ?PR?AFEWDTEN?AFE
+ CODE 731CH 0013H UNIT ?PR?AFEWDTDIS?AFE
+ CODE 732FH 0013H UNIT ?PR?AFEADCEN?AFE
+ CODE 7342H 0013H UNIT ?PR?AFEADCDIS?AFE
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 8
+
+
+ CODE 7355H 0013H UNIT ?PR?AFECADCEN?AFE
+ CODE 7368H 0013H UNIT ?PR?AFECADCDIS?AFE
+ CODE 737BH 0013H UNIT ?PR?AFETEMPADCEN?AFE
+ CODE 738EH 0013H UNIT ?PR?AFETEMPADCDIS?AFE
+ CODE 73A1H 0012H UNIT ?PR?UART0HANDSHAKE?UARTAPP
+ CODE 73B3H 0012H UNIT ?PR?_AFEALARMEN?AFE
+ CODE 73C5H 0010H UNIT ?PR?CALICURZERO?CALIBRATE
+ CODE 73D5H 000CH UNIT ?PR?MCUINTOIDLE?MCULIB
+ CODE 73E1H 000CH UNIT ?PR?MCUINTOPD?MCULIB
+ CODE 73EDH 000AH UNIT ?PR?BALANCEPROCESS?BALANCE
+ CODE 73F7H 0006H UNIT ?CO?GASGAUGEV4_12
+ 73FDH 8403H *** GAP ***
+ CODE F800H 0400H UNIT ?CO?DATAFLASH
+
+
+
+OVERLAY MAP OF MODULE: .\output\McuFlash_ISP (MAIN)
+
+
+SEGMENT BIT_GROUP DATA_GROUP XDATA_GROUP
+ +--> CALLED SEGMENT START LENGTH START LENGTH START LENGTH
+------------------------------------------------------------------------------------------------------
+?PR?INTERRUPTINT4?INTERRUPT ----- ----- ----- ----- ----- -----
+ +--> ?PR?_INTERRUPTINT4APP?INTERRUPTAPP
+
+?PR?_INTERRUPTINT4APP?INTERRUPTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+
+*** NEW ROOT ***************************************************
+
+?PR?INTERRUPTTIMER3?INTERRUPT ----- ----- ----- ----- ----- -----
+ +--> ?PR?INTERRUPTTIMER3APP?INTERRUPTAPP
+
+?PR?INTERRUPTTIMER3APP?INTERRUPTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?KEYSCAN?KEYSCAN
+
+*** NEW ROOT ***************************************************
+
+?PR?INTERRUPTUART0?UART ----- ----- ----- ----- ----- -----
+ +--> ?PR?_INTERRUPTUART0APPRX?UARTAPP
+ +--> ?PR?INTERRUPTUART0APPTX?UARTAPP
+
+?PR?_INTERRUPTUART0APPRX?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?UART0RDCMDPROCESS?UARTAPP
+ +--> ?PR?UART0WRCMDPROCESS?UARTAPP
+ +--> ?PR?UART0IAPCHECKHANDSHAKE?UARTAPP
+
+?PR?UART0RDCMDPROCESS?UARTAPP ----- ----- ----- ----- 02B5H 0002H
+ +--> ?PR?_UART0READINFO?UARTAPP
+ +--> ?CO?UARTAPP
+
+?PR?_UART0READINFO?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?_CRC8CAL?TWI ----- ----- ----- ----- ----- -----
+ +--> ?CO?TWI
+
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 9
+
+
+?PR?UART0WRCMDPROCESS?UARTAPP ----- ----- ----- ----- 02B5H 0002H
+ +--> ?PR?UART0WRITEMANUFACTURE?UARTAPP
+ +--> ?PR?UART0READSUBCLASSID?UARTAPP
+ +--> ?PR?UART0CALICURRENT?UARTAPP
+ +--> ?PR?UART0CALIVOLTAGE?UARTAPP
+ +--> ?PR?UART0CALICUROFFSET?UARTAPP
+ +--> ?PR?UART0CALITS1?UARTAPP
+ +--> ?PR?UART0CALITS2?UARTAPP
+ +--> ?PR?UART0CALIRTC?UARTAPP
+ +--> ?CO?UARTAPP
+ +--> ?PR?_UART0WRITEINFO?UARTAPP
+
+?PR?UART0WRITEMANUFACTURE?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0READSUBCLASSID?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0CALICURRENT?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0CALIVOLTAGE?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0CALICUROFFSET?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0CALITS1?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0CALITS2?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0CALIRTC?UARTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?_UART0WRITEINFO?UARTAPP ----- ----- ----- ----- 02B7H 0002H
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0IAPCHECKHANDSHAKE?UARTAPP ----- ----- ----- ----- 02B5H 0002H
+
+*** NEW ROOT ***************************************************
+
+?C_C51STARTUP ----- ----- ----- ----- ----- -----
+ +--> ?PR?MAIN?MAIN
+
+?PR?MAIN?MAIN ----- ----- ----- ----- ----- -----
+ +--> ?PR?INITIAL?INITIAL
+ +--> ?PR?KEYPROCESS?KEYAPP
+ +--> ?PR?AFEINFOPROCESS?CALCULATE
+ +--> ?PR?BALANCEPROCESS?BALANCE
+ +--> ?PR?PROTECTPROCESS?PROTECT
+ +--> ?PR?PORSELFTEST?PORSELFTEST
+ +--> ?PR?LOADCHECK?CHARGERLOAD
+ +--> ?PR?CHGERCHECK?CHARGERLOAD
+ +--> ?PR?MOSCTRL?MOSCTRL
+ +--> ?PR?PROTECTOCRECOVER?PROTECT
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 10
+
+
+ +--> ?PR?LEDDISPLAY?LED
+ +--> ?PR?UART0CHECK?UARTAPP
+ +--> ?PR?GASGAUGEMANAGE?GASGAUGEV4_12
+ +--> ?PR?AFERAMCHECK?AFE
+ +--> ?PR?AFETWICHECK?AFE
+ +--> ?PR?E2PROMTWICHECK?EXTE2PROM
+ +--> ?PR?RTCTWICHECK?RTC
+ +--> ?PR?RAMCHECKPROCESS?MCULIB
+ +--> ?PR?SYSPARAINIT?INITIAL
+ +--> ?PR?MCUFLASHWRWAITCHECK?MCUFLASH
+ +--> ?PR?E2PROMBKCHECK?EXTE2PROM
+ +--> ?PR?LOWPOWERCHECK?LOWPOWER
+ +--> ?PR?SYSTEMRESETPROCESS?MCULIB
+ +--> ?PR?ISPPROCESS?BOOTAPP
+ +--> ?PR?CALIPROCESS?CALIBRATE
+ +--> ?PR?MCUFLASHPROCESS?MCUFLASH
+ +--> ?PR?E2PROMBKPROCESS?EXTE2PROM
+ +--> ?PR?LOWPOWERPROCESS?LOWPOWER
+
+?PR?INITIAL?INITIAL ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+ +--> ?PR?INITGPIO?INITIAL
+ +--> ?PR?SYSPARAINIT?INITIAL
+ +--> ?PR?INITVAR?INITIAL
+ +--> ?PR?_MCUTIMER3SET?MCULIB
+ +--> ?PR?UART0INIT?UART
+ +--> ?PR?TWIINIT?TWI
+ +--> ?PR?_MCUPWM2SET?MCULIB
+ +--> ?PR?AFEINITREG?AFE
+ +--> ?PR?AFEINIT?AFE
+ +--> ?PR?AFECLRFLG?AFE
+ +--> ?PR?E2PROMINIT?EXTE2PROM
+ +--> ?PR?_RTCINITTIME?RTC
+ +--> ?PR?INITIRQ?INITIAL
+
+?PR?SYSPARAINIT?INITIAL ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUFLASHCHECKFLG?MCUFLASH
+ +--> ?PR?_MCUFLASHREAD?MCUFLASH
+ +--> ?PR?_MCUFLASHWRITE?MCUFLASH
+
+?PR?_MCUFLASHCHECKFLG?MCUFLASH 002AH.3 0000H.1 ----- ----- ----- -----
+
+?PR?_MCUFLASHREAD?MCUFLASH 002AH.3 0000H.1 0019H 0002H 02B9H 0004H
+
+?PR?_MCUFLASHWRITE?MCUFLASH 002AH.5 0000H.1 ----- ----- 02BBH 0004H
+ +--> ?PR?_MCUFLASHBLANKCHECK?MCUFLASH
+ +--> ?PR?_MCUFLASHWRSECTOR?MCUFLASH
+ +--> ?PR?_MCUFLASHDATACHECK?MCUFLASH
+
+?PR?_MCUFLASHBLANKCHECK?MCUFLASH 002AH.6 0000H.1 ----- ----- ----- -----
+
+?PR?_MCUFLASHWRSECTOR?MCUFLASH 002AH.6 0000H.1 ----- ----- 02BFH 0004H
+
+?PR?_MCUFLASHDATACHECK?MCUFLASH 002AH.6 0000H.1 ----- ----- 02BFH 0004H
+
+?PR?INITVAR?INITIAL ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MEMORYSET?MCULIB
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 11
+
+
+
+?PR?_MEMORYSET?MCULIB ----- ----- ----- ----- 02C5H 0002H
+
+?PR?_MCUTIMER3SET?MCULIB ----- ----- ----- ----- 02B9H 0005H
+
+?PR?_MCUPWM2SET?MCULIB ----- ----- ----- ----- 02BEH 0003H
+
+?PR?AFEINIT?AFE 002AH.3 0000H.1 ----- ----- 02BCH 0004H
+ +--> ?PR?_AFEWRITEREG?AFE
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?_AFEWRITEREG?AFE 002AH.4 0000H.1 ----- ----- 02C0H 0006H
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?TWIINIT?TWI
+
+?PR?_TWIWRITE?TWI 002AH.7 0000H.1 ----- ----- 02F5H 000EH
+ +--> ?PR?_CRC8CAL?TWI
+ +--> ?PR?_TWICHECKSTATUS?TWI
+
+?PR?_TWICHECKSTATUS?TWI 002BH.0 0000H.1 ----- ----- ----- -----
+
+?PR?_AFEREADREG?AFE 002AH.4 0000H.1 ----- ----- 02C3H 0005H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?TWIINIT?TWI
+
+?PR?_TWIREAD?TWI 002AH.6 0000H.1 ----- ----- 02EBH 003AH
+ +--> ?PR?_TWICHECKSTATUS?TWI
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?AFECLRFLG?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?E2PROMINIT?EXTE2PROM 002AH.3 0000H.1 ----- ----- 02B9H 0008H
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+
+?PR?_E2PROMREAD?EXTE2PROM 002AH.4 0000H.1 ----- ----- 02C5H 0006H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?_RTCINITTIME?RTC 002AH.3 0000H.1 ----- ----- 02B9H 000CH
+ +--> ?PR?_MEMORYSET?MCULIB
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_RTCREADTIME?RTC
+
+?PR?_MEMORYCOPY?MCULIB ----- ----- ----- ----- 02DBH 0002H
+
+?PR?_RTCREADTIME?RTC 002AH.4 0000H.1 ----- ----- 02DBH 000BH
+ +--> ?PR?_RTCREAD?RTC
+ +--> ?PR?_RTCMODIFYTIME?RTC
+
+?PR?_RTCREAD?RTC 002AH.5 0000H.1 ----- ----- 02E6H 0005H
+ +--> ?PR?_TWIREAD?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 12
+
+
+
+?PR?_RTCMODIFYTIME?RTC 002AH.5 0000H.1 ----- ----- 02E6H 000AH
+ +--> ?PR?_RTCWRITE?RTC
+
+?PR?_RTCWRITE?RTC 002AH.6 0000H.1 ----- ----- 02F0H 0005H
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?KEYPROCESS?KEYAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?KEYSWITCHSPEED?KEYAPP
+
+?PR?KEYSWITCHSPEED?KEYAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUPWM2SET?MCULIB
+
+?PR?AFEINFOPROCESS?CALCULATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFERDFLG?AFE
+ +--> ?PR?AFECALCUVOL?CALCULATE
+ +--> ?PR?AFECALCUTEMPE?CALCULATE
+ +--> ?PR?AFECALCUCURR?CALCULATE
+
+?PR?AFERDFLG?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?AFEINIT?AFE
+
+?PR?AFECALCUVOL?CALCULATE ----- ----- ----- ----- 02B9H 0009H
+ +--> ?PR?AFEGETVOL?CALCULATE
+
+?PR?AFEGETVOL?CALCULATE 002AH.3 0000H.1 ----- ----- 02C2H 0001H
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?AFECALCUTEMPE?CALCULATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFEGETTEMPE?CALCULATE
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?AFEGETTEMPE?CALCULATE 002AH.3 0000H.1 ----- ----- ----- -----
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?_CALCUTEMP?CALCULATE ----- ----- ----- ----- 02B9H 0007H
+ +--> ?CO?THERMISTOR
+
+?PR?AFECALCUCURR?CALCULATE ----- ----- ----- ----- 02B9H 0005H
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?OFFSETCALCULATE?CALCULATE
+ +--> ?PR?_MCUPWM2SET?MCULIB
+
+?PR?OFFSETCALCULATE?CALCULATE ----- ----- ----- ----- 02BEH 0003H
+ +--> ?CO?CALCULATE
+
+?PR?BALANCEPROCESS?BALANCE ----- ----- ----- ----- ----- -----
+ +--> ?PR?BALTURNONCHECK?BALANCE
+ +--> ?PR?CTOTURNONCHECK?BALANCE
+ +--> ?PR?BALPROCESS?BALANCE
+
+?PR?BALPROCESS?BALANCE ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?_AFEBALCTL?AFE
+ +--> ?PR?CTOCHECKVOL?BALANCE
+
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 13
+
+
+?PR?_AFEBALCTL?AFE ----- ----- ----- ----- 02BBH 0002H
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?CTOCHECKVOL?BALANCE 002AH.3 0000H.1 ----- ----- ----- -----
+
+?PR?PROTECTPROCESS?PROTECT ----- ----- ----- ----- ----- -----
+ +--> ?PR?PROTECTOV?PROTECT
+ +--> ?PR?PROTECTUV?PROTECT
+ +--> ?PR?PROTECTOTC?PROTECT
+ +--> ?PR?PROTECTUTC?PROTECT
+ +--> ?PR?PROTECTOTD?PROTECT
+ +--> ?PR?PROTECTUTD?PROTECT
+ +--> ?PR?PROTECTOCC?PROTECT
+ +--> ?PR?PROTECTOCD1?PROTECT
+ +--> ?PR?PROTECTOCD2?PROTECT
+
+?PR?PROTECTOV?PROTECT ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?PORSELFTEST?PORSELFTEST ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECALCUVOL?CALCULATE
+ +--> ?PR?AFECALCUTEMPE?CALCULATE
+ +--> ?PR?PORPROTECTOV?PORSELFTEST
+ +--> ?PR?PORPROTECTUV?PORSELFTEST
+ +--> ?PR?PORPROTECTOTC?PORSELFTEST
+ +--> ?PR?PORPROTECTUTC?PORSELFTEST
+ +--> ?PR?PORPROTECTOTD?PORSELFTEST
+ +--> ?PR?PORPROTECTUTD?PORSELFTEST
+ +--> ?PR?GASGAUGEINIT?GASGAUGEV4_12
+
+?PR?GASGAUGEINIT?GASGAUGEV4_12 ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13
+ +--> ?PR?GASGAUGEGETOCV?GASGAUGEV4_12
+ +--> ?PR?_GASGAUGEINITSOC?GASGAUGEV4_12
+ +--> ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13
+
+?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13 002AH.3 0000H.1 ----- ----- ----- -----
+
+?PR?GASGAUGEGETOCV?GASGAUGEV4_12 ----- ----- ----- ----- 02BBH 0001H
+
+?PR?_GASGAUGEINITSOC?GASGAUGEV4_12 ----- ----- ----- ----- 02BBH 0002H
+
+?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13 002AH.3 0000H.1 ----- ----- ----- -----
+
+?PR?LOADCHECK?CHARGERLOAD ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFELOADCHECKEN?AFE
+ +--> ?PR?AFERDSTATUS?AFE
+ +--> ?PR?AFELOADCHECKDIS?AFE
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?AFELOADCHECKEN?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFERDSTATUS?AFE ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?_AFEREADREG?AFE
+
+?PR?AFELOADCHECKDIS?AFE ----- ----- ----- ----- ----- -----
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 14
+
+
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?CHGERCHECK?CHARGERLOAD ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECHGERCHECKEN?AFE
+ +--> ?PR?AFERDSTATUS?AFE
+ +--> ?PR?AFECHGERCHECKDIS?AFE
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?AFECHGERCHECKEN?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFECHGERCHECKDIS?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?MOSCTRL?MOSCTRL ----- ----- ----- ----- ----- -----
+ +--> ?PR?MOSSTATUSCHECK?MOSCTRL
+ +--> ?PR?_AFEMOSCTL?AFE
+
+?PR?_AFEMOSCTL?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?PROTECTOCRECOVER?PROTECT ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFECLRFLG?AFE
+
+?PR?LEDDISPLAY?LED ----- ----- ----- ----- ----- -----
+ +--> ?PR?_LEDGETDISNUM?LED
+ +--> ?PR?LEDAUTOOFF?LED
+
+?PR?GASGAUGEMANAGE?GASGAUGEV4_12 ----- ----- ----- ----- ----- -----
+ +--> ?PR?GASGAUGEVARIN?GASGAUGEINTER_V4_13
+ +--> ?PR?CORRECTCHGDFRC?GASGAUGEV4_12
+ +--> ?PR?FCCUPDATE?GASGAUGEV4_12
+ +--> ?PR?DATAFILTER?GASGAUGEV4_12
+ +--> ?PR?GASGAUGEVAROUT?GASGAUGEINTER_V4_13
+
+?PR?CORRECTCHGDFRC?GASGAUGEV4_12 ----- ----- ----- ----- 02B9H 0002H
+ +--> ?PR?GASGAUGEGETOCV?GASGAUGEV4_12
+
+?PR?FCCUPDATE?GASGAUGEV4_12 ----- ----- ----- ----- 02B9H 0004H
+ +--> ?PR?_GETCYCLEGAIN?GASGAUGEV4_12
+
+?PR?DATAFILTER?GASGAUGEV4_12 002AH.3 0000H.1 ----- ----- 02B9H 0009H
+ +--> ?CO?GASGAUGEV4_12
+
+?PR?AFERAMCHECK?AFE ----- ----- ----- ----- 02B9H 0003H
+ +--> ?PR?_AFEREADREG?AFE
+ +--> ?PR?AFEINIT?AFE
+
+?PR?E2PROMBKCHECK?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+
+?PR?ISPPROCESS?BOOTAPP ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFEWDTDIS?AFE
+
+?PR?AFEWDTDIS?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 15
+
+
+
+?PR?CALIPROCESS?CALIBRATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?CALIVOLTAGE?CALIBRATE
+ +--> ?PR?CALICURRENTGAIN?CALIBRATE
+ +--> ?PR?CALICURZERO?CALIBRATE
+ +--> ?PR?CALITS1?CALIBRATE
+ +--> ?PR?CALITS2?CALIBRATE
+ +--> ?PR?CALIRTCTIME?CALIBRATE
+
+?PR?CALIVOLTAGE?CALIBRATE ----- ----- ----- ----- 02B9H 0002H
+
+?PR?CALITS1?CALIBRATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?CALITS2?CALIBRATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_CALCUTEMP?CALCULATE
+
+?PR?CALIRTCTIME?CALIBRATE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCMODIFYTIME?RTC
+
+?PR?MCUFLASHPROCESS?MCUFLASH 002AH.3 0000H.2 ----- ----- 02B9H 0002H
+ +--> ?PR?_MCUFLASHWRITE?MCUFLASH
+ +--> ?PR?_MCUFLASHWRONEBYTE?MCUFLASH
+
+?PR?E2PROMBKPROCESS?EXTE2PROM ----- ----- ----- ----- 02B9H 0001H
+ +--> ?PR?E2PROMERASE?EXTE2PROM
+ +--> ?PR?UART0RDE2PROM?EXTE2PROM
+ +--> ?PR?UART2RDE2PROM?EXTE2PROM
+ +--> ?PR?UART0RDRTC?EXTE2PROM
+ +--> ?PR?UART1RDRTC?EXTE2PROM
+ +--> ?PR?UART2RDRTC?EXTE2PROM
+ +--> ?PR?E2PROMBKRTC?EXTE2PROM
+ +--> ?PR?_E2PROMBKDATA?EXTE2PROM
+
+?PR?E2PROMERASE?EXTE2PROM ----- ----- ----- ----- 02BAH 000AH
+ +--> ?PR?_MEMORYSET?MCULIB
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+?PR?_E2PROMWRITE?EXTE2PROM 002AH.3 0000H.1 ----- ----- 02E3H 0006H
+ +--> ?PR?_TWIWRITE?TWI
+ +--> ?PR?_DELAY1MS?MCULIB
+
+?PR?UART0RDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART2RDE2PROM?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_E2PROMREAD?EXTE2PROM
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART0RDRTC?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART1RDRTC?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 16
+
+
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?UART2RDRTC?EXTE2PROM ----- ----- ----- ----- ----- -----
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_CRC8CAL?TWI
+
+?PR?E2PROMBKRTC?EXTE2PROM ----- ----- ----- ----- 02BAH 000AH
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+?PR?_E2PROMBKDATA?EXTE2PROM ----- ----- ----- ----- 02BAH 0021H
+ +--> ?PR?_MEMORYCOPY?MCULIB
+ +--> ?PR?_RTCREADTIME?RTC
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+ +--> ?PR?E2PROMBKBOOT?EXTE2PROM
+
+?PR?E2PROMBKBOOT?EXTE2PROM ----- ----- ----- ----- 02DBH 0008H
+ +--> ?PR?_E2PROMWRITE?EXTE2PROM
+
+?PR?LOWPOWERPROCESS?LOWPOWER ----- ----- ----- ----- ----- -----
+ +--> ?PR?MCUINTOIDLE?MCULIB
+ +--> ?PR?MCUFLASHPROCESS?MCUFLASH
+ +--> ?PR?SYSTEMINTOPD?LOWPOWER
+ +--> ?PR?SYSTEMINTOSLEEP?LOWPOWER
+ +--> ?PR?WAKEUPPROCESS?LOWPOWER
+
+?PR?SYSTEMINTOPD?LOWPOWER ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEMOSCTL?AFE
+ +--> ?PR?AFEENTERPD?AFE
+
+?PR?AFEENTERPD?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?SYSTEMINTOSLEEP?LOWPOWER ----- ----- ----- ----- ----- -----
+ +--> ?PR?AFEWDTDIS?AFE
+ +--> ?PR?AFETEMPADCDIS?AFE
+ +--> ?PR?_AFEALARMEN?AFE
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+ +--> ?PR?MCUINTOPD?MCULIB
+
+?PR?AFETEMPADCDIS?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?_AFEALARMEN?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?WAKEUPPROCESS?LOWPOWER ----- ----- ----- ----- ----- -----
+ +--> ?PR?_MCUCLOCKSET?MCULIB
+ +--> ?PR?_DELAY1MS?MCULIB
+ +--> ?PR?_AFEALARMDIS?AFE
+ +--> ?PR?AFETEMPADCEN?AFE
+ +--> ?PR?AFEWDTEN?AFE
+
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 17
+
+
+?PR?_AFEALARMDIS?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFETEMPADCEN?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+?PR?AFEWDTEN?AFE ----- ----- ----- ----- ----- -----
+ +--> ?PR?_AFEWRITEREG?AFE
+
+
+
+SYMBOL TABLE OF MODULE: .\output\McuFlash_ISP (MAIN)
+
+ VALUE TYPE NAME
+ ----------------------------------
+
+ ------- MODULE MAIN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:5876H PUBLIC main
+ D:00B1H PUBLIC RSTSTAT
+ ------- PROC MAIN
+ C:5876H LINE# 21
+ C:5876H LINE# 22
+ C:5876H LINE# 23
+ C:5879H LINE# 25
+ C:5879H LINE# 26
+ C:5879H LINE# 27
+ C:587CH LINE# 29
+ C:587FH LINE# 30
+ C:587FH LINE# 31
+ C:5882H LINE# 33
+ C:5884H LINE# 34
+ C:5887H LINE# 36
+ C:588AH LINE# 38
+ C:588DH LINE# 40
+ C:5890H LINE# 42
+ C:5893H LINE# 44
+ C:5896H LINE# 46
+ C:5899H LINE# 48
+ C:589CH LINE# 50
+ C:589FH LINE# 53
+ C:58A2H LINE# 63
+ C:58A2H LINE# 65
+ C:58A5H LINE# 66
+ C:58A5H LINE# 67
+ C:58A7H LINE# 68
+ C:58AAH LINE# 70
+ C:58ADH LINE# 72
+ C:58B0H LINE# 73
+ C:58B3H LINE# 74
+ C:58B6H LINE# 76
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 18
+
+
+ C:58BBH LINE# 77
+ C:58BBH LINE# 78
+ C:58BEH LINE# 79
+ C:58BEH LINE# 81
+ C:58C1H LINE# 83
+ C:58C4H LINE# 85
+ C:58C7H LINE# 88
+ C:58C7H LINE# 90
+ C:58CAH LINE# 92
+ C:58CDH LINE# 94
+ C:58D0H LINE# 96
+ C:58D3H LINE# 98
+ C:58D6H LINE# 100
+ C:58D9H LINE# 102
+ C:58E3H LINE# 103
+ C:58EBH LINE# 105
+ ------- ENDPROC MAIN
+ ------- ENDMOD MAIN
+
+ ------- MODULE INITIAL
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:714BH PUBLIC InitIRQ
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00A9H PUBLIC IEN1
+ D:00E8H PUBLIC EXF0
+ D:00D8H PUBLIC EXF1
+ D:00E1H PUBLIC P0CR
+ D:00E2H PUBLIC P1CR
+ D:00E3H PUBLIC P2CR
+ D:00E4H PUBLIC P3CR
+ D:00BAH PUBLIC IENC
+ C:6B48H PUBLIC InitVar
+ C:6FB4H PUBLIC InitGPIO
+ B:00A8H.4 PUBLIC ES0
+ B:00A8H.5 PUBLIC ET3
+ D:0086H PUBLIC INSCON
+ B:0088H.7 PUBLIC TF3
+ C:6561H PUBLIC Initial
+ C:5157H PUBLIC SysParaInit
+ D:00E9H PUBLIC P0PCR
+ D:00EAH PUBLIC P1PCR
+ D:00EBH PUBLIC P2PCR
+ D:00ECH PUBLIC P3PCR
+ ------- PROC INITVAR
+ C:6B48H LINE# 18
+ C:6B48H LINE# 19
+ C:6B48H LINE# 20
+ C:6B4EH LINE# 21
+ C:6B59H LINE# 22
+ C:6B63H LINE# 23
+ C:6B6DH LINE# 24
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 19
+
+
+ C:6B75H LINE# 26
+ C:6B77H LINE# 27
+ C:6B79H LINE# 28
+ C:6B7FH LINE# 29
+ C:6B81H LINE# 30
+ C:6B83H LINE# 32
+ C:6B89H LINE# 33
+ ------- ENDPROC INITVAR
+ ------- PROC SYSPARAINIT
+ C:5157H LINE# 41
+ C:5157H LINE# 42
+ C:5157H LINE# 43
+ C:5160H LINE# 44
+ C:5160H LINE# 45
+ C:516CH LINE# 46
+ C:5175H LINE# 47
+ C:5175H LINE# 48
+ C:517DH LINE# 49
+ C:517DH LINE# 50
+ C:517FH LINE# 51
+ C:5188H LINE# 52
+ C:5188H LINE# 53
+ C:5195H LINE# 54
+ C:519CH LINE# 55
+ C:519EH LINE# 57
+ C:519EH LINE# 58
+ C:51A1H LINE# 60
+ C:51A1H LINE# 62
+ C:51ABH LINE# 63
+ C:51B5H LINE# 64
+ C:51C1H LINE# 65
+ C:51D0H LINE# 67
+ C:51D8H LINE# 69
+ C:51E1H LINE# 70
+ C:51E1H LINE# 71
+ C:51E4H LINE# 72
+ C:51E5H LINE# 73
+ C:51F0H LINE# 74
+ C:51F0H LINE# 75
+ C:51F3H LINE# 76
+ C:51F4H LINE# 78
+ C:51F4H LINE# 79
+ C:51F7H LINE# 80
+ C:51F7H LINE# 81
+ ------- ENDPROC SYSPARAINIT
+ ------- PROC INITIRQ
+ C:714BH LINE# 89
+ C:714BH LINE# 90
+ C:714BH LINE# 91
+ C:714DH LINE# 93
+ C:714FH LINE# 102
+ C:7158H LINE# 103
+ C:715AH LINE# 105
+ C:715DH LINE# 106
+ C:7160H LINE# 107
+ C:7163H LINE# 108
+ C:7166H LINE# 110
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 20
+
+
+ C:7168H LINE# 111
+ ------- ENDPROC INITIRQ
+ ------- PROC INITGPIO
+ C:6FB4H LINE# 139
+ C:6FB4H LINE# 140
+ C:6FB4H LINE# 142
+ C:6FB7H LINE# 143
+ C:6FBAH LINE# 144
+ C:6FBDH LINE# 146
+ C:6FC0H LINE# 147
+ C:6FC3H LINE# 148
+ C:6FC6H LINE# 150
+ C:6FC9H LINE# 151
+ C:6FCCH LINE# 152
+ C:6FCFH LINE# 154
+ C:6FD2H LINE# 155
+ C:6FD5H LINE# 156
+ C:6FD8H LINE# 160
+ C:6FDBH LINE# 161
+ C:6FDEH LINE# 505
+ ------- ENDPROC INITGPIO
+ ------- PROC INITIAL
+ C:6561H LINE# 513
+ C:6561H LINE# 514
+ C:6561H LINE# 515
+ C:6566H LINE# 517
+ C:6569H LINE# 521
+ C:656CH LINE# 523
+ C:656FH LINE# 525
+ C:6578H LINE# 528
+ C:657BH LINE# 539
+ C:657EH LINE# 541
+ C:6587H LINE# 543
+ C:658AH LINE# 544
+ C:658FH LINE# 545
+ C:658FH LINE# 546
+ C:6591H LINE# 547
+ C:6591H LINE# 548
+ C:6594H LINE# 550
+ C:6597H LINE# 551
+ C:6597H LINE# 552
+ C:659CH LINE# 553
+ C:659CH LINE# 554
+ C:659EH LINE# 555
+ C:659EH LINE# 557
+ C:65A7H LINE# 558
+ C:65A7H LINE# 559
+ C:65A9H LINE# 560
+ C:65A9H LINE# 561
+ C:65A9H LINE# 563
+ C:65ACH LINE# 564
+ ------- ENDPROC INITIAL
+ ------- ENDMOD INITIAL
+
+ ------- MODULE INTERRUPTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 21
+
+
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ X:03FEH PUBLIC ucTimer1s
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:102EH PUBLIC _InterruptINT4App
+ B:002DH.3 PUBLIC bTimer5msFlg
+ X:03FFH PUBLIC ucTimer50ms
+ B:002DH.4 PUBLIC bTimer1sFlg
+ C:70C9H PUBLIC InterruptTimer3App
+ B:002DH.5 PUBLIC bTimer50msFlg
+ ------- PROC _INTERRUPTINT4APP
+ D:0007H SYMBOL IntSource
+ C:102EH LINE# 24
+ C:102EH LINE# 25
+ C:102EH LINE# 26
+ C:1032H LINE# 27
+ C:1032H LINE# 28
+ C:1038H LINE# 29
+ C:1038H LINE# 30
+ C:103DH LINE# 31
+ C:103FH LINE# 32
+ C:103FH LINE# 33
+ C:1040H LINE# 34
+ C:1044H LINE# 35
+ C:1044H LINE# 36
+ C:104AH LINE# 37
+ C:104AH LINE# 38
+ C:104FH LINE# 39
+ C:1051H LINE# 40
+ C:1051H LINE# 41
+ C:1051H LINE# 42
+ ------- ENDPROC _INTERRUPTINT4APP
+ ------- PROC INTERRUPTTIMER3APP
+ C:70C9H LINE# 51
+ C:70C9H LINE# 52
+ C:70C9H LINE# 54
+ C:70CBH LINE# 56
+ C:70D6H LINE# 57
+ C:70D6H LINE# 58
+ C:70D8H LINE# 59
+ C:70DAH LINE# 60
+ C:70DAH LINE# 62
+ C:70E5H LINE# 63
+ C:70E5H LINE# 64
+ C:70E7H LINE# 65
+ C:70E9H LINE# 66
+ C:70E9H LINE# 68
+ C:70ECH LINE# 69
+ ------- ENDPROC INTERRUPTTIMER3APP
+ ------- ENDMOD INTERRUPTAPP
+
+ ------- MODULE LED
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 22
+
+
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:6C4BH PUBLIC _LedGetDisNum
+ B:00A0H.0 PUBLIC P2_0
+ B:00A0H.1 PUBLIC P2_1
+ B:00A0H.2 PUBLIC P2_2
+ B:00A0H.3 PUBLIC P2_3
+ B:00A0H.4 PUBLIC P2_4
+ X:053CH PUBLIC ucLedChgFlickCnt
+ B:00B0H.5 PUBLIC P3_5
+ X:053DH PUBLIC ucLedBleFlickCnt
+ X:053EH PUBLIC ucLedTimeCnt
+ B:002EH.1 PUBLIC bLedDisFlg
+ B:002EH.2 PUBLIC bLedDisBleFlg
+ C:72AAH PUBLIC LedAutoOff
+ C:4D5FH PUBLIC LedDisplay
+ ------- PROC _LEDGETDISNUM
+ D:0006H SYMBOL Rsoc
+ C:6C4BH LINE# 24
+ C:6C4BH LINE# 25
+ C:6C4BH LINE# 26
+ C:6C54H LINE# 27
+ C:6C54H LINE# 28
+ C:6C57H LINE# 29
+ C:6C57H LINE# 30
+ C:6C60H LINE# 31
+ C:6C60H LINE# 32
+ C:6C63H LINE# 33
+ C:6C63H LINE# 34
+ C:6C6CH LINE# 35
+ C:6C6CH LINE# 36
+ C:6C6FH LINE# 37
+ C:6C6FH LINE# 38
+ C:6C78H LINE# 39
+ C:6C78H LINE# 40
+ C:6C7BH LINE# 41
+ C:6C7BH LINE# 42
+ C:6C84H LINE# 43
+ C:6C84H LINE# 44
+ C:6C87H LINE# 45
+ C:6C87H LINE# 47
+ C:6C87H LINE# 48
+ C:6C89H LINE# 49
+ C:6C89H LINE# 50
+ ------- ENDPROC _LEDGETDISNUM
+ ------- PROC LEDAUTOOFF
+ C:72AAH LINE# 59
+ C:72AAH LINE# 60
+ C:72AAH LINE# 61
+ C:72ADH LINE# 62
+ C:72ADH LINE# 63
+ C:72B8H LINE# 64
+ C:72B8H LINE# 65
+ C:72BAH LINE# 66
+ C:72BCH LINE# 67
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 23
+
+
+ C:72BCH LINE# 68
+ C:72BCH LINE# 69
+ ------- ENDPROC LEDAUTOOFF
+ ------- PROC LEDDISPLAY
+ ------- DO
+ D:0007H SYMBOL LedDisNum
+ ------- ENDDO
+ C:4D5FH LINE# 80
+ C:4D5FH LINE# 81
+ C:4D5FH LINE# 84
+ C:4D62H LINE# 85
+ C:4D62H LINE# 86
+ C:4D6DH LINE# 87
+ C:4D6DH LINE# 88
+ C:4D6FH LINE# 89
+ C:4D74H LINE# 90
+ C:4D74H LINE# 91
+ C:4D76H LINE# 93
+ C:4D76H LINE# 94
+ C:4D78H LINE# 95
+ C:4D78H LINE# 97
+ C:4D7BH LINE# 98
+ C:4D7BH LINE# 99
+ C:4D86H LINE# 100
+ C:4D86H LINE# 101
+ C:4D88H LINE# 102
+ C:4D8DH LINE# 103
+ C:4D8DH LINE# 104
+ C:4D8FH LINE# 106
+ C:4D8FH LINE# 107
+ C:4D91H LINE# 108
+ C:4D91H LINE# 110
+ C:4D94H LINE# 111
+ C:4D94H LINE# 112
+ C:4D9FH LINE# 113
+ C:4DA2H LINE# 114
+ C:4DA2H LINE# 115
+ C:4DAFH LINE# 116
+ C:4DAFH LINE# 117
+ C:4DB3H LINE# 118
+ C:4DB3H LINE# 119
+ C:4DB8H LINE# 120
+ C:4DBAH LINE# 121
+ C:4DBEH LINE# 122
+ C:4DBEH LINE# 123
+ C:4DC3H LINE# 124
+ C:4DC5H LINE# 125
+ C:4DC7H LINE# 126
+ C:4DCBH LINE# 127
+ C:4DCBH LINE# 128
+ C:4DD0H LINE# 129
+ C:4DD2H LINE# 130
+ C:4DD4H LINE# 131
+ C:4DD6H LINE# 132
+ C:4DDAH LINE# 133
+ C:4DDAH LINE# 134
+ C:4DDFH LINE# 135
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 24
+
+
+ C:4DE1H LINE# 136
+ C:4DE3H LINE# 137
+ C:4DE5H LINE# 138
+ C:4DE7H LINE# 139
+ C:4DECH LINE# 140
+ C:4DECH LINE# 141
+ C:4DF9H LINE# 142
+ C:4DF9H LINE# 143
+ C:4DFBH LINE# 145
+ C:4DFBH LINE# 146
+ C:4E08H LINE# 147
+ C:4E08H LINE# 149
+ C:4E0BH LINE# 150
+ ------- ENDPROC LEDDISPLAY
+ ------- ENDMOD LED
+
+ ------- MODULE KEYAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ D:00B7H PUBLIC PWM2CON
+ C:6F2BH PUBLIC KeyProcess
+ B:0080H.3 PUBLIC P0_3
+ C:5CCAH PUBLIC KeySwitchSpeed
+ X:053FH PUBLIC ucDsgingSpeed
+ ------- PROC KEYSWITCHSPEED
+ C:5CCAH LINE# 20
+ C:5CCAH LINE# 21
+ C:5CCAH LINE# 22
+ C:5CCCH LINE# 23
+ C:5CCEH LINE# 24
+ C:5CD0H LINE# 25
+ C:5CD3H LINE# 26
+ C:5CD3H LINE# 27
+ C:5CD9H LINE# 28
+ C:5CD9H LINE# 29
+ C:5CDBH LINE# 30
+ C:5CDDH LINE# 31
+ C:5CEDH LINE# 32
+ C:5CF0H LINE# 33
+ C:5CF1H LINE# 34
+ C:5CF8H LINE# 35
+ C:5CF8H LINE# 36
+ C:5CFBH LINE# 37
+ C:5CFDH LINE# 38
+ C:5D0AH LINE# 39
+ C:5D0DH LINE# 40
+ C:5D0EH LINE# 42
+ C:5D0EH LINE# 43
+ C:5D13H LINE# 44
+ C:5D15H LINE# 45
+ C:5D25H LINE# 46
+ C:5D28H LINE# 47
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 25
+
+
+ C:5D28H LINE# 48
+ C:5D29H LINE# 50
+ C:5D29H LINE# 51
+ C:5D2BH LINE# 52
+ C:5D2DH LINE# 53
+ C:5D2FH LINE# 54
+ C:5D2FH LINE# 55
+ ------- ENDPROC KEYSWITCHSPEED
+ ------- PROC KEYPROCESS
+ C:6F2BH LINE# 64
+ C:6F2BH LINE# 65
+ C:6F2BH LINE# 66
+ C:6F2EH LINE# 67
+ C:6F2EH LINE# 68
+ C:6F30H LINE# 69
+ C:6F41H LINE# 70
+ C:6F41H LINE# 71
+ C:6F41H LINE# 72
+ C:6F44H LINE# 73
+ C:6F45H LINE# 75
+ C:6F45H LINE# 76
+ C:6F47H LINE# 77
+ C:6F4CH LINE# 78
+ C:6F4DH LINE# 80
+ C:6F4DH LINE# 81
+ C:6F4FH LINE# 82
+ C:6F50H LINE# 84
+ C:6F50H LINE# 85
+ C:6F52H LINE# 86
+ C:6F55H LINE# 87
+ C:6F55H LINE# 88
+ C:6F57H LINE# 89
+ C:6F58H LINE# 91
+ C:6F58H LINE# 92
+ C:6F5AH LINE# 93
+ C:6F5AH LINE# 94
+ C:6F5AH LINE# 96
+ C:6F5AH LINE# 97
+ C:6F5AH LINE# 98
+ C:6F5AH LINE# 99
+ C:6F5AH LINE# 100
+ ------- ENDPROC KEYPROCESS
+ ------- ENDMOD KEYAPP
+
+ ------- MODULE LOWPOWER
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ X:05E8H PUBLIC ucSleepTimerCnt
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ B:00C8H.6 PUBLIC ENTWI
+ D:00B7H PUBLIC PWM2CON
+ B:002CH.3 PUBLIC bPDFlg
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 26
+
+
+ B:00A0H.0 PUBLIC P2_0
+ B:0080H.3 PUBLIC P0_3
+ B:00A0H.1 PUBLIC P2_1
+ B:00A0H.2 PUBLIC P2_2
+ B:00A0H.3 PUBLIC P2_3
+ D:00D8H PUBLIC EXF1
+ B:00A0H.4 PUBLIC P2_4
+ B:00A0H.5 PUBLIC P2_5
+ X:05E9H PUBLIC ucPDTimerCnt
+ C:6B05H PUBLIC SystemIntoSleep
+ C:53C2H PUBLIC LowPowerCheck
+ B:002CH.4 PUBLIC bPCEnterPDFlg
+ C:6C0BH PUBLIC LowPowerProcess
+ C:6BCBH PUBLIC WakeUpProcess
+ D:00B1H PUBLIC RSTSTAT
+ C:710DH PUBLIC SystemIntoPD
+ B:00A8H.4 PUBLIC ES0
+ B:00A8H.5 PUBLIC ET3
+ X:05EAH PUBLIC ucResetFlag
+ B:002CH.5 PUBLIC bWakeupFlg
+ B:002CH.6 PUBLIC bSleepFlg
+ ------- PROC WAKEUPPROCESS
+ C:6BCBH LINE# 26
+ C:6BCBH LINE# 27
+ C:6BCBH LINE# 28
+ C:6BCEH LINE# 29
+ C:6BCEH LINE# 30
+ C:6BD0H LINE# 31
+ C:6BD3H LINE# 32
+ C:6BD3H LINE# 33
+ C:6BD8H LINE# 34
+ C:6BDAH LINE# 36
+ C:6BDCH LINE# 37
+ C:6BE1H LINE# 38
+ C:6BE6H LINE# 41
+ C:6BE8H LINE# 43
+ C:6BEAH LINE# 44
+ C:6BECH LINE# 46
+ C:6BF1H LINE# 47
+ C:6BF4H LINE# 48
+ C:6BF7H LINE# 49
+ C:6BF7H LINE# 50
+ C:6BFCH LINE# 51
+ C:6BFEH LINE# 52
+ C:6C02H LINE# 53
+ C:6C06H LINE# 54
+ C:6C0AH LINE# 55
+ C:6C0AH LINE# 56
+ ------- ENDPROC WAKEUPPROCESS
+ ------- PROC SYSTEMINTOPD
+ C:710DH LINE# 65
+ C:710DH LINE# 66
+ C:710DH LINE# 67
+ C:710DH LINE# 68
+ C:710DH LINE# 69
+ C:7110H LINE# 71
+ C:7112H LINE# 72
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 27
+
+
+ C:711FH LINE# 73
+ C:7121H LINE# 74
+ C:7126H LINE# 76
+ C:7129H LINE# 77
+ ------- ENDPROC SYSTEMINTOPD
+ ------- PROC SYSTEMINTOSLEEP
+ C:6B05H LINE# 87
+ C:6B05H LINE# 88
+ C:6B05H LINE# 89
+ C:6B12H LINE# 90
+ C:6B14H LINE# 91
+ C:6B16H LINE# 93
+ C:6B19H LINE# 94
+ C:6B1CH LINE# 95
+ C:6B21H LINE# 96
+ C:6B23H LINE# 97
+ C:6B26H LINE# 98
+ C:6B29H LINE# 99
+ C:6B29H LINE# 100
+ C:6B2BH LINE# 101
+ C:6B2DH LINE# 103
+ C:6B2DH LINE# 104
+ C:6B2FH LINE# 105
+ C:6B2FH LINE# 106
+ C:6B34H LINE# 108
+ C:6B36H LINE# 110
+ C:6B38H LINE# 118
+ C:6B3AH LINE# 119
+ C:6B3DH LINE# 120
+ C:6B42H LINE# 121
+ C:6B44H LINE# 123
+ C:6B47H LINE# 124
+ ------- ENDPROC SYSTEMINTOSLEEP
+ ------- PROC LOWPOWERCHECK
+ C:53C2H LINE# 135
+ C:53C2H LINE# 136
+ C:53C2H LINE# 137
+ C:53CEH LINE# 138
+ C:53CEH LINE# 139
+ C:53D0H LINE# 140
+ C:53D2H LINE# 141
+ C:53D3H LINE# 142
+ C:53D6H LINE# 143
+ C:53D6H LINE# 144
+ C:53E5H LINE# 145
+ C:53E5H LINE# 146
+ C:53E7H LINE# 147
+ C:53E9H LINE# 148
+ C:53E9H LINE# 149
+ C:53EAH LINE# 150
+ C:53EDH LINE# 151
+ C:53EDH LINE# 152
+ C:53F3H LINE# 153
+ C:53F3H LINE# 154
+ C:53F6H LINE# 155
+ C:53F6H LINE# 156
+ C:5405H LINE# 157
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 28
+
+
+ C:5405H LINE# 158
+ C:5407H LINE# 159
+ C:5409H LINE# 160
+ C:5409H LINE# 161
+ C:540AH LINE# 163
+ C:540AH LINE# 164
+ C:540FH LINE# 165
+ C:5427H LINE# 166
+ C:5427H LINE# 167
+ C:5435H LINE# 168
+ C:5435H LINE# 169
+ C:5437H LINE# 170
+ C:5439H LINE# 171
+ C:5439H LINE# 172
+ C:543AH LINE# 174
+ C:543AH LINE# 175
+ C:543FH LINE# 176
+ C:543FH LINE# 177
+ C:543FH LINE# 178
+ C:5440H LINE# 180
+ C:5440H LINE# 181
+ C:5445H LINE# 182
+ C:5447H LINE# 183
+ C:5447H LINE# 184
+ C:5448H LINE# 186
+ C:5448H LINE# 187
+ C:544DH LINE# 188
+ C:544FH LINE# 189
+ C:544FH LINE# 190
+ ------- ENDPROC LOWPOWERCHECK
+ ------- PROC LOWPOWERPROCESS
+ C:6C0BH LINE# 199
+ C:6C0BH LINE# 200
+ C:6C0BH LINE# 201
+ C:6C11H LINE# 202
+ C:6C11H LINE# 203
+ C:6C13H LINE# 204
+ C:6C2BH LINE# 205
+ C:6C2BH LINE# 206
+ C:6C2DH LINE# 207
+ C:6C30H LINE# 208
+ C:6C30H LINE# 209
+ C:6C32H LINE# 210
+ C:6C34H LINE# 211
+ C:6C37H LINE# 212
+ C:6C37H LINE# 213
+ C:6C39H LINE# 214
+ C:6C3CH LINE# 215
+ C:6C3FH LINE# 216
+ C:6C41H LINE# 217
+ C:6C44H LINE# 218
+ C:6C44H LINE# 219
+ C:6C47H LINE# 220
+ C:6C47H LINE# 222
+ C:6C4AH LINE# 223
+ ------- ENDPROC LOWPOWERPROCESS
+ ------- ENDMOD LOWPOWER
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 29
+
+
+
+ ------- MODULE UARTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ C:39CFH PUBLIC Uart0RdCmdProcess
+ D:0090H PUBLIC P1
+ C:6DB8H PUBLIC Uart0ReadSubClassID
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ B:0028H.3 PUBLIC bUart0SndAckFlg
+ D:0080H PUBLIC P5
+ B:0028H.4 PUBLIC bUart1SndAckFlg
+ B:0028H.5 PUBLIC bUart2SndAckFlg
+ X:03F1H PUBLIC ucSubClassID
+ C:5294H PUBLIC _InterruptUart0AppRx
+ C:500EH PUBLIC Uart0WrCmdProcess
+ C:4EB8H PUBLIC InterruptUart0AppTx
+ X:03F2H PUBLIC ucUartErrCode
+ C:6243H PUBLIC Uart0CaliVoltage
+ C:6725H PUBLIC Uart0CaliTS1
+ C:676EH PUBLIC Uart0CaliTS2
+ C:6800H PUBLIC Page1WrRdFuncTable
+ C:6824H PUBLIC Page2WrRdFuncTable
+ C:7282H PUBLIC Uart0Check
+ D:0099H PUBLIC SBUF
+ C:4789H PUBLIC Uart0CaliCurrent
+ C:61EFH PUBLIC Uart0CaliRTC
+ X:03F3H PUBLIC ucUart0SndLength
+ X:03F4H PUBLIC ucUart1SndLength
+ X:03F5H PUBLIC ucUart2SndLength
+ D:00B1H PUBLIC RSTSTAT
+ X:03F6H PUBLIC ucUart0TimeoutCnt
+ X:03F7H PUBLIC ucUart1TimeoutCnt
+ X:03F8H PUBLIC ucUart2TimeoutCnt
+ X:0400H PUBLIC ucUart0Buf
+ X:04A0H PUBLIC ucUart1Buf
+ X:0540H PUBLIC ucUart2Buf
+ B:0028H.6 PUBLIC bUart0ReadFlg
+ B:0028H.7 PUBLIC bUart1ReadFlg
+ B:0029H.0 PUBLIC bUart2ReadFlg
+ C:3868H PUBLIC Uart0IapCheckHandshake
+ B:0029H.1 PUBLIC bUart0WriteFlg
+ C:5D96H PUBLIC _Uart0ReadInfo
+ C:73A1H PUBLIC Uart0Handshake
+ B:0029H.2 PUBLIC bUart1WriteFlg
+ B:0029H.3 PUBLIC bUart2WriteFlg
+ C:69AEH PUBLIC Uart0WriteManufacture
+ C:6DEFH PUBLIC Uart0CaliCurOffset
+ B:0098H.4 PUBLIC REN
+ B:0029H.4 PUBLIC bISPFlg
+ C:5964H PUBLIC _Uart0WriteInfo
+ X:03F9H PUBLIC ucUart0BufPT
+ X:03FAH PUBLIC ucUart1BufPT
+ X:03FBH PUBLIC ucUart2BufPT
+ D:009AH PUBLIC SADDR
+ X:03FCH PUBLIC uiReceCheckSum
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 30
+
+
+ ------- PROC UART0HANDSHAKE
+ C:73A1H LINE# 110
+ C:73A1H LINE# 111
+ C:73A1H LINE# 112
+ C:73A7H LINE# 113
+ C:73A7H LINE# 114
+ C:73ACH LINE# 115
+ C:73ADH LINE# 117
+ C:73ADH LINE# 118
+ C:73B2H LINE# 119
+ C:73B2H LINE# 120
+ ------- ENDPROC UART0HANDSHAKE
+ ------- PROC _UART0WRITEINFO
+ X:02B7H SYMBOL ptr
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:5964H LINE# 170
+ C:596CH LINE# 171
+ C:596CH LINE# 174
+ C:598DH LINE# 175
+ C:598DH LINE# 176
+ C:5998H LINE# 177
+ C:5998H LINE# 178
+ C:599BH LINE# 179
+ C:59B4H LINE# 180
+ C:59BEH LINE# 181
+ C:59C1H LINE# 182
+ C:59C3H LINE# 183
+ C:59C8H LINE# 185
+ C:59CDH LINE# 186
+ C:59CEH LINE# 188
+ C:59CEH LINE# 189
+ C:59D3H LINE# 190
+ C:59D3H LINE# 191
+ ------- ENDPROC _UART0WRITEINFO
+ ------- PROC _UART0READINFO
+ D:0006H SYMBOL ptr
+ ------- DO
+ D:0005H SYMBOL i
+ ------- ENDDO
+ C:5D96H LINE# 263
+ C:5D96H LINE# 264
+ C:5D96H LINE# 267
+ C:5D9FH LINE# 268
+ C:5D9FH LINE# 269
+ C:5DA1H LINE# 270
+ C:5DA1H LINE# 271
+ C:5DADH LINE# 272
+ C:5DADH LINE# 273
+ C:5DB0H LINE# 274
+ C:5DC2H LINE# 275
+ C:5DC7H LINE# 276
+ C:5DCAH LINE# 277
+ C:5DE6H LINE# 279
+ C:5DF8H LINE# 280
+ ------- ENDPROC _UART0READINFO
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 31
+
+
+ ------- PROC UART0WRITEMANUFACTURE
+ C:69AEH LINE# 346
+ C:69AEH LINE# 347
+ C:69AEH LINE# 348
+ C:69CFH LINE# 349
+ C:69CFH LINE# 350
+ C:69D7H LINE# 351
+ C:69D7H LINE# 352
+ C:69DDH LINE# 353
+ C:69DFH LINE# 354
+ C:69E3H LINE# 355
+ C:69E3H LINE# 356
+ C:69E5H LINE# 357
+ C:69E5H LINE# 358
+ C:69E7H LINE# 359
+ C:69ECH LINE# 360
+ C:69EDH LINE# 362
+ C:69EDH LINE# 363
+ C:69F2H LINE# 364
+ C:69F2H LINE# 365
+ ------- ENDPROC UART0WRITEMANUFACTURE
+ ------- PROC UART0READSUBCLASSID
+ C:6DB8H LINE# 437
+ C:6DB8H LINE# 438
+ C:6DB8H LINE# 439
+ C:6DD9H LINE# 440
+ C:6DD9H LINE# 441
+ C:6DE1H LINE# 443
+ C:6DE3H LINE# 444
+ C:6DE8H LINE# 445
+ C:6DE9H LINE# 447
+ C:6DE9H LINE# 448
+ C:6DEEH LINE# 449
+ C:6DEEH LINE# 450
+ ------- ENDPROC UART0READSUBCLASSID
+ ------- PROC UART0RDCMDPROCESS
+ ------- DO
+ X:02B5H SYMBOL rdaddr
+ ------- ENDDO
+ C:39CFH LINE# 506
+ C:39CFH LINE# 507
+ C:39CFH LINE# 510
+ C:3A23H LINE# 511
+ C:3A23H LINE# 512
+ C:3A23H LINE# 513
+ C:3A23H LINE# 514
+ C:3A23H LINE# 515
+ C:3A23H LINE# 516
+ C:3A23H LINE# 517
+ C:3A23H LINE# 518
+ C:3A23H LINE# 519
+ C:3A23H LINE# 520
+ C:3A23H LINE# 521
+ C:3A23H LINE# 522
+ C:3A33H LINE# 523
+ C:3A34H LINE# 525
+ C:3A34H LINE# 526
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 32
+
+
+ C:3A3BH LINE# 527
+ C:3A3CH LINE# 529
+ C:3A3CH LINE# 530
+ C:3A43H LINE# 531
+ C:3A44H LINE# 533
+ C:3A44H LINE# 534
+ C:3A4BH LINE# 535
+ C:3A4CH LINE# 537
+ C:3A4CH LINE# 538
+ C:3A53H LINE# 539
+ C:3A54H LINE# 541
+ C:3A54H LINE# 542
+ C:3A5BH LINE# 543
+ C:3A5CH LINE# 545
+ C:3A5CH LINE# 546
+ C:3A63H LINE# 547
+ C:3A64H LINE# 549
+ C:3A64H LINE# 550
+ C:3A6BH LINE# 551
+ C:3A6CH LINE# 553
+ C:3A6CH LINE# 554
+ C:3A73H LINE# 555
+ C:3A74H LINE# 557
+ C:3A74H LINE# 558
+ C:3A7BH LINE# 559
+ C:3A7CH LINE# 561
+ C:3A7CH LINE# 562
+ C:3A83H LINE# 563
+ C:3A84H LINE# 565
+ C:3A84H LINE# 566
+ C:3A8BH LINE# 567
+ C:3A8CH LINE# 569
+ C:3A8CH LINE# 570
+ C:3A93H LINE# 571
+ C:3A94H LINE# 573
+ C:3A94H LINE# 574
+ C:3A9BH LINE# 575
+ C:3A9CH LINE# 577
+ C:3A9CH LINE# 578
+ C:3AA3H LINE# 579
+ C:3AA4H LINE# 581
+ C:3AA4H LINE# 582
+ C:3AADH LINE# 583
+ C:3AADH LINE# 584
+ C:3AAFH LINE# 585
+ C:3AB5H LINE# 586
+ C:3AB6H LINE# 587
+ C:3AC4H LINE# 588
+ C:3AC4H LINE# 589
+ C:3AC6H LINE# 590
+ C:3ACCH LINE# 591
+ C:3ACDH LINE# 592
+ C:3AD4H LINE# 593
+ C:3AD4H LINE# 594
+ C:3AF2H LINE# 595
+ C:3AF5H LINE# 596
+ C:3AF6H LINE# 597
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 33
+
+
+ C:3AFDH LINE# 598
+ C:3AFDH LINE# 599
+ C:3B1BH LINE# 600
+ C:3B1EH LINE# 601
+ C:3B1EH LINE# 602
+ C:3B1EH LINE# 603
+ C:3B1EH LINE# 604
+ ------- ENDPROC UART0RDCMDPROCESS
+ ------- PROC UART0CALIVOLTAGE
+ C:6243H LINE# 830
+ C:6243H LINE# 831
+ C:6243H LINE# 832
+ C:6264H LINE# 833
+ C:6264H LINE# 834
+ C:6277H LINE# 836
+ C:627AH LINE# 837
+ C:627AH LINE# 838
+ C:627FH LINE# 839
+ C:6280H LINE# 841
+ C:6280H LINE# 842
+ C:6282H LINE# 843
+ C:6289H LINE# 844
+ C:628EH LINE# 845
+ C:628EH LINE# 846
+ C:628FH LINE# 848
+ C:628FH LINE# 849
+ C:6294H LINE# 850
+ C:6294H LINE# 851
+ ------- ENDPROC UART0CALIVOLTAGE
+ ------- PROC UART0CALICURRENT
+ C:4789H LINE# 923
+ C:4789H LINE# 924
+ C:4789H LINE# 925
+ C:47ADH LINE# 926
+ C:47ADH LINE# 930
+ C:4815H LINE# 932
+ C:482BH LINE# 933
+ C:482BH LINE# 934
+ C:4830H LINE# 935
+ C:4831H LINE# 937
+ C:4831H LINE# 938
+ C:4833H LINE# 939
+ C:483AH LINE# 940
+ C:483FH LINE# 941
+ C:483FH LINE# 942
+ C:4840H LINE# 944
+ C:4840H LINE# 945
+ C:4845H LINE# 946
+ C:4845H LINE# 947
+ ------- ENDPROC UART0CALICURRENT
+ ------- PROC UART0CALICUROFFSET
+ C:6DEFH LINE# 950
+ C:6DEFH LINE# 951
+ C:6DEFH LINE# 952
+ C:6E10H LINE# 953
+ C:6E10H LINE# 954
+ C:6E12H LINE# 955
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 34
+
+
+ C:6E19H LINE# 957
+ C:6E1EH LINE# 958
+ C:6E1FH LINE# 960
+ C:6E1FH LINE# 961
+ C:6E24H LINE# 962
+ C:6E24H LINE# 963
+ ------- ENDPROC UART0CALICUROFFSET
+ ------- PROC UART0CALITS1
+ C:6725H LINE# 1073
+ C:6725H LINE# 1074
+ C:6725H LINE# 1075
+ C:6746H LINE# 1076
+ C:6746H LINE# 1077
+ C:6748H LINE# 1078
+ C:675BH LINE# 1079
+ C:6762H LINE# 1081
+ C:6767H LINE# 1082
+ C:6768H LINE# 1084
+ C:6768H LINE# 1085
+ C:676DH LINE# 1086
+ C:676DH LINE# 1087
+ ------- ENDPROC UART0CALITS1
+ ------- PROC UART0CALITS2
+ C:676EH LINE# 1090
+ C:676EH LINE# 1091
+ C:676EH LINE# 1092
+ C:678FH LINE# 1093
+ C:678FH LINE# 1094
+ C:6791H LINE# 1095
+ C:67A4H LINE# 1096
+ C:67ABH LINE# 1098
+ C:67B0H LINE# 1099
+ C:67B1H LINE# 1101
+ C:67B1H LINE# 1102
+ C:67B6H LINE# 1103
+ C:67B6H LINE# 1104
+ ------- ENDPROC UART0CALITS2
+ ------- PROC UART0CALIRTC
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:61EFH LINE# 1196
+ C:61EFH LINE# 1197
+ C:61EFH LINE# 1200
+ C:6210H LINE# 1201
+ C:6210H LINE# 1202
+ C:6211H LINE# 1203
+ C:6211H LINE# 1204
+ C:6229H LINE# 1205
+ C:622EH LINE# 1206
+ C:6230H LINE# 1207
+ C:6237H LINE# 1208
+ C:623CH LINE# 1209
+ C:623DH LINE# 1211
+ C:623DH LINE# 1212
+ C:6242H LINE# 1213
+ C:6242H LINE# 1214
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 35
+
+
+ ------- ENDPROC UART0CALIRTC
+ ------- PROC UART0WRCMDPROCESS
+ ------- DO
+ X:02B5H SYMBOL rdaddr
+ ------- ENDDO
+ C:500EH LINE# 1280
+ C:500EH LINE# 1281
+ C:500EH LINE# 1283
+ C:503AH LINE# 1284
+ C:503AH LINE# 1285
+ C:503AH LINE# 1286
+ C:503DH LINE# 1287
+ C:503EH LINE# 1288
+ C:503EH LINE# 1289
+ C:5041H LINE# 1290
+ C:5042H LINE# 1291
+ C:5042H LINE# 1292
+ C:5045H LINE# 1293
+ C:5046H LINE# 1294
+ C:5046H LINE# 1295
+ C:5049H LINE# 1296
+ C:504AH LINE# 1297
+ C:504AH LINE# 1298
+ C:504DH LINE# 1299
+ C:504EH LINE# 1300
+ C:504EH LINE# 1301
+ C:5051H LINE# 1302
+ C:5052H LINE# 1303
+ C:5052H LINE# 1304
+ C:5055H LINE# 1305
+ C:5056H LINE# 1307
+ C:5056H LINE# 1308
+ C:5059H LINE# 1309
+ C:505AH LINE# 1310
+ C:505AH LINE# 1311
+ C:5078H LINE# 1312
+ C:507BH LINE# 1313
+ C:507CH LINE# 1314
+ C:507CH LINE# 1315
+ C:509AH LINE# 1316
+ C:509DH LINE# 1317
+ C:509EH LINE# 1319
+ C:509EH LINE# 1320
+ C:50A5H LINE# 1321
+ C:50A5H LINE# 1322
+ C:50A7H LINE# 1323
+ C:50A9H LINE# 1324
+ C:50AEH LINE# 1325
+ C:50AFH LINE# 1327
+ C:50AFH LINE# 1328
+ C:50B4H LINE# 1329
+ C:50B4H LINE# 1330
+ C:50B4H LINE# 1331
+ C:50B4H LINE# 1332
+ ------- ENDPROC UART0WRCMDPROCESS
+ ------- PROC UART0IAPCHECKHANDSHAKE
+ ------- DO
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 36
+
+
+ D:0007H SYMBOL i
+ D:0007H SYMBOL databak
+ X:02B5H SYMBOL checksum
+ ------- ENDDO
+ C:3868H LINE# 1466
+ C:3868H LINE# 1467
+ C:3868H LINE# 1469
+ C:386FH LINE# 1471
+ C:3877H LINE# 1472
+ C:3877H LINE# 1473
+ C:387FH LINE# 1474
+ C:387FH LINE# 1475
+ C:3884H LINE# 1476
+ C:3885H LINE# 1478
+ C:3885H LINE# 1479
+ C:388CH LINE# 1480
+ C:3890H LINE# 1481
+ C:3890H LINE# 1482
+ C:3891H LINE# 1484
+ C:3891H LINE# 1485
+ C:38ACH LINE# 1486
+ C:38ACH LINE# 1487
+ C:38BFH LINE# 1488
+ C:38BFH LINE# 1489
+ C:38D7H LINE# 1490
+ C:38D7H LINE# 1491
+ C:38DFH LINE# 1492
+ C:38DFH LINE# 1493
+ C:38EAH LINE# 1494
+ C:38EAH LINE# 1495
+ C:38EFH LINE# 1496
+ C:38EFH LINE# 1497
+ C:38F0H LINE# 1498
+ C:38F8H LINE# 1499
+ C:38F8H LINE# 1500
+ C:3903H LINE# 1501
+ C:3903H LINE# 1502
+ C:390AH LINE# 1503
+ C:390AH LINE# 1504
+ C:390AH LINE# 1505
+ C:390BH LINE# 1507
+ C:390BH LINE# 1508
+ C:3910H LINE# 1509
+ C:393FH LINE# 1510
+ C:393FH LINE# 1511
+ C:3946H LINE# 1512
+ C:3946H LINE# 1514
+ C:394DH LINE# 1515
+ C:394DH LINE# 1516
+ C:3951H LINE# 1517
+ C:3953H LINE# 1519
+ C:3953H LINE# 1520
+ C:3955H LINE# 1521
+ C:395AH LINE# 1522
+ C:395AH LINE# 1524
+ C:395FH LINE# 1525
+ C:3965H LINE# 1527
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 37
+
+
+ C:396AH LINE# 1528
+ C:3970H LINE# 1529
+ C:3973H LINE# 1531
+ C:398CH LINE# 1532
+ C:398CH LINE# 1533
+ C:39A1H LINE# 1534
+ C:39A4H LINE# 1536
+ C:39B8H LINE# 1537
+ C:39C9H LINE# 1539
+ C:39CEH LINE# 1540
+ C:39CEH LINE# 1541
+ C:39CEH LINE# 1542
+ ------- ENDPROC UART0IAPCHECKHANDSHAKE
+ ------- PROC _INTERRUPTUART0APPRX
+ D:0007H SYMBOL RxData
+ C:5294H LINE# 1729
+ C:5294H LINE# 1730
+ C:5294H LINE# 1731
+ C:52A3H LINE# 1732
+ C:52A9H LINE# 1733
+ C:52AFH LINE# 1734
+ C:52AFH LINE# 1735
+ C:52B1H LINE# 1736
+ C:52B1H LINE# 1737
+ C:52B9H LINE# 1738
+ C:52B9H LINE# 1739
+ C:52C3H LINE# 1740
+ C:52C3H LINE# 1741
+ C:52C7H LINE# 1742
+ C:52C7H LINE# 1743
+ C:52C9H LINE# 1744
+ C:52CBH LINE# 1745
+ C:52CDH LINE# 1747
+ C:52CDH LINE# 1748
+ C:52CFH LINE# 1749
+ C:52D1H LINE# 1750
+ C:52D1H LINE# 1751
+ C:52D3H LINE# 1752
+ C:52DBH LINE# 1753
+ C:52DBH LINE# 1754
+ C:52E0H LINE# 1755
+ C:52E0H LINE# 1756
+ C:52E0H LINE# 1758
+ C:52E3H LINE# 1759
+ C:52E3H LINE# 1760
+ C:52EBH LINE# 1761
+ C:52EBH LINE# 1762
+ C:52EEH LINE# 1763
+ C:52EEH LINE# 1764
+ C:52F0H LINE# 1765
+ C:52F3H LINE# 1766
+ C:52F3H LINE# 1767
+ C:530CH LINE# 1768
+ C:530CH LINE# 1769
+ C:530FH LINE# 1770
+ C:5311H LINE# 1771
+ C:5316H LINE# 1772
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 38
+
+
+ C:5316H LINE# 1773
+ C:5318H LINE# 1775
+ C:5318H LINE# 1776
+ C:531BH LINE# 1777
+ C:531BH LINE# 1778
+ C:531DH LINE# 1780
+ C:5322H LINE# 1781
+ C:5326H LINE# 1782
+ C:532AH LINE# 1783
+ ------- ENDPROC _INTERRUPTUART0APPRX
+ ------- PROC INTERRUPTUART0APPTX
+ C:4EB8H LINE# 1792
+ C:4EB8H LINE# 1793
+ C:4EB8H LINE# 1794
+ C:4EC8H LINE# 1795
+ C:4EC8H LINE# 1796
+ C:4EE1H LINE# 1797
+ C:4EE1H LINE# 1798
+ C:4EE3H LINE# 1799
+ C:4EE5H LINE# 1800
+ C:4EE7H LINE# 1801
+ C:4EEBH LINE# 1802
+ C:4EEDH LINE# 1803
+ C:4EEFH LINE# 1804
+ C:4EF1H LINE# 1805
+ C:4EF3H LINE# 1806
+ C:4EF5H LINE# 1808
+ C:4EF5H LINE# 1809
+ C:4EFBH LINE# 1810
+ C:4F0AH LINE# 1811
+ C:4F0AH LINE# 1812
+ C:4F0CH LINE# 1813
+ C:4F29H LINE# 1814
+ C:4F29H LINE# 1815
+ C:4F2BH LINE# 1816
+ C:4F30H LINE# 1817
+ C:4F32H LINE# 1818
+ C:4F36H LINE# 1819
+ C:4F38H LINE# 1820
+ C:4F3AH LINE# 1821
+ C:4F3CH LINE# 1822
+ C:4F3EH LINE# 1823
+ C:4F40H LINE# 1825
+ C:4F40H LINE# 1826
+ C:4F46H LINE# 1827
+ C:4F55H LINE# 1828
+ C:4F55H LINE# 1830
+ C:4F5AH LINE# 1831
+ C:4F5EH LINE# 1832
+ C:4F62H LINE# 1833
+ ------- ENDPROC INTERRUPTUART0APPTX
+ ------- PROC UART0CHECK
+ C:7282H LINE# 1842
+ C:7282H LINE# 1843
+ C:7282H LINE# 1844
+ C:728DH LINE# 1845
+ C:728DH LINE# 1846
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 39
+
+
+ C:728FH LINE# 1847
+ C:7293H LINE# 1848
+ C:7295H LINE# 1849
+ C:7295H LINE# 1850
+ ------- ENDPROC UART0CHECK
+ ------- ENDMOD UARTAPP
+
+ ------- MODULE MEMORY
+ C:0000H SYMBOL _ICE_DUMMY_
+ B:0020H.2 PUBLIC bOCRC_EN
+ X:0024H PUBLIC E2uiLearnLowTempe
+ D:0080H PUBLIC P0
+ D:0022H PUBLIC uiBatStatus
+ D:0090H PUBLIC P1
+ X:001EH PUBLIC E2ulCycleThreshold
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ B:0025H.6 PUBLIC bFastDischarge
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:0023H.0 PUBLIC bOV
+ X:002AH PUBLIC E2ucLowPowerDeley
+ B:0023H.1 PUBLIC bUV
+ X:00B3H PUBLIC E2ulCycleThresholdCount
+ B:0025H.5 PUBLIC bMidDischarge
+ B:0020H.6 PUBLIC bOCPM
+ B:0025H.2 PUBLIC bCHGING
+ X:006DH PUBLIC E2slOCCCurrent
+ X:00C5H PUBLIC E2siTS0Offset
+ X:0087H PUBLIC E2ucLoadRDelay
+ X:00C7H PUBLIC E2siTS1Offset
+ X:0071H PUBLIC E2ucOCCDelay
+ X:00ABH PUBLIC E2ulDfRC
+ B:0025H.4 PUBLIC bSlowDischarge
+ B:0021H.3 PUBLIC bLEDNum0
+ B:0021H.4 PUBLIC bLEDNum1
+ X:00BCH PUBLIC E2uiAFEOVvol
+ X:002FH PUBLIC E2ucRamCheckFlg0
+ X:006AH PUBLIC E2siChgEndCurr
+ X:0061H PUBLIC E2ucRamCheckFlg1
+ B:0025H.3 PUBLIC bDSGING
+ X:0073H PUBLIC E2ucRamCheckFlg2
+ X:008CH PUBLIC E2ucDSG1PWMRatioH
+ X:0088H PUBLIC E2ucRamCheckFlg3
+ X:0064H PUBLIC E2uiOVRvol
+ X:002CH PUBLIC E2siChgBKCur
+ X:00B9H PUBLIC E2ucDsgEndFlg
+ X:008DH PUBLIC E2ucRamCheckFlg5
+ X:0053H PUBLIC E2ucDeviceChem
+ X:0098H PUBLIC E2ucRamCheckFlg6
+ B:0022H.5 PUBLIC bAFE_SC
+ B:0025H.0 PUBLIC bCHGMOS
+ B:0020H.3 PUBLIC bBAL_EN
+ X:001AH PUBLIC E2ulFCC
+ X:00A1H PUBLIC E2ucRamCheckFlg7
+ X:008BH PUBLIC E2ucDSG1PWMRatioL
+ X:00A9H PUBLIC E2ucRamCheckFlg8
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 40
+
+
+ X:00BAH PUBLIC E2ucRamCheckFlg9
+ X:0076H PUBLIC E2uiUVRvol
+ X:0047H PUBLIC E2ucDeviceName
+ X:0090H PUBLIC E2uiTempOTCR
+ X:009BH PUBLIC E2uiTempOTDR
+ B:0021H.5 PUBLIC bTempNum
+ X:00C3H PUBLIC E2siCadcOffset
+ X:0097H PUBLIC E2ucTempRDelay
+ D:0026H PUBLIC ucAFEStatus
+ X:00AFH PUBLIC E2slDsgEndCurr
+ X:0094H PUBLIC E2uiTempUTCR
+ B:0020H.7 PUBLIC bEnEEPRomBK
+ X:00BFH PUBLIC E2uiVPackGain
+ X:00BEH PUBLIC E2ucRamCheckFlgA
+ X:00A4H PUBLIC E2uiBalanceVolDiff
+ X:009FH PUBLIC E2uiTempUTDR
+ X:00CAH PUBLIC E2ucRamCheckFlgB
+ B:0025H.1 PUBLIC bDSGMOS
+ X:01FEH PUBLIC E2uiCheckFlag
+ X:00A2H PUBLIC E2uiBalanceVol
+ B:0022H.4 PUBLIC bAFE_OV
+ X:0068H PUBLIC E2uiChgEndVol
+ X:00AAH PUBLIC E2ucSOC
+ X:0035H PUBLIC E2ucMNFName
+ B:0023H.2 PUBLIC bOCC
+ D:0020H PUBLIC uiPackConfig
+ X:0067H PUBLIC E2ucOVRDelay
+ X:002EH PUBLIC E2ucRTCBKDelay
+ X:0041H PUBLIC E2ulMNFDate
+ B:0020H.5 PUBLIC bCTO_EN
+ X:00B7H PUBLIC E2uiLastCCount
+ X:0002H PUBLIC E2uiVOC
+ X:0079H PUBLIC E2ucUVRDelay
+ X:007AH PUBLIC E2uiDsgEndVol
+ X:00C9H PUBLIC E2ucCalibrated
+ B:0026H.4 PUBLIC bAfeCHG
+ X:00C1H PUBLIC E2siCadcGain
+ B:0026H.2 PUBLIC bAfeChging
+ X:00CBH PUBLIC Reserved
+ B:0021H.0 PUBLIC bCellNum1
+ X:007DH PUBLIC E2slOCD1Current
+ B:0022H.6 PUBLIC bCTO
+ B:0022H.0 PUBLIC bOTC
+ B:0021H.1 PUBLIC bCellNum2
+ X:0082H PUBLIC E2slOCD2Current
+ B:0022H.1 PUBLIC bOTD
+ B:0021H.2 PUBLIC bCellNum3
+ X:0081H PUBLIC E2ucOCD1Delay
+ X:0086H PUBLIC E2ucOCD2Delay
+ X:00A6H PUBLIC E2siBalCurrent
+ B:0024H.2 PUBLIC bVDQ
+ B:0026H.5 PUBLIC bAfeDSG
+ B:0022H.2 PUBLIC bUTC
+ X:0062H PUBLIC E2uiOVvol
+ X:0028H PUBLIC E2siDfilterCur
+ B:0026H.3 PUBLIC bAfeDsging
+ B:0022H.3 PUBLIC bUTD
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 41
+
+
+ X:0000H PUBLIC E2uiPackConfigMap
+ X:0074H PUBLIC E2uiUVvol
+ X:0022H PUBLIC E2uiCycleCount
+ X:008EH PUBLIC E2uiTempOTC
+ X:0099H PUBLIC E2uiTempOTD
+ X:0026H PUBLIC E2Reserve
+ B:0021H.6 PUBLIC bChgerLock
+ X:0096H PUBLIC E2ucTempDelay
+ B:0026H.0 PUBLIC bAfeChger
+ X:0092H PUBLIC E2uiTempUTC
+ X:009DH PUBLIC E2uiTempUTD
+ X:0034H PUBLIC E2ucID
+ X:00BBH PUBLIC E2ucAFEProtectConfig
+ X:0032H PUBLIC E2uiHWVersion
+ X:005FH PUBLIC E2uiChemID
+ X:002BH PUBLIC E2ucChgBKDelay
+ X:0066H PUBLIC E2ucOVDelay
+ D:0024H PUBLIC uiPackStatus
+ B:0023H.3 PUBLIC bOCD1
+ B:0023H.4 PUBLIC bOCD2
+ B:0024H.0 PUBLIC bFC
+ B:0020H.4 PUBLIC bPF_EN
+ X:0072H PUBLIC E2ucOCCRDelay
+ X:0016H PUBLIC E2ulDesignCapacity
+ B:0024H.1 PUBLIC bFD
+ B:0020H.0 PUBLIC bSC_EN
+ X:0045H PUBLIC E2uiSerialNum
+ X:0030H PUBLIC E2uiSWVersion
+ X:00A8H PUBLIC E2ucBalanceDelay
+ X:0089H PUBLIC E2uiDSG1PWMFreq
+ X:0078H PUBLIC E2ucUVDelay
+ X:006CH PUBLIC E2ucChgEndDelay
+ B:0021H.7 PUBLIC bLoadLock
+ B:0026H.1 PUBLIC bAfeLoad
+ I:00A0H PUBLIC STACK
+ B:0020H.1 PUBLIC bOV_EN
+ X:007CH PUBLIC E2ucDsgEndDelay
+ ------- ENDMOD MEMORY
+
+ ------- MODULE AFE
+ C:0000H SYMBOL _ICE_DUMMY_
+ X:0200H PUBLIC uiVadcVmax
+ D:000FH PUBLIC uiCellVmin
+ D:0080H PUBLIC P0
+ D:0011H PUBLIC uiCellVmax
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:55F0H PUBLIC AFEInitReg
+ X:0202H PUBLIC uiTempeMin
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:0204H PUBLIC uiTempeMax
+ B:002BH.1 PUBLIC bCADCFlg
+ C:732FH PUBLIC AfeADCEn
+ C:6D06H PUBLIC AFEClrFlg
+ C:7212H PUBLIC AFERdStatus
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 42
+
+
+ D:0013H PUBLIC ucCellNum
+ X:0206H PUBLIC Info
+ C:738EH PUBLIC AfeTempADCDis
+ X:023CH PUBLIC slCadcCurBuf
+ B:002BH.2 PUBLIC bAfeErr
+ B:002BH.3 PUBLIC bVADCFlg
+ C:6CC9H PUBLIC AFERdFlg
+ C:722AH PUBLIC _AfeAlarmDis
+ C:731CH PUBLIC AfeWDTDis
+ B:002BH.4 PUBLIC bAfeI2CRWErrFlg
+ C:7258H PUBLIC _AFEMosCtl
+ C:737BH PUBLIC AfeTempADCEn
+ X:027CH PUBLIC ucTempeMiddle
+ C:73B3H PUBLIC _AfeAlarmEn
+ C:7309H PUBLIC AfeWDTEn
+ X:027DH PUBLIC slCadcCurrent
+ X:0281H PUBLIC slCadcCurAverage
+ C:7368H PUBLIC AfeCADCDis
+ C:72D0H PUBLIC AFEChgerCheckDis
+ C:6C8AH PUBLIC _AfeBalCtl
+ X:0285H PUBLIC AFE
+ C:7355H PUBLIC AfeCADCEn
+ C:72BDH PUBLIC AFEChgerCheckEn
+ C:5DF9H PUBLIC AFERamCheck
+ C:72F6H PUBLIC AFELoadCheckDis
+ D:00C8H PUBLIC TWICON
+ X:02A3H PUBLIC REG
+ C:7057H PUBLIC AFEEnterPD
+ C:5569H PUBLIC AFEInit
+ C:71F8H PUBLIC AFETwiCheck
+ C:72E3H PUBLIC AFELoadCheckEn
+ C:5B8BH PUBLIC _AFEReadReg
+ X:02B1H PUBLIC ucAfeI2CErrDelayCnt
+ X:02B2H PUBLIC ucCadcCnt
+ C:7342H PUBLIC AfeADCDis
+ D:0014H PUBLIC ucCellNumOffset
+ C:4F63H PUBLIC _AFEWriteReg
+ B:002BH.5 PUBLIC bAfeAlarmFlg
+ X:02B3H PUBLIC uiVadcVmin
+ ------- PROC AFETWICHECK
+ C:71F8H LINE# 43
+ C:71F8H LINE# 44
+ C:71F8H LINE# 45
+ C:71FBH LINE# 46
+ C:71FBH LINE# 47
+ C:7206H LINE# 48
+ C:7206H LINE# 49
+ C:7208H LINE# 50
+ C:720BH LINE# 51
+ C:720BH LINE# 52
+ C:720CH LINE# 54
+ C:720CH LINE# 55
+ C:7211H LINE# 56
+ C:7211H LINE# 57
+ ------- ENDPROC AFETWICHECK
+ ------- PROC _AFEWRITEREG
+ X:02C0H SYMBOL Reg
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 43
+
+
+ X:02C1H SYMBOL Length
+ X:02C2H SYMBOL WrBuf
+ ------- DO
+ B:002AH.4 SYMBOL Result
+ X:02C4H SYMBOL Times
+ X:02C5H SYMBOL i
+ ------- ENDDO
+ C:4F63H LINE# 67
+ C:4F71H LINE# 68
+ C:4F71H LINE# 69
+ C:4F73H LINE# 70
+ C:4F76H LINE# 73
+ C:4F7CH LINE# 74
+ C:4F7CH LINE# 75
+ C:4F8BH LINE# 76
+ C:4F8BH LINE# 77
+ C:4F98H LINE# 78
+ C:4F98H LINE# 80
+ C:4F98H LINE# 81
+ C:4FBFH LINE# 82
+ C:4FBFH LINE# 88
+ C:4FC2H LINE# 89
+ C:4FC2H LINE# 90
+ C:4FC4H LINE# 91
+ C:4FC6H LINE# 93
+ C:4FC6H LINE# 94
+ C:4FC9H LINE# 95
+ C:4FCEH LINE# 96
+ C:4FD1H LINE# 97
+ C:4FD4H LINE# 98
+ C:4FD4H LINE# 99
+ C:4FD6H LINE# 100
+ C:4FDFH LINE# 101
+ C:4FDFH LINE# 102
+ C:4FE1H LINE# 103
+ C:4FE3H LINE# 105
+ C:4FE3H LINE# 106
+ C:4FE8H LINE# 107
+ C:4FEEH LINE# 108
+ C:4FF8H LINE# 109
+ C:4FF8H LINE# 110
+ C:4FFDH LINE# 111
+ C:5006H LINE# 112
+ C:5006H LINE# 113
+ C:500BH LINE# 115
+ C:500DH LINE# 116
+ ------- ENDPROC _AFEWRITEREG
+ ------- PROC _AFEREADREG
+ X:02C3H SYMBOL Reg
+ X:02C4H SYMBOL Length
+ X:02C5H SYMBOL RdBuf
+ ------- DO
+ B:002AH.4 SYMBOL Result
+ X:02C7H SYMBOL Times
+ ------- ENDDO
+ C:5B8BH LINE# 126
+ C:5B99H LINE# 127
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 44
+
+
+ C:5B99H LINE# 128
+ C:5B9BH LINE# 129
+ C:5B9EH LINE# 131
+ C:5BA1H LINE# 132
+ C:5BA1H LINE# 133
+ C:5BAEH LINE# 134
+ C:5BAEH LINE# 136
+ C:5BD7H LINE# 140
+ C:5BDAH LINE# 141
+ C:5BDAH LINE# 142
+ C:5BDCH LINE# 143
+ C:5BDEH LINE# 145
+ C:5BDEH LINE# 146
+ C:5BE1H LINE# 147
+ C:5BE6H LINE# 148
+ C:5BE9H LINE# 149
+ C:5BECH LINE# 150
+ C:5BECH LINE# 151
+ C:5BEEH LINE# 152
+ C:5BEEH LINE# 153
+ C:5BF3H LINE# 155
+ C:5BF5H LINE# 156
+ ------- ENDPROC _AFEREADREG
+ ------- PROC AFECLRFLG
+ C:6D06H LINE# 165
+ C:6D06H LINE# 166
+ C:6D06H LINE# 167
+ C:6D13H LINE# 168
+ C:6D13H LINE# 169
+ C:6D1DH LINE# 170
+ C:6D1DH LINE# 171
+ C:6D24H LINE# 172
+ C:6D2FH LINE# 173
+ C:6D36H LINE# 174
+ C:6D41H LINE# 175
+ C:6D41H LINE# 176
+ C:6D41H LINE# 177
+ ------- ENDPROC AFECLRFLG
+ ------- PROC AFEINITREG
+ ------- DO
+ D:0004H SYMBOL TempVar
+ ------- ENDDO
+ C:55F0H LINE# 186
+ C:55F0H LINE# 187
+ C:55F0H LINE# 190
+ C:55F5H LINE# 191
+ C:55F9H LINE# 192
+ C:55FCH LINE# 193
+ C:5600H LINE# 194
+ C:5603H LINE# 195
+ C:5605H LINE# 196
+ C:5609H LINE# 197
+ C:560DH LINE# 198
+ C:5611H LINE# 199
+ C:5615H LINE# 200
+ C:5618H LINE# 202
+ C:561BH LINE# 203
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 45
+
+
+ C:561BH LINE# 204
+ C:5622H LINE# 205
+ C:5634H LINE# 206
+ C:5634H LINE# 207
+ C:5637H LINE# 208
+ C:5637H LINE# 209
+ C:563EH LINE# 210
+ C:5650H LINE# 211
+ C:566DH LINE# 212
+ C:5672H LINE# 213
+ C:5675H LINE# 214
+ C:5675H LINE# 215
+ ------- ENDPROC AFEINITREG
+ ------- PROC AFEINIT
+ ------- DO
+ X:02BCH SYMBOL RdBuf
+ X:02BEH SYMBOL i
+ B:002AH.3 SYMBOL Result
+ X:02BFH SYMBOL j
+ ------- ENDDO
+ C:5569H LINE# 225
+ C:5569H LINE# 226
+ C:5569H LINE# 229
+ C:556BH LINE# 230
+ C:5571H LINE# 232
+ C:557BH LINE# 233
+ C:557BH LINE# 234
+ C:5588H LINE# 235
+ C:5588H LINE# 236
+ C:5598H LINE# 237
+ C:5598H LINE# 238
+ C:55A1H LINE# 240
+ C:55CFH LINE# 241
+ C:55CFH LINE# 242
+ C:55D7H LINE# 243
+ C:55D7H LINE# 244
+ C:55D9H LINE# 245
+ C:55DBH LINE# 246
+ C:55DBH LINE# 247
+ C:55DBH LINE# 248
+ C:55E4H LINE# 249
+ C:55E4H LINE# 251
+ C:55E4H LINE# 252
+ C:55E6H LINE# 253
+ C:55E6H LINE# 254
+ C:55E9H LINE# 255
+ C:55E9H LINE# 256
+ C:55EBH LINE# 257
+ C:55EBH LINE# 258
+ C:55EDH LINE# 259
+ C:55EFH LINE# 261
+ ------- ENDPROC AFEINIT
+ ------- PROC AFERDFLG
+ C:6CC9H LINE# 272
+ C:6CC9H LINE# 273
+ C:6CC9H LINE# 274
+ C:6CD6H LINE# 275
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 46
+
+
+ C:6CD6H LINE# 276
+ C:6CDEH LINE# 277
+ C:6CDEH LINE# 278
+ C:6CE0H LINE# 279
+ C:6CE0H LINE# 281
+ C:6CE4H LINE# 282
+ C:6CE4H LINE# 283
+ C:6CE6H LINE# 284
+ C:6CE6H LINE# 286
+ C:6CF1H LINE# 287
+ C:6CF1H LINE# 288
+ C:6CF3H LINE# 289
+ C:6CF5H LINE# 290
+ C:6CF5H LINE# 291
+ C:6CF9H LINE# 292
+ C:6CF9H LINE# 293
+ C:6CFBH LINE# 294
+ C:6CFBH LINE# 296
+ C:6D02H LINE# 297
+ C:6D02H LINE# 298
+ C:6D05H LINE# 299
+ C:6D05H LINE# 300
+ C:6D05H LINE# 301
+ ------- ENDPROC AFERDFLG
+ ------- PROC AFERDSTATUS
+ ------- DO
+ X:02B9H SYMBOL RegTemp
+ ------- ENDDO
+ C:7212H LINE# 310
+ C:7212H LINE# 311
+ C:7212H LINE# 313
+ C:721FH LINE# 314
+ C:721FH LINE# 315
+ C:7229H LINE# 316
+ C:7229H LINE# 317
+ ------- ENDPROC AFERDSTATUS
+ ------- PROC AFERAMCHECK
+ ------- DO
+ X:02B9H SYMBOL RdBuf
+ X:02BBH SYMBOL i
+ ------- ENDDO
+ C:5DF9H LINE# 326
+ C:5DF9H LINE# 327
+ C:5DF9H LINE# 331
+ C:5E09H LINE# 332
+ C:5E09H LINE# 333
+ C:5E12H LINE# 335
+ C:5E40H LINE# 336
+ C:5E40H LINE# 337
+ C:5E48H LINE# 338
+ C:5E48H LINE# 339
+ C:5E4DH LINE# 340
+ C:5E4DH LINE# 341
+ C:5E4FH LINE# 342
+ C:5E4FH LINE# 343
+ C:5E50H LINE# 344
+ C:5E50H LINE# 345
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 47
+
+
+ C:5E50H LINE# 346
+ C:5E59H LINE# 347
+ ------- ENDPROC AFERAMCHECK
+ ------- PROC AFEENTERPD
+ C:7057H LINE# 356
+ C:7057H LINE# 357
+ C:7057H LINE# 358
+ C:705DH LINE# 359
+ C:706AH LINE# 360
+ C:706AH LINE# 361
+ C:7071H LINE# 362
+ C:707CH LINE# 363
+ C:707CH LINE# 364
+ ------- ENDPROC AFEENTERPD
+ ------- PROC _AFEMOSCTL
+ D:0007H SYMBOL MosStatus
+ C:7258H LINE# 373
+ C:7258H LINE# 374
+ C:7258H LINE# 375
+ C:725FH LINE# 376
+ C:7261H LINE# 377
+ C:726CH LINE# 378
+ ------- ENDPROC _AFEMOSCTL
+ ------- PROC AFECHGERCHECKEN
+ C:72BDH LINE# 388
+ C:72BDH LINE# 389
+ C:72BDH LINE# 390
+ C:72C4H LINE# 391
+ C:72CFH LINE# 392
+ ------- ENDPROC AFECHGERCHECKEN
+ ------- PROC AFECHGERCHECKDIS
+ C:72D0H LINE# 395
+ C:72D0H LINE# 396
+ C:72D0H LINE# 397
+ C:72D7H LINE# 398
+ C:72E2H LINE# 399
+ ------- ENDPROC AFECHGERCHECKDIS
+ ------- PROC AFELOADCHECKEN
+ C:72E3H LINE# 402
+ C:72E3H LINE# 403
+ C:72E3H LINE# 404
+ C:72EAH LINE# 405
+ C:72F5H LINE# 406
+ ------- ENDPROC AFELOADCHECKEN
+ ------- PROC AFELOADCHECKDIS
+ C:72F6H LINE# 409
+ C:72F6H LINE# 410
+ C:72F6H LINE# 411
+ C:72FDH LINE# 412
+ C:7308H LINE# 413
+ ------- ENDPROC AFELOADCHECKDIS
+ ------- PROC _AFEBALCTL
+ X:02BBH SYMBOL BalChTemp
+ C:6C8AH LINE# 422
+ C:6C92H LINE# 423
+ C:6C92H LINE# 424
+ C:6CA6H LINE# 425
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 48
+
+
+ C:6CB3H LINE# 426
+ C:6CB3H LINE# 427
+ C:6CBDH LINE# 428
+ C:6CC8H LINE# 429
+ C:6CC8H LINE# 430
+ ------- ENDPROC _AFEBALCTL
+ ------- PROC AFEWDTEN
+ C:7309H LINE# 439
+ C:7309H LINE# 440
+ C:7309H LINE# 441
+ C:7310H LINE# 442
+ C:731BH LINE# 443
+ ------- ENDPROC AFEWDTEN
+ ------- PROC AFEWDTDIS
+ C:731CH LINE# 446
+ C:731CH LINE# 447
+ C:731CH LINE# 448
+ C:7323H LINE# 449
+ C:732EH LINE# 450
+ ------- ENDPROC AFEWDTDIS
+ ------- PROC AFEADCEN
+ C:732FH LINE# 459
+ C:732FH LINE# 460
+ C:732FH LINE# 461
+ C:7336H LINE# 462
+ C:7341H LINE# 463
+ ------- ENDPROC AFEADCEN
+ ------- PROC AFEADCDIS
+ C:7342H LINE# 466
+ C:7342H LINE# 467
+ C:7342H LINE# 468
+ C:7349H LINE# 469
+ C:7354H LINE# 470
+ ------- ENDPROC AFEADCDIS
+ ------- PROC AFECADCEN
+ C:7355H LINE# 472
+ C:7355H LINE# 473
+ C:7355H LINE# 474
+ C:735CH LINE# 475
+ C:7367H LINE# 476
+ ------- ENDPROC AFECADCEN
+ ------- PROC AFECADCDIS
+ C:7368H LINE# 479
+ C:7368H LINE# 480
+ C:7368H LINE# 481
+ C:736FH LINE# 482
+ C:737AH LINE# 483
+ ------- ENDPROC AFECADCDIS
+ ------- PROC AFETEMPADCEN
+ C:737BH LINE# 485
+ C:737BH LINE# 486
+ C:737BH LINE# 487
+ C:7382H LINE# 488
+ C:738DH LINE# 489
+ ------- ENDPROC AFETEMPADCEN
+ ------- PROC AFETEMPADCDIS
+ C:738EH LINE# 492
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 49
+
+
+ C:738EH LINE# 493
+ C:738EH LINE# 494
+ C:7395H LINE# 495
+ C:73A0H LINE# 496
+ ------- ENDPROC AFETEMPADCDIS
+ ------- PROC _AFEALARMEN
+ D:0007H SYMBOL AlarmFlg
+ C:73B3H LINE# 505
+ C:73B3H LINE# 506
+ C:73B3H LINE# 507
+ C:73B9H LINE# 508
+ C:73C4H LINE# 509
+ ------- ENDPROC _AFEALARMEN
+ ------- PROC _AFEALARMDIS
+ D:0007H SYMBOL AlarmFlg
+ C:722AH LINE# 511
+ C:722AH LINE# 512
+ C:722AH LINE# 513
+ C:7235H LINE# 514
+ C:7240H LINE# 515
+ ------- ENDPROC _AFEALARMDIS
+ ------- ENDMOD AFE
+
+ ------- MODULE BALANCE
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ B:002BH.6 PUBLIC bBalancingFlg
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ B:002BH.7 PUBLIC bCellOpenDecFlag
+ D:0080H PUBLIC P5
+ C:73EDH PUBLIC BalanceProcess
+ X:0536H PUBLIC ucBalanceStep
+ X:0537H PUBLIC ucCellOpenDecCnt
+ X:0538H PUBLIC ucCtoCnt
+ B:002CH.0 PUBLIC bBalanceFlg
+ C:707DH PUBLIC CTOTurnOnCheck
+ X:0539H PUBLIC ucBalanceTimeCnt
+ B:002CH.1 PUBLIC bBalanceOddFlg
+ X:053AH PUBLIC uiBalanceChannel
+ B:002CH.2 PUBLIC bCTOValidFlg
+ C:3C66H PUBLIC BalTurnOnCheck
+ C:4BF2H PUBLIC BalProcess
+ C:6E25H PUBLIC CTOCheckVol
+ ------- PROC BALTURNONCHECK
+ ------- DO
+ D:0005H SYMBOL i
+ ------- ENDDO
+ C:3C66H LINE# 32
+ C:3C66H LINE# 33
+ C:3C66H LINE# 36
+ C:3C72H LINE# 37
+ C:3C72H LINE# 38
+ C:3C78H LINE# 39
+ C:3C78H LINE# 40
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 50
+
+
+ C:3C7FH LINE# 41
+ C:3CAFH LINE# 44
+ C:3CAFH LINE# 45
+ C:3CB1H LINE# 46
+ C:3CB6H LINE# 47
+ C:3CB7H LINE# 49
+ C:3CB7H LINE# 50
+ C:3D01H LINE# 51
+ C:3D01H LINE# 52
+ C:3D04H LINE# 53
+ C:3D04H LINE# 54
+ C:3D0AH LINE# 55
+ C:3D0AH LINE# 56
+ C:3D26H LINE# 57
+ C:3D26H LINE# 58
+ C:3D3CH LINE# 59
+ C:3D3CH LINE# 60
+ C:3D81H LINE# 61
+ C:3D81H LINE# 62
+ C:3D9CH LINE# 63
+ C:3D9CH LINE# 64
+ C:3D9FH LINE# 65
+ C:3DA1H LINE# 66
+ C:3DA1H LINE# 67
+ C:3DA2H LINE# 69
+ C:3DA2H LINE# 70
+ C:3DA4H LINE# 71
+ C:3DA9H LINE# 72
+ C:3DA9H LINE# 73
+ C:3DA9H LINE# 74
+ C:3DA9H LINE# 75
+ C:3DA9H LINE# 76
+ ------- ENDPROC BALTURNONCHECK
+ ------- PROC CTOCHECKVOL
+ ------- DO
+ B:002AH.3 SYMBOL bResult
+ ------- ENDDO
+ C:6E25H LINE# 87
+ C:6E25H LINE# 88
+ C:6E25H LINE# 89
+ C:6E27H LINE# 91
+ C:6E2AH LINE# 92
+ C:6E2AH LINE# 93
+ C:6E2DH LINE# 94
+ C:6E2DH LINE# 95
+ C:6E30H LINE# 96
+ C:6E30H LINE# 97
+ C:6E3FH LINE# 98
+ C:6E3FH LINE# 99
+ C:6E41H LINE# 100
+ C:6E4CH LINE# 101
+ C:6E4CH LINE# 102
+ C:6E4EH LINE# 103
+ C:6E4EH LINE# 104
+ C:6E50H LINE# 106
+ C:6E50H LINE# 107
+ C:6E52H LINE# 108
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 51
+
+
+ C:6E57H LINE# 109
+ C:6E57H LINE# 110
+ C:6E57H LINE# 111
+ C:6E57H LINE# 128
+ C:6E57H LINE# 130
+ C:6E59H LINE# 131
+ ------- ENDPROC CTOCHECKVOL
+ ------- PROC BALPROCESS
+ ------- DO
+ X:02B9H SYMBOL BalChTemp
+ ------- ENDDO
+ C:4BF2H LINE# 144
+ C:4BF2H LINE# 145
+ C:4BF2H LINE# 150
+ C:4C10H LINE# 151
+ C:4C10H LINE# 152
+ C:4C12H LINE# 153
+ C:4C12H LINE# 155
+ C:4C2AH LINE# 156
+ C:4C2AH LINE# 157
+ C:4C2AH LINE# 158
+ C:4C30H LINE# 159
+ C:4C30H LINE# 160
+ C:4C33H LINE# 161
+ C:4C33H LINE# 162
+ C:4C46H LINE# 163
+ C:4C48H LINE# 165
+ C:4C48H LINE# 166
+ C:4C5BH LINE# 167
+ C:4C5BH LINE# 168
+ C:4C66H LINE# 169
+ C:4C6CH LINE# 170
+ C:4C6EH LINE# 171
+ C:4C6EH LINE# 172
+ C:4C6FH LINE# 174
+ C:4C6FH LINE# 175
+ C:4C75H LINE# 176
+ C:4C76H LINE# 178
+ C:4C76H LINE# 179
+ C:4C7BH LINE# 180
+ C:4C7BH LINE# 181
+ C:4C81H LINE# 182
+ C:4C87H LINE# 183
+ C:4C89H LINE# 184
+ C:4C89H LINE# 185
+ C:4C8AH LINE# 187
+ C:4C8AH LINE# 188
+ C:4C8FH LINE# 189
+ C:4C8FH LINE# 190
+ C:4C95H LINE# 191
+ C:4C96H LINE# 193
+ C:4C96H LINE# 194
+ C:4C9CH LINE# 195
+ C:4C9EH LINE# 196
+ C:4C9EH LINE# 197
+ C:4C9FH LINE# 199
+ C:4C9FH LINE# 200
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 52
+
+
+ C:4CA5H LINE# 201
+ C:4CA7H LINE# 202
+ C:4CA9H LINE# 203
+ C:4CABH LINE# 204
+ C:4CABH LINE# 205
+ C:4CABH LINE# 206
+ ------- ENDPROC BALPROCESS
+ ------- PROC CTOTURNONCHECK
+ C:707DH LINE# 215
+ C:707DH LINE# 216
+ C:707DH LINE# 220
+ C:7083H LINE# 222
+ C:7083H LINE# 223
+ C:708EH LINE# 224
+ C:708EH LINE# 225
+ C:7091H LINE# 226
+ C:7094H LINE# 227
+ C:7094H LINE# 228
+ C:7096H LINE# 229
+ C:7098H LINE# 230
+ C:70A2H LINE# 231
+ C:70A2H LINE# 232
+ C:70A2H LINE# 233
+ C:70A2H LINE# 234
+ ------- ENDPROC CTOTURNONCHECK
+ ------- PROC BALANCEPROCESS
+ C:73EDH LINE# 242
+ C:73EDH LINE# 243
+ C:73EDH LINE# 244
+ C:73F0H LINE# 246
+ C:73F3H LINE# 248
+ C:73F6H LINE# 249
+ ------- ENDPROC BALANCEPROCESS
+ ------- ENDMOD BALANCE
+
+ ------- MODULE CALCULATE
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:4CACH PUBLIC OffsetCalculate
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:2B2DH PUBLIC _CalcuTemp
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:6EC4H PUBLIC siCurTempOffset
+ C:3410H PUBLIC AfeCalcuCurr
+ C:4025H PUBLIC AfeCalcuVol
+ C:6848H PUBLIC AfeGetTempe
+ X:049EH PUBLIC ucChgingCheckCnt
+ C:7296H PUBLIC AFEInfoProcess
+ X:049FH PUBLIC ucDsgingCheckCnt
+ B:00A8H.4 PUBLIC ES0
+ C:6691H PUBLIC AfeGetVol
+ C:437CH PUBLIC AfeCalcuTempe
+ ------- PROC _CALCUTEMP
+ D:0082H SYMBOL getdata
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 53
+
+
+ ------- DO
+ X:02B9H SYMBOL i
+ X:02BAH SYMBOL Temperature
+ X:02BCH SYMBOL Tempcalcu
+ ------- ENDDO
+ C:2B2DH LINE# 22
+ C:2B31H LINE# 23
+ C:2B31H LINE# 31
+ C:2B5FH LINE# 32
+ C:2B71H LINE# 33
+ C:2B71H LINE# 34
+ C:2B8EH LINE# 35
+ C:2B8EH LINE# 38
+ C:2BA7H LINE# 39
+ C:2BA7H LINE# 40
+ C:2BB1H LINE# 41
+ C:2BB4H LINE# 42
+ C:2BCDH LINE# 43
+ C:2BCDH LINE# 44
+ C:2BD7H LINE# 45
+ C:2BDAH LINE# 47
+ C:2BDAH LINE# 48
+ C:2BE2H LINE# 49
+ C:2C01H LINE# 50
+ C:2C01H LINE# 51
+ C:2C14H LINE# 52
+ C:2C14H LINE# 53
+ C:2C34H LINE# 54
+ C:2C34H LINE# 55
+ C:2C34H LINE# 56
+ C:2C34H LINE# 57
+ C:2C3CH LINE# 58
+ C:2C3CH LINE# 60
+ C:2C3CH LINE# 61
+ C:2C4FH LINE# 62
+ C:2C4FH LINE# 63
+ C:2C6FH LINE# 64
+ C:2C6FH LINE# 65
+ C:2C6FH LINE# 66
+ C:2C6FH LINE# 67
+ C:2C77H LINE# 68
+ C:2C7DH LINE# 69
+ C:2C7DH LINE# 70
+ C:2C85H LINE# 72
+ C:2D14H LINE# 73
+ C:2D14H LINE# 74
+ C:2D1CH LINE# 75
+ ------- ENDPROC _CALCUTEMP
+ ------- PROC AFEGETVOL
+ ------- DO
+ X:02C2H SYMBOL i
+ B:002AH.3 SYMBOL Result
+ ------- ENDDO
+ C:6691H LINE# 84
+ C:6691H LINE# 85
+ C:6691H LINE# 87
+ C:6693H LINE# 89
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 54
+
+
+ C:66B0H LINE# 90
+ C:66B0H LINE# 91
+ C:66CBH LINE# 92
+ C:66CBH LINE# 93
+ C:66CDH LINE# 94
+ C:66D0H LINE# 95
+ C:66D0H LINE# 96
+ C:66D8H LINE# 98
+ C:66DAH LINE# 99
+ ------- ENDPROC AFEGETVOL
+ ------- PROC AFEGETTEMPE
+ ------- DO
+ B:002AH.3 SYMBOL Result
+ ------- ENDDO
+ C:6848H LINE# 101
+ C:6848H LINE# 102
+ C:6848H LINE# 103
+ C:684AH LINE# 105
+ C:6857H LINE# 106
+ C:6857H LINE# 107
+ C:6859H LINE# 108
+ C:6859H LINE# 109
+ C:6866H LINE# 110
+ C:6866H LINE# 111
+ C:6868H LINE# 112
+ C:6868H LINE# 114
+ C:6875H LINE# 115
+ C:6875H LINE# 116
+ C:6877H LINE# 117
+ C:6877H LINE# 118
+ C:687EH LINE# 119
+ C:687EH LINE# 120
+ C:688BH LINE# 121
+ C:688BH LINE# 122
+ C:688DH LINE# 123
+ C:688DH LINE# 124
+ C:688DH LINE# 126
+ C:688FH LINE# 127
+ ------- ENDPROC AFEGETTEMPE
+ ------- PROC AFECALCUTEMPE
+ ------- DO
+ D:0006H SYMBOL TempeData
+ ------- ENDDO
+ C:437CH LINE# 136
+ C:437CH LINE# 137
+ C:437CH LINE# 140
+ C:4384H LINE# 141
+ C:4384H LINE# 142
+ C:439BH LINE# 144
+ C:439DH LINE# 152
+ C:43A4H LINE# 154
+ C:43A6H LINE# 162
+ C:43C5H LINE# 164
+ C:43C7H LINE# 172
+ C:43CEH LINE# 175
+ C:43D0H LINE# 184
+ C:43D7H LINE# 185
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 55
+
+
+ C:43D7H LINE# 186
+ C:43F6H LINE# 188
+ C:43F8H LINE# 196
+ C:43FFH LINE# 198
+ C:4401H LINE# 206
+ C:4401H LINE# 208
+ C:4411H LINE# 209
+ C:4419H LINE# 210
+ C:441CH LINE# 211
+ C:441CH LINE# 212
+ C:4433H LINE# 214
+ C:4435H LINE# 222
+ C:443CH LINE# 224
+ C:443EH LINE# 233
+ C:444BH LINE# 234
+ C:444BH LINE# 235
+ C:4450H LINE# 236
+ C:4451H LINE# 238
+ C:4451H LINE# 239
+ C:4459H LINE# 240
+ C:4459H LINE# 241
+ C:4459H LINE# 242
+ C:4459H LINE# 243
+ ------- ENDPROC AFECALCUTEMPE
+ ------- PROC AFECALCUVOL
+ ------- DO
+ X:02B9H SYMBOL i
+ X:02BAH SYMBOL TempPackVol
+ X:02BEH SYMBOL TempCellVol
+ ------- ENDDO
+ C:4025H LINE# 253
+ C:4025H LINE# 254
+ C:4025H LINE# 256
+ C:4039H LINE# 257
+ C:4040H LINE# 258
+ C:404AH LINE# 260
+ C:4052H LINE# 261
+ C:4052H LINE# 262
+ C:4073H LINE# 263
+ C:4073H LINE# 264
+ C:40AAH LINE# 266
+ C:40C1H LINE# 267
+ C:40C1H LINE# 268
+ C:40CFH LINE# 269
+ C:40CFH LINE# 270
+ C:40E6H LINE# 271
+ C:40E6H LINE# 272
+ C:40F4H LINE# 273
+ C:40F4H LINE# 275
+ C:40F7H LINE# 276
+ C:40F7H LINE# 278
+ C:40F9H LINE# 286
+ C:4113H LINE# 288
+ C:4115H LINE# 296
+ C:412AH LINE# 297
+ C:412AH LINE# 298
+ C:4133H LINE# 300
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 56
+
+
+ C:4136H LINE# 301
+ C:4136H LINE# 302
+ C:4140H LINE# 303
+ C:414AH LINE# 306
+ C:414CH LINE# 314
+ C:415AH LINE# 316
+ C:415CH LINE# 324
+ C:415CH LINE# 325
+ C:415CH LINE# 326
+ ------- ENDPROC AFECALCUVOL
+ ------- PROC OFFSETCALCULATE
+ ------- DO
+ X:02BEH SYMBOL siCadcTempOffset
+ X:02C0H SYMBOL i
+ ------- ENDDO
+ C:4CACH LINE# 347
+ C:4CACH LINE# 348
+ C:4CACH LINE# 349
+ C:4CB3H LINE# 352
+ C:4CC2H LINE# 353
+ C:4CC2H LINE# 354
+ C:4D2EH LINE# 355
+ C:4D2EH LINE# 356
+ C:4D4BH LINE# 357
+ C:4D4DH LINE# 358
+ C:4D4DH LINE# 359
+ C:4D56H LINE# 360
+ C:4D5EH LINE# 361
+ ------- ENDPROC OFFSETCALCULATE
+ ------- PROC AFECALCUCURR
+ ------- DO
+ X:02B9H SYMBOL i
+ X:02BAH SYMBOL Tempdata
+ ------- ENDDO
+ C:3410H LINE# 369
+ C:3410H LINE# 370
+ C:3410H LINE# 372
+ C:341AH LINE# 374
+ C:3425H LINE# 376
+ C:3431H LINE# 377
+ C:3431H LINE# 378
+ C:343AH LINE# 379
+ C:343AH LINE# 380
+ C:3489H LINE# 382
+ C:34A3H LINE# 383
+ C:34AEH LINE# 384
+ C:34AEH LINE# 385
+ C:34B0H LINE# 386
+ C:34B0H LINE# 387
+ C:34BFH LINE# 388
+ C:34BFH LINE# 389
+ C:34DDH LINE# 390
+ C:34E5H LINE# 391
+ C:34FAH LINE# 393
+ C:34FCH LINE# 394
+ C:34FEH LINE# 395
+ C:351EH LINE# 396
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 57
+
+
+ C:351EH LINE# 397
+ C:3529H LINE# 398
+ C:3529H LINE# 399
+ C:352CH LINE# 400
+ C:352EH LINE# 402
+ C:3530H LINE# 410
+ C:353CH LINE# 412
+ C:353EH LINE# 420
+ C:353EH LINE# 421
+ C:353FH LINE# 422
+ C:3559H LINE# 423
+ C:3559H LINE# 424
+ C:3563H LINE# 425
+ C:3563H LINE# 426
+ C:3566H LINE# 427
+ C:3568H LINE# 428
+ C:3571H LINE# 430
+ C:3573H LINE# 438
+ C:357FH LINE# 440
+ C:3581H LINE# 448
+ C:3581H LINE# 449
+ C:3582H LINE# 451
+ C:3582H LINE# 453
+ C:3584H LINE# 461
+ C:358EH LINE# 463
+ C:3590H LINE# 471
+ C:3590H LINE# 472
+ ------- ENDPROC AFECALCUCURR
+ ------- PROC AFEINFOPROCESS
+ C:7296H LINE# 481
+ C:7296H LINE# 482
+ C:7296H LINE# 483
+ C:7299H LINE# 485
+ C:729BH LINE# 486
+ C:729EH LINE# 487
+ C:72A1H LINE# 489
+ C:72A4H LINE# 490
+ C:72A4H LINE# 491
+ C:72A6H LINE# 492
+ C:72A9H LINE# 493
+ C:72A9H LINE# 494
+ ------- ENDPROC AFEINFOPROCESS
+ ------- ENDMOD CALCULATE
+
+ ------- MODULE CALIBRATE
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:05D6H PUBLIC slExtCur
+ C:73C5H PUBLIC CaliCurZero
+ X:05DAH PUBLIC ucExtcaliSwitch1
+ C:5AB2H PUBLIC CaliVoltage
+ C:69F3H PUBLIC CaliTS1
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 58
+
+
+ C:6A38H PUBLIC CaliTS2
+ X:05DBH PUBLIC uiExtTemp1
+ X:05DDH PUBLIC uiExtTemp2
+ C:6388H PUBLIC CaliProcess
+ C:6D42H PUBLIC CaliCurrentGain
+ X:05DFH PUBLIC ulExtVPack
+ X:05E1H PUBLIC ucExtRTC
+ C:6A7DH PUBLIC CaliRTCTime
+ B:002FH.1 PUBLIC bCaliFlg
+ ------- PROC CALIVOLTAGE
+ ------- DO
+ D:0007H SYMBOL i
+ X:02B9H SYMBOL VPackTemp
+ ------- ENDDO
+ C:5AB2H LINE# 26
+ C:5AB2H LINE# 27
+ C:5AB2H LINE# 29
+ C:5AB9H LINE# 31
+ C:5AD1H LINE# 32
+ C:5AD1H LINE# 33
+ C:5AEBH LINE# 34
+ C:5AEEH LINE# 36
+ C:5B1EH LINE# 37
+ ------- ENDPROC CALIVOLTAGE
+ ------- PROC CALICURRENTGAIN
+ ------- DO
+ D:0006H SYMBOL TempGain
+ ------- ENDDO
+ C:6D42H LINE# 46
+ C:6D42H LINE# 47
+ C:6D42H LINE# 50
+ C:6D70H LINE# 51
+ C:6D74H LINE# 52
+ C:6D74H LINE# 53
+ C:6D7CH LINE# 54
+ C:6D7CH LINE# 55
+ ------- ENDPROC CALICURRENTGAIN
+ ------- PROC CALICURZERO
+ C:73C5H LINE# 64
+ C:73C5H LINE# 65
+ C:73C5H LINE# 66
+ C:73D4H LINE# 67
+ ------- ENDPROC CALICURZERO
+ ------- PROC CALITS1
+ ------- DO
+ D:0006H SYMBOL Tempe
+ ------- ENDDO
+ C:69F3H LINE# 76
+ C:69F3H LINE# 77
+ C:69F3H LINE# 80
+ C:6A0BH LINE# 81
+ C:6A2FH LINE# 82
+ C:6A2FH LINE# 83
+ C:6A37H LINE# 84
+ C:6A37H LINE# 85
+ ------- ENDPROC CALITS1
+ ------- PROC CALITS2
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 59
+
+
+ ------- DO
+ D:0006H SYMBOL Tempe
+ ------- ENDDO
+ C:6A38H LINE# 87
+ C:6A38H LINE# 88
+ C:6A38H LINE# 91
+ C:6A50H LINE# 92
+ C:6A74H LINE# 93
+ C:6A74H LINE# 94
+ C:6A7CH LINE# 95
+ C:6A7CH LINE# 96
+ ------- ENDPROC CALITS2
+ ------- PROC CALIRTCTIME
+ C:6A7DH LINE# 106
+ C:6A7DH LINE# 107
+ C:6A7DH LINE# 108
+ C:6A85H LINE# 109
+ C:6A8DH LINE# 110
+ C:6A95H LINE# 111
+ C:6A9DH LINE# 112
+ C:6AA5H LINE# 113
+ C:6AADH LINE# 114
+ C:6AB5H LINE# 116
+ C:6ABCH LINE# 118
+ C:6ABEH LINE# 119
+ C:6AC0H LINE# 120
+ ------- ENDPROC CALIRTCTIME
+ ------- PROC CALIPROCESS
+ C:6388H LINE# 131
+ C:6388H LINE# 132
+ C:6388H LINE# 133
+ C:638BH LINE# 134
+ C:638BH LINE# 135
+ C:638DH LINE# 137
+ C:6394H LINE# 138
+ C:6394H LINE# 139
+ C:6397H LINE# 140
+ C:6397H LINE# 142
+ C:639EH LINE# 143
+ C:639EH LINE# 144
+ C:63A1H LINE# 145
+ C:63A1H LINE# 147
+ C:63A8H LINE# 148
+ C:63A8H LINE# 149
+ C:63ABH LINE# 150
+ C:63ABH LINE# 152
+ C:63B2H LINE# 153
+ C:63B2H LINE# 154
+ C:63B5H LINE# 155
+ C:63B5H LINE# 157
+ C:63BCH LINE# 158
+ C:63BCH LINE# 159
+ C:63BFH LINE# 160
+ C:63BFH LINE# 162
+ C:63C6H LINE# 163
+ C:63C6H LINE# 164
+ C:63C9H LINE# 165
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 60
+
+
+ C:63C9H LINE# 167
+ C:63CEH LINE# 168
+ C:63D0H LINE# 169
+ C:63D6H LINE# 170
+ C:63D6H LINE# 171
+ ------- ENDPROC CALIPROCESS
+ ------- ENDMOD CALIBRATE
+
+ ------- MODULE CHARGERLOAD
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ X:05F1H PUBLIC ucChgerRCnt
+ B:002CH.7 PUBLIC bChgerChkingFlg
+ C:67B7H PUBLIC ChgerCheck
+ X:05F2H PUBLIC ucLoadRCnt
+ B:002DH.0 PUBLIC bLoadChkingFlg
+ B:002DH.1 PUBLIC bChgerStartCheckFlg
+ C:6513H PUBLIC LoadCheck
+ B:002DH.2 PUBLIC bLoadStartCheckFlg
+ ------- PROC LOADCHECK
+ C:6513H LINE# 26
+ C:6513H LINE# 27
+ C:6513H LINE# 28
+ C:6516H LINE# 29
+ C:6516H LINE# 30
+ C:6518H LINE# 31
+ C:651AH LINE# 32
+ C:651FH LINE# 33
+ C:6522H LINE# 34
+ C:6523H LINE# 35
+ C:6526H LINE# 36
+ C:6526H LINE# 37
+ C:6529H LINE# 38
+ C:652CH LINE# 39
+ C:652CH LINE# 40
+ C:6548H LINE# 41
+ C:6548H LINE# 42
+ C:654AH LINE# 43
+ C:654CH LINE# 44
+ C:654FH LINE# 45
+ C:6552H LINE# 46
+ C:6552H LINE# 47
+ C:6554H LINE# 48
+ C:6554H LINE# 49
+ C:6556H LINE# 50
+ C:6558H LINE# 51
+ C:655BH LINE# 52
+ C:655BH LINE# 53
+ C:655DH LINE# 54
+ C:6560H LINE# 55
+ C:6560H LINE# 56
+ C:6560H LINE# 57
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 61
+
+
+ C:6560H LINE# 58
+ C:6560H LINE# 59
+ ------- ENDPROC LOADCHECK
+ ------- PROC CHGERCHECK
+ C:67B7H LINE# 68
+ C:67B7H LINE# 69
+ C:67B7H LINE# 70
+ C:67BAH LINE# 71
+ C:67BAH LINE# 72
+ C:67BCH LINE# 73
+ C:67BEH LINE# 74
+ C:67C3H LINE# 75
+ C:67C6H LINE# 76
+ C:67C7H LINE# 77
+ C:67CAH LINE# 78
+ C:67CAH LINE# 79
+ C:67CDH LINE# 80
+ C:67D0H LINE# 81
+ C:67D0H LINE# 82
+ C:67ECH LINE# 83
+ C:67ECH LINE# 84
+ C:67EEH LINE# 85
+ C:67F0H LINE# 86
+ C:67F3H LINE# 87
+ C:67F6H LINE# 88
+ C:67F6H LINE# 89
+ C:67F8H LINE# 90
+ C:67FAH LINE# 91
+ C:67FDH LINE# 92
+ C:67FDH LINE# 93
+ C:67FFH LINE# 94
+ C:67FFH LINE# 95
+ C:67FFH LINE# 96
+ C:67FFH LINE# 97
+ ------- ENDPROC CHGERCHECK
+ ------- ENDMOD CHARGERLOAD
+
+ ------- MODULE EXTE2PROM
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:5C61H PUBLIC Uart0RdE2PRom
+ C:59D4H PUBLIC Uart1RdE2PRom
+ D:0080H PUBLIC P0
+ C:5A43H PUBLIC Uart2RdE2PRom
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ C:325DH PUBLIC _E2PRomBKData
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:5E5AH PUBLIC _E2PRomWrite
+ C:57F9H PUBLIC E2PRomInit
+ C:7169H PUBLIC E2PRomTwiCheck
+ X:03DCH PUBLIC ucRTCBKTime1
+ B:00A0H.4 PUBLIC REN1
+ B:0090H.4 PUBLIC REN2
+ X:03DDH PUBLIC uiRTCBKTime2
+ C:6B8AH PUBLIC E2PRomBKBoot
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 62
+
+
+ B:0027H.0 PUBLIC bE2PErase
+ X:03DFH PUBLIC uiE2PDataAddr
+ B:0027H.1 PUBLIC bE2PRErr
+ B:0027H.2 PUBLIC bE2PProcessFlg
+ X:03E1H PUBLIC bUart0E2PRdData
+ X:03E2H PUBLIC bUart1E2PRdData
+ X:03E3H PUBLIC bUart2E2PRdData
+ I:001BH PUBLIC ucUpDataLimitTime
+ D:0099H PUBLIC SBUF
+ X:03E4H PUBLIC uiCHGValidTime
+ D:00B1H PUBLIC RSTSTAT
+ X:03E6H PUBLIC ucE2PTwiRWErrDelayCnt
+ D:0086H PUBLIC INSCON
+ B:0027H.3 PUBLIC bE2PTwiRWErrFlg
+ B:0027H.4 PUBLIC bE2PBKChgStart
+ X:03E7H PUBLIC ucRTCBuf
+ D:00A1H PUBLIC SBUF1
+ B:0027H.5 PUBLIC bE2PBKRtc
+ D:0091H PUBLIC SBUF2
+ X:03EEH PUBLIC bUart0RTCRdTime
+ B:0027H.6 PUBLIC bE2PBKDsgEndValid
+ B:0098H.4 PUBLIC REN
+ X:03EFH PUBLIC bUart1RTCRdTime
+ C:4531H PUBLIC E2PRomBKCheck
+ X:03F0H PUBLIC bUart2RTCRdTime
+ C:4E0CH PUBLIC E2PRomBKProcess
+ C:5B1FH PUBLIC E2PRomErase
+ C:6968H PUBLIC Uart0RdRTC
+ C:65ADH PUBLIC E2PRomBKRTC
+ C:65F9H PUBLIC Uart1RdRTC
+ B:0027H.7 PUBLIC bE2PBKDsgEnd
+ C:6645H PUBLIC Uart2RdRTC
+ B:0028H.0 PUBLIC bChgToDsgFlg
+ B:0028H.1 PUBLIC bDsgToChgFlg
+ B:0028H.2 PUBLIC bE2PBKChgStop
+ C:5EB9H PUBLIC _E2PRomRead
+ ------- PROC E2PROMTWICHECK
+ C:7169H LINE# 43
+ C:7169H LINE# 44
+ C:7169H LINE# 45
+ C:716CH LINE# 46
+ C:716CH LINE# 47
+ C:716FH LINE# 48
+ C:716FH LINE# 49
+ C:717AH LINE# 50
+ C:717AH LINE# 51
+ C:717CH LINE# 52
+ C:717FH LINE# 53
+ C:717FH LINE# 54
+ C:7180H LINE# 56
+ C:7180H LINE# 57
+ C:7185H LINE# 58
+ C:7185H LINE# 59
+ C:7185H LINE# 60
+ ------- ENDPROC E2PROMTWICHECK
+ ------- PROC _E2PROMWRITE
+ X:02E3H SYMBOL WrAddr
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 63
+
+
+ X:02E5H SYMBOL Length
+ X:02E6H SYMBOL WrBuf
+ ------- DO
+ B:002AH.3 SYMBOL Result
+ X:02E8H SYMBOL i
+ ------- ENDDO
+ C:5E5AH LINE# 69
+ C:5E6BH LINE# 70
+ C:5E6BH LINE# 71
+ C:5E6DH LINE# 74
+ C:5E70H LINE# 75
+ C:5E70H LINE# 76
+ C:5E73H LINE# 77
+ C:5E73H LINE# 79
+ C:5E9CH LINE# 80
+ C:5E9CH LINE# 81
+ C:5E9EH LINE# 82
+ C:5EA0H LINE# 83
+ C:5EA0H LINE# 91
+ C:5EA5H LINE# 92
+ C:5EB1H LINE# 93
+ C:5EB1H LINE# 94
+ C:5EB6H LINE# 96
+ C:5EB8H LINE# 97
+ ------- ENDPROC _E2PROMWRITE
+ ------- PROC _E2PROMREAD
+ X:02C5H SYMBOL RdAddr
+ X:02C7H SYMBOL Length
+ X:02C8H SYMBOL RdBuf
+ ------- DO
+ B:002AH.4 SYMBOL Result
+ X:02CAH SYMBOL i
+ ------- ENDDO
+ C:5EB9H LINE# 106
+ C:5ECAH LINE# 107
+ C:5ECAH LINE# 108
+ C:5ECCH LINE# 111
+ C:5ECFH LINE# 112
+ C:5ECFH LINE# 113
+ C:5ED2H LINE# 114
+ C:5ED2H LINE# 116
+ C:5EFBH LINE# 117
+ C:5EFBH LINE# 118
+ C:5EFDH LINE# 119
+ C:5EFFH LINE# 120
+ C:5EFFH LINE# 128
+ C:5F04H LINE# 129
+ C:5F10H LINE# 130
+ C:5F10H LINE# 131
+ C:5F15H LINE# 133
+ C:5F17H LINE# 134
+ ------- ENDPROC _E2PROMREAD
+ ------- PROC E2PROMERASE
+ ------- DO
+ X:02BAH SYMBOL i
+ X:02BCH SYMBOL WrBuf
+ ------- ENDDO
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 64
+
+
+ C:5B1FH LINE# 144
+ C:5B1FH LINE# 145
+ C:5B1FH LINE# 149
+ C:5B2AH LINE# 151
+ C:5B48H LINE# 152
+ C:5B48H LINE# 153
+ C:5B4BH LINE# 154
+ C:5B6AH LINE# 155
+ C:5B76H LINE# 157
+ C:5B83H LINE# 158
+ C:5B8AH LINE# 159
+ ------- ENDPROC E2PROMERASE
+ ------- PROC E2PROMINIT
+ ------- DO
+ B:002AH.3 SYMBOL Result
+ X:02B9H SYMBOL RdBuf
+ ------- ENDDO
+ C:57F9H LINE# 168
+ C:57F9H LINE# 169
+ C:57F9H LINE# 170
+ C:57FBH LINE# 174
+ C:580AH LINE# 176
+ C:5818H LINE# 177
+ C:5826H LINE# 179
+ C:5832H LINE# 180
+ C:5832H LINE# 181
+ C:5847H LINE# 182
+ C:5849H LINE# 183
+ C:5855H LINE# 184
+ C:5855H LINE# 185
+ C:586AH LINE# 186
+ C:586CH LINE# 188
+ C:586CH LINE# 189
+ C:5873H LINE# 190
+ C:5873H LINE# 192
+ C:5875H LINE# 193
+ ------- ENDPROC E2PROMINIT
+ ------- PROC E2PROMBKRTC
+ ------- DO
+ X:02BAH SYMBOL WrBuf
+ D:0007H SYMBOL i
+ X:02C3H SYMBOL checksum
+ ------- ENDDO
+ C:65ADH LINE# 202
+ C:65ADH LINE# 203
+ C:65ADH LINE# 205
+ C:65B2H LINE# 207
+ C:65B9H LINE# 208
+ C:65C6H LINE# 209
+ C:65C8H LINE# 210
+ C:65C8H LINE# 211
+ C:65DAH LINE# 212
+ C:65DFH LINE# 213
+ C:65E7H LINE# 214
+ C:65EBH LINE# 216
+ C:65F8H LINE# 217
+ ------- ENDPROC E2PROMBKRTC
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 65
+
+
+ ------- PROC E2PROMBKBOOT
+ ------- DO
+ X:02DBH SYMBOL WrBuf
+ ------- ENDDO
+ C:6B8AH LINE# 226
+ C:6B8AH LINE# 227
+ C:6B8AH LINE# 230
+ C:6B97H LINE# 231
+ C:6B9CH LINE# 232
+ C:6BA5H LINE# 234
+ C:6BADH LINE# 235
+ C:6BB5H LINE# 236
+ C:6BBDH LINE# 238
+ C:6BCAH LINE# 239
+ ------- ENDPROC E2PROMBKBOOT
+ ------- PROC _E2PROMBKDATA
+ X:02BAH SYMBOL BKType
+ ------- DO
+ X:02BBH SYMBOL WrBuf
+ ------- ENDDO
+ C:325DH LINE# 248
+ C:3262H LINE# 249
+ C:3262H LINE# 252
+ C:3266H LINE# 253
+ C:3266H LINE# 254
+ C:3273H LINE# 255
+ C:327EH LINE# 256
+ C:3280H LINE# 258
+ C:3280H LINE# 259
+ C:3287H LINE# 260
+ C:3294H LINE# 261
+ C:329FH LINE# 262
+ C:329FH LINE# 264
+ C:32ACH LINE# 265
+ C:32AFH LINE# 266
+ C:32BCH LINE# 267
+ C:32BFH LINE# 268
+ C:32CFH LINE# 269
+ C:32DFH LINE# 270
+ C:32EFH LINE# 271
+ C:32FAH LINE# 272
+ C:330AH LINE# 273
+ C:331AH LINE# 274
+ C:332AH LINE# 275
+ C:3335H LINE# 276
+ C:334CH LINE# 277
+ C:335CH LINE# 278
+ C:3369H LINE# 279
+ C:336CH LINE# 280
+ C:337CH LINE# 281
+ C:338CH LINE# 282
+ C:339CH LINE# 283
+ C:33A7H LINE# 284
+ C:33B4H LINE# 285
+ C:33B7H LINE# 286
+ C:33C4H LINE# 287
+ C:33C7H LINE# 288
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 66
+
+
+ C:33CFH LINE# 289
+ C:33D3H LINE# 291
+ C:33E4H LINE# 293
+ C:33EEH LINE# 294
+ C:3405H LINE# 295
+ C:3405H LINE# 296
+ C:340CH LINE# 297
+ C:340CH LINE# 299
+ C:340FH LINE# 300
+ ------- ENDPROC _E2PROMBKDATA
+ ------- PROC UART0RDE2PROM
+ ------- DO
+ D:0006H SYMBOL RdAddr
+ ------- ENDDO
+ C:5C61H LINE# 309
+ C:5C61H LINE# 310
+ C:5C61H LINE# 313
+ C:5C8CH LINE# 314
+ C:5C98H LINE# 316
+ C:5CB7H LINE# 317
+ C:5CC9H LINE# 318
+ ------- ENDPROC UART0RDE2PROM
+ ------- PROC UART1RDE2PROM
+ ------- DO
+ D:0006H SYMBOL RdAddr
+ ------- ENDDO
+ C:59D4H LINE# 326
+ C:59D4H LINE# 327
+ C:59D4H LINE# 330
+ C:59FFH LINE# 331
+ C:5A0BH LINE# 333
+ C:5A2AH LINE# 334
+ C:5A42H LINE# 335
+ ------- ENDPROC UART1RDE2PROM
+ ------- PROC UART2RDE2PROM
+ ------- DO
+ D:0006H SYMBOL RdAddr
+ ------- ENDDO
+ C:5A43H LINE# 343
+ C:5A43H LINE# 344
+ C:5A43H LINE# 347
+ C:5A6EH LINE# 348
+ C:5A7AH LINE# 350
+ C:5A99H LINE# 351
+ C:5AB1H LINE# 352
+ ------- ENDPROC UART2RDE2PROM
+ ------- PROC UART0RDRTC
+ C:6968H LINE# 361
+ C:6968H LINE# 362
+ C:6968H LINE# 363
+ C:696FH LINE# 364
+ C:697CH LINE# 366
+ C:699BH LINE# 367
+ C:69ADH LINE# 368
+ ------- ENDPROC UART0RDRTC
+ ------- PROC UART1RDRTC
+ C:65F9H LINE# 377
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 67
+
+
+ C:65F9H LINE# 378
+ C:65F9H LINE# 379
+ C:6600H LINE# 380
+ C:660DH LINE# 382
+ C:662CH LINE# 383
+ C:6644H LINE# 384
+ ------- ENDPROC UART1RDRTC
+ ------- PROC UART2RDRTC
+ C:6645H LINE# 392
+ C:6645H LINE# 393
+ C:6645H LINE# 394
+ C:664CH LINE# 395
+ C:6659H LINE# 397
+ C:6678H LINE# 398
+ C:6690H LINE# 399
+ ------- ENDPROC UART2RDRTC
+ ------- PROC E2PROMBKPROCESS
+ ------- DO
+ X:02B9H SYMBOL BKType
+ ------- ENDDO
+ C:4E0CH LINE# 407
+ C:4E0CH LINE# 408
+ C:4E0CH LINE# 411
+ C:4E18H LINE# 412
+ C:4E18H LINE# 413
+ C:4E1AH LINE# 417
+ C:4E1DH LINE# 418
+ C:4E1DH LINE# 419
+ C:4E1FH LINE# 420
+ C:4E22H LINE# 421
+ C:4E22H LINE# 423
+ C:4E31H LINE# 424
+ C:4E31H LINE# 425
+ C:4E34H LINE# 426
+ C:4E34H LINE# 427
+ C:4E39H LINE# 428
+ C:4E3CH LINE# 429
+ C:4E3CH LINE# 430
+ C:4E42H LINE# 431
+ C:4E42H LINE# 432
+ C:4E44H LINE# 433
+ C:4E47H LINE# 434
+ C:4E47H LINE# 435
+ C:4E4DH LINE# 436
+ C:4E4DH LINE# 437
+ C:4E4FH LINE# 438
+ C:4E52H LINE# 439
+ C:4E52H LINE# 441
+ C:4E52H LINE# 443
+ C:4E61H LINE# 444
+ C:4E61H LINE# 445
+ C:4E64H LINE# 446
+ C:4E64H LINE# 447
+ C:4E69H LINE# 448
+ C:4E6CH LINE# 449
+ C:4E6CH LINE# 450
+ C:4E72H LINE# 451
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 68
+
+
+ C:4E72H LINE# 452
+ C:4E74H LINE# 453
+ C:4E77H LINE# 454
+ C:4E77H LINE# 455
+ C:4E7DH LINE# 456
+ C:4E7DH LINE# 457
+ C:4E7FH LINE# 458
+ C:4E82H LINE# 459
+ C:4E82H LINE# 460
+ C:4E82H LINE# 462
+ C:4E85H LINE# 463
+ C:4E85H LINE# 464
+ C:4E87H LINE# 465
+ C:4E8AH LINE# 466
+ C:4E8AH LINE# 468
+ C:4E8DH LINE# 469
+ C:4E8DH LINE# 470
+ C:4E8FH LINE# 471
+ C:4E95H LINE# 472
+ C:4E99H LINE# 473
+ C:4E99H LINE# 475
+ C:4E9CH LINE# 476
+ C:4E9CH LINE# 477
+ C:4E9EH LINE# 478
+ C:4EA4H LINE# 479
+ C:4EA8H LINE# 480
+ C:4EA8H LINE# 482
+ C:4EABH LINE# 483
+ C:4EABH LINE# 484
+ C:4EADH LINE# 485
+ C:4EB3H LINE# 486
+ C:4EB7H LINE# 487
+ C:4EB7H LINE# 488
+ C:4EB7H LINE# 489
+ ------- ENDPROC E2PROMBKPROCESS
+ ------- PROC E2PROMBKCHECK
+ C:4531H LINE# 498
+ C:4531H LINE# 499
+ C:4531H LINE# 500
+ C:4537H LINE# 501
+ C:4537H LINE# 505
+ C:4546H LINE# 506
+ C:4546H LINE# 507
+ C:4548H LINE# 508
+ C:454FH LINE# 509
+ C:454FH LINE# 511
+ C:4564H LINE# 512
+ C:4564H LINE# 513
+ C:456BH LINE# 514
+ C:456DH LINE# 515
+ C:456FH LINE# 516
+ C:456FH LINE# 518
+ C:4572H LINE# 519
+ C:4572H LINE# 520
+ C:4574H LINE# 521
+ C:4577H LINE# 522
+ C:4577H LINE# 523
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 69
+
+
+ C:4579H LINE# 524
+ C:457BH LINE# 525
+ C:457DH LINE# 526
+ C:457DH LINE# 527
+ C:4583H LINE# 528
+ C:4583H LINE# 529
+ C:4585H LINE# 530
+ C:4587H LINE# 531
+ C:4589H LINE# 532
+ C:458BH LINE# 533
+ C:458EH LINE# 534
+ C:458EH LINE# 535
+ C:4590H LINE# 536
+ C:4590H LINE# 537
+ C:4590H LINE# 539
+ C:45ADH LINE# 540
+ C:45ADH LINE# 541
+ C:45B7H LINE# 542
+ C:45B7H LINE# 543
+ C:45BEH LINE# 544
+ C:45CBH LINE# 545
+ C:45CBH LINE# 547
+ C:45ECH LINE# 548
+ C:45ECH LINE# 549
+ C:45F3H LINE# 550
+ C:45F5H LINE# 551
+ C:45F7H LINE# 552
+ C:45F9H LINE# 553
+ C:45FBH LINE# 554
+ C:45FBH LINE# 555
+ C:45FCH LINE# 557
+ C:45FCH LINE# 558
+ C:4603H LINE# 559
+ C:4603H LINE# 560
+ C:4603H LINE# 561
+ ------- ENDPROC E2PROMBKCHECK
+ ------- ENDMOD EXTE2PROM
+
+ ------- MODULE INTERRUPT
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:1003H PUBLIC InterruptTimer3
+ D:0086H PUBLIC INSCON
+ B:0088H.7 PUBLIC TF3
+ B:00D8H.0 PUBLIC IF40
+ C:5BF6H PUBLIC InterruptINT4
+ B:00D8H.1 PUBLIC IF41
+ B:00D8H.2 PUBLIC IF42
+ B:00D8H.3 PUBLIC IF43
+ B:00D8H.4 PUBLIC IF44
+ B:00D8H.5 PUBLIC IF45
+ B:00D8H.6 PUBLIC IF46
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 70
+
+
+ B:00D8H.7 PUBLIC IF47
+ ------- PROC INTERRUPTINT4
+ C:5BF6H LINE# 18
+ C:5C01H LINE# 20
+ C:5C03H LINE# 21
+ C:5C06H LINE# 23
+ C:5C09H LINE# 24
+ C:5C09H LINE# 25
+ C:5C0BH LINE# 26
+ C:5C10H LINE# 27
+ C:5C10H LINE# 28
+ C:5C13H LINE# 29
+ C:5C13H LINE# 30
+ C:5C15H LINE# 31
+ C:5C1AH LINE# 32
+ C:5C1AH LINE# 33
+ C:5C1DH LINE# 34
+ C:5C1DH LINE# 35
+ C:5C1FH LINE# 36
+ C:5C24H LINE# 37
+ C:5C24H LINE# 38
+ C:5C27H LINE# 39
+ C:5C27H LINE# 40
+ C:5C29H LINE# 41
+ C:5C2EH LINE# 42
+ C:5C2EH LINE# 43
+ C:5C31H LINE# 44
+ C:5C31H LINE# 45
+ C:5C33H LINE# 46
+ C:5C38H LINE# 47
+ C:5C38H LINE# 48
+ C:5C3BH LINE# 49
+ C:5C3BH LINE# 50
+ C:5C3DH LINE# 51
+ C:5C42H LINE# 52
+ C:5C42H LINE# 53
+ C:5C45H LINE# 54
+ C:5C45H LINE# 55
+ C:5C47H LINE# 56
+ C:5C4CH LINE# 57
+ C:5C4CH LINE# 58
+ C:5C4FH LINE# 59
+ C:5C4FH LINE# 60
+ C:5C51H LINE# 61
+ C:5C56H LINE# 62
+ C:5C56H LINE# 64
+ C:5C58H LINE# 65
+ ------- ENDPROC INTERRUPTINT4
+ ------- PROC INTERRUPTTIMER3
+ C:1003H LINE# 74
+ C:100BH LINE# 76
+ C:100DH LINE# 78
+ C:1010H LINE# 79
+ C:1012H LINE# 80
+ C:1015H LINE# 82
+ C:1018H LINE# 84
+ C:101AH LINE# 85
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 71
+
+
+ ------- ENDPROC INTERRUPTTIMER3
+ ------- ENDMOD INTERRUPT
+
+ ------- MODULE KEYSCAN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0008H PUBLIC ucKeyValue
+ D:0080H PUBLIC P5
+ D:0009H PUBLIC ucKeyValueBK
+ B:00B0H.0 PUBLIC P3_0
+ B:00A0H.7 PUBLIC P2_7
+ D:000AH PUBLIC uiKeyValidCnt
+ D:000CH PUBLIC ucKeyOldValue
+ B:002FH.2 PUBLIC bKeyFlg
+ C:50B5H PUBLIC KeyScan
+ D:000DH PUBLIC uiKeyInvalidCnt
+ ------- PROC KEYSCAN
+ ------- DO
+ C:514AH SYMBOL scanend
+ ------- ENDDO
+ C:50B5H LINE# 33
+ C:50B5H LINE# 34
+ C:50B5H LINE# 35
+ C:50BBH LINE# 36
+ C:50BBH LINE# 37
+ C:50BEH LINE# 46
+ C:50C1H LINE# 47
+ C:50C1H LINE# 48
+ C:50C4H LINE# 49
+ C:50C6H LINE# 50
+ C:50C9H LINE# 51
+ C:50C9H LINE# 52
+ C:50CCH LINE# 53
+ C:50CCH LINE# 69
+ C:50D2H LINE# 70
+ C:50D2H LINE# 71
+ C:50DAH LINE# 72
+ C:50E5H LINE# 73
+ C:50E5H LINE# 74
+ C:50EFH LINE# 75
+ C:50EFH LINE# 76
+ C:50F9H LINE# 77
+ C:50F9H LINE# 78
+ C:50FFH LINE# 79
+ C:5101H LINE# 81
+ C:5101H LINE# 82
+ C:5104H LINE# 83
+ C:5104H LINE# 84
+ C:5106H LINE# 85
+ C:5108H LINE# 86
+ C:5108H LINE# 91
+ C:5108H LINE# 93
+ C:5108H LINE# 94
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 72
+
+
+ C:510AH LINE# 95
+ C:510AH LINE# 96
+ C:510AH LINE# 98
+ C:510AH LINE# 99
+ C:5110H LINE# 100
+ C:5110H LINE# 101
+ C:5115H LINE# 102
+ C:511DH LINE# 103
+ C:5125H LINE# 104
+ C:5125H LINE# 105
+ C:512BH LINE# 106
+ C:512DH LINE# 107
+ C:512EH LINE# 108
+ C:5138H LINE# 109
+ C:5138H LINE# 110
+ C:513EH LINE# 111
+ C:5144H LINE# 112
+ C:5146H LINE# 113
+ C:5146H LINE# 114
+ C:5147H LINE# 116
+ C:5147H LINE# 117
+ C:514AH LINE# 118
+ C:514AH LINE# 119
+ C:514FH LINE# 120
+ C:5153H LINE# 121
+ C:5156H LINE# 122
+ C:5156H LINE# 123
+ C:5156H LINE# 124
+ C:5156H LINE# 125
+ ------- ENDPROC KEYSCAN
+ ------- ENDMOD KEYSCAN
+
+ ------- MODULE MCUFLASH
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:00F3H PUBLIC IB_CON2
+ D:0080H PUBLIC P0
+ D:00F4H PUBLIC IB_CON3
+ D:0090H PUBLIC P1
+ D:00F5H PUBLIC IB_CON4
+ D:00A0H PUBLIC P2
+ D:00F6H PUBLIC IB_CON5
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ X:05F3H PUBLIC bMcuFlashWrWaitCnt
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00FCH PUBLIC IB_DATA
+ C:7009H PUBLIC _McuFlashCheckFlg
+ C:5F18H PUBLIC _McuFlashRead
+ C:6E5AH PUBLIC _McuFlashWrOneByte
+ B:002DH.6 PUBLIC bMcuFlashErr
+ C:532BH PUBLIC _McuFlashWrite
+ X:05F4H PUBLIC ucMcuFlashWrValid
+ D:00FBH PUBLIC IB_OFFSET
+ D:00B1H PUBLIC RSTSTAT
+ D:00A7H PUBLIC FLASHCON
+ C:54DDH PUBLIC _McuFlashWrSector
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 73
+
+
+ C:726DH PUBLIC McuFlashWrWaitCheck
+ B:002DH.7 PUBLIC bMcuFlashWrFlg
+ C:70A3H PUBLIC _McuFlashBlankCheck
+ C:608AH PUBLIC _McuFlashDataCheck
+ D:00F7H PUBLIC XPAGE
+ B:002EH.0 PUBLIC bMcuFlashWrWaitFlg
+ C:46C8H PUBLIC McuFlashProcess
+ D:00F2H PUBLIC IB_CON1
+ ------- PROC _MCUFLASHWRONEBYTE
+ D:0002H SYMBOL McuFlashAddr
+ D:0005H SYMBOL WrData
+ C:6E5AH LINE# 24
+ C:6E5EH LINE# 25
+ C:6E5EH LINE# 26
+ C:6E60H LINE# 27
+ C:6E63H LINE# 29
+ C:6E66H LINE# 30
+ C:6E6AH LINE# 31
+ C:6E6EH LINE# 33
+ C:6E71H LINE# 34
+ C:6E74H LINE# 35
+ C:6E77H LINE# 36
+ C:6E7AH LINE# 37
+ C:6E81H LINE# 38
+ C:6E81H LINE# 39
+ C:6E84H LINE# 40
+ C:6E85H LINE# 41
+ C:6E86H LINE# 42
+ C:6E87H LINE# 43
+ C:6E88H LINE# 44
+ C:6E89H LINE# 45
+ C:6E89H LINE# 47
+ C:6E8CH LINE# 48
+ C:6E8EH LINE# 49
+ ------- ENDPROC _MCUFLASHWRONEBYTE
+ ------- PROC _MCUFLASHBLANKCHECK
+ D:0006H SYMBOL McuFlashAddr
+ ------- DO
+ B:002AH.6 SYMBOL Result
+ D:0004H SYMBOL i
+ ------- ENDDO
+ C:70A3H LINE# 58
+ C:70A3H LINE# 59
+ C:70A3H LINE# 60
+ C:70A5H LINE# 63
+ C:70A8H LINE# 64
+ C:70A8H LINE# 65
+ C:70B5H LINE# 66
+ C:70B5H LINE# 67
+ C:70B7H LINE# 68
+ C:70B9H LINE# 69
+ C:70B9H LINE# 70
+ C:70C6H LINE# 72
+ C:70C8H LINE# 73
+ ------- ENDPROC _MCUFLASHBLANKCHECK
+ ------- PROC _MCUFLASHDATACHECK
+ X:02BFH SYMBOL McuFlashAddr
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 74
+
+
+ D:0004H SYMBOL XramAddr
+ ------- DO
+ B:002AH.6 SYMBOL Result
+ D:0006H SYMBOL ptr
+ X:02C1H SYMBOL i
+ ------- ENDDO
+ C:608AH LINE# 82
+ C:6092H LINE# 83
+ C:6092H LINE# 84
+ C:6094H LINE# 85
+ C:6098H LINE# 88
+ C:60ABH LINE# 89
+ C:60ABH LINE# 90
+ C:60D1H LINE# 91
+ C:60D1H LINE# 92
+ C:60D3H LINE# 93
+ C:60D5H LINE# 94
+ C:60D5H LINE# 95
+ C:60E1H LINE# 97
+ C:60E3H LINE# 98
+ ------- ENDPROC _MCUFLASHDATACHECK
+ ------- PROC _MCUFLASHWRSECTOR
+ X:02BFH SYMBOL McuFlashAddr
+ D:0004H SYMBOL XramAddr
+ ------- DO
+ B:002AH.6 SYMBOL Result
+ D:0004H SYMBOL i
+ X:02C1H SYMBOL ptr
+ ------- ENDDO
+ C:54DDH LINE# 107
+ C:54E5H LINE# 108
+ C:54E5H LINE# 109
+ C:54E7H LINE# 111
+ C:54EFH LINE# 113
+ C:54F2H LINE# 114
+ C:54F2H LINE# 115
+ C:54FDH LINE# 116
+ C:5503H LINE# 117
+ C:5512H LINE# 118
+ C:5515H LINE# 119
+ C:5518H LINE# 120
+ C:5518H LINE# 121
+ C:551BH LINE# 122
+ C:551FH LINE# 123
+ C:551FH LINE# 124
+ C:5522H LINE# 125
+ C:552AH LINE# 126
+ C:552AH LINE# 127
+ C:552DH LINE# 128
+ C:553DH LINE# 129
+ C:553DH LINE# 130
+ C:5540H LINE# 131
+ C:5541H LINE# 132
+ C:5542H LINE# 133
+ C:5543H LINE# 134
+ C:5544H LINE# 135
+ C:5545H LINE# 136
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 75
+
+
+ C:5547H LINE# 137
+ C:5549H LINE# 139
+ C:5549H LINE# 140
+ C:554BH LINE# 141
+ C:554DH LINE# 142
+ C:554DH LINE# 143
+ C:554DH LINE# 145
+ C:554DH LINE# 146
+ C:554FH LINE# 147
+ C:5551H LINE# 148
+ C:5551H LINE# 149
+ C:5551H LINE# 151
+ C:5551H LINE# 152
+ C:5553H LINE# 153
+ C:5555H LINE# 154
+ C:5555H LINE# 155
+ C:5555H LINE# 157
+ C:5555H LINE# 158
+ C:5557H LINE# 159
+ C:5559H LINE# 160
+ C:5559H LINE# 161
+ C:5566H LINE# 163
+ C:5568H LINE# 164
+ ------- ENDPROC _MCUFLASHWRSECTOR
+ ------- PROC _MCUFLASHWRITE
+ X:02BBH SYMBOL McuFlashAddr
+ X:02BDH SYMBOL XramAddr
+ ------- DO
+ B:002AH.5 SYMBOL Result
+ ------- ENDDO
+ C:532BH LINE# 177
+ C:5339H LINE# 178
+ C:5339H LINE# 179
+ C:533BH LINE# 181
+ C:533EH LINE# 182
+ C:5340H LINE# 183
+ C:5343H LINE# 185
+ C:534CH LINE# 186
+ C:534FH LINE# 187
+ C:5352H LINE# 188
+ C:5352H LINE# 189
+ C:5355H LINE# 190
+ C:5359H LINE# 191
+ C:5359H LINE# 192
+ C:535CH LINE# 193
+ C:5364H LINE# 194
+ C:5364H LINE# 195
+ C:5367H LINE# 196
+ C:5370H LINE# 197
+ C:5370H LINE# 198
+ C:5373H LINE# 199
+ C:5374H LINE# 200
+ C:5375H LINE# 201
+ C:5376H LINE# 202
+ C:5377H LINE# 203
+ C:5378H LINE# 205
+ C:5385H LINE# 206
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 76
+
+
+ C:5385H LINE# 207
+ C:5398H LINE# 208
+ C:5398H LINE# 209
+ C:53ABH LINE# 210
+ C:53ABH LINE# 211
+ C:53ADH LINE# 212
+ C:53ADH LINE# 213
+ C:53ADH LINE# 214
+ C:53ADH LINE# 215
+ C:53ADH LINE# 216
+ C:53ADH LINE# 217
+ C:53ADH LINE# 218
+ C:53ADH LINE# 220
+ C:53B0H LINE# 221
+ C:53B2H LINE# 222
+ C:53B4H LINE# 223
+ C:53B6H LINE# 224
+ C:53B8H LINE# 226
+ C:53BBH LINE# 227
+ C:53BDH LINE# 228
+ C:53BFH LINE# 230
+ C:53C1H LINE# 231
+ ------- ENDPROC _MCUFLASHWRITE
+ ------- PROC MCUFLASHPROCESS
+ ------- DO
+ B:002AH.3 SYMBOL McuFlashBk1WrFailFlg
+ B:002AH.4 SYMBOL McuFlashBk2WrFailFlg
+ X:02B9H SYMBOL VoltageMin
+ ------- ENDDO
+ C:46C8H LINE# 244
+ C:46C8H LINE# 245
+ C:46C8H LINE# 246
+ C:46CCH LINE# 249
+ C:46D2H LINE# 250
+ C:46D2H LINE# 251
+ C:46D4H LINE# 253
+ C:46DAH LINE# 254
+ C:46E1H LINE# 255
+ C:46E1H LINE# 256
+ C:46EBH LINE# 257
+ C:46EDH LINE# 259
+ C:46EDH LINE# 260
+ C:46F7H LINE# 261
+ C:46F7H LINE# 263
+ C:471AH LINE# 264
+ C:471AH LINE# 265
+ C:4723H LINE# 266
+ C:4723H LINE# 267
+ C:472DH LINE# 268
+ C:472DH LINE# 269
+ C:472FH LINE# 270
+ C:4737H LINE# 271
+ C:473FH LINE# 272
+ C:4746H LINE# 273
+ C:4746H LINE# 274
+ C:4746H LINE# 276
+ C:4751H LINE# 277
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 77
+
+
+ C:4751H LINE# 278
+ C:475CH LINE# 279
+ C:475CH LINE# 280
+ C:475EH LINE# 281
+ C:4766H LINE# 282
+ C:476EH LINE# 283
+ C:4775H LINE# 284
+ C:4775H LINE# 285
+ C:4775H LINE# 286
+ C:4777H LINE# 288
+ C:4777H LINE# 289
+ C:4779H LINE# 290
+ C:477BH LINE# 291
+ C:477BH LINE# 292
+ C:4780H LINE# 294
+ C:4786H LINE# 295
+ C:4786H LINE# 296
+ C:4788H LINE# 297
+ C:4788H LINE# 298
+ C:4788H LINE# 299
+ ------- ENDPROC MCUFLASHPROCESS
+ ------- PROC _MCUFLASHREAD
+ X:02B9H SYMBOL SourceAddr
+ D:0004H SYMBOL TargetAddr
+ X:02BBH SYMBOL Length
+ ------- DO
+ D:0006H SYMBOL i
+ B:002AH.3 SYMBOL Result
+ D:0019H SYMBOL TargetAddr1
+ ------- ENDDO
+ C:5F18H LINE# 308
+ C:5F26H LINE# 309
+ C:5F26H LINE# 311
+ C:5F28H LINE# 312
+ C:5F30H LINE# 314
+ C:5F32H LINE# 315
+ C:5F35H LINE# 316
+ C:5F38H LINE# 317
+ C:5F48H LINE# 318
+ C:5F48H LINE# 319
+ C:5F60H LINE# 320
+ C:5F68H LINE# 321
+ C:5F6FH LINE# 322
+ C:5F72H LINE# 323
+ C:5F74H LINE# 325
+ C:5F76H LINE# 326
+ ------- ENDPROC _MCUFLASHREAD
+ ------- PROC MCUFLASHWRWAITCHECK
+ C:726DH LINE# 335
+ C:726DH LINE# 336
+ C:726DH LINE# 337
+ C:7270H LINE# 338
+ C:7270H LINE# 339
+ C:727BH LINE# 340
+ C:727BH LINE# 341
+ C:727DH LINE# 342
+ C:727FH LINE# 343
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 78
+
+
+ C:7281H LINE# 344
+ C:7281H LINE# 345
+ C:7281H LINE# 346
+ ------- ENDPROC MCUFLASHWRWAITCHECK
+ ------- PROC _MCUFLASHCHECKFLG
+ D:0006H SYMBOL McuFlashAddr
+ ------- DO
+ B:002AH.3 SYMBOL Result
+ ------- ENDDO
+ C:7009H LINE# 355
+ C:7009H LINE# 356
+ C:7009H LINE# 357
+ C:700BH LINE# 359
+ C:700EH LINE# 360
+ C:7028H LINE# 361
+ C:7028H LINE# 362
+ C:702AH LINE# 363
+ C:702AH LINE# 364
+ C:702DH LINE# 366
+ C:702FH LINE# 367
+ ------- ENDPROC _MCUFLASHCHECKFLG
+ ------- ENDMOD MCUFLASH
+
+ ------- MODULE MCULIB
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ C:6890H PUBLIC _Delay1ms
+ D:009DH PUBLIC SBRTH
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ D:00C7H PUBLIC PWM0CON
+ D:00B6H PUBLIC PWM1CON
+ D:00B7H PUBLIC PWM2CON
+ D:009CH PUBLIC SBRTL
+ C:3EECH PUBLIC _McuTimer3Set
+ D:00A8H PUBLIC IEN0
+ D:00A9H PUBLIC IEN1
+ D:00E8H PUBLIC EXF0
+ D:008EH PUBLIC SUSLO
+ C:6EF8H PUBLIC _MemoryCopy
+ C:6FDFH PUBLIC _MemorySet
+ D:0087H PUBLIC PCON
+ D:00CFH PUBLIC PWM0DH
+ D:00A5H PUBLIC PWM1DH
+ D:00BFH PUBLIC PWM2DH
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ D:00CEH PUBLIC PWM0DL
+ D:00A4H PUBLIC PWM1DL
+ D:00BEH PUBLIC PWM2DL
+ D:00B2H PUBLIC CLKCON
+ D:00CDH PUBLIC PWM0PH
+ D:00AFH PUBLIC PWM1PH
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 79
+
+
+ D:00BDH PUBLIC PWM2PH
+ D:00CCH PUBLIC PWM0PL
+ D:00AEH PUBLIC PWM1PL
+ C:73D5H PUBLIC McuIntoIdle
+ C:6295H PUBLIC _McuClockSet
+ D:00BCH PUBLIC PWM2PL
+ D:0086H PUBLIC INSCON
+ D:008DH PUBLIC TH3
+ D:008CH PUBLIC TL3
+ C:73E1H PUBLIC McuIntoPD
+ B:0088H.2 PUBLIC TR3
+ C:5D30H PUBLIC RamCheckProcess
+ D:0088H PUBLIC T3CON
+ C:6F88H PUBLIC SystemResetProcess
+ C:5676H PUBLIC _McuPWM0Set
+ C:56F7H PUBLIC _McuPWM1Set
+ C:5778H PUBLIC _McuPWM2Set
+ ------- PROC _MCUTIMER3SET
+ X:02B9H SYMBOL ClkSource
+ X:02BAH SYMBOL XmS
+ ------- DO
+ X:02BCH SYMBOL TempVal
+ ------- ENDDO
+ C:3EECH LINE# 20
+ C:3EF9H LINE# 21
+ C:3EF9H LINE# 24
+ C:3EFCH LINE# 26
+ C:3F01H LINE# 27
+ C:3F01H LINE# 28
+ C:3F0FH LINE# 29
+ C:3F0FH LINE# 30
+ C:3F12H LINE# 31
+ C:3F24H LINE# 32
+ C:3F27H LINE# 34
+ C:3F27H LINE# 35
+ C:3F2AH LINE# 36
+ C:3F4FH LINE# 37
+ C:3F4FH LINE# 38
+ C:3F52H LINE# 39
+ C:3F5AH LINE# 40
+ C:3F5AH LINE# 41
+ C:3F68H LINE# 42
+ C:3F68H LINE# 43
+ C:3F6BH LINE# 44
+ C:3F88H LINE# 45
+ C:3F8BH LINE# 47
+ C:3F8BH LINE# 48
+ C:3F8EH LINE# 49
+ C:3FB3H LINE# 50
+ C:3FB3H LINE# 51
+ C:3FB5H LINE# 52
+ C:3FBBH LINE# 53
+ C:3FBBH LINE# 54
+ C:3FC9H LINE# 55
+ C:3FC9H LINE# 56
+ C:3FCCH LINE# 57
+ C:3FE9H LINE# 58
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 80
+
+
+ C:3FEBH LINE# 60
+ C:3FEBH LINE# 61
+ C:3FEEH LINE# 62
+ C:4013H LINE# 63
+ C:4013H LINE# 64
+ C:4013H LINE# 66
+ C:401CH LINE# 67
+ C:401FH LINE# 68
+ C:4021H LINE# 70
+ C:4024H LINE# 71
+ ------- ENDPROC _MCUTIMER3SET
+ ------- PROC _MCUCLOCKSET
+ D:0007H SYMBOL SysClock
+ ------- DO
+ D:0006H SYMBOL ea
+ ------- ENDDO
+ C:6295H LINE# 80
+ C:6295H LINE# 81
+ C:6295H LINE# 84
+ C:629AH LINE# 85
+ C:629CH LINE# 87
+ C:62ACH LINE# 89
+ C:62ACH LINE# 90
+ C:62B1H LINE# 91
+ C:62B3H LINE# 92
+ C:62BCH LINE# 93
+ C:62BCH LINE# 94
+ C:62BFH LINE# 95
+ C:62C0H LINE# 96
+ C:62C3H LINE# 97
+ C:62C3H LINE# 98
+ C:62C4H LINE# 99
+ C:62C5H LINE# 100
+ C:62C6H LINE# 101
+ C:62C7H LINE# 102
+ C:62C8H LINE# 103
+ C:62C9H LINE# 104
+ C:62CAH LINE# 105
+ C:62CBH LINE# 106
+ C:62DBH LINE# 108
+ C:62DBH LINE# 109
+ C:62DEH LINE# 110
+ C:62DEH LINE# 112
+ C:62E5H LINE# 113
+ ------- ENDPROC _MCUCLOCKSET
+ ------- PROC _MCUPWM0SET
+ X:05EBH SYMBOL PwmFreq
+ X:05EDH SYMBOL DutyRatio
+ C:5676H LINE# 122
+ C:5681H LINE# 123
+ C:5681H LINE# 124
+ C:5684H LINE# 125
+ C:569EH LINE# 126
+ C:56BDH LINE# 127
+ C:56DBH LINE# 128
+ C:56F6H LINE# 129
+ ------- ENDPROC _MCUPWM0SET
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 81
+
+
+ ------- PROC _MCUPWM1SET
+ X:05EEH SYMBOL PwmFreq
+ X:05F0H SYMBOL DutyRatio
+ C:56F7H LINE# 131
+ C:5702H LINE# 132
+ C:5702H LINE# 133
+ C:5705H LINE# 134
+ C:571FH LINE# 135
+ C:573EH LINE# 136
+ C:575CH LINE# 137
+ C:5777H LINE# 138
+ ------- ENDPROC _MCUPWM1SET
+ ------- PROC _MCUPWM2SET
+ X:02BEH SYMBOL PwmFreq
+ X:02C0H SYMBOL DutyRatio
+ C:5778H LINE# 140
+ C:5783H LINE# 141
+ C:5783H LINE# 142
+ C:5786H LINE# 143
+ C:57A0H LINE# 144
+ C:57BFH LINE# 145
+ C:57DDH LINE# 146
+ C:57F8H LINE# 147
+ ------- ENDPROC _MCUPWM2SET
+ ------- PROC _DELAY1MS
+ D:0007H SYMBOL Xms
+ ------- DO
+ D:0006H SYMBOL i
+ D:0002H SYMBOL j
+ D:0004H SYMBOL Tcnt
+ ------- ENDDO
+ C:6890H LINE# 160
+ C:6890H LINE# 161
+ C:6890H LINE# 165
+ C:6896H LINE# 166
+ C:6896H LINE# 167
+ C:689AH LINE# 168
+ C:689CH LINE# 169
+ C:68A4H LINE# 170
+ C:68A4H LINE# 171
+ C:68A8H LINE# 172
+ C:68AAH LINE# 173
+ C:68B2H LINE# 174
+ C:68B2H LINE# 175
+ C:68B6H LINE# 176
+ C:68B8H LINE# 178
+ C:68B8H LINE# 179
+ C:68BCH LINE# 180
+ C:68BCH LINE# 183
+ C:68C3H LINE# 184
+ C:68C3H LINE# 185
+ C:68CDH LINE# 186
+ C:68CDH LINE# 187
+ C:68D4H LINE# 188
+ C:68D7H LINE# 189
+ ------- ENDPROC _DELAY1MS
+ ------- PROC RAMCHECKPROCESS
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 82
+
+
+ C:5D30H LINE# 226
+ C:5D30H LINE# 227
+ C:5D30H LINE# 228
+ C:5D92H LINE# 240
+ C:5D92H LINE# 241
+ C:5D94H LINE# 242
+ C:5D94H LINE# 244
+ C:5D94H LINE# 245
+ C:5D95H LINE# 246
+ C:5D95H LINE# 247
+ ------- ENDPROC RAMCHECKPROCESS
+ ------- PROC _MEMORYSET
+ X:02C5H SYMBOL pt
+ D:0005H SYMBOL setval
+ D:0003H SYMBOL length
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:6FDFH LINE# 258
+ C:6FE7H LINE# 259
+ C:6FE7H LINE# 261
+ C:6FEEH LINE# 262
+ C:6FEEH LINE# 263
+ C:6FFBH LINE# 264
+ C:7005H LINE# 265
+ C:7008H LINE# 266
+ ------- ENDPROC _MEMORYSET
+ ------- PROC _MEMORYCOPY
+ X:02DBH SYMBOL source
+ D:0004H SYMBOL target
+ D:0003H SYMBOL length
+ ------- DO
+ D:0007H SYMBOL i
+ ------- ENDDO
+ C:6EF8H LINE# 277
+ C:6F00H LINE# 278
+ C:6F00H LINE# 280
+ C:6F07H LINE# 281
+ C:6F07H LINE# 282
+ C:6F18H LINE# 283
+ C:6F1DH LINE# 284
+ C:6F27H LINE# 285
+ C:6F2AH LINE# 286
+ ------- ENDPROC _MEMORYCOPY
+ ------- PROC MCUINTOIDLE
+ C:73D5H LINE# 295
+ C:73D5H LINE# 296
+ C:73D5H LINE# 297
+ C:73D8H LINE# 298
+ C:73DBH LINE# 299
+ C:73DCH LINE# 300
+ C:73DDH LINE# 301
+ C:73DEH LINE# 302
+ C:73DFH LINE# 303
+ C:73E0H LINE# 304
+ ------- ENDPROC MCUINTOIDLE
+ ------- PROC MCUINTOPD
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 83
+
+
+ C:73E1H LINE# 306
+ C:73E1H LINE# 307
+ C:73E1H LINE# 308
+ C:73E4H LINE# 309
+ C:73E7H LINE# 310
+ C:73E8H LINE# 311
+ C:73E9H LINE# 312
+ C:73EAH LINE# 313
+ C:73EBH LINE# 314
+ C:73ECH LINE# 315
+ ------- ENDPROC MCUINTOPD
+ ------- PROC SYSTEMRESETPROCESS
+ C:6F88H LINE# 324
+ C:6F88H LINE# 325
+ C:6F88H LINE# 326
+ C:6F9FH LINE# 328
+ C:6F9FH LINE# 329
+ C:6FA1H LINE# 330
+ C:6FA4H LINE# 331
+ C:6FA6H LINE# 332
+ C:6FA8H LINE# 333
+ C:6FAAH LINE# 335
+ C:6FACH LINE# 336
+ C:6FAEH LINE# 337
+ C:6FB0H LINE# 339
+ C:6FB3H LINE# 340
+ C:6FB3H LINE# 341
+ ------- ENDPROC SYSTEMRESETPROCESS
+ ------- ENDMOD MCULIB
+
+ ------- MODULE MOSCTRL
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:66DBH PUBLIC MosStatusCheck
+ C:6F5BH PUBLIC MosCtrl
+ B:002EH.3 PUBLIC bCHGMOSBk
+ B:002EH.4 PUBLIC bDSGMOSBk
+ ------- PROC MOSSTATUSCHECK
+ C:66DBH LINE# 20
+ C:66DBH LINE# 21
+ C:66DBH LINE# 22
+ C:66DDH LINE# 23
+ C:66DFH LINE# 25
+ C:66E5H LINE# 26
+ C:66E5H LINE# 27
+ C:66E7H LINE# 28
+ C:66E7H LINE# 30
+ C:66F9H LINE# 31
+ C:66F9H LINE# 32
+ C:66FBH LINE# 33
+ C:66FBH LINE# 35
+ C:66FEH LINE# 36
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 84
+
+
+ C:66FEH LINE# 37
+ C:670AH LINE# 38
+ C:670AH LINE# 39
+ C:670CH LINE# 40
+ C:670CH LINE# 41
+ C:670CH LINE# 43
+ C:670FH LINE# 44
+ C:670FH LINE# 45
+ C:6712H LINE# 46
+ C:6712H LINE# 47
+ C:6714H LINE# 48
+ C:6714H LINE# 49
+ C:6714H LINE# 51
+ C:671DH LINE# 52
+ C:671DH LINE# 53
+ C:671FH LINE# 54
+ C:671FH LINE# 56
+ C:6722H LINE# 57
+ C:6722H LINE# 58
+ C:6724H LINE# 59
+ C:6724H LINE# 60
+ ------- ENDPROC MOSSTATUSCHECK
+ ------- PROC MOSCTRL
+ C:6F5BH LINE# 70
+ C:6F5BH LINE# 71
+ C:6F5BH LINE# 72
+ C:6F5EH LINE# 74
+ C:6F6EH LINE# 75
+ C:6F6EH LINE# 76
+ C:6F72H LINE# 77
+ C:6F76H LINE# 79
+ C:6F87H LINE# 80
+ C:6F87H LINE# 81
+ ------- ENDPROC MOSCTRL
+ ------- ENDMOD MOSCTRL
+
+ ------- MODULE PORSELFTEST
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ C:63D7H PUBLIC PorProtectOTC
+ D:0090H PUBLIC P1
+ C:6475H PUBLIC PorProtectOTD
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:6426H PUBLIC PorProtectUTC
+ C:64C4H PUBLIC PorProtectUTD
+ C:68D8H PUBLIC PorProtectOV
+ C:6920H PUBLIC PorProtectUV
+ X:05F7H PUBLIC ucPorSelfTestDelayCnt
+ B:002FH.3 PUBLIC bPorSelfTestFlg
+ C:6D7DH PUBLIC PorSelfTest
+ ------- PROC PORPROTECTOV
+ C:68D8H LINE# 20
+ C:68D8H LINE# 21
+ C:68D8H LINE# 22
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 85
+
+
+ C:68DBH LINE# 23
+ C:68DBH LINE# 24
+ C:68EAH LINE# 25
+ C:68EAH LINE# 26
+ C:68FFH LINE# 27
+ C:68FFH LINE# 28
+ C:6901H LINE# 29
+ C:6908H LINE# 30
+ C:6908H LINE# 31
+ C:6909H LINE# 32
+ C:6918H LINE# 33
+ C:6918H LINE# 34
+ C:691FH LINE# 35
+ C:691FH LINE# 36
+ C:691FH LINE# 37
+ ------- ENDPROC PORPROTECTOV
+ ------- PROC PORPROTECTUV
+ C:6920H LINE# 46
+ C:6920H LINE# 47
+ C:6920H LINE# 48
+ C:6923H LINE# 49
+ C:6923H LINE# 50
+ C:6932H LINE# 51
+ C:6932H LINE# 52
+ C:6947H LINE# 53
+ C:6947H LINE# 54
+ C:6949H LINE# 55
+ C:6950H LINE# 56
+ C:6950H LINE# 57
+ C:6951H LINE# 58
+ C:6960H LINE# 59
+ C:6960H LINE# 60
+ C:6967H LINE# 61
+ C:6967H LINE# 62
+ C:6967H LINE# 63
+ ------- ENDPROC PORPROTECTUV
+ ------- PROC PORPROTECTOTC
+ C:63D7H LINE# 72
+ C:63D7H LINE# 73
+ C:63D7H LINE# 74
+ C:63DAH LINE# 75
+ C:63DAH LINE# 76
+ C:63F0H LINE# 77
+ C:63F0H LINE# 78
+ C:6405H LINE# 79
+ C:6405H LINE# 80
+ C:6407H LINE# 81
+ C:640EH LINE# 82
+ C:640EH LINE# 83
+ C:640FH LINE# 84
+ C:641EH LINE# 85
+ C:641EH LINE# 86
+ C:6425H LINE# 87
+ C:6425H LINE# 88
+ C:6425H LINE# 89
+ ------- ENDPROC PORPROTECTOTC
+ ------- PROC PORPROTECTUTC
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 86
+
+
+ C:6426H LINE# 98
+ C:6426H LINE# 99
+ C:6426H LINE# 100
+ C:6429H LINE# 101
+ C:6429H LINE# 102
+ C:643FH LINE# 103
+ C:643FH LINE# 104
+ C:6454H LINE# 105
+ C:6454H LINE# 106
+ C:6456H LINE# 107
+ C:645DH LINE# 108
+ C:645DH LINE# 109
+ C:645EH LINE# 110
+ C:646DH LINE# 111
+ C:646DH LINE# 112
+ C:6474H LINE# 113
+ C:6474H LINE# 114
+ C:6474H LINE# 115
+ ------- ENDPROC PORPROTECTUTC
+ ------- PROC PORPROTECTOTD
+ C:6475H LINE# 124
+ C:6475H LINE# 125
+ C:6475H LINE# 126
+ C:6478H LINE# 127
+ C:6478H LINE# 128
+ C:648EH LINE# 129
+ C:648EH LINE# 130
+ C:64A3H LINE# 131
+ C:64A3H LINE# 132
+ C:64A5H LINE# 133
+ C:64ACH LINE# 134
+ C:64ACH LINE# 135
+ C:64ADH LINE# 136
+ C:64BCH LINE# 137
+ C:64BCH LINE# 138
+ C:64C3H LINE# 139
+ C:64C3H LINE# 140
+ C:64C3H LINE# 141
+ ------- ENDPROC PORPROTECTOTD
+ ------- PROC PORPROTECTUTD
+ C:64C4H LINE# 150
+ C:64C4H LINE# 151
+ C:64C4H LINE# 152
+ C:64C7H LINE# 153
+ C:64C7H LINE# 154
+ C:64DDH LINE# 155
+ C:64DDH LINE# 156
+ C:64F2H LINE# 157
+ C:64F2H LINE# 158
+ C:64F4H LINE# 159
+ C:64FBH LINE# 160
+ C:64FBH LINE# 161
+ C:64FCH LINE# 162
+ C:650BH LINE# 163
+ C:650BH LINE# 164
+ C:6512H LINE# 165
+ C:6512H LINE# 166
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 87
+
+
+ C:6512H LINE# 167
+ ------- ENDPROC PORPROTECTUTD
+ ------- PROC PORSELFTEST
+ C:6D7DH LINE# 176
+ C:6D7DH LINE# 177
+ C:6D7DH LINE# 178
+ C:6D80H LINE# 179
+ C:6D80H LINE# 180
+ C:6D83H LINE# 181
+ C:6D86H LINE# 182
+ C:6D89H LINE# 183
+ C:6D8CH LINE# 185
+ C:6D8FH LINE# 186
+ C:6D92H LINE# 187
+ C:6D95H LINE# 188
+ C:6D98H LINE# 190
+ C:6DA3H LINE# 191
+ C:6DA3H LINE# 192
+ C:6DA5H LINE# 193
+ C:6DB1H LINE# 194
+ C:6DB1H LINE# 195
+ C:6DB3H LINE# 196
+ C:6DB4H LINE# 198
+ C:6DB4H LINE# 199
+ C:6DB7H LINE# 200
+ C:6DB7H LINE# 201
+ C:6DB7H LINE# 202
+ C:6DB7H LINE# 203
+ ------- ENDPROC PORSELFTEST
+ ------- ENDMOD PORSELFTEST
+
+ ------- MODULE PROTECT
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ X:03BAH PUBLIC uiOCD1DelayCnt
+ D:00A0H PUBLIC P2
+ X:03BCH PUBLIC uiOCD2DelayCnt
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:4604H PUBLIC ProtectOV
+ C:4846H PUBLIC ProtectUV
+ B:002EH.5 PUBLIC bOVLock
+ B:002EH.6 PUBLIC bUVLock
+ X:03BEH PUBLIC uiOVDelayCnt
+ X:03C0H PUBLIC uiUVDelayCnt
+ X:03C2H PUBLIC uiOTCRDelayCnt
+ X:03C4H PUBLIC uiOTDRDelayCnt
+ X:03C6H PUBLIC uiUTCRDelayCnt
+ X:03C8H PUBLIC uiUTDRDelayCnt
+ C:60E4H PUBLIC ProtectOCC
+ C:712CH PUBLIC ProtectProcess
+ C:4902H PUBLIC ProtectOTC
+ C:4A7AH PUBLIC ProtectOTD
+ X:03CAH PUBLIC uiOCCRcnt
+ X:03CCH PUBLIC uiOCCDelayCnt
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 88
+
+
+ X:03CEH PUBLIC uiOCDRcnt
+ C:49BEH PUBLIC ProtectUTC
+ C:4B36H PUBLIC ProtectUTD
+ C:58EEH PUBLIC ProtectOCRecover
+ X:03D0H PUBLIC uiOTCDelayCnt
+ X:03D2H PUBLIC uiOTDDelayCnt
+ X:03D4H PUBLIC uiUTCDelayCnt
+ X:03D6H PUBLIC uiUTDDelayCnt
+ C:613DH PUBLIC ProtectOCD1
+ C:6196H PUBLIC ProtectOCD2
+ X:03D8H PUBLIC uiOVRDelayCnt
+ X:03DAH PUBLIC uiUVRDelayCnt
+ ------- PROC PROTECTOV
+ C:4604H LINE# 39
+ C:4604H LINE# 40
+ C:4604H LINE# 41
+ C:460AH LINE# 42
+ C:460AH LINE# 43
+ C:4619H LINE# 44
+ C:4619H LINE# 45
+ C:463AH LINE# 46
+ C:463AH LINE# 47
+ C:463CH LINE# 48
+ C:463EH LINE# 49
+ C:4645H LINE# 50
+ C:464BH LINE# 51
+ C:464BH LINE# 52
+ C:464CH LINE# 53
+ C:465BH LINE# 54
+ C:465BH LINE# 55
+ C:4662H LINE# 56
+ C:4662H LINE# 57
+ C:4663H LINE# 58
+ C:4666H LINE# 59
+ C:4666H LINE# 60
+ C:4675H LINE# 61
+ C:4675H LINE# 62
+ C:4693H LINE# 63
+ C:4693H LINE# 64
+ C:4696H LINE# 65
+ C:4696H LINE# 66
+ C:4698H LINE# 67
+ C:469AH LINE# 68
+ C:469CH LINE# 70
+ C:469CH LINE# 71
+ C:469EH LINE# 72
+ C:46A0H LINE# 73
+ C:46A3H LINE# 74
+ C:46A3H LINE# 75
+ C:46AAH LINE# 76
+ C:46B0H LINE# 77
+ C:46B0H LINE# 78
+ C:46B1H LINE# 79
+ C:46C0H LINE# 80
+ C:46C0H LINE# 81
+ C:46C7H LINE# 82
+ C:46C7H LINE# 83
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 89
+
+
+ C:46C7H LINE# 84
+ ------- ENDPROC PROTECTOV
+ ------- PROC PROTECTUV
+ C:4846H LINE# 92
+ C:4846H LINE# 93
+ C:4846H LINE# 94
+ C:4849H LINE# 95
+ C:4849H LINE# 96
+ C:4858H LINE# 97
+ C:4858H LINE# 98
+ C:4879H LINE# 99
+ C:4879H LINE# 100
+ C:487BH LINE# 101
+ C:487DH LINE# 102
+ C:4884H LINE# 103
+ C:488AH LINE# 104
+ C:488AH LINE# 105
+ C:488BH LINE# 106
+ C:489AH LINE# 107
+ C:489AH LINE# 108
+ C:48A1H LINE# 109
+ C:48A1H LINE# 110
+ C:48A2H LINE# 111
+ C:48A5H LINE# 112
+ C:48A5H LINE# 113
+ C:48B4H LINE# 114
+ C:48B4H LINE# 115
+ C:48D2H LINE# 116
+ C:48D2H LINE# 117
+ C:48D5H LINE# 118
+ C:48D5H LINE# 119
+ C:48D7H LINE# 120
+ C:48D9H LINE# 121
+ C:48DBH LINE# 123
+ C:48DBH LINE# 124
+ C:48DDH LINE# 125
+ C:48DDH LINE# 126
+ C:48E4H LINE# 127
+ C:48EAH LINE# 128
+ C:48EAH LINE# 129
+ C:48EBH LINE# 130
+ C:48FAH LINE# 131
+ C:48FAH LINE# 132
+ C:4901H LINE# 133
+ C:4901H LINE# 134
+ C:4901H LINE# 135
+ ------- ENDPROC PROTECTUV
+ ------- PROC PROTECTOTC
+ C:4902H LINE# 143
+ C:4902H LINE# 144
+ C:4902H LINE# 145
+ C:4905H LINE# 146
+ C:4905H LINE# 147
+ C:491BH LINE# 148
+ C:491BH LINE# 149
+ C:493CH LINE# 150
+ C:493CH LINE# 151
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 90
+
+
+ C:493EH LINE# 152
+ C:4945H LINE# 153
+ C:494BH LINE# 154
+ C:494BH LINE# 155
+ C:494CH LINE# 156
+ C:495BH LINE# 157
+ C:495BH LINE# 158
+ C:4962H LINE# 159
+ C:4962H LINE# 160
+ C:4963H LINE# 162
+ C:4963H LINE# 163
+ C:4979H LINE# 164
+ C:4979H LINE# 165
+ C:4997H LINE# 166
+ C:4997H LINE# 167
+ C:4999H LINE# 168
+ C:49A0H LINE# 169
+ C:49A6H LINE# 170
+ C:49A6H LINE# 171
+ C:49A7H LINE# 172
+ C:49B6H LINE# 173
+ C:49B6H LINE# 174
+ C:49BDH LINE# 175
+ C:49BDH LINE# 176
+ C:49BDH LINE# 177
+ ------- ENDPROC PROTECTOTC
+ ------- PROC PROTECTUTC
+ C:49BEH LINE# 186
+ C:49BEH LINE# 187
+ C:49BEH LINE# 188
+ C:49C1H LINE# 189
+ C:49C1H LINE# 190
+ C:49D7H LINE# 191
+ C:49D7H LINE# 192
+ C:49F8H LINE# 193
+ C:49F8H LINE# 194
+ C:49FAH LINE# 195
+ C:4A01H LINE# 196
+ C:4A07H LINE# 197
+ C:4A07H LINE# 198
+ C:4A08H LINE# 199
+ C:4A17H LINE# 200
+ C:4A17H LINE# 201
+ C:4A1EH LINE# 202
+ C:4A1EH LINE# 203
+ C:4A1FH LINE# 205
+ C:4A1FH LINE# 206
+ C:4A35H LINE# 207
+ C:4A35H LINE# 208
+ C:4A53H LINE# 209
+ C:4A53H LINE# 210
+ C:4A55H LINE# 211
+ C:4A5CH LINE# 212
+ C:4A62H LINE# 213
+ C:4A62H LINE# 214
+ C:4A63H LINE# 215
+ C:4A72H LINE# 216
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 91
+
+
+ C:4A72H LINE# 217
+ C:4A79H LINE# 218
+ C:4A79H LINE# 219
+ C:4A79H LINE# 220
+ ------- ENDPROC PROTECTUTC
+ ------- PROC PROTECTOTD
+ C:4A7AH LINE# 229
+ C:4A7AH LINE# 230
+ C:4A7AH LINE# 231
+ C:4A7DH LINE# 232
+ C:4A7DH LINE# 233
+ C:4A93H LINE# 234
+ C:4A93H LINE# 235
+ C:4AB4H LINE# 236
+ C:4AB4H LINE# 237
+ C:4AB6H LINE# 238
+ C:4ABDH LINE# 239
+ C:4AC3H LINE# 240
+ C:4AC3H LINE# 241
+ C:4AC4H LINE# 242
+ C:4AD3H LINE# 243
+ C:4AD3H LINE# 244
+ C:4ADAH LINE# 245
+ C:4ADAH LINE# 246
+ C:4ADBH LINE# 248
+ C:4ADBH LINE# 249
+ C:4AF1H LINE# 250
+ C:4AF1H LINE# 251
+ C:4B0FH LINE# 252
+ C:4B0FH LINE# 253
+ C:4B11H LINE# 254
+ C:4B18H LINE# 255
+ C:4B1EH LINE# 256
+ C:4B1EH LINE# 257
+ C:4B1FH LINE# 258
+ C:4B2EH LINE# 259
+ C:4B2EH LINE# 260
+ C:4B35H LINE# 261
+ C:4B35H LINE# 262
+ C:4B35H LINE# 263
+ ------- ENDPROC PROTECTOTD
+ ------- PROC PROTECTUTD
+ C:4B36H LINE# 272
+ C:4B36H LINE# 273
+ C:4B36H LINE# 274
+ C:4B39H LINE# 275
+ C:4B39H LINE# 276
+ C:4B4FH LINE# 277
+ C:4B4FH LINE# 278
+ C:4B70H LINE# 279
+ C:4B70H LINE# 280
+ C:4B72H LINE# 281
+ C:4B79H LINE# 282
+ C:4B7FH LINE# 283
+ C:4B7FH LINE# 284
+ C:4B80H LINE# 285
+ C:4B8FH LINE# 286
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 92
+
+
+ C:4B8FH LINE# 287
+ C:4B96H LINE# 288
+ C:4B96H LINE# 289
+ C:4B97H LINE# 291
+ C:4B97H LINE# 292
+ C:4BADH LINE# 293
+ C:4BADH LINE# 294
+ C:4BCBH LINE# 295
+ C:4BCBH LINE# 296
+ C:4BCDH LINE# 297
+ C:4BD4H LINE# 298
+ C:4BDAH LINE# 299
+ C:4BDAH LINE# 300
+ C:4BDBH LINE# 301
+ C:4BEAH LINE# 302
+ C:4BEAH LINE# 303
+ C:4BF1H LINE# 304
+ C:4BF1H LINE# 305
+ C:4BF1H LINE# 306
+ ------- ENDPROC PROTECTUTD
+ ------- PROC PROTECTOCC
+ C:60E4H LINE# 316
+ C:60E4H LINE# 317
+ C:60E4H LINE# 318
+ C:60E7H LINE# 319
+ C:60E7H LINE# 320
+ C:60F9H LINE# 321
+ C:60F9H LINE# 322
+ C:6117H LINE# 323
+ C:6117H LINE# 324
+ C:6119H LINE# 325
+ C:611BH LINE# 326
+ C:6122H LINE# 327
+ C:6122H LINE# 328
+ C:6123H LINE# 329
+ C:6126H LINE# 330
+ C:6126H LINE# 331
+ C:6135H LINE# 332
+ C:6135H LINE# 333
+ C:613CH LINE# 334
+ C:613CH LINE# 335
+ C:613CH LINE# 336
+ C:613CH LINE# 337
+ ------- ENDPROC PROTECTOCC
+ ------- PROC PROTECTOCD1
+ C:613DH LINE# 346
+ C:613DH LINE# 347
+ C:613DH LINE# 348
+ C:6140H LINE# 349
+ C:6140H LINE# 350
+ C:6152H LINE# 351
+ C:6152H LINE# 352
+ C:6170H LINE# 353
+ C:6170H LINE# 354
+ C:6177H LINE# 355
+ C:6179H LINE# 356
+ C:617BH LINE# 357
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 93
+
+
+ C:617BH LINE# 358
+ C:617CH LINE# 359
+ C:617FH LINE# 360
+ C:617FH LINE# 361
+ C:618EH LINE# 362
+ C:618EH LINE# 363
+ C:6195H LINE# 364
+ C:6195H LINE# 365
+ C:6195H LINE# 366
+ C:6195H LINE# 367
+ ------- ENDPROC PROTECTOCD1
+ ------- PROC PROTECTOCD2
+ C:6196H LINE# 376
+ C:6196H LINE# 377
+ C:6196H LINE# 378
+ C:6199H LINE# 379
+ C:6199H LINE# 380
+ C:61ABH LINE# 381
+ C:61ABH LINE# 382
+ C:61C9H LINE# 383
+ C:61C9H LINE# 384
+ C:61D0H LINE# 385
+ C:61D2H LINE# 386
+ C:61D4H LINE# 387
+ C:61D4H LINE# 388
+ C:61D5H LINE# 389
+ C:61D8H LINE# 390
+ C:61D8H LINE# 391
+ C:61E7H LINE# 392
+ C:61E7H LINE# 393
+ C:61EEH LINE# 394
+ C:61EEH LINE# 395
+ C:61EEH LINE# 396
+ C:61EEH LINE# 397
+ ------- ENDPROC PROTECTOCD2
+ ------- PROC PROTECTPROCESS
+ C:712CH LINE# 406
+ C:712CH LINE# 407
+ C:712CH LINE# 408
+ C:712FH LINE# 409
+ C:712FH LINE# 410
+ C:7132H LINE# 411
+ C:7135H LINE# 413
+ C:7138H LINE# 414
+ C:713BH LINE# 415
+ C:713EH LINE# 416
+ C:7141H LINE# 418
+ C:7144H LINE# 419
+ C:7147H LINE# 420
+ C:714AH LINE# 421
+ C:714AH LINE# 422
+ ------- ENDPROC PROTECTPROCESS
+ ------- PROC PROTECTOCRECOVER
+ C:58EEH LINE# 431
+ C:58EEH LINE# 432
+ C:58EEH LINE# 433
+ C:58F1H LINE# 434
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 94
+
+
+ C:58F1H LINE# 435
+ C:58FAH LINE# 436
+ C:58FAH LINE# 437
+ C:5918H LINE# 438
+ C:5918H LINE# 439
+ C:591DH LINE# 440
+ C:5923H LINE# 441
+ C:5925H LINE# 442
+ C:5927H LINE# 443
+ C:5929H LINE# 444
+ C:592BH LINE# 445
+ C:592EH LINE# 446
+ C:592EH LINE# 447
+ C:5930H LINE# 448
+ C:5933H LINE# 449
+ C:5933H LINE# 450
+ C:5933H LINE# 451
+ C:5933H LINE# 453
+ C:5936H LINE# 454
+ C:5936H LINE# 455
+ C:5954H LINE# 456
+ C:5954H LINE# 457
+ C:595BH LINE# 458
+ C:595DH LINE# 459
+ C:5961H LINE# 460
+ C:5963H LINE# 461
+ C:5963H LINE# 462
+ C:5963H LINE# 463
+ C:5963H LINE# 464
+ ------- ENDPROC PROTECTOCRECOVER
+ ------- ENDMOD PROTECT
+
+ ------- MODULE RTC
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ C:7186H PUBLIC RTCTwiCheck
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:5450H PUBLIC _RTCInitTime
+ B:002EH.7 PUBLIC bRTCTwiRWErr
+ C:602FH PUBLIC _RTCRead
+ C:51F8H PUBLIC _RTCModifyTime
+ X:0496H PUBLIC ucRTCTwiRWErrDelayCnt
+ X:0497H PUBLIC RTC
+ B:002FH.0 PUBLIC bRTCErr
+ C:5FD4H PUBLIC _RTCWrite
+ C:2EE2H PUBLIC _RTCReadTime
+ ------- PROC RTCTWICHECK
+ C:7186H LINE# 23
+ C:7186H LINE# 24
+ C:7186H LINE# 25
+ C:7189H LINE# 26
+ C:7189H LINE# 27
+ C:718CH LINE# 28
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 95
+
+
+ C:718CH LINE# 29
+ C:7197H LINE# 30
+ C:7197H LINE# 31
+ C:7199H LINE# 32
+ C:719CH LINE# 33
+ C:719CH LINE# 34
+ C:719DH LINE# 36
+ C:719DH LINE# 37
+ C:71A2H LINE# 38
+ C:71A2H LINE# 39
+ C:71A2H LINE# 40
+ ------- ENDPROC RTCTWICHECK
+ ------- PROC _RTCWRITE
+ X:02F0H SYMBOL WrAddr
+ X:02F1H SYMBOL Length
+ X:02F2H SYMBOL WrBuf
+ ------- DO
+ B:002AH.6 SYMBOL Result
+ X:02F4H SYMBOL i
+ ------- ENDDO
+ C:5FD4H LINE# 49
+ C:5FE2H LINE# 50
+ C:5FE2H LINE# 51
+ C:5FE4H LINE# 54
+ C:5FE7H LINE# 55
+ C:5FE7H LINE# 56
+ C:5FEAH LINE# 57
+ C:5FEAH LINE# 59
+ C:6012H LINE# 60
+ C:6012H LINE# 61
+ C:6014H LINE# 62
+ C:6016H LINE# 63
+ C:6016H LINE# 71
+ C:601BH LINE# 72
+ C:6027H LINE# 73
+ C:6027H LINE# 74
+ C:602CH LINE# 76
+ C:602EH LINE# 77
+ ------- ENDPROC _RTCWRITE
+ ------- PROC _RTCREAD
+ X:02E6H SYMBOL RdAddr
+ X:02E7H SYMBOL Length
+ X:02E8H SYMBOL RdBuf
+ ------- DO
+ B:002AH.5 SYMBOL Result
+ X:02EAH SYMBOL i
+ ------- ENDDO
+ C:602FH LINE# 86
+ C:603DH LINE# 87
+ C:603DH LINE# 88
+ C:603FH LINE# 91
+ C:6042H LINE# 92
+ C:6042H LINE# 93
+ C:6045H LINE# 94
+ C:6045H LINE# 96
+ C:606DH LINE# 97
+ C:606DH LINE# 98
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 96
+
+
+ C:606FH LINE# 99
+ C:6071H LINE# 100
+ C:6071H LINE# 108
+ C:6076H LINE# 109
+ C:6082H LINE# 110
+ C:6082H LINE# 111
+ C:6087H LINE# 113
+ C:6089H LINE# 114
+ ------- ENDPROC _RTCREAD
+ ------- PROC _RTCREADTIME
+ X:02DBH SYMBOL RtcRdVal
+ ------- DO
+ X:02DDH SYMBOL rtcbuf
+ B:002AH.4 SYMBOL Result
+ ------- ENDDO
+ C:2EE2H LINE# 122
+ C:2EEAH LINE# 123
+ C:2EEAH LINE# 125
+ C:2EECH LINE# 127
+ C:2EFCH LINE# 128
+ C:2EFCH LINE# 129
+ C:2F06H LINE# 130
+ C:2F06H LINE# 131
+ C:2FB3H LINE# 139
+ C:2FB3H LINE# 140
+ C:2FC4H LINE# 141
+ C:2FCEH LINE# 142
+ C:2FDFH LINE# 143
+ C:2FEBH LINE# 144
+ C:2FFEH LINE# 145
+ C:300CH LINE# 146
+ C:301FH LINE# 148
+ C:3028H LINE# 149
+ C:302AH LINE# 151
+ C:302AH LINE# 152
+ C:303DH LINE# 153
+ C:3047H LINE# 154
+ C:3054H LINE# 155
+ C:3060H LINE# 156
+ C:3070H LINE# 157
+ C:3080H LINE# 158
+ C:3090H LINE# 160
+ C:3092H LINE# 161
+ C:3092H LINE# 162
+ C:3094H LINE# 164
+ C:3094H LINE# 165
+ C:30A1H LINE# 166
+ C:30A1H LINE# 167
+ C:30A1H LINE# 169
+ C:30A3H LINE# 170
+ ------- ENDPROC _RTCREADTIME
+ ------- PROC _RTCMODIFYTIME
+ X:02E6H SYMBOL RtcMdyVal
+ ------- DO
+ B:002AH.5 SYMBOL Result
+ X:02E8H SYMBOL rtcdata
+ X:02E9H SYMBOL rtctemp
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 97
+
+
+ ------- ENDDO
+ C:51F8H LINE# 179
+ C:5200H LINE# 180
+ C:5200H LINE# 181
+ C:5202H LINE# 185
+ C:5206H LINE# 186
+ C:5213H LINE# 188
+ C:5224H LINE# 189
+ C:522EH LINE# 190
+ C:5243H LINE# 191
+ C:524FH LINE# 192
+ C:5263H LINE# 193
+ C:5271H LINE# 194
+ C:5284H LINE# 196
+ C:5291H LINE# 198
+ C:5293H LINE# 199
+ ------- ENDPROC _RTCMODIFYTIME
+ ------- PROC _RTCINITTIME
+ X:02B9H SYMBOL RtcInitVal
+ ------- DO
+ B:002AH.3 SYMBOL Result
+ X:02BBH SYMBOL rtcbuf
+ D:0007H SYMBOL i
+ X:02C4H SYMBOL checksum
+ ------- ENDDO
+ C:5450H LINE# 208
+ C:5458H LINE# 209
+ C:5458H LINE# 210
+ C:545AH LINE# 213
+ C:545FH LINE# 215
+ C:5469H LINE# 217
+ C:5476H LINE# 218
+ C:5478H LINE# 219
+ C:5478H LINE# 220
+ C:548AH LINE# 221
+ C:548FH LINE# 223
+ C:54A1H LINE# 224
+ C:54A1H LINE# 225
+ C:54A6H LINE# 226
+ C:54A8H LINE# 227
+ C:54ACH LINE# 228
+ C:54B0H LINE# 229
+ C:54B4H LINE# 230
+ C:54B8H LINE# 231
+ C:54BCH LINE# 232
+ C:54BCH LINE# 234
+ C:54CDH LINE# 235
+ C:54DAH LINE# 237
+ C:54DCH LINE# 238
+ ------- ENDPROC _RTCINITTIME
+ ------- ENDMOD RTC
+
+ ------- MODULE TWI
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 98
+
+
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ D:008AH PUBLIC TWIBR
+ D:00C6H PUBLIC TWICR
+ D:0089H PUBLIC TWTFREE
+ C:30A4H PUBLIC _TwiRead
+ D:00B1H PUBLIC RSTSTAT
+ C:71C0H PUBLIC _CRC8cal
+ D:00E6H PUBLIC TWITOUT
+ C:3B1FH PUBLIC _TwiWrite
+ C:7241H PUBLIC TwiInit
+ D:008DH PUBLIC TWIDAT
+ D:00C8H PUBLIC TWICON
+ D:00D1H PUBLIC TWISTA
+ C:7030H PUBLIC _TWICheckStatus
+ C:427CH PUBLIC CRC8Table
+ ------- PROC _CRC8CAL
+ D:0001H SYMBOL p
+ D:0005H SYMBOL counter
+ ------- DO
+ D:0007H SYMBOL crc8
+ ------- ENDDO
+ C:71C0H LINE# 38
+ C:71C0H LINE# 39
+ C:71C0H LINE# 40
+ C:71C2H LINE# 42
+ C:71C8H LINE# 43
+ C:71C8H LINE# 44
+ C:71D1H LINE# 45
+ C:71D8H LINE# 46
+ C:71DBH LINE# 47
+ C:71DBH LINE# 48
+ ------- ENDPROC _CRC8CAL
+ ------- PROC _TWICHECKSTATUS
+ D:0007H SYMBOL Status
+ ------- DO
+ B:002BH.0 SYMBOL Result
+ D:0004H SYMBOL timeoutcount
+ ------- ENDDO
+ C:7030H LINE# 59
+ C:7030H LINE# 60
+ C:7030H LINE# 61
+ C:7032H LINE# 62
+ C:7036H LINE# 64
+ C:703BH LINE# 65
+ C:703BH LINE# 66
+ C:703EH LINE# 67
+ C:7042H LINE# 68
+ C:7042H LINE# 69
+ C:7047H LINE# 70
+ C:7049H LINE# 72
+ C:7049H LINE# 73
+ C:7049H LINE# 74
+ C:7049H LINE# 75
+ C:704BH LINE# 76
+ C:7052H LINE# 77
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 99
+
+
+ C:7052H LINE# 78
+ C:7054H LINE# 79
+ C:7054H LINE# 81
+ C:7056H LINE# 82
+ ------- ENDPROC _TWICHECKSTATUS
+ ------- PROC _TWIWRITE
+ X:02F5H SYMBOL SlaveID
+ X:02F6H SYMBOL WrAddr
+ X:02F8H SYMBOL AddrType
+ X:02F9H SYMBOL Length
+ X:02FAH SYMBOL CrcFlg
+ X:02FBH SYMBOL WrBuf
+ ------- DO
+ D:0006H SYMBOL i
+ X:02FDH SYMBOL TempBuf
+ B:002AH.7 SYMBOL Result
+ X:0301H SYMBOL timeoutcount
+ C:3C40H SYMBOL WrErr
+ ------- ENDDO
+ C:3B1FH LINE# 98
+ C:3B2FH LINE# 99
+ C:3B2FH LINE# 102
+ C:3B31H LINE# 103
+ C:3B3BH LINE# 105
+ C:3B40H LINE# 106
+ C:3B43H LINE# 107
+ C:3B53H LINE# 108
+ C:3B63H LINE# 110
+ C:3B6FH LINE# 111
+ C:3B6FH LINE# 112
+ C:3B78H LINE# 113
+ C:3B7BH LINE# 114
+ C:3B89H LINE# 115
+ C:3B89H LINE# 116
+ C:3B8BH LINE# 117
+ C:3B8EH LINE# 118
+ C:3B8EH LINE# 120
+ C:3B94H LINE# 121
+ C:3B97H LINE# 122
+ C:3B9EH LINE# 123
+ C:3B9EH LINE# 124
+ C:3BA0H LINE# 125
+ C:3BA3H LINE# 126
+ C:3BA3H LINE# 128
+ C:3BAAH LINE# 129
+ C:3BAAH LINE# 130
+ C:3BB0H LINE# 131
+ C:3BB3H LINE# 132
+ C:3BBAH LINE# 133
+ C:3BBAH LINE# 134
+ C:3BBCH LINE# 135
+ C:3BBFH LINE# 136
+ C:3BBFH LINE# 137
+ C:3BBFH LINE# 139
+ C:3BC7H LINE# 140
+ C:3BCAH LINE# 141
+ C:3BD1H LINE# 142
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 100
+
+
+ C:3BD1H LINE# 143
+ C:3BD3H LINE# 144
+ C:3BD5H LINE# 145
+ C:3BD5H LINE# 147
+ C:3BDDH LINE# 148
+ C:3BDDH LINE# 149
+ C:3BE9H LINE# 150
+ C:3BECH LINE# 151
+ C:3BF3H LINE# 152
+ C:3BF3H LINE# 153
+ C:3BF5H LINE# 154
+ C:3BF7H LINE# 155
+ C:3BF7H LINE# 157
+ C:3BFDH LINE# 158
+ C:3C00H LINE# 159
+ C:3C07H LINE# 160
+ C:3C07H LINE# 161
+ C:3C09H LINE# 162
+ C:3C0BH LINE# 163
+ C:3C0BH LINE# 164
+ C:3C0BH LINE# 166
+ C:3C0BH LINE# 167
+ C:3C17H LINE# 168
+ C:3C17H LINE# 169
+ C:3C25H LINE# 170
+ C:3C28H LINE# 171
+ C:3C2FH LINE# 172
+ C:3C2FH LINE# 173
+ C:3C31H LINE# 174
+ C:3C33H LINE# 175
+ C:3C33H LINE# 176
+ C:3C3DH LINE# 177
+ C:3C40H LINE# 178
+ C:3C40H LINE# 179
+ C:3C40H LINE# 180
+ C:3C43H LINE# 181
+ C:3C48H LINE# 182
+ C:3C48H LINE# 183
+ C:3C4BH LINE# 184
+ C:3C55H LINE# 185
+ C:3C55H LINE# 186
+ C:3C5FH LINE# 187
+ C:3C61H LINE# 189
+ C:3C61H LINE# 190
+ C:3C61H LINE# 191
+ C:3C61H LINE# 192
+ C:3C63H LINE# 193
+ C:3C63H LINE# 195
+ C:3C65H LINE# 196
+ ------- ENDPROC _TWIWRITE
+ ------- PROC _TWIREAD
+ D:0002H SYMBOL SlaveID
+ X:02ECH SYMBOL RdAddr
+ D:0003H SYMBOL AddrType
+ X:02EFH SYMBOL Length
+ X:02F0H SYMBOL CrcFlg
+ X:02F1H SYMBOL RdBuf
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 101
+
+
+ ------- DO
+ B:002AH.6 SYMBOL Result
+ X:02F3H SYMBOL i
+ X:02F4H SYMBOL TempBuf
+ X:0322H SYMBOL RdCrc
+ X:0323H SYMBOL timeoutcount
+ C:3237H SYMBOL RdErr
+ ------- ENDDO
+ C:30A4H LINE# 210
+ C:30AEH LINE# 211
+ C:30AEH LINE# 212
+ C:30B0H LINE# 215
+ C:30B5H LINE# 216
+ C:30BDH LINE# 218
+ C:30C2H LINE# 219
+ C:30C5H LINE# 221
+ C:30CAH LINE# 223
+ C:30D6H LINE# 224
+ C:30D6H LINE# 225
+ C:30DFH LINE# 226
+ C:30E2H LINE# 227
+ C:30F0H LINE# 228
+ C:30F0H LINE# 229
+ C:30F2H LINE# 230
+ C:30F5H LINE# 231
+ C:30F5H LINE# 233
+ C:30F7H LINE# 234
+ C:30FAH LINE# 235
+ C:3101H LINE# 236
+ C:3101H LINE# 237
+ C:3103H LINE# 238
+ C:3106H LINE# 239
+ C:3106H LINE# 241
+ C:310AH LINE# 242
+ C:310AH LINE# 243
+ C:3110H LINE# 244
+ C:3113H LINE# 245
+ C:311AH LINE# 246
+ C:311AH LINE# 247
+ C:311CH LINE# 248
+ C:311FH LINE# 249
+ C:311FH LINE# 250
+ C:311FH LINE# 252
+ C:3127H LINE# 253
+ C:312AH LINE# 254
+ C:3131H LINE# 255
+ C:3131H LINE# 256
+ C:3133H LINE# 257
+ C:3136H LINE# 258
+ C:3136H LINE# 271
+ C:3139H LINE# 272
+ C:3147H LINE# 273
+ C:3147H LINE# 274
+ C:3149H LINE# 275
+ C:314CH LINE# 276
+ C:314CH LINE# 278
+ C:3151H LINE# 279
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 102
+
+
+ C:3154H LINE# 280
+ C:315BH LINE# 281
+ C:315BH LINE# 282
+ C:315DH LINE# 283
+ C:3160H LINE# 284
+ C:3160H LINE# 286
+ C:3173H LINE# 287
+ C:3173H LINE# 288
+ C:3179H LINE# 289
+ C:3179H LINE# 290
+ C:317EH LINE# 291
+ C:317EH LINE# 292
+ C:3181H LINE# 293
+ C:3186H LINE# 294
+ C:3188H LINE# 296
+ C:3188H LINE# 297
+ C:318BH LINE# 298
+ C:3190H LINE# 299
+ C:3190H LINE# 300
+ C:319EH LINE# 301
+ C:31A8H LINE# 302
+ C:31AAH LINE# 304
+ C:31AAH LINE# 305
+ C:31ADH LINE# 306
+ C:31B2H LINE# 307
+ C:31C2H LINE# 308
+ C:31C2H LINE# 309
+ C:31CAH LINE# 311
+ C:31D2H LINE# 312
+ C:31D2H LINE# 313
+ C:31D5H LINE# 314
+ C:31DAH LINE# 315
+ C:31E0H LINE# 316
+ C:31F7H LINE# 317
+ C:31F7H LINE# 318
+ C:320AH LINE# 319
+ C:320AH LINE# 320
+ C:3223H LINE# 321
+ C:322DH LINE# 322
+ C:3235H LINE# 323
+ C:3235H LINE# 325
+ C:3235H LINE# 326
+ C:3237H LINE# 327
+ C:3237H LINE# 328
+ C:3237H LINE# 329
+ C:3237H LINE# 330
+ C:3237H LINE# 331
+ C:323AH LINE# 332
+ C:323FH LINE# 333
+ C:323FH LINE# 334
+ C:3242H LINE# 335
+ C:324CH LINE# 336
+ C:324CH LINE# 337
+ C:3256H LINE# 338
+ C:3258H LINE# 340
+ C:3258H LINE# 341
+ C:3258H LINE# 342
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 103
+
+
+ C:3258H LINE# 343
+ C:325AH LINE# 344
+ C:325AH LINE# 346
+ C:325CH LINE# 347
+ ------- ENDPROC _TWIREAD
+ ------- PROC TWIINIT
+ C:7241H LINE# 367
+ C:7241H LINE# 368
+ C:7241H LINE# 369
+ C:7244H LINE# 370
+ C:7247H LINE# 371
+ C:7249H LINE# 375
+ C:7249H LINE# 377
+ C:724CH LINE# 378
+ C:724FH LINE# 389
+ C:724FH LINE# 397
+ C:7252H LINE# 398
+ C:7255H LINE# 399
+ C:7257H LINE# 400
+ ------- ENDPROC TWIINIT
+ ------- ENDMOD TWI
+
+ ------- MODULE UART
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C4H PUBLIC UART0CR
+ D:00C0H PUBLIC P4
+ C:71DCH PUBLIC UART0Init
+ D:009DH PUBLIC SBRTH
+ D:0080H PUBLIC P5
+ D:009CH PUBLIC SBRTL
+ B:0098H.0 PUBLIC RI
+ B:0098H.1 PUBLIC TI
+ D:0099H PUBLIC SBUF
+ D:0087H PUBLIC PCON
+ D:0098H PUBLIC SCON
+ C:62E6H PUBLIC InterruptUART0
+ D:0086H PUBLIC INSCON
+ D:009BH PUBLIC SADEN
+ D:009AH PUBLIC SADDR
+ D:009EH PUBLIC SFINE
+ ------- PROC UART0INIT
+ C:71DCH LINE# 19
+ C:71DCH LINE# 20
+ C:71DCH LINE# 22
+ C:71DFH LINE# 84
+ C:71DFH LINE# 85
+ C:71E2H LINE# 86
+ C:71E5H LINE# 87
+ C:71E8H LINE# 88
+ C:71EBH LINE# 89
+ C:71EEH LINE# 90
+ C:71F1H LINE# 91
+ C:71F4H LINE# 92
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 104
+
+
+ C:71F7H LINE# 93
+ C:71F7H LINE# 94
+ ------- ENDPROC UART0INIT
+ ------- PROC INTERRUPTUART0
+ ------- DO
+ D:0007H SYMBOL RxData
+ ------- ENDDO
+ C:62E6H LINE# 103
+ C:6303H LINE# 107
+ C:6305H LINE# 108
+ C:6308H LINE# 110
+ C:630BH LINE# 111
+ C:630BH LINE# 112
+ C:630DH LINE# 113
+ C:630FH LINE# 114
+ C:6312H LINE# 115
+ C:6312H LINE# 117
+ C:6315H LINE# 118
+ C:6315H LINE# 119
+ C:6317H LINE# 120
+ C:631AH LINE# 121
+ C:631AH LINE# 123
+ C:631CH LINE# 124
+ ------- ENDPROC INTERRUPTUART0
+ ------- ENDMOD UART
+
+ ------- MODULE THERMISTOR
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ C:3DAAH PUBLIC NTC103AT
+ ------- ENDMOD THERMISTOR
+
+ ------- MODULE TWIIO
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ ------- ENDMOD TWIIO
+
+ ------- MODULE ?C_STARTUP
+ C:70EDH SEGMENT ?C_C51STARTUP
+ C:1000H PUBLIC ?C_STARTUP
+ N:00B2H SYMBOL CLKCON
+ D:0083H SYMBOL DPH
+ D:0082H SYMBOL DPL
+ C:70F3H SYMBOL FOR_EACH_IDATA
+ C:70FDH SYMBOL FOR_EACH_XDATA
+ D:0081H SYMBOL SP
+ C:70EDH SYMBOL STARTUP1
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 105
+
+
+ C:1000H LINE# 12
+ C:70EDH LINE# 18
+ C:70F0H LINE# 19
+ C:70F1H LINE# 22
+ C:70F3H LINE# 24
+ C:70F5H LINE# 25
+ C:70F6H LINE# 26
+ C:70F9H LINE# 28
+ C:70FAH LINE# 29
+ C:70FDH LINE# 31
+ C:70FEH LINE# 32
+ C:70FFH LINE# 33
+ C:7101H LINE# 34
+ C:7103H LINE# 35
+ C:7106H LINE# 36
+ C:7109H LINE# 37
+ C:710AH LINE# 38
+ ------- ENDMOD ?C_STARTUP
+
+ ------- MODULE GASGAUGEINTER_V4_13
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ X:0325H PUBLIC E2uiDsgCorrectVol
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ X:0327H PUBLIC Info_uiRSOC
+ X:0329H PUBLIC E2ulIdleSocTimes
+ X:032DH PUBLIC Info_uiRsocCnt
+ X:032FH PUBLIC E2ulChgerEndVol
+ X:0333H PUBLIC E2ucChgCurRatio
+ X:0334H PUBLIC Info_uiSocDecTime
+ X:0336H PUBLIC Info_ulTempDsgFcc
+ X:033AH PUBLIC E2ui_CYCLECOUNTA_B
+ X:033CH PUBLIC E2ui_CYCLECOUNTB_B
+ X:033EH PUBLIC E2uiTempFCC_K1
+ X:0340H PUBLIC E2uiTempFCC_K2
+ X:0342H PUBLIC E2uiChgEndTemp
+ X:0344H PUBLIC E2ucFccUpdatePercent
+ X:0345H PUBLIC Info_ulFCC
+ X:0349H PUBLIC E2ui_CYCLECOUNTA_K
+ X:034BH PUBLIC E2ui_CYCLECOUNTB_K
+ X:034DH PUBLIC E2ucChgCorrectSOC
+ X:034EH PUBLIC E2ucInitSocDif
+ X:034FH PUBLIC Info_ulVoltage
+ X:0353H PUBLIC E2uiDsgEndTemp
+ X:0355H PUBLIC E2ulLoadEndVol
+ X:0359H PUBLIC E2ucDsgCorrectSOC
+ X:035AH PUBLIC Info_ulDfilterRC
+ X:035EH PUBLIC E2uiUpdateCycleCount
+ X:0360H PUBLIC E2ucDsgVolDet
+ D:0015H PUBLIC uiCellVminG
+ X:0361H PUBLIC slAdcCur2
+ D:0017H PUBLIC uiCellVmaxG
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 106
+
+
+ X:0365H PUBLIC E2ucChgerEndDelay
+ X:0366H PUBLIC Info_uiCycleCount
+ X:0368H PUBLIC E2slDsgAdjMaxCurr
+ X:036CH PUBLIC E2ucDsgAdjLowFlg
+ X:036DH PUBLIC E2ucInitUpSoc
+ X:036EH PUBLIC E2uiDsgAdjLowTemp
+ X:0370H PUBLIC E2ucChgChangeSocRatio
+ X:0371H PUBLIC E2ucDsgAdjLowSoc
+ X:0372H PUBLIC E2uiTempFCC_B
+ X:0374H PUBLIC siCurCompens
+ X:0376H PUBLIC Info_uiTemp
+ X:0378H PUBLIC Info_ulRC
+ X:037CH PUBLIC E2ucChgChangeSocDif
+ C:2D1DH PUBLIC GasGaugeVarIn
+ X:037DH PUBLIC Info_slCurr
+ C:6337H PUBLIC GasGaugeVarOut
+ X:0381H PUBLIC E2uiChgCorrectVol
+ X:0383H PUBLIC E2ui_CYCLECOUNTA
+ X:0385H PUBLIC E2ui_CYCLECOUNTB
+ X:0387H PUBLIC E2ui_CYCLECOUNTC
+ X:0389H PUBLIC E2ucChgAdjRatio
+ X:038AH PUBLIC E2ucChg100Ratio
+ X:038BH PUBLIC E2ucFullDsgDelay
+ ------- PROC GASGAUGEVARIN
+ ------- DO
+ B:002AH.3 SYMBOL eabak
+ ------- ENDDO
+ C:2D1DH LINE# 114
+ C:2D1DH LINE# 115
+ C:2D1DH LINE# 118
+ C:2D21H LINE# 119
+ C:2D23H LINE# 120
+ C:2D32H LINE# 121
+ C:2D3EH LINE# 122
+ C:2D4AH LINE# 123
+ C:2D59H LINE# 124
+ C:2D65H LINE# 125
+ C:2D74H LINE# 126
+ C:2D85H LINE# 127
+ C:2D8BH LINE# 128
+ C:2D91H LINE# 130
+ C:2D9BH LINE# 131
+ C:2DA2H LINE# 133
+ C:2DA6H LINE# 135
+ C:2DACH LINE# 136
+ C:2DB2H LINE# 137
+ C:2DBAH LINE# 138
+ C:2DC4H LINE# 139
+ C:2DC9H LINE# 140
+ C:2DCEH LINE# 141
+ C:2DD4H LINE# 142
+ C:2DDEH LINE# 143
+ C:2DE5H LINE# 144
+ C:2DEFH LINE# 145
+ C:2DF5H LINE# 146
+ C:2E09H LINE# 147
+ C:2E0FH LINE# 148
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 107
+
+
+ C:2E15H LINE# 150
+ C:2E24H LINE# 151
+ C:2E2AH LINE# 152
+ C:2E42H LINE# 153
+ C:2E56H LINE# 154
+ C:2E5CH LINE# 155
+ C:2E62H LINE# 157
+ C:2E68H LINE# 158
+ C:2E6EH LINE# 159
+ C:2E74H LINE# 161
+ C:2E7EH LINE# 163
+ C:2E84H LINE# 164
+ C:2E8EH LINE# 165
+ C:2E98H LINE# 167
+ C:2EA1H LINE# 168
+ C:2EAAH LINE# 169
+ C:2EB3H LINE# 170
+ C:2EBCH LINE# 171
+ C:2EC5H LINE# 172
+ C:2ECEH LINE# 173
+ C:2ED8H LINE# 174
+ C:2EE1H LINE# 203
+ ------- ENDPROC GASGAUGEVARIN
+ ------- PROC GASGAUGEVAROUT
+ ------- DO
+ B:002AH.3 SYMBOL eabak
+ ------- ENDDO
+ C:6337H LINE# 211
+ C:6337H LINE# 212
+ C:6337H LINE# 215
+ C:633BH LINE# 216
+ C:633DH LINE# 217
+ C:634CH LINE# 218
+ C:6358H LINE# 219
+ C:6364H LINE# 220
+ C:6373H LINE# 221
+ C:6377H LINE# 222
+ C:637BH LINE# 223
+ C:6383H LINE# 224
+ C:6387H LINE# 252
+ ------- ENDPROC GASGAUGEVAROUT
+ ------- ENDMOD GASGAUGEINTER_V4_13
+
+ ------- MODULE BOOTAPP
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00C0H PUBLIC P4
+ D:0080H PUBLIC P5
+ B:00A8H.7 PUBLIC EA
+ C:71A3H PUBLIC ISPProcess
+ ------- PROC ISPPROCESS
+ C:71A3H LINE# 17
+ C:71A3H LINE# 18
+ C:71A3H LINE# 19
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 108
+
+
+ C:71AFH LINE# 20
+ C:71AFH LINE# 21
+ C:71B1H LINE# 22
+ C:71B3H LINE# 23
+ C:71B5H LINE# 24
+ C:71B7H LINE# 25
+ C:71B9H LINE# 26
+ C:71BCH LINE# 27
+ C:71BFH LINE# 28
+ C:71BFH LINE# 29
+ ------- ENDPROC ISPPROCESS
+ ------- ENDMOD BOOTAPP
+
+ ------- MODULE DATAFLASH
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:F800H PUBLIC dataflashstr
+ ------- ENDMOD DATAFLASH
+
+ ------- MODULE ?C?CLDPTR
+ C:2344H PUBLIC ?C?CLDPTR
+ ------- ENDMOD ?C?CLDPTR
+
+ ------- MODULE ?C?IMUL
+ C:235DH PUBLIC ?C?IMUL
+ ------- ENDMOD ?C?IMUL
+
+ ------- MODULE ?C?UIDIV
+ C:236FH PUBLIC ?C?UIDIV
+ ------- ENDMOD ?C?UIDIV
+
+ ------- MODULE ?C?IILDX
+ C:23C4H PUBLIC ?C?IILDX
+ ------- ENDMOD ?C?IILDX
+
+ ------- MODULE ?C?LADD
+ C:23DAH PUBLIC ?C?LADD
+ ------- ENDMOD ?C?LADD
+
+ ------- MODULE ?C?LSUB
+ C:23E7H PUBLIC ?C?LSUB
+ ------- ENDMOD ?C?LSUB
+
+ ------- MODULE ?C?LMUL
+ C:23F5H PUBLIC ?C?LMUL
+ ------- ENDMOD ?C?LMUL
+
+ ------- MODULE ?C?ULDIV
+ C:2480H PUBLIC ?C?ULDIV
+ ------- ENDMOD ?C?ULDIV
+
+ ------- MODULE ?C?SLDIV
+ C:6AC1H PUBLIC ?C?SLDIV
+ ------- ENDMOD ?C?SLDIV
+
+ ------- MODULE ?C?LOR
+ C:2512H PUBLIC ?C?LOR
+ ------- ENDMOD ?C?LOR
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 109
+
+
+
+ ------- MODULE ?C?LNEG
+ C:251FH PUBLIC ?C?LNEG
+ ------- ENDMOD ?C?LNEG
+
+ ------- MODULE ?C?SLCMP
+ C:252DH PUBLIC ?C?SLCMP
+ ------- ENDMOD ?C?SLCMP
+
+ ------- MODULE ?C?ULCMP
+ C:2543H PUBLIC ?C?ULCMP
+ ------- ENDMOD ?C?ULCMP
+
+ ------- MODULE ?C?ULSHR
+ C:2554H PUBLIC ?C?ULSHR
+ ------- ENDMOD ?C?ULSHR
+
+ ------- MODULE ?C?SLSHR
+ C:2567H PUBLIC ?C?SLSHR
+ ------- ENDMOD ?C?SLSHR
+
+ ------- MODULE ?C?LSHL
+ C:257BH PUBLIC ?C?LSHL
+ ------- ENDMOD ?C?LSHL
+
+ ------- MODULE ?C?LLDIDATA
+ C:258EH PUBLIC ?C?LLDIDATA
+ ------- ENDMOD ?C?LLDIDATA
+
+ ------- MODULE ?C?LLDXDATA
+ C:259AH PUBLIC ?C?LLDXDATA
+ ------- ENDMOD ?C?LLDXDATA
+
+ ------- MODULE ?C?LLDIDATA0
+ C:25A6H PUBLIC ?C?LLDIDATA0
+ ------- ENDMOD ?C?LLDIDATA0
+
+ ------- MODULE ?C?LLDXDATA0
+ C:25B3H PUBLIC ?C?LLDXDATA0
+ ------- ENDMOD ?C?LLDXDATA0
+
+ ------- MODULE ?C?LILDXDATA
+ C:25C8H PUBLIC ?C?LILDXDATA
+ C:25BFH PUBLIC ?C?LILDXDATA1
+ C:25C1H PUBLIC ?C?LILDXDATA8
+ ------- ENDMOD ?C?LILDXDATA
+
+ ------- MODULE ?C?LSTIDATA
+ C:25F4H PUBLIC ?C?LSTIDATA
+ ------- ENDMOD ?C?LSTIDATA
+
+ ------- MODULE ?C?LSTXDATA
+ C:2600H PUBLIC ?C?LSTXDATA
+ ------- ENDMOD ?C?LSTXDATA
+
+ ------- MODULE ?C?LSTKIDATA
+ C:260CH PUBLIC ?C?LSTKIDATA
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 110
+
+
+ ------- ENDMOD ?C?LSTKIDATA
+
+ ------- MODULE ?C?LSTKXDATA
+ C:2625H PUBLIC ?C?LSTKXDATA
+ ------- ENDMOD ?C?LSTKXDATA
+
+ ------- MODULE ?C?OFFXADD
+ C:2656H PUBLIC ?C?OFFXADD
+ ------- ENDMOD ?C?OFFXADD
+
+ ------- MODULE ?C?CCASE
+ C:2662H PUBLIC ?C?CCASE
+ ------- ENDMOD ?C?CCASE
+
+ ------- MODULE ?C?LIMUL
+ C:2688H PUBLIC ?C?LIMUL
+ ------- ENDMOD ?C?LIMUL
+
+
+
+FUNCTION REGISTER MASKS
+
+
+FUNCTION . . . . . . . . . REG MASK
+-----------------------------------
+
+AFEADCDIS. . . . . . . . . @0xf7ff
+AFEADCEN . . . . . . . . . @0xf7ff
+AFECADCDIS . . . . . . . . @0xf7ff
+AFECADCEN. . . . . . . . . @0xf7ff
+AFECHGERCHECKDIS . . . . . @0xf7ff
+AFECHGERCHECKEN. . . . . . @0xf7ff
+AFECLRFLG. . . . . . . . . @0xf7ff
+AFEENTERPD . . . . . . . . @0xf7ff
+AFEGETTEMPE. . . . . . . . @0xf7ff
+AFEGETVOL. . . . . . . . . @0xf7ff
+AFEINIT. . . . . . . . . . @0xf7ff
+AFELOADCHECKDIS. . . . . . @0xf7ff
+AFELOADCHECKEN . . . . . . @0xf7ff
+AFERAMCHECK. . . . . . . . @0xf7ff
+AFERDFLG . . . . . . . . . @0xf7ff
+AFERDSTATUS. . . . . . . . @0xf7ff
+AFETEMPADCDIS. . . . . . . @0xf7ff
+AFETEMPADCEN . . . . . . . @0xf7ff
+AFETWICHECK. . . . . . . . @0xf300
+AFEWDTDIS. . . . . . . . . @0xf7ff
+AFEWDTEN . . . . . . . . . @0xf7ff
+BALPROCESS . . . . . . . . @0xf7ff
+CALICURZERO. . . . . . . . @0xe301
+CALIRTCTIME. . . . . . . . @0xf7ff
+CHGERCHECK . . . . . . . . @0xf7ff
+CTOCHECKVOL. . . . . . . . @0xf300
+CTOTURNONCHECK . . . . . . @0xf300
+E2PROMBKBOOT . . . . . . . @0xf7ff
+E2PROMINIT . . . . . . . . @0xf7ff
+E2PROMTWICHECK . . . . . . @0xf300
+GASGAUGEVARIN. . . . . . . @0xffbf
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 111
+
+
+GASGAUGEVAROUT . . . . . . @0xff8f
+INITGPIO . . . . . . . . . @0xc000
+INITIRQ. . . . . . . . . . @0xe000
+INITVAR. . . . . . . . . . @0xf797
+INTERRUPTINT4. . . . . . . @0xf003
+INTERRUPTTIMER3. . . . . . @0xf300
+INTERRUPTTIMER3APP . . . . @0xf300
+INTERRUPTUART0APPTX. . . . @0xf38f
+KEYSCAN. . . . . . . . . . @0xf000
+LEDAUTOOFF . . . . . . . . @0xf300
+LEDDISPLAY . . . . . . . . @0xf303
+LOADCHECK. . . . . . . . . @0xf7ff
+LOWPOWERCHECK. . . . . . . @0xf301
+LOWPOWERPROCESS. . . . . . @0xf7ff
+MCUFLASHPROCESS. . . . . . @0xf7bf
+MCUFLASHWRWAITCHECK. . . . @0xf300
+MCUINTOIDLE. . . . . . . . @0xc000
+MCUINTOPD. . . . . . . . . @0xc000
+MOSCTRL. . . . . . . . . . @0xf7ff
+MOSSTATUSCHECK . . . . . . @0xc000
+PORPROTECTOTC. . . . . . . @0xf78f
+PORPROTECTOTD. . . . . . . @0xf78f
+PORPROTECTOV . . . . . . . @0xf782
+PORPROTECTUTC. . . . . . . @0xf78f
+PORPROTECTUTD. . . . . . . @0xf78f
+PORPROTECTUV . . . . . . . @0xf782
+PROTECTOCRECOVER . . . . . @0xf7ff
+PROTECTOTC . . . . . . . . @0xf7af
+PROTECTOTD . . . . . . . . @0xf7af
+PROTECTOV. . . . . . . . . @0xf7ff
+PROTECTUTC . . . . . . . . @0xf7af
+PROTECTUTD . . . . . . . . @0xf7af
+PROTECTUV. . . . . . . . . @0xf78b
+RAMCHECKPROCESS. . . . . . @0xf300
+RTCTWICHECK. . . . . . . . @0xf300
+SYSPARAINIT. . . . . . . . @0xffbf
+SYSTEMINTOPD . . . . . . . @0xf7ff
+SYSTEMINTOSLEEP. . . . . . @0xf7ff
+TWIINIT. . . . . . . . . . @0xe000
+UART0CALICUROFFSET . . . . @0xf375
+UART0CALIRTC . . . . . . . @0xf377
+UART0CALITS1 . . . . . . . @0xf377
+UART0CALITS2 . . . . . . . @0xf377
+UART0CALIVOLTAGE . . . . . @0xf377
+UART0CHECK . . . . . . . . @0xf300
+UART0HANDSHAKE . . . . . . @0xe300
+UART0IAPCHECKHANDSHAKE . . @0xf7bf
+UART0INIT. . . . . . . . . @0xe000
+UART0RDCMDPROCESS. . . . . @0xf3ff
+UART0RDE2PROM. . . . . . . @0xf7ff
+UART0READSUBCLASSID. . . . @0xf375
+UART0WRITEMANUFACTURE. . . @0xf375
+UART1RDE2PROM. . . . . . . @0xf7ff
+UART2RDE2PROM. . . . . . . @0xf7ff
+WAKEUPPROCESS. . . . . . . @0xf7ff
+_AFEALARMDIS . . . . . . . @0xf7ff
+_AFEALARMEN. . . . . . . . @0xf7ff
+BL51 BANKED LINKER/LOCATER V6.22 12/22/2023 17:44:05 PAGE 112
+
+
+_AFEBALCTL . . . . . . . . @0xf7ff
+_AFEMOSCTL . . . . . . . . @0xf7ff
+_AFEREADREG. . . . . . . . @0xf7ff
+_AFEWRITEREG . . . . . . . @0xf7ff
+_CRC8CAL . . . . . . . . . @0xf365
+_DELAY1MS. . . . . . . . . @0xf03e
+_E2PROMREAD. . . . . . . . @0xf7ff
+_E2PROMWRITE . . . . . . . @0xf7ff
+_GETCYCLEGAIN. . . . . . . @0xf7cf
+_INTERRUPTINT4APP. . . . . @0xf003
+_LEDGETDISNUM. . . . . . . @0xf001
+_MCUCLOCKSET . . . . . . . @0xf003
+_MCUFLASHBLANKCHECK. . . . @0xf31c
+_MCUFLASHCHECKFLG. . . . . @0xf303
+_MCUFLASHDATACHECK . . . . @0xf7af
+_MCUFLASHREAD. . . . . . . @0xf307
+_MCUFLASHWRITE . . . . . . @0xf7bf
+_MCUFLASHWRONEBYTE . . . . @0xf035
+_MCUFLASHWRSECTOR. . . . . @0xf33f
+_MEMORYCOPY. . . . . . . . @0xf78d
+_MEMORYSET . . . . . . . . @0xf781
+_RTCMODIFYTIME . . . . . . @0xf7ff
+_RTCREAD . . . . . . . . . @0xf7ff
+_RTCWRITE. . . . . . . . . @0xf7ff
+_TWICHECKSTATUS. . . . . . @0xf00c
+_TWIREAD . . . . . . . . . @0xf7ff
+_TWIWRITE. . . . . . . . . @0xf7ff
+_UART0READINFO . . . . . . @0xf37f
+_UART0WRITEINFO. . . . . . @0xf7ff
+
+Program Size: data=151.4 xdata=1528 code=26615
+LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/McuLib.lst b/output/McuLib.lst
new file mode 100644
index 0000000..2376f5b
--- /dev/null
+++ b/output/McuLib.lst
@@ -0,0 +1,386 @@
+C51 COMPILER V9.01 MCULIB 02/06/2025 15:28:45 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE MCULIB
+OBJECT MODULE PLACED IN .\output\McuLib.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\McuLib.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load
+ -.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\cod
+ -e_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\McuLib.lst) OBJECT(.\output\McuLi
+ -b.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12
+ 13 /*************************************************************************************************
+ 14 * 函数名: McuTimer3Set
+ 15 * 参 数: ClkSource: 定时器的基准源(分别为32KHz,128KHz,24MHz的系统时钟)
+ 16 XmS,定时器周期(当周期小于1000mS时,可选择以上三个时钟;当周期大于1000mS时,只能选择32KHz和128K
+ -Hz)
+ 17 * 返回值: 无
+ 18 * 描 述: 初始化Timer3定时器,并开启定时器
+ 19 *************************************************************************************************/
+ 20 void McuTimer3Set(U8 ClkSource, U16 XmS)
+ 21 {
+ 22 1 U16 TempVal;
+ 23 1
+ 24 1 McuBank1Sel();
+ 25 1
+ 26 1 // if(ClkSource == TIM_CLK_32KHz)
+ 27 1 // {
+ 28 1 // if(XmS < 1000)
+ 29 1 // {
+ 30 1 // T3CON = 0x02; //外部32.768kHz为时钟源,1分频,最大2S
+ 31 1 // TempVal = (U32)0x10000 - (U32)32.768*XmS;
+ 32 1 // }
+ 33 1 // else
+ 34 1 // {
+ 35 1 // T3CON = 0x22; //外部32.768kHz为时钟源,64分频,最大128s
+ 36 1 // TempVal = 0x10000 - (U32)32.768*XmS/64;
+ 37 1 // }
+ 38 1 // }
+ 39 1 // else if(ClkSource == TIM_CLK_128KHz)
+ 40 1 // {
+ 41 1 // if(XmS < 4000)
+ 42 1 // {
+ 43 1 // T3CON = 0x12; //外部128kHz为时钟源,8分频,最大4.096S
+ 44 1 // TempVal = 0x10000 - (U32)128*XmS/8;
+ 45 1 // }
+ 46 1 // else
+ 47 1 // {
+ 48 1 // T3CON = 0x32; //外部128kHz为时钟源,256分频,最大131.072S
+ 49 1 // TempVal = 0x10000 - (U32)128*XmS/256;
+ 50 1 // }
+ 51 1 // }
+C51 COMPILER V9.01 MCULIB 02/06/2025 15:28:45 PAGE 2
+
+ 52 1 // else if(ClkSource == TIM_CLK_24MHz)
+ 53 1 // {
+ 54 1 // if(XmS < 500)
+ 55 1 // {
+ 56 1 // T3CON = 0x30; //系统24MHz为时钟源,256分频,最大669.5ms
+ 57 1 // TempVal = 0x10000 - (U32)24000*XmS/256;
+ 58 1 // }
+ 59 1 // else
+ 60 1 // {
+ 61 1 // T3CON = 0x32; //外部128kHz为时钟源,256分频,最大131.072S
+ 62 1 // TempVal = 0x10000 - (U32)128*XmS/256;
+ 63 1 // }
+ 64 1 // }
+ 65 1
+ 66 1 //8MHz晶振
+ 67 1 T3CON = 0x30; //系统8MHz为时钟源,256分频,最大669.5ms
+ 68 1 TempVal = 0x10000 - (U32)8000*XmS/256;
+ 69 1
+ 70 1 TL3 = TempVal;
+ 71 1 TH3 = TempVal>>8;
+ 72 1 TR3 = 1; //启动定时器3
+ 73 1
+ 74 1 McuBank0Sel();
+ 75 1 }
+*** WARNING C280 IN LINE 20 OF CODE_DRV\MCULIB.C: 'ClkSource': unreferenced local variable
+ 76
+ 77
+ 78 /*************************************************************************************************
+ 79 * 函数名: McuClockSet
+ 80 * 参 数: SysClock:当前所需设置的系统时钟
+ 81 * 返回值: 无
+ 82 * 描 述: 初始化AFE
+ 83 *************************************************************************************************/
+ 84 void McuClockSet(U8 SysClock)
+ 85 {
+ 86 1 U8 ea;
+ 87 1
+ 88 1 ea = EA;
+ 89 1 EA = 0;
+ 90 1
+ 91 1 CLKCON |= 0x08; //SETB HFON
+ 92 1
+ 93 1 _nop_();
+ 94 1 _nop_();
+ 95 1 _nop_();
+ 96 1 _nop_();
+ 97 1 _nop_();
+ 98 1 _nop_();
+ 99 1 _nop_();
+ 100 1 _nop_();
+ 101 1
+ 102 1 CLKCON &= 0x60;
+ 103 1
+ 104 1 CLKCON |= 0x04; //SETB FS, SYSCLK=24M
+ 105 1
+ 106 1 EA = ea;
+ 107 1 }
+*** WARNING C280 IN LINE 84 OF CODE_DRV\MCULIB.C: 'SysClock': unreferenced local variable
+ 108
+ 109
+ 110 /*************************************************************************************************
+ 111 * 函数名: McuPWM0Set、McuPWM1Set、McuPWM2Set
+C51 COMPILER V9.01 MCULIB 02/06/2025 15:28:45 PAGE 3
+
+ 112 * 参 数: PwmFreq:PWM的频率Hz;DutyRatio:PWM的高电平占空比
+ 113 * 返回值: 无
+ 114 * 描 述: 初始化AFE
+ 115 *************************************************************************************************/
+ 116 void McuPWM0Set(U16 PwmFreq, U8 DutyRatio)
+ 117 {
+ 118 1 PWM0CON = 0xb0; //系统时钟/64
+ 119 1 PWM0PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq);
+ 120 1 PWM0PH = (375000/PwmFreq) >> 8;
+ 121 1 PWM0DL = (U16)(PWM0PL+PWM0PH*256)*DutyRatio/100;
+ 122 1 PWM0DH = ((U16)(PWM0PL+PWM0PH*256)*DutyRatio/100) >> 8;
+ 123 1 }
+ 124
+ 125 void McuPWM1Set(U16 PwmFreq, U8 DutyRatio)
+ 126 {
+ 127 1 PWM1CON = 0xb0; //系统时钟/64
+ 128 1 PWM1PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq);
+ 129 1 PWM1PH = (375000/PwmFreq) >> 8;
+ 130 1 PWM1DL = (U16)(PWM1PL+(U16)PWM1PH*256)*DutyRatio/100;
+ 131 1 PWM1DH = ((U16)(PWM1PL+(U16)PWM1PH*256)*DutyRatio/100) >> 8;
+ 132 1 }
+ 133
+ 134 void McuPWM2Set(U16 PwmFreq, U8 DutyRatio)
+ 135 {
+ 136 1 PWM2CON = 0xb0; //系统时钟/64
+ 137 1 PWM2PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq);
+ 138 1 PWM2PH = (375000/PwmFreq) >> 8;
+ 139 1 PWM2DL = (U16)(PWM2PL+(U16)PWM2PH*256)*DutyRatio/100;
+ 140 1 PWM2DH = ((U16)(PWM2PL+(U16)PWM2PH*256)*DutyRatio/100) >> 8;
+ 141 1 }
+ 142
+ 143
+ 144 /*************************************************************************************************
+ 145 * 函数名: Delay1ms
+ 146 * 参 数: Xms:延迟多少mS
+ 147 * 返回值: 无
+ 148 * 描 述: 延时函数,单位为1mS
+ 149 特别注意该函数的延时准确性问题,在不同优化等级时,反汇编不同造成延时不一致,实测如下:
+ 150 1.当配置选项里的代码优化等级设置为3时,j=1670,若禁止所有中断,则实际延时为3.484ms,不禁止中断则受中断影响
+ -,达到3.804ms
+ 151 2.当配置选项里的代码优化等级设置为3时,j=480,若禁止所有中断,则实际延时为1.010ms,不禁止中断则受中断影响
+ -锏1.104ms
+ 152 3.当配置选项里的代码优化等级设置为7时,j=1670,若禁止所有中断,则实际延时为1.002ms,不禁止中断则受中断影响
+ -,达到1.090ms
+ 153 *************************************************************************************************/
+ 154 void Delay1ms(U8 Xms)
+ 155 {
+ 156 1 U8 i;
+ 157 1 U16 j, Tcnt;
+ 158 1
+ 159 1 if((CLKCON&0x70) == MCU_CLK_24MHz)
+ 160 1 {
+ 161 2 Tcnt = 1670;
+ 162 2 }
+ 163 1 else if((CLKCON&0x70) == MCU_CLK_12MHz)
+ 164 1 {
+ 165 2 Tcnt = 1670/2;
+ 166 2 }
+ 167 1 else if((CLKCON&0x70) == MCU_CLK_6MHz)
+ 168 1 {
+ 169 2 Tcnt = 1670/4;
+ 170 2 }
+C51 COMPILER V9.01 MCULIB 02/06/2025 15:28:45 PAGE 4
+
+ 171 1 else //2MHz
+ 172 1 {
+ 173 2 Tcnt = 1670/12;
+ 174 2 }
+ 175 1
+ 176 1
+ 177 1 for(i=0; i E2uiOVvol)
+ 25 2 {
+ 26 3 if(++uiOVDelayCnt >= TIME_50mS_50mS)
+ 27 3 {
+ 28 4 bOV = 1;
+ 29 4 uiOVDelayCnt = 0;
+ 30 4 }
+ 31 3 }
+ 32 2 else if(uiCellVmax < E2uiOVRvol)
+ 33 2 {
+ 34 3 uiOVDelayCnt = 0;
+ 35 3 }
+ 36 2 }
+ 37 1 }
+ 38
+ 39
+ 40 /*************************************************************************************************
+ 41 * 函数名: PorProtectUV
+ 42 * 参 数: 无
+ 43 * 返回值: 无
+ 44 * 描 述: 单节电芯欠压保护检测,保护后置位bUV为1
+ 45 *************************************************************************************************/
+ 46 void PorProtectUV(void)
+ 47 {
+ 48 1 if(!bUV)
+ 49 1 {
+ 50 2 if(uiCellVmin < E2uiUVvol)
+ 51 2 {
+ 52 3 if(++uiUVDelayCnt >= TIME_50mS_50mS)
+C51 COMPILER V9.01 PORSELFTEST 02/06/2025 15:28:46 PAGE 2
+
+ 53 3 {
+ 54 4 bUV = 1;
+ 55 4 uiUVDelayCnt = 0;
+ 56 4 }
+ 57 3 }
+ 58 2 else if(uiCellVmin > E2uiUVRvol)
+ 59 2 {
+ 60 3 uiUVDelayCnt = 0;
+ 61 3 }
+ 62 2 }
+ 63 1 }
+ 64
+ 65
+ 66 /*************************************************************************************************
+ 67 * 函数名: PorProtectOTC
+ 68 * 参 数: 无
+ 69 * 返回值: 无
+ 70 * 描 述: 充电高温保护检测,保护后置位bOTC为1
+ 71 *************************************************************************************************/
+ 72 void PorProtectOTC(void)
+ 73 {
+ 74 1 if(!bOTC)
+ 75 1 {
+ 76 2 if(uiTempeMax > E2uiTempOTC)
+ 77 2 {
+ 78 3 if(++uiOTCDelayCnt >= TIME_50mS_50mS)
+ 79 3 {
+ 80 4 bOTC = 1;
+ 81 4 uiOTCDelayCnt = 0;
+ 82 4 }
+ 83 3 }
+ 84 2 else if(uiTempeMax < E2uiTempOTCR)
+ 85 2 {
+ 86 3 uiOTCDelayCnt = 0;
+ 87 3 }
+ 88 2 }
+ 89 1 }
+ 90
+ 91
+ 92 /*************************************************************************************************
+ 93 * 函数名: PorProtectUTC
+ 94 * 参 数: 无
+ 95 * 返回值: 无
+ 96 * 描 述: 充电低温保护检测,保护后置位bUTC为1
+ 97 *************************************************************************************************/
+ 98 void PorProtectUTC(void)
+ 99 {
+ 100 1 if(!bUTC)
+ 101 1 {
+ 102 2 if(uiTempeMin < E2uiTempUTC)
+ 103 2 {
+ 104 3 if(++uiUTCDelayCnt >= TIME_50mS_50mS)
+ 105 3 {
+ 106 4 bUTC = 1;
+ 107 4 uiUTCDelayCnt = 0;
+ 108 4 }
+ 109 3 }
+ 110 2 else if(uiTempeMin > E2uiTempUTCR)
+ 111 2 {
+ 112 3 uiUTCDelayCnt = 0;
+ 113 3 }
+ 114 2 }
+C51 COMPILER V9.01 PORSELFTEST 02/06/2025 15:28:46 PAGE 3
+
+ 115 1 }
+ 116
+ 117
+ 118 /*************************************************************************************************
+ 119 * 函数名: PorProtectOTD
+ 120 * 参 数: 无
+ 121 * 返回值: 无
+ 122 * 描 述: 放电高温保护检测,保护后置位bOTD为1
+ 123 *************************************************************************************************/
+ 124 void PorProtectOTD(void)
+ 125 {
+ 126 1 if(!bOTD)
+ 127 1 {
+ 128 2 if(uiTempeMax > E2uiTempOTD)
+ 129 2 {
+ 130 3 if(++uiOTDDelayCnt >= TIME_50mS_50mS)
+ 131 3 {
+ 132 4 bOTD = 1;
+ 133 4 uiOTDDelayCnt = 0;
+ 134 4 }
+ 135 3 }
+ 136 2 else if(uiTempeMax < E2uiTempOTDR)
+ 137 2 {
+ 138 3 uiOTDDelayCnt = 0;
+ 139 3 }
+ 140 2 }
+ 141 1 }
+ 142
+ 143
+ 144 /*************************************************************************************************
+ 145 * 函数名: PorProtectUTD
+ 146 * 参 数: 无
+ 147 * 返回值: 无
+ 148 * 描 述: 放电低温保护检测,保护后置位bUTD为1
+ 149 *************************************************************************************************/
+ 150 void PorProtectUTD(void)
+ 151 {
+ 152 1 if(!bUTD)
+ 153 1 {
+ 154 2 if(uiTempeMin < E2uiTempUTD)
+ 155 2 {
+ 156 3 if(++uiUTDDelayCnt >= TIME_50mS_50mS)
+ 157 3 {
+ 158 4 bUTD = 1;
+ 159 4 uiUTDDelayCnt = 0;
+ 160 4 }
+ 161 3 }
+ 162 2 else if(uiTempeMin > E2uiTempUTDR)
+ 163 2 {
+ 164 3 uiUTDDelayCnt = 0;
+ 165 3 }
+ 166 2 }
+ 167 1 }
+ 168
+ 169
+ 170 /*************************************************************************************************
+ 171 * 函数名: ProtectProcess
+ 172 * 参 数: 无
+ 173 * 返回值: 无
+ 174 * 描 述: 第一次上电时的自检,持续100mS,上电自检最快完成时间为50mS
+ 175 *************************************************************************************************/
+ 176 void PorSelfTest(void)
+C51 COMPILER V9.01 PORSELFTEST 02/06/2025 15:28:46 PAGE 4
+
+ 177 {
+ 178 1 if(bPorSelfTestFlg)
+ 179 1 {
+ 180 2 AfeCalcuVol(); //第一次上电50mS后自动读取电压数据和温度数据
+ 181 2 AfeCalcuTempe();
+ 182 2 PorProtectOV(); //检测过压保护及其释放
+ 183 2 PorProtectUV(); //检测欠压保护及其释放
+ 184 2
+ 185 2 PorProtectOTC(); //检测充电高温保护及其释放
+ 186 2 PorProtectUTC(); //检测充电低温保护及其释放
+ 187 2 PorProtectOTD(); //检测放电高温保护及其释放
+ 188 2 PorProtectUTD(); //检测放电低温保护及其释放
+ 189 2
+ 190 2 if(++ucPorSelfTestDelayCnt >= TIME_50mS_100mS) //如果需要最快自检完成,则将TIME_50mS_100mS修改
+ -猅IME_50mS_50mS
+ 191 2 {
+ 192 3 bPorSelfTestFlg = 0; //1S自检结束后根据当前状态确定是否进入PD或者是否开
+ -豈OS
+ 193 3 if(bAfeErr || bE2PRErr || bRTCErr || bMcuFlashErr)
+ 194 3 {
+ 195 4 bPDFlg = 1;
+ 196 4 }
+ 197 3 else
+ 198 3 {
+ 199 4 GasGaugeInit(); //计算电量值
+ 200 4 }
+ 201 3 }
+ 202 2 }
+ 203 1 }
+ 204
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 519 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 1 ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = 1 ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/PorSelfTest.obj b/output/PorSelfTest.obj
new file mode 100644
index 0000000..65f19ea
Binary files /dev/null and b/output/PorSelfTest.obj differ
diff --git a/output/Protect.lst b/output/Protect.lst
new file mode 100644
index 0000000..7195467
--- /dev/null
+++ b/output/Protect.lst
@@ -0,0 +1,507 @@
+C51 COMPILER V9.01 PROTECT 02/06/2025 15:28:46 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE PROTECT
+OBJECT MODULE PLACED IN .\output\Protect.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\Protect.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Loa
+ -d.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\co
+ -de_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Protect.lst) OBJECT(.\output\Pro
+ -tect.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 //保护相关的参数
+ 13 BOOL bUVLock; //负载锁定,当欠压恢复后,置位该标志,而不是直接清零bUV,当负载释放后
+ -偾辶鉨UV
+ 14 BOOL bOVLock; //充电器锁定,当过压恢复后,置位该标志,而不是直接清零bOV,当充电器释
+ -藕螅偾辶鉨OV
+ 15 U16 xdata uiOVDelayCnt;
+ 16 U16 xdata uiOVRDelayCnt;
+ 17 U16 xdata uiUVDelayCnt;
+ 18 U16 xdata uiUVRDelayCnt;
+ 19 U16 xdata uiOTCDelayCnt;
+ 20 U16 xdata uiOTCRDelayCnt;
+ 21 U16 xdata uiUTCDelayCnt;
+ 22 U16 xdata uiUTCRDelayCnt;
+ 23 U16 xdata uiOTDDelayCnt;
+ 24 U16 xdata uiOTDRDelayCnt;
+ 25 U16 xdata uiUTDDelayCnt;
+ 26 U16 xdata uiUTDRDelayCnt;
+ 27 U16 xdata uiOCCDelayCnt;
+ 28 U16 xdata uiOCD1DelayCnt;
+ 29 U16 xdata uiOCD2DelayCnt;
+ 30 U16 xdata uiOCCRcnt;
+ 31 U16 xdata uiOCDRcnt;
+ 32
+ 33 /*************************************************************************************************
+ 34 * 函数名: ProtectOV
+ 35 * 参 数: 无
+ 36 * 返回值: 无
+ 37 * 描 述: 单节电池过压保护检测,过压后置位bOV为1
+ 38 *************************************************************************************************/
+ 39 void ProtectOV(void)
+ 40 {
+ 41 1 if(!(bOV||bAFE_OV))
+ 42 1 {
+ 43 2 if(uiCellVmax > E2uiOVvol)
+ 44 2 {
+ 45 3 if(++uiOVDelayCnt >= OV_DELAY_CNT)
+ 46 3 {
+ 47 4 bOV = 1;
+ 48 4 bOVLock = 0;
+ 49 4 uiOVDelayCnt = 0;
+ 50 4 uiOVRDelayCnt = 0;
+C51 COMPILER V9.01 PROTECT 02/06/2025 15:28:46 PAGE 2
+
+ 51 4 }
+ 52 3 }
+ 53 2 else if(uiCellVmax < E2uiOVRvol)
+ 54 2 {
+ 55 3 uiOVDelayCnt = 0;
+ 56 3 }
+ 57 2 }
+ 58 1 else if(!bOVLock)
+ 59 1 {
+ 60 2 if(uiCellVmax < E2uiOVRvol)
+ 61 2 {
+ 62 3 if(++uiOVRDelayCnt >= OVR_DELAY_CNT)
+ 63 3 {
+ 64 4 if(bChgerLock)
+ 65 4 {
+ 66 5 bOVLock = 1; //过压阈值恢复,但是还需检测负载释放释放
+ 67 5 bChgerStartCheckFlg = 1; //开启充电器
+ 68 5 }
+ 69 4 else
+ 70 4 {
+ 71 5 bOV = 0;
+ 72 5 bAFE_OV = 0;
+ 73 5 AFEClrFlg();
+ 74 5 }
+ 75 4 uiOVDelayCnt = 0;
+ 76 4 uiOVRDelayCnt = 0;
+ 77 4 }
+ 78 3 }
+ 79 2 else if(uiCellVmax > E2uiOVvol)
+ 80 2 {
+ 81 3 uiOVRDelayCnt = 0;
+ 82 3 }
+ 83 2 }
+ 84 1 }
+ 85
+ 86 /*************************************************************************************************
+ 87 * 函数名: ProtectUV
+ 88 * 参 数: 无
+ 89 * 返回值: 无
+ 90 * 描 述: 单节电芯欠压保护检测,保护后置位bUV为1
+ 91 *************************************************************************************************/
+ 92 void ProtectUV(void)
+ 93 {
+ 94 1 if(!bUV)
+ 95 1 {
+ 96 2 if(uiCellVmin < E2uiUVvol)
+ 97 2 {
+ 98 3 if(++uiUVDelayCnt >= UV_DELAY_CNT)
+ 99 3 {
+ 100 4 bUV = 1;
+ 101 4 bUVLock = 0;
+ 102 4 uiUVDelayCnt = 0;
+ 103 4 uiUVRDelayCnt = 0;
+ 104 4 }
+ 105 3 }
+ 106 2 else if(uiCellVmin > E2uiUVRvol)
+ 107 2 {
+ 108 3 uiUVDelayCnt = 0;
+ 109 3 }
+ 110 2 }
+ 111 1 else if(!bUVLock)
+ 112 1 {
+C51 COMPILER V9.01 PROTECT 02/06/2025 15:28:46 PAGE 3
+
+ 113 2 if(uiCellVmin > E2uiUVRvol)
+ 114 2 {
+ 115 3 if(++uiUVRDelayCnt >= UVR_DELAY_CNT)
+ 116 3 {
+ 117 4 if(bLoadLock) //如果支持负载锁定,则不立刻清UV标志,需要负载释放后再清零
+ 118 4 {
+ 119 5 bUVLock = 1; //欠压阈值恢复,但是还需检测负载释放释放
+ 120 5 bLoadStartCheckFlg = 1; //开启负载检测
+ 121 5 }
+ 122 4 else
+ 123 4 {
+ 124 5 bUV = 0;
+ 125 5 }
+ 126 4 uiUVDelayCnt = 0;
+ 127 4 uiUVRDelayCnt = 0;
+ 128 4 }
+ 129 3 }
+ 130 2 else if(uiCellVmin < E2uiUVvol)
+ 131 2 {
+ 132 3 uiUVRDelayCnt = 0;
+ 133 3 }
+ 134 2 }
+ 135 1 }
+ 136
+ 137 /*************************************************************************************************
+ 138 * 函数名: ProtectOTC
+ 139 * 参 数: 无
+ 140 * 返回值: 无
+ 141 * 描 述: 充电高温保护检测,保护后置位bOTC为1
+ 142 *************************************************************************************************/
+ 143 void ProtectOTC(void)
+ 144 {
+ 145 1 if(!bOTC)
+ 146 1 {
+ 147 2 if(uiTempeMax > E2uiTempOTC)
+ 148 2 {
+ 149 3 if(++uiOTCDelayCnt >= TEMPE_DELAY_CNT)
+ 150 3 {
+ 151 4 bOTC = 1;
+ 152 4 uiOTCDelayCnt = 0;
+ 153 4 uiOTCRDelayCnt = 0;
+ 154 4 }
+ 155 3 }
+ 156 2 else if(uiTempeMax < E2uiTempOTCR)
+ 157 2 {
+ 158 3 uiOTCDelayCnt = 0;
+ 159 3 }
+ 160 2 }
+ 161 1 else
+ 162 1 {
+ 163 2 if(uiTempeMax < E2uiTempOTCR)
+ 164 2 {
+ 165 3 if(++uiOTCRDelayCnt >= TEMPER_DELAY_CNT)
+ 166 3 {
+ 167 4 bOTC = 0;
+ 168 4 uiOTCDelayCnt = 0;
+ 169 4 uiOTCRDelayCnt = 0;
+ 170 4 }
+ 171 3 }
+ 172 2 else if(uiTempeMax > E2uiTempOTC)
+ 173 2 {
+ 174 3 uiOTCRDelayCnt = 0;
+C51 COMPILER V9.01 PROTECT 02/06/2025 15:28:46 PAGE 4
+
+ 175 3 }
+ 176 2 }
+ 177 1 }
+ 178
+ 179
+ 180 /*************************************************************************************************
+ 181 * 函数名: ProtectUTC
+ 182 * 参 数: 无
+ 183 * 返回值: 无
+ 184 * 描 述: 充电低温保护检测,保护后置位bUTC为1
+ 185 *************************************************************************************************/
+ 186 void ProtectUTC(void)
+ 187 {
+ 188 1 if(!bUTC)
+ 189 1 {
+ 190 2 if(uiTempeMin < E2uiTempUTC)
+ 191 2 {
+ 192 3 if(++uiUTCDelayCnt >= TEMPE_DELAY_CNT)
+ 193 3 {
+ 194 4 bUTC = 1;
+ 195 4 uiUTCDelayCnt = 0;
+ 196 4 uiUTCRDelayCnt = 0;
+ 197 4 }
+ 198 3 }
+ 199 2 else if(uiTempeMin > E2uiTempUTCR)
+ 200 2 {
+ 201 3 uiUTCDelayCnt = 0;
+ 202 3 }
+ 203 2 }
+ 204 1 else
+ 205 1 {
+ 206 2 if(uiTempeMin > E2uiTempUTCR)
+ 207 2 {
+ 208 3 if(++uiUTCRDelayCnt >= TEMPER_DELAY_CNT)
+ 209 3 {
+ 210 4 bUTC = 0;
+ 211 4 uiUTCDelayCnt = 0;
+ 212 4 uiUTCRDelayCnt = 0;
+ 213 4 }
+ 214 3 }
+ 215 2 else if(uiTempeMin < E2uiTempUTC)
+ 216 2 {
+ 217 3 uiUTCRDelayCnt = 0;
+ 218 3 }
+ 219 2 }
+ 220 1 }
+ 221
+ 222
+ 223 /*************************************************************************************************
+ 224 * 函数名: ProtectOTD
+ 225 * 参 数: 无
+ 226 * 返回值: 无
+ 227 * 描 述: 放电高温保护检测,保护后置位bOTD为1
+ 228 *************************************************************************************************/
+ 229 void ProtectOTD(void)
+ 230 {
+ 231 1 if(!bOTD)
+ 232 1 {
+ 233 2 if(uiTempeMax > E2uiTempOTD)
+ 234 2 {
+ 235 3 if(++uiOTDDelayCnt >= TEMPE_DELAY_CNT)
+ 236 3 {
+C51 COMPILER V9.01 PROTECT 02/06/2025 15:28:46 PAGE 5
+
+ 237 4 bOTD = 1;
+ 238 4 uiOTDDelayCnt = 0;
+ 239 4 uiOTDRDelayCnt = 0;
+ 240 4 }
+ 241 3 }
+ 242 2 else if(uiTempeMax < E2uiTempOTDR)
+ 243 2 {
+ 244 3 uiOTDDelayCnt = 0;
+ 245 3 }
+ 246 2 }
+ 247 1 else
+ 248 1 {
+ 249 2 if(uiTempeMax < E2uiTempOTDR)
+ 250 2 {
+ 251 3 if(++uiOTDRDelayCnt >= TEMPER_DELAY_CNT)
+ 252 3 {
+ 253 4 bOTD = 0;
+ 254 4 uiOTDDelayCnt = 0;
+ 255 4 uiOTDRDelayCnt = 0;
+ 256 4 }
+ 257 3 }
+ 258 2 else if(uiTempeMax > E2uiTempOTD)
+ 259 2 {
+ 260 3 uiOTDRDelayCnt = 0;
+ 261 3 }
+ 262 2 }
+ 263 1 }
+ 264
+ 265
+ 266 /*************************************************************************************************
+ 267 * 函数名: ProtectUTD
+ 268 * 参 数: 无
+ 269 * 返回值: 无
+ 270 * 描 述: 放电低温保护检测,保护后置位bUTD为1
+ 271 *************************************************************************************************/
+ 272 void ProtectUTD(void)
+ 273 {
+ 274 1 if(!bUTD)
+ 275 1 {
+ 276 2 if(uiTempeMin < E2uiTempUTD)
+ 277 2 {
+ 278 3 if(++uiUTDDelayCnt >= TEMPE_DELAY_CNT)
+ 279 3 {
+ 280 4 bUTD = 1;
+ 281 4 uiUTDDelayCnt = 0;
+ 282 4 uiUTDRDelayCnt = 0;
+ 283 4 }
+ 284 3 }
+ 285 2 else if(uiTempeMin > E2uiTempUTDR)
+ 286 2 {
+ 287 3 uiUTDDelayCnt = 0;
+ 288 3 }
+ 289 2 }
+ 290 1 else
+ 291 1 {
+ 292 2 if(uiTempeMin > E2uiTempUTDR)
+ 293 2 {
+ 294 3 if(++uiUTDRDelayCnt >= TEMPER_DELAY_CNT)
+ 295 3 {
+ 296 4 bUTD = 0;
+ 297 4 uiUTDDelayCnt = 0;
+ 298 4 uiUTDRDelayCnt = 0;
+C51 COMPILER V9.01 PROTECT 02/06/2025 15:28:46 PAGE 6
+
+ 299 4 }
+ 300 3 }
+ 301 2 else if(uiTempeMin < E2uiTempUTD)
+ 302 2 {
+ 303 3 uiUTDRDelayCnt = 0;
+ 304 3 }
+ 305 2 }
+ 306 1 }
+ 307
+ 308
+ 309
+ 310 /*************************************************************************************************
+ 311 * 函数名: ProtectOCC
+ 312 * 参 数: 无
+ 313 * 返回值: 无
+ 314 * 描 述: 充电过流保护检测,保护后置位bOCC为1
+ 315 *************************************************************************************************/
+ 316 void ProtectOCC(void)
+ 317 {
+ 318 1 if(!bOCC)
+ 319 1 {
+ 320 2 if(slCadcCurrent > E2slOCCCurrent)
+ 321 2 {
+ 322 3 if(++uiOCCDelayCnt >= OCC_DELAY_CNT)
+ 323 3 {
+ 324 4 bOCC = 1;
+ 325 4 bChgerStartCheckFlg = 1; //设置充电器开始检测标志
+ 326 4 uiOCCDelayCnt = 0;
+ 327 4 }
+ 328 3 }
+ 329 2 else if(!bChgerChkingFlg)
+ 330 2 {
+ 331 3 if(uiOCCDelayCnt > 0)
+ 332 3 {
+ 333 4 uiOCCDelayCnt--;
+ 334 4 }
+ 335 3 }
+ 336 2 }
+ 337 1 }
+ 338
+ 339
+ 340 /*************************************************************************************************
+ 341 * 函数名: ProtectOCD1
+ 342 * 参 数: 无
+ 343 * 返回值: 无
+ 344 * 描 述: 放电过流1保护检测,保护后置位bOCD1为1
+ 345 *************************************************************************************************/
+ 346 void ProtectOCD1(void)
+ 347 {
+ 348 1 if(!bOCD1)
+ 349 1 {
+ 350 2 if(slCadcCurrent < E2slOCD1Current)
+ 351 2 {
+ 352 3 if(++uiOCD1DelayCnt >= OCD1_DELAY_CNT)
+ 353 3 {
+ 354 4 uiOCD1DelayCnt = 0;
+ 355 4 bOCD1 = 1;
+ 356 4 bLoadStartCheckFlg = 1; //开启负载检测
+ 357 4 }
+ 358 3 }
+ 359 2 else if(!bLoadChkingFlg)
+ 360 2 {
+C51 COMPILER V9.01 PROTECT 02/06/2025 15:28:46 PAGE 7
+
+ 361 3 if(uiOCD1DelayCnt > 0)
+ 362 3 {
+ 363 4 uiOCD1DelayCnt--;
+ 364 4 }
+ 365 3 }
+ 366 2 }
+ 367 1 }
+ 368
+ 369
+ 370 /*************************************************************************************************
+ 371 * 函数名: ProtectOCD2
+ 372 * 参 数: 无
+ 373 * 返回值: 无
+ 374 * 描 述: 放电过流2保护检测,保护后置位bOCD2为1
+ 375 *************************************************************************************************/
+ 376 void ProtectOCD2(void)
+ 377 {
+ 378 1 if(!bOCD2)
+ 379 1 {
+ 380 2 if(slCadcCurrent < E2slOCD2Current)
+ 381 2 {
+ 382 3 if(++uiOCD2DelayCnt > OCD2_DELAY_CNT)
+ 383 3 {
+ 384 4 uiOCD2DelayCnt = 0;
+ 385 4 bOCD2 = 1;
+ 386 4 bLoadStartCheckFlg = 1; //开启负载检测
+ 387 4 }
+ 388 3 }
+ 389 2 else if(!bLoadChkingFlg)
+ 390 2 {
+ 391 3 if(uiOCD2DelayCnt > 0)
+ 392 3 {
+ 393 4 uiOCD2DelayCnt--;
+ 394 4 }
+ 395 3 }
+ 396 2 }
+ 397 1 }
+ 398
+ 399
+ 400 /*************************************************************************************************
+ 401 * 函数名: ProtectProcess
+ 402 * 参 数: 无
+ 403 * 返回值: 无
+ 404 * 描 述: 各种保护检测
+ 405 *************************************************************************************************/
+ 406 void ProtectProcess(void)
+ 407 {
+ 408 1 if(!bPorSelfTestFlg) //如果是上电1s自检过程中,则不检测正常保护
+ 409 1 {
+ 410 2 ProtectOV(); //检测过压保护及其释放
+ 411 2 ProtectUV(); //检测欠压保护及其释放
+ 412 2
+ 413 2 ProtectOTC(); //检测充电高温保护及其释放
+ 414 2 ProtectUTC(); //检测充电低温保护及其释放
+ 415 2 ProtectOTD(); //检测放电高温保护及其释放
+ 416 2 ProtectUTD(); //检测放电低温保护及其释放
+ 417 2
+ 418 2 ProtectOCC(); //充电过流保护
+ 419 2 ProtectOCD1(); //放电过流1保护
+ 420 2 ProtectOCD2(); //放电过流2保护
+ 421 2 }
+ 422 1 }
+C51 COMPILER V9.01 PROTECT 02/06/2025 15:28:46 PAGE 8
+
+ 423
+ 424
+ 425 /*************************************************************************************************
+ 426 * 函数名: ProtectOCRecover
+ 427 * 参 数: 无
+ 428 * 返回值: 无
+ 429 * 描 述: 电流保护自恢复
+ 430 *************************************************************************************************/
+ 431 void ProtectOCRecover(void)
+ 432 {
+ 433 1 if(bOCRC_EN)
+ 434 1 {
+ 435 2 if(bOCD1 || bOCD2 || bAFE_SC)
+ 436 2 {
+ 437 3 if(++uiOCDRcnt >= OCDR_DELAY_CNT)
+ 438 3 {
+ 439 4 ucLoadRCnt = 0;
+ 440 4 uiOCDRcnt = 0;
+ 441 4 bOCD1 = 0;
+ 442 4 bOCD2 = 0;
+ 443 4 bLoadStartCheckFlg = 0;
+ 444 4 bLoadChkingFlg = 0;
+ 445 4 if(bAFE_SC)
+ 446 4 {
+ 447 5 bAFE_SC = 0;
+ 448 5 AFEClrFlg();
+ 449 5 }
+ 450 4 }
+ 451 3 }
+ 452 2
+ 453 2 if(bOCC)
+ 454 2 {
+ 455 3 if(++uiOCCRcnt > OCCR_DELAY_CNT)
+ 456 3 {
+ 457 4 uiOCCRcnt = 0;
+ 458 4 bOCC = 0;
+ 459 4 ucChgerRCnt = 0;
+ 460 4 bChgerChkingFlg = 0;
+ 461 4 }
+ 462 3 }
+ 463 2 }
+ 464 1 }
+ 465
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 1552 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 34 ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = 2 ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/Protect.obj b/output/Protect.obj
new file mode 100644
index 0000000..edd56da
Binary files /dev/null and b/output/Protect.obj differ
diff --git a/output/RTC.lst b/output/RTC.lst
new file mode 100644
index 0000000..3f413c8
--- /dev/null
+++ b/output/RTC.lst
@@ -0,0 +1,283 @@
+C51 COMPILER V9.01 RTC 02/06/2025 15:28:46 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE RTC
+OBJECT MODULE PLACED IN .\output\RTC.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\RTC.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.OR
+ -C) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_c
+ -lassb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\RTC.lst) OBJECT(.\output\RTC.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11
+ 12 BOOL bRTCErr;
+ 13 BOOL bRTCTwiRWErr;
+ 14 U8 xdata ucRTCTwiRWErrDelayCnt;
+ 15 RTC_VAR xdata RTC; //For External RTC
+ 16
+ 17 /*************************************************************************************************
+ 18 * 函数名: RTCTwiCheck
+ 19 * 参 数: 无
+ 20 * 返回值: 无
+ 21 * 描 述: 连续5S检测到RTC的I2C通讯错误,则置位bRTCErr=1
+ 22 *************************************************************************************************/
+ 23 void RTCTwiCheck(void)
+ 24 {
+ 25 1 if(bEnEEPRomBK)
+ 26 1 {
+ 27 2 if(bRTCTwiRWErr)
+ 28 2 {
+ 29 3 if(++ucRTCTwiRWErrDelayCnt >= TIME_1S_5S)
+ 30 3 {
+ 31 4 bRTCErr = 1;
+ 32 4 ucRTCTwiRWErrDelayCnt = TIME_1S_5S;
+ 33 4 }
+ 34 3 }
+ 35 2 else
+ 36 2 {
+ 37 3 ucRTCTwiRWErrDelayCnt = 0;
+ 38 3 }
+ 39 2 }
+ 40 1 }
+ 41
+ 42
+ 43 /*************************************************************************************************
+ 44 * 函数名: RTCWrite
+ 45 * 参 数: WrAddr: 寄存器地址;Length:数据长度;WrBuf:数据缓存Buf
+ 46 * 返回值: 无
+ 47 * 描 述: RTC写寄存器操作,如果出错连续写两次
+ 48 *************************************************************************************************/
+ 49 BOOL RTCWrite(U8 WrAddr, U8 Length, U8 xdata *WrBuf)
+ 50 {
+ 51 1 BOOL Result = 0;
+ 52 1 U8 i;
+ 53 1
+C51 COMPILER V9.01 RTC 02/06/2025 15:28:46 PAGE 2
+
+ 54 1 if(!bRTCErr)
+ 55 1 {
+ 56 2 for(i=0; i<5; i++)
+ 57 2 {
+ 58 3 #ifdef TWI_Hardware_Module
+ 59 3 if(TwiWrite(RTC_ID, WrAddr, TWI_ADDR_1B, Length, TWI_CRC_NO, WrBuf))
+ 60 3 {
+ 61 4 Result = 1;
+ 62 4 break;
+ 63 4 }
+ 64 3 #else
+ if(Result = TwiWrite(RTC_ID, WrAddr, Length, WrBuf))
+ {
+ Result = 1;
+ break;
+ }
+ #endif
+ 71 3 Delay1ms(1);
+ 72 3 }
+ 73 2 }
+ 74 1 bRTCTwiRWErr = !Result;
+ 75 1
+ 76 1 return Result;
+ 77 1 }
+ 78
+ 79
+ 80 /*************************************************************************************************
+ 81 * 函数名: RTCRead
+ 82 * 参 数: RdAddr: 寄存器地址;Length:数据长度;WrBuf:数据缓存Buf
+ 83 * 返回值: 无
+ 84 * 描 述: RTC读寄存器操作,如果出错连续读两次
+ 85 *************************************************************************************************/
+ 86 BOOL RTCRead(U8 RdAddr, U8 Length, U8 xdata *RdBuf)
+ 87 {
+ 88 1 BOOL Result = 0;
+ 89 1 U8 i;
+ 90 1
+ 91 1 if(!bRTCErr)
+ 92 1 {
+ 93 2 for(i=0; i<5; i++)
+ 94 2 {
+ 95 3 #ifdef TWI_Hardware_Module
+ 96 3 if(TwiRead(RTC_ID, RdAddr, TWI_ADDR_1B, Length, TWI_CRC_NO, RdBuf))
+ 97 3 {
+ 98 4 Result = 1;
+ 99 4 break;
+ 100 4 }
+ 101 3 #else
+ if(TwiRead(RTC_ID, RdAddr, Length, RdBuf))
+ {
+ Result = 1;
+ break;
+ }
+ #endif
+ 108 3 Delay1ms(1);
+ 109 3 }
+ 110 2 }
+ 111 1 bRTCTwiRWErr = !Result;
+ 112 1
+ 113 1 return Result;
+ 114 1 }
+ 115
+C51 COMPILER V9.01 RTC 02/06/2025 15:28:46 PAGE 3
+
+ 116 /*************************************************************************************************
+ 117 * 函数名: RTCReadTime
+ 118 * 参 数: RdAddr: 寄存器地址;Length:数据长度;WrBuf:数据缓存Buf
+ 119 * 返回值: 无
+ 120 * 描 述: RTC读寄存器操作,如果出错连续读两次
+ 121 *************************************************************************************************/
+ 122 BOOL RTCReadTime(RTC_VAR xdata *RtcRdVal)
+ 123 {
+ 124 1 U8 xdata rtcbuf[9];
+ 125 1 BOOL Result = 0;
+ 126 1
+ 127 1 if(RTCRead(0x00, 9, &rtcbuf)) //从RTC读取时间
+ 128 1 {
+ 129 2 if((rtcbuf[7]&0x01) == 0x00) //judge RTCF bit,看是否曾经掉过电
+ 130 2 {
+ 131 3 if( ((rtcbuf[2]&0x80) == 0) //不是24小时制
+ 132 3 || ((rtcbuf[0]&0x70) > 0x50) || ((rtcbuf[0]&0x0F) > 0x09) || ((rtcbuf[0]&0x7F) > 0x59)
+ 133 3 || ((rtcbuf[1]&0x70) > 0x50) || ((rtcbuf[1]&0x0F) > 0x09) || ((rtcbuf[1]&0x7F) > 0x59)
+ 134 3 || ((rtcbuf[2]&0x30) > 0x20) || ((rtcbuf[2]&0x0F) > 0x09) || ((rtcbuf[2]&0x2F) > 0x24)
+ 135 3 || ((rtcbuf[3]&0x30) > 0x30) || ((rtcbuf[3]&0x0F) > 0x09) || ((rtcbuf[3]&0x3F) > 0x31) || (!(r
+ -tcbuf[3]&0x3F))
+ 136 3 || ((rtcbuf[4]&0x10) > 0x10) || ((rtcbuf[4]&0x0F) > 0x09) || ((rtcbuf[4]&0x1F) > 0x12) || (!(r
+ -tcbuf[4]&0x1F))
+ 137 3 || ((rtcbuf[5]&0xF0) > 0x90) || ((rtcbuf[5]&0x0F) > 0x09) || ((rtcbuf[5]&0xFF) > 0x99)
+ 138 3 || ((rtcbuf[6]&0x07) > 0x06) ) //对小时制及数据合法性进行检查
+ 139 3 {
+ 140 4 rtcbuf[0] = RtcRdVal->Second; //数据不合法,可能是因为RTC未初始化导致
+ 141 4 rtcbuf[1] = RtcRdVal->Minute;
+ 142 4 rtcbuf[2] = RtcRdVal->Hour;
+ 143 4 rtcbuf[3] = RtcRdVal->Date;
+ 144 4 rtcbuf[4] = RtcRdVal->Month;
+ 145 4 rtcbuf[5] = RtcRdVal->Year;
+ 146 4 rtcbuf[6] = RtcRdVal->Week;
+ 147 4
+ 148 4 Result = RTCModifyTime((RTC_VAR xdata *)(&rtcbuf));
+ 149 4 }
+ 150 3 else
+ 151 3 {
+ 152 4 RtcRdVal->Second = rtcbuf[0]; //数据合法,则保存从RTC读回的时间
+ 153 4 RtcRdVal->Minute = rtcbuf[1];
+ 154 4 RtcRdVal->Hour = rtcbuf[2]&0x1F;
+ 155 4 RtcRdVal->Date = rtcbuf[3];
+ 156 4 RtcRdVal->Month = rtcbuf[4];
+ 157 4 RtcRdVal->Year = rtcbuf[5];
+ 158 4 RtcRdVal->Week = rtcbuf[6];
+ 159 4
+ 160 4 Result = 1;
+ 161 4 }
+ 162 3 }
+ 163 2 else //曾经掉电过,认为RTC不准。
+ 164 2 {
+ 165 3 Result = RTCModifyTime((RTC_VAR xdata *)RtcRdVal); //将当前的时间,或从E2中读取的时间,或固定
+ -时间重新写入RTC
+ 166 3 }
+ 167 2 }
+ 168 1
+ 169 1 return Result;
+ 170 1 }
+ 171
+ 172
+ 173 /*************************************************************************************************
+ 174 * 函数名: RTCModifyTime
+C51 COMPILER V9.01 RTC 02/06/2025 15:28:46 PAGE 4
+
+ 175 * 参 数: RTC:将RTC参数传递进来,进行RTC更新
+ 176 * 返回值: 无
+ 177 * 描 述: RTC读寄存器操作,如果出错连续读两次
+ 178 *************************************************************************************************/
+ 179 BOOL RTCModifyTime(RTC_VAR xdata *RtcMdyVal)
+ 180 {
+ 181 1 BOOL Result = 0;
+ 182 1 U8 xdata rtcdata;
+ 183 1 U8 xdata rtctemp[7];
+ 184 1
+ 185 1 rtcdata = 0x90;
+ 186 1 Result = RTCWrite(RTC_REG_STATUS, 1, &rtcdata);
+ 187 1
+ 188 1 rtctemp[0] = RtcMdyVal->Second;
+ 189 1 rtctemp[1] = RtcMdyVal->Minute;
+ 190 1 rtctemp[2] = RtcMdyVal->Hour|0x80; //设置为24小时制
+ 191 1 rtctemp[3] = RtcMdyVal->Date;
+ 192 1 rtctemp[4] = RtcMdyVal->Month;
+ 193 1 rtctemp[5] = RtcMdyVal->Year;
+ 194 1 rtctemp[6] = RtcMdyVal->Week;
+ 195 1
+ 196 1 Result = RTCWrite(RTC_REG_SECOND, 7, (U8 xdata *)&rtctemp);
+ 197 1
+ 198 1 return Result;
+ 199 1 }
+ 200
+ 201
+ 202 /*************************************************************************************************
+ 203 * 函数名: RTCInitTime
+ 204 * 参 数: RTC:将RTC参数传递进来,进行RTC初始化
+ 205 * 返回值: 无
+ 206 * 描 述: 初始化,从EEP读取保存的RTC时间参数进行第一次初始化,如果EEP没有保存,则默认初始化时间:20年5月1
+ -12点
+ 207 *************************************************************************************************/
+ 208 BOOL RTCInitTime(RTC_VAR xdata *RtcInitVal)
+ 209 {
+ 210 1 BOOL Result = 0;
+ 211 1 U8 xdata rtcbuf[9];
+ 212 1 U8 xdata i;
+ 213 1 U8 xdata checksum = 0;
+ 214 1
+ 215 1 MemorySet(rtcbuf, 0, sizeof(rtcbuf));
+ 216 1
+ 217 1 E2PRomRead(E2PROM_RTC_ADDR, 9, rtcbuf); //从E2备份区读出RTC数据
+ 218 1 for(i=0; i<7; i++)
+ 219 1 {
+ 220 2 checksum += rtcbuf[i];
+ 221 2 }
+ 222 1
+ 223 1 if((rtcbuf[7]!=checksum) || (rtcbuf[8]!=0x5a)) //若校验失败,说明E2读出的时间不可靠,直接把
+ -龀奔淠美从
+ 224 1 {
+ 225 2 rtcbuf[0] = 0x00; //second
+ 226 2 rtcbuf[1] = 0x00; //minute
+ 227 2 rtcbuf[2] = 0x12; //hour
+ 228 2 rtcbuf[3] = 0x01; //date
+ 229 2 rtcbuf[4] = 0x05; //month
+ 230 2 rtcbuf[5] = 0x20; //year
+ 231 2 rtcbuf[6] = 0x05; //week
+ 232 2 }
+ 233 1
+ 234 1 MemoryCopy(rtcbuf, (U8 xdata *)RtcInitVal, 7); //从E2读出的时间或出厂时间先放到RTC时间寄存器
+C51 COMPILER V9.01 RTC 02/06/2025 15:28:46 PAGE 5
+
+ -中存起来
+ 235 1 Result = RTCReadTime((RTC_VAR xdata *)RtcInitVal);
+ 236 1
+ 237 1 return Result;
+ 238 1 }
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 958 ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = 8 43
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = 2 5
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/RTC.obj b/output/RTC.obj
new file mode 100644
index 0000000..3704b97
Binary files /dev/null and b/output/RTC.obj differ
diff --git a/output/STARTUP.lst b/output/STARTUP.lst
new file mode 100644
index 0000000..bc1ed54
--- /dev/null
+++ b/output/STARTUP.lst
@@ -0,0 +1,75 @@
+A51 MACRO ASSEMBLER STARTUP 02/06/2025 15:28:46 PAGE 1
+
+
+MACRO ASSEMBLER A51 V8.02
+OBJECT MODULE PLACED IN .\output\STARTUP.obj
+ASSEMBLER INVOKED BY: D:\Tool\Keil\C51\BIN\A51.EXE code_drv\STARTUP.A51 NOMOD51 INCDIR(.\code_classb\iec60730_lib\includ
+ e;.\code_classb\iec60730_proc\Include;.\code_classb\config) SET(LARGE) DEBUG PRINT(.\output\STARTU
+ P.lst) OBJECT(.\output\STARTUP.obj) EP
+
+LOC OBJ LINE SOURCE
+
+ 1 $nomod51
+ 2 NAME ?C_STARTUP
+ 3
+ 4 EXTRN CODE (?C_START)
+ 5 PUBLIC ?C_STARTUP
+ 6
+ 00B2 7 CLKCON EQU 0B2H
+ 8
+ 9 EXTRN IDATA (STACK)
+ 10
+---- 11 CSEG AT 1000H
+1000 020000 F 12 ?C_STARTUP: LJMP STARTUP1
+ 13
+ 14
+ 15 ?C_C51STARTUP SEGMENT CODE
+---- 16 RSEG ?C_C51STARTUP
+0000 17 STARTUP1:
+0000 758100 F 18 MOV SP, #STACK-1
+0003 00 19 NOP
+ 20 ;此处在全局变量初始化之前,可清硆am
+ 21 ;清砳data
+0004 7808 22 MOV R0,#0x08
+0006 23 FOR_EACH_IDATA:
+0006 7600 24 MOV @R0,#0x00
+0008 08 25 INC R0
+0009 B800FA F 26 CJNE R0,#STACK,FOR_EACH_IDATA
+ 27 ;清硏data
+000C E4 28 CLR A
+000D 900000 29 MOV DPTR,#0x0000
+0010 30 FOR_EACH_XDATA:
+0010 F0 31 MOVX @DPTR,A
+0011 A3 32 INC DPTR
+0012 A882 33 MOV R0,DPL
+0014 A983 34 MOV R1,DPH
+0016 B8DCF7 35 CJNE R0,#0xDC,FOR_EACH_XDATA
+0019 B907F4 36 CJNE R1,#0x07,FOR_EACH_XDATA
+001C 00 37 NOP
+001D 020000 F 38 LJMP ?C_START
+ 39 END
+A51 MACRO ASSEMBLER STARTUP 02/06/2025 15:28:46 PAGE 2
+
+SYMBOL TABLE LISTING
+------ ----- -------
+
+
+N A M E T Y P E V A L U E ATTRIBUTES
+
+?C_C51STARTUP. . . C SEG 0020H REL=UNIT
+?C_START . . . . . C ADDR ----- EXT
+?C_STARTUP . . . . C ADDR 1000H A
+CLKCON . . . . . . N NUMB 00B2H A
+DPH. . . . . . . . D ADDR 0083H A
+DPL. . . . . . . . D ADDR 0082H A
+FOR_EACH_IDATA . . C ADDR 0006H R SEG=?C_C51STARTUP
+FOR_EACH_XDATA . . C ADDR 0010H R SEG=?C_C51STARTUP
+SP . . . . . . . . D ADDR 0081H A
+STACK. . . . . . . I ADDR ----- EXT
+STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP
+
+
+REGISTER BANK(S) USED: 0
+
+
+ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/STARTUP.obj b/output/STARTUP.obj
new file mode 100644
index 0000000..a126cfd
Binary files /dev/null and b/output/STARTUP.obj differ
diff --git a/output/TWI.lst b/output/TWI.lst
new file mode 100644
index 0000000..1a74833
--- /dev/null
+++ b/output/TWI.lst
@@ -0,0 +1,487 @@
+C51 COMPILER V9.01 TWI 02/06/2025 15:28:46 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE TWI
+OBJECT MODULE PLACED IN .\output\TWI.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\TWI.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.OR
+ -C) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_c
+ -lassb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\TWI.lst) OBJECT(.\output\TWI.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2020/04/26
+ 6 History:
+ 7 V2.0 2020/04/26 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11 #ifdef TWI_Hardware_Module
+ 12
+ 13 U8 code CRC8Table[256]=
+ 14 { //120424-1 CRC Table
+ 15 0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x38,0x3F,0x36,0x31,0x24,0x23,0x2A,0x2D,
+ 16 0x70,0x77,0x7E,0x79,0x6C,0x6B,0x62,0x65,0x48,0x4F,0x46,0x41,0x54,0x53,0x5A,0x5D,
+ 17 0xE0,0xE7,0xEE,0xE9,0xFC,0xFB,0xF2,0xF5,0xD8,0xDF,0xD6,0xD1,0xC4,0xC3,0xCA,0xCD,
+ 18 0x90,0x97,0x9E,0x99,0x8C,0x8B,0x82,0x85,0xA8,0xAF,0xA6,0xA1,0xB4,0xB3,0xBA,0xBD,
+ 19 0xC7,0xC0,0xC9,0xCE,0xDB,0xDC,0xD5,0xD2,0xFF,0xF8,0xF1,0xF6,0xE3,0xE4,0xED,0xEA,
+ 20 0xB7,0xB0,0xB9,0xBE,0xAB,0xAC,0xA5,0xA2,0x8F,0x88,0x81,0x86,0x93,0x94,0x9D,0x9A,
+ 21 0x27,0x20,0x29,0x2E,0x3B,0x3C,0x35,0x32,0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A,
+ 22 0x57,0x50,0x59,0x5E,0x4B,0x4C,0x45,0x42,0x6F,0x68,0x61,0x66,0x73,0x74,0x7D,0x7A,
+ 23 0x89,0x8E,0x87,0x80,0x95,0x92,0x9B,0x9C,0xB1,0xB6,0xBF,0xB8,0xAD,0xAA,0xA3,0xA4,
+ 24 0xF9,0xFE,0xF7,0xF0,0xE5,0xE2,0xEB,0xEC,0xC1,0xC6,0xCF,0xC8,0xDD,0xDA,0xD3,0xD4,
+ 25 0x69,0x6E,0x67,0x60,0x75,0x72,0x7B,0x7C,0x51,0x56,0x5F,0x58,0x4D,0x4A,0x43,0x44,
+ 26 0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x0C,0x21,0x26,0x2F,0x28,0x3D,0x3A,0x33,0x34,
+ 27 0x4E,0x49,0x40,0x47,0x52,0x55,0x5C,0x5B,0x76,0x71,0x78,0x7F,0x6A,0x6D,0x64,0x63,
+ 28 0x3E,0x39,0x30,0x37,0x22,0x25,0x2C,0x2B,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,0x13,
+ 29 0xAE,0xA9,0xA0,0xA7,0xB2,0xB5,0xBC,0xBB,0x96,0x91,0x98,0x9F,0x8A,0x8D,0x84,0x83,
+ 30 0xDE,0xD9,0xD0,0xD7,0xC2,0xC5,0xCC,0xCB,0xE6,0xE1,0xE8,0xEF,0xFA,0xFD,0xF4,0xF3
+ 31 };
+ 32 /*************************************************************************************************
+ 33 * 函数名: CRC8cal
+ 34 * 参 数: *p:数据指针;counter:所需计算的长度
+ 35 * 返回值: 无
+ 36 * 描 述: CRC8就散
+ 37 *************************************************************************************************/
+ 38 U8 CRC8cal(U8 *p, U8 counter) //look-up table calculte CRC
+ 39 {
+ 40 1 U8 crc8 = 0;
+ 41 1
+ 42 1 for( ; counter > 0; counter--)
+ 43 1 {
+ 44 2 crc8 = CRC8Table[crc8^*p];
+ 45 2 p++;
+ 46 2 }
+ 47 1 return(crc8);
+ 48 1 }
+ 49
+ 50
+ 51
+ 52
+ 53 /*************************************************************************************************
+C51 COMPILER V9.01 TWI 02/06/2025 15:28:46 PAGE 2
+
+ 54 * 函数名: TWICheckStatus
+ 55 * 参 数: Status:当前TWI的状态
+ 56 * 返回值: 无
+ 57 * 描 述: 检测TWI的各个状态是否正常
+ 58 *************************************************************************************************/
+ 59 BOOL TWICheckStatus(U8 Status)
+ 60 {
+ 61 1 BOOL Result = 1;
+ 62 1 U16 timeoutcount = 48000; //硬件IIC时timeoutcount大于100可正常通讯,软件IIC建议保持原值 (标准DEMO板
+ -)
+ 63 1
+ 64 1 while((TWICON&0x08)==0) //等待TWI通讯结束
+ 65 1 {
+ 66 2 McuWDTClear(); //清除看门狗
+ 67 2 if(timeoutcount)
+ 68 2 {
+ 69 3 timeoutcount--;
+ 70 3 }
+ 71 2 else
+ 72 2 {
+ 73 3 break;
+ 74 3 }
+ 75 2 }
+ 76 1 if((TWISTA&0xf8) != Status)
+ 77 1 {
+ 78 2 Result = 0; //Error
+ 79 2 }
+ 80 1
+ 81 1 return Result;
+ 82 1 }
+ 83
+ 84
+ 85
+ 86
+ 87 /*************************************************************************************************
+ 88 * 函数名: TwiWrite
+ 89 * 参 数: SlaveID: Slave ID
+ 90 WrAddr: 写入地址
+ 91 AddrType:地址长度,0:长度为1Byte;1:长度为2Bytes
+ 92 Length: 数据长度(不含CRC字节)
+ 93 CrcFlg: Twi通讯是否支持CRC校验,0:不支持CRC,1:支持CRC
+ 94 *WrBuf: 写入数据存放地址
+ 95 * 返回值: 无
+ 96 * 描 述: Twi写入操作,包括写入AFE(支持CRC)、RTC和EEPROM(地址长度为2Bytes)
+ 97 *************************************************************************************************/
+ 98 BOOL TwiWrite(U8 SlaveID, U16 WrAddr, U8 AddrType, U8 Length, U8 CrcFlg, U8 xdata *WrBuf)
+ 99 {
+ 100 1 U8 i;
+ 101 1 U8 TempBuf[4];
+ 102 1 BOOL Result = 1;
+ 103 1 U16 timeoutcount = 48000;
+ 104 1
+ 105 1 TempBuf[0] = SlaveID;
+ 106 1 TempBuf[1] = (U8)WrAddr;
+ 107 1 TempBuf[2] = *WrBuf;
+ 108 1 TempBuf[3] = CRC8cal(TempBuf, 3);
+ 109 1
+ 110 1 if(Length > 0)
+ 111 1 {
+ 112 2 HTimeoutChk();
+ 113 2 TWICON = 0x60; //Start
+ 114 2 if((!TWICheckStatus(0x08))&&(!TWICheckStatus(0x10)))
+C51 COMPILER V9.01 TWI 02/06/2025 15:28:46 PAGE 3
+
+ 115 2 {
+ 116 3 Result = 0;
+ 117 3 goto WrErr;
+ 118 3 }
+ 119 2
+ 120 2 TWIDAT = SlaveID; //Slave地址
+ 121 2 TWICON = 0x40;
+ 122 2 if(!TWICheckStatus(0x18))
+ 123 2 {
+ 124 3 Result = 0;
+ 125 3 goto WrErr;
+ 126 3 }
+ 127 2
+ 128 2 if(AddrType == TWI_ADDR_2B)
+ 129 2 {
+ 130 3 TWIDAT = (U8)(WrAddr>>8); //写寄存器高字节地址-仅针对外挂EEPROM
+ 131 3 TWICON = 0x40;
+ 132 3 if(!TWICheckStatus(0x28))
+ 133 3 {
+ 134 4 Result = 0;
+ 135 4 goto WrErr;
+ 136 4 }
+ 137 3 }
+ 138 2
+ 139 2 TWIDAT = (U8)WrAddr; //写寄存器地址
+ 140 2 TWICON = 0x40;
+ 141 2 if(!TWICheckStatus(0x28))
+ 142 2 {
+ 143 3 Result = 0;
+ 144 3 goto WrErr;
+ 145 3 }
+ 146 2
+ 147 2 if(CrcFlg == TWI_CRC_YES) //如果是写AFE寄存器,则固定写一个字节+CRC
+ 148 2 {
+ 149 3 TWIDAT = *WrBuf; //Write Data
+ 150 3 TWICON = 0x40;
+ 151 3 if(!TWICheckStatus(0x28))
+ 152 3 {
+ 153 4 Result = 0;
+ 154 4 goto WrErr;
+ 155 4 }
+ 156 3
+ 157 3 TWIDAT = TempBuf[3]; //Write CRC
+ 158 3 TWICON = 0x40;
+ 159 3 if(!TWICheckStatus(0x28))
+ 160 3 {
+ 161 4 Result = 0;
+ 162 4 goto WrErr;
+ 163 4 }
+ 164 3 }
+ 165 2 else //写EEPROM和RTC
+ 166 2 {
+ 167 3 for(i=0; i 0)
+ 224 1 {
+ 225 2 HTimeoutChk();
+ 226 2 TWICON = 0x60; //Start
+ 227 2 if((!TWICheckStatus(0x08))&&(!TWICheckStatus(0x10)))
+ 228 2 {
+ 229 3 Result = 0;
+ 230 3 goto RdErr;
+ 231 3 }
+ 232 2
+ 233 2 TWIDAT = SlaveID; //发送Slave写地址
+ 234 2 TWICON = 0x40;
+ 235 2 if(!TWICheckStatus(0x18))
+ 236 2 {
+ 237 3 Result = 0;
+ 238 3 goto RdErr;
+C51 COMPILER V9.01 TWI 02/06/2025 15:28:46 PAGE 5
+
+ 239 3 }
+ 240 2
+ 241 2 if(AddrType == TWI_ADDR_2B) //地址为2Bytes
+ 242 2 {
+ 243 3 TWIDAT = (U8)(RdAddr>>8); //读寄存器高字节地址-仅针对外挂EEPROM
+ 244 3 TWICON = 0x40;
+ 245 3 if(!TWICheckStatus(0x28))
+ 246 3 {
+ 247 4 Result = 0;
+ 248 4 goto RdErr;
+ 249 4 }
+ 250 3 }
+ 251 2
+ 252 2 TWIDAT = (U8)RdAddr; //发送寄存器低字节地址
+ 253 2 TWICON = 0x40;
+ 254 2 if(!TWICheckStatus(0x28))
+ 255 2 {
+ 256 3 Result = 0;
+ 257 3 goto RdErr;
+ 258 3 }
+ 259 2
+ 260 2 // if(SlaveID != AFE_ID)
+ 261 2 // {
+ 262 2 // TWIDAT = Length; //发送读取数据长度
+ 263 2 // TWICON = 0x40;
+ 264 2 // if(!TWICheckStatus(0x28))
+ 265 2 // {
+ 266 2 // Result = 0;
+ 267 2 // goto RdErr;
+ 268 2 // }
+ 269 2 // }
+ 270 2
+ 271 2 TWICON = 0x60; //发送RStart
+ 272 2 if((!TWICheckStatus(0x08))&&(!TWICheckStatus(0x10)))
+ 273 2 {
+ 274 3 Result = 0;
+ 275 3 goto RdErr;
+ 276 3 }
+ 277 2
+ 278 2 TWIDAT = SlaveID|0x01; //发送Slave读地址
+ 279 2 TWICON = 0x40;
+ 280 2 if(!TWICheckStatus(0x40))
+ 281 2 {
+ 282 3 Result = 0;
+ 283 3 goto RdErr;
+ 284 3 }
+ 285 2
+ 286 2 for(i=0; i= 10)&&(TWI_FREQ_KHz <= 400))
+ 375 1 // {
+ 376 1 // #if TWIBR1 < 256
+ 377 1 // TWIBR = TWIBR1;
+ 378 1 // TWISTA |= 0x06;
+ 379 1 // #elif TWIBR2 < 256
+ 380 1 // TWIBR = TWIBR2;
+ 381 1 // TWISTA |= 0x04;
+ 382 1 // #elif TWIBR3 < 256
+ 383 1 // TWIBR = TWIBR3;
+ 384 1 // TWISTA |= 0x02;
+ 385 1 // #elif TWIBR4 < 256
+ 386 1 // TWIBR = TWIBR4;
+ 387 1 // TWISTA |= 0x00;
+ 388 1 // #endif
+ 389 1 // }
+ 390 1 // #else
+ 391 1 // {
+ 392 1 // #error: "Please enter a number(TWI_FREQ_KHz) from 10 to 400!";
+ 393 1 // }
+ 394 1 //
+ 395 1 // #endif
+ 396 1
+ 397 1 TWICON = 0x40; //ENTWI ,禁止高电平超时
+ 398 1 TWTFREE = 0xff; //最大超时配置
+ 399 1 TWIDAT = 0x00;
+ 400 1 }
+ 401
+ 402
+ 403 //void TwiInit(void)
+ 404 //{
+ 405 // U16 i,k;
+ 406 // U8 j;
+ 407 // TWICR = 0x32; //默认配置:SCL--P0.5;SDA--P0.4
+ 408 // TWITOUT = 0x00; //外部有上拉电阻,故芯片内部上拉不用使能
+ 409 // i = (24000/TWI_FREQ_KHz-16)/2; //配置发送波特率,禁止总线超时判断,f=fsys/(16+2*CR*TWIBR)=24
+ -MHz/(16+2*16*TWIBR)=**KHz
+ 410 // for(j=1;j<4;j++)
+ 411 // {
+ 412 // k =1<<(2*j-2);
+ 413 // if(i / k <= 255)
+ 414 // {
+ 415 // TWIBR = i / k;
+ 416 // switch (j)
+ 417 // {
+ 418 // case 1:
+ 419 // TWISTA = 0x00;
+ 420 // break;
+ 421 //
+C51 COMPILER V9.01 TWI 02/06/2025 15:28:46 PAGE 8
+
+ 422 // case 2:
+ 423 // TWISTA = 0x02;
+ 424 // break;
+ 425 //
+ 426 // case 3:
+ 427 // TWISTA = 0x04;
+ 428 // break;
+ 429 //
+ 430 // case 4:
+ 431 // TWISTA = 0x06;
+ 432 // break;
+ 433 // }
+ 434 // goto loop;
+ 435 // }
+ 436 // }
+ 437 //loop:
+ 438 //// TWISTA = 0x06; //16分频
+ 439 // TWICON = 0x40; //ENTWI ,禁止高电平超时
+ 440 // TWTFREE = 0xff; //最大超时配置
+ 441 // TWIDAT = 0x00;
+ 442 //}
+ 443
+ 444 #endif
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 858 ----
+ CONSTANT SIZE = 256 ----
+ XDATA SIZE = ---- 72
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- 3
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/TWI.obj b/output/TWI.obj
new file mode 100644
index 0000000..70f3a29
Binary files /dev/null and b/output/TWI.obj differ
diff --git a/output/Thermistor.lst b/output/Thermistor.lst
new file mode 100644
index 0000000..ef9a6bb
--- /dev/null
+++ b/output/Thermistor.lst
@@ -0,0 +1,397 @@
+C51 COMPILER V9.01 THERMISTOR 02/06/2025 15:28:46 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE THERMISTOR
+OBJECT MODULE PLACED IN .\output\Thermistor.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\Thermistor.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_
+ -Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.
+ -\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Thermistor.lst) OBJECT(.\outp
+ -ut\Thermistor.obj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V1.0
+ 5 Date: 2020/12/29
+ 6 History:
+ 7 V0.0 2014/08/28 Preliminary
+ 8 ********************************************************************************/
+ 9 #include "Main.h"
+ 10
+ 11 /*************************************************************************************************
+ 12 * 函数名: NTC103AT
+ 13 * 参 数: 无
+ 14 * 返回值: 无
+ 15 * 描 述: b值为3435的NTC阻值表,单位为10 ohms
+ 16 *************************************************************************************************/
+ 17 #if RT_TABLE == NTC_103AT_3435
+ 18 U16 code NTC103AT[NTC103AT_ARRAY_LEN]= //103AT,b值为3435
+ 19 {
+ 20 32950, //-50
+ 21 30970, //-49
+ 22 29124, //-48
+ 23 27404, //-47
+ 24 25799, //-46
+ 25 24770, //-45
+ 26 23335, //-44
+ 27 21995, //-43
+ 28 20743, //-42
+ 29 19572, //-41
+ 30 18850, //-40
+ 31 17796, //-39
+ 32 16810, //-38
+ 33 15885, //-37
+ 34 15019, //-36
+ 35 14410, //-35
+ 36 13633, //-34
+ 37 12904, //-33
+ 38 12219, //-32
+ 39 11576, //-31
+ 40 11130, //-30
+ 41 10550, //-29
+ 42 10005, //-28
+ 43 9492, //-27
+ 44 9009, //-26
+ 45 8643, //-25
+ 46 8208, //-24
+ 47 7798, //-23
+ 48 7412, //-22
+ 49 7048, //-21
+ 50 6777, //-20
+ 51 6447, //-19
+ 52 6136, //-18
+C51 COMPILER V9.01 THERMISTOR 02/06/2025 15:28:46 PAGE 2
+
+ 53 5842, //-17
+ 54 5564, //-16
+ 55 5341, //-15
+ 56 5090, //-14
+ 57 4852, //-13
+ 58 4627, //-12
+ 59 4414, //-11
+ 60 4247, //-10
+ 61 4053, //-09
+ 62 3870, //-08
+ 63 3696, //-07
+ 64 3532, //-06
+ 65 3390, //-05
+ 66 3241, //-04
+ 67 3099, //-03
+ 68 2964, //-02
+ 69 2836, //-01
+ 70 2728, //00
+ 71 2611, //01
+ 72 2501, //02
+ 73 2395, //03
+ 74 2295, //04
+ 75 2205, //05
+ 76 2114, //06
+ 77 2027, //07
+ 78 1944, //08
+ 79 1866, //09
+ 80 1796, //10
+ 81 1724, //11
+ 82 1655, //12
+ 83 1590, //13
+ 84 1527, //14
+ 85 1469, //15
+ 86 1412, //16
+ 87 1357, //17
+ 88 1305, //18
+ 89 1256, //19
+ 90 1209, //20
+ 91 1163, //21
+ 92 1120, //22
+ 93 1078, //23
+ 94 1038, //24
+ 95 1000, //25
+ 96 963, //26
+ 97 928, //27
+ 98 894, //28
+ 99 862, //29
+ 100 831, //30
+ 101 801, //31
+ 102 772, //32
+ 103 745, //33
+ 104 719, //34
+ 105 694, //35
+ 106 670, //36
+ 107 646, //37
+ 108 624, //38
+ 109 603, //39
+ 110 583, //40
+ 111 562, //41
+ 112 543, //42
+ 113 525, //43
+ 114 508, //44
+C51 COMPILER V9.01 THERMISTOR 02/06/2025 15:28:46 PAGE 3
+
+ 115 491, //45
+ 116 474, //46
+ 117 459, //47
+ 118 444, //48
+ 119 430, //49
+ 120 416, //50
+ 121 402, //51
+ 122 389, //52
+ 123 377, //53
+ 124 365, //54
+ 125 354, //55
+ 126 342, //56
+ 127 331, //57
+ 128 321, //58
+ 129 311, //59
+ 130 302, //60
+ 131 292, //61
+ 132 283, //62
+ 133 275, //63
+ 134 267, //64
+ 135 259, //65
+ 136 251, //66
+ 137 243, //67
+ 138 236, //68
+ 139 229, //69
+ 140 223, //70
+ 141 216, //71
+ 142 210, //72
+ 143 204, //73
+ 144 198, //74
+ 145 192, //75
+ 146 186, //76
+ 147 181, //77
+ 148 176, //78
+ 149 171, //79
+ 150 167, //80
+ 151 162, //81
+ 152 157, //82
+ 153 153, //83
+ 154 149, //84
+ 155 145, //85
+ 156 141, //86
+ 157 137, //87
+ 158 133, //88
+ 159 130, //89
+ 160 127, //90
+ 161 123, //91
+ 162 120, //92
+ 163 117, //93
+ 164 114, //94
+ 165 111, //95
+ 166 108, //96
+ 167 105, //97
+ 168 102, //98
+ 169 100, //99
+ 170 97, //100
+ 171 95, //101
+ 172 92, //102
+ 173 90, //103
+ 174 88, //104
+ 175 86, //105
+ 176 83, //106
+C51 COMPILER V9.01 THERMISTOR 02/06/2025 15:28:46 PAGE 4
+
+ 177 81, //107
+ 178 79, //108
+ 179 78, //109
+ 180 76 //110
+ 181 };
+ 182
+ 183 /*************************************************************************************************
+ 184 * 函数名: NTC103AT
+ 185 * 参 数: 无
+ 186 * 返回值: 无
+ 187 * 描 述: b值为3950的NTC阻值表,单位为10 ohms
+ 188 *************************************************************************************************/
+ 189 #elif RT_TABLE == NTC_103AT_3950
+ U16 code NTC103AT[NTC103AT_ARRAY_LEN]= //103AT,b值为3950
+ {
+ 65535, //-50
+ 65535, //-49
+ 61567, //-48
+ 57293, //-47
+ 53466, //-46
+ 49698, //-45
+ 46324, //-44
+ 43202, //-43
+ 40310, //-42
+ 37632, //-41
+ 35150, //-40
+ 32847, //-39
+ 30711, //-38
+ 28728, //-37
+ 26886, //-36
+ 25174, //-35
+ 23583, //-34
+ 22102, //-33
+ 20724, //-32
+ 19441, //-31
+ 18246, //-30
+ 17132, //-29
+ 16093, //-28
+ 15124, //-27
+ 14120, //-26
+ 13375, //-25
+ 12586, //-24
+ 11846, //-23
+ 11159, //-22
+ 10514, //-21
+ 9910, //-20
+ 9345, //-19
+ 8816, //-18
+ 8319, //-17
+ 7854, //-16
+ 7418, //-15
+ 7009, //-14
+ 6625, //-13
+ 6264, //-12
+ 5926, //-11
+ 5607, //-10
+ 5308, //-09
+ 5026, //-08
+ 4761, //-07
+ 4512, //-06
+ 4277, //-05
+ 4056, //-04
+C51 COMPILER V9.01 THERMISTOR 02/06/2025 15:28:46 PAGE 5
+
+ 3848, //-03
+ 3652, //-02
+ 3466, //-01
+ 3292, //00
+ 3127, //01
+ 2972, //02
+ 2825, //03
+ 2686, //04
+ 2555, //05
+ 2430, //06
+ 2314, //07
+ 2203, //08
+ 2098, //09
+ 1999, //10
+ 1904, //11
+ 1815, //12
+ 1731, //13
+ 1651, //14
+ 1575, //15
+ 1503, //16
+ 1435, //17
+ 1370, //18
+ 1309, //19
+ 1250, //20
+ 1195, //21
+ 1143, //22
+ 1093, //23
+ 1045, //24
+ 1000, //25
+ 956, //26
+ 915, //27
+ 876, //28
+ 838, //29
+ 805, //30
+ 771, //31
+ 739, //32
+ 709, //33
+ 680, //34
+ 652, //35
+ 625, //36
+ 600, //37
+ 576, //38
+ 553, //39
+ 531, //40
+ 510, //41
+ 490, //42
+ 471, //43
+ 453, //44
+ 435, //45
+ 419, //46
+ 403, //47
+ 387, //48
+ 373, //49
+ 359, //50
+ 345, //51
+ 333, //52
+ 320, //53
+ 309, //54
+ 297, //55
+ 287, //56
+ 276, //57
+ 266, //58
+C51 COMPILER V9.01 THERMISTOR 02/06/2025 15:28:46 PAGE 6
+
+ 257, //59
+ 248, //60
+ 239, //61
+ 230, //62
+ 222, //63
+ 215, //64
+ 207, //65
+ 200, //66
+ 193, //67
+ 186, //68
+ 180, //69
+ 174, //70
+ 168, //71
+ 162, //72
+ 157, //73
+ 152, //74
+ 146, //75
+ 142, //76
+ 137, //77
+ 132, //78
+ 128, //79
+ 124, //80
+ 120, //81
+ 116, //82
+ 112, //83
+ 109, //84
+ 105, //85
+ 102, //86
+ 99, //87
+ 96, //88
+ 93, //89
+ 90, //90
+ 87, //91
+ 84, //92
+ 82, //93
+ 79, //94
+ 77, //95
+ 74, //96
+ 72, //97
+ 70, //98
+ 68, //99
+ 66, //100
+ 64, //101
+ 62, //102
+ 60, //103
+ 59, //104
+ 57, //105
+ 55, //106
+ 54, //107
+ 53, //108
+ 52, //109
+ 50 //110
+ };
+ #else
+ #error "underfined RT_TABLE!"
+ #endif
+ 357
+ 358
+ 359
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+C51 COMPILER V9.01 THERMISTOR 02/06/2025 15:28:46 PAGE 7
+
+ CODE SIZE = ---- ----
+ CONSTANT SIZE = 322 ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/Thermistor.obj b/output/Thermistor.obj
new file mode 100644
index 0000000..2ffc50b
Binary files /dev/null and b/output/Thermistor.obj differ
diff --git a/output/TwiIO.lst b/output/TwiIO.lst
new file mode 100644
index 0000000..4f7b68e
--- /dev/null
+++ b/output/TwiIO.lst
@@ -0,0 +1,492 @@
+C51 COMPILER V9.01 TWIIO 02/06/2025 15:28:46 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE TWIIO
+OBJECT MODULE PLACED IN .\output\TwiIO.obj
+COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\TwiIO.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.
+ -ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code
+ -_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\TwiIO.lst) OBJECT(.\output\TwiIO.o
+ -bj)
+
+line level source
+
+ 1 /********************************************************************************
+ 2 Copyright (C), Sinowealth Electronic. Ltd.
+ 3 Author: Sino
+ 4 Version: V0.0
+ 5 Date: 2018/08/30
+ 6 History:
+ 7 V0.0 2018/08/30 Preliminary
+ 8 ********************************************************************************/
+ 9
+ 10 #include "Main.h"
+ 11 //#include "ExtE2PRomRTC.h"
+ 12
+ 13
+ 14 #ifdef TWI_IO_OPERATE
+ /*******************************************************************************
+ Function: CRC8Table[]
+ Description:
+ Input:
+ Output:
+ Others:
+ *******************************************************************************/
+ U8 code CRC8Table[]=
+ { //120424-1 CRC Table
+ 0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x38,0x3F,0x36,0x31,0x24,0x23,0x2A,0x2D,
+ 0x70,0x77,0x7E,0x79,0x6C,0x6B,0x62,0x65,0x48,0x4F,0x46,0x41,0x54,0x53,0x5A,0x5D,
+ 0xE0,0xE7,0xEE,0xE9,0xFC,0xFB,0xF2,0xF5,0xD8,0xDF,0xD6,0xD1,0xC4,0xC3,0xCA,0xCD,
+ 0x90,0x97,0x9E,0x99,0x8C,0x8B,0x82,0x85,0xA8,0xAF,0xA6,0xA1,0xB4,0xB3,0xBA,0xBD,
+ 0xC7,0xC0,0xC9,0xCE,0xDB,0xDC,0xD5,0xD2,0xFF,0xF8,0xF1,0xF6,0xE3,0xE4,0xED,0xEA,
+ 0xB7,0xB0,0xB9,0xBE,0xAB,0xAC,0xA5,0xA2,0x8F,0x88,0x81,0x86,0x93,0x94,0x9D,0x9A,
+ 0x27,0x20,0x29,0x2E,0x3B,0x3C,0x35,0x32,0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A,
+ 0x57,0x50,0x59,0x5E,0x4B,0x4C,0x45,0x42,0x6F,0x68,0x61,0x66,0x73,0x74,0x7D,0x7A,
+ 0x89,0x8E,0x87,0x80,0x95,0x92,0x9B,0x9C,0xB1,0xB6,0xBF,0xB8,0xAD,0xAA,0xA3,0xA4,
+ 0xF9,0xFE,0xF7,0xF0,0xE5,0xE2,0xEB,0xEC,0xC1,0xC6,0xCF,0xC8,0xDD,0xDA,0xD3,0xD4,
+ 0x69,0x6E,0x67,0x60,0x75,0x72,0x7B,0x7C,0x51,0x56,0x5F,0x58,0x4D,0x4A,0x43,0x44,
+ 0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x0C,0x21,0x26,0x2F,0x28,0x3D,0x3A,0x33,0x34,
+ 0x4E,0x49,0x40,0x47,0x52,0x55,0x5C,0x5B,0x76,0x71,0x78,0x7F,0x6A,0x6D,0x64,0x63,
+ 0x3E,0x39,0x30,0x37,0x22,0x25,0x2C,0x2B,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,0x13,
+ 0xAE,0xA9,0xA0,0xA7,0xB2,0xB5,0xBC,0xBB,0x96,0x91,0x98,0x9F,0x8A,0x8D,0x84,0x83,
+ 0xDE,0xD9,0xD0,0xD7,0xC2,0xC5,0xCC,0xCB,0xE6,0xE1,0xE8,0xEF,0xFA,0xFD,0xF4,0xF3
+ };
+
+ /*******************************************************************************
+ Function: Delay4us()
+ Description:
+ Input:
+ Output:
+ Others:
+ *******************************************************************************/
+ void Delay4us(void)
+ {
+ U8 i;
+ for(i=0; i<13; i++)
+C51 COMPILER V9.01 TWIIO 02/06/2025 15:28:46 PAGE 2
+
+ {
+ }
+ }
+
+ /*******************************************************************************
+ Function:
+ 1. TwiStart()
+ 2. TwiReStart()
+ 3. TwiStop()
+ Input:
+ Output:
+ ********************************************************************************/
+ void TwiStart(void)
+ {
+ TWI_DAT_OUT;
+ TWI_CLK_OUT;
+
+ TWI_DAT_HIGH;
+ TWI_CLK_HIGH;
+ TWI_DAT_OUT;
+ TWI_CLK_OUT;
+ TWI_DAT_LOW;
+ Delay4us();
+ TWI_CLK_LOW;
+ }
+
+ void TwiReStart(void)
+ {
+ TWI_DAT_HIGH;
+ TWI_CLK_HIGH;
+ Delay4us();
+ TWI_DAT_LOW;
+ Delay4us();
+ TWI_CLK_LOW;
+ }
+
+ void TwiStop(void)
+ {
+ TWI_DAT_OUT;
+ TWI_DAT_LOW;
+ Delay4us();
+ TWI_CLK_HIGH;
+ Delay4us();
+ TWI_DAT_HIGH;
+ Delay4us();
+ TWI_DAT_IN;
+ TWI_CLK_IN;
+ }
+
+ bit TwiChkClkRelease(void)
+ {
+ U16 TimeoutCnt=1000; //If Clock is not released within 4ms, is considered overtime
+ BOOL result=0;
+
+ TWI_CLK_IN;
+ while(TimeoutCnt--)
+ {
+ RSTSTAT = 0x00;
+ Delay4us();
+ if(TWI_RD_CLK)
+ {
+ result = 1;
+C51 COMPILER V9.01 TWIIO 02/06/2025 15:28:46 PAGE 3
+
+ break;
+ }
+ }
+
+ TWI_CLK_HIGH;
+ TWI_CLK_OUT;
+
+ return result;
+ }
+
+
+ /*******************************************************************************
+ Function: TwiSendData()
+ Description:
+ Input:
+ Output:
+ ********************************************************************************/
+
+ bit TwiSendData(U8 Data, U8 ClkFlg)
+ {
+ U8 i;
+ BOOL result=0;
+
+ //1. After sending the Start signal, there is no need to detect Clock is released, And sending the first b
+ -it
+ if(Data&0x80)
+ {
+ TWI_DAT_HIGH;
+ }
+ else
+ {
+ TWI_DAT_LOW;
+ }
+ if(ClkFlg == 1)
+ {
+ Delay4us();
+ if(TwiChkClkRelease())
+ {
+ TWI_CLK_LOW;
+ }
+ else
+ {
+ return result;
+ }
+ }
+ else
+ {
+ Delay4us();
+ TWI_CLK_HIGH;
+ Delay4us();
+ TWI_CLK_LOW;
+ }
+
+ //2. Send the remaining seven bit
+ Data = Data<<1;
+ for(i=0; i<7; i++)
+ {
+ if(Data&0x80)
+ {
+ TWI_DAT_HIGH;
+ }
+ else
+C51 COMPILER V9.01 TWIIO 02/06/2025 15:28:46 PAGE 4
+
+ {
+ TWI_DAT_LOW;
+ }
+ Data = Data<<1;
+ Delay4us();
+ TWI_CLK_HIGH;
+ Delay4us();
+ TWI_CLK_LOW;
+ }
+ TWI_DAT_IN;
+ Delay4us();
+
+ for(i=0; i<10; i++)
+ {
+ if(TWI_RD_DAT == 0)
+ {
+ result = 1;
+ break;
+ }
+ }
+ TWI_CLK_HIGH;
+
+ Delay4us();
+ TWI_DAT_LOW;
+ TWI_DAT_OUT;
+ TWI_CLK_LOW;
+ Delay4us();
+
+ return result;
+ }
+
+
+ /*******************************************************************************
+ Function: TwiGetData()
+ Description: i2c get data(one byte)
+ Input: R6: 0 means no need send ack
+ Output: A: the data received
+ ********************************************************************************/
+ U8 TwiGetData(U8 AckFlg)
+ {
+ U8 i, RdData=0;
+
+ TWI_DAT_IN;
+ Delay4us();
+
+ for(i=0; i<8; i++)
+ {
+ TWI_CLK_HIGH;
+ Delay4us();
+ if(TWI_RD_DAT)
+ {
+ RdData |= (1<<(7-i));
+ }
+ TWI_CLK_LOW;
+ Delay4us();
+ }
+
+ TWI_DAT_OUT;
+ if(AckFlg != 0)
+ {
+ TWI_DAT_LOW;
+ }
+C51 COMPILER V9.01 TWIIO 02/06/2025 15:28:46 PAGE 5
+
+ else
+ {
+ TWI_DAT_HIGH;
+ }
+ TWI_CLK_HIGH;
+ Delay4us();
+ TWI_CLK_LOW;
+ Delay4us();
+
+ return RdData;
+ }
+
+
+ /*******************************************************************************
+ Function: CRC8cal()
+ Description:
+ Input:
+ Output:
+ ********************************************************************************/
+ U8 CRC8cal(U8 *p, U8 Length) //look-up table calculte CRC
+ {
+ U8 crc8 = 0;
+
+ for(; Length > 0; Length--)
+ {
+ RSTSTAT = 0x00;
+ crc8 = CRC8Table[crc8^*p];
+ p++;
+ }
+
+ return(crc8);
+ }
+
+
+ /*******************************************************************************
+ Function: TWIWrite()
+ Description: write one byte
+ Input: SlaveID--Slave Address
+ RegAddr--register addr
+ RegData--register data
+ Output: CY:1--OK
+ 0--Error
+ ********************************************************************************/
+ BOOL TwiWrite(U8 SlaveID, U16 WrAddr, U8 Length, U8 xdata *WrBuf)
+ {
+ U8 i;
+ U8 TempBuf[4];
+ BOOL result = 0;
+
+ TempBuf[0] = SlaveID;
+ TempBuf[1] = (U8)WrAddr;
+ TempBuf[2] = *WrBuf;
+ TempBuf[3] = CRC8cal(TempBuf, 3);
+
+ EA = 0;
+ if(Length > 0)
+ {
+ TwiStart();
+
+ if(!TwiSendData(SlaveID, 1)) //Send Slave E2ucID
+ {
+ goto WrErr;
+C51 COMPILER V9.01 TWIIO 02/06/2025 15:28:46 PAGE 6
+
+ }
+
+ if(SlaveID == E2PROM_ID)
+ {
+ if(!TwiSendData(WrAddr>>8, 0)) //Send Write Address(High 8bit) For EEPROM
+ {
+ goto WrErr;
+ }
+ }
+ if(TwiSendData(WrAddr, 0)) //Send Write Address(Low 8bit)
+ {
+ result = 1;
+ for(i=0; i 0)
+ {
+ TwiStart();
+
+ if(!TwiSendData(SlaveID, 1)) //Send Slave E2ucID
+ {
+ goto RdErr;
+ }
+
+ if(SlaveID == E2PROM_ID)
+ {
+ if(!TwiSendData(RdAddr>>8, 0)) //Send Read Address(High 8bit) For EEPROM
+ {
+ goto RdErr;
+ }
+ }
+ if(!TwiSendData(RdAddr, 0)) //Send Read Address(Low 8bit)
+ {
+ goto RdErr;
+ }
+
+ // if(SlaveID==AFE_CHIP_ID) //CRC
+ // {
+ // if(!TwiSendData(Length, 0))
+ // {
+ // goto RdErr;
+ // }
+ // }
+
+ TwiReStart();
+
+ if(TwiSendData(SlaveID|0x1, 0)) //Send Slave E2ucID
+ {
+ result = 1;
+ if(SlaveID==AFE_CHIP_ID)
+ {
+ for(i=0; i 140)
+ 268 1 {
+ 269 2 ucUart0Buf[UART_LENGTH] = 0;
+ 270 2 }
+ 271 1 for(i=0; i 140)
+ {
+ ucUart1Buf[UART_LENGTH] = 0;
+ }
+ for(i=0; i 140)
+ {
+ ucUart2Buf[UART_LENGTH] = 0;
+ }
+ for(i=0; i= 128)
+ 583 2 {
+ 584 3 bE2PProcessFlg = 1;
+ 585 3 bUart0E2PRdData = 1;
+ 586 3 }
+ 587 2 else if(ucUart0Buf[UART_CMD_NO] == SUB_PAGE1 && ucSubClassID == RTC_SUBID)
+ 588 2 {
+ 589 3 bE2PProcessFlg = 1;
+ 590 3 bUart0RTCRdTime = 1;
+ 591 3 }
+ 592 2 else if(ucUart0Buf[UART_CMD_NO] == SUB_PAGE1)
+ 593 2 {
+ 594 3 rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID];
+ 595 3 Uart0ReadInfo(rdaddr);
+ 596 3 }
+ 597 2 else if(ucUart0Buf[UART_CMD_NO] == SUB_PAGE2)
+ 598 2 {
+ 599 3 rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID];
+ 600 3 Uart0ReadInfo(rdaddr);
+ 601 3 }
+ 602 2 break;
+ 603 2 }
+ 604 1 }
+ 605 #endif
+ 606
+ 607 #if (UART1_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart0RdCmdProcess
+ * 参 数: 无
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 11
+
+ * 返回值: 无
+ * 描 述: UART读命令处理函数
+ *************************************************************************************************/
+ void Uart1RdCmdProcess(void)
+ {
+ U8 xdata *rdaddr;
+
+ switch(ucUart1Buf[UART_CMD_NO])
+ {
+ case CELL1:
+ case CELL2:
+ case CELL3:
+ case CELL4:
+ case CELL5:
+ case CELL6:
+ case CELL7:
+ case CELL8:
+ case CELL9:
+ case CELL10:
+ Uart1ReadInfo((U8 xdata *)&Info.uiVCell[ucUart1Buf[UART_CMD_NO]-1]);
+ break;
+
+ case TOTAL_VOLTAGE:
+ Uart1ReadInfo((U8 xdata *)&Info.ulVoltage);
+ break;
+
+ case CADC_CURRENT:
+ Uart1ReadInfo((U8 xdata *)&Info.slCurr);
+ break;
+
+ case EXT_TEMP1:
+ Uart1ReadInfo((U8 xdata *)&Info.uiTS[0]);
+ break;
+
+ case EXT_TEMP2:
+ Uart1ReadInfo((U8 xdata *)&Info.uiTS[1]);
+ break;
+
+ case DIE_TEMP1:
+ Uart1ReadInfo((U8 xdata *)&Info.uiICTempe[0]);
+ break;
+
+ case DIE_TEMP2:
+ Uart1ReadInfo((U8 xdata *)&Info.uiICTempe[1]);
+ break;
+
+ case FULL_CHG_CAP:
+ Uart1ReadInfo((U8 xdata *)&Info.ulFCC);
+ break;
+
+ case REMAIN_CAP:
+ Uart1ReadInfo((U8 xdata *)&Info.ulRC);
+ break;
+
+ case R_SOC:
+ Uart1ReadInfo((U8 xdata *)&Info.uiRSOC);
+ break;
+
+ case CYCLE_COUNT:
+ Uart1ReadInfo((U8 xdata *)&Info.uiCycleCount);
+ break;
+
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 12
+
+ case PACK_STATUS:
+ Uart1ReadInfo((U8 xdata *)&Info.uiPackStatus);
+ break;
+
+ case BATTERY_STATUS:
+ Uart1ReadInfo((U8 xdata *)&Info.uiBatStatus);
+ break;
+
+ case PACK_CONFIG:
+ Uart1ReadInfo((U8 xdata *)&Info.uiPackConfig);
+ break;
+
+ case MANUFACTURE_COMMAND:
+ Uart1ReadInfo((U8 xdata *)&Info.uiManuCommand);
+ break;
+
+ default: //read extern EEPRom data
+ if(ucUart1Buf[UART_LENGTH] >= 128)
+ {
+ bE2PProcessFlg = 1;
+ bUart1E2PRdData = 1;
+ }
+ else if(ucUart1Buf[UART_CMD_NO] == SUB_PAGE1 && ucSubClassID == RTC_SUBID)
+ {
+ bE2PProcessFlg = 1;
+ bUart1RTCRdTime = 1;
+ }
+ else if(ucUart1Buf[UART_CMD_NO] == SUB_PAGE1)
+ {
+ rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID];
+ Uart1ReadInfo(rdaddr);
+ }
+ else if(ucUart1Buf[UART_CMD_NO] == SUB_PAGE2)
+ {
+ rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID];
+ Uart1ReadInfo(rdaddr);
+ }
+ break;
+ }
+ }
+ #endif
+ 714
+ 715 #if (UART2_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart0RdCmdProcess
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART读命令处理函数
+ *************************************************************************************************/
+ void Uart2RdCmdProcess(void)
+ {
+ U8 xdata *rdaddr;
+
+ switch(ucUart2Buf[UART_CMD_NO])
+ {
+ case CELL1:
+ case CELL2:
+ case CELL3:
+ case CELL4:
+ case CELL5:
+ case CELL6:
+ case CELL7:
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 13
+
+ case CELL8:
+ case CELL9:
+ case CELL10:
+ Uart2ReadInfo((U8 xdata *)&Info.uiVCell[ucUart2Buf[UART_CMD_NO]-1]);
+ break;
+
+ case TOTAL_VOLTAGE:
+ Uart2ReadInfo((U8 xdata *)&Info.ulVoltage);
+ break;
+
+ case CADC_CURRENT:
+ Uart2ReadInfo((U8 xdata *)&Info.slCurr);
+ break;
+
+ case EXT_TEMP1:
+ Uart2ReadInfo((U8 xdata *)&Info.uiTS[0]);
+ break;
+
+ case EXT_TEMP2:
+ Uart2ReadInfo((U8 xdata *)&Info.uiTS[1]);
+ break;
+
+ case DIE_TEMP1:
+ Uart2ReadInfo((U8 xdata *)&Info.uiICTempe[0]);
+ break;
+
+ case DIE_TEMP2:
+ Uart2ReadInfo((U8 xdata *)&Info.uiICTempe[1]);
+ break;
+
+ case FULL_CHG_CAP:
+ Uart2ReadInfo((U8 xdata *)&Info.ulFCC);
+ break;
+
+ case REMAIN_CAP:
+ Uart2ReadInfo((U8 xdata *)&Info.ulRC);
+ break;
+
+ case R_SOC:
+ Uart2ReadInfo((U8 xdata *)&Info.uiRSOC);
+ break;
+
+ case CYCLE_COUNT:
+ Uart2ReadInfo((U8 xdata *)&Info.uiCycleCount);
+ break;
+
+ case PACK_STATUS:
+ Uart2ReadInfo((U8 xdata *)&Info.uiPackStatus);
+ break;
+
+ case BATTERY_STATUS:
+ Uart2ReadInfo((U8 xdata *)&Info.uiBatStatus);
+ break;
+
+ case PACK_CONFIG:
+ Uart2ReadInfo((U8 xdata *)&Info.uiPackConfig);
+ break;
+
+ case MANUFACTURE_COMMAND:
+ Uart2ReadInfo((U8 xdata *)&Info.uiManuCommand);
+ break;
+
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 14
+
+ default: //read extern EEPRom data
+ if(ucUart2Buf[UART_LENGTH] >= 128)
+ {
+ bE2PProcessFlg = 1;
+ bUart2E2PRdData = 1;
+ }
+ else if(ucUart2Buf[UART_CMD_NO] == SUB_PAGE1 && ucSubClassID == RTC_SUBID)
+ {
+ bE2PProcessFlg = 1;
+ bUart2RTCRdTime = 1;
+ }
+ else if(ucUart2Buf[UART_CMD_NO] == SUB_PAGE1)
+ {
+ rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID];
+ Uart2ReadInfo(rdaddr);
+ }
+ else if(ucUart2Buf[UART_CMD_NO] == SUB_PAGE2)
+ {
+ rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID];
+ Uart2ReadInfo(rdaddr);
+ }
+ break;
+ }
+ }
+ #endif
+ 822
+ 823 #if (UART0_DEFINE != 0)
+ 824 /*************************************************************************************************
+ 825 * 函数名: Uart0CaliCurrent
+ 826 * 参 数: 无
+ 827 * 返回值: 无
+ 828 * 描 述: UART0通讯发送校准总电压的数据
+ 829 *************************************************************************************************/
+ 830 void Uart0CaliVoltage(void)
+ 831 {
+ 832 1 if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3))
+ 833 1 {
+ 834 2 ulExtVPack = ((U16)ucUart0Buf[3]<<8)|ucUart0Buf[4];
+ 835 2
+ 836 2 if(!ulExtVPack)
+ 837 2 {
+ 838 3 Uart0SendNack();
+ 839 3 }
+ 840 2 else
+ 841 2 {
+ 842 3 bCaliFlg = 1;
+ 843 3 ucExtcaliSwitch1 |= 0x01;
+ 844 3 Uart0SendAck();
+ 845 3 }
+ 846 2 }
+ 847 1 else
+ 848 1 {
+ 849 2 Uart0SendNack();
+ 850 2 }
+ 851 1 }
+ 852 #endif
+ 853
+ 854 #if (UART1_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart1CaliCurrent
+ * 参 数: 无
+ * 返回值: 无
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 15
+
+ * 描 述: UART1通讯发送校准总电压的数据
+ *************************************************************************************************/
+ void Uart1CaliVoltage(void)
+ {
+ if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3))
+ {
+ ulExtVPack = ((U16)ucUart1Buf[3]<<8)|ucUart1Buf[4];
+
+ if(!ulExtVPack)
+ {
+ Uart1SendNack();
+ }
+ else
+ {
+ bCaliFlg = 1;
+ ucExtcaliSwitch1 |= 0x01;
+ Uart1SendAck();
+ }
+ }
+ else
+ {
+ Uart1SendNack();
+ }
+ }
+ #endif
+ 884
+ 885 #if (UART2_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart2CaliCurrent
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART2通讯发送校准总电压的数据
+ *************************************************************************************************/
+ void Uart2CaliVoltage(void)
+ {
+ if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3))
+ {
+ ulExtVPack = ((U16)ucUart2Buf[3]<<8)|ucUart2Buf[4];
+
+ if(!ulExtVPack)
+ {
+ Uart2SendNack();
+ }
+ else
+ {
+ bCaliFlg = 1;
+ ucExtcaliSwitch1 |= 0x01;
+ Uart2SendAck();
+ }
+ }
+ else
+ {
+ Uart2SendNack();
+ }
+ }
+ #endif
+ 915
+ 916 #if (UART0_DEFINE != 0)
+ 917 /*************************************************************************************************
+ 918 * 函数名: Uart0CaliCurrent、Uart0CaliCurOffset
+ 919 * 参 数: 无
+ 920 * 返回值: 无
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 16
+
+ 921 * 描 述: UART0通讯发送校准电流采集增益&Offset的数据
+ 922 *************************************************************************************************/
+ 923 void Uart0CaliCurrent(void)
+ 924 {
+ 925 1 if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3))
+ 926 1 {
+ 927 2 slExtCur = ((U32)ucUart0Buf[3]<<24)
+ 928 2 | ((U32)ucUart0Buf[4]<<16)
+ 929 2 | ((U32)ucUart0Buf[5]<<8)
+ 930 2 | ((U32)ucUart0Buf[6]);
+ 931 2
+ 932 2 if((!AFE.siCurr) || (!slExtCur))
+ 933 2 {
+ 934 3 Uart0SendNack();
+ 935 3 }
+ 936 2 else
+ 937 2 {
+ 938 3 bCaliFlg = 1;
+ 939 3 ucExtcaliSwitch1 |= 0x10;
+ 940 3 Uart0SendAck();
+ 941 3 }
+ 942 2 }
+ 943 1 else
+ 944 1 {
+ 945 2 Uart0SendNack();
+ 946 2 }
+ 947 1 }
+ 948
+ 949
+ 950 void Uart0CaliCurOffset(void)
+ 951 {
+ 952 1 if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3))
+ 953 1 {
+ 954 2 bCaliFlg = 1; //Calibration offset Current
+ 955 2 ucExtcaliSwitch1 |= 0x20;
+ 956 2
+ 957 2 Uart0SendAck();
+ 958 2 }
+ 959 1 else
+ 960 1 {
+ 961 2 Uart0SendNack();
+ 962 2 }
+ 963 1 }
+ 964 #endif
+ 965
+ 966 #if (UART1_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart1CaliCurrent、Uart1CaliCurOffset
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART1通讯发送校准电流采集增益&Offset的数据
+ *************************************************************************************************/
+ void Uart1CaliCurrent(void)
+ {
+ if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3))
+ {
+ slExtCur = ((U32)ucUart1Buf[3]<<24)
+ | ((U32)ucUart1Buf[4]<<16)
+ | ((U32)ucUart1Buf[5]<<8)
+ | ((U32)ucUart1Buf[6]);
+
+ if((!AFE.siCurr) || (!slExtCur))
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 17
+
+ {
+ Uart1SendNack();
+ }
+ else
+ {
+ bCaliFlg = 1;
+ ucExtcaliSwitch1 |= 0x10;
+ Uart1SendAck();
+ }
+ }
+ else
+ {
+ Uart1SendNack();
+ }
+ }
+
+
+ void Uart1CaliCurOffset(void)
+ {
+ if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3))
+ {
+ bCaliFlg = 1; //Calibration offset Current
+ ucExtcaliSwitch1 |= 0x20;
+
+ Uart1SendAck();
+ }
+ else
+ {
+ Uart1SendNack();
+ }
+ }
+ #endif
+1015
+1016 #if (UART2_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart2CaliCurrent、Uart2CaliCurOffset
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART2通讯发送校准电流采集增益&Offset的数据
+ *************************************************************************************************/
+ void Uart2CaliCurrent(void)
+ {
+ if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3))
+ {
+ slExtCur = ((U32)ucUart2Buf[3]<<24)
+ | ((U32)ucUart2Buf[4]<<16)
+ | ((U32)ucUart2Buf[5]<<8)
+ | ((U32)ucUart2Buf[6]);
+
+ if((!AFE.siCurr) || (!slExtCur))
+ {
+ Uart2SendNack();
+ }
+ else
+ {
+ bCaliFlg = 1;
+ ucExtcaliSwitch1 |= 0x10;
+ Uart2SendAck();
+ }
+ }
+ else
+ {
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 18
+
+ Uart2SendNack();
+ }
+ }
+
+
+ void Uart2CaliCurOffset(void)
+ {
+ if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3))
+ {
+ bCaliFlg = 1; //Calibration offset Current
+ ucExtcaliSwitch1 |= 0x20;
+
+ Uart2SendAck();
+ }
+ else
+ {
+ Uart2SendNack();
+ }
+ }
+ #endif
+1065
+1066 #if (UART0_DEFINE != 0)
+1067 /*************************************************************************************************
+1068 * 函数名: Uart0CaliTS1、Uart0CaliTS2
+1069 * 参 数: 无
+1070 * 返回值: 无
+1071 * 描 述: UART0通讯发送校准TS1/TS2数据
+1072 *************************************************************************************************/
+1073 void Uart0CaliTS1(void)
+1074 {
+1075 1 if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3))
+1076 1 {
+1077 2 bCaliFlg = 1; //Calibration TS1
+1078 2 uiExtTemp1 = ((U16)ucUart0Buf[3]<<8)|ucUart0Buf[4];
+1079 2 ucExtcaliSwitch1 |= 0x04;
+1080 2
+1081 2 Uart0SendAck();
+1082 2 }
+1083 1 else
+1084 1 {
+1085 2 Uart0SendNack();
+1086 2 }
+1087 1 }
+1088
+1089
+1090 void Uart0CaliTS2(void)
+1091 {
+1092 1 if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3))
+1093 1 {
+1094 2 bCaliFlg = 1; //Calibration TS2
+1095 2 uiExtTemp2 = ((U16)ucUart0Buf[3]<<8)|ucUart0Buf[4];
+1096 2 ucExtcaliSwitch1 |= 0x08;
+1097 2
+1098 2 Uart0SendAck();
+1099 2 }
+1100 1 else
+1101 1 {
+1102 2 Uart0SendNack();
+1103 2 }
+1104 1 }
+1105 #endif
+1106
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 19
+
+1107 #if (UART1_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart1CaliTS1、Uart1CaliTS2
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART1通讯发送校准TS1/TS2数据
+ *************************************************************************************************/
+ void Uart1CaliTS1(void)
+ {
+ if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3))
+ {
+ bCaliFlg = 1; //Calibration TS1
+ uiExtTemp1 = ((U16)ucUart1Buf[3]<<8)|ucUart1Buf[4];
+ ucExtcaliSwitch1 |= 0x04;
+
+ Uart1SendAck();
+ }
+ else
+ {
+ Uart1SendNack();
+ }
+ }
+
+
+ void Uart1CaliTS2(void)
+ {
+ if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3))
+ {
+ bCaliFlg = 1; //Calibration TS2
+ uiExtTemp2 = ((U16)ucUart1Buf[3]<<8)|ucUart1Buf[4];
+ ucExtcaliSwitch1 |= 0x08;
+
+ Uart1SendAck();
+ }
+ else
+ {
+ Uart1SendNack();
+ }
+ }
+ #endif
+1147
+1148 #if (UART2_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart2CaliTS1、Uart2CaliTS2
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART2通讯发送校准TS1/TS2数据
+ *************************************************************************************************/
+ void Uart2CaliTS1(void)
+ {
+ if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3))
+ {
+ bCaliFlg = 1; //Calibration TS1
+ uiExtTemp1 = ((U16)ucUart2Buf[3]<<8)|ucUart2Buf[4];
+ ucExtcaliSwitch1 |= 0x04;
+
+ Uart2SendAck();
+ }
+ else
+ {
+ Uart2SendNack();
+ }
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 20
+
+ }
+
+
+ void Uart2CaliTS2(void)
+ {
+ if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3))
+ {
+ bCaliFlg = 1; //Calibration TS2
+ uiExtTemp2 = ((U16)ucUart2Buf[3]<<8)|ucUart2Buf[4];
+ ucExtcaliSwitch1 |= 0x08;
+
+ Uart2SendAck();
+ }
+ else
+ {
+ Uart2SendNack();
+ }
+ }
+ #endif
+1188
+1189 #if (UART0_DEFINE != 0)
+1190 /*************************************************************************************************
+1191 * 函数名: Uart0CaliRTC
+1192 * 参 数: 无
+1193 * 返回值: 无
+1194 * 描 述: UART0通讯发送校准RTC数据
+1195 *************************************************************************************************/
+1196 void Uart0CaliRTC(void)
+1197 {
+1198 1 U8 i;
+1199 1
+1200 1 if(ucUart0Buf[3+ucUart0Buf[UART_LENGTH]] == CRC8cal(&ucUart0Buf, ucUart0Buf[UART_LENGTH]+3))
+1201 1 {
+1202 2 for(i=0; i<7; i++)
+1203 2 {
+1204 3 ucExtRTC[i] = ucUart0Buf[3+i];
+1205 3 }
+1206 2 bCaliFlg = 1;
+1207 2 ucExtcaliSwitch1 |= 0x80;
+1208 2 Uart0SendAck();
+1209 2 }
+1210 1 else
+1211 1 {
+1212 2 Uart0SendNack();
+1213 2 }
+1214 1 }
+1215 #endif
+1216
+1217 #if (UART1_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart1CaliRTC
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART1通讯发送校准RTC数据
+ *************************************************************************************************/
+ void Uart1CaliRTC(void)
+ {
+ U8 i;
+
+ if(ucUart1Buf[3+ucUart1Buf[UART_LENGTH]] == CRC8cal(&ucUart1Buf, ucUart1Buf[UART_LENGTH]+3))
+ {
+ for(i=0; i<7; i++)
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 21
+
+ {
+ ucExtRTC[i] = ucUart1Buf[3+i];
+ }
+ bCaliFlg = 1;
+ ucExtcaliSwitch1 |= 0x80;
+ Uart1SendAck();
+ }
+ else
+ {
+ Uart1SendNack();
+ }
+ }
+ #endif
+1244
+1245 #if (UART2_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart2CaliRTC
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART2通讯发送校准RTC数据
+ *************************************************************************************************/
+ void Uart2CaliRTC(void)
+ {
+ U8 i;
+
+ if(ucUart2Buf[3+ucUart2Buf[UART_LENGTH]] == CRC8cal(&ucUart2Buf, ucUart2Buf[UART_LENGTH]+3))
+ {
+ for(i=0; i<7; i++)
+ {
+ ucExtRTC[i] = ucUart2Buf[3+i];
+ }
+ bCaliFlg = 1;
+ ucExtcaliSwitch1 |= 0x80;
+ Uart2SendAck();
+ }
+ else
+ {
+ Uart2SendNack();
+ }
+ }
+ #endif
+1272
+1273 #if (UART0_DEFINE != 0)
+1274 /*************************************************************************************************
+1275 * 函数名: Uart0WrCmdProcess
+1276 * 参 数: 无
+1277 * 返回值: 无
+1278 * 描 述: UART0写命令处理函数
+1279 *************************************************************************************************/
+1280 void Uart0WrCmdProcess(void)
+1281 {
+1282 1 U8 xdata *rdaddr;
+1283 1 switch(ucUart0Buf[UART_CMD_NO])
+1284 1 {
+1285 2 case MANUFACTURE_COMMAND:
+1286 2 Uart0WriteManufacture();
+1287 2 break;
+1288 2 case DATA_FLASH_COMMAND:
+1289 2 Uart0ReadSubClassID(); //accept command is dataflashcommand 0x77
+1290 2 break;
+1291 2 case CALI_CUR_COMMAND:
+1292 2 Uart0CaliCurrent();
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 22
+
+1293 2 break;
+1294 2 case CALI_VOL_COMMAND:
+1295 2 Uart0CaliVoltage();
+1296 2 break;
+1297 2 case CALI_ZERO_CUR_COMMAND:
+1298 2 Uart0CaliCurOffset();
+1299 2 break;
+1300 2 case CALI_TS1_COMMAND:
+1301 2 Uart0CaliTS1();
+1302 2 break;
+1303 2 case CALI_TS2_COMMAND:
+1304 2 Uart0CaliTS2();
+1305 2 break;
+1306 2
+1307 2 case CALI_RTC_COMMAND:
+1308 2 Uart0CaliRTC();
+1309 2 break;
+1310 2 case SUB_PAGE1:
+1311 2 rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID];
+1312 2 Uart0WriteInfo(rdaddr);
+1313 2 break;
+1314 2 case SUB_PAGE2:
+1315 2 rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID];
+1316 2 Uart0WriteInfo(rdaddr);
+1317 2 break;
+1318 2
+1319 2 case CMD_E2PROM_ERASE:
+1320 2 if(ucUart0Buf[UART_DATA] == 0x55) //Testing equipment is properly
+1321 2 {
+1322 3 bE2PProcessFlg = 1;
+1323 3 bE2PErase = 1;
+1324 3 Uart0SendAck();
+1325 3 }
+1326 2 else
+1327 2 {
+1328 3 Uart0SendNack();
+1329 3 }
+1330 2 break;
+1331 2 }
+1332 1 }
+1333 #endif
+1334
+1335 #if (UART1_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart1WrCmdProcess
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART1写命令处理函数
+ *************************************************************************************************/
+ void Uart1WrCmdProcess(void)
+ {
+ U8 xdata *rdaddr;
+ switch(ucUart1Buf[UART_CMD_NO])
+ {
+ case MANUFACTURE_COMMAND:
+ Uart1WriteManufacture();
+ break;
+ case DATA_FLASH_COMMAND:
+ Uart1ReadSubClassID(); //accept command is dataflashcommand 0x77
+ break;
+ case CALI_CUR_COMMAND:
+ Uart1CaliCurrent();
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 23
+
+ break;
+ case CALI_VOL_COMMAND:
+ Uart1CaliVoltage();
+ break;
+ case CALI_ZERO_CUR_COMMAND:
+ Uart1CaliCurOffset();
+ break;
+ case CALI_TS1_COMMAND:
+ Uart1CaliTS1();
+ break;
+ case CALI_TS2_COMMAND:
+ Uart1CaliTS2();
+ break;
+
+ case CALI_RTC_COMMAND:
+ Uart1CaliRTC();
+ break;
+ case SUB_PAGE1:
+ rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID];
+ Uart1WriteInfo(rdaddr);
+ break;
+ case SUB_PAGE2:
+ rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID];
+ Uart1WriteInfo(rdaddr);
+ break;
+
+ case CMD_E2PROM_ERASE:
+ if(ucUart1Buf[UART_DATA] == 0x55) //Testing equipment is properly
+ {
+ bE2PProcessFlg = 1;
+ bE2PErase = 1;
+ Uart1SendAck();
+ }
+ else
+ {
+ Uart1SendNack();
+ }
+ break;
+ }
+ }
+ #endif
+1396
+1397 #if (UART2_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart2WrCmdProcess
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART2写命令处理函数
+ *************************************************************************************************/
+ void Uart2WrCmdProcess(void)
+ {
+ U8 xdata *rdaddr;
+ switch(ucUart2Buf[UART_CMD_NO])
+ {
+ case MANUFACTURE_COMMAND:
+ Uart2WriteManufacture();
+ break;
+ case DATA_FLASH_COMMAND:
+ Uart2ReadSubClassID(); //accept command is dataflashcommand 0x77
+ break;
+ case CALI_CUR_COMMAND:
+ Uart2CaliCurrent();
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 24
+
+ break;
+ case CALI_VOL_COMMAND:
+ Uart2CaliVoltage();
+ break;
+ case CALI_ZERO_CUR_COMMAND:
+ Uart2CaliCurOffset();
+ break;
+ case CALI_TS1_COMMAND:
+ Uart2CaliTS1();
+ break;
+ case CALI_TS2_COMMAND:
+ Uart2CaliTS2();
+ break;
+
+ case CALI_RTC_COMMAND:
+ Uart2CaliRTC();
+ break;
+ case SUB_PAGE1:
+ rdaddr = (U8 xdata *)Page1WrRdFuncTable[ucSubClassID];
+ Uart2WriteInfo(rdaddr);
+ break;
+ case SUB_PAGE2:
+ rdaddr = (U8 xdata *)Page2WrRdFuncTable[ucSubClassID];
+ Uart2WriteInfo(rdaddr);
+ break;
+
+ case CMD_E2PROM_ERASE:
+ if(ucUart2Buf[UART_DATA] == 0x55) //Testing equipment is properly
+ {
+ bE2PProcessFlg = 1;
+ bE2PErase = 1;
+ Uart2SendAck();
+ }
+ else
+ {
+ Uart2SendNack();
+ }
+ break;
+ }
+ }
+ #endif
+1458
+1459 #if (UART0_DEFINE != 0)
+1460 /*************************************************************************************************
+1461 * 函数名: Uart0IapCheckHandshake
+1462 * 参 数: 无
+1463 * 返回值: 无
+1464 * 描 述: IAP和ISP握手协议
+1465 *************************************************************************************************/
+1466 void Uart0IapCheckHandshake(void)
+1467 {
+1468 1 U8 i, databak;
+1469 1 U16 checksum = 0;
+1470 1
+1471 1 if(ucUart0BufPT == 2)
+1472 1 {
+1473 2 if(ucUart0Buf[HEARD2] != 0xA5)
+1474 2 {
+1475 3 ucUart0BufPT = 0;
+1476 3 }
+1477 2 else
+1478 2 {
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 25
+
+1479 3 uiReceCheckSum = 0; //帧头判断正确
+1480 3 ucUartErrCode = 0;
+1481 3 }
+1482 2 }
+1483 1 else
+1484 1 {
+1485 2 if(ucUart0BufPT < (ucUart0Buf[LENGTH]+9))
+1486 2 {
+1487 3 if(ucUart0BufPT <= (ucUart0Buf[LENGTH]+7))
+1488 3 {
+1489 4 uiReceCheckSum += ucUart0Buf[ucUart0BufPT-1];
+1490 4 }
+1491 3 if(ucUart0BufPT == (TARGET+1)) //检查ID
+1492 3 {
+1493 4 if(ucUart0Buf[TARGET] != IAP_BMSID)
+1494 4 {
+1495 5 ucUart0BufPT = 0;
+1496 5 }
+1497 4 }
+1498 3 else if(ucUart0BufPT == (COMMAND+1)) //检查COMMAND
+1499 3 {
+1500 4 if((ucUart0Buf[COMMAND] != IAP_CMD_HANDSHAKE))
+1501 4 {
+1502 5 ucUartErrCode |= IAPERROR_CMD;
+1503 5 }
+1504 4 }
+1505 3 }
+1506 2 else
+1507 2 {
+1508 3 ucUart0BufPT = 0;
+1509 3 if(uiReceCheckSum != ((ucUart0Buf[ucUart0Buf[LENGTH]+8]<<8) + ucUart0Buf[ucUart0Buf[LENGTH]+7]))
+1510 3 {
+1511 4 ucUartErrCode |= IAPERROR_CHECKSUM;
+1512 4 }
+1513 3
+1514 3 if(ucUartErrCode != 0) //如果有错误代码则不执行命令处理
+1515 3 {
+1516 4 ucUart0Buf[INDEXES] = ucUartErrCode;
+1517 4 }
+1518 3 else
+1519 3 {
+1520 4 bISPFlg = 1; //跳转到BOOT区
+1521 4 ucUart0Buf[INDEXES] = 0;
+1522 4 }
+1523 3
+1524 3 ucUart0Buf[LENGTH] = 0;
+1525 3 ucUart0Buf[COMMAND] = 0x0B;
+1526 3
+1527 3 databak = ucUart0Buf[SOURCE]; //交换源ID和目标ID
+1528 3 ucUart0Buf[SOURCE] = ucUart0Buf[TARGET];
+1529 3 ucUart0Buf[TARGET] = databak;
+1530 3
+1531 3 for(i=2; i<(ucUart0Buf[LENGTH]+7); i++)
+1532 3 {
+1533 4 checksum += ucUart0Buf[i];
+1534 4 }
+1535 3
+1536 3 ucUart0Buf[7+ucUart0Buf[LENGTH]] = checksum%256;
+1537 3 ucUart0Buf[8+ucUart0Buf[LENGTH]] = checksum/256;
+1538 3
+1539 3 Uart0SendAck();
+1540 3 }
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 26
+
+1541 2 }
+1542 1 }
+1543 #endif
+1544
+1545 #if (UART1_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart1IapCheckHandshake
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: IAP和ISP握手协议
+ *************************************************************************************************/
+ void Uart1IapCheckHandshake(void)
+ {
+ U8 i, databak;
+ U16 checksum = 0;
+
+ if(ucUart1BufPT == 2)
+ {
+ if(ucUart1Buf[HEARD2] != 0xA5)
+ {
+ ucUart1BufPT = 0;
+ }
+ else
+ {
+ uiReceCheckSum = 0; //帧头判断正确
+ ucUartErrCode = 0;
+ }
+ }
+ else
+ {
+ if(ucUart1BufPT < (ucUart1Buf[LENGTH]+9))
+ {
+ if(ucUart1BufPT <= (ucUart1Buf[LENGTH]+7))
+ {
+ uiReceCheckSum += ucUart1Buf[ucUart1BufPT-1];
+ }
+ if(ucUart1BufPT == (TARGET+1)) //检查ID
+ {
+ if(ucUart1Buf[TARGET] != IAP_BMSID)
+ {
+ ucUart1BufPT = 0;
+ }
+ }
+ else if(ucUart1BufPT == (COMMAND+1)) //检查COMMAND
+ {
+ if((ucUart1Buf[COMMAND] != IAP_CMD_HANDSHAKE))
+ {
+ ucUartErrCode |= IAPERROR_CMD;
+ }
+ }
+ }
+ else
+ {
+ ucUart1BufPT = 0;
+ if(uiReceCheckSum != ((ucUart1Buf[ucUart1Buf[LENGTH]+8]<<8) + ucUart1Buf[ucUart1Buf[LENGTH]+7]))
+ {
+ ucUartErrCode |= IAPERROR_CHECKSUM;
+ }
+
+ if(ucUartErrCode != 0) //如果有错误代码则不执行命令处理
+ {
+ ucUart1Buf[INDEXES] = ucUartErrCode;
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 27
+
+ }
+ else
+ {
+ bISPFlg = 1; //跳转到BOOT区
+ ucUart1Buf[INDEXES] = 0;
+ }
+
+ ucUart1Buf[LENGTH] = 0;
+ ucUart1Buf[COMMAND] = 0x0B;
+
+ databak = ucUart1Buf[SOURCE]; //交换源ID和目标ID
+ ucUart1Buf[SOURCE] = ucUart1Buf[TARGET];
+ ucUart1Buf[TARGET] = databak;
+
+ for(i=2; i<(ucUart1Buf[LENGTH]+7); i++)
+ {
+ checksum += ucUart1Buf[i];
+ }
+
+ ucUart1Buf[7+ucUart1Buf[LENGTH]] = checksum%256;
+ ucUart1Buf[8+ucUart1Buf[LENGTH]] = checksum/256;
+
+ Uart1SendAck();
+ }
+ }
+ }
+ #endif
+1630
+1631 #if (UART2_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: Uart2IapCheckHandshake
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: IAP和ISP握手协议
+ *************************************************************************************************/
+ void Uart2IapCheckHandshake(void)
+ {
+ U8 i, databak;
+ U16 checksum = 0;
+
+ if(ucUart2BufPT == 2)
+ {
+ if(ucUart2Buf[HEARD2] != 0xA5)
+ {
+ ucUart2BufPT = 0;
+ }
+ else
+ {
+ uiReceCheckSum = 0; //帧头判断正确
+ ucUartErrCode = 0;
+ }
+ }
+ else
+ {
+ if(ucUart2BufPT < (ucUart2Buf[LENGTH]+9))
+ {
+ if(ucUart2BufPT <= (ucUart2Buf[LENGTH]+7))
+ {
+ uiReceCheckSum += ucUart2Buf[ucUart2BufPT-1];
+ }
+ if(ucUart2BufPT == (TARGET+1)) //检查ID
+ {
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 28
+
+ if(ucUart2Buf[TARGET] != IAP_BMSID)
+ {
+ ucUart2BufPT = 0;
+ }
+ }
+ else if(ucUart2BufPT == (COMMAND+1)) //检查COMMAND
+ {
+ if((ucUart2Buf[COMMAND] != IAP_CMD_HANDSHAKE))
+ {
+ ucUartErrCode |= IAPERROR_CMD;
+ }
+ }
+ }
+ else
+ {
+ ucUart2BufPT = 0;
+ if(uiReceCheckSum != ((ucUart2Buf[ucUart2Buf[LENGTH]+8]<<8) + ucUart2Buf[ucUart2Buf[LENGTH]+7]))
+ {
+ ucUartErrCode |= IAPERROR_CHECKSUM;
+ }
+
+ if(ucUartErrCode != 0) //如果有错误代码则不执行命令处理
+ {
+ ucUart2Buf[INDEXES] = ucUartErrCode;
+ }
+ else
+ {
+ bISPFlg = 1; //跳转到BOOT区
+ ucUart2Buf[INDEXES] = 0;
+ }
+
+ ucUart2Buf[LENGTH] = 0;
+ ucUart2Buf[COMMAND] = 0x0B;
+
+ databak = ucUart2Buf[SOURCE]; //交换源ID和目标ID
+ ucUart2Buf[SOURCE] = ucUart2Buf[TARGET];
+ ucUart2Buf[TARGET] = databak;
+
+ for(i=2; i<(ucUart2Buf[LENGTH]+7); i++)
+ {
+ checksum += ucUart2Buf[i];
+ }
+
+ ucUart2Buf[7+ucUart2Buf[LENGTH]] = checksum%256;
+ ucUart2Buf[8+ucUart2Buf[LENGTH]] = checksum/256;
+
+ Uart2SendAck();
+ }
+ }
+ }
+ #endif
+1716
+1717 #if (UART0_DEFINE != 0)
+1718 /*************************************************************************************************
+1719 * 函数名: InterruptUart0AppRx
+1720 * 参 数: RxData:Uart0接收的数据,从SBUF0获取
+1721 * 返回值: 无
+1722 * 描 述: UART接收中断服务程序接口,中断处理函数会调用该函数
+1723 ucUart0Buf[0]--Slave Addr
+1724 ucUart0Buf[1]--CMD No.
+1725 ucUart0Buf[2]--Offset
+1726 ucUart0Buf[3]--Data Length
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 29
+
+1727 ucUart0Buf[4...]--Data
+1728 *************************************************************************************************/
+1729 void InterruptUart0AppRx(U8 RxData)
+1730 {
+1731 1 ucUart0Buf[ucUart0BufPT] = RxData;
+1732 1 ucUart0BufPT++;
+1733 1 if(ucUart0BufPT >= 140)
+1734 1 {
+1735 2 ucUart0BufPT = 0;
+1736 2 }
+1737 1 if(ucUart0BufPT == 1)
+1738 1 {
+1739 2 if((ucUart0Buf[UART_SLAVE_ADDR]&0xFE) == SADDR) //接收的第一个字节是否和UART地址匹配
+1740 2 {
+1741 3 if((ucUart0Buf[UART_SLAVE_ADDR]&0x01)==0) //bit7是R/W标志;0--R, 1--W
+1742 3 {
+1743 4 bUart0ReadFlg = 1;
+1744 4 bUart0WriteFlg = 0;
+1745 4 }
+1746 3 else
+1747 3 {
+1748 4 bUart0WriteFlg = 1;
+1749 4 bUart0ReadFlg = 0;
+1750 4 }
+1751 3 }
+1752 2 else if(ucUart0Buf[HEARD1] != 0x5A) //判断是否为IAP/ISP的起始帧
+1753 2 {
+1754 3 ucUart0BufPT = 0; //如果帧头错误,则复位指针
+1755 3 }
+1756 2 }
+1757 1
+1758 1 if(bUart0ReadFlg)
+1759 1 {
+1760 2 if(ucUart0BufPT==3)
+1761 2 {
+1762 3 Uart0RdCmdProcess(); //Read the command process
+1763 3 }
+1764 2 }
+1765 1 else if(bUart0WriteFlg)
+1766 1 {
+1767 2 if(ucUart0BufPT > (ucUart0Buf[UART_LENGTH]+3)) //If a write operation, and complete all the d
+ -ata has been received
+1768 2 {
+1769 3 Uart0WrCmdProcess(); //Write the command peocess
+1770 3 bUart0WriteFlg = 0; //PC write MCU communiaction over
+1771 3 ucUart0BufPT = 0;
+1772 3 }
+1773 2 }
+1774 1 else //非读非写操作时,即为ISP或者IAP的begin命令
+1775 1 {
+1776 2 Uart0IapCheckHandshake();
+1777 2 }
+1778 1 bUart0SndAckFlg = 0;
+1779 1
+1780 1 ucSleepTimerCnt = 0; //UART正常通讯会清零低功耗计数,UART复位计数
+1781 1 ucPDTimerCnt = 0;
+1782 1 ucUart0TimeoutCnt = 0;
+1783 1 }
+1784
+1785
+1786 /*************************************************************************************************
+1787 * 函数名: InterruptUart0AppTx
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 30
+
+1788 * 参 数: 无
+1789 * 返回值: 无
+1790 * 描 述: UART0发送中断服务程序接口,中断处理函数会调用该函数
+1791 *************************************************************************************************/
+1792 void InterruptUart0AppTx(void)
+1793 {
+1794 1 if((ucUart0Buf[HEARD1] == 0x5A) && (ucUart0Buf[HEARD2] == 0xA5) || bISPFlg)
+1795 1 {
+1796 2 if(ucUart0BufPT >= (ucUart0Buf[LENGTH]+8))
+1797 2 {
+1798 3 Uart0RxEn(); //Allow UART receive data
+1799 3 ucUart0BufPT = 0;
+1800 3 bUart0ReadFlg = 0; //PC read MCU communication over
+1801 3 ucUart0Buf[0] = 0;
+1802 3 ucUart0Buf[1] = 0;
+1803 3 ucUart0Buf[2] = 0;
+1804 3 ucUart0Buf[3] = 0;
+1805 3 bUart0SndAckFlg = 1;
+1806 3 }
+1807 2 else
+1808 2 {
+1809 3 ucUart0BufPT++;
+1810 3 Uart0TxEn(ucUart0Buf[ucUart0BufPT]); //20220620
+1811 3 }
+1812 2 }
+1813 1 else if((ucUart0BufPT==0) || (ucUart0BufPT>=ucUart0Buf[UART_LENGTH]+3))
+1814 1 {
+1815 2 Uart0RxEn(); //UART允许接收数据
+1816 2 ucUart0BufPT = 0;
+1817 2 bUart0ReadFlg = 0;
+1818 2 ucUart0Buf[0] = 0;
+1819 2 ucUart0Buf[1] = 0;
+1820 2 ucUart0Buf[2] = 0;
+1821 2 ucUart0Buf[3] = 0;
+1822 2 bUart0SndAckFlg = 1; //UART已发送过数据,主要用于需要等待发送A
+ -CK才能进一步操作的功能
+1823 2 }
+1824 1 else
+1825 1 {
+1826 2 ucUart0BufPT++;
+1827 2 Uart0TxEn(ucUart0Buf[ucUart0BufPT]);
+1828 2 }
+1829 1
+1830 1 ucSleepTimerCnt = 0; //UART正常通讯会清零低功耗计数,UART复位计数
+1831 1 ucPDTimerCnt = 0;
+1832 1 ucUart0TimeoutCnt = 0;
+1833 1 }
+1834
+1835
+1836 /*************************************************************************************************
+1837 * 函数名: InterruptUart0AppTx
+1838 * 参 数: 无
+1839 * 返回值: 无
+1840 * 描 述: UART0发送中断服务程序接口,中断处理函数会调用该函数
+1841 *************************************************************************************************/
+1842 void Uart0Check(void)
+1843 {
+1844 1 if(++ucUart0TimeoutCnt >= 4) //如果4*50mS没有UART通讯,则复位指针向量,并
+ -切换到接收模式
+1845 1 {
+1846 2 ucUart0TimeoutCnt = 0;
+1847 2 ucUart0BufPT = 0;
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 31
+
+1848 2 Uart0RxEn(); //UART允许接收数据
+1849 2 }
+1850 1 }
+1851 #endif
+1852
+1853 #if (UART1_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: InterruptUart1AppRx
+ * 参 数: RxData:Uart1接收的数据,从SBUF1获取
+ * 返回值: 无
+ * 描 述: UART1接收中断服务程序接口,中断处理函数会调用该函数
+ ucUart1Buf[0]--Slave Addr
+ ucUart1Buf[1]--CMD No.
+ ucUart1Buf[2]--Offset
+ ucUart1Buf[3]--Data Length
+ ucUart1Buf[4...]--Data
+ *************************************************************************************************/
+ void InterruptUart1AppRx(U8 RxData)
+ {
+ ucUart1Buf[ucUart1BufPT] = RxData;
+ ucUart1BufPT++;
+ if(ucUart1BufPT >= 140)
+ {
+ ucUart1BufPT = 0;
+ }
+ if(ucUart1BufPT == 1)
+ {
+ McuBank1Sel();
+ if((ucUart1Buf[UART_SLAVE_ADDR]&0xFE) == SADDR1) //接收的第一个字节是否和UART地址匹配
+ {
+ McuBank0Sel();
+ if((ucUart1Buf[UART_SLAVE_ADDR]&0x01)==0) //bit7是R/W标志;0--R, 1--W
+ {
+ bUart1ReadFlg = 1;
+ bUart1WriteFlg = 0;
+ }
+ else
+ {
+ bUart1WriteFlg = 1;
+ bUart1ReadFlg = 0;
+ }
+ }
+ else if(ucUart1Buf[HEARD1] != 0x5A) //判断是否为IAP/ISP的起始帧
+ {
+ ucUart1BufPT = 0; //如果帧头错误,则复位指针
+ }
+ }
+
+ if(bUart1ReadFlg)
+ {
+ if(ucUart1BufPT==3)
+ {
+ Uart1RdCmdProcess(); //Read the command process
+ }
+ }
+ else if (bUart1WriteFlg)
+ {
+ if(ucUart1BufPT > (ucUart1Buf[UART_LENGTH]+3)) //If a write operation, and complete all the d
+ -ata has been received
+ {
+ Uart1WrCmdProcess(); //Write the command peocess
+ bUart1WriteFlg = 0; //PC write MCU communiaction over
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 32
+
+ ucUart1BufPT = 0;
+ }
+ }
+ else //非读非写操作时,即为ISP或者IAP的begin命令
+ {
+ Uart1IapCheckHandshake();
+ }
+ bUart1SndAckFlg = 0;
+
+ ucSleepTimerCnt = 0; //UART正常通讯会清零低功耗计数,UART复位计数
+ ucPDTimerCnt = 0;
+ ucUart1TimeoutCnt = 0;
+ }
+
+
+ /*************************************************************************************************
+ * 函数名: InterruptUart1AppTx
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART1发送中断服务程序接口,中断处理函数会调用该函数
+ *************************************************************************************************/
+ void InterruptUart1AppTx(void)
+ {
+ if((ucUart1Buf[HEARD1] == 0x5A) && (ucUart1Buf[HEARD2] == 0xA5) || bISPFlg)
+ {
+ if(ucUart1BufPT >= (ucUart1Buf[LENGTH]+8))
+ {
+ Uart1RxEn(); //Allow UART receive data
+ ucUart1BufPT = 0;
+ bUart1ReadFlg = 0; //PC read MCU communication over
+ ucUart1Buf[0] = 0;
+ ucUart1Buf[1] = 0;
+ ucUart1Buf[2] = 0;
+ ucUart1Buf[3] = 0;
+ bUart1SndAckFlg = 1;
+ }
+ else
+ {
+ ucUart1BufPT++;
+ Uart1TxEn(ucUart1Buf[ucUart1BufPT]); //20220620
+ }
+ }
+ else if((ucUart1BufPT==0) || (ucUart1BufPT>=ucUart1Buf[UART_LENGTH]+3))
+ {
+ Uart1RxEn(); //UART允许接收数据
+ ucUart1BufPT = 0;
+ bUart1ReadFlg = 0;
+ ucUart1Buf[0] = 0;
+ ucUart1Buf[1] = 0;
+ ucUart1Buf[2] = 0;
+ ucUart1Buf[3] = 0;
+ bUart1SndAckFlg = 1; //UART已发送过数据,主要用于需要等待发送A
+ -CK才能进一步操作的功能
+ }
+ else
+ {
+ ucUart1BufPT++;
+ Uart1TxEn(ucUart1Buf[ucUart1BufPT]);
+ }
+
+ ucSleepTimerCnt = 0; //UART正常通讯会清零低功耗计数,UART复位计数
+ ucPDTimerCnt = 0;
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 33
+
+ ucUart1TimeoutCnt = 0;
+ }
+
+
+ /*************************************************************************************************
+ * 函数名: InterruptUart1AppTx
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART1发送中断服务程序接口,中断处理函数会调用该函数
+ *************************************************************************************************/
+ void Uart1Check(void)
+ {
+ if(++ucUart1TimeoutCnt >= 4) //如果4*50mS没有UART通讯,则复位指针向量,并
+ -切换到接收模式
+ {
+ ucUart1TimeoutCnt = 0;
+ ucUart1BufPT = 0;
+ Uart1RxEn(); //UART允许接收数据
+ }
+ }
+ #endif
+1990
+1991 #if (UART2_DEFINE != 0)
+ /*************************************************************************************************
+ * 函数名: InterruptUart2AppRx
+ * 参 数: RxData:Uart2接收的数据,从SBUF2获取
+ * 返回值: 无
+ * 描 述: UART2接收中断服务程序接口,中断处理函数会调用该函数
+ ucUart2Buf[0]--Slave Addr
+ ucUart2Buf[1]--CMD No.
+ ucUart2Buf[2]--Offset
+ ucUart2Buf[3]--Data Length
+ ucUart2Buf[4...]--Data
+ *************************************************************************************************/
+ void InterruptUart2AppRx(U8 RxData)
+ {
+ ucUart2Buf[ucUart2BufPT] = RxData;
+ ucUart2BufPT++;
+ if(ucUart2BufPT >= 140)
+ {
+ ucUart2BufPT = 0;
+ }
+ if(ucUart2BufPT == 1)
+ {
+ McuBank1Sel();
+ if((ucUart2Buf[UART_SLAVE_ADDR]&0xFE) == SADDR2) //接收的第一个字节是否和UART地址匹配
+ {
+ McuBank0Sel();
+ if((ucUart2Buf[UART_SLAVE_ADDR]&0x01)==0) //bit7是R/W标志;0--R, 1--W
+ {
+ bUart2ReadFlg = 1;
+ bUart2WriteFlg = 0;
+ }
+ else
+ {
+ bUart2WriteFlg = 1;
+ bUart2ReadFlg = 0;
+ }
+ }
+ else if(ucUart2Buf[HEARD1] != 0x5A) //判断是否为IAP/ISP的起始帧
+ {
+ ucUart2BufPT = 0; //如果帧头错误,则复位指针
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 34
+
+ }
+ }
+
+ if(bUart2ReadFlg)
+ {
+ if(ucUart2BufPT==3)
+ {
+ Uart2RdCmdProcess(); //Read the command process
+ }
+ }
+ else if(bUart2WriteFlg)
+ {
+ if(ucUart2BufPT > (ucUart2Buf[UART_LENGTH]+3)) //If a write operation, and complete all the d
+ -ata has been received
+ {
+ Uart2WrCmdProcess(); //Write the command peocess
+ bUart2WriteFlg = 0; //PC write MCU communiaction over
+ ucUart2BufPT = 0;
+ }
+ }
+ else //非读非写操作时,即为ISP或者IAP的begin命令
+ {
+ Uart2IapCheckHandshake();
+ }
+ bUart2SndAckFlg = 0;
+
+ ucSleepTimerCnt = 0; //UART正常通讯会清零低功耗计数,UART复位计数
+ ucPDTimerCnt = 0;
+ ucUart2TimeoutCnt = 0;
+ }
+
+
+ /*************************************************************************************************
+ * 函数名: InterruptUartAppTx
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART发送中断服务程序接口,中断处理函数会调用该函数
+ *************************************************************************************************/
+ void InterruptUart2AppTx(void)
+ {
+ if((ucUart2Buf[HEARD1] == 0x5A) && (ucUart2Buf[HEARD2] == 0xA5) || bISPFlg)
+ {
+ if(ucUart2BufPT >= (ucUart2Buf[LENGTH]+8))
+ {
+ Uart2RxEn(); //Allow UART receive data
+ ucUart2BufPT = 0;
+ bUart2ReadFlg = 0; //PC read MCU communication over
+ ucUart2Buf[0] = 0;
+ ucUart2Buf[1] = 0;
+ ucUart2Buf[2] = 0;
+ ucUart2Buf[3] = 0;
+ bUart2SndAckFlg = 1;
+ }
+ else
+ {
+ ucUart2BufPT++;
+ Uart2TxEn(ucUart2Buf[ucUart2BufPT]); //20220620
+ }
+ }
+ else if((ucUart2BufPT==0) || (ucUart2BufPT>=ucUart2Buf[UART_LENGTH]+3))
+ {
+ Uart2RxEn(); //UART允许接收数据
+C51 COMPILER V9.01 UARTAPP 02/06/2025 15:28:45 PAGE 35
+
+ ucUart2BufPT = 0;
+ bUart2ReadFlg = 0;
+ ucUart2Buf[0] = 0;
+ ucUart2Buf[1] = 0;
+ ucUart2Buf[2] = 0;
+ ucUart2Buf[3] = 0;
+ bUart2SndAckFlg = 1; //UART已发送过数据,主要用于需要等待发送A
+ -CK才能进一步操作的功能
+ }
+ else
+ {
+ ucUart2BufPT++;
+ Uart2TxEn(ucUart2Buf[ucUart2BufPT]);
+ }
+
+ ucSleepTimerCnt = 0; //UART正常通讯会清零低功耗计数,UART复位计数
+ ucPDTimerCnt = 0;
+ ucUart2TimeoutCnt = 0;
+ }
+
+
+ /*************************************************************************************************
+ * 函数名: InterruptUart0AppTx
+ * 参 数: 无
+ * 返回值: 无
+ * 描 述: UART发送中断服务程序接口,中断处理函数会调用该函数
+ *************************************************************************************************/
+ void Uart2Check(void)
+ {
+ if(++ucUart2TimeoutCnt >= 4) //如果4*50mS没有UART通讯,则复位指针向量,并
+ -切换到接收模式
+ {
+ ucUart2TimeoutCnt = 0;
+ ucUart2BufPT = 0;
+ Uart2RxEn(); //UART允许接收数据
+ }
+ }
+ #endif
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = 2112 ----
+ CONSTANT SIZE = 72 ----
+ XDATA SIZE = 13 8
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = 10 ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
diff --git a/output/UartApp.obj b/output/UartApp.obj
new file mode 100644
index 0000000..2e59582
Binary files /dev/null and b/output/UartApp.obj differ
diff --git a/output/sh_iec60730b_8051f_addr._ia b/output/sh_iec60730b_8051f_addr._ia
new file mode 100644
index 0000000..ec29227
--- /dev/null
+++ b/output/sh_iec60730b_8051f_addr._ia
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_addr.S" NOMOD51 SET (LARGE) DEBUG PRINT(.\output\sh_iec60730b_8051f_addr.lst) OBJECT(.\output\sh_iec60730b_8051f_addr.obj) EP
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_addr.lst b/output/sh_iec60730b_8051f_addr.lst
new file mode 100644
index 0000000..7d16491
--- /dev/null
+++ b/output/sh_iec60730b_8051f_addr.lst
@@ -0,0 +1,324 @@
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_ADDR 10/11/2023 14:22:17 PAGE 1
+
+
+MACRO ASSEMBLER A51 V8.02
+NO OBJECT MODULE REQUESTED
+ASSEMBLER INVOKED BY: C:\Keil_v5\C51\BIN\A51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_addr.S NOMOD51 SET(LARGE) D
+ EBUG PRINT(.\output\sh_iec60730b_8051f_addr.lst) OBJECT(.\output\sh_iec60730b_8051f_addr.obj) EP
+
+LOC OBJ LINE SOURCE
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18 ;#include "sh_iec60730b_8051f_cfg.h"
+ 19
+*** ERROR #A318 IN 20 (code_classb\iec60730_lib\sh_iec60730b_8051f_addr.S, LINE 18): can't open file 'sh_iec60730b_8051f
+ _cfg.h'
+ 20
+ 21
+*** WARNING #A322 IN 22 (code_classb\iec60730_lib\sh_iec60730b_8051f_addr.S, LINE 21): 'SH_CHK_ADDRLINE_TEST_EN': unknown identifier
+ 22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_ADDR 10/11/2023 14:22:17 PAGE 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_ADDR 10/11/2023 14:22:17 PAGE 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_ADDR 10/11/2023 14:22:17 PAGE 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_ADDR 10/11/2023 14:22:17 PAGE 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 287
+ 288 END
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_ADDR 10/11/2023 14:22:17 PAGE 6
+
+SYMBOL TABLE LISTING
+------ ----- -------
+
+
+N A M E T Y P E V A L U E ATTRIBUTES
+
+
+
+REGISTER BANK(S) USED: 0
+
+
+ASSEMBLY COMPLETE. 0 WARNING(S), 2 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_aio.__i b/output/sh_iec60730b_8051f_aio.__i
new file mode 100644
index 0000000..05664dc
--- /dev/null
+++ b/output/sh_iec60730b_8051f_aio.__i
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_aio.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_aio.lst) OBJECT(.\output\sh_iec60730b_8051f_aio.obj)
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_aio.lst b/output/sh_iec60730b_8051f_aio.lst
new file mode 100644
index 0000000..a46466e
--- /dev/null
+++ b/output/sh_iec60730b_8051f_aio.lst
@@ -0,0 +1,85 @@
+C51 COMPILER V9.01 SH_IEC60730B_8051F_AIO 10/11/2023 14:22:16 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE SH_IEC60730B_8051F_AIO
+OBJECT MODULE PLACED IN .\output\sh_iec60730b_8051f_aio.obj
+COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_aio.c LARGE OPTIMIZE(7,SIZE)
+ - REGFILE(.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJ
+ -ECTEXTEND PRINT(.\output\sh_iec60730b_8051f_aio.lst) OBJECT(.\output\sh_iec60730b_8051f_aio.obj)
+
+line level source
+
+ 1 /*
+ 2 * IEC60730 Class B Library for SINOWEALTH 8051 based ICs.
+ 3 * File: sh_iec60730b_8051f_aio.c
+ 4 * Version: 1.0
+ 5 * Author: Robin.zhang Chaoming.luo
+ 6 * Date: 04/21/2023
+ 7 * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 * CONNECTION WITH THEIR PRODUCTS.
+ 14 *
+ 15 */
+ 16
+ 17 /*
+ 18 AREA |.text|,CODE,READONLY
+ 19 */
+ 20 #include "sh_iec60730b_8051f_cfg.h"
+*** WARNING C318 IN LINE 20 OF code_classb\iec60730_lib\sh_iec60730b_8051f_aio.c: can't open file 'sh_iec60730b_8051f_cf
+ -g.h'
+ 21 #include "MCURegister.h"
+ 22
+ 23 #if SH_CHK_AIO_TEST_EN == 1
+*** WARNING C322 IN LINE 23 OF code_classb\iec60730_lib\sh_iec60730b_8051f_aio.c: unknown identifier
+ SHT_RESULT __iec60730b_aio_state;
+
+ /*******************************************************************************
+ *
+ * @brief The function reads converted analog value and
+ * check if the value fits into predefined limits.
+ *
+ * This function reads converted value only
+ * if __iec60730b_aio_state == SH_CHK_AIO_PROGRESS.
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS - successfull execution of test (all channels tested).
+ * SH_CHK_FAIL_AIO - converted value doesn't fit into limits.
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_aio_input_check()
+ {
+ SHT_U8 i;
+ __iec60730b_aio_state = SH_CHK_PASS;
+ for( i = 0; i < SH_CHK_AIO_TEST_NUM; i++)
+ {
+ if(__iec60730b_aio_val[i] < __iec60730b_aio_limit[i].low || __iec60730b_aio_val[i] > __iec60730b_a
+ -io_limit[i].high)
+ {
+ __iec60730b_aio_state = SH_CHK_FAIL_AIO;
+ break;
+C51 COMPILER V9.01 SH_IEC60730B_8051F_AIO 10/11/2023 14:22:16 PAGE 2
+
+ }
+ }
+ return __iec60730b_aio_state;
+ }
+ #endif
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = ---- ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_aio.obj b/output/sh_iec60730b_8051f_aio.obj
new file mode 100644
index 0000000..59c0350
Binary files /dev/null and b/output/sh_iec60730b_8051f_aio.obj differ
diff --git a/output/sh_iec60730b_8051f_checksum._ia b/output/sh_iec60730b_8051f_checksum._ia
new file mode 100644
index 0000000..f801ad3
--- /dev/null
+++ b/output/sh_iec60730b_8051f_checksum._ia
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_checksum.S" NOMOD51 SET (LARGE) DEBUG PRINT(.\output\sh_iec60730b_8051f_checksum.lst) OBJECT(.\output\sh_iec60730b_8051f_checksum.obj) EP
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_checksum.lst b/output/sh_iec60730b_8051f_checksum.lst
new file mode 100644
index 0000000..a2198b8
--- /dev/null
+++ b/output/sh_iec60730b_8051f_checksum.lst
@@ -0,0 +1,67 @@
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_CHECKSUM 10/11/2023 14:22:17 PAGE 1
+
+
+MACRO ASSEMBLER A51 V8.02
+NO OBJECT MODULE REQUESTED
+ASSEMBLER INVOKED BY: C:\Keil_v5\C51\BIN\A51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_checksum.S NOMOD51 SET(LARG
+ E) DEBUG PRINT(.\output\sh_iec60730b_8051f_checksum.lst) OBJECT(.\output\sh_iec60730b_8051f_checksum.obj) EP
+
+LOC OBJ LINE SOURCE
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19 ;$include (sh_iec60730b_8051f_cfg.h)
+ 20
+*** ERROR #A318 IN 21 (code_classb\iec60730_lib\sh_iec60730b_8051f_checksum.S, LINE 19): can't open file 'sh_iec60730b_8
+ 051f_cfg.h'
+ 21
+ 22
+ 23
+ 24 PUBLIC __iec60730b_flash_checksum
+ 25 CSEG AT (SH_CHK_FLASH_END_ADDR - 2)
+*** _____________________________________^
+*** ______________________________________^
+*** ERROR #A21 IN 25 (code_classb\iec60730_lib\sh_iec60730b_8051f_checksum.S, LINE 24): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
+*** ERROR #A45 IN 25 (code_classb\iec60730_lib\sh_iec60730b_8051f_checksum.S, LINE 24): UNDEFINED SYMBOL (PASS-2)
+0000 26 __iec60730b_flash_checksum:
+0000 55 27 DB 55H
+0001 55 28 DB 55H
+ 29 END
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_CHECKSUM 10/11/2023 14:22:17 PAGE 2
+
+SYMBOL TABLE LISTING
+------ ----- -------
+
+
+N A M E T Y P E V A L U E ATTRIBUTES
+
+SH_CHK_FLASH_END_ADDR. . . ---- -----
+__IEC60730B_FLASH_CHECKSUM C ADDR 0000H A
+
+
+REGISTER BANK(S) USED: 0
+
+
+ASSEMBLY COMPLETE. 0 WARNING(S), 3 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_clock.__i b/output/sh_iec60730b_8051f_clock.__i
new file mode 100644
index 0000000..a4aaad7
--- /dev/null
+++ b/output/sh_iec60730b_8051f_clock.__i
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_clock.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_clock.lst) OBJECT(.\output\sh_iec60730b_8051f_clock.obj)
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_clock.lst b/output/sh_iec60730b_8051f_clock.lst
new file mode 100644
index 0000000..42e6f66
--- /dev/null
+++ b/output/sh_iec60730b_8051f_clock.lst
@@ -0,0 +1,95 @@
+C51 COMPILER V9.01 SH_IEC60730B_8051F_CLOCK 10/11/2023 14:22:16 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE SH_IEC60730B_8051F_CLOCK
+OBJECT MODULE PLACED IN .\output\sh_iec60730b_8051f_clock.obj
+COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_clock.c LARGE OPTIMIZE(7,SIZ
+ -E) REGFILE(.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG O
+ -BJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_clock.lst) OBJECT(.\output\sh_iec60730b_8051f_clock.obj)
+
+line level source
+
+ 1 /*
+ 2 * IEC60730 Class B Library for SINOWEALTH 8051 based ICs.
+ 3 * File: sh_iec60730b_8051f_clock.c
+ 4 * Version: 1.0
+ 5 * Author: Robin.zhang Chaoming.luo
+ 6 * Date: 04/21/2023
+ 7 * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 * CONNECTION WITH THEIR PRODUCTS.
+ 14 *
+ 15 */
+ 16
+ 17
+ 18 #include "sh_iec60730b_8051f_cfg.h"
+*** WARNING C318 IN LINE 18 OF code_classb\iec60730_lib\sh_iec60730b_8051f_clock.c: can't open file 'sh_iec60730b_8051f_
+ -cfg.h'
+ 19
+ 20 #if SH_CHK_CLOCK_EN == 1
+*** WARNING C322 IN LINE 20 OF code_classb\iec60730_lib\sh_iec60730b_8051f_clock.c: unknown identifier
+ SHT_U16 __iec60730b_clk_context;
+ SHT_U16 __iec60730b_clk_limit_low;
+ SHT_U16 __iec60730b_clk_limit_high;
+ /********************************************************************************
+ *
+ * @brief Function checks if the testContext value is within the defined limits.
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS - testContext fit into limits.
+ * SH_CHK_FAIL_CLK - testContext value doesn't fit into limits.
+ * SH_CHK_FAIL_CLK_PROGRESS - reference counter value not read yet.
+ *
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_clk_check()
+ {
+ if((__iec60730b_clk_context+1) == 0)
+ return SH_CHK_FAIL_CLK_PROGRESS;
+
+ if(__iec60730b_clk_context >= __iec60730b_clk_limit_high)
+ return SH_CHK_FAIL_CLK;
+
+ if(__iec60730b_clk_context <= __iec60730b_clk_limit_low)
+ return SH_CHK_FAIL_CLK;
+
+ return SH_CHK_PASS;
+ }
+
+ /*******************************************************************************
+C51 COMPILER V9.01 SH_IEC60730B_8051F_CLOCK 10/11/2023 14:22:16 PAGE 2
+
+ *
+ * @brief Function initializes the clock test.
+ *
+ * @param *pTestContext - pointer to the variable which holds
+ * captured timer value.
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ void sh_8051f_clk_init()
+ {
+ __iec60730b_clk_context = 0xFFFFF;
+ }
+
+ #endif
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = ---- ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_clock.obj b/output/sh_iec60730b_8051f_clock.obj
new file mode 100644
index 0000000..c83c4d0
Binary files /dev/null and b/output/sh_iec60730b_8051f_clock.obj differ
diff --git a/output/sh_iec60730b_8051f_dio.__i b/output/sh_iec60730b_8051f_dio.__i
new file mode 100644
index 0000000..649aae5
--- /dev/null
+++ b/output/sh_iec60730b_8051f_dio.__i
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_dio.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_dio.lst) OBJECT(.\output\sh_iec60730b_8051f_dio.obj)
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_dio.lst b/output/sh_iec60730b_8051f_dio.lst
new file mode 100644
index 0000000..dd0192a
--- /dev/null
+++ b/output/sh_iec60730b_8051f_dio.lst
@@ -0,0 +1,261 @@
+C51 COMPILER V9.01 SH_IEC60730B_8051F_DIO 10/11/2023 14:22:17 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE SH_IEC60730B_8051F_DIO
+OBJECT MODULE PLACED IN .\output\sh_iec60730b_8051f_dio.obj
+COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_dio.c LARGE OPTIMIZE(7,SIZE)
+ - REGFILE(.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJ
+ -ECTEXTEND PRINT(.\output\sh_iec60730b_8051f_dio.lst) OBJECT(.\output\sh_iec60730b_8051f_dio.obj)
+
+line level source
+
+ 1 /*
+ 2 * IEC60730 Class B Library for SINOWEALTH 8051 based ICs.
+ 3 * File: sh_iec60730b_8051f_dio.c
+ 4 * Version: 1.0
+ 5 * Author: Robin.zhang Chaoming.luo
+ 6 * Date: 04/21/2023
+ 7 * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 * CONNECTION WITH THEIR PRODUCTS.
+ 14 *
+ 15 */
+ 16
+ 17 #include "sh_iec60730b_8051f_cfg.h"
+*** WARNING C318 IN LINE 17 OF code_classb\iec60730_lib\sh_iec60730b_8051f_dio.c: can't open file 'sh_iec60730b_8051f_cf
+ -g.h'
+ 18
+ 19
+ 20 #if SH_CHK_DIO_TEST_EN == 1
+*** WARNING C322 IN LINE 20 OF code_classb\iec60730_lib\sh_iec60730b_8051f_dio.c: unknown identifier
+ /*******************************************************************************
+ *
+ * @brief Checks whether the tested pin has the expected input value.
+ *
+ * @param *pTestedPin - pointer to tested pin struct.
+ * @param expectedValue - expected input value.
+ *
+ * @return SH_CHK_PASS
+ * SH_CHK_FAIL_DIO
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_dio_input(SHT_GPIO_ID pin, SHT_BOOL expectedValue)
+ {
+ SHT_BOOL readv = sh_8051f_dio_read_port_val(pin);
+ readv >>= (pin&0xF);
+ readv &= 1;
+ if(readv != expectedValue)
+ return SH_CHK_FAIL_DIO;
+ else
+ return SH_CHK_PASS;
+ }
+
+ /*******************************************************************************
+ *
+ * @brief Function tests whether the tested pin, that is configured as the input one, has the expected
+ -value.
+ * It is adapted to be used as a "get" function for the sh_8051f_dio_short_to_supply_set() and
+ the sh_8051f_dio_short_to_adjacent_set() function.
+ * If the Adjacent pin is not involved in test, then tested pin parameters can be entered instea
+ -d the adjacent pin parameters.
+C51 COMPILER V9.01 SH_IEC60730B_8051F_DIO 10/11/2023 14:22:17 PAGE 2
+
+ * Both tested pin and adjacent pin must be configured as GPIO before the call of the function!!
+ -!
+ *
+ * @param *pTestedPin - pointer to tested pin struct.
+ * @param *pAdjPin - pointer to adjacent pin struct.
+ * @param testedPinValue - expected value of the tested pin (logical 0 or logical 1).
+ * @param backupEnable - flag. if non-zero, backup functionality is enable/active.
+ *
+ * @return SH_CHK_PASS
+ * SH_CHK_FAIL_DIO
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_dio_input_ext(SHT_IEC60730B_DIO_TEST *pTestedPin,SHT_IEC60730B_DIO_TEST *pAdjPin, SHT_
+ -BOOL expectedValue,SHT_BOOL backupEnable)
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ SHT_BOOL readv = sh_8051f_dio_read_port_cr(pTestedPin->gpio);
+
+ if(((readv >>(pTestedPin->gpio&0xF))&1) != SH_DIO_MODE_IN )
+ checkResult = SH_CHK_FAIL_DIO;
+ else
+ {
+ readv = sh_8051f_dio_read_port_val(pTestedPin->gpio);
+ readv >>= (pTestedPin->gpio&0xF);
+ readv &= 1;
+ if(expectedValue != readv)
+ checkResult = SH_CHK_FAIL_DIO;
+ }
+
+ if(backupEnable)
+ {//restore pins;
+ sh_8051f_dio_write_port_cr(pTestedPin->gpio,pTestedPin->bkCR);
+ sh_8051f_dio_write_port_pcr(pTestedPin->gpio,pTestedPin->bkPCR);
+ sh_8051f_dio_write_port_val(pTestedPin->gpio,pTestedPin->bkVAL);
+
+ if(pAdjPin != pTestedPin)
+ {
+ sh_8051f_dio_write_port_cr(pAdjPin->gpio,pTestedPin->bkCR);
+ sh_8051f_dio_write_port_pcr(pAdjPin->gpio,pTestedPin->bkPCR);
+ sh_8051f_dio_write_port_val(pAdjPin->gpio,pTestedPin->bkVAL);
+ }
+ }
+ return checkResult;
+ }
+
+ /*******************************************************************************
+ *
+ * @brief Function sets the tested pin as GPIO input with pull-up enable to test the pin against the sh
+ -ort to GND.
+ * For getting the result of the test, call the "sh_8051f_dio_input_ext()" function with
+ * the expected "testedPinValue" sets to 1 for GND.
+ * Tested pin must be configured as GPIO before the call of the function!
+ *
+ * @param *pTestedPin - pointer to tested pin struct.
+ * @param backupEnable - flag. If non-zero, backup functionality is enable/active.
+ *
+ * @return SH_CHK_PASS
+ * SH_CHK_FAIL_DIO
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_dio_short_to_supply_set(SHT_IEC60730B_DIO_TEST *pTestedPin, SHT_BOOL backupEnable)
+ {
+C51 COMPILER V9.01 SH_IEC60730B_8051F_DIO 10/11/2023 14:22:17 PAGE 3
+
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ SHT_BOOL readv = sh_8051f_dio_read_port_cr(pTestedPin->gpio);
+ if(backupEnable)
+ {
+ pTestedPin->bkCR = readv;
+ pTestedPin->bkVAL = sh_8051f_dio_read_port_val(pTestedPin->gpio);
+ pTestedPin->bkPCR = sh_8051f_dio_read_port_pcr(pTestedPin->gpio);
+ }
+ if(((readv >>(pTestedPin->gpio&0xF))&1) != SH_DIO_MODE_IN )
+ return SH_CHK_FAIL_DIO;
+
+ readv = sh_8051f_dio_read_port_pcr(pTestedPin->gpio);
+ readv |= (1<<(pTestedPin->gpio&0xF));
+ sh_8051f_dio_write_port_pcr(pTestedPin->gpio,readv);
+
+ return checkResult;
+ }
+
+ /*******************************************************************************
+ *
+ * @brief Function sets the tested pin as GPIO input with "testedPinValue".
+ * And the adjacent pin as GPIO output with opposite output value as for the tested pin.
+ * For getting the result of the test, call the "sh_8051f_dio_input()" function with the expecte
+ -d "testedPinValue".
+ * Both tested pin and adjacent pin must be configured as GPIO before the call of the function!
+ *
+ * @param *pTestedPin - pointer to tested pin struct.
+ * @param *pAdjPin - pointer to adjacent pin struct.
+ * @param testedPinValue - value that will be set on the tested pin.
+ * @param backupEnable - flag. If non-zero, backup functionality is enable/active.
+ *
+ * @return SH_CHK_PASS
+ * SH_CHK_FAIL_DIO
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_dio_short_to_adjacent_set(SHT_IEC60730B_DIO_TEST *pTestedPin, SHT_IEC60730B_DIO_TEST *
+ -pAdjPin, SHT_BOOL backupEnable)
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ SHT_BOOL readv = sh_8051f_dio_read_port_cr(pTestedPin->gpio);
+ if(backupEnable)
+ {
+ pTestedPin->bkCR = readv;
+ pTestedPin->bkVAL = sh_8051f_dio_read_port_val(pTestedPin->gpio);
+ pTestedPin->bkPCR = sh_8051f_dio_read_port_pcr(pTestedPin->gpio);
+
+ pAdjPin->bkCR = sh_8051f_dio_read_port_cr(pAdjPin->gpio);
+ pAdjPin->bkVAL = sh_8051f_dio_read_port_val(pAdjPin->gpio);
+ pAdjPin->bkPCR = sh_8051f_dio_read_port_pcr(pAdjPin->gpio);
+ }
+
+ if(((readv >>(pTestedPin->gpio&0xF))&1) != SH_DIO_MODE_IN )
+ return SH_CHK_FAIL_DIO;
+
+ /* pull up */
+ readv = sh_8051f_dio_read_port_pcr(pTestedPin->gpio);
+ readv |= (1<<(pTestedPin->gpio&0xF));
+ sh_8051f_dio_write_port_pcr(pTestedPin->gpio,readv);
+
+ /*adjacent pin output 0*/
+ readv = sh_8051f_dio_read_port_cr(pAdjPin->gpio);
+ readv |= (1<<(pAdjPin->gpio&0xF));
+C51 COMPILER V9.01 SH_IEC60730B_8051F_DIO 10/11/2023 14:22:17 PAGE 4
+
+ sh_8051f_dio_write_port_cr(pAdjPin->gpio,readv); /*set output mode*/
+ sh_8051f_dio_write_pin(pAdjPin->gpio,SH_DIO_PINV_0); /*out 0*/
+
+ return checkResult;
+ }
+
+
+ /*******************************************************************************
+ *
+ * @brief This function executes the digital output test.
+ * The test is focused only to test one digital pin.
+ *
+ * @param *pTestedPin - pointer to tested pin struct.
+ * @param delay - the delay needed to recognize the value change on tested pin.
+ *
+ * @return SH_CHK_PASS
+ * SH_CHK_FAIL_DIO
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_dio_output(SHT_GPIO_ID pin, SHT_U8 delay)
+ {
+ SHT_RESULT shResult = SH_CHK_PASS;
+ SHT_U8 readv = sh_8051f_dio_read_port_cr(pin);
+ if(((readv >>(pin&0xF))&1) != SH_DIO_MODE_OUT )
+ shResult = SH_CHK_FAIL_DIO;
+ else
+ {
+ SHT_U8 bkVAL = sh_8051f_dio_read_port_val(pin);
+
+ sh_8051f_dio_write_pin(pin,SH_DIO_PINV_0);
+ readv = delay;
+ while(readv){readv--;}
+ readv = sh_8051f_dio_read_port_val(pin);
+ if(((readv >>(pin&0xF))&1) != SH_DIO_PINV_0)
+ shResult = SH_CHK_FAIL_DIO;
+ else
+ {
+ sh_8051f_dio_write_pin(pin,SH_DIO_PINV_1);
+ readv = readv;
+ while(readv){readv--;}
+ readv = sh_8051f_dio_read_port_val(pin);
+ if(((readv >>(pin&0xF))&1) != SH_DIO_PINV_1)
+ shResult = SH_CHK_FAIL_DIO;
+ }
+
+ sh_8051f_dio_write_port_val(pin,bkVAL);
+ }
+
+ return shResult;
+ }
+ #endif
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = ---- ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+C51 COMPILER V9.01 SH_IEC60730B_8051F_DIO 10/11/2023 14:22:17 PAGE 5
+
+
+C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_dio.obj b/output/sh_iec60730b_8051f_dio.obj
new file mode 100644
index 0000000..3413061
Binary files /dev/null and b/output/sh_iec60730b_8051f_dio.obj differ
diff --git a/output/sh_iec60730b_8051f_ee.__i b/output/sh_iec60730b_8051f_ee.__i
new file mode 100644
index 0000000..b5182d7
--- /dev/null
+++ b/output/sh_iec60730b_8051f_ee.__i
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_ee.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_ee.lst) OBJECT(.\output\sh_iec60730b_8051f_ee.obj)
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_ee.lst b/output/sh_iec60730b_8051f_ee.lst
new file mode 100644
index 0000000..589908d
--- /dev/null
+++ b/output/sh_iec60730b_8051f_ee.lst
@@ -0,0 +1,267 @@
+C51 COMPILER V9.01 SH_IEC60730B_8051F_EE 10/11/2023 14:22:17 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE SH_IEC60730B_8051F_EE
+OBJECT MODULE PLACED IN .\output\sh_iec60730b_8051f_ee.obj
+COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_ee.c LARGE OPTIMIZE(7,SIZE)
+ -REGFILE(.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJE
+ -CTEXTEND PRINT(.\output\sh_iec60730b_8051f_ee.lst) OBJECT(.\output\sh_iec60730b_8051f_ee.obj)
+
+line level source
+
+ 1 /*
+ 2 * IEC60730 Class B Library for SINOWEALTH 8051 based ICs.
+ 3 * File: sh_iec60730b_8051f_ee.c
+ 4 * Version: 1.0
+ 5 * Author: Robin.zhang Chaoming.luo
+ 6 * Date: 04/21/2023
+ 7 * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 * CONNECTION WITH THEIR PRODUCTS.
+ 14 *
+ 15 */
+ 16
+ 17 #include "sh_iec60730b_8051f_cfg.h"
+*** WARNING C318 IN LINE 17 OF code_classb\iec60730_lib\sh_iec60730b_8051f_ee.c: can't open file 'sh_iec60730b_8051f_cfg
+ -.h'
+ 18 #include "MCURegister.h"
+ 19
+ 20 #if SH_CHK_EE_EN == 1
+*** WARNING C322 IN LINE 20 OF code_classb\iec60730_lib\sh_iec60730b_8051f_ee.c: unknown identifier
+
+ SHT_EEADDR xdata __iec60730b_ee1_checksum;
+ SHT_EEADDR __iec60730b_ee1_addr;
+ SHT_U16 __iec60730b_ee1_crc;
+
+ SHT_EEADDR xdata __iec60730b_ee2_checksum;
+ SHT_EEADDR __iec60730b_ee2_addr;
+ SHT_U16 __iec60730b_ee2_crc;
+
+ SHT_U16 __iec60730b_ee_xram_crc;
+ SHT_U16 xdata __iec60730b_ee_xram_checksum _at_ SH_CHK_EETOXRAM_END_ADDR;
+
+ SHT_U16 code CRC16Table[256]=
+ {
+ 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
+ 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
+ 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
+ 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
+ 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
+ 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
+ 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
+ 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
+ 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
+ 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
+ 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
+ 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
+ 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
+ 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
+ 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
+ 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
+C51 COMPILER V9.01 SH_IEC60730B_8051F_EE 10/11/2023 14:22:17 PAGE 2
+
+ 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
+ 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
+ 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
+ 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
+ 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
+ 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
+ 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
+ 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
+ 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
+ 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
+ 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
+ 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
+ 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
+ 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
+ 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
+ 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
+ };
+
+ /*******************************************************************************
+ *
+ * @brief This function generate the 16-bit CRC value using SW.
+ *
+ * @param dataIn - tested data.
+ * @param crcVal - start condition seed (for the first iteration it is
+ * typically user defined value, for the next iterations
+ * it is the result from the previous function call).
+ *
+ * @return 16-bit crc value of the memory range (CRC-16-CCITT - normal 0x1021).
+ *
+ ******************************************************************************/
+ SHT_U16 sh_8051f_crc_ee_sw16(SHT_U8 dataIn, SHT_U16 crcVal)
+ {
+ SHT_U8 crcVH;
+ SHT_U8 i;
+ for(i = 0; i < 8; i++)
+ {
+ crcVH = crcVal>>8;
+ crcVal <<= 1;
+ if((dataIn ^ crcVH) >> 7)
+ crcVal ^= 0x1021;
+ dataIn <<= 1;
+ }
+ return crcVal;
+ }
+
+ /*******************************************************************************
+ *
+ * @brief This function caculate CRC in runtime and check the result after done.
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS
+ * SH_CHK_FAIL_EE
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_ee1_runtime(void)
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ if(__iec60730b_ee1_addr == SH_CHK_EE1_START_ADDR)
+ __iec60730b_ee1_crc = 0xFFFF;
+
+ sh_8051f_ee_readchecksum((SH_CHK_EE1_END_ADDR-2), (SHT_RESULT xdata *)&__iec60730b_ee1_checksum, 2);
+C51 COMPILER V9.01 SH_IEC60730B_8051F_EE 10/11/2023 14:22:17 PAGE 3
+
+
+ FLASHCON |= 0x01; //MOVC instruction or SSP function access EEPROM area
+ __iec60730b_ee1_crc = sh_8051f_crc_ee_sw16(*(SHT_U8 code *)__iec60730b_ee1_addr, __iec60730b_ee1_crc)
+ -;
+ FLASHCON &= ~0x01; //MOVC instruction or SSP function access Main Block area
+
+ __iec60730b_ee1_addr++;
+ if(__iec60730b_ee1_addr >= (SH_CHK_EE1_END_ADDR-2))
+ {
+ if(__iec60730b_ee1_crc != __iec60730b_ee1_checksum)
+ checkResult = SH_CHK_FAIL_EE;
+ __iec60730b_ee1_addr = SH_CHK_EE1_START_ADDR;
+ }
+ return checkResult;
+ }
+
+ /*******************************************************************************
+ *
+ * @brief This function caculate CRC in runtime and check the result after done.
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS
+ * SH_CHK_FAIL_EE
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_ee2_runtime(void)
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ if(__iec60730b_ee2_addr == SH_CHK_EE2_START_ADDR)
+ __iec60730b_ee2_crc = 0xFFFF;
+
+ sh_8051f_ee_readchecksum((SH_CHK_EE2_END_ADDR-2), (SHT_RESULT xdata *)&__iec60730b_ee2_checksum, 2);
+
+ FLASHCON |= 0x01; //MOVC instruction or SSP function access EEPROM area
+ __iec60730b_ee2_crc = sh_8051f_crc_ee_sw16(*(SHT_U8 code *)__iec60730b_ee2_addr, __iec60730b_ee2_crc)
+ -;
+ FLASHCON &= ~0x01; //MOVC instruction or SSP function access Main Block area
+
+ __iec60730b_ee2_addr++;
+ if(__iec60730b_ee2_addr >= (SH_CHK_EE2_END_ADDR-2))
+ {
+ if(__iec60730b_ee2_crc != __iec60730b_ee2_checksum)
+ checkResult = SH_CHK_FAIL_EE;
+ __iec60730b_ee2_addr = SH_CHK_EE2_START_ADDR;
+ }
+ return checkResult;
+ }
+
+ /*************************************************************************************************
+ *
+ * @brief This function reads the CRC of the EEPROM at run time.
+ *
+ * @param SourceAddr -Source address
+ * @param *TargetAddr -Target address
+ * @param Length -Read length
+ *
+ *************************************************************************************************/
+ void sh_8051f_ee_readchecksum(SHT_EEADDR SourceAddr, SHT_RESULT xdata *TargetAddr, SHT_EEADDR Length)
+ {
+ SHT_EEADDR i;
+ SHT_RESULT xdata *data TargetAddr1 = TargetAddr;
+C51 COMPILER V9.01 SH_IEC60730B_8051F_EE 10/11/2023 14:22:17 PAGE 4
+
+
+ FLASHCON |= 0x01; //MOVC instruction or SSP function access EEPROM area
+ for(i=0; i 0; counter--)
+ {
+ crc16 = CRC16Table[(SHT_U8)(*p ^ (crc16 >> 8))] ^ (crc16 << 8);
+ p++;
+ }
+ return(crc16);
+ }
+ #endif
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = ---- ----
+ CONSTANT SIZE = ---- ----
+C51 COMPILER V9.01 SH_IEC60730B_8051F_EE 10/11/2023 14:22:17 PAGE 5
+
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_ee.obj b/output/sh_iec60730b_8051f_ee.obj
new file mode 100644
index 0000000..1b2e02c
Binary files /dev/null and b/output/sh_iec60730b_8051f_ee.obj differ
diff --git a/output/sh_iec60730b_8051f_flash.__i b/output/sh_iec60730b_8051f_flash.__i
new file mode 100644
index 0000000..beae2c6
--- /dev/null
+++ b/output/sh_iec60730b_8051f_flash.__i
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_flash.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_flash.lst) OBJECT(.\output\sh_iec60730b_8051f_flash.obj)
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_flash.lst b/output/sh_iec60730b_8051f_flash.lst
new file mode 100644
index 0000000..65402d3
--- /dev/null
+++ b/output/sh_iec60730b_8051f_flash.lst
@@ -0,0 +1,162 @@
+C51 COMPILER V9.01 SH_IEC60730B_8051F_FLASH 10/11/2023 14:22:17 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE SH_IEC60730B_8051F_FLASH
+OBJECT MODULE PLACED IN .\output\sh_iec60730b_8051f_flash.obj
+COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_flash.c LARGE OPTIMIZE(7,SIZ
+ -E) REGFILE(.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG O
+ -BJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_flash.lst) OBJECT(.\output\sh_iec60730b_8051f_flash.obj)
+
+line level source
+
+ 1 /*
+ 2 * IEC60730 Class B Library for SINOWEALTH 8051 based ICs.
+ 3 * File: sh_iec60730b_8051f_flash.c
+ 4 * Version: 1.0
+ 5 * Author: Robin.zhang Chaoming.luo
+ 6 * Date: 04/21/2023
+ 7 * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 * CONNECTION WITH THEIR PRODUCTS.
+ 14 *
+ 15 */
+ 16
+ 17 #include "sh_iec60730b_8051f_cfg.h"
+*** WARNING C318 IN LINE 17 OF code_classb\iec60730_lib\sh_iec60730b_8051f_flash.c: can't open file 'sh_iec60730b_8051f_
+ -cfg.h'
+ 18 #include "MCURegister.h"
+ 19
+ 20 #if SH_CHK_FLASH_EN == 1
+*** WARNING C322 IN LINE 20 OF code_classb\iec60730_lib\sh_iec60730b_8051f_flash.c: unknown identifier
+ SHT_FLASHADDR __iec60730b_flash_addr;
+ SHT_U16 __iec60730b_flash_crc;
+ SHT_U16 __iec60730b_boot_checksum;
+
+ /*******************************************************************************
+ *
+ * @brief This function generate the 16-bit CRC value using SW.
+ *
+ * @param dataIn - tested data.
+ * @param crcVal - start condition seed (for the first iteration it is
+ * typically user defined value, for the next iterations
+ * it is the result from the previous function call).
+ *
+ * @return 16-bit crc value of the memory range (CRC-16-CCITT - normal 0x1021).
+ *
+ ******************************************************************************/
+ SHT_U16 sh_8051f_crc_sw16(SHT_U8 dataIn, SHT_U16 crcVal)
+ {
+ SHT_U8 crcVH;
+ SHT_U8 i;
+ for(i = 0; i < 8; i++)
+ {
+ crcVH = crcVal>>8;
+ crcVal <<= 1;
+ if((dataIn ^ crcVH) >> 7)
+ crcVal ^= 0x1021;
+ dataIn <<= 1;
+ }
+ return crcVal;
+ }
+C51 COMPILER V9.01 SH_IEC60730B_8051F_FLASH 10/11/2023 14:22:17 PAGE 2
+
+ #endif
+ 52 #if ((SH_CHK_FLASH_EN == 1)||(SH_CHK_EE_EN == 1)||(SH_CHK_BOOT_EN == 1))
+*** WARNING C322 IN LINE 52 OF code_classb\iec60730_lib\sh_iec60730b_8051f_flash.c: unknown identifier
+*** WARNING C322 IN LINE 52 OF code_classb\iec60730_lib\sh_iec60730b_8051f_flash.c: unknown identifier
+*** WARNING C322 IN LINE 52 OF code_classb\iec60730_lib\sh_iec60730b_8051f_flash.c: unknown identifier
+ /*******************************************************************************
+ *
+ * @brief This function generate the ROM CRC.
+ *
+ * @param startaddr - start addr.
+ * @param endaddr - end addr.
+ * @param crcromtype - crc code or eeprom.
+ *
+ * @return 16-bit crc value of the memory range (CRC-16-CCITT - normal 0x1021).
+ *
+ ******************************************************************************/
+ SHT_U16 sh_8051f_crc_code(SHT_EEADDR startaddr,SHT_EEADDR endaddr,SHT_U8 crcromtype)
+ {
+ CRCCON &= ~0x40;
+ CRCCON &= ~0x80; //stop CRC
+
+ CRCDL = 0xFF;
+ CRCDH = 0xFF;
+
+ if(crcromtype == MCU_CRC_EE)
+ {
+ FLASHCON |= 0x02;
+ }
+ else
+ {
+ FLASHCON &= ~0x02;
+ }
+ endaddr -= 3;
+
+ CRCSTAL = (SHT_U8)startaddr;
+ CRCSTAH = (SHT_U8)(startaddr >> 8);
+
+ CRCSTOL = (SHT_U8)endaddr;
+ CRCSTOH = (SHT_U8)(endaddr >> 8);
+
+ CRCCON |= 0x80; //start CRC
+
+ while((CRCCON & 0x40) == 0){}
+
+ CRCCON &= ~0x40;
+ return CRCD_16;
+ }
+ #endif
+ 96
+ 97 #if SH_CHK_FLASH_EN == 1
+*** WARNING C322 IN LINE 97 OF code_classb\iec60730_lib\sh_iec60730b_8051f_flash.c: unknown identifier
+ /*******************************************************************************
+ *
+ * @brief This function caculate CRC in runtime and check the result after done.
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS
+ * SH_CHK_FAIL_FLASH
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_flash_runtime(void)
+C51 COMPILER V9.01 SH_IEC60730B_8051F_FLASH 10/11/2023 14:22:17 PAGE 3
+
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ if(__iec60730b_flash_addr == SH_CHK_FLASH_START_ADDR)
+ __iec60730b_flash_crc = 0xFFFF;
+
+ __iec60730b_flash_crc = sh_8051f_crc_sw16(*(SHT_U8 code *)__iec60730b_flash_addr, __iec60730b_flash_c
+ -rc);
+
+ __iec60730b_flash_addr++;
+ if(__iec60730b_flash_addr >= (SH_CHK_FLASH_END_ADDR-2))
+ {
+ if(__iec60730b_flash_crc != __iec60730b_flash_checksum)
+ checkResult = SH_CHK_FAIL_FLASH;
+ __iec60730b_flash_addr = SH_CHK_FLASH_START_ADDR;
+ }
+ return checkResult;
+ }
+ #endif
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = ---- ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = ---- ----
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 6 WARNING(S), 0 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_flash.obj b/output/sh_iec60730b_8051f_flash.obj
new file mode 100644
index 0000000..6fd1c84
Binary files /dev/null and b/output/sh_iec60730b_8051f_flash.obj differ
diff --git a/output/sh_iec60730b_8051f_pc._ia b/output/sh_iec60730b_8051f_pc._ia
new file mode 100644
index 0000000..89e7724
--- /dev/null
+++ b/output/sh_iec60730b_8051f_pc._ia
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_pc.S" NOMOD51 SET (LARGE) DEBUG PRINT(.\output\sh_iec60730b_8051f_pc.lst) OBJECT(.\output\sh_iec60730b_8051f_pc.obj) EP
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_pc.lst b/output/sh_iec60730b_8051f_pc.lst
new file mode 100644
index 0000000..d93196e
--- /dev/null
+++ b/output/sh_iec60730b_8051f_pc.lst
@@ -0,0 +1,108 @@
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_PC 10/11/2023 14:22:18 PAGE 1
+
+
+MACRO ASSEMBLER A51 V8.02
+NO OBJECT MODULE REQUESTED
+ASSEMBLER INVOKED BY: C:\Keil_v5\C51\BIN\A51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_pc.S NOMOD51 SET(LARGE) DEB
+ UG PRINT(.\output\sh_iec60730b_8051f_pc.lst) OBJECT(.\output\sh_iec60730b_8051f_pc.obj) EP
+
+LOC OBJ LINE SOURCE
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18 ;#include "sh_iec60730b_8051f_cfg.h"
+ 19
+*** ERROR #A318 IN 20 (code_classb\iec60730_lib\sh_iec60730b_8051f_pc.S, LINE 18): can't open file 'sh_iec60730b_8051f_c
+ fg.h'
+ 20
+ 21
+*** WARNING #A322 IN 22 (code_classb\iec60730_lib\sh_iec60730b_8051f_pc.S, LINE 21): 'SH_CHK_PC_EN': unknown identifier
+ 22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_PC 10/11/2023 14:22:18 PAGE 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 77
+ 78 END
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_PC 10/11/2023 14:22:18 PAGE 3
+
+SYMBOL TABLE LISTING
+------ ----- -------
+
+
+N A M E T Y P E V A L U E ATTRIBUTES
+
+
+
+REGISTER BANK(S) USED: 0
+
+
+ASSEMBLY COMPLETE. 0 WARNING(S), 2 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_porting.__i b/output/sh_iec60730b_8051f_porting.__i
new file mode 100644
index 0000000..dc74887
--- /dev/null
+++ b/output/sh_iec60730b_8051f_porting.__i
@@ -0,0 +1 @@
+"code_classb\iec60730_proc\sh_iec60730b_8051f_porting.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_porting.lst) OBJECT(.\output\sh_iec60730b_8051f_porting.obj)
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_porting.lst b/output/sh_iec60730b_8051f_porting.lst
new file mode 100644
index 0000000..c28cc1a
--- /dev/null
+++ b/output/sh_iec60730b_8051f_porting.lst
@@ -0,0 +1,720 @@
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE SH_IEC60730B_8051F_PORTING
+OBJECT MODULE PLACED IN .\output\sh_iec60730b_8051f_porting.obj
+COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_classb\iec60730_proc\sh_iec60730b_8051f_porting.c LARGE OPTIMIZE(7,
+ -SIZE) REGFILE(.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBU
+ -G OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_porting.lst) OBJECT(.\output\sh_iec60730b_8051f_porting.obj)
+
+line level source
+
+ 1 /*
+ 2 * IEC60730 Class B TEST PROCESS for SINOWEALTH 8051 based ICs.
+ 3 * File: sh_iec60730b_8051f_testproc.h
+ 4 * Version: 1.0
+ 5 * Author: Robin.zhang Chaoming.luo
+ 6 * Date: 04/21/2023
+ 7 * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 * CONNECTION WITH THEIR PRODUCTS.
+ 14 *
+ 15 */
+ 16
+ 17 #include "sh_iec60730b_8051f_testproc.h"
+*** WARNING C318 IN LINE 17 OF code_classb\iec60730_proc\sh_iec60730b_8051f_porting.c: can't open file 'sh_iec60730b_805
+ -1f_testproc.h'
+ 18 #include "main.h"
+ 19
+ 20
+ 21 #if SH_CHK_DIO_TEST_EN == 1
+*** WARNING C322 IN LINE 21 OF code_classb\iec60730_proc\sh_iec60730b_8051f_porting.c: unknown identifier
+ /*******************************************************************************
+ *
+ * @brief This function is used for read GPIO port value
+ *
+ * @param pin: GPIO ID
+ *
+ * @return GPIO Value
+ *
+ ******************************************************************************/
+ SHT_U8 sh_8051f_dio_read_port_val(SHT_GPIO_ID pin)
+ {
+ SHT_U8 readV;
+ switch(pin&0xF0)
+ {
+ case 0x00:
+ readV = P0;
+ break;
+ case 0x10:
+ readV = P1;
+ break;
+ case 0x20:
+ readV = P2;
+ break;
+ case 0x30:
+ readV = P3;
+ break;
+ case 0x40:
+ readV = P4;
+ break;
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 2
+
+ case 0x50:
+ INSCON = 0x40; //SFR Bank1 selected
+ readV = P5;
+ INSCON = 0x00; //SFR Bank0 selected
+ break;
+ }
+ return readV;
+ }
+ /*******************************************************************************
+ *
+ * @brief This function is used for read GPIO port mode control register(CR)
+ *
+ * @param pin: GPIO ID
+ *
+ * @return GPIO mode control register value
+ *
+ ******************************************************************************/
+ SHT_U8 sh_8051f_dio_read_port_cr(SHT_GPIO_ID pin)
+ {
+ SHT_U8 readV;
+ switch(pin&0xF0)
+ {
+ case 0x00:
+ readV = P0CR;
+ break;
+ case 0x10:
+ readV = P1CR;
+ break;
+ case 0x20:
+ readV = P2CR;
+ break;
+ case 0x30:
+ readV = P3CR;
+ break;
+ case 0x40:
+ readV = P4CR;
+ break;
+ case 0x50:
+ INSCON = 0x40; //SFR Bank1 selected
+ readV = P5CR;
+ INSCON = 0x00; //SFR Bank0 selected
+ break;
+ }
+ return readV;
+ }
+ /*******************************************************************************
+ *
+ * @brief This function is used for read GPIO port pull control register(PCR)
+ *
+ * @param pin: GPIO ID
+ *
+ * @return GPIO pull control register value
+ *
+ ******************************************************************************/
+ SHT_U8 sh_8051f_dio_read_port_pcr(SHT_GPIO_ID pin)
+ {
+ SHT_U8 readV;
+ switch(pin&0xF0)
+ {
+ case 0x00:
+ readV = P0PCR;
+ break;
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 3
+
+ case 0x10:
+ readV = P1PCR;
+ break;
+ case 0x20:
+ readV = P2PCR;
+ break;
+ case 0x30:
+ readV = P3PCR;
+ break;
+ case 0x40:
+ readV = P4PCR;
+ break;
+ case 0x50:
+ INSCON = 0x40; //SFR Bank1 selected
+ readV = P5PCR;
+ INSCON = 0x00; //SFR Bank0 selected
+ break;
+ }
+ return readV;
+ }
+ /*******************************************************************************
+ *
+ * @brief This function is used for write GPIO pin value
+ *
+ * @param pin: GPIO ID
+ * pinVal: SH_DIO_PINV_0 or SH_DIO_PINV_1
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ void sh_8051f_dio_write_pin(SHT_GPIO_ID pin,SHT_BOOL pinVal)
+ {
+ SHT_U8 readV;
+ readV = 1;
+ readV <<= (pin&0xF);
+ if(pinVal == SH_DIO_PINV_1)
+ {
+ switch(pin&0xF0)
+ {
+ case 0x00:
+ P0 |= readV;
+ break;
+ case 0x10:
+ P1 |= readV;
+ break;
+ case 0x20:
+ P2 |= readV;
+ break;
+ case 0x30:
+ P3 |= readV;
+ break;
+ case 0x40:
+ P4 |= readV;
+ break;
+ case 0x50:
+ INSCON = 0x40; //SFR Bank1 selected
+ P5 |= readV;
+ INSCON = 0x00; //SFR Bank0 selected
+ break;
+ }
+ }
+ else
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 4
+
+ {
+ readV =~readV;
+ switch(pin&0xF0)
+ {
+ case 0x00:
+ P0 &= readV;
+ break;
+ case 0x10:
+ P1 &= readV;
+ break;
+ case 0x20:
+ P2 &= readV;
+ break;
+ case 0x30:
+ P3 &= readV;
+ break;
+ case 0x40:
+ P4 &= readV;
+ break;
+ case 0x50:
+ INSCON = 0x40; //SFR Bank1 selected
+ P5 &= readV;
+ INSCON = 0x00; //SFR Bank0 selected
+ break;
+ }
+ }
+ }
+ /*******************************************************************************
+ *
+ * @brief This function is used for write GPIO port value
+ *
+ * @param pin: GPIO ID
+ * writerv: value of all 8 pins
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ void sh_8051f_dio_write_port_val(SHT_GPIO_ID pin,SHT_U8 writev)
+ {
+ switch(pin&0xF0)
+ {
+ case 0x00:
+ P0 = writev;
+ break;
+ case 0x10:
+ P1 = writev;
+ break;
+ case 0x20:
+ P2 = writev;
+ break;
+ case 0x30:
+ P3 = writev;
+ break;
+ case 0x40:
+ P4 = writev;
+ break;
+ case 0x50:
+ INSCON = 0x40; //SFR Bank1 selected
+ P5 = writev;
+ INSCON = 0x00; //SFR Bank0 selected
+ break;
+ }
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 5
+
+ }
+ /*******************************************************************************
+ *
+ * @brief This function is used for write GPIO mode control register (CR)
+ *
+ * @param pin: GPIO ID
+ * writerv: value of mode control register
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ void sh_8051f_dio_write_port_cr(SHT_GPIO_ID pin,SHT_U8 writev)
+ {
+ switch(pin&0xF0)
+ {
+ case 0x00:
+ P0CR = writev;
+ break;
+ case 0x10:
+ P1CR = writev;
+ break;
+ case 0x20:
+ P2CR = writev;
+ break;
+ case 0x30:
+ P3CR = writev;
+ break;
+ case 0x40:
+ P4CR = writev;
+ break;
+ case 0x50:
+ INSCON = 0x40; //SFR Bank1 selected
+ P5CR = writev;
+ INSCON = 0x00; //SFR Bank0 selected
+ break;
+ }
+ }
+ /*******************************************************************************
+ *
+ * @brief This function is used for write GPIO pull control register(PCR)
+ *
+ * @param pin: GPIO ID
+ * writerv: value of pull control register
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ void sh_8051f_dio_write_port_pcr(SHT_GPIO_ID pin,SHT_U8 writev)
+ {
+ switch(pin&0xF0)
+ {
+ case 0x00:
+ P0PCR = writev;
+ break;
+ case 0x10:
+ P1PCR = writev;
+ break;
+ case 0x20:
+ P2PCR = writev;
+ break;
+ case 0x30:
+ P3PCR = writev;
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 6
+
+ break;
+ case 0x40:
+ P4PCR = writev;
+ break;
+ case 0x50:
+ INSCON = 0x40; //SFR Bank1 selected
+ P5PCR = writev;
+ INSCON = 0x00; //SFR Bank0 selected
+ break;
+ }
+ }
+
+ /* config tested pins */
+ static SHT_IEC60730B_DIO_TEST __iec60730b_dio_pin_out0 = {OUTPUT_PORT,0,0,0}; //P4_3 : output
+ static SHT_IEC60730B_DIO_TEST __iec60730b_dio_pin_in0 = {INPUT_PORT,0,0,0}; //P4_2 : check input
+
+ /*******************************************************************************
+ *
+ * @brief This function is used for Digital IO test
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS - digital IO tested correct
+ * SH_CHK_FAIL_DIO - digital IO failed
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_dio_test(void)
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ checkResult = sh_8051f_dio_short_to_adjacent_set(&__iec60730b_dio_pin_in0,
+ &__iec60730b_dio_pin_out0,
+ SH_DIO_BACKUP_ENABLE);
+ if( checkResult != SH_CHK_PASS)
+ return checkResult;
+ checkResult = sh_8051f_dio_input(__iec60730b_dio_pin_in0.gpio,SH_DIO_PINV_1);
+ if( checkResult != SH_CHK_PASS)
+ return checkResult;
+ checkResult = sh_8051f_dio_short_to_supply_set(&__iec60730b_dio_pin_in0,SH_DIO_BACKUP_DISABLE);
+ if( checkResult != SH_CHK_PASS)
+ return checkResult;
+ checkResult = sh_8051f_dio_input_ext(&__iec60730b_dio_pin_in0,&__iec60730b_dio_pin_out0,SH_DIO_PINV_1,
+ -SH_DIO_BACKUP_ENABLE);
+ if( checkResult != SH_CHK_PASS)
+ return checkResult;
+ checkResult = sh_8051f_dio_output(__iec60730b_dio_pin_out0.gpio,100);
+ if( checkResult != SH_CHK_PASS)
+ return checkResult;
+
+ return checkResult;
+ }
+ #endif
+ 348
+ 349 #if SH_CHK_AIO_TEST_EN == 1
+*** WARNING C322 IN LINE 349 OF code_classb\iec60730_proc\sh_iec60730b_8051f_porting.c: unknown identifier
+ /*******************************************************************************
+ *
+ * @brief Initialize Analog IO test structure
+ *
+ *
+ ******************************************************************************/
+ /*AIO convert limit*/
+ code const SHT_IEC60730B_AIO_LIMITS __iec60730b_aio_limit[SH_CHK_AIO_TEST_NUM] = {
+ {LOWER_LIMIT_CH1,UPPER_LIMIT_CH1},
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 7
+
+ {LOWER_LIMIT_CH2,UPPER_LIMIT_CH2},
+ // {LOWER_LIMIT_CH3,UPPER_LIMIT_CH3},
+ };
+ SHT_U16 __iec60730b_aio_val[SH_CHK_AIO_TEST_NUM] = {0}; /*ADC sequence index array*/
+ /*******************************************************************************
+ *
+ * @brief This function is used for Analog IO test
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS - Analog IO tested correct
+ * SH_CHK_FAIL_AIO - Analog IO failed
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_aio_test(void)
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+
+ // __iec60730b_aio_val[0] = uiAdcVal[VVBIAS];
+ // __iec60730b_aio_val[1] = uiAdcVal[VBG];
+
+ checkResult = sh_8051f_aio_input_check();
+
+ return checkResult;
+ }
+ /*******************************************************************************
+ *
+ * @brief This function is used for Analog IO test at runtime
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS - Analog IO tested correct
+ * SH_CHK_FAIL_AIO - Analog IO failed
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_aio_test_runtime(void)
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+
+ // __iec60730b_aio_val[0] = uiAdcVal[VVBIAS];
+ // __iec60730b_aio_val[1] = uiAdcVal[VBG];
+
+ checkResult = sh_8051f_aio_input_check();
+
+ return checkResult;
+ }
+ #endif
+ 404
+ 405 #if SH_CHK_WDG_EN == 1
+*** WARNING C322 IN LINE 405 OF code_classb\iec60730_proc\sh_iec60730b_8051f_porting.c: unknown identifier
+ /*******************************************************************************
+ *
+ * @brief This function is used for watchdog testing
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS - watchdog runs correct
+ * SH_CHK_FAIL_WDG - watchdog doesn't fit into limit
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_wdg_test(void)
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ __iec60730b_wdg_test_obj.resetSource = RSTSTAT;
+
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 8
+
+ /*clear reset flags and reset watchdog config */
+ RSTSTAT = SH_CHK_WDG_EXPECT_TIME;
+
+ if( sh_8051f_wdg_setup() != SH_CHK_PASS)
+ {
+ /* measure watchdog timeout */
+ EA = 0;
+ __iec60730b_wdg_test_obj.counter = 0;
+ sh_8051f_wdg_init_timer();
+
+ if(ucKeyValue == KEY_ON_S)
+ {
+ __iec60730b_wdg_test_obj.resetflag = 1;
+ }
+
+ CLR_WDT();
+ while(1){
+ sh_8051f_wdg_delay_1ms();
+ __iec60730b_wdg_test_obj.counter++;
+ }
+ }
+
+ checkResult = sh_8051f_wdg_check();
+
+ if(checkResult != SH_CHK_PASS && SH_CHK_WDG_ENDLESS_LOOP)
+ {
+ /* measure watchdog timeout */
+ EA = 0;
+ __iec60730b_wdg_test_obj.counter = 0;
+ sh_8051f_wdg_init_timer();
+ CLR_WDT();
+ while(1){
+ sh_8051f_wdg_delay_1ms();
+ __iec60730b_wdg_test_obj.counter++;
+ }
+ }
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ return checkResult;
+ }
+ #if (SH_CHK_WDG_TIMER_SEL == SH_CHK_WDG_P0)
+ /*******************************************************************************
+ *
+ * @brief This function is used for initializing timer to generate 1ms timeout event
+ *
+ * @param void
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ #define SH_CHK_WDG_TV (SH_CHK_SYSCLK*1000/16)
+ void sh_8051f_wdg_init_timer()
+ {
+ PWM0CON = 0x20;
+ PWM0PL = (SH_CHK_WDG_TV&0xFF);
+ PWM0PH = (SH_CHK_WDG_TV>>8);
+ PWM0CON = 0xA0;
+ }
+ /*******************************************************************************
+ *
+ * @brief This function is used for delay 1ms
+ *
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 9
+
+ * @param void
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ void sh_8051f_wdg_delay_1ms()
+ {
+ PWM0CON &= ~(1<<7);
+ PWM0PL = (SH_CHK_WDG_TV&0xFF);
+ PWM0PH = (SH_CHK_WDG_TV>>8);
+ PWM0CON &= ~(1<<1);
+ PWM0CON |= (1<<7);
+ while((PWM0CON&0x02) == 0){}
+ }
+
+ #elif (SH_CHK_WDG_TIMER_SEL == SH_CHK_WDG_P1)
+ #define SH_CHK_WDG_TV (SH_CHK_SYSCLK*1000/16)
+ void sh_8051f_wdg_init_timer()
+ {
+ PWM1CON = 0x20;
+ PWM1PL = (SH_CHK_WDG_TV&0xFF);
+ PWM1PH = (SH_CHK_WDG_TV>>8);
+ PWM1CON = 0xA0;
+ }
+ void sh_8051f_wdg_delay_1ms()
+ {
+ PWM1CON &= ~(1<<7);
+ PWM1PL = (SH_CHK_WDG_TV&0xFF);
+ PWM1PH = (SH_CHK_WDG_TV>>8);
+ PWM1CON &= ~(1<<1);
+ PWM1CON |= (1<<7);
+ while((PWM1CON&0x02) == 0){}
+ }
+ #elif (SH_CHK_WDG_TIMER_SEL == SH_CHK_WDG_P2)
+ #define SH_CHK_WDG_TV (SH_CHK_SYSCLK*1000/16)
+ void sh_8051f_wdg_init_timer()
+ {
+ PWM2CON = 0x20;
+ PWM2PL = (SH_CHK_WDG_TV&0xFF);
+ PWM2PH = (SH_CHK_WDG_TV>>8);
+ PWM2CON = 0xA0;
+ }
+ void sh_8051f_wdg_delay_1ms()
+ {
+ PWM2CON &= ~(1<<7);
+ PWM2PL = (SH_CHK_WDG_TV&0xFF);
+ PWM2PH = (SH_CHK_WDG_TV>>8);
+ PWM2CON &= ~(1<<1);
+ PWM2CON |= (1<<7);
+ while((PWM2CON&0x02) == 0){}
+ }
+ #elif (SH_CHK_WDG_TIMER_SEL == SH_CHK_WDG_T3)
+ #define SH_CHK_WDG_TV (0xFFFF - ((SH_CHK_SYSCLK/8*1000)))
+ void sh_8051f_wdg_init_timer()
+ {
+ INSCON = 0x40; //SFR Bank1 selected
+ T3CON = (1<<4)|(0<<0);//SYSCLK/8
+ TL3 = (SH_CHK_WDG_TV&0xFF);
+ TH3 = (SH_CHK_WDG_TV>>8);
+ T3CON |= (1<<2);//START TIMER
+ INSCON = 0x00; //SFR Bank0 selected
+ }
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 10
+
+ void sh_8051f_wdg_delay_1ms()
+ {
+ INSCON = 0x40; //SFR Bank1 selected
+ T3CON &= ~((1<<2)|(1<<7));
+ TL3 = (SH_CHK_WDG_TV&0xFF);
+ TH3 = (SH_CHK_WDG_TV>>8);
+ T3CON |= (1<<2);//START TIMER2
+ while((T3CON & (1<<7)) == 0){}
+ INSCON = 0x00; //SFR Bank0 selected
+ }
+ #endif
+ #endif
+ 556
+ 557 /*******************************************************************************
+ 558 * CLOCK TESTING FUNCTIONS
+ 559 ******************************************************************************/
+ 560 #if SH_CHK_CLOCK_EN == 1
+*** WARNING C322 IN LINE 560 OF code_classb\iec60730_proc\sh_iec60730b_8051f_porting.c: unknown identifier
+ /*******************************************************************************
+ *
+ * @brief This function is used for Start Timer (with clock source different from system clock)
+ *
+ * @param void
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ #if (SH_CHK_CLOCK_LOWSPD_SEL == SH_CHK_CLOCK_T3)
+ void sh_8051f_clk_start_lowspeed_timer()
+ {
+ INSCON = 0x40; //SFR Bank1 selected
+ T3CON = 0x02; //128k
+ TL3 = 0;
+ TH3 = 0;
+ T3CON |= (1<<2);//START TIMER
+ INSCON = 0x00; //SFR Bank0 selected
+ }
+
+ void sh_8051f_clk_capture()
+ {
+ INSCON = 0x40; //SFR Bank1 selected
+ T3CON &= ~(1<<2);//STOP TIMER
+ __iec60730b_clk_context = T3_16;
+ TL3 = 0;
+ TH3 = 0;
+ T3CON |= (1<<2);//START TIMER
+ INSCON = 0x00; //SFR Bank0 selected
+ }
+ #endif
+
+
+
+ /*******************************************************************************
+ *
+ * @brief This function is used for Start Timer (with system clock source)
+ *
+ * @param void
+ *
+ * @return void
+ *
+ ******************************************************************************/
+ #if (SH_CHK_CLOCK_HIGHSPD_SEL == SH_CHK_CLOCK_P0)
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 11
+
+ void sh_8051f_clk_start_highspeed_timer()
+ {
+ PWM0PL = 0x53;
+ PWM0PH = 0x07;
+ PWM0DL = 0x53;
+ PWM0DH = 0x07;
+ PWM0CON = 0xB4;
+ IEN1 |= (1<<1);
+ }
+
+ void InterruptPWM0(void) interrupt 8
+ {
+ PWM0CON &= ~(1<<1);
+ sh_8051f_clk_capture();
+ InterruptTimer3App(); //定时器
+ }
+ #elif (SH_CHK_CLOCK_HIGHSPD_SEL == SH_CHK_CLOCK_P1)
+ void sh_8051f_clk_start_highspeed_timer()
+ {
+ PWM1PL = 0x53;
+ PWM1PH = 0x07;
+ PWM1DL = 0x53;
+ PWM1DH = 0x07;
+ PWM1CON = 0xB4;
+ IEN1 |= (1<<2);
+ }
+
+ void InterruptPWM1(void) interrupt 9
+ {
+ PWM1CON &= ~(1<<1);
+ sh_8051f_clk_capture();
+ InterruptTimer3App(); //定时器
+ }
+ #elif (SH_CHK_CLOCK_HIGHSPD_SEL == SH_CHK_CLOCK_P2)
+ void sh_8051f_clk_start_highspeed_timer()
+ {
+ PWM2PL = 0x53;
+ PWM2PH = 0x07;
+ PWM2DL = 0x53;
+ PWM2DH = 0x07;
+ PWM2CON = 0xB4;
+ IEN2 |= (1<<3);
+ }
+
+ void InterruptPWM2(void) interrupt 18
+ {
+ PWM2CON &= ~(1<<1);
+ sh_8051f_clk_capture();
+ InterruptTimer3App(); //定时器
+ }
+ #endif
+ #endif
+ 657 /*******************************************************************************
+ 658 * ERROR OPERATION FUNCTION
+ 659 ******************************************************************************/
+ 660 void sh_8051f_safety_error(SHT_RESULT checkResult)
+*** ERROR C141 IN LINE 660 OF CODE_CLASSB\IEC60730_PROC\SH_IEC60730B_8051F_PORTING.C: syntax error near 'checkResult', e
+ -xpected ')'
+ 661 {
+ 662 1 #if 1
+ 663 1 //for debug
+ 664 1 checkResult = RSTSTAT;
+C51 COMPILER V9.01 SH_IEC60730B_8051F_PORTING 10/11/2023 14:22:17 PAGE 12
+
+*** ERROR C202 IN LINE 664 OF CODE_CLASSB\IEC60730_PROC\SH_IEC60730B_8051F_PORTING.C: 'checkResult': undefined identifie
+ -r
+ 665 1 while(1){
+ 666 2 CLR_WDT();
+ 667 2 }
+ 668 1 #else
+ /*WAIT WATCHDOG REST*/
+ RSTSTAT = 7; /*fast reset*/
+ while(1){
+ };
+ #endif
+ 674 1 }
+
+C51 COMPILATION COMPLETE. 5 WARNING(S), 2 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_ram._ia b/output/sh_iec60730b_8051f_ram._ia
new file mode 100644
index 0000000..836ea4c
--- /dev/null
+++ b/output/sh_iec60730b_8051f_ram._ia
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_ram.S" NOMOD51 SET (LARGE) DEBUG PRINT(.\output\sh_iec60730b_8051f_ram.lst) OBJECT(.\output\sh_iec60730b_8051f_ram.obj) EP
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_ram.lst b/output/sh_iec60730b_8051f_ram.lst
new file mode 100644
index 0000000..cc09da8
--- /dev/null
+++ b/output/sh_iec60730b_8051f_ram.lst
@@ -0,0 +1,684 @@
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 1
+
+
+MACRO ASSEMBLER A51 V8.02
+NO OBJECT MODULE REQUESTED
+ASSEMBLER INVOKED BY: C:\Keil_v5\C51\BIN\A51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_ram.S NOMOD51 SET(LARGE) DE
+ BUG PRINT(.\output\sh_iec60730b_8051f_ram.lst) OBJECT(.\output\sh_iec60730b_8051f_ram.obj) EP
+
+LOC OBJ LINE SOURCE
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19 ;#include "sh_iec60730b_8051f_cfg.h"
+ 20
+*** ERROR #A318 IN 21 (code_classb\iec60730_lib\sh_iec60730b_8051f_ram.S, LINE 19): can't open file 'sh_iec60730b_8051f_
+ cfg.h'
+ 21
+ 22
+*** WARNING #A322 IN 23 (code_classb\iec60730_lib\sh_iec60730b_8051f_ram.S, LINE 22): 'SH_CHK_XDATA_EN': unknown identifier
+ 23
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 632
+ 633 END
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_RAM 10/11/2023 14:22:18 PAGE 11
+
+SYMBOL TABLE LISTING
+------ ----- -------
+
+
+N A M E T Y P E V A L U E ATTRIBUTES
+
+
+
+REGISTER BANK(S) USED: 0
+
+
+ASSEMBLY COMPLETE. 0 WARNING(S), 2 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_reg._ia b/output/sh_iec60730b_8051f_reg._ia
new file mode 100644
index 0000000..c64741e
--- /dev/null
+++ b/output/sh_iec60730b_8051f_reg._ia
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_reg.S" NOMOD51 SET (LARGE) DEBUG PRINT(.\output\sh_iec60730b_8051f_reg.lst) OBJECT(.\output\sh_iec60730b_8051f_reg.obj) EP
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_reg.lst b/output/sh_iec60730b_8051f_reg.lst
new file mode 100644
index 0000000..7114cfc
--- /dev/null
+++ b/output/sh_iec60730b_8051f_reg.lst
@@ -0,0 +1,201 @@
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_REG 10/11/2023 14:22:18 PAGE 1
+
+
+MACRO ASSEMBLER A51 V8.02
+NO OBJECT MODULE REQUESTED
+ASSEMBLER INVOKED BY: C:\Keil_v5\C51\BIN\A51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_reg.S NOMOD51 SET(LARGE) DE
+ BUG PRINT(.\output\sh_iec60730b_8051f_reg.lst) OBJECT(.\output\sh_iec60730b_8051f_reg.obj) EP
+
+LOC OBJ LINE SOURCE
+
+ 1 ;/*
+ 2 ; * IEC60730 Class B Library for SINOWEALTH 8051 based ICs.
+ 3 ; * File: sh_iec60730b_8051f_reg.S
+ 4 ; * Version: 1.0
+ 5 ; * Author: Robin.zhang Chaoming.luo
+ 6 ; * Date: 04/21/2023
+ 7 ; * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 ; * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 ; * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 ; * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 ; * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 ; * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 ; * CONNECTION WITH THEIR PRODUCTS.
+ 14 ; *
+ 15 ;*/
+ 16
+ 17 ;$include (sh_iec60730b_8051f_cfg.h)
+ 18
+*** ERROR #A318 IN 19 (code_classb\iec60730_lib\sh_iec60730b_8051f_reg.S, LINE 17): can't open file 'sh_iec60730b_8051f_
+ cfg.h'
+ 19
+ 20
+*** WARNING #A322 IN 21 (code_classb\iec60730_lib\sh_iec60730b_8051f_reg.S, LINE 20): 'SH_CHK_CPU_EN': unknown identifier
+ 21
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_REG 10/11/2023 14:22:18 PAGE 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_REG 10/11/2023 14:22:18 PAGE 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 169 END
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_REG 10/11/2023 14:22:18 PAGE 4
+
+SYMBOL TABLE LISTING
+------ ----- -------
+
+
+N A M E T Y P E V A L U E ATTRIBUTES
+
+
+
+REGISTER BANK(S) USED: 0
+
+
+ASSEMBLY COMPLETE. 0 WARNING(S), 2 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_stack._ia b/output/sh_iec60730b_8051f_stack._ia
new file mode 100644
index 0000000..c99e95c
--- /dev/null
+++ b/output/sh_iec60730b_8051f_stack._ia
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_stack.S" NOMOD51 SET (LARGE) DEBUG PRINT(.\output\sh_iec60730b_8051f_stack.lst) OBJECT(.\output\sh_iec60730b_8051f_stack.obj) EP
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_stack.lst b/output/sh_iec60730b_8051f_stack.lst
new file mode 100644
index 0000000..c886fdb
--- /dev/null
+++ b/output/sh_iec60730b_8051f_stack.lst
@@ -0,0 +1,113 @@
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_STACK 10/11/2023 14:22:18 PAGE 1
+
+
+MACRO ASSEMBLER A51 V8.02
+NO OBJECT MODULE REQUESTED
+ASSEMBLER INVOKED BY: C:\Keil_v5\C51\BIN\A51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_stack.S NOMOD51 SET(LARGE)
+ DEBUG PRINT(.\output\sh_iec60730b_8051f_stack.lst) OBJECT(.\output\sh_iec60730b_8051f_stack.obj) EP
+
+LOC OBJ LINE SOURCE
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19 ;#include "sh_iec60730b_8051f_cfg.h"
+ 20
+*** ERROR #A318 IN 21 (code_classb\iec60730_lib\sh_iec60730b_8051f_stack.S, LINE 19): can't open file 'sh_iec60730b_8051
+ f_cfg.h'
+ 21
+ 22
+ 23
+*** WARNING #A322 IN 24 (code_classb\iec60730_lib\sh_iec60730b_8051f_stack.S, LINE 23): 'SH_CHK_STACK_EN': unknown identifier
+ 24
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_STACK 10/11/2023 14:22:18 PAGE 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 82
+ 83 END
+
+A51 MACRO ASSEMBLER SH_IEC60730B_8051F_STACK 10/11/2023 14:22:18 PAGE 3
+
+SYMBOL TABLE LISTING
+------ ----- -------
+
+
+N A M E T Y P E V A L U E ATTRIBUTES
+
+
+
+REGISTER BANK(S) USED: 0
+
+
+ASSEMBLY COMPLETE. 0 WARNING(S), 2 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_testproc.__i b/output/sh_iec60730b_8051f_testproc.__i
new file mode 100644
index 0000000..3f52754
--- /dev/null
+++ b/output/sh_iec60730b_8051f_testproc.__i
@@ -0,0 +1 @@
+"code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_testproc.lst) OBJECT(.\output\sh_iec60730b_8051f_testproc.obj)
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_testproc.lst b/output/sh_iec60730b_8051f_testproc.lst
new file mode 100644
index 0000000..c7185ae
--- /dev/null
+++ b/output/sh_iec60730b_8051f_testproc.lst
@@ -0,0 +1,381 @@
+C51 COMPILER V9.01 SH_IEC60730B_8051F_TESTPROC 10/11/2023 14:22:17 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE SH_IEC60730B_8051F_TESTPROC
+OBJECT MODULE PLACED IN .\output\sh_iec60730b_8051f_testproc.obj
+COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c LARGE OPTIMIZE(7
+ -,SIZE) REGFILE(.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEB
+ -UG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_testproc.lst) OBJECT(.\output\sh_iec60730b_8051f_testproc.obj)
+
+line level source
+
+ 1 /*
+ 2 * IEC60730 Class B TEST PROCESS for SINOWEALTH 8051 based ICs.
+ 3 * File: sh_iec60730b_8051f_testproc.h
+ 4 * Version: 1.0
+ 5 * Author: Robin.zhang Chaoming.luo
+ 6 * Date: 04/21/2023
+ 7 * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 * CONNECTION WITH THEIR PRODUCTS.
+ 14 *
+ 15 */
+ 16 #include "sh_iec60730b_8051f_testproc.h"
+*** WARNING C318 IN LINE 16 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: can't open file 'sh_iec60730b_80
+ -51f_testproc.h'
+ 17 //#include "MAIN.H"
+ 18
+ 19
+ 20 extern SHT_U32 __iec60730b_stack_top;
+*** ERROR C129 IN LINE 20 OF CODE_CLASSB\IEC60730_PROC\SH_IEC60730B_8051F_TESTPROC.C: missing ';' before '__iec60730b_st
+ -ack_top'
+ 21 extern SHT_U32 __iec60730b_stack_bottom;
+ 22
+ 23 SHT_U8 __iec60730b_bist_step;
+ 24 static SHT_U32 __iec60730b_crc_addr;
+ 25
+ 26
+ 27 SHT_RESULT sh_iec60730b_8051f_test_post(void)
+ 28 {
+ 29 SHT_RESULT checkResult = SH_CHK_PASS;
+ 30 /******************************************************/
+ 31 /*Initial global variables*/
+ 32 __iec60730b_bist_step = 0;
+ 33 __iec60730b_crc_addr = 0;
+ 34
+ 35 /******************************************************/
+ 36 /* check watch dog */
+ 37 #if SH_CHK_WDG_EN == 1
+*** WARNING C322 IN LINE 37 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ checkResult = sh_8051f_wdg_test();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 42 /*******************************************************/
+ 43 /* Disable Interrupt */
+ 44 EA = 0;
+ 45
+ 46 /******** CHECK CPU REGISTERS *********/
+ 47 #if SH_CHK_CPU_EN == 1
+*** WARNING C322 IN LINE 47 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+C51 COMPILER V9.01 SH_IEC60730B_8051F_TESTPROC 10/11/2023 14:22:17 PAGE 2
+
+ checkResult = sh_8051f_cpu_register1();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+
+ checkResult = sh_8051f_cpu_register2();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 56
+ 57 /******** CHECK PROGRAM COUNTER *********/
+ 58 #if SH_CHK_PC_EN == 1
+*** WARNING C322 IN LINE 58 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ checkResult = sh_8051f_pc_test();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 63
+ 64 /******** CHECK RAM ADDRESSING LINE *********/
+ 65 #if SH_CHK_ADDRLINE_TEST_EN == 1
+*** WARNING C322 IN LINE 65 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ __iec60730b_addrline_address = 0;
+ checkResult = sh_8051f_addrline_data1();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+
+ checkResult = sh_8051f_addrline_data2();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+
+ checkResult = sh_8051f_addrline_xdata_test();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 79
+ 80 /******** CHECK RAM *********/
+ 81 #if SH_CHK_XDATA_EN == 1
+*** WARNING C322 IN LINE 81 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ __iec60730b_ram_data_address = 0;
+ __iec60730b_ram_xdata_address = 0;
+ checkResult = sh_8051f_ram_data_test();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+
+ checkResult = sh_8051f_ram_xdata_test();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 92 CLR_WDT();
+ 93
+ 94 /* Enable Interrupt */
+ 95 EA = 1;
+ 96
+ 97 /******** CHECK BOOT *********/
+ 98 #if SH_CHK_BOOT_EN == 1
+*** WARNING C322 IN LINE 98 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ __iec60730b_boot_checksum = CWORD[(SH_CHK_BOOT_END_ADDR-2)/2];
+ if(sh_8051f_crc_code(SH_CHK_BOOT_START_ADDR,SH_CHK_BOOT_END_ADDR,MCU_CRC_FLASH) != __iec60730b_boot_ch
+ -ecksum)
+ checkResult = SH_CHK_FAIL_BOOT;
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+
+C51 COMPILER V9.01 SH_IEC60730B_8051F_TESTPROC 10/11/2023 14:22:17 PAGE 3
+
+ CLR_WDT();
+ #endif
+ 107
+ 108 /******** CHECK FLASH *********/
+ 109 #if SH_CHK_FLASH_EN == 1
+*** WARNING C322 IN LINE 109 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ __iec60730b_flash_addr = SH_CHK_FLASH_START_ADDR;
+ if(sh_8051f_crc_code(SH_CHK_FLASH_START_ADDR,SH_CHK_FLASH_END_ADDR,MCU_CRC_FLASH) != __iec60730b_flash
+ -_checksum)
+ checkResult = SH_CHK_FAIL_FLASH;
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+
+ CLR_WDT();
+ #endif
+ 118
+ 119 /******** CHECK EEPROM *********/
+ 120 #if SH_CHK_EE_EN == 1
+*** WARNING C322 IN LINE 120 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ __iec60730b_ee1_addr = SH_CHK_EE1_START_ADDR;
+ __iec60730b_ee2_addr = SH_CHK_EE2_START_ADDR;
+
+ sh_8051f_ee_readchecksum((SH_CHK_EE1_END_ADDR-2), (SHT_RESULT xdata *)&__iec60730b_ee1_checksum, 2);
+ if(sh_8051f_crc_code(SH_CHK_EE1_START_ADDR,SH_CHK_EE1_END_ADDR,MCU_CRC_EE) != __iec60730b_ee1_checksum
+ -)
+ checkResult = SH_CHK_FAIL_EE;
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+
+ CLR_WDT();
+
+ /******** CHECK EEPROM *********/
+ sh_8051f_ee_readchecksum((SH_CHK_EE2_END_ADDR-2), (SHT_RESULT xdata *)&__iec60730b_ee2_checksum, 2);
+ if(sh_8051f_crc_code(SH_CHK_EE2_START_ADDR,SH_CHK_EE2_END_ADDR,MCU_CRC_EE) != __iec60730b_ee2_checksum
+ -)
+ checkResult = SH_CHK_FAIL_EE;
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+
+ CLR_WDT();
+ #endif
+ 141
+ 142 /******** STACK CHECK *********/
+ 143 #if SH_CHK_STACK_EN == 1
+*** WARNING C322 IN LINE 143 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ sh_8051f_stack_init();
+ checkResult = sh_8051f_stack_test();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 149
+ 150 /********* CLOCK CHECK ********/
+ 151 #if SH_CHK_CLOCK_EN == 1
+*** WARNING C322 IN LINE 151 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ {
+ SHT_U16 timeout = 0x8000;
+ sh_8051f_clk_init();
+ __iec60730b_clk_limit_high = 0Xff00;
+ __iec60730b_clk_limit_low = 1;
+ SH_CHK_CLOCK_TIMER_START();
+ while(timeout)
+ {
+C51 COMPILER V9.01 SH_IEC60730B_8051F_TESTPROC 10/11/2023 14:22:17 PAGE 4
+
+ EA = 0;
+ checkResult = sh_8051f_clk_check();
+ EA = 1;
+ if(checkResult != SH_CHK_FAIL_CLK_PROGRESS)
+ break;
+ timeout--;
+ CLR_WDT();
+ }
+ //CALCULATE CLOCK TOLERANCE RANGE
+ if(checkResult == SH_CHK_PASS)
+ {
+ SHT_U16 tmp = (__iec60730b_clk_context * SH_CHK_CLK_TOLERANCE) / 100;
+ __iec60730b_clk_limit_low = __iec60730b_clk_context - tmp;
+ __iec60730b_clk_limit_high = __iec60730b_clk_context + tmp;
+ }
+ }
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 179 CLR_WDT();
+ 180
+ 181 /********** AIO CHECK ****************/
+ 182 #if SH_CHK_AIO_TEST_EN == 1
+*** WARNING C322 IN LINE 182 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ __iec60730b_aio_state = SH_CHK_PASS;
+ checkResult = sh_8051f_aio_test();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 188
+ 189 /********** DIO CHECK ****************/
+ 190 #if SH_CHK_DIO_TEST_EN == 1
+*** WARNING C322 IN LINE 190 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ checkResult = sh_8051f_dio_test();
+ if(checkResult != SH_CHK_PASS)
+ return checkResult;
+ #endif
+ 195
+ 196 return checkResult;
+ 197 }
+ 198
+ 199 SHT_RESULT sh_iec60730b_8051f_test_bist(void)
+ 200 {
+ 201 SHT_RESULT checkResult = SH_CHK_PASS;
+ 202
+ 203 if((__iec60730b_bist_step >> 4) == 0)
+ 204 {/************** 0: CHECK CPU REGISTERS **************/
+ 205 #if SH_CHK_CPU_EN == 1
+*** WARNING C322 IN LINE 205 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ EA = 0;
+ switch(__iec60730b_bist_step&0x0F)
+ {
+ case 0:
+ checkResult = sh_8051f_cpu_register1();
+ break;
+ case 1:
+ checkResult = sh_8051f_cpu_register2();
+ break;
+ }
+ EA = 1;
+ __iec60730b_bist_step++;
+ if((__iec60730b_bist_step&0xF) >= 2)
+C51 COMPILER V9.01 SH_IEC60730B_8051F_TESTPROC 10/11/2023 14:22:17 PAGE 5
+
+ {
+ __iec60730b_bist_step = 0x10;
+ }
+ #else
+ 223 __iec60730b_bist_step = 0x10;
+ 224 #endif
+ 225 }
+ 226 else if((__iec60730b_bist_step >> 4) == 1)
+ 227 {/************** 1: CHECK PROGRAM COUNTER **************/
+ 228 #if SH_CHK_PC_EN == 1
+*** WARNING C322 IN LINE 228 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ EA = 0;
+ checkResult = sh_8051f_pc_test();
+ EA = 1;
+ #endif
+ 233 __iec60730b_bist_step = 0x20;
+ 234 }
+ 235 else if((__iec60730b_bist_step >> 4) == 2)
+ 236 {/************** 2: CHECK RAM ADDRESSING LINE **************/
+ 237 #if SH_CHK_ADDRLINE_TEST_EN == 1
+*** WARNING C322 IN LINE 237 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ EA = 0;
+ if((__iec60730b_bist_step&0x0F) == 0)
+ {
+ checkResult = sh_8051f_addrline_data1();
+ __iec60730b_bist_step++;
+ }
+ else if((__iec60730b_bist_step&0x0F) == 1)
+ {
+ checkResult = sh_8051f_addrline_data2();
+ __iec60730b_bist_step++;
+ }
+ else if((__iec60730b_bist_step&0x0F) == 2)
+ {
+ checkResult = sh_8051f_addrline_xdata_runtime();
+ __iec60730b_bist_step++;
+ }
+ else
+ __iec60730b_bist_step = 0x30;
+ EA = 1;
+ #else
+ 258 __iec60730b_bist_step = 0x30;
+ 259 #endif
+ 260 }
+ 261 else if((__iec60730b_bist_step >> 4) == 3)
+ 262 {/************** 3: CHECK RAM **************/
+ 263 #if SH_CHK_XDATA_EN == 1
+*** WARNING C322 IN LINE 263 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ EA = 0;
+ if((__iec60730b_bist_step&0x0F) == 0)
+ {
+ checkResult = sh_8051f_ram_data_runtime();
+ __iec60730b_bist_step++;
+ }
+ else if((__iec60730b_bist_step&0x0F) == 1)
+ {
+ checkResult = sh_8051f_ram_xdata_runtime();
+ __iec60730b_bist_step++;
+ }
+ else
+ __iec60730b_bist_step = 0x40;
+ EA = 1;
+C51 COMPILER V9.01 SH_IEC60730B_8051F_TESTPROC 10/11/2023 14:22:17 PAGE 6
+
+ #else
+ 279 __iec60730b_bist_step = 0x40;
+ 280 #endif
+ 281 }
+ 282
+ 283 else if((__iec60730b_bist_step >> 4) == 4)
+ 284 {/************** 4: CHECK CODE ROM **************/
+ 285 #if SH_CHK_FLASH_EN == 1
+*** WARNING C322 IN LINE 285 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ checkResult = sh_8051f_flash_runtime();
+ #endif
+ 288 __iec60730b_bist_step = 0x50;
+ 289 }
+ 290 else if((__iec60730b_bist_step >> 4) == 5)
+ 291 {/************** 5: CHECK STACK **************/
+ 292 #if SH_CHK_STACK_EN == 1
+*** WARNING C322 IN LINE 292 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ checkResult = sh_8051f_stack_test();
+ #endif
+ 295 __iec60730b_bist_step = 0x60;
+ 296 }
+ 297 else if((__iec60730b_bist_step >> 4) == 6)
+ 298 {/************** 6: CHECK CLOCK **************/
+ 299 #if SH_CHK_CLOCK_EN == 1
+*** WARNING C322 IN LINE 299 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ EA = 0;
+ checkResult = sh_8051f_clk_check();
+ EA = 1;
+ #endif
+ 304 __iec60730b_bist_step = 0x70;
+ 305 }
+ 306 else if((__iec60730b_bist_step >> 4) == 7)
+ 307 {/************** 7: CHECK AIO **************/
+ 308 #if SH_CHK_AIO_TEST_EN == 1
+*** WARNING C322 IN LINE 308 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ checkResult = sh_8051f_aio_test_runtime();
+ #endif
+ 311 __iec60730b_bist_step = 0x80;
+ 312 }
+ 313 else if((__iec60730b_bist_step >> 4) == 8)
+ 314 {/************** 8: CHECK EEPROM1 **************/
+ 315 #if SH_CHK_EE_EN == 1
+*** WARNING C322 IN LINE 315 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ checkResult = sh_8051f_ee1_runtime();
+ #endif
+ 318 __iec60730b_bist_step = 0x90;
+ 319 }
+ 320 else if((__iec60730b_bist_step >> 4) == 9)
+ 321 {/************** 8: CHECK EEPROM2 **************/
+ 322 #if SH_CHK_EE_EN == 1
+*** WARNING C322 IN LINE 322 OF code_classb\iec60730_proc\sh_iec60730b_8051f_testproc.c: unknown identifier
+ checkResult = sh_8051f_ee2_runtime();
+ #endif
+ 325 __iec60730b_bist_step = 0x00;
+ 326 }
+ 327 return checkResult;
+ 328 }
+
+C51 COMPILATION COMPLETE. 23 WARNING(S), 1 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_wdg.__i b/output/sh_iec60730b_8051f_wdg.__i
new file mode 100644
index 0000000..7fb27a9
--- /dev/null
+++ b/output/sh_iec60730b_8051f_wdg.__i
@@ -0,0 +1 @@
+"code_classb\iec60730_lib\sh_iec60730b_8051f_wdg.c" LARGE OPTIMIZE (7,SIZE) REGFILE (.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0x1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJECTEXTEND PRINT(.\output\sh_iec60730b_8051f_wdg.lst) OBJECT(.\output\sh_iec60730b_8051f_wdg.obj)
\ No newline at end of file
diff --git a/output/sh_iec60730b_8051f_wdg.lst b/output/sh_iec60730b_8051f_wdg.lst
new file mode 100644
index 0000000..d3de610
--- /dev/null
+++ b/output/sh_iec60730b_8051f_wdg.lst
@@ -0,0 +1,138 @@
+C51 COMPILER V9.01 SH_IEC60730B_8051F_WDG 10/11/2023 14:22:17 PAGE 1
+
+
+C51 COMPILER V9.01, COMPILATION OF MODULE SH_IEC60730B_8051F_WDG
+OBJECT MODULE PLACED IN .\output\sh_iec60730b_8051f_wdg.obj
+COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE code_classb\iec60730_lib\sh_iec60730b_8051f_wdg.c LARGE OPTIMIZE(7,SIZE)
+ - REGFILE(.\output\McuFlash_ISP.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage) DEBUG OBJ
+ -ECTEXTEND PRINT(.\output\sh_iec60730b_8051f_wdg.lst) OBJECT(.\output\sh_iec60730b_8051f_wdg.obj)
+
+line level source
+
+ 1 /*
+ 2 * IEC60730 Class B Library for SINOWEALTH 8051 based ICs.
+ 3 * File: sh_iec60730b_8051f_wdg.c
+ 4 * Version: 1.0
+ 5 * Author: Robin.zhang Chaoming.luo
+ 6 * Date: 04/21/2023
+ 7 * SINOWEALTH IS SUPPLYING THIS SOFTWARE FOR USE EXCLUSIVELY ON SINOWEALTH'S
+ 8 * MICROCONTROLLER PRODUCTS. IT IS PROTECTED UNDER APPLICABLE COPYRIGHT LAWS.
+ 9 * THIS SOFTWARE IS FOR GUIDANCE IN ORDER TO SAVE TIME. AS A RESULT, SINOWEALTH
+ 10 * SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES
+ 11 * WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR
+ 12 * THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN
+ 13 * CONNECTION WITH THEIR PRODUCTS.
+ 14 *
+ 15 */
+ 16
+ 17 #include "sh_iec60730b_8051f_cfg.h"
+*** WARNING C318 IN LINE 17 OF code_classb\iec60730_lib\sh_iec60730b_8051f_wdg.c: can't open file 'sh_iec60730b_8051f_cf
+ -g.h'
+ 18
+ 19 #if SH_CHK_WDG_EN == 1
+*** WARNING C322 IN LINE 19 OF code_classb\iec60730_lib\sh_iec60730b_8051f_wdg.c: unknown identifier
+ xdata SHT_IEC60730B_WDG_TEST __iec60730b_wdg_test_obj _at_ (SH_CHK_XDATA_SIZE-sizeof(SHT_IEC60730B_WDG_TES
+ -T));
+
+ /******************************************************************************
+ * Functions
+ ******************************************************************************/
+ /*******************************************************************************
+ *
+ * @brief This function should be called only once after POR reset.
+ * Each calling of this function causes a wd reset.
+ * Function clears the WD resets counter to 0.
+ * No WD settings are changed here. It starts the LPTMR which must
+ * be configured before the function call occurs.
+ * Within the waiting endless loop, value from LPTMR is periodically
+ * stored to reserved area in RAM.
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS ;watchdog timeout has measured
+ * SH_CHK_FAIL_WDG ;watchdog timeout need remeasured
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_wdg_setup()
+ {
+ if((__iec60730b_wdg_test_obj.resetSource & SH_IEC60730B_RESET_SRC_POR)
+ ||(__iec60730b_wdg_test_obj.resetSource & SH_IEC60730B_RESET_SRC_LVR)
+ // ||(__iec60730b_wdg_test_obj.resetSource == 0) //FOR DEBUG
+ )
+ {
+ __iec60730b_wdg_test_obj.counter = 0;
+ __iec60730b_wdg_test_obj.resets = 0;
+C51 COMPILER V9.01 SH_IEC60730B_8051F_WDG 10/11/2023 14:22:17 PAGE 2
+
+ return SH_CHK_FAIL_WDG;
+ }
+ return SH_CHK_PASS;
+ }
+
+ /*******************************************************************************
+ *
+ * @brief Function should be called after every WD reset, its calling should
+ * be handled by conditional execution in application.
+ *
+ * If the source of reset is WD, function increments the wd_reset counter.
+ * If the reset counter has overflowed, function will wait in endless
+ * loop if it is enabled.
+ *
+ * If the source of reset is WD, function check the timeout
+ * value. If it is not in range, function will wait in the endless
+ * loop if enabled.
+ *
+ * If the source of reset isn't WD or POR, function will sets the
+ * wdTestUncompleteFlag and will wait in endless loop if enabled.
+ *
+ * @param void
+ *
+ * @return SH_CHK_PASS - successfull execution of test
+ * SH_CHK_FAIL_WDG - reset counter doesn't fit into limit
+ *
+ ******************************************************************************/
+ SHT_RESULT sh_8051f_wdg_check()
+ {
+ SHT_RESULT checkResult = SH_CHK_PASS;
+ if(__iec60730b_wdg_test_obj.resetSource & SH_IEC60730B_RESET_SRC_IWDG)
+ {
+ __iec60730b_wdg_test_obj.resets++;
+
+ if(__iec60730b_wdg_test_obj.resets > SH_CHK_WDG_RESET_LIMIT)
+ {
+ checkResult = SH_CHK_FAIL_WDG;
+ }
+ else if(__iec60730b_wdg_test_obj.counter < SH_CHK_WDG_LIMIT_LOW
+ || __iec60730b_wdg_test_obj.counter > SH_CHK_WDG_LIMIT_HIGH)
+ {
+ checkResult = SH_CHK_FAIL_WDG;
+ }
+ }
+ else
+ {
+ if(__iec60730b_wdg_test_obj.counter < SH_CHK_WDG_LIMIT_LOW
+ | __iec60730b_wdg_test_obj.counter > SH_CHK_WDG_LIMIT_HIGH )
+ {
+ checkResult = SH_CHK_FAIL_WDG;
+ }
+ }
+
+ return checkResult;
+ }
+ #endif
+
+
+MODULE INFORMATION: STATIC OVERLAYABLE
+ CODE SIZE = ---- ----
+ CONSTANT SIZE = ---- ----
+ XDATA SIZE = ---- ----
+C51 COMPILER V9.01 SH_IEC60730B_8051F_WDG 10/11/2023 14:22:17 PAGE 3
+
+ PDATA SIZE = ---- ----
+ DATA SIZE = ---- ----
+ IDATA SIZE = ---- ----
+ BIT SIZE = ---- ----
+END OF MODULE INFORMATION.
+
+
+C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
diff --git a/output/sh_iec60730b_8051f_wdg.obj b/output/sh_iec60730b_8051f_wdg.obj
new file mode 100644
index 0000000..39ffdfc
Binary files /dev/null and b/output/sh_iec60730b_8051f_wdg.obj differ
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 0000000..8ef675c
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1,35 @@
+V2.11-V2.12(2022.12.12)
+1.触发短路保护后无法恢复,已修复恢复逻辑
+2.当温度超过电流温度补偿范围时,由于补偿变量未赋初值,会导致电流采样异常,已修复
+3.程序未对硬件过压保护做恢复处理,已增加恢复逻辑
+4.uart的兼容性处理(bank翻转处理)
+
+V2.12-V2.13(2023.3.9)
+1.在boot和主程序中增加异常防护程序,防止程序因异常进入ISP或者寄存器被篡改导致死机
+2.TWI协议与前端协议说明保持一致
+
+V2.13-V2.14(2023.3.21)
+1.uart多串口的应用层兼容性处理(只更改宏定义即可切换uart串口并直接使用)
+2.针对应用过程中出现的MCU中断程序执行异常导致后续无法响应外部中断的问题,增加了异常处理程序(主循环中check中断标志及定时清狗)
+3.增加充电状态下PWM强制100%占空比措施,暂不允许PWM充电(2023.4.24)
+4.dataflash架构由数组变更为可视化配置界面(2023.6.29)
+5.增加ISP更新过程中异常中断自动关机处理(2023.7.3) //由于需要变更flash空间布局,暂时未添加此功能
+6.uart串口配置同步增加可视化界面(2023.7.6)
+7.增加进PD前存EEPROM的操作(2023.7.21)
+8.电量计程序更新到V4.13版本(2023.7.22)
+9.为与上位机通讯协议保持一致,充放电截止相关参数由容量计参数区分别移置充放电参数区(2023.09.14)
+10.写MCUflash判断失败标志逻辑错误,已更正(2023.09.14)
+11.多串口功能配置(2023.09.27-DEMO程序默认只使能Uart0)
+
+V2.14-V2.15(2023.11.8)
+1.TWI通讯频率计算公式的调整并用宏的方式实现,在代码编译阶段增加TWI通讯频率超范围报警措施(2023.12.11)
+2.内部温度计算公式部分去除浮点运算,提高代码执行效率(2023.11.08)
+3.增加放电截止标志位变量,删除满充容量变量(2023.11.13)
+4.增加IO口模拟IIC模块(2023.11.29)
+5.优化dataflash参数架构来对齐上位机读取界面的参数布局,同时将满充截止bFC、满放截止bFD、以及容量学习标志bVDQ置位显示出来(2023.11.29)
+6.充电时将所有的PWM放电速率标志位置0(2023.12.01)
+7.清ram的动作从主程序移到A51文件中(2023.12.08)
+8.外部温度计算部分将固定长度更换为宏定义(2023.12.13)
+9.初始化AFE寄存器函数内增加读校验,若连续失败3次则关机(2023.12.13)
+10.TWI通讯频率异常导致ISP更新失败,调整分频系数后测试验证OK(2023.12.22)
+11.清除dataflash中多余的参数,替代位预留变量(2023.12.22)
\ No newline at end of file
diff --git a/sino_ui.cfg b/sino_ui.cfg
new file mode 100644
index 0000000..2fc66b2
Binary files /dev/null and b/sino_ui.cfg differ