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
net_decl.h
00001 // 00002 // NET_DECL.H - header file for other ebs header files 00003 // 00004 // 00005 // EBSnet - RTIP 00006 // 00007 // $Author: YOHANNES $ 00008 // $Date: 2007/11/21 12:00:00 $ 00009 // $Name: $ 00010 // $Revision: 1.1 $ 00011 // 00012 // Copyright EBSnet Inc. , 2007 00013 // All rights reserved. 00014 // This code may not be redistributed in source or linkable object form 00015 // without the consent of its author. 00016 // 00017 // Module description: 00018 // 00019 // 00020 00021 #ifndef _NET_DECL_H_ 00022 #define _NET_DECL_H_ 00023 00024 #include <tinyhal.h> 00025 #include "network_defines.h" 00026 00027 #ifdef PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE 00028 #define NETWORK_MEMORY_POOL__SIZE PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE 00029 #else 00030 #define NETWORK_MEMORY_POOL__SIZE NETWORK_MEMORY_POOL__SIZE__default 00031 #endif 00032 00033 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS 00034 #define NETWORK_PACKET_POOL_0__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS 00035 #else 00036 #define NETWORK_PACKET_POOL_0__NUM_PACKETS NETWORK_PACKET_POOL_0__NUM_PACKETS__default 00037 #endif 00038 00039 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS 00040 #define NETWORK_PACKET_POOL_1__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS 00041 #else 00042 #define NETWORK_PACKET_POOL_1__NUM_PACKETS NETWORK_PACKET_POOL_1__NUM_PACKETS__default 00043 #endif 00044 00045 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS 00046 #define NETWORK_PACKET_POOL_2__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS 00047 #else 00048 #define NETWORK_PACKET_POOL_2__NUM_PACKETS NETWORK_PACKET_POOL_2__NUM_PACKETS__default 00049 #endif 00050 00051 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS 00052 #define NETWORK_PACKET_POOL_3__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS 00053 #else 00054 #define NETWORK_PACKET_POOL_3__NUM_PACKETS NETWORK_PACKET_POOL_3__NUM_PACKETS__default 00055 #endif 00056 00057 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS 00058 #define NETWORK_PACKET_POOL_4__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS 00059 #else 00060 #define NETWORK_PACKET_POOL_4__NUM_PACKETS NETWORK_PACKET_POOL_4__NUM_PACKETS__default 00061 #endif 00062 00063 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS 00064 #define NETWORK_PACKET_POOL_5__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS 00065 #else 00066 #define NETWORK_PACKET_POOL_5__NUM_PACKETS NETWORK_PACKET_POOL_5__NUM_PACKETS__default 00067 #endif 00068 00069 //--// 00070 00071 #ifdef PLATFORM_DEPENDENT__NETWORK_NUM_IFACES 00072 #define NETWORK_NUM_IFACES PLATFORM_DEPENDENT__NETWORK_NUM_IFACES 00073 #else 00074 #define NETWORK_NUM_IFACES NETWORK_NUM_IFACES__default 00075 #endif 00076 00077 #ifdef PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES 00078 #define NETWORK_NUM_DEVICES PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES 00079 #else 00080 #define NETWORK_NUM_DEVICES NETWORK_NUM_DEVICES__default 00081 #endif 00082 00083 #ifdef PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE 00084 #define NETWORK_MULTICAST_LIST_SIZE PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE 00085 #else 00086 #define NETWORK_MULTICAST_LIST_SIZE NETWORK_MULTICAST_LIST_SIZE__default 00087 #endif 00088 00089 #ifdef PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE 00090 #define NETWORK_ROUTINGTABLE_SIZE PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE 00091 #else 00092 #define NETWORK_ROUTINGTABLE_SIZE NETWORK_ROUTINGTABLE_SIZE__default 00093 #endif 00094 00095 #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES 00096 #define NETWORK_ARP_NUM_TABLE_ENTRIES PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES 00097 #else 00098 #define NETWORK_ARP_NUM_TABLE_ENTRIES NETWORK_ARP_NUM_TABLE_ENTRIES__default 00099 #endif 00100 00101 #ifdef PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE 00102 #define NETWORK_FRAG_TABLE_SIZE PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE 00103 #else 00104 #define NETWORK_FRAG_TABLE_SIZE NETWORK_FRAG_TABLE_SIZE__default 00105 #endif 00106 00107 #ifdef PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES 00108 #define NETWORK_NAT_NUM_ENTRIES PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES 00109 #else 00110 #define NETWORK_NAT_NUM_ENTRIES NETWORK_NAT_NUM_ENTRIES__default 00111 #endif 00112 00113 #ifdef PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED 00114 #define NETWORK_TCP_NUM_PORTS__SUPPORTED PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED 00115 #else 00116 #define NETWORK_TCP_NUM_PORTS__SUPPORTED NETWORK_TCP_NUM_PORTS__SUPPORTED__default 00117 #endif 00118 00119 #ifdef PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED 00120 #define NETWORK_UDP_NUM_PORTS__SUPPORTED PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED 00121 #else 00122 #define NETWORK_UDP_NUM_PORTS__SUPPORTED NETWORK_UDP_NUM_PORTS__SUPPORTED__default 00123 #endif 00124 00125 #ifdef PLATFORM_DEPENDENT__NETWORK_DHCP_RETRIES 00126 #define NETWORK_DHCP_RETRIES PLATFORM_DEPENDENT__NETWORK_DHCP_RETRIES 00127 #else 00128 #define NETWORK_DHCP_RETRIES NETWORK_DHCP_RETRIES__default 00129 #endif 00130 00131 #ifdef PLATFORM_DEPENDENT__NETWORK_DHCP_TIMEOUT 00132 #define NETWORK_DHCP_TIMEOUT PLATFORM_DEPENDENT__NETWORK_DHCP_TIMEOUT 00133 #else 00134 #define NETWORK_DHCP_TIMEOUT NETWORK_DHCP_TIMEOUT__default 00135 #endif 00136 00137 #ifdef PLATFORM_DEPENDENT__NETWORK_IGMPV1_MAX_DELAY 00138 #define NETWORK_IGMPV1_MAX_DELAY PLATFORM_DEPENDENT__NETWORK_IGMPV1_MAX_DELAY 00139 #else 00140 #define NETWORK_IGMPV1_MAX_DELAY NETWORK_IGMPV1_MAX_DELAY__default 00141 #endif 00142 00143 #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_REQ_TIMEOUT 00144 #define NETWORK_ARP_REQ_TIMEOUT PLATFORM_DEPENDENT__NETWORK_ARP_REQ_TIMEOUT 00145 #else 00146 #define NETWORK_ARP_REQ_TIMEOUT NETWORK_ARP_REQ_TIMEOUT__default 00147 #endif 00148 00149 #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_MAX_RETRIES 00150 #define NETWORK_ARP_MAX_RETRIES PLATFORM_DEPENDENT__NETWORK_ARP_MAX_RETRIES 00151 #else 00152 #define NETWORK_ARP_MAX_RETRIES NETWORK_ARP_MAX_RETRIES__default 00153 #endif 00154 00155 #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_RES_TIMEOUT 00156 #define NETWORK_ARP_RES_TIMEOUT PLATFORM_DEPENDENT__NETWORK_ARP_RES_TIMEOUT 00157 #else 00158 #define NETWORK_ARP_RES_TIMEOUT NETWORK_ARP_RES_TIMEOUT__default 00159 #endif 00160 00161 #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_MIN_DELAY 00162 #define NETWORK_DNS_MIN_DELAY PLATFORM_DEPENDENT__NETWORK_DNS_MIN_DELAY 00163 #else 00164 #define NETWORK_DNS_MIN_DELAY NETWORK_DNS_MIN_DELAY__default 00165 #endif 00166 00167 #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_MAX_DELAY 00168 #define NETWORK_DNS_MAX_DELAY PLATFORM_DEPENDENT__NETWORK_DNS_MAX_DELAY 00169 #else 00170 #define NETWORK_DNS_MAX_DELAY NETWORK_DNS_MAX_DELAY__default 00171 #endif 00172 00173 #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_RETRIES 00174 #define NETWORK_DNS_RETRIES PLATFORM_DEPENDENT__NETWORK_DNS_RETRIES 00175 #else 00176 #define NETWORK_DNS_RETRIES NETWORK_DNS_RETRIES__default 00177 #endif 00178 00179 //--// RAM size estimate macro 00180 00181 // The following values are from the EBSNet RAM usage spreadsheet 00182 #define _NETWORK_SIZEOF_NONE 4 00183 // mclist_ip, mclist_eth, mcast_cnt, report_timer, last_host_toreply 00184 #define _NETWORK_SIZEOF_MCLISTSIZE (4*3) 00185 #define _NETWORK_SIZEOF_DCU 112 00186 #define _NETWORK_SIZEOF_IFACE (380 + 28 + 84 + 4 + 4 + 16 + 16 + (8 * 8)) 00187 #define _NETWORK_SIZEOF_ROUTINGTABLE 56 00188 #define _NETWORK_SIZEOF_ARP_ENTRY 28 00189 #define _NETWORK_SIZEOF_TCPPORT (472 + 16 + (8*8)) 00190 #define _NETWORK_SIZEOF_UDPPORT (272 + 16 + (8*8)) 00191 #define _NETWORK_SIZEOF_FRAG_ENTRY 20 00192 #define _NETWORK_SIZEOF_NAT_ENTRY 24 00193 #define _NETWORK_SIZEOF_PACKET_OVERHEAD 1 00194 00195 #define _NETWORK_TOTAL_PACKET_COUNT (NETWORK_PACKET_POOL_0__NUM_PACKETS + \ 00196 NETWORK_PACKET_POOL_1__NUM_PACKETS + \ 00197 NETWORK_PACKET_POOL_2__NUM_PACKETS + \ 00198 NETWORK_PACKET_POOL_3__NUM_PACKETS + \ 00199 NETWORK_PACKET_POOL_4__NUM_PACKETS + \ 00200 NETWORK_PACKET_POOL_5__NUM_PACKETS) 00201 00202 00203 #define NETWORK_RAM_SIZE_ESTIMATE() (\ 00204 _NETWORK_SIZEOF_NONE + \ 00205 NETWORK_MULTICAST_LIST_SIZE * (_NETWORK_SIZEOF_MCLISTSIZE) + \ 00206 NETWORK_PACKET_POOL_0__NUM_PACKETS * (NETWORK_PACKET_POOL_0__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00207 NETWORK_PACKET_POOL_1__NUM_PACKETS * (NETWORK_PACKET_POOL_1__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00208 NETWORK_PACKET_POOL_2__NUM_PACKETS * (NETWORK_PACKET_POOL_2__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00209 NETWORK_PACKET_POOL_3__NUM_PACKETS * (NETWORK_PACKET_POOL_3__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00210 NETWORK_PACKET_POOL_4__NUM_PACKETS * (NETWORK_PACKET_POOL_4__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00211 NETWORK_PACKET_POOL_5__NUM_PACKETS * (NETWORK_PACKET_POOL_5__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00212 _NETWORK_TOTAL_PACKET_COUNT * _NETWORK_SIZEOF_PACKET_OVERHEAD + \ 00213 NETWORK_NUM_IFACES * _NETWORK_SIZEOF_IFACE + \ 00214 NETWORK_ROUTINGTABLE_SIZE * _NETWORK_SIZEOF_ROUTINGTABLE + \ 00215 NETWORK_ARP_NUM_TABLE_ENTRIES * _NETWORK_SIZEOF_ARP_ENTRY + \ 00216 NETWORK_TCP_NUM_PORTS__SUPPORTED * _NETWORK_SIZEOF_TCPPORT + \ 00217 NETWORK_UDP_NUM_PORTS__SUPPORTED * _NETWORK_SIZEOF_UDPPORT + \ 00218 NETWORK_FRAG_TABLE_SIZE * _NETWORK_SIZEOF_FRAG_ENTRY + \ 00219 NETWORK_NAT_NUM_ENTRIES * _NETWORK_SIZEOF_NAT_ENTRY ) \ 00220 00221 00222 typedef char NETWORK_COMPILE_TIME_ASSERT[NETWORK_MEMORY_POOL__SIZE - NETWORK_RAM_SIZE_ESTIMATE()]; 00223 00224 00225 #endif //_NET_DECL_H_ 00226
Generated on Tue Jul 12 2022 18:14:54 by 1.7.2