I am currently working with an i.MX8MM and have integrated RPMsg_Lite into the bare metal code running on the Cortex-M4.
The Coretex-A53 cluster is running QNX and having enquired on the RPMsg_Lite GitHub project they have said that it was integrated via a wrapper as a dynamic library `librpmsg_lite-imx.so` which is located in the `BSP/sr/lib/rpmsg_lite` folder.
How do I go about getting an up-to-date version compiled for QNX running on the Cortex-A53?
-Andy.
Iam currently working on NXPS32G2RDB board, i was trying to integrate RPMsg_lite into the Coretex-A53 running on QNX.
How can i proceed with this, where can i find the dependencies and other library files for S32G2 board?
Ho @aswinknp ,
S32G is quiet different architecture than i.MX for which is the shared library implemented. So there could be more porting needed. But anyway the dependencies and libraries needed should be found in BSP for the processor.
You would need to get QNX BSP for S32G from QNX. Did you find it in QNX Software Center? If not, can you ask QNX whether they have such BSP?
Best Regards,
Zdenek
I have shared the RPMsg_Lite library in this thread library.
As you say all dependencies and libraries are missing in the BSP, it could be because what I said, the architecture is different, as S32G could have different HW peripherals, then BSP has different drivers for them and the library will not match with these drivers. Then it needs to be re-worked to depend on correct drivers for this architecture.
If we specify what exactly dependency you are missing, we can say more, but probably it will because the different HW.
Best Regards,
Zdenek
you can find it attached to post below in this thread. Just download highlighted attachment.
It is only source code,you need to compile it for your target platform. But at the moment, it is written for i.MX8QM. For other platforms it would need changes.
Zdenek
Thanks for providing these informations.
Is there any documents that could help with the porting.
Or anything useful for implementing RPMsg_lite on QNX.
I am afraid we do not have general document for porting this library to other platforms. Some help could provide documentation files in the library in path qnx-rpmsg-lite-1.1.0\src\lib\rpmsg_lite\doxygen and documentation for the target BSP.
Anyway, if you stuck in some specific step during the porting process, you can ping me here and I will assist you.
Best Regards,
Zdenek
Thanks @zdenek_zadera ,
I'll start with the porting.
Also can you provide the wrapper mentioned earlier in this thread, "librpmsg_lite-imx.so". I cant find that as well , in the I.MX BSP.
Hello @aswinknp ,
the file "librpmsg_lite-imx.so", what you mentioned, is the library itself. You will get it as output from compiling sources qnx-rpmsg-lite-1.1.0\src\lib\rpmsg_lite, which is part of the package, what we shared. But before compiling, you would need to update source code of the library to suite to architecture of S32G2.
Library RPMsgLite is mainly dependent on messaging unit library (libmu....so, this library is part of QNX BSPs - in case of i.MX BSPs). I suppose it should be part of S32G2 BSP as well, so then you should check API of the library in target BSP and use this API.
You can go through S32G2 architecture, HW documentation and other useful information on this page https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32g-vehicle-ne...
Let me know if you need more info.
Best Regards,
Zdenek
The QNX BSP for S32G is available in the QNX software center, we do have it. But it is not containing any libraries or dependencies for RPMsg_lite.
Can you specify where we can find that shared library file?
Thankyou.
Hello Andy,
our development team has to release new source code for the library, then it would be accessible externally. Currently they are planning this activity and it seems they could start with with release process next week. We are sorry for the time schedule. Is it acceptable for you to get the source in next weeks?
Zdenek
That should be OK, there are plenty of other areas of the project that can be focussed on and we'll come back to this once the code is available.
-Andy.
Hello @wonk-andy,
we have just prepared release of the RPMsg Lite library version 1.1.0. It is version for i.MX8QM and we have tested it on HW board MCIMX8QM-CPU, that is it working as expected.
I am attaching the archive which contains source code of the library and readme file, which describes, how to integrate it into QNX BSP.
Just one point to extend the readme file from archive:
As the release version uses setting specific for i.MX8QM, you would need to port some HW-related settings to i.MX8MM. Useful for this work will be examples, which are part of the package. Every example contains readme file, which describes how to run the example and how should look output of the example, so this will be useful for you to check functionality of ported version.
Best Regards,
Zdenek
Andy, ok, got it. Thanks for your kind offer :). Now we are checking, whether and how to share the source code.
I will go back to you as soon as we will have response.
Zdenek
Andy,
thank you for the info. I was notified, that specifically for i.MX8MM the RPMsgLite is not supported. There is existing support for another platform i.MX8QXP/QM. We are clearing whether we can share source code for you, so then you could modify it for i.MX8MM.
Regarding the BSP, what you have. Do you have sources for BSP? For building, do you use QNX SDP 7.0, of 7.1?
Best Regards,
Zdenek
We are building with QNX SDP 7.0. The BSP that we have is a mix of source and object files but yes we can build the RPMsg_Lite from source if it can be released.
If it helps, once I have it working I am more than happy to send the changes back to NXP so that it can be included in the i.MX8MM BSPs.
-Andy.
Hi @wonk-andy,
actually, to correct response from Alejandro, we do support QNX OS. I work closely with BSP team, so hopefully I can give you wanted information.
As you mentioned, the library should be in BSP in folder `BSP/sr/lib/rpmsg_lite`.
Let me ask: why you need latest version of library separately? You did not find it in the BSP? From my point of view it should be the best to use version, which is delivered together with the BSP, but let me first know your reason, so I can help you to satisfy your needs.
Thanks.
Zdenek
I am using the BSP from Direct Insight for the KaRo TX8M-Mini module and the RPMsg_Lite library doesn't seem to be included in it.
-Andy.
Whilst I appreciate that you don't support QNX directly, I find it somewhat unlikely that no-one within NXP knows of the existence of this QNX implementation of librpmsg_lite-imx.so.
In this case, I don't believe that the Linux examples are going to be of much use as the Linux kernel includes rpmsg support and generates the device endpoints when requested.
-Andy.