gagneet
gagneet

Reputation: 37259

Cross compiler for embedded platform in Windows

I wish to build a compiler (GCC port) for Linux, so that the built GCC runs on Windows and creates executables for an embedded platform.

Is the above possible?

Upvotes: 3

Views: 4274

Answers (5)

mikrobreak
mikrobreak

Reputation: 11

If you are satisfied to running it on Windows then at www.gnupit.org you can donwload ready GCC cross toolchain for free. There are many target platforms.

Upvotes: 1

jakobengblom2
jakobengblom2

Reputation: 5878

Yes, it is possible.

It also utterly painful to try to do this yourself -- it is OK on Linux, mostly, but very tricky on Windows. My suggestion is to see if some ready-built compiler from a place like DENX.de, CodeSourcery, or the manufacturer of your embedded platform is available.

I have become a huge fan of the CodeSourcery compilers for platforms like MIPS and Power Architecture. They tend to come with variants for big- and little-endian, various Libc flavors, and to have both bare-metal and linux-target versions available. See their pages about their Lite edition

Building your own cross-compiler and toolset is a right pain.

If your target is running Linux, I suggest doing your cross-work on a Linux box as well, saving you plenty of pain. I use VmWare for that express purpose. You cannot expect to build a Linux for a target on Windows, for example.

Upvotes: 6

kgiannakakis
kgiannakakis

Reputation: 104158

In embedded systems compilers are referred based on processor architecture and not on OS. What you probably want is to build a "cross compiler" for a processor other than the one running in your Windows machine. This is of course possible. See for example the WinAVR and WinARM projects. These are compilers for AVR and ARM processor architectures, based on GCC and running in Windows machines. Another example is yagarto. These aren't just a compiler, but a full tool chain that will allow you to built Linux executables (for ARM processors), if the requires libraries are available.

Because GCC relies on POSIX functionality that is not available in Windows natively, you need a Linux-like environment for Windows (such as Cygwin or MinGW).

Upvotes: 2

Seika
Seika

Reputation: 169

You have to build GCC on Windows using MinGW or Cygwin for your target platform (e.g. ARM little endian).

Upvotes: 0

Related Questions