Windows 7에서 Arduino IDE 디렉토리의 avrdude를 사용하여 사전 컴파일 된 16 진수 이미지를 ATTINY45에 프로그래밍하기 위해 Arduino UNO를 사용하고 있습니다. Uno는 예제 디렉토리에서 ISP 스케치를로드했으며 하트 비트 LED가 작동합니다. 잘 펄스.
하드웨어 측면 에서 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 보드에 스케치를 업로드합니다. 표준 버전은 부트 로더가 이해할 수없는 방식으로 보드의 장치 서명을 쿼리하므로이 오류가 발생합니다." 이것은 부트 로더가없는 새로운 ATTINY 칩과 함께 Arduino avrdude를 사용하면 동일한 오류가 발생한다는 것을 의미합니까? 다시 말해, 수정 된 avrdude는 Arduino가 아닌 AVR 칩을 쿼리 할 수 없습니까?
아니면 그 오류는 단순히 모든 프로그래머 핀과 ATTINY 사이에 좋은 접촉이 없다는 것을 의미합니까?
그리고 퓨즈 설정이 꼭 필요한가요? Uno가 1MHz에서 작동하는 플래시에 플래시를 프로그래밍하여 몇 단계를 절약 할 수 있습니까?
(저는 단지 "실제"프로그래머를 구입하지만 다음 이틀 안에이 코드를 얻어야하며 Nova Scotia의 시골 지역에 있습니다.)
-carduino
하면 stk500 이 사용 되지 않습니다. IDE에서 attiny에 깜박임 프로그램을 업로드하십시오. 이렇게하면 설정에서 "verbose output"을 활성화하면 맨 아래에 올바른 명령 줄이 표시됩니다.
-c avrisp
. 문제없이 1MHz로 프로그래밍 할 수 있다고 생각합니다.