RTEMS Documentation Project
RTEMS User Manual
5.c5749d0-modified
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. Prepare Your Host Computer
2.2. Choose an Installation Prefix
2.3. Obtain the Sources
2.4. Install the Tool Suite
2.5. Bootstrap the RTEMS Sources
2.6. Build a Board Support Package (BSP)
2.7. Test a Board Support Package (BSP)
2.8. Build Your Application
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. Host Operating Systems
4.2. POSIX Hosts
4.2.1. Root Access
4.2.2. Linux
4.2.2.1. ArchLinux
4.2.2.2. CentOS
4.2.2.3. Fedora
4.2.2.4. Raspbian
4.2.2.5. Ubuntu
4.2.2.6. Linux Mint
4.2.2.7. openSUSE
4.2.3. FreeBSD
4.2.4. NetBSD
4.3. Apple MacOS
4.3.1. Mavericks
4.3.2. Sierra
4.4. Microsoft Windows
4.4.1. Windows Path Length
4.4.2. Windows Spaces In Paths
4.4.3. Parallel Builds with Make
4.4.4. POSIX Support
4.4.5. Python
4.4.6. MSYS2
4.4.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. Board Support Packages
7.1. aarch64 (AArch64)
7.2. arm (ARM)
7.2.1. altera-cyclone-v (Intel Cyclone V)
7.2.1.1. Boot via U-Boot
7.2.1.2. Clock Driver
7.2.1.3. Console Driver
7.2.1.4. I2C Driver
7.2.1.5. Network Interface Driver
7.2.1.6. MMC/SDCard Driver
7.2.1.7. USB Host Driver
7.2.1.8. Caveats
7.2.2. atsam
7.2.3. beagle
7.2.3.1. Boot via U-Boot
7.2.3.2. Getting the Device Tree Blob
7.2.3.3. Writing the uEnv.txt file
7.2.3.4. I2C Driver
7.2.3.5. SPI Driver
7.2.4. csb336
7.2.5. edb7312
7.2.6. gdbarmsim
7.2.7. gumstix
7.2.8. imx (NXP i.MX)
7.2.8.1. Build Configuration Options
7.2.8.2. Boot via U-Boot
7.2.8.3. Clock Driver
7.2.8.4. Console Driver
7.2.8.5. I2C Driver
7.2.8.6. SPI Driver
7.2.8.7. Network Interface Driver
7.2.8.8. MMC/SDCard Driver
7.2.8.9. Caveats
7.2.9. lm3s69xx
7.2.10. lpc176x
7.2.11. imx (NXP i.MX)
7.2.11.1. Build Configuration Options
7.2.11.2. Boot via U-Boot
7.2.11.3. Clock Driver
7.2.11.4. Console Driver
7.2.11.5. I2C Driver
7.2.11.6. SPI Driver
7.2.11.7. Network Interface Driver
7.2.11.8. MMC/SDCard Driver
7.2.11.9. Caveats
7.2.12. raspberrypi
7.2.13. realview-pbx-a9
7.2.14. rtl22xx
7.2.15. smdk2410
7.2.16. tms570
7.2.17. xilinx-zynq
7.3. bfin (Blackfin)
7.3.1. bf537Stamp
7.3.2. eZKit533
7.3.3. TLL6527M
7.4. epiphany (Epiphany)
7.4.1. epiphany_sim
7.5. i386
7.5.1. pc386
7.6. lm32 (LatticeMicro32)
7.6.1. lm32_evr
7.6.2. milkymist
7.7. m68k (Motorola 68000 / ColdFire)
7.7.1. av5282
7.7.2. csb360
7.7.3. gen68340
7.7.4. gen68360
7.7.5. genmcf548x
7.7.6. mcf5206elite
7.7.7. mcf52235
7.7.8. mcf5225x
7.7.9. mcf5235
7.7.10. mcf5329
7.7.11. mrm332
7.7.12. mvme147
7.7.13. mvme147s
7.7.14. mvme162
7.7.15. mvme167
7.7.16. uC5282
7.8. microblaze (Microblaze)
7.9. mips (MIPS)
7.9.1. csb350
7.9.2. hurricane
7.9.3. jmr3904
7.9.4. malta
7.9.5. rbtx4925
7.9.6. rbtx4938
7.10. moxie
7.10.1. moxiesim
7.11. nios2 (Nios II)
7.11.1. nios2_iss
7.12. or1k (OpenRISC 1000)
7.12.1. generic_or1k
7.13. powerpc (PowerPC)
7.13.1. beatnik
7.13.2. gen5200
7.13.3. gen83xx
7.13.4. haleakala
7.13.5. motorola_powerpc
7.13.5.1. Boot Image Generation
7.13.6. mpc55xxevb
7.13.7. mpc8260ads
7.13.8. mvme3100
7.13.9. mvme5500
7.13.10. psim
7.13.11. qemuppc
7.13.12. qoriq (QorIQ)
7.13.12.1. Boot via U-Boot
7.13.12.2. Clock Driver
7.13.12.3. Console Driver
7.13.12.4. Network Interface Driver
7.13.12.5. Topaz Hypervisor Guest
7.13.13. ss555
7.13.14. t32mppc
7.13.15. tqm8xx
7.13.16. virtex
7.13.17. virtex4
7.13.18. virtex5
7.14. riscv (RISC-V)
7.14.1. riscv
7.14.1.1. Build Configuration Options
7.14.1.2. Interrupt Controller
7.14.1.3. Clock Driver
7.14.1.4. Console Driver
7.14.2. griscv
7.15. sh (SuperH)
7.15.1. gensh1
7.15.2. gensh2
7.15.3. gensh4
7.15.4. shsim
7.16. sparc64 (SPARC V9)
7.16.1. niagara
7.16.2. usiii
7.17. sparc (SPARC / LEON)
7.17.1. erc32
7.17.2. leon2
7.17.3. leon3
7.18. v850 (V850)
7.18.1. gdbv850sim
7.19. x86_64
7.19.1. amd64
7.19.1.1. Build Configuration Options
7.19.1.2. Testing with QEMU
7.19.1.3. Boot RTEMS via FreeBSD’s bootloader
7.19.1.4. Paging
7.19.1.5. Interrupt Setup
7.19.1.6. Clock Driver
7.19.1.7. Console Driver
8. Executables
8.1. RTEMS Executable
8.2. Building an Application
8.2.1. Machine Flags and ABI
8.3. Target Execution
8.4. BSP Initialization
8.5. RTEMS Initialization
8.5.1. System Initialization Handlers
8.6. Debugging
8.7. Dynamic Loader
8.7.1. System Design
8.7.2. Loader Interface
8.7.3. Symbols
8.7.3.1. Base Image Symbols
8.7.3.2. Embedded Symbols
8.7.3.3. Loadable Symbols
8.7.4. Unresolved Symbols
8.7.5. Libraries
8.7.6. Large Memory
8.7.7. Allocator
8.7.8. Languages
8.7.9. Thread Local Storage
8.7.10. Architectures
8.7.10.1. ARM
8.7.10.2. PowerPC
8.8. Device Tree
8.8.1. Building the DTB
8.8.2. Using Device Tree Overlay
9. Testing
9.1. Test Banners
9.2. Test Controls
9.2.1. Expected Test States
9.2.2. Test Configuration
9.3. Test Builds
9.4. Tester Configuration
9.4.1. Defaults
9.4.2. BSP and User Configuration
9.4.3. Configuration Scripts
9.4.3.1. Console
9.4.3.2. Execute
9.4.3.3. GDB
9.4.3.4. TFTP
9.5. Consoles
9.6. Simulation
9.7. GDB and JTAG
9.8. TFTP and U-Boot
9.8.1. Target Hardware
9.8.1.1. U-Boot Set Up
9.8.2. BSP Configuration
9.8.3. TFTP Sequences
10. Tracing
10.1. Introduction to Tracing
10.1.1. RTEMS Trace Using Trace Buffering
10.1.2. RTEMS Trace Using Printk
10.2. Tracing Examples
10.2.1. Features
10.2.2. Prerequisites
10.2.3. Demonstration
10.3. Capture Engine
10.3.1. Capture Engine Commands
10.3.2. Example
10.4. Trace Linker
10.4.1. Command Line
10.4.2. Configuration (INI) files
10.4.2.1. Tracer Section
10.4.2.2. Options section
10.4.2.3. Trace Section
10.4.2.4. Function Section
10.4.2.5. Generators
10.4.3. Development
10.5. Event Recording
11. Host Tools
11.1. RTEMS Linker
11.2. RTEMS Symbols
11.2.1. Symbol Table
11.2.2. 2-Pass Linking
11.2.3. Command
11.2.4. Examples
11.3. RTEMS Executable Infomation
11.3.1. System Initialisation
11.3.2. Command
11.3.3. Examples
11.4. RTEMS BSP Builder
11.4.1. Developer Workflows
11.4.2. Build Characteristics
11.4.2.1. Profiles
11.4.2.2. Builds
11.4.3. Build Configurations
11.4.4. Performance
11.4.5. Command
11.4.5.1. Examples
11.5. RTEMS Tester and Run
11.5.1. Available BSP testers
11.5.2. Building RTEMS Tests
11.5.3. Running the Tests
11.5.4. Test Status
11.5.4.1. Pass
11.5.4.2. Fail
11.5.4.3. User-input
11.5.4.4. Expected-fail
11.5.4.5. Indeterminate
11.5.4.6. Benchmark
11.5.4.7. Timeout
11.5.4.8. Invalid
11.5.5. Logging
11.5.5.1. All
11.5.5.2. Failures
11.5.5.3. None
11.5.6. Reporting
11.5.7. Running Tests in Parallel
11.5.8. Command Line Help
11.6. RTEMS Boot Image
11.6.1. Boot Loaders
11.6.1.1. U-Boot
11.6.2. Hosts
11.6.2.1. FreeBSD
11.6.2.2. Linux
11.6.2.3. MacOS
11.6.3. Configuration
11.6.4. Command
11.6.5. Examples
12. Source Builder
12.1. Why Build from Source?
12.2. Project Sets
12.2.1. Bare Metal
12.2.2. RTEMS
12.2.3. Patches
12.2.3.1. Testing a Newlib Patch
12.3. Cross and Canadian Cross Building
12.3.1. Cross Building
12.3.2. Canadian Cross Building
12.4. Third-Party Packages
12.4.1. Vertical Integration
12.4.2. Building
12.4.3. Adding
12.4.4. Host and Build Flags
12.4.5. BSP Support
12.4.6. BSP Configuration
12.5. Configuration
12.5.1. Source and Patches
12.5.1.1. HTTP, HTTPS, and FTP
12.5.1.2. GIT
12.5.1.3. CVS
12.5.2. Macros and Defaults
12.5.2.1. Macro Maps and Files
12.5.2.2. Personal Macros
12.5.3. Report Mailing
12.5.4. Build Set Files
12.5.5. Configuration Control
12.5.6. Personal Configurations
12.5.7. New Configurations
12.5.7.1. Layering by Including
12.5.7.2. Configuration File Numbering
12.5.7.3. Common Configuration Scripts
12.5.7.4. DTC Example
12.5.7.5. Debugging
12.5.8. Scripting
12.5.8.1. Expanding
12.5.8.2. %prep
12.5.8.3. %build
12.5.8.4. %install
12.5.8.5. %clean
12.5.8.6. %include
12.5.8.7. %name
12.5.8.8. %summary
12.5.8.9. %release
12.5.8.10. %version
12.5.8.11. %buildarch
12.5.8.12. %source
12.5.8.13. %patch
12.5.8.14. %hash
12.5.8.15. %echo
12.5.8.16. %warning
12.5.8.17. %error
12.5.8.18. %select
12.5.8.19. %define
12.5.8.20. %undefine
12.5.8.21. %if
12.5.8.22. %ifn
12.5.8.23. %ifarch
12.5.8.24. %ifnarch
12.5.8.25. %ifos
12.5.8.26. %else
12.5.8.27. %endfi
12.5.8.28. %bconf_with
12.5.8.29. %bconf_without
12.6. Commands
12.6.1. Checker (sb-check)
12.6.2. Defaults (sb-defaults)
12.6.3. Set Builder (sb-set-builder)
12.6.4. Set Builder (sb-builder)
12.7. Building and Deploying Tool Binaries
12.8. Bugs, Crashes, and Build Failures
12.8.1. Contributing
12.9. History
13. Glossary
Index
RTEMS User Manual
Docs
»
stm32f4
stm32f4
¶
TODO.