Üzerinde OS olmadan Ahududu PI?


9

Son zamanlarda Arduino ile çok şey yaptım. İşletim sistemlerine veya sürücülere gerek kalmadan doğrudan C ++ kodunu çalıştırabileceğiniz için çok basittir.

Biraz araştırma ve AFAIK yaptım, genellikle Raspberry PI'ye Linux yüklüyorsunuz ve üzerinde python komut dosyaları veya C ++ ikili dosyaları oluşturuyorsunuz.

Soru: Herhangi bir işletim sistemi olmadan üzerinde kod çalıştırmak, ancak yine de HDMI ve SD kartları kullanabilmek mümkün mü?


2
Daha küçük ve daha az yetenekli, ancak daha tamamen belgelenmiş bir ARM işlemcide çıplak metal projeleri yapmayı daha kolay bulabilirsiniz. Ucuz dev kartlarda kötü uygulanmış, tescilli hata ayıklama adaptörlerine dikkat etmenize rağmen - bazen bunlar tersine mühendislik uygulanmış açık sürücüler alır veya gerçek bir jtag satın alabilir veya bir seri önyükleyici kullanabilirsiniz. En azından pi ile iyi bir takım zinciri desteği beklemelisiniz.
Chris Stratton

Yanıtlar:


16

RaPi'de işletim sistemi olmadan kod çalıştırın: Sorun değil. David Welch homurdanma işini yaptı, gitubunu kontrol et . Temel olarak, standart başlangıç ​​dosyalarını alabilir ve kernel.img dosyasını çalıştırmak istediğiniz dosyayla değiştirebilirsiniz. 'SD kart dansı'ndan kaçınmak için, çalıştırılacak görüntüyü seri bir hat üzerinden alan bir bootloader çalıştırabilirsiniz. Otomatik bir yeniden başlatma ekledim, böylece yeni bir 'hands-off' resmi çalıştırabilirsiniz. Bu rotaya gitmek istiyorsanız, biraz daha bilgim var.

Kendi çıplak metal uygulamanızı çalıştırın ve ekranı ve SD kartı kullanın : Bu bir sorun. Tüm bilgiler Linux kaynaklarında derinlemesine mevcuttur ve bu konuda çalışan kişiler vardır ( DexO'ları kontrol edin ?), Bu yüzden yarım yıl içinde bu bilgilerin ortak bilgi olacağını varsayıyorum. Ama şimdilik bunun muhtemelen çok fazla iş olduğunu söyleyebilirim.


CPU'nun SD kart ve dosya sistemi için uygun sürücüler olmadan çekirdeği SD karttan nasıl yükleyebileceğini merak ediyorum?
bytecode77

1
İhtiyacınız olan temel dosyalar (ve RaPi sitesinden tek başına veya bir Linux dağıtımının parçası olarak indirilebilir) GPU için bir başlangıç ​​dosyası içerir. Muhtemelen GPU, SD'yi okumasına, kodunu yüklemesine, kernel.img'i yüklemesine ve ARM CPU'yu etkinleştirmesine izin veren yerleşik bir bootROM'a sahiptir.
Wouter van Ooijen

@DevilsChild - birçok CPU'nun yerleşik temel bootloader'ları var, birlikte çalıştığım TI Davinci bölümünde seri veya SD kart üzerinde çalışabilen bir "ROM bootloader" var. SD kartlar temel bir SPI arayüzü kullanır.
John U

5

Her zaman mümkündür, ancak HDMI ve SD arayüzü için kendi sürücülerinizi ve ikincisi için de bir dosya sistemini yazmanız gerekir.


1
Aslında ilk önce başlayan ve daha sonra CPU'yu başlatmak için bazı Broadcom'un ikili bloblarını yüklemesi gereken GPU olduğundan son derece karmaşık olurdu. Ayrıca, doğru hatırlarsam, GPU sürücüleri ve bellenimi de kapalı kaynaktır.
AndrejaKo

Çalışması için dahil edilebilecek sürücüler var mı? Herhangi bir fikir?
bytecode77

@Devils Child Ne kadar kolay olacağından ya da her şeyin nasıl belgelendiğinden emin değilim. Kendi OS görüntünüzü yüklemek ve CPU'yu başlatmak için mevcut önyükleyiciyi kullanabileceğinizi düşünüyorum, ancak Stevenvh'ın cevapta yazdığı sorun şöyledir: Sürücüler yazmanız gerekecek ve belgelerin çoğu t kullanılabilir.
AndrejaKo

@DevilsChild - mevcut sürücüler büyük olasılıkla belirli bir işletim sistemi için yazılır ve bunları kendi yazılımınıza entegre etmek istiyorsanız, bazı işlevlerine ihtiyaç duyacaktır. Sonunda işletim sisteminin (sınırlı) bir kopyasını yazacaksınız. Ayrıca, AndrejaKo çok zor olacağını ve kapalı kaynak bellenimin işleri kolaylaştırdığını söylüyor. Neden bir işletim sistemi istemiyorsun?
stevenvh

1
Tek kartlı bir bilgisayar ve bir VM arasındaki önemli farkı, kartı VM'yi barındıran makinenin fiziksel konumundan başka bir yere yerleştirebilmeniz; ayrıca daha iyi gerçek dünya I / O'ya sahip olma eğilimindedir. Ancak VM'lerin ve daha uzmanlaşmış emülatörlerin veya simülatörlerin, yazılım ekibinin donanım olmadan önce çalışmaya başlamasına izin vermek veya işlevsel olması için elden işlenen tek prototip panosu üzerinde savaşmaktan kaçınmak veya çalışmak gibi önemli bir rolü vardır. fiziksel cihaz koleksiyonunu bağlamadan regresyon testleri ...
Chris Stratton

3

Hepsinin söyledikleri , ancak en kolay yol, istediğinizi yapan ve olabildiğince minimalist bir Linux dağıtımı çalıştırmak ve sonra istemediğiniz her şeyi çıkarmaktır.

Oldukça yakında Linux olmayı bırakacak ve SD ve HDMI desteğiyle bir önyükleyici olacak. Bu aslında her açıdan istediğin şeyden ayırt edilemez
- bir Linux dağıtımından çıkarıldı (ancak artık Linux değil) ve
- kendin yapmadın.

Tamamen kendiniz yapmak çok önemli değilse, bu çok mantıklı bir yaklaşım gibi görünüyor.



0

"Raspberry Pi as Arduino" programlamak istiyorsanız, wiringPi'yi kontrol edin. Http://www.jating.in/efyarticle/EFYArticle.pdf adresindeki makaleme göz atın .

1) USB'den seriye dönüştürme yapmak ve panoya güç sağlamak için tek bir kablo kullanarak Arduino gibi görünmesini ve çalışmasını sağladım. bu yüzden arduino gibi sadece bir usb kablosu yeterlidir.

2) Çalıştığında, kablo hattını seri hat üzerinden (aslında herhangi bir metin dosyası :-)) yükleyecek, derleyecek ve çalıştıracak küçük bir yardımcı program yaptım.,

İsterseniz .bashrc dosyasını değiştirerek her önyüklemede çalıştırabilirsiniz, böylece her önyükleme yapıldığında yeni dosya bekler. Yardımcı program kodunun herhangi bir bağlantısını vermedim, ancak http://www.jating.in/efyarticle/ adresinde bulabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.