继续梳理以太网的DMA描述符。
以太网DAM描述符的结构
有两种结构,链式结构和环形结构。
常用的是链式结构。
标准库中,关于DMA描述符的数据结构
以gd32f4xx_enet.c为例。
先说发送描述符。
系统分配了5个发送描述符。每个描述符对应的缓冲区大小为1524字节。
#define ENET_TXBUF_NUM 5U /*!< ethernet Tx DMA descriptor number */
#define ENET_MAX_FRAME_SIZE 1524U /*!< header + frame_extra + payload + CRC */
#define ENET_TXBUF_SIZE ENET_MAX_FRAME_SIZE /*!< ethernet transmit buffer size */
enet_descriptors_struct txdesc_tab[ENET_TXBUF_NUM]; /*!< ENET TxDMA descriptor */
uint8_t tx_buff[ENET_TXBUF_NUM][ENET_TXBUF_SIZE]; /*!< ENET transmit buffer */
注意,这里有一个5个元素