Недавно заказчик притащил обвязку и я решил докончить начатое.
Вклучил плату (прошивка не менялась) все работает. Решил заново прошить, а-а-а-а не работает.
Короче опять начал мучаца с настройкой. Уже залез в ETH.
Всего неделя и вуаля.
Что б если кто еще будет чесать репу, оставляю решение.
В файл stm32f4x7_eth_bsp.c в процедуру ETH_BSP_Config(void) вставить код
Код: Выделить всё
for (i = 1; i < 32; i++) {
/* Configure the Ethernet MAC/DMA */
ETH_MACDMA_Config(i);
printf("PHY_IDR1 = %x, PHY_IDR2 = %x\r\n", ETH_ReadPHYRegister(i, 2),
ETH_ReadPHYRegister(i, 3));
printf("PHY_BMSR = %x, PHY_SR = %x, PHY_MISR = %x\r\n", ETH_ReadPHYRegister(i, PHY_BMSR),
ETH_ReadPHYRegister(i, PHY_SR),
ETH_ReadPHYRegister(i, PHY_MISR));
ETH_DeInit();
}
кароче, в дефайнах стоит адрес 1, а у меня был 5.
так что присвоил #define DP83848_PHY_ADDRESS 0x05 и все пошло.
почему работало в первый раз не знам, может если еще год полежит адрес поменяется