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 ***