Ви не увійшли.
Попробовал запрограммировать ATmega32 (не путать с ATmega328) с помощью Arduino.
Последовательность действий такая:
К ATmega32 подпаиваю кварц с двумя конденсаторами и 6 проводов (2 питание, miso, mosi, clk, RESET).
Запускаю Arduino IDE
Добавляем поддержку не родных м/к в среду Arduino IDE (есть статья с таким названием, ссылку не даю, не работает чё-то). Кстати данная функция заработала только с Arduino IDE 1.0.5, не получилось с Arduino IDE 1.6.7 и 1.6.0 (два часа потерянного времени, никак не мог понять, что я не так делаю)
Arduino Uno подключил к компьютеру и загрузил скетч ArduinoISP из стандартных примеров.
Отсоединил от компа, подсоединил ATmega32 к Arduino согласно стандартной схемы. Смотреть, например https://geektimes.ru/post/255342/
Подсоединяю к компу. Выбираю "Инструменты"- "Программатор"- "ArduinoISP". Выбираю "Инструменты"- "Плата"- "ATmega32" (появился такой пункт после вышеописанных процедур). Заливаю простой скетч с помощью пункта меню "Файл"- "Загрузить через программатор"
Получаю ошибку:
avrdude: Expected signature for ATMEGA32 is 1E 95 02
Double check chip, or use -F to override this check.
Что я делаю не так?
Буду рад пошаговому описанию программирования ATmega32 с помощью Arduino, или ссылке на такое. Долгие поиски в гугле привели меня к вышеописанным действиям.
Неактивний
Нужно прописать сигнатуру добавляемого контроллера.
Я использовал АТ32 в Arduino IDE. Но делал не много не так, при помощи Atmel Studio (хотя это не принципиально) прошивал загрузчик (правда пришлось перепробовать многие, не все рабочие) при помощи STK500 (тоже не принципиально). Очень важно правильно выставить фьюзы. Также нужно в файл board в Arduino IDE внести изменения. Таким образом я получил рабочую плату которая программируется через serial. На Вашем этапе важно проверить видит ли программатор микроконтроллер, а потом двигать дальше. Дело в том что если МК уже был в работе ( в новых 32х фьюзы настроены если не ошибаюсь на 16мГц) то он может работать от внутреннего осцилятора (и кварц ему не указ). Почему не работает вариантов очень много, начиная от настройки IDE и кончая настройками MK.
Остання редакція Nefreemen (2016-03-01 13:47:17)
Неактивний
Контроллер новый, фьюзы не трогал, да и не знаю как. Кстати, где-то встречал информацию, что в новых фьюзы настроены на 1мГц.
Программатор микроконтроллер видит наверно, так как при первой попытке я не выставил контроллер в настройках, получил что-то типа "контроллер не соответствует указанному"
В файл board в Arduino IDE внес изменения:
anio32.bootloader.file=chip45boot2_atmega32_uart0_v2.9C.hex
Неактивний
Вы хотите программировать в IDE по SPI или COM порт? Но в любом случае в board нужно дописать целую секцию, у меня такая:
##################################################
# anio32: avrnetio /w atmega32 (optiboot.c)
##################################################
anio32.name=avrnetio w/ atmega32 (optiboot.c)
anio32.build.mcu=atmega32
anio32.build.f_cpu=16000000L
anio32.build.core=avrnetio
anio32.build.variant=avrnetio
anio32.upload.protocol=stk500
anio32.upload.maximum_size=30720
anio32.upload.speed=19200
anio32.bootloader.path=optiboot
anio32.bootloader.file=optiboot_anio32.hex
# text data bss dec hex filename
# 498 0 0 498 1f2
optiboot_anio32.elf
anio32.bootloader.low_fuses=0xFF
anio32.bootloader.high_fuses=0xDA
# anio32.bootloader.extended_fuses=0x
anio32.bootloader.unlock_bits=0x0f
anio32.bootloader.lock_bits=0x3f
### for ChipKit mpide:
# anio32.platform=avr
# anio32.board=AVR_NET_IO
##################################################
Эту секцию нужно внести в board.txt который в папке hardware->avrnetio. Хотя я внес и в тот который находится в hardware->arduino . В этой секции указано все что должна знать среда IDE для программирования МК через SPI. Причем если программировать через SPI то не нужно пытаться залить boot, могут возникнуть проблемы. Во первых я точно знаю что тот файл boot который Вы указали не рабочий, фьюзы указаны в этой секции тоже не правильные ( даже у меня ). Если Вы захотите программировать АТ32 через ком порт то придется повозится. Но оно того стоит (отладка программ через Serial.print ) для начинающих незаменимая вещь .
Неактивний
Извините, а смысл возится с этой лабудой без комп порта? А не проще ли если скетч компилируется в IDE под 32 МК нормально, то взять BIN файл с IDE, avrISP программатор и залить даже той же "дудкой" или другой прогой, которая показывает состояние фьзов МК. Тем более что рано или поздно Вы все равно упретесь в необходимость чтения и записи фьзов (все равно придется разбираться с ними, хотя бы для того что бы правильно указать их в этой секции). Это мое имхо. Вам видней.
Неактивний
А смысл летать в самолёте пассажиром, ведь можно выучиться на лётчика
Это не так просто, как тем, кто УЖЕ умеет. Для меня ардуина ещё пока тёмный лес, а контроллеры тем более. Может, всё гораздо проще, но информации не хватает, много пробелов (типа "это ж и так понятно").
А по делу- как выдрать BIN файл с IDE? И что такое "дудка"?
Неактивний
"Дудкой" часто называют avrdude.exe https://ru.wikipedia.org/wiki/Avrdude. Эта программа вызывается каждый раз при записи скетча в МК через программаторы ( не через КОМ порт). Этот файл берет настройки именно с "той секции ", работа с ним напрямую (а он есть в IDE) тот еще случай (купа параметров в консольном режиме). Для упрощения "жизни" есть GUI (графический интерфейс) наберите в гугле avrdudeGUI и скачайте, посмотрите, я думаю осилите. Я ошибся, правильно не BIN файл а HEX , компилятор IDE создает его во временной директории. Как его можно найти написано например здесь : http://bsideup.blogspot.com/2010/08/hex-arduino.html
Остання редакція Nefreemen (2016-03-02 03:05:35)
Неактивний