pyocd / pyocd/pyOCD

Request: Add Target Support for NXP FRDM-KW38A4 Board

Open
#1,860 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.5k
Forks
560
Avg merge
1h 41m
Merged PRs (30d)
3

Description

Description

We need to integrate support for the NXP FRDM-KW38A4 evaluation board and its corresponding MKW38A4 microcontroller into pyOCD. This will allow users to debug, program, and interact with this specific NXP device using pyOCD.

Justification

The FRDM-KW38A4 is a popular board utilizing the MKW38A4 MCU, and adding dedicated support ensures pyOCD remains compatible with a wider range of NXP development hardware, enhancing its utility for developers working with wireless connectivity solutions.

Implementation Details (Expected Changes)
The implementation should involve the following steps and asset integration:

SVD File Integration: Obtain and integrate the correct SVD file for the MKW38A4 device. (Source: NXP SDK_2_6_15_FRDM-KW38)

Flash Algorithm: Generate or source a compatible flash algorithm (e.g., based on KW38x_P256_2KB_SEC.FLM) to enable reliable programming of the device's internal flash.

Target Class Implementation: Implement a new dedicated target class (e.g., KW38A4) inheriting from the appropriate base class.

Target Registration: Register the new target class in the pyocd/target/init.py file to enable automatic target detection via the board ID.

Related Resources

Source SDK: NXP SDK_2_6_15_FRDM-KW38

Implemented by #1859

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the SVD source in NXP SDK_2_6_15_FRDM-KW38 and the KW38x_P256_2KB_SEC.FLM flash algorithm, then review the target class structure. Check pyocd/target/init.py for registration patterns. Done means the FRDM-KW38A4 and MKW38A4 are detected and can be debugged and programmed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools, embedded-iot
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.