Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB programmer AVR910
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
prottoss
Цитата(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-разъем.
GDI
...и не должно стоять большой ёмкости на ресете у целевого МК.... и резистор подтяжки Ресета не менее 10К...
KaMa3eR
сенкс вери биг г-ну Prottoss-у програматор определяется в CVAVR при програмировании выдеет error, AVROSP даже шьет но постоянно отваливается как-то неуверенно себя чувствую когда железка тут работает а тут нет laughing.gif
KaMa3eR
I NEED HELP PLS Какая вероятность того что программатор не верно прошился .... если автоматически определяется WinXP как AVR910? На выходе LED шпарит 1МГц? обращается к портам...на reset програмируемого 50к к +3,6 питание на програмируемом +4,8В.... НО в CVAVR решительно error.... в других прогах тож глюки...
И как тактировать програмируемый(target) сигналом LED какие биты как ставить в CVAVR crying.gif
GDI
Резисторы у вас поставлены последовательно со всеми линиями используемыми для программирования, (думаю 100Ом будет достаточно)? Иначе у вас будет идти паразитная подпитка программатора через защитные диоды, а из-за этого вполне может глючить софтовый ЮСБ.
Тактирования от вывода ЛЕД применяется лишь для восстановления МК при ошибочной записи ФЬЮЗов (когда ошибочно включают внешнее тактирование). Если сделать "Programm All" в CVAVR на новом проекте - так и получится. Чтобы этого избежать надо сперва прочитать фьюзы, тогда они правильно заполнят нужные галки или сперва правильно выставить фьюзы, до первого программирования из нового проекта.
AndryG
Собрал http://prottoss.com/projects/AVR910.usb.pr..._programmer.htm с оригинальной прошивкой.

Устройство определилось, всё читать можно, но как доходим до записи, то периодически вылазят ошибки и, пока не передернуть программатор в USB, его больше никто не видит.

Может было уже у кого? В чем может быть проблема?

Попробовал переделать схему на 5 В питание (выкинул диоды, изменил подтяжку USB c 1.5к на 2.2к) ... та же фигня sad.gif

Прошивка с этой ветки для STK500 -- фигня повторилась.

(контроллер прошивается "голый" - только чип с кварцем да конденсаторами на питании)
pavel-pervomaysk
Вполне нормальная ситуация , глюкавит он страшно. Я ставил 1117 и выставлял напряжение питания 3,65 вольт. Работал лучше , но не так как хочется.
И вообще желательно питание с него не брать и использовать нормальный USB кабель , а не китайскую хрень.
Vitek885
Здравствуйте!
А со списком поддерживаемых МК где можно ознакомится. В частности интересует ATMega325.
На prottoss.com в списке на чем тестировался ATMega325 нету.
smk
Здравствуйте, PROTTOSS!

Собрал программатор Вашей конструкции и уже несколько лет им пользуюсь. Под ХР нет проблем. Сейчас возникла необходимость пользоваться под 2000-кой. Драйвер установил. Студия видит STK500 и пытается обновить его ПО. Программатор опознается системой и почему-то в порту COM5 хотя COM4 это последний. Далее файла usbser.sys я не нашел. Присылаю от своей 2000-ки, может не стоит его менять? Если стоит - может кто поделится, т.к. найти не могу. Собственно вопрос - как и что мне сделать чтоб программатор заработал под 2000-кой?
prottoss
Цитата(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-бит.
smk
Цитата
Когда я пробовал работать с программатором из Windows 2000 у меня происходила потеря пакетов. Причину я так и не обнаружил. Проблема решилась заменой штатного usbser.sys от такого же из Windows XP SP2. Менять пришлось из под DOS. инф-файл на моем сайте - для Windows XP 32-бит.

Что-то не выходит его там взять. Может есть другой способ? В сети отыскать тоже не получается.
prottoss
Цитата(smk @ Jan 29 2010, 17:10) *
Что-то не выходит его там взять. Может есть другой способ? В сети отыскать тоже не получается.
Возьмите мойsmile.gif От WinXP SP3
zvykov
здравствуйте!!!!!!!!!!!!!!!!наваял тут прогер avr910...........заработал, правда со второй попытки...........сча доволен как слон!!!!!!!!!!!!!!!!но такой моментик есть : у меня виста и по сравнению с хр дейсвительно медленновато.........есть такая задумка поставить виртуальную машину.........вечером поставил VMware Workstation 7 дрова хр на прогер, винда се нашла устаноила , но када запускаю какого нить прошивальщика он прогер не видит(((((((((((((сом порты и скорости одинаковые хотя и с ними я игрался..........пробовал другую виртуалку тож самое пробовал н чужих компах на виртуалке се равно...........
мот кто нить с таким сталкивался, помогите плизззз.

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

Жаль. Наверно и желания нет что-то предпринять чтоб с Вашей прошивкой фузы шились? Да и генератор меандра тоже бывает нужен, а у той прошивки, что у меня, генератора нет. Я уже даже и не помню где эту прошивку взял...
prottoss
Цитата(smk @ Feb 7 2010, 19:39) *
чтоб с Вашей прошивкой фузы шились?
smile.gif Улыбнуло. Это не свойство программатора. Это свойство оболочки, написанной для работы с программатором. Понимаете, о чем я?
smk
Понимаете, о чем я?

Понимаю. Потому и спрашиваю на счет AVRProg, поскольку свойство очень уж удобное и будет ли это работать из студии. Я имею ввиду предустановки из fuse.h WINAVR.
Masakra
Всем добрый день!

Я только начинаю изучать МК AVR и естественно возник вопрос о программировании кристаллов.

В сети нашел и собрал программатор от Protoss'а - естественно в процессе сборки и настройки наступил на классические грабли с правильным выставлением фьюзов - пришлось оживлять Мегу внешним клоком smile.gif) Но в конечном итоге все работает как часы!

Огромное спасибо Protoss'у за эту замечательную разработку!

ЗЫ. Пользуюсь avrdude + AVR8-Burn-o-Matt на Ubuntu 9.10 - полет нормальный. Прошивки пока пытаюсь делать на BASCOM-AVR т.к. знания С около нуля wink.gif

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

Такая беда. Собрал по этой схеме:

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

Вы так изведёте старика.....
Но только с вашей авторской поддержкой! smile.gif
Хорошо,поехали.


iar 5.50
проект не собирается
что делать ?
Странные ошибки...
Синтаксис чтоль изменился....
Поможите.
И у кого есть версия iar 4.10B

Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла

Спасибо.
----
IAR оказался очень приятной штукой.
однако.
ветерок
а вот почитал немного..
там надо закаментить видимо некоторые строки,а некоторые файлы в проект вообще не добавлять,типа asm
prottoss
Всем привет. Выкладываю новую прошивку под свой программатор. Особенности:
1. Совместима с протоколом STK500. Это значит, что теперь в программном обеспечении нужно выбирать STK500. Соответственно AVRProg уже плату не увидит.
2. Поддерживается вся сетка частот ISP, описанная в протоколе. Конечно, не до герц, и даже не до десятков герц smile.gif но около этого.
3. Поддерживается генерация меандра на выводе LED ISP-разъема. Частоту генератора можно менять от 0 до ~3,7 МГц.
4. При нормальном входе в режим программирования, загорается зеленый светодиод, иначе красный. Красный гасится при повторной попытке входа в режим программирования.
5. В момент передачи очередного блока данных непосредственно по ISP, зеленый светодиод гаснет. По окончании передачи зажигается. Т.е. по времени гашения зеленого светодиода можно примерно оценивать скорость программирования.

Прошивка пока тестовая. Но рабочая. К сожалению, проверить смог только на Мега16.
drvlas
Цитата(prottoss @ Aug 23 2010, 16:15) *
К сожалению, проверить смог только на Мега16.

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

Поєтому и вопрос: подскажите, плз, где посмотреть расшифровку команд и параметров STK500-2?
prottoss
Цитата(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
drvlas
"Но это не то, братцы", как говорил Тарас Бульба smile.gif

В протоколе 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
Цитата(drvlas @ Sep 5 2010, 22:59) *
"Но это не то, братцы", как говорил Тарас Бульба smile.gif
Та же страница, 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.
drvlas
Цитата(prottoss @ Sep 5 2010, 19:28) *
Та же страница, 10 строчек ниже

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

Спасибо, поищу!
prottoss
Цитата(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
drvlas
Цитата(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
Цитата(drvlas @ Sep 7 2010, 23:33) *
Что скажете?
Для начала спрошу, пробовали ли Вы программировать контроллер через AVRStudio?
drvlas
Для начала внесу маленькую поправку: все же не на одном месте программирование "замирает" и н даже бывает, что проскакивает без остановки.

А в Студии вот что пишет:

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
Нашел несколько ошибок. Вкладываю новую прошивку.
Проверена работа с AVRStudio, CodeVisionAVR, avrdude. Проверялись AT90S2313, ATtiny13, ATtiny2313, ATmega16, ATmega32
WHALE
prottoss Залил сегодня вашу прошивку(последнюю). К сожалению, в CV на семействе М16Х при попытке программирования EEPROM все так-же:"STK-500 error leaving programming mode". В Студии все шьется.
Так-что глюк похоже все-таки в CV, только вот что и почему только на одной серии...

prottoss
Цитата(WHALE @ Sep 13 2010, 14:54) *
prottoss Залил сегодня вашу прошивку(последнюю). К сожалению, в CV на семействе М16Х при попытке программирования EEPROM все так-же:"STK-500 error leaving programming mode". В Студии все шьется.
Так-что глюк похоже все-таки в CV, только вот что и почему только на одной серии...
Хм... не понятно, как вход в режим программирования зависит от того, какую память мы собираемся шить?smile.gif Я не помню сейчас, какой версией CV я испытывал прошивку. Приду домой, отпишусь.
prottoss
И так. Только что проверил работу программатора с новой прошивкой на CodeVisionAVR версий 1.25.7; 2.04.2; 2.04.6.
В МК ATmega16 и флэш и еепром программируется без ошибок.
WHALE
Цитата(prottoss @ Sep 13 2010, 14:43) *
И так. Только что проверил работу программатора с новой прошивкой на CodeVisionAVR версий 1.25.7; 2.04.2; 2.04.6.
В МК ATmega16 и флэш и еепром программируется без ошибок.

cranky.gif Ничего не понимаю... Я лично шью через stk-200 и ICE2-проблем нет.
Моим коллегам в командировках периодически требуется перепрошивка девайсов на мегах.Для этого они купили 2 мастеркитовых клона ваших программаторов.
С родной прошивкой у них сразу не заладилось.Были перешиты на прошивки от Ink.Заработало,но вылезла эта проблема.Сегодня я перешил на вашу версию-практически ничего не поменялось,только стал работать зеленый светодиод.
Причем от компьютера это не зависит точно-не работает одинаково на 2 РС и 2 ноутах.От версии CV не зависит тоже-не пашет на всех и на СhipBlaster тоже.На студии работает.
Выйду на работу-попробую поснифать обмен по юсб,больше мыслей нет.
Почему у вас работает-не понимаю...

prottoss
Цитата(WHALE @ Sep 13 2010, 18:54) *
cranky.gif Ничего не понимаю...
Есть один момент, который возможно Вам поможет. Дело в том, что уровни лог.1 для входа RESET и XTAL1 выше, чем для остальных линий ВВ МК. По этому я рекомендую на RESET программируемого МК ставить внешний подтягивающий резистор номиналом 10-47 кОм. Если используется тактирование МК от линии LED программатора, то на XTAL1 так же рекомендуется посадить такой же подтягивающий резистор. Хотя, у меня лично с XTAL1 проблем никогда не возникало.

Хотя я все же таки не пойму, какая связь между входом в режим программирования и программированием именно ЕЕПРОМа
WHALE
Это промышленные устройства,резистор по RESET там стоит.Тактируются меги от кварца 7,37 Мгц.
swisst
Цитата(prottoss @ Sep 12 2010, 14:50) *
Нашел несколько ошибок. Вкладываю новую прошивку.
Проверена работа с AVRStudio, CodeVisionAVR, avrdude. Проверялись AT90S2313, ATtiny13, ATtiny2313, ATmega16, ATmega32


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

ATMega8515 шьёт/читает/верифает флэш без проблем
prottoss
Цитата(swisst @ Sep 13 2010, 20:30) *
ATMega88 сигнатура читается на ура - в режим программирования не входит, соответственно не шьет...
Если сигнатура читается, значит в режим программирования входитsmile.gif Другое дело, на какой частоте входит... Попробуйте понизить частоту программирования. Частота программирования должна быть, как минимум, ниже в 4 раза частоты тактирования программируемого МК. Так же попробуйте с подтяжкой на RESET.
WHALE
Цитата(swisst @ Sep 13 2010, 17:30) *
ATMega88 сигнатура читается на ура - в режим программирования не входит, соответственно не шьет...

Можно я поработаю за prottossа? smile.gif Какой средой пытались зашить?
314
Цитата
Хотя я все же таки не пойму, какая связь между входом в режим программирования и программированием именно ЕЕПРОМа

Разный тип памяти имеет разное время доступа. Флеш программируется значительно быстрее ЕЕПРОМ, на ЕЕПРОМ может не хватать времени таймаута. В разных средах скорости работы также могут несколько отличаться, да и на разных машинах то же, если таймаут установлен на пределе, то можно не всегда в него вписываться. Поскольку запись идет блоками и таймаут обнуляется по окончании записи каждого блока, то на каком блоке его выбросит - это процесс вероятностный. Вот такое предположение.
swisst
Цитата(prottoss @ Sep 13 2010, 16:38) *
Если сигнатура читается, значит в режим программирования входитsmile.gif Другое дело, на какой частоте входит... Попробуйте понизить частоту программирования. Частота программирования должна быть, как минимум, ниже в 4 раза частоты тактирования программируемого МК. Так же попробуйте с подтяжкой на RESET.


резистор 20К на ресете. частота таргета 11,059200 МГц. пробовал на 1,8 МГц и на 460 КГц.

Цитата(WHALE @ Sep 13 2010, 16:39) *
Можно я поработаю за prottossа? smile.gif Какой средой пытались зашить?


можно - AVR Studio. причем вылетает предупреждение о нестыковках версий и предлагает обновить...обновить, естественно, не выходит...

пока откатился до адаптированной версии допера.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.