Страница 1 из 134
Всё о фьюзах...
Добавлено: Пт июн 23, 2006 10:28:05
Deni
для чего они нужны?
Добавлено: Пт июн 23, 2006 13:21:32
xelos
для конфигурации мк.
Re: fuse те фьюзы
Добавлено: Пт ноя 17, 2006 13:20:28
SfS
Anonymous писал(а):Я тоже спрашивал, но потом пришлось смириться.
fuse - биты - это биты, позволяющие задавать аппаратную конфигурацию контроллера.
Например - от чего он будет тактироваться (кварц, RC-цепь, встренный тактовый генератор), можно ли после программирования считать его память или нет (защита от копирования программ), в старших моделях есть fuse-биты совместимости с младшими. Например, atmega8535 совместим по ногам с AT90S8535. И переферия (дополнительная) atmega8535 не доступна, если стоит бит совместимости с AT90S8535.
Кстати, для начинающих, есть ньюанс - fuse-биты совместимости по умолчанию УСТАНОВЛЕНЫ в режим совместимости с младшими моделями. Поэтому, чтобы получить доступ ко всей переферии мег, этот бит надо сбросить!
Добавлено: Пт ноя 17, 2006 23:16:20
igorkov
А разъясните ситуацию, как на Mega-х нельзя устанавливать фюзы? Чтобы не лишить себя возможности программировать по SPI?
Добавлено: Пн ноя 20, 2006 13:01:47
Aheir
Фьюз SPIEN - SPI ENable - отвечает за работоспособность SPI.
Вот его-то и не стоит трогать...
Добавлено: Сб дек 16, 2006 14:12:16
AD706
А как их настраивать в AVReal?
Добавлено: Вс дек 17, 2006 21:53:48
Гость
А если я изменю режим генератора с INTRC на другой. Будет ли у меня работать ISP?
Добавлено: Пн дек 18, 2006 06:02:18
Незнайка
Доступность ISP также определяется фьюзом. В последовательном режиме этот бит недоступен, следовательно ISP работать будет. Конечно если неправильно железо спаяите то контроллер не заведется.
Добавлено: Вт дек 19, 2006 12:23:56
AD706
Зачем нужны BODLEVEl and BODEN?
Добавлено: Вт дек 19, 2006 13:19:33
Chups
а где мона почитать о фьюзах, о их смисле ?
с толком с чувством с растановкой.... а то не понятно куда какие биты писать, у мя мега шьётся, но не работает
Добавлено: Вт дек 19, 2006 13:45:18
Незнайка
О фьюзах и их смысле читать надо в даташите. Там все написано что как почему и зачем. И BODLEVEl and BODEN там тоже есть.
Добавлено: Вт дек 19, 2006 13:54:37
Chups
Незнайка.
Подскажи, а как их там в авриал32, в командной строке задать?
Добавлено: Ср дек 20, 2006 06:08:40
Незнайка
я аврилом не пользуюсь но в справке написано так
-f<fuselist> -- список fuses для тех чипов, в которых они шьются по ISP.
<fuselist> выглядит как fusename=value,fusename=value,bytename=value...
value - ШЕСТНАДЦАТЕРИЧНОЕ значение без префиксов и суффиксов.
Для однобитовых fuse добавлены значения ON и OFF (прошить и стереть,
0 и 1 соответственно).
ВНИМАНИЕ! Начиная с версии 1.23 НЕ ПОДДЕРЖИВАЮТСЯ однобуквенные
синонимы для fuses.
При наличии "пересекающихся" name=val выдается сообщение об ошибке.
При наличии нескольких ключей -f действие имеет _только_последний_.
Перечень fusename для конкретного чипа с диапазоном value и комментарием
можно получить при помощи
avreal +chipname -?
Для сокращения строки возможно задание полного байта fuses при помощи
специальных имен bytename, представляющие собой названия байтов
по документации с лидирующим подчерком:
_low,_high,_ext,_lock
Нереализованные в данном байте биты рекомендуется устанавливать в '1'.
Имя _lock относится к байту lock-битов и BLB, однако на состояние
lock-битов НЕ ВЛИЯЕТ. Для блокировки кристалла по прежнему надо
использовать ключ -l.
Допускается комбинация отдельных fuse и байтов, однако они при этом
не должны пересекаться, т.е. каждый байт fuses должен быть задан
либо только через специальное имя, либо только через имена отдельных
fuse. Например,
допустимо: -f_low=C3,_high=F4,blb2=1
не допустимо: -f_lock=F7,blb2=1
Если работа с fuses по SPI поддерживается, то их состояние сообщается
при любой операции с чипом, задание ключа -F необязательно.
В случае наличия -F<fuselist> при -V производится верификация fuses.
Для записи fuses _необходимо_ указать ключ -w.
Неупомянутые fuse остаются неизменными (кроме BLB для mega161, mega163,
так как они могут быть стерты по -E).
AVReAl обеспечивает также расширенную поддержку osccal (см. ниже)
Группа BLB относится скорее к lock-битам, записать 1 поверх уже
запрограммированной в 0 fuse невозможно. Если запрошена
такая операция и чип не стирался, то программа завершает работу
с соответствующим предупреждением.
Для tiny12, tiny15 поддерживается программирование SPIEN
и RSTDSBL, будьте осторожны, SPIEN по умолчанию запрограмировано,
ключ -fspien=1 (-fspien=off) _сотрет_ SPIEN и запретит дальнейшее
низковольтное программирование. Запрет произойдет и при
_программировании_ RSTDSBL (-frstdsbl=0 или -frstdsbl=off).
Добавлено: Пт дек 22, 2006 11:42:46
Spider
Пишу программатор и совсем запарился с этими фьюзами.
Точнее с их состояниями. Вот к примеру прочитал я High Fuse Bits как 0х4A. Теперь как это понимать? Понятно, что смотри на биты. Но там вечная путаница с 0 это 1 и 1 это 0. Так вот в этой самой 0x4A бит 1 значит, что этот фьюз выставлен или нет?
Добавлено: Сб дек 23, 2006 00:53:52
Nanobyte
Spider писал(а):...Так вот в этой самой 0x4A бит 1 значит, что этот фьюз выставлен или нет?
Как написано в даташитах, установленный фьюз - это 0. Путаница обычно возникает в программаторах, где отмеченная галочка может означать и 0 и 1.
Добавлено: Сб дек 23, 2006 19:22:36
Spider
Привет, Нано! Это ведь ты на електроникс чего-то там форуме есть? (Голубой такой форум) привет от Alexey Belyaev'a! Это я! Я думаю ты уже догодался. Да о чём это я? Отвлёкся.
Ну вот к примеру имеем
FH = 0b1101 1001
Из проца прочитается именно это значение? Что будет означчать, что SPIEN разрешён и размер загрузчика как 0, но ресет вектор на 0х00. Так?
Добавлено: Вс дек 24, 2006 15:10:17
Nanobyte
Да, два кота обнюхались и признали друг друга. Правда, форум не голубой

.
Теперь по существу. Да, похоже фузы установлены именно так. Я бы ещё проверил и на другом программаторе заведомо исправный кристалл.
Добавлено: Вс дек 24, 2006 15:32:05
Spider
Так оно и оказалось! Спасибо за хелп. Продолжаем разрабатывать программатор.
Добавлено: Сб янв 27, 2007 20:10:44
Piroman17
Конторллер ATmega16.
Вот такая проблема: по дурости забыл устновить фьюзы CKSEL0..3 (они остились на 0000, я так понимаю это установка "внешняя частота"), после этого МК не желает прошиваться второй раз

как выйти из положения?
P.S. пробовал подключать разные кварцы, но это не спасает.
Добавлено: Сб янв 27, 2007 21:26:43
Abakt
avrfuse.narod.ru подробная информация про фьюзы и как правильно прошивать микроконтроллеры AVR