Суть поста такова - уже продолжительное время клепаю определенный девайс и уже подхожу к финальной стадии. Практически все готово, осталось залить прошивку на микроконтроллер. Тут то я и загруз по самое не могу. Ранее с МК никогда не сталкивался, инфы по всея интернету огромное количество и вся как то не о том. В общем не стал придумывать велосипед отправился на ближайший радиорынок и приобрел программатор, точнее мне его "втюхали" со словами: не переживай прошьет все, что хочешь. По факту оказалось, что сей программатор аналог USBASP программатора и прошивает он только из под avr-dude, а моя же прошивка написана в среде CodeVisionAVR. Но даже не в этом основная проблема, а в том, что собрав на макетке разьем для атешки, кинул перемычки между 7 VCC и 20 AVCC, 8 GND и 22 GND, и подключив это все к компу, дудка, при попытке считывания с МК, начинает кидаться ошибкой, что мк не отвечает на запрос. В общем вопрос к знатокам: может ли это быть из-за перемычек которые я кинул на макетке? Или атешка вышла из строя? Мб кто-то что-то подскажет, ну или хотя бы подскажет куда можно обратится с подобным вопросом)
Подробнее
l**07 POO(RXO) POlfTXO) P02( IMTO) PD3(IMT1) P04(XCK/ro) P05(T1) PD6(AJM0) PD7(AJN1) PCO(AOCO) PCl(AOCl) pC2(ADC2) pC3(A0C3) pC*(A0C4/S0A) PC5(A0C5/SCL) pC6(RESET-) ATMEGA8-16PI www.radio-kit.com Pin Configurations □ PC5 (ADC5/SCL) □ PC4 (ADC4/SDA) □ PC3 (ADC3) □ PC2 (ADC2) □ PCI (ADC1) 3 PCO (AOCO) 3GND 3AREF □ AVCC 3 PB5 (SCK) 3 PB4 (MISO) 3 PB3 (M0SI/0C2) i 3 PB2 (SS/0C1B) i 3PB1 (0C1A) (RESET) PC6 C (RXD) PDO C : (TXO) PD1 C (INTO) PD2 C (INT1) PD3C (XCK/TO) PD4 C VCCC QNDC (XTAL1/T09C1) PB6 C (XTAL2/TOSC2) PB7 C (TI)PDSC (AINO) PD6 C (AINDPD7C (ICPI)PBOC TQFP Top View 3PC1 (A0C1 ) 3 PCO (AOCO) 3ADC7 3GND 3 AREF 3 A0C6 (INT1) PD3 C (XCK/TO) PD4 C QNDC VCCC QNDC
geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,atmega,программатор,прошивка,песочница
Еще на тему
От себя добавлю крайне идиотский способ прошивки AVRок, который можно придумать - прошивать ардуинкой. Как - гугл расскажет лучше меня
Про фьюзы тебе правильно написали - важно знать что они правильно установлены ато хрен потом прошьешь МК.
Использовал тоже USBASP. Если надо помощь обращайся.
Я думаю ты не к тем ножкам микроконтроллера подцепился
Если ты делал сам переходник то проверь его и провер контакты между ножками МК и твоим самодельним штекером.
у меня вообще есть эдакая крейзи идея, взять купить расберри или кубибоард или что помощнее, взять все это поместить в корпус от старого видака(сделать медиаплеер, с файлопомойкой и прочими апачами), и подключить к этому всему вакуумный дисплей видака(ну хоть часики пусть показывает, было бы конечно круче чтобы он время воспроизведения фильма выводил и прочие плюшки) только вот с чего рыть начать, может кто подскажет?
http://microsin.ru/ - тут найдешь много полезного, даже готовые макетные платы с интерфейсом USB.
+1 к предлагающим проверить фьюзы. Но еще рекомендую проверить соединение MISO/MOSI, чтобы не перепутаны были. К MOSI разъема должен быть подключен MISO программируемого контроллера (если память не изменяет). Перемычка JP3 должна стоять (МК у тебя похоже без своего питания).
Ну и рекомендую нормально почитать про avrdude. К нему вроде даже есть GUI оболочки.
http://yourdevice.net/proekty/avrdude-prog - эту оболочку юзаю. А что такое фьюзы и как они должны быть выставлены понимаю смутно. Если немалый шанс, что АТешка вышла из строя после попытки програмить ее на самопальном компрограматоре. Завтра прикуплю новых потестю. По соединениям: у меня MOSI программатора подключен к MOSI программируемого контроллера, остальные аналогично. Можно по точнее по поводу этих соединения мб тут собака и зарыта.
Кстати, сам программатор нормально определяется, может в нем косяк? И кстати, попробуй через дудку просто запросить тип контроллера. Светодиоды должны моргнуть. Напиши какие.
http://easyelectronics.ru/usb-programmator-avr-usbasp.html Здесь описание твоего программатора. Поштудируй комменты, может что полезное там найдешь.
http://khazama.com/project/programmer/
не обязательно шить через CodeVsison, по сути пофигу чем шить если уже есть hex файл
скомпилируй прошивку, а потом заливай чем удобно
Но дам дельный совет:
Для прошивки требуется:
-Прямые руки из плечей
-Программатор (например USBasp - работает под довольно большим числом программ для заливки прошивки (avr dude, khazama (ненавижу ее) и куча других) и просто программирования (например Arduino IDE)
-МК который будешь шить
-Компьютер c установленным ПО, желательно 32 битка
-Драйвера подходящие на систему
Скорей всего ты забыл установить на систему драйвера на программатор. Драйвера на любые программаторы очень часто не встают нормально на 64 битные системы и программаторы НЕ РАБОТАЮТ.
P.s Сам шью через эмуль винды 32 битки и все ок.
P.s.s. Не ожидал на реакторе увидеть пост про прошивку микроконтроллеров)
Ставил драйвер на XP 32 на ноуте, драйвер подхватился с полтычка. Программатор нормально отображается в диспетчере задач.
По поводу рук сложно что-то сказать).
Честно я тоже очень удивлен, что столько людей откликнулось)
Не считывается МК, значит нет связи, почему:
-Не работает программатор (что то в нем не так, на пример если он все же определяется, но нет связи, то причин могут быть несколько: 1) кз дорожек или не доходит какой то сигнал для программирования (Rst, Vcc, Gnd, Mosi, Miso, Sck) - прозвони прям от проггера до программир. МК, 2) На USBasp надо поставить перемычку что бы он программировал в режиме пониженной частоты (j1 или j2 не помню), у самого пока не поставил некоторые МК не шились; 3) на USBasp установленны перемычки что бы он был в режиме программатора, а не что бы его шили
-Не установлены дрова на программатор
-Криво вставшие дрова (система 64 бита плохо воспринимает)
-Плохая связь МК с программатором - берешь тестер, ставишь в режим прозвонки диодов (когда замыкание или сопротивление очень мелкое тестер пищит) и прозваниваешь абсолютно все дорожки между мк прогера и мк программируемым.
-Если МК не новый, возможно он залоченный или если новый и ты его пробовал прошить прошились неправильно фьюз биты и он собственно залочился (в некоторых случаях когда залоченн из за тактирования на внешний кварц возможно оживить еще, в остальных паралельный программатор собирать).
Вродь все основные причины, если забыл чего поправьте)
Купил новые АТмега8А сегодня, та же история - пишет:
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
Прикладываю скрин фьюзов которые у меня выставлены.
теперь маленько "отсебятины"
сам я программирую на arduino ISP. и даже нашел положительные моменты. например что по яркости свечения диода питания на дуине можно видеть не перепутаны ли линии какие, по миганию rx tx видно идет передача или виснет.
Как еще вариант причины того что нет связи с МК - слишком длинный шлейф от программатора до программируемого МК (бывает такое что из за длинного шлейфа сигналы теряются или не доходят, рекомендуемая длинна 10-15 см, если заводской можно и 30 см)
Советую попробовать поставить перемычку на программаторе как показано в статье:
http://easyelectronics.ru/usb-programmator-avr-usbasp.html
Там указанна как перемычка j3, вот отрывок:
"Перемычка J3 используется для прошивки контроллеров у которых частота не превышает 1.5 МГц. Я ее поставил, без нее у меня мега 8 не хотела определяться. Потом подправил меге Fuse биты, чтобы она заработала на 8 Мгц, перемычку не снял, но работает. Слышал, что подправили и теперь перемычку можно не дергать туда сюда."