YS писал(а):Ethernet-кадр скорее всего собирает непосредственно блок Ethernet MAC в вашем контроллере. И вот тут вам надо почитать reference manual, главу про блок ethernet MAC.
Там всей главы -- один абзац:
The devices provide an IEEE-802.3-2002-compliant media access controller (MAC) for ethernet LAN communications through an industry-standard medium-independent interface (MII) or a reduced medium-independent interface (RMII). The microcontroller requires an external physical interface device (PHY) to connect to the physical LAN bus (twisted-pair, fiber, etc.). The PHY is connected to the device MII port using 17 signals for MII or 9 signals for RMII, and can be clocked using the 25MHz (MII) from the microcontroller.
Так что решил попробовать собрать вручную. Пока вышло следующее для IPv4 и UDP:
4 бита - Версия // =4
4 бита - Длина заголовка // =5
8 бит - Тип обслуживания // можно заполнить нулями ?
16 бит - Длина пакета // =22
16 бит - Идентификатор // какой угодно ?
3 бита - Флаги //=0b000
13 бит - Смещение фрагмента // тоже нули?
8 бит - Время жизни // =3 (по идее, много же не надо)
8 бит - Протокол //=17 (UDP)
16 бит - Контрольная сумма заголовка // как считать?
32 бита - IP отправителя // какой придумать?
32 бита - IP получателя // какой? если через маршрутизатор
16 бит - Порт отправителя // какой придумать?
16 бит - Порт Получателя // какой придумать?
16 бит - Длина посылки // = 4
16 бит - Контрольная сумма // =0 (IPv4 не требует)
32 бит -- Данные // = мои данные
0100 0101 00000000 00000000 00010110 iiiiiiii iiiiiiii 000 00000 00000000 00000011 00010001 ssssssss ssssssss aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb PPPPPPPP PPPPPPPP pppppppp pppppppp 00000000 00000100 00000000 00000000 dddddddd dddddddd dddddddd dddddddd
На тему сбора ручками. Дык я и пытаюсь. А через кубик просто проинициализировал ноги да выставил clocking. Дальше всё ручками попробую, если эта функция HALовская "не взлетит". А пока... что можете сказать по созданию посылки?
(Простите, если усердно "иду наперекор советам", но я совершенно "не вижу тропы" и мне кажется что совсем без HAL это дикость.

)
А по поводу IP -- это надо наверное в маршрутизаторе включить привязку к МАС и получить уже один раз и навсегда IP для того и другого.