PropGCC on the P2 status

David BetzDavid Betz Posts: 13,714
edited 2013-01-19 - 05:43:26 in Propeller 2
There are a number of new features in PropGCC for the P2 that have been added to Google Code recently:

1) Support for CMM mode. This is currently limited to 64k of hub memory because the old P1 CMM kernel uses 16 bit addresses. We're discussing making changes to support 24 bit addressing but even this version could be useful on the DE0-Nano which only has 32k of hub memory.

2) Support for the SD card on the DE2-115 board.

3) Support for the P2 in propeller-load so you don't have to use different loaders for the P1 and P2. This also means that you can make use of propeller-load's variable patching and board configuration files. I've added a board configuration file for de2-115. I can add one for de0-nano as well.

4) The loader no longer requires PNut.exe to build its second-stage loader. It uses GAS instead.

5) Various bug fixes in the GAS P2 instruction assembler.

6) The C++ compiler is built but hasn't been tested.

If anyone thinks they'd like to try this on a Windows machine I can make a new zip file. Let me know.


  • David BetzDavid Betz Posts: 13,714
    edited 2013-01-17 - 12:39:41
    Based on the overwhelming response I got here, I've made a new PropGCC for P2 zip file and uploaded it to Google Code! :-)

    This version has support for both C and C++ as well as a preliminary version of spin2cpp that can compile and run my simple LED blinking demo for the DE2-115 board. It also supports a version of CMM that is limited to 64k since it uses 16 bit addresses. We're working on an update that will address all of P2 hub memory.
  • jazzedjazzed Posts: 11,803
    edited 2013-01-17 - 15:47:15
    Good work David.

    Nice to see some kind of SPIN running on a P2 design.
  • Ahle2Ahle2 Posts: 999
    edited 2013-01-19 - 05:43:26
    You are doing a great work; It's very much appreciated. But my primary focus is on trying out all new instruction in pasm and dissecting the inner workings of the P2.

    C/C++ will be my primary language for the not so timing critical stuff and glue logic on the P2. I found spin to be a little bit too limited for "hardcore" stuff and often a big bottleneck speedwise. But I will give Chip credit for making an extremely easy to use language for beginners as well as for the very compact byte code footprint.

Sign In or Register to comment.