test(ti-hal-comparison): add ADCBUF, CBUFF, DSS_INTC comparison tests #35

Merged
hoogv merged 0 commits from refs/pull/35/head into dev 2026-07-22 09:34:15 +00:00
hoogv commented 2026-07-22 09:27:44 +00:00 (Migrated from codeberg.org)

Adds the real TI CSL ground-truth comparison test files for the three peripherals already merged under the CMSIS register description epic (ADCBUF #5, CBUFF #6, DSS_INTC #7), wired into the scaffolding restored in #33.

  • test_cbuff.c: field-for-field offsetof/sizeof comparison against TI's DSSCBUFFRegs (reg_cbuff.h), including the LL_ENTRY[32] array element layout.
  • test_adcbuf.c: relative-offset comparisons against the 6 ADCBUF-related fields embedded in TI's larger DSSRegs struct (no dedicated TI struct exists for this peripheral).
  • test_dss_intc.c: base-address-only comparison against SOC_XWR68XX_DSP_ICFG_BASE_ADDRESS (CPU-internal C674x megamodule hardware, no per-register TI struct exists).

Each test file includes its specific component/*.h/instance/*.h headers directly rather than the registers/awr.h aggregator — awr6843aop.h unconditionally #includes all 22 peripherals' headers, most of which aren't landed yet, so using it here would reintroduce the exact bulk-dependency problem this project's incremental per-peripheral landing pattern avoids.

Verified locally: configured against the real TI mmWave SDK (TI_MMWAVE_SDK_PATH auto-detected), full suite builds and all 11 tests pass (3 svd_check_* + 8 new TI comparison assertions across 3 executables). Also sanity-checked that these tests actually catch drift by deliberately injecting a wrong base-address offset in test_cbuff.c, confirming the failure, then reverting.

Closes #34

Adds the real TI CSL ground-truth comparison test files for the three peripherals already merged under the CMSIS register description epic (ADCBUF #5, CBUFF #6, DSS_INTC #7), wired into the scaffolding restored in #33. - `test_cbuff.c`: field-for-field `offsetof`/`sizeof` comparison against TI's `DSSCBUFFRegs` (`reg_cbuff.h`), including the `LL_ENTRY[32]` array element layout. - `test_adcbuf.c`: relative-offset comparisons against the 6 ADCBUF-related fields embedded in TI's larger `DSSRegs` struct (no dedicated TI struct exists for this peripheral). - `test_dss_intc.c`: base-address-only comparison against `SOC_XWR68XX_DSP_ICFG_BASE_ADDRESS` (CPU-internal C674x megamodule hardware, no per-register TI struct exists). Each test file includes its specific `component/*.h`/`instance/*.h` headers directly rather than the `registers/awr.h` aggregator — `awr6843aop.h` unconditionally `#include`s all 22 peripherals' headers, most of which aren't landed yet, so using it here would reintroduce the exact bulk-dependency problem this project's incremental per-peripheral landing pattern avoids. Verified locally: configured against the real TI mmWave SDK (`TI_MMWAVE_SDK_PATH` auto-detected), full suite builds and all 11 tests pass (3 `svd_check_*` + 8 new TI comparison assertions across 3 executables). Also sanity-checked that these tests actually catch drift by deliberately injecting a wrong base-address offset in `test_cbuff.c`, confirming the failure, then reverting. Closes #34
hoogv self-assigned this 2026-07-23 13:34:57 +00:00
hoogv added this to the Development project 2026-07-23 13:39:10 +00:00
Sign in to join this conversation.
No reviewers
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
opendutchsolutions.public/hal_awr6843!35
No description provided.