我所实验例程为UDP实验例程(RT1050+LWIP2.1),在移植自己的操作系统后,(我关闭了LWIP的LWIP_TCPIP_CORE_LOCKING),上电运行,发送小数据0-400字节没有问题,发送大数据例如900字节一包,就会在 base->RDAR = ENET_RDAR_RDAR_MASK; 进入HardFault,通过调试,我发现,在
/* Enables Ethernet module after all configuration except the buffer descriptor active. */
ecr |= ENET_ECR_ETHEREN_MASK | ENET_ECR_DBSWP_MASK;
base->ECR = ecr;
在ECR寄存器赋值后,设断点,再放开全速运行,就没有这个问题,正常收发,如果在ECR寄存器赋值之前设置断点,再放开全速运行,就还是这个问题。