by Ibook000
🏆 专为电赛(NUEDC)及天猛星开发板(MSPG3507/G3519)打造的 TI MSPM0 AI 编程神器 / Agent Skill for Codex & Claude Code
# Add to your Claude Code skills
git clone https://github.com/Ibook000/mspm0-skillmspm0-skill is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Ibook000. 🏆 专为电赛(NUEDC)及天猛星开发板(MSPG3507/G3519)打造的 TI MSPM0 AI 编程神器 / Agent Skill for Codex & Claude Code. It has 5 GitHub stars.
mspm0-skill's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/Ibook000/mspm0-skill" and add it to your Claude Code skills directory (see the Installation section above). mspm0-skill ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
mspm0-skill is primarily written in Python. It is open-source under Ibook000 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh mspm0-skill against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Use this skill for TI MSPM0 firmware projects that use SysConfig and DriverLib through CCS / CCS Theia, Keil/uVision, or CMake + Arm GNU Toolchain + OpenOCD workflows. It is intended for Codex, Claude Code, OpenCode, OpenClaw, and similar CLI/editor agents.
.syscfg or system.syscfg, editable source files, generated ti_msp_dl_config.h, and the active project entrypoint: targetConfigs/*.ccxml for CCS, *.uvprojx plus scatter file for Keil/uVision, or CMakeLists.txt plus OpenOCD .cfg files for CMake/GCC/OpenOCD.python scripts/check_syscfg.py <project-dir> when this skill is available..syscfg metadata: device, package, SDK product, SysConfig version, modules, instances, pins, clocks, and interrupts.ti_msp_dl_config.h for macro names, IRQ names, instance names, and the exact SysConfig init function spelling..syscfg, examples/*/manifest.json, TI SDK examples, or source/ti/driverlib/.meta/*.syscfg.js..syscfg and application-code surface..syscfg as the source of truth for pinmux, peripheral setup, clocks, interrupts, DMA ownership, and generated initialization.Debug/ti_msp_dl_config.c, Debug/ti_msp_dl_config.h, the project-root ti_msp_dl_config.c / ti_msp_dl_config.h pair in Keil layouts, device_linker.cmd, Objects/, Listings/, object files, maps, or .out files..syscfg metadata such as @cliArgs, @v2CliArgs, @versions, --device, --package, and --product.ti_msp_dl_config.h and use the local macros and the local init function spelling, such as SYSCFG_DL_init()..syscfg settings. If a requested feature requires a larger rewrite, explain why before making it when possible.When the project targets the custom MSPM0G3519 development board (--device "MSPM0G3519" --package "LQFP-64(PM)"):
Completely unusable — never assign to any peripheral:
PA18 — BSL caution:
Already occupied by board peripherals — do not reassign without user confirmation:
| Pin(s) | Occupied by |
|---|---|
| PA0, PA1 | Software I2C — OLED (SDA/SCL), board has 2.2 kΩ pull-ups; I2C bus can share additional devices |
| PA10, PA11 | UART0 TX/RX — onboard CH340; header pins can be shared |
| PA27, PA28 | Software I2C — LSM6DS3 IMU (SCL/SDA) |
| PB6, PB7, PB8, PB9 | SPI1 — W25Q128 Flash (CS/MISO/MOSI/SCLK) |
| PB17, PB18 | UART7 TX/RX — onboard 2.4 GHz wireless module |
| PB21 | User button ENTER (PULL_UP, active-low) |
| PB22 | Onboard LED (active-low, PULL_DOWN) |
| PB23 | Wireless link-status input (PULL_DOWN) |
| PB26 | TIMA1 CCP0 — WS2812 RGB LED PWM |
| PB27 | TIMG6 CCP1 — buzzer PWM |
Optional peripherals — can be released if not used:
When the user asks to choose a free pin, prefer pins not listed above. If the user explicitly requests an occupied pin, explain the conflict and ask for confirmation before proceeding.
When the user explicitly says the board is LCKFB Tianmengxing MSPM0G3507:
main.c, empty.c, or a small number of files. It is acceptable to make narrowly scoped edits there.app/, bsp/, components/, core/, drivers/, hal/, middleware/, or tasks/. First identify ownership boundaries before adding peripherals or changing control logic.system.syscfg and ti_msp_dl_config.c / ti_msp_dl_config.h as the configuration source surface for Keil-based MSPM0 projects that keep SysConfig outputs at the project root..uvprojx as the project entrypoint, the scatter file as the linker source of truth, and Objects/, Listings/, *.uvoptx, build logs, and generated outputs as inspection-only unless a request explicitly targets them.CMakeLists.txt, toolchain files, and OpenOCD .cfg files as the project entrypoints for CMake/GCC/OpenOCD projects.cmake --build cmake-build-debug --target <target>.unable to find a matching CMSIS-DAP device, report that as probe discovery failure rather than firmware failure.targetConfigs/*.ccxml when the active project uses OpenOCD instead of DSLite.FreeRTOSConfig.h, FreeRTOS.h, task.h, xTaskCreate, or vTaskStartScheduler are present, treat the project as RTOS-aware.If the user omits important hardware parameters, do not silently choose risky values.
examples/ or local TI SDK examples, then tell the user which defaults were applied.Example: if the user asks "add a timer interrupt", ask which timer and period they want, and recommend a starter such as TIMG at 1 ms or 10 ms if they are unsure.
When asked to drive an external module, sensor, motor driver, servo, display, radio, or custom board:
Read references only when needed:
references/sysconfig_ccs_workflow.md: .syscfg editing, CCS / Keil / CMake project layout, SysConfig CLI, gmake, CMake build, DSLite/J-Link, and OpenOCD.references/driverlib_runtime_rules.md: DriverLib usage, interrupts, clock tree, delays, and common runtime mistakes.references/sdk_schema_lookup.md: how to find official SysConfig fields and examples in the local MSPM0 SDK.references/hardware_validation_notes.md: verified Tianmengxing MSPM0G3507 lessons, HFXT warnings, flash/reset behavior, and real-board caveats.references/ccs_dss_debug.md: CCS Debug Server Scripting (ccs-dss) debug workflow, breakpoints, register reads, and current limitations.Use examples/ as the main source for reusable tested patterns. Prefer scripts/list_examples.py to inspect available examples before opening individual example files.
Each reusable example should contain:
examples/<name>/
├─ example.syscfg
├─ README.md
├─ manifest.json
└─ src/
└─ source files copied from the minimal relevant project surface
Do not require users to drop full CCS projects into examples/. Use scripts/capture_example.py to extract a compact example package from a real project.
python scripts/check_syscfg.py <project-dir>: static project check for .syscfg, generated files, pins, init spelling, project shape, CCS/Keil/CMake/OpenOCD clues, build output, target config, and validation hints.python scripts/list_examples.py: list packaged examples from examples/*/manifest.json.python scripts/capture_example.py <project-dir> --name <example-name> --include <glob>: package selected source files and .syscfg from a user project into examples/<example-name>/.python scripts/index_syscfg_examples.py <mspm0-sdk-root> --board LP_MSPM0G3507 --module UART: search local TI SDK examples and module metadata.python scripts/serial_console.py --list: list serial ports.python scripts/ccs_dss_debug.py <project-dir> probe --leave-running: connect through CCS Debug Server Scripting, read reset/register state, verify the configured .ccxml debug path, and continue the target before disconnecting.For the verified CH340 setup, use python scripts/serial_console.py -p COM6 -b 115200 --timestamp --duration 10 after closing other serial tools such as VOFA+.
The verified CCS flash path is DSLite / UniFlash with J-Link. For automated flashing after clock-tree changes, prefer DSLite System Reset:
dslite -c <target.ccxml> -e -r 2 -u <project.out>
For CMake/GCC/OpenOCD projects, use the project's existing flash target or explicit OpenOCD config. Keep the backend explicit and report probe-discovery errors separately from build success.
The currently packaged automated debug helper is the CCS Debug Server Scripting backend (ccs-dss):
python scripts/ccs_dss_debug.py <project-dir> probe --leave-running
python scripts/ccs_dss_debug.py <project-dir> run-to-symbol --symbol main --load --reset "System Reset"
Use it only for CCS / CCS Theia / UniFlash-style projects with a valid targetConfigs/*.ccxml. The physical probe is selected by .ccxml, so the backend is not inherently J-Link-only; it can also work with CCS-supported probes such as XDS110 when the project configuration matches the hardware.
Do not treat ccs-dss as the OpenOCD path. For CMake/GCC/OpenOCD projects, keep future debugging under a separate openocd-gdb backend. Debug actions can halt the CPU, so report that risk before using breakpoints or register inspection on real-time control hardware.
本 Skill 对立创·天猛星 MSPM0G3507 开发板进行了深入的引脚和外设适配,特别是在全国大学生电子设计竞赛(NUEDC)等高强度开发场景中,可极大降低底层配置的试错成本:
references/MSPM0G3507_Pinout_Mapping.md 提供完整引脚复用和避坑指南。电赛四天三夜,时间就是生命。最怕引脚配置冲突烧板子、误改生成代码程序跑飞和重头写外设库找 Bug。 本 Skill 深度适配 Codex、Claude Code 等现代化主流终端与 IDE Agent,使其瞬间具备资深 TI 嵌入式工程师的直觉与严谨:
ti_msp_dl_config.h 等生成文件,从源头切断“编译过了但程序跑飞”的底层逻辑灾难。.syscfg,检查外设冲突、时钟配置、缺失引脚与构建产物,让 Agent 在代码提交前自检保命。有了 MSPM0 Skill 加持,你的 Codex / Claude Code 就是无情的干活与审查机器:
直接将本仓库 clone 到本地或项目中,或者在 Codex 中加载 Skill:
# 在终端中全局安装或放入项目目录
git clone https://github.com/Ibook000/mspm0-skill.git
# 在 Codex 中即可直接调用或关联 SKILL.md
在项目根目录拉取仓库后,对 Claude Code 输入以下指令加载环境规则:
git clone https://github.com/Ibook000/mspm0-skill.git
# 终端提示词:
"Please load the MSPM0 Agent Skill from ./mspm0-skill/SKILL.md to setup my project."
如需在其他编辑器中使用,可直接将 SKILL.md 的内容导入或复制使用。
告知 Agent 你的需求,Agent 会自动修改 .syscfg 文件生成硬件配置,而不会去手动涂改底层驱动代码。
🗣️ “帮我配一下天猛星板载的 PB22 呼吸灯(PWM),顺便把 PA10/PA11 串口打通跑个 Hello World”
利用 scripts/check_syscfg.py 静态诊断工具,Agent 能够在构建前自动发现关键问题:
SYSCFG_DL_init() 调用与外设宏命名。不论你们团队习惯用 Code Composer Studio (CCS / CCS Theia)、Keil/uVision,还是极客风的 CMake + GCC + OpenOCD,本 Skill 通通原生适配。
mspm0-skill/
├── SKILL.md # Skill 核心规则文件(Codex / Claude Code 识别入口)
├── README.md # 项目主文档
├── scripts/ # 辅助脚本工具箱
│ ├── check_syscfg.py # SysConfig 静态检查与防坑审计工具
│ ├── list_examples.py # 列出内置示例工程与外设映射
│ ├── index_syscfg_examples.py # SysConfig 模块模式索引脚本
│ ├── capture_example.py # 从现成工程中提取与打包 Example 脚本
│ ├── ccs_dss_debug.py # CCS DSS 命令行调试与自动烧录集成
│ └── serial_console.py # 嵌入式串口通信与日志控制台
├── references/ # 硬件防坑与硬核参考文档
│ ├── MSPM0G3507_Pinout_Mapping.md # 天猛星防砖引脚映射与避坑指南
│ ├── hardware_validation_notes.md # 硬件调试玄学问题排查手册
│ ├── sysconfig_ccs_workflow.md # 官方标准 SysConfig & CCS 工作流参考
│ ├── driverlib_runtime_rules.md # TI DriverLib 运行时调用避坑法则
│ ├── pin_occupation_table.md # 引脚占用与复用一览表
│ ├── ccs_dss_debug.md # 自动化调试与自动化测试指南
│ └── sdk_schema_lookup.md # SDK 语法与 SysConfig Schema 查找指南
├── examples/ # 可直接移植/抄作业的开箱即用工程示例
│ ├── empty_project # 基础工程骨架 (SYSCTL + Board)
│ ├── led_blink # GPIO 基础控制 (PB22 LED)
│ ├── pwm_breath_led # 80MHz 高阶 PWM 呼吸灯
│ ├── uart_blocking_tx # 80MHz 串口阻塞式收发 (PA10/PA11)
│ └── oledui_full_g3519 # 80MHz 综合示例 (OLED UI + LSM6DS3 陀螺仪 + QEI 编码器 + 按键 + 游戏)
└── assets/ # 常用配置代码片段 (Snippets) 与 README 媒体资源
└── snippets/ # .syscfg 常用外设配置速查片段
check_syscfg.py)检查当前项目是否存在引脚冲突、生成文件修改风险或配置文件缺失:
python3 scripts/check_syscfg.py examples/pwm_breath_led
list_examples.py)快速检索当前仓库中可供参考的代码示例:
python3 scripts/list_examples.py
serial_console.py)在 Agent 命令行环境下直接监控单片机串口输出:
python3 scripts/serial_console.py --port /dev/tty.usbserial-xxx --baud 115200
在 references/ 目录中,我们为你准备了电赛备赛的防砖与玄学排查指南:
在 examples/ 目录下: