Мені цікаво, яка послідовність завантаження Raspberry Pi знаходиться в типовому режимі (скажімо, NOOBS), від додатку живлення (або теплового скидання, якщо це відрізняється) до, скажімо, появи логотипу; або де це описано.
Окрім найбільш потрібної загальної картини цієї послідовності, мене найбільше цікавлять ранні етапи:
- Що таке вектор скидання для процесора ARM, і як / де це визначено?
- З якої пам'яті витягнуті перші інструкції процесора ARM? Де це, і яка технологія використовується для зберігання цього коду?
- Це код ARM32 або Thumb (чи, можливо, Jazelle)? Це залежить від біта низького порядку вектора скидання?
- Чи доступне джерело (або розбирання, або скидання) цього раннього завантажувального коду? Якщо ні, чи щось технічне заважає використанню порту JTAG для визначення цього? Щодо юридичного, я готовий взяти на себе ризик довіритися моєму розумінню законодавства, яке застосовується там, де я живу (Франція). Це полягає в тому, що мені дозволяється повністю аналізувати власний комп’ютер, принаймні за відсутності явного договору вимога не робити цього.
- У якому порядку ініціалізуються периферійні пристрої та яким фрагментом коду?
- Окрім процесора ARM, чи є деякі процесори / автомати, що працюють у BCM2835, і як стверджувально, як його послідовність завантаження стосується процесора ARM?
Я готовий пірнути в процесорі ARM в Технічному довідковому керівництві і BCM2835 ARM периферійних пристроїв , або будь-який інший документ.
Оновлення: Після публікації я виявив це і це , заявивши, що GPU BCM2835 виступає майстром ARM і активно бере участь у завантажувальній послідовності.
4
Все, що я можу сказати, що більшість цієї інформації є закритим вихідним кодом, як вихідний код, завантажувачі та вбудовані програми SoC. На даний момент все невідомо. Ви повинні знати одне. BCM - це графічний процесор, а не процесор. Запуск завантажувача запускається в розділі GPU, там ініціалізує оперативну пам’ять і передає процесор, де ми в першу чергу маємо доступ до вихідного коду ... aka Raspbian. Щасти. Це питання дуже широке і важко відповісти.
—
Петро Кула
Пов'язане: Що відбувається під час завантаження? . Дублікат?
—
Пітер Мортенсен