PropGCC on the P2 status
David Betz
Posts: 14,516
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.
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.
Comments
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.
http://code.google.com/p/propgcc/downloads/detail?name=prop2gcc-2013-01-17.zip&can=2&q=#makechanges
Nice to see some kind of SPIN running on a P2 design.
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.
/Johannes