NuttX
latest
10.0.0
10.0.1
10.1.0
10.2.0
10.3.0
11.0.0
12.0.0
12.1.0
12.2.0
12.2.1
12.3.0
12.4.0
12.5.0
12.5.1
12.6.0
12.7.0
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
Guides
Glossary
NuttX Logos
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