11# ntxbuild
22
3+ [ ![ Python 3.10+] ( https://img.shields.io/badge/python-3.10+-blue.svg )] ( https://www.python.org/downloads/ )
4+ [ ![ Linux] ( https://img.shields.io/badge/platform-Linux-lightgrey.svg )] ( https://www.linux.org/ )
5+ ![ GitHub Actions Workflow Status] ( https://img.shields.io/github/actions/workflow/status/fdcavalcanti/ntxbuild/python-package.yml )
6+ ![ Read the Docs] ( https://img.shields.io/readthedocs/ntxbuild )
7+
38** NuttX Build System Assistant** - A Python tool for managing and building NuttX RTOS projects with ease.
49
510ntxbuild is a wrapper around the many tools available in the NuttX repository. It wraps around utilities
611such as make, kconfig-tweak, menuconfig and most used bash scripts (such as configure.sh).
712
8- Also, it provides different features, such as downloading required toolchains through the CLI .
13+ Also, it provides different features, such as downloading required toolchains and managing PATH .
914
1015This tool provides a command line interface that supports NuttX configuration and building,
1116while also providing a Python API that allows you to script your builds.
1217
13- [ ![ Python 3.10+] ( https://img.shields.io/badge/python-3.10+-blue.svg )] ( https://www.python.org/downloads/ )
14- [ ![ Linux] ( https://img.shields.io/badge/platform-Linux-lightgrey.svg )] ( https://www.linux.org/ )
15-
1618## Features
1719
1820- ** Environment Management** : Automatic NuttX workspace detection and configuration
19- - ** Python API** : API ` ntxbuild ` available for building NuttX using Python scripts
20- - ** Parallel Builds** : Support for multi-threaded builds with isolated workspaces
21+ - ** Python API** : ntxbuild is available as a Python package for building NuttX using Python scripts
2122- ** Real-time Output** : Live build progress with proper ANSI escape sequence handling
2223- ** Configuration Management** : Kconfig integration for easy system configuration
2324- ** Interactive Tools** : Support for curses-based tools like menuconfig
2425- ** Toolchin Support** : Download and use your required toolchain automatically through the CLI
2526
27+ ## Documentation
28+
29+ Complete documentation, including usage examples and API reference, see: https://ntxbuild.readthedocs.io
30+
2631## Requirements
2732
2833- ** Python 3.10+**
@@ -32,38 +37,23 @@ while also providing a Python API that allows you to script your builds.
3237
3338## Quick Start
3439
35- ### 1. Initialize Your NuttX Environment
36-
37- ``` bash
38- # Navigate to your NuttX workspace
39- cd /path/to/your/nuttx-workspace
40-
41- # Initialize with board and defconfig
42- ntxbuild start sim nsh
43- ```
4440
45- ### 2. Build Your Project
41+ ### Build using CLI
4642
43+ Navigate to your NuttX workspace and download latest NuttX and NuttX Apps using ` ntxbuild ` .
4744``` bash
48- # Build with default settings
49- ntxbuild build
50-
51- # Or, build with parallel jobs
52- ntxbuild build --parallel 8
45+ $ mkdir ~ /nuttxspace
46+ $ cd ~ /nuttxspace
47+ $ ntxbuild download
5348```
5449
55- ### 3. Configure Your System
56-
50+ Build the simulator using the ` nsh ` defconfig.
5751``` bash
58- # Run menuconfig
59- ntxbuild menuconfig
60-
61- # Set Kconfig values
62- ntxbuild kconfig --set-value CONFIG_DEBUG=y
63- ntxbuild kconfig --set-str CONFIG_APP_NAME=" MyApp"
52+ $ ntxbuild start sim nsh
53+ $ ntxbuild build --parallel 8
6454```
6555
66- ### Alternative Usage
56+ ### Build using Python script
6757Alternatively, you can automate your builds using a Python script instead of the CLI.
6858
6959``` python
@@ -84,6 +74,16 @@ builder.build(parallel=10)
8474builder.distclean()
8575```
8676
77+ ### Installing toolchains
78+ Support for installing some of the most common toolchains is available.
79+
80+ ``` bash
81+ $ ntxbuild toolchain install gcc-arm-none-eabi
82+ Installing toolchain gcc-arm-none-eabi for NuttX v12.12.0
83+ ✅ Toolchain gcc-arm-none-eabi installed successfully
84+ Installation directory: /home/user/ntxenv/toolchains
85+ Note: Toolchains are sourced automatically during build.
86+ ```
8787
8888## Installation
8989
0 commit comments