Host cygwin target ARM
From OpenTom
Host cygwin Target ARM
In order to compile C programs to ARM executable files through a Windows PC, follow the steps here described. Alternatively, you may consider building your own toolchain.
Install Cygwin from http://www.cygwin.com; download for this http://www.cygwin.com/setup.exe, then select the standard options and verify that the development environment is included (devel, libs).
Start the bash and verify that a C source program can be correctly compiled to a Windows executable (.EXE).
Go to http://www.tomtom.com/page.php?Page=gpl
Download http://www.tomtom.com/gpl/rel200505b/toolchain/toolchain_cygwin_gcc-3.3.4_glibc-2.3.2_20050428a.tar.gz unpack the file to /usr/local/cross
If you get error messages like these tar tells you that some files are missing. Seems like the guys from Tomtom did not pack everything... ...but then the chain still seems to work. Go on. ;-)
/usr/local/cross$ tar xvfz ~/download/toolchain_cygwin_gcc-3.3.4_glibc-2.3.2-20060131a.tar.gz tar: gcc-3.3.4_glibc-2.3.2/arm-linux/bin/g++.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/c++.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-ar.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/ar.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-as.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/as.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-c++.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/c++.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-g++.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/c++.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-gcc-3.3.4: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/gcc.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-gcc.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/gcc.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-ld.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/ld.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-nm.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/nm.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-ranlib.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/ranlib.exe': No such file or directory tar: gcc-3.3.4_glibc-2.3.2/bin/arm-linux-strip.exe: Cannot hard link to `gcc-3.3.4_glibc-2.3.2/arm-linux/bin/strip.exe': No such file or directory tar: Error exit delayed from previous errors
Verify that the following symbolic links exist in ./gcc-3.3.4_glibc-2.3.2/arm-linux/sys-root/lib (if not, create them):
-rwx------+ 1 Administrators ???????? 938172 Jun 18 2004 ld-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 11 Aug 1 14:17 ld-linux.so.2 -> ld-2.3.2.so -rwx------+ 1 Administrators ???????? 65407 Jun 18 2004 libBrokenLocale-2.3.2.so -rwx------+ 1 Administrators ???????? 55131 Jun 18 2004 libSegFault.so -rwx------+ 1 Administrators ???????? 142526 Jun 18 2004 libanl-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 22 Aug 1 14:17 libbluetooth.so.1 -> libbluetooth.so.1.0.15 -rwx------+ 1 Administrators ???????? 54188 Feb 24 2005 libbluetooth.so.1.0.15 -rwx------+ 1 Administrators ???????? 26922082 Jun 18 2004 libc-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 13 Aug 1 14:17 libc.so.6 -> libc-2.3.2.so -rwx------+ 1 Administrators ???????? 84759 Jun 18 2004 libcrypt-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 17 Aug 1 14:17 libcrypt.so.1 -> libcrypt-2.3.2.so -rwx------+ 1 Administrators ???????? 64407 Jun 18 2004 libdl-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 14 Aug 1 14:17 libdl.so.2 -> libdl-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 13 Aug 1 14:17 libgcc_s.so -> libgcc_s.so.1 -rwx------+ 1 Administrators ???????? 35752 Aug 1 14:17 libgcc_s.so.1 -rwx------+ 1 Administrators ???????? 2128764 Jun 18 2004 libm-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 13 Aug 1 14:17 libm.so.6 -> libm-2.3.2.so -rwx------+ 1 Administrators ???????? 61674 Jun 18 2004 libmemusage.so -rwx------+ 1 Administrators ???????? 1834262 Jun 18 2004 libnsl-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 15 Aug 1 14:17 libnsl.so.1 -> libnsl-2.3.2.so -rwx------+ 1 Administrators ???????? 444411 Jun 18 2004 libnss_compat-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 22 Aug 1 14:17 libnss_compat.so.2 -> libnss_compat-2.3.2.so -rwx------+ 1 Administrators ???????? 84615 Jun 18 2004 libnss_dns-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 19 Aug 1 14:17 libnss_dns.so.2 -> libnss_dns-2.3.2.so -rwx------+ 1 Administrators ???????? 422858 Jun 18 2004 libnss_files-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 21 Aug 1 14:17 libnss_files.so.2 -> libnss_files-2.3.2.so -rwx------+ 1 Administrators ???????? 140378 Jun 18 2004 libnss_hesiod-2.3.2.so -rwx------+ 1 Administrators ???????? 728629 Jun 18 2004 libnss_nis-2.3.2.so -rwx------+ 1 Administrators ???????? 817195 Jun 18 2004 libnss_nisplus-2.3.2.so -rwx------+ 1 Administrators ???????? 28983 Jun 18 2004 libpcprofile.so -rwx------+ 1 Administrators ???????? 1385581 Jun 18 2004 libpthread-0.10.so lrwxrwxrwx 1 Administrators ???????? 18 Aug 1 14:17 libpthread.so.0 -> libpthread-0.10.so -rwx------+ 1 Administrators ???????? 459023 Jun 18 2004 libresolv-2.3.2.so lrwxrwxrwx 1 Administrators ???????? 18 Aug 1 14:17 libresolv.so.2 -> libresolv-2.3.2.so -rwx------+ 1 Administrators ???????? 492270 Jun 18 2004 librt-2.3.2.so -rwx------+ 1 Administrators ???????? 1109055 Jun 18 2004 libthread_db-1.0.so lrwxrwxrwx 1 Administrators ???????? 19 Aug 1 14:17 libthread_db.so.1 -> libthread_db-1.0.so -rwx------+ 1 Administrators ???????? 83902 Jun 18 2004 libutil-2.3.2.so
Notice that you can also unpack a ttnsystem as described here http://wiki.opentom.org/index.php/Ttimgextract and then copy all NEW files in ttsystem\5.202\lib to /usr/local/cross/gcc-3.3.4_glibc-2.3.2/arm-linux/sys-root/lib without replacing already existing ones.
Perform then the following links:
$ cd /usr/local/cross/gcc-3.3.4_glibc-2.3.2/arm-linux/sys-root/usr/include/asm $ ln -s arch-s3c2410 arch $ cd /usr/local/cross/gcc-3.3.4_glibc-2.3.2/arm-linux/sys-root/usr/include/asm $ ln -s proc-armv proc
This is because the TTGO processor is a SAMSUNG ELECTRONICS S3C2410 (Arm920T), 32-bit architecture (so armv, while armo is for the old 26-bit ones).
Check also http://linux-7110.sourceforge.net/howtos/netbook_new/porting2arm_aleph.pdf
export the PATH:
export PATH=/usr/local/cross/gcc-3.3.4_glibc-2.3.2/arm-linux/bin:$PATH:/usr/local/cross/gcc-3.3.4_glibc-2.3.2/bin
The cross compiler is now ready.

