Я использую Arduino UNO для программирования предварительно скомпилированного шестнадцатеричного изображения на ATTINY45, используя avrdude в каталоге Arduino IDE, в Windows 7. У Uno есть эскиз ISP, загруженный из каталога примеров, и это работает - индикатор сердцебиения пульс красиво.
С аппаратной стороны у меня есть эта установка , за исключением того, что ATTINY монтируется на поверхность, припаян к доске для серфинга, все контакты которой проверены и припаяны с помощью вольтметра. Я использую полосу с контактами, удерживаемую рукой, чтобы контакты касались доски для серфинга, чтобы передать сигналы от Uno в ATTINY.
Вот командные строки, которые я взял, посмотрев выходные данные отладки IDE:
REM set the fuse for 8MHz, so the ISP programmer can work
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m
REM load the program
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -Uflash:w:firefly.hex:i
REM set fuse for 1MHz, as the project requires
C:\Progra~1\Arduino\hardware/tools/avr/bin/avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0x62:m
-Я пытаюсь запустить их отдельно, но всегда получаю эту ошибку:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
но иногда это число ff0000 или ffff00 или ffffff
Я читал, что «Arduino использует слегка модифицированную версию avrdude для загрузки эскизов на плату Arduino. Стандартная версия запрашивает сигнатуру устройства платы способом, не понятным загрузчику, что приводит к этой ошибке». Означает ли это, что использование Arduino avrdude с новым чипом ATTINY, без загрузчика, также вызовет ту же ошибку? Другими словами, способен ли модифицированный avrdude запрашивать не загружаемый Arduino чип AVR?
Или эта ошибка просто означает, что у меня нет хорошего контакта между всеми моими выводами программатора и ATTINY?
И действительно ли нужны настройки предохранителей, может ли Uno запрограммировать флэш-память на частоту 1 МГц и таким образом сэкономить мне несколько шагов?
(Я бы просто купил «настоящего» программиста, но мне нужно получить этот код в ближайшие два дня, и я нахожусь в сельской части Новой Шотландии)
-carduino
не stk500. Просто попробуйте загрузить программу blink в attiny из IDE. Таким образом, вы можете увидеть правильную командную строку внизу, если вы включите «подробный вывод» в настройках.
-c avrisp
. Я думаю, что вы можете запрограммировать его на 1 МГц без проблем.