отличия от авторского проекта:
LPC2368 заменен на LPC1778
KS8721 заменен на KSZ8031
обновлен TNKernel до версии 2.7
пофиксено: CRC в TCP пакете, иннициализация MAC отправителя в ARP запросе
Выключен DHCP (почему то затыкается на поиске DHCP сервера. Разберусь но попозже)
прикрутил свою иннициализацию PLL
отладочный UART не применял, так что может не работать
Старался максимально оставить авторский стиль (даже отступы на 3).
под рукой был IAR ARM6.6, так что не обессудьте
Описание авторских примеров ( использовались 192.168.150.69 - комп, 192.168.150.111 - железка ):
UDP_Test_1 - отправляет по UDP на 192.168.150.69:50001 данные. Формат передачи оригинальный
использовать _pc\UDP_Test_1\nc_listen50001.bat
Нажмите для просмотра прикрепленного файла
UDP_Test_2 - тестовая отправка 4Мб по UDP на 192.168.150.69. Формат передачи оригинальный
использовать _pc\UDP_Test_2\UDP_server.exe
Нажмите для просмотра прикрепленного файла
TCP_Test_7 - клиент коннектится по TCP на 192.168.150.111:50001, отправляет строку, а в ответ приходит счетчик с этой строкой. Формат передачи скоррктирован мной для большей наглядности
использовать _pc\TCP_Test_7\nc_connect_to_50001.bat
Нажмите для просмотра прикрепленного файла
HTTP_Test_1 - пример HTTP сервера. Формат передачи оригинальный
открыть браузер и вбить 192.168.150.111 (не забыть отключить прокси)
Нажмите для просмотра прикрепленного файла
P.S. оказывается WireShark не отображает ETHernet-пакеты которые не запрашивались клиентом. То есть если не запущена софтина на компе, которая слушает UDP порт, то WireShark не отобразит эти пакеты, хотя реально они и будут приходить, но где-то на самом нижнем уровне будут игнорироваться. Я про это не знал, и потратил не мало времени, выясняя это =) (хотя собсвенно как и PortMon не отображает байты в COM/Uart пока их реально не считал юзер через ReadFile )