925:
733:, using two other I/O pins that can be used to upload software directly to RAM (and optionally to the external EEPROM). If the Propeller sees no commands from the serial port, it loads the user program (the entry code of which must be written in Spin, as described above) from the serial EEPROM into the main 32 KB RAM. After that, it loads the Spin interpreter from its built-in ROM into the dedicated RAM of its first cog, overwriting most of the bootloader.
31:
20:
264:), as inputs. Pins can be reconfigured dynamically, but again, the change applies to all cogs, so synchronizing is important for certain designs. Some protection is available for situations where one core attempts to use a pin as an output while another attempts to use it as an input; this is explained in Parallax's technical reference manual.
457:. Because it is interpreted in software, it runs slower than pure Propeller assembly, but can be more space-efficient: Propeller assembly opcodes are 32 bits long; Spin directives are 8 bits long, which may be followed by a number of 8-bit bytes to specify how that directive operates. Spin also allows avoiding significant
394:), of the Propeller chip. After booting the propeller, a bytecode interpreter is copied from the built in ROM into the 2 KB RAM of the primary COG. This COG will then start interpreting the bytecodes in the main 32 KB RAM. More than one copy of the bytecode interpreter can run in other COGs, so several Spin code
689:
lines with essentially zero handling delay. Alternately, one line can be used to signal the interrupt, and then additional input lines can be read to determine the nature of the event. The code running in the other cores is not affected by the interrupt handling cog. Unlike a traditional multitasking
611:
All eight cores can access the 32-bit port (designated "A"; there is currently no "B") simultaneously. A special control mechanism is used to avoid I/O conflicts if one core attempts to use an I/O pin as an output while another tries to use it as input. Any of these pins can be used for the timing or
952:
As of 2014, Parallax is building a new
Propeller with cogs that each will run at about 200 MIPS, whereas the current Propeller's cogs each run at around 20 MIPS. The improved performance would result from a maximum clock speed increase to 200 MHz (from 80 MHz) and an architecture
682:
To handle an external signal promptly on the
Propeller, any one of the 32 I/O lines is configured as an input. A cog is then configured to wait for a transition (either positive or negative edge) on that input using one of the two counter circuits available to each cog. While waiting for the signal,
236:
wait needed for timing purposes, then increased afterward, causing the processor to use less power. However, the utility of this technique is limited to situations where no other cog is executing timing-dependent code (or is carefully designed to cope with the change), since the effective clock rate
464:
At startup, a copy of the bytecode interpreter (less than 2 KB in size), will be copied into the dedicated RAM of a cog and will then start interpreting bytecode in the main 32 KB RAM. Additional cogs can be started from that point, loading a separate copy of the interpreter into the new
875:(MCS) refers to the synchronous serial communication between prop chips. 96-bit packets are sent continuously between two cogs, the result is that applications see additional resources (+6 cogs for each prop chip added) with little or no impact on throughput for a well constructed application.
292:(DAC). The frequency of the oscillator is important, as the correction ability of the video timing hardware is limited to the clock rate. It is possible to use multiple cogs in parallel to generate a single video signal. More generally, the timing hardware can be used to implement various
887:
refers to the package of optimizations that allow assembler routines to be swapped in (and out by overwrite) on the fly, allowing virtually unlimited application size. Script execution allows extensions to be loaded on the fly, allowing program source up to the size of storage media.
654:
Software libraries are available to implement several I/O devices ranging from simple UARTs and Serial I/O interfaces such as SPI, I²C and PS/2 compatible serial mouse and keyboard interfaces, motor drivers for robotic systems, MIDI interfaces and LCD controllers.
788:, for Propeller (branch release_1_0). The C compiler and the C Library are ANSI C compliant. The C++ compiler is ANSI-C99 compliant. Full C++ is supported with external memory. The SimpleIDE program provides users a simple way to write programs without requiring
940:
editor and resulting code is emitted as Spin source. PICoPLC also supports P8X32 with create-simulate-run feature. No restrictions on target hardware as the oscillator frequency and IO pins are freely configurable in the ladder editor. PICoPLC developer website
245:
programming language executes approximately 80,000 instruction-tokens per second on each core, giving 8 times 80,000 for 640,000 high-level instructions per second. Most machine-language instructions take 4 clock-cycles to execute, resulting in 20 million
675:. When an interrupt occurs, the interrupt controller suspends normal CPU processing and saves internal state (typically on the stack), then vectors to the designated interrupt service routine. After handling the interrupt, the service routine executes a
858:
A free version that enjoys extensive development and community support is PropForth. It is tailored to the prop architecture, and necessarily deviates from any general standard regarding architectural uniqueness, consistent with the concept of Forth.
288:(VGA) monitors. Parallax thus makes sample code available which can generate video signals (text and somewhat low-resolution graphics) using a minimum parts count consisting of the Propeller, a crystal oscillator, and a few resistors to form a crude
792:. In 2013, Parallax incorporated Propeller-GCC and Simple Libraries into the Propeller-C Learn series of tutorials. Propeller-GCC is actively maintained. Propeller-GCC and SimpleIDE are officially supported Parallax software products.
240:
The effective clock rate ranges from 32 kHz up to 80 MHz (with the exact values available for dynamic control dependent on the configuration used, as described above). When running at 80 MHz, the proprietary interpreted
579:
It has been jokingly opined that "If two languages were to meet in a bar – Fortran and BASIC – nine months later one would find Spin." This refers to the whitespace formatting of FORTRAN and the keyword-based operation of BASIC.
231:
Both the on-board oscillator frequency (if used) and the PLL multiplier value may be changed at run-time. If used correctly, this can improve power efficiency; for example, the PLL multiplier can be decreased before a long
1289:
253:
Power use can be reduced by lowering the clock rate to what is needed, by turning off unneeded cogs (which then use little power), and by reconfiguring I/O pins which are unneeded, or can be safely placed in a
866:
refers to the method of associating a stream with process, allowing one process to link to the next on the fly, transparent to the application. This can reduce or eliminate the need of a hardware debugging or
563:
881:
refers to an extension package that implements software logic analyzer. EEPROMfilesystem and SDfilesystem are extensions that implement rudimentary storage using EEPROM and SD flash.
624:
1297:
272:
Each cog has access to some dedicated counter-timer hardware, and a special timing signal generator intended to simplify the design of video output stages, such as composite
1035:
The
Propeller 1 (P8X32A) is now a 100% open multicore microcontroller, including all of the hardware and tools ... The Propeller 1 may be the most open chip in its class.
671:
hardware and support in assembly. In traditional CPU architecture, external interrupt lines are fed to an on-chip interrupt controller and are serviced by one or more
637:, (a computer system designed for hobbyists, to learn to develop retro-style video games) uses the built-in character generator and video support logic to generate a
1464:
465:
cog's dedicated RAM (a total of eight interpreter threads can, thus, run simultaneously). Notably, this means that at least a minimal amount of startup code
378:
Spin code is written on the
Propeller Tool, a GUI-oriented software development platform written for Windows XP. This compiler converts the Spin code into
971:
1459:
152:
overwrites itself with the Spin
Interpreter. Subroutines in Spin (object-based high-level code) use a call-return mechanism requiring use of a call
740:
with the Spin interpreter running in the primary cog. After this initial Spin code runs, the application can turn on any unused cog to start a new
683:
the cog operates in low-power mode, essentially sleeping. Extending this technique, a
Propeller can be set up to respond to eight independent
604:
package. Of the 40 available pins, 32 are used for I/O, four for power and ground pins, two for an external crystal (if used), one to enable
337:
a sine table (16-bit, 2049 entries representing first quadrant, angles from 0 to π/2; other three quadrants are created from the same table).
1311:
1217:
722:
interface in software, temporarily using two I/O pins for the needed serial clock and data signals to load user code from an external IC
220:(providing higher maximum speed with greater accuracy at higher total cost). Only the external oscillator may be run through an on-chip
1511:
1391:
1048:
1156:
1369:
1333:
1068:
349:
routines). The
Propeller is a 32-bit processor, however, and these tables may have insufficient accuracy for higher-precision uses.
953:
that pipelines instructions, executing an average of nearly one instruction per clock cycle (approximately a ten-fold increase).
558:
editor) which emits the current system counter every 3,000,000 cycles, then is shut down by another cog after 40,000,000 cycles:
1133:
1474:
698:
in this context can cause confusion, since this function can be more properly thought of as polling with a zero loop time.
2235:
1485:
FirstSpin, a weekly educational audio program about the Spin programming language and the
Propeller, sponsored by Parallax
818:
set of tools for developing with the
Parallax Propeller. As of August 2015, BST runs on i386-linux-gtk2, PowerPC-darwin (
1087:
2230:
1194:
644:-generator that outputs VGA color pictures, PAL/NTSC compatible color pictures or broadcast RF video+audio in software.
568:
The
Parallax Propeller is gradually accumulating software libraries which give it similar abilities to Parallax's older
345:, and more primitive missing operations, such as multiplication and division (this is masked in Spin but is a limit for
439:
91:
1913:
208:
using either an internal, on-chip oscillator (providing a lower total part count, but sacrificing some accuracy and
2299:
62:
2217:
2133:
454:
361:
2247:
2127:
1504:
982:
615:
Parallax has stated that it expects later versions of the Propeller to offer more I/O pins and/or more memory.
438:, from user code which has been edited, compiled, and loaded onto the Propeller from within a purpose-specific
416:
2184:
1444:
1177:
814:
programming language for the Parallax Propeller Microcontroller. PropBASIC requires Brad's Spin Tool (BST), a
2309:
2304:
2268:
933:
909:
768:
Apart from Spin and the Propeller's low-level assembler, a number of other languages have been ported to it.
408:
364:
114:
2225:
1612:
1534:
839:
1865:
289:
1931:
1469:
633:
597:
153:
106:
2139:
1319:
1115:
2294:
2044:
1657:
1539:
1497:
1018:
741:
672:
588:
The initial version of the chip (called the P8X32A) provides one 32-bit port in a 40-pin 0.6 in
427:
395:
1225:
631:
The Propeller's designers designed it around the concept of "virtual I/O devices". For example, the
781:
641:
601:
368:
70:
2240:
862:
Beyond the Forth interpreter, PropForth provides many features that exploit the chip's abilities.
2273:
2149:
2002:
1572:
1164:
997:
777:
691:
247:
133:
80:
66:
714:
routine from the internal ROM into the RAM of its first (primary) cog and execute it. This code
2144:
2121:
707:
627:
Screen capture of the graphics demo that Parallax created to demonstrate the NTSC video library
293:
165:
710:
detection, software reset, or external hardware reset, the Propeller will load a machine-code
382:
that can be loaded (with the same tool) into the main 32 KB RAM, and optionally into the
97:
On August 6, 2014, Parallax Inc. released all of the Propeller 1 P8X32A hardware and tools as
2115:
2109:
1968:
1557:
358:
156:. Assembly (PASM, low-level) code needs no call stack. Access to shared memory (32 KB
52:
1399:
736:
Regardless of how the user program is loaded, execution starts by interpreting initial user
2190:
1756:
1592:
1577:
897:
847:
760:; once the boot sequence completes, this device may be accessed as an external peripheral.
589:
320:
is provided, suitable for typical character generation applications (but not customizable);
285:
157:
117:(HDL) files, Spin interpreter, PropellerIDE and SimpleIDE programming tools and compilers.
102:
98:
84:
46:
24:
1377:
8:
1771:
1712:
1141:
843:
458:
420:
342:
145:
924:
936:(PLC, PICoPLC) supports output to Propeller processor. The program is created in a GUI
308:, the built-in ROM provides some data which may be useful for certain sound, video, or
213:
49:
1582:
1549:
1436:
745:
447:
346:
260:
221:
217:
76:
795:
The ImageCraft ICCV7 for Propeller C compiler has been marked to end-of-life state.
398:
can run simultaneously. Within a Spin code program, assembly code program(s) can be
2165:
2064:
2034:
1895:
1835:
1831:
1818:
1449:
434:
interpreter. This interpreter decodes strings of instructions, one instruction per
225:
161:
137:
2263:
2196:
2072:
1908:
1695:
1690:
1685:
1672:
1621:
1567:
1520:
1002:
976:
789:
638:
400:
372:
94:(IDE) were designed by Chip Gracey and Parallax's software engineer Jeff Martin.
55:
2082:
1063:
1990:
1727:
1705:
1642:
1413:
913:
815:
799:
664:
255:
209:
193:
1454:
1098:
2288:
1700:
1680:
1202:
822:
10.4 through 10.6), i386-darwin (Mac OS X 10.4 through 10.6) and i386-Win32 (
900:(JVM) on Propeller. A compiler, debugger, and emulator are being developed.
690:
single-processor interrupt architecture, the signal response timing remains
176:. Each cog also has access to two dedicated hardware counters and a special
2077:
2054:
2029:
1995:
1948:
1941:
1916:
1880:
1806:
1749:
1739:
1652:
937:
605:
539:
waits for a (video) timing event before outputting (video) data to I/O pins
412:
169:
83:
were designed by Parallax's cofounder and president, Chip Gracey. The Spin
679:
instruction which restores the internal state and resumes CPU processing.
1958:
1903:
1885:
1850:
1845:
1840:
1801:
1776:
730:
569:
309:
305:
205:
149:
1271:
1963:
1826:
1796:
1744:
1722:
1717:
1629:
1562:
1351:
1093:
823:
562:
281:
1312:"Catalina - a FREE C compiler for the Propeller - The Final Frontier!"
942:
404:
inserted. These assembler program(s) will then run on their own COGs.
341:
The math extensions are intended to help compensate for the lack of a
30:
2176:
2049:
1975:
1860:
1855:
1791:
1766:
1587:
1253:
1239:
827:
685:
668:
324:
1662:
1786:
1489:
798:
A free ANSI C compiler named Catalina is available. It is based on
737:
715:
431:
379:
141:
2007:
1926:
1479:
711:
623:
331:
110:
19:
533:
wait for the system counter to equal or exceed a specified value
375:
on which it runs, for their line of Propeller microcontrollers.
2024:
2012:
1634:
1597:
1181:
757:
723:
573:
391:
250:(MIPS) per cog, or 160 MIPS total for an 8-cog Propeller.
59:
719:
383:
1985:
1953:
1936:
1921:
1647:
819:
811:
785:
647:
The screen capture displayed here was made using a software
69:(CPU) cores. Introduced in 2006, it is designed and sold by
2170:
2039:
1980:
1875:
1781:
1761:
868:
593:
435:
317:
277:
185:
35:
1334:"Download PropBASIC here... 00.01.14 LAST VERSION FOR BST"
912:
is implemented by a compiler and interpreter based on the
612:
pulse-width modulation output techniques described above.
1870:
1734:
1602:
273:
189:
181:
658:
514:– predefined data, memory reservations and assembly code
148:
is possible and is used internally, for example, as the
1484:
776:
Parallax supports Propeller-GCC which is a port of the
667:
multi-core architecture negates the need for dedicated
1475:
List of programming languages running on the Propeller
651:
that sends the pixel data over a serial link to a PC.
477:
Spin's syntax can be divided into blocks, which hold:
352:
1290:"ICCV7 for Propeller (Non-Commercial) - End of Life"
1157:"Parallax Forums post about screen capture software"
1146:; a dedicated video generator board with a propeller
1062:
Scanlan, David A.; Hebel, Martin A. (October 2007).
572:product; however there is no uniform list of which
388:
electrically erasable programmable read-only memory
1445:Wiki with detailed information about the propeller
461:issues that must be considered for assembly code.
763:
663:The design philosophy of the Propeller is that a
2286:
426:The Propeller's interpreter for its proprietary
411:, Spin uses indentation whitespace, rather than
371:'s Chip Gracey, who also designed the Propeller
120:In 2020, Propeller 2 (P2X8C4M64P) was released.
554:An example program, (as it would appear in the
903:
469:be Spin code, for all Propeller applications.
228:, which may be set at 1x, 2x, 4x, 8x, or 16x.
1505:
838:There are at least six different versions of
780:(GCC) compiler for the programming languages
751:
199:
1184:; Propeller object exchange software library
1061:
756:The Propeller boots from an external serial
1064:"Programming the eight-core propeller chip"
928:Screen capture of the PICoPLC ladder editor
608:and brownout detection, and one for reset.
1512:
1498:
1224:. No. 193. p. 80. Archived from
1110:
1108:
304:In addition to the Spin interpreter and a
136:(CPU) which has access to 512 32-bit long
123:
1069:Journal of Computing Sciences in Colleges
972:"First look at Parallax's Propeller chip"
833:
180:for use in generating timing signals for
128:Each of the eight 32-bit cores (termed a
75:The Propeller microcontroller, Propeller
1215:
1049:"EiED Online>> Parallax Propeller"
923:
919:
622:
29:
18:
1134:"Propeller Video Application Board PCB"
1105:
995:
969:
267:
2287:
1047:Wong, William G. (December 15, 2022).
1016:
970:Torrone, Phillip (February 18, 2006).
896:There are efforts underway to run the
618:
576:facilities now have Spin equivalents.
442:(IDE). This IDE, which Parallax names
1493:
891:
659:Dedicated cores instead of interrupts
1519:
1046:
996:Torrone, Phillip (August 21, 2006).
527:causes the microcontroller to reboot
802:. Catalina is actively maintained.
518:
13:
947:
583:
549:
440:integrated development environment
353:Built in Spin bytecode interpreter
92:integrated development environment
14:
2321:
2134:High voltage parallel programming
1428:
805:
701:
334:table (base 2, 2048 entries); and
299:
1450:Propeller forum at Parallax Inc:
1254:"Propeller C - Set Up SimpleIDE"
873:Multi-Channel Synchronous Serial
561:
545:starts a processor on a new task
63:reduced instruction set computer
2218:List of common microcontrollers
2128:High-voltage serial programming
1465:a second article at EiED online
1406:
1384:
1362:
1344:
1326:
1304:
1282:
1264:
1246:
1232:
1209:
1187:
1171:
850:, available for the Propeller.
502:– code for a private subroutine
455:high-level programming language
2248:List of Wi-Fi microcontrollers
1149:
1126:
1080:
1055:
1040:
1010:
989:
963:
764:Other language implementations
729:Simultaneously, it emulates a
496:– code for a public subroutine
446:, is intended for use under a
1:
2269:Programmable logic controller
2110:In-circuit serial programming
1480:Download PICoPLC from APStech
1216:Cantrell, Tom (August 2006).
998:"Parallax Propeller (review)"
956:
934:programmable logic controller
771:
365:computer programming language
327:table (base 2, 2048 entries);
115:hardware description language
109:(GPL) 3.0. This included the
1535:Single-board microcontroller
1396:Propeller wiki at Wikispaces
1374:Propeller wiki at Wikispaces
1199:Propeller wiki at Wikispaces
853:
694:, and indeed using the term
430:Spin computer language is a
144:) of instructions and data.
7:
2122:Program and Debug Interface
1470:An article at ferret.com.au
904:Pascal compiler and runtime
290:digital-to-analog converter
10:
2326:
752:External persistent memory
673:interrupt service routines
634:HYDRA Game Development Kit
598:Quad Flat No-leads package
212:stability) or an external
200:Speed and power management
107:GNU General Public License
16:Multi-core microcontroller
2256:
2210:
2158:
2102:
2095:
2063:
1894:
1817:
1671:
1620:
1611:
1548:
1540:Special function register
1527:
1116:"Parallax Forums message"
1019:"Propeller 1 Open Source"
871:interface in many cases.
472:
164:(ROM)) is controlled via
43:Parallax P8X32A Propeller
1240:"PropGCC on Google Code"
642:graphics processing unit
602:surface-mount technology
2300:Parallax, Inc. products
2274:List of microprocessors
2171:Joint Test Action Group
1455:Propeller GCC Beta Site
1392:"Programming in Pascal"
778:GNU Compiler Collection
453:The Spin language is a
248:instructions per second
237:is common to all cogs.
134:central processing unit
124:Multi-core architecture
67:central processing unit
1460:Article at EiED online
1218:"Turning the Core-ner"
929:
834:Forth on the Propeller
649:virtual display driver
628:
296:(PWM) timing signals.
294:pulse-width modulation
196:-control, and others.
172:controller termed the
166:round-robin scheduling
38:
34:Parallax Propeller in
27:
23:Parallax Propeller in
2116:In-system programming
1370:"Programming in Java"
927:
920:Graphical programming
677:return from interrupt
626:
204:The Propeller can be
53:computer architecture
33:
22:
2310:Open microprocessors
2305:Open-source hardware
2185:In-circuit debugging
1017:Gracey, Ken (2014).
898:Java virtual machine
848:open-source software
590:dual in-line package
286:Video Graphics Array
280:displays (including
268:On-board peripherals
158:random-access memory
99:open-source hardware
85:programming language
47:multi-core processor
25:dual in-line package
2241:Renesas Electronics
2191:In-circuit emulator
1138:SelmaWare Solutions
619:Virtual I/O devices
490:– program constants
459:memory segmentation
343:floating-point unit
284:for broadcast) and
146:Self-modifying code
1258:learn.parallax.com
1092:Propeller wiki at
930:
908:A large subset of
892:Propeller and Java
629:
508:– code for objects
484:– global variables
450:operating system.
444:The Propeller tool
214:crystal oscillator
160:(RAM); 32 KB
39:
28:
2282:
2281:
2206:
2205:
2091:
2090:
1772:PIC10/12/16/17/18
1276:learn.parllax.com
746:assembly language
448:Microsoft Windows
347:assembly language
222:phase-locked loop
218:ceramic resonator
77:assembly language
2317:
2295:Microcontrollers
2222:By manufacturer
2166:Nexus (standard)
2100:
2099:
1618:
1617:
1521:Microcontrollers
1514:
1507:
1500:
1491:
1490:
1440:
1439:
1437:Official website
1422:
1421:
1410:
1404:
1403:
1398:. Archived from
1388:
1382:
1381:
1376:. Archived from
1366:
1360:
1359:
1348:
1342:
1341:
1330:
1324:
1323:
1318:. Archived from
1308:
1302:
1301:
1296:. Archived from
1286:
1280:
1279:
1268:
1262:
1261:
1250:
1244:
1243:
1236:
1230:
1229:
1213:
1207:
1206:
1201:. Archived from
1191:
1185:
1175:
1169:
1168:
1163:. Archived from
1153:
1147:
1145:
1140:. Archived from
1130:
1124:
1123:
1112:
1103:
1102:
1097:. Archived from
1084:
1078:
1077:
1059:
1053:
1052:
1044:
1038:
1037:
1032:
1030:
1014:
1008:
1007:
993:
987:
986:
981:. Archived from
967:
565:
519:Example keywords
226:clock multiplier
162:read-only memory
113:code, top-level
58:chip with eight
2325:
2324:
2320:
2319:
2318:
2316:
2315:
2314:
2285:
2284:
2283:
2278:
2264:Embedded system
2252:
2202:
2197:In-target probe
2154:
2087:
2059:
1890:
1813:
1667:
1607:
1544:
1523:
1518:
1441:, Parallax Inc:
1435:
1434:
1431:
1426:
1425:
1420:. 23 July 2020.
1412:
1411:
1407:
1390:
1389:
1385:
1368:
1367:
1363:
1356:code.google.com
1350:
1349:
1345:
1338:Parallax Forums
1332:
1331:
1327:
1316:Parallax Forums
1310:
1309:
1305:
1288:
1287:
1283:
1270:
1269:
1265:
1252:
1251:
1247:
1238:
1237:
1233:
1214:
1210:
1193:
1192:
1188:
1176:
1172:
1161:Parallax Forums
1155:
1154:
1150:
1132:
1131:
1127:
1120:Parallax Forums
1114:
1113:
1106:
1086:
1085:
1081:
1060:
1056:
1045:
1041:
1028:
1026:
1015:
1011:
994:
990:
968:
964:
959:
950:
948:Future versions
922:
906:
894:
856:
836:
810:PropBASIC is a
808:
774:
766:
754:
744:, and/or start
704:
661:
621:
586:
584:Package and I/O
552:
550:Example program
521:
475:
373:microcontroller
355:
302:
270:
202:
178:video generator
168:by an internal
126:
56:microcontroller
17:
12:
11:
5:
2323:
2313:
2312:
2307:
2302:
2297:
2280:
2279:
2277:
2276:
2271:
2266:
2260:
2258:
2254:
2253:
2251:
2250:
2245:
2244:
2243:
2238:
2233:
2228:
2220:
2214:
2212:
2208:
2207:
2204:
2203:
2201:
2200:
2194:
2188:
2182:
2181:
2180:
2168:
2162:
2160:
2156:
2155:
2153:
2152:
2147:
2142:
2137:
2131:
2125:
2119:
2113:
2106:
2104:
2097:
2093:
2092:
2089:
2088:
2086:
2085:
2080:
2075:
2069:
2067:
2061:
2060:
2058:
2057:
2052:
2047:
2042:
2037:
2032:
2027:
2022:
2017:
2016:
2015:
2005:
2000:
1999:
1998:
1988:
1983:
1978:
1973:
1972:
1971:
1961:
1956:
1951:
1946:
1945:
1944:
1939:
1934:
1929:
1924:
1911:
1906:
1900:
1898:
1892:
1891:
1889:
1888:
1883:
1878:
1873:
1868:
1863:
1858:
1853:
1848:
1843:
1838:
1829:
1823:
1821:
1815:
1814:
1812:
1811:
1810:
1809:
1804:
1799:
1789:
1784:
1779:
1774:
1769:
1764:
1759:
1754:
1753:
1752:
1742:
1737:
1732:
1731:
1730:
1725:
1720:
1710:
1709:
1708:
1703:
1698:
1693:
1688:
1677:
1675:
1669:
1668:
1666:
1665:
1660:
1655:
1650:
1645:
1640:
1637:
1632:
1626:
1624:
1615:
1609:
1608:
1606:
1605:
1600:
1595:
1590:
1585:
1580:
1575:
1570:
1565:
1560:
1554:
1552:
1546:
1545:
1543:
1542:
1537:
1531:
1529:
1525:
1524:
1517:
1516:
1509:
1502:
1494:
1488:
1487:
1482:
1477:
1472:
1467:
1462:
1457:
1452:
1447:
1442:
1430:
1429:External links
1427:
1424:
1423:
1405:
1402:on 2008-10-04.
1383:
1380:on 2008-10-04.
1361:
1343:
1325:
1322:on 2012-07-31.
1303:
1300:on 2011-09-18.
1281:
1263:
1245:
1231:
1228:on 2007-06-28.
1222:Circuit Cellar
1208:
1205:on 2010-09-21.
1186:
1170:
1167:on 2012-07-09.
1148:
1144:on 2008-12-21.
1125:
1104:
1101:on 2008-10-01.
1079:
1054:
1039:
1025:. Parallax Inc
1009:
988:
985:on 2008-06-25.
961:
960:
958:
955:
949:
946:
921:
918:
914:p-code machine
905:
902:
893:
890:
885:PagedAssembler
855:
852:
835:
832:
816:cross-platform
807:
806:BASIC compiler
804:
773:
770:
765:
762:
753:
750:
703:
702:Boot mechanism
700:
665:hard real-time
660:
657:
620:
617:
592:(DIP), 44-pin
585:
582:
556:Propeller Tool
551:
548:
547:
546:
540:
534:
528:
520:
517:
516:
515:
509:
503:
497:
491:
485:
474:
471:
428:multi-threaded
354:
351:
339:
338:
335:
328:
321:
312:applications:
301:
300:ROM extensions
298:
269:
266:
256:high-impedance
201:
198:
194:servomechanism
125:
122:
89:Propeller Tool
71:Parallax, Inc.
15:
9:
6:
4:
3:
2:
2322:
2311:
2308:
2306:
2303:
2301:
2298:
2296:
2293:
2292:
2290:
2275:
2272:
2270:
2267:
2265:
2262:
2261:
2259:
2255:
2249:
2246:
2242:
2239:
2237:
2234:
2232:
2231:NXP/Freescale
2229:
2227:
2224:
2223:
2221:
2219:
2216:
2215:
2213:
2209:
2198:
2195:
2192:
2189:
2186:
2183:
2178:
2175:
2174:
2172:
2169:
2167:
2164:
2163:
2161:
2157:
2151:
2148:
2146:
2143:
2141:
2138:
2135:
2132:
2129:
2126:
2123:
2120:
2117:
2114:
2111:
2108:
2107:
2105:
2101:
2098:
2094:
2084:
2081:
2079:
2076:
2074:
2071:
2070:
2068:
2066:
2062:
2056:
2053:
2051:
2048:
2046:
2043:
2041:
2038:
2036:
2033:
2031:
2028:
2026:
2023:
2021:
2018:
2014:
2011:
2010:
2009:
2006:
2004:
2001:
1997:
1994:
1993:
1992:
1989:
1987:
1984:
1982:
1979:
1977:
1974:
1970:
1967:
1966:
1965:
1962:
1960:
1957:
1955:
1952:
1950:
1947:
1943:
1940:
1938:
1935:
1933:
1930:
1928:
1925:
1923:
1920:
1919:
1918:
1915:
1912:
1910:
1907:
1905:
1902:
1901:
1899:
1897:
1893:
1887:
1884:
1882:
1879:
1877:
1874:
1872:
1869:
1867:
1864:
1862:
1859:
1857:
1854:
1852:
1849:
1847:
1844:
1842:
1839:
1837:
1833:
1830:
1828:
1825:
1824:
1822:
1820:
1816:
1808:
1805:
1803:
1800:
1798:
1795:
1794:
1793:
1790:
1788:
1785:
1783:
1780:
1778:
1775:
1773:
1770:
1768:
1765:
1763:
1760:
1758:
1755:
1751:
1748:
1747:
1746:
1743:
1741:
1738:
1736:
1733:
1729:
1726:
1724:
1721:
1719:
1716:
1715:
1714:
1711:
1707:
1704:
1702:
1699:
1697:
1694:
1692:
1689:
1687:
1684:
1683:
1682:
1679:
1678:
1676:
1674:
1670:
1664:
1661:
1659:
1656:
1654:
1651:
1649:
1646:
1644:
1641:
1638:
1636:
1633:
1631:
1628:
1627:
1625:
1623:
1619:
1616:
1614:
1610:
1604:
1601:
1599:
1596:
1594:
1591:
1589:
1586:
1584:
1581:
1579:
1576:
1574:
1571:
1569:
1566:
1564:
1561:
1559:
1556:
1555:
1553:
1551:
1550:Architectures
1547:
1541:
1538:
1536:
1533:
1532:
1530:
1526:
1522:
1515:
1510:
1508:
1503:
1501:
1496:
1495:
1492:
1486:
1483:
1481:
1478:
1476:
1473:
1471:
1468:
1466:
1463:
1461:
1458:
1456:
1453:
1451:
1448:
1446:
1443:
1438:
1433:
1432:
1419:
1415:
1414:"Propeller 2"
1409:
1401:
1397:
1393:
1387:
1379:
1375:
1371:
1365:
1357:
1353:
1347:
1340:. 2009-12-23.
1339:
1335:
1329:
1321:
1317:
1313:
1307:
1299:
1295:
1291:
1285:
1277:
1273:
1272:"Propeller C"
1267:
1259:
1255:
1249:
1241:
1235:
1227:
1223:
1219:
1212:
1204:
1200:
1196:
1190:
1183:
1179:
1174:
1166:
1162:
1158:
1152:
1143:
1139:
1135:
1129:
1121:
1117:
1111:
1109:
1100:
1096:
1095:
1089:
1083:
1076:(1): 162–168.
1075:
1071:
1070:
1065:
1058:
1050:
1043:
1036:
1024:
1020:
1013:
1005:
1004:
999:
992:
984:
980:
978:
973:
966:
962:
954:
945:
943:
939:
935:
926:
917:
915:
911:
901:
899:
889:
886:
882:
880:
879:LogicAnalyzer
876:
874:
870:
865:
860:
851:
849:
845:
841:
831:
829:
825:
821:
817:
813:
803:
801:
796:
793:
791:
787:
783:
779:
769:
761:
759:
749:
747:
743:
739:
734:
732:
727:
725:
721:
717:
713:
709:
706:On power up,
699:
697:
693:
688:
687:
680:
678:
674:
670:
666:
656:
652:
650:
645:
643:
640:
636:
635:
625:
616:
613:
609:
607:
603:
599:
595:
591:
581:
577:
575:
571:
566:
564:
559:
557:
544:
541:
538:
535:
532:
529:
526:
523:
522:
513:
510:
507:
504:
501:
498:
495:
492:
489:
486:
483:
480:
479:
478:
470:
468:
462:
460:
456:
451:
449:
445:
441:
437:
433:
429:
424:
422:
419:, to delimit
418:
414:
410:
405:
403:
402:
397:
393:
389:
385:
381:
376:
374:
370:
366:
363:
360:
350:
348:
344:
336:
333:
329:
326:
322:
319:
315:
314:
313:
311:
307:
297:
295:
291:
287:
283:
279:
275:
265:
263:
262:
257:
251:
249:
244:
238:
235:
229:
227:
223:
219:
215:
211:
207:
197:
195:
191:
187:
183:
179:
175:
171:
167:
163:
159:
155:
151:
147:
143:
139:
135:
131:
121:
118:
116:
112:
108:
104:
100:
95:
93:
90:
86:
82:
78:
73:
72:
68:
64:
61:
57:
54:
51:
48:
44:
37:
32:
26:
21:
2078:ARM Cortex-R
2019:
1949:ARM Cortex-R
1418:Parallax Inc
1417:
1408:
1400:the original
1395:
1386:
1378:the original
1373:
1364:
1355:
1346:
1337:
1328:
1320:the original
1315:
1306:
1298:the original
1294:Parallax Inc
1293:
1284:
1275:
1266:
1257:
1248:
1234:
1226:the original
1221:
1211:
1203:the original
1198:
1195:"Interrupts"
1189:
1173:
1165:the original
1160:
1151:
1142:the original
1137:
1128:
1119:
1099:the original
1091:
1082:
1073:
1067:
1057:
1042:
1034:
1027:. Retrieved
1023:Parallax Inc
1022:
1012:
1001:
991:
983:the original
975:
965:
951:
938:ladder logic
931:
907:
895:
884:
883:
878:
877:
872:
863:
861:
857:
837:
809:
797:
794:
775:
767:
755:
735:
728:
705:
695:
684:
681:
676:
662:
653:
648:
646:
632:
630:
614:
610:
606:power outage
587:
578:
567:
560:
555:
553:
542:
536:
530:
524:
511:
505:
499:
493:
487:
481:
476:
466:
463:
452:
443:
425:
413:curly braces
406:
399:
387:
377:
359:multitasking
356:
340:
303:
271:
259:
252:
242:
239:
234:no operation
233:
230:
203:
177:
173:
170:computer bus
129:
127:
119:
96:
88:
74:
42:
40:
2103:Programming
1866:PIC24/dsPIC
1802:Rabbit 2000
1613:Word length
1352:"propforth"
1088:"Prop Tool"
916:P4 system.
731:serial port
692:predictable
570:BASIC Stamp
367:created by
310:mathematics
306:boot loader
150:boot loader
81:interpreter
79:, and Spin
2289:Categories
2140:Bootloader
2096:Interfaces
1094:Wikispaces
1029:23 January
957:References
864:Linked I/O
844:commercial
824:Windows 95
772:C compiler
748:routines.
362:high-level
357:Spin is a
282:modulation
105:under the
2177:debugWIRE
2159:Debugging
2083:PowerPC64
2020:Propeller
1728:MELPS 740
854:PropForth
828:Windows 7
790:makefiles
696:interrupt
686:interrupt
669:interrupt
380:bytecodes
325:logarithm
316:a bitmap
261:tristated
2257:See also
2236:Infineon
2030:TLCS-900
1996:ColdFire
1917:Cortex-M
1881:TLCS-900
1807:TLCS-870
826:through
820:Mac OS X
738:bytecode
716:emulates
708:Brownout
543:coginit:
537:waitvid:
531:waitcnt:
432:bytecode
417:keywords
369:Parallax
140:(2
132:) has a
103:software
50:parallel
2179:(Atmel)
2173:(JTAG)
2035:TriCore
2008:PowerPC
1904:Am29000
1777:ST6/ST7
1658:TMS1000
1653:TLCS-47
842:, both
712:booting
639:virtual
525:reboot:
396:threads
332:antilog
258:state (
210:thermal
206:clocked
111:Verilog
65:(RISC)
2136:(HVPP)
2130:(HVSP)
2112:(ICSP)
2065:64-bit
2055:Z80000
2050:Xtensa
2025:SuperH
2013:MPC5xx
1896:32-bit
1861:MSP430
1851:CR16/C
1832:68HC12
1827:65C816
1819:16-bit
1723:65C265
1718:65C134
1696:68HC11
1691:68HC08
1686:68HC05
1663:μCOM-4
1635:COP400
1630:Am2900
1598:RISC-V
1588:MPS430
1182:GitHub
910:Pascal
758:EEPROM
742:thread
724:EEPROM
600:(QFN)
574:PBASIC
473:Syntax
421:blocks
409:Python
401:inline
392:EEPROM
224:(PLL)
60:32-bit
2226:Intel
2211:Lists
2199:(ITP)
2193:(ICE)
2187:(ICD)
2150:aWire
2124:(PDI)
2118:(ISP)
2003:PIC32
1991:68000
1986:MN103
1954:AVR32
1937:STM32
1922:EFM32
1886:Z8000
1841:80186
1750:XC800
1673:8-bit
1648:S1C6x
1643:PPS-4
1639:MARC4
1622:4-bit
1558:68000
932:PICo
840:Forth
812:BASIC
596:, or
407:Like
386:boot
154:stack
138:words
45:is a
2040:V850
1981:M32R
1976:H8SX
1969:FR-V
1876:RL78
1846:C166
1797:eZ80
1782:STM8
1762:COP8
1745:8051
1740:8048
1713:6502
1706:RS08
1681:6800
1583:MIPS
1563:8051
1528:Main
1031:2021
1003:Make
979:blog
977:Make
869:JTAG
846:and
784:and
594:LQFP
467:must
436:byte
318:font
278:NTSC
243:Spin
186:NTSC
101:and
87:and
41:The
36:TQFP
2145:ROM
2073:ARC
1959:CRX
1942:XMC
1932:SAM
1927:LPC
1914:ARM
1909:ARC
1871:R8C
1856:H8S
1792:Z80
1757:AVR
1735:78K
1701:S08
1603:x86
1593:PIC
1578:AVR
1573:ARM
1568:ARC
1180:on
944:).
830:).
800:LCC
786:C++
720:I²C
718:an
512:DAT
506:OBJ
500:PRI
494:PUB
488:CON
482:VAR
415:or
384:I²C
330:an
276:or
274:PAL
216:or
190:VGA
182:PAL
174:hub
130:cog
2291::
2045:RX
1964:FR
1836:16
1787:Z8
1767:H8
1416:.
1394:.
1372:.
1354:.
1336:.
1314:.
1292:.
1274:.
1256:.
1220:.
1197:.
1178:p1
1159:.
1136:.
1118:.
1107:^
1090:.
1074:23
1072:.
1066:.
1033:.
1021:.
1000:.
974:.
726:.
423:.
323:a
192:,
188:,
184:,
142:KB
1834:/
1513:e
1506:t
1499:v
1358:.
1278:.
1260:.
1242:.
1122:.
1051:.
1006:.
941:(
782:C
390:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.