uTasker Compile Error in MCUXpresso

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

uTasker Compile Error in MCUXpresso

Jump to solution
895 Views
HM_UoP
Contributor II

I'm trying the uTasker (uTasker-GIT-Kinetis V2.0.0)  with the MCUXpresso IDE. I followed the steps shown in the docs "Using the μTasker project with i.MX RT in MCUXpresso", and I got an error when I tried to build the uTaskerBoot configuration.

The error is "section .text LMA [60000000,60001b89] overlaps section .text LMA [60000000,60001fff]"

The screenshot of the console with the error message also include. Is anyone can guide me? Many thanks

@mjbcswitzerland 

 

 

0 Kudos
1 Solution
873 Views
mjbcswitzerland
Specialist V

Hi

If using MCUXpresso please note that V11.5 (and above) doesn't work with the project due to a GCC linker problem with the GCC version used. Please use MCUXpresso V11.4 until this has been worked around - this can be installed in parallel to other versions.

Regards

Mark

View solution in original post

0 Kudos
5 Replies
874 Views
mjbcswitzerland
Specialist V

Hi

If using MCUXpresso please note that V11.5 (and above) doesn't work with the project due to a GCC linker problem with the GCC version used. Please use MCUXpresso V11.4 until this has been worked around - this can be installed in parallel to other versions.

Regards

Mark

0 Kudos
864 Views
HM_UoP
Contributor II

Hi Mark

Great, Thank you. Now the link error issue is solved as suggested. @mjbcswitzerland 

 

 

0 Kudos
783 Views
mjbcswitzerland
Specialist V

Hi

An additional note for completion.

This issue doesn't affect the Kinetis project where MCUXpresso can be used for Cortex-M4 and Cortex-M0+ based devices. This problem only occurs with i.MX RT (Cortex_M7 based) and so the bug in the GCC version is presumably restricted to linker scripts using SIZEOF(.text) together with M7, which always calculates to 0 with the newer GCC version and thus causes sections to overlap.

Regards

Mark

 

0 Kudos
781 Views
davenadler
Senior Contributor I

@mjbcswitzerland- Yikes, that's a nasty bug!
Do you have a link to the arm embedded bug report for this one?
Thanks,
Best Regards, Dave

0 Kudos
773 Views
mjbcswitzerland
Specialist V

Hi

I didn't find this "bug" reported anywhere and the intention was to work around it by re-writing the linker scripts (at least for i.MX RT projects) to avoid the SIZEOF() that no longer works correctly.

With gcc version 10.2.1 20201103 (and previous versions) there is no issue and the same linker script method has been used for 11 years, based on KDS references. Since around 2018 the same linker script method has been further used, adapted to suit i.MX RT. This GCC version is included in MCUXpresso 11.4.

All i.MX RT builds started failing with the GCC version in MCUXpresso 11.5 with errors due to overlapping sections, and the map files showing that all uses of SIZEOF(.text) [or maybe generally SIZEOF(.)] resolve to 0 rather that to the section size they are intended to be.

Building the projects for Kinetis (instead of i.MX) using the same linker script files as always still works though, hence the suspicion that only Cortex-M7 targets suffer the problem.

As you are probably aware the problem with processor shortages - especially Kinetis - has meant that there is a huge demand to convert existing products using Kinetis to either i.MX RT or others (like STM32) and so I have been rather inundated with such critical jobs (some smaller companies with only one product that they can no longer produce - although the market still exists to sell them - need solutions to allow the product to quickly be transferred to an alternative processor to ensure that they can survive). Therefore I have temporarily abandoned supporting the developers' forums (apart from when there is a direct @used) and also didn't invest in the linker script rework just yet (since having the older GCC in parallel is a quick workaround). I'll get to it one day though...

Regards

Mark

 

0 Kudos