Budowanie modułu jądra dla Androida

Muszę dodać moduł USB FTDI do jądra Androida (Android 2.3.1, Linux 2.6.32), więc dostałem jądro 2.6.32 i próbowałem zbudować moduł:

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

Ale gdy próbowałem zrobić „insmod ftdi_sio.ko”, pojawił się komunikat o błędzie

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

W wynikach dmesg znalazłem to

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

Próbowałem dodać flagę „armv7-a” (jak czytałem w dokumentach Android NDK)

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

Próbowałem także następujących kompilatorów krzyżowych: arm-none-eabi-, arm-eabi-, arm-linux-android-eabi-

Za każdym razem wynik był taki sam - ARMv5 w magii wersji. Jak mogę zbudować moduł dla ARMv7?

questionAnswers(1)

yourAnswerToTheQuestion