RTEMS 5 Embedded Realtime Operating System Home:: https://ftp.rtems.org/pub/rtems/releases/5/5.0.0/5.0.0-m2004-2 Release: 5.0.0-m2004-2 Date: 01 May 2020 The Real-Time Executive for Multiprocessor Systems or RTEMS is an open source Real Time Operating System (RTOS) that supports open standard application programming interfaces (API) such as POSIX. It is used in space flight, medical, networking and many more embedded devices using processor architectures including ARM, PowerPC, SPARC, Intel, RISCV, MIPS, NIOS-II, Microblaze and more (a full list is provided at the end). This release directory contains the source code for the RTEMS 5.0.0-m2004-2 operating system and tools. All the documenation provided in HTML and PDF formats. Please drop by the Users mailing list (users@rtems.org) and let us know how you are using RTEMS. We love hearing about user projects. Many thanks to everyone who helped create this release. Regards The RTEMS Development Team. RTEMS Web Sites ----------- ------------------------------------------ Home https://www.rtems.org/ Download https://ftp.rtems.org/pub/rtems/releases Wiki https://devel.rtems.org/ Docs https://docs.rtems.org/ Bugs https://devel.rtems.org/query Lists https://lists.rtems.org/ Developer https://devel.rtems.org/ GIT https://git.rtems.org/ ----------- ------------------------------------------ Release Files ----------------------------------------------------------------------- 5.0.0-m2004-2 Top level directory ---------------------------------------- ------------------------------ README.txt, index.html This document contrib Directory contains extra release related files docs The generated RTEMS documentation sources Source code for this release rtems-5.0.0-m2004-2-release-notes.pdf Detailed RTEMS Release notes sha512sum.txt The SHA512 checksums for this directory ----------------------------------------------------------------------- Source Downloads RTEMS Source Code ------------------------------------------- ------------------------------------- rtems-5.0.0-m2004-2.tar.xz RTEMS kernel rtems-source-builder-5.0.0-m2004-2.tar.xz RTEMS Source Builder rtems-tools-5.0.0-m2004-2.tar.xz RTEMS Tools rtems-docs-5.0.0-m2004-2.tar.xz RTEMS Documentation source rtems-libbsd-5.0.0-m2004-2.tar.xz RTEMS LibBSD rtems-examples-5.0.0-m2004-2.tar.xz RTEMS Examples sources All source code for this release sha512sum.txt SHA512 checksums for this directory RTEMS Documentation The generated documentation can be found in the docs directory. The following manuals are available as compress HTML tar files or PDF: RTEMS User Manual - docs/rtems-5.0.0-m2004-2-user.pdf - docs/rtems-5.0.0-m2004-2-user-html.tar.xz RTEMS C User Manual - docs/rtems-5.0.0-m2004-2-c-user.pdf - docs/rtems-5.0.0-m2004-2-c-user-html.tar.xz RTEMS POSIX User Manual - docs/rtems-5.0.0-m2004-2-posix-user.pdf - docs/rtems-5.0.0-m2004-2-posix-user-html.tar.xz RTEMS Software Engineering Manual - docs/rtems-5.0.0-m2004-2-eng.pdf - docs/rtems-5.0.0-m2004-2-eng-html.tar.xz RTEMS Networking User Manual - docs/rtems-5.0.0-m2004-2-networking.pdf - docs/rtems-5.0.0-m2004-2-networking-html.tar.xz RTEMS Shell User Manual - docs/rtems-5.0.0-m2004-2-shell.pdf - docs/rtems-5.0.0-m2004-2-shell-html.tar.xz RTEMS Doxygen - docs/rtems-5.0.0-m2004-2-doxygen.pdf Quick Guide to Building For new user rhe Quick Start in the User Manual contains a details Quick Start guide. Download the User Manual: https://ftp.rtems.org/pub/rtems/releases/5/5.0.0/5.0.0-m2004-2/docs/rtems-docs-5.0.0-m2004-2-user.pdf and follow the instructions in the Quick Start section. If are familiar with RTEMS or just want to get going the following steps will download the RTEMS Source Builder: cd mkdir -p development/rtems cd development/rtems wget https://ftp.rtems.org/pub/rtems/releases/5/5.0.0/5.0.0-m2004-2/sources/rtems-source-builder-5.0.0-m2004-2.tar.xz tar Jxf rtems-source-builder-5.0.0-m2004-2.tar.xz cd rtems-source-builder-5.0.0-m2004-2/rtems To build the tools for the ARM architecture: ../source-builder/sb-set-builder \ --prefix=$HOME/development/rtems/5.0.0-m2004-2 \ 5/rtems-arm To build the tools, kernel and all packages for the Beagleboneblack: ../source-builder/sb-set-builder \ --prefix=$HOME/development/rtems/5.0.0-m2004-2 \ 5/bsps/beagleboneblack If you encounter a problem please post to the user@rtems.org mailing list. You can join the Users mailing at https://lists.rtems.org/. If you find a bug please raise a ticket at https://devel.rtems.org/newticket. RTEMS 5.1 Release Notes RTEMS Improvements In this section, we discuss public API level changes as well as improvements to the implementation of those API routines. Public API changes usually fall into one of the following categories: - Addition of new methods - Modifications to prototypes - Deletion of obsoleted methods Implementation improvements usually fall into one of the following categories: - Algorithm improvements in execution time or memory usage - Critical section reduction API Changes - Most services use now statically allocated resources and no longer need accounting in the application configuration. - The work area initialization (RTEMS Work Space and C Program Heap) changed. BSPs must provide now a _Memory_Get() function. - POSIX timers and signals are now the only POSIX resources which are enabled by the POSIX API. API Additions - Support for recording of high-frequency events in particular on SMP systems - Support for thread pinning (enables support for Epoch Based Reclamation; used by libbsd) - Termios supports now generation of signals. - New fatal sources: - RTEMS_FATAL_SOURCE_EXCEPTION - RTEMS_FATAL_SOURCE_PANIC - RTEMS_FATAL_SOURCE_SMP - RTEMS_FATAL_SOURCE_INVALID_HEAP_FREE - RTEMS_FATAL_SOURCE_HEAP API Implementation Improvements - TBD API Deprecations - rtems_iterate_over_all_threads(). Use rtems_task_iterate() instead. API Removals - rtems_clock_get() Configuration Changes - All configuration options are now documented. - Most resources are now statically allocated and no longer use the workspace. - New configuration options: - CONFIGURE_DIRTY_MEMORY - CONFIGURE_RECORD_EXTENSIONS_ENABLED - CONFIGURE_RECORD_FATAL_DUMP_BASE64 - CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB - CONFIGURE_RECORD_PER_PROCESSOR_ITEMS - CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION - Removed configuration options: - CONFIGURE_HAS_OWN_CONFIGURATION_TABLE - CONFIGURE_HAS_OWN_BDBUF_TABLE - CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE - CONFIGURE_HAS_OWN_FILESYSTEM_TABLE - CONFIGURE_HAS_OWN_INIT_TABLE - CONFIGURE_HAS_OWN_MOUNT_TABLE - CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE - CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE - The helper macro for the clustered scheduler configuration RTEMS_SCHEDULER_EDF_SMP() has now only one parameter. RTEMS Shell Improvements The following improvements were made to the RTEMS Shell: - Telnet now supports joel script output. Running a joel script in a telnet session now sees the output. Nested joel scripts also output to the telnet session. General - API header files have been collected from the various locations in the RTEMS source tree and placed under cputkit/include and for BSPs under bsps/include. There is no header pre-install phase when building RTEMS. - Improved parallel build performance. Nested make calls now run in parallel. - Added support for the RISC-V 32-bit and 64-bit architecture. - Added support for the 64-bit PowerPC architecture using the ELFv2 ABI. - Synchronized support for Journalling Flash File System, Version 2 (JFFS2) with Linux 4.17. - Import of libfdt from device tree compiler project. - Added libdebugger, a thread aware GDB debug server with TCP transport support. Currently the supported architectures are i386 and ARM. The ARM support is experimental. - This is the last release of RTEMS with the autoconf/automake build system. RTEMS will be moving to a waf based build system driven from YAML specifications files. The effort is part of the on-going wotk in the RTEMS project to support qualification of the operating system. BSPs and Device Drivers - General - BSP source code moved from c/src/lib/libbsd to bsps in the source tree. The configure and some other related pieces are still held in the original path. - New BSPs - BSPs for ARM - atsamv - Microchip (former Atmel) SAM V71 series - xilinx-zynqmp - Xilinx Zynq UltraScale+ MPSoC platform - BSPs for RISC-V - riscv - Family of generic BSPs - griscv - BSP based on the GRLIB - Significant updates to existing BSPs - powerpc/qoriq: 64-bit support - Removal of obsoleted BSPs - gdbsim - Drivers - Drivers for getentropy() Ecosystem - RSB support to build a BSP software stack of tools, kernel, libbsd, and supported 3rd party packages. - RTEMS Tester (rtems-test) support for DHCP/TFTP target hardware testing. - RTEMS Trace addition of a new trace record support for target tracing. - RTEMS Bootimage, a tool to portability create SD card images. Architectures and BSPs Architectures: 18 BSP Count: 200 arm 57 ------------------------------ ------------------------------------- altcycv_devkit bsps/arm/altera-cyclone-v atsamv bsps/arm/atsam beagleboardorig bsps/arm/beagle beagleboardxm bsps/arm/beagle beagleboneblack bsps/arm/beagle beaglebonewhite bsps/arm/beagle bbxm bsps/arm/beagle/simscripts/bbxm.cfg csb336 bsps/arm/csb336 csb337 bsps/arm/csb337 csb637 bsps/arm/csb337 kit637_v6 bsps/arm/csb337 edb7312 bsps/arm/edb7312 gumstix bsps/arm/gumstix imx7 bsps/arm/imx lm3s3749 bsps/arm/lm3s69xx lm3s6965 bsps/arm/lm3s69xx lm3s6965_qemu bsps/arm/lm3s69xx lm4f120 bsps/arm/lm3s69xx lpc1768_mbed bsps/arm/lpc176x lpc1768_mbed_ahb_ram bsps/arm/lpc176x lpc1768_mbed_ahb_ram_eth bsps/arm/lpc176x lpc17xx_ea_ram bsps/arm/lpc24xx lpc17xx_ea_rom_int bsps/arm/lpc24xx lpc17xx_plx800_ram bsps/arm/lpc24xx lpc17xx_plx800_rom_int bsps/arm/lpc24xx lpc2362 bsps/arm/lpc24xx lpc23xx_tli800 bsps/arm/lpc24xx lpc24xx_ea bsps/arm/lpc24xx lpc24xx_ncs_ram bsps/arm/lpc24xx lpc24xx_ncs_rom_ext bsps/arm/lpc24xx lpc24xx_ncs_rom_int bsps/arm/lpc24xx lpc24xx_plx800_ram bsps/arm/lpc24xx lpc24xx_plx800_rom_int bsps/arm/lpc24xx lpc40xx_ea_ram bsps/arm/lpc24xx lpc40xx_ea_rom_int bsps/arm/lpc24xx lpc32xx_mzx bsps/arm/lpc32xx lpc32xx_mzx_stage_1 bsps/arm/lpc32xx lpc32xx_mzx_stage_2 bsps/arm/lpc32xx lpc32xx_phycore bsps/arm/lpc32xx raspberrypi bsps/arm/raspberrypi raspberrypi2 bsps/arm/raspberrypi realview_pbx_a9_qemu bsps/arm/realview-pbx-a9 rtl22xx bsps/arm/rtl22xx rtl22xx_t bsps/arm/rtl22xx smdk2410 bsps/arm/smdk2410 stm32f105rc bsps/arm/stm32f4 stm32f4 bsps/arm/stm32f4 tms570ls3137_hdk bsps/arm/tms570 tms570ls3137_hdk_intram bsps/arm/tms570 tms570ls3137_hdk_sdram bsps/arm/tms570 tms570ls3137_hdk_with_loader bsps/arm/tms570 xen_virtual bsps/arm/xen xilinx_zynq_a9_qemu bsps/arm/xilinx-zynq xilinx_zynq_zc702 bsps/arm/xilinx-zynq xilinx_zynq_zc706 bsps/arm/xilinx-zynq xilinx_zynq_zedboard bsps/arm/xilinx-zynq xilinx_zynqmp_ultra96 bsps/arm/xilinx-zynqmp bfin 3 ------------ ---------------------- TLL6527M bsps/bfin/TLL6527M bf537Stamp bsps/bfin/bf537Stamp eZKit533 bsps/bfin/eZKit533 epiphany 1 -------------- ---------------------------- epiphany_sim bsps/epiphany/epiphany_sim i386 6 ----------- ----------------- pc386 bsps/i386/pc386 pc486 bsps/i386/pc386 pc586-sse bsps/i386/pc386 pc586 bsps/i386/pc386 pc686 bsps/i386/pc386 pcp4 bsps/i386/pc386 lm32 3 ----------------- --------------------- lm32_evr bsps/lm32/lm32_evr lm32_evr_gdbsim bsps/lm32/lm32_evr milkymist bsps/lm32/milkymist m68k 20 ----------------- ------------------------ av5282 bsps/m68k/av5282 csb360 bsps/m68k/csb360 gen68340 bsps/m68k/gen68340 gen68360 bsps/m68k/gen68360 gen68360_040 bsps/m68k/gen68360 pgh360 bsps/m68k/gen68360 COBRA5475 bsps/m68k/genmcf548x m5484FireEngine bsps/m68k/genmcf548x mcf5206elite bsps/m68k/mcf5206elite mcf52235 bsps/m68k/mcf52235 mcf5225x bsps/m68k/mcf5225x mcf5235 bsps/m68k/mcf5235 mcf5329 bsps/m68k/mcf5329 mrm332 bsps/m68k/mrm332 mvme147 bsps/m68k/mvme147 mvme147s bsps/m68k/mvme147s mvme162 bsps/m68k/mvme162 mvme162lx bsps/m68k/mvme162 mvme167 bsps/m68k/mvme167 uC5282 bsps/m68k/uC5282 mips 6 ----------- --------------------- csb350 bsps/mips/csb350 hurricane bsps/mips/hurricane jmr3904 bsps/mips/jmr3904 malta bsps/mips/malta rbtx4925 bsps/mips/rbtx4925 rbtx4938 bsps/mips/rbtx4938 moxie 1 ---------- --------------------- moxiesim bsps/moxie/moxiesim nios2 1 ----------- ---------------------- nios2_iss bsps/nios2/nios2_iss no_cpu 1 -------- -------------------- no_bsp bsps/no_cpu/no_bsp or1k 2 -------------- -------------------------------- generic_or1k bsps/or1k/generic_or1k sim bsps/or1k/generic_or1k/sim.cfg powerpc 48 ---------------------- ------------------------------- beatnik bsps/powerpc/beatnik brs5l bsps/powerpc/gen5200 brs6l bsps/powerpc/gen5200 dp2 bsps/powerpc/gen5200 icecube bsps/powerpc/gen5200 pm520_cr825 bsps/powerpc/gen5200 pm520_ze30 bsps/powerpc/gen5200 br_uid bsps/powerpc/gen83xx hsc_cm01 bsps/powerpc/gen83xx mpc8309som bsps/powerpc/gen83xx mpc8313erdb bsps/powerpc/gen83xx mpc8349eamds bsps/powerpc/gen83xx haleakala bsps/powerpc/haleakala mcp750 bsps/powerpc/motorola_powerpc mtx603e bsps/powerpc/motorola_powerpc mvme2100 bsps/powerpc/motorola_powerpc mvme2307 bsps/powerpc/motorola_powerpc qemuprep-altivec bsps/powerpc/motorola_powerpc qemuprep bsps/powerpc/motorola_powerpc gwlcfm bsps/powerpc/mpc55xxevb mpc5566evb bsps/powerpc/mpc55xxevb mpc5566evb_spe bsps/powerpc/mpc55xxevb mpc5643l_dpu bsps/powerpc/mpc55xxevb mpc5643l_evb bsps/powerpc/mpc55xxevb mpc5668g bsps/powerpc/mpc55xxevb mpc5674f_ecu508_app bsps/powerpc/mpc55xxevb mpc5674f_ecu508_boot bsps/powerpc/mpc55xxevb mpc5674f_rsm6 bsps/powerpc/mpc55xxevb mpc5674fevb bsps/powerpc/mpc55xxevb mpc5674fevb_spe bsps/powerpc/mpc55xxevb phycore_mpc5554 bsps/powerpc/mpc55xxevb mpc8260ads bsps/powerpc/mpc8260ads mvme3100 bsps/powerpc/mvme3100 mvme5500 bsps/powerpc/mvme5500 psim bsps/powerpc/psim qemuppc bsps/powerpc/qemuppc qoriq_core_0 bsps/powerpc/qoriq qoriq_core_1 bsps/powerpc/qoriq qoriq_e500 bsps/powerpc/qoriq qoriq_e6500_32 bsps/powerpc/qoriq qoriq_e6500_64 bsps/powerpc/qoriq ss555 bsps/powerpc/ss555 t32mppc bsps/powerpc/t32mppc pghplus bsps/powerpc/tqm8xx tqm8xx_stk8xx bsps/powerpc/tqm8xx virtex bsps/powerpc/virtex virtex4 bsps/powerpc/virtex4 virtex5 bsps/powerpc/virtex5 riscv 27 ------------------- ------------------- griscv bsps/riscv/griscv grv32i bsps/riscv/griscv grv32im bsps/riscv/griscv grv32imac bsps/riscv/griscv grv32imafdc bsps/riscv/griscv frdme310arty bsps/riscv/riscv rv32i bsps/riscv/riscv rv32i_clang bsps/riscv/riscv rv32iac bsps/riscv/riscv rv32iac_clang bsps/riscv/riscv rv32im bsps/riscv/riscv rv32im_clang bsps/riscv/riscv rv32imac bsps/riscv/riscv rv32imac_clang bsps/riscv/riscv rv32imafc bsps/riscv/riscv rv32imafc_clang bsps/riscv/riscv rv32imafd bsps/riscv/riscv rv32imafd_clang bsps/riscv/riscv rv32imafdc bsps/riscv/riscv rv32imafdc_clang bsps/riscv/riscv rv64imac bsps/riscv/riscv rv64imac_medany bsps/riscv/riscv rv64imafd bsps/riscv/riscv rv64imafd_medany bsps/riscv/riscv rv64imafdc bsps/riscv/riscv rv64imafdc_clang bsps/riscv/riscv rv64imafdc_medany bsps/riscv/riscv sh 7 --------- ---------------- gensh1 bsps/sh/gensh1 gensh2 bsps/sh/gensh2 gensh4 bsps/sh/gensh4 simsh1 bsps/sh/shsim simsh2 bsps/sh/shsim simsh2e bsps/sh/shsim simsh4 bsps/sh/shsim sparc 8 --------- ------------------ erc32 bsps/sparc/erc32 at697f bsps/sparc/leon2 leon2 bsps/sparc/leon2 gr712rc bsps/sparc/leon3 gr740 bsps/sparc/leon3 leon3 bsps/sparc/leon3 ut699 bsps/sparc/leon3 ut700 bsps/sparc/leon3 sparc64 2 --------- ---------------------- niagara bsps/sparc64/niagara usiii bsps/sparc64/usiii v850 6 ------------- ---------------------- v850e1sim bsps/v850/gdbv850sim v850e2sim bsps/v850/gdbv850sim v850e2v3sim bsps/v850/gdbv850sim v850esim bsps/v850/gdbv850sim v850essim bsps/v850/gdbv850sim v850sim bsps/v850/gdbv850sim x86_64 1 -------- ------------------- amd64 bsps/x86_64/amd64