4

SocketCAN 用に少し変更した CAN プロトコルを作成しようとしています。SocketCAN のドキュメントには、これに関する短いセクションがあります。

5.3 writing own CAN protocol modules

To implement a new protocol in the protocol family PF_CAN a new
protocol has to be defined in include/linux/can.h .
The prototypes and definitions to use the SocketCAN core can be
accessed by including include/linux/can/core.h .
In addition to functions that register the CAN protocol and the
CAN device notifier chain there are functions to subscribe CAN
frames received by CAN interfaces and to send CAN frames:

can_rx_register   - subscribe CAN frames from a specific interface
can_rx_unregister - unsubscribe CAN frames from a specific interface
can_send          - transmit a CAN frame (optional with local loopback)

For details see the kerneldoc documentation in net/can/af_can.c or
the source code of net/can/raw.c or net/can/bcm.c .

( https://www.kernel.org/doc/Documentation/networking/can.txt )

問題は、ここで参照されているファイルの一部が見つからないことです。私は Linux カーネルにあまり詳しくないので、探している場所が間違っているかどうかわかりません。include/linux/can.hディレクトリは見つかりますinclude/linux/can/が、そこにファイルはありませんcore.h。さらに、net/参照されているディレクトリが見つかりません。

他の情報:

  • 生の CAN フレームを送受信できるので、SocketCAN が正しくセットアップされていると思います

  • ディレクトリの内容 (あるcore.hべき場所):

     beaglebone:~# ls /usr/include/linux/can/
     bcm.h  error.h  gw.h  netlink.h  raw.h
    
  • BeagleBone Black で Debian を使用しています (システムの組み込みが違いを生むかどうかはわかりません)

誰かがこれらのファイルを探すべき場所を教えてくれるなら、私は非常に義務があります.

どうもありがとう!

4

1 に答える 1