Я пишу встроенные приложения для различных аппаратных средств (avr, arm7, tms55xx ...) и разных rtoses (freeRTOS, rtx, dsp/bios). И каждый второй из них должен общаться с ПК или другим цифровым устройством. Иногда логика взаимодействия очень продвинута. Поэтому мне интересна общая методология (например, стиль государственного машинного программирования), спецификация протокола или библиотека, которые могли бы упростить разработку таких вещей.Есть ли легкие аналоги для CORBA/RPC для встроенных программ?
ответ
Я был очень доволен protocol buffers google для встроенных систем как для передачи данных, так и для механизмов RPC. Они немного легче, чем системы на основе XML, поскольку данные передаются двоично-кодированными, а декодирование отправленных данных требует минимальной обработки, что является большим плюсом для использования процессора на встроенной стороне ссылки.
Есть доступные библиотеки для разных языков, но, самое главное, для встроенных приложений.
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» всегда был моим решением, когда соответствие стандартам и межсистемная совместимость не являются проблемой (например, мои системы разговаривают с моими системами). Выполнение только точно, что вам нужно, это лучший способ добиться «легкого», возможно, за счет гибкости и ремонтопригодности.
Я читал эти статьи. CORBA предназначен для гораздо более продвинутых взаимодействий, чем мои программы. Протокол RPC от кодека кодека TI является достаточно легким, но очень специфичным и не подходит для моих приложений. – Mtr
Протоколы являются естественными для государственных машин, поэтому, возможно, вы можете использовать очень легкие рамки с открытым исходным кодом 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
Не совсем спам. Однако, Миро, мы не используем подписи на SO. Я отредактировал ваш ответ, чтобы показать один способ получить одну и ту же информацию. Я также собираюсь опросить ответ, потому что я не думаю, что он непосредственно решает вопрос. –
Да, это было мое намерение указать, что я работаю для state-machine.com. –
OpenJAUS.
Это отражающий, составной и стандартизированный (ish) Работает кросс-язык-кросс-платформенный.
Обеспечивает гораздо больше рамок, чем протокольные буферы (который представляет собой аккуратный стек обмена сообщениями) Он ориентирован на робототехнику, но работает для систем управления.
Теоретически пользовательский интерфейс JAUS может работать с любым JAUS-совместимым устройством, а системы JAUS предназначены для компоновки в системные системы.
Если эти вещи не имеют смысла, пожалуйста, игнорируйте это предложение.
Недавно мы developted: https://github.com/EmbeddedRPC/erpc дать шанс на него;)
- 1. Есть ли легкие альтернативы gSOAP?
- 2. Есть ли хорошие/интересные аналоги для регулярных выражений в 2d?
- 3. Есть ли аналоги Git для svn: свойства bugtraq?
- 4. Есть ли аналоги для рейк-задач в Express?
- 5. Есть ли утилита для отступа C++-программ
- 6. Есть ли аналоги globalStorage в Chrome?
- 7. Есть ли аналоги javax.smartcardio на Android?
- 8. Есть ли в Акке легкие актеры?
- 9. Аналоги для разблокировки в R
- 10. - это трубы для столбов легкие?
- 11. Аналоги Кластера Intel OpenMP
- 12. Есть ли диаграмма встроенных классов?
- 13. Есть ли инструмент для непосредственного запуска программ с аргументами?
- 14. Есть ли инструмент статического инвариантного обнаружения для программ C?
- 15. Есть ли служба для развертывания бинарных файлов приложений/программ (выпусков)?
- 16. Есть ли рекомендуемый набор значков для программ Windows 7?
- 17. Есть ли API для вызова системных скриптов/программ?
- 18. Есть ли альтернатива для сна() в C?
- 19. Есть ли способ обхода работы операторов класса для встроенных типов
- 20. Есть ли Java 5 VM для встроенных сред?
- 21. Есть ли там, где список встроенных функций для Swift?
- 22. Есть ли у python магические методы для всех встроенных функций?
- 23. Как выбрать легкие драгоценные камни для рельсов?
- 24. iOS выбор программ из программ для фотографий
- 25. Есть ли Opensource, бесплатные аналоги XF.Network (продукт для создания быстрых серверов с .Net)
- 26. Легкие и простые альтернативы wordpress для usermanagement?
- 27. Есть ли специальности во встроенных областях
- 28. Существует ли тип файла для программ APL?
- 29. Есть ли какие-либо легкие ASP.NET MVC-платформы, поддерживающие OpenID?
- 30. Какие лучшие легкие решения для перетаскивания?
Можете ли вы рекомендовать какие-либо конкретные реализации для встроенных C? –
http://code.google.com/p/protobuf-c/ – Mark