TI CMake Manager
一键将 TI MSPM0 Sysconfig 工程的输出文件转换为可编译的 CMake + GCC + Ninja 工程。
功能
- 自动解析
device.opt 提取 MCU 型号(如 __MSPM0G3507__)
- 在 SDK 中自动匹配对应的启动文件(startup)
- 生成 2 个 CMake 文件(所有工具链配置已内联在根 CMakeLists.txt 中):
SYSCONFIG/CMakeLists.txt —— 驱动库、启动文件、链接脚本、MCU 宏全部自动配置
- 根目录
CMakeLists.txt —— PROJECT_NAME 自动设为工程文件夹名,TODO 占位符引导你填写自己的源文件
- 生成完毕后自动执行 CMake 配置(
cmake --fresh -B build -G Ninja)
- 自动联动 CMake Tools 扩展,配置完成后状态栏、项目大纲即时同步
- 未找到 SYSCONFIG 文件夹或 SDK 路径时,弹出文件夹选择器引导用户指定
- 一键导入/移除 FreeRTOS,纯 SDK 引用(不拷贝源码),自动配置
FreeRTOSConfig.h
安装依赖
扩展设置
| 设置项 |
类型 |
默认值 |
说明 |
ti-cmake-manager.sdkPath |
string |
"" |
TI MSPM0 SDK 的 source 文件夹路径(必填) |
ti-cmake-manager.sysconfigFolder |
string |
"./SYSCONFIG" |
Sysconfig 输出文件夹,相对于工作区根目录 |
ti-cmake-manager.freeRTOS.heapScheme |
string |
"heap_4" |
FreeRTOS 内存管理方案(heap_1 ~ heap_5) |
使用方式
1. 前提条件
- 你已经用 TI Sysconfig 工具生成了配置文件,输出到工程根目录的
./SYSCONFIG 文件夹(或其他自定义文件夹)
./SYSCONFIG 中至少包含 device.opt 和 device_linker.lds
2. 配置扩展
打开 VS Code 设置(Ctrl + ,),搜索 ti-cmake-manager:
- sdkPath:填入 SDK 的
source 文件夹路径
例:D:/Softwares/ti/mspm0_sdk_2_10_00_04/source
- sysconfigFolder:默认
./SYSCONFIG,一般无需修改
3. 一键生成
按 Ctrl + Shift + P → 执行命令:
TI CMake Manager: Generate CMake Files
插件将依次:
- 解析
device.opt 获取 MCU 型号
- 在 SDK 中查找匹配的启动文件
- 生成 2 个 CMake 文件(已存在的文件会弹窗询问是否覆盖)
- 自动运行
cmake --fresh -B build -G Ninja 完成配置
- 联动 CMake Tools 刷新项目状态
4. 填入你自己的代码
打开根目录 CMakeLists.txt,在 TODO 标记处填入:
- 源文件:
target_sources 块
- 头文件路径:
target_include_directories 块
- 自定义宏:
target_compile_definitions 块
5. (可选)导入 FreeRTOS
按 Ctrl + Shift + P → 执行命令:
TI CMake Manager: Import FreeRTOS
插件将自动:
- 从 SDK 复制并修改
FreeRTOSConfig.h(自动配置时钟频率、堆大小等)
- 在项目根目录创建
FreeRTOS/CMakeLists.txt(所有源文件纯 SDK 引用)
- 在根
CMakeLists.txt 中插入 add_subdirectory(FreeRTOS)
- 将编译宏
NO_RTOS 替换为 FREERTOS_ENABLED
如需移除 FreeRTOS,执行:
TI CMake Manager: Remove FreeRTOS
6. 构建
配置完成后,使用 CMake Tools 的构建按钮,或在终端执行:
cmake --build build
工程结构(生成后)
你的工程/
├── CMakeLists.txt ← 由插件生成(PROJECT_NAME = 文件夹名)
├── SYSCONFIG/ ← Sysconfig 输出(用户已有)
│ ├── CMakeLists.txt ← 由插件生成(SDK 路径、启动文件、链接脚本)
│ ├── device.opt
│ ├── device_linker.lds
│ └── ti_msp_dl_config.c
├── FreeRTOS/ ← (可选)Import FreeRTOS 后生成
│ ├── CMakeLists.txt
│ └── FreeRTOSConfig.h
├── build/ ← cmake 配置后生成
└── .vscode/
└── settings.json ← 插件自动写入的路径设置
常见问题
Q: 提示"SDK path is not configured"?
A: 在 VS Code 设置中填写 ti-cmake-manager.sdkPath,指向 SDK 的 source 文件夹。
Q: CMake 报 "is not able to compile a simple test program"?
A: 这是 CMake 4.x 的编译器测试问题。插件已通过在 CMakeLists.txt 中 project() 之前设置 CMAKE_C_COMPILER_WORKS 解决。如果仍然报错,请确保 arm-none-eabi-gcc 在 PATH 中,并删除 build 文件夹后重试。
Q: 启动文件找不到?
A: 检查 SDK 路径是否正确指向 source 目录(应包含 ti/devices/msp/m0p/startup_system_files/gcc/)。