Estou querendo aprender sobre o BIOS em uma placa-mãe Raspberry Pi. Como é chamado o BIOS? Ele tem um nome específico ou é apenas chamado de BIOS em um Raspberry Pi?
Estou querendo aprender sobre o BIOS em uma placa-mãe Raspberry Pi. Como é chamado o BIOS? Ele tem um nome específico ou é apenas chamado de BIOS em um Raspberry Pi?
Respostas:
O firmware é um código proprietário de código fechado programado no processador SoC (System on a Chip), que não pode ser modificado. Após a inicialização, o firmware iniciará um gerenciador de inicialização no cartão SD. Não acredito que outros serviços sejam fornecidos por meio do firmware SoC; portanto, não é realmente um "BIOS" (Sistema Básico de Entrada / Saída) propriamente dito. Após esse ponto, tudo o mais vem do cartão SD.
De acordo com a seção de software do wiki , a ordem de inicialização é a seguinte:
bootcode.bin
cartão SD. Esta é a razão pela qual é impossível inicializar o RaspberryPi a partir de um meio que não seja o cartão SD.
O @TevoD está quase certo no que ele escreveu em sua resposta - o RaspberryPi está usando o binário de firmware de código fechado como um gerenciador de inicialização. A versão atual pode ser encontrada aqui . Os dois arquivos que compõem o firmware são bootcode.bin
(carregador de inicialização do segundo estágio) e start.elf
("firmware" da GPU). O que é interessante e único no RaspberryPi é que ele começa a partir de GPU
(chip gráfico) e é aqui que o gerenciador de inicialização é executado. GPU
então inicia ARM CPU
e executa o kernel do Linux.
Depois que o Linux é iniciado, o código GPU
ativado não é descarregado, no entanto. Em vez disso, ele executa seu próprio sistema operacional simples, chamado VCOS
( Video Core Operating System
). O kernel do Linux se comunica com seus serviços mailbox protocol
usando interrupções especiais e usando (a GPU pode produzir interrupções no ARM). Você pode ler algumas informações sobre o protocolo de caixa de correio usado framebuffer
aqui . A GPU é responsável não apenas pelas coisas gráficas - ela também controla os relógios e produz áudio, por exemplo. Nesse sentido, o firmware da GPU pode ser considerado algo semelhante ao BIOS
dos computadores PC normais. Você pode encontrar mais informações sobre esta leitura dos drivers do kernel do RaspberryPi Linux.
Você também pode encontrar mais informações nesta resposta.