Arduino как ISP без компьютера

Кто-нибудь видел или знает способ предварительной загрузки (используя компьютер или что-то еще) прошивку в качестве данных на один arduino, настроенный для работы в качестве isp, а затем используя этот arduino подключите интерфейс isp к другому и загрузите прошивку.

Чтобы быть ясным - я ищу способ сделать загрузку ардуиновых эскизов возможным без прямого подключения к полномасштабному компьютеру.

В идеале были задействованы следующие шаги:

  1. Создать новый эскиз /прошивку
  2. Скомпилировать прошивку
  3. Запишите прошивку на Arduino A в качестве данных (Arduino A настроен для работы в качестве провайдера).
  4. Отсоедините Arduino A от компьютера.
  5. В отдельном месте присоедините Arduino A к Arduino B, используя заголовки ISP.
  6. Используя какой-либо метод (возможно, кнопку), запустите Arduino A, чтобы загрузить предварительно загруженную прошивку на Arduino B.

Я предполагаю, что теоретически это может сработать, потому что загрузка прошивки - это просто обмен байтами через интерфейс SPI, но я не уверен в реальности.

Сценарий, который я рассматриваю, заключается в том, что если я должен установить arduino (постоянно) в удаленном месте с моего компьютера (у меня нет ноутбука и я не хочу его получить), это будет хлопотно перепрограммировать его.

Другим методом, который я рассмотрел, является использование DIG-упакованной ATMEGA, которую я могу удалить с доски и запрограммировать на компьютере и вернуться на доску. Однако я бы предпочел не рисковать сгибанием контактов и хлопот для удаления чипа каждый раз, когда я хочу перепрограммировать.

10 голосов | спросил m3z 19 MarpmWed, 19 Mar 2014 21:10:02 +04002014-03-19T21:10:02+04:0009 2014, 21:10:02

2 ответа


5

Я думаю, ÂμProg â € "крошечный , быстрый, портативный AVR-программатор с SD делает то, что вы хотите. Вы можете хранить несколько файлов на SD-карте (hex, eep и т. Д.) И выбирать из меню устройства, для записи на целевой MCU без необходимости использования ПК.
Самое приятное, что он доступен бесплатно (печатная плата, схема, прошивка и т. Д.).

  

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

     

Особенности:

     
  • супер маленькие - размеры 44 x 39 x 5,5 мм
  •   
  • супер быстрый - записать до 12,5 кБ /с, читать до 14,5 кБ /с
  •   
  • использует дешевый носитель данных - маленькие карты MICRO SD.
  •   
  • поддерживает файловые системы FAT16 и FAT32
  •   
  • может читать, записывать, проверять флэш-память и память eeprom.
  •   
  • может читать, записывать, проверять плагины и блокировки
  •   
  • писать и читать файлы BIN, HEX и TXT
  •   
  • может устанавливать значения по умолчанию для плавких предохранителей, стирать память
  •   
  • дешево, легко получить, графический дисплей LPH7779
  •   
  • показывает забавные анимации после каждой операции
  •   
  • стандартный заголовок программирования - Atmel 6-PIN ISP
  •   
  • имеет функцию автоматического обновления собственной прошивки (от SD)
  •   
  • очень прост в использовании, 4 кнопки навигации
  •   
  • пользовательское меню
  •   
  • автоматический выбор скорости программирования (до 4 МГц)
  •   
  • Работает на 3V, программные чипы, поставляемые с 3V до 5V
  •   

Поддерживаемый список чипов

введите описание изображения здесь>> </p></body></html>

ответил alexan_e 20 MarpmThu, 20 Mar 2014 21:39:06 +04002014-03-20T21:39:06+04:0009 2014, 21:39:06
4

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

Хотя вы, очевидно, не можете загрузить 32k прошивки на целевом AVR, если у обоих ардуинов всего 32k общей вспышки в своих MCU, вам нужно, чтобы вспышка имела больше вспышки, чем цель, если вы хотите сделать это (1284p или 2560 Mega будет достаточно далеко, или 328 /32u4 будет пустым, чтобы вспыхнуть 168 или чердак). Единственным исключением было бы прошивку микропрограммы меньше, чем общая память (например, для мигающего эскиза).

В конце концов, это будет нелегко, это 100% чистый AVR-код, но вы можете это сделать. Посмотрите:

То, как я буду реализовывать это, - либо сделать все, что подходит в загрузчике устройства вспышки, так что он считывает прошивку (все от 0x00 до начального адреса загрузчика) и мигает через ISP путем слияния AVRISP с Optiboot .

В любом случае, это интересный проект для семинара о загрузчиках и AVR, которые я могу предложить в своем местном хакерском пространстве! ; -)

НТН

ответил zmo 19 MarpmWed, 19 Mar 2014 22:16:06 +04002014-03-19T22:16:06+04:0010 2014, 22:16:06

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

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

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