uTasker Compile Error in MCUXpresso

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

uTasker Compile Error in MCUXpresso

跳至解决方案
1,368 次查看
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 项奖励
1 解答
1,346 次查看
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 项奖励
5 回复数
1,347 次查看
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 项奖励
1,337 次查看
HM_UoP
Contributor II

Hi Mark

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

 

 

0 项奖励
1,256 次查看
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 项奖励
1,254 次查看
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 项奖励
1,246 次查看
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 项奖励