On 25/09/2018 12:46, Catalin Demergian wrote:
Hi,
This is the result of task command in shell after SCrx task gets stuck
[/] # task
ID NAME PRI STATE MODES EVENTS WAITID WAITARG NOTES
------------------------------------------------------------------------------
0a010001 UI1 1 Wevnt P:T:nA NONE 2002a77c 0x80673a3
0a010002 LOGT 99 Wmsg P:T:nA NONE 22010001 0x80673a3
0a010003 ntwk 100 Wsysev P:T:nA NONE 2005d8a4 0x80673a3
0a010004 SCtx 100 Wsysev P:T:nA NONE 2005ed0c 0x80673a3
*0a010005 SCrx 100 READY P:T:nA 08000000 2005fd1c 0x80673a3*
0a010006 SHLL 100 READY P:T:nA NONE fef90700 0x80673a3
[/] #
SCrx is ready and my USB event is set (08000000); still, SCrx doesn't
get CPU time.
Here is the result of cpuuse at two different times
[/] # cpuuse
-------------------------------------------------------------------------------
CPU USAGE BY THREAD
------------+----------------------------------------+---------------+---------
ID | NAME | SECONDS | PERCENT
------------+----------------------------------------+---------------+---------
0x09010001 | IDLE | 9218.757029 | 99.562
0x0a010001 | UI1 | 1.067066 | 0.011
0x0a010002 | LOGT | 0.000015 | 0.000
0x0a010003 | ntwk | 0.639828 | 0.006
0x0a010004 | SCtx | 0.199488 | 0.002
*0x0a010005 | SCrx | 0.138781 | 0.001*
*0x0a010006 | SHLL | 38.550932 | 0.416*
------------+----------------------------------------+---------------+---------
TIME SINCE LAST CPU USAGE RESET IN SECONDS: 9259.353153
-------------------------------------------------------------------------------
[/] #
[/] #
[/] #
[/] # cpuuse
-------------------------------------------------------------------------------
CPU USAGE BY THREAD
------------+----------------------------------------+---------------+---------
ID | NAME | SECONDS | PERCENT
------------+----------------------------------------+---------------+---------
0x09010001 | IDLE | 9223.354634 | 99.560
0x0a010001 | UI1 | 1.067066 | 0.011
0x0a010002 | LOGT | 0.000015 | 0.000
0x0a010003 | ntwk | 0.640091 | 0.006
0x0a010004 | SCtx | 0.199519 | 0.002
*0x0a010005 | SCrx | 0.138781 | 0.001*
*0x0a010006 | SHLL | 38.674044 | 0.417*
------------+----------------------------------------+---------------+---------
TIME SINCE LAST CPU USAGE RESET IN SECONDS: 9264.074153
As seen, the shell task is getting CPU (38.674044 > 38.550932), but
SCrx is unchanged (0.138781). This is what we know.
Also the ntwk and SCtx tasks receive some CPU time in between. I guess
the scheduler data structures are somehow corrupt.
On an ARM Cortex-M system it is very important that all interrupt
service routines using operating system services use the right
entry/exit code and the right interrupt priority.
I would first try to run your application with the RTEMS master and see
if it behaves differently.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users