The Propeller chip makes it easy to rapidly develop embedded applications. Its eight processors (cogs) can operate simultaneously, either independently or cooperatively, sharing common resources through a central hub. The developer has full control over how and when each cog is employed; there is no compiler-driven or operating system-driven splitting of tasks among multiple cogs. A shared system clock keeps each cog on the same time reference, allowing for true deterministic timing and synchronization. Two programming languages are available: the easy-to-learn high-level Spin, and Propeller Assembly which can execute at up to 160 MIPS (20 MIPS per cog). // parallax.com
I love that the Propeller has eight “cogs”; makes me want to build a machine that implements Carroll’s Eight Magics. The Propeller demo board (shown above) seems well suited to interactive multimedia applications, with on-board support for TV, VGA, mic, stereo phones, keyboard and mouse inputs (PS/2, which can be adapted to a variety of devices), eight I/O pins with headers, and RS-232 serial communications.
- Propeller main site | many links to resources
- Propeller manual (v1.1, .pdf) | includes exercises and Spin language reference
- Programming and Customizing the Multicore Propeller Microcontroller: The Official Guide
- Programming the Propeller with Spin: A Beginner’s Guide to Parallel Processing
- Propeller forum
- Propeller wiki
- ViewPort | “the premier debugging environment for the Parallax Propeller”
- 12Blocks | visual programming language for Propeller (similar to Scratch; cf. Modkit for Arduino)
- Propeller starter kit | includes the demo board and a hardcopy of the manual
- Propeller education kit | looks like a serious course for those who want access to every technical detail of the microcontroller
- HYDRA game development kit | create your own console games and media; includes Tiny BASIC, so you can resurrect those old school games and give them some new flavor
- collection of Propeller articles from Nuts & Volts magazine
- “Why the Propeller Works” (.pdf) | response written by the chip’s creator, Chip Gracey, to a criticism about using the Propeller in professional applications
- Wikipedia: Parallax Propeller
- Wikipedia: Embedded System
Yes, I’ve wondered how exactly the Propeller handles multi-processing/tasking. I haven’t made time to properly investigate that, yet.
I just discovered a Forth kernel for the Propeller, built with propasm, an open-source assembler for the Propeller. I have an affinity for Forth (and Chuck Moore’s philosophy); I used it in school to program fischertechnik kits.
Just found this post.
Please try
http://code.google.com/p/propforth/
Sal Sanci has written several iterations of a forh kernel tailor to the propellor chip. This might be more intersting.
Cliffe’s work is really cool, but he never shared the source or updates.
Thank you, Prof. Braino. I saw you mentioned on the Parallax forum, here.
This is interesting! My concern would be that not having a kernel to take of the multitasking would mean a huge initial burden on the developer. Things like thread contention and deadlocking are not easy problem, which is why we have continued to abstract multicore processing more and more. The trend of pushing out hobbyist hardware for cheaper prices is very exciting to me. I think it will lead to much more innovation. Looks like their website is down currently though :(