cancel
Showing results for 
Search instead for 
Did you mean: 

mdk ac6 linker often fails when linking Use stm32g070rbt ,stm32f401rct

victor.wu
Associate II

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:7 in tx_timer_initialize.o(.text._tx_timer_initialize) with respect to Veneer$$LitPool. Value(0xfffff21f) out of range(0 - 0xff) for (R_ARM_THM_PC8)

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:11 in tx_timer_initialize.o(.text._tx_timer_initialize) with respect to Veneer$$LitPool. Value(0xfffff219) out of range(0 - 0xff) for (R_ARM_THM_PC8)

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:12 in tx_timer_initialize.o(.text._tx_timer_initialize) with respect to Veneer$$LitPool. Value(0xfffff218) out of range(0 - 0xff) for (R_ARM_THM_PC8)

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:0 in tx_timer_system_activate.o(.text._tx_timer_system_activate) with respect to Veneer$$LitPool. Value(0xfffff208) out of range(0 - 0xff) for (R_ARM_THM_PC8)

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:1 in tx_timer_system_activate.o(.text._tx_timer_system_activate) with respect to Veneer$$LitPool. Value(0xfffff23b) out of range(0 - 0xff) for (R_ARM_THM_PC8)

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:2 in tx_timer_system_activate.o(.text._tx_timer_system_activate) with respect to Veneer$$LitPool. Value(0xfffff23a) out of range(0 - 0xff) for (R_ARM_THM_PC8)

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:0 in user_task_f_base.o(.text.dev_draw_rect) with respect to Veneer$$LitPool. Value(0xfffff026) out of range(0 - 0xff) for (R_ARM_THM_PC8)

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:0 in dev_encrypt.o(.text.dev_id_adr_init) with respect to Veneer$$LitPool. Value(0xfffff023) out of range(0 - 0xff) for (R_ARM_THM_PC8)

sld_809_g070rbt\sld_809_cnt_g070rbt.axf: Error: L6286E: Relocation #REL:1 in dev_encrypt.o(.text.dev_id_adr_init) with respect to Veneer$$LitPool. Value(0xfffff023) out of range(0 - 0xff) for (R_ARM_THM_PC8)

Not enough information to list load addresses in the image map.

Finished: 1 information, 0 warning and 9 error messages.

"sld_809_g070rbt\sld_809_cnt_g070rbt.axf" - 9 Error(s), 0 Warning(s).

9 REPLIES 9
victor.wu
Associate II

Dear guys, can anyone help to find out what the problem is, this error occurs frequently, and this kind of problem has not occurred on stm32f303, stm32h7 chips

Perhaps look more carefully at how the libraries were initially built, the options and the settings, and model of MCU.

As the CM0 has a more limited instruction set it is more difficult to patch the code in the linker to account for external references.

If you can't resolve these, perhaps a conversation with Keil Support.​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
victor.wu
Associate II

The ac5 linker does not have this problem, but because the project needs to use threadx rtos and touchgfx, when cubemx generates the project, the default is the ac6 compiler, there should be link options to eliminate this error, but check the manual , no suitable solution was found

victor.wu
Associate II

Has anyone come across this problem and haven't found an answer yet, thanks for your help

I'm not in a position to review the files/issues.

No idea what your compiler settings are.

Open a Support Case with Keil, it's not an ST, or STM32 issue.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

By the time you get to the linker it's probably too late to fix.

With the Linker you can direct placement of objects via the scatter file.Have you tried that?

Most likely you'll need to address at the compiler stage where it creates the objects and relocation forms used later down stream.

Looks mostly to be complaining about literal pools, so perhaps look at object/function setting, or changing optimization.

Inspect the objects, get some understanding of the underlying issue/complaint.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
victor.wu
Associate II

The program is compiled in ac5, and there is no problem with linking, but the program generated by cube is ac6 by default, and the project also uses threadx rtos. This problem lies in the ac6 compiler. What parameters to set to ensure that the link does not have this error,

thanks a lot​

victor.wu
Associate II

Sometimes the optimization level of the compiler is changed to -0 , there is no problem

What does Keil Support say? Or is there some reason not to involve the one company with the power to fix the issue?

Show screen short of compiler setting that aren't working..

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..