Предложения для самого соответствующего (лучшего) языка для программирования встроенной системы? [закрытый]

Если у вас есть экземпляр класса, вы можете получить доступ к методам этого экземпляра:

mc = MyClass()
run_funcs([mc.m1, mc.m2])
7
задан pinpinokio 30 August 2011 в 21:28
поделиться

10 ответов

Я использовал Lua на процессоре ARM OMAP. Тесная интеграция Lua с C позволяет идти в металл каждый раз, когда Вам нужно, и его небольшой размер делает это подходящим для широкого спектра платформ. Я разработал UI для своего встроенного микропрограммного обеспечения в Lua на моем Mac и затем принес его к встроенной платформе без изменений.

В то время как процессор OMAP был достаточно раскормлен для выполнения других языков как Java или Python, я не знал, для каких аппаратных средств я был нацелен, когда я запустил код. Lua был безопасной ставкой.

4
ответ дан 6 December 2019 в 05:49
поделиться

C является, вероятно, Вашим лучшим выбором для таких ограниченных ресурсов CPU.

6
ответ дан 6 December 2019 в 05:49
поделиться

Если Вы поднимаете устройство с нуля или взаимодействуете через интерфейс непосредственно с нестандартными периферийными устройствами, C является действительно единственным способом пойти.

Если Вы уже получили встроенную ОС или можете портировать ту без труда, у Вас могло бы быть больше гибкости в добавлении одного из большего количества языков сценария-y. C# вне рассмотрения, если Вы не будете на WinCE, и затем Вы будете ограничены Микро.NET.

Кроме того, "лучше всего" имеет мало значения, не описывая то, для чего Ваше устройство будет используемым. Некоторые языки имеют лучшую поддержку определенных задач, чем другие.

8
ответ дан 6 December 2019 в 05:49
поделиться

Важно указать то, что Вы ожидаете, что это устройство сделает. Это - своего рода приложение управления? Это должно реализовать алгоритмы? Что относительно поддержки с плавающей точкой? Графический интерфейсы пользователя? Действительно ли производительность очень важна? Вы - планирование использования ОС?

Ответ на эти вопросы является решающей предпосылкой к выбору языка программирования.

Тем не менее встроенные системы должны быть надежными, таким образом, я пошел бы для некоторого протестированного решения. C является, вероятно, самой твердой и лучше всего поддерживаемой опцией для микросхем ARM, но YMMV в зависимости от Ваших определенных потребностей.

4
ответ дан 6 December 2019 в 05:49
поделиться

Если у Вас нет доступного RTOS, которое поддерживает множество альтернативных языков, C, или C++ (в зависимости от Вашей цепочки компилятора) является способом пойти.

1
ответ дан 6 December 2019 в 05:49
поделиться

Я испытал бы желание пойти с прямым C, но затем я писал C в течение почти 30 лет. Lua и TinyPy кажутся слишком новыми, экспериментальными мне; встроенные устройства должны быть очень устойчивыми.

Java ME имеет положительные стороны. Я не знаю о C# во встроенном мире.

4
ответ дан 6 December 2019 в 05:49
поделиться

Ваше решение, скорее всего, будет определено инструментами, avaiable для этого процессора.

C является безусловно большей частью поддерживаемого языка для встроенных процессоров, таким образом, Вы не можете пойти далеко неправильно с этим, и это будет хороший опыт, если необходимо записать программное обеспечение для других микросхем в будущем.

C++ становится более популярным для встроенных систем. Кроме того, это зависит от Ваших приоритетов (время выхода на рынок, использование ресурсов, скорость), и качество инструментов, которые Вы используете.

1
ответ дан 6 December 2019 в 05:49
поделиться

Править: хм. Я просто заметил, что 'встроенное', которое Вы, кажется, описываете, не о добавлении языка автоматизации к приложению, но сжатия приложения во встроенную платформу. Как другие предполагают, если Вам действительно не нужен он, пропустите встраиваемые языки и программируйте Ваше приложение в C. Нет почти никакого времени выполнения наверху для этого, за исключением того, что Вы на самом деле используете.

Без определенного порядка Lua, JavaScript и TCL все вполне хорошо подходят для встраивания. Lua был самым легким для меня встроить. JavaScript мог бы быть самым быстрым. Все три имеют хорошую обработку для недоверяемого кода, но TCL's является самым устойчивым, например, недоверяемый код может выполнить недоверяемый код (если этому доверяют, чтобы сделать так много).

1
ответ дан 6 December 2019 в 05:49
поделиться

C the best

1
ответ дан 6 December 2019 в 05:49
поделиться

C, безусловно, является наиболее часто используемым языком во встроенных системах. Также кажется, что это самый обсуждаемый язык в целом http://www.langpop.com/

2
ответ дан 6 December 2019 в 05:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: