TPA · TI Project Assistant
一行命令,从 SysConfig 图形化配置出发,自动生成完整的 TI MSPM0 嵌入式项目。告别 CCS 手动配置。
仓库地址:GitHub | PyPI
安装
1
| pip install ti-project-assistant
|
验证:
快速开始
1 2 3 4 5 6 7 8 9
| mspm0-init
cmake --build build -j$(nproc)
code .
|
修改配置后:
功能特性
| 特性 |
说明 |
| 🔌 芯片支持 |
SDK 中全部 58 款 MSPM0 芯片,运行时动态发现 |
| 🛠 调试器 |
CMSIS-DAP / XDS110 / JLink / none 四种模式 |
| 📁 项目结构 |
分层 inc//src/,config/ 隔离自动生成代码 |
| ⚙️ CMake |
file(GLOB_RECURSE) 递归链接,arm-none-eabi-gcc 工具链 |
| 🖥 VSCode 集成 |
全套 .vscode/ 配置(launch / tasks / settings / c_cpp_properties) |
| 🔄 regenerate |
修改引脚后一键重生成,手写代码不受影响 |
| 🐙 Git |
检测到 Git 时自动 init + .gitignore |
| 🔘 状态栏按钮 |
配合 Task Buttons 插件,SysConfig / Build / Flash / Clean 一键操作 |
| 🌍 跨平台 |
Windows / Linux,PATH 优先自动发现工具链 |
| 🔍 自检 |
mspm0-init --check 一键诊断环境状态 |
环境依赖速查
Windows
| 依赖 |
版本 |
安装方式 |
| Python |
≥ 3.8 |
winget install Python.Python.3.12 |
| ARM GCC |
13.x+ |
安装时勾选”添加到 PATH”,或将 bin\ 手动加入 PATH |
| CMake |
≥ 3.13 |
winget install Kitware.CMake |
| Ninja |
任意 |
winget install Ninja-build.Ninja |
| TI MSPM0 SDK |
2.x |
解压到 C:\ti\ |
| TI SysConfig |
1.x |
解压到 C:\ti\ |
| OpenOCD |
1.5.x |
TI VSCode 插件自动安装 / TI 官网手动下载(CMSIS-DAP/XDS110 必装,JLink 可选) |
| arm-none-eabi-gdb |
14.x |
MSys2: pacman -S mingw-w64-x86_64-gdb-multiarch / ARM 官方安装包自带 / TI VSCode 插件 |
| JLink |
7.x+ |
安装后需手动将 bin\ 目录加入 PATH(JLink 用户必装) |
| Git |
任意 |
winget install --id Git.Git -e --source winget |
Linux
| 依赖 |
版本 |
安装方式 |
| 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 |
1.5.x |
TI VSCode 插件自动安装 / TI 官网手动下载(CMSIS-DAP/XDS110 必装,JLink 可选) |
| arm-none-eabi-gdb |
14.x |
sudo apt install gdb-multiarch / ARM 官方安装包自带 / TI VSCode 插件 |
| JLink |
7.x+ |
.deb 包自动加入 PATH / .tar.gz 需手动添加 bin/ 到 PATH 或设 JLINK_DIR |
CLI 快速索引
创建项目
1 2 3 4
| mspm0-init mspm0-init new -n my_project mspm0-init new myboard.syscfg -n proj -d xds110 mspm0-init new --device MSPM0G3507 --package "LQFP-48(PT)" -n bare
|
重新生成
1 2 3 4
| mspm0-init regenerate mspm0-init regenerate /path/to/proj mspm0-init regenerate -d jlink mspm0-init regenerate -d none
|
自检
1 2 3
| mspm0-init --check mspm0-init --version mspm0-init --help
|
全部参数
1 2 3 4 5 6 7 8 9 10 11 12 13
| mspm0-init new [syscfg] -n NAME [选项]
-n, --name NAME 项目名称(必填) -o, --output DIR 输出目录 -s, --sdk PATH MSPM0 SDK 路径 --sysconfig PATH SysConfig 安装目录 -d, --debugger TYPE cmsis-dap(默认)| xds110 | jlink | none --jlink-path PATH JLink 安装路径 --device DEVICE 手动指定芯片型号 --package PACKAGE 手动指定封装 --dry-run 预览模式,不创建文件 --no-build 跳过构建验证 --no-git 跳过 Git 初始化
|
环境变量
全部可选。不设置时 TPA 从 PATH 自动发现。
| 变量 |
Windows 默认值 |
Linux 默认值 |
说明 |
MSPM0_SDK |
C:\ti\mspm0_sdk_* |
~/ti/mspm0_sdk_* |
SDK 根目录 |
SYSCONFIG_DIR |
C:\ti\sysconfig_* |
~/ti/sysconfig_* |
SysConfig 目录 |
TI_ROOT |
C:\ti |
~/ti |
TI 工具根目录 |
OPENOCD_DIR |
PATH → TI 插件缓存 |
PATH → ~/.config/... |
OpenOCD 目录 |
GDB_DIR |
PATH → TI 插件缓存 |
PATH → ~/.config/... |
GDB 目录 |
JLINK_DIR |
PATH → C:\Program Files\SEGGER\JLink |
PATH → /opt/SEGGER/JLink* |
JLink 目录 |
工具解析优先级
1 2 3 4 5
| 1. CLI 参数 (--openocd / --gdb / --jlink-path) ← 最高优先级 2. 环境变量 (OPENOCD_DIR / GDB_DIR / JLINK_DIR) 3. PATH (shutil.which) ← 推荐方式 4. TI 插件缓存 (~\.config\Texas Instruments\...) 5. 遗留路径 (TI_ROOT / CCS_BASE)
|
生成的项目结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| my_project/ ├── CMakeLists.txt ├── .gitignore ├── 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/ # 不参与编译的产物 ├── build/ # 构建输出(ELF/HEX/BIN/MAP) └── .vscode/ ├── launch.json # 调试配置 ├── tasks.json # 构建 + SysConfig + Flash ├── settings.json # Task Buttons 状态栏按钮 └── c_cpp_properties.json # IntelliSense
|
依赖关系
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mspm0-init ├── SysConfig 1.x ────────────── 生成 ti_msp_dl_config.c/h、链接脚本 ├── MSPM0 SDK 2.x │ ├── driverlib.a ──────────── 硬件抽象层 │ ├── startup_*.c ──────────── 中断向量表 + 启动代码 │ ├── CMSIS Core ───────────── Cortex-M0+ 寄存器定义 │ └── DeviceFamily.h ──────── 芯片系列宏(58 款芯片动态发现) ├── arm-none-eabi-gcc ────────── 交叉编译 ├── CMake + Ninja ───────────── 构建系统 ├── OpenOCD (可选) ──────────── GDB Server + 烧录(cmsis-dap / xds110 必装) ├── JLink 7.x+ (可选) ───────── 原生 GDB Server + 烧录(jlink 模式,≥ 7.70) ├── arm-none-eabi-gdb ────────── 源码级调试 ├── Git ──────────────────────── 版本控制 └── VS Code + Cortex-Debug ──── IDE 集成
|
支持的芯片
SDK 中的全部 58 款 MSPM0 芯片开箱即用。 TPA 通过运行时解析 SDK 自动发现芯片参数,无需手动添加型号。
| 系列 |
代表型号 |
| MSPM0Gx5xx |
G3507, G3519, G3107, G1507, G1519 … |
| MSPM0Gx1xx |
G1105, G1106 … |
| MSPM0Lx3xx |
L1306, L1345, L2228 … |
| MSPM0Lx2xx |
L1227, L2227, L1228 … |
| MSPM0Cx1xx |
C1105, C1106 … |
| MSPM0Hx2xx |
H3215 … |
📖 详细教程
本文档是快速索引参考。如需完整的手把手教程(含碎碎念、环境变量图形配置指南、Linux udev 规则、常见问题排查等),请参阅:
👉 Ti-Project-Assistant 使用教程