All about ToolchainsThis page explains the toolchain situation for the MicroBlaze uClinux project. Click here to go straight to the downloads section. As of EDK release 3.2, the MicroBlaze gcc toolchain is only distributed by Xilinx for their Xygwin environment, and Solaris. I don't user Solaris, and won't talk about it further. EDK 6.1 (and ISE 6.1) are slated for release in September 2003, and one of the big attractions is native Linux support for the entire toolchain (both EDK and ISE). Back to the present - Xygwin is based on the well-known Cygwin Linux compatability layer for Windows, basically it provides a Linux-like system call interface allowing many standard linux tools (such as gcc) to be built and run on Windows platforms. However, when it comes to building Linux (and uClinux) kernels, Cygwin (and hence Xygwin) is completely unsuitable. There are enough subtle differences between Cygwin and proper Linux to make life miserable for kernel developers. I found this out the hard way! Some hardy souls have indeed managed to build uClinux kernels under Cygwin - you can see in cold hard electrons a transcript of their painful journey by trawling the archives of the uclinux-dev mailing list at www.uclinux.org. If you want to relive this Dante-like experience, you'll need the instructions on this page which describe how to hack the Xygwin-targetted EDK tools to work on Cygwin. I urge you to reconsider. It is my experience and opinion that working under Linux is the only realistic way to proceed. To that end, you need to either download a Linux binary toolchain, or build it yourself. If you are just getting started, I recommend you download a binary version. It's been tested, and works, and you'll get productive much more quickly. If you are really keen, then grab the sources and get cracking. Click for instructions on downloading a binary distro and the do-it-yourself approach. Once you have a toolchain, make sure it is visible in your path. Creating a trivial C file like the following: int main(void) and call it test.c. Then try executing $ mb-gcc -c test.c If you get no error messages, and the file test.o is present in the current directory, then you are 99% likely to have a good working toolchain. If this little test fails, then revisit the installation or build instructions as appropriate, and try again. Check the troubleshooting pages for some more ideas if you are still stuck. |
|
