Odd / Irrelevant Linker Warnings in CW v10.4

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

Odd / Irrelevant Linker Warnings in CW v10.4

Jump to solution
1,009 Views
chicagomike
Contributor III

Hi,

 

I'm working on a ColdFire project in CW v10.4. My target system is MCF51JF128, and I'm incorporating the FS USB Stack v4.1.1. My development platform is Windows 7.

 

My problem is that when I build, I get several linker warnings that look like this:

 

C:/Freescale/CW MCU v10.4/MCU/ColdFire_Tools/Command_Line_Tools/mwldmcf|Linker|Warning

>Source file "D:\workspace\ColdFire\ColdFire_Build_Tools\ewl\EWL_C\src\mem.c"

>not found, cannot display source

 

The odd thing here is that I don't have a D: drive, and none of my source files are called mem.c. Also, this doesn't seem to affect my output image at all.

 

Can anyone tell me how to clear up these warnings? I see that this question was already asked by another forum member several weeks ago, but no one ever answered him, so I'm asking again.

 

Thanks,

 

Mike

Labels (1)
0 Kudos
1 Solution
489 Views
stanish
NXP Employee
NXP Employee

Hello Mike,

Seems this is an absolute path reference located in the standard EWL library linked with your project. I'd suggest you to rebuild the libs to update the source file paths to reflect your CodeWarrior install directory.

See below the snippet from ColdFire Compiler manual ("c:\Freescale\CW MCU v10.4\MCU\Help\PDF\MCU_ColdFire_Compiler.pdf"):


How to rebuild the EWL Libraries

The files (viz. libm.a, libc.a. ...etc.) are present in the ewl\lib folder under a sub-folder v<x>, where <x> is a number indicating the coldfire architecture. If the architecture supports PIC/PID then the library files for them will be present in a sub-folder (called pi) for that architecture.

The process to rebuild the EWL library files is given below.

NOTE

The user should have access to a "make" utility within DOS.

  1. Open a DOS command prompt.
  2. Define the CWINSTALL environment variable ...

For example, if the you CWINSTALL is in the folder C:\Program Files\Freescale\CW MCU v10.x then you can define CWINSTALL as follows:

set CWINSTALL='C:/Program Files/Freescale/CW MCU V10.x/MCU'

NOTE

The single quote character (') is important because there arespaces in the path.


   3. Change your working directory to the " ewl" folder, for example, cd C:\Program Files\Freescale\CW MCU v10.x\MCU\ColdFire_Support\ewl

   4. To clean the existing library files ... <path_to_make_utility>\make -f makefile clean

       You could skip the < path_to_make_utility> if you have " make" in your PATH variable.

   5. All the library files can be re-built using the following command:

       make -s -f makefile PLATFORM=CF all cleanobj

       The "PLATFORM=CF" indicates that EWL is being re-built for ColdFire.

   6. After the make command is complete, check the lib folder and its sub-folders for the presence of libm.a, libc.a, ...etc.

    The EWL library files are rebuilt.

Hope this helps.

Stan

View solution in original post

0 Kudos
2 Replies
490 Views
stanish
NXP Employee
NXP Employee

Hello Mike,

Seems this is an absolute path reference located in the standard EWL library linked with your project. I'd suggest you to rebuild the libs to update the source file paths to reflect your CodeWarrior install directory.

See below the snippet from ColdFire Compiler manual ("c:\Freescale\CW MCU v10.4\MCU\Help\PDF\MCU_ColdFire_Compiler.pdf"):


How to rebuild the EWL Libraries

The files (viz. libm.a, libc.a. ...etc.) are present in the ewl\lib folder under a sub-folder v<x>, where <x> is a number indicating the coldfire architecture. If the architecture supports PIC/PID then the library files for them will be present in a sub-folder (called pi) for that architecture.

The process to rebuild the EWL library files is given below.

NOTE

The user should have access to a "make" utility within DOS.

  1. Open a DOS command prompt.
  2. Define the CWINSTALL environment variable ...

For example, if the you CWINSTALL is in the folder C:\Program Files\Freescale\CW MCU v10.x then you can define CWINSTALL as follows:

set CWINSTALL='C:/Program Files/Freescale/CW MCU V10.x/MCU'

NOTE

The single quote character (') is important because there arespaces in the path.


   3. Change your working directory to the " ewl" folder, for example, cd C:\Program Files\Freescale\CW MCU v10.x\MCU\ColdFire_Support\ewl

   4. To clean the existing library files ... <path_to_make_utility>\make -f makefile clean

       You could skip the < path_to_make_utility> if you have " make" in your PATH variable.

   5. All the library files can be re-built using the following command:

       make -s -f makefile PLATFORM=CF all cleanobj

       The "PLATFORM=CF" indicates that EWL is being re-built for ColdFire.

   6. After the make command is complete, check the lib folder and its sub-folders for the presence of libm.a, libc.a, ...etc.

    The EWL library files are rebuilt.

Hope this helps.

Stan

0 Kudos
489 Views
chicagomike
Contributor III

Success! That did the trick.

Thanks, Stan.

ONE NOTE: In order to follow the procedure in the manual, I had to apply a small edit to one of the make include files.

In ColdFire_Support\ewl\make.os I had to change

    ifeq ($(OSTYPE), console)

to

    ifeq ($(OS), Windows_NT)

I'm working on a Windows 7 box, but I would think that this would apply to any platform running the Win NT kernel. The problem is that there is no environment variable named OSTYPE, so the test in that line failed and caused make to assume that I was building in either Cygwin or Linux (not sure which, but it doesn't matter). I guess an alternative to editing the include file would be to create an environment variable named OSTYPE and set it equal to 'console', but that seems a bit kludgy to me.

Anyway, thanks again, Stan!

Mike

0 Kudos