From ac45d96058c09d7792fa303bd8619a0b4bf335b0 Mon Sep 17 00:00:00 2001 From: Filipe Cavalcanti Date: Fri, 23 Jan 2026 10:56:34 -0300 Subject: [PATCH] docs: update README and other docs Signed-off-by: Filipe Cavalcanti --- README.md | 60 +++++++++++++++++++------------------- docs/source/features.md | 2 +- docs/source/quick_start.md | 2 +- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index f010a16..e690237 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,33 @@ # ntxbuild +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) +[![Linux](https://img.shields.io/badge/platform-Linux-lightgrey.svg)](https://www.linux.org/) +![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/fdcavalcanti/ntxbuild/python-package.yml) +![Read the Docs](https://img.shields.io/readthedocs/ntxbuild) + **NuttX Build System Assistant** - A Python tool for managing and building NuttX RTOS projects with ease. ntxbuild is a wrapper around the many tools available in the NuttX repository. It wraps around utilities such as make, kconfig-tweak, menuconfig and most used bash scripts (such as configure.sh). -Also, it provides different features, such as downloading required toolchains through the CLI. +Also, it provides different features, such as downloading required toolchains and managing PATH. This tool provides a command line interface that supports NuttX configuration and building, while also providing a Python API that allows you to script your builds. -[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) -[![Linux](https://img.shields.io/badge/platform-Linux-lightgrey.svg)](https://www.linux.org/) - ## Features - **Environment Management**: Automatic NuttX workspace detection and configuration -- **Python API**: API `ntxbuild` available for building NuttX using Python scripts -- **Parallel Builds**: Support for multi-threaded builds with isolated workspaces +- **Python API**: ntxbuild is available as a Python package for building NuttX using Python scripts - **Real-time Output**: Live build progress with proper ANSI escape sequence handling - **Configuration Management**: Kconfig integration for easy system configuration - **Interactive Tools**: Support for curses-based tools like menuconfig - **Toolchin Support**: Download and use your required toolchain automatically through the CLI +## Documentation + +Complete documentation, including usage examples and API reference, see: https://ntxbuild.readthedocs.io + ## Requirements - **Python 3.10+** @@ -32,38 +37,23 @@ while also providing a Python API that allows you to script your builds. ## Quick Start -### 1. Initialize Your NuttX Environment - -```bash -# Navigate to your NuttX workspace -cd /path/to/your/nuttx-workspace - -# Initialize with board and defconfig -ntxbuild start sim nsh -``` -### 2. Build Your Project +### Build using CLI +Navigate to your NuttX workspace and download latest NuttX and NuttX Apps using `ntxbuild`. ```bash -# Build with default settings -ntxbuild build - -# Or, build with parallel jobs -ntxbuild build --parallel 8 +$ mkdir ~/nuttxspace +$ cd ~/nuttxspace +$ ntxbuild download ``` -### 3. Configure Your System - +Build the simulator using the `nsh` defconfig. ```bash -# Run menuconfig -ntxbuild menuconfig - -# Set Kconfig values -ntxbuild kconfig --set-value CONFIG_DEBUG=y -ntxbuild kconfig --set-str CONFIG_APP_NAME="MyApp" +$ ntxbuild start sim nsh +$ ntxbuild build --parallel 8 ``` -### Alternative Usage +### Build using Python script Alternatively, you can automate your builds using a Python script instead of the CLI. ```python @@ -84,6 +74,16 @@ builder.build(parallel=10) builder.distclean() ``` +### Installing toolchains +Support for installing some of the most common toolchains is available. + +```bash +$ ntxbuild toolchain install gcc-arm-none-eabi +Installing toolchain gcc-arm-none-eabi for NuttX v12.12.0 +✅ Toolchain gcc-arm-none-eabi installed successfully +Installation directory: /home/user/ntxenv/toolchains +Note: Toolchains are sourced automatically during build. +``` ## Installation diff --git a/docs/source/features.md b/docs/source/features.md index d48eb43..7e2b0a8 100644 --- a/docs/source/features.md +++ b/docs/source/features.md @@ -57,7 +57,7 @@ The following are features that should be added to this project: 1. (OK) Publish on PyPi 2. (OK) Add build using CMake 3. Checkpatch script support -4. Download and install compilers +4. (OK) Download and install compilers 5. Open the docs for a board 6. Improve support for installing source (multi thread and API improvements) 7. Export defconfig (make savedefconfig) diff --git a/docs/source/quick_start.md b/docs/source/quick_start.md index 7ab6d70..ad4ef19 100644 --- a/docs/source/quick_start.md +++ b/docs/source/quick_start.md @@ -100,7 +100,7 @@ To install, execute the `toolchain install` command using any of the toolchains $ ntxbuild toolchain install gcc-arm-none-eabi Installing toolchain gcc-arm-none-eabi for NuttX v12.12.0 ✅ Toolchain gcc-arm-none-eabi installed successfully -Installation directory: /home/fdcavalcanti/ntxenv/toolchains +Installation directory: /home/user/ntxenv/toolchains Note: Toolchains are sourced automatically during build. ```