Total RO Size (Code + RO Data) 56192 ( 54.88kB)
Total RW Size (RW Data + ZI Data) 305816 ( 298.65kB)
Total ROM Size (Code + RO Data + RW Data) 56228 ( 54.91kB)
netif 0x20004360 Data 48 netconf.o(.bss)
RS232_send_data 0x20004390 Data 1024 dma.o(.bss)
DMA_InitStructureTX 0x20004790 Data 60 dma.o(.bss)
RS232_buff 0x200047cc Data 1024 sci.o(.bss)
ip_data 0x20004bcc Data 24 ip.o(.bss)
ram_heap 0x20004be4 Data 10252 mem.o(.bss)
memp_memory_UDP_PCB_base 0x200073f0 Data 128 memp.o(.bss)
memp_memory_TCP_PCB_base 0x2000747a Data 840 memp.o(.bss)
memp_memory_TCP_PCB_LISTEN_base 0x200077cc Data 224 memp.o(.bss)
memp_memory_TCP_SEG_base 0x200078b6 Data 640 memp.o(.bss)
memp_memory_REASSDATA_base 0x20007b40 Data 160 memp.o(.bss)
memp_memory_FRAG_PBUF_base 0x20007bea Data 360 memp.o(.bss)
memp_memory_PBUF_base 0x20007d5c Data 256 memp.o(.bss)
memp_memory_PBUF_POOL_base 0x20007e66 Data 242400 memp.o(.bss)
lwip_stats 0x20043150 Data 212 stats.o(.bss)
DMARxDscrTab 0x20043334 Data 128 stm32f4x7_eth.o(.bss)
DMATxDscrTab 0x200433b4 Data 64 stm32f4x7_eth.o(.bss)
Rx_Buff 0x200433f4 Data 6096 stm32f4x7_eth.o(.bss)
Tx_Buff 0x20044bc4 Data 3048 stm32f4x7_eth.o(.bss)
RX_Frame_Descriptor 0x200457ac Data 12 stm32f4x7_eth.o(.bss)
OSEventTbl 0x200457b8 Data 4200 os_core.o(.bss)
OSFlagTbl 0x20046820 Data 80 os_core.o(.bss)
OSTaskStatStk 0x20046870 Data 512 os_core.o(.bss)
OSTaskIdleStk 0x20046a70 Data 512 os_core.o(.bss)
OSTCBPrioTbl 0x20046c70 Data 256 os_core.o(.bss)
OSTCBTbl 0x20046d70 Data 1936 os_core.o(.bss)
OSMemTbl 0x20047500 Data 120 os_core.o(.bss)
OSQTbl 0x20047578 Data 96 os_core.o(.bss)
OSTmrTbl 0x200475d8 Data 640 os_core.o(.bss)
OSTmrTaskStk 0x20047858 Data 512 os_core.o(.bss)
OSTmrWheelTbl 0x20047a58 Data 64 os_core.o(.bss)
OS_CPU_ExceptStk 0x20047a98 Data 4096 os_cpu_c.o(.bss)
__initial_sp 0x2004aa98 Data 0 startup_stm32f4xx.o(STACK)
/* Prevent having to link sys_arch.c (we don't test the API layers in unit tests) */
#define NO_SYS 1
#define LWIP_NETCONN 0
#define LWIP_SOCKET 0
#define SYS_LIGHTWEIGHT_PROT 0
我找出来是RAM不够,有几个变量很大:
==============================================================================
Total RO Size (Code + RO Data) 56192 ( 54.88kB)
Total RW Size (RW Data + ZI Data) 305816 ( 298.65kB)
Total ROM Size (Code + RO Data + RW Data) 56228 ( 54.91kB)
==============================================================================
netif 0x20004360 Data 48 netconf.o(.bss)
RS232_send_data 0x20004390 Data 1024 dma.o(.bss)
DMA_InitStructureTX 0x20004790 Data 60 dma.o(.bss)
RS232_buff 0x200047cc Data 1024 sci.o(.bss)
ip_data 0x20004bcc Data 24 ip.o(.bss)
ram_heap 0x20004be4 Data 10252 mem.o(.bss)
memp_memory_UDP_PCB_base 0x200073f0 Data 128 memp.o(.bss)
memp_memory_TCP_PCB_base 0x2000747a Data 840 memp.o(.bss)
memp_memory_TCP_PCB_LISTEN_base 0x200077cc Data 224 memp.o(.bss)
memp_memory_TCP_SEG_base 0x200078b6 Data 640 memp.o(.bss)
memp_memory_REASSDATA_base 0x20007b40 Data 160 memp.o(.bss)
memp_memory_FRAG_PBUF_base 0x20007bea Data 360 memp.o(.bss)
memp_memory_PBUF_base 0x20007d5c Data 256 memp.o(.bss)
memp_memory_PBUF_POOL_base 0x20007e66 Data 242400 memp.o(.bss)
lwip_stats 0x20043150 Data 212 stats.o(.bss)
DMARxDscrTab 0x20043334 Data 128 stm32f4x7_eth.o(.bss)
DMATxDscrTab 0x200433b4 Data 64 stm32f4x7_eth.o(.bss)
Rx_Buff 0x200433f4 Data 6096 stm32f4x7_eth.o(.bss)
Tx_Buff 0x20044bc4 Data 3048 stm32f4x7_eth.o(.bss)
RX_Frame_Descriptor 0x200457ac Data 12 stm32f4x7_eth.o(.bss)
OSEventTbl 0x200457b8 Data 4200 os_core.o(.bss)
OSFlagTbl 0x20046820 Data 80 os_core.o(.bss)
OSTaskStatStk 0x20046870 Data 512 os_core.o(.bss)
OSTaskIdleStk 0x20046a70 Data 512 os_core.o(.bss)
OSTCBPrioTbl 0x20046c70 Data 256 os_core.o(.bss)
OSTCBTbl 0x20046d70 Data 1936 os_core.o(.bss)
OSMemTbl 0x20047500 Data 120 os_core.o(.bss)
OSQTbl 0x20047578 Data 96 os_core.o(.bss)
OSTmrTbl 0x200475d8 Data 640 os_core.o(.bss)
OSTmrTaskStk 0x20047858 Data 512 os_core.o(.bss)
OSTmrWheelTbl 0x20047a58 Data 64 os_core.o(.bss)
OS_CPU_ExceptStk 0x20047a98 Data 4096 os_cpu_c.o(.bss)
__initial_sp 0x2004aa98 Data 0 startup_stm32f4xx.o(STACK)
PBUF的大小定义了多大?
#ifndef LWIP_HDR_LWIPOPTS_H__
#define LWIP_HDR_LWIPOPTS_H__
/* Prevent having to link sys_arch.c (we don't test the API layers in unit tests) */
#define NO_SYS 1
#define LWIP_NETCONN 0
#define LWIP_SOCKET 0
#define SYS_LIGHTWEIGHT_PROT 0
#define LWIP_IPV6 0
#define IPV6_FRAG_COPYHEADER 0
#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 0
/* Enable DHCP to test it */
#define LWIP_DHCP 0
/* Turn off checksum verification of fuzzed data */
#define CHECKSUM_CHECK_IP 0
#define CHECKSUM_CHECK_UDP 0
#define CHECKSUM_CHECK_TCP 0
#define CHECKSUM_CHECK_ICMP 0
#define CHECKSUM_CHECK_ICMP6 0
/* Minimal changes to opt.h required for tcp unit tests: */
#define MEM_SIZE 1600
#define TCP_SND_QUEUELEN 40
#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN
#define TCP_SND_BUF (12 * TCP_MSS)
#define TCP_WND (10 * TCP_MSS)
#define LWIP_WND_SCALE 1
#define TCP_RCV_SCALE 0
#define PBUF_POOL_SIZE 20 /* pbuf tests need ~200KByte */
#define PBUF_POOL_BUFSIZE 128
/* Minimal changes to opt.h required for etharp unit tests: */
#define ETHARP_SUPPORT_STATIC_ENTRIES 1
#define LWIP_DISABLE_TCP_SANITY_CHECKS 1
#endif /* LWIP_HDR_LWIPOPTS_H__ */
减少了很多, 它默认是 PBUF_POOL_SIZE 400
MEM_SIZE 16000
这样还是太大,还得减小
。。。不太像,memp_memory_PBUF_POOL_base 一个干了242400 字节 。。。
一周热门 更多>