ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
16 апреля
666679 Топик полностью
Ксения (11.04.2016 17:33 - 17:38, просмотров: 360) ответил Ксения на Как прошить fuse программой Stk500.exe?
Вопрос решен. Разобралась. Публикую методику разбирательства: Программа Stk500.exe имеет среди своих команд/ключей функции VERIFY не только для прошивки, но и для fuse. Как оказалось, они работают даже тогда, когда фузы не прошиваешь. В моем случае эта проверка выглядит так: STK500.EXE -cUSB -ms -dATmega644 -FD962 -GFF Обращает на себя внимание, что синтаксис проверочных команд -FD962 -GFF соответствует прошивочным -fD962 -EFF т.е. в обоих случаях двухбайтовое целое формируется одинаково. Благодаря этому имеем возможность экспериментально проверить, где какой байт стоит. Для этого сперва читаем фузы, какие есть: Reading fuse bits... Fuse byte 0 read (0x62) Fuse byte 1 read (0xD9) Fuse byte 2 read (0xFF) А затем запускаем два проверочных варианта с разной последовательность байтов: STK500.EXE -cUSB -ms -dATmega644 -F62D9 -GFF STK500.EXE -cUSB -ms -dATmega644 -FD962 -GFF При этом первая строка выдает ошибку ("verification failed"): Fuse byte 0 read (0x62) Fuse byte 1 read (0xD9) Fuse byte 2 read (0xFF) Fuse bits verification failed а вторая сообщает об успехе ("verified successfully"): Fuse byte 0 read (0x62) Fuse byte 1 read (0xD9) Fuse byte 2 read (0xFF) Fuse bits verified successfully Вопрос решен - верен синтаксис второй команды, где byte1 стоит раньше, чем byte0. P.S. Операции с третьим extended-битом (byte 2) приходится проводить обязательно, т.к. Stk500.exe отказывается вести работу с частью fuse.