prottoss, дело не в программаторе.
Вспомнил я, что когда-то давно покупал по акции Atmel-а программатор AVR Dragon, да валялся он без дела, т.к. имел совершенно идиотское ограничение на чипы с объемом flash более 32 Кб. Сейчас уже это ограничение снято, дай думаю попробую восстановить чип с помощью этого Dragon. Для этого поставил AVR Studio 4.18 SP3 (build 716), обновил прошивку в Dragon-e. Взял плату с xmega32A4, которую еще не прошивал - через Dragon все нормально и шьется и читается, в т.ч. и fuse5 - правда здесь обнаружена одна особенность, о ней ниже расскажу. А тот чип, который был испорчен, даже через Dragon недоступен - на любую попытку выдает "Failed to set emulatore mode. Unable to continue."
Теперь про особенность. Открываем даташит XMEGA-A Manual (8077H–AVR–12/09) стр. 33 - fuse5 [2:0] BODLEVEL отсылает нас к таблице 9-2 на стр. 106, где для всех 8-и кодов перечислены значения:
1.6(111) 1.8(110) 2.0(101) 2.2(100) 2.4(011) 2.7(010) 2.9(001) 3.2(000).
Более того, в даташите на сам кристалл (8069Q–AVR–12/10) на стр. 67 в табл. 34-10 также перечислены все 8 уровней BOD - правда с другими значениями, именно на них мне и стоило опираться:
BOD level 0 falling Vcc 1.7
BOD level 1 falling Vcc 1.9
BOD level 2 falling Vcc 2.17
BOD level 3 falling Vcc 2.43
BOD level 4 falling Vcc 2.68
BOD level 5 falling Vcc 2.96
BOD level 6 falling Vcc 3.22
BOD level 7 falling Vcc 3.49
Я запрограммировал fuse5=0xF0, что соответствует 3.2В по мануалу, но 3.49В по даташиту. Видимо в этом месте я и прокололся, т.к. питание у меня 3.3В (реально 3.39В).
Что интересней всего, AVR Studio предлагает всего 7 уровней (т.к. измеренное им питание target 3.4В, то возможность запрограммировать BODLEVEL до 3.49В он благоразумно не предлагает).
Повысив питание платы до 3.58В, удалось перепрограммировать fuse5 и вернуть чип к жизни. Но что самое интересное! - код BODLEVEL 000 AVR Studio интерпретирует как Undefined, вот так вот.
В итоге, плата восстановлена, программатор не виноват. Не знаю, имеет ли смысл внести в прошивку программатора ограничение - если кто-то попытается прошить fuse5 BODLEVEL 000, возвращать ошибку. Хотя ведь кому-нибудь может понадобиться BODLEVEL 3.49В, уж и не знаю, кому.
prottoss, еще раз спасибо за проделанную работу. fuse5 в норме. Если надо будет потестировать утилиты на работоспособность с чипсетами материнок не-Intel, всегда готов