Belajar Pengaturcaraan Rust · Pelajaran

Pengenalan kepada Rust Terbenam

Mulakan dengan Rust Terbenam, sambil memahami rantaian alat, papan pembangunan lazim dan asas pengaturcaraan tanpa sistem pengendalian.

Pelajaran 1 daripada 311 langkah

Pengenalan kepada Rust Terbenam ialah pelajaran Belajar Pengaturcaraan Rust percuma di CoddyKit. Ini ialah pelajaran 1 daripada 3. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Belajar Pengaturcaraan Rust, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Belajar Pengaturcaraan Rust merangkumi sejumlah 3 pelajaran.

Selamat Datang ke Rust Terbenam

Selamat datang ke dunia Rust Terbenam! Pelajaran ini akan memulakan perjalanan anda dalam pengaturcaraan mikropengawal dan peranti lain yang mempunyai sumber terhad menggunakan Rust.

Kita akan meneroka sebab Rust merupakan pilihan yang hebat untuk sistem terbenam dan perkara yang menjadikan bidang ini unik berbanding pembangunan desktop atau web tradisional.

Rust Terbenam berbanding Rust Standard

Apabila memprogram sistem terbenam, anda sering bekerja tanpa sistem pengendalian. Ini bermakna anda berinteraksi secara langsung dengan perkakasan.

  • Tiada OS: Tiada Linux, Windows atau macOS.
  • Kekangan Sumber: Memori (RAM) dan storan (Flash) yang terhad.
  • Perkakasan Langsung: Anda mengawal peranti seperti GPIO, pemasa dan antara muka komunikasi secara langsung.

Rantaian Alat Rust Terbenam

Untuk bermula, anda memerlukan persediaan yang sedikit berbeza daripada Rust standard. Biasanya, anda akan menggunakan rustup untuk memasang komponen tertentu:

  • Sokongan Sasaran: Contohnya, rust-std-arm-none-eabi untuk mikropengawal ARM Cortex-M.
  • cargo-generate: Alat untuk mencipta projek baharu daripada templat, yang biasa digunakan dalam persediaan terbenam.
  • Alat Penyahpepijatan: Seperti probe-rs untuk memuat turun perisian tegar dan menyahpepijat peranti anda.

Asas Kompilasi Silang

Pembangunan terbenam sering melibatkan kompilasi silang. Ini bermakna menyusun kod anda pada satu jenis komputer, contohnya CPU x86 komputer riba anda, untuk dijalankan pada jenis komputer lain, contohnya mikropengawal ARM Cortex-M.

Rust menggunakan triplet sasaran seperti thumbv7em-none-eabihf untuk menentukan seni bina, vendor, OS (atau ketiadaannya) dan ABI peranti sasaran.

Papan Pembangunan Biasa

Anda akan menemui pelbagai mikropengawal (MCU) dalam Rust terbenam. Pilihan popular termasuk:

  • Siri STM32: Serba boleh dan digunakan secara meluas dalam industri.
  • ESP32: Dikenali kerana keupayaan Wi-Fi dan Bluetooth.
  • Siri nRF52: Sangat baik untuk aplikasi Bluetooth Tenaga Rendah (BLE).

Papan ini menyediakan perkakasan fizikal untuk menjalankan kod Rust anda.

Memahami Bare-Metal

Pemprograman bare-metal bermakna kod anda berjalan secara langsung pada perkakasan, tanpa sistem pengendalian asas yang mengurus sumber atau menyediakan pengabstrakan.

Anda bertanggungjawab terhadap segala-galanya: memulakan memori, menyediakan jam, mengkonfigurasi peranti dan mengendalikan gangguan. Pendekatan ini berada pada tahap rendah, tetapi memberikan kawalan penuh kepada anda.

Struktur Program Bare-Metal

Program Rust terbenam kelihatan berbeza daripada program standard. Berikut ialah struktur asasnya:

  • #![no_std]: Jangan pautkan pustaka standard.
  • #![no_main]: Jangan gunakan titik masuk main lalai.
  • #[cortex_m_rt::entry]: Menentukan titik masuk sebenar untuk peranti Cortex-M.

Program minimum ini boleh dikompil untuk sasaran terbenam, tetapi memerlukan pengendali panik dan peti masa jalan.

#![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!" Terbenam

Memandangkan tiada konsol untuk mencetak output, "Hello, World!" klasik bagi sistem terbenam biasanya ialah mengelipkan LED.

Tindakan mudah ini menunjukkan bahawa anda telah berjaya:

  • Mengkompil kod anda untuk sasaran tersebut.
  • Memuat naiknya ke peranti.
  • Mendapat kawalan terhadap peranti perkakasan asas, iaitu pin Input/Output Tujuan Umum.

Susun Atur Memori dan Skrip Pemaut

Dalam pemprograman bare-metal, anda perlu memahami cara kod dan data terkompil program anda disusun dalam memori mikropengawal.

Skrip pemaut (yang sering disediakan oleh pakej sokongan papan) mentakrifkan susun atur memori ini dengan menentukan lokasi bahagian berlainan program anda, seperti kod, data statik, timbunan dan susunan panggilan, dalam memori Flash (baca sahaja) dan RAM (baca-tulis) peranti.

Semakan Pantas Asas Terbenam

Mari semak pemahaman anda tentang asas Rust Terbenam.

Imbas Kembali: Memulakan Rust Terbenam

Dalam pelajaran ini, kita memperkenalkan Rust Terbenam dengan menonjolkan cabaran uniknya seperti pemprograman bare-metal dan kompilasi silang. Kita merangkumi komponen penting rantaian alat, papan pembangunan biasa dan struktur asas program no_std.

Anda juga mempelajari bahawa mengelipkan LED ialah padanan terbenam bagi "Hello, World!" serta mendapat gambaran awal tentang skrip pemaut. Anda kini bersedia untuk mendalami penulisan kod bagi dunia sebenar!

Percuma untuk bermula

Pelajari Rust dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
39
Pelajaran
144

Soalan Lazim

Adakah pelajaran “Pengenalan kepada Rust Terbenam” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Belajar Pengaturcaraan Rust, termasuk “Pengenalan kepada Rust Terbenam”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Belajar Pengaturcaraan Rust merangkumi sejumlah 3 pelajaran.

Apakah yang akan saya pelajari dalam “Pengenalan kepada Rust Terbenam”?

Mulakan dengan Rust Terbenam, sambil memahami rantaian alat, papan pembangunan lazim dan asas pengaturcaraan tanpa sistem pengendalian. Anda berlatih Belajar Pengaturcaraan Rust menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Belajar Pengaturcaraan Rust?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Belajar Pengaturcaraan Rust di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 3.

Berapa lamakah pelajaran “Pengenalan kepada Rust Terbenam” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Belajar Pengaturcaraan Rust ini?

Ya. Setiap pelajaran Belajar Pengaturcaraan Rust menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pengenalan kepada Rust Terbenam
  2. HAL dan Pemacu Peranti
  3. Konsep Pembangunan Sistem Pengendalian
← Kembali ke Belajar Pengaturcaraan Rust