Illegal 16-bit PC relative reference - CW10 - MCF51CN128

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

Illegal 16-bit PC relative reference - CW10 - MCF51CN128

3,448 Views
ignisuti
Contributor IV

I took an old project that was developed using CW6.3 IDE and am now trying to compile it using the CW10 IDE. I've worked through dozens of compile errors complaining about missing header files, etc... But now I'm getting the following error and am stuck. Please help.

 

 

Illegal 16-bit PC relative reference to symbol '___call_static_initializers' from address 0x0000073C in section '.text' of file 'startcf.obj '. This type of reference has a range from 4294934528 to 32767 bytes.
Labels (1)
7 Replies

1,443 Views
demo_experts
Contributor I

We were with the same problem.

Thanks for the tips.

 

 

0 Kudos
Reply

1,443 Views
kef
Specialist I

In standard settings try setting Code Generation-> Coldfire Processor-> Code Model to Far or Smart.

Error message is bit wrong. It should contain "This type of reference has a range from -32768 to 32767 bytes."

1,443 Views
ignisuti
Contributor IV

I see what you're talking about from the CW 6.3 IDE, but not the CW10 IDE. How do you get to this menu in CW10?

0 Kudos
Reply

1,443 Views
ignisuti
Contributor IV

Okay, I did find the setting CW10.

It's buried under all this: Project > Properties > C/C++ Build > Settings > Tool Settings > ColdFire Compiler > Processor > Code Model.

 

Kef, that got ride of that error. THANKS.

 

I think I'm in the home stretch as I only have Warnings now! :smileyhappy:

Would you mind providing some assistance with the following issue.

 

 

_IllegalTrap(.text_vectormap) in file VectorMap.obj is referenced but has not been written. Check your linker command file.
_ISR_Vaccerr(.text_vectormap) in file VectorMap.obj is referenced but has not been written. Check your linker command file.
_ISR_Vadc(.text_vectormap) in file VectorMap.obj is referenced but has not been written. Check your linker command file.
...
+ MANY MANY MORE warnings with similar message...

 

 

0 Kudos
Reply

1,443 Views
CrasyCat
Specialist III

Hello

 

It looks like section .text_vectormap is not allocated anywhere in your .lcf file.

 

You have to tell the linker where to allocate that section.

 

CrasyCat

0 Kudos
Reply

1,443 Views
ignisuti
Contributor IV

CrasyCat, you're right. I forgot to add the .lcf file from the old project into the new one.

 

Thanks!

 

Now the compiler is complaining about TONS of warnings for "implicit arithmetic conversion". I'm thinking it's safest to ignore these. I'd like to fix them all, but I'm still coming up to speed on this project and don't want to accidentally change the program's behavior.

0 Kudos
Reply

1,443 Views
CrasyCat
Specialist III

Hello

 

You can disable these warning messages .

 

Open project Properties dialog

Change to C/C++ Build > Settings page.

Go to ColdFire Compiler > Warnings panel

You should be able to disable some of the Implicit conversion warnings there.

 

CrasyCat

0 Kudos
Reply