Saya berencana untuk bermigrasi ke arsitektur NXP Cortex M3 dan saya agak bingung antara alat pengembangan yang ada.
Keil mahal dan saya tidak tahu apakah itu layak. Adakah yang telah mencoba beberapa kompiler dapat memberikan saran?
Saya menemukan kompiler ini http://www.code-red-tech.com/red-suite-2.php sepertinya bagus dan tidak mahal. Adakah yang mencobanya atau mengetahuinya dapat memberi saya lebih banyak info?
Jawaban:
Saya telah bermain dengan STM32 (juga Cortex M3) akhir-akhir ini di waktu luang saya dan menggunakan distribusi CodeSourcery dari GCC, yang telah bekerja dengan cukup baik.
Seorang kolega yang telah bekerja dengan ARM micros secara profesional di masa lalu mengatakan kepada saya bahwa dia puas dengan rantai alat IAR, meskipun saya tidak tahu seperti apa biayanya atau bagaimana dukungan Cortex.
sumber
Saya menggunakan kompiler silang CodeSourcery (Lite) untuk Linux untuk memprogram Microcontrollers TI Stellaris . Mereka bekerja dengan Cortex-M3. Mereka sepenuhnya gratis, dengan binari untuk Windows dan Linux.
Ini resep singkat (Debian / Ubuntu) untuk dipasang:
Unduh toolchain (versi apa pun akan berhasil, tetapi saya menggunakan ini)
Instal Java Runtime Environment (untuk installer yang terkutuk)
Memasang
Tambahkan direktori cross compiler bin ke PATH Anda
Untuk memuat kode dan debug, Anda perlu OpenOCD dan gdb atau salah satu GUI.
Anda juga membutuhkan adaptor JTAG .
sumber
Saya sudah mulai menggunakan salah satunya (papan pengembang MBED). Poin penjualan besar bagi saya adalah bahwa saya dapat kode dalam C atau C ++, koneksi langsung ke USB dan lingkungan pengembangan on-line yang apik (tidak diperlukan instalasi alat lokal sama sekali!).
http://mbed.org/
Lima menit setelah membuka kotak saya punya program sampel blinky ('hello world' dari dunia emitted) menjalankan yang berikut ini:
Itu dia! Di atas adalah program yang lengkap!
Ini didasarkan pada ARM Cortex M3, cepat dan banyak memori untuk proyek tertanam (100mhz, 256k flash & 32k ram). Alat dev online memiliki perpustakaan yang sangat bagus dan banyak contoh dan ada forum yang sangat aktif. Banyak bantuan untuk menghubungkan perangkat ke MBED dll
Walaupun saya memiliki banyak pengalaman dengan embedded system (ARM 7/9, Renases M8 / 16/32, Coldfire, Zilog, PIC dll.) Saya masih menemukan ini sistem yang mudah untuk disegarkan dengan kemampuan yang serius.
Setelah awalnya bermain dengannya di papan tempat memotong roti dasar saya membeli papan dasar dari orang-orang ini: http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php?PHPSESSID=lj20urpsh9isa0c8ddcfmmn207. Ini memiliki setumpuk perangkat I / O (termasuk OLED miniture dan accelerometer 3axis). Dari situs yang sama saya juga membeli salah satu papan prosesor LCPExpresso yang murah, lebih sedikit daya / memori daripada MBED tetapi sempurna untuk pekerjaan yang lebih kecil (masih memalu omong kosong prosesor PIC / Atmega). Papan dasar mendukung LCPExpresso dan MBED. Membeli papan prosesor LCPExpress juga memberi saya saya debugger JTAG terlampir dan envonment dev offline (kit Red Code GCC / Eclipse berbasis dev). Ini jauh lebih kompleks daripada lingkungan dev MBED online tetapi merupakan perkembangan logis setelah Anda memperoleh pengalaman dengan MBED.
Dengan mengacu pada poin asli saya bahwa pengontrol MBED jauh lebih mampu daripada pengontrol LPCExpresso TETAPI jauh lebih mudah untuk digunakan dan dipelajari.
sumber
kode sumber asam yang baik, atau menggunakan emdebian. atau roll sendiri, itu sangat mudah kecuali jika Anda membutuhkan C atau pustaka gcc penuh maka itu masih bisa dilakukan tetapi sedikit lebih sulit. pada awalnya Anda tidak akan memerlukan kompiler thumb2, jempol akan melakukan apa yang Anda cari untuk toolchain yang Anda suka.
llvm adalah salah satu yang baik (gunakan dentang tidak llvm-gcc !!), saya tahu sisi lengan semakin baik sepanjang waktu, versi 27 menghasilkan kode lebih cepat daripada gcc saat ini untuk tes tertentu. Saya menemukan bug di sisi ibu jari ketika mengerjakan emulator ibu jari saya (thumbulator.blogspot.com) yang segera diperbaiki. Bagian terbaik tentang llvm adalah secara default kompiler silang, tanpa pengalaman kerja atau membangun tambahan. Dalam beberapa tahun ke depan saya melihat mereka memotong lebih dalam ke gcc dan melewati gcc oleh untuk kompilasi silang / tertanam.
Saya mencoba alat kode-merah sekali dengan papan lpcxpresso, hasil akhirnya adalah saya pasti tidak pernah menggunakan kode-merah dan saya berdebat apakah akan juga daftar hitam lpc. ymmv. Jika Anda harus menggunakan alat bayar saya akan pergi dengan keil hanya karena mereka dibeli dengan lengan dan bagian dari paket adalah kompiler rvct. Tentu saja kode sumber adalah rumah berbayar juga jika Anda tidak memenuhi batasan lite atau memilih untuk mendapatkan dukungan, karena gcc itu memiliki dukungan terbaik sejauh ini dari semua kompiler. Beberapa waktu yang lalu ketika saya dapat mencoba mereka metaware dan alat lengan menerbangkan gcc sejauh kualitas kode yang dihasilkan. gcc naik dan turun beberapa versi 3.x menghasilkan kode lebih baik dari 4.x, mereka tampaknya tidak membaik pada setiap rilis, tetapi mereka melakukannya atau mungkin kode sumber menambahkan dukungan thumb2 belum lama ini, dimana versi 3.x tidak Saya tidak punya.
sumber
If you have to use a pay for tool I would go with keil only because they were bought by arm
- Sudahkah Anda mencoba kompiler Keil? Saya belum terkesan dengan alat Keil 8051 setidaknya. Mereka merasa seperti dinosaurus dibandingkan dengan kompetisi berbasis GCC atau suite LLVM / Dentang, IMHO.Saya menggunakan perangkat lunak Rowley untuk pengembangan ARM dan MSP430:
http://www.rowley.co.uk
Ini luar biasa. Cortex-M3 didukung.
sumber
Saya menggunakan Yagarto + Eclipse + J-link edu debugger. (Gnu toolchain)
http://www.yagarto.de/
sumber
Saya sudah cukup sukses menggunakan rantai IAR compiler / debug untuk pengembangan ARM saya. Mereka menawarkan alat pengembangan yang relatif stabil lengkap dengan lingkungan C ++ Tertanam (yang tampaknya agak jarang). - Bergantung pada ukuran basis kode Anda, mereka juga menawarkan perangkat keras / lunak "KickStart Kits" dengan versi terbatas ukuran kode dari alat mereka.
sumber
IAR sangat baik, dan jika Anda melakukan proyek kecil ada edisi kickstart terbatas ukuran kode 32K gratis. Namun peningkatan ukuran agak mahal saya percaya. Mereka juga datang dengan banyak proyek contoh yang bagus, biasanya beberapa untuk setiap keluarga prosesor.
sumber
Saya menghabiskan beberapa hari terakhir mendapatkan toolchain GNU CodeSourcery yang sepenuhnya diatur untuk mikro EFM32G pada OS X. Itu sangat berharga. Dibandingkan dengan banyak debugger berbasis GUI yang pernah saya coba (kebanyakan berbasis Eclipse); Makefiles, GCC dan GDB adalah mimpi yang menjadi kenyataan; ditambah semuanya bekerja dari terminal Linux atau Mac saya.
Satu-satunya bagian yang menyebalkan adalah adaptor J-Link yang terpasang di papan tulis. Program GDBServer Windows dan Linux J-Link adalah sumber tertutup. Lebih buruk lagi, versi Linux JAUH lebih jauh di belakang. Jadi agar GDB berfungsi, saya harus menjalankan image Windows VMWare yang tujuan utamanya adalah menjalankan GDBServer (karena yang Linux rusak).
Oh dan di atas tidak berfungsi dengan benar, server GDB berbasis J-Link Linux mengikat ke 127.0.0.1 dan mendengarkan HANYA untuk paket dengan itu sebagai dest; jadi mengacaukan iptables dan meneruskan diperlukan untuk membuatnya terhubung dari mesin jarak jauh. Konyol; Segger perlu melakukan aksi bersama.
sumber
Saya menggunakan QtCreator dan GNU Tools ARM Embedded. Bekerja dengan baik.
Keuntungan:
Kekurangan:
Ketika semuanya sudah diatur dengan benar, saya dapat mengklik untuk membuat breakpoint dalam kode saya, dan kemudian klik tombol "debug". Ini akan mengkompilasi, mem-flash, mengeksekusi, dan menjeda breakpoint dalam waktu sekitar 5 detik (dan secara bersamaan membuat Anda marah jika Anda harus kembali ke Arduino "IDE").
Saya sedang mengerjakan tutorial tentang cara mengatur ini dengan chip ARM lain - nRF51822 berbasis Cortex-M0.
sumber
Saya menggunakan alat CooCox, sangat bagus tapi gratis untuk digunakan, tidak terbatas pada ukuran kode. http://www.coocox.org/
sumber
Saya menggunakan arm-eabi-gcc dan toolchain yang menyertainya diinstal melalui script toolchain summon arm . Script mengatur lingkungan untuk melakukan pekerjaan logam pada ARM. Ini sumber bebas dan terbuka dan semua itu dan telah bekerja dengan baik bagi saya. Saya juga menggunakan IAR untuk ini, dan tentu saja lebih baik karena memungkinkan Anda melakukan lebih banyak debugging ramah dan untuk melakukan hal-hal dengan cara IDE, tetapi secara keseluruhan saya merasa lebih nyaman dengan gcc, jika tanpa alasan lain karena saya tidak harus membenarkan pengeluaran untuk siapa pun.
(Saya tidak pernah benar-benar mengetahui cara menggunakan gdb untuk apa pun, tetapi saya belum pernah benar-benar terbiasa menggunakan debugger atau memiliki satu tersedia, jadi saya tidak yakin apakah saya memenuhi syarat untuk menilai sedikit itu.)
sumber
Saya menggunakan Emprog ThunderBench . Ini luar biasa, mungkin yang terbaik yang pernah saya gunakan.
Yang paling saya sukai tentang itu adalah, pada saat yang sama, kompiler korteks C / C ++ ARM , Debugger dan IDE.
sumber