Casa > C > Como Funciona O Processo De Inicialização Do Android?

Como funciona o processo de inicialização do Android?

o processo de boot do Android a partir de power on

main-qimg-4d8e6a5b49838885b8401d6ddd10c92b.webp

Os sistemas embarcados e plataformas móveis têm algumas diferenças em relação aos sistemas Desktop em como eles iniciam e inicializam este post irá discutir as fases iniciais de boot de um telefone Android com algum detalhe. Como usamos o Beagle Board como referência em alguns exemplos anteriores, quaisquer especificações aqui estão relacionadas a um sistema similar.

1. Ligar e iniciar a execução do código da ROM

Na energia da CPU estará em um estado onde nenhuma inicialização foi feita. Os relógios internos não são configurados e a única memória disponível é a RAM interna. Quando as fontes de alimentação estiverem estáveis, a execução começará com o código de inicialização da ROM. Este é um pequeno pedaço de código que está ligado por cabo no ASIC da CPU. Para mais informações sobre a ROM de inicialização e configurações, estude o capítulo de inicialização em
o Omap 3530 TRM.

  • A. O código da ROM de inicialização irá detectar a mídia de inicialização usando um registro de sistema que mapeia para algumas bolas físicas no asic. Isto é para determinar onde encontrar o primeiro estágio do carregador de inicialização.
  • B. Uma vez estabelecida a sequência da mídia de inicialização, a ROM de inicialização tentará carregar o primeiro estágio do gestor de início para a RAM interna. Uma vez que o gestor de arranque esteja no lugar, o código da ROM de arranque irá executar um salto e a execução continua no gestor de arranque.
  • **2. O gestor de arranque
    O gestor de arranque é um programa especial separado do kernel Linux que é utilizado para configurar as memórias iniciais e carregar o kernel para a RAM. Em sistemas desktop os gestores de arranque são programas como o GRUB e no Linux embarcado o uBoot é frequentemente o gestor de arranque de eleição. Os fabricantes de dispositivos frequentemente usam seus próprios carregadores de inicialização proprietários. Os requisitos de um gestor de arranque para Linux a correr num sistema ARM podem ser encontrados no documento de arranque em /Documentation/arm na árvore de fontes do kernel.
main-qimg-537833427827a96912b1b2561fc4009f.webp
  • A. O primeiro estágio do carregador de inicialização irá detectar e configurar a RAM.
  • B externa. Quando a RAM externa estiver disponível e o sistema estiver pronto para rodar algo mais significativo, o primeiro estágio irá carregar o carregador de inicialização principal e colocá-lo na RAM externa.
  • li>C. O segundo estágio do gestor de início é o primeiro grande programa que irá rodar. Este pode conter código para configurar sistemas de ficheiros, memória adicional, suporte de rede e outras coisas. Em um telefone celular ele também pode ser responsável por carregar o código para a CPU do modem e configurar as proteções de memória de baixo nível e opções de segurança.
  • D. Uma vez que o gestor de arranque esteja pronto com qualquer tarefa especial, ele irá procurar um kernel Linux para arrancar. Ele irá carregá-lo a partir da mídia de inicialização (ou alguma outra fonte, dependendo da configuração do sistema) e colocá-lo na RAM. Ele também irá colocar alguns parâmetros de inicialização na memória para o kernel ler quando ele for iniciado.
  • E. Uma vez que o gestor de arranque esteja feito, irá executar um salto para o kernel Linux, normalmente alguma rotina de descompressão, e o kernel assume a responsabilidade do sistema.

De Sherris Warburg

Existe alguma forma de enraizar o andróide sem usar ferramentas de terceiros? :: Qual é a melhor carteira Bitcoin e (geral) de moeda criptográfica para o meu telefone?