Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A sample Ethernet interface API structure is shown below. 

Code Block

const  NET_DEV_API_ETHER  NetDev_API_<controler> = { NetDev_Init,                (1)
                                                     NetDev_Start,               (2)
                                                     NetDev_Stop,                (3)
                                                     NetDev_Rx,                  (4)
                                                     NetDev_Tx,                  (5)
                                                     NetDev_AddrMulticastAdd,    (6)
                                                     NetDev_AddrMulticastRemove, (7)
                                                     NetDev_ISR_Handler,         (8)
                                                     NetDev_IO_Ctrl,             (9)
                                                     NetDev_MII_Rd,             (10)
                                                     NetDev_MII_Wr              (11)
                                                    };


Panel
bgColor#f0f0f0

(1) Device initialization/add function pointer

(2) Device start function pointer

(3) Device stop function pointer

(4) Device Receive function pointer

(5) Device transmit function pointer

(6) Device multicast address add function pointer

(7) Device multicast address remove function pointer

(8) Device interrupt service routine (ISR) handler function pointer

(9) Device I/O control function pointer

(10) Physical layer (PHY) register read function pointer

(11) Physical layer (PHY) register write function pointer


It is the device driver developers’ responsibility to ensure that all of the functions listed within the API are properly implemented and that the order of the functions within the API structure is correct.

...

The following figure describes the call path from the application layer through the Core, Interface and Controller layers.

Image Removed

...

Panel

Image Added