2026/2/17 4:29:43
网站建设
项目流程
食品配送做网站需要什么功能,江西建设银行招聘网站,电子商务网站规划与建设摘要,戴尔网站建设成功的关键初始化流程low_level_init();函数初始化网卡-》HAL_ETH_Init(); //设定mac等信息-》创建接收数据信号量-》创建数据输入任务函数HAL_ETH_Start_IT(); - ETH_UpdateDescriptor();-void HAL_ETH_RxAllocateCallback();分配描述符缓存空间DMA收到数据包
-》数据包写入到接…初始化流程low_level_init();函数初始化网卡 -》HAL_ETH_Init(); //设定mac等信息 -》创建接收数据信号量 -》创建数据输入任务函数 HAL_ETH_Start_IT(); - ETH_UpdateDescriptor(); -void HAL_ETH_RxAllocateCallback();分配描述符缓存空间DMA收到数据包 -》数据包写入到接收描述符缓冲区 -HAL_ETH_RxLinkCallback();组装pbuf链 -》ETH_IRQHandler → HAL_ETH_IRQHandler 触发中断 -》调用中断回调函数HAL_ETH_RxCpltCallback() -释放接收数据包信号量ethernetif_input();//任务一直在等待收到数据包的信号量 -》 p low_level_input( netif ); -》HAL_ETH_ReadData(heth, (void **)p);//读取组装好的pbuf数据 -》netif-input( p, netif);//数据交给lwip -pbuf_free(p);//释放资源描述符内存位置分配ETH DMA可访问的内存地址如下图可正常通信的描述符地址 举例 都在0x30000000之后需要指定分配的buff地址。由编译器指定位置__attribute__((at(0x30040000))) ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */ __attribute__((at(0x30040080))) ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */魔术棒-》linker-》取消勾选 use memory layout from target dialog编辑.sct文件