Программатор ArduinoISP и AT90S2313-10

vladimircape
Offline
Зарегистрирован: 26.03.2013

Пытаюсь за прошить микроконтроллер  по этому рецепту http://habrahabr.ru/post/144620/

только у меня AT90S2313-10 более старая версия .

Постоянно пишет что не так divice signature, посмотрел сигнал идет, кварц поставил

заливаю через avrdude . Сделал пропусть проверку подписи всё равно, игрался с задержкой и скоростью.

Может микроконтроллер плохой попался

step962
Offline
Зарегистрирован: 23.05.2011

vladimircape пишет:

Пытаюсь за прошить микроконтроллер  по этому рецепту http://habrahabr.ru/post/144620/

только у меня AT90S2313-10 более старая версия .

А что мешает действовать по инструкции именно для AT90S2313? Вот взять в Гугле тупо забить "AT90S2313 avrdude" и пройти по самой что ни  на есть первой найденной ссылке? (USB программатор для AVR микроконтроллеров)

Цитата:
Постоянно пишет что не так divice signature, 

А может быть вы дудке неправильный тип микроконтроллера указываете?

Цитата:
посмотрел сигнал идет, кварц поставил

А если камень с завода пришел с настройкой на работу от внутреннего генератора, то на кой ему ваш кварц?

 

И, кстати: что вы пытаетесь залить в этот камень - уж не загрузчик ли? А вы не проверили - есть ли у этого камня такая возможность?

vladimircape
Offline
Зарегистрирован: 26.03.2013

за статью спасибо буду изучать.

я пробывал 2 типа микроконтроллера t2313 и просто 2313

Камень я купил на радиорынке не факт что он нормальный, как его проверить не знаю.

На микроконтроллер пытаюсь загрузить обычный HEX файл мигание светодиодом , никаких загрузчиков

leshak
Offline
Зарегистрирован: 29.09.2011

>Постоянно пишет что не так divice signature

Но при этом должно говорить какую именно сигнатуру оно прочитало. Типа "ждало 0x40, а пришло XXX"

На крайняк, конечно можно сказать "плюй на сигнатуру лей полюбому" (кажись опиция -F у дудки), но... плохой подход.

>обычный HEX файл мигание светодиодом

А это что за зверь неведомый?  Может я чего не знаю, но мне кажется что такого понятия как "обычный HEX" - не существует. А должен быть "необычный", скомпилированный именно под ваш камень.

Чисто из любопытсва, возмите блинк и попробуйте его компилять в ArduinoIDE под разные платы. Посмотрите как различается размер получающегося HEX-са.

Вряд ли это причина "не заливается", но тоже "звучит странно".

vladimircape
Offline
Зарегистрирован: 26.03.2013

пишел что получает 0x000102 сигнатуру, а должна быть для AT90S2313-10PI другая уже сейчас не помню.

Без кварца вообще кажется возвращала not sync

как я уже и писал я пробывал делать без проверку сигнатуры и данные не записывались было failed

Кстати насчёт компиляции это идея попробую, хотя микроконтроллеры почти одинаковые но компилил я для attiny2313   сегодня перекомпилирую чисто на мой

avr-gcc -c -mmcu=attiny2313 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=blink_led.lst  -std=gnu99 blink_led.c -o blink_led.o

avr-gcc -mmcu=attiny2313 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=blink_led.o  -std=gnu99 blink_led.o   --output blink_led.elf -Wl,-Map=blink_led.map,--cref -lm

avr-objcopy -O ihex -R .eeprom blink_led.elf blink_led.hex
leshak
Offline
Зарегистрирован: 29.09.2011

vladimircape пишет:

пишел что получает 0x000102 сигнатуру, а должна быть для AT90S2313-10PI другая уже сейчас не помню.

Выглядит как нереальная сигнатура. То есть либо где-то ошибка в схеме, либо помехи...

Из советов общего вида которые дают в таком случае:

1. Перепроверте соединения
2. Сделайте короче проводки, убедитесь что рядом с ними блока питания не лежит и т.п.
3. Запитайте прошивающую дуину от внешнего блока, а не от USB
4. Ну и банальное: убедится что микруха в колодку плотно села, ножки не погнулись мимо разъема и т.п.

vladimircape пишет:

Без кварца вообще кажется возвращала not sync

А это значит что либо на заводе (что вряд ли), либо уже вы в процессе эксперементов вогнали какие-то фьюзы в нее. Так можно и вообще чип залокать до состояния "нужен высоковольтный программатор".

vladimircape пишет:

как я уже и писал я пробывал делать без проверку сигнатуры и данные не записывались было failed

Ну я тоже писал что "можно, но идея плохая" :)

vladimircape пишет:

Кстати насчёт компиляции это идея попробую,

Ну компилировать - это точно нужно под свой камень, но с этим можно позже разобратся. Вряд ли это причина "не заливается" и уж точно не причина неверного чтения сигнатуры.

vladimircape
Offline
Зарегистрирован: 26.03.2013

Без кварца вообще сигнатуру выдавало 0х000000

Соединения проверял мультиметром , у меня собрано на макетной плате, только вот еще одно сомнение гложить что на ножку где reset почему-то напряжение не 5в ,а меньше 3 с чем-то может в этом дело, хотя собирал всё точно по схеме.

Проводники я уже усек до минимума ))) тоже думал может в этом проблема

села плотно дальше уже некуда, обратно только отверткой если подковырять достается

 

leshak
Offline
Зарегистрирован: 29.09.2011

А кварц с кондерами подключали?

>что на ножку где reset почему-то напряжение не 5в ,а меньше 3 с чем-то может в этом дело

Очень может быть.

Посмотрите официальный туториал 

http://arduino.cc/en/Tutorial/ArduinoISP

Самый нижний правый вариант. Там Reset еще дополнительно к питалову подтянут резюком.

А еще попрубуйте коммент оттуда Find the line in the heartbeat() function that says "delay(40);" and change it to "delay(20);".

 

vladimircape
Offline
Зарегистрирован: 26.03.2013

по схемам там кварц без кондеров подключается

leshak
Offline
Зарегистрирован: 29.09.2011

vladimircape пишет:

по схемам там кварц без кондеров подключается

По каким схемам?

В вашей первой ссылке - кварца вообще нет, в официальном туториале - там с кондерами.

Смотрели мою ссылку на официальный?

with external crystal and associated capacitors (18 or 22 picofarads).

step962
Offline
Зарегистрирован: 23.05.2011

 

"Signature Bytes
All Atmel microcontrollers have a 3-byte signature code that identifies the device. This
code can be read in both serial and parallel mode. The three bytes reside in a separate
address space.
For the AT90S2313(1) they are:
1. $000: $1E (indicates manufactured by Atmel).
2. $001: $91 (indicates 2 Kb Flash memory).
3. $002: $01 (indicates AT90S2313 device when signature byte $001 is $91).
Note: 1. When both Lock bits are programmed (Lock mode 3), the signature bytes cannot be
read in serial mode. Reading the signature bytes will return: $00, $01 and $02."
Если верить даташиту на AT90S2313, на вашем камне могут быть запрограммированы Lock-биты.
vladimircape
Offline
Зарегистрирован: 26.03.2013

Перекомпилировал я свой файл именно по мой контроллер. естественно ничего.

Запитаться от отдельно блока питания я запитал, но вот такого com шнура нету, использую usb

как варианты остались натыкать кондесаторов, или искать шнур

Или новую микруху покупать.

Ставить delay я посмотрел по коду не нужно, хотя и это я пробывал, там чисто меняется для вывода сигнала на лампочку,а не для программирования

leshak
Offline
Зарегистрирован: 29.09.2011

vladimircape пишет:

Запитаться от отдельно блока питания я запитал, но вот такого com шнура нету, использую usb

Где вы на официальном туториале (ссылку я давал) смогли увидить какой-то com-шнурок?

Судя по инфе от step962 вы таки залокали свой камень (или до вас кто-то). Какие-то фьюзы ему таки уже впихивали (так же, за это говорит то что без кварца работать не хочет - значит явно уже не заводсткие).

vladimircape
Offline
Зарегистрирован: 26.03.2013

leshak пишет:

vladimircape пишет:

Запитаться от отдельно блока питания я запитал, но вот такого com шнура нету, использую usb

Где вы на официальном туториале (ссылку я давал) смогли увидить какой-то com-шнурок?

Судя по инфе от step962 вы таки залокали свой камень (или до вас кто-то). Какие-то фьюзы ему таки уже впихивали (так же, за это говорит то что без кварца работать не хочет - значит явно уже не заводсткие).

к компьютеру надо же как-то подключиться без источника питания.

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

leshak
Offline
Зарегистрирован: 29.09.2011

vladimircape пишет:

leshak пишет:

vladimircape пишет:

Запитаться от отдельно блока питания я запитал, но вот такого com шнура нету, использую usb

Где вы на официальном туториале (ссылку я давал) смогли увидить какой-то com-шнурок?

 

к компьютеру надо же как-то подключиться без источника питания.

Я еще раз переспрошу - где вы на официальном туториале увидили COM-шнурок? Этот тутуориал - повторяли не одна сотня человек (если не тысячи). И я в их числе. И никому COM-шнурок при этом не потребовался. Запитались, как-то и без него. А именно - от самой ардуины.

А вы похоже, занимаетесь какой-то самодеятельностью. Вместо того что-бы пройти по гайду, а уж потом выполнять "произвольную программу танцев".Не очень понятно куда вы его вообще подключаете. Дай бог, что-бы 12-ть вольт не вкатили в камень.

vladimircape пишет:

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

IMHO зря грешите. Если бы у вас читался мусор, или нули, или FFFF-вы - тогда да. Но вы получаете вполне конкретный код. Который, как стало понятно благодаря step962, в даташите описан. И имеет вполне конкретный смысл.

А значит наиболее вероятное объяснение  -  что-то нахомутали с фьюзами. Либо вы, либо предшественники. За эту же версию говорит и то что без кварца вообще ничего читать не хочет.

Значит нужно либо перешивать фьюзы (через опцию -F), либо если все залокано насмерть - высоковольтным программатором, либо... покупать новый камень. И заново перечитывать/разбираться с фьюзами что-бы и его не запереть.