реклама на сайте
подробности

 
 
76 страниц V  « < 61 62 63 64 65 > »   
Reply to this topicStart new topic
> USB programmer AVR910, с драйвером от obdev
prottoss
сообщение Sep 5 2010, 11:28
Сообщение #931


Гуру
******

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



Цитата(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


--------------------
Go to the top of the page
 
+Quote Post
drvlas
сообщение Sep 5 2010, 15:59
Сообщение #932


Участник
*

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



"Но это не то, братцы", как говорил Тарас Бульба 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...

Сообщение отредактировал drvlas - Sep 5 2010, 16:02
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 5 2010, 16:28
Сообщение #933


Гуру
******

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



Цитата(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.


--------------------
Go to the top of the page
 
+Quote Post
drvlas
сообщение Sep 5 2010, 19:11
Сообщение #934


Участник
*

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



Цитата(prottoss @ Sep 5 2010, 19:28) *
Та же страница, 10 строчек ниже

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

Спасибо, поищу!
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 5 2010, 19:24
Сообщение #935


Гуру
******

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



Цитата(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


--------------------
Go to the top of the page
 
+Quote Post
drvlas
сообщение Sep 7 2010, 16:33
Сообщение #936


Участник
*

Группа: Участник
Сообщений: 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

Далее все пучком - читает, верифицирует, нет проблем.
Пробовал на нескольких микросхемах, со (слегка) разными по длине файлами - результат повторяется.

Что скажете?

Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 7 2010, 16:42
Сообщение #937


Гуру
******

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



Цитата(drvlas @ Sep 7 2010, 23:33) *
Что скажете?
Для начала спрошу, пробовали ли Вы программировать контроллер через AVRStudio?


--------------------
Go to the top of the page
 
+Quote Post
drvlas
сообщение Sep 7 2010, 17:29
Сообщение #938


Участник
*

Группа: Участник
Сообщений: 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!

Более подробно (мониторинг траффика) не исследовал. Нужно?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 12 2010, 11:50
Сообщение #939


Гуру
******

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



Нашел несколько ошибок. Вкладываю новую прошивку.
Проверена работа с AVRStudio, CodeVisionAVR, avrdude. Проверялись AT90S2313, ATtiny13, ATtiny2313, ATmega16, ATmega32
Прикрепленные файлы
Прикрепленный файл  AVRISP_USB_Prog.rar ( 7.82 килобайт ) Кол-во скачиваний: 235
 


--------------------
Go to the top of the page
 
+Quote Post
WHALE
сообщение Sep 13 2010, 07:54
Сообщение #940


Знающий
****

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



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



--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 13 2010, 08:25
Сообщение #941


Гуру
******

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



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


--------------------
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 13 2010, 10:43
Сообщение #942


Гуру
******

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



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


--------------------
Go to the top of the page
 
+Quote Post
WHALE
сообщение Sep 13 2010, 11:54
Сообщение #943


Знающий
****

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



Цитата(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 тоже.На студии работает.
Выйду на работу-попробую поснифать обмен по юсб,больше мыслей нет.
Почему у вас работает-не понимаю...



--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 13 2010, 12:13
Сообщение #944


Гуру
******

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



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

Хотя я все же таки не пойму, какая связь между входом в режим программирования и программированием именно ЕЕПРОМа


--------------------
Go to the top of the page
 
+Quote Post
WHALE
сообщение Sep 13 2010, 12:32
Сообщение #945


Знающий
****

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



Это промышленные устройства,резистор по RESET там стоит.Тактируются меги от кварца 7,37 Мгц.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post

76 страниц V  « < 61 62 63 64 65 > » 
Reply to this topicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 04:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01517 секунд с 7
ELECTRONIX ©2004-2016