• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Программирование в USB программаторе AVR-910

russ2356

Новые
Регистрация
15 Фев 2012
Сообщения
364
Реакции
36
Баллы
0
Я собрал себе USB программатор AVR910, просто захотел выложить, потому что некоторые моменты не сразу понятны и чтобы у желающих его собрать было больше информации в плане прошивки. Повторюсь, и приведу тут схему данного программатора.
USB программатор AVR-910.gif
Единственный недостаток этого программатора — для прошивки контроллера программатора нужен программатор. Для этого нужен компьютер с COM портом, чтоб прошить контроллер при помощи программатора Громова.
Джампер J1-J2служит как для начального программирования микроконтроллера (замкнут J1 — MOD), так и для использования в качестве разъема программатора (замкнут J2 — NORM)
Была разведена печатная плата.
DSCN1687_измен.размер.webp DSCN1688_измен.размер.webp
Подключил собранный программатор к программатору Громова, поставил джампер J1, воткнул программатор Громова в COM порт, запустил Uniprof и прошил. Сложного ничего вроде нет, просто не забываем записать фьюзы. После система определит новое устройство — AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к файлу avr910.usb.inf Система начнет устанавливать драйвер.
Программатор установлен в системе. Теперь настроим его для работы в программе прошивальщике. Рассмотрим настройку данного программатора в программном пакете CodeVisionAVR.
Теперь самое главное. Щелкаем левой кнопкой на значке „Мой компьютер“,
в выпадающем меню выбираем „Свойства“
переходим на вкладку „Оборудование“
запускаем „Диспетчер устройств“
Выбираем „Порты (COM и LPT)“. Видим там „Virtual Communications Port“ и в скобочках указан номер присвоенного порта, в моем случае это COM5. Запоминаем этот номер.
Теперь запускаем CodeVision AVR. В основном меню нажимаем кнопку „Setting“, в выпадающем меню нажимаем „Programmer“:
1.webp
Появится вот такое окошко:
2.webp
В самой первой строчке из списка выбираем наш AVR910, во второй строчке выставляем номер
Com порта, который смотрели в диспетчере оборудования. Остальное оставляем без изменений.
Все, программатор настроен. Теперь немного о том как прошить контроллер в CodeVision AVR.
Итак, в основном меню выбираем „Tools“, далее нажимаем „Chip Programmer“,
3.webp
появится вот такое окошко:
4.webp
Рассмотрим, что тут есть и как это работает.
Программатор уже должен быть подключен к Usb, а к программатору подключен контроллер,
в моем случае это будет Atmega 8.
В списке Chip выбираем наш контроллер, теперь нажимаем в меню сверху Read.
5.webp
В этом меню мы можем запустить чтение содержимого контроллера. Пока, что нас интересуют два пункта, это FLASH и Fuse Bit(s). Если нажать на FLASH, то начнется чтение содержимого
FLASH памяти контроллера, на программаторе будет мигать зеленый светодиод. Итак, FLASH прочитана, а где же глянуть, что же там прочиталось. А вот где. Нажимаем в главном меню
Edit, а выпавшем списке FLASH.
6.webp
Появится вот такое окно:
7.webp
Вот, собственно, все содержимое FLASH памяти контроллера, тут можно и отредактировать,
если нужно определенные блоки. Но, пока тут все чисто, во всех ячейка — FFFF.
Если нужно прочитать Fuse Bit(s), то делаем следующее — Read — Fuse Bit(s). Пройдет чтение и вот в таком окошке появятся заводские фьюзы контроллера (если он новый):
8.webp
С этим думаю, понятно. А как же здесь загрузить прошивку в контроллер. Тоже просто!
Сперва нужно указать сам файл прошивки, которым будем загружать в контроллер. Делается это так. выбираем в меню File, далее выбираем Load FLASH.
9.webp
Жмем Load FLASH и в появившемся окне выбираем файл прошивки.
Нажимаем Открыть.
Теперь заходим в меню Program.
10.webp
Если в контроллере были какие-то данные, то сперва стираем его, нажав на Erase Chip, если контроллер новый, то стирать не надо. Теперь нажимаем на FLASH. Программа спросит, действительно ли хотите запрограммировать, на что ответьте ОК. Пойдет процесс прошивки.
Когда он закончился, то теперь нужно запрограммировать фьюз биты. Сперва необходимые фьюз биты выставляем в том же окошке
11.webp
Запомните, если в квадратике, напротив названия фьюз бита стоит галочка, то фьюз бит не запрограммирован, если не стоит, то запрограммирован.
Когда выставили необходимые фьюз биты, то в пункте меню Program нажимаем Fuse Bit(s). Вот теперь все. Можно еще раз прочитать содержимое FLASH и удостовериться, что все за программировалось.
 

Вложения

  • DSCN1686_измен.размер.webp
    DSCN1686_измен.размер.webp
    26.5 KB · Просмотры: 1,860
  • 12.webp
    12.webp
    9.7 KB · Просмотры: 1,192
Материал хороший, но есть небольшая неточность: или я что-то не так понял или в тексте ошибка !!!! Заводские фьюзы Atmega 8 не пусты !
В заводских настройках стоят галочки:
CKSEl1, CKSEl2, CKSEl3, SUT0, BOOTSZ0, BOOTSZ1. И еще перед каждой прошивкой фьюзов нужно считывать заводское значение, иначе, если вдруг программатор автоматом не прочитал и наставишь своих галочек то в настройки полетит полный треш и не известно выживет ли контроллер после такого надругательства. ;)
 
MC_Zver сейчас попробовал считать фьюзы с новой атмеги8, результат на последнем рисунке! я с тобой согласен, я просто сделал как бы так сказать методическое пособие что ли, чтобы другим полегче было! вот ты дополнил, отлично
 
есть возможность поделиться макетной платой для наборов МК указанных на рисунке с программатором?
 
Назад
Сверху