Apakah mungkin menjalankan Linux di Arduino? Jika ya, langkah dan batasan apa yang perlu dipertimbangkan? Jika tidak, apa saja batasan yang mencegah hal ini?
Apakah mungkin menjalankan Linux di Arduino? Jika ya, langkah dan batasan apa yang perlu dipertimbangkan? Jika tidak, apa saja batasan yang mencegah hal ini?
Jawaban:
Linux adalah sistem operasi yang sangat kompleks, tetapi mungkin bisa muat pada Arduino. Hal yang perlu dipertimbangkan:
Singkatnya, itu akan membutuhkan banyak waktu dan usaha, dan mungkin akan terlalu lambat untuk penggunaan sehari-hari. Jika Anda benar-benar ingin Arduino Linux, periksa Yún.
Itu hanya tidak memiliki RAM yang cukup. Anda juga perlu mengajarkannya untuk mem-boot dari memori flash, yang melibatkan penulisan ulang bootloader.
Anda bisa menggunakan Arduino Yun atau PCDuino ; sementara Arduino tidak "standar", ini mendukung perisai Arduino dan menjalankan Linux.
Atau selalu ada Raspberry Pi .
Jawaban singkatnya adalah tidak.
Pada dasarnya, Anda akan membutuhkan BANYAK ram lebih banyak daripada ATmega terbesar sekalipun.
Hal ini secara teoritis mungkin untuk menambahkan hardware eksternal, dan program ATmega untuk meniru CPU lebih kuat, dan menjalankan linux itu. Namun, pada arduino biasa, itu tidak mungkin.
Akan jauh lebih realistis untuk menjalankan linux pada Arduino Due, yang pada dasarnya adalah CPU AT91SAM3X8E. Namun, Anda masih perlu menambahkan beberapa SRAM dan penyimpanan tambahan.
Ada hal-hal seperti Arduino Yun, tapi itu benar-benar modul linux yang sepenuhnya terpisah pada PCB yang sama dengan ATmega32U4, jadi saya tidak tahu apakah Anda benar-benar dapat menghitungnya sebagai arduino.
Mungkin relevan: Apa yang diperlukan untuk menjalankan linux tertanam?
Ada papan yang disebut pcDuino yang dapat menjalankan beberapa varian Linux seperti Debian, Ubuntu, Open WRT, LEDE, Raspian PIXEL (hanya untuk menyebutkan beberapa). Papan ini bukan Arduino asli, melainkan Arduino AtHeart , dan dibuat oleh LinkSprite .
Arduino memiliki beberapa papan yang mendukung menjalankan varian Linux bernama Linino :
Ini sudah berumur beberapa tahun, tetapi mungkin lebih relevan karena Arduinos mendapatkan lebih banyak RAM dan AVR ATMega 32 bit, dll. Ada masalah yang jelas terutama dalam jawaban paling populer di sini. Arduino menggunakan AVR MICROCONTROLLER, bukan MICROPROCESSOR. Ini adalah alasan utama mengapa tidak ada port linux. Mikrokontroler dirancang untuk melakukan tugas tertentu, aplikasi di mana hubungan input dan output didefinisikan dengan baik. Mikroprosesor dirancang untuk menjalankan berbagai aplikasi pada sistem operasi. Ingat, sejak awal, Linux membutuhkan unit manajemen memori dan tidak dapat berjalan pada 8088 atau 286 PC. Lalu ada μClinux, yang awalnya menargetkan keluarga Motorola DragonBall dengan prosesor 68k, untuk Palm Pilots. Itu tidak pernah berhasil. Anda mungkin lebih sukses mem-porting FreeDOS atau bahkan Minix daripada Linux, mungkin sesuatu di assembler, tetapi mengkompilasi OS pada mikrokontroler sangat tidak praktis. Mungkin itu adalah masalah akademik yang menantang,
Mungkin saja, tetapi itu akan menyusahkan karena Anda harus menulisnya dalam C. (belum lagi perangkat keras tambahan yang diperlukan seperti perisai kartu sd dan chip memori tambahan) Sesuatu seperti Ontas, sebuah kernel yang saya tulis di C untuk Arduino, akan membantu karena memiliki dukungan untuk menambah driver, dengan mengorbankan membuat fungsi loop berulang lebih lambat. (Ini bukan masalah besar seperti yang Anda pikirkan) (Ontas masih dalam pengembangan dan fitur baru ditambahkan setiap saat)
Klik di sini untuk tautan ke .ino dan file .h yang menyertainya