PDA

Просмотр полной версии : Научите прошивать микроконтроллеры Atmel



ut8iae
08.04.2017, 17:38
Добрый день!
Появилась недавно у меня потребность прошить микроконтроллер ATmega32A-AU в корпусе TQFP44 установленный на плате синтезатора высокой частоты.
На плате синтезатора имеется разъём для внутрисхемного программирования, а у меня программатор с этим интерфейсом.
Программатор AVR ISP v3.2:
http://www.kosmodrom.com.ua/razrabotka/avr_isp_3_2.php
Программа для прошивки CodeVisionAVR V2.05.3

И так, драйвера для программатора установил, сериал порт определился. В CodeVisionAVR указал программатор "Atmel STK500/AVRISP" и соответствующий COM порт, "ATmega169 CKDIV8 Fuse Warning" галочка стоит по умолчанию.
Далее перезагружаю программу вхожу во вкладку Tools -> Chip Programmer:
http://i.piccy_.info/i9/331cc7065d4ea2aa99e575e2c0bee495/1491583840/5618/1132082/Novyi_tochechnyi_rysunok_240.jpg (http://piccy_.info/view3/11049482/3bd2381fa2a292d729585a23b0550fc3/)http://i.piccy_.info/a3/2017-04-07-16-50/i9-11049482/240x135-r/i.gif (http://i.piccy_.info/a3c/2017-04-07-16-50/i9-11049482/240x135-r)

Решил для начала попробовать считать ATmega328P-PU из Arduino UNO. Вытянул этот самый МК из кроватки Arduino UNO и вставил в такую вот платку переходник и подключил к программатору посредством 10-контактного разъёма:
http://www.kosmodrom.com.ua/razrabotka/avr_dip_prog.php
Перемычки на плате стоят в положении тактирования от внешнего кварца на 8МГц.

Всё подключил, щёлкнул на вкладке Read -> FLASH. Появилась строка прогрессбар-а, светодиоды на самом программаторе замигали и примерно через минуту всё завершилось.
Потом щёлкнул на вкладку Edit -> FLASH и вместо значений вроде FFFF там появились другие значения. Это я так понимаю всё прошло успешно.

Потом я подключил свой синтезатор и попытался повторить хотя бы эту процедуру, но! Программатор выдал сообщение "AVRISP error entering programming mode". Подключал всё вроде бы правильно, ещё и несколько раз проверял.
То бишь, МК пришел кирдык после моих попыток прошить его с помощью Arduino UNO из AVRDUDESS?

Но ладно, приобрёл сегодня новый ATmega32A-AU и сижу вот думаю, как мне его прошить, временно впаять на плату переходник и перепрошить, или запаять в синтезатор и прошивать уже в нём?
Ещё и фьюзы!
Дали фото этих фьюзов из PonyProg-а:
http://i.piccy_.info/i9/6817adc41cc4d2fd8ab3c4b7efc4e95c/1491584757/5610/1132082/ponyprog_atmega32_external_8_MHz_3_3V_240.jpg (http://piccy_.info/view3/11049533/cc58a0d43afc49c0e623eb45731d256f/)http://i.piccy_.info/a3/2017-04-07-17-05/i9-11049533/240x112-r/i.gif (http://i.piccy_.info/a3c/2017-04-07-17-05/i9-11049533/240x112-r)

Как это всё пишется? Одни говорят что в CodeVisionAVR установка галочек напротив фьюзов соответствует что отмеченные галочками фьюзы не шьются, а шьются те что не отмечены.

Как вообще всё это делается, может кто-нибудь, пожалуйста, объяснить?
С Уважением!

JV-Soft
08.04.2017, 18:41
То бишь, МК пришел кирдык после моих попыток прошить его с помощью Arduino UNO из AVRDUDESS?
А считать еще раз для проверки ?
Как правило самое страшное , что можно сделать это заблокировать фьюзами ресет , кварц и последовательное программирование, но опть же можно на коленке собрать фьюз доктор с параллельным программированием и разлочить вьюзы.

ut8iae, Артур, а где находитесь (QTH), не слышал вас в эфире, или не часто работаете ?

ut8iae
08.04.2017, 19:01
JV-Soft,
День добрый!
Территориально нахожусь на Салтовке возле трамвайного депо.
До "известных событий" работал на УКВ без позывного (всё никак не мог получить) , после приезда в Харьков получил позывной, но на УКВ нет времени поставить антенну.
Вот собираю сейчас КВ трансивер и понадобилось прошить МК для синтезатора...


А считать еще раз для проверки ?
Ардуина была прошита скетчем ArduinoISP, забыл уточнить.
Ардуиной в AVRDUDESS считывается, даже могу скинуть считанный файл, а вот CodeVisionAVR с программатором AVR ISP v3.2 при попытке считать/записать/и тому подобное выдаёт ошибку:
"AVRISP error entering programming mode".

Но уж ладно, МК улетел в нирвану и ну его!
Хочу, вот, прошить новый, но с учётом прошлых промахов решил всё же уточнить.

CodeVisionAVR выбрал потому что это пока единственная среда что опознала мой программатор и единственная из мне знакомых что имеет в списке ATmega32A

Синтезатор, кстати, такой вот:
http://ur5yfv.com.ua/index.php/magazin/product/view/27/59.html

JV-Soft
08.04.2017, 20:29
ut8iae, Вы сами себе немного усложнили задачу, покупаете за 40 гривен программатор ТЫЦ (https://ru.aliexpress.com/item/USBasp-USB-ISP-3-3V-5V-AVR-Programmer-USB-ATMEGA8-ATMEGA128-New-10PIN-Wire-Support-Win7/32536193605.html?ws_ab_test=searchweb0_0,searchweb 201602_2_10152_10151_10065_10150_10068_10136_10137 _10138_10060_10062_10141_10056_10055_10054_121_100 59_10099_10103_10102_10096_10148_10147_10052_10053 _10050_10107_10142_10051_10143_10084_10117_10083_1 0080_10082_10081_10110_10111_10112_10113_10114_100 78_10079_10073_10070_10123_10127_10124_10125,searc hweb201603_4,afswitch_1,ppcSwitch_4&btsid=ad69f79d-3919-4060-b3df-61145115fe1b&algo_expid=3ed937df-2953-4392-a37a-d410d1444014-0&algo_pvid=3ed937df-2953-4392-a37a-d410d1444014), или в два дорога тут))) - ТЫЦ (https://www.olx.ua/obyavlenie/usb-isp-usbasp-programmator-dlya-atmel-IDdCtHV.html#6c6373c620) он шьет практически все семейство атмег.

Вот немного о фьюзах - ТЫЦ (http://cxem.net/beginner/beginner92.php)
Шьется любая атмега через сигналы MOSI, MISO, CLK, RESET, GND, +5/+3.3в
В ардуино вшит бутлоадер , поэтому она перешиваетс своими средствами через USB->UART (tx/rx)

Если не разберетесь с своим программатором могу помочь прошить.

Жаль на двойке не работаете, делайте антенну:) Я себе такую разработал на 32 меге - ТЫЦ (http://p45.at.ua/forum/3-2-1)

- - - Добавлено - - -


Ардуина была прошита скетчем ArduinoISP, забыл уточнить.
Таким образом никогда не пробовал шить другие меги, как то все усложняете )


Ардуиной в AVRDUDESS считывается
Считывается другая мега а ардуина идет как программатор ? или считывается мега стоящая в ардуино ?

ut8iae
08.04.2017, 23:48
Жаль на двойке не работаете, делайте антенну Я себе такую разработал на 32 меге - ТЫЦ
Добрый вечер!
На этой неделе наверное займусь всё же наконец-то антенной.
Доступа на крышу у меня нет, а вот четвертьволновый диполь на двухметровый диапазон постараюсь вытянуть на балконе.
Проблема только, у меня 4 этаж, 9-этажного дома и окна смотрят в противоположную Харькову сторону :)



Вы сами себе немного усложнили задачу, покупаете за 40 гривен программатор ТЫЦ, или в два дорога тут))) - ТЫЦ он шьет практически все семейство атмег.

Вот немного о фьюзах - ТЫЦ
Шьется любая атмега через сигналы MOSI, MISO, CLK, RESET, GND, +5/+3.3в
В ардуино вшит бутлоадер , поэтому она перешиваетс своими средствами через USB->UART (tx/rx)

Если не разберетесь с своим программатором могу помочь прошить.

Сейчас попытался с помощью программатора скопировать содержимое ATmega328P-PU что стояла в Arduino UNO.
Всё прошло удачно, копирование содержимого, стирание контроллера и запись скопированного содержимого в другой такой же контроллер.

Далее, запаял новый чип в синтезатор, подключил его к программатору.
Скопировал состояние контроллера Chip Signature, Lock Bits, Fuse Bits, Calibration Byte.
Добавил свой hex файл прошивки через меню File -> Load FLASH, выставил фьюзы согласно картинке и нажал Program All
http://i.piccy_.info/i9/42ccfdfb9e764a955367f3a78f933ab2/1491683954/4985/1132082/Novyi_tochechnyi_rysunok_240.jpg (http://piccy_.info/view3/11053804/023799fe2aa493e24db06a0ad8db770a/)http://i.piccy_.info/a3/2017-04-08-20-39/i9-11053804/240x131-r/i.gif (http://i.piccy_.info/a3c/2017-04-08-20-39/i9-11053804/240x131-r)

Всё удачно записалось, проверилось. Синтезатор запустился, и...
Глюк! При включении синтезатор через раз может зависнуть с кракозябрами на экране, для того чтобы он отозвался на нажатие кнопок, их надо удерживать несколько секунд...
Полагаю что либо неправильно задал частоту тактирования, либо SUT0 ...

JV-Soft
09.04.2017, 00:02
ut8iae, Если в CVAVR фьюзы прямые, то у вас JTAG включен для отладки, и из за этого может глючить (но я не знаю как реализовано это в прошивке синтезатора), например у меня в поворотке это вызывало сбой. Поэтому JTAG отключал.
Я кое что пишу в CVAVR, но через него не прошиваю, так как он не показывает фьюзы в нормальном виде.

http://payalo.at.ua/c_fuse/calc.html?part=ATmega32

ut8iae
09.04.2017, 00:15
Мой программатор AVR ISP v3.2, как только что оказалось, вполне себе отлично сотрудничает с AVR Studio 4. Программатор как мне кажется вполне хороший, так что менять нет смысла.


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

А чем вы прошиваете контроллеры?

JV-Soft
09.04.2017, 00:40
Как я понял методом научного тыка, установленная галочка свидетельствует о том что отмеченный фьюз неактивен.
По моему научный тык вас подвел.

http://savepic.ru/13529355m.jpg (http://savepic.ru/13529355.htm)



А чем вы прошиваете контроллеры?
Программатором за 1.5 бакса и программой - Khazama (http://p45.at.ua/forum/11-13-1)

Gutten
09.04.2017, 00:41
перед прошиванием лучше сделать чтение и обратить на фьюз SPIEN, и потом сравнить его ВИЗУАЛЬНО ГЛАЗАМИ с прошиваемыми: от него решать как должны быть отмечены фьюзы.

JV-Soft
09.04.2017, 01:07
сделать чтение и обратить на фьюз SPIEN, и потом сравнить его ВИЗУАЛЬНО ГЛАЗАМИ
Ага:) только при прошивке по SPI CVAVR не показывает этот фьюз ни на чтение не на запись ))))

ut8iae, да, установленная галка это активный фьюз (CVR там где галочки Fuses установлены (0) т.е включены. ), так что пляшите по новой от этого.

- - - Добавлено - - -

Так же при программировании не забудте галку программирования фьюзов поставить, на первом скрине она у вас не стоит.

- - - Добавлено - - -

И Jtag отключите.

ut8iae
09.04.2017, 01:15
http://www.getchip.net/posts/068-kak-pravilno-proshit-avr-fyuzy-fuse-bit/

Ага только при прошивке по SPI CVAVR не показывает этот фьюз ни на чтение не на запись ))))
Да! Это меня малость напрягло...

да, установленная галка это активный фьюз (CVR там где галочки Fuses установлены (0) т.е включены. ), так что пляшите по новой от этого.
http://www.getchip.net/posts/068-kak-pravilno-proshit-avr-fyuzy-fuse-bit/
Прочитал несколько сайтов и понял так как говорил ранее.
Спасибо большое за помощь!
Завтра буду молиться святому Атмелу чтобы опять не залочить чип.

Gutten
09.04.2017, 01:17
ну тогда я не стал бы пользоваться для прошивки им - если нет для проверки значений фьюзов в хексе - поди знай, что там авторы прошивки имели ввиду под поставленной галочкой. залочишь так SPIEN случайно и получишь проблему.

- - - Добавлено - - -

я когда-то пользовался AVRDUDE, счас пользуюсь прогой от программатора. А в AVR Studio 4 можно все фьюзы прочитать перед прошивкой?

JV-Soft
09.04.2017, 01:23
Завтра буду молиться святому Атмелу чтобы опять не залочить чип.
У меня если что, доктор есть:)


залочишь так SPIEN случайно и получишь проблему.
Это как раз сделано для того, что бы не залочить, прога проверяет, если программатор - SPI , фьюз прчет. А не пользуюсь CVAVR для прошивки как раз потому , что не HEX значений не вижу и название фьюзов через одно место...

- - - Добавлено - - -

fusebit-doctor/ (http://www.getchip.net/posts/059-ispravlyaem-avr-fyuzy-pri-pomoshhi-atmega-fusebit-doctor/)

Gutten
09.04.2017, 01:34
Да, мне пришлось купить доктора по сходной цене, когда окирпичил несколько атмег. Потом прикупил программатор, что может параллельно шить и вроде как доктор без надобности оказался.
Правда счас на платке атмега48pa в tqfp формате, сигнатуру не читает, в программаторе ведёт себя неадекватно, и не понятно как определить жива она вообще или нет, проблема в ней или в программаторе.

ut8iae
09.04.2017, 01:35
Ещё раз такое уточнение:
http://i.piccy_.info/i9/6817adc41cc4d2fd8ab3c4b7efc4e95c/1491584757/5610/1132082/ponyprog_atmega32_external_8_MHz_3_3V_240.jpg (http://piccy_.info/view3/11049533/cc58a0d43afc49c0e623eb45731d256f/)http://i.piccy_.info/a3/2017-04-07-17-05/i9-11049533/240x112-r/i.gif (http://i.piccy_.info/a3c/2017-04-07-17-05/i9-11049533/240x112-r)
Эти фьюзы из Пони Прог-а, мне тоже надо в CVAVR отметить галочками выходит?
На ночь уже не соображаю.

JV-Soft
09.04.2017, 01:50
Эти фьюзы из Пони Прог-а, мне тоже надо в CVAVR отметить галочками выходит?
Да.

- - - Добавлено - - -

Немного примеров - codevisionavr (http://sxem.org/2-vse-stati/codevisionavr/71-codevisionavr?showall=&start=19)

ut8iae
09.04.2017, 16:35
Перепрошил.
Наверное всё же битый файл прошивки.
Режим сплит не отключается, нажимаешь на кнопку и удерживаешь секунду - исчезает, отпускаешь кнопку и опять появляется. Аттенюатор с УВЧ не включаются, S-метр реагирует на нажатие кнопок, ну и по мелочи.
Пробовал и другую прошивку под ПЧ 8,865MHz без WARC, работает всё просто прекрасно.
Написал ur5yfv, может чего посоветует.

- - - Добавлено - - -

Всем огромное спасибо за помощь!
Всё отлично прошивается, а прошивка сама по себе была глючная.

JV-Soft
09.04.2017, 17:36
Всё отлично прошивается, а прошивка сама по себе была глючная.
Вот и замечательно ! Делайте антенну на двойку :) UR6LIR
73 !

ut8iae
09.04.2017, 18:46
Сегодня как раз крепление для антенны к балкону сделал. Осталось скрутить винтами и установить.

Сижу теперь думаю, может зашить в чип бутлоадер от Ардуино и сваять свою прошивку для синтезатора...
73!