Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Eclipse Development (http://www.chiefdelphi.com/forums/showthread.php?t=50236)

Astronouth7303 03-12-2006 17:29

Eclipse Development
 
I'm starting work on an all-out development environment in Eclipse. Anything you can do in mplab, Eclipse will do, but better. ;)

I've already written an error parser and toolchain handler, and I've started on the binary parser, a loader, and syntax highlighting extras. I've done enhanced wrapper scripts for mcc18 (no more "c:\mcc18\...").

My question is: How many people (adults and students) would be willing to help maintain it? The highlighting code especially will need to be kept real close to the CDT code, until they figure out how to extend it.

The FDT (FIRST Development Toolkit) will take the form of a feature patch of the CDT. Most of the functionality is implemented as plugins. The exception is the actual highlighter, which is a fragment against org.eclipse.cdt.core.

So I'm gaging interest to see if it would be worth my while or if it will fizzle out and die. Frankly, I'd love to be able to get this to the point where we can stick it in the kit and send it to the 1500 teams that will be around by then.

Shinigami2057 03-12-2006 20:35

Re: Eclipse Development
 
Sounds like a good project, I'd definitely use it! And if you need help developing it, I'd be more than happy to lend a hand. I don't know very much about the internals of Eclipse, but I'll pick it up quick.

prograid 03-12-2006 20:51

Re: Eclipse Development
 
Hey, well, I like what you're talking about, and it shouldn't be too difficult. I was just curious on how you would write the binary parsers, since as far as I know, Microchip does not provide any information on the .lib format created by MPLINK. I'd certainly be willing to help though.

A few other questions too.
By loader, do you mean code loader (i.e, loading a hex file onto the robot).

And just out of curiosity, (since I've been working on error parsers as well), did you actually give the CDT a string to highlight for variable specific errors, or did you just leave it at the line.

If anyone's interested in an example of what this might look like, you can install a bare-bones version of what Astronouth is suggesting from the update site at http://team254.bcp.org/update_site/.

Astronouth7303 03-12-2006 21:11

Re: Eclipse Development
 
Quote:

Originally Posted by prograid
Hey, well, I like what you're talking about, and it shouldn't be too difficult. I was just curious on how you would write the binary parsers, since as far as I know, Microchip does not provide any information on the .lib format created by MPLINK. I'd certainly be willing to help though.

At the end of the users guide, they describe a binary format, their version of the COFF format. I don't know what objects it's used for.

Quote:

Originally Posted by prograid
A few other questions too.
By loader, do you mean code loader (i.e, loading a hex file onto the robot).

A port of my pycloader to java and some eclipse integration. (That is, yes.)

Quote:

Originally Posted by prograid
And just out of curiosity, (since I've been working on error parsers as well), did you actually give the CDT a string to highlight for variable specific errors, or did you just leave it at the line.

I hooked into CDT's current parsing system. You take a line for input, parse it, and give Eclipse an object describing it.

Quote:

Originally Posted by prograid
If anyone's interested in an example of what this might look like, you can install a bare-bones version of what Astronouth is suggesting from the update site at http://team254.bcp.org/update_site/.

I'll have an update site as well, as soon as my web space returns. (BTW, your server is unreachable.)

prograid 03-12-2006 23:03

Re: Eclipse Development
 
Quote:

Originally Posted by Astronouth7303
I hooked into CDT's current parsing system. You take a line for input, parse it, and give Eclipse an object describing it.

I know, but in that object you can include a String that should be highlighted when the error/warning/message is selected. If this string is included, then Eclipse will highlight that string specifically. If the String is null, the entire line is highlighted.


Quote:

Originally Posted by Astronouth7303
I'll have an update site as well, as soon as my web space returns. (BTW, your server is unreachable.)

Thanks for letting me know. It probably won't be fixed until tomorrow.


Quote:

Originally Posted by Shinigami2057
Sounds like a good project, I'd definitely use it! And if you need help developing it, I'd be more than happy to lend a hand. I don't know very much about the internals of Eclipse, but I'll pick it up quick.

If you're using Eclipse, I'd suggest installing the CDT SDK (not the plain runtime) and reading the CDT Managed Build Extensibility Reference Document (I know, long name :rolleyes: ) It also has information about some of the other areas that Astronouth is planning on working on.

Astronouth7303 10-12-2006 21:05

Re: Eclipse Development
 
I've got it online!

See the Subversion repository (svn).

There is also an Update site for Eclipse 3.2.

I just don't recomend any installing it as-is, since there is little real functionality. (I've been working on setting up basic infrastructure!)

bear24rw 10-12-2006 21:44

Re: Eclipse Development
 
sounds awsome
i would probably defiently use it if it works perfectly

now, we just need to all hope that ifi doesnt radically change the RC lol

Astronouth7303 10-12-2006 22:28

Re: Eclipse Development
 
One thing I forgot to mention. My enhanced MCC18 wrappers are in subversion. I just have to figure out how to package them.

Quote:

Originally Posted by bear24rw (Post 540648)
i would probably defiently use it if it works perfectly

You haven't been developing software for long, have you?

Even if it doesn't, it'd still work a lot better than MPLAB and IFI Loader. (I can't do much about MCC18.)

Stuart 11-12-2006 19:48

Re: Eclipse Development
 
this post has intrigued me, but 2 questions. what is eclipse and why should I use it?(I can guess its a IDE/compiler of some sort but to me all compilers kinda look the same. what makes this "better" is the real question Im asking)

chris31 11-12-2006 20:00

Re: Eclipse Development
 
Quote:

Originally Posted by Stuart (Post 540925)
this post has intrigued me, but 2 questions. what is eclipse and why should I use it?(I can guess its a IDE/compiler of some sort but to me all compilers kinda look the same. what makes this "better" is the real question Im asking)

Linux.

The goal is to have a complete code development system all installable from 1 CD. MPLab has no Linux version so you can instead use a modified version of Eclipse.

Now that I think of it. Including instructions on how to set up a Subversion server in the final release might be helpful to some teams.

prograid 11-12-2006 20:04

Re: Eclipse Development
 
Quote:

Originally Posted by Stuart (Post 540925)
this post has intrigued me, but 2 questions. what is eclipse and why should I use it?(I can guess its a IDE/compiler of some sort but to me all compilers kinda look the same. what makes this "better" is the real question Im asking)

Well, as you guessed Eclipse is an IDE, sort off. It was conceived by some people at IBM as an extensible platform, written in Java, upon which other applications could be written. When initially released, it contained a set of Java Development Tools, as an example of this type of application. Later a set of C/C++ Development Tools was released. As you know, the robotics code is written in C.
The reasons, you can't just use Eclipse CDT right away are as follows:
  1. Tricked you, you can, but...
  2. You need to know how to write a makefile.
  3. You won't get the syntax highlighting appropriate to MCC18 (the version of C used by the robot).
  4. You won't get your errors from the compiler parsed.
  5. Eclipse CDT can't parse the binary files (e.g., FRC_Library.lib) created by the C18 toolchain and show you the functions available inside.

Problems 2 & 4 are already fixed thanks to a plug-in I initially wrote. 2 has been fixed for a while. 4 was partially working for a while, then broke, and should be working now.
The other 2 are not working yet, but are not a very big deal. By innappropriate syntax highlighting, the only thing I can think of, is that certain keywords, such as "rom" & "ram" that are specific to the C18 version of C, aren't highlighted. Most people don't use 5 anyway (I never have).

Now why should you use Eclipse:
  • My favorite, auto-completion. Hit Ctrl-Space while typing a long function or variable name, and Eclipse will show you a list of possible completions.
  • Integrated Subversion/CVS support (was not available in MPLAB until very recently, and is still no where as nice)
  • A tabbed editor, rather than the horrible MDI interface MPLAB uses.

And it's usable, as chris31 said on Windows and Linux. However, don't be scared off by this fact. If anything, it's more usable on Windows than Linux because there is no hassle with WINE (a sort of windows emulator to get the compiler working)

If you want more info see www.eclipse.org

Hope I answered your question,

Ben

Nitinol 26-12-2006 13:25

Re: Eclipse Development
 
Eclipse is unnecessarily resource hungry, a common drawback to software written in Java. Although Eclipse itself is available for multiple platforms, getting mcc18 to work on Linux is problematic as it relies on Wine, though that is a problem that can be overcome.
http://forum.microchip.com/tm.aspx?m...2&key=&#212261
There is an issue running mcc18 on 64 bit processors.

Assuming that these problems are overcome, most of the Linux community already relies heavily on Makefiles because a good majority of Open Source Linux Software is distributed as Source which requires compilation after downloading. Eclipse is indeed resource hungry, and unnecessarily large as a general purpose IDE. You're taking a general purpose IDE and using it for a specific purpose. Most of the Linux community already uses a combination of Makefiles and Emacs for nearly all of their programming needs.
Perhaps I should look into creating a pre-customized Emacs for the purpose of working with mcc18.
I've created an unfinished but functional Portable IDE-like program written in Perl, as a Test of Concept. If there's a large enough Linux community within the Chief Delphi Programming community, I can adapt this program to run under Linux, so long as they have mcc18 set up.
http://www.chiefdelphi.com/forums/sh...threadid=50708

I'm sorry I do not mean to bash anyone's project, I hope it did not seem that way.
It's still a great idea, and I would more than love to contribute to its development.
Eclipse is also a very versatile IDE, and does have several advantages over using using a few customizations in combination with makefiles.
Or some poorly written perhaps unreliable custom IDE.
(I suppose I should be allowed to bash my own project)

My apologies again.

Astronouth7303 28-12-2006 16:22

Re: Eclipse Development
 
Quote:

Originally Posted by Nitinol (Post 545352)
Eclipse is unnecessarily resource hungry, a common drawback to software written in Java.

I've found that Eclipse, while it does take a while to load, runs well on any system from 2000 or newer. (Milage May Vary.) Just make sure you have a decent amount of RAM. (I doubt 128MB will cut it.)

Quote:

Originally Posted by Nitinol (Post 545352)
Although Eclipse itself is available for multiple platforms, getting mcc18 to work on Linux is problematic as it relies on Wine, though that is a problem that can be overcome.

On distributions with a package manager, it's generally as easy as installing wine, grabbing the wrapper scripts, and sticking them in /bin.

There are multiple makefiles around. I use one that updates itself (uses make's variables instead of hard-coded file names). There is a script that will generate one for you. You can also use Eclipse's Managed Make to do it. (Make sure you have the mcc18 toolchain plugin installed.)

Quote:

Originally Posted by Nitinol (Post 545352)
There is an issue running mcc18 on 64 bit processors.

From the sound of it, there are only issues when you use a 64-bit operating system on top of a 64-bit processor. The 64-bit version of Windows XP is not widely used, IIRC. There are 64-bit Linux distros, but they are still somewhat unstable.

cjelly 28-12-2006 16:37

Re: Eclipse Development
 
I'd definitely be interested in helping with the development.

cjelly 28-12-2006 19:23

Re: Eclipse Development
 
I just realized that I'm a bit late on that last post, but anyway, if you need any help developing the thing, let me know.


All times are GMT -5. The time now is 11:05.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi