| 
					
				 | 
			
			
				@@ -5,43 +5,43 @@ Sections: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Idx Name          Size      VMA       LMA       File off  Algn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   0 .isr_vector   00000188  08000000  08000000  00008000  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, ALLOC, LOAD, READONLY, DATA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  1 .text         0000b688  08008000  08008000  00010000  2**3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  1 .text         0000b5e8  08008000  08008000  00010000  2**3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, ALLOC, LOAD, READONLY, CODE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  2 .ARM          00000008  08013688  08013688  0001b688  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  2 .ARM          00000008  080135e8  080135e8  0001b5e8  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, ALLOC, LOAD, READONLY, DATA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  3 .init_array   00000004  08013690  08013690  0001b690  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  3 .init_array   00000004  080135f0  080135f0  0001b5f0  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, ALLOC, LOAD, DATA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  4 .fini_array   00000004  08013694  08013694  0001b694  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  4 .fini_array   00000004  080135f4  080135f4  0001b5f4  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, ALLOC, LOAD, DATA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  5 .data         00000118  20000000  08013698  00020000  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  5 .data         00000118  20000000  080135f8  00020000  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, ALLOC, LOAD, DATA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  6 .bss          0000c884  20000118  080137b0  00020118  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  6 .bss          0000c6c0  20000118  08013710  00020118  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ALLOC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  7 ._user_heap_stack 00000900  2000c99c  08020034  00020118  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  7 ._user_heap_stack 00000900  2000c7d8  0801fdd0  00020118  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ALLOC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   8 .settings     00004000  08004000  08004000  0000c000  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, ALLOC, LOAD, DATA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   9 .ARM.attributes 0000002f  00000000  00000000  00020118  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 10 .debug_info   00024c72  00000000  00000000  00020147  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 10 .debug_info   000248ba  00000000  00000000  00020147  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 11 .debug_abbrev 00007158  00000000  00000000  00044db9  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 11 .debug_abbrev 00007128  00000000  00000000  00044a01  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 12 .debug_loc    00011f69  00000000  00000000  0004bf11  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 12 .debug_loc    00011f49  00000000  00000000  0004bb29  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 13 .debug_aranges 000019c8  00000000  00000000  0005de80  2**3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 13 .debug_aranges 000019b8  00000000  00000000  0005da78  2**3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 14 .debug_ranges 00001d78  00000000  00000000  0005f848  2**3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 14 .debug_ranges 00001d20  00000000  00000000  0005f430  2**3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 15 .debug_macro  00017611  00000000  00000000  000615c0  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 15 .debug_macro  00017611  00000000  00000000  00061150  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 16 .debug_line   00013254  00000000  00000000  00078bd1  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 16 .debug_line   00013203  00000000  00000000  00078761  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 17 .debug_str    00071523  00000000  00000000  0008be25  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 17 .debug_str    0007145c  00000000  00000000  0008b964  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 18 .comment      00000030  00000000  00000000  000fd348  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 18 .comment      00000030  00000000  00000000  000fcdc0  2**0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 19 .debug_frame  00003ec8  00000000  00000000  000fd378  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 19 .debug_frame  00003e9c  00000000  00000000  000fcdf0  2**2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   CONTENTS, READONLY, DEBUGGING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Disassembly of section .text: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -92,7 +92,7 @@ Disassembly of section .text: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800806a:	f240 0300 	movw	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800806e:	f2c0 0300 	movt	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8008072:	b12b      	cbz	r3, 8008080 <__do_global_dtors_aux+0x28> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8008074:	f243 6070 	movw	r0, #13936	; 0x3670 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8008074:	f243 50d0 	movw	r0, #13776	; 0x35d0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8008078:	f6c0 0001 	movt	r0, #2049	; 0x801 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800807c:	f3af 8000 	nop.w 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8008080:	2301      	movs	r3, #1 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -105,7 +105,7 @@ Disassembly of section .text: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800808a:	f240 0300 	movw	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800808e:	f2c0 0300 	movt	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8008092:	b14b      	cbz	r3, 80080a8 <frame_dummy+0x20> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8008094:	f243 6070 	movw	r0, #13936	; 0x3670 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8008094:	f243 50d0 	movw	r0, #13776	; 0x35d0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8008098:	f240 111c 	movw	r1, #284	; 0x11c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800809c:	f6c0 0001 	movt	r0, #2049	; 0x801 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  80080a0:	f2c2 0100 	movt	r1, #8192	; 0x2000 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1764,8 +1764,8 @@ Disassembly of section .text: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 08009348 <__libc_init_array>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8009348:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800934a:	f243 6690 	movw	r6, #13968	; 0x3690 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800934e:	f243 6590 	movw	r5, #13968	; 0x3690 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800934a:	f243 56f0 	movw	r6, #13808	; 0x35f0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800934e:	f243 55f0 	movw	r5, #13808	; 0x35f0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8009352:	f6c0 0601 	movt	r6, #2049	; 0x801 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8009356:	f6c0 0501 	movt	r5, #2049	; 0x801 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800935a:	1b76      	subs	r6, r6, r5 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1778,12 +1778,12 @@ Disassembly of section .text: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800936a:	4798      	blx	r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800936c:	42a6      	cmp	r6, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800936e:	d1f9      	bne.n	8009364 <__libc_init_array+0x1c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8009370:	f243 6694 	movw	r6, #13972	; 0x3694 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8009374:	f243 6590 	movw	r5, #13968	; 0x3690 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8009370:	f243 56f4 	movw	r6, #13812	; 0x35f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8009374:	f243 55f0 	movw	r5, #13808	; 0x35f0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8009378:	f6c0 0601 	movt	r6, #2049	; 0x801 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800937c:	f6c0 0501 	movt	r5, #2049	; 0x801 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8009380:	1b76      	subs	r6, r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8009382:	f00a f975 	bl	8013670 <_init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8009382:	f00a f925 	bl	80135d0 <_init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8009386:	10b6      	asrs	r6, r6, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  8009388:	d008      	beq.n	800939c <__libc_init_array+0x54> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800938a:	3d04      	subs	r5, #4 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -5310,7 +5310,7 @@ dhcp_discover(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a4d6:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a4d8:	bd7c      	pop	{r2, r3, r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a4da:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800a4dc:	0801187c 	.word	0x0801187c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800a4dc:	080117f4 	.word	0x080117f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800a4e0 <dhcp_rebind>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -5417,7 +5417,7 @@ dhcp_rebind(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a55c:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a55e:	bd7c      	pop	{r2, r3, r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800a560:	0801187c 	.word	0x0801187c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800a560:	080117f4 	.word	0x080117f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800a564 <dhcp_reboot>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -5533,7 +5533,7 @@ dhcp_reboot(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a5fa:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a5fc:	bd7c      	pop	{r2, r3, r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a5fe:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800a600:	0801187c 	.word	0x0801187c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800a600:	080117f4 	.word	0x080117f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800a604 <dhcp_select>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @param netif the netif under DHCP control 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -5690,7 +5690,7 @@ dhcp_select(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a6de:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a6e0:	bd7c      	pop	{r2, r3, r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800a6e2:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800a6e4:	0801187c 	.word	0x0801187c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800a6e4:	080117f4 	.word	0x080117f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800a6e8 <dhcp_check>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7019,7 +7019,7 @@ free_pbuf_and_return: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800ab88:	e8bd 8ff0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800ab8c:	20006dd0 	.word	0x20006dd0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800ab90:	20006ddc 	.word	0x20006ddc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ab94:	08011880 	.word	0x08011880 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ab94:	080117f8 	.word	0x080117f8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800ab98 <dhcp_arp_reply>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7123,7 +7123,7 @@ void dhcp_arp_reply(struct netif *netif, ip_addr_t *addr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800ac10:	bd3e      	pop	{r1, r2, r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800ac12:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ac14:	0801187c 	.word	0x0801187c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ac14:	080117f4 	.word	0x080117f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800ac18 <dhcp_renew>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7453,7 +7453,7 @@ dhcp_release(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800ad96:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800ad98:	bd7c      	pop	{r2, r3, r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800ad9a:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ad9c:	08011880 	.word	0x08011880 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ad9c:	080117f8 	.word	0x080117f8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800ada0 <dhcp_fine_tmr>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * A DHCP server is expected to respond within a short period of time. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7892,7 +7892,7 @@ dhcp_start(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800af0a:	b240      	sxtb	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800af0c:	bd38      	pop	{r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800af0e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800af10:	08011880 	.word	0x08011880 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800af10:	080117f8 	.word	0x080117f8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800af14:	0800a7cd 	.word	0x0800a7cd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800af18 <lwip_init>: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -8851,10 +8851,10 @@ memp_init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b268:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b26a:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b26c:	20008220 	.word	0x20008220 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800b270:	08011830 	.word	0x08011830 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800b270:	080117a8 	.word	0x080117a8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b274:	20000143 	.word	0x20000143 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b278:	20006b4c 	.word	0x20006b4c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800b27c:	08011844 	.word	0x08011844 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800b27c:	080117bc 	.word	0x080117bc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800b280 <memp_malloc>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -10964,7 +10964,7 @@ again: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b890:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b892:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b894:	20000110 	.word	0x20000110 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800b898:	08011858 	.word	0x08011858 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800b898:	080117d0 	.word	0x080117d0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800b89c <tcp_init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -11138,7 +11138,7 @@ tcp_bind(struct tcp_pcb *pcb, ip_addr_t *ipaddr, u16_t port) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b902:	b240      	sxtb	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b904:	bdf8      	pop	{r3, r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b906:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800b908:	08011858 	.word	0x08011858 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800b908:	080117d0 	.word	0x080117d0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800b90c:	2000834c 	.word	0x2000834c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800b910 <tcp_listen_with_backlog>: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -12359,8 +12359,8 @@ tcp_slowtmr_start: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800bd18:	20008340 	.word	0x20008340 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800bd1c:	20006b7d 	.word	0x20006b7d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800bd20:	2000833c 	.word	0x2000833c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800bd24:	08011875 	.word	0x08011875 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800bd28:	08011868 	.word	0x08011868 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800bd24:	080117ed 	.word	0x080117ed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800bd28:	080117e0 	.word	0x080117e0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800bd2c:	000124f8 	.word	0x000124f8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800bd30:	20008350 	.word	0x20008350 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800bd34:	20008338 	.word	0x20008338 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19773,7 +19773,7 @@ void sys_timeouts_init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #if NO_SYS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Initialise timestamp for sys_check_timeouts */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   timeouts_last_time = sys_now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800dbaa:	f003 fa09 	bl	8010fc0 <sys_now> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800dbaa:	f003 f9c5 	bl	8010f38 <sys_now> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800dbae:	4b05      	ldr	r3, [pc, #20]	; (800dbc4 <sys_timeouts_init+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800dbb0:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800dbb2:	bd08      	pop	{r3, pc} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20003,7 +20003,7 @@ sys_check_timeouts(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     u32_t now; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     now = sys_now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800dcae:	f003 f987 	bl	8010fc0 <sys_now> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800dcae:	f003 f943 	bl	8010f38 <sys_now> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* this cares for wraparounds */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     diff = now - timeouts_last_time; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800dcb2:	4b0f      	ldr	r3, [pc, #60]	; (800dcf0 <sys_check_timeouts+0x4c>) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -25645,8 +25645,8 @@ etharp_request(struct netif *netif, ip_addr_t *ipaddr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800efd6:	b260      	sxtb	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800efd8:	e8bd 83f8 	ldmia.w	sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800efdc:	20008220 	.word	0x20008220 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800efe0:	0801188a 	.word	0x0801188a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800efe4:	08011884 	.word	0x08011884 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800efe0:	08011802 	.word	0x08011802 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800efe4:	080117fc 	.word	0x080117fc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800efe8 <etharp_query>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * - ERR_ARG Non-unicast address given, those will not appear in ARP cache. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26319,7 +26319,7 @@ etharp_output(struct netif *netif, struct pbuf *q, ip_addr_t *ipaddr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f244:	20008220 	.word	0x20008220 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f248:	20006bc2 	.word	0x20006bc2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f24c:	20006bc4 	.word	0x20006bc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f250:	08011884 	.word	0x08011884 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f250:	080117fc 	.word	0x080117fc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800f254 <ethernet_input>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @param p the recevied packet, p->payload pointing to the ethernet header 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26843,7 +26843,7 @@ free_and_return: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f468:	b007      	add	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f46a:	e8bd 8ff0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f46e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f470:	08011884 	.word	0x08011884 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f470:	080117fc 	.word	0x080117fc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f474:	20008220 	.word	0x20008220 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f478:	20006bc4 	.word	0x20006bc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26917,13 +26917,13 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Prepare transmit descriptors to give to DMA*/  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_Prepare_Transmit_Descriptors(framelength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f49e:	b2a8      	uxth	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f4a0:	f001 f988 	bl	80107b4 <ETH_Prepare_Transmit_Descriptors> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f4a0:	f001 f944 	bl	801072c <ETH_Prepare_Transmit_Descriptors> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ERR_OK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f4a4:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f4a6:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f4a8:	20008cc0 	.word	0x20008cc0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f4a8:	20008afc 	.word	0x20008afc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800f4ac <ethernetif_input>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * the appropriate input function is called. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26941,7 +26941,7 @@ err_t ethernetif_input(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* get received frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   frame = ETH_Get_Received_Frame(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f4b2:	a801      	add	r0, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f4b4:	f001 f964 	bl	8010780 <ETH_Get_Received_Frame> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f4b4:	f001 f920 	bl	80106f8 <ETH_Get_Received_Frame> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Obtain the size of the packet and put it into the "len" variable. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   len = frame.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   buffer = (u8 *)frame.buffer; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27129,7 +27129,7 @@ err_t ethernetif_input(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f538:	b260      	sxtb	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f53a:	b004      	add	sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f53c:	e8bd 81f0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f540:	2000ab2c 	.word	0x2000ab2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f540:	2000a968 	.word	0x2000a968 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f544:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800f548 <ethernetif_init>: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27206,7 +27206,7 @@ err_t ethernetif_init(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_GetMac(mac); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f568:	4668      	mov	r0, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f56a:	f000 fa8d 	bl	800fa88 <SETTINGS_GetMac> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f56a:	f000 fa4b 	bl	800fa04 <SETTINGS_GetMac> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   netif->hwaddr[0] =  mac[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f56e:	f89d 3000 	ldrb.w	r3, [sp] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27240,7 +27240,7 @@ err_t ethernetif_init(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* initialize MAC address in ethernet MAC */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_MACAddressConfig(ETH_MAC_Address0, netif->hwaddr);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5a2:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5a4:	f001 f8d4 	bl	8010750 <ETH_MACAddressConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5a4:	f001 f890 	bl	80106c8 <ETH_MACAddressConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* maximum transfer unit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   netif->mtu = 1500; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27258,13 +27258,13 @@ err_t ethernetif_init(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5b4:	480c      	ldr	r0, [pc, #48]	; (800f5e8 <ethernetif_init+0xa0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5b6:	490e      	ldr	r1, [pc, #56]	; (800f5f0 <ethernetif_init+0xa8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5b8:	2205      	movs	r2, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5ba:	f001 f9bf 	bl	801093c <ETH_DMATxDescChainInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5ba:	f001 f97b 	bl	80108b4 <ETH_DMATxDescChainInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Initialize Rx Descriptors list: Chain Mode  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMARxDescChainInit(DMARxDscrTab, &Rx_Buff[0][0], ETH_RXBUFNB); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5be:	480d      	ldr	r0, [pc, #52]	; (800f5f4 <ethernetif_init+0xac>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5c0:	490d      	ldr	r1, [pc, #52]	; (800f5f8 <ethernetif_init+0xb0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5c2:	2205      	movs	r2, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5c4:	f001 f950 	bl	8010868 <ETH_DMARxDescChainInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5c4:	f001 f90c 	bl	80107e0 <ETH_DMARxDescChainInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef CHECKSUM_BY_HARDWARE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable the TCP, UDP and ICMP checksum insertion for the Tx frames */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27283,7 +27283,7 @@ err_t ethernetif_init(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5d2:	3401      	adds	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ETH_DMATxDescChecksumInsertionConfig(&DMATxDscrTab[i], ETH_DMATxDesc_ChecksumTCPUDPICMPFull); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5d4:	f001 f9d4 	bl	8010980 <ETH_DMATxDescChecksumInsertionConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5d4:	f001 f990 	bl	80108f8 <ETH_DMATxDescChecksumInsertionConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Initialize Rx Descriptors list: Chain Mode  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMARxDescChainInit(DMARxDscrTab, &Rx_Buff[0][0], ETH_RXBUFNB); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27298,7 +27298,7 @@ err_t ethernetif_init(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable MAC and DMA transmission and reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_Start(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5dc:	f001 fa10 	bl	8010a00 <ETH_Start> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5dc:	f001 f9cc 	bl	8010978 <ETH_Start> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* initialize the hardware */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   low_level_init(netif); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27308,11 +27308,11 @@ err_t ethernetif_init(struct netif *netif) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5e0:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5e2:	bd3e      	pop	{r1, r2, r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5e4:	0800f151 	.word	0x0800f151 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5e8:	20008cc4 	.word	0x20008cc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5e8:	20008b00 	.word	0x20008b00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f5ec:	0800f47d 	.word	0x0800f47d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5f0:	2000abd0 	.word	0x2000abd0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5f4:	2000ab30 	.word	0x2000ab30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f5f8:	20008d64 	.word	0x20008d64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5f0:	2000aa0c 	.word	0x2000aa0c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5f4:	2000a96c 	.word	0x2000a96c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f5f8:	20008ba0 	.word	0x20008ba0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800f5fc <CRC_Init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27879,14 +27879,14 @@ void LED_Blinky_Green(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_SetBootParamsDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  sSettings.bootParams.loadMode = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  sSettings.bootParams.loadMode = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f7fc:	4b02      	ldr	r3, [pc, #8]	; (800f808 <SETTINGS_SetBootParamsDef+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f7fe:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f7fe:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f800:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sSettings.bootParams.bootTry = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f802:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f804:	705a      	strb	r2, [r3, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f806:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f802:	705a      	strb	r2, [r3, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f804:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f806:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f808:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800f80c <SETTINGS_SetWebParamsDef>: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27904,20 +27904,20 @@ void SETTINGS_SetWebParamsDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f814:	f7fa f804 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sWebParams.gate, "192.168.1.1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f818:	4908      	ldr	r1, [pc, #32]	; (800f83c <SETTINGS_SetWebParamsDef+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f81a:	f104 000f 	add.w	r0, r4, #15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f81a:	f104 0010 	add.w	r0, r4, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f81e:	f7f9 ffff 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sWebParams.mask, "255.255.255.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f822:	f104 001e 	add.w	r0, r4, #30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f822:	f104 0020 	add.w	r0, r4, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f826:	4906      	ldr	r1, [pc, #24]	; (800f840 <SETTINGS_SetWebParamsDef+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f828:	f7f9 fffa 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sSettings.sWebParams.dhcpEnable = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f82c:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f82e:	f884 202d 	strb.w	r2, [r4, #45]	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f82e:	f884 2030 	strb.w	r2, [r4, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f832:	bd10      	pop	{r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f834:	2000838e 	.word	0x2000838e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f838:	08011890 	.word	0x08011890 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f83c:	0801189c 	.word	0x0801189c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f840:	080118a8 	.word	0x080118a8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f838:	08011808 	.word	0x08011808 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f83c:	08011814 	.word	0x08011814 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f840:	08011820 	.word	0x08011820 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 0800f844 <SETTINGS_SetTempWebParamsDef>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27934,8941 +27934,8837 @@ void SETTINGS_SetTempWebParamsDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f84c:	f7f9 ffe8 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sWebTempParams.gate, "192.168.1.1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f850:	4908      	ldr	r1, [pc, #32]	; (800f874 <SETTINGS_SetTempWebParamsDef+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f852:	f104 000f 	add.w	r0, r4, #15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f852:	f104 0010 	add.w	r0, r4, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f856:	f7f9 ffe3 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sWebTempParams.mask, "255.255.255.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f85a:	f104 001e 	add.w	r0, r4, #30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f85a:	f104 0020 	add.w	r0, r4, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f85e:	4906      	ldr	r1, [pc, #24]	; (800f878 <SETTINGS_SetTempWebParamsDef+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f860:	f7f9 ffde 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sSettings.sWebTempParams.dhcpEnable = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f864:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f866:	f884 202d 	strb.w	r2, [r4, #45]	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f866:	f884 2030 	strb.w	r2, [r4, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  800f86a:	bd10      	pop	{r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f86c:	200083bc 	.word	0x200083bc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f870:	08011890 	.word	0x08011890 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f874:	0801189c 	.word	0x0801189c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f878:	080118a8 	.word	0x080118a8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f86c:	200083bf 	.word	0x200083bf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f870:	08011808 	.word	0x08011808 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f874:	08011814 	.word	0x08011814 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f878:	08011820 	.word	0x08011820 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800f87c <SETTINGS_SetSnmpDef>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  * @brief  Установить параметры SNMP по умолчанию 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-void SETTINGS_SetSnmpDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f87c:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysDescr, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f87e:	4c19      	ldr	r4, [pc, #100]	; (800f8e4 <SETTINGS_SetSnmpDef+0x68>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f880:	4d19      	ldr	r5, [pc, #100]	; (800f8e8 <SETTINGS_SetSnmpDef+0x6c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.readCommunity, "public"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f882:	4e1a      	ldr	r6, [pc, #104]	; (800f8ec <SETTINGS_SetSnmpDef+0x70>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  * @brief  Установить параметры SNMP по умолчанию 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-void SETTINGS_SetSnmpDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysDescr, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f884:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f886:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f888:	f7f9 ffca 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.readCommunity, "public"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f88c:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f88e:	f104 00a0 	add.w	r0, r4, #160	; 0xa0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f892:	f7f9 ffc5 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.writeCommunity, "public"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f896:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f898:	f104 00b4 	add.w	r0, r4, #180	; 0xb4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f89c:	f7f9 ffc0 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysContact, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8a0:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8a2:	f104 00c8 	add.w	r0, r4, #200	; 0xc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8a6:	f7f9 ffbb 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysName, "BT-6701"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8aa:	f104 00fa 	add.w	r0, r4, #250	; 0xfa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8ae:	4910      	ldr	r1, [pc, #64]	; (800f8f0 <SETTINGS_SetSnmpDef+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8b0:	f7f9 ffb6 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysLocation, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8b4:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.managerIP, "0.0.0.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8b6:	4d0f      	ldr	r5, [pc, #60]	; (800f8f4 <SETTINGS_SetSnmpDef+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysDescr, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.readCommunity, "public"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.writeCommunity, "public"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysContact, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysName, "BT-6701"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysLocation, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8b8:	f504 7087 	add.w	r0, r4, #270	; 0x10e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8bc:	f7f9 ffb0 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.managerIP, "0.0.0.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8c0:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8c2:	f504 70be 	add.w	r0, r4, #380	; 0x17c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8c6:	f7f9 ffab 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.managerIP2, "0.0.0.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8ca:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8cc:	f504 70c8 	add.w	r0, r4, #400	; 0x190 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8d0:	f7f9 ffa6 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.managerIP3, "0.0.0.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8d4:	f504 70d2 	add.w	r0, r4, #420	; 0x1a4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8d8:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8da:	e8bd 4070 	ldmia.w	sp!, {r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysContact, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysName, "BT-6701"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.sysLocation, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.managerIP, "0.0.0.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.managerIP2, "0.0.0.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  strcpy(sSettings.sSnmp.managerIP3, "0.0.0.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8de:	f7f9 bf9f 	b.w	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8e2:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8e4:	200083ea 	.word	0x200083ea 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8e8:	0801365a 	.word	0x0801365a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8ec:	080118b6 	.word	0x080118b6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8f0:	080118bd 	.word	0x080118bd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8f4:	080118c5 	.word	0x080118c5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800f8f8 <SETTINGS_SetInfoDef>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f87c <SETTINGS_SetInfoDef>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Установить Информацию об устройстве по умолчанию 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_SetInfoDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8f8:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f87c:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sInfo.productionData, "09.10.2015"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8fa:	4c0b      	ldr	r4, [pc, #44]	; (800f928 <SETTINGS_SetInfoDef+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8fc:	490b      	ldr	r1, [pc, #44]	; (800f92c <SETTINGS_SetInfoDef+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f8fe:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f900:	f7f9 ff8e 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f87e:	4c0b      	ldr	r4, [pc, #44]	; (800f8ac <SETTINGS_SetInfoDef+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f880:	490b      	ldr	r1, [pc, #44]	; (800f8b0 <SETTINGS_SetInfoDef+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f882:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f884:	f7f9 ffcc 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sInfo.mac, DEVICE_MAC); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f904:	f104 0028 	add.w	r0, r4, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f908:	4909      	ldr	r1, [pc, #36]	; (800f930 <SETTINGS_SetInfoDef+0x38>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f90a:	f7f9 ff89 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f888:	f104 0028 	add.w	r0, r4, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f88c:	4909      	ldr	r1, [pc, #36]	; (800f8b4 <SETTINGS_SetInfoDef+0x38>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f88e:	f7f9 ffc7 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sInfo.serialNumber, "KN-03-00003"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f90e:	f104 003a 	add.w	r0, r4, #58	; 0x3a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f912:	4908      	ldr	r1, [pc, #32]	; (800f934 <SETTINGS_SetInfoDef+0x3c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f914:	f7f9 ff84 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f892:	f104 003a 	add.w	r0, r4, #58	; 0x3a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f896:	4908      	ldr	r1, [pc, #32]	; (800f8b8 <SETTINGS_SetInfoDef+0x3c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f898:	f7f9 ffc2 	bl	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sInfo.comments, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f918:	4907      	ldr	r1, [pc, #28]	; (800f938 <SETTINGS_SetInfoDef+0x40>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f91a:	f104 004a 	add.w	r0, r4, #74	; 0x4a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f89c:	4907      	ldr	r1, [pc, #28]	; (800f8bc <SETTINGS_SetInfoDef+0x40>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f89e:	f104 004a 	add.w	r0, r4, #74	; 0x4a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f91e:	e8bd 4010 	ldmia.w	sp!, {r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8a2:	e8bd 4010 	ldmia.w	sp!, {r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_SetInfoDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sInfo.productionData, "09.10.2015"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sInfo.mac, DEVICE_MAC); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sInfo.serialNumber, "KN-03-00003"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   strcpy(sSettings.sInfo.comments, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f922:	f7f9 bf7d 	b.w	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f926:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f928:	200085a2 	.word	0x200085a2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f92c:	080118cd 	.word	0x080118cd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f930:	080118d8 	.word	0x080118d8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f934:	080118ea 	.word	0x080118ea 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f938:	0801365a 	.word	0x0801365a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800f93c <SETTINGS_ReadFromFlash>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8a6:	f7f9 bfbb 	b.w	8009820 <strcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8aa:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8ac:	200083f0 	.word	0x200083f0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8b0:	0801182e 	.word	0x0801182e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8b4:	08011839 	.word	0x08011839 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8b8:	0801184b 	.word	0x0801184b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8bc:	080135ba 	.word	0x080135ba 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f8c0 <SETTINGS_ReadFromFlash>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_ReadFromFlash(uint8_t *data, uint32_t size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t baseAddress = SETTINGS_SECTOR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (uint32_t i = 0; i < size; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f93c:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f93e:	e006      	b.n	800f94e <SETTINGS_ReadFromFlash+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8c0:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8c2:	e006      	b.n	800f8d2 <SETTINGS_ReadFromFlash+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	*data++ = (*(uint32_t*)baseAddress++);; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f940:	f103 6200 	add.w	r2, r3, #134217728	; 0x8000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f944:	f502 4280 	add.w	r2, r2, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f948:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f94a:	54c2      	strb	r2, [r0, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8c4:	f103 6200 	add.w	r2, r3, #134217728	; 0x8000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8c8:	f502 4280 	add.w	r2, r2, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8cc:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8ce:	54c2      	strb	r2, [r0, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_ReadFromFlash(uint8_t *data, uint32_t size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t baseAddress = SETTINGS_SECTOR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (uint32_t i = 0; i < size; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f94c:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f94e:	428b      	cmp	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f950:	d1f6      	bne.n	800f940 <SETTINGS_ReadFromFlash+0x4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8d0:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8d2:	428b      	cmp	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8d4:	d1f6      	bne.n	800f8c4 <SETTINGS_ReadFromFlash+0x4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	*data++ = (*(uint32_t*)baseAddress++);; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f952:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8d6:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800f954 <SETTINGS_EraseFlashSector>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f8d8 <SETTINGS_EraseFlashSector>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_EraseFlashSector(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FLASH_Status status;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if ((status = FLASH_EraseSector(FLASH_Sector_1, VoltageRange_3)) != FLASH_COMPLETE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f954:	2008      	movs	r0, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f956:	2102      	movs	r1, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f958:	f7fa ba34 	b.w	8009dc4 <FLASH_EraseSector> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8d8:	2008      	movs	r0, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8da:	2102      	movs	r1, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8dc:	f7fa ba72 	b.w	8009dc4 <FLASH_EraseSector> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800f95c <SETTINGS_GetCRC>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f8e0 <SETTINGS_GetCRC>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t SETTINGS_GetCRC(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f95c:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8e0:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   CRC_ResetDR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f95e:	f7fa f9a1 	bl	8009ca4 <CRC_ResetDR> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8e2:	f7fa f9df 	bl	8009ca4 <CRC_ResetDR> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return CRC_CalcBlockCRC((uint32_t*)&sSettings, sizeof(sSettings)/4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f962:	4803      	ldr	r0, [pc, #12]	; (800f970 <SETTINGS_GetCRC+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f964:	21b9      	movs	r1, #185	; 0xb9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8e6:	4803      	ldr	r0, [pc, #12]	; (800f8f4 <SETTINGS_GetCRC+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8e8:	2148      	movs	r1, #72	; 0x48 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f966:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8ea:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t SETTINGS_GetCRC(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   CRC_ResetDR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return CRC_CalcBlockCRC((uint32_t*)&sSettings, sizeof(sSettings)/4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f96a:	f7fa b9a1 	b.w	8009cb0 <CRC_CalcBlockCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f96e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f970:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8ee:	f7fa b9df 	b.w	8009cb0 <CRC_CalcBlockCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8f2:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8f4:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800f974 <SETTINGS_WriteToFlash>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f8f8 <SETTINGS_WriteToFlash>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_WriteToFlash(uint8_t *data, uint32_t size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f974:	e92d 4ff8 	stmdb	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f978:	4606      	mov	r6, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f97a:	468a      	mov	sl, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8f8:	e92d 4ff8 	stmdb	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8fc:	4606      	mov	r6, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f8fe:	468a      	mov	sl, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t baseAddress = SETTINGS_SECTOR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t checkCrc = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t crc = SETTINGS_GetCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f97c:	f7ff ffee 	bl	800f95c <SETTINGS_GetCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f900:	f7ff ffee 	bl	800f8e0 <SETTINGS_GetCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_WriteToFlash(uint8_t *data, uint32_t size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t baseAddress = SETTINGS_SECTOR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f980:	4c17      	ldr	r4, [pc, #92]	; (800f9e0 <SETTINGS_WriteToFlash+0x6c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f904:	4c17      	ldr	r4, [pc, #92]	; (800f964 <SETTINGS_WriteToFlash+0x6c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t checkCrc = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t crc = SETTINGS_GetCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f982:	4680      	mov	r8, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f984:	2703      	movs	r7, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f906:	4680      	mov	r8, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f908:	2703      	movs	r7, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FLASH_Status status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (uint8_t i = 0; i < 3; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	fAlarm = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FLASH_Unlock(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f986:	f7fa f9a3 	bl	8009cd0 <FLASH_Unlock> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f98a:	4635      	mov	r5, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f90a:	f7fa f9e1 	bl	8009cd0 <FLASH_Unlock> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f90e:	4635      	mov	r5, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SETTINGS_EraseFlashSector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f98c:	f7ff ffe2 	bl	800f954 <SETTINGS_EraseFlashSector> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f910:	f7ff ffe2 	bl	800f8d8 <SETTINGS_EraseFlashSector> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_WriteToFlash(uint8_t *data, uint32_t size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f990:	eb04 0b0a 	add.w	fp, r4, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f914:	eb04 0b0a 	add.w	fp, r4, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	fAlarm = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FLASH_Unlock(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SETTINGS_EraseFlashSector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (uint32_t i = 0; i < size; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f994:	e00a      	b.n	800f9ac <SETTINGS_WriteToFlash+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f918:	e00a      	b.n	800f930 <SETTINGS_WriteToFlash+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ((status = FLASH_ProgramByte(baseAddress++, *data++)) != FLASH_COMPLETE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f996:	f815 1b01 	ldrb.w	r1, [r5], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f99a:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f99c:	f7fa f9d8 	bl	8009d50 <FLASH_ProgramByte> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9a0:	f104 0901 	add.w	r9, r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9a4:	2808      	cmp	r0, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9a6:	462e      	mov	r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9a8:	464c      	mov	r4, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9aa:	d102      	bne.n	800f9b2 <SETTINGS_WriteToFlash+0x3e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f91a:	f815 1b01 	ldrb.w	r1, [r5], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f91e:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f920:	f7fa fa16 	bl	8009d50 <FLASH_ProgramByte> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f924:	f104 0901 	add.w	r9, r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f928:	2808      	cmp	r0, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f92a:	462e      	mov	r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f92c:	464c      	mov	r4, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f92e:	d102      	bne.n	800f936 <SETTINGS_WriteToFlash+0x3e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	fAlarm = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FLASH_Unlock(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SETTINGS_EraseFlashSector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (uint32_t i = 0; i < size; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9ac:	455c      	cmp	r4, fp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9ae:	462e      	mov	r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9b0:	d1f1      	bne.n	800f996 <SETTINGS_WriteToFlash+0x22> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f930:	455c      	cmp	r4, fp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f932:	462e      	mov	r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f934:	d1f1      	bne.n	800f91a <SETTINGS_WriteToFlash+0x22> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ((status = FLASH_ProgramByte(baseAddress++, *data++)) != FLASH_COMPLETE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              DBG printf("FLASH_ProgramByte error: status = %d\r\n", status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if ((status = FLASH_ProgramWord((uint32_t)CRC_ADDRESS, crc)) != FLASH_COMPLETE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9b2:	4641      	mov	r1, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9b4:	480b      	ldr	r0, [pc, #44]	; (800f9e4 <SETTINGS_WriteToFlash+0x70>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9b6:	f7fa f9e7 	bl	8009d88 <FLASH_ProgramWord> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f936:	4641      	mov	r1, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f938:	480b      	ldr	r0, [pc, #44]	; (800f968 <SETTINGS_WriteToFlash+0x70>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f93a:	f7fa fa25 	bl	8009d88 <FLASH_ProgramWord> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          DBG printf("FLASH_ProgramWord error: status = %d\r\n", status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FLASH_Lock(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9ba:	f7fa f997 	bl	8009cec <FLASH_Lock> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f93e:	f7fa f9d5 	bl	8009cec <FLASH_Lock> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Считываем что записали */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	SETTINGS_ReadFromFlash((uint8_t*)&sSettings, sizeof(sSettings)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9be:	480a      	ldr	r0, [pc, #40]	; (800f9e8 <SETTINGS_WriteToFlash+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9c0:	f44f 7139 	mov.w	r1, #740	; 0x2e4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9c4:	f7ff ffba 	bl	800f93c <SETTINGS_ReadFromFlash> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f942:	480a      	ldr	r0, [pc, #40]	; (800f96c <SETTINGS_WriteToFlash+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f944:	f44f 7190 	mov.w	r1, #288	; 0x120 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f948:	f7ff ffba 	bl	800f8c0 <SETTINGS_ReadFromFlash> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	checkCrc = SETTINGS_GetCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9c8:	f7ff ffc8 	bl	800f95c <SETTINGS_GetCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f94c:	f7ff ffc8 	bl	800f8e0 <SETTINGS_GetCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Проверяем  CRC того что было записано */	   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if (checkCrc == crc) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9cc:	4540      	cmp	r0, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9ce:	d004      	beq.n	800f9da <SETTINGS_WriteToFlash+0x66> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9d0:	3f01      	subs	r7, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f950:	4540      	cmp	r0, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f952:	d004      	beq.n	800f95e <SETTINGS_WriteToFlash+0x66> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f954:	3f01      	subs	r7, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t checkCrc = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t crc = SETTINGS_GetCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bool fAlarm = 0;	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FLASH_Status status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (uint8_t i = 0; i < 3; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9d2:	f017 07ff 	ands.w	r7, r7, #255	; 0xff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9d6:	d1d6      	bne.n	800f986 <SETTINGS_WriteToFlash+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9d8:	e7fe      	b.n	800f9d8 <SETTINGS_WriteToFlash+0x64> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9da:	e8bd 8ff8 	ldmia.w	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9de:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9e0:	08004000 	.word	0x08004000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9e4:	08007f9c 	.word	0x08007f9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9e8:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800f9ec <SETTINGS_GetCritSecCRC>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f956:	f017 07ff 	ands.w	r7, r7, #255	; 0xff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f95a:	d1d6      	bne.n	800f90a <SETTINGS_WriteToFlash+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f95c:	e7fe      	b.n	800f95c <SETTINGS_WriteToFlash+0x64> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f95e:	e8bd 8ff8 	ldmia.w	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f962:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f964:	08004000 	.word	0x08004000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f968:	08005f9c 	.word	0x08005f9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f96c:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f970 <SETTINGS_GetCritSecCRC>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t SETTINGS_GetCritSecCRC(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9ec:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f970:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   CRC_ResetDR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9ee:	f7fa f959 	bl	8009ca4 <CRC_ResetDR> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f972:	f7fa f997 	bl	8009ca4 <CRC_ResetDR> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t critsec_len = (uint32_t)((uint8_t *)(&sSettings.CritSecCRC) - (uint8_t *)&sSettings) / 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return CRC_CalcBlockCRC((uint32_t *)&sSettings, critsec_len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9f2:	4803      	ldr	r0, [pc, #12]	; (800fa00 <SETTINGS_GetCritSecCRC+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9f4:	21b8      	movs	r1, #184	; 0xb8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f976:	4803      	ldr	r0, [pc, #12]	; (800f984 <SETTINGS_GetCritSecCRC+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f978:	2147      	movs	r1, #71	; 0x47 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9f6:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f97a:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t SETTINGS_GetCritSecCRC(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   CRC_ResetDR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t critsec_len = (uint32_t)((uint8_t *)(&sSettings.CritSecCRC) - (uint8_t *)&sSettings) / 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return CRC_CalcBlockCRC((uint32_t *)&sSettings, critsec_len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9fa:	f7fa b959 	b.w	8009cb0 <CRC_CalcBlockCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800f9fe:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa00:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f97e:	f7fa b997 	b.w	8009cb0 <CRC_CalcBlockCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f982:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f984:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fa04 <SETTINGS_Save>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f988 <SETTINGS_Save>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Запись структуры настроек во flesh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_Save(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa04:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f988:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Calc critical section CRC and store to the settings structure */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa06:	f7ff fff1 	bl	800f9ec <SETTINGS_GetCritSecCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa0a:	4b05      	ldr	r3, [pc, #20]	; (800fa20 <SETTINGS_Save+0x1c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f98a:	f7ff fff1 	bl	800f970 <SETTINGS_GetCritSecCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f98e:	4b05      	ldr	r3, [pc, #20]	; (800f9a4 <SETTINGS_Save+0x1c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_WriteToFlash((uint8_t*)&sSettings, sizeof(sSettings)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa0c:	f44f 7139 	mov.w	r1, #740	; 0x2e4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f990:	f44f 7190 	mov.w	r1, #288	; 0x120 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Запись структуры настроек во flesh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_Save(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Calc critical section CRC and store to the settings structure */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa10:	f8c3 02e0 	str.w	r0, [r3, #736]	; 0x2e0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f994:	f8c3 011c 	str.w	r0, [r3, #284]	; 0x11c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_WriteToFlash((uint8_t*)&sSettings, sizeof(sSettings)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa14:	4618      	mov	r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f998:	4618      	mov	r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa16:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f99a:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_Save(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Calc critical section CRC and store to the settings structure */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_WriteToFlash((uint8_t*)&sSettings, sizeof(sSettings)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa1a:	f7ff bfab 	b.w	800f974 <SETTINGS_WriteToFlash> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa1e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa20:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f99e:	f7ff bfab 	b.w	800f8f8 <SETTINGS_WriteToFlash> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9a2:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9a4:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fa24 <SETTINGS_SetAllDefault>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f9a8 <SETTINGS_SetAllDefault>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Сброс всех настроек в значения по умолчанию 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_SetAllDefault(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa24:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  * @brief  Установить флаги по умолчанию 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-void SETTINGS_SetFlagsDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  sSettings.sFlags.netsettingsChanged = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa26:	4c09      	ldr	r4, [pc, #36]	; (800fa4c <SETTINGS_SetAllDefault+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  * @brief  Сброс всех настроек в значения по умолчанию 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-void SETTINGS_SetAllDefault(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9a8:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_SetBootParamsDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa28:	f7ff fee8 	bl	800f7fc <SETTINGS_SetBootParamsDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9aa:	f7ff ff27 	bl	800f7fc <SETTINGS_SetBootParamsDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_SetWebParamsDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa2c:	f7ff feee 	bl	800f80c <SETTINGS_SetWebParamsDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9ae:	f7ff ff2d 	bl	800f80c <SETTINGS_SetWebParamsDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_SetTempWebParamsDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa30:	f7ff ff08 	bl	800f844 <SETTINGS_SetTempWebParamsDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  SETTINGS_SetSnmpDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa34:	f7ff ff22 	bl	800f87c <SETTINGS_SetSnmpDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9b2:	f7ff ff47 	bl	800f844 <SETTINGS_SetTempWebParamsDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_SetInfoDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa38:	f7ff ff5e 	bl	800f8f8 <SETTINGS_SetInfoDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  * @brief  Установить флаги по умолчанию 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-void SETTINGS_SetFlagsDef(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  sSettings.sFlags.netsettingsChanged = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa3c:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa3e:	f884 32ce 	strb.w	r3, [r4, #718]	; 0x2ce 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  SETTINGS_SetTempWebParamsDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  SETTINGS_SetSnmpDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  SETTINGS_SetInfoDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  SETTINGS_SetFlagsDef(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9b6:	f7ff ff61 	bl	800f87c <SETTINGS_SetInfoDef> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa42:	f7ff ffd3 	bl	800f9ec <SETTINGS_GetCritSecCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa46:	f8c4 02e0 	str.w	r0, [r4, #736]	; 0x2e0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa4a:	bd10      	pop	{r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa4c:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9ba:	f7ff ffd9 	bl	800f970 <SETTINGS_GetCritSecCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9be:	4b02      	ldr	r3, [pc, #8]	; (800f9c8 <SETTINGS_SetAllDefault+0x20>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9c0:	f8c3 011c 	str.w	r0, [r3, #284]	; 0x11c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9c4:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9c6:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9c8:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fa50 <SETTINGS_Load>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800f9cc <SETTINGS_Load>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Загрузка структуры настроек из flesh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_Load(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa50:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9cc:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_ReadFromFlash((uint8_t*)&sSettings, sizeof(sSettings)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa52:	4c0b      	ldr	r4, [pc, #44]	; (800fa80 <SETTINGS_Load+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa54:	f44f 7139 	mov.w	r1, #740	; 0x2e4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa58:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa5a:	f7ff ff6f 	bl	800f93c <SETTINGS_ReadFromFlash> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9ce:	4c0b      	ldr	r4, [pc, #44]	; (800f9fc <SETTINGS_Load+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9d0:	f44f 7190 	mov.w	r1, #288	; 0x120 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9d4:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9d6:	f7ff ff73 	bl	800f8c0 <SETTINGS_ReadFromFlash> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Проверка CRC критической секции сектора настроек. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * Если CRC не совпадает, скорее всего настройки отсутствуют, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * прошиваем значения по умолчанию */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t crc = SETTINGS_GetCritSecCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa5e:	f7ff ffc5 	bl	800f9ec <SETTINGS_GetCritSecCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9da:	f7ff ffc9 	bl	800f970 <SETTINGS_GetCritSecCRC> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    if (sSettings.CritSecCRC != crc) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa62:	f8d4 32e0 	ldr.w	r3, [r4, #736]	; 0x2e0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa66:	4283      	cmp	r3, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa68:	d008      	beq.n	800fa7c <SETTINGS_Load+0x2c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9de:	f8d4 311c 	ldr.w	r3, [r4, #284]	; 0x11c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9e2:	4283      	cmp	r3, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9e4:	d008      	beq.n	800f9f8 <SETTINGS_Load+0x2c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        printf("\n\rIAP: Bad critical settings sector CRC. Factory defaults restored.\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa6a:	4806      	ldr	r0, [pc, #24]	; (800fa84 <SETTINGS_Load+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa6c:	f001 fe02 	bl	8011674 <tfp_printf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9e6:	4806      	ldr	r0, [pc, #24]	; (800fa00 <SETTINGS_Load+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9e8:	f001 fe00 	bl	80115ec <tfp_printf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SETTINGS_SetAllDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa70:	f7ff ffd8 	bl	800fa24 <SETTINGS_SetAllDefault> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9ec:	f7ff ffdc 	bl	800f9a8 <SETTINGS_SetAllDefault> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SETTINGS_Save(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa74:	e8bd 4010 	ldmia.w	sp!, {r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9f0:	e8bd 4010 	ldmia.w	sp!, {r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t crc = SETTINGS_GetCritSecCRC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    if (sSettings.CritSecCRC != crc) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        printf("\n\rIAP: Bad critical settings sector CRC. Factory defaults restored.\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SETTINGS_SetAllDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SETTINGS_Save(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa78:	f7ff bfc4 	b.w	800fa04 <SETTINGS_Save> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa7c:	bd10      	pop	{r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa7e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa80:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa84:	080118f6 	.word	0x080118f6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9f4:	f7ff bfc8 	b.w	800f988 <SETTINGS_Save> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9f8:	bd10      	pop	{r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9fa:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800f9fc:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa00:	08011857 	.word	0x08011857 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fa88 <SETTINGS_GetMac>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fa04 <SETTINGS_GetMac>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Преобразует mac адрес строкового формата в массив uint8_t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  mac - буфер для вывода mac адреса 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_GetMac(uint8_t *mac) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa88:	b573      	push	{r0, r1, r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa04:	b573      	push	{r0, r1, r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char dummy[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char *macPtr = sSettings.sInfo.mac;	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (uint8_t i = 0; i < 6; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     strncpy(dummy, macPtr+i*3, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa8a:	4e0b      	ldr	r6, [pc, #44]	; (800fab8 <SETTINGS_GetMac+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa06:	4e0a      	ldr	r6, [pc, #40]	; (800fa30 <SETTINGS_GetMac+0x2c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Преобразует mac адрес строкового формата в массив uint8_t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  mac - буфер для вывода mac адреса 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_GetMac(uint8_t *mac) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa8c:	1e45      	subs	r5, r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa8e:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa08:	1e45      	subs	r5, r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa0a:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char dummy[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char *macPtr = sSettings.sInfo.mac;	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (uint8_t i = 0; i < 6; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     strncpy(dummy, macPtr+i*3, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa90:	f504 710e 	add.w	r1, r4, #568	; 0x238 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa94:	1989      	adds	r1, r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa96:	3106      	adds	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa98:	2202      	movs	r2, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa9a:	a801      	add	r0, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fa9c:	f7f9 ff74 	bl	8009988 <strncpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa0c:	1931      	adds	r1, r6, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa0e:	318c      	adds	r1, #140	; 0x8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa10:	2202      	movs	r2, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa12:	a801      	add	r0, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa14:	f7f9 ffb8 	bl	8009988 <strncpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	mac[i] = (uint8_t)strtol(dummy, NULL, 16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faa0:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faa2:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faa4:	a801      	add	r0, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faa6:	f7fa f843 	bl	8009b30 <strtol> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faaa:	3403      	adds	r4, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa18:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa1a:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa1c:	a801      	add	r0, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa1e:	f7fa f887 	bl	8009b30 <strtol> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa22:	3403      	adds	r4, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_GetMac(uint8_t *mac) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char dummy[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char *macPtr = sSettings.sInfo.mac;	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (uint8_t i = 0; i < 6; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faac:	2c12      	cmp	r4, #18 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa24:	2c12      	cmp	r4, #18 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     strncpy(dummy, macPtr+i*3, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	mac[i] = (uint8_t)strtol(dummy, NULL, 16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faae:	f805 0f01 	strb.w	r0, [r5, #1]! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa26:	f805 0f01 	strb.w	r0, [r5, #1]! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SETTINGS_GetMac(uint8_t *mac) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char dummy[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char *macPtr = sSettings.sInfo.mac;	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (uint8_t i = 0; i < 6; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fab2:	d1ed      	bne.n	800fa90 <SETTINGS_GetMac+0x8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa2a:	d1ef      	bne.n	800fa0c <SETTINGS_GetMac+0x8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     strncpy(dummy, macPtr+i*3, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	mac[i] = (uint8_t)strtol(dummy, NULL, 16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fab4:	bd7c      	pop	{r2, r3, r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fab6:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fab8:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa2c:	bd7c      	pop	{r2, r3, r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa2e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa30:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fabc <timer_AddFunction>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fa34 <timer_AddFunction>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Добавить функцию в список вызова.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         Handler будет вызываться с заданной частотой 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval нет 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void timer_AddFunction(uint16_t Frequency, TTimerHandler Handler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fabc:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa34:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Найдем пустой слот */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!Handlers[i].Handler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fabe:	4e0c      	ldr	r6, [pc, #48]	; (800faf0 <timer_AddFunction+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa36:	4e0c      	ldr	r6, [pc, #48]	; (800fa68 <timer_AddFunction+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void timer_AddFunction(uint16_t Frequency, TTimerHandler Handler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fac0:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa38:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Добавить функцию в список вызова.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         Handler будет вызываться с заданной частотой 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval нет 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void timer_AddFunction(uint16_t Frequency, TTimerHandler Handler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fac2:	270c      	movs	r7, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fac4:	fb07 f203 	mul.w	r2, r7, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa3a:	270c      	movs	r7, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa3c:	fb07 f203 	mul.w	r2, r7, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Найдем пустой слот */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!Handlers[i].Handler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fac8:	4c09      	ldr	r4, [pc, #36]	; (800faf0 <timer_AddFunction+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faca:	5995      	ldr	r5, [r2, r6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800facc:	b95d      	cbnz	r5, 800fae6 <timer_AddFunction+0x2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa40:	4c09      	ldr	r4, [pc, #36]	; (800fa68 <timer_AddFunction+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa42:	5995      	ldr	r5, [r2, r6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa44:	b95d      	cbnz	r5, 800fa5e <timer_AddFunction+0x2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Обработчик, частота опроса */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Run       =  true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800face:	18a3      	adds	r3, r4, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fad0:	2601      	movs	r6, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fad2:	721e      	strb	r6, [r3, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa46:	18a3      	adds	r3, r4, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa48:	2601      	movs	r6, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa4a:	721e      	strb	r6, [r3, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Fired     =  false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fad4:	725d      	strb	r5, [r3, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa4c:	725d      	strb	r5, [r3, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Handler   =  Handler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Reload    =  Frequency; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fad6:	80d8      	strh	r0, [r3, #6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa4e:	80d8      	strh	r0, [r3, #6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Countdown =  Handlers[i].Reload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fad8:	8098      	strh	r0, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa50:	8098      	strh	r0, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       TimerCount++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fada:	4b06      	ldr	r3, [pc, #24]	; (800faf4 <timer_AddFunction+0x38>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa52:	4b06      	ldr	r3, [pc, #24]	; (800fa6c <timer_AddFunction+0x38>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!Handlers[i].Handler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Обработчик, частота опроса */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Run       =  true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Fired     =  false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Handler   =  Handler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fadc:	50a1      	str	r1, [r4, r2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa54:	50a1      	str	r1, [r4, r2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Reload    =  Frequency; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Countdown =  Handlers[i].Reload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       TimerCount++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fade:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fae0:	1992      	adds	r2, r2, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fae2:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa56:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa58:	1992      	adds	r2, r2, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa5a:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fae4:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa5c:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void timer_AddFunction(uint16_t Frequency, TTimerHandler Handler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fae6:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fae8:	2b14      	cmp	r3, #20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faea:	d1eb      	bne.n	800fac4 <timer_AddFunction+0x8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faec:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faee:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faf0:	20006c8c 	.word	0x20006c8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faf4:	20006d7c 	.word	0x20006d7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800faf8 <timer_Main>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa5e:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa60:	2b14      	cmp	r3, #20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa62:	d1eb      	bne.n	800fa3c <timer_AddFunction+0x8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa64:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa66:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa68:	20006c8c 	.word	0x20006c8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa6c:	20006d7c 	.word	0x20006d7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fa70 <timer_Main>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Функция перебора и вызова актуальных задач.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         Должна вызываться в главном цикле 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval нет 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void timer_Main(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800faf8:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fafa:	4c06      	ldr	r4, [pc, #24]	; (800fb14 <timer_Main+0x1c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa70:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa72:	4c06      	ldr	r4, [pc, #24]	; (800fa8c <timer_Main+0x1c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Если сработало - вызовем */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(Handlers[i].Fired) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Fired = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fafc:	2600      	movs	r6, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa74:	2600      	movs	r6, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Функция перебора и вызова актуальных задач.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         Должна вызываться в главном цикле 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval нет 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void timer_Main(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fafe:	f104 05f0 	add.w	r5, r4, #240	; 0xf0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa76:	f104 05f0 	add.w	r5, r4, #240	; 0xf0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Если сработало - вызовем */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(Handlers[i].Fired) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb02:	7a63      	ldrb	r3, [r4, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb04:	b113      	cbz	r3, 800fb0c <timer_Main+0x14> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa7a:	7a63      	ldrb	r3, [r4, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa7c:	b113      	cbz	r3, 800fa84 <timer_Main+0x14> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Fired = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb06:	7266      	strb	r6, [r4, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa7e:	7266      	strb	r6, [r4, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Handler(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb08:	6823      	ldr	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb0a:	4798      	blx	r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb0c:	340c      	adds	r4, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa80:	6823      	ldr	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa82:	4798      	blx	r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa84:	340c      	adds	r4, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void timer_Main(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb0e:	42ac      	cmp	r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb10:	d1f7      	bne.n	800fb02 <timer_Main+0xa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa86:	42ac      	cmp	r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa88:	d1f7      	bne.n	800fa7a <timer_Main+0xa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Fired = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Handlers[i].Handler(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb12:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb14:	20006c8c 	.word	0x20006c8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa8a:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa8c:	20006c8c 	.word	0x20006c8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fb18 <Delay_ms>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fa90 <Delay_ms>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Задержка в миллисекундах 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval нет 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void Delay_ms(uint32_t nTime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TimingDelay = nTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb18:	4b02      	ldr	r3, [pc, #8]	; (800fb24 <Delay_ms+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb1a:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa90:	4b02      	ldr	r3, [pc, #8]	; (800fa9c <Delay_ms+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa92:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   while(TimingDelay); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb1c:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb1e:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb20:	d1fc      	bne.n	800fb1c <Delay_ms+0x4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa94:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa96:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa98:	d1fc      	bne.n	800fa94 <Delay_ms+0x4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb22:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb24:	20008670 	.word	0x20008670 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa9a:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fa9c:	200084ac 	.word	0x200084ac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fb28 <TimingDelay_Decrement>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800faa0 <TimingDelay_Decrement>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Вспомогательная функция для реализации Delay_ms 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval нет 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void TimingDelay_Decrement(void) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (TimingDelay) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb28:	4b03      	ldr	r3, [pc, #12]	; (800fb38 <TimingDelay_Decrement+0x10>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb2a:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb2c:	b112      	cbz	r2, 800fb34 <TimingDelay_Decrement+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faa0:	4b03      	ldr	r3, [pc, #12]	; (800fab0 <TimingDelay_Decrement+0x10>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faa2:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faa4:	b112      	cbz	r2, 800faac <TimingDelay_Decrement+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TimingDelay--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb2e:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb30:	3a01      	subs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb32:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb34:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb36:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb38:	20008670 	.word	0x20008670 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fb3c <SysTick_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faa6:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faa8:	3a01      	subs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faaa:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faac:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faae:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fab0:	200084ac 	.word	0x200084ac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fab4 <SysTick_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Обработчик прерывания системного таймера 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval нет 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SysTick_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb3c:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fab4:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Time_Update(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb3e:	f001 fa37 	bl	8010fb0 <Time_Update> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fab6:	f001 fa37 	bl	8010f28 <Time_Update> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TimingDelay_Decrement(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb42:	f7ff fff1 	bl	800fb28 <TimingDelay_Decrement> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb46:	4b0b      	ldr	r3, [pc, #44]	; (800fb74 <SysTick_Handler+0x38>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faba:	f7ff fff1 	bl	800faa0 <TimingDelay_Decrement> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fabe:	4b0b      	ldr	r3, [pc, #44]	; (800faec <SysTick_Handler+0x38>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if(--Handlers[i].Countdown == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Handlers[i].Countdown = Handlers[i].Reload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Запишем, что сработало */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Handlers[i].Fired = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb48:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fac0:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Обработчик прерывания системного таймера 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval нет 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void SysTick_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb4a:	f103 01f0 	add.w	r1, r3, #240	; 0xf0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fac2:	f103 01f0 	add.w	r1, r3, #240	; 0xf0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TimingDelay_Decrement(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(Handlers[i].Run) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb4e:	781a      	ldrb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb50:	b15a      	cbz	r2, 800fb6a <SysTick_Handler+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fac6:	781a      	ldrb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fac8:	b15a      	cbz	r2, 800fae2 <SysTick_Handler+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if(--Handlers[i].Countdown == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb52:	f833 2c04 	ldrh.w	r2, [r3, #-4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb56:	3a01      	subs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb58:	b292      	uxth	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb5a:	f823 2c04 	strh.w	r2, [r3, #-4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb5e:	b922      	cbnz	r2, 800fb6a <SysTick_Handler+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faca:	f833 2c04 	ldrh.w	r2, [r3, #-4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800face:	3a01      	subs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fad0:	b292      	uxth	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fad2:	f823 2c04 	strh.w	r2, [r3, #-4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fad6:	b922      	cbnz	r2, 800fae2 <SysTick_Handler+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Handlers[i].Countdown = Handlers[i].Reload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb60:	f833 2c02 	ldrh.w	r2, [r3, #-2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fad8:	f833 2c02 	ldrh.w	r2, [r3, #-2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Запишем, что сработало */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Handlers[i].Fired = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb64:	7058      	strb	r0, [r3, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fadc:	7058      	strb	r0, [r3, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(Handlers[i].Run) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if(--Handlers[i].Countdown == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Handlers[i].Countdown = Handlers[i].Reload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb66:	f823 2c04 	strh.w	r2, [r3, #-4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb6a:	330c      	adds	r3, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fade:	f823 2c04 	strh.w	r2, [r3, #-4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fae2:	330c      	adds	r3, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Time_Update(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TimingDelay_Decrement(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i = 0; i < TIMER_HANDLERS; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb6c:	428b      	cmp	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb6e:	d1ee      	bne.n	800fb4e <SysTick_Handler+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fae4:	428b      	cmp	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fae6:	d1ee      	bne.n	800fac6 <SysTick_Handler+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Запишем, что сработало */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	Handlers[i].Fired = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb70:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb72:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb74:	20006c94 	.word	0x20006c94 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fae8:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faea:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faec:	20006c94 	.word	0x20006c94 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fb78 <putc_>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800faf0 <putc_>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef SWOTRACE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ITM_SendChar(c); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void putc_(void* p, char c) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb78:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb7a:	0000      	movs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faf0:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faf2:	0000      	movs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fb7c <InitUSART>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800faf4 <InitUSART>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void InitUSART( void) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb7c:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faf4:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitTypeDef  GPIO_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitTypeDef USART_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb7e:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faf6:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void InitUSART( void) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb80:	b086      	sub	sp, #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800faf8:	b086      	sub	sp, #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitTypeDef  GPIO_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitTypeDef USART_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb82:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb84:	f7fa fa06 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fafa:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fafc:	f7fa fa4a 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOB, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb88:	4d26      	ldr	r5, [pc, #152]	; (800fc24 <InitUSART+0xa8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb00:	4d26      	ldr	r5, [pc, #152]	; (800fb9c <InitUSART+0xa8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitTypeDef  GPIO_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitTypeDef USART_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb8a:	2010      	movs	r0, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb8c:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb8e:	f7fa fa19 	bl	8009fc4 <RCC_APB2PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb02:	2010      	movs	r0, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb04:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb06:	f7fa fa5d 	bl	8009fc4 <RCC_APB2PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb92:	23c0      	movs	r3, #192	; 0xc0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb0a:	23c0      	movs	r3, #192	; 0xc0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb94:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb0c:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitTypeDef USART_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb96:	9300      	str	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb0e:	9300      	str	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb98:	2601      	movs	r6, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb10:	2601      	movs	r6, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb9a:	2302      	movs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb12:	2302      	movs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOB, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb9c:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fb9e:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb14:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb16:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fba0:	f88d 3005 	strb.w	r3, [sp, #5] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb18:	f88d 3005 	strb.w	r3, [sp, #5] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fba4:	f88d 3004 	strb.w	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb1c:	f88d 3004 	strb.w	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fba8:	f88d 4006 	strb.w	r4, [sp, #6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb20:	f88d 4006 	strb.w	r4, [sp, #6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbac:	f88d 6007 	strb.w	r6, [sp, #7] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb24:	f88d 6007 	strb.w	r6, [sp, #7] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOB, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbb0:	f7fa f93e 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb28:	f7fa f982 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_USART1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbb4:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbb6:	2106      	movs	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbb8:	2207      	movs	r2, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbba:	f7fa f988 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb2c:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb2e:	2106      	movs	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb30:	2207      	movs	r2, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb32:	f7fa f9cc 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_USART1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbbe:	2107      	movs	r1, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbc0:	460a      	mov	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbc2:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbc4:	f7fa f983 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb36:	2107      	movs	r1, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb38:	460a      	mov	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb3a:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb3c:	f7fa f9c7 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_BaudRate = 115200; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbc8:	f44f 33e1 	mov.w	r3, #115200	; 0x1c200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbcc:	9302      	str	r3, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb40:	f44f 33e1 	mov.w	r3, #115200	; 0x1c200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb44:	9302      	str	r3, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_WordLength = USART_WordLength_9b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbce:	f44f 5380 	mov.w	r3, #4096	; 0x1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb46:	f44f 5380 	mov.w	r3, #4096	; 0x1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_StopBits = USART_StopBits_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Parity = USART_Parity_Even; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_Init(USER_USART, &USART_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbd2:	f5a5 4574 	sub.w	r5, r5, #62464	; 0xf400 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb4a:	f5a5 4574 	sub.w	r5, r5, #62464	; 0xf400 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_USART1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_USART1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_BaudRate = 115200; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_WordLength = USART_WordLength_9b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbd6:	f8ad 300c 	strh.w	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb4e:	f8ad 300c 	strh.w	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_StopBits = USART_StopBits_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Parity = USART_Parity_Even; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbda:	f44f 6380 	mov.w	r3, #1024	; 0x400 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbde:	f8ad 3010 	strh.w	r3, [sp, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb52:	f44f 6380 	mov.w	r3, #1024	; 0x400 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb56:	f8ad 3010 	strh.w	r3, [sp, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_Init(USER_USART, &USART_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbe2:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb5a:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_BaudRate = 115200; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_WordLength = USART_WordLength_9b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_StopBits = USART_StopBits_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Parity = USART_Parity_Even; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbe4:	230c      	movs	r3, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb5c:	230c      	movs	r3, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_Init(USER_USART, &USART_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbe6:	a902      	add	r1, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb5e:	a902      	add	r1, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_BaudRate = 115200; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_WordLength = USART_WordLength_9b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_StopBits = USART_StopBits_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Parity = USART_Parity_Even; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbe8:	f8ad 3012 	strh.w	r3, [sp, #18] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb60:	f8ad 3012 	strh.w	r3, [sp, #18] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_USART1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_USART1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_BaudRate = 115200; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_WordLength = USART_WordLength_9b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_StopBits = USART_StopBits_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbec:	f8ad 400e 	strh.w	r4, [sp, #14] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb64:	f8ad 400e 	strh.w	r4, [sp, #14] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Parity = USART_Parity_Even; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbf0:	f8ad 4014 	strh.w	r4, [sp, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb68:	f8ad 4014 	strh.w	r4, [sp, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_Init(USER_USART, &USART_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbf4:	f7fa fa7a 	bl	800a0ec <USART_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb6c:	f7fa fabe 	bl	800a0ec <USART_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_Cmd(USER_USART, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbf8:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbfa:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fbfc:	f7fa fad0 	bl	800a1a0 <USART_Cmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb70:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb72:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb74:	f7fa fb14 	bl	800a1a0 <USART_Cmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_ITConfig(USER_USART, USART_IT_RXNE, DISABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc00:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc02:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc04:	f240 5125 	movw	r1, #1317	; 0x525 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc08:	f7fa fad6 	bl	800a1b8 <USART_ITConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb78:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb7a:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb7c:	f240 5125 	movw	r1, #1317	; 0x525 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb80:	f7fa fb1a 	bl	800a1b8 <USART_ITConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   USART_ITConfig(USER_USART, USART_IT_TXE, DISABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc0c:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc0e:	f240 7127 	movw	r1, #1831	; 0x727 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc12:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc14:	f7fa fad0 	bl	800a1b8 <USART_ITConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb84:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb86:	f240 7127 	movw	r1, #1831	; 0x727 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb8a:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb8c:	f7fa fb14 	bl	800a1b8 <USART_ITConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   init_printf(NULL, putc_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc18:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc1a:	4903      	ldr	r1, [pc, #12]	; (800fc28 <InitUSART+0xac>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc1c:	f001 fd20 	bl	8011660 <init_printf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb90:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb92:	4903      	ldr	r1, [pc, #12]	; (800fba0 <InitUSART+0xac>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb94:	f001 fd20 	bl	80115d8 <init_printf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc20:	b006      	add	sp, #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc22:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc24:	40020400 	.word	0x40020400 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc28:	0800fb79 	.word	0x0800fb79 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb98:	b006      	add	sp, #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb9a:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fb9c:	40020400 	.word	0x40020400 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fba0:	0800faf1 	.word	0x0800faf1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fc2c <WDG_Init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fba4 <WDG_Init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void WDG_Init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc2c:	b530      	push	{r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fba4:	b530      	push	{r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitTypeDef GPIO_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitTypeDef          NVIC_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc2e:	2004      	movs	r0, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fba6:	2004      	movs	r0, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void WDG_Init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc30:	b087      	sub	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fba8:	b087      	sub	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitTypeDef GPIO_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitTypeDef          NVIC_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc32:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc34:	f7fa f9ae 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbaa:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbac:	f7fa f9f2 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM13, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc38:	2080      	movs	r0, #128	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc3a:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc3c:	f7fa f9b6 	bl	8009fac <RCC_APB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbb0:	2080      	movs	r0, #128	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbb2:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbb4:	f7fa f9fa 	bl	8009fac <RCC_APB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = WDT_PIN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc40:	2401      	movs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbb8:	2401      	movs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc42:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbba:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM13, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = WDT_PIN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc44:	2302      	movs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbbc:	2302      	movs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOC, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc46:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc48:	481b      	ldr	r0, [pc, #108]	; (800fcb8 <WDG_Init+0x8c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbbe:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbc0:	481b      	ldr	r0, [pc, #108]	; (800fc30 <WDG_Init+0x8c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM13, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = WDT_PIN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc4a:	f88d 3009 	strb.w	r3, [sp, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbc2:	f88d 3009 	strb.w	r3, [sp, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc4e:	f88d 500a 	strb.w	r5, [sp, #10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbc6:	f88d 500a 	strb.w	r5, [sp, #10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc52:	f88d 500b 	strb.w	r5, [sp, #11] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbca:	f88d 500b 	strb.w	r5, [sp, #11] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM13, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = WDT_PIN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc56:	9401      	str	r4, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbce:	9401      	str	r4, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc58:	f88d 4008 	strb.w	r4, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbd0:	f88d 4008 	strb.w	r4, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOC, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc5c:	f7fa f8e8 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbd4:	f7fa f92c 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitStructure.NVIC_IRQChannel = TIM8_UP_TIM13_IRQn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc60:	232c      	movs	r3, #44	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc62:	f88d 3000 	strb.w	r3, [sp] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbd8:	232c      	movs	r3, #44	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbda:	f88d 3000 	strb.w	r3, [sp] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_Init(&NVIC_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc66:	4668      	mov	r0, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbde:	4668      	mov	r0, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOC, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitStructure.NVIC_IRQChannel = TIM8_UP_TIM13_IRQn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc68:	2306      	movs	r3, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc6a:	f88d 3001 	strb.w	r3, [sp, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbe0:	2306      	movs	r3, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbe2:	f88d 3001 	strb.w	r3, [sp, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc6e:	f88d 5002 	strb.w	r5, [sp, #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbe6:	f88d 5002 	strb.w	r5, [sp, #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc72:	f88d 4003 	strb.w	r4, [sp, #3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbea:	f88d 4003 	strb.w	r4, [sp, #3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_Init(&NVIC_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc76:	f7f9 ffe1 	bl	8009c3c <NVIC_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbee:	f7fa f825 	bl	8009c3c <NVIC_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 __STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(IRQn < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for Cortex-M  System Interrupts */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     NVIC->IP[(uint32_t)(IRQn)] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff);    }        /* set Priority for device specific Interrupts  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc7a:	4b10      	ldr	r3, [pc, #64]	; (800fcbc <WDG_Init+0x90>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc7c:	2220      	movs	r2, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc7e:	f883 232c 	strb.w	r2, [r3, #812]	; 0x32c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbf2:	4b10      	ldr	r3, [pc, #64]	; (800fc34 <WDG_Init+0x90>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbf4:	2220      	movs	r2, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbf6:	f883 232c 	strb.w	r2, [r3, #812]	; 0x32c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* APB1 Timer clock is 60Mhz, configure timer clock to 10khz (1 update event per 100 us) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_Prescaler = 6000 - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure timer period to 100ms */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_Period = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_ClockDivision = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc82:	f8ad 5014 	strh.w	r5, [sp, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbfa:	f8ad 5014 	strh.w	r5, [sp, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_CounterMode	= TIM_CounterMode_Up; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc86:	f8ad 500e 	strh.w	r5, [sp, #14] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fbfe:	f8ad 500e 	strh.w	r5, [sp, #14] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseInit(TIM13, &TIM_TimeBaseStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc8a:	4d0d      	ldr	r5, [pc, #52]	; (800fcc0 <WDG_Init+0x94>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc02:	4d0d      	ldr	r5, [pc, #52]	; (800fc38 <WDG_Init+0x94>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_Init(&NVIC_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_SetPriority(TIM8_UP_TIM13_IRQn, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* APB1 Timer clock is 60Mhz, configure timer clock to 10khz (1 update event per 100 us) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_Prescaler = 6000 - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc8c:	f241 736f 	movw	r3, #5999	; 0x176f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc90:	f8ad 300c 	strh.w	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc04:	f241 736f 	movw	r3, #5999	; 0x176f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc08:	f8ad 300c 	strh.w	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure timer period to 100ms */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_Period = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_ClockDivision = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_CounterMode	= TIM_CounterMode_Up; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseInit(TIM13, &TIM_TimeBaseStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc94:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc0c:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_SetPriority(TIM8_UP_TIM13_IRQn, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* APB1 Timer clock is 60Mhz, configure timer clock to 10khz (1 update event per 100 us) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_Prescaler = 6000 - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure timer period to 100ms */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_Period = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc96:	f44f 737a 	mov.w	r3, #1000	; 0x3e8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc0e:	f44f 737a 	mov.w	r3, #1000	; 0x3e8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_ClockDivision = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_CounterMode	= TIM_CounterMode_Up; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseInit(TIM13, &TIM_TimeBaseStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc9a:	a903      	add	r1, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc12:	a903      	add	r1, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_SetPriority(TIM8_UP_TIM13_IRQn, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* APB1 Timer clock is 60Mhz, configure timer clock to 10khz (1 update event per 100 us) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_Prescaler = 6000 - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure timer period to 100ms */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_Period = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc9c:	9304      	str	r3, [sp, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc14:	9304      	str	r3, [sp, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_ClockDivision = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseStructure.TIM_CounterMode	= TIM_CounterMode_Up; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_TimeBaseInit(TIM13, &TIM_TimeBaseStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fc9e:	f7fa f9cf 	bl	800a040 <TIM_TimeBaseInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc16:	f7fa fa13 	bl	800a040 <TIM_TimeBaseInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_Cmd(TIM13, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fca2:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fca4:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fca6:	f7fa fa09 	bl	800a0bc <TIM_Cmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc1a:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc1c:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc1e:	f7fa fa4d 	bl	800a0bc <TIM_Cmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_ITConfig(TIM13, TIM_IT_Update, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcaa:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcac:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcae:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcb0:	f7fa fa10 	bl	800a0d4 <TIM_ITConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc22:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc24:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc26:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc28:	f7fa fa54 	bl	800a0d4 <TIM_ITConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcb4:	b007      	add	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcb6:	bd30      	pop	{r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcb8:	40020800 	.word	0x40020800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcbc:	e000e100 	.word	0xe000e100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcc0:	40001c00 	.word	0x40001c00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc2c:	b007      	add	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc2e:	bd30      	pop	{r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc30:	40020800 	.word	0x40020800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc34:	e000e100 	.word	0xe000e100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc38:	40001c00 	.word	0x40001c00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fcc4 <TIM8_UP_TIM13_IRQHandler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fc3c <TIM8_UP_TIM13_IRQHandler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Дергаем пином (сброс внешнего WDT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void TIM8_UP_TIM13_IRQHandler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcc4:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc3c:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   TIM_ClearITPendingBit(TIM13, TIM_IT_Update); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcc6:	4805      	ldr	r0, [pc, #20]	; (800fcdc <TIM8_UP_TIM13_IRQHandler+0x18>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcc8:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcca:	f7fa fa0c 	bl	800a0e6 <TIM_ClearITPendingBit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc3e:	4805      	ldr	r0, [pc, #20]	; (800fc54 <TIM8_UP_TIM13_IRQHandler+0x18>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc40:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc42:	f7fa fa50 	bl	800a0e6 <TIM_ClearITPendingBit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIOC->ODR ^= WDT_PIN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcce:	4b04      	ldr	r3, [pc, #16]	; (800fce0 <TIM8_UP_TIM13_IRQHandler+0x1c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcd0:	695a      	ldr	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcd2:	f082 0201 	eor.w	r2, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcd6:	615a      	str	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcd8:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcda:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcdc:	40001c00 	.word	0x40001c00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fce0:	40020800 	.word	0x40020800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fce4 <http_accept>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc46:	4b04      	ldr	r3, [pc, #16]	; (800fc58 <TIM8_UP_TIM13_IRQHandler+0x1c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc48:	695a      	ldr	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc4a:	f082 0201 	eor.w	r2, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc4e:	615a      	str	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc50:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc52:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc54:	40001c00 	.word	0x40001c00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc58:	40020800 	.word	0x40020800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fc5c <http_accept>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  pcb: pointer to a tcp_pcb structure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * ¶m  err: Lwip stack error code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_accept(void *arg, struct tcp_pcb *pcb, err_t err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fce4:	b538      	push	{r3, r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc5c:	b538      	push	{r3, r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct http_state *hs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Allocate memory for the structure that holds the state of the connection */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs = mem_malloc(sizeof(struct http_state)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fce6:	2008      	movs	r0, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc5e:	2008      	movs	r0, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  pcb: pointer to a tcp_pcb structure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * ¶m  err: Lwip stack error code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_accept(void *arg, struct tcp_pcb *pcb, err_t err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fce8:	460c      	mov	r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc60:	460c      	mov	r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct http_state *hs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Allocate memory for the structure that holds the state of the connection */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs = mem_malloc(sizeof(struct http_state)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcea:	f7fb fa0f 	bl	800b10c <mem_malloc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc62:	f7fb fa53 	bl	800b10c <mem_malloc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (hs == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcee:	4601      	mov	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcf0:	b1a0      	cbz	r0, 800fd1c <http_accept+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc66:	4601      	mov	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc68:	b1a0      	cbz	r0, 800fc94 <http_accept+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return ERR_MEM; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Initialize the structure. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs->file = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcf2:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcf4:	6005      	str	r5, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc6a:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc6c:	6005      	str	r5, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs->left = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcf6:	6045      	str	r5, [r0, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc6e:	6045      	str	r5, [r0, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Tell TCP that this is the structure we wish to be passed for our 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      callbacks. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_arg(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcf8:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcfa:	f7fb fea5 	bl	800ba48 <tcp_arg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc70:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc72:	f7fb fee9 	bl	800ba48 <tcp_arg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Tell TCP that we wish to be informed of incoming data by a call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      to the http_recv() function. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_recv(pcb, http_recv); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fcfe:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd00:	4908      	ldr	r1, [pc, #32]	; (800fd24 <http_accept+0x40>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd02:	f7fb fea3 	bl	800ba4c <tcp_recv> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc76:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc78:	4908      	ldr	r1, [pc, #32]	; (800fc9c <http_accept+0x40>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc7a:	f7fb fee7 	bl	800ba4c <tcp_recv> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_err(pcb, conn_err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd06:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd08:	4907      	ldr	r1, [pc, #28]	; (800fd28 <http_accept+0x44>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd0a:	f7fb fea3 	bl	800ba54 <tcp_err> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc7e:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc80:	4907      	ldr	r1, [pc, #28]	; (800fca0 <http_accept+0x44>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc82:	f7fb fee7 	bl	800ba54 <tcp_err> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_poll(pcb, http_poll, 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd0e:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd10:	4906      	ldr	r1, [pc, #24]	; (800fd2c <http_accept+0x48>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd12:	220a      	movs	r2, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd14:	f7fb fea3 	bl	800ba5e <tcp_poll> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc86:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc88:	4906      	ldr	r1, [pc, #24]	; (800fca4 <http_accept+0x48>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc8a:	220a      	movs	r2, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc8c:	f7fb fee7 	bl	800ba5e <tcp_poll> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ERR_OK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd18:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd1a:	e000      	b.n	800fd1e <http_accept+0x3a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc90:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc92:	e000      	b.n	800fc96 <http_accept+0x3a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Allocate memory for the structure that holds the state of the connection */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs = mem_malloc(sizeof(struct http_state)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (hs == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return ERR_MEM; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd1c:	20ff      	movs	r0, #255	; 0xff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc94:	20ff      	movs	r0, #255	; 0xff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_err(pcb, conn_err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_poll(pcb, http_poll, 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ERR_OK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd1e:	b240      	sxtb	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd20:	bd38      	pop	{r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd22:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd24:	0800fe79 	.word	0x0800fe79 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd28:	0800fd73 	.word	0x0800fd73 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd2c:	0800fd5b 	.word	0x0800fd5b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fd30 <send_data>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc96:	b240      	sxtb	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc98:	bd38      	pop	{r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc9a:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fc9c:	0800fdf1 	.word	0x0800fdf1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fca0:	0800fceb 	.word	0x0800fceb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fca4:	0800fcd3 	.word	0x0800fcd3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fca8 <send_data>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param pcb: pointer to a tcp_pcb struct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param hs: pointer to a http_state struct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void send_data(struct tcp_pcb *pcb, struct http_state *hs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd30:	b538      	push	{r3, r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fca8:	b538      	push	{r3, r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   err_t err; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   u16_t len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* We cannot send more data than space available in the send 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      buffer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (tcp_sndbuf(pcb) < hs->left) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd32:	684b      	ldr	r3, [r1, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd34:	f8b0 5066 	ldrh.w	r5, [r0, #102]	; 0x66 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd38:	429d      	cmp	r5, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcaa:	684b      	ldr	r3, [r1, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcac:	f8b0 5066 	ldrh.w	r5, [r0, #102]	; 0x66 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcb0:	429d      	cmp	r5, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     len = tcp_sndbuf(pcb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     len = hs->left; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd3a:	bf28      	it	cs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd3c:	b29d      	uxthcs	r5, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcb2:	bf28      	it	cs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcb4:	b29d      	uxthcs	r5, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param pcb: pointer to a tcp_pcb struct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param hs: pointer to a http_state struct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void send_data(struct tcp_pcb *pcb, struct http_state *hs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd3e:	460c      	mov	r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcb6:	460c      	mov	r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     len = hs->left; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   err = tcp_write(pcb, hs->file, len, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd40:	462a      	mov	r2, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd42:	6809      	ldr	r1, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd44:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd46:	f7fd fa41 	bl	800d1cc <tcp_write> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcb8:	462a      	mov	r2, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcba:	6809      	ldr	r1, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcbc:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcbe:	f7fd fa85 	bl	800d1cc <tcp_write> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (err == ERR_OK) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd4a:	b928      	cbnz	r0, 800fd58 <send_data+0x28> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcc2:	b928      	cbnz	r0, 800fcd0 <send_data+0x28> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     hs->file += len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd4c:	6823      	ldr	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd4e:	195b      	adds	r3, r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd50:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcc4:	6823      	ldr	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcc6:	195b      	adds	r3, r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcc8:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     hs->left -= len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd52:	6863      	ldr	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd54:	1b5d      	subs	r5, r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd56:	6065      	str	r5, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd58:	bd38      	pop	{r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcca:	6863      	ldr	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fccc:	1b5d      	subs	r5, r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcce:	6065      	str	r5, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcd0:	bd38      	pop	{r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fd5a <http_poll>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fcd2 <http_poll>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param arg: pointer to an argument to be passed to callback function 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param pcb: pointer on tcp_pcb structure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err_t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_poll(void *arg, struct tcp_pcb *pcb) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd5a:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcd2:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (arg == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd5c:	4603      	mov	r3, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcd4:	4603      	mov	r3, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tcp_close(pcb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd5e:	4608      	mov	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcd6:	4608      	mov	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param pcb: pointer on tcp_pcb structure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err_t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_poll(void *arg, struct tcp_pcb *pcb) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (arg == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd60:	b913      	cbnz	r3, 800fd68 <http_poll+0xe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcd8:	b913      	cbnz	r3, 800fce0 <http_poll+0xe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tcp_close(pcb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd62:	f7fc f9cb 	bl	800c0fc <tcp_close> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd66:	e002      	b.n	800fd6e <http_poll+0x14> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcda:	f7fc fa0f 	bl	800c0fc <tcp_close> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcde:	e002      	b.n	800fce6 <http_poll+0x14> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     send_data(pcb, (struct http_state *)arg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd68:	4619      	mov	r1, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd6a:	f7ff ffe1 	bl	800fd30 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fce0:	4619      	mov	r1, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fce2:	f7ff ffe1 	bl	800fca8 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ERR_OK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd6e:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd70:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fce6:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fce8:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fd72 <conn_err>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fcea <conn_err>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void conn_err(void *arg, err_t err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct http_state *hs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs = arg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   mem_free(hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd72:	f7fb b905 	b.w	800af80 <mem_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd76:	0000      	movs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcea:	f7fb b949 	b.w	800af80 <mem_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcee:	0000      	movs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fd78 <close_conn>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fcf0 <close_conn>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  pcb: pointer to a tcp_pcb struct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  hs: pointer to a http_state struct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void close_conn(struct tcp_pcb *pcb, struct http_state *hs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd78:	b538      	push	{r3, r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd7a:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd7c:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcf0:	b538      	push	{r3, r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcf2:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcf4:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_arg(pcb, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd7e:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd80:	f7fb fe62 	bl	800ba48 <tcp_arg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcf6:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcf8:	f7fb fea6 	bl	800ba48 <tcp_arg> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_sent(pcb, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd84:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd86:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd88:	f7fb fe62 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcfc:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fcfe:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd00:	f7fb fea6 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_recv(pcb, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd8c:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd8e:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd90:	f7fb fe5c 	bl	800ba4c <tcp_recv> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd04:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd06:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd08:	f7fb fea0 	bl	800ba4c <tcp_recv> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   mem_free(hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd94:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd96:	f7fb f8f3 	bl	800af80 <mem_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd0c:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd0e:	f7fb f937 	bl	800af80 <mem_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_close(pcb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd9a:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fd9c:	f7fc f9ae 	bl	800c0fc <tcp_close> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd12:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd14:	f7fc f9f2 	bl	800c0fc <tcp_close> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   reqCounter++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fda0:	4b02      	ldr	r3, [pc, #8]	; (800fdac <close_conn+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fda2:	781a      	ldrb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fda4:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fda6:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fda8:	bd38      	pop	{r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdaa:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdac:	20006d82 	.word	0x20006d82 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fdb0 <fs_open>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd18:	4b02      	ldr	r3, [pc, #8]	; (800fd24 <close_conn+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd1a:	781a      	ldrb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd1c:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd1e:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd20:	bd38      	pop	{r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd22:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd24:	20006d82 	.word	0x20006d82 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fd28 <fs_open>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  name : pointer to a file name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  file : pointer to a fs_file structure   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  1 if success, 0 if fail 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static int fs_open(char *name, struct fs_file *file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdb0:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd28:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct fsdata_file_noconst *f; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (f = (struct fsdata_file_noconst *)FS_ROOT; f != NULL; f = (struct fsdata_file_noconst *)f->next) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdb2:	4c09      	ldr	r4, [pc, #36]	; (800fdd8 <fs_open+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd2a:	4c09      	ldr	r4, [pc, #36]	; (800fd50 <fs_open+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  name : pointer to a file name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  file : pointer to a fs_file structure   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval  1 if success, 0 if fail 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static int fs_open(char *name, struct fs_file *file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdb4:	4606      	mov	r6, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdb6:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd2c:	4606      	mov	r6, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd2e:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct fsdata_file_noconst *f; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (f = (struct fsdata_file_noconst *)FS_ROOT; f != NULL; f = (struct fsdata_file_noconst *)f->next) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!strcmp(name, f->name)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdb8:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdba:	6861      	ldr	r1, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdbc:	f7f9 fc42 	bl	8009644 <strcmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdc0:	b928      	cbnz	r0, 800fdce <fs_open+0x1e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd30:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd32:	6861      	ldr	r1, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd34:	f7f9 fc86 	bl	8009644 <strcmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd38:	b928      	cbnz	r0, 800fd46 <fs_open+0x1e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       file->data = f->data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdc2:	68a3      	ldr	r3, [r4, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdc4:	602b      	str	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd3a:	68a3      	ldr	r3, [r4, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd3c:	602b      	str	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       file->len = f->len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdc6:	68e3      	ldr	r3, [r4, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd3e:	68e3      	ldr	r3, [r4, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdc8:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd40:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (f = (struct fsdata_file_noconst *)FS_ROOT; f != NULL; f = (struct fsdata_file_noconst *)f->next) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!strcmp(name, f->name)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       file->data = f->data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       file->len = f->len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdca:	606b      	str	r3, [r5, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd42:	606b      	str	r3, [r5, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdcc:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd44:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static int fs_open(char *name, struct fs_file *file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct fsdata_file_noconst *f; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (f = (struct fsdata_file_noconst *)FS_ROOT; f != NULL; f = (struct fsdata_file_noconst *)f->next) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdce:	6824      	ldr	r4, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdd0:	2c00      	cmp	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdd2:	d1f1      	bne.n	800fdb8 <fs_open+0x8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd46:	6824      	ldr	r4, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd48:	2c00      	cmp	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd4a:	d1f1      	bne.n	800fd30 <fs_open+0x8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       file->data = f->data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       file->len = f->len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdd4:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd4c:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdd6:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdd8:	08012258 	.word	0x08012258 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd4e:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd50:	080121b8 	.word	0x080121b8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fddc <IAP_HTTP_writedata>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fd54 <IAP_HTTP_writedata>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  ptr: data pointer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len: data length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_HTTP_writedata(char * ptr, uint32_t len)             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fddc:	b5f8      	push	{r3, r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd54:	b5f8      	push	{r3, r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t count, i=0, j=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* check if any left bytes from previous packet transfer*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* if it is the case do a concat with new data to create a 32-bit word */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (LeftBytes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdde:	4b21      	ldr	r3, [pc, #132]	; (800fe64 <IAP_HTTP_writedata+0x88>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fde0:	781a      	ldrb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd56:	4b21      	ldr	r3, [pc, #132]	; (800fddc <IAP_HTTP_writedata+0x88>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd58:	781a      	ldrb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  ptr: data pointer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len: data length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_HTTP_writedata(char * ptr, uint32_t len)             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fde2:	4606      	mov	r6, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fde4:	460c      	mov	r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd5a:	4606      	mov	r6, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd5c:	460c      	mov	r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t count, i=0, j=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* check if any left bytes from previous packet transfer*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* if it is the case do a concat with new data to create a 32-bit word */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (LeftBytes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fde6:	b94a      	cbnz	r2, 800fdfc <IAP_HTTP_writedata+0x20> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fde8:	e01a      	b.n	800fe20 <IAP_HTTP_writedata+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd5e:	b94a      	cbnz	r2, 800fd74 <IAP_HTTP_writedata+0x20> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd60:	e01a      	b.n	800fd98 <IAP_HTTP_writedata+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while(LeftBytes<=3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if(len>(j+1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdea:	3501      	adds	r5, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdec:	42ac      	cmp	r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd62:	3501      	adds	r5, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd64:	42ac      	cmp	r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  writes received data in flash     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  ptr: data pointer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len: data length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_HTTP_writedata(char * ptr, uint32_t len)             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdee:	bf89      	itett	hi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdf0:	1977      	addhi	r7, r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd66:	bf89      	itett	hi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd68:	1977      	addhi	r7, r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LeftBytesTab[LeftBytes++] = *(ptr+j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LeftBytesTab[LeftBytes++] = 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdf2:	54c8      	strbls	r0, [r1, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd6a:	54c8      	strbls	r0, [r1, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while(LeftBytes<=3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if(len>(j+1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LeftBytesTab[LeftBytes++] = *(ptr+j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdf4:	f817 7c01 	ldrbhi.w	r7, [r7, #-1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdf8:	54cf      	strbhi	r7, [r1, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdfa:	e002      	b.n	800fe02 <IAP_HTTP_writedata+0x26> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdfc:	491a      	ldr	r1, [pc, #104]	; (800fe68 <IAP_HTTP_writedata+0x8c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd6c:	f817 7c01 	ldrbhi.w	r7, [r7, #-1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd70:	54cf      	strbhi	r7, [r1, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd72:	e002      	b.n	800fd7a <IAP_HTTP_writedata+0x26> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd74:	491a      	ldr	r1, [pc, #104]	; (800fde0 <IAP_HTTP_writedata+0x8c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_HTTP_writedata(char * ptr, uint32_t len)             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t count, i=0, j=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* check if any left bytes from previous packet transfer*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* if it is the case do a concat with new data to create a 32-bit word */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (LeftBytes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fdfe:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd76:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LeftBytesTab[LeftBytes++] = *(ptr+j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LeftBytesTab[LeftBytes++] = 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe00:	20ff      	movs	r0, #255	; 0xff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd78:	20ff      	movs	r0, #255	; 0xff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  writes received data in flash     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  ptr: data pointer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len: data length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_HTTP_writedata(char * ptr, uint32_t len)             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe02:	1953      	adds	r3, r2, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe04:	b2db      	uxtb	r3, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd7a:	1953      	adds	r3, r2, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd7c:	b2db      	uxtb	r3, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t count, i=0, j=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* check if any left bytes from previous packet transfer*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* if it is the case do a concat with new data to create a 32-bit word */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (LeftBytes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while(LeftBytes<=3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe06:	2b03      	cmp	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe08:	d9ef      	bls.n	800fdea <IAP_HTTP_writedata+0xe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe0a:	4f16      	ldr	r7, [pc, #88]	; (800fe64 <IAP_HTTP_writedata+0x88>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd7e:	2b03      	cmp	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd80:	d9ef      	bls.n	800fd62 <IAP_HTTP_writedata+0xe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd82:	4f16      	ldr	r7, [pc, #88]	; (800fddc <IAP_HTTP_writedata+0x88>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LeftBytesTab[LeftBytes++] = 0xFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       j++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FLASH_If_Write(&FlashWriteAddress, (u32*)(LeftBytesTab),1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe0c:	4817      	ldr	r0, [pc, #92]	; (800fe6c <IAP_HTTP_writedata+0x90>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe0e:	4916      	ldr	r1, [pc, #88]	; (800fe68 <IAP_HTTP_writedata+0x8c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe10:	703b      	strb	r3, [r7, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe12:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe14:	f7ff fc4a 	bl	800f6ac <FLASH_If_Write> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd84:	4817      	ldr	r0, [pc, #92]	; (800fde4 <IAP_HTTP_writedata+0x90>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd86:	4916      	ldr	r1, [pc, #88]	; (800fde0 <IAP_HTTP_writedata+0x8c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd88:	703b      	strb	r3, [r7, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd8a:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd8c:	f7ff fc8e 	bl	800f6ac <FLASH_If_Write> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     LeftBytes =0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe18:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe1a:	703b      	strb	r3, [r7, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd90:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd92:	703b      	strb	r3, [r7, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* update data pointer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ptr = (char*)(ptr+j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe1c:	1976      	adds	r6, r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd94:	1976      	adds	r6, r6, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     len = len -j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe1e:	1b64      	subs	r4, r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd96:	1b64      	subs	r4, r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* write received bytes into flash */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   count = len/4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe20:	08a2      	lsrs	r2, r4, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd98:	08a2      	lsrs	r2, r4, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* check if remaining bytes < 4 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   i= len%4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (i>0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe22:	f014 0103 	ands.w	r1, r4, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe26:	d015      	beq.n	800fe54 <IAP_HTTP_writedata+0x78> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd9a:	f014 0103 	ands.w	r1, r4, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fd9e:	d015      	beq.n	800fdcc <IAP_HTTP_writedata+0x78> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (TotalReceived != size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe28:	4b11      	ldr	r3, [pc, #68]	; (800fe70 <IAP_HTTP_writedata+0x94>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe2a:	4812      	ldr	r0, [pc, #72]	; (800fe74 <IAP_HTTP_writedata+0x98>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe2c:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe2e:	6800      	ldr	r0, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe30:	4298      	cmp	r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe32:	d00e      	beq.n	800fe52 <IAP_HTTP_writedata+0x76> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fda0:	4b11      	ldr	r3, [pc, #68]	; (800fde8 <IAP_HTTP_writedata+0x94>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fda2:	4812      	ldr	r0, [pc, #72]	; (800fdec <IAP_HTTP_writedata+0x98>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fda4:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fda6:	6800      	ldr	r0, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fda8:	4298      	cmp	r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdaa:	d00e      	beq.n	800fdca <IAP_HTTP_writedata+0x76> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* store bytes in LeftBytesTab */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytes=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe34:	480b      	ldr	r0, [pc, #44]	; (800fe64 <IAP_HTTP_writedata+0x88>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdac:	480b      	ldr	r0, [pc, #44]	; (800fddc <IAP_HTTP_writedata+0x88>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(;i>0;i--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytesTab[LeftBytes++] = *(char*)(ptr+ len-i);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe36:	4d0c      	ldr	r5, [pc, #48]	; (800fe68 <IAP_HTTP_writedata+0x8c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdae:	4d0c      	ldr	r5, [pc, #48]	; (800fde0 <IAP_HTTP_writedata+0x8c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (i>0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (TotalReceived != size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* store bytes in LeftBytesTab */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytes=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe38:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdb0:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  writes received data in flash     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  ptr: data pointer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len: data length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_HTTP_writedata(char * ptr, uint32_t len)             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe3a:	1a64      	subs	r4, r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdb2:	1a64      	subs	r4, r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (i>0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (TotalReceived != size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* store bytes in LeftBytesTab */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytes=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe3c:	7003      	strb	r3, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdb4:	7003      	strb	r3, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  writes received data in flash     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  ptr: data pointer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len: data length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_HTTP_writedata(char * ptr, uint32_t len)             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe3e:	1934      	adds	r4, r6, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdb6:	1934      	adds	r4, r6, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (TotalReceived != size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* store bytes in LeftBytesTab */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytes=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(;i>0;i--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytesTab[LeftBytes++] = *(char*)(ptr+ len-i);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe40:	5ce7      	ldrb	r7, [r4, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdb8:	5ce7      	ldrb	r7, [r4, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  writes received data in flash     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  ptr: data pointer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len: data length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_HTTP_writedata(char * ptr, uint32_t len)             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe42:	b2d8      	uxtb	r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe44:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdba:	b2d8      	uxtb	r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdbc:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (TotalReceived != size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* store bytes in LeftBytesTab */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytes=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(;i>0;i--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe46:	428b      	cmp	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdbe:	428b      	cmp	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytesTab[LeftBytes++] = *(char*)(ptr+ len-i);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe48:	542f      	strb	r7, [r5, r0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdc0:	542f      	strb	r7, [r5, r0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (TotalReceived != size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* store bytes in LeftBytesTab */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytes=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(;i>0;i--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe4a:	d1f9      	bne.n	800fe40 <IAP_HTTP_writedata+0x64> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe4c:	4905      	ldr	r1, [pc, #20]	; (800fe64 <IAP_HTTP_writedata+0x88>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe4e:	700b      	strb	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe50:	e000      	b.n	800fe54 <IAP_HTTP_writedata+0x78> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdc2:	d1f9      	bne.n	800fdb8 <IAP_HTTP_writedata+0x64> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdc4:	4905      	ldr	r1, [pc, #20]	; (800fddc <IAP_HTTP_writedata+0x88>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdc6:	700b      	strb	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdc8:	e000      	b.n	800fdcc <IAP_HTTP_writedata+0x78> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytesTab[LeftBytes++] = *(char*)(ptr+ len-i);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe52:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdca:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FLASH_If_Write(&FlashWriteAddress, (u32*)ptr ,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe54:	4805      	ldr	r0, [pc, #20]	; (800fe6c <IAP_HTTP_writedata+0x90>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe56:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe58:	b292      	uxth	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdcc:	4805      	ldr	r0, [pc, #20]	; (800fde4 <IAP_HTTP_writedata+0x90>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdce:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdd0:	b292      	uxth	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe5a:	e8bd 40f8 	ldmia.w	sp!, {r3, r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdd2:	e8bd 40f8 	ldmia.w	sp!, {r3, r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(;i>0;i--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LeftBytesTab[LeftBytes++] = *(char*)(ptr+ len-i);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FLASH_If_Write(&FlashWriteAddress, (u32*)ptr ,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe5e:	f7ff bc25 	b.w	800f6ac <FLASH_If_Write> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe62:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe64:	20006d94 	.word	0x20006d94 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe68:	20006d83 	.word	0x20006d83 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe6c:	20006d90 	.word	0x20006d90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe70:	20006da4 	.word	0x20006da4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe74:	20006da0 	.word	0x20006da0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0800fe78 <http_recv>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdd6:	f7ff bc69 	b.w	800f6ac <FLASH_If_Write> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdda:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fddc:	20006d94 	.word	0x20006d94 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fde0:	20006d83 	.word	0x20006d83 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fde4:	20006d90 	.word	0x20006d90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fde8:	20006da4 	.word	0x20006da4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdec:	20006da0 	.word	0x20006da0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0800fdf0 <http_recv>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* goback.cgi - возврат в основную прошивку */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* upload.cgi - загрузка новой прошивки */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe78:	e92d 4ff0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe7c:	b087      	sub	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe7e:	4617      	mov	r7, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdf0:	e92d 4ff0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdf4:	b087      	sub	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdf6:	4617      	mov	r7, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int32_t i, len=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t DataOffset, FilenameOffset; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char *data, *ptr, filename[13]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct fs_file file = {0, 0}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe80:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdf8:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* goback.cgi - возврат в основную прошивку */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* upload.cgi - загрузка новой прошивки */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe82:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe84:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdfa:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdfc:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int32_t i, len=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t DataOffset, FilenameOffset; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char *data, *ptr, filename[13]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct fs_file file = {0, 0}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe86:	9200      	str	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe88:	9201      	str	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fdfe:	9200      	str	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe00:	9201      	str	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs = arg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (err == ERR_OK && p != NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe8a:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe8c:	f040 820a 	bne.w	80102a4 <http_recv+0x42c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe02:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe04:	f040 820a 	bne.w	801021c <http_recv+0x42c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Inform TCP that we have taken the data */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tcp_recved(pcb, p->tot_len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe90:	4608      	mov	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe08:	4608      	mov	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs = arg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (err == ERR_OK && p != NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe92:	2f00      	cmp	r7, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe94:	f000 8203 	beq.w	801029e <http_recv+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe0a:	2f00      	cmp	r7, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe0c:	f000 8203 	beq.w	8010216 <http_recv+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Inform TCP that we have taken the data */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tcp_recved(pcb, p->tot_len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe98:	8939      	ldrh	r1, [r7, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe9a:	f7fb fda1 	bl	800b9e0 <tcp_recved> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe10:	8939      	ldrh	r1, [r7, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe12:	f7fb fde5 	bl	800b9e0 <tcp_recved> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (hs->file == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fe9e:	6823      	ldr	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fea0:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fea2:	f040 81ec 	bne.w	801027e <http_recv+0x406> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe16:	6823      	ldr	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe18:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe1a:	f040 81ec 	bne.w	80101f6 <http_recv+0x406> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       data = p->payload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fea6:	687e      	ldr	r6, [r7, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe1e:	687e      	ldr	r6, [r7, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       len = p->tot_len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fea8:	f8b7 8008 	ldrh.w	r8, [r7, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe20:	f8b7 8008 	ldrh.w	r8, [r7, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  printLen = p->tot_len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feac:	4b9f      	ldr	r3, [pc, #636]	; (801012c <http_recv+0x2b4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe24:	4b9f      	ldr	r3, [pc, #636]	; (80100a4 <http_recv+0x2b4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  memcpy(printBuf, p->payload , printLen); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feae:	48a0      	ldr	r0, [pc, #640]	; (8010130 <http_recv+0x2b8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe26:	48a0      	ldr	r0, [pc, #640]	; (80100a8 <http_recv+0x2b8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (hs->file == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       data = p->payload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       len = p->tot_len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  printLen = p->tot_len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feb0:	f8a3 8000 	strh.w	r8, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe28:	f8a3 8000 	strh.w	r8, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  memcpy(printBuf, p->payload , printLen); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feb4:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feb6:	4642      	mov	r2, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feb8:	f7f9 faa4 	bl	8009404 <memcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe2c:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe2e:	4642      	mov	r2, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe30:	f7f9 fae8 	bl	8009404 <memcpy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  //printf(printBuf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* process HTTP GET requests */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (strncmp(data, "GET /", 5) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800febc:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800febe:	499d      	ldr	r1, [pc, #628]	; (8010134 <http_recv+0x2bc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fec0:	2205      	movs	r2, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fec2:	f7f9 fd0b 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fec6:	4681      	mov	r9, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe34:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe36:	499d      	ldr	r1, [pc, #628]	; (80100ac <http_recv+0x2bc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe38:	2205      	movs	r2, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe3a:	f7f9 fd4f 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe3e:	4681      	mov	r9, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  send_data(pcb, hs);    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           resetpage = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }*/  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    if (strncmp(data, "GET /upload.css", 15) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fec8:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe40:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  printLen = p->tot_len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  memcpy(printBuf, p->payload , printLen); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  //printf(printBuf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* process HTTP GET requests */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (strncmp(data, "GET /", 5) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feca:	f1b9 0f00 	cmp.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fece:	d14e      	bne.n	800ff6e <http_recv+0xf6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe42:	f1b9 0f00 	cmp.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe46:	d14e      	bne.n	800fee6 <http_recv+0xf6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  send_data(pcb, hs);    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           resetpage = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }*/  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    if (strncmp(data, "GET /upload.css", 15) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fed0:	4999      	ldr	r1, [pc, #612]	; (8010138 <http_recv+0x2c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fed2:	220f      	movs	r2, #15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fed4:	f7f9 fd02 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fed8:	b908      	cbnz	r0, 800fede <http_recv+0x66> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe48:	4999      	ldr	r1, [pc, #612]	; (80100b0 <http_recv+0x2c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe4a:	220f      	movs	r2, #15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe4c:	f7f9 fd46 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe50:	b908      	cbnz	r0, 800fe56 <http_recv+0x66> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      fs_open("/upload.css", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feda:	4898      	ldr	r0, [pc, #608]	; (801013c <http_recv+0x2c4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fedc:	e006      	b.n	800feec <http_recv+0x74> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe52:	4898      	ldr	r0, [pc, #608]	; (80100b4 <http_recv+0x2c4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe54:	e006      	b.n	800fe64 <http_recv+0x74> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else if (strncmp(data, "GET /upload.js", 14) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fede:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fee0:	4997      	ldr	r1, [pc, #604]	; (8010140 <http_recv+0x2c8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fee2:	220e      	movs	r2, #14 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fee4:	f7f9 fcfa 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fee8:	b998      	cbnz	r0, 800ff12 <http_recv+0x9a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe56:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe58:	4997      	ldr	r1, [pc, #604]	; (80100b8 <http_recv+0x2c8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe5a:	220e      	movs	r2, #14 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe5c:	f7f9 fd3e 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe60:	b998      	cbnz	r0, 800fe8a <http_recv+0x9a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      fs_open("/upload.js", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feea:	4896      	ldr	r0, [pc, #600]	; (8010144 <http_recv+0x2cc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feec:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800feee:	f7ff ff5f 	bl	800fdb0 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe62:	4896      	ldr	r0, [pc, #600]	; (80100bc <http_recv+0x2cc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe64:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe66:	f7ff ff5f 	bl	800fd28 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fef2:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fef4:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe6a:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe6c:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fef6:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe6e:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fef8:	4638      	mov	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe70:	4638      	mov	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else if (strncmp(data, "GET /upload.js", 14) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      fs_open("/upload.js", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fefa:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe72:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fefc:	f7fb fae2 	bl	800b4c4 <pbuf_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe74:	f7fb fb26 	bl	800b4c4 <pbuf_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff00:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff02:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff04:	f7ff ff14 	bl	800fd30 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe78:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe7a:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe7c:	f7ff ff14 	bl	800fca8 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff08:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff0a:	498f      	ldr	r1, [pc, #572]	; (8010148 <http_recv+0x2d0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff0c:	f7fb fda0 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff10:	e1c8      	b.n	80102a4 <http_recv+0x42c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe80:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe82:	498f      	ldr	r1, [pc, #572]	; (80100c0 <http_recv+0x2d0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe84:	f7fb fde4 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe88:	e1c8      	b.n	801021c <http_recv+0x42c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    /* Возврат в основную прошивку. Сбрасываем флаг loadmode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	       сохраняем настройки и перезагружаемся */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else if (strncmp(data, "GET /goback.cgi", 15)==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff12:	498e      	ldr	r1, [pc, #568]	; (801014c <http_recv+0x2d4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff14:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff16:	220f      	movs	r2, #15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff18:	f7f9 fce0 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff1c:	4601      	mov	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff1e:	b990      	cbnz	r0, 800ff46 <http_recv+0xce> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe8a:	498e      	ldr	r1, [pc, #568]	; (80100c4 <http_recv+0x2d4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe8c:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe8e:	220f      	movs	r2, #15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe90:	f7f9 fd24 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe94:	4601      	mov	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe96:	b990      	cbnz	r0, 800febe <http_recv+0xce> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         	RTC_WriteBackupRegister(RTC_BKP_DR1, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff20:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff22:	f7fa f867 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe98:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe9a:	f7fa f8ab 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /*  sSettings.bootParams.loadMode = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      SETTINGS_Save();*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           Delay_ms(1010); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff26:	f240 30f2 	movw	r0, #1010	; 0x3f2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff2a:	f7ff fdf5 	bl	800fb18 <Delay_ms> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fe9e:	f240 30f2 	movw	r0, #1010	; 0x3f2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fea2:	f7ff fdf5 	bl	800fa90 <Delay_ms> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     This function acts as a special kind of Data Memory Barrier. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     It completes when all explicit memory accesses before this instruction complete. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 __attribute__( ( always_inline ) ) __STATIC_INLINE void __DSB(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __ASM volatile ("dsb"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff2e:	f3bf 8f4f 	dsb	sy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fea6:	f3bf 8f4f 	dsb	sy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //static inline void NVIC_SystemReset(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __DSB();                                                     /* Ensure all outstanding memory accesses included 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                   buffered write are completed before reset */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SCB->AIRCR  = ((0x5FA << SCB_AIRCR_VECTKEY_Pos)      | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff32:	4a87      	ldr	r2, [pc, #540]	; (8010150 <http_recv+0x2d8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff34:	4b87      	ldr	r3, [pc, #540]	; (8010154 <http_recv+0x2dc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff36:	68d1      	ldr	r1, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff38:	f401 61e0 	and.w	r1, r1, #1792	; 0x700 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff3c:	430b      	orrs	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feaa:	4a87      	ldr	r2, [pc, #540]	; (80100c8 <http_recv+0x2d8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feac:	4b87      	ldr	r3, [pc, #540]	; (80100cc <http_recv+0x2dc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feae:	68d1      	ldr	r1, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feb0:	f401 61e0 	and.w	r1, r1, #1792	; 0x700 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feb4:	430b      	orrs	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 __STATIC_INLINE void NVIC_SystemReset(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //static inline void NVIC_SystemReset(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __DSB();                                                     /* Ensure all outstanding memory accesses included 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                   buffered write are completed before reset */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SCB->AIRCR  = ((0x5FA << SCB_AIRCR_VECTKEY_Pos)      | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff3e:	60d3      	str	r3, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff40:	f3bf 8f4f 	dsb	sy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff44:	e7fe      	b.n	800ff44 <http_recv+0xcc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feb6:	60d3      	str	r3, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feb8:	f3bf 8f4f 	dsb	sy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800febc:	e7fe      	b.n	800febc <http_recv+0xcc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  NVIC_SystemReset(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else if (strncmp(data, "GET /favicon.ico", 16) == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff46:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff48:	4983      	ldr	r1, [pc, #524]	; (8010158 <http_recv+0x2e0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff4a:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff4c:	f7f9 fcc6 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff50:	b940      	cbnz	r0, 800ff64 <http_recv+0xec> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800febe:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fec0:	4983      	ldr	r1, [pc, #524]	; (80100d0 <http_recv+0x2e0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fec2:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fec4:	f7f9 fd0a 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fec8:	b940      	cbnz	r0, 800fedc <http_recv+0xec> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           fs_open("/favicon.ico", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff52:	4882      	ldr	r0, [pc, #520]	; (801015c <http_recv+0x2e4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff54:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff56:	f7ff ff2b 	bl	800fdb0 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feca:	4882      	ldr	r0, [pc, #520]	; (80100d4 <http_recv+0x2e4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fecc:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fece:	f7ff ff2b 	bl	800fd28 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff5a:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff5c:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fed2:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fed4:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff5e:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff60:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff62:	e7cd      	b.n	800ff00 <http_recv+0x88> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fed6:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fed8:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feda:	e7cd      	b.n	800fe78 <http_recv+0x88> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /*send the login page (which is the index page) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           htmlpage = LoginPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff64:	4b7e      	ldr	r3, [pc, #504]	; (8010160 <http_recv+0x2e8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fedc:	4b7e      	ldr	r3, [pc, #504]	; (80100d8 <http_recv+0x2e8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           fs_open("/index.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff66:	487f      	ldr	r0, [pc, #508]	; (8010164 <http_recv+0x2ec>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fede:	487f      	ldr	r0, [pc, #508]	; (80100dc <http_recv+0x2ec>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /*send the login page (which is the index page) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           htmlpage = LoginPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff68:	f883 9000 	strb.w	r9, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff6c:	e7be      	b.n	800feec <http_recv+0x74> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fee0:	f883 9000 	strb.w	r9, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fee4:	e7be      	b.n	800fe64 <http_recv+0x74> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #if 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* process POST request for file upload and incoming data packets after POST request*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       else if ((strncmp(data, "POST /upload.cgi",16) == 0) || (DataFlag >= 1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff6e:	497e      	ldr	r1, [pc, #504]	; (8010168 <http_recv+0x2f0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff70:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff72:	f7f9 fcb3 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff76:	b120      	cbz	r0, 800ff82 <http_recv+0x10a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff78:	4b7c      	ldr	r3, [pc, #496]	; (801016c <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff7a:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff7c:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff7e:	f000 817e 	beq.w	801027e <http_recv+0x406> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fee6:	497e      	ldr	r1, [pc, #504]	; (80100e0 <http_recv+0x2f0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fee8:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feea:	f7f9 fcf7 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800feee:	b120      	cbz	r0, 800fefa <http_recv+0x10a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fef0:	4b7c      	ldr	r3, [pc, #496]	; (80100e4 <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fef2:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fef4:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fef6:	f000 817e 	beq.w	80101f6 <http_recv+0x406> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (fEraseFlash) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff82:	f8df 9210 	ldr.w	r9, [pc, #528]	; 8010194 <http_recv+0x31c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff86:	f899 3000 	ldrb.w	r3, [r9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff8a:	b12b      	cbz	r3, 800ff98 <http_recv+0x120> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fefa:	f8df 9210 	ldr.w	r9, [pc, #528]	; 801010c <http_recv+0x31c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fefe:	f899 3000 	ldrb.w	r3, [r9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff02:	b12b      	cbz	r3, 800ff10 <http_recv+0x120> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff8c:	4878      	ldr	r0, [pc, #480]	; (8010170 <http_recv+0x2f8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff8e:	f7ff fb5f 	bl	800f650 <FLASH_If_Erase> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff04:	4878      	ldr	r0, [pc, #480]	; (80100e8 <http_recv+0x2f8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff06:	f7ff fba3 	bl	800f650 <FLASH_If_Erase> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  fEraseFlash = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff92:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff94:	f889 3000 	strb.w	r3, [r9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff0a:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff0c:	f889 3000 	strb.w	r3, [r9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DataOffset = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* POST Packet received */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (DataFlag == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff98:	4b74      	ldr	r3, [pc, #464]	; (801016c <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff9a:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff9c:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ff9e:	d15e      	bne.n	801005e <http_recv+0x1e6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff10:	4b74      	ldr	r3, [pc, #464]	; (80100e4 <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff12:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff14:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff16:	d15e      	bne.n	800ffd6 <http_recv+0x1e6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           BrowserFlag = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffa0:	4a74      	ldr	r2, [pc, #464]	; (8010174 <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff18:	4a74      	ldr	r2, [pc, #464]	; (80100ec <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           TotalReceived = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* parse packet for Content-length field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           size = Parse_Content_Length(data, p->tot_len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffa2:	f8b7 a008 	ldrh.w	sl, [r7, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff1a:	f8b7 a008 	ldrh.w	sl, [r7, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DataOffset = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* POST Packet received */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (DataFlag == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           BrowserFlag = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffa6:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff1e:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           TotalReceived = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffa8:	4a73      	ldr	r2, [pc, #460]	; (8010178 <http_recv+0x300>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffaa:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff20:	4a73      	ldr	r2, [pc, #460]	; (80100f0 <http_recv+0x300>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff22:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t i=0,size=0, S=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int32_t j=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char sizestring[6], *ptr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ContentLengthOffset =0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffac:	4a73      	ldr	r2, [pc, #460]	; (801017c <http_recv+0x304>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff24:	4a73      	ldr	r2, [pc, #460]	; (80100f4 <http_recv+0x304>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* find Content-Length data in packet buffer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (i=0;i<len;i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffae:	4699      	mov	r9, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff26:	4699      	mov	r9, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t i=0,size=0, S=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int32_t j=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char sizestring[6], *ptr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ContentLengthOffset =0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffb0:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffb2:	e00d      	b.n	800ffd0 <http_recv+0x158> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff28:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff2a:	e00d      	b.n	800ff48 <http_recv+0x158> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* find Content-Length data in packet buffer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (i=0;i<len;i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (strncmp ((char*)(data+i), Content_Length, 16)==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffb4:	eb06 0009 	add.w	r0, r6, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffb8:	4971      	ldr	r1, [pc, #452]	; (8010180 <http_recv+0x308>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffba:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffbc:	f7f9 fc8e 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffc0:	b920      	cbnz	r0, 800ffcc <http_recv+0x154> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff2c:	eb06 0009 	add.w	r0, r6, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff30:	4971      	ldr	r1, [pc, #452]	; (80100f8 <http_recv+0x308>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff32:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff34:	f7f9 fcd2 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff38:	b920      	cbnz	r0, 800ff44 <http_recv+0x154> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ContentLengthOffset = i+16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffc2:	4b6e      	ldr	r3, [pc, #440]	; (801017c <http_recv+0x304>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffc4:	f109 0210 	add.w	r2, r9, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffc8:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffca:	e003      	b.n	800ffd4 <http_recv+0x15c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff3a:	4b6e      	ldr	r3, [pc, #440]	; (80100f4 <http_recv+0x304>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff3c:	f109 0210 	add.w	r2, r9, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff40:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff42:	e003      	b.n	800ff4c <http_recv+0x15c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char sizestring[6], *ptr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ContentLengthOffset =0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* find Content-Length data in packet buffer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (i=0;i<len;i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffcc:	f109 0901 	add.w	r9, r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffd0:	45d1      	cmp	r9, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffd2:	d3ef      	bcc.n	800ffb4 <http_recv+0x13c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff44:	f109 0901 	add.w	r9, r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff48:	45d1      	cmp	r9, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff4a:	d3ef      	bcc.n	800ff2c <http_recv+0x13c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ContentLengthOffset = i+16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* read Content-Length value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (ContentLengthOffset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffd4:	4b69      	ldr	r3, [pc, #420]	; (801017c <http_recv+0x304>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffd6:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffd8:	4618      	mov	r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffda:	b90a      	cbnz	r2, 800ffe0 <http_recv+0x168> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff4c:	4b69      	ldr	r3, [pc, #420]	; (80100f4 <http_recv+0x304>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff4e:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff50:	4618      	mov	r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff52:	b90a      	cbnz	r2, 800ff58 <http_recv+0x168> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len  : buffer length   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval size : Content_length in numeric format 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static uint32_t Parse_Content_Length(char *data, uint32_t len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t i=0,size=0, S=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffdc:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffde:	e023      	b.n	8010028 <http_recv+0x1b0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff54:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff56:	e023      	b.n	800ffa0 <http_recv+0x1b0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* read Content-Length value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (ContentLengthOffset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ptr = (char*)(data + ContentLengthOffset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffe0:	eb06 0c02 	add.w	ip, r6, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff58:	eb06 0c02 	add.w	ip, r6, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* read Content-Length value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (ContentLengthOffset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffe4:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffe6:	e004      	b.n	800fff2 <http_recv+0x17a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff5c:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff5e:	e004      	b.n	800ff6a <http_recv+0x17a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ptr = (char*)(data + ContentLengthOffset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while(*(ptr+i)!=0x0d) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       sizestring[i] = *(ptr+i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffe8:	f10d 0e08 	add.w	lr, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800ffec:	f803 100e 	strb.w	r1, [r3, lr] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff60:	f10d 0e08 	add.w	lr, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff64:	f803 100e 	strb.w	r1, [r3, lr] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fff0:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff68:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* read Content-Length value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (ContentLengthOffset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ptr = (char*)(data + ContentLengthOffset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while(*(ptr+i)!=0x0d) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fff2:	f81c 1003 	ldrb.w	r1, [ip, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fff6:	290d      	cmp	r1, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fff8:	eb03 0e02 	add.w	lr, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fffc:	d1f4      	bne.n	800ffe8 <http_recv+0x170> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 800fffe:	f8c0 e000 	str.w	lr, [r0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff6a:	f81c 1003 	ldrb.w	r1, [ip, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff6e:	290d      	cmp	r1, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff70:	eb03 0e02 	add.w	lr, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff74:	d1f4      	bne.n	800ff60 <http_recv+0x170> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff76:	f8c0 e000 	str.w	lr, [r0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       sizestring[i] = *(ptr+i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ContentLengthOffset++;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (i>0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010002:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010004:	d0ea      	beq.n	800ffdc <http_recv+0x164> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff7a:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff7c:	d0ea      	beq.n	800ff54 <http_recv+0x164> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* transform string data into numeric format */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(j=i-1;j>=0;j--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010006:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff7e:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  len  : buffer length   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval size : Content_length in numeric format 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static uint32_t Parse_Content_Length(char *data, uint32_t len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t i=0,size=0, S=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010008:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801000a:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff80:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff82:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* transform string data into numeric format */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(j=i-1;j>=0;j--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         size += (sizestring[j]-0x30)*S; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         S=S*10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801000c:	200a      	movs	r0, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801000e:	e009      	b.n	8010024 <http_recv+0x1ac> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff84:	200a      	movs	r0, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff86:	e009      	b.n	800ff9c <http_recv+0x1ac> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (i>0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* transform string data into numeric format */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(j=i-1;j>=0;j--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         size += (sizestring[j]-0x30)*S; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010010:	f10d 0e08 	add.w	lr, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010014:	f813 e00e 	ldrb.w	lr, [r3, lr] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010018:	f1ae 0e30 	sub.w	lr, lr, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801001c:	fb01 220e 	mla	r2, r1, lr, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff88:	f10d 0e08 	add.w	lr, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff8c:	f813 e00e 	ldrb.w	lr, [r3, lr] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff90:	f1ae 0e30 	sub.w	lr, lr, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff94:	fb01 220e 	mla	r2, r1, lr, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ContentLengthOffset++;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (i>0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* transform string data into numeric format */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(j=i-1;j>=0;j--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010020:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff98:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         size += (sizestring[j]-0x30)*S; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         S=S*10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010022:	4341      	muls	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff9a:	4341      	muls	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ContentLengthOffset++;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (i>0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* transform string data into numeric format */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for(j=i-1;j>=0;j--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010024:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010026:	daf3      	bge.n	8010010 <http_recv+0x198> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff9c:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ff9e:	daf3      	bge.n	800ff88 <http_recv+0x198> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           BrowserFlag = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           TotalReceived = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* parse packet for Content-length field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           size = Parse_Content_Length(data, p->tot_len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010028:	4b56      	ldr	r3, [pc, #344]	; (8010184 <http_recv+0x30c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffa0:	4b56      	ldr	r3, [pc, #344]	; (80100fc <http_recv+0x30c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* parse packet for the octet-stream field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801002a:	f04f 0900 	mov.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffa2:	f04f 0900 	mov.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           BrowserFlag = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           TotalReceived = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* parse packet for Content-length field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           size = Parse_Content_Length(data, p->tot_len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801002e:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffa6:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* parse packet for the octet-stream field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010030:	e012      	b.n	8010058 <http_recv+0x1e0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffa8:	e012      	b.n	800ffd0 <http_recv+0x1e0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              if (strncmp ((char*)(data+i), octet_stream, 13)==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010032:	eb06 0009 	add.w	r0, r6, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010036:	4954      	ldr	r1, [pc, #336]	; (8010188 <http_recv+0x310>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010038:	220d      	movs	r2, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801003a:	f7f9 fc4f 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801003e:	b948      	cbnz	r0, 8010054 <http_recv+0x1dc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffaa:	eb06 0009 	add.w	r0, r6, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffae:	4954      	ldr	r1, [pc, #336]	; (8010100 <http_recv+0x310>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffb0:	220d      	movs	r2, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffb2:	f7f9 fc93 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffb6:	b948      	cbnz	r0, 800ffcc <http_recv+0x1dc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* case of Mozilla Firefox v3.6 : we receive data in the POST packet*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TotalReceived = len - (ContentLengthOffset + 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010040:	4b4e      	ldr	r3, [pc, #312]	; (801017c <http_recv+0x304>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010042:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010044:	4b4c      	ldr	r3, [pc, #304]	; (8010178 <http_recv+0x300>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010046:	ebc2 0208 	rsb	r2, r2, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801004a:	3a04      	subs	r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffb8:	4b4e      	ldr	r3, [pc, #312]	; (80100f4 <http_recv+0x304>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffba:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffbc:	4b4c      	ldr	r3, [pc, #304]	; (80100f0 <http_recv+0x300>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffbe:	ebc2 0208 	rsb	r2, r2, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffc2:	3a04      	subs	r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* parse packet for the octet-stream field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              if (strncmp ((char*)(data+i), octet_stream, 13)==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                DataOffset = i + 16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801004c:	f109 0a10 	add.w	sl, r9, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffc4:	f109 0a10 	add.w	sl, r9, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* case of Mozilla Firefox v3.6 : we receive data in the POST packet*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TotalReceived = len - (ContentLengthOffset + 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010050:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010052:	e006      	b.n	8010062 <http_recv+0x1ea> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffc8:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffca:	e006      	b.n	800ffda <http_recv+0x1ea> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* parse packet for Content-length field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           size = Parse_Content_Length(data, p->tot_len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* parse packet for the octet-stream field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010054:	f109 0901 	add.w	r9, r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010058:	45c1      	cmp	r9, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801005a:	dbea      	blt.n	8010032 <http_recv+0x1ba> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801005c:	e114      	b.n	8010288 <http_recv+0x410> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffcc:	f109 0901 	add.w	r9, r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffd0:	45c1      	cmp	r9, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffd2:	dbea      	blt.n	800ffaa <http_recv+0x1ba> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffd4:	e114      	b.n	8010200 <http_recv+0x410> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (fEraseFlash) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  fEraseFlash = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DataOffset = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801005e:	f04f 0a00 	mov.w	sl, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffd6:	f04f 0a00 	mov.w	sl, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TotalReceived = len - (ContentLengthOffset + 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (((DataFlag ==1)&&(BrowserFlag==1)) || ((DataFlag ==0)&&(BrowserFlag==0))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010062:	4b42      	ldr	r3, [pc, #264]	; (801016c <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010064:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010066:	2a01      	cmp	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010068:	d103      	bne.n	8010072 <http_recv+0x1fa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801006a:	4a42      	ldr	r2, [pc, #264]	; (8010174 <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801006c:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801006e:	2a01      	cmp	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010070:	d008      	beq.n	8010084 <http_recv+0x20c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010072:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010074:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010076:	f040 80ae 	bne.w	80101d6 <http_recv+0x35e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801007a:	4b3e      	ldr	r3, [pc, #248]	; (8010174 <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801007c:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801007e:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010080:	f040 80a9 	bne.w	80101d6 <http_recv+0x35e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffda:	4b42      	ldr	r3, [pc, #264]	; (80100e4 <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffdc:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffde:	2a01      	cmp	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffe0:	d103      	bne.n	800ffea <http_recv+0x1fa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffe2:	4a42      	ldr	r2, [pc, #264]	; (80100ec <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffe4:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffe6:	2a01      	cmp	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffe8:	d008      	beq.n	800fffc <http_recv+0x20c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffea:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffec:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800ffee:	f040 80ae 	bne.w	801014e <http_recv+0x35e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fff2:	4b3e      	ldr	r3, [pc, #248]	; (80100ec <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fff4:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fff6:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fff8:	f040 80a9 	bne.w	801014e <http_recv+0x35e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if ((DataFlag ==0)&&(BrowserFlag==0))  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010084:	4b39      	ldr	r3, [pc, #228]	; (801016c <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010086:	6819      	ldr	r1, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010088:	461a      	mov	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801008a:	b919      	cbnz	r1, 8010094 <http_recv+0x21c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801008c:	4939      	ldr	r1, [pc, #228]	; (8010174 <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801008e:	6809      	ldr	r1, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010090:	b901      	cbnz	r1, 8010094 <http_recv+0x21c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010092:	e01d      	b.n	80100d0 <http_recv+0x258> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fffc:	4b39      	ldr	r3, [pc, #228]	; (80100e4 <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 800fffe:	6819      	ldr	r1, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010000:	461a      	mov	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010002:	b919      	cbnz	r1, 801000c <http_recv+0x21c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010004:	4939      	ldr	r1, [pc, #228]	; (80100ec <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010006:	6809      	ldr	r1, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010008:	b901      	cbnz	r1, 801000c <http_recv+0x21c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801000a:	e01d      	b.n	8010048 <http_recv+0x258> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              DataFlag++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            else if ((DataFlag ==1)&&(BrowserFlag==1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010094:	6813      	ldr	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010096:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010098:	d11d      	bne.n	80100d6 <http_recv+0x25e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801009a:	4b36      	ldr	r3, [pc, #216]	; (8010174 <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801009c:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801009e:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100a0:	d119      	bne.n	80100d6 <http_recv+0x25e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100a2:	e00c      	b.n	80100be <http_recv+0x246> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801000c:	6813      	ldr	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801000e:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010010:	d11d      	bne.n	801004e <http_recv+0x25e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010012:	4b36      	ldr	r3, [pc, #216]	; (80100ec <http_recv+0x2fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010014:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010016:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010018:	d119      	bne.n	801004e <http_recv+0x25e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801001a:	e00c      	b.n	8010036 <http_recv+0x246> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* parse packet for the octet-stream field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (strncmp ((char*)(data+i), octet_stream, 13)==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100a4:	eb06 0009 	add.w	r0, r6, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100a8:	4937      	ldr	r1, [pc, #220]	; (8010188 <http_recv+0x310>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100aa:	220d      	movs	r2, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100ac:	f7f9 fc16 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100b0:	b910      	cbnz	r0, 80100b8 <http_recv+0x240> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801001c:	eb06 0009 	add.w	r0, r6, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010020:	4937      	ldr	r1, [pc, #220]	; (8010100 <http_recv+0x310>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010022:	220d      	movs	r2, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010024:	f7f9 fc5a 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010028:	b910      	cbnz	r0, 8010030 <http_recv+0x240> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  DataOffset = i+16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100b2:	f109 0a10 	add.w	sl, r9, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801002a:	f109 0a10 	add.w	sl, r9, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100b6:	e006      	b.n	80100c6 <http_recv+0x24e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801002e:	e006      	b.n	801003e <http_recv+0x24e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              DataFlag++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            else if ((DataFlag ==1)&&(BrowserFlag==1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* parse packet for the octet-stream field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100b8:	f109 0901 	add.w	r9, r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100bc:	e001      	b.n	80100c2 <http_recv+0x24a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010030:	f109 0901 	add.w	r9, r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010034:	e001      	b.n	801003a <http_recv+0x24a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if ((DataFlag ==0)&&(BrowserFlag==0))  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              DataFlag++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            else if ((DataFlag ==1)&&(BrowserFlag==1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100be:	f04f 0900 	mov.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010036:	f04f 0900 	mov.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* parse packet for the octet-stream field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100c2:	45c1      	cmp	r9, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100c4:	dbee      	blt.n	80100a4 <http_recv+0x22c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801003a:	45c1      	cmp	r9, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801003c:	dbee      	blt.n	801001c <http_recv+0x22c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  DataOffset = i+16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              TotalReceived += len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100c6:	4b2c      	ldr	r3, [pc, #176]	; (8010178 <http_recv+0x300>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100c8:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100ca:	4442      	add	r2, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100cc:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801003e:	4b2c      	ldr	r3, [pc, #176]	; (80100f0 <http_recv+0x300>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010040:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010042:	4442      	add	r2, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010044:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              DataFlag++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100ce:	4b27      	ldr	r3, [pc, #156]	; (801016c <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100d0:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100d2:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100d4:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010046:	4b27      	ldr	r3, [pc, #156]	; (80100e4 <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010048:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801004a:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801004c:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* parse packet for the filename field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            FilenameOffset = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100d6:	f04f 0900 	mov.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100da:	e00b      	b.n	80100f4 <http_recv+0x27c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801004e:	f04f 0900 	mov.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010052:	e00b      	b.n	801006c <http_recv+0x27c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param err: LwIP error code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* goback.cgi - возврат в основную прошивку */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* upload.cgi - загрузка новой прошивки */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100dc:	eb06 0b09 	add.w	fp, r6, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010054:	eb06 0b09 	add.w	fp, r6, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* parse packet for the filename field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            FilenameOffset = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              if (strncmp ((char*)(data+i), "filename=", 9)==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100e0:	4658      	mov	r0, fp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100e2:	492a      	ldr	r1, [pc, #168]	; (801018c <http_recv+0x314>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100e4:	2209      	movs	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100e6:	f7f9 fbf9 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100ea:	b908      	cbnz	r0, 80100f0 <http_recv+0x278> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100ec:	4603      	mov	r3, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100ee:	e056      	b.n	801019e <http_recv+0x326> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010058:	4658      	mov	r0, fp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801005a:	492a      	ldr	r1, [pc, #168]	; (8010104 <http_recv+0x314>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801005c:	2209      	movs	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801005e:	f7f9 fc3d 	bl	80098dc <strncmp> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010062:	b908      	cbnz	r0, 8010068 <http_recv+0x278> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010064:	4603      	mov	r3, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010066:	e056      	b.n	8010116 <http_recv+0x326> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              DataFlag++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* parse packet for the filename field */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            FilenameOffset = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (i = 0; i < len; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100f0:	f109 0901 	add.w	r9, r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100f4:	45c1      	cmp	r9, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100f6:	dbf1      	blt.n	80100dc <http_recv+0x264> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010068:	f109 0901 	add.w	r9, r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801006c:	45c1      	cmp	r9, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801006e:	dbf1      	blt.n	8010054 <http_recv+0x264> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              filename[i] = 0x0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (i==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              htmlpage = FileUploadPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100f8:	4b19      	ldr	r3, [pc, #100]	; (8010160 <http_recv+0x2e8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010070:	4b19      	ldr	r3, [pc, #100]	; (80100d8 <http_recv+0x2e8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* no filename, in this case reload upload page */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              fs_open("/upload.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100fa:	4825      	ldr	r0, [pc, #148]	; (8010190 <http_recv+0x318>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010072:	4825      	ldr	r0, [pc, #148]	; (8010108 <http_recv+0x318>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              filename[i] = 0x0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (i==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              htmlpage = FileUploadPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100fc:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010074:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* no filename, in this case reload upload page */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              fs_open("/upload.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80100fe:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010076:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              filename[i] = 0x0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (i==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              htmlpage = FileUploadPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010100:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010078:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* no filename, in this case reload upload page */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              fs_open("/upload.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010102:	f7ff fe55 	bl	800fdb0 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801007a:	f7ff fe55 	bl	800fd28 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010106:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010108:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801007e:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010080:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801010a:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010082:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801010c:	4638      	mov	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010084:	4638      	mov	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              htmlpage = FileUploadPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* no filename, in this case reload upload page */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              fs_open("/upload.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801010e:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010086:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010110:	f7fb f9d8 	bl	800b4c4 <pbuf_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010088:	f7fb fa1c 	bl	800b4c4 <pbuf_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* send index.html page */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010114:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010116:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010118:	f7ff fe0a 	bl	800fd30 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801008c:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801008e:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010090:	f7ff fe0a 	bl	800fca8 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              /* Tell TCP that we wish be to informed of data that has been 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              successfully sent by a call to the http_sent() function. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              tcp_sent(pcb, http_sent);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801011c:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801011e:	490a      	ldr	r1, [pc, #40]	; (8010148 <http_recv+0x2d0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010120:	f7fb fc96 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010094:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010096:	490a      	ldr	r1, [pc, #40]	; (80100c0 <http_recv+0x2d0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010098:	f7fb fcda 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              DataFlag=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010124:	4b11      	ldr	r3, [pc, #68]	; (801016c <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010126:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010128:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801012a:	e0bb      	b.n	80102a4 <http_recv+0x42c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801012c:	20006d80 	.word	0x20006d80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010130:	2000869d 	.word	0x2000869d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010134:	08013564 	.word	0x08013564 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010138:	0801356a 	.word	0x0801356a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801013c:	0801356e 	.word	0x0801356e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010140:	0801357a 	.word	0x0801357a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010144:	0801357e 	.word	0x0801357e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010148:	080102e5 	.word	0x080102e5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801014c:	08013589 	.word	0x08013589 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010150:	e000ed00 	.word	0xe000ed00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010154:	05fa0004 	.word	0x05fa0004 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010158:	08013599 	.word	0x08013599 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801015c:	0801359d 	.word	0x0801359d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010160:	2000869c 	.word	0x2000869c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010164:	080135aa 	.word	0x080135aa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010168:	080135b6 	.word	0x080135b6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801016c:	20006d9c 	.word	0x20006d9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010170:	08020000 	.word	0x08020000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010174:	20006d98 	.word	0x20006d98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010178:	20006da0 	.word	0x20006da0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801017c:	20006d88 	.word	0x20006d88 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010180:	08012231 	.word	0x08012231 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010184:	20006da4 	.word	0x20006da4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010188:	080129a8 	.word	0x080129a8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801018c:	080135c7 	.word	0x080135c7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010190:	080135d1 	.word	0x080135d1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010194:	20000114 	.word	0x20000114 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801009c:	4b11      	ldr	r3, [pc, #68]	; (80100e4 <http_recv+0x2f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801009e:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100a0:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100a2:	e0bb      	b.n	801021c <http_recv+0x42c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100a4:	20006d80 	.word	0x20006d80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100a8:	200084d9 	.word	0x200084d9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100ac:	080134c4 	.word	0x080134c4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100b0:	080134ca 	.word	0x080134ca 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100b4:	080134ce 	.word	0x080134ce 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100b8:	080134da 	.word	0x080134da 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100bc:	080134de 	.word	0x080134de 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100c0:	0801025d 	.word	0x0801025d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100c4:	080134e9 	.word	0x080134e9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100c8:	e000ed00 	.word	0xe000ed00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100cc:	05fa0004 	.word	0x05fa0004 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100d0:	080134f9 	.word	0x080134f9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100d4:	080134fd 	.word	0x080134fd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100d8:	200084d8 	.word	0x200084d8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100dc:	0801350a 	.word	0x0801350a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100e0:	08013516 	.word	0x08013516 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100e4:	20006d9c 	.word	0x20006d9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100e8:	08020000 	.word	0x08020000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100ec:	20006d98 	.word	0x20006d98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100f0:	20006da0 	.word	0x20006da0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100f4:	20006d88 	.word	0x20006d88 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100f8:	08012192 	.word	0x08012192 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80100fc:	20006da4 	.word	0x20006da4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010100:	08012908 	.word	0x08012908 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010104:	08013527 	.word	0x08013527 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010108:	08013531 	.word	0x08013531 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801010c:	20000114 	.word	0x20000114 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (FilenameOffset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              while((*(data+FilenameOffset + i)!=0x22 )&&(i<13)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filename[i] = *(data+FilenameOffset + i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010198:	a902      	add	r1, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801019a:	545a      	strb	r2, [r3, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010110:	a902      	add	r1, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010112:	545a      	strb	r2, [r3, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801019c:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010114:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param err: LwIP error code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* goback.cgi - возврат в основную прошивку */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* upload.cgi - загрузка новой прошивки */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801019e:	eb0b 0203 	add.w	r2, fp, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010116:	eb0b 0203 	add.w	r2, fp, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (FilenameOffset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              while((*(data+FilenameOffset + i)!=0x22 )&&(i<13)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101a2:	7a92      	ldrb	r2, [r2, #10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101a4:	2a22      	cmp	r2, #34	; 0x22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101a6:	d001      	beq.n	80101ac <http_recv+0x334> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101a8:	2b0d      	cmp	r3, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101aa:	d1f5      	bne.n	8010198 <http_recv+0x320> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801011a:	7a92      	ldrb	r2, [r2, #10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801011c:	2a22      	cmp	r2, #34	; 0x22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801011e:	d001      	beq.n	8010124 <http_recv+0x334> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010120:	2b0d      	cmp	r3, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010122:	d1f5      	bne.n	8010110 <http_recv+0x320> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filename[i] = *(data+FilenameOffset + i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              filename[i] = 0x0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101ac:	a906      	add	r1, sp, #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101ae:	18ca      	adds	r2, r1, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101b0:	f04f 0900 	mov.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101b4:	f802 9c10 	strb.w	r9, [r2, #-16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010124:	a906      	add	r1, sp, #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010126:	18ca      	adds	r2, r1, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010128:	f04f 0900 	mov.w	r9, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801012c:	f802 9c10 	strb.w	r9, [r2, #-16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (i==0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101b8:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101ba:	d09d      	beq.n	80100f8 <http_recv+0x280> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010130:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010132:	d09d      	beq.n	8010070 <http_recv+0x280> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              return ERR_OK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART("\n\r  IAP using HTTP  \n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sprintf(debugMsg, "File: %s\n\r",filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101bc:	aa02      	add	r2, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101be:	493b      	ldr	r1, [pc, #236]	; (80102ac <http_recv+0x434>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101c0:	483b      	ldr	r0, [pc, #236]	; (80102b0 <http_recv+0x438>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101c2:	f001 fa7d 	bl	80116c0 <tfp_sprintf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010134:	aa02      	add	r2, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010136:	493b      	ldr	r1, [pc, #236]	; (8010224 <http_recv+0x434>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010138:	483b      	ldr	r0, [pc, #236]	; (8010228 <http_recv+0x438>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801013a:	f001 fa7d 	bl	8011638 <tfp_sprintf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART(debugMsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART("State: Erasing...\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            TotalData =0 ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101c6:	4b3b      	ldr	r3, [pc, #236]	; (80102b4 <http_recv+0x43c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101c8:	f8c3 9000 	str.w	r9, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801013e:	4b3b      	ldr	r3, [pc, #236]	; (801022c <http_recv+0x43c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010140:	f8c3 9000 	str.w	r9, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* init flash */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            FLASH_If_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101cc:	f7ff fa3e 	bl	800f64c <FLASH_If_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010144:	f7ff fa82 	bl	800f64c <FLASH_If_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* erase user flash area */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            FlashWriteAddress = USER_FLASH_FIRST_PAGE_ADDRESS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101d0:	4a39      	ldr	r2, [pc, #228]	; (80102b8 <http_recv+0x440>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101d2:	4b3a      	ldr	r3, [pc, #232]	; (80102bc <http_recv+0x444>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101d4:	e002      	b.n	80101dc <http_recv+0x364> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010148:	4a39      	ldr	r2, [pc, #228]	; (8010230 <http_recv+0x440>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801014a:	4b3a      	ldr	r3, [pc, #232]	; (8010234 <http_recv+0x444>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801014c:	e002      	b.n	8010154 <http_recv+0x364> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART("\n\rState: Programming..\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          /* DataFlag >1 => the packet is data only  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          else  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            TotalReceived +=len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101d6:	4b3a      	ldr	r3, [pc, #232]	; (80102c0 <http_recv+0x448>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101d8:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101da:	4442      	add	r2, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101dc:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801014e:	4b3a      	ldr	r3, [pc, #232]	; (8010238 <http_recv+0x448>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010150:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010152:	4442      	add	r2, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010154:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          ptr = (char*)(data + DataOffset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          len-= DataOffset; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          /* update Total data received counter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          TotalData +=len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101de:	4b35      	ldr	r3, [pc, #212]	; (80102b4 <http_recv+0x43c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101e0:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010156:	4b35      	ldr	r3, [pc, #212]	; (801022c <http_recv+0x43c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010158:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            TotalReceived +=len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          ptr = (char*)(data + DataOffset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          len-= DataOffset; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101e2:	ebca 0108 	rsb	r1, sl, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801015a:	ebca 0108 	rsb	r1, sl, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          /* update Total data received counter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          TotalData +=len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101e6:	188a      	adds	r2, r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101e8:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801015e:	188a      	adds	r2, r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010160:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          /* check if last data packet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          if (TotalReceived == size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101ea:	4b36      	ldr	r3, [pc, #216]	; (80102c4 <http_recv+0x44c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101ec:	4a34      	ldr	r2, [pc, #208]	; (80102c0 <http_recv+0x448>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101ee:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101f0:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101f2:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010162:	4b36      	ldr	r3, [pc, #216]	; (801023c <http_recv+0x44c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010164:	4a34      	ldr	r2, [pc, #208]	; (8010238 <http_recv+0x448>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010166:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010168:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801016a:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          else  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            TotalReceived +=len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          ptr = (char*)(data + DataOffset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101f4:	eb06 000a 	add.w	r0, r6, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801016c:	eb06 000a 	add.w	r0, r6, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          /* update Total data received counter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          TotalData +=len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          /* check if last data packet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          if (TotalReceived == size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101f8:	d13d      	bne.n	8010276 <http_recv+0x3fe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010170:	d13d      	bne.n	80101ee <http_recv+0x3fe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            len -= i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            TotalData -= i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* write data in Flash */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101fa:	b109      	cbz	r1, 8010200 <http_recv+0x388> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010172:	b109      	cbz	r1, 8010178 <http_recv+0x388> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              IAP_HTTP_writedata(ptr,len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80101fc:	f7ff fdee 	bl	800fddc <IAP_HTTP_writedata> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010174:	f7ff fdee 	bl	800fd54 <IAP_HTTP_writedata> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DataFlag=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010200:	4b31      	ldr	r3, [pc, #196]	; (80102c8 <http_recv+0x450>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010178:	4b31      	ldr	r3, [pc, #196]	; (8010240 <http_recv+0x450>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            htmlpage = UploadDonePage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010202:	4e32      	ldr	r6, [pc, #200]	; (80102cc <http_recv+0x454>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801017a:	4e32      	ldr	r6, [pc, #200]	; (8010244 <http_recv+0x454>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART("Tot bytes Received:\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sprintf(debugMsg, "%d bytes \n\r",TotalData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010204:	4932      	ldr	r1, [pc, #200]	; (80102d0 <http_recv+0x458>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010206:	482a      	ldr	r0, [pc, #168]	; (80102b0 <http_recv+0x438>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801017c:	4932      	ldr	r1, [pc, #200]	; (8010248 <http_recv+0x458>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801017e:	482a      	ldr	r0, [pc, #168]	; (8010228 <http_recv+0x438>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* write data in Flash */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              IAP_HTTP_writedata(ptr,len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DataFlag=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010208:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801020a:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010180:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010182:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            htmlpage = UploadDonePage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART("Tot bytes Received:\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sprintf(debugMsg, "%d bytes \n\r",TotalData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801020c:	4b29      	ldr	r3, [pc, #164]	; (80102b4 <http_recv+0x43c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010184:	4b29      	ldr	r3, [pc, #164]	; (801022c <http_recv+0x43c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* write data in Flash */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              IAP_HTTP_writedata(ptr,len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DataFlag=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            htmlpage = UploadDonePage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801020e:	f04f 0802 	mov.w	r8, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010186:	f04f 0802 	mov.w	r8, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART("Tot bytes Received:\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sprintf(debugMsg, "%d bytes \n\r",TotalData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010212:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801018a:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /* write data in Flash */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              IAP_HTTP_writedata(ptr,len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DataFlag=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            htmlpage = UploadDonePage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010214:	f886 8000 	strb.w	r8, [r6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801018c:	f886 8000 	strb.w	r8, [r6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART("Tot bytes Received:\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sprintf(debugMsg, "%d bytes \n\r",TotalData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010218:	f001 fa52 	bl	80116c0 <tfp_sprintf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010190:	f001 fa52 	bl	8011638 <tfp_sprintf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART(debugMsg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PRINT_USART("State: Prog Finished \n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   /* Проверяем CRC */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    		   if (CRC_Read() == CRC_Calcucate()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801021c:	f7ff f9fc 	bl	800f618 <CRC_Read> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010220:	4681      	mov	r9, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010222:	f7ff f9ff 	bl	800f624 <CRC_Calcucate> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010226:	4581      	cmp	r9, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010228:	d112      	bne.n	8010250 <http_recv+0x3d8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010194:	f7ff fa40 	bl	800f618 <CRC_Read> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010198:	4681      	mov	r9, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801019a:	f7ff fa43 	bl	800f624 <CRC_Calcucate> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801019e:	4581      	cmp	r9, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101a0:	d112      	bne.n	80101c8 <http_recv+0x3d8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  			 fs_open("/success.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801022a:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801022c:	4829      	ldr	r0, [pc, #164]	; (80102d4 <http_recv+0x45c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801022e:	f7ff fdbf 	bl	800fdb0 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101a2:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101a4:	4829      	ldr	r0, [pc, #164]	; (801024c <http_recv+0x45c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101a6:	f7ff fdbf 	bl	800fd28 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010232:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010234:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101aa:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101ac:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010236:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101ae:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010238:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101b0:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   /* Проверяем CRC */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    		   if (CRC_Read() == CRC_Calcucate()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  			 fs_open("/success.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801023a:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101b2:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801023c:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801023e:	f7ff fd77 	bl	800fd30 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101b4:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101b6:	f7ff fd77 	bl	800fca8 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010242:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010244:	4924      	ldr	r1, [pc, #144]	; (80102d8 <http_recv+0x460>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010246:	f7fb fc03 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101ba:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101bc:	4924      	ldr	r1, [pc, #144]	; (8010250 <http_recv+0x460>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101be:	f7fb fc47 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 htmlpage = UploadDonePage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801024a:	f886 8000 	strb.w	r8, [r6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801024e:	e022      	b.n	8010296 <http_recv+0x41e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101c2:	f886 8000 	strb.w	r8, [r6] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101c6:	e022      	b.n	801020e <http_recv+0x41e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		     fs_open("/error.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010250:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010252:	4822      	ldr	r0, [pc, #136]	; (80102dc <http_recv+0x464>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010254:	f7ff fdac 	bl	800fdb0 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101c8:	4669      	mov	r1, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101ca:	4822      	ldr	r0, [pc, #136]	; (8010254 <http_recv+0x464>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101cc:	f7ff fdac 	bl	800fd28 <fs_open> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010258:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801025a:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101d0:	9b00      	ldr	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101d2:	6023      	str	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801025c:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101d4:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801025e:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101d6:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		     fs_open("/error.html", &file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->file = file.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              hs->left = file.len; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010260:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101d8:	6063      	str	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010262:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010264:	f7ff fd64 	bl	800fd30 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101da:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101dc:	f7ff fd64 	bl	800fca8 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 tcp_sent(pcb, http_sent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010268:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801026a:	491b      	ldr	r1, [pc, #108]	; (80102d8 <http_recv+0x460>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801026c:	f7fb fbf0 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101e0:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101e2:	491b      	ldr	r1, [pc, #108]	; (8010250 <http_recv+0x460>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101e4:	f7fb fc34 	bl	800ba50 <tcp_sent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 htmlpage = UploadErrorPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010270:	2303      	movs	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010272:	7033      	strb	r3, [r6, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010274:	e00f      	b.n	8010296 <http_recv+0x41e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101e8:	2303      	movs	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101ea:	7033      	strb	r3, [r6, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101ec:	e00f      	b.n	801020e <http_recv+0x41e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* not last data packet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* write data in flash */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if(len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010276:	b171      	cbz	r1, 8010296 <http_recv+0x41e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101ee:	b171      	cbz	r1, 801020e <http_recv+0x41e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             IAP_HTTP_writedata(ptr,len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010278:	f7ff fdb0 	bl	800fddc <IAP_HTTP_writedata> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801027c:	e00b      	b.n	8010296 <http_recv+0x41e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101f0:	f7ff fdb0 	bl	800fd54 <IAP_HTTP_writedata> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101f4:	e00b      	b.n	801020e <http_recv+0x41e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /* Bad HTTP requests */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PRINT_USART("Bad HTTP request\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801027e:	4638      	mov	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010280:	f7fb f920 	bl	800b4c4 <pbuf_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101f6:	4638      	mov	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101f8:	f7fb f964 	bl	800b4c4 <pbuf_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         close_conn(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010284:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010286:	e00a      	b.n	801029e <http_recv+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101fc:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80101fe:	e00a      	b.n	8010216 <http_recv+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* case of MSIE8 : we do not receive data in the POST packet*/  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (DataOffset == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              DataFlag++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010288:	4b0f      	ldr	r3, [pc, #60]	; (80102c8 <http_recv+0x450>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801028a:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801028c:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801028e:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010200:	4b0f      	ldr	r3, [pc, #60]	; (8010240 <http_recv+0x450>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010202:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010204:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010206:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              BrowserFlag = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010290:	4b13      	ldr	r3, [pc, #76]	; (80102e0 <http_recv+0x468>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010292:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010294:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010208:	4b13      	ldr	r3, [pc, #76]	; (8010258 <http_recv+0x468>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801020a:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801020c:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              pbuf_free(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010296:	4638      	mov	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010298:	f7fb f914 	bl	800b4c4 <pbuf_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801029c:	e002      	b.n	80102a4 <http_recv+0x42c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801020e:	4638      	mov	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010210:	f7fb f958 	bl	800b4c4 <pbuf_free> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010214:	e002      	b.n	801021c <http_recv+0x42c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (err == ERR_OK && p == NULL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* received empty frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     PRINT_USART("Received empty frame\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	close_conn(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801029e:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102a0:	f7ff fd6a 	bl	800fd78 <close_conn> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010216:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010218:	f7ff fd6a 	bl	800fcf0 <close_conn> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ERR_OK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102a4:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102a6:	b007      	add	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102a8:	e8bd 8ff0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102ac:	080135de 	.word	0x080135de 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102b0:	20008674 	.word	0x20008674 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102b4:	20006d8c 	.word	0x20006d8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102b8:	08020000 	.word	0x08020000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102bc:	20006d90 	.word	0x20006d90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102c0:	20006da0 	.word	0x20006da0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102c4:	20006da4 	.word	0x20006da4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102c8:	20006d9c 	.word	0x20006d9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102cc:	2000869c 	.word	0x2000869c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102d0:	080135e9 	.word	0x080135e9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102d4:	080135f5 	.word	0x080135f5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102d8:	080102e5 	.word	0x080102e5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102dc:	08013603 	.word	0x08013603 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102e0:	20006d98 	.word	0x20006d98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080102e4 <http_sent>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801021c:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801021e:	b007      	add	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010220:	e8bd 8ff0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010224:	0801353e 	.word	0x0801353e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010228:	200084b0 	.word	0x200084b0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801022c:	20006d8c 	.word	0x20006d8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010230:	08020000 	.word	0x08020000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010234:	20006d90 	.word	0x20006d90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010238:	20006da0 	.word	0x20006da0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801023c:	20006da4 	.word	0x20006da4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010240:	20006d9c 	.word	0x20006d9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010244:	200084d8 	.word	0x200084d8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010248:	08013549 	.word	0x08013549 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801024c:	08013555 	.word	0x08013555 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010250:	0801025d 	.word	0x0801025d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010254:	08013563 	.word	0x08013563 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010258:	20006d98 	.word	0x20006d98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0801025c <http_sent>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param pcb: pointer on tcp_pcb structure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param len 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval err : LwIP error code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_sent(void *arg, struct tcp_pcb *pcb, u16_t len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102e4:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102e6:	4603      	mov	r3, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102e8:	4608      	mov	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801025c:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801025e:	4603      	mov	r3, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010260:	4608      	mov	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct http_state *hs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs = arg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (hs->left > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102ea:	685a      	ldr	r2, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010262:	685a      	ldr	r2, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102ec:	4619      	mov	r1, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010264:	4619      	mov	r1, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static err_t http_sent(void *arg, struct tcp_pcb *pcb, u16_t len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct http_state *hs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hs = arg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (hs->left > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102ee:	b112      	cbz	r2, 80102f6 <http_sent+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010266:	b112      	cbz	r2, 801026e <http_sent+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     send_data(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102f0:	f7ff fd1e 	bl	800fd30 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102f4:	e00d      	b.n	8010312 <http_sent+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010268:	f7ff fd1e 	bl	800fca8 <send_data> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801026c:	e00d      	b.n	801028a <http_sent+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     close_conn(pcb, hs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102f6:	f7ff fd3f 	bl	800fd78 <close_conn> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801026e:	f7ff fd3f 	bl	800fcf0 <close_conn> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (htmlpage == UploadDonePage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102fa:	4b07      	ldr	r3, [pc, #28]	; (8010318 <http_sent+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102fc:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80102fe:	2b02      	cmp	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010300:	d102      	bne.n	8010308 <http_sent+0x24> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010272:	4b07      	ldr	r3, [pc, #28]	; (8010290 <http_sent+0x34>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010274:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010276:	2b02      	cmp	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010278:	d102      	bne.n	8010280 <http_sent+0x24> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  fDoneReset = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010302:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010304:	4b05      	ldr	r3, [pc, #20]	; (801031c <http_sent+0x38>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010306:	e003      	b.n	8010310 <http_sent+0x2c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801027a:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801027c:	4b05      	ldr	r3, [pc, #20]	; (8010294 <http_sent+0x38>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801027e:	e003      	b.n	8010288 <http_sent+0x2c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	else if (htmlpage == UploadErrorPage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010308:	2b03      	cmp	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801030a:	d102      	bne.n	8010312 <http_sent+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010280:	2b03      	cmp	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010282:	d102      	bne.n	801028a <http_sent+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  fErrorReset = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801030c:	4b04      	ldr	r3, [pc, #16]	; (8010320 <http_sent+0x3c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801030e:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010310:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010284:	4b04      	ldr	r3, [pc, #16]	; (8010298 <http_sent+0x3c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010286:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010288:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ERR_OK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010312:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010314:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010316:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010318:	2000869c 	.word	0x2000869c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801031c:	20006dbc 	.word	0x20006dbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010320:	20006dbb 	.word	0x20006dbb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010324 <IAP_httpd_init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801028a:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801028c:	bd08      	pop	{r3, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801028e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010290:	200084d8 	.word	0x200084d8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010294:	20006dbc 	.word	0x20006dbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010298:	20006db8 	.word	0x20006db8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0801029c <IAP_httpd_init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  intialize HTTP webserver   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_httpd_init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010324:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801029c:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct tcp_pcb *pcb; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*create new pcb*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   pcb = tcp_new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010326:	f7fb fe47 	bl	800bfb8 <tcp_new> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801029e:	f7fb fe8b 	bl	800bfb8 <tcp_new> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* bind HTTP traffic to pcb */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_bind(pcb, IP_ADDR_ANY, 80); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801032a:	2250      	movs	r2, #80	; 0x50 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102a2:	2250      	movs	r2, #80	; 0x50 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void IAP_httpd_init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct tcp_pcb *pcb; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*create new pcb*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   pcb = tcp_new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801032c:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102a4:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* bind HTTP traffic to pcb */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_bind(pcb, IP_ADDR_ANY, 80); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801032e:	4906      	ldr	r1, [pc, #24]	; (8010348 <IAP_httpd_init+0x24>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010330:	f7fb fab6 	bl	800b8a0 <tcp_bind> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102a6:	4906      	ldr	r1, [pc, #24]	; (80102c0 <IAP_httpd_init+0x24>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102a8:	f7fb fafa 	bl	800b8a0 <tcp_bind> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* start listening on port 80 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   pcb = tcp_listen(pcb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010334:	21ff      	movs	r1, #255	; 0xff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010336:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010338:	f7fb faea 	bl	800b910 <tcp_listen_with_backlog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102ac:	21ff      	movs	r1, #255	; 0xff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102ae:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102b0:	f7fb fb2e 	bl	800b910 <tcp_listen_with_backlog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* define callback function for TCP connection setup */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_accept(pcb, http_accept); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801033c:	4903      	ldr	r1, [pc, #12]	; (801034c <IAP_httpd_init+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102b4:	4903      	ldr	r1, [pc, #12]	; (80102c4 <IAP_httpd_init+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801033e:	e8bd 4010 	ldmia.w	sp!, {r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102b6:	e8bd 4010 	ldmia.w	sp!, {r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* bind HTTP traffic to pcb */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_bind(pcb, IP_ADDR_ANY, 80); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* start listening on port 80 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   pcb = tcp_listen(pcb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* define callback function for TCP connection setup */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tcp_accept(pcb, http_accept); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010342:	f7fb bb8a 	b.w	800ba5a <tcp_accept> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010346:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010348:	08011880 	.word	0x08011880 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801034c:	0800fce5 	.word	0x0800fce5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102ba:	f7fb bbce 	b.w	800ba5a <tcp_accept> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102be:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102c0:	080117f8 	.word	0x080117f8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102c4:	0800fc5d 	.word	0x0800fc5d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010350 <LwIP_Init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080102c8 <LwIP_Init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Initializes the lwIP stack 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void LwIP_Init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010350:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102c8:	b510      	push	{r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  mem_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  /* Initializes the memory pools defined by MEMP_NUM_x.*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  memp_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (sSettings.sWebParams.dhcpEnable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010352:	4c1a      	ldr	r4, [pc, #104]	; (80103bc <LwIP_Init+0x6c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102ca:	4c1a      	ldr	r4, [pc, #104]	; (8010334 <LwIP_Init+0x6c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Initializes the lwIP stack 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void LwIP_Init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010354:	b08c      	sub	sp, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102cc:	b08c      	sub	sp, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr ipaddr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr netmask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr gw; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   char str[20]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   lwip_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010356:	f7fa fddf 	bl	800af18 <lwip_init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102ce:	f7fa fe23 	bl	800af18 <lwip_init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  mem_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  /* Initializes the memory pools defined by MEMP_NUM_x.*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  memp_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (sSettings.sWebParams.dhcpEnable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801035a:	f894 302f 	ldrb.w	r3, [r4, #47]	; 0x2f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801035e:	b123      	cbz	r3, 801036a <LwIP_Init+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102d2:	f894 3032 	ldrb.w	r3, [r4, #50]	; 0x32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102d6:	b123      	cbz	r3, 80102e2 <LwIP_Init+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ipaddr.addr = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010360:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010362:	9304      	str	r3, [sp, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102d8:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102da:	9304      	str	r3, [sp, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     netmask.addr = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010364:	9305      	str	r3, [sp, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102dc:	9305      	str	r3, [sp, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     gw.addr = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010366:	9306      	str	r3, [sp, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010368:	e013      	b.n	8010392 <LwIP_Init+0x42> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102de:	9306      	str	r3, [sp, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102e0:	e013      	b.n	801030a <LwIP_Init+0x42> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	sprintf(str, " %s\n\r", sSettings.sWebTempParams.ip); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801036a:	4915      	ldr	r1, [pc, #84]	; (80103c0 <LwIP_Init+0x70>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801036c:	f104 0230 	add.w	r2, r4, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010370:	a807      	add	r0, sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010372:	f001 f9a5 	bl	80116c0 <tfp_sprintf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102e2:	4915      	ldr	r1, [pc, #84]	; (8010338 <LwIP_Init+0x70>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102e4:	f104 0233 	add.w	r2, r4, #51	; 0x33 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102e8:	a807      	add	r0, sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102ea:	f001 f9a5 	bl	8011638 <tfp_sprintf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     PRINT_USART("\n\rStatic IP address   \n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     PRINT_USART(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	ipaddr.addr = ipaddr_addr(sSettings.sWebParams.ip); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010376:	1ca0      	adds	r0, r4, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010378:	f7fe f89a 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801037c:	9004      	str	r0, [sp, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102ee:	1ca0      	adds	r0, r4, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102f0:	f7fe f8de 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102f4:	9004      	str	r0, [sp, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	netmask.addr = ipaddr_addr(sSettings.sWebParams.mask); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801037e:	f104 0020 	add.w	r0, r4, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010382:	f7fe f895 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010386:	9005      	str	r0, [sp, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102f6:	f104 0022 	add.w	r0, r4, #34	; 0x22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102fa:	f7fe f8d9 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80102fe:	9005      	str	r0, [sp, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	gw.addr = ipaddr_addr(sSettings.sWebParams.gate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010388:	f104 0011 	add.w	r0, r4, #17 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801038c:	f7fe f890 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010390:	9006      	str	r0, [sp, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010300:	f104 0012 	add.w	r0, r4, #18 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010304:	f7fe f8d4 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010308:	9006      	str	r0, [sp, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   netif_add(&netif, &ipaddr, &netmask, &gw, NULL, ðernetif_init, ðernet_input); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010392:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010394:	9300      	str	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010396:	4b0b      	ldr	r3, [pc, #44]	; (80103c4 <LwIP_Init+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010398:	480b      	ldr	r0, [pc, #44]	; (80103c8 <LwIP_Init+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801039a:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801039c:	4b0b      	ldr	r3, [pc, #44]	; (80103cc <LwIP_Init+0x7c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801039e:	a904      	add	r1, sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103a0:	9302      	str	r3, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103a2:	aa05      	add	r2, sp, #20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103a4:	ab06      	add	r3, sp, #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103a6:	f7fa ffe7 	bl	800b378 <netif_add> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801030a:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801030c:	9300      	str	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801030e:	4b0b      	ldr	r3, [pc, #44]	; (801033c <LwIP_Init+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010310:	480b      	ldr	r0, [pc, #44]	; (8010340 <LwIP_Init+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010312:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010314:	4b0b      	ldr	r3, [pc, #44]	; (8010344 <LwIP_Init+0x7c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010316:	a904      	add	r1, sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010318:	9302      	str	r3, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801031a:	aa05      	add	r2, sp, #20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801031c:	ab06      	add	r3, sp, #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801031e:	f7fb f82b 	bl	800b378 <netif_add> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   netif_set_default(&netif); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103aa:	4807      	ldr	r0, [pc, #28]	; (80103c8 <LwIP_Init+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103ac:	f7fb f812 	bl	800b3d4 <netif_set_default> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010322:	4807      	ldr	r0, [pc, #28]	; (8010340 <LwIP_Init+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010324:	f7fb f856 	bl	800b3d4 <netif_set_default> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   netif_set_up(&netif); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103b0:	4805      	ldr	r0, [pc, #20]	; (80103c8 <LwIP_Init+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103b2:	f7fb f815 	bl	800b3e0 <netif_set_up> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010328:	4805      	ldr	r0, [pc, #20]	; (8010340 <LwIP_Init+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801032a:	f7fb f859 	bl	800b3e0 <netif_set_up> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103b6:	b00c      	add	sp, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103b8:	bd10      	pop	{r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103ba:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103bc:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103c0:	080135e3 	.word	0x080135e3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103c4:	0800f549 	.word	0x0800f549 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103c8:	20008c7c 	.word	0x20008c7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103cc:	0800f255 	.word	0x0800f255 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080103d0 <LwIP_Pkt_Handle>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801032e:	b00c      	add	sp, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010330:	bd10      	pop	{r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010332:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010334:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010338:	08013543 	.word	0x08013543 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801033c:	0800f549 	.word	0x0800f549 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010340:	20008ab8 	.word	0x20008ab8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010344:	0800f255 	.word	0x0800f255 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010348 <LwIP_Pkt_Handle>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void LwIP_Pkt_Handle(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Read a received packet from the Ethernet buffers and send it to the lwIP for handling */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ethernetif_input(&netif); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103d0:	4801      	ldr	r0, [pc, #4]	; (80103d8 <LwIP_Pkt_Handle+0x8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103d2:	f7ff b86b 	b.w	800f4ac <ethernetif_input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103d6:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103d8:	20008c7c 	.word	0x20008c7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010348:	4801      	ldr	r0, [pc, #4]	; (8010350 <LwIP_Pkt_Handle+0x8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801034a:	f7ff b8af 	b.w	800f4ac <ethernetif_input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801034e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010350:	20008ab8 	.word	0x20008ab8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080103dc <LwIP_DHCP_Process_Handle>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010354 <LwIP_DHCP_Process_Handle>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  LwIP_DHCP_Process_Handle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void LwIP_DHCP_Process_Handle() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103dc:	b530      	push	{r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010354:	b530      	push	{r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr ipaddr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr netmask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr gw; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   switch (DHCP_state) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103de:	4d1c      	ldr	r5, [pc, #112]	; (8010450 <LwIP_DHCP_Process_Handle+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103e0:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010356:	4d1c      	ldr	r5, [pc, #112]	; (80103c8 <LwIP_DHCP_Process_Handle+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010358:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  LwIP_DHCP_Process_Handle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void LwIP_DHCP_Process_Handle() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103e2:	b085      	sub	sp, #20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801035a:	b085      	sub	sp, #20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr ipaddr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr netmask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct ip_addr gw; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   switch (DHCP_state) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103e4:	b113      	cbz	r3, 80103ec <LwIP_DHCP_Process_Handle+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103e6:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103e8:	d12f      	bne.n	801044a <LwIP_DHCP_Process_Handle+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103ea:	e005      	b.n	80103f8 <LwIP_DHCP_Process_Handle+0x1c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801035c:	b113      	cbz	r3, 8010364 <LwIP_DHCP_Process_Handle+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801035e:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010360:	d12f      	bne.n	80103c2 <LwIP_DHCP_Process_Handle+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010362:	e005      	b.n	8010370 <LwIP_DHCP_Process_Handle+0x1c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     case DHCP_START: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dhcp_start(&netif); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103ec:	4819      	ldr	r0, [pc, #100]	; (8010454 <LwIP_DHCP_Process_Handle+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103ee:	f7fa fd3f 	bl	800ae70 <dhcp_start> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010364:	4819      	ldr	r0, [pc, #100]	; (80103cc <LwIP_DHCP_Process_Handle+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010366:	f7fa fd83 	bl	800ae70 <dhcp_start> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DHCP_state = DHCP_WAIT_ADDRESS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103f2:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103f4:	702b      	strb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801036a:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801036c:	702b      	strb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  PRINT_USART("\n\rLooking for DHCP server please wait...\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103f6:	e028      	b.n	801044a <LwIP_DHCP_Process_Handle+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801036e:	e028      	b.n	80103c2 <LwIP_DHCP_Process_Handle+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     case DHCP_WAIT_ADDRESS: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ipaddr = netif.ip_addr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103f8:	4c16      	ldr	r4, [pc, #88]	; (8010454 <LwIP_DHCP_Process_Handle+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010370:	4c16      	ldr	r4, [pc, #88]	; (80103cc <LwIP_DHCP_Process_Handle+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       netmask = netif.netmask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103fa:	68a2      	ldr	r2, [r4, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010372:	68a2      	ldr	r2, [r4, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     case DHCP_WAIT_ADDRESS: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ipaddr = netif.ip_addr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103fc:	6863      	ldr	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010374:	6863      	ldr	r3, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       netmask = netif.netmask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80103fe:	9202      	str	r2, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010376:	9202      	str	r2, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       gw = netif.gw; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010400:	68e2      	ldr	r2, [r4, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010378:	68e2      	ldr	r2, [r4, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     case DHCP_WAIT_ADDRESS: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  ipaddr = netif.ip_addr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010402:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801037a:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       netmask = netif.netmask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       gw = netif.gw; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010404:	9203      	str	r2, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801037c:	9203      	str	r2, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (ipaddr.addr != 0)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010406:	b12b      	cbz	r3, 8010414 <LwIP_DHCP_Process_Handle+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801037e:	b12b      	cbz	r3, 801038c <LwIP_DHCP_Process_Handle+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DHCP_state = DHCP_ADDRESS_ASSIGNED;	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010408:	2302      	movs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010380:	2302      	movs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Stop DHCP */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dhcp_stop(&netif); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801040a:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010382:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       netmask = netif.netmask; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       gw = netif.gw; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (ipaddr.addr != 0)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DHCP_state = DHCP_ADDRESS_ASSIGNED;	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801040c:	702b      	strb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010384:	702b      	strb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Stop DHCP */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dhcp_stop(&netif); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801040e:	f7fa fd17 	bl	800ae40 <dhcp_stop> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010412:	e01a      	b.n	801044a <LwIP_DHCP_Process_Handle+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010386:	f7fa fd5b 	bl	800ae40 <dhcp_stop> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801038a:	e01a      	b.n	80103c2 <LwIP_DHCP_Process_Handle+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		PRINT_USART(ipaddr_ntoa(&gw)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		PRINT_USART("\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* DHCP timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (netif.dhcp->tries > MAX_DHCP_TRIES)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010414:	6a23      	ldr	r3, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010416:	7b5b      	ldrb	r3, [r3, #13] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010418:	2b04      	cmp	r3, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801041a:	d916      	bls.n	801044a <LwIP_DHCP_Process_Handle+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801038c:	6a23      	ldr	r3, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801038e:	7b5b      	ldrb	r3, [r3, #13] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010390:	2b04      	cmp	r3, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010392:	d916      	bls.n	80103c2 <LwIP_DHCP_Process_Handle+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           DHCP_state = DHCP_TIMEOUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801041c:	2303      	movs	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010394:	2303      	movs	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* Stop DHCP */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           dhcp_stop(&netif); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801041e:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010396:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* DHCP timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (netif.dhcp->tries > MAX_DHCP_TRIES)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           DHCP_state = DHCP_TIMEOUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010420:	702b      	strb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010398:	702b      	strb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /* Stop DHCP */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           dhcp_stop(&netif); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010422:	f7fa fd0d 	bl	800ae40 <dhcp_stop> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801039a:	f7fa fd51 	bl	800ae40 <dhcp_stop> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //		  ipaddr.addr = ipaddr_addr(sSettings.sWebTempParams.ip); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //	      netmask.addr = ipaddr_addr(sSettings.sWebTempParams.mask); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //	      gw.addr = ipaddr_addr(sSettings.sWebTempParams.gate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ipaddr.addr = ipaddr_addr("192.168.14.48"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010426:	480c      	ldr	r0, [pc, #48]	; (8010458 <LwIP_DHCP_Process_Handle+0x7c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010428:	f7fe f842 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801042c:	9001      	str	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801039e:	480c      	ldr	r0, [pc, #48]	; (80103d0 <LwIP_DHCP_Process_Handle+0x7c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103a0:	f7fe f886 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103a4:	9001      	str	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           netmask.addr = ipaddr_addr("255.255.255.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801042e:	480b      	ldr	r0, [pc, #44]	; (801045c <LwIP_DHCP_Process_Handle+0x80>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010430:	f7fe f83e 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010434:	9002      	str	r0, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103a6:	480b      	ldr	r0, [pc, #44]	; (80103d4 <LwIP_DHCP_Process_Handle+0x80>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103a8:	f7fe f882 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103ac:	9002      	str	r0, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           gw.addr = ipaddr_addr("192.168.14.1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010436:	480a      	ldr	r0, [pc, #40]	; (8010460 <LwIP_DHCP_Process_Handle+0x84>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010438:	f7fe f83a 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103ae:	480a      	ldr	r0, [pc, #40]	; (80103d8 <LwIP_DHCP_Process_Handle+0x84>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103b0:	f7fe f87e 	bl	800e4b0 <ipaddr_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           netif_set_addr(&netif, &ipaddr , &netmask, &gw); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801043c:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103b4:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //	      netmask.addr = ipaddr_addr(sSettings.sWebTempParams.mask); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //	      gw.addr = ipaddr_addr(sSettings.sWebTempParams.gate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ipaddr.addr = ipaddr_addr("192.168.14.48"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           netmask.addr = ipaddr_addr("255.255.255.0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           gw.addr = ipaddr_addr("192.168.14.1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801043e:	9003      	str	r0, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103b6:	9003      	str	r0, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           netif_set_addr(&netif, &ipaddr , &netmask, &gw); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010440:	aa02      	add	r2, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010442:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010444:	ab03      	add	r3, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010446:	f7fa ff89 	bl	800b35c <netif_set_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103b8:	aa02      	add	r2, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103ba:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103bc:	ab03      	add	r3, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103be:	f7fa ffcd 	bl	800b35c <netif_set_addr> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     default: break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801044a:	b005      	add	sp, #20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801044c:	bd30      	pop	{r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801044e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010450:	20006da8 	.word	0x20006da8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010454:	20008c7c 	.word	0x20008c7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010458:	08013624 	.word	0x08013624 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801045c:	080118a8 	.word	0x080118a8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010460:	08013632 	.word	0x08013632 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010464 <LwIP_Periodic_Handle>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103c2:	b005      	add	sp, #20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103c4:	bd30      	pop	{r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103c6:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103c8:	20006da8 	.word	0x20006da8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103cc:	20008ab8 	.word	0x20008ab8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103d0:	08013584 	.word	0x08013584 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103d4:	08011820 	.word	0x08011820 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103d8:	08013592 	.word	0x08013592 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080103dc <LwIP_Periodic_Handle>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  LwIP periodic tasks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  localtime the current LocalTime value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void LwIP_Periodic_Handle(__IO uint32_t localtime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010464:	b507      	push	{r0, r1, r2, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103dc:	b507      	push	{r0, r1, r2, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (sSettings.sWebParams.dhcpEnable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010466:	4b08      	ldr	r3, [pc, #32]	; (8010488 <LwIP_Periodic_Handle+0x24>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103de:	4b08      	ldr	r3, [pc, #32]	; (8010400 <LwIP_Periodic_Handle+0x24>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  LwIP periodic tasks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  localtime the current LocalTime value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void LwIP_Periodic_Handle(__IO uint32_t localtime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010468:	9001      	str	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103e0:	9001      	str	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (sSettings.sWebParams.dhcpEnable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801046a:	f893 302f 	ldrb.w	r3, [r3, #47]	; 0x2f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801046e:	b133      	cbz	r3, 801047e <LwIP_Periodic_Handle+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103e2:	f893 3032 	ldrb.w	r3, [r3, #50]	; 0x32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103e6:	b133      	cbz	r3, 80103f6 <LwIP_Periodic_Handle+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Fine DHCP periodic process every 500ms */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if ((DHCP_state != DHCP_ADDRESS_ASSIGNED)&&(DHCP_state != DHCP_TIMEOUT)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010470:	4b06      	ldr	r3, [pc, #24]	; (801048c <LwIP_Periodic_Handle+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010472:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010474:	3b02      	subs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010476:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010478:	d901      	bls.n	801047e <LwIP_Periodic_Handle+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103e8:	4b06      	ldr	r3, [pc, #24]	; (8010404 <LwIP_Periodic_Handle+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103ea:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103ec:	3b02      	subs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103ee:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103f0:	d901      	bls.n	80103f6 <LwIP_Periodic_Handle+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* process DHCP state machine */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LwIP_DHCP_Process_Handle();     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801047a:	f7ff ffaf 	bl	80103dc <LwIP_DHCP_Process_Handle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103f2:	f7ff ffaf 	bl	8010354 <LwIP_DHCP_Process_Handle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sys_check_timeouts(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801047e:	b003      	add	sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010480:	f85d eb04 	ldr.w	lr, [sp], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103f6:	b003      	add	sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103f8:	f85d eb04 	ldr.w	lr, [sp], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* process DHCP state machine */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LwIP_DHCP_Process_Handle();     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sys_check_timeouts(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010484:	f7fd bc0e 	b.w	800dca4 <sys_check_timeouts> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010488:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801048c:	20006da8 	.word	0x20006da8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80103fc:	f7fd bc52 	b.w	800dca4 <sys_check_timeouts> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010400:	2000838c 	.word	0x2000838c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010404:	20006da8 	.word	0x20006da8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010490 <ETH_BSP_Config>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010408 <ETH_BSP_Config>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  ETH_BSP_Config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_BSP_Config(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010490:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010408:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   volatile uint32_t i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitTypeDef GPIO_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable GPIOs clocks */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010492:	2007      	movs	r0, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801040a:	2007      	movs	r0, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  ETH_BSP_Config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_BSP_Config(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010494:	b0b2      	sub	sp, #200	; 0xc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801040c:	b0b2      	sub	sp, #200	; 0xc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   volatile uint32_t i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitTypeDef GPIO_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable GPIOs clocks */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010496:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010498:	f7f9 fd7c 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801040e:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010410:	f7f9 fdc0 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	                       | RCC_AHB1Periph_GPIOC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable SYSCFG clock */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801049c:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801049e:	f44f 4080 	mov.w	r0, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104a2:	f7f9 fd8f 	bl	8009fc4 <RCC_APB2PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010414:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010416:	f44f 4080 	mov.w	r0, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801041a:	f7f9 fdd3 	bl	8009fc4 <RCC_APB2PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* MII/RMII Media interface selection --------------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SYSCFG_ETH_MediaInterfaceConfig(SYSCFG_ETH_MediaInterface_RMII); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104a6:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104a8:	f7f9 fdc4 	bl	800a034 <SYSCFG_ETH_MediaInterfaceConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801041e:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010420:	f7f9 fe08 	bl	800a034 <SYSCFG_ETH_MediaInterfaceConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ETH_RST_PIN     -------> PE2  - замена на PE13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PA1,PA2 and PA7 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104ac:	2386      	movs	r3, #134	; 0x86 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010424:	2386      	movs	r3, #134	; 0x86 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104ae:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010426:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PA1,PA2 and PA7 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104b0:	2502      	movs	r5, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010428:	2502      	movs	r5, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ETH_RST_PIN     -------> PE2  - замена на PE13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PA1,PA2 and PA7 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104b2:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801042a:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOA, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104b4:	485c      	ldr	r0, [pc, #368]	; (8010628 <ETH_BSP_Config+0x198>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801042c:	485c      	ldr	r0, [pc, #368]	; (80105a0 <ETH_BSP_Config+0x198>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PA1,PA2 and PA7 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104b6:	f88d 5008 	strb.w	r5, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801042e:	f88d 5008 	strb.w	r5, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PA1,PA2 and PA7 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104ba:	2303      	movs	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010432:	2303      	movs	r3, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOA, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104bc:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010434:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PA1,PA2 and PA7 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104be:	f88d 3009 	strb.w	r3, [sp, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010436:	f88d 3009 	strb.w	r3, [sp, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104c2:	f88d 400a 	strb.w	r4, [sp, #10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801043a:	f88d 400a 	strb.w	r4, [sp, #10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104c6:	f88d 400b 	strb.w	r4, [sp, #11] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801043e:	f88d 400b 	strb.w	r4, [sp, #11] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOA, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104ca:	f7f9 fcb1 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010442:	f7f9 fcf5 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104ce:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104d0:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104d2:	4855      	ldr	r0, [pc, #340]	; (8010628 <ETH_BSP_Config+0x198>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104d4:	f7f9 fcfb 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010446:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010448:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801044a:	4855      	ldr	r0, [pc, #340]	; (80105a0 <ETH_BSP_Config+0x198>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801044c:	f7f9 fd3f 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104d8:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104da:	4853      	ldr	r0, [pc, #332]	; (8010628 <ETH_BSP_Config+0x198>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104dc:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104de:	f7f9 fcf6 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010450:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010452:	4853      	ldr	r0, [pc, #332]	; (80105a0 <ETH_BSP_Config+0x198>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010454:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010456:	f7f9 fd3a 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104e2:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104e4:	2107      	movs	r1, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104e6:	4850      	ldr	r0, [pc, #320]	; (8010628 <ETH_BSP_Config+0x198>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104e8:	f7f9 fcf1 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801045a:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801045c:	2107      	movs	r1, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801045e:	4850      	ldr	r0, [pc, #320]	; (80105a0 <ETH_BSP_Config+0x198>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010460:	f7f9 fd35 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PB10,PB11,PB12 and PB13 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = /* GPIO_Pin_10 | */ GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104ec:	f44f 5360 	mov.w	r3, #14336	; 0x3800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010464:	f44f 5360 	mov.w	r3, #14336	; 0x3800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOB, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104f0:	484e      	ldr	r0, [pc, #312]	; (801062c <ETH_BSP_Config+0x19c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010468:	484e      	ldr	r0, [pc, #312]	; (80105a4 <ETH_BSP_Config+0x19c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PB10,PB11,PB12 and PB13 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = /* GPIO_Pin_10 | */ GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104f2:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801046a:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOB, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104f4:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104f6:	f7f9 fc9b 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801046c:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801046e:	f7f9 fcdf 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //GPIO_PinAFConfig(GPIOB, GPIO_PinSource10, GPIO_AF_ETH);	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104fa:	210b      	movs	r1, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104fc:	460a      	mov	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80104fe:	484b      	ldr	r0, [pc, #300]	; (801062c <ETH_BSP_Config+0x19c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010500:	f7f9 fce5 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010472:	210b      	movs	r1, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010474:	460a      	mov	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010476:	484b      	ldr	r0, [pc, #300]	; (80105a4 <ETH_BSP_Config+0x19c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010478:	f7f9 fd29 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010504:	210c      	movs	r1, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010506:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010508:	4848      	ldr	r0, [pc, #288]	; (801062c <ETH_BSP_Config+0x19c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801050a:	f7f9 fce0 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801047c:	210c      	movs	r1, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801047e:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010480:	4848      	ldr	r0, [pc, #288]	; (80105a4 <ETH_BSP_Config+0x19c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010482:	f7f9 fd24 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801050e:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010510:	210d      	movs	r1, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010512:	4846      	ldr	r0, [pc, #280]	; (801062c <ETH_BSP_Config+0x19c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010514:	f7f9 fcdb 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010486:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010488:	210d      	movs	r1, #13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801048a:	4846      	ldr	r0, [pc, #280]	; (80105a4 <ETH_BSP_Config+0x19c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801048c:	f7f9 fd1f 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PC1, PC4 and PC5 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010518:	2332      	movs	r3, #50	; 0x32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010490:	2332      	movs	r3, #50	; 0x32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOC, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801051a:	4845      	ldr	r0, [pc, #276]	; (8010630 <ETH_BSP_Config+0x1a0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010492:	4845      	ldr	r0, [pc, #276]	; (80105a8 <ETH_BSP_Config+0x1a0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure PC1, PC4 and PC5 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801051c:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010494:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOC, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801051e:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010520:	f7f9 fc86 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010496:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010498:	f7f9 fcca 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOC, GPIO_PinSource1, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010524:	4842      	ldr	r0, [pc, #264]	; (8010630 <ETH_BSP_Config+0x1a0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010526:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010528:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801052a:	f7f9 fcd0 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801049c:	4842      	ldr	r0, [pc, #264]	; (80105a8 <ETH_BSP_Config+0x1a0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801049e:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104a0:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104a2:	f7f9 fd14 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOC, GPIO_PinSource4, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801052e:	4840      	ldr	r0, [pc, #256]	; (8010630 <ETH_BSP_Config+0x1a0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010530:	2104      	movs	r1, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010532:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010534:	f7f9 fccb 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104a6:	4840      	ldr	r0, [pc, #256]	; (80105a8 <ETH_BSP_Config+0x1a0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104a8:	2104      	movs	r1, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104aa:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104ac:	f7f9 fd0f 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOC, GPIO_PinSource5, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010538:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801053a:	483d      	ldr	r0, [pc, #244]	; (8010630 <ETH_BSP_Config+0x1a0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801053c:	2105      	movs	r1, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801053e:	f7f9 fcc6 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104b0:	220b      	movs	r2, #11 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104b2:	483d      	ldr	r0, [pc, #244]	; (80105a8 <ETH_BSP_Config+0x1a0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104b4:	2105      	movs	r1, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104b6:	f7f9 fd0a 	bl	8009ece <GPIO_PinAFConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure the PHY RST  pin */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010542:	f44f 5600 	mov.w	r6, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104ba:	f44f 5600 	mov.w	r6, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010546:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104be:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOE, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010548:	483a      	ldr	r0, [pc, #232]	; (8010634 <ETH_BSP_Config+0x1a4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104c0:	483a      	ldr	r0, [pc, #232]	; (80105ac <ETH_BSP_Config+0x1a4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOC, GPIO_PinSource4, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOC, GPIO_PinSource5, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure the PHY RST  pin */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801054a:	f88d 3008 	strb.w	r3, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104c2:	f88d 3008 	strb.w	r3, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOE, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801054e:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104c6:	a901      	add	r1, sp, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure the PHY RST  pin */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010550:	f88d 300b 	strb.w	r3, [sp, #11] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104c8:	f88d 300b 	strb.w	r3, [sp, #11] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOC, GPIO_PinSource1, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOC, GPIO_PinSource4, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_PinAFConfig(GPIOC, GPIO_PinSource5, GPIO_AF_ETH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure the PHY RST  pin */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010554:	9601      	str	r6, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104cc:	9601      	str	r6, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010556:	f88d 400a 	strb.w	r4, [sp, #10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104ce:	f88d 400a 	strb.w	r4, [sp, #10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801055a:	f88d 5009 	strb.w	r5, [sp, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104d2:	f88d 5009 	strb.w	r5, [sp, #9] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_Init(GPIOE, &GPIO_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801055e:	f7f9 fc67 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104d6:	f7f9 fcab 	bl	8009e30 <GPIO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_ResetBits(GPIOE, GPIO_Pin_13);	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010562:	4834      	ldr	r0, [pc, #208]	; (8010634 <ETH_BSP_Config+0x1a4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010564:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010566:	f7f9 fcb0 	bl	8009eca <GPIO_ResetBits> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104da:	4834      	ldr	r0, [pc, #208]	; (80105ac <ETH_BSP_Config+0x1a4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104dc:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104de:	f7f9 fcf4 	bl	8009eca <GPIO_ResetBits> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (i = 0; i < 20000; i++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801056a:	9400      	str	r4, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801056c:	f644 631f 	movw	r3, #19999	; 0x4e1f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010570:	e002      	b.n	8010578 <ETH_BSP_Config+0xe8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010572:	9a00      	ldr	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010574:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010576:	9200      	str	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010578:	9a00      	ldr	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801057a:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801057c:	d9f9      	bls.n	8010572 <ETH_BSP_Config+0xe2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104e2:	9400      	str	r4, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104e4:	f644 631f 	movw	r3, #19999	; 0x4e1f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104e8:	e002      	b.n	80104f0 <ETH_BSP_Config+0xe8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104ea:	9a00      	ldr	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104ec:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104ee:	9200      	str	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104f0:	9a00      	ldr	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104f2:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104f4:	d9f9      	bls.n	80104ea <ETH_BSP_Config+0xe2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPIO_SetBits(GPIOE, GPIO_Pin_13); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801057e:	482d      	ldr	r0, [pc, #180]	; (8010634 <ETH_BSP_Config+0x1a4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010580:	f44f 5100 	mov.w	r1, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010584:	f7f9 fc9f 	bl	8009ec6 <GPIO_SetBits> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104f6:	482d      	ldr	r0, [pc, #180]	; (80105ac <ETH_BSP_Config+0x1a4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104f8:	f44f 5100 	mov.w	r1, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80104fc:	f7f9 fce3 	bl	8009ec6 <GPIO_SetBits> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (i = 0; i < 20000; i++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010588:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801058a:	9300      	str	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801058c:	f644 631f 	movw	r3, #19999	; 0x4e1f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010590:	e002      	b.n	8010598 <ETH_BSP_Config+0x108> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010592:	9a00      	ldr	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010594:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010596:	9200      	str	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010598:	9a00      	ldr	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801059a:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801059c:	d9f9      	bls.n	8010592 <ETH_BSP_Config+0x102> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010500:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010502:	9300      	str	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010504:	f644 631f 	movw	r3, #19999	; 0x4e1f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010508:	e002      	b.n	8010510 <ETH_BSP_Config+0x108> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801050a:	9a00      	ldr	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801050c:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801050e:	9200      	str	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010510:	9a00      	ldr	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010512:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010514:	d9f9      	bls.n	801050a <ETH_BSP_Config+0x102> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void ETH_MACDMA_Config(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitTypeDef ETH_InitStructure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable ETHERNET clock  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_ETH_MAC | RCC_AHB1Periph_ETH_MAC_Tx | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801059e:	f04f 6060 	mov.w	r0, #234881024	; 0xe000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105a2:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105a4:	f7f9 fcf6 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010516:	f04f 6060 	mov.w	r0, #234881024	; 0xe000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801051a:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801051c:	f7f9 fd3a 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          RCC_AHB1Periph_ETH_MAC_Rx, ENABLE);                                              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Reset ETHERNET on AHB Bus */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DeInit(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105a8:	f000 f858 	bl	801065c <ETH_DeInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010520:	f000 f858 	bl	80105d4 <ETH_DeInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Software reset */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_SoftwareReset(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105ac:	f000 f9ec 	bl	8010988 <ETH_SoftwareReset> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010524:	f000 f9ec 	bl	8010900 <ETH_SoftwareReset> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Wait for software reset */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   while (ETH_GetSoftwareResetStatus() == SET); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105b0:	f000 f9f2 	bl	8010998 <ETH_GetSoftwareResetStatus> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105b4:	2801      	cmp	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105b6:	d0fb      	beq.n	80105b0 <ETH_BSP_Config+0x120> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010528:	f000 f9f2 	bl	8010910 <ETH_GetSoftwareResetStatus> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801052c:	2801      	cmp	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801052e:	d0fb      	beq.n	8010528 <ETH_BSP_Config+0x120> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* ETHERNET Configuration --------------------------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Call ETH_StructInit if you don't like to configure all ETH_InitStructure parameter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_StructInit(Ð_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105b8:	a803      	add	r0, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105ba:	f000 f85c 	bl	8010676 <ETH_StructInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010530:	a803      	add	r0, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010532:	f000 f85c 	bl	80105ee <ETH_StructInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //  ETH_InitStructure.ETH_Speed = ETH_Speed_10M; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //  ETH_InitStructure.ETH_Mode = ETH_Mode_FullDuplex;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105be:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105c0:	930a      	str	r3, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010536:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010538:	930a      	str	r3, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RetryTransmission = ETH_RetryTransmission_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AutomaticPadCRCStrip = ETH_AutomaticPadCRCStrip_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105c2:	930e      	str	r3, [sp, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801053a:	930e      	str	r3, [sp, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ReceiveAll = ETH_ReceiveAll_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105c4:	9311      	str	r3, [sp, #68]	; 0x44 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801053c:	9311      	str	r3, [sp, #68]	; 0x44 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_BroadcastFramesReception = ETH_BroadcastFramesReception_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105c6:	9314      	str	r3, [sp, #80]	; 0x50 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801053e:	9314      	str	r3, [sp, #80]	; 0x50 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_PromiscuousMode = ETH_PromiscuousMode_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105c8:	9316      	str	r3, [sp, #88]	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010540:	9316      	str	r3, [sp, #88]	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_MulticastFramesFilter = ETH_MulticastFramesFilter_Perfect; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105ca:	9317      	str	r3, [sp, #92]	; 0x5c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010542:	9317      	str	r3, [sp, #92]	; 0x5c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_UnicastFramesFilter = ETH_UnicastFramesFilter_Perfect; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105cc:	9318      	str	r3, [sp, #96]	; 0x60 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010544:	9318      	str	r3, [sp, #96]	; 0x60 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------   DMA   -----------------------------------*/   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* When we use the Checksum offload feature, we need to enable the Store and Forward mode:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   the store and forward guarantee that a whole frame is stored in the FIFO, so the MAC can insert/verify the checksum,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if the checksum is OK the DMA can handle the frame otherwise the frame is dropped */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Enable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105ce:	9323      	str	r3, [sp, #140]	; 0x8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010546:	9323      	str	r3, [sp, #140]	; 0x8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable;      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Disable;        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105d0:	9328      	str	r3, [sp, #160]	; 0xa0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010548:	9328      	str	r3, [sp, #160]	; 0xa0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Disable;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105d2:	9329      	str	r3, [sp, #164]	; 0xa4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801054a:	9329      	str	r3, [sp, #164]	; 0xa4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_SecondFrameOperate = ETH_SecondFrameOperate_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105d4:	2304      	movs	r3, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105d6:	932b      	str	r3, [sp, #172]	; 0xac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801054c:	2304      	movs	r3, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801054e:	932b      	str	r3, [sp, #172]	; 0xac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable;       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_FixedBurst = ETH_FixedBurst_Enable;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105d8:	f44f 3380 	mov.w	r3, #65536	; 0x10000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105dc:	932d      	str	r3, [sp, #180]	; 0xb4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010550:	f44f 3380 	mov.w	r3, #65536	; 0x10000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010554:	932d      	str	r3, [sp, #180]	; 0xb4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105de:	f44f 0380 	mov.w	r3, #4194304	; 0x400000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010556:	f44f 0380 	mov.w	r3, #4194304	; 0x400000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Call ETH_StructInit if you don't like to configure all ETH_InitStructure parameter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_StructInit(Ð_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Fill ETH_InitStructure parametrs */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------   MAC   -----------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105e2:	2401      	movs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801055a:	2401      	movs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //  ETH_InitStructure.ETH_Speed = ETH_Speed_10M; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //  ETH_InitStructure.ETH_Mode = ETH_Mode_FullDuplex;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RetryTransmission = ETH_RetryTransmission_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105e4:	f44f 7200 	mov.w	r2, #512	; 0x200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801055c:	f44f 7200 	mov.w	r2, #512	; 0x200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* When we use the Checksum offload feature, we need to enable the Store and Forward mode:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   the store and forward guarantee that a whole frame is stored in the FIFO, so the MAC can insert/verify the checksum,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if the checksum is OK the DMA can handle the frame otherwise the frame is dropped */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Enable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable;      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105e8:	f44f 1100 	mov.w	r1, #2097152	; 0x200000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010560:	f44f 1100 	mov.w	r1, #2097152	; 0x200000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Disable;        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Disable;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_SecondFrameOperate = ETH_SecondFrameOperate_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable;       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_FixedBurst = ETH_FixedBurst_Enable;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105ec:	932e      	str	r3, [sp, #184]	; 0xb8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010564:	932e      	str	r3, [sp, #184]	; 0xb8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TxDMABurstLength = ETH_TxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105ee:	f44f 5300 	mov.w	r3, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010566:	f44f 5300 	mov.w	r3, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //  ETH_InitStructure.ETH_Speed = ETH_Speed_10M; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //  ETH_InitStructure.ETH_Mode = ETH_Mode_FullDuplex;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RetryTransmission = ETH_RetryTransmission_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105f2:	920d      	str	r2, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801056a:	920d      	str	r2, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* When we use the Checksum offload feature, we need to enable the Store and Forward mode:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   the store and forward guarantee that a whole frame is stored in the FIFO, so the MAC can insert/verify the checksum,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if the checksum is OK the DMA can handle the frame otherwise the frame is dropped */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Enable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable;      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105f4:	9126      	str	r1, [sp, #152]	; 0x98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801056c:	9126      	str	r1, [sp, #152]	; 0x98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* When we use the Checksum offload feature, we need to enable the Store and Forward mode:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   the store and forward guarantee that a whole frame is stored in the FIFO, so the MAC can insert/verify the checksum,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if the checksum is OK the DMA can handle the frame otherwise the frame is dropped */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Enable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105f6:	f04f 7200 	mov.w	r2, #33554432	; 0x2000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801056e:	f04f 7200 	mov.w	r2, #33554432	; 0x2000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Disable;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_SecondFrameOperate = ETH_SecondFrameOperate_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable;       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_FixedBurst = ETH_FixedBurst_Enable;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TxDMABurstLength = ETH_TxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105fa:	932f      	str	r3, [sp, #188]	; 0xbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010572:	932f      	str	r3, [sp, #188]	; 0xbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DMAArbitration = ETH_DMAArbitration_RoundRobin_RxTx_2_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure Ethernet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   EthInitStatus = ETH_Init(Ð_InitStructure, LAN8720_PHY_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105fc:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010574:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_SecondFrameOperate = ETH_SecondFrameOperate_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable;       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_FixedBurst = ETH_FixedBurst_Enable;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TxDMABurstLength = ETH_TxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DMAArbitration = ETH_DMAArbitration_RoundRobin_RxTx_2_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80105fe:	f44f 4380 	mov.w	r3, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010576:	f44f 4380 	mov.w	r3, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure Ethernet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   EthInitStatus = ETH_Init(Ð_InitStructure, LAN8720_PHY_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010602:	a803      	add	r0, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801057a:	a803      	add	r0, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_SecondFrameOperate = ETH_SecondFrameOperate_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable;       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_FixedBurst = ETH_FixedBurst_Enable;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TxDMABurstLength = ETH_TxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DMAArbitration = ETH_DMAArbitration_RoundRobin_RxTx_2_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010604:	9331      	str	r3, [sp, #196]	; 0xc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801057c:	9331      	str	r3, [sp, #196]	; 0xc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* When we use the Checksum offload feature, we need to enable the Store and Forward mode:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   the store and forward guarantee that a whole frame is stored in the FIFO, so the MAC can insert/verify the checksum,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if the checksum is OK the DMA can handle the frame otherwise the frame is dropped */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Enable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010606:	9224      	str	r2, [sp, #144]	; 0x90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801057e:	9224      	str	r2, [sp, #144]	; 0x90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable;      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Disable;        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Disable;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_SecondFrameOperate = ETH_SecondFrameOperate_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable;       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010608:	922c      	str	r2, [sp, #176]	; 0xb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010580:	922c      	str	r2, [sp, #176]	; 0xb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Call ETH_StructInit if you don't like to configure all ETH_InitStructure parameter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_StructInit(Ð_InitStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Fill ETH_InitStructure parametrs */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------   MAC   -----------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801060a:	9403      	str	r4, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010582:	9403      	str	r4, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TxDMABurstLength = ETH_TxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DMAArbitration = ETH_DMAArbitration_RoundRobin_RxTx_2_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure Ethernet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   EthInitStatus = ETH_Init(Ð_InitStructure, LAN8720_PHY_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801060c:	f000 fa5e 	bl	8010acc <ETH_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010610:	4d09      	ldr	r5, [pc, #36]	; (8010638 <ETH_BSP_Config+0x1a8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010584:	f000 fa5e 	bl	8010a44 <ETH_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010588:	4d09      	ldr	r5, [pc, #36]	; (80105b0 <ETH_BSP_Config+0x1a8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable the Ethernet Rx Interrupt */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMAITConfig(ETH_DMA_IT_NIS | ETH_DMA_IT_R, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010612:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801058a:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_TxDMABurstLength = ETH_TxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStructure.ETH_DMAArbitration = ETH_DMAArbitration_RoundRobin_RxTx_2_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure Ethernet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   EthInitStatus = ETH_Init(Ð_InitStructure, LAN8720_PHY_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010614:	6028      	str	r0, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801058c:	6028      	str	r0, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable the Ethernet Rx Interrupt */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMAITConfig(ETH_DMA_IT_NIS | ETH_DMA_IT_R, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010616:	4809      	ldr	r0, [pc, #36]	; (801063c <ETH_BSP_Config+0x1ac>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010618:	f000 f9c6 	bl	80109a8 <ETH_DMAITConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801058e:	4809      	ldr	r0, [pc, #36]	; (80105b4 <ETH_BSP_Config+0x1ac>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010590:	f000 f9c6 	bl	8010920 <ETH_DMAITConfig> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //ETH_NVIC_Config(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Configure the Ethernet MAC/DMA */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_MACDMA_Config(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (EthInitStatus == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801061c:	682b      	ldr	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801061e:	b903      	cbnz	r3, 8010622 <ETH_BSP_Config+0x192> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010620:	e7fe      	b.n	8010620 <ETH_BSP_Config+0x190> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010594:	682b      	ldr	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010596:	b903      	cbnz	r3, 801059a <ETH_BSP_Config+0x192> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010598:	e7fe      	b.n	8010598 <ETH_BSP_Config+0x190> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // LCD_DisplayStringLine(Line5, (uint8_t*)"   Ethernet Init   "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // LCD_DisplayStringLine(Line6, (uint8_t*)"      failed      "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // STM_EVAL_LEDOn(LED5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010622:	b032      	add	sp, #200	; 0xc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010624:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010626:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010628:	40020000 	.word	0x40020000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801062c:	40020400 	.word	0x40020400 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010630:	40020800 	.word	0x40020800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010634:	40021000 	.word	0x40021000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010638:	20006dac 	.word	0x20006dac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801063c:	00010040 	.word	0x00010040 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010640 <ETH_Delay>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801059a:	b032      	add	sp, #200	; 0xc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801059c:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801059e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105a0:	40020000 	.word	0x40020000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105a4:	40020400 	.word	0x40020400 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105a8:	40020800 	.word	0x40020800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105ac:	40021000 	.word	0x40021000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105b0:	20006dac 	.word	0x20006dac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105b4:	00010040 	.word	0x00010040 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080105b8 <ETH_Delay>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Inserts a delay time. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  nCount: specifies the delay time length. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void ETH_Delay(__IO uint32_t nCount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010640:	b084      	sub	sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105b8:	b084      	sub	sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO uint32_t index = 0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010642:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105ba:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Inserts a delay time. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  nCount: specifies the delay time length. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void ETH_Delay(__IO uint32_t nCount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010644:	9001      	str	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105bc:	9001      	str	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO uint32_t index = 0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010646:	9303      	str	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105be:	9303      	str	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(index = nCount; index != 0; index--) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010648:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801064a:	e001      	b.n	8010650 <ETH_Delay+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801064c:	9b03      	ldr	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801064e:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010650:	9303      	str	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010652:	9b03      	ldr	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010654:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010656:	d1f9      	bne.n	801064c <ETH_Delay+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105c0:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105c2:	e001      	b.n	80105c8 <ETH_Delay+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105c4:	9b03      	ldr	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105c6:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105c8:	9303      	str	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105ca:	9b03      	ldr	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105cc:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105ce:	d1f9      	bne.n	80105c4 <ETH_Delay+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010658:	b004      	add	sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801065a:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105d0:	b004      	add	sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105d2:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801065c <ETH_DeInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080105d4 <ETH_DeInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Deinitializes the ETHERNET peripheral registers to their default reset values. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DeInit(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801065c:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105d4:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_ETH_MAC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801065e:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010660:	f04f 7000 	mov.w	r0, #33554432	; 0x2000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010664:	f7f9 fcba 	bl	8009fdc <RCC_AHB1PeriphResetCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105d6:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105d8:	f04f 7000 	mov.w	r0, #33554432	; 0x2000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105dc:	f7f9 fcfe 	bl	8009fdc <RCC_AHB1PeriphResetCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_ETH_MAC, DISABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010668:	f04f 7000 	mov.w	r0, #33554432	; 0x2000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801066c:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105e0:	f04f 7000 	mov.w	r0, #33554432	; 0x2000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105e4:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801066e:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105e6:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DeInit(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_ETH_MAC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_ETH_MAC, DISABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010672:	f7f9 bcb3 	b.w	8009fdc <RCC_AHB1PeriphResetCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105ea:	f7f9 bcf7 	b.w	8009fdc <RCC_AHB1PeriphResetCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010676 <ETH_StructInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080105ee <ETH_StructInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Ethernet interframe gap set to 96 bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_InterFrameGap = ETH_InterFrameGap_96Bit;                                                                                                                              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Carrier Sense Enabled in Half-Duplex mode */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_CarrierSense = ETH_CarrierSense_Enable;                                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* PHY speed configured to 100Mbit/s */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_Speed = ETH_Speed_100M;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010676:	f44f 4280 	mov.w	r2, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801067a:	6142      	str	r2, [r0, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105ee:	f44f 4280 	mov.w	r2, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105f2:	6142      	str	r2, [r0, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Receive own Frames in Half-Duplex mode enabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveOwn = ETH_ReceiveOwn_Enable;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* MAC MII loopback disabled */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_LoopbackMode = ETH_LoopbackMode_Disable;               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Full-Duplex mode selected */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_Mode = ETH_Mode_FullDuplex;                       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801067c:	f44f 6200 	mov.w	r2, #2048	; 0x800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010680:	6202      	str	r2, [r0, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105f4:	f44f 6200 	mov.w	r2, #2048	; 0x800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105f8:	6202      	str	r2, [r0, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Receive all frames disabled */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveAll = ETH_ReceiveAll_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Source address filtering (on the optional MAC addresses) disabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_SourceAddrFilter = ETH_SourceAddrFilter_Disable;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Do not forward control frames that do not pass the address filtering */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_PassControlFrames = ETH_PassControlFrames_BlockAll;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010682:	2240      	movs	r2, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010684:	6402      	str	r2, [r0, #64]	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105fa:	2240      	movs	r2, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105fc:	6402      	str	r2, [r0, #64]	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Disable reception of Broadcast frames */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_BroadcastFramesReception = ETH_BroadcastFramesReception_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010686:	2220      	movs	r2, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010688:	6442      	str	r2, [r0, #68]	; 0x44 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80105fe:	2220      	movs	r2, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010600:	6442      	str	r2, [r0, #68]	; 0x44 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Initialize hash table high and low regs */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_HashTableHigh = 0x0;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_HashTableLow = 0x0;                      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Flow control config (flow control disabled)*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_PauseTime = 0x0;                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ZeroQuantaPause = ETH_ZeroQuantaPause_Disable;             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801068a:	2280      	movs	r2, #128	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010602:	2280      	movs	r2, #128	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* ETH_InitStruct members default value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------   MAC Configuration   ---------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* PHY Auto-negotiation enabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_AutoNegotiation = ETH_AutoNegotiation_Enable;            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801068c:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010604:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Initialize hash table high and low regs */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_HashTableHigh = 0x0;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_HashTableLow = 0x0;                      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Flow control config (flow control disabled)*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_PauseTime = 0x0;                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ZeroQuantaPause = ETH_ZeroQuantaPause_Disable;             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801068e:	6642      	str	r2, [r0, #100]	; 0x64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010606:	6642      	str	r2, [r0, #100]	; 0x64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_VLANTagIdentifier = 0x0;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*---------------------- DMA Configuration   -------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Drops frames with with TCP/IP checksum errors */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010690:	f04f 6280 	mov.w	r2, #67108864	; 0x4000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010608:	f04f 6280 	mov.w	r2, #67108864	; 0x4000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* ETH_InitStruct members default value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------   MAC Configuration   ---------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* PHY Auto-negotiation enabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_AutoNegotiation = ETH_AutoNegotiation_Enable;            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010694:	6003      	str	r3, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801060c:	6003      	str	r3, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_VLANTagIdentifier = 0x0;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*---------------------- DMA Configuration   -------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Drops frames with with TCP/IP checksum errors */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010696:	f8c0 2080 	str.w	r2, [r0, #128]	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801060e:	f8c0 2080 	str.w	r2, [r0, #128]	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------   MAC Configuration   ---------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* PHY Auto-negotiation enabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_AutoNegotiation = ETH_AutoNegotiation_Enable;            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* MAC watchdog enabled: cuts-off long frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_Watchdog = ETH_Watchdog_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801069a:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010612:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*---------------------- DMA Configuration   -------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Drops frames with with TCP/IP checksum errors */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Store and forward mode enabled for receive */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801069c:	f04f 7200 	mov.w	r2, #33554432	; 0x2000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010614:	f04f 7200 	mov.w	r2, #33554432	; 0x2000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------   MAC Configuration   ---------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* PHY Auto-negotiation enabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_AutoNegotiation = ETH_AutoNegotiation_Enable;            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* MAC watchdog enabled: cuts-off long frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_Watchdog = ETH_Watchdog_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106a0:	6043      	str	r3, [r0, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010618:	6043      	str	r3, [r0, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* MAC Jabber enabled in Half-duplex mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_Jabber = ETH_Jabber_Enable;                                                        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106a2:	6083      	str	r3, [r0, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801061a:	6083      	str	r3, [r0, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Ethernet interframe gap set to 96 bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_InterFrameGap = ETH_InterFrameGap_96Bit;                                                                                                                              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106a4:	60c3      	str	r3, [r0, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801061c:	60c3      	str	r3, [r0, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Carrier Sense Enabled in Half-Duplex mode */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_CarrierSense = ETH_CarrierSense_Enable;                                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106a6:	6103      	str	r3, [r0, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801061e:	6103      	str	r3, [r0, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* PHY speed configured to 100Mbit/s */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_Speed = ETH_Speed_100M;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Receive own Frames in Half-Duplex mode enabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveOwn = ETH_ReceiveOwn_Enable;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106a8:	6183      	str	r3, [r0, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010620:	6183      	str	r3, [r0, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* MAC MII loopback disabled */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_LoopbackMode = ETH_LoopbackMode_Disable;               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106aa:	61c3      	str	r3, [r0, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010622:	61c3      	str	r3, [r0, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Full-Duplex mode selected */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_Mode = ETH_Mode_FullDuplex;                       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* IPv4 and TCP/UDP/ICMP frame Checksum Offload disabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ChecksumOffload = ETH_ChecksumOffload_Disable;                                                              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106ac:	6243      	str	r3, [r0, #36]	; 0x24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010624:	6243      	str	r3, [r0, #36]	; 0x24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Retry Transmission enabled for half-duplex mode */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_RetryTransmission = ETH_RetryTransmission_Enable;                                                                                    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106ae:	6283      	str	r3, [r0, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010626:	6283      	str	r3, [r0, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Automatic PAD/CRC strip disabled*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_AutomaticPadCRCStrip = ETH_AutomaticPadCRCStrip_Disable;                                                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106b0:	62c3      	str	r3, [r0, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010628:	62c3      	str	r3, [r0, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* half-duplex mode retransmission Backoff time_limit = 10 slot times*/  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_BackOffLimit = ETH_BackOffLimit_10;      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106b2:	6303      	str	r3, [r0, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801062a:	6303      	str	r3, [r0, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* half-duplex mode Deferral check disabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DeferralCheck = ETH_DeferralCheck_Disable;                                                                                                                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106b4:	6343      	str	r3, [r0, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801062c:	6343      	str	r3, [r0, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Receive all frames disabled */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveAll = ETH_ReceiveAll_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106b6:	6383      	str	r3, [r0, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801062e:	6383      	str	r3, [r0, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Source address filtering (on the optional MAC addresses) disabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_SourceAddrFilter = ETH_SourceAddrFilter_Disable;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106b8:	63c3      	str	r3, [r0, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010630:	63c3      	str	r3, [r0, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Do not forward control frames that do not pass the address filtering */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_PassControlFrames = ETH_PassControlFrames_BlockAll;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Disable reception of Broadcast frames */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_BroadcastFramesReception = ETH_BroadcastFramesReception_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Normal Destination address filtering (not reverse addressing) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DestinationAddrFilter = ETH_DestinationAddrFilter_Normal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106ba:	6483      	str	r3, [r0, #72]	; 0x48 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010632:	6483      	str	r3, [r0, #72]	; 0x48 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Promiscuous address filtering mode disabled */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_PromiscuousMode = ETH_PromiscuousMode_Disable;                                                              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106bc:	64c3      	str	r3, [r0, #76]	; 0x4c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010634:	64c3      	str	r3, [r0, #76]	; 0x4c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Perfect address filtering for multicast addresses */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_MulticastFramesFilter = ETH_MulticastFramesFilter_Perfect;        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106be:	6503      	str	r3, [r0, #80]	; 0x50 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010636:	6503      	str	r3, [r0, #80]	; 0x50 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Perfect address filtering for unicast addresses */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_UnicastFramesFilter = ETH_UnicastFramesFilter_Perfect;       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106c0:	6543      	str	r3, [r0, #84]	; 0x54 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010638:	6543      	str	r3, [r0, #84]	; 0x54 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Initialize hash table high and low regs */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_HashTableHigh = 0x0;                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106c2:	6583      	str	r3, [r0, #88]	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801063a:	6583      	str	r3, [r0, #88]	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_HashTableLow = 0x0;                      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106c4:	65c3      	str	r3, [r0, #92]	; 0x5c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801063c:	65c3      	str	r3, [r0, #92]	; 0x5c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Flow control config (flow control disabled)*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_PauseTime = 0x0;                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106c6:	6603      	str	r3, [r0, #96]	; 0x60 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801063e:	6603      	str	r3, [r0, #96]	; 0x60 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ZeroQuantaPause = ETH_ZeroQuantaPause_Disable;             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_PauseLowThreshold = ETH_PauseLowThreshold_Minus4;          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106c8:	6683      	str	r3, [r0, #104]	; 0x68 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010640:	6683      	str	r3, [r0, #104]	; 0x68 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_UnicastPauseFrameDetect = ETH_UnicastPauseFrameDetect_Disable;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106ca:	66c3      	str	r3, [r0, #108]	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010642:	66c3      	str	r3, [r0, #108]	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveFlowControl = ETH_ReceiveFlowControl_Disable;         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106cc:	6703      	str	r3, [r0, #112]	; 0x70 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010644:	6703      	str	r3, [r0, #112]	; 0x70 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_TransmitFlowControl = ETH_TransmitFlowControl_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106ce:	6743      	str	r3, [r0, #116]	; 0x74 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010646:	6743      	str	r3, [r0, #116]	; 0x74 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* VLANtag config (VLAN field not checked) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_VLANTagComparison = ETH_VLANTagComparison_16Bit;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106d0:	6783      	str	r3, [r0, #120]	; 0x78 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010648:	6783      	str	r3, [r0, #120]	; 0x78 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_VLANTagIdentifier = 0x0;           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106d2:	67c3      	str	r3, [r0, #124]	; 0x7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801064a:	67c3      	str	r3, [r0, #124]	; 0x7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*---------------------- DMA Configuration   -------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Drops frames with with TCP/IP checksum errors */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Store and forward mode enabled for receive */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106d4:	f8c0 2084 	str.w	r2, [r0, #132]	; 0x84 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801064c:	f8c0 2084 	str.w	r2, [r0, #132]	; 0x84 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveThresholdControl = ETH_ReceiveThresholdControl_64Bytes;                              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Disable Operate on second frame (transmit a second frame to FIFO without  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   waiting status of previous frame*/                            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_SecondFrameOperate = ETH_SecondFrameOperate_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* DMA works on 32-bit aligned start source and destinations addresses */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106d8:	f8c0 20a4 	str.w	r2, [r0, #164]	; 0xa4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010650:	f8c0 20a4 	str.w	r2, [r0, #164]	; 0xa4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enabled Fixed Burst Mode (mix of INC4, INC8, INC16 and SINGLE DMA transactions */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_FixedBurst = ETH_FixedBurst_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106dc:	f44f 3280 	mov.w	r2, #65536	; 0x10000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106e0:	f8c0 20a8 	str.w	r2, [r0, #168]	; 0xa8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010654:	f44f 3280 	mov.w	r2, #65536	; 0x10000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010658:	f8c0 20a8 	str.w	r2, [r0, #168]	; 0xa8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* DMA transfer max burst length = 32 beats = 32 x 32bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106e4:	f44f 0280 	mov.w	r2, #4194304	; 0x400000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801065c:	f44f 0280 	mov.w	r2, #4194304	; 0x400000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Store and forward mode enabled for receive */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Flush received frame that created FIFO overflow */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_FlushReceivedFrame = ETH_FlushReceivedFrame_Enable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Store and forward mode enabled for transmit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106e8:	f44f 1100 	mov.w	r1, #2097152	; 0x200000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010660:	f44f 1100 	mov.w	r1, #2097152	; 0x200000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* DMA works on 32-bit aligned start source and destinations addresses */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enabled Fixed Burst Mode (mix of INC4, INC8, INC16 and SINGLE DMA transactions */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_FixedBurst = ETH_FixedBurst_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* DMA transfer max burst length = 32 beats = 32 x 32bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106ec:	f8c0 20ac 	str.w	r2, [r0, #172]	; 0xac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010664:	f8c0 20ac 	str.w	r2, [r0, #172]	; 0xac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_TxDMABurstLength = ETH_TxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106f0:	f44f 5200 	mov.w	r2, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010668:	f44f 5200 	mov.w	r2, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Drops frames with with TCP/IP checksum errors */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Store and forward mode enabled for receive */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveStoreForward = ETH_ReceiveStoreForward_Enable;        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Flush received frame that created FIFO overflow */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_FlushReceivedFrame = ETH_FlushReceivedFrame_Enable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106f4:	f8c0 3088 	str.w	r3, [r0, #136]	; 0x88 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801066c:	f8c0 3088 	str.w	r3, [r0, #136]	; 0x88 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Store and forward mode enabled for transmit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106f8:	f8c0 108c 	str.w	r1, [r0, #140]	; 0x8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010670:	f8c0 108c 	str.w	r1, [r0, #140]	; 0x8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Threshold TXFIFO level set to 64 bytes (used when threshold mode is enabled) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_TransmitThresholdControl = ETH_TransmitThresholdControl_64Bytes;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80106fc:	f8c0 3090 	str.w	r3, [r0, #144]	; 0x90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010674:	f8c0 3090 	str.w	r3, [r0, #144]	; 0x90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Disable forwarding frames with errors (short frames, CRC,...)*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010700:	f8c0 3094 	str.w	r3, [r0, #148]	; 0x94 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010678:	f8c0 3094 	str.w	r3, [r0, #148]	; 0x94 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Disable undersized good frames */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Disable;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010704:	f8c0 3098 	str.w	r3, [r0, #152]	; 0x98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801067c:	f8c0 3098 	str.w	r3, [r0, #152]	; 0x98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Threshold RXFIFO level set to 64 bytes (used when Cut-through mode is enabled) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_ReceiveThresholdControl = ETH_ReceiveThresholdControl_64Bytes;                              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010708:	f8c0 309c 	str.w	r3, [r0, #156]	; 0x9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010680:	f8c0 309c 	str.w	r3, [r0, #156]	; 0x9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Disable Operate on second frame (transmit a second frame to FIFO without  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   waiting status of previous frame*/                            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_SecondFrameOperate = ETH_SecondFrameOperate_Disable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801070c:	f8c0 30a0 	str.w	r3, [r0, #160]	; 0xa0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010684:	f8c0 30a0 	str.w	r3, [r0, #160]	; 0xa0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_AddressAlignedBeats = ETH_AddressAlignedBeats_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enabled Fixed Burst Mode (mix of INC4, INC8, INC16 and SINGLE DMA transactions */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_FixedBurst = ETH_FixedBurst_Enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* DMA transfer max burst length = 32 beats = 32 x 32bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_RxDMABurstLength = ETH_RxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_TxDMABurstLength = ETH_TxDMABurstLength_32Beat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010710:	f8c0 20b0 	str.w	r2, [r0, #176]	; 0xb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010688:	f8c0 20b0 	str.w	r2, [r0, #176]	; 0xb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* DMA Ring mode skip length = 0 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DescriptorSkipLength = 0x0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010714:	f8c0 30b4 	str.w	r3, [r0, #180]	; 0xb4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801068c:	f8c0 30b4 	str.w	r3, [r0, #180]	; 0xb4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Equal priority (round-robin) between transmit and receive DMA engines */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_InitStruct->ETH_DMAArbitration = ETH_DMAArbitration_RoundRobin_RxTx_1_1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010718:	f8c0 30b8 	str.w	r3, [r0, #184]	; 0xb8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801071c:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801071e:	0000      	movs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010690:	f8c0 30b8 	str.w	r3, [r0, #184]	; 0xb8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010694:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010696:	0000      	movs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010720 <ETH_MACTransmissionCmd>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010698 <ETH_MACTransmissionCmd>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  NewState: new state of the MAC transmission. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *   This parameter can be: ENABLE or DISABLE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_MACTransmissionCmd(FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010720:	4b04      	ldr	r3, [pc, #16]	; (8010734 <ETH_MACTransmissionCmd+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010698:	4b04      	ldr	r3, [pc, #16]	; (80106ac <ETH_MACTransmissionCmd+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the MAC transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->MACCR |= ETH_MACCR_TE;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010722:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801069a:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_MACTransmissionCmd(FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010724:	b110      	cbz	r0, 801072c <ETH_MACTransmissionCmd+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801069c:	b110      	cbz	r0, 80106a4 <ETH_MACTransmissionCmd+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the MAC transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->MACCR |= ETH_MACCR_TE;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010726:	f042 0208 	orr.w	r2, r2, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801072a:	e001      	b.n	8010730 <ETH_MACTransmissionCmd+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801069e:	f042 0208 	orr.w	r2, r2, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106a2:	e001      	b.n	80106a8 <ETH_MACTransmissionCmd+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Disable the MAC transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->MACCR &= ~ETH_MACCR_TE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801072c:	f022 0208 	bic.w	r2, r2, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010730:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010732:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010734:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106a4:	f022 0208 	bic.w	r2, r2, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106a8:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106aa:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106ac:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010738 <ETH_MACReceptionCmd>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080106b0 <ETH_MACReceptionCmd>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  NewState: new state of the MAC reception. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *   This parameter can be: ENABLE or DISABLE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_MACReceptionCmd(FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010738:	4b04      	ldr	r3, [pc, #16]	; (801074c <ETH_MACReceptionCmd+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106b0:	4b04      	ldr	r3, [pc, #16]	; (80106c4 <ETH_MACReceptionCmd+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the MAC reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->MACCR |= ETH_MACCR_RE;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801073a:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106b2:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_MACReceptionCmd(FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801073c:	b110      	cbz	r0, 8010744 <ETH_MACReceptionCmd+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106b4:	b110      	cbz	r0, 80106bc <ETH_MACReceptionCmd+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the MAC reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->MACCR |= ETH_MACCR_RE;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801073e:	f042 0204 	orr.w	r2, r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010742:	e001      	b.n	8010748 <ETH_MACReceptionCmd+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106b6:	f042 0204 	orr.w	r2, r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106ba:	e001      	b.n	80106c0 <ETH_MACReceptionCmd+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Disable the MAC reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->MACCR &= ~ETH_MACCR_RE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010744:	f022 0204 	bic.w	r2, r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010748:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801074a:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801074c:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106bc:	f022 0204 	bic.w	r2, r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106c0:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106c2:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106c4:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010750 <ETH_MACAddressConfig>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080106c8 <ETH_MACAddressConfig>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_MAC_ADDRESS0123(MacAddr)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Calculate the selected MAC address high register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ((uint32_t)Addr[5] << 8) | (uint32_t)Addr[4]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010750:	790b      	ldrb	r3, [r1, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010752:	794a      	ldrb	r2, [r1, #5] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010754:	ea43 2202 	orr.w	r2, r3, r2, lsl #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106c8:	790b      	ldrb	r3, [r1, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106ca:	794a      	ldrb	r2, [r1, #5] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106cc:	ea43 2202 	orr.w	r2, r3, r2, lsl #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Load the selected MAC address high register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (*(__IO uint32_t *) (ETH_MAC_ADDR_HBASE + MacAddr)) = tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010758:	4b07      	ldr	r3, [pc, #28]	; (8010778 <ETH_MACAddressConfig+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801075a:	50c2      	str	r2, [r0, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106d0:	4b07      	ldr	r3, [pc, #28]	; (80106f0 <ETH_MACAddressConfig+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106d2:	50c2      	str	r2, [r0, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Calculate the selected MAC address low register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ((uint32_t)Addr[3] << 24) | ((uint32_t)Addr[2] << 16) | ((uint32_t)Addr[1] << 8) | Addr[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801075c:	788a      	ldrb	r2, [r1, #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801075e:	78cb      	ldrb	r3, [r1, #3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010760:	0412      	lsls	r2, r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010762:	ea42 6203 	orr.w	r2, r2, r3, lsl #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010766:	780b      	ldrb	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010768:	431a      	orrs	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801076a:	784b      	ldrb	r3, [r1, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801076c:	ea42 2203 	orr.w	r2, r2, r3, lsl #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106d4:	788a      	ldrb	r2, [r1, #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106d6:	78cb      	ldrb	r3, [r1, #3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106d8:	0412      	lsls	r2, r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106da:	ea42 6203 	orr.w	r2, r2, r3, lsl #24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106de:	780b      	ldrb	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106e0:	431a      	orrs	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106e2:	784b      	ldrb	r3, [r1, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106e4:	ea42 2203 	orr.w	r2, r2, r3, lsl #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Load the selected MAC address low register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (*(__IO uint32_t *) (ETH_MAC_ADDR_LBASE + MacAddr)) = tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010770:	4b02      	ldr	r3, [pc, #8]	; (801077c <ETH_MACAddressConfig+0x2c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010772:	50c2      	str	r2, [r0, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010774:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010776:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010778:	40028040 	.word	0x40028040 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801077c:	40028044 	.word	0x40028044 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010780 <ETH_Get_Received_Frame>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106e8:	4b02      	ldr	r3, [pc, #8]	; (80106f4 <ETH_MACAddressConfig+0x2c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106ea:	50c2      	str	r2, [r0, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106ec:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106ee:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106f0:	40028040 	.word	0x40028040 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106f4:	40028044 	.word	0x40028044 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080106f8 <ETH_Get_Received_Frame>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t framelength = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FrameTypeDef frame = {0,0,0};  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the Frame Length of the received packet: substruct 4 bytes of the CRC */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   framelength = ((DMARxDescToGet->Status & ETH_DMARxDesc_FL) >> ETH_DMARxDesc_FrameLengthShift) - 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010780:	490a      	ldr	r1, [pc, #40]	; (80107ac <ETH_Get_Received_Frame+0x2c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106f8:	490a      	ldr	r1, [pc, #40]	; (8010724 <ETH_Get_Received_Frame+0x2c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   frame.length = framelength; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the address of the buffer start address */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if more than one segment in the frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (DMA_RX_FRAME_infos->Seg_Count >1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010782:	4a0b      	ldr	r2, [pc, #44]	; (80107b0 <ETH_Get_Received_Frame+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106fa:	4a0b      	ldr	r2, [pc, #44]	; (8010728 <ETH_Get_Received_Frame+0x30>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t framelength = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FrameTypeDef frame = {0,0,0};  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the Frame Length of the received packet: substruct 4 bytes of the CRC */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   framelength = ((DMARxDescToGet->Status & ETH_DMARxDesc_FL) >> ETH_DMARxDesc_FrameLengthShift) - 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010784:	680b      	ldr	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106fc:	680b      	ldr	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   frame.length = framelength; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the address of the buffer start address */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if more than one segment in the frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (DMA_RX_FRAME_infos->Seg_Count >1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010786:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80106fe:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Chained Mode */     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Selects the next DMA Rx descriptor list for next buffer to read */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMARxDescToGet = (ETH_DMADESCTypeDef*) (DMARxDescToGet->Buffer2NextDescAddr);     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return Frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return (frame);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010788:	6083      	str	r3, [r0, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010700:	6083      	str	r3, [r0, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * with polling method only). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval Structure of type FrameTypeDef 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 FrameTypeDef ETH_Get_Received_Frame(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801078a:	b530      	push	{r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010702:	b530      	push	{r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t framelength = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FrameTypeDef frame = {0,0,0};  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the Frame Length of the received packet: substruct 4 bytes of the CRC */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   framelength = ((DMARxDescToGet->Status & ETH_DMARxDesc_FL) >> ETH_DMARxDesc_FrameLengthShift) - 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801078c:	681d      	ldr	r5, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010704:	681d      	ldr	r5, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   frame.length = framelength; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the address of the buffer start address */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if more than one segment in the frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (DMA_RX_FRAME_infos->Seg_Count >1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801078e:	6894      	ldr	r4, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010706:	6894      	ldr	r4, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t framelength = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FrameTypeDef frame = {0,0,0};  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the Frame Length of the received packet: substruct 4 bytes of the CRC */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   framelength = ((DMARxDescToGet->Status & ETH_DMARxDesc_FL) >> ETH_DMARxDesc_FrameLengthShift) - 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010790:	f3c5 450d 	ubfx	r5, r5, #16, #14 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010794:	3d04      	subs	r5, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010708:	f3c5 450d 	ubfx	r5, r5, #16, #14 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801070c:	3d04      	subs	r5, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   frame.length = framelength; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the address of the buffer start address */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if more than one segment in the frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (DMA_RX_FRAME_infos->Seg_Count >1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010796:	2c01      	cmp	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801070e:	2c01      	cmp	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     frame.buffer =(DMA_RX_FRAME_infos->FS_Rx_Desc)->Buffer1Addr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010798:	bf8a      	itet	hi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801079a:	6812      	ldrhi	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010710:	bf8a      	itet	hi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010712:	6812      	ldrhi	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     frame.buffer = DMARxDescToGet->Buffer1Addr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801079c:	689a      	ldrls	r2, [r3, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010714:	689a      	ldrls	r2, [r3, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the address of the buffer start address */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if more than one segment in the frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (DMA_RX_FRAME_infos->Seg_Count >1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     frame.buffer =(DMA_RX_FRAME_infos->FS_Rx_Desc)->Buffer1Addr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801079e:	6892      	ldrhi	r2, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010716:	6892      	ldrhi	r2, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   frame.descriptor = DMARxDescToGet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Update the ETHERNET DMA global Rx descriptor with next Rx descriptor */       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Chained Mode */     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Selects the next DMA Rx descriptor list for next buffer to read */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMARxDescToGet = (ETH_DMADESCTypeDef*) (DMARxDescToGet->Buffer2NextDescAddr);     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107a0:	68dc      	ldr	r4, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010718:	68dc      	ldr	r4, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return Frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return (frame);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107a2:	6005      	str	r5, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801071a:	6005      	str	r5, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   frame.descriptor = DMARxDescToGet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Update the ETHERNET DMA global Rx descriptor with next Rx descriptor */       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Chained Mode */     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Selects the next DMA Rx descriptor list for next buffer to read */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMARxDescToGet = (ETH_DMADESCTypeDef*) (DMARxDescToGet->Buffer2NextDescAddr);     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107a4:	600c      	str	r4, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801071c:	600c      	str	r4, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return Frame */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return (frame);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107a6:	6042      	str	r2, [r0, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801071e:	6042      	str	r2, [r0, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107a8:	bd30      	pop	{r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107aa:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107ac:	20008cbc 	.word	0x20008cbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107b0:	2000ab2c 	.word	0x2000ab2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010720:	bd30      	pop	{r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010722:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010724:	20008af8 	.word	0x20008af8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010728:	2000a968 	.word	0x2000a968 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080107b4 <ETH_Prepare_Transmit_Descriptors>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0801072c <ETH_Prepare_Transmit_Descriptors>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t buf_count =0, size=0,i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO ETH_DMADESCTypeDef *DMATxNextDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if the descriptor is owned by the ETHERNET DMA (when set) or CPU (when reset) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if((DMATxDescToSet->Status & ETH_DMATxDesc_OWN) != (u32)RESET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107b4:	4b29      	ldr	r3, [pc, #164]	; (801085c <ETH_Prepare_Transmit_Descriptors+0xa8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107b6:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107b8:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107ba:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801072c:	4b29      	ldr	r3, [pc, #164]	; (80107d4 <ETH_Prepare_Transmit_Descriptors+0xa8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801072e:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010730:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010732:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Prepares DMA Tx descriptors to transmit an ethernet frame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  FrameLength : length of the frame to send 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval error status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t ETH_Prepare_Transmit_Descriptors(u16 FrameLength) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107bc:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010734:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t buf_count =0, size=0,i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO ETH_DMADESCTypeDef *DMATxNextDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if the descriptor is owned by the ETHERNET DMA (when set) or CPU (when reset) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if((DMATxDescToSet->Status & ETH_DMATxDesc_OWN) != (u32)RESET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107be:	db48      	blt.n	8010852 <ETH_Prepare_Transmit_Descriptors+0x9e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010736:	db48      	blt.n	80107ca <ETH_Prepare_Transmit_Descriptors+0x9e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMATxNextDesc = DMATxDescToSet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (FrameLength > ETH_TX_BUF_SIZE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107c0:	f240 52f4 	movw	r2, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107c4:	4290      	cmp	r0, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107c6:	d917      	bls.n	80107f8 <ETH_Prepare_Transmit_Descriptors+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010738:	f240 52f4 	movw	r2, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801073c:	4290      	cmp	r0, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801073e:	d917      	bls.n	8010770 <ETH_Prepare_Transmit_Descriptors+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     buf_count = FrameLength/ETH_TX_BUF_SIZE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107c8:	fbb0 f4f2 	udiv	r4, r0, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010740:	fbb0 f4f2 	udiv	r4, r0, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (FrameLength%ETH_TX_BUF_SIZE) buf_count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107cc:	fb02 0214 	mls	r2, r2, r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107d0:	b292      	uxth	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010744:	fb02 0214 	mls	r2, r2, r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010748:	b292      	uxth	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMATxNextDesc = DMATxDescToSet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (FrameLength > ETH_TX_BUF_SIZE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     buf_count = FrameLength/ETH_TX_BUF_SIZE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107d2:	b2a1      	uxth	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801074a:	b2a1      	uxth	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (FrameLength%ETH_TX_BUF_SIZE) buf_count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107d4:	b10a      	cbz	r2, 80107da <ETH_Prepare_Transmit_Descriptors+0x26> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107d6:	3101      	adds	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107d8:	e001      	b.n	80107de <ETH_Prepare_Transmit_Descriptors+0x2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801074c:	b10a      	cbz	r2, 8010752 <ETH_Prepare_Transmit_Descriptors+0x26> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801074e:	3101      	adds	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010750:	e001      	b.n	8010756 <ETH_Prepare_Transmit_Descriptors+0x2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else buf_count =1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (buf_count ==1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107da:	2901      	cmp	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107dc:	d00c      	beq.n	80107f8 <ETH_Prepare_Transmit_Descriptors+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010752:	2901      	cmp	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010754:	d00c      	beq.n	8010770 <ETH_Prepare_Transmit_Descriptors+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (i== (buf_count-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Setting the last segment bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DMATxNextDesc->Status |= ETH_DMATxDesc_LS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         size = FrameLength - (buf_count-1)*ETH_TX_BUF_SIZE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107de:	4d20      	ldr	r5, [pc, #128]	; (8010860 <ETH_Prepare_Transmit_Descriptors+0xac>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107e0:	f200 50f4 	addw	r0, r0, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107e4:	fb05 0501 	mla	r5, r5, r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010756:	4d20      	ldr	r5, [pc, #128]	; (80107d8 <ETH_Prepare_Transmit_Descriptors+0xac>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010758:	f200 50f4 	addw	r0, r0, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801075c:	fb05 0501 	mla	r5, r5, r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DMATxNextDesc->ControlBufferSize = (size & ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107e8:	04ed      	lsls	r5, r5, #19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107ea:	0ced      	lsrs	r5, r5, #19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107ec:	461a      	mov	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107ee:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010760:	04ed      	lsls	r5, r5, #19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010762:	0ced      	lsrs	r5, r5, #19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010764:	461a      	mov	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010766:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Setting the first segment bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DMATxDescToSet->Status |= ETH_DMATxDesc_FS;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Program size */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc->ControlBufferSize = (ETH_TX_BUF_SIZE & ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107f0:	f240 56f4 	movw	r6, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010768:	f240 56f4 	movw	r6, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (i== (buf_count-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107f4:	1e4f      	subs	r7, r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107f6:	e00c      	b.n	8010812 <ETH_Prepare_Transmit_Descriptors+0x5e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801076c:	1e4f      	subs	r7, r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801076e:	e00c      	b.n	801078a <ETH_Prepare_Transmit_Descriptors+0x5e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else buf_count =1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (buf_count ==1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /*set LAST and FIRST segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->Status |=ETH_DMATxDesc_FS|ETH_DMATxDesc_LS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107f8:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010770:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set frame size */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->ControlBufferSize = (FrameLength& ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107fa:	04c0      	lsls	r0, r0, #19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010772:	04c0      	lsls	r0, r0, #19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else buf_count =1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (buf_count ==1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /*set LAST and FIRST segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->Status |=ETH_DMATxDesc_FS|ETH_DMATxDesc_LS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80107fc:	f042 5240 	orr.w	r2, r2, #805306368	; 0x30000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010774:	f042 5240 	orr.w	r2, r2, #805306368	; 0x30000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set frame size */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->ControlBufferSize = (FrameLength& ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010800:	0cc0      	lsrs	r0, r0, #19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010778:	0cc0      	lsrs	r0, r0, #19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else buf_count =1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (buf_count ==1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /*set LAST and FIRST segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->Status |=ETH_DMATxDesc_FS|ETH_DMATxDesc_LS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010802:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801077a:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set frame size */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->ControlBufferSize = (FrameLength& ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010804:	6058      	str	r0, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801077c:	6058      	str	r0, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Own bit of the Tx descriptor Status: gives the buffer back to ETHERNET DMA */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->Status |= ETH_DMATxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010806:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010808:	f042 4200 	orr.w	r2, r2, #2147483648	; 0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801080c:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801077e:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010780:	f042 4200 	orr.w	r2, r2, #2147483648	; 0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010784:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet= (ETH_DMADESCTypeDef *)(DMATxDescToSet->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801080e:	68da      	ldr	r2, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010810:	e014      	b.n	801083c <ETH_Prepare_Transmit_Descriptors+0x88> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010786:	68da      	ldr	r2, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010788:	e014      	b.n	80107b4 <ETH_Prepare_Transmit_Descriptors+0x88> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (i=0; i< buf_count; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (i==0)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010812:	b918      	cbnz	r0, 801081c <ETH_Prepare_Transmit_Descriptors+0x68> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801078a:	b918      	cbnz	r0, 8010794 <ETH_Prepare_Transmit_Descriptors+0x68> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Setting the first segment bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DMATxDescToSet->Status |= ETH_DMATxDesc_FS;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010814:	681c      	ldr	r4, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010816:	f044 5480 	orr.w	r4, r4, #268435456	; 0x10000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801081a:	601c      	str	r4, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801078c:	681c      	ldr	r4, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801078e:	f044 5480 	orr.w	r4, r4, #268435456	; 0x10000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010792:	601c      	str	r4, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Program size */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc->ControlBufferSize = (ETH_TX_BUF_SIZE & ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (i== (buf_count-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801081c:	42b8      	cmp	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010794:	42b8      	cmp	r0, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Setting the first segment bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DMATxDescToSet->Status |= ETH_DMATxDesc_FS;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Program size */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc->ControlBufferSize = (ETH_TX_BUF_SIZE & ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801081e:	6056      	str	r6, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010796:	6056      	str	r6, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (i== (buf_count-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010820:	d104      	bne.n	801082c <ETH_Prepare_Transmit_Descriptors+0x78> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010798:	d104      	bne.n	80107a4 <ETH_Prepare_Transmit_Descriptors+0x78> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Setting the last segment bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DMATxNextDesc->Status |= ETH_DMATxDesc_LS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010822:	6814      	ldr	r4, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010824:	f044 5400 	orr.w	r4, r4, #536870912	; 0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010828:	6014      	str	r4, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801079a:	6814      	ldr	r4, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801079c:	f044 5400 	orr.w	r4, r4, #536870912	; 0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107a0:	6014      	str	r4, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         size = FrameLength - (buf_count-1)*ETH_TX_BUF_SIZE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DMATxNextDesc->ControlBufferSize = (size & ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801082a:	6055      	str	r5, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107a2:	6055      	str	r5, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /*give back descriptor to DMA */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc->Status |= ETH_DMATxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801082c:	6814      	ldr	r4, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107a4:	6814      	ldr	r4, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->Status |= ETH_DMATxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet= (ETH_DMADESCTypeDef *)(DMATxDescToSet->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (i=0; i< buf_count; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801082e:	3001      	adds	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107a6:	3001      	adds	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         size = FrameLength - (buf_count-1)*ETH_TX_BUF_SIZE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DMATxNextDesc->ControlBufferSize = (size & ETH_DMATxDesc_TBS1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /*give back descriptor to DMA */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc->Status |= ETH_DMATxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010830:	f044 4400 	orr.w	r4, r4, #2147483648	; 0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010834:	6014      	str	r4, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107a8:	f044 4400 	orr.w	r4, r4, #2147483648	; 0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107ac:	6014      	str	r4, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->Status |= ETH_DMATxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet= (ETH_DMADESCTypeDef *)(DMATxDescToSet->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (i=0; i< buf_count; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010836:	4288      	cmp	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107ae:	4288      	cmp	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /*give back descriptor to DMA */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc->Status |= ETH_DMATxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc = (ETH_DMADESCTypeDef *)(DMATxNextDesc->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010838:	68d2      	ldr	r2, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107b0:	68d2      	ldr	r2, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet->Status |= ETH_DMATxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet= (ETH_DMADESCTypeDef *)(DMATxDescToSet->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (i=0; i< buf_count; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801083a:	d3ea      	bcc.n	8010812 <ETH_Prepare_Transmit_Descriptors+0x5e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107b2:	d3ea      	bcc.n	801078a <ETH_Prepare_Transmit_Descriptors+0x5e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc->Status |= ETH_DMATxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxNextDesc = (ETH_DMADESCTypeDef *)(DMATxNextDesc->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Set Own bit of the Tx descriptor Status: gives the buffer back to ETHERNET DMA */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDescToSet = DMATxNextDesc ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801083c:	4b07      	ldr	r3, [pc, #28]	; (801085c <ETH_Prepare_Transmit_Descriptors+0xa8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801083e:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107b4:	4b07      	ldr	r3, [pc, #28]	; (80107d4 <ETH_Prepare_Transmit_Descriptors+0xa8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107b6:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* When Tx Buffer unavailable flag is set: clear it and resume transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if ((ETH->DMASR & ETH_DMASR_TBUS) != (u32)RESET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010840:	4b08      	ldr	r3, [pc, #32]	; (8010864 <ETH_Prepare_Transmit_Descriptors+0xb0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010842:	695a      	ldr	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010844:	0750      	lsls	r0, r2, #29 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010846:	d506      	bpl.n	8010856 <ETH_Prepare_Transmit_Descriptors+0xa2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107b8:	4b08      	ldr	r3, [pc, #32]	; (80107dc <ETH_Prepare_Transmit_Descriptors+0xb0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107ba:	695a      	ldr	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107bc:	0750      	lsls	r0, r2, #29 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107be:	d506      	bpl.n	80107ce <ETH_Prepare_Transmit_Descriptors+0xa2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Clear TBUS ETHERNET DMA flag */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMASR = ETH_DMASR_TBUS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010848:	2204      	movs	r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801084a:	615a      	str	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107c0:	2204      	movs	r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107c2:	615a      	str	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Resume DMA transmission*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMATPDR = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801084c:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801084e:	605a      	str	r2, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010850:	e001      	b.n	8010856 <ETH_Prepare_Transmit_Descriptors+0xa2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107c4:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107c6:	605a      	str	r2, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107c8:	e001      	b.n	80107ce <ETH_Prepare_Transmit_Descriptors+0xa2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if the descriptor is owned by the ETHERNET DMA (when set) or CPU (when reset) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if((DMATxDescToSet->Status & ETH_DMATxDesc_OWN) != (u32)RESET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Return ERROR: OWN bit set */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010852:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010854:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107ca:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107cc:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Resume DMA transmission*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMATPDR = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return SUCCESS */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ETH_SUCCESS;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010856:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107ce:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010858:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801085a:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801085c:	20008cc0 	.word	0x20008cc0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010860:	fffffa0c 	.word	0xfffffa0c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010864:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107d0:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107d2:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107d4:	20008afc 	.word	0x20008afc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107d8:	fffffa0c 	.word	0xfffffa0c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107dc:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010868 <ETH_DMARxDescChainInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080107e0 <ETH_DMARxDescChainInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMADESCTypeDef *DMARxDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DMARxDescToGet pointer with the first one of the DMARxDescTab list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMARxDescToGet = DMARxDescTab;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010868:	4b11      	ldr	r3, [pc, #68]	; (80108b0 <ETH_DMARxDescChainInit+0x48>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107e0:	4b11      	ldr	r3, [pc, #68]	; (8010828 <ETH_DMARxDescChainInit+0x48>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  RxBuff: Pointer on the first RxBuffer list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  RxBuffCount: Number of the used Rx desc in the list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMARxDescChainInit(ETH_DMADESCTypeDef *DMARxDescTab, uint8_t *RxBuff, uint32_t RxBuffCount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801086a:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107e2:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMADESCTypeDef *DMARxDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DMARxDescToGet pointer with the first one of the DMARxDescTab list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMARxDescToGet = DMARxDescTab;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801086c:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107e4:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Fill each DMARxDesc descriptor with the right values */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < RxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801086e:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107e6:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  DMARxDescTab: Pointer on the first Rx desc list  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  RxBuff: Pointer on the first RxBuffer list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  RxBuffCount: Number of the used Rx desc in the list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMARxDescChainInit(ETH_DMADESCTypeDef *DMARxDescTab, uint8_t *RxBuff, uint32_t RxBuffCount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010870:	f100 0320 	add.w	r3, r0, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107e8:	f100 0320 	add.w	r3, r0, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < RxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Get the pointer on the ith member of the Rx Desc list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc = DMARxDescTab+i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Own bit of the Rx descriptor Status */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc->Status = ETH_DMARxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010874:	f04f 4500 	mov.w	r5, #2147483648	; 0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107ec:	f04f 4500 	mov.w	r5, #2147483648	; 0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Buffer1 size and Second Address Chained bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_RX_BUF_SIZE;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010878:	f244 56f4 	movw	r6, #17908	; 0x45f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107f0:	f244 56f4 	movw	r6, #17908	; 0x45f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Buffer1 address pointer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i*ETH_RX_BUF_SIZE]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Initialize the next descriptor with the Next Descriptor Polling Enable */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(i < (RxBuffCount-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801087c:	1e57      	subs	r7, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107f4:	1e57      	subs	r7, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMADESCTypeDef *DMARxDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DMARxDescToGet pointer with the first one of the DMARxDescTab list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMARxDescToGet = DMARxDescTab;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Fill each DMARxDesc descriptor with the right values */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < RxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801087e:	e00f      	b.n	80108a0 <ETH_DMARxDescChainInit+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107f6:	e00f      	b.n	8010818 <ETH_DMARxDescChainInit+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Initialize the next descriptor with the Next Descriptor Polling Enable */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(i < (RxBuffCount-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Set next descriptor address register with next descriptor base address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab+i+1);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010880:	42bc      	cmp	r4, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010882:	bf2c      	ite	cs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010884:	4684      	movcs	ip, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010886:	469c      	movcc	ip, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107f8:	42bc      	cmp	r4, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107fa:	bf2c      	ite	cs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107fc:	4684      	movcs	ip, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80107fe:	469c      	movcc	ip, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc->Status = ETH_DMARxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Buffer1 size and Second Address Chained bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_RX_BUF_SIZE;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Buffer1 address pointer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i*ETH_RX_BUF_SIZE]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010888:	f843 1c18 	str.w	r1, [r3, #-24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010800:	f843 1c18 	str.w	r1, [r3, #-24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < RxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Get the pointer on the ith member of the Rx Desc list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc = DMARxDescTab+i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Own bit of the Rx descriptor Status */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc->Status = ETH_DMARxDesc_OWN; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801088c:	f843 5c20 	str.w	r5, [r3, #-32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010804:	f843 5c20 	str.w	r5, [r3, #-32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Buffer1 size and Second Address Chained bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_RX_BUF_SIZE;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010890:	f843 6c1c 	str.w	r6, [r3, #-28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010808:	f843 6c1c 	str.w	r6, [r3, #-28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Initialize the next descriptor with the Next Descriptor Polling Enable */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(i < (RxBuffCount-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Set next descriptor address register with next descriptor base address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab+i+1);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010894:	f843 cc14 	str.w	ip, [r3, #-20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801080c:	f843 cc14 	str.w	ip, [r3, #-20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMADESCTypeDef *DMARxDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DMARxDescToGet pointer with the first one of the DMARxDescTab list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMARxDescToGet = DMARxDescTab;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Fill each DMARxDesc descriptor with the right values */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < RxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010898:	3401      	adds	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801089a:	3320      	adds	r3, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801089c:	f201 51f4 	addw	r1, r1, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108a0:	4294      	cmp	r4, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108a2:	d1ed      	bne.n	8010880 <ETH_DMARxDescChainInit+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010810:	3401      	adds	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010812:	3320      	adds	r3, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010814:	f201 51f4 	addw	r1, r1, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010818:	4294      	cmp	r4, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801081a:	d1ed      	bne.n	80107f8 <ETH_DMARxDescChainInit+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set Receive Descriptor List Address Register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMARDLAR = (uint32_t) DMARxDescTab;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108a4:	4b03      	ldr	r3, [pc, #12]	; (80108b4 <ETH_DMARxDescChainInit+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801081c:	4b03      	ldr	r3, [pc, #12]	; (801082c <ETH_DMARxDescChainInit+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMA_RX_FRAME_infos = &RX_Frame_Descriptor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108a6:	4a04      	ldr	r2, [pc, #16]	; (80108b8 <ETH_DMARxDescChainInit+0x50>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801081e:	4a04      	ldr	r2, [pc, #16]	; (8010830 <ETH_DMARxDescChainInit+0x50>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set Receive Descriptor List Address Register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMARDLAR = (uint32_t) DMARxDescTab;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108a8:	60d8      	str	r0, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010820:	60d8      	str	r0, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMA_RX_FRAME_infos = &RX_Frame_Descriptor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108aa:	4b04      	ldr	r3, [pc, #16]	; (80108bc <ETH_DMARxDescChainInit+0x54>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108ac:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108ae:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108b0:	20008cbc 	.word	0x20008cbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108b4:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108b8:	20008cb0 	.word	0x20008cb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108bc:	2000ab2c 	.word	0x2000ab2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080108c0 <ETH_CheckFrameReceived>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010822:	4b04      	ldr	r3, [pc, #16]	; (8010834 <ETH_DMARxDescChainInit+0x54>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010824:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010826:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010828:	20008af8 	.word	0x20008af8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801082c:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010830:	20008aec 	.word	0x20008aec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010834:	2000a968 	.word	0x2000a968 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010838 <ETH_CheckFrameReceived>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval Returns 1 when a frame is received, 0 if none. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t ETH_CheckFrameReceived(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* check if last segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108c0:	4b1c      	ldr	r3, [pc, #112]	; (8010934 <ETH_CheckFrameReceived+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108c2:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108c4:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108c6:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108c8:	db0a      	blt.n	80108e0 <ETH_CheckFrameReceived+0x20> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010838:	4b1c      	ldr	r3, [pc, #112]	; (80108ac <ETH_CheckFrameReceived+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801083a:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801083c:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801083e:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010840:	db0a      	blt.n	8010858 <ETH_CheckFrameReceived+0x20> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_LS) != (uint32_t)RESET))  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108ca:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010842:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval Returns 1 when a frame is received, 0 if none. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t ETH_CheckFrameReceived(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* check if last segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108cc:	05d1      	lsls	r1, r2, #23 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108ce:	d507      	bpl.n	80108e0 <ETH_CheckFrameReceived+0x20> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010844:	05d1      	lsls	r1, r2, #23 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010846:	d507      	bpl.n	8010858 <ETH_CheckFrameReceived+0x20> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_LS) != (uint32_t)RESET))  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->LS_Rx_Desc = DMARxDescToGet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108d0:	4a19      	ldr	r2, [pc, #100]	; (8010938 <ETH_CheckFrameReceived+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108d2:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108d4:	6053      	str	r3, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010848:	4a19      	ldr	r2, [pc, #100]	; (80108b0 <ETH_CheckFrameReceived+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801084a:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801084c:	6053      	str	r3, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->Seg_Count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108d6:	6893      	ldr	r3, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108d8:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108da:	6093      	str	r3, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801084e:	6893      	ldr	r3, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010850:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010852:	6093      	str	r3, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108dc:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108de:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010854:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010856:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* check if first segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108e0:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108e2:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108e4:	db10      	blt.n	8010908 <ETH_CheckFrameReceived+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010858:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801085a:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801085c:	db10      	blt.n	8010880 <ETH_CheckFrameReceived+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_FS) != (uint32_t)RESET)&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108e6:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801085e:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->Seg_Count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* check if first segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108e8:	0592      	lsls	r2, r2, #22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108ea:	d50d      	bpl.n	8010908 <ETH_CheckFrameReceived+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010860:	0592      	lsls	r2, r2, #22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010862:	d50d      	bpl.n	8010880 <ETH_CheckFrameReceived+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_FS) != (uint32_t)RESET)&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_LS) == (uint32_t)RESET))       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108ec:	6818      	ldr	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010864:	6818      	ldr	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* check if first segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_FS) != (uint32_t)RESET)&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108ee:	f410 7080 	ands.w	r0, r0, #256	; 0x100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108f2:	d109      	bne.n	8010908 <ETH_CheckFrameReceived+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010866:	f410 7080 	ands.w	r0, r0, #256	; 0x100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801086a:	d109      	bne.n	8010880 <ETH_CheckFrameReceived+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_LS) == (uint32_t)RESET))       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->FS_Rx_Desc = DMARxDescToGet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108f4:	4a10      	ldr	r2, [pc, #64]	; (8010938 <ETH_CheckFrameReceived+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108f6:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801086c:	4a10      	ldr	r2, [pc, #64]	; (80108b0 <ETH_CheckFrameReceived+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801086e:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->LS_Rx_Desc = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->Seg_Count = 1;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108f8:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010870:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* check if first segment */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_FS) != (uint32_t)RESET)&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_LS) == (uint32_t)RESET))       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->FS_Rx_Desc = DMARxDescToGet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108fa:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010872:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->LS_Rx_Desc = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108fc:	6050      	str	r0, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010874:	6050      	str	r0, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->Seg_Count = 1;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80108fe:	6091      	str	r1, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010876:	6091      	str	r1, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMARxDescToGet = (ETH_DMADESCTypeDef*) (DMARxDescToGet->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010900:	68da      	ldr	r2, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010902:	4b0c      	ldr	r3, [pc, #48]	; (8010934 <ETH_CheckFrameReceived+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010904:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010906:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010878:	68da      	ldr	r2, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801087a:	4b0c      	ldr	r3, [pc, #48]	; (80108ac <ETH_CheckFrameReceived+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801087c:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801087e:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* check if intermediate segment */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010908:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801090a:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801090c:	db0f      	blt.n	801092e <ETH_CheckFrameReceived+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010880:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010882:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010884:	db0f      	blt.n	80108a6 <ETH_CheckFrameReceived+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_FS) == (uint32_t)RESET)&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801090e:	6818      	ldr	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010886:	6818      	ldr	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMA_RX_FRAME_infos->Seg_Count = 1;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMARxDescToGet = (ETH_DMADESCTypeDef*) (DMARxDescToGet->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* check if intermediate segment */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010910:	f410 7000 	ands.w	r0, r0, #512	; 0x200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010914:	d10b      	bne.n	801092e <ETH_CheckFrameReceived+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010888:	f410 7000 	ands.w	r0, r0, #512	; 0x200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801088c:	d10b      	bne.n	80108a6 <ETH_CheckFrameReceived+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_FS) == (uint32_t)RESET)&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_LS) == (uint32_t)RESET)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010916:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801088e:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMARxDescToGet = (ETH_DMADESCTypeDef*) (DMARxDescToGet->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* check if intermediate segment */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(((DMARxDescToGet->Status & ETH_DMARxDesc_OWN) == (uint32_t)RESET) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_FS) == (uint32_t)RESET)&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010918:	f412 7180 	ands.w	r1, r2, #256	; 0x100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801091c:	d108      	bne.n	8010930 <ETH_CheckFrameReceived+0x70> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010890:	f412 7180 	ands.w	r1, r2, #256	; 0x100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010894:	d108      	bne.n	80108a8 <ETH_CheckFrameReceived+0x70> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      ((DMARxDescToGet->Status & ETH_DMARxDesc_LS) == (uint32_t)RESET)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (DMA_RX_FRAME_infos->Seg_Count) ++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801091e:	4a06      	ldr	r2, [pc, #24]	; (8010938 <ETH_CheckFrameReceived+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010920:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010922:	6890      	ldr	r0, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010924:	3001      	adds	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010926:	6090      	str	r0, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010896:	4a06      	ldr	r2, [pc, #24]	; (80108b0 <ETH_CheckFrameReceived+0x78>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010898:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801089a:	6890      	ldr	r0, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801089c:	3001      	adds	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801089e:	6090      	str	r0, [r2, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMARxDescToGet = (ETH_DMADESCTypeDef*) (DMARxDescToGet->Buffer2NextDescAddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010928:	68da      	ldr	r2, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801092a:	4b02      	ldr	r3, [pc, #8]	; (8010934 <ETH_CheckFrameReceived+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801092c:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108a0:	68da      	ldr	r2, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108a2:	4b02      	ldr	r3, [pc, #8]	; (80108ac <ETH_CheckFrameReceived+0x74>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108a4:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801092e:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108a6:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010930:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010932:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010934:	20008cbc 	.word	0x20008cbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010938:	2000ab2c 	.word	0x2000ab2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108a8:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108aa:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108ac:	20008af8 	.word	0x20008af8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108b0:	2000a968 	.word	0x2000a968 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801093c <ETH_DMATxDescChainInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080108b4 <ETH_DMATxDescChainInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMADESCTypeDef *DMATxDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DMATxDescToSet pointer with the first one of the DMATxDescTab list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMATxDescToSet = DMATxDescTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801093c:	4b0e      	ldr	r3, [pc, #56]	; (8010978 <ETH_DMATxDescChainInit+0x3c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108b4:	4b0e      	ldr	r3, [pc, #56]	; (80108f0 <ETH_DMATxDescChainInit+0x3c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  TxBuff: Pointer on the first TxBuffer list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  TxBuffCount: Number of the used Tx desc in the list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMATxDescChainInit(ETH_DMADESCTypeDef *DMATxDescTab, uint8_t* TxBuff, uint32_t TxBuffCount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801093e:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108b6:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMADESCTypeDef *DMATxDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DMATxDescToSet pointer with the first one of the DMATxDescTab list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMATxDescToSet = DMATxDescTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010940:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108b8:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Fill each DMATxDesc descriptor with the right values */    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < TxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010942:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108ba:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  DMATxDescTab: Pointer on the first Tx desc list  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  TxBuff: Pointer on the first TxBuffer list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  TxBuffCount: Number of the used Tx desc in the list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMATxDescChainInit(ETH_DMADESCTypeDef *DMATxDescTab, uint8_t* TxBuff, uint32_t TxBuffCount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010944:	f100 0320 	add.w	r3, r0, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108bc:	f100 0320 	add.w	r3, r0, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < TxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Get the pointer on the ith member of the Tx Desc list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDesc = DMATxDescTab + i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Second Address Chained bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDesc->Status = ETH_DMATxDesc_TCH;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010948:	f44f 1580 	mov.w	r5, #1048576	; 0x100000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108c0:	f44f 1580 	mov.w	r5, #1048576	; 0x100000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Buffer1 address pointer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i*ETH_TX_BUF_SIZE]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Initialize the next descriptor with the Next Descriptor Polling Enable */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(i < (TxBuffCount-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801094c:	1e56      	subs	r6, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108c4:	1e56      	subs	r6, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMADESCTypeDef *DMATxDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DMATxDescToSet pointer with the first one of the DMATxDescTab list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMATxDescToSet = DMATxDescTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Fill each DMATxDesc descriptor with the right values */    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < TxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801094e:	e00d      	b.n	801096c <ETH_DMATxDescChainInit+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108c6:	e00d      	b.n	80108e4 <ETH_DMATxDescChainInit+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Initialize the next descriptor with the Next Descriptor Polling Enable */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(i < (TxBuffCount-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Set next descriptor address register with next descriptor base address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxDesc->Buffer2NextDescAddr = (uint32_t)(DMATxDescTab+i+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010950:	42b4      	cmp	r4, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010952:	bf2c      	ite	cs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010954:	4607      	movcs	r7, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010956:	461f      	movcc	r7, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108c8:	42b4      	cmp	r4, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108ca:	bf2c      	ite	cs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108cc:	4607      	movcs	r7, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108ce:	461f      	movcc	r7, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDesc = DMATxDescTab + i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Second Address Chained bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDesc->Status = ETH_DMATxDesc_TCH;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Buffer1 address pointer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i*ETH_TX_BUF_SIZE]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010958:	f843 1c18 	str.w	r1, [r3, #-24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108d0:	f843 1c18 	str.w	r1, [r3, #-24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < TxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Get the pointer on the ith member of the Tx Desc list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDesc = DMATxDescTab + i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Set Second Address Chained bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DMATxDesc->Status = ETH_DMATxDesc_TCH;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801095c:	f843 5c20 	str.w	r5, [r3, #-32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108d4:	f843 5c20 	str.w	r5, [r3, #-32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Initialize the next descriptor with the Next Descriptor Polling Enable */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(i < (TxBuffCount-1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Set next descriptor address register with next descriptor base address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxDesc->Buffer2NextDescAddr = (uint32_t)(DMATxDescTab+i+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010960:	f843 7c14 	str.w	r7, [r3, #-20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108d8:	f843 7c14 	str.w	r7, [r3, #-20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMADESCTypeDef *DMATxDesc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DMATxDescToSet pointer with the first one of the DMATxDescTab list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMATxDescToSet = DMATxDescTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Fill each DMATxDesc descriptor with the right values */    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(i=0; i < TxBuffCount; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010964:	3401      	adds	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010966:	3320      	adds	r3, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010968:	f201 51f4 	addw	r1, r1, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801096c:	4294      	cmp	r4, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801096e:	d1ef      	bne.n	8010950 <ETH_DMATxDescChainInit+0x14> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108dc:	3401      	adds	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108de:	3320      	adds	r3, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108e0:	f201 51f4 	addw	r1, r1, #1524	; 0x5f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108e4:	4294      	cmp	r4, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108e6:	d1ef      	bne.n	80108c8 <ETH_DMATxDescChainInit+0x14> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DMATxDesc->Buffer2NextDescAddr = (uint32_t) DMATxDescTab;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set Transmit Desciptor List Address Register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMATDLAR = (uint32_t) DMATxDescTab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010970:	4b02      	ldr	r3, [pc, #8]	; (801097c <ETH_DMATxDescChainInit+0x40>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010972:	6118      	str	r0, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010974:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010976:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010978:	20008cc0 	.word	0x20008cc0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801097c:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108e8:	4b02      	ldr	r3, [pc, #8]	; (80108f4 <ETH_DMATxDescChainInit+0x40>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108ea:	6118      	str	r0, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108ec:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108ee:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108f0:	20008afc 	.word	0x20008afc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108f4:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010980 <ETH_DMATxDescChecksumInsertionConfig>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080108f8 <ETH_DMATxDescChecksumInsertionConfig>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_DMA_TXDESC_CHECKSUM(DMATxDesc_Checksum)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the selected DMA Tx desc checksum insertion control */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DMATxDesc->Status |= DMATxDesc_Checksum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010980:	6803      	ldr	r3, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010982:	4319      	orrs	r1, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010984:	6001      	str	r1, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010986:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108f8:	6803      	ldr	r3, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108fa:	4319      	orrs	r1, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108fc:	6001      	str	r1, [r0, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80108fe:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010988 <ETH_SoftwareReset>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010900 <ETH_SoftwareReset>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_SoftwareReset(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the SWR bit: resets all MAC subsystem internal registers and logic */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* After reset all the registers holds their respective reset values */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMABMR |= ETH_DMABMR_SR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010988:	4b02      	ldr	r3, [pc, #8]	; (8010994 <ETH_SoftwareReset+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801098a:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801098c:	f042 0201 	orr.w	r2, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010990:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010992:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010994:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010998 <ETH_GetSoftwareResetStatus>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010900:	4b02      	ldr	r3, [pc, #8]	; (801090c <ETH_SoftwareReset+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010902:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010904:	f042 0201 	orr.w	r2, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010908:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801090a:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801090c:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010910 <ETH_GetSoftwareResetStatus>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval The new state of DMA Bus Mode register SR bit (SET or RESET). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 FlagStatus ETH_GetSoftwareResetStatus(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   FlagStatus bitstatus = RESET; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if((ETH->DMABMR & ETH_DMABMR_SR) != (uint32_t)RESET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010998:	4b02      	ldr	r3, [pc, #8]	; (80109a4 <ETH_GetSoftwareResetStatus+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801099a:	6818      	ldr	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010910:	4b02      	ldr	r3, [pc, #8]	; (801091c <ETH_GetSoftwareResetStatus+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010912:	6818      	ldr	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bitstatus = RESET; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return bitstatus; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801099c:	f000 0001 	and.w	r0, r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109a0:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109a2:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109a4:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010914:	f000 0001 	and.w	r0, r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010918:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801091a:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801091c:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080109a8 <ETH_DMAITConfig>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010920 <ETH_DMAITConfig>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  NewState: new state of the specified ETHERNET DMA interrupts. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *   This parameter can be: ENABLE or DISABLE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMAITConfig(uint32_t ETH_DMA_IT, FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109a8:	4b04      	ldr	r3, [pc, #16]	; (80109bc <ETH_DMAITConfig+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010920:	4b04      	ldr	r3, [pc, #16]	; (8010934 <ETH_DMAITConfig+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState));   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the selected ETHERNET DMA interrupts */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAIER |= ETH_DMA_IT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109aa:	69da      	ldr	r2, [r3, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010922:	69da      	ldr	r2, [r3, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_DMA_IT(ETH_DMA_IT)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState));   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109ac:	b109      	cbz	r1, 80109b2 <ETH_DMAITConfig+0xa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010924:	b109      	cbz	r1, 801092a <ETH_DMAITConfig+0xa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the selected ETHERNET DMA interrupts */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAIER |= ETH_DMA_IT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109ae:	4310      	orrs	r0, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109b0:	e001      	b.n	80109b6 <ETH_DMAITConfig+0xe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010926:	4310      	orrs	r0, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010928:	e001      	b.n	801092e <ETH_DMAITConfig+0xe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Disable the selected ETHERNET DMA interrupts */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAIER &=(~(uint32_t)ETH_DMA_IT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109b2:	ea22 0000 	bic.w	r0, r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109b6:	61d8      	str	r0, [r3, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109b8:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109ba:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109bc:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801092a:	ea22 0000 	bic.w	r0, r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801092e:	61d8      	str	r0, [r3, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010930:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010932:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010934:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080109c0 <ETH_FlushTransmitFIFO>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010938 <ETH_FlushTransmitFIFO>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_FlushTransmitFIFO(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the Flush Transmit FIFO bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMAOMR |= ETH_DMAOMR_FTF;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109c0:	4b02      	ldr	r3, [pc, #8]	; (80109cc <ETH_FlushTransmitFIFO+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109c2:	699a      	ldr	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109c4:	f442 1280 	orr.w	r2, r2, #1048576	; 0x100000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109c8:	619a      	str	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109ca:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109cc:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080109d0 <ETH_DMATransmissionCmd>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010938:	4b02      	ldr	r3, [pc, #8]	; (8010944 <ETH_FlushTransmitFIFO+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801093a:	699a      	ldr	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801093c:	f442 1280 	orr.w	r2, r2, #1048576	; 0x100000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010940:	619a      	str	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010942:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010944:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010948 <ETH_DMATransmissionCmd>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  NewState: new state of the DMA transmission. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *   This parameter can be: ENABLE or DISABLE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMATransmissionCmd(FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109d0:	4b04      	ldr	r3, [pc, #16]	; (80109e4 <ETH_DMATransmissionCmd+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010948:	4b04      	ldr	r3, [pc, #16]	; (801095c <ETH_DMATransmissionCmd+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the DMA transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAOMR |= ETH_DMAOMR_ST;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109d2:	699a      	ldr	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801094a:	699a      	ldr	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMATransmissionCmd(FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109d4:	b110      	cbz	r0, 80109dc <ETH_DMATransmissionCmd+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801094c:	b110      	cbz	r0, 8010954 <ETH_DMATransmissionCmd+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the DMA transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAOMR |= ETH_DMAOMR_ST;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109d6:	f442 5200 	orr.w	r2, r2, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109da:	e001      	b.n	80109e0 <ETH_DMATransmissionCmd+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801094e:	f442 5200 	orr.w	r2, r2, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010952:	e001      	b.n	8010958 <ETH_DMATransmissionCmd+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Disable the DMA transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAOMR &= ~ETH_DMAOMR_ST; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109dc:	f422 5200 	bic.w	r2, r2, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109e0:	619a      	str	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109e2:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109e4:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010954:	f422 5200 	bic.w	r2, r2, #8192	; 0x2000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010958:	619a      	str	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801095a:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801095c:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080109e8 <ETH_DMAReceptionCmd>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010960 <ETH_DMAReceptionCmd>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  NewState: new state of the DMA reception. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *   This parameter can be: ENABLE or DISABLE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMAReceptionCmd(FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109e8:	4b04      	ldr	r3, [pc, #16]	; (80109fc <ETH_DMAReceptionCmd+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010960:	4b04      	ldr	r3, [pc, #16]	; (8010974 <ETH_DMAReceptionCmd+0x14>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the DMA reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAOMR |= ETH_DMAOMR_SR;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109ea:	699a      	ldr	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010962:	699a      	ldr	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_DMAReceptionCmd(FunctionalState NewState) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_FUNCTIONAL_STATE(NewState)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (NewState != DISABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109ec:	b110      	cbz	r0, 80109f4 <ETH_DMAReceptionCmd+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010964:	b110      	cbz	r0, 801096c <ETH_DMAReceptionCmd+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the DMA reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAOMR |= ETH_DMAOMR_SR;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109ee:	f042 0202 	orr.w	r2, r2, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109f2:	e001      	b.n	80109f8 <ETH_DMAReceptionCmd+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010966:	f042 0202 	orr.w	r2, r2, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801096a:	e001      	b.n	8010970 <ETH_DMAReceptionCmd+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Disable the DMA reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMAOMR &= ~ETH_DMAOMR_SR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109f4:	f022 0202 	bic.w	r2, r2, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109f8:	619a      	str	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109fa:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80109fc:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801096c:	f022 0202 	bic.w	r2, r2, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010970:	619a      	str	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010972:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010974:	40029000 	.word	0x40029000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010a00 <ETH_Start>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010978 <ETH_Start>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  Enables ENET MAC and DMA reception/transmission  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ETH_Start(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a00:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010978:	b508      	push	{r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable transmit state machine of the MAC for transmission on the MII */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_MACTransmissionCmd(ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a02:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a04:	f7ff fe8c 	bl	8010720 <ETH_MACTransmissionCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801097a:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801097c:	f7ff fe8c 	bl	8010698 <ETH_MACTransmissionCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Flush Transmit FIFO */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_FlushTransmitFIFO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a08:	f7ff ffda 	bl	80109c0 <ETH_FlushTransmitFIFO> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010980:	f7ff ffda 	bl	8010938 <ETH_FlushTransmitFIFO> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable receive state machine of the MAC for reception from the MII */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_MACReceptionCmd(ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a0c:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a0e:	f7ff fe93 	bl	8010738 <ETH_MACReceptionCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010984:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010986:	f7ff fe93 	bl	80106b0 <ETH_MACReceptionCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Start DMA transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMATransmissionCmd(ENABLE);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a12:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a14:	f7ff ffdc 	bl	80109d0 <ETH_DMATransmissionCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801098a:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801098c:	f7ff ffdc 	bl	8010948 <ETH_DMATransmissionCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Start DMA reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMAReceptionCmd(ENABLE);    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a18:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010990:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a1a:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010992:	e8bd 4008 	ldmia.w	sp!, {r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_MACReceptionCmd(ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Start DMA transmission */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMATransmissionCmd(ENABLE);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Start DMA reception */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_DMAReceptionCmd(ENABLE);    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a1e:	f7ff bfe3 	b.w	80109e8 <ETH_DMAReceptionCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a22:	0000      	movs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010996:	f7ff bfe3 	b.w	8010960 <ETH_DMAReceptionCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801099a:	0000      	movs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010a24 <ETH_ReadPHYRegister>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0801099c <ETH_ReadPHYRegister>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *     @arg More PHY register could be read depending on the used PHY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval ETH_ERROR: in case of timeout 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         MAC MIIDR register value: Data read from the selected PHY register (correct read ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint16_t ETH_ReadPHYRegister(uint16_t PHYAddress, uint16_t PHYReg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a24:	b082      	sub	sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801099c:	b082      	sub	sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t tmpreg = 0;      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 __IO uint32_t timeout = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a26:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a28:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801099e:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109a0:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_PHY_ADDRESS(PHYAddress)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_PHY_REG(PHYReg)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a2a:	4b11      	ldr	r3, [pc, #68]	; (8010a70 <ETH_ReadPHYRegister+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a2c:	691a      	ldr	r2, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109a2:	4b11      	ldr	r3, [pc, #68]	; (80109e8 <ETH_ReadPHYRegister+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109a4:	691a      	ldr	r2, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Keep only the CSR Clock Range CR[2:0] bits value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= ~MACMIIAR_CR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Prepare the MII address register value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYAddress<<11) & ETH_MACMIIAR_PA); /* Set the PHY device address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a2e:	06c0      	lsls	r0, r0, #27 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109a6:	06c0      	lsls	r0, r0, #27 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_PHY_REG(PHYReg)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Keep only the CSR Clock Range CR[2:0] bits value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= ~MACMIIAR_CR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a30:	f002 021c 	and.w	r2, r2, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109a8:	f002 021c 	and.w	r2, r2, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Prepare the MII address register value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYAddress<<11) & ETH_MACMIIAR_PA); /* Set the PHY device address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYReg<<6) & ETH_MACMIIAR_MR);      /* Set the PHY register address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a34:	0189      	lsls	r1, r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109ac:	0189      	lsls	r1, r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Keep only the CSR Clock Range CR[2:0] bits value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= ~MACMIIAR_CR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Prepare the MII address register value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYAddress<<11) & ETH_MACMIIAR_PA); /* Set the PHY device address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a36:	ea42 4210 	orr.w	r2, r2, r0, lsr #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109ae:	ea42 4210 	orr.w	r2, r2, r0, lsr #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYReg<<6) & ETH_MACMIIAR_MR);      /* Set the PHY register address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a3a:	f401 61f8 	and.w	r1, r1, #1984	; 0x7c0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109b2:	f401 61f8 	and.w	r1, r1, #1984	; 0x7c0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= ~ETH_MACMIIAR_MW;                              /* Set the read mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a3e:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109b6:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= ETH_MACMIIAR_MB;                               /* Set the MII Busy bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a40:	f042 0201 	orr.w	r2, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109b8:	f042 0201 	orr.w	r2, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write the result value into the MII Address register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACMIIAR = tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a44:	611a      	str	r2, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109bc:	611a      	str	r2, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check for the Busy flag */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } while ((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a46:	4a0b      	ldr	r2, [pc, #44]	; (8010a74 <ETH_ReadPHYRegister+0x50>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109be:	4a0b      	ldr	r2, [pc, #44]	; (80109ec <ETH_ReadPHYRegister+0x50>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write the result value into the MII Address register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACMIIAR = tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check for the Busy flag */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a48:	9901      	ldr	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a4a:	3101      	adds	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a4c:	9101      	str	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109c0:	9901      	ldr	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109c2:	3101      	adds	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109c4:	9101      	str	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a4e:	6919      	ldr	r1, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109c6:	6919      	ldr	r1, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } while ((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a50:	07c9      	lsls	r1, r1, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a52:	d502      	bpl.n	8010a5a <ETH_ReadPHYRegister+0x36> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a54:	9901      	ldr	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a56:	4291      	cmp	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a58:	d9f6      	bls.n	8010a48 <ETH_ReadPHYRegister+0x24> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109c8:	07c9      	lsls	r1, r1, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109ca:	d502      	bpl.n	80109d2 <ETH_ReadPHYRegister+0x36> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109cc:	9901      	ldr	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109ce:	4291      	cmp	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109d0:	d9f6      	bls.n	80109c0 <ETH_ReadPHYRegister+0x24> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return ERROR in case of timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(timeout == PHY_READ_TO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a5a:	4b07      	ldr	r3, [pc, #28]	; (8010a78 <ETH_ReadPHYRegister+0x54>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a5c:	9a01      	ldr	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a5e:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109d2:	4b07      	ldr	r3, [pc, #28]	; (80109f0 <ETH_ReadPHYRegister+0x54>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109d4:	9a01      	ldr	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109d6:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return (uint16_t)ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return data register value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return (uint16_t)(ETH->MACMIIDR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a60:	bf1d      	ittte	ne 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a62:	4b03      	ldrne	r3, [pc, #12]	; (8010a70 <ETH_ReadPHYRegister+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a64:	6958      	ldrne	r0, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a66:	b280      	uxthne	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109d8:	bf1d      	ittte	ne 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109da:	4b03      	ldrne	r3, [pc, #12]	; (80109e8 <ETH_ReadPHYRegister+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109dc:	6958      	ldrne	r0, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109de:	b280      	uxthne	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } while ((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return ERROR in case of timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(timeout == PHY_READ_TO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return (uint16_t)ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a68:	2000      	moveq	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109e0:	2000      	moveq	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return data register value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return (uint16_t)(ETH->MACMIIDR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a6a:	b002      	add	sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a6c:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a6e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a70:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a74:	0004fffe 	.word	0x0004fffe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a78:	0004ffff 	.word	0x0004ffff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010a7c <ETH_WritePHYRegister>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109e2:	b002      	add	sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109e4:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109e6:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109e8:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109ec:	0004fffe 	.word	0x0004fffe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109f0:	0004ffff 	.word	0x0004ffff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080109f4 <ETH_WritePHYRegister>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  PHYValue: the value to write 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval ETH_ERROR: in case of timeout 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         ETH_SUCCESS: for correct write 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t ETH_WritePHYRegister(uint16_t PHYAddress, uint16_t PHYReg, uint16_t PHYValue) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a7c:	b513      	push	{r0, r1, r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109f4:	b513      	push	{r0, r1, r4, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t tmpreg = 0;      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO uint32_t timeout = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a7e:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a80:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109f6:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109f8:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check the parameters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_PHY_ADDRESS(PHYAddress)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_PHY_REG(PHYReg)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a82:	4b0f      	ldr	r3, [pc, #60]	; (8010ac0 <ETH_WritePHYRegister+0x44>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a84:	691c      	ldr	r4, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109fa:	4b0f      	ldr	r3, [pc, #60]	; (8010a38 <ETH_WritePHYRegister+0x44>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109fc:	691c      	ldr	r4, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYAddress<<11) & ETH_MACMIIAR_PA); /* Set the PHY device address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYReg<<6) & ETH_MACMIIAR_MR);      /* Set the PHY register address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= ETH_MACMIIAR_MW;                               /* Set the write mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= ETH_MACMIIAR_MB;                               /* Set the MII Busy bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Give the value to the MII data register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACMIIDR = PHYValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a86:	615a      	str	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80109fe:	615a      	str	r2, [r3, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_PHY_REG(PHYReg)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Keep only the CSR Clock Range CR[2:0] bits value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= ~MACMIIAR_CR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a88:	f004 041c 	and.w	r4, r4, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a00:	f004 041c 	and.w	r4, r4, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Prepare the MII register address value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYAddress<<11) & ETH_MACMIIAR_PA); /* Set the PHY device address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a8c:	f044 0403 	orr.w	r4, r4, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a90:	06c0      	lsls	r0, r0, #27 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a04:	f044 0403 	orr.w	r4, r4, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a08:	06c0      	lsls	r0, r0, #27 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |=(((uint32_t)PHYReg<<6) & ETH_MACMIIAR_MR);      /* Set the PHY register address */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a92:	0189      	lsls	r1, r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a94:	ea44 4410 	orr.w	r4, r4, r0, lsr #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a98:	f401 61f8 	and.w	r1, r1, #1984	; 0x7c0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a0a:	0189      	lsls	r1, r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a0c:	ea44 4410 	orr.w	r4, r4, r0, lsr #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a10:	f401 61f8 	and.w	r1, r1, #1984	; 0x7c0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= ETH_MACMIIAR_MW;                               /* Set the write mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= ETH_MACMIIAR_MB;                               /* Set the MII Busy bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a9c:	430c      	orrs	r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a14:	430c      	orrs	r4, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check for the Busy flag */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } while ((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010a9e:	4a09      	ldr	r2, [pc, #36]	; (8010ac4 <ETH_WritePHYRegister+0x48>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a16:	4a09      	ldr	r2, [pc, #36]	; (8010a3c <ETH_WritePHYRegister+0x48>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= ETH_MACMIIAR_MW;                               /* Set the write mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= ETH_MACMIIAR_MB;                               /* Set the MII Busy bit */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Give the value to the MII data register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACMIIDR = PHYValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write the result value into the MII Address register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACMIIAR = tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aa0:	611c      	str	r4, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a18:	611c      	str	r4, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check for the Busy flag */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aa2:	9901      	ldr	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aa4:	3101      	adds	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aa6:	9101      	str	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a1a:	9901      	ldr	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a1c:	3101      	adds	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a1e:	9101      	str	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aa8:	6919      	ldr	r1, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a20:	6919      	ldr	r1, [r3, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } while ((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aaa:	07c8      	lsls	r0, r1, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aac:	d502      	bpl.n	8010ab4 <ETH_WritePHYRegister+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aae:	9901      	ldr	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ab0:	4291      	cmp	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ab2:	d9f6      	bls.n	8010aa2 <ETH_WritePHYRegister+0x26> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a22:	07c8      	lsls	r0, r1, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a24:	d502      	bpl.n	8010a2c <ETH_WritePHYRegister+0x38> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a26:	9901      	ldr	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a28:	4291      	cmp	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a2a:	d9f6      	bls.n	8010a1a <ETH_WritePHYRegister+0x26> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return ERROR in case of timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(timeout == PHY_WRITE_TO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ab4:	9801      	ldr	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a2c:	9801      	ldr	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return SUCCESS */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ETH_SUCCESS;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ab6:	4b04      	ldr	r3, [pc, #16]	; (8010ac8 <ETH_WritePHYRegister+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ab8:	1ac0      	subs	r0, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aba:	bf18      	it	ne 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010abc:	2001      	movne	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010abe:	bd1c      	pop	{r2, r3, r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ac0:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ac4:	0004fffe 	.word	0x0004fffe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ac8:	0004ffff 	.word	0x0004ffff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010acc <ETH_Init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a2e:	4b04      	ldr	r3, [pc, #16]	; (8010a40 <ETH_WritePHYRegister+0x4c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a30:	1ac0      	subs	r0, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a32:	bf18      	it	ne 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a34:	2001      	movne	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a36:	bd1c      	pop	{r2, r3, r4, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a38:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a3c:	0004fffe 	.word	0x0004fffe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a40:	0004ffff 	.word	0x0004ffff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010a44 <ETH_Init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param PHYAddress: external PHY address                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval ETH_ERROR: Ethernet initialization failed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         ETH_SUCCESS: Ethernet successfully initialized                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t ETH_Init(ETH_InitTypeDef* ETH_InitStruct, uint16_t PHYAddress) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010acc:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ace:	b087      	sub	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a44:	b5f0      	push	{r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a46:	b087      	sub	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t RegValue = 0, tmpreg = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO uint32_t i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ad0:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a48:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_DMA_DESC_SKIP_LENGTH(ETH_InitStruct->ETH_DescriptorSkipLength));   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_DMA_ARBITRATION_ROUNDROBIN_RXTX(ETH_InitStruct->ETH_DMAArbitration));        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*-------------------------------- MAC Config ------------------------------*/    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*---------------------- ETHERNET MACMIIAR Configuration -------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ad2:	4f90      	ldr	r7, [pc, #576]	; (8010d14 <ETH_Init+0x248>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a4a:	4f90      	ldr	r7, [pc, #576]	; (8010c8c <ETH_Init+0x248>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         ETH_SUCCESS: Ethernet successfully initialized                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t ETH_Init(ETH_InitTypeDef* ETH_InitStruct, uint16_t PHYAddress) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t RegValue = 0, tmpreg = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO uint32_t i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ad4:	9300      	str	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a4c:	9300      	str	r3, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param PHYAddress: external PHY address                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval ETH_ERROR: Ethernet initialization failed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         ETH_SUCCESS: Ethernet successfully initialized                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t ETH_Init(ETH_InitTypeDef* ETH_InitStruct, uint16_t PHYAddress) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ad6:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a4e:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t RegValue = 0, tmpreg = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO uint32_t i = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_ClocksTypeDef  rcc_clocks; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t hclk = 60000000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __IO uint32_t timeout = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ad8:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a50:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Clear CSR Clock Range CR[2:0] bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= MACMIIAR_CR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get hclk frequency value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_GetClocksFreq(&rcc_clocks); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ada:	a802      	add	r0, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a52:	a802      	add	r0, sp, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param PHYAddress: external PHY address                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval ETH_ERROR: Ethernet initialization failed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *         ETH_SUCCESS: Ethernet successfully initialized                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 uint32_t ETH_Init(ETH_InitTypeDef* ETH_InitStruct, uint16_t PHYAddress) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010adc:	460e      	mov	r6, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a54:	460e      	mov	r6, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_DMA_DESC_SKIP_LENGTH(ETH_InitStruct->ETH_DescriptorSkipLength));   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   assert_param(IS_ETH_DMA_ARBITRATION_ROUNDROBIN_RXTX(ETH_InitStruct->ETH_DMAArbitration));        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*-------------------------------- MAC Config ------------------------------*/    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*---------------------- ETHERNET MACMIIAR Configuration -------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ade:	693d      	ldr	r5, [r7, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a56:	693d      	ldr	r5, [r7, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Clear CSR Clock Range CR[2:0] bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= MACMIIAR_CR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get hclk frequency value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_GetClocksFreq(&rcc_clocks); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ae0:	f7f9 fa12 	bl	8009f08 <RCC_GetClocksFreq> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a58:	f7f9 fa56 	bl	8009f08 <RCC_GetClocksFreq> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hclk = rcc_clocks.HCLK_Frequency; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ae4:	9b03      	ldr	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a5c:	9b03      	ldr	r3, [sp, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set CR bits depending on hclk value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if((hclk >= 20000000)&&(hclk < 35000000)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ae6:	4a8c      	ldr	r2, [pc, #560]	; (8010d18 <ETH_Init+0x24c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ae8:	498c      	ldr	r1, [pc, #560]	; (8010d1c <ETH_Init+0x250>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aea:	189a      	adds	r2, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aec:	428a      	cmp	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a5e:	4a8c      	ldr	r2, [pc, #560]	; (8010c90 <ETH_Init+0x24c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a60:	498c      	ldr	r1, [pc, #560]	; (8010c94 <ETH_Init+0x250>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a62:	189a      	adds	r2, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a64:	428a      	cmp	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*-------------------------------- MAC Config ------------------------------*/    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*---------------------- ETHERNET MACMIIAR Configuration -------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACMIIAR value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACMIIAR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Clear CSR Clock Range CR[2:0] bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= MACMIIAR_CR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010aee:	f025 051c 	bic.w	r5, r5, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a66:	f025 051c 	bic.w	r5, r5, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get hclk frequency value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_GetClocksFreq(&rcc_clocks); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   hclk = rcc_clocks.HCLK_Frequency; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set CR bits depending on hclk value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if((hclk >= 20000000)&&(hclk < 35000000)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010af2:	d802      	bhi.n	8010afa <ETH_Init+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a6a:	d802      	bhi.n	8010a72 <ETH_Init+0x2e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* CSR Clock Range between 20-35 MHz */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg |= (uint32_t)ETH_MACMIIAR_CR_Div16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010af4:	f045 0508 	orr.w	r5, r5, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010af8:	e015      	b.n	8010b26 <ETH_Init+0x5a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a6c:	f045 0508 	orr.w	r5, r5, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a70:	e015      	b.n	8010a9e <ETH_Init+0x5a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else if((hclk >= 35000000)&&(hclk < 60000000)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010afa:	4a89      	ldr	r2, [pc, #548]	; (8010d20 <ETH_Init+0x254>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010afc:	4989      	ldr	r1, [pc, #548]	; (8010d24 <ETH_Init+0x258>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010afe:	189a      	adds	r2, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b00:	428a      	cmp	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b02:	d802      	bhi.n	8010b0a <ETH_Init+0x3e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a72:	4a89      	ldr	r2, [pc, #548]	; (8010c98 <ETH_Init+0x254>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a74:	4989      	ldr	r1, [pc, #548]	; (8010c9c <ETH_Init+0x258>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a76:	189a      	adds	r2, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a78:	428a      	cmp	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a7a:	d802      	bhi.n	8010a82 <ETH_Init+0x3e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* CSR Clock Range between 35-60 MHz */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg |= (uint32_t)ETH_MACMIIAR_CR_Div26;     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b04:	f045 050c 	orr.w	r5, r5, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b08:	e00d      	b.n	8010b26 <ETH_Init+0x5a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a7c:	f045 050c 	orr.w	r5, r5, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a80:	e00d      	b.n	8010a9e <ETH_Init+0x5a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else if((hclk >= 60000000)&&(hclk < 100000000)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b0a:	4a87      	ldr	r2, [pc, #540]	; (8010d28 <ETH_Init+0x25c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b0c:	4987      	ldr	r1, [pc, #540]	; (8010d2c <ETH_Init+0x260>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b0e:	189a      	adds	r2, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b10:	428a      	cmp	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b12:	d908      	bls.n	8010b26 <ETH_Init+0x5a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a82:	4a87      	ldr	r2, [pc, #540]	; (8010ca0 <ETH_Init+0x25c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a84:	4987      	ldr	r1, [pc, #540]	; (8010ca4 <ETH_Init+0x260>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a86:	189a      	adds	r2, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a88:	428a      	cmp	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a8a:	d908      	bls.n	8010a9e <ETH_Init+0x5a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* CSR Clock Range between 60-100 MHz */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg |= (uint32_t)ETH_MACMIIAR_CR_Div42;     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else if((hclk >= 100000000)&&(hclk < 150000000)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b14:	4a86      	ldr	r2, [pc, #536]	; (8010d30 <ETH_Init+0x264>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b16:	189a      	adds	r2, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b18:	4b86      	ldr	r3, [pc, #536]	; (8010d34 <ETH_Init+0x268>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b1a:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a8c:	4a86      	ldr	r2, [pc, #536]	; (8010ca8 <ETH_Init+0x264>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a8e:	189a      	adds	r2, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a90:	4b86      	ldr	r3, [pc, #536]	; (8010cac <ETH_Init+0x268>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a92:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* CSR Clock Range between 100-150 MHz */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg |= (uint32_t)ETH_MACMIIAR_CR_Div62;     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b1c:	bf94      	ite	ls 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b1e:	f045 0504 	orrls.w	r5, r5, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a94:	bf94      	ite	ls 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a96:	f045 0504 	orrls.w	r5, r5, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else /* ((hclk >= 150000000)&&(hclk <= 168000000)) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* CSR Clock Range between 150-168 MHz */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tmpreg |= (uint32_t)ETH_MACMIIAR_CR_Div102;     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b22:	f045 0510 	orrhi.w	r5, r5, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a9a:	f045 0510 	orrhi.w	r5, r5, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET MAC MIIAR: Configure the ETHERNET CSR Clock Range */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACMIIAR = (uint32_t)tmpreg;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b26:	613d      	str	r5, [r7, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010a9e:	613d      	str	r5, [r7, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*-------------------- PHY initialization and configuration ----------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Put the PHY in reset mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(!(ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b28:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b2a:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b2c:	f44f 4200 	mov.w	r2, #32768	; 0x8000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b30:	f7ff ffa4 	bl	8010a7c <ETH_WritePHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b34:	b908      	cbnz	r0, 8010b3a <ETH_Init+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aa0:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aa2:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aa4:	f44f 4200 	mov.w	r2, #32768	; 0x8000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aa8:	f7ff ffa4 	bl	80109f4 <ETH_WritePHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aac:	b908      	cbnz	r0, 8010ab2 <ETH_Init+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Return ERROR in case of write timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b36:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b38:	e0e9      	b.n	8010d0e <ETH_Init+0x242> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aae:	2000      	movs	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ab0:	e0e9      	b.n	8010c86 <ETH_Init+0x242> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Delay to assure PHY reset */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   _eth_delay_(PHY_RESET_DELAY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b3a:	487f      	ldr	r0, [pc, #508]	; (8010d38 <ETH_Init+0x26c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b3c:	f7ff fd80 	bl	8010640 <ETH_Delay> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ab2:	487f      	ldr	r0, [pc, #508]	; (8010cb0 <ETH_Init+0x26c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ab4:	f7ff fd80 	bl	80105b8 <ETH_Delay> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(ETH_InitStruct->ETH_AutoNegotiation != ETH_AutoNegotiation_Disable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b40:	6821      	ldr	r1, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b42:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b44:	d050      	beq.n	8010be8 <ETH_Init+0x11c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ab8:	6821      	ldr	r1, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aba:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010abc:	d050      	beq.n	8010b60 <ETH_Init+0x11c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* We wait for linked status... */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status) && (timeout < PHY_READ_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b46:	4d7d      	ldr	r5, [pc, #500]	; (8010d3c <ETH_Init+0x270>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010abe:	4d7d      	ldr	r5, [pc, #500]	; (8010cb4 <ETH_Init+0x270>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(ETH_InitStruct->ETH_AutoNegotiation != ETH_AutoNegotiation_Disable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* We wait for linked status... */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b48:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ac0:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status) && (timeout < PHY_READ_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b4a:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ac2:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(ETH_InitStruct->ETH_AutoNegotiation != ETH_AutoNegotiation_Disable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* We wait for linked status... */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b4c:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ac4:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status) && (timeout < PHY_READ_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b4e:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ac6:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(ETH_InitStruct->ETH_AutoNegotiation != ETH_AutoNegotiation_Disable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* We wait for linked status... */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b50:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ac8:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status) && (timeout < PHY_READ_TO)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b52:	f7ff ff67 	bl	8010a24 <ETH_ReadPHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b56:	f000 0004 	and.w	r0, r0, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b5a:	b280      	uxth	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b5c:	b910      	cbnz	r0, 8010b64 <ETH_Init+0x98> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b5e:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b60:	42ab      	cmp	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b62:	d9f1      	bls.n	8010b48 <ETH_Init+0x7c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aca:	f7ff ff67 	bl	801099c <ETH_ReadPHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ace:	f000 0004 	and.w	r0, r0, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ad2:	b280      	uxth	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ad4:	b910      	cbnz	r0, 8010adc <ETH_Init+0x98> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ad6:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ad8:	42ab      	cmp	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ada:	d9f1      	bls.n	8010ac0 <ETH_Init+0x7c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Return ERROR in case of timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(timeout == PHY_READ_TO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b64:	9a01      	ldr	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b66:	4b76      	ldr	r3, [pc, #472]	; (8010d40 <ETH_Init+0x274>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b68:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b6a:	d0e4      	beq.n	8010b36 <ETH_Init+0x6a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010adc:	9a01      	ldr	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ade:	4b76      	ldr	r3, [pc, #472]	; (8010cb8 <ETH_Init+0x274>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ae0:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ae2:	d0e4      	beq.n	8010aae <ETH_Init+0x6a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Reset Timeout counter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timeout = 0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b6c:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ae4:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable Auto-Negotiation */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!(ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_AutoNegotiation))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b6e:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b70:	f44f 5280 	mov.w	r2, #4096	; 0x1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ae6:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ae8:	f44f 5280 	mov.w	r2, #4096	; 0x1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Reset Timeout counter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timeout = 0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b74:	9101      	str	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aec:	9101      	str	r1, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable Auto-Negotiation */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!(ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_AutoNegotiation))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b76:	f7ff ff81 	bl	8010a7c <ETH_WritePHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b7a:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b7c:	d0db      	beq.n	8010b36 <ETH_Init+0x6a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010aee:	f7ff ff81 	bl	80109f4 <ETH_WritePHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010af2:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010af4:	d0db      	beq.n	8010aae <ETH_Init+0x6a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Wait until the auto-negotiation will be completed */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_AutoNego_Complete) && (timeout < (uint32_t)PHY_READ_TO));   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b7e:	4d6f      	ldr	r5, [pc, #444]	; (8010d3c <ETH_Init+0x270>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010af6:	4d6f      	ldr	r5, [pc, #444]	; (8010cb4 <ETH_Init+0x270>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Wait until the auto-negotiation will be completed */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b80:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010af8:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_AutoNego_Complete) && (timeout < (uint32_t)PHY_READ_TO));   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b82:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010afa:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Wait until the auto-negotiation will be completed */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b84:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010afc:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_AutoNego_Complete) && (timeout < (uint32_t)PHY_READ_TO));   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b86:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010afe:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Wait until the auto-negotiation will be completed */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timeout++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b88:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b00:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_AutoNego_Complete) && (timeout < (uint32_t)PHY_READ_TO));   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b8a:	f7ff ff4b 	bl	8010a24 <ETH_ReadPHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b8e:	f000 0020 	and.w	r0, r0, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b92:	b280      	uxth	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b94:	b910      	cbnz	r0, 8010b9c <ETH_Init+0xd0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b96:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b98:	42ab      	cmp	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b9a:	d9f1      	bls.n	8010b80 <ETH_Init+0xb4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b02:	f7ff ff4b 	bl	801099c <ETH_ReadPHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b06:	f000 0020 	and.w	r0, r0, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b0a:	b280      	uxth	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b0c:	b910      	cbnz	r0, 8010b14 <ETH_Init+0xd0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b0e:	9b01      	ldr	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b10:	42ab      	cmp	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b12:	d9f1      	bls.n	8010af8 <ETH_Init+0xb4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Return ERROR in case of timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(timeout == PHY_READ_TO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b9c:	9a01      	ldr	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010b9e:	4b68      	ldr	r3, [pc, #416]	; (8010d40 <ETH_Init+0x274>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ba0:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ba2:	d0c8      	beq.n	8010b36 <ETH_Init+0x6a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b14:	9a01      	ldr	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b16:	4b68      	ldr	r3, [pc, #416]	; (8010cb8 <ETH_Init+0x274>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b18:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b1a:	d0c8      	beq.n	8010aae <ETH_Init+0x6a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Reset Timeout counter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timeout = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ba4:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b1c:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Read the result of the auto-negotiation */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     RegValue = ETH_ReadPHYRegister(PHYAddress, PHY_SR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ba6:	211f      	movs	r1, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ba8:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b1e:	211f      	movs	r1, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b20:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Reset Timeout counter */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timeout = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010baa:	9501      	str	r5, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b22:	9501      	str	r5, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Read the result of the auto-negotiation */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     RegValue = ETH_ReadPHYRegister(PHYAddress, PHY_SR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bac:	f7ff ff3a 	bl	8010a24 <ETH_ReadPHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b24:	f7ff ff3a 	bl	801099c <ETH_ReadPHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		switch (RegValue & PHY_DUPLEX_SPEED_STATUS_MASK) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bb0:	f000 001c 	and.w	r0, r0, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bb4:	2808      	cmp	r0, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bb6:	d00b      	beq.n	8010bd0 <ETH_Init+0x104> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bb8:	d802      	bhi.n	8010bc0 <ETH_Init+0xf4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bba:	2804      	cmp	r0, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bbc:	d123      	bne.n	8010c06 <ETH_Init+0x13a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bbe:	e010      	b.n	8010be2 <ETH_Init+0x116> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bc0:	280e      	cmp	r0, #14 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bc2:	d00a      	beq.n	8010bda <ETH_Init+0x10e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bc4:	2812      	cmp	r0, #18 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bc6:	d11e      	bne.n	8010c06 <ETH_Init+0x13a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b28:	f000 001c 	and.w	r0, r0, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b2c:	2808      	cmp	r0, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b2e:	d00b      	beq.n	8010b48 <ETH_Init+0x104> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b30:	d802      	bhi.n	8010b38 <ETH_Init+0xf4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b32:	2804      	cmp	r0, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b34:	d123      	bne.n	8010b7e <ETH_Init+0x13a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b36:	e010      	b.n	8010b5a <ETH_Init+0x116> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b38:	280e      	cmp	r0, #14 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b3a:	d00a      	beq.n	8010b52 <ETH_Init+0x10e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b3c:	2812      	cmp	r0, #18 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b3e:	d11e      	bne.n	8010b7e <ETH_Init+0x13a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  case PHY_100BTX_FULL: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  ETH_InitStruct->ETH_Mode  = ETH_Mode_FullDuplex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bc8:	f44f 6300 	mov.w	r3, #2048	; 0x800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bcc:	6223      	str	r3, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bce:	e000      	b.n	8010bd2 <ETH_Init+0x106> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b40:	f44f 6300 	mov.w	r3, #2048	; 0x800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b44:	6223      	str	r3, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b46:	e000      	b.n	8010b4a <ETH_Init+0x106> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				ETH_InitStruct->ETH_Speed = ETH_Speed_100M;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  case PHY_100BTX_HALF: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  ETH_InitStruct->ETH_Mode  = ETH_Mode_HalfDuplex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bd0:	6225      	str	r5, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b48:	6225      	str	r5, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				ETH_InitStruct->ETH_Speed = ETH_Speed_100M;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bd2:	f44f 4380 	mov.w	r3, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bd6:	6163      	str	r3, [r4, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b4a:	f44f 4380 	mov.w	r3, #16384	; 0x4000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b4e:	6163      	str	r3, [r4, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   			break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bd8:	e015      	b.n	8010c06 <ETH_Init+0x13a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b50:	e015      	b.n	8010b7e <ETH_Init+0x13a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  case PHY_10M_FULL: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  ETH_InitStruct->ETH_Mode  = ETH_Mode_FullDuplex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bda:	f44f 6300 	mov.w	r3, #2048	; 0x800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bde:	6223      	str	r3, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010be0:	e000      	b.n	8010be4 <ETH_Init+0x118> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b52:	f44f 6300 	mov.w	r3, #2048	; 0x800 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b56:	6223      	str	r3, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b58:	e000      	b.n	8010b5c <ETH_Init+0x118> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				ETH_InitStruct->ETH_Speed = ETH_Speed_10M; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  case PHY_10M_HALF: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  ETH_InitStruct->ETH_Mode  = ETH_Mode_HalfDuplex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010be2:	6225      	str	r5, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b5a:	6225      	str	r5, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				ETH_InitStruct->ETH_Speed = ETH_Speed_10M;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010be4:	6165      	str	r5, [r4, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b5c:	6165      	str	r5, [r4, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010be6:	e00e      	b.n	8010c06 <ETH_Init+0x13a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b5e:	e00e      	b.n	8010b7e <ETH_Init+0x13a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}		    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!ETH_WritePHYRegister(PHYAddress, PHY_BCR, ((uint16_t)(ETH_InitStruct->ETH_Mode >> 3) | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010be8:	6a22      	ldr	r2, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b60:	6a22      	ldr	r2, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                    (uint16_t)(ETH_InitStruct->ETH_Speed >> 1)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bea:	6963      	ldr	r3, [r4, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b62:	6963      	ldr	r3, [r4, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			  break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}		    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!ETH_WritePHYRegister(PHYAddress, PHY_BCR, ((uint16_t)(ETH_InitStruct->ETH_Mode >> 3) | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bec:	08d2      	lsrs	r2, r2, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bee:	ea42 0253 	orr.w	r2, r2, r3, lsr #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bf2:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bf4:	b292      	uxth	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bf6:	f7ff ff41 	bl	8010a7c <ETH_WritePHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bfa:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bfc:	d09b      	beq.n	8010b36 <ETH_Init+0x6a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b64:	08d2      	lsrs	r2, r2, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b66:	ea42 0253 	orr.w	r2, r2, r3, lsr #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b6a:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b6c:	b292      	uxth	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b6e:	f7ff ff41 	bl	80109f4 <ETH_WritePHYRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b72:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b74:	d09b      	beq.n	8010aae <ETH_Init+0x6a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Return ERROR in case of write timeout */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return ETH_ERROR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Delay to assure PHY configuration */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _eth_delay_(PHY_CONFIG_DELAY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010bfe:	f06f 407f 	mvn.w	r0, #4278190080	; 0xff000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c02:	f7ff fd1d 	bl	8010640 <ETH_Delay> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b76:	f06f 407f 	mvn.w	r0, #4278190080	; 0xff000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b7a:	f7ff fd1d 	bl	80105b8 <ETH_Delay> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------ ETHERNET MACCR Configuration --------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACCR value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACCR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c06:	4b43      	ldr	r3, [pc, #268]	; (8010d14 <ETH_Init+0x248>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b7e:	4b43      	ldr	r3, [pc, #268]	; (8010c8c <ETH_Init+0x248>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Clear WD, PCE, PS, TE and RE bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= MACCR_CLEAR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c08:	4a4e      	ldr	r2, [pc, #312]	; (8010d44 <ETH_Init+0x278>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b80:	4a4e      	ldr	r2, [pc, #312]	; (8010cbc <ETH_Init+0x278>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _eth_delay_(PHY_CONFIG_DELAY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------ ETHERNET MACCR Configuration --------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACCR value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACCR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c0a:	6819      	ldr	r1, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b82:	6819      	ldr	r1, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the IPCO bit according to ETH_ChecksumOffload value */                    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DR bit according to ETH_RetryTransmission value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the ACS bit according to ETH_AutomaticPadCRCStrip value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the BL bit according to ETH_BackOffLimit value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DC bit according to ETH_DeferralCheck value */                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)(ETH_InitStruct->ETH_Watchdog |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c0c:	68a0      	ldr	r0, [r4, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b84:	68a0      	ldr	r0, [r4, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*------------------------ ETHERNET MACCR Configuration --------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACCR value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACCR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Clear WD, PCE, PS, TE and RE bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= MACCR_CLEAR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c0e:	400a      	ands	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b86:	400a      	ands	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the IPCO bit according to ETH_ChecksumOffload value */                    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DR bit according to ETH_RetryTransmission value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the ACS bit according to ETH_AutomaticPadCRCStrip value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the BL bit according to ETH_BackOffLimit value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DC bit according to ETH_DeferralCheck value */                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)(ETH_InitStruct->ETH_Watchdog |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c10:	6861      	ldr	r1, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c12:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b88:	6861      	ldr	r1, [r4, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b8a:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_Jabber |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c14:	68e1      	ldr	r1, [r4, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c16:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b8c:	68e1      	ldr	r1, [r4, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b8e:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_InterFrameGap | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c18:	6921      	ldr	r1, [r4, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c1a:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b90:	6921      	ldr	r1, [r4, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b92:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_CarrierSense | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c1c:	6961      	ldr	r1, [r4, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c1e:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b94:	6961      	ldr	r1, [r4, #20] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b96:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_Speed |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c20:	69a1      	ldr	r1, [r4, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c22:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b98:	69a1      	ldr	r1, [r4, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b9a:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_ReceiveOwn | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c24:	69e1      	ldr	r1, [r4, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c26:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b9c:	69e1      	ldr	r1, [r4, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010b9e:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_LoopbackMode | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c28:	6a21      	ldr	r1, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c2a:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ba0:	6a21      	ldr	r1, [r4, #32] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ba2:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_Mode |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c2c:	6a61      	ldr	r1, [r4, #36]	; 0x24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c2e:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ba4:	6a61      	ldr	r1, [r4, #36]	; 0x24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ba6:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_ChecksumOffload |     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c30:	6aa1      	ldr	r1, [r4, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c32:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ba8:	6aa1      	ldr	r1, [r4, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010baa:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_RetryTransmission |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c34:	6ae1      	ldr	r1, [r4, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c36:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bac:	6ae1      	ldr	r1, [r4, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bae:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_AutomaticPadCRCStrip |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c38:	6b21      	ldr	r1, [r4, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c3a:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bb0:	6b21      	ldr	r1, [r4, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bb2:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the IPCO bit according to ETH_ChecksumOffload value */                    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DR bit according to ETH_RetryTransmission value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the ACS bit according to ETH_AutomaticPadCRCStrip value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the BL bit according to ETH_BackOffLimit value */  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DC bit according to ETH_DeferralCheck value */                           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)(ETH_InitStruct->ETH_Watchdog |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c3c:	6b61      	ldr	r1, [r4, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c3e:	4301      	orrs	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c40:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bb4:	6b61      	ldr	r1, [r4, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bb6:	4301      	orrs	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bb8:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_RetryTransmission |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_AutomaticPadCRCStrip |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_BackOffLimit |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_DeferralCheck); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET MACCR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACCR = (uint32_t)tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c42:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bba:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DAIF bit according to ETH_DestinationAddrFilter value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PR bit according to ETH_PromiscuousMode value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PM, HMC and HPF bits according to ETH_MulticastFramesFilter value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the HUC and HPF bits according to ETH_UnicastFramesFilter value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET MACFFR */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACFFR = (uint32_t)(ETH_InitStruct->ETH_ReceiveAll |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c44:	6ba2      	ldr	r2, [r4, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c46:	6be1      	ldr	r1, [r4, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c48:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bbc:	6ba2      	ldr	r2, [r4, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bbe:	6be1      	ldr	r1, [r4, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bc0:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_SourceAddrFilter | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c4a:	6c22      	ldr	r2, [r4, #64]	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c4c:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bc2:	6c22      	ldr	r2, [r4, #64]	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bc4:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_PassControlFrames | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c4e:	6c62      	ldr	r2, [r4, #68]	; 0x44 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c50:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bc6:	6c62      	ldr	r2, [r4, #68]	; 0x44 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bc8:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_BroadcastFramesReception |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c52:	6ca2      	ldr	r2, [r4, #72]	; 0x48 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c54:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bca:	6ca2      	ldr	r2, [r4, #72]	; 0x48 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bcc:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_DestinationAddrFilter | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c56:	6ce2      	ldr	r2, [r4, #76]	; 0x4c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c58:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bce:	6ce2      	ldr	r2, [r4, #76]	; 0x4c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bd0:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_PromiscuousMode | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c5a:	6d22      	ldr	r2, [r4, #80]	; 0x50 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c5c:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bd2:	6d22      	ldr	r2, [r4, #80]	; 0x50 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bd4:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DAIF bit according to ETH_DestinationAddrFilter value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PR bit according to ETH_PromiscuousMode value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PM, HMC and HPF bits according to ETH_MulticastFramesFilter value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the HUC and HPF bits according to ETH_UnicastFramesFilter value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET MACFFR */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACFFR = (uint32_t)(ETH_InitStruct->ETH_ReceiveAll |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c5e:	6d62      	ldr	r2, [r4, #84]	; 0x54 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c60:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c62:	605a      	str	r2, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bd6:	6d62      	ldr	r2, [r4, #84]	; 0x54 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bd8:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bda:	605a      	str	r2, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_PromiscuousMode | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_MulticastFramesFilter | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_UnicastFramesFilter);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*--------------- ETHERNET MACHTHR and MACHTLR Configuration ---------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET MACHTHR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACHTHR = (uint32_t)ETH_InitStruct->ETH_HashTableHigh; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c64:	6da2      	ldr	r2, [r4, #88]	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c66:	609a      	str	r2, [r3, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bdc:	6da2      	ldr	r2, [r4, #88]	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bde:	609a      	str	r2, [r3, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET MACHTLR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACHTLR = (uint32_t)ETH_InitStruct->ETH_HashTableLow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c68:	6de2      	ldr	r2, [r4, #92]	; 0x5c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c6a:	60da      	str	r2, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010be0:	6de2      	ldr	r2, [r4, #92]	; 0x5c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010be2:	60da      	str	r2, [r3, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DZPQ bit according to ETH_ZeroQuantaPause value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PLT bit according to ETH_PauseLowThreshold value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the UP bit according to ETH_UnicastPauseFrameDetect value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RFE bit according to ETH_ReceiveFlowControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the TFE bit according to ETH_TransmitFlowControl value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c6c:	6e62      	ldr	r2, [r4, #100]	; 0x64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c6e:	6ea1      	ldr	r1, [r4, #104]	; 0x68 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010be4:	6e62      	ldr	r2, [r4, #100]	; 0x64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010be6:	6ea1      	ldr	r1, [r4, #104]	; 0x68 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACHTHR = (uint32_t)ETH_InitStruct->ETH_HashTableHigh; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET MACHTLR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACHTLR = (uint32_t)ETH_InitStruct->ETH_HashTableLow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*----------------------- ETHERNET MACFCR Configuration --------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACFCR value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACFCR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c70:	6998      	ldr	r0, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010be8:	6998      	ldr	r0, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DZPQ bit according to ETH_ZeroQuantaPause value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PLT bit according to ETH_PauseLowThreshold value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the UP bit according to ETH_UnicastPauseFrameDetect value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RFE bit according to ETH_ReceiveFlowControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the TFE bit according to ETH_TransmitFlowControl value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c72:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bea:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ETH_InitStruct->ETH_ZeroQuantaPause | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c74:	6ee2      	ldr	r2, [r4, #108]	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c76:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bec:	6ee2      	ldr	r2, [r4, #108]	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bee:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ETH_InitStruct->ETH_PauseLowThreshold | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c78:	6f22      	ldr	r2, [r4, #112]	; 0x70 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c7a:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bf0:	6f22      	ldr	r2, [r4, #112]	; 0x70 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bf2:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ETH_InitStruct->ETH_UnicastPauseFrameDetect |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c7c:	6f62      	ldr	r2, [r4, #116]	; 0x74 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c7e:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bf4:	6f62      	ldr	r2, [r4, #116]	; 0x74 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bf6:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACHTLR = (uint32_t)ETH_InitStruct->ETH_HashTableLow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*----------------------- ETHERNET MACFCR Configuration --------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET MACFCR value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->MACFCR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Clear xx bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= MACFCR_CLEAR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c80:	f64f 7241 	movw	r2, #65345	; 0xff41 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c84:	4002      	ands	r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bf8:	f64f 7241 	movw	r2, #65345	; 0xff41 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bfc:	4002      	ands	r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DZPQ bit according to ETH_ZeroQuantaPause value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PLT bit according to ETH_PauseLowThreshold value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the UP bit according to ETH_UnicastPauseFrameDetect value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RFE bit according to ETH_ReceiveFlowControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the TFE bit according to ETH_TransmitFlowControl value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c86:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c88:	6e21      	ldr	r1, [r4, #96]	; 0x60 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c8a:	ea42 4101 	orr.w	r1, r2, r1, lsl #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010bfe:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c00:	6e21      	ldr	r1, [r4, #96]	; 0x60 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c02:	ea42 4101 	orr.w	r1, r2, r1, lsl #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ETH_InitStruct->ETH_PauseLowThreshold | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ETH_InitStruct->ETH_UnicastPauseFrameDetect |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ETH_InitStruct->ETH_ReceiveFlowControl | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ETH_InitStruct->ETH_TransmitFlowControl);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET MACFCR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACFCR = (uint32_t)tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c8e:	6199      	str	r1, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c06:	6199      	str	r1, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*----------------------- ETHERNET MACVLANTR Configuration -----------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the ETV bit according to ETH_VLANTagComparison value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the VL bit according to ETH_VLANTagIdentifier value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->MACVLANTR = (uint32_t)(ETH_InitStruct->ETH_VLANTagComparison |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c90:	6fe1      	ldr	r1, [r4, #124]	; 0x7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c92:	6fa2      	ldr	r2, [r4, #120]	; 0x78 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c94:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c96:	61da      	str	r2, [r3, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c08:	6fe1      	ldr	r1, [r4, #124]	; 0x7c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c0a:	6fa2      	ldr	r2, [r4, #120]	; 0x78 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c0c:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c0e:	61da      	str	r2, [r3, #28] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              ETH_InitStruct->ETH_VLANTagIdentifier);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*-------------------------------- DMA Config ------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*----------------------- ETHERNET DMAOMR Configuration --------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET DMAOMR value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->DMAOMR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c98:	f503 5380 	add.w	r3, r3, #4096	; 0x1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c10:	f503 5380 	add.w	r3, r3, #4096	; 0x1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Clear xx bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= DMAOMR_CLEAR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c9c:	4a2a      	ldr	r2, [pc, #168]	; (8010d48 <ETH_Init+0x27c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c14:	4a2a      	ldr	r2, [pc, #168]	; (8010cc0 <ETH_Init+0x27c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                              ETH_InitStruct->ETH_VLANTagIdentifier);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*-------------------------------- DMA Config ------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*----------------------- ETHERNET DMAOMR Configuration --------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET DMAOMR value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->DMAOMR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010c9e:	6999      	ldr	r1, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c16:	6999      	ldr	r1, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the TTC bit according to ETH_TransmitThresholdControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the FEF bit according to ETH_ForwardErrorFrames value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the FUF bit according to ETH_ForwardUndersizedGoodFrames value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RTC bit according to ETH_ReceiveThresholdControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the OSF bit according to ETH_SecondFrameOperate value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ca0:	f8d4 0084 	ldr.w	r0, [r4, #132]	; 0x84 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c18:	f8d4 0084 	ldr.w	r0, [r4, #132]	; 0x84 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*-------------------------------- DMA Config ------------------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /*----------------------- ETHERNET DMAOMR Configuration --------------------*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Get the ETHERNET DMAOMR value */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg = ETH->DMAOMR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Clear xx bits */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg &= DMAOMR_CLEAR_MASK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ca4:	400a      	ands	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c1c:	400a      	ands	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the TTC bit according to ETH_TransmitThresholdControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the FEF bit according to ETH_ForwardErrorFrames value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the FUF bit according to ETH_ForwardUndersizedGoodFrames value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RTC bit according to ETH_ReceiveThresholdControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the OSF bit according to ETH_SecondFrameOperate value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ca6:	f8d4 1080 	ldr.w	r1, [r4, #128]	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010caa:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c1e:	f8d4 1080 	ldr.w	r1, [r4, #128]	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c22:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_ReceiveStoreForward | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cac:	f8d4 1088 	ldr.w	r1, [r4, #136]	; 0x88 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cb0:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c24:	f8d4 1088 	ldr.w	r1, [r4, #136]	; 0x88 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c28:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_FlushReceivedFrame | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cb2:	f8d4 108c 	ldr.w	r1, [r4, #140]	; 0x8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cb6:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c2a:	f8d4 108c 	ldr.w	r1, [r4, #140]	; 0x8c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c2e:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_TransmitStoreForward |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cb8:	f8d4 1090 	ldr.w	r1, [r4, #144]	; 0x90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cbc:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c30:	f8d4 1090 	ldr.w	r1, [r4, #144]	; 0x90 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c34:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_TransmitThresholdControl | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cbe:	f8d4 1094 	ldr.w	r1, [r4, #148]	; 0x94 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cc2:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c36:	f8d4 1094 	ldr.w	r1, [r4, #148]	; 0x94 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c3a:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_ForwardErrorFrames | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cc4:	f8d4 1098 	ldr.w	r1, [r4, #152]	; 0x98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cc8:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c3c:	f8d4 1098 	ldr.w	r1, [r4, #152]	; 0x98 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c40:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_ForwardUndersizedGoodFrames | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cca:	f8d4 109c 	ldr.w	r1, [r4, #156]	; 0x9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cce:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c42:	f8d4 109c 	ldr.w	r1, [r4, #156]	; 0x9c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c46:	4308      	orrs	r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the TTC bit according to ETH_TransmitThresholdControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the FEF bit according to ETH_ForwardErrorFrames value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the FUF bit according to ETH_ForwardUndersizedGoodFrames value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RTC bit according to ETH_ReceiveThresholdControl value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the OSF bit according to ETH_SecondFrameOperate value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tmpreg |= (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cd0:	f8d4 10a0 	ldr.w	r1, [r4, #160]	; 0xa0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cd4:	4301      	orrs	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cd6:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c48:	f8d4 10a0 	ldr.w	r1, [r4, #160]	; 0xa0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c4c:	4301      	orrs	r1, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c4e:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_ForwardErrorFrames | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_ForwardUndersizedGoodFrames | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_ReceiveThresholdControl |                                    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ETH_InitStruct->ETH_SecondFrameOperate);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Write to ETHERNET DMAOMR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMAOMR = (uint32_t)tmpreg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cd8:	619a      	str	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c50:	619a      	str	r2, [r3, #24] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the FB bit according to ETH_FixedBurst value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RPBL and 4*PBL bits according to ETH_RxDMABurstLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PBL and 4*PBL bits according to ETH_TxDMABurstLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DSL bit according to ETH_DesciptorSkipLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PR and DA bits according to ETH_DMAArbitration value */          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMABMR = (uint32_t)(ETH_InitStruct->ETH_AddressAlignedBeats |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cda:	f8d4 20a8 	ldr.w	r2, [r4, #168]	; 0xa8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cde:	f8d4 10a4 	ldr.w	r1, [r4, #164]	; 0xa4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ce2:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c52:	f8d4 20a8 	ldr.w	r2, [r4, #168]	; 0xa8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c56:	f8d4 10a4 	ldr.w	r1, [r4, #164]	; 0xa4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c5a:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_FixedBurst | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_RxDMABurstLength | /* !! if 4xPBL is selected for Tx or Rx it is applied for the other */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ce4:	f8d4 20ac 	ldr.w	r2, [r4, #172]	; 0xac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c5c:	f8d4 20ac 	ldr.w	r2, [r4, #172]	; 0xac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RPBL and 4*PBL bits according to ETH_RxDMABurstLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PBL and 4*PBL bits according to ETH_TxDMABurstLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DSL bit according to ETH_DesciptorSkipLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PR and DA bits according to ETH_DMAArbitration value */          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMABMR = (uint32_t)(ETH_InitStruct->ETH_AddressAlignedBeats |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_FixedBurst | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ce8:	f441 0100 	orr.w	r1, r1, #8388608	; 0x800000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c60:	f441 0100 	orr.w	r1, r1, #8388608	; 0x800000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_RxDMABurstLength | /* !! if 4xPBL is selected for Tx or Rx it is applied for the other */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cec:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c64:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_TxDMABurstLength |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cee:	f8d4 20b0 	ldr.w	r2, [r4, #176]	; 0xb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cf2:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c66:	f8d4 20b0 	ldr.w	r2, [r4, #176]	; 0xb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c6a:	4311      	orrs	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          (ETH_InitStruct->ETH_DescriptorSkipLength << 2) | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cf4:	f8d4 20b8 	ldr.w	r2, [r4, #184]	; 0xb8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cf8:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cfa:	f8d4 10b4 	ldr.w	r1, [r4, #180]	; 0xb4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c6c:	f8d4 20b8 	ldr.w	r2, [r4, #184]	; 0xb8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c70:	430a      	orrs	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c72:	f8d4 10b4 	ldr.w	r1, [r4, #180]	; 0xb4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the FB bit according to ETH_FixedBurst value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the RPBL and 4*PBL bits according to ETH_RxDMABurstLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PBL and 4*PBL bits according to ETH_TxDMABurstLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the DSL bit according to ETH_DesciptorSkipLength value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Set the PR and DA bits according to ETH_DMAArbitration value */          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH->DMABMR = (uint32_t)(ETH_InitStruct->ETH_AddressAlignedBeats |  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010cfe:	ea42 0281 	orr.w	r2, r2, r1, lsl #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d02:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c76:	ea42 0281 	orr.w	r2, r2, r1, lsl #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c7a:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_InitStruct->ETH_DMAArbitration | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ETH_DMABMR_USP); /* Enable use of separate PBL for Rx and Tx */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   #ifdef USE_ENHANCED_DMA_DESCRIPTORS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Enable the Enhanced DMA descriptors */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ETH->DMABMR |= ETH_DMABMR_EDE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d04:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d06:	f042 0280 	orr.w	r2, r2, #128	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d0a:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c7c:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c7e:	f042 0280 	orr.w	r2, r2, #128	; 0x80 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c82:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   #endif /* USE_ENHANCED_DMA_DESCRIPTORS */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Return Ethernet configuration success */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ETH_SUCCESS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d0c:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c84:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d0e:	b007      	add	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d10:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d12:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d14:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d18:	feced300 	.word	0xfeced300 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d1c:	00e4e1bf 	.word	0x00e4e1bf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d20:	fde9f140 	.word	0xfde9f140 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d24:	017d783f 	.word	0x017d783f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d28:	fc6c7900 	.word	0xfc6c7900 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d2c:	026259ff 	.word	0x026259ff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d30:	fa0a1f00 	.word	0xfa0a1f00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d34:	02faf07f 	.word	0x02faf07f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d38:	000fffff 	.word	0x000fffff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d3c:	0004fffe 	.word	0x0004fffe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d40:	0004ffff 	.word	0x0004ffff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d44:	ff20810f 	.word	0xff20810f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d48:	f8de3f23 	.word	0xf8de3f23 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010d4c <NVIC_SystemReset>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d4c:	f3bf 8f4f 	dsb	sy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c86:	b007      	add	sp, #28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c88:	bdf0      	pop	{r4, r5, r6, r7, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c8a:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c8c:	40028000 	.word	0x40028000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c90:	feced300 	.word	0xfeced300 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c94:	00e4e1bf 	.word	0x00e4e1bf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c98:	fde9f140 	.word	0xfde9f140 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010c9c:	017d783f 	.word	0x017d783f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ca0:	fc6c7900 	.word	0xfc6c7900 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ca4:	026259ff 	.word	0x026259ff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ca8:	fa0a1f00 	.word	0xfa0a1f00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cac:	02faf07f 	.word	0x02faf07f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cb0:	000fffff 	.word	0x000fffff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cb4:	0004fffe 	.word	0x0004fffe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cb8:	0004ffff 	.word	0x0004ffff 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cbc:	ff20810f 	.word	0xff20810f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cc0:	f8de3f23 	.word	0xf8de3f23 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010cc4 <NVIC_SystemReset>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cc4:	f3bf 8f4f 	dsb	sy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d50:	4a04      	ldr	r2, [pc, #16]	; (8010d64 <NVIC_SystemReset+0x18>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d52:	4b05      	ldr	r3, [pc, #20]	; (8010d68 <NVIC_SystemReset+0x1c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d54:	68d1      	ldr	r1, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d56:	f401 61e0 	and.w	r1, r1, #1792	; 0x700 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d5a:	430b      	orrs	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cc8:	4a04      	ldr	r2, [pc, #16]	; (8010cdc <NVIC_SystemReset+0x18>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cca:	4b05      	ldr	r3, [pc, #20]	; (8010ce0 <NVIC_SystemReset+0x1c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ccc:	68d1      	ldr	r1, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cce:	f401 61e0 	and.w	r1, r1, #1792	; 0x700 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cd2:	430b      	orrs	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 __STATIC_INLINE void NVIC_SystemReset(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //static inline void NVIC_SystemReset(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __DSB();                                                     /* Ensure all outstanding memory accesses included 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                   buffered write are completed before reset */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SCB->AIRCR  = ((0x5FA << SCB_AIRCR_VECTKEY_Pos)      | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d5c:	60d3      	str	r3, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d5e:	f3bf 8f4f 	dsb	sy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d62:	e7fe      	b.n	8010d62 <NVIC_SystemReset+0x16> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d64:	e000ed00 	.word	0xe000ed00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d68:	05fa0004 	.word	0x05fa0004 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cd4:	60d3      	str	r3, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cd6:	f3bf 8f4f 	dsb	sy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cda:	e7fe      	b.n	8010cda <NVIC_SystemReset+0x16> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cdc:	e000ed00 	.word	0xe000ed00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ce0:	05fa0004 	.word	0x05fa0004 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010d6c <UpdateTimeout_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010ce4 <UpdateTimeout_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void UpdateTimeout_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     static char lcdbuf[32] = {0}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     static uint8_t time = UPDATE_TIMEOUT; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if ((fUpload) || (fInvalidFw)) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d6c:	4b07      	ldr	r3, [pc, #28]	; (8010d8c <UpdateTimeout_Handler+0x20>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d6e:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d70:	b953      	cbnz	r3, 8010d88 <UpdateTimeout_Handler+0x1c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d72:	4b07      	ldr	r3, [pc, #28]	; (8010d90 <UpdateTimeout_Handler+0x24>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d74:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d76:	b93b      	cbnz	r3, 8010d88 <UpdateTimeout_Handler+0x1c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ce4:	4b07      	ldr	r3, [pc, #28]	; (8010d04 <UpdateTimeout_Handler+0x20>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ce6:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ce8:	b953      	cbnz	r3, 8010d00 <UpdateTimeout_Handler+0x1c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cea:	4b07      	ldr	r3, [pc, #28]	; (8010d08 <UpdateTimeout_Handler+0x24>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cec:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cee:	b93b      	cbnz	r3, 8010d00 <UpdateTimeout_Handler+0x1c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (time == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d78:	4b06      	ldr	r3, [pc, #24]	; (8010d94 <UpdateTimeout_Handler+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d7a:	781a      	ldrb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d7c:	b912      	cbnz	r2, 8010d84 <UpdateTimeout_Handler+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cf0:	4b06      	ldr	r3, [pc, #24]	; (8010d0c <UpdateTimeout_Handler+0x28>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cf2:	781a      	ldrb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cf4:	b912      	cbnz	r2, 8010cfc <UpdateTimeout_Handler+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         UpdateTimeoutFlag = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d7e:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d80:	4b05      	ldr	r3, [pc, #20]	; (8010d98 <UpdateTimeout_Handler+0x2c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d82:	e000      	b.n	8010d86 <UpdateTimeout_Handler+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cf6:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cf8:	4b05      	ldr	r3, [pc, #20]	; (8010d10 <UpdateTimeout_Handler+0x2c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cfa:	e000      	b.n	8010cfe <UpdateTimeout_Handler+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         time--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d84:	3a01      	subs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d86:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d88:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d8a:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d8c:	20006db0 	.word	0x20006db0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d90:	20006dc4 	.word	0x20006dc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d94:	20000115 	.word	0x20000115 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d98:	20006db9 	.word	0x20006db9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010d9c <main>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cfc:	3a01      	subs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010cfe:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d00:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d02:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d04:	20006db0 	.word	0x20006db0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d08:	20006dc4 	.word	0x20006dc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d0c:	20000115 	.word	0x20000115 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d10:	20006dba 	.word	0x20006dba 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010d14 <main>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 extern SETTINGS_t sSettings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void UpdateTimeout_Handler(void); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void main(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d9c:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d14:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   	uint8_t bootTry; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   	uint8_t loadMode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     WDG_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010d9e:	f7fe ff45 	bl	800fc2c <WDG_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d16:	f7fe ff45 	bl	800fba4 <WDG_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     IO_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010da2:	f7fe fcad 	bl	800f700 <IO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d1a:	f7fe fcf1 	bl	800f700 <IO_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     InitUSART(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010da6:	f7fe fee9 	bl	800fb7c <InitUSART> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d1e:	f7fe fee9 	bl	800faf4 <InitUSART> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Enable PWR peripheral clock */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010daa:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dac:	f04f 5080 	mov.w	r0, #268435456	; 0x10000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010db0:	f7f9 f8fc 	bl	8009fac <RCC_APB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d22:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d24:	f04f 5080 	mov.w	r0, #268435456	; 0x10000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d28:	f7f9 f940 	bl	8009fac <RCC_APB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Allow access to BKP Domain */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   PWR_BackupAccessCmd(ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010db4:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010db6:	f7f9 f8a1 	bl	8009efc <PWR_BackupAccessCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d2c:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d2e:	f7f9 f8e5 	bl	8009efc <PWR_BackupAccessCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Включаем тактирование модуля CRC */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dba:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dbc:	f44f 5080 	mov.w	r0, #4096	; 0x1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dc0:	f7f9 f8e8 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d32:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d34:	f44f 5080 	mov.w	r0, #4096	; 0x1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d38:	f7f9 f92c 	bl	8009f94 <RCC_AHB1PeriphClockCmd> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Проверка флага, определяющего состояние устройства. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Флаг установлен - работает Bootloader               */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Флаг сброшен - запускается основная программа       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SETTINGS_Load(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dc4:	f7fe fe44 	bl	800fa50 <SETTINGS_Load> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d3c:	f7fe fe46 	bl	800f9cc <SETTINGS_Load> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Проверка флага bootTry. Если флаг установлен, значит произошел сбой в  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      основной прошивке. Нужно загружать bootloader и ждать обновления ПО */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* TODO remove if tested */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //bootTry = sSettings.bootParams.bootTry; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   loadMode = RTC_ReadBackupRegister(RTC_BKP_DR1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dc8:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dca:	f7f9 f923 	bl	800a014 <RTC_ReadBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dce:	b2c5      	uxtb	r5, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d40:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d42:	f7f9 f967 	bl	800a014 <RTC_ReadBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d46:	b2c5      	uxtb	r5, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bootTry = RTC_ReadBackupRegister(RTC_BKP_DR2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dd0:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dd2:	f7f9 f91f 	bl	800a014 <RTC_ReadBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dd6:	b2c4      	uxtb	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d48:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d4a:	f7f9 f963 	bl	800a014 <RTC_ReadBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d4e:	b2c4      	uxtb	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   printf("loadMode: %d\r\nbootTry: %d\r\n", loadMode, bootTry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dd8:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dda:	485f      	ldr	r0, [pc, #380]	; (8010f58 <main+0x1bc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ddc:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dde:	f000 fc49 	bl	8011674 <tfp_printf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d50:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d52:	485f      	ldr	r0, [pc, #380]	; (8010ed0 <main+0x1bc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d54:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d56:	f000 fc49 	bl	80115ec <tfp_printf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (bootTry > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010de2:	2c01      	cmp	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010de4:	d91a      	bls.n	8010e1c <main+0x80> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d5a:	2c01      	cmp	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d5c:	d91a      	bls.n	8010d94 <main+0x80> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bootTry--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010de6:	1e61      	subs	r1, r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d5e:	1e61      	subs	r1, r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     RTC_WriteBackupRegister(RTC_BKP_DR2, bootTry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010de8:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dea:	b2c9      	uxtb	r1, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dec:	f7f9 f902 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d60:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d62:	b2c9      	uxtb	r1, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d64:	f7f9 f946 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Check if valid stack address (RAM address) then jump to user application */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010df0:	4a5a      	ldr	r2, [pc, #360]	; (8010f5c <main+0x1c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010df2:	4b5b      	ldr	r3, [pc, #364]	; (8010f60 <main+0x1c4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010df4:	6811      	ldr	r1, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010df6:	400b      	ands	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010df8:	f1b3 5f00 	cmp.w	r3, #536870912	; 0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dfc:	d10a      	bne.n	8010e14 <main+0x78> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d68:	4a5a      	ldr	r2, [pc, #360]	; (8010ed4 <main+0x1c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d6a:	4b5b      	ldr	r3, [pc, #364]	; (8010ed8 <main+0x1c4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d6c:	6811      	ldr	r1, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d6e:	400b      	ands	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d70:	f1b3 5f00 	cmp.w	r3, #536870912	; 0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d74:	d10a      	bne.n	8010d8c <main+0x78> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         JumpAdd = *(__IO uint32_t*) (USER_FLASH_FIRST_PAGE_ADDRESS + 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010dfe:	4b59      	ldr	r3, [pc, #356]	; (8010f64 <main+0x1c8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e00:	4959      	ldr	r1, [pc, #356]	; (8010f68 <main+0x1cc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e02:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e04:	600b      	str	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d76:	4b59      	ldr	r3, [pc, #356]	; (8010edc <main+0x1c8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d78:	4959      	ldr	r1, [pc, #356]	; (8010ee0 <main+0x1cc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d7a:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d7c:	600b      	str	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Jump_To_App = (pFunction) JumpAdd; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e06:	4959      	ldr	r1, [pc, #356]	; (8010f6c <main+0x1d0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d7e:	4959      	ldr	r1, [pc, #356]	; (8010ee4 <main+0x1d0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         __set_MSP(*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e08:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d80:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Check if valid stack address (RAM address) then jump to user application */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         JumpAdd = *(__IO uint32_t*) (USER_FLASH_FIRST_PAGE_ADDRESS + 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Jump_To_App = (pFunction) JumpAdd; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e0a:	600b      	str	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d82:	600b      	str	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     \param [in]    topOfMainStack  Main Stack Pointer value to set 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 __attribute__( ( always_inline ) ) __STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   __ASM volatile ("MSR msp, %0\n" : : "r" (topOfMainStack) : "sp"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e0c:	f382 8808 	msr	MSP, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d84:	f382 8808 	msr	MSP, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         __set_MSP(*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Jump_To_App(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e10:	4798      	blx	r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e12:	e00f      	b.n	8010e34 <main+0x98> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d88:	4798      	blx	r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d8a:	e00f      	b.n	8010dac <main+0x98> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Флеш пустая, нечего загружать, висим в аварийном режиме */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fInvalidFw = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e14:	4b56      	ldr	r3, [pc, #344]	; (8010f70 <main+0x1d4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e16:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e18:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e1a:	e00b      	b.n	8010e34 <main+0x98> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d8c:	4b56      	ldr	r3, [pc, #344]	; (8010ee8 <main+0x1d4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d8e:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d90:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d92:	e00b      	b.n	8010dac <main+0x98> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PRINT_USART("\n\rFW empty. Started bootloader\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else if (bootTry == 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e1c:	d10a      	bne.n	8010e34 <main+0x98> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d94:	d10a      	bne.n	8010dac <main+0x98> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fBootFailed = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e1e:	4b55      	ldr	r3, [pc, #340]	; (8010f74 <main+0x1d8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d96:	4b55      	ldr	r3, [pc, #340]	; (8010eec <main+0x1d8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     PRINT_USART("\n\rFW boot failed. Started bootloader\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bootTry = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     loadMode = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     RTC_WriteBackupRegister(RTC_BKP_DR2, bootTry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e20:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e22:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d98:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d9a:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PRINT_USART("\n\rFW empty. Started bootloader\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else if (bootTry == 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fBootFailed = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e24:	701c      	strb	r4, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d9c:	701c      	strb	r4, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     PRINT_USART("\n\rFW boot failed. Started bootloader\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bootTry = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     loadMode = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     RTC_WriteBackupRegister(RTC_BKP_DR2, bootTry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e26:	f7f9 f8e5 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010d9e:	f7f9 f929 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     RTC_WriteBackupRegister(RTC_BKP_DR1, loadMode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e2a:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e2c:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e2e:	f7f9 f8e1 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e32:	e018      	b.n	8010e66 <main+0xca> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010da2:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010da4:	4621      	mov	r1, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010da6:	f7f9 f925 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010daa:	e018      	b.n	8010dde <main+0xca> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Флаг не установлен прыгаем на основную программу */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (loadMode == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e34:	b9bd      	cbnz	r5, 8010e66 <main+0xca> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dac:	b9bd      	cbnz	r5, 8010dde <main+0xca> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       printf("Run main FW\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e36:	4850      	ldr	r0, [pc, #320]	; (8010f78 <main+0x1dc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e38:	f000 fc1c 	bl	8011674 <tfp_printf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dae:	4850      	ldr	r0, [pc, #320]	; (8010ef0 <main+0x1dc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010db0:	f000 fc1c 	bl	80115ec <tfp_printf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       //printf("*(__IO uint32_t*)(USER_FLASH_FIRST_PAGE_ADDRESS + 4) = 0x%X\n\r", *(__IO uint32_t*)(USER_FLASH_FIRST_PAGE_ADDRESS + 4)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Set bootTry flag every time to ensure that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        * IAP will starts again if FW is corrupted */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       bootTry = BOOT_TRY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       RTC_WriteBackupRegister(RTC_BKP_DR2, bootTry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e3c:	2106      	movs	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e3e:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e40:	f7f9 f8d8 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010db4:	2106      	movs	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010db6:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010db8:	f7f9 f91c 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Check if valid stack address (RAM address) then jump to user application */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e44:	4a45      	ldr	r2, [pc, #276]	; (8010f5c <main+0x1c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e46:	4b46      	ldr	r3, [pc, #280]	; (8010f60 <main+0x1c4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e48:	6811      	ldr	r1, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e4a:	400b      	ands	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e4c:	f1b3 5f00 	cmp.w	r3, #536870912	; 0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e50:	d109      	bne.n	8010e66 <main+0xca> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dbc:	4a45      	ldr	r2, [pc, #276]	; (8010ed4 <main+0x1c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dbe:	4b46      	ldr	r3, [pc, #280]	; (8010ed8 <main+0x1c4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dc0:	6811      	ldr	r1, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dc2:	400b      	ands	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dc4:	f1b3 5f00 	cmp.w	r3, #536870912	; 0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dc8:	d109      	bne.n	8010dde <main+0xca> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Jump to user application */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       JumpAdd = *(__IO uint32_t*) (USER_FLASH_FIRST_PAGE_ADDRESS + 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e52:	4b44      	ldr	r3, [pc, #272]	; (8010f64 <main+0x1c8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e54:	4944      	ldr	r1, [pc, #272]	; (8010f68 <main+0x1cc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e56:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e58:	600b      	str	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dca:	4b44      	ldr	r3, [pc, #272]	; (8010edc <main+0x1c8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dcc:	4944      	ldr	r1, [pc, #272]	; (8010ee0 <main+0x1cc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dce:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dd0:	600b      	str	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Jump_To_App = (pFunction) JumpAdd; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e5a:	4944      	ldr	r1, [pc, #272]	; (8010f6c <main+0x1d0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dd2:	4944      	ldr	r1, [pc, #272]	; (8010ee4 <main+0x1d0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Initialize user application's Stack Pointer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       __set_MSP(*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e5c:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dd4:	6812      	ldr	r2, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Check if valid stack address (RAM address) then jump to user application */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Jump to user application */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       JumpAdd = *(__IO uint32_t*) (USER_FLASH_FIRST_PAGE_ADDRESS + 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Jump_To_App = (pFunction) JumpAdd; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e5e:	600b      	str	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e60:	f382 8808 	msr	MSP, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dd6:	600b      	str	r3, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dd8:	f382 8808 	msr	MSP, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Initialize user application's Stack Pointer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       __set_MSP(*(__IO uint32_t*) USER_FLASH_FIRST_PAGE_ADDRESS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Jump_To_App(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e64:	4798      	blx	r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ddc:	4798      	blx	r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SysTick->LOAD  = ticks - 1;                                  /* set reload register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e66:	4b45      	ldr	r3, [pc, #276]	; (8010f7c <main+0x1e0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e68:	4a45      	ldr	r2, [pc, #276]	; (8010f80 <main+0x1e4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e6a:	605a      	str	r2, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dde:	4b45      	ldr	r3, [pc, #276]	; (8010ef4 <main+0x1e0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010de0:	4a45      	ldr	r2, [pc, #276]	; (8010ef8 <main+0x1e4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010de2:	605a      	str	r2, [r3, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     \param [in]  priority  Priority to set. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 __STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(IRQn < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for Cortex-M  System Interrupts */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e6c:	4a45      	ldr	r2, [pc, #276]	; (8010f84 <main+0x1e8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e6e:	21f0      	movs	r1, #240	; 0xf0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e70:	f882 1023 	strb.w	r1, [r2, #35]	; 0x23 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010de4:	4a45      	ldr	r2, [pc, #276]	; (8010efc <main+0x1e8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010de6:	21f0      	movs	r1, #240	; 0xf0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010de8:	f882 1023 	strb.w	r1, [r2, #35]	; 0x23 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SysTick->LOAD  = ticks - 1;                                  /* set reload register */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e74:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e76:	609a      	str	r2, [r3, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dec:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dee:	609a      	str	r2, [r3, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e78:	2207      	movs	r2, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e7a:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010df0:	2207      	movs	r2, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010df2:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Загружается Bootloader... */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SysTick_Config(120000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   LED_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e7c:	f7fe fc84 	bl	800f788 <LED_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010df4:	f7fe fcc8 	bl	800f788 <LED_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   PRINT_USART("\n\rBootloader starting...   \n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   LED_On(RED_STATUS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e80:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e82:	f7fe fc65 	bl	800f750 <LED_On> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010df8:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dfa:	f7fe fca9 	bl	800f750 <LED_On> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ETH_BSP_Config(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e86:	f7ff fb03 	bl	8010490 <ETH_BSP_Config> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010dfe:	f7ff fb03 	bl	8010408 <ETH_BSP_Config> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   LwIP_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e8a:	f7ff fa61 	bl	8010350 <LwIP_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e02:	f7ff fa61 	bl	80102c8 <LwIP_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   IAP_httpd_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e8e:	f7ff fa49 	bl	8010324 <IAP_httpd_init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e06:	f7ff fa49 	bl	801029c <IAP_httpd_init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   CRC_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e92:	f7fe fbb3 	bl	800f5fc <CRC_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e0a:	f7fe fbf7 	bl	800f5fc <CRC_Init> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //Если нажата DEF начинаем обновление с sd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (IO_BtnDefaultPressed())  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e96:	f7fe fc4d 	bl	800f734 <IO_BtnDefaultPressed> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e9a:	b938      	cbnz	r0, 8010eac <main+0x110> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e0e:	f7fe fc91 	bl	800f734 <IO_BtnDefaultPressed> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e12:	b938      	cbnz	r0, 8010e24 <main+0x110> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //	IAPviaETH = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //    timer_AddFunction(500, &LED_Blinky_Yellow); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //    SD_NVIC_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     IAPviaETH = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e9c:	4b3a      	ldr	r3, [pc, #232]	; (8010f88 <main+0x1ec>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e14:	4b3a      	ldr	r3, [pc, #232]	; (8010f00 <main+0x1ec>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timer_AddFunction(500, &LED_Blinky_Green); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010e9e:	493b      	ldr	r1, [pc, #236]	; (8010f8c <main+0x1f0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e16:	493b      	ldr	r1, [pc, #236]	; (8010f04 <main+0x1f0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //	IAPviaETH = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //    timer_AddFunction(500, &LED_Blinky_Yellow); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //    SD_NVIC_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     IAPviaETH = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ea0:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e18:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timer_AddFunction(500, &LED_Blinky_Green); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ea2:	f44f 70fa 	mov.w	r0, #500	; 0x1f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e1a:	f44f 70fa 	mov.w	r0, #500	; 0x1f4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //	IAPviaETH = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //    timer_AddFunction(500, &LED_Blinky_Yellow); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //    SD_NVIC_Init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     IAPviaETH = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ea6:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e1e:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timer_AddFunction(500, &LED_Blinky_Green); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ea8:	f7fe fe08 	bl	800fabc <timer_AddFunction> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e20:	f7fe fe08 	bl	800fa34 <timer_AddFunction> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* Check if valid stack address (RAM address) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eac:	4b2b      	ldr	r3, [pc, #172]	; (8010f5c <main+0x1c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eae:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eb0:	4b2b      	ldr	r3, [pc, #172]	; (8010f60 <main+0x1c4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eb2:	4013      	ands	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eb4:	f1b3 5f00 	cmp.w	r3, #536870912	; 0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eb8:	d105      	bne.n	8010ec6 <main+0x12a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e24:	4b2b      	ldr	r3, [pc, #172]	; (8010ed4 <main+0x1c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e26:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e28:	4b2b      	ldr	r3, [pc, #172]	; (8010ed8 <main+0x1c4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e2a:	4013      	ands	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e2c:	f1b3 5f00 	cmp.w	r3, #536870912	; 0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e30:	d105      	bne.n	8010e3e <main+0x12a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timer_AddFunction(1000, &UpdateTimeout_Handler); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eba:	f44f 707a 	mov.w	r0, #1000	; 0x3e8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ebe:	4934      	ldr	r1, [pc, #208]	; (8010f90 <main+0x1f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ec0:	f7fe fdfc 	bl	800fabc <timer_AddFunction> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ec4:	e002      	b.n	8010ecc <main+0x130> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e32:	f44f 707a 	mov.w	r0, #1000	; 0x3e8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e36:	4934      	ldr	r1, [pc, #208]	; (8010f08 <main+0x1f4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e38:	f7fe fdfc 	bl	800fa34 <timer_AddFunction> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e3c:	e002      	b.n	8010e44 <main+0x130> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* Флеш пустая, нечего загружать, висим в аварийном режиме */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       fInvalidFw = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ec6:	4b2a      	ldr	r3, [pc, #168]	; (8010f70 <main+0x1d4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ec8:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eca:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e3e:	4b2a      	ldr	r3, [pc, #168]	; (8010ee8 <main+0x1d4>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e40:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e42:	701a      	strb	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   while (1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timer_Main(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (IAPviaETH) { // Обновление по ETH 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ecc:	4c2e      	ldr	r4, [pc, #184]	; (8010f88 <main+0x1ec>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e44:	4c2e      	ldr	r4, [pc, #184]	; (8010f00 <main+0x1ec>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* process received ethernet packet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LwIP_Pkt_Handle(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* handle periodic timers for LwIP */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LwIP_Periodic_Handle(LocalTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ece:	4d31      	ldr	r5, [pc, #196]	; (8010f94 <main+0x1f8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e46:	4d31      	ldr	r5, [pc, #196]	; (8010f0c <main+0x1f8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  if (fDoneReset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ed0:	4e31      	ldr	r6, [pc, #196]	; (8010f98 <main+0x1fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e48:	4e31      	ldr	r6, [pc, #196]	; (8010f10 <main+0x1fc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   while (1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     timer_Main(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ed2:	f7fe fe11 	bl	800faf8 <timer_Main> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e4a:	f7fe fe11 	bl	800fa70 <timer_Main> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (IAPviaETH) { // Обновление по ETH 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ed6:	7823      	ldrb	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ed8:	b333      	cbz	r3, 8010f28 <main+0x18c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e4e:	7823      	ldrb	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e50:	b333      	cbz	r3, 8010ea0 <main+0x18c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* check if any packet received */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (ETH_CheckFrameReceived()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eda:	f7ff fcf1 	bl	80108c0 <ETH_CheckFrameReceived> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ede:	b108      	cbz	r0, 8010ee4 <main+0x148> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e52:	f7ff fcf1 	bl	8010838 <ETH_CheckFrameReceived> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e56:	b108      	cbz	r0, 8010e5c <main+0x148> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* process received ethernet packet */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LwIP_Pkt_Handle(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ee0:	f7ff fa76 	bl	80103d0 <LwIP_Pkt_Handle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e58:	f7ff fa76 	bl	8010348 <LwIP_Pkt_Handle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       /* handle periodic timers for LwIP */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       LwIP_Periodic_Handle(LocalTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ee4:	6828      	ldr	r0, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ee6:	f7ff fabd 	bl	8010464 <LwIP_Periodic_Handle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e5c:	6828      	ldr	r0, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e5e:	f7ff fabd 	bl	80103dc <LwIP_Periodic_Handle> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  if (fDoneReset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eea:	7833      	ldrb	r3, [r6, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eec:	b18b      	cbz	r3, 8010f12 <main+0x176> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e62:	7833      	ldrb	r3, [r6, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e64:	b18b      	cbz	r3, 8010e8a <main+0x176> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		resetCounter++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010eee:	4a2b      	ldr	r2, [pc, #172]	; (8010f9c <main+0x200>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ef0:	6813      	ldr	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ef2:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ef4:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e66:	4a2b      	ldr	r2, [pc, #172]	; (8010f14 <main+0x200>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e68:	6813      	ldr	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e6a:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e6c:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    if (resetCounter > 100000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ef6:	4a2a      	ldr	r2, [pc, #168]	; (8010fa0 <main+0x204>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ef8:	4293      	cmp	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010efa:	d90a      	bls.n	8010f12 <main+0x176> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e6e:	4a2a      	ldr	r2, [pc, #168]	; (8010f18 <main+0x204>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e70:	4293      	cmp	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e72:	d90a      	bls.n	8010e8a <main+0x176> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      loadMode = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      bootTry = BOOT_TRY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      RTC_WriteBackupRegister(RTC_BKP_DR1, loadMode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010efc:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010efe:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f00:	f7f9 f878 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e74:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e76:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e78:	f7f9 f8bc 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      RTC_WriteBackupRegister(RTC_BKP_DR2, bootTry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f04:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f06:	2106      	movs	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f08:	f7f9 f874 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e7c:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e7e:	2106      	movs	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e80:	f7f9 f8b8 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      /* Set FW update flag */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      RTC_WriteBackupRegister(RTC_BKP_DR3, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f0c:	2003      	movs	r0, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f0e:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f10:	e01e      	b.n	8010f50 <main+0x1b4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e84:	2003      	movs	r0, #3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e86:	2101      	movs	r1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e88:	e01e      	b.n	8010ec8 <main+0x1b4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           NVIC_SystemReset(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  }	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  if (fErrorReset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f12:	4b24      	ldr	r3, [pc, #144]	; (8010fa4 <main+0x208>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f14:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f16:	b13b      	cbz	r3, 8010f28 <main+0x18c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e8a:	4b24      	ldr	r3, [pc, #144]	; (8010f1c <main+0x208>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e8c:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e8e:	b13b      	cbz	r3, 8010ea0 <main+0x18c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		resetCounter++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f18:	4a20      	ldr	r2, [pc, #128]	; (8010f9c <main+0x200>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f1a:	6813      	ldr	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f1c:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f1e:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e90:	4a20      	ldr	r2, [pc, #128]	; (8010f14 <main+0x200>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e92:	6813      	ldr	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e94:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e96:	6013      	str	r3, [r2, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    if (resetCounter > 100000) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f20:	4a1f      	ldr	r2, [pc, #124]	; (8010fa0 <main+0x204>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f22:	4293      	cmp	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f24:	d900      	bls.n	8010f28 <main+0x18c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f26:	e015      	b.n	8010f54 <main+0x1b8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e98:	4a1f      	ldr	r2, [pc, #124]	; (8010f18 <main+0x204>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e9a:	4293      	cmp	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e9c:	d900      	bls.n	8010ea0 <main+0x18c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010e9e:	e015      	b.n	8010ecc <main+0x1b8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //Если нажата DEF переходим в основную прошивку 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (IO_BtnDefaultPressed() || UpdateTimeoutFlag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f28:	f7fe fc04 	bl	800f734 <IO_BtnDefaultPressed> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f2c:	b918      	cbnz	r0, 8010f36 <main+0x19a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f2e:	4b1e      	ldr	r3, [pc, #120]	; (8010fa8 <main+0x20c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f30:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f32:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f34:	d0cd      	beq.n	8010ed2 <main+0x136> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ea0:	f7fe fc48 	bl	800f734 <IO_BtnDefaultPressed> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ea4:	b918      	cbnz	r0, 8010eae <main+0x19a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ea6:	4b1e      	ldr	r3, [pc, #120]	; (8010f20 <main+0x20c>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ea8:	781b      	ldrb	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eaa:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eac:	d0cd      	beq.n	8010e4a <main+0x136> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!fUpload && ((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) != 0xFFFFFFFF)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f36:	4b1d      	ldr	r3, [pc, #116]	; (8010fac <main+0x210>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f38:	7819      	ldrb	r1, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f3a:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f3c:	d1c9      	bne.n	8010ed2 <main+0x136> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f3e:	4b07      	ldr	r3, [pc, #28]	; (8010f5c <main+0x1c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f40:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f42:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f44:	d0c5      	beq.n	8010ed2 <main+0x136> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eae:	4b1d      	ldr	r3, [pc, #116]	; (8010f24 <main+0x210>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eb0:	7819      	ldrb	r1, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eb2:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eb4:	d1c9      	bne.n	8010e4a <main+0x136> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eb6:	4b07      	ldr	r3, [pc, #28]	; (8010ed4 <main+0x1c0>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eb8:	681b      	ldr	r3, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eba:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ebc:	d0c5      	beq.n	8010e4a <main+0x136> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           PRINT_USART("\n\rUpdate timeout... Return to main FW\n\r"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           loadMode = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           bootTry = BOOT_TRY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           RTC_WriteBackupRegister(RTC_BKP_DR1, loadMode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f46:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f48:	f7f9 f854 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ebe:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ec0:	f7f9 f898 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           RTC_WriteBackupRegister(RTC_BKP_DR2, bootTry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f4c:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f4e:	2106      	movs	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f50:	f7f9 f850 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ec4:	2002      	movs	r0, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ec6:	2106      	movs	r1, #6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ec8:	f7f9 f894 	bl	8009ff4 <RTC_WriteBackupRegister> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  NVIC_SystemReset(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f54:	f7ff fefa 	bl	8010d4c <NVIC_SystemReset> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f58:	0801363f 	.word	0x0801363f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f5c:	08020000 	.word	0x08020000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f60:	2ffe0000 	.word	0x2ffe0000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f64:	08020004 	.word	0x08020004 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f68:	2000c998 	.word	0x2000c998 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f6c:	2000c994 	.word	0x2000c994 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f70:	20006dc4 	.word	0x20006dc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f74:	20006dba 	.word	0x20006dba 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f78:	0801365b 	.word	0x0801365b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f7c:	e000e010 	.word	0xe000e010 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f80:	0001d4bf 	.word	0x0001d4bf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f84:	e000ed00 	.word	0xe000ed00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f88:	20006db8 	.word	0x20006db8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f8c:	0800f7f5 	.word	0x0800f7f5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f90:	08010d6d 	.word	0x08010d6d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f94:	20006db4 	.word	0x20006db4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f98:	20006dbc 	.word	0x20006dbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010f9c:	20006dc0 	.word	0x20006dc0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fa0:	000186a0 	.word	0x000186a0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fa4:	20006dbb 	.word	0x20006dbb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fa8:	20006db9 	.word	0x20006db9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fac:	20006db0 	.word	0x20006db0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fb0 <Time_Update>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ecc:	f7ff fefa 	bl	8010cc4 <NVIC_SystemReset> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ed0:	0801359f 	.word	0x0801359f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ed4:	08020000 	.word	0x08020000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ed8:	2ffe0000 	.word	0x2ffe0000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010edc:	08020004 	.word	0x08020004 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ee0:	2000c7d4 	.word	0x2000c7d4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ee4:	2000c7d0 	.word	0x2000c7d0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ee8:	20006dc4 	.word	0x20006dc4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010eec:	20006dbb 	.word	0x20006dbb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ef0:	080135bb 	.word	0x080135bb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ef4:	e000e010 	.word	0xe000e010 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ef8:	0001d4bf 	.word	0x0001d4bf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010efc:	e000ed00 	.word	0xe000ed00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f00:	20006db9 	.word	0x20006db9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f04:	0800f7f5 	.word	0x0800f7f5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f08:	08010ce5 	.word	0x08010ce5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f0c:	20006db4 	.word	0x20006db4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f10:	20006dbc 	.word	0x20006dbc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f14:	20006dc0 	.word	0x20006dc0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f18:	000186a0 	.word	0x000186a0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f1c:	20006db8 	.word	0x20006db8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f20:	20006dba 	.word	0x20006dba 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f24:	20006db0 	.word	0x20006db0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f28 <Time_Update>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void Time_Update(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   LocalTime += SYSTEMTICK_PERIOD_MS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fb0:	4b02      	ldr	r3, [pc, #8]	; (8010fbc <Time_Update+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fb2:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fb4:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fb6:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fb8:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fba:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fbc:	20006db4 	.word	0x20006db4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f28:	4b02      	ldr	r3, [pc, #8]	; (8010f34 <Time_Update+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f2a:	681a      	ldr	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f2c:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f2e:	601a      	str	r2, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f30:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f32:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f34:	20006db4 	.word	0x20006db4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fc0 <sys_now>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f38 <sys_now>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 u32_t sys_now(void) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return LocalTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fc0:	4b01      	ldr	r3, [pc, #4]	; (8010fc8 <sys_now+0x8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fc2:	6818      	ldr	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f38:	4b01      	ldr	r3, [pc, #4]	; (8010f40 <sys_now+0x8>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f3a:	6818      	ldr	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fc4:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fc6:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fc8:	20006db4 	.word	0x20006db4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f3c:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f3e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f40:	20006db4 	.word	0x20006db4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fcc <NMI_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f44 <NMI_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  This function handles NMI exception. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void NMI_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fcc:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f44:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fce <HardFault_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f46 <HardFault_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  This function handles Hard Fault exception. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void HardFault_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fce:	e7fe      	b.n	8010fce <HardFault_Handler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f46:	e7fe      	b.n	8010f46 <HardFault_Handler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fd0 <MemManage_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f48 <MemManage_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  This function handles Memory Manage exception. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void MemManage_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fd0:	e7fe      	b.n	8010fd0 <MemManage_Handler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f48:	e7fe      	b.n	8010f48 <MemManage_Handler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fd2 <BusFault_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f4a <BusFault_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  This function handles Bus Fault exception. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void BusFault_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fd2:	e7fe      	b.n	8010fd2 <BusFault_Handler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f4a:	e7fe      	b.n	8010f4a <BusFault_Handler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fd4 <UsageFault_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f4c <UsageFault_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  This function handles Usage Fault exception. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void UsageFault_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fd4:	e7fe      	b.n	8010fd4 <UsageFault_Handler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f4c:	e7fe      	b.n	8010f4c <UsageFault_Handler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fd6 <DebugMon_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f4e <DebugMon_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @brief  This function handles Debug Monitor exception. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @param  None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   * @retval None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void DebugMon_Handler(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fd6:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f4e:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08010fd8 <ulli2a>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010f50 <ulli2a>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void _TFP_GCC_NO_INLINE_ ulli2a( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fd8:	e92d 4ff8 	stmdb	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f50:	e92d 4ff8 	stmdb	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fdc:	68d3      	ldr	r3, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f54:	68d3      	ldr	r3, [r2, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void _TFP_GCC_NO_INLINE_ ulli2a( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fde:	f8d2 b010 	ldr.w	fp, [r2, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f56:	f8d2 b010 	ldr.w	fp, [r2, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void _TFP_GCC_NO_INLINE_ ulli2a( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fe2:	4681      	mov	r9, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fe4:	468a      	mov	sl, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fe6:	4690      	mov	r8, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f5a:	4681      	mov	r9, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f5c:	468a      	mov	sl, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f5e:	4690      	mov	r8, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fe8:	461e      	mov	r6, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fea:	2700      	movs	r7, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f60:	461e      	mov	r6, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f62:	2700      	movs	r7, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void _TFP_GCC_NO_INLINE_ ulli2a( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fec:	2401      	movs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010fee:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f64:	2401      	movs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f66:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ff0:	e006      	b.n	8011000 <ulli2a+0x28> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f68:	e006      	b.n	8010f78 <ulli2a+0x28> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ff2:	fb04 f307 	mul.w	r3, r4, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ff6:	fb06 3305 	mla	r3, r6, r5, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ffa:	fba4 4506 	umull	r4, r5, r4, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8010ffe:	195d      	adds	r5, r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f6a:	fb04 f307 	mul.w	r3, r4, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f6e:	fb06 3305 	mla	r3, r6, r5, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f72:	fba4 4506 	umull	r4, r5, r4, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f76:	195d      	adds	r5, r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011000:	4648      	mov	r0, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011002:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011004:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011006:	462b      	mov	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011008:	f7f7 fcd8 	bl	80089bc <__aeabi_uldivmod> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801100c:	42b9      	cmp	r1, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801100e:	bf08      	it	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011010:	42b0      	cmpeq	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011012:	d2ee      	bcs.n	8010ff2 <ulli2a+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011014:	2600      	movs	r6, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011016:	e02d      	b.n	8011074 <ulli2a+0x9c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f78:	4648      	mov	r0, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f7a:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f7c:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f7e:	462b      	mov	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f80:	f7f7 fd1c 	bl	80089bc <__aeabi_uldivmod> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f84:	42b9      	cmp	r1, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f86:	bf08      	it	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f88:	42b0      	cmpeq	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f8a:	d2ee      	bcs.n	8010f6a <ulli2a+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f8c:	2600      	movs	r6, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f8e:	e02d      	b.n	8010fec <ulli2a+0x9c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int dgt = num / d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011018:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801101a:	462b      	mov	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801101c:	4648      	mov	r0, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801101e:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011020:	f7f7 fccc 	bl	80089bc <__aeabi_uldivmod> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f90:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f92:	462b      	mov	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f94:	4648      	mov	r0, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f96:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f98:	f7f7 fd10 	bl	80089bc <__aeabi_uldivmod> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num %= d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011024:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011026:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011028:	462b      	mov	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f9c:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010f9e:	4622      	mov	r2, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fa0:	462b      	mov	r3, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int dgt = num / d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801102a:	4607      	mov	r7, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fa2:	4607      	mov	r7, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num %= d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801102c:	4648      	mov	r0, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801102e:	f7f7 fcc5 	bl	80089bc <__aeabi_uldivmod> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fa4:	4648      	mov	r0, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fa6:	f7f7 fd09 	bl	80089bc <__aeabi_uldivmod> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d /= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011032:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011034:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010faa:	4620      	mov	r0, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fac:	4629      	mov	r1, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int dgt = num / d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num %= d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011036:	4691      	mov	r9, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011038:	469a      	mov	sl, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fae:	4691      	mov	r9, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fb0:	469a      	mov	sl, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d /= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801103a:	f8d8 200c 	ldr.w	r2, [r8, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801103e:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011040:	f7f7 fcbc 	bl	80089bc <__aeabi_uldivmod> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011044:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011046:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fb2:	f8d8 200c 	ldr.w	r2, [r8, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fb6:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fb8:	f7f7 fd00 	bl	80089bc <__aeabi_uldivmod> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fbc:	4604      	mov	r4, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fbe:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (n || dgt > 0 || d == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011048:	b926      	cbnz	r6, 8011054 <ulli2a+0x7c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801104a:	2f00      	cmp	r7, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801104c:	dc02      	bgt.n	8011054 <ulli2a+0x7c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801104e:	ea54 0305 	orrs.w	r3, r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011052:	d1e1      	bne.n	8011018 <ulli2a+0x40> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fc0:	b926      	cbnz	r6, 8010fcc <ulli2a+0x7c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fc2:	2f00      	cmp	r7, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fc4:	dc02      	bgt.n	8010fcc <ulli2a+0x7c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fc6:	ea54 0305 	orrs.w	r3, r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fca:	d1e1      	bne.n	8010f90 <ulli2a+0x40> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             *bf++ = dgt + (dgt < 10 ? '0' : (p->uc ? 'A' : 'a') - 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011054:	2f09      	cmp	r7, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011056:	b2fa      	uxtb	r2, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011058:	dd07      	ble.n	801106a <ulli2a+0x92> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801105a:	f898 3000 	ldrb.w	r3, [r8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801105e:	f013 0f04 	tst.w	r3, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011062:	bf0c      	ite	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011064:	2357      	moveq	r3, #87	; 0x57 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011066:	2337      	movne	r3, #55	; 0x37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011068:	e000      	b.n	801106c <ulli2a+0x94> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801106a:	2330      	movs	r3, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801106c:	189b      	adds	r3, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801106e:	f80b 3b01 	strb.w	r3, [fp], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fcc:	2f09      	cmp	r7, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fce:	b2fa      	uxtb	r2, r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fd0:	dd07      	ble.n	8010fe2 <ulli2a+0x92> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fd2:	f898 3000 	ldrb.w	r3, [r8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fd6:	f013 0f04 	tst.w	r3, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fda:	bf0c      	ite	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fdc:	2357      	moveq	r3, #87	; 0x57 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fde:	2337      	movne	r3, #55	; 0x37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fe0:	e000      	b.n	8010fe4 <ulli2a+0x94> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fe2:	2330      	movs	r3, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fe4:	189b      	adds	r3, r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fe6:	f80b 3b01 	strb.w	r3, [fp], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ++n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011072:	3601      	adds	r6, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fea:	3601      	adds	r6, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011074:	ea54 0305 	orrs.w	r3, r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011078:	d1ce      	bne.n	8011018 <ulli2a+0x40> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010fec:	ea54 0305 	orrs.w	r3, r4, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ff0:	d1ce      	bne.n	8010f90 <ulli2a+0x40> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (n || dgt > 0 || d == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             *bf++ = dgt + (dgt < 10 ? '0' : (p->uc ? 'A' : 'a') - 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ++n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *bf = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801107a:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801107c:	f88b 3000 	strb.w	r3, [fp] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011080:	e8bd 8ff8 	ldmia.w	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ff2:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ff4:	f88b 3000 	strb.w	r3, [fp] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ff8:	e8bd 8ff8 	ldmia.w	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011084 <uli2a>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08010ffc <uli2a>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void uli2a(unsigned long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011084:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ffc:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011086:	68ca      	ldr	r2, [r1, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8010ffe:	68ca      	ldr	r2, [r1, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void uli2a(unsigned long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011088:	690c      	ldr	r4, [r1, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011000:	690c      	ldr	r4, [r1, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void uli2a(unsigned long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801108a:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011002:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801108c:	e000      	b.n	8011090 <uli2a+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011004:	e000      	b.n	8011008 <uli2a+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801108e:	4353      	muls	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011006:	4353      	muls	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void uli2a(unsigned long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011090:	fbb0 f5f3 	udiv	r5, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011094:	4295      	cmp	r5, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011096:	d2fa      	bcs.n	801108e <uli2a+0xa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011098:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801109a:	e01a      	b.n	80110d2 <uli2a+0x4e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011008:	fbb0 f5f3 	udiv	r5, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801100c:	4295      	cmp	r5, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801100e:	d2fa      	bcs.n	8011006 <uli2a+0xa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011010:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011012:	e01a      	b.n	801104a <uli2a+0x4e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int dgt = num / d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num %= d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d /= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801109c:	68ce      	ldr	r6, [r1, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011014:	68ce      	ldr	r6, [r1, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int dgt = num / d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801109e:	fbb0 f2f3 	udiv	r2, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011016:	fbb0 f2f3 	udiv	r2, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num %= d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110a2:	fb03 0012 	mls	r0, r3, r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801101a:	fb03 0012 	mls	r0, r3, r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d /= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110a6:	fbb3 f3f6 	udiv	r3, r3, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801101e:	fbb3 f3f6 	udiv	r3, r3, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (n || dgt > 0 || d == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110aa:	b91d      	cbnz	r5, 80110b4 <uli2a+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110ac:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110ae:	dc01      	bgt.n	80110b4 <uli2a+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110b0:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110b2:	d1f3      	bne.n	801109c <uli2a+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011022:	b91d      	cbnz	r5, 801102c <uli2a+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011024:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011026:	dc01      	bgt.n	801102c <uli2a+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011028:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801102a:	d1f3      	bne.n	8011014 <uli2a+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             *bf++ = dgt + (dgt < 10 ? '0' : (p->uc ? 'A' : 'a') - 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110b4:	2a09      	cmp	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110b6:	b2d6      	uxtb	r6, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110b8:	dd06      	ble.n	80110c8 <uli2a+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110ba:	780a      	ldrb	r2, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110bc:	f012 0f04 	tst.w	r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110c0:	bf0c      	ite	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110c2:	2257      	moveq	r2, #87	; 0x57 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110c4:	2237      	movne	r2, #55	; 0x37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110c6:	e000      	b.n	80110ca <uli2a+0x46> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110c8:	2230      	movs	r2, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110ca:	1992      	adds	r2, r2, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110cc:	f804 2b01 	strb.w	r2, [r4], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801102c:	2a09      	cmp	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801102e:	b2d6      	uxtb	r6, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011030:	dd06      	ble.n	8011040 <uli2a+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011032:	780a      	ldrb	r2, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011034:	f012 0f04 	tst.w	r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011038:	bf0c      	ite	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801103a:	2257      	moveq	r2, #87	; 0x57 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801103c:	2237      	movne	r2, #55	; 0x37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801103e:	e000      	b.n	8011042 <uli2a+0x46> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011040:	2230      	movs	r2, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011042:	1992      	adds	r2, r2, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011044:	f804 2b01 	strb.w	r2, [r4], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ++n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110d0:	3501      	adds	r5, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011048:	3501      	adds	r5, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned long int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110d2:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110d4:	d1e2      	bne.n	801109c <uli2a+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801104a:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801104c:	d1e2      	bne.n	8011014 <uli2a+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (n || dgt > 0 || d == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             *bf++ = dgt + (dgt < 10 ? '0' : (p->uc ? 'A' : 'a') - 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ++n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *bf = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110d6:	7023      	strb	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110d8:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801104e:	7023      	strb	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011050:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080110da <ui2a>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011052 <ui2a>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     uli2a(num, p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void ui2a(unsigned int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110da:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011052:	b570      	push	{r4, r5, r6, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110dc:	68ca      	ldr	r2, [r1, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011054:	68ca      	ldr	r2, [r1, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void ui2a(unsigned int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110de:	690c      	ldr	r4, [r1, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011056:	690c      	ldr	r4, [r1, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void ui2a(unsigned int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110e0:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011058:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110e2:	e000      	b.n	80110e6 <ui2a+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801105a:	e000      	b.n	801105e <ui2a+0xc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110e4:	4353      	muls	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801105c:	4353      	muls	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void ui2a(unsigned int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110e6:	fbb0 f5f3 	udiv	r5, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110ea:	4295      	cmp	r5, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110ec:	d2fa      	bcs.n	80110e4 <ui2a+0xa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110ee:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110f0:	e01a      	b.n	8011128 <ui2a+0x4e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801105e:	fbb0 f5f3 	udiv	r5, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011062:	4295      	cmp	r5, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011064:	d2fa      	bcs.n	801105c <ui2a+0xa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011066:	2500      	movs	r5, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011068:	e01a      	b.n	80110a0 <ui2a+0x4e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int dgt = num / d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num %= d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d /= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110f2:	68ce      	ldr	r6, [r1, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801106a:	68ce      	ldr	r6, [r1, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int dgt = num / d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110f4:	fbb0 f2f3 	udiv	r2, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801106c:	fbb0 f2f3 	udiv	r2, r0, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num %= d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110f8:	fb03 0012 	mls	r0, r3, r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011070:	fb03 0012 	mls	r0, r3, r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d /= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80110fc:	fbb3 f3f6 	udiv	r3, r3, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011074:	fbb3 f3f6 	udiv	r3, r3, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (n || dgt > 0 || d == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011100:	b91d      	cbnz	r5, 801110a <ui2a+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011102:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011104:	dc01      	bgt.n	801110a <ui2a+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011106:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011108:	d1f3      	bne.n	80110f2 <ui2a+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011078:	b91d      	cbnz	r5, 8011082 <ui2a+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801107a:	2a00      	cmp	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801107c:	dc01      	bgt.n	8011082 <ui2a+0x30> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801107e:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011080:	d1f3      	bne.n	801106a <ui2a+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             *bf++ = dgt + (dgt < 10 ? '0' : (p->uc ? 'A' : 'a') - 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801110a:	2a09      	cmp	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801110c:	b2d6      	uxtb	r6, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801110e:	dd06      	ble.n	801111e <ui2a+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011110:	780a      	ldrb	r2, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011112:	f012 0f04 	tst.w	r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011116:	bf0c      	ite	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011118:	2257      	moveq	r2, #87	; 0x57 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801111a:	2237      	movne	r2, #55	; 0x37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801111c:	e000      	b.n	8011120 <ui2a+0x46> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801111e:	2230      	movs	r2, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011120:	1992      	adds	r2, r2, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011122:	f804 2b01 	strb.w	r2, [r4], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011082:	2a09      	cmp	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011084:	b2d6      	uxtb	r6, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011086:	dd06      	ble.n	8011096 <ui2a+0x44> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011088:	780a      	ldrb	r2, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801108a:	f012 0f04 	tst.w	r2, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801108e:	bf0c      	ite	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011090:	2257      	moveq	r2, #87	; 0x57 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011092:	2237      	movne	r2, #55	; 0x37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011094:	e000      	b.n	8011098 <ui2a+0x46> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011096:	2230      	movs	r2, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011098:	1992      	adds	r2, r2, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801109a:	f804 2b01 	strb.w	r2, [r4], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ++n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011126:	3501      	adds	r5, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801109e:	3501      	adds	r5, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int d = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (num / d >= p->base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         d *= p->base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (d != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011128:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801112a:	d1e2      	bne.n	80110f2 <ui2a+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110a0:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110a2:	d1e2      	bne.n	801106a <ui2a+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (n || dgt > 0 || d == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             *bf++ = dgt + (dgt < 10 ? '0' : (p->uc ? 'A' : 'a') - 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ++n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *bf = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801112c:	7023      	strb	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801112e:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110a4:	7023      	strb	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110a6:	bd70      	pop	{r4, r5, r6, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011130 <putchw>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080110a8 <putchw>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void putchw(void *putp, putcf putf, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011130:	e92d 41f0 	stmdb	sp!, {r4, r5, r6, r7, r8, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110a8:	e92d 41f0 	stmdb	sp!, {r4, r5, r6, r7, r8, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = p->width; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011134:	6913      	ldr	r3, [r2, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110ac:	6913      	ldr	r3, [r2, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void putchw(void *putp, putcf putf, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = p->width; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011136:	6854      	ldr	r4, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110ae:	6854      	ldr	r4, [r2, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void putchw(void *putp, putcf putf, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011138:	4606      	mov	r6, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801113a:	460f      	mov	r7, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801113c:	4615      	mov	r5, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110b0:	4606      	mov	r6, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110b2:	460f      	mov	r7, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110b4:	4615      	mov	r5, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = p->width; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Number of filling characters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (*bf++ && n > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801113e:	e000      	b.n	8011142 <putchw+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110b6:	e000      	b.n	80110ba <putchw+0x12> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         n--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011140:	3c01      	subs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110b8:	3c01      	subs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = p->width; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Number of filling characters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (*bf++ && n > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011142:	f813 2b01 	ldrb.w	r2, [r3], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011146:	b912      	cbnz	r2, 801114e <putchw+0x1e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110ba:	f813 2b01 	ldrb.w	r2, [r3], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110be:	b912      	cbnz	r2, 80110c6 <putchw+0x1e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         n--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (p->sign) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011148:	7a2b      	ldrb	r3, [r5, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801114a:	b91b      	cbnz	r3, 8011154 <putchw+0x24> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801114c:	e003      	b.n	8011156 <putchw+0x26> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110c0:	7a2b      	ldrb	r3, [r5, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110c2:	b91b      	cbnz	r3, 80110cc <putchw+0x24> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110c4:	e003      	b.n	80110ce <putchw+0x26> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int n = p->width; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char *bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Number of filling characters */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while (*bf++ && n > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801114e:	2c00      	cmp	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011150:	dcf6      	bgt.n	8011140 <putchw+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011152:	e7f9      	b.n	8011148 <putchw+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110c6:	2c00      	cmp	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110c8:	dcf6      	bgt.n	80110b8 <putchw+0x10> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110ca:	e7f9      	b.n	80110c0 <putchw+0x18> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         n--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (p->sign) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         n--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011154:	3c01      	subs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110cc:	3c01      	subs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (p->alt && p->base == 16) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011156:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011158:	0799      	lsls	r1, r3, #30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801115a:	d507      	bpl.n	801116c <putchw+0x3c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801115c:	68eb      	ldr	r3, [r5, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801115e:	2b10      	cmp	r3, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011160:	d101      	bne.n	8011166 <putchw+0x36> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110ce:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110d0:	0799      	lsls	r1, r3, #30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110d2:	d507      	bpl.n	80110e4 <putchw+0x3c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110d4:	68eb      	ldr	r3, [r5, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110d6:	2b10      	cmp	r3, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110d8:	d101      	bne.n	80110de <putchw+0x36> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         n -= 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011162:	3c02      	subs	r4, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011164:	e002      	b.n	801116c <putchw+0x3c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110da:	3c02      	subs	r4, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110dc:	e002      	b.n	80110e4 <putchw+0x3c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if (p->alt && p->base == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011166:	2b08      	cmp	r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110de:	2b08      	cmp	r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         n--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011168:	bf08      	it	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801116a:	3c01      	subeq	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110e0:	bf08      	it	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110e2:	3c01      	subeq	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Fill with space to align to the right, before alternate or sign */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!p->lz && !p->align_left) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801116c:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801116e:	f013 0f09 	tst.w	r3, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011172:	d10d      	bne.n	8011190 <putchw+0x60> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011174:	46a0      	mov	r8, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011176:	e004      	b.n	8011182 <putchw+0x52> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110e4:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110e6:	f013 0f09 	tst.w	r3, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110ea:	d10d      	bne.n	8011108 <putchw+0x60> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110ec:	46a0      	mov	r8, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110ee:	e004      	b.n	80110fa <putchw+0x52> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (n-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011178:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801117a:	2120      	movs	r1, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801117c:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801117e:	f108 38ff 	add.w	r8, r8, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110f0:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110f2:	2120      	movs	r1, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110f4:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110f6:	f108 38ff 	add.w	r8, r8, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if (p->alt && p->base == 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         n--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Fill with space to align to the right, before alternate or sign */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!p->lz && !p->align_left) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (n-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011182:	f1b8 0f00 	cmp.w	r8, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011186:	dcf7      	bgt.n	8011178 <putchw+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110fa:	f1b8 0f00 	cmp.w	r8, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80110fe:	dcf7      	bgt.n	80110f0 <putchw+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return neg ? -fvalue : fvalue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void putchw(void *putp, putcf putf, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011188:	1e63      	subs	r3, r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801118a:	ea24 74e4 	bic.w	r4, r4, r4, asr #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801118e:	1b1c      	subs	r4, r3, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011100:	1e63      	subs	r3, r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011102:	ea24 74e4 	bic.w	r4, r4, r4, asr #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011106:	1b1c      	subs	r4, r3, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (n-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* print sign */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (p->sign) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011190:	7a29      	ldrb	r1, [r5, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011192:	b109      	cbz	r1, 8011198 <putchw+0x68> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011108:	7a29      	ldrb	r1, [r5, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801110a:	b109      	cbz	r1, 8011110 <putchw+0x68> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         putf(putp, p->sign); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011194:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011196:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801110c:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801110e:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Alternate */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (p->alt && p->base == 16) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011198:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801119a:	079a      	lsls	r2, r3, #30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801119c:	d512      	bpl.n	80111c4 <putchw+0x94> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801119e:	68eb      	ldr	r3, [r5, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111a0:	2b10      	cmp	r3, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111a2:	d10a      	bne.n	80111ba <putchw+0x8a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011110:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011112:	079a      	lsls	r2, r3, #30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011114:	d512      	bpl.n	801113c <putchw+0x94> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011116:	68eb      	ldr	r3, [r5, #12] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011118:	2b10      	cmp	r3, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801111a:	d10a      	bne.n	8011132 <putchw+0x8a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111a4:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111a6:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111a8:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801111c:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801111e:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011120:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         putf(putp, (p->uc ? 'X' : 'x')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111aa:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111ac:	f013 0f04 	tst.w	r3, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111b0:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111b2:	bf0c      	ite	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111b4:	2178      	moveq	r1, #120	; 0x78 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111b6:	2158      	movne	r1, #88	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111b8:	e003      	b.n	80111c2 <putchw+0x92> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011122:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011124:	f013 0f04 	tst.w	r3, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011128:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801112a:	bf0c      	ite	eq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801112c:	2178      	moveq	r1, #120	; 0x78 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801112e:	2158      	movne	r1, #88	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011130:	e003      	b.n	801113a <putchw+0x92> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else if (p->alt && p->base == 8) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111ba:	2b08      	cmp	r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111bc:	d102      	bne.n	80111c4 <putchw+0x94> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011132:	2b08      	cmp	r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011134:	d102      	bne.n	801113c <putchw+0x94> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111be:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111c0:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111c2:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011136:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011138:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801113a:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Fill with zeros, after alternate or sign */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (p->lz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111c4:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111c6:	07db      	lsls	r3, r3, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111c8:	d50d      	bpl.n	80111e6 <putchw+0xb6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111ca:	46a0      	mov	r8, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111cc:	e004      	b.n	80111d8 <putchw+0xa8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801113c:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801113e:	07db      	lsls	r3, r3, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011140:	d50d      	bpl.n	801115e <putchw+0xb6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011142:	46a0      	mov	r8, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011144:	e004      	b.n	8011150 <putchw+0xa8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (n-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111ce:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111d0:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111d2:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111d4:	f108 38ff 	add.w	r8, r8, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011146:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011148:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801114a:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801114c:	f108 38ff 	add.w	r8, r8, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Fill with zeros, after alternate or sign */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (p->lz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (n-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111d8:	f1b8 0f00 	cmp.w	r8, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111dc:	dcf7      	bgt.n	80111ce <putchw+0x9e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011150:	f1b8 0f00 	cmp.w	r8, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011154:	dcf7      	bgt.n	8011146 <putchw+0x9e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return neg ? -fvalue : fvalue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void putchw(void *putp, putcf putf, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111de:	1e63      	subs	r3, r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111e0:	ea24 74e4 	bic.w	r4, r4, r4, asr #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111e4:	1b1c      	subs	r4, r3, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011156:	1e63      	subs	r3, r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011158:	ea24 74e4 	bic.w	r4, r4, r4, asr #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801115c:	1b1c      	subs	r4, r3, r4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (n-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Put actual buffer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111e6:	f8d5 8010 	ldr.w	r8, [r5, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801115e:	f8d5 8010 	ldr.w	r8, [r5, #16] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((ch = *bf++)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111ea:	e001      	b.n	80111f0 <putchw+0xc0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011162:	e001      	b.n	8011168 <putchw+0xc0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         putf(putp, ch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111ec:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111ee:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011164:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011166:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Put actual buffer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bf = p->bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((ch = *bf++)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111f0:	f818 1b01 	ldrb.w	r1, [r8], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111f4:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111f6:	d1f9      	bne.n	80111ec <putchw+0xbc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011168:	f818 1b01 	ldrb.w	r1, [r8], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801116c:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801116e:	d1f9      	bne.n	8011164 <putchw+0xbc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         putf(putp, ch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Fill with space to align to the left, after string */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!p->lz && p->align_left) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111f8:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111fa:	f003 0309 	and.w	r3, r3, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80111fe:	2b08      	cmp	r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011200:	d106      	bne.n	8011210 <putchw+0xe0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011202:	e003      	b.n	801120c <putchw+0xdc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011170:	782b      	ldrb	r3, [r5, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011172:	f003 0309 	and.w	r3, r3, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011176:	2b08      	cmp	r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011178:	d106      	bne.n	8011188 <putchw+0xe0> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801117a:	e003      	b.n	8011184 <putchw+0xdc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (n-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011204:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011206:	2120      	movs	r1, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011208:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801120a:	3c01      	subs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801117c:	4630      	mov	r0, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801117e:	2120      	movs	r1, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011180:	47b8      	blx	r7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011182:	3c01      	subs	r4, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((ch = *bf++)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         putf(putp, ch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* Fill with space to align to the left, after string */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!p->lz && p->align_left) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (n-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801120c:	2c00      	cmp	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801120e:	dcf9      	bgt.n	8011204 <putchw+0xd4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011210:	e8bd 81f0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011184:	2c00      	cmp	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011186:	dcf9      	bgt.n	801117c <putchw+0xd4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011188:	e8bd 81f0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011214 <_vsprintf_putcf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0801118c <_vsprintf_putcf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void _vsprintf_putcf(void *p, char c) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct _vsprintf_putcf_data *data = (struct _vsprintf_putcf_data*)p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data->dest[data->num_chars++] = c; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011214:	e890 000c 	ldmia.w	r0, {r2, r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011218:	54d1      	strb	r1, [r2, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801121a:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801121c:	6043      	str	r3, [r0, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801121e:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801118c:	e890 000c 	ldmia.w	r0, {r2, r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011190:	54d1      	strb	r1, [r2, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011192:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011194:	6043      	str	r3, [r0, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011196:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011220 <tfp_format>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011198 <tfp_format>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void tfp_format(void *putp, putcf putf, const char *fmt, va_list va) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011220:	e92d 4ff0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011224:	b09b      	sub	sp, #108	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011226:	4617      	mov	r7, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011198:	e92d 4ff0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801119c:	b09b      	sub	sp, #108	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801119e:	4617      	mov	r7, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char bf[23];  /* long = 64b on some architectures */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char bf[12];  /* int = 32b on some architectures */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     p.bf = bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011228:	aa04      	add	r2, sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111a0:	aa04      	add	r2, sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void tfp_format(void *putp, putcf putf, const char *fmt, va_list va) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801122a:	4605      	mov	r5, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801122c:	460e      	mov	r6, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801122e:	461c      	mov	r4, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111a2:	4605      	mov	r5, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111a4:	460e      	mov	r6, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111a6:	461c      	mov	r4, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char bf[23];  /* long = 64b on some architectures */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char bf[12];  /* int = 32b on some architectures */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     p.bf = bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011230:	920e      	str	r2, [sp, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111a8:	920e      	str	r2, [sp, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((ch = *(fmt++))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011232:	e208      	b.n	8011646 <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111aa:	e208      	b.n	80115be <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (ch != '%') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011234:	2925      	cmp	r1, #37	; 0x25 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011236:	d000      	beq.n	801123a <tfp_format+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011238:	e13a      	b.n	80114b0 <tfp_format+0x290> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111ac:	2925      	cmp	r1, #37	; 0x25 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111ae:	d000      	beq.n	80111b2 <tfp_format+0x1a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111b0:	e13a      	b.n	8011428 <tfp_format+0x290> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* Init parameter struct */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.lz = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.alt = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.width = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.align_left = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801123a:	f89d 2028 	ldrb.w	r2, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111b2:	f89d 2028 	ldrb.w	r2, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             char lng = 0;  /* 1 for long, 2 for long long */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* Init parameter struct */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.lz = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.alt = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.width = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801123e:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111b6:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.align_left = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011240:	f002 02fc 	and.w	r2, r2, #252	; 0xfc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011244:	f363 02c3 	bfi	r2, r3, #3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011248:	f88d 2028 	strb.w	r2, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111b8:	f002 02fc 	and.w	r2, r2, #252	; 0xfc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111bc:	f363 02c3 	bfi	r2, r3, #3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111c0:	f88d 2028 	strb.w	r2, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.sign = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.prec = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801124c:	2102      	movs	r1, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111c4:	2102      	movs	r1, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             char lng = 0;  /* 1 for long, 2 for long long */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* Init parameter struct */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.lz = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801124e:	b2d2      	uxtb	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011250:	f002 0c01 	and.w	ip, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011254:	f3c2 0040 	ubfx	r0, r2, #1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111c6:	b2d2      	uxtb	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111c8:	f002 0c01 	and.w	ip, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111cc:	f3c2 0040 	ubfx	r0, r2, #1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.alt = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.width = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011258:	930b      	str	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111d0:	930b      	str	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.align_left = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.sign = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801125a:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111d2:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.prec = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801125e:	f88d 103c 	strb.w	r1, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011262:	f3c2 02c0 	ubfx	r2, r2, #3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111d6:	f88d 103c 	strb.w	r1, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111da:	f3c2 02c0 	ubfx	r2, r2, #3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* Flags */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             while ((ch = *(fmt++))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011266:	e012      	b.n	801128e <tfp_format+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111de:	e012      	b.n	8011206 <tfp_format+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 switch (ch) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011268:	292d      	cmp	r1, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801126a:	d00f      	beq.n	801128c <tfp_format+0x6c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801126c:	d804      	bhi.n	8011278 <tfp_format+0x58> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801126e:	2923      	cmp	r1, #35	; 0x23 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011270:	d008      	beq.n	8011284 <tfp_format+0x64> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011272:	292b      	cmp	r1, #43	; 0x2b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011274:	d10f      	bne.n	8011296 <tfp_format+0x76> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011276:	e007      	b.n	8011288 <tfp_format+0x68> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011278:	2930      	cmp	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801127a:	d000      	beq.n	801127e <tfp_format+0x5e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801127c:	e00b      	b.n	8011296 <tfp_format+0x76> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111e0:	292d      	cmp	r1, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111e2:	d00f      	beq.n	8011204 <tfp_format+0x6c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111e4:	d804      	bhi.n	80111f0 <tfp_format+0x58> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111e6:	2923      	cmp	r1, #35	; 0x23 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111e8:	d008      	beq.n	80111fc <tfp_format+0x64> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111ea:	292b      	cmp	r1, #43	; 0x2b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111ec:	d10f      	bne.n	801120e <tfp_format+0x76> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111ee:	e007      	b.n	8011200 <tfp_format+0x68> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111f0:	2930      	cmp	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111f2:	d000      	beq.n	80111f6 <tfp_format+0x5e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111f4:	e00b      	b.n	801120e <tfp_format+0x76> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case '-': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     p.align_left = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case '0': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     p.lz = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801127e:	f04f 0c01 	mov.w	ip, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111f6:	f04f 0c01 	mov.w	ip, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011282:	e004      	b.n	801128e <tfp_format+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111fa:	e004      	b.n	8011206 <tfp_format+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case '#': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     p.alt = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011284:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111fc:	2001      	movs	r0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011286:	e002      	b.n	801128e <tfp_format+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80111fe:	e002      	b.n	8011206 <tfp_format+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case '+': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	p.sign = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011288:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011200:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801128a:	e000      	b.n	801128e <tfp_format+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011202:	e000      	b.n	8011206 <tfp_format+0x6e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* Flags */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             while ((ch = *(fmt++))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 switch (ch) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 case '-': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     p.align_left = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801128c:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011204:	2201      	movs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.align_left = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.sign = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             p.prec = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* Flags */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             while ((ch = *(fmt++))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801128e:	f817 1b01 	ldrb.w	r1, [r7], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011292:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011294:	d1e8      	bne.n	8011268 <tfp_format+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011296:	f89d 8028 	ldrb.w	r8, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801129a:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801129e:	f36c 0800 	bfi	r8, ip, #0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112a2:	46c4      	mov	ip, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112a4:	f360 0c41 	bfi	ip, r0, #1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112a8:	4660      	mov	r0, ip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011206:	f817 1b01 	ldrb.w	r1, [r7], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801120a:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801120c:	d1e8      	bne.n	80111e0 <tfp_format+0x48> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801120e:	f89d 8028 	ldrb.w	r8, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011212:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011216:	f36c 0800 	bfi	r8, ip, #0, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801121a:	46c4      	mov	ip, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801121c:	f360 0c41 	bfi	ip, r0, #1, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011220:	4660      	mov	r0, ip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* Width */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ch >= '0' && ch <= '9') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112aa:	f1a1 0330 	sub.w	r3, r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112ae:	f362 00c3 	bfi	r0, r2, #3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112b2:	2b09      	cmp	r3, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112b4:	f88d 0028 	strb.w	r0, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112b8:	d81d      	bhi.n	80112f6 <tfp_format+0xd6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112ba:	e004      	b.n	80112c6 <tfp_format+0xa6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011222:	f1a1 0330 	sub.w	r3, r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011226:	f362 00c3 	bfi	r0, r2, #3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801122a:	2b09      	cmp	r3, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801122c:	f88d 0028 	strb.w	r0, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011230:	d81d      	bhi.n	801126e <tfp_format+0xd6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011232:	e004      	b.n	801123e <tfp_format+0xa6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int num = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int digit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((digit = a2d(ch)) >= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (digit > base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = num * base + digit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112bc:	fb00 3202 	mla	r2, r0, r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011234:	fb00 3202 	mla	r2, r0, r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ch = *p++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112c0:	f817 1b01 	ldrb.w	r1, [r7], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112c4:	e001      	b.n	80112ca <tfp_format+0xaa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011238:	f817 1b01 	ldrb.w	r1, [r7], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801123c:	e001      	b.n	8011242 <tfp_format+0xaa> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* Width */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ch >= '0' && ch <= '9') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112c6:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801123e:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int num = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int digit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((digit = a2d(ch)) >= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (digit > base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = num * base + digit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112c8:	200a      	movs	r0, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011240:	200a      	movs	r0, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ui2a(num, p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static int a2d(char ch) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (ch >= '0' && ch <= '9') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112ca:	f1a1 0330 	sub.w	r3, r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112ce:	fa5f fc83 	uxtb.w	ip, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112d2:	f1bc 0f09 	cmp.w	ip, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112d6:	d9f1      	bls.n	80112bc <tfp_format+0x9c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011242:	f1a1 0330 	sub.w	r3, r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011246:	fa5f fc83 	uxtb.w	ip, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801124a:	f1bc 0f09 	cmp.w	ip, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801124e:	d9f1      	bls.n	8011234 <tfp_format+0x9c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ch - '0'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if (ch >= 'a' && ch <= 'f') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112d8:	f1a1 0361 	sub.w	r3, r1, #97	; 0x61 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112dc:	2b05      	cmp	r3, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112de:	d802      	bhi.n	80112e6 <tfp_format+0xc6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011250:	f1a1 0361 	sub.w	r3, r1, #97	; 0x61 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011254:	2b05      	cmp	r3, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011256:	d802      	bhi.n	801125e <tfp_format+0xc6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ch - 'a' + 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112e0:	f1a1 0357 	sub.w	r3, r1, #87	; 0x57 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112e4:	e1b5      	b.n	8011652 <tfp_format+0x432> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011258:	f1a1 0357 	sub.w	r3, r1, #87	; 0x57 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801125c:	e1b5      	b.n	80115ca <tfp_format+0x432> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if (ch >= 'A' && ch <= 'F') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112e6:	f1a1 0341 	sub.w	r3, r1, #65	; 0x41 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112ea:	2b05      	cmp	r3, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112ec:	d802      	bhi.n	80112f4 <tfp_format+0xd4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801125e:	f1a1 0341 	sub.w	r3, r1, #65	; 0x41 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011262:	2b05      	cmp	r3, #5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011264:	d802      	bhi.n	801126c <tfp_format+0xd4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ch - 'A' + 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112ee:	f1a1 0337 	sub.w	r3, r1, #55	; 0x37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112f2:	e1ae      	b.n	8011652 <tfp_format+0x432> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011266:	f1a1 0337 	sub.w	r3, r1, #55	; 0x37 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801126a:	e1ae      	b.n	80115ca <tfp_format+0x432> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = num * base + digit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ch = *p++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *src = p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *nump = num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112f4:	920b      	str	r2, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801126c:	920b      	str	r2, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* We accept 'x.y' format but don't support it completely: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              * we ignore the 'y' digit => this ignores 0-fill 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              * size and makes it == width (ie. 'x') */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ch == '.') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112f6:	292e      	cmp	r1, #46	; 0x2e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112f8:	d10e      	bne.n	8011318 <tfp_format+0xf8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801126e:	292e      	cmp	r1, #46	; 0x2e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011270:	d10e      	bne.n	8011290 <tfp_format+0xf8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               //p.lz = 1;  /* zero-padding */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               /* ignore actual 0-fill size: */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (ch >= '0' && ch <= '9') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112fa:	783a      	ldrb	r2, [r7, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112fc:	3a30      	subs	r2, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80112fe:	b2d2      	uxtb	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011272:	783a      	ldrb	r2, [r7, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011274:	3a30      	subs	r2, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011276:	b2d2      	uxtb	r2, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              * we ignore the 'y' digit => this ignores 0-fill 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              * size and makes it == width (ie. 'x') */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ch == '.') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               //p.lz = 1;  /* zero-padding */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               /* ignore actual 0-fill size: */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011300:	1c7b      	adds	r3, r7, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011278:	1c7b      	adds	r3, r7, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (ch >= '0' && ch <= '9') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011302:	2a09      	cmp	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801127a:	2a09      	cmp	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             	   p.prec = ch - '0'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011304:	bf98      	it	ls 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011306:	f88d 203c 	strbls.w	r2, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801127c:	bf98      	it	ls 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801127e:	f88d 203c 	strbls.w	r2, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             	   ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801130a:	f813 1b01 	ldrb.w	r1, [r3], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011282:	f813 1b01 	ldrb.w	r1, [r3], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }   while (ch >= '0' && ch <= '9'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801130e:	f1a1 0230 	sub.w	r2, r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011312:	2a09      	cmp	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011286:	f1a1 0230 	sub.w	r2, r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801128a:	2a09      	cmp	r2, #9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (ch >= '0' && ch <= '9') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             	   p.prec = ch - '0'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             	   ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011314:	461f      	mov	r7, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801128c:	461f      	mov	r7, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }   while (ch >= '0' && ch <= '9'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011316:	d9f8      	bls.n	801130a <tfp_format+0xea> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801128e:	d9f8      	bls.n	8011282 <tfp_format+0xea> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_SIZE_T_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ch == 'z') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011318:	297a      	cmp	r1, #122	; 0x7a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801131a:	d102      	bne.n	8011322 <tfp_format+0x102> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011290:	297a      	cmp	r1, #122	; 0x7a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011292:	d102      	bne.n	801129a <tfp_format+0x102> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801131c:	f817 1b01 	ldrb.w	r1, [r7], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011320:	e005      	b.n	801132e <tfp_format+0x10e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011294:	f817 1b01 	ldrb.w	r1, [r7], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011298:	e005      	b.n	80112a6 <tfp_format+0x10e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ch == 'l') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011322:	296c      	cmp	r1, #108	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011324:	d109      	bne.n	801133a <tfp_format+0x11a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801129a:	296c      	cmp	r1, #108	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801129c:	d109      	bne.n	80112b2 <tfp_format+0x11a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011326:	7839      	ldrb	r1, [r7, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801129e:	7839      	ldrb	r1, [r7, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 lng = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (ch == 'l') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011328:	296c      	cmp	r1, #108	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801132a:	d002      	beq.n	8011332 <tfp_format+0x112> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112a0:	296c      	cmp	r1, #108	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112a2:	d002      	beq.n	80112aa <tfp_format+0x112> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ch == 'l') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801132c:	3701      	adds	r7, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112a4:	3701      	adds	r7, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 lng = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801132e:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011330:	e004      	b.n	801133c <tfp_format+0x11c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112a6:	2301      	movs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112a8:	e004      	b.n	80112b4 <tfp_format+0x11c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (ch == 'l') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011332:	7879      	ldrb	r1, [r7, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112aa:	7879      	ldrb	r1, [r7, #1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   lng = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011334:	2302      	movs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112ac:	2302      	movs	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ch == 'l') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 lng = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (ch == 'l') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   ch = *(fmt++); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011336:	3702      	adds	r7, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011338:	e000      	b.n	801133c <tfp_format+0x11c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112ae:	3702      	adds	r7, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112b0:	e000      	b.n	80112b4 <tfp_format+0x11c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((ch = *(fmt++))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (ch != '%') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             putf(putp, ch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             char lng = 0;  /* 1 for long, 2 for long long */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801133a:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112b2:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   lng = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             switch (ch) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801133c:	2969      	cmp	r1, #105	; 0x69 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801133e:	d036      	beq.n	80113ae <tfp_format+0x18e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011340:	d816      	bhi.n	8011370 <tfp_format+0x150> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011342:	2963      	cmp	r1, #99	; 0x63 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011344:	f000 80a1 	beq.w	801148a <tfp_format+0x26a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011348:	d80c      	bhi.n	8011364 <tfp_format+0x144> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801134a:	2946      	cmp	r1, #70	; 0x46 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801134c:	f000 80b3 	beq.w	80114b6 <tfp_format+0x296> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011350:	d806      	bhi.n	8011360 <tfp_format+0x140> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011352:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011354:	f000 8181 	beq.w	801165a <tfp_format+0x43a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011358:	2925      	cmp	r1, #37	; 0x25 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801135a:	f040 8174 	bne.w	8011646 <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801135e:	e0a7      	b.n	80114b0 <tfp_format+0x290> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011360:	2958      	cmp	r1, #88	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011362:	e012      	b.n	801138a <tfp_format+0x16a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011364:	2964      	cmp	r1, #100	; 0x64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011366:	d022      	beq.n	80113ae <tfp_format+0x18e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011368:	2966      	cmp	r1, #102	; 0x66 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801136a:	f040 816c 	bne.w	8011646 <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801136e:	e0a2      	b.n	80114b6 <tfp_format+0x296> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011370:	2973      	cmp	r1, #115	; 0x73 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011372:	f000 8090 	beq.w	8011496 <tfp_format+0x276> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011376:	d805      	bhi.n	8011384 <tfp_format+0x164> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011378:	296f      	cmp	r1, #111	; 0x6f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801137a:	d078      	beq.n	801146e <tfp_format+0x24e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801137c:	2970      	cmp	r1, #112	; 0x70 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801137e:	f040 8162 	bne.w	8011646 <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011382:	e040      	b.n	8011406 <tfp_format+0x1e6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011384:	2975      	cmp	r1, #117	; 0x75 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011386:	d003      	beq.n	8011390 <tfp_format+0x170> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011388:	2978      	cmp	r1, #120	; 0x78 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801138a:	f040 815c 	bne.w	8011646 <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801138e:	e041      	b.n	8011414 <tfp_format+0x1f4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112b4:	2969      	cmp	r1, #105	; 0x69 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112b6:	d036      	beq.n	8011326 <tfp_format+0x18e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112b8:	d816      	bhi.n	80112e8 <tfp_format+0x150> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112ba:	2963      	cmp	r1, #99	; 0x63 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112bc:	f000 80a1 	beq.w	8011402 <tfp_format+0x26a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112c0:	d80c      	bhi.n	80112dc <tfp_format+0x144> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112c2:	2946      	cmp	r1, #70	; 0x46 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112c4:	f000 80b3 	beq.w	801142e <tfp_format+0x296> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112c8:	d806      	bhi.n	80112d8 <tfp_format+0x140> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112ca:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112cc:	f000 8181 	beq.w	80115d2 <tfp_format+0x43a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112d0:	2925      	cmp	r1, #37	; 0x25 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112d2:	f040 8174 	bne.w	80115be <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112d6:	e0a7      	b.n	8011428 <tfp_format+0x290> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112d8:	2958      	cmp	r1, #88	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112da:	e012      	b.n	8011302 <tfp_format+0x16a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112dc:	2964      	cmp	r1, #100	; 0x64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112de:	d022      	beq.n	8011326 <tfp_format+0x18e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112e0:	2966      	cmp	r1, #102	; 0x66 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112e2:	f040 816c 	bne.w	80115be <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112e6:	e0a2      	b.n	801142e <tfp_format+0x296> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112e8:	2973      	cmp	r1, #115	; 0x73 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112ea:	f000 8090 	beq.w	801140e <tfp_format+0x276> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112ee:	d805      	bhi.n	80112fc <tfp_format+0x164> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112f0:	296f      	cmp	r1, #111	; 0x6f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112f2:	d078      	beq.n	80113e6 <tfp_format+0x24e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112f4:	2970      	cmp	r1, #112	; 0x70 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112f6:	f040 8162 	bne.w	80115be <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112fa:	e040      	b.n	801137e <tfp_format+0x1e6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112fc:	2975      	cmp	r1, #117	; 0x75 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80112fe:	d003      	beq.n	8011308 <tfp_format+0x170> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011300:	2978      	cmp	r1, #120	; 0x78 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011302:	f040 815c 	bne.w	80115be <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011306:	e041      	b.n	801138c <tfp_format+0x1f4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 goto abort; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'u': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011390:	220a      	movs	r2, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011308:	220a      	movs	r2, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011392:	2b02      	cmp	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801130a:	2b02      	cmp	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             switch (ch) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 goto abort; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'u': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011394:	920d      	str	r2, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801130c:	920d      	str	r2, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011396:	d107      	bne.n	80113a8 <tfp_format+0x188> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801130e:	d107      	bne.n	8011320 <tfp_format+0x188> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ulli2a(va_arg(va, unsigned long long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011398:	3407      	adds	r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801139a:	f024 0307 	bic.w	r3, r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801139e:	f103 0408 	add.w	r4, r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113a2:	e9d3 0100 	ldrd	r0, r1, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113a6:	e017      	b.n	80113d8 <tfp_format+0x1b8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011310:	3407      	adds	r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011312:	f024 0307 	bic.w	r3, r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011316:	f103 0408 	add.w	r4, r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801131a:	e9d3 0100 	ldrd	r0, r1, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801131e:	e017      	b.n	8011350 <tfp_format+0x1b8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if (1 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     uli2a(va_arg(va, unsigned long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113a8:	6820      	ldr	r0, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113aa:	a90a      	add	r1, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113ac:	e04f      	b.n	801144e <tfp_format+0x22e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011320:	6820      	ldr	r0, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011322:	a90a      	add	r1, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011324:	e04f      	b.n	80113c6 <tfp_format+0x22e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ui2a(va_arg(va, unsigned int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'd': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'i': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113ae:	220a      	movs	r2, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011326:	220a      	movs	r2, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113b0:	2b02      	cmp	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011328:	2b02      	cmp	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ui2a(va_arg(va, unsigned int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'd': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'i': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113b2:	920d      	str	r2, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801132a:	920d      	str	r2, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113b4:	d112      	bne.n	80113dc <tfp_format+0x1bc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801132c:	d112      	bne.n	8011354 <tfp_format+0x1bc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     lli2a(va_arg(va, long long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113b6:	3407      	adds	r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113b8:	f024 0307 	bic.w	r3, r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113bc:	e9d3 0100 	ldrd	r0, r1, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113c0:	f103 0408 	add.w	r4, r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801132e:	3407      	adds	r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011330:	f024 0307 	bic.w	r3, r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011334:	e9d3 0100 	ldrd	r0, r1, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011338:	f103 0408 	add.w	r4, r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *bf = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void lli2a(long long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (num < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113c4:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113c6:	f171 0300 	sbcs.w	r3, r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113ca:	da05      	bge.n	80113d8 <tfp_format+0x1b8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801133c:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801133e:	f171 0300 	sbcs.w	r3, r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011342:	da05      	bge.n	8011350 <tfp_format+0x1b8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = -num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         p->sign = '-'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113cc:	232d      	movs	r3, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011344:	232d      	movs	r3, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void lli2a(long long int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (num < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = -num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113ce:	4240      	negs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113d0:	eb61 0141 	sbc.w	r1, r1, r1, lsl #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011346:	4240      	negs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011348:	eb61 0141 	sbc.w	r1, r1, r1, lsl #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         p->sign = '-'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113d4:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801134c:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ulli2a(num, p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113d8:	aa0a      	add	r2, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113da:	e033      	b.n	8011444 <tfp_format+0x224> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011350:	aa0a      	add	r2, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011352:	e033      	b.n	80113bc <tfp_format+0x224> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     lli2a(va_arg(va, long long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if (1 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113dc:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011354:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     li2a(va_arg(va, long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113de:	6820      	ldr	r0, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113e0:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011356:	6820      	ldr	r0, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011358:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     lli2a(va_arg(va, long long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if (1 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113e4:	d107      	bne.n	80113f6 <tfp_format+0x1d6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801135c:	d107      	bne.n	801136e <tfp_format+0x1d6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *bf = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void li2a(long num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (num < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113e6:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113e8:	da03      	bge.n	80113f2 <tfp_format+0x1d2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801135e:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011360:	da03      	bge.n	801136a <tfp_format+0x1d2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = -num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         p->sign = '-'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113ea:	232d      	movs	r3, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011362:	232d      	movs	r3, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void li2a(long num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (num < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = -num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113ec:	4240      	negs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011364:	4240      	negs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         p->sign = '-'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113ee:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011366:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     uli2a(num, p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113f2:	a90a      	add	r1, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113f4:	e02f      	b.n	8011456 <tfp_format+0x236> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801136a:	a90a      	add	r1, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801136c:	e02f      	b.n	80113ce <tfp_format+0x236> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *bf = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void i2a(int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (num < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113f6:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113f8:	da03      	bge.n	8011402 <tfp_format+0x1e2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801136e:	2800      	cmp	r0, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011370:	da03      	bge.n	801137a <tfp_format+0x1e2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = -num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         p->sign = '-'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113fa:	232d      	movs	r3, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011372:	232d      	movs	r3, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void i2a(int num, struct param *p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (num < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         num = -num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113fc:	4240      	negs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011374:	4240      	negs	r0, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         p->sign = '-'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80113fe:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011376:	f88d 3030 	strb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ui2a(num, p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011402:	a90a      	add	r1, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011404:	e02a      	b.n	801145c <tfp_format+0x23c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801137a:	a90a      	add	r1, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801137c:	e02a      	b.n	80113d4 <tfp_format+0x23c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     i2a(va_arg(va, int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef SIZEOF_POINTER 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'p': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.alt = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011406:	f89d 3028 	ldrb.w	r3, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801140a:	f043 0302 	orr.w	r3, r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801140e:	f88d 3028 	strb.w	r3, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801137e:	f89d 3028 	ldrb.w	r3, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011382:	f043 0302 	orr.w	r3, r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011386:	f88d 3028 	strb.w	r3, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # if defined(SIZEOF_INT) && SIZEOF_POINTER <= SIZEOF_INT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 lng = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011412:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801138a:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 lng = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'x': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'X': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011414:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801138c:	2210      	movs	r2, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.uc = (ch == 'X')?1:0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011416:	f1b1 0e58 	subs.w	lr, r1, #88	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801141a:	f1de 0100 	rsbs	r1, lr, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801141e:	f89d 0028 	ldrb.w	r0, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801138e:	f1b1 0e58 	subs.w	lr, r1, #88	; 0x58 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011392:	f1de 0100 	rsbs	r1, lr, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011396:	f89d 0028 	ldrb.w	r0, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 lng = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'x': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'X': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011422:	920d      	str	r2, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801139a:	920d      	str	r2, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.uc = (ch == 'X')?1:0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011424:	eb51 010e 	adcs.w	r1, r1, lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011428:	aa1a      	add	r2, sp, #104	; 0x68 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801142a:	f361 0082 	bfi	r0, r1, #2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801139c:	eb51 010e 	adcs.w	r1, r1, lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113a0:	aa1a      	add	r2, sp, #104	; 0x68 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113a2:	f361 0082 	bfi	r0, r1, #2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801142e:	2b02      	cmp	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113a6:	2b02      	cmp	r3, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'x': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'X': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.uc = (ch == 'X')?1:0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011430:	f802 0d40 	strb.w	r0, [r2, #-64]! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113a8:	f802 0d40 	strb.w	r0, [r2, #-64]! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011434:	d109      	bne.n	801144a <tfp_format+0x22a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113ac:	d109      	bne.n	80113c2 <tfp_format+0x22a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ulli2a(va_arg(va, unsigned long long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011436:	3407      	adds	r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011438:	f024 0307 	bic.w	r3, r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801143c:	e9d3 0100 	ldrd	r0, r1, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011440:	f103 0408 	add.w	r4, r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011444:	f7ff fdc8 	bl	8010fd8 <ulli2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011448:	e00b      	b.n	8011462 <tfp_format+0x242> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113ae:	3407      	adds	r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113b0:	f024 0307 	bic.w	r3, r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113b4:	e9d3 0100 	ldrd	r0, r1, [r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113b8:	f103 0408 	add.w	r4, r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113bc:	f7ff fdc8 	bl	8010f50 <ulli2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113c0:	e00b      	b.n	80113da <tfp_format+0x242> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if (1 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     uli2a(va_arg(va, unsigned long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801144a:	6820      	ldr	r0, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801144c:	4611      	mov	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113c2:	6820      	ldr	r0, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113c4:	4611      	mov	r1, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PRINTF_LONG_LONG_SUPPORT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (2 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ulli2a(va_arg(va, unsigned long long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if (1 == lng) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801144e:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011450:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011454:	d102      	bne.n	801145c <tfp_format+0x23c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113c6:	2b01      	cmp	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113c8:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113cc:	d102      	bne.n	80113d4 <tfp_format+0x23c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     uli2a(va_arg(va, unsigned long int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011456:	f7ff fe15 	bl	8011084 <uli2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801145a:	e001      	b.n	8011460 <tfp_format+0x240> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113ce:	f7ff fe15 	bl	8010ffc <uli2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113d2:	e001      	b.n	80113d8 <tfp_format+0x240> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ui2a(va_arg(va, unsigned int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801145c:	f7ff fe3d 	bl	80110da <ui2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011460:	4644      	mov	r4, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113d4:	f7ff fe3d 	bl	8011052 <ui2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113d8:	4644      	mov	r4, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011462:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011464:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011466:	aa0a      	add	r2, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011468:	f7ff fe62 	bl	8011130 <putchw> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113da:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113dc:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113de:	aa0a      	add	r2, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113e0:	f7ff fe62 	bl	80110a8 <putchw> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801146c:	e0eb      	b.n	8011646 <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113e4:	e0eb      	b.n	80115be <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'o': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801146e:	2308      	movs	r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113e6:	2308      	movs	r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ui2a(va_arg(va, unsigned int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011470:	6820      	ldr	r0, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113e8:	6820      	ldr	r0, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ui2a(va_arg(va, unsigned int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'o': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011472:	930d      	str	r3, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113ea:	930d      	str	r3, [sp, #52]	; 0x34 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ui2a(va_arg(va, unsigned int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011474:	a90a      	add	r1, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011476:	f7ff fe30 	bl	80110da <ui2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113ec:	a90a      	add	r1, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113ee:	f7ff fe30 	bl	8011052 <ui2a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801147a:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801147c:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801147e:	aa0a      	add	r2, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113f2:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113f4:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113f6:	aa0a      	add	r2, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ui2a(va_arg(va, unsigned int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'o': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.base = 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ui2a(va_arg(va, unsigned int), &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011480:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113f8:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011484:	f7ff fe54 	bl	8011130 <putchw> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011488:	e010      	b.n	80114ac <tfp_format+0x28c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80113fc:	f7ff fe54 	bl	80110a8 <putchw> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011400:	e010      	b.n	8011424 <tfp_format+0x28c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'c': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, (char)(va_arg(va, int))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801148a:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801148c:	7821      	ldrb	r1, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801148e:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011492:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011494:	e00a      	b.n	80114ac <tfp_format+0x28c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011402:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011404:	7821      	ldrb	r1, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011406:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801140a:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801140c:	e00a      	b.n	8011424 <tfp_format+0x28c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 's': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.bf = va_arg(va, char *); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011496:	6823      	ldr	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801140e:	6823      	ldr	r3, [r4, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011498:	aa0a      	add	r2, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801149a:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801149c:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011410:	aa0a      	add	r2, sp, #40	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011412:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011414:	4631      	mov	r1, r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'c': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, (char)(va_arg(va, int))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 's': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.bf = va_arg(va, char *); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801149e:	930e      	str	r3, [sp, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011416:	930e      	str	r3, [sp, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114a0:	f7ff fe46 	bl	8011130 <putchw> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011418:	f7ff fe46 	bl	80110a8 <putchw> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.bf = bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114a4:	aa04      	add	r2, sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801141c:	aa04      	add	r2, sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'c': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, (char)(va_arg(va, int))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 's': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.bf = va_arg(va, char *); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114a6:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801141e:	f104 0804 	add.w	r8, r4, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.bf = bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114aa:	920e      	str	r2, [sp, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011422:	920e      	str	r2, [sp, #56]	; 0x38 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'c': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, (char)(va_arg(va, int))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 's': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.bf = va_arg(va, char *); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114ac:	4644      	mov	r4, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011424:	4644      	mov	r4, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putchw(putp, putf, &p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 p.bf = bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114ae:	e0ca      	b.n	8011646 <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011426:	e0ca      	b.n	80115be <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case '%': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, ch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114b0:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114b2:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011428:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801142a:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114b4:	e0c7      	b.n	8011646 <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801142c:	e0c7      	b.n	80115be <tfp_format+0x426> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'f': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'F': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fval  = va_arg(va, double); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114b6:	3407      	adds	r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114b8:	f024 0307 	bic.w	r3, r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114bc:	f103 0408 	add.w	r4, r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114c0:	e893 0404 	ldmia.w	r3, {r2, sl} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114c4:	9200      	str	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801142e:	3407      	adds	r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011430:	f024 0307 	bic.w	r3, r4, #7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011434:	f103 0408 	add.w	r4, r3, #8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011438:	e893 0404 	ldmia.w	r3, {r2, sl} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801143c:	9200      	str	r2, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 sign = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (fval < 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114c6:	4610      	mov	r0, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114c8:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114ca:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114cc:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114ce:	f7f7 fa25 	bl	800891c <__aeabi_dcmplt> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114d2:	b138      	cbz	r0, 80114e4 <tfp_format+0x2c4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801143e:	4610      	mov	r0, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011440:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011442:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011444:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011446:	f7f7 fa69 	bl	800891c <__aeabi_dcmplt> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801144a:	b138      	cbz	r0, 801145c <tfp_format+0x2c4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	   sign    = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   p.width--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114d4:	9b0b      	ldr	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114d6:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114d8:	930b      	str	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801144c:	9b0b      	ldr	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801144e:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011450:	930b      	str	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   fval    = - fval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114da:	f10a 4a00 	add.w	sl, sl, #2147483648	; 0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011452:	f10a 4a00 	add.w	sl, sl, #2147483648	; 0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'F': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fval  = va_arg(va, double); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 sign = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (fval < 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	   sign    = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114de:	f04f 0b01 	mov.w	fp, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114e2:	e009      	b.n	80114f8 <tfp_format+0x2d8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011456:	f04f 0b01 	mov.w	fp, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801145a:	e009      	b.n	8011470 <tfp_format+0x2d8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   p.width--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   fval    = - fval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   else if (p.sign) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114e4:	f89d 3030 	ldrb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114e8:	b12b      	cbz	r3, 80114f6 <tfp_format+0x2d6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801145c:	f89d 3030 	ldrb.w	r3, [sp, #48]	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011460:	b12b      	cbz	r3, 801146e <tfp_format+0x2d6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   sign = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   p.width--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114ea:	9b0b      	ldr	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114ec:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114ee:	930b      	str	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011462:	9b0b      	ldr	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011464:	3b01      	subs	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011466:	930b      	str	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	   sign    = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   p.width--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   fval    = - fval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   else if (p.sign) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   sign = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114f0:	f04f 0b02 	mov.w	fp, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114f4:	e000      	b.n	80114f8 <tfp_format+0x2d8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011468:	f04f 0b02 	mov.w	fp, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801146c:	e000      	b.n	8011470 <tfp_format+0x2d8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, ch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'f': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case 'F': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fval  = va_arg(va, double); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 sign = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114f6:	469b      	mov	fp, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801146e:	469b      	mov	fp, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   else if (p.sign) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   sign = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   p.width--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fpart = (int)fval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114f8:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114fa:	9800      	ldr	r0, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80114fc:	f7f7 fa36 	bl	800896c <__aeabi_d2iz> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011470:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011472:	9800      	ldr	r0, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011474:	f7f7 fa7a 	bl	800896c <__aeabi_d2iz> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011500:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011478:	2200      	movs	r2, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   else if (p.sign) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   sign = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					   p.width--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fpart = (int)fval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011502:	9001      	str	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011504:	4680      	mov	r8, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801147a:	9001      	str	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801147c:	4680      	mov	r8, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fpart != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     temp_buffer[fiter++] = fpart % 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011506:	210a      	movs	r1, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801147e:	210a      	movs	r1, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fpart = (int)fval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fpart != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011508:	e008      	b.n	801151c <tfp_format+0x2fc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011480:	e008      	b.n	8011494 <tfp_format+0x2fc> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     temp_buffer[fiter++] = fpart % 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801150a:	fb98 f0f1 	sdiv	r0, r8, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801150e:	ab10      	add	r3, sp, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011510:	fb01 8810 	mls	r8, r1, r0, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011514:	f843 8022 	str.w	r8, [r3, r2, lsl #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011518:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011482:	fb98 f0f1 	sdiv	r0, r8, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011486:	ab10      	add	r3, sp, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011488:	fb01 8810 	mls	r8, r1, r0, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801148c:	f843 8022 	str.w	r8, [r3, r2, lsl #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011490:	3201      	adds	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     fpart = fpart / 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801151a:	4680      	mov	r8, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011492:	4680      	mov	r8, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fpart = (int)fval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fpart != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801151c:	f1b8 0f00 	cmp.w	r8, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011520:	d1f3      	bne.n	801150a <tfp_format+0x2ea> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011494:	f1b8 0f00 	cmp.w	r8, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011498:	d1f3      	bne.n	8011482 <tfp_format+0x2ea> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     temp_buffer[fiter++] = fpart % 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     fpart = fpart / 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (fiter == -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011522:	f102 39ff 	add.w	r9, r2, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011526:	b912      	cbnz	r2, 801152e <tfp_format+0x30e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801149a:	f102 39ff 	add.w	r9, r2, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801149e:	b912      	cbnz	r2, 80114a6 <tfp_format+0x30e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	p.width--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011528:	9a0b      	ldr	r2, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801152a:	3a01      	subs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801152c:	920b      	str	r2, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114a0:	9a0b      	ldr	r2, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114a2:	3a01      	subs	r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114a4:	920b      	str	r2, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 /* Leading zeros */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (p.lz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801152e:	f89d 2028 	ldrb.w	r2, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011532:	07d0      	lsls	r0, r2, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011534:	d51b      	bpl.n	801156e <tfp_format+0x34e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114a6:	f89d 2028 	ldrb.w	r2, [sp, #40]	; 0x28 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114aa:	07d0      	lsls	r0, r2, #31 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114ac:	d51b      	bpl.n	80114e6 <tfp_format+0x34e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	if (sign == 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011536:	f1bb 0f01 	cmp.w	fp, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801153a:	d102      	bne.n	8011542 <tfp_format+0x322> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114ae:	f1bb 0f01 	cmp.w	fp, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114b2:	d102      	bne.n	80114ba <tfp_format+0x322> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  					   putf(putp, '-'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801153c:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801153e:	212d      	movs	r1, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011540:	e007      	b.n	8011552 <tfp_format+0x332> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114b4:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114b6:	212d      	movs	r1, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114b8:	e007      	b.n	80114ca <tfp_format+0x332> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	else if (sign == 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011542:	f1bb 0f02 	cmp.w	fp, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011546:	d105      	bne.n	8011554 <tfp_format+0x334> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114ba:	f1bb 0f02 	cmp.w	fp, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114be:	d105      	bne.n	80114cc <tfp_format+0x334> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	   putf(putp, '+'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011548:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801154a:	212b      	movs	r1, #43	; 0x2b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801154c:	e001      	b.n	8011552 <tfp_format+0x332> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114c0:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114c2:	212b      	movs	r1, #43	; 0x2b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114c4:	e001      	b.n	80114ca <tfp_format+0x332> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					while (p.width-- > p.prec + fiter + 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801154e:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011550:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011552:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114c6:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114c8:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114ca:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	if (sign == 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  					   putf(putp, '-'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	else if (sign == 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	   putf(putp, '+'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					while (p.width-- > p.prec + fiter + 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011554:	f89d 203c 	ldrb.w	r2, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011558:	9b0b      	ldr	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801155a:	444a      	add	r2, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801155c:	3202      	adds	r2, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801155e:	1e59      	subs	r1, r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011560:	4293      	cmp	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011562:	910b      	str	r1, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011564:	dcf3      	bgt.n	801154e <tfp_format+0x32e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011566:	e017      	b.n	8011598 <tfp_format+0x378> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114cc:	f89d 203c 	ldrb.w	r2, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114d0:	9b0b      	ldr	r3, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114d2:	444a      	add	r2, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114d4:	3202      	adds	r2, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114d6:	1e59      	subs	r1, r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114d8:	4293      	cmp	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114da:	910b      	str	r1, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114dc:	dcf3      	bgt.n	80114c6 <tfp_format+0x32e> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114de:	e017      	b.n	8011510 <tfp_format+0x378> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					while (p.width-- > p.prec + fiter + 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						putf(putp, ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011568:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801156a:	2120      	movs	r1, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801156c:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114e0:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114e2:	2120      	movs	r1, #32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114e4:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					while (p.width-- > p.prec + fiter + 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801156e:	f89d 103c 	ldrb.w	r1, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011572:	9a0b      	ldr	r2, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011574:	4449      	add	r1, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011576:	3102      	adds	r1, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011578:	1e50      	subs	r0, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801157a:	428a      	cmp	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801157c:	900b      	str	r0, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801157e:	dcf3      	bgt.n	8011568 <tfp_format+0x348> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114e6:	f89d 103c 	ldrb.w	r1, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114ea:	9a0b      	ldr	r2, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114ec:	4449      	add	r1, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114ee:	3102      	adds	r1, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114f0:	1e50      	subs	r0, r2, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114f2:	428a      	cmp	r2, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114f4:	900b      	str	r0, [sp, #44]	; 0x2c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114f6:	dcf3      	bgt.n	80114e0 <tfp_format+0x348> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						putf(putp, ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	if (sign == 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011580:	f1bb 0f01 	cmp.w	fp, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011584:	d102      	bne.n	801158c <tfp_format+0x36c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114f8:	f1bb 0f01 	cmp.w	fp, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114fc:	d102      	bne.n	8011504 <tfp_format+0x36c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  					   putf(putp, '-'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011586:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011588:	212d      	movs	r1, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801158a:	e004      	b.n	8011596 <tfp_format+0x376> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80114fe:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011500:	212d      	movs	r1, #45	; 0x2d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011502:	e004      	b.n	801150e <tfp_format+0x376> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	else if (sign == 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801158c:	f1bb 0f02 	cmp.w	fp, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011590:	d102      	bne.n	8011598 <tfp_format+0x378> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011504:	f1bb 0f02 	cmp.w	fp, #2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011508:	d102      	bne.n	8011510 <tfp_format+0x378> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	   putf(putp, '+'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011592:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011594:	212b      	movs	r1, #43	; 0x2b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011596:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801150a:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801150c:	212b      	movs	r1, #43	; 0x2b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801150e:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (fiter == -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011598:	f1b9 3fff 	cmp.w	r9, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801159c:	d102      	bne.n	80115a4 <tfp_format+0x384> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011510:	f1b9 3fff 	cmp.w	r9, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011514:	d102      	bne.n	801151c <tfp_format+0x384> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801159e:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115a0:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115a2:	e007      	b.n	80115b4 <tfp_format+0x394> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011516:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011518:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801151a:	e007      	b.n	801152c <tfp_format+0x394> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fiter > -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     putf(putp, '0' + (temp_buffer[fiter--])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115a4:	ab10      	add	r3, sp, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115a6:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115a8:	f853 1029 	ldr.w	r1, [r3, r9, lsl #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115ac:	3130      	adds	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115ae:	f109 39ff 	add.w	r9, r9, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115b2:	b2c9      	uxtb	r1, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115b4:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801151c:	ab10      	add	r3, sp, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801151e:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011520:	f853 1029 	ldr.w	r1, [r3, r9, lsl #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011524:	3130      	adds	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011526:	f109 39ff 	add.w	r9, r9, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801152a:	b2c9      	uxtb	r1, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801152c:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (fiter == -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fiter > -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115b6:	f1b9 3fff 	cmp.w	r9, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115ba:	d1f3      	bne.n	80115a4 <tfp_format+0x384> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801152e:	f1b9 3fff 	cmp.w	r9, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011532:	d1f3      	bne.n	801151c <tfp_format+0x384> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     putf(putp, '0' + (temp_buffer[fiter--])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, '.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115bc:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115be:	212e      	movs	r1, #46	; 0x2e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115c0:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011534:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011536:	212e      	movs	r1, #46	; 0x2e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011538:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ffactor = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115c2:	f04f 0901 	mov.w	r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801153a:	f04f 0901 	mov.w	r9, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (p.prec-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115c6:	e01d      	b.n	8011604 <tfp_format+0x3e4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801153e:	e01d      	b.n	801157c <tfp_format+0x3e4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	ffactor *= 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115c8:	230a      	movs	r3, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011540:	230a      	movs	r3, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	fpart = (int)((fval - (int)fval)*ffactor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115ca:	9801      	ldr	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011542:	9801      	ldr	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, '.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ffactor = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (p.prec-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	ffactor *= 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115cc:	fb03 f909 	mul.w	r9, r3, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011544:	fb03 f909 	mul.w	r9, r3, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	fpart = (int)((fval - (int)fval)*ffactor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115d0:	f7f6 fecc 	bl	800836c <__aeabi_i2d> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115d4:	4602      	mov	r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115d6:	460b      	mov	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115d8:	9800      	ldr	r0, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115da:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115dc:	f7f6 fd78 	bl	80080d0 <__aeabi_dsub> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115e0:	e9cd 0102 	strd	r0, r1, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115e4:	4648      	mov	r0, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115e6:	f7f6 fec1 	bl	800836c <__aeabi_i2d> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115ea:	4602      	mov	r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115ec:	460b      	mov	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115ee:	e9dd 0102 	ldrd	r0, r1, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115f2:	f7f6 ff21 	bl	8008438 <__aeabi_dmul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115f6:	f7f7 f9b9 	bl	800896c <__aeabi_d2iz> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011548:	f7f6 ff10 	bl	800836c <__aeabi_i2d> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801154c:	4602      	mov	r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801154e:	460b      	mov	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011550:	9800      	ldr	r0, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011552:	4651      	mov	r1, sl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011554:	f7f6 fdbc 	bl	80080d0 <__aeabi_dsub> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011558:	e9cd 0102 	strd	r0, r1, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801155c:	4648      	mov	r0, r9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801155e:	f7f6 ff05 	bl	800836c <__aeabi_i2d> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011562:	4602      	mov	r2, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011564:	460b      	mov	r3, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011566:	e9dd 0102 	ldrd	r0, r1, [sp, #8] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801156a:	f7f6 ff65 	bl	8008438 <__aeabi_dmul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801156e:	f7f7 f9fd 	bl	800896c <__aeabi_d2iz> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	if (fpart == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115fa:	4680      	mov	r8, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115fc:	b910      	cbnz	r0, 8011604 <tfp_format+0x3e4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011572:	4680      	mov	r8, r0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011574:	b910      	cbnz	r0, 801157c <tfp_format+0x3e4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80115fe:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011600:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011602:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011576:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011578:	2130      	movs	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801157a:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     putf(putp, '0' + (temp_buffer[fiter--])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 putf(putp, '.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ffactor = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (p.prec-- > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011604:	f89d 303c 	ldrb.w	r3, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011608:	1e5a      	subs	r2, r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801160a:	f88d 203c 	strb.w	r2, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801160e:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011610:	d1da      	bne.n	80115c8 <tfp_format+0x3a8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801157c:	f89d 303c 	ldrb.w	r3, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011580:	1e5a      	subs	r2, r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011582:	f88d 203c 	strb.w	r2, [sp, #60]	; 0x3c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011586:	2b00      	cmp	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011588:	d1da      	bne.n	8011540 <tfp_format+0x3a8> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fpart != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     temp_buffer[fiter++] = fpart % 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011612:	220a      	movs	r2, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011614:	e008      	b.n	8011628 <tfp_format+0x408> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011616:	fb98 f1f2 	sdiv	r1, r8, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801161a:	a810      	add	r0, sp, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801161c:	fb02 8811 	mls	r8, r2, r1, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011620:	f840 8023 	str.w	r8, [r0, r3, lsl #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011624:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801158a:	220a      	movs	r2, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801158c:	e008      	b.n	80115a0 <tfp_format+0x408> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801158e:	fb98 f1f2 	sdiv	r1, r8, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011592:	a810      	add	r0, sp, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011594:	fb02 8811 	mls	r8, r2, r1, r8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011598:	f840 8023 	str.w	r8, [r0, r3, lsl #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801159c:	3301      	adds	r3, #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     fpart = fpart / 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011626:	4688      	mov	r8, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801159e:	4688      	mov	r8, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	fpart = (int)((fval - (int)fval)*ffactor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 	if (fpart == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						putf(putp, '0'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fpart != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011628:	f1b8 0f00 	cmp.w	r8, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801162c:	d1f3      	bne.n	8011616 <tfp_format+0x3f6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801162e:	4698      	mov	r8, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115a0:	f1b8 0f00 	cmp.w	r8, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115a4:	d1f3      	bne.n	801158e <tfp_format+0x3f6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115a6:	4698      	mov	r8, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     temp_buffer[fiter++] = fpart % 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     fpart = fpart / 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fiter > -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011630:	e006      	b.n	8011640 <tfp_format+0x420> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115a8:	e006      	b.n	80115b8 <tfp_format+0x420> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     putf(putp, '0' + (temp_buffer[fiter--])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011632:	ab10      	add	r3, sp, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011634:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011636:	f853 1028 	ldr.w	r1, [r3, r8, lsl #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801163a:	3130      	adds	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801163c:	b2c9      	uxtb	r1, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801163e:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115aa:	ab10      	add	r3, sp, #64	; 0x40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115ac:	4628      	mov	r0, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115ae:	f853 1028 	ldr.w	r1, [r3, r8, lsl #2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115b2:	3130      	adds	r1, #48	; 0x30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115b4:	b2c9      	uxtb	r1, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115b6:	47b0      	blx	r6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     temp_buffer[fiter++] = fpart % 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     fpart = fpart / 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fiter--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 while (fiter > -1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011640:	f118 38ff 	adds.w	r8, r8, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011644:	d2f5      	bcs.n	8011632 <tfp_format+0x412> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115b8:	f118 38ff 	adds.w	r8, r8, #4294967295 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115bc:	d2f5      	bcs.n	80115aa <tfp_format+0x412> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char bf[12];  /* int = 32b on some architectures */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     char ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     p.bf = bf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((ch = *(fmt++))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011646:	f817 1b01 	ldrb.w	r1, [r7], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801164a:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801164c:	f47f adf2 	bne.w	8011234 <tfp_format+0x14> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011650:	e003      	b.n	801165a <tfp_format+0x43a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115be:	f817 1b01 	ldrb.w	r1, [r7], #1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115c2:	2900      	cmp	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115c4:	f47f adf2 	bne.w	80111ac <tfp_format+0x14> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115c8:	e003      	b.n	80115d2 <tfp_format+0x43a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const char *p = *src; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unsigned int num = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int digit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     while ((digit = a2d(ch)) >= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (digit > base) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011652:	2b0a      	cmp	r3, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011654:	f77f ae32 	ble.w	80112bc <tfp_format+0x9c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011658:	e64c      	b.n	80112f4 <tfp_format+0xd4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115ca:	2b0a      	cmp	r3, #10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115cc:	f77f ae32 	ble.w	8011234 <tfp_format+0x9c> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115d0:	e64c      	b.n	801126c <tfp_format+0xd4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  abort:; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801165a:	b01b      	add	sp, #108	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801165c:	e8bd 8ff0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115d2:	b01b      	add	sp, #108	; 0x6c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115d4:	e8bd 8ff0 	ldmia.w	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011660 <init_printf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080115d8 <init_printf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static putcf stdout_putf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void *stdout_putp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void init_printf(void *putp, putcf putf) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     stdout_putf = putf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011660:	4b02      	ldr	r3, [pc, #8]	; (801166c <init_printf+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011662:	6019      	str	r1, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115d8:	4b02      	ldr	r3, [pc, #8]	; (80115e4 <init_printf+0xc>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115da:	6019      	str	r1, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     stdout_putp = putp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011664:	4b02      	ldr	r3, [pc, #8]	; (8011670 <init_printf+0x10>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011666:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011668:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801166a:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801166c:	20006dc8 	.word	0x20006dc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011670:	20006dcc 	.word	0x20006dcc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011674 <tfp_printf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115dc:	4b02      	ldr	r3, [pc, #8]	; (80115e8 <init_printf+0x10>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115de:	6018      	str	r0, [r3, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115e0:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115e2:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115e4:	20006dc8 	.word	0x20006dc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115e8:	20006dcc 	.word	0x20006dcc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080115ec <tfp_printf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void tfp_printf(char *fmt, ...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011674:	b40f      	push	{r0, r1, r2, r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011676:	b507      	push	{r0, r1, r2, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115ec:	b40f      	push	{r0, r1, r2, r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115ee:	b507      	push	{r0, r1, r2, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_list va; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_start(va, fmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tfp_format(stdout_putp, stdout_putf, fmt, va); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011678:	4906      	ldr	r1, [pc, #24]	; (8011694 <tfp_printf+0x20>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115f0:	4906      	ldr	r1, [pc, #24]	; (801160c <tfp_printf+0x20>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     stdout_putf = putf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     stdout_putp = putp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void tfp_printf(char *fmt, ...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801167a:	ab04      	add	r3, sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115f2:	ab04      	add	r3, sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_list va; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_start(va, fmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tfp_format(stdout_putp, stdout_putf, fmt, va); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801167c:	6808      	ldr	r0, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801167e:	4906      	ldr	r1, [pc, #24]	; (8011698 <tfp_printf+0x24>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115f4:	6808      	ldr	r0, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115f6:	4906      	ldr	r1, [pc, #24]	; (8011610 <tfp_printf+0x24>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     stdout_putf = putf; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     stdout_putp = putp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void tfp_printf(char *fmt, ...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011680:	f853 2b04 	ldr.w	r2, [r3], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115f8:	f853 2b04 	ldr.w	r2, [r3], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_list va; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_start(va, fmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tfp_format(stdout_putp, stdout_putf, fmt, va); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011684:	6809      	ldr	r1, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115fc:	6809      	ldr	r1, [r1, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void tfp_printf(char *fmt, ...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_list va; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_start(va, fmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011686:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80115fe:	9301      	str	r3, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tfp_format(stdout_putp, stdout_putf, fmt, va); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011688:	f7ff fdca 	bl	8011220 <tfp_format> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011600:	f7ff fdca 	bl	8011198 <tfp_format> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     va_end(va); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801168c:	e8bd 400e 	ldmia.w	sp!, {r1, r2, r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011690:	b004      	add	sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011692:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011694:	20006dcc 	.word	0x20006dcc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011698:	20006dc8 	.word	0x20006dc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011604:	e8bd 400e 	ldmia.w	sp!, {r1, r2, r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011608:	b004      	add	sp, #16 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801160a:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801160c:	20006dcc 	.word	0x20006dcc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011610:	20006dc8 	.word	0x20006dc8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801169c <tfp_vsprintf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011614 <tfp_vsprintf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct _vsprintf_putcf_data *data = (struct _vsprintf_putcf_data*)p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data->dest[data->num_chars++] = c; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int tfp_vsprintf(char *str, const char *format, va_list ap) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801169c:	b537      	push	{r0, r1, r2, r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801169e:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116a0:	4613      	mov	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011614:	b537      	push	{r0, r1, r2, r4, r5, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011616:	460d      	mov	r5, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011618:	4613      	mov	r3, r2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct _vsprintf_putcf_data data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data.dest = str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116a2:	9000      	str	r0, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801161a:	9000      	str	r0, [sp, #0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data.num_chars = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116a4:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801161c:	2400      	movs	r4, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tfp_format(&data, _vsprintf_putcf, format, ap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116a6:	4668      	mov	r0, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116a8:	462a      	mov	r2, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116aa:	4904      	ldr	r1, [pc, #16]	; (80116bc <tfp_vsprintf+0x20>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801161e:	4668      	mov	r0, sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011620:	462a      	mov	r2, r5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011622:	4904      	ldr	r1, [pc, #16]	; (8011634 <tfp_vsprintf+0x20>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int tfp_vsprintf(char *str, const char *format, va_list ap) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct _vsprintf_putcf_data data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data.dest = str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data.num_chars = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116ac:	9401      	str	r4, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011624:	9401      	str	r4, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   tfp_format(&data, _vsprintf_putcf, format, ap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116ae:	f7ff fdb7 	bl	8011220 <tfp_format> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011626:	f7ff fdb7 	bl	8011198 <tfp_format> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data.dest[data.num_chars] = '\0'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116b2:	e89d 000c 	ldmia.w	sp, {r2, r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116b6:	54d4      	strb	r4, [r2, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801162a:	e89d 000c 	ldmia.w	sp, {r2, r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801162e:	54d4      	strb	r4, [r2, r3] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return data.num_chars; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116b8:	9801      	ldr	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116ba:	bd3e      	pop	{r1, r2, r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116bc:	08011215 	.word	0x08011215 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011630:	9801      	ldr	r0, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011632:	bd3e      	pop	{r1, r2, r3, r4, r5, pc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011634:	0801118d 	.word	0x0801118d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080116c0 <tfp_sprintf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011638 <tfp_sprintf>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int tfp_sprintf(char *str, const char *format, ...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116c0:	b40e      	push	{r1, r2, r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116c2:	b503      	push	{r0, r1, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116c4:	aa03      	add	r2, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116c6:	f852 1b04 	ldr.w	r1, [r2], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011638:	b40e      	push	{r1, r2, r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801163a:	b503      	push	{r0, r1, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801163c:	aa03      	add	r2, sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801163e:	f852 1b04 	ldr.w	r1, [r2], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   va_list ap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int retval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   va_start(ap, format); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116ca:	9201      	str	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011642:	9201      	str	r2, [sp, #4] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   retval = tfp_vsprintf(str, format, ap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116cc:	f7ff ffe6 	bl	801169c <tfp_vsprintf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011644:	f7ff ffe6 	bl	8011614 <tfp_vsprintf> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   va_end(ap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return retval; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116d0:	e8bd 400c 	ldmia.w	sp!, {r2, r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116d4:	b003      	add	sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116d6:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011648:	e8bd 400c 	ldmia.w	sp!, {r2, r3, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801164c:	b003      	add	sp, #12 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801164e:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080116d8 <Reset_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011650 <Reset_Handler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   .weak  Reset_Handler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   .type  Reset_Handler, %function 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Reset_Handler:   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* Copy the data segment initializers from flash to SRAM */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   movs  r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116d8:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011650:	2100      	movs	r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   b  LoopCopyDataInit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116da:	f000 b804 	b.w	80116e6 <LoopCopyDataInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011652:	f000 b804 	b.w	801165e <LoopCopyDataInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080116de <CopyDataInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011656 <CopyDataInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 CopyDataInit: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r3, =_sidata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116de:	4b0d      	ldr	r3, [pc, #52]	; (8011714 <LoopFillZerobss+0x16>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011656:	4b0d      	ldr	r3, [pc, #52]	; (801168c <LoopFillZerobss+0x16>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r3, [r3, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116e0:	585b      	ldr	r3, [r3, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011658:	585b      	ldr	r3, [r3, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   str  r3, [r0, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116e2:	5043      	str	r3, [r0, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801165a:	5043      	str	r3, [r0, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   adds  r1, r1, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116e4:	3104      	adds	r1, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801165c:	3104      	adds	r1, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080116e6 <LoopCopyDataInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0801165e <LoopCopyDataInit>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LoopCopyDataInit: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r0, =_sdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116e6:	480c      	ldr	r0, [pc, #48]	; (8011718 <LoopFillZerobss+0x1a>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801165e:	480c      	ldr	r0, [pc, #48]	; (8011690 <LoopFillZerobss+0x1a>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r3, =_edata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116e8:	4b0c      	ldr	r3, [pc, #48]	; (801171c <LoopFillZerobss+0x1e>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011660:	4b0c      	ldr	r3, [pc, #48]	; (8011694 <LoopFillZerobss+0x1e>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   adds  r2, r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116ea:	1842      	adds	r2, r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011662:	1842      	adds	r2, r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmp  r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116ec:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011664:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bcc  CopyDataInit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116ee:	f4ff aff6 	bcc.w	80116de <CopyDataInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011666:	f4ff aff6 	bcc.w	8011656 <CopyDataInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r2, =_sbss 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116f2:	4a0b      	ldr	r2, [pc, #44]	; (8011720 <LoopFillZerobss+0x22>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801166a:	4a0b      	ldr	r2, [pc, #44]	; (8011698 <LoopFillZerobss+0x22>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   b  LoopFillZerobss 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116f4:	f000 b803 	b.w	80116fe <LoopFillZerobss> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801166c:	f000 b803 	b.w	8011676 <LoopFillZerobss> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080116f8 <FillZerobss>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011670 <FillZerobss>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* Zero fill the bss segment. */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 FillZerobss: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   movs  r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116f8:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011670:	2300      	movs	r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   str  r3, [r2], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116fa:	f842 3b04 	str.w	r3, [r2], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011672:	f842 3b04 	str.w	r3, [r2], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080116fe <LoopFillZerobss>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011676 <LoopFillZerobss>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LoopFillZerobss: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r3, = _ebss 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80116fe:	4b09      	ldr	r3, [pc, #36]	; (8011724 <LoopFillZerobss+0x26>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011676:	4b09      	ldr	r3, [pc, #36]	; (801169c <LoopFillZerobss+0x26>) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmp  r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011700:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011678:	429a      	cmp	r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bcc  FillZerobss 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011702:	f4ff aff9 	bcc.w	80116f8 <FillZerobss> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801167a:	f4ff aff9 	bcc.w	8011670 <FillZerobss> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* Call the clock system intitialization function.*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bl  SystemInit    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011706:	f7f8 fa21 	bl	8009b4c <SystemInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801167e:	f7f8 fa65 	bl	8009b4c <SystemInit> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* Call static constructors */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bl __libc_init_array 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801170a:	f7f7 fe1d 	bl	8009348 <__libc_init_array> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011682:	f7f7 fe61 	bl	8009348 <__libc_init_array> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* Call the application's entry point.*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bl  main 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801170e:	f7ff fb45 	bl	8010d9c <main> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011686:	f7ff fb45 	bl	8010d14 <main> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bx  lr     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011712:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801168a:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* Copy the data segment initializers from flash to SRAM */   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   movs  r1, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   b  LoopCopyDataInit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 CopyDataInit: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r3, =_sidata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011714:	08013698 	.word	0x08013698 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801168c:	080135f8 	.word	0x080135f8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r3, [r3, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   str  r3, [r0, r1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   adds  r1, r1, #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LoopCopyDataInit: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r0, =_sdata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011718:	20000000 	.word	0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011690:	20000000 	.word	0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r3, =_edata 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801171c:	20000118 	.word	0x20000118 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011694:	20000118 	.word	0x20000118 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   adds  r2, r0, r1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cmp  r2, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bcc  CopyDataInit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r2, =_sbss 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011720:	20000118 	.word	0x20000118 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011698:	20000118 	.word	0x20000118 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 FillZerobss: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   movs  r3, #0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   str  r3, [r2], #4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LoopFillZerobss: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ldr  r3, = _ebss 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011724:	2000c99c 	.word	0x2000c99c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801169c:	2000c7d8 	.word	0x2000c7d8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011728 <ADC_IRQHandler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080116a0 <ADC_IRQHandler>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @retval None        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     .section  .text.Default_Handler,"ax",%progbits 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Default_Handler: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Infinite_Loop: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   b  Infinite_Loop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011728:	f7ff bffe 	b.w	8011728 <ADC_IRQHandler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801172c <_ctype_>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801172c:	2000 2020 2020 2020 2020 2828 2828 2028     .         (((((  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801173c:	2020 2020 2020 2020 2020 2020 2020 2020                      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801174c:	8820 1010 1010 1010 1010 1010 1010 1010      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801175c:	0410 0404 0404 0404 0404 1004 1010 1010     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801176c:	1010 4141 4141 4141 0101 0101 0101 0101     ..AAAAAA........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801177c:	0101 0101 0101 0101 0101 0101 1010 1010     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801178c:	1010 4242 4242 4242 0202 0202 0202 0202     ..BBBBBB........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801179c:	0202 0202 0202 0202 0202 0202 1010 1010     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80117ac:	0020 0000 0000 0000 0000 0000 0000 0000      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80117bc:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80117cc:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80117dc:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80117ec:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80117fc:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801180c:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801181c:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801182c:	0000 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011830 <memp_num>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011830:	0004 0006 000a 0005 0019 0005 000f 000a     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011840:	0032 000f                                   2... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011844 <memp_sizes>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011844:	001c 0020 0094 001c 0010 0020 0018 0010     .. ....... ..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011854:	0010 0614                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011858 <tcp_pcb_lists>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011858:	8344 2000 834c 2000 833c 2000 8350 2000     D.. L.. <.. P..  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011868 <tcp_backoff>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011868:	0201 0403 0605 0707 0707 0707 0307               ............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011875 <tcp_persist_backoff>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011875:	0603 180c 6030 ff78                              ....0`x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801187c <ip_addr_broadcast>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801187c:	ffff ffff                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011880 <ip_addr_any>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011880:	0000 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08011884 <ethbroadcast>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011884:	ffff ffff ffff                              ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801188a <ethzero>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801188a:	0000 0000 0000 3931 2e32 3631 2e38 2e31     ......192.168.1. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801189a:	0032 3931 2e32 3631 2e38 2e31 0031 3532     2.192.168.1.1.25 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80118aa:	2e35 3532 2e35 3532 2e35 0030 7570 6c62     5.255.255.0.publ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80118ba:	6369 4200 2d54 3736 3130 3000 302e 302e     ic.BT-6701.0.0.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80118ca:	302e 3000 2e39 3031 322e 3130 0035 4345     .0.09.10.2015.EC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80118da:	342d 2d43 4434 302d 2d30 3030 302d 0041     -4C-4D-00-00-0A. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80118ea:	4e4b 302d 2d33 3030 3030 0033 0d0a 4149     KN-03-00003...IA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80118fa:	3a50 4220 6461 6320 6972 6974 6163 206c     P: Bad critical  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801190a:	6573 7474 6e69 7367 7320 6365 6f74 2072     settings sector  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801191a:	5243 2e43 4620 6361 6f74 7972 6420 6665     CRC. Factory def 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801192a:	7561 746c 2073 6572 7473 726f 6465 0a2e     aults restored.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801193a:	000d                                        .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801193c <data__upload_css>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801193c:	752f 6c70 616f 2e64 7363 0073 5448 5054     /upload.css.HTTP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801194c:	312f 302e 3220 3030 4f20 0d4b 530a 7265     /1.0 200 OK..Ser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801195c:	6576 3a72 6c20 4977 2f50 2e31 2e33 2031     ver: lwIP/1.3.1  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801196c:	6828 7474 3a70 2f2f 6173 6176 6e6e 6861     (http://savannah 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801197c:	6e2e 6e6f 6e67 2e75 726f 2f67 7270 6a6f     .nongnu.org/proj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801198c:	6365 7374 6c2f 6977 2970 0a0d 6f43 746e     ects/lwip)..Cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801199c:	6e65 2d74 7974 6570 203a 6574 7478 632f     ent-type: text/c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80119ac:	7373 0a0d 6f43 746e 6e65 2d74 6e45 6f63     ss..Content-Enco 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80119bc:	6964 676e 203a 7a67 7069 0a0d 0a0d 8b1f     ding: gzip...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80119cc:	0008 0000 0000 0b04 58b5 6f5b 38a4 fe16     .........X[o.8.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80119dc:	ac2b 96a2 2d3a a9a0 54aa 012a 6b75 4667     +...:-...T*.ukgF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80119ec:	d23d bb48 3b6f 514f 0c1e f018 6c06 4d84     =.H.o;OQ.....l.M 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80119fc:	d2a5 ff0c 8f7d e06f a2aa 912a ab46 44ee     ....}.o...*.F..D 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a0c:	f8e4 f9f6 f39c 8b9d 7ebf 87f9 5947 a0d7     .........~..GY.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a1c:	fc9a 61c4 b9c6 dfb7 5184 f6b8 f2fe fdfe     ...a.....Q...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a2c:	7fc7 7fbc 0c91 8e53 afe1 8892 b090 d3af     ......S......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a3c:	ef5c d7cb 7e2f f2ca a1b7 5d41 6849 8d1c     \.../~....A]Ih.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a4c:	fc5f 971a e698 80be d5ff a2d0 273c 84b4     _...........<'.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a5c:	b081 3520 b3fe 19ad fdca a290 8a7d 3f3a     .. 5........}.:? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a6c:	d5ec 41df 8701 bcfb e14f 1da7 c65a 2089     ...A....O...Z..  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a7c:	c68c ae1d 2091 3c7b 64de a7ac 6722 d4af     ..... {<.d.."g.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a8c:	530f 0741 0f81 0022 25b0 018d c099 48dd     .SA..."..%.....H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011a9c:	d29a 3b9c aca4 71cb 0707 a256 87a9 5182     ...;...q..V....Q 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011aac:	1411 21a8 5bf5 11cc 01e5 1dc7 9229 15e0     ...!.[......)... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011abc:	2fa7 0444 276a b70e 500e dffe 8b9e 1578     ./D.j'...P....x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011acc:	9f45 a092 17e1 5246 bd94 1d94 c9a0 8c83     E.....FR........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011adc:	acd5 6f8b 3c7e f8fc f7f5 d255 1a10 9854     ...o~<....U...T. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011aec:	9594 7788 a8eb 8c3d 2b4a ce66 b366 5119     ...w..=.J+f.f..Q 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011afc:	4827 6356 711f 6392 c73f 9102 fb9a 2905     'HVc.q.c?......) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b0c:	d433 dbca cfca c3be c17e 5c18 afc8 8230     3.......~..\..0. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b1c:	f85b 3c95 f5ac 441b dfa8 da60 a0fb 9f38     [..<...D..`...8. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b2c:	4ce3 e0ad 037d 7f6a 721b dbc2 bd1a 69c5     .L..}.j..r.....i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b3c:	b2cd 1197 39f5 7e61 e886 711e edbf d958     .....9a~...q..X. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b4c:	ce61 3dfd ca9c 99a6 d684 e284 2d40 f648     a..=........@-H. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b5c:	4258 b543 68d1 388a a396 a37a 3298 f9f1     XBC..h.8..z..2.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b6c:	0329 762d e6ac b7cf 16d3 5194 989c 471b     ).-v.......Q...G 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b7c:	53e3 f245 d31c 5f67 06e0 08b0 347c 446f     .SE...g_....|4oD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b8c:	99c3 44e2 d607 5168 f607 511b e08c 7b46     ...D..hQ...Q..F{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011b9c:	4e50 315c 3380 5eb0 0848 4460 a694 93dd     PN\1.3.^H.`D.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011bac:	a220 cfc6 b2c6 ca41 6084 bc4d 0f6a 0e5e      .....A..`M.j.^. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011bbc:	389f 531f b59f 6b42 038a 5a4e b36a 1abf     .8.S..Bk..NZj... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011bcc:	447b 98d1 5417 b8cb ab78 4c71 7804 364f     {D...T..x.qL.xO6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011bdc:	2b56 0423 8807 b8d7 4119 2f9d 3183 145a     V+#......A./.1Z. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011bec:	c945 3a8c 29be f00a f061 e53e 4182 688e     E..:.)..a.>..A.h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011bfc:	bb89 e0d0 7296 b223 5157 b6a2 d223 4742     .....r#.WQ..#.BG 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c0c:	8cd3 9a6c 5ac7 bf4c 7987 5ac7 e0e9 6081     ..l..ZL..y.Z...` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c1c:	5965 6763 3f43 3cbc ecc3 6ae5 0e17 312c     eYcgC?.<...j..,1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c2c:	0d58 c80c d081 0186 c5d2 87e3 d3e8 4968     X.............hI 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c3c:	78a6 a4a1 edbb 44a7 8379 e635 8745 e490     .x.....Dy.5.E... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c4c:	ac14 838d 0b70 82ba c09d ca22 4114 56b8     ....p....."..A.V 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c5c:	7d92 dca9 ee25 87c0 076f c969 66a2 b1af     .}..%...o.i..f.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c6c:	8df6 3b51 8db8 2b14 78dc 9277 5528 4c37     ..Q;...+.xw.(U7L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c7c:	5b27 a65a 10ec 3800 3819 eba4 8f81 d580     '[Z....8.8...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c8c:	c00f f64b 7e53 8d2c 8b2d 16c7 2528 0e49     ..K.S~,.-...(%I. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011c9c:	868e 4466 17a8 cc6c 1018 25f1 81cd d824     ..fD..l....%..$. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011cac:	a8e7 8f69 4582 28c3 ff03 b0cc 7d3f b325     ..i..E.(....?}%. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011cbc:	00d2 98fd 70f6 ea79 da13 c2f6 4071 035c     .....py.....q@\. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011ccc:	e73d 6d33 5460 638b 2b42 3f88 d122 663e     =.3m`T.cB+.?".>f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011cdc:	d2fe 656e d19d ed78 781d 3ead 8661 27bd     ..ne..x..x.>a..' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011cec:	a49c b635 0327 e14f 1d28 150d 649d d518     ..5.'.O.(....d.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011cfc:	37a6 64d8 f408 c014 f127 e2d6 5a6f acfc     .7.d....'...oZ.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d0c:	6b31 4411 2c07 248e d860 8886 c1e7 031a     1k.D.,.$`....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d1c:	2db5 c046 0cd6 7ac7 927d 1df5 d887 32d7     .-F....z}......2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d2c:	82a2 96af 413e 4218 2e80 f67f 639d e127     ....>A.B.....c'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d3c:	1660 b8e5 7d40 462d 5507 e156 05ec 77ec     `...@}-F.UV....w 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d4c:	a284 1043 66c6 8e10 7579 5f80 0874 6867     ..C..f..yu._t.gh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d5c:	c179 8e9c f39c df69 b8a4 8e7b 7b63 4263     y.....i...{.c{cB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d6c:	ee29 de02 4c42 8a37 36bc 821b f1d5 eb6c     )...BL7..6....l. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d7c:	cacf 9ccb 1c95 98d4 8b55 fa77 5e7b a53e     ........U.w.{^>. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d8c:	c733 d254 0be9 eb82 d5dc 41b4 df30 0b54     3.T........A0.T. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011d9c:	c802 1916 17ae 7b2e 4169 338e 41d6 6672     .......{iA.3.Arf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011dac:	c974 544d 51f4 8387 4d6f 4025 81b8 e120     t.MT.Q..oM%@.. . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011dbc:	f785 5632 e178 7e0e 9627 de1c 3dba 2624     ..2Vx..~'....=$& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011dcc:	cb71 ceb8 4d59 8f72 1a93 c842 a428 d957     q...YMr...B.(.W. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011ddc:	2fe0 a929 09ea 5d33 e1a6 b51a c71c 431c     ./)...3].......C 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011dec:	8136 33cc e29a 7062 3252 7564 4038 669f     6..3..bpR2du8@.f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011dfc:	87f3 d2ca 6be1 7527 0dd6 24af 5517 78fc     .....k'u...$.U.x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e0c:	cf3f 238b 194f 2c30 c87b 539d d33e 7339     ?..#O.0,{..S>.9s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e1c:	23f2 236f 9863 f39e afbd 9a87 1170 24e8     .#o#c.......p..$ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e2c:	b4a3 47a0 a83c 4c6a b421 f982 141e 2627     ...G<.jL!.....'& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e3c:	98f5 e4d2 8e97 1aa0 d082 a054 c2a8 2664     ..........T...d& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e4c:	2f75 6641 9990 e44d d9b8 eddd 0fb6 568f     u/Af..M........V 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e5c:	e181 0efd 0a74 c9f9 a7a9 a28e b399 9cf3     ....t........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e6c:	6cd3 5309 4514 e162 ebc9 5dd8 86a5 0e94     .l.S.Eb....].... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e7c:	d740 7310 042b 0a09 22b4 b40d 9f85 4cae     @..s+....".....L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e8c:	e7d1 97c8 c2ff f6d5 2dd6 e6f0 6590 bf62     .........-...eb. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011e9c:	fc53 78e9 9064 c5ce 4a1e e8c1 a4c0 6644     S..xd....J....Df 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011eac:	2898 54e9 1529 2859 04d1 7230 b0a2 7804     .(.T).Y(..0r...x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011ebc:	8c12 2612 441d c1bc 5016 026f 6331 b754     ...&.D...Po.1cT. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011ecc:	fa15 c46c a2df 1b5b 9d3d f520 8f7f 408d     ..l...[.=. ....@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011edc:	9938 0aba f596 503c 45d1 e087 f973 27e4     8.....<P.E..s..' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011eec:	7c50 42d8 8556 f010 a82c 4cd8 d4a6 b805     P|.BV...,..L.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011efc:	b666 6d52 5140 f583 619e a0cd b712 4831     f.Rm@Q...a....1H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f0c:	d3d9 5bc9 6892 4eee 70ab a93b 0376 9546     ...[.h.N.p;.v.F. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f1c:	79ee afba 9ee1 b8aa 3334 366f 1d9b 774a     .y......43o6..Jw 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f2c:	8396 5632 1cf7 7e54 8954 9026 91fc 6b88     ..2V..T~T.&....k 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f3c:	985c 6f68 9990 a97b d202 ec04 8369 8a13     \.ho..{.....i... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f4c:	9b82 9a25 eb99 0907 facc 65b7 f5ad 4d5a     ..%........e..ZM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f5c:	c52a f545 2ccb c592 4abc 13ae 8f7b 5f0a     *.E..,...J..{.._ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f6c:	3abb cadc 6462 5525 7c73 ebbe e16b c423     .:..bd%Us|..k.#. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f7c:	13ab 81cd b5e4 0222 aa43 4280 3201 c4af     ......".C..B.2.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f8c:	5a75 353e 1950 c0d7 a3db a99c 0c5b 67d6     uZ>5P.......[..g 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011f9c:	2055 484b 7668 441a db49 86cb 5187 c0e0     U KHhv.DI....Q.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011fac:	11a5 a29b e87a a063 9197 8005 f8ca 36ba     ....z.c........6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011fbc:	905a e0f2 784c 3826 bc8b 714e 6a7e a563     Z...Lx&8..Nq~jc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011fcc:	d0cf 75a6 0c55 993b 06df 59fd c9e4 1652     ...uU.;....Y..R. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011fdc:	ae68 854a ef00 96a1 1ae3 d1b1 3408 d018     h.J..........4.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011fec:	4079 889d 65f3 deca 6f6f 04a7 04e7 e322     y@...e..oo....". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8011ffc:	533f 5260 5b7f 87f6 5bf7 540d e817 62a1     ?S`R.[...[.T...b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801200c:	029e 6a6b d8f1 cc91 a69f 7728 1ba6 3389     ..kj......(w...3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801201c:	7f5d 2d4e 6e8a 3c41 1151 d89a c5b6 491a     ].N-.nA<Q......I 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801202c:	bdf3 7c83 43a5 0aad 32a6 da76 0199 0a2b     ...|.C...2v...+. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801203c:	9148 0071 a7be 3af1 9c58 dd4f cd15 64dd     H.q....:X.O....d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801204c:	d2a2 9cc3 7584 e7d1 1cb6 8bb6 b191 3cfd     .....u.........< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801205c:	1fe2 d7d3 9bee 4e4b 182b 95c1 c5c6 8e51     ......KN+.....Q. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801206c:	369d 32f5 0db2 fdb2 0ccd 127f 6ba9 a47c     .6.2.........k|. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801207c:	319f 9688 afc1 3df1 5b46 97eb ea66 b7fa     .1.....=F[..f... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801208c:	c3ed ddc3 f831 2723 20b5 d726 6a5d e6ca     ....1.#'. &.]j.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801209c:	73c1 d3f4 d2d8 e76d 6bc1 cd0b 1dfd cd2d     .s....m..k....-. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80120ac:	d13c a56d de51 5e2c e942 9e8c 369f 2e0f     <.m.Q.,^B....6.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80120bc:	74e1 af46 d52e 2f48 d9b0 12aa 2c9e bea0     .tF...H/.....,.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80120cc:	ff04 779d 6c55 e3b7 fb16 d37b 9234 6677     ...wUl....{.4.wf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80120dc:	dbd9 37bc 63ed 699b 7d42 1890 6fae bee9     ...7.c.iB}...o.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80120ec:	3aff f2bb edc7 0ee6 a768 b7f2 b22d bbf2     .:......h...-... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80120fc:	b14d da41 2f41 1e3e dcb8 93d2 b5ec 079d     M.A.A/>......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801210c:	2701 d916 8737 8977 11f5 d9d8 26e3 675a     .'..7.w......&Zg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801211c:	b027 b651 5c7e 58eb df6a 8e3c 6569 62ee     '.Q.~\.Xj.<.ie.b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801212c:	d685 0ee6 89de e71b 9bb7 1686 39ae 398f     .............9.9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801213c:	7a9e 9a72 2e7e 5f72 6664 5c57 2e96 9be0     .zr.~.r_dfW\.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801214c:	9c97 9c03 16c7 3a10 6783 9d10 ebb1 d25c     .......:.g....\. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801215c:	ba37 2548 6173 cef3 c974 cdf9 ebac afbe     7.H%sa..t....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801216c:	d927 5c7b cadf d8f8 933b b12e 1ae8 9001     '.{\....;....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801217c:	07aa f316 13d7 313c 6f4e f614 c0bd 323e     ......<1No....>2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801218c:	37e8 40e0 5856 3803 7a9b 54f0 7f29 2e7a     .7.@VX.8.z.T).z. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801219c:	c82e 4a01 dd08 c83e 13a2 51ea 3b5d 37aa     ...J..>....Q];.7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80121ac:	535d ab39 33ef bbde ccad 6dc3 13f2 f46a     ]S9..3.....m..j. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80121bc:	1f1c 31e0 e578 3dbc 385f bed6 ab52 ef93     ...1x..=_8..R... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80121cc:	f5e0 6a78 656a 38fb d715 7bab fb48 d0b6     ..xjje.8...{H... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80121dc:	6f82 e3d3 14de ca11 f0ef 8e42 c956 03ef     .o........B.V... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80121ec:	977d 7683 4c9d 6e6f 75aa 67fd 7383 3c82     }..v.Lon.u.g.s.< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80121fc:	eb46 8f37 1d67 d4c6 3443 3ef7 e837 2810     F.7.g...C4.>7..( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801220c:	78d5 eef1 a1fe dc3d b60e 7667 3b35 369e     .x....=...gv5;.6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801221c:	f0c7 6850 e64b 53c8 806f ffe3 6300 b80c     ..PhK..So....c.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801222c:	3acc 0018 4300                                   .:... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08012231 <Content_Length>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012231:	6f43 746e 6e65 2d74 654c 676e 6874 203a     Content-Length:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012241:	0000 9400                                        ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08012244 <file__index_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012244:	2994 0801 226c 0801 2278 0801 071a 0000     .)..l"..x"...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012254:	0001 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08012258 <file__upload_js>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012258:	3610 0801 314d 0801 3159 0801 03f7 0000     .6..M1..Y1...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012268:	0001 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801226c <data__index_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801226c:	692f 646e 7865 682e 6d74 006c 5448 5054     /index.html.HTTP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801227c:	312f 302e 3220 3030 4f20 0d4b 530a 7265     /1.0 200 OK..Ser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801228c:	6576 3a72 6c20 4977 2f50 2e31 2e33 2031     ver: lwIP/1.3.1  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801229c:	6828 7474 3a70 2f2f 6173 6176 6e6e 6861     (http://savannah 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80122ac:	6e2e 6e6f 6e67 2e75 726f 2f67 7270 6a6f     .nongnu.org/proj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80122bc:	6365 7374 6c2f 6977 2970 0a0d 6f43 746e     ects/lwip)..Cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80122cc:	6e65 2d74 7974 6570 203a 6574 7478 682f     ent-type: text/h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80122dc:	6d74 0d6c 0d0a 3c0a 4421 434f 5954 4550     tml....<!DOCTYPE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80122ec:	6820 6d74 3e6c 683c 6d74 206c 616c 676e      html><html lang 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80122fc:	223d 3e22 683c 6165 3e64 6d3c 7465 2061     =""><head><meta  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801230c:	6863 7261 6573 3d74 7522 6674 382d 3e22     charset="utf-8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801231c:	6d3c 7465 2061 7468 7074 652d 7571 7669     <meta http-equiv 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801232c:	223d 2d58 4155 432d 6d6f 6170 6974 6c62     ="X-UA-Compatibl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801233c:	2265 6320 6e6f 6574 746e 223d 4549 653d     e" content="IE=e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801234c:	6764 2265 3c3e 656d 6174 6e20 6d61 3d65     dge"><meta name= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801235c:	7622 6569 7077 726f 2274 6320 6e6f 6574     "viewport" conte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801236c:	746e 223d 6977 7464 3d68 6564 6976 6563     nt="width=device 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801237c:	772d 6469 6874 692c 696e 6974 6c61 732d     -width,initial-s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801238c:	6163 656c 313d 6d2c 7861 6d69 6d75 732d     cale=1,maximum-s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801239c:	6163 656c 313d 752c 6573 2d72 6373 6c61     cale=1,user-scal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80123ac:	6261 656c 303d 3e22 6c3c 6e69 206b 6572     able=0"><link re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80123bc:	3d6c 7322 7974 656c 6873 6565 2274 6820     l="stylesheet" h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80123cc:	6572 3d66 7522 6c70 616f 2e64 7363 2273     ref="upload.css" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80123dc:	3c3e 6974 6c74 3e65 9ed0 b1d0 bdd0 bed0     ><title>........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80123ec:	b2d0 bbd0 b5d0 bdd0 b8d0 b5d0 d020 d1bf     ............ ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80123fc:	d080 d1be d088 d0b8 d0b2 d0ba 3cb8 742f     .............</t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801240c:	7469 656c 3c3e 682f 6165 3e64 623c 646f     itle></head><bod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801241c:	3e79 6e3c 7661 6320 616c 7373 223d 616e     y><nav class="na 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801242c:	6276 7261 3e22 2f3c 616e 3e76 643c 7669     vbar"></nav><div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801243c:	6920 3d64 6322 756f 746e 772d 6172 2270      id="count-wrap" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801244c:	3c3e 6964 2076 6469 223d 6f63 6e75 6474     ><div id="countd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801245c:	776f 226e 3c3e 3e70 9ad0 bed0 bdd0 82d1     own"><p>........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801246c:	80d1 bed0 bbd0 bbd0 b5d0 80d1 d020 d1b1     ............ ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801247c:	d083 d0b4 d1b5 2082 bfd0 b5d0 80d1 b5d0     ....... ........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801248c:	b7d0 b0d0 b3d0 80d1 83d1 b6d0 b5d0 bdd0     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801249c:	d120 d087 d1b5 d080 d0b5 20b7 733c 6170      .......... <spa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80124ac:	206e 6469 223d 6f63 6e75 2d74 756e 626d     n id="count-numb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80124bc:	7265 3e22 3c35 732f 6170 3e6e d120 d081     er">5</span> ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80124cc:	d0b5 d1ba d083 d0bd 2eb4 2f3c 3e70 2f3c     ..........</p></ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80124dc:	6964 3e76 2f3c 6964 3e76 643c 7669 6320     div></div><div c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80124ec:	616c 7373 223d 7277 7061 6570 2272 3c3e     lass="wrapper">< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80124fc:	3168 d03e d09e d0b1 d0bd d0be d0b2 d0bb     h1>............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801250c:	d0b5 d0bd d0b8 20b5 bfd0 80d1 bed0 88d1     ....... ........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801251c:	b8d0 b2d0 bad0 b8d0 2f3c 3168 3c3e 6f66     ........</h1><fo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801252c:	6d72 6120 7463 6f69 3d6e 2f22 7075 6f6c     rm action="/uplo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801253c:	6461 632e 6967 2022 656d 6874 646f 223d     ad.cgi" method=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801254c:	6f70 7473 2022 6e65 7463 7079 3d65 6d22     post" enctype="m 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801255c:	6c75 6974 6170 7472 662f 726f 2d6d 6164     ultipart/form-da 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801256c:	6174 2022 6e6f 7573 6d62 7469 223d 6572     ta" onsubmit="re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801257c:	7574 6e72 5620 6c61 6469 7461 2865 6874     turn Validate(th 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801258c:	7369 2229 3c3e 6964 2076 6c63 7361 3d73     is)"><div class= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801259c:	7522 6c70 616f 2d64 6f66 6d72 3e22 643c     "upload-form"><d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80125ac:	7669 6320 616c 7373 223d 7567 6469 2265     iv class="guide" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80125bc:	3c3e 3e70 94d0 bbd0 8fd1 d020 d0be d0b1     ><p>...... ..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80125cc:	d0bd d0be d0b2 d0bb d0b5 d0bd d1b8 208f     ...............  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80125dc:	bfd0 80d1 bed0 88d1 b8d0 b2d0 bad0 b8d0     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80125ec:	d020 d0bd d0b5 d0be d1b1 d085 d0be d0b4      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80125fc:	d0b8 d0bc 3abe 2f3c 3e70 6f3c 3e6c 6c3c     .....:</p><ol><l 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801260c:	3e69 a1d0 bad0 bed0 bfd0 b8d0 80d1 bed0     i>.............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801261c:	b2d0 b0d0 82d1 8cd1 d020 d0bd 20b0 bad0     ........ .... .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801262c:	bed0 bcd0 bfd0 8cd1 8ed1 82d1 b5d0 80d1     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801263c:	d020 d0b8 d0bb 20b8 b2d0 bdd0 b5d0 88d1      ...... ........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801264c:	bdd0 b8d0 b9d0 d020 d0bd d1be d081 d1b8     ...... ......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801265c:	d082 d0b5 d1bb 2c8c d120 d084 d0b0 d0b9     ......., ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801266c:	20bb bfd0 80d1 bed0 88d1 b8d0 b2d0 bad0     . .............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801267c:	b8d0 d120 2081 80d1 b0d0 81d1 88d1 b8d0     .. .. .......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801268c:	80d1 b5d0 bdd0 b8d0 b5d0 bcd0 2a20 622e     ............ *.b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801269c:	6e69 2f3c 696c 3c3e 696c d03e d0a3 d0ba     in</li><li>..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80126ac:	d0b0 d0b7 d1b0 d182 208c bfd0 83d1 82d1     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80126bc:	8cd1 d020 20ba 84d1 b0d0 b9d0 bbd0 83d1     .. .. .......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80126cc:	d020 d1bf d080 d1be d088 d0b8 d0b2 d0ba      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80126dc:	3cb8 6c2f 3e69 6c3c 3e69 9dd0 b0d0 b6d0     .</li><li>...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80126ec:	b0d0 82d1 8cd1 d020 d0ba d0bd d0be d0bf     ...... ......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80126fc:	d1ba 2083 d022 d097 d0b0 d1b3 d180 d083     ... "........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801270c:	d0b7 d1b8 d182 228c 2f3c 696c 3c3e 6f2f     ......."</li></o 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801271c:	3e6c 703c d03e d094 d1bb 208f b2d0 bed0     l><p>...... .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801272c:	b7d0 b2d0 80d1 b0d0 82d1 b0d0 d020 20b2     ............ ..  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801273c:	bed0 81d1 bdd0 bed0 b2d0 bdd0 bed0 b9d0     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801274c:	d020 d0b8 d1bd d082 d1b5 d180 d084 d0b5      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801275c:	d1b9 2081 bad0 bed0 bdd0 82d1 80d1 bed0     ... ............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801276c:	bbd0 bbd0 b5d0 80d1 b0d0 d020 d0bd d0b0     .......... ..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801277c:	d0b6 d0bc d1b8 d082 20b5 d022 d19e d082     ......... "..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801278c:	d0bc d0b5 d0bd d1b8 d182 228c 2f3c 3e70     ..........."</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801279c:	2f3c 6964 3e76 643c 7669 6320 616c 7373     </div><div class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80127ac:	223d 7075 6f6c 6461 772d 6172 7070 7265     ="upload-wrapper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80127bc:	3e22 693c 706e 7475 6920 3d64 7522 6c70     "><input id="upl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80127cc:	616f 4664 6c69 2265 7020 616c 6563 6f68     oadFile" placeho 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80127dc:	646c 7265 223d a4d0 b0d0 b9d0 bbd0 2022     lder="........"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80127ec:	6964 6173 6c62 6465 223d 6964 6173 6c62     disabled="disabl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80127fc:	6465 2022 6c63 7361 3d73 6622 6c69 2d65     ed" class="file- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801280c:	616e 656d 3e22 643c 7669 6320 616c 7373     name"><div class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801281c:	223d 6966 656c 7055 6f6c 6461 6220 6e74     ="fileUpload btn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801282c:	6220 6e74 702d 6972 616d 7972 3e22 733c      btn-primary"><s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801283c:	6170 3e6e 92d0 8bd1 b1d0 bed0 80d1 2f3c     pan>..........</ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801284c:	7073 6e61 203e 693c 706e 7475 6920 3d64     span> <input id= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801285c:	7522 6c70 616f 4264 6e74 2022 7974 6570     "uploadBtn" type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801286c:	223d 6966 656c 2022 6c63 7361 3d73 7522     ="file" class="u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801287c:	6c70 616f 2264 6e20 6d61 3d65 6422 7461     pload" name="dat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801288c:	6661 6c69 2265 3c3e 642f 7669 3c3e 642f     afile"></div></d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801289c:	7669 3c3e 642f 7669 3c3e 6e69 7570 2074     iv></div><input  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80128ac:	6c63 7361 3d73 6222 6e74 6220 6e74 702d     class="btn btn-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80128bc:	6972 616d 7972 2022 7974 6570 223d 7573     rimary" type="su 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80128cc:	6d62 7469 2022 6176 756c 3d65 d022 d097     bmit" value="... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80128dc:	d0b0 d1b3 d180 d083 d0b7 d1b8 d182 228c     ..............." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80128ec:	203e 693c 706e 7475 6320 616c 7373 223d     > <input class=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80128fc:	7462 206e 7462 2d6e 6164 676e 7265 2022     btn btn-danger"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801290c:	7974 6570 223d 7562 7474 6e6f 2022 6176     type="button" va 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801291c:	756c 3d65 d022 d19e d082 d0bc d0b5 d0bd     lue="........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801292c:	d1b8 d182 228c 6920 3d64 6722 626f 6361     ....." id="gobac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801293c:	226b 3c3e 662f 726f 3e6d 733c 7263 7069     k"></form><scrip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801294c:	2074 7974 6570 223d 6574 7478 6a2f 7661     t type="text/jav 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801295c:	7361 7263 7069 2274 7320 6372 223d 7075     ascript" src="up 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801296c:	6f6c 6461 6a2e 2273 3c3e 732f 7263 7069     load.js"></scrip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801297c:	3e74 2f3c 6964 3e76 2f3c 6f62 7964 3c3e     t></div></body>< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801298c:	682f 6d74 3e6c 0000                         /html>.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08012994 <file__error_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012994:	0000 0000 29b6 0801 29c2 0801 03bd 0000     .....)...)...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80129a4:	0001 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080129a8 <octet_stream>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80129a8:	636f 6574 2d74 7473 6572 6d61 000d          octet-stream.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-080129b6 <data__error_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80129b6:	652f 7272 726f 682e 6d74 006c 5448 5054     /error.html.HTTP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80129c6:	312f 302e 3220 3030 4f20 0d4b 530a 7265     /1.0 200 OK..Ser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80129d6:	6576 3a72 6c20 4977 2f50 2e31 2e33 2031     ver: lwIP/1.3.1  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80129e6:	6828 7474 3a70 2f2f 6173 6176 6e6e 6861     (http://savannah 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80129f6:	6e2e 6e6f 6e67 2e75 726f 2f67 7270 6a6f     .nongnu.org/proj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a06:	6365 7374 6c2f 6977 2970 0a0d 6f43 746e     ects/lwip)..Cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a16:	6e65 2d74 7974 6570 203a 6574 7478 682f     ent-type: text/h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a26:	6d74 0d6c 0d0a 3c0a 4421 434f 5954 4550     tml....<!DOCTYPE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a36:	6820 6d74 3e6c 683c 6d74 206c 616c 676e      html><html lang 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a46:	223d 3e22 683c 6165 3e64 6d3c 7465 2061     =""><head><meta  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a56:	6863 7261 6573 3d74 7522 6674 382d 3e22     charset="utf-8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a66:	6d3c 7465 2061 7468 7074 652d 7571 7669     <meta http-equiv 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a76:	223d 2d58 4155 432d 6d6f 6170 6974 6c62     ="X-UA-Compatibl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a86:	2265 6320 6e6f 6574 746e 223d 4549 653d     e" content="IE=e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012a96:	6764 2265 3c3e 656d 6174 6e20 6d61 3d65     dge"><meta name= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012aa6:	7622 6569 7077 726f 2274 6320 6e6f 6574     "viewport" conte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ab6:	746e 223d 6977 7464 3d68 6564 6976 6563     nt="width=device 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ac6:	772d 6469 6874 692c 696e 6974 6c61 732d     -width,initial-s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ad6:	6163 656c 313d 6d2c 7861 6d69 6d75 732d     cale=1,maximum-s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ae6:	6163 656c 313d 752c 6573 2d72 6373 6c61     cale=1,user-scal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012af6:	6261 656c 303d 3e22 6c3c 6e69 206b 6572     able=0"><link re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b06:	3d6c 7322 7974 656c 6873 6565 2274 6820     l="stylesheet" h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b16:	6572 3d66 7522 6c70 616f 2e64 7363 2273     ref="upload.css" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b26:	3c3e 6974 6c74 3e65 9ed0 88d1 b8d0 b1d0     ><title>........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b36:	bad0 b0d0 d020 d0be d0b1 d0bd d0be d0b2     .... ........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b46:	d0bb d0b5 d0bd d1b8 3c8f 742f 7469 656c     .........</title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b56:	3c3e 682f 6165 3e64 623c 646f 3e79 6e3c     ></head><body><n 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b66:	7661 6320 616c 7373 223d 616e 6276 7261     av class="navbar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b76:	3e22 2f3c 616e 3e76 643c 7669 6320 616c     "></nav><div cla 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b86:	7373 223d 7277 7061 6570 2272 3c3e 3168     ss="wrapper"><h1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012b96:	d03e d09e d0b1 d0bd d0be d0b2 d0bb d0b5     >............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ba6:	d0bd d0b8 20b5 bfd0 80d1 bed0 88d1 b8d0     ..... .......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012bb6:	b2d0 bad0 b8d0 2f3c 3168 3c3e 6964 2076     ......</h1><div  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012bc6:	6c63 7361 3d73 7522 6c70 616f 2d64 6f66     class="upload-fo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012bd6:	6d72 3e22 643c 7669 6320 616c 7373 223d     rm"><div class=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012be6:	7567 6469 2265 7320 7974 656c 223d 6574     guide" style="te 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012bf6:	7478 612d 696c 6e67 633a 6e65 6574 2272     xt-align:center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c06:	3c3e 2070 7473 6c79 3d65 6322 6c6f 726f     ><p style="color 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c16:	233a 3964 3335 6634 3e22 623c d03e d19f     :#d9534f"><b>... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c26:	d080 20b8 bed0 b1d0 bdd0 bed0 b2d0 bbd0     ... ............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c36:	b5d0 bdd0 b8d0 b8d0 d020 d1bf d080 d0be     ........ ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c46:	d1b3 d080 d0b0 d0bc d0bc d0bd d0be d0b3     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c56:	20be bed0 b1d0 b5d0 81d1 bfd0 b5d0 87d1     . .............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c66:	b5d0 bdd0 b8d0 8fd1 d020 d0b2 d0be d0b7     ........ ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c76:	d0bd d0b8 d0ba d0bb 20b0 bed0 88d1 b8d0     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c86:	b1d0 bad0 b0d0 3c2e 622f 3c3e 7262 d03e     .......</b><br>. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012c96:	d09f d0be d0b6 d0b0 d1bb d083 d1b9 d181     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ca6:	d082 2cb0 d020 d0bf d0be d1bf d080 d0be     ..., ........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012cb6:	d1b1 d083 d1b9 d082 20b5 b5d0 89d1 91d1     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012cc6:	d120 d080 d0b0 20b7 87d1 b5d0 80d1 b5d0      ...... ........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012cd6:	b7d0 3c20 7073 6e61 6920 3d64 6322 756f     .. <span id="cou 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ce6:	746e 6e2d 6d75 6562 2272 353e 2f3c 7073     nt-number">5</sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012cf6:	6e61 203e 81d1 b5d0 bad0 83d1 bdd0 b4d0     an> ............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d06:	2f3c 3e70 2f3c 6964 3e76 2f3c 6964 3e76     </p></div></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d16:	733c 7263 7069 2074 7974 6570 223d 6574     <script type="te 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d26:	7478 6a2f 7661 7361 7263 7069 2274 7320     xt/javascript" s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d36:	6372 223d 7075 6f6c 6461 6a2e 2273 3c3e     rc="upload.js">< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d46:	732f 7263 7069 3e74 733c 7263 7069 3e74     /script><script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d56:	6f63 6e75 6474 776f 286e 3b29 2f3c 6373     countdown();</sc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d66:	6972 7470 3c3e 642f 7669 3c3e 622f 646f     ript></div></bod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d76:	3e79 2f3c 7468 6c6d 2f3e                         y></html> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08012d7f <data__success_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d7f:	732f 6375 6563 7373 682e 6d74 006c 0000     /success.html... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d8f:	5448 5054 312f 302e 3220 3030 4f20 0d4b     HTTP/1.0 200 OK. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012d9f:	530a 7265 6576 3a72 6c20 4977 2f50 2e31     .Server: lwIP/1. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012daf:	2e33 2031 6828 7474 3a70 2f2f 6173 6176     3.1 (http://sava 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012dbf:	6e6e 6861 6e2e 6e6f 6e67 2e75 726f 2f67     nnah.nongnu.org/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012dcf:	7270 6a6f 6365 7374 6c2f 6977 2970 0a0d     projects/lwip).. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ddf:	6f43 746e 6e65 2d74 7974 6570 203a 6574     Content-type: te 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012def:	7478 682f 6d74 0d6c 0d0a 3c0a 4421 434f     xt/html....<!DOC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012dff:	5954 4550 6820 6d74 3e6c 683c 6d74 206c     TYPE html><html  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e0f:	616c 676e 223d 3e22 683c 6165 3e64 6d3c     lang=""><head><m 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e1f:	7465 2061 6863 7261 6573 3d74 7522 6674     eta charset="utf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e2f:	382d 3e22 6d3c 7465 2061 7468 7074 652d     -8"><meta http-e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e3f:	7571 7669 223d 2d58 4155 432d 6d6f 6170     quiv="X-UA-Compa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e4f:	6974 6c62 2265 6320 6e6f 6574 746e 223d     tible" content=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e5f:	4549 653d 6764 2265 3c3e 656d 6174 6e20     IE=edge"><meta n 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e6f:	6d61 3d65 7622 6569 7077 726f 2274 6320     ame="viewport" c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e7f:	6e6f 6574 746e 223d 6977 7464 3d68 6564     ontent="width=de 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e8f:	6976 6563 772d 6469 6874 692c 696e 6974     vice-width,initi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012e9f:	6c61 732d 6163 656c 313d 6d2c 7861 6d69     al-scale=1,maxim 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012eaf:	6d75 732d 6163 656c 313d 752c 6573 2d72     um-scale=1,user- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ebf:	6373 6c61 6261 656c 303d 3e22 6c3c 6e69     scalable=0"><lin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012ecf:	206b 6572 3d6c 7322 7974 656c 6873 6565     k rel="styleshee 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012edf:	2274 6820 6572 3d66 7522 6c70 616f 2e64     t" href="upload. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012eef:	7363 2273 3c3e 6974 6c74 3e65 a3d0 81d1     css"><title>.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012eff:	bfd0 b5d0 88d1 bdd0 bed0 b5d0 d020 d0be     ............ ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f0f:	d0b1 d0bd d0be d0b2 d0bb d0b5 d0bd d0b8     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f1f:	3cb5 742f 7469 656c 3c3e 682f 6165 3e64     .</title></head> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f2f:	623c 646f 3e79 6e3c 7661 6320 616c 7373     <body><nav class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f3f:	223d 616e 6276 7261 3e22 2f3c 616e 3e76     ="navbar"></nav> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f4f:	643c 7669 6320 616c 7373 223d 7277 7061     <div class="wrap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f5f:	6570 2272 3c3e 3168 d03e d09e d0b1 d0bd     per"><h1>....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f6f:	d0be d0b2 d0bb d0b5 d0bd d0b8 20b5 bfd0     ............. .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f7f:	80d1 bed0 88d1 b8d0 b2d0 bad0 b8d0 2f3c     ..............</ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f8f:	3168 3c3e 6964 2076 6c63 7361 3d73 7522     h1><div class="u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012f9f:	6c70 616f 2d64 6f66 6d72 3e22 643c 7669     pload-form"><div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012faf:	6320 616c 7373 223d 7567 6469 2265 7320      class="guide" s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012fbf:	7974 656c 223d 6574 7478 612d 696c 6e67     tyle="text-align 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012fcf:	633a 6e65 6574 2272 3c3e 2070 7473 6c79     :center"><p styl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012fdf:	3d65 6322 6c6f 726f 233a 3333 4343 3030     e="color:#33CC00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012fef:	3e22 623c d03e d09e d0b1 d0bd d0be d0b2     "><b>........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8012fff:	d0bb d0b5 d0bd d0b8 20b5 bfd0 80d1 bed0     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801300f:	b3d0 80d1 b0d0 bcd0 bcd0 bdd0 bed0 b3d0     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801301f:	bed0 d020 d0be d0b1 d1b5 d081 d0bf d1b5     .. ............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801302f:	d087 d0b5 d0bd d1b8 208f 83d1 81d1 bfd0     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801303f:	b5d0 88d1 bdd0 bed0 d020 d0b7 d0b0 d0b2     ........ ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801304f:	d1b5 d180 d088 d0b5 d0bd 2ebe 2f3c 3e62     ............</b> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801305f:	623c 3e72 9ad0 bed0 bdd0 82d1 80d1 bed0     <br>............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801306f:	bbd0 bbd0 b5d0 80d1 d020 d1b1 d083 d0b4     ........ ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801307f:	d1b5 2082 bfd0 b5d0 80d1 b5d0 b7d0 b0d0     ... ............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801308f:	b3d0 80d1 83d1 b6d0 b5d0 bdd0 d120 d087     ............ ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801309f:	d1b5 d080 d0b5 20b7 733c 6170 206e 6469     ....... <span id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80130af:	223d 6f63 6e75 2d74 756e 626d 7265 3e22     ="count-number"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80130bf:	3c35 732f 6170 3e6e d120 d081 d0b5 d1ba     5</span> ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80130cf:	d083 d0bd 3cb4 702f 3c3e 642f 7669 3c3e     .....</p></div>< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80130df:	642f 7669 3c3e 6373 6972 7470 7420 7079     /div><script typ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80130ef:	3d65 7422 7865 2f74 616a 6176 6373 6972     e="text/javascri 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80130ff:	7470 2022 7273 3d63 7522 6c70 616f 2e64     pt" src="upload. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801310f:	736a 3e22 2f3c 6373 6972 7470 3c3e 6373     js"></script><sc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801311f:	6972 7470 633e 756f 746e 6f64 6e77 2928     ript>countdown() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801312f:	3c3b 732f 7263 7069 3e74 2f3c 6964 3e76     ;</script></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801313f:	2f3c 6f62 7964 3c3e 682f 6d74 3e6c          </body></html> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801314d <data__upload_js>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801314d:	752f 6c70 616f 2e64 736a 0000 5448 5054     /upload.js..HTTP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801315d:	312f 302e 3220 3030 4f20 0d4b 530a 7265     /1.0 200 OK..Ser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801316d:	6576 3a72 6c20 4977 2f50 2e31 2e33 2031     ver: lwIP/1.3.1  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801317d:	6828 7474 3a70 2f2f 6173 6176 6e6e 6861     (http://savannah 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801318d:	6e2e 6e6f 6e67 2e75 726f 2f67 7270 6a6f     .nongnu.org/proj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801319d:	6365 7374 6c2f 6977 2970 0a0d 6f43 746e     ects/lwip)..Cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80131ad:	6e65 2d74 7974 6570 203a 7061 6c70 6369     ent-type: applic 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80131bd:	7461 6f69 2f6e 2d78 616a 6176 6373 6972     ation/x-javascri 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80131cd:	7470 0a0d 6f43 746e 6e65 2d74 6e45 6f63     pt..Content-Enco 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80131dd:	6964 676e 203a 7a67 7069 0a0d 0a0d 8b1f     ding: gzip...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80131ed:	0008 0000 0000 0b04 54b5 6ae1 46dc 7e10     .........T.j.F.~ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80131fd:	bd95 1825 cb09 99ea 2812 b756 2ea6 6269     ..%......(V...ib 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801320d:	db88 8e10 3012 aca6 a356 adbb bb75 6957     .....0..V...u.Wi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801321d:	ee75 0e61 73e2 0b4a 140d 02fa d3fd 3007     u.a..sJ........0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801322d:	6ea1 24ec 67be 7dd8 cea3 749e 1c8e 9f9a     .n.$.g.}...t.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801323d:	21fd ed21 eccc f37c 37cd d793 184a 15a9     .!!...|..7..J... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801324d:	17b9 f0f0 04b4 9753 648a d45a 5063 1e26     ......S..dZ.cP&. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801325d:	7982 8050 dcff ed9b e867 cf31 fed7 d742     .yP.....g.1...B. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801326d:	64ca 44fa e105 94e9 8497 fbb3 0549 5f66     .d.D........I.f_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801327d:	2819 bca7 d608 688e 6f6e 66dd 6f8c 046c     .(.....hno.f.ol. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801328d:	5227 5861 685c 7dc1 78e2 4254 e8ce 3427     'RaX\h.}.xTB..'4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801329d:	f88c fd17 0d8d b5be 7d15 3f2c 255d 52dd     .........},?]%.R 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80132ad:	38f5 9285 b186 0a54 47ca 8383 8cc7 7c47     .8....T..G....G| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80132bd:	6d1e a7c3 801d fd88 87ab befb 0f2a 8d2f     .m..........*./. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80132cd:	d244 a0e0 9d43 7172 8b1c a4a1 6888 4837     D...C.rq.....h7H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80132dd:	d099 972a 38e5 f6a0 f70f 711b f6e7 bd95     ..*..8.....q.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80132ed:	cf74 a5ed f1bd bfbf 85b8 125d b3f7 e25d     t.........]...]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80132fd:	15c7 973e 75a4 71b8 6ee7 5ee1 33ba 3bf7     ..>..u.q.n.^.3.; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801330d:	111e 3874 37b3 8976 ff56 26be 0af6 406f     ..t8.7v.V..&..o@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801331d:	f77f bddc dbc0 ddae 2ed9 2996 e618 fb41     ...........)..A. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801332d:	fb6b 930a b85c 0f85 d85c 3e77 7f9f 1a62     k...\...\.w>..b. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801333d:	a4ee d7ac d28f 35dd cf59 1e0e 323f f266     .......5Y...?2f. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801334d:	7e14 a1ac bb32 8d3f 118b 32fe 2705 aee4     .~..2.?....2.'.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801335d:	a769 fa6b 3b12 853b df67 3fa6 3080 3d01     i.k..;;.g..?.0.= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801336d:	a290 95d4 4dce 63ec 8306 8827 75a5 f58f     .....M.c..'..u.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801337d:	5404 1f40 183e 88d0 bd47 7bfe 0543 0b2a     .T@.>...G..{C.*. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801338d:	7f42 33b4 32d5 bc23 d280 a204 f3c3 bc77     B..3.2#.......w. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801339d:	1990 e037 ce99 1975 d8ac bc66 9da3 6f6a     ..7...u...f...jo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80133ad:	e036 6fc3 18f8 2a02 a4d5 2b36 fa12 f889     6..o...*..6+.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80133bd:	8d3c 500b 3343 c44a 66e6 a7d3 a58c e287     <..PC3J..f...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80133cd:	0228 dbd6 644e d01e 165c 6d80 62ca 9b33     (...Nd..\..m.b3. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80133dd:	7840 478a ff7d 8fe7 36ab 6c38 d5f5 a340     @x.G}....68l..@. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80133ed:	cff6 2ba6 bec4 4821 85fb b6bd dd6f f139     ...+..!H....o.9. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80133fd:	fadc bed6 93c1 f8d7 20dc 9f08 c225 1e44     ......... ..%.D. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801340d:	be72 f5be 7fb0 2b14 eac4 e7d3 7d8c 628f     r......+.....}.b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801341d:	d996 98d7 17cf 9e10 4c62 ba3f b417 422a     ........bL?...*B 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801342d:	8a11 5782 b795 ffb1 dd3c 24a4 1593 0b4f     ...W....<..$..O. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801343d:	68c8 9692 8fc0 78e7 0f71 443e 57fd 9483     .h.....xq.>D.W.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801344d:	cdd0 431c 6856 4751 f617 8a2d 6fe8 8b2f     ...CVhQG..-..o/. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801345d:	ac88 72d4 7ee6 1145 c4ae 1689 e294 9795     ...r.~E......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801346d:	3bd9 e054 58ba 417b 6230 9189 78ff 121d     .;T..X{A0b...x.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801347d:	e514 a572 af30 05ea 758a 1781 917b f4a2     ..r.0....u..{... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801348d:	cbdc 721d 3988 56ef 0089 908e de9e 7cf6     ...r.9.V.......| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801349d:	70de ebdb 3dcf 4647 418e 26d7 9db9 ad4f     .p...=GF.A.&..O. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80134ad:	bac6 60ae a7ac 3ac0 2f03 e00a a0e5 0e71     ...`...:./....q. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80134bd:	a0da 6a30 183f 896e adb5 8313 a1db d89d     ..0j?.n......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80134cd:	80ce b8e2 c6e0 5e40 c19b 293f 04f9 af19     ......@^..?).... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80134dd:	accc 1880 9d59 7c14 68c6 ab8a 98e4 9efa     ....Y..|.h...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80134ed:	eedc 8fa4 dd3a 047a 8861 e30b b833 ce1f     ....:.z.a...3... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80134fd:	ed57 4bbf a300 7bfb e24f 2a54 749a aa9b     W..K...{O.T*.t.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801350d:	2895 38a4 96ee 59ca 2e07 de8d c157 57ff     .(.8...Y....W..W 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801351d:	88e4 9eaa 9a14 7b67 6146 08b1 c46c f0d5     ......g{Fa..l... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801352d:	134e 9b6e c1f4 6f12 bd03 31a2 d512 035d     N.n....o...1..]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801353d:	2333 3559 b533 ff56 f93c 5417 58c3 1a63     3#Y53.V.<..T.Xc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801354d:	0006 4400                                        ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08013550 <file__success_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013550:	2244 0801 2d7f 0801 2d8f 0801 03be 0000     D"...-...-...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013560:	0001 0000 4547 2054 002f 4547 2054 752f     ....GET /.GET /u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013570:	6c70 616f 2e64 7363 0073 4547 2054 752f     pload.css.GET /u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013580:	6c70 616f 2e64 736a 4700 5445 2f20 6f67     pload.js.GET /go 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013590:	6162 6b63 632e 6967 4700 5445 2f20 6166     back.cgi.GET /fa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80135a0:	6976 6f63 2e6e 6369 006f 692f 646e 7865     vicon.ico./index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80135b0:	682e 6d74 006c 4f50 5453 2f20 7075 6f6c     .html.POST /uplo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80135c0:	6461 632e 6967 6600 6c69 6e65 6d61 3d65     ad.cgi.filename= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80135d0:	2f00 7075 6f6c 6461 682e 6d74 006c 6946     ./upload.html.Fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80135e0:	656c 203a 7325 0d0a 2500 2064 7962 6574     le: %s...%d byte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 80135f0:	2073 0d0a 2f00 7573 6363 7365 2e73 7468     s .../success.ht 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013600:	6c6d 2f00 7265 6f72 2e72 7468 6c6d 0000     ml./error.html.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08013610 <file__upload_css>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013610:	3550 0801 193c 0801 1948 0801 08e9 0000     P5..<...H....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013620:	0001 0000 3931 2e32 3631 2e38 3431 342e     ....192.168.14.4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013630:	0038 3931 2e32 3631 2e38 3431 312e 6c00     8.192.168.14.1.l 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013640:	616f 4d64 646f 3a65 2520 0d64 620a 6f6f     oadMode: %d..boo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013650:	5474 7972 203a 6425 0a0d 5200 6e75 6d20     tTry: %d...Run m 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013660:	6961 206e 5746 0d0a 0000 0000 0043 0000     ain FW......C... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-08013670 <_init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013670:	b5f8      	push	{r3, r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013672:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013674:	bcf8      	pop	{r3, r4, r5, r6, r7} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013676:	bc08      	pop	{r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013678:	469e      	mov	lr, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801367a:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-0801367c <_fini>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801367c:	b5f8      	push	{r3, r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 801367e:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013680:	bcf8      	pop	{r3, r4, r5, r6, r7} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013682:	bc08      	pop	{r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013684:	469e      	mov	lr, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 8013686:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80116a0:	f7ff bffe 	b.w	80116a0 <ADC_IRQHandler> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080116a4 <_ctype_>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80116a4:	2000 2020 2020 2020 2020 2828 2828 2028     .         (((((  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80116b4:	2020 2020 2020 2020 2020 2020 2020 2020                      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80116c4:	8820 1010 1010 1010 1010 1010 1010 1010      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80116d4:	0410 0404 0404 0404 0404 1004 1010 1010     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80116e4:	1010 4141 4141 4141 0101 0101 0101 0101     ..AAAAAA........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80116f4:	0101 0101 0101 0101 0101 0101 1010 1010     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011704:	1010 4242 4242 4242 0202 0202 0202 0202     ..BBBBBB........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011714:	0202 0202 0202 0202 0202 0202 1010 1010     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011724:	0020 0000 0000 0000 0000 0000 0000 0000      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011734:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011744:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011754:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011764:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011774:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011784:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011794:	0000 0000 0000 0000 0000 0000 0000 0000     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117a4:	0000 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080117a8 <memp_num>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117a8:	0004 0006 000a 0005 0019 0005 000f 000a     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117b8:	0032 000f                                   2... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080117bc <memp_sizes>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117bc:	001c 0020 0094 001c 0010 0020 0018 0010     .. ....... ..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117cc:	0010 0614                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080117d0 <tcp_pcb_lists>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117d0:	8344 2000 834c 2000 833c 2000 8350 2000     D.. L.. <.. P..  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080117e0 <tcp_backoff>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117e0:	0201 0403 0605 0707 0707 0707 0307               ............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080117ed <tcp_persist_backoff>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117ed:	0603 180c 6030 ff78                              ....0`x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080117f4 <ip_addr_broadcast>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117f4:	ffff ffff                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080117f8 <ip_addr_any>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117f8:	0000 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080117fc <ethbroadcast>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80117fc:	ffff ffff ffff                              ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08011802 <ethzero>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011802:	0000 0000 0000 3931 2e32 3631 2e38 2e31     ......192.168.1. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011812:	0032 3931 2e32 3631 2e38 2e31 0031 3532     2.192.168.1.1.25 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011822:	2e35 3532 2e35 3532 2e35 0030 3930 312e     5.255.255.0.09.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011832:	2e30 3032 3531 4500 2d43 4334 342d 2d44     0.2015.EC-4C-4D- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011842:	3030 302d 2d30 4130 4b00 2d4e 3330 302d     00-00-0A.KN-03-0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011852:	3030 3330 0a00 490d 5041 203a 6142 2064     0003...IAP: Bad  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011862:	7263 7469 6369 6c61 7320 7465 6974 676e     critical setting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011872:	2073 6573 7463 726f 4320 4352 202e 6146     s sector CRC. Fa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011882:	7463 726f 2079 6564 6166 6c75 7374 7220     ctory defaults r 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011892:	7365 6f74 6572 2e64 0d0a 2f00                    estored.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+0801189d <data__upload_css>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801189d:	752f 6c70 616f 2e64 7363 0073 5448 5054     /upload.css.HTTP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80118ad:	312f 302e 3220 3030 4f20 0d4b 530a 7265     /1.0 200 OK..Ser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80118bd:	6576 3a72 6c20 4977 2f50 2e31 2e33 2031     ver: lwIP/1.3.1  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80118cd:	6828 7474 3a70 2f2f 6173 6176 6e6e 6861     (http://savannah 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80118dd:	6e2e 6e6f 6e67 2e75 726f 2f67 7270 6a6f     .nongnu.org/proj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80118ed:	6365 7374 6c2f 6977 2970 0a0d 6f43 746e     ects/lwip)..Cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80118fd:	6e65 2d74 7974 6570 203a 6574 7478 632f     ent-type: text/c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801190d:	7373 0a0d 6f43 746e 6e65 2d74 6e45 6f63     ss..Content-Enco 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801191d:	6964 676e 203a 7a67 7069 0a0d 0a0d 8b1f     ding: gzip...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801192d:	0008 0000 0000 0b04 58b5 6f5b 38a4 fe16     .........X[o.8.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801193d:	ac2b 96a2 2d3a a9a0 54aa 012a 6b75 4667     +...:-...T*.ukgF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801194d:	d23d bb48 3b6f 514f 0c1e f018 6c06 4d84     =.H.o;OQ.....l.M 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801195d:	d2a5 ff0c 8f7d e06f a2aa 912a ab46 44ee     ....}.o...*.F..D 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801196d:	f8e4 f9f6 f39c 8b9d 7ebf 87f9 5947 a0d7     .........~..GY.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801197d:	fc9a 61c4 b9c6 dfb7 5184 f6b8 f2fe fdfe     ...a.....Q...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801198d:	7fc7 7fbc 0c91 8e53 afe1 8892 b090 d3af     ......S......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801199d:	ef5c d7cb 7e2f f2ca a1b7 5d41 6849 8d1c     \.../~....A]Ih.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80119ad:	fc5f 971a e698 80be d5ff a2d0 273c 84b4     _...........<'.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80119bd:	b081 3520 b3fe 19ad fdca a290 8a7d 3f3a     .. 5........}.:? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80119cd:	d5ec 41df 8701 bcfb e14f 1da7 c65a 2089     ...A....O...Z..  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80119dd:	c68c ae1d 2091 3c7b 64de a7ac 6722 d4af     ..... {<.d.."g.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80119ed:	530f 0741 0f81 0022 25b0 018d c099 48dd     .SA..."..%.....H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80119fd:	d29a 3b9c aca4 71cb 0707 a256 87a9 5182     ...;...q..V....Q 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a0d:	1411 21a8 5bf5 11cc 01e5 1dc7 9229 15e0     ...!.[......)... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a1d:	2fa7 0444 276a b70e 500e dffe 8b9e 1578     ./D.j'...P....x. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a2d:	9f45 a092 17e1 5246 bd94 1d94 c9a0 8c83     E.....FR........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a3d:	acd5 6f8b 3c7e f8fc f7f5 d255 1a10 9854     ...o~<....U...T. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a4d:	9594 7788 a8eb 8c3d 2b4a ce66 b366 5119     ...w..=.J+f.f..Q 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a5d:	4827 6356 711f 6392 c73f 9102 fb9a 2905     'HVc.q.c?......) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a6d:	d433 dbca cfca c3be c17e 5c18 afc8 8230     3.......~..\..0. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a7d:	f85b 3c95 f5ac 441b dfa8 da60 a0fb 9f38     [..<...D..`...8. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a8d:	4ce3 e0ad 037d 7f6a 721b dbc2 bd1a 69c5     .L..}.j..r.....i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011a9d:	b2cd 1197 39f5 7e61 e886 711e edbf d958     .....9a~...q..X. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011aad:	ce61 3dfd ca9c 99a6 d684 e284 2d40 f648     a..=........@-H. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011abd:	4258 b543 68d1 388a a396 a37a 3298 f9f1     XBC..h.8..z..2.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011acd:	0329 762d e6ac b7cf 16d3 5194 989c 471b     ).-v.......Q...G 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011add:	53e3 f245 d31c 5f67 06e0 08b0 347c 446f     .SE...g_....|4oD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011aed:	99c3 44e2 d607 5168 f607 511b e08c 7b46     ...D..hQ...Q..F{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011afd:	4e50 315c 3380 5eb0 0848 4460 a694 93dd     PN\1.3.^H.`D.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b0d:	a220 cfc6 b2c6 ca41 6084 bc4d 0f6a 0e5e      .....A..`M.j.^. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b1d:	389f 531f b59f 6b42 038a 5a4e b36a 1abf     .8.S..Bk..NZj... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b2d:	447b 98d1 5417 b8cb ab78 4c71 7804 364f     {D...T..x.qL.xO6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b3d:	2b56 0423 8807 b8d7 4119 2f9d 3183 145a     V+#......A./.1Z. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b4d:	c945 3a8c 29be f00a f061 e53e 4182 688e     E..:.)..a.>..A.h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b5d:	bb89 e0d0 7296 b223 5157 b6a2 d223 4742     .....r#.WQ..#.BG 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b6d:	8cd3 9a6c 5ac7 bf4c 7987 5ac7 e0e9 6081     ..l..ZL..y.Z...` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b7d:	5965 6763 3f43 3cbc ecc3 6ae5 0e17 312c     eYcgC?.<...j..,1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b8d:	0d58 c80c d081 0186 c5d2 87e3 d3e8 4968     X.............hI 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011b9d:	78a6 a4a1 edbb 44a7 8379 e635 8745 e490     .x.....Dy.5.E... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011bad:	ac14 838d 0b70 82ba c09d ca22 4114 56b8     ....p....."..A.V 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011bbd:	7d92 dca9 ee25 87c0 076f c969 66a2 b1af     .}..%...o.i..f.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011bcd:	8df6 3b51 8db8 2b14 78dc 9277 5528 4c37     ..Q;...+.xw.(U7L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011bdd:	5b27 a65a 10ec 3800 3819 eba4 8f81 d580     '[Z....8.8...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011bed:	c00f f64b 7e53 8d2c 8b2d 16c7 2528 0e49     ..K.S~,.-...(%I. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011bfd:	868e 4466 17a8 cc6c 1018 25f1 81cd d824     ..fD..l....%..$. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c0d:	a8e7 8f69 4582 28c3 ff03 b0cc 7d3f b325     ..i..E.(....?}%. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c1d:	00d2 98fd 70f6 ea79 da13 c2f6 4071 035c     .....py.....q@\. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c2d:	e73d 6d33 5460 638b 2b42 3f88 d122 663e     =.3m`T.cB+.?".>f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c3d:	d2fe 656e d19d ed78 781d 3ead 8661 27bd     ..ne..x..x.>a..' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c4d:	a49c b635 0327 e14f 1d28 150d 649d d518     ..5.'.O.(....d.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c5d:	37a6 64d8 f408 c014 f127 e2d6 5a6f acfc     .7.d....'...oZ.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c6d:	6b31 4411 2c07 248e d860 8886 c1e7 031a     1k.D.,.$`....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c7d:	2db5 c046 0cd6 7ac7 927d 1df5 d887 32d7     .-F....z}......2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c8d:	82a2 96af 413e 4218 2e80 f67f 639d e127     ....>A.B.....c'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011c9d:	1660 b8e5 7d40 462d 5507 e156 05ec 77ec     `...@}-F.UV....w 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011cad:	a284 1043 66c6 8e10 7579 5f80 0874 6867     ..C..f..yu._t.gh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011cbd:	c179 8e9c f39c df69 b8a4 8e7b 7b63 4263     y.....i...{.c{cB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011ccd:	ee29 de02 4c42 8a37 36bc 821b f1d5 eb6c     )...BL7..6....l. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011cdd:	cacf 9ccb 1c95 98d4 8b55 fa77 5e7b a53e     ........U.w.{^>. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011ced:	c733 d254 0be9 eb82 d5dc 41b4 df30 0b54     3.T........A0.T. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011cfd:	c802 1916 17ae 7b2e 4169 338e 41d6 6672     .......{iA.3.Arf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d0d:	c974 544d 51f4 8387 4d6f 4025 81b8 e120     t.MT.Q..oM%@.. . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d1d:	f785 5632 e178 7e0e 9627 de1c 3dba 2624     ..2Vx..~'....=$& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d2d:	cb71 ceb8 4d59 8f72 1a93 c842 a428 d957     q...YMr...B.(.W. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d3d:	2fe0 a929 09ea 5d33 e1a6 b51a c71c 431c     ./)...3].......C 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d4d:	8136 33cc e29a 7062 3252 7564 4038 669f     6..3..bpR2du8@.f 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d5d:	87f3 d2ca 6be1 7527 0dd6 24af 5517 78fc     .....k'u...$.U.x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d6d:	cf3f 238b 194f 2c30 c87b 539d d33e 7339     ?..#O.0,{..S>.9s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d7d:	23f2 236f 9863 f39e afbd 9a87 1170 24e8     .#o#c.......p..$ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d8d:	b4a3 47a0 a83c 4c6a b421 f982 141e 2627     ...G<.jL!.....'& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011d9d:	98f5 e4d2 8e97 1aa0 d082 a054 c2a8 2664     ..........T...d& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011dad:	2f75 6641 9990 e44d d9b8 eddd 0fb6 568f     u/Af..M........V 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011dbd:	e181 0efd 0a74 c9f9 a7a9 a28e b399 9cf3     ....t........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011dcd:	6cd3 5309 4514 e162 ebc9 5dd8 86a5 0e94     .l.S.Eb....].... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011ddd:	d740 7310 042b 0a09 22b4 b40d 9f85 4cae     @..s+....".....L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011ded:	e7d1 97c8 c2ff f6d5 2dd6 e6f0 6590 bf62     .........-...eb. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011dfd:	fc53 78e9 9064 c5ce 4a1e e8c1 a4c0 6644     S..xd....J....Df 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e0d:	2898 54e9 1529 2859 04d1 7230 b0a2 7804     .(.T).Y(..0r...x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e1d:	8c12 2612 441d c1bc 5016 026f 6331 b754     ...&.D...Po.1cT. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e2d:	fa15 c46c a2df 1b5b 9d3d f520 8f7f 408d     ..l...[.=. ....@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e3d:	9938 0aba f596 503c 45d1 e087 f973 27e4     8.....<P.E..s..' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e4d:	7c50 42d8 8556 f010 a82c 4cd8 d4a6 b805     P|.BV...,..L.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e5d:	b666 6d52 5140 f583 619e a0cd b712 4831     f.Rm@Q...a....1H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e6d:	d3d9 5bc9 6892 4eee 70ab a93b 0376 9546     ...[.h.N.p;.v.F. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e7d:	79ee afba 9ee1 b8aa 3334 366f 1d9b 774a     .y......43o6..Jw 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e8d:	8396 5632 1cf7 7e54 8954 9026 91fc 6b88     ..2V..T~T.&....k 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011e9d:	985c 6f68 9990 a97b d202 ec04 8369 8a13     \.ho..{.....i... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011ead:	9b82 9a25 eb99 0907 facc 65b7 f5ad 4d5a     ..%........e..ZM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011ebd:	c52a f545 2ccb c592 4abc 13ae 8f7b 5f0a     *.E..,...J..{.._ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011ecd:	3abb cadc 6462 5525 7c73 ebbe e16b c423     .:..bd%Us|..k.#. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011edd:	13ab 81cd b5e4 0222 aa43 4280 3201 c4af     ......".C..B.2.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011eed:	5a75 353e 1950 c0d7 a3db a99c 0c5b 67d6     uZ>5P.......[..g 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011efd:	2055 484b 7668 441a db49 86cb 5187 c0e0     U KHhv.DI....Q.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f0d:	11a5 a29b e87a a063 9197 8005 f8ca 36ba     ....z.c........6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f1d:	905a e0f2 784c 3826 bc8b 714e 6a7e a563     Z...Lx&8..Nq~jc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f2d:	d0cf 75a6 0c55 993b 06df 59fd c9e4 1652     ...uU.;....Y..R. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f3d:	ae68 854a ef00 96a1 1ae3 d1b1 3408 d018     h.J..........4.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f4d:	4079 889d 65f3 deca 6f6f 04a7 04e7 e322     y@...e..oo....". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f5d:	533f 5260 5b7f 87f6 5bf7 540d e817 62a1     ?S`R.[...[.T...b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f6d:	029e 6a6b d8f1 cc91 a69f 7728 1ba6 3389     ..kj......(w...3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f7d:	7f5d 2d4e 6e8a 3c41 1151 d89a c5b6 491a     ].N-.nA<Q......I 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f8d:	bdf3 7c83 43a5 0aad 32a6 da76 0199 0a2b     ...|.C...2v...+. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011f9d:	9148 0071 a7be 3af1 9c58 dd4f cd15 64dd     H.q....:X.O....d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011fad:	d2a2 9cc3 7584 e7d1 1cb6 8bb6 b191 3cfd     .....u.........< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011fbd:	1fe2 d7d3 9bee 4e4b 182b 95c1 c5c6 8e51     ......KN+.....Q. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011fcd:	369d 32f5 0db2 fdb2 0ccd 127f 6ba9 a47c     .6.2.........k|. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011fdd:	319f 9688 afc1 3df1 5b46 97eb ea66 b7fa     .1.....=F[..f... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011fed:	c3ed ddc3 f831 2723 20b5 d726 6a5d e6ca     ....1.#'. &.]j.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8011ffd:	73c1 d3f4 d2d8 e76d 6bc1 cd0b 1dfd cd2d     .s....m..k....-. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801200d:	d13c a56d de51 5e2c e942 9e8c 369f 2e0f     <.m.Q.,^B....6.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801201d:	74e1 af46 d52e 2f48 d9b0 12aa 2c9e bea0     .tF...H/.....,.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801202d:	ff04 779d 6c55 e3b7 fb16 d37b 9234 6677     ...wUl....{.4.wf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801203d:	dbd9 37bc 63ed 699b 7d42 1890 6fae bee9     ...7.c.iB}...o.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801204d:	3aff f2bb edc7 0ee6 a768 b7f2 b22d bbf2     .:......h...-... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801205d:	b14d da41 2f41 1e3e dcb8 93d2 b5ec 079d     M.A.A/>......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801206d:	2701 d916 8737 8977 11f5 d9d8 26e3 675a     .'..7.w......&Zg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801207d:	b027 b651 5c7e 58eb df6a 8e3c 6569 62ee     '.Q.~\.Xj.<.ie.b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801208d:	d685 0ee6 89de e71b 9bb7 1686 39ae 398f     .............9.9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801209d:	7a9e 9a72 2e7e 5f72 6664 5c57 2e96 9be0     .zr.~.r_dfW\.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80120ad:	9c97 9c03 16c7 3a10 6783 9d10 ebb1 d25c     .......:.g....\. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80120bd:	ba37 2548 6173 cef3 c974 cdf9 ebac afbe     7.H%sa..t....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80120cd:	d927 5c7b cadf d8f8 933b b12e 1ae8 9001     '.{\....;....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80120dd:	07aa f316 13d7 313c 6f4e f614 c0bd 323e     ......<1No....>2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80120ed:	37e8 40e0 5856 3803 7a9b 54f0 7f29 2e7a     .7.@VX.8.z.T).z. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80120fd:	c82e 4a01 dd08 c83e 13a2 51ea 3b5d 37aa     ...J..>....Q];.7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801210d:	535d ab39 33ef bbde ccad 6dc3 13f2 f46a     ]S9..3.....m..j. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801211d:	1f1c 31e0 e578 3dbc 385f bed6 ab52 ef93     ...1x..=_8..R... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801212d:	f5e0 6a78 656a 38fb d715 7bab fb48 d0b6     ..xjje.8...{H... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801213d:	6f82 e3d3 14de ca11 f0ef 8e42 c956 03ef     .o........B.V... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801214d:	977d 7683 4c9d 6e6f 75aa 67fd 7383 3c82     }..v.Lon.u.g.s.< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801215d:	eb46 8f37 1d67 d4c6 3443 3ef7 e837 2810     F.7.g...C4.>7..( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801216d:	78d5 eef1 a1fe dc3d b60e 7667 3b35 369e     .x....=...gv5;.6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801217d:	f0c7 6850 e64b 53c8 806f ffe3 6300 b80c     ..PhK..So....c.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801218d:	3acc 0018 4300                                   .:... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08012192 <Content_Length>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012192:	6f43 746e 6e65 2d74 654c 676e 6874 203a     Content-Length:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121a2:	0000                                        .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080121a4 <file__index_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121a4:	28f4 0801 21cc 0801 21d8 0801 071a 0000     .(...!...!...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121b4:	0001 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080121b8 <file__upload_js>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121b8:	3570 0801 30ad 0801 30b9 0801 03f7 0000     p5...0...0...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121c8:	0001 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080121cc <data__index_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121cc:	692f 646e 7865 682e 6d74 006c 5448 5054     /index.html.HTTP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121dc:	312f 302e 3220 3030 4f20 0d4b 530a 7265     /1.0 200 OK..Ser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121ec:	6576 3a72 6c20 4977 2f50 2e31 2e33 2031     ver: lwIP/1.3.1  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80121fc:	6828 7474 3a70 2f2f 6173 6176 6e6e 6861     (http://savannah 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801220c:	6e2e 6e6f 6e67 2e75 726f 2f67 7270 6a6f     .nongnu.org/proj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801221c:	6365 7374 6c2f 6977 2970 0a0d 6f43 746e     ects/lwip)..Cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801222c:	6e65 2d74 7974 6570 203a 6574 7478 682f     ent-type: text/h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801223c:	6d74 0d6c 0d0a 3c0a 4421 434f 5954 4550     tml....<!DOCTYPE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801224c:	6820 6d74 3e6c 683c 6d74 206c 616c 676e      html><html lang 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801225c:	223d 3e22 683c 6165 3e64 6d3c 7465 2061     =""><head><meta  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801226c:	6863 7261 6573 3d74 7522 6674 382d 3e22     charset="utf-8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801227c:	6d3c 7465 2061 7468 7074 652d 7571 7669     <meta http-equiv 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801228c:	223d 2d58 4155 432d 6d6f 6170 6974 6c62     ="X-UA-Compatibl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801229c:	2265 6320 6e6f 6574 746e 223d 4549 653d     e" content="IE=e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80122ac:	6764 2265 3c3e 656d 6174 6e20 6d61 3d65     dge"><meta name= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80122bc:	7622 6569 7077 726f 2274 6320 6e6f 6574     "viewport" conte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80122cc:	746e 223d 6977 7464 3d68 6564 6976 6563     nt="width=device 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80122dc:	772d 6469 6874 692c 696e 6974 6c61 732d     -width,initial-s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80122ec:	6163 656c 313d 6d2c 7861 6d69 6d75 732d     cale=1,maximum-s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80122fc:	6163 656c 313d 752c 6573 2d72 6373 6c61     cale=1,user-scal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801230c:	6261 656c 303d 3e22 6c3c 6e69 206b 6572     able=0"><link re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801231c:	3d6c 7322 7974 656c 6873 6565 2274 6820     l="stylesheet" h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801232c:	6572 3d66 7522 6c70 616f 2e64 7363 2273     ref="upload.css" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801233c:	3c3e 6974 6c74 3e65 9ed0 b1d0 bdd0 bed0     ><title>........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801234c:	b2d0 bbd0 b5d0 bdd0 b8d0 b5d0 d020 d1bf     ............ ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801235c:	d080 d1be d088 d0b8 d0b2 d0ba 3cb8 742f     .............</t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801236c:	7469 656c 3c3e 682f 6165 3e64 623c 646f     itle></head><bod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801237c:	3e79 6e3c 7661 6320 616c 7373 223d 616e     y><nav class="na 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801238c:	6276 7261 3e22 2f3c 616e 3e76 643c 7669     vbar"></nav><div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801239c:	6920 3d64 6322 756f 746e 772d 6172 2270      id="count-wrap" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80123ac:	3c3e 6964 2076 6469 223d 6f63 6e75 6474     ><div id="countd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80123bc:	776f 226e 3c3e 3e70 9ad0 bed0 bdd0 82d1     own"><p>........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80123cc:	80d1 bed0 bbd0 bbd0 b5d0 80d1 d020 d1b1     ............ ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80123dc:	d083 d0b4 d1b5 2082 bfd0 b5d0 80d1 b5d0     ....... ........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80123ec:	b7d0 b0d0 b3d0 80d1 83d1 b6d0 b5d0 bdd0     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80123fc:	d120 d087 d1b5 d080 d0b5 20b7 733c 6170      .......... <spa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801240c:	206e 6469 223d 6f63 6e75 2d74 756e 626d     n id="count-numb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801241c:	7265 3e22 3c35 732f 6170 3e6e d120 d081     er">5</span> ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801242c:	d0b5 d1ba d083 d0bd 2eb4 2f3c 3e70 2f3c     ..........</p></ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801243c:	6964 3e76 2f3c 6964 3e76 643c 7669 6320     div></div><div c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801244c:	616c 7373 223d 7277 7061 6570 2272 3c3e     lass="wrapper">< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801245c:	3168 d03e d09e d0b1 d0bd d0be d0b2 d0bb     h1>............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801246c:	d0b5 d0bd d0b8 20b5 bfd0 80d1 bed0 88d1     ....... ........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801247c:	b8d0 b2d0 bad0 b8d0 2f3c 3168 3c3e 6f66     ........</h1><fo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801248c:	6d72 6120 7463 6f69 3d6e 2f22 7075 6f6c     rm action="/uplo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801249c:	6461 632e 6967 2022 656d 6874 646f 223d     ad.cgi" method=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80124ac:	6f70 7473 2022 6e65 7463 7079 3d65 6d22     post" enctype="m 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80124bc:	6c75 6974 6170 7472 662f 726f 2d6d 6164     ultipart/form-da 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80124cc:	6174 2022 6e6f 7573 6d62 7469 223d 6572     ta" onsubmit="re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80124dc:	7574 6e72 5620 6c61 6469 7461 2865 6874     turn Validate(th 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80124ec:	7369 2229 3c3e 6964 2076 6c63 7361 3d73     is)"><div class= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80124fc:	7522 6c70 616f 2d64 6f66 6d72 3e22 643c     "upload-form"><d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801250c:	7669 6320 616c 7373 223d 7567 6469 2265     iv class="guide" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801251c:	3c3e 3e70 94d0 bbd0 8fd1 d020 d0be d0b1     ><p>...... ..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801252c:	d0bd d0be d0b2 d0bb d0b5 d0bd d1b8 208f     ...............  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801253c:	bfd0 80d1 bed0 88d1 b8d0 b2d0 bad0 b8d0     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801254c:	d020 d0bd d0b5 d0be d1b1 d085 d0be d0b4      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801255c:	d0b8 d0bc 3abe 2f3c 3e70 6f3c 3e6c 6c3c     .....:</p><ol><l 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801256c:	3e69 a1d0 bad0 bed0 bfd0 b8d0 80d1 bed0     i>.............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801257c:	b2d0 b0d0 82d1 8cd1 d020 d0bd 20b0 bad0     ........ .... .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801258c:	bed0 bcd0 bfd0 8cd1 8ed1 82d1 b5d0 80d1     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801259c:	d020 d0b8 d0bb 20b8 b2d0 bdd0 b5d0 88d1      ...... ........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80125ac:	bdd0 b8d0 b9d0 d020 d0bd d1be d081 d1b8     ...... ......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80125bc:	d082 d0b5 d1bb 2c8c d120 d084 d0b0 d0b9     ......., ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80125cc:	20bb bfd0 80d1 bed0 88d1 b8d0 b2d0 bad0     . .............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80125dc:	b8d0 d120 2081 80d1 b0d0 81d1 88d1 b8d0     .. .. .......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80125ec:	80d1 b5d0 bdd0 b8d0 b5d0 bcd0 2a20 622e     ............ *.b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80125fc:	6e69 2f3c 696c 3c3e 696c d03e d0a3 d0ba     in</li><li>..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801260c:	d0b0 d0b7 d1b0 d182 208c bfd0 83d1 82d1     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801261c:	8cd1 d020 20ba 84d1 b0d0 b9d0 bbd0 83d1     .. .. .......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801262c:	d020 d1bf d080 d1be d088 d0b8 d0b2 d0ba      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801263c:	3cb8 6c2f 3e69 6c3c 3e69 9dd0 b0d0 b6d0     .</li><li>...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801264c:	b0d0 82d1 8cd1 d020 d0ba d0bd d0be d0bf     ...... ......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801265c:	d1ba 2083 d022 d097 d0b0 d1b3 d180 d083     ... "........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801266c:	d0b7 d1b8 d182 228c 2f3c 696c 3c3e 6f2f     ......."</li></o 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801267c:	3e6c 703c d03e d094 d1bb 208f b2d0 bed0     l><p>...... .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801268c:	b7d0 b2d0 80d1 b0d0 82d1 b0d0 d020 20b2     ............ ..  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801269c:	bed0 81d1 bdd0 bed0 b2d0 bdd0 bed0 b9d0     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80126ac:	d020 d0b8 d1bd d082 d1b5 d180 d084 d0b5      ............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80126bc:	d1b9 2081 bad0 bed0 bdd0 82d1 80d1 bed0     ... ............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80126cc:	bbd0 bbd0 b5d0 80d1 b0d0 d020 d0bd d0b0     .......... ..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80126dc:	d0b6 d0bc d1b8 d082 20b5 d022 d19e d082     ......... "..... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80126ec:	d0bc d0b5 d0bd d1b8 d182 228c 2f3c 3e70     ..........."</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80126fc:	2f3c 6964 3e76 643c 7669 6320 616c 7373     </div><div class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801270c:	223d 7075 6f6c 6461 772d 6172 7070 7265     ="upload-wrapper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801271c:	3e22 693c 706e 7475 6920 3d64 7522 6c70     "><input id="upl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801272c:	616f 4664 6c69 2265 7020 616c 6563 6f68     oadFile" placeho 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801273c:	646c 7265 223d a4d0 b0d0 b9d0 bbd0 2022     lder="........"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801274c:	6964 6173 6c62 6465 223d 6964 6173 6c62     disabled="disabl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801275c:	6465 2022 6c63 7361 3d73 6622 6c69 2d65     ed" class="file- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801276c:	616e 656d 3e22 643c 7669 6320 616c 7373     name"><div class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801277c:	223d 6966 656c 7055 6f6c 6461 6220 6e74     ="fileUpload btn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801278c:	6220 6e74 702d 6972 616d 7972 3e22 733c      btn-primary"><s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801279c:	6170 3e6e 92d0 8bd1 b1d0 bed0 80d1 2f3c     pan>..........</ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80127ac:	7073 6e61 203e 693c 706e 7475 6920 3d64     span> <input id= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80127bc:	7522 6c70 616f 4264 6e74 2022 7974 6570     "uploadBtn" type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80127cc:	223d 6966 656c 2022 6c63 7361 3d73 7522     ="file" class="u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80127dc:	6c70 616f 2264 6e20 6d61 3d65 6422 7461     pload" name="dat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80127ec:	6661 6c69 2265 3c3e 642f 7669 3c3e 642f     afile"></div></d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80127fc:	7669 3c3e 642f 7669 3c3e 6e69 7570 2074     iv></div><input  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801280c:	6c63 7361 3d73 6222 6e74 6220 6e74 702d     class="btn btn-p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801281c:	6972 616d 7972 2022 7974 6570 223d 7573     rimary" type="su 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801282c:	6d62 7469 2022 6176 756c 3d65 d022 d097     bmit" value="... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801283c:	d0b0 d1b3 d180 d083 d0b7 d1b8 d182 228c     ..............." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801284c:	203e 693c 706e 7475 6320 616c 7373 223d     > <input class=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801285c:	7462 206e 7462 2d6e 6164 676e 7265 2022     btn btn-danger"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801286c:	7974 6570 223d 7562 7474 6e6f 2022 6176     type="button" va 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801287c:	756c 3d65 d022 d19e d082 d0bc d0b5 d0bd     lue="........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801288c:	d1b8 d182 228c 6920 3d64 6722 626f 6361     ....." id="gobac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801289c:	226b 3c3e 662f 726f 3e6d 733c 7263 7069     k"></form><scrip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80128ac:	2074 7974 6570 223d 6574 7478 6a2f 7661     t type="text/jav 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80128bc:	7361 7263 7069 2274 7320 6372 223d 7075     ascript" src="up 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80128cc:	6f6c 6461 6a2e 2273 3c3e 732f 7263 7069     load.js"></scrip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80128dc:	3e74 2f3c 6964 3e76 2f3c 6f62 7964 3c3e     t></div></body>< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80128ec:	682f 6d74 3e6c 0000                         /html>.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080128f4 <file__error_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80128f4:	0000 0000 2916 0801 2922 0801 03bd 0000     .....)..")...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012904:	0001 0000                                   .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08012908 <octet_stream>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012908:	636f 6574 2d74 7473 6572 6d61 000d          octet-stream.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08012916 <data__error_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012916:	652f 7272 726f 682e 6d74 006c 5448 5054     /error.html.HTTP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012926:	312f 302e 3220 3030 4f20 0d4b 530a 7265     /1.0 200 OK..Ser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012936:	6576 3a72 6c20 4977 2f50 2e31 2e33 2031     ver: lwIP/1.3.1  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012946:	6828 7474 3a70 2f2f 6173 6176 6e6e 6861     (http://savannah 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012956:	6e2e 6e6f 6e67 2e75 726f 2f67 7270 6a6f     .nongnu.org/proj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012966:	6365 7374 6c2f 6977 2970 0a0d 6f43 746e     ects/lwip)..Cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012976:	6e65 2d74 7974 6570 203a 6574 7478 682f     ent-type: text/h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012986:	6d74 0d6c 0d0a 3c0a 4421 434f 5954 4550     tml....<!DOCTYPE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012996:	6820 6d74 3e6c 683c 6d74 206c 616c 676e      html><html lang 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80129a6:	223d 3e22 683c 6165 3e64 6d3c 7465 2061     =""><head><meta  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80129b6:	6863 7261 6573 3d74 7522 6674 382d 3e22     charset="utf-8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80129c6:	6d3c 7465 2061 7468 7074 652d 7571 7669     <meta http-equiv 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80129d6:	223d 2d58 4155 432d 6d6f 6170 6974 6c62     ="X-UA-Compatibl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80129e6:	2265 6320 6e6f 6574 746e 223d 4549 653d     e" content="IE=e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80129f6:	6764 2265 3c3e 656d 6174 6e20 6d61 3d65     dge"><meta name= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a06:	7622 6569 7077 726f 2274 6320 6e6f 6574     "viewport" conte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a16:	746e 223d 6977 7464 3d68 6564 6976 6563     nt="width=device 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a26:	772d 6469 6874 692c 696e 6974 6c61 732d     -width,initial-s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a36:	6163 656c 313d 6d2c 7861 6d69 6d75 732d     cale=1,maximum-s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a46:	6163 656c 313d 752c 6573 2d72 6373 6c61     cale=1,user-scal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a56:	6261 656c 303d 3e22 6c3c 6e69 206b 6572     able=0"><link re 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a66:	3d6c 7322 7974 656c 6873 6565 2274 6820     l="stylesheet" h 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a76:	6572 3d66 7522 6c70 616f 2e64 7363 2273     ref="upload.css" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a86:	3c3e 6974 6c74 3e65 9ed0 88d1 b8d0 b1d0     ><title>........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012a96:	bad0 b0d0 d020 d0be d0b1 d0bd d0be d0b2     .... ........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012aa6:	d0bb d0b5 d0bd d1b8 3c8f 742f 7469 656c     .........</title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ab6:	3c3e 682f 6165 3e64 623c 646f 3e79 6e3c     ></head><body><n 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ac6:	7661 6320 616c 7373 223d 616e 6276 7261     av class="navbar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ad6:	3e22 2f3c 616e 3e76 643c 7669 6320 616c     "></nav><div cla 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ae6:	7373 223d 7277 7061 6570 2272 3c3e 3168     ss="wrapper"><h1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012af6:	d03e d09e d0b1 d0bd d0be d0b2 d0bb d0b5     >............... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b06:	d0bd d0b8 20b5 bfd0 80d1 bed0 88d1 b8d0     ..... .......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b16:	b2d0 bad0 b8d0 2f3c 3168 3c3e 6964 2076     ......</h1><div  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b26:	6c63 7361 3d73 7522 6c70 616f 2d64 6f66     class="upload-fo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b36:	6d72 3e22 643c 7669 6320 616c 7373 223d     rm"><div class=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b46:	7567 6469 2265 7320 7974 656c 223d 6574     guide" style="te 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b56:	7478 612d 696c 6e67 633a 6e65 6574 2272     xt-align:center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b66:	3c3e 2070 7473 6c79 3d65 6322 6c6f 726f     ><p style="color 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b76:	233a 3964 3335 6634 3e22 623c d03e d19f     :#d9534f"><b>... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b86:	d080 20b8 bed0 b1d0 bdd0 bed0 b2d0 bbd0     ... ............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012b96:	b5d0 bdd0 b8d0 b8d0 d020 d1bf d080 d0be     ........ ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ba6:	d1b3 d080 d0b0 d0bc d0bc d0bd d0be d0b3     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012bb6:	20be bed0 b1d0 b5d0 81d1 bfd0 b5d0 87d1     . .............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012bc6:	b5d0 bdd0 b8d0 8fd1 d020 d0b2 d0be d0b7     ........ ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012bd6:	d0bd d0b8 d0ba d0bb 20b0 bed0 88d1 b8d0     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012be6:	b1d0 bad0 b0d0 3c2e 622f 3c3e 7262 d03e     .......</b><br>. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012bf6:	d09f d0be d0b6 d0b0 d1bb d083 d1b9 d181     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c06:	d082 2cb0 d020 d0bf d0be d1bf d080 d0be     ..., ........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c16:	d1b1 d083 d1b9 d082 20b5 b5d0 89d1 91d1     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c26:	d120 d080 d0b0 20b7 87d1 b5d0 80d1 b5d0      ...... ........ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c36:	b7d0 3c20 7073 6e61 6920 3d64 6322 756f     .. <span id="cou 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c46:	746e 6e2d 6d75 6562 2272 353e 2f3c 7073     nt-number">5</sp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c56:	6e61 203e 81d1 b5d0 bad0 83d1 bdd0 b4d0     an> ............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c66:	2f3c 3e70 2f3c 6964 3e76 2f3c 6964 3e76     </p></div></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c76:	733c 7263 7069 2074 7974 6570 223d 6574     <script type="te 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c86:	7478 6a2f 7661 7361 7263 7069 2274 7320     xt/javascript" s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012c96:	6372 223d 7075 6f6c 6461 6a2e 2273 3c3e     rc="upload.js">< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ca6:	732f 7263 7069 3e74 733c 7263 7069 3e74     /script><script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012cb6:	6f63 6e75 6474 776f 286e 3b29 2f3c 6373     countdown();</sc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012cc6:	6972 7470 3c3e 642f 7669 3c3e 622f 646f     ript></div></bod 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012cd6:	3e79 2f3c 7468 6c6d 2f3e                         y></html> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08012cdf <data__success_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012cdf:	732f 6375 6563 7373 682e 6d74 006c 0000     /success.html... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012cef:	5448 5054 312f 302e 3220 3030 4f20 0d4b     HTTP/1.0 200 OK. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012cff:	530a 7265 6576 3a72 6c20 4977 2f50 2e31     .Server: lwIP/1. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d0f:	2e33 2031 6828 7474 3a70 2f2f 6173 6176     3.1 (http://sava 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d1f:	6e6e 6861 6e2e 6e6f 6e67 2e75 726f 2f67     nnah.nongnu.org/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d2f:	7270 6a6f 6365 7374 6c2f 6977 2970 0a0d     projects/lwip).. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d3f:	6f43 746e 6e65 2d74 7974 6570 203a 6574     Content-type: te 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d4f:	7478 682f 6d74 0d6c 0d0a 3c0a 4421 434f     xt/html....<!DOC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d5f:	5954 4550 6820 6d74 3e6c 683c 6d74 206c     TYPE html><html  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d6f:	616c 676e 223d 3e22 683c 6165 3e64 6d3c     lang=""><head><m 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d7f:	7465 2061 6863 7261 6573 3d74 7522 6674     eta charset="utf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d8f:	382d 3e22 6d3c 7465 2061 7468 7074 652d     -8"><meta http-e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012d9f:	7571 7669 223d 2d58 4155 432d 6d6f 6170     quiv="X-UA-Compa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012daf:	6974 6c62 2265 6320 6e6f 6574 746e 223d     tible" content=" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012dbf:	4549 653d 6764 2265 3c3e 656d 6174 6e20     IE=edge"><meta n 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012dcf:	6d61 3d65 7622 6569 7077 726f 2274 6320     ame="viewport" c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ddf:	6e6f 6574 746e 223d 6977 7464 3d68 6564     ontent="width=de 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012def:	6976 6563 772d 6469 6874 692c 696e 6974     vice-width,initi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012dff:	6c61 732d 6163 656c 313d 6d2c 7861 6d69     al-scale=1,maxim 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e0f:	6d75 732d 6163 656c 313d 752c 6573 2d72     um-scale=1,user- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e1f:	6373 6c61 6261 656c 303d 3e22 6c3c 6e69     scalable=0"><lin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e2f:	206b 6572 3d6c 7322 7974 656c 6873 6565     k rel="styleshee 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e3f:	2274 6820 6572 3d66 7522 6c70 616f 2e64     t" href="upload. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e4f:	7363 2273 3c3e 6974 6c74 3e65 a3d0 81d1     css"><title>.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e5f:	bfd0 b5d0 88d1 bdd0 bed0 b5d0 d020 d0be     ............ ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e6f:	d0b1 d0bd d0be d0b2 d0bb d0b5 d0bd d0b8     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e7f:	3cb5 742f 7469 656c 3c3e 682f 6165 3e64     .</title></head> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e8f:	623c 646f 3e79 6e3c 7661 6320 616c 7373     <body><nav class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012e9f:	223d 616e 6276 7261 3e22 2f3c 616e 3e76     ="navbar"></nav> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012eaf:	643c 7669 6320 616c 7373 223d 7277 7061     <div class="wrap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ebf:	6570 2272 3c3e 3168 d03e d09e d0b1 d0bd     per"><h1>....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012ecf:	d0be d0b2 d0bb d0b5 d0bd d0b8 20b5 bfd0     ............. .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012edf:	80d1 bed0 88d1 b8d0 b2d0 bad0 b8d0 2f3c     ..............</ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012eef:	3168 3c3e 6964 2076 6c63 7361 3d73 7522     h1><div class="u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012eff:	6c70 616f 2d64 6f66 6d72 3e22 643c 7669     pload-form"><div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f0f:	6320 616c 7373 223d 7567 6469 2265 7320      class="guide" s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f1f:	7974 656c 223d 6574 7478 612d 696c 6e67     tyle="text-align 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f2f:	633a 6e65 6574 2272 3c3e 2070 7473 6c79     :center"><p styl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f3f:	3d65 6322 6c6f 726f 233a 3333 4343 3030     e="color:#33CC00 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f4f:	3e22 623c d03e d09e d0b1 d0bd d0be d0b2     "><b>........... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f5f:	d0bb d0b5 d0bd d0b8 20b5 bfd0 80d1 bed0     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f6f:	b3d0 80d1 b0d0 bcd0 bcd0 bdd0 bed0 b3d0     ................ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f7f:	bed0 d020 d0be d0b1 d1b5 d081 d0bf d1b5     .. ............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f8f:	d087 d0b5 d0bd d1b8 208f 83d1 81d1 bfd0     ......... ...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012f9f:	b5d0 88d1 bdd0 bed0 d020 d0b7 d0b0 d0b2     ........ ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012faf:	d1b5 d180 d088 d0b5 d0bd 2ebe 2f3c 3e62     ............</b> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012fbf:	623c 3e72 9ad0 bed0 bdd0 82d1 80d1 bed0     <br>............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012fcf:	bbd0 bbd0 b5d0 80d1 d020 d1b1 d083 d0b4     ........ ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012fdf:	d1b5 2082 bfd0 b5d0 80d1 b5d0 b7d0 b0d0     ... ............ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012fef:	b3d0 80d1 83d1 b6d0 b5d0 bdd0 d120 d087     ............ ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8012fff:	d1b5 d080 d0b5 20b7 733c 6170 206e 6469     ....... <span id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801300f:	223d 6f63 6e75 2d74 756e 626d 7265 3e22     ="count-number"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801301f:	3c35 732f 6170 3e6e d120 d081 d0b5 d1ba     5</span> ....... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801302f:	d083 d0bd 3cb4 702f 3c3e 642f 7669 3c3e     .....</p></div>< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801303f:	642f 7669 3c3e 6373 6972 7470 7420 7079     /div><script typ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801304f:	3d65 7422 7865 2f74 616a 6176 6373 6972     e="text/javascri 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801305f:	7470 2022 7273 3d63 7522 6c70 616f 2e64     pt" src="upload. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801306f:	736a 3e22 2f3c 6373 6972 7470 3c3e 6373     js"></script><sc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801307f:	6972 7470 633e 756f 746e 6f64 6e77 2928     ript>countdown() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801308f:	3c3b 732f 7263 7069 3e74 2f3c 6964 3e76     ;</script></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801309f:	2f3c 6f62 7964 3c3e 682f 6d74 3e6c          </body></html> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080130ad <data__upload_js>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80130ad:	752f 6c70 616f 2e64 736a 0000 5448 5054     /upload.js..HTTP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80130bd:	312f 302e 3220 3030 4f20 0d4b 530a 7265     /1.0 200 OK..Ser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80130cd:	6576 3a72 6c20 4977 2f50 2e31 2e33 2031     ver: lwIP/1.3.1  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80130dd:	6828 7474 3a70 2f2f 6173 6176 6e6e 6861     (http://savannah 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80130ed:	6e2e 6e6f 6e67 2e75 726f 2f67 7270 6a6f     .nongnu.org/proj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80130fd:	6365 7374 6c2f 6977 2970 0a0d 6f43 746e     ects/lwip)..Cont 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801310d:	6e65 2d74 7974 6570 203a 7061 6c70 6369     ent-type: applic 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801311d:	7461 6f69 2f6e 2d78 616a 6176 6373 6972     ation/x-javascri 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801312d:	7470 0a0d 6f43 746e 6e65 2d74 6e45 6f63     pt..Content-Enco 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801313d:	6964 676e 203a 7a67 7069 0a0d 0a0d 8b1f     ding: gzip...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801314d:	0008 0000 0000 0b04 54b5 6ae1 46dc 7e10     .........T.j.F.~ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801315d:	bd95 1825 cb09 99ea 2812 b756 2ea6 6269     ..%......(V...ib 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801316d:	db88 8e10 3012 aca6 a356 adbb bb75 6957     .....0..V...u.Wi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801317d:	ee75 0e61 73e2 0b4a 140d 02fa d3fd 3007     u.a..sJ........0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801318d:	6ea1 24ec 67be 7dd8 cea3 749e 1c8e 9f9a     .n.$.g.}...t.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801319d:	21fd ed21 eccc f37c 37cd d793 184a 15a9     .!!...|..7..J... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80131ad:	17b9 f0f0 04b4 9753 648a d45a 5063 1e26     ......S..dZ.cP&. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80131bd:	7982 8050 dcff ed9b e867 cf31 fed7 d742     .yP.....g.1...B. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80131cd:	64ca 44fa e105 94e9 8497 fbb3 0549 5f66     .d.D........I.f_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80131dd:	2819 bca7 d608 688e 6f6e 66dd 6f8c 046c     .(.....hno.f.ol. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80131ed:	5227 5861 685c 7dc1 78e2 4254 e8ce 3427     'RaX\h.}.xTB..'4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80131fd:	f88c fd17 0d8d b5be 7d15 3f2c 255d 52dd     .........},?]%.R 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801320d:	38f5 9285 b186 0a54 47ca 8383 8cc7 7c47     .8....T..G....G| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801321d:	6d1e a7c3 801d fd88 87ab befb 0f2a 8d2f     .m..........*./. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801322d:	d244 a0e0 9d43 7172 8b1c a4a1 6888 4837     D...C.rq.....h7H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801323d:	d099 972a 38e5 f6a0 f70f 711b f6e7 bd95     ..*..8.....q.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801324d:	cf74 a5ed f1bd bfbf 85b8 125d b3f7 e25d     t.........]...]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801325d:	15c7 973e 75a4 71b8 6ee7 5ee1 33ba 3bf7     ..>..u.q.n.^.3.; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801326d:	111e 3874 37b3 8976 ff56 26be 0af6 406f     ..t8.7v.V..&..o@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801327d:	f77f bddc dbc0 ddae 2ed9 2996 e618 fb41     ...........)..A. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801328d:	fb6b 930a b85c 0f85 d85c 3e77 7f9f 1a62     k...\...\.w>..b. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801329d:	a4ee d7ac d28f 35dd cf59 1e0e 323f f266     .......5Y...?2f. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80132ad:	7e14 a1ac bb32 8d3f 118b 32fe 2705 aee4     .~..2.?....2.'.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80132bd:	a769 fa6b 3b12 853b df67 3fa6 3080 3d01     i.k..;;.g..?.0.= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80132cd:	a290 95d4 4dce 63ec 8306 8827 75a5 f58f     .....M.c..'..u.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80132dd:	5404 1f40 183e 88d0 bd47 7bfe 0543 0b2a     .T@.>...G..{C.*. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80132ed:	7f42 33b4 32d5 bc23 d280 a204 f3c3 bc77     B..3.2#.......w. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80132fd:	1990 e037 ce99 1975 d8ac bc66 9da3 6f6a     ..7...u...f...jo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801330d:	e036 6fc3 18f8 2a02 a4d5 2b36 fa12 f889     6..o...*..6+.... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801331d:	8d3c 500b 3343 c44a 66e6 a7d3 a58c e287     <..PC3J..f...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801332d:	0228 dbd6 644e d01e 165c 6d80 62ca 9b33     (...Nd..\..m.b3. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801333d:	7840 478a ff7d 8fe7 36ab 6c38 d5f5 a340     @x.G}....68l..@. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801334d:	cff6 2ba6 bec4 4821 85fb b6bd dd6f f139     ...+..!H....o.9. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801335d:	fadc bed6 93c1 f8d7 20dc 9f08 c225 1e44     ......... ..%.D. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801336d:	be72 f5be 7fb0 2b14 eac4 e7d3 7d8c 628f     r......+.....}.b 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801337d:	d996 98d7 17cf 9e10 4c62 ba3f b417 422a     ........bL?...*B 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801338d:	8a11 5782 b795 ffb1 dd3c 24a4 1593 0b4f     ...W....<..$..O. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801339d:	68c8 9692 8fc0 78e7 0f71 443e 57fd 9483     .h.....xq.>D.W.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80133ad:	cdd0 431c 6856 4751 f617 8a2d 6fe8 8b2f     ...CVhQG..-..o/. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80133bd:	ac88 72d4 7ee6 1145 c4ae 1689 e294 9795     ...r.~E......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80133cd:	3bd9 e054 58ba 417b 6230 9189 78ff 121d     .;T..X{A0b...x.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80133dd:	e514 a572 af30 05ea 758a 1781 917b f4a2     ..r.0....u..{... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80133ed:	cbdc 721d 3988 56ef 0089 908e de9e 7cf6     ...r.9.V.......| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80133fd:	70de ebdb 3dcf 4647 418e 26d7 9db9 ad4f     .p...=GF.A.&..O. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801340d:	bac6 60ae a7ac 3ac0 2f03 e00a a0e5 0e71     ...`...:./....q. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801341d:	a0da 6a30 183f 896e adb5 8313 a1db d89d     ..0j?.n......... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801342d:	80ce b8e2 c6e0 5e40 c19b 293f 04f9 af19     ......@^..?).... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801343d:	accc 1880 9d59 7c14 68c6 ab8a 98e4 9efa     ....Y..|.h...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801344d:	eedc 8fa4 dd3a 047a 8861 e30b b833 ce1f     ....:.z.a...3... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801345d:	ed57 4bbf a300 7bfb e24f 2a54 749a aa9b     W..K...{O.T*.t.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801346d:	2895 38a4 96ee 59ca 2e07 de8d c157 57ff     .(.8...Y....W..W 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801347d:	88e4 9eaa 9a14 7b67 6146 08b1 c46c f0d5     ......g{Fa..l... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801348d:	134e 9b6e c1f4 6f12 bd03 31a2 d512 035d     N.n....o...1..]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 801349d:	2333 3559 b533 ff56 f93c 5417 58c3 1a63     3#Y53.V.<..T.Xc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80134ad:	0006 a400                                        ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080134b0 <file__success_html>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80134b0:	21a4 0801 2cdf 0801 2cef 0801 03be 0000     .!...,...,...... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80134c0:	0001 0000 4547 2054 002f 4547 2054 752f     ....GET /.GET /u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80134d0:	6c70 616f 2e64 7363 0073 4547 2054 752f     pload.css.GET /u 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80134e0:	6c70 616f 2e64 736a 4700 5445 2f20 6f67     pload.js.GET /go 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80134f0:	6162 6b63 632e 6967 4700 5445 2f20 6166     back.cgi.GET /fa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013500:	6976 6f63 2e6e 6369 006f 692f 646e 7865     vicon.ico./index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013510:	682e 6d74 006c 4f50 5453 2f20 7075 6f6c     .html.POST /uplo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013520:	6461 632e 6967 6600 6c69 6e65 6d61 3d65     ad.cgi.filename= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013530:	2f00 7075 6f6c 6461 682e 6d74 006c 6946     ./upload.html.Fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013540:	656c 203a 7325 0d0a 2500 2064 7962 6574     le: %s...%d byte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013550:	2073 0d0a 2f00 7573 6363 7365 2e73 7468     s .../success.ht 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013560:	6c6d 2f00 7265 6f72 2e72 7468 6c6d 0000     ml./error.html.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+08013570 <file__upload_css>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013570:	34b0 0801 189d 0801 18a9 0801 08e9 0000     .4.............. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013580:	0001 0000 3931 2e32 3631 2e38 3431 342e     ....192.168.14.4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 8013590:	0038 3931 2e32 3631 2e38 3431 312e 6c00     8.192.168.14.1.l 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135a0:	616f 4d64 646f 3a65 2520 0d64 620a 6f6f     oadMode: %d..boo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135b0:	5474 7972 203a 6425 0a0d 5200 6e75 6d20     tTry: %d...Run m 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135c0:	6961 206e 5746 0d0a 0000 0000 0043 0000     ain FW......C... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080135d0 <_init>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135d0:	b5f8      	push	{r3, r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135d2:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135d4:	bcf8      	pop	{r3, r4, r5, r6, r7} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135d6:	bc08      	pop	{r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135d8:	469e      	mov	lr, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135da:	4770      	bx	lr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+080135dc <_fini>: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135dc:	b5f8      	push	{r3, r4, r5, r6, r7, lr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135de:	bf00      	nop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135e0:	bcf8      	pop	{r3, r4, r5, r6, r7} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135e2:	bc08      	pop	{r3} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135e4:	469e      	mov	lr, r3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 80135e6:	4770      	bx	lr 
			 |