s32ct-dcf-facade
Headless facade that fronts the DCF (Device Configuration Format) tool of NXP S32 Configuration Tools via `nxp_s32ct_configure(action="dcf", ...)`. Triggers when users ask to import a binary DCF image
SKILL.mdskills/s32ct/s32ct-dcf-facade/SKILL.md
GitHubS32CT DCF - Headless Facade
Thin per-tool facade over the generic s32ct-cli skill that exposes only the
flags relevant to the DCF (Device Configuration Format) tool of S32
Configuration Tools. This skill fronts the nxp_s32ct_configure MCP tool with
action="dcf". All shared launcher plumbing, validation, and auto-retry
behavior is inherited from s32ct-cli.
What DCF is
DCF has the same purpose as DCD - generate an image using the format and constraints in the Boot ROM reference manual - but instead of write/check/nop commands it uses records. A DCF record is a 64-bit double-word made of a control word (a pointer to a 32-bit DCF client register, via a 15-bit chip select + 15-bit address field) and a data word (the value written to that client). DCF is only available on a limited set of processors.
How DCF relates to DCD
DCF is not a standalone headless tool. The S32CT DCD plugin registers a
single headless tool (id="DCD", commandline_app=CmdApplication) whose
command-line application drives DCD, DCF and DCA. At runtime the active
variant is chosen automatically from the loaded processor
(DCDUtils.getActiveToolAndController ->
isDCDProcessorSelected / isDCFProcessorSelected / isDCAProcessorSelected).
Consequences:
- The
dcfaction pre-fillstool_name="DCD"under the hood - the launcher is invoked with-HeadlessTool DCD, and the tool responds as DCF when the.mextargets a DCF-capable SoC. - The CLI grammar is identical to DCD:
-ImportBin,-ValidateConfiguration(surfaced asvalidate=True), and the export verbs-ExportBin,-ExportC,-ExportAll(which also emits-ExportMEXin the framework). - There are no DCF-only CLI flags beyond the shared import / validate / export verbs; record editing is a GUI-side / XML concern.
When to use
Use this skill when, on a DCF-capable SoC, you need to:
- Import a binary DCF image into a
.mexvia-ImportBin. - Validate a DCF configuration.
- Export DCF artifacts: binary, C source, or all.
Migration note: There has never been a standalone dcf MCP tool. Use the
unified nxp_s32ct_configure dispatcher's dcf action (or action="dcd"
directly, which is equivalent since both map to -HeadlessTool DCD).
Do not use this skill for:
- Cross-tool operations combining flags from multiple tools -> use
s32ct-cli(action="cli"). - DCD command (write/check/nop) or DCA structure configuration - use
s32ct-dcd-facade/s32ct-dca-facade. - IVT / QuadSPI / eFUSE binary handling - use the matching facade.
Available Capabilities
| Type | Name | Invocation |
|---|---|---|
| MCP tool | nxp_s32ct_configure |
nxp_s32ct_configure(action="dcf", ...) |
| Resource | skill://nxp_s32ct/s32ct-dcf-facade |
Auto-loaded on trigger |
Quickstart
1. Load or bootstrap a .mex
Tool: nxp_s32ct_configure
Action: dcf
Input: project_path="<path>.mex" # OR empty_config=True + mcu + sdk_version
Output: {exit_code, command, stdout_tail, stderr_tail, values, summary}
2. Apply DCF-specific modifications and export
nxp_s32ct_configure(
action="dcf",
project_path="<path>.mex",
import_bin="<dcf>.bin", # -ImportBin
validate=True, # -ValidateConfiguration
export_kind="ExportBin", # or ExportAll|ExportC|ExportMEX
output_dir="<output-dir>",
)
3. Verify the export
Check that output_dir contains the expected artifacts (e.g.
dcfBinaryImage, dcfCImage.c) and exit_code == 0.
Inputs
Mode (mutually exclusive)
project_path- existing.mexto load via-Load.empty_config- ifTrue,-EmptyConfig; requiresmcu+sdk_version.config_name--ConfigName <...>.
Tool-specific
import_bin- DCF binary via-ImportBin.validate- run-ValidateConfigurationon the configuration.
Export
export_kindin {ExportAll, ExportBin, ExportC, ExportMEX}.output_dir- required whenexport_kindis set.
Launcher / plumbing (shared with s32ct-cli)
data_dir(-data <workspace>),extra_args,s32ct_launcher,launcher_ini,timeout_s(default 600).
Output
Same as s32ct-cli:
{ exit_code, command, stdout_tail, stderr_tail, values, summary }.
Guardrails
Scope
- Only drives the dcf action of
nxp_s32ct_configure(which maps to-HeadlessTool DCD). For cross-tool workflows uses32ct-cli(action="cli") instead. - Applies only to SoCs that provide the DCF variant. On a DCD/DCA SoC the same launcher call operates on DCD/DCA instead - confirm the target SoC.
- Does not modify hardware or program devices.
Destructive actions
- Exports overwrite files in
output_dir. Confirm the target directory is safe or empty before invoking withexport_kindset.
Refuse-and-escalate
- Missing
project_pathAND missingempty_config/mcu/sdk_versioncombination -> ask the user which mode they want. - Unknown
export_kindvalue -> list the allowed enum values and ask. - Retryable
IllegalStateException-> auto-retry once, then escalate.
Validation loop
exit_code == 0.output_dircontains the expected artifacts for the chosenexport_kind.- If
validate=True, checkstdout_tail/summaryfor validation OK ("No problems found").
Out of scope
- Interactive GUI operations - use S32 Configuration Tools directly.
- Cross-tool operations combining multiple tools' flags - use
s32ct-cli. - Distribution portability (
desktopvsintegrated_s32ds) - handled transparently by the MCP; sees32ct-distributions.
See Also
s32ct-cli- generic dispatcher with the full ~50-parameter surface.s32ct-dcd-facade,s32ct-dca-facade- sibling Device-Configuration tool facades that share the same DCDCmdApplicationand CLI grammar.s32ct-distributions- launcher selection.