A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.

Dependents:   oldheating gps motorhome heating

Revision:
70:74c11fb71a15
Parent:
59:e0e556c8bd46
Child:
136:8a65abb0dc63
--- a/link/nicdefs.h	Wed Jan 31 19:35:34 2018 +0000
+++ b/link/nicdefs.h	Fri Feb 16 17:31:52 2018 +0000
@@ -22,6 +22,43 @@
 };
 typedef struct TX_STAT_TypeDef TX_STAT_TypeDef;
 
+//Registers
+#define MAC1                 (*((volatile unsigned *) 0x50000000))
+#define MAC2                 (*((volatile unsigned *) 0x50000004))
+#define IPGT                 (*((volatile unsigned *) 0x50000008))
+#define IPGR                 (*((volatile unsigned *) 0x5000000C))
+#define CLRT                 (*((volatile unsigned *) 0x50000010))
+#define MAXF                 (*((volatile unsigned *) 0x50000014))
+#define SUPP                 (*((volatile unsigned *) 0x50000018))
+#define MCFG                 (*((volatile unsigned *) 0x50000020))
+#define MCMD                 (*((volatile unsigned *) 0x50000024))
+#define MADR                 (*((volatile unsigned *) 0x50000028))
+#define MWTD                 (*((volatile unsigned *) 0x5000002C))
+#define MRDD                 (*((volatile unsigned *) 0x50000030))
+#define MIND                 (*((volatile unsigned *) 0x50000034))
+#define SA0                  (*((volatile unsigned *) 0x50000040))
+#define SA1                  (*((volatile unsigned *) 0x50000044))
+#define SA2                  (*((volatile unsigned *) 0x50000048))
+
+#define COMMAND              (*((volatile unsigned *) 0x50000100))
+#define STATUS               (*((volatile unsigned *) 0x50000104))
+
+#define RX_DESCRIPTOR        (*((volatile unsigned *) 0x50000108))
+#define RX_STATUS            (*((volatile unsigned *) 0x5000010C))
+#define RX_DESCRIPTOR_NUMBER (*((volatile unsigned *) 0x50000110))
+#define RX_PRODUCE_INDEX     (*((volatile unsigned *) 0x50000114))
+#define RX_CONSUME_INDEX     (*((volatile unsigned *) 0x50000118))
+
+#define TX_DESCRIPTOR        (*((volatile unsigned *) 0x5000011C))
+#define TX_STATUS            (*((volatile unsigned *) 0x50000120))
+#define TX_DESCRIPTOR_NUMBER (*((volatile unsigned *) 0x50000124))
+#define TX_PRODUCE_INDEX     (*((volatile unsigned *) 0x50000128))
+#define TX_CONSUME_INDEX     (*((volatile unsigned *) 0x5000012C))
+
+#define RX_FILTER_CTRL       (*((volatile unsigned *) 0x50000200))
+#define INT_ENABLE           (*((volatile unsigned *) 0x50000FE4))
+#define INT_CLEAR            (*((volatile unsigned *) 0x50000FE8))
+
 /* MAC Configuration Register 1 */
 #define MAC1_REC_EN         0x00000001  /* Receive Enable                    */
 #define MAC1_PASS_ALL       0x00000002  /* Pass All Receive Frames           */