RPMsg_Lite for QNX

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RPMsg_Lite for QNX

2,695 Views
wonk-andy
Contributor II

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. 

Tags (2)
0 Kudos
21 Replies

2,207 Views
aswinknp
Contributor I

Hi @zdenek_zadera


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?

0 Kudos

2,179 Views
zdenek_zadera
NXP Employee
NXP Employee

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

0 Kudos

2,165 Views
zdenek_zadera
NXP Employee
NXP Employee

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

0 Kudos

2,155 Views
aswinknp
Contributor I
Sorry, we cant find the RPMsg_lite library,Also can you specify where we can find the librpmsg_lite-imx.so file.
0 Kudos

2,152 Views
zdenek_zadera
NXP Employee
NXP Employee

you can find it attached to post below in this thread. Just download highlighted attachment.

zdenek_zadera_0-1690788900098.png

 

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

0 Kudos

2,120 Views
aswinknp
Contributor I

Hi @zdenek_zadera

Thanks for providing these informations.

Is there any documents that could help with the porting.

Or anything useful for implementing RPMsg_lite on QNX.

0 Kudos

2,095 Views
zdenek_zadera
NXP Employee
NXP Employee

@aswinknp ,

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

0 Kudos

2,074 Views
aswinknp
Contributor I

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.

 

0 Kudos

2,043 Views
zdenek_zadera
NXP Employee
NXP Employee

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

0 Kudos

2,171 Views
aswinknp
Contributor I

Hi @zdenek_zadera

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.

0 Kudos

2,508 Views
zdenek_zadera
NXP Employee
NXP Employee

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

0 Kudos

2,503 Views
wonk-andy
Contributor II

Hi @zdenek_zadera 

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.

0 Kudos

2,399 Views
zdenek_zadera
NXP Employee
NXP Employee

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:

  • Update Makefile in root of BSP to contain the second line including install. Otherwise the library will not be propagated into final QNX image:
    install: $(if $(wildcard prebuilt/*),prebuilt)
    $(MAKE) -Csrc hinstall
    $(MAKE) -Csrc install

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

0 Kudos

2,379 Views
wonk-andy
Contributor II
Thanks for making this available. I'll try to integrate it with the BSP over the next week or so and see how I get on!

-Andy.
0 Kudos

2,545 Views
zdenek_zadera
NXP Employee
NXP Employee

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

0 Kudos

2,551 Views
zdenek_zadera
NXP Employee
NXP Employee

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

0 Kudos

2,550 Views
wonk-andy
Contributor II

Hi @zdenek_zadera 

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.

0 Kudos

2,563 Views
zdenek_zadera
NXP Employee
NXP Employee

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

0 Kudos

2,560 Views
wonk-andy
Contributor II

Hi @zdenek_zadera 

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.

0 Kudos

2,597 Views
wonk-andy
Contributor II

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.

0 Kudos