Linker error. CodeWarrior for MCU Version: 10.6.4 Build Id:150416, Kinetis MK701NM0, MQX 5.1

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

Linker error. CodeWarrior for MCU Version: 10.6.4 Build Id:150416, Kinetis MK701NM0, MQX 5.1

864 Views
williambracey
Contributor I

Linker error. CodeWarrior for MCU Version: 10.6.4 Build Id:150416, Kinetis MK701NM0, MQX 5.1

Any suggestions for correcting the following errors from the linker -

arm-none-eabi-g++: error: $(MCUToolsBaseDirEnv)/ARM_GCC_Support/ewl/lib/armv7e-m/softfp/__arm_end.o: No such file or directory
arm-none-eabi-g++: error: $(MCUToolsBaseDirEnv)/ARM_GCC_Support/ewl/lib/armv7e-m/softfp/__arm_start.o: No such file or directory
arm-none-eabi-g++: error: $(PSP)/psp.a: No such file or directory
arm-none-eabi-g++: error: $(BSP)/bsp.a: No such file or directory
arm-none-eabi-g++: error: $(MFS)/mfs.a: No such file or directory
arm-none-eabi-g++: error: $(SHELL1)/shell.a: No such file or directory
mingw32-make: *** [ED_S3_EtherCAT.elf] Error 1

This is a new project where I am adapting the board support for new hardware from a previous project and moving it to use MQX 5.1 from MQX4.1.

Libraries build with no errors and the above mentioned .a files are present. Application project compiles with no errors but doesn't link.

An alternative project based on MQX5.1 builds successfully on my PC. This project fails with the same errors on a colleagues PC.

The paths to MQX5.1 folders and CW MCU v10.6.4 folders in the Project Settings look good.

The $() variables in the errors above appear to be defined in makefile.local and used by makefile both of which are auto-generated in the project output folder. The paths defined in makefile.local look good.

I have obviously failed to set something up correctly in the project.

thanks.

0 Kudos
3 Replies

643 Views
williambracey
Contributor I

Hi

I and a colleague have found the problem. Some when I must have ticked the "Customize linker input order" check box in Project Settings - C/C++ Build - Settings - Arm Ltd Windows GCC C++ Linker - Link Order. Checking and unchecking this box consistently makes it fail or link even though I made no other changes on this tab.

Having found this a search shows another forum query similar from Giovanni Casoli about a null pointer error which we also occasionally see on this tab with the box checked.

The error with linking also appears to be reported in the document CW_MCU_v10_6_UP_2_0_0_RN.pdf CodeWarrior Development Studio for Microcontrollers, v10.6 Update 2.0.0 - page 8 ENGR00319187.

 Description: When “Customize linker input order” option is enabled the project
build might finish with exception.
Workaround: Disable “Customize linker input order” in Linker settings .

Along with many other settings I can find little description of the purpose and use of this. The Freescale document merely says it can be used to change the link order which I worked out from its name anyway.

Can someone recommend a good source of information about eclipse settings and how Freescale CodeWarrior uses it - for example why Freescale CodeWarrior MQX hides the debugger .launch files in the workspace metadata?

regards

Bill

0 Kudos

643 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi William:

I would suggest you double check the real value of $(PSP) , $(BSP)... by displaying  the env variables in windows

Regards

Daniel

0 Kudos

643 Views
williambracey
Contributor I

Hi Daniel

Thanks for the reply. Where would I find those "env variables in windows"?

I've tried "DOS window/set" command and also "Start/Control Panel\All Control Panel Items\System/advanced system settings - Advanced TAB/Environment Variables button" and the Windows Environment Variables do not contain any User or System Variable names like these or any other from CodeWarrior even when I have just done a build in CodeWarrior. I am using Win 7 pro.

thanks

Bill

0 Kudos