Hello, I am new to embedded network device driver development. We are developing a device driver for a network chipset and the microcontroller is M16C based from Renesas. I have seen that most of the device drivers use ring buffers. What are the benefits of using a ring buffer. The chipset that we are working on has 14kb TXFIFO and
14kb RXFIFO. Would I have to use ring buffer in addition to these FIFO's?. I am also keen on achieving the best performance with the chipset. The chipset supports both DMA and PIO I/O modes. which mode would be best?. The M16C microcontroller runs microItron based OS and also has a TCP/IP stack. I would like to know from the guru's here what standard guidelines I would have to follow for developing a network device driver for embedded systems?Thank you very much for your help!