Prerequisites
Before you begin, ensure you have the following tools installed:
Required Tools
- ARM GCC Toolchain (arm-none-eabi-gcc 12.x or later)
- CMake 3.20 or later
- Make or Ninja build system
- Git for version control
Optional Tools
- NitroSIM - For hardware-free development and testing
- NitroJTAG - For on-target debugging (coming Q3 2026)
- VS Code with Cortex-Debug extension
Supported IDEs
NitroCortex integrates with Keil MDK, IAR Embedded Workbench, STM32CubeIDE, and any CMake-compatible IDE.
Installation
1Download the SDK
Contact us for early access to the NitroCortex SDK package:
# Once you have access, extract the SDK
tar -xzf nitrocortex-sdk-1.0.0.tar.gz
cd nitrocortex-sdk
2Set Environment Variables
Configure the path to the NitroCortex SDK:
# Linux/macOS
export NITROCORTEX_SDK=/path/to/nitrocortex-sdk
export PATH=$NITROCORTEX_SDK/tools:$PATH
# Windows (PowerShell)
$env:NITROCORTEX_SDK = "C:\nitrocortex-sdk"
$env:PATH += ";$env:NITROCORTEX_SDK\tools"
3Verify Installation
# Check SDK version
nitro --version
# Expected output: NitroCortex SDK v1.0.0
# List available components
nitro list
# NitroOS v5.3.0 Real-Time Operating System
# NitroFS v1.0.0 Embedded File System
# NitroSIM v6.1.1 ARM Cortex-M Emulator
# NitroVISION v2.4.0 TUI Framework
Project Structure
A typical NitroCortex project follows this structure:
my-project/
├── CMakeLists.txt
├── nitro.config.json # NitroCortex configuration
├── src/
│ ├── main.c # Application entry point
│ └── app_tasks.c # Application tasks
├── include/
│ └── app_config.h # Application configuration
└── build/ # Build output directory
Create Your First Project
Use the project generator to create a new project:
# Create a new project for STM32F4
nitro new my-project --target stm32f407vg --components nitroos,nitrofs
cd my-project
Configuration File
The nitro.config.json file defines your project settings:
{
"target": "stm32f407vg",
"core": "cortex-m4f",
"components": ["nitroos", "nitrofs"],
"nitroos": {
"max_tasks": 16,
"stack_size": 1024,
"tick_rate_hz": 1000
},
"nitrofs": {
"enable_fat32": true,
"enable_encryption": false
}
}
Build and Run
# Configure the build
cmake -B build -G Ninja
# Build the project
cmake --build build
# Flash to target (requires NitroJTAG or compatible probe)
nitro flash build/my-project.elf
# Or run in NitroSIM emulator
nitrosim --elf build/my-project.elf --target stm32f407vg
Early Access Note
NitroCortex is currently in early access. Contact us at info@nitrocortex.com for SDK access and licensing information.
Next Steps
- Tutorial: NitroOS Hello World - Create your first RTOS application
- API Overview - Explore the NitroCortex API
- Supported Platforms - See all supported MCUs