2012-04-06 126 views
6

我需要將FTDI USB模塊添加到Android內核(Android 2.3.1,Linux 2.6.32),所以我得到了2.6.32內核並嘗試構建模塊:構建Android內核模塊

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' 標誌

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

另外(如我在Android的NDK文檔讀取),我試圖以下交叉編譯器:臂-NONE-eabi-,臂eabi-,掰linux-android-eabi-

每一次的結果都是一樣的 - ARMv5中的魔術版本。 如何構建ARMv7模塊?

回答

4

嘗試在您的內核中設置CONFIG_CPU_V7=y.config文件