Core OS Best Practices

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Este tópico descreve as práticas recomendadas para trabalhar com os microprocessadores ARMv4 e ARMv5.

ARMv4 e ARMv5 práticas recomendadas

Processadores ARM com versão 4 ou versão 5 arquitetura ter índice praticamente ou praticamente marcados caches. Portanto, colisões de linha armazenar em cache ou serrilhado problemas podem ocorrer. Para evitar esses problemas o kernel uncaches todas as páginas que podem causar esse problema. Ele também usa cópia-na/cópia-out para todos os parâmetros ponteiro nas chamadas sistema modo de usuário e todas as chamadas para CeAllocAsyncBuffer.

Para obter mais informações sobre CEAllocAsyncBuffer, consulte AsynchronousBuffer_t.

A seguinte lista mostra as práticas recomendadas para trabalhar com microprocessadores ARMv4 e ARMv5:

  • Evite serrilhado.
    • Evite chamado CeMapCallerPtr diretamente, a menos que seja inevitável.
    • Use auxiliar empacotar APIs para permitir que o sistema operacional para determinar o apontar equilibrar entre serrilhado e Copy-in/copy-Out.
    • Uso CeFlushAsyncBuffer Para liberado assíncrono buffers para o chamador se você precisar o chamador para ver a alteração imediatamente. Para obter mais informações sobre CeFlushAsyncBuffer, consulte AsynchronousBuffer_t.
  • Não crie aliases com VirtualCopy.
    • Chamar VirtualCopy Somente com o fdwProtect parâmetro definido como PAGE_PHYSICAL.
  • Evite sobrepor modos de exibição para o mesmo arquivo mapa (n.); mapear (v.).
    • Acessar causar sobreposto modos de exibição para o arquivo mapa (n.); mapear (v.) ser uncached.

For Windows Mobile:

As funções somente que controlar os aliases são CeMapCallerPtr e as funções auxiliar empacotar.

For Windows Embedded CE:

As funções somente que controlar os aliases são CeMapCallerPtr, as funções auxiliar empacotar e a função VirtualAllocCopyEx. Para obter mais informações sobre as funções auxiliar empacotar, consulte Kernel Buffer Marshaling Reference.

ARMv6 e ARMv7 práticas recomendadas

Não use modo rápida interrupção em microprocessadores ARMv6 e ARMv7. Para obter detalhes, consulte Fast Interrupt Mode on ARMv6 and ARMv7 Microprocessors Not Supported.

See Also

Other Resources

Core OS Services
Kernel Migration