NuttX

Table of Contents

  • Home
  • Introduction
  • Getting Started
  • Contributing
  • The Inviolable Principles of NuttX
  • Supported Platforms
  • OS Components
  • Applications
  • Implementation Details
    • OS Drivers Design
    • Device Drivers
    • Linux Processes vs NuttX Tasks
    • Critical Sections
    • Per-Thread Interrupt Controls
    • Effects of Disabling Interrupts or Pre-Emption on Response Latency
    • Bottom-Half Interrupt Handlers
    • The NuttX Simulation
  • API Reference
  • FAQ
  • Debugging
  • Guides
  • Glossary
  • NuttX Logos
  • Tags
NuttX
  • Implementation Details
  • View page source

Implementation Details

Contents:

  • OS Drivers Design
    • Character and Block Drivers
    • MTD Drivers
    • Monolithic Drivers
    • Upper Half and Lower Half Drivers
  • Device Drivers
    • Standard Device Drivers
    • Bus Drivers
    • Test Drivers
    • User Space Drivers
    • Communication Devices
    • I/O Expander
  • Linux Processes vs NuttX Tasks
    • NuttX Build Types
    • Initialization of Global Variables
    • Global Variables and Multiple Task Copies
    • Memory Clean-Up
  • Critical Sections
    • Types and Effects of Critical Sections
    • Single CPU Critical Sections
    • SMP Critical Sections
    • The Critical Section Monitor
    • IRQ Monitor and Worst Case Response Time
  • Per-Thread Interrupt Controls
  • Effects of Disabling Interrupts or Pre-Emption on Response Latency
    • Rate Monotonic Scheduling
  • Bottom-Half Interrupt Handlers
    • RTOS Interrupts
    • Extending interrupt processing
    • High Priority Work Queue
    • Setting Up Bottom Half Interrupt Processing
  • The NuttX Simulation
    • How the Simulator is Built
    • The nuttx.rel Blob
    • The $(HOSTOBJ) Blob
    • Accessing Host Devices Using FIFOs?
    • Toward a General Design
    • What is Wrong With That?
    • Simulated Interrupts
    • Supported Devices
Previous Next

© Copyright 2023, The Apache Software Foundation.