Saya ingin mulai menggunakan prosesor ARM, bermigrasi dari PIC yang telah saya gunakan terlalu lama. Model 8 bit tersedia dengan harga di bawah $ 1, programmer di bawah $ 10, dan saya telah dimanjakan oleh kemudahan dan biaya yang rendah untuk memulai. Tetapi melihat bahwa kekuatan mereka dikerdilkan oleh beberapa chip ARM dengan harga yang sama, dan muak dengan perangkat lunak sumber tertutup, saya ingin beralih.
Saya lebih suka menghindari papan pengembangan, dan langsung menggunakannya dengan pcb break-out generik murah ($ 1), dan pada papan tempat memotong roti menggunakan komponen eksternal apa pun yang penting untuk membuatnya berjalan.
Apa pilihan saya untuk pemrograman chip ARM dengan cara ini? Apakah ada programmer seperti PICKit2 yang menggunakan USB untuk terhubung ke PC, pemrograman melalui koneksi serial sederhana (seperti ICSP) dengan chip? Berapa banyak perbedaan dalam pengaturan yang diperlukan untuk berbagai produsen ARM, versi ARM dan chip individual? (ST, Atmel ...) Misalnya apakah masing-masing pabrikan membutuhkan kompiler, pemrogram, IDE, dll.? Atau ada alat umum untuk semua?
EDIT: Baiklah jadi setelah penelitian lebih lanjut saya percaya saya telah datang dengan solusi yang relatif murah, sebuah papan dev stm32 dapat di-flash dengan firmware DAPLINK, tapi saya tidak percaya bahwa firmware github resmi akan bekerja secara asli (semua ini adalah spekulasi sampai saya dapatkan board dev stm32 saya melalui pos). Tapi saya menemukan bahwa papan daplink_usb yang disertakan dengan readbear mk20 menjalankan chip stm32, mereka telah merilis firmware, yang harus memiliki garis yang diubah untuk membuatnya kompatibel dengan kristal 8mhz (Detail dalam posting forum yang ditautkan di bawah). Jika tidak, ganti kristal dengan yang 16 mhz. Sakit pembaruan setelah saya mengkonfirmasi ini ketika kit dev saya tiba.
Jawaban:
Baris stm32F0 dan stm32L0 memiliki papan penemuan yang berjalan sekitar $ 10, dan Keil akan menyediakan IDE fungsi penuh untuk baris ini dengan biaya nol.
Petunjuk menginstal pro MDK gratis Keil DI SINI
Juga, ARM memiliki lembar putih tentang migrasi ke Cortex M3 dari PIC yang mungkin bermanfaat bagi Anda
sumber
Cara termudah - keluar> $ 10K USD untuk kompiler Keil Pro yang berfungsi penuh, beli debugger JLINK mereka ($ 1K lainnya mungkin - ada yang lebih murah dengan beberapa batasan). IAR adalah kemungkinan lain yang mahal (contoh disediakan untuk prosesor STM32F7 Cortex M7 yang bekerja pada demo IAR 30 hari)
Cara termurah - unduh dan instal toolchain GCC-ARM + Eclipse (gratis) dengan plugin debugger JLINK. Dapatkan klon JLINK seharga $ 20 atau lebih, yang saya pikir akan berfungsi dengan baik - belum diuji, untuk debugging.
Ada instruksi rinci untuk yang terakhir di internet, namun mereka membuat asumsi tertentu. Berharap untuk menghabiskan satu hari atau lebih untuk membuatnya, terutama di bawah Windows. Jangan berharap dapat menggunakan banyak contoh yang disediakan untuk IDE lain tanpa kerja. Secara mengesankan, toolchain gratis dapat menggunakan 'paket' ('eksperimental' sekarang).
Ada sistem lain seperti Rowley Crossworks (yang menggunakan gcc, saya percaya) yang kurang menyakitkan secara finansial. Atmel Studio adalah hal lain, tetapi saya sudah memiliki keluhan pahit dari pengembang firmware saya yang sangat berpengalaman tentang hal itu (hanya bermain sebentar dengannya).
Jika kebutuhan kode Anda kurang dari 32K, Anda dapat menggunakan sistem Keil yang sama secara gratis (versi kode terbatas), tetapi perlu diketahui bahwa jalur peningkatannya mudah tetapi agak mahal. Misalnya, itu tidak akan mengkompilasi contoh Ethernet sederhana untuk SAMA70. Baik jika Anda mengganti PICs atau AVRs dengan ARM low-end, tetapi tidak terlalu bagus jika Anda akan ARM karena Anda benar-benar perlu berbicara dengan layar LCD dan menjalankan protokol komunikasi yang kompleks (mungkin modul pra-kompilasi dapat dimasukkan tanpa mempengaruhi Batas 32K, saya belum menyelidiki sudut tertentu).
sumber
Inilah yang saya gunakan:
sumber
Awal yang paling mudah mungkin adalah salah satu papan klon pihak ketiga. Contoh acak dari ST . Untuk itu diperlukan seorang programmer yang menggunakan protokol 'SWD'. ST membuat yang bermerek 'ST-LINK', saya tidak yakin apakah Anda harus menggunakan yang ST-LINK dengan perangkat ST atau apakah itu benar-benar generik.
Beberapa kombinasi SWD dan JTAG memainkan peran ICSP pada sistem ARM, memberi Anda kemampuan pemrograman dan debug.
Dari segi perangkat lunak, biasanya dimungkinkan untuk bekerja dengan GCC dan OpenOCD pada kebanyakan chip. Detailnya sedikit berbeda untuk setiap perangkat. Profesional sering menggunakan toolchain Keil, yang cukup mahal.
Beberapa perangkat (misalnya dari seri Kinetis) memiliki bootloader USB: perangkat muncul sebagai perangkat penyimpanan massal, Anda mengunduh file BIN ke dalamnya dan menekan tombol. Solusi termudah, tidak memerlukan programmer. Atmel AT91 memiliki bootloader USB yang berfungsi dengan protokol berpemilik yang disebut SAM-BA.
sumber
Di bagian depan IDE, Silicon Labs menyediakan Simplicity Studio , yang didasarkan pada Eclipse . Itu datang sebagai standar dengan GCC.
Ada dukungan bawaan untuk semua starter kit yang mereka jual, membuat memulai relatif tidak menyakitkan.
Pemrograman menggunakan driver J-Link Segger untuk starter kit (gratis). Cukup sambungkan kit ke USB dan pergi.
Atmel memiliki Studio mereka yang didasarkan pada Visual Studio IDE dan dapat terhubung ke salah satu debugger Atmel. Ini juga disertakan dengan GCC.
Kedua vendor memiliki banyak (sangat banyak) contoh untuk menggerakkan perangkat mereka.
Saya telah menggunakan keduanya dan meskipun dokumentasinya tidak sempurna (tidak pernah ada), itu tentu cukup untuk membuat saya berjalan relatif tanpa rasa sakit.
Banyak perangkat ST (dan lainnya) dipetakan diaktifkan.
sumber
Cypress membuat board breakout berbasis PSOC-4200 (ARM Cortex M0) dengan form factor DIP-40 yang menyertakan adaptor pemrograman berbasis USB di bagian break-off. Harga untuk papan breakout dan adaptor pemrograman yang dapat dilepas (dilepas) adalah US $ 3,99 dari Digi-Key.
sumber
Saya akan merekomendasikan CooCox - ini adalah kombinasi GCC + Eclipse yang sama, tetapi tidak perlu mengkonfigurasi toolchain secara manual, cukup instal dan mulai coding.
sumber
Dalam kepercayaan saya TI, NXP (terdiri dari NXP + Freescale) & ST adalah pemain peran utama di dunia korteks M, terutama ST dan NXP menawarkan alat yang sangat kompetitif bagi pendatang baru, satu parameter penting lainnya adalah popularitas di komunitas sumber terbuka yang menyebabkan jumlah tutorial, perpustakaan, driver perangkat, alat & dll.
kemudian :
Nomor 2 & 3 adalah pilihan yang lebih baik untuk tingkat atas daripada hobi. Juga ingat dengan menggunakan lisensi gratis dari alat profesional seperti IAR, Keil atau bahkan LPCXPRESSO Anda memiliki sedikit rasa sakit saat pindah ke area profesional.
sumber
mbed
- lihat [ developer.mbed.org] [developer.mbed.org]