Saya telah berjuang dengan membuat Arduino untuk sementara waktu (berhasil membuat versi papan tempat memotong roti menggunakan kabel programmer ISP ). Mereka mengatakan bahwa bootloader Arduino dibuat sehingga tidak ada sirkuit eksternal yang diperlukan untuk memprogram ATmega8 . Tetapi ketika saya melihat ke dalam skema ada rangkaian normal yang diperlukan untuk koneksi serial. Lalu apa sebenarnya yang dilakukan bootloader?
arduino
bootloader
Rick_2047
sumber
sumber
Jawaban:
Bootloader adalah program kecil dalam flash AVR yang tidak pernah ditimpa dan berjalan pada powerup. Tugas bootloader adalah membaca data program dari UART dan menuliskannya ke flash internal. Tanpa bootloader, satu-satunya cara untuk memuat kode adalah menggunakan ISP.
AVR ATMega8 hadir tanpa kode dalam flash. Kode dapat diunggah melalui pin ISP (in-system-programming), menggunakan programmer AVR ISP (atau bahkan Arduino lainnya).
Untuk Arduino, ISP hanya digunakan sekali (saat pembuatan) - untuk mengunggah bootloader kecil. Pada powerup, bootloader berjalan dan berkomunikasi dengan serial UART (pin TX + RX). Sekarang, Arduino dapat diprogram melalui pin serial menggunakan protokol STK500.
Karena pin serial terhubung (biasanya) ke USB FTDI ke chip seri, Arduino juga dapat diprogram melalui USB.
sumber
Anda dapat membeli chip ATmega328 dengan boot-loader di sini .
sumber
Mereka mungkin berarti bahwa jika Anda membeli Arduino Uno yang sudah dirakit dan dirakit, Anda juga tidak perlu membeli seorang programmer. Seperti halnya dengan banyak pemula elektronik lainnya. Anda dapat memprogram papan Arduino Uno hanya dengan kabel usb (A> B).
Namun jika Anda akan membangun Arduino Anda sendiri, tentu saja Anda akan membutuhkan rangkaian eksternal (misalnya programmer AVR ISP) atau jenis barang Max232 atau FTDI.
sumber
Ide di balik bootloader Arduino adalah bahwa Anda tidak memerlukan khusus perangkat keras atau sirkuit untuk re-program yang mereka, dibandingkan dengan pemrograman awal, atau mikrokontroler yang lebih tua, yang sering membutuhkan programmer khusus (seperti Pickit2 untuk PIC MCUs). Bootloader memungkinkan pemrograman melalui koneksi serial dasar.
Tentu saja, pada saat itu, Anda memerlukan tautan serial, biasanya konverter rs232 dari TTL ke RS232. Kemudian port serial dihapus, usb ke serial menjadi mana-mana, memungkinkan untuk mengganti max232 atau serupa. Dan sekarang, penggunaan mikrokontroler Atmel yang diaktifkan USB memungkinkan hal itu menjadi tidak perlu, sehingga satu ic dengan bagian pasif minimal dapat menyediakan fungsi Arduino dan USB ke Serial. Sekarang Anda hanya perlu kabel usb dan beberapa pasif untuk mengunggah sketsa. Pemrograman awal bootloader masih membutuhkan pemrograman ICSP tradisional.
sumber