Мне нужно добавить USB-модуль FTDI в ядро 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 в версии magic. Как мне собрать модуль для ARMv7?