connecting 项目仓库,保存中间件库,代码信息提取工具和相关demo
组织介绍

Connecting

面向嵌入式系统的通信中间件及配套工具链开源项目。

Connecting 是一套面向嵌入式开发的调试工具链。它通过 设备描述包(DCM) 机制,让上位机自动识别设备的能力(变量、服务、事件),无需为每款设备手动编写调试界面。

  • 一句话价值:连接设备,即刻调试。不写上位机代码,不改设备固件逻辑。
  • 提供跨芯片平台的预编译通信中间件库板卡示例工程设备信息提取工具上位机调试工具,帮助开发者快速集成稳定可靠的嵌入式通信能力,降低从裸机到 RTOS、从 Cortex-M 到 C2000 的移植成本。

什么是 Connecting

嵌入式开发中,调试环节往往存在重复劳动。Connecting 把"为设备写调试代码"这件事,变成"导入一个描述文件"。

为什么需要 Connecting

常见问题 传统做法 Connecting 的做法
查看变量值 加 printf → 重编译 → 烧录 上位机直接读取,无需改动代码
调整运行参数 修改代码 → 重编译 → 烧录 → 验证 在线修改,实时生效
观察数据变化趋势 导出数据 → Excel 画图 实时波形,即开即看
不同项目 / 芯片 重复编写上位机代码 导入 DCM,界面自动生成

核心功能

功能 说明
实时波形 连续显示变量变化趋势,支持多通道叠加
变量读写 在线查看和修改变量值,无需重新编译
服务调用 远程调用设备端函数(如启动、停止、参数设置)
调试打印 接收设备端打印信息,替代串口助手
设备信息 读取设备型号、版本、编译时间等元信息
故障录波(规划中) 触发条件时自动记录前后波形,定位偶发问题
多平台支持 已适配 Cortex-M(STM32F4 / G4),C2000 等平台规划中

如何工作

嵌入式工程(含中间件)

   编译 + 提取工具

  设备描述包(DCM)

   Connecting 上位机

  自动生成调试界面:波形 + 变量 + 服务

三个核心环节:

  1. 集成中间件:在设备工程中嵌入 Connecting 中间件(预编译库 + 头文件)
  2. 提取描述包:编译后运行提取工具,生成 DCM 文件
  3. 导入调试:上位机导入 DCM,自动生成调试界面,开始调试

我们的组件

组件 说明
通信中间件(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-<名称>


快速开始

  1. 获取示例工程(含中间件子模块):
    git clone --recursive https://gitee.com/connecting_repo/connecting_demos.git
    cd connecting_demos/demo-stm32f407-alientek-discovery-baremetal
  2. 下载中间件预编译库(在各 demo 工程内):
    setup_libs.bat armcc-m4
  3. 编译烧录:使用 Keil 打开工程,编译并烧录到开发板。
  4. 设备信息提取:编译后运行提取工具生成 DCM,参见 info-extractor 文档。
  5. 启动上位机联调:打开 Connecting Host Tool,导入 DCM 文件,开始调试。参见 connecting-host-tool

以上任一步都需要细节?完整带命令的工作流见 QUICK_START.md,排错与高频疑问见 faq.md


快速导航(按角色)

不知道从哪看起?根据你的身份选一条路径:

你是谁 你的目标 第一步该看什么
🧑‍💻 新手 / 评估者 先跑通一块板子,看效果 ① 本页「快速开始」→ ② connecting_demos → ③ connecting-host-tool 用户指南
🛠️ 应用开发者 把中间件移植到自己的产品 connecting_middlewaredocs/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-docsworkflow.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-*:MIT
  • 文档 connecting-docs:MIT
  • 上位机 connecting-host-toolGPL-3.0 + 商业例外(开源免费版受 GPLv3 约束;商业用途需单独商业授权证书)
  • 提取工具 info-extractor专有(源码不公开,DCM 规范禁止修改后冒用)

上位机采用 GPLv3 + 商业例外双许可,明确区分「开源免费版」与「付费商业版」;外部代码贡献的版权与商业再授权条款见 CONTRIBUTING.md


成就
2
Star
0
Fork
成员(1)
Flex.Li

搜索帮助