Thanks for the info - I suspected that there was an issue with the linker but couldn't track it down in the documentation.
The reason why I want to link the whole library:
The MC9S12A512 is programmed by our students here at the University of Technology, Sydney. They get to program a custom control algorithm to control things in the lab. They are provided with a complete "framework application" which does all the usual stuff like sample the ADCs, talk to a PC via USB etc. All they have to do is come up with a control algorithm that transforms inputs to outputs (e.g. state variables, fuzzy logic, etc.) To simplify and speed-up the uploading of their algorithms, I have dedicated the Flash at 0x4000 to them. The rest of the application sits in Flash from 0xC000, which is where the runtime libraries also live. If they don't happen to use say FADD.o for floating-point addition, then the smart linker will remove that module from the link operation and "move all other modules down in memory". That means, for example, that FSUB.o is in a different place for a "student link" compared to a "my link".
I need the linker to include all the modules so that all subroutines that the students may use are sitting in memory at known fixed addresses.
The ROM library method would probably also have the same linker issue.
If anyone can think of a better way, I'd be interested to hear...
Thanks.
PMcL
Message Edited by PMcL on
2007-05-15 02:30 PM