2010-04-16 2 views
5

Я пишу встроенные приложения для различных аппаратных средств (avr, arm7, tms55xx ...) и разных rtoses (freeRTOS, rtx, dsp/bios). И каждый второй из них должен общаться с ПК или другим цифровым устройством. Иногда логика взаимодействия очень продвинута. Поэтому мне интересна общая методология (например, стиль государственного машинного программирования), спецификация протокола или библиотека, которые могли бы упростить разработку таких вещей.Есть ли легкие аналоги для CORBA/RPC для встроенных программ?

ответ

6

Я был очень доволен protocol buffers google для встроенных систем как для передачи данных, так и для механизмов RPC. Они немного легче, чем системы на основе XML, поскольку данные передаются двоично-кодированными, а декодирование отправленных данных требует минимальной обработки, что является большим плюсом для использования процессора на встроенной стороне ссылки.

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

+0

Можете ли вы рекомендовать какие-либо конкретные реализации для встроенных C? –

+0

http://code.google.com/p/protobuf-c/ – Mark

1

Here - это статья о Embedded.com на CORBA на встроенных системах и «легком» или минимальном исполнении. Коммерческие решения, упомянутые для QNX, VxWorks и LynxOS. И another article на RPC на Embedded.com (это автор, созданный тренером TI DSP и специально связанный с DSP, поэтому может иметь отношение к DSP/BIOS).

Я настоятельно рекомендую вам использовать поиск статей в Embedded.com, возможно, есть много похожих статей, которые вы найдете полезными.

VxWorks supports RPC, как есть QNX Neutrino.

«Roll your own» всегда был моим решением, когда соответствие стандартам и межсистемная совместимость не являются проблемой (например, мои системы разговаривают с моими системами). Выполнение только точно, что вам нужно, это лучший способ добиться «легкого», возможно, за счет гибкости и ремонтопригодности.

+0

Я читал эти статьи. CORBA предназначен для гораздо более продвинутых взаимодействий, чем мои программы. Протокол RPC от кодека кодека TI является достаточно легким, но очень специфичным и не подходит для моих приложений. – Mtr

0

Протоколы являются естественными для государственных машин, поэтому, возможно, вы можете использовать очень легкие рамки с открытым исходным кодом QP (state-machine.com). Готовые к использованию порты QP и примеры для различных компиляторов доступны для AVR, MSP430, ARM7/ARM9, TMS320C28x, PSoC, HC08, M16C/R8C, H8, 8051, PIC18, PIC24/dsPIC, ARM Cortex-M3/M0 и многих другие.

Примечание: Я работаю http://state-machine.com

+0

Не совсем спам. Однако, Миро, мы не используем подписи на SO. Я отредактировал ваш ответ, чтобы показать один способ получить одну и ту же информацию. Я также собираюсь опросить ответ, потому что я не думаю, что он непосредственно решает вопрос. –

+0

Да, это было мое намерение указать, что я работаю для state-machine.com. –

2

OpenJAUS.

Это отражающий, составной и стандартизированный (ish) Работает кросс-язык-кросс-платформенный.

Обеспечивает гораздо больше рамок, чем протокольные буферы (который представляет собой аккуратный стек обмена сообщениями) Он ориентирован на робототехнику, но работает для систем управления.

Теоретически пользовательский интерфейс JAUS может работать с любым JAUS-совместимым устройством, а системы JAUS предназначены для компоновки в системные системы.

Если эти вещи не имеют смысла, пожалуйста, игнорируйте это предложение.

Смежные вопросы