XSTAR(XBOOT)开源框架凭借“一次编译、多平台运行”的核心优势,整合官方原生项目、成熟商用模板与可二次开发方案,为跨平台开发提供统一底座,全面支撑从学习参考到业务落地的全流程需求。
一、官方原生项目:开箱即用的参考范本
源码`projects`目录内置15个原生工程,是社区核心参考样本,覆盖标杆示范、裸机工控、PC仿真、Linux应用四大类,实现多平台无缝适配:
标杆项目x64-linux-sdl-xiaozhi是框架最完整的示范,聚焦嵌入式语音AI终端,集成音频采集(I2S)、VAD人声检测、本地音效处理、LVGL界面、Websocket对接大模型、窗口系统及shell调试,可在Windows、PC Linux仿真运行,也能一键编译至全志RISC-V V821裸机,业务代码零修改,充分展现协程调度、音频子系统、设备模型与发布订阅机制的标准实现,是社区学习的核心案例。
裸机工控类适配主流工业芯片:rv1106-baremetal适配瑞芯微RV1106,实现视频与传感器采集;t113s3-baremetal适配全志T113,适配工业网关与IO控制器;v821-baremetal/v821-FreeRTOS适配全志RISC-V V821,支持裸机与FreeRTOS双模式,同一套业务代码通用;t527-baremetal适配全志ARM64高端SoC,集成Framebuffer显示与以太网,满足中高端工控需求。
PC仿真调试项目为无硬件开发提供支撑:x64-linux-sdl-helloworld与x64-windows-sdl-helloworld通过SDL模拟GPIO、UART等硬件接口,开发者可在电脑端完成算法与业务逻辑调试,无需硬件开发板,调试完成后直接编译适配硬件平台。
Linux用户态应用x64-linux-helloworld以普通进程运行,复用Linux原生socket、文件接口,依托XOS自动适配,业务代码无需改动,适配Linux环境下的轻量开发需求。
二、已落地商用类型:成熟可商用的产品形态
XSTAR脱胎于多年商业项目底座,开源前已批量应用,涵盖五大核心商用方向,采用MIT协议可直接商用:
工业物联网网关与Modbus转MQTT场景高度契合,适配T113S3、RV1106、V821硬件平台,支持RS485 Modbus-RTU/TCP、CANopen、多路ADC采集,具备数据本地缓存、MQTT上云、本地Web配置及shell在线调试能力。框架优势显著:支持PC仿真多台Modbus从站调试;数据点注册为Kobj设备,实现类sysfs远程读写;LibX集成卡尔曼/EWMA滤波、Modbus CRC16及JSON配置;内置安全链表解决vectorerase悬空指针问题,一份代码可同时运行于裸机与Linux系统。
工业IO控制器支持多路DI/DO/AI/AO,具备本地逻辑联动能力,可裸机运行保障高稳定性,替代传统PLC,依托统一GPIO、PWM、ADC驱动模型,更换芯片无需修改业务逻辑,适配工业现场控制需求。
智能语音终端基于xiaozhi工程商业化版本,集成离线降噪(依托Audio子系统的IIR、重采样、音效处理)、本地TTS播放、按键交互与LVGL UI,适配V821、RV1106芯片,无Linux系统,固件体积小、功耗低,适配离线语音场景。
机器视觉采集终端依托内置Vision子系统,实现灰度、二值化、腐蚀膨胀、图像缩放,搭配mjpg解码,满足流水线扫码、物料检测需求,无需OpenCV即可在MCU级别实现轻量化视觉,降低硬件成本。
嵌入式人机界面HMI深度集成LVGL9.4,配合Framebuffer驱动与窗口子系统,实现组态界面,支持shell命令修改参数,广泛应用于变频器、温控设备,简化人机交互开发流程。
三、7套可直接二次开发的完整应用方案
围绕核心业务场景,XSTAR沉淀7套可直接开发的方案,助力快速落地:
方案1:Modbus &8596; MQTT协议网关是核心开发方向,采用JSON设备树配置多路RS485串口及多从站,以DataPoint点位结合Kobj管理生命周期;业务层以协程轮询串口,用LibX环形队列缓存报文并内置Modbus CRC校验;数据变化后通过发布订阅推送至MQTT客户端;支持shell命令查看点位实时值与错误次数,可远程通过sysfs修改配置;开发流程为Windows SDL仿真→Linux验证→T113裸机编译,以Kobj引用计数解决vector悬空指针问题,实现内存自动回收。
方案2:通用采集器适配温湿度、ICM20608陀螺仪、压力传感器,采用统一I2C/SPI驱动,上层依托LibX卡尔曼滤波,一套代码可运行于RISC-V V821裸机(低功耗电池场景)、Linux工控板及PC仿真环境,适配多场景采集需求。
方案3:CAN总线工业设备依托框架CAN驱动与LibX哈希表管理节点,以Channel实现消息异步收发,集成日志系统记录总线报文,支持离线回放调试,适配力士乐等CAN设备解析,满足工业总线通信需求。
方案4:带屏幕HMI+IO控制一体机采用LVGL界面与后台逻辑分层,以initcall分级初始化(外设→任务→UI),支持触摸交互,参数可保存至XFS小型文件系统,实现界面与控制一体化,适配需人机交互的工业设备。
方案5:音频播报控制器依托Audio流水线实现文字转音频流,集成音效处理与继电器输出,支持定时播报与故障触发播报,裸机运行无需操作系统,适配车间声光报警等场景。
方案6:远程串口服务器结合网络子系统与UART驱动,实现TCP转RS485透明转发,支持多连接管理,可在裸机MCU运行,替代Linux方案降低成本,满足串口远程传输需求。
方案7:算法跨平台验证平台聚焦FFT、滤波、运动控制算法,支持Windows仿真后直接烧写MCU,依托框架内存池避免内存碎片化,实现算法跨平台快速验证与落地。
四、标准开发目录与移植上手流程
XSTAR采用标准化工程目录,以Modbus网关为例,目录结构清晰:`app/`包含应用入口`main.c`、数据点管理(Kobj模型)、Modbus协议层、MQTT客户端及自定义shell命令;`board/`存放JSON设备树,配置串口、ADC等硬件参数;`driver/`复用框架标准驱动,无需重复开发。通过`make menuconfig`可灵活勾选Modbus、MQTT等组件,裁剪冗余驱动,精简固件体积。
移植上手流程简洁高效:首先复制`x64-linux-sdl-helloworld`模板,新建`t113-modbus-gateway`工程;在defconfig中开启uart、net、shell、libx_json、modbus等核心组件;编写JSON设备树配置多路RS485串口;应用层调用框架API读写串口,以Kobj管理采集点位;完成PC端仿真测试后,切换至T113S3工具链,一键编译生成裸机固件并下载运行,快速实现Modbus网关的落地。