Skip to content

nxp mcx e247 port - #983

Open
twcook86 wants to merge 5 commits into
wolfSSL:masterfrom
twcook86:mcxe247_port
Open

twcook86 wants to merge 5 commits into
wolfSSL:masterfrom
twcook86:mcxe247_port

Conversation

@twcook86

@twcook86 twcook86 commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Adds support for the NXP MCX e247, including ethernet with wolfIP

Goes with wolfSSL/wolfip#193

Copilot AI balanced review requested due to automatic review settings November 11, 2026 22:33
@twcook86 twcook86 self-assigned this Nov 11, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Critical startup-memory and flash-size defects can corrupt the reset handler’s stack and allow metadata operations to erase verified firmware bytes.

4 open issues
What changed in this PR

Adds NXP MCXE247 support through the existing S32K1xx HAL, targeting the FRDM-MCXE247 board with optional wolfIP Ethernet tests.

Changes:

  • Adds board configuration, console and LED mappings, and SRAM initialization support.
  • Integrates optional DHCP, TFTP, and TCP throughput tests using the MCUXpresso Ethernet driver.
  • Adds TRACE32 programming scripts, documentation, and CI coverage, and corrects the S32K148 flash layout.
File Description
tools/​scripts/​mcxe247/​e247_flash_update.cmm Programs and verifies a signed update image.
tools/​scripts/​mcxe247/​e247_flash_factory_bin.cmm Programs factory images with flash-security checks.
tools/​scripts/​mcxe247/​e247_debug.cmm Configures TRACE32 connection and source lookup.
test-app/​wolfip_tftp_test.c Adds MCXE247 Ethernet and timebase integration.
test-app/​startup_arm.c Routes interrupts to the selected console UART.
test-app/​Makefile Adds wolfIP port and MCUXpresso driver build rules.
test-app/​ARM-s32k1xx-wolfip.ld Defines the network application's SRAM layout.
test-app/​app_s32k1xx.c Adds the network command and board-selectable peripherals.
src/​boot_arm.c Clarifies the existing ECC initialization comment.
hal/​s32k1xx.ld Exports early SRAM-clearing bounds.
hal/​s32k1xx.h Adds board mappings and corrects flash definitions.
hal/​s32k1xx.c Uses the selected UART for console reads and writes.
docs/​Targets.md Documents MCXE247 setup, networking, and programming.
config/​examples/​nxp-s32k148.config Restricts partitions to contiguous Program Flash.
config/​examples/​mcxe247.config Adds MCXE247 defaults and optional network settings.
.github/​workflows/​test-configs.yml Adds the default MCXE247 configuration build.

Review effort: Balanced

Comment on lines +58 to +59
. = ORIGIN(RAM) + LENGTH(RAM);
_end_bss = .;
Comment on lines +27 to +28
; factory.bin (bootloader + boot partition) must end before the update partition
&maxsize=0xC4000
Comment on lines +41 to +43
IF &size>(&end-&start+1)
(
PRINT %ERROR "&file is larger than its partition"

static uint64_t now_ms(void)
{
return (uint64_t)wolfip_test_get_ms();

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #983

Scan targets checked: wolfboot-src, wolfboot-bugs
Not reviewed (no scan target covers them): .github/workflows/test-configs.yml, config/examples/mcxe247.config, config/examples/nxp-s32k148.config, docs/Targets.md, hal/s32k1xx.h, hal/s32k1xx.ld, test-app/ARM-s32k1xx-wolfip.ld, test-app/Makefile, tools/scripts/mcxe247/e247_debug.cmm, tools/scripts/mcxe247/e247_flash_factory_bin.cmm, tools/scripts/mcxe247/e247_flash_update.cmm
Coverage: 5 of 5 in-scope changed file(s) opened by the reviewer

Fenrir result: Approved ✅

No new issues found in the changed files.

Advisory only — this automated result does not count as a GitHub approval.

Review tier: Max

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants