CI should build the real cross-toolchain, driven by Kconfig/hal_config module selection #16
Labels
No labels
Category
App
Category
Documentation
Category
Firmware
Category
Hardware
Category
Qms
PR_Size
L
PR_Size
M
PR_Size
S
PR_Size
XL
PR_Size
XS
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Very Low Priority
Size
Epic
Size
Feature
Size
Task
Status
Blocked
Status
Draft
Status
Needs-review
Team
Board
Team
Dev
Team
Management
Type
Bug
Type
Capa
Type
Improvement
Type
New-feature
Type
Regulatory
Type
Usability
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
opendutchsolutions.public/hal_awr6843#16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
.forgejo/workflows/tests.ymlonly ran the host-native Catch2/fff suite (testing/CMakeLists.txt) on the ccstudio runner — it never exercised the actual cross-compilation toolchain files added under issue #1 (toolchain/R4F-toolchain.cmake,toolchain/GCC-R4F-toolchain.cmake,toolchain/C6000-toolchain.cmake). So "CI validates the toolchain build" wasn't true yet even though a CI workflow existed: it validated the host-side unit tests only, never thathal/actually cross-compiles for the real MSS (Cortex-R4F) / DSS (C6000) targets.Separately, the Kconfig integration (
zephyr/Kconfig,zephyr/CMakeLists.txt,kconfig-ext/cmake-extinzephyr/module.yml) and the non-Zephyr module-selection headers (hal/util/hal_config_mss.h,hal/util/hal_config_dss.h, with theirtemplate/hal_config_{mss,dss}_template.htemplates) existed locally but weren't committed, and CI didn't exercise any of it.Use Case / Rationale
As a developer, I need CI to actually compile
hal/for the real R4F/C6000 targets, not just run host-side tests, so a change that breaks the real cross-compile (but happens to still pass the host-native fakes-based suite) gets caught automatically instead of at flash time.As a developer choosing modules via Kconfig or a hand-written
hal_config_mss.h/hal_config_dss.h, I need at least one such combination built by CI, so a module that's wired into the config system but doesn't actually compile is caught before merge.User Stories
toolchain/R4F-toolchain.cmake(MSS) andtoolchain/C6000-toolchain.cmake(DSS), so real cross-compilation is part of the automated check, not just host tests.zephyr/Kconfig,zephyr/CMakeLists.txt,hal/util/hal_config_mss.h,hal/util/hal_config_dss.h, and their templates committed, so this module-selection system actually exists in the repo's history.Acceptance Criteria
hal/for the real MSS target viatoolchain/R4F-toolchain.cmake(andGCC-R4F-toolchain.cmake) and the DSS target viatoolchain/C6000-toolchain.cmake, alongside the existing host-nativetesting/suitezephyr/Kconfig,zephyr/CMakeLists.txt,hal/util/hal_config_mss.h,hal/util/hal_config_dss.h, andtemplate/hal_config_{mss,dss}_template.hare committedhal/util/hal_config.his removed (already gone, superseded by the mss/dss split)Functional Impact
None — CI/build-tooling only, no product/driver code behavior changes (two real bugs were fixed in
toolchain/R4F-toolchain.cmakewhile validating this, both build-system-only: a missinginclude_guard(GLOBAL)causing duplicate-target errors, and a multi-line embedded bash script that broke the Unix Makefiles generator).Regulatory Impact
None
QMS Impact
None
Risk Impact
No — existing risk coverage sufficient.
Related Issues / PRs
Relates to #1