Kernel-Modul für Android erstellen

Ich muss das FTDI-USB-Modul zum Android-Kernel hinzufügen (Android 2.3.1, Linux 2.6.32), also habe ich den 2.6.32-Kernel erhalten und versucht, das Modul zu erstellen:

<code>make modules ARCH=arm CROSS_COMPILE=arm-none-eabi-
</code>

Aber als ich versuchte 'insmod ftdi_sio.ko' zu machen, war die Fehlermeldung

<code>insmod: init_module 'ftdi_sio.ko' failed (Exec format error)
</code>

In dmesgs Ausgabe habe ich das gefunden

<code>ftdi_sio: version magic '2.6.32.27 preempt mod_unload ARMv5 ' should be '2.6.32.27 preempt mod_unload ARMv7 '
</code>

Ich habe versucht, "armv7-a" -Flag hinzuzufügen (wie ich in Android NDK-Dokumenten gelesen habe)

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

Außerdem habe ich folgende Cross-Compiler ausprobiert: arm-none-eabi-, arm-eabi-, arm-linux-android-eabi-

Jedes Mal war das Ergebnis das gleiche - ARMv5 in der Version magic. Wie kann ich das Modul für ARMv7 erstellen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage