Skip to main content
Associate II
August 8, 2023
Question

Error building STM32H7 project with toolchain makefile when Azure RTOS threadX in included

  • August 8, 2023
  • 13 replies
  • 6209 views

I am working on STM32H7 with Azure RTOS ThreadX core; same project with CubeIDE toolchain builds and works fine but when the code is generated with MAKEFILE toolchain and I try to build the following error is encoutered: 

 

 

 

 

arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -ICore/Inc -IAZURE_RTOS/App -IDrivers/STM32H7xx_HAL_Driver/Inc -IDrivers/STM32H7xx_HAL_Driver/Inc/Legacy -IDrivers/CMSIS/Device/ST/STM32H7xx/Include -IDrivers/CMSIS/Include -IMiddlewares/ST/threadx/common/inc/ -IMiddlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_stack_build.d" Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_stack_build.s -o build/tx_thread_stack_build.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -ICore/Inc -IAZURE_RTOS/App -IDrivers/STM32H7xx_HAL_Driver/Inc -IDrivers/STM32H7xx_HAL_Driver/Inc/Legacy -IDrivers/CMSIS/Device/ST/STM32H7xx/Include -IDrivers/CMSIS/Include -IMiddlewares/ST/threadx/common/inc/ -IMiddlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_system_return.d" Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_system_return.s -o build/tx_thread_system_return.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -ICore/Inc -IAZURE_RTOS/App -IDrivers/STM32H7xx_HAL_Driver/Inc -IDrivers/STM32H7xx_HAL_Driver/Inc/Legacy -IDrivers/CMSIS/Device/ST/STM32H7xx/Include -IDrivers/CMSIS/Include -IMiddlewares/ST/threadx/common/inc/ -IMiddlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_timer_interrupt.d" Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_timer_interrupt.s -o build/tx_timer_interrupt.o
arm-none-eabi-gcc build/main.o build/app_threadx.o build/stm32h7xx_it.o build/stm32h7xx_hal_msp.o build/app_azure_rtos.o build/stm32h7xx_hal_cortex.o build/stm32h7xx_hal_rcc.o build/stm32h7xx_hal_rcc_ex.o build/stm32h7xx_hal_flash.o build/stm32h7xx_hal_flash_ex.o build/stm32h7xx_hal_gpio.o build/stm32h7xx_hal_hsem.o build/stm32h7xx_hal_dma.o build/stm32h7xx_hal_dma_ex.o build/stm32h7xx_hal_mdma.o build/stm32h7xx_hal_pwr.o build/stm32h7xx_hal_pwr_ex.o build/stm32h7xx_hal.o build/stm32h7xx_hal_i2c.o build/stm32h7xx_hal_i2c_ex.o build/stm32h7xx_hal_exti.o build/stm32h7xx_hal_tim.o build/stm32h7xx_hal_tim_ex.o build/system_stm32h7xx.o build/tx_initialize_high_level.o build/tx_initialize_kernel_enter.o build/tx_initialize_kernel_setup.o build/tx_block_allocate.o build/tx_block_pool_cleanup.o build/tx_block_pool_create.o build/tx_block_pool_delete.o build/tx_block_pool_info_get.o build/tx_block_pool_initialize.o build/tx_block_pool_prioritize.o build/tx_block_release.o build/tx_byte_allocate.o build/tx_byte_pool_cleanup.o build/tx_byte_pool_create.o build/tx_byte_pool_delete.o build/tx_byte_pool_info_get.o build/tx_byte_pool_initialize.o build/tx_byte_pool_prioritize.o build/tx_byte_pool_search.o build/tx_byte_release.o build/tx_event_flags_cleanup.o build/tx_event_flags_create.o build/tx_event_flags_delete.o build/tx_event_flags_get.o build/tx_event_flags_info_get.o build/tx_event_flags_initialize.o build/tx_event_flags_set.o build/tx_event_flags_set_notify.o build/tx_mutex_cleanup.o build/tx_mutex_create.o build/tx_mutex_delete.o build/tx_mutex_get.o build/tx_mutex_info_get.o build/tx_mutex_initialize.o build/tx_mutex_prioritize.o build/tx_mutex_priority_change.o build/tx_mutex_put.o build/tx_queue_cleanup.o build/tx_queue_create.o build/tx_queue_delete.o build/tx_queue_flush.o build/tx_queue_front_send.o build/tx_queue_info_get.o build/tx_queue_initialize.o build/tx_queue_prioritize.o build/tx_queue_receive.o build/tx_queue_send.o build/tx_queue_send_notify.o build/tx_semaphore_ceiling_put.o build/tx_semaphore_cleanup.o build/tx_semaphore_create.o build/tx_semaphore_delete.o build/tx_semaphore_get.o build/tx_semaphore_info_get.o build/tx_semaphore_initialize.o build/tx_semaphore_prioritize.o build/tx_semaphore_put.o build/tx_semaphore_put_notify.o build/tx_thread_create.o build/tx_thread_delete.o build/tx_thread_entry_exit_notify.o build/tx_thread_identify.o build/tx_thread_info_get.o build/tx_thread_initialize.o build/tx_thread_preemption_change.o build/tx_thread_priority_change.o build/tx_thread_relinquish.o build/tx_thread_reset.o build/tx_thread_resume.o build/tx_thread_shell_entry.o build/tx_thread_sleep.o build/tx_thread_stack_analyze.o build/tx_thread_stack_error_handler.o build/tx_thread_stack_error_notify.o build/tx_thread_suspend.o build/tx_thread_system_preempt_check.o build/tx_thread_system_resume.o build/tx_thread_system_suspend.o build/tx_thread_terminate.o build/tx_thread_time_slice.o build/tx_thread_time_slice_change.o build/tx_thread_timeout.o build/tx_thread_wait_abort.o build/tx_time_get.o build/tx_time_set.o build/txe_block_allocate.o build/txe_block_pool_create.o build/txe_block_pool_delete.o build/txe_block_pool_info_get.o build/txe_block_pool_prioritize.o build/txe_block_release.o build/txe_byte_allocate.o build/txe_byte_pool_create.o build/txe_byte_pool_delete.o build/txe_byte_pool_info_get.o build/txe_byte_pool_prioritize.o build/txe_byte_release.o build/txe_event_flags_create.o build/txe_event_flags_delete.o build/txe_event_flags_get.o build/txe_event_flags_info_get.o build/txe_event_flags_set.o build/txe_event_flags_set_notify.o build/txe_mutex_create.o build/txe_mutex_delete.o build/txe_mutex_get.o build/txe_mutex_info_get.o build/txe_mutex_prioritize.o build/txe_mutex_put.o build/txe_queue_create.o build/txe_queue_delete.o build/txe_queue_flush.o build/txe_queue_front_send.o build/txe_queue_info_get.o build/txe_queue_prioritize.o build/txe_queue_receive.o build/txe_queue_send.o build/txe_queue_send_notify.o build/txe_semaphore_ceiling_put.o build/txe_semaphore_create.o build/txe_semaphore_delete.o build/txe_semaphore_get.o build/txe_semaphore_info_get.o build/txe_semaphore_prioritize.o build/txe_semaphore_put.o build/txe_semaphore_put_notify.o build/txe_thread_create.o build/txe_thread_delete.o build/txe_thread_entry_exit_notify.o build/txe_thread_info_get.o build/txe_thread_preemption_change.o build/txe_thread_priority_change.o build/txe_thread_relinquish.o build/txe_thread_reset.o build/txe_thread_resume.o build/txe_thread_suspend.o build/txe_thread_terminate.o build/txe_thread_time_slice_change.o build/txe_thread_wait_abort.o build/tx_timer_activate.o build/tx_timer_change.o build/tx_timer_create.o build/tx_timer_deactivate.o build/tx_timer_delete.o build/tx_timer_expiration_process.o build/tx_timer_info_get.o build/tx_timer_initialize.o build/tx_timer_system_activate.o build/tx_timer_system_deactivate.o build/tx_timer_thread_entry.o build/txe_timer_activate.o build/txe_timer_change.o build/txe_timer_create.o build/txe_timer_deactivate.o build/txe_timer_delete.o build/txe_timer_info_get.o build/startup_stm32h723xx.o build/tx_thread_schedule.o build/tx_thread_context_restore.o build/tx_thread_context_save.o build/tx_thread_interrupt_control.o build/tx_thread_interrupt_disable.o build/tx_thread_interrupt_restore.o build/tx_thread_stack_build.o build/tx_thread_system_return.o build/tx_timer_interrupt.o -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -specs=nano.specs -TSTM32H723VEHx_FLASH.ld -lc -lm -lnosys -Wl,-Map=build/h7test.map,--cref -Wl,--gc-sections -o build/h7test.elf
c:/program files/microsoft visual studio/2022/community/linux/gcc_arm/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: build/tx_initialize_kernel_enter.o: in function `_tx_initialize_kernel_enter':
C:\Users\fahar\Desktop\h7test/Middlewares/ST/threadx/common/src/tx_initialize_kernel_enter.c:117: undefined reference to `_tx_initialize_low_level'
collect2.exe: error: ld returned 1 exit status
Makefile:340: recipe for target 'build/h7test.elf' failed

 

 

 

Tried adding .s files to path in MAKEFILE as: 

 

 

 

ASM_SOURCES = \
startup_stm32h723xx.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_schedule.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_context_restore.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_context_save.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_control.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_disable.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_restore.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_stack_build.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_system_return.s \
Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_timer_interrupt.s

 

 

 

Also tried renaming .S to .s and the other way around 

No change in error observed;

Note that same project with same configurations works fine on stmcubeide toolchain

https://community.st.com/t5/embedded-software-mcus/azure-rtos-mdk-arm-linking-errors/m-p/121602 I have read almost same issue here; but it was MDK-ARM @Haithem Rahmani 

This topic has been closed for replies.

13 replies

Associate II
August 8, 2023

This error is only encountered while adding Azure RTOS otherwise it works fine on makefile

Fahar
Haithem Rahmani
ST Employee
August 14, 2023

Hello @faharintisar,

the link issue is due to the missing "tx_initialize_low_level.S" file. it is located under "<project_path>/Core/Src", Could you add it to the file list and retry?

Meanwhile the issue will reported internally to be fixed.

regards
Haithem.

Visitor II
August 15, 2023

Hi @Haithem Rahmani ,

I am encountering the same problem. I also tried what you suggested (adding the tx_initialize_low_level.s file) but it still doesn't work. I am looking forward to any further suggestions or bug fixes.

Thank you!

Regards,

TNG812

Haithem Rahmani
ST Employee
August 16, 2023

Hi @tng812 ,

you should have another problem, not the originally reported,  could you share more details about the error log?

thanks.

Visitor II
August 16, 2023

Hi @Haithem Rahmani ,

Thank you! 

Followings is my error log:

 

arm-none-eabi-gcc build/main.o build/stm32f4xx_it.o build/stm32f4xx_hal_msp.o build/stm32f4xx_hal_timebase_tim.o build/stm32f4xx_hal_tim.o build/stm32f4xx_hal_tim_ex.o build/stm32f4xx_hal_rcc.o build/stm32f4xx_hal_rcc_ex.o build/stm32f4xx_hal_flash.o build/stm32f4xx_hal_flash_ex.o build/stm32f4xx_hal_flash_ramfunc.o build/stm32f4xx_hal_gpio.o build/stm32f4xx_hal_dma_ex.o build/stm32f4xx_hal_dma.o build/stm32f4xx_hal_pwr.o build/stm32f4xx_hal_pwr_ex.o build/stm32f4xx_hal_cortex.o build/stm32f4xx_hal.o build/stm32f4xx_hal_exti.o build/system_stm32f4xx.o build/app_threadx.o build/app_azure_rtos.o build/tx_initialize_high_level.o build/tx_initialize_kernel_enter.o build/tx_initialize_kernel_setup.o build/tx_block_allocate.o build/tx_block_pool_cleanup.o build/tx_block_pool_create.o build/tx_block_pool_delete.o build/tx_block_pool_info_get.o build/tx_block_pool_initialize.o build/tx_block_pool_prioritize.o build/tx_block_release.o build/tx_byte_allocate.o build/tx_byte_pool_cleanup.o build/tx_byte_pool_create.o build/tx_byte_pool_delete.o build/tx_byte_pool_info_get.o build/tx_byte_pool_initialize.o build/tx_byte_pool_prioritize.o build/tx_byte_pool_search.o build/tx_byte_release.o build/tx_event_flags_cleanup.o build/tx_event_flags_create.o build/tx_event_flags_delete.o build/tx_event_flags_get.o build/tx_event_flags_info_get.o build/tx_event_flags_initialize.o build/tx_event_flags_set.o build/tx_event_flags_set_notify.o build/tx_mutex_cleanup.o build/tx_mutex_create.o build/tx_mutex_delete.o build/tx_mutex_get.o build/tx_mutex_info_get.o build/tx_mutex_initialize.o build/tx_mutex_prioritize.o build/tx_mutex_priority_change.o build/tx_mutex_put.o build/tx_queue_cleanup.o build/tx_queue_create.o build/tx_queue_delete.o build/tx_queue_flush.o build/tx_queue_front_send.o build/tx_queue_info_get.o build/tx_queue_initialize.o build/tx_queue_prioritize.o build/tx_queue_receive.o build/tx_queue_send.o build/tx_queue_send_notify.o build/tx_semaphore_ceiling_put.o build/tx_semaphore_cleanup.o build/tx_semaphore_create.o build/tx_semaphore_delete.o build/tx_semaphore_get.o build/tx_semaphore_info_get.o build/tx_semaphore_initialize.o build/tx_semaphore_prioritize.o build/tx_semaphore_put.o build/tx_semaphore_put_notify.o build/tx_thread_create.o build/tx_thread_delete.o build/tx_thread_entry_exit_notify.o build/tx_thread_identify.o build/tx_thread_info_get.o build/tx_thread_initialize.o build/tx_thread_preemption_change.o build/tx_thread_priority_change.o build/tx_thread_relinquish.o build/tx_thread_reset.o build/tx_thread_resume.o build/tx_thread_shell_entry.o build/tx_thread_sleep.o build/tx_thread_stack_analyze.o build/tx_thread_stack_error_handler.o build/tx_thread_stack_error_notify.o build/tx_thread_suspend.o build/tx_thread_system_preempt_check.o build/tx_thread_system_resume.o build/tx_thread_system_suspend.o build/tx_thread_terminate.o build/tx_thread_time_slice.o build/tx_thread_time_slice_change.o build/tx_thread_timeout.o build/tx_thread_wait_abort.o build/tx_time_get.o build/tx_time_set.o build/txe_block_allocate.o build/txe_block_pool_create.o build/txe_block_pool_delete.o build/txe_block_pool_info_get.o build/txe_block_pool_prioritize.o build/txe_block_release.o build/txe_byte_allocate.o build/txe_byte_pool_create.o build/txe_byte_pool_delete.o build/txe_byte_pool_info_get.o build/txe_byte_pool_prioritize.o build/txe_byte_release.o build/txe_event_flags_create.o build/txe_event_flags_delete.o build/txe_event_flags_get.o build/txe_event_flags_info_get.o build/txe_event_flags_set.o build/txe_event_flags_set_notify.o build/txe_mutex_create.o build/txe_mutex_delete.o build/txe_mutex_get.o build/txe_mutex_info_get.o build/txe_mutex_prioritize.o build/txe_mutex_put.o build/txe_queue_create.o build/txe_queue_delete.o build/txe_queue_flush.o build/txe_queue_front_send.o build/txe_queue_info_get.o build/txe_queue_prioritize.o build/txe_queue_receive.o build/txe_queue_send.o build/txe_queue_send_notify.o build/txe_semaphore_ceiling_put.o build/txe_semaphore_create.o build/txe_semaphore_delete.o build/txe_semaphore_get.o build/txe_semaphore_info_get.o build/txe_semaphore_prioritize.o build/txe_semaphore_put.o build/txe_semaphore_put_notify.o build/txe_thread_create.o build/txe_thread_delete.o build/txe_thread_entry_exit_notify.o build/txe_thread_info_get.o build/txe_thread_preemption_change.o build/txe_thread_priority_change.o build/txe_thread_relinquish.o build/txe_thread_reset.o build/txe_thread_resume.o build/txe_thread_suspend.o build/txe_thread_terminate.o build/txe_thread_time_slice_change.o build/txe_thread_wait_abort.o build/tx_timer_activate.o build/tx_timer_change.o build/tx_timer_create.o build/tx_timer_deactivate.o build/tx_timer_delete.o build/tx_timer_expiration_process.o build/tx_timer_info_get.o build/tx_timer_initialize.o build/tx_timer_system_activate.o build/tx_timer_system_deactivate.o build/tx_timer_thread_entry.o build/txe_timer_activate.o build/txe_timer_change.o build/txe_timer_create.o build/txe_timer_deactivate.o build/txe_timer_delete.o build/txe_timer_info_get.o build/startup_stm32f412zx.o -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -specs=nano.specs -TSTM32F412ZETx_FLASH.ld -lc -lm -lnosys -Wl,-Map=build/azure-rtos-led.map,--cref -Wl,--gc-sections -o build/azure-rtos-led.elf
/usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/bin/ld: build/tx_initialize_kernel_enter.o: in function `_tx_initialize_kernel_enter':
/home/azure-rtos-led/Middlewares/ST/threadx/common/src/tx_initialize_kernel_enter.c:142: undefined reference to `_tx_thread_schedule'
/usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/bin/ld: /home/tung/p-work/gitlab/p-firmware/azure-rtos-led/Middlewares/ST/threadx/common/src/tx_initialize_kernel_enter.c:111: undefined reference to `_tx_initialize_low_level'
/usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/bin/ld: build/tx_thread_create.o: in function `_tx_thread_create':
/home/azure-rtos-led/Middlewares/ST/threadx/common/src/tx_thread_create.c:210: undefined reference to `_tx_thread_stack_build'
collect2: error: ld returned 1 exit status
make: *** [Makefile:330: build/azure-rtos-led.elf] Error 1

Looking forward to hearing from you!

Kind Regards,

TNG812

 

Visitor II
August 28, 2023

Hi @Haithem Rahmani ,

Would you be able to have a look at the error log above? Any suggestion is greatly appreciated.

Thank you!

Kind Regarsd, 

TNG812

Haithem Rahmani
ST Employee
November 10, 2023

Hi @tng812,

the issue is confirmed, fix implmented and it is under validation, it will be part of the coming soon STM32CubeMX 6.10.0.

 

regards
Haithem.

Haithem Rahmani
ST Employee
November 27, 2023

Hi @tng812,

the STM32CubeMX 6.10.0 is released and the issue is fixed.

please give it a try and let us know.

regards.

Associate
January 3, 2024

Still has the problem on 6.10.0 - Confirmed on Windows 10 with compiler: 

com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235

Example Project Tx_Thread_Creation

Associate II
July 26, 2024

change all asm file to .s or .S every file, and define rule in makefile/cmake according to which ever format you choose. It will work, give proper paths of asm files with correct extension

Fahar
Haithem Rahmani
ST Employee
January 3, 2024

Hi @MarkIlg,

arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_context_restore.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_context_restore.S -o build/tx_thread_context_restore.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_context_save.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_context_save.S -o build/tx_thread_context_save.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_interrupt_control.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_control.S -o build/tx_thread_interrupt_control.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_interrupt_disable.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_disable.S -o build/tx_thread_interrupt_disable.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_interrupt_restore.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_interrupt_restore.S -o build/tx_thread_interrupt_restore.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_schedule.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_schedule.S -o build/tx_thread_schedule.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_stack_build.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_stack_build.S -o build/tx_thread_stack_build.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_thread_system_return.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_thread_system_return.S -o build/tx_thread_system_return.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DTX_INCLUDE_USER_DEFINE_FILE -DUSE_HAL_DRIVER -DSTM32H723xx -IInc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -I../../../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../../../Drivers/CMSIS/Include -I../../../../../Middlewares/ST/threadx/common/inc/ -I../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/tx_timer_interrupt.d" ../../../../../Middlewares/ST/threadx/ports/cortex_m7/gnu/src/tx_timer_interrupt.S -o build/tx_timer_interrupt.o
arm-none-eabi-gcc build/main.o build/app_threadx.o build/app_azure_rtos.o build/stm32h7xx_it.o build/stm32h7xx_hal_msp.o build/stm32h7xx_hal_timebase_tim.o build/stm32h7xx_hal_cortex.o build/stm32h7xx_hal_rcc.o build/stm32h7xx_hal_rcc_ex.o build/stm32h7xx_hal_flash.o build/stm32h7xx_hal_flash_ex.o build/stm32h7xx_hal_gpio.o build/stm32h7xx_hal_hsem.o build/stm32h7xx_hal_dma.o build/stm32h7xx_hal_dma_ex.o build/stm32h7xx_hal_mdma.o build/stm32h7xx_hal_pwr.o build/stm32h7xx_hal_pwr_ex.o build/stm32h7xx_hal.o build/stm32h7xx_hal_i2c.o build/stm32h7xx_hal_i2c_ex.o build/stm32h7xx_hal_exti.o build/stm32h7xx_hal_tim.o build/stm32h7xx_hal_tim_ex.o build/stm32h7xx_hal_uart.o build/stm32h7xx_hal_uart_ex.o build/system_stm32h7xx.o build/tx_initialize_high_level.o build/tx_initialize_kernel_enter.o build/tx_initialize_kernel_setup.o build/tx_block_allocate.o build/tx_block_pool_cleanup.o build/tx_block_pool_create.o build/tx_block_pool_delete.o build/tx_block_pool_info_get.o build/tx_block_pool_initialize.o build/tx_block_pool_prioritize.o build/tx_block_release.o build/tx_byte_allocate.o build/tx_byte_pool_cleanup.o build/tx_byte_pool_create.o build/tx_byte_pool_delete.o build/tx_byte_pool_info_get.o build/tx_byte_pool_initialize.o build/tx_byte_pool_prioritize.o build/tx_byte_pool_search.o build/tx_byte_release.o build/tx_event_flags_cleanup.o build/tx_event_flags_create.o build/tx_event_flags_delete.o build/tx_event_flags_get.o build/tx_event_flags_info_get.o build/tx_event_flags_initialize.o build/tx_event_flags_set.o build/tx_event_flags_set_notify.o build/tx_mutex_cleanup.o build/tx_mutex_create.o build/tx_mutex_delete.o build/tx_mutex_get.o build/tx_mutex_info_get.o build/tx_mutex_initialize.o build/tx_mutex_prioritize.o build/tx_mutex_priority_change.o build/tx_mutex_put.o build/tx_queue_cleanup.o build/tx_queue_create.o build/tx_queue_delete.o build/tx_queue_flush.o build/tx_queue_front_send.o build/tx_queue_info_get.o build/tx_queue_initialize.o build/tx_queue_prioritize.o build/tx_queue_receive.o build/tx_queue_send.o build/tx_queue_send_notify.o build/tx_semaphore_ceiling_put.o build/tx_semaphore_cleanup.o build/tx_semaphore_create.o build/tx_semaphore_delete.o build/tx_semaphore_get.o build/tx_semaphore_info_get.o build/tx_semaphore_initialize.o build/tx_semaphore_prioritize.o build/tx_semaphore_put.o build/tx_semaphore_put_notify.o build/tx_thread_create.o build/tx_thread_delete.o build/tx_thread_entry_exit_notify.o build/tx_thread_identify.o build/tx_thread_info_get.o build/tx_thread_initialize.o build/tx_thread_preemption_change.o build/tx_thread_priority_change.o build/tx_thread_relinquish.o build/tx_thread_reset.o build/tx_thread_resume.o build/tx_thread_shell_entry.o build/tx_thread_sleep.o build/tx_thread_stack_analyze.o build/tx_thread_stack_error_handler.o build/tx_thread_stack_error_notify.o build/tx_thread_suspend.o build/tx_thread_system_preempt_check.o build/tx_thread_system_resume.o build/tx_thread_system_suspend.o build/tx_thread_terminate.o build/tx_thread_time_slice.o build/tx_thread_time_slice_change.o build/tx_thread_timeout.o build/tx_thread_wait_abort.o build/tx_time_get.o build/tx_time_set.o build/txe_block_allocate.o build/txe_block_pool_create.o build/txe_block_pool_delete.o build/txe_block_pool_info_get.o build/txe_block_pool_prioritize.o build/txe_block_release.o build/txe_byte_allocate.o build/txe_byte_pool_create.o build/txe_byte_pool_delete.o build/txe_byte_pool_info_get.o build/txe_byte_pool_prioritize.o build/txe_byte_release.o build/txe_event_flags_create.o build/txe_event_flags_delete.o build/txe_event_flags_get.o build/txe_event_flags_info_get.o build/txe_event_flags_set.o build/txe_event_flags_set_notify.o build/txe_mutex_create.o build/txe_mutex_delete.o build/txe_mutex_get.o build/txe_mutex_info_get.o build/txe_mutex_prioritize.o build/txe_mutex_put.o build/txe_queue_create.o build/txe_queue_delete.o build/txe_queue_flush.o build/txe_queue_front_send.o build/txe_queue_info_get.o build/txe_queue_prioritize.o build/txe_queue_receive.o build/txe_queue_send.o build/txe_queue_send_notify.o build/txe_semaphore_ceiling_put.o build/txe_semaphore_create.o build/txe_semaphore_delete.o build/txe_semaphore_get.o build/txe_semaphore_info_get.o build/txe_semaphore_prioritize.o build/txe_semaphore_put.o build/txe_semaphore_put_notify.o build/txe_thread_create.o build/txe_thread_delete.o build/txe_thread_entry_exit_notify.o build/txe_thread_info_get.o build/txe_thread_preemption_change.o build/txe_thread_priority_change.o build/txe_thread_relinquish.o build/txe_thread_reset.o build/txe_thread_resume.o build/txe_thread_suspend.o build/txe_thread_terminate.o build/txe_thread_time_slice_change.o build/txe_thread_wait_abort.o build/tx_timer_activate.o build/tx_timer_change.o build/tx_timer_create.o build/tx_timer_deactivate.o build/tx_timer_delete.o build/tx_timer_expiration_process.o build/tx_timer_info_get.o build/tx_timer_initialize.o build/tx_timer_system_activate.o build/tx_timer_system_deactivate.o build/tx_timer_thread_entry.o build/txe_timer_activate.o build/txe_timer_change.o build/txe_timer_create.o build/txe_timer_deactivate.o build/txe_timer_delete.o build/txe_timer_info_get.o build/startup_stm32h723xx.o build/tx_initialize_low_level.o build/tx_thread_context_restore.o build/tx_thread_context_save.o build/tx_thread_interrupt_control.o build/tx_thread_interrupt_disable.o build/tx_thread_interrupt_restore.o build/tx_thread_schedule.o build/tx_thread_stack_build.o build/tx_thread_system_return.o build/tx_timer_interrupt.o -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -specs=nano.specs -TSTM32H723ZGTx_FLASH.ld -lc -lm -lnosys -Wl,-Map=build/Tx_Thread_Creation.map,--cref -Wl,--gc-sections -o build/Tx_Thread_Creation.elf
arm-none-eabi-size build/Tx_Thread_Creation.elf
 text data bss dec hex filename
 26736 128 6080 32944 80b0 build/Tx_Thread_Creation.elf
arm-none-eabi-objcopy -O ihex build/Tx_Thread_Creation.elf build/Tx_Thread_Creation.hex
arm-none-eabi-objcopy -O binary -S build/Tx_Thread_Creation.elf build/Tx_Thread_Creation.bin

I've tried and it is working fine, could you try with another 'fresh' project.

regards
Haithem.

Associate
January 3, 2024

Seems to work on a clean environment with fresh console.  Maybe somewhere else in my build chain I have issues.

Associate II
July 26, 2024

Try changing all asm files extension to .s or .S all files to that format, add path of all files in cmake/make with chosen extension and define rule according to that. worked for me.

Fahar