In Kürze werde ich an einer Ethernet-Implementierung für eine Bare-Metal-Funktion (ohne Betriebssystem) auf einem ARM-basierten Prozessor arbeiten. Ich bin mit dem Ethernet-Treibermodell im Buch Linux Device Drivers einigermaßen vertraut, frage mich jedoch, ob es eine Referenz für die Implementierung eines Ethernet-Treibers für einen SoC-Lauf mit einem benutzerdefinierten Software-Stack gibt.
Gibt es Referenzimplementierungen für ARM-Architekturprozessoren oder Anleitungen zur Implementierung eines Ethernet-Treibers auf einem ARM-Prozessor?
networking
arm
drivers
ethernet
Netskink
quelle
quelle
Antworten:
Es ist ein bisschen schwer zu sagen, wonach Sie suchen, wenn Sie nach Bare Metal fragen, insbesondere wenn Sie die Architektur nicht spezifizieren ...
Suchen Sie für eine eingebettete Anwendung unter Verwendung eines leichtgewichtigen Betriebssystems (je nachdem, was Sie als Betriebssystem betrachten) in der mbed- Quelle nach einem Gerät, das dem Gerät ähnelt, an dem Sie interessiert sind (unter der Annahme eines ARM Cortex-M-Mikrocontrollers).
Die neueste Dokumentation zu mbed Network Sockets finden Sie hier, obwohl darin nicht die gerätespezifischen HAL-Implementierungen beschrieben werden (diese werden wahrscheinlich von den Geräteherstellern beigesteuert).
Dies kann nahe genug sein, um Metall direkt zu verwenden. Andernfalls wird der Gerätehersteller mit ziemlicher Sicherheit eine Beispielimplementierung auf niedriger Ebene in seinem eigenen Rahmen bereitstellen.
quelle
Wenn Sie sich sicher sind, ARM zu verwenden, können Sie sich die Ethernet-Treiber von Keil für ARM ansehen . Es ist sehr vielversprechend.
Wie Sie sehen, gibt es Beispiele für Ethernet-Treiber für verschiedene Evaluierungskarten mit unterschiedlichen Chips verschiedener Hersteller. Wie Atmel, NXP oder ST Microelectonics.
quelle