Hi all,
I'm new to DS-5 and ARM development. I am trying to develop a Linux application to run on a Ka-Ro TX25 module. This module consists of a Freescale i.MX257 processor. This module comes with RedBoot and Linux 2.6.31 preinstalled. I would like to develop on my Windows 8 machine, but have also been working with Linux Mint running on VMware. You can assume that i'm a Linux newbie.
I have read in some of the ARM DS-5 documentation that it includes a compiler which supports my instruction set; namely ARM 926EJ-S. When I create a new project in DS-5 I have four toolchain options:
1) ARM Compiler 5
2) ARM Compiler 6
3) GCC 4.x [arm-linux-gnueabihf]
4) GCC for ARM Bare-metal
I'm not sure what the differences are between these tools chains. However, I do know that I need to be using the following compiler; arm-linux-gnueabi-*; i.e. a tool chain which includes a soft-float compiler.
I've created a project using each toolchain to see which compiler is used. Option 3 appears to be the closest however it uses a hard float compiler. I assume I cannot use a gnueabihf compiler. I've see a couple of comments which indicate that the Linaro Toolchain only offers a hard float compiler. I also could find a gnueabi compiler in the DS-5 directory. I couldn't find any examples and I also haven't found any community discussion around DS-5 and ARM 926EJ-S.
There was also comments about the Linaro Toolchain including limited soft-float support; i.e. to support RedBoot. It recommended using the compilation options "-marm -march=armv4t -mfloat-abi=soft". I did try this out (although I had my doubts) with toolchain 3. When I ran the application on target I got a segmentation fault.
So, my question is can I use DS-5 for my application? And if so, which tool chain do I need to use.
My next question be be, once I have built my application, will be around debugging. My target does not include a SSH daemon or an SFTP server. I have read that the Remote System Explorer requires these tools. Is it possible to deploy and debug my application without these tools? I've been deploying my applications using TFTP. Eventually I think I want to cross compile OpenSSH and Dropbear for my target, but I was wondering if there is another approach I can use to demonstrate debugging before I spend time learning how to cross compile and deploy these tools.
As a side note: When I build a project using option 4, the build fails because "'arm-none-eabi-g++' is not recognized as an internal or external command". I searched the DS-5 directory for this compiler and it wasn't there. Where is this compiler?
Thanks for your help!
Hi Matthew,
If you're doing Linux application development, then the simple assumption is that you should use GCC.
Try using GCC launchpad, which can be downloaded at: https://launchpad.net/gcc-arm-embedded/+download
You can easily add new toolchains to DS-5 by following this tutorial.
If none of that is helpful, let me know and I'll investigate further!
Cheers,
Joe
Thanks for your response Joe. My searches hadn't found me the launchpad website. It looks like it has the compiler I'm after. Although I'm still confused as to why these sites list compatibility with the latest ARM processes but not ARM9. These compilers say that they are optimised for the newer targets but I assume they will work perfectly well for my target.
I am currently working on getting everything working on Linux but when I get back to Windows I'll update this thread with how i go.