Tôi đang sử dụng Arduino UNO để lập trình hình ảnh hex được biên dịch sẵn thành ATTINY45, sử dụng avrdude trong thư mục Arduino IDE, trên Windows 7. Uno có bản phác thảo ISP được tải từ thư mục ví dụ và đèn LED nhịp tim hoạt động xung độc đáo.
Về phần cứng tôi có thiết lập này , ngoại trừ ATTINY được gắn trên bề mặt, được hàn vào ván lướt sóng với tất cả các chân được xác minh - được hàn bằng vôn kế. Tôi sử dụng một dải pin-tiêu đề, được giữ bằng tay để đưa các chân chạm vào ván lướt sóng, để nhận các tín hiệu từ Uno đến ATTINY.
Dưới đây là các dòng lệnh mà tôi đã lấy từ việc xem xét đầu ra gỡ lỗi của 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
-Tôi thử chạy riêng chúng, nhưng luôn gặp lỗi này:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
nhưng đôi khi số đó là ff0000 hoặc ffff00 hoặc ffffff
Tôi đọc được rằng "Arduino sử dụng một phiên bản avrdude được sửa đổi một chút để tải các bản phác thảo lên bảng Arduino. Các truy vấn phiên bản tiêu chuẩn cho chữ ký thiết bị của bảng theo cách mà bộ tải khởi động không hiểu được, dẫn đến lỗi này." Điều này có nghĩa là việc sử dụng Arduino avrdude với chip ATTINY mới, không có bộ tải khởi động trên nó, cũng sẽ gây ra lỗi tương tự? Nói cách khác, avrdude đã sửa đổi không có khả năng truy vấn chip AVR không khởi động được Arduino?
Hay lỗi đó chỉ đơn giản là tôi không có một liên hệ tốt giữa tất cả các chân lập trình viên của tôi và ATTINY?
Và, các cài đặt cầu chì có thực sự cần thiết không, Uno có thể lập trình flash thành một attiny chạy ở tốc độ 1 MHz và do đó giúp tôi tiết kiệm một số bước không?
(Tôi sẽ chỉ mua một lập trình viên "thực sự", nhưng cần lấy mã này trong hai ngày tới, và đang ở một vùng nông thôn của Nova Scotia)
-carduino
không sử dụng stk500. Chỉ cần thử tải chương trình nhấp nháy lên attiny từ IDE. Bằng cách đó, bạn có thể thấy dòng lệnh chính xác ở phía dưới, nếu bạn bật "đầu ra dài dòng" trong cài đặt.
-c avrisp
. Tôi nghĩ bạn có thể lập trình nó ở 1 MHz mà không gặp vấn đề gì.