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?