SciFi (11.01.2018 11:57, просмотров: 541) ответил Sylvan на что есть "инициализация MAC"? вызов static void low_level_init(struct netif *netif) из файла ethernetif.c, верно?
В регистр ETH_MACCR должны попасть правильные биты FES и DM. У меня это совмещено с инициализацией других регистров. А как там у индусов сделано - мне пофиг. ETH->MACA0LR = (mynetif->hwaddr[0] << 0)
| (mynetif->hwaddr[1] << 8)
| (mynetif->hwaddr[2] << 16)
| (mynetif->hwaddr[3] << 24);
ETH->MACA0HR = (mynetif->hwaddr[4] << 0)
| (mynetif->hwaddr[5] << 8);
ETH->DMATDLAR = (int)&tx_desc;
ETH->DMARDLAR = (int)&rx_desc;
ETH->MACCR = ETH_MACCR_CSD
| ETH_MACCR_TE
| ETH_MACCR_RE
| reg; // speed and duplex
ETH->DMABMR |= (2 << 2); // descriptor skip length = 2
ETH->DMAOMR = ETH_DMAOMR_TSF // transmit store and forward
| ETH_DMAOMR_ST // start transmission
| ETH_DMAOMR_SR; // start reception
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้