s32ct-mcu-sdk-lookup
Discovers which MCU parts and which PlatformSDK / RTD versions the installed NXP S32 Configuration Tools MCU data package actually supports, so the `mcu`, `sdk_version` and `platform_sdk` arguments re
Files1
View on GitHubSKILL.mdskills/s32ct/s32ct-mcu-sdk-lookup/SKILL.md
GitHubS32CT MCU / SDK Lookup
Enumerate the MCUs and PlatformSDK folders installed in the S32 Configuration
Tools MCU data package. This is the top of the discovery chain: it answers
"which mcu values does this install support?" and "which SDK versions does
that part have?" so the arguments that the configure, GTM and package-scoped
lookup actions demand become known-good rather than guessed. Both actions are
read-only and never invoke the launcher.
When to use
Use this skill when:
- The user asks which MCUs / parts are available, installed, or supported ("which MCUs can I configure?", "is S32K344 installed?").
- You need a legal
mcuvalue before anempty_configbootstrap, as32ct.gtm_create_from_usecasecall, or anys32ct.lookup_*query. - The user asks which SDK / RTD / PlatformSDK versions exist for a given part ("what sdk_version should I pass for S32K344?").
- A configure or GTM action failed with an unknown-MCU or unknown-SDK error and you need to surface the valid choices.
Do not use this skill for:
- Legal pins / drivers / enum values inside a package -> use the package-scoped
lookups (
s32ct.lookup_drivers,s32ct.lookup_arrays,s32ct.lookup_enum_values,s32ct.lookup_pin_signal). - Inspecting what an existing
.mexalready contains -> use thes32ct.inspect_*actions. - Probing whether S32CT is installed at all / which install was selected ->
use
s32ct.env_status/s32ct.env_installs.
Available Capabilities
| Type | Name | Invocation |
|---|---|---|
| MCP tool | s32ct.lookup_mcus |
nxp_s32ct_execute_action(action_name="s32ct.lookup_mcus", params={}) |
| MCP tool | s32ct.lookup_sdks |
nxp_s32ct_execute_action(action_name="s32ct.lookup_sdks", params={"mcu": "S32K344"}) |
| Resource | skill://nxp_s32ct/s32ct-mcu-sdk-lookup |
Auto-loaded on trigger |
Quickstart
1. List the installed MCUs
Tool: nxp_s32ct_execute_action
Action: s32ct.lookup_mcus
Input: {} # optional: mcu_data_root override
Output: {kind: "list_mcus",
result: {mcu_count, mcus: [...]},
source: "<root>/processors"}
2. List the SDK folders for a chosen MCU
Tool: nxp_s32ct_execute_action
Action: s32ct.lookup_sdks
Input: {"mcu": "S32K344"} # mcu from step 1
Output: {kind: "list_sdks", mcu: "S32K344",
result: {mcu, sdk_count, sdks: [...]},
source: "<root>/processors/S32K344"}
3. Feed the result into the next action
Use the chosen mcu (and an SDK-derived sdk_version / platform_sdk) in a
configure bootstrap or GTM template call, for example:
nxp_s32ct_execute_action(
action_name="s32ct.gtm_create_from_usecase",
params={"mcu": "S32K344", "sdk_version": "...", "usecase": "...",
"output_dir": "<out>"},
)
Configuration
| Name | Type | Required | Description |
|---|---|---|---|
mcu |
string | lookup_sdks only |
MCU folder name under processors/, case-sensitive (e.g. S32K344). Discover it with s32ct.lookup_mcus. |
mcu_data_root |
string | no | Override the MCU data root. Defaults to the root of the install selected at startup; see s32ct.env_status. |
Guardrails
Scope
- Reads only the
processors/folder (and its immediatePlatformSDK_*subfolders) under the resolvedmcu_data_root. Modifies nothing; safe to call repeatedly.
Destructive actions
- None. Both actions are strictly read-only and never launch the tool.
Refuse-and-escalate
- No
processors/folder undermcu_data_root-> the action returns a NOT_FOUND error naming the probed path; checks32ct.env_statusto confirm an MCU data package is installed and the root is correct. lookup_sdkswith an MCU that has no folder -> NOT_FOUND listing the available MCUs; re-runs32ct.lookup_mcusand pick a listed name.- Never invent MCU or SDK names: quote only the folder names the action returned.
Note on SDK names
lookup_sdksreturns on-disk folder names (e.g.PlatformSDK_S32K3). The exact-SDKVersionstring a configure action expects may differ; treat the result as the discovery hint, not necessarily the verbatimsdk_version.
Validation loop
s32ct.lookup_mcussucceeds andresult.mcusis non-empty (a populated install). An empty list or NOT_FOUND means the data package ormcu_data_rootneeds attention -> escalate vias32ct.env_status.- The
mcupassed tos32ct.lookup_sdksappears in the step-1 list. s32ct.lookup_sdksreturnssdk_count >= 1for that MCU before you rely on asdk_version/platform_sdkdownstream.
Out of scope
- Package-scoped legal-value queries (pins, drivers, arrays, enum values).
- Inspecting or editing a
.mex. - Selecting or switching the active S32CT install (restart-time concern; see
s32ct.env_installs).
See Also
s32ct-pins-info,s32ct-peripherals-info,s32ct-clocks-info- per-tool read-only data-model queries once the(mcu, package)is known.s32ct-gtm-create-from-usecase- consumes themcu/sdk_versionthis skill discovers.s32ct-distributions- how the install root (and thusmcu_data_root) is discovered and selected.