# How to solve the linker 'Error: L6218E Undefined symbol' when I compile a project with RTOS ThreadX?

I'm trying to compile a project where I have add the Software Pack RTOS ThreadX on a STM32F4 and I'm using uVision Keil 5.29. I have included ThreadX in the project by CubeMX (option Select Components of the Menù Software Packs).

When I compile the project created by CubeMX (I have not modified anything) the linker give the following 3 errors:

Error: L6218E: Undefined symbol __RAM_segment_used_end__ (referred from tx_initialization_low_level.o).
Error: L6218E: Undefined symbol _vectors (referred from tx_initialization_low_level.o).
Error: L6218E: Undefined symbol g_pfnVectors (referred from tx_initialization_low_level.o).


This means that the 3 symbols are not defined. All the symbols are used in the object file tx_initialization_low_level.o.
Note. The assemmbler module tx_initialization_low_level.s has been inserted in the project by RTOS ThreadX.

How can I define the 3 symbols (__RAM_segment_used_end__, _vectors, g_pfnVectors) to solve these errors?

Thanks

• Have you checked this thread on the ST forums? Jan 25 at 15:51
• Yes but in this moment I can't reinstall the Keil environment so I'm looking for an other solution. Thanks. Jan 25 at 15:56
• I don't use Keil, but I'd be surprised if you couldn't simply just update the compiler/toolchain. Jan 25 at 22:05
• @Velvel Ok when it will be possible I'll try to update the Keil toolchain and I hope that the information contained in this link are correct. Jan 26 at 7:27