简介

什么是 Nexus?

Nexus 是一个世界级的嵌入式软件开发平台,专为构建可靠、安全、可移植的嵌入式应用而设计。它提供了一套完整的抽象层和中间件组件,使开发者能够一次编写代码,部署到多个 MCU 系列。

核心特性

  • 统一 API: 跨不同硬件平台的一致接口

  • 可移植性: 一次编写,运行在多个 MCU 系列(STM32、ESP32、nRF52)

  • 高质量: 符合 MISRA C 标准,经过充分测试,覆盖率超过 90%

  • 安全性: 内置 IoT 应用安全特性

  • 实时性: 支持 FreeRTOS 和裸机配置

  • 生态系统: 丰富的中间件、云端集成和工具链

为什么选择 Nexus?

对于嵌入式开发者:

  • 使用即用型组件缩短上市时间

  • 专注于应用逻辑而非底层驱动

  • 轻松在 MCU 平台之间迁移

对于团队:

  • 跨项目的一致编码标准

  • 完善的文档和示例

  • 活跃的社区和支持

架构概述

Nexus 采用分层架构,将硬件相关代码与应用逻辑分离:

┌─────────────────────────────────────────────────────────────┐
│                      Applications                            │
├─────────────────────────────────────────────────────────────┤
│                      Middleware                              │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │  Shell  │ │   Log   │ │  Config │ │  Event  │           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
├─────────────────────────────────────────────────────────────┤
│                         OSAL                                 │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │  Task   │ │  Mutex  │ │  Queue  │ │  Timer  │           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
├─────────────────────────────────────────────────────────────┤
│                          HAL                                 │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │  GPIO   │ │  UART   │ │   SPI   │ │   I2C   │           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
├─────────────────────────────────────────────────────────────┤
│                    Platform / Hardware                       │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │ STM32F4 │ │ STM32H7 │ │  ESP32  │ │  nRF52  │           │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘           │
└─────────────────────────────────────────────────────────────┘

层级说明

应用层

基于 Nexus 平台构建的用户应用程序。

中间件层

通用服务,包括日志、Shell、配置管理和事件处理。

OSAL(操作系统抽象层)

RTOS 原语的可移植接口:任务、互斥锁、信号量、队列和定时器。支持 FreeRTOS 和裸机后端。

HAL(硬件抽象层)

硬件外设的统一 API:GPIO、UART、SPI、I2C、Timer、ADC。对应用代码隐藏硬件差异。

平台层

MCU 特定实现,包括启动代码、链接脚本和厂商 SDK 集成。

支持的平台

Platform

MCU

Status

RTOS Support

STM32F4

STM32F407VGT6

FreeRTOS, Bare

STM32H7

STM32H743ZIT6

🚧

FreeRTOS, Bare

ESP32

ESP32-WROOM-32

🚧

FreeRTOS

nRF52

nRF52840

🚧

FreeRTOS, Zephyr

Native

x86/x64

pthreads

图例:✅ 已支持,🚧 开发中

项目结构

nexus/
├── hal/                    # Hardware Abstraction Layer
│   ├── include/            # Public headers
│   └── src/                # Common HAL code
├── osal/                   # OS Abstraction Layer
│   ├── include/            # Public headers
│   └── adapters/           # RTOS adapters (FreeRTOS, native)
├── framework/              # Middleware components
│   └── log/                # Logging framework
├── platforms/              # Platform-specific code
│   ├── stm32f4/            # STM32F4 platform
│   └── native/             # Native (PC) platform
├── applications/           # Example applications
├── tests/                  # Unit tests
├── docs/                   # Documentation
└── cmake/                  # CMake modules and toolchains

许可证

Nexus 基于 MIT 许可证发布。详情请参阅 LICENSE 文件。

开始使用

准备好开始了吗?请按照以下指南操作:

  1. 安装 - 设置开发环境

  2. 快速开始 - 构建你的第一个 Nexus 应用

  3. 架构 - 深入了解架构