Estou imaginando qual é a sequência de inicialização do Raspberry Pi em uma configuração típica (digamos NOOBS), desde o aplicativo de energia (ou reinicialização a quente, se for diferente) até a aparição do logotipo; ou onde isso é descrito.
Ao lado de uma imagem geral mais necessária dessa sequência, estou mais interessado nos estágios iniciais:
- Qual é o vetor de redefinição para a CPU do ARM e como / onde isso é definido?
- De que memória são obtidas as primeiras instruções da CPU do ARM? Onde está isso e qual tecnologia é usada para armazenar esse código?
- Esse é o código ARM32 ou Thumb (ou talvez Jazelle)? Isso depende do bit de ordem baixa do vetor de redefinição?
- A fonte (ou desmontagem ou despejo) desse código de inicialização inicial está disponível? Caso contrário, há algo técnico impedindo o uso da porta JTAG para determinar isso? Quanto ao legal, estou pronto para assumir o risco de confiar no meu entendimento da lei aplicável onde moro (França), que é o fato de que tenho plena permissão para analisar meu próprio computador, pelo menos na ausência de um contrato explícito explícito. requisito para não fazê-lo.
- Em que ordem os periféricos são inicializados e por qual parte do código?
- Ao lado da CPU ARM, há algum processador / autômato em execução no BCM2835 e afirmativamente como sua sequência de inicialização se relaciona com a CPU ARM?
Estou pronto para mergulhar no Manual de Referência Técnica da CPU do ARM e nos Periféricos do BRAÇO BCM2835 ou em qualquer outro documento.
Update: Depois de postar, eu encontrei este e este , afirmando GPU da BCM2835 está agindo como um mestre para o ARM, e está fortemente envolvido na seqüência de inicialização.
4
Tudo o que posso dizer é que a maioria dessas informações é de código fechado, como o código-fonte, os gerenciadores de inicialização e o firmware SoC. Por enquanto, allot é desconhecido. Você deveria saber uma coisa. O BCM é uma GPU ... não uma CPU. O gerenciador de inicialização inicia na seção GPU, inicializa a RAM lá e passa para a CPU, onde é o primeiro lugar em que temos acesso ao código fonte ... aka Raspbian. Boa sorte. Esta questão é muito ampla e difícil de responder.
—
Piotr Kula
Relacionado: O que acontece durante o processo de inicialização? . Duplicado?
—
Peter Mortensen