Можно ли обновить прошивку на Arduino, чтобы он мог выполнять больше задач, таких как изменение пониженного или пониженного напряжения для обеспечения большей вычислительной мощности. Для этого вам, скорее всего, придется заново прошить сам чип, так как это будет сделано?
arduino-uno
firmware
JVarhol
источник
источник
Ответы:
Чтобы ответить на вопрос, касающийся «прошивки» на микроконтроллере ATmega328p, используемого в большинстве плат Arduino:
На ATmega вообще нет прошивки, кроме загрузчика. Программы, которые вы пишете, работают непосредственно на оборудовании.
Существуют определенные настройки «предохранителей», которые устанавливаются с помощью программатора ISP . Однако их всего 24 (три байта), и они в основном относятся к низкоуровневой конфигурации, и я не думаю, что вы спрашиваете:
Существует также загрузчик , который представляет собой небольшую программу, которая находится в отдельном сегменте программной памяти MCU и позволяет ему обновляться при запуске (так программируются все ардуино). Тем не менее, он запускается только в течение короткого периода времени при запуске и полностью удаляется из памяти после перехода MCU к основной программе.
Наконец, на большинстве плат Arduino есть вспомогательные микроконтроллеры (ATmega16U2 / 8U2), которые используются в качестве последовательных USB-интерфейсов, которые можно обновлять, чтобы они вели себя по-разному (например, эмулировали клавиатуру / мышь), но, опять же, это на самом деле не является изменением. к ядру процессора, так что считается ли он «установкой другой прошивки», зависит от того, как вы определили arduino.
На самом деле, я настоятельно рекомендую ознакомиться с таблицей ATmega328P . Это документация для MCU, которая в основном образует «Arduino». Он должен учитывать то, что кажется ошибочным.
источник
Обратите внимание на приведенную ниже таблицу, в отношении вашего недостаточного / избыточного напряжения устройства для другой F_CPU, указывает взаимосвязь. В результате вы обнаружите, что большинство Arduino работают при 5 В и тактовой частоте 16 МГц. Пока есть несколько вариантов 3.3В, которые работают на 8МГц.
Тем не менее, базовая библиотека, поставляемая с IDE, обычно имеет специфические # if для скоростей F_CPU 8 и 16 МГц, в большинстве случаев не использующие формулы.
Следовательно, можно делать то, что вы просите. Тем не менее, вы обнаружите, что основные ограничения библиотеки влияют. Отклонение соотношения затрат и выгод к цели. И тогда, вероятно, можно было бы оставить Stock IDE и основные библиотеки более подходящим для makefile методом.
источник