MSPM0 Skill

Скилл mspm0-ccs ведет плату TI MSPM0 от правки .syscfg до сборки, прошивки и отладки на реальном железе, с примерами и скриптами.

  • 378 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Скрипты запускают сборку, прошивку и отладчик, то есть пишут во флеш-память подключенной платы.
  • При блокировке чипа возможны стирание и сброс к заводским настройкам, но только после явного разрешения пользователя.
Все причины и проверки

mc3545dada/mspm0-skill

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/mspm0-skill

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скрипты запускают сборку, прошивку и отладчик, то есть пишут во флеш-память подключенной платы.
  • При блокировке чипа возможны стирание и сброс к заводским настройкам, но только после явного разрешения пользователя.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

MSPM0 Skill учит агента работать с проектами микроконтроллеров MSPM0 от Texas Instruments. Агент читает и правит `.syscfg`, а сгенерированные `ti_msp_dl_config.c` и `ti_msp_dl_config.h` не трогает. Затем он определяет среду проекта: CCS, Keil либо CMake с GCC и OpenOCD, и выбирает сборку, прошивку и отладку под подключенный зонд. В скилл входят скрипты на Python: проверка проекта и зонда, запуск SysConfig CLI во временной папке, консоль последовательного порта, отладка через CCS-DSS или через OpenOCD с GDB. Шесть готовых примеров показывают светодиод, ШИМ, таймер с прерыванием и UART, в том числе с DMA.

Для кого. Студентам и инженерам, которые пишут прошивки под платы MSPM0, в том числе для студенческих конкурсов по электронике.

Подходит, если

  • На плате MSPM0G3507 надо запустить светодиод на PB22, а пины и тактирование пока не настроены.
  • В готовом проекте на CCS или Keil появилась задача добавить UART с DMA, не сломав остальную конфигурацию.
  • Прошивка не стартует, и непонятно, отвечает ли зонд J-Link, XDS110 или DAPLink.
  • Коэффициенты регулятора подбирают по данным, которые плата отправляет в последовательный порт.
  • Нужен пример из SDK Texas Instruments по конкретному модулю, например по UART для LP-MSPM0G3507.

Не подходит, если

  • Прошивка пишется для STM32, ESP32 или другой платформы без SysConfig.
  • Плата отличается от проверенной, и нет времени на пробный запуск светодиода или таймера.
  • Чип заблокирован защитой, и вы рассчитываете, что агент сам сотрет его без вашего решения.
  • На машине нет SDK, SysConfig и отладчика, и вы ждете, что скилл установит их сам.

Пример запроса к агенту

Используй скилл mspm0-ccs: проверь `.syscfg` и toolchain проекта, настрой мигание светодиода PB22 раз в секунду, собери проект и прошей плату.

Ограничения

Реальную проверку скилл прошел на плате MSPM0G3507 производства Lichuang с CCS Theia, CLion, J-Link и DAPLink. Для других плат, корпусов и версий SDK проверки на железе не было. SDK, SysConfig, CCS, UniFlash, OpenOCD и GDB скилл не устанавливает, их готовят заранее. Скриптам нужен Python 3.10 или новее, для последовательного порта еще и `pyserial`. Если чип заблокирован, агент прекращает автоматические действия и просит снять защиту вручную; стирание допустимо только после явного разрешения.

Как отключить. Удалите папку `~/.claude/skills/mspm0-ccs/` или ее аналог для другого агента. Файлы проекта, которые агент уже изменил, остаются: верните их из системы контроля версий.

Частые вопросы

Какие платы и среды проверены?

Плата MSPM0G3507 от Lichuang, среды CCS Theia, Keil, VS Code и CLion, зонды J-Link, XDS110 и DAPLink, SysConfig 1.26.2 и 1.28.0 CLI. На другом сочетании сначала запустите мигание светодиода, UART или таймер.

Что делать, если `detect_probe.py` ничего не нашел?

Пустой результат говорит лишь о том, что метод зонд не распознал; подключение он не опровергает. Часть устройств DAPLink и XDS110 видна как составное USB-устройство или виртуальный порт, поэтому дальше агент смотрит список портов командой `serial_console.py --list`.

Можно ли смешивать отладку через CCS и через OpenOCD?

Нет. CCS-DSS и OpenOCD с GDB — две независимые цепочки, и их конфигурации не смешивают. К одному зонду не запускают несколько операций OpenOCD одновременно.

Какие примеры входят в скилл?

Шесть: `empty_project`, `led_blink`, `pwm_breath_led`, `timer_irq_led`, `uart_blocking_tx` и `uart_dma_tx_irq_rx`. Агент берет из них нужные поля `.syscfg` и приемы, а структуру вашего проекта оставляет прежней.

Как проверить обмен по UART?

Закройте программы, занявшие порт, например VOFA+, и запустите `serial_console.py` с портом и скоростью, например `-p COM6 -b 115200`. Опция `--send` отправит строку, а `--duration` задаст время прослушивания.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл Claude Code для МК MSPM0G3507 и камеры K230: карта выводов, драйверы, ПИД и разборы задач электронных соревнований.

СкиллМинимальный доступ321Звезды репозитория

24 скилла для прошивок микроконтроллеров: сборка, прошивка, отладка GDB, UART, Modbus, CAN, логические анализаторы и статанализ

СкиллШирокий доступ1,1 тыс.Звезды репозитория

1c-lsp-mcp-skill

1с-lsp-mcp-skill

Российский стек

Менеджер bsl-language-server для нескольких проектов 1С с доступом через MCP или скиллы и CLI, без Docker

MCP-серверРасширенный доступ26Звезды репозитория

CLI и MCP для поиска и установки скиллов: проверяет SKILL.md линтером и отмечает обращения к сети, скриптам и секретам

CLIРасширенный доступ142Звезды репозитория

Проверяемый реестр скиллов с CLI для установки в два десятка агентов и MCP-сервером для поиска скиллов на лету

СкиллРасширенный доступ7,1 тыс.Звезды репозитория

Десятки скиллов инженера mizchi: аудит фронтенда, AWS, Cloudflare, SQL, Playwright и OpenTelemetry, ставятся по одному

СкиллРасширенный доступ419Звезды репозитория

Коротко о README

Репозиторий собран из правил, скриптов и примеров, проверенных на реальных проектах. В разделе об использовании даны запросы агенту для мигания светодиода и проверки UART, а также советы: начинать новый проект в режиме планирования и давать агенту даташиты внешних модулей. Конкурсная задача 2024 года вынесена в отдельный репозиторий и два видео.

Бейдж для README

Исходный SKILL.md

---
name: mspm0-ccs
description: Tool-neutral CLI agent rules for TI MSPM0 development with Code Composer Studio, Keil/uVision, CMake/GCC/OpenOCD, SysConfig, and DriverLib. Use when an agent needs to inspect or modify MSPM0 projects, edit .syscfg configuration, avoid generated SysConfig/build files, use DriverLib APIs, validate SysConfig output, package reusable MSPM0 examples, or work on NUEDC-style MSPM0 embedded firmware.
---

# MSPM0 Agent Skill

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 Claude Code, OpenCode, OpenClaw, Continue, Cursor, Codex, and similar CLI/editor agents.

## Default Workflow

1. Locate the project `.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.
2. Run `python scripts/check_syscfg.py <project-dir>` when this skill is available.
3. Read `.syscfg` metadata: device, package, SDK product, SysConfig version, modules, instances, pins, clocks, and interrupts.
4. Inspect generated `ti_msp_dl_config.h` for macro names, IRQ names, instance names, and the exact SysConfig init function spelling.
5. Before adding unfamiliar SysConfig fields, inspect the user's existing `.syscfg`, `examples/*/manifest.json`, TI SDK examples, or `source/ti/driverlib/.meta/*.syscfg.js`.
6. Modify the smallest relevant `.syscfg` and application-code surface.
7. By default, make the smallest evidence-based `.syscfg` edit and run `python scripts/run_sysconfig.py <project-dir>` before rebuilding. Use CCS SysConfig MCP only when the user explicitly requests it or the current session already exposes a confirmed SysConfig MCP tool.
8. If flashing or debugging, run `python scripts/detect_probe.py` or `python scripts/check_syscfg.py <project-dir> --probe` before selecting a backend. Confirm the configured probe matches the connected hardware and prefer a System Reset after programming.

## Core Rules

- Treat `.syscfg` as the source of truth for pinmux, peripheral setup, clocks, interrupts, DMA ownership, and generated initialization.
- Prefer SysConfig + DriverLib for GPIO, UART, PWM, Timer, ADC, I2C, SPI, DMA, and clock setup.
- Do not hand-edit generated outputs such as `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.
- Preserve `.syscfg` metadata such as `@cliArgs`, `@v2CliArgs`, `@versions`, `--device`, `--package`, and `--product`.
- Do not guess generated names. Read `ti_msp_dl_config.h` and use the local macros and the local init function spelling, such as `SYSCFG_DL_init()`.
- Do not invent SysConfig fields, enum values, device metadata, board names, package names, or tool versions. Validate against local examples, SDK metadata, or SysConfig CLI.
- New SysConfig releases may explicitly recommend the CCS SysConfig MCP. This skill does not probe for or require that unverified backend by default: use it only when the user asks for MCP or the current session already exposes a confirmed SysConfig MCP tool. Otherwise use a minimal manual edit followed immediately by standalone CLI validation, and state that this does not provide the MCP's interactive mutation feedback.
- Preserve unrelated user code, comments, copyright headers, project layout, and existing `.syscfg` settings. If a requested feature requires a larger rewrite, explain why before making it when possible.
- Do not change device, package, SDK, compiler, CCS version, board, or debug probe without user confirmation.
- If the user asks only to "flash" or "debug", do not silently assume J-Link, XDS110, CMSIS-DAP/DAPLink, or ST-Link. Detect the connected probe first. If detection is unknown, multiple probes are connected, or the project configuration conflicts with the physical probe, stop and ask the user which backend to use.
- Treat an empty probe-detector result as inconclusive, not proof that no probe is connected. Some DAPLink/CMSIS-DAP and XDS110 devices appear only as Windows `USBDevice`, `HIDClass`, or `Ports` children. Inspect OS USB/PnP devices and serial ports (`python scripts/serial_console.py --list` on Windows), then try the intended backend's read-only probe/list command or ask the user before concluding the probe is absent.
- If SysConfig emits warnings, report them separately from build/flash success. Do not call a warning-producing generation "clean".
- If hardware behavior is not verified on a connected board, say that validation stopped at source, SysConfig, or build level.

## Board-Specific Pin Caution

When the user explicitly says the board is LCKFB Tianmengxing MSPM0G3507:

- Avoid choosing A21/PA21, A23/PA23, A02/PA02, and A18/PA18 for ordinary user-requested pin assignments unless the user asks for those pins or the local project already deliberately uses them.
- PA10 and PA11 are also marked as special, but Tianmengxing routes them as the default UART pins. When choosing pins for a UART, consider PA10 TX and PA11 RX first if they are free and match the requested UART instance. For GPIO, PWM, SPI, I2C, timer, or other non-UART uses, continue to treat PA10/PA11 as special pins and prefer other available pins.
- If the user asks to drive or reuse one of these special pins for a non-default purpose, remind them of the Tianmengxing board note. In particular, explain that repurposing PA10/PA11 can conflict with or remove the board's default UART connection.
- Do not silently move an existing project away from these pins. Explain the board caveat first, then ask or proceed according to the user's intent.

## Project Shape Checks

- Simple projects usually keep most logic in `main.c`, `empty.c`, or a small number of files. It is acceptable to make narrowly scoped edits there.
- Framework projects often have multiple source directories such as `app/`, `bsp/`, `components/`, `core/`, `drivers/`, `hal/`, `middleware/`, or `tasks/`. First identify ownership boundaries before adding peripherals or changing control logic.
- Do not assume every MSPM0 project is CCS-like or single-file. A framework project can still use CCS, Keil, or CMake/GCC/OpenOCD.

Сообщить о проблеме

Foxx AIMSPM0 Skill
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.