Connecting 上位机联调软件(GPL-3.0 + 商业例外)。连接下位机中间件、读取 DCM 自动生成调试界面:变量观测、实时波形、日志、远程服务。以免安装压缩包形式分发。
Connecting 产品线(connecting_repo)组织级文档枢纽:仓库地图、工具链工作流、术语表、快速开始、FAQ、贡献指南。统一入口,不含代码。
STM32F407 正点原子探索者开发板 · Connecting 中间件裸机(bare-metal)示例工程(MIT)。通过子模块引用 connecting_middleware,勿单独克隆(会缺中间件)。
设备信息提取工具(Python wheel 分发,专有许可)。从嵌入式固件(ELF/MAP)提取设备描述信息并生成 DCM,对应 QUICK_START 第④步。离线/在线安装均支持。
Connecting 嵌入式通信中间件 —— 预编译库 + 对外头文件 + 配置模板交付仓(LGPL-3.0)。不含源码,源码依 LGPL 义务提供。库文件通过 Gitee Release 分发。
Connecting 中间件板卡示例总入口(集合层)。仅存子模块指针,不存代码。克隆请加 --recursive 以拉取板卡 demo 及其引用的中间件子模块。
面向嵌入式系统的通信中间件及配套工具链开源项目。
Connecting 是一套面向嵌入式开发的调试工具链。它通过 设备描述包(DCM) 机制,让上位机自动识别设备的能力(变量、服务、事件),无需为每款设备手动编写调试界面。
嵌入式开发中,调试环节往往存在重复劳动。Connecting 把"为设备写调试代码"这件事,变成"导入一个描述文件"。
| 常见问题 | 传统做法 | Connecting 的做法 |
|---|---|---|
| 查看变量值 | 加 printf → 重编译 → 烧录 | 上位机直接读取,无需改动代码 |
| 调整运行参数 | 修改代码 → 重编译 → 烧录 → 验证 | 在线修改,实时生效 |
| 观察数据变化趋势 | 导出数据 → Excel 画图 | 实时波形,即开即看 |
| 不同项目 / 芯片 | 重复编写上位机代码 | 导入 DCM,界面自动生成 |
| 功能 | 说明 |
|---|---|
| 实时波形 | 连续显示变量变化趋势,支持多通道叠加 |
| 变量读写 | 在线查看和修改变量值,无需重新编译 |
| 服务调用 | 远程调用设备端函数(如启动、停止、参数设置) |
| 调试打印 | 接收设备端打印信息,替代串口助手 |
| 设备信息 | 读取设备型号、版本、编译时间等元信息 |
| 故障录波(规划中) | 触发条件时自动记录前后波形,定位偶发问题 |
| 多平台支持 | 已适配 Cortex-M(STM32F4 / G4),C2000 等平台规划中 |
嵌入式工程(含中间件)
↓
编译 + 提取工具
↓
设备描述包(DCM)
↓
Connecting 上位机
↓
自动生成调试界面:波形 + 变量 + 服务
三个核心环节:
| 组件 | 说明 |
|---|---|
| 通信中间件(Middleware) | 跨平台(Cortex-M / C2000 等)嵌入式通信中间件,以预编译库 + 头文件形式分发,开箱即用。 |
| 板卡示例(Demo) | 各厂商开发板的独立示例工程,通过子模块引用中间件,覆盖裸机(bare-metal)、RTOS 等多种运行形态。 |
| 信息提取工具(Info Extractor) | 从嵌入式固件(ELF / MAP)中提取设备描述信息的命令行工具,以 Python wheel 形式分发。 |
| 上位机工具(Host Tool) | 连接中间件与提取工具的桌面联调 / 展示软件,发布文件集中分发。 |
| 文档枢纽(Docs) | 仓库架构、工具链工作流、术语表等开发者文档的统一入口。 |
| 仓库 | 角色 | 简介 |
|---|---|---|
connecting_middleware |
基础层 · 交付仓 | 存储 Connecting 中间件的库文件,便于直接引用到 demo 或项目 |
connecting_demos |
集合层 · 总仓 | 所有板卡示例的总入口,以子模块聚合各独立板卡仓库 |
demo-stm32f407-alientek-discovery-baremetal |
应用层 · 示例 | 适用于正点原子 STM32F407 探索者开发板的 Connecting 中间件裸机(bare-metal)示例工程 |
info-extractor |
工具层 · 交付仓 | 设备信息提取工具:从嵌入式固件提取设备描述信息,以 wheel 形式分发 |
connecting-host-tool |
工具层 · 交付仓 | 上位机(Host Tool):连接中间件与提取工具的桌面调试 / 展示工具 |
connecting-docs |
文档枢纽 | 仓库架构、工具链工作流与术语等开发者文档 |
命名规范:板卡仓库名格式
demo-<芯片>-<板卡>-<业务类型>,业务类型段为baremetal/rtos/app-<名称>。
git clone --recursive https://gitee.com/connecting_repo/connecting_demos.git
cd connecting_demos/demo-stm32f407-alientek-discovery-baremetal
setup_libs.bat armcc-m4
info-extractor 文档。connecting-host-tool。以上任一步都需要细节?完整带命令的工作流见
QUICK_START.md,排错与高频疑问见faq.md。
不知道从哪看起?根据你的身份选一条路径:
| 你是谁 | 你的目标 | 第一步该看什么 |
|---|---|---|
| 🧑💻 新手 / 评估者 | 先跑通一块板子,看效果 | ① 本页「快速开始」→ ② connecting_demos → ③ connecting-host-tool 用户指南
|
| 🛠️ 应用开发者 | 把中间件移植到自己的产品 | ① connecting_middleware 的 docs/public/application_developer_guide.md → ② API_Reference.md / driver_spec.md → ③ 参考 demo
|
| 🔧 工具使用者 | 生成 DCM / 用上位机联调 | ① info-extractor 文档 → ② connecting-host-tool 用户指南 |
| 🧰 维护者 / 贡献者 | 理解架构、扩展仓库 | ① connecting-docs 仓库地图 → ② repository-architecture.md → ③ workflow.md
|
| 🤖 AI 编程助手 | 按任务定位文档 | 直接读 connecting-docs 的 workflow.md,按步骤打开对应仓库 docs/public
|
不确定自己属于哪类?默认从「快速开始」走一遍,跑通即理解全貌。 完整工作流步骤见
QUICK_START.md,高频问题见faq.md。
| 平台 | 芯片型号 | 开发板 | 状态 |
|---|---|---|---|
| Cortex-M4 | STM32F407 | 正点原子探索者 | ✅ 已支持 |
| Cortex-M4 | STM32G431 | 各类 G431 开发板 | 🔄 验证中 |
| C2000 | TMS320F280049C | LaunchPad | 📋 规划中 |
connecting_repo/(组织)
│
├── connecting-docs/ ← 文档枢纽(你在这里看到的导航)
│
├── connecting_demos/ ← 集合层(子模块指针)
│ └── demo-stm32f407-...-baremetal/ → 子模块引用 connecting_middleware
│
├── connecting_middleware/ ← 基础层(库 + 头 + 配置)
│
├── info-extractor/ ← 工具层(提取工具)
└── connecting-host-tool/ ← 工具层(上位机)
中间件以预编译库形式从 Gitee Release 分发(不进 git),demo 通过子模块引用头文件与配置,编译前用 setup_libs.bat 拉取对应平台的库。
各仓库采用不同许可证,详见对应仓库 LICENSE 文件:
connecting_middleware:LGPL-3.0(库文件)connecting_demos / demo-*:MITconnecting-docs:MITconnecting-host-tool:GPL-3.0 + 商业例外(开源免费版受 GPLv3 约束;商业用途需单独商业授权证书)info-extractor:专有(源码不公开,DCM 规范禁止修改后冒用)上位机采用 GPLv3 + 商业例外双许可,明确区分「开源免费版」与「付费商业版」;外部代码贡献的版权与商业再授权条款见
CONTRIBUTING.md。