ARM V6 support

464 views
Skip to first unread message

dent

unread,
Jul 27, 2010, 4:59:47 PM7/27/10
to android-ndk
Hello,

I'm still trying to learn about Android and the NDK, but sometimes it
is not really simple.

I have an xperia X10 mini phone with ARM11 running Android 1.6.

I would like to write native code with the architecture v6 intrinsics
(I really need the sum ob absolute
difference instruction).

I saw that I can set armabi or armabi-v7a (for neon and arm a8 etc.),
but there seems to be no armabi-v6,
which was partly confirmed by following article:

http://blogs.arm.com/software-enablement/10-android-ndk-tips/

Is it really true that I cannot compile v6 intrinsics for 1.6 and
ARM11? Would be really strange, after
all there are quite some ARM11 platforms ...

If not:
Is there another way around it, maybe using assembly or will I get the
same problems with
assembly v6 instructions? (I read I can use
assembly files if I name them .S and include them as local sources?)

Best regards

David Turner

unread,
Jul 27, 2010, 5:35:23 PM7/27/10
to andro...@googlegroups.com
It's pretty simple:

- there is no guarantee that a phone that supports "armeabi" will support the ARMv6 instruction extensions,
  the baseline defined in docs/CPU-ARCH-ABIS.TXT

- Market and the Package Manager will filter applications based on the ABI they support. i.e. an application
  that only contains "armeabi-v7a" shared library will not be listed by Market on "armeabi" devices. Also,
  you won't be able to install such an application (even with 'adb install <file>').

- the difference between armv5te and armv6 are not sufficient to justify a new officially-supported ABI

- if you want to use these, nevertheless, you should target "armeabi", then perform runtime feature
  detection to ensure that the device your program runs on supports them, otherwise provide alternative
  paths for the devices that don't, even if it means slower performance.

The same is true for NEON instruction support with "armeabi-v7a" (some ARMv7-based Android devices
do not / will not support NEON at all, so make sure your app works without them).

Hope this helps.




--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.


Reply all
Reply to author
Forward
0 new messages