Forums

Eclipse file handling

Started by FreeRTOS.org June 10, 2007
Having been asked 100 times for a FreeRTOS.org demo that uses Eclipse, I 
have relented and am putting one together, however....

The FreeRTOS.org directory structure is as follows:

FreeRTOS
 �
 +-Demo
 �   �
 �   +-Common    The demo application files that are used by all the ports.
 �   +-Dir x     The demo application build files for demo x
 �   +-Dir y     The demo application build files for demo y
 �
 +-Source     �     +-Portable  Processor specific code.So the demo project makefile, for example, the LPC2106 is found in the"FreeRTOS/Demo/ARM7_LPC2106_GCC" directory, and includes demo files that arecommon to all demos from the "FreeRTOS/Demo/Common" directory, includes thekernel source files from the "FreeRTOS/Source", and the port specific kernelfiles from "FreeRTOS/Source/Portable/GCC/LPC2000" directory.As can be seen, for this directory structure the makefile must containrelative paths that go up the directory tree.  For example../../Source/tasks.c.   It seems that Eclipse cannot do this.  With Eclipse,the project file must be at the root, and have all included files above it.Importing a file into the Eclipse project COPIES the file from its locationto be below the project file.In my experience projects will normally include files that are common tomultiple builds or multiple projects.  Does using Eclipse mean you have tohave a different directory tree for each project/build and multiple copiesof all your common files?  I cannot see this being acceptable for managing aprofessional software project.The GCC tools will happily build all that the makefile tells it to, but ifyou get a build error, clicking the error in the Eclipse console will onlybring up the offending line if the file is below it in the directory tree.Am I missing something obvious here?  I hope so.  If not, is there a nicesolution?--Regards,Richard.+ http://www.FreeRTOS.orgA free real time kernel for 8, 16 and 32bit systems.+ http://www.SafeRTOS.comAn IEC 61508 certified real time kernel for safety related systems.

Don't know what happened there?  Hope it comes out better this time...

Again ---------------------------

Having been asked 100 times for a FreeRTOS.org demo that uses Eclipse, I
have relented and am putting one together, however....

The FreeRTOS.org directory structure is as follows:

FreeRTOS
 �
 +-Demo
 �   �
 �   +-Common    The demo application files that are used by all the ports.
 �   +-Dir x     The demo application build files for demo x
 �   +-Dir y     The demo application build files for demo y
 �
 +-Source
     �
     +-Portable  Processor specific code.


So the demo project makefile, for example, the LPC2106 is found in 
the"FreeRTOS/Demo/ARM7_LPC2106_GCC" directory, and includes demo files that 
are common to all demos from the "FreeRTOS/Demo/Common" directory, includes 
the kernel source files from the "FreeRTOS/Source", and the port specific 
kernel files from "FreeRTOS/Source/Portable/GCC/LPC2000" directory.

As can be seen, for this directory structure the makefile must contain 
relative paths that go up the directory tree.  For example 
../../Source/tasks.c.   It seems that Eclipse cannot do this.  With Eclipse, 
the project file must be at the root, and have all included files above it. 
Importing a file into the Eclipse project COPIES the file from its location 
to be below the project file.

In my experience projects will normally include files that are common to 
multiple builds or multiple projects.  Does using Eclipse mean you have 
tohave a different directory tree for each project/build and multiple copies 
of all your common files?  I cannot see this being acceptable for managing a 
professional software project.

The GCC tools will happily build all that the makefile tells it to, but if 
you get a build error, clicking the error in the Eclipse console will only 
bring up the offending line if the file is below it in the directory tree.

Am I missing something obvious here?  I hope so.  If not, is there a 
nicesolution?

-- 
Regards,
Richard.

+ http://www.FreeRTOS.org
A free real time kernel for 8, 16 and 32bit systems.

+ http://www.SafeRTOS.com
An IEC 61508 certified real time kernel for safety related systems.