Skip to content

EDS v1.10.0 — ReadMemoryByAddress (0x23) + WriteMemoryByAddress (0x3D)

Latest

Choose a tag to compare

@Xaloqi Xaloqi released this 03 Jul 06:06
13b9cc2

What's new

Added

  • Board support: NXP MR-CANHUBK3 (S32K344, Cortex-M7). Adds boards/mr_canhubk3/ with Device Tree overlay and Kconfig fragment. FlexCAN0 at 500 kbit/s via on-board TJA1443 transceiver. New zephyr-nxp-s32k CI job verifies compilation on every PR. See docs/INTEGRATION_GUIDE.md §6.5. (Closes #58)

  • SID 0x23 — ReadMemoryByAddress (ISO 14229-1:2020 §14.9). Reads directly from an ECU memory address without a DID or full 0x35/0x36/0x37 transfer sequence. Validates ALFID + address range against new readable memory map flag (REQ-FLASH-003). Session gate: Programming + Level 1 unlock.

  • SID 0x3D — WriteMemoryByAddress (ISO 14229-1:2020 §14.10). Writes directly to an ECU memory address — calibration constant patching, post-production configuration — without a full DFU cycle. Validates address+size against writable memory map (REQ-FLASH-002). Session gate: Programming + Level 1 unlock.

  • New readable flag in uds_flash_region_t (platform/uds_flash_ops.h). Calibration ROM and read-only configuration areas can now be exposed for 0x23 without being declared writable. Existing tables that omit readable default to false.

  • uds_transfer_parse_alfid() extracted to service_transfer_common.h (static inline). service_0x34.c and service_0x35.c refactored to use it, eliminating ~12 lines of duplicated logic.

  • 39 new unit tests (tests/unit_runnable/test_service_0x23_0x3D.c): 20 for 0x23, 19 for 0x3D.

  • Platform readable = true added to platform/zephyr/harness_flash_mock.c and platform/freertos/freertos_flash_ops.c.

  • MISRA deviation log updated (DEV-MEM-01; DEV-MULT-01 and DEV-CONV-01 extended) — EDS-Safety/MISRA_DEVIATION_LOG.md revision 1.2.

  • Closes #53.

Fixed

  • CMakeLists.txt: core/uds_services/service_0x35.c was missing from DIAG_CORE_SOURCES. Added alongside 0x23 and 0x3D.

  • SID 0x36 / 0x37 — wrong NRC on sequence error (BUG-01). Both returned serviceNotSupportedInActiveSession (NRC 0x7F) when no transfer was active. ISO 14229-1 §14.4.2 requires requestSequenceError (NRC 0x24). Fixed; unit tests TC-0x36-003 and TC-0x37-003 updated.

Changed

  • Version constants synced to v1.9.0core/uds_types.h, CMakeLists.txt, INSTALL.md, core/uds_safety.h were left at v1.7.0 after the v1.9.0 release. All updated.

Full changelog: CHANGELOG.md