Полная версия этой страницы:
USB programmer AVR910
prottoss
Dec 18 2009, 05:33
Цитата(KaMa3eR @ Dec 10 2009, 03:52)

Музчины объясните неандертальцу что унас висит с права от прагроматора?какое питание? какие ноги у слейва задействованы? висит ли на нем кварц? питание от программатора или внешнее у слейва? какая величина? mosi miso у master со slave по диагонали или прямое тоесть mosi mosi или mosi miso? А то кроме заветной надписи error..... от него ничего не могу добиться мож че упустил ...
ПІ СІ. бейте меня все, но плз объясните по шагово блин подключил программер подал питание на слейв. Еще раз ПЛЗ а то пропадает вера в адекватность мысли
1. С права от программатора (по оригинальной схеме) находится разъем ISP, к которому подключается программируемый МК.
2. У программируемого МК, для подключения к программатору, будут задействованы выводы MISO (PDO), MOSI (PDI), SCK, RESET и обязательно вывод земли программатора (GND). Все эти выводы подключаются к одноименным выводам ISP-разъема программатора.
3. По оригинальной схеме, программатор не предназначен для питания программируемого МК. Питание программируемого МК может быть 1.8 - 5 вольт.
4. Кварц на программируемом МК может быть или отсутствовать в зависимости от того, как у него запрограммированы фьюз-биты, отвечающие за тактирование.
5. По поводу "...веры в адекватность..." : Как такового, порядка особого нет, важно лишь, что перед началом программирования программатор был подключен к РС и определен операционной системой, на программируемый МК должно быть подано питание, программатор должен быть соединен с программируемым МК через ISP-разъем.
...и не должно стоять большой ёмкости на ресете у целевого МК.... и резистор подтяжки Ресета не менее 10К...
KaMa3eR
Dec 18 2009, 16:59
сенкс вери биг г-ну Prottoss-у програматор определяется в CVAVR при програмировании выдеет error, AVROSP даже шьет но постоянно отваливается как-то неуверенно себя чувствую когда железка тут работает а тут нет
KaMa3eR
Dec 23 2009, 17:24
I NEED HELP PLS Какая вероятность того что программатор не верно прошился .... если автоматически определяется WinXP как AVR910? На выходе LED шпарит 1МГц? обращается к портам...на reset програмируемого 50к к +3,6 питание на програмируемом +4,8В.... НО в CVAVR решительно error.... в других прогах тож глюки...
И как тактировать програмируемый(target) сигналом LED какие биты как ставить в CVAVR
Резисторы у вас поставлены последовательно со всеми линиями используемыми для программирования, (думаю 100Ом будет достаточно)? Иначе у вас будет идти паразитная подпитка программатора через защитные диоды, а из-за этого вполне может глючить софтовый ЮСБ.
Тактирования от вывода ЛЕД применяется лишь для восстановления МК при ошибочной записи ФЬЮЗов (когда ошибочно включают внешнее тактирование). Если сделать "Programm All" в CVAVR на новом проекте - так и получится. Чтобы этого избежать надо сперва прочитать фьюзы, тогда они правильно заполнят нужные галки или сперва правильно выставить фьюзы, до первого программирования из нового проекта.
Собрал
http://prottoss.com/projects/AVR910.usb.pr..._programmer.htm с оригинальной прошивкой.
Устройство определилось, всё читать можно, но как доходим до записи, то периодически вылазят ошибки и, пока не передернуть программатор в USB, его больше никто не видит.
Может было уже у кого? В чем может быть проблема?
Попробовал переделать схему на 5 В питание (выкинул диоды, изменил подтяжку USB c 1.5к на 2.2к) ... та же фигня

Прошивка с этой ветки для STK500 -- фигня повторилась.
(контроллер прошивается "голый" - только чип с кварцем да конденсаторами на питании)
pavel-pervomaysk
Jan 4 2010, 09:59
Вполне нормальная ситуация , глюкавит он страшно. Я ставил 1117 и выставлял напряжение питания 3,65 вольт. Работал лучше , но не так как хочется.
И вообще желательно питание с него не брать и использовать нормальный USB кабель , а не китайскую хрень.
Vitek885
Jan 24 2010, 09:18
Здравствуйте!
А со списком поддерживаемых МК где можно ознакомится. В частности интересует ATMega325.
На prottoss.com в списке на чем тестировался ATMega325 нету.
Здравствуйте, PROTTOSS!
Собрал программатор Вашей конструкции и уже несколько лет им пользуюсь. Под ХР нет проблем. Сейчас возникла необходимость пользоваться под 2000-кой. Драйвер установил. Студия видит STK500 и пытается обновить его ПО. Программатор опознается системой и почему-то в порту COM5 хотя COM4 это последний. Далее файла usbser.sys я не нашел. Присылаю от своей 2000-ки, может не стоит его менять? Если стоит - может кто поделится, т.к. найти не могу. Собственно вопрос - как и что мне сделать чтоб программатор заработал под 2000-кой?
prottoss
Jan 25 2010, 14:20
Цитата(Vitek885 @ Jan 24 2010, 16:18)

Здравствуйте! А со списком поддерживаемых МК где можно ознакомится. В частности интересует ATMega325.
На prottoss.com в списке на чем тестировался ATMega325 нету.
Программатор поддерживает
все ныне существующие МК AVR, поддерживающие программирование через ISP. Главное, что бы по на РС поддерживало нужный Вам контроллер.
Цитата(smk @ Jan 24 2010, 20:48)

Студия видит STK500 и пытается обновить его ПО.
Вообще то мой программатор не поддерживает протокол STK500, он работает по протоколу AVR910. Только если Вы воспользовались альтернативной прошивкой...
Цитата(smk @ Jan 24 2010, 20:48)

Программатор опознается системой и почему-то в порту COM5 хотя COM4 это последний.
Не совсем понял, о чем сдесь речь... Вообще в OS WIndows можно организовать виртуальных портов 256 штук (СОМ1-СОМ256).
Цитата(smk @ Jan 24 2010, 20:48)

Далее файла usbser.sys я не нашел. Присылаю от своей 2000-ки, может не стоит его менять? Если стоит - может кто поделится, т.к. найти не могу. Собственно вопрос - как и что мне сделать чтоб программатор заработал под 2000-кой?
Когда я пробовал работать с программатором из Windows 2000 у меня происходила потеря пакетов. Причину я так и не обнаружил. Проблема решилась заменой штатного usbser.sys от такого же из Windows XP SP2. Менять пришлось из под DOS. инф-файл на моем сайте - для Windows XP 32-бит.
Цитата
Когда я пробовал работать с программатором из Windows 2000 у меня происходила потеря пакетов. Причину я так и не обнаружил. Проблема решилась заменой штатного usbser.sys от такого же из Windows XP SP2. Менять пришлось из под DOS. инф-файл на моем сайте - для Windows XP 32-бит.
Что-то не выходит его там взять. Может есть другой способ? В сети отыскать тоже не получается.
prottoss
Jan 29 2010, 13:37
Цитата(smk @ Jan 29 2010, 17:10)

Что-то не выходит его там взять. Может есть другой способ? В сети отыскать тоже не получается.
Возьмите мой

От WinXP SP3
здравствуйте!!!!!!!!!!!!!!!!наваял тут прогер avr910...........заработал, правда со второй попытки...........сча доволен как слон!!!!!!!!!!!!!!!!но такой моментик есть : у меня виста и по сравнению с хр дейсвительно медленновато.........есть такая задумка поставить виртуальную машину.........вечером поставил VMware Workstation 7 дрова хр на прогер, винда се нашла устаноила , но када запускаю какого нить прошивальщика он прогер не видит(((((((((((((сом порты и скорости одинаковые хотя и с ними я игрался..........пробовал другую виртуалку тож самое пробовал н чужих компах на виртуалке се равно...........
мот кто нить с таким сталкивался, помогите плизззз.
пишет avr prog error getting id
Я уже запутался при какой прошивке какой выбирать программатор в студии? Винда программатор опознает. Драйвер стоит. У меня увиделся под 2000кой как STK500. Хотел обновиться - я отказался. Почему не удается изменить частоту? пишет, что нет соединения с программатором. Замена драйвера USB поможет?
prottoss
Feb 7 2010, 08:24
Цитата(smk @ Feb 7 2010, 14:47)

Я уже запутался...
Оригинальная прошивка на моем сайте (под моей подписью). В студии выбирается через главное меню->Tools->AVRProg...Под STK500 я прошивку не делал, потому как буквально через пару недель после того, как я выложил свой программатор, появился AVRDoper (http://obdev.at) с поддержкой протокола STK500v2. Исходники у них открытые, ИМХО подработать под железо моего программатора относительно не сложно.
Подменил драйвер - таки как STK500 заработал. Мне нужен еще один. Как бы мне посмотреть что такое AVRprog? Как там с фузами? У меня есть такая мода программировать фузы прямо при прошивке (AVR Studio такую возможность предоставляет, что очень удобно при прошивке сразу десятков чипов). Как с этим у AVRprog?
prottoss
Feb 7 2010, 12:33
Цитата(smk @ Feb 7 2010, 19:19)

Подменил драйвер - таки как STK500 заработал.
Значит у Вас не моя прошивка.
Цитата(smk @ Feb 7 2010, 19:19)

Как с этим у AVRprog?
AVRProg не позволяет программировать сразу фьюз-биты и прошивку. Может быть другие оболочки, работающие с AVR910 это могут, я не знаю.
Цитата
Значит у Вас не моя прошивка.
Жаль. Наверно и желания нет что-то предпринять чтоб с Вашей прошивкой фузы шились? Да и генератор меандра тоже бывает нужен, а у той прошивки, что у меня, генератора нет. Я уже даже и не помню где эту прошивку взял...
prottoss
Feb 7 2010, 12:51
Цитата(smk @ Feb 7 2010, 19:39)

чтоб с Вашей прошивкой фузы шились?

Улыбнуло. Это не свойство программатора. Это свойство оболочки, написанной для работы с программатором. Понимаете, о чем я?
Понимаете, о чем я?
Понимаю. Потому и спрашиваю на счет AVRProg, поскольку свойство очень уж удобное и будет ли это работать из студии. Я имею ввиду предустановки из fuse.h WINAVR.
Masakra
Apr 9 2010, 05:07
Всем добрый день!
Я только начинаю изучать МК AVR и естественно возник вопрос о программировании кристаллов.
В сети нашел и собрал программатор от Protoss'а - естественно в процессе сборки и настройки наступил на классические грабли с правильным выставлением фьюзов - пришлось оживлять Мегу внешним клоком

) Но в конечном итоге все работает как часы!
Огромное спасибо Protoss'у за эту замечательную разработку!
ЗЫ. Пользуюсь
avrdude + AVR8-Burn-o-Matt на
Ubuntu 9.10 - полет нормальный. Прошивки пока пытаюсь делать на BASCOM-AVR т.к. знания С около нуля

Всем успехов в разработке!
ветерок
Jun 5 2010, 17:21
автору:
прошивка занимает 4841 байт(прогнал через утилиту hex2bin)
можно было чуть напрячься и использовать atmega48
гораздо дешевле чип.
вот в чём смысл.
Автор,поднажми, народ будет признателен и это будет хорошее завершение проекта народного программатора.
prottoss
Jun 5 2010, 17:40
Цитата(ветерок @ Jun 6 2010, 00:21)

вот в чём смысл.
Смысл в том, чтоб не трепаться, а что то явить народу. Как раз есть повод для Вас оптимизировать программу до 4096 байт, и показать что чукча не только писать...
jam4thelady
Jun 14 2010, 17:01
Спасибо всем, кто помогает развитию темы.
Такая беда. Собрал по этой схеме:

Прошивал ч\з STK200 в avrdude вот этим: usbasp.atmega48.2009-02-28. Фьюзы hfuse:0xdd lfuse:0xff. После прошивки фьюзов (имеет ли значение порядок прошивки h и l fuse?) проц перестал определяться программатором; как USBasp системой не определяется так же. Схема повторена 1в1, разве что катушки нет.
Подскажите, в чём м\б проблема?
alex__k
Jul 13 2010, 01:41
доброе время суток
устройство не опознается юсб (прошили 1.05 -> установили фьюзы CKOPT, SUT0, BODEN). идентификаторы юсб все нули!? через инф файл не устанавливается) питание 3,6 вольта, на лед частота 1Мгц, после прошивки файл корректно читается из меги! пожалуйста подскажите какого рода проблема?
винда хп сп3, usbser.sys лежит только в каб файле! я так понимаю что устройство должно быть с начало классифицировано, а там одни vid 0000&0000!
заранее благодарен.
alex__k
Jul 13 2010, 23:21
Спасибо разобрался.
ветерок
Jul 18 2010, 19:37
Цитата(prottoss @ Jun 5 2010, 21:40)

Смысл в том, чтоб не трепаться, а что то явить народу. Как раз есть повод для Вас оптимизировать программу до 4096 байт, и показать что чукча не только писать...
Вы так изведёте старика.....
Но только с вашей авторской поддержкой!

Хорошо,поехали.
iar 5.50
проект не собирается
что делать ?
Странные ошибки...
Синтаксис чтоль изменился....
Поможите.
И у кого есть версия iar 4.10B
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаСпасибо.
----
IAR оказался очень приятной штукой.
однако.
ветерок
Jul 19 2010, 12:29
а вот почитал немного..
там надо закаментить видимо некоторые строки,а некоторые файлы в проект вообще не добавлять,типа asm
prottoss
Aug 23 2010, 13:15
Всем привет. Выкладываю новую прошивку под свой программатор. Особенности:
1. Совместима с протоколом STK500. Это значит, что теперь в программном обеспечении нужно выбирать STK500. Соответственно AVRProg уже плату не увидит.
2. Поддерживается вся сетка частот ISP, описанная в протоколе. Конечно, не до герц, и даже не до десятков герц

но около этого.
3. Поддерживается генерация меандра на выводе LED ISP-разъема. Частоту генератора можно менять от 0 до ~3,7 МГц.
4. При нормальном входе в режим программирования, загорается зеленый светодиод, иначе красный. Красный гасится при повторной попытке входа в режим программирования.
5. В момент передачи очередного блока данных непосредственно по ISP, зеленый светодиод гаснет. По окончании передачи зажигается. Т.е. по времени гашения зеленого светодиода можно примерно оценивать скорость программирования.
Прошивка пока тестовая. Но рабочая. К сожалению, проверить смог только на Мега16.
Цитата(prottoss @ Aug 23 2010, 16:15)

К сожалению, проверить смог только на Мега16.
Переделал мастеркитовский ВМ9010 и залил Вашу прошивку. Начал работать. Прошил bootloader в ATmega168. Теперь прошиваю мегу48. Есть некоторые странности, которые я хочу исследовать (и рассказать Вам, ИСТЕСНА). Когда работаю через Студио, то там есть прекрасная возможность мониторить этот процесс, как описано в протоколе 500-2, раздел 7.3 STK500 Communication Logging. При работе с ДУДКОЙ мониторю отдельной программой. Но! Никак не могу найти расшифровку команд и параметров протокола 500-2. В самом атмеловском документе используются только символьные имена. Конечно, пользуясь лог-файлом от Студио, в которм команды сопровождаются именами, я понемногк раскручиваю этот ребус, но, блин, почему так изгаляться?
Поєтому и вопрос: подскажите, плз, где посмотреть расшифровку команд и параметров STK500-2?
prottoss
Sep 5 2010, 11:28
Цитата(drvlas @ Sep 5 2010, 18:01)

Поєтому и вопрос: подскажите, плз, где посмотреть расшифровку команд и параметров STK500-2?
На сайте ATMEL, в свободном доступе:
Страница:
http://atmel.com/dyn/products/app_notes.as...ment_Tools/KitsПрямая ссылка:
http://atmel.com/dyn/resources/prod_documents/avr061.zip
"Но это не то, братцы", как говорил Тарас Бульба

В протоколе STK500 все числа есть, а ведь меня интересует STK500-2. А вот по нему численных значенией как раз нет. Ну, я почти все уже расшифровал.
Но вопрос, кажется, перешел из разряда обмена командами между программатором и компом в новую интресную плоскость. Вот что я установил.
Если в программе устанавливается предделитель, то процессор начинает работать с новой частотой после исполнения соответствующей команды. Например,
Код
CLKPR= (1<<CLKPS2) | (1<<CLKPS0); // 8 MHz / 32 = 250 kHz
Ну, пусть себе. Но вот пришел импульс сброса от внешнего программатора. И этот импулсь, как я думал, сбрасывает предделитель. А вот фигушки! Путем сидения и потения я увидел, что внешняя частота ISP просто слишком велика для моего процессора. Например, по инфо от программы stk500 (ключ -J при запуске ее из командной строки) исходная частота работы ISP - около 1,8 МГц. Естественно, что для внутренней частоты 8 МГц это не проблема, а вот при работе проца на 250 кГц - полный капец.
Значит, предполагаю я,
предделитель CLKPR не сбрасывается при поступлении импульса сброса. Не удивительно ли? Или это известный факт?
Еще один вопрос.
Как правильно задать ДУДКе понижение частоты SPI? Я пробовал ключ -i <delay>, задавая 20-50 мкс, но что-то результата не увидел. Поэтому сейчас работаю с БАТ-файлом, в котором сначала через программу stk500 подаю команду понижения частоты работы интерфейса, а затем из avrdude программирую (т.к. ДУДКа сам умеет и верифицировать). Как-то коряво получается. Да и на программирование прямо из Студии пора переходить. Там тоже как-то надо уметь понижать частоту. Да-с, кнопочки "ТОРМОЗ" не хватает в этом ВМ9010...
prottoss
Sep 5 2010, 16:28
Цитата(drvlas @ Sep 5 2010, 22:59)

"Но это не то, братцы", как говорил Тарас Бульба

Та же страница, 10 строчек ниже
AVR068: STK500 Communication Protocol(37 pages, revision C, updated 06/06)
http://atmel.com/dyn/resources/prod_documents/AVR068.zipЦитата(drvlas @ Sep 5 2010, 22:59)

Как правильно задать ДУДКе понижение частоты SPI?
Я пробовал ключ -i <delay>, задавая 20-50 мкс, но что-то результата не увидел. Поэтому сейчас работаю с БАТ-файлом, в котором сначала через программу stk500 подаю команду понижения частоты работы интерфейса, а затем из avrdude программирую (т.к. ДУДКа сам умеет и верифицировать). Как-то коряво получается. Да и на программирование прямо из Студии пора переходить. Там тоже как-то надо уметь понижать частоту. Да-с, кнопочки "ТОРМОЗ" не хватает в этом ВМ9010...
AVRDUDE не тема этого топика. Студия прекрасно умеет понижать частоту ISP.
Цитата(prottoss @ Sep 5 2010, 19:28)

Та же страница, 10 строчек ниже
Да что-то я не пойму. Этот документ я и загрузил уже давно. Просматриваю 37 страничек и не нахожу
численного значения команд. Например, команда с кодом 0x0D - как определить, каким именем ее атмеловцы называют в сием прекрасном документе? Подскажите, плз, если Вы меня поняли...
Цитата(prottoss @ Sep 5 2010, 19:28)

AVRDUDE не тема этого топика. Студия прекрасно умеет понижать частоту ISP.
Спасибо, поищу!
prottoss
Sep 5 2010, 19:24
Цитата(drvlas @ Sep 6 2010, 02:11)

Да что-то я не пойму. Этот документ я и загрузил уже давно. Просматриваю 37 страничек и не нахожу численного значения команд. Например, команда с кодом 0x0D - как определить, каким именем ее атмеловцы называют в сием прекрасном документе? Подскажите, плз, если Вы меня поняли...
Спасибо, поищу!
Мда, тяжелый случай. Я ниже ссылку дал... Хорошо. Сам скачаю, распакую и вставлю в сообщение
Код
//**** ATMEL AVR - A P P L I C A T I O N N O T E ************************
//*
//* Title: AVR068 - STK500 Communication Protocol
//* Filename: command.h
//* Version: 1.0
//* Last updated: 31.01.2005
//*
//* Support E-mail: avr@atmel.com
//*
//**************************************************************************
// *****************[ STK message constants ]***************************
#define MESSAGE_START 0x1B //= ESC = 27 decimal
#define TOKEN 0x0E
// *****************[ STK general command constants ]**************************
#define CMD_SIGN_ON 0x01
#define CMD_SET_PARAMETER 0x02
#define CMD_GET_PARAMETER 0x03
#define CMD_SET_DEVICE_PARAMETERS 0x04
#define CMD_OSCCAL 0x05
#define CMD_LOAD_ADDRESS 0x06
#define CMD_FIRMWARE_UPGRADE 0x07
// *****************[ STK ISP command constants ]******************************
#define CMD_ENTER_PROGMODE_ISP 0x10
#define CMD_LEAVE_PROGMODE_ISP 0x11
#define CMD_CHIP_ERASE_ISP 0x12
#define CMD_PROGRAM_FLASH_ISP 0x13
#define CMD_READ_FLASH_ISP 0x14
#define CMD_PROGRAM_EEPROM_ISP 0x15
#define CMD_READ_EEPROM_ISP 0x16
#define CMD_PROGRAM_FUSE_ISP 0x17
#define CMD_READ_FUSE_ISP 0x18
#define CMD_PROGRAM_LOCK_ISP 0x19
#define CMD_READ_LOCK_ISP 0x1A
#define CMD_READ_SIGNATURE_ISP 0x1B
#define CMD_READ_OSCCAL_ISP 0x1C
#define CMD_SPI_MULTI 0x1D
// *****************[ STK PP command constants ]*******************************
#define CMD_ENTER_PROGMODE_PP 0x20
#define CMD_LEAVE_PROGMODE_PP 0x21
#define CMD_CHIP_ERASE_PP 0x22
#define CMD_PROGRAM_FLASH_PP 0x23
#define CMD_READ_FLASH_PP 0x24
#define CMD_PROGRAM_EEPROM_PP 0x25
#define CMD_READ_EEPROM_PP 0x26
#define CMD_PROGRAM_FUSE_PP 0x27
#define CMD_READ_FUSE_PP 0x28
#define CMD_PROGRAM_LOCK_PP 0x29
#define CMD_READ_LOCK_PP 0x2A
#define CMD_READ_SIGNATURE_PP 0x2B
#define CMD_READ_OSCCAL_PP 0x2C
#define CMD_SET_CONTROL_STACK 0x2D
// *****************[ STK HVSP command constants ]*****************************
#define CMD_ENTER_PROGMODE_HVSP 0x30
#define CMD_LEAVE_PROGMODE_HVSP 0x31
#define CMD_CHIP_ERASE_HVSP 0x32
#define CMD_PROGRAM_FLASH_HVSP 0x33
#define CMD_READ_FLASH_HVSP 0x34
#define CMD_PROGRAM_EEPROM_HVSP 0x35
#define CMD_READ_EEPROM_HVSP 0x36
#define CMD_PROGRAM_FUSE_HVSP 0x37
#define CMD_READ_FUSE_HVSP 0x38
#define CMD_PROGRAM_LOCK_HVSP 0x39
#define CMD_READ_LOCK_HVSP 0x3A
#define CMD_READ_SIGNATURE_HVSP 0x3B
#define CMD_READ_OSCCAL_HVSP 0x3C
// *****************[ STK status constants ]***************************
// Success
#define STATUS_CMD_OK 0x00
// Warnings
#define STATUS_CMD_TOUT 0x80
#define STATUS_RDY_BSY_TOUT 0x81
#define STATUS_SET_PARAM_MISSING 0x82
// Errors
#define STATUS_CMD_FAILED 0xC0
#define STATUS_CKSUM_ERROR 0xC1
#define STATUS_CMD_UNKNOWN 0xC9
// *****************[ STK parameter constants ]***************************
#define PARAM_BUILD_NUMBER_LOW 0x80
#define PARAM_BUILD_NUMBER_HIGH 0x81
#define PARAM_HW_VER 0x90
#define PARAM_SW_MAJOR 0x91
#define PARAM_SW_MINOR 0x92
#define PARAM_VTARGET 0x94
#define PARAM_VADJUST 0x95
#define PARAM_OSC_PSCALE 0x96
#define PARAM_OSC_CMATCH 0x97
#define PARAM_SCK_DURATION 0x98
#define PARAM_TOPCARD_DETECT 0x9A
#define PARAM_STATUS 0x9C
#define PARAM_DATA 0x9D
#define PARAM_RESET_POLARITY 0x9E
#define PARAM_CONTROLLER_INIT 0x9F
// *****************[ STK answer constants ]***************************
#define ANSWER_CKSUM_ERROR 0xB0
Цитата(prottoss @ Sep 5 2010, 22:24)

Мда, тяжелый случай. Я ниже ссылку дал...
Я не понимаю... Атмеловский PDF документ с таким же номером у меня скачан, там совсем иное изложение вопроса. Я потому по Вашей ссылке и не стал еще раз качать... Ну, ладно, все хорошо, что хорошо кончается. Спасибо большое!
Если Вам интересно, то вот какая у меня выскакивает ошибочка при программировании ATmega48PA на перепрошитом мастеркитовском изделии. Даю бат файл:
Код
stk500 -dATmega48PA -I500k
avrdude.exe -p m48p -c stk500 -y -U flash:w:..\foo.hex lock:w:0x3c:m
Он понижает частоту SPI, затем начинает запись. И, что повторяется ВСЕГДА, в самом конце (99% из 2756 байт) пишет такое:
stk500v2-command(): unknown status 0x81
stk500v2_paged_write: write command failed
После этого задумывается на 10-15 секунд и, о чудо! - заканчивает программировать: рисует снова бар на 100% и сообЧает
2756 bytes of flash written
Далее все пучком - читает, верифицирует, нет проблем.
Пробовал на нескольких микросхемах, со (слегка) разными по длине файлами - результат повторяется.
Что скажете?
prottoss
Sep 7 2010, 16:42
Цитата(drvlas @ Sep 7 2010, 23:33)

Что скажете?
Для начала спрошу, пробовали ли Вы программировать контроллер через AVRStudio?
Для начала внесу маленькую поправку: все же не на одном месте программирование "замирает" и н даже бывает, что проскакивает без остановки.
А в Студии вот что пишет:
Getting isp parameter.. SD=0x01 .. OKOK
Reading FLASH input file.. OK
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH .. FAILED!
Leaving programming mode.. OK!
Более подробно (мониторинг траффика) не исследовал. Нужно?
prottoss
Sep 12 2010, 11:50
Нашел несколько ошибок. Вкладываю новую прошивку.
Проверена работа с AVRStudio, CodeVisionAVR, avrdude. Проверялись AT90S2313, ATtiny13, ATtiny2313, ATmega16, ATmega32
prottoss Залил сегодня вашу прошивку(последнюю). К сожалению, в CV на семействе М16Х при попытке программирования EEPROM все так-же:"STK-500 error leaving programming mode". В Студии все шьется.
Так-что глюк похоже все-таки в CV, только вот что и почему только на одной серии...
prottoss
Sep 13 2010, 08:25
Цитата(WHALE @ Sep 13 2010, 14:54)

prottoss Залил сегодня вашу прошивку(последнюю). К сожалению, в CV на семействе М16Х при попытке программирования EEPROM все так-же:"STK-500 error leaving programming mode". В Студии все шьется.
Так-что глюк похоже все-таки в CV, только вот что и почему только на одной серии...
Хм... не понятно, как вход в режим программирования зависит от того, какую память мы собираемся шить?

Я не помню сейчас, какой версией CV я испытывал прошивку. Приду домой, отпишусь.
prottoss
Sep 13 2010, 10:43
И так. Только что проверил работу программатора с новой прошивкой на CodeVisionAVR версий 1.25.7; 2.04.2; 2.04.6.
В МК ATmega16 и флэш и еепром программируется без ошибок.
Цитата(prottoss @ Sep 13 2010, 14:43)

И так. Только что проверил работу программатора с новой прошивкой на CodeVisionAVR версий 1.25.7; 2.04.2; 2.04.6.
В МК ATmega16 и флэш и еепром программируется без ошибок.

Ничего не понимаю... Я лично шью через stk-200 и ICE2-проблем нет.
Моим коллегам в командировках периодически требуется перепрошивка девайсов на мегах.Для этого они купили 2 мастеркитовых клона ваших программаторов.
С родной прошивкой у них сразу не заладилось.Были перешиты на прошивки от
Ink.Заработало,но вылезла эта проблема.Сегодня я перешил на вашу версию-практически ничего не поменялось,только стал работать зеленый светодиод.
Причем от компьютера это не зависит точно-не работает одинаково на 2 РС и 2 ноутах.От версии CV не зависит тоже-не пашет на всех и на СhipBlaster тоже.На студии работает.
Выйду на работу-попробую поснифать обмен по юсб,больше мыслей нет.
Почему у вас работает-не понимаю...
prottoss
Sep 13 2010, 12:13
Цитата(WHALE @ Sep 13 2010, 18:54)


Ничего не понимаю...
Есть один момент, который возможно Вам поможет. Дело в том, что уровни лог.1 для входа RESET и XTAL1 выше, чем для остальных линий ВВ МК. По этому я рекомендую на RESET программируемого МК ставить внешний подтягивающий резистор номиналом 10-47 кОм. Если используется тактирование МК от линии LED программатора, то на XTAL1 так же рекомендуется посадить такой же подтягивающий резистор. Хотя, у меня лично с XTAL1 проблем никогда не возникало.
Хотя я все же таки не пойму, какая связь между
входом
в режим программирования и
программированием именно
ЕЕПРОМа
Это промышленные устройства,резистор по RESET там стоит.Тактируются меги от кварца 7,37 Мгц.
swisst
Sep 13 2010, 13:30
Цитата(prottoss @ Sep 12 2010, 14:50)

Нашел несколько ошибок. Вкладываю новую прошивку.
Проверена работа с AVRStudio, CodeVisionAVR, avrdude. Проверялись AT90S2313, ATtiny13, ATtiny2313, ATmega16, ATmega32
ATMega88 сигнатура читается на ура - в режим программирования не входит, соответственно не шьет...
ATMega8515 шьёт/читает/верифает флэш без проблем
prottoss
Sep 13 2010, 13:38
Цитата(swisst @ Sep 13 2010, 20:30)

ATMega88 сигнатура читается на ура - в режим программирования не входит, соответственно не шьет...
Если сигнатура читается, значит в режим программирования входит

Другое дело, на какой частоте входит... Попробуйте понизить частоту программирования. Частота программирования должна быть, как минимум, ниже в 4 раза частоты тактирования программируемого МК. Так же попробуйте с подтяжкой на RESET.
Цитата(swisst @ Sep 13 2010, 17:30)

ATMega88 сигнатура читается на ура - в режим программирования не входит, соответственно не шьет...
Можно я поработаю за
prottossа?

Какой средой пытались зашить?
Цитата
Хотя я все же таки не пойму, какая связь между входом в режим программирования и программированием именно ЕЕПРОМа
Разный тип памяти имеет разное время доступа. Флеш программируется значительно быстрее ЕЕПРОМ, на ЕЕПРОМ может не хватать времени таймаута. В разных средах скорости работы также могут несколько отличаться, да и на разных машинах то же, если таймаут установлен на пределе, то можно не всегда в него вписываться. Поскольку запись идет блоками и таймаут обнуляется по окончании записи каждого блока, то на каком блоке его выбросит - это процесс вероятностный. Вот такое предположение.
swisst
Sep 14 2010, 07:03
Цитата(prottoss @ Sep 13 2010, 16:38)

Если сигнатура читается, значит в режим программирования входит

Другое дело, на какой частоте входит... Попробуйте понизить частоту программирования. Частота программирования должна быть, как минимум, ниже в 4 раза частоты тактирования программируемого МК. Так же попробуйте с подтяжкой на RESET.
резистор 20К на ресете. частота таргета 11,059200 МГц. пробовал на 1,8 МГц и на 460 КГц.
Цитата(WHALE @ Sep 13 2010, 16:39)

Можно я поработаю за
prottossа?

Какой средой пытались зашить?
можно - AVR Studio. причем вылетает предупреждение о нестыковках версий и предлагает обновить...обновить, естественно, не выходит...
пока откатился до адаптированной версии допера.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.