STM32CubeMX adalah alat konfigurasi grafis untuk chip STM32 yang diluncurkan oleh STMicroelectronics (ST). Perangkat lunak ini efisien dan praktis. Dengan operasi yang sederhana, perangkat lunak ini dapat melakukan berbagai konfigurasi, memungkinkan penggunaan panduan grafis untuk menghasilkan kode bahasa C, serta mendukung MDK, IAR for ARM, TrueStudio, dan rangkaian alat pengembangan lainnya.
Pengantar STM32CubeMX
STM32CubeMX adalah alat konfigurasi grafis untuk chip STM32 yang banyak digunakan. Alat ini mengintegrasikan pemilihan chip, penetapan pin dan konfigurasi fungsi, konfigurasi middleware, konfigurasi clock, kode awal, serta fungsi proyek.
STM32 mendukung beragam middleware sumber terbuka dan middleware milik ST yang independen, seperti FreeRTOS, FatFS, dan mbedTLS dari komunitas sumber terbuka; serta stack protokol host dan perangkat USB milik ST sendiri, TouchGFX, dan lain-lain.
Manfaat STM32CubeMX
- Mencakup hampir semua chip seri STM32;
- Tidak perlu mengonfigurasi parameter kompleks dari berbagai periferal;
- Mendukung penggunaan wizard grafis untuk menghasilkan kode inisialisasi;
- Mendukung berbagai rantai alat, seperti MDK, IAR For ARM, TrueStudio, dll.
Unduh dan Instalasi STM32CubeMX
Sebelum menginstal STM32CubeMX, pastikan komputer Anda sudah terpasang JRE (Java Runtime Environment):
Unduh STM32CubeMX

Instalasi STM32CubeMX
Versi terbaru saat ini (2023) adalah V6.9.2. Sistem yang mendukung penginstalan adalah sebagai berikut:
- Windows: 7, 8, 10 (32 dan 64-bit)
- Linux: RedHat, Ubuntu, dan Fedora (32-bit dan 64-bit)
- macOS: OS X El Capitan dan Sierra

Instal Perpustakaan HAL
Perpustakaan firmware STM32 HAL merupakan singkatan dari Hardware Abstraction Layer. Ini adalah lapisan abstraksi perangkat lunak tertanam terbaru yang diluncurkan oleh ST Company untuk MCU STM32, dengan tujuan mewujudkan migrasi yang mulus antar MCU seri STM32.
Saat perpustakaan HAL diluncurkan, banyak perangkat lunak perantara pihak ketiga juga ditambahkan, termasuk RTOS, USB, TCP/IP, dan grafis.
Perpustakaan HAL memiliki dua metode: instalasi daring dan instalasi luring.
Berikut ini kami tunjukkan cara pertama:
Buka perangkat lunak STM32CubeMX yang telah diinstal dan masuk ke antarmuka manajemen perpustakaan (Bantuan -> Kelola paket perangkat lunak tertanam). Kemudian centang perpustakaan HAL yang ingin Anda instal dan klik "Instal Sekarang" hingga proses instalasi berhasil. Seperti yang ditunjukkan pada animasi berikut:

Bagaimana Cara Membuat Proyek STM32CubeMX?
Dalam tutorial ini, saya memberikan contoh sederhana tentang cara membuat lampu LED berkedip untuk pemula.
Peralatan yang Diperlukan
- STM32CubeMX dan pustaka HAL;
- Papan pengembangan;
- Pengunduh ST-Link;
- IDE seperti: MDK-ARM, EWARM, TureSTUDIO, SW4STM32, dll.
Buat Proyek Baru
Pilih MCU
Buka STM32CubeMX dan masuk ke menu pemilihan MCU.

Pilih MCU
Pilih model MCU Anda, misalnya STM32F103ZET6.

Pilih Sumber Jam
Jika Anda memilih untuk menggunakan jam eksternal berkecepatan tinggi (HSE), Anda perlu mengonfigurasi RCC di System Core (seperti yang ditunjukkan di bawah ini). Jika menggunakan jam internal bawaan (HSI), langkah ini dapat dilewati.

Pilih Pin GPIO (LED)
Di sini kami menggunakan pin GPIO (PF8) untuk menghidupkan dan mematikan LED.

Atur Jam
Jam bawaan adalah jam internal berkecepatan tinggi (HSI). Di sini, kita menggantinya dengan jam eksternal berkecepatan tinggi (HSE).

Manajer Proyek
Di sini, Anda dapat mengatur sendiri pengaturan proyek Anda: nama proyek, lokasi proyek, Toolchain/IDE, dan lainnya.

Buat Kode
Langkah-langkah di atas menyelesaikan proyek sederhana dengan konfigurasi dasar. Anda hanya perlu mengklik "Generate Code". Setelah kode berhasil dihasilkan, Anda dapat membuka proyek tersebut. Sebelum membuka proyek Anda, Anda perlu menginstal Keil MDK ARM.

Tambahkan Kode Aplikasi
Kode yang dihasilkan belum cukup lengkap, sehingga kita perlu menambahkan kode aplikasi kita sendiri. Seperti yang ditunjukkan pada gambar di bawah ini, kita menyisipkan potongan kode untuk membuat LED berkedip di berkas main.c, dan LED pada papan pengembangan akan berkedip sekali setiap 1000 milidetik.

Catatan:
- Penundaan 1000 ms memerlukan konfigurasi jam yang benar.
- Pin LED yang sesuai harus sesuai dengan pengembangan Anda yang sebenarnya.
- Setelah mengompilasi dan mengunduh proyek MDK-ARM yang dihasilkan, Anda perlu meresetnya kembali agar dapat berjalan.




