Is it possible to have two processes communicate in ARM Qemu?


Yie
 

Hi,

Is there an inter-process communication functionality on Zephyr running on Linux for Qemu? 

I have an application on Zephyr that gets data from an external source. However, since I do not have the actual device, I will be emulating this on Qemu. So I will have 2 applications, one solely for generating the output. 

However, how can these two applications communicate? I know this can be done in C using named pipes. Is it possible to do that with Zephyr as well?

Any help would be much appreciated. Thanks.

Cheers,
Yie


Andrei
 

Hi,

On Thu, Sep 21, 2017 at 09:16:21PM +1200, Hui Yie Teh wrote:
Hi,

Is there an inter-process communication functionality on Zephyr running on
Linux for Qemu? 
I have an application on Zephyr that gets data from an external source.
However, since I do not have the actual device, I will be emulating this
on Qemu. So I will have 2 applications, one solely for generating the
output. 
However, how can these two applications communicate? I know this can be
done in C using named pipes. Is it possible to do that with Zephyr as
well?
We use QEMU_EXTRA_FLAGS for providing this parameter for QEMU, for
example in bluetooth we may run btproxy on Linux host and
QEMU_EXTRA_FLAGS like following:

QEMU_EXTRA_FLAGS = -serial unix:/tmp/bt-server-bredr

Best regards
Andrei Emeltchenko


Yie
 

Hi Andrei,

Thanks for your reply. Are there any other QEMU_EXTRA_FLAGS that allows applications to communicate with one another without using bluetooth? Like named pipes in C? 

Cheers.

On 21 September 2017 at 21:54, Andrei Emeltchenko <andrei.emeltchenko.news@...> wrote:
Hi,

On Thu, Sep 21, 2017 at 09:16:21PM +1200, Hui Yie Teh wrote:
>    Hi,
>
>    Is there an inter-process communication functionality on Zephyr running on
>    Linux for Qemu? 
>    I have an application on Zephyr that gets data from an external source.
>    However, since I do not have the actual device, I will be emulating this
>    on Qemu. So I will have 2 applications, one solely for generating the
>    output. 
>    However, how can these two applications communicate? I know this can be
>    done in C using named pipes. Is it possible to do that with Zephyr as
>    well?

We use QEMU_EXTRA_FLAGS for providing this parameter for QEMU, for
example in bluetooth we may run btproxy on Linux host and
QEMU_EXTRA_FLAGS like following:

QEMU_EXTRA_FLAGS = -serial unix:/tmp/bt-server-bredr

Best regards
Andrei Emeltchenko


Andrei
 

Hi,

On Fri, Sep 22, 2017 at 09:52:49AM +1200, Hui Yie Teh wrote:
Hi Andrei,

Thanks for your reply. Are there any other QEMU_EXTRA_FLAGS that allows
applications to communicate with one another without using bluetooth? Like
named pipes in C? 
You can just change it whatever you like it. In our case btproxy creates
/tmp/bt-server-bredr and qemu connects to it and present to guest OS as
a serial device.

Best regards
Andrei Emeltchenko


Cheers.
On 21 September 2017 at 21:54, Andrei Emeltchenko
<[1]andrei.emeltchenko.news@gmail.com> wrote:

Hi,
On Thu, Sep 21, 2017 at 09:16:21PM +1200, Hui Yie Teh wrote:
>    Hi,
>
>    Is there an inter-process communication functionality on Zephyr
running on
>    Linux for Qemu? 
>    I have an application on Zephyr that gets data from an external
source.
>    However, since I do not have the actual device, I will be emulating
this
>    on Qemu. So I will have 2 applications, one solely for generating
the
>    output. 
>    However, how can these two applications communicate? I know this
can be
>    done in C using named pipes. Is it possible to do that with Zephyr
as
>    well?

We use QEMU_EXTRA_FLAGS for providing this parameter for QEMU, for
example in bluetooth we may run btproxy on Linux host and
QEMU_EXTRA_FLAGS like following:

QEMU_EXTRA_FLAGS = -serial unix:/tmp/bt-server-bredr

Best regards
Andrei Emeltchenko

References

Visible links
1. mailto:andrei.emeltchenko.news@gmail.com