Skip to content

hpmicro/zephyr_sdk_glue

Repository files navigation

Zephyr SDK Glue

HPMicro's Zephyr RTOS Adaptation for RISC-V MCUs

FeaturesBoardsQuick StartDocsLicense

Version Zephyr License RISC-V


📖 Overview

Zephyr SDK Glue is a manifest repository developed by HPMicro based on the Zephyr project. This repository contains all source program files adapted by HPMicro for its own MCUs in the Zephyr project. Together with HPMicro's official software development kit (SDK), it forms the HPMicro chip development suite for the Zephyr project.

This repository is bound to Zephyr v3.7.0 (LTS) and undergoes related iterations on this version basis.

✨ Features

Feature Description
Independent Manifest Uses its own manifest file, fetching all source code starting from the Glue repository
Direct HPM_SDK Integration No Zephyr HAL repository required, developed directly based on HPM_SDK
LTS Version Binding Bound to Zephyr v3.7.0 LTS for long-term stability
Docker Support Ready-to-use Docker development environment
MCUboot Support Bootloader support for secure firmware updates

🎯 Supported Boards

Board SoC Features
hpm6200evk HPM6280 CAN USB PWM
hpm6750evk2 HPM6750 CAN USB Ethernet Display Video SDHC
hpm6800evk HPM6880 CAN USB Ethernet Display Video SDHC
hpm6e00evk HPM6E80 CAN USB Ethernet

🔌 Supported Peripherals

Peripheral Driver Description
ADC adc ADC12 and ADC16 support
CAN can MCAN controller support
Clock clock_control Clock management
Display display RGB, MIPI DSI, LVDS display support
Video video DVP and MIPI CSI camera support
DMA dma DMA controller support
Ethernet ethernet Ethernet MAC support
GPIO gpio GPIO controller support
I2C i2c I2C controller support
IOC pinctrl Pin multiplexing control
PWM pwm PWM and PWMv2 support
SDHC sdhc SD/MMC host controller support
UART serial UART support
SPI spi SPI controller support
USB usb USB device and host (UDC/CherryUSB)

🚀 Quick Start

Prerequisites

  • Zephyr SDK 0.16.5+
  • Python 3.8+
  • CMake 3.20+
  • Ninja build system

Build with West

# Initialize workspace
west init -m https://github.com/hpmicro/sdk_glue.git zephyr_hpmicro
cd zephyr_hpmicro
west update
west supply

# Build hello_world example
west build -p always -b hpm6750evk2 zephyr/samples/hello_world

# Flash to board
west flash

Build with CMake

cmake -GNinja -B build -DBOARD=hpm6750evk2 zephyr/samples/hello_world
ninja -C build

Use -S ${snippet} to specify hardware configuration snippets for specific samples.


📁 Directory Structure

sdk_glue/
├── 📂 boards/      # Board and shield support files
├── 📂 cmake/       # CMake extensions
├── 📂 docs/        # Documentation
├── 📂 drivers/     # Zephyr standard driver files
├── 📂 dts/         # Devicetree files
├── 📂 include/     # Header files
├── 📂 modules/     # Additional modules (CherryUSB, etc.)
├── 📂 samples/     # Sample applications
├── 📂 snippets/    # Hardware configuration snippets
├── 📂 soc/         # SoC specific source
└── 📂 zephyr/      # Zephyr build definitions

📚 Documentation

Document Description
📖 Linux Getting Started Build environment setup on Linux
📖 Windows Getting Started Build environment setup on Windows
🐳 Docker Getting Started Using Docker development environment
🔧 Toolchain Guide Toolchain configuration (Zephyr SDK / ZCC)

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


About

This repository is the adhesive for HPM_SDK and Zephyr

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors