Saya ingin membangun perangkat gateway yang akan menggunakan ESP32. Ini harus terhubung ke port ModBus TCP Sensor. Untuk tujuan ini, saya ingin menggunakan implementasi Modbus Rust, yang sudah ada. Tetapi ada sedikit informasi tentang bagaimana saya bisa menjalankan kode Rust pada ESP32.
Adakah yang bisa menjelaskan topik ini?
Jawaban:
Rust menggunakan LLVM toolchain , yang merupakan sekumpulan program yang digunakan untuk mengkompilasi representasi perantara (IR) LLVM ke dalam kode spesifik platform. Prosesnya sedikit seperti ini:
Saat ini, tidak ada backend untuk arsitektur Xtensa yang digunakan oleh ESP32. Sayangnya, ini berarti Anda tidak dapat mengkompilasi kode Rust untuk ESP32 . Anda memang mengatakan instal dalam pertanyaan Anda, tetapi saya berasumsi Anda tidak bermaksud - sebaliknya, Anda ingin menjalankan kode Rust pada ESP32, bukan menginstal kompiler Rust di sana.
Jika Anda benar-benar ingin menggunakan Rust, secara teori, Anda dapat menggunakan LLVM C Backend , yang mengubah LLVM IR -> C, kemudian gunakan toolchain yang disediakan oleh Espressif untuk dikompilasi ke kode mesin ESP32. Namun, ini akan sulit , dan mungkin bahkan tidak berhasil sama sekali. Anda akan merasa jauh lebih mudah untuk menggigit peluru dan menggunakan C dalam kasus ini, yang memalukan, karena Rust adalah bahasa yang hebat, tetapi dukungan yang disematkannya tidak sebagus C saat ini.
sumber
Xtensa baru saja merilis backend ESP32 / Espressif LLVM resmi dan dentingan front end. Lihat pengumuman mereka di sini: https://esp32.com/viewtopic.php?p=38466 Repos: https://github.com/espressif/llvm-xtensa & https://github.com/espressif/clang-xtensa As karat didasarkan pada LLVM, backend ESP32 LLVM baru ini akan membantu membuat dukungan Rust untuk ESP32 lebih mungkin. Pengumuman itu bahkan mengisyaratkan dukungan Rust yang akan datang.
sumber
Seperti kata Aurora0001, Anda tidak dapat menjalankan Rust pada ESP32 saat ini (atau ESP8266 yang lebih lama).
Ada chip yang sangat mirip, RTL8710, yang direkomendasikan untuk digunakan dalam situasi di mana Anda akan menggunakan ESP32, tetapi ingin menggunakan Rust.
Berikut adalah situs web di mana seseorang berjalan melalui pengaturan mereka.
sumber