Уважаемый All! Помогите! Жизнь заставила самому взяться за написание стека протоколов UDP/IP на microblaze для обертки HARD TEMAC на virtex5. Причем имеется критичность по быстродействию. Но, как назло, Ethernet кадр, получаемый из TEMAC, содержит 14-байтовый заголовок, состоящий из МАС-адреса источника, - 6 байт, МАС-адреса получателя - 6 байт, и кода типа протокола - 2 байта. Всего 14 байт. В результате собственно IP или ARP заголовок является не выровненным по 32 битам, что не позволяет при его копировании использовать 32-битные команды пересылки, а вынуждает использовать 16-битные команды. Что, в свою очередь. убивает быстродействие. По моему мнению, решением могла бы быть вставка произвольного 16-битного слова в начало кадра, но как это сделать? Ну или я торможу в чем-то очень тривиальном...
Сообщение отредактировал Pavel_SSS - Feb 17 2013, 11:22
|