This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How do you all arrange your directory trees?


On Mon, Jun 11, 2007 at 01:34:56PM -0700, Paul D. DeRocco wrote:
> I'd like to get feedback from people as to how they organize the directory
> trees used to hold their eCos projects.
> 
> I'm currently working on three eCos projects, one ARM7 AT91R40008 and two
> ARM9 AT91RM9200. The two ARM9 projects have slightly different hardware, so
> they each use their own slightly different configuration of Redboot, and
> will probably wind up using slightly different configurations of eCos as
> well.
> 
> I'm writing my software as much as possible as re-usable packages. That is,
> my own code is organized as a few shared packages used in two or three of
> the projects, then a couple more proprietary packages for each project that
> could be usable in later projects but not in each other, plus some purely
> project-specific top-level code to tie everything together into each final
> application.
> 
> Also, so far I'm using mostly command line tools under Cygwin. I tried using
> Eclipse (we're using an eCosCentric version of eCos), but found it
> completely incomprehensible, compared to the other IDEs I've used in the
> past. I prefer using my Codewright editor anyway, and don't mind typing
> "make" under bash, but I'm struggling along with Insight as my debugger.
> 
> My eCos tree is in /opt/ecos/ecos-2.0.41/packages... etc. Should I try to
> fold my packages into the eCos tree structure, and write cdl files to
> describe them, so that I can incorporate my packages in the same way that
> official eCos packages are? 

I would do this. However, i would keep them out of your eCos tree. It
might get messy in 6 months time when eCosCentric give you an
update. The command line tool ecosconfig supports ECOS_RESPOSITORY
being a ; seperated list of directories. So you can have your packages
in a separate tree. You can even have your top level glue code in a
package and have the build code build your complete application, in
the same way redboot is built. In your top level glue code package you
can have require statements to make your eCos configuration how you
want it. So in the end all you need to do is:

ecosconfig new myAT91RM9200widget
ecosconfig tree
make

> Any recommendation on where I should put my
> versions of Redboot and eCos? Currently, they're in
> /home/pauld/workspace/Redboot_xxx and /home/pauld/workspace/eCos_xxx, where
> xxx is the name of the project they're for. How about my top-level
> project-specific code? Currently they're under /home/pauld/workspace/xxx.

Are you a lone developer? Or are there others working on the same
project? When i've been working on bigger projects with a hand full of
developers i've put my eCos trees in /usr/local/pkg/eCos/ecos-work_XXX
with a set of scripts which root can use to build the work tree. The
developers then use the install subdirectroy from these work
trees. The advantage of this is that everybody is using the same eCos
configuration. I found that when each developer had there own work
tree, they tweaked it for what they were doing and when it came to
integration and testing time this lead to problems. Since you are on
cygwin you could set up an SMB share from a server which all
developers must use.

If you are a lone developer it does not really matter where you put
stuff. Just ensure it is on the backup cycle, or that you have the key
configuration files in a source code control repository for when you
disk dies/some M$ virus comes along and wipes your disk...

     Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]