Documentation Guide

Welcome to the Nexus documentation! This guide helps you navigate and find the information you need.

Documentation Structure

The Nexus documentation is organized into five main sections:

📚 Getting Started

For: New users, first-time setup

Contains:

  • Installation and environment setup

  • Quick start guide (5 minutes)

  • Project structure overview

  • Building and flashing

  • Core concepts introduction

  • Configuration basics

  • Example applications tour

  • FAQ and troubleshooting

Start here: Getting Started

📖 User Guide

For: Application developers, daily usage

Contains:

  • Architecture overview

  • HAL (Hardware Abstraction Layer)

  • OSAL (OS Abstraction Layer)

  • Framework components (Log, Shell, Config)

  • Kconfig configuration system

  • Build system documentation

  • IDE integration

  • Platform-specific guides

Start here: User Guide

🎓 Tutorials

For: Hands-on learning, practical examples

Contains:

  • Step-by-step tutorials

  • GPIO control

  • UART communication

  • Task creation

  • Interrupt handling

  • Timer and PWM

  • SPI communication

  • Complete example projects

Start here: Tutorials

🔧 Platform Guides

For: Platform-specific information

Contains:

  • Native platform (simulation)

  • STM32F4 series

  • STM32H7 series

  • GD32 series

  • Platform-specific features

  • Hardware setup guides

Start here: Platform Guides

📋 API Reference

For: Detailed API documentation

Contains:

  • HAL API reference

  • OSAL API reference

  • Framework API reference

  • Configuration options

  • Error codes

  • Kconfig reference

Start here: API Reference

🛠️ Development

For: Contributors, maintainers, porters

Contains:

  • Contributing guidelines

  • Coding standards

  • Testing framework

  • Build system internals

  • Porting guide

  • CI/CD integration

  • Release process

Start here: Development Guide

Finding What You Need

By Role

I’m a beginner
  1. Quick Start - Get running in 5 minutes

  2. First Application - Create your first app

  3. GPIO Control Tutorial - First tutorial

I’m building an application
  1. Hardware Abstraction Layer (HAL) - Hardware peripherals

  2. OS Abstraction Layer (OSAL) - Task management

  3. Config Manager - Configuration system

I’m porting to new hardware
  1. Porting Guide - Porting guide

  2. Architecture - Architecture overview

  3. Platform Guides - Platform examples

I’m contributing code
  1. Contributing - Contribution guide

  2. Coding Standards - Code style

  3. Testing - Testing requirements

By Task

Setting up environment

Environment Setup

Building project

Build and Flash

Configuring features

Kconfig Configuration System

Using GPIO

GPIO Control Tutorial or Hardware Abstraction Layer (HAL)

Using UART

UART Communication Tutorial or Hardware Abstraction Layer (HAL)

Creating tasks

Multi-Tasking with OSAL or OS Abstraction Layer (OSAL)

Debugging issues

Debugging Guide or Frequently Asked Questions

Writing tests

Testing

Adding new platform

Porting Guide

By Topic

Architecture & Design
Hardware Abstraction
Operating System
Configuration
Build System
Testing & Quality
Platform Support

Search Tips

Use the search box in the sidebar to find specific topics:

Search by keyword:
  • “GPIO” - Find all GPIO-related documentation

  • “UART” - Find UART documentation

  • “Kconfig” - Find configuration documentation

Search by function name:
  • “nx_factory_gpio” - Find GPIO factory function

  • “nx_hal_init” - Find HAL initialization

Search by error code:
  • “NX_ERR_PARAM” - Find error code documentation

Search by platform:
  • “STM32F4” - Find STM32F4-specific documentation

Language Selection

Nexus documentation is available in multiple languages:

  • English (en) - Default language

  • 中文 (zh_CN) - Chinese (Simplified)

Use the language switcher in the sidebar to change languages.

Documentation Conventions

Throughout the documentation, we use these conventions:

Code Examples

/* C code examples */
int main(void) {
    return 0;
}

Shell Commands

# Shell commands
cmake -B build

Configuration Options

# Kconfig options
CONFIG_HAL_GPIO=y

Notes

Note

Important information or tips

Warnings

Warning

Critical information or potential issues

Tips

Tip

Helpful suggestions or best practices

Cross-references

Links to other documentation: Getting Started

External links

Links to external resources: GitHub

Getting Help

If you can’t find what you need:

  1. Search the documentation - Use the search box

  2. Check the FAQ - Frequently Asked Questions

  3. Browse examples - Examples Tour

  4. Ask the community - GitHub Discussions

  5. Report issues - GitHub Issues

Contributing to Documentation

Found an error or want to improve the documentation?

See Contributing to Documentation for guidelines on:

  • Reporting documentation issues

  • Suggesting improvements

  • Writing new documentation

  • Translating documentation

Quick Reference

Most Common Pages

External Resources

Offline Documentation

To build and use documentation offline:

# Build HTML documentation
cd docs/sphinx
python build_docs.py

# Build PDF documentation (requires LaTeX)
python build_docs.py --format pdf

# Serve locally
python build_docs.py --serve

Output will be in docs/sphinx/_build/html/.

Documentation Versions

  • Latest - Development version (main branch)

  • Stable - Latest release version

  • Archive - Previous versions

See the version selector (if available) to switch between versions.

Feedback

Your feedback helps improve the documentation!

Thank you for using Nexus! 🚀