s32flashtool-read-mcuid
Read the MCU identification from a supported NXP S32 device using S32FlashTool command-line application (CLI) over a supported communication interface.
Files3
View on GitHubSKILL.mdskills/s32flashtool/s32flashtool-read-mcuid/SKILL.md
GitHubS32FlashTool Read MCU ID
Read the MCU identification from a supported NXP S32 target.
This skill supports one execution mode:
- CLI mode using:
- the
cli_build_<op>+cli_executeactions - via
cli_build_mcuid(no flash algorithm)
- the
There is no GUI / RPC mode for MCU ID reading; the S32FlashTool GUI RPC API exposes no
documented action that returns the MCU ID. See references/GUI.md for the explicit refusal.
This skill is operation-focused:
- it explains what the MCU-ID read operation needs
- why this operation is CLI-only
- how to execute the read
- how to validate the outcome
Shared references
- Apply shared rules from
s32flashtool-agent-rules-minimal/SKILL.md. - Use
s32flashtool-workflow-index/SKILL.mdto select the correct operation skill. - For the CLI flow, see
references/CLI.md. - For the (intentional) absence of a GUI/RPC flow, see
references/GUI.md.
Quickstart
- Confirm mode see
## Mode selection policy(CLI-only; refuse GUI/RPC requests) - Gather inputs see
## Required inputs(use discovery calls from## Preconditions)- MCUID-specific: use
cli_build_mcuid; do not pass an algorithm; iftargetis unknown, discover it first
- MCUID-specific: use
- Execute
references/CLI.md - Validate see
## Validation loop
Do not escalate to programming operations from this skill.
Mode selection policy
This skill is CLI-only.
- Regardless of what the user requests, MCU ID reading uses the CLI flow.
- If the user explicitly asks for GUI, window, or RPC, explain that MCU ID reading is
not exposed by the S32FlashTool GUI RPC API (see
references/GUI.md) and offer the CLI path. - Do not invent an undocumented GUI/RPC action, and do not substitute
flash.clickGetId(that reads the flash JEDEC ID, not the MCU ID). - An active GUI/RPC session does not create a GUI MCUID path; dispatch the CLI mcuid call and coordinate serial-port access with the user.
When to use this skill
Use this skill when the user wants to:
- identify the connected board or SoC
- verify communication before flash operations
- confirm device family / silicon revision
- perform a simple read-only connectivity test
When not to use this skill
Do not use this skill when:
- the user wants to read flash contents
-> uses32flashtool-read-flash - the user wants to read RCON/EEPROM
-> uses32flashtool-read-rcon - the user wants to read the flash device identification (JEDEC/flash ID)
-> uses32flashtool-get-flash-id - the user wants to program/write/upload a file
-> uses32flashtool-upload-file-to-flash - the user wants GUI automation through RPC
-> not available for MCUID; this skill is CLI-only
Preconditions
Before reading MCU ID, ensure:
- The S32FlashTool installation folder is known.
- The target binary exists and matches the processor family.
- The communication interface is known:
uartcanethernet
- The communication endpoint is known:
- for UART: e.g.
COM31orCOM3,ftdi
- for UART: e.g.
- The board is connected and powered.
- The board is in the correct boot mode for S32FlashTool communication.
- For serial/UART workflows, the board is typically placed in serial boot mode.
- If a different target/algorithm was used previously, a board reset / restart into serial boot may be necessary.
- No flash algorithm is passed for MCU ID reading.
Recommended preparation
- Discover candidate target binaries if the family is not yet confirmed:
list_platform_filesaction (bin_type="target").
- Check supported target combinations if compatibility is uncertain:
list_platform_filesaction (bin_type="supported") and read the matchingsupported_<platform>_devices.txt.
- Discover the communication port if the user did not provide one:
- the
cli_build_<op>+cli_executeactions withlist_ports=true.
- the
- Confirm the installation is reachable if unsure:
cli_execute(version query).
Required inputs
Collect or confirm the following:
s32flashtool_foldertargetinterfaceport- operation (fixed:
mcuid_cliviacli_build_mcuid)
Optional inputs
preview_onlyextra_args
Input rules
- Do not guess the target binary if the board family is unknown.
- Do not guess the communication port if the user did not provide it.
- Do not pass an algorithm; MCU ID reading does not consume a flash algorithm.
- Do not pass
addr/size; MCU ID reading does not address a memory range. - Use absolute file paths for the installation folder and target file.
- If
targetis missing, discover target binaries first. - If
portis missing, discover ports first. - Do not silently switch to a GUI/RPC flow; none exists for this operation.
- Do not use raw shell commands instead of MCP tools.
- Do not claim a valid MCUID without checking the tool response.
GUI / RPC flow
There is no GUI / RPC flow for MCU ID reading. See references/GUI.md for the explicit refusal and the correct response when the user asks for GUI/RPC operation.
CLI flow
See references/CLI.md for the full CLI flow, parameters, and example MCP calls.
Validation loop
After a successful MCU ID read, validation may include:
- checking that the command completed successfully
- inspecting the returned MCU family / variant
- inspecting the returned silicon revision
- using the result to confirm target-family selection for later operations
Practical validation examples
- confirm the output looks like a valid MCUID line, e.g.
MCU: S32N_55 Rev: B0 - use the returned family/variant to select a matching target for later operations
- if the output is empty, an error, or banner text, treat it as a failed read
Failure modes
Recognize these failures from tool output and respond accordingly. MCU ID read is non-destructive, so a bounded retry after correcting inputs is acceptable. On any failure, report the exact tool output before proposing next steps.
| # | Failure | Symptom | Interpretation | Response |
|---|---|---|---|---|
| 1 | Wrong / incompatible target | Command fails immediately, or returns an implausible/empty identification | target does not match the connected device family |
Re-run list_platform_files action (bin_type="target") and (bin_type="supported") and consult supported_<platform>_devices.txt. Do not guess a new target. |
| 2 | Communication / boot-mode / path errors | Port not open; no response; file-not-found on target path |
Wrong port, board not in serial boot, previous session used a different target/algo, or bad paths |
Verify s32flashtool_folder, target path, interface, port, boot mode. Confirm serial boot mode. If a different algorithm ran previously, ask the user to reset the board into serial boot. |
| 3 | Algorithm mistakenly passed | Tool rejects the invocation or behaves unexpectedly when an algorithm is supplied | MCU ID reading does not consume a flash algorithm | Remove the algorithm argument and retry. Never pass algorithm, addr, or size to the mcuid command. |
| 4 | GUI/RPC requested | User asks for GUI/window/RPC MCU ID reading | No documented RPC action returns the MCU ID | Explain that MCUID is not exposed by the GUI RPC API (see references/GUI.md). Do not substitute flash.clickGetId. Offer the CLI path and ask before switching modes. |
| 5 | Missing required input | s32flashtool_folder, target, interface, or port not provided |
Cannot dispatch a safe, non-guessing call | Stop and ask, or run the matching discovery call from ## Preconditions. Do not guess. |
| 6 | Unrecognized output | Output is empty, an error, or banner text rather than an MCUID line | Read did not produce a valid identification | Report the raw output and stop. Do not fabricate a decode. |
Guardrails
Scope
- Only read the MCU identification via the
cli_build_<op>+cli_executeactions (CLI) viacli_build_mcuid. There is no documented GUI/RPC flow for MCUID; do not invent one. - Do not pass a flash algorithm to this operation.
- Do not read flash, RCON, or program from this skill. Recovery: hand off to the correct sibling skill.
Destructive actions
- Read-only. Must never escalate to programming without an explicit user request that switches skills.
Refuse-and-escalate
- Missing/ambiguous installation folder, target binary, interface, or port: stop and ask.
- If the target binary is unknown, discover it via
list_platform_filesaction (bin_type="target") or by inspectings32flashtool_folder; do not guess. - Board not in serial boot mode, or a previous session used a different target/algorithm: ask the user to reset the board into serial boot before retrying.
- GUI/RPC: MCUID is not exposed by the S32FlashTool GUI RPC API. Do not invent an RPC action or
substitute
flash.clickGetId; offer the CLI path and ask before switching modes.
Output contract
- Return the MCUID exactly as the tool reports it, plus (when clearly derivable) the family and silicon revision. Do not fabricate decoding when the tool does not provide it. Do not claim a valid MCUID without a positive tool response.
Out of scope
- Reading flash contents. Use
s32flashtool-read-flash. - Reading RCON/EEPROM. Use
s32flashtool-read-rcon. - Reading the flash device identification (JEDEC/flash ID). Use
s32flashtool-get-flash-id. - Programming a file into flash. Use
s32flashtool-upload-file-to-flash. - GUI/RPC automation for MCUID (no documented RPC flow exists).
- Passing a flash algorithm to the MCUID command.
- Escalating from MCUID read to any programming operation without a fresh user request.
- also see
## When not to use this skill