0

ここからドライバーを入手しました:Codeaurora

2.6.32カーネルで簡単にドライバーを作成できましたが、他の問題のために、バックポートスクイーズからカーネルを3.2にアップグレードする必要がありました。

今、私はすべてが機能するようになりました。ただ私はそれらのドライバーをもう構築することができません。

私は誰かから.cファイルに追加するためのヒントを見つけました:

#include <linux/module.h>

しかし、それは私にはうまくいきませんでした。(私はここでそれを読みました:https ://www.codeaurora.org/forums/viewtopic.php?f = 15&t = 141 )

これは私が作った後に得るものです:

rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module.* modules.order
make -C /lib/modules/3.2.0-0.bpo.3-amd64/build SUBDIRS=/home/user/Desktop/gobi/GobiSerial modules
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-0.bpo.3-amd64'
  CC [M]  /home/user/Desktop/gobi/GobiSerial/GobiSerial.o
/home/user/Desktop/gobi/GobiSerial/GobiSerial.c: In function ‘GobiOpen’:
/home/user/Desktop/gobi/GobiSerial/GobiSerial.c:409: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’
/home/user/Desktop/gobi/GobiSerial/GobiSerial.c: In function ‘GobiClose’:
/home/user/Desktop/gobi/GobiSerial/GobiSerial.c:485: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/user/Desktop/gobi/GobiSerial/GobiSerial.mod.o
  LD [M]  /home/user/Desktop/gobi/GobiSerial/GobiSerial.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-0.bpo.3-amd64'

手がかりのplsがある場合。

4

2 に答える 2

0
/home/user/Desktop/gobi/GobiSerial/GobiSerial.c: In function ‘GobiOpen’:
/home/user/Desktop/gobi/GobiSerial/GobiSerial.c:409: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’
/home/user/Desktop/gobi/GobiSerial/GobiSerial.c: In function ‘GobiClose’:
/home/user/Desktop/gobi/GobiSerial/GobiSerial.c:485: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’

このエラーは、printkに正しいフォーマット文字列がないことが原因で発生します。フォーマット文字列の適切な場所で%luを使用します。

これは2.6でもおそらく壊れていましたが、3.xカーネルのコンパイラの設定がより厳密であるため、エラーではなく警告として通過した可能性があります。

于 2012-12-25T02:34:26.023 に答える
0

コンパイラの出力を考えると、ビルドがどこで失敗したのかまったくわかりません。

  LD [M]  /home/user/Desktop/gobi/GobiSerial/GobiSerial.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-0.bpo.3-amd64'

これは私に成功したようです。あなたがファイルを持っているかどうかを確認し、持っている場合は/home/user/Desktop/gobi/GobiSerial/GobiSerial.ko、volia、それは機能しました。

このドライバーを作成しなかったことが明らかであり、ビルドが成功したことは明らかであるときに、ここにいる他のすべての人がprintk()形式について回答したことは驚くべきことです。

make install前後makeに必ず走りましたmodprobe GobiSerialか?

于 2013-03-25T06:19:35.527 に答える