|
avrdude & at90s1200, не дружат |
|
|
|
Mar 9 2005, 08:38
|

Частый гость
 
Группа: Свой
Сообщений: 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 штуки -c bsd - это что за железо? 5 проводов? Я с avrdude шил 1200, 90S2313, 90S8515 и Mega8 - полет нормальный, правда программатор был AVR910 или STK200/300. По поводу 5 проводочков уже все, кому не лень ругались - AvReal
--------------------
WBR, ROC.
|
|
|
|
|
Mar 9 2005, 09:09
|
Участник

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

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

Частый гость
 
Группа: Свой
Сообщений: 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-вая оболочка.
--------------------
WBR, ROC.
|
|
|
|
|
Mar 9 2005, 10:43
|
Участник

Группа: Свой
Сообщений: 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 резисторов.
|
|
|
|
|
Mar 9 2005, 13:10
|
Участник

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

|
Значит эти схемы совместимы. PonyProg должна работать с таким устройством.
|
|
|
|
|
Mar 9 2005, 15:33
|

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

|
Цитата(forever failure @ Mar 9 2005, 15:44) -c bsd - это пять проводков (/RESET - 7, SCK - 8, MOSI - 9, MISO - 10), ну ещё буфер, хотя что с ним, что без него одно и тоже. Не поленись, собери что-нибудь вроде STK200 Я в свое время (правда с 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.
|
|
|
|
|
Mar 10 2005, 14:18
|
Участник

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

|
Да, ROC прав, 5 проводков - это не серьезно.
|
|
|
|
|
Mar 14 2005, 08:15
|
Участник

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

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

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

|
Цитата(forever failure @ Mar 14 2005, 11:15) А вообще у него вроде как верхний предел тактовой частоты - 12 МГц (по документации), разве он работает от 16 ? Работает. Недавно собрал частотомер до 50 МГц, используя вышеуказанные номиналы деталей, причем напрямую без делителя можно измерять частоту до 1 МГц.
|
|
|
|
|
Mar 15 2005, 05:22
|
Местный
  
Группа: Участник
Сообщений: 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, то всё тоже самое - младший байт записывается и на свой адрес и на следующий за ним. Есть ещё какие-нить соображения по этому поводу ?
|
|
|
|
|
Mar 15 2005, 07:03
|
Участник

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

|
Так а на другом контроллере пробовали? У меня был случай, взял якобы новый МК, залил туда циклов 50 и все. Брак попался, либо МК уже где-то использовался. Еще советую проверить сигналы RST,SCK,MOSI,MISO. RST для AT90S1200 должен быть инвертирован. Проверьте работу кварцевого генератора. На выводах XTAL должна идти генерация частоты кварца.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|