Cross Compiling For E2 (or EZX)

These past several days, I’ve been playing around with my phone. I’ve also successfully build my own cross compiler for EZX(pxa270). (thanks to samr7). I’m gonna share this knowledge now..

(YOU WILL NEED LINUX FOR THIS and BASIC LINUX KNOWLEDGE)

There’s many ways to get a cross compiler up and ready, but I am only going to show you the easy way. (:

There’s two easy ways that I know is compatible with E2:

  1. By using a precompiled Compiler(xscale-gcc-vfp-3.3.tar.gz).
  2. By building your own with the help of samr7 script.

——– First Method ——–

For the first method, you just need to download the tar file here , and then extract it to /. To be exact, the command is tar -xzf xscale-gcc-vfp-3.3.tar.gz && mv /usr /. You will need root access for the folder to be successfully moved. The compiler is now ready to be used. Just include the compiler in your $PATH, export PATH=$PATH:/usr/local/arm/bin.

——– Second Method ——–

The second method is a little bit time consuming. It took me a few hours, and also a few gigabytes. So make sure that you have at least a few gigabytes free and something to entertain you while waiting for the script to finish. Download ezx-crosstool-0.5.tar.zip . Extract the zip to get ezx-crosstool-0.5.tar.bz2. Untar it with tar -xf xscale-gcc-vfp-3.3.tar.gz. cd ezx-crosstool-0.5 and run ./build.sh. Now you wait.

When it’s done, it will compile a test program(it fails for me but the compiler still works actually). Copy gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux to somewhere accessible. I moved it to /opt/e2/crosstool, mv gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux /opt/e2/crosstool. Ofcourse, you might need root access for this too. Now the compiler is ready to be used. Just setup $PATH similar to the first method.

——– End ——–

That’s all. It’s actually quite simple. To develop native E2 applications, you need to use lasly’s SDK. You can get it at e2mod.com . Read the readme, it’s easy to understand. However, don’t get your hopes up because the SDK is very incomplete. You can however play around with:

  • arm-linux-objdump -T –demangle libezxappbase.so
  • arm-linux-nm -aDC libezxappbase.so

…and construct your own headers.. Good Luck!

2 Comments

  1. Taurnil
    Posted December 31, 2007 at 12:41 am | Permalink
    Gravatar

    Thanks a lot for such a good info. Keep the good work!

  2. Taurnil
    Posted December 31, 2007 at 12:48 am | Permalink
    Gravatar

    hey buddy, have you tested this?
    http://lowermars.com/devforum/index.php?topic=12.0
    looks like a low level API for ezx phones, specially for ROKR E2!

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*