Compartilhar via


Ethernet Boot Loader Code Implementation

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Normalmente, você usa uma conexão Ethernet para executar baixar-tempo imagem arquivos para um dispositivo destino. O carregador inicializar Ethernet se comunica com o Construtor de plataforma Microsoft execução em estação de trabalho de desenvolvimento para executar baixar-tempo imagens e Configurar depuração serviços. Uma conexão Ethernet fornece transferir imagem mais rápido e melhor integração com a depuração Ethernet Windows Embedded CE Serviços.

Quando você baixar o conteúdo de uma ROM imagem em memória RAM ou memória flash memória em um dispositivo destino, Windows Embedded CE trata a região de memória na qual a imagem é carregada como ROM. Isso evita que você gravar um novo ROM cada tempo você testar uma nova imagem, mas permite que você emular o ambiente ROM-Based. O seguinte processo mostra as etapas uma Ethernet carregador inicializar conclui a baixar um executar-tempo imagem:

  1. O carregador inicializar formata e envia um transmitir depuração Ethernet pacote BOOTME.
    O formato do pacote é definido em % _WINCEROOT%\Public\Common\Oak\Inc\Ethdbg.h. Este pacote informa o construtor da plataforma de destino dispositivo disponibilidade e contém o endereço IP dispositivo destino e Nome. Construtor de Expressões plataforma usa esse informações para iniciar a baixar da executar-imagem tempo.
  2. O carregador inicializar inicia um Trivial File Transfer Protocol (TFTP) para transferir a executar-imagem tempo ao dispositivo de destino.
    Essa etapa será ignorada se você não fizer isso baixar uma imagem, de exemplo, se o dispositivo destino inicializado com um executar-imagem tempo previamente gravado memória flash memória.
  3. Quando a baixar estiver completo, a ferramenta depuração no controle envia uma depuração Ethernet pacote JUMPIMG. %_WINCEROOT%\Public\Common\Oak\Inc\Ethdbg.h define o formato do pacote.
    O pacote instrui o carregador inicializar para salto para a executar carregado-imagem tempo e contém executar-tempo imagem informações necessárias configurar a depuração Ethernet serviços. Depending on a implementação, o carregador inicializar pode transmitir esta executar-informações imagem tempo para a OAL em uma seção memória compartilhada.

Construtor de Expressões plataforma fornece Eboot.lib, uma biblioteca suporte, para ajudá-lo na desenvolvimento carregadores inicializar Ethernet. Eboot.lib é Diretório %_WINCEROOT%\Public\Common\Oak\Drivers\Ethdbg\Eboot.

A seguinte tabela mostra as rotinas plataforma-independente de hardware para Eboot.lib.

Rotinas Descrição

Rotinas de DHCP

Usado para obter um dinâmico endereço IP no tempo inicializar de um servidor DHCP

Rotinas TFTP

Usado para baixar um executar-imagem tempo para um dispositivo destino

Depuração Ethernet rotinas

Usado para ajudar na formatação a depuração Ethernet mensagens, que são usadas para se comunicar

Construtor de Expressões plataforma inclui a biblioteca BLCOMMON, que é um comum infra-estrutura que pode ser reutilizado por todos os carregadores inicializar. Para uma descrição das funções na nova infra-estrutura BLCOMMON, consulte a origem e arquivos cabeçalho no _WINCEROOT%\Public\Common\Oak\Inc\Blcommon.h %_WINCEROOT%\Public\Common\Oak\Drivers\Ethdbg\Blcommon\Blcommon.c e %, respectivamente. O seguinte processo descreve o fluxo de controle com essa infra-estrutura:

  1. Durante o processo inicializar plataforma hardware, a codificar inicialização na camada de adaptação OEM (OAL) chama o hardware independente de plataforma BootloaderMain função.
  2. BootloaderMain Inicializa a plataforma hardware, escolhe o transporte baixar e, em seguida, inicializa o transporte baixar por chamado um conjunto de funções fluxo de controle.
  3. O carregador inicializar inicia baixando a imagem para o dispositivo destino usando um conjunto de baixar e memória flash funções. Durante o processo baixar, o carregador inicializar pode implementar funções para apresentação baixar andamento.
  4. Quando a baixar estiver completo, as inicializações carregador inicializar o OS por chamado o OEMLaunch função, que vai para o ponto de entrada OS.

Para obter mais informações sobre o fluxo de controle, memória flash e baixar funções, consulte Biblioteca de códigos BLCOMMON.

A maneira mais fácil desenvolver sua codificar carregador inicializar estiver para começar com e reutilizar existente codificar exemplo incluído Windows Embedded CE. Windows Embedded CE fornece codificar carregador inicializar exemplo para cada plataforma hardware que Windows Embedded CE oferece suporte. Codificar o carregador inicializar está disponível como parte de BSP para essa plataforma hardware e é geralmente na %_WINCEROOT%\Platform*\ < Nome da plataforma de hardware >*Diretório \Src\BootLoader\Eboot. Para uma lista de todos os BSPs com suporte em Platform Builder, consulte Pacotes de suporte de placa com suporte.

Observação

Todos os carregadores inicializar exemplo desenvolvidos para Windows Embedded CE BSPs usam a porta Ethernet para download executar-tempo imagens. No entanto, você também pode usar alternativo métodos no seu carregador inicializar para download executar-tempo imagens, como o comprimento você instalar a executar-tempo imagens em um seguro maneira. No mínimo, ainda será exigido para modificar um carregador inicializar de referência para inicializar corretamente sua placa. Você deve gravar somente módulos codificar Platform-specific e CPU-specific hardware para o carregador inicializar. Esses módulos inicializar o CPU o porta serial e o adaptador Ethernet para um dispositivo destino.

Para simplificar e reutilizar tantos codificar como possíveis, a inicializar carregador geralmente usa as mesmas rotinas implementado no código-fonte kernel OAL para CPU e placa-nível inicialização, incluindo PCI, serial UARTs e controladores Ethernet.

Um porta serial depuração é um canalizar E/S usado para depuração um dispositivo driver de dispositivo ou destino. Isso é diferente de codificar porta serial normal, que é implementado no driver forma em Serial.dll.

A seguinte tabela resume os elementos carregador inicializar que você deve implementar.

Elemento carregador de inicialização Descrição

Codificar inicialização OEM

A rotina inicialização específicas de OEM que inicializa o kernel.

Ele vai para o ponto de entrada principal implementado em %_WINCEROOT%\Platform\< Nome da plataforma de hardware&Gt; \Src\BootLoader\Eboot\Main.c.

Codificar inicialização do kernel

Uma versão mínima de codificar a inicialização normal kernel para o carregador inicializar usado principalmente para inicializar a armazenar em cache.

Codificar inicialização plataforma hardware OEM

Codificar o OEM-specific que pode incluir funcionalidade such as exibindo um tela inicial ou verificação alterna para permitir alternativo entrada para codificar de diagnóstico ou para o monitor de firmware.

Um tela inicial é uma Tela inicial que é exibida por interativo software, que geralmente contém um logotipo, informações versão, créditos autor ou um aviso de copyright.

A seguinte tabela resume os elementos carregador inicializar que você deve implementar se você desejar para baixar o executar-imagem tempo.

Elemento carregador de inicialização Descrição

Codificar baixar Imagem

O código que baixa um executar-imagem tempo usando o transporte baixar.

Codificar Ethernet I/O

O código que baixa um executar-imagem tempo usando uma conexão Ethernet.

Depuração serial codificar E/S

Rotinas que ler e dados de gravação para o porta serial depuração.

Para simplificar desenvolvimento do suporte a porta serial depuração codificar E/S, use um padrão assíncrono universal (UART) Transmissor Receptor no dispositivo de destino. O padrão UART deve ser 16550-compatível.

O carregador inicializar usa as mesmas rotinas porta serial depuração implementadas na OAL.

Para obter mais informações, consulte Ativar a porta serial de depuração.

Flash codificar de gravação (opcional)

Rotinas que gravam dados para memória flash memória.

Este codificar é necessária para o carregador inicializar para suporte o download e piscando a imagem em armazenamento voláteis para uso posterior.

Monitor de firmware (opcional)

Rotinas que fornecem depuração suporte, such as Despejando memória conteúdo ou como desmontar codificar.

Depois que o carregador inicializar está funcionando corretamente, você pode executar depuração básico enviando comandos monitor firmware para a depuração serial porta monitor.

See Also

Concepts

Ethernet Boot Loader