Knowledge (XXG)

ThreadX

Source 📝

3699: 3689: 2555: 2545: 25: 556:) support (USBX). ThreadX has won high appraisal from developers and is a very popular RTOS. As of 2017, according to marketing research firm VDC Research, the ThreadX RTOS has become one of the most popular RTOSes in the world, having been deployed in over 6.2 billion devices, including consumer electronics, medical devices, data networking applications, and SoCs. 1165:
networking along with protocols such as ARP, Auto IP, DHCP, DNS, DNS-SD, FTP, HTTP, ICMP, IGMP, mDNS, POP3, PPP, PPPoE, RARP, TFTP, SNTP, SMTP, SNMP, and TELNET. IP layer network security is provided by IPsec. TCP and UDP socket layer security is provided by TLS and DTLS, respectively. IoT Cloud
1034:
ThreadX implements a priority-based, preemptive scheduling algorithm with a proprietary feature called preemption-threshold. The latter has been shown to provide greater granularity within critical sections, reduce context switches, and has been the subject of academic research on guaranteeing
1182:) system for ThreadX. USBX supports both host and device. Host controller support includes EHCI, OHCI, and proprietary USB host controllers. USBX also supports OTG. USBX class support includes Audio, Asix, CDC/ACM, CDC/ECM, DFU, GSER, HID, PIMA, Printer, Prolific, RNDIS, and Storage. 1116:
formats. The latter extends FAT file sizes beyond 4 GB, which is especially useful for video files, and it requires license directly from Microsoft for use. FileX also offers fault tolerance and supports direct NOR and NAND
1042:(APIs) that can signal an external event. This helps applications chain together various public objects in ThreadX such that one thread can effectively block on multiple objects. 1652: 2760: 1381: 531: 304: 1399: 3730: 3693: 1057:, software timers, fixed sized block memory, and variable sized block memory. All APIs in ThreadX that block on resources also have an optional timeout. 1359: 2549: 1645: 1510: 1583: 987:
ThreadX was first introduced in 1997. ThreadX 4 was introduced in 2001. ThreadX 5 was introduced in 2005, and is the latest version as of 2020.
2593: 3745: 3740: 2559: 1638: 3750: 3469: 2327: 481: 2362: 1039: 108: 523: 46: 39: 437:
on April 18, 2019 and renamed it to Azure RTOS. On November 21, 2023, Microsoft announced Azure RTOS would be transitioning to an
1267: 3494: 2139: 3378: 3352: 3346: 3340: 3334: 2316: 3533: 2414: 2176: 1038:
ThreadX provides a unique construct called event chaining, where the application can register a callback function on all
3025: 1804: 218: 2947: 1717: 198: 89: 1489: 61: 3674: 3521: 3271: 2407: 1661: 504: 403: 338: 1425: 35: 3561: 3539: 3436: 3178: 3109: 3064: 3043: 2982: 2816: 2614: 2586: 2287: 2054: 1922: 1822: 1625: 1167: 508: 324: 3554: 3515: 3390: 3096: 2975: 2439: 2401: 2107: 1297: 1275: 1231: 1130: 527: 407: 155: 68: 1426:"High Performance RTOS "ThreadX": Express Logic: Enabling Shorter Time to Market and Reduced Development Cost" 3507: 3302: 3049: 2275: 1834: 1758: 1443: 1317: 1050: 1046: 549: 1190:
ThreadX (and FileX and NetX Duo) have been precertified by SGS-TÜV Saar to the following safety standards:
3725: 2892: 2852: 2446: 2369: 1064:
support via either AMP or SMP. Application code isolation is available through ThreadX Modules component.
516: 512: 1518: 75: 3735: 3703: 3218: 3149: 3102: 2833: 2644: 2623: 2133: 2025: 1591: 1468: 1289: 419: 3682: 3527: 3189: 2809: 2579: 2538: 2333: 1949: 1564: 1338: 1212:
ThreadX (and FileX and NetX Duo) have been precertified by UL to the following safety standards: UL/
1061: 703: 500: 485: 292: 150: 57: 3641: 1235: 802: 484:
features. Major distinguishing technology characteristics of ThreadX include preemption-threshold,
3550: 3085: 2768: 2435: 1931: 1539: 1490:"Event Chaining Enables Real-Time Systems to Respond to Multiple Real-Time Events More Efficient" 829: 775: 541: 457: 442: 247: 142: 3626: 3611: 3591: 2671: 2482: 2150: 1206: 1013: 934: 736: 473: 465: 330: 308: 284: 1221: 2912: 2863: 2650: 2234: 1670: 1149:
host tool called GUIX Studio automatically generates C code for GUIX to execute at runtime.
1142: 602: 590: 493: 477: 364: 280: 3596: 3294: 2689: 2065: 1745: 1255: 913: 468:, i.e., it switches threads. ThreadX provides priority-based, preemptive scheduling, fast 276: 263: 243: 3636: 3621: 3601: 3123: 2739: 2639: 2487: 1998: 1877: 1872: 1565:"NASA's "Deep Impact" employs embedded systems to score bullseye 80 million miles away" 1138: 1134: 566: 352: 3719: 3646: 3616: 2787: 2243: 1991: 1862: 1630: 1054: 423: 82: 3651: 3421: 3401: 3031: 2732: 2726: 2507: 2502: 1849: 1810: 1285: 1118: 874: 427: 316: 1308:, and continues to operate in a more privileged role even after the boot process. 1230:
standards by various military and aerospace companies. It is supported by popular
3481: 3131: 3127: 2606: 2602: 2530: 2492: 2387: 2257: 1293: 1278: 1251: 1137:(environment) for embedded applications running ThreadX. GUIX supports multiple 993:
NetX – the embedded TCP/IP networking stack for ThreadX was introduced in 2002.
545: 446: 438: 369: 341: 334: 173: 24: 1266:
Some high-profile products using ThreadX range from small wearable devices, to
3583: 3487: 3451: 2803: 2474: 2355: 2222: 1170:
and 6LoWPAN. In 2017, ThreadX and NetX Duo became a Thread Certified Product.
489: 345: 224: 130: 1620: 1382:"How Does The Express Logic Acquisition Help Microsoft and the IoT Ecosystem" 3631: 3606: 3370: 3240: 3230: 3138: 2924: 2884: 2661: 2497: 2375: 2349: 2269: 2093: 1883: 1691: 1217: 1213: 1199: 1195: 1191: 1023: 1009: 469: 434: 137: 2571: 1157:
NetX Duo is the embedded TCP/IP system for ThreadX. NetX Duo supports both
552:(TCP/IP) and cloud connectivity (NetX/NetX Duo), and Universal Serial Bus ( 3457: 3414: 3278: 3210: 3018: 2898: 2826: 2794: 2678: 2381: 2321: 2263: 1970: 1867: 1828: 1797: 1706: 667: 652: 1166:
protocol support includes CoAP, MQTT, and LWM2M. NetX Duo also supports
3573: 3500: 3463: 3360: 3329: 3308: 3283: 3256: 3249: 3158: 2939: 2930: 2845: 2839: 2464: 2458: 2425: 2420: 2310: 2250: 2228: 2165: 2126: 2080: 2034: 2012: 1751: 1301: 1250:
As of 2017, ThreadX is packaged as part of X-Ware IoT Platform in full
1239: 1146: 1141:
with a variety of screen resolutions and color depths. Many predefined
534: 296: 3567: 3444: 3204: 3198: 3171: 3164: 3090: 3079: 3073: 2994: 2963: 2745: 2302: 2205: 2191: 2179: 2047: 2040: 2005: 1964: 1958: 1778: 1769: 1733: 1711: 1343: 1227: 1202: 990:
FileX – the embedded file system for ThreadX was introduced in 1999.
964: 449:. With Eclipse Foundation as the new home, Azure RTOS was renamed to 300: 1304:, which in turn is used to boot secondary operating systems such as 1006: 999:
ThreadX SMP for SMP multi-core environments was introduced in 2009.
996:
USBX – the embedded USB support for ThreadX was introduced in 2004.
3320: 3116: 3037: 2988: 2918: 2905: 2874: 2716: 2633: 2394: 2198: 1907: 1816: 1681: 1305: 1113: 1109: 1105: 1101: 682: 418:
ThreadX was initially developed and marketed by Express Logic of
3001: 2704: 2698: 2452: 2345: 2159: 2074: 1938: 1901: 1700: 1360:"Bill Lamie: Story of a man and his real-time operating systems" 1271: 1162: 1158: 2575: 1634: 430:
in 1990. William Lamie was President and CEO of Express Logic.
3475: 2969: 2776: 2339: 2182: 2117: 1982: 1739: 1179: 1100:
FileX is the embedded file system for ThreadX. FileX supports
553: 312: 288: 18: 1469:"Scheduling Fixed-Priority Tasks with Preemption Threshold" 1121:
media through a flash wear leveling product called LevelX.
1019:
GUIX – the embedded UI for ThreadX was introduced in 2014.
519:(MPU) memory protection is available with ThreadX Modules. 492:
design, event-chaining, and small size: minimal size on an
460:
that are used as the executable elements, and the letter
445:, and making the project available under the permissive 1615: 1022:
Express Logic was purchased for an undisclosed sum by
548:
support (FileX), embedded UI support (GUIX), embedded
433:
Express Logic was purchased for an undisclosed sum by
380: 526:(TÜV, English: Technical Inspection Association) and 540:
ThreadX is the foundation of Express Logic's X-Ware
488:, efficient timer management, fast software timers, 250:: including sensors, devices, edge routers, gateways 3582: 3549: 3400: 3369: 3319: 3293: 3239: 3229: 3188: 3148: 3063: 3010: 2883: 2873: 2862: 2715: 2688: 2660: 2622: 2613: 2473: 2434: 2215: 2175: 2149: 2116: 2092: 2064: 2024: 1981: 1948: 1921: 1894: 1848: 1789: 1768: 1690: 1680: 1669: 1358:Cole, Bernard; McConnel, Toni (September 3, 2010). 375: 363: 351: 323: 272: 262: 254: 239: 217: 197: 179: 169: 161: 149: 129: 1400:"Microsoft Contributes Azure RTOS to Open Source" 1375: 1373: 1053:with optional priority inheritance, event flags, 522:ThreadX has extensive safety certifications from 1621:Eclipse ThreadX Source Code Repository | Github 532:Motor Industry Software Reliability Association 3694:Category: Microkernel-based operating systems 2587: 1646: 544:(IoT) platform, which also includes embedded 8: 1540:"wolfSSL with Improved ThreadX/NetX Support" 1005:ThreadX achieved safety certifications for: 530:(formerly Underwriters Laboratories) and is 124: 1178:USBX is the embedded Universal Serial Bus ( 3236: 2880: 2870: 2619: 2594: 2580: 2572: 2544: 1855: 1687: 1677: 1653: 1639: 1631: 426:, who was also the original author of the 422:, United States. The author of ThreadX is 123: 511:(SMP). Application thread isolation with 406:(RTOS) programmed mostly in the language 109:Learn how and when to remove this message 1002:ThreadX Modules was introduced in 2011. 1330: 1444:"IoT & Embedded Operating Systems" 1133:(GUI) for ThreadX. GUIX provides a 2D 402:) is a highly deterministic, embedded 45:Please improve this article by adding 456:The name ThreadX is derived from the 7: 1584:"What's Wrong with the Raspberry Pi" 3731:Microkernel-based operating systems 1226:ThreadX has also been certified to 441:model under the stewardship of the 1040:application programming interfaces 453:, or "ThreadX" in its short form. 14: 1380:Janakiram, MSV (April 21, 2019). 1339:"Releases · eclipse-rtos/Threadx" 1125:Embedded graphical user interface 1079:Embedded graphical user interface 1072:ThreadX RTOS components include: 480:, event notification, and thread 3698: 3697: 3688: 3687: 2554: 2553: 2543: 1582:nachoparker (February 2, 2019). 23: 2140:Transaction Processing Facility 1045:ThreadX also provides counting 1476:Department of Computer Science 524:Technischer Überwachungsverein 203:6.4.1 / February 28, 2024 1: 1300:(GPU). This controls initial 476:, interthread communication, 47:secondary or tertiary sources 3746:Real-time operating systems 3741:Microsoft operating systems 2948:Multi-Environment Real-Time 1718:Multi-Environment Real-Time 1662:Real-time operating systems 1511:"Thread Certified Products" 1467:Wang, Yun; Saksena, Manas. 185:; 27 years ago 3767: 3751:Assembly language software 577:Precision Microcontrollers 505:asymmetric multiprocessing 404:real-time operating system 359:Embedded UI support (GUIX) 16:Real-time operating system 3660: 2516: 1858: 1823:Operating System Embedded 1569:Military Embedded Systems 1145:are available. A Windows 509:symmetric multiprocessing 496:processor is about 2 KB. 2108:Windows Embedded Compact 1298:graphics processing unit 1268:Hewlett-Packard printers 1232:Transport Layer Security 1131:graphical user interface 503:environments via either 135:Express Logic (original) 1318:Intel Management Engine 550:Internet protocol suite 283:, Blackfin, CEVA, C6x, 3704:Category: Microkernels 2447:Robot Operating System 1290:single-board computers 517:memory protection unit 513:memory management unit 205:; 6 months ago 34:relies excessively on 1478:. University of Utah. 1129:GUIX is the embedded 420:San Diego, California 3683:Open-source software 3190:Java virtual machine 2539:Open-source software 1950:Java virtual machine 1626:ThreadX-OX-Simulator 1254:and with no runtime 1186:Safety certification 1096:Embedded file system 1088:Safety certification 1076:Embedded file system 1062:multi-core processor 583:ULP Microcontrollers 501:multi-core processor 486:priority inheritance 3642:Andrew S. Tanenbaum 1153:Embedded networking 1082:Embedded networking 1026:on April 18, 2019. 622:ARM Cortex-A 64-bit 560:Supported platforms 126: 1292:runs ThreadX as a 780:ColdFire+/ColdFire 542:Internet of things 443:Eclipse Foundation 143:Eclipse Foundation 3713: 3712: 3627:James G. Mitchell 3612:Per Brinch Hansen 3431: 3430: 3266: 3265: 3059: 3058: 2755: 2754: 2672:Mac OS nanokernel 2569: 2568: 2297: 2296: 2151:Texas Instruments 1917: 1916: 1844: 1843: 1262:Products using it 1143:graphical widgets 951:SimpleLink MSP432 935:Texas Instruments 499:ThreadX supports 474:memory management 466:context switching 389: 388: 119: 118: 111: 93: 3758: 3701: 3700: 3691: 3690: 3237: 3065:Capability-based 2881: 2871: 2620: 2596: 2589: 2582: 2573: 2557: 2556: 2547: 2546: 2235:ERIKA Enterprise 1923:Capability-based 1856: 1688: 1678: 1655: 1648: 1641: 1632: 1616:Official website 1603: 1602: 1600: 1599: 1590:. Archived from 1579: 1573: 1572: 1561: 1555: 1554: 1552: 1551: 1536: 1530: 1529: 1527: 1526: 1517:. Archived from 1507: 1501: 1500: 1494: 1486: 1480: 1479: 1473: 1464: 1458: 1457: 1455: 1454: 1440: 1434: 1433: 1421: 1415: 1414: 1412: 1410: 1396: 1390: 1389: 1377: 1368: 1367: 1355: 1349: 1348: 1335: 1068:Major components 975:Zynq UltraScale+ 625:ARMv8M TrustZone 494:ARM architecture 478:mutual exclusion 394:(formerly named 385: 382: 376:Official website 311:, V850, Xtensa, 244:Embedded systems 240:Marketing target 235: 232: 230: 229:/eclipse-threadx 228: 226: 213: 211: 206: 193: 191: 186: 127: 121:Operating system 114: 107: 103: 100: 94: 92: 51: 27: 19: 3766: 3765: 3761: 3760: 3759: 3757: 3756: 3755: 3716: 3715: 3714: 3709: 3686: 3656: 3597:Thomas Bushnell 3578: 3545: 3427: 3396: 3365: 3315: 3289: 3262: 3225: 3184: 3144: 3055: 3006: 2865: 2858: 2751: 2711: 2684: 2656: 2609: 2600: 2570: 2565: 2542: 2512: 2469: 2430: 2293: 2211: 2171: 2145: 2112: 2088: 2060: 2020: 1977: 1944: 1913: 1890: 1840: 1785: 1764: 1746:Real-Time Linux 1672: 1665: 1659: 1612: 1607: 1606: 1597: 1595: 1581: 1580: 1576: 1563: 1562: 1558: 1549: 1547: 1538: 1537: 1533: 1524: 1522: 1509: 1508: 1504: 1492: 1488: 1487: 1483: 1471: 1466: 1465: 1461: 1452: 1450: 1442: 1441: 1437: 1424:Carbone, John. 1423: 1422: 1418: 1408: 1406: 1398: 1397: 1393: 1379: 1378: 1371: 1357: 1356: 1352: 1337: 1336: 1332: 1327: 1314: 1264: 1256:royalty payment 1248: 1188: 1176: 1155: 1139:display devices 1127: 1098: 1070: 1060:ThreadX offers 1032: 985: 980: 562: 482:synchronization 451:Eclipse ThreadX 416: 392:Eclipse ThreadX 379: 354: 264:Package manager 223: 209: 207: 204: 189: 187: 184: 180:Initial release 141: 136: 125:Eclipse ThreadX 122: 115: 104: 98: 95: 52: 50: 44: 40:primary sources 28: 17: 12: 11: 5: 3764: 3762: 3754: 3753: 3748: 3743: 3738: 3733: 3728: 3718: 3717: 3711: 3710: 3708: 3707: 3678: 3670: 3668:= discontinued 3661: 3658: 3657: 3655: 3654: 3649: 3644: 3639: 3637:Richard Rashid 3634: 3629: 3624: 3622:Jochen Liedtke 3619: 3614: 3609: 3604: 3602:David Cheriton 3599: 3594: 3588: 3586: 3580: 3579: 3577: 3571: 3565: 3559: 3557: 3547: 3546: 3544: 3543: 3537: 3531: 3512: 3504: 3498: 3491: 3485: 3479: 3473: 3467: 3461: 3455: 3449: 3441: 3432: 3429: 3428: 3426: 3425: 3406: 3404: 3398: 3397: 3395: 3394: 3387: 3381: 3375: 3373: 3367: 3366: 3364: 3363: 3358: 3357: 3356: 3353:Icaros Desktop 3350: 3344: 3332: 3326: 3324: 3317: 3316: 3314: 3299: 3297: 3291: 3290: 3288: 3287: 3279:Classic Mac OS 3275: 3267: 3264: 3263: 3261: 3260: 3253: 3245: 3243: 3234: 3227: 3226: 3224: 3223: 3215: 3194: 3192: 3186: 3185: 3183: 3182: 3176: 3168: 3162: 3155: 3153: 3146: 3145: 3143: 3142: 3124:HarmonyOS NEXT 3120: 3113: 3106: 3100: 3093: 3069: 3067: 3061: 3060: 3057: 3056: 3054: 3053: 3047: 3041: 3035: 3029: 3023: 3014: 3012: 3008: 3007: 3005: 2998: 2991: 2986: 2979: 2973: 2967: 2960: 2944: 2936: 2935: 2934: 2928: 2916: 2909: 2902: 2896: 2889: 2887: 2878: 2868: 2860: 2859: 2857: 2856: 2849: 2846:TI-RTOS kernel 2843: 2837: 2830: 2823: 2822:Off++ → Plan B 2820: 2813: 2807: 2800: 2799: 2798: 2784: 2781: 2773: 2765: 2756: 2753: 2752: 2750: 2749: 2742: 2737: 2736: 2735: 2722: 2720: 2713: 2712: 2710: 2709: 2694: 2692: 2686: 2685: 2683: 2682: 2675: 2667: 2665: 2658: 2657: 2655: 2654: 2648: 2629: 2627: 2617: 2611: 2610: 2601: 2599: 2598: 2591: 2584: 2576: 2567: 2566: 2564: 2563: 2534: 2526: 2524:= discontinued 2517: 2514: 2513: 2511: 2510: 2505: 2500: 2495: 2490: 2488:David Cheriton 2485: 2479: 2477: 2471: 2470: 2468: 2462: 2456: 2450: 2444: 2442: 2432: 2431: 2429: 2428: 2423: 2418: 2412: 2398: 2391: 2384: 2379: 2373: 2366: 2359: 2353: 2343: 2337: 2331: 2325: 2319: 2314: 2307: 2298: 2295: 2294: 2292: 2291: 2285: 2279: 2273: 2267: 2261: 2255: 2247: 2241: 2238: 2232: 2226: 2219: 2217: 2213: 2212: 2210: 2209: 2202: 2195: 2187: 2185: 2173: 2172: 2170: 2169: 2166:TI-RTOS Kernel 2163: 2155: 2153: 2147: 2146: 2144: 2143: 2137: 2130: 2122: 2120: 2114: 2113: 2111: 2110: 2105: 2098: 2096: 2090: 2089: 2087: 2086: 2070: 2068: 2062: 2061: 2059: 2058: 2052: 2044: 2038: 2031: 2029: 2022: 2021: 2019: 2018: 2017: 2016: 2009: 2002: 1999:Concurrent DOS 1987: 1985: 1979: 1978: 1976: 1975: 1954: 1952: 1946: 1945: 1943: 1942: 1936: 1927: 1925: 1919: 1918: 1915: 1914: 1912: 1911: 1905: 1898: 1896: 1892: 1891: 1889: 1888: 1887: 1886: 1881: 1880:(organization) 1878:T-Engine Forum 1875: 1873:Micro T-Kernel 1865: 1859: 1853: 1846: 1845: 1842: 1841: 1839: 1838: 1832: 1826: 1820: 1814: 1808: 1802: 1793: 1791: 1787: 1786: 1784: 1783: 1774: 1772: 1766: 1765: 1763: 1762: 1755: 1749: 1743: 1737: 1730: 1714: 1709: 1704: 1696: 1694: 1685: 1675: 1667: 1666: 1660: 1658: 1657: 1650: 1643: 1635: 1629: 1628: 1623: 1618: 1611: 1610:External links 1608: 1605: 1604: 1574: 1556: 1531: 1502: 1481: 1459: 1435: 1416: 1391: 1369: 1350: 1329: 1328: 1326: 1323: 1322: 1321: 1313: 1310: 1263: 1260: 1247: 1244: 1187: 1184: 1175: 1172: 1154: 1151: 1135:runtime system 1126: 1123: 1097: 1094: 1093: 1092: 1089: 1086: 1083: 1080: 1077: 1069: 1066: 1055:message queues 1031: 1028: 984: 981: 979: 978: 977: 976: 973: 970: 961: 960: 959: 958: 955: 952: 949: 946: 943: 940: 931: 930: 929: 928: 925: 922: 919: 910: 909: 908: 907: 904: 901: 898: 895: 892: 889: 886: 885:Giant Gecko S1 883: 880: 871: 870: 869: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 826: 825: 824: 823: 820: 817: 814: 811: 808: 799: 798: 797: 796: 793: 790: 787: 784: 781: 772: 771: 770: 769: 766: 763: 760: 757: 754: 751: 748: 745: 742: 733: 732: 731: 730: 727: 724: 721: 718: 715: 712: 709: 700: 699: 698: 697: 694: 691: 688: 679: 678: 677: 676: 673: 664: 663: 662: 661: 658: 649: 648: 647: 646: 639: 638: 637: 636: 629: 628: 627: 626: 623: 620: 617: 614: 611: 608: 599: 598: 597: 596: 587: 586: 585: 584: 581: 578: 575: 572: 567:Analog Devices 563: 561: 558: 415: 412: 387: 386: 377: 373: 372: 367: 361: 360: 357: 355:user interface 349: 348: 328: 321: 320: 274: 270: 269: 266: 260: 259: 256: 252: 251: 241: 237: 236: 221: 215: 214: 201: 199:Latest release 195: 194: 181: 177: 176: 171: 167: 166: 163: 159: 158: 153: 147: 146: 133: 120: 117: 116: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 3763: 3752: 3749: 3747: 3744: 3742: 3739: 3737: 3734: 3732: 3729: 3727: 3726:1997 software 3724: 3723: 3721: 3706: 3705: 3696: 3695: 3685: 3684: 3679: 3677: 3676: 3671: 3669: 3666: 3663: 3662: 3659: 3653: 3650: 3648: 3647:Avie Tevanian 3645: 3643: 3640: 3638: 3635: 3633: 3630: 3628: 3625: 3623: 3620: 3618: 3617:Gernot Heiser 3615: 3613: 3610: 3608: 3605: 3603: 3600: 3598: 3595: 3593: 3590: 3589: 3587: 3585: 3581: 3575: 3572: 3569: 3566: 3563: 3560: 3558: 3556: 3552: 3548: 3541: 3538: 3535: 3532: 3530: 3529: 3524: 3523: 3518: 3517: 3513: 3510: 3509: 3505: 3502: 3499: 3497: 3496: 3492: 3489: 3486: 3483: 3480: 3477: 3474: 3471: 3468: 3465: 3462: 3459: 3456: 3453: 3450: 3447: 3446: 3442: 3439: 3438: 3434: 3433: 3424: 3423: 3418: 3416: 3411: 3408: 3407: 3405: 3403: 3399: 3393: 3392: 3388: 3385: 3382: 3380: 3377: 3376: 3374: 3372: 3368: 3362: 3359: 3354: 3351: 3348: 3345: 3342: 3339: 3338: 3336: 3333: 3331: 3328: 3327: 3325: 3322: 3318: 3312: 3310: 3305: 3304: 3300: 3298: 3296: 3292: 3285: 3281: 3280: 3276: 3274: 3273: 3269: 3268: 3259: 3258: 3254: 3252: 3251: 3247: 3246: 3244: 3242: 3238: 3235: 3232: 3228: 3221: 3220: 3216: 3213: 3212: 3208:^ integrates 3207: 3206: 3201: 3200: 3196: 3195: 3193: 3191: 3187: 3180: 3177: 3174: 3173: 3169: 3166: 3163: 3160: 3157: 3156: 3154: 3151: 3147: 3141: 3140: 3135: 3133: 3129: 3125: 3121: 3119: 3118: 3114: 3112: 3111: 3107: 3104: 3101: 3099: 3098: 3094: 3092: 3088: 3087: 3082: 3081: 3076: 3075: 3071: 3070: 3068: 3066: 3062: 3051: 3048: 3045: 3042: 3039: 3036: 3033: 3030: 3027: 3024: 3022: 3020: 3016: 3015: 3013: 3009: 3004: 3003: 2999: 2997: 2996: 2992: 2990: 2987: 2985: 2984: 2980: 2977: 2974: 2971: 2968: 2966: 2965: 2961: 2958: 2954: 2950: 2949: 2945: 2942: 2941: 2937: 2932: 2929: 2926: 2923: 2922: 2920: 2917: 2915: 2914: 2910: 2908: 2907: 2903: 2900: 2897: 2895: 2894: 2890: 2888: 2886: 2882: 2879: 2876: 2872: 2869: 2867: 2861: 2855: 2854: 2850: 2847: 2844: 2841: 2838: 2836: 2835: 2831: 2829: 2828: 2824: 2821: 2819: 2818: 2814: 2811: 2808: 2806: 2805: 2801: 2796: 2793: 2792: 2790: 2789: 2785: 2783:Little Kernel 2782: 2779: 2778: 2774: 2771: 2770: 2766: 2763: 2762: 2758: 2757: 2748: 2747: 2743: 2741: 2738: 2734: 2731: 2730: 2729: 2728: 2724: 2723: 2721: 2718: 2714: 2707: 2706: 2701: 2700: 2696: 2695: 2693: 2691: 2687: 2681: 2680: 2676: 2674: 2673: 2669: 2668: 2666: 2663: 2659: 2652: 2649: 2646: 2642: 2641: 2636: 2635: 2631: 2630: 2628: 2625: 2621: 2618: 2616: 2612: 2608: 2604: 2597: 2592: 2590: 2585: 2583: 2578: 2577: 2574: 2562: 2561: 2552: 2551: 2541: 2540: 2535: 2533: 2532: 2527: 2525: 2522: 2519: 2518: 2515: 2509: 2506: 2504: 2501: 2499: 2496: 2494: 2491: 2489: 2486: 2484: 2481: 2480: 2478: 2476: 2472: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2443: 2441: 2437: 2433: 2427: 2424: 2422: 2419: 2416: 2413: 2410: 2409: 2404: 2403: 2399: 2397: 2396: 2392: 2390: 2389: 2385: 2383: 2380: 2377: 2374: 2372: 2371: 2367: 2365: 2364: 2360: 2357: 2354: 2351: 2347: 2344: 2341: 2338: 2335: 2332: 2329: 2326: 2323: 2320: 2318: 2315: 2313: 2312: 2308: 2305: 2304: 2300: 2299: 2289: 2286: 2283: 2280: 2277: 2274: 2271: 2268: 2265: 2262: 2259: 2256: 2253: 2252: 2248: 2245: 2242: 2239: 2236: 2233: 2230: 2227: 2224: 2221: 2220: 2218: 2214: 2208: 2207: 2203: 2201: 2200: 2196: 2194: 2193: 2189: 2188: 2186: 2184: 2181: 2178: 2174: 2167: 2164: 2162: 2161: 2157: 2156: 2154: 2152: 2148: 2141: 2138: 2136: 2135: 2131: 2129: 2128: 2124: 2123: 2121: 2119: 2115: 2109: 2106: 2103: 2100: 2099: 2097: 2095: 2091: 2084: 2082: 2077: 2076: 2072: 2071: 2069: 2067: 2063: 2056: 2053: 2050: 2049: 2045: 2042: 2039: 2036: 2033: 2032: 2030: 2027: 2023: 2015: 2014: 2010: 2008: 2007: 2003: 2001: 2000: 1996: 1995: 1994: 1993: 1992:Multiuser DOS 1989: 1988: 1986: 1984: 1980: 1973: 1972: 1967: 1966: 1961: 1960: 1956: 1955: 1953: 1951: 1947: 1940: 1937: 1934: 1933: 1929: 1928: 1926: 1924: 1920: 1909: 1906: 1903: 1900: 1899: 1897: 1893: 1885: 1882: 1879: 1876: 1874: 1871: 1870: 1869: 1866: 1864: 1863:ITRON project 1861: 1860: 1857: 1854: 1851: 1847: 1836: 1833: 1830: 1827: 1824: 1821: 1818: 1815: 1812: 1809: 1806: 1803: 1800: 1799: 1795: 1794: 1792: 1788: 1781: 1780: 1776: 1775: 1773: 1771: 1767: 1761: 1760: 1756: 1753: 1750: 1747: 1744: 1741: 1738: 1736: 1735: 1731: 1728: 1724: 1720: 1719: 1715: 1713: 1710: 1708: 1705: 1703: 1702: 1698: 1697: 1695: 1693: 1689: 1686: 1683: 1679: 1676: 1674: 1668: 1663: 1656: 1651: 1649: 1644: 1642: 1637: 1636: 1633: 1627: 1624: 1622: 1619: 1617: 1614: 1613: 1609: 1594:on 2022-05-31 1593: 1589: 1588:Own Your Bits 1585: 1578: 1575: 1570: 1566: 1560: 1557: 1545: 1541: 1535: 1532: 1521:on 2018-06-14 1520: 1516: 1512: 1506: 1503: 1498: 1497:Express Logic 1491: 1485: 1482: 1477: 1470: 1463: 1460: 1449: 1445: 1439: 1436: 1431: 1427: 1420: 1417: 1405: 1401: 1395: 1392: 1387: 1383: 1376: 1374: 1370: 1365: 1361: 1354: 1351: 1346: 1345: 1340: 1334: 1331: 1324: 1319: 1316: 1315: 1311: 1309: 1307: 1303: 1299: 1295: 1291: 1287: 1282: 1280: 1277: 1273: 1269: 1261: 1259: 1257: 1253: 1245: 1243: 1241: 1237: 1233: 1229: 1224: 1223: 1219: 1215: 1210: 1208: 1204: 1201: 1197: 1193: 1185: 1183: 1181: 1173: 1171: 1169: 1164: 1160: 1152: 1150: 1148: 1144: 1140: 1136: 1132: 1124: 1122: 1120: 1115: 1111: 1107: 1103: 1095: 1090: 1087: 1084: 1081: 1078: 1075: 1074: 1073: 1067: 1065: 1063: 1058: 1056: 1052: 1048: 1043: 1041: 1036: 1029: 1027: 1025: 1020: 1017: 1015: 1012:in 2013, and 1011: 1008: 1003: 1000: 997: 994: 991: 988: 982: 974: 971: 968: 967: 966: 963: 962: 956: 953: 950: 947: 944: 941: 938: 937: 936: 933: 932: 926: 923: 920: 917: 916: 915: 912: 911: 905: 902: 899: 896: 894:Leopard Gecko 893: 890: 887: 884: 881: 878: 877: 876: 873: 872: 866: 863: 860: 857: 854: 851: 848: 845: 842: 839: 836: 833: 832: 831: 828: 827: 821: 818: 815: 812: 809: 806: 805: 804: 801: 800: 794: 791: 788: 785: 782: 779: 778: 777: 774: 773: 767: 764: 761: 758: 756:MIPS32 1004Kx 755: 752: 749: 746: 743: 740: 739: 738: 735: 734: 728: 725: 722: 719: 716: 713: 710: 707: 706: 705: 702: 701: 695: 692: 689: 686: 685: 684: 681: 680: 674: 671: 670: 669: 666: 665: 659: 656: 655: 654: 651: 650: 644: 643: 641: 640: 634: 633: 631: 630: 624: 621: 618: 615: 612: 609: 606: 605: 604: 601: 600: 594: 593: 592: 589: 588: 582: 579: 576: 573: 570: 569: 568: 565: 564: 559: 557: 555: 551: 547: 543: 538: 536: 533: 529: 525: 520: 518: 514: 510: 506: 502: 497: 495: 491: 487: 483: 479: 475: 471: 467: 463: 459: 454: 452: 448: 444: 440: 436: 431: 429: 425: 424:William Lamie 421: 413: 411: 409: 405: 401: 397: 393: 384: 378: 374: 371: 368: 366: 362: 358: 356: 350: 347: 343: 340: 336: 335:deterministic 332: 329: 326: 322: 318: 314: 310: 306: 302: 298: 294: 290: 286: 282: 278: 275: 271: 267: 265: 261: 257: 255:Update method 253: 249: 245: 242: 238: 234: 222: 220: 216: 202: 200: 196: 182: 178: 175: 172: 168: 164: 162:Working state 160: 157: 154: 152: 148: 144: 139: 134: 132: 128: 113: 110: 102: 99:November 2010 91: 88: 84: 81: 77: 74: 70: 67: 63: 60: –  59: 55: 54:Find sources: 48: 42: 41: 37: 32:This article 30: 26: 21: 20: 3736:Microkernels 3702: 3692: 3680: 3672: 3667: 3664: 3652:William Wulf 3526: 3520: 3514: 3506: 3493: 3443: 3435: 3422:Workplace OS 3420: 3413: 3409: 3402:AIM alliance 3389: 3383: 3307: 3301: 3277: 3270: 3255: 3248: 3217: 3209: 3203: 3197: 3170: 3137: 3122: 3115: 3108: 3095: 3084: 3078: 3072: 3032:Nucleus RTOS 3017: 3000: 2993: 2981: 2962: 2956: 2952: 2946: 2938: 2911: 2904: 2891: 2851: 2832: 2825: 2815: 2802: 2786: 2775: 2767: 2759: 2744: 2725: 2703: 2697: 2677: 2670: 2638: 2632: 2603:Microkernels 2558: 2548: 2536: 2528: 2523: 2520: 2508:Ken Sakamura 2503:Adam Dunkels 2406: 2400: 2393: 2386: 2368: 2361: 2309: 2301: 2281: 2249: 2216:Low resource 2204: 2197: 2190: 2158: 2132: 2125: 2101: 2079: 2078:^° kernel → 2073: 2046: 2011: 2004: 1997: 1990: 1969: 1963: 1957: 1930: 1811:Nucleus RTOS 1796: 1777: 1757: 1732: 1726: 1722: 1716: 1699: 1596:. Retrieved 1592:the original 1587: 1577: 1568: 1559: 1548:. Retrieved 1546:. 2018-01-16 1543: 1534: 1523:. Retrieved 1519:the original 1515:Thread Group 1514: 1505: 1496: 1484: 1475: 1462: 1451:. Retrieved 1448:VDC Research 1447: 1438: 1429: 1419: 1407:. Retrieved 1403: 1394: 1385: 1366:. AspenCore. 1363: 1353: 1342: 1333: 1286:Raspberry Pi 1283: 1265: 1249: 1225: 1211: 1189: 1177: 1174:Embedded USB 1156: 1128: 1119:flash memory 1099: 1085:Embedded USB 1071: 1059: 1044: 1037: 1035:scheduling. 1033: 1021: 1018: 1004: 1001: 998: 995: 992: 989: 986: 903:Wonder Gecko 875:Silicon Labs 645:TeakLite-III 619:ARM Cortex-M 616:ARM Cortex-R 613:ARM Cortex-A 539: 521: 498: 461: 455: 450: 432: 428:Nucleus RTOS 417: 399: 395: 391: 390: 170:Source model 105: 96: 86: 79: 72: 65: 53: 33: 3592:Gordon Bell 3482:OpenComRTOS 3379:Singularity 3205:Chorus/Jazz 3128:OpenHarmony 2607:nanokernels 2531:Microkernel 2493:Dave Cutler 2483:Gordon Bell 2388:Sintran III 2258:OpenComRTOS 1959:Chorus/Jazz 1409:23 November 1294:binary blob 1279:space probe 1276:Deep Impact 1270:, and even 1252:source code 897:Pearl Gecko 888:Happy Gecko 882:Giant Gecko 753:MIPS32 74Kx 750:MIPS32 34Kx 747:MIPS32 24Kx 744:MIPS32 14Kx 546:file system 537:compliant. 464:represents 447:MIT License 439:open source 370:MIT License 342:microkernel 174:Open source 3720:Categories 3584:Developers 3551:Frameworks 3488:Phantom OS 3452:ChibiOS/RT 2810:µ-velOSity 2804:MicroEmpix 2550:Comparison 2475:Developers 2436:Frameworks 2378:° Standard 2356:Phantom OS 2334:µ-velOSity 2223:ChibiOS/RT 1598:2024-03-09 1550:2019-02-13 1525:2018-01-11 1453:2018-07-31 1325:References 1234:(SSL/TLS) 1209:SW-SIL 4. 1047:semaphores 1030:Technology 969:Microblaze 906:Zero Gecko 900:Tiny Gecko 891:Jade Gecko 762:microAptiv 759:interAptiv 741:MIPS32 4Kx 490:picokernel 472:response, 396:Azure RTOS 346:picokernel 303:, RX, SH, 258:Re-install 219:Repository 210:2024-02-28 151:Written in 69:newspapers 36:references 3675:Real-time 3632:Ike Nassi 3607:Dan Dodge 3371:Microsoft 3241:Unix-like 3231:Macintosh 3139:HarmonyOS 3026:Integrity 2925:Minix-vmd 2885:Unix-like 2864:Operating 2662:Macintosh 2498:Dan Dodge 2426:UniProton 2376:RT-Thread 2350:Microware 2270:RT-Thread 2094:Microsoft 1884:T-License 1805:Integrity 1692:Unix-like 1671:Operating 1404:Microsoft 1246:Packaging 1236:libraries 1218:IEC 60335 1214:IEC 60730 1200:ISO 26262 1198:Class C, 1196:IEC 62304 1192:IEC 61508 1091:Packaging 1024:Microsoft 1016:in 2014. 1010:IEC 61508 972:Zynq-7000 704:Microchip 515:(MMU) or 507:(AMP) or 470:interrupt 435:Microsoft 339:real-time 273:Platforms 145:(current) 138:Microsoft 131:Developer 58:"ThreadX" 3458:FreeRTOS 3415:Taligent 3347:Broadway 3341:AspireOS 3211:ChorusOS 3132:Oniro OS 3019:ChorusOS 2899:GNU Hurd 2853:Vanguard 2795:GNU Mach 2679:NuKernel 2560:Category 2382:ScreenOS 2322:FreeRTOS 2264:PX5 RTOS 1971:ChorusOS 1868:T-Kernel 1829:PX5 RTOS 1798:ChorusOS 1707:Junos OS 1364:Embedded 1312:See also 1288:line of 1238:such as 1207:EN 50128 1014:UL 60730 945:Hercules 765:proAptiv 693:Arria 10 668:Infineon 660:eSi-32x0 657:eSi-16x0 653:eSi-RISC 632:Cadence 571:Blackfin 414:Overview 331:Embedded 319:, others 317:Coldfire 231:/threadx 140:(former) 3665:Italics 3574:TI-RTOS 3522:Harmony 3501:SharpOS 3495:RC 4000 3464:HelenOS 3384:ThreadX 3361:MorphOS 3330:AmigaOS 3309:Symbian 3286:kernel) 3284:PowerPC 3272:Copland 3257:MacMach 3250:MachTen 3011:Partial 2957:Unix-RT 2940:MkLinux 2931:Minix 3 2877:support 2866:systems 2840:RTLinux 2834:PowerUP 2817:nucleus 2615:Kernels 2521:Italics 2465:Xenomai 2459:TI-RTOS 2421:VxWorks 2408:Harmony 2311:DioneOS 2282:ThreadX 2251:Nano-RK 2240:FunkOS° 2229:Contiki 2134:4690 OS 2127:4680 OS 2102:ThreadX 2081:Symbian 2013:REAL/32 1895:Partial 1852:support 1825:^ (OSE) 1790:Partial 1752:RTLinux 1727:Unix-RT 1684:support 1673:systems 1544:wolfSSL 1430:Renesas 1302:booting 1296:on the 1240:wolfSSL 1222:UL 1998 1194:SIL 4, 1147:WYSIWYG 1051:mutexes 983:History 921:ARC 700 918:ARC 600 867:STM32WB 864:STM32U5 861:STM32U0 855:STM32H7 852:STM32H5 849:STM32F7 846:STM32F4 843:STM32F3 840:STM32F2 837:STM32F1 834:STM32F0 819:Synergy 807:H8/300H 803:Renesas 792:PowerPC 786:Kinetis 768:M-Class 720:SAM C-V 714:dsPIC33 690:Cyclone 687:Nios II 675:XMC4000 672:XMC1000 535:MISRA C 458:threads 400:ThreadX 381:threadx 365:License 353:Default 297:PowerPC 208: ( 188: ( 165:Current 83:scholar 3568:Genode 3562:Cosmos 3540:Zephyr 3445:BeRTOS 3437:Amoeba 3233:hosted 3199:JavaOS 3179:Wombat 3172:REX OS 3165:PikeOS 3159:LLinux 3152:kernel 3110:Midori 3091:CapROS 3080:KeyKOS 3074:GNOSIS 2995:UNICOS 2983:Spring 2964:OS2000 2913:MeikOS 2746:WarpOS 2733:ExecSG 2664:hosted 2626:family 2303:BeRTOS 2288:Zephyr 2272:° Nano 2244:Mynewt 2206:VAXELN 2192:RSX-11 2180:PDP-11 2055:Wombat 2048:REX OS 2041:PikeOS 2035:LLinux 2028:kernel 2006:FlexOS 1965:JavaOS 1779:LiteOS 1770:LiteOS 1734:OS2000 1712:LynxOS 1664:(RTOS) 1386:Forbes 1344:GitHub 1228:DO-178 1205:, and 1203:ASIL D 1168:Thread 1112:, and 965:Xilinx 957:Tiva-C 954:Sitara 948:MSP430 927:ARC HS 924:ARC EM 858:STM32L 635:Xtensa 595:RISC-V 325:Kernel 301:RISC-V 225:github 85:  78:  71:  64:  56:  3516:Thoth 3470:µC/OS 3391:Verve 3323:-type 3321:Amiga 3295:Psion 3117:NLTSS 3097:Hydra 3038:NuttX 2989:Tinix 2976:Redox 2919:Minix 2906:Lites 2875:POSIX 2761:ADEOS 2740:Quark 2719:-type 2717:Amiga 2690:Psion 2634:Eumel 2402:Thoth 2395:THEOS 2328:µC/OS 2317:embOS 2199:RT-11 2142:(TPF) 2066:Psion 1908:RTEMS 1817:NuttX 1682:POSIX 1493:(PDF) 1472:(PDF) 1306:Linux 1216:, UL/ 1114:exFAT 1102:FAT12 942:C64x+ 939:C674x 879:Gecko 729:SAMA5 717:PIC32 711:PIC24 708:AVR32 683:Intel 642:CEVA 591:Andes 580:SHARC 574:CM4xx 305:SHARC 90:JSTOR 76:books 3681:° = 3673:^ = 3555:kits 3534:VRTX 3525:^ → 3519:^ → 3508:SPIN 3410:Pink 3335:AROS 3303:EPOC 3103:seL4 3086:EROS 3050:RIOT 3002:VSTa 2953:MERT 2827:Opus 2788:Mach 2769:EROS 2727:Exec 2705:EKA2 2699:EKA1 2651:OKL4 2537:° = 2529:^ = 2453:RTAI 2440:kits 2415:VRTX 2405:^ → 2363:pSOS 2346:OS-9 2276:RIOT 2160:DSOS 2075:EKA2 1939:seL4 1932:EROS 1902:eCos 1850:TRON 1835:RIOT 1759:UNOS 1723:MERT 1701:DNIX 1411:2023 1320:(ME) 1284:The 1272:NASA 1163:IPv6 1161:and 1159:IPv4 822:V850 783:i.MX 737:MIPS 726:SAM9 723:SAM7 610:ARM9 607:ARM7 398:and 327:type 285:MIPS 268:None 227:.com 190:1997 183:1997 62:news 3476:MQX 3044:OSE 2970:QNX 2951:^ ( 2893:ARX 2777:K42 2449:° 2 2370:RMX 2340:MQX 2183:VAX 2177:DEC 2118:IBM 1983:DOS 1962:^ ( 1740:QNX 1721:^ ( 1274:’s 1180:USB 1007:TÜV 914:ARC 795:S32 789:LPC 776:NXP 696:x86 603:ARM 554:USB 383:.io 313:x86 293:PIC 289:NXP 281:ARM 277:ARC 248:IoT 38:to 3722:: 3576:^° 3553:, 3542:^° 3490:^° 3472:^° 3460:^° 3454:^° 3448:^° 3419:→ 3417:OS 3412:→ 3337:° 3313:^° 3311:OS 3306:→ 3219:JX 3214:^) 3181:^° 3161:^° 3150:L4 3136:→ 3130:, 3105:^° 3089:→ 3083:→ 3077:→ 3052:^° 3040:^° 2955:– 2921:° 2848:^° 2791:° 2772:^° 2708:^° 2702:→ 2645:L4 2643:→ 2640:L3 2637:→ 2624:L4 2461:^° 2438:, 2358:^° 2330:^° 2324:^° 2306:^° 2290:^° 2225:^° 2168:^° 2085:^° 2083:OS 2057:^° 2037:^° 2026:L4 1974:^) 1968:+ 1941:^° 1935:^° 1837:^° 1819:^° 1725:– 1586:. 1567:. 1542:. 1513:. 1495:. 1474:. 1446:. 1428:. 1402:. 1384:. 1372:^ 1362:. 1341:. 1281:. 1258:. 1242:. 1220:, 1110:32 1108:, 1106:16 1104:, 1049:, 830:ST 816:SH 813:RZ 810:RX 528:UL 410:. 344:, 337:, 333:, 315:, 309:TI 307:, 299:, 295:, 291:, 287:, 279:, 246:, 49:. 3570:° 3564:° 3536:^ 3528:V 3511:° 3503:° 3484:^ 3478:^ 3466:° 3440:° 3386:^ 3355:° 3349:° 3343:° 3282:( 3222:° 3202:( 3175:^ 3167:^ 3134:) 3126:( 3046:^ 3034:^ 3028:^ 3021:^ 2978:° 2972:^ 2959:) 2943:° 2933:° 2927:° 2901:° 2842:° 2812:^ 2797:° 2780:° 2764:° 2653:° 2647:° 2605:- 2595:e 2588:t 2581:v 2467:° 2455:° 2417:^ 2411:^ 2352:) 2348:( 2342:^ 2336:^ 2284:^ 2278:° 2266:^ 2260:^ 2254:° 2246:° 2237:° 2231:° 2104:^ 2051:^ 2043:^ 1910:° 1904:° 1831:^ 1813:^ 1807:^ 1801:^ 1782:° 1754:° 1748:° 1742:^ 1729:) 1654:e 1647:t 1640:v 1601:. 1571:. 1553:. 1528:. 1499:. 1456:. 1432:. 1413:. 1388:. 1347:. 462:X 408:C 233:/ 212:) 192:) 156:C 112:) 106:( 101:) 97:( 87:· 80:· 73:· 66:· 43:.

Index


references
primary sources
secondary or tertiary sources
"ThreadX"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Developer
Microsoft
Eclipse Foundation
Written in
C
Open source
Latest release
Repository
github.com/eclipse-threadx/threadx/
Embedded systems
IoT
Package manager
ARC
ARM
MIPS
NXP
PIC
PowerPC
RISC-V

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