Skip to main content

TI MSPM0 one-click project init tool — bootstrap embedded projects from SysConfig

Project description

TI Project Assistant(TI 项目助手)

English version

Platform Python License MSPM0 Version

一行命令,从 SysConfig 图形化配置出发,自动生成完整的 TI MSPM0 嵌入式项目。告别 CCS 手动配置。


安装

pip install ti-project-assistant

安装完成后,mspm0-init 命令即可在终端中使用(Windows / Linux / macOS)。


快速开始

# 1. 用 SysConfig GUI 配好芯片和引脚,保存 .syscfg 到空目录,然后:
mspm0-init

# 2. 构建
cmake --build build -j$(nproc)

# 3. 调试(VSCode)
code .
# 按 F5 → 选择 CMSIS-DAP 或 XDS110

修改配置后:

mspm0-init regenerate    # 仅更新生成文件,src/ 下手写代码安全无虞

功能

子命令 用途
(无参数) 自动发现当前目录 .syscfg,原地创建项目
new .syscfg 创建新项目
regenerate 修改引脚/外设配置后重新生成代码,不改动手写代码

脚本自动完成:

  • 调用 SysConfig CLI 生成 ti_msp_dl_config.c/h、链接脚本
  • 解析芯片型号,自动映射 SDK 中的启动文件、driverlib 库
  • 创建标准项目目录结构
  • 生成 CMakeLists.txt(arm-none-eabi-gcc 工具链)
  • 生成 .vscode/ 三件套(launch.json / tasks.json / c_cpp_properties.json
  • 自动 cmake configure + build 验证

依赖安装

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 (TI 定制) 1.3.x CCS Theia 安装
arm-none-eabi-gdb 14.x 随 OpenOCD 一起安装

一行装完基础工具:

sudo apt install python3 gcc-arm-none-eabi cmake ninja-build

Windows

依赖 版本 安装方式
Python ≥ 3.8 python.orgwinget install Python.Python.3.12
ARM GCC 13.x ARM 官网 → 把 bin\ 加入 PATH
CMake ≥ 3.13 cmake.orgwinget install Kitware.CMake
Ninja 任意 ninja-build.orgwinget install Ninja-build.Ninja
TI MSPM0 SDK 2.x 下载 → 解压到 C:\ti\
TI SysConfig 1.x 下载 → 解压到 C:\ti\
OpenOCD (TI 定制) 1.3.x CCS Theia 安装
arm-none-eabi-gdb 14.x 随 OpenOCD 一起安装

环境变量

全部可选。不设置时脚本会自动搜索 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 ~/.config/.../openocd/* C:\ti\ccs_base\DebugServer\bin\openocd.exe OpenOCD 目录或可执行文件
GDB_DIR ~/.config/.../gdb/* C:\ti\ccs_base\DebugServer\bin\arm-none-eabi-gdb.exe GDB 目录

推荐配置

Linux — 加入 ~/.zshrc~/.bashrc

export MSPM0_SDK=~/ti/mspm0_sdk_2_10_00_04
export SYSCONFIG_DIR=~/ti/sysconfig_1.27.1

Windows — 在系统环境变量或 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

重新生成配置

mspm0-init regenerate               # 在项目目录内执行
mspm0-init regenerate /path/to/proj # 指定项目路径

regenerate 会备份旧文件到 .sysconfig_backup/,可通过 --no-backup 跳过。

全部参数

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 | none
  --device DEVICE        手动指定芯片,如 MSPM0G3507
  --package PACKAGE      手动指定封装,如 LQFP-48(PT)
  --dry-run              预览模式,不创建文件
  --no-build             跳过 cmake 构建验证

mspm0-init regenerate [项目目录] [选项]

  --no-build             跳过重编译
  --no-backup            不备份旧文件
  --dry-run              预览模式

生成的项目结构

my_project/
├── CMakeLists.txt              # CMake 构建定义
├── my_project.syscfg           # 原始 SysConfig 配置
├── ti_msp_dl_config.h          # 自动生成 — 请勿手动编辑
├── ti_msp_dl_config.c          # 自动生成 — 请勿手动编辑
├── device_linker.lds           # 链接脚本
├── inc/
│   ├── main.h
│   └── driver/                 # 你的驱动头文件
├── src/
│   ├── main.c                  # 应用入口
│   └── driver/                 # 你的驱动实现
├── lib/                        # 本地静态库
├── excluded/                   # 不参与编译的 SysConfig 产物
├── build/                      # 构建输出(ELF / HEX / BIN / MAP)
└── .vscode/
    ├── launch.json             # 调试配置(CMSIS-DAP / XDS110)
    ├── tasks.json              # 构建任务
    └── c_cpp_properties.json   # IntelliSense 配置

支持的芯片

MSPM0G3507 MSPM0G3505 MSPM0L1306

在脚本的 CHIP_MAP 字典中添加新条目即可支持更多芯片。


依赖关系

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 + 烧录
├── arm-none-eabi-gdb 14.x ──── 源码级调试
└── VS Code + Cortex-Debug ──── IDE 集成

开发

git clone git@github.com:AndyYang12345/Ti-Project-Assistant.git
cd ti-project-assistant

# 可编辑安装(推荐,修改即时生效)
pip install -e .

# 或手动安装到 PATH(Linux)
ln -s $(pwd)/mspm0-init ~/bin/mspm0-init

# 或手动安装到 PATH(Windows)
# 将 ti-project-assistant 目录加入系统 PATH

许可证

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ti_project_assistant-0.1.0.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ti_project_assistant-0.1.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file ti_project_assistant-0.1.0.tar.gz.

File metadata

  • Download URL: ti_project_assistant-0.1.0.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for ti_project_assistant-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9a5e078fdee4b942f2402acb1c0a65b2291339f3b4a591e335943411656825b0
MD5 7c5d295ecd9129a37cb2fa871b37fa33
BLAKE2b-256 ca0dbe42aae2e20ba4261c22084be8d9e6aa1f84c24df27c6511cc9ddd17ebc9

See more details on using hashes here.

File details

Details for the file ti_project_assistant-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ti_project_assistant-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca485768ee86ef6c039dd5cab75ebb3050034b8b037759f639d9ea9ed9d25070
MD5 ab75959ab5183fdbd6570d549e488d6f
BLAKE2b-256 cbf734dd4df1464dc4229a29d61f1ea8bcc043f8b2a55c12e8f0e3cdbef0933c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page