Установка другой прошивки на Arduino

Можно ли обновить прошивку на Arduino, чтобы она могла делать больше вещей, например, переодевание /перенапряжение изменений, чтобы обеспечить большую вычислительную мощность. Чтобы сделать это, вам, скорее всего, придется заново запустить чип, так как это будет сделано?

10 голосов | спросил JVarhol 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 03:10:53 +0400000000amWed, 12 Feb 2014 03:10:53 +040014 2014, 03:10:53

2 ответа


7

Чтобы ответить на аспект вашего вопроса о «прошивке» на MCU ATmega328p, который использовался на большинстве плат Arduino:

На ATmega нет прошивки, кроме загрузчика. Написанные вами программы работают напрямую на оборудовании.

Существуют определенные настройки «плавкого предохранителя», которые устанавливаются с помощью программиста ISP . Однако есть только 24 из них (три байта), и они в основном связаны с низкоуровневой конфигурацией, и я не думаю, что вы спрашиваете:
 введите описание изображения здесь>> </p>

<p> Существует также <a href= загрузчик , который представляет собой небольшую программу, которая находится в отдельной сегмент программной памяти MCU и позволяет ему обновляться при запуске (так программируются все ардуины). Тем не менее, он запускается только в течение короткого периода времени при запуске и полностью удаляется из памяти после того, как MCU перешел в основную программу.

Наконец, на большинстве плат arduino есть вспомогательные MCU (ATmega16U2 /8U2), которые используются в качестве последовательных интерфейсов USB, которые можно обновить can , чтобы вести себя по-другому (например, эмулировать клавиатуру /мышь), но опять же, это фактически не изменение основного процессора, поэтому, независимо от того, считается ли оно «установкой другой прошивки», зависит от того, как вы определяете arduino.

Действительно, я настоятельно рекомендую прочитать ATmega328P datasheet . Это документация для MCU, которая в основном формирует «Arduino». Он должен учитывать то, что кажется неправильным.

ответил Connor Wolf 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 11:01:23 +0400000000amWed, 12 Feb 2014 11:01:23 +040014 2014, 11:01:23
5

Обратите внимание на приведенную ниже диаграмму, касательно вашего включения /выключения устройства для другого F_CPU, указывает на связь. В результате вы обнаружите, что у большинства Arduino работает 5V и тактовая частота 16MHz. Хотя есть некоторые варианты 3.3V, которые работают на частоте 8 МГц.

Freq vs Vcc

Однако основная библиотека, снабженная IDE, обычно имеет определенные # if для обеих скоростей F_CPU на 8 и 16 МГц, не используя формулу в большинстве мест.

Следовательно, можно делать то, что вы просите. Тем не менее, вы обнаружите, что основные ограничения библиотеки влияют. Наклонение соотношения затрат и выгод, а также самого намерения. И тогда, вероятно, вы оставите библиотеки IDE и базовые библиотеки более способным makefile.

ответил mpflaga 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 05:50:03 +0400000000amWed, 12 Feb 2014 05:50:03 +040014 2014, 05:50:03

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

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

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