Linux'u Arduino'da çalıştırmak mümkün mü? Eğer evet ise, hangi adımlar ve sınırlamalar dikkate alınmalıdır? Değilse, bunu önleyen sınırlamalar nelerdir?
Linux'u Arduino'da çalıştırmak mümkün mü? Eğer evet ise, hangi adımlar ve sınırlamalar dikkate alınmalıdır? Değilse, bunu önleyen sınırlamalar nelerdir?
Yanıtlar:
Linux çok karmaşık bir işletim sistemidir, ancak bir Arduino'ya sığabilir. Düşünülmesi gereken şeyler:
Kısacası, çok zaman ve çaba gerektirecek ve muhtemelen günlük kullanım için çok yavaş olacaktır. Eğer gerçekten Arduino Linux istiyorsanız, Yún'a bir göz atın.
Sadece yeterli RAM yok. Ayrıca, önyükleyiciyi yeniden yazmayı da içeren flash bellekten önyüklemeyi öğretmeniz gerekir.
Bunun yerine bir Arduino Yun veya bir PCDuino kullanabilirsiniz ; Arduinos "standart" olmasa da Arduino kalkanlarını destekliyor ve Linux kullanıyor.
Ya da her zaman ahududu pi vardır .
Kısa cevap hayır.
Temel olarak, en büyük ATmega'nın bile sahip olduğu LOTS'a daha fazla koç gerekir.
İse dış donanım ekleyin ve daha güçlü bir CPU taklit ATMEGA programlamak ve bu konuda linux çalıştırmak için teorik olarak mümkün. Ancak, düz bir arduinoda mümkün değildir.
Bir AT91SAM3X8E işlemci olan Arduino Due üzerinde linux çalıştırmak çok daha gerçekçi olurdu. Ancak, yine de ek SRAM ve depolama alanı eklemeniz gerekir.
Arduino Yun gibi şeyler var, ama bu ATmega32U4 ile aynı PCB'deki tamamen ayrı bir linux modülü. Bu yüzden gerçekten bir arduino olarak sayabiliyor musunuz bilmiyorum.
Muhtemel alakalı: Gömülü linux çalıştırmak için ne gerekiyor?
Debian, Ubuntu, Open WRT, LEDE, Raspian PIXEL gibi birden fazla Linux türevi çalıştırabilen pcDuino adında bir tahta var . Bu anakart yerli bir Arduino değil, Arduino AtHeart ve LinkSprite tarafından yapılmıştır .
Arduino, Linino adında bir Linux türevi çalıştırmayı destekleyen birkaç panele sahip :
Bu birkaç yaşında, ancak Arduinos daha fazla RAM ve 32 bit ATMega AVR, vb. Aldıkça belki de daha ilgili. Arduino bir AVR MICROCONTROLLER kullanıyor, bir MİKRO İŞLEMCİ değil. Bu, linux limanı bulunmamasının ana nedenidir. Mikrodenetleyiciler, girdi ve çıktı ilişkisinin iyi tanımlandığı uygulamalar olan belirli bir görevi yerine getirmek için tasarlanmıştır. Mikroişlemciler, işletim sistemlerinde çeşitli uygulamaları çalıştırmak için tasarlanmıştır. Unutma, en başından beri Linux'un bir bellek yönetim ünitesine ihtiyacı vardı ve 8088 ya da 286 PC'lerde çalışamıyordu. Daha sonra Palm Pilotlar için aslen 68k işlemcilerin Motorola DragonBall ailesini hedef alan μClinux vardı. Asla özellikle başarılı olmadı. FreeDOS'u ve hatta Minix'i Linux'tan daha fazla başarıya sahip olabilirsiniz, belki bir montörde bir işletim sistemi kurmak, ancak bir mikrodenetleyicide bir işletim sistemi oluşturmak çok pratik değildir. Belki de zor bir akademik problem,
Bu mümkün, ancak bir acı olurdu çünkü C'ye yazmak zorunda kalacaksınız (bir sd kart kalkanı ve ekstra bellek yongası (ları) gibi ihtiyaç duyulan ekstra donanımdan bahsetmediğinizden) Ontas gibi bir şey yazdım Arduino için C, boş döngü fonksiyonunun yavaşlamasının tekrarlanması pahasına sürücü ekleme desteğine sahip olduğu için yardımcı olacaktır. (Bu, düşündüğünüz kadar büyük bir anlaşma değil) (Ontaş hala geliştirilme aşamasındadır ve her zaman yeni özellikler eklenmektedir)
.İno ve beraberindeki .h dosyalarına bağlantı için buraya tıklayın