Я использовал make-файл для создания своего кода и создал файл ELF.
Чтобы сделать его понятным для моего attiny85, я обычно использую avr-objcopy -O ihex -R .eeprom -R .fuse main.elf main_all.hex
. Я получаю шестнадцатеричный файл, содержащий настройки предохранителей. Прошиваю hex файл с avrdude -p t85 -c avrispmkII -P usb -U flash:w:main_all.hex
. Я использую avrispmkII, подключенный через работающий и проверенный SPI.
На этот раз я получил ошибку.
ERROR: address 0x820003 out of range
Я думаю, потому что я играл в коде с предохранителями, это проблема. Согласно ошибка компиляции Contiki, ОШИБКА: адрес 0x820003 вне допустимого диапазона в строке 1740 из..., я заметил, что вы можете заставить avrdude создать шестнадцатеричный код без фьюзов.
avr-objcopy -O ihex -R .eeprom -R. Fuse main.elf main_ohne.hex
Это также сработало, и теперь attiny85 нормально мигает.
Теперь настоящий вопрос.
Как мне все же получить предохранители на attiny85?
Есть ли способ увидеть, какой предохранитель я устанавливаю, прежде чем устанавливать предохранители? Спрашиваю явно раньше, т.к. у меня нет опыта прошивки с 12В (ВН) и этот синоним arvmkII не верный (да, надо посмотреть в даташите, может ли он).
Моя главная забота - достать предохранители на аттини. Я дипломированный инженер-электрик, который программирует в свободное время. Так что я в порядке с гиперпривилегированными ссылками и волшебной командой.
(Грубый перевод с немецкого оригинала)