Обеспечение совместимости микроконтроллеров с Arduino

custom

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

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

Если мне придется начать использовать другой язык, какое программное обеспечение мне использовать для загрузки кода в эти процессоры? И есть ли у них общие функции, такие как Serial Monitor и Serial Plotter, как у Arduino IDE.

, 👍2

Обсуждение

На сайте mbed.org есть несколько плат, совместимых с Arduino, с микроконтроллером на базе ядра ARM (примечание: мой работодатель выпускает одну из них, MAX32600MBED)., @MarkU

Что вы подразумеваете под "мощностью"? Фактическая электрическая мощность, т.е. "больше ватт" или большая вычислительная мощность, т.е. "больше MIPS" (или "больше МГц")? Из вашего вопроса это не ясно., @Lorenzo Donati -- Codidact.com

Уже существуют совместимые с Arduino 32-битные платы микроконтроллеров (ARM, MIPS, X86 ....) - см. Википедию "Список плат Arduino и совместимых систем", @Jasen


3 ответа


0

Arduino IDE поддерживает целый список микросхем:

http://forum.arduino.cc/index.php?topic=145065.0

Некоторые из них намного мощнее других. Но, отвечая на ваш вопрос, нет, вы не можете сказать: возьмите ARM и используйте с ним Arduino IDE. Все сводится к вашему компилятору и среде. На работе мы используем процессоры на базе ARm и Keil uVision для программирования и Flip для их программирования. На моей предыдущей работе мы использовали микроконтроллеры Freescale Kinetis с CodeWarrior для прошивки и написания программного обеспечения. Все зависит от того, что вы решите использовать для своего приложения, но все сводится к тому, что это будет C или ассемблер, если вы решите пойти этим путем.

,

С другой стороны, вы можете взять существующую поддержку ARM для Arduino и модифицировать ее соответствующим образом для вашего конкретного чипа., @Ignacio Vazquez-Abrams

Это очень устаревший список. Лучше https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls в дополнение к странице продукта: https://www.arduino.cc/en/Main/Products. Если вы посмотрите на эти страницы, то увидите, что есть поддержка плат на базе ARM, созданных Arduino, а также плат ARM сторонних производителей, так что ваше утверждение неверно. Arduino — это не только AVR! Конечно, может потребоваться значительный объем работы, чтобы добавить поддержку ARM, которая в настоящее время не поддерживается, но это, безусловно, возможно., @per1234


2

Вы говорите о портировании. Среда arduino построена вокруг набора библиотек и команд, которые предназначены для абстрагирования низкоуровневого доступа к более простому высокоуровневому языку. Чтобы заставить код arduino работать на новом микроконтроллере, вам придется переписать и пересоздать библиотеки, используя низкоуровневый доступ вашего целевого микроконтроллера.

Например, Energia — это порт библиотек Arduino на линейку микроконтроллеров Texas Instruments MSP430. Поскольку не все функции одинаковы, часть кода не просто вставляется напрямую, но может быть добавлен дополнительный код или библиотеки, чтобы исправить это. Даже Arduino IDE, программа, используемая для написания кода и программирования Arduino, была портирована.

Было бы не так уж и просто перенести целую библиотечную базу.


Что касается других ваших вопросов, вы бы закодировали свой новый микроконтроллер на любом языке, который может использовать его программист и компилятор. Скорее всего, C или C++. Arduino обычно программируются на C++. Вам следует обратиться к производителю вашего микроконтроллера, чтобы узнать, какое программное обеспечение использовать и какие библиотеки они предлагают. Они, скорее всего, не предлагают что-то вроде последовательного монитора прямо из коробки.

,

...но портирование не требуется, если выбрать более мощный MCU, для которого уже существует порт., @Chris Stratton


-3

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

Вы всегда можете сделать свой собственный mcu. В общем, вам будет легче сделать его совместимым, если аппаратная часть вашего my похожа на avr.

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

,

"Вы всегда можете сделать свой собственный mcu" только если у вас есть несколько миллионов долларов для инвестиций, или это скорее академическое упражнение, чем что-то практическое. Сделать плату разработки легко, но mcu - это интегральная схема, а изготовление уникальных ИС отдаленно современной технологии *совсем* недешево., @Chris Stratton

@ChrisStratton Вы можете создать микроконтроллер на базе ПЛИС довольно дёшево., @Dave Newton

@DaveNewton дёшево с точки зрения NRE, абсурдно дорого с точки зрения себестоимости единицы продукции., @Chris Stratton