Ethernet for Nucleo and Disco board STM32F746 works with gcc and arm. IAC is untested
Fork of F7_Ethernet by
lwip/net/net_decl.h
- Committer:
- TudaPellini
- Date:
- 2017-08-20
- Revision:
- 4:c63cab7b2bda
- Parent:
- 0:d26c1b55cfca
File content as of revision 4:c63cab7b2bda:
// // NET_DECL.H - header file for other ebs header files // // // EBSnet - RTIP // // $Author: YOHANNES $ // $Date: 2007/11/21 12:00:00 $ // $Name: $ // $Revision: 1.1 $ // // Copyright EBSnet Inc. , 2007 // All rights reserved. // This code may not be redistributed in source or linkable object form // without the consent of its author. // // Module description: // // #ifndef _NET_DECL_H_ #define _NET_DECL_H_ #include <tinyhal.h> #include "network_defines.h" #ifdef PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE #define NETWORK_MEMORY_POOL__SIZE PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE #else #define NETWORK_MEMORY_POOL__SIZE NETWORK_MEMORY_POOL__SIZE__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS #define NETWORK_PACKET_POOL_0__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS #else #define NETWORK_PACKET_POOL_0__NUM_PACKETS NETWORK_PACKET_POOL_0__NUM_PACKETS__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS #define NETWORK_PACKET_POOL_1__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS #else #define NETWORK_PACKET_POOL_1__NUM_PACKETS NETWORK_PACKET_POOL_1__NUM_PACKETS__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS #define NETWORK_PACKET_POOL_2__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS #else #define NETWORK_PACKET_POOL_2__NUM_PACKETS NETWORK_PACKET_POOL_2__NUM_PACKETS__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS #define NETWORK_PACKET_POOL_3__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS #else #define NETWORK_PACKET_POOL_3__NUM_PACKETS NETWORK_PACKET_POOL_3__NUM_PACKETS__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS #define NETWORK_PACKET_POOL_4__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS #else #define NETWORK_PACKET_POOL_4__NUM_PACKETS NETWORK_PACKET_POOL_4__NUM_PACKETS__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS #define NETWORK_PACKET_POOL_5__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS #else #define NETWORK_PACKET_POOL_5__NUM_PACKETS NETWORK_PACKET_POOL_5__NUM_PACKETS__default #endif //--// #ifdef PLATFORM_DEPENDENT__NETWORK_NUM_IFACES #define NETWORK_NUM_IFACES PLATFORM_DEPENDENT__NETWORK_NUM_IFACES #else #define NETWORK_NUM_IFACES NETWORK_NUM_IFACES__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES #define NETWORK_NUM_DEVICES PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES #else #define NETWORK_NUM_DEVICES NETWORK_NUM_DEVICES__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE #define NETWORK_MULTICAST_LIST_SIZE PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE #else #define NETWORK_MULTICAST_LIST_SIZE NETWORK_MULTICAST_LIST_SIZE__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE #define NETWORK_ROUTINGTABLE_SIZE PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE #else #define NETWORK_ROUTINGTABLE_SIZE NETWORK_ROUTINGTABLE_SIZE__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES #define NETWORK_ARP_NUM_TABLE_ENTRIES PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES #else #define NETWORK_ARP_NUM_TABLE_ENTRIES NETWORK_ARP_NUM_TABLE_ENTRIES__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE #define NETWORK_FRAG_TABLE_SIZE PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE #else #define NETWORK_FRAG_TABLE_SIZE NETWORK_FRAG_TABLE_SIZE__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES #define NETWORK_NAT_NUM_ENTRIES PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES #else #define NETWORK_NAT_NUM_ENTRIES NETWORK_NAT_NUM_ENTRIES__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED #define NETWORK_TCP_NUM_PORTS__SUPPORTED PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED #else #define NETWORK_TCP_NUM_PORTS__SUPPORTED NETWORK_TCP_NUM_PORTS__SUPPORTED__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED #define NETWORK_UDP_NUM_PORTS__SUPPORTED PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED #else #define NETWORK_UDP_NUM_PORTS__SUPPORTED NETWORK_UDP_NUM_PORTS__SUPPORTED__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_DHCP_RETRIES #define NETWORK_DHCP_RETRIES PLATFORM_DEPENDENT__NETWORK_DHCP_RETRIES #else #define NETWORK_DHCP_RETRIES NETWORK_DHCP_RETRIES__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_DHCP_TIMEOUT #define NETWORK_DHCP_TIMEOUT PLATFORM_DEPENDENT__NETWORK_DHCP_TIMEOUT #else #define NETWORK_DHCP_TIMEOUT NETWORK_DHCP_TIMEOUT__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_IGMPV1_MAX_DELAY #define NETWORK_IGMPV1_MAX_DELAY PLATFORM_DEPENDENT__NETWORK_IGMPV1_MAX_DELAY #else #define NETWORK_IGMPV1_MAX_DELAY NETWORK_IGMPV1_MAX_DELAY__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_REQ_TIMEOUT #define NETWORK_ARP_REQ_TIMEOUT PLATFORM_DEPENDENT__NETWORK_ARP_REQ_TIMEOUT #else #define NETWORK_ARP_REQ_TIMEOUT NETWORK_ARP_REQ_TIMEOUT__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_MAX_RETRIES #define NETWORK_ARP_MAX_RETRIES PLATFORM_DEPENDENT__NETWORK_ARP_MAX_RETRIES #else #define NETWORK_ARP_MAX_RETRIES NETWORK_ARP_MAX_RETRIES__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_RES_TIMEOUT #define NETWORK_ARP_RES_TIMEOUT PLATFORM_DEPENDENT__NETWORK_ARP_RES_TIMEOUT #else #define NETWORK_ARP_RES_TIMEOUT NETWORK_ARP_RES_TIMEOUT__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_MIN_DELAY #define NETWORK_DNS_MIN_DELAY PLATFORM_DEPENDENT__NETWORK_DNS_MIN_DELAY #else #define NETWORK_DNS_MIN_DELAY NETWORK_DNS_MIN_DELAY__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_MAX_DELAY #define NETWORK_DNS_MAX_DELAY PLATFORM_DEPENDENT__NETWORK_DNS_MAX_DELAY #else #define NETWORK_DNS_MAX_DELAY NETWORK_DNS_MAX_DELAY__default #endif #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_RETRIES #define NETWORK_DNS_RETRIES PLATFORM_DEPENDENT__NETWORK_DNS_RETRIES #else #define NETWORK_DNS_RETRIES NETWORK_DNS_RETRIES__default #endif //--// RAM size estimate macro // The following values are from the EBSNet RAM usage spreadsheet #define _NETWORK_SIZEOF_NONE 4 // mclist_ip, mclist_eth, mcast_cnt, report_timer, last_host_toreply #define _NETWORK_SIZEOF_MCLISTSIZE (4*3) #define _NETWORK_SIZEOF_DCU 112 #define _NETWORK_SIZEOF_IFACE (380 + 28 + 84 + 4 + 4 + 16 + 16 + (8 * 8)) #define _NETWORK_SIZEOF_ROUTINGTABLE 56 #define _NETWORK_SIZEOF_ARP_ENTRY 28 #define _NETWORK_SIZEOF_TCPPORT (472 + 16 + (8*8)) #define _NETWORK_SIZEOF_UDPPORT (272 + 16 + (8*8)) #define _NETWORK_SIZEOF_FRAG_ENTRY 20 #define _NETWORK_SIZEOF_NAT_ENTRY 24 #define _NETWORK_SIZEOF_PACKET_OVERHEAD 1 #define _NETWORK_TOTAL_PACKET_COUNT (NETWORK_PACKET_POOL_0__NUM_PACKETS + \ NETWORK_PACKET_POOL_1__NUM_PACKETS + \ NETWORK_PACKET_POOL_2__NUM_PACKETS + \ NETWORK_PACKET_POOL_3__NUM_PACKETS + \ NETWORK_PACKET_POOL_4__NUM_PACKETS + \ NETWORK_PACKET_POOL_5__NUM_PACKETS) #define NETWORK_RAM_SIZE_ESTIMATE() (\ _NETWORK_SIZEOF_NONE + \ NETWORK_MULTICAST_LIST_SIZE * (_NETWORK_SIZEOF_MCLISTSIZE) + \ NETWORK_PACKET_POOL_0__NUM_PACKETS * (NETWORK_PACKET_POOL_0__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ NETWORK_PACKET_POOL_1__NUM_PACKETS * (NETWORK_PACKET_POOL_1__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ NETWORK_PACKET_POOL_2__NUM_PACKETS * (NETWORK_PACKET_POOL_2__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ NETWORK_PACKET_POOL_3__NUM_PACKETS * (NETWORK_PACKET_POOL_3__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ NETWORK_PACKET_POOL_4__NUM_PACKETS * (NETWORK_PACKET_POOL_4__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ NETWORK_PACKET_POOL_5__NUM_PACKETS * (NETWORK_PACKET_POOL_5__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ _NETWORK_TOTAL_PACKET_COUNT * _NETWORK_SIZEOF_PACKET_OVERHEAD + \ NETWORK_NUM_IFACES * _NETWORK_SIZEOF_IFACE + \ NETWORK_ROUTINGTABLE_SIZE * _NETWORK_SIZEOF_ROUTINGTABLE + \ NETWORK_ARP_NUM_TABLE_ENTRIES * _NETWORK_SIZEOF_ARP_ENTRY + \ NETWORK_TCP_NUM_PORTS__SUPPORTED * _NETWORK_SIZEOF_TCPPORT + \ NETWORK_UDP_NUM_PORTS__SUPPORTED * _NETWORK_SIZEOF_UDPPORT + \ NETWORK_FRAG_TABLE_SIZE * _NETWORK_SIZEOF_FRAG_ENTRY + \ NETWORK_NAT_NUM_ENTRIES * _NETWORK_SIZEOF_NAT_ENTRY ) \ typedef char NETWORK_COMPILE_TIME_ASSERT[NETWORK_MEMORY_POOL__SIZE - NETWORK_RAM_SIZE_ESTIMATE()]; #endif //_NET_DECL_H_