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

📄 util.lst

📁 W3100A网络调试程序,可进行数据传输
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.21  UTIL                                                                   04/11/2005 14:25:52 PAGE 1   


C51 COMPILER V6.21, COMPILATION OF MODULE UTIL
OBJECT MODULE PLACED IN .\ROM\util.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE util.c OPTIMIZE(6,SPEED) BROWSE MODP2 DEFINE(KEIL) DEBUG OBJECTEXTEND CODE 
                    -SYMBOLS PRINT(.\Lst\util.lst) OBJECT(.\ROM\util.obj) 

stmt level    source

   1          #include "config.h"
*** ERROR C318 IN LINE 15 OF config.h: can't open file '..\lib\compiler.h'
*** ERROR C318 IN LINE 16 OF config.h: can't open file '..\lib\t89c51ix2.h'
*** ERROR C129 IN LINE 101 OF FLASH_API.H: missing ';' before '__api_wr_code_byte'
   2          #include "serial.h"             
   3          #include "eeprom.h"
   4          #include "socket.h"
   5          #include "init.h"
   6          #include "util.h"
   7          #include "remote.h"
   8          #include <string.h>
   9          
  10          //extern bit Debug_Off;
  11          extern unsigned int  xdata NET_DOWN_SIZE; //    _at_ 0x07ffe;
  12          extern u_char xdata sio_buf[MAX_SBUF_SIZE];
  13          extern u_int xdata read;
  14          extern u_int xdata write;
  15          extern bit SERIAL_DOWNLOAD;
  16          extern u_int sram_addr;
  17          
  18          extern IGM_INFO xdata ConfigMsg;
  19          
  20          void DispalySetting(void)
  21          {
  22                  u_char i;
  23                  
  24                  PutString("\n\r");
  25                  for (i = 0; i < EEPROMVALUE; i++) {
  26                          PutHTOA(EEP_Read(i));PutByte(' ');
  27                  }
  28          }
  29          
  30          char atonum(char ch)
  31          {
  32              ch -= '0';
  33              if (ch > 9) ch -= 7;
  34              if (ch > 15) ch -= 0x20;
  35              return(ch);
  36          }
  37          
  38          unsigned char gethex(u_char b0, u_char b1)
  39          {
  40              u_char buf[2];
  41          
  42              buf[0]   = b0;
  43              buf[1]   = b1;
  44              buf[0]   = atonum(buf[0]);
  45              buf[0] <<= 4;
  46              buf[0]  += atonum(buf[1]);
  47              return(buf[0]);
  48          }
  49          
  50          
  51          
C51 COMPILER V6.21  UTIL                                                                   04/11/2005 14:25:52 PAGE 2   

  52          void ReceiveDefault(void)
  53          {
  54                  u_char i, j, temp;
  55                  u_char flag = 1;
  56                  
  57                  PutString("\n\rTransfer Config File !\n\r");
  58                  
  59                  EA = 0;
  60                  write = 0;
  61                  read = 0;
  62                  EA = 1;
  63                  
  64                  j = 0;
  65                  while(flag) {
  66                          if (write == (EEPROMVALUE * 2)) flag = 0;
  67                          else {
  68                                  j++;
  69                                  wait_10ms(20); 
  70                                  PutByte('.');
  71                                  if (j > 10) {
  72                                          // Reboot
  73                                          ((void (code *)(void)) 0x0000)();
  74                                          while(1);
  75                                  }
  76                          }
  77                  }
  78                  
  79                  for (i = 0, j = 0; i < EEPROMVALUE; i++) {
  80                          temp = gethex(sio_buf[j], sio_buf[j+1]);
  81                          j += 2;
  82                  EEP_Write(i, temp);
  83              }
  84              
  85                  // Reboot
  86                  ((void (code *)(void)) 0x0000)();
  87                  while(1);
  88          }
  89          
  90          
  91          int Query_i(void)
  92          {
  93                  u_char i, j;
  94                  u_char temp[6];
  95                  u_int count = 0;
  96              const u_int tmp[5] = {1,10,100,1000,10000};
  97              
  98              u_char flag = 1;
  99              u_char c;
 100                  
 101                  EA = 0;
 102                  write = 0;
 103                  read = 0;
 104                  EA = 1;
 105                  
 106                  i = 0;
 107                  j = 0;
 108                  while(flag){
 109                          if ((write - read) > 0) {
 110                                  c = sio_buf[read++];
 111                                  PutByte(c);
 112                                  if (c == 0x0d) {
 113                                    PutByte(0x0a);
C51 COMPILER V6.21  UTIL                                                                   04/11/2005 14:25:52 PAGE 3   

 114                                    temp[i++] = 0xff;
 115                                    flag = 0;
 116                                  }else {
 117                                    temp[i++] = c - 0x30;
 118                                    j++;
 119                                  }
 120                                  if (i == 6) flag = 0;
 121                          }
 122                  }
 123                  for(i = 0; i < 5; i++) {
 124                    if (temp[i] == 0xff) break;
 125                    count += (temp[i]*tmp[--j]);
 126                   // PutByte(i+0x30);PutByte(':');PutHTOA(temp[i]);PutByte(' ');
 127                    if (j == 0) break;
 128                  }       
 129                  
 130                  //PutByte(' ');
 131                  //PutITOA(count);
 132                  
 133                  return(count);  
 134          }
 135          
 136          int BinDownload(int size)
 137          {
 138              u_char flag = 1;
 139              u_char c;
 140              u_int checksum = 0;
 141              u_int i;
 142          
 143                  EA = 0;
 144                  write = 0;
 145                  read = 0;
 146                  EA = 1;
 147          
 148                  SERIAL_DOWNLOAD = 1;
 149                  sram_addr = 0x0000;
 150                  
 151                  while(flag) {
 152                          if (sram_addr == size) flag = 0;
 153                  }
 154                  
 155                  // check header
 156                  c = XBYTE[0];
 157                  if (c != 'W') return(0);
 158                  c = XBYTE[1];
 159                  if (c != 'i') return(0);
 160                  c = XBYTE[2];
 161                  if (c != 'z') return(0);
 162                  c = XBYTE[3];
 163                  if (c != 'n') return(0);
 164                  c = XBYTE[4];
 165                  if (c != 'e') return(0);
 166                  c = XBYTE[5];
 167                  if (c != 't') return(0);
 168                  
 169                  //PutString(" Header OK ");
 170                  
 171                  // checksum
 172                  for (i = 0; i < (size-8); i++) {
 173                          c = XBYTE[6+i];
 174                          checksum += c;
 175                  }
C51 COMPILER V6.21  UTIL                                                                   04/11/2005 14:25:52 PAGE 4   

 176                  //PutString("Checksum : ");PutITOA(checksum);
 177                  
 178                  c = XBYTE[size-2];
 179                  if (HIGH(checksum) != c) {
 180                          PutString("\n\rChecksum Error 1 ");
 181                          return(0);
 182                  }
 183                  
 184                  c = XBYTE[size-1];
 185                  if (LOW(checksum) != c) {
 186                          PutString("\n\rChecksum Error 2");
 187                          return(0);
 188                  }
 189                  
 190                  // shift
 191                  sram_addr = 0;
 192                  for (i = 0; i < (size-8); i++) {
 193                          XBYTE[i] = XBYTE[6+i];
 194                          sram_addr++;
 195                  }
 196                  //PutString("\n\rsram_addr : ");PutITOA(sram_addr);
 197                  
 198                  SERIAL_DOWNLOAD = 0;
 199                  
 200                  // for test
 201                  //return(0);
 202                  
 203                  return(sram_addr);
 204          }
 205          
 206          void Boot_Code_Copy(void)
 207          {
 208                  u_char c;
 209                  u_int i;
 210                  //void (*f)(u_int dummy);
 211                  
 212          #ifndef KJB_UPLOAD      
 213                  EA = 0;
 214          #endif  

⌨️ 快捷键说明

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