w5100s_conf.txt 29.4 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o.\flash\obj\w5100s_conf.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\w5100s_conf.d --cpu=Cortex-M4.fp --apcs=interwork -O1 --diag_suppress=9931,870 -I..\..\Libraries\CMSIS\Include -I..\..\Libraries\CMSIS\Device\ST\STM32F4xx\Include -I..\..\Libraries\STM32F4xx_StdPeriph_Driver\inc -I..\..\uCOS-III\uC-CPU -I..\..\uCOS-III\uC-LIB -I..\..\uCOS-III\uCOS-III\Ports -I..\..\uCOS-III\uCOS-III\Source -I..\..\uCOS-III\uC-CPU\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uC-LIB\Ports\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uCOS-III\Ports\ARM-Cortex-M4\Generic\RealView -I..\..\User -I..\..\User\bsp -I..\..\User\bsp\inc -I..\..\User\libapp -I..\..\RL-ARM\Config -I..\..\RL-ARM\Driver -I..\..\RL-ARM\RL-RTX\inc -I..\..\User\bsp\BSP -I..\..\RL-ARM\RL-CAN -I..\..\Libraries\DSP_LIB\Include -I..\..\MODBUS\modbus\rtu -I..\..\MODBUS\BARE\port -I..\..\MODBUS\modbus\include -I..\..\User\bsp\BSP -I..\..\PLC -I..\..\Avoid -I..\..\User\parameter -I..\..\User\LaserMotionCtr -I..\..\User\W5100S -I..\..\User\bsp -I..\..\User\CHASSIS -I..\..\User\CONTROLFUNCTION -I..\..\User\DATAUPDATE -I..\..\User\HARAWARE -I..\..\User\MOTORDRIVER -I..\..\User\NAVAGATION -I..\..\User\PLATFORM -I..\..\User\SENSOR -I.\RTE\_Flash -IC:\Users\YDJ\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\YDJ\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.13.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION=527 -D_RTE_ -DSTM32F407xx -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -D__RTX -D__FPU_USED=1 --omf_browse=.\flash\obj\w5100s_conf.crf ..\..\User\W5100S\w5100s_conf.c]
                          THUMB

                          AREA ||i.PHY_check||, CODE, READONLY, ALIGN=2

                  PHY_check PROC
;;;246    */
;;;247    void PHY_check(void)
000000  b570              PUSH     {r4-r6,lr}
;;;248    {
;;;249      uint8 PHY_connect=0;
;;;250      PHY_connect=0x01&getPHYStatus();        // PHYSR 0X01--上线 0x00--下线
000002  f7fffffe          BL       getPHYStatus
000006  f0000401          AND      r4,r0,#1
;;;251      if(PHY_connect==0)
00000a  2c00              CMP      r4,#0
00000c  d11e              BNE      |L1.76|
;;;252      {
;;;253        Uart_Printf(COM1,"请检查网线是否连接?\r\n");
00000e  a110              ADR      r1,|L1.80|
000010  2001              MOVS     r0,#1
000012  f7fffffe          BL       Uart_Printf
                  |L1.22|
;;;254        PHY_connect = 0;
;;;255        do
;;;256        {
;;;257          close(PHY_connect++);
000016  4620              MOV      r0,r4
000018  1c64              ADDS     r4,r4,#1
00001a  b2e4              UXTB     r4,r4
00001c  f7fffffe          BL       close
;;;258        }while(PHY_connect < 4);
000020  2c04              CMP      r4,#4
000022  d3f8              BCC      |L1.22|
;;;259        PHY_connect = 0;
;;;260        while(PHY_connect == 0) { 
;;;261          PHY_connect=0x01&getPHYStatus();  
;;;262          printf(" .");
;;;263          bsp_DelayMS(500);
000024  f44f75fa          MOV      r5,#0x1f4
                  |L1.40|
000028  f7fffffe          BL       getPHYStatus
00002c  f0000401          AND      r4,r0,#1              ;261
000030  a00d              ADR      r0,|L1.104|
000032  f7fffffe          BL       __2printf
000036  4628              MOV      r0,r5
000038  f7fffffe          BL       bsp_DelayMS
00003c  2c00              CMP      r4,#0                 ;260
00003e  d0f3              BEQ      |L1.40|
;;;264    //			Delay(50);
;;;265        }
;;;266        Uart_Printf(COM1,"网线已连接!\r\n");  
000040  e8bd4070          POP      {r4-r6,lr}
000044  a109              ADR      r1,|L1.108|
000046  2001              MOVS     r0,#1
000048  f7ffbffe          B.W      Uart_Printf
                  |L1.76|
;;;267      }
;;;268    	//Uart_Printf(COM1,"网线已连接!\r\n");
;;;269    }
00004c  bd70              POP      {r4-r6,pc}
;;;270    /**
                          ENDP

00004e  0000              DCW      0x0000
                  |L1.80|
000050  c7ebbcec          DCB      199,235,188,236,178,233,205,248,207,223,202,199,183,241,193
000054  b2e9cdf8
000058  cfdfcac7
00005c  b7f1c1  
00005f  acbdd33f          DCB      172,189,211,"?\r\n",0
000063  0d0a00  
000066  00                DCB      0
000067  00                DCB      0
                  |L1.104|
000068  202e00            DCB      " .",0
00006b  00                DCB      0
                  |L1.108|
00006c  cdf8cfdf          DCB      205,248,207,223,210,209,193,172,189,211,163,161,"\r\n",0
000070  d2d1c1ac
000074  bdd3a3a1
000078  0d0a00  
00007b  00                DCB      0

                          AREA ||i.dhcp_timer_init||, CODE, READONLY, ALIGN=1

                  dhcp_timer_init PROC
;;;196    */
;;;197    void dhcp_timer_init(void)
000000  f7ffbffe          B.W      timer2_init
;;;198    {
;;;199      timer2_init();                                  
;;;200    }
;;;201    
                          ENDP


                          AREA ||i.getPHYStatus||, CODE, READONLY, ALIGN=1

                  getPHYStatus PROC
;;;274    */
;;;275    uint8 getPHYStatus( void )
000000  203c              MOVS     r0,#0x3c
;;;276    {
;;;277      return IINCHIP_READ(PHYSR);
000002  f7ffbffe          B.W      WIZCHIP_READ
;;;278    }
                          ENDP


                          AREA ||i.ntp_timer_init||, CODE, READONLY, ALIGN=1

                  ntp_timer_init PROC
;;;206    */
;;;207    void ntp_timer_init(void)
000000  f7ffbffe          B.W      timer2_init
;;;208    {
;;;209      timer2_init();                                  
;;;210    }
;;;211    
                          ENDP


                          AREA ||i.reboot||, CODE, READONLY, ALIGN=2

                  reboot PROC
;;;181    */
;;;182    void reboot(void)
000000  b510              PUSH     {r4,lr}
;;;183    {
;;;184      pFunction Jump_To_Application;
;;;185      uint32 JumpAddress;
;;;186      Uart_Printf(COM1,"系统重启中……\r\n");
000002  a104              ADR      r1,|L5.20|
000004  2001              MOVS     r0,#1
000006  f7fffffe          BL       Uart_Printf
;;;187      JumpAddress = *(vu32*) (0x00000004);
00000a  2000              MOVS     r0,#0
00000c  6840              LDR      r0,[r0,#4]
;;;188      Jump_To_Application = (pFunction) JumpAddress;
;;;189      Jump_To_Application();
00000e  e8bd4010          POP      {r4,lr}
000012  4700              BX       r0
;;;190    }
;;;191    
                          ENDP

                  |L5.20|
000014  cfb5cdb3          DCB      207,181,205,179,214,216,198,244,214,208,161,173,161,173,"\r"
000018  d6d8c6f4
00001c  d6d0a1ad
000020  a1ad0d  
000023  0a00              DCB      "\n",0
000025  00                DCB      0
000026  00                DCB      0
000027  00                DCB      0

                          AREA ||i.reset_break_gpio_init||, CODE, READONLY, ALIGN=2

                  reset_break_gpio_init PROC
;;;65     */
;;;66     void reset_break_gpio_init(void)
000000  b51c              PUSH     {r2-r4,lr}
;;;67     {
;;;68       GPIO_InitTypeDef GPIO_InitStructure;
;;;69     //  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
;;;70     	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
000002  2101              MOVS     r1,#1
000004  4608              MOV      r0,r1
000006  f7fffffe          BL       RCC_AHB1PeriphClockCmd
;;;71       //  PA-03 -> RST 
;;;72       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
00000a  2008              MOVS     r0,#8
00000c  9000              STR      r0,[sp,#0]
;;;73     //  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
;;;74     	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
00000e  2001              MOVS     r0,#1
000010  f88d0004          STRB     r0,[sp,#4]
;;;75     	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;       // 增加上拉 2020-2-6
000014  f88d0007          STRB     r0,[sp,#7]
;;;76       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000018  2002              MOVS     r0,#2
00001a  f88d0005          STRB     r0,[sp,#5]
;;;77       GPIO_Init(GPIOA, &GPIO_InitStructure);
00001e  4c07              LDR      r4,|L6.60|
000020  4669              MOV      r1,sp
000022  4620              MOV      r0,r4
000024  f7fffffe          BL       GPIO_Init
;;;78       //  PA-02 -> INT 
;;;79       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
000028  2104              MOVS     r1,#4
00002a  9100              STR      r1,[sp,#0]
;;;80     //  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
;;;81     	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
00002c  2100              MOVS     r1,#0
00002e  f88d1004          STRB     r1,[sp,#4]
;;;82       GPIO_Init(GPIOA, &GPIO_InitStructure);
000032  4669              MOV      r1,sp
000034  4620              MOV      r0,r4
000036  f7fffffe          BL       GPIO_Init
;;;83     }
00003a  bd1c              POP      {r2-r4,pc}
;;;84     
                          ENDP

                  |L6.60|
                          DCD      0x40020000

                          AREA ||i.reset_w5100s||, CODE, READONLY, ALIGN=2

                  reset_w5100s PROC
;;;166    extern void delay_ms(u16 nms);
;;;167    void reset_w5100s(void)
000000  b510              PUSH     {r4,lr}
;;;168    {
;;;169      GPIO_ResetBits(GPIOA, GPIO_Pin_3);   //A3---RESET
000002  4c09              LDR      r4,|L7.40|
000004  2108              MOVS     r1,#8
000006  4620              MOV      r0,r4
000008  f7fffffe          BL       GPIO_ResetBits
;;;170      bsp_DelayMS(500);  
00000c  f44f70fa          MOV      r0,#0x1f4
000010  f7fffffe          BL       bsp_DelayMS
;;;171    //	Delay(50);
;;;172      GPIO_SetBits(GPIOA, GPIO_Pin_3);
000014  2108              MOVS     r1,#8
000016  4620              MOV      r0,r4
000018  f7fffffe          BL       GPIO_SetBits
;;;173      bsp_DelayMS(1500);  
00001c  e8bd4010          POP      {r4,lr}
000020  f24050dc          MOV      r0,#0x5dc
000024  f7ffbffe          B.W      bsp_DelayMS
;;;174    //  Delay(150);
;;;175    }
;;;176    
                          ENDP

                  |L7.40|
                          DCD      0x40020000

                          AREA ||i.set_w5100s_mac||, CODE, READONLY, ALIGN=2

                  set_w5100s_mac PROC
;;;145    */
;;;146    void set_w5100s_mac(void)
000000  b51f              PUSH     {r0-r4,lr}
;;;147    {
;;;148      // 以下配置信息,根据需要选用  
;;;149      ConfigMsg.sw_ver[0]=FW_VER_HIGH;
000002  4815              LDR      r0,|L8.88|
000004  2101              MOVS     r1,#1
000006  7681              STRB     r1,[r0,#0x1a]
;;;150      ConfigMsg.sw_ver[1]=FW_VER_LOW;  
000008  2100              MOVS     r1,#0
00000a  76c1              STRB     r1,[r0,#0x1b]
;;;151      
;;;152      memcpy(ConfigMsg.mac, mac, 6);   // mac[6]={0x00,0x08,0xdc,0x22,0x33,0x33};
00000c  4c13              LDR      r4,|L8.92|
00000e  69e1              LDR      r1,[r4,#0x1c]  ; mac
000010  6001              STR      r1,[r0,#0]  ; ConfigMsg
000012  8c21              LDRH     r1,[r4,#0x20]  ; mac
000014  8081              STRH     r1,[r0,#4]
;;;153      setSHAR(ConfigMsg.mac);          // 将设置值写入芯片MAC地址
000016  4601              MOV      r1,r0
000018  2206              MOVS     r2,#6
00001a  2009              MOVS     r0,#9
00001c  f7fffffe          BL       WIZCHIP_WRITE_BUF
;;;154      memcpy(DHCP_GET.mac, mac, 6);
000020  480f              LDR      r0,|L8.96|
000022  69e1              LDR      r1,[r4,#0x1c]  ; mac
000024  6001              STR      r1,[r0,#0]  ; DHCP_GET
000026  8c21              LDRH     r1,[r4,#0x20]  ; mac
000028  8081              STRH     r1,[r0,#4]
;;;155      getSHAR(mac);        // 将MAC地址内的值读出到mac
00002a  2206              MOVS     r2,#6
00002c  f104011c          ADD      r1,r4,#0x1c
000030  2009              MOVS     r0,#9
000032  f7fffffe          BL       WIZCHIP_READ_BUF
;;;156      Uart_Printf(COM1,"W5100S MAC地址  : %02x.%02x.%02x.%02x.%02x.%02x\r\n", mac[0],mac[1],mac[2],mac[3],mac[4],mac[5]);
000036  f104001c          ADD      r0,r4,#0x1c
00003a  7941              LDRB     r1,[r0,#5]  ; mac
00003c  7902              LDRB     r2,[r0,#4]  ; mac
00003e  78c3              LDRB     r3,[r0,#3]  ; mac
000040  7884              LDRB     r4,[r0,#2]  ; mac
000042  e9cd2102          STRD     r2,r1,[sp,#8]
000046  e9cd4300          STRD     r4,r3,[sp,#0]
00004a  7843              LDRB     r3,[r0,#1]  ; mac
00004c  7802              LDRB     r2,[r0,#0]  ; mac
00004e  a105              ADR      r1,|L8.100|
000050  2001              MOVS     r0,#1
000052  f7fffffe          BL       Uart_Printf
;;;157    }
000056  bd1f              POP      {r0-r4,pc}
;;;158      
                          ENDP

                  |L8.88|
                          DCD      ||.bss||
                  |L8.92|
                          DCD      ||area_number.19||
                  |L8.96|
                          DCD      DHCP_GET
                  |L8.100|
000064  57353130          DCB      "W5100S MAC",181,216,214,183,"  : %02x.%02x.%02x.%02x.%0"
000068  3053204d
00006c  4143b5d8
000070  d6b72020
000074  3a202530
000078  32782e25
00007c  3032782e
000080  25303278
000084  2e253032
000088  782e2530
00008c  32782e25          DCB      "2x.%02x\r\n",0
000090  3032780d
000094  0a00    
000096  00                DCB      0
000097  00                DCB      0

                          AREA ||i.set_w5100s_netinfo||, CODE, READONLY, ALIGN=2

                  set_w5100s_netinfo PROC
;;;89     */
;;;90     void set_w5100s_netinfo(void)
000000  b53e              PUSH     {r1-r5,lr}
;;;91     {
;;;92       uint8 temp;
;;;93       // 复制定义的配置信息到配置结构体
;;;94       memcpy(ConfigMsg.mac, mac, 6);       // memcpy(dest,src,size)
000002  4a4a              LDR      r2,|L9.300|
000004  4c48              LDR      r4,|L9.296|
000006  69d0              LDR      r0,[r2,#0x1c]  ; mac
000008  f8440c02          STR      r0,[r4,#-2]  ; ConfigMsg
00000c  8c10              LDRH     r0,[r2,#0x20]  ; mac
00000e  8060              STRH     r0,[r4,#2]
;;;95       memcpy(ConfigMsg.lip,local_ip,4);
000010  f8d20003          LDR      r0,[r2,#3]  ; local_ip
000014  6060              STR      r0,[r4,#4]  ; ConfigMsg
;;;96       memcpy(ConfigMsg.sub,subnet,4);
000016  f8d20007          LDR      r0,[r2,#7]  ; subnet
00001a  60a0              STR      r0,[r4,#8]  ; ConfigMsg
;;;97       memcpy(ConfigMsg.gw,gateway,4);
00001c  f8d2000b          LDR      r0,[r2,#0xb]  ; gateway
000020  60e0              STR      r0,[r4,#0xc]  ; ConfigMsg
;;;98       memcpy(ConfigMsg.dns,dns_server,4);
000022  f8d2000f          LDR      r0,[r2,#0xf]  ; dns_server
000026  6120              STR      r0,[r4,#0x10]  ; ConfigMsg
000028  1ea4              SUBS     r4,r4,#2
;;;99       
;;;100      switch(ip_from)
00002a  7810              LDRB     r0,[r2,#0]  ; ip_from
00002c  2800              CMP      r0,#0
00002e  d004              BEQ      |L9.58|
000030  2801              CMP      r0,#1
000032  d007              BEQ      |L9.68|
000034  2802              CMP      r0,#2
000036  d12f              BNE      |L9.152|
000038  e020              B        |L9.124|
                  |L9.58|
;;;101      {
;;;102        case IP_FROM_DEFINE:
;;;103          Uart_Printf(COM1,"使用定义的IP信息配置W5100S:\r\n");
00003a  a13d              ADR      r1,|L9.304|
00003c  2001              MOVS     r0,#1
00003e  f7fffffe          BL       Uart_Printf
;;;104          break;
000042  e029              B        |L9.152|
                  |L9.68|
;;;105          
;;;106        case IP_FROM_DHCP:
;;;107          // 复制DHCP获取的配置信息到配置结构体
;;;108          if(dhcp_ok==1)
000044  7850              LDRB     r0,[r2,#1]  ; dhcp_ok
000046  2801              CMP      r0,#1
000048  d008              BEQ      |L9.92|
;;;109          {
;;;110            Uart_Printf(COM1,"IP from DHCP\r\n");     
;;;111            memcpy(ConfigMsg.lip,DHCP_GET.lip, 4);
;;;112            memcpy(ConfigMsg.sub,DHCP_GET.sub, 4);
;;;113            memcpy(ConfigMsg.gw,DHCP_GET.gw, 4);
;;;114            memcpy(ConfigMsg.dns,DHCP_GET.dns,4);
;;;115          }
;;;116          else
;;;117          {
;;;118            Uart_Printf(COM1,"DHCP子程序未运行,或者不成功\r\n");
00004a  a141              ADR      r1,|L9.336|
00004c  2001              MOVS     r0,#1
00004e  f7fffffe          BL       Uart_Printf
;;;119            Uart_Printf(COM1,"使用定义的IP信息配置W5100S\r\n");
000052  a147              ADR      r1,|L9.368|
000054  2001              MOVS     r0,#1
000056  f7fffffe          BL       Uart_Printf
00005a  e01d              B        |L9.152|
                  |L9.92|
00005c  a14c              ADR      r1,|L9.400|
00005e  2001              MOVS     r0,#1                 ;110
000060  f7fffffe          BL       Uart_Printf
000064  484e              LDR      r0,|L9.416|
000066  6801              LDR      r1,[r0,#0]            ;111  ; DHCP_GET
000068  f8441f06          STR      r1,[r4,#6]!           ;111  ; ConfigMsg
00006c  6841              LDR      r1,[r0,#4]            ;112  ; DHCP_GET
00006e  6061              STR      r1,[r4,#4]            ;112  ; ConfigMsg
000070  6881              LDR      r1,[r0,#8]            ;113  ; DHCP_GET
000072  60a1              STR      r1,[r4,#8]            ;113  ; ConfigMsg
000074  68c0              LDR      r0,[r0,#0xc]          ;114  ; DHCP_GET
000076  60e0              STR      r0,[r4,#0xc]          ;114  ; ConfigMsg
000078  1fa4              SUBS     r4,r4,#6              ;114
00007a  e00d              B        |L9.152|
                  |L9.124|
;;;120          }
;;;121          break;
;;;122          
;;;123        case IP_FROM_FLASH:
;;;124          ReadFlashNBtye(0,&temp,1);
00007c  2201              MOVS     r2,#1
00007e  a902              ADD      r1,sp,#8
000080  2000              MOVS     r0,#0
000082  f7fffffe          BL       ReadFlashNBtye
;;;125          if(temp != 255)
000086  f89d0008          LDRB     r0,[sp,#8]
00008a  28ff              CMP      r0,#0xff
00008c  d004              BEQ      |L9.152|
;;;126            ReadFlashNBtye(0,ConfigMsg.lip,12);
00008e  220c              MOVS     r2,#0xc
000090  1da1              ADDS     r1,r4,#6
000092  2000              MOVS     r0,#0
000094  f7fffffe          BL       ReadFlashNBtye
                  |L9.152|
;;;127          break;
;;;128        }
;;;129      setSUBR(ConfigMsg.sub);
000098  4923              LDR      r1,|L9.296|
00009a  2204              MOVS     r2,#4
00009c  3108              ADDS     r1,r1,#8
00009e  2005              MOVS     r0,#5
0000a0  f7fffffe          BL       WIZCHIP_WRITE_BUF
;;;130      setGAR(ConfigMsg.gw);
0000a4  4920              LDR      r1,|L9.296|
0000a6  2204              MOVS     r2,#4
0000a8  310c              ADDS     r1,r1,#0xc
0000aa  2001              MOVS     r0,#1
0000ac  f7fffffe          BL       WIZCHIP_WRITE_BUF
;;;131      setSIPR(ConfigMsg.lip);
0000b0  2204              MOVS     r2,#4
0000b2  1da1              ADDS     r1,r4,#6
0000b4  200f              MOVS     r0,#0xf
0000b6  f7fffffe          BL       WIZCHIP_WRITE_BUF
;;;132    
;;;133      getSIPR (local_ip);      
0000ba  491c              LDR      r1,|L9.300|
0000bc  2204              MOVS     r2,#4
0000be  1cc9              ADDS     r1,r1,#3
0000c0  200f              MOVS     r0,#0xf
0000c2  f7fffffe          BL       WIZCHIP_READ_BUF
;;;134      Uart_Printf(COM1,"W5100S IP地址   : %d.%d.%d.%d\r\n", local_ip[0],local_ip[1],local_ip[2],local_ip[3]);
0000c6  4819              LDR      r0,|L9.300|
0000c8  1cc0              ADDS     r0,r0,#3
0000ca  78c1              LDRB     r1,[r0,#3]  ; local_ip
0000cc  7882              LDRB     r2,[r0,#2]  ; local_ip
0000ce  e9cd2100          STRD     r2,r1,[sp,#0]
0000d2  7843              LDRB     r3,[r0,#1]  ; local_ip
0000d4  7802              LDRB     r2,[r0,#0]  ; local_ip
0000d6  a133              ADR      r1,|L9.420|
0000d8  2001              MOVS     r0,#1
0000da  f7fffffe          BL       Uart_Printf
;;;135      getSUBR(subnet);
0000de  4913              LDR      r1,|L9.300|
0000e0  2204              MOVS     r2,#4
0000e2  1dc9              ADDS     r1,r1,#7
0000e4  2005              MOVS     r0,#5
0000e6  f7fffffe          BL       WIZCHIP_READ_BUF
;;;136      Uart_Printf(COM1,"W5100S 子网掩码 : %d.%d.%d.%d\r\n", subnet[0],subnet[1],subnet[2],subnet[3]);
0000ea  4810              LDR      r0,|L9.300|
0000ec  1dc0              ADDS     r0,r0,#7
0000ee  78c1              LDRB     r1,[r0,#3]  ; subnet
0000f0  7882              LDRB     r2,[r0,#2]  ; subnet
0000f2  e9cd2100          STRD     r2,r1,[sp,#0]
0000f6  7843              LDRB     r3,[r0,#1]  ; subnet
0000f8  7802              LDRB     r2,[r0,#0]  ; subnet
0000fa  a132              ADR      r1,|L9.452|
0000fc  2001              MOVS     r0,#1
0000fe  f7fffffe          BL       Uart_Printf
;;;137      getGAR(gateway);
000102  490a              LDR      r1,|L9.300|
000104  2204              MOVS     r2,#4
000106  310b              ADDS     r1,r1,#0xb
000108  2001              MOVS     r0,#1
00010a  f7fffffe          BL       WIZCHIP_READ_BUF
;;;138      Uart_Printf(COM1,"W5100S 网关     : %d.%d.%d.%d\r\n", gateway[0],gateway[1],gateway[2],gateway[3]);
00010e  4807              LDR      r0,|L9.300|
000110  300b              ADDS     r0,r0,#0xb
000112  78c1              LDRB     r1,[r0,#3]  ; gateway
000114  7882              LDRB     r2,[r0,#2]  ; gateway
000116  e9cd2100          STRD     r2,r1,[sp,#0]
00011a  7843              LDRB     r3,[r0,#1]  ; gateway
00011c  7802              LDRB     r2,[r0,#0]  ; gateway
00011e  a131              ADR      r1,|L9.484|
000120  2001              MOVS     r0,#1
000122  f7fffffe          BL       Uart_Printf
;;;139    }
000126  bd3e              POP      {r1-r5,pc}
;;;140    
                          ENDP

                  |L9.296|
                          DCD      ||.bss||+0x2
                  |L9.300|
                          DCD      ||area_number.19||
                  |L9.304|
000130  cab9d3c3          DCB      202,185,211,195,182,168,210,229,181,196,"IP",208,197,207
000134  b6a8d2e5
000138  b5c44950
00013c  d0c5cf  
00013f  a2c5e4d6          DCB      162,197,228,214,195,"W5100S:\r\n",0
000143  c3573531
000147  3030533a
00014b  0d0a00  
00014e  00                DCB      0
00014f  00                DCB      0
                  |L9.336|
000150  44484350          DCB      "DHCP",215,211,179,204,208,242,206,180,212,203,208,208,","
000154  d7d3b3cc
000158  d0f2ceb4
00015c  d4cbd0d0
000160  2c      
000161  bbf2d5df          DCB      187,242,213,223,178,187,179,201,185,166,"\r\n",0
000165  b2bbb3c9
000169  b9a60d0a
00016d  00      
00016e  00                DCB      0
00016f  00                DCB      0
                  |L9.368|
000170  cab9d3c3          DCB      202,185,211,195,182,168,210,229,181,196,"IP",208,197,207
000174  b6a8d2e5
000178  b5c44950
00017c  d0c5cf  
00017f  a2c5e4d6          DCB      162,197,228,214,195,"W5100S\r\n",0
000183  c3573531
000187  3030530d
00018b  0a00    
00018d  00                DCB      0
00018e  00                DCB      0
00018f  00                DCB      0
                  |L9.400|
000190  49502066          DCB      "IP from DHCP\r\n",0
000194  726f6d20
000198  44484350
00019c  0d0a00  
00019f  00                DCB      0
                  |L9.416|
                          DCD      DHCP_GET+0x6
                  |L9.420|
0001a4  57353130          DCB      "W5100S IP",181,216,214,183,"   : %d.%d.%d.%d\r\n",0
0001a8  30532049
0001ac  50b5d8d6
0001b0  b7202020
0001b4  3a202564
0001b8  2e25642e
0001bc  25642e25
0001c0  640d0a00
                  |L9.452|
0001c4  57353130          DCB      "W5100S ",215,211,205,248,209,218,194,235," : %d.%d.%d.%"
0001c8  305320d7
0001cc  d3cdf8d1
0001d0  dac2eb20
0001d4  3a202564
0001d8  2e25642e
0001dc  25642e25
0001e0  640d0a00          DCB      "d\r\n",0
                  |L9.484|
0001e4  57353130          DCB      "W5100S ",205,248,185,216,"     : %d.%d.%d.%d\r\n",0
0001e8  305320cd
0001ec  f8b9d820
0001f0  20202020
0001f4  3a202564
0001f8  2e25642e
0001fc  25642e25
000200  640d0a00

                          AREA ||i.timer2_init||, CODE, READONLY, ALIGN=1

                  timer2_init PROC
;;;216    */
;;;217    void timer2_init(void)
000000  b510              PUSH     {r4,lr}
;;;218    {
;;;219      TIM2_Configuration();                                        //  TIM2 定时配置 
000002  f7fffffe          BL       TIM2_Configuration
;;;220      TIM2_NVIC_Configuration();                                   //  定时器的中断优先级 
000006  f7fffffe          BL       TIM2_NVIC_Configuration
;;;221      RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);        //  TIM2 重新开时钟,开始计时 
00000a  2101              MOVS     r1,#1
00000c  e8bd4010          POP      {r4,lr}
000010  4608              MOV      r0,r1
000012  f7ffbffe          B.W      RCC_APB1PeriphClockCmd
;;;222    }
;;;223    
                          ENDP


                          AREA ||i.timer2_isr||, CODE, READONLY, ALIGN=2

                  timer2_isr PROC
;;;228    */
;;;229    void timer2_isr(void)
000000  4807              LDR      r0,|L11.32|
;;;230    {
;;;231      ms++;  
000002  6941              LDR      r1,[r0,#0x14]  ; ms
000004  1c49              ADDS     r1,r1,#1
000006  6141              STR      r1,[r0,#0x14]  ; ms
;;;232      if(ms>=1000)
000008  f5b17f7a          CMP      r1,#0x3e8
00000c  d307              BCC      |L11.30|
;;;233      {  
;;;234        ms=0;
00000e  2100              MOVS     r1,#0
000010  6141              STR      r1,[r0,#0x14]  ; ms
;;;235        dhcp_time++;             // DHCP定时加1S
000012  6981              LDR      r1,[r0,#0x18]  ; dhcp_time
000014  1c49              ADDS     r1,r1,#1
000016  6181              STR      r1,[r0,#0x18]  ; dhcp_time
;;;236    #ifndef __NTP_H__
;;;237        ntptimer++;              // NTP重试时间加1S
000018  7881              LDRB     r1,[r0,#2]  ; ntptimer
00001a  1c49              ADDS     r1,r1,#1
00001c  7081              STRB     r1,[r0,#2]
                  |L11.30|
;;;238    #endif
;;;239      }
;;;240    }
00001e  4770              BX       lr
;;;241    
                          ENDP

                  |L11.32|
                          DCD      ||area_number.19||

                          AREA ||.bss||, DATA, NOINIT, ALIGN=0

                  ConfigMsg
                          %        28

                          AREA ||area_number.14||, DATA, NOINIT, ALIGN=0

                          EXPORTAS ||area_number.14||, ||.bss||
                  rxbuf
                          %        1024

                          AREA ||.data||, DATA, ALIGN=1

                  rxlen
000000  0000              DCW      0x0000

                          AREA ||area_number.17||, DATA, ALIGN=0

                          EXPORTAS ||area_number.17||, ||.data||
                  txsize
000000  02020202          DCB      0x02,0x02,0x02,0x02

                          AREA ||area_number.18||, DATA, ALIGN=0

                          EXPORTAS ||area_number.18||, ||.data||
                  rxsize
000000  02020202          DCB      0x02,0x02,0x02,0x02

                          AREA ||area_number.19||, DATA, ALIGN=2

                          EXPORTAS ||area_number.19||, ||.data||
                  ip_from
000000  00                DCB      0x00
                  dhcp_ok
000001  00                DCB      0x00
                  ntptimer
000002  00                DCB      0x00
                  local_ip
000003  c0                DCB      0xc0
000004  a8001e            DCB      0xa8,0x00,0x1e
                  subnet
000007  ff                DCB      0xff
000008  ffff00            DCB      0xff,0xff,0x00
                  gateway
00000b  c0                DCB      0xc0
00000c  a80001            DCB      0xa8,0x00,0x01
                  dns_server
00000f  72                DCB      0x72
000010  72727200          DCB      0x72,0x72,0x72,0x00
                  ||ms||
                          DCD      0x00000000
                  dhcp_time
                          DCD      0x00000000
                  mac
00001c  0008dc22          DCB      0x00,0x08,0xdc,0x22
000020  3330              DCB      0x33,0x30

                          AREA ||area_number.20||, DATA, ALIGN=1

                          EXPORTAS ||area_number.20||, ||.data||
                  local_port
000000  0400              DCW      0x0400

                          AREA ||area_number.21||, DATA, ALIGN=1

                          EXPORTAS ||area_number.21||, ||.data||
                  local_port2
000000  01f6              DCW      0x01f6

                          AREA ||area_number.22||, DATA, ALIGN=1

                          EXPORTAS ||area_number.22||, ||.data||
                  local_port3
000000  0401              DCW      0x0401

                          AREA ||area_number.23||, DATA, ALIGN=0

                          EXPORTAS ||area_number.23||, ||.data||
                  remote_ip
000000  c0a80064          DCB      0xc0,0xa8,0x00,0x64

                          AREA ||area_number.24||, DATA, ALIGN=1

                          EXPORTAS ||area_number.24||, ||.data||
                  remote_port
000000  1f82              DCW      0x1f82

;*** Start embedded assembler ***

#line 1 "..\\..\\User\\W5100S\\w5100s_conf.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___13_w5100s_conf_c_rxlen____REV16|
#line 129 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___13_w5100s_conf_c_rxlen____REV16| PROC
#line 130

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___13_w5100s_conf_c_rxlen____REVSH|
#line 144
|__asm___13_w5100s_conf_c_rxlen____REVSH| PROC
#line 145

 revsh r0, r0
 bx lr
	ENDP
	AREA ||.rrx_text||, CODE
	THUMB
	EXPORT |__asm___13_w5100s_conf_c_rxlen____RRX|
#line 300
|__asm___13_w5100s_conf_c_rxlen____RRX| PROC
#line 301

 rrx r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***