Skip to main content
Associate II
Aug 8, 2023 10:25 AM UTC
Question

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

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
Aug 8, 2023 10:26 AM UTC

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

Fahar
Haithem Rahmani
ST Employee
Aug 14, 2023 12:57 PM UTC

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
Aug 15, 2023 8:42 PM UTC

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
Aug 16, 2023 4:22 PM UTC

Hi @tng812 ,

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

thanks.

Visitor II
Aug 16, 2023 5:12 PM UTC

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
Aug 28, 2023 9:53 PM UTC

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
Nov 10, 2023 1:42 PM UTC

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
Nov 27, 2023 4:54 PM UTC

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
Jan 3, 2024 4:35 PM UTC

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
Jul 26, 2024 6:57 AM UTC

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
Jan 3, 2024 4:50 PM UTC

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
Jan 3, 2024 5:20 PM UTC

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

Associate II
Jul 26, 2024 7:01 AM UTC

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