Migrating Legacy Build Process to CW 10

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

Migrating Legacy Build Process to CW 10

797 Views
noisycricket
Contributor II

I am working with a Coldfire 5485, and the legacy build process is quite out of date and thus not scalable.  We are currently using a base install of Codewarrior 7.2 with a manual step of installing the E68K_Support and E68K_Tools, which are used by the target application (primarily FPU).

 

While the build executables seem to have a fairly straightforward 1-1 mapping with the new Codewarrior 10 versions, I don't how to substitute/replace these E68K_XXX dependencies.

 

Is there some sort of standard operating procedure for this migration, or can anyone provide some insight?

Labels (1)
0 Kudos
6 Replies

457 Views
noisycricket
Contributor II

* I meant 10.0.0

0 Kudos

457 Views
noisycricket
Contributor II

Crasy Cat,

 

As I have said this is a legacy process, as such, I'm not exactly sure why it is being done this way.  I am, however, quite sure I would like to update and change it.

 


It would seem that the E68K_Support and E68K_Tools directories have been manually copied into the toolchain from Codewarrior V 5.X.  Clearly this is not acceptable and must be updated, but how?

 

In so far as I understand the dependencies of this folder, the dependencies are C_4i_CF_FPU_MSL.a and C_4i_CF_FPU_Runtime.a.  When I just pull these out, I get build and link errors related to functions in these libraries that are being invoked inherently (eg. when a variable is initialized), or for some special math functions.

0 Kudos

457 Views
CrasyCat
Specialist III

Hello

 

Did you consider using the files from folder ColdFire_Support instead of E68K_Support and ColdFire_Tools instead of E68K_Tools?

 

I assume you need to use .a files as well as .h files  from ColdFire_Support.

 

I would recommend you to create a project for your target using the wizard and then importing the paths settings from Coldfire Compiler > Input panel to adjust the include paths.

You can then check the settings in the Coldfire Linker > Input panel to retrieve the appropriate path for the library files to link to the application.

 

CrasyCat

0 Kudos

457 Views
noisycricket
Contributor II

Crasy Cat,

 

I have tried just changing to the ColdFire_Support instead of E68K_Support and ColdFire_Tools instead of E68K_Tools, but this doesn't work any better than just deleting the line of that reference.  The real issue is, I don't understand how the code is invoking that library.  For example, in one function a structure being instantiated and initialized in the same line is invoking the __clear() function from the E68K library.  I don't understand how this is happening, or how to change it.

 

I have now created projects in both CW 7.2 and 10.1, I don't see anything labelled 'input panel' in either one, let alone anywhere that lists the dependencies on EWL libraries.

 

Thanks,

noisycricket

0 Kudos

457 Views
CrasyCat
Specialist III

Hello

 

  The compiler may invoke some so called runtime library functions to implement some functionality,

 

  The run time library file that needs to be linked to the application can be found in

        {Install}\MCU\Help\PDF\MCU_ColdFire_Compiler.pdf.

  Look in chapter 18 Coldfire Runtime Libraries section EWL for C and C++ Development for more information o which  

  library to use in your configuration, 

 

  The function __clear() is used to initialized a block of memory with 0. It is used when you have a local variable of type

  array or structure that is initialized with 0 inside of a function.

 

  I did a quick test on a small sample project created using the wizard and I am able to link a project with a local

  variable of type struct  initialized to 0.

  The compiler uses the function __clear from run time library without any issue.

 

  There seem to be an issue with your project.

 

Best way to progress on this one might be to submit a service request for that and to provide the whole project to our support engineers.

Click here to submit a service request.


Make sure to attach a reproducible project and installed product information to the service request.

CrasyCat

0 Kudos

457 Views
CrasyCat
Specialist III

Hello

 

I am sorry but I do not understand what you are looking for here.

 

Neither CodeWarrior V7.2 nor CodeWarrior MCU V10.x have a E68K_Support or E68K_Tools directory.

 

Where do you copy these folders from?

Why didn't you use the ColdFire_Support and ColdFire_Tools directory here?

Which portion of these folders do you need? For what?

 

 

CrasyCat

0 Kudos