Оглавление:
- Шаг 1. Отсоедините шнур питания переменного тока и извлеките батарею 9 В
- Шаг 2: Подсоедините перемычки
- Шаг 3. Включите RPi
- Шаг 4: Установите Avrdude
- Шаг 5: отредактируйте файл конфигурации Avrdude
- Шаг 6: Загрузите или скопируйте файл.hex Flash в / home / pi
- Шаг 7. Убедитесь, что Avrdude может разговаривать с ATMEGA48V-10PU
- Шаг 8: прошейте шестнадцатеричный файл в ATMEGA48V-10PU
- Шаг 9: Простое устранение неполадок в случае сбоя флэш-памяти
Видео: Как использовать контакты GPIO Raspberry Pi и Avrdude для Bit-bang-программирования DIMP 2 или DA PIMP 2: 9 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Это пошаговые инструкции по использованию Raspberry Pi и бесплатной команды avrdude с открытым исходным кодом для bit-bang-программирования DIMP 2 или DA PIMP 2. Я предполагаю, что вы знакомы с Raspberry Pi и LINUX. командная строка. Вам не обязательно быть знакомым с программированием микросхем AVR, но это помогает, если что-то пойдет не так, потому что вы можете прочитать вывод avrdude и иметь некоторое представление о том, что делать.
Эта процедура должна занять около 1 часа в первый раз и от 5 до 10 минут каждый раз после.
Тебе понадобится:
1) Raspberry Pi с контактами GPIO и источником питания. Я использую Raspberry Pi Zero W с припаянными контактами GPIO. Операционная система должна быть Raspberry Pi OS (ранее Raspbian). Я использую Raspbian Lite (Stretch), который немного устарел. Эти команды должны работать в последней версии ОС Raspberry Pi.
В дальнейшем я буду называть Raspberry Pi «RPi».
2) Перемычки «мама-мама». Получите по одному из этих цветов: красный, черный, синий, желтый, зеленый, фиолетовый. Я использую коричневый вместо фиолетового.
3) DIMP 2 или DA PIMP 2 с припаянным дополнительным 10-контактным разъемом ICSP. Здесь я использую DIMP 2, но инструкции для DA PIMP 2 такие же.
4) Доступ в Интернет для RPi, чтобы вы могли установить бесплатную команду avrdude с открытым исходным кодом.
5) Копия файла.hex flash для вашего DIMP 2 или DA PIMP 2. Вы можете создать файл.hex самостоятельно из необработанного исходного кода, но я не буду показывать вам, как это сделать здесь.
6) Каким-то образом войти в RPi - использовать либо сетевое соединение, либо прямой доступ к консоли. Вы должны иметь возможность запускать на нем команды.
Шаг 1. Отсоедините шнур питания переменного тока и извлеките батарею 9 В
Сначала проверьте, подключен ли шнур питания переменного тока к DIMP 2 или DA PIMP 2 и к сети переменного тока. В таком случае ОПАСНО: ОПАСНОСТЬ ПОРАЖЕНИЯ СМЕРТЕЛЬНОМ. Наденьте резиновые перчатки и затем выключите главный тумблер на DIMP 2 или DA PIMP 2. Затем отсоедините шнур питания переменного тока от сети переменного тока и отсоедините шнур питания переменного тока от DIMP 2 или DA PIMP 2. Вы можете взять снимите резиновые перчатки после отсоединения шнура питания переменного тока.
Затем снимите батарею 9 В. Питание будет подаваться на DIMP 2 от RPi через красный (Vcc) и черный (GND) провода. На всякий случай выключите ползунок на DIMP 2 или DA PIMP 2.
Шаг 2: Подсоедините перемычки
Когда RPi не включен, начните подсоединять перемычки. В дальнейшем контакты GPIO находятся на Raspberry Pi, а контакты ICSP - на DIMP 2 (заголовок J3) или DA PIMP 2 (заголовок J1).
Обратитесь к схеме, которую я собрал, и к фотографиям, если вы заблудились.
Часть схемы, относящаяся к RPi, взята из файла pinout.xyz.
Часть схемы ATMEGA48V-10PU является собственностью Atmel Corp., 2016.
Я заявляю о добросовестном использовании этих рисунков в связи с внесением существенных преобразующих дополнений.
Черный идет от контакта 6 GPIO к контакту 10 ICSP. Это GND (Земля).
Желтый идет от контакта 12 GPIO к контакту 9 ICSP. Это MISO.
Зеленый идет от контакта 16 GPIO к контакту 1 ICSP. Это MOSI.
Синий идет от контакта 18 GPIO к контакту 7 ICSP. Это SCK или SCLK (SClock).
Фиолетовый (коричневый на моих фотографиях) идет от контакта 32 GPIO к контакту 5 ICSP. Это СБРОС.
Красный идет от контакта 4 GPIO к контакту 2 ICSP. Это Vcc (питание 5 В).
Шаг 3. Включите RPi
Теперь давайте включим RPi. Часть вольтметра DIMP 2 или DA PIMP 2 тоже должна включиться, но вы не узнаете этого, глядя на дисплей. Если есть сомнения, измерьте напряжение с помощью красного щупа на контакте 20 на ATMEGA48V-10PU и черного щупа на контакте 4, 6 или 8 на разъеме ICSP. Оно должно быть около 5 В постоянного тока.
Шаг 4: Установите Avrdude
В моих инструкциях будут отображаться только команды командной строки. Если у вас работает графический интерфейс, вам нужно открыть терминал для выполнения этих команд командной строки.
Войдите как пользователь по умолчанию pi. Пароль по умолчанию - малиновый.
Установите команду avrdude, набрав в командной строке терминала следующее:
sudo apt-get install avrdude
Шаг 5: отредактируйте файл конфигурации Avrdude
Отредактируйте файл конфигурации avrdude, набрав:
sudo nano /etc/avrdude.conf
Добавьте эти строки в середину файла, где находятся другие определения программиста. Я скопировал раздел программиста прямо над ним для id = "linuxgpio", затем вставил его прямо под (в строке 1274), затем отредактировал новый раздел.
программист
id = "пи_1"; desc = "Используйте интерфейс Linux sysfs для разбивки линий GPIO"; type = "linuxgpio"; сброс = 12; sck = 24; mosi = 23; мисо = 18;;
Затем сохраните файл, нажав: Ctrl-O
А затем выйдите из редактора nano, нажав: Ctrl-X
Шаг 6: Загрузите или скопируйте файл.hex Flash в / home / pi
Скопируйте файл прошивки.hex в RPi. Я полагаю, вы знаете, как это сделать. ПОДСКАЗКА: используйте команду wget, curl, git или scp, чтобы переместить файл из Интернета в RPi.
Здесь находится файл.hex DIMP 2 вместе с исходным кодом:
github.com/dchang0/dimp2
Настроенная версия файла.hex DA PIMP 2 находится здесь. Я это не тестировал!
github.com/jcwren/DaPimp2
Если вышеуказанная версия файла.hex DA PIMP 2 не работает, исходный код DA PIMP 2 Майки Склара находится здесь. Вам придется скомпилировать его в рабочий файл.hex самостоятельно. Я не рассматриваю это в этих инструкциях, потому что это будет длинный (но несложный) урок. Я успешно запрограммировал несколько рабочих модулей DA PIMP 2, используя этот исходный код:
drive.google.com/open?id=0Bx5Als-UeiZbSUdH…
Или вы можете перейти на главную страницу DA PIMP 2 здесь и щелкнуть ссылку на исходный код.
mikeysklar.blogspot.com/p/da-pimp-battery-…
Поместите файл.hex по этому пути и имя файла на RPi…
Для DIMP 2:
/home/pi/dimp2.hex
Для DA PIMP 2:
/home/pi/da_pimp2.hex
Шаг 7. Убедитесь, что Avrdude может разговаривать с ATMEGA48V-10PU
Запустите команду avrdude, чтобы убедиться, что он может взаимодействовать с микросхемой ATMEGA48V-10PU на DIMP 2 или DA PIMP 2.
cd / home / pi
sudo avrdude -c pi_1 -p m48 -v
Вы получите около страницы вывода. Посмотри в конце. Если вы получили такой ответ, можете продолжать.
avrdude: устройство AVR инициализировано и готово принимать инструкции
Чтение | #################################################################################################### | 100% 0,00 с
Если нет, значит, что-то не так и вам следует разобраться. Скорее всего, это неправильное подключение, но еще одна распространенная жалоба, которую я видел, заключается в том, что микросхема ATMEGA48V-10PU является подделкой. Кажется, что многие из них, продаваемые на Amazon или ebay, - подделки. Те, которые продаются Mouser или Digikey и другими официальными дистрибьюторами, являются подлинными.
Шаг 8: прошейте шестнадцатеричный файл в ATMEGA48V-10PU
Выполните эту команду, чтобы выполнить программирование микросхемы…
Для DIMP 2:
cd / home / pi
sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex
Для DA PIMP 2:
cd / home / pi
sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex
Вы получите около страницы вывода. Ищите эти строки:
avrdude: запись flash (1528 байт):
Написание | #################################################################################################### | 100% 0,79 сек
avrdude: проверка…
avrdude: 1528 байтов проверенной флэш-памяти avrdude: safemode: Предохранители исправны (E: FF, H: DF, L: 62)
Если вы зашли так далеко, вы должны увидеть светодиодный дисплей, показывающий нули для напряжения. Если вы видите нули, все готово! Если нет, переходите к следующему шагу.
Если вы видите нули, аккуратно выключите RPi с помощью этой команды:
sudo shutdown -h сейчас
Когда индикатор питания на RPi погаснет (DIMP 2 или DA PIMP 2 все еще будут гореть), вы можете отключить блок питания от RPi. Затем отсоедините перемычки между RPi и DIMP 2 или DA PIMP 2.
Шаг 9: Простое устранение неполадок в случае сбоя флэш-памяти
Если вы не видите нулей на дисплее вашего DIMP 2 или DA PIMP 2, то пришло время устранить неполадки.
Опять же, сначала проверьте свою проводку.
Затем проверьте состояния предохранителей, показанные avrdude. Возможно, что ваша микросхема поставляется с предохранителями, установленными на значения, отличные от заводских. Возможно, микросхеме потребуется перезагрузить предохранители, что потребует совершенно другого аппаратного устройства. Это проблема многих поддельных микросхем ATMEGA48V-10PU, продаваемых на ebay - это старые микросхемы, извлеченные из выброшенного оборудования, и предохранители были установлены, и продавец не потрудился сбросить предохранители.
Иногда микросхема даже не ATMEGA48V-10PU. Это мог быть другой чип с измененной маркировкой. Обычно эти подделки можно отличить, внимательно посмотрев на маркировку сверху и снизу чипа. Разумнее приобретать ATMEGA48V-10PU у проверенного поставщика, такого как Mouser или Digikey.
Рекомендуемые:
Как использовать мультиметр на тамильском языке. Руководство для начинающих - Мультиметр для начинающих: 8 шагов
Как использовать мультиметр на тамильском языке. Руководство для начинающих | Мультиметр для начинающих: Здравствуйте, друзья! В этом уроке я объяснил, как использовать мультиметр во всех типах электронных схем, в 7 различных шагов, таких как: 1) проверка целостности оборудования для устранения неполадок 2) Измерение постоянного тока 3) тестирование диода и светодиода 4) Измерение Resi
LED Blink с Raspberry Pi - Как использовать контакты GPIO на Raspberry Pi: 4 шага
LED Blink с Raspberry Pi | Как использовать контакты GPIO на Raspberry Pi: Привет, ребята, в этой инструкции мы узнаем, как использовать GPIO на Raspberry Pi. Если вы когда-либо использовали Arduino, то, вероятно, вы знаете, что мы можем подключить светодиодный переключатель и т. Д. К его контактам и заставить его работать как. заставьте светодиод мигать или получите сигнал от переключателя, чтобы
Visuino Как использовать кнопку в качестве входа для управления такими вещами, как светодиод: 6 шагов
Visuino Как использовать кнопку в качестве входа для управления такими объектами, как светодиод: в этом уроке мы узнаем, как включать и выключать светодиод с помощью простой кнопки и Visuino. Посмотрите демонстрационное видео
Как использовать Neopixel Ws2812 LED или LED STRIP или Led Ring с Arduino: 4 шага
Как использовать светодиодную или светодиодную полосу Neopixel Ws2812 или светодиодное кольцо с Arduino: Привет, ребята, поскольку светодиодная лента Neopixel очень популярна, и ее также называют светодиодной лентой ws2812. Они очень популярны, потому что в этих светодиодных полосах мы можем обращаться к каждому светодиоду отдельно, что означает, что если вы хотите, чтобы несколько светодиодов светились одним цветом
Как использовать терминал Mac и как использовать ключевые функции: 4 шага
Как использовать терминал Mac и как использовать основные функции: мы покажем вам, как открыть терминал MAC. Мы также покажем вам несколько функций Терминала, такие как ifconfig, изменение каталогов, доступ к файлам и arp. Ifconfig позволит вам проверить ваш IP-адрес и ваш MAC-адрес