[Armadillo:09061] CAN通信設定について

星野 博 email@hidden
2013年 7月 24日 (水) 11:13:06 JST


星野です。

質問が多く申し訳ありません。


ソフトウェアマニュアル等を参照して、
CANの基本的な設定変更等を行なおうと思ったのですが、
いろいろと不明な箇所が発生してしまった為、
質問させて頂きます。

・使用しているソフトウェア
 Linuxカーネル:linux-2.6.26-at16
 ユーザーランド:atmark-dist-20130329


質問1.
ソフトウェアマニュアルにおいて、

「CAN2 を使用する場合、/sys/devices/platform/FlexCAN.1/以下のファイルを使用します。」

とあるのですが、そもそもこのフォルダが見つかりません。
(カーネル、ユーザーランド共に)

上記ソフトウェア以外にも何か必要なのでしょうか。
それともコンフィグ設定により展開等されるものなのでしょうか。
(念のためコンフィグ設定を確認しましたが、実践開発ガイドで記載されている
 CANを使うための設定となっていました)


質問2.
上記フォルダが見つからなかった為、
「表9.40 CAN sysfs」に記載されているファイル名にて、
全フォルダ検索、全ソースファイル検索を行なった結果、
以下のヘッダファイルに定義されているメンバーがHitしました。(一部は見つからず)
※調べた結果は添付させて頂きました。

"linux-2.6.26-at16\drivers/net/can/flexcan/flexcan.h"

サンプルソース"candump.c"内のmain関数内で、
"socket(PF_CAN, SOCK_RAW, CAN_RAW);"を実施する前に
これらのメンバー(使用条件=Aの項目)の設定を行なうはずだと思うのですが、
設定する箇所が理解できませんでした。
どのような形で設定すればよいのでしょうか。

※一部メンバーは、"linux-2.6.26-at13\drivers\net\can\flexcan\dev.c"の
 "flexcan_device_default"関数で設定していたのですが、
 この関数の内容を変えればいいのか、
 それともその他関数の引数渡し等で変えるべきなのか、
 追いきれませんでした。


質問3.
"candump.c"では、
ソケットのオープン、フレームの書き込み、読み出しを行なっていると思うのですが、
読み出し箇所がわかりませんでした。

それぞれを実施する為の処理は以下の内容と
認識しているのですが間違っているでしょうか?
(can.txtの翻訳を間違え、認識違いをしているかもしれません…)

オープン:s = socket(PF_CAN, SOCK_RAW, CAN_RAW);
書き込み:nbytes = write(s, &frame, sizeof(struct can_frame));
読み出し:nbytes = read(s, &frame, sizeof(struct can_frame));


以上です。
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: Armadillo_CAN確認資料.xls
型:         application/vnd.ms-excel
サイズ:     24576 バイト
説明:       無し
URL:        <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20130724/29105c08/attachment.xls>


armadillo メーリングリストの案内