Skip to content

Commit 48c915a

Browse files
authored
Merge pull request #1 from eclipse-threadx/initial-conversion
Initial conversion to AsciiDoc from markdown.
2 parents a806d6a + 9e7ef42 commit 48c915a

File tree

1,246 files changed

+171947
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,246 files changed

+171947
-2
lines changed

CONTRIBUTING.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Contributing to Eclipse ThreadX
2+
3+
Thanks for your interest in this project.
4+
5+
## Project description
6+
7+
Eclipse ThreadX provides a vendor-neutral, open source, safety-certified OS for
8+
real-time applications published on under a permissive license. The Eclipse
9+
ThreadX suite encompasses:
10+
* ThreadX - advanced real-time operating system (RTOS) designed specifically for deeply embedded applications
11+
* NetX Duo - advanced, industrial-grade TCP/IP network stack designed specifically for deeply embedded real-time and IoT applications
12+
* FileX - high-performance, FAT-compatible file system that’s fully integrated with ThreadX kernel
13+
* GUIX - provides a complete, embedded graphical user interface (GUI) library
14+
* USBX - high-performance USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with ThreadX kernel
15+
* LevelX - flash wear leveling for FileX and stand-alone purposes
16+
* GuiX Studio - design environment, facilitating the creation and maintenance of all graphical elements for GUIX
17+
* TraceX - analysis tool that provides a graphical view of real-time system events to better understand the behavior of real-time systems
18+
19+
Project websites:
20+
* https://threadx.io
21+
* https://projects.eclipse.org/projects/iot.threadx
22+
23+
## Terms of Use
24+
25+
This repository is subject to the Terms of Use of the Eclipse Foundation
26+
https://www.eclipse.org/legal/termsofuse.php
27+
28+
## Developer resources
29+
30+
Information regarding source code management, builds, coding standards, and more.
31+
https://projects.eclipse.org/projects/iot.threadx/developer
32+
33+
The project maintains the following source code repositories
34+
35+
* https://github.com/eclipse-threadx/.github
36+
* https://github.com/eclipse-threadx/cmsis-packs
37+
* https://github.com/eclipse-threadx/filex
38+
* https://github.com/eclipse-threadx/getting-started
39+
* https://github.com/eclipse-threadx/guix
40+
* https://github.com/eclipse-threadx/levelx
41+
* https://github.com/eclipse-threadx/netxduo
42+
* https://github.com/eclipse-threadx/rtos-docs-asciidoc
43+
* https://github.com/eclipse-threadx/rtos-docs-html
44+
* https://github.com/eclipse-threadx/samples
45+
* https://github.com/eclipse-threadx/threadx
46+
* https://github.com/eclipse-threadx/threadx-learn-samples
47+
* https://github.com/eclipse-threadx/tracex
48+
* https://github.com/eclipse-threadx/usbx
49+
50+
## Eclipse Development Process
51+
52+
This Eclipse Foundation open project is governed by the Eclipse Foundation
53+
Development Process and operates under the terms of the Eclipse IP Policy.
54+
55+
* https://eclipse.org/projects/dev_process
56+
* https://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf
57+
58+
## Eclipse Contributor Agreement
59+
60+
In order to be able to contribute to Eclipse Foundation projects you must electronically sign the Eclipse Contributor Agreement (ECA).
61+
https://www.eclipse.org/legal/ECA.php
62+
63+
The ECA provides the Eclipse Foundation with a permanent record that you agree
64+
that each of your contributions will comply with the commitments documented in
65+
the Developer Certificate of Origin (DCO). Having an ECA on file associated with
66+
the email address matching the "Author" field of your contribution's Git commits
67+
fulfills the DCO's requirement that you sign-off on your contributions.
68+
69+
For more information, please see the Eclipse Committer Handbook:
70+
https://www.eclipse.org/projects/handbook/#resources-commit
71+
72+
## Contact
73+
74+
The project owns several mailing lists.
75+
76+
### Main ThreadX mailing list
77+
News and updates about the ThreadX project and the ThreadX Alliance.
78+
https://accounts.eclipse.org/mailing-list/threadx
79+
80+
### Developer mailing list
81+
Project team conversations. Feel free to jump in and ask non-technical questions there.
82+
https://accounts.eclipse.org/mailing-list/threadx-dev
83+
84+
### User mailing list
85+
Ask your technical questions and discuss issues here.
86+
https://accounts.eclipse.org/mailing-list/threadx-users
87+

LICENSE

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Microsoft Corporation
4+
Copyright (c) 2024 Eclipse ThreadX Project Contributors
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in all
14+
copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
SOFTWARE.

README.md

Lines changed: 182 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,182 @@
1-
# rtos-docs-asciidoc
2-
Source of the Eclipse ThreadX documentation in AsciiDoc format. Supersedes rtos-docs.
1+
# About this repository
2+
This is the AsciiDoc source for the Eclipse ThreadX documentation. The project team generates HTML and PDF versions from the contents of this repository.
3+
4+
If you want to propse changes or addition to the documentation, this is the right place!
5+
6+
# What is Eclipse ThreadX?
7+
8+
Eclipse ThreadX is a real time operating system (RTOS) for Internet of Things (IoT) and edge devices powered by microcontroller units (MCUs). Eclipse ThreadX is designed to support most highly constrained devices (battery powered and having less than 64 KB of flash memory).
9+
10+
Eclipse ThreadX provides full IP layer security via IPsec and socket layer security via TLS and DTLS. Our software crypto library has achieved FIPS 140-2 certification. We also leverage hardware cryptographic capabilities, memory protection via ThreadX MODULES, and support for ARM's TrustZone ARMv8-M security features.
11+
12+
**IMPORTANT:** Microsoft Azure RTOS, an embedded development suite with the ThreadX real-time operating system, has been deployed on more than 12 billion devices worldwide. Azure RTOS has now transitioned to an open-source project under the stewardship of the Eclipse Foundation, a recognized leader in hosting open-source IoT projects.
13+
14+
With Eclipse Foundation as the new home, Azure RTOS becomes Eclipse ThreadX. For more information, see the following pages:
15+
16+
* [Microsoft IoT blog](https://techcommunity.microsoft.com/t5/internet-of-things-blog/microsoft-contributes-azure-rtos-to-open-source/ba-p/3986318)
17+
* [Eclipse ThreadX project](https://threadx.io/)
18+
19+
## Eclipse ThreadX resources
20+
21+
[Eclipse ThreadX repositories](https://github.com/eclipse-threadx/)
22+
23+
Documentation for components:
24+
25+
- [ThreadX](./rtos-docs/threadx/index.md)
26+
- [ThreadX Modules](./rtos-docs/threadx-modules/index.md)
27+
- [NetX Duo](./rtos-docs/netx-duo/index.md)
28+
- [GUIX](./rtos-docs/guix/index.md)
29+
- [FileX](./rtos-docs/filex/index.md)
30+
- [LevelX](./rtos-docs/levelx/index.md)
31+
- [USBX](./rtos-docs/usbx/index.md)
32+
- [TraceX](./rtos-docs/tracex/index.md)
33+
34+
Other resources:
35+
36+
- [Product Support Policy](./rtos-docs/general/lts.md)
37+
- [Security Updates](./rtos-docs/general/security-updates.md)
38+
39+
40+
## Components of Eclipse ThreadX
41+
42+
The Eclipse ThreadX platform is the collection of run-time solutions including ThreadX, NetX Duo, FileX, GUIX and USBX.
43+
44+
![The diagram of Eclipse ThreadX system components.](./rtos-docs/media/eclipse-threadx-system-components.png)
45+
46+
### ThreadX
47+
48+
ThreadX is an advanced Real-Time Operating System (RTOS) designed specifically for deeply embedded applications. Among the multiple benefits ThreadX provides are advanced scheduling facilities, message passing, interrupt management, and messaging services. ThreadX has many advanced features, including its picokernel architecture, preemption-threshold scheduling, event-chaining, and a rich set of system services.
49+
50+
### FileX
51+
52+
FileX is a high-performance FAT-compatible file system. It is fully integrated with ThreadX and is available for all supported processors. Like ThreadX, FileX is designed to have a small footprint and high performance, making it ideal for today's deeply embedded applications that require file operations. FileX supports most physical media, including RAM disk, USBX, SD CARD, and NAND/NOR flash memories via LevelX.
53+
54+
### GUIX
55+
56+
GUIX is a professional quality graphical user interface package, created to meet the needs of embedded systems developers. Unlike the alternatives, GUIX is small, fast, and easily ported to virtually any hardware configuration capable of supporting graphical output. GUIX also delivers exceptional visual appeal and an intuitive and powerful API for application-level user interface development.
57+
58+
### NetX Duo
59+
60+
NetX Duo is an advanced, Industrial Grade TCP/IP network stacks designed specifically for deeply embedded, real-time, and IoT applications. NetX Duo is a dual IPv4 and IPv6 network stack.
61+
62+
### USBX
63+
64+
USBX is a high-performance USB host, device, and On-The-Go (OTG) embedded stack. It is fully integrated with ThreadX and is available for all ThreadX supported processors. Like ThreadX, USBX is designed to have a small footprint and high performance, making it ideal for deeply embedded applications that require an interface with USB devices.
65+
66+
### Windows tools
67+
68+
GUIX Studio provides a complete GUI application design environment, facilitating the creation and maintenance of all graphical elements in the application's GUI. GUIX Studio automatically generates C code compatible with the GUIX library, ready to be compiled and run on the target.
69+
70+
TraceX is a host-based analysis tool that provides developers with a graphical view of real-time system events and enables them to visualize and better understand the behavior of their real-time systems.
71+
72+
## The Eclipse ThreadX Advantage
73+
74+
Eclipse ThreadX provides the following advantages over other real-time operating systems.
75+
76+
### Most deployed RTOS
77+
78+
Eclipse ThreadX has over 12 billion deployments worldwide. The popularity of Eclipse ThreadX is a testament to its reliability, quality, size, performance, advanced features, ease-of-use, and overall time-to-market advantages.
79+
> _"We have followed the growth trajectory of THREADX in the wireless and IoT markets since the company's founding, and are increasingly impressed by the widespread industry adoption of THREADX."_ – Chris Rommel, Executive Vice President, VDC Research
80+
81+
### Intuitive and consistent API design
82+
83+
- Intuitive and consistent API.
84+
- Noun-verb naming convention.
85+
- All APIs have leading prefix, such as \_tx\_\_ for ThreadX and \_fx\_\_ for FileX, to easily identify the Eclipse ThreadX component they belong to.
86+
- Functional consistency throughout the APIs. For example, all API functions that suspend have an optional timeout that functions in an identical manner.
87+
- Many APIs are directly available from application ISRs.
88+
- Optional user-notification callbacks for media and file operations.
89+
- Event-driven programming model (API).
90+
91+
### High efficiency
92+
93+
- Small code footprint.
94+
- Scalable code footprint based on the services used.
95+
- Fast execution. Eclipse ThreadX is designed for speed and has minimal internal function call layering to help achieve the fastest possible performance.
96+
97+
### Fastest time-to-market
98+
99+
Eclipse ThreadX is easy to install, learn, use, debug, verify, certify, and maintain. As a result, Eclipse ThreadX is one of the most popular real time operating systems for embedded IoT devices, including many SoCs from Broadcom, Gainspan, and so forth. Our consistent time-to-market advantage is built on:
100+
101+
- Complete source code availability.
102+
- Easy-to-use API.
103+
- Comprehensive and advanced feature set.
104+
- Quality documentation.
105+
106+
### Full, highest-quality source code
107+
108+
Throughout the years, Eclipse ThreadX source code has set the bar in quality and ease of understanding. In addition, the convention of having one function per file provides for easy source navigation.
109+
110+
### Pre-certified by TÜV and UL to many safety standards
111+
112+
Eclipse ThreadX has been certified by SGS-TÜV Saar for use in safety-critical systems, according to IEC-61508 SIL 4. The certification confirms that Eclipse ThreadX can be used in the development of safety-related software for the highest safety integrity levels of IEC-61508 for the "Functional Safety of electrical, electronic, and programmable electronic safety-related systems." SGS-TUV Saar, formed through a joint venture of Germany's SGS-Group and TUV Saarland, has become the leading accredited, independent company for testing, auditing, verifying, and certifying embedded software for safety-related systems worldwide.
113+
114+
![SGS-TUV certification](./rtos-docs/media/partener-logo-sgs-tuv-saar.png)
115+
116+
Eclipse ThreadX has been recognized by UL for compliance with UL 60730-1 Annex H, CSA E60730-1 Annex H, IEC 60730-1 Annex H, UL 60335-1 Annex R, IEC 60335-1 Annex R, and UL 1998 safety standards for software in programmable components. UL is a global, independent, safety-science company with more than a century of expertise innovating safety solutions, ranging from the public adoption of electricity to breakthroughs in sustainability, renewable energy, and nanotechnology.
117+
118+
![CRU UL certification](./rtos-docs/media/cru-logo-certification.png)
119+
120+
Artifacts (Certificate, Safety Manual, Test Report, etc.) associated with the TUV and UL certifications are available to license.
121+
122+
In cases where the application needs additional certification, a certification service is available through Eclipse Foundation for providing turn-key certification to various standards using the actual hardware platform and even covering the application code. Contact us for more details on our certification service.
123+
124+
### EAL4+ Common Criteria security certification
125+
126+
ThreadX has achieved EAL4+ Common Criteria security certification. The Target of Evaluation (TOE) covers ThreadX, NetX Duo, NetX Secure TLS, and NetX MQTT. This represents the most typical IoT protocols required by deeply embedded sensors, devices, edge routers, and gateways.
127+
128+
![EAL certification](./rtos-docs/media/eal-logo-certification.png)
129+
130+
The IT Security Evaluation Facility used for the Eclipse ThreadX SC security certification is Brightsight BV and the Certification Authority is SERTIT.
131+
132+
### FIPS 140-2 Validated
133+
134+
Eclipse ThreadX Crypto libraries have achieved Federal Information Processing Standardization 140-2 (FIPS 140-2) Certification for software, which specifies requirements for cryptography modules. FIPS 140-2 requires all federal government agencies and departments that use cryptographic-based security to meet specific standards related to encryption strength and capabilities. These cryptographic-based security standards are also recognized in Canada and the European Union.
135+
136+
The Information Security evaluation lab used for Eclipse ThreadX Crypto libraries was atsec and the certification authority is [The National Institute of Standards and Technology (NIST)](https://csrc.nist.gov/projects/cryptographic-module-validation-program/Certificate/3394).
137+
138+
### Supports most popular architectures
139+
140+
Eclipse ThreadX works on most popular 32/64-bit microprocessors, out-of-the-box, fully tested and fully supported, including the following advanced architectures:
141+
142+
- **Analog Devices**: SHARC, Blackfin, CM4xx
143+
144+
- **Andes Core**: RISC-V
145+
146+
- **Ambiqmicro**: Apollo MCUs
147+
148+
- **ARM**: ARM7, ARM9, ARM11, Cortex-M0/M3/M4/M7/A15/A5/A7/A8/A9/A5x 64-bi/A7x 64-bit/R4/R5, TrustZone ARMv8-M
149+
150+
- **Cadence**: Xtensa, Diamond
151+
152+
- **CEVA**: PSoC, PSoC 4, PSoC 5, PSoC 6, FM0+, FM3, MF4, WICED WiFi
153+
154+
- **Cypress**: RISC-V
155+
156+
- **EnSilica**: eSi-RISC
157+
158+
- **Infineon**: XMC1000, XMC4000, TriCore
159+
160+
- **Intel; Intel FPGA**: x36/Pentium, XScale, NIOS II, Cyclone, Arria 10
161+
162+
- **Microchip**: AVR32, ARM7, ARM9, Cortex-M3/M4/M7, SAM3/4/7/9/A/C/D/E/G/L/SV, PIC24/PIC32
163+
164+
- **Microsemi**: RISC-V
165+
166+
- **NXP**: i.MX RT10xx and RT116x/7x series crossover MCUs, LPC5500 series
167+
168+
- **Renesas**: SH, HS, V850, RA, RX, RZ, Synergy
169+
170+
- **Silicon Labs**: EFM32
171+
172+
- **Synopsys**: ARC 600, 700, ARC EM, ARC HS
173+
174+
- **ST**: STM32, ARM7, ARM9, Cortex-M3/M4/M7
175+
176+
- **Tl**: C5xxx, C6xxx, Stellaris, Sitara, Tiva-C
177+
178+
- **Wave Computing**: MIPS32 4K, 24 K, 34 K, 1004 K, MIPS64 5K, microAptiv, interAptiv, proAptiv, M-Class
179+
180+
- **Xilinx**: MicroBlaze, PowerPC 405, ZYNQ, ZYNQ UltraSCALE
181+
182+
_All timing and size figures listed are estimates and may be different on your development platform._

0 commit comments

Comments
 (0)