Hi Matthew,

Do you have access to the shell on a serial or telnet console?

The RTEMS shell has a "task" command that shows the state of all the tasks running in your system:

MNTB [/] # task
ID       NAME                 SHED PRI STATE  MODES    EVENTS WAITINFO
------------------------------------------------------------------------------
0a010001 USBd                 UPD  200 TIME   P:T:nA   NONE
0a010003 ERRM                 UPD   55 MSG    P:T:nA   NONE 22010003
0a010004 ADLT                 UPD   92 MSG    P:T:nA   NONE 22010006

Based on the wait info, you can work out what it is waiting on using the other shell commands, such as:

queue or sema

MNTB [/] # queue
  ID       NAME   ATTRIBUTES   PEND   MAXPEND  MAXSIZE
------------------------------------------------------------------------------
22010001   USBr    DEFAULT        0    3000        1
22010002   USBt    DEFAULT       40    10000       1
22010003   EMIQ    PR             0      15       32

In the example above, the task ERRM is waiting for a message on the queue EMIQ.

If you do not have access to the shell, you can try to follow through what the shell actually does in the code, and hopefully it will provide the information that you are looking for.

regards,

Ian Caddy



On 22/03/2019 3:41 am, Mathew Benson wrote:
What's the best way to determine the status of a task?  Is there an API to determine if its pending or a runnable state?  Is there an API to determine what its pending on?  I'm trying to determine what some tasks stopped executing and I can't use a debugger.  Preferably, can somebody point me to a symbol that I can peek?

--
*Mathew Benson*
CEO | Chief Engineer
Windhover Labs, LLC
832-640-4018


www.windhoverlabs.com <http://www.windhoverlabs.com>


_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users

Reply via email to