Em breve, trabalharei na implementação de Ethernet para um recurso bare metal (sem SO) em um processador baseado em ARM. Estou um pouco familiarizado com o modelo de driver Ethernet no livro Linux Device Drivers, mas estou me perguntando se há uma referência para implementar um driver Ethernet para um SoC executado com uma pilha de software personalizada.
Existem implementações de referência para os processadores de arquitetura ARM ou alguma orientação sobre como implementar um driver Ethernet em um processador ARM?
networking
arm
drivers
ethernet
netskink
fonte
fonte
Respostas:
É um pouco difícil dizer o que você procura quando solicita bare metal, principalmente quando você não especifica a arquitetura ...
Para um aplicativo incorporado, usando um sistema operacional leve (dependendo do que você considera um sistema operacional), procure na fonte mbed um dispositivo semelhante ao que você está interessado (assumindo um microcontrolador ARM Cortex-M).
A documentação mais recente dos sockets de rede mbed está aqui, embora isso não descreva as implementações HAL que são específicas para os dispositivos (elas provavelmente são contribuídas pelos fabricantes dos dispositivos).
Isso pode estar próximo o suficiente para que o bare metal seja usado diretamente. Caso contrário, o fornecedor do dispositivo quase certamente fornecerá um exemplo de implementação de baixo nível dentro de sua própria estrutura.
fonte
Se você tem certeza sobre o uso do ARM, pode dar uma olhada nos Drivers Ethernet para ARM do Keil . É bastante promissor.
Como você pode ver, existem exemplos de drivers Ethernet para várias placas de avaliação que possuem chips diferentes de diferentes fabricantes. Como Atmel, NXP ou ST Microelectonics.
fonte