Repository navigation
Conversation
There was a problem hiding this comment.
🟡 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
| . = ORIGIN(RAM) + LENGTH(RAM); | ||
| _end_bss = .; |
| ; factory.bin (bootloader + boot partition) must end before the update partition | ||
| &maxsize=0xC4000 |
| 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
left a comment
There was a problem hiding this comment.
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


Adds support for the NXP MCX e247, including ethernet with wolfIP
Goes with wolfSSL/wolfip#193