cancel
Showing results for 
Search instead for 
Did you mean: 

I just added FreeRtos to my project through .ioc file. I tried to compile my project, but I get an error "Error: Cannot find the specified linker script. Check the linker settings in the build configuration.". Why am I getting this error?

SPate.4
Associate II

I just added FreeRtos to my project through .ioc file. I tried to compile my project, but I get an error "Error: Cannot find the specified linker script. Check the linker settings in the build configuration.". I am very new with CubeIDE and have only worked with IAR where the project settings have been set before I got there.

3 REPLIES 3
Cartu38 OpenDev
Lead II

Look at your build settings. Pointed linker script has to exist within your project.

Project properties are available Thanks right clicking on project within Project Explorer view.

All such is working fine on my side have you revisited by hand your project build setup at a time ? On which device are you working on ? Which IDE version are you relying on ? Possibly share your .ioc file.

0693W000006GMwhQAG.jpg

SPate.4
Associate II

I am working on a STM32747I-DISCO board. I found that the linker script setting that setting was pointing to was LinkerScript.ld which I don't have in my project. I do have two .ld files STM32H747XIHX_FLASH.ld and STM32H747XIHX_FLASH.ld. Is there a specific I one I should use, what is the difference between the two? I attached my .ioc file. I am working on STM32CUBEIDE version 1.5.0.

Typo I guess, you have STM32H747XIHX_FLASH.ld and STM32H747XIHX_RAM.ld. Do diff of both you will see one is targeting flash memory, second ram memory.

Final application has to rely on flash one. Ram one maybe used doing application development allowing some facilities (improved code loading on target, and non limited breakpoints) but ram size is less than flash and if timing critical your application may work if full in ram not if flash. My own advice would be to rely on flash one.