Tuesday 7 February 2017

Develop STM32 dengan STM32cubeMx + OpenSTM32 IDE

Banyak temen² yang masih ngoprek STM32 di Keil, yang harus nyari software crack²an. Bebas sih, tapi saya sepaham dengan dosen saya saat kuliah dulu. Ilmu yang bermanfaat tidak berasal dari barang curian. Sekali lagi ini bukan pemaksaan, kalau tetap pakai Keil stm32cubeMX bisa generate juga untuk project yang untuk keil.
STM32cubeMX itu merupakan kode generator dari ST untuk inisial project STM32. Di sini saya akan bahas untuk STM32 Discovery. Pertama-tama dapat download stm32cubeMX disini. Tapi harus login dulu. Setelah download selesei extract dan jalani Programnya.
Menu awalnya dapat dilihat seperti ini.
Untuk generate project STM32F4-Discovery kita cuma butuh klik New Project. Setelah itu Klik panel yang Board Selector. Setelah itu kita pilih boardnya seperti gambar dibawah ini.
 

Harusnya kita sudah masuk di menu khusus board di STM32F4-Discovery seperti ini.
Dari gambar kita tahu bahwa beberapa pin sudah auto inisialisasi sama cubeMX nya. Contoh untuk Led yang tersambung pada board STM32F4-Discovery dikasih nama LD3 ~ LD6 Di cubeMx. Untuk project coba² seperti blink Led. Inisialisasi ini sudah cukup. Misal butuh beberapa interface tambahan seperti USART atau SPI tinggal ditambahkan di menu sebelah kiri itu. Nanti pin-nya juga akan auto inisialisasi.
Ada satu setting penting yang belum di generate-kan yaitu clock STM32F4. Disebelah kiri menu kita klik RCC> HSE >Pilih Crystal Ceramic Resonator. Setelah dilihat pada menu pin STM32, pin PH0 & PH1 akan tampak menjadi hijau. Setelah itu kita tinggal memilih menu tab Clock Configuration setting clock source ke HSE, serta clock cpeed menjadi 168MHz. Setting clock dapat dilihat pada gambar dibawah ini.

Selanjutnya kita generate project tadi Pertama klik tab Project diatas trus pilih setting. Silahkan dikasih nama projectnya dan pilih penyimpana directory nya. Setelah itu pilih SW4STM32 sebagai toolchain/IDE nya. SW4STM32 itu merupakan toolchain untuk develop dengan openSTM32. Untuk keil dapat memilih IDE MDK-ARM. Lebih jelasnya seperti gambar dibawah ini.
Beberapa kali saya menemukan bug di code generator nya. Karena beberapa menu yang saya pilih kadang tidak sesuai dengan generator nya. Saya bisa menemukan agar code nya sesuai dengan memeilih menu tab Code Generator setelah itu mencentang option "Generate Peripheral initialization as a pair of .c/.h files per periperal". Tutup project setting dengan klik OK.  Klik tab Project lagi dan generate code. Harusnya project yang kita kenerate sudah jadi dan siap di import ke openSTM32. 
Selanjutnya kita akan meng-import program dari cubeMX kedalam openSTM32. Untuk mendapatkan opnSTM32 dapat di download dari sini. Tapi lagi² ya harus login dulu. Buat akun aja yang belum punya akun. Tinggal download dan jalankan.Sedangkan saya sendiri menggunakan eclipse ya saya download sendiri kemudian saya install plugin STM32. Di eclipse tinggal klik help > Install new software > Add > Name isi dengan openSTM32. Location diisi dengan:http://www.openstm32.org/Eclipse-updates/org.openstm32.system-workbench.site. Seperti gambar di bawah ini.
Setelah itu klik OK. Eclipse akan me-refresh link nya dan memunculkan 2 plugin. Instal keduanya. Membutuhkan waktu yang lumayan lama untuk menginstall karena eclipse akan mendownload plugin tersebut.
Klik next > finish. Apabila ada notifikasi untuk licensi klik accept saja. Setelah install selesei kita sudah punya compiler eclipse dengan openSTM32.
Dari part 1 kita sudah mencoba generate project dari cubeMX. import hasil generate tersebut dengan import > existing project into workspace > next > browse > arahkan ke project hasil generate cubeMX tadi.

Seharusnya project tadi sudah bisa di compile di eclipse. Selamat Ngoprek !!



Develop STM32 dengan STM32cubeMx + OpenSTM32 IDE

Banyak temen ² yang masih ngoprek STM32 di Keil, yang harus nyari software crack ²an. Bebas sih, tapi saya sepaham dengan dosen saya saat ...