[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 メーリングリストの案内