Memprogram mikrokontroler STM32 menggunakan STM32CubeIDE

Diposting pada

Pada tulisan kali ini, kita akan membahas tentang cara memprogram mikrokontroler STM32 dengan menggunakan IDE STM32CubeIDE. STM32 sendiri merupkan sirkuit terpadu (IC) mikrokontroler 32-bit yang diproduksi oleh STMicroelectronics. Pada pembahasan kali ini, menggunakan board STM32 yang cukup populer yaitu board STM32 blue pill. Bentuk fisiknya seperti ditunjukan gambar berikut:

Board STM32

STM32 blue pill, menggunakan IC STM32 dengan tipe STM32F103C8T6. Board ini kompatibel untuk di program menggunkan IDE dari arduino, dan telah banyak library yang disediakan. Namun, pada pembahasan kali ini kita akan memprogram menggunakan perangkat lunak IDE (integrated Development Environment) dari STMicroelectronics sendiri. Software nya dapat diunduh secara gratis pada website nya yaitu https://www.st.com/. Selain ide nya kita juga memerlukan software STM32CubeProgrammer, untuk mendownload program yang telah dibuat ke dalam mikrokontroler STM32. Untuk memprogram menggunakan STM32CubeProgrammer kita memerlukan perangkat ST-LINK. Pada perocbaan ini digunakan ST-LINK V2 seperti ditunjukan pada gambar berikut:

ST-LINK V2

Setelah semua alat dan bahan siap maka kita bisa langsung membuat program. Untuk kesempatan kali ini kita akan memulai dengan program sederhana yaitu program blink. Board blue pill yang digunakan telah memiliki led built in pada port C13, sehingga untuk mencoba program blink kita bisa memanfaatkan led tersebut.

Langkah pertama untuk membuat program blink pada STM 32, tentunya dengan membuka software STM32CubeIDE. Kemdian pilih File > New > STM32 Project. Maka akan tampil jendela target selection, disini kita akan memilih target mikrokontroler sesuai mikrokontroler yang digunakan dalam hal ini dipilih tipe STM32F103C8TX. Pastikan memilih tipe yang sesuai dengan tipe mikronkontroler yang digunakan agar program dapat berjalan sebagai mana mestinya.

Target Selection

Kemudian masukan project name, dan pilih bahasa pemrograman yang akan digunakan, kali ini kita akan menggunakan bahasa C. Klik finish jika sudah sesuai, maka akan muncul jendela untuk konfigurasi input output (IOC). Disini kita bisa mengatur mansing-msing pin dari mikrokontroler dan konfigurasi lainnya. Pada percobaan ini kita hanya akan mengatur pin C 13 sebagai output, maka kita tinggal mengklik kaki PC13. Disini akan muncul berbagai fitur yang terdapat pada PC13, karena kita memerlukan PC13 untuk output (untuk menyalakan led) maka kita pilih GPIO_Output. Jika sudah, selanjutnya kita generate code nya. Caranya bisa dengan short cut ALT+K ataupun dengan memilih menu project > Generate Code.

IOC

Selanjutanya akan muncul editor tempat kita bisa menuliskan kode program. Sesuai pilihan sebelumnya disini bahasa yang digunakan adalah bahasa C. Sebelum memulai memprogram kita bisa mengatur file output nantinya ketika di build. Kita bisa memilih untuk disimpan sebagai debug (dalam folder debug) ataupun release (dalam folder release). Untuk tahap percobaan ini kita simpan di debug saja.

Kita juga harus mengatur file output hasil build nya agar tersedia dalam ekstensi .hex. caranya pilih project > properties > Settings > MCU Post Build Outputs kemudian centang pilihan convert to intel hex file. Sehingga nantinya ketika program di build pada folder debug akan terdapat format file .bin, .elf, .hex.

build output

Selanjutnya kita mulai menuliskan program pada file main.c. Untuk membuat program led blinking kita dapat menggunakan perintah HAL. Kita bisa menuliskannya pada bagian while(1){…}. Bagian ini mirip seperti void loop pada arduino. Kita bisa mengetikan HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13); HAL_Delay(500);. Artinya kita akan menyalakan atau mematikan selama 500mS (berkedip).

kode blink

Setelah selesai kita bisa build progrma nya, caranya bisa dengan mengklik ikon palu, atau bisa juga dengan menu project > build all ataupun bisa menggunakan short cut CTRL+B. PAda bagian console akan terlihat progress dan hasilnya. Jika sudah tanpa error berarti program telah sesuai dan berhasil di build. Maka pada folder debug akan muncul file .hex nya.

Selanjutnya untuk “memasukan” file hex ke mikrokontroler nya kita gunakan software STM32CubeProgrammer. Tentunaya dengan menggunakan STLINK V2 untuk koneksi antara board MCU dan Komputer.

Adapun koneksi STLINK ke board menggunakan 4 kabel dengan koneksi sebagai berikut:

ST-LINK V2Board STM32 Blue Pill
3.3 V3.3 V
GNDGND
SWCLKDCLK
SWDIODIO
tabel koneksi stlink v2 dan stm32 blue pill

Kemudian hubungkan st-link ke komputer melalui port usb. Pada software stm32 programmer kita bisa coba mengkoneksikan stlink dengan mengklik tombol connect. Saat pertama kali menggunakan stlink dan software nya kemungkina memerlukan upgrade firmware.

tampilan software stm32CubeProgrammer

Jika stlink telah berhasil terbaca dan chip target terdeteksi, maka kita baisa langsung mendownload program hex nya caranya, masuk pada menu download (klik ikon download). Kemudian pada file path klik brows dan pilih file hex yang telah dibuat. Pastikan pilihan run after programming telah tercentang agar program langsung berjalan saat proses telah selesai (tnapa direset terlebih dahulu).

Jika telah sesuai maka led akan berkedip (blinking), namun jika belum berarti masih ada keslahan baik dari program ataupun proses downloadnya. Adapun jika telah berhasil maka hasilnya seperti video berikut:

Sekian tulisan kali ini, mohon maaf apabila ada kesalahan dan terimaksih telah berkunjung…

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *