6

FTDI USB モジュールを Android カーネル (Android 2.3.1、Linux 2.6.32) に追加する必要があるため、2.6.32 カーネルを入手してモジュールをビルドしようとしました。

make modules ARCH=arm CROSS_COMPILE=arm-none-eabi-

しかし、「insmod ftdi_sio.ko」を実行しようとすると、エラー メッセージが

insmod: init_module 'ftdi_sio.ko' failed (Exec format error)

dmesgの出力でこれを見つけました

ftdi_sio: version magic '2.6.32.27 preempt mod_unload ARMv5 ' should be '2.6.32.27 preempt mod_unload ARMv7 '

「armv7-a」フラグを追加しようとしました(Android NDKドキュメントで読んだように)

make modules ARCH=arm CROSS_COMPILE=arm-linux-androideabi- CFLAGS='-march=armv7-a -mfloat-abi=softfp'

また、次のクロスコンパイラを試しました:arm-none-eabi-、arm-eabi-、arm-linux-android-eabi-

毎回結果は同じでした-バージョンマジックのARMv5。ARMv7 用のモジュールをビルドするにはどうすればよいですか?

4

1 に答える 1

4

CONFIG_CPU_V7=yカーネル.configファイルで設定してみてください

于 2012-04-10T08:05:51.607 に答える