ARM Technical Support Knowledge Articles

LINKER GIVES UNRESOLVED EXTERN ERROR ON OS CALLS

Applies to: RTX51 Real-time Kernel

Answer


Information in this article applies to:


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 uVision, 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.

Article last edited on: 2005-07-09 11:33:33

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential