Knowledge (XXG)

Parallax Propeller

Source 📝

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
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.
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: 1511: 1459: 1068: 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
563: 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 1391: 1048: 1156: 439: 91: 1369: 1333: 1913: 349:
routines). The Propeller is a 32-bit processor, however, and these tables may have insufficient accuracy for higher-precision uses.
624: 2299: 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:
62: 1133: 2235: 2217: 454: 361: 1474: 2247: 1504: 416: 698:
in this context can cause confusion, since this function can be more properly thought of as polling with a zero loop time.
2309: 2304: 2268: 1485:
FirstSpin, a weekly educational audio program about the Spin programming language and the Propeller, sponsored by Parallax
933: 909: 818:
set of tools for developing with the Parallax Propeller. As of August 2015, BST runs on i386-linux-gtk2, PowerPC-darwin (
408: 364: 114: 1087: 1612: 1534: 1194: 839: 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 289: 208:
using either an internal, on-chip oscillator (providing a lower total part count, but sacrificing some accuracy and
2230: 1931: 633: 597: 153: 106: 2294: 2044: 1657: 1539: 1497: 741: 672: 427: 395: 982: 781: 641: 615:
Parallax has stated that it expects later versions of the Propeller to offer more I/O pins and/or more memory.
601: 438:, from user code which has been edited, compiled, and loaded onto the Propeller from within a purpose-specific 368: 70: 1444: 1177: 814:
programming language for the Parallax Propeller Microcontroller. PropBASIC requires Brad's Spin Tool (BST), a
768:
Apart from Spin and the Propeller's low-level assembler, a number of other languages have been ported to it.
2273: 1572: 777: 691: 247: 133: 80: 66: 924: 707: 293: 165: 2115: 2109: 1968: 1557: 358: 52: 1469: 1319: 1115: 2225: 2190: 2149: 2144: 2139: 2133: 2127: 2121: 1756: 1592: 1577: 1018: 897: 847: 589: 588:
The initial version of the chip (called the P8X32A) provides one 32-bit port in a 40-pin 0.6 in
285: 157: 102: 98: 84: 46: 24: 1225: 631:
The Propeller's designers designed it around the concept of "virtual I/O devices". For example, the
2240: 2184: 2002: 1865: 1771: 1712: 843: 458: 420: 342: 145: 862:
Beyond the Forth interpreter, PropForth provides many features that exploit the chip's abilities.
1164: 997: 213: 49: 714:
routine from the internal ROM into the RAM of its first (primary) cog and execute it. This code
627:
Screen capture of the graphics demo that Parallax created to demonstrate the NTSC video library
1582: 1549: 745: 710:
detection, software reset, or external hardware reset, the Propeller will load a machine-code
447: 382:
that can be loaded (with the same tool) into the main 32 KB RAM, and optionally into the
346: 260: 221: 217: 97:
On August 6, 2014, Parallax Inc. released all of the Propeller 1 P8X32A hardware and tools as
76: 156:. Assembly (PASM, low-level) code needs no call stack. Access to shared memory (32 KB 2165: 2064: 2034: 1895: 1835: 1831: 1818: 1399: 736:
Regardless of how the user program is loaded, execution starts by interpreting initial user
225: 161: 137: 760:; once the boot sequence completes, this device may be accessed as an external peripheral. 320:
is provided, suitable for typical character generation applications (but not customizable);
117:(HDL) files, Spin interpreter, PropellerIDE and SimpleIDE programming tools and compilers. 2263: 2196: 2072: 1908: 1695: 1690: 1685: 1672: 1621: 1567: 1520: 1377: 1002: 976: 789: 638: 400: 372: 55: 1141: 1990: 1727: 1705: 1642: 936:(PLC, PICoPLC) supports output to Propeller processor. The program is created in a GUI 913: 815: 799: 664: 308:, the built-in ROM provides some data which may be useful for certain sound, video, or 255: 209: 193: 2288: 1700: 1680: 1436: 795:
The ImageCraft ICCV7 for Propeller C compiler has been marked to end-of-life state.
562: 398:
can run simultaneously. Within a Spin code program, assembly code program(s) can be
2077: 2054: 2029: 1995: 1948: 1941: 1916: 1880: 1806: 1749: 1739: 1652: 1449: 937: 605: 434:
interpreter. This interpreter decodes strings of instructions, one instruction per
412: 169: 30: 94:(IDE) were designed by Chip Gracey and Parallax's software engineer Jeff Martin. 1958: 1903: 1885: 1850: 1845: 1840: 1801: 1776: 1063: 730: 569: 309: 305: 205: 149: 1413: 1963: 1826: 1796: 1744: 1722: 1717: 1629: 1562: 1454: 1098: 1093: 823: 281: 1202: 822:
10.4 through 10.6), i386-darwin (Mac OS X 10.4 through 10.6) and i386-Win32 (
2176: 2049: 1975: 1860: 1855: 1791: 1766: 1587: 900:(JVM) on Propeller. A compiler, debugger, and emulator are being developed. 827: 690:
single-processor interrupt architecture, the signal response timing remains
685: 668: 623: 324: 176:. Each cog also has access to two dedicated hardware counters and a special 19: 1662: 539:
waits for a (video) timing event before outputting (video) data to I/O pins
83:
were designed by Parallax's cofounder and president, Chip Gracey. The Spin
679:
instruction which restores the internal state and resumes CPU processing.
1786: 737: 715: 431: 379: 141: 1271: 2082: 2007: 1926: 1351: 711: 331: 110: 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
2024: 2012: 1634: 1597: 1253: 1239: 1181: 757: 723: 573: 391: 59: 719: 383: 1489: 798:
A free ANSI C compiler named Catalina is available. It is based on
785: 1985: 1953: 1936: 1921: 1647: 923: 819: 811: 622: 29: 18: 1479: 2170: 2039: 1980: 1875: 1781: 1761: 868: 593: 533:
wait for the system counter to equal or exceed a specified value
435: 375:
on which it runs, for their line of Propeller microcontrollers.
317: 277: 185: 35: 1493: 250:(MIPS) per cog, or 160 MIPS total for an 8-cog Propeller. 1870: 1734: 1602: 273: 189: 181: 647:
The screen capture displayed here was made using a software
69:(CPU) cores. Introduced in 2006, it is designed and sold by 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.
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:
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).
2256: 2210: 2158: 2102: 2095: 2063: 1894: 1817: 1671: 1620: 1611: 1548: 1527: 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. 663:The design philosophy of the Propeller is that a 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 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 8: 1184:; Propeller object exchange software library 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. 2099: 1617: 1512: 1498: 1490: 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 1069:Journal of Computing Sciences in Colleges 972:"First look at Parallax's Propeller chip" 180:for use in generating timing signals for 128:Each of the eight 32-bit cores (termed a 75:The Propeller microcontroller, Propeller 1049:"EiED Online>> Parallax Propeller" 1134:"Propeller Video Application Board PCB" 962: 1047:Wong, William G. (December 15, 2022). 970:Torrone, Phillip (February 18, 2006). 896:There are efforts underway to run the 576:facilities now have Spin equivalents. 442:(IDE). This IDE, which Parallax names 659:Dedicated cores instead of interrupts 7: 996:Torrone, Phillip (August 21, 2006). 527:causes the microcontroller to reboot 802:. Catalina is actively maintained. 440:integrated development environment 353:Built in Spin bytecode interpreter 92:integrated development environment 14: 2134:High voltage parallel programming 334:table (base 2, 2048 entries); and 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 850:, available for the Propeller. 502:– code for a private subroutine 455:high-level programming language 2248:List of Wi-Fi microcontrollers 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)" 934:programmable logic controller 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 694:, and indeed using the term 430:Spin computer language is a 144:) of instructions and data. 2122:Program and Debug Interface 1470:An article at ferret.com.au 904:Pascal compiler and runtime 290:digital-to-analog converter 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 1540:Special function register 1116:"Parallax Forums message" 1019:"Propeller 1 Open Source" 871:interface in many cases. 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: 1618: 1521:Microcontrollers 1514: 1507: 1500: 1491: 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: 1215: 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: 1061: 1060: 1056: 1046: 1045: 1041: 1028: 1026: 1016: 1015: 1011: 995: 994: 990: 969: 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: 2321: 2313: 2312: 2307: 2302: 2297: 2287: 2286: 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: 1519: 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: 13: 10: 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: 1428: 1419: 1415: 1414:"Propeller 2" 1409: 1406: 1401: 1397: 1393: 1387: 1384: 1379: 1375: 1371: 1365: 1362: 1357: 1353: 1347: 1344: 1340:. 2009-12-23. 1339: 1335: 1329: 1326: 1321: 1317: 1313: 1307: 1304: 1299: 1295: 1291: 1285: 1282: 1277: 1273: 1272:"Propeller C" 1267: 1264: 1259: 1255: 1249: 1246: 1241: 1235: 1232: 1227: 1223: 1219: 1212: 1209: 1204: 1200: 1196: 1190: 1187: 1183: 1179: 1174: 1171: 1166: 1162: 1158: 1152: 1149: 1143: 1139: 1135: 1129: 1126: 1121: 1117: 1111: 1109: 1105: 1100: 1096: 1095: 1089: 1083: 1080: 1076:(1): 162–168. 1075: 1071: 1070: 1065: 1058: 1055: 1050: 1043: 1040: 1036: 1024: 1020: 1013: 1010: 1005: 1004: 999: 992: 989: 984: 980: 978: 973: 966: 963: 956: 954: 947: 945: 943: 939: 935: 926: 919: 917: 915: 911: 903: 901: 899: 891: 889: 886: 882: 880: 879:LogicAnalyzer 876: 874: 870: 865: 860: 853: 851: 849: 845: 841: 833: 831: 829: 825: 821: 817: 813: 805: 803: 801: 796: 793: 791: 787: 783: 779: 771: 769: 763: 761: 759: 751: 749: 747: 743: 739: 734: 732: 727: 725: 721: 717: 713: 709: 706:On power up, 701: 699: 697: 693: 688: 687: 680: 678: 674: 670: 666: 658: 656: 652: 650: 645: 643: 640: 636: 635: 625: 618: 616: 613: 609: 607: 603: 599: 595: 591: 583: 581: 577: 575: 571: 566: 564: 559: 557: 549: 544: 541: 538: 535: 532: 529: 526: 523: 522: 518: 513: 510: 507: 504: 501: 498: 495: 492: 489: 486: 483: 480: 479: 478: 472: 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: 352: 350: 348: 344: 336: 333: 329: 326: 322: 319: 315: 314: 313: 311: 307: 299: 297: 295: 291: 287: 283: 279: 275: 267: 265: 263: 262: 257: 251: 249: 244: 238: 235: 229: 227: 223: 219: 215: 211: 207: 199: 197: 195: 191: 187: 183: 179: 175: 171: 167: 163: 159: 155: 151: 147: 143: 139: 135: 131: 123: 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:(

Index


dual in-line package

TQFP
multi-core processor
parallel
computer architecture
microcontroller
32-bit
reduced instruction set computer
central processing unit
Parallax, Inc.
assembly language
interpreter
programming language
integrated development environment
open-source hardware
software
GNU General Public License
Verilog
hardware description language
central processing unit
words
KB
Self-modifying code
boot loader
stack
random-access memory
read-only memory
round-robin scheduling

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.