linker error 'undefined ARTMPYU32U'

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

linker error 'undefined ARTMPYU32U'

3,991 Views
stefat
Contributor I
hi all,
I am a rookie with CW and I am getting the linker error as per the subject just due to the following line(s) of code:
 
uint32_t ulvar;
...
ulvar = 3*ulvar;
 
After some investigations I found this same linker error glows (only) whenever attempting to do an integer multiply (between integer and/or long integer vars)
Is some include or library file missing ?
I tried some libraries (inttypes.h, math.h) with no success. I do not find ''ARTMPYU232" function in any file.
Is there anyone who can help ?
Thank you and regards
Stefano
Labels (1)
Tags (1)
0 Kudos
Reply
6 Replies

952 Views
CrasyCat
Specialist III
Hello
 
Which CPU are you targeting (HC08, HC12, Coldfire, EPPC, ...)?
It looks like you need to add some library file to your project. Name of the library file to add depends on the CPU you are targeting and on CodeWarrior version.
  To retrieve that info:
    - Start CodeWarrior
    - Select Help -> About Freescale CodeWarrior
    - Click on "Install Products"
    - CodeWarrior version used is displayed on top in the Installed Products dialog.
 
Also in order to avoid this kind of trouble I would highly recommend you to create your project using the CodeWarrior project wizard or a valid stationery for your board.
 
Creating your project from a stationery should prevent that from happening.
 
CrasyCat
0 Kudos
Reply

952 Views
stefat
Contributor I
hello CrasyCat,
I fixed the problem * ...:smileyvery-happy: cheers..... and thank you.
I copied a new design from my first one (leaving ALL support lib files in (:smileysurprised:) )... and linker (obviously) finds the referenced function.....
Sorry for my...rookieness.
 
By the way: I recall now the reason I cancelled all SUPPORT lib's: because the generated code was 54K .. instead of the few - expected - Kbytes. This takes to my consequent question:
See please the attached CW design: it is the new one running.
How big is the code ? 54K or few K's as in the right .xmap file ?
I would appreciate much your kind answer
Thanks again and regards
Stefano
 
 
 
0 Kudos
Reply

952 Views
CrasyCat
Specialist III
Hello
 
In fact you should not care about the size specified in the .mcp window. The real application code and data size is stored in the .map file.
The size specified in the .mcp window are size before dead stripping (i.e that would be the size in case your application would use all the functions defined in the run time library).
 
The linker is performing dead stripping per default. That means only the objects (functions, variables) really used in the application are linked to the application. Information written to the .map file are code and data size after dead stripping.
That is the actual application size.
 
I hope this helps. 
 
CrasyCat
0 Kudos
Reply

952 Views
stefat
Contributor I
It does.
Thank you very much for all your help.
Appreciated.
Stefano.
0 Kudos
Reply

952 Views
stefat
Contributor I
CPU: 56F801FA60
CW: .. for DSC56800/E version 8.0
 
Can u help me trying to keep the existing (fixed) design ?
To start a new one from scratch...I would re-setup all used bean etc.. not so comfortable.
Thanks for any help
rgds
Stefano
See pls attached the CW info page
0 Kudos
Reply

952 Views
stefat
Contributor I
thanks by now.
CPU is 58F801FA60
 
I did start from a stationary example....
I am going to do what you suggest.
Will advise
rgds
st
0 Kudos
Reply