Changeset 52f4890 in rtems-docs
- Timestamp:
- 01/07/19 06:46:08 (5 years ago)
- Branches:
- 5, master
- Children:
- 3177018
- Parents:
- 65f54a9
- git-author:
- Sebastian Huber <sebastian.huber@…> (01/07/19 06:46:08)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (01/09/19 08:24:02)
- Location:
- user
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
user/glossary/index.rst
r65f54a9 r52f4890 12 12 architecture compiler for each support RTEMS architecture. 13 13 14 APA 15 Arbitrary Processor Affinity 16 17 API 18 Application Programming Interface 19 14 20 Binutils 15 21 GNU Binary Utilities such as the assembler ``as``, linker ``ld`` and a … … 24 30 A continuous inteagration build server. 25 31 32 C11 33 ISO/IEC 9899:2011 34 35 C++11 36 ISO/IEC 14882:2011 37 26 38 Crosscompiler 27 39 … … 32 44 Dynamically Linker Library used on Windows. 33 45 46 EDF 47 Earliest Deadline First 48 49 EMB² 50 `Embedded Multicore Building Blocks <https://embb.io>`_ 51 52 FAT 53 File Allocation Table 54 55 Futex 56 Fast User-Space Locking 57 58 IMFS 59 In-Memory File System 60 61 JFFS2 62 Journalling Flash File System version 2 63 34 64 GCC 35 GNU Compiler Tool chain. It is the GNU C/C++ compiler, binutils and GDB.65 GNU Compiler Collection 36 66 37 67 GDB 38 68 GNU Debugger 69 70 GNU 71 GNU's Not Unix 39 72 40 73 Host … … 50 83 Minimal GNU system for 64bit Windows. MinGW64 is not the MinGW project. 51 84 85 MrsP 86 Multiprocessor Resource-Sharing Protocol 87 52 88 MSYS2 53 89 Minimal System 2 is a fork of the MinGW project's MSYS tool and the MinGW … … 58 94 programs. 59 95 96 NFSv2 97 Network File System version 2 98 99 OMIP 100 :math:`O(m)` Independence-Preserving Protocol 101 102 OpenMP 103 Open Multi-Processing 104 60 105 POSIX 61 106 Portable Operating System Interface is a standard that lets software be … … 65 110 A path used when building a package so all parts of the package reside 66 111 under that path. 112 113 RFS 114 RTEMS File System 67 115 68 116 RSB … … 76 124 interface standards such as POSIX and BSD sockets. 77 125 126 SMP 127 Symmetric Multiprocessing 128 78 129 Target 79 130 A target is the hardware or simulator a BSP built executable runs on. … … 85 136 RTEMS test suite located in the ``testsuites/`` directory. 86 137 138 TLS 139 Thread-Local Storage 140 87 141 Waf 88 142 Waf build system. For more information see http://www.waf.io/ 143 144 YAFFS2 145 `Yet Another Flash File System version 2 <https://git.rtems.org/sebh/rtems-yaffs2.git>`_ -
user/overview/index.rst
r65f54a9 r52f4890 1 1 .. comment SPDX-License-Identifier: CC-BY-SA-4.0 2 2 3 Introduction 4 ============ 5 3 6 Overview 4 ======== 5 6 Welcome to the :ref:term:`RTEMS` User Manual. 7 8 This document covers the topics a user of RTEMS needs to be able to install, 9 configure, build and create applications for the RTEMS operating system. 10 11 RTEMS, Real-Time Executive for Multiprocessor Systems, is a real-time executive 12 (kernel) which provides a high performance environment for embedded 13 applications with the following features: 14 15 .. sidebar:: Developers 16 17 Developers should look at the :r:url:`devel` for technical information. The 18 design and development of RTEMS is located there. 19 20 - standards based user interfaces 21 22 - multitasking capabilities 23 24 - homogeneous and heterogeneous multiprocessor systems 25 26 - event-driven, priority-based, preemptive scheduling 27 28 - optional rate monotonic scheduling 29 30 - intertask communication and synchronization 31 32 - priority inheritance 33 34 - responsive interrupt management 35 36 - dynamic memory allocation 37 38 - high level of user configurability 39 40 - open source with a friendly user license 41 42 RTEMS provides features found in modern operating systems: 43 44 - file systems 45 46 - networking 47 48 - USB 49 50 - permanent media such as flash disks, cards and USB devices 51 52 - support for various languages 53 54 - parallel programming language support 7 -------- 8 9 You are someone looking for a real-time operating system. This document 10 11 - presents the basic features of RTEMS, so that you can decide if it is worth to 12 look at, 13 14 - gives you a :ref:`quick start <QuickStart>` to install all the tools 15 necessary to work with RTEMS, and 16 17 - helps you to build an example application on top of RTEMS. 18 19 Features 20 -------- 21 22 The Real-Time Executive for Multiprocessor Systems (:ref:term:`RTEMS`) is a 23 multi-threaded, single address-space, real-time operating system with no 24 kernel-space/user-space separation. It is capable to operate in an 25 :ref:term:`SMP` configuration providing a state of the art feature set. 26 27 RTEMS is licensed under a 28 `modified GPL 2.0 or later license with an exception for static linking <https://git.rtems.org/rtems/tree/LICENSE>`_ 29 [#]_. It exposes no license requirements on application code. The third-party 30 software used and distributed by RTEMS which may be linked to the application 31 is licensed under permissive open source licenses. Everything necessary to 32 build RTEMS applications is available as open source software. This makes you 33 completely vendor independent. 34 35 RTEMS provides the following basic feature set: 36 37 - :ref:term:`APIs <API>` 38 39 - :ref:term:`POSIX` with 40 `pthreads <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/pthread.h.html>`_ 41 (enables a broad range of standard software to run on RTEMS) 42 43 - `Classic <https://docs.rtems.org/branches/master/c-user.pdf>`_ 44 45 - :ref:term:`C11` (including 46 `thread <https://en.cppreference.com/w/c/thread>`_ support) 47 48 - :ref:term:`C++11` (including 49 `thread <https://en.cppreference.com/w/cpp/thread>`_ support) 50 51 - Newlib and :ref:term:`GCC` internal 52 53 - Programming languages 54 55 - C/C++/OpenMP (RTEMS Source Builder, RSB) 56 57 - Ada (RSB, ``--with-ada``) 58 59 - Erlang 60 61 - Fortran (RSB, ``--with-fortran``) 62 63 - Python and MicroPython 64 65 - Parallel languages 66 67 - :ref:term:`EMB²` 68 69 - Google Go [#]_ 70 71 - :ref:term:`OpenMP` 4.5 72 73 - Thread synchronization and communication 74 75 - Mutexes with and without locking protocols 76 77 - Counting semaphores 78 79 - Binary semaphores 80 81 - Condition variables 82 83 - Events 84 85 - Message queues 86 87 - Barriers 88 89 - :ref:term:`Futex` (used by :ref:term:`OpenMP` barriers) 90 91 - Epoch Based Reclamation (libbsd) 92 93 - Locking protocols 94 95 - Transitive Priority Inheritance 96 97 - :ref:term:`OMIP` (SMP feature) 98 99 - Priority Ceiling 100 101 - :ref:term:`MrsP` (SMP feature) 102 103 - Scalable timer and timeout support 104 105 - Lock-free timestamps (FreeBSD timecounters) 106 107 - Responsive interrupt management 108 109 - C11/C++11 :ref:term:`TLS` [#]_ 110 111 - Link-time configurable schedulers 112 113 - Fixed-priority 114 115 - Job-level fixed-priority (:ref:term:`EDF`) 116 117 - Constant Bandwidth Server (experimental) 118 119 - Clustered scheduling (SMP feature) 120 121 - Flexible link-time configuration 122 123 - Job-level fixed-priority scheduler (:ref:term:`EDF`) with support for 124 one-to-one and one-to-all thread to processor affinities (default SMP 125 scheduler) 126 127 - Fixed-priority scheduler 128 129 - Proof-of-concept strong :ref:term:`APA` scheduler 130 131 - Focus on link-time application-specific configuration 132 133 - Linker-set based initialization (similar to global C++ constructors) 134 135 - Operating system uses fine-grained locking (SMP feature) 136 137 - Dynamic memory allocators 138 139 - First-fit (default) 140 141 - Universal Memory Allocator 142 (`UMA <https://www.freebsd.org/cgi/man.cgi?query=uma&sektion=9>`_ , 143 libbsd) 144 145 - File systems 146 147 - :ref:term:`IMFS` 148 149 - :ref:term:`FAT` 150 151 - :ref:term:`RFS` 152 153 - :ref:term:`NFSv2` 154 155 - :ref:term:`JFFS2` (NOR flashes) 156 157 - :ref:term:`YAFFS2` (NAND flashes, GPL or commercial license required) 158 159 - Device drivers 160 161 - Termios (serial interfaces) 162 163 - I2C (Linux user-space API compatible) 164 165 - SPI (Linux user-space API compatible) 166 167 - Network stacks (legacy, libbsd, lwIP) 168 169 - USB stack (libbsd) 170 171 - SD/MMC card stack (libbsd) 172 173 - Framebuffer (Linux user-space API compatible, Qt) 174 175 - Application runs in kernel-space and can access hardware directly 176 177 - libbsd 178 179 - Port of FreeBSD user-space and kernel-space components to RTEMS 180 181 - Easy access to FreeBSD software for RTEMS 182 183 - Support to stay in synchronization with FreeBSD 55 184 56 185 Real-time Application Systems 57 ============================= 186 ----------------------------- 58 187 59 188 Real-time application systems are a special class of computer applications. … … 90 219 91 220 Real-time Executive 92 =================== 221 ------------------- 93 222 94 223 Fortunately, real-time operating systems, or real-time executives, serve as a … … 128 257 standard software components, the time and cost required to develop 129 258 sophisticated real-time applications are significantly reduced. 259 260 .. [#] The goal is to use the 261 `BSD 2-Clause license 262 <https://git.rtems.org/rtems/tree/LICENSE.BSD-2-Clause>`_ for new code 263 or code those copyright holder agreed to a license change, see `#3053 264 <https://devel.rtems.org/ticket/3053>`_ for the details. 265 266 .. [#] See `#2832 <https://devel.rtems.org/ticket/2832>`_. 267 268 .. [#] Thread-local storage requires some support by the tool chain and the 269 RTEMS architecture support, e.g. context-switch code. It is supported 270 at least on ARM, PowerPC, RISC-V, SPARC and m68k. Check the 271 `RTEMS CPU Architecture Supplement <https://docs.rtems.org/branches/master/cpu-supplement.pdf>`_ 272 if it is supported. -
user/start/index.rst
r65f54a9 r52f4890 5 5 6 6 .. index:: Quick Start 7 8 .. _QuickStart: 7 9 8 10 Quick Start
Note: See TracChangeset
for help on using the changeset viewer.