|
|
  |
программатор для AVR |
|
|
|
Dec 26 2011, 10:06
|
Местный
  
Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553

|
prottoss, но ведь в программе, листинг которой я привел в 54-м сообщении, есть только инициализация портов. Фьюзы мы никак не трогаем. У меня есть подозрения, что кроме порчи фьюзов, мы можем испортить микросхему неправильно работой программатора. Чтобы считать переход в режим программирования успешным, ему нужно всего несколько байт. Тогда как программа заливается длинная и во время заливки этого килобайта могут быть какие-то проблемы в передачи информации. Типа как повреждение пакета во время пересылки данных по сети ethernet. Но TCP/IP эти ошибки ловит и исправляет, а вот есть ли такое у программатора? Проверяет ли он заливаемую программу налету? Повторюсь, если делать верификацию, то в CodeVisionAVR она НЕ проходит. Т.е. сначала заливается программа, потом сразу следом за ней идет верификация, и на этом этапе ловятся ошибки несоответствия того, что должно быть, с тем, что реально прочитано.
--------------------
Продаю котят. Недорого. 50р ведро.
|
|
|
|
|
Dec 26 2011, 10:07
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(prottoss @ Dec 26 2011, 15:32)  Еще раз Вам напоминаю, что от того, что Вы залили в чип неверную-кривую программу, МК не сипортится и будет нормально определятся-читаться-писаться программатором. Одно, НО - если только ПО, которое Вы используете, само не прошило фьюз-биты. Однако, мысль правильная! Я тоже когда-то давным-давно сидел под гламурной Виндушечкой и юзал CodeVision. Припоминаю, что там где-то есть настройки, которые автоматически устанавливают фьюзы после заливки кода во флеш. Наверняка у ТС это и происходит -- он после заливки программирует фьюзы, которые, скорее всего, он даже и не задавал. А раз они не заданы правильно (стоят как попало), то в результате проц захлапывается.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Dec 26 2011, 10:10
|
Местный
  
Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553

|
Цитата(zhevak @ Dec 26 2011, 14:07)  Я тоже когда-то давным-давно сидел под гламурной Виндушечкой и юзал CodeVision но эта проблема происходит и при пользовании SinaProg'ом (avrdude): пишем в чип одно, а читается совсем другое. Фьюзы при этом не меняются (остаются такими же, как и ДО заливки программы).
--------------------
Продаю котят. Недорого. 50р ведро.
|
|
|
|
|
Dec 26 2011, 11:21
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(Voice2001 @ Dec 26 2011, 16:10)  но эта проблема происходит и при пользовании SinaProg'ом (avrdude): пишем в чип одно, а читается совсем другое. Фьюзы при этом не меняются (остаются такими же, как и ДО заливки программы). Очень походит на несоответствие форматов файлов с кодами для заливки. Я не знаю SianaProg. Я использую avrdude и тот из-под Линуха. Компиляцию выполняю с помощью avr-gcc, на выходе получаю файл в формате elf. Затем перегоняю из него машинные коды для заливки с помощью avr-objcopy и сохраняю их в файле hex-формата. И наконец, полученный hex-файл скармливаю avrdude-у. Но, на сколько я помню, в CodeVision (ver.1.25.8) был встроенный модуль, который позволял прошивать МК не выходя из среды программирования. Почему Вы не пользуетесь этой возможностью? Я не помню, какой выходной формат файлов у CodeVision. Вполне может оказаться так, что он будет несовместим с форматом-по-умолчанию, принятым в avrdude. Может здесь собака зарыта? updeteСейчас посмотрел на Ваши hex-файлы... Не. Похоже, чушь сморозил. Заархивируйте и выложите весь проект.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Dec 26 2011, 11:36
|
Местный
  
Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553

|
zhevak, я заливал программу И SinaProg'ом, И CodeVisionAVR'ом. Результат был похож - если программа близка или больше 1кб, данные заливались, но читались с ошибками. ПС. да и по-моему, "заливателю" совершенно фиолетово, какого формата файл. Есть ГОТОВЫЙ hex - это программа, скомпилированная для выбранного МК (tiny2313). Т.е. она именного такого формата, который подходит для используемого МК. Цитата(zhevak @ Dec 26 2011, 15:21)  Заархивируйте и выложите весь проект. вот
--------------------
Продаю котят. Недорого. 50р ведро.
|
|
|
|
|
Dec 26 2011, 12:21
|
Местный
  
Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553

|
prottoss, не-не-не, я ж не говорю, что конструкция программатора неудачная. Возможен или брак, или я чего-то не учел и криво подключаю (что скорее всего). В этом-то и пытаюсь разобраться. В СинаПрог выбираю: Device: ATtiny2313 Fuses: (ничего не выбрано, кнопка Program недоступна. Только по нажатию "Advanced..." появляется др.окошко, в котором прописаны фьюзы, об их значениях писал в 52-м сообщении) Programmer: AVR910, COM2, 19200 Скорость 19200 я проставил везде: и в СинаПрог, и в КодВизионАВР, и в диспетчере устройств в св-вах своего программатора, который висит на COM2
--------------------
Продаю котят. Недорого. 50р ведро.
|
|
|
|
|
Dec 26 2011, 12:40
|

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

|
Цитата(Voice2001 @ Dec 26 2011, 18:21)  Fuses: (ничего не выбрано, кнопка Program недоступна. Только по нажатию "Advanced..." появляется др.окошко, в котором прописаны фьюзы, об их значениях писал в 52-м сообщении) Programmer: AVR910, COM2, 19200 Скорость 19200 я проставил везде: и в СинаПрог, и в КодВизионАВР, и в диспетчере устройств в св-вах своего программатора, который висит на COM2 Вот если Вы читали статейку, ссылку на которую я давал выше, то там написано красными буквами Цитата Но ни в коем случае не забывайте нажать кнопочку READ перед тем как что либо менять. Помните, неустановленные fuse это тоже какое то значение, которое будет записано при нажатии кнопки WRITE Второе - программатору пофиг, какую скорость Вы выставляете для СОМ-порта, ибо USB.
--------------------
|
|
|
|
|
Dec 26 2011, 12:59
|

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

|
И так, ворачиваемся к посту №52 и конкретно к значению для low fuse: Цитата(Voice2001 @ Dec 24 2011, 04:08)  Программа из тиньки удалилась, фьюзы никак не поменялись и остались вот такими (от чистой микросхемы отличаются только calibration и low fuse): calibration: 00005f60 - кстати, что это? у чистой тиньки в этом месте стоит 00005858 lock bits: 3f high fuse: df low fuse: e9 (у чистой в этом месте стоит 64) ext.fuse: ff
В нижнем байте (low fuse) мы задаем только параметры генератора, и на описанные выше косяки этим байтом особо повлиять не могли... Во первых, они изменились оказывается, хотя Вы их, вроде как, не меняли. Тем не менее, кто то или что то их поменяло... Сурпрайз однако. Далее, смотрим, что же вся таки мы там наустанавливали? ... И сверяемся, попутно с даташитом: LOW FUSE = 0xe9CKDIV8 = 1 /* делитель на 8 отключен - ОК */ CKOUT = 1 /* генереация тактовой частоты на выводе CKOUT - пофиг */ SUT1 = 1 /* Стартап время - эти значения рекомендуются для керамического резонатора, но еще не фатально */ SUT0 = 0 /* См. выше */ CKSEL3 = 1 /* CKSEL3..1 = 100 This option should not be used with crystals, only with ceramic resonators - надеюсь понятно */ CKSEL2 = 0 CKSEL1 = 0 CKSEL0 = 1 /* В купе с комбинацией CKSEL3 - CKSEL1 для керамического резонатора 0.4 - 0.9 МГц */ все таки можно попробовать реанимировать МК, как я говорил выше, но Вы похоже пропустили мимо ушей - подтянуть резисторами 10-47 кОм выводы RESET и XTAL1 к напряжению питания МК и попробовать прочитать МК.
--------------------
|
|
|
|
|
Dec 26 2011, 13:19
|
Местный
  
Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553

|
Цитата(prottoss @ Dec 25 2011, 11:49)  Кстати, еще один шанс попробовать реабилитировать контроллер. Подайте на XTAL1 частоту с контакта LED программатора. Выводы RESET и XTAL1 подтяните к напряжению питания программируемого контроллера резисторами 10 - 47 кОм правильно я понял, что нужно: - убрать кварц и конденсаторы - на 5-ю ногу подвести провод со светодиода программатора (подойдет ли выход XTAL1 от программатора) - и эту же 5-ю ногу соединить через резистор с плюсом питания - и так же через свой резистор подключить RESET (1-ю ногу) к плюсу питания? в общем все это проделал (к 5-й ноге подключил XTAL1 от программатора), ничего не получилось - пишет: "не могу войти в режим программирования"
--------------------
Продаю котят. Недорого. 50р ведро.
|
|
|
|
|
Dec 26 2011, 13:37
|
Местный
  
Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553

|
prottoss, именно  хз, почему они изменились кстати, а с чего вы взяли, что они изменились? повторю сильно вкратце историю своих неудач: сначала (совсем сначала) купил программатор, собрал мелкую схемку по книжке, все подключил, но не заработало, т.к. забыл подключить провод RESET от программатора, к МК. С тех пор перепроверил шлейф 100500 раз - ВСЕ провода задействованы, кроме XTAL1 (т.к. в схемах присутствовал кварц) и VCC (т.к. питание в схеме свое). Все вроде начало работать ......................... все, бесполезно это описывать, т.к. с уверенностью не смогу вспомнить, где и что выставлял, когда прошивался. Но на 99% уверен, что НЕ нажимал ProgramAll ни в одной из программ-прошивальщиков, а шил только hex-программу, не трогая фьюзы и eeprom. Фьюзы менял один раз по книжке, когда шился из CodeVisionAVR и это была самая первая прожка из книжки (она тогда заработала). Больше фьюзы не трогал и оставлял их как есть. Когда программировал, нажимал только "залить программу". При этом "Залить еепром" или "изменить фьюзы" не трогал. в общем, у меня в запасе еще 5 новеньких тинек, буду экспериментировать..... Надолго ли их хватит?..
--------------------
Продаю котят. Недорого. 50р ведро.
|
|
|
|
|
Dec 26 2011, 13:44
|

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

|
Цитата(Voice2001 @ Dec 26 2011, 19:37)  prottoss, именно  хз, почему они изменились  Цитата(Voice2001 @ Dec 26 2011, 19:37)  кстати, а с чего вы взяли, что они изменились? С того, что Вы сами об этом сообщили в посте №52 Цитата(Voice2001 @ Dec 26 2011, 19:37)  Надолго ли их хватит?.. Зависит от степени Вашей сообразительности.
--------------------
|
|
|
|
|
Dec 26 2011, 13:55
|
Местный
  
Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553

|
Цитата(prottoss @ Dec 26 2011, 17:44)  Зависит от степени Вашей сообразительности. учитывая 6 страниц этой темы, сообразительность у меня невысокая... воткнул свежую микросхему. Попытался прочитать. 3 раза в течение 5 секунд это почему-то не удалось ("не могу войти в режим программирования"). Потом стал писать ОК. Откуда такая задержка? после написания этого поста (т.е. прошла еще пара минут), попытался опять прочитать информацию с чипа. Опять не удалось, а следующие 3 раза все ОК...... это вообще как понимать? в схеме стоит: тинька2313 - 1шт кварцевый резонатор на 4МГц в железном корпусе, подключенный к 4 и 5 ноге (XTAL1, XTAL2) - 1шт конденсаторы на 22пФ подключенные одним концом к резонатору (один - к одной ноге, второй - к другой), вторым на GND - 2шт 1-й вывод тиньки (RESET), 17, 18, 19 (MOSI, MISO, SCK) и GND подключны через шлейф к программатору. Все вроде правильно. Что не так?
--------------------
Продаю котят. Недорого. 50р ведро.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|