Hi, I'd like to use the WinARM tools to compile for uClinux ARM targets. The problem is that the uClinux uses own executable format (they call it Binary Flat) and one needs to convert the ELF produced by GNU tools to this format. In the Linux environment this is done by a tool called elf2flt, that hooks itself into the GNU linker (using -Wl,-elf2flt to call itself during the link stage). The elf2flt consist of a linker script and a heavy shell-skript to mangle linker arguments, it moves the original linker to another name and calls it as necessary. I know too little about the process how these linker scripts and similar stuff work, in fact I am glad that I was able to get it work under Linux. Is it possible (and a good idea) to adapt the WinARM tools so that they can produce the BFLT format? Or does anyone know of other Windows-hosted environment that can produce it? RTFM is gladly accepted if you point me to the correct M ;)
Stanislav Meduna wrote: > I know too little about the process how these linker scripts and similar > stuff work, in fact I am glad that I was able to get it work under > Linux. Is it possible (and a good idea) to adapt the WinARM tools so > that they can produce the BFLT format? Or does anyone know of other > Windows-hosted environment that can produce it? Well, now I have 'dismantled' the things so that I only need working ext2flt executable. However, for this I need libiberty and libbfd (libraries and corresponding .h-files) that are consistent with both the target and the binutils used to build the cross-compiler. Libiberty library is included in WinARM, but libbfd is not - where can I find them and/or the environment used for compiling the WinARM suite? Thanks
To be honest you need a uclibc based toolchain, winarm uses newlib. I have done it under cygwin but it is a pain, if you use linux as your host then prebuilt toolchains can be used from www.uclinux.org Have a look here for a few ideas: http://www.st.com/stonline/products/literature/an/11190.pdf http://www.stmcu.com/mdtfiles/1109337716.zip you will probably also have to build elf2flt, genromfs and jffs2. Cheers Spen
I also don't think the tools included in the WinARM collection will be of much help to create binaries for uclinux. I created the WinARM collection to support "bare metal" development. The core of WinARM are the binutils, gcc and newlib for the arm-elf target. So far I do not know enough about uclinux to provide the needed additional tools as part of a WinARM package. I have not used it myself but IRC codesourcy provides a precompiled arm-uclinx cross-toolchain for MS-Windows Hosts (don't remember which libc they use but it should be mentioned on their pages). Since Spencer mentioned that building the cross-toolchain under cygwin is difficult. There is also the option to create the cross-toolchain on in a virtual machine running Linux or with colinux running "in" MS Windows. Maybe you can even re-use the cross-toolchain you have already created for Linux in these envirionments. Martin Thomas BTW: So far I have just tested the procompiled kernel/fs from the st.com site for their STR710-eval-board (the links Spencer mentioned). But it's on my list to play around with the STmicro-board and a board with an AD Blackfin to learn more about uclinux. There are currently just too many other things to do. So please send what you find out esp. information about cross-toolchains (building them or ready/made) which can be hosted on MS-Windows without emulation-layers or virtual machines.
Just realised that codesoucery now do a prebuilt native win32 uclinux/uclibc based toolchain - http://www.codesourcery.com/gnu_toolchains/arm for details. Building your own is possible however. You will also need a lot of flash and ram on your board, uclibc expects to run in ram, after being uncompressed from flash. A slightly more lightweight solution is ecos (http://ecos.sourceware.org), winarm could be used for this - it is based on newlib. And can run in flash memory. If anyone needs details on the extra uclinux tools then let me know, i can send source that has been tweaked and will build under cygwin. Cheers Spen