На данный момент работает драйвер RTL8019AS и уровень IP (ARP, ICMP и т.п.). С уровнем TCP похоже пока какие-то баги. К примеру, webserver не отвечает, а telnetd хотя и отвечает, но как-то странно, "через пакет". Другие приложения пока не пробовал. Баги с telnetd могут быть еще и оттого, что telnet я взял из версии 0.9, т.к. в версии 1.0 автор uIP на_уевертил такого на #define-ах, что компилятор не может распутать.
По прикидкам, собственно стек TCP/IP занимает в коде 10-11 кб.
Пока откладываю дальнейший дебаг, т.к. на работе начался загруз. Желающие поковырять исходники - wellcome, текущие исходники в аттаче в файле uIP-ori.zip. uip-1.0.zip - оригинальный uIP v 1.0.
Примечание1: загрузив HitechC v 3.09, замените дистрибутивную libc.lib на ту, что в моем архиве - там либа с исправленной до правильного функцией memset.
Примечание2: Для компиляции я использую эмулятор CP/M MYZ80 от Simeon Cran. Директивы import/export в файле _make_uip.bat - это от этого эмулятора.
Примечание3: Орионовская версия рассчитана под AltairDOS v 3.x. В ней есть готовый сервис прерываний int 50hz (см. в архиве в файле clock-ar.c), чем я и пользуюсь. Для других ОС этот файл должен соответственно корректироваться.




Ответить с цитированием