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>
@fdesbiens
Copy link
Contributor

Thank you for this contribution, @nhuvaoanh123.

Before we can accept it, you need to sign the Eclipse Contributor Agreement (ECA). The purpose of the ECA is to provide a written record that you have agreed to provide your code and documentation contributions under the licenses used by the Eclipse ThreadX project. It also makes it clear that you are promising that what you are contributing to Eclipse is code you wrote, and you have the necessary rights to contribute it to our projects. And finally, it documents a commitment from you that your open source contributions will be permanently on the public record.

Signing the ECA requires an Eclipse Foundation account if you do not already have one. You can create one for free at https://accounts.eclipse.org.

Be sure to use the same email address when you register for the account that you intend to use on Git commit records. Also, please add your GitHub ID to your Eclipse account. This enables synchronisation between Eclipse-owned infrastructure and GitHub.

Here is the link to sign the ECA:
https://accounts.eclipse.org/user/login?destination=user/eca

@nhuvaoanh123
Copy link
Author

Thanks @fdesbiens! I've signed the ECA using webmaster@taktflow-systems.com and my GitHub ID nhuvaoanh123 is linked to my Eclipse account. The ECA check should pass on re-run. Please let me know if anything else is needed.

@fdesbiens
Copy link
Contributor

@nhuvaoanh123, I checked your Eclipse account, and there is no GitHub ID in it. Can you please add it? Otherwise, our backend system cannot sync with GitHub.

@nhuvaoanh123
Copy link
Author

Hi @fdesbiens, I have now linked my GitHub ID (nhuvaoanh123) to my Eclipse account. Could you please check again? The account was signed with the same email address used for my Git commits. Thank you!

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

2 participants