Keil™, An ARM® Company

Technical Support

RTX51: LINKER GIVES UNRESOLVED EXTERN ERROR ON OS CALLS


Information in this article applies to:

  • RTX51 All Versions

QUESTION

When I try to link my RTX project (RTX-51 OR RTX-166), the linker gives a long series of errors indicating "unresolved externals" for os_start_system, among other things. It appears is if the RTX libraries are not being linked in. Why?

ANSWER

There are a few things that you have to do in order for the linker to know that your program is an RTX application rather than normal linear code.

  1. Make sure that you have included the "RTX51" or "RTX166" linker command line option. In µVision, there is a checkbox for this under Options/Linker(BL51 or L166), on the Linking tab.
  2. You MUST have a task declared and started somewhere in your project. If the linker does not see a "task," it will think that your project is normal linear code and will attempt to link it as such - thus excluding out the RTX libraries.

Last Reviewed: Saturday, July 09, 2005


Did this article provide the answer you needed?
 
Yes
No
Not Sure