Xscale: cross-compilation: The cross-development tools are located in: /opt/hardhat/previewkit/arm/xscale_be/bin/ However, we don't have to worry about that too much because this path is included in the search path. The directory contents are as follows: [root@ixp03 root]# ls /opt/hardhat/previewkit/arm/xscale_be/bin/ xscale_be-ar xscale_be-g++ xscale_be-gdb xscale_be-objcopy xscale_be-size xscale_be-as xscale_be-gcc xscale_be-ld xscale_be-objdump Mostly what we care about is xscale_be-gcc and possibly xscale_be-gdb. These files are x86 executables and are meant to be run on the host system. They are not accessible on the IXP target file-system. There are no special command line options necessary (not so with the IXP 1200 and ARM-ish gcc). The correct include files and library files should be found by default (at least I've found that to be the case). In order, to run your compiled executable, copy it to the target file-system which from the host file-system point of view is located at: /opt/hardhat/previewkit/arm/xscale_be/target/ The convention if there is one is to put the executable in /opt/enp2611/. As far as debugging is concerned, I would recommend debugging the code as much as possible in non-embedded linux. However, in order to debug code on the xscale, run gdbserver on the IXP target using your executable and then point xscale_be-gdb at it. On the IXP target, run: ixp> gdbserver host: In gdb (Xscale targeted) on the host, run: gdb> target remote -1: gdb> file ... Set break points, etc. gdb> continue ... i.e. do not "run" the program since in is already running An example makefile is located at: /opt/enp-2611/sample_application/src/Makefile This is for the static forwarder application. The kernel which also uses the cross-compiler is located at: /opt/hardhat/previewkit/lsp/intel-ixdp2400-previewkit-arm_xscale_be/linux-2.4.18_mvl30/ where are kernel include files then? cd to above, and look in include directory what's in the gcc lib? # cd /opt/hardhat/previewkit/arm/xscale_be [root@zymurgy xscale_be]# ls -R lib lib: gcc-lib lib/gcc-lib: armv5teb-hardhat-linux lib/gcc-lib/armv5teb-hardhat-linux: 3.2.1 lib/gcc-lib/armv5teb-hardhat-linux/3.2.1: cc1 cc1plus collect2 cpp0 crtbegin.o crtbeginS.o crtend.o crtendS.o include libgcc.a libgcc_eh.a specs tradcpp0 lib/gcc-lib/armv5teb-hardhat-linux/3.2.1/include: float.h iso646.h limits.h linux README stdarg.h stdbool.h stddef.h stdio.h syslimits.h varargs.h lib/gcc-lib/armv5teb-hardhat-linux/3.2.1/include/linux: a.out.h nls.h