ARM Technical Support Knowledge Articles

RTX KERNEL NOT INCLUDED

Applies to: RTX51 Tiny Real-time Kernel

Answer


Information in this article applies to:


QUESTION

I have created a new RTX51 TINY application but the linker does not detect that I'm using the RTX TINY kernel. My program appears as follows:

void My_Task(void) _task_ 0  {
  init();
  printf("ABC");
  while(1) {
    ;
  }
}

ANSWER

The linker is not including the library because there are no calls to any of the RTX51 Tiny Library routines. It is not enought to just decleare a task. You must also call at least one routine from the RTX51 Tiny library.

To solve this problem, you may call the os_switch_task function. Then, the linker will automatically include the correct RTX51 run-time library for your application. For example:

void My_Task(void) _task_ 0  {
  init();
  os_switch_task();  // Call at least one RTX library function
  printf("ABC");
  while(1) {
    ;
  }
}

MORE INFORMATION

Article last edited on: 2005-07-17 11:04:26

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