This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

DS-5 binaries file

Dear all,

I'm curious whether the DS-5 generated binaries file can be execute in Android platform?

  • John;
    At this time I think this would be a marketing question for Keil.

    DS-5 is a software development tool suite which simplifies the development of Linux and Android native applications for ARM® processor-based systems, reducing the learning curve and shortening the development and testing cycle.
    This was taken from their news annoucement on this website.
    Bradford

  • I heard that, Android applications run in the Dalvik virtual machine (Java-like virtual machine), and Google provides Android NDK (Native Development Kit) to allow the developers to use native C/C++ libraries. But I think/guess it is Google's strategy to not allow the applications running without Dalvik. So, how KEIL's DS-5 supports Android NATIVE applications development is quite a big question.

    I am also very interested in this question.

  • If the generated binary file is for Linux, then I don't think this binary file can be executed in Android platform, because Google doesn't allow.

  • Dear all,

    Thanks for the reply. If we look back the DS-5, the binaries file can be execute in ARM linux without any problem. ARM linux architecture should contain a linux kernel as well as android architecture. So from my conclusion is I thought the binaries file can be execute as long as the architecture contain a linux kernel. Please correct me if I am wrong. Thanks.

  • I don't know much about this, but I think that, the problem is: Android's kernel is borrowed from the Linux kernel, however it is NOT a Linux kernel.


    www.kroah.com/.../android-kernel-problems.html

    The Android kernel code is more than just the few weird drivers that were in the drivers/staging/android subdirectory in the kernel. In order to get a working Android system, you need the new lock type they have created, as well as hooks in the core system for their security model.

  • Typical Android applications are written in Java, compiled to Java bytecode and translated to Dalvik code. But the Java/Dalvik code can also call native methods (that is ARM/Thumb code) in shared libraries -- this is what the Android NDK allows you to build.

    DS-5 will be able to debug this native code (alongside the Android SDK/NDK) -- but the support is not in the public trial yet.

    That said, Android can also run normal native applications. The biggest difference between a native ARM Linux application and a native Android application is that Android uses the bionic C library instead of glibc.

    The Android kernel is different than the mainline ARM Linux kernel, but it's largely a superset.

  • When I said "... it's largely a superset", I meant "... it's largely a superset from a native application's perspective".