Каковы возможные проблемы при перемещении Arduino в другой микроконтроллер?

Когда Arduino был задуман, AVR был самым лучшим 8-битным контроллером. Но нам уже 10 лет, и мы все еще используем AVR, несмотря на наличие множества доступных микроконтроллеров, особенно ARM. В частности, M0 и M0 + ядра намного дешевле, но намного быстрее и имеют гораздо больше возможностей, чем AVR.
Например, NXP LPC824 имеет больше последовательных шин, больше A /D-каналов и более высокое разрешение A /D, почти в два раза быстрее, чем AVR, но стоит на 30% меньше. (Конечно, у него нет EEPROM, но вы можете получить это за 20 центов.)

Поэтому мне было интересно, есть ли особые проблемы, которые препятствуют использованию более современных микроконтроллеров на Arduino.
Одна разница может быть Vcc, что составляет 5 В для AVR и 3,3 В для ARM. Но, учитывая, что больше периферийных устройств работает на 3,3 В, это больше похоже на проблему с AVR, чем проблема с ARM.

PS: Я знаю Arduino Due, но это стоит вдвое больше, чем Uno. Я говорю о контроллерах, которые по цене могут конкурировать с AVR.

2 голоса | спросил Joris Groosman 8 Maypm15 2015, 13:11:34

1 ответ


2

Существует NO лучший 8 бит или 16 или любой бит uC (микроконтроллер).
Там всегда были «лучшие», и всегда будут и улучшаться изменения с вашей потребностью, а также со временем.

Если вам нужен или нужен более быстрый или более мощный процессор, используйте его.
Для многих задач существующие AVR-процессоры очень хороши.

Некоторые люди делают Arduino-like uC, используя ARM прямо сейчас.
Вы можете купить их «с полки».

При запуске кода «Arduino» возникают проблемы:
Если вы хотите запустить 100% стандартное приложение Arduino, то приложения, как правило, будут хорошо работать на новом UC.
Если приложения используют предварительно скомпилированные библиотеки, и вы хотите использовать, например, ARM, он не будет запущен.
Если вы перекомпилируете библиотеки, и они написаны на совместимом языке (C или что-то еще), они МОГУТ работать для вашего нового процессора.
Если они используют ассемблер, то они не будут работать практически во всех случаях.

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

Это становится все труднее и труднее, когда вы пытаетесь вместить новых гигантов в старую не-гигантскую структуру. Где-то по пути легче отказаться от попытки и использовать Arduino для того, для чего это полезно, и «нового» процессора там, где это необходимо.

Независимо от того, что Arduino преуспел, когда он все еще хорошо работает.

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

ответил Russell McMahon 8 Maypm15 2015, 14:57:38

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132