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

 
 
> avrdude & at90s1200, не дружат
forever failure
сообщение Mar 6 2005, 11:05
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



В общем такая проблема: сабжевый программатор не хочет шить
at90s1200. Именно не работает загрузка программы.
Если зашиваю по параллельному HV интерфейсу - всё ОК, считывание
зашитой программы и вермификация и ч/з параллельный и ч/з
последовательный интерфейсы ОК.
как это выглядит :
[pp232@chaos src]$ avrdude -p 1200 -c bsd -U flash:w:adc_at.hex:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x009001
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "adc_at.hex"
avrdude: writing flash (70 bytes):

Writing | # | 1% 0.00s ***failed;
Writing | ## | 4% 0.06s ***failed;
Writing | #### | 7% 0.12s ***failed;
Writing | ##### | 10% 0.18s ***failed;
Writing | ###### | 12% 0.24s ***failed;
Writing | ######## | 15% 0.29s ***failed;
Writing | ######### | 18% 0.35s ***failed;
Writing | ########### | 21% 0.41s ***failed;
Writing | ############ | 24% 0.47s ***failed;
Writing | ############## | 27% 0.53s ***failed;
Writing | ############### | 30% 0.58s ***failed;
Writing | ################ | 32% 0.64s ***failed;
Writing | ################## | 35% 0.70s ***failed;
Writing | ################### | 38% 0.76s ***failed;
Writing | ##################### | 41% 0.82s ***failed;
Writing | ###################### | 44% 0.87s ***failed;
Writing | ######################## | 47% 0.93s ***failed;
Writing | ######################### | 50% 0.99s ***failed;
Writing | ########################## | 52% 1.05s ***failed;
Writing | ############################ | 55% 1.11s ***failed;
Writing | ############################# | 58% 1.16s ***failed;
Writing | ############################### | 61% 1.22s ***failed;
Writing | ################################ | 64% 1.28s ***failed;
Writing | ################################## | 67% 1.34s ***failed;
Writing | ################################### | 70% 1.40s ***failed;
Writing | ###################################### | 75% 1.46s ***failed;
Writing | ######################################### | 81% 1.52s ***failed;
Writing | ########################################## | 84% 1.58s ***failed;
Writing | ############################################ | 87% 1.64s ***failed;
Writing | ############################################# | 90% 1.69s ***failed;
Writing | ################################################ | 95% 1.75s ***failed;
Writing | ################################################# | 98% 1.81s ***failed;
Writing | ################################################## | 100% 1.87s

avrdude: 70 bytes of flash written
avrdude: verifying flash memory against adc_at.hex:
avrdude: load data flash data from input file adc_at.hex:
avrdude: input file adc_at.hex contains 70 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0001
0xc0 != 0x00
avrdude: verification error; content mismatch

avrdude done. Thank you.

чтение показывает, что каждый чётный байт записывается неправильно.
Если записывать однородные файлы (типа 256 раз подряд 0xc0 - да любое одинаковое значение) - то запись ОК, если записывать по порядку возрастающие байты от 0 до 0xff - то опять каждый чётный байт записывается неверно.

Такая заморочка только с at90s1200, шью этой же прогой 8-ю atmeg'у без проблем.
Кто-нить сталкивался с такой проблемой ?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
ROC
сообщение Mar 9 2005, 08:38
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 14-11-04
Из: Санкт-Петербург
Пользователь №: 1 125



Цитата(forever failure @ Mar 6 2005, 14:05)
В общем такая проблема: сабжевый программатор не хочет шить
at90s1200. Именно не работает загрузка программы.
Если зашиваю по параллельному HV интерфейсу - всё ОК, считывание
зашитой программы и вермификация и ч/з параллельный и ч/з
последовательный интерфейсы ОК.
как это выглядит :
[pp232@chaos src]$ avrdude -p 1200 -c bsd -U flash:w:adc_at.hex:i



[Skipped нафиг]
чтение показывает, что каждый чётный байт записывается неправильно.
Если записывать однородные файлы (типа 256 раз подряд 0xc0 - да любое одинаковое значение) - то запись ОК, если записывать по порядку возрастающие байты от 0 до 0xff - то опять каждый чётный байт записывается неверно.

Такая заморочка только с at90s1200, шью этой же прогой 8-ю atmeg'у  без проблем. 
Кто-нить сталкивался с такой проблемой ?
*


1200 вообще штука странная и непонятная - этих 1200 в коде к AVR910 аж 4 штуки blink.gif


-c bsd - это что за железо? 5 проводов?
Я с avrdude шил 1200, 90S2313, 90S8515 и Mega8 - полет нормальный, правда программатор был AVR910 или STK200/300.
По поводу 5 проводочков уже все, кому не лень ругались - AvReal


--------------------
WBR,
ROC.
Go to the top of the page
 
+Quote Post
SPS
сообщение Mar 9 2005, 09:09
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 8-02-05
Из: Ukraine
Пользователь №: 2 501



Я бы советовал использовать PonyProg:
Доступный софт; схему можно собрать за 20 мин, программирует множество контроллеров семейства AVR и PIC.
Go to the top of the page
 
+Quote Post
ROC
сообщение Mar 9 2005, 10:12
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 14-11-04
Из: Санкт-Петербург
Пользователь №: 1 125



Цитата(SPS @ Mar 9 2005, 12:09)
Я бы советовал использовать PonyProg:
Доступный софт; схему можно собрать за 20 мин, программирует множество контроллеров семейства AVR и PIC.
*


Поня - это софт , тут же, похоже ,железные проблемы.

А чем avrdude не нравится??? Быстр, умен, отлажен, есть Win32 & *NIX версии, работает с целой кучей железа - "5 проводков" , STK200/300, AVR910, STK500 & ButterFly. Командная строка, текстовый конфиг. Для "ленивых" - есть GUI-вая оболочка. smile.gif


--------------------
WBR,
ROC.
Go to the top of the page
 
+Quote Post
SPS
сообщение Mar 9 2005, 10:43
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 8-02-05
Из: Ukraine
Пользователь №: 2 501



Цитата(ROC @ Mar 9 2005, 12:12)
Цитата(SPS @ Mar 9 2005, 12:09)
Я бы советовал использовать PonyProg:
Доступный софт; схему можно собрать за 20 мин, программирует множество контроллеров семейства AVR и PIC.
*


Поня - это софт , тут же, похоже ,железные проблемы.

*



Программатор - это устройство + софт к нему. Я говорю о PonyProg как о программаторе. Вся схема состоит из 1 микросхемы и 3 резисторов.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 9 2005, 12:44
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



-c bsd - это пять проводков (/RESET - 7, SCK - 8, MOSI - 9, MISO - 10), ну ещё буфер, хотя что с ним, что без него одно и тоже.
Go to the top of the page
 
+Quote Post
SPS
сообщение Mar 9 2005, 13:10
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 8-02-05
Из: Ukraine
Пользователь №: 2 501



Значит эти схемы совместимы. PonyProg должна работать с таким устройством.
Go to the top of the page
 
+Quote Post
ROC
сообщение Mar 9 2005, 15:33
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 14-11-04
Из: Санкт-Петербург
Пользователь №: 1 125



Цитата(forever failure @ Mar 9 2005, 15:44)
-c bsd - это пять проводков (/RESET - 7, SCK - 8, MOSI - 9, MISO - 10), ну ещё  буфер, хотя что с ним, что без него одно и тоже.
*


Не поленись, собери что-нибудь вроде STK200 smile.gif smile.gif smile.gif

Я в свое время (правда с 90S2313) чуть не поседел - то читается, то не читается, то видит сигнатуру, то нет. MOSI отсох - правда, на SP12 (те же 5 проводков).
Собрал AVR910, не нарадуюсь; единственное - захотелось на 115200 работать и из-за этого пришлось на использовать AVRProg из Студии или avrdude. Все эти CodeVision, Bascom-AVR вяжутся только на 19200.

Относительно 1200 - она одна такая или все так странно себя ведут? Первый раз прошиваешь? Год выпуска какой?
Их же была целая куча ревизий (1200A-1200D, сейчас просто 1200) с какими-то изрядными отличиями.
Супостаты сами писАли:
On-chip RC Oscillator
An on-chip RC oscillator running at a fixed frequency of 1 MHz can be selected as the MCU clock source. If enabled, the
AT90S1200 can operate with no external components. A control bit - RCEN in the Flash Memory selects the on-chip RC
oscillator as the clock source when programmed (“0”). The AT90S1200 is normally shipped with this bit unprogrammed
(“1”). Parts with this bit programmed can be ordered as AT90S1200A. The RCEN-bit can be changed by parallel programming
only. When using the on-chip RC oscillator for serial program downloading, the RCEN bit must be programmed in
parallel programming mode first.


--------------------
WBR,
ROC.
Go to the top of the page
 
+Quote Post
SPS
сообщение Mar 10 2005, 14:18
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 8-02-05
Из: Ukraine
Пользователь №: 2 501



Да, ROC прав, 5 проводков - это не серьезно.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 12 2005, 08:46
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Благодарю за рекомендации, но похоже это не мой случай.
Замена програматора немного дала (т. е. до этого _иногда_ девайс не
читался первый раз после включения).

Было испробовано три чипа; у всех стабильная катрина во всех позах и
во всех вариантах :

чтение - OK
запись eeprom - OK
запись flash - по нечётным адресам (0x01, 0x03, ..., 0x0f и т. д.) -
тоже нормально
а запись в чётные адреса flash приводит к тому, что этот же байт
записывается в следующий адрес. Это выяснилось в ходе экспериментов в
термнальном режиме avrdude.

Рядом на этой же плате стоит atmega8, которая тем же програматором
шьётся с полтычка и без единого чиха.

Програматор сейчас: на входе 1554АП5 (74AC244) шлейф 10-проводный, сигнальные провода чередуются с земляными.

Однако похоже дело не в нём, до этого картина была таже самая.
Go to the top of the page
 
+Quote Post
SPS
сообщение Mar 14 2005, 08:15
Сообщение #11


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 8-02-05
Из: Ukraine
Пользователь №: 2 501



Проблема может возникать либо если заканчивается ресурс МК, (около 1000 циклов), либо из-за некорректной работы кварцевого генератора соединенного с выводами XTAL1, XTAL2.
Советы:
1) Испытать на другом АТ90S1200.
2) Подобрать элементы тактового генератора. У меня например:
кварц - 16 МГц.
С1, С2 - 24 пФ.
Шьется отлично.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 14 2005, 09:15
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



ладно, попробую.
Я для него использую внешний генератор 8 МГц, сигнал генератора
подаётся на XTAL1. Во всех трёх экземплярах бит RCEN выключен.

На исчерпание ресурса это не похоже, поскольку такой косяк
возникал с абсолютно новым чипом.

А вообще у него вроде как верхний предел тактовой частоты - 12 МГц
(по документации), разве он работает от 16 ?
Go to the top of the page
 
+Quote Post
SPS
сообщение Mar 14 2005, 09:33
Сообщение #13


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 8-02-05
Из: Ukraine
Пользователь №: 2 501



Цитата(forever failure @ Mar 14 2005, 11:15)
А вообще у него вроде как верхний предел тактовой частоты - 12 МГц
(по документации), разве он работает от 16 ?
*


Работает. Недавно собрал частотомер до 50 МГц, используя вышеуказанные номиналы деталей, причем напрямую без делителя можно измерять частоту до 1 МГц.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 15 2005, 05:22
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Цитата(SPS @ Mar 14 2005, 13:15)
Проблема может возникать либо если заканчивается ресурс МК, (около 1000 циклов), либо из-за некорректной работы кварцевого генератора соединенного с выводами XTAL1, XTAL2.
Советы:
1) Испытать на другом АТ90S1200.
2) Подобрать элементы тактового генератора. У меня например:
кварц - 16 МГц.
С1, С2 - 24 пФ.
Шьется отлично.
*


Бесполезно.

Единственное, что у меня получилось - это зашить в терминальном режиме
через посылку команды, т. е. если я посылаю тупую команду в 4 байта
(типа avrdude> send 0x40 0x00 0x00 0x04), как расписано в даташите, то
посылаемый байт ложится точно на своё место и более ничего не меняет.
Если использовать более высокоуровневые комады типа write flash,
то всё тоже самое - младший байт записывается и на свой адрес и на
следующий за ним.

Есть ещё какие-нить соображения по этому поводу ?
Go to the top of the page
 
+Quote Post
SPS
сообщение Mar 15 2005, 07:03
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 8-02-05
Из: Ukraine
Пользователь №: 2 501



Так а на другом контроллере пробовали? У меня был случай, взял якобы новый МК, залил туда циклов 50 и все. Брак попался, либо МК уже где-то использовался.
Еще советую проверить сигналы RST,SCK,MOSI,MISO. RST для AT90S1200 должен быть инвертирован. Проверьте работу кварцевого генератора. На выводах XTAL должна идти генерация частоты кварца.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:13
Рейтинг@Mail.ru


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