Skip to content

fix(ports): move tx_initialize_low_level.S to example_build for M33/M55/M85 GNU#514

Open
nhuvaoanh123 wants to merge 1 commit intoeclipse-threadx:masterfrom
nhuvaoanh123:fix/452-move-low-level-init-to-example-build
Open

fix(ports): move tx_initialize_low_level.S to example_build for M33/M55/M85 GNU#514
nhuvaoanh123 wants to merge 1 commit intoeclipse-threadx:masterfrom
nhuvaoanh123:fix/452-move-low-level-init-to-example-build

Conversation

@nhuvaoanh123
Copy link

@nhuvaoanh123 nhuvaoanh123 commented Mar 15, 2026

Summary

Fixes #452

The Cortex-M33, M55, and M85 GNU ports incorrectly include tx_initialize_low_level.S as a library source in CMakeLists.txt. This file is board-specific initialization code that users must customize for their hardware. Including it in the library causes linker conflicts (duplicate symbol _tx_initialize_low_level) when users provide their own implementation via CMake FetchContent.

This PR aligns these three ports with the established pattern used by Cortex-M0/M3/M4/M7 GNU ports:

  • Move tx_initialize_low_level.S from src/ to example_build/ (reference template only)
  • Remove the tx_initialize_low_level.S entry from CMakeLists.txt target_sources
  • Add sample_threadx.c to example_build/ for consistency with other ports
  • Align CMakeLists.txt formatting with the {{BEGIN/END_TARGET_SOURCES}} markers used by other ports

Ports affected

Port Before After
cortex_m33/gnu src/ + in CMake example_build/ only
cortex_m55/gnu src/ + in CMake example_build/ only
cortex_m85/gnu src/ + in CMake example_build/ only

Reference (correct pattern)

  • ports/cortex_m4/gnu/tx_initialize_low_level.S in example_build/, not referenced in CMakeLists.txt

Test plan

  • Verify CMakeLists.txt no longer references tx_initialize_low_level.S
  • Verify example_build/ contains tx_initialize_low_level.S + sample_threadx.c for all three ports
  • Verify CMake FetchContent integration builds without duplicate symbol errors
  • CI passes on Cortex-M33/M55/M85 targets

Signed-off-by: An Dao webmaster@taktflow-systems.com

…x-M33/M55/M85 GNU (eclipse-threadx#452)

The Cortex-M33, M55, and M85 GNU ports incorrectly include
tx_initialize_low_level.S as a library source in CMakeLists.txt.
This file is board-specific initialization code that users must
customize for their hardware, and including it in the library
causes linker conflicts when users provide their own implementation
(e.g., via CMake FetchContent).

This change aligns these ports with the established pattern used by
Cortex-M0/M3/M4/M7 GNU ports:
- Move tx_initialize_low_level.S from src/ to example_build/
- Remove it from CMakeLists.txt target_sources
- Add sample_threadx.c to example_build/ for consistency

Signed-off-by: An Dao <webmaster@taktflow-systems.com>
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.

Cortex-M33 Gnu tx_initialize_low_level.S not example

1 participant