Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: web server arm cortex m3 nommu
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
winniethepooh
Здравствуйте форумчане.

Имею на отладочном модуле
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.
Есть какая либо возможность повысить «отзывчивость» сетевого интерфейса или я
я в принципе где то ошибаюсь?

Спасибо.
juvf
uСLinux FreeRTOS+lwip или *RTOS+uip, не?
winniethepooh
Цитата(juvf @ May 10 2018, 17:06) *
uСLinux FreeRTOS+lwip или *RTOS+uip, не?

спасибо за отклик juvf
Веб сервер под FreeRTOS уже был реализован в предыдущих проектах (не мной).
Есть необходимость поднять веб под uClinux.
У меня нет достаточного опыта программирования сетевых интерфейсов поэтому
хотелось бы получить совет.

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


Так у Вас там какая-то проблема или в физическом уровне, или в низкоуровневом драйвере. Разберитесь сначала с этим моментом.
winniethepooh
Цитата(Rst7 @ May 11 2018, 08:16) *
Так у Вас там какая-то проблема или в физическом уровне, или в низкоуровневом драйвере. Разберитесь сначала с этим моментом.

спасибо Rst, попробую разобраться
haker_fox
QUOTE (winniethepooh @ May 11 2018, 14:48) *
Есть необходимость поднять веб под uClinux.

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

Был такой опыт: ucLinux + cortex-m3. В итоге психанули, и взяли imx6 + linux))))
winniethepooh
Цитата(haker_fox @ May 11 2018, 08:51) *
Хотите использовать наработки под nix?))) Или инструментами для разработки под nix воспользоваться?.

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


да есть мысли перейти на более производительный процессор, но сдерживает уже
имеющееся железо (которое сейчас работает под FreeRTOS). т.к. под рукой
есть только то что есть, хотелось бы разобраться в причинах.
Есть шанс что где то косяк в драйвере (не большой).
Есть мысли попробовать отказаться от линуксового tcp/ip стека и попробовать
привязать lwip.
haker_fox
QUOTE (winniethepooh @ May 11 2018, 16:59) *
которое сейчас работает под FreeRTOS

Что-то я вас не понимаю. Так вы с ucLinux работаете или с FreeRTOS?
winniethepooh
Цитата(haker_fox @ May 11 2018, 10:13) *
Что-то я вас не понимаю. Так вы с ucLinux работаете или с FreeRTOS?

c FreeRTOS уже давно работаем, но хотим еще и с Linux - ом
haker_fox
QUOTE (winniethepooh @ May 11 2018, 18:54) *
c FreeRTOS уже давно работаем, но хотим еще и с Linux - ом

Возьмите подходящую платформу. Ну зачем натягивать сову на глобус rolleyes.gif
winniethepooh
Цитата(haker_fox @ May 11 2018, 14:10) *
Возьмите подходящую платформу. Ну зачем натягивать сову на глобус rolleyes.gif


Спасибо за совет, но может можно, слегка глобус сжать, сову немного под растянуть..
и счастье будет.
очень нужно.
jcxz
Цитата(winniethepooh @ May 11 2018, 11:59) *
да есть мысли перейти на более производительный процессор, но сдерживает уже
имеющееся железо (которое сейчас работает под FreeRTOS). т.к. под рукой

И Вы решили затормозить уже имеющуюся систему? "Хотим большего быстродействия, но сдерживает старое железо, поэтому понизим быстродействие"... Странно как-то, не находите?..... wacko.gif
haker_fox
QUOTE (winniethepooh @ May 11 2018, 22:36) *
очень нужно.

Охотно верю! Дерзайте, вдруг и получиться!
winniethepooh
Цитата(jcxz @ May 11 2018, 17:12) *
И Вы решили затормозить уже имеющуюся систему? "Хотим большего быстродействия, но сдерживает старое железо, поэтому понизим быстродействие"... Странно как-то, не находите?..... wacko.gif


Система не требует работы в режиме жесткого реального времени, если бы было по другому,
то конечно о линуксе речи не было..
Причина в том что для линукса уже есть необходимый нам готовый код, который не нужно портировать во FreeRTOS
jcxz
Цитата(winniethepooh @ May 12 2018, 09:49) *
Причина в том что для линукса уже есть необходимый нам готовый код, который не нужно портировать во FreeRTOS

Неужто портировать какой-то (найденный в инете?) кусок кода и добавить его в проект сложнее чем переписать вообще весь проект с нуля??
winniethepooh
Цитата(jcxz @ May 12 2018, 07:02) *
Неужто портировать какой-то (найденный в инете?) кусок кода и добавить его в проект сложнее чем переписать вообще весь проект с нуля??


портировать нужно не "кусок кода" а систему+ удобства предоставляемые линуксом. Вообщем, вариант когда больше подходит
линкс чем FreeRTOS. Что касается скорости выполнения кода то она вполне удовлетворительная (за исключением работы с веб).
mantech
Цитата(jcxz @ May 12 2018, 10:02) *
Неужто портировать какой-то (найденный в инете?) кусок кода и добавить его в проект сложнее чем переписать вообще весь проект с нуля??


Ну хочется человеку не просто идти немного в гору, а пробираться сквозь лес босиком, ну пусть, за-то будет много опыта по самоотверженной борьбе с искусственно созданными трудностями.
ИМХО - микролинух - это совсем не то, что классический, настоящий, но и в "нормальном" трудностей хоть отбавляй, особенно начинающим...
Ну и если уж совсем, то веб-морда и совсем без ртос прекрасно работает...
haker_fox
QUOTE (mantech @ May 12 2018, 23:05) *
Ну хочется человеку не просто идти немного в гору

Зря вы так. Нередки ситуации, когда тебе дают платформу, и твоя задача выжать из неё всё. Конечно, со временем адекватный начальник понимает, что четыре 8-битных AVR не заменят один 32-битный ARM. Но нужно время на это осознание...
mantech
Цитата(haker_fox @ May 13 2018, 04:18) *
Зря вы так.


Это понятно, но тут несколько другая картина, есть железо, которое прекрасно может выполнять свои фенкции и быстроты для этого хватит, но ТС искусственно ставит на него фреймворк микролинукс, который здесь явно пятое колесо и будет вносить только торможение и жрачку ресерсов, причем, когда можно обойтись даже простым суперлупом... Вот это я не понимаю...
winniethepooh
Цитата(mantech @ May 13 2018, 17:30) *
Это понятно, но тут несколько другая картина, есть железо, которое прекрасно может выполнять свои фенкции и быстроты для этого хватит, но ТС искусственно ставит на него фреймворк микролинукс, который здесь явно пятое колесо и будет вносить только торможение и жрачку ресерсов, причем, когда можно обойтись даже простым суперлупом... Вот это я не понимаю...


я тут уже писал почему возникла нужда в линуксе, я вас услышал, поэтому хочу просто поблагодарить, тех кто высказался
и особенно тех кто дал совет.
Всем успехов!
timurey
посмотрите Oryx Cyclone TCP, вроде есть поддержка posix
winniethepooh
Цитата(timurey @ May 14 2018, 09:58) *
посмотрите Oryx Cyclone TCP, вроде есть поддержка posix

Спасибо за ссылку timurey. Кажется Oryx не поддерживает uClinux буду разбираться..
timurey
В open версии гляньте файл common/os_port_posix.c
winniethepooh
Цитата(timurey @ May 14 2018, 12:18) *
В open версии гляньте файл common/os_port_posix.c

еще раз спасибо, гляну
Tarbal
Цитата(winniethepooh @ May 11 2018, 12:59) *
да есть мысли перейти на более производительный процессор, но сдерживает уже
имеющееся железо (которое сейчас работает под FreeRTOS). т.к. под рукой
есть только то что есть, хотелось бы разобраться в причинах.
Есть шанс что где то косяк в драйвере (не большой).
Есть мысли попробовать отказаться от линуксового tcp/ip стека и попробовать
привязать lwip.


Orangepi или Nanopi Neo легко поддерживают Линукс и веб сервер поставить без проблем. Сбрасывайте свои гири со старым железом. Orangepi правда кривоват, а Nanopi Neo неплохо работает, но если только веб сервер нужен, то и Orangepi хорош.
AlexG
Цитата(timurey @ May 14 2018, 14:58) *
посмотрите Oryx Cyclone TCP, вроде есть поддержка posix


Cyclone TCP поддерживает и Posix и FreeRtos и вообще без операционки неплохо работает
winniethepooh
Цитата(Tarbal @ May 17 2018, 02:19) *
Orangepi или Nanopi Neo легко поддерживают Линукс и веб сервер поставить без проблем. Сбрасывайте свои гири со старым железом. Orangepi правда кривоват, а Nanopi Neo неплохо работает, но если только веб сервер нужен, то и Orangepi хорош.


а хорошо ли работает GNU Debugger
juvf
хорошо. Там же полноценный Linux (Debian, Ubuntu, ...). По крайней мере на малине gdb, установленный из дефолтного репа Raspbian, работает отлично! На небольшие "фрукты" можно поставить легковесный Server Monkey.
winniethepooh
Цитата(juvf @ May 18 2018, 10:00) *
хорошо. Там же полноценный Linux (Debian, Ubuntu, ...). По крайней мере на малине gdb, установленный из дефолтного репа Raspbian, работает отлично! На небольшие "фрукты" можно поставить легковесный Server Monkey.


в данный момент присматриваюсь к i.MX 6SoloX Processors. одно из преимуществ наличие двух процессоров в одном корпусе.
на cortex a-9 можно запустить линукс, на cortex m-4 freertos.
мне кажется это интересной особенностью данного устройства.
а вы что думаете?
juvf
Цитата(winniethepooh @ May 18 2018, 14:46) *
а вы что думаете?
Тут я не подскажу... я могу поделиться опытом, но с этим камнем не работал, это во первых, во вторых я не знаю для каких задач он вам, какой бюджет..... По фрискэлам может Александр чего подскажет, он по ним вроде ....

На вскидку не плохой процессор с мощной графикой. его ниша - человеко-машинные интерфейсы для встраиваемых систем.

ps а сколько сие чудо будет стоит в этой стране России? срок поставки?
winniethepooh
Цитата(juvf @ May 18 2018, 11:23) *
Тут я не подскажу... я могу поделиться опытом, но с этим камнем не работал, это во первых, во вторых я не знаю для каких задач он вам, какой бюджет..... По фрискэлам может Александр чего подскажет, он по ним вроде ....

На вскидку не плохой процессор с мощной графикой. его ниша - человеко-машинные интерфейсы для встраиваемых систем.

ps а сколько сие чудо будет стоит в этой стране России? срок поставки?

около 40 американских денег, по сроку ничего не могу сказать
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.