Skip to main content

Getting Started

This page walks you from a fresh clone to a running ALP SDK example. If you already have a Zephyr toolchain, jump to step 3.

Two ways to develop

Pick whichever fits your workflow:

  • Hand-written firmware — write C against <alp/...> headers directly. The path covered below.
  • alp-studio codegen — drag-and-drop blocks; Studio emits the same <alp/...> API. See alp-studio.

Prerequisites

The SDK is supported equally on Linux, macOS, and Windows (native PowerShell or WSL2). Tooling versions are identical across hosts.

ToolVersionNotes
Zephyrv4.4.0Pinned by the SDK's west.yml.
Python3.10+For west, the board.yaml loader, validators.
Python depspyyaml, jsonschema, imgtoolInstalled by scripts/bootstrap.sh.
CMake3.20+find_package(Zephyr) minimum.
C compilerGCC 11+ / Clang 14+native_sim builds; cross-toolchain for real silicon.
west1.2+pip install west if your distro doesn't ship it.

Per-platform install one-liners:

# macOS (Homebrew)
brew install cmake ninja python git
pip3 install west

# Linux (Debian / Ubuntu)
sudo apt install -y cmake ninja-build python3 python3-pip git
pip3 install west

# Windows -- PowerShell
winget install -e --id Kitware.CMake
winget install -e --id Ninja-build.Ninja
winget install -e --id Python.Python.3.12
pip install west

# Windows -- WSL2
wsl --install -d Ubuntu

For real-silicon builds you'll also need the Zephyr SDK (zephyr-sdk-0.17.0) and a JTAG/SWD probe.

Step 1 — Clone and bootstrap

git clone https://github.com/alplabai/alp-sdk
cd alp-sdk
bash scripts/bootstrap.sh
export ZEPHYR_BASE="$PWD/../zephyrproject/zephyr"

scripts/bootstrap.sh creates a Zephyr workspace next to alp-sdk/, runs west update --narrow, installs the SDK's Python deps, and prints host-specific hints for the optional native libraries the Yocto backends need.

Step 2 — Set up the Zephyr workspace (alternative)

If you'd rather drive west directly:

mkdir alp-workspace && cd alp-workspace
west init -m https://github.com/alplabai/alp-sdk
west update --narrow -o=--depth=1
west zephyr-export

After this the workspace contains zephyr/, the standard Zephyr modules, and alp-sdk/ mounted as a Zephyr module.

Step 3 — Build the GPIO example

cd alp-workspace
west alp-build -b native_sim/native/64 alp-sdk/examples/gpio-button-led
west build -d build -t run

Expected output:

*** Booting Zephyr OS build v4.4.0 ***
[gpio] init button=E1M_GPIO_IO0, led=E1M_GPIO_IO1
[gpio] led=0 status=0
[gpio] led=1 status=0
...
[gpio] done

west alp-build validates the example's board.yaml, generates alp.conf + the build-time <alp_hw_info_build.h> companion header, and delegates to west build. See the board.yaml reference for the schema.

Step 4 — Target real hardware

For an Alp Lab EVK (or your own carrier), swap the board flag:

# AEN family on the E1M EVK
west alp-build -b alp_e1m_evk_aen alp-sdk/examples/gpio-button-led
west flash

# V2N family on the E1M-X EVK
west alp-build -b alp_e1m_evk_v2n alp-sdk/examples/v2n/v2n-gd32-bridge-ping
west flash

Board files live in alplabai/alp-zephyr-modules; they are pulled in automatically by west update.

To order an Alp Lab EVK, request a dev kit.

What next?

Questions about this page? Discuss in Community Forum