Halo, sesama programmer, perangkat keras, dan semua yang bersimpati pada mereka. Saya ingin terus meninjau kemampuan IDE Qt Creator bersama dengan sistem build QBS terkait pemrograman mikrokontroler.
Sebelumnya, saya menulis tentang peningkatan versi
QtC 4.10 dan QBS 1.14 sebelumnya .
Kepada siapa topik ini menarik, selamat datang di kucing.
Beberapa hari yang lalu, secara diam-diam dan tanpa disadari, rilis
Qt Creator 4.11 dirilis, yang menambahkan beberapa perbaikan untuk bekerja dengan mikrokontroler (pada orang umum - perangkat "baremetal"). Rilis Qt Creator ini mengintegrasikan sistem
build QBS 1.15 , yang juga memiliki peningkatan baru (belum dirilis).
Perbaikan pada Qt Creator
Semua peningkatan ini hanya tersedia ketika plugin BareMetal diaktifkan, yang diaktifkan melalui menu "Bantuan -> Tentang Plugin -> Dukungan Perangkat -> BareMetal".
- Arsitektur baru telah ditambahkan ke kompiler GCC, SDCC, dan IAR EW, detail dasarnya diberikan dalam tabel di bawah ini:
Sekarang ini kompiler baru secara otomatis terdeteksi pada tab "Tools -> Options -> Kits -> Compiler -> Auto-detected".
Misalnya, bagi saya tampilannya seperti ini:

Pada Windows, deteksi otomatis kompiler GCC untuk arsitektur MSP430 tidak diterapkan, karena Set ini disediakan sebagai arsip sederhana, dan bukan sebagai penginstal.
Tetapi tidak ada yang mau menambahkan kompiler GCC ini (dan yang didukung lainnya) secara manual, sedangkan Qt Creator akan menentukan kompiler ABI dengan benar:

Catatan: Dan tentu saja, semua kompiler akan secara otomatis memiliki direktori dengan header, makro yang telah ditentukan, dll. Untuk penyorotan kode yang benar.
- Atas permintaan pekerja , dukungan ditambahkan untuk file SVD untuk menjelaskan register periferal mikrokontroler.
Catatan: Seperti yang saya tahu, fitur ini hanya tersedia untuk ARM (walaupun saya bisa saja salah) dan masih bersifat percobaan.
Untuk menggunakan fitur ini, pertama-tama Anda harus memilih file SVD yang diinginkan di bidang "File deskripsi periferal" di pengaturan perangkat "Alat-> Opsi-> Perangkat-> Perangkat Anda", sesuai dengan mikrokontroler target:

Catatan: File-file ini dapat diunduh baik dari situs web ARM atau diambil dari direktori dengan produk Keil MDK atau IAR EW yang diinstal.
Selanjutnya, setelah memulai debugging, pilih "Peripheral Registers" di menu "Window-> Views". Setelah itu panel "Peripheral Registers" akan terbuka (mirip dengan panel "Register") di mana, dengan mengklik kanan, sebuah menu dengan daftar kelompok register yang akan ditampilkan dipanggil:

Kami memilih grup mana pun (misalnya, RCC) dan mendapatkan daftar semua register dari grup ini dengan deskripsi dan nilai terperinci yang dapat dibaca / ditulis:

Catatan: Saat ini, tampilan register hanya dari salah satu grup yang dipilih dilaksanakan.
Perbaikan dalam QBS
QBS akan menjadi bagian integral dari ulasan ini, jadi masuk akal untuk berbicara tentang peningkatannya:
- Menambahkan dukungan untuk kompiler baru ini dan mengimplementasikan kemampuan untuk mendeteksi kompiler yang diinstal secara otomatis dan membuat profil.
Properti qbs.architecture memiliki nilai-nilai berikut:
- Dukungan generator telah ditambahkan ke proyek Keil MDK dan IAR EW untuk arsitektur dan versi berikut:
Catatan: Tabel di atas menunjukkan versi produk yang digunakan untuk pengembangan generator dan operabilitasnya kurang lebih dicek.
Dengan demikian, sekarang dimungkinkan dengan generator ini untuk membuat proyek asli untuk IDE target yang diinginkan. Pada saat yang sama, setiap generator akan mengonversi semua flag, lintasan, dependensi khusus compiler yang ditentukan dalam proyek QBS ke pengaturan yang sesuai dari IDE proyek target.
Jika sumber proyek QBS berisi beberapa produk (misalnya, aplikasi, perpustakaan, dll.), Generator akan membuat target "ruang kerja" dengan "proyek" sub-proyek bersarang untuk setiap IDE target.
Catatan: Saya akan segera mengatakan bahwa, seperti yang saya tahu, KEIL atau IAR EW IDEs tidak mendukung pelacakan ketergantungan (jika saya salah, perbaiki). Oleh karena itu, misalnya, jika proyek tersebut berisi aplikasi dan ketergantungan dalam bentuk perpustakaan, maka pengguna harus terlebih dahulu membangun perpustakaan, dan kemudian aplikasi itu sendiri.
Untuk menghasilkan proyek, Anda harus sudah mengkonfigurasi profil QBS dengan kompiler yang sesuai.
Catatan: Sejauh ini, Anda tidak dapat melakukannya tanpa profil, karena generator dari profil menerima arsitektur itu sendiri, jalur ke kompiler pra-instal (IDE), dan banyak lagi. Data ini diperlukan untuk pencarian skrip tautan yang benar, jalur ke runtime libraries, dan hal-hal spesifik lainnya (tidak ada logika sederhana di sana).
Misalnya, untuk membuat proyek target untuk mikrokontroler IAR EW dan ARM, cukup menjalankan perintah berikut:
qbs generate -g iarew8 -d <path/to/build/directory> -f <path/to/qbs/project/file> profile:<your/qbs/profile/for/arm>
Nama profil dapat diperoleh dengan menggunakan, misalnya, utilitas GUI qbs-config-ui (atau menggunakan versi konsol).
Catatan: Saat ini, generator memiliki status eksperimental. Mungkin dalam beberapa kasus (jika proyek asli kompleks) mereka akan menghasilkan file proyek target yang salah, atau melewatkan beberapa flag dan banyak lagi. Sangat jangan dimarahi, tetapi buat laporan bug di pelacak QBS.
Anda dapat melihat status dukungan kompiler saat ini di
sini , dan status integrasi generator saat ini di
sini .
Untuk melihat cara kerjanya, QBS menyediakan serangkaian
contoh sederhana.
Apa selanjutnya
Dalam versi mendatang, direncanakan untuk menambah arsitektur dan generator
Renesas ke IAR EW untuk arsitektur ini (saya tidak tahu apakah itu akan berhasil). Dan juga, jika Anda sangat beruntung, maka debugger dari Keil uVision akan diintegrasikan ke Qt Creator.
Pada catatan ini, saya akhiri kisah saya, terima kasih semua yang akan memperhatikan ulasan ini.