This section has all sorts of useful information about programming the Propeller with C or C++, as well as information about the Propeller GCC tool suite itself. Click a sub-page link at the left to find out more.
Propeller GCC can compile programs for propeller in several modes. Each mode has advantages and limitations.
COG - Name for one of eight Propeller execution cores having 2KB memory and two counter modules.
LMM - "Large Memory Model" method defined by Bill Henning to fetch/run instructions from HUB memory.
CMM - "Compressed Memory Model" method based on LMM, with code size and speed reduction.
XMMC - "eXternal Memory Model Code" fetch/run instructions from external memory using a cache.
XMM-SINGLE - model where code and data reside in a single external device block.
XMM-SPLIT - model where code and data reside in separate external device blocks.
The XMM modes must have appropriate external hardware.
COG programs can either be normal C programs or COG C programs designed for creating devices such as 115200 full duplex UART, SPI / SDIO master, I2C master or slave, etc.... Select code can run as LMM even in XMM-type memory modes. Other XMM type memory mode layouts are possible using custom linker scripts. All current XMM designs are cached, but it is possible to use non-cached modes depending on the memory access driver design.
*Maximum performance based on a typical 80MHz system clock using 5MHz crystal and PLLx16.