Voglio conoscere il BIOS su una scheda madre Raspberry Pi. Come si chiama il BIOS? Ha un nome specifico o si chiama semplicemente BIOS su un Raspberry Pi?
Voglio conoscere il BIOS su una scheda madre Raspberry Pi. Come si chiama il BIOS? Ha un nome specifico o si chiama semplicemente BIOS su un Raspberry Pi?
Risposte:
Il firmware è un codice proprietario di origine chiusa programmato nel processore SoC (System on a Chip), che non può essere modificato. All'accensione il firmware avvierà un bootloader sulla scheda SD. Non credo che nessun altro servizio sia fornito attraverso il firmware SoC, quindi non è in realtà un "BIOS" (Basic Input / Output System) di per sé. Dopo questo punto tutto il resto viene dalla scheda SD.
Secondo la sezione software del wiki , l'ordine di avvio è il seguente:
bootcode.bin
dalla scheda SD. Questo è il motivo per cui è impossibile avviare RaspberryPi da un supporto diverso dalla scheda SD.
@TevoD ha quasi ragione in quello che ha scritto nella sua risposta: RaspberryPi utilizza un binario del firmware a sorgente chiuso come bootloader. La versione attuale è disponibile qui . I due file che compongono il firmware sono bootcode.bin
(bootloader di 2 ° stadio) e start.elf
("firmware" GPU). Ciò che è interessante e abbastanza unico per RaspberryPi è che parte da GPU
(chip grafico) ed è qui che viene eseguito effettivamente il bootloader. GPU
quindi avvia ARM CPU
ed esegue il kernel Linux.
Dopo l'avvio di Linux GPU
, tuttavia , il codice on non viene scaricato. Invece esegue il proprio SO semplice, chiamato VCOS
( Video Core Operating System
). Il kernel Linux comunica con i suoi servizi usando speciali mailbox protocol
e usando interrupt (la GPU può produrre interrupt ARM). Puoi leggere alcune informazioni sul protocollo della cassetta postale utilizzato framebuffer
qui . La GPU è responsabile non solo delle cose grafiche, ma controlla anche gli orologi e produce audio, ad esempio. A questo proposito, il firmware GPU può essere considerato qualcosa di simile ai BIOS
normali computer PC. Puoi trovare maggiori informazioni su questa lettura dei driver del kernel Linux RaspberryPi.
Puoi anche trovare ulteriori informazioni in questa risposta.