一行命令,从 SysConfig 图形化配置出发,自动生成完整的 TI MSPM0 嵌入式项目。告别 CCS 手动配置。
pip install ti-project-assistant安装完成后,mspm0-init 命令即可在终端中使用(Windows / Linux / macOS)。
验证安装:
mspm0-init --version # 或 -V,输出版本号确认安装成功# 1. 用 SysConfig GUI 配好芯片和引脚,保存 .syscfg 到空目录,然后:
mspm0-init
# 2. 构建
cmake --build build -j$(nproc)
# 3. 调试(VSCode)
code .
# 按 F5 → 选择 CMSIS-DAP / XDS110 / JLink修改配置后:
mspm0-init regenerate # 仅更新生成文件,src/ 下手写代码安全无虞| 子命令 | 用途 |
|---|---|
| (无参数) | 自动发现当前目录 .syscfg,原地创建项目 |
new |
从 .syscfg 创建新项目 |
regenerate |
修改引脚/外设配置后重新生成代码,不改动手写代码 |
check |
自检开发环境:arm-gcc、CMake、SysConfig、SDK、OpenOCD 等工具链状态 |
--version / -V |
显示当前版本号,用于验证安装 |
脚本自动完成:
- 调用 SysConfig CLI 生成
ti_msp_dl_config.c/h、链接脚本 - 动态解析 SDK,自动匹配 全部 58 款 MSPM0 芯片的启动文件、driverlib、内存布局(无需硬编码)
- 创建标准分层项目目录结构(
config/、src/app/、src/modules/、src/utils/) - 生成
CMakeLists.txt(file(GLOB_RECURSE)递归链接,arm-none-eabi-gcc 工具链) - 生成
.vscode/全套配置(launch.json/tasks.json/settings.json/c_cpp_properties.json) - 内置
⚙️ 打开 TI SysConfigVSCode 任务,一键启动图形化配置 - 支持 Task Buttons 插件,状态栏直接点击 SysConfig / Build / Clean
- 支持 4 种调试器:CMSIS-DAP、XDS110、JLink(原生 Segger GDB Server)、无调试器
- 跨平台工具自动发现:可执行工具优先从 PATH 读取(Windows/Linux/macOS 一致),环境变量作为回退
- 自动 cmake configure + build 验证
- 自动
git init+ 写入.gitignore(检测到 Git 已安装时启用,可用--no-git跳过)
| 依赖 | 版本 | 安装方式 |
|---|---|---|
| Python | ≥ 3.8 | 系统自带,或 sudo apt install python3 |
| ARM GCC | 13.x | sudo apt install gcc-arm-none-eabi |
| CMake | ≥ 3.13 | sudo apt install cmake |
| Ninja | 任意 | sudo apt install ninja-build |
| TI MSPM0 SDK | 2.x | 下载 → 解压到 ~/ti/ |
| TI SysConfig | 1.x | 下载 → 解压到 ~/ti/ |
| OpenOCD (TI 定制) | 1.3.x | 从 PATH 自动发现,或 TI VSCode 插件自动安装 |
| arm-none-eabi-gdb | 14.x | 从 PATH 自动发现,或 apt install gdb-multiarch,或 TI VSCode 插件 |
| JLink (可选) | 7.x+ | SEGGER 官网 → 安装后自动加入 PATH |
一行装完基础工具:
sudo apt install python3 gcc-arm-none-eabi cmake ninja-build| 依赖 | 版本 | 安装方式 |
|---|---|---|
| Python | ≥ 3.8 | python.org 或 winget install Python.Python.3.12 |
| ARM GCC | 13.x | ARM 官网 → 把 bin\ 加入 PATH |
| CMake | ≥ 3.13 | cmake.org 或 winget install Kitware.CMake |
| Ninja | 任意 | ninja-build.org 或 winget install Ninja-build.Ninja |
| TI MSPM0 SDK | 2.x | 下载 → 解压到 C:\ti\ |
| TI SysConfig | 1.x | 下载 → 解压到 C:\ti\ |
| OpenOCD (TI 定制) | 1.3.x | 从 PATH 自动发现,或 TI VSCode 插件自动安装 |
| arm-none-eabi-gdb | 14.x | 从 PATH 自动发现,或 TI VSCode 插件自动安装 |
| JLink (可选) | 7.x+ | SEGGER 官网 → 安装后自动加入 PATH |
全部可选。不设置时脚本从 PATH 自动发现可执行工具,或搜索 TI 工具目录。
| 变量 | Linux 默认值 | Windows 默认值 | 说明 |
|---|---|---|---|
MSPM0_SDK |
~/ti/mspm0_sdk_* |
C:\ti\mspm0_sdk_* |
MSPM0 SDK 根目录 |
SYSCONFIG_DIR |
~/ti/sysconfig_* |
C:\ti\sysconfig_* |
SysConfig 安装目录 |
TI_ROOT |
~/ti |
C:\ti |
所有 TI 工具的根目录 |
OPENOCD_DIR |
PATH → ~/.config/.../openocd/* |
PATH → C:\ti\ccs_base\...\openocd.exe |
OpenOCD 目录(PATH 优先,此处为回退) |
GDB_DIR |
PATH → ~/.config/.../gdb/* |
PATH → C:\ti\ccs_base\...\arm-none-eabi-gdb.exe |
GDB 目录(PATH 优先,此处为回退) |
JLINK_DIR |
PATH → /opt/SEGGER/JLink* |
PATH → C:\Program Files\SEGGER\JLink |
JLink 安装目录(PATH 优先,此处为回退) |
1. CLI 参数 (--openocd / --gdb / --jlink-path) ← 显式指定
2. 环境变量 (OPENOCD_DIR / GDB_DIR / JLINK_DIR) ← 手动配置
3. PATH (shutil.which) ← 跨平台自动发现
4. TI 插件缓存 / 平台特定路径 ← 兜底扫描
5. 历史遗留路径 (TI_ROOT / CCS_BASE) ← 最后手段
Linux — 加入 ~/.zshrc 或 ~/.bashrc:
export MSPM0_SDK=~/ti/mspm0_sdk_2_10_00_04
export SYSCONFIG_DIR=~/ti/sysconfig_1.27.1Windows — 在系统环境变量或 PowerShell 中设置:
$env:MSPM0_SDK = "C:\ti\mspm0_sdk_2_10_00_04"
$env:SYSCONFIG_DIR = "C:\ti\sysconfig_1.27.1"
$env:TI_ROOT = "C:\ti"# 最简单:在只有 .syscfg 的目录下直接运行
mspm0-init
# 自动发现当前目录的 .syscfg
mspm0-init new -n my_project
# 手动指定 syscfg 文件
mspm0-init new myboard.syscfg -n my_project -d xds110
# 无 syscfg,纯裸机起点
mspm0-init new --device MSPM0G3507 --package "LQFP-48(PT)" -n bare_start
# 跳过 Git 初始化
mspm0-init new -n my_project --no-gitmspm0-init regenerate # 在项目目录内执行
mspm0-init regenerate /path/to/proj # 指定项目路径regenerate 会备份旧文件到 .sysconfig_backup/,可通过 --no-backup 跳过。
更换调试器无需重建项目:
mspm0-init regenerate -d xds110 # 从 CMSIS-DAP 切换到 XDS110
mspm0-init regenerate -d jlink # 切换到 JLink(原生 Segger GDB Server)mspm0-init new [syscfg] -n NAME [选项]
-n, --name NAME 项目名称(必填)
-o, --output DIR 输出目录(默认 ./<name>/)
-s, --sdk PATH MSPM0 SDK 路径
--sysconfig PATH SysConfig 安装目录
-d, --debugger TYPE cmsis-dap(默认)| xds110 | jlink | none
--jlink-path PATH JLink 安装路径(可选,PATH 优先)
--device DEVICE 手动指定芯片,如 MSPM0G3507
--package PACKAGE 手动指定封装,如 LQFP-48(PT)
--dry-run 预览模式,不创建文件
--no-build 跳过 cmake 构建验证
--no-git 禁用 Git 自动初始化
mspm0-init regenerate [项目目录] [选项]
-d, --debugger TYPE 更换调试器:cmsis-dap | xds110 | jlink | none
--jlink-path PATH JLink 安装路径(可选,PATH 优先)
--no-build 跳过重编译
--no-backup 不备份旧文件
--dry-run 预览模式
--no-git 禁用 Git 自动初始化
通用选项:
--version, -V 显示版本号并退出
--check 自检开发环境
-h, --help 显示完整帮助
my_project/
├── CMakeLists.txt # CMake 构建定义
├── .gitignore # Git 忽略规则(自动生成)
├── my_project.syscfg # 原始 SysConfig 配置
├── config/
│ ├── ti_msp_dl_config.h # 自动生成 — 请勿手动编辑
│ ├── ti_msp_dl_config.c # 自动生成 — 请勿手动编辑
│ ├── device_linker.lds # 链接脚本
│ └── device.opt # 编译选项
├── inc/
│ ├── main.h # 应用头文件
│ ├── app/ # 应用层头文件
│ ├── driver/ # 驱动头文件
│ ├── modules/ # 功能模块头文件
│ └── utils/ # 工具头文件
├── src/
│ ├── main.c # 应用入口(在此写代码)
│ ├── app/ # 应用层实现
│ ├── driver/ # 驱动实现
│ ├── modules/ # 功能模块实现
│ └── utils/ # 工具实现
├── lib/ # 本地静态库
├── excluded/ # 不参与编译的 SysConfig 产物
├── build/ # 构建输出(ELF / HEX / BIN / MAP)
└── .vscode/
├── launch.json # 调试配置(CMSIS-DAP / XDS110 / JLink)
├── tasks.json # 构建任务 + 打开 SysConfig
├── settings.json # Task Buttons 状态栏按钮
└── c_cpp_properties.json # IntelliSense 配置
SDK 中的全部 58 款 MSPM0 芯片开箱即用。 无需手动添加芯片型号。
工具通过运行时解析 SDK 的 DeviceFamily.h、启动文件目录、预编译链接脚本和 macros.tirex.json 自动发现芯片参数,包括 Flash/SRAM 布局、启动文件、driverlib 路径等。
只要 TI MSPM0 SDK 支持的芯片,mspm0-init 就能自动识别。
支持的系列包括:
| 系列 | 代表型号 |
|---|---|
| MSPM0Gx5xx | G3507, G3519, G3107, G1507, G1519 … |
| MSPM0Gx1xx | G1105, G1106 … |
| MSPM0Lx3xx | L1306, L1345, L2228 … |
| MSPM0Lx2xx | L1227, L2227, L1228 … |
| MSPM0Cx1xx | C1105, C1106 … |
| MSPM0Hx2xx | H3215 … |
mspm0-init
├── SysConfig 1.x ────────────── 生成 ti_msp_dl_config.c/h、linker script
├── MSPM0 SDK 2.x
│ ├── driverlib.a ──────────── 硬件抽象层
│ ├── startup_*.c ──────────── 中断向量表 + 启动代码
│ ├── CMSIS Core ───────────── Cortex-M0+ 寄存器定义
│ └── DeviceFamily.h ──────── 芯片系列宏
├── arm-none-eabi-gcc 13.x ──── 交叉编译
├── CMake + Ninja ───────────── 构建系统
├── OpenOCD 1.3.x (可选) ────── GDB Server + 烧录(cmsis-dap / xds110 必装)
├── JLink 7.x+ ──────────────── 原生 GDB Server + 烧录(jlink 模式,推荐 ≥ 7.70)
├── arm-none-eabi-gdb 14.x ──── 源码级调试
├── Git ──────────────────────── 版本控制(自动初始化)
└── VS Code + Cortex-Debug ──── IDE 集成
git clone git@github.com:AndyYang12345/Ti-Project-Assistant.git
cd ti-project-assistant
# 可编辑安装(推荐,修改即时生效)
pip install -e .版本号由 git tag 驱动(hatch-vcs),无需手动修改源文件。构建时自动从 tag 提取版本。
git tag vX.Y.Z && git push origin vX.Y.Z推送 tag 后 GitHub Actions 自动构建 wheel 并发布到 PyPI。无需手动运行 build 或 twine。