Jump to content

    

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.

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

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

 

Спасибо.

Edited by winniethepooh

Share this post


Link to post
Share on other sites
uСLinux FreeRTOS+lwip или *RTOS+uip, не?

Share this post


Link to post
Share on other sites
uСLinux FreeRTOS+lwip или *RTOS+uip, не?

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

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

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

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

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

 

 

Share this post


Link to post
Share on other sites
-простой обмен udp пакетами с отладочным модулем приводит к потере пакетов (6 из 10)

 

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

Share this post


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

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

Share this post


Link to post
Share on other sites
Есть необходимость поднять веб под uClinux.

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

 

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

Share this post


Link to post
Share on other sites
Хотите использовать наработки под nix?))) Или инструментами для разработки под nix воспользоваться?.

 

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

 

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

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

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

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

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

привязать lwip.

Share this post


Link to post
Share on other sites
которое сейчас работает под FreeRTOS

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

 

Share this post


Link to post
Share on other sites
Что-то я вас не понимаю. Так вы с ucLinux работаете или с FreeRTOS?

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

Edited by winniethepooh

Share this post


Link to post
Share on other sites
c FreeRTOS уже давно работаем, но хотим еще и с Linux - ом

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

Share this post


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

 

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

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

очень нужно.

Share this post


Link to post
Share on other sites
да есть мысли перейти на более производительный процессор, но сдерживает уже

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

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

Share this post


Link to post
Share on other sites
очень нужно.

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

Share this post


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

 

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

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

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

 

Share this post


Link to post
Share on other sites
Причина в том что для линукса уже есть необходимый нам готовый код, который не нужно портировать во FreeRTOS

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now