Программирование в USB программаторе AVR-910
Я собрал себе USB программатор AVR910, просто захотел выложить, потому что некоторые моменты не сразу понятны и чтобы у желающих его собрать было больше информации в плане прошивки. Повторюсь, и приведу тут схему данного программатора.
Единственный недостаток этого программатора — для прошивки контроллера программатора нужен программатор. Для этого нужен компьютер с COM портом, чтоб прошить контроллер при помощи программатора Громова.
Джампер J1-J2служит как для начального программирования микроконтроллера (замкнут J1 — MOD), так и для использования в качестве разъема программатора (замкнут J2 — NORM)
Была разведена печатная плата.
Подключил собранный программатор к программатору Громова, поставил джампер J1, воткнул программатор Громова в COM порт, запустил Uniprof и прошил. Сложного ничего вроде нет, просто не забываем записать фьюзы. После система определит новое устройство — AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к файлу avr910.usb.inf Система начнет устанавливать драйвер.
Программатор установлен в системе. Теперь настроим его для работы в программе прошивальщике. Рассмотрим настройку данного программатора в программном пакете CodeVisionAVR.
Теперь самое главное. Щелкаем левой кнопкой на значке „Мой компьютер“,
в выпадающем меню выбираем „Свойства“
переходим на вкладку „Оборудование“
запускаем „Диспетчер устройств“
Выбираем „Порты (COM и LPT)“. Видим там „Virtual Communications Port“ и в скобочках указан номер присвоенного порта, в моем случае это COM5. Запоминаем этот номер.
Теперь запускаем CodeVision AVR. В основном меню нажимаем кнопку „Setting“, в выпадающем меню нажимаем „Programmer“:
Появится вот такое окошко:
В самой первой строчке из списка выбираем наш AVR910, во второй строчке выставляем номер
Com порта, который смотрели в диспетчере оборудования. Остальное оставляем без изменений.
Все, программатор настроен. Теперь немного о том как прошить контроллер в CodeVision AVR.
Итак, в основном меню выбираем „Tools“, далее нажимаем „Chip Programmer“,
появится вот такое окошко:
Рассмотрим, что тут есть и как это работает.
Программатор уже должен быть подключен к Usb, а к программатору подключен контроллер,
в моем случае это будет Atmega 8.
В списке Chip выбираем наш контроллер, теперь нажимаем в меню сверху Read.
В этом меню мы можем запустить чтение содержимого контроллера. Пока, что нас интересуют два пункта, это FLASH и Fuse Bit(s). Если нажать на FLASH, то начнется чтение содержимого
FLASH памяти контроллера, на программаторе будет мигать зеленый светодиод. Итак, FLASH прочитана, а где же глянуть, что же там прочиталось. А вот где. Нажимаем в главном меню
Edit, а выпавшем списке FLASH.
Появится вот такое окно:
Вот, собственно, все содержимое FLASH памяти контроллера, тут можно и отредактировать,
если нужно определенные блоки. Но, пока тут все чисто, во всех ячейка — FFFF.
Если нужно прочитать Fuse Bit(s), то делаем следующее — Read — Fuse Bit(s). Пройдет чтение и вот в таком окошке появятся заводские фьюзы контроллера (если он новый):
С этим думаю, понятно. А как же здесь загрузить прошивку в контроллер. Тоже просто!
Сперва нужно указать сам файл прошивки, которым будем загружать в контроллер. Делается это так. выбираем в меню File, далее выбираем Load FLASH.
Жмем Load FLASH и в появившемся окне выбираем файл прошивки.
Нажимаем Открыть.
Теперь заходим в меню Program.
Если в контроллере были какие-то данные, то сперва стираем его, нажав на Erase Chip, если контроллер новый, то стирать не надо. Теперь нажимаем на FLASH. Программа спросит, действительно ли хотите запрограммировать, на что ответьте ОК. Пойдет процесс прошивки.
Когда он закончился, то теперь нужно запрограммировать фьюз биты. Сперва необходимые фьюз биты выставляем в том же окошке
Запомните, если в квадратике, напротив названия фьюз бита стоит галочка, то фьюз бит не запрограммирован, если не стоит, то запрограммирован.
Когда выставили необходимые фьюз биты, то в пункте меню Program нажимаем Fuse Bit(s). Вот теперь все. Можно еще раз прочитать содержимое FLASH и удостовериться, что все за программировалось.
Единственный недостаток этого программатора — для прошивки контроллера программатора нужен программатор. Для этого нужен компьютер с COM портом, чтоб прошить контроллер при помощи программатора Громова.
Джампер J1-J2служит как для начального программирования микроконтроллера (замкнут J1 — MOD), так и для использования в качестве разъема программатора (замкнут J2 — NORM)
Была разведена печатная плата.
Подключил собранный программатор к программатору Громова, поставил джампер J1, воткнул программатор Громова в COM порт, запустил Uniprof и прошил. Сложного ничего вроде нет, просто не забываем записать фьюзы. После система определит новое устройство — AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к файлу avr910.usb.inf Система начнет устанавливать драйвер.
Программатор установлен в системе. Теперь настроим его для работы в программе прошивальщике. Рассмотрим настройку данного программатора в программном пакете CodeVisionAVR.
Теперь самое главное. Щелкаем левой кнопкой на значке „Мой компьютер“,
в выпадающем меню выбираем „Свойства“
переходим на вкладку „Оборудование“
запускаем „Диспетчер устройств“
Выбираем „Порты (COM и LPT)“. Видим там „Virtual Communications Port“ и в скобочках указан номер присвоенного порта, в моем случае это COM5. Запоминаем этот номер.
Теперь запускаем CodeVision AVR. В основном меню нажимаем кнопку „Setting“, в выпадающем меню нажимаем „Programmer“:
Появится вот такое окошко:
В самой первой строчке из списка выбираем наш AVR910, во второй строчке выставляем номер
Com порта, который смотрели в диспетчере оборудования. Остальное оставляем без изменений.
Все, программатор настроен. Теперь немного о том как прошить контроллер в CodeVision AVR.
Итак, в основном меню выбираем „Tools“, далее нажимаем „Chip Programmer“,
появится вот такое окошко:
Рассмотрим, что тут есть и как это работает.
Программатор уже должен быть подключен к Usb, а к программатору подключен контроллер,
в моем случае это будет Atmega 8.
В списке Chip выбираем наш контроллер, теперь нажимаем в меню сверху Read.
В этом меню мы можем запустить чтение содержимого контроллера. Пока, что нас интересуют два пункта, это FLASH и Fuse Bit(s). Если нажать на FLASH, то начнется чтение содержимого
FLASH памяти контроллера, на программаторе будет мигать зеленый светодиод. Итак, FLASH прочитана, а где же глянуть, что же там прочиталось. А вот где. Нажимаем в главном меню
Edit, а выпавшем списке FLASH.
Появится вот такое окно:
Вот, собственно, все содержимое FLASH памяти контроллера, тут можно и отредактировать,
если нужно определенные блоки. Но, пока тут все чисто, во всех ячейка — FFFF.
Если нужно прочитать Fuse Bit(s), то делаем следующее — Read — Fuse Bit(s). Пройдет чтение и вот в таком окошке появятся заводские фьюзы контроллера (если он новый):
С этим думаю, понятно. А как же здесь загрузить прошивку в контроллер. Тоже просто!
Сперва нужно указать сам файл прошивки, которым будем загружать в контроллер. Делается это так. выбираем в меню File, далее выбираем Load FLASH.
Жмем Load FLASH и в появившемся окне выбираем файл прошивки.
Нажимаем Открыть.
Теперь заходим в меню Program.
Если в контроллере были какие-то данные, то сперва стираем его, нажав на Erase Chip, если контроллер новый, то стирать не надо. Теперь нажимаем на FLASH. Программа спросит, действительно ли хотите запрограммировать, на что ответьте ОК. Пойдет процесс прошивки.
Когда он закончился, то теперь нужно запрограммировать фьюз биты. Сперва необходимые фьюз биты выставляем в том же окошке
Запомните, если в квадратике, напротив названия фьюз бита стоит галочка, то фьюз бит не запрограммирован, если не стоит, то запрограммирован.
Когда выставили необходимые фьюз биты, то в пункте меню Program нажимаем Fuse Bit(s). Вот теперь все. Можно еще раз прочитать содержимое FLASH и удостовериться, что все за программировалось.
Всего комментариев 3
Комментарии
-
Материал хороший, но есть небольшая неточность: или я что-то не так понял или в тексте ошибка !!!! Заводские фьюзы Atmega 8 не пусты !
В заводских настройках стоят галочки:
CKSEl1, CKSEl2, CKSEl3, SUT0, BOOTSZ0, BOOTSZ1. И еще перед каждой прошивкой фьюзов нужно считывать заводское значение, иначе, если вдруг программатор автоматом не прочитал и наставишь своих галочек то в настройки полетит полный треш и не известно выживет ли контроллер после такого надругательства.Запись от MC_Zver размещена 14.07.2012 в 14:56 -
MC_Zver сейчас попробовал считать фьюзы с новой атмеги8, результат на последнем рисунке! я с тобой согласен, я просто сделал как бы так сказать методическое пособие что ли, чтобы другим полегче было! вот ты дополнил, отлично
Запись от russ2356 размещена 14.07.2012 в 15:48 -
Запись от XELFAER размещена 29.07.2012 в 22:13