Ahududu Pi'nin önyükleme sırasının tipik bir kurulumda ne olduğunu merak ediyorum (örneğin NOOBS), güç uygulamasından (veya farklıysa sıcak sıfırlamadan), örneğin logo görünümüne kadar; veya bunun açıklandığı yer.
Bu dizinin en çok ihtiyaç duyulan genel resminin yanı sıra, ilk aşamalarda en çok ilgileniyorum:
- ARM CPU için sıfırlama vektörü nedir ve nasıl / nerede tanımlanır?
- İlk ARM CPU talimatları hangi bellekten alınır? Bu nerede ve bu kodu depolamak için hangi teknoloji kullanılıyor?
- Bu ARM32 veya Thumb (ya da belki Jazelle) kodu mu? Bu sıfırlama vektörünün düşük sıra bitine mi bağlı?
- Bu erken önyükleme kodunun kaynağı (veya sökme veya boşaltma) mevcut mu? Değilse, bunu belirlemek için JTAG portunun kullanımını engelleyen herhangi bir teknik var mı? Yasal olarak, yaşadığım yerdeki (Fransa) yürürlükte olan yasa hakkındaki anlayışa güvenme riskini üstlenmeye hazırım; bu, kendi bilgisayarımı, en azından açık bir sözleşmenin yokluğunda tamamen analiz etmeme izin veriliyor. gereği bunu yapmamayı.
- Çevre birimler hangi sırayla ve hangi kod parçası tarafından başlatıldı?
- ARM CPU'nun yanında, BCM2835'te çalışan bazı işlemci / otomatlar var mı ve olumlu olarak, önyükleme dizisinin ARM CPU ile ilgisi nedir?
ARM CPU'nun Teknik Referans El Kitabı ve BCM2835 ARM Çevre Birimleri veya başka herhangi bir doktora dalmaya hazırım .
Güncelleme: gönderme sonra buldum bu ve bu BCM2835 GPU ARM için ustası olarak davranmaktadır ve ağır önyükleme sırasında katılır belirterek,.
4
Tüm bu bilgilerin çoğu, kaynak kodu, bootloaders ve SoC firmware gibi kapalı kaynak olduğunu söyleyebilirim. Şimdilik allot bilinmiyor. Bir şey bilmelisin. BCM bir GPU ... bir CPU değil. Önyükleyici GPU bölümünde başlar, orada RAM'i başlatır ve kaynak koduna erişebildiğimiz ilk yer olan CPU'yu teslim eder ... aka Raspbian. İyi şanslar. Bu sorunun cevabı çok geniş ve zordur.
—
Piotr Kula
İlgili: Önyükleme işlemi sırasında ne olur? . Çift?
—
Peter Mortensen