Shop OBEX P1 Docs P2 Docs Learn Events
PropGCC-SimpleIDE — Parallax Forums

PropGCC-SimpleIDE

jazzedjazzed Posts: 11,803
edited 2012-05-11 10:06 in Propeller 1
Hi,

I've spent my own time* developing a Simple IDE for Propeller-GCC.

The Simple IDE Features:
  1. C/C++ syntax highlighting
  2. Tabbed editors for multiple open files
  3. Menu and function key command controls
  4. Toolbar buttons for click controls
  5. Search function, copy, cut, and paste
  6. Project panel file list for click to open files
  7. Add/Delete files on the project panel
  8. Saves project files and options in *.side files
  9. Automated Propeller-GCC builds (no makefiles)
  10. Click-error report to highlight error file and line
  11. Board type select drop-down list and reload
  12. Simple port select and integrated serial terminal
Please join me in using this IDE for testing Propeller-GCC (and testing the IDE).
PropGCC-SimpleIDE will be available at: http://code.google.com/p/propgcc/downloads/list

The package is about 72MB which is neat considering it has both the IDE and Propeller-GCC in it.
Unzip the package and read the SimpleIDE_UserGuide.txt

Please reply here with any questions at all so that I can help you get the most out of this IDE.

I've tested all features to my satisfaction and have noted some challenges and future enhancements in the
SimpleIDE_UserGuide.txt . Currently the Help-About points to an under construction page - it will be enhanced.

More screen shots are attached below.


attachment.php?attachmentid=89565&d=1329175147


Note* By my own time, I mean that it is not an officially sanctioned, sponsored, funded, or even Parallax tested effort.
This is my work that I hope will make your Propeller GCC programming experience better.
1002 x 633 - 146K
1000 x 631 - 128K
1004 x 636 - 189K
«134567

Comments

  • TrapperBobTrapperBob Posts: 142
    edited 2012-02-13 15:56
    Jazzed,

    Thanks for the effort. It is appreciated.

    TrapperBob
  • KyeKye Posts: 2,200
    edited 2012-02-13 16:14
    Sweet! Thanks man!

    What did you make that in?
  • 4x5n4x5n Posts: 745
    edited 2012-02-13 16:41
    Looks good. Any chance of getting a version that works with linux?
  • sevssevs Posts: 50
    edited 2012-02-13 19:16
    +1 for linux if it isnt too hard :D

    Fantastic work jazzed!

    Thanks heaps mate.
  • sevssevs Posts: 50
    edited 2012-02-13 19:39
    Does anyone else get 'propeller-elf-gcc.exe Unknown Error: 1' when they try to debug hello.c?

    I am using a PPDB with winXP in a vitualbox machine. BST can program the prop, and PropGCC-SimpleIDE can see the new com port then i plug in the PPDB.

    In the output part it just show this:
    Project Directory: C:/Documents and Settings/god/My Documents/PropGCC-SimpleIDE/hello/
    
    propeller-elf-gcc.exe -o a.out -Os -mcog -m32bit-doubles -fno-exceptions hello.c -s
    

    I havnt changed any settings aside from the com port to use. I just followed the steps in the user guide.

    Sorry if it is a noob Q :)
  • jazzedjazzed Posts: 11,803
    edited 2012-02-13 19:54
    Hi sevs,

    Please don't sweat questions or any other feedback.

    I saw that problem. Adding C:\propgcc\bin to PATH from the installer fixed it for me.
    Windows7 64bit and Windows XP SP3 are all I have for testing. I don't have Win in VirtualBox.
    Can you open a command window, type echo %PATH%, and copy the output here?

    Would you be willing to try some test programs? The download would be about 3.4 MB.

    --

    Linux and Mac versions are possible. The foundation of the IDE is Qt C/C++.
    I want to post the source to Google Code then port it - shouldn't be too hard.
    Linux runs in VirtualBox on my PC, so I'll port that first. I don't have a Mac.
  • sevssevs Posts: 50
    edited 2012-02-13 20:10
    jazzed, I am more than happy to help out with test programs. The next few days for me a fairly free, so send em at me.

    WHen you say a command window, I assume command prompt? The output was
    C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;;C:\propgcc\bin
    

    I will try reinstalling and see if that helps with the additon to path.
  • jazzedjazzed Posts: 11,803
    edited 2012-02-13 20:10
    sevs or anyone who gets the unknown error.

    Can you please download and unpack PropGCC-SideIDE.exe to the Program Files\PropGCC-SideIDE\bin directory and try it?
    You will need administrative permission for this. Don't uninstall your original package.

    Don't bother to reinstall the whole package, it won't help. Your PATH looks just fine.
  • sevssevs Posts: 50
    edited 2012-02-13 20:17
    That fixed the problem. It builds, loads and brings up the terminal.

    I didnt get anything on the terminal, but that may well be my setup.
  • sevssevs Posts: 50
    edited 2012-02-13 20:20
    I selected burn instead and now it is working.
  • jazzedjazzed Posts: 11,803
    edited 2012-02-13 20:20
    sevs wrote: »
    That fixed the problem. It builds, loads and brings up the terminal.

    I didnt get anything on the terminal, but that may well be my setup.

    Great! Keep me up to date with your progress. I'll upload a new package fix on the GoogleCode page.
  • jazzedjazzed Posts: 11,803
    edited 2012-02-13 23:00
    Hi All.

    @sevs has been working with me trying to understand his issue.
    Thanks for his patience. And thanks for your's too.

    What we found was that some library files are missing from the distribution.
    I think I still have more work to do on this, so you might want to hold off on downloading.
    I'm afraid more library files could be missing, and I'm too tired to chase it all down just now.

    Still, I'm leaving a new package for the adventurous on this page.

    Thanks,
    --Steve
  • sevssevs Posts: 50
    edited 2012-02-13 23:15
    A huge thanks to jazzed for spending a considerable amount of time helping me today.

    jazzed: 0.3.2 seems to have solved most of the issues i was having. Debug/run still do not work as expected though, possibly the prop is resetting after it has been programmed causing it to loose its program? When i burn it works as expected, however it does seem to take maybe 3 seconds for the prop to start output any data over the serial. Again maybe the prop is resetting, but able to load from eeprom.

    In any case, the Hello World example works a treat when using Burn. So anyone keen to give it a whirl, get on it :D

    Thanks again Steve.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-02-14 06:15
    Steve,

    In the spirit of a Guinea Pig, I grabbed the latest, unzipped and installed it. Plugged in my Quickstart and fired up Side. It ran Hello.c loading to RAM, EEPROM and the Debug version (I really like the quick little debug terminal!)

    Only saw 2 strange things:

    1) LPT1 is one of my serial port options (obviously preparing for the long awaited USB/Parallel Propeller module)
    2) the first output to the debug terminal contains some garbage characters before first "Hello World" - maybe an stdio initialization issue in propgcc? maybe a debug terminal issue.

    Win7 Pro
    propgcc that came with SIDE
    Propeller Quickstart board

    Other than that, it works great. I'll be experimenting more with it today as my day job permits. I just have my Quickstart with me today, so testing could be limited.

    It's like "Goldilocks and the 3 IDEs"
    Eclipse is TOO BIG!
    Notepad++ is too small.
    SIDE could be JUST RIGHT!!

    Thank you for your "out of bandwidth" contributions!!
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 08:42
    mindrobots wrote: »
    In the spirit of a Guinea Pig, I grabbed the latest, unzipped and installed it. Plugged in my Quickstart and fired up Side. It ran Hello.c loading to RAM, EEPROM and the Debug version (I really like the quick little debug terminal!)
    Great! Thanks for that.
    What is in your PATH? I.E. In DOS command window type: echo %PATH%
    mindrobots wrote: »
    1) LPT1 is one of my serial port options (obviously preparing for the long awaited USB/Parallel Propeller module)
    2) the first output to the debug terminal contains some garbage characters before first "Hello World" - maybe an stdio initialization issue in propgcc? maybe a debug terminal issue.

    1) LPT1? Ok, I see how that can happen. Will fix.

    2) This is really a QuickStart problem; it causes all kinds of havoc. The same problem can happen in Spin.
    Put a 10K resistor between P30 (TX) and VDD. The garbage will stop.

    sevs wrote:
    jazzed: 0.3.2 seems to have solved most of the issues i was having. Debug/run still do not work as expected though, possibly the prop is resetting after it has been programmed causing it to loose its program? When i burn it works as expected, however it does seem to take maybe 3 seconds for the prop to start output any data over the serial. Again maybe the prop is resetting, but able to load from eeprom.
    Ok, this is good news because 0.3.2 has a change where I needed data. I'm at a loss as to why debug (F8) and run (F10) don't work for you - I still have some configuration things to look at though. I take it that you have no wires connected on your PPDB.

    The Propeller EEPROM boot is always slow, so 3 seconds is reasonable.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-02-14 11:20
    My path:
    C:\Users\rp1537>echo %PATH%
    C:\Program Files\ActiveState Komodo Edit 6\;C:\Python27
    Perl\site\bin;C:\Perl\bin;C:\oracle\product\11.2.0\bin;
    ndows;C:\Windows\System32\Wbem;C:\Windows\System32\Wind
    ogram Files\Enterprise Vault\EVClient\;C:\Program Files
    ntegration\Carefx\Fusionfx;C:\Program Files\Encentuate\
    ft Research KinectSDK\;C:\Users\rp1537\AppData\Roaming\
     Files\ATT Connect\OutlookAddin\Outlook;C:\propgcc\bin
    

    I had added the C:\propgcc\bin previously to use propgcc, if that's where you were headed. I do have a netbook with Win7 that hasn't had propgcc on it. I can install your IDE on there in a bit to see if everything goes well and it sets everything up properly on a clean system.
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 11:28
    mindrobots wrote: »
    I had added the C:\propgcc\bin previously to use propgcc, if that's where you were headed. I do have a netbook with Win7 that hasn't had propgcc on it. I can install your IDE on there in a bit to see if everything goes well and it sets everything up properly on a clean system.
    Actually I was looking for mingw on your path. Guess I could have just said that.
    If you could do a virgin install test, that would be helpful. Thanks.
  • Ken GraceyKen Gracey Posts: 7,400
    edited 2012-02-14 14:49
    Great job, Steve. We're looking at this front-end as a possibility for moving our PropGCC beta forward while we evolve Eclipse. I ran this code on a PropBOE:
    #include "propeller.h"
    
    int main(int argc, char* argv[])
    {
        int mask = 0x3fffffff;
        int freq = CLKFREQ>>1;
        DIRA = mask;
        for(;;) {
            OUTA ^= DIRA;
            waitcnt(freq/2+CNT);
        }    
    }
    

    and did some simple tests:

    - ran it in a COG
    - ran in LMM
    - tried to run in XMM, but no driver was used (OK)
    - tested different optimizations, no failure
    - didn't try the option check-boxes for Math Lib, pthread, etc.

    Have a few questions/comments:

    (a) How is the .side panel updated with the current program? [nevermind, found the button]
    (b) Really impressed how it encompassed the PropGCC compiler in the installation. Made the setup simple.
    (c) GCC-produced error files make sense. Nice to have access to them.
    (d) After download is complete, be sure to empty the progress bar with the % indicator (reads 100% when finished)
    (e) The terminal pane opens when my code is downloaded. Why?

    Ken Gracey

    SimpleIDE-Demo.jpg
    947 x 660 - 91K
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 15:06
    Ken Gracey wrote: »
    Have a few questions/comments:

    (a) How is the .side panel updated with the current program? [nevermind, found the button]
    ....
    (d) After download is complete, be sure to empty the progress bar with the % indicator (reads 100% when finished)
    (e) The terminal pane opens when my code is downloaded. Why?

    Thanks for trying this Ken. Hoping this passes the "easy button" test.

    I'm curious. How did you choose the c:\program files\... directory for your project? Was that the first folder it showed?
    There are several nice programs in the demo directory including Dave Hein's cool vgademo program.

    Item (a) Yes. there is a set project button. It takes the name of your file and makes a project with it.
    One thing to note is the .side panel reflects the project file, so if you want to open another project, look for a *.side file in the project directory.

    Item (d) Noted. Will do.

    Item (e): User interpretation? That's probably from clicking the "blue play button" function F8.
    Use the "green right arrow button" F10 just to load and run.


    --Steve
  • Ken GraceyKen Gracey Posts: 7,400
    edited 2012-02-14 15:11
    @Steve - OK - all works right now! I'll ring ya in a few mins.

    Ken Gracey
  • sevssevs Posts: 50
    edited 2012-02-14 16:17
    Ken Gracey wrote: »
    Great job, Steve. We're looking at this front-end as a possibility for moving our PropGCC beta forward while we evolve Eclipse.

    When a plugin has been made, will this plugin work with other plug-ins for eclipse? Such as a GIT plug-in?

    Sorry to ask about another IDE in your thread Steve, unfortunately work wants version control.
    jazzed wrote:
    Ok, this is good news because 0.3.2 has a change where I needed data. I'm at a loss as to why debug (F8) and run (F10) don't work for you - I still have some configuration things to look at though. I take it that you have no wires connected on your PPDB.

    The Propeller EEPROM boot is always slow, so 3 seconds is reasonable.

    jazzed, the only thing i have plugged in are the power and USB. The good news is though, i fired it all up this morning and run/debug are working as expected too. Seems either myself or my prop just needed to sleep on it :)
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 19:23
    sevs wrote: »
    When a plugin has been made, will this plugin work with other plug-ins for eclipse? Such as a GIT plug-in?

    It should work as far as I know. My copy of Eclipse Indigo has CVS and Git installed. I'll watch it for you.
    Parallax understands the need for these things.

    sevs wrote: »
    The good news is though, i fired it all up this morning and run/debug are working as expected too.

    That's great! If you ever have the problem recur notify me right away.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-02-14 19:36
    Steve,

    Results from virgin installation.

    1GB Netbook running Win7 - less than stellar performance platform.

    The system had a nice little IDE called x-basic already installed - I don't know if that disqualifies it as a virgin.

    Install worked without any issues.
    path was updated to include c:\propgcc\bin - nothing else
    SIDE is very slow to find port but it does find it.
    Using hello.c on C3 and Quickstart (with resistor)
    Compiles quickly and goes to 50% complete - Building with propeller-elf-gcc.exe done. Loading...
    Loader executes and appears to hang.(Sometimes, windows was marking the program as "Not Responding")
    After a while, it appears to time-out and a dialog appears with "C:/bin/propeller-load.exe Error waiting for program to finish." <OK>
    This happens with Run, Burn EEPROM and Debug.

    Running the loader command as generated by the IDE in a command shell does eventually load the Prop and run the program. The IDE may just timeout too soon - based on how slow a 1GB Netbook is with Windows 7, I wouldn't be surprised.

    It does call propgcc correctly and generates a viable a.out and creates a well formed call to the loader. There is a time-out issue on my netbook. The propgcc environment it sets up appears to be functional.

    x-basic, S2 GUI, Propeller tool all do work on the netbook with these prop boards. The propgcc install obviously does work since SIDE calls it and it generates and loads.

    SIDE does seem to load and initialize slowly on the Netbook compared to other programs (like x-basic).

    In a couple days I should have a clean Win 7 install on a quad core desktop to play with when my recovery disks show up......don't ask....

    I'm going to load SIDE on my i7 8gb laptop and see how it runs with a little more horsepower behind it.

    Let me know if there's anything else you want me to try.

    So far, I like it a lot - as I mentioned, Eclipse is too much for what I do.

    Oh, one more thing......can it be ported to Linux and OS X?? or is it forever locked in the Windows world?
  • sevssevs Posts: 50
    edited 2012-02-14 19:50
    Hi jazzed,

    The program i loaded was already burned to the eeprom and i forgot i put it back in yesterday. Quite embarrassing. So debug and run dont work as expected :(

    On the plus side, i have written my first C program in your IDE... and it seems to work :D Initialising a DS18B20. So simple a monkey could do it, but hey. Its a little bit of light in a myriad of confusion :)
  • sevssevs Posts: 50
    edited 2012-02-14 19:55
    One other thing i have noticed. I made a file "myheader.h" and when i cinluded it in my main project file, it didnt appear in the project side pane. Is it supposed to do this? I had to right click and go 'Add File' to get it to appear there. If that is the expected behaviour, why is it so?
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 20:51
    mindrobots wrote: »
    So far, I like it a lot - as I mentioned, Eclipse is too much for what I do.

    Oh, one more thing......can it be ported to Linux and OS X?? or is it forever locked in the Windows world?

    Thanks Rick. This is very helpful.

    I've looked at the temporary freeze issue before because I it was similar for me on my 1GHz Atom WinXP Netbook. I know why this is happening, I just have to dig the solution more.

    Yes, Linux and OS X are definitely on the radar. I'm uploading source to GoogleCode tomorrow so others can build those packages (and port some things if necessary).

    Thanks,
    --Steve
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 21:10
    Hi Ryan (sevs),

    I was wondering about your download success - sorry it didn't work out. I'll send you an email soon on that.
    sevs wrote: »
    One other thing i have noticed. I made a file "myheader.h" and when i cinluded it in my main project file, it didnt appear in the project side pane. Is it supposed to do this? I had to right click and go 'Add File' to get it to appear there. If that is the expected behaviour, why is it so?

    The IDE is simple. That is a two edge word. On one hand it is simple to grasp in many ways. On the other hand it has a simple implementation.

    So, regarding the project manager: as you have discovered, files must be added and deleted from the project side panel. I know it's best to have all files listed there, but all the IDE really needs to know for a build are files like: *.c, *.cpp, *.s, *.S, *.cogc, and *.spin . Other file types are ignored.

    There are rules for those file types:
    Types .c and .cpp are built with gcc or g++ depending on the compiler type.
    Types .s and .S are compiled by the gcc assembler.
    Type .cogc is a C file that will be compiled to be loaded into COGs by the main C program.
    Type .spin is any ASCII Spin file containing PASM to be compiled and loaded to COGs by the program.


    This is the first time I've explained the types and thought your question was a good reason to do so.
  • sevssevs Posts: 50
    edited 2012-02-14 21:46
    jazzed wrote: »
    There are rules for those file types:
    Types .c and .cpp are built with gcc or g++ depending on the compiler type.
    Types .s and .S are compiled by the gcc assembler.
    Type .cogc is a C file that will be compiled to be loaded into COGs by the main C program.
    Type .spin is any ASCII Spin file containing PASM to be compiled and loaded to COGs by the program.


    This is the first time I've explained the types and thought your question was a good reason to do so.

    Is there any literature regarding this at the moment? That is one thing i have been wondering about, how would i load something into a cog and have access to it. (ie reading the temp from a DS18B20). I might start a new thread about that once i think i have any hope of understanding it rather than clogging up yours. :)
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 23:33
    sevs wrote: »
    Is there any literature regarding this at the moment? That is one thing i have been wondering about, how would i load something into a cog and have access to it. (ie reading the temp from a DS18B20). I might start a new thread about that once i think i have any hope of understanding it rather than clogging up yours. :)

    We have to write up docs on how to start COGs in different ways. The toggle demos in the propgcc-demos pack has lots of example. The same demos are in the IDE demo workspace folder.

    Mindrobots wrote a great getting started guide called The Toggle Tutorial (perfect title :) all T's) Maybe we need to make some incentives for him to finish?
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 23:42
    Hi All,

    I spend lots of time with @sevs working on the issues he is facing.

    It looks like a virtual box dependency, though it's hard to tell.
    Anyone else have WindowsXP running in virtual box?

    The main problem as I see it is the terminal console is not being updated.
    Funny though that burning the eeprom and then opening the console works.
    We were able to fix the loader issue. The current 0_3_2 package should be ok.

    Thanks a ton to @sevs for getting on Google+ and sharing his desktop view.

    --Steve
Sign In or Register to comment.