Sunday, March 20, 2016

Terkait dengan StdPeriph dan Cube HAL


Setelah selesai menulis artikel tentang StdPeriph dan Cube HAL, karena saya sebelumnya menggunakan StdPeriph sebagai basis dari kode saya. Timbulah keinginan saya untuk bermigrasi ke perangkat berbasis Cube HAL.

Pada awalnya saya mengcreate beberapa project dengan CubeMX dan melanjutkannya dengan IDE trueStudio, namun karena masi dibayang-bayangi oleh IDE Coocox (CoID), maka saya coba mencari di internet, bagaimana menggunakan hasil generate code dari CubeMX dapat digunakan di CoID. sehingga saya bertemu dengan link ini. Waw saya sangat terkejut, karena untuk migrasi project trueStudio ke CoID sangatlah muda dan tanpa halangan apapun. namun ternyata itu hanyalah apa yang saya lihat diawal.

Saya melanjutkan dengan membuatkan BSP(Board Support Package) untuk board yang saya pakai (Gambar 1).
Gambar 1.Customize Dev board.

Dalam pembuatan BSP, saya ingin menggunakan library yang sebelumnya. yang ditulis diatas StdPeriph. Namun apa yang saya dapatkan. Ternyata library tersebut tidak bisa digunakan. saat di compile, terjadi infinite loop atau sampai saya endtask proses compile masi saja berjalan. 

Nah, muncul pertanyaan di benak saya... untuk menelusuri lebih jauh pendapat orang tentang StdPeriph dan CubeHAL. saya mulai dari kata kunci kira kira dalam bahasa indonesianya adalah bagaimana cara migrasi StdPeriph ke CubeHAL. dan apa yang saya dapat.

Ternyata saya menemukan diskusi yang seru di link ini, Singkatnya berdasarkan apa yang bisa saya mengerti yaitu, ternyata berdasarkan komentar dari kontributor, CubeHal bermaksud untuk, meningkatkan abstraksi dari peripheral yang ada pada uC ARM. maksudnya agar para pengguna awam dapat menggunakan semua fitur dari uC ARM tanpa direpotkan dengan setingan register yang cukup ribet(menurut segelintir orang). sehingga ada yang menyampaikan bahwa tujuan dari kemudahan ini yaitu akan seperti ARDUINO.... waw...waw....waw....

Sepintas setelah membaca diskusi tersebut. saya berefleksi sejenak. apakah yang saya baca itu benar... baiklah. mungkin perlu saya cerita pengalaman saya sejenak. ceritanya begini. Pada saat saya memutuskan untuk berpindah dari uC/OS dan Keil ke freeRTOS dan CoID. untuk mencari contoh project yang menggunakan freeRTOS pada CoID benar benar tidak ada (uC base STM32f103). sehingga saya harus menggunakan migrasi kecil kecilan dari uC yang tergolong saudara dekat yaitu STM32f100. dan setelah melakukannya beberapa hari akhirnya saya bisa menggunakan FreeRTOS di atas CoID dan rasanya sangat senang, dan akhirnya saya terus menggunakan tempalate project ini untuk develop prangkat selanjutnya.

Berbeda dengan perasaan yang saya alami saat menggunakan CubeMX. Sangat muda dan sekali compile langsung berhasil, dalam project tersebut sudah terpasang freeRTOS terbaru bahkan FreeRTOS yang telah dibasut oleh cmsis-os. waw teknologi apa lagi ini.... 

Dari kedua cerita diatas, sangat terasa perbedaan memulai project antara menggunakan StdPeriph dengan CubeHAL. dengan menggunakan CubeHAL, semua menjadi sangat mudah, namun saya tidak mendapatkan kebebasan seperti saat menggunakan StdPeriph. yaitu dapat langsung mengakses register berdasarkan inisilisasi yang telah didaftarkan dalam library nya.

jadi kesimpulannya mungkin saya akan mengembangkan perangkat saya saat ini dengan masi berbasis pada StdPeriph..


No comments:

Post a Comment