嵌入式开发:Executorch On-Device Ai Embedded Deployment 2025

引言 本文基于 2026 年最新行业资料整理,涵盖 ExecuTorch on-device AI embedded deployment 2025 的核心概念、开发流程和实战技巧。 ExecuTorch on-device AI embedded deployment 2025 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 ExecuTorch 1.0: General Availability Sta… - PyTorch Conference 2025 ExecuTorch – A Unified PyTorch Solution to Run AI Models On-Device ExecuTorch 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 21, 2026 · 1 min · 👁️ 0 · Tech Snippets

嵌入式开发:Esp32-P4 Edge Ai Hmi Vision Esp32-C6 2026

引言 本文基于 2026 年最新行业资料整理,涵盖 ESP32-P4 edge AI HMI vision ESP32-C6 2026 的核心概念、开发流程和实战技巧。 ESP32-P4 edge AI HMI vision ESP32-C6 2026 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 Espressif Booth Tour at Embedded World 2026 ESP32-P4 HMI, ESP32-C6 Low Power, ESP32-E22 Wi-Fi 6E Tablet-like, ESP32-P4-based 7, 8, and 10.1-inch HMI displays integrate Wi-Fi 6 connectivity, 5MP camera - CNX Software Vision Intelligence at the Edge Espressif’s ESP32-P4-EYE … 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 18, 2026 · 1 min · 👁️ 0 · Tech Snippets

嵌入式开发:Jetson Thor Physical Ai Robotics Edge Agents 2025

引言 本文基于 2026 年最新行业资料整理,涵盖 Jetson Thor physical AI robotics edge agents 2025 的核心概念、开发流程和实战技巧。 Jetson Thor physical AI robotics edge agents 2025 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 Jetson AGX Thor: NVIDIA $3,499 AI Supercomputer for Humanoid Robots & Edge AI NVIDIA Jetson Thor Module: A Next-Gen AI Powerhouse for Robotics [2025] Advantech Unveils Edge AI Solutions Accelerated by NVIDIA Jetson Thor for Robotics, Medical AI, and Data Intelligence | RoboticsTomorrow 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 17, 2026 · 1 min · 👁️ 0 · Tech Snippets

嵌入式开发:Arm Ethos-U85 Corstone-320 Microcontroller Edge Ai 2025

引言 本文基于 2026 年最新行业资料整理,涵盖 Arm Ethos-U85 Corstone-320 microcontroller edge AI 2025 的核心概念、开发流程和实战技巧。 Arm Ethos-U85 Corstone-320 microcontroller edge AI 2025 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 Arm Targets the AIoT with High-Performance Ethos-U85 NPU and Corstone-320 Platform - Hackster.io Arm accelerates Edge AI with Ethos-U NPU and IoT reference design | Computer Weekly Edge AI is evolving and so is Arm Flexible Access. New additions … 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 15, 2026 · 1 min · 👁️ 0 · Tech Snippets

嵌入式开发:Litert Tensorflow Lite Successor On-Device Ai 2025

引言 本文基于 2026 年最新行业资料整理,涵盖 LiteRT TensorFlow Lite successor on-device AI 2025 的核心概念、开发流程和实战技巧。 LiteRT TensorFlow Lite successor on-device AI 2025 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 TensorFlow 2.21 & LiteRT: Next-Gen On-Device AI Framework 🚀 | by Aniket Sanyal | Data And Beyond | Medium LiteRT download | SourceForge.net GitHub - google-ai-edge/LiteRT: LiteRT, successor to TensorFlow Lite. is Google’s On-device framework for high-performance ML & GenAI deployment on edge platforms, via efficient conversion, runtime, and optimization · GitHub 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 14, 2026 · 1 min · 👁️ 0 · Tech Snippets

嵌入式开发:Qualcomm Ai Hub On-Device Model Deployment Edge Ai 2025

引言 本文基于 2026 年最新行业资料整理,涵盖 Qualcomm AI Hub on-device model deployment edge AI 2025 的核心概念、开发流程和实战技巧。 Qualcomm AI Hub on-device model deployment edge AI 2025 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 Deploy AI Models on Snapdragon X Elite with Qualcomm AI Hub Qualcomm AI Hub explained: Workbench, Models and Apps Edge AI Deep Dive Day™ - 2026 Embedded Vision Summit 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 13, 2026 · 1 min · 👁️ 0 · Tech Snippets

嵌入式开发:Edge Ai Secure Ota Model Prompt Tool Update Embedded 2026

引言 本文基于 2026 年最新行业资料整理,涵盖 edge AI secure OTA model prompt tool update embedded 2026 的核心概念、开发流程和实战技巧。 edge AI secure OTA model prompt tool update embedded 2026 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 How to Securely Update Software OTA on Embedded Edge Devices and Edge AI Systems Future of Release Management (Firmware/Software Delivery) in the … Secure ML Model Deployment | Secure AI Update Solution 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 12, 2026 · 1 min · 👁️ 0 · Tech Snippets

ARM TrustZone-M 安全启动与 OTA 实战:从分区、密钥到回滚防护

前言:为什么 MCU 也需要可信启动链 过去做单片机项目,很多团队把安全问题理解成“通信加个 TLS”“升级包做个 CRC”或者“调试口量产时关掉”。这些措施当然有价值,但如果设备会联网、会远程升级、会保存业务密钥,真正的风险往往出现在更早的启动阶段:攻击者能不能替换 Bootloader?能不能刷入旧版本固件重新打开已经修复的漏洞?能不能通过普通应用区读出密钥?能不能在升级断电后把设备卡成砖? ARM Cortex-M23、Cortex-M33、Cortex-M35P、Cortex-M55 等内核引入的 TrustZone-M,正是为这些问题准备的一套硬件隔离基础设施。它不像服务器上的虚拟化那样厚重,也不是简单的软件权限判断,而是把整个地址空间、外设访问、中断入口和函数调用边界都划分成 Secure 与 Non-secure 两个世界。安全世界负责根信任、密钥、签名校验、回滚计数和少量可信服务;普通世界继续运行原有业务逻辑,例如传感器采集、协议栈、UI、云端连接和控制算法。 这篇文章不追求把 ARM 架构手册逐页复述,而是从一个真实产品视角出发,设计一条可落地的 TrustZone-M 安全启动与 OTA 链路。目标设备可以是带 Cortex-M33 的无线 MCU,也可以是安全要求较高的工业控制板。我们会讨论分区怎么切、密钥放在哪里、启动时校验什么、升级包如何设计、回滚防护如何做,以及调试和量产阶段最容易踩的坑。 一、TrustZone-M 的基本模型 TrustZone-M 的核心是“安全属性”。CPU 取指、读写内存、访问外设、响应中断时,硬件都会判断当前访问属于 Secure 还是 Non-secure。这个属性不是单靠软件变量维护,而是由 SAU(Security Attribution Unit)、IDAU(Implementation Defined Attribution Unit)以及厂商外设安全控制器共同决定。简单说,SAU 更像内核侧的安全地址表,IDAU 则是芯片厂商预先定义的安全属性,例如某些系统寄存器或 OTP 区域天然只能由 Secure 访问。 典型工程会把 Flash 分成 Secure Bootloader、Secure Service、Non-secure App、OTA Slot、Scratch 或 Trailer 几类区域。Secure Bootloader 最先运行,负责配置时钟、最小外设、安全属性和镜像验证;Secure Service 提供少量可被普通应用调用的安全接口,例如读取设备证书摘要、发起签名验签、获取随机数、更新回滚计数;Non-secure App 是业务主程序,绝大部分代码都放在这里;OTA Slot 保存待升级镜像;Scratch 或 Trailer 用来记录升级状态、断电恢复信息和镜像确认标志。 ...

June 11, 2026 · 4 min · 👁️ 0 · Tech Snippets

IoT 固件开发最佳实践 2026

引言 本文基于 2026 年最新行业资料整理,涵盖 Model Context Protocol IoT edge agent architecture 2025 的核心概念、开发流程和实战技巧。 IoT 固件架构 1.1 现代 IoT 固件分层设计 现代 IoT 固件采用模块化分层架构,每一层都有明确的职责和接口,便于维护、测试和升级。 ┌ │ │ │ │ ├ │ │ │ │ │ ├ │ │ │ │ ├ │ │ ├ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┌ │ └ ─ ┌ │ │ └ ─ ┌ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ F ( ─ ─ ─ G ─ ─ ─ ─ ─ ─ M ─ ─ ─ r R ─ ─ ─ P ─ ─ ─ C ─ ─ ─ Q ─ ─ ─ e T ─ ─ ─ I ─ ─ ─ o ─ ─ ─ T ─ ─ ─ e O ─ ─ ─ O ─ ─ ─ r ─ ─ ─ T ─ ─ ─ R S ─ ─ ─ ─ ─ ─ t ─ ─ ─ ─ ─ ─ T ) ─ ─ ┐ │ ┘ ─ ─ e ─ ─ ─ 客 ─ ─ ─ O ─ ─ ─ ─ x ─ ─ ─ 户 ─ ─ ─ S ─ ─ ┌ │ └ ─ ─ - ─ ─ ─ 端 ─ ─ ─ ─ ─ ─ ─ ─ S ─ M ─ ─ ─ ─ ─ ─ ─ ─ ─ S ─ ─ T ─ ─ ─ ┐ │ ┘ ─ ┐ │ │ ┘ ─ ─ P ─ ─ M ─ / ─ ─ ─ ─ ─ I ─ ─ 3 ─ ─ ─ ─ ─ ─ ─ ─ 2 ─ E ─ ─ ┌ │ └ ─ ┌ │ │ └ ─ ─ ─ ─ ─ S ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ ┘ ─ H ─ P ─ ─ ─ ─ ─ ─ ( ─ ─ ─ A ─ 3 ─ ─ ─ H ─ ─ ─ L 网 ─ ─ ┌ │ └ ─ L ─ 2 ─ ─ ─ T ─ ─ ─ w 络 ─ ─ ─ ─ ─ ─ ─ ─ 应 ─ T ─ ─ 中 ─ I 栈 ─ ─ 驱 ─ I ─ ─ 硬 / ─ 硬 / ─ ─ 用 ─ P ─ ─ 间 ─ P ) ─ ─ 动 ─ 2 ─ ─ 件 ─ 件 ─ ─ 层 ─ ─ ─ 件 ─ ─ ─ 层 ─ C ─ ─ 抽 E ─ 层 n ─ ─ ( ─ 客 ─ ─ 层 ─ ─ ─ ( ─ ─ ─ 象 S ─ ( R ─ ─ A ─ 户 ─ ─ ( ─ │ ─ ─ D ─ ─ ─ 层 P ─ H F ─ ─ p ─ 端 ─ ─ M ─ ─ ─ r ┐ │ ┘ ─ ( - ─ a 5 ─ ─ p ─ ─ ─ i ─ ─ ─ i ─ H I ─ r 2 ─ ─ l ┐ │ ┘ ─ d ┐ │ │ ┘ ─ v ┌ │ └ ─ A D ─ d ─ ─ i ─ d ─ e ─ ─ ─ L F ─ w / ─ ─ c ─ l ( ─ r ─ U ─ ─ ) ─ a ─ ─ a ┌ │ └ ─ e ┌ │ 加 └ ─ ) ─ A ─ ─ / ─ r R ─ ─ t ─ ─ ─ w ─ 密 ─ ─ ─ R ─ ─ ─ e I ─ ─ i ─ ─ ─ a ─ m ) ─ ─ ─ T ─ ─ N ─ ) S ─ ─ o ─ C ─ ─ r ─ b ─ ─ ─ ─ ─ o ─ C ─ ─ n ─ o ─ ─ e ─ e ─ ─ ┐ │ ┘ ─ r ─ - ─ ─ ) ─ A ─ ─ ) ─ d ─ ─ ─ d ─ V ─ ─ ─ P ─ ─ ─ T ─ ─ ┌ │ └ ─ i ─ ─ ─ ─ ─ ─ ─ L │ ─ ─ ─ ─ ─ c ─ ─ ─ ─ 客 ─ ─ ─ S ─ ─ ─ A ─ ─ ─ ─ ─ ─ 户 ─ ─ ─ ─ ─ ─ D ─ ─ S ─ ─ ─ ─ 端 ─ ─ ─ ─ ─ ─ C ─ ─ D ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ K ─ ─ ─ ┐ │ ┘ ─ ┐ │ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┌ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ P ─ ─ ─ ─ ─ ─ ─ ─ W ─ ─ ─ ─ ─ ─ ─ ─ M ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ ┘ ─ ─ ─ ─ ─ │ ─ ─ ─ ─ ─ ─ ─ ─ │ ─ ─ ─ │ ─ │ ─ │ ─ ─ ─ ─ ─ ─ ─ ─ │ ─ ─ ─ ─ │ │ │ ─ ─ ─ ─ │ │ │ ─ │ │ │ ─ ─ ─ ─ ┐ ┤ ┤ ┤ │ ┤ │ ┘ 1.2 各层职责详解 层级 职责 典型组件 更换频率 应用层 业务逻辑、用户功能 MQTT 客户端、传感器数据处理 高(频繁迭代) 中间件层 通用服务、协议栈 FreeRTOS、LwIP、mbedTLS 中(版本升级) 驱动层 外设驱动、硬件抽象 GPIO、SPI、I2C、UART 低(稳定) HAL 层 芯片厂商提供 STM32 HAL、ESP-IDF 低(跟随 SDK) 硬件层 物理芯片 Cortex-M4、ESP32 极低(产品周期) 1.3 模块化设计原则 // 1. 接口与实现分离(头文件定义接口) // sensor_interface.h #ifndef SENSOR_INTERFACE_H #define SENSOR_INTERFACE_H typedef struct { int (*init)(void); int (*read)(float *value); int (*calibrate)(void); } sensor_ops_t; // 外部声明具体实现 extern sensor_ops_t dht22_ops; extern sensor_ops_t bmp280_ops; #endif // 2. 依赖注入(便于测试和替换) // main.c void sensor_task(void *pvParameters) { // 通过指针传入具体实现,而非硬编码 sensor_ops_t *sensor = &dht22_ops; // 可轻松切换为 bmp280_ops sensor->init(); while (1) { float value; if (sensor->read(&value) == 0) { publish_data(value); } vTaskDelay(pdMS_TO_TICKS(1000)); } } // 3. 配置与代码分离 // config.h #define CONFIG_MQTT_BROKER "mqtt.example.com" #define CONFIG_MQTT_PORT 1883 #define CONFIG_MQTT_KEEPALIVE 60 #define CONFIG_WIFI_SSID "MyNetwork" #define CONFIG_WIFI_PASSWORD "SecretPassword" OTA 升级(Firmware Over-The-Air) 2.1 OTA 架构设计 OTA 服务器 固件存储 + 版本管理 签名服务 HTTPS 下载 IoT 设备 Bootloader A 区 运行中 B 区 更新中 状态上报 验证 OTA 升级架构图 2.2 A/B 分区升级策略 A/B 分区(也称为双分区)是最安全的 OTA 升级方案: ...

June 11, 2026 · 12 min · 👁️ 0 · Tech Snippets

RP2040 PIO 协议引擎实战:用状态机把 WS2812、DShot 与自定义总线跑稳

前言:为什么要专门聊 RP2040 的 PIO 很多单片机项目做到后期,真正难的往往不是“能不能点亮一个外设”,而是“能不能在系统负载变化、多个中断同时发生、DMA 正在搬运数据时,仍然把一个苛刻的波形发得足够稳”。比如 WS2812 灯带要求高低电平宽度落在比较窄的窗口里;航模电调常见的 DShot 协议要求固定周期内编码 0 和 1;一些老式传感器或私有总线没有标准外设可用,只能靠 GPIO 翻转和定时器模拟。传统做法通常有三种:用位带或寄存器裸写“硬抠”延时,用定时器 PWM 加 DMA 拼波形,或者干脆换一颗带专用外设的 MCU。前两种方案可以工作,但维护成本高,移植性差,稍微加入日志、通信栈或 RTOS 后就容易出现抖动;第三种方案则会推高物料和板级改版成本。 Raspberry Pi Pico 使用的 RP2040 在这个问题上给出了一个很有意思的答案:PIO,Programmable I/O。它不是普通 GPIO,也不是传统意义上的串口、SPI、I2C 控制器,而是放在 IO 边上的一组小型可编程状态机。每个 PIO 模块有 4 个 State Machine,芯片上一共有 2 个 PIO 模块,也就是最多 8 个状态机。状态机可以执行简短的 PIO 汇编指令,配合独立的 TX/RX FIFO、移位寄存器、side-set 引脚、可编程时钟分频器,把“协议时序”从 CPU 主循环和中断里剥离出来。CPU 只需要装载程序、配置频率、把数据塞进 FIFO;确定性边沿由 PIO 在硬件节拍下产生。 这篇文章不打算只停留在“PIO 很强”这种结论上,而是从工程角度拆解一个可落地的工作流:怎样理解状态机,怎样写一个 WS2812 波形程序,怎样用 C SDK 装载和启动 PIO,怎样把 FIFO 与 DMA 接起来,怎样调试时序误差,以及什么时候不要滥用 PIO。读完之后,你应该能把 PIO 当作一个小型协议引擎,而不是一个只能跑官方示例的“黑魔法外设”。 ...

June 10, 2026 · 5 min · 👁️ 0 · Tech Snippets

嵌入式开发:Risc-V Vector Extension Edge Ai Llm Inference 2025

引言 本文基于 2026 年最新行业资料整理,涵盖 RISC-V vector extension edge AI LLM inference 2025 的核心概念、开发流程和实战技巧。 RISC-V vector extension edge AI LLM inference 2025 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 Accelerating LLM Inference on RISC-V Edge Devices via Vector … Andes Technology Showcases RISC-V AI Leadership at RISC-V … RISC-V Summit Europe 2025 - Posters 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 10, 2026 · 1 min · 👁️ 0 · Tech Snippets

用 llama.cpp 与 GGUF 搭建本地 Function Calling 网关:从量化、提示模板到边缘部署

前言:为什么要把工具调用放到本地 过去两年,很多团队在做 AI 应用时都会先接一个云端大模型 API:把用户问题发出去,拿回一段文本,再在业务系统里解析。这个方案上手快,但一旦进入现场环境,问题很快就会浮出来:工厂内网不能直接访问公网,设备日志里可能含有客户数据,弱网场景下延迟不稳定,云端调用成本也不容易预估。更麻烦的是,一些“看起来只是聊天”的需求,本质上并不是聊天,而是让模型根据自然语言选择工具、填好参数、调用接口、再把结果解释给用户。比如“帮我查一下 3 号产线最近 10 分钟的温度异常”,模型需要决定调用 query_metric,参数包含产线编号、时间窗口和指标名;再比如“把这台边缘网关切到低功耗模式”,模型需要识别这是一个有副作用的动作,必须做权限确认和参数校验。 这类场景如果完全依赖云端,系统链路会变长,失败点会变多。相反,如果把小到中等规模的语言模型以 GGUF 格式部署在本地,通过 llama.cpp 提供推理服务,再在旁边放一个严格的 Function Calling 网关,就能得到一个更可控的架构:模型负责“理解意图”和“生成结构化调用计划”,网关负责“验证、授权、执行、审计”。这种分工非常适合工控边缘盒子、门店私有服务器、实验室内网助手、个人知识库一体机等场景。 本文不是简单介绍如何运行 ./llama-cli -m model.gguf,而是围绕一个可落地的本地工具调用网关展开:如何选择模型和量化格式,如何设计提示模板让模型稳定输出 JSON,如何用 Python 写一个流式调用编排器,如何处理超时、重试、权限和审计,最后如何把它部署到一台资源有限的边缘设备上。文章中的代码尽量保持小而完整,方便你按自己的业务接口替换。 一、整体架构:模型不要直接碰业务系统 一个常见误区是:既然模型可以生成函数名和参数,那就让模型输出什么就执行什么。这个做法在演示里很顺,但在生产环境里非常危险。语言模型是概率系统,它可能拼错函数名,可能把用户随口说的一句话理解成执行命令,也可能在上下文受到污染时生成越权参数。正确的做法是把模型放在“建议者”的位置,业务网关才是“裁判”和“执行者”。 本文采用的架构由五层组成: 客户端层:Web UI、命令行、企业微信机器人、串口控制台都可以作为入口。它们只负责收集用户输入和展示结果。 会话编排层:维护上下文、拼接系统提示词、把可用工具列表注入给模型,并解析模型输出。 本地推理层:llama.cpp 或 llama-server 加载 GGUF 模型,提供 OpenAI 兼容接口或原生命令行接口。 工具安全层:根据白名单、参数 schema、用户权限、二次确认规则决定是否允许执行。 业务适配层:真正访问数据库、设备驱动、HTTP API、MQTT、Modbus、文件系统等外部资源。 这个拆分的关键点是:模型输出永远只是“候选动作”,不能直接等价于“已授权动作”。即使模型说要调用 set_relay_state(channel=1, state="on"),网关也要检查当前用户是否有控制继电器的权限,channel 是否在允许范围内,动作是否需要二次确认,执行结果是否要写审计日志。 下面是最小化的工具描述格式。它不依赖某个云厂商的 Function Calling 协议,但足够表达函数名、用途、参数类型和安全属性。 { "name": "query_metric", "description": "查询某条产线或设备在指定时间窗口内的指标数据", "side_effect": false, "parameters": { "type": "object", "required": ["device", "metric", "window_minutes"], "properties": { "device": {"type": "string", "description": "设备或产线编号,例如 line-3"}, "metric": {"type": "string", "enum": ["temperature", "humidity", "current"]}, "window_minutes": {"type": "integer", "minimum": 1, "maximum": 1440} } } } 这里的 side_effect 很重要。查询类工具通常可以直接执行,控制类、写入类、删除类工具则应默认要求确认。很多事故不是模型“不聪明”,而是系统把模型的建议当成了不可质疑的命令。 ...

June 9, 2026 · 5 min · 👁️ 0 · Tech Snippets

嵌入式开发:Esp32-P4-Eye Camera Display Edge Ai Gateway 2026

引言 本文基于 2026 年最新行业资料整理,涵盖 ESP32-P4-EYE camera display edge AI gateway 2026 的核心概念、开发流程和实战技巧。 ESP32-P4-EYE camera display edge AI gateway 2026 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 ️ Meet ESP32-P4-EYE: Vision Intelligence at the Edge Espressif’s … Introducing ESP32-P4-EYE: A Powerful Vision Development Board for Edge AI · Developer Portal Espressif ESP32-P4 Edge AI Robot Arm, ESP32-H4 LE … - YouTube 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 9, 2026 · 1 min · 👁️ 0 · Tech Snippets

Cortex-M Cache、MPU 与 DMA 一致性实战:把 STM32H7 这类高性能 MCU 跑稳跑快

前言:高性能 MCU 最隐蔽的坑,不是算力不够,而是数据“不一致” 很多人第一次从 Cortex-M3 / Cortex-M4 迁移到 Cortex-M7,感受非常直接:主频更高了,FPU 更强了,片上 SRAM 更大了,外设带宽也上来了。以 STM32H7、NXP i.MX RT、部分国产高性能 MCU 为例,系统里开始出现 I-Cache、D-Cache、AXI SRAM、多级总线矩阵、MDMA、ETH、SDMMC、DCMI、LTDC 这类过去在小 MCU 上不太需要认真处理的模块。代码还是 C,外设还是 DMA,调试器还是能单步,但一旦项目进入图像采集、以太网、文件系统、音频流或者屏幕刷新,问题会变得很诡异: DMA 明明已经写完了缓冲区,CPU 读到的还是旧数据; CPU 明明把发送包填好了,以太网 DMA 发出去的却是上一帧; 关掉 D-Cache 后系统稳定了,但吞吐掉了一大截; 加了一句 SCB_CleanDCache_by_Addr() 后偶尔好、偶尔坏; 同样的代码 Debug 版本正常,Release 版本或者换了优化等级就出错; 缓冲区长度不是 32 字节倍数时,旁边的变量被“莫名其妙”污染。 这些现象的根源通常不是外设驱动写错,也不是编译器“玄学”,而是 CPU、Cache、MPU、DMA 对同一段内存的理解不一致。Cortex-M7 的 D-Cache 提升了 CPU 访问速度,但 DMA 控制器通常不会经过 D-Cache,它直接从 SRAM 或外部 RAM 读写。于是同一个地址,在 CPU 看来可能是 Cache Line 里的新数据,在 DMA 看来却是内存里的旧数据;反过来,DMA 已经把新数据写入内存,CPU 仍然命中旧的 Cache Line。 ...

June 8, 2026 · 8 min · 👁️ 0 · Tech Snippets

嵌入式开发:Webnn Webgpu Browser On-Device Ai Edge Agents 2026

引言 本文基于 2026 年最新行业资料整理,涵盖 WebNN WebGPU browser on-device AI edge agents 2026 的核心概念、开发流程和实战技巧。 WebNN WebGPU browser on-device AI edge agents 2026 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 Expanding on‑device AI in Microsoft Edge: New models and APIs for the web - Microsoft Edge Blog I Replaced My AI Server With A Browser Tab (WebGPU 2026 Setup) Inside the Web AI Revolution: On-Device ML, WebGPU, and Real-World Deployments 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 8, 2026 · 1 min · 👁️ 0 · Tech Snippets

Zephyr RTOS 设备树与驱动开发实战:从 Devicetree、Kconfig 到可复用传感器驱动

前言 如果你长期写 STM32、ESP32 或 Linux 驱动,第一次接触 Zephyr RTOS 时,最容易卡住的地方通常不是线程、信号量这些传统 RTOS 概念,而是三个看起来“有点绕”的基础设施:Devicetree、Kconfig 和驱动模型。很多人会问:为什么点一个 LED、读一个 I2C 传感器,不能像裸机工程那样直接写寄存器地址?为什么配置宏要分散在 prj.conf、Kconfig、*.overlay、*.yaml 和生成目录里? 原因很简单:Zephyr 面向的不是单个芯片或单块板子,而是“同一套应用可以在不同板级硬件上复用”。它把硬件描述、功能裁剪、驱动实例化、应用逻辑拆开,让应用尽量不关心底层板子的管脚、总线地址和外设差异。这个思路非常适合产品化嵌入式开发:今天样机用 nRF52,明天量产版换 STM32;今天传感器挂在 i2c0,明天板子改版挪到 i2c1;应用层最好只写一次。 本文不做“概念堆砌”,而是以一个虚构但贴近真实项目的 I2C 温湿度传感器 xyz123 为例,完整走一遍 Zephyr 驱动开发链路:如何写 Devicetree overlay,如何写 binding,如何通过 Kconfig 打开驱动,如何用 DEVICE_DT_INST_DEFINE() 生成设备实例,如何在应用中调用标准 sensor API,最后再给出调试和移植时最常见的坑。 一、为什么 Zephyr 要把硬件描述放到 Devicetree 在传统裸机工程里,硬件信息经常散落在 C 代码中:I2C 地址写成宏,GPIO 管脚写成宏,时钟频率写在 board.h,中断优先级写在初始化函数里。项目小的时候这很直观;项目一旦有多块板、多种传感器、多套 SKU,维护成本会很快上升。 Zephyr 借鉴 Linux 的 Devicetree 思路,把“板上有什么硬件、硬件挂在哪里、默认参数是什么”写成树状描述。比如一个 I2C 传感器可以描述为:它挂在 i2c1 控制器下面,地址是 0x44,中断脚连接到 gpio0 的第 12 脚,采样周期默认 1000 ms。驱动代码不直接写死这些值,而是在编译期从 Devicetree 生成的头文件中取。 ...

June 7, 2026 · 7 min · 👁️ 0 · Tech Snippets

嵌入式开发:Openvino Genai Npu Industrial Edge Gateway 2025

引言 本文基于 2026 年最新行业资料整理,涵盖 OpenVINO GenAI NPU industrial edge gateway 2025 的核心概念、开发流程和实战技巧。 OpenVINO GenAI NPU industrial edge gateway 2025 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 OpenVINO 2025.4 Release Broadens Model Support - Edge AI and Vision Alliance Release Notes for Intel Distribution of OpenVINO Toolkit 2025.3 OpenVINO ™ 2025.4: Faster Models, Smarter Agents - Medium 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 7, 2026 · 1 min · 👁️ 0 · Tech Snippets

vLLM 本地大模型推理服务实战:从 OpenAI API 到吞吐、显存与延迟调优

前言:为什么本地推理服务会成为团队的基础设施 过去两年,很多团队已经把大模型从“能聊几句的玩具”推进到了真正的业务链路里:客服质检、代码助手、文档检索、知识库问答、BI 分析、研发自动化、设备运维助手,场景越来越具体,调用量也越来越稳定。这个阶段最容易遇到的矛盾是:单次体验看起来不错,但一旦多人同时使用,延迟、成本、限流、数据安全、模型版本控制都会变成工程问题。 如果只是给个人写一个脚本,直接调用云端 API 最省事;如果团队已经有私有数据、内网系统、稳定 QPS、固定模型和合规要求,本地推理服务就值得认真建设。它不是为了“完全替代云服务”,而是为了把一部分可控、可预测、可缓存、可审计的请求沉到自己的基础设施里:模型版本自己定,日志留在内网,显卡利用率自己优化,业务峰值也可以通过队列和降级策略来处理。 在这一类方案中,vLLM 是目前很常见的选择。它的优势并不是“启动一个模型”这么简单,而是围绕大模型在线推理做了系统级优化:OpenAI 兼容 API、连续批处理、PagedAttention、张量并行、流式输出、Prometheus 指标、较成熟的服务端参数。对于很多团队来说,vLLM 正好站在“研究代码”和“生产服务”之间:比手写 Transformers server 更接近生产,比完整平台又轻量许多。 本文不打算只列一组启动命令。我们会按工程落地的顺序讲清楚:怎样选择模型与硬件,如何启动 OpenAI 兼容服务,为什么 PagedAttention 对吞吐和显存很关键,压测时应该看哪些指标,常见参数如何调,最后再补上网关、监控、systemd、Docker Compose 和故障排查。读完以后,你应该能搭出一个可用的内网推理服务,并知道下一步该怎么把它调稳。 一、先把目标说清楚:不是“跑起来”,而是“稳定地跑” 很多本地大模型项目的第一步都很顺利:下载模型,装依赖,跑一个 demo,看见回复,大家都很兴奋。真正的问题通常在第二周出现:同事开始接入,输入长度不一样,输出长度不一样,有人跑 8K 上下文,有人开流式输出,还有人批量生成摘要。GPU 显存看起来还剩不少,但请求排队越来越长;某些请求首 token 等待十几秒;升级模型后,原来的参数突然不合适;日志里偶尔出现 CUDA OOM,却很难复现。 所以在搭 vLLM 前,建议先明确四个目标。 第一,服务对象是谁。是给内部研发少量调用,还是给业务系统持续调用?如果只是研发使用,优先保证灵活性;如果是业务链路,优先保证限流、监控、灰度和回滚。 第二,模型规模是多少。7B、14B、32B、70B 对显存和并行方式的要求完全不同。模型越大,单卡部署越困难,吞吐和延迟的权衡也越明显。不要只看参数量,还要看量化格式、上下文长度、是否需要多 LoRA、是否要跑 embedding 或 rerank。 第三,请求形态是什么。短问短答、长文摘要、代码生成、Agent 工具调用的 token 分布差别很大。Prefill 阶段主要处理输入 token,Decode 阶段逐 token 生成输出;输入特别长会拉高首 token 延迟,输出特别长会占用更久的 KV Cache。压测时如果只用“你好”这种请求,结果没有参考价值。 第四,接受什么样的服务等级。比如 P95 首 token 延迟小于 3 秒,平均输出速度大于每秒 40 token,排队超过 30 秒直接返回忙碌,单 GPU 显存利用率维持在 85% 左右。这些指标越早写下来,后面调参越不会靠感觉。 ...

June 6, 2026 · 5 min · 👁️ 0 · Tech Snippets

嵌入式开发:Esp32-S3 Tinyml Edge Ai Voice Vision 2026

引言 本文基于 2026 年最新行业资料整理,涵盖 ESP32-S3 TinyML edge AI voice vision 2026 的核心概念、开发流程和实战技巧。 ESP32-S3 TinyML edge AI voice vision 2026 概述 嵌入式系统开发需要掌握硬件、软件和系统集成的综合技能。 开发流程 需求分析 → 确定功能、性能指标 硬件选型 → MCU、传感器、通信模块 原理图设计 → 电路设计、仿真验证 软件架构 → 分层设计、模块化 编码实现 → C/C++、RTOS、驱动 调试测试 → 单元测试、系统集成 生产部署 → 批量生产、OTA 升级 常用工具 IDE:Keil、IAR、STM32CubeIDE、VS Code 调试器:J-Link、ST-Link、DAP-Link 示波器:Siglent、Rigol、Keysight 逻辑分析仪:Saleae、Kingst 学习路线 C 语言基础 → 指针、结构体、内存管理 单片机原理 → GPIO、中断、定时器 外设驱动 → UART、SPI、I2C、ADC RTOS → 任务、信号量、消息队列 项目实战 → 综合应用 参考资料 ESP32 Camera Guide 2026: Best Boards, Setup & Projects Talk to it, and it talks back. 🎙️ This DIY ESP32-S3 AI voice … AI Meeting Recorder using XIAO ESP32 S3 Sense - YouTube 本文基于网络公开资料整理,结合嵌入式开发实践经验编写。 ...

June 6, 2026 · 1 min · 👁️ 0 · Tech Snippets

嵌入式 NPU 架构与算子优化实战:从内存带宽到 INT8 部署

前言:为什么同一个模型在不同 NPU 上差距很大? 做嵌入式 AI 部署时,很多人第一次拿到 NPU 板卡都会有一个误解:只要芯片宣传页写着 1TOPS、6TOPS 或 10TOPS,模型就应该按照这个数字线性变快。实际项目里经常不是这样。同样一个 YOLO、MobileNet 或语音关键词模型,在 A 芯片上跑得很顺,在 B 芯片上却卡在某几个算子;同样是 INT8 量化,有的模型精度几乎不掉,有的模型会出现明显误检;同样是官方转换工具,有的网络一键通过,有的网络需要反复改 ONNX 图、替换算子、拆分子图。 这些问题并不神秘,本质上是 NPU 的计算阵列、片上 SRAM、DMA、数据布局、编译器和运行时之间存在非常强的耦合。CPU 代码慢了,我们通常先看热点函数;GPU 程序慢了,会看 kernel occupancy、显存访问和线程块;NPU 部署慢了,也要有类似的分析框架:先判断瓶颈是算力、带宽、算子支持、量化误差,还是 CPU/NPU 之间的调度开销。 本文从工程视角拆解嵌入式 NPU 的典型架构,并围绕一个真实部署流程展开:模型导出、图优化、量化校准、算子映射、内存规划、运行时流水线和性能排查。文章不绑定某一家芯片,但会覆盖 RK、Amlogic、Kendryte、寒武纪边缘模块以及很多 MCU 级 NPU 都会遇到的共性问题。读完后,你应该能判断一个模型为什么没有跑满 NPU,也能知道该从哪里下手优化。 一、先把 TOPS 的含义说清楚 TOPS 是每秒万亿次操作数,通常用于描述 INT8 乘加能力。例如一个 2TOPS 的 NPU,理论上每秒可以完成 2 万亿次 8 bit 整数运算。问题在于,这个数字往往是理想条件下的峰值:输入输出都在合适的数据布局中,算子可以完全映射到矩阵乘阵列,片上缓存命中率足够高,DMA 搬运没有拖后腿,调度器没有频繁切换任务。 在实际模型里,真正能高效利用 NPU 的通常是卷积、深度卷积、全连接、矩阵乘、部分池化和激活函数。很多看起来不起眼的操作,例如 Reshape、Transpose、Slice、Gather、Resize、NonMaxSuppression,如果不能被 NPU 原生支持,就可能回退到 CPU。一次 CPU 回退不仅带来计算时间,还可能带来缓存同步、数据格式转换和内存拷贝。模型中只要有几个这样的“断点”,端到端延迟就会明显变差。 评估 NPU 时,比 TOPS 更有价值的是下面几个指标: ...

June 5, 2026 · 5 min · 👁️ 0 · Tech Snippets