Nov 15, 2006

GCC Toolchain for NXT

Received the following email from Rasmus - be sure to provide feedback if this is useful to you. Thanks, Rasmus, for the submission.

NXT can be programmed with a gcc toolchain (Lego uses IAR). The gcc toolchain setup description I have made is available at If you have the source code (or not); feel free to try out the toolchain. Please send any corrections to

You can also get the modified source files from me if you also have the source for review now, but you should send me something from the source code so I know I can exchange code with you (sorry I am under NDA until public release of the source). There is also a main.c file for testing the toolchain regardless of the source code. There is one issue described in the PDF at the nxtmote download (last page): I should be happy to collaborate to solve it.

You can download the file from by going to the download section on Sourceforge. Then you unzip this directory in c:\nxt for example. Then you should read the nxtmote.pdf and the README.txt file, and try to configure a toolchain according to the descriptions before trying out the simple main.c example. Remember to modify the Makefile according to the instructions in the README file.

Sincerely, Rasmus


Anonymous said...

Sorry, but what is a GCC Toolchain?

Anonymous said...

Compiler, linker, assembler and possibly a debugger :).

Tony Naggs said...

These are tools for making new firmware for the NXT brick. (The firmware being the program that runs when the NXT starts, showing the On/Off prompts on screen, and so forth ...)

They will be useful when Lego reach the step of releasing the source code for the firmware.

I expect that some cool features will appear quite quickly.

Other things like running Java directly on the NXT brick may take a while. Though I believe some of the people working on this also have early access through the non-disclosure programme.

Hoping to see the source soon. :-)

- Tony N

Anonymous said...

Good questions and good answers.

The gcc toolchain ( compiles the c code that makes up NXT. The compiled binary image is downloaded to the flash memory of NXT.

The gcc toolchain is flexible as it can also target a number of embedded processors including the ARM7 seven processor that NXT is equipped with (see the hardware schematics from LEGO).

One could buy the IAR toolchain and be off programming right away with the LEGO open source but if you do not want to spend money on this (good) compiler, then one needs a free compiler. gcc is one such compiler. If you download my pdf (nxtmote.pdf) inside then you can see this link:
It is a guy who describes what gcc is and how to set up your own gcc toolchain from scratch.


PS: An easy gcc intro. Scroll down and click on "View sample in PDF".

Kyle said...

An NDA cannot conflict with the GPL to restrict release of source code. If you are distributing binaries covered under the GPL then you must make the source available; there's nothing an NDA can do to prevent this. The only exception would be if the entire source of the binary were covered by the copyright of the person who is enforcing an NDA, then they're free to restrict it however they want, but since this includes GCC that is not the case here.

Anonymous said...

does it gve a virus?

Related Posts Plugin for WordPress, Blogger...