On 28/11/2018 11:52, Arturo Perez Garcia wrote:
Yes, I'm checking the return status always. When I create the RTEMS objects and when I acquire/release the semaphore. I removed those checks from the code I put in the previous message.

Ok, good.


Thanks.

El 2018-11-28 11:42, Sebastian Huber escribió:
On 28/11/2018 11:30, Arturo Perez Garcia wrote:
Disabling the caches don't fixe the problem, I was wrong.

Maybe I'm initializing wrongly the RTEMS objects.

In the Init task I create the binary semaphore:

       rtems_semaphore_create(a3_sem_name, 1, RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO | RTEMS_LOCAL, 0, &a3_sem_id);

This call creates a binary semaphore without a locking protocol which is owned by the current task (Init task). If you do not call rtems_semaphore_release() for this semaphore within the Init task, then no other task should be able to obtain it.

I would debug the rtems_semaphore_obtain() call if this is actually the case.

--
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

Reply via email to