реклама на сайте
подробности

 
 
> atmega32u4+ENC28J60+uIP = HTTPD+CGI+DHCP+DFU bootloader, Собственно реальзация web сервера для atmega32u4 и enc28J60
Ilmarin
сообщение Jul 1 2009, 20:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Собственно проект: http://code.google.com/p/uhttpd-avr/ компилиурется WinAvr, прошивку можно обновлять с помощью FLIP'a через USB. Параметры сети хрянятся в EEPROM'e, можно менять через web, есть поддержка DHCP. Всё реализовано на основе uIP модифицированного для хранения данных в program memory.

P.S. Работает медленно
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 26)
Ilmarin
сообщение Jul 6 2009, 03:36
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Неужто никому не нужно?
Go to the top of the page
 
+Quote Post
mrKirill
сообщение Jul 6 2009, 05:18
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 283
Регистрация: 13-06-07
Из: Челябинск
Пользователь №: 28 391



Вот этим отпугнул smile.gif
Цитата(Ilmarin @ Jul 2 2009, 02:29) *
P.S. Работает медленно

Мне лично интересно, но я пока мельком глянул.

PS. Не нашел кнопки в репозитории чтобы сразу архивом все файлы качнуть.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 6 2009, 06:01
Сообщение #4


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
P.S. Работает медленно


Дык надо uIP хачить на предмет Delayed ACK. Будет лучше smile.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 6 2009, 13:35
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(mrKirill @ Jul 6 2009, 01:18) *
PS. Не нашел кнопки в репозитории чтобы сразу архивом все файлы качнуть.

Вот, сделал архив: http://uhttpd-avr.googlecode.com/files/uht...-2009-07-06.zip
Go to the top of the page
 
+Quote Post
mrKirill
сообщение Jul 7 2009, 03:47
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 283
Регистрация: 13-06-07
Из: Челябинск
Пользователь №: 28 391



Цитата(Ilmarin @ Jul 6 2009, 19:35) *

Благодарю. Будем изучать smile.gif
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 8 2009, 05:33
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(Rst7 @ Jul 6 2009, 02:01) *
Дык надо uIP хачить на предмет Delayed ACK. Будет лучше smile.gif

Приделал uip_split ( http://www.sics.se/~adam/uip/uip-1.0-refman/a00154.html )
заметно лучше не стало. Скорее всего из-за того что этот хак отсылает по-частям только пакеты максимальной длинны.

Что интересно, если сравнивать скорость загрузки страннички с динамически сгенерированной формой на винде ХП и линиксе (Ubuntu) то на линуксе существенно быстрее (и там и там Firefox 3.0.11 , без прокси ).

http://uhttpd-avr.googlecode.com/files/uht...-2009-07-08.zip
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 8 2009, 05:57
Сообщение #8


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Приделал uip_split заметно лучше не стало. Скорее всего из-за того что этот хак отсылает по-частям только пакеты максимальной длинны.


Дык захачте его, чтобы любые пакеты пилил. Либо есть другой вариант (я так делал, пока не реализовал полноценную поддержку Delayed ACK у себя в стеке) - после каждого пакета с данными посылать пакет без данных с тем же SEQ - на такое что винда, что линух мгновенно отвечает ACK'ом.

Цитата
Что интересно, если сравнивать скорость загрузки страннички с динамически сгенерированной формой на винде ХП и линиксе (Ubuntu) то на линуксе существенно быстрее (и там и там Firefox 3.0.11 , без прокси ).


Дело в том, что авторы стека TCP/IP в линухе видимо писатели, а не читатели (рекомендаций в RFC), посему линух отвечает ACK'ом на каждый пакет.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 8 2009, 15:03
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(Rst7 @ Jul 8 2009, 01:57) *
Дык захачте его, чтобы любые пакеты пилил.


Пробовал ( поменял условие при котором распил происходит ) - что-то нестабильно работать стало.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 8 2009, 15:55
Сообщение #10


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Пробовал ( поменял условие при котором распил происходит ) - что-то нестабильно работать стало.


В чем нестабильность выражена? Попробуйте поступить второму методу (про доп. пакет).


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 9 2009, 03:07
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(Rst7 @ Jul 8 2009, 11:55) *
В чем нестабильность выражена?


Связь стала случайным образом подвисать.

Цитата(Rst7 @ Jul 8 2009, 01:57) *
Дело в том, что авторы стека TCP/IP в линухе видимо писатели, а не читатели (рекомендаций в RFC), посему линух отвечает ACK'ом на каждый пакет.

Нашёл в интернете что в виндах таймер на ACK - 200мс, а в Линуксе - 10мс. Кстати, в виндах можно настраивать количество пакетов : http://support.microsoft.com/kb/328890 , если поставить 1 то всё работает довольно быстро.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 9 2009, 05:28
Сообщение #12


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Связь стала случайным образом подвисать.


Хз, хз..

Цитата
Кстати, в виндах можно настраивать количество пакетов : http://support.microsoft.com/kb/328890 , если поставить 1 то всё работает довольно быстро.


Ну это не выход. Во-первых - нарушает чи большим братьям с полновесной реализацией TCP-стеков. Во-вторых - без полноценной поддержки Delayed ACK толку от этого на медленных каналах связи не будет - каждый пакет будет передаваться за время прохода туда и обратно.

В принципе, можно дохачить uIP под полноценную поддержку Delayed ACK (и посылок размером в окно).


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 9 2009, 07:03
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



В общем нашёл ошибку ( надо было проверять что пакет уже ушёл, и в рассчёте размеров пакета в uip-split была ошибка). Ну и сделал отправку пустых пакетов. Теперь работает и то и другоe ( выбирается в uNetConfigure.h). Работать стало быстрее, но Линукс по прежнему опережает винду, почему то.

Обновлённый релиз: http://uhttpd-avr.googlecode.com/files/uht...-2009-07-09.zip

Сообщение отредактировал Ilmarin - Jul 9 2009, 07:04
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 9 2009, 07:13
Сообщение #14


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Работать стало быстрее, но Линукс по прежнему опережает винду, почему то.


Да потому, что все это - костыли. Если такое просунуть через медленный канал, будет ужасно. Надо реализовывать правильную работу с окном.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 9 2009, 07:23
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(Rst7 @ Jul 9 2009, 03:13) *
Да потому, что все это - костыли. Если такое просунуть через медленный канал, будет ужасно. Надо реализовывать правильную работу с окном.


Ну, это всё делается не для того чтобы сотню запросов в секунду обрабатывать.
Сейчас уже на мега32 память почти вся занята ( и это при том что буфер установлен в 400 байт и максимум 2 паралельных соединения):

AVR Memory Usage
----------------
Device: atmega32u4

Program: 25658 bytes (78.3% Full)
(.text + .data + .bootloader)

Data: 2125 bytes (83.0% Full)
(.data + .bss + .noinit)

EEPROM: 19 bytes (1.9% Full)
(.eeprom)
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 9 2009, 07:42
Сообщение #16


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Ну тогда посмотрите сюда - http://electronix.ru/forum/index.php?showtopic=44276

Вот тут почти крайние исходники - http://electronix.ru/forum/index.php?act=a...st&id=30493

Эта штука довольно просто портируется под работу с ENC28J60 (например, вот - http://alyer.frihost.net/web_server.htm и результат - http://wapbox.ath.cx/ , но это не последняя версия, тут по 2 пакета с данными отправляется, такая себе полуполноценная реализация)

В крайних исходниках реализована достаточно полноценная работа с окном и утилизация Delayed ACK, что позволяет достичь вполне вменяемых скоростей на быстрых каналах и не тормозить на медленных.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 9 2009, 15:07
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(Rst7 @ Jul 9 2009, 03:42) *
В крайних исходниках реализована достаточно полноценная работа с окном и утилизация Delayed ACK, что позволяет достичь вполне вменяемых скоростей на быстрых каналах и не тормозить на медленных.

- в крайних это в которых?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 9 2009, 15:58
Сообщение #18


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
- в крайних это в которых?


Эти -
Цитата
Вот тут почти крайние исходники - http://electronix.ru/forum/index.php?act=a...st&id=30493

имеют сей функционал.

PS "Крайние" - это последние. Представители некоторых профессий не любят употреблять слово "последний".


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 9 2009, 17:54
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(Rst7 @ Jul 9 2009, 03:42) *
Эта штука довольно просто портируется под работу с ENC28J60 (например, вот - http://alyer.frihost.net/web_server.htm и результат - http://wapbox.ath.cx/ , но это не последняя версия, тут по 2 пакета с данными отправляется, такая себе полуполноценная реализация)


А исходников с ENC28J60 нету?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 9 2009, 18:33
Сообщение #20


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
А исходников с ENC28J60 нету?


У меня - нет. Я не пользую ENC. Появится портер в онлайне, я его попрошу выложить, только склеивать эти версии сами будете.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
fmdost
сообщение Jul 9 2009, 21:40
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



bb-offtopic.gif
Цитата(Rst7 @ Jul 9 2009, 19:58) *
PS "Крайние" - это последние. Представители некоторых профессий не любят употреблять слово "последний".

Альпинисты что ли?! wink.gif
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 10 2009, 04:41
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(Rst7 @ Jul 9 2009, 14:33) *
У меня - нет. Я не пользую ENC. Появится портер в онлайне, я его попрошу выложить, только склеивать эти версии сами будете.


Вообще, у меня в планах с lwip поигратся - может на mega128 он поместится.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 10 2009, 05:36
Сообщение #23


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Вообще, у меня в планах с lwip поигратся - может на mega128 он поместится.


Тогда зачем Вам исходники с поддержкой ENC?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Ilmarin
сообщение Jul 10 2009, 07:19
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 21-04-09
Пользователь №: 48 010



Цитата(Rst7 @ Jul 10 2009, 01:36) *
Тогда зачем Вам исходники с поддержкой ENC?

чтобы было с чем сравнивать (быстродействие и т.д).
Go to the top of the page
 
+Quote Post
vadim_ich
сообщение Nov 4 2009, 20:12
Сообщение #25





Группа: Новичок
Сообщений: 2
Регистрация: 7-04-09
Пользователь №: 47 321



Цитата(Ilmarin @ Jul 10 2009, 11:19) *
чтобы было с чем сравнивать (быстродействие и т.д).

Здравствуйте! Пытаюсь портировать uIP0.9 +enc28j60 на платформу 8052. Как ни крутил не работает Http. ICMP и ARP работает вроде. Помогите пожалуйста!!!

Вот архив с проектом.
http://depositfiles.com/files/yhf528h17

Сообщение отредактировал vadim_ich - Nov 4 2009, 20:13
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 5 2009, 17:51
Сообщение #26


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Rst7 @ Jul 9 2009, 17:58) *
PS "Крайние" - это последние. Представители некоторых профессий не любят употреблять слово "последний".

Крайние, последние.... не лучше будет обозвать их - "самые свежие". ;>

Цитата(Ilmarin @ Jul 10 2009, 06:41) *
Вообще, у меня в планах с lwip поигратся - может на mega128 он поместится.

Только внешнюю память не забудьте добавить. внутренней 4kb RAM - чертовски мало. а с 4+32K - жить можно.
Go to the top of the page
 
+Quote Post
vadim_ich
сообщение Nov 25 2009, 21:43
Сообщение #27





Группа: Новичок
Сообщений: 2
Регистрация: 7-04-09
Пользователь №: 47 321



Цитата(Ilmarin @ Jul 9 2009, 11:03) *
В общем нашёл ошибку ( надо было проверять что пакет уже ушёл, и в рассчёте размеров пакета в uip-split была ошибка). Ну и сделал отправку пустых пакетов. Теперь работает и то и другоe ( выбирается в uNetConfigure.h). Работать стало быстрее, но Линукс по прежнему опережает винду, почему то.

Обновлённый релиз: http://uhttpd-avr.googlecode.com/files/uht...-2009-07-09.zip


Здравствуйте, попробовал портировать uIP+enc28j60 на мк Aduc812. Почему то пакеты больше чем 255 байт принимаются с ошибками. В чем может быть причина?
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01607 секунд с 7
ELECTRONIX ©2004-2016