s32ds-open-s32ct
Open S32 Configuration Tools perspectives (Pins, Clocks, Peripherals, DCD, DDR, eFUSE, GTM, ICE, IVT, QuadSPI, SERDES) in the S32DS IDE. Each configuration tool has a dedicated Eclipse perspective ID.
Files1
View on GitHubSKILL.mdskills/s32ds/s32ds-open-s32ct/SKILL.md
GitHubOpen S32 Configuration Tools (S32CT)
Goal
Open a specific S32 Configuration Tools perspective (Pins, Clocks, Peripherals, etc.) using execute_action(action_name="openPerspective", ...).
Tools Used
search_actions- call FIRST to discover available actions; the returned catalog includes each action's input schemaexecute_action- invoke any discovered action viaexecute_action(action_name="X", params={...}); the staticstart_toolaction brings the IDE up if it is not running- The
waitForJobaction (viaexecute_action) - blocks until a named async job completes
Before You Start
Call search_actions(query="...") first to discover all available actions, their descriptions, and input schemas (a parameterless search_actions() browses everything). Use the returned catalog to determine correct action names and required/optional parameters before calling execute_action.
Guardrails
Scope
- Only open the requested S32CT perspective for the user's project. Do not edit
.mexcontent or generate code from this skill; hand off to the relevant configuration/codegen skill for that.
Refuse-and-escalate
- If the perspective or tool is unavailable (e.g. the project has no
.mex, or the.mexwas never opened), stop and report the missing prerequisite rather than forcing a perspective that cannot load.
Prerequisites
The project must contain a
.mexfile (S32CT configuration file)The project must be open in the workspace
The
.mexfile should have been opened at least once (so S32CT perspectives are registered)
Steps
Identify the project:
- Use
execute_action(action_name="listProjects")to list workspace projects - Confirm the target project is open
- Use
Verify the .mex file exists (project validation):
- Use
execute_action(action_name="getProjectInfo", params={"projectName": "<name>"})to get project details - The
.mexfile is typically at the project root:<projectName>/<projectName>.mex - Alternative locations:
<projectName>/board/<name>.mex - If there is no
.mexfile, S32CT is not available for this project
- Use
Open the desired S32CT perspective:
- Determine which S32CT tool the user wants (Pins, Clocks, Peripherals, etc.)
- Use
execute_action(action_name="openPerspective", params={"perspectiveId": "<id>"})with the appropriate ID from the table below
Known S32CT Perspectives
| Tool | Perspective ID |
|---|---|
| Pins | com.nxp.swtools.mux.perspective |
| Clocks | com.nxp.swtools.clocks.clocks.perspective |
| Peripherals | com.nxp.swtools.periphs.gui.perspective |
| DCD | com.nxp.swtools.dcd.perspective |
| DDR | com.nxp.swtools.ddr.perspective |
| eFUSE | com.nxp.swtools.efuse.gui.perspective |
| GTM | com.nxp.swtools.gtm.gui.perspective |
| ICE | com.nxp.swtools.ice.gui.perspective |
| IVT | com.nxp.swtools.ivt.perspective |
| QuadSPI | com.nxp.swtools.quadspi.perspective |
| SERDES | com.nxp.swtools.serdes.perspective |
Dynamic Discovery (Fallback)
If the user asks for an S32CT perspective that is not in the table above, or if you are unsure which perspective matches their request:
- Call
execute_action(action_name="listPerspectives")to get the full list of registered perspectives - Filter results for entries containing
nxp.swtoolsor matching the user's description - Use the discovered
perspectiveIdwithexecute_action(action_name="openPerspective", params={"perspectiveId": "<id>"})
This ensures support for new S32CT tools that may be added in future S32DS versions.
Switching Back (Closing S32CT)
S32CT tools are Eclipse perspectives - they change the entire workbench layout. To return to the normal development environment:
- Switch to C/C++ perspective:
execute_action(action_name="openPerspective", params={"perspectiveId": "com.nxp.s32ds.cle.cdt.ui.internal.CPerspective"}) - Switch to Debug perspective:
execute_action(action_name="openPerspective", params={"perspectiveId": "com.nxp.s32ds.debug.ide.ui.DebugPerspective"})
Do NOT use execute_action(action_name="openView", ...) or execute_action(action_name="executeCommand", ...) for this - always use execute_action(action_name="openPerspective", params={"perspectiveId": "<id>"}).
Error Handling
- If no
.mexfile is found -> project was not created with S32CT support - Inform the user that S32CT is not available for this project
- Suggest creating a new project with S32CT support using the new project wizard
- If
execute_action(action_name="openPerspective", ...)fails -> the perspective may not be installed for the current MCU family (e.g., DDR is only available for certain devices)
Notes
- The
.mexfile contains all pins, clocks, and peripherals configuration - Not all perspectives are available for all MCU families (e.g., DDR, SERDES, QuadSPI are device-specific)
- Changes in S32CT generate code (typically in
board/orgenerate/folders) - After S32CT changes, use "Update Code and Build" to regenerate and rebuild
- When the user says "open S32CT" without specifying which tool, ask which one they want or default to Pins (
com.nxp.swtools.mux.perspective) as it is the most commonly used