Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:5
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:9
Форум » starterkit.ru » Embedded Linux
Linux+Java на базе STM3210E
KM
Добавлено 10.05.2011 11:38
0
Сообщение: 1
KM
0

Пункты: 150
Регистрация: 10.05.2011
Здравствуйте, опытные люди!

Помогите, пожалуйста, новичку.
Исследуется возможность разработки устройства, содержащего два уровня: С-код для общения с датчиками и обработки данных и Java-код для интеграции в общую систему и UI.
В качестве отправной точки и экспериментов имеется STM3210E. Ясно, что на ней развернуть предполагаемый софт не удастся - не хватит памяти и скорости.

Можете посоветовать плату, близкую к STM3210E, но достаточно мощную для запуска Linux+JVM?
Как в этом случае поступить с Linux - собрать собственный (до этого не приходилось), или воспользоваться существующей сборкой, содержащей JVM? Быть может, посоветуете конкретный дистрибутив?

Заранее спасибо.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.05.2011 14:02 Редактировалось 10.05.2011 14:06 Сообщение: 2
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Что-то выбирать должны все же вы сами - что используется из периферии неясно, думаю платы на at91sam9260 подойдут, кроме CAN там вроде все есть. Чтобы сориентироваться насчет java на arm/linux - думаю это вам поможет
http://free-electrons.com/docs/java/

PS сам я джавой не увлекаюсь, в buildroot есть правила для сборки jamvm но этот пакет почему-то в состоянии broken.
Спуститься к концу Подняться к началу
Персональная информация
KM
Добавлено 10.05.2011 14:34 Редактировалось 10.05.2011 14:36 Сообщение: 3
KM
0

Пункты: 150
Регистрация: 10.05.2011
Спасибо за ответ! Док по ссылке я, в принципе, уже просматривал, общее представление имеется. Аt91sam9260, вроде бы подходит.

Интересно еще, каковы реальные аппетиты Linux+Java в плане ресурсов? Никому не доводилось пробовать?
На оффсайте имеется Embedded версия Java, теоретически она должна встать на Linux.
Никому не приходилось устанавливать ее и работать? Есть ли существенные различия в ресурсоемкости по сравнению с Java SE?

(Работа моя носит в достаточной степени исследовательский характер - выбор платформы, подходов - потому так нечетки требования и так много вопросов.)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.05.2011 14:55 Сообщение: 4
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Цитата

Док по ссылке я, в принципе, уже просматривал
...
Интересно еще, каковы реальные аппетиты Linux+Java в плане ресурсов?


Там же в доке про память сказано

Цитата

Java SE for embedded
...
Suitable if you have more than 32 MB of memory and storage,
otherwise only Java ME is suitable.
Спуститься к концу Подняться к началу
Персональная информация
Lampus
Добавлено 10.05.2011 15:36 Сообщение: 5
Lampus
5

Пункты: 3552
Регистрация: 26.04.2011
А если не секрет, почему хочется именно яву?
Чисто хохмы ради можно Garbage Colector к C/C++ прикрутить - есть такая штука как libgc: http://www.hpl.hp.com/personal/Hans_Boehm/gc/
А вообще у LLVM есть какие-то подвижки в сторону JIT-компиляции, вот это было бы интересно попробовать.
Спуститься к концу Подняться к началу
Персональная информация
KM
Добавлено 11.05.2011 06:32 Сообщение: 6
KM
0

Пункты: 150
Регистрация: 10.05.2011
Цитата
Цитата

Док по ссылке я, в принципе, уже просматривал
...
Интересно еще, каковы реальные аппетиты Linux+Java в плане ресурсов?


Там же в доке про память сказано

Цитата

Java SE for embedded
...
Suitable if you have more than 32 MB of memory and storage,
otherwise only Java ME is suitable.


На оффсайте для Embedded Java:
ARM V7 Headfull - RAM 64MB or more for Java, ROM/Flash/Disk 46MB or more for Java
Но это, так сказать, официальные данные. Практические наблюдения были бы полезнее.
Спуститься к концу Подняться к началу
Персональная информация
KM
Добавлено 11.05.2011 06:35 Сообщение: 7
KM
0

Пункты: 150
Регистрация: 10.05.2011
Цитата
А если не секрет, почему хочется именно яву?


В основном, ради переносимости. Планируется постоянное развитие, модули будут кочевать и повторно применяться.
Спуститься к концу Подняться к началу
Персональная информация
usb2serial
Добавлено 11.05.2011 19:42 Сообщение: 8
usb2serial
0

Пункты: 45
Регистрация: 11.05.2011
Это шутка такая? Ява портирована под считанные единицы платформ. А связываться с например компиляцией этого монстра и заталкиванием его в свою железку будет только отчаянный мазозист. Не говоря уж о потреблении ресурсов, которое на десктопах то напрягает, а уж в этой мелочи - превратится в полный геморрой.

С другой стороны, аккуратно написанный сишный исходник
1) совершенно пофигистичен к типу процессора.
2) не зависит от наличия под платформу прорвы чужих библиотек, особенно такого переростка как ява, который в эмбеддовке редкость и вообще изврат.
3) если исходник написан нормально, он запросто компилится под все что шевелится и снабжено сишным компилером. От мизерной восьмилапой "тиньки" до могучего ксеона. Яве такая переносимость и не снилась. Чисто вычислительные дела от операционной системы и прочая вообще не зависят.
4) Если не хочется зависеть например от операционки, хочется мощный GUI и независимость от ОС, гляньте на Qt и GTK. Кутевая программа без особых проблем может работать в линуксе, винде и на маке вообще без изменений исходника. Хотя связываться с этим имеет смысл только если нужно реально навороченный GUI типа десктопного, с диалогами, кнопками и прочими наворотами. Если GUI не нужен - будет много лишнего хлама пожирающего ресурсы. Оно вам надо - бороться с тормозами и граблями чужих фреймворков/библиотек? Если надо - вперед на мины! Ведь при правильном подходе, выбрав на старте дурное решение, можно так здорово усложнить себе жизнь. Ява - отличный способ сделать свою жизнь в эмбеддоваке не слишком скучной - у вас будет уйма проблем которых у других нет. А именно, Оракл не будет лично для вас собирать яву и детально тестировать на лично вашей платформе. Поэтому что вы там получите...
Спуститься к концу Подняться к началу
Персональная информация
Lampus
Добавлено 11.05.2011 20:05 Редактировалось 11.05.2011 20:07 Сообщение: 9
Lampus
5

Пункты: 3552
Регистрация: 26.04.2011
Хм, я склонен согласится с предыдущим оратором.
Довелось мне однажды поддерживать сервер написанный на яве. Ну и намучался я с ним. Было это лет 5 назад, машина была на двух Opteron 250 c 4GB RAM, за час это поделие сжирало всю оперативу.
А помните такую штуку как Azureus (торрент-клиент, сейчас Vuze называется)? Он начинал тупить уже при пяти закачках.

А что касается переносимости, то таки да, правильно написанный Сишный код работает везде. Единственное о чём придётся заботится:
1) размерность стандартных типов. Например, когда я писал для Microchip'ов 18-ой серии, то там размер int-а зависел от компилятора. Для ccs int был восьмибитный, для C18 - 16-ти. Так что лучше использовать переопределённые типы а ля uint16_t, int32_t. Либо самому описать, либо stdint.h полдключить.
2) Не использовать директивы специфичные для конкретного компилятора, если это возможно. Как пример - #bit для ccs
3) Проверять little-endian или big-endian система используется, там где это критично.
4) Все аппартано-зависимые функции выносить в HAL.
Спуститься к концу Подняться к началу
Персональная информация
KM
Добавлено 12.05.2011 15:03 Редактировалось 13.05.2011 09:02 Сообщение: 10
KM
0

Пункты: 150
Регистрация: 10.05.2011
Джентльмены, спасибо за ответы и соображения!

Мне известно о существовании QT, GTK, и мне приходилось применять Java (и не только) как на клиентах так и на серверах.
В принятии решений я вынужден руководствоваться не только соображениями технического характера, но и, увы, вопросами управления проектами - экономическими, например, а также разнообразными рисками, связанными с использованиями тех, или иных средств.

Мне интересна Java + Linux на ARM и я уже писал - почему. ;)

Взыскиваю к вашему опыту и профессионализму! :)
Кто-нибудь сталкивался с подобной связкой на практике?
На каких платформах и на каких дистрибутивах?

Спасибо.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux