Introducing eRPC

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

Introducing eRPC

Introducing eRPC

This tutorial is introducing the eRPC (embedded remote procedure call) open-source project.

 

The eRPC (Embedded Remote Procedure Call) is a Remote Procedure Call (RPC) system created by NXP. An RPC is a mechanism used to invoke a software routine on a remote system using a simple local function call. The remote system may be any CPU connected by an arbitrary communications channel: a server across a network, another CPU core in a multicore system, and so on. To the client, it is just like calling a function in a library built into the application. The only difference is any latency or unreliability introduced by the communications channel.

 

Important links: 

 

The eRPC is supporting multicore and multiprocessor types of applications. 

 

Where to find eRPC examples

 

  • Plenty of eRPC multicore and multiprocessor examples can be found in NXP MCUXpressoSDK packages. Visit https://mcuxpresso.nxp.com to configure, build and download these packages.
    To get the board list with multicore support (eRPC included) use filtering based on Middleware and search for 'multicore' string. Once the selected package with the multicore middleware is downloaded, see
    <MCUXpressoSDK_install_dir>/boards/<board_name>/multicore_examples for eRPC multicore examples (RPMsg_Lite or Messaging Unit transports used) or
    <MCUXpressoSDK_install_dir>/boards/<board_name>/multiprocessor_examples for eRPC multiprocessor examples (UART or SPI transports used).

    eRPC examples use the 'erpc_' name prefix.

  • Another way of getting NXP MCUXpressoSDK eRPC multicore and multiprocessor examples is using the mcux-sdk Github repo. Follow the description how to use the West tool to clone and update the mcuxsdk repo in readme Overview section. Once done the armgcc eRPC examples can be found in
    mcuxsdk/examples/<board_name>/multicore_examples or in
    mcuxsdk/examples/<board_name>/multiprocessor_examples folders.

    You can use the evkmimxrt1170 as the board_name for instance. Similar to MCUXpressoSDK packages the eRPC examples use the 'erpc_' name prefix.

 

Comments

Could anybody help me with follow ussue?:
I'm using use eRPC demo example from erpc-imx-demos on iMX6COM board.

Starting demo application on M4 side:

"Hardware initialized
eRPC intialized
MatrixMultiply service added"

adding driver in linux:
"root@imx6sxea-com:~# modprobe -v rpmsg_multiept
insmod /lib/modules/4.1.15-2.0.3+geb0b90b/kernel/drivers/rpmsg/rpmsg_multiept.ko"

(Here are not any feedback from the system that rpmsg channel was created and rpmsg folder under sys/class/rpmsg is empty)

Starting appl demo on linux:

Traceback (most recent call last):
File "example.py", line 111, in <module>
transport = erpc.transport.RpmsgTransport()
File "build/bdist.linux-armv7l/egg/erpc/transport.py", line 199, in __init__
File "build/bdist.linux-armv7l/egg/rpmsg/sysfs.py", line 116, in __init__
Exception
Exception TypeError: 'an integer is required' in <bound method RpmsgEndpoint.__del__ of <rpmsg.sysfs.RpmsgEndpoint instance at 0x764bde68>> ignored

P.S.
I've built M4 eRPC demo appl. using cmake and also eclipse.
M4 rpmsg demo appl works fine.

Hi Vadim, 

as you see in other comments, i am trying to answer as soon as possible. But this week (and maybe next) i am busy. 
But from what i see in error you should compare init function in transport.py - class RpmsgTransport

And here erpc-imx-demos/sysfs.py at master · EmbeddedRPC/erpc-imx-demos · GitHub   - class RpmsgEndpoint

Be sure that GitHub - EmbeddedRPC/erpc-imx-demos: eRPC demos for i.MX devices  is up to date and and subrepos are checkout on commits as they are aligned with erpc-imx-demos.

Maybe mareknovak‌ can help better here what is wrong. 
Looks like 

if self.id == -1:
raise Exception()

is returning -1

Hi Vadim,

Please post here: ls /sys/class/rpmsg
it looks like the nameservice was not sent from the M4 (is M4 running with the right firmware?). Because of this, a folder with dynamically announced channel from M4 was not created and therefore python cannot create rpmsg  transport...

Please check your M4 core print-outs.

Regards,
Marek

root@imx6sxea-com:~# ls /sys/class/rpmsg
root@imx6sxea-com:~#

Marek, rpmsg folder is empty.

I'll try to check sources, but as I mentioned RPMSG example works fine.

You need to run M4 app befor the python app.

Dusan, Marek,

finally I successfully started modified eRPC example. But I use C on Linux side and erpc 1.5.0 with 6x parameters rpmsg init function in M4 (Dusan tips at github concerning 6th parameter). Thank you for help. Be ready for new questions)

Hi vadimfilippenko, if you are stilll interested in using python version you can look into this thread adding MPU patch to my kernel - I cannot see the new module · Issue #2 · EmbeddedRPC/erpc-imx-demos ... . At least last two messages from mhanuel26 should be interesting for you because he was able to use python application.

Hi Dusan, Marek, community.

I've made several applications with eRPC,
M4(client)-A9(server) or M4(server)-A9(client) works fine, but I want to use client/server appl on each side.
But now it doesn't work or function from one side only executes 1 time and appl hangs.

I want to check the general structure of the code.
What I do wrong?
Should I use 2 separate FreeRTOS tasks for client and server on M4?


M4

.
.


erpc_transport_t transport = erpc_transport_rpmsg_lite_rtos_remote_init(.....);
erpc_mbf_t message_buffer_factory = erpc_mbf_rpmsg_init(transport);
erpc_server_init(transport, message_buffer_factory);
erpc_add_service_to_server(create_TEST_service());
erpc_arbitrated_client_init(transport, message_buffer_factory);

while (true)
{
erpc_server_poll();
function1(....);
}

A9

.
.


erpc_transport_t transport = erpc_transport_rpmsg_linux_init(......);
erpc_mbf_t message_buffer_factory = erpc_mbf_dynamic_init();
erpc_server_init(transport, message_buffer_factory);
erpc_add_service_to_server(create_TEST_service());
erpc_arbitrated_client_init(transport, message_buffer_factory);

while (true)
{
erpc_server_poll();
function2(....);
}

Hi Vadim,

Generally yes you need two tasks. One for client and one for server. Issue is also that output from erpc_arbitrated_client_init you have to put as a parameter to init server

Hi, Dusan.

It helped. By the way it was mentioned in example in header file.

The function call from A9 works fine and M4 returns data.

But now the issue is when M4 calls function. The error is appears in A9 "Waiting MU transmit buffer empty timeout!
ugh, imx_mu_rpmsg_send() failed: -5". 

After this error data function call doesn't work in another side too: "rpmsg_multiept rpmsg0: virtqueue_add_outbuf failed: -5"

What should I check?

Thank you for your help.

Hi Dusan,

I want to port eRPC over TCP socket.

I ran your example test code(test_arrays) over virtual serial(inside linux) and the response time taken for serial is less than 1ms.

When I ran the same example code over TCP, the response time is taken for TCP is around 90ms.

Is there a way to reduce the latency and increase the performance over TCP as like as serial?

Thanks,

Sasidharan.

Hi sasicsepsg@gmail.com‌,

Maybe you can ask guys on github (in same topic, or create new one). There are at least two guys who where doing something with TCP:
github: GitHub - EmbeddedRPC/erpc: Embedded RPC 

thread1:Server with TCP Transport handling multiple connections · Issue #32 · EmbeddedRPC/erpc · GitHub 

thread2:TCP Example client / server code · Issue #39 · EmbeddedRPC/erpc · GitHub 

Personaly i found this, but i don't know if this is your case and if it will help: linux - Low latency TCP settings on Ubuntu 

Hi Dusan,

Thanks for the quick response.

I could able to achieve better performance(response in microsec) in TCP by disabling the Nagel's algorithm using the below API call on both client and server socket connection.

int result = setsockopt(sock,            /* socket affected */

                        IPPROTO_TCP,     /* set option at TCP level */

                        TCP_NODELAY,     /* name of option */

                        (char *) &flag,  /* the cast is historical cruft */

                        sizeof(int));    /* length of option value */

Reference : TCP_NODELAY: 2018 Best Practices for TCP Optimization | ExtraHop 

Thanks,

Sasidharan.

Hi sasicsepsg@gmail.com‌,

Thank you to let us know. It is funny, i read about this today because of another project :smileygrin:

Hi Dusan,

I am working with Chandini here at Cubic. I just wanted to get extra info about eRPC when called from multiple threads. At the moment we are using a single end point and using this for one off calls that complete before making the next call. Now we'd potentially like to make multiple calls from multiple threads so we're wondering the best way to do this.

In fact with my lack of knowledge here we've tried making other calls concurrently, well we didn't realise we were doing this until there was an issue.

Now we see comms failure error codes coming back from the eRPC.

Can a single end point be used for this i.e. should this be thread safe on the client side?

If not should we use a separate end point for each thread,

or should we be doing something else?

Regards

Lee

Hi lee.baker@cubic.com,

i didn't have big experience in this area. Recently we had to add some mutexes when multiple erpc calls were called from multiple taks. But i like your idea. 

I quickly looked into source code. You need to specify your usecase. But i think it is imx Linux vs Mcore using RPSMG. In this case i think you can add mutexes as we did (which will serialize eRPC calls. you would need add them somewhere in performRequest function). The creating endpoints for each thread sounds good to me, but i see more issues which has to be solved. The smaller solution could looks like: transport init function will initialize more endpoints (based on number of tasks), eRPC rpmsg send/receive function on client side change to use unused undepoint to send and same endpoint for receive messages, eRPC rpmsg receive function on server need wait for message on all endpoints.
I don't know if it is simple task or more complicated for you. But i am affraid that without modification to code you will be not able to have multithread calls.

Hi Dusan,

     

             Has eRPC been ported to NXP MPC5748G ? Is there any example code I can reference?

Best Regards,

Alex

HI cccheng914@gmail.com‌,

I don't know about official usage of eRPC on MPC5748G. Just the remind: eRPC depends on program language, OS, transport layer. There are not board specific files. So if there is used Freertos and C language you almost win, you need just port transport you want to use (if it is not already).

%3CLINGO-SUB%20id%3D%22lingo-sub-1099139%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIntroducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099139%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EThis%20tutorial%20is%20introducing%20the%20eRPC%20(embedded%20remote%20procedure%20call)%20open-source%20project.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3EThe%20eRPC%20(Embedded%20Remote%20Procedure%20Call)%20is%20a%20Remote%20Procedure%20Call%20(RPC)%20system%20created%20by%20NXP.%20An%20RPC%20is%20a%20mechanism%20used%20to%20invoke%20a%20software%20routine%20on%20a%20remote%20system%20using%20a%20simple%20local%20function%20call.%20The%20remote%20system%20may%20be%20any%20CPU%20connected%20by%20an%20arbitrary%20communications%20channel%3A%20a%20server%20across%20a%20network%2C%20another%20CPU%20core%20in%20a%20multicore%20system%2C%20and%20so%20on.%20To%20the%20client%2C%20it%20is%20just%20like%20calling%20a%20function%20in%20a%20library%20built%20into%20the%20application.%20The%20only%20difference%20is%20any%20latency%20or%20unreliability%20introduced%20by%20the%20communications%20channel.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3E%3CSTRONG%3EImportant%20links%3A%26nbsp%3B%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CUL%20style%3D%22padding%3A%200px%200px%200px%2030px%3B%22%3E%0A%3CLI%20style%3D%22margin%3A%200.2em%200px%3B%22%3E%3CSPAN%3EEverything%20related%20to%20the%20eRPC%20development%20is%20placed%26nbsp%3B%3CA%20style%3D%22color%3A%20%232989c5%3B%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EGitHub%20-%20eRPC%20base%3C%2FA%3E.%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%20style%3D%22margin%3A%200.2em%200px%3B%22%3E%3CSPAN%3EThe%20eRPC%20development%20is%20placed%26nbsp%3B%3CA%20style%3D%22color%3A%20%232989c5%3B%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EGitHub%20-%20eRPC%20development%3C%2FA%3E.%26nbsp%3B%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%20style%3D%22margin%3A%200.2em%200px%3B%22%3E%3CSPAN%3EThe%20eRPC%20releases%20are%20placed%26nbsp%3B%3CA%20style%3D%22color%3A%20%232989c5%3B%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Freleases%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Freleases%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EGitHub%20-%20eRPC%20Releases%3C%2FA%3E.%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%20style%3D%22margin%3A%200.2em%200px%3B%22%3E%3CSPAN%3EThe%20eRPC%20documentation%20is%20placed%26nbsp%3B%3CA%20style%3D%22color%3A%20%232989c5%3B%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fwiki%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fwiki%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EGithub%20-%20eRPC%20wiki%3C%2FA%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%20style%3D%22margin%3A%200.2em%200px%3B%22%3E%3CSPAN%3EThe%20eRPC%26nbsp%3Bas%26nbsp%3B%3CA%20style%3D%22color%3A%20%232989c5%3B%22%20title%3D%22https%3A%2F%2Fpypi.python.org%2Fpypi%2Ferpc%22%20href%3D%22https%3A%2F%2Fpypi.python.org%2Fpypi%2Ferpc%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EPython%20Package%3C%2FA%3E%26nbsp%3Bon%20pypi%26nbsp%3B%3C%2FSPAN%3E%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3EThe%20eRPC%20is%20supporting%20multicore%20and%20multiprocessor%20types%20of%20applications.%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3E%3CSTRONG%3EWhere%20to%20find%20eRPC%20examples%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CUL%3E%0A%3CLI%3EPlenty%20of%20eRPC%20multicore%20and%20multiprocessor%20examples%20can%20be%20found%20in%20NXP%20MCUXpressoSDK%20packages.%20Visit%20%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fmcuxpresso.nxp.com%3C%2FA%3E%20to%20configure%2C%20build%20and%20download%20these%20packages.%3CBR%20%2F%3ETo%20get%20the%20board%20list%20with%20multicore%20support%20(eRPC%20included)%20use%20filtering%20based%20on%20Middleware%20and%20search%20for%20'multicore'%20string.%20Once%20the%20selected%20package%20with%20the%20multicore%20middleware%20is%20downloaded%2C%20see%3CBR%20%2F%3E%3CEM%3E%3CMCUXPRESSOSDK_INSTALL_DIR%3E%2Fboards%2F%3CBOARD_NAME%3E%2Fmulticore_examples%3C%2FBOARD_NAME%3E%3C%2FMCUXPRESSOSDK_INSTALL_DIR%3E%3C%2FEM%3E%20for%20eRPC%20multicore%20examples%20(RPMsg_Lite%20or%20Messaging%20Unit%20transports%20used)%20or%3CBR%20%2F%3E%3CEM%3E%3CMCUXPRESSOSDK_INSTALL_DIR%3E%2Fboards%2F%3CBOARD_NAME%3E%2Fmultiprocessor_examples%3C%2FBOARD_NAME%3E%3C%2FMCUXPRESSOSDK_INSTALL_DIR%3E%3C%2FEM%3E%20for%20eRPC%20multiprocessor%20examples%20(UART%20or%20SPI%20transports%20used).%3CBR%20%2F%3E%3CBR%20%2F%3EeRPC%20examples%20use%20the%20'erpc_'%20name%20prefix.%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLI%3E%0A%3CLI%3EAnother%20way%20of%20getting%20NXP%20MCUXpressoSDK%20eRPC%20multicore%20and%20multiprocessor%20examples%20is%20using%20the%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-mcuxpresso%2Fmcux-sdk%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Emcux-sdk%3C%2FA%3E%20Github%20repo.%20Follow%20the%20description%20how%20to%20use%20the%20West%20tool%20to%20clone%20and%20update%20the%20mcuxsdk%20repo%20in%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-mcuxpresso%2Fmcux-sdk%23overview%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ereadme%20Overview%20section%3C%2FA%3E.%20Once%20done%20the%20armgcc%20eRPC%20examples%20can%20be%20found%20in%3CBR%20%2F%3E%3CEM%3Emcuxsdk%2Fexamples%2F%3CBOARD_NAME%3E%2Fmulticore_examples%3C%2FBOARD_NAME%3E%3C%2FEM%3E%20or%20in%3CBR%20%2F%3E%3CEM%3Emcuxsdk%2Fexamples%2F%3CBOARD_NAME%3E%2Fmultiprocessor_examples%3C%2FBOARD_NAME%3E%3C%2FEM%3E%20folders.%3CBR%20%2F%3E%3CBR%20%2F%3EYou%20can%20use%20the%20evkmimxrt1170%20as%20the%20board_name%20for%20instance.%20Similar%20to%20MCUXpressoSDK%20packages%20the%20eRPC%20examples%20use%20the%20'erpc_'%20name%20prefix.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099208%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099208%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Kunal%2C%20it%20seems%20your%20question%20is%20addressed%20here%3A%20%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Fissues%2F5%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Fissues%2F5%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3ENeed%20Help-Step%20by%20Step%20procedure%20to%20implement%20eRPC%20in%20iMx6sx%20%3F%20%C2%B7%20Issue%20%235%20%C2%B7%20EmbeddedRPC%2Ferpc-imx-demos%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099207%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099207%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHI%26nbsp%3B%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fcccheng914%40gmail.com%22%20target%3D%22_blank%22%3Ecccheng914%40gmail.com%3C%2FA%3E%E2%80%8C%2C%3C%2FP%3E%3CP%3EI%20don't%20know%20about%20official%20usage%20of%20eRPC%20on%26nbsp%3B%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3EMPC5748G.%20Just%20the%20remind%3A%20eRPC%20depends%20on%20program%20language%2C%20OS%2C%20transport%20layer.%20There%20are%20not%20board%20specific%20files.%20So%20if%20there%20is%20used%20Freertos%20and%20C%20language%20you%20almost%20win%2C%20you%20need%20just%20port%20transport%20you%20want%20to%20use%20(if%20it%20is%20not%20already).%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099206%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099206%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3EHi%20Dusan%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BHas%20eRPC%20been%20ported%20to%20NXP%20MPC5748G%20%3F%26nbsp%3BIs%20there%20any%20example%20code%20I%20can%20reference%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3EBest%20Regards%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3EAlex%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099205%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099205%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Flee.baker%40cubic.com%22%20target%3D%22_blank%22%3Elee.baker%40cubic.com%3C%2FA%3E%2C%3C%2FP%3E%3CP%3Ei%20didn't%20have%20big%20experience%20in%20this%20area.%20Recently%20we%20had%20to%20add%20some%20mutexes%20when%20multiple%20erpc%20calls%20were%26nbsp%3Bcalled%20from%20multiple%20taks.%26nbsp%3BBut%20i%20like%20your%20idea.%26nbsp%3B%3C%2FP%3E%3CP%3EI%20quickly%20looked%20into%20source%20code.%20You%20need%20to%20specify%20your%20usecase.%20But%20i%20think%20it%20is%20imx%20Linux%20vs%20Mcore%20using%20RPSMG.%20In%20this%20case%20i%20think%20you%20can%20add%20mutexes%20as%20we%20did%20(which%20will%20serialize%20eRPC%20calls.%20you%20would%20need%20add%20them%20somewhere%20in%20performRequest%20function).%20The%20creating%20endpoints%20for%20each%20thread%20sounds%20good%20to%20me%2C%20but%20i%20see%20more%20issues%20which%20has%20to%20be%20solved.%20The%20smaller%20solution%20could%20looks%20like%3A%20transport%20init%20function%20will%20initialize%20more%20endpoints%20(based%20on%20number%20of%20tasks)%2C%20eRPC%20rpmsg%20send%2Freceive%20function%20on%20client%20side%20change%20to%20use%20unused%20undepoint%20to%20send%20and%20same%20endpoint%20for%20receive%20messages%2C%26nbsp%3B%3CSPAN%3EeRPC%20rpmsg%20receive%20function%20on%20server%20need%20wait%20for%20message%20on%20all%20endpoints.%3CBR%20%2F%3EI%20don't%20know%20if%20it%20is%20simple%20task%20or%20more%20complicated%20for%20you.%20But%20i%20am%20affraid%20that%20without%20modification%20to%20code%20you%20will%20be%20not%20able%20to%20have%20multithread%20calls.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099204%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099204%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20am%20working%20with%20Chandini%20here%20at%20Cubic.%20I%20just%20wanted%20to%20get%20extra%20info%20about%20eRPC%20when%20called%20from%20multiple%20threads.%20At%20the%20moment%20we%20are%20using%20a%20single%20end%20point%20and%20using%20this%20for%20one%20off%20calls%20that%20complete%20before%20making%20the%20next%20call.%20Now%20we'd%20potentially%20like%20to%20make%20multiple%20calls%20from%20multiple%20threads%20so%20we're%20wondering%20the%20best%20way%20to%20do%20this.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EIn%20fact%20with%20my%20lack%20of%20knowledge%20here%20we've%20tried%20making%20other%20calls%20concurrently%2C%20well%20we%20didn't%20realise%20we%20were%20doing%20this%20until%20there%20was%20an%20issue.%3C%2FP%3E%3CP%3ENow%20we%20see%20comms%20failure%20error%20codes%20coming%20back%20from%20the%20eRPC.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ECan%20a%20single%20end%20point%20be%20used%20for%20this%20i.e.%20should%20this%20be%20thread%20safe%20on%20the%20client%20side%3F%3C%2FP%3E%3CP%3EIf%20not%20should%20we%20use%20a%20separate%20end%20point%20for%20each%20thread%2C%3C%2FP%3E%3CP%3Eor%20should%20we%20be%20doing%20something%20else%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ERegards%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ELee%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099203%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099203%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fsasicsepsg%40gmail.com%22%20target%3D%22_blank%22%3Esasicsepsg%40gmail.com%3C%2FA%3E%E2%80%8C%2C%3C%2FP%3E%3CP%3EThank%20you%20to%20let%20us%20know.%20It%20is%20funny%2C%20i%20read%20about%20this%20today%20because%20of%20another%20project%20%3Asmileygrin%3A%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099202%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099202%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%20for%20the%20quick%20response.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20could%20able%20to%20achieve%20better%26nbsp%3Bperformance(response%20in%20microsec)%20in%20TCP%20by%20disabling%20the%20Nagel's%20algorithm%20using%20the%20below%20API%20call%20on%20both%20client%20and%20server%20socket%20connection.%3C%2FP%3E%3CP%20style%3D%22background%3A%20%23EFF0F1%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23242729%3B%20border%3A%20none%20windowtext%201.0pt%3B%20padding%3A%200cm%3B%20background%3A%20%23EFF0F1%3B%22%3Eint%20result%20%3D%20setsockopt(sock%2C%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F*%20socket%20affected%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22background%3A%20%23EFF0F1%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23242729%3B%20border%3A%20none%20windowtext%201.0pt%3B%20padding%3A%200cm%3B%20background%3A%20%23EFF0F1%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20IPPROTO_TCP%2C%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F*%20set%20option%20at%20TCP%20level%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22background%3A%20%23EFF0F1%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23242729%3B%20border%3A%20none%20windowtext%201.0pt%3B%20padding%3A%200cm%3B%20background%3A%20%23EFF0F1%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20TCP_NODELAY%2C%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F*%20name%20of%20option%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22background%3A%20%23EFF0F1%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23242729%3B%20border%3A%20none%20windowtext%201.0pt%3B%20padding%3A%200cm%3B%20background%3A%20%23EFF0F1%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20(char%20*)%20%26amp%3Bflag%2C%26nbsp%3B%20%2F*%20the%20cast%20is%20historical%20cruft%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22background%3A%20%23EFF0F1%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23242729%3B%20border%3A%20none%20windowtext%201.0pt%3B%20padding%3A%200cm%3B%20background%3A%20%23EFF0F1%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20sizeof(int))%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F*%20length%20of%20option%20value%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EReference%20%3A%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fwww.extrahop.com%2Fcompany%2Fblog%2F2016%2Ftcp-nodelay-nagle-quickack-best-practices%2F%22%20title%3D%22https%3A%2F%2Fwww.extrahop.com%2Fcompany%2Fblog%2F2016%2Ftcp-nodelay-nagle-quickack-best-practices%2F%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3ETCP_NODELAY%3A%202018%20Best%20Practices%20for%20TCP%20Optimization%20%7C%20ExtraHop%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3ESasidharan.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099201%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099201%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fsasicsepsg%40gmail.com%22%20target%3D%22_blank%22%3Esasicsepsg%40gmail.com%3C%2FA%3E%E2%80%8C%2C%3C%2FP%3E%3CP%3EMaybe%20you%20can%20ask%20guys%20on%20github%20(in%20same%20topic%2C%20or%20create%20new%20one).%20There%20are%20at%20least%20two%20guys%20who%20where%20doing%20something%20with%20TCP%3A%3CBR%20%2F%3Egithub%3A%20%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGitHub%20-%20EmbeddedRPC%2Ferpc%3A%20Embedded%20RPC%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3Ethread1%3A%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fissues%2F32%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fissues%2F32%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EServer%20with%20TCP%20Transport%20handling%20multiple%20connections%20%C2%B7%20Issue%20%2332%20%C2%B7%20EmbeddedRPC%2Ferpc%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3Ethread2%3A%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fissues%2F39%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fissues%2F39%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3ETCP%20Example%20client%20%2F%20server%20code%20%C2%B7%20Issue%20%2339%20%C2%B7%20EmbeddedRPC%2Ferpc%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EPersonaly%20i%20found%20this%2C%20but%20i%20don't%20know%20if%20this%20is%20your%20case%20and%20if%20it%20will%20help%3A%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fserverfault.com%2Fquestions%2F623780%2Flow-latency-tcp-settings-on-ubuntu%22%20title%3D%22https%3A%2F%2Fserverfault.com%2Fquestions%2F623780%2Flow-latency-tcp-settings-on-ubuntu%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Elinux%20-%20Low%20latency%20TCP%20settings%20on%20Ubuntu%26nbsp%3B%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099200%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099200%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20want%20to%20port%20eRPC%20over%20TCP%20socket.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20ran%20your%20example%20test%20code(test_arrays)%20over%20virtual%20serial(inside%20linux)%20and%20the%20response%20time%20taken%20for%20serial%20is%20less%20than%201ms.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EWhen%20I%20ran%20the%20same%20example%20code%20over%20TCP%2C%20the%20response%20time%20is%20taken%20for%20TCP%20is%20around%2090ms.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EIs%20there%20a%20way%20to%20reduce%20the%20latency%20and%20increase%20the%20performance%20over%20TCP%20as%20like%20as%20serial%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3ESasidharan.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099199%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099199%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20Dusan.%3C%2FP%3E%3CP%3EIt%20helped.%20By%20the%20way%20it%20was%20mentioned%20in%20example%20in%20header%20file.%3C%2FP%3E%3CP%3EThe%20function%20call%20from%20A9%20works%20fine%20and%20M4%20returns%20data.%3C%2FP%3E%3CP%3EBut%20now%20the%20issue%20is%20when%20M4%20calls%20function.%20The%20error%20is%20appears%20in%20A9%20%22Waiting%20MU%20transmit%20buffer%20empty%20timeout!%3CBR%20%2F%3Eugh%2C%20imx_mu_rpmsg_send()%20failed%3A%20-5%22.%26nbsp%3B%3C%2FP%3E%3CP%3EAfter%20this%20error%20data%20function%20call%20doesn't%20work%20in%20another%20side%20too%3A%20%22rpmsg_multiept%20rpmsg0%3A%20virtqueue_add_outbuf%20failed%3A%20-5%22%3C%2FP%3E%3CP%3EWhat%20should%20I%20check%3F%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20help.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099198%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099198%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Vadim%2C%3C%2FP%3E%3CP%3EGenerally%20yes%20you%20need%20two%20tasks.%20One%20for%20client%20and%20one%20for%20server.%20Issue%20is%20also%20that%20output%20from%26nbsp%3B%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E%3CSTRONG%3Eerpc_arbitrated_client_init%3C%2FSTRONG%3E%20you%20have%20to%20put%20as%20a%20parameter%20to%3CSTRONG%3E%20init%20server%3C%2FSTRONG%3E.%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099197%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099197%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%2C%20Marek%2C%20community.%3C%2FP%3E%3CP%3EI've%20made%20several%20applications%20with%20eRPC%2C%3CBR%20%2F%3EM4(client)-A9(server)%20or%20M4(server)-A9(client)%20works%20fine%2C%20but%20I%20want%20to%20use%20client%2Fserver%20appl%20on%20each%20side.%3CBR%20%2F%3EBut%20now%20it%20doesn't%20work%20or%20function%20from%20one%20side%20only%20executes%201%20time%20and%20appl%20hangs.%3C%2FP%3E%3CP%3EI%20want%20to%20check%20the%20general%20structure%20of%20the%20code.%3CBR%20%2F%3EWhat%20I%20do%20wrong%3F%3CBR%20%2F%3EShould%20I%20use%202%20separate%20FreeRTOS%20tasks%20for%20client%20and%20server%20on%20M4%3F%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EM4%3C%2FP%3E%3CP%3E.%3CBR%20%2F%3E.%3C%2FP%3E%3CP%3E%3CBR%20%2F%3Eerpc_transport_t%20transport%20%3D%20erpc_transport_rpmsg_lite_rtos_remote_init(.....)%3B%3CBR%20%2F%3Eerpc_mbf_t%20message_buffer_factory%20%3D%20erpc_mbf_rpmsg_init(transport)%3B%3CBR%20%2F%3Eerpc_server_init(transport%2C%20message_buffer_factory)%3B%3CBR%20%2F%3Eerpc_add_service_to_server(create_TEST_service())%3B%3CBR%20%2F%3Eerpc_arbitrated_client_init(transport%2C%20message_buffer_factory)%3B%3C%2FP%3E%3CP%3Ewhile%20(true)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20erpc_server_poll()%3B%3CBR%20%2F%3E%20function1(....)%3B%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3EA9%3C%2FP%3E%3CP%3E.%3CBR%20%2F%3E.%3C%2FP%3E%3CP%3E%3CBR%20%2F%3Eerpc_transport_t%20transport%20%3D%20erpc_transport_rpmsg_linux_init(......)%3B%3CBR%20%2F%3Eerpc_mbf_t%20message_buffer_factory%20%3D%20erpc_mbf_dynamic_init()%3B%3CBR%20%2F%3Eerpc_server_init(transport%2C%20message_buffer_factory)%3B%3CBR%20%2F%3Eerpc_add_service_to_server(create_TEST_service())%3B%3CBR%20%2F%3Eerpc_arbitrated_client_init(transport%2C%20message_buffer_factory)%3B%3C%2FP%3E%3CP%3Ewhile%20(true)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20erpc_server_poll()%3B%3CBR%20%2F%3E%20function2(....)%3B%3CBR%20%2F%3E%7D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099196%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099196%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fvadimfilippenko%22%20target%3D%22_blank%22%3Evadimfilippenko%3C%2FA%3E%2C%20if%20you%20are%20stilll%20interested%20in%20using%20python%20version%20you%20can%20look%20into%20this%20thread%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Fissues%2F2%23issuecomment-375847700%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Fissues%2F2%23issuecomment-375847700%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Eadding%20MPU%20patch%20to%20my%20kernel%20-%20I%20cannot%20see%20the%20new%20module%20%C2%B7%20Issue%20%232%20%C2%B7%20EmbeddedRPC%2Ferpc-imx-demos%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B.%20At%20least%20last%20two%20messages%20from%26nbsp%3B%3CSTRONG%20style%3D%22font-weight%3A%20600%3B%22%3E%3CA%20data-hovercard-user-id%3D%222257779%22%20href%3D%22https%3A%2F%2Fgithub.com%2Fmhanuel26%22%20style%3D%22color%3A%20%23586069%3B%20background-color%3A%20transparent%3B%20text-decoration%3A%20none%3B%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Emhanuel26%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3Eshould%20be%20interesting%20for%20you%20because%20he%20was%20able%20to%20use%20python%20application.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099195%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099195%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDusan%2C%20Marek%2C%3C%2FP%3E%3CP%3Efinally%20I%20successfully%20started%20modified%20eRPC%20example.%20But%20I%20use%20C%20on%20Linux%20side%20and%20erpc%201.5.0%20with%206x%20parameters%20rpmsg%20init%20function%20in%20M4%20(Dusan%20tips%20at%20github%20concerning%206th%20parameter).%20Thank%20you%20for%20help.%20Be%20ready%20for%20new%20questions)%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099194%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099194%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EYou%20need%20to%20run%20M4%20app%20befor%20the%20python%20app.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099192%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099192%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Vadim%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EPlease%20post%20here%3A%20ls%26nbsp%3B%3CSPAN%20style%3D%22color%3A%20%23032f62%3B%20background-color%3A%20%23ffffff%3B%22%3E%2Fsys%2Fclass%2Frpmsg%3C%2FSPAN%3E%3CBR%20%2F%3Eit%20looks%20like%20the%20nameservice%20was%20not%20sent%20from%20the%20M4%20(is%20M4%20running%20with%20the%20right%20firmware%3F).%20Because%20of%20this%2C%20a%20folder%20with%20dynamically%20announced%20channel%20from%20M4%20was%20not%20created%20and%20therefore%20python%20cannot%20create%20rpmsg%26nbsp%3B%20transport...%3CBR%20%2F%3E%3CBR%20%2F%3EPlease%20check%20your%20M4%20core%20print-outs.%3CBR%20%2F%3E%3CBR%20%2F%3ERegards%2C%3CBR%20%2F%3EMarek%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099191%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099191%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Vadim%2C%26nbsp%3B%3C%2FP%3E%3CP%3Eas%20you%20see%20in%20other%20comments%2C%20i%20am%20trying%20to%20answer%20as%20soon%20as%20possible.%20But%20this%20week%20(and%20maybe%20next)%20i%20am%20busy.%26nbsp%3B%3CBR%20%2F%3EBut%20from%20what%20i%20see%20in%20error%20you%20should%20compare%20%3CSTRONG%3Einit%3C%2FSTRONG%3E%20function%20in%20transport.py%20-%20class%26nbsp%3BRpmsgTransport%3C%2FP%3E%3CP%3EAnd%20here%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Fblob%2Fmaster%2Fmiddleware%2Frpmsg-python%2Frpmsg%2Fsysfs.py%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Fblob%2Fmaster%2Fmiddleware%2Frpmsg-python%2Frpmsg%2Fsysfs.py%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Eerpc-imx-demos%2Fsysfs.py%20at%20master%20%C2%B7%20EmbeddedRPC%2Ferpc-imx-demos%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%20%26nbsp%3B-%20class%26nbsp%3B%3CSPAN%20style%3D%22color%3A%20%236f42c1%3B%20background-color%3A%20%23ffffff%3B%22%3ERpmsgEndpoint%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EBe%20sure%20that%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGitHub%20-%20EmbeddedRPC%2Ferpc-imx-demos%3A%20eRPC%20demos%20for%20i.MX%20devices%3C%2FA%3E%26nbsp%3B%20is%20up%20to%20date%20and%20and%20subrepos%20are%20checkout%20on%20commits%20as%20they%20are%20aligned%20with%20erpc-imx-demos.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMaybe%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fmareknovak%22%20target%3D%22_blank%22%3Emareknovak%3C%2FA%3E%E2%80%8C%20can%20help%20better%20here%20what%20is%20wrong.%26nbsp%3B%3CBR%20%2F%3ELooks%20like%26nbsp%3B%3C%2FP%3E%3CTABLE%20data-tab-size%3D%228%22%20style%3D%22color%3A%20%2324292e%3B%20background-color%3A%20%23ffffff%3B%22%3E%3CTBODY%3E%3CTR%3E%3CTD%20class%3D%22%22%20style%3D%22color%3A%20%2324292e%3B%20padding%3A%200px%2010px%3B%22%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d73a49%3B%22%3Eif%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23005cc5%3B%22%3Eself%3C%2FSPAN%3E.id%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d73a49%3B%22%3E%3D%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d73a49%3B%22%3E-%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23005cc5%3B%22%3E1%3C%2FSPAN%3E%3A%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%20class%3D%22%22%20data-line-number%3D%22116%22%20style%3D%22color%3A%20rgba(27%2C%2031%2C%2035%2C%200.3)%3B%20padding%3A%200px%2010px%3B%22%3E%3C%2FTD%3E%3CTD%20class%3D%22%22%20style%3D%22color%3A%20%2324292e%3B%20padding%3A%200px%2010px%3B%22%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d73a49%3B%22%3Eraise%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23005cc5%3B%22%3EException%3C%2FSPAN%3E()%3C%2FTD%3E%3C%2FTR%3E%3C%2FTBODY%3E%3C%2FTABLE%3E%3CP%3E%3C%2FP%3E%3CP%3Eis%20returning%20-1%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099190%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099190%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ECould%20anybody%20help%20me%20with%20follow%20ussue%3F%3A%3CBR%20%2F%3EI'm%20using%20use%20eRPC%20demo%20example%20from%20erpc-imx-demos%20on%20iMX6COM%20board.%3C%2FP%3E%3CP%3EStarting%20demo%20application%20on%20M4%20side%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%22Hardware%20initialized%3CBR%20%2F%3EeRPC%20intialized%3CBR%20%2F%3EMatrixMultiply%20service%20added%22%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eadding%20driver%20in%20linux%3A%3CBR%20%2F%3E%22root%40imx6sxea-com%3A~%23%20modprobe%20-v%20rpmsg_multiept%3CBR%20%2F%3Einsmod%20%2Flib%2Fmodules%2F4.1.15-2.0.3%2Bgeb0b90b%2Fkernel%2Fdrivers%2Frpmsg%2Frpmsg_multiept.ko%22%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E(Here%20are%20not%20any%20feedback%20from%20the%20system%20that%20rpmsg%20channel%20was%20created%20and%20rpmsg%20folder%20under%20sys%2Fclass%2Frpmsg%20is%20empty)%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EStarting%20appl%20demo%20on%20linux%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ETraceback%20(most%20recent%20call%20last)%3A%3CBR%20%2F%3E%20File%20%22example.py%22%2C%20line%20111%2C%20in%20%3CMODULE%3E%3CBR%20%2F%3E%20transport%20%3D%20erpc.transport.RpmsgTransport()%3CBR%20%2F%3E%20File%20%22build%2Fbdist.linux-armv7l%2Fegg%2Ferpc%2Ftransport.py%22%2C%20line%20199%2C%20in%20__init__%3CBR%20%2F%3E%20File%20%22build%2Fbdist.linux-armv7l%2Fegg%2Frpmsg%2Fsysfs.py%22%2C%20line%20116%2C%20in%20__init__%3CBR%20%2F%3EException%3CBR%20%2F%3EException%20TypeError%3A%20'an%20integer%20is%20required'%20in%20%3CBOUND%20method%3D%22%22%20rpmsgendpoint.__del__%3D%22%22%20of%3D%22%22%3E%3CRPMSG.SYSFS.RPMSGENDPOINT%20instance%3D%22%22%20at%3D%22%22%200x764bde68%3D%22%22%3E%26gt%3B%20ignored%3C%2FRPMSG.SYSFS.RPMSGENDPOINT%3E%3C%2FBOUND%3E%3C%2FMODULE%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EP.S.%3CBR%20%2F%3EI've%20built%20M4%20eRPC%20demo%20appl.%20using%20cmake%20and%20also%20eclipse.%3CBR%20%2F%3EM4%20rpmsg%20demo%20appl%20works%20fine.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099189%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099189%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Vakul%2C%3C%2FP%3E%3CP%3Esorry%20i%20miss%20your%20comment.%20Currently%20we%20don't%20have%20any%20cryptographic%20transport%20supported.%20But%20because%20of%20eRPC%20is%20modular%2C%20i%20think%20you%20can%20easily%20add%20this%20feature%20to%20your%20eRPC%20project.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099188%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099188%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ECan%20eRPC%20communication%20be%20protected%20using%20some%20cryptographic%20transport%20(e.g.%20TLS)%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ERegards%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EVakul%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099187%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099187%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Evgeny%2C%20currently%20we%20have%20no%20estimation%20for%20that.%20But%20i%20think%20you%20can%20write%2Fuse%20your%20own%20allocator%20by%20writing%20your%20own%20implementation%20of%20erpc_malloc%2Ferpc_free%20functions.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099186%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099186%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EAre%20there%20plans%20to%20add%20more%20static%20memory%20allocation%20to%20additional%20parts%2C%20such%20as%20generated%20equivalents%20of%20erpcMatrixMultiply_shim%3F%20Where%20every%20input%20argument%20gets%20dynamically%20allocated%20before%20filling%20it%20up%20with%20data%20from%20the%20codec%20and%20then%20freed%20after%20the%20function%20invocation%3F%3C%2FP%3E%3CP%3ESomething%20like%20passing%20pre-allocated%20memory%20(statically%20by%20user%20app)%20to%20the%20framework%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3EEvgeny%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099185%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099185%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Evgeny%2C%20this%20looks%20like%26nbsp%3BMCUExpresso%20project%20files%2FIDE%20issue.%20Top%20layer%20of%20folder%20names%20should%20be%20virtual%20directories%2C%20which%20will%20be%20not%20presented%20there%20in%20future.%20In%20your%20package%20on%20your%20disk%20should%20eRPC%20have%20similar%20directory%20structure%20as%20on%20github.%20%3CSTRONG%3EGithub%20directory%20structure%20is%20preferred.%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099184%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099184%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20see%20that%20the%20erpc%20uses%20a%20lot%20of%20dynamic%20memory%20allocation%20at%20run-time.%20Is%20there%20a%20plan%20to%20make%20it%20more%20embedded%20friendly%20and%20add%20a%20static%20memory%20allocation%20scheme%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EEDIT%3A%3C%2FP%3E%3CP%3EI%20am%20sorry%20for%20the%20first%20question%2C%20i%20do%20see%20the%20erpc_setup_mbf_static.cpp%20in%20the%20repository.%20The%20thing%20is%20that%20i%20am%20basing%20%26nbsp%3Bmy%20code%20on%20the%20examples%20provided%20in%20the%20MCUXpresso%20SDK%20-%20frdmk66f_multiprocessor_examples_erpc_server_matrix_multiply_spi%20%26amp%3B%26nbsp%3B%3CSPAN%3Efrdmk66f_multiprocessor_examples_erpc_client_matrix_multiply_spi.%20Which%20have%20a%20very%20different%20directories%20structure%20from%20the%20code%20in%20the%20repository.%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ESo%20my%20question%20is%2C%20again%2C%20should%20the%20SDK%20examples%20directories%20structure%20should%20be%20used%20or%20the%20repositories%3F%20ANd%20why%20are%20they%20so%20different%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3EEvgeny%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099183%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099183%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Evgeny%2C%3C%2FP%3E%3CP%3Efirst%20of%20all%3A%20Are%20you%20using%20smac.erpc%20from%20develop%20branch%20(and%20app%20built%20from%20that%20branch)%3F%20For%20me%20is%20this%20version%20working.%26nbsp%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ERight%20now%20version%20of%20erpcgen%20app%20and%20rest%20of%20eRPC%20code%20is%20connected.%20That%20means%20if%20you%20want%20use%20newer%20erpcgen%20app%20you%20built%20from%20github%2C%20you%20should%20and%20have%20to%20copy%20github%20erpc_c%2F*%20files%20from%20github%20into%20your%20example.%20After%20than%20you%20can%20regenerate%20code%20with%20newer%20erpcgen%20app%2C%20update%20application%20(erpc%20init%20%2B%20transport)%20functions%20and%20everything%20else%20should%20work.%20Otherwise%20if%20you%20will%20not%20update%20erpc_c%20files%20you%20have%20to%20use%20provided%20erpcgen%20app.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ELook%20at%20the%20bottom%20of%20this%20page%3A%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fwiki%2FGetting-Started%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fwiki%2FGetting-Started%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGetting%20Started%20%C2%B7%20EmbeddedRPC%2Ferpc%20Wiki%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%20Should%20be%20pretty%20up%20to%20date%20for%20newer%20erpcgen%20version.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20am%20not%20sure%20but%20on%20newest%20commit%20spi%20could%20get%20changed%20so%20you%20can%20use%20older%20implementation%20instead.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099182%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099182%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHey%20Dusan%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EWhen%20i%20use%20the%20erpcgen.exe%20that%20i%20built%2C%20i%20get%20the%20same%20error%20on%20the%20smac.erpc%20example%3A%3C%2FP%3E%3CBLOCKQUOTE%20class%3D%22jive_macro_quote%20jive-quote%20jive_text_macro%22%3E%3CP%3E%3C%2FP%3Eerror%3A%20file%20smac.erpc%3A135%3A5%3A%20syntax%20error%2C%20unexpected%20identifier%2C%20expecting%20'%7D'%3C%2FBLOCKQUOTE%3E%3CP%3E%3C%2FP%3E%3CP%3EThe%20directory%20structure%20that%20i%20was%20referring%20to%20is%20the%20erpc_c%20from%20the%20repository%20and%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_3.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_3.png%22%20style%3D%22width%3A%20295px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F31088i6EEA8A7D90842064%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_3.png%22%20alt%3D%22pastedImage_3.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EFrom%20the%20SDK%20example.%20Which%20directory%20structure%20is%20the%20%22right%22%20one%3F%20Would%20it%20be%20safe%20to%20use%20the%20newly%20generated%20files%20(by%20me)%20with%26nbsp%3Bthe%20SDK%20example%20code%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3EEvgeny%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099181%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099181%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fevgenyerlihman%22%20target%3D%22_blank%22%3Eevgenyerlihman%3C%2FA%3E%E2%80%8C%2C%3C%2FP%3E%3CP%3EPrefered%20code%20is%20always%20on%20github%20on%20develop%20branch.%20Once%20this%20code%20will%20meet%20our%20requirements%20for%20new%20release%20we%20will%20merge%20it%20into%20master%20branch%20and%20we%20will%20provide%20also%20binaries%20of%20application.%20These%20updates%20on%20develop%20branch%20are%20more%20often%20than%20releases%20of%20Kinetis%20SDK.%20If%20some%20existing%20eRPC%20transport%20will%20not%20met%20version%20with%26nbsp%3Btransport%20used%20in%20Kinetis%20SDK%20you%20can%20compare%20old%20eRPC%20transport%20with%20newer%20one%2C%20or%20look%20on%20file%20changes%20in%20git%20repository.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099180%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099180%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHey%26nbsp%3B%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fdusancervenka-b51352%22%20target%3D%22_blank%22%3Edusancervenka-b51352%3C%2FA%3E%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20for%20the%20quick%20reply!%20I%20cloned%20the%20dev%20branch.%20I%20see%20that%20the%20erpc_c%20directory%20structure%20is%20way%20different%20than%20the%20example%20provided%20with%20the%20Kinetis%20SDK.%20Which%20one%20is%20preferable%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3EEvgeny%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099179%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099179%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fevgenyerlihman%22%20target%3D%22_blank%22%3Eevgenyerlihman%3C%2FA%3E%E2%80%8C%2C%3C%2FP%3E%3CP%3EActually%20we%20are%20doing%20updates%20more%20frequently.%20You%20need%20switch%20to%20develop%20branch.%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Ftree%2Fdevelop%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Ftree%2Fdevelop%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGitHub%20-%20EmbeddedRPC%2Ferpc%20at%20develop%3C%2FA%3E.%26nbsp%3BLast%20code%20update%20was%26nbsp%3Byesterday.%20But%20you%20need%20build%20erpcgen%20application%20there.%20With%20that%20smac%20IDL%20should%20works.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099178%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099178%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fdusancervenka-b51352%22%20target%3D%22_blank%22%3Edusancervenka-b51352%3C%2FA%3E%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20am%20considering%20using%20the%20erpc%20framework%20for%20a%20new%20product%20i%20am%20working%20on%2C%20that%20uses%20multiple%20nxp%20kinetis%20devices.%20I%20see%20that%20last%20updates%20to%20erpc%20github%20were%20made%206%20months%20ago.%20My%20question%20is%2C%20is%20it%20still%20being%20maintained%2Ffixed%2Fdeveloped%3F%20I%20tried%20the%20example%20from%20github%3A%3C%2FP%3E%3CBLOCKQUOTE%20class%3D%22jive_macro_quote%20jive-quote%20jive_text_macro%22%3E%3CP%3Eerpcgen.exe%20smac.erpc%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3EAnd%20it%20failed%20to%20generate%20the%20cpp%20source%20code%20with%20an%20error.%3C%2FP%3E%3CP%3EThe%20erpcgen%20executable%20is%20from%20the%20SDK%20for%20MCUXpresso.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3EEvgeny%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099177%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099177%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Chandini%2C%3C%2FP%3E%3CP%3EIt%20is%20ok.%20I%20was%20on%20long%20holiday%20too.%20I%20hope%20you%20enjoyed%20it%20well.%26nbsp%3B%3C%2FP%3E%3CP%3EI%20sent%20you%20email%20through%20community%20messaging%20system%20(private%20message).%3CBR%20%2F%3EWe%20can%20discuss%20details%20through%20emails.%20Basically%20you%20ned%20create%20fork%20on%20github%2C%20checkout%20to%20develop%20branch%2C%20apply%20your%20changes%2C%20create%20commit%2C%20create%20pull%20request.%20We%20will%20review%20your%20changes%2C%20suggest%20changes%20and%20merge%20to%20develop%20branch.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099176%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099176%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%20%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EVery%20sorry%20for%20late%20response%20%2C%20i%20was%20on%20long%20holiday%20.%20came%20back%20now%20.%20spoke%20with%20my%20everyone%20here%20.%20%26nbsp%3Bcould%20you%20please%20send%20me%20your%20email%20id%20so%20that%20we%20will%20forward%20stuff%20for%20you%20.%20according%20to%20our%20company%20we%20cant%20put%20anything%20directly%20to%20your%20github%20.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%3C%2FP%3E%3CP%3EChandini%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099175%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099175%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%20%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ESure%20%2C%20i%20will%20talk%20to%20my%20seniors%20and%20create%20pull%20request%20%26nbsp%3B.%20currently%20i%20am%20on%20holiday%20.Sorry%20for%20the%20late%20replay.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099174%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099174%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Chandini.%20We%20are%20glad%20you%20have%20succeeded.%20If%20i%20can%20have%20one%20special%20proposal%20for%20you%2C%20could%20you%20send%20pull%20request%20on%20develop%20branch%20on%20eRPC%20github%20with%20your%20newly%20created%20transport%20layer%20(on%20develop%20branch).%20Maybe%20there%20will%20be%20some%20work%20to%20get%20it%20working%20with%20newer%20eRPC.%20But%20if%20you%20not%20want%20updated%20it%20i%20can%20do%20that%20%3CIMG%20id%3D%22smileywink%22%20class%3D%22emoticon%20emoticon-smileywink%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-wink.png%22%20alt%3D%22Smiley%20Wink%22%20title%3D%22Smiley%20Wink%22%20%2F%3E%26nbsp%3BWith%20pull%20request%20on%20github%20you%20will%20be%20valuable%20contributor%20always%20seen%20in%20contributor's%20history.%3CBR%20%2F%3E%3CBR%20%2F%3EI%20hope%20eRPC%20will%20be%20good%20solution%20for%20you.%20And%20we%20are%20always%20here%2F%20or%20on%20github%20for%20you%20%3CIMG%20id%3D%22smileywink%22%20class%3D%22emoticon%20emoticon-smileywink%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-wink.png%22%20alt%3D%22Smiley%20Wink%22%20title%3D%22Smiley%20Wink%22%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099173%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099173%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fdusancervenka-b51352%22%20target%3D%22_blank%22%3Edusancervenka-b51352%3C%2FA%3E%26nbsp%3B%2C%26nbsp%3B%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fb50844%22%20target%3D%22_blank%22%3Eb50844%3C%2FA%3E%26nbsp%3B%2C%26nbsp%3B%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fnovakma7%22%20target%3D%22_blank%22%3Enovakma7%3C%2FA%3E%26nbsp%3B%26nbsp%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EFinally%20got%20it%20working%20%2C%20now%20demo%20working%20fine%20with%20my%20c%2B%2B%20code%20in%20Linux%20.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%20a%20lot%20guys%20for%20answering%20all%20my%20questions.%3CIMG%20id%3D%22smileyhappy%22%20class%3D%22emoticon%20emoticon-smileyhappy%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-happy.png%22%20alt%3D%22Smiley%20Happy%22%20title%3D%22Smiley%20Happy%22%20%2F%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ESpecial%20thanks%20to%20Dusan%26nbsp%3B%3CIMG%20id%3D%22smileyhappy%22%20class%3D%22emoticon%20emoticon-smileyhappy%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-happy.png%22%20alt%3D%22Smiley%20Happy%22%20title%3D%22Smiley%20Happy%22%20%2F%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099172%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099172%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHI%20Dusan%20%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EAs%20i%20was%20busy%20in%20some%20other%20task%20%2C%20Yesterday%20i%20could%20not%20try%20anything%20.%20today%20i%20will%20try%20and%20let%20you%20know%20.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20think%20i%20have%20to%26nbsp%3Bchange%20my%20functions%20little%20bit%20and%20need%20to%20try%20.%20because%20till%20now%20i%20was%20passing%20just%20char*%20to%20my%20send%20and%20receive%20functions.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ECome%20back%20to%20you%20soon.%3CIMG%20id%3D%22smileyhappy%22%20class%3D%22emoticon%20emoticon-smileyhappy%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-happy.png%22%20alt%3D%22Smiley%20Happy%22%20title%3D%22Smiley%20Happy%22%20%2F%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099171%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099171%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Chandini%2C%20yes%20that%20is%20correct.%20I%20was%20outside%20of%20company%2C%20so%20i%20didn't%20know%20exact%20names%20for%20functions.%20Is%20it%20working%20for%20you%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099170%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099170%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20replay%20%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%20write(fd%2C%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%20font-size%3A%2013px%3B%22%3Emessage-%26gt%3BgetBuffer()%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%2C%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%20font-size%3A%2013px%3B%22%3Emessage-%26gt%3BgetUsed()%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%3CLI-EMOJI%20id%3D%22lia_disappointed-face%22%20title%3D%22%3Adisappointed_face%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3EI%20can%20see%20%3CSTRONG%3Egetused%3C%2FSTRONG%3E%20function%20in%26nbsp%3B%3CSPAN%3E%20%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fblob%2F9e18d069aeae19a6e80a5e8783903bc63bd9b567%2Ferpc_c%2Finfra%2Fmessage_buffer.h%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fblob%2F9e18d069aeae19a6e80a5e8783903bc63bd9b567%2Ferpc_c%2Finfra%2Fmessage_buffer.h%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Eerpc%2Fmessage_buffer.h%20at%209e18d069aeae19a6e80a5e8783903bc63bd9b567%20%C2%B7%20EmbeddedRPC%2Ferpc%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%20but%20could%20not%20find%26nbsp%3B%3CSTRONG%3Egetbuffer%3C%2FSTRONG%3E%26nbsp%3Bfunction.%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%20style%3D%22background-color%3A%20%23ffffff%3B%20color%3A%20%2351626f%3B%20font-size%3A%2013px%3B%22%3EI%20think%20i%20have%20to%20use%20below%20function%20to%20get%20my%20buffer%20%3F%20is%20that%20right%20%3F%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%20style%3D%22background-color%3A%20%23ffffff%3B%20color%3A%20%2351626f%3B%20font-size%3A%2013px%3B%22%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20This%20function%20returns%20pointer%20to%20buffer%20to%20read%2Fwrite.%3CBR%20%2F%3E%20*%3CBR%20%2F%3E%20*%20%40return%20Pointer%20to%20buffer%20to%20read%2Fwrite.%3CBR%20%2F%3E%20*%2F%3CBR%20%2F%3E%20uint8_t%20*get()%20%7B%20return%20m_buf%3B%20%7D%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3Eso%20my%20functions%20becomes%20like%20this%3A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%3CSPAN%3Esend%20%3Aerpc_status_t%20send(MessageBuffer%20*message)%20%7B%20write(fd%2C%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22border%3A%200px%3B%22%3Emessage-%26gt%3Bget%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22border%3A%200px%3B%22%3Emessage-%26gt%3BgetUsed()%3C%2FSPAN%3E%3CSPAN%3E)%7D%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%3CSPAN%3EThank%20you%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20font-size%3A%2013px%3B%22%3E%3CSPAN%3Echandini%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099169%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099169%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20chanidi%2C%20well%20you%20need%20do%20it%20in%20diferent%20way%20%3CLI-EMOJI%20id%3D%22lia_confused-face%22%20title%3D%22%3Aconfused_face%3A%22%3E%3C%2FLI-EMOJI%3E%20You%20have%20to%20use%20transport.h.%20It%20will%20not%20work%20if%20you%20will%20not%20use%20that.%26nbsp%3B%3CBR%20%2F%3EMaybe%20you%20can%20use%20ioctl%20commands%20as%20i%20mentioned%20above%3A%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2013px%3B%22%3Eerpc_status_t%20receive(MessageBuffer%20*message)%3CBR%20%2F%3E%7Bint%20fd%20%3D%20open(%22%3CSTRONG%20style%3D%22background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%20font-weight%3A%20bold%3B%20font-size%3A%2015px%3B%22%3E%2Fdev%2Frpmsg_ept1024.1%3C%2FSTRONG%3E%22%2C%20O_RDWR)%3B%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FCODE%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2013px%3B%22%3Esend%20%3Aerpc_status_t%20send(MessageBuffer%20*message)%20%7B%20write(fd%2C%20%3CSPAN%20style%3D%22background-color%3A%20%23ffffff%3B%22%3Emessage-%26gt%3BgetBuffer()%3C%2FSPAN%3E%2C%20%3CSPAN%20style%3D%22background-color%3A%20%23ffffff%3B%22%3Emessage-%26gt%3BgetUsed()%3C%2FSPAN%3E)%7D%3B%3C%2FCODE%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2013px%3B%22%3Eread%3A%20erpc_status_t%20receive(MessageBuffer%20*message)%7Bsize_t%20size%20%3D%20read(fd%2C%20%3CSPAN%20style%3D%22background-color%3A%20%23ffffff%3B%22%3Emessage-%26gt%3BgetBuffer()%3C%2FSPAN%3E%2C%20500)%3B%3CBR%20%2F%3Emessage-%26gt%3BsetUsed(%3CSPAN%20style%3D%22background-color%3A%20%23ffffff%3B%22%3Esize%3C%2FSPAN%3E)%7D%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fnovakma7%22%20target%3D%22_blank%22%3Enovakma7%3C%2FA%3E%26nbsp%3BCan%20you%20confirm%20steps%3F%3C%2FCODE%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099168%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099168%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDusan%20%2C%20Marek%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EYa%20i%20am%20referring%20those%20files%20as%20well%20%2C%20but%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ei%20am%20using%20trasport.h%20to%20create%20my%26nbsp%3Btransport%20layer.%20but%20facing%20argument%20miss-match%20%26nbsp%3Bproblem%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CUL%20style%3D%22list-style-type%3A%20disc%3B%22%3E%3CLI%3E%3CSTRONG%3Esend%20and%20receive%26nbsp%3B%3C%2FSTRONG%3Efunctions%3CSTRONG%3E%20in%20transport.h%20%2C%20%3C%2FSTRONG%3Etake%3CSTRONG%3E%20Messagebuffer%20%3C%2FSTRONG%3Eas%20argument%2C%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3CSTRONG%3E%26nbsp%3Bvirtual%20erpc_status_t%20receive(MessageBuffer%20*message)%20%3D%200%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3Bvirtual%20erpc_status_t%20send(MessageBuffer%20*message)%20%3D%200%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CUL%20style%3D%22list-style-type%3A%20disc%3B%22%3E%3CLI%3EAs%20per%20%3CSTRONG%3Eexample.py%3C%2FSTRONG%3E%20i%20have%20created%20my%20%3CSTRONG%3ERpmsgEndpoint%3C%2FSTRONG%3E%20class%20which%20need%20below%20arguments%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3CSTRONG%3E%26nbsp%3B%26nbsp%3BRpmsgEndpoint%3A%3Areceive(int%20maxlen)%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3BRpmsgEndpoint%3A%3Asend(char%20*buffer%2Cint%20dst)%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EAs%20per%20my%20understanding%2C%20we%20are%20just%20need%20to%20read%20and%20write%3CSTRONG%3E%20%2Fdev%2Frpmsg_ept1024.1%3C%2FSTRONG%3E%20device%20from%20Linux%20.%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3ESo%20i%20think%20instead%20of%20using%20transport.h%20%2C%20i%20think%20should%20i%20need%20to%20create%20my%20own%20transport.h%20version%20%2C%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20guys%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099167%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099167%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EYou%20are%20welcome.%20You%20can%20get%20inspirations%20in%26nbsp%3B%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%20font-weight%3A%20bold%3B%22%3E%3CSTRONG%3E%2Ferpc-imx-demos%2Fmiddleware%2Ferpc%2Ftransport%2F%3C%2FSTRONG%3E%3C%2FSPAN%3E%20folder.%20There%20is%26nbsp%3Bseveral%20transports.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099166%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099166%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThanks%20a%20lot%20Dusan%20for%20quick%20replay%3CIMG%20id%3D%22smileyhappy%22%20class%3D%22emoticon%20emoticon-smileyhappy%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-happy.png%22%20alt%3D%22Smiley%20Happy%22%20title%3D%22Smiley%20Happy%22%20%2F%3E%20%2C%20i%20will%20continue%20in%20the%20same%20path%20then%20and%20come%20back%20to%20u%20shortly%20.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099165%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099165%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Chandini.%20You%20are%20right.%20That%20are%20correct%20steps.%20You%20need%20create%20your%20class%20which%20is%20inheriting%20class%20from%20transport.h%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099164%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099164%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Marek%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20have%20question%20again%20.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ECurrently%20my%20working%20status%20%26nbsp%3B%3A%3C%2FP%3E%3CUL%3E%3CLI%3Ei%20got%20RpmsgEndpoint%20class%20in%20c%2B%2B%3C%2FLI%3E%3CLI%3EI%20am%20working%20on%20how%20to%20make%20my%20client%20application%20working%20now.%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3C%2FP%3E%3CP%3EPython%20%26nbsp%3Bexample.py%20in%20%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Ftree%2Fmaster%2FMPU%2Fexample_erpc%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Ftree%2Fmaster%2FMPU%2Fexample_erpc%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Eerpc-imx-demos%2FMPU%2Fexample_erpc%20at%20master%20%C2%B7%20EmbeddedRPC%2Ferpc-imx-demos%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%26nbsp%3Bcall%20%26nbsp%3BRpmsgTransport%20which%20inherited%20from%20Transport%20class.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EQuestion%20i%20have%20is%20%2C%20shall%20i%20use%26nbsp%3B%3CSTRONG%3Etransport.h%3C%2FSTRONG%3E%20which%20is%20inside%26nbsp%3B%3CSTRONG%3E%2Ferpc-imx-demos%2Fmiddleware%2Ferpc%2Ferpc_c%2Finfra%3C%2FSTRONG%3E%20%26nbsp%3Bto%20make%20my%20application%20work.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ESo%20that%20i%20can%20create%20my%26nbsp%3BRpmsgTransport%20class%20and%20call%20it%20my%20client%20application%20.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EAm%20i%20thinking%20correctly%20%3F%26nbsp%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20in%20advance%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099163%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099163%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EYes%2C%20you%20are%20right.%3CBR%20%2F%3EAll%20the%20Python%20does%20are%20just%20IO%20operations%20on%20the%20files%20(read%2Fwrite).%20This%20is%20doable%20in%20any%20language%2C%20including%20C%2FC%2B%2B.%3CBR%20%2F%3EPython%20was%20selected%20to%20show%20how%20it%20can%20be%20done%20due%20to%20its%20popularity%20in%20Linux%20user-space%2C%20but%20you%20can%20certainly%20port%20it%20to%20C.%3CBR%20%2F%3EI%20think%20we%20are%20on%20the%20same%20wavelenght%20now%2C%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EGood%20luck!%3CBR%20%2F%3ERegards%2C%3CBR%20%2F%3EMarek%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099162%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099162%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Marek%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20replay%20%2C%20it%20cleared%20few%20of%20my%20doubts.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EWe%20are%20not%20planning%20to%20use%20freeRTOS%20on%20both%20side.%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EOur%20plan%20is%20%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EM4-%20FreeRTOS%20----This%20we%20have%20it%20in%20your%20Demo%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EA7-Linux%20-----Your%20Demo%20got%20python%20code%20%2C%20to%20make%20use%20of%20kernel%20RPMSG%20implemenation%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EAll%20we%20need%20is%20instead%20of%20python%20either%20C%20or%20C%2B%2B.%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EI%20think%20%26nbsp%3Bwe%20can%20port%20%26nbsp%3Bpython%20code%20to%20C%20or%20C%2B%2B%20%2C%20easily%20right%20%3F%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EThank%20you%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EChandini%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099161%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099161%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Chandini%20Indavara%20Basavaraju%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ERPMSg-Lite%20is%20implementation%20of%20RPMsg%20protocol%20and%20is%20intended%20only%20for%20the%20M4%20side%20running%20FreeRTOS%20or%20baremetal.%3CBR%20%2F%3EOn%20the%20Linux%2FA7%20side%2C%20you%20should%20be%20fine%20with%20the%20RPMsg%20implementation%20in%20kernel.%20(like%20here%3A%20%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2F%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2F%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGitHub%20-%20EmbeddedRPC%2Ferpc-imx-demos%3A%20eRPC%20demos%20for%20i.MX%20devices%3C%2FA%3E%26nbsp%3B%26nbsp%3B)%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EOr%20are%20you%20planning%20to%20run%20FreeRTOS%20on%20both%20M4%20and%20A7%20cores%3F%20In%20that%20case%20it%20would%20work%2C%20but%20this%20is%20not%20a%20standard%20use-case.%20It%20would%20require%20you%20to%20create%20a%20porting%20layer%20for%20the%20A%20core%20and%20to%20make%20FreeRTOS%20run%20there.%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3EI%20hope%20this%20gives%20you%20some%20direction%2C%3CBR%20%2F%3EMarek%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099160%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099160%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Marek%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ESome%20how%20i%20have%20missed%20your%20message%20%2C%20sorry%20for%20that%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ethanks%20a%20lot%3CIMG%20id%3D%22smileyhappy%22%20class%3D%22emoticon%20emoticon-smileyhappy%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-happy.png%22%20alt%3D%22Smiley%20Happy%22%20title%3D%22Smiley%20Happy%22%20%2F%3E%20.%20i%20will%20try%20your%20new%20version%20soon.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ECould%20you%20please%20answer%20my%20last%20question%20regarding%20RPMSG%20transport%20layer%20%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%26nbsp%3B%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099159%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099159%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20i%20understand%20you.%26nbsp%3B%3C%2FP%3E%3CP%3EYou%20need%20create%20new%20one%20(and%20with%20pull%20request%20on%20github%20you%20can%20add%20it%20to%20our%20repository%20if%20you%20want).%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3EOn%20Linux%20side%20you%20can%20use%20%2Fdev%2FttyRPMSG%20(if%20it%20is%20present%20in%20system).%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3Efor%20example%20create%20new%20transport%20here%26nbsp%3B%3CSPAN%3Eerpc_c%2Ftransports%20with%3C%2FSPAN%3E%3A%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3Einit%20can%20looks%20like%3A%26nbsp%3B%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2013px%3B%22%3Eint%20fd%20%3D%20open(%22%2Fdev%2FttyRPMSG%22%2C%20O_RDWR)%3B%3C%2FCODE%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2013px%3B%22%3Esend%20%3A%20write(fd%2C%20buffer%2C%20buffer_size)%3B%3C%2FCODE%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2013px%3B%22%3Eread%3A%20size_t%20size%20%3D%20read(fd%2C%20buffer%2C%20expected%20size)%3B%3C%2FCODE%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2013px%3B%22%3E%3C%2FCODE%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%22%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20font-size%3A%2013px%3B%22%3EIf%20there%20is%20no%20device%20named%20like%20this%2C%20you%20can%20be%20inspired%20from%20python%20code.%20RPMSG%20is%20not%20my%20cup%20of%20tea.%20I%20don't%20know%20how%20it%20should%20be%20used%20on%20Linux.%20I%20will%20forward%20your%20question%20to%20Marek.%3C%2FCODE%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099158%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099158%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%20%2C%20Marek%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EWhat%20i%20am%20planning%20%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3Euse%20%3CSTRONG%3Erpmsg-lite%3C%2FSTRONG%3E%20on%20both%20M4(freertos)%20and%20A7(Linux)%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EWhat%20i%20need%3A%3C%2FSTRONG%3E%3CBR%20%2F%3ERPMSG%20C%20warrper%20(under%20erpc_c%2Fsetup)%20which%20can%20be%20use%20on%20both%20M4%20and%20A7%20side%3CBR%20%2F%3ERPMSG%20Transport%20Layer%20(under%20erpc_c%2Ftransports)%20which%20can%20be%20use%20on%20both%20M4%20and%20A7%20side%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EQuestions%20i%20have%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3ECould%20please%20tell%20me%20%2C%20Do%20you%20have%20any%20transport%26nbsp%3Blayer%20for%20that%20%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3CSTRONG%3E%26nbsp%3B%26nbsp%3Bor%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EDo%20we%20need%20to%20refer%20rpmsg-python%20and%20write%20similar%20like%20that%20%3F%26nbsp%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EAny%20suggestions%20will%20be%20so%26nbsp%3B%3C%2FSTRONG%3E%3CSTRONG%3Ehelpful%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EThank%20you%20guys%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EChandini%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099157%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099157%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20i%20am%20not%20sure%20if%20we%20have%20what%20you%20need%20(c%20transport%20for%20Linux%20side).%20But%20it%20should%20be%20easy%20to%20create%20new%20one.%20You%20can%20read%20and%20write%20from%2Fto%20%2Fdev%2FttyRPMSG%20(if%20it%20is%20present%20in%20system).%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Efor%20example%3A%3C%2FP%3E%3CP%3Einit%20can%20looks%20like%3A%26nbsp%3B%3CCODE%20style%3D%22border%3A%200px%3B%20font-size%3A%2013px%3B%22%3Eint%20fd%20%3D%20open(%22%2Fdev%2FttyRPMSG%22%2C%20O_RDWR)%3B%20%3C%2FCODE%3E%3C%2FP%3E%3CP%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-size%3A%2013px%3B%22%3Esend%20%3A%20write(fd%2C%20buffer%2C%20buffer_size)%3B%20%3C%2FCODE%3E%3C%2FP%3E%3CP%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-size%3A%2013px%3B%22%3Eread%3A%20size_t%20size%20%3D%20read(fd%2C%20buffer%2C%20expected%20size)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fmareknovak%22%20target%3D%22_blank%22%3Emareknovak%3C%2FA%3E%26nbsp%3Bcan%20brings%20more%20sun%20into%20this%20issue.%3C%2FCODE%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099156%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099156%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%20%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ethank%20you%20for%20letting%20me%20know%20about%20update.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20thiink%20now%20i%20am%20ok%20with%20erpc%20what%20i%20have%20shortly%20%2C%20once%20i%20got%20rpmsg%20Client%20application%20working%20then%20i%20can%20update%20erpc%20version%20as%20well.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20was%20started%20looking%3CSTRONG%3E%20rpmsg-lite%20%2C%20that%20got%20M4%20platform%20files%20.%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Ei%20wonder%20do%20have%20anything%20for%20A7%20platform%20%3F%20or%20any%20information%20will%20be%20so%20helpful.%26nbsp%3B%3C%2FSTRONG%3Emy%20main%20aim%20is%20to%20get%20Client%20%26nbsp%3BApplication%20using%20C%20with%20RPMSg%20as%20Transport%20layer%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099155%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099155%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20am%20happy%20that%20you%20are%20progressing%20independently%20with%20your%20issue%20(for%20us%20it%20means%20it%20is%20not%20too%20much%20complicated%20for%20developers).%20Also%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fmareknovak%22%20target%3D%22_blank%22%3Emareknovak%3C%2FA%3E%26nbsp%3Balready%20updated%20his%20imx%20demo%20application%20inside%20the%20repository%20as%20he%20mentioned%20in%20few%20comments%20above.%20Your%20next%20step%20can%20be%20used%20that%20version%20because%20it%20is%20using%20new%20rpc%20features%20%3CIMG%20id%3D%22smileywink%22%20class%3D%22emoticon%20emoticon-smileywink%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-wink.png%22%20alt%3D%22Smiley%20Wink%22%20title%3D%22Smiley%20Wink%22%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099154%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099154%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThank%20you%20for%20replay%20Dusan%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%26nbsp%3Bthat%20was%20the%20information%20i%20was%20looking%20for%2C%20i%20have%20created%20C%20wrapper%20for%20TCP%20%26nbsp%3B%2C%20after%20couple%20of%20fixes%20in%20erpc%2C%20%26nbsp%3Bit%20works%20fine%20.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMy%20next%20step%20is%20to%20replace%20TCP%20layer%20with%20rpmsg%20.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20again%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099153%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099153%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Chandini%20Indavara%20Basavaraju%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20have%20just%20updated%20the%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGitHub%20-%20EmbeddedRPC%2Ferpc-imx-demos%3A%20eRPC%20demos%20for%20i.MX%20devices%3C%2FA%3E%26nbsp%3B%26nbsp%3Brepository%20to%20use%20eRPC%201.4.0%20and%20RPMSg-Lite%201.1.0.%3CBR%20%2F%3EYou%20can%20download%20a%20pre-built%20erpcgen%20application%2C%20which%20is%20used%20for%20code%20generation%20here%3A%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Freleases%2Ftag%2F1.4.0%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Freleases%2Ftag%2F1.4.0%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3ERelease%20v1.4%20%C2%B7%20EmbeddedRPC%2Ferpc%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%20in%20the%20downloads%20section%2C%20just%20choose%20your%20architecture.%3CBR%20%2F%3EThen%20you%20invoke%20it%20like%20this%3A%20.%2Ferpcgen%20-gpy%20nameOfInterfaceDefinitionLanguageFile.erpc%2C%20this%20will%20generate%20Python%20serialization%20and%20deserialization%20shim%20code%20for%20you.%20If%20you%20omit%20-gpy%20or%20specify%20-gc%2C%20you%20will%20get%20C%20shim%20code.%3CBR%20%2F%3EThe%20ser%2Fdes%20shim%20code%20was%20also%20update%20in%20the%20latest%20commit%20in%20the%20erpc-imx-demos%20repository%2C%20so%20feel%20free%20to%20use%20it.%3CBR%20%2F%3E%3CBR%20%2F%3EFeel%20free%20to%20submit%20your%20changes%20in%20form%20of%20a%20pull-request%2C%3CBR%20%2F%3ERegards%20and%20thank%20you%20for%20using%20eRPC%20%26amp%3B%20RPMsg-Lite!%3CBR%20%2F%3EMarek%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099152%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099152%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20we%20don't%20have%20currently%20example%20on%20github%20repository.%20But%20we%20have%20C(c%2B%2B)%20test%20there.%20If%20you%20are%20familiar%20with%20Linux%20or%20Mac%20you%20can%20use%20that%20as%20a%20example.%20Other%20options%20are%20as%20described%20above%3A%3C%2FP%3E%3CP%3E1.%20Download%20sdk%20for%20supported%20board%20-%26gt%3B%20multicore%2Fmultiprocessor%20c%2Fpython%20examples.%3C%2FP%3E%3CP%3E2.%20Read%20this%20article%3A%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fwiki%2FGetting-Started%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%2Fwiki%2FGetting-Started%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGetting%20Started%20%C2%B7%20EmbeddedRPC%2Ferpc%20Wiki%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099151%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099151%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ECould%20you%20please%20tell%20me%20%2C%20do%20u%20have%20any%20client%20application%20c%20example%20instead%20of%20python%20.%3F%20or%20Do%20you%20guys%20are%20planning%20to%20write%20one%20%3Fit%20will%20be%20so%20useful%20and%20helpful%2C%20if%20you%20have%20one%20already.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20in%20advance%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099150%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099150%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EFinally%20i%20got%20it%20working%20%2C%20thank%20a%20lot%20for%20you%20help%26nbsp%3B%3CIMG%20id%3D%22smileyhappy%22%20class%3D%22emoticon%20emoticon-smileyhappy%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-happy.png%22%20alt%3D%22Smiley%20Happy%22%20title%3D%22Smiley%20Happy%22%20%2F%3E%26nbsp%3BDusan%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Esorry%20i%20could%20not%20find%20attach%20option%20to%20attach%20my%20patch%20.%20so%20pasted%20below.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EFrom%207a5b152524a3c82b5bced4a72ed396f21860b666%20Mon%20Sep%2017%2000%3A00%3A00%202001%3C%2FP%3E%3CP%3EDate%3A%20Mon%2C%208%20May%202017%2011%3A33%3A05%20%2B0100%3CBR%20%2F%3ESubject%3A%20%5BPATCH%5D%20fix%20to%20run%20eRPC_demo%3C%2FP%3E%3CP%3E---%3CBR%20%2F%3E%20erpc_c%2Finfra%2Ftransport.h%20%7C%204%20%2B-%3CBR%20%2F%3E%20erpc_c%2Fsetup%2Ferpc_server_setup.cpp%20%7C%2036%20%2B%2B%2B%2B-%3CBR%20%2F%3E%20erpc_c%2Fsetup%2Ferpc_server_setup.h%20%7C%202%20%2B-%3CBR%20%2F%3E%20erpc_c%2Fsetup%2Ferpc_setup_rpmsg_lite_rtos_remote.cpp%20%7C%2054%20%2B%2B%2B%2B%2B%2B%2B%3CBR%20%2F%3E%20erpc_c%2Fsetup%2Ferpc_transport_setup.h%20%7C%2018%20%2B%2B-%3CBR%20%2F%3E%20erpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.cpp%20%7C%20158%20%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%3CBR%20%2F%3E%20erpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.h%20%7C%20177%20%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%3CBR%20%2F%3E%20erpc_c%2Ftransports%2Frpmsg_rtos_transport.h%20%7C%20147%20%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%2B%3CBR%20%2F%3E%20erpc_python%2Ferpc%2Ftransport.py%20%7C%2021%20%2B%2B%2B%3CBR%20%2F%3E%209%20files%20changed%2C%20602%20insertions(%2B)%2C%2015%20deletions(-)%3CBR%20%2F%3E%20create%20mode%20100644%20erpc_c%2Fsetup%2Ferpc_setup_rpmsg_lite_rtos_remote.cpp%3CBR%20%2F%3E%20create%20mode%20100644%20erpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.cpp%3CBR%20%2F%3E%20create%20mode%20100644%20erpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.h%3CBR%20%2F%3E%20create%20mode%20100644%20erpc_c%2Ftransports%2Frpmsg_rtos_transport.h%3C%2FP%3E%3CP%3Ediff%20--git%20a%2Ferpc_c%2Finfra%2Ftransport.h%20b%2Ferpc_c%2Finfra%2Ftransport.h%3CBR%20%2F%3Eindex%20eb7ec71..fd4862a%20100644%3CBR%20%2F%3E---%20a%2Ferpc_c%2Finfra%2Ftransport.h%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_c%2Finfra%2Ftransport.h%3CBR%20%2F%3E%40%40%20-48%2C7%20%2B48%2C7%20%40%40%3CBR%20%2F%3E%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20namespace%20erpc%20%7B%3CBR%20%2F%3E-%3CBR%20%2F%3E%2Bclass%20MessageBuffer%3B%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20Abstract%20interface%20for%20transport%20layer.%3CBR%20%2F%3E%20*%3CBR%20%2F%3E%40%40%20-89%2C7%20%2B89%2C7%20%40%40%20public%3A%3CBR%20%2F%3E%20*%3CBR%20%2F%3E%20*%20%40return%20based%20on%20send%20implementation.%3CBR%20%2F%3E%20*%2F%3CBR%20%2F%3E-%20virtual%20erpc_status_t%20send(MessageBuffer%20*message)%20%3D%200%3B%3CBR%20%2F%3E%2B%20virtual%20erpc_status_t%20send(const%20MessageBuffer%20*message)%20%3D%200%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20Poll%20for%20an%20incoming%20message.%3CBR%20%2F%3Ediff%20--git%20a%2Ferpc_c%2Fsetup%2Ferpc_server_setup.cpp%20b%2Ferpc_c%2Fsetup%2Ferpc_server_setup.cpp%3CBR%20%2F%3Eindex%2051fa799..5cd4346%20100644%3CBR%20%2F%3E---%20a%2Ferpc_c%2Fsetup%2Ferpc_server_setup.cpp%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_c%2Fsetup%2Ferpc_server_setup.cpp%3CBR%20%2F%3E%40%40%20-33%2C8%20%2B33%2C10%20%40%40%3CBR%20%2F%3E%20%23include%20%22basic_codec.h%22%3CBR%20%2F%3E%20%23include%20%22manually_constructed.h%22%3CBR%20%2F%3E%20%23include%20%22simple_server.h%22%3CBR%20%2F%3E-%23include%20%3CASSERT.H%3E%3CBR%20%2F%3E%2B%23include%20%22message_buffer.h%22%3CBR%20%2F%3E%2B%23include%20%22erpc_config_internal.h%22%3CBR%20%2F%3E%20%23include%20%3CNEW%3E%3CBR%20%2F%3E%2B%23include%20%3CASSERT.H%3E%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%23if%20!(__embedded_cplusplus)%3CBR%20%2F%3E%20using%20namespace%20std%3B%3CBR%20%2F%3E%40%40%20-43%2C6%20%2B45%2C29%20%40%40%20using%20namespace%20std%3B%3CBR%20%2F%3E%20using%20namespace%20erpc%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Classes%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bclass%20BasicMessageBufferFactory%20%3A%20public%20MessageBufferFactory%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2Bpublic%3A%3CBR%20%2F%3E%2B%20virtual%20MessageBuffer%20create()%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20uint8_t%20*buf%20%3D%20new%20(nothrow)%20uint8_t%5BERPC_DEFAULT_BUFFER_SIZE%5D%3B%3CBR%20%2F%3E%2B%20return%20MessageBuffer(buf%2C%20ERPC_DEFAULT_BUFFER_SIZE)%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20virtual%20void%20dispose(MessageBuffer%20*buf)%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20assert(buf)%3B%3CBR%20%2F%3E%2B%20if%20(*buf)%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20delete%5B%5D%20buf-%26gt%3Bget()%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%7D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%20%2F%2F%20Variables%3CBR%20%2F%3E%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%20%3CBR%20%2F%3E%40%40%20-50%2C29%20%2B75%2C32%20%40%40%20using%20namespace%20erpc%3B%3CBR%20%2F%3E%20static%20ManuallyConstructed%3CSIMPLESERVER%3E%20s_server%3B%3CBR%20%2F%3E%20SimpleServer%20*g_server%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%2Bstatic%20ManuallyConstructed%3CBASICMESSAGEBUFFERFACTORY%3E%20s_msgFactory%3B%3CBR%20%2F%3E%20static%20ManuallyConstructed%3CBASICCODECFACTORY%3E%20s_codecFactory%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%20%2F%2F%20Code%3CBR%20%2F%3E%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%20%3CBR%20%2F%3E-void%20erpc_server_init(erpc_transport_t%20transport%2C%20erpc_mbf_t%20message_buffer_factory)%3CBR%20%2F%3E%2Bvoid%20erpc_server_init(erpc_transport_t%20transport)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20%2F%2F%20Init%20factories.%3CBR%20%2F%3E%2B%20s_msgFactory.construct()%3B%3CBR%20%2F%3E%20s_codecFactory.construct()%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F%2F%20Init%20server%20with%20the%20provided%20transport.%3CBR%20%2F%3E%20s_server.construct()%3B%3CBR%20%2F%3E%20s_server-%26gt%3BsetTransport(reinterpret_cast%3CTRANSPORT%3E(transport))%3B%3CBR%20%2F%3E%2B%20s_server-%26gt%3BsetMessageBufferFactory(s_msgFactory)%3B%3CBR%20%2F%3E%20s_server-%26gt%3BsetCodecFactory(s_codecFactory)%3B%3CBR%20%2F%3E-%20s_server-%26gt%3BsetMessageBufferFactory(reinterpret_cast%3CMESSAGEBUFFERFACTORY%3E(message_buffer_factory))%3B%3CBR%20%2F%3E%20g_server%20%3D%20s_server%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E-%3CBR%20%2F%3E%20void%20erpc_server_deinit()%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%2B%20s_msgFactory.destroy()%3B%3CBR%20%2F%3E%20s_codecFactory.destroy()%3B%3CBR%20%2F%3E%20s_server.destroy()%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20void%20erpc_add_service_to_server(void%20*service)%3CBR%20%2F%3Ediff%20--git%20a%2Ferpc_c%2Fsetup%2Ferpc_server_setup.h%20b%2Ferpc_c%2Fsetup%2Ferpc_server_setup.h%3CBR%20%2F%3Eindex%208e6a6ef..e4e9eaa%20100644%3CBR%20%2F%3E---%20a%2Ferpc_c%2Fsetup%2Ferpc_server_setup.h%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_c%2Fsetup%2Ferpc_server_setup.h%3CBR%20%2F%3E%40%40%20-60%2C7%20%2B60%2C7%20%40%40%20extern%20%22C%22%20%7B%3CBR%20%2F%3E%20*%3CBR%20%2F%3E%20*%20This%20function%20initializes%20server%20with%20all%20components%20necessary%20for%20running%20server.%3CBR%20%2F%3E%20*%2F%3CBR%20%2F%3E-void%20erpc_server_init(erpc_transport_t%20transport%2C%20erpc_mbf_t%20message_buffer_factory)%3B%3CBR%20%2F%3E%2Bvoid%20erpc_server_init(erpc_transport_t%20transport)%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20This%20function%20de-initializes%20server.%3CBR%20%2F%3Ediff%20--git%20a%2Ferpc_c%2Fsetup%2Ferpc_setup_rpmsg_lite_rtos_remote.cpp%20b%2Ferpc_c%2Fsetup%2Ferpc_setup_rpmsg_lite_rtos_remote.cpp%3CBR%20%2F%3Enew%20file%20mode%20100644%3CBR%20%2F%3Eindex%200000000..b480d42%3CBR%20%2F%3E---%20%2Fdev%2Fnull%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_c%2Fsetup%2Ferpc_setup_rpmsg_lite_rtos_remote.cpp%3CBR%20%2F%3E%40%40%20-0%2C0%20%2B1%2C54%20%40%40%3CBR%20%2F%3E%2B%20%2F*%3CBR%20%2F%3E%2B%20*%20Copyright%20(c)%202014-2016%2C%20Freescale%20Semiconductor%2C%20Inc.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20Redistribution%20and%20use%20in%20source%20and%20binary%20forms%2C%20with%20or%20without%20modification%2C%3CBR%20%2F%3E%2B%20*%20are%20permitted%20provided%20that%20the%20following%20conditions%20are%20met%3A%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Redistributions%20of%20source%20code%20must%20retain%20the%20above%20copyright%20notice%2C%20this%20list%3CBR%20%2F%3E%2B%20*%20of%20conditions%20and%20the%20following%20disclaimer.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Redistributions%20in%20binary%20form%20must%20reproduce%20the%20above%20copyright%20notice%2C%20this%3CBR%20%2F%3E%2B%20*%20list%20of%20conditions%20and%20the%20following%20disclaimer%20in%20the%20documentation%20and%2For%3CBR%20%2F%3E%2B%20*%20other%20materials%20provided%20with%20the%20distribution.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Neither%20the%20name%20of%20Freescale%20Semiconductor%2C%20Inc.%20nor%20the%20names%20of%20its%3CBR%20%2F%3E%2B%20*%20contributors%20may%20be%20used%20to%20endorse%20or%20promote%20products%20derived%20from%20this%3CBR%20%2F%3E%2B%20*%20software%20without%20specific%20prior%20written%20permission.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20THIS%20SOFTWARE%20IS%20PROVIDED%20BY%20THE%20COPYRIGHT%20HOLDERS%20AND%20CONTRIBUTORS%20%22AS%20IS%22%20AND%3CBR%20%2F%3E%2B%20*%20ANY%20EXPRESS%20OR%20IMPLIED%20WARRANTIES%2C%20INCLUDING%2C%20BUT%20NOT%20LIMITED%20TO%2C%20THE%20IMPLIED%3CBR%20%2F%3E%2B%20*%20WARRANTIES%20OF%20MERCHANTABILITY%20AND%20FITNESS%20FOR%20A%20PARTICULAR%20PURPOSE%20ARE%3CBR%20%2F%3E%2B%20*%20DISCLAIMED.%20IN%20NO%20EVENT%20SHALL%20THE%20COPYRIGHT%20HOLDER%20OR%20CONTRIBUTORS%20BE%20LIABLE%20FOR%3CBR%20%2F%3E%2B%20*%20ANY%20DIRECT%2C%20INDIRECT%2C%20INCIDENTAL%2C%20SPECIAL%2C%20EXEMPLARY%2C%20OR%20CONSEQUENTIAL%20DAMAGES%3CBR%20%2F%3E%2B%20*%20(INCLUDING%2C%20BUT%20NOT%20LIMITED%20TO%2C%20PROCUREMENT%20OF%20SUBSTITUTE%20GOODS%20OR%20SERVICES%3B%3CBR%20%2F%3E%2B%20*%20LOSS%20OF%20USE%2C%20DATA%2C%20OR%20PROFITS%3B%20OR%20BUSINESS%20INTERRUPTION)%20HOWEVER%20CAUSED%20AND%20ON%3CBR%20%2F%3E%2B%20*%20ANY%20THEORY%20OF%20LIABILITY%2C%20WHETHER%20IN%20CONTRACT%2C%20STRICT%20LIABILITY%2C%20OR%20TORT%3CBR%20%2F%3E%2B%20*%20(INCLUDING%20NEGLIGENCE%20OR%20OTHERWISE)%20ARISING%20IN%20ANY%20WAY%20OUT%20OF%20THE%20USE%20OF%20THIS%3CBR%20%2F%3E%2B%20*%20SOFTWARE%2C%20EVEN%20IF%20ADVISED%20OF%20THE%20POSSIBILITY%20OF%20SUCH%20DAMAGE.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23include%20%22manually_constructed.h%22%3CBR%20%2F%3E%2B%23include%20%22rpmsg_lite_rtos_transport.h%22%3CBR%20%2F%3E%2B%23include%20%22erpc_transport_setup.h%22%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Busing%20namespace%20erpc%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Variables%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bstatic%20ManuallyConstructed%3CRPMSGRTOSTRANSPORT%3E%20s_transport%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Code%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Berpc_transport_t%20erpc_transport_rpmsg_lite_rtos_remote_init(%3CBR%20%2F%3E%2B%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*start_address%2C%20int%20rpmsg_link_id%2C%20void%20(*ready_cb)(void)%2C%20bool%20send_nameservice)%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20s_transport.construct()%3B%3CBR%20%2F%3E%2B%20s_transport-%26gt%3Binit(src_addr%2C%20dst_addr%2C%20start_address%2C%20rpmsg_link_id%2C%20ready_cb%2C%20send_nameservice)%3B%3CBR%20%2F%3E%2B%20return%20reinterpret_cast%3CERPC_TRANSPORT_T%3E(s_transport.get())%3B%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%3CBR%20%2F%3Ediff%20--git%20a%2Ferpc_c%2Fsetup%2Ferpc_transport_setup.h%20b%2Ferpc_c%2Fsetup%2Ferpc_transport_setup.h%3CBR%20%2F%3Eindex%20798d92f..6c3959e%20100644%3CBR%20%2F%3E---%20a%2Ferpc_c%2Fsetup%2Ferpc_transport_setup.h%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_c%2Fsetup%2Ferpc_transport_setup.h%3CBR%20%2F%3E%40%40%20-34%2C6%20%2B34%2C7%20%40%40%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%23include%20%22erpc_version.h%22%3CBR%20%2F%3E%20%23include%20%3CSTDINT.H%3E%3CBR%20%2F%3E%2B%23include%20%3CSTDBOOL.H%3E%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40addtogroup%20transport_setup%3CBR%20%2F%3E%40%40%20-48%2C7%20%2B49%2C7%20%40%40%3CBR%20%2F%3E%20%2F%2F!%20%40brief%20Opaque%20transport%20object%20type.%3CBR%20%2F%3E%20typedef%20struct%20ErpcTransport%20*erpc_transport_t%3B%3CBR%20%2F%3E%20%2F%2F!%20%40brief%20Ready%20callback%20object%20type%20for%20RPMsg-Lite%20transport.%3CBR%20%2F%3E-typedef%20void%20(*rpmsg_ready_cb)(void)%3B%3CBR%20%2F%3E%2B%2F%2Ftypedef%20void%20(*rpmsg_ready_cb)(void)%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%20%2F%2F%20API%3CBR%20%2F%3E%40%40%20-106%2C21%20%2B107%2C21%20%40%40%20erpc_transport_t%20erpc_transport_rpmsg_lite_master_init(unsigned%20long%20src_addr%2C%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20Create%20an%20RPMsg-Lite%20zero%20copy%20transport.%3CBR%20%2F%3E%20*%2F%3CBR%20%2F%3E-erpc_transport_t%20erpc_transport_rpmsg_lite_zc_master_init(unsigned%20long%20src_addr%2C%3CBR%20%2F%3E-%20unsigned%20long%20dst_addr%2C%3CBR%20%2F%3E-%20int%20rpmsg_link_id)%3B%3CBR%20%2F%3E%2B%2F%2Ferpc_transport_t%20erpc_transport_rpmsg_lite_zc_master_init(unsigned%20long%20src_addr%2C%3CBR%20%2F%3E%2B%2F%2F%20unsigned%20long%20dst_addr%2C%3CBR%20%2F%3E%2B%2F%2F%20int%20rpmsg_link_id)%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20Create%20an%20RPMsg-Lite%20transport.%3CBR%20%2F%3E%20*%2F%3CBR%20%2F%3E%20erpc_transport_t%20erpc_transport_rpmsg_lite_remote_init(%3CBR%20%2F%3E-%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*start_address%2C%20int%20rpmsg_link_id%2C%20rpmsg_ready_cb%20ready)%3B%3CBR%20%2F%3E%2B%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*start_address%2C%20int%20rpmsg_link_id%2C%20void%20(*ready_cb)(void)%2C%20bool%20send_nameservice)%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20Create%20an%20RPMsg-Lite%20zero%20copy%20transport.%3CBR%20%2F%3E%20*%2F%3CBR%20%2F%3E-erpc_transport_t%20erpc_transport_rpmsg_lite_zc_remote_init(%3CBR%20%2F%3E-%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*start_address%2C%20int%20rpmsg_link_id%2C%20rpmsg_ready_cb%20ready)%3B%3CBR%20%2F%3E%2B%2F%2Ferpc_transport_t%20erpc_transport_rpmsg_lite_zc_remote_init(%3CBR%20%2F%3E%2B%2F%2F%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*start_address%2C%20int%20rpmsg_link_id%2C%20rpmsg_ready_cb%20ready)%3B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F*!%3CBR%20%2F%3E%20*%20%40brief%20Create%20an%20RPMsg-Lite%20RTOS%20transport.%3CBR%20%2F%3E%40%40%20-133%2C7%20%2B134%2C8%20%40%40%20erpc_transport_t%20erpc_transport_rpmsg_lite_rtos_master_init(unsigned%20long%20src_ad%3CBR%20%2F%3E%20*%20%40brief%20Create%20an%20RPMsg-Lite%20RTOS%20transport.%3CBR%20%2F%3E%20*%2F%3CBR%20%2F%3E%20erpc_transport_t%20erpc_transport_rpmsg_lite_rtos_remote_init(%3CBR%20%2F%3E-%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*start_address%2C%20int%20rpmsg_link_id%2C%20rpmsg_ready_cb%20ready)%3B%3CBR%20%2F%3E%2B%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*start_address%2C%20int%20rpmsg_link_id%2C%20void%20(*ready_cb)(void)%2C%20bool%20send_nameservice)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%2F%2F%40%7D%3CBR%20%2F%3E%20%3CBR%20%2F%3Ediff%20--git%20a%2Ferpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.cpp%20b%2Ferpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.cpp%3CBR%20%2F%3Enew%20file%20mode%20100644%3CBR%20%2F%3Eindex%200000000..e04ae91%3CBR%20%2F%3E---%20%2Fdev%2Fnull%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.cpp%3CBR%20%2F%3E%40%40%20-0%2C0%20%2B1%2C158%20%40%40%3CBR%20%2F%3E%2B%2F*%3CBR%20%2F%3E%2B%20*%20Copyright%20(c)%202015%2C%20Freescale%20Semiconductor%2C%20Inc.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20Redistribution%20and%20use%20in%20source%20and%20binary%20forms%2C%20with%20or%20without%20modification%2C%3CBR%20%2F%3E%2B%20*%20are%20permitted%20provided%20that%20the%20following%20conditions%20are%20met%3A%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Redistributions%20of%20source%20code%20must%20retain%20the%20above%20copyright%20notice%2C%20this%20list%3CBR%20%2F%3E%2B%20*%20of%20conditions%20and%20the%20following%20disclaimer.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Redistributions%20in%20binary%20form%20must%20reproduce%20the%20above%20copyright%20notice%2C%20this%3CBR%20%2F%3E%2B%20*%20list%20of%20conditions%20and%20the%20following%20disclaimer%20in%20the%20documentation%20and%2For%3CBR%20%2F%3E%2B%20*%20other%20materials%20provided%20with%20the%20distribution.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Neither%20the%20name%20of%20Freescale%20Semiconductor%2C%20Inc.%20nor%20the%20names%20of%20its%3CBR%20%2F%3E%2B%20*%20contributors%20may%20be%20used%20to%20endorse%20or%20promote%20products%20derived%20from%20this%3CBR%20%2F%3E%2B%20*%20software%20without%20specific%20prior%20written%20permission.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20THIS%20SOFTWARE%20IS%20PROVIDED%20BY%20THE%20COPYRIGHT%20HOLDERS%20AND%20CONTRIBUTORS%20%22AS%20IS%22%20AND%3CBR%20%2F%3E%2B%20*%20ANY%20EXPRESS%20OR%20IMPLIED%20WARRANTIES%2C%20INCLUDING%2C%20BUT%20NOT%20LIMITED%20TO%2C%20THE%20IMPLIED%3CBR%20%2F%3E%2B%20*%20WARRANTIES%20OF%20MERCHANTABILITY%20AND%20FITNESS%20FOR%20A%20PARTICULAR%20PURPOSE%20ARE%3CBR%20%2F%3E%2B%20*%20DISCLAIMED.%20IN%20NO%20EVENT%20SHALL%20THE%20COPYRIGHT%20HOLDER%20OR%20CONTRIBUTORS%20BE%20LIABLE%20FOR%3CBR%20%2F%3E%2B%20*%20ANY%20DIRECT%2C%20INDIRECT%2C%20INCIDENTAL%2C%20SPECIAL%2C%20EXEMPLARY%2C%20OR%20CONSEQUENTIAL%20DAMAGES%3CBR%20%2F%3E%2B%20*%20(INCLUDING%2C%20BUT%20NOT%20LIMITED%20TO%2C%20PROCUREMENT%20OF%20SUBSTITUTE%20GOODS%20OR%20SERVICES%3B%3CBR%20%2F%3E%2B%20*%20LOSS%20OF%20USE%2C%20DATA%2C%20OR%20PROFITS%3B%20OR%20BUSINESS%20INTERRUPTION)%20HOWEVER%20CAUSED%20AND%20ON%3CBR%20%2F%3E%2B%20*%20ANY%20THEORY%20OF%20LIABILITY%2C%20WHETHER%20IN%20CONTRACT%2C%20STRICT%20LIABILITY%2C%20OR%20TORT%3CBR%20%2F%3E%2B%20*%20(INCLUDING%20NEGLIGENCE%20OR%20OTHERWISE)%20ARISING%20IN%20ANY%20WAY%20OUT%20OF%20THE%20USE%20OF%20THIS%3CBR%20%2F%3E%2B%20*%20SOFTWARE%2C%20EVEN%20IF%20ADVISED%20OF%20THE%20POSSIBILITY%20OF%20SUCH%20DAMAGE.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23include%20%22rpmsg_lite_rtos_transport.h%22%3CBR%20%2F%3E%2B%23include%20%3CCASSERT%3E%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23if%20!(__embedded_cplusplus)%3CBR%20%2F%3E%2Busing%20namespace%20std%3B%3CBR%20%2F%3E%2B%23endif%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Busing%20namespace%20erpc%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Variables%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2Buint8_t%20RPMsgRTOSTransport%3A%3As_initialized%20%3D%200%3B%3CBR%20%2F%3E%2Bstruct%20rpmsg_lite_instance%20*RPMsgRTOSTransport%3A%3As_rpmsg%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Code%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2BRPMsgRTOSTransport%3A%3ARPMsgRTOSTransport()%3CBR%20%2F%3E%2B%3A%20Transport()%3CBR%20%2F%3E%2B%2C%20m_dst_addr(0)%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2BRPMsgRTOSTransport%3A%3A~RPMsgRTOSTransport()%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20rpmsg_lite_deinit(s_rpmsg)%3B%3CBR%20%2F%3E%2B%20s_initialized%20%3D%200%3B%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Berpc_status_t%20RPMsgRTOSTransport%3A%3Ainit(%3CBR%20%2F%3E%2B%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*base_address%2C%20unsigned%20long%20length%2C%20int%20rpmsg_link_id)%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20if%20(!s_initialized)%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20s_rpmsg%20%3D%20rpmsg_lite_master_init(base_address%2C%20length%2C%20rpmsg_link_id%2C%20RL_NO_FLAGS)%3B%3CBR%20%2F%3E%2B%20s_initialized%20%3D%201%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20m_rpmsg_queue%20%3D%20rpmsg_queue_create(s_rpmsg)%3B%3CBR%20%2F%3E%2B%20m_rpmsg_ept%20%3D%20rpmsg_lite_create_ept(s_rpmsg%2C%20src_addr%2C%20rpmsg_queue_rx_cb%2C%20m_rpmsg_queue)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20m_dst_addr%20%3D%20dst_addr%3B%3CBR%20%2F%3E%2B%20return%20m_rpmsg_ept%20%3D%3D%20RL_NULL%20%3F%20kErpcStatus_InitFailed%20%3A%20kErpcStatus_Success%3B%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Berpc_status_t%20RPMsgRTOSTransport%3A%3Ainit(%3CBR%20%2F%3E%2B%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*base_address%2C%20int%20rpmsg_link_id%2C%20void%20(*ready_cb)(void)%2C%20bool%20send_nameservice)%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20if%20(!s_initialized)%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20s_rpmsg%20%3D%20rpmsg_lite_remote_init(base_address%2C%20rpmsg_link_id%2C%20RL_NO_FLAGS)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*%20Signal%20the%20other%20core%20we%20are%20ready%20*%2F%3CBR%20%2F%3E%2B%20if%20(ready_cb%20!%3D%20NULL)%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20ready_cb()%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20while%20(!rpmsg_lite_is_link_up(s_rpmsg))%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20s_initialized%20%3D%201%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20m_rpmsg_queue%20%3D%20rpmsg_queue_create(s_rpmsg)%3B%3CBR%20%2F%3E%2B%20m_rpmsg_ept%20%3D%20rpmsg_lite_create_ept(s_rpmsg%2C%20src_addr%2C%20rpmsg_queue_rx_cb%2C%20m_rpmsg_queue)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20if(send_nameservice)%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20rpmsg_ns_announce(s_rpmsg%2C%20m_rpmsg_ept%2C%3CBR%20%2F%3E%2B%20%22rpmsg-openamp-demo-channel%22%2C%3CBR%20%2F%3E%2B%200)%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20m_dst_addr%20%3D%20dst_addr%3B%3CBR%20%2F%3E%2B%20return%20m_rpmsg_ept%20%3D%3D%20RL_NULL%20%3F%20kErpcStatus_InitFailed%20%3A%20kErpcStatus_Success%3B%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Berpc_status_t%20RPMsgRTOSTransport%3A%3Areceive(MessageBuffer%20*message)%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20int%20ret_val%20%3D%20rpmsg_queue_recv(s_rpmsg%2C%20m_rpmsg_queue%2C%20%26amp%3Bm_dst_addr%2C%20(char%20*)message-%26gt%3Bget()%2C%20kRpmsgMessageBufferSize%2C%3CBR%20%2F%3E%2B%20NULL%2C%20RL_BLOCK)%3B%3CBR%20%2F%3E%2B%20return%20ret_val%20!%3D%20RL_SUCCESS%20%3F%20kErpcStatus_ReceiveFailed%20%3A%20kErpcStatus_Success%3B%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Berpc_status_t%20RPMsgRTOSTransport%3A%3Asend(const%20MessageBuffer%20*message)%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20int%20ret_val%20%3D%3CBR%20%2F%3E%2B%20rpmsg_lite_send(s_rpmsg%2C%20m_rpmsg_ept%2C%20m_dst_addr%2C%20(char%20*)message-%26gt%3Bget()%2C%20message-%26gt%3BgetUsed()%2C%20RL_BLOCK)%3B%3CBR%20%2F%3E%2B%20return%20ret_val%20!%3D%20RL_SUCCESS%20%3F%20kErpcStatus_SendFailed%20%3A%20kErpcStatus_Success%3B%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2BMessageBuffer%20RPMsgMessageBufferFactory%3A%3Acreate()%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20uint8_t%20idx%20%3D%200%3B%3CBR%20%2F%3E%2B%20while%20(((m_freeBufferBitmap%20%26amp%3B%20idx)%20%3D%3D%200)%20%26amp%3B%26amp%3B%20(idx%20%26lt%3B%20kInitCountMessageBuffers))%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20idx%2B%2B%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20assert(idx%20%26lt%3B%20kInitCountMessageBuffers)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20m_freeBufferBitmap%20%26amp%3B%3D%20~(1%20%26lt%3B%26lt%3B%20idx)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20uint8_t%20*buf%3B%3CBR%20%2F%3E%2B%20buf%20%3D%20m_buffers%5Bidx%5D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20assert(NULL%20!%3D%20buf)%3B%3CBR%20%2F%3E%2B%20return%20MessageBuffer(buf%2C%20kRpmsgMessageBufferSize)%3B%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bvoid%20RPMsgMessageBufferFactory%3A%3Adispose(MessageBuffer%20*buf)%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20assert(buf)%3B%3CBR%20%2F%3E%2B%20uint8_t%20*tmp%20%3D%20buf-%26gt%3Bget()%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20if%20(tmp)%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20uint8_t%20idx%20%3D%200%3B%3CBR%20%2F%3E%2B%20while%20((tmp%20!%3D%20m_buffers%5Bidx%5D)%20%26amp%3B%26amp%3B%20(idx%20%26lt%3B%20kInitCountMessageBuffers))%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20%2B%2Bidx%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%20m_freeBufferBitmap%20%7C%3D%201%20%26lt%3B%26lt%3B%20idx%3B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3Ediff%20--git%20a%2Ferpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.h%20b%2Ferpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.h%3CBR%20%2F%3Enew%20file%20mode%20100644%3CBR%20%2F%3Eindex%200000000..f1aec8a%3CBR%20%2F%3E---%20%2Fdev%2Fnull%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_c%2Ftransports%2Frpmsg_lite_rtos_transport.h%3CBR%20%2F%3E%40%40%20-0%2C0%20%2B1%2C177%20%40%40%3CBR%20%2F%3E%2B%2F*%3CBR%20%2F%3E%2B%20*%20Copyright%20(c)%202015-2016%2C%20Freescale%20Semiconductor%2C%20Inc.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20Redistribution%20and%20use%20in%20source%20and%20binary%20forms%2C%20with%20or%20without%20modification%2C%3CBR%20%2F%3E%2B%20*%20are%20permitted%20provided%20that%20the%20following%20conditions%20are%20met%3A%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Redistributions%20of%20source%20code%20must%20retain%20the%20above%20copyright%20notice%2C%20this%20list%3CBR%20%2F%3E%2B%20*%20of%20conditions%20and%20the%20following%20disclaimer.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Redistributions%20in%20binary%20form%20must%20reproduce%20the%20above%20copyright%20notice%2C%20this%3CBR%20%2F%3E%2B%20*%20list%20of%20conditions%20and%20the%20following%20disclaimer%20in%20the%20documentation%20and%2For%3CBR%20%2F%3E%2B%20*%20other%20materials%20provided%20with%20the%20distribution.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Neither%20the%20name%20of%20Freescale%20Semiconductor%2C%20Inc.%20nor%20the%20names%20of%20its%3CBR%20%2F%3E%2B%20*%20contributors%20may%20be%20used%20to%20endorse%20or%20promote%20products%20derived%20from%20this%3CBR%20%2F%3E%2B%20*%20software%20without%20specific%20prior%20written%20permission.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20THIS%20SOFTWARE%20IS%20PROVIDED%20BY%20THE%20COPYRIGHT%20HOLDERS%20AND%20CONTRIBUTORS%20%22AS%20IS%22%20AND%3CBR%20%2F%3E%2B%20*%20ANY%20EXPRESS%20OR%20IMPLIED%20WARRANTIES%2C%20INCLUDING%2C%20BUT%20NOT%20LIMITED%20TO%2C%20THE%20IMPLIED%3CBR%20%2F%3E%2B%20*%20WARRANTIES%20OF%20MERCHANTABILITY%20AND%20FITNESS%20FOR%20A%20PARTICULAR%20PURPOSE%20ARE%3CBR%20%2F%3E%2B%20*%20DISCLAIMED.%20IN%20NO%20EVENT%20SHALL%20THE%20COPYRIGHT%20HOLDER%20OR%20CONTRIBUTORS%20BE%20LIABLE%20FOR%3CBR%20%2F%3E%2B%20*%20ANY%20DIRECT%2C%20INDIRECT%2C%20INCIDENTAL%2C%20SPECIAL%2C%20EXEMPLARY%2C%20OR%20CONSEQUENTIAL%20DAMAGES%3CBR%20%2F%3E%2B%20*%20(INCLUDING%2C%20BUT%20NOT%20LIMITED%20TO%2C%20PROCUREMENT%20OF%20SUBSTITUTE%20GOODS%20OR%20SERVICES%3B%3CBR%20%2F%3E%2B%20*%20LOSS%20OF%20USE%2C%20DATA%2C%20OR%20PROFITS%3B%20OR%20BUSINESS%20INTERRUPTION)%20HOWEVER%20CAUSED%20AND%20ON%3CBR%20%2F%3E%2B%20*%20ANY%20THEORY%20OF%20LIABILITY%2C%20WHETHER%20IN%20CONTRACT%2C%20STRICT%20LIABILITY%2C%20OR%20TORT%3CBR%20%2F%3E%2B%20*%20(INCLUDING%20NEGLIGENCE%20OR%20OTHERWISE)%20ARISING%20IN%20ANY%20WAY%20OUT%20OF%20THE%20USE%20OF%20THIS%3CBR%20%2F%3E%2B%20*%20SOFTWARE%2C%20EVEN%20IF%20ADVISED%20OF%20THE%20POSSIBILITY%20OF%20SUCH%20DAMAGE.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23ifndef%20_EMBEDDED_RPC__RPMSG_LITE_RTOS_TRANSPORT_H_%3CBR%20%2F%3E%2B%23define%20_EMBEDDED_RPC__RPMSG_LITE_RTOS_TRANSPORT_H_%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23include%20%22transport.h%22%3CBR%20%2F%3E%2B%23include%20%22message_buffer.h%22%3CBR%20%2F%3E%2B%23include%20%22rpmsg_lite.h%22%3CBR%20%2F%3E%2B%23include%20%22rpmsg_queue.h%22%3CBR%20%2F%3E%2B%23include%20%22rpmsg_ns.h%22%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F*!%3CBR%20%2F%3E%2B%20*%20%40addtogroup%20rpmsg_lite_rtos_transport%3CBR%20%2F%3E%2B%20*%20%40%7B%3CBR%20%2F%3E%2B%20*%20%40file%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Definitions%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Benum%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20kRpmsgMessageBufferSize%20%3D%20RPMSG_BUFFER_SIZE%2C%3CBR%20%2F%3E%2B%20kInitCountMessageBuffers%20%3D%202%2C%3CBR%20%2F%3E%2B%7D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Classes%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bnamespace%20erpc%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Transport%20that%20uses%20RPMsg%20RTOS%20API%20for%20interprocessor%20messaging.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40ingroup%20rpmsg_lite_rtos_transport%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2Bclass%20RPMsgRTOSTransport%20%3A%20public%20Transport%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2Bpublic%3A%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Constructor.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20This%20function%20initializes%20object%20attributes.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20RPMsgRTOSTransport()%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20RPMsgRTOSTransport%20destructor%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20~RPMsgRTOSTransport()%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20This%20function%20call%20RPMsg%20rtos%20init%20function%20-%20as%20RPMsg%20master%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20src_addr%20Source%20address.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20dst_addr%20Destination%20address.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20base_address%20RPMsg%20base%20address%20in%20the%20shared%20memory.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20length%20RPMsg%20shared%20memory%20region%20length.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20rpmsg_link_id%20Selection%20between%20what%20cores%20the%20communication%20will%20occur.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_Success%20When%20rpmsg%20init%20function%20was%20executed%20successfully.%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_InitFailed%20When%20rpmsg%20init%20function%20wasn't%20executed%20successfully.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20erpc_status_t%20init(%3CBR%20%2F%3E%2B%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*base_address%2C%20unsigned%20long%20length%2C%20int%20rpmsg_link_id)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20This%20function%20call%20RPMsg%20rtos%20init%20function%20-%20as%20RPMsg%20remote%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20src_addr%20Source%20address.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20dst_addr%20Destination%20address.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20base_address%20RPMsg%20base%20address%20in%20the%20shared%20memory.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20rpmsg_link_id%20Selection%20between%20what%20cores%20the%20communication%20will%20occur.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20ready_cb%20Callback%20called%20after%20RPMsg%20init%20is%20done%20and%20the%20core%20is%20ready.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20send_nameservice%20If%20true%2C%20RPMsg%20master%20notified%20by%20nameservice.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_Success%20When%20rpmsg%20init%20function%20was%20executed%20successfully.%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_InitFailed%20When%20rpmsg%20init%20function%20wasn't%20executed%20successfully.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20erpc_status_t%20init(%3CBR%20%2F%3E%2B%20unsigned%20long%20src_addr%2C%20unsigned%20long%20dst_addr%2C%20void%20*base_address%2C%20int%20rpmsg_link_id%2C%20void%20(*ready_cb)(void)%2C%20bool%20send_nameservice)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Store%20incoming%20message%20to%20message%20buffer.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20In%20loop%20while%20no%20message%20come.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20message%20Message%20buffer%2C%20to%20which%20will%20be%20stored%20incoming%20message.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_ReceiveFailed%20Failed%20to%20receive%20message%20buffer.%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_Success%20Successfully%20received%20all%20data.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20erpc_status_t%20receive(MessageBuffer%20*message)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Function%20to%20send%20prepared%20message.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20message%20Pass%20message%20buffer%20to%20send.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_SendFailed%20Failed%20to%20send%20message%20buffer.%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_Success%20Successfully%20sent%20all%20data.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20erpc_status_t%20send(const%20MessageBuffer%20*message)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bprotected%3A%3CBR%20%2F%3E%2B%20%2F*%20Remote%20device%20*%2F%3CBR%20%2F%3E%2B%20struct%20remote_device%20*m_rdev%3B%20%2F*!%26lt%3B%20Device%20which%20represent%20the%20second%20core.%20*%2F%3CBR%20%2F%3E%2B%20struct%20rpmsg_channel%20*m_app_rp_chnl%3B%20%2F*!%26lt%3B%20Represent%20connection%20between%20two%20device%20(two%20cores).%20*%2F%3CBR%20%2F%3E%2B%20unsigned%20long%20m_dst_addr%3B%20%2F*!%26lt%3B%20Destination%20address%20used%20by%20rpmsg.%20*%2F%3CBR%20%2F%3E%2B%20rpmsg_queue_handle%20m_rpmsg_queue%3B%20%2F*!%26lt%3B%20Handle%20of%20RPMsg%20queue.%20*%2F%3CBR%20%2F%3E%2B%20struct%20rpmsg_lite_endpoint%20*m_rpmsg_ept%3B%20%2F*!%26lt%3B%20Pointer%20to%20RPMsg%20Lite%20Endpoint%20structure.%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20static%20struct%20rpmsg_lite_instance%20*s_rpmsg%3B%20%2F*!%26lt%3B%20Pointer%20to%20instance%20of%20RPMSG%20lite.%20*%2F%3CBR%20%2F%3E%2B%20static%20uint8_t%20s_initialized%3B%20%2F*!%26lt%3B%20Represent%20information%20if%20the%20rpmsg-lite%20was%20initialized.%20*%2F%3CBR%20%2F%3E%2B%7D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bclass%20RPMsgMessageBufferFactory%20%3A%20public%20MessageBufferFactory%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20uint8_t%20m_freeBufferBitmap%3B%3CBR%20%2F%3E%2B%20uint8_t%20m_buffers%5BkInitCountMessageBuffers%5D%5BkRpmsgMessageBufferSize%5D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bpublic%3A%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Constructor.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20RPMsgMessageBufferFactory()%3CBR%20%2F%3E%2B%20%3A%20m_freeBufferBitmap(0xFF)%3CBR%20%2F%3E%2B%20%7B%3CBR%20%2F%3E%2B%20%7D%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20RPMsgMessageBufferFactory%20destructor%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20~RPMsgMessageBufferFactory()%20%7B%7D%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20This%20function%20create%20message%20buffer%20used%20for%20communication%20between%20devices.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20MessageBuffer%20create()%3B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20This%20function%20dispose%20message%20buffer%20used%20for%20communication%20between%20devices.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20void%20dispose(MessageBuffer%20*buf)%3B%3CBR%20%2F%3E%2B%7D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%7D%20%2F%2F%20namespace%20erpc%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F*!%20%40%7D%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23endif%20%2F%2F%20_EMBEDDED_RPC__RPMSG_LITE_RTOS_TRANSPORT_H_%3CBR%20%2F%3Ediff%20--git%20a%2Ferpc_c%2Ftransports%2Frpmsg_rtos_transport.h%20b%2Ferpc_c%2Ftransports%2Frpmsg_rtos_transport.h%3CBR%20%2F%3Enew%20file%20mode%20100644%3CBR%20%2F%3Eindex%200000000..ad1d229%3CBR%20%2F%3E---%20%2Fdev%2Fnull%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_c%2Ftransports%2Frpmsg_rtos_transport.h%3CBR%20%2F%3E%40%40%20-0%2C0%20%2B1%2C147%20%40%40%3CBR%20%2F%3E%2B%2F*%3CBR%20%2F%3E%2B%20*%20Copyright%20(c)%202015%2C%20Freescale%20Semiconductor%2C%20Inc.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20Redistribution%20and%20use%20in%20source%20and%20binary%20forms%2C%20with%20or%20without%20modification%2C%3CBR%20%2F%3E%2B%20*%20are%20permitted%20provided%20that%20the%20following%20conditions%20are%20met%3A%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Redistributions%20of%20source%20code%20must%20retain%20the%20above%20copyright%20notice%2C%20this%20list%3CBR%20%2F%3E%2B%20*%20of%20conditions%20and%20the%20following%20disclaimer.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Redistributions%20in%20binary%20form%20must%20reproduce%20the%20above%20copyright%20notice%2C%20this%3CBR%20%2F%3E%2B%20*%20list%20of%20conditions%20and%20the%20following%20disclaimer%20in%20the%20documentation%20and%2For%3CBR%20%2F%3E%2B%20*%20other%20materials%20provided%20with%20the%20distribution.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20o%20Neither%20the%20name%20of%20Freescale%20Semiconductor%2C%20Inc.%20nor%20the%20names%20of%20its%3CBR%20%2F%3E%2B%20*%20contributors%20may%20be%20used%20to%20endorse%20or%20promote%20products%20derived%20from%20this%3CBR%20%2F%3E%2B%20*%20software%20without%20specific%20prior%20written%20permission.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20THIS%20SOFTWARE%20IS%20PROVIDED%20BY%20THE%20COPYRIGHT%20HOLDERS%20AND%20CONTRIBUTORS%20%22AS%20IS%22%20AND%3CBR%20%2F%3E%2B%20*%20ANY%20EXPRESS%20OR%20IMPLIED%20WARRANTIES%2C%20INCLUDING%2C%20BUT%20NOT%20LIMITED%20TO%2C%20THE%20IMPLIED%3CBR%20%2F%3E%2B%20*%20WARRANTIES%20OF%20MERCHANTABILITY%20AND%20FITNESS%20FOR%20A%20PARTICULAR%20PURPOSE%20ARE%3CBR%20%2F%3E%2B%20*%20DISCLAIMED.%20IN%20NO%20EVENT%20SHALL%20THE%20COPYRIGHT%20HOLDER%20OR%20CONTRIBUTORS%20BE%20LIABLE%20FOR%3CBR%20%2F%3E%2B%20*%20ANY%20DIRECT%2C%20INDIRECT%2C%20INCIDENTAL%2C%20SPECIAL%2C%20EXEMPLARY%2C%20OR%20CONSEQUENTIAL%20DAMAGES%3CBR%20%2F%3E%2B%20*%20(INCLUDING%2C%20BUT%20NOT%20LIMITED%20TO%2C%20PROCUREMENT%20OF%20SUBSTITUTE%20GOODS%20OR%20SERVICES%3B%3CBR%20%2F%3E%2B%20*%20LOSS%20OF%20USE%2C%20DATA%2C%20OR%20PROFITS%3B%20OR%20BUSINESS%20INTERRUPTION)%20HOWEVER%20CAUSED%20AND%20ON%3CBR%20%2F%3E%2B%20*%20ANY%20THEORY%20OF%20LIABILITY%2C%20WHETHER%20IN%20CONTRACT%2C%20STRICT%20LIABILITY%2C%20OR%20TORT%3CBR%20%2F%3E%2B%20*%20(INCLUDING%20NEGLIGENCE%20OR%20OTHERWISE)%20ARISING%20IN%20ANY%20WAY%20OUT%20OF%20THE%20USE%20OF%20THIS%3CBR%20%2F%3E%2B%20*%20SOFTWARE%2C%20EVEN%20IF%20ADVISED%20OF%20THE%20POSSIBILITY%20OF%20SUCH%20DAMAGE.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23ifndef%20_EMBEDDED_RPC__RPMSG_RTOS_TRANSPORT_H_%3CBR%20%2F%3E%2B%23define%20_EMBEDDED_RPC__RPMSG_RTOS_TRANSPORT_H_%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23include%20%22transport.h%22%3CBR%20%2F%3E%2B%23include%20%22message_buffer.h%22%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bextern%20%22C%22%20%7B%3CBR%20%2F%3E%2B%23include%20%22rpmsg.h%22%3CBR%20%2F%3E%2B%23include%20%22rpmsg_rtos.h%22%3CBR%20%2F%3E%2B%23include%20%22rpmsg.h%22%3CBR%20%2F%3E%2B%7D%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F*!%3CBR%20%2F%3E%2B%20*%20%40addtogroup%20rpmsg_rtos_transport%3CBR%20%2F%3E%2B%20*%20%40%7B%3CBR%20%2F%3E%2B%20*%20%40file%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Definitions%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Benum%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%20kRpmsgMessageBufferSize%20%3D%20RPMSG_BUFFER_SIZE%2C%3CBR%20%2F%3E%2B%7D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%2F%2F%20Classes%3CBR%20%2F%3E%2B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bnamespace%20erpc%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2B%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Transport%20that%20uses%20RPMsg%20RTOS%20API%20for%20interprocessor%20messaging.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40ingroup%20rpmsg_rtos_transport%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2Bclass%20RPMsgRTOSTransport%20%3A%20public%20Transport%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2Bpublic%3A%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Constructor.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20This%20function%20initializes%20object%20attributes.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20RPMsgRTOSTransport()%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20RPMsgRTOSTransport%20destructor%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20~RPMsgRTOSTransport()%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20This%20function%20call%20rpmsg%20rtos%20init%20function.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20dev_id%20Device%20id%20number.%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20role%20Device%20role%20number.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_Success%20When%20rpmsg%20init%20function%20was%20executed%20successfully.%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_InitFailed%20When%20rpmsg%20init%20function%20wasn't%20executed%20successfully.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20erpc_status_t%20init(int%20dev_id%2C%20int%20role)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Store%20incoming%20message%20to%20message%20buffer.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20In%20loop%20while%20no%20message%20come.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20message%20Message%20buffer%2C%20to%20which%20will%20be%20stored%20incoming%20message.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_ReceiveFailed%20Failed%20to%20receive%20message%20buffer.%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_Success%20Successfully%20received%20all%20data.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20erpc_status_t%20receive(MessageBuffer%20*message)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Function%20to%20send%20prepared%20message.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%3Ca%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F197964%22%3E%40Param%3C%2Fa%3E%5Bin%5D%20message%20Pass%20message%20buffer%20to%20send.%3CBR%20%2F%3E%2B%20*%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_SendFailed%20Failed%20to%20send%20message%20buffer.%3CBR%20%2F%3E%2B%20*%20%40retval%20kErpcStatus_Success%20Successfully%20sent%20all%20data.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20erpc_status_t%20send(const%20MessageBuffer%20*message)%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bprotected%3A%3CBR%20%2F%3E%2B%20%2F*%20Remote%20device%20*%2F%3CBR%20%2F%3E%2B%20static%20struct%20remote_device%20*m_rdev%3B%20%2F*!%26lt%3B%20Device%20which%20represent%20the%20second%20core.%20*%2F%3CBR%20%2F%3E%2B%20static%20struct%20rpmsg_channel%20*m_app_rp_chnl%3B%20%2F*!%26lt%3B%20Represent%20connection%20between%20two%20device%20(two%20cores).%20*%2F%3CBR%20%2F%3E%2B%7D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2Bclass%20RPMsgMessageBufferFactory%20%3A%20public%20MessageBufferFactory%3CBR%20%2F%3E%2B%7B%3CBR%20%2F%3E%2Bpublic%3A%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20Constructor.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20RPMsgMessageBufferFactory()%20%7B%7D%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20RPMsgMessageBufferFactory%20destructor%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20~RPMsgMessageBufferFactory()%20%7B%7D%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20This%20function%20create%20message%20buffer%20used%20for%20communication%20between%20devices.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20MessageBuffer%20create()%3B%3CBR%20%2F%3E%2B%20%2F*!%3CBR%20%2F%3E%2B%20*%20%40brief%20This%20function%20dispose%20message%20buffer%20used%20for%20communication%20between%20devices.%3CBR%20%2F%3E%2B%20*%2F%3CBR%20%2F%3E%2B%20virtual%20void%20dispose(MessageBuffer%20*buf)%3B%3CBR%20%2F%3E%2B%7D%3B%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%7D%20%2F%2F%20namespace%20erpc%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%2F*!%20%40%7D%20*%2F%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%23endif%20%2F%2F%20_EMBEDDED_RPC__RPMSG_RTOS_TRANSPORT_H_%3CBR%20%2F%3Ediff%20--git%20a%2Ferpc_python%2Ferpc%2Ftransport.py%20b%2Ferpc_python%2Ferpc%2Ftransport.py%3CBR%20%2F%3Eindex%200765e9f..c335943%20100644%3CBR%20%2F%3E---%20a%2Ferpc_python%2Ferpc%2Ftransport.py%3CBR%20%2F%3E%2B%2B%2B%20b%2Ferpc_python%2Ferpc%2Ftransport.py%3CBR%20%2F%3E%40%40%20-31%2C6%20%2B31%2C8%20%40%40%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20import%20struct%3CBR%20%2F%3E%20import%20serial%3CBR%20%2F%3E%2Bfrom%20rpmsg.sysfs%20import%20RpmsgEndpoint%3CBR%20%2F%3E%2Bimport%20time%3CBR%20%2F%3E%20import%20socket%3CBR%20%2F%3E%20import%20threading%3CBR%20%2F%3E%20from%20.crc16%20import%20crc16%3CBR%20%2F%3E%40%40%20-107%2C6%20%2B109%2C25%20%40%40%20class%20SerialTransport(FramedTransport)%3A%3CBR%20%2F%3E%20class%20ConnectionClosed(Exception)%3A%3CBR%20%2F%3E%20pass%3CBR%20%2F%3E%20%3CBR%20%2F%3E%2Bclass%20RpmsgTransport(Transport)%3A%3CBR%20%2F%3E%2B%20def%20__init__(self)%3A%3CBR%20%2F%3E%2B%20self.ept%20%3D%20RpmsgEndpoint(%3CBR%20%2F%3E%2B%20RpmsgEndpoint.rpmsg_openamp_channel%2C%3CBR%20%2F%3E%2B%20RpmsgEndpoint.LOCAL_DEFAULT_ADDRESS%2C%3CBR%20%2F%3E%2B%20RpmsgEndpoint.Types.DATAGRAM)%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20def%20send(self%2C%20message)%3A%3CBR%20%2F%3E%2B%20self.ept.send(message%2C%20RpmsgEndpoint.REMOTE_DEFAULT_ADDRESS)%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%2B%20def%20receive(self)%3A%3CBR%20%2F%3E%2B%20while%20True%3A%3CBR%20%2F%3E%2B%20ret%20%3D%20self.ept.recv(2048)%3CBR%20%2F%3E%2B%20if%20len(ret%5B1%5D)%20!%3D%200%3A%3CBR%20%2F%3E%2B%20return%20ret%5B1%5D%3CBR%20%2F%3E%2B%20else%3A%3CBR%20%2F%3E%2B%20time.sleep(0.001)%3CBR%20%2F%3E%2B%20return%20ret%5B1%5D%20%3CBR%20%2F%3E%2B%3CBR%20%2F%3E%20class%20TCPTransport(FramedTransport)%3A%3CBR%20%2F%3E%20def%20__init__(self%2C%20host%2C%20port%2C%20isServer)%3A%3CBR%20%2F%3E%20super(TCPTransport%2C%20self).__init__()%3CBR%20%2F%3E--%20%3CBR%20%2F%3E2.7.4%3C%2FCASSERT%3E%3C%2FSTDBOOL.H%3E%3C%2FSTDINT.H%3E%3C%2FERPC_TRANSPORT_T%3E%3C%2FRPMSGRTOSTRANSPORT%3E%3C%2FMESSAGEBUFFERFACTORY%3E%3C%2FTRANSPORT%3E%3C%2FBASICCODECFACTORY%3E%3C%2FBASICMESSAGEBUFFERFACTORY%3E%3C%2FSIMPLESERVER%3E%3C%2FASSERT.H%3E%3C%2FNEW%3E%3C%2FASSERT.H%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099149%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099149%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThank%20you%20Dusan%20%3CIMG%20id%3D%22smileyhappy%22%20class%3D%22emoticon%20emoticon-smileyhappy%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-happy.png%22%20alt%3D%22Smiley%20Happy%22%20title%3D%22Smiley%20Happy%22%20%2F%3E.%20once%20i%20got%20my%20demo%20working%20%2C%20i%20will%20create%20pull%20request%20..%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks%20again%20for%20your%20replay%20%2C%20i%20got%20python%20files%20.%20i%20will%20run%20demo%20and%20come%20back%20to%20u%20shortly%20.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099148%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099148%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%20great%20work%20%3CIMG%20id%3D%22smileywink%22%20class%3D%22emoticon%20emoticon-smileywink%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-wink.png%22%20alt%3D%22Smiley%20Wink%22%20title%3D%22Smiley%20Wink%22%20%2F%3E%26nbsp%3BIf%20you%20want%20you%20can%20create%20pull%20request%20for%20imx%20demo%20repository%20to%20fix%20it.%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fmareknovak%22%20target%3D%22_blank%22%3Emareknovak%3C%2FA%3E%26nbsp%3Bcan%20review%20it%20and%20merge%20it%20to%20the%20repository.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ETo%20generate%20python%20code%3A%20As%20other%20application%20you%20can%20do%20in%20command%20line%20%22erpcgen%20--help%20(-h%20should%20work%20too)%22.%3C%2FP%3E%3CP%3E%3CSTRONG%3Epython%20-gpy%20idl_file%3C%2FSTRONG%3E%20-%26gt%3B%20gpy%20means%20generate%20python.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099147%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099147%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThat's%26nbsp%3Bcool%2C%20i%20can%20continue%20to%20work%20in%20the%20same%20stable%20version%20until%20update%20.%26nbsp%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ewith%20couples%20of%20fixes%20my%20MCU%20demo%20build%20and%20run%20properly%20now%20..Thanks%20for%20your%20information%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099146%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099146%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20did%20fix%20and%20now%20i%20got%20MCU%20demo%20working%20properly%20...%20Thanks%20for%20pointing%20out%20me%20a%20stable%20version%20..%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ECould%20you%20please%20tell%20me%20How%20to%20generate%20python%20code%20using%20erpcgen%20tool%20..%20%26nbsp%3B%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099145%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099145%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CDIV%20style%3D%22color%3A%20%2351626f%3B%20border%3A%200px%3B%20font-size%3A%2014px%3B%22%3E%3CDIV%20class%3D%22%22%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%20margin%3A%2020px%200px%3B%22%3E%3CP%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EHi%2C%20not%20sooner%20than%20tomorrow.%20But%20i%20can't%20promise%20that%20it%20will%20be%20tomorrow.%20My%20colleague%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fmareknovak%22%20target%3D%22_blank%22%3Emareknovak%3C%2FA%3E%26nbsp%3Bis%20not%20in%20work%20today.%20But%20it%20should%20be%20soon.%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099144%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099144%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ECould%20you%20please%20tell%20me%20%2C%20when%20are%20you%20going%20to%20update%20%3F%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099143%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099143%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20thanks%20for%20you%20interest.%20Then%20it%20looks%20like%20the%20erpc%20generated%20files%20were%20generated%20with%20different%20erpcgen%20then%20on%20commit%20Marek%20provided%20(our%20mistake).%20Best%20solution%20looks%20like%20we%20need%20updated%20that%20demo%20with%20latests%20stable%20erpc%20and%20erpcgen%20version.%20You%20can%20try%20this%20from%20master%20branch%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGitHub%20-%20EmbeddedRPC%2Ferpc%3A%20Embedded%20RPC%3C%2FA%3E%26nbsp%3B(and%20there%20is%20erpcgen%20prebuilt%201.4.0).%20But%20i%20don't%20know%20how%20much%20changes%20you%20need%20to%20do.%20Or%20you%20can%20wait%20for%20our%20update.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fmareknovak%22%20target%3D%22_blank%22%3Emareknovak%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099142%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099142%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Dusan%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20was%20using%20%26nbsp%3Bsame%20eRPC%20library%20one%20which%20u%20refereed%26nbsp%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ESteps%20i%20followed%20are%20below%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EClone%26nbsp%3B%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20background-color%3A%20%23ffffff%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20data-content-finding%3D%22Community%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fexternal-link.jspa%3Furl%3Dhttps%253A%252F%252Fgithub.com%252FEmbeddedRPC%252Ferpc-imx-demos%22%20style%3D%22color%3A%20%235e89c1%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%20text-decoration%3A%20underline%3B%20padding%3A%200px%20calc(12px%20%2B%200.35ex)%200px%200px%3B%22%20target%3D%22_blank%22%3Eerpc-imx-demos%3C%2FA%3E%26nbsp%3Bincluding%20sub%20module(which%20clone%20eRPC%20%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FMarekNovakNXP%2Ferpc%2Ftree%2F232afb209f0a0cfceb25a1be11879f7d1934e065%22%20title%3D%22https%3A%2F%2Fgithub.com%2FMarekNovakNXP%2Ferpc%2Ftree%2F232afb209f0a0cfceb25a1be11879f7d1934e065%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGitHub%20-%20MarekNovakNXP%2Ferpc%20at%20232afb209f0a0cfceb25a1be11879f7d1934e065%3C%2FA%3E%26nbsp%3B%26nbsp%3B)%3C%2FP%3E%3CP%3E1.%26nbsp%3Bgit%20clone%20--recursive%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos.git%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos.git%3C%2FA%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E2.%20go%20to%20erpc-imx-demos%2Fmiddleware%2Ferpc%20folder%20and%20build%20%3CSTRONG%3Eerpcgen%20like%20this%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CSTRONG%3Einstalled%20required%20packages%20flex%2Fbison%20and%20boost%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3Emake%20eprc%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3Emake%20eprcgen%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3Esudo%20make%20install%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3Esuccessfully%20got%3CSTRONG%3E%26nbsp%3Berpcgen%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E3.%20T%3C%2FSTRONG%3Eried%20create%20my%20own%20output%20files%20using%20sam%3CSTRONG%3Ee%26nbsp%3Berpc_matrix_multiply.erpc%20like%20this%20%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CSTRONG%3Eerpcgen%20-I%20erpc-imx-demos%2FMCU%2Fexample_erpc%2Fservice%20-o%20test%2Ferpc-imx-demos%2FMCU%2Fexample_erpc%2Fservice%20erpc_matrix_multiply.erpc%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Esuccessfully%20got%20below%20files%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Eerpc_matrix_multiply.h%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Eerpc_matrix_multiply_server.cpp%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Eerpc_matrix_multiply_server.h%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Eerpc_matrix_multiply_client.cpp%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E4.%20Tried%20to%20build%20%26nbsp%3BMCU%2Fexample_erpc%2Fbuild%2Farmgcc%2Fimx7d_sdb_m4%2Fbuild_all.sh%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Efailed%20with%20error%20%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%2Fhome%2Fbasavarajuc%2Ftest%2Ferpc-imx-demos%2FMCU%2Fexample_erpc%2Fservice%2Ferpc_matrix_multiply_server.cpp%3A%20In%20function%20'void*%20create_MatrixMultiplyService_service()'%3A%3CBR%20%2F%3E%2Fhome%2Fbasavarajuc%2Ftest%2Ferpc-imx-demos%2FMCU%2Fexample_erpc%2Fservice%2Ferpc_matrix_multiply_server.cpp%3A168%3A56%3A%20%3CSTRONG%3Eerror%3A%20invalid%20new-expression%20of%20abstract%20class%20type%20'MatrixMultiplyService_service'%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3E%20return%20new%20(nothrow)%20MatrixMultiplyService_service()%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3ESorry%20for%20asking%20again%20%2C%20just%20to%20clarify%20my%20understanding%20.%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E1.if%20i%20am%20using%20eRPC%20library%26nbsp%3Bfrom%26nbsp%3B%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FMarekNovakNXP%2Ferpc%2Ftree%2F232afb209f0a0cfceb25a1be11879f7d1934e065%22%20title%3D%22https%3A%2F%2Fgithub.com%2FMarekNovakNXP%2Ferpc%2Ftree%2F232afb209f0a0cfceb25a1be11879f7d1934e065%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3EGitHub%20-%20MarekNovakNXP%2Ferpc%20at%20232afb209f0a0cfceb25a1be11879f7d1934e065%3C%2FA%3E%26nbsp%3Bthen%26nbsp%3B%3C%2FSTRONG%3E%3CSTRONG%3EDo%20i%20need%20to%20update%20demo%20%3F%20to%20run%20demo%20successfully%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E2.%20Could%20you%20please%20tell%20me%20%26nbsp%3Boutput%20files%20from%26nbsp%3B%3C%2FSTRONG%3E%3CSTRONG%3E%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Ftree%2Fmaster%2FMCU%2Fexample_erpc%2Fservice%22%20title%3D%22https%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%2Ftree%2Fmaster%2FMCU%2Fexample_erpc%2Fservice%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Eerpc-imx-demos%2FMCU%2Fexample_erpc%2Fservice%20at%20master%20%C2%B7%20EmbeddedRPC%2Ferpc-imx-demos%20%C2%B7%20GitHub%3C%2FA%3E%26nbsp%3B%20are%20generated%20by%20which%20erpcgen%20version%20%3F%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3ESo%20that%20i%20can%20use%20old%20erpcgen%20shortly%20to%20create%20my%20own%20files%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EThanks%20a%20lot%20.%20and%20sorry%20for%20disturbance%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EChandini%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099141%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099141%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20and%20thanks%20for%20your%20comment.%26nbsp%3B%3CBR%20%2F%3EExample%20you%20mentioned%20is%20an%20older%20version%20than%20your%20erpcgen%20build.%20%3CA%20class%3D%22jx-jive-macro-user%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fmareknovak%22%20target%3D%22_blank%22%3Emareknovak%3C%2FA%3E%26nbsp%3Balso%20created%20his%20fork%20of%20official%20eRPC%20repository%20due%20to%20some%20minor%20changes%20which%20were%20not%20present%20in%20an%20official%20release%20at%20that%20time.%20If%20you%20click%20on%20eRPC%20reference%20from%26nbsp%3B%3CA%20class%3D%22%22%20data-content-finding%3D%22Community%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fexternal-link.jspa%3Furl%3Dhttps%253A%252F%252Fgithub.com%252FEmbeddedRPC%252Ferpc-imx-demos%22%20style%3D%22color%3A%20%235e89c1%3B%20background-color%3A%20%23ffffff%3B%20border%3A%200px%3B%20text-decoration%3A%20underline%3B%20padding%3A%200px%20calc(12px%20%2B%200.35ex)%200px%200px%3B%22%20target%3D%22_blank%22%3Eerpc-imx-demos%3C%2FA%3E%26nbsp%3Brepository%20from%20middleware%20folder%2C%20you%20will%20be%20redirect%20to%20his%20eRPC%20repository.%20You%20need%20build%20erpcgen%20from%20that%20version.%20We%20want%20update%20demo%20in%20the%20future.%26nbsp%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EHope%20i%20helped%20you.%20If%20you%20have%20any%20concerns%20don't%20hesitate%20and%20ask%20us.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1099140%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Introducing%20eRPC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1099140%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%3C%2FP%3E%3CP%3ESorry%20if%20i%20am%20asking%20basic%20question.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EI%20am%20trying%20to%20understand%20how%20to%20use%20erpcgen%20tool%20from%20NXP.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EI%20successfully%20ran%20example%20demo%20%2C%20with%20reference%20%3A%20%3C%2FSPAN%3E%3CA%20class%3D%22jive-link-external-small%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fexternal-link.jspa%3Furl%3Dhttps%253A%252F%252Fgithub.com%252FEmbeddedRPC%252Ferpc-imx-demos%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fgithub.com%2FEmbeddedRPC%2Ferpc-imx-demos%3C%2FA%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EMy%20next%20approach%20%26nbsp%3Bwas%20build%20erpcgen%20%26nbsp%3Band%20create%20my%20own%20output%20files%20using%20same%3CSTRONG%3E%20erpc_matrix_multiply.erpc%3C%2FSTRONG%3E%20and%20run%20same%20demo%20again%20so%20i%20get%20familiar%20to%20use%20erpcgen%20tool.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ei%20got%20output%20files%20but%20even%20though%20i%20am%20using%20same%20erpc_matrix_multiply.erpc%20my%20files%20different%20than%20example%20files%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ethe%20changes%20are%20%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EOutput%20files%20in%20example%20demo%20says%20(erpc_matrix_multiply_server.h)%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Eerpc_status_t%20erpcMatrixMultiply_shim(erpc%3A%3ACodec%20*%20in%2C%20erpc%3A%3ACodec%20*%20out%2C%20uint32_t%20sequence)%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSTRONG%3Emy%20files(erpc_matrix_multiply_server.h)%3A%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Eerpc_status_t%20erpcMatrixMultiply_shim(erpc%3A%3ACodec%20*%20codec%2C%20uint32_t%20sequence)%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3Ewhy%20files%20are%20different%20%2C%20Am%20i%20missing%20any%20config%20%3F%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EDo%20i%20need%20to%20manually%20edit%20erpc_matrix_multiply_server.h%20%26amp%3B%20erpc_matrix_multiply_server.cpp%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThank%20you%20in%20advance%3C%2FP%3E%3CP%3EChandini%3C%2FP%3E%3C%2FLINGO-BODY%3E
No ratings
Version history
Last update:
‎07-14-2023 05:31 AM
Updated by: