RTEMS Documentation Project RTEMS BSP and Driver Guide
5.1
  • 1. Introduction
  • 2. Target Dependent Files
    • 2.1. CPU Dependent
    • 2.2. Board Dependent
    • 2.3. Peripheral Dependent
    • 2.4. Questions to Ask
    • 2.5. CPU Dependent Executive Files
    • 2.6. Board Support Package Structure
  • 3. Linker Script
    • 3.1. What is a “linkcmds” file?
    • 3.2. Program Sections
    • 3.3. Image of an Executable
    • 3.4. Example Linker Command Script
    • 3.5. Initialized Data
  • 4. Miscellaneous Support Files
    • 4.1. GCC Compiler Specifications File
    • 4.2. README Files
    • 4.3. Times
    • 4.4. Tools Subdirectory
    • 4.5. bsp.h Include File
    • 4.6. tm27.h Include File
    • 4.7. sbrk() Implementation
    • 4.8. bsp_fatal_extension() - Cleanup the Hardware
    • 4.9. Configuration Macros
    • 4.10. set_vector() - Install an Interrupt Vector
    • 4.11. Interrupt Delay Profiling
    • 4.12. Programmable Interrupt Controller API
  • 5. System Initialization
    • 5.1. Introduction
    • 5.2. Low-Level Initialization via Start Code in the Start File (start.o)
    • 5.3. High-Level Initialization via boot_card()
      • 5.3.1. Early BSP Initialization
      • 5.3.2. Memory Information
      • 5.3.3. BSP Initialization
    • 5.4. Error Handling
  • 6. Console Driver
    • 6.1. Introduction
    • 6.2. Build System and Files
    • 6.3. Driver Functioning Modes
    • 6.4. Polled Mode
    • 6.5. Interrupt Driven Mode
    • 6.6. First Open
    • 6.7. Last Close
    • 6.8. Set Attributes
    • 6.9. IO Control
    • 6.10. Flow Control
    • 6.11. General Initialization
  • 7. Clock Driver
    • 7.1. Introduction
    • 7.2. Initialization
      • 7.2.1. Timecounter Variant
      • 7.2.2. Simple Timecounter Variant
      • 7.2.3. Clock Tick Only Variant
    • 7.3. Install Clock Tick Interrupt Service Routine
    • 7.4. Support At Tick
    • 7.5. System Shutdown Support
    • 7.6. SMP Support
    • 7.7. Multiple Clock Driver Ticks Per Clock Tick
    • 7.8. Clock Driver Ticks Counter
  • 8. Entropy Source
  • 9. I2C Driver
  • 10. SPI Driver
  • 11. Real-Time Clock Driver
    • 11.1. Introduction
    • 11.2. Initialization
    • 11.3. setRealTimeToRTEMS
    • 11.4. setRealTimeFromRTEMS
    • 11.5. getRealTime
    • 11.6. setRealTime
    • 11.7. checkRealTime
  • 12. Networking Driver
    • 12.1. Introduction
    • 12.2. Learn about the network device
    • 12.3. Understand the network scheduling conventions
    • 12.4. Network Driver Makefile
    • 12.5. Write the Driver Attach Function
    • 12.6. Write the Driver Start Function.
    • 12.7. Write the Driver Initialization Function.
    • 12.8. Write the Driver Transmit Task
    • 12.9. Write the Driver Receive Task
    • 12.10. Write the Driver Interrupt Handler
    • 12.11. Write the Driver IOCTL Function
    • 12.12. Write the Driver Statistic-Printing Function
  • 13. Frame Buffer Driver
    • 13.1. Introduction
    • 13.2. Driver Function Overview
      • 13.2.1. Initialization
      • 13.2.2. Opening the Frame Buffer Device
      • 13.2.3. Closing the Frame Buffer Device
      • 13.2.4. Reading from the Frame Buffer Device
      • 13.2.5. Writing to the Frame Buffer Device
      • 13.2.6. Frame Buffer IO Control
  • 14. Ada95 Interrupt Support
    • 14.1. Introduction
    • 14.2. Mapping Interrupts to POSIX Signals
    • 14.3. Example Ada95 Interrupt Program
    • 14.4. Version Requirements
  • 15. Shared Memory Support Driver
    • 15.1. Shared Memory Configuration Table
    • 15.2. Primitives
      • 15.2.1. Convert Address
      • 15.2.2. Get Configuration
      • 15.2.3. Locking Primitives
        • 15.2.3.1. Initializing a Shared Lock
        • 15.2.3.2. Acquiring a Shared Lock
        • 15.2.3.3. Releasing a Shared Lock
    • 15.3. Installing the MPCI ISR
  • 16. Timer Driver
    • 16.1. Benchmark Timer
      • 16.1.1. benchmark_timer_initialize
      • 16.1.2. Read_timer
      • 16.1.3. benchmark_timer_disable_subtracting_average_overhead
    • 16.2. gen68340 UART FIFO Full Mode
  • 17. ATA Driver
    • 17.1. Terms
    • 17.2. Introduction
    • 17.3. Initialization
    • 17.4. ATA Driver Architecture
      • 17.4.1. ATA Driver Main Internal Data Structures
      • 17.4.2. Brief ATA Driver Core Overview
  • 18. IDE Controller Driver
    • 18.1. Introduction
    • 18.2. Initialization
    • 18.3. Read IDE Controller Register
    • 18.4. Write IDE Controller Register
    • 18.5. Read Data Block Through IDE Controller Data Register
    • 18.6. Write Data Block Through IDE Controller Data Register
  • 19. Command and Variable Index
  • 20. Doxygen Recommendations for BSPs
    • 20.1. BSP Basics
    • 20.2. Common Features Found In BSPs
    • 20.3. Shared Features
    • 20.4. Rationale
    • 20.5. The Structure of the bsps/ directory
    • 20.6. Doxygen
    • 20.7. Doxygen Basics
    • 20.8. Doxygen Headers
    • 20.9. The @defgroup Command
    • 20.10. The @ingroup Command
    • 20.11. The @brief Command
    • 20.12. The Two Types of Doxygen Headers
    • 20.13. Generating Documentation
    • 20.14. Doxygen in bsps/
    • 20.15. Group Naming Conventions
    • 20.16. Where to place @defgroup
    • 20.17. @defgroups for CPU Architectures and Shared Directories
    • 20.18. @defgroups for BSPs
    • 20.19. @defgroups for Everything Else
    • 20.20. Look Common Features Implemented
    • 20.21. Check out the Makefile
    • 20.22. Start with a .h, and look for files that include it
    • 20.23. Files with similar names
    • 20.24. Where to place @ingroup
    • 20.25. @ingroup in the first type of Doxygen Header
    • 20.26. @ingroup in the second type of Doxygen Header
    • 20.27. @ingroup for shared code
Index
RTEMS BSP and Driver Guide
  • »
  • Index

Index

B | C

B

  • BSP_DEFAULT_UNIFIED_WORK_AREAS
  • BSP_IDLE_TASK_BODY
  • BSP_IDLE_TASK_STACK_SIZE
  • bsp_interrupt_dispatch()
  • bsp_interrupt_facility_initialize()
  • bsp_interrupt_handler_default()
  • BSP_INTERRUPT_STACK_SIZE
  • bsp_interrupt_vector_disable()
  • bsp_interrupt_vector_enable()

C

  • CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK, [1]

© Copyright 1988, 2020 RTEMS Project and contributors

Built with Sphinx using a theme provided by Read the Docs.