|
|
  |
USB programmer AVR910, с драйвером от obdev |
|
|
|
Sep 5 2010, 15:59
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 3-09-10
Пользователь №: 59 263

|
"Но это не то, братцы", как говорил Тарас Бульба  В протоколе 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...
Сообщение отредактировал drvlas - Sep 5 2010, 16:02
|
|
|
|
|
Sep 5 2010, 16:28
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(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.
--------------------
|
|
|
|
|
Sep 5 2010, 19:11
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 3-09-10
Пользователь №: 59 263

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

Группа: Участник
Сообщений: 50
Регистрация: 3-09-10
Пользователь №: 59 263

|
Цитата(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 Далее все пучком - читает, верифицирует, нет проблем. Пробовал на нескольких микросхемах, со (слегка) разными по длине файлами - результат повторяется. Что скажете?
|
|
|
|
|
Sep 7 2010, 17:29
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 3-09-10
Пользователь №: 59 263

|
Для начала внесу маленькую поправку: все же не на одном месте программирование "замирает" и н даже бывает, что проскакивает без остановки.
А в Студии вот что пишет:
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!
Более подробно (мониторинг траффика) не исследовал. Нужно?
|
|
|
|
|
Sep 13 2010, 11:54
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
Цитата(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 тоже.На студии работает. Выйду на работу-попробую поснифать обмен по юсб,больше мыслей нет. Почему у вас работает-не понимаю...
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
Sep 13 2010, 12:13
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

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