Easyelectronics.ru

Электроника для всех
Текущее время: 26 май 2019, 20:37

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 12 июл 2018, 13:02 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1824
Надо было недавно простенькую вещь сделать на очень мелком (по размерам) мк. Под рукой валялись attiny10. Там серия attiny4, attiny5, attiny9, attiny10 одинака примерно. Интерфейс программирования TPI. USBAsp с последней прошивкой умеет в него. Мне надо было задействовать все 4 IO ноги, соотв. надо было прошивать фьюз RSTDISBL. Чтобы потом прошивать на RSTDISBL подаем не RESET с USBASP, а +12V. Флэш при это перешивается без проблем, пока +12 висит на ноге RESET. А фьюз сбросить не дает. Если прошить во фьюз 0xFF, при проверке всё-равно остается 0xFE. Также с другими битами конфиг фьюза получается. В ДШ описана процедура, как сбросить фьюзы:
Цитата:
16.4.3.4. Erasing the Configuration Section
The algorithm for erasing the Configuration section is as follows:
1. Write the 0x14 (SECTION_ERASE) to the NVMCMD register
2. Start the erase operation by writing a dummy byte to the high byte of any word location inside the
configuration section
3. Wait until the NVMBSY bit has been cleared

Только вот avrdude вплоть до последней версии 6.3 такого не умеет. Полез в исходники, думал дописать. А оказывается в последней SVN версии уже есть этот функционал. Только не задокументирован. Покопался в коде, понял как надо:
Код:
  switch (PDATA(pgm)->section_e) {
    /* Config bits section erase */
  case 1:
    pr_0 = 0x41;
    pr_1 = 0x3F;
    nvm_cmd = NVMCMD_SECTION_ERASE;
    avrdude_message(MSG_DEBUG, "%s: usbasp_tpi_chip_erase() - section erase\n", progname);
    break;
    /* Chip erase (flash only) */
  default:
    pr_0 = 0x01;
    pr_1 = 0x40;
    nvm_cmd = NVMCMD_CHIP_ERASE;
    avrdude_message(MSG_DEBUG, "%s: usbasp_tpi_chip_erase() - chip erase\n", progname);
    break;
  }

...

    if (strncmp(extended_param, "section_config", strlen("section_config")) == 0) {
      avrdude_message(MSG_NOTICE2, "%s: usbasp_parseextparms(): set section_e to 1 (config section)\n",
                      progname);
      PDATA(pgm)->section_e = 1;


Короче надо эту версию запускать с параметрами "-x section_config -e", и тогда оно сотрет (сбросит) фьюзы тиньки.

Может кому будет полезно. Чуть позже сборки SVN-версии avrdude для linux и windows выложу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 12 июл 2018, 14:22 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1824
Сборка для Linux x86_64 и Win32: avrdude-svn6.3-20171130.zip


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 24 фев 2019, 14:53 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
Здравствуйте. в этой сборке почему-то не хочет определяться китайский USBASP программатор :(. другие версии все норомально делают. Пишет следующий коммент:

Cформированная командная строка:
avrdude.exe -p t10 -c usbasp -P usb -U lock:r:lock.hex:r -U lfuse:r:lfuse.hex:r

avrdude.exe: Warning: cannot query manufacturer for device: No such file or directory
avrdude.exe: Warning: cannot query product for device: No such file or directory
avrdude.exe: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude.exe done. Thank you.

Как поправить? а проблема у меня такая же как и у вас - не меняет фьюзы на аттини 10, программа при этом пишется и читается нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 00:20 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1226
Откуда: Ижевск
надо обновить прошивку в программаторе, китай старые версии заливает.
еще можно взять авр дуду из пакета ардуино, там самая свежая версия скомпиленая под винду.
Но я заметил они сознательно испортили исходники чтобы ардуино не шился через юсбасп, сравнивал файлы с сайта авр дуду и арудино,версия одна, а программы работают по-разному, скоты.
Пришлось чет выдумывать, забыл уже.
В общем пробуй.

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 09:19 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1824
С китайской прошивкой может и не шить по TPI. У меня последняя оригинальная прошивка с fischl.de прошита и с ней работает всё.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 10:52 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
Поясню, хотя ответ уже есть. Китайчик прошит прошивкой от "создателя" - fischl.de. На avrdude, скачанного с сайта "создателя" работает все нормально, никаких проблем с опознаваемостью программатора нет, прошивку заливает/читает, проблема только с фьзами - не стирает, не прописывает. Скачанная в этом топике avrdude не хочет опознавать программатор ни в какую, при этом она вроде должна была решить проблему с фьюзами.
И еще вопросик, для изменения фьюзов нужно ли подавать 12 вольт на ресет (при этом у меня пока не установлен RSTDISBL) или все таки достаточно при неустановленном RSTDISBL использовать обычный режим программирования?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 11:58 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1824
1dimon1, возможно что-то с драйверами с libusb. Не помню с какой версией под винду я собирал. Но если не ошибаюсь, на винде я проверял через установку последних дров для libusb через Zadig. Может в них дело. Хотя я с Linux прошиваю, под виндой не шью, не помню. Либо дравер попробовать с Zadig поставить, либо всегда можно загрузиться в лайв образ какого-нибудь Linux и сбросить фьюзы оттуда.
Цитата:
И еще вопросик, для изменения фьюзов нужно ли подавать 12 вольт на ресет (при этом у меня пока не установлен RSTDISBL) или все таки достаточно при неустановленном RSTDISBL использовать обычный режим программирования?

Если RSTDISBL не установлен, то не нужно. Пока включен ресет, в режим прошивки можно войти через него. Когда он отключен, то тогда нужны +12В для входа в режим прошивки.

EDIT: А вообще avrdude 6.3 с сайта должен уметь шить фьюзы. Он их только стирать не умеет. Что-то не так делаете. Установка фьюза (т.е. запись туда нуля) проходит через обычную запись, как с какой-нибудь атмегой. Вот для сброса (т.е. установки назад 1) нужно делать SECTION ERASE, для которой и нужен avrdude из svn сборки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 12:10 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1226
Откуда: Ижевск
еще попробуй сменить драйвер на этот:
http://ftp.acc.umu.se/mirror/gnu.org/sa ... ingw32.zip

Если не определится
посмотри активные драйвера прогой Double Driver
удали старые

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 12:26 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
Спасибо за советы.
1. от Zadig - переставлял, эффект нулевой.
2. В системе программатор как надо определяется.
3. Фьюзы не прописываются... то есть при считывании они как были так и остаются, да и по по поведению контроллера видно что они не переключились (например включив фьюз ckout - на выходе я все равно получаю сигнал который формирует программа, а не тактовую частоту в 8Мгц :(

Вообще я работаю с этой оболочкой: Изображение может подскажите другую, которая точно работает с аттинькой10


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 12:54 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1226
Откуда: Ижевск
ладно мучайся, а я подожду, потом отпишись.

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 13:06 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
При попытке записать фьюз CKOUT (чтобы выдать на выход тактовую частоту) получаю такой ответ программы:

Cформированная командная строка:
avrdude.exe -p t10 -c usbasp -P usb -U lfuse:w:4:m -U lock:w:255:m


avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x1e9003 (probably t10)
"lfuse" memory type not defined for part "ATtiny10"

avrdude.exe done. Thank you.

Что ей не нравиться?
это работала сборка которую предоставили вы selevo.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 13:12 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1824
Да прога небось кривая. Освойте ком. строку avrdude, делов-то...

EDIT: Пока писал ответ выше, появился новый ответ. И точно - прога-гуи говно. Нет никаких lfuse/hfuse у тиньки 10ой. Там один fuse и всё.
Код:
avrdude -c usbasp -P usb -b 115200  -p attiny10 -v -U fuse:w:0xFF:m

Только вместо 0xFF нужно значение. И явно не 4 там должно быть, как говно-гуи тулит.
Для включения CKOUT там 0xFB должно быть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 13:25 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
Спасибо, попробую через строку.
А какой прогой можно воспользоваться вместо той что использую?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 13:56 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1824
Вам шашечки или ехать? Если ехать, то все эти свистоперделки с гуи не нужны. Не знаю, т.к. не пользуюсь ими. В 10ой тиньке всего-то 3 бита во фьюзах. Зачем там прога отдельная? Для атмег можно онлайн посчитать http://www.engbedded.com/fusecalc/ чтобы не мучаться руками и просто нужное значение в HEX уже прошить также через ком. строку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 13:56 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
NStorm, попробовал через строку - получилось включить ckout, но только на сборке selevo, на вашей к сожалению таже ошибка - не найден программатор :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 13:58 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
NStorm писал(а):
Вам шашечки или ехать? Если ехать, то все эти свистоперделки с гуи не нужны. Не знаю, т.к. не пользуюсь ими. В 10ой тиньке всего-то 3 бита во фьюзах. Зачем там прога отдельная? Для атмег можно онлайн посчитать http://www.engbedded.com/fusecalc/ чтобы не мучаться руками и просто нужное значение в HEX уже прошить также через ком. строку.

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


Последний раз редактировалось 1dimon1 25 фев 2019, 14:25, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 14:19 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1226
Откуда: Ижевск
надо было драйвер по моей ссылке использовать с его сборкой, а не сборку по моей ссылке.

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 14:25 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1226
Откуда: Ижевск
поставь его сборку дудки вместо дудки по моей ссылке
замени exe файлы иначе говоря

_________________
Береги планету.


Последний раз редактировалось selevo 25 фев 2019, 14:26, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 14:26 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
там только сборка, драйвера нет. я всегда менял сразу два файла, конфиг и ехешник.


Последний раз редактировалось 1dimon1 25 фев 2019, 14:27, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 14:27 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1226
Откуда: Ижевск
точно...
странно.

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 14:32 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1226
Откуда: Ижевск
http://myrobot.ru/downloads/programs/us ... v3.0.7.zip
вот с этими драйверами попробуй
и попробуй еще его сборку запустить в папке conf файлом по моей первой ссылке

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 15:07 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1824
Ну везде пишут, что это драйвер. Вон человеку Zadig помог: https://www.avrfreaks.net/forum/solved-usbasp-arduino
Вон пишут какой-то отдельный драйвер помог: http://arduino.ru/forum/apparatnye-vopr ... tat-usbasp
http://www.protostack.com/download/USBa ... v3.0.7.zip

Сносите текущий драйвер начисто и ставьте новый.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 15:10 
Только пришел

Зарегистрирован: 24 фев 2019, 14:46
Сообщения: 16
Огромное спасибо за помощь!!! заработало после установки ваших драйверов selevo, получилось и сбросить фьюзы с помощью вашей сборки NStorm. я использовал такую командную строку:
avrdude -c usbasp -P usb -b 115200 -p attiny10 -v -x section_config -e

вроде не напутал. по крайней мере поведение кристалла соответствует сброшенным фьюзам.
СПАСИБО!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 15:21 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1824
Цитата:
avrdude -c usbasp -P usb -b 115200 -p attiny10 -v -x section_config -e

вроде не напутал. по крайней мере поведение кристалла соответствует сброшенным фьюзам.

Всё верно, это сброс фьюзов до заводских. Аналогично если врубить RSTDISBL этим потом назад вернуть можно, при прошивке подавая +12В на ногу RESET.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновленный avrdude / сброс фьюзов attiny4/5/9/10.
СообщениеДобавлено: 25 фев 2019, 23:11 
Старожил

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 3519
:)


Последний раз редактировалось iev91 19 май 2019, 01:14, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Croco, ZmeyA


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB