Ethernet-чип со встроенным TCP стеком

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Post by Error404 »

DimkaM wrote:Есть ли какието подвижки в данном направлении?
Тоже балуюсь с этим девайсом(в частности подключил к спеку). http://forum.nedopc.com/viewtopic.php?f=32&t=1003
Есть пара работающих программ: ftp-сервер(потдерживаeтся немо-иде, использую исходники fatfs) и irc-клиент.

Скомпилил Contiki под ZXEvo (компилил в иаре) http://forum.nedopc.com/viewtopic.php?p=23676#p23676
Основная проблема и вопрос:
Как состыковать wiznet и contiki? Может кто то уже видел решения этой связки?
Так в Контики сетка полностью заимствована от uIP. ЕМНИП при портировании переписывается только модуль с четырьмя процедурами (инита, поллинга адаптера и приема/отправки пакета) уровня MAC (Layer2). Если Wiznet умеет тупо передавать пакеты мимо своих TCP-оберток (а оно ЕМНИП умеет) как простейшие чипы уровня MAC/PHI, то допиливай те 4 процедуры - и вперед. На мой взгляд это совсем не проблема, главная сложность при портировании Контики - это говнокод автора с его маниакальной любовью к диким по конструкции макросам (те самые прототреды/протосокеты), которые при компиляции в коде раскручиваются в маниакального вида свич, имитирующий коммутацию процессорного времени по процессам (которые на самом деле не процессы, а тупо процедуры в "сплошном" коде). Эти макросы не понимает ни один нативный CP/M-овский С-компилер. Т.е. самое сложное ты уже проделал - победил говномакросы, осталось чуть-чуть.
Всем добра!
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

Error404 wrote:тупо передавать пакеты мимо своих TCP-оберток
Об этом чёта я не подумал. В заднем случае так и поступлю(скороее всего так поступлю).
Но попробую поковырятся насчёт юзать тцп\ип визнетовские. Сорцы контики тяжело перевариваются мозгом...
Error404 wrote:главная сложность при портировании Контики - это говнокод автора с его маниакальной любовью к диким по конструкции макросам
угу. я уже писал гдето об этом:
Боролся с портированием под иар, видимо гцц прощает некоторые оплошности, а иар еррорами ругается. И код больше заточен под ц99, коего ewz80 не понимает. Причем это всё обёрнуто многоуровневыми макросами(до пяти вложений доходило), которые раскиданы по тыщи файлам, довольно сложно выискивать чё стопорит компиляцию.
Есть некоторое количество оплошностей кодеров, вот они действительно мозг выносят.
Типа неявного преобразования типов, особенно константа<->неконстанта. -еггог
Или лишние запятые после последнего элемента в перечисляторе. -еггог
или когда в одном макросе(процесс_инит()) открывающая скобка "свич{", в другом(процесс_енд()) закрывающая, при этом закрывающий макрос вызывается с точкой\запятой "PROCESS_END();". Это варнинг, но этих варнингов миллион в конечном итоге. В третьих четвёртых макросах(процесс_евент() процесс_ехит()) - кейсы.
Но в итоге победил, щас компилится как по маслу, а ежли нет, то уже знаю как править
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

по-моему визнеты только TCP/IP умеют - на низкий уровень не залезть
Я тут за главного - если что шлите мыло на me собака shaos точка net
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

Есть нечто "MAC LAYER RAW SOCK"
Хз чё это, может это оно?
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

DimkaM wrote:Есть нечто "MAC LAYER RAW SOCK"
Хз чё это, может это оно?
вечерком почитаю доку - обновлю так сказать воспоминания...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

угу точно - и IP raw есть, и MAC raw, хотя я думаю ежели уже есть встроенный TCP/IP-стек (хоть и на 4 сокета), то почему бы его и не поюзать? для низкоуровневого езернета есть решение подешевле...
Я тут за главного - если что шлите мыло на me собака shaos точка net
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

Может у кого будут соображения, есть проблемка, никак не поборю.

Ковыряюсь с девайсом http://www.nedopc.com/zxnetusb/zxnetusb.php
Возникла проблемка с приёмом TCPIP пакетов на w5300.
На файл в 30кб от 2 до 6 битых байт. Причём в основном портится байт со значением 0х39(но не все 0х39 портятся, постоянно в разных местах). Что за мистика ума не прилажу.

Code: Select all

Search for differences

1. D:\src\ftpd\Release\FTPD.$C: 25 617 bytes
2. D:\src\ftpd\Release\Obj\ftpd.$C: 25 617 bytes
Offsets: decimal

10274:	10	0B
14082:	10	39
16886:	10	39
18024:	10	39
18788:	10	39
25238:	10	6D

6 difference(s) found. 
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Чего-то за WizNet-ами я такого не наблюдал - может какой другой узел системы сбоить? ПЛИС на плате недоизернета, шина данных пентевы или ПЛИС с бейзконфой? На экране что просиходит в момент чтения? Снег разноцветный не идёт случайно?...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

DimkaM wrote:Есть ли какието подвижки в данном направлении?
Подвижки были 5 лет назад :)

viewtopic.php?t=8303&start=16

Image

P.S. Это плата логирующая 8 оптоизолированных входов и управляющая 2 выходами (реле) с веб-сервером на борту, через который эти логи могут быть прочитаны, а также поданы команды управления двумя бортовыми реле.
Я тут за главного - если что шлите мыло на me собака shaos точка net
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

А между тем, почти год назад, ребята запилили визнето-драйвер под контики. В macraw режиме правда, поэтому весь функционал чипа мимо прошел.

Вощем буду пробывать какнить состыковать всё это дело. cpu не тот правда, да и визнет тоже не мой, но что поделать - хоть чтото.
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

вроде бы ничего сложного, судя по исходнику требуется запилить всего четыре функции:

jmp init
jmp poll
jmp send
jmp exit
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re:

Post by Shaos »

Shaos wrote:Девайсики всё ещё продаются, правда стоят почти в 2 раза дороже ($21.85):

http://www.ewiznet.com/goods_detail.php?goodsIdx=114

Кроме того есть ещё 2 варианта с шагом 2.54 мм и дырками для крепления (стоят также):

http://www.ewiznet.com/goods_detail.php?goodsIdx=125
http://www.ewiznet.com/goods_detail.php?goodsIdx=132
Платки до сих пор продаются, правда по $30 уже...

http://www.digikey.com/product-search/en?keywords=WIZ810MJ
Я тут за главного - если что шлите мыло на me собака shaos точка net
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Re: Ethernet-чип со встроенным TCP стеком

Post by DimkaM »

В фузиксе сделали набросок драйвера под визнеты.
А вот копеешный eps8266 даже не планируется поддерживать
It cannot support devices that provide multiple TCP/IP data links but are
unable to flow control or error recover the link properly (eg the ESP8266
standard firmware). It ought to be possible to write replacement ESP8266
firmware to provide a sane serial interface.
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Re: Ethernet-чип со встроенным TCP стеком

Post by Error404 »

За FUZIX поглядываю, жду когда они таки выдадут на-гора хотя бы один работающий TCPIP "в железе" чтобы бэкпортить его в UZIX, которого у меня на Орионе есть работоспособный билд. Пока что у них уже год только наброски. Подождем. Сам FUZIX мне не нравится (умудрились из простого и понятного UZI сделать мутную кучу-малу с миру по нитке - распутывай теперь все эти дефайны), как и не нравится выбор компилятора (худшего на мой вкус из работающих на платформе Windows, имею крайне негативный опыт с каким-то билдом SDCC из ветки 2.9 и кранее изумление о ходе мысли ейного автора - такое ощущение что он истории развития ЭВМ не знает, а сочиняет по наитию, при помощи совершенно дикого количества человекочасов и нечеловеческого упорства доведя до хоть как-то приемлимого уровня первичный говнокод - я очень давно слежу за SDCC, примерно с 2005 года).
DimkaM wrote:В фузиксе сделали набросок драйвера под визнеты.
Глянул GitHub по диагонали, что-то быстро не нашел. Интересно, какой уровень стека они прописывают на физике Wiznet? Если MAC (L2, raw), то это гуд, под любой нормальный адаптер можно будет переточить. Если IP (L3/4) - то это кака: Юних с визнетовскими четырьмя сокетами максимум - это даже не смешно.
Всем добра!
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Re: Ethernet-чип со встроенным TCP стеком

Post by DimkaM »

ну это смотря какой визнет. допустим w5300 8 стеков
ридми тут https://github.com/EtchedPixels/FUZIX/b ... README.NET
наброски здесь https://github.com/EtchedPixels/FUZIX/t ... el/dev/net
да, любой вменяемый инет-девайс подойдёт