0Pricing
Learn Rust Coding · Pelajaran

Pengantar Rust Tertanam

Mulailah mempelajari Rust Tertanam dengan memahami rantai alat, papan pengembangan umum, dan dasar-dasar pemrograman bare-metal.

Pengantar Rust Tertanam adalah pelajaran Learn Rust Coding gratis di CoddyKit. Ini adalah pelajaran 1 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn Rust Coding, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn Rust Coding mencakup 3 pelajaran total.

Selamat Datang di Embedded Rust

Selamat datang di dunia Embedded Rust! Pelajaran ini akan memulai perjalanan Anda dalam memprogram mikrokontroler dan perangkat lain dengan sumber daya terbatas menggunakan Rust.

Kita akan mengeksplorasi alasan Rust merupakan pilihan yang sangat baik untuk sistem tertanam dan hal-hal yang membuat bidang ini unik dibandingkan pengembangan desktop atau web tradisional.

Embedded Rust vs. Rust Standar

Saat memprogram sistem tertanam, Anda sering bekerja tanpa sistem operasi. Artinya, Anda berinteraksi langsung dengan perangkat keras.

  • Tanpa OS: Tidak ada Linux, Windows, atau macOS.
  • Keterbatasan Sumber Daya: Memori (RAM) dan penyimpanan (Flash) terbatas.
  • Perangkat Keras Langsung: Anda mengendalikan periferal seperti GPIO, pengatur waktu, dan antarmuka komunikasi secara langsung.

Rantai Alat Embedded Rust

Untuk memulai, diperlukan penyiapan yang sedikit berbeda dari Rust standar. Biasanya Anda akan menggunakan rustup untuk memasang komponen tertentu:

  • Dukungan Target: Misalnya, rust-std-arm-none-eabi untuk mikrokontroler ARM Cortex-M.
  • cargo-generate: Alat untuk membuat proyek baru dari templat, yang umum digunakan dalam penyiapan sistem tertanam.
  • Alat Penelusuran Kesalahan: Seperti probe-rs untuk mem-flash dan menelusuri kesalahan perangkat Anda.

Dasar-Dasar Kompilasi Silang

Pengembangan sistem tertanam sering melibatkan kompilasi silang. Artinya, Anda mengompilasi kode di satu jenis komputer (misalnya, CPU x86 pada laptop Anda) agar berjalan di jenis komputer lain (misalnya, mikrokontroler ARM Cortex-M).

Rust menggunakan triple target (misalnya, thumbv7em-none-eabihf) untuk menentukan arsitektur, vendor, OS (atau ketiadaannya), dan ABI perangkat target.

Papan Pengembangan yang Umum

Anda akan menjumpai berbagai mikrokontroler (MCU) dalam Embedded Rust. Pilihan yang populer meliputi:

  • Seri STM32: Serbaguna dan banyak digunakan di industri.
  • ESP32: Dikenal karena kemampuan Wi-Fi dan Bluetooth.
  • Seri nRF52: Sangat baik untuk aplikasi Bluetooth Low Energy (BLE).

Papan-papan ini menyediakan perangkat keras fisik agar kode Rust Anda dapat berjalan.

Memahami Bare-Metal

Pemrograman bare-metal berarti kode Anda berjalan langsung pada perangkat keras, tanpa sistem operasi yang mendasarinya untuk mengelola sumber daya atau menyediakan abstraksi.

Anda bertanggung jawab atas semuanya: menginisialisasi memori, menyiapkan clock, mengonfigurasi periferal, dan menangani interupsi. Pendekatan ini berada pada tingkat rendah, tetapi memberi Anda kendali penuh.

Struktur Program Bare-Metal

Program Embedded Rust terlihat berbeda dari program standar. Berikut struktur dasarnya:

  • #![no_std]: Jangan tautkan pustaka standar.
  • #![no_main]: Jangan gunakan titik masuk main bawaan.
  • #[cortex_m_rt::entry]: Menentukan titik masuk sebenarnya untuk perangkat Cortex-M.

Program minimal ini dapat dikompilasi untuk target tertanam, tetapi memerlukan penangan panic dan crate runtime.

#![no_std]
#![no_main]

// A minimal panic handler for embedded systems
use panic_halt as _;

// The entry point for ARM Cortex-M microcontrollers
#[cortex_m_rt::entry]
fn main() -> ! {
    // This function runs once on device startup.
    // Here you would initialize your hardware peripherals.
    // For example, setting up a GPIO pin.

    loop {
        // Your main application loop runs here.
        // This loop will run forever, performing tasks.
        // Example: Toggle an LED, read sensor data.
    }
}

"Hello, World!" pada Sistem Tertanam

Karena tidak ada konsol untuk mencetak keluaran, versi klasik "Hello, World!" untuk sistem tertanam biasanya adalah mengedipkan LED.

Tindakan sederhana ini menunjukkan bahwa Anda telah berhasil:

  • Mengompilasi kode untuk target tersebut.
  • Mem-flash kode ke perangkat.
  • Mendapatkan kendali atas periferal perangkat keras dasar (pin General Purpose Input/Output).

Tata Letak Memori & Skrip Linker

Dalam pemrograman bare-metal, Anda perlu memahami bagaimana kode dan data program yang telah dikompilasi disusun dalam memori mikrokontroler.

Skrip linker (yang sering disediakan oleh paket dukungan papan) menentukan tata letak memori ini, termasuk lokasi berbagai bagian program Anda (misalnya, kode, data statis, heap, dan stack) dalam memori Flash (hanya baca) dan RAM (baca-tulis) perangkat.

Pemeriksaan Singkat Dasar-Dasar Sistem Tertanam

Mari kita periksa pemahaman Anda tentang dasar-dasar Embedded Rust.

Ringkasan: Memulai Embedded Rust

Dalam pelajaran ini, kita memperkenalkan Embedded Rust dan menyoroti tantangan uniknya seperti pemrograman bare-metal dan kompilasi silang. Kita membahas komponen penting rantai alat, papan pengembangan yang umum, dan struktur dasar program no_std.

Anda juga mempelajari bahwa mengedipkan LED adalah padanan sistem tertanam untuk "Hello, World!" serta mendapat gambaran tentang skrip linker. Kini Anda siap mendalami penulisan kode untuk dunia nyata!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pengantar Rust Tertanam” gratis?

Ya — teks lengkap “Pengantar Rust Tertanam” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn Rust Coding, upgrade ke CoddyKit PRO. Kursus Learn Rust Coding mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Pengantar Rust Tertanam”?

Mulailah mempelajari Rust Tertanam dengan memahami rantai alat, papan pengembangan umum, dan dasar-dasar pemrograman bare-metal. Kamu berlatih Learn Rust Coding dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn Rust Coding?

Tidak diperlukan pengalaman sebelumnya. Learn Rust Coding di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 3.

Berapa lama pelajaran “Pengantar Rust Tertanam” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn Rust Coding ini?

Ya. Setiap pelajaran Learn Rust Coding menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pengantar Rust Tertanam
  2. HAL dan Pengandar Perangkat
  3. Konsep Pengembangan Sistem Operasi
← Kembali ke Learn Rust Coding