Saya belajar tentang coding pengontrol, tetapi tidak pernah benar-benar meletakkan kode pada perangkat fisik. Saya mencoba mencari tahu apa yang perlu saya pesan untuk mulai mengembangkan sistem embedded dasar.
Sebagai contoh, jika saya memiliki PIC18F1330, saya memiliki MPLAB IDE dan XC8 compiler. Bagus, jadi saya memiliki kode yang dikompilasi, dan saya siap untuk meletakkan ini di controller. Apa yang harus saya miliki untuk mentransfer kode kompilasi saya pada PC saya, ke controller?
Saya telah melihat hal-hal seperti debugger di-sirkuit, dan kit PIC. Saya baru saja tersesat pada saat ini.
microcontroller
pic
compiler
Adam
sumber
sumber
Jawaban:
Ada beberapa cara untuk mem-flash kode Anda ke mikrokontroler.
Di web, Anda akan menemukan cukup banyak programmer buatan sendiri, tetapi mereka biasanya juga memiliki perangkat lunak buatan sendiri dan tidak (terintegrasi) dalam IDE MPLAB.
Solusi termurah dari Microchip adalah PicKit untuk ~ 40 € yang baru saja terhubung ke PC melalui USB. Meskipun PicKit memiliki beberapa opsi debug, ada juga ICD 'In Circuit Debugger' yang lebih kuat untuk ~ 180 €, yang memiliki lebih banyak fitur debug, tetapi tentu saja juga dapat mem-flash chip.
Saya selalu merasa PicKit sudah cukup untuk saya.
Ada versi pihak ketiga di luar sana, karena microchip menerbitkan firmware dan skema untuk PicKit, tetapi jika Anda membelinya, pastikan Anda benar-benar mendapatkan apa yang Anda pikirkan tentang apa yang Anda dapatkan. Saya pernah melihat tawaran untuk PicKit 3, tetapi saya tidak yakin apakah itu bukan PicKit 2.
Sama seperti komentar: Ada MCU Microchip, yang dapat mem-flash sendiri. Sebagai contoh, kami menggunakan keluarga PIC18F2450 / 2550/4450/4550 dengan USB tertanam dan meletakkan boot loader di atasnya. Ketika pelompat ditutup, MCU memasuki mode boot loader pada saat startup, dan Anda dapat mem-flash MCU Anda dengan kode Anda. Semua itu tersedia di Microchip.
Untuk menggunakan ini, Anda perlu beberapa modifikasi pada kode Anda. Dan tentu saja, Anda memerlukan programmer reguler untuk mem-boot boot loader pada MCU. Jadi, fitur ini tidak masuk akal jika Anda memiliki seorang programmer. Tapi itu bagus jika Anda ingin pembaruan firmware untuk pelanggan Anda.
sumber
Karena Anda menggunakan MPLAB IDE dengan kompiler XC8 C, Anda dapat memeriksa kompatibilitas dari menu Configure-> Select Device (indikator hijau berarti didukung penuh, kuning parsial, dan merah tidak didukung).
Saat ini, pilihan terbaik adalah Pickit 3, ICD3, atau RealICE (dalam urutan kenaikan harga)
Berikut adalah programer yang kompatibel, debuggers:
Anda benar-benar ingin memiliki dukungan debug serta dukungan pemrograman.
Setelah driver perangkat diinstal Anda dapat memilih dan menghubungkannya (perangkat yang diberikan hanya dapat diinstal sebagai debugger atau programmer pada waktu tertentu):
Kemudian ketika program Anda dikompilasi (dalam bentuk debug atau rilis), Anda dapat memprogram mikrokontroler dengan tombol-tombol yang ditunjukkan di bawah ini:
Secara fisik, PICkit atau unit debug / programmer lain memiliki konektor yang Anda sambungkan ke sistem Anda. Ada 6 pin, dimana 5 digunakan termasuk daya dan tanah.
sumber
Pada saat penulisan, ada 3 cara utama untuk membakar biner ke mikrokontroler. Tergantung pada mikro tertentu, 3 dari mereka mungkin tersedia. Metode tertua adalah programmer / debugger khusus perangkat. Yang sekarang untuk bagian Microchip adalah Pickit3 / ICD3, mereka kompatibel dengan semua mik PIC saat ini dan beberapa yang lebih tua. Anda tidak dapat menggunakannya untuk memprogram bagian yang dibuat oleh produsen lain.
Metode kedua disebut bootloader. Ini adalah program kecil yang dibakar dalam mikro sebelum Anda mengambil bagian itu. Bootloader memungkinkan pemrograman melalui antarmuka standar mikro - UART, SPI, Ethernet, dll. Chip ARM sering disertai dengan bootloader yang sudah dimuat sebelumnya, serta AVR. Anda tidak perlu peralatan pemrograman berpemilik jika ada bootloader tetapi Anda tidak akan dapat melakukan debugging satu langkah dengan mudah.
Yang ketiga disebut JTAG. Ini adalah antarmuka semi-generik, Anda dapat memprogram banyak bagian yang berbeda dengannya dan juga debug. Anda akan membutuhkan perangkat yang disebut dongle JTAG. Beberapa bagian PIC memiliki JTAG. Chip ARM biasanya memiliki JTAG, dan banyak yang tidak memiliki antarmuka debug lainnya.
sumber
Resep umum:
Anda hampir sampai . Anda memiliki lingkungan pengembangan terintegrasi yang melakukan 1 dan 2 dengan cara yang sangat ramah pengguna. Bahkan memiliki antarmuka untuk programmer sehingga Anda tidak perlu khawatir tentang apa file HEX (tekan "play" dan Anda selesai).
Namun Anda masih memerlukan programmer fisik untuk menghubungkan perangkat Anda dengan PC - ada nomor di luar sana untuk PIC. Pickit adalah salah satunya. Jika Anda ingin serius dengan pemrograman tertanam, Anda mungkin harus berinvestasi dalam In Circuit Debugger (ICD). Ini adalah seorang programmer, dan juga sesuatu yang memungkinkan Anda untuk mengintip atau menyodok variabel dan register di mikro, dan bahkan melangkah dan menghentikan program sesuka hati.
sumber
Perangkat pemrograman mikrokontroler adalah yang Anda butuhkan. Itu adalah bagian dari perangkat keras yang terhubung ke PC Anda dan mikrokontroler, untuk melakukan fungsi yang diperlukan untuk memuat program ke chip. Dalam rangkaian debugger adalah perangkat yang memiliki lebih banyak fungsi daripada programmer, seperti men-debug kode Anda saat sedang berjalan pada chip. Anda dapat menggunakan ICD atau PIC Kit untuk memprogram UC. Atau, jika Anda suka, Anda dapat menggunakan sirkuit yang sangat sederhana seperti programmer JDM juga.
Perhatikan bahwa MPLAB IDE mendukung PIC Kit dan ICD. Tetapi jika Anda menggunakan programmer JDM, Anda harus menggunakan perangkat lunak lain seperti PICPgm untuk memuat chip yang dikompilasi.
sumber