Keil Logo

RTX51: Linker Gives Unresolved Extern Error on Os Calls

Information in this article applies to:

  • RTX51 All Versions


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?


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: Wednesday, November 11, 2020

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.