RTEMS Documentation Project
RTEMS User Manual
6.a08e672
1. Introduction
1.1. Overview
1.2. Features
1.3. Ecosystem
1.3.1. Rational
1.3.2. Open Source
1.3.3. Deployment
1.4. Real-time Application Systems
1.5. Real-time Executive
2. Quick Start
2.1. Preparation
2.1.1. Host Computer
2.1.2. Selecting a BSP
2.1.3. Selecting a Version of RTEMS
2.2. Choose an Installation Prefix
2.3. Obtain the Sources
2.3.1. Releases
2.3.2. Git
2.3.3. Offline Download
2.4. Install the Tool Suite
2.4.1. Need for RTEMS-Specific Cross-Compiler
2.5. Build a Board Support Package (BSP)
2.5.1. RSB BSP Build
2.5.2. Manual BSP Build
2.6. Test a Board Support Package (BSP)
2.7. Build Your Application
2.8. Build an RSB Package
2.8.1. RTEMS Packages
2.8.2. BSP Stack Build
2.8.3. Package Build
2.9. GSoC Getting Started
2.9.1. Installing Dependencies
2.9.2. Choosing an installation prefix
2.9.3. Downloading the Sources
2.9.4. Installing the Tool Suite
2.9.5. Building the Board Support Package
2.9.6. Testing the Board Support Package
2.9.7. Prove You Can Work On RTEMS
2.9.8. Creating and Sending Patches
3. Support and Contributing
3.1. RTEMS Project Support
3.1.1. Users Mailing List
3.1.2. Documentation
3.1.3. All Mailing Lists
3.1.4. IRC
3.2. Report Bugs
3.2.1. Search for Existing Bugs
3.2.2. Not RTEMS Bugs
3.2.3. Good Bug Reports
3.2.4. Nobody Fixes my Bug
3.3. Contributing
3.3.1. How to Contribute?
3.3.2. Preparing and Sending Patches
3.3.3. Checklist for Patches
3.3.4. Patch Review Process
3.3.5. Why Contribute?
3.3.6. Common Questions and Answers
3.4. Commercial Support Services
4. Host Computer
4.1. Python
4.1.1. Virtual Environment
4.1.2. Symbolic Link
4.1.3. Directly Invoking Python
4.2. Host Operating Systems
4.3. POSIX Hosts
4.3.1. Root Access
4.3.2. Linux
4.3.2.1. ArchLinux
4.3.2.2. CentOS
4.3.2.3. Fedora
4.3.2.4. Raspbian
4.3.2.5. Ubuntu
4.3.2.6. Linux Mint
4.3.2.7. openSUSE
4.3.3. FreeBSD
4.3.4. NetBSD
4.4. Apple macOS
4.4.1. Catalina
4.4.2. Sierra
4.4.3. Mavericks
4.5. Microsoft Windows
4.5.1. Windows Path Length
4.5.2. Windows Spaces In Paths
4.5.3. Parallel Builds with Make
4.5.4. POSIX Support
4.5.5. Python
4.5.6. MSYS2
4.5.7. Cygwin
5. Installation
5.1. Releases
5.1.1. RTEMS Tools and Kernel
5.2. Developer (Unstable)
5.2.1. POSIX and OS X Host Tools Chain
5.2.2. Windows Host Tool Chain
5.2.2.1. RTEMS Windows Tools
5.2.2.2. Building the Kernel
5.3. RTEMS Kernel
5.3.1. Development Sources
5.3.2. Tools Path Set Up
5.3.3. Bootstrapping
5.3.4. Building a BSP
5.3.5. Installing A BSP
5.3.6. Contributing Patches
5.4. Project Sandboxing
6. Target Hardware
6.1. Targets
6.2. Architectures
6.3. Tiers
7. BSP Build System
7.1. Overview
7.2. Work Flow
7.3. Commands
7.3.1. Help
7.3.2. BSP List
7.3.3. BSP Defaults
7.3.4. Configure
7.3.5. Build, Clean, and Install
7.4. Configuration
7.5. Migration from Autoconf/Automake
8. Board Support Packages
8.1. aarch64 (AArch64)
8.1.1. Qemu A53
8.1.1.1. Boot via ELF
8.1.1.2. Clock Driver
8.1.1.3. Console Driver
8.1.1.4. Running Executables
8.1.2. Qemu Xilinx ZynqMP
8.1.2.1. Boot via ELF
8.1.2.2. Clock Driver
8.1.2.3. Console Driver
8.1.2.4. Running Executables
8.2. arm (ARM)
8.2.1. altera-cyclone-v (Intel Cyclone V)
8.2.1.1. Boot via U-Boot
8.2.1.2. Clock Driver
8.2.1.3. Console Driver
8.2.1.4. I2C Driver
8.2.1.5. Network Interface Driver
8.2.1.6. MMC/SDCard Driver
8.2.1.7. USB Host Driver
8.2.1.8. Caveats
8.2.2. atsam
8.2.3. beagle
8.2.3.1. Boot via U-Boot
8.2.3.2. Getting the Device Tree Blob
8.2.3.3. Writing the uEnv.txt file
8.2.3.4. I2C Driver
8.2.3.5. SPI Driver
8.2.3.6. Debugging
8.2.4. stm32h7
8.2.4.1. Clock Driver
8.2.4.2. Console Driver
8.2.4.3. Network Interface Driver
8.2.4.4. USB Host Driver
8.2.5. csb336
8.2.6. csb337
8.2.7. edb7312
8.2.8. gumstix
8.2.9. imx (NXP i.MX)
8.2.9.1. Build Configuration Options
8.2.9.2. Clock settings for different boards
8.2.9.3. Boot via U-Boot
8.2.9.4. Boot via barebox
8.2.9.5. Clock Driver
8.2.9.6. Console Driver
8.2.9.7. I2C Driver
8.2.9.8. SPI Driver
8.2.9.9. Network Interface Driver
8.2.9.10. MMC/SDCard Driver
8.2.9.11. Caveats
8.2.10. imxrt (NXP i.MXRT)
8.2.10.1. Build Configuration Options
8.2.10.2. Boot Process
8.2.10.3. Flash Image
8.2.10.4. FDT
8.2.10.5. Clock Driver
8.2.10.6. IOMUX
8.2.10.7. Console Driver
8.2.10.8. I2C Driver
8.2.10.9. SPI Driver
8.2.10.10. Network Interface Driver
8.2.10.11. NXP SDK files
8.2.10.12. Caveats
8.2.11. lm3s69xx
8.2.12. lpc176x
8.2.13. lpc24xx (NXP LPC17XX/LPC24XX/LPC40XX)
8.2.13.1. Clock Driver
8.2.13.2. Console Driver
8.2.13.3. I2C Bus Driver
8.2.13.4. SPI Bus Driver
8.2.13.5. Network Interface Driver
8.2.13.6. USB Driver
8.2.13.7. Framebuffer Driver
8.2.13.8. RTC Driver
8.2.14. raspberrypi
8.2.14.1. Setup SD card
8.2.14.2. Kernel image
8.2.14.3. Testing using QEMU
8.2.15. realview-pbx-a9
8.2.16. rtl22xx
8.2.17. smdk2410
8.2.18. stm32f4
8.2.19. stm32h7
8.2.19.1. Clock Driver
8.2.19.2. Console Driver
8.2.19.3. Network Interface Driver
8.2.19.4. USB Host Driver
8.2.20. tms570
8.2.21. xen (Xen on ARM)
8.2.21.1. Execution
8.2.21.2. Additional Information
8.2.22. xilinx-zynq
8.2.22.1. Bootloader
8.2.22.2. Clocks
8.2.22.3. Debugging with xilinx_zynq_a9_qemu
8.2.23. xilinx-zynqmp
8.3. bfin (Blackfin)
8.3.1. bf537Stamp
8.3.2. eZKit533
8.3.3. TLL6527M
8.4. i386
8.4.1. pc386
8.4.1.1. Build Configuration Options
8.4.1.2. Runtime Options
8.4.1.3. Testing with Qemu
8.4.1.4. Running on a PC hardware
8.4.1.5. Clock Drivers
8.4.1.6. Console Drivers
8.4.1.7. Frame-Buffer Drivers
8.4.1.8. Network Interface Drivers
8.4.1.9. USB Host Drivers
8.4.1.10. RTC Drivers
8.4.1.11. I2C Drivers
8.4.1.12. SPI Drivers
8.4.1.13. Legacy Drivers
8.5. lm32 (LatticeMicro32)
8.5.1. lm32_evr
8.5.2. milkymist
8.6. m68k (Motorola 68000 / ColdFire)
8.6.1. av5282
8.6.2. csb360
8.6.3. gen68340
8.6.4. gen68360
8.6.5. genmcf548x
8.6.6. mcf5206elite
8.6.7. mcf52235
8.6.8. mcf5225x
8.6.9. mcf5235
8.6.10. mcf5329
8.6.10.1. Overview
8.6.11. mrm332
8.6.12. mvme147
8.6.13. mvme147s
8.6.14. mvme162
8.6.14.1. Overview
8.6.14.2. Board Setup
8.6.14.3. Downloading and Executing
8.6.15. mvme167
8.6.16. uC5282
8.7. microblaze (Microblaze)
8.8. mips (MIPS)
8.8.1. csb350
8.8.2. hurricane
8.8.3. jmr3904
8.8.4. malta
8.8.5. rbtx4925
8.8.6. rbtx4938
8.9. moxie
8.9.1. moxiesim
8.10. nios2 (Nios II)
8.10.1. nios2_iss
8.11. or1k (OpenRISC 1000)
8.11.1. generic_or1k
8.12. powerpc (PowerPC)
8.12.1. beatnik
8.12.2. gen5200
8.12.3. gen83xx
8.12.4. haleakala
8.12.5. motorola_powerpc
8.12.5.1. Boot Image Generation
8.12.6. mpc55xxevb
8.12.7. mpc8260ads
8.12.8. mvme3100
8.12.9. mvme5500
8.12.10. psim
8.12.11. qemuppc
8.12.12. qoriq (QorIQ)
8.12.12.1. Boot via U-Boot
8.12.12.2. Clock Driver
8.12.12.3. Console Driver
8.12.12.4. Network Interface Driver
8.12.12.5. Topaz Hypervisor Guest
8.12.13. ss555
8.12.14. t32mppc
8.12.15. tqm8xx
8.12.16. virtex
8.12.17. virtex4
8.12.18. virtex5
8.13. riscv (RISC-V)
8.13.1. riscv
8.13.1.1. Build Configuration Options
8.13.1.2. Interrupt Controller
8.13.1.3. Clock Driver
8.13.1.4. Console Driver
8.13.2. griscv
8.14. sh (SuperH)
8.14.1. gensh1
8.14.2. gensh2
8.14.3. gensh4
8.14.4. shsim
8.15. sparc64 (SPARC V9)
8.15.1. niagara
8.15.2. usiii
8.16. sparc (SPARC / LEON)
8.16.1. erc32
8.16.2. leon2
8.16.3. leon3
8.17. v850 (V850)
8.17.1. gdbv850sim
8.18. x86_64
8.18.1. amd64
8.18.1.1. Build Configuration Options
8.18.1.2. Testing with QEMU
8.18.1.3. Boot RTEMS via FreeBSD’s bootloader
8.18.1.4. Paging
8.18.1.5. Interrupt Setup
8.18.1.6. Clock Driver
8.18.1.7. Console Driver
9. Executables
9.1. RTEMS Executable
9.2. Building an Application
9.2.1. Machine Flags and ABI
9.3. Target Execution
9.4. BSP Initialization
9.5. RTEMS Initialization
9.5.1. System Initialization Handlers
9.6. Debugging
9.7. Dynamic Loader
9.7.1. System Design
9.7.2. Loader Interface
9.7.3. Symbols
9.7.3.1. Base Image Symbols
9.7.3.2. Embedded Symbols
9.7.3.3. Loadable Symbols
9.7.4. Unresolved Symbols
9.7.5. Libraries
9.7.6. Large Memory
9.7.7. Allocator
9.7.8. Languages
9.7.9. Thread Local Storage
9.7.10. Architectures
9.7.10.1. ARM
9.7.10.2. PowerPC
9.8. Device Tree
9.8.1. Building the DTB
9.8.2. Using Device Tree Overlay
10. Testing
10.1. Test Banners
10.2. Test Controls
10.2.1. Expected Test States
10.2.2. Test Configuration
10.3. Test Builds
10.4. Tester Configuration
10.4.1. Defaults
10.4.2. BSP and User Configuration
10.4.3. Configuration Scripts
10.4.3.1. Console
10.4.3.2. Execute
10.4.3.3. GDB
10.4.3.4. TFTP
10.5. Coverage Analysis
10.6. Consoles
10.7. Simulation
10.8. GDB and JTAG
10.9. TFTP and U-Boot
10.9.1. Target Hardware
10.9.1.1. U-Boot Set Up
10.9.2. BSP Configuration
10.9.3. TFTP Sequences
11. Tracing
11.1. Introduction to Tracing
11.1.1. RTEMS Trace Using Trace Buffering
11.1.2. RTEMS Trace Using Printk
11.2. Tracing Examples
11.2.1. Features
11.2.2. Prerequisites
11.2.3. Demonstration
11.3. Capture Engine
11.3.1. Capture Engine Commands
11.3.2. Example
11.4. Trace Linker
11.4.1. Command Line
11.4.2. Configuration (INI) files
11.4.2.1. Tracer Section
11.4.2.2. Options section
11.4.2.3. Trace Section
11.4.2.4. Function Section
11.4.2.5. Generators
11.4.3. Development
11.5. Event Recording
11.5.1. Target System: Configuration and Event Generation
11.5.2. Transfer of Event Records to the Host Computer
11.5.3. Analysis of Event Records on the Host Computer
12. Changing Versions
12.1. RTEMS 4.11 to RTEMS 5
12.1.1. Application Configuration Options
12.1.2. Clock Manager
12.1.3. File Descriptors
12.1.4. Networking
12.1.5. Shell Environment
12.2. RTEMS 5 to RTEMS 6
12.2.1. Update to GCC 10
12.2.2. Replacements for Removed APIs
13. Host Tools
13.1. RTEMS Linker
13.2. RTEMS Symbols
13.2.1. Symbol Table
13.2.2. 2-Pass Linking
13.2.3. Command
13.2.4. Examples
13.3. RTEMS Executable Infomation
13.3.1. System Initialisation
13.3.2. Command
13.3.3. Examples
13.4. RTEMS BSP Builder
13.4.1. Developer Workflows
13.4.2. Build Characteristics
13.4.2.1. Profiles
13.4.2.2. Builds
13.4.3. Build Configurations
13.4.4. Performance
13.4.5. Command
13.4.5.1. Examples
13.5. RTEMS Tester and Run
13.5.1. Available BSP testers
13.5.2. Building RTEMS Tests
13.5.3. Running the Tests
13.5.4. Test Status
13.5.4.1. Pass
13.5.4.2. Fail
13.5.4.3. User-input
13.5.4.4. Expected-fail
13.5.4.5. Indeterminate
13.5.4.6. Benchmark
13.5.4.7. Timeout
13.5.4.8. Invalid
13.5.5. Logging
13.5.5.1. All
13.5.5.2. Failures
13.5.5.3. None
13.5.6. Reporting
13.5.7. Running Tests in Parallel
13.5.8. Command Line Help
13.6. RTEMS Boot Image
13.6.1. Boot Loaders
13.6.1.1. U-Boot
13.6.2. Hosts
13.6.2.1. FreeBSD
13.6.2.2. Linux
13.6.2.3. MacOS
13.6.3. Configuration
13.6.4. Command
13.6.5. Examples
13.7. RTEMS TFTP Proxy
13.7.1. Operation
13.7.2. Configuration
13.7.3. Command
13.7.4. Examples
14. Source Builder
14.1. Why Build from Source?
14.2. Project Sets
14.2.1. Bare Metal
14.2.2. RTEMS
14.2.3. Patches
14.2.3.1. Testing a Newlib Patch
14.3. Cross and Canadian Cross Building
14.3.1. Cross Building
14.3.2. Canadian Cross Building
14.4. Third-Party Packages
14.4.1. Vertical Integration
14.4.2. Building
14.4.3. Adding
14.4.4. Host and Build Flags
14.4.5. BSP Support
14.4.6. BSP Configuration
14.5. Configuration
14.5.1. Source and Patches
14.5.1.1. HTTP, HTTPS, and FTP
14.5.1.2. GIT
14.5.2. Macros and Defaults
14.5.2.1. Macro Maps and Files
14.5.2.2. Personal Macros
14.5.3. Configuration Reports
14.5.3.1. Report Mailing
14.5.4. Build Set Files
14.5.5. Configuration Control
14.5.6. Personal Configurations
14.5.7. New Configurations
14.5.7.1. Layering by Including
14.5.7.2. Configuration File Numbering
14.5.7.3. Common Configuration Scripts
14.5.7.4. DTC Example
14.5.7.5. Debugging
14.5.8. Scripting
14.5.8.1. Expanding
14.5.8.2. %prep
14.5.8.3. %build
14.5.8.4. %install
14.5.8.5. %clean
14.5.8.6. %include
14.5.8.7. %name
14.5.8.8. %summary
14.5.8.9. %release
14.5.8.10. %version
14.5.8.11. %buildarch
14.5.8.12. %source
14.5.8.13. %patch
14.5.8.14. %hash
14.5.8.15. %echo
14.5.8.16. %warning
14.5.8.17. %error
14.5.8.18. %select
14.5.8.19. %define
14.5.8.20. %undefine
14.5.8.21. %if
14.5.8.22. %ifn
14.5.8.23. %ifarch
14.5.8.24. %ifnarch
14.5.8.25. %ifos
14.5.8.26. %else
14.5.8.27. %endfi
14.5.8.28. %bconf_with
14.5.8.29. %bconf_without
14.6. Commands
14.6.1. Checker (sb-check)
14.6.2. Defaults (sb-defaults)
14.6.3. Set Builder (sb-set-builder)
14.6.4. Track (sb-track)
14.7. Building and Deploying Tool Binaries
14.8. Bugs, Crashes, and Build Failures
14.8.1. Contributing
14.9. History
15. Glossary
Index
RTEMS User Manual
»
8.
Board Support Packages
»
8.8.
mips (MIPS)
8.8.
mips (MIPS)
¶
8.8.1.
csb350
¶
TODO.
8.8.2.
hurricane
¶
TODO.
8.8.3.
jmr3904
¶
TODO.
8.8.4.
malta
¶
TODO.
8.8.5.
rbtx4925
¶
TODO.
8.8.6.
rbtx4938
¶
TODO.