1 | .. comment SPDX-License-Identifier: CC-BY-SA-4.0 |
---|
2 | |
---|
3 | .. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org> |
---|
4 | .. comment: All rights reserved. |
---|
5 | |
---|
6 | .. _ecosystem: |
---|
7 | |
---|
8 | RTEMS Ecosystem |
---|
9 | *************** |
---|
10 | .. index:: Ecosystem |
---|
11 | |
---|
12 | The RTEMS Ecosystem is the collection of tools, packages, code, documentation |
---|
13 | and online content provided by the RTEMS Project. The ecosystem provides a way |
---|
14 | to develop, maintain, and use RTEMS. It's parts interact with the user, the |
---|
15 | host environment, and each other to make RTEMS accessable, useable and |
---|
16 | predicable. |
---|
17 | |
---|
18 | The ecosystem is for users, developers and maintainers and it is an on going |
---|
19 | effort that needs your help and support. The RTEMS project is always improving |
---|
20 | the way it delivers the kernel to you and your feedback is important so please |
---|
21 | join the mailing lists and contribute back comments, success stories, bugs and |
---|
22 | patches. |
---|
23 | |
---|
24 | What the RTEMS project describes here to develop, maintain and use RTEMS does |
---|
25 | not dictate what you need to use in your project. You can and should select the |
---|
26 | work-flow that best suites the demands of your project and what you are |
---|
27 | delivering. |
---|
28 | |
---|
29 | Rational |
---|
30 | ======== |
---|
31 | |
---|
32 | RTEMS is complex and the focus of the RTEMS Ecosystem is to simplify the |
---|
33 | complexity for users by providing a stable documented way to build, configure |
---|
34 | and run RTEMS. RTEMS is more than a kernel running real-time applications on |
---|
35 | target hardware, it is part of a project's and therefore team's workflow and |
---|
36 | every project and team is different. |
---|
37 | |
---|
38 | RTEMS's ecosystem does not mandate a way to work. It is a series of parts, |
---|
39 | components, and items that are used to create a suitable development |
---|
40 | environment to work with. The processes explained in this manual are the same |
---|
41 | things an RTEMS maintainer does to maintain the kernel or an experienced user |
---|
42 | does to build their production system. It is important to keep this in mind |
---|
43 | when working through this manual. We encourage users to explore what can be |
---|
44 | done and to discover ways to make it fit their needs. The ecosystem provided by |
---|
45 | the RTEMS Project will not install in a single click of a mouse because we want |
---|
46 | users to learn the parts they will come to depend on as their project's |
---|
47 | development matures. |
---|
48 | |
---|
49 | The RTEMS Ecosystem provides a standard interface that is the same on all |
---|
50 | supported host systems. Standardizing how a user interacts with RTEMS is |
---|
51 | important and making that experience portable is also important. As a result |
---|
52 | the ecosystem is documented at the command line level and we leave GUI and IDE |
---|
53 | integration for users and integrators. |
---|
54 | |
---|
55 | Standardizing the parts and how to use them lets users create processes and |
---|
56 | procedures that are stable over releases. The RTEMS Ecosystem generates data |
---|
57 | that can be used to audit the build process so their configuration can be |
---|
58 | documented. |
---|
59 | |
---|
60 | The ecosystem is based around the source code used in the various parts, |
---|
61 | compontents and items of the RTEMS development environment. A user can create |
---|
62 | an archive of the complete build process including all the source code for long |
---|
63 | term storage. This is important for projects with a long life cycle. |
---|
64 | |
---|
65 | Open Source |
---|
66 | =========== |
---|
67 | |
---|
68 | RTEMS is an open source operating system and an open source project and this |
---|
69 | extends to the ecosystem. We encourage users to integrate the processes to |
---|
70 | build tools, the kernel and any 3rd party libraries into their project's |
---|
71 | configuration management processes. |
---|
72 | |
---|
73 | All the parts that make up the ecosystem are open source. The ecosystem uses a |
---|
74 | package's source code to create an executable on a host so when an example |
---|
75 | RTEMS executable is created and run for the first time the user will have built |
---|
76 | every tool as well as the executable from source. The RTEMS Project believes |
---|
77 | the freedom this gives a user is as important as the freedom of having access |
---|
78 | to the source code for a package. |
---|
79 | |
---|
80 | Deployment |
---|
81 | ========== |
---|
82 | |
---|
83 | The RTEMS Project provides the ecosystem as source code that users can download |
---|
84 | to create personalised development environments. The RTEMS Project does not |
---|
85 | provide packaging and deployment for a specific host environment, target |
---|
86 | architecture or BSP. The RTEMS Project encourages users and organizations to |
---|
87 | fill this role for the community. |
---|