⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debug.lst

📁 使用于克隆器
💻 LST
📖 第 1 页 / 共 3 页
字号:
 276   1      }
 277          
 278           ///////////////////////////////////////
 279          //  Decode Uart command
 280          ///////////////////////////////////////
 281          void uartDecodeNormalCommand(void)
 282          {
 283   1      #if (_DEBUG_RW_REG_EN_)
 284   1          XDATA WORD uwEEADDR;
 285   1      #endif
 286   1      
 287   1          switch (UART_CMD)
 288   1          {
 289   2              case kEnter_ISP:
 290   2                  {
 291   3                       // new check ISP command
 292   3                      if (UART_CMD_LENGTH != 3)
 293   3                          break;
 294   3                      if (g_UartCommand.Buffer[_UART_CMD_INDEX1_] != 0x55 || g_UartCommand.Buffer[_UART_CMD_INDE
             -X2_] != 0xaa)
 295   3                          break;
 296   3      
 297   3      #ifdef MCU_MTV412M
C51 COMPILER V7.50   DEBUG                                                                 07/03/2006 14:17:06 PAGE 6   

 298   3                      //pwPowerOffSystem();
 299   3                      Enter_MTV412_ISP();
 300   3      #endif
 301   3      
 302   3      #ifdef MCU_W78E65
                              pwPowerOffSystem();
              
                              CHPENR = 0x87; // CHPENR = 0x59, enable CHPCON register write attribute
                              CHPENR = 0x59; // CHPENR = 0x59, enable CHPCON register write attribute
                              CHPCON = 0x03; // CHPCON = 0x03, enter in-system programming mode
                              CHPENR = 0x00; // CHPENR = 0x00, disable CHPCON write attribute
              
                              TR0 = 0;       // Timer0 stop
                              IP = 0x00;     // Set interrupt priority
              
                              EA = 1;        // Set single interrupt
                              ET0 = 1;       // Enable TIMER0 iterrrupt
                              // Timer0 interrupt enable for wake-up from INDLE mode
              
                              // Set time for enter ISP mode about 1.676 us
                              TL0 = 0xf0; // TL0 = 0xf0
                              TH0 = 0xff; // TH0 = 0xff
                              TMOD |= 0x01;  // Set Timer0 mode 1 (16-bit timer)
                              TR0 = 1;       // Start Timer0
                              PCON = 0x01;   // Enter IDLE mode for launching the in-system programmability
              #endif
 324   3      
 325   3      #ifdef MCU_W77E532
                              //P4 = 0x00;
                              pwPowerOffSystem();
              
                              IE = 0;
                              TCON = 0;
              
                              TA = 0xAA;
                              TA = 0x55;
                              TURBO_CHPCON = 0x03; // CHPCON = 0x03, enter in-system programming mode
                              TA = 0x00;
              
                              TR0 = 0;       // Timer0 stop
                              IP = 0x00;     // Set interrupt priority
              
                              EA = 1;        // Set single interrupt
                              ET0 = 1;       // Enable TIMER0 iterrrupt
                              // Timer0 interrupt enable for wake-up from INDLE mode
              
                              // Set time for enter ISP mode about 1.676 us
                              TL0 = 0xf0; // TL0 = 0xf0
                              TH0 = 0xff; // TH0 = 0xff
                              TMOD |= 0x01;  // Set Timer0 mode 1 (16-bit timer)
                              TR0 = 1;       // Start Timer0
                              PCON = 0x01;   // Enter IDLE mode for launching the in-system programmability
              #endif
 351   3      
 352   3                      break;
 353   3                  }
 354   2       #if (_DEBUG_EXTDEV_EN_)
 355   2              case kWrite_MCU:
 356   2          #ifndef MCU_MTV412M
                          {
                              switch (UART_CMD_MS_REG)
                              {
C51 COMPILER V7.50   DEBUG                                                                 07/03/2006 14:17:06 PAGE 7   

                                  case MCU_P0:
                                      P0 = UART_CMD_MS_DAT;
                                      break;
                                  case MCU_P1:
                                      P1 = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_P2:
                                      P2 = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_P3:
                                      P3 = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_P4:
                                      P4 = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_TCON:
                                      TCON = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_TMOD:
                                      TMOD = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_PCON:
                                      PCON = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_IE:
                                      IE = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_IP:
                                      IP = UART_CMD_MS_DAT;;
                                      break;
                                  case MCU_SCON:
                                      SCON = UART_CMD_MS_DAT;;
                                      break;
                              }
                              if (!g_bDebugASCIICommandFlag)
                                  putchar(0xF1);
                              break;
                          }
                  #endif
 399   2              case kRead_MCU:
 400   2          #ifndef MCU_MTV412M
                          {
                              switch (UART_CMD_MS_REG)
                              {
                                  case MCU_P0:
                                      UART_CMD_MS_DAT = P0;
                                      break;
                                  case MCU_P1:
                                      UART_CMD_MS_DAT = P1;
                                      break;
                                  case MCU_P2:
                                      UART_CMD_MS_DAT = P2;
                                      break;
                                  case MCU_P3:
                                      UART_CMD_MS_DAT = P3;
                                      break;
                                  case MCU_P4:
                                      UART_CMD_MS_DAT = P4;
                                      break;
                                  case MCU_TCON:
                                      UART_CMD_MS_DAT = TCON;
                                      break;
C51 COMPILER V7.50   DEBUG                                                                 07/03/2006 14:17:06 PAGE 8   

                                  case MCU_TMOD:
                                      UART_CMD_MS_DAT = TMOD;
                                      break;
                                  case MCU_PCON:
                                      UART_CMD_MS_DAT = PCON;
                                      break;
                                  case MCU_IE:
                                      UART_CMD_MS_DAT = IE;
                                      break;
                                  case MCU_IP:
                                      UART_CMD_MS_DAT = IP;
                                      break;
                                  case MCU_SCON:
                                      UART_CMD_MS_DAT = SCON;
                                      break;
                              }
                              putchar(0xF2);
                              putchar(UART_CMD_MS_DAT);
                              if (g_bDebugASCIICommandFlag)
                              {
                                  printf("0x%x\r\n", UART_CMD_MS_DAT);
                              }
                              break;
                          }
                  #endif
 447   2      #endif
 448   2      #if (_DEBUG_RW_REG_EN_)
 449   2              case kWrite_EEPROM:
 450   2                  {
 451   3                      uwEEADDR = MAKEWORD(g_UartCommand.Buffer[_UART_CMD_INDEX1_], g_UartCommand.Buffer[_UART_CM
             -D_INDEX2_]);
 452   3                      //uwEEADDR = g_UartCommand.Buffer[_UART_CMD_INDEX1_] & 0x0E;
 453   3                      //uwEEADDR = (uwEEADDR << 7) + g_UartCommand.Buffer[_UART_CMD_INDEX2_];
 454   3                      rmWriteByte(uwEEADDR, g_UartCommand.Buffer[_UART_CMD_INDEX3_]);
 455   3                      if (!g_bDebugASCIICommandFlag)
 456   3                          putchar(0xF1);
 457   3                      break;
 458   3                  }
 459   2              case kRead_EEPROM:
 460   2                  {
 461   3                      uwEEADDR = MAKEWORD(g_UartCommand.Buffer[_UART_CMD_INDEX1_], g_UartCommand.Buffer[_UART_CM
             -D_INDEX2_]);
 462   3                      //uwEEADDR = g_UartCommand.Buffer[_UART_CMD_INDEX1_] & 0x0E;
 463   3                      //uwEEADDR = (uwEEADDR << 7) + g_UartCommand.Buffer[_UART_CMD_INDEX2_];
 464   3                      g_UartCommand.Buffer[_UART_CMD_INDEX3_] = rmReadByte(uwEEADDR);
 465   3                      putchar(0xF2);
 466   3                      putchar(g_UartCommand.Buffer[_UART_CMD_INDEX3_]);
 467   3                      if (g_bDebugASCIICommandFlag)
 468   3                      {
 469   4                          printf("EEPROM[0x%x]=", uwEEADDR);
 470   4                          printf("0x%x\r\n", g_UartCommand.Buffer[_UART_CMD_INDEX3_]);
 471   4                      }
 472   3                      break;
 473   3                  }
 474   2      #endif
 475   2      #if (_DEBUG_EXTDEV_EN_)
 476   2              case kRead_Device_B8:
 477   2                  {
 478   3                      g_UartCommand.Buffer[_UART_CMD_INDEX3_] = i2cReadByte(g_UartCommand.Buffer[_UART_CMD_INDEX
             -1_], g_UartCommand.Buffer[_UART_CMD_INDEX2_]);
 479   3                      putchar(0xF2);
 480   3                      putchar(g_UartCommand.Buffer[_UART_CMD_INDEX3_]);
C51 COMPILER V7.50   DEBUG                                                                 07/03/2006 14:17:06 PAGE 9   

 481   3                      if (g_bDebugASCIICommandFlag)
 482   3                      {
 483   4                          printf("I2C 0x%x ", g_UartCommand.Buffer[_UART_CMD_INDEX1_]);
 484   4                          printf("[0x%x]=", g_UartCommand.Buffer[_UART_CMD_INDEX2_]);
 485   4                          printf("0x%x\r\n", g_UartCommand.Buffer[_UART_CMD_INDEX3_]);
 486   4                      }
 487   3                      break;
 488   3                  }
 489   2              case kRead_Device_B16:
 490   2                  {
 491   3                      WORD wData;
 492   3      #if (VIDEO_DECODER_SELECT == VIDEO_DECODER_VPC323X)
              
                              putchar(0xF3);
                              vdVpcAccessRead(g_UartCommand.Buffer[_UART_CMD_INDEX1_], g_UartCommand.Buffer[_UART_CMD_IN
             -DEX2_], (BYTE *) &wData, sizeof(wData));
              #endif
 497   3                      putchar(HIBYTE(wData));
 498   3                      putchar(LOBYTE(wData));
 499   3                      if (g_bDebugASCIICommandFlag)
 500   3                      {
 501   4                          printf("I2C 0x%x ", g_UartCommand.Buffer[_UART_CMD_INDEX1_]);
 502   4                          printf("[0x%x]=", g_UartCommand.Buffer[_UART_CMD_INDEX2_]);
 503   4                          printf("0x%x\r\n", g_UartCommand.Buffer[_UART_CMD_INDEX3_]);
 504   4                      }
 505   3      
 506   3                      break;
 507   3                  }
 508   2              case kWrite_Device:
 509   2                  {
 510   3                      if (UART_CMD_LENGTH == 5)
 511   3                      {
 512   4                          WORD wData;
 513   4      
 514   4                          wData = ((WORD) (g_UartCommand.Buffer[_UART_CMD_INDEX3_])) << 8;
 515   4                          wData = wData + (WORD) (g_UartCommand.Buffer[_UART_CMD_INDEX4_]);
 516   4      #if (VIDEO_DECODER_SELECT == VIDEO_DECODER_VPC323X)
                                  vdVpcAccessWrite(g_UartCommand.Buffer[_UART_CMD_INDEX1_], g_UartCommand.Buffer[_UART_C
             -MD_INDEX2_], (BYTE *) &wData, sizeof(wData));
              #endif
 519   4                          if (!g_bDebugASCIICommandFlag)
 520   4                              putchar(0xF1);
 521   4                      }
 522   3                      else
 523   3                      {
 524   4                          i2cWriteByte(g_UartCommand.Buffer[_UART_CMD_INDEX1_], g_UartCommand.Buffer[_UART_CMD_I
             -NDEX2_], g_UartCommand.Buffer[_UART_CMD_INDEX3_]);
 525   4                          if (!g_bDebugASCIICommandFlag)
 526   4                              putchar(0xF1);
 527   4                      }
 528   3                      break;
 529   3                  }
 530   2              case kWrite_VPC32xx_FP:
 531   2                  {
 532   3      #if (VIDEO_DECODER_SELECT == VIDEO_DECODER_VPC323X)
                              WORD wData, wAddress;
              
                              wAddress = MAKEWORD(g_UartCommand.Buffer[_UART_CMD_INDEX2_], g_UartCommand.Buffer[_UART_CM
             -D_INDEX3_]);
                              wData = MAKEWORD(g_UartCommand.Buffer[_UART_CMD_INDEX4_], g_UartCommand.Buffer[_UART_CMD_I
             -NDEX5_]);
                              vdVpcAccessWrite_FP(g_UartCommand.Buffer[_UART_CMD_INDEX1_], wAddress, wData);
C51 COMPILER V7.50   DEBUG                                                                 07/03/2006 14:17:06 PAGE 10  

              #endif
 539   3                      if (!g_bDebugASCIICommandFlag)
 540   3                          putchar(0xF1);
 541   3                  }
 542   2                  break;
 543   2      
 544   2              case kRead_VPC32xx_FP:
 545   2                  {
 546   3                      WORD wAddress;
 547   3      #if (VIDEO_DECODER_SELECT == VIDEO_DECODER_VPC323X)
                              wAddress = MAKEWORD(g_UartCommand.Buffer[_UART_CMD_INDEX2_], g_UartCommand.Buffer[_UART_CM
             -D_INDEX3_]);
                              wAddress = vdVpcAccessRead_FP(g_UartCommand.Buffer[_UART_CMD_INDEX1_], wAddress);
              #endif
 551   3                      putchar(0xF3);
 552   3                      putchar(HIBYTE(wAddress));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -