Advertisement

Membangun Aplikasi STM32 Dengan STM32CubeMX (Bagian 2)

0 1.351

Pada bagian 1, embeddednesia telah membahas bagaimana mengenerate source code dari CubeMX. Pada tulisan ini, penulis akan mengulas bagaimana caranya mengimpor source code tersebut kedalam eclipse IDE. Pastikan pembaca telah menginstal Eclipse CDT dengan plugin GNU MCU EClipse. Pernah dibahas penulis pada tulisan sebelumnya. Silahkan baca di tautan ini tentang bagaimana cara menginstalnya.

  • Install Compiler GNU ARM

Ada banyak pilihan compiler / toolchain yang bisa digunakan. Namun dalam tutorial ini yang digunakan penulis adalah GNU ARM karena sifatnya yang gratis dan open source. Alternatif lainnya, anda bisa gunakan compiler dari microC ataupun Keil uVision. Klik disini untuk membuka halaman pengunduhan. Dan pilih sesuai sistem operasi yang digunakan.

penulis menggunakan versi exe nya  gcc-arm-none-eabi-5_3-2016q1-20160330-win32.exe. Setelah selesei diunduh, install, dan ikuti petunjuk instalasinya.

Untuk sistem operasi windows 64 bit, secara default, biasanya folder instalasi akan berada di C:\Program Files (x86)\GNU Tools ARM Embedded. Buka folder tersebut dan masuk direktori bin lalu test apakah proses instalasi berhasil. Gunakan command –version

C:\Program Files (x86)\GNU Tools ARM Embedded\5.3 2016q1\arm-none-eabi\bin>arm-none-eabi-addr2line.exe --version
GNU addr2line (GNU Tools for ARM Embedded Processors) 2.26.0.20160310
Copyright (C) 2015 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
  • Buat Project Eclipse

Pada Eclipse CDT, buat project baru melalui menu File > New C/C++ Project. Kemudian Pilih template C++ Managed Build pada jendela dialog New C/C++ Project  Lalu klik Next.





Pada kotak dialog berikutnya, isi nama project pada Project Name. Pada contoh, penulis memberi nama Project STM32LoveCubeMx, pada kotak Project Type pilih direktori Executable > Hello World ARM Cortex-M C/C++. Klik Next

Pada dialog kedua, isi field Processor Core, Clock (Hz), Flash Size (kB) dan RAM size (kB) sebagaimana gambar 3. Nilai – nilai ini didapatkan dari datasheet STM32F10C8T6. pembaca dapat menyesuaikan dengan mirkokontroler yang digunakan.





Pada dialog ketiga, biarkan semua field pada kondisi default kecuali Vendor CMSIS name. Field tersebut memiliki pattern <stm32family>xx. Misalnya pada mikrokontroler yang sedang dipakai  tulis stm32f1xx. .

Saat tiba pada jendela dialog GNU ARM Cross ToolChain, biasanya Eclipse akan otomatis mendeteksi toolchain GNU Tools Arm Embedded yang telah diinstall sebelumnya. Jika tidak ada, atur terlebih dahulu pada direktori dimana direktori instalasi gnu arm berada. Setelah itu klik Finish.

 





Setelah project terbentuk, delete project terlebih dahulu, dengan klik kanan direktori project lewat Project Explorer lalu pilih pilih Delete

  • Install Python

Python diperlukan untuk menjalankan script yang menggunakan bahasa pemrograman Python yang diperlukan untuk me-copy project CubeMX yang telah dibuat pada bagian 1 ke Project Eclipse yang baru saja dibuat. Jika pembaca ingin tahu tentang python dan bagaimana menginstalnya, silahkan buka tautan ini untuk mengujungi tulisan penulis tentang python. Penulis menggunakan Python 2.7

Setelah python terinstall, untuk pengguna Windows perlu menginstall library tambahan lxml. Pembaca dapat mengunduhnya di tautan ini

  • CubeMXImporter

Unduh script CubeMXImporter melalui Github. Jika di komputer pembaca telah terinstall Git, jalankan script berikut untuk melakukan clone

git clone https://github.com/cnoviello/CubeMXImporter

Pembaca juga bisa mengunduhnya langsung dengan mengunjungi tautan Github di sini. Lalu memilih button download di pojok kanan atas. Script dapat dijalankan dengan format berikut

$ python cubemximporter.py <path-to-eclipse-project> <path-to-cubemx-project>

Misalnya pada environment komputer milik penulis sebagai berikut

  • Source project di Eclipse : D:\project\workspace-cpp\STM32LoveCubeMX
  • Source code CubeMX: D:\project\cubemx\STM32LoveCubeMX

maka script cubemximporter dapat ditulis sebagai berikut

python cubemximporter.py “D:\project\workspace-cpp\STM32LoveCubeMX” “D:\project\cubemx\STM32LoveCubeMX”

Pada Eclipse IDE import project eclipse tersebut melalui menu File > Import > Existing Project Into workspace lalu pilih direktori project eclipse tadi berada. Setelah project berhasil diimpor, perhatikan, pada System > stm32f1xx kini telah diisi source code yang berasal dari CubeMX. Untuk mencoba  melakukan build, klik kanan project tersebut melalui Project Explorer, lalu pilih Build Project

  • Ubah program Main.c

Berikut adalah code main.c

Pada bagian 1, GPIO_PIN_13 telah diatur sebagai GPIO_Output, perhatikan pada baris 184-187, konfigurasi tersebut sekarang telah diimport ke project eclipse. Untuk membuat LED internal board development STM32F103C8T6 berkedip – kedip, tambahkan sintaks berikut pada bagian superloop di fungsi main. Lalu build project

  • Unduh file Hex ke Board Mikrokontroler

Setelah file hex didapatkan, kini jalankan STLINK Utilty. Pembaca dapat mengunduhnya di tautan ini.

Pastikan juga STLINK dan Mikrokontroler target telah terhubung. Klik Connect untuk membuka koneksi antara komputer ke mikrokontroler target. Lalu Pilih File > Open (atau gunakan shortcut Ctrl+O) dan pilih lokasi file Hex berada.

Untuk mulai memprogram gunakan Target > Program & Verifiy (atau gunakan shortcut Ctrl+P). Pada jendela dialog konfirmasi download, klik Start untuk memulai proses download ke mikrokontroler target. Setelah proses download berhasil, jangan lupa untuk memutus sambungan dengan mikrokontroler dengan mengklik disconnect.

Baca juga tulisan tentang #Tutorial Mikrokontroler STM32 atau tulisan menarik lainnya di kategori Mikrokontroler  ARM 32 bit

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar anda diproses.

%d blogger menyukai ini: