Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Jumat, 28 Juli 2023

Debugging Arduino UNO R4 Minima

 


Debugging merupakan proses mengidentifikasi dan memperbaiki kesalahan dalam kode Anda. Proses mengidentifikasi kesalahan adalah keterampilan penting bagi siapa pun yang menulis kode terutama ketika berhadapan dengan mikrokontroler seperti yang ada pada Arduino Anda. Proses debugging dapat dilakukan pada level yang berbeda. Pada pembahasan kali ini, debugging yaitu istilah yang digunakan untuk menjelaskan proses pemeriksaan kode pada titik waktu yang berbeda. 

 

Sebuah analogi yang sering digunakan adalah membayangkan "memasuki" kode tersebut, mengambil kendali penuh atas waktu (clock), dan berjalan melaluinya baris per baris, memeriksa nilai variabel saat Anda berjalan, dan membaca alamat memori tertentu untuk memastikan informasi berjalan sebagaimana yang dimaksud. Hal ini sangat membantu ketika membuat proyek-proyek kompleks, tetapi bahkan bagi pemula, itu dapat membantu untuk mengetahui dasar-dasar debugging, yang pada gilirannya akan menghemat waktu dan energi ketika mencoba menemukan kesalahan kecil yang menyebabkan program Anda tidak berfungsi dengan baik.

 

Pada artikel ini mencakup langkah-langkah dasar untuk melakukan debugging pada Arduino UNO R4 Minima menggunakan pin-penjepit SWD dan sebuah debugger J-Link®. Selain perangkat keras yang diperlukan, kita juga membutuhkan beberapa perangkat lunak yang memungkinkan kita untuk menetapkan breakpoint dalam kode kita. Breakpoint adalah tempat berhenti atau jeda yang disengaja pada titik tertentu dalam kode, yang memungkinkan Anda untuk membaca nilai-nilai pada titik tersebut. Dalam kasus ini, kita akan menggunakan Ozone, yang merupakan perangkat lunak yang dikembangkan oleh Segger®. Hal ini adalah debugger grafis untuk aplikasi yang terpasang (embedded applications) dan kita bisa menggunakannya untuk menetapkan breakpoint, membaca alamat memori dan membaca nilai dari variabel apa pun pada titik tertentu dalam waktu (clock). 

 

Baca juga : Arduino UNO R4 Shield Compatibility

 

Tujuan dari artikel ini yaitu, mempelajari dasar-dasar debugging, cara menghubungkan Arduino UNO R4 Minima ke debugger J-Link Segger dan cara menggunakan perangkat lunak debugger Ozon untuk mendebug sketsa Arduino. Berikut ini kami berikan Video Unboxing dari Arduino UNO R4 Minima. Di bawah ini adalah video dari bentuk fisik dari Arduino UNO versi terbaru, yaitu Arduino UNO R4 Minima :

 

 

Hardware dan Software

 

• IDE Arduino

• Arduino R4 Minima

• Inti Arduino Renesas

• Segger J-Link

• Ozon

 

Debugging

 

Meng-debug proyek Arduino Anda memungkinkan Anda untuk menyelami kode Anda lebih dalam dan memecahkan masalah serta menganalisis eksekusi kode tersebut. J-Link adalah alat debugging populer yang menyediakan koneksi langsung antara komputer Anda dan papan Arduino. Dengan menghubungkannya, Anda dapat memperoleh akses penuh ke register internal, memori dan variabel mikrokontroler. Hal ini sangat membantu ketika bekerja pada proyek-proyek yang lebih kompleks dimana pemahaman alur eksekusi kode sangat penting. Dengan J-Link dan Ozone, Anda dapat menjalankan kode baris per baris, sehingga memungkinkan Anda menganalisis mengapa kode Anda mungkin rusak di titik tertentu.

 

Koneksi 

 

Menghubungkan J-link ke Arduino UNO R4 Minima Anda sangat mudah karena terdapat pin khusus untuk debugging yang diberi label sebagai pin SWD.

Pin SWD

J-link Anda seharusnya dilengkapi dengan kabel, dan jika Anda melihat lebih dekat, Anda akan melihat bahwa salah satu sisinya ditandai dengan warna merah, menunjukkan arah kabel tersebut. Bagian kabel yang berwarna merah harus berada di sisi yang sama dengan pin VCC pada SWD pad. Untuk mengetahui orientasi tepat dari kabel Anda, pastikan untuk memeriksa dokumentasi atau lembar data (datasheet) dari debugger Anda, tetapi Anda dapat memulai dengan orientasi seperti yang ditunjukkan di bawah ini, dan jika tidak berhasil, Anda dapat mencoba meletakkannya dengan cara yang berbeda hingga Anda mendapatkan koneksi yang berfungsi. Setelah kita mulai menggunakan perangkat lunak debugger dalam langkah-langkah berikutnya, Anda akan tahu apakah kabelnya terpasang dengan benar.

 

Baca juga : Arduino UNO R4 Minima Real Time Clock

 

Software

 

Persiapan dengan Arduino IDE

 

Pertama, jika Anda belum melakukannya, pasang Arduino IDE dan hubungkan Arduino UNO R4 Minima Anda. Ketika mengunggah sebuah sketch ke papan Arduino Anda dengan Arduino IDE, akan dibuat sebuah file .ELF dari sketch tersebut. File .ELF ini akan kita butuhkan untuk melakukan debugging di Ozone pada langkah selanjutnya. Untuk dengan mudah menemukan jalur file .ELF, kita dapat mengaktifkan opsi tampilkan keluaran verbose (detail) dalam Arduino IDE. Untuk melakukan hal ini, buka preferensi di Arduino IDE dengan membuka File > Preferences.

IDE Preferences

Ketika Anda membuka jendela preferensi, cari opsi Show verbose output during: compilation dan pastikan bahwa kotak centangnya tercentang.

 

IDE Verbose


Sekarang kita siap untuk mengunggah skrip yang ingin kita debug. Jika Anda tidak memiliki sketsa untuk diuji, Anda dapat menggunakan sketsa contoh apa pun yang ada di IDE. Ketika kita mengunggah sketsa dengan Arduino IDE, kita perlu tahu di mana file .ELF akan disimpan. Bangun proyek Anda di Arduino IDE dan sorot direktori output; seharusnya terlihat contohnya seperti berikut: [contoh direktori output].

 

C:\Users\profile\AppData\Local\Temp\arduino_build_815037

 

Catatlah jalur (path) untuk memudahkan akses pada langkah berikutnya.

 

IDE Elf


Menggunakan Pengaturan dengan Segger® Ozone

 

Unduh dan pasang debugger Ozone. Jika Anda menggunakan Windows, pastikan juga untuk mengunduh Paket Perangkat Lunak dan Dokumentasi J-Link untuk Windows. Saat memulai Ozone, pastikan untuk memasukkan CPU yang benar ke dalam kotak pengaturan. Arduino UNO R4 Minima menggunakan R7FA4M1AB.


Ozone Select Core

Lanjutkan ke langkah berikutnya. Di sini, Anda perlu mengubah Target Interface menjadi SWD. Kemudian pilih perangkat J-Link Anda dari daftar emulator dan lanjutkan ke halaman berikutnya.

Ozone Select Debugger

Sekarang Anda akan sampai pada jendela yang meminta Anda untuk memilih program yang akan didebug, di sinilah tempat Anda memuat berkas .ELF proyek dengan jalur keluaran sementara yang telah kita catat sebelumnya. Arahkan ke direktori yang tepat, dan pilih berkas .ELF.

Ozone Elf Location

Dalam dialog 'pengaturan opsional', atur kedua pilihan 'Initial PC' dan 'Initial Stack Pointer' menjadi 'Jangan atur' karena hal ini akan melewati bootloader Arduino, jika tidak, hal ini mungkin akan mencegah sketsa berjalan dengan benar.

Ozone Optional Settings

Setelah proses setup selesai, Ozone akan membuka file yang berisi fungsi utama. Anda akan melihat bahwa ini bukanlah .ino sketch yang Anda tulis karena ini adalah lapisan abstraksi yang dihasilkan oleh IDE. Untuk membuka .ino sketch kita, kita perlu pergi ke Find > Find source file di toolbar bagian atas.

Ozone Find Tab

 

Di jendela kecil yang muncul, ketik ".ino". Sekarang Anda seharusnya bisa melihat file tersebut, pilih file dan buka file tersebut di Ozone.

Ozone Find Window


Setting Breakpoints

 

Breakpoint adalah tempat berhenti atau jeda yang disengaja pada titik tertentu dalam kode. Anda dapat menambahkannya dengan mengklik sisi baris sebelah sketsa Anda, dan Anda akan melihat titik merah muncul. Sekarang Anda telah menetapkan breakpoint.

 

Breakpoint


Sekarang Anda sudah siap untuk memulai proses debugging. Cukup pergi ke Debug > Download & Reset Program untuk memulai proses debugging pada sketch Anda.

Ozone Debug Session


Anda akan melihat bagaimana kode Anda dieksekusi dan berhenti pada baris di mana Anda menetapkan breakpoint. Anda dapat menetapkan sebanyak mungkin breakpoint yang Anda inginkan, tergantung pada tempat Anda ingin menghentikan kode Anda. Untuk informasi lebih lanjut tentang fitur-fitur yang ada dalam debugger Ozone, silakan kunjungi tautan ini.

 

0 on: "Debugging Arduino UNO R4 Minima"