#Zephyr S32K148EVB #イーサネット #Enet_ip
net_if、イーサネット API を使用して、ループバック方式でネット パッケージを送受信できるアプリケーションを作成したいと思います。
Zephyr のドライバ API は確認できますが、サンプル アプリケーションでの使用や、ループバック方式での使用はあまり見当たりません。以下のサンプルアプリケーションのいずれかをデザインしたいと思います。私にとっての大きな問題は、パッケージを受け取ることです。
-エネット
-net_if。
もう1つのヒントは、 s32k1 SDKs / Eth_InternalLoopback_S32k148プロジェクトに似たプロジェクトを作成したいというものです。
こんにちは@keykurさん、
このユースCASEは、低レベルの API アプローチ (つまり、イーサネット ドライバを直接操作する) に最適なようです。ただし、Zephyr での ethernet_api の設計方法により、イーサネット MAC ドライバは受信したフレームを Zephyr TCP/IP スタックに直接送信します。その結果、ドライバだけでなくスタック自体と対話する必要があります。
私が調べたところによると、 パケットソケットAPI このシナリオには最も適切な解決策のようです:
https://docs.zephyrproject.org/3.7.0/samples/net/sockets/packet/README.html#packet-socket
さらに、Zephyrは トラフィック キャプチャ APIを提供しており、これを使用してイーサネット フレームを監視することもできます。
https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/net/lib/capture/capture.c
このキャプチャ API は、アプリケーション ロジックの一部としてフレームをプロセッシングするためではなく、主に監視と分析を目的としています。したがって、アクティブな送受信のCASEでは、パケット ソケット API の方が適していると考えられます。
よろしくお願いいたします。
パベル
TX コールバックを構成する方法がCANました。しかし、処方箋については何もありませんでした。SO、パケットを受信したときに Zephyr でコールバックまたは実行ポイントがどこに送られるかを知りたいです。