Ethernet for Nucleo and Disco board STM32F746 works with gcc and arm. IAC is untested

Dependents:   STM32F746_iothub_client_sample_mqtt DISCO-F746NG_Ethernet Nucleo_F746ZG_Ethernet thethingsiO-DISCO_F746NG-mqtt ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Network_defines.h Source File

Network_defines.h

00001 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
00002 // Copyright (c) Microsoft Corporation.  All rights reserved.
00003 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
00004 
00005 #ifndef _DRIVERS_NETWORK_DEFINES_H_
00006 #define _DRIVERS_NETWORK_DEFINES_H_ 1
00007 
00008 #define NETWORK_MAX_PACKETSIZE      1514
00009 
00010 //--//  The Number of packet buffer pools. Each packet buffer pool
00011 //--//  contains one or more packet buffers of the same size.
00012 
00013 #define NETWORK_MEMORY_POOL_SSL_SIZE__min                 ( 64*1024)
00014 #define NETWORK_MEMORY_POOL_SSL_SIZE__default             (128*1024)
00015 #define NETWORK_MEMORY_POOL_SSL_SIZE__max                 (256*1024)
00016 
00017 #if defined(NETWORK_MEMORY_POOL__INCLUDE_SSL)
00018 #define NETWORK_MEMORY_POOL_SSL_SIZE 1
00019 #else
00020 #define NETWORK_MEMORY_POOL_SSL_SIZE 0
00021 #endif
00022 
00023 #define NETWORK_MEMORY_POOL__SIZE__min                     (( 32*1024) + (NETWORK_MEMORY_POOL_SSL_SIZE * NETWORK_MEMORY_POOL_SSL_SIZE__min))
00024 #define NETWORK_MEMORY_POOL__SIZE__default                 ((128*1024) + (NETWORK_MEMORY_POOL_SSL_SIZE * NETWORK_MEMORY_POOL_SSL_SIZE__default))
00025 #define NETWORK_MEMORY_POOL__SIZE__max                     ((256*1024) + (NETWORK_MEMORY_POOL_SSL_SIZE * NETWORK_MEMORY_POOL_SSL_SIZE__max))
00026 
00027 #define NETWORK_PACKET_POOL_0__NUM_PACKETS__min            5
00028 #define NETWORK_PACKET_POOL_0__NUM_PACKETS__default        10
00029 #define NETWORK_PACKET_POOL_0__NUM_PACKETS__max            20
00030 #define NETWORK_PACKET_POOL_0__PACKET_SIZE                 128
00031 
00032 #define NETWORK_PACKET_POOL_1__NUM_PACKETS__min            5
00033 #define NETWORK_PACKET_POOL_1__NUM_PACKETS__default        20
00034 #define NETWORK_PACKET_POOL_1__NUM_PACKETS__max            30
00035 #define NETWORK_PACKET_POOL_1__PACKET_SIZE                 256
00036 
00037 #define NETWORK_PACKET_POOL_2__NUM_PACKETS__min            5
00038 #define NETWORK_PACKET_POOL_2__NUM_PACKETS__default        10
00039 #define NETWORK_PACKET_POOL_2__NUM_PACKETS__max            30
00040 #define NETWORK_PACKET_POOL_2__PACKET_SIZE                 512
00041 
00042 #define NETWORK_PACKET_POOL_3__NUM_PACKETS__min            4
00043 #define NETWORK_PACKET_POOL_3__NUM_PACKETS__default        18
00044 #define NETWORK_PACKET_POOL_3__NUM_PACKETS__max            30
00045 #define NETWORK_PACKET_POOL_3__PACKET_SIZE                 1514
00046 
00047 #define NETWORK_PACKET_POOL_4__NUM_PACKETS__min            4
00048 #define NETWORK_PACKET_POOL_4__NUM_PACKETS__default        15
00049 #define NETWORK_PACKET_POOL_4__NUM_PACKETS__max            40
00050 #define NETWORK_PACKET_POOL_4__PACKET_SIZE                 1514
00051 
00052 #define NETWORK_PACKET_POOL_5__NUM_PACKETS__min            0
00053 #define NETWORK_PACKET_POOL_5__NUM_PACKETS__default        0
00054 #define NETWORK_PACKET_POOL_5__NUM_PACKETS__max            40
00055 #define NETWORK_PACKET_POOL_5__PACKET_SIZE                 0
00056 
00057 //--//
00058 
00059 #define NETWORK_NUM_IFACES__min                           1
00060 #define NETWORK_NUM_IFACES__default                       1  // loopback is added if NETWORK_USE_LOOPBACK is defined
00061 #define NETWORK_NUM_IFACES__max                           4
00062 
00063 #define NETWORK_NUM_DEVICES__min                          2   // TODO: WHY ISNT THIS IN THE EBSNET SPREADSHEET?
00064 #define NETWORK_NUM_DEVICES__default                      4 
00065 #define NETWORK_NUM_DEVICES__max                          10
00066 
00067 #define NETWORK_MULTICAST_LIST_SIZE__min                  2
00068 #define NETWORK_MULTICAST_LIST_SIZE__default              5
00069 #define NETWORK_MULTICAST_LIST_SIZE__max                  20
00070 
00071 #define NETWORK_ROUTINGTABLE_SIZE__min                    5
00072 #define NETWORK_ROUTINGTABLE_SIZE__default                10
00073 #define NETWORK_ROUTINGTABLE_SIZE__max                    50
00074 
00075 #define NETWORK_ARP_NUM_TABLE_ENTRIES__min                3  
00076 #define NETWORK_ARP_NUM_TABLE_ENTRIES__default            5  //CFG_ARPCLEN
00077 #define NETWORK_ARP_NUM_TABLE_ENTRIES__max                50
00078 
00079 #define NETWORK_FRAG_TABLE_SIZE__min                      2
00080 #define NETWORK_FRAG_TABLE_SIZE__default                  6
00081 #define NETWORK_FRAG_TABLE_SIZE__max                      10
00082 
00083 #define NETWORK_NAT_NUM_ENTRIES__min                      5
00084 #define NETWORK_NAT_NUM_ENTRIES__default                  25
00085 #define NETWORK_NAT_NUM_ENTRIES__max                      40
00086 
00087 #define NETWORK_TCP_NUM_PORTS__SUPPORTED__min             16
00088 #define NETWORK_TCP_NUM_PORTS__SUPPORTED__default         64
00089 #define NETWORK_TCP_NUM_PORTS__SUPPORTED__max             128
00090 
00091 #define NETWORK_UDP_NUM_PORTS__SUPPORTED__min             6
00092 #define NETWORK_UDP_NUM_PORTS__SUPPORTED__default         64
00093 #define NETWORK_UDP_NUM_PORTS__SUPPORTED__max             128
00094 
00095 
00096 //--//  Configurable timeout parameters
00097 
00098 #define NETWORK_DHCP_RETRIES__default                     5
00099 #define NETWORK_DHCP_TIMEOUT__default                     8
00100 
00101 #define NETWORK_IGMPV1_MAX_DELAY__default                 10
00102 
00103 #define NETWORK_ARP_REQ_TIMEOUT__default                  2
00104 #define NETWORK_ARP_MAX_RETRIES__default                  4
00105 #define NETWORK_ARP_RES_TIMEOUT__default                  600
00106 
00107 #define NETWORK_DNS_MIN_DELAY__default                    2
00108 #define NETWORK_DNS_MAX_DELAY__default                    2
00109 #define NETWORK_DNS_RETRIES__default                      2
00110 
00111 
00112 //--// RAM Profiles
00113 
00114 #ifdef NETWORK_MEMORY_PROFILE__small
00115     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS   NETWORK_PACKET_POOL_0__NUM_PACKETS__min 
00116     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS   NETWORK_PACKET_POOL_1__NUM_PACKETS__min 
00117     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS   NETWORK_PACKET_POOL_2__NUM_PACKETS__min 
00118     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS   NETWORK_PACKET_POOL_3__NUM_PACKETS__min 
00119     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS   NETWORK_PACKET_POOL_4__NUM_PACKETS__min 
00120     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS   NETWORK_PACKET_POOL_5__NUM_PACKETS__min 
00121     #define PLATFORM_DEPENDENT__NETWORK_NUM_IFACES                   NETWORK_NUM_IFACES__min                 
00122     #define PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES                  NETWORK_NUM_DEVICES__min                
00123     #define PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE          NETWORK_MULTICAST_LIST_SIZE__min        
00124     #define PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE            NETWORK_ROUTINGTABLE_SIZE__min          
00125     #define PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES        NETWORK_ARP_NUM_TABLE_ENTRIES__min      
00126     #define PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE              NETWORK_FRAG_TABLE_SIZE__min            
00127     #define PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES              NETWORK_NAT_NUM_ENTRIES__min            
00128     #define PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED     NETWORK_TCP_NUM_PORTS__SUPPORTED__min   
00129     #define PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED     NETWORK_UDP_NUM_PORTS__SUPPORTED__min   
00130     #define PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE            NETWORK_MEMORY_POOL__SIZE__min
00131     #define PLATFORM_DEPENDENT__SOCKETS_MAX_COUNT                    (PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED + PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED)                                     
00132 #endif        
00133 
00134 #ifdef NETWORK_MEMORY_PROFILE__medium
00135     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS   NETWORK_PACKET_POOL_0__NUM_PACKETS__default 
00136     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS   NETWORK_PACKET_POOL_1__NUM_PACKETS__default 
00137     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS   NETWORK_PACKET_POOL_2__NUM_PACKETS__default 
00138     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS   NETWORK_PACKET_POOL_3__NUM_PACKETS__default 
00139     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS   NETWORK_PACKET_POOL_4__NUM_PACKETS__default 
00140     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS   NETWORK_PACKET_POOL_5__NUM_PACKETS__default 
00141     #define PLATFORM_DEPENDENT__NETWORK_NUM_IFACES                   NETWORK_NUM_IFACES__default             
00142     #define PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES                  NETWORK_NUM_DEVICES__default            
00143     #define PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE          NETWORK_MULTICAST_LIST_SIZE__default    
00144     #define PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE            NETWORK_ROUTINGTABLE_SIZE__default      
00145     #define PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES        NETWORK_ARP_NUM_TABLE_ENTRIES__default  
00146     #define PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE              NETWORK_FRAG_TABLE_SIZE__default        
00147     #define PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES              NETWORK_NAT_NUM_ENTRIES__default        
00148     #define PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED     NETWORK_TCP_NUM_PORTS__SUPPORTED__default 
00149     #define PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED     NETWORK_UDP_NUM_PORTS__SUPPORTED__default 
00150     #define PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE            NETWORK_MEMORY_POOL__SIZE__default
00151     #define PLATFORM_DEPENDENT__SOCKETS_MAX_COUNT                    (PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED + PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED)                                      
00152 #endif
00153 
00154 #ifdef NETWORK_MEMORY_PROFILE__large
00155     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS   NETWORK_PACKET_POOL_0__NUM_PACKETS__max 
00156     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS   NETWORK_PACKET_POOL_1__NUM_PACKETS__max 
00157     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS   NETWORK_PACKET_POOL_2__NUM_PACKETS__max 
00158     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS   NETWORK_PACKET_POOL_3__NUM_PACKETS__max 
00159     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS   NETWORK_PACKET_POOL_4__NUM_PACKETS__max 
00160     #define PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS   NETWORK_PACKET_POOL_5__NUM_PACKETS__max 
00161     #define PLATFORM_DEPENDENT__NETWORK_NUM_IFACES                   NETWORK_NUM_IFACES__max                 
00162     #define PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES                  NETWORK_NUM_DEVICES__max                
00163     #define PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE          NETWORK_MULTICAST_LIST_SIZE__max        
00164     #define PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE            NETWORK_ROUTINGTABLE_SIZE__max          
00165     #define PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES        NETWORK_ARP_NUM_TABLE_ENTRIES__max      
00166     #define PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE              NETWORK_FRAG_TABLE_SIZE__max            
00167     #define PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES              NETWORK_NAT_NUM_ENTRIES__max            
00168     #define PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED     NETWORK_TCP_NUM_PORTS__SUPPORTED__max   
00169     #define PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED     NETWORK_UDP_NUM_PORTS__SUPPORTED__max   
00170     #define PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE            NETWORK_MEMORY_POOL__SIZE__max
00171     #define PLATFORM_DEPENDENT__SOCKETS_MAX_COUNT                    (PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED + PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED)
00172 #endif      
00173 
00174 #endif // _DRIVERS_NETWORK_DEFINES_H_
00175