Using the Eclipse and MingW (GCC)

Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java. It can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Haskell, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy, Android and Scheme. It can also be used to develop packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

Downloading the source files

The port and demos will be in the next official FreeRTOS release – until then the source and project files are hosted on the FreeRTOS Interacative Site.

Eclipse version used

The project was developed and tested using the Helios edition of the “Eclipse IDE for C/C++ Developers” package.


MinGW provides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications, and which do not depend on any 3rd-party C-Runtime DLLs. (It does depend on a number of DLLs provided by Microsoft themselves, as components of the operating system; most notable among these is MSVCRT.DLL, the Microsoft C runtime library. Additionally, threaded applications must ship with a freely distributable thread support DLL, provided as part of MinGW itself).

MinGW compilers provide access to the functionality of the Microsoft C runtime and some language-specific runtimes. MinGW, being Minimalist, does not, and never will, attempt to provide a POSIX runtime environment for POSIX application deployment on MS-Windows. If you want POSIX application deployment on this platform, please consider Cygwin instead.

Primarily intended for use by developers working on the native MS-Windows platform, but also available for cross-hosted use, (see note below — you may need to follow the “read more” link to see it), MinGW includes:

  • A port of the GNU Compiler Collection (GCC), including C, C++, ADA and Fortran compilers;
  • GNU Binutils for Windows (assembler, linker, archive manager)
  • A command-line installer (mingw-get) for MinGW and MSYS deployment on MS-Windows
  • A GUI wrapper (mingw-get-inst) for the command line installer

MSYS, a contraction of “Minimal SYStem”, is a Bourne Shell command line interpreter system. Offered as an alternative to Microsoft’s cmd.exe, this provides a general purpose command line environment, which is particularly suited to use with MinGW, for porting of many Open Source applications to the MS-Windows platform; a light-weight fork of Cygwin-1.3, it includes a small selection of Unix tools, chosen to facilitate that objective.

Preparing the Eclipse project

Eclipse projects can be either standard makefile projects, or managed make projects. The FreeRTOS simulator uses a managed make project. This in turn means that either:

  1. All the source files needed to build the project must be located under the folder/directory that contains the project file itself, or
  2. That the Eclipse workspace (note workspace, not project) needs to be configured to locate the files elsewhere on the hard disk.

Option 1 is used in this case. To that end, the directory FreeRTOS/Demo/WIN32-MingW contains a batch file called CreateProjectDirectoryStructure.batthat will copy all the required FreeRTOS source files into sub directories inside the demo project directory.

CreateProjectDirectoryStructure.bat must be executed before the FreeRTOS simulator project is imported into the Eclipse workspace. It cannot be executed from within Eclipse.

Importing the FreeRTOS simulator project into an Eclipse workspace

To import the FreeRTOS simulator project into Eclipse:

  1. Make sure that the CreateProjectDirectoryStructure.bat batch file has already been executed.
  2. Start the Eclipse IDE, and go to the Eclipse Workbench.
  3. Select ‘Import’ from the Eclipse ‘File’ menu. A dialogue box will appear.
  4. In the dialogue box, select ‘General | Existing Projects Into Workspace’. Another dialogue box will appear that allows you to navigate to and select a root directory.
  5. Select FreeRTOS/Demo/WIN32-MingW as the directory – this will reveal a project called RTOSDemo, which is the project that should be imported.

Continued in next tutorial……

Related posts:

About author

This article was written by admin

Admin has over twenty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles. Working presently as Development Manager in India. A firm Believer in Knowledge grows when it shared.


Comments (1)
  1. Kalpana Shah says - Posted: May 2, 2013

    hi guys, i am a beginner in development field.. i have been looking fr many conferences, tutorials nd references to learn more nd more abt java development.. i have heard abt many conferences like nasscom game development conference, javapolis, JavaOne… I have also received a mail from Oracle ppl fr their JavaOne conference this year.. they had this (
    ) link in the email..
    Can u plz tell me what more developers’ oriented conferences i can enroll in to?

Leave your comment

Your email address will not be published. Required fields are marked *