Перейти к содержанию

    

web server arm cortex m3 nommu

Здравствуйте форумчане.

 

Имею на отладочном модуле

ARM Cortex-M3 c параметрами:

Max Clock Speed (MHz) -144

Total Flash (KB) – 1024

SRAM (KB) - 128

NO MMU

Дополнительная память (на модуле) SRAM — 16MB

Сетевой интерфейс с каналом 10/100/1000BASE-T

Операционная система uClinux – 2.6.33-arm1

 

Хочу запускать веб сервер c статическим содержимым и достаточно быстрым откликом (1 запрос в секунду) передовая небольшие объемы данных (до 100 байт в GET запросе).

Что уже попробовал устанавливать:

-встроенный в busybox веб сервер (httpd - выполняет vfork для каждого нового запроса), задержка ответа веб сервер может достигать 10 секунд (на прямом соединении, витая пара). Утилита top показывает load average на процессоре около 3.5 единиц.

-одно поточный веб сервер на основе state машины. Утилита top показывает load average на процессоре около 2.5 единиц.

-простой обмен udp пакетами с отладочным модулем приводит к потере пакетов (6 из 10)

 

Получается, что сетевой интерфейс линукса тяжеловат для cortex-m3.

Есть какая либо возможность повысить «отзывчивость» сетевого интерфейса или я

я в принципе где то ошибаюсь?

 

Спасибо.

Изменено пользователем winniethepooh

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
uСLinux FreeRTOS+lwip или *RTOS+uip, не?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
uСLinux FreeRTOS+lwip или *RTOS+uip, не?

спасибо за отклик juvf

Веб сервер под FreeRTOS уже был реализован в предыдущих проектах (не мной).

Есть необходимость поднять веб под uClinux.

У меня нет достаточного опыта программирования сетевых интерфейсов поэтому

хотелось бы получить совет.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
-простой обмен udp пакетами с отладочным модулем приводит к потере пакетов (6 из 10)

 

Так у Вас там какая-то проблема или в физическом уровне, или в низкоуровневом драйвере. Разберитесь сначала с этим моментом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Так у Вас там какая-то проблема или в физическом уровне, или в низкоуровневом драйвере. Разберитесь сначала с этим моментом.

спасибо Rst, попробую разобраться

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Есть необходимость поднять веб под uClinux.

Хотите использовать наработки под nix?))) Или инструментами для разработки под nix воспользоваться?.

 

Был такой опыт: ucLinux + cortex-m3. В итоге психанули, и взяли imx6 + linux))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Хотите использовать наработки под nix?))) Или инструментами для разработки под nix воспользоваться?.

 

Был такой опыт: ucLinux + cortex-m3. В итоге психанули, и взяли imx6 + linux))))

 

да есть мысли перейти на более производительный процессор, но сдерживает уже

имеющееся железо (которое сейчас работает под FreeRTOS). т.к. под рукой

есть только то что есть, хотелось бы разобраться в причинах.

Есть шанс что где то косяк в драйвере (не большой).

Есть мысли попробовать отказаться от линуксового tcp/ip стека и попробовать

привязать lwip.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
которое сейчас работает под FreeRTOS

Что-то я вас не понимаю. Так вы с ucLinux работаете или с FreeRTOS?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Что-то я вас не понимаю. Так вы с ucLinux работаете или с FreeRTOS?

c FreeRTOS уже давно работаем, но хотим еще и с Linux - ом

Изменено пользователем winniethepooh

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
c FreeRTOS уже давно работаем, но хотим еще и с Linux - ом

Возьмите подходящую платформу. Ну зачем натягивать сову на глобус :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Возьмите подходящую платформу. Ну зачем натягивать сову на глобус :rolleyes:

 

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

и счастье будет.

очень нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
да есть мысли перейти на более производительный процессор, но сдерживает уже

имеющееся железо (которое сейчас работает под FreeRTOS). т.к. под рукой

И Вы решили затормозить уже имеющуюся систему? "Хотим большего быстродействия, но сдерживает старое железо, поэтому понизим быстродействие"... Странно как-то, не находите?..... :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
очень нужно.

Охотно верю! Дерзайте, вдруг и получиться!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
И Вы решили затормозить уже имеющуюся систему? "Хотим большего быстродействия, но сдерживает старое железо, поэтому понизим быстродействие"... Странно как-то, не находите?..... :wacko:

 

Система не требует работы в режиме жесткого реального времени, если бы было по другому,

то конечно о линуксе речи не было..

Причина в том что для линукса уже есть необходимый нам готовый код, который не нужно портировать во FreeRTOS

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Причина в том что для линукса уже есть необходимый нам готовый код, который не нужно портировать во FreeRTOS

Неужто портировать какой-то (найденный в инете?) кусок кода и добавить его в проект сложнее чем переписать вообще весь проект с нуля??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти