Hello Diego, On 13/12/2018 13:31, Diego Mercado wrote:
Hello, I am using AMP in Rtems 4.10 and using message queues to share data between nodes. I had no problems using queues until I add a task that make several rtems_message_queue_receive, after a while the node that receives from the queue crashes (using the debugger I saw it crashed in: "rtems_mpci_entry Shm_Get_packet()"). No issues when receiving messages if I set the "no wait" option: rtems_message_queue_receive(rtemsId, data, size, RTEMS_NO_WAIT, 0); But if I set a wait, for example, of 1 second: rtems_message_queue_receive(rtemsId, data, size, RTEMS_WAIT, 100); then the node that is blocked in the queue reception stop running after several calls to rtems_message_queue_receive. With a shared memory area of 0x1000 bytes rtems_message_queue_receive can be called 9 times and the next time it stops. With 0x2000 bytes: 19 calls and it crash with the following one. With 0x3000 bytes: 29 calls and then it stops. It seems that the shared memory area is filled?I do not see any errors, program just stop running (the other node runs correctly). For local queues we have no problems. Do you have any idea why this is happening? thanks in advance Diego /* Override default SHM configuration */ shm_config_table BSP_shm_cfgtbl = { .base = (void *) 0x40000000, .length = 0x1000 };
I think you have a very specific problem and it is unlikely that someone on the mailing list faced this before. I would try to unit test the packet transfer mechanism and use a debugger to figure out what is going on.
-- 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 : [email protected] PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. _______________________________________________ users mailing list [email protected] http://lists.rtems.org/mailman/listinfo/users
