Optiboot adalah tentang bootloader terkecil yang tersedia.
Tapi, ada jauh lebih kuat (dengan konsol inbuilt untuk pengujian perangkat keras, memeriksa RAM dan konten Flash, dll) bootloader dengan protokol komunikasi stk500v2 yang lebih maju dan kuat antara avrdude dan AVR bootloader.
Saya sudah menggunakannya pada ATmega2560 dan pada ATmega1284p. Ia bekerja untuk MCU penghitung program 3 byte dan 2 byte.
Saya memiliki versi Bootloader STK500v2 di Sourceforge .
Bootloader ini didasarkan pada bootloader Peter Fleury STK500v2, yang diperbarui oleh Mark Sproul. Saya telah mengedit untuk mendukungnya dengan papan Goldilocks (sebuah ATmega1284p).
Fitur utamanya adalah menggunakan protokol STK500v2 untuk mengunggah gambar Flash ke Arduino. Protokol ini lebih kuat dan memberikan kemampuan kesalahan yang lebih baik daripada protokol avr109 . Sebagai tambahan, protokol avr109 disebut "Arduino" di dunia Arduino, karena ia mengaktifkan DTR (untuk mengatur ulang papan dan secara otomatis memasuki bootloader), dan protokol STK500v2 disebut "Wiring" di dunia Arduino, karena hal yang sama alasan.
Bootloader Fleury / Sproul STK500v2 dirancang untuk bekerja dengan ATmega2560 yang memiliki register program 3 byte, karena ukuran Flash yang lebih besar. Tapi, itu juga mendukung papan 2 byte normal (semuanya benar-benar lain).
Untuk papan dengan banyak Flash (seperti Goldilocks 1284p), ada monitor perangkat keras yang dapat digunakan untuk menanyakan Flash, SRAM, dan perangkat keras; Anda dapat memeriksa koneksi tanpa kode tambahan, dan memeriksa konten Flash dan EEPROM yang sebenarnya. Karena 1284p mendukung 2 USART, saya menambahkan kemampuan untuk melakukan debug pada USART1 , sehingga proses pengunggahan melalui USART0 tidak terganggu.