Advertisement

Tutorial STM32F4: Memulai Memprogram Nucleo-F446RE dengan STM32CubeIDE

0 39

Setelah sebelumnya dikenalkan dengan development board Nucleo-F446RE kini saatnya, embeddednesia mengulas lebih lanjut dengan menujukkan bagaimana memulai memprogram Mikrokontroler STM32F446RE yang ada pada development board Nucleo-F446RE menggunakan STM32CubeIDE.

  • Prasyarat Perangkat Lunak
  • STM32CubeIDE

Bagi pembaca yang belum menginstal STM32CubeIDE silahkan terlebih dahulu mengunduh dan install STM32CubeIDE dengan membaca terlebih dahulu artikel sebelumnya. Selain itu, pengguna juga diasumsikan telah menginstal driver ST-LINK/2.1. Jika belum, silahkan unduh dan instal terlebih dahulu di tautan ini.

  • STM32CubeF4

STM32CubeF4 adalah paket firmware dan library untuk mikrokontroler seri STM32F4 beberapa diantaranya adalah, HAL, API Low Layer dan CMSIS, USB, TCP/IP, FIle System, RTOS, grafis termasuk contoh – contoh program untuk Board keluaran ST, seperti Nucleo dan Discovery.

Sebenarnya STM32CubeF4 akan diunduh secara otomatis oleh STM32CubeIDE saat proses pembuatan project.  Namun karena file yang cukup besar (berkisar 600MB ke atas),  maka  sebaiknya proses pengunduhan dilakukan secara terpisah, yaitu sebelum membuat project baru pada STM32CubeIDE.

STM32CubeF4 dapat diunduh melalui situs resmi ST di tautan ini. Saat tulisan ini dibuat versi terakhir adalah 1.24.0 pastikan juga telah mengunduh patch file (jika ada) sebagaimana yang tersedia pada situs resmi STMicroelectronics sebagaimana contoh di dalam gambar (unduh kedua versi: V1.24.0 dan V.24.1). Pastikan telah terdaftar dan login di situs ST sebelum mengunduh paket library tersebut.

Gambar 1

Setelah selesei mengunduh, ikuti perintah sebagaimana pernah dibahas pada instruksi yang dibahas di artikel berjudul Tips STM32CubeIDE: Mengunduh Library STM32CubeFx Secara Manual

Adverstiment

 

  • Membuat Project Baru

Jalankan STM32CubeIDE yang telah terinstal, kemudian buat project baru melalui menu File > New > STM32 Project. Jendela Target Selection sebagaimana gambar 2, akan terbuka, pilih tab Board Selector, ketikkan Nucleo-F446RE pada field pencarian Part Number Search (Nomer 1 ). Kemudian klik pada tabel hasil pencarian (nomer 2). Setelah itu Klik button Next ( Nomer 3)

Berikutnya, jendela  Project Setup terbuka, isi Project Name dengan nama project yang dibuat, misalnya blinky_nucleo-f466re lalu biarkan semua field yang lain dalam kondisi default. Klik button Next

Pada jendela berikutnya STM32CubeIDE akan menunjukan informasi Firmware Library Package Setup yang merupakan STM32CubeF4 yang sudah diunduh dan diekstrak sebagaimana pada langkah sebelumnya  Perhatikan versi dan repository yang diinformasikan pada jendela dialog ini sama dengan yang telah dilakukan pada langkah sebelumnya.

Klik Finish jika semua sudah beres. Kemudian  STM32CubeIDE akan menanyakan Initialize All Peripheral with their default Mode? Pertanyaan ini muncul karena tadi programmer telah mengatur menggunakan Development Board Nucleo-F446RE.

Masing – masing development board branded dari ST sudah memiliki konfigurasi default yang terdaftar di repositori ST, sehingga programmer tidak perlu lagi melakukan pengaturan dan inisialisasi periferal di tiap mikrokontroler dari awal. Klik saja Button YES.

STM32CubeIDE akan mulai mengenerate project berdasarkan pengaturan tersebut, sembari membuka prespective baru bernama Device Configuration Tool Prespective.

Adverstiment

Kini pada Project Explorer telah terbentuk code sebagaimana pengaturan pada konfigurasi di Device Configuration Tool. Sebagaimana dipetakan pada gambar

Kotak merah Nomer 1 adalah source code hasil generate STM32CubeIDE, sedangkan nomer 2 merupakan panel tempat programmer  melakukan konfigurasi dan inisialisasi (sebagaimana yang dimiliki pada STM32CubeMX). Setelah selesei melakukan konfigurasi, programmer dapat mengklik shortcut icon di nomer 3 untuk mengenarate ulang source code berdasarkan konfigurasi yang telah diatur.

Namun dalam artikel kali ini, tidak ada yang perlu dilakukan perubahan, cukup dengan pengaturan default, sehingga panel nomer 2 bisa di-close. Programmer bisa beranjak ke source code di nomer 1 pada file bernama src/main.c

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */
  

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART2_UART_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
    HAL_Delay(1000);
  }
  /* USER CODE END 3 */
}

Program tersebut secara garis besar membuat LED User yang berlokasi pada PA5 berkedip – kedip. Untuk itu programmer perlu menyisipkan dua baris code di  baris 105-106. Keduanya menggunakan fungsi HAL pada STM32CubeF4 yaitu fungsi HAL_GPIO_TogglePin yang merupakan perintah untuk membalik nilai (toggle)  dari nilai semula, sedangkan fungsi HAL_Delay akan memberikan jeda dalam satuan milisekon.

- Advertisement -

  • Build Project

Sebelum melakukan proses build/compile project, pastikan  pengaturan berikut telah dilakukan agar hex file dari source code ikut terbentuk.

  • Masuk ke  properties  project, melalui klik kanan pada direktori Project lalu pilih Properties.
  • Pada C/C++ Build > Settings pilih tab Tool Settings. Kemudian pada pengaturan  MCU Post Build outputs centang pilihan Convert to binary file (-O ibinary) dan Convert to Intel Hex file (-O ihex)

 

Untuk memulai proses build, programmer cukup mengklik icon Hammer pada Command Bar STM32CubeIDE, atau dapat juga dengan klik kanan pada direktori project lalu pilih Build Targets > Build

  • Flashing/Download

Jika proses build berjalan lancar tanpa error, programmer akan menemukan file hex dan bin subdirektori Debug atau Release. Berikutnya programmer dapat mendowload binary tersebut ke dalam Mikrokontroler  STM32F446RE menggunakan ST-LINK Utilty

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogger menyukai ini: