As part of getting started activities, I could successfully build and deploy a C/C++ application on Apalis i.MX8 v1.1 / Ixora v1.3 hardware. I am using VS Code Torizon IDE extension for development.
Now, we have two working projects Application
and IO-Service
. Both of these are independent executables and are communicating well over Posix IPC. These applications are tested and running fine on RPi5 hardware.
We are planning to migrate to Apalis i.MX8.
How do I build both of these applications and deploy on same Apalis i.MX8 hardware. Provided they should communicate seamlessly.
Thanks
Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?

Hello and thank you for your question!
To deploy and run both your Application and IO-Service projects on the same Apalis i.MX8 (using the Toradex Torizon IDE extension), follow these steps:
1. Create Separate Projects for Each Application
- Using the Torizon IDE Extension for VS Code, ensure each C/C++ application is in its own project. This typically means having a separate directory and project configuration for Application and IO-Service.
- Each project should be set up as a single-container application, targeting the Apalis iMX8’s ARM 64-bit architecture (“Torizon ARMv8”).
More details:
Remote Deploy and Debug with Torizon IDE Extension
2. Build and Deploy Each Application
- For each project, use the VS Code Run/Debug panel (
Ctrl+Shift+D
) to build and deploy the containerized app to your Apalis i.MX8 board.
- Make sure your board is properly connected and selected as the target device in the extension.
3. Enable POSIX IPC Communication Between Containers
- By default, containers are isolated. For POSIX IPC (like message queues, semaphores, shared memory) to work between the containers, both must share the IPC namespace.
- In Torizon, you can change the container settings so that both share the host’s IPC namespace. In your
docker-compose.yml
file for deployment, add ipc: host
to both service definitions:
services:
application:
image: <your-application-image>
ipc: host
...
io-service:
image: <your-io-service-image>
ipc: host
...
This configuration allows both containers to communicate using POSIX IPC as if they were running on the host directly.
4. Deploy Both Applications Together
- If you want both applications to start together and communicate right away, use a single
docker-compose.yml
file describing both services as above, and deploy this stack with the Torizon IDE or via the command line.
5. Additional Notes
- Apalis iMX8 supports running multiple containerized applications in parallel thanks to its multi-core architecture and sufficient RAM:
Summary:
- Set up each application as a separate container project.
- Configure both to share the host IPC namespace via
ipc: host
.
- Use
docker-compose.yml
to deploy both together on the Apalis i.MX8 with Torizon.
Let me know if you’d like an example docker-compose.yml
, or step-by-step guidance for setting this up with the Torizon IDE!
Best regards,
Toradex AI Assistant.
Remote Deploy and Debug with Torizon IDE Extension
Apalis iMX8 Hardware Details
Hi @kushal.dalsania
The suggestion from ToradexAI seems to be the way.
Have you tested it? Did it work as expected?