AVRDUDE мощная программа для программирования микроконтроллеров. Она поддерживает огромное количество программаторов, а если нужно какой-то добавить, то это легко сделать прописав в файле avrdude.conf его настройки. Но AVRDUDE - консольная программа. Поэтому работать с ней довольно таки сложно. Если еще залить прошивку в камень с горем пополам получится, то самые жестокие грабли нас ждут с выставлением fuse-бит микроконтроллера.
Но решение есть! Это использование графической оболочки. Лично я пользуюсь AVR Burn-O-Mat. Интерфейс у нее интуитивно понятный и не вызывает затруднений в использовании, но я все же опишу работу с этой программой.
Для начала скачаем программу. Это можно сделать у меня, а лучше на официальном сайте программы - вдруг там будет версия посвежее. Для работы программа требует Java SE Runtime Environment (JRE), скачать его можно здесь.
После запуска программы мы видим главное окно. Сверху у нас имеется панель с тремя разделами: "File", "Setting", "Help".
Клацнув по "File", мы увидим только один пункт: "Exit" - для тех кто в танке объясняю - это выход из программы :)
Щелкнув по "Setting", выскочит АЖ два пункта: "AVRDUDE" и "Look and feel". Выбрав пункт "AVRDUDE" мы перейдем в окно настройки программы. Верхняя строчка "AVRDUDE location" - это путь где у нас лежит "дудка". По умолчанию: "C:\WinAVR\bin\AVRDUDE.exe". Чуть ниже у нас располагается строка "alternative AVRDUDE configuration file" - это путь до конфигурационного файла "AVRDUDE.conf". По умолчанию там прописано: "C:\WinAVR\bin\AVRDUDE.conf".
AVRDUDE options. Вот тут уже можно разгуляться. "Programmer" - это окно выбора программатора, где мы можем выбрать какой программатор использовать. "Port" - тут можем выбрать к какому порту подключен наш программатор. Ниже у нас идут галочки: - disable auto erase for flash (-D) - отключает автоматическое стирание flash-памяти при записи программы.
- disable fuse check (-u) - отключает проверку fuse-бит.
- Exit specification (-E) - тут идет выбор того, что нужно сделать после закрытия программы.
- VCC will be left activated on exit (-E vcc) - Vcc останется активированным после выхода из программы.
- reset will be left activated on program exit (-E reset) - Reset останется активированным после выхода из программы.
В пункте "Look and feel" можно выбрать "скин программы", выбирайте что понравится больше всего.
Во вкладке "Help", выбрав пункт "About" можно посмотреть как из отдельных пикселей вырисовывается логотип программы:)
Итак, переходим к самому интересному - программированию. В окне AVRtype выбираете ваш микроконтроллер.
Есть 2 окна для программирования памяти микроконтроллера: Flash и EEPROM. Кнопочкой "File", в соответствующей памяти, выбираем файл, который собираемся залить в мк. Рядом с этой кнопочкой можно выбрать тип файла прошивки, меня тут стоит автоматический выбор.- Кнопка "Write" - это кнопка записи прошивки в память мк.
- Кнопка "Read" - считать прошивку из памяти микроконтроллера.
- Кнопка "Verify" - сравнить то, что нужно было записать и то, что было записано в мк.
Внизу большое белое поле, это окно куда будет выводиться вся информация о прошивке/чтении и т.д. Называется "Лог сообщений".Вот, по-тихому и добрались к Fuse-битам. Для того чтобы перейти к ним нужно нажать кнопку "Fuses", рядом с "AVR tupe".
Откроется окно "[AVR tupe] fuses", разберем кнопочки и вкладки этой "формы":- "read fuses" - считать Fuse-биты.
- "write fuses" - записать Fuse-биты.
- "verify fuses" - сравнить нужные Fuse-быты с тем, что записалось.
- "reset fuses" - восстановить стандартные биты.
В окошке "Mode" можно открыть для изменения такие важные фузы как: RSTDSBL и SPIEN. После изменения которых мк уже врядли удастся прошить с помощью последовательного программатора. Придется собирать параллельный. Разберем вкладки: - Fuse Editor - тут фузы выставляются галочками.
- Fuse HEX Editor - тут фузы можно выставить HEX-кодом (по желанию).
- Brown out detection - тут можно выставить напряжение питания МК. При его понижении срабатывает защита и МК уходит в сброс.
- Oscillator/Clock Options - это своеобразный калькулятор, в котором вы можете выставить частоту камня, задержки и др. А программа уже рассчитает какие фузы нужно выставить.
Вкратце думаю, я рассказал вам о том, как работать в этой программе. Рассказывать как работать в разных вкладках по выставлению фузов не буду, так как работать в них легко - просто отвечаете на то, что вас спрашивают и все. Ну, а если вопросы все еще есть, то комментарии внизу;)
|