Могу ли я программировать свой Arduino, используя любой другой язык программирования, кроме C ++? Если да, то какие языки программирования? Какое программное обеспечение мне понадобится для компиляции и загрузки моего кода на Arduino?
programming
software
tstew
источник
источник
Ответы:
Некоторые общеизвестные:
Теоретически, вы должны иметь возможность расширять avr-gcc для поддержки других языков, хотя это немалая задача. Я хотел бы также предостережение , что поддержка других языков , чем C , как правило , поставляется с некоторыми довольно весомые ограничения на компоненты языка - например, даже с C ++ это не рекомендуется , чтобы быть инстанцировании новые объекты , как
malloc
иfree
очень дорогие и в пространстве памяти и циклов.Помимо использования Google, следующие ссылки применимы Нажмите здесь.
источник
Теоретически, можно использовать любой компилятор, который выводит сборку AVR (ограничения по модулю на размер кода, использование оперативной памяти и т. Д.).
Бэкэнды AVR существуют как для LLVM, так и для GCC, поэтому теоретически, при определенных усилиях, большинство языков, которые поддерживаются LLVM и интерфейсами GCC, могут быть скомпилированы в AVR. Большим вопросом будет поддержка библиотеки и т. Д.
Тем не менее, вот несколько странных вариантов для духа вопроса, а не его буквы [1].
Ох, и вы могли бы написать сырье AVR Assembly !
[1] - Я не пробовал это все же!
источник
Есть также некоторые люди, работающие над системами на основе Javascript node.js. Один из них уже доступен для общественности - Espruino, а другой - Tessel, который будет выпущен весной 2014 года.
источник
Поскольку avr-g ++ должен поддерживать все стандартные конструкции C / C ++, можно кодировать встроенную сборку. Больше информации на этой ветке arduino.cc
источник
Я удивлен, что никто не упомянул AVR Assembly !
Сборка не часто считается самым интересным или даже простым методом программирования, но, тем не менее, она на 100% возможна для всех Arduino на базе AVR. Платы SAM, скорее всего, не будут работать с этим видом, но все же возможно использовать ассемблер в их программировании.
Все платы Arduino (на момент публикации) поддерживают программирование сборки через Atmel Studio . SDK создан для чипов Atmel.
Сборка изначально поддерживается всеми устройствами Atmel, и для ее работы не требуется загрузчик, поэтому все программы работают в реальном времени.
источник
__asm__("Assembly code here")
работает, чтобы добавить встроенную сборку в любой эскиз. Однако для большинства программ это плохая идея, поскольку с помощью этого метода трудно добиться независимости от платформы.