Compartilhar via


Implementing the OEMKitlInit Function

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

A seguinte lista mostra as tarefas sugeridas para a função OEMKitlInit.

Para implementar a função OEMKitlInit

  1. Localize o KITL NIC, geralmente por meio globals driver. O KITL NIC é normalmente o mesmo NIC usado pelo carregador de inicializar para operações baixar.

  2. Atribua função ponteiros para as funções driver EDBG NIC corretas. Se o driver EDBG necessário não for fornecido, você precisará criar seus próprios. O seguinte exemplo de código mostra como você pode atribuir função ponteiros para um driver EDBG NIC.

    pfnEDbgInit           = NE2000Init;
    pfnEDbgInitDMA        = NULL;
    pfnEDbgEnableInts     = NE2000EnableInts;
    pfnEDbgDisableInts    = NE2000DisableInts;
    pfnEDbgGetPendingInts = NE2000GetPendingInts;
    pfnEDbgGetFrame       = NE2000GetFrame;
    pfnEDbgSendFrame      = NE2000SendFrame;
    pfnEDbgReadEEPROM     = NE2000ReadEEPROM;
    pfnEDbgWriteEEPROM    = NE2000WriteEEPROM;
    pfnEDbgSetOptions     = NE2000SetOptions;
    pfnCurrentPacketFilter= Ne2000CurrentPacketFilter;
    pfnMulticastList      = NE2000MulticastList;
    
  3. Incluir a biblioteca de %_WINCEROOT%\Platform\ <Nome da plataforma de hardware≫ \Src\Kernel\Kernkitl fontes arquivo para satisfazer o vinculador se qualquer suporte driver KITL é exigido.

  4. Inicializar os buffers acesso direto à memória (DMA) para o NIC, se exigido e, em seguida, inicializar o NIC, chamado de pfnEdbgInitDMABuffer Ou pfnEdbgInit, ou ambas as, ponteiros função. A função inicialização NIC leva um endereço NIC e retorna um valor Mac para o NIC, que deve ser armazenados em globals o driver.

  5. Criar um exclusivo nome dispositivo, que será usado como um identificador pelo criador da plataforma.

    Observação

    O nome dispositivo deve ser o mesmo que aquele usado pelo carregador de inicializar.

  6. Obtenha um endereço IP um servidor DHCP usando o EbootGetDHCPAddr função ou de um endereço estático IP. Se você estiver obtendo o endereço IP de um servidor DHCP, inclua Eboot.lib no arquivo de fontes Kernel\Kernkitl.

  7. Inicializar o codificar transporte KITL Ethernet por chamado de KitlEtherInit função. Se a chamar for bem-sucedido, preencher fora a estrutura KITLTRANSPORT.

  8. Implementar as seguinte funções OEM Ethernet:

Durante a chamar para OEMKitlInit, você fornecer o seguinte informações que o kernel precisarão à funcionalidade de alto nível KITL suporte:

  • Concluir o KITLTRANSPORT estrutura que descreve quais serviços para iniciar em inicializar
  • Determinar se ele é um inicializar frio
  • Forneça o nome do dispositivo
  • Fornecer um número interrupção para interrupção com dispositivos
  • Fornecer tamanho de janela para serviços usar como padrão
  • Fornecer o tamanho do cabeçalho de quadro específicos para o transporte
  • Fornecer o tamanho de informações finais de quadro específicas para o transporte
  • Fornecer o tamanho do físico reserva para serviços usar como padrão
  • Fornecer função ponteiros para as funções Transport-specific descritos acima

Quando o kernel retorna do OEMInit, ele tenta inicializar a interrupção KITL por chamado o membro TransportEnableInt das KITLTRANSPORT estrutura. TransportEnableInt também é chamado quando um dispositivo sair de um estado suspenso.

See Also

Tasks

How to Develop an OEM Adaptation Layer
Adding KITL Initialization Code