Shop OBEX P1 Docs P2 Docs Learn Events
Propeller IDE GUI Application — Parallax Forums

Propeller IDE GUI Application

jazzedjazzed Posts: 11,803
edited 2011-06-30 07:01 in Propeller 1
This thread is created for the community to share their thoughts on GUI IDE applications for Propeller and upcoming second generation Propeller (unofficially named Propeller 2 or P2).

Please consider this post for context of the discussion:
http://forums.parallax.com/showthread.php?131477-GCC-Eclipse-and-Propeller-2-seeking-developers&p=1009317&viewfull=1#post1009317

This sections describes specific IDE (Integrated Development Environment) GUI (Graphical User Interface) efforts and guidelines:
Ken Gracey wrote: »
Our objective is to develop an open-source tool chain with a commercially-acceptable language using existing code bases. It is necessary for code to compile under Windows, Mac and Linux operating systems. Between the Propeller 2 design and tools, commercial product developers would have many reasons to use Propeller 2 in mass since it would have everything they want (more memory to support a LMM kernel for C/C++, I/O flexibility, more RAM, A/D, code protect, etc.).

To meet this goal we are furthering our plans to create a GCC tool-chain that will be generating LMM type executable instructions from C/C++ sources. An IDE such as NetBeans, Eclipse and/or Visual Studio would be used for command-line programming and debugging. We would evaluate and choose the tools for the front end but no decision has been made as of yet. Other tools could be added by the community, too.

The GCC compiler and IDE would be the official tool for C/C++ programming in Propeller 2. Spin/PASM (and other languages you like) could be used with the IDE through command-line interfaces.

The existing Parallax Propeller Tool created in Delphi will also be improved to support Spin/PASM in Propeller 2. The Propeller Tool may also be improved to support the GCC compiled code.

With these two approaches Parallax Semiconductor will continue to foster the Spin/PASM language environment concurrent with the C/C++ GCC effort. You read it right – we’ll have objects in both languages that meet the Gold Standard, relying in part on the community for C/C++ objects. This takes advantage of our current code base and provides an entry point for developers who rely on C/C++.

Also note that at some point, the BST program may become the official Propeller Tool. This thread is not specifically created to address BST, but BST input is not discouraged.


So, here is a forum thread for discussing Eclipse, Netbeans, Visual Studio, or other community inspired GUI IDE ideas. It would be nice to arrive at some 100% accepted consensus, but that is probably too great an expectation.

Comments

  • rosco_pcrosco_pc Posts: 468
    edited 2011-06-14 15:38
    jazzed wrote: »
    This thread is created for the community to share their thoughts on GUI IDE applications for Propeller and upcoming second generation Propeller (unofficially named Propeller 2 or P2).

    Please consider this post for context of the discussion:

    Also note that at some point, the BST program may become the official Propeller Tool. This thread is not specifically created to address BST, but BST input is not discouraged.


    So, here is a forum thread for discussing Eclipse, Netbeans, Visual Studio, or other community inspired GUI IDE ideas. It would be nice to arrive at some 100% accepted consensus, but that is probably too great an expectation.

    Might be good to hae a look at this QT based IDE (running on Linux, Mac and Windows) : http://forums.parallax.com/showthread.php?129362-PZST-an-open-source-Propeller-IDE-in-development-Release-date-June-1st-2011&highlight=pzst
  • jmgjmg Posts: 15,185
    edited 2011-06-14 18:14
    As well as the usual suspects, I see Nuvoton (who have just released a family of Cortex uC), have support via CooCox ?

    CoIDE is a new, free and highly-integrated software development environment for ARM cortex M3 and M0 based microcontrollers, which includes all the tools necessary to develop high-quality software solutions in a timely and cost effective manner. It integrates CoBuilder and CoDebugger for simplicity and ease of use.

    Given this has low level drivers for a number of links already done, this could be worth looking at.
    Anyone used this ?

    www.coocox.org seems to be down, but google's cache has enough to look at.

    I've started looking at this, and downloaded CoCenter, which then presents these choices :

    CooCox_Downloads.PNG


    After download, CoIDE started OK, with a nice repository system, for managing drivers and source libraries, ticked a few and hit Build, and voila, it worked.

    Program Size:
    text data bss dec hex filename
    1540 0 1224 2764 acc Pro1.elf

    The CoIDE flash download seems to not work, but the separate CoFlash crashed a couple of times, then I got intelligent LED flashes, and Not Blank, and Verify fail messages
    (of My Proj against the pre-shipped Blinky demo)

    Load of .C and .H give expected Text editor shells, with nice Type/Var declaration outlines, and
    a live syntax checking system.
    No Column mode in the editor tho :(

    Debug gave some strange [Error: Could not load the dependent dll] messages, and the default flash dir looked wrong, so I manually changed that, and now I get
    [Error: Failed to parse flash driver file] - hmm....

    I think CoIDE/Debug uses eclipse, and I cannot check Step, but breakpoint defines are as you'd expect (tho no check on legal code for that line ? ).

    I'll look for the shipped blinky, and download that with a changed flash rate.
    868 x 410 - 38K
  • octaloctal Posts: 67
    edited 2011-06-15 01:16
    The CooCox IDE is not based on Eclipse IDE (language tools integration I mean). It's based on Eclipse RCP (Ritch Client Platform). So it's light weight, but you lose all Eclipse Language integration facilities. Seriously, this is NOT the way to go if you want a well supported eclipse platform. The main goodie with using true Eclipse platform is that all plugins developed to handle modelisation, languages processing, task management, unit test automatisation, .... all these work natively with your IDE. If you go CooCox way, you lose most of these !!!
  • jazzedjazzed Posts: 11,803
    edited 2011-06-15 09:55
    FYI: One of the items we are considering adding to any IDE GUI is a Propeller configuration window.

    Attributes such as _clkmode, _xinfreq (or _clkfreq) would be set via a dialog window.
    Additionally, "gold-standard" driver configurations can be supported in the dialog window.

    Since we are interested in this type of feature, it makes sense to have a system that allows for such plug-ins.
  • octaloctal Posts: 67
    edited 2011-06-15 12:23
    Hi jazzed,
    Eclipse is 9999% plugins ... everything is plugin ;)
    QT Creator is also built almost on QT plugins technology. Everything is a plugin, even the C/C++ parser is a plugin, external tool handling is done via plugin, ...
  • BatangBatang Posts: 234
    edited 2011-06-15 12:27
    QT Creator is a clean and tidy IDE unlike some of the others.
  • jazzedjazzed Posts: 11,803
    edited 2011-06-15 12:35
    This is just my own preference. I'm not really fond of QtCreator.

    However, If a significant portion of users prefer QtCreator over Eclipse or some other IDE, it may be considered. The thing is, even it that is not the "official" IDE, there is nothing that would stop a third-party from creating a QtCreator project using Propeller 2 GCC since QtCreator uses GCC by default anyway! :). Same goes for Code::Blocks, etc....
  • BatangBatang Posts: 234
    edited 2011-06-15 12:41
    If QT Creator was configured as a replacement for the current prop tool....................... aahh, just a thought.
  • octaloctal Posts: 67
    edited 2011-06-15 12:51
    jazzed wrote: »
    This is just my own preference. I'm not really fond of QtCreator.

    However, If a significant portion of users prefer QtCreator over Eclipse or some other IDE, it may be considered. The thing is, even it that is not the "official" IDE, there is nothing that would stop a third-party from creating a QtCreator project using Propeller GCC since QtCreator uses GCC by default anyway! :). Same goes for Code::Blocks, etc....

    Hi Jazzed,
    is there any release of GCC for Propeller yet ?
    I would be very glad to do needed adaptations of QT Creator to support Propeller tools.
  • jazzedjazzed Posts: 11,803
    edited 2011-06-15 14:02
    We are still in the specification stage for Propeller 2 GCC (Propeller 2 is an unofficial name). We are not targeting the current Propeller for a PASM/LMM GCC port at this time.

    There is a slower Zylin emulator for Propeller that will run code produced by the Zylin GCC compiler/linker. The emulator does not reflect the expected performance or functional capacity of Propeller 2. Look to the ZOG thread for more information on the Zylin emulator.
  • octaloctal Posts: 67
    edited 2011-06-15 14:14
    Hi Jazzed,
    I'm aware of ZOG and I read all threads related to it, as I'm working on such thing for XMOS (since a bit of time).
    I also worked on a disassembler for it using QT (see screenshot).
    I just want to know if there are some details relative to GCC implementation of Propeller2.
    1024 x 589 - 88K
  • jazzedjazzed Posts: 11,803
    edited 2011-06-15 14:44
    We have no implementation details to share at this time. Since you have exposure to ZOG, it would be reasonable to use your IDE with that. I can not guarantee compatibility with elements such as loaders at this point though.
  • RossHRossH Posts: 5,519
    edited 2011-06-23 06:17
    I'd like to put in a vote for Code::Blocks - a lightweight, very fast but very powerful IDE speciifcally intended for C/C++. Much easier to use than most IDEs. It already supports a bunch of C/C++ compilers (via plugins) including GCC, ICC, LCC, TCC, Visual C++, etc - and I have just released a new Catalina plugin that can be installed in Code::Blocks 10.05 - so if you want to try it out, you can already develop C applications using Code::Blocks and Catalina.

    See the Catalina 3.0 thread for more details.

    Ross.
  • jazzedjazzed Posts: 11,803
    edited 2011-06-23 09:03
    RossH wrote: »
    I'd like to put in a vote for Code::Blocks
    I find Code::Blocks clunky ... especially the debug window. At least it supports GCC by default like many other IDEs.
  • RossHRossH Posts: 5,519
    edited 2011-06-23 17:25
    jazzed wrote: »
    I find Code::Blocks clunky ... especially the debug window. At least it supports GCC by default like many other IDEs.

    Well, I can't say I have much experience with the debugger plugin - I don't use it. But as for Code::Blocks being clunky in general, I guess it's "horses for courses". Why, I believe some people even find vi clunky - go figure! :smile:

    For users of the Parallax Propeller Tool, Code::Blocks may look a little more complicated - but for users who have had to wrestle with large and complex beasts such as Eclipse and Visual Studio, the small footprint, clean simplicity, ease of use and sheer speed of Code::Blocks will probably come as a complete revelation.

    Ross.
  • BatangBatang Posts: 234
    edited 2011-06-28 20:47
    This looks like a good place to start:

    http://forums.parallax.com/showthread.php?129362-PZST-an-open-source-Propeller-IDE-in-development-Release-date-June-1st-2011

    It is open source and has most of the basics already done.
  • MacTuxLinMacTuxLin Posts: 821
    edited 2011-06-28 21:41
    I love the Method ComboBox!
  • jazzedjazzed Posts: 11,803
    edited 2011-06-29 10:57
    Any GUI that can use the GCC tool chain will be able to use Propeller GCC. The first post outlines the topic of this thread.
  • BatangBatang Posts: 234
    edited 2011-06-29 21:37
    HI jazzed,

    I am not sure I get the meaning of your post can you expand upon it.
  • mindrobotsmindrobots Posts: 6,506
    edited 2011-06-30 07:01
    The GCC tool chain as modified to support the Propeller II takes source input (regardless of how it is created) and with various control files, libraries and memory model considerations generates a loadable binary image.

    The GUI/IDE lets you create a source file as you please and usually provides ways to invoke the GCC tool chain to create a loadable image from that source.

    Therefore, you can create source input into the tool chain however you like (as long as it fits syntax and other rules) pass it through the GCC/P2 tool chain and create a loadable.
Sign In or Register to comment.